Руководство по PHP

от:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
И некоторые другие
2011-11-17
Под редакцией: Philip Olson
от:
Алексей Шеин
Андрей Безруков
Максим Чабан
Александр Москалёв
Борис Клименко
Дмитрий Винарчук
Борис Флейтлих
Алексей Егоров
Юрий Бабиков
И некоторые другие
© 1997-2011 Группа документирования PHP
  • Авторские права
  • Руководство по PHP
    • Предисловие
  • Приступая к работе
    • Введение
    • Простой учебник
  • Установка и настройка
    • Общие инструкции по установке
    • Установка на Unix системы
    • Установка на Mac OS X
    • Installation on Windows systems
    • Установка на платформах Cloud Computing
    • FastCGI Process Manager (FPM)
    • Установка расширений PECL
    • Проблемы?
    • Конфигурация запуска
  • Справочник языка
    • Основы синтаксиса
    • Типы
    • Переменные
    • Константы
    • Выражения
    • Операторы
    • Управляющие конструкции
    • Функции
    • Классы и объекты
    • Namespaces
    • Исключения
    • Ссылки. Разъяснения
    • Предопределённые переменные
    • Предопределённые исключения
    • Встроенные интерфейсы
    • Контекстные опции и параметры
    • Поддерживаемые протоколы и обработчики (wrappers)
  • Безопасность
    • Вступление
    • Общие рассуждения
    • Если PHP установлен как CGI
    • Если PHP установлен как модуль Apache
    • Безопасность файловой системы
    • Безопасность баз данных
    • Сообщения об ошибках
    • Использование глобальных переменных (Register_Globals)
    • Данные, введенные пользователем
    • Волшебные кавычки
    • Сокрытие PHP
    • Необходимость обновлений
  • Отличительные особенности
    • HTTP-аутентификация в PHP
    • Cookies
    • Сессии
    • Работа с XForms
    • Загрузка файлов на сервер
    • Работа с удаленными файлами
    • Работа с соединениями
    • Постоянные соединения с базами данных
    • Безопасный режим
    • Использование PHP в командной строке
    • Сборка мусора
  • Справочник функций
    • Изменение поведения PHP
    • Обработка аудио форматов
    • Службы аутентификации
    • Расширения по работе с датой и временем
    • Расширения для работы с командной строкой
    • Расширения сжатия и архивации
    • Обработка кредитных карт
    • Криптографические расширения
    • Расширения для работы с базами данных
    • Расширения для работы с файловой системой
    • Поддержка языков и кодировок
    • Обработка и генерация изображений
    • Расширения по работе с почтой
    • Математические расширения
    • Генерация нетекстовых MIME форматов
    • Расширения для управления процессами программ
    • Другие базовые расширения
    • Другие службы
    • Расширения для работы с поисковыми системами
    • Расширения для работы с серверами
    • Расширения для работы с сессиями
    • Обработка текста
    • Расширения, относящиеся к переменным и типам
    • Веб-сервисы
    • Расширения только для Windows
    • Обработка XML
  • Ядро PHP: Руководство хакера по Zend Engine
    • Preface
    • The "counter" Extension - A Continuing Example
    • The PHP 5 build system
    • Extension structure
    • Memory management
    • Working with variables
    • Writing functions
    • Working with classes and objects
    • Working with resources
    • Working with INI settings
    • Working with streams
    • PDO Driver How-To
    • Extension FAQs
    • Zend Engine 2 API reference
    • Zend Engine 2 opcode list
    • Zend Engine 1
  • ЧАВО — ЧАВО: ЧАсто задаваемые Вопросы и Ответы на них
    • Общая информация
    • Списки рассылки
    • Получение PHP
    • Вопросы по Базам данных
    • Установка
    • Проблемы сборки
    • Использование PHP
    • Password Hashing — Safe Password Hashing
    • PHP и HTML
    • PHP и COM
    • PHP и другие языки
    • Переход из PHP 4 в PHP 5
    • Разные вопросы
  • Appendices
    • История PHP и смежных проектов
    • Переход с PHP 5.3.x на PHP 5.4.x
    • Переход от PHP 5.2.x к PHP 5.3.x
    • Переход с PHP 5.1.x на PHP 5.2.x
    • Migrating from PHP 5.0.x to PHP 5.1.x
    • Миграция с PHP 4 на PHP 5
    • Classes and Objects (PHP 4)
    • Отладка в PHP
    • Configure options
    • Директивы php.ini
    • Список/классификация расширений
    • Список псевдонимов функций
    • Список зарезервированных слов
    • List of Resource Types
    • Список доступных фильтров
    • Список поддерживаемых транспортных протоколов
    • Таблица сравнения типов в PHP
    • Список меток (tokens) парсера
    • Руководство по именованию
    • Об этом руководстве
    • Creative Commons Attribution 3.0
    • Список функций
  • Руководство в формате HTML Help
    • About This Edition
    • Using PHP Manual CHM Edition
    • The Full Text Search
    • Specialities of this Edition
    • Integrating the PHP Manual
    • Skin development
    • CHM Edition Credits
PHP Manual


Авторские права

Авторские права © 1997 - 2011 принадлежат группе документирования PHP. Эти материалы могут быть распространены только на условиях и соглашениях, установленных в лицензии Creative Commons Attribution версии 3.0 или более поздней. Копия лицензии Creative Commons Attribution 3.0 распространяется вместе с руководством. Последняя на данный момент версия доступна по адресу » http://creativecommons.org/licenses/by/3.0/.

Если вы заинтересованы в распространении или публикации данного документа полностью или частично, с изменениями или без, и у вас есть вопросы, вы можете связаться с владельцами авторского права по адресу » doc-license@lists.php.net. Помните, что это адрес публичного списка рассылки.

Руководство по PHP
Руководство по PHP
Руководство по PHP


Руководство по PHP
PHP Manual

Руководство по PHP

  • Предисловие
Авторские права
Предисловие
Руководство по PHP
PHP Manual


Предисловие

PHP, что расшифровывается как "PHP: Hypertext Preprocessor" - «PHP: Препроцессор Гипертекста», является распространённым интерпретируемым языком общего назначения с открытым исходным кодом. PHP создавался специально для ведения Web-разработок и код на нём может внедряться непосредственно в HTML-код. Синтаксис языка берёт начало из C, Java и Perl и является лёгким для изучения. Основной целью PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц, однако область применения PHP не ограничивается только этим.

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

Это руководство доступно в нескольких форматах по адресу » http://www.php.net/download-docs.php. Более подробную информацию о том, как ведётся работа над руководством, вы сможете получить обратившись к приложению Об этом руководстве. Если вам интересна история PHP, обратитесь к соответствующему приложению.

Авторы и Участники

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

Авторы и Редакторы

Следующие участники внесли значительный вклад в наполнение документации в прошлом: Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar и Andrei Zmievski.

Следующие участники внесли значительный вклад в редактирование и корректирование документации в прошлом: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe и Egon Schmid.

Редакторы пользовательских замечаний

Текущие наиболее активные редакторы: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda и Maciek Sokolewicz.

Эти люди внесли свой вклад в управление пользовательскими замечаниями в прошлом: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles и Jeroen van Wolffelaar.

Другие переводчики

Наиболее активные переводчики присылавшие патчи: Spbima, Mikhail Baranov, Тигрович, Иван Ремень, Serg, Wolg, Degit, Nooneon, StelZek, Grul, Alexandr Fedotov, Marina Lagun, Mike, HaJIuBauKa, Sunny, dba.

Мы публикуем имена самых активных на данный момент переводчиков документации, но есть еще множество людей, которые помогают нам. И каждый их перевод, поправка или совет ценен и важен.

Переводчики, ранее принимавшие участие в переводе руководства на русский язык (в алфавитном порядке): Alexander Voytsekhovskyy, Alexey Asemov, Andrey Demenev, Antony Dovgal, Boris Bezrukov, Evgeniy Syuzev, Irina Goble, Ivan Kovalenko, Jigkayev Kazbek, Kirill Barashkin, Olishuk Andrey, Veniamin Zolotukhin.

А также неизвестные переводчики со следующими никами: freespace, santiago, shafff, sveta.

Руководство по PHP
Приступая к работе
Руководство по PHP


Приступая к работе

  • Введение
    • Что такое PHP?
    • Возможности PHP
  • Простой учебник
    • Что мне потребуется?
    • Первая страница на PHP
    • Делаем что-нибудь полезное
    • Работа с формами
    • Использование старых программ с новыми версиями PHP
    • Что дальше?
Предисловие
Введение
Руководство по PHP


Введение

Содержание

  • Что такое PHP?
  • Возможности PHP
Приступая к работе
Что такое PHP?
Приступая к работе


Что такое PHP?

PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) - это распространённый язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и его код может внедряться непосредственно в HTML.

Простой ответ, но что он может означать? Вот пример кода:

Пример #1 Пример программирования на PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Пример</title>
    </head>
    <body>

        <?php
        echo "Привет, я - скрипт PHP!";
        ?>

    </body>
</html>

Вместо рутинного вывода HTML-кода командами языка (как это происходит, например, в Perl или C), скрипт PHP содержит HTML с вкраплениями кода (в нашем случае, это вывод текста "Привет, я - скрипт PHP!"). Код PHP отделяется специальными начальным и конечным тегами <?php и ?>, которые позволяют "переключаться" в "PHP-режим" и выходить из него.

PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту. Если бы у вас на сервере был размещён скрипт, подобный вышеприведенному, клиент получил бы только результат его выполнения, но не смог бы выяснить, какой именно код его произвел. Вы даже можете настроить свой сервер таким образом, чтобы обычные HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.

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

Хотя PHP, главным образом, предназначен для работы в среде web-серверов, область его применения не ограничивается только этим. Читайте дальше и не пропустите главу Возможности PHP либо, начните непосредственно с Вводного руководства, если вас интересует исключительно веб-программирование.

Введение
Возможности PHP
Введение


Возможности PHP

PHP может всё. Главная область применения PHP - написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI, например, обрабатывать данных форм, генерировать динамические страницы или отсылать и принимать cookies. Но PHP способен выполнять намного больше.

Существуют три основных области применения PHP.

  • Создание скриптов для выполнения на стороне сервера. PHP традиционно и наиболее широко используется именно таким образом. Для этого вам будут необходимы три вещи. Интерпретатор PHP (в виде программы CGI или серверного модуля), веб-сервер и браузер. Для того чтобы можно было просматривать результаты выполнения PHP-скриптов в браузере, нужен работающий веб-сервер и установленный PHP. Просмотреть вывод PHP-программы можно в браузере, получив PHP-страницу, сгенерированную сервером. В случае, если вы просто экспериментируете, вы вполне можете использовать свой домашний компьютер вместо сервера. За более подробными сведениями обратитесь к главе Советы по установке.
  • Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться без сервера или броузера. Все, что вам потребуется - парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. За дополнительной информацией обращайтесь к главе Использование PHP в среде командной строки.
  • Создание оконных приложений, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если вы очень хорошо знаете PHP и хотели бы использовать некоторые его возможности в своих клиентских приложениях, вы можете использовать PHP-GTK для создания таких приложений. Подобным образом вы можете создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с основным дистрибутивом PHP. Если вы заинтересованы, посетите » сайт PHP-GTK.

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие как HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многие другие. Также в PHP включена поддержка большинства современных веб-серверов, таких как Apache, IIS и многих других. В принципе, подойдет любой веб-сервер, способный использовать бинарный файл FastCGI PHP, например, lighttpd или nginx. PHP может работать либо в качестве модуля или функционировать в качестве процессора CGI.

Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и веб-сервера. Более того, у вас появляется выбор между использованием процедурного или объектно-ориентированного программирования (ООП) или же их сочетания.

PHP способен генерировать не только HTML. Доступно формирование изображений, файлов PDF и даже роликов Flash (с использованием libswf и Ming), создаваемых «на лету». PHP также способен генерировать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP может осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера вместо того, чтобы отдавать клиенту, организуя, таким образом, серверный кэш для вашего динамического контента.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Создать скрипт, использующий базы данных, - невероятно просто. Можно воспользоваться расширением, специфичным для отдельной базы данных (таким как mysql) или использовать уровень абстракции от базы данных, такой как PDO, или подсоединиться к любой базе данных, поддерживающей Открытый Стандарт Соединения Баз Данных (ODBC), с помощью одноименного расширения ODBC. Для других баз данных, таких как CouchDB, можно воспользоваться cURL или сокетами,

PHP также поддерживает «общение» с другими сервисами с через такие протоколы, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, вы получаете возможность работать с сетевыми сокетами напрямую. PHP поддерживает стандарт обмена сложными структурами данных WDDX практически между всеми языками веб-программирования. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP.

PHP имеет много возможностей по обработке текста, включая регулярные выражения Perl (PCRE) и много других расширений и инструментов для обработки и доступа к XML документам. В PHP обработка XML-документов стандартизирована и происходит на мощной базе библиотеки libxml2, расширив возможности обработки XML добавлением новых расширений SimpleXML, XMLReader и XMLWriter.

Есть еще многих других интересных расширений, которые можно просмотреть как в алфавитном порядке, так и по категориям. Есть еще много дополнительных PECL расширений, которые также могут (а может и нет) быть документированы в данном руководстве, такие как » XDebug.

Как вы видите, этой страницы не хватит для того, чтобы перечислить всё, что может предложить вам PHP. Читайте следующую главу, Установка PHP и обратитесь к главе Справочник по функциям за более подробными сведениями о перечисленных выше расширениях.

Что такое PHP?
Простой учебник
Введение


Простой учебник

Содержание

  • Что мне потребуется?
  • Первая страница на PHP
  • Делаем что-нибудь полезное
  • Работа с формами
  • Использование старых программ с новыми версиями PHP
  • Что дальше?

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

Web-страницы, созданные с использованием PHP, обрабатываются как обычные HTML-страницы. Их можно создавать и изменять точно таким же образом, как и обычные страницы на HTML.

Возможности PHP
Что мне потребуется?
Приступая к работе


Что мне потребуется?

В данном руководстве мы предполагаем, что ваш сервер имеет поддержку PHP и что все файлы, заканчивающиеся на .php, обрабатываются PHP. В большинстве серверов обычно используется это расширение для PHP-файлов, но всё-таки не лишним будет уточнить это у вашего администратора сервера. Итак, если ваш сервер поддерживает PHP, то у вас есть всё, что требуется. Просто создавайте файлы .php и размещайте их в вашем каталоге Web-сервера - они будут обрабатываться автоматически. Не нужно ничего компилировать, не нужно никаких дополнительных программ. Считайте файлы PHP обычными файлами HTML с набором новых "волшебных" тегов, которые могут делать кучу разных вещей. Большинство веб-хостингов предлагают поддержку PHP, но если в вашем случае это не так, просмотрите список хостингов, поддерживающих PHP, в разделе » Ссылки PHP.

Например, вы хотите сэкономить на интернет-канале и вести разработку локально. В этом случае вам нужно будет установить веб-сервер, такой как » Apache, и, разумеется, » PHP. Скорее всего, вы также захотите установить базу данных, например, » MySQL.

Всё это может быть установлено как отдельно друг от друга, так и более простым способом. В нашем руководстве есть инструкции по установке PHP (предполагается, что вы уже установили веб-сервер). Если у вас возникли проблемы при установке PHP, мы предлагаем вам задать вопросы в нашем » списке рассылки по вопросам установки. Если же вы выбрали более простой способ, то » найдите уже настроенный пакет для вашей операционной системы, который автоматически установит всё вышеперечисленное несколькими кликами мыши. Устанавливать веб-сервер с поддержкой PHP довольно легко на любой операционной системе, включая MacOSX, Linux и Windows. На Linux вам, возможно, пригодятся » rpmfind и » PBone при поиске RPM-пакетов. Можно также использовать » apt-get для поиска пакетов под Debian.

Простой учебник
Первая страница на PHP
Простой учебник


Первая страница на PHP

Создайте файл с именем hello.php в корневом каталоге веб-сервера (DOCUMENT_ROOT) и запишите в него следующее:

Пример #1 Первый скрипт на PHP: hello.php

<html>
 <head>
  <title>Тестируем PHP</title>
 </head>
 <body>
 <?php echo '<p>Привет, мир!</p>'; ?>
 </body>
</html>

Откройте данный файл в браузере, набрав имя вашего веб-сервера и /hello.php. При локальной разработке эта ссылка может быть чем-то вроде http://localhost/hello.php или http://127.0.0.1/hello.php, но это зависит от настроек вашего сервера. Если всё настроено правильно, этот файл будет обработан PHP и браузер выведет следующий текст:

<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
 <p>Hello World</p>
 </body>
</html>

Эта программа чрезвычайно проста, и для создания настолько простой странички даже необязательно использовать PHP. Всё, что она делает, это вывод Hello World, используя инструкцию PHP echo(). Заметьте, что файл не обязан быть выполняемым или еще как-то отличаться от других файлов. Сервер знает, что этот файл должен быть обработан PHP, так как файл обладает расширением ".php", о котором в настройках сервера сказано, что подобные файлы должны передаваться PHP. Рассматривайте его как обычный HTML-файл, которому посчастливилось заполучить набор специальных тегов (доступных также и вам), способных на кучу интересных вещей.

Если у вас этот пример не отображает ничего или выводит окно загрузки, или если вы видите весь этот файл в текстовом виде, то, скорее всего, ваш веб-сервер не имеет поддержки PHP или был сконфигурирован неправильно. Попросите вашего администратора сервера включить такую поддержку. Предложите ему инструкцию по установке: раздел Установка данной документации. Если же вы разрабатываете скрипты на PHP дома (локально), то также прочтите эту главу, чтобы убедиться, что вы всё настроили верно. Убедитесь также, что вы запрашиваете файл у сервера через протокол http. Если вы просто откроете файл из вашей файловой системы, он не будет обработан PHP. Если проблемы все же остались, не стесняйтесь попросить помощи одним из » множества доступных способов получения поддержки по PHP.

Цель примера - показать формат специальных тегов PHP. В этом примере мы использовали <?php в качестве открывающего тега, затем шли команды PHP, завершающиеся закрывающим тегом ?>. Таким образом можно где угодно "запрыгивать" и "выпрыгивать" из режима PHP в HTML файле. Подробнее об этом можно прочесть в разделе руководства Основной синтаксис.

Замечание: Замечание о переводах строк

Переводы строк немногое означают в HTML, однако считается хорошей идеей поддерживать HTML в удобочитаемом виде, перенося его на новую строку. PHP автоматически удаляет перевод строки, идущий сразу после закрывающего тега ?>. Это может быть чрезвычайно полезно, если вы используете множество блоков PHP-кода или подключаете PHP-файлы, которые не должны ничего выводить. В то же время, это может приводить в недоумение. Можно поставить пробел после закрывающего тега ?> и тогда пробел будет выведен вместе с переводом строки, или же вы можете специально добавить перевод строки в последний вызов echo/print из блока PHP-кода.

Замечание: Пара слов о текстовых редакторах

Существует множество текстовых редакторов и интегрированных сред разработки (IDE), в которых вы можете создавать и редактировать файлы PHP. Список некоторых редакторов содержится в разделе » Список редакторов PHP. Если вы хотите порекомендовать какой-либо редактор, посетите данную страницу и попросите добавить редактор в список. Использование редактора с подсветкой синтаксиса может быть очень большим подспорьем в вашей работе.

Замечание: Пара слов о текстовых процессорах

Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве случаев не подходят для редактирования файлов PHP. Если вы все же хотите использовать какой-либо из них для тестового скрипта, убедитесь, что сохраняете файл как простой текст (plain text), иначе PHP будет не в состоянии прочесть и запустить ваш скрипт.

Замечание: Пара слов о Блокноте Windows

При написании скриптов PHP с использованием встроенного Блокнота Windows необходимо сохранять файлы с расширением .php. (Блокнот автоматически добавит расширение .txt, если вы не предпримете указанные ниже меры.) Когда во время сохранения файла вас попросят указать его имя, введите имя файла в двойных кавычках (например, "hello.php"). Кроме этого, можно кликнуть на выпадающее меню "Текстовые документы" в диалоговом окне сохранения файла и выбрать в нем пункт "Все файлы". После этого можно вводить имя файла без кавычек.

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

Пример #2 Получение информации о системе из PHP

<?php phpinfo(); ?>

Что мне потребуется?
Делаем что-нибудь полезное
Простой учебник


Делаем что-нибудь полезное

Давайте сделаем что-нибудь полезное. К примеру, определим, какой браузер использует тот, кто смотрит в данный момент нашу страницу. Для этого мы проверим строку с именем браузера, посылаемую нам в HTTP-запросе. Эта информация хранится в переменной. Переменные в PHP всегда предваряются знаком доллара. Интересующая нас в данный момент переменная называется $_SERVER['HTTP_USER_AGENT'].

Замечание:

$_SERVER - специальная зарезервированная переменная PHP, которая содержит всю информацию, полученную от Web-сервера. Ее также называют суперглобальной. Для более подробной информации смотрите раздел "Суперглобальные переменные". Эти специальные переменные появились в PHP, начиная с версии » 4.1.0. До этого использовались массивы $HTTP_*_VARS, такие как $HTTP_SERVER_VARS. Несмотря на то, что эти массивы уже устарели, они до сих пор существуют (см. замечания по старым программам).

Для вывода данной переменной мы сделаем так:

Пример #1 Вывод значения переменной (элемента массива)

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

Пример вывода данной программы:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

В PHP сушествует огромное количество типов переменных. В предыдущем примере мы печатали элемент массива. Массивы могут быть очень полезны.

$_SERVER - это просто одна из переменных, которые предоставляются вам языком PHP. Список таких переменных можно посмотреть в разделе "Зарезервированные переменные" или просмотрев вывод функции phpinfo(), используемой в примере в предыдущем разделе.

Внутрь PHP-тегов можно помещать несколько выражений и создавать маленькие блоки кода, делающие больше, чем простой вызов echo. Например, если вы хотите добавить проверку для Internet Explorer, можно сделать так:

Пример #2 Пример использования управляющих структур и функций

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'Вы используете Internet Explorer.<br />';
}
?>

Пример вывода данной программы:

Вы используете Internet Explorer.<br />

Здесь мы показали несколько новых элементов. Во-первых, здесь есть конструкция if. Если вы знакомы с основами синтаксиса языка C, то вы уже заметили что-то схожее. Если же вы не знаете C или подобного по синтаксису языка, то лучший вариант - взять какую-либо вводную книжку по PHP и прочитать первые пару глав. Другой вариант - почитать раздел "Описание языка" данного руководства.

Кроме этого, здесь присутствует вызов функции strpos(). strpos() - встроенная в PHP функция, которая ищет одну строку в другой. В данном случае мы ищем строку 'MSIE' (так называемую "иголку" - needle) в $_SERVER['HTTP_USER_AGENT'] (в так называемом "сене" - haystack). Если "иголка" найдена внутри "сена", функция возвращает позицию "иголки" относительно начала "сена". В противном случае она возвращает FALSE. Если она не вернет FALSE, то условие в if окажется истинным (TRUE), и код в фигурных скобках ({ }) выполнится. В противном случае этот код не выполняется. Попробуйте создать аналогичные примеры с использованием команд if, else и других функций, таких, как strtoupper() и strlen(). Также подобные примеры содержатся во многих описаниях функций в данном руководстве. Если вы не знаете, как использовать функции, возможно, вам стоит прочесть страницу руководства о том, как читать определения функций и раздел о функциях в PHP.

Продемонстрируем, как можно входить в режим кода PHP и выходить из него даже прямо посередине блока с кодом:

Пример #3 Смешение режимов HTML и PHP

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos(), должно быть, вернул не false</h3>
<p>Вы используете Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() вернул false</h3>
<p>Вы не используете Internet Explorer</p>
<?php
}
?>

Пример вывода данной программы:

<h3>strpos(), должно быть, вернул не false</h3>
<p>Вы используете Internet Explorer</p>

Вместо использования команды PHP echo для вывода, мы вышли из режима кода и просто послали содержимое HTML. Важный момент здесь то, что логическая структура кода PHP при этом не теряется. Только одна HTML-часть будет послана клиенту в зависимости от результата функции strpos() (другими словами, в зависимости от того, найдена была строка MSIE или нет).

Первая страница на PHP
Работа с формами
Простой учебник


Работа с формами

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

Пример #1 Простейшая форма HTML

<form action="action.php" method="post">
 <p>Ваше имя: <input type="text" name="name" /></p>
 <p>Ваш возраст: <input type="text" name="age" /></p>
 <p><input type="submit" /></p>
</form>

В этой форме нет ничего особенного. Это обычная форма HTML без каких-либо специальных тегов. Когда пользователь заполнит форму и нажмет кнопку отправки, будет вызвана страница action.php. В этом файле может быть что-то вроде:

Пример #2 Выводим данные формы

Здравствуйте, <?php echo htmlspecialchars($_POST['name']); ?>.
Вам <?php echo (int)$_POST['age']; ?> лет.

Пример вывода данной программы:

Здравствуйте, Сергей.
Вам 30 лет.

Если не принимать во внимание куски кода с htmlspecialchars() и (int), принцип работы данного кода должен быть прост и понятен. htmlspecialchars() обеспечивает правильную кодировку "особых" HTML-символов так, чтобы вредоносный HTML или Javascript не был вставлен на вашу страницу. Поле age, о котором нам известно, что оно должно быть число, мы можем просто преобразовать в integer, что автоматически избавит нас от нежелательных символов. PHP также может сделать это автоматически с помощью расширения filter. Переменные $_POST['name'] и $_POST['age'] автоматически установлены для вас средствами PHP. Ранее мы использовали суперглобальную переменную $_SERVER, здесь же мы точно так же используем суперглобальную переменную $_POST, которая содержит все POST-данные. Заметим, что метод отправки (method) нашей формы - POST. Если бы мы использовали метод GET, то информация нашей формы была бы в суперглобальной переменной $_GET. Кроме этого, можно использовать переменную $_REQUEST, если источник данных не имеет значения. Эта переменная содержит смесь данных GET, POST, COOKIE и FILE. Также советуем взглянуть на описание функции import_request_variables().

В PHP можно также работать и с XForms, хотя вы найдете работу с обычными HTML-формами довольно комфортной уже через некоторое время. Несмотря на то, что работа с XForms не для новичков, они могут показаться вам интересными. В разделе возможностей PHP у нас также есть короткое введение в обработку данных из XForms.

Делаем что-нибудь полезное
Использование старых программ с новыми версиями PHP
Простой учебник


Использование старых программ с новыми версиями PHP

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

Есть два важных изменения, которые влияют на старые программы:

  • Объявление массивов $HTTP_*_VARS устаревшими. Эти массивы требовали объявления себя глобальными при использовании в функциях и процедурах. Новые суперглобальные массивы были введены, начиная с PHP » 4.1.0. Это: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST и $_SESSION. Более старые массивы $HTTP_*_VARS, такие, как $HTTP_POST_VARS, также существуют. Начиная с PHP 5.0.0, длинные предопределенные переменные массивов PHP могут быть отключены директивой register_long_arrays.
  • Внешние переменные больше не глобализуются по умолчанию. Другими словами, начиная с версии PHP » 4.2.0, директива register_globals в php.ini по умолчанию отключена ("off"). Рекомендуемый метод доступа к таким переменным - суперглобальные массивы, описанные выше. Более старые программы, книги и руководства могут считать, что данная директива включена ("on"). К примеру, если бы эта директива была включена ("on"), такой скрипт мог бы использовать переменную $id, поступившую из строки URL http://www.example.com/foo.php?id=42. Вне зависимости от значения данной директивы, переменная $_GET['id'] будет всегда доступна.
Для дополнительной информации касательно изменений, связанных с переменными, смотрите раздел "Предопределенные переменные" и ссылки этого раздела.

Работа с формами
Что дальше?
Простой учебник


Что дальше?

То, что вы узнали, поможет вам понять большую часть руководства и разобраться в большинстве приведенных примеров программ. Другие примеры находятся на различных сайтах, ссылки на которые можно найти в одноименном разделе php.net: » http://www.php.net/links.php.

Если вы хотите посмотреть различные презентации и слайды, шире раскрывающие возможности PHP, вы можете посетить сайт с материалами PHP конференций: » http://talks.php.net/

Использование старых программ с новыми версиями PHP
Установка и настройка
Простой учебник


Установка и настройка

  • Общие инструкции по установке
  • Установка на Unix системы
    • Apache 1.3.x на системах Unix
    • Apache 2.x на Unix системах
    • Установка PHP на Lighttpd 1.4 на Unix системах
    • Sun, iPlanet and Netscape servers on Sun Solaris
    • Установка с интерфейсами CGI и командной строки
    • Инструкции по установке для ОС HP-UX
    • OpenBSD installation notes
    • Инструкции по инсталляции для ОС Solaris
    • Debian GNU/Linux installation notes
  • Установка на Mac OS X
    • Using Packages
    • Using the bundled PHP
    • Компилирование PHP на Mac OS X
  • Installation on Windows systems
    • Windows-установщик (PHP 5.1.0 и раньше)
    • Установщик Windows (версии PHP 5.2 и позднее)
    • Руководство по ручной установке
    • ActiveScript
    • Microsoft IIS
    • Microsoft IIS 5.1 and IIS 6.0
    • Microsoft IIS 7.0 и выше
    • Apache 1.3.x в Microsoft Windows
    • Apache 2.x on Microsoft Windows
    • Sun, iPlanet and Netscape servers on Microsoft Windows
    • Sambar Server под Microsoft Windows
    • Xitami on Microsoft Windows
    • Building from source
    • Установка расширений PHP в ОС Windows
    • Command Line PHP on Microsoft Windows
  • Установка на платформах Cloud Computing
    • Microsoft Azure
    • Amazon EC2
  • FastCGI Process Manager (FPM)
    • Установка
    • Настройка
  • Установка расширений PECL
    • Введение в установку PECL
    • Загрузка расширений PECL
    • Установка PHP-расширения в Windows
    • Компиляция разделяемых расширений с помощью команды pecl
    • Компиляция разделяемых расширений с помощью phpize
    • php-config
    • Компиляция расширений PECL статически в PHP
  • Проблемы?
    • Читайте FAQ
    • Другие проблемы
    • Bug reports
  • Конфигурация запуска
    • Файл конфигурации
    • .user.ini files
    • Где могут быть установлены параметры конфигурации
    • Как изменить настройки конфигурации
Что дальше?
Общие инструкции по установке
Руководство по PHP


Общие инструкции по установке

Перед началом установки вы должны знать для чего вы хотите использовать PHP. Вы можете использовать PHP для целей описанных в разделе Что может PHP?

  • Создавать web-сайты и web-приложения (Скрипты на стороне сервера)
  • Скрипты командной строки
  • GUI-приложения (Приложения с графическим интерфейсом пользователя)

Для первой и наиболее распространенной цели вам нужны три вещи: Сам PHP, веб-сервер и веб-браузер. Вероятно, вы уже имеете веб-браузер и в зависимости от настроек вашей операционной системы, вы так же можете иметь и веб-сервер (например Apache в Linux и MacOS X; IIS в Windows). Так же вы можете арендовать веб-сервер или некоторое дисковое пространство на веб-сервере. В этом случае вам не нужно устанавливать дополнительное программное обеспечение, только писать PHP скрипты, загружать их на сервер, и просматривать результат их работы в браузере.

В случае установки сервера и PHP самостоятельно, у вас есть две варианта установки PHP. Для многих серверов PHP может быть установлен как модуль сервера. Это возможно для таких серверов как Apache, Microsoft Internet Information Server, Netscape и iPlanet. Если PHP не поддерживает интерфейс для вашего сервера, вы всегда можете использовать его как обработчик CGI или FastCGI. Это означает, что вы должны настроить ваш сервер так, чтобы он исполнял все PHP файлы, как CGI-скрипты.

Если вы так же собираетесь использовать PHP в командной строке (для генерации изображений, обработки текстов и т.д.), то вам понадобится PHP CLI. Подробнее об этом можно прочитать в разделе Использование PHP в командной строке. В этом случае вам не понадобятся ни сервер ни браузер.

Вы так же можете создавать приложения с графическим интерфейсом, используя при этом расширение PHP-GTK. Это требует абсолютно другого подхода, чем программирование под Веб, т.к. вы не выводите HTML или текст, а управляете окнами при помощи PHP. Для получения более полной информации о PHP-GTK, » посетите сайт посвященный этому расширению . PHP-GTK не включен в стандартную поставку PHP.

Начиная с этого момента мы будем описывать установку PHP для веб серверов на Unix и Windows, как модуля сервера и как CGI. Вы так же можете найти информацию об использовании PHP в командной строке в следующих разделах.

Исходные коды и бинарные сборки для Windows можно получить здесь: » http://www.php.net/downloads.php. Мы рекомендуем использовать » зеркала для загрузки.

Установка и настройка
Установка на Unix системы
Установка и настройка


Установка на Unix системы

Содержание

  • Apache 1.3.x на системах Unix
  • Apache 2.x на Unix системах
  • Установка PHP на Lighttpd 1.4 на Unix системах
  • Sun, iPlanet and Netscape servers on Sun Solaris
  • Установка с интерфейсами CGI и командной строки
  • Инструкции по установке для ОС HP-UX
  • OpenBSD installation notes
  • Инструкции по инсталляции для ОС Solaris
  • Debian GNU/Linux installation notes

Этот раздел описывает установку и настройку PHP на Unix-системах. Пожалуйста, прочитайте все разделы, касающиеся вашей платформы или веб-сервера, прежде чем вы приступите к установке.

Как сказано в разделе Общие указания по установке, в этом разделе в основном мы описываем установку PHP, ориентированную на веб, однако мы также затрагиваем установку PHP для использования в командной строке.

Есть несколько способов установки PHP на Unix платформы. Один из них - процесс конфигурирования и компиляции исходников, другой - установка из пакетов. Этот документ сфокусирован на установке из исходных кодов. Много Unix-подобных систем имеют различные системы установки программ из пакетов. Они могут помочь при установке стандартных конфигураций, но если вам необходимы другие варианты (такие как безопасный сервер или другой драйвер базы данных), вам может потребоваться скомпилировать PHP и/или ваш веб-сервер. Если вы незнакомы с компилированием собственного программного обеспечения, то, может быть, стоит поискать готовый пакет PHP с нужными вам возможностями, собранный кем-нибудь еще.

Для компиляции PHP из исходных кодов вам потребуется следующее:

  • Базовые знания Unix (способность обращаться с "make" и компилятором C)
  • Компилятор ANSI C
  • Веб-сервер
  • Любые компоненты, специфичные для отдельных модулей PHP (такие как библиотеки GD, PDF и т.д.)

При сборке непосредственно из исходников SVN или после ручных изменений вам может также понадобиться:

  • autoconf: 2.13+ (для PHP < 5.4.0), 2.59+ (для PHP >= 5.4.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (кроме версии 1.4.2)
  • re2c: Версия 0.13.4 или новее
  • flex: Версия 2.5.4 (для PHP <= 5.2)
  • bison: Версия 1.28 (предпочтительно), 1.35 или 1.75

Общая (или начальная) конфигурация PHP задается параметрами скрипта configure. Вы можете просмотреть список допустимых параметров вместе с их кратким пояснением при помощи команды ./configure --help. Различные опции документированы в данном руководстве отдельно, список основных параметров можно просмотреть в приложении Основные параметры конфигурации, тогда как параметры, специфичные для различных расширений, описаны на страницах документации, посвященных этим расширениям.

Когда PHP сконфигурирован, все готово к сборке модулей и/или исполняемых файлов. Об этом должна позаботиться команда make. Если что-то не получилось и вы не можете понять почему, смотрите раздел Проблемы установки.

Общие инструкции по установке
Apache 1.3.x на системах Unix
Установка и настройка


Apache 1.3.x на системах Unix

Этот раздел включает инструкции по установке Apache и PHP на платформах Unix. Установка PHP с Apache2 описана в другом разделе.

Вы можете менять аргументы configure на шаге 10 ниже. Полный список аргументов доступен на странице список основных параметров конфигурации. А параметры, специфичные для различных расширений, описаны в разделах посвященных соответствующим расширениям. В инструкции ниже опущены номера версий - вы должны заменить 'xxx' на номер версии присутствующий в именах скачанных вами файлов.

Пример #1 Инструкция по установке PHP, как подгружаемого модуля Apache

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Теперь мы сконфигурируем PHP. Здесь вы можете настроить установку
     PHP при помощи параметров скрипта configure.
     Вы можете включить или выключить некоторые расширения. Просмотрите вывод
     команды ./configure --help для получения полного списка параметров
     конфигурации. В нашем примере мы сконфигурируем PHP очень просто -
     с поддержкой Apache 1 и MySQL. В вашей системе путь до apxs может
     отличаться от указанного в примере.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

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

    Заметьте, что 'make install' установит так же PEAR,
    различные инструменты PHP - такие как phpize, версию PHP для командной
    строки (PHP CLI) и т.д.

13. Настройте ваш php.ini:

      cp php.ini-development /usr/local/lib/php.ini

    Вероятно, вы захотите изменить некоторые настройки в php.ini.
    Если вы предпочитаете держать файл php.ini в другом месте, используйте
    параметр --with-config-file-path=/some/path в шаге 10.

    Если вы используете php.ini-production, прочитайте его, чтобы знать какие изменения в
    поведении PHP это повлечет.

14. Отредактируйте ваш httpd.conf, чтобы Apache подгружал модуль PHP. Путь в
    правой части инструкции LoadModule должен указывать на модуль PHP. Команда make
    install может добавить эту иструкцию автоматически, но этого может и не
    произойти, поэтому проверьте, чтобы убедиться.

      LoadModule php5_module libexec/libphp5.so

15. Так же в секции AddModule файла httpd.conf, несколько ниже
    ClearModuleList, добавьте следующее:

      AddModule mod_php5.c

16. Теперь следует сконфигурировать Apache, чтобы он передавал файлы с
    некоторыми расширениями на обработку модулю PHP. В нашем примере сделаем
    это для файлов с расширениями .php и .phtml. Вы можете добавить также
    другие расширения в конец строки, разделяя их символом пробела.

      AddType application/x-httpd-php .php .phtml

    Сделаем то же самое для расширения .phps - модуль PHP покажет его как
    исходный код с подсветкой синтаксиса, вместо того чтобы исполнять.

      AddType application/x-httpd-php-source .phps

17. Используйте стандартную процедуру запуска сервера. (Нужно остановить
    и заново запустить сервер, процедура перезапуска с использованием сигналов
    HUP или USR1 в данном случае не подходит.)

В качестве альтернативы, можно установить PHP, как статический модуль Apache:

Пример #2 Инструкция по статической сборке PHP и Apache

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (Строка выше корректна. Да, мы знаем, что libphp5.a не существует на
    данном этапе. Этот файл будет создан.)

12. make
    (Теперь вы должны получить бинарный файл httpd, который вы можете скопировать
    в каталог bin сервера Apache. Затем вам надо выполнить "make install",
    если это ваша первая установка)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Для изменения конфигурации PHP можно отредактировать файл /usr/local/lib/php.ini.
    Отредактируйте httpd.conf или srm.conf, добавив туда:
    AddType application/x-httpd-php .php

В зависимости от варианта вашей установки Apache и версии Unix, возможно множество путей остановки и запуска сервера. Ниже приведены несколько распространенных команд перезапуска сервера для различных установок Apache и Unix-систем. Замените /path/to/ на реальный путь до приложений в вашей системе.

Пример #3 Примеры команд перезапуска Apache

1. Некоторые дистрибутивы Linux и системы SysV:
/etc/rc.d/init.d/httpd restart

2. Использование скрипта apachectl:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl и httpsdctl (использующий OpenSSL), аналогично apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. При использовании mod_ssl или другого SSL сервера, можно сделать
ручную остановку и пуск:
/path/to/apachectl stop
/path/to/apachectl startssl

Пути к apachectl и http(s)dctl часто различаются. Если в вашей системе есть команды locate или whereis, или which, они помогут вам найти программы, контролирующие сервер.

Другие варианты компиляции PHP для Apache:

./configure --with-apxs --with-pgsql

Будет создан файл подгружаемой библиотеки libphp5.so. Эта библиотека должна быть подгружена в Apache с использованием директивы LoadModule конфигурационного файла httpd.conf. В данном случае поддержка PostgreSQL будет встроена в эту библиотеку.

./configure --with-apxs --with-pgsql=shared

Будет создан файл подгружаемой библиотеки libphp5.so для Apache, но так же будет создана подгружаемая библиотека pgsql.so, которая должна быть подгружена в PHP одним из двух способов: директивой extension в php.ini или в скрипте, использованием функции dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

Будет создана библиотека libmodphp5.a. Файл mod_php5.c и несколько сопровождающих файлов будут скопированы в каталог src/modules/php5 дерева исходных кодов Apache. Затем следует cкомпилировать Apache, используя --activate-module=src/modules/php5/libphp5.a, система сборки Apache создаст libphp5.a и статически свяжет с исполняемым httpd. Поддержка PostgreSQL будет включена непосредственно в httpd и конечным результатом будет единственный исполняемый файл httpd, включающий все от Apache и все от PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Так же как и прежде, взамен поддержки PostgreSQL, встроенной непосредственно в конечный исполняемый файл httpd, вы получите подгружаемую библиотеку pgsql.so, которую вы должны будете подгрузить в PHP одним из двух способов: php.ini или используя функцию dl().

Выбирая способ установки PHP, следует учитывать преимущества и недостатки каждого из методов. Если вы собираете PHP, как подгружаемый модуль Apache - вы сможете компилировать PHP и Apache отдельно друг от друга и вам не нужно будет перекомпилировать Apache, если вы захотите изменить конфигурацю PHP. Если вы собираете PHP статически - PHP будет работать чуть быстрее. Для получения более подробной информаци посетите страницу посвященную поддержке » DSO (Dynamic Shared Object) в Apache.

Замечание:

В настоящее время файл конфигурации Apache httpd.conf обычно поставляется со следующими настройками:

User nobody
Group "#-1"
Пока вы не измените группу на "Group nogroup" или что-нибудь вроде "Group daemon" (такая настройка довольно распространена), PHP не сможет открывать файлы.

Замечание:

Убедитесь, что вы указываете установленную версию apxs, когда используете --with-apxs=/path/to/apxs . Вы НЕ ДОЛЖНЫ указывать версию apxs, поставляемую с исходными кодами Apache - только действительно установленную в вашу систему вместе с сервером.

Установка на Unix системы
Apache 2.x на Unix системах
Установка на Unix системы


Apache 2.x на Unix системах

Этот раздел описывает установку PHP c Apache 2.x на Unix системах.

Внимание

Мы не рекомендуем использовать потоковый MPM в промышленной среде вместе с Apache 2. Вместо этого, используйте prefork MPM, используемый по умолчанию в Apache 2.0 и 2.2. Подробную информацию по этому вопросу вы можете найти в соответствующем разделе FAQ Apache2 и потоковый MPM

Самым авторитетным источником информации по Apache 2.x является » документация Apache. Более подробная информация о настройках при установке может быть найдена там.

Самая последняя версия Apache Http Server может быть получена на » странице загрузки Apache, а адрес соответствующей версии PHP был указан выше. Это краткое руководство описывает лишь базовую установку Apache 2.x и PHP. Для получения более детальной информации прочитайте » документацию Apache. В инструкции ниже опущены номера версий - замените 'NN' на номер, соответствующий скачанной вами версии Apache.

На данный момент есть две версии Apache 2.x - 2.0 и 2.2. Хотя для выбора каждой из них существуют отдельные доводы, 2.2 является наиболее свежей и рекомендуемой версией, если вас устраивает такой выбор. Тем не менее, данные инструкции будут работать как для 2.0, так и для 2.2.

  1. Скачайте Apache HTTP server как было указано выше и распакуйте его:

    gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

  2. Аналогично, скачайте и распакуйте исходные коды PHP:

    gunzip php-NN.tar.gz
tar -xf php-NN.tar

  3. Скомпилируйте и установите Apache. Более подробную информацию по сборке Apache смотрите в его документации.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Теперь ваш Apache 2.x.NN доступен как /usr/local/apache2, сконфигурирован с поддержкой подгружаемых модулей и стандартным мульти-процессным модулем (MPM) prefork. Чтобы простестировать правильность установки используйте стандартную процедуру запуска Apache, такую как:

    /usr/local/apache2/bin/apachectl start
    Затем остановите сервер, чтобы сконфигурировать и установить PHP:
    /usr/local/apache2/bin/apachectl stop

  5. Теперь мы сконфигурируем и соберем PHP. Здесь вы можете настроить установку PHP с помощью различных опций, указывающих, например, какие расширения нужно включить. Просмотрите вывод команды ./configure --help для получения полного списка параметров конфигурации. В нашем примере мы сконфигурируем PHP очень просто - с поддержкой Apache и MySQL.

    Если вы собирали Apache из исходников, как было описано выше, то используйте путь до apxs как указано в следующем примере, иначе, корректируйте этот путь соответствующим вашей установке образом. Учтите также, что в некоторых дистрибутивах apxs может иметь имя apxs2.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

    Если вы решите изменить параметры конфигурации после установки, вам надо будет повторить только три последних шага (configure, make, make install). Вам нужно будет только перезапустить Apache, чтобы новые модули подгрузились и начали работать. Перекомпиляция Apache для этого не требуется.

    Заметьте, что если не указано обратное, то 'make install' установит так же PEAR, различные инструменты PHP - такие как phpize, версию PHP для командной строки (PHP CLI) и т.д.

  6. Настройка вашего php.ini

    cp php.ini-development /usr/local/lib/php.ini

    Вероятно, вы захотите изменить некоторые настройки в php.ini. Если вы предпочитаете держать файл php.ini в другом месте, используйте параметр --with-config-file-path=/some/path в шаге 5.

    Если же вы используетеphp.ini-production, прочитайте его, чтобы знать какие изменения в поведении PHP это повлечет.

  7. Отредактируйте ваш httpd.conf, чтобы Apache подгружал модуль PHP. Путь в правой части инструкции LoadModule должен указывать на модуль PHP. Команда make install может добавить эту иструкцию автоматически, но этого может и не произойти, поэтому проверьте, чтобы убедиться.

    LoadModule php5_module modules/libphp5.so

  8. Теперь следует сконфигурировать Apache, чтобы он передавал файлы с некоторыми расширениями на обработку модулю PHP. В нашем примере сделаем это для .php файлов. Вместо обычного использования директивы Apache AddType, мы хотим избежать интерпретации как PHP потенциально опасных загрузок и файлов наподобие exploit.php.jpg. С помощью данного примера можно указать для интерпретации PHP любые расширения, просто добавив их в конец списка. Продемонстрируем это на расширении .php.

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

    Или, если мы хотим добавить только расширения .php, .php2, .php3, .php4, .php5, .php6 и .phtml, то можно написать так:

    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

    Сделаем то же самое для расширения .phps - модуль PHP покажет его как исходный код с подсветкой синтаксиса, вместо того, чтобы исполнять.

    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

    Можно использовать mod_rewrite для отображения любого .php файла с подсветкой синтаксиса, без нужды его переименования в .phps файл:

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

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

  9. Используйте стандартную процедуру запуска Apache, например:

    /usr/local/apache2/bin/apachectl start

    ИЛИ

    service httpd restart

Если вы следовали инструкциям выше, то вы уже должны иметь запущенный веб-сервер Apache2 с поддержкой PHP, как модуля SAPI. Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации. Используйте ./configure --help в соответствующей папке с исходниками для получения полного списка параметров конфигурации.

Если вы хотите собрать многопоточную версию Apache, то при сборке вам следует указать модуль MPM worker вместо стандартного модуля MPM prefork. Чтобы сделать это, нужно добавить следующий аргумент к ./configure на шаге 3:

--with-mpm=worker

Не следует недооценивать эту настройку, используйте это только, если вы понимаете все последствия этого решения. Документация Apache по » модулям MPM значительно глубже раскрывает эту тему.

Замечание:

Если вы хотите использовать зависимый контент (content negotiation), прочитайте Apache MultiViews FAQ.

Замечание:

Для сборки многопоточной версии Apache, ваша система должна поддерживать потоки. Это так же подразумевает сборку PHP c экспериментальной поддержкой Zend Thread Safety (ZTS). И, как следствие, не все расширения PHP смогут работать. Рекомендуется установка Apache с модулем MPM по умолчанию - prefork.

Apache 1.3.x на системах Unix
Установка PHP на Lighttpd 1.4 на Unix системах
Установка на Unix системы


Установка PHP на Lighttpd 1.4 на Unix системах

Этот раздел содержит информацию по установке PHP на Unix-системы с сервером Lighttpd 1.4.

Прочитайте, пожалуйста, инструкции по установке Lighttpd в » документации по Lighttpd перед установкой PHP.

Fastcgi - предпочитаемый интерфейс для связи PHP и Lighttpd. Fastcgi доступен по умолчанию в PHP начиная с версии 5.3. Для предыдущих версий необходимо конфигурировать PHP с флагом --enable-fastcgi. Чтобы убедиться, что PHP скомпилирован с поддержкой fastcgi, необходимо проверить наличие (cgi-fcgi) в выводе команды php -v. Для версии 5.2.5 это будет выглядеть так: PHP 5.2.5 (cgi-fcgi). До версии 5.2.3 не существовало отдельного файла php-cgi, fastcgi встривался в основной бинарный файл php.

Управление процессами php через Lighttpd

Для настройки Lighttpd на соединение с PHP и порождения процессов fastcgi необходимо отредактировать конфигурационный файл lighttpd.conf. Предпочтительнее подключаться к процессам fastcgi используя unix-сокеты.

Пример #1 Пример части файла lighttpd.conf

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

Директива bin-path задает путь к исполняемому файлу php. Lighttpd будет динамически создавать дочерние процессы php, согласно переменной окружения PHP_FCGI_CHILDREN. Директива bin-environment задает настройки для дочерних процессов. PHP_FCGI_MAX_REQUESTS определяет порог, при достижении которого PHP завершит дочерний процесс. Директив "min-procs" и "max-procs" обычно стоит избегать. PHP управляет только своими дочерними процессами, и инструменты кэширования в байткод (например, APC) будут использоваться только в этих дочерних процессах. Если значение "min-procs" установлено больше 1, общее количество процессов, обрабатывающих запросы, будет равно PHP_FCGI_CHILDREN * min-procs.

Управление процессами с помощью spawn-fcgi

Lighttpd предоставляет программу spawn-fcgi для облегчения управления дочерними процессами.

Управление процессами с помощью php-cgi

Управлять процессами можно и без spawn-fcgi, но это потребует некоторых доработок. Переменная окружения PHP_FCGI_CHILDREN указывает количество дочерних процессов, запускаемых PHP для обработки входящих запросов. Переменная PHP_FCGI_MAX_REQUESTS отвечает за количество запросов, которые обработает один процесс. Ниже приведен простой bash-скрипт, облегчающий создание дочерних процессов.

Пример #2 Создание FastCGI-обработчиков

#!/bin/sh

# Местоположение бинарного файла php-cgi
PHP=/usr/local/bin/php-cgi

# Местоположение PID-файла
PHP_PID=/tmp/php.pid

# Привязка к адресу
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Привязка к сокету
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Подключение к удаленным процессам FCGI

Обработчики fastcgi могут находиться на нескольких отдельных машинах для маштабирования нагрузки.

Пример #3 Подключение к удаленным процессам fastcgi

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
Apache 2.x на Unix системах
Sun, iPlanet and Netscape servers on Sun Solaris
Установка на Unix системы


Sun, iPlanet and Netscape servers on Sun Solaris

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Sun Solaris.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

You can find more information about setting up PHP for the Netscape Enterprise Server (NES) here: » http://benoit.noss.free.fr/php/install-php4.html

To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers, enter the proper install directory for the --with-nsapi=[DIR] option. The default directory is usually /opt/netscape/suitespot/. Please also read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Install the following packages from » http://www.sunfreeware.com/ or another download site:

    • autoconf-2.13
    • automake-1.4
    • bison-1_25-sol26-sparc-local
    • flex-2_5_4a-sol26-sparc-local
    • gcc-2_95_2-sol26-sparc-local
    • gzip-1.2.4-sol26-sparc-local
    • m4-1_4-sol26-sparc-local
    • make-3_76_1-sol26-sparc-local
    • mysql-3.23.24-beta (if you want mysql support)
    • perl-5_005_03-sol26-sparc-local
    • tar-1.13 (GNU tar)

  2. Make sure your path includes the proper directories PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin and make it available to your system export PATH.
  3. gunzip php-x.x.x.tar.gz (if you have a .gz dist, otherwise go to 4).
  4. tar xvf php-x.x.x.tar
  5. Change to your extracted PHP directory: cd ../php-x.x.x

  6. For the following step, make sure /opt/netscape/suitespot/ is where your netscape server is installed. Otherwise, change to the correct path and run:

    ./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Run make followed by make install.

After performing the base install and reading the appropriate readme file, you may need to perform some additional configuration steps.

Configuration Instructions for Sun/iPlanet/Netscape

Firstly you may need to add some paths to the LD_LIBRARY_PATH environment for the server to find all the shared libs. This can best done in the start script for your web server. The start script is often located in: /path/to/server/https-servername/start. You may also need to edit the configuration files that are located in: /path/to/server/https-servername/config/.

  1. Add the following line to mime.types (you can do that by the administration server):

    type=magnus-internal/x-httpd-php exts=php

  2. Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following, shlib will vary depending on your system, it will be something like /opt/netscape/suitespot/bin/libphp4.so. You should place the following lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server config directory.

  3. Configure the default object in obj.conf (for virtual server classes [version 6.0+] in their vserver.obj.conf):

    <Object name="default">
.
.
.
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  4. This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  5. Setup of authentication: PHP authentication cannot be used with any other authentication. ALL AUTHENTICATION IS PASSED TO YOUR PHP SCRIPT. To configure PHP Authentication for the entire server, add the following line to your default object:

    <Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. To use PHP Authentication on a single directory, add the following:

    <Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>

Замечание:

The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Замечание:

Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. This function uses some undocumented features from the NSAPI library. On Unix the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Замечание:

But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Установка PHP на Lighttpd 1.4 на Unix системах
Установка с интерфейсами CGI и командной строки
Установка на Unix системы


Установка с интерфейсами CGI и командной строки

По умолчанию, PHP собирается одновременно как CLI и CGI программа, которая может быть использована для обработки CGI-запросов. PHP как модуль сервера выигрывает в производительности, однако PHP CGI позволяет запускать PHP от пользователя, отличного от того, под которым исполняется сервер.

Внимание

Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.

Тестирование

Если вы собрали PHP как CGI, вы можете протестировать вашу сборку командой make test. Тестирование вашей сборки - всегда хорошая идея. Таким образом вы сможете раньше обнаружить проблемы PHP на вашей платформе, вместо того, чтобы бороться с ними позже.

Использование переменных

Некоторые переменные окружения сервера не определены в текущей » спецификации CGI/1.1. Определены только следующие переменные: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Все остальное должно обрабатываться как дополнительные расширения (vendor extensions).

Sun, iPlanet and Netscape servers on Sun Solaris
Инструкции по установке для ОС HP-UX
Установка на Unix системы


Инструкции по установке для ОС HP-UX

Этот раздел содержит инструкции, характерные для установки PHP в системах HP-UX.

Существует два основных способа установки PHP в системах HP-UX. Это компилирование из исходных кодов или установка бинарного пакета.

Официальный репозиторий бинарных пакетов расположен по ссылке: » http://software.hp.com/

На данный момент документация по компилированию PHP (и дополнений) из исходных кодов в системах HP-UX удалена из этого раздела. Необходимую информацию можно найти на внешнем ресурсе (на английском языке): » Сборка Apache и PHP на HP-UX 11.11

Установка с интерфейсами CGI и командной строки
OpenBSD installation notes
Установка на Unix системы


OpenBSD installation notes

This section contains notes and hints specific to installing PHP on » OpenBSD 3.6.

Using Binary Packages

Using binary packages to install PHP on OpenBSD is the recommended and simplest method. The core package has been separated from the various modules, and each can be installed and removed independently from the others. The files you need can be found on your OpenBSD CD or on the FTP site.

The main package you need to install is php4-core-4.3.8.tgz, which contains the basic engine (plus gettext and iconv). Next, take a look at the module packages, such as php4-mysql-4.3.8.tgz or php4-imap-4.3.8.tgz. You need to use the phpxs command to activate and deactivate these modules in your php.ini.

Пример #1 OpenBSD Package Install Example

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (add in mysql)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (add in imap)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (remove mysql as a test)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz

Read the » packages(7) manual page for more information about binary packages on OpenBSD.

Using Ports

You can also compile up PHP from source using the » ports tree. However, this is only recommended for users familiar with OpenBSD. The PHP 4 port is split into two sub-directories: core and extensions. The extensions directory generates sub-packages for all of the supported PHP modules. If you find you do not want to create some of these modules, use the no_* FLAVOR. For example, to skip building the imap module, set the FLAVOR to no_imap.

Common Problems

  • The default install of Apache runs inside a » chroot(2) jail, which will restrict PHP scripts to accessing files under /var/www. You will therefore need to create a /var/www/tmp directory for PHP session files to be stored, or use an alternative session backend. In addition, database sockets need to be placed inside the jail or listen on the localhost interface. If you use network functions, some files from /etc such as /etc/resolv.conf and /etc/services will need to be moved into /var/www/etc. The OpenBSD PEAR package automatically installs into the correct chroot directories, so no special modification is needed there. More information on the OpenBSD Apache is available in the » OpenBSD FAQ.
  • The OpenBSD 3.6 package for the » gd extension requires XFree86 to be installed. If you do not wish to use some of the font features that require X11, install the php4-gd-4.3.8-no_x11.tgz package instead.

Older Releases

Older releases of OpenBSD used the FLAVORS system to compile up a statically linked PHP. Since it is hard to generate binary packages using this method, it is now deprecated. You can still use the old stable ports trees if you wish, but they are unsupported by the OpenBSD team. If you have any comments about this, the current maintainer for the port is Anil Madhavapeddy (avsm at openbsd dot org).

Инструкции по установке для ОС HP-UX
Инструкции по инсталляции для ОС Solaris
Установка на Unix системы


Инструкции по инсталляции для ОС Solaris

Данный раздел содержит инструкции и советы для установки PHP на ОС Solaris.

Требования к программному обеспечению

Зачастую в составе операционной системы Solaris отсутствует компиляторы языка C и сопутствующие им утилиты. Ознакомьтесь с этим FAQ, чтобы узнать, почему необходимо использовать GNU-версии этих утилит.

Для распаковки дистрибутива PHP вам понадобится

  • tar
  • gzip или
  • bzip2

Для компиляции PHP вам понадобится

  • gcc (рекомендован, но другие компиляторы C также могут подойти)
  • make
  • GNU sed

Для сборки некоторых расширений или редактирования исходников PHP также могут понадобиться

  • flex (до версии PHP 5.2)
  • re2c
  • bison
  • m4
  • autoconf
  • automake
Дополнительно, вам нужно будет установить (и, возможно, скомпилировать) дополнительное ПО, необходимое в вашей конфигурации, например Oracle или MySQL.

Использование установочных пакетов

Вы можете упростить процесс установки в Solaris, используя утилиту pkgadd для установки нужных вам компонент. Система управления пакетами (IPS) операционной системы Solaris 11 Express также позволяет установить большинство требуемых компонент с помощью команды pkg.

OpenBSD installation notes
Debian GNU/Linux installation notes
Установка на Unix системы


Debian GNU/Linux installation notes

This section contains notes and hints specific to installing PHP on » Debian GNU/Linux.

Внимание

Unofficial builds from third-parties are not supported here. Any bugs should be reported to the Debian team unless they can be reproduced using the latest builds from our » download area.

While the instructions for building PHP on Unix apply to Debian as well, this manual page contains specific information for other options, such as using either the apt-get or aptitude commands. This manual page uses these two commands interchangeably.

Using APT

First, note that other related packages may be desired like libapache2-mod-php5 to integrate with Apache 2, and php-pear for PEAR.

Second, before installing a package, it's wise to ensure the package list is up to date. Typically, this is done by running the command apt-get update.

Пример #1 Debian Install Example with Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT will automatically install the PHP 5 module for Apache 2 and all of its dependencies, and then activate it. Apache should be restarted in order for the changes take place. For example:

Пример #2 Stopping and starting Apache once PHP is installed

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Better control of configuration

In the last section, PHP was installed with only core modules. It's very likely that additional modules will be desired, such as MySQL, cURL, GD, etc. These may also be installed via the apt-get command.

Пример #3 Methods for listing additional PHP 5 packages

# apt-cache search php5
# aptitude search php5
# aptitude search php5 |grep -i mysql

The examples will show a lot of packages including several PHP specific ones like php5-cgi, php5-cli and php5-dev. Determine which are needed and install them like any other with either apt-get or aptitude. And because Debian performs dependency checks, it'll prompt for those so for example to install MySQL and cURL:

Пример #4 Install PHP with MySQL, cURL

# apt-get install php5-mysql php5-curl

APT will automatically add the appropriate lines to the different php.ini related files like /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, etc. and depending on the extension will add entries similar to extension=foo.so. However, restarting the web server (like Apache) is required before these changes take affect.

Common Problems

  • If the PHP scripts are not parsing via the web server, then it's likely that PHP was not added to the web server's configuration file, which on Debian may be /etc/apache2/apache2.conf or similar. See the Debian manual for further details.
  • If an extension was seemingly installed yet the functions are undefined, be sure that the appropriate ini file is being loaded and/or the web server was restarted after installation.
  • There are two basic commands for installing packages on Debian (and other linux variants): apt-get and aptitude. However, explaining the subtle differences between these commands goes beyond the scope of this manual.
Инструкции по инсталляции для ОС Solaris
Установка на Mac OS X
Установка на Unix системы


Установка на Mac OS X

Содержание

  • Using Packages
  • Using the bundled PHP
  • Компилирование PHP на Mac OS X

Этот раздел содержит руководство и различные советы по установке PHP на Mac OS X. PHP поставляется вместе с компьютерами Mac, компилирование на которых схоже с установкой в Unix-системах.

Debian GNU/Linux installation notes
Using Packages
Установка и настройка


Using Packages

There are a few pre-packaged and pre-compiled versions of PHP for Mac OS X. This can help in setting up a standard configuration, but if you need to have a different set of features (such as a secure server, or a different database driver), you may need to build PHP and/or your web server yourself. If you are unfamiliar with building and compiling your own software, it's worth checking whether somebody has already built a packaged version of PHP with the features you need.

The following resources offer easy to install packages and precompiled binaries for PHP on Mac OS:

  • MacPorts: » http://www.macports.org/
  • Entropy: » http://www.entropy.ch/software/macosx/php/
  • Fink: » http://www.finkproject.org/
  • Homebrew: » http://github.com/mxcl/homebrew

Установка на Mac OS X
Using the bundled PHP
Установка на Mac OS X


Using the bundled PHP

PHP has come standard with Macs since OS X version 10.0.0. Enabling PHP with the default web server requires uncommenting a few lines in the Apache configuration file httpd.conf whereas the CGI and/or CLI are enabled by default (easily accessible via the Terminal program).

Enabling PHP using the instructions below is meant for quickly setting up a local development environment. It's highly recommended to always upgrade PHP to the newest version. Like most live software, newer versions are created to fix bugs and add features and PHP being is no different. See the appropriate MAC OS X installation documentation for further details. The following instructions are geared towards a beginner with details provided for getting a default setup to work. All users are encouraged to compile, or install a new packaged version.

The standard installation type is using mod_php, and enabling the bundled mod_php on Mac OS X for the Apache web server (the default web server, that is accessible via System Preferences) involves the following steps:

  1. Locate and open the Apache configuration file. By default, the location is as follows: /private/etc/apache2/httpd.conf Using Finder or Spotlight to find this file may prove difficult as by default it's private and owned by the root user.

    Замечание: One way to open this is by using a Unix based text editor in the Terminal, for example nano, and because the file is owned by root we'll use the sudo command to open it (as root) so for example type the following into the Terminal Application (after, it will prompt for a password): sudo nano /private/etc/apache2/httpd.conf Noteworthy nano commands: ^w (search), ^o (save), and ^x (exit) where ^ represents the Ctrl key.

    Замечание: Versions of Mac OS X prior to 10.5 were bundled with older versions of PHP and Apache. As such, the Apache configuration file on legacy machines may be /etc/httpd/httpd.conf.

  2. With a text editor, uncomment the lines (by removing the #) that look similar to the following (these two lines are often not together, locate them both in the file):

    # LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
    Notice the location/path. When building PHP in the future, the above files should be replaced or commented out.

  3. Be sure the desired extensions will parse as PHP (examples: .php .html and .inc)

    Due to the following statement already existing in httpd.conf (as of Mac Panther), once PHP is enabled the .php files will automatically parse as PHP.

    <IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Замечание:

    Before OS X 10.5 (Leopard), PHP 4 was bundled instead of PHP 5 in which case the above instructions will differ slightly by changing 5's to 4's.

  4. Be sure the DirectoryIndex loads the desired default index file This is also set in httpd.conf. Typically index.php and index.html are used. By default index.php is enabled because it's also in the PHP check shown above. Adjust accordingly.
  5. Set the php.ini location or use the default A typical default location on Mac OS X is /usr/local/php/php.ini and a call to phpinfo() will reveal this information. If a php.ini is not used, PHP will use all default values. See also the related FAQ on finding php.ini.
  6. Locate or set the DocumentRoot This is the root directory for all the web files. Files in this directory are served from the web server so the PHP files will parse as PHP before outputting them to the browser. A typical default path is /Library/WebServer/Documents but this can be set to anything in httpd.conf. Alternatively, the default DocumentRoot for individual users is /Users/yourusername/Sites
  7. Create a phpinfo() file

    The phpinfo() function will display information about PHP. Consider creating a file in the DocumentRoot with the following PHP code:

    <?php phpinfo(); ?>

  8. Restart Apache, and load the PHP file created above To restart, either execute sudo apachectl graceful in the shell or stop/start the "Personal Web Server" option in the OS X System Preferences. By default, loading local files in the browser will have an URL like so: http://localhost/info.php Or using the DocumentRoot in the user directory is another option and would end up looking like: http://localhost/~yourusername/info.php

The CLI (or CGI in older versions) is appropriately named php and likely exists as /usr/bin/php. Open up the terminal, read the command line section of the PHP manual, and execute php -v to check the PHP version of this PHP binary. A call to phpinfo() will also reveal this information.

Using Packages
Компилирование PHP на Mac OS X
Установка на Mac OS X


Компилирование PHP на Mac OS X

Для компиляции PHP на Mac OS X прочтите руководство по установке на Unix.

Using the bundled PHP
Installation on Windows systems
Установка на Mac OS X


Installation on Windows systems

Содержание

  • Windows-установщик (PHP 5.1.0 и раньше)
  • Установщик Windows (версии PHP 5.2 и позднее)
  • Руководство по ручной установке
  • ActiveScript
  • Microsoft IIS
  • Microsoft IIS 5.1 and IIS 6.0
  • Microsoft IIS 7.0 и выше
  • Apache 1.3.x в Microsoft Windows
  • Apache 2.x on Microsoft Windows
  • Sun, iPlanet and Netscape servers on Microsoft Windows
  • Sambar Server под Microsoft Windows
  • Xitami on Microsoft Windows
  • Building from source
  • Установка расширений PHP в ОС Windows
  • Command Line PHP on Microsoft Windows

This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP will not work on 16 bit platforms such as Windows 3.1 and sometimes we refer to the supported Windows platforms as Win32.

Замечание:

Windows 98/Me/NT4 is no longer supported as of PHP 5.3.0.

Замечание:

Windows 95 is no longer supported as of PHP 4.3.0.

There are two main ways to install PHP for Windows: either manually or by using the installer.

If you have a development environment such as Microsoft Visual Studio, you can also build PHP from the original source code.

Once you have PHP installed on your Windows system, you may also want to load various extensions for added functionality.

Внимание

There are several all-in-one installers over the Internet, but none of those are endorsed by PHP.net, as we believe that using one of the official Windows packages from » http://www.php.net/downloads.php is the best choice to have your system secure and optimized.

Компилирование PHP на Mac OS X
Windows-установщик (PHP 5.1.0 и раньше)
Установка и настройка


Windows-установщик (PHP 5.1.0 и раньше)

Windows-установщик PHP доступен на странице загрузки » http://www.php.net/downloads.php. По ссылке доступна CGI-версия PHP, которая также конфигурирует веб-сервер IIS, PWS и Xitami. Установщик не включает каких-либо дополнительных внешних PHP расширений (php_*.dll), которые находятся в Windows Zip-пакете и доступны для загрузки из PECL.

Замечание:

Хотя c помощью Windows-установщика PHP довольно просто устанавливается, этот способ довольно ограничен во многих аспектах, таких как, например, отсутствие поддержки автоматической настройки расширений. Использование установщика не является предпочтительным способом установки PHP.

Установите выбранный вами HTTP (веб) сервер на вашу систему, и убедитесь, что он работает.

Запустите исполняемый файл установки и следуйте инструкциям мастера установки. Поддерживаются два типа установки - стандартный, который устанавливает для всех параметров значения "по умолчанию", и расширенный, который задает вопросы в ходе работы.

Мастер установки собирает исчерпывающую информацию для настройки файла php.ini, и конфигурирует некоторые веб-серверы для работы с PHP. Один из веб серверов, настройка которого не производится - это Apache, его настройку необходимо произвести вручную.

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

Внимание

Помните, что данная настройка PHP не является безопасной. Если вы хотели бы иметь безопасную установку PHP, то вам необходимо внимательно установить каждую опцию вручную и тщательно ее обдумав. С помощью этой автоматической инсталляции вы мгновенно получаете рабочую установку PHP, но такой способ установки не предназначен для использования на интернет-серверах.

Installation on Windows systems
Установщик Windows (версии PHP 5.2 и позднее)
Installation on Windows systems


Установщик Windows (версии PHP 5.2 и позднее)

Установщик Windows для последних версий PHP построен на технологии MSI с использованием Wix Toolkit (» http://wix.sourceforge.net/). Он установит и сконфигурирует PHP, все встроенные и PECL расшрения, а также сконфигурирует многие популярные веб сервера, такие как IIS, Apache и Xitami.

Во-первых, установите выбранный вами HTTP (веб) сервер на вашу систему и убедитесь в том что он работает. Затем используйте один из типов установки.

Обычная установка

Запустите установщик MSI и следуйте инструкциям мастера установки. Вам потребуется выбрать веб сервер, который вы хотите сконфигурировать и необходимые детали конфигурации.

Затем появится запрос на выбор функций и расширений, которые вы хотите установить. Выбирая вариант установки "Will be installed on local hard drive" в выпадающем меню для кадого пункта вы можете выбрать устаналивать ли данную функцию или нет. Выбирая вариант установки "Entire feature will be installed on local hard drive" вы можете установить все подпункты выбранного пункта (например, выбирая эту опцию для "PDO" вы установите все драйверы PDO).

Внимание

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

Затем установщик настраивает PHP для работы в Windows и файл php.ini и конфигурирует выбранные веб сервера для работы с PHP. На данный момент поддерживаются IIS, Apache, Xitami, и Sambar Server; если вы используете другой веб сервер, вам нужно настроить его вручную.

Тихая установка

Установщик также поддерживает режим тихой установки, который полезен системным администраторам для легкой установки PHP. Для использования этого режима:

msiexec.exe /i php-VERSION-win32-install.msi /q

Вы можете настроить директорию для установки передав ее как параметр установщику. Например, чтобы установить в e:\php:

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
Вы можете использовать тот же синтаксис для указания Apache Configuration Directory (APACHEDIR), the Sambar Server directory (SAMBARDIR), и Xitami Server directory (XITAMIDIR).

Кроме того, можно указать какие функции необходимо установить. Например, чтобы установить расширение mysqli и CGI:

msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli

Текущий список функций для установки приведен ниже:

MainExecutable - php.exe executable ( no longer available as of PHP 5.2.10/5.3.0; it is now included by default )
ScriptExecutable - php-win.exe executable
ext_php_* - the various extensions ( for example: ext_php_mysql for MySQL )
apache13 - Apache 1.3 module
apache20 - Apache 2.0 module
apache22 - Apache 2.2 module
apacheCGI - Apache CGI executable
iis4ISAPI - IIS ISAPI module
iis4CGI - IIS CGI executable
iis4FastCGI - IIS CGI executable
NSAPI - Sun/iPlanet/Netscape server module
netserve - NetServe Web Server CGI executable
Xitami - Xitami CGI executable
Sambar - Sambar Server ISAPI module
CGI - php-cgi.exe executable
PEAR - PEAR installer
Manual - PHP Manual in CHM Format

Для дальнейшей информации по установке из MSI установщиков через командную строку посетите » http://msdn.microsoft.com/en-us/library/aa367988.aspx

Обновление PHP с помощью установщика

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

Windows-установщик (PHP 5.1.0 и раньше)
Руководство по ручной установке
Installation on Windows systems


Руководство по ручной установке

Этот раздел содержит инструкции для ручной установки и настройки PHP на Microsoft Windows. Инструкции по использованию инсталлятора PHP для установки и конфигурации PHP и веб сервера на Windows находятся в разделе Windows Installer (PHP 5.2 и более поздние).

Выбор и загрузка пакета дистрибутивов PHP

Загрузите дистрибутив PHP в виде zip-архива с » PHP для Windows: Исполняемые файлы и исходные коды. Существует несколько различных версий zip-пакетов - выберите версию, которая подходит для используемого веб сервера:

  • Если PHP используется с IIS, тогда следует использовать PHP 5.3 VC9 Non Thread Safe или PHP 5.2 VC6 Non Thread Safe;

  • Если PHP используется с IIS7 или выше и версия PHP 5.3+, тогда должна использоваться версия дистрибутива PHP VC9.

  • Если PHP используется с Apache 1 или Apache 2 тогда выбирайте PHP 5.3 VC6 или PHP 5.2 VC6.

Замечание:

Версии VC9 компилируются с помощью Visual Studio 2008 и имеют улучшенную производительность и стабильность. Версии VC9 требуют наличия в системе » Microsoft 2008 C++ Runtime (x86) или » Microsoft 2008 C++ Runtime (x64).

Структура пакетов PHP и их содержимое

Распакуйте содержимое zip архива в директорию по вашему выбору, например C:\PHP\. Директория и структура файлов, извлеченных из zip, будет такой:

Пример #1 Структура пакета PHP 5

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib                 -- версия php5.lib без поддержки многопоточности
   |
   +--ext                          -- DLL расширения для PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras                       -- пустой
   |
   +--pear                         -- начальная копия PEAR
   |
   |
   |-go-pear.bat                   -- скрипт установки PEAR
   |
   |-...
   |
   |-php-cgi.exe                   -- исполняемый файл CGI
   |
   |-php-win.exe                   -- выполняет скрипты без открытой консоли
   |
   |-php.exe                       -- Исполняемый файл PHP для командной строки (CLI)
   |
   |-...
   |
   |-php.ini-development           -- настройки php.ini по-умолчанию
   |
   |-php.ini-production            -- рекомендуемые настройки php.ini
   |
   |-php5apache2_2.dll             -- имеется только в многопоточной версии
   |
   |-php5apache2_2_filter.dll      -- имеется только в многопоточной версии
   |
   |-...
   |
   |-php5ts.dll                    -- ядро PHP DLL ( php5.dll в версии без поддержки многопоточности)
   |
   |-...

Ниже представлен список модулей и исполняемых файлов, включенных в PHP zip дистрибутив:

  • go-pear.bat - скрипт установки PEAR. Подробнее см. » Установка (PEAR).

  • php-cgi.exe - исполняемый файл CGI, который может бюыть использован во время запуска PHP на IIS через CGI или FastCGI.

  • php-win.exe - исполняемый файл PHP для выполнения PHP скриптов без использования консоли (например, приложения PHP, использующие Windows GUI).

  • php.exe - исполняемый файл PHP для выполнения PHP скриптов в консоли (CLI).

  • php5apache2_2.dll - модуль Apache 2.2.X.

  • php5apache2_2_filter.dll - фильтр Apache 2.2.X.

Изменение файла php.ini

После того, как содержимое пакета php извлечено, создайте копию php.ini-production с именем php.ini в той же папке. Если необходимо, также возможно разместить php.ini в любом другом месте по вашему выбору, но это потребует дополнительной настройки, которая приводится в разделе Настройка PHP.

Файл php.ini содержит правила исполнения PHP и инструкции по работе с окружением, в котором он запускается. Ниже приводятся некоторые из настроек php.ini, которые могут улучшить работу PHP в Windows. Некоторые из них опциональны. Есть много других директив, которые могут быть полезны в вашем окружении - обращайтесь к списку директив php.ini за более подробной информацией.

Обязательные директивы:

  • extension_dir = <путь к директории расширений> - extension_dir указывает директорию, где расположены расширения PHP. Путь может быть абсолютым (например "C:\PHP\ext") или относительным (например ".\ext"). Используемые в php.ini расширения должны быть расположены в extension_dir.

  • extension = xxxxx.dll - Для каждого подключаемого расширения необходимо указать директиву "extension=". Расширения из extension_dir, отмеченные такой директивой, загружаются при старте PHP.

  • log_errors = On - в PHP есть механизм ведения лога ошибок, который может использоваться для сохранения ошибок в файле или для отправки в сервис (например syslog). Механизм также использует значение директивы error_log. Когда PHP исполняется службой IIS, log_errors должен быть включен с корректным error_log.

  • error_log = <пусть к файлу лога ошибок> - error_log нужен для обозначения абсолютного или относительного пути к файлу, в который протоколируются ошибки PHP. Этот файл должен доступным для записи веб-сервером. Самые распространенные места размещения этого файла - различные временные TEMP директории, например "C:\inetpub\temp\php-errors.log".

  • cgi.force_redirect = 0 - Эта директива необходима для исполнения под IIS. Это механизм защиты директории, требуемый многими другими веб серверами. Однако, включение его под IIS вызовет ошибки ядра PHP в Windows.

  • cgi.fix_pathinfo = 1 - Обеспечивает поддержку PATH_INFO согласно спецификации CGI. IIS FastCGI использует эту настройку.

  • fastcgi.impersonate = 1 - FastCGI под IIS поддерживает способность идентифицировать маркеры безопасности вызывающего клиента. Это позволяет IIS определять контекст безопасности, под которые выполняется запрос.

  • fastcgi.logging = 0 - Запись логов FastCGI должна быть выключена в IIS. Если запись включена, тогда все сообщения любых классов распознаются FastCGI как ошибки, что приведет IIS к генерации исключения HTTP 500.

Опциональные директивы

  • max_execution_time = ## - Эта директива указывает максимальное время выполнения любого скрипта PHP. По умолчанию равно 30 секундам. Следует увеличить это значение, если приложение PHP должно выполняться дольше.

  • memory_limit = ###M - Количество памяти, доступное процессу PHP, в Мб. По умолчанию 128, что достаточно для большинства PHP приложений. Некоторым сложным приложениям может потребоваться больше памяти.

  • display_errors = Off - Директива определяет, какие ошибки следует возвращать веб-серверу для дальнейшего протоколирования. При значении "On" PHP сообщает обо всех видах ошибок, которые приводятся в директиве error_reporting. По соображениям безопасности рекомендуется установить в "Off" на рабочих серверах, чтобы исключить передачу вывода ошибкок конечному пользователю, так как они могут содержат информацию, угрожающую безопасности приложения.

  • open_basedir = <пути к директориям, разделенные точкой с запятой>, например openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Эта директива указывает пути к директориям, в которых PHP разрешены операции с файловой системой. Любая операция с файлами и директориями вне указанных путей будет приводить к ошибке. Эта директива особенно полезна для предоствращения доступа к установленному PHP в окружениях разделяемых хостингов для предотвращения доступа PHP скриптов к любым файлам вне корневой директории веб сайта.

  • upload_max_filesize = ###M и post_max_size = ###M - Максимальный разрешенный размер загруженного файла и присланных данных соответственно. Значения этих директив должны быть увеличены, если приложения PHP должны обрабатывать большие загружаемые файлы, например изображения или видеофайлы.

После установки PHP в вашей системе слудеющим шагом будет выбор веб-сервера и его дальнейшая настройка для работы с PHP. Выберите конкретный веб-сервер в оглавлении к данному материалу.

Помимо запуска PHP с помощью веб-сервера, PHP может быть запущен из командной строки как .BAT скрипт. За более подробной информацией обращайтесь к материалу Консоль PHP на Microsoft Windows.

Установщик Windows (версии PHP 5.2 и позднее)
ActiveScript
Installation on Windows systems


ActiveScript

This section contains notes specific to the ActiveScript installation.

ActiveScript is a Windows only SAPI that enables you to use PHP script in any ActiveScript compliant host, like Windows Script Host, ASP/ASP.NET, Windows Script Components or Microsoft Scriptlet control.

As of PHP 5.0.1, ActiveScript has been moved to the » PECL repository. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание:

You should read the manual installation steps first!

After installing PHP, you should download the ActiveScript DLL (php5activescript.dll) and place it in the main PHP folder (e.g. C:\php).

After having all the files needed, you must register the DLL on your system. To achieve this, open a Command Prompt window (located in the Start Menu). Then go to your PHP directory by typing something like cd C:\php. To register the DLL just type regsvr32 php5activescript.dll.

To test if ActiveScript is working, create a new file, named test.wsf (the extension is very important) and type:

<job id="test">

 <script language="PHPScript">
  $WScript->Echo("Hello World!");
 </script>

</job>
Save and double-click on the file. If you receive a little window saying "Hello World!" you're done.

Замечание:

In PHP 4, the engine was named 'ActivePHP', so if you are using PHP 4, you should replace 'PHPScript' with 'ActivePHP' in the above example.

Замечание:

ActiveScript doesn't use the default php.ini file. Instead, it will look only in the same directory as the .exe that caused it to load. You should create php-activescript.ini and place it in that folder, if you wish to load extensions, etc.

Руководство по ручной установке
Microsoft IIS
Installation on Windows systems


Microsoft IIS

This section contains PHP installation instructions specific to Microsoft Internet Information Services (IIS).

  • Manually installing PHP on Microsoft IIS 5.1 and IIS 6.0
  • Manually installing PHP on Microsoft IIS 7.0 and later
ActiveScript
Microsoft IIS 5.1 and IIS 6.0
Installation on Windows systems


Microsoft IIS 5.1 and IIS 6.0

This section contains instructions for manually setting up Internet Information Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to Microsoft IIS 7.0 and later.

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Замечание:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Пример #1 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Download and install the » Microsoft FastCGI Extension for IIS 5.1 and 6.0. The extension is available for 32-bit and 64-bit platforms - select the right download package for your platform.

Configure the FastCGI extension to handle PHP-specific requests by running the command shown below. Replace the value of the "-path" parameter with the absolute file path to the php-cgi.exe file.

Пример #2 Configuring FastCGI extension to handle PHP requests

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"

This command will create an IIS script mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI extension. Also, it will configure FastCGI extension to use the executable php-cgi.exe to process the PHP requests.

Замечание:

At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each others' files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 5.1 and IIS 6.0, in its default configuration, has anonymous authentication enabled with built-in user account IUSR_<MACHINE_NAME> used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR_<MACHINE_NAME> account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR_<MACHINE_NAME> account should have write permission to those.

To determine which user account is used by IIS anonymous authentication, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Expand the list of web sites under the "Web Sites" node in the tree view, right-click on a web site that is being used and select "Properties";

  3. Click the "Directory Security" tab;

  4. Take note of a "User name:" field in the "Authentication Methods" dialog

Anonymous authenication for IIS 5.1 and IIS 6.0

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Пример #3 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Right-click on the "Web Sites" node in the tree view and select "Properties";

  3. Click the "Documents" tab;

  4. Click the "Add..." button and enter "index.php" for the "Default content page:".

Setting index.php as default document for IIS

FastCGI and PHP Recycling configuration

Configure IIS FastCGI extension settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before FastCGI extension shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Пример #4 Configuring FastCGI and PHP recycling

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configuring FastCGI timeout settings

Increase the timeout settings for FastCGI extension if there are applications that have long running PHP scripts. The two settings that control timeouts are ActivityTimeout and RequestTimeout. Refer to » Configuring FastCGI Extension for IIS 6.0 for more information about those settings.

Пример #5 Configuring FastCGI timeout settings

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Пример #6 Changing the location of php.ini file

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"C:\Some\Directory\"

Microsoft IIS
Microsoft IIS 7.0 и выше
Installation on Windows systems


Microsoft IIS 7.0 и выше

Этот раздел содержит инструкции по настройке Internet Information Services (IIS) 7.0 и более поздних версий для работы с PHP на Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 и Windows Server 2008 R2. Для получения инструкций по настройке IIS 5.1 и IIS 6.0 на Windows XP и Windows Server 2003 перейдите на страницу Microsoft IIS 5.1 и IIS 6.0.

Включение поддержки FastCGI в IIS

Модуль FastCGI при установке IIS по умолчанию отключён. Способы включения его различаются в зависимости от версии используемой Windows.

Для включения поддержки FastCGI на Windows Vista SP1 и Windows 7:

  1. В меню "Пуск" выберите пункт "Выполнить", в появившемся окне введите с клавиатуры "optionalfeatures.exe" и нажмите "Ok";

  2. В открывшемся окне "Компоненты Windows" раскройте папку "Службы IIS", "Службы интернета", "Компоненты разработки приложений" и установите галочку напротив "CGI";

  3. Нажмите OK и ждите окончания процесса установки.

Включение поддержки FastCGI для IIS7 на Windows Vista SP1 и Windows 7

Чтобы включить поддержку FastCGI на Windows Server 2008 и Windows Server 2008 R2:

  1. В Windows откройте меню Пуск выберите пункт "Выполнить:", наберите с клавиатуры "CompMgmtLauncher" и нажмите "Ok";

  2. Если роль "Веб-сервер (IIS)" не представлена во вкладке "Роли", добавьте её, выбрав "Добавить роли";

  3. Если роль "Веб-сервер (IIS)" присутствует, выберите "Выбор службы ролей" и установите галочку напротив "CGI" в группе "Компоненты разработки приложений";

  4. Нажмите "Далее" затем "Установить" и ждите окончания процесса установки.

Включение поддержки FastCGI на Windows Server 2008 и Windows Server 2008 R2

Настройка IIS для обработки PHP запросов

Скачайте и установите PHP в соответствии с инструкциями, приведёнными в описании установки

Замечание:

При использовании IIS рекомендуется использовать потоко-небезопасную (Non-thread-safe) сборку PHP, которая доступна по ссылке » PHP для Windows: Установочные файлы и исходный код.

Измените CGI и FastCGI настройки в файле php.ini как показано ниже:

Пример #1 CGI и FastCGI настройки в php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Настройте IIS обработчик для PHP, используя Интерфейс управления IIS или через командную строку.

Использование Интерфейса управления IIS для создания обработчика PHP

Следующие шаги позволят вам создать IIS обработчик для PHP в Интерфейсе управления IIS:

  1. В Windows меню Пуск выберите команду "Выполнить:", введите в клавиатуры команду "inetmgr" и нажмите "Ok";

  2. В Интерфейсе управления IIS выберите сервер в дереве "Подключения";

  3. На "Начальной странице" откройте "Сопоставления обработчиков";

    Создание IIS обработчика для PHP : нахождение сопоставителя обработчиков

  4. На вкладке "Действия" выберите "Добавить сопоставление модуля...";

  5. В окне "Добавление сопоставления модуля" введите следующее:

    • Путь запроса: *.php
    • Модуль: FastCgiModule
    • Исполняемый файл: C:\[Path to PHP installation]\php-cgi.exe
    • Имя: PHP_via_FastCGI

  6. Нажмите кнопку "Огараничения запроса" и сконфигурируйте сопоставление вызывать обработчик только при сопоставлении с файлом или каталогом;

  7. Нажмите OK во всех диалогах для сохранения конфигурации.

Создание IIS сопоставления обработчика для PHP : Добавление сопоставления обработчика

Использование командной строки для создания сопоставления обработчика PHP

Используйте команды приведённые ниже для создания пула процессов IIS FastCGI который будет использовать php-cgi.exe выполняемый для PHP запросов. Замените значение параметра fullPath на абсолютный путь к файлу php-cgi.exe.

Пример #2 Создание IIS FastCGI пула процессов

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
/+[fullPath='c:\PHP\php-cgi.exe']

Настройка IIS для обработки специфических запросов PHP из командной строки показана ниже. Замените значение параметра scriptProcessor на абсолютный путь к файлу php-cgi.exe.

Пример #3 Создание сопоставления обработчика запросов PHP

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
/+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^
scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

Эта команда создает для IIS сопоставление обработчика для файлов с расширением *.php, который получается в результате и обрабатывается модулем FastCGI.

Замечание:

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

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

При использовании IIS рекомендуется включить представление FastCGI в PHP. Это контролируется директивой fastcgi.impersonate в php.ini файле. Когда имперсонация включена, PHP будет выполнять все операции с файловой системой под аккаунтом, который был определён при аутентификации IIS. Это гарантирует, что при общем PHP процессе для всех сайтов IIS, PHP скрипты этих сайтов не будут иметь доступ к файлам друг друга до тех пор, пока IIS использует различные учетные записи для каждого из сайтов.

Для примера, в настройках по умолчанию IIS 7, включена анонимная аутентификация под стандартным пользователем IUSR. Это значит, что давая разрешение IIS выполнить PHP скрипт, так же необходимо дать права на чтение этого скрипта аккаунту IUSR. Если PHP приложению необходимо выполнить запись в некоторые файлы или папки, тогда аккаунту IUSR следует дать права на запись в них.

Чтобы решить какой пользователь используется для идентификации в IIS 7, можно использовать следующие команды. Замените "Default Web Site" на имя IIS сайта, с которым вы работаете. На выходе, в XML конфигурации смотрите атрибут userName.

Пример #4 определение аккаунта, используемого IIS при анонимной идентификации

%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication

<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
   </security>
</system.webServer>

Замечание:

Если атрибут userName отсутствует в элементе anonymousAuthentication, или установлен как пустая строка, это значит, что удостоверение пула приложений используется как анонимное для этого веб-сайта.

Для изменения настроек доступа для файлов или папок, используйте интерфейс пользователя в профоднике Windows или команду icacls.

Пример #5 Настройка разрешения доступа к файлам

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Установка index.php как документ по умолчанию в IIS

По умолчанию в IIS не установлено имя документа для обработки HTTP запросов по умолчанию. В PHP приложениях, обычно используется по умолчанию документ index.php. Чтобы добавить index.php в лист документов по умолчанию IIS, используйте такую команду:

Пример #6 Установка index.php как документ по умолчанию в IIS

%windir%\system32\inetsrv\appcmd.exe set config ^
-section:system.webServer/defaultDocument /+"files.[value='index.php']" ^
/commit:apphost

FastCGI и PHP удаление конфигурации

Настройка IIS FastCGI установок для утилизации PHP процессов с помощью команд приведена ниже. Оция FastCGI instanceMaxRequests устанавливает максимальное количество запросов, которое может обрабатываться одним php-cgi.exe процессом пока IIS не начнет их отключать. PHP переменная окружения PHP_FCGI_MAX_REQUESTS устанавливает как много запросов будет обрабатывать один php-cgi.exe процесс пока сам не начнет удалять их. Конечно, значение установленное для FastCGI InstanceMaxRequests меньше или равно PHP_FCGI_MAX_REQUESTS.

Пример #7 Настройка FastCGI и PHP утилизации

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='c:\php\php-cgi.exe'].instanceMaxRequests:10000

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.^
[name='PHP_FCGI_MAX_REQUESTS',value='10000']"

Установка таймаута FastCGI

Увеличение параметра таймаута для FastCGI делается, если имеется долго выполняемый PHP скрипт. Два параметра контролируют таймаут, это: activityTimeout и requestTimeout. Используйте команды приведённые ниже для изменения настроек таймаута. Конечно, надо заменить значение параметра fullPath на полный путь к файлу php-cgi.exe.

Пример #8 Конфигурация установок таймаута FastCGI

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].activityTimeout:"90"  /commit:apphost

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].requestTimeout:"90"  /commit:apphost

Изменение положения файла php.ini

PHP ищет файл php.ini некоторых метах и это даёт нам возможность изменить местоположения по умолчанию файла php.ini, используя переменную окружения PHPRC. Чтобы указать PHP загружать конфигурационный файл из определённого места используйте команды, приведённые ниже. Абсолютный путь до дирректории где лежит файл php.ini определяется как значение переменной окружения PHPRC.

Пример #9 Изменение положения файла php.ini

appcmd.exe set config  -section:system.webServer/fastCgi ^
/+"[fullPath='C:\php\php.exe',arguments=''].environmentVariables.^
[name='PHPRC',value='C:\Some\Directory\']" /commit:apphost

Microsoft IIS 5.1 and IIS 6.0
Apache 1.3.x в Microsoft Windows
Installation on Windows systems


Apache 1.3.x в Microsoft Windows

Этот раздел содержит заметки и советы, специфичные для установски Apache 1.3.x для PHP в Microsoft Windows Также доступна отдельная страница с инструкциями и заметками по установке Apache 2.

Замечание:

Пожалуйста, для начала прочитайте руководство по установке !

Существует два способа настройки PHP для работы с Apache 1.3.x в Windows. Первый - использовать двоичный файл CGI (php.exe для PHP 4 и php-cgi.exe для PHP 5), второй - использовать Apache Module DLL. В обоих случаях необходимо отредакрировать httpd.conf для настройки Apache для работы с PHP и перезапустить сервер.

В настоящее время SAPI модуль более стабилен под Windows, поэтому мы рекомендуем использовать его вместо CGI так как он более прозрачен и безопасен.

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

Не забудьте перезагрузить сервер после изменения конфигурационного файла. Например, командами NET STOP APACHE и NET START APACHE, если Apache запушщен как служба Windows, или с помощью обычных ярлыков.

Замечание: Помните, что при указании путей в конфигурационных файлах Apache под Windows, все обратные слэши, например, c:\directory\file.ext должны быть изменены на прямые: c:/directory/file.ext. Путям с директориями также может понадобиться слэш в конце.

Установка PHP как модуля Apache

Необходимо добавить следующие строки в файл Apache httpd.conf:

Пример #1 PHP как модуль Apache 1.3.x

Это предполагает, что PHP установлен в c:\php. Измените путь, если это не так.

Для PHP 4:

# Add to the end of the LoadModule section
# Don't forget to copy this file from the sapi directory!
LoadModule php4_module "C:/php/php4apache.dll"

# Add to the end of the AddModule section
AddModule mod_php4.c

Для PHP 5:

# Add to the end of the LoadModule section
LoadModule php5_module "C:/php/php5apache.dll"

# Add to the end of the AddModule section
AddModule mod_php5.c

Для обеих версий:

# Add this line inside the <IfModule mod_mime.c> conditional brace
AddType application/x-httpd-php .php

# For syntax highlighted .phps files, also add
AddType application/x-httpd-php-source .phps

Установка как бинарного CGI файлa

Если PHP распакован в C:\php\ как описано в разделе Manual Installation Steps, необходимо добавить следующие строки в конфигурационный файл Apache:

Пример #2 PHP и Apache 1.3.x как CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# specify the directory where php.ini is
SetEnv PHPRC C:/php
Заметьте, что вторая строка в списке выше уже находится в httpd.conf, но она закомментирована. Кроме того, не забудьте заменить c:/php/ на ваш настоящий путь к PHP.

Внимание

Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.

В случае установки PHP как CGI нет такой удобной опции для подсветки синтаксиса исходников PHP как при установке в виде модуля. Если вы хотите использовать ее, необходимо использовать функцию highlight_file(). Для этого просто создайте PHP скрипт со следующим кодом: <?php highlight_file('some_php_script.php'); ?>.

Microsoft IIS 7.0 и выше
Apache 2.x on Microsoft Windows
Installation on Windows systems


Apache 2.x on Microsoft Windows

Этот раздел содержит инструкции по установке PHP для Apache 2.x на системы Microsoft Windows. Мы также имеем инструкции для пользователей Apache 1.3.x на отдельной странице.

Замечание:

Сначала вам необходимо прочитать пошаговое руководство по установке

Замечание: Поддержка Apache 2.2

Пользователям Apache 2.2 следует отметить, что DLL файл для Apache 2.2 называется php5apache2_2.dll, а не php5apache2.dll и он доступен только для PHP 5.2.0 и более поздних версий. Смотрите также » http://snaps.php.net/

Вам настоятельно рекомендуется ознакомиться с » Документацией по Apache, чтобы получить базовые знания о Apache 2.x Server. Также перед чтением данной справки обратите внимание на » Рекомендации для Windows по Apache 2.x.

Apache 2.x предназначен для работы в серверных версиях Windows, таких как Windows NT 4.0, Windows 2000, Windows XP или Windows 7. Хотя Apache 2.x может использоваться на Windows 9x, эти платформы не поддерживаются полностью, и некоторые функции не будут работать правильно. Исправление этой ситуации не планируется.

Скачайте наиболее актуальную версию » Apache 2.x и подходящую версию PHP. Следуйте Пошаговому руководству по установке и вернитесь для продолжения интеграции PHP и Apache.

Существует три пути установки PHP для Apache на Windows. Вы можете запустить PHP как обработчик, как CGI, или под FastCGI.

Замечание: Помните, что при указании путей в конфигурационных файлах Apache под Windows, все обратные слэши, например, c:\directory\file.ext должны быть изменены на прямые: c:/directory/file.ext. Путям с директориями также может понадобиться слэш в конце.

Установка PHP как обработчика под Apache

Вам необходимо добавить следующие строки в ваш конфигурационный файл Apache httpd.conf для загрузки PHP-модуля для Apache 2.x:

Пример #1 PHP как обработчик Apache 2.x

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# конфигурирование пути к php.ini
PHPIniDir "C:/php"

Замечание: Не забудьте указать актуальный путь к директории PHP вместо C:/php/ в приведенном примере. Позаботьтесь, чтобы в директиве LoadModule использовались либо php5apache2.dll либо php5apache2_2.dll и удостоверьтесь, что указанный файл фактически находится по пути, который вы указали в директиве.

Приведенная выше конфигурация позволит PHP обработать любой файл, который имеет расширение .php, даже если имеются другие расширения. К примеру, файл с именем example.php.txt будет запущен обработчиком PHP. Чтобы гарантировать, что только файлы, которые имеют расширение.php будут запущены, используйте следующую конфигурацию:

<FilesMatch \.php$>
      SetHandler application/x-httpd-php
 </FilesMatch>

Запуск PHP как CGI

Вы должны обратиться к документации » Apache CGI для более полного понимания о запуске CGI под Apache.

Для запуска PHP как CGI, вам необходимо поместить ваши php-cgi файлы в директорию, обозначенную как директория CGI, используя директиву ScriptAlilas.

После этого вам необходимо добавить строку #! в PHP файлы, указывающую на местоположение исполняемого файла PHP.

Пример #2 PHP как CGI под Apache 2.x

#!C:/php/php.exe
<?php
  phpinfo();
?>

Внимание

Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.

Запуск PHP под FastCGI

Запуск PHP под FastCGI имеет ряд преимуществ по сравнению с запуском как CGI. Установка же довольно проста:

Получить mod_fcgid здесь: » http://httpd.apache.org/mod_fcgid/. исполняемые файлы под Win32 доступны для скачивания с этого сайта. Установите модуль в соответствии с прилагаемыми инструкциями.

Настроить свой веб сервер как указано ниже, позаботившись о соответствии всех путей установки на вашей конкретной системе:

Пример #3 Конфигурация Apache для запуска PHP как FastCGI

LoadModule fcgid_module modules/mod_fcgid.so

# Где находится ваш php.ini?
FcgidInitialEnv PHPRC        "c:/php"

AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Файлы с расширением .php в таком случае будут запускаться с помощью оболочки PHP FastCGI.

Apache 1.3.x в Microsoft Windows
Sun, iPlanet and Netscape servers on Microsoft Windows
Installation on Windows systems


Sun, iPlanet and Netscape servers on Microsoft Windows

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Windows.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

CGI setup on Sun, iPlanet and Netscape servers

To install PHP as a CGI handler, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a dummy shellcgi directory and remove it just after (this step creates 5 important lines in obj.conf and allow the web server to handle shellcgi scripts).
  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php).
  • Do it for each web server instance you want PHP to run

More details about setting up PHP as a CGI executable can be found here: » http://benoit.noss.free.fr/php/install-php.html

NSAPI setup on Sun, iPlanet and Netscape servers

To install PHP with NSAPI, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).

  • Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following: You should place the lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

  • Configure the default object in obj.conf (for virtual server classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the <Object name="default"> section, place this line necessarily after all 'ObjectType' and before all 'AddLog' lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  • This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  • Restart your web service and apply changes
  • Do it for each web server instance you want PHP to run

Замечание:

More details about setting up PHP as an NSAPI filter can be found here: » http://benoit.noss.free.fr/php/install-php4.html

Замечание:

The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Замечание:

Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. The problem is, that this function uses some undocumented features from the NSAPI library.

Under Unix this is not a problem, because the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Under Windows limitations in the DLL handling need the use of a automatic detection of the most recent ns-httpdXX.dll file. This is tested for servers till version 6.1. If a newer version of the Sun server is used, the detection fails and nsapi_virtual() is disabled.

If this is the case, try the following: Add the following parameter to php4_init in magnus.conf/obj.conf:

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
where XX is the correct DLL version number. To get it, look in the server-root for the correct DLL name. The DLL with the biggest filesize is the right one.

You can check the status by using the phpinfo() function.

Замечание:

But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Apache 2.x on Microsoft Windows
Sambar Server под Microsoft Windows
Installation on Windows systems


Sambar Server под Microsoft Windows

Этот раздел содержит замечания и указания специфичные для » Sambar Server для Windows.

Замечание:

Пожалуйста, для начала прочитайте руководство по установке!

Этот список описывает установку ISAPI модуля для работы с сервером Sambar под Windows.

  • Найдите файл, который называется mappings.ini (в папке config) в установочной директории Sambar.

  • Откройте mappings.ini и добавьте следующую строку под [ISAPI]:

    Пример #1 Конфигурация ISAPI для Sambar

    #for PHP 4
*.php = c:\php\php4isapi.dll

#for PHP 5
*.php = c:\php\php5isapi.dll
    (Если PHP установлен в c:\php.)

  • Перезапустите Sambar, чтобы изменения вступили в силу.

Замечание:

Если вы хотите использовать PHP для связи с ресурсами на других компьютерах вашей сети, вам необходимо изменить учетную запись, которая используется службой сервера Sambar. По умолчанию это LocalSystem и удаленные ресурсы будут недоступны. Учетная запись может быть отредактирована с помощью опции "Службы" утилиты администрирования из панели управления Windows.

Sun, iPlanet and Netscape servers on Microsoft Windows
Xitami on Microsoft Windows
Installation on Windows systems


Xitami on Microsoft Windows

This section contains notes and hints specific to » Xitami on Windows.

Замечание:

You should read the manual installation steps first!

This list describes how to set up the PHP CGI binary to work with Xitami on Windows.

Замечание: Important for CGI users

Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0. If you want to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo directive.

Внимание

Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.

  • Make sure the web server is running, and point your browser to xitamis admin console (usually http://127.0.0.1/admin), and click on Configuration.

  • Navigate to the Filters, and put the extension which PHP should parse (i.e. .php) into the field File extensions (.xxx).

  • In Filter command or script put the path and name of your PHP CGI executable i.e. C:\php\php.exe for PHP 4, or C:\php\php-cgi.exe for PHP 5.

  • Press the 'Save' icon.

  • Restart the server to reflect changes.

Sambar Server под Microsoft Windows
Building from source
Installation on Windows systems


Building from source

This chapter teaches how to compile PHP from sources on windows, using Microsoft's tools. To compile PHP with cygwin, please refer to Установка на Unix системы.

See the Wiki documentation at: » http://wiki.php.net/internals/windows/stepbystepbuild

Xitami on Microsoft Windows
Установка расширений PHP в ОС Windows
Installation on Windows systems


Установка расширений PHP в ОС Windows

После установки PHP и веб-сервера на ОС Windows может понадобиться установить некоторые расширения для добавления функционала. Вы можете выбрать, какие расширения будут загружаться при старте PHP, модификацией вашего файла php.ini. Также вы можете загружать расширения динамически в ваших скриптах, используя функцию dl().

Библиотеки DLL расширений PHP имеют префикс php_.

Многие расширения встроены в Windows-версию PHP. Это значит, что дополнительные DLL-файлы и директива extension не используются для загрузки данных расширений. Таблица расширений PHP в Windows, содержащая список расширений, требующих (или обычно требующих) дополнительные DLL-файлы. Ниже приведен список встроенных расширений:

В PHP версии 4 (PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML и Zlib

В PHP версии 5 (PHP 5.0.4) произошли следующие изменения. Добавились встроенные расширения: DOM, LibXML, Iconv, SimpleXML, SPL и SQLite. Расширения, более не являющиеся встроенными: MySQL и Overload.

Место по умолчанию, в котором PHP ищет расширения - C:\php4\extensions в PHP 4 и C:\php5 в PHP 5. Для изменения данной настройки согласно вашей установке PHP отредактируйте файл php.ini следующим образом:

  • измените опцию extension_dir так, чтобы она указывала на директорию, в которой расположены расширения или в которую вы поместили файлы php_*.dll. Например:

    extension_dir = C:\php\extensions

  • Включите одно или несколько расширений, которые вы хотите использовать, раскомментировав в файле php.ini строки вида extension=php_*.dll. Это делается удалением символа ";" в начале строки для каждого расширения, которое вы хотите включить.

    Пример #1 Включение расширения Bzip2 в PHP-Windows

    // измените следующую строку с ...
;extension=php_bz2.dll

// ... на
extension=php_bz2.dll

  • Некоторые расширения для своей работы требуют дополнительные библиотеки DLL. Несколько из них находятся в распространяемом дистрибутиве PHP, в директории C:\php\dlls\ для PHP 4 или в корневой директории PHP 5, но некоторые расширения, например, Oracle (php_oci8.dll), требут наличия библиотек DLL, не включаемых в дистрибутив PHP. Если вы установили PHP версии 4, то скопируйте библиотеки DDL, идущие в комплекте с дистрибутивом, из директории C:\php\dlls в корневую директорию PHP - C:\php. Не забудьте включить директорию C:\php в системную переменную PATH (данный процесс описан в отдельном разделе помощи).

  • Некоторые из этих библиотек DLL не поставляются в дистрибутиве PHP. За деталями обратитесь к странице документации конкретного расширения. Также прочтите раздел222 руководства Установка расширений PECL, чтобы узнать дополнительную информацию о PECL. Все большее число расширений PHP можно найти в PECL, и данные расширения требуют отдельной загрузки.

Замечание: Если вы запустили PHP в качестве модуля сервера, не забудьте перезагрузить веб-сервер для применения ваших изменений в файле php.ini.

Следующая таблица описывает некоторые доступные расширения и требуемые дополнительные библиотеки dll.

Расширения PHP
Расширение | Описание | Примечания
php_bz2.dll | Функции сжатия bzip2 | —
php_calendar.dll | Функции преобразования календарей | Встроено в PHP с версии 4.0.3
php_crack.dll | Функции Crack | —
php_ctype.dll | Семейство функций ctype | Встроено в PHP с версии 4.3.0
php_curl.dll | Функции библиотеки CURL | Требует библиотеки libeay32.dll, ssleay32.dll (в комплекте дистрибутива PHP)
php_dba.dll | DBA: функции абстрактного слоя DataBase (dbm-стиль) | —
php_dbase.dll | Функции dBase | —
php_dbx.dll | Функции dbx | —
php_domxml.dll | Функции DOM XML | В PHP версий <= 4.2.0 требуется библиотека libxml2.dll (в комплекте дистрибутива PHP), в PHP версий >= 4.3.0 - iconv.dll (в комплекте дистрибутива PHP)
php_dotnet.dll | Функции .NET | PHP <= 4.1.1
php_exif.dll | Функции EXIF | Требуется библиотека php_mbstring.dll. Библиотека php_exif.dll должна загружаться после php_mbstring.dll в файле php.ini.
php_fbsql.dll | Функции FrontBase | PHP <= 4.2.0
php_fdf.dll | FDF: функции формата данных "Forms Data Format" | Требуется библиотека fdftk.dll (в комплекте дистрибутива PHP)
php_filepro.dll | Функции filePro | Доступ только для чтения
php_ftp.dll | Функции FTP | Встроено в PHP с версии 4.0.3
php_gd.dll | Библиотека функциий обработки изображений GD | Удалено в PHP версии 4.3.2. Примечание: функции truecolor недоступны в GD1, используйте вместо нее библиотеку php_gd2.dll.
php_gd2.dll | Библиотека функциий обработки изображений GD | GD2
php_gettext.dll | Функции Gettext | В PHP версий <= 4.2.0 требуется библиотека gnu_gettext.dll (в комплекте дистрибутива PHP), в PHP версий >= 4.2.3 требуется библиотека libintl-1.dll и iconv.dll (в комплекте дистрибутива PHP).
php_hyperwave.dll | Функции HyperWave | —
php_iconv.dll | Функции конвертации кодировок ICONV | Требуется библиотека iconv-1.3.dll (в комплекте дистрибутива PHP), а для PHP версий >=4.2.1 - iconv.dll
php_ifx.dll | Функции Informix | Требуются библиотеки Informix
php_iisfunc.dll | Функции управления IIS | —
php_imap.dll | Функции IMAP POP3 и NNTP | —
php_ingres.dll | Функции Ingres | Требуются библиотеки Ingres
php_interbase.dll | Функции InterBase | Требуется библиотека gds32.dll (в комплекте дистрибутива PHP)
php_java.dll | Функции Java | В PHP версий <= 4.0.6 требуется библиотека jvm.dll (в комплекте дистрибутива PHP)
php_ldap.dll | Функции LDAP | В PHP версий <= 4.2.0 требуется библиотека libsasl.dll (в комплекте дистрибутива PHP), в PHP версий >= 4.3.0 требуется библиотека libeay32.dll, ssleay32.dll (в комплекте дистрибутива PHP)
php_mbstring.dll | Функции для работы с многобайтовыми (Multi-Byte) строками | —
php_mcrypt.dll | Функции кодирования Mcrypt | Требуется библиотека libmcrypt.dll
php_mhash.dll | Функции Mhash | В PHP версий >= 4.3.0 требуется библиотека libmhash.dll (в комплекте дистрибутива PHP)
php_mime_magic.dll | Функции Mimetype | Требуется файл magic.mime (в комплекте дистрибутива PHP)
php_ming.dll | Функции Ming для Flash | —
php_msql.dll | Функции mSQL | Требуется библиотека msql.dll (в комплекте дистрибутива PHP)
php_mssql.dll | Функции MSSQL | Требуется библиотека ntwdblib.dll (в комплекте дистрибутива PHP)
php_mysql.dll | Функции MySQL | В PHP версий >= 5.0.0 требуется библиотека libmysql.dll (в комплекте дистрибутива PHP)
php_mysqli.dll | Функции MySQLi | В PHP версий >= 5.0.0 требуется библиотека libmysql.dll (libmysqli.dll в PHP версий <= 5.0.2) (в комплекте дистрибутива PHP)
php_oci8.dll | Функции Oracle 8 | Требуются клиентские библиотеки Oracle 8.1+
php_openssl.dll | Функции OpenSSL | Требуется библиотека libeay32.dll (в комплекте дистрибутива PHP)
php_overload.dll | Функции перегрузки объектов | Встроено в PHP с версии 4.3.0
php_pdf.dll | Функции PDF | —
php_pgsql.dll | Функции PostgreSQL | —
php_printer.dll | Функции для работы с принтером | —
php_shmop.dll | Функции для работы с разделяемой памятью | —
php_snmp.dll | Функции для использования протокола SNMP | Только на Windows NT!
php_soap.dll | Функции SOAP | PHP >= 5.0.0
php_sockets.dll | Функции для работы с сокетами | —
php_sybase_ct.dll | Функции Sybase | Требуются клиентские библиотеки Sybase
php_tidy.dll | Функции Tidy | PHP >= 5.0.0
php_tokenizer.dll | Функции Tokenizer | Встроено в PHP с версии 4.3.0
php_w32api.dll | Функции W32api | —
php_xmlrpc.dll | Функции XML-RPC | В PHP версий >= 4.2.1 требуется библиотека iconv.dll (в комплекте дистрибутива PHP)
php_xslt.dll | Функции XSLT | В PHP версий <= 4.2.0 требуются библиотеки sablot.dll и expat.dll (в комплекте дистрибутива PHP). В PHP версий >= 4.2.1 требуются библиотеки sablot.dll, expat.dll, iconv.dll (в комплекте дистрибутива PHP).
php_yaz.dll | Функции YAZ | Требуется библиотека yaz.dll (в комплекте дистрибутива PHP)
php_zip.dll | Функции для работы с файлами Zip | Доступ только для чтения
php_zlib.dll | Функции сжатия ZLib | Встроено в PHP с версии 4.3.0

Building from source
Command Line PHP on Microsoft Windows
Installation on Windows systems


Command Line PHP on Microsoft Windows

This section contains notes and hints specific to getting PHP running from the command line for Windows.

Замечание:

You should read the manual installation steps first!

Getting PHP to run from the command line can be performed without making any changes to Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

But there are some easy steps that can be followed to make this simpler. Some of these steps should already have been taken, but are repeated here to be able to provide a complete step-by-step sequence.

  • Add the location of the PHP executable (php.exe, php-win.exe or php-cli.exe depending upon your PHP version and display preferences) to the PATH environment variable. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry.

  • Add the .PHP extension to the PATHEXT environment variable. This can be done at the same time as amending the PATH environment variable. Follow the same steps as described in the FAQ but amend the PATHEXT environment variable rather than the PATH environment variable.

    Замечание:

    The position in which you place the .PHP will determine which script or program is executed when there are matching filenames. For example, placing .PHP before .BAT will cause your script to run, rather than the batch file, if there is a batch file with the same name.

  • Associate the .PHP extension with a file type. This is done by running the following command:

    assoc .php=phpfile

  • Associate the phpfile file type with the appropriate PHP executable. This is done by running the following command:

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2

Following these steps will allow PHP scripts to be run from any directory without the need to type the PHP executable or the .PHP extension and all parameters will be supplied to the script for processing.

The example below details some of the registry changes that can be made manually.

Пример #1 Registry changes

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

With these changes the same command can be written as:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
or, if your "C:\PHP Scripts" path is in the PATH environment variable:
script -arg1 -arg2 -arg3

Замечание:

There is a small problem if you intend to use this technique and use your PHP scripts as a command line filter, like the example below:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
or
dir | script -arg1 -arg2 -arg3
You may find that the script simply hangs and nothing is output. To get this operational, you need to make another registry change.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Further information regarding this issue can be found in this » Microsoft Knowledgebase Article : 321788.

Установка расширений PHP в ОС Windows
Установка на платформах Cloud Computing
Installation on Windows systems


Установка на платформах Cloud Computing

Содержание

  • Microsoft Azure
  • Amazon EC2

PHP устанавливается на облачных платформах.

Command Line PHP on Microsoft Windows
Microsoft Azure
Установка и настройка


Microsoft Azure

PHP устанавливается на » облачную платформу Azure.

Смотрите также » Azure SDK для PHP.

Установка на платформах Cloud Computing
Amazon EC2
Установка на платформах Cloud Computing


Amazon EC2

PHP устанавливается на » облачную платформу EC2.

Смотрите также » AWS SDK для PHP.

Microsoft Azure
FastCGI Process Manager (FPM)
Установка на платформах Cloud Computing


FastCGI Process Manager (FPM)

Содержание

  • Установка
  • Настройка

FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites.

These features include:

  • advanced process management with graceful stop/start;

  • ability to start workers with different uid/gid/chroot/environment, listening on different ports and using different php.ini (replaces safe_mode);

  • stdout and stderr logging;

  • emergency restart in case of accidental opcode cache destruction;

  • accelerated upload support;

  • "slowlog" - logging scripts (not just their names, but their PHP backtraces too, using ptrace and similar things to read remote process' execute_data) that are executed unusually slow;

  • fastcgi_finish_request() - special function to finish request and flush all data while continuing to do something time-consuming (video converting, stats processing etc.);

  • dynamic/static child spawning;

  • basic SAPI status info (similar to Apache mod_status);

  • php.ini-based config file.

Amazon EC2
Установка
Установка и настройка


Установка

Компиляция из исходников

Для того чтобы включить FPM при сборке PHP добавьте строку --enable-fpm

Существуют также несколько других опций конфигурации FPM (все опциональны):

  • --with-fpm-user - установить пользователя FPM (по умолчанию - nobody).

  • --with-fpm-group - установить FPM группу (по умолчанию - nobody).

FastCGI Process Manager (FPM)
Настройка
FastCGI Process Manager (FPM)


Настройка

FPM использует синтаксис php.ini для своего файла конфигурации php-fpm.conf.

Список глобальных директив php-fpm.conf

pid string

Путь к PID файлу. Значение по умолчанию: none.

error_log string

Путь к файлу журнала ошибок. Значение по умолчанию: #INSTALL_PREFIX#/log/php-fpm.log.

log_level string

Уровень журналирования ошибок. Возможные значения: alert, error, warning, notice, debug. Значение по умолчанию: notice.

emergency_restart_threshold int

При данном числе рабочих процессов, завершенных с SIGSEGV или SIGBUS за промежуток времени, установленный emergency_restart_interval FPM будет перезагружен. Значение 0 означает 'Off' (отключено). Значение по умолчанию: 0 (Off).

emergency_restart_interval mixed

Интервал времени, используемый emergency_restart_interval, чтобы определить, когда FPM будет мягко перезагружен. Это полезно для избежания случайных повреждений общей памяти ускорителя (accelerator). Доступные единицы измерения: s(секунды), m(минуты), h(часы), или d(дни). Единица измерения по умолчанию: секунды. Значение по умолчанию: 0 (Off).

process_control_timeout mixed

Время, в течение которого дочерние процессы ждут ответа на сигналы мастер-процессу. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Единица измерения по умолчанию: секунды. Значение по умолчанию: 0.

daemonize boolean

Запустить FPM в фоновом режиме. Установите значение 'no', чтобы запустить FPM в диспетчере для отладки. Значение по умолчанию: yes.

Список директив для пулов.

Вы можете запускать несколько FPM пулов процессов с различными настройками. Эти параметры могут быть переданы пулу.

listen string

Адрес, который будет принимать FastCGI-запросы. Синтаксис: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Эта опция обязательна для каждого пула.

listen.backlog int

Устанавливает listen(2) backlog. Значение '-1' означает неограничено. Значение по умолчанию: -1.

listen.allowed_clients string

Список IPv4 адресов FastCGI-клиентов, которые имеют право подключения. Эквивалент переменной окружения среды FCGI_WEB_SERVER_ADDRS в оригинальном PHP FastCGI (5.2.2+). Имеет смысл только с TCP-сокетом. Каждый адрес должен быть отделен запятой. Если оставить значение пустым, то соединения будут приниматься с любого IP. Значение по умолчанию: any.

listen.owner string

Задает права для unix socket, если они используются. В Linux, чтобы разрешить соединения web серверу, должны быть установлены права на чтение/запись. Во многих основанных на BSD системах возможность соединения не зависит от прав доступа. Значение по умолчанию: используется пользователь и группа, от имени которого запущен сервер, установлен режим 0666.

listen.group string

См. listen.owner.

listen.mode string

См. listen.owner.

user string

Unix-пользователь FPM-процессов. Этот параметр является обязательным.

group string

Unix-группа FPM-процессов. Если не установлен, группа по умолчанию равняется имени пользователя.

pm string

Выбор того, как менеджер процессов будет контролировать создание дочерних процессов. Возможные значения: static, dynamic. Этот параметр является обязательным.

static - фиксированное число дочерних процессов (pm.max_children).

dynamic - динамически изменяющееся число дочерних процессов, задается на основании следующих директив: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.

pm.max_children int

Число дочерних процессов, которые будут созданы, когда pm установлен в static, или же максимальное число процессов, которые будут созданы, когда pm установлен в dynamic. Этот параметр является обязательным.

Этот параметр устанавливает ограничение на число одновременных запросов, которые будут обслуживаться. Эквивалент директивы ApacheMaxClients с mpm_prefork и переменной окружения среды PHP_FCGI_CHILDREN в в оригинальном PHP FastCGI.

pm.start_servers in

Число дочерних процессов, содаваемых при запуске. Используется, только когда pm установлен в dynamic. Значение по умолчанию: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.

pm.min_spare_servers int

Желаемое минимальное число неактивных процессов сервера. Используется, только когда pm установлено в dynamic. Кроме того, это обязательный параметр в этом случае.

pm.max_spare_servers int

Желаемое максимальное число неактивных процессов сервера. Используется, только когда pm установлен в dynamic. Кроме того, это обязательный параметр в этом случае.

pm.max_requests int

Число запросов дочернего процесса, после которого процесс будет перезапущен. Это полезно для избежания утечек памяти при использовании сторонних библиотек. Для бесконечной обработки запросов укажите '0'. Эквивалент PHP_FCGI_MAX_REQUESTS. Значение по умолчанию: 0.

pm.status_path string

Ссылка, по которой можно посмотреть страницу состояния FPM. Если значение не установлено, то страница статуса отображаться не будет. Значение по умолчанию: none.

ping.path string

Ссылка на ping-страницу мониторинга FPM. Если значение не становлено, ping-страница отображаться не будет. Может быть использовано для тестирования извне, чтобы убедиться, что FPM жив и реагирует. Обратите внимание, что значение должно начинаться с косой черты (/).

ping.response string

Эта директива может быть использована на настройки ответа на ping-запрос. Ответ формируется как text/plain со кодом ответа 200. Значение по умолчанию: pong.

request_terminate_timeout mixed

Таймаут для обслуживания одного запроса, после чего рабочий процесс будет завершен. Этот вариант следует использовать, когда опция 'max_execution_time' в php.ini не останавливает выполнение скрипта по каким-то причинам. Значение '0' означает 'выключено'. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Значение по умолчению: 0.

request_slowlog_timeout mixed

Таймаут для обслуживания одного запроса, после чего PHP backtrace будет сохранен в файл 'showlog'. Значение '0' означает 'выключено'. Доступные единицы измерения: s(секунды), m(минуты), h(часы) или d(дни). Значение по умолчению: 0.

slowlog string

Лог-файл для медленных запросов. Значение по умолчанию: #INSTALL_PREFIX#/log/php-fpm.log.slow.

rlimit_files int

Устанавливает лимит дестрипторов открытых файлов rlimit. Значение по умолчанию: определяется значением системы.

rlimit_core int

Устанавливает максимальное количество используемых ядер rlimit. Возможные значения: 'unlimited' или целое число большее или равное 0. Значение по умолчанию: определяется значением системы.

chroot string

Директория chroot окружения при старте. Это значение должно быть определено как абсолютный путь. Если значение не установлено, chroot не используется.

chdir string

Chdir изменяет текущую директорию при старте. Это значение должно быть определено как абсолютный путь. Значение по умолчанию: текущая директория или / при использовании chroot.

catch_workers_output boolean

Перенаправление STDOUT и STDERR рабочего процесса в главный лог ошибок. Если не установлен, STDOUT и STDERR будут перенаправлены в /dev/null в соответствуии со спецификацией FastCGI. Значение по умолчанию: no.

Можно передать дополнительные переменные окружения и обновить настройки PHP для определенного пула. Для этого вам необходимо добавить следующие параметры в php-fpm.conf

Пример #1 Передача переменных окружения и настроек PHP пулу

env[HOSTNAME] = $HOSTNAME
       env[PATH] = /usr/local/bin:/usr/bin:/bin
       env[TMP] = /tmp
       env[TMPDIR] = /tmp
       env[TEMP] = /tmp

       php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
       php_flag[display_errors] = off
       php_admin_value[error_log] = /var/log/fpm-php.www.log
       php_admin_flag[log_errors] = on
       php_admin_value[memory_limit] = 32M
PHP настройки, переданные через php_value или php_flag перезапишут их предыдущие значения. Пожалуйста, обратите внимание, что определения disable_functions или disable_classes не будут будут перезаписывать ранее определенные в php.ini значения, а добавят новые значения.

Настройки, определенные через php_admin_value и php_admin_flag, не могут быть перезаписаны через ini_set().

Установка
Установка расширений PECL
FastCGI Process Manager (FPM)


Установка расширений PECL

Содержание

  • Введение в установку PECL
  • Загрузка расширений PECL
  • Установка PHP-расширения в Windows
  • Компиляция разделяемых расширений с помощью команды pecl
  • Компиляция разделяемых расширений с помощью phpize
  • php-config
  • Компиляция расширений PECL статически в PHP
Настройка
Введение в установку PECL
Установка и настройка


Введение в установку PECL

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

Эти инструкции подразумевают, что /your/phpsrcdir/ является путем к каталогу с дистрибутивом исходного кода PHP, а extname - это имя расширения PECL, так что вносите соответствующие коррективы. Эти инструкции также подразумевают знакомство с » командой pear. Информация в руководстве PEAR для команды pear также применима для команды pecl.

Для того, чтобы расширение можно было использовать, оно должно быть собрано, установлено и загружено. Описанные ниже методы предоставляют различные рекомендации по поводу того, как собрать и установить расширения, но без применения их автоматической загрузки. Расширения могут быть загружены с помощью директивы extension в файле php.ini, или путем использования функции dl().

В процессе сборки модулей PHP важно иметь нужные версии необходимых утилит (autoconf, automake, libtool и т.д.). Информацию об этих утилитах и их версиях можно посмотреть в разделе "» Инструкции по осуществлению анонимного доступа к SVN".

Установка расширений PECL
Загрузка расширений PECL
Установка расширений PECL


Загрузка расширений PECL

Есть несколько вариантов для загрузки расширений PECL, в том числе:

  • Команда pecl install extname автоматически скачивает код расширений, поэтому в этом случае нет нужды в отдельной скачке этих файлов.
  • » http://pecl.php.net/ Вебсайт PECL содержит информацию о различных расширениях, предоставляемых командой разработчиков PHP. Информация, доступная на этом вебсайте, включает в себя: лог изменений, новости релизов, требования и другие подобные детали.
  • pecl download extname Расширения PECL, имеющих опубликованные релизы на сайте PECL, доступны для скачивания и установки с помощью » команды pecl. Можно также указать отдельные ревизии для установки.
  • SVN Большинство расширений PECL, также, находятся в SVN. Веб-интерфейс для просмотра доступен по адресу » http://svn.php.net/viewvc/pecl/. Для загрузки напрямую из SVN используется следующая последовательность команд:

    $ svn checkout http://svn.php.net/repository/pecl/extname/trunk extname

  • Загрузка для Windows На данный момент проект PHP не компилирует бинарные файлы Windows для расширений PECL. Для компиляции PHP под Windows прочитайте соответствующий раздел.
Введение в установку PECL
Установка PHP-расширения в Windows
Установка расширений PECL


Установка PHP-расширения в Windows

В Windows есть два способа загрузки PHP-расширения: скомпилировать его вместе с PHP или загрузить DLL. Загрузка заранее скомпилированного расширения является наиболее простым и предпочитаемым способом.

Для загрузки расширения, оно должно присутствовать на вашей системе в виде ".dll" файла. Все расширения автоматически и периодически компилируются командой PHP (см. следующий раздел для загрузки).

За инструкциями по компиляции расширения в PHP обратитесь к разделу "Сборка из исходников".

Для компиляции отдельного расширения (или DLL-файла), обратитесь к разделу " Сборка из исходников". Если DLL-файла нет ни в стандартной поставке PHP ни в PECL, возможно, вам придется скомпилировать его вручную.

Где найти расширение?

PHP-расширения обычно имеют имена вида "php_*.dll" (где звездочка обозначает имя расширения) и располагаются в папке "PHP\ext" ("PHP\extensions" в PHP 4).

PHP поставляет расширения наиболее полезные большинству разработчиков. Такие расширения называются "основными" ("core").

Однако, если вам требуется функционал, который не предоставляется ни одним из основных расширений, возможно, нужное вам расширение есть в PECL. Библиотека расширений сообщества PHP (The PHP Extension Community Library, PECL) является хранилищем расширений PHP, предоставляя каталог и хостинг всех известных расширений для скачки и дальнейшей разработки расширений в PHP.

Если вы разработали какое-либо расширение для собственных нужд, возможно, вы захотите хранить его в PECL, так, чтобы другие также могли воспользоваться результатами вашего труда. Хорошим побочным эффектом будет неплохой шанс получить обратную связь, благодарности (надеемся, что так и будет), сообщения об ошибках и даже исправления/патчи. Пожалуйста, прочтите http://pecl.php.net/package-new.php перед отправкой вашего расширения в PECL.

Какое расширение нужно загрузить?

Очень часто существует несколько версий расширения DLL:

  • Различные номера версий (по крайней мере первые два числа должны совпадать)
  • Различные настройки потокобезопасности
  • Различная архитектура процессора (x86, x64, ...)
  • Различные настройки отладки
  • и т.д.

Помните, что настройки ваших расширений должны совпадать со всеми настройками используемого вами бинарного файла PHP. Следующий PHP-скрипт выведет вам все все настройки PHP:

Пример #1 Вызов phpinfo()

<?php
phpinfo();
?>

Или запустите из командной строки:

drive:\\path\to\php\executable\php.exe -i

Загрузка расширения

Наиболее распространенным способом загрузки PHP-расширения является его включение в конфигурационном файле php.ini. Обратите внимание, что большинство расширений уже прописаны в вашем php.ini и для их активации вам просто нужно удалить точку с запятой.

;extension=php_extname.dll

extension=php_extname.dll

Однако, некоторые веб-серверы создают путаницу, т.к. они не используют php.ini, расположенный в дистрибутиве PHP, а используют свой собственный. Узнать, где находится используемый сервером php.ini, можно посмотрев на выводимый путь в phpinfo():

Configuration File (php.ini) Path  C:\WINDOWS

Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini

После активации расширения сохраните php.ini, перезагрузите веб-сервер и снова проверьте phpinfo(), в нем должен появиться отдельный раздел с новым расширением.

Решение проблем

Если расширение не появилось в выводе phpinfo(), проверьте лог-файлы на наличие сообщений об ошибках.

Если вы используете PHP в командной строке (CLI), ошибки загрузки расширения будут доступны сразу же на экране.

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

Частой проблемой является расположение DLL-файлов, значение " extension_dir" в php.ini, а также несовпадение настроек компиляции.

Если проблемой является несовпадение настроек компиляции, то возможно, вы скачали не тот DLL-файл. Попробуйте снова скачать расширение, на этот раз с правильными настройками. Еще раз, информация функции phpinfo() сильно помогает в этом случае.

Загрузка расширений PECL
Компиляция разделяемых расширений с помощью команды pecl
Установка расширений PECL


Компиляция разделяемых расширений с помощью команды pecl

PECL позволяет легко создавать разделяемые расширения PHP. Используя » команду pecl, выполните следующее:

$ pecl install extname

Эта команда загрузит исходный код для расширения extname, скомпилирует и установит extname.so в вашу директорию extension_dir. Файл extname.so может быть затем загружен в php.ini

По умолчанию, команда pecl не будет устанавливать пакеты, отмеченные состоянием alpha или beta. Если нет доступных стабильных (stable) версий пакетов, вы можете установить beta-версию пакета, используя следующую команду:

$ pecl install extname-beta

Также, вы можете установить определенную версию используя такой вариант:

$ pecl install extname-0.1

Замечание:

После подключения расширения в php.ini необходимо перезапустить веб-сервер для того, чтобы изменения вступили в силу.

Установка PHP-расширения в Windows
Компиляция разделяемых расширений с помощью phpize
Установка расширений PECL


Компиляция разделяемых расширений с помощью phpize

Иногда использование инсталятора pecl не подходит. Это может быть связано с тем, что вы находитесь за файерволом или из-за того, что расширение, которое вы хотите установить, недоступно в PECL-совместимом пакете (к примеру, расширения из SVN, у которых еще нет релизов). Если вам необходимо собрать такое расширение, вы можете использовать низкоуровневые утилиты для выполнения сборки вручную.

Команда phpize используется для подготовки окружения PHP-расширения. В следующем примере директория, где находятся исходные коды расширения, называется extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

В случае успешной установки будет создан файл extname.so и помещен в PHP директорию расширений. Вам будет необходимо добавить строку extension=extname.so в php.ini перед использованием этого расширения.

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

Для дополнительной информации используйте команду phpize --help.

Компиляция разделяемых расширений с помощью команды pecl
php-config
Установка расширений PECL


php-config

php-config - это простой шелл-скрипт для получения информации о конфигурации установленного PHP.

При компиляции расширений, если у вас установлено сразу несколько версий PHP, вы должны уточнить нужную версию с помощью опции --with-php-config во время конфигурирования сборки, указав путь до соответствующего php-config скрипта.

Список параметров командной строки доступных для php-config скрипта всегда можно получить запустив php-config с параметром -h :

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [...]
  --includes          [...]
  --ldflags           [...]
  --libs              [...]
  --extension-dir     [...]
  --include-dir       [...]
  --php-binary        [...]
  --php-sapis         [...]
  --configure-options [...]
  --version           [...]
  --vernum            [...]

Опции скрипта
Опция | Описание
--prefix | Директория, в которой установлен PHP, например /usr/local
--includes | Список -I опций со всеми подключаемыми файлами
--ldflags | LD-флаги, с которыми был скомпилирован PHP
--libs | Внешние библиотеки, с которыми был скомпилирован PHP
--extension-dir | Директория, в которой по умолчанию ищутся расширения
--include-dir | Директория, куда по умолчанию устанавливаются заголовочные файлы
--php-binary | Полный путь до исполняемых файлов php CLI или CGI
--php-sapis | Показывает все доступные модули SAPI
--configure-options | Конфигурационные опции для воссоздания настроек текущей установки PHP.
--version | Версия PHP
--vernum | Версия PHP в виде целого числа

Компиляция разделяемых расширений с помощью phpize
Компиляция расширений PECL статически в PHP
Установка расширений PECL


Компиляция расширений PECL статически в PHP

Возможно, вы захотите собрать расширение PECL статично в ваш бинарный файл PHP. Для этого необходимо поместить код расширения в директорию php-src/ext/ и вызвать перегенерацию конфигурационных скриптов через систему сборки PHP.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

В результате будет создана следующая директория:

/your/phpsrcdir/ext/extname

После этого, выполните заново сборку конфигурационного скрипта PHP и затем соберите PHP как обычно:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Замечание: Для запуска 'buildconf' скрипта вам понадобится autoconf версии 2.13 и automake версии 1.4+ (более новые версии autoconf могут работать, но это не поддерживается).

В зависимости от расширения будет использоваться одна из двух опций --enable-extname или --with-extname . Обычно, если расширение не требует подключения внешних библиотек, используется --enable. Чтобы узнать это, выполните следующую команду после buildconf:

$ ./configure --help | grep extname

php-config
Проблемы?
Установка расширений PECL


Проблемы?

Содержание

  • Читайте FAQ
  • Другие проблемы
  • Bug reports
Компиляция расширений PECL статически в PHP
Читайте FAQ
Установка и настройка


Читайте FAQ

Некоторые проблемы возникают чаще других. Наиболее часто встречающиеся из них перечислены в разделе PHP FAQ этого руководства.

Проблемы?
Другие проблемы
Проблемы?


Другие проблемы

Если вы все еще не можете установить PHP, список рассылки, возможно, сможет помочь вам. Не забудьте сначала просмотреть архив, возможно кто-либо уже имел схожую с вашей проблему и успешно её решил. Архив рассылки доступен на странице поддержки: » http://www.php.net/support.php Для подписки на список рассылки об инсталяции PHP пришлите пустое сообщение на » php-install-subscribe@lists.php.net. Адрес списка рассылки: » php-install@lists.php.net.

Если вы хотите получить помощь из списка рассылки, пожалуйста, постарайтесь точно описать детали вашего окружения (такие как операционная система, версия PHP, используемый веб-сервер, используете ли вы PHP как CGI или модулем, безопасный режим, и т.д.), а так же достаточное количество кода, чтобы другие смогли воспроизвести вашу проблему и попробовать решить ее.

Читайте FAQ
Bug reports
Проблемы?


Bug reports

Если вы думаете, что нашли ошибку в PHP, пожалуйста сообщите об этом. Возможно, разработчики PHP не знают об этой ошибке и пока вы не сообщите о ней, мало шансов что она будет исправлена. Вы можете сообщить об ошибке, используя систему отслеживания ошибок по адресу: » http://bugs.php.net/. Пожалуйста, не шлите сообщения об ошибках в список рассылки или на личные адреса разработчиков. Система отслеживания ошибок также пригодна для для запроса нововведений.

Прочитайте: » Как сообщать об ошибках перед тем как сообщать о них.

Другие проблемы
Конфигурация запуска
Проблемы?


Конфигурация запуска

Содержание

  • Файл конфигурации
  • .user.ini files
  • Где могут быть установлены параметры конфигурации
  • Как изменить настройки конфигурации
Bug reports
Файл конфигурации
Установка и настройка


Файл конфигурации

Файл конфигурации (php.ini) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб сервера. Для CGI и CLI версиий это происходит при каждом вызове.

Поиск php.ini производится в следующих местах (по порядку поиска):

  • По месту расположения модуля SAPI (PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI, php_ini параметр в NSAPI, PHP_INI_PATH переменная среды в THTTPD)
  • Переменная среды PHPRC. До PHP 5.2.0 поиск по переменной производился после поиска в реестре, указанном ниже.
  • Как и в PHP 5.2.0, местоположение файла php.ini может быть указано для различных версий PHP. Следующие ключи реестра исследуются при поиске: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], где x, y и z подразумевают major, minor и release версии PHP. Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение php.ini будет определено первым ключом по порядку. (только для Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], значение IniFilePath (только для Windows).
  • Текущая директория (исключая CLI).
  • Директория веб сервера (для SAPI модулей), или директория PHP (иначе в директории Windows).
  • В директории Windows (C:\windows или C:\winnt) (для Windows), или --with-config-file-path с выбором при компиляции.

Если файл php-SAPI.ini существует (где SAPI - это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini), то он используется вместо php.ini. Тип интерфейса между веб-сервером и PHP может быть определен с помощью функции php_sapi_name().

Замечание:

Веб сервер Apache изменяет текущую директорию на корневую при запуске, в результате чего PHP считывает php.ini из корневой файловой системы, если файл существует.

Директивы php.ini обрабатываемые расширениями документированы на соответствующих страницах расширений. Список директив ядра имеется в приложении. Не все директивы PHP документированы в этом руководстве: для ознакомления с полным списком директив доступных в вашей версии PHP, пожалуйста, прочитайте комментарии вашего php.ini файла. Кроме того, вы можете найти полезной » последнюю версию php.ini из SVN.

Пример #1 Пример php.ini

; любой текст в строке после точки с запятой (;) без кавычек игнорируется
[php] ; маркеры разделов (текст в квадратных скобках) также игнорируется
; Могут быть установлены следующие логические значения:
;    true, on, yes
; или false, off, no, none
register_globals = off
track_errors = yes

; вы можете заключать строки в двойные кавычки
include_path = ".:/usr/local/lib/php"

; обратный слэш обрабатывается так же, как любые другие символы
include_path = ".;c:\php\lib"

С версии PHP 5.1.0 стало возможным обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = ${open_basedir} ":/new/dir".

Конфигурация запуска
.user.ini files
Конфигурация запуска


.user.ini files

С версии PHP 5.3.0 включена поддержка INI-файлов в стиле .htaccess на уровне каталога. Эти файлы обрабатываются только CGI/FastCGI SAPI. Эта функция исключает расширение PECL htscanner. Если у вас Apache, пользуйтесь .htaccess файлами для достижения того же эффекта.

В дополнение к основному файлуphp.ini , PHP ищет INI-файлы в каждой директории, начиная с директории запрошенного PHP-файла и продолжает поиск до корневой директории (установленной в $_SERVER['DOCUMENT_ROOT']). Если PHP-файл находится вне корневой директории, то сканируется только его директория.

Только INI-настройки с режимами PHP_INI_PERDIR и PHP_INI_USER будут распознаны в INI-файлах в стиле .user.ini.

Две новых INI-директивы, user_ini.filename и user_ini.cache_ttl контролируют использование пользовательских INI-файлов.

user_ini.filename устанавливает имя файла, по которому PHP производит поиск в каждой директории; если установлена пустая строка, то PHP поиск не производит. По умолчанию .user.ini.

user_ini.cache_ttl устанавливает насколько часто пользовательские INI-файлы будут обновляться. По умолчанию период обновления составляет 300 секунд (5 минут).

Файл конфигурации
Где могут быть установлены параметры конфигурации
Конфигурация запуска


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

Эти режимы определяют, когда и где директива PHP может или не может быть установлена, и каждая директива в руководстве относится к одному из этих режимов. К примеру, некоторые настройки могут быть установлены с помощью PHP-скрипта, использующего ini_set(), тогда как другие могут требовать php.ini или httpd.conf.

К примеру, директива output_buffering соответствует PHP_INI_PERDIR, поэтому она не может быть установлена через ini_set(). Тем не менее, директива display_errors соответствует PHP_INI_ALL, поэтому она может быть установлена отовсюду, включая ini_set().

Определение режимов PHP_INI_*
Режим | Значение | Смысл
PHP_INI_USER | 1 | Значение может быть установлено в пользовательских скриптах (с помощью ini_set()) или в реестре Windows
PHP_INI_PERDIR | 6 | Значение может быть установлено в php.ini, .htaccess или httpd.conf
PHP_INI_SYSTEM | 4 | Значение может быть установлено в php.ini или httpd.conf
PHP_INI_ALL | 7 | Значение может быть установлено отовсюду

.user.ini files
Как изменить настройки конфигурации
Конфигурация запуска


Как изменить настройки конфигурации

Запуск PHP как модуля Apache

Когда PHP используется как модуль Apache вы также можете менять настройки конфигурации, используя директивы в файлах конфигурации Apache (например, httpd.conf) и файлах .htaccess. Для этого вам необходимы "AllowOverride Options" или "AllowOverride All" привилегии.

Есть несколько директив Apache, которые позволяют вам изменить конфигурацию PHP посредством файлов конфигурации Apache. Директивы для PHP_INI_ALL, PHP_INI_PERDIR, и PHP_INI_SYSTEM, вы можете увидеть в приложении Список директив php.ini

php_value name value

Устанавливает значение обозначенной директивы. Может использоваться только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR Для очистки предыдущих установленных значений используйте значение none.

Замечание: Не используйте php_value для установки логических значений. Вместо этого необходимо использоватьphp_flag (см. ниже).

php_flag name on|off

Используется для установки директивам логических значений. Может быть использовано только с директивами типа PHP_INI_ALL и PHP_INI_PERDIR.

php_admin_value name value

Устанавливает значение обозначенной директивы. Не может быть использовано в файлах .htaccess. Директивы любого типа, установленные с помощью php_admin_value не могут быть переопределены через .htaccess или ini_set(). Чтобы очистить предыдущее значение используйте значение none.

php_admin_flag name on|off

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

Пример #1 Пример конфигурации Apache

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Предостережение

PHP константы не доступны вне PHP. К примеру, в httpd.conf вы не можете использовать константы PHP такие как E_ALL или E_NOTICE чтобы установить директиву error_reporting, так как они не будут иметь значения и будут приравниваться к 0. Используйте вместо этого соответствующие значения типа bitmask (битовая маска). Эти константы могут быть использованы в php.ini

Изменение конфигурации PHP через реестр Windows

При использовании PHP в Windows значения конфигурации могут быть изменены на уровне директории посредством реестра Windows. Значения конфигурации хранятся в ключе реестра HKLM\SOFTWARE\PHP\Per Directory Values, в под-ключах, включающих полный путь. К примеру, значения конфигурации для директории c:\inetpub\wwwroot могут храниться в ключе HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. Настройки для директории будут действительны для любых скриптов запущенных из этой директории или её поддиректории. Значения ключа должны иметь название конфигурационной директивы PHP и строковое значение. PHP константы в значениях игнорируются. Однако, только значения конфигурации изменяемые в PHP_INI_USER могут быть установлены таким образом, значения же PHP_INI_PERDIR не могут.

Другие интерфейсы в PHP

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

Если вам интересен полный список конфигурационных настроек вашей системы с текущими значениями, то вы можете запустить phpinfo() функцию, и получить результирующую страницу. Вы также можете получить доступ к значениям индивидуально сконфигурированных директив в процессе выполнения, используя ini_get() или get_cfg_var().

Где могут быть установлены параметры конфигурации
Справочник языка
Конфигурация запуска


Справочник языка

  • Основы синтаксиса
    • Вставка в HTML
    • Разделение инструкций
    • Комментарии
  • Типы
    • Введение
    • Булев
    • Целые числа
    • Числа с плавающей точкой
    • Строки
    • Массивы
    • Объекты
    • Ресурс
    • NULL
    • Псевдо-типы и переменные, используемые в этой документации
    • Манипуляции с типами
  • Переменные
    • Основы
    • Предопределенные переменные
    • Область видимости переменной
    • Переменные переменных
    • Переменные извне PHP
  • Константы
    • Синтаксис
    • "Волшебные" константы
  • Выражения
  • Операторы
    • Приоритет оператора
    • Арифметические операторы
    • Оператор присваивания
    • Побитовые операторы
    • Операторы сравнения
    • Оператор управления ошибками
    • Операторы исполнения
    • Операторы инкремента и декремента
    • Логические операторы
    • Строковые операторы
    • Операторы, работающие с массивами
    • Оператор проверки типа
  • Управляющие конструкции
    • Введение
    • if
    • else
    • elseif/else if
    • Альтернативный синтаксис управляющих структур
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Функции
    • Функции, определяемые пользователем
    • Аргументы функции
    • Возврат значений
    • Обращение к функциям через переменные
    • Встроенные функции
    • Анонимные функции
  • Классы и объекты
    • Введение
    • Основы
    • Свойства
    • Константы классов
    • Автоматическая загрузка классов
    • Конструкторы и деструкторы
    • Область видимости
    • Наследование
    • Оператор разрешения области видимости (::)
    • Ключевое слово "static"
    • Абстрактные классы
    • Интерфейсы объектов
    • Трейты
    • Перегрузка
    • Итераторы объектов
    • Шаблоны проектирования
    • Магические методы
    • Ключевое слово "final"
    • Клонирование объектов
    • Сравнение объектов
    • Контроль типа
    • Позднее статическое связывание
    • Объекты и ссылки
    • Сериализация объектов
    • Журнал изменений ООП
  • Namespaces
    • Namespaces overview
    • Defining namespaces
    • Declaring sub-namespaces
    • Defining multiple namespaces in the same file
    • Using namespaces: Basics
    • Namespaces and dynamic language features
    • namespace keyword and __NAMESPACE__ constant
    • Using namespaces: Aliasing/Importing
    • Global space
    • Using namespaces: fallback to global function/constant
    • Name resolution rules
    • FAQ: things you need to know about namespaces
  • Исключения
    • Наследование исключений
  • Ссылки. Разъяснения
    • Что такое ссылки
    • Что делают ссылки
    • Чем ссылки не являются
    • Передача по ссылке
    • Возвращение по ссылке
    • Сброс переменных-ссылок
    • Неявное использование механизма ссылок
  • Предопределённые переменные
    • Суперглобальные переменные — Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости
    • $GLOBALS — Ссылки на все переменные глобальной области видимости
    • $_SERVER — Информация о сервере и среде исполнения
    • $_GET — GET-переменные HTTP
    • $_POST — HTTP POST variables
    • $_FILES — Переменные файлов, загруженных по HTTP
    • $_REQUEST — Переменные HTTP-запроса
    • $_SESSION — Переменные сессии
    • $_ENV — Переменные окружения
    • $_COOKIE — HTTP Куки
    • $php_errormsg — Предыдущее сообщение об ошибке
    • $HTTP_RAW_POST_DATA — Необработанные POST-данные
    • $http_response_header — Заголовки ответов HTTP
    • $argc — Количество аргументов переданных скрипту
    • $argv — Массив переданных скрипту аргументов
  • Предопределённые исключения
    • Exception
    • ErrorException
  • Встроенные интерфейсы
    • Traversable — Интерфейс Traversable
    • Iterator — Интерфейс Iterator
    • IteratorAggregate — Интерфейс IteratorAggregate
    • ArrayAccess — Интерфейс ArrayAccess
    • Serializable — Интерфейс Serializable
    • Closure — Класс Closure
  • Контекстные опции и параметры
    • Контекстные опции сокета — Список контекстных опций сокета
    • Опции контекста HTTP — Cписок опций контекста HTTP
    • Параметры контекста FTP — Список параметров контекста FTP
    • Опции контекста SSL — Список опций контекста SSL
    • Опции контекста CURL — Список опций контекста CURL
    • Контекстные опции Phar — Список контекстных опций Phar
    • Параметры контекста — Список параметров контекста
  • Поддерживаемые протоколы и обработчики (wrappers)
    • file:// — Доступ к локальной файловой системе
    • http:// — Доступ к URL-адресам по протоколу HTTP(s)
    • ftp:// — Доступ к URL-адресам по протоколу FTP(s)
    • php:// — Доступ к различным потокам ввода-вывода
    • zlib:// — Сжатые потоки
    • data:// — Схема Data (RFC 2397)
    • glob:// — Нахождение путей, соответствующих шаблону
    • phar:// — PHP архив
    • ssh2:// — Secure Shell 2
    • rar:// — RAR
    • ogg:// — Аудио потоки
    • expect:// — Потоки для взаимодействия с процессами
Как изменить настройки конфигурации
Основы синтаксиса
Руководство по PHP


Основы синтаксиса

Содержание

  • Вставка в HTML
  • Разделение инструкций
  • Комментарии
Справочник языка
Вставка в HTML
Справочник языка


Вставка в HTML

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

<p>Это будет проигнорировано.</p>
<?php echo 'А это будет обработано.'; ?>
<p>Это тоже будет проигнорировано.</p>

Можно использовать и более продвинутые структуры:

Пример #1 Продвинутое внедрение

<?php
if ($expression) {
    ?>
    <strong>Это истина.</strong>
    <?php
} else {
    ?>
    <strong>Это ложь.</strong>
    <?php
}
?>
Это работает так, как и ожидается, потому что когда PHP встречает закрывающие теги ?>, он просто начинает выводить все, что встретит (за исключением перевода строки, стоящим сразу после закрывающего тега - смотрите разделение инструкций), пока не встретит следующий открывающий тег. Вышеуказанный пример, разумеется, надуман, но при больших объемах текста выход из режима PHP обычно более эффективен, чем посылка всего текста через echo() или print().

Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два <?php ?> и <script language="php"> </script>) всегда доступны. Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются.

Замечание:

Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML стандартам, ам следует использовать форму <?php ?>.

Пример #2 Открывающие и закрывающие теги PHP

1.  <?php echo 'если вы хотите работать с документами XHTML или XML, делайте так'; ?>

2.  <script language="php">
        echo 'некоторые редакторы (например, FrontPage) не
              любят инструкции обработки';
    </script>

3.  <? echo 'это простейшая инструкция обработки SGML'; ?>
    <?= выражение ?> Это синоним для "<? echo выражение ?>"

4.  <% echo 'Вы можете по выбору использовать теги в стиле ASP'; %>
    <%= $variable; # Это синоним для "<% echo . . ." %>

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

Короткие теги (третий пример) доступны только когда они включены с помощью директивы short_open_tag в конфигурационном файле php.ini, либо если PHP был скомпилирован с опцией --enable-short-tags .

Теги в стиле ASP (четвертый пример) доступны только когда они были с помощью директивы asp_tags в конфигурационном файле php.ini.

Замечание:

Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.

Замечание:

В PHP 5.2 и более ранних версиях парсер не позволял файлам содержать только один открытый тег <?php. Это было разрешено, начиная с версии PHP 5.3.

Замечание:

Начиная с версии PHP 5.4, короткий тег вывода <?= распознается всегда, вне зависимости от значения директивы short_open_tag.

Основы синтаксиса
Разделение инструкций
Основы синтаксиса


Разделение инструкций

Как в C или Perl, PHP требует окончания инструкций точкой запятой в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой; т.е. нет необходимости ставить точку с запятой в конце последней строки блока с PHP-кодом. Закрывающий тег блока "поглотит" немедленно следующий за ним переход на новую строку, если таковой будет обнаружен.

<?php
    echo 'Это тест';
?>

<?php echo 'Это тест' ?>

<?php echo 'Мы опустили последний закрывающий тег';

Замечание:

Закрывающий тег PHP-блока в конце файла не является обязательным, и в некоторых случаях его опускание довольно полезно, например, при использовании include() или require(), так, что нежелательные пробелы не останутся в конце файла и вы все еще сможете добавить http-заголовки после подключения к ответу сервера. Это также удобно при использовании буферизации вывода, где также нежелательно иметь пробелы в конце частей ответа, сгенерированного подключаемыми файлами.

Вставка в HTML
Комментарии
Основы синтаксиса


Комментарии

PHP поддерживает комметарии в стиле 'C', 'C++' и оболочки Unix (стиль Perl). Например:

<?php
    echo "Это тест"; // Это однострочный комментарий в стиле c++
    /* Это многострочный комментарий
       еще одна строка комментария */
    echo "Это еще один тест";
    echo "Последний тест"; # Это комментарий в стиле оболочки Unix
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ... ?> или # ... ?> БУДЕТ напечатан: ?> завершает режим PHP и возвращает режим HTML, а // или # не могут повлиять на это. Если включена директива asp_tags, то аналогичное поведение будет и с // %> и # %>. Однако, тег </script> не завершает режим PHP в однострочном комментарии.

<h1>Это <?php # echo "простой";?> пример</h1>
<p>Заголовок вверху выведет 'Это пример'.</p>

'C'-комментарии заканчиваются при первой же обнаруженной последовательности */. Убедитесь, что вы не вкладываете друг в друга 'C'-комментарии. Очень легко допустить эту ошибку при комментировании большого блока кода. .

<?php
 /*
    echo "Это тест"; /* Этот комментарий вызовет проблему */
 */
?>

Разделение инструкций
Типы
Основы синтаксиса


Типы

Содержание

  • Введение
  • Булев
  • Целые числа
  • Числа с плавающей точкой
  • Строки
  • Массивы
  • Объекты
  • Ресурс
  • NULL
  • Псевдо-типы и переменные, используемые в этой документации
  • Манипуляции с типами
Комментарии
Введение
Справочник языка


Введение

PHP поддерживает восемь простых типов.

Четыре скалярных типа:

  • boolean
  • integer
  • float (число с плавающей точкой, также известное как double)
  • string

Два смешанных типа:

  • array
  • object

И, наконец, два специальных типа:

  • resource
  • NULL

Для удобства понимания в этом руководстве используется также несколько псевдотипов:

  • mixed
  • number
  • callback

И псевдопеременная $....

Вы также можете найти несколько упоминаний типа двойной точности (double). Рассматривайте его как число с плавающей точкой, два имени существуют только по историческим причинам.

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

Замечание: Если вы желаете проверить тип и значение определённого выражения, используйте var_dump().

Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype(). Чтобы проверить на определенный тип, не используйте gettype(), применяйте для этого is_type функции. Вот несколько примеров:

<?php
$a_bool = TRUE;   // логический
$a_str  = "foo";  // строковый
$a_str2 = 'foo';  // строковый
$an_int = 12;     // целочисленный

echo gettype($a_bool); // выводит: boolean
echo gettype($a_str);  // выводит: string

// Если это целое, увеличить на четыре
if (is_int($an_int)) {
    $an_int += 4;
}

// Если $a_bool - это строка, вывести ее
// (ничего не выводит)
if (is_string($a_bool)) {
    echo "Строка: $a_bool";
}
?>

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

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

Типы
Булев
Типы


Булев

Это простейший тип. boolean выражает истинность значения. Он может быть либо TRUE либо FALSE.

Замечание: Тип boolean был введен в PHP 4.

Синтаксис

Для указания boolean, используйте ключевое слово TRUE или FALSE. Оба регистро-независимы.

<?php
$foo = True; // присвоить $foo значение TRUE
?>

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

<?php
// == это оператор, который проверяет
// эквивалентность и возвращает boolean
if ($action == "show_version") {
    echo "The version is 1.23";
}

// это необязательно...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ... потому что следующее имеет тот же самый смысл:
if ($show_separators) {
    echo "<hr>\n";
}
?>

Преобразование в булев тип

Для явного преобразования в boolean, используйте (bool) или (boolean). Однако, в большинстве случаев приведение типа необязательно, так как значение будет автоматически преобразовано, если оператор, функция или управляющая конструкция требует boolean аргумент.

Смотрите также Манипуляции с типами.

При преобразовании в boolean, следующие значения рассматриваются как FALSE:

  • само значение boolean FALSE
  • integer 0 (ноль)
  • float 0.0 (ноль)
  • пустая строка, и строка "0"
  • массив без элементов
  • объект без полей (только для PHP 4)
  • особый тип NULL (включая неустановленные переменные)
  • Объекты SimpleXML, созданные из пустых тегов

Все остальные значения рассматриваются как TRUE (включая любой resource).

Внимание

-1 рассматривается как TRUE, как и любое другое ненулевое (отрицательное или положительное) число!

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
Введение
Целые числа
Типы


Целые числа

Integer - это число из множества ℤ = {..., -2, -1, 0, 1, 2, ...}.

Смотрите также:

  • Целые числа произвольной длины / GMP
  • Числа с плавающей точкой
  • Числа произвольной точности / BCMath

Синтаксис

Целые числа могут быть указаны в десятичной (основание 10), шестнадцатеричной (основание 16), восьмеричной (основание 8) или двоичной (основание 2) системе счисления, с необязательным предшествующим знаком (- или +).

Двоичная запись integer доступна начиная с PHP 5.4.0.

Для записи в восьмеричной системе счисления, необходимо поставить пред числом 0 (ноль). Для записи в шестнадцатеричной системе счисления, необходимо поставить перед числом 0x. Для записи в двоичной системе счисления, необходимо поставить перед числом 0b

Пример #1 Целые числа

<?php
$a = 1234; // десятичное число
$a = -123; // отрицательное число
$a = 0123; // восьмеричное число (эквивалентно 83 в десятичной системе)
$a = 0x1A; // шестнадцатеричное число (эквивалентно 26 в десятичной системе)
?>

Формально, структуру целых чисел можно записать так:

десятичные        : [1-9][0-9]*
                  | 0

шестнадцатеричные : 0[xX][0-9a-fA-F]+

восьмеричные      : 0[0-7]+

двоичные          : 0b[01]+

целые             : [+-]?десятичные
                  | [+-]?шестнадцатеричные
                  | [+-]?восьмеричные
                  | [+-]?двоичные

Размер integer зависит от платформы, хотя, как правило, максимальное значение примерно равно 2 миллиардам (это 32-битное знаковое). 64-битные платформы обычно имеют максимальное значение около 9E18. PHP не поддерживает беззнаковые целые. С версии PHP 4.4.0 и PHP 5.0.5 размер integer может быть определен с помощью константы PHP_INT_SIZE, а его максимальное значение - с помощью константы PHP_INT_MAX.

Внимание

Если в восьмеричном integer будет обнаружена неверная цифра (например, 8 или 9), оставшаяся часть числа будет проигнорирована.

Пример #2 Странности с восьмеричными числами

<?php
var_dump(01090); // 010 octal = 8 decimal
?>

Переполнение целых чисел

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

Пример #3 Переполнение целых на 32-битных системах

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Пример #4 Переполнение целых на 64-битных системах

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

В PHP не существует оператора деления целых чисел. Результатом 1/2 будет float 0.5. Если привести значение к integer, оно будет округлено вниз. Для большего контроля над округлением используйте функцию round().

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Преобразование в целое

Для явного преобразования в integer, используйте приведение (int) или (integer). Однако, в большинстве случаев, в приведении типа нет необходимости, так как значение будет автоматически преобразовано, если оператор, функция или управляющая структура требует аргумент типа integer. Значение также может быть преобразовано в integer с помощью функции intval().

Смотрите также: Манипуляции с типами.

Из булевого типа

FALSE преобразуется в 0 (ноль), а TRUE - в 1 (единицу).

Из чисел с плавающей точкой

При преобразовании из float в integer, число будет округлено в сторону нуля.

Если число с плавающей точкой превышает размеры integer (обычно +/- 2.15e+9 = 2^31 на 32-битных системах и +/- 9.22e+18 = 2^63 на 64-битных системах), результат будет неопределенным, так как float не имеет достаточной точности, чтобы вернуть верный результат. В этом случае не будет выведено ни предупреждения, ни даже замечания!

Внимание

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

<?php
echo (int) ( (0.1+0.7) * 10 ); // выводит 7!
?>

Смотрите более подробно: предупреждение о точности чисел с плавающей точкой.

Из строк

Смотрите Преобразование строк в числа

Из других типов

Предостережение

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

Булев
Числа с плавающей точкой
Типы


Числа с плавающей точкой

Числа с плавающей точкой (также известные как "float", "double", или "real") могут быть определены следующими синтаксисами:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

Формально:

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

Размер числа с плавающей точкой зависит от платформы, хотя максимум, как правило составляет ~1.8e308 с точностью около 14 десятичных цифр (64-битный IEEE формат).

Внимание

Точность чисел с плавающей точкой

Числа с плавающей точкой имеют ограниченную точность. Хотя это зависит от операционной системы, в PHP обычно используется формат двойной точности IEEE 754, дающий максимальную относительную ошибку округления порядка 1.11e-16. Неэлементарные арифметические операции могут давать большие ошибки, и, разумеется, необходимо принимать во внимание разрастание ошибок при совместном использовании нескольких операции.

Кроме того, рациональные числа, которые могут быть точно представлены в виде чисел с плавающей точкой с основанием 10, например, 0.1 или 0.7, не имеют точного внутреннего представления в качестве чисел с плавающей точкой с основанием 2, вне зависимости от размера мантиссы. Поэтому они и не могут быть преобразованы в их внутреннюю двоичную форму без небольшой потери точности. Это может привести к неожиданным результатам: например, floor((0.1+0.7)*10) скорее всего вернет 7 вместо ожидаемого 8, так как результат внутреннего представления будет чем-то вроде 7.9999999999999991118....

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

Преобразование в число с плавающей точкой

Информацию о преобразовании строк в числа с плавающей точкой смотрите в разделе Преобразование строк в числа. Для значений других типов преобразование будет сначала осуществлено в в integer и затем в число с плавающей точкой. Дополнительную информацию смотрите в разделе Преобразование к целому. Начиная с версии PHP 5, при преобразовании объекта к числу с плавающей точкой выводится замечание об ошибке.

Целые числа
Строки
Типы


Строки

Строка - это набор символов, где символ - это то же самое, что и байт. Это значит, что PHP поддерживает ровно 256 различных символов, а также то, что в PHP нет встроенной поддержки Unicode. Смотрите также подробности реализации строкового типа.

Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP; единственный лимит - это доступная память на компьютере, на котором запущен PHP.

Синтаксис

Строка может быть определена четырьмя различными способами:

  • одинарными кавычками
  • двойными кавычками
  • heredoc-синтаксисом
  • nowdoc-синтаксисом (начиная с версии PHP 5.3.0)

Одинарные кавычки

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ ').

Чтобы использовать одинарную кавычку внутри строки, проэкранируйте ее обратной косой чертой (\). Если необходимо написать саму обратную косую черту, продублируйте ее (\\). Все остальные случаи применения обратной косой черты будут интерпретированы как обычные символы: это означает, что если вы попытаетесь использовать другие управляющие последовательности, такие как \r или \n, они будут выведены как есть вместо какого-либо особого поведения.

Замечание: В отличие от синтаксиса двойных кавычек и heredoc, переменные и управляющие последовательности для специальных символов, заключенных в одинарные кавычки, не обрабатываются.

<?php
echo 'это простая строка';

echo 'Также вы можете вставлять в строки
символ новой строки вот так,
это нормально';

// Выводит: Однажды Арнольд сказал: "I'll be back"
echo 'Однажды Арнольд сказал: "I\'ll be back"';

// Выводит: Вы удалили C:\*.*?
echo 'Вы удалили C:\\*.*?';

// Выводит: Вы удалили C:\*.*?
echo 'Вы удалили C:\*.*?';

// Выводит: Это не будет развернуто: \n новая строка
echo 'Это не будет развернуто: \n новая строка';

// Выводит: Переменные $expand также $either не разворачиваются
echo 'Переменные $expand также $either не разворачиваются';
?>

Двойные кавычки

Если строка заключена в двойные кавычки ("), PHP распознает большее количество управляющих последовательностей для специальных символов:

Управляющие последовательности
Последовательность | Значение
\n | новая строка (LF или 0x0A (10) в ASCII)
\r | возврат каретки (CR или 0x0D (13) в ASCII)
\t | горизонтальная табуляция (HT или 0x09 (9) в ASCII)
\v | вертикальная табуляция (VT или 0x0B (11) в ASCII) (с версии PHP 5.2.5)
\f | подача страницы (FF или 0x0C (12) в ASCII) (с версии PHP 5.2.5)
\\ | обратная косая черта
\$ | знак доллара
\" | двойная кавычка
\[0-7]{1,3} | последовательность символов, соответствующая регулярному выражению символа в восьмеричной системе счисления
\x[0-9A-Fa-f]{1,2} | последовательность символов, соответствующая регулярному выражению символа в шестнадцатеричной системе счисления

Как и в строке, заключенной в одинарные кавычки, экранирование любого символа выведет также и саму обратную косую черту. До версии PHP 5.1.1, обратная косая черта в \{$var} не печаталась.

Но самым важным свойством строк в двойных кавычках является обработка переменных. Смотрите более подробно: обработка строк

Heredoc

Третий способ определения строк - это использование heredoc-синтаксиса: <<<. После этого оператора необходимо указать идентификатор, затем перевод строки. После этого идет сама строка, а потом этот же идентификатор, закрывающий вставку.

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

Внимание

Очень важно отметить, что строка с закрывающим идентификатором не содержит других символов, за исключением, возможно, точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. Например, на Macintosh это \r. После закрывающего идентификатора (необязательно дополненного точкой с запятой) также сразу должна начинаться новая строка.

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

Heredoc не может быть использован для инициализации полей класса. Начиная с версии PHP 5.3, это ограничение распространяется только на heredoc, содержащие внутри себя переменные.

Пример #1 Неверный пример

<?php
class foo {
    public $bar = <<<EOT
bar
    EOT;
}
?>

Heredoc-текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc, но вы по-прежнему можете использовать вышеперечисленные управляющие последовательности. Переменные обрабатываются, но с применением сложных переменных внутри heredoc нужно быть также внимательным, как и при работе со строками.

Пример #2 Пример определения heredoc-строки

<?php
$str = <<<EOD
Пример строки,
охватывающей несколько строчек,
с использованием heredoc-синтаксиса.
EOD;

/* Более сложный пример с переменными. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'МоеИмя';

echo <<<EOT
Меня зовут "$name". Я печатаю $foo->foo.
Теперь я вывожу {$foo->bar[1]}.
Это должно вывести заглавную букву 'A': \x41
EOT;
?>

Результат выполнения данного примера:

Меня зовут "МоеИмя". Я печатаю Foo.
Теперь, я вывожу Bar2.
Это должно вывести заглавную букву 'A': A

Также возможно использовать heredoc-синтаксис для передачи данных через аргументы функции:

Пример #3 Пример применения heredoc в аргументах

<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>

Начиная с версии 5.3.0, стала возможной инциализация статических переменных и свойств/констант класса с помощью синтаксиса heredoc:

Пример #4 Использование heredoc для инциализации статических переменных

<?php
// Статические переменные
function foo()
{
    static $bar = <<<LABEL
Здесь ничего нет...
LABEL;
}

// Class properties/constants
class foo
{
    const BAR = <<<FOOBAR
Пример использования константы
FOOBAR;

    public $baz = <<<FOOBAR
Пример использования поля
FOOBAR;
}
?>

Начиная с версии PHP 5.3.0 можно также окружать идентификатор Heredoc двойными кавычками:

Пример #5 Использование двойных кавычек в heredoc

<?php
echo <<<"FOOBAR"
Привет, мир!
FOOBAR;
?>

Замечание:

Поддержка heredoc была добавлена в PHP 4.

Nowdoc

Nowdoc - это то же самое для строк в одинарных кавычках, что и heredoc для строк в двойных кавычках. Nowdoc похож на heredoc, но внутри него не осуществляется никаких подстановок. Эта конструкция идеальна для внедрения PHP-кода или других больших блоков текста без необходимости его экранирования. В этом он немного похож на SGML-конструкцию <![CDATA[ ]]> тем, что объявляет блок текста, не предназначенный для обработки.

Nowdoc указывается той же последовательностью <<<, что используется в heredoc, но последующий за ней идентификатор заключается в одинарные кавычки, например, <<<'EOT'. Все условия, действующие для heredoc идентификаторов также действительны и для nowdoc, особенно те, что относятся к закрывающему идентификатору.

Пример #6 Пример использования nowdoc

<?php
$str = <<<'EOD'
Пример текста,
занимающего несколько строк,
с помощью синтаксиса nowdoc.
EOD;

/* Более сложный пример с переменными. */
class foo
{
    public $foo;
    public $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'МоеИмя';

echo <<<'EOT'
Меня зовут "$name". Я печатаю $foo->foo.
Теперь я печатаю {$foo->bar[1]}.
Это не должно вывести заглавную 'A': \x41
EOT;
?>

Результат выполнения данного примера:

Меня зовут "$name". Я печатаю $foo->foo.
Теперь я печатаю {$foo->bar[1]}.
Это не должно вывести заглавную 'A': \x41

Замечание:

В отличие от heredoc, nowdoc может быть использован в любом контексте со статическими данными. Типичный пример инициализации полей класса или констант:

Пример #7 Пример использования статичных данных

<?php
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Замечание:

Поддержка nowdoc была добавлена в PHP 5.3.0.

Обработка переменных

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

Существует два типа синтаксиса: простой и сложный. Простой синтаксис более легок и удобен. Он дает возможность обработки переменной, значения массива (array) или свойства объекта (object) с минимумом усилий.

Сложный синтаксис был введен в PHP 4 и может быть определен по фигурным скобкам, окружающих выражение.

Простой синтаксис

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

<?php
$juice = "apple";

echo "He drank some $juice juice.".PHP_EOL;
// не работает, 's' - это верный символ для имени переменной,
// но наша переменная имеет имя $juice.
echo "He drank some juice made of $juices.";
?>

Результат выполнения данного примера:

He drank some apple juice.
He drank some juice made of .

Аналогично могут быть обработаны элемент массива (array) или свойство объекта (object). В индексах массива закрывающая квадратная скобка (]) обозначает конец определения индекса. Для свойств объекта применяются те же правила, что и для простых переменных.

Пример #8 Пример простого синтаксиса

<?php
$juices = array("apple", "orange", "koolaid1" => "purple");

echo "He drank some $juices[0] juice.".PHP_EOL;
echo "He drank some $juices[1] juice.".PHP_EOL;
echo "He drank some juice made of $juice[0]s.".PHP_EOL; // Не будет работать
echo "He drank some $juices[koolaid1] juice.".PHP_EOL;

class people {
    public $john = "John Smith";
    public $jane = "Jane Smith";
    public $robert = "Robert Paulsen";

    public $smith = "Smith";
}

$people = new people();

echo "$people->john drank some $juices[0] juice.".PHP_EOL;
echo "$people->john then said hello to $people->jane.".PHP_EOL;
echo "$people->john's wife greeted $people->robert.".PHP_EOL;
echo "$people->robert greeted the two $people->smiths."; // Не будет работать
?>

Результат выполнения данного примера:

He drank some apple juice.
He drank some orange juice.
He drank some juice made of s.
He drank some purple juice.
John Smith drank some apple juice.
John Smith then said hello to Jane Smith.
John Smith's wife greeted Robert Paulsen.
Robert Paulsen greeted the two .

Для чего-либо более сложного, используйте сложный синтаксис.

Сложный (фигурный) синтаксис

Он называется сложным не потому, что труден в понимании, а потому что позволяет использовать сложные выражения.

Любая скалярная переменная, элемент массива или свойство объекта, отображаемое в строку, может быть представлена в строке этим синтаксисом. Просто запишите выражение так же, как и вне строки, а затем заключите его в { и }. Поскольку { не может быть экранирован, этот синтаксис будет распознаваться только когда $ следует непосредственно за {. Используйте {\$, чтобы напечатать {$. Несколько поясняющих примеров:

<?php
// Показываем все ошибки
error_reporting(E_ALL);

$great = 'здорово';

// Не работает, выводит: Это { здорово}
echo "Это { $great}";

// Работает, выводит: Это здорово
echo "Это {$great}";
echo "Это ${great}";

// Работает
echo "Этот квадрат шириной {$square->width}00 сантиметров.";

// Работает, ключи, заключенные в кавычки, работают только с синтаксисом фигурных скобок
echo "Это работает: {$arr['key']}";

// Работает
echo "Это работает: {$arr[4][3]}";

// Это неверно по той же причине, что и $foo[bar] вне
// строки. Другими словами, это по-прежнему будет работать,
// но поскольку PHP сначала ищет константу foo, это вызовет
// ошибку уровня E_NOTICE (неопределенная константа).
echo "Это неправильно: {$arr[foo][3]}";

// Работает. При использовании многомерных массивов внутри
// строк всегда используйте фигурные скобки
echo "Это работает: {$arr['foo'][3]}";

// Работает.
echo "Это работает: " . $arr['foo'][3];

echo "Это тоже работает: {$obj->values[3]->name}";

echo "Это значение переменной по имени $name: {${$name}}";

echo "Это значение переменной по имени, которое возвращает функция getName(): {${getName()}}";

echo "Это значение переменной по имени, которое возвращает \$object->getName(): {${$object->getName()}}";

// Не работает, выводит: Это то, что возвращает getName(): {getName()}
echo "Это то, что возвращает getName(): {getName()}";
?>

С помощью этого синтаксиса также возможен доступ к свойствам объекта внутри строк.

<?php
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->$baz[1]}\n";
?>

Результат выполнения данного примера:

I am bar.
I am bar.

Замечание:

Функции, вызовы методов, статические переменные классов, а также константы классов работает внутри {$}, начиная с версии PHP 5. Однако, указываемое значение будет обработано как имя переменной в том же контексте, что и строка, в которой она определяется. Использование одинарных фигурных скобок ({}) не будет работать для доступа к значениям функций, методов, констант классов или статических переменных класса.

<?php
// Показываем все ошибки
error_reporting(E_ALL);

class beers {
    const softdrink = 'rootbeer';
    public static $ale = 'ipa';
}

$rootbeer = 'A & W';
$ipa = 'Alexander Keith\'s';

// Это работает, выводит: Я бы хотел A & W
echo "Я бы хотел {${beers::softdrink}}\n";

// Это тоже работает, выводит: Я бы хотел Alexander Keith's
echo "Я бы хотел {${beers::$ale}}\n";
?>

Доступ к символу в строке и его изменение

Символы в строках можно использовать и модифицировать, определив их смещение относительно начала строки, начиная с нуля, в квадратных скобках после строки, например, $str[42]. Думайте о строке для этой цели, как о массиве символов. Если нужно получить или заменить более 1 символа, можно использовать функции substr() и substr_replace().

Замечание: К символу в строке также можно обращаться с помощью фигурных скобок, например, $str{42}.

Внимание

Попытка записи в смещение за границами строки дополнит строку пробелами до этого смещения. Нецелые типы будет преобразованы в целые. Неверный тип смещения вызовет ошибку уровня E_NOTICE. Запись по отрицательному смещению вызовет ошибку уровня E_NOTICE, а при чтении вернет пустую строку. Используется только первый символ присваемой строки. Присвоение пустой строки присваивает нулевой байт (NULL).

Пример #9 Несколько примеров строк

<?php
// Получение первого символа строки
$str = 'This is a test.';
$first = $str[0];

// Получение третьего символа строки
$third = $str[2];

// Получение последнего символа строки
$str = 'This is still a test.';
$last = $str[strlen($str)-1];

// Изменение последнего символа строки
$str = 'Look at the sea';
$str[strlen($str)-1] = 'e';

?>

Замечание:

Попытка доступа к переменным других типов (исключая массивы или объекты, реализующие определенные интерфейсы) с помощью [] или {} молча вернет NULL.

Полезные функции и операторы

Строки могут быть объединены при помощи оператора '.' (точка). Обратите внимание, оператор сложения '+' здесь не работает. Дополнительную информацию смотрите в разделе Строковые операторы.

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

Основные функции описаны в разделе строковых функций, а для расширенного поиска и замены - функции регулярных выражений или Perl-совместимых регулярных выражений.

Также существуют функции для работы с URL, и функции шифрования/дешифрования строк (mcrypt и mhash).

Наконец, смотрите также функции символьных типов.

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

Значение может быть преобразовано в строку, с помощью приведения (string), либо функции strval(). В выражениях, где необходима строка, преобразование происходит автоматически. Это происходит, когда вы используете функции echo() или print(), либо когда значение переменной сравнивается со строкой. Прочтение разделов руководства Типы и Манипуляции с типами сделает следующее более понятным. Смотрите также settype().

Значение boolean TRUE преобразуется в строку "1", а значение FALSE преобразуется в "" (пустую строку). Это позволяет преобразовывать значения в обе стороны - из булева типа в строковый и наоборот.

Целое (integer) или число с плавающей точкой (float) преобразуется в строку, представленную числом, состоящим из его цифр (включая показатель степени для чисел с плавающей точкой). Числа с плавающей точкой могут быть преобразованы с помощью экспоненциального представления (4.1E+6).

Замечание:

Символ десятичной точки определяется из настроек локали текущего скрипта (категория LC_NUMERIC). Смотрите также setlocale().

Массивы всегда преобразуются в строку "Array", так что вы не можете отобразить содержимое массива (array), используя echo() или print(), чтобы узнать, что он содержит. Чтобы просмотреть отдельный элемент, используйте что-нибудь вроде echo $arr['foo']. Смотрите ниже советы о том, как отобразить/просмотреть все содержимое.

Объекты в PHP 4 всегда преобразовывались в строку "Object". Если вы хотите вывести значения полей объекта (object) с целью отладки, читайте дальше. Если вы хотите получить имя класса требуемого объекта, используйте get_class(). Начиная с PHP 5, также стал доступен метод __toString.

Ресурсы всегда преобразуются в строки со структурой "Resource id #1", где 1 - это уникальный номер ресурса (resource), присвоенный ему PHP во время выполнения. Не полагайтесь на эту структуру, она может измениться в любое время. Если вы хотите получить тип ресурса, используйте get_resource_type().

NULL всегда преобразуется в пустую строку.

Как вы могли видеть выше, прямое преобразование в строку массивов, объектов или ресурсов не дает никакой полезной информации о самих значениях, кроме их типов. Более подходящий способ вывода значений для отладки - использовать функции print_r() и var_dump().

Большинство значений в PHP может быть преобразовано в строку для постоянного хранения. Этот метод называется сериализацией и может быть выполнен при помощи функции serialize(). Кроме того, если в вашей установке PHP есть поддержка WDDX, возможна также сериализация в XML-структуру.

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

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

Если строка не содержит какой-либо из символов '.', 'e', или 'E', и значение числа помещается в пределы целых чисел (определенных PHP_INT_MAX), строка будет распознана как целое число (integer). Во всех остальных случаях она считается числом с плавающей точкой (float).

Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль). Верное числовое значение - это одна или более цифр (могущих содержать десятичную точку), по желанию предваренных знаком, с последующим необязательным показателем степени. Показатель степени - это 'e' или 'E' с последующими одной или более цифрами.

<?php
$foo = 1 + "10.5";                // $foo это float (11.5)
$foo = 1 + "-1.3e3";              // $foo это float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo это integer (1)
$foo = 1 + "bob3";                // $foo это integer (1)
$foo = 1 + "10 Small Pigs";       // $foo это integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo это float (14.2)
$foo = "10.0 pigs " + 1;          // $foo это float (11)
$foo = "10.0 pigs " + 1.0;        // $foo это float (11)
?>

Более подробную информацию об этом преобразовании смотрите в разделе о strtod(3) документации Unix.

Если вы хотите протестировать любой из примеров этого раздела, скопируйте и вставьте его и следующую строку, чтобы увидеть, что происходит:

<?php
echo "\$foo==$foo; тип: " . gettype ($foo) . "<br />\n";
?>

Не ожидайте получить код символа, преобразовав его в целое (как это делается, например, в C). Для преобразования символов в их ASCII коды и обратно используйте функции ord() и chr().

Подробности реализации строкового типа

Строковый тип (string) в PHP реализован в виде массива байт и целого числа, содержащего длину буфера. Он не содержит никакой информации о способе преобразования этих байт в символы, предоставляя эту задачу программисту. Нет никаких ограничений на содержимое строки, например, байт со значением 0 ("NUL"-байт) может располагаться где угодно (однако, стоит учитывать, что некоторые функции, как сказано в этом руководстве, не явлляются "бинарно-безопасными", т.е. они могут передавать строки библиотекам, которые игнорируют данные после NUL-байта).

Данная природа строкового типа объясняет почему в PHP нет отдельного типа “byte” - строки играют эту роль. Функции, возвращающие нетекстовые данные - например, произвольный поток данных, считываемый из сетевого сокета - тем не менее возвращают строки.

Принимая во внимание тот факт, что PHP не диктует определенную кодировку для строк, можно задать вопрос, как в таком случае кодируются стрковые литералы. Например, строка "á" эквивалентна "\xE1" (ISO-8859-1), "\xC3\xA1" (UTF-8, форма нормализации C), "\x61\xCC\x81" (UTF-8, форма нормализации D) или какому-либо другому возможному представлению? Ответом является следующее: строка будет закодирована тем образом, которым она записана в файле скрипта. Таким образом, если скрипт записан в кодировке ISO-8859-1, то и строка будет закодирована в ISO-8859-1 и т.д. Однако, это правило не применяется при включенном режиме Zend Multibyte: в этом случае скрипт может быть записан в любой кодировке (которая указывается ясно или определяется автоматически), а затем конвертируются в определенную внутреннюю кодировку, которая и будет впоследствии использована для строковых литералов. Учтите, что на кодировку скрипта (или на внутреннюю кодировку, если включен режим Zend Multibyte) накладываются некоторые ограничения: практически всегда данная кодировка должна быть надмножеством ASCII, например, UTF-8 или ISO-8859-1. Учтите также, что кодировки, зависящие от состояния, где одни и те же значения байт могут быть использованы в начальном и неначальном состоянии сдвига (initial and non-inital shift state), могут вызвать проблемы.

Разумеется, чтобы приносить пользу, строковые функции должны сделать некоторые предположения о кодировке строки. К несчастью, среди PHP-функций довольно большое разнообразие подходов к этому вопросу:

  • Некоторые функции предполагают, что строка закодирована в какой-либо однобайтовой кодировке, однако, для корректной работы им не требуется интерпретировать байты как определенные символы. Под эту категорию попадают, например, substr(), strpos(), strlen() и strcmp(). Другой способ мышления об этих функциях представляет собой оперирование буферами памяти, т.е. они работают непосредственно с байтами и их смещениями. offsets.
  • Другие функции ожидают передачу кодировку в виде параметра, возможно, предполагая некоторую кодировку по умолчанию, если параметр с кодировкой не был указан. Такой функцией является htmlentities() и большинство функций из расширения mbstring.
  • Другие функции используют текущие установки локали (см. setlocale()), но оперируют побайтово). В эту категорию попадают strcasecmp(), strtoupper() и ucfirst(). Это означает, что они могут быть использованы только с однобайтовыми кодировками, в том случае, когда кодировка совпадает с локалью. Например, strtoupper("á") может вернуть "Á", если локаль установлена корректно и буква á закодирована в виде одного байта. Если она закодирована в UTF-8, будет возвращен некорректный результат, и, в зависимости от текущей локали, результирующая строка может быть (или не быть) испорчена.
  • Наконец, есть функции, подразумевающие, что строка использует определенную кодировку, обычно UTF-8. Сюда попадают большинство функций из расширений intl и PCRE (в последнем случае, только при указании модификатора u). Хотя это и сделано специально, функция utf8_decode() подразумевает кодировку UTF-8, а utf8_encode() - ISO-8859-1.

В конечном счете, написание корректных программ, работающих с Unicode, означает осторожное избегание функций, которые не работают с Unicode и, скорее всего, испортят данные, и использование вместо них корректных функций, обычно из расширений intl и mbstring. Однако, использование функций, способных работать с Unicode, является самым началом. Вне зависимости от тех функций, которые предоставляет язык, необходимо знать спецификацию самого Unicode. Например, если программа предполагает существование в языке только строчных и заглавных букв, то она делает большую ошибку.

Числа с плавающей точкой
Массивы
Типы


Массивы

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

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

Синтаксис

Определение при помощи array()

Массив может быть создан языковой конструкцией array(). В качестве параметров она принимает любое количество разделенных запятыми пар key => value (ключ => значение).

array(  key =>  value
     , ...
     )
// key может быть integer или string
// value может быть любым значением любого типа
<?php
$arr = array("foo" => "bar", 12 => true);

echo $arr["foo"]; // bar
echo $arr[12];    // 1
?>

key может быть либо integer, либо string. Если ключ - это стандартное представление integer, он так и будет интерпретироваться (т.е. "8" будет восприниматься как 8, тогда как "08" будет интерпретироваться как "08"). Float в key будет обрезан до integer. В PHP нет разницы между индексными и ассоциативными массивами; существует только один тип массива, который может содержать и числовые, и строковые индексы.

Значение может быть любого имеющегося в PHP типа.

Замечание:

Попытка доступа к неопределенному ключу в массиве - это то же самое, что и попытка доступа к любой другой неопределенной переменной: будет вызвана ошибка уровня E_NOTICE, и результат будет NULL.

<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6];    // 5
echo $arr["somearray"][13];   // 9
echo $arr["somearray"]["a"];  // 42
?>

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

<?php
// Этот массив эквивалентен ...
array(5 => 43, 32, 56, "b" => 12);

// ...этому массиву
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
Внимание

До PHP 4.3.0, добавление элемента к массиву, в котором текущий максимальный являлся отрицательным, создавало новый ключ так, как описано выше. Начиная с версии PHP 4.3.0, новый ключ будет 0.

Используя TRUE как key, вы получите ключ 1 типа integer. Используя в FALSE как key, вы получите ключ 0 типа integer. Используя в качестве ключа NULL, вы получите пустую строку. Использование в качестве ключа пустой строки создаст (или перезапишет) ключ с пустой строкой и его значение; это не то же самое, что использование пустых квадратных скобок.

Массивы и объекты не могут быть использованы в качестве ключей. Это вызовет предупреждение: Illegal offset type ('Недопустимый тип смещения').

Создание/модификация с помощью синтаксиса квадратных скобок

Существующий массив может быть изменен явной установкой значений в нем.

Это выполняется присвоением значений массиву при указании в скобках ключа. Кроме того, вы можете опустить ключ, в этом случае добавьте к имени переменной пустую пару скобок ([]).

$arr[key] = value;
$arr[] = value;
// key может быть integer или string
// value может быть любым значением любого типа

Если массив $arr еще не существует, он будет создан. Таким образом, это еще один способ определить массив. Для изменения определенного значения просто присвойте элементу с его ключом новое значение. Если вы хотите удалить пару ключ/значение, вам нужно использовать функцию unset().

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // В этом месте скрипта это
                // то же самое, что и $arr[13] = 56;

$arr["x"] = 42; // Это добавляет к массиву новый
                // элемент с ключом "x"

unset($arr[5]); // Это удаляет элемент из массива

unset($arr);    // Это удаляет массив полностью
?>

Замечание:

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

Учтите, что максимальное целое значение ключа не обязательно существует в массиве в данный момент. Оно могло просто существовать в массиве какое-то время, с тех пор как он был переиндексирован в последний раз. Следующий пример это иллюстрирует:

<?php
// Создаем простой массив.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Теперь удаляем каждый элемент, но сам массив оставляем нетронутым:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Добавляем элемент (обратите внимание, что новым ключом будет 5, вместо 0).
$array[] = 6;
print_r($array);

// Переиндексация:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Полезные функции

Для работы с массивами существует достаточное количество полезных функций. Смотрите раздел функции для работы с массивами.

Замечание:

Функция unset() позволяет удалять ключи массива. Обратите внимание, что массив НЕ будет переиндексирован. Если вы действительно хотите поведения в стиле "удалить и сдвинуть", можно переиндексировать массив используя array_values().

<?php
$a = array(1 => 'один', 2 => 'два', 3 => 'три');
unset($a[2]);
/* даст массив, представленный так:
   $a = array(1 => 'one', 3 => 'three');
   а НЕ так:
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Теперь $b это array(0 => 'one', 1 =>'three')
?>

Управляющая конструкция foreach существует специально для массивов. Она предоставляет возможность легко пройтись по массиву.

Что можно и нельзя делать с массивами

Почему $foo[bar] неверно?

Всегда заключайте в кавычки строковый литерал в индексе ассоциативного массива. К примеру, пишите $foo['bar'], а не $foo[bar]. Но почему? Часто в старых скриптах можно встретить следующий синтаксис:

<?php
$foo[bar] = 'враг';
echo $foo[bar];
// и т.д.
?>

Это неверно, хотя и работает. Причина в том, что этот код содержит неопределенную константу (bar), а не строку ('bar' - обратите внимание на кавычки), и PHP в будущем может определить константу, которая, к несчастью для вашего кода, будет иметь то же самое имя. Это работает, потому что PHP автоматически преобразует "голую строку" (не заключенную в кавычки строку, которая не соответствует ни одному из известных символов языка) в строку, со значением этой "голой строки". Например, если константа с именем bar не определена, то PHP заменит bar на строку 'bar' и использует ее.

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

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Простой массив:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nПроверяем $i: \n";
    echo "Плохо: " . $array['$i'] . "\n";
    echo "Хорошо: " . $array[$i] . "\n";
    echo "Плохо: {$array['$i']}\n";
    echo "Хорошо: {$array[$i]}\n";
}
?>

Результат выполнения данного примера:

Проверяем 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Плохо:
Хорошо: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Плохо:
Хорошо: 1

Проверяем 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Плохо:
Хорошо: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Плохо:
Хорошо: 2

Дополнительные примеры, демонстрирующие этот факт:

<?php
// Показываем все ошибки
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Верно
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// Неверно. Это работает, но из-за неопределенной константы с
// именем fruit также вызывает ошибку PHP уровня E_NOTICE
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

// Давайте определим константу, чтобы продемонстрировать, что
// происходит. Мы присвоим константе с именем fruit значение 'veggie'.
define('fruit', 'veggie');

// Теперь обратите внимание на разницу
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// Внутри строки это нормально. Внутри строк константы не
// рассматриваются, так что ошибки E_NOTICE здесь не произойдет
print "Hello $arr[fruit]";      // Hello apple

// С одним исключением: фигурные скобки вокруг массивов внутри
// строк позволяют константам там находиться
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// Это не будет работать и вызовет ошибку обработки, такую как:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Это, конечно, также действует и с суперглобальными переменными в строках
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// Еще одна возможность - конкатенация
print "Hello " . $arr['fruit']; // Hello apple
?>

Если вы переведете error_reporting в режим отображения ошибок уровня E_NOTICE (например, такой как E_ALL), вы сразу увидите эти ошибки. По умолчанию error_reporting установлена их не отображать.

Как указано в разделе синтаксис, внутри квадратных скобок ('[' и ']') должно быть выражение. Это означает, что можно писать вот так:

<?php
echo $arr[somefunc($bar)];
?>

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

<?php
$error_descriptions[E_ERROR]   = "Произошла фатальная ошибка";
$error_descriptions[E_WARNING] = "PHP сообщает о предупреждении";
$error_descriptions[E_NOTICE]  = "Это лишь неофициальное замечание";
?>

Обратите внимание, что E_ERROR - это такой же верный идентификатор, как и bar в первом примере. Но последний пример по сути эквивалентен такой записи:

<?php
$error_descriptions[1] = "Произошла фатальная ошибка";
$error_descriptions[2] = "PHP сообщает о предупреждении";
$error_descriptions[8] = "Это лишь неофициальное замечание";
?>

поскольку E_ERROR соответствует 1, и т.д.

Так что же в этом плохого?

Когда-нибудь в будущем, команда разработчиков PHP, возможно, пожелает добавить еще одну константу или ключевое слово, либо константа из другого кода может вмешаться и тогда у вас могут возникнуть проблемы. Например, вы уже не можете использовать таким образом слова empty и default, поскольку они являются зарезервированными ключевыми словами.

Замечание: Повторим, внутри строки (string), заключенной в двойные кавычки, корректно не окружать индексы массива кавычками, поэтому "$foo[bar]" является верной записью. Более подробно почему - смотрите вышеприведенные примеры, а также раздел обработка переменных в строках.

Преобразование в массив

Для любого из типов: integer, float, string, boolean и resource, преобразование значения в массив дает результатом массив с одним элементом (с индексом 0), являющимся скалярным значением, с которого вы начали. Другими словами, (array)$scalarValue - это точно то же самое, что и array($scalarValue).

Если вы преобразуете в массив объект (object), вы получите в качестве элементов массива свойства (переменные-члены) этого объекта. Ключами будут имена переменных-членов, с некоторыми примечательными исключениями: целочисленные свойства станут недоступны; к закрытым полям класса (private) спереди будет дописано имя класса; к защищенным полям класса (protected) спереди будет добавлен символ '*'. Эти добавленные значения с обоих сторон также имеют нулевые байты. Это может вызвать несколько неожиданное поведение:

<?php

class A {
    private $A; // Это станет '\0A\0A'
}

class B extends A {
    private $A; // Это станет '\0B\0A'
    public $AA; // Это станет 'AA'
}

var_dump((array) new B());
?>

Вышеприведенный код покажет 2 ключа с именем 'AA', хотя один из них на самом деле имеет имя '\0A\0A'.

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

Сравнение

Массивы можно сравнивать при помощи функции array_diff() и операторов массивов.

Примеры

The array type in PHP is very versatile. Here are some examples: Тип массив в PHP является очень гибким, вот несколько примеров:

<?php
// это
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
            4        // ключом будет 0
          );

$b = array('a', 'b', 'c');

// . . .полностью соответствует
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // ключом будет 0

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// после выполнения этого кода, $a будет массивом
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4), а $b будет
// array(0 => 'a', 1 => 'b', 2 => 'c'), или просто array('a', 'b', 'c').
?>

Пример #1 Использование array()

<?php
// Массив как карта (свойств)
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'english',
              'short_tags' => true
            );

// исключительно числовые ключи
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// это то же самое, что и array(0 => 7, 1 => 8, ...)

$switching = array(         10, // ключ = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // ключ = 6 (максимальным числовым индексом было 5)
                    '8'  =>  2, // ключ = 8 (число!)
                    '02' => 77, // ключ = '02'
                    0    => 12  // значение 10 будет перезаписано на 12
                  );

// пустой массив
$empty = array();
?>

Пример #2 Коллекция

<?php
$colors = array('red', 'blue', 'green', 'yellow');

foreach ($colors as $color) {
    echo "Вам нравится $color?\n";
}

?>

Результат выполнения данного примера:

Вам нравится red?
Вам нравится blue?
Вам нравится green?
Вам нравится yellow?

Изменение значений массива напрямую стало возможным с версии PHP 5 путем передачи их по ссылке. До этого необходим следующий обходной прием:

Пример #3 Изменение элемента в цикле

<?php
// PHP 5
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* это нужно для того, чтобы последующие записи в
$color не меняли последний элемент массива */

// Обходной прием для старых версий
foreach ($colors as $key => $color) {
    $colors[$key] = strtoupper($color);
}

print_r($colors);
?>

Результат выполнения данного примера:

Array
(
    [0] => RED
    [1] => BLUE
    [2] => GREEN
    [3] => YELLOW
)

Следующий пример создает массив, начинающийся с единицы.

Пример #4 Индекс, начинающийся с единицы

<?php
$firstquarter  = array(1 => 'Январь', 'Февраль', 'Март');
print_r($firstquarter);
?>

Результат выполнения данного примера:

Array
(
    [1] => 'Январь'
    [2] => 'Февраль'
    [3] => 'Март'
)

Пример #5 Заполнение массива

<?php
// заполняем массив всеми элементами из директории
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

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

Пример #6 Сортировка массива

<?php
sort($files);
print_r($files);
?>

Поскольку значение массива может быть чем угодно, им также может быть другой массив. Таким образом вы можете создавать рекурсивные и многомерные массивы.

Пример #7 Рекурсивные и многомерные массивы

<?php
$fruits = array ( "фрукты"  => array ( "a" => "апельсин",
                                       "b" => "банан",
                                       "c" => "яблоко"
                                     ),
                  "числа"   => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "дырки"   => array (      "первая",
                                       5 => "вторая",
                                            "третья"
                                     )
                );

// Несколько примеров доступа к значениям предыдущего массива
echo $fruits["дырки"][5];    // напечатает "вторая"
echo $fruits["фрукты"]["a"]; // напечатает "апельсин"
unset($fruits["дырки"][0]);  // удалит "первая"

// Создаст новый многомерный массив
$juices["apple"]["green"] = "good";
?>

Обратите внимание, что при присваивании массива всегда происходит копирование значения. Чтобы скопировать массив по ссылке, вам нужно использовать оператор ссылки.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 изменился,
             // $arr1 все еще array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // теперь $arr1 и $arr3 одинаковы
?>
Строки
Объекты
Типы


Объекты

Инициализация объекта

Для создания нового объекта, используйте выражение new, создающее в переменной экземпляр класса:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Полное рассмотрение производится в разделе Классы и Объекты.

Преобразование в объект

Если object преобразуется в object, он не изменяется. Если значение другого типа преобразуется в object, создается новый экземпляр встроенного класса stdClass. Если значение было NULL, новый экземпляр будет пустым. Массивы преобразуются в object с именами полей, названными согласно ключам массива и соответствующими им значениям. При преобразовании любого другого значения, оно будет помещено в поле с именем scalar.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // выведет 'ciao'
?>
Массивы
Ресурс
Типы


Ресурс

Resource это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями. Полный перечень этих функций и соответствующих типов ресурсов смотрите в приложении.

Замечание: Тип resource был введен в PHP 4

Смотрите также описание функции get_resource_type().

Преобразование в ресурс

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

Освобождение ресурсов

Благодаря системе подсчета ссылок, введенной в PHP 4 Zend Engine, определение отсутствия ссылок на ресурс происходит автоматически, после чего он освобождается сборщиком мусора. Поэтому, очень редко требуется освобождать память вручную.

Замечание: Постоянные соединения с базами данных являются исключением из этого правила. Они не уничтожаются сборщиком мусора. Подробнее смотрите в разделе о постоянных соединениях.

Объекты
NULL
Типы


NULL

Специальное значение NULL представляет собой переменную без значения. NULL - это единственно возможное значение типа NULL.

Переменная считается null, если:

  • ей была присвоена константа NULL.

  • ей еще не было присвоено никакого значения.

  • она была удалена с помощью unset().

Синтаксис

Существует только одно значение типа null - регистро-независимое ключевое слово NULL.

<?php
$var = NULL;
?>

Смотрите также функции is_null() и unset().

Приведение к NULL

Приведение переменной к null удалит переменную и ее значение.

Ресурс
Псевдо-типы и переменные, используемые в этой документации
Типы


Псевдо-типы и переменные, используемые в этой документации

mixed

mixed говорит о том, что параметр может принимать много (но необязательно все) типов.

gettype() например, принимает все типы PHP, тогда как str_replace() принимает только string и array.

number

number говорит о том, что параметр может быть либо integer, либо float.

callback

Некоторые функции, такие как call_user_func() или usort() принимают в качестве параметра определенные пользователем callback-функции. Callback-функции могут быть не только простыми функциями, но также и методами объектов, включая статические методы классов.

PHP-функция передается просто как строка ее имени. Можно использовать любую
встроенную или пользовательскую функцию, кроме языковых конструкций, таких как:
array(), echo(),
empty(), eval(),
exit(), isset(),
list(), print() и
unset().

Метод созданного объекта передается как массив, содержащий сам объект в элементе с индексом 0 и имя метода в элементе с индексом 1.

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

Кроме общих пользовательских функций, create_function() также может быть использована для создания анонимной callback-функции. Начиная с версии PHP 5.3.0 стала возможным также передача замыканий в callback-параметр.

Пример #1 Примеры callback-функций

<?php

// пример callback-функции
function my_callback_function() {
    echo 'hello world!';
}

// пример callback-метода
class MyClass {
    static function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// Вариант 1: простой вызов callback
call_user_func('my_callback_function');

// Вариант 2: вызов статического метода класса
call_user_func(array('MyClass', 'myCallbackMethod'));

// Вариант 3: вызов метода объекта
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));

// Вариант 4: вызов статического метода класса (с версии PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

// Вариант 5: вызов относительного статического метода класса (с версии PHP 5.3.0)
class A {
    public static function who() {
        echo "A\n";
    }
}

class B extends A {
    public static function who() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::who')); // A
?>

Пример #2 Пример callback-вызова с использованием замыканий

<?php
// наше замыкание
$double = function($a) {
    return $a * 2;
};

// это наш диапазон чисел
$numbers = range(1, 5);

// Используем здесь замыкание в качестве callback-функции
// для удвоения размера каждого элемента в диапазоне
$new_numbers = array_map($double, $numbers);

print implode(' ', $new_numbers);
?>

Результат выполнения данного примера:

2 4 6 8 10

Замечание: В PHP 4 было необходимо использовать ссылку при создании callback-функции для того, чтобы она указывала на реальный объект, а не на его копию. За подробностями обращайтесь к разделу Объяснение ссылок.

Замечание:

Callback-функции, зарегистрированные такими функциями как call_user_func() и call_user_func_array(), не будут вызваны при наличии непойманного исключения, брошенного в предыдущей callback-функции.

void

void в качестве типа результата означает, что возвращенное значение бесполезно. void в списке параметров означает, что функция не принимает параметров.

...

$... в прототипах функции означает and so on (и так далее). Это имя переменной используется когда функция может принимать бесконечное количество параметров.

NULL
Манипуляции с типами
Типы


Манипуляции с типами

PHP не требует (и не поддерживает) явного типа при определнии переменной; тип переменной определяется по контексту, в котором она используется. То есть, если вы присвоите значение типа string переменной $var, то $var станет строкой. Если вы затем присвоите $var целочисленное значение, она станет целым числом.

Примером автоматического преобразования типа является оператор сложения '+'. Если какой-либо из операндов является float, то все операнды интерпретируются как float, и результатом также будет float. В противном случае операнды будут интерпретироваться как целые числа и результат также будет целочисленным. Обратите внимание, что это НЕ меняет типы самих операндов; меняется только то, как они вычисляются и сам тип выражения.

<?php
$foo = "0";  // $foo это строка (ASCII 48)
$foo += 2;   // $foo теперь целое число (2)
$foo = $foo + 1.3;  // $foo теперь число с плавающей точкой (3.3)
$foo = 5 + "10 Little Piggies"; // $foo это целое число (15)
$foo = 5 + "10 Small Pigs";     // $foo это целое число (15)
?>

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

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

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

Замечание:

Поведение автоматического преобразования в массив в настоящий момент не определено.

К тому же, так как PHP поддерживает индексирование в строках аналогично смещениям элементов массивов, следующий пример будет верен для всех версий PHP:

<?php
$a    = 'car'; // $a - это строка
$a[0] = 'b';   // $a все еще строка
echo $a;       // bar
?>

Более подробно смотрите в разделе Доступ к символу в строке.

Приведение типов

Приведение типов в PHP работает так же, как и в C: имя требуемого типа записывается в круглых скобках перед приводимой переменной.

<?php
$foo = 10;   // $foo это целое число
$bar = (boolean) $foo;   // $bar это булев тип
?>

Допускаются следующие приведения типов:

  • (int), (integer) - приведение к integer
  • (bool), (boolean) - приведение к boolean
  • (float), (double), (real) - приведение к float
  • (string) - приведение к string
  • (array) - приведение к array
  • (object) - приведение к object
  • (unset) - приведение к NULL (PHP 5)

Приведение типа (binary) и поддержка префикса b были добавлены в PHP 5.2.1

Обратите внимание, что внутри скобок допускаются пробелы и символы табуляции, поэтому следующие примеры равносильны по своему действию:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Приведение строковых литералов и переменных к бинарным строкам:

<?php
$binary = (binary) $string;
$binary = b"binary string";
?>

Замечание:

Вместо использования приведения переменной к string, можно также заключить ее в двойные кавычки.

<?php
$foo = 10;            // $foo - это целое число
$str = "$foo";        // $str - это строка
$fst = (string) $foo; // $fst - это тоже строка

// Это напечатает "они одинаковы"
if ($fst === $str) {
    echo "они одинаковы";
}
?>

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

  • Преобразование в булев тип
  • Преобразование в целое число
  • Преобразование в число с плавающей точкой
  • Преобразование в строку
  • Преобразование в массив
  • Преобразование в объект
  • Преобразование в ресурс
  • Преобразование в NULL
  • Таблицы сравнения типов
Псевдо-типы и переменные, используемые в этой документации
Переменные
Типы


Переменные

Содержание

  • Основы
  • Предопределенные переменные
  • Область видимости переменной
  • Переменные переменных
  • Переменные извне PHP
Манипуляции с типами
Основы
Справочник языка


Основы

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

Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчеркивания и состоять из букв, цифр и символов подчеркивания в любом количестве. Это можно отобразить регулярным выражением: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Замечание: Под буквами здесь подразумеваются символы a-z, A-Z, и байты от 127 до 255 (0x7f-0xff).

Замечание: $this - это особая переменная, которой нельзя ничего присваивать.

Подсказка

Смотрите также Руководство по именованию.

Для информации о функциях работы с переменными обращайтесь к разделу функций работы с переменными.

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // выведет "Bob, Joe"

$4site = 'not yet';     // неверно; начинается с цифры
$_4site = 'not yet';    // верно; начинается с символа подчеркивания
$täyte = 'mansikka';    // верно; 'ä' это (Расширенный) ASCII 228.
?>

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

PHP также предлагает иной способ присвоения значений переменным: присвоение по ссылке. Это означает, что новая переменная просто ссылается (иначе говоря, "становится псевдонимом" или "указывает") на оригинальную переменную. Изменения в новой переменной отражаются на оригинале, и наоборот.

Для присвоения по ссылке, просто добавьте амперсанд (&) к началу имени присваиваемой (исходной) переменной. Например, следующий фрагмент кода дважды выводит 'Меня зовут Боб':

<?php
$foo = 'Боб';              // Присваивает $foo значение 'Боб'
$bar = &$foo;              // Ссылка на $foo через $bar.
$bar = "Меня зовут $bar";  // Изменение $bar...
echo $bar;
echo $foo;                 // меняет и $foo.
?>

Важно отметить, что по ссылке могут быть присвоены только именованные переменные.

<?php
$foo = 25;
$bar = &$foo;      // Это верное присвоение.
$bar = &(24 * 7);  // Неверно; ссылка на неименованное выражение.

function test()
{
   return 25;
}

$bar = &test();    // Неверно.
?>

Хотя в PHP и нет необходимости инициализировать переменные, это считается очень хорошей практикой. Неинициализированные переменные принимают значение по умолчанию в зависимости от их типа, который определяется из контекста их первого использования: булевы принимают значение FALSE, целые и числа с плавающей точкой - ноль, строки (например, при использовании в echo()) - пустую строку, а массивы становятся пустыми массивами.

Пример #1 Значения по умолчанию в неинициализированных переменных

<?php
// Неустановленная И не имеющая ссылок (т.е. без контекста использования) переменная; выведет NULL
var_dump($unset_var);

// Булевое применение; выведет 'false' (Подробнее по этому синтаксису смотрите раздел о тернарном операторе)
echo($unset_bool ? "true\n" : "false\n");

// Строковое использование; выведет 'string(3) "abc"'
$unset_str .= 'abc';
var_dump($unset_str);

// Целочисленное использование; выведет 'int(25)'
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int);

// Использование в качестве числа с плавающей точкой (float/double); выведет 'float(1.25)'
$unset_float += 1.25;
var_dump($unset_float);

// Использование в качестве массива; выведет array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);

// Использование в качестве объекта; создает новый объект stdClass (см. http://www.php.net/manual/en/reserved.classes.php)
// Выведет: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo = 'bar';
var_dump($unset_obj);
?>

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

Переменные
Предопределенные переменные
Переменные


Предопределенные переменные

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

Внимание

Начиная с PHP 4.2.0, значение директивы register_globals по умолчанию установлено в off (отключено). Это большое изменение в PHP. Положение register_globals в off изменяет набор глобальных предопределенных переменных. Например, чтобы получить DOCUMENT_ROOT, вам необходимо будет использовать $_SERVER['DOCUMENT_ROOT'] вместо $DOCUMENT_ROOT, или $_GET['id'] из URL http://www.example.com/test.php?id=3 вместо $id, или $_ENV['HOME'] вместо $HOME.

Дополнительную информацию, связанную с этим изменением, вы можете получить, прочитав описание register_globals в разделе о настройках, главу о безопасности Использование Register Globals , а также сообщения о выпусках PHP » 4.1.0 и » 4.2.0.

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

Начиная с версии 4.1.0, PHP предоставляет дополнительный набор предопределенных массивов, содержащих переменные web-сервера (если они доступны), окружения и пользовательского ввода. Эти новые массивы являются особыми, поскольку они становятся глобальными автоматически - то есть, автоматически доступны в любой области видимости. По этой причине они также известны как 'автоглобальные' или 'суперглобальные' переменные. (В PHP нет механизма определяемых пользователем суперглобальных переменных.) Суперглобальные переменные перечислены ниже; однако, перечисление их содержимого и дальнейшее обсуждение предопределенных переменных PHP и их сути смотрите в разделе Зарезервированные предопределенные переменные. Также вы заметите, что старые предопределенные переменные ($HTTP_*_VARS) всё еще существуют. Начиная с PHP 5.0.0, длинные предопределенные переменные массивов PHP могут быть отключены директивой register_long_arrays.

Замечание: Переменные переменных

Суперглобальные переменные не могут быть переменными переменных внутри функций или методов класса.

Замечание:

Хотя суперглобальный массив и соответствующий HTTP_*_VARS могут существовать одновременно, они не идентичны, поэтому изменение одного никак не повлияет на другой.

Если некоторые из переменных в variables_order не установлены, соответствующие им предопределенные массивы также останутся пустыми.

Основы
Область видимости переменной
Переменные


Область видимости переменной

Область видимости переменной - это контекст, в котором эта переменная определена. В большинстве случаев все переменные PHP имеют только одну область видимости. Эта единая область видимости охватывает также включаемые (include) и требуемые (require) файлы. Например:

<?php
$a = 1;
include 'b.inc';
?>

Здесь переменная $a будет доступна внутри включенного скрипта b.inc. Однако определение (тело) пользовательской функции задает локальную область видимости данной функции. Любая используемая внутри функции переменная по умолчанию ограничена локальной областью видимости функции. Например:

<?php
$a = 1; /* глобальная область видимости */

function test()
{
    echo $a; /* ссылка на переменную локальной области видимости */
}

test();
?>

Этот скрипт не сгенерирует никакого вывода, поскольку выражение echo указывает на локальную версию переменной $a, а в пределах этой области видимости ей не было присвоено значение. Возможно вы заметили, что это немного отличается от языка C в том, что глобальные переменные в C автоматически доступны функциям, если только они не были перезаписаны локальным определением. Это может вызвать некоторые проблемы, поскольку люди могут нечаянно изменить глобальную переменную. В PHP, если глобальная переменная будет использоваться внутри функции, она должна быть объявлена глобальной внутри определения функции.

Ключевое слово global

Сначала пример использования global:

Пример #1 Использование global

<?php
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
}

Sum();
echo $b;
?>

Вышеприведенный скрипт выведет 3. После определения $a и $b внутри функции как global все ссылки на любую из этих переменных будут указывать на их глобальную версию. Не существует никаких ограничений на количество глобальных переменных, которые могут обрабатываться функцией.

Второй способ доступа к переменным глобальной области видимости - использование специального, определяемого PHP массива $GLOBALS. Предыдущий пример может быть переписан так:

Пример #2 Использование $GLOBALS вместо global

<?php
$a = 1;
$b = 2;

function Sum()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Sum();
echo $b;
?>

$GLOBALS - это ассоциативный массив, ключом которого является имя, а значением - содержимое глобальной переменной. Обратите внимание, что $GLOBALS существует в любой области видимости, это объясняется тем, что $GLOBALS является суперглобальным. Ниже приведен пример, демонстрирующий возможности суперглобальных переменных:

Пример #3 Суперглобальные переменные и область видимости

<?php
function test_global()
{
    // Большинство предопределенных переменных не являются
    // "супер", и чтобы быть доступными в локальной области
    // видимости, функции требуют указания 'global'.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Суперглобальные переменные доступны в любой области
    // видимости и не требуют указания 'global'.
    // Суперглобальные переменные доступны, начиная с PHP 4.1.0, а
    // использование HTTP_POST_VARS считается устаревшим.
    echo $_POST['name'];
}
?>

Замечание:

Использование ключевого слова global вне функции не является ошибкой. Оно может быть использовано в файле, которые включается внутрь функции.

Использование статических (static) переменных

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

Пример #4 Демонстрация необходимости статических переменных

<?php
function test()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Эта функция довольно бесполезна, поскольку при каждом вызове она устанавливает $a в 0 и выводит 0. Инкремент переменной $a++ здесь не играет роли, так как при выходе из функции переменная $a исчезает. Чтобы написать полезную считающую функцию, которая не будет терять текущего значения счетчика, переменная $a объявляется как static:

Пример #5 Пример использования статических переменных

<?php
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Теперь $a будет проинициализирована только при первом вызове функции, а каждый вызов функции test() будет выводить значение $a и инкрементировать его.

Статические переменные также дают возможность работать с рекурсивными функциями. Рекурсивной является функция, вызывающая саму себя. При написании рекурсивной функции нужно быть внимательным, поскольку есть вероятность сделать рекурсию бесконечной. Вы должны убедиться, что существует адекватный способ завершения рекурсии. Следующая простая функция рекурсивно считает до 10, используя для определения момента остановки статическую переменную $count:

Пример #6 Статические переменные и рекурсивные функции

<?php
function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test();
    }
    $count--;
}
?>

Замечание:

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

Пример #7 Объявление статических переменных

<?php
function foo(){
    static $int = 0;          // верно
    static $int = 1+2;        // неверно  (поскольку это выражение)
    static $int = sqrt(121);  // неверно  (поскольку это тоже выражение)

    $int++;
    echo $int;
}
?>

Замечание:

Статические объявления вычисляются во время компиляции скрипта.

Замечание:

Использование ключевого слова global вне функции не является ошибкой. Оно может быть использовано, если файл включается внутрь функции.

Ссылки с глобальными (global) и статическими (static) переменными

Движок Zend Engine 1, лежащий в основе PHP 4, оперирует модификаторами переменных static и global как ссылками. Например, реальная глобальная переменная, внедренная в область видимости функции указанием ключевого слова global, в действительности создает ссылку на глобальную переменную. Это может привести к неожиданному поведению, как это показано в следующем примере:

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

Результат выполнения данного примера:

NULL
object(stdClass)(0) {
}

Аналогично ведет себя и выражение static. Ссылки не хранятся статично:

<?php
function &get_instance_ref() {
    static $obj;

    echo 'Статический объект: ';
    var_dump($obj);
    if (!isset($obj)) {
        // Присвоить ссылку статической переменной
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo 'Статический объект: ';
    var_dump($obj);
    if (!isset($obj)) {
        // Присвоить объект статической переменной
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = get_instance_ref();
$still_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$still_obj2 = get_instance_noref();
?>

Результат выполнения данного примера:

Статический объект: NULL
Статический объект: NULL

Статический объект: NULL
Статический объект: object(stdClass)(1) {
["property"]=>
int(1)
}

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

Предопределенные переменные
Переменные переменных
Переменные


Переменные переменных

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

<?php
$a = 'hello';
?>

Переменная переменной берет значение переменной и рассматривает его как имя переменной. В вышеприведенном примере hello может быть использовано как имя переменной при помощи двух знаков доллара. То есть:

<?php
$$a = 'world';
?>

Теперь в дереве символов PHP определены и содержатся две переменные: $a, содержащая "hello", и $hello, содержащая "world". Таким образом, выражение

<?php
echo "$a ${$a}";
?>

выведет то же, что и

<?php
echo "$a $hello";
?>

то есть, они оба выведут: hello world.

Для того чтобы использовать переменные переменных с массивами, вы должны решить проблему двусмысленности. То есть, если вы напишете $$a[1], обработчику необходимо знать, хотите ли вы использовать $a[1] в качестве переменной, либо вам нужна как переменная $$a, а затем ее индекс [1]. Синтаксис для разрешения этой двусмысленности таков: ${$a[1]} для первого случая и ${$a}[1] для второго.

К свойствам класса также можно получить доступ динамически. Переменное имя свойства будет разрешено в том контексте, в котором произойдет вызов к нему. Например, в случае выражения $foo->$bar, локальная область видимости будет просканирована на наличие переменной $bar, значение которой будет использовано в качестве имени свойства объекта $foo. Это также работает и в том случае, если $bar осуществляет доступ к элементу массива.

Пример #1 Пример переменного имени свойства

<?php
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->$baz[1] . "\n";
?>

Результат выполнения данного примера:

I am bar.
I am bar.

Внимание

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

Область видимости переменной
Переменные извне PHP
Переменные


Переменные извне PHP

HTML-формы (GET и POST)

Когда происходит отправка данных формы PHP-скрипту, информация из этой формы автоматически становится доступной ему. Существует много способов получения этой информации, например:

Пример #1 Простая HTML-форма

<form action="foo.php" method="post">
    Имя:  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Отправь меня!" />
</form>

В зависимости от вашей индивидуальной установки и личных настроек существует много способов доступа к данным из ваших HTML-форм. Вот несколько примеров:

Пример #2 Доступ к данным из простой HTML POST-формы

<?php
// Доступно, начиная с PHP 4.1.0

   echo $_POST['username'];
   echo $_REQUEST['username'];

   import_request_variables('p', 'p_');
   echo $p_username;

// Начиная с PHP 5.0.0, эти длинные предопределенные
// переменные могут быть отключены директивой register_long_arrays.

   echo $HTTP_POST_VARS['username'];

// Доступно, если директива PHP register_globals = on. Начиная
// с PHP 4.2.0, значение по умолчанию register_globals = off.
// Использование/доверие этому методу не рекомендуется.

   echo $username;
?>

GET-форма используется аналогично, за исключением того, что вместо POST, вам нужно будет использовать соответствующую предопределенную переменную GET. GET относится также к QUERY_STRING (информация в URL после '?'). Так, например, http://www.example.com/test.php?id=3 содержит GET-данные, доступные как $_GET['id']. Смотрите также $_REQUEST и import_request_variables().

Замечание:

Суперглобальные массивы, такие как $_POST и $_GET, стали доступны в PHP 4.1.0

Замечание:

Точки и пробелы в именах переменных преобразуется в знаки подчеркивания. Например, <input name="a.b" /> станет $_REQUEST["a_b"].

Как уже говорилось, до PHP 4.2.0 значением register_globals по умолчанию было on (включено). Сообщество PHP рекомендует всем не полагаться на эту директиву, поскольку предпочтительно присвоить ей значение off и писать программы исходя из этого.

Замечание:

Конфигурационная директива magic_quotes_gpc влияет на значения Get, Post и Cookie. Если она включена, значение (It's "PHP!") автоматически станет (It\'s \"PHP!\"). Экранирование необходимо при добавлении в базу данных. Смотрите также addslashes(), stripslashes() и magic_quotes_sybase.

PHP также понимает массивы в контексте переменных формы (смотрите соответствующие ЧАВО). К примеру, вы можете сгруппировать связанные переменные вместе или использовать эту возможность для получения значений списка множественного выбора select. Например, давайте отправим форму самой себе, а после отправки отобразим данные:

Пример #3 Более сложные переменные формы

<?php
if ($_POST) {
    echo '<pre>';
    echo htmlspecialchars(print_r($_POST, true));
    echo '</pre>';
}
?>
<form action="" method="post">
    Имя:  <input type="text" name="personal[name]" /><br />
    Email: <input type="text" name="personal[email]" /><br />
    Пиво: <br />
    <select multiple name="beer[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" value="Отправь меня!" />
</form>

Имена переменных кнопки-изображения

При отправке формы вместо стандартной кнопки можно использовать изображение с помощью тега такого вида:

<input type="image" src="image.gif" name="sub" />

Когда пользователь щелкнет где-нибудь на изображении, соответствующая форма будет передана на сервер с двумя дополнительными переменными - sub_x и sub_y. Они содержат координаты нажатия пользователя на изображение. Опытные программисты могут заметить, что на самом деле имена переменных, отправленных браузером, содержат точку, а не подчеркивание, но PHP автоматически конвертирует точку в подчеркивание.

HTTP Cookies

PHP прозрачно поддерживает HTTP cookies как определено в » спецификации Netscape. Cookies - это механизм для хранения данных в удаленном браузере и отслеживания и идентификации таким образом вернувшихся пользователей. Вы можете установить cookies, используя функцию setcookie(). Cookies являются частью HTTP-заголовка, поэтому функция SetCookie должна вызываться до того, как браузеру будет отправлен какой бы то ни было вывод. Это ограничение аналогично ограничению функции header(). Данные, хранящиеся в cookie, доступны в соответствующих массивах данных cookie, таких как $_COOKIE, $HTTP_COOKIE_VARS, а также в $_REQUEST. Подробности и примеры смотрите на странице setcookie() руководства.

Если вы хотите присвоить множество значений одной переменной cookie, вы можете присвоить их как массив. Например:

<?php
  setcookie("MyCookie[foo]", 'Testing 1', time()+3600);
  setcookie("MyCookie[bar]", 'Testing 2', time()+3600);
?>

Это создаст две разные cookie, хотя в вашем скрипте MyCookie будет теперь одним массивом. Если вы хотите установить именно одну cookie со множеством значений, примите во внимание сначала применение к значениям таких функций, как serialize() или explode().

Обратите внимание, что cookie заменит предыдущую cookie с тем же именем в вашем браузере, если только путь или домен не отличаются. Так, для приложения корзины покупок вы, возможно, захотите сохранить счетчик. То есть:

Пример #4 Пример использования setcookie()

<?php
if (isset($_COOKIE['count'])) {
    $count = $_COOKIE['count'] + 1;
} else {
    $count = 1;
}
setcookie('count', $count, time()+3600);
setcookie("Cart[$count]", $item, time()+3600);
?>

Точки в именах приходящих переменных

Как правило, PHP не меняет передаваемых скрипту имен переменных. Однако следует отметить, что точка не является корректным символом в имени переменной PHP. Поэтому рассмотрим такую запись:

<?php
$varname.ext;  /* неверное имя переменной */
?>
В данном случае интерпретатор видит переменную $varname, после которой идет оператор конкатенации, а затем голая строка (то есть, не заключенная в кавычки строка, не соответствующая ни одному из ключевых или зарезервированных слов) 'ext'. Очевидно, что это не даст ожидаемого результата.

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

Определение типов переменных

Поскольку PHP определяет и конвертирует типы переменных (в большинстве случаев) как надо, не всегда очевидно, какой тип имеет данная переменная в конкретный момент времени. PHP содержит несколько функций, позволяющих определить тип переменной, таких как: gettype(), is_array(), is_float(), is_int(), is_object() и is_string(). Смотрите также раздел Типы.

Переменные переменных
Константы
Переменные


Константы

Содержание

  • Синтаксис
  • "Волшебные" константы

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

Имя константы должно соответствовать тем же правилам, что и другие имена в PHP. Правильное имя начинается с буквы или символа подчеркивания и состоит из букв, цифр и подчеркиваний. Регулярное выражение для проверки правильности имени константы выглядит так: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Подсказка

Смотрите также Руководство по именованию.

Пример #1 Правильные и неправильные имена констант

<?php

// Правильные имена констант
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// Неправильные имена констант
define("2FOO",    "something");

// Это корректное объявление, но лучше его не использовать:
// PHP однажды может зарегистрировать "волшебную" константу,
// которая сломает ваш скрипт
define("__FOO__", "something");

?>

Замечание: Понятие "буквы" здесь - это символы a-z, A-Z, и другие символы с ASCII-кодами от 127 до 255 (0x7f-0xff).

Как и superglobals, константы доступны из любой области видимости. Вы можете использовать константы в любом месте вашего скрипта, не обращая внимания на текущую область видимости. Подробную информацию об областях видимости можно найти здесь.

Переменные извне PHP
Синтаксис
Справочник языка


Синтаксис

Вы можете определить константу с помощью функции define() или с помощью ключевого слова const вне объявления класса начиная с версии PHP 5.3.0. После того, как константа определена, ее значение не может быть изменено или аннулировано.

Константы могут содержать только скалярные данные (boolean, integer, float и string типов). Возможно также определять константы типа resource, но этого следует избегать, так как это может привести к неожиданным результатам.

Получить значение константы можно, указав ее имя. В отличие от переменных, вам не нужно предварять имя константы символом $. Также вы можете использовать функцию constant() для получения значения константы, если вы формируете имя константы динамически. Используйте функцию get_defined_constants() для получения списка всех объявленных констант.

Замечание: Константы и (глобальные) переменные находятся в разных пространствах имен. Это означает, что, например, TRUE и $TRUE являются совершенно разными вещами.

Если вы используете неопределенную константу, PHP предполагает, что вы имеете ввиду само имя константы, как если бы вы указали литерал типа string (CONSTANT вместо "CONSTANT"). При этом будет сгенерирована ошибка уровня E_NOTICE. Смотрите также главу руководства, которая разъясняет, почему $foo[bar] - это неправильно (конечно, если вы перед этим не объявили bar как константу с помощью define()). Если вы просто хотите проверить, определена ли константа, используйте функцию defined().

Различия между константами и переменными:

  • У констант нет приставки в виде знака доллара ($);
  • Константы можно определить только с помощью функции define(), а не присваиванием значения;
  • Константы могут быть определены и доступны в любом месте без учета области видимости;
  • Константы не могут быть переопределены или аннулированы после первоначального объявления; и
  • Константы могут иметь только скалярные значения.

Пример #1 Определение констант

<?php
define("CONSTANT", "Здравствуй, мир.");
echo CONSTANT; // выводит "Здравствуй, мир."
echo Constant; // выводит "Constant" и предупреждение.
?>

Пример #2 Определение констант с помощью ключевого слова const

<?php
// Работает, начиная с версии PHP 5.3.0
const CONSTANT = 'Здравствуй, мир.';

echo CONSTANT;
?>

Замечание:

В отличие от определения констант с помощью функции define(), константы, объявленные с помощью ключевого слова const должны быть объявлены в самой верхней области видимости, потому что они определяются при компилировании скрипта. Это означает, что их нельзя объявлять внутри функций, циклов или выражений if.

Смотрите также Константы классов.

Константы
"Волшебные" константы
Константы


"Волшебные" константы

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

Есть семь волшебных констант, которые меняют свое значение в зависимости от контекста, в котором они используются. Например, значение __LINE__ зависит от строки в скрипте, на которой эта константа указана. Специальные константы нечувствительны к регистру и их список приведен ниже:

Некоторые "волшебные" константы PHP
Имя | Описание
__LINE__ | Текущий номер строки в файле.
__FILE__ | Полный путь и имя текущего файла. Если используется внутри подключаемого файла, то возвращается имя данного файла. Начиная с версии PHP 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в старых версиях в некоторых обстоятельствах возвращался относительный путь.
__DIR__ | Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызову dirname(__FILE__). Возвращаемое имя директории не оканчивается на слэш, за исключением корневой директории (добавлена в PHP 5.3.0.)
__FUNCTION__ | Имя функции. (Добавлена в PHP 4.3.0.) Начиная с PHP 5 эта константа возвращает имя функции точно так, как оно было объявлено (с учетом регистра). В PHP 4 это значение всегда было в нижнем регистре.
__CLASS__ | Имя класса. (Добавлена в PHP 4.3.0) Начиная с PHP 5 эта константа возвращает имя класса точно так, как оно было объявлено (с учетом регистра). В PHP 4 это значение всегда было в нижнем регистре. Имя класса содержит название пространства имен, в котором класс был объявлен (например, Foo\Bar). Обратите внимание, что начиная с PHP5.4 __CLASS__ также работает в трейтах. При использовании в методах трейтов __CLASS__ является именем класса, в котором эти методы используется.
__TRAIT__ | Имя трейта. (Добавлена в PHP 5.4.0) Начиная с PHP 5.4 эта константа возвращает имя трейта точно так, как оно было объявлено (с учетом регистра). Это имя содержит название пространства имен, в котором трейт был объявлен (например, Foo\Bar).
__METHOD__ | Имя метода класса. (Добавлена в PHP 5.0.0) Имя метода возвращается так, как оно было объявлено (с учетом регистра).
__NAMESPACE__ | Имя текущего пространства имен (с учетом регистра). Эта константа определяется во время компиляции (Добавлена в версии PHP 5.3.0).

Смотрите также
get_class(),
get_object_vars(),
file_exists() и
function_exists().

Синтаксис
Выражения
Константы


Выражения

Выражения - это самые важные строительные элементы PHP. Почти все, что вы пишите в PHP, является выражением. Самое простое и точное определение выражения - "все что угодно, имеющее значение".

Основными формами выражений являются константы и переменные. Если вы записываете "$a = 5", вы присваиваете '5' переменной $a. '5', очевидно, имеет значение 5 или, другими словами, '5' это выражение со значением 5 (в данном случае '5' - это целочисленная константа).

После этого присвоения вы ожидаете, что значением $a также является 5, поэтому, если вы написали $b = $a, вы полагаете, что работать это будет так же, как если бы вы написали $b = 5. Другими словами, $a это также выражение со значением 5. Если все работает верно, то именно так и произойдет.

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

<?php
function foo ()
{
    return 5;
}
?>

Исходя из того, что вы хорошо знакомы с концепцией функций (если нет, то прочитайте главу о функциях), вы полагаете, что запись $c = foo() абсолютно эквивалентна записи $c = 5, и вы правы. Функции - это выражения, значением которых является то, что возвращает функция. Поскольку foo() возвращает 5, значением выражения 'foo()' является 5. Как правило, функции возвращают не просто статическое значение, а что-то вычисляют.

Разумеется, значения в PHP не обязаны быть целочисленными, и очень часто ими не являются. PHP поддерживает четыре типа скалярных значений: целочисленные (integer), с плавающей точкой (float), строковые значения (string) и булевы (boolean) значения (скалярными являются значения, которые вы не можете 'разбить' на меньшие части, в отличие, например, от массивов). PHP поддерживает также два комбинированных (не скалярных) типа: массивы и объекты. Любое значение такого типа может присваиваться переменной или возвращаться. функцией.

Однако PHP, как и многие другие языки, понимает гораздо больше выражений. PHP - это язык, ориентированный на выражения и рассматривающий почти все как выражение. Вернемся к примеру, с которым мы уже имели дело: '$a = 5'. Легко заметить, что здесь присутствуют два значения - значение целочисленной константы '5' и значение переменной $a, также принимающей значение 5. Но на самом деле здесь присутствует и еще одно значение - значение самого присвоения. Само присвоение вычисляется в присвоенное значение, в данном случае - в 5. На практике это означает, что '$a = 5', независимо от того, что оно делает, является выражением со значением 5. Таким образом, запись '$b = ($a = 5)' равносильна записи '$a = 5; $b = 5;' (точка с запятой обозначает конец выражения). Поскольку операции присвоения анализируются справа налево, вы также можете написать '$b = $a = 5'.

Другой хороший пример ориентированности на выражения - префиксный и постфиксный инкремент и декремент. Пользователи PHP и многих других языков возможно уже знакомы с формой записи variable++ и variable--. Это операторы инкремента и декремента. Также как и C, PHP поддерживает два типа инкремента - префиксный и постфиксный. Они оба инкрементируют значение переменной и эффект их действия на нее одинаков. Разница состоит в значении выражения инкремента. Префиксный инкремент, записываемый как '++$variable', вычисляется в инкрементированное значение (PHP инкрементирует переменную до того как прочесть ее значение, отсюда название 'пре-инкремент'). Постфиксный инкремент, записываемый как '$variable++', вычисляется в первоначальное значение переменной $variable до ее приращения (PHP инкрементирует переменную после прочтения ее значения, отсюда название 'пост-инкремент').

Очень распространенным типом выражений являются выражения сравнения. Результатом вычислений являются FALSE (ложь) или TRUE (истина). PHP поддерживает операции сравнения > (больше), >= (больше либо равно), == (равно), != (не равно), < (меньше) и <= (меньше либо равно). Он также поддерживает операторы строгого равенства: === (равно и одного типа) и !== (не равно или не одного типа). Чаще всего эти выражения используются в операторах условного выполнения, таких как if.

Последний пример выражений, который мы здесь рассмотрим, это смешанные выражения операции и присвоения. Вы уже знаете, что если вы хотите увеличить $a на 1, вы можете просто написать '$a++' или '++$a'. Но что, если вы хотите прибавить больше, чем единицу,например, 3? Вы могли бы написать '$a++' много раз, однако, очевидно это не очень рациональный и удобный способ. Гораздо более распространенной практикой является запись вида '$a = $a + 3'. '$a + 3' вычисляется в значение $a плюс 3 и снова присваивается $a, увеличивая в результате $a на 3. В PHP, как и в некоторых других языках, таких как C, вы можете записать это более коротким образом, что увеличит очевидность смысла и быстроту понимания кода по прошествии времени. Прибавить 3 к текущему значению $a можно с помощью записи '$a += 3'. Это означает дословно "взять значение $a, прибавить к нему 3 и снова присвоить его переменной $a". Кроме большей понятности и краткости, это быстрее работает. Значением '$a += 3', как и обычного присвоения, является присвоенное значение. Обратите внимание, что это НЕ 3, а суммированное значение $a плюс 3 (то, что было присвоено $a). Таким образом может использоваться любой бинарный оператор, например, '$a -= 5' (вычесть 5 из значения $a), '$b *= 7' (умножить значение $b на 7) и т.д.

Существует еще одно выражение, которое может выглядеть необычно, если вы не встречали его в других языках - тернарный условный оператор:

<?php
$first ? $second : $third
?>

Если значением первого подвыражения является TRUE (не ноль), то выполняется второе подвыражение, которое и будет результатом условного выражения. В противном случае будет выполнено третье подвыражение и его значение будет результатом.

Следующий пример должен помочь вам немного улучшить понимание префиксного и постфиксного инкремента и выражений:

<?php
function double($i)
{
    return $i*2;
}
$b = $a = 5;        /* присвоить значение пять переменным $a и $b */
$c = $a++;          /* постфиксный инкремент, присвоить значение $a
                       (5) переменной $c */
$e = $d = ++$b;     /* префиксный инкремент, присвоить увеличенное
                       значение $b (6) переменным $d и $e */

/* в этой точке и $d, и $e равны 6 */

$f = double($d++);  /* присвоить удвоенное значение $d перед
                       инкрементом (2*6 = 12) переменной $f */
$g = double(++$e);  /* присвоить удвоенное значение $e после
                       инкремента (2*7 = 14) переменной $g */
$h = $g += 10;      /* сначала переменная $g увеличивается на 10,
                       приобретая, в итоге, значение 24. Затем значение
                       присвоения (24) присваивается переменной $h,
                       которая в итоге также становится равной 24. */
?>

Некоторые выражения могут рассматриваться как инструкции. В данном случае инструкция имеет вид 'expr ; - выражение с последующей точкой с запятой. В записи '$b = $a = 5;', $a = 5 - это верное выражение, но само по себе не инструкция. Тогда как '$b = $a = 5;' является верной инструкцией.

Последнее, что стоит упомянуть, это истинность значения выражений. Во многих случаях, как правило, в условных операторах и циклах, вас может интересовать не конкретное значение выражения, а только его истинность (значение TRUE или FALSE). Константы TRUE и FALSE (регистро-независимые) - это два возможных булевых значения. При необходимости выражение автоматически преобразуется в булев тип. Подробнее о том, как это происходит, смотрите в разделе о приведении типов.

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

"Волшебные" константы
Операторы
Справочник языка


Операторы

Содержание

  • Приоритет оператора
  • Арифметические операторы
  • Оператор присваивания
  • Побитовые операторы
  • Операторы сравнения
  • Оператор управления ошибками
  • Операторы исполнения
  • Операторы инкремента и декремента
  • Логические операторы
  • Строковые операторы
  • Операторы, работающие с массивами
  • Оператор проверки типа

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

Операторы можно сгруппировать по количеству принимаемых ими значений. Унарные операторы принимают только одно значение, например, ! (оператор логического отрицания) или ++ (инкремент). Бинарные операторы принимают два значения; это, например, знакомые всем арифметические операторы + (плюс) и - (минус), большинство поддерживаемых в PHP операторов входят именно в эту категорию. Ну и, наконец, есть всего один тернарный оператор, ? :, принимающий три значения, обычно его так и называют -- "тернарный оператор" (хотя, возможно, более точным названием было бы "условный оператор").

Полный список PHP-операторов вы можете найти в разделе "Порядок выполнения операторов". В нем также описан порядок выполнения операторов и их ассоциативность, которые точно определяют, как вычисляются выражения с несколькими разными операторами.

Выражения
Приоритет оператора
Справочник языка


Приоритет оператора

Приоритет оператора определяет, насколько "тесно" он связывает между собой два выражения. Например, выражение 1 + 5 * 3 вычисляется как 16, а не 18, поскольку оператор умножения ("*") имеет более высокий приоритет, чем оператор сложения ("+"). Круглые скобки могут использоваться для принудительного указания порядка выполнения операторов. Например, выражение (1 + 5) * 3 вычисляется как 18.

Если операторы имеют равный приоритет, то будут ли они выполняться справа налево или слева направо определяется их ассоциативностью - смотрите примеры ниже.

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

Порядок выполнения операторов
Ассоциативность | Оператор | Дополнительная информация
неассоциативна | clone new | clone и new
левая | [ | array()
неассоциативна | ++ -- | инкремент/декремент
правая | ~ - (int) (float) (string) (array) (object) (bool) @ | типы
неассоциативна | instanceof | типы
правая | ! | логические операторы
левая | * / % | арифметические операторы
левая | + - . | арифметические операторы и строковые операторы
левая | << >> | побитовые операторы
неассоциативна | < <= > >= <> | операторы сравнения
неассоциативна | == != === !== | операторы сравнения
левая | & | побитовые операторы и ссылки
левая | ^ | побитовые операторы
левая | | | побитовые операторы
левая | && | логические операторы
левая | || | логические операторы
левая | ? : | тернарный оператор
правая | = += -= *= /= .= %= &= |= ^= <<= >>= | операторы присваивания
левая | and | логические операторы
левая | xor | логические операторы
левая | or | логические операторы
левая | , | множество применений

У операторов с равным приоритетом левая ассоциативность подразумевает, что выражение вычисляется слева направо, правая ассоциативность, соответственно, подразумевает противоположный порядок.

Пример #1 Ассоциативность

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5

// при совместном использовании ++ и + результат будет неопределенным
$a = 1;
echo ++$a + $a++; // может вывести 4 или 5
?>
Использование скобок, даже там где в них нет строгой необходимости, обычно заметно улучшает читабельность кода.

Замечание:

Несмотря на то, что оператор = имеет низший приоритет, чем большинство остальных операторов, PHP все равно позволяет использовать следующую конструкцию: if (!$a = foo()), которая присваивает переменной $a результат выполнения функции foo().

Операторы
Арифметические операторы
Операторы


Арифметические операторы

Помните школьные основы арифметики? Описанные ниже операторы работают так же.

Арифметические операции
Пример | Название | Результат
-$a | Отрицание | Смена знака $a.
$a + $b | Сложение | Сумма $a и $b.
$a - $b | Вычитание | Разность $a и $b.
$a * $b | Умножение | Произведение $a и $b.
$a / $b | Деление | Частное от деления $a на $b.
$a % $b | Деление по модулю | Целочисленный остаток от деления $a на $b.

Операция деления ("/") возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело - в этом случае возвращается целое значение.

При делении по модулю операнды преобразуются в целые числа (удалением дробной части) до начала операции.

Результат операции остатка от деления % будет иметь тот же знак, что и делимое — то есть, результат $a % $b будет иметь тот же знак, что и $a. Например:

<?php

echo (5 % 3)."\n";           // выводит 2
echo (5 % -3)."\n";          // выводит 2
echo (-5 % 3)."\n";          // выводит -2
echo (-5 % -3)."\n";         // выводит -2

?>

Также вы можете ознакомиться с разделом документации Математические функции.

Приоритет оператора
Оператор присваивания
Операторы


Оператор присваивания

Базовый оператор присваивания обозначается как "=". На первый взгляд может показаться, что это оператор "равно". На самом деле это не так. В действительности, оператор присваивания означает, что левый операнд получает значение правого выражения, (т.е. устанавливается значением).

Результатом выполнения оператора присваивания является само присвоенное значение. Таким образом, результат выполнения "$a = 3" будет равен 3. Это позволяет делать трюки наподобие:

<?php

$a = ($b = 4) + 5; // $a теперь равно 9, а $b было присвоено 4.

?>

Для массивов (array), присвоение значения именованному ключу происходит с помощью оператора "=>". Приоритет этого оператора такой же, как и у остальных операторов присваивания.

В дополнение к базовому оператору присваивания имеются "комбинированные операторы" для всех бинарных арифметическихопераций, операций объединения массивов и строковых операций, которые позволяют использовать некоторое значение в выражении, а затем установить его как результат данного выражения. Например:

<?php

$a = 3;
$a += 5; // устанавливает $a в 8, как если бы мы написали: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // устанавливает $b в "Hello There!",  как и $b = $b . "There!";

?>

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

Исключением из обычного для PHP способа присваивания по значению явлаются объекты (object), которые, начиная с версии PHP 5, присваиваются по ссылке. Принудительно скопировать объекты по значению можно с помощью специального ключевого слова clone.

Присваивание по ссылке

Присваивание по ссылке также поддерживается, для него используется синтаксис $var = &$othervar;. 'Присваивание по ссылке' означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит.

Пример #1 Присваивание по ссылке

<?php
$a = 3;
$b = &$a; // $b - это ссылка на $a

print "$a\n"; // печатает 3
print "$b\n"; // печатает 3

$a = 4; // меняем $a

print "$a\n"; // печатает 4
print "$b\n"; // также печатает 4, так как $b является ссылкой на $a,
              // а значение переменной $a успело измениться
?>

Начиная с версии PHP 5, оператор new автоматически возвращает ссылку, поэтому присваивание результата операции new по ссылке начиная с версии PHP 5.3 генерирует ошибку уровня E_DEPRECATED, а в более ранних версиях - ошибку уровня E_STRICT.

Например, следующий код выдаст предупреждение:

<?php
class C {}

/* Следующая строка сгенерирует следующее сообщение об ошибке:
 * Deprecated: Assigning the return value of new by reference is deprecated in...
 * (Устаревший код: Присвоение результата работы new по ссылке устарело в...)
 */
$o = &new C;
?>

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

Арифметические операторы
Побитовые операторы
Операторы


Побитовые операторы

Побитовые операторы позволяют считывать и устанавливать конкретные биты целых чисел.

Побитовые операторы
Пример | Название | Результат
$a & $b | И | Устанавливаются только те биты, которые установлены и в $a, и в $b.
$a | $b | Или | Устанавливаются те биты, которые установлены в $a или в $b.
$a ^ $b | Исключающее или | Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b, но не в обоих одновременно.
~ $a | Отрицание | Устанавливаются те биты, которые не установлены в $a, и наоборот.
$a << $b | Сдвиг влево | Все биты переменной $a сдвигаются на $b позиций влево (каждая позиция подразумевает "умножение на 2")
$a >> $b | Сдвиг вправо | Все биты переменной $a сдвигаются на $b позиций вправо (каждая позиция подразумевает "деление на 2")

Побитовый сдвиг в PHP - это арифметическая операция. Биты, сдвинутые за границы числа, отбрасываются. Сдвиг влево дополняет число нулями справа, сдвигая в то же время знаковый бит числа влево, что означает что знак операнда не сохраняется. Сдвиг вправо сохраняет копию сдвинутого знакового бита слева, что означает что знак операнда сохраняется.

Используйте скобки для обеспечения необходимого. приоритета операторов. Например, $a & $b == true сначала проверяет на равенство, а потом выполняет побитовое и; тогда как ($a & $b) == true сначала выполняет побитовое и, а потом выполняет проверку на равенство.

Не забывайте о преобразовании типов данных. Если оба, и левый и правый операнды являются строками, побитовый оператор будет работать с ASCII значениями символов этих строк.

Опция настроек PHP error_reporting использует побитовые значения,
обеспечивая реальную демонстрацию гашения значений битов.
Чтобы показать все ошибки кроме замечаний,
инструкции в файле php.ini предлагают использовать:
E_ALL & ~E_NOTICE

Начинаем со значения E_ALL:
00000000000000000111011111111111
Затем берем значение E_NOTICE...
00000000000000000000000000001000
... и инвертируем его с помощью ~:
11111111111111111111111111110111
Наконец, используем побитовое И (&), чтобы установить только те биты,
которые установлены в единицу в обоих значениях:
00000000000000000111011111110111

Другой способ достичь этого - использовать ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR, ^),
чтобы получить только те биты, которые установлены в единицу
либо только в одном, либо только в другом значении:
E_ALL ^ E_NOTICE

Опция error_reporting также может быть использована для демонстрации
установки битов. Показать только ошибки и обрабатываемые ошибки можно
следующим образом:
E_ERROR | E_RECOVERABLE_ERROR

Здесь мы комбинируем E_ERROR
00000000000000000000000000000001
и
00000000000000000001000000000000
с помощью оператора ИЛИ (OR, |),
чтобы получить биты, установленные хотя бы в одном операнде:
00000000000000000001000000000001

Пример #1 Побитовыми операции И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ (AND, OR и XOR) над целыми числами

<?php
/*
 * Не обращайте внимания на этот верхний раздел кода,
 * это просто форматирование для более ясного вывода.
 */

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
        . ' %3$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 ---------     ---------  -- ---------
 результат     значение   оп   тест
 ---------     ---------  -- ---------
EOH;

/*
 * Вот сами примеры.
 */

$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;

echo "\n Побитовое И (AND) \n";
foreach ($values as $value) {
    $result = $value & $test;
    printf($format, $result, $value, '&', $test);
}

echo "\n Побитовое (включающее) ИЛИ (OR) \n";
foreach ($values as $value) {
    $result = $value | $test;
    printf($format, $result, $value, '|', $test);
}

echo "\n Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) \n";
foreach ($values as $value) {
    $result = $value ^ $test;
    printf($format, $result, $value, '^', $test);
}
?>

Результат выполнения данного примера:

 ---------     ---------  -- ---------
 результат     значение   оп   тест
 ---------     ---------  -- ---------
 Побитовое И (AND)
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

 Побитовое (включающее) ИЛИ (OR)
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

 Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)
( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)

Пример #2 Побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) над строками

<?php
echo 12 ^ 9; // Выводит '5'

echo "12" ^ "9"; // Выводит символ Backspace (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Выводит ascii значения #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4

echo 2 ^ "3"; // Выводит 1
              // 2 ^ ((int)"3") == 1

echo "2" ^ 3; // Выводит 1
              // ((int)"2") ^ 3 == 1
?>

Пример #3 Побитовый сдвиг над целыми числами

<?php
/*
 * Несколько примеров.
 */

echo "\n--- СДВИГ ВПРАВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---\n";

$val = 4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'слева была вставлена копия знакового бита');

$val = 4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places);

$val = 4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'биты были выдвинуты за правый край');

$val = 4;
$places = 4;
$res = $val >> $places;
p($res, $val, '>>', $places, 'то же, что и выше; нельзя сдвинуть дальше 0');

echo "\n--- СДВИГ ВПРАВО НАД ОТРИЦАТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---\n";

$val = -4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'слева была вставлена копия знакового бита');

$val = -4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places, 'биты были выдвинуты за правый край');

$val = -4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'то же, что и выше; нельзя сдвинуть дальше -1');

echo "\n--- СДВИГ ВЛЕВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---\n";

$val = 4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'правый край был дополнен нулями');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 4;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = 4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places, 'знаковые биты были выдвинуты');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'биты были выдвинуты за левый край');

echo "\n--- СДВИГ ВЛЕВО НАД ОТРИЦАТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---\n";

$val = -4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'правый край был дополнен нулями');

$val = -4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = -4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'биты были выдвинуты за левый край, включая знаковый бит');

/*
 * Не обращайте внимания на этот нижний раздел кода,
 * это просто форматирование для более ясного вывода.
 */

function p($res, $val, $op, $places, $note = '') {
    $format = '%0' . (PHP_INT_SIZE * 8) . "b\n";

    printf("Выражение: %d = %d %s %d\n", $res, $val, $op, $places);

    echo " Десятичный вид:\n";
    printf("  val=%d\n", $val);
    printf("  res=%d\n", $res);

    echo " Двоичный вид:\n";
    printf('  val=' . $format, $val);
    printf('  res=' . $format, $res);

    if ($note) {
        echo " ЗАМЕЧАНИЕ: $note\n";
    }

    echo "\n";
}
?>

Результат выполнения данного примера на 32-битных машинах:

--- СДВИГ ВПРАВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: 2 = 4 >> 1
 Десятичный вид:
  val=4
  res=2
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000010
 ЗАМЕЧАНИЕ: слева была вставлена копия знакового бита

Выражение: 1 = 4 >> 2
 Десятичный вид:
  val=4
  res=1
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000001

Выражение: 0 = 4 >> 3
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за правый край

Выражение: 0 = 4 >> 4
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 ЗАМЕЧАНИЕ: то же, что и выше; нельзя сдвинуть дальше 0

--- СДВИГ ВПРАВО НА ОТРИЦАТЕЛЬНЫХ ЦЕЛЫХ ЧИСЛАХ ---
Выражение: -2 = -4 >> 1
 Десятичный вид:
  val=-4
  res=-2
 Двоичный вид:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111110
 ЗАМЕЧАНИЕ: слева была вставлена копия знакового бита

Выражение: -1 = -4 >> 2
 Десятичный вид:
  val=-4
  res=-1
 Двоичный вид:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 ЗАМЕЧАНИЕ: биты были выдвинуты за правый край

Выражение: -1 = -4 >> 3
 Десятичный вид:
  val=-4
  res=-1
 Двоичный вид:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 ЗАМЕЧАНИЕ: то же, что и выше; нельзя сдвинуть дальше -1

--- СДВИГ ВЛЕВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: 8 = 4 << 1
 Десятичный вид:
  val=4
  res=8
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000001000
 ЗАМЕЧАНИЕ: правый край был дополнен нулями

Выражение: 1073741824 = 4 << 28
 Десятичный вид:
  val=4
  res=1073741824
 Двоичный вид:
  val=00000000000000000000000000000100
  res=01000000000000000000000000000000

Выражение: -2147483648 = 4 << 29
 Десятичный вид:
  val=4
  res=-2147483648
 Двоичный вид:
  val=00000000000000000000000000000100
  res=10000000000000000000000000000000
 ЗАМЕЧАНИЕ: знаковые биты были выдвинуты

Выражение: 0 = 4 << 30
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за левый край

--- СДВИГ ВЛЕВО НАД ОТРИЦАТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: -8 = -4 << 1
 Десятичный вид:
  val=-4
  res=-8
 Двоичный вид:
  val=11111111111111111111111111111100
  res=11111111111111111111111111111000
 ЗАМЕЧАНИЕ: правый край был дополнен нулями

Выражение: -2147483648 = -4 << 29
 Десятичный вид:
  val=-4
  res=-2147483648
 Двоичный вид:
  val=11111111111111111111111111111100
  res=10000000000000000000000000000000

Выражение: 0 = -4 << 30
 Десятичный вид:
  val=-4
  res=0
 Двоичный вид:
  val=11111111111111111111111111111100
  res=00000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за левый край, включая знаковый бит

Результат выполнения данного примера на 64-битных машинах:

--- СДВИГ ВПРАВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: 2 = 4 >> 1
 Десятичный вид:
  val=4
  res=2
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000010
 ЗАМЕЧАНИЕ: слева была вставлена копия знакового бита

Выражение: 1 = 4 >> 2
 Десятичный вид:
  val=4
  res=1
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000001

Выражение: 0 = 4 >> 3
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за правый край

Выражение: 0 = 4 >> 4
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 ЗАМЕЧАНИЕ: то же, что и выше; нельзя сдвинуть дальше 0

--- СДВИГ ВПРАВО НАД ОТРИЦАТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: -2 = -4 >> 1
 Десятичный вид:
  val=-4
  res=-2
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111110
 ЗАМЕЧАНИЕ: слева была вставлена копия знакового бита

Выражение: -1 = -4 >> 2
 Десятичный вид:
  val=-4
  res=-1
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 ЗАМЕЧАНИЕ: биты были выдвинуты за правый край

Выражение: -1 = -4 >> 3
 Десятичный вид:
  val=-4
  res=-1
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 ЗАМЕЧАНИЕ: то же, что и выше; нельзя сдвинуть дальше -1

--- СДВИГ ВЛЕВО НАД ПОЛОЖИТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: 8 = 4 << 1
 Десятичный вид:
  val=4
  res=8
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000001000
 ЗАМЕЧАНИЕ: правый край был дополнен нулями

Выражение: 4611686018427387904 = 4 << 60
 Десятичный вид:
  val=4
  res=4611686018427387904
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0100000000000000000000000000000000000000000000000000000000000000

Выражение: -9223372036854775808 = 4 << 61
 Десятичный вид:
  val=4
  res=-9223372036854775808
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=1000000000000000000000000000000000000000000000000000000000000000
 ЗАМЕЧАНИЕ: знаковые биты были выдвинуты

Выражение: 0 = 4 << 62
 Десятичный вид:
  val=4
  res=0
 Двоичный вид:
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за левый край

--- СДВИГ ВЛЕВО НАД ОТРИЦАТЕЛЬНЫМИ ЦЕЛЫМИ ЧИСЛАМИ ---
Выражение: -8 = -4 << 1
 Десятичный вид:
  val=-4
  res=-8
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111000
 ЗАМЕЧАНИЕ: правый край был дополнен нулями

Выражение: -9223372036854775808 = -4 << 61
 Десятичный вид:
  val=-4
  res=-9223372036854775808
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1000000000000000000000000000000000000000000000000000000000000000

Выражение: 0 = -4 << 62
 Десятичный вид:
  val=-4
  res=0
 Двоичный вид:
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=0000000000000000000000000000000000000000000000000000000000000000
 ЗАМЕЧАНИЕ: биты были выдвинуты за левый край, включая знаковый бит

Внимание

Не используйте сдвиг вправо более чем на 32 бита на 32-битных системах. Не используйте сдвиг влево для получения чисел, требующих для записи более 32 бит. Используйте функции из расширения gmp для побитовых операций над числами, большими чем PHP_INT_MAX.

Смотрите также
pack(),
unpack(),
gmp_and(),
gmp_or(),
gmp_xor(),
gmp_testbit(),
gmp_clrbit()

Оператор присваивания
Операторы сравнения
Операторы


Операторы сравнения

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

Операторы сравнения
Пример | Название | Результат
$a == $b | Равно | TRUE если $a равно $b после преобразования типов.
$a === $b | Тождественно равно | TRUE если $a равно $b и имеет тот же тип. (добавлено в PHP 4)
$a != $b | Не равно | TRUE если $a не равно $b после преобразования типов.
$a <> $b | Не равно | TRUE если $a не равно $b после преобразования типов.
$a !== $b | Тождественно не равно | TRUE если $a не равно $b или они разных типов (добавлено в PHP 4)
$a < $b | Меньше | TRUE если $a строго меньше $b.
$a > $b | Больше | TRUE если $a строго больше $b.
$a <= $b | Меньше или равно | TRUE если $a меньше или равно $b.
$a >= $b | Больше или равно | TRUE если $a больше или равно $b.

В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа. Эти правила также распространяются на оператор switch. Преобразование типов не происходит при использовании === или !== так как в этом случае кроме самих значений сравниваются еще и типы.

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // Эта ветка никогда не будет достигнута, так как "a" уже сопоставленно с 0
    echo "a";
    break;
}
?>

Для различных типов сравнение происходит в соответствии со следующей таблицей (по порядку).

Сравнение различных типов
Тип операнда 1 | Тип операнда 2 | Результат
null или string | string | NULL преобразуется в "", числовое или лексическое сравнение
bool или null | что угодно | Преобразуется в bool, FALSE < TRUE
object | object | Встроенные классы могут определять свои собственные правила сравнения, объекты разных классов не сравниваются, объекты одного класса - сравниваются свойства тем же способом, что и в массивах (PHP 4), в PHP 5 есть свое собственное объяснение
string, resource или number | string, resource или number | Строки и ресурсы переводятся в числа, обычная математика
array | array | Массивы с меньшим числом элементов считаются меньше, если ключ из первого операнда не найден во втором операнде - массивы не могут сравниваться, иначе идет сравнение соответствующих значений (смотри пример ниже)
array | что угодно | array всегда больше
object | что угодно | object всегда больше

Пример #1 Алгоритм сравнения обычных массивов

<?php
// Так сравниваются массивы при сравнении стандартными операторами
function standard_array_compare($op1, $op2)
{
    if (count($op1) < count($op2)) {
        return -1; // $op1 < $op2
    } elseif (count($op1) > count($op2)) {
        return 1; // $op1 > $op2
    }
    foreach ($op1 as $key => $val) {
        if (!array_key_exists($key, $op2)) {
            return null; // не могут быть сравнимы
        } elseif ($val < $op2[$key]) {
            return -1;
        } elseif ($val > $op2[$key]) {
            return 1;
        }
    }
    return 0; // $op1 == $op2
}
?>

Смотрите также strcasecmp(), strcmp(), операторы массивов, и раздел руководства Типы.

Внимание

Сравнение чисел с плавающей точкой

Из-за особого внутреннего представления float, не нужно проверять на равенство два float-числа.

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

Тернарный оператор

Еще одним условным оператором является тернарный оператор "?:".

Пример #2 Присваивание значения по умолчанию

<?php
// Пример использования тернарного оператора
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// Приведенный выше код аналогичен следующему блоку с использованием if/else
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?>
Выражение (expr1) ? (expr2) : (expr3) интерпретируется как expr2, если expr1 имеет значение TRUE, или как expr3 если expr1 имеет значение FALSE.

Начиная с версии PHP 5.3 также стало возможным не писать среднюю часть тернарного оператора. Выражение expr1 ?: expr3 возвращает expr1 если expr1 имеет значение TRUE, и expr3 в другом случае.

Замечание: Пожалуйста учтите, что тернарный оператор является выражением и трактуется не как переменная, а как результат выражения. Это важно знать, если вы хотите вернуть переменную по ссылке. Выражение return $var == 42 ? $a : $b; не будет работать в функции, возвращающей значение по ссылке, а в более поздних версиях PHP также будет выдано предупреждение.

Замечание:

Рекомендуется избегать "нагромождения" тернарных выражений. Поведение PHP неочевидно при использовании нескольких тернарных операторов в одном выражении:

Пример #3 Неочевидное поведение тернарного оператора

<?php
// на первый взгляд, следующий код должен вывести 'true'
echo (true?'true':false?'t':'f');

// однако, он выводит 't'
// это происходит потому, что тернарные выражения вычисляются слева направо

// это намного более очевидная версия вышеприведенного кода
echo ((true ? 'true' : false) ? 't' : 'f');

// здесь вы можете видеть, что первое выражение вычисляется в 'true', которое
// в свою очередь вычисляется в (bool)true, таким образом возвращая истинную ветвь
// второго тернарного выражения.
?>

Побитовые операторы
Оператор управления ошибками
Операторы


Оператор управления ошибками

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

В случае, если установлена опция track_errors , все генерируемые сообщения об ошибках будут сохраняться в переменной $php_errormsg. Эта переменная будет перезаписываться при каждой новой ошибке, поэтому в случае необходимости проверяйте ее сразу же.

<?php
// Преднамеренная ошибка при работе с файлами
$my_file = @file ('non_existent_file') or
    die ("Ошибка при открытии файла: сообщение об ошибке было таким: '$php_errormsg'");

// работает для любых выражений, а не только для функций
$value = @$cache[$key];
// В случае если ключа $key нет, сообщение об ошибке (notice) не будет отображено

?>

Замечание: Оператор @ работает только с выражениями. Есть простое правило: если что-то возвращает значение, значит вы можете использовать перед ним оператор @. Например, вы можете использовать @ перед именем переменной, произвольной функцией или вызовом include(), константой и так далее. В то же время вы не можете использовать этот оператор перед определением функции или класса, условными конструкциями, такими как if, foreach и т.д.

Также ознакомьтесь с описанием функции error_reporting() и разделом руководства Обработка ошибок и функции логирования.

Внимание

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

Операторы сравнения
Операторы исполнения
Операторы


Операторы исполнения

PHP поддерживает один оператор исполнения: обратные кавычки (``). Обратите внимание, что это не одинарные кавычки! PHP попытается выполнить строку, заключенную в обратные кавычки, как консольную команду, и вернет полученный вывод (т.е. он не просто выводится на экран, а, например, может быть присвоен переменной). Использование обратных кавычек аналогично использованию функции shell_exec().

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Замечание:

Обратные кавычки недоступны, в случае, если включен безопасный режим или отключена функция shell_exec().

Замечание:

В отличие от некоторых других языков, обратные кавычки не будут работать внутри строк в двойных кавычках.

Ознакомьтесь также со следующими разделами документации: Функции для выполнения программ, popen() proc_open(), и Использование PHP в командной строке.

Оператор управления ошибками
Операторы инкремента и декремента
Операторы


Операторы инкремента и декремента

PHP поддерживает префиксные и постфиксные операторы инкремента и декремента в стиле C.

Замечание: Операторы инкремента/декремента не влияют на булевы значения. Декремент NULL также не даст никакого эффекта, однако инкремент даст значение 1.

Операторы инкремента и декремента
Пример | Название | Действие
++$a | Префиксный инкремент | Увеличивает $a на единицу, затем возвращает значение $a.
$a++ | Постфиксный инкремент | Возвращает значение $a, затем увеличивает $a на единицу.
--$a | Префиксный декремент | Уменьшает $a на единицу, затем возвращает значение $a.
$a-- | Постфиксный декремент | Возвращает значение $a, затем уменьшает $a на единицу.

Приведем пример простого скрипта:

<?php
echo "<h3>Постфиксный инкремент</h3>";
$a = 5;
echo "Должно быть 5: " . $a++ . "<br />\n";
echo "Должно быть 6: " . $a . "<br />\n";

echo "<h3>Префиксный инкремент</h3>";
$a = 5;
echo "Должно быть 6: " . ++$a . "<br />\n";
echo "Должно быть 6: " . $a . "<br />\n";

echo "<h3>Постфиксный декремент</h3>";
$a = 5;
echo "Должно быть 5: " . $a-- . "<br />\n";
echo "Должно быть 4: " . $a . "<br />\n";

echo "<h3>Префиксный декремент</h3>";
$a = 5;
echo "Должно быть 4: " . --$a . "<br />\n";
echo "Должно быть 4: " . $a . "<br />\n";
?>

PHP следует соглашениям Perl (в отличие от С) касательно выполнения арифметических операций с символьными переменными. Например, в PHP и Perl $a = 'Z'; $a++; присвоит $a значение 'AA', в то время как в C a = 'Z'; a++; присвоит a значение '[' (ASCII значение 'Z' равно 90, а ASCII значение '[' равно 91). Следует учесть, что к символьным переменным можно применять операцию инкремента, в то время как операцию декремента применять нельзя, кроме того, поддерживаются только ASCII символы (a-z и A-Z). Попытка инкремента/декремента других символьных переменных не будет иметь никакого эффекта, исходная строка останется неизменной.

Пример #1 Арифметические операции с символьными переменными

<?php
$i = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$i . "\n";
}
?>

Результат выполнения данного примера:

X
Y
Z
AA
AB
AC

Инкрементирование или декрементирование булевых переменных не приводит ни к какому результату.

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


Логические операторы

Логические операторы
Пример | Название | Результат
$a and $b | И | TRUE если и $a, и $b TRUE.
$a or $b | Или | TRUE если или $a, или $b TRUE.
$a xor $b | Исключающее или | TRUE если $a, или $b TRUE, но не оба.
! $a | Отрицание | TRUE если $a не TRUE.
$a && $b | И | TRUE если и $a, и $b TRUE.
$a || $b | Или | TRUE если или $a, или $b TRUE.

Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).

Пример #1 Объяснение логических операторов

<?php

// --------------------
// foo() никогда не буде вызвана, так как эти операторы являются шунтирующими (short-circuit)

$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// --------------------
// "||" имеет больший приоритет, чем "or"

// Результат выражения (false || true) присваивается переменной $e
// Действует как: ($e = (false || true))
$e = false || true;

// Константа false присваивается $f, а затем значение true игнорируется
// Действует как: (($f = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" имеет больший приоритет, чем "and"

// Результат выражения (true && false) присваивается переменной $g
// Действует как: ($g = (true && false))
$g = true && false;

// Константа true присваивается $h, а затем значение false игнорируется
// Действует как: (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)
bool(false)
bool(true)
Операторы инкремента и декремента
Строковые операторы
Операторы


Строковые операторы

В PHP есть два оператора для работы со строками (string). Первый - оператор конкатенации ('.'), который возвращает строку, представляющую собой соединение левого и правого аргумента. Второй - оператор присваивания с конкатенацией ('.='), который присоединяет правый аргумент к левому. Для получения более полной информации ознакомьтесь с разделом Операторы присваивания.

<?php
$a = "Hello ";
$b = $a . "World!"; // $b теперь содержит строку "Hello World!"

$a = "Hello ";
$a .= "World!";     // $a теперь содержит строку "Hello World!"
?>

Также ознакомьтесь с разделами документации Строки и Функции для работы со строками.

Логические операторы
Операторы, работающие с массивами
Операторы


Операторы, работающие с массивами

Операторы, работающие с массивами
Пример | Название | Результат
$a + $b | Объединение | Объединение массива $a и массива $b.
$a == $b | Равно | TRUE в случае, если $a и $b содержат одни и те же пары ключ/значение.
$a === $b | Тождественно равно | TRUE в случае, если $a и $b содержат одни и те же паты ключ/значение в том же самом порядке и того же типа.
$a != $b | Не равно | TRUE, если массив $a не равен массиву $b.
$a <> $b | Не равно | TRUE, если массив $a не равен массиву $b.
$a !== $b | Тождественно не равно | TRUE, если массив $a не равен тождественно массиву $b.

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

<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // Объединение $a и $b
echo "Union of \$a and \$b: \n";
var_dump($c);

$c = $b + $a; // Объединение $b и $a
echo "Union of \$b and \$a: \n";
var_dump($c);
?>
После своего выполнения скрипт напечатает следующее:
Union of $a and $b:
array(3) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
}
Union of $b and $a:
array(3) {
  ["a"]=>
  string(4) "pear"
  ["b"]=>
  string(10) "strawberry"
  ["c"]=>
  string(6) "cherry"
}

При сравнении элементы массива считаются идентичными, если совпадает и ключ, и соответствующее ему значение.

Пример #1 Сравнение массивов

<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Также ознакомьтесь с разделами Массивы и Функции для работы с массивами.

Строковые операторы
Оператор проверки типа
Операторы


Оператор проверки типа

Оператор instanceof используется для определения того, является ли текущий объект экземпляром указанного класса.

Пример #1 Использование instanceof с классами

<?php
class MyClass
{
}

class NotMyClass
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Оператор instanceof также может быть использован для определения, наследует ли определенный объект какому-либо классу:

Пример #2 Использование instanceof с наследуемыми классами

<?php
class ParentClass
{
}

class MyClass extends ParentClass
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof ParentClass);
?>

Результат выполнения данного примера:

bool(true)
bool(true)

Для проверки непринадлежности объекта некоторому классу, используйте логический оператор not.

Пример #3 Использование instanceof для проверки того, что объект не является экземпляром класса

<?php
class MyClass
{
}

$a = new MyClass;
var_dump(!($a instanceof stdClass));
?>

Результат выполнения данного примера:

bool(true)

Ну и наконец, instanceof может быть также использован для проверки реализации объектом некоторого интерфейса:

Пример #4 Использование instanceof для класса

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof MyInterface);
?>

Результат выполнения данного примера:

bool(true)
bool(true)

Хотя instanceof обычно используется с прямо указанным именем класса, он также может быть использован с другим объектом или строковой переменной:

Пример #5 Использование instanceof с другими переменными

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$a = new MyClass;
$b = new MyClass;
$c = 'MyClass';
$d = 'NotMyClass';

var_dump($a instanceof $b); // $b это объект класса MyClass
var_dump($a instanceof $c); // $c это строка 'MyClass'
var_dump($a instanceof $d); // $d это строка 'NotMyClass'
?>

Результат выполнения данного примера:

bool(true)
bool(true)
bool(false)

Есть несколько подводных камней, которых следует остерегаться. До версии PHP 5.1.0, instanceof вызывал __autoload() если имя класса не существовало. Вдобавок, если класс не был загружен, происходила фатальная ошибка. Это можно было обойти с помощью динамической ссылки на класс или использования строковой переменной с именем класса:

Пример #6 Избежание поиска класса и фатальных ошибок с instanceof в PHP 5.0

<?php
$d = 'NotMyClass';
var_dump($a instanceof $d); // нет фатальной ошибки
?>

Результат выполнения данного примера:

bool(false)

Оператор instanceof был добавлен в PHP 5. До этого времени использовалась функция is_a(), но позже is_a() была помечена устаревшей в пользу instanceof. Учтите, что с версии PHP 5.3.0, is_a() больше не является устаревшей.

Ознакомьтесь также с описанием функций get_class() и is_a().

Операторы, работающие с массивами
Управляющие конструкции
Операторы


Управляющие конструкции

Содержание

  • Введение
  • if
  • else
  • elseif/else if
  • Альтернативный синтаксис управляющих структур
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto
Оператор проверки типа
Введение
Справочник языка


Введение

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

Управляющие конструкции
if
Управляющие конструкции


if

(PHP 4, PHP5)

Конструкция if является одной из наиболее важных во многих языках программирования, в том числе и PHP. Она предоставляет возможность условного выполнения фрагментов кода. Структура if реализована в PHP по аналогии с языком C:

if (выражение)
  инструкция

Как описано в разделе про выражения, выражение вычисляется в булево значение. Если выражение принимает значение TRUE, PHP выполнит инструкцию, а если оно принимает значение FALSE - проигнорирует. Информацию о том, какие значения считаются равными значению FALSE, можно найти в разделе 'Преобразование в булев тип'.

Следующий пример выведет a больше b, если значение переменной $a больше, чем $b:

<?php
if ($a > $b)
  echo "a больше b";
?>

Часто необходимо, чтобы условно выполнялось более одной инструкции. Разумеется, для этого нет необходимости обворачивать каждую инструкцию в if. Вместо этого можно объединить несколько инструкций в блок. Например, следующий код выведет a больше b, если значение переменной $a больше, чем $b, и затем присвоит значение переменной $a переменной $b:

<?php
if ($a > $b) {
  echo "a больше b";
  $b = $a;
}
?>

Инструкции if могут быть бесконечно вложены в другие инструкции if, что даёт большую гибкость в организации условного выполнения различных частей программы.

Введение
else
Управляющие конструкции


else

(PHP 4, PHP5)

Часто необходимо выполнить одно выражение, если определенное условие верно, и другое выражение, если условие не верно. Именно для этого else и используется. else расширяет оператор if, чтобы выполнить выражение, в лучае если условие в операторе if равно FALSE. К примеру, следующий код выведет a больше чем b, если $a больше, чем $b, и a НЕ больше, чем b в противном случае:

<?php
if ($a > $b) {
  echo "a больше, чем b";
} else {
  echo "a НЕ больше, чем b";
}
?>
Выражение else выполняется только, если выражение if эквивалентно FALSE, и если нет других любых выражений elseif, или если они все равны FALSE также (смотри elseif).

if
elseif/else if
Управляющие конструкции


elseif/else if

(PHP 4, PHP5)

Конструкция elseif, как ее имя и говорит есть сочетание if и else. Аналогично else, она расширяет оператор if для выполнения различных выражений в случае, когда условие начального оператора if эквивалентно FALSE. Однако, в отличии от else, выполнение альтернотивного выражения произойдет только тогда, когда условие оператора elseif будет являться равным TRUE. К примеру, следующий код может выводить a больше, чем b, a равно b or a меньше, чем b:

<?php
if ($a > $b) {
    echo "a больше, чем b";
} elseif ($a == $b) {
    echo "a равен b";
} else {
    echo "a меньше, чем b";
}
?>

Может быть несколько elseif в одном if выражении. Первое же выражение elseif (если будет хоть одно) равное TRUE будет выполнено. В PHP вы также можете написать 'else if' (в два слова), и тогда поведение будет идентичным 'elseif' (в одно слово). Синтаксически значение немного отличается (если Вы знакомы с языком С, это тоже самое поведение), но в конечном итоге оба выражения приведут к одному и тому же результату.

Выражение elseif выполнится, если предшествующее выражение if и предшествующие выражения elseif эквивалентны FALSE, а текущий elseif равен TRUE.

Замечание: Заметьте, что elseif и else if будут равнозначны только при использовании фигурных скобок, как в примерах выше. Если используются двоеточие для определения условий if/elseif, Вы не должны разделять else if в два слова, иначе это вызовет фатальную ошибку в PHP.

<?php

/* Некорректный способ: */
if($a > $b):
    echo $a." больше, чем ".$b;
else if($a == $b): // Не скомпилируется.
    echo "Строка выше вызывает фатальную ошибку.";
endif;

/* Корректный способ: */
if($a > $b):
    echo $a." больше, чем ".$b;
elseif($a == $b): // Заметьте, тут одно слово.
    echo $a." равно ".$b;
else:
    echo $a." не больше и не равно ".$b;
endif;

?>

else
Альтернативный синтаксис управляющих структур
Управляющие конструкции


Альтернативный синтаксис управляющих структур

(PHP 4, PHP5)

PHP предлагает альтернативный синтаксис для некоторых его управляющих структур, а именно: if, while, for, foreach и switch. В каждом случае основной формой альтернативного синтаксиса является изменение открывающей фигурной скобки на двоеточие (:), а закрывающей скобки на endif;, endwhile;, endfor;, endforeach; или endswitch; соответственно.

<?php if ($a == 5): ?>
A равно 5
<?php endif; ?>

В приведенном выше примере, блок HTML "A равно 5" вложен внутрь структуры if написанной с альтернативным синтаксисом. HTML блок будет показан только если переменная $a равна 5.

Альтернативный синтаксис также применяется и к else и elseif. Ниже приведена структура if с elseif и else в альтернативном формате:

<?php
if ($a == 5):
    echo "a равно 5";
    echo "...";
elseif ($a == 6):
    echo "a равно 6";
    echo "!!!";
else:
    echo "a не равно ни 5 ни 6";
endif;
?>

Замечание:

Смешивание синтаксиса в одном и том же блоке управления не поддерживается.

За дополнительными примерами обращайтесь также к while, for и if.

elseif/else if
while
Управляющие конструкции


while

(PHP 4, PHP5)

Циклы while являются простейшим видом циклов в PHP. Они ведут себя так же, как и их коллеги из языка C. Простейшей формой цикла while является следующее выражение:

while (expr)
    statement

Смысл выражения while очень прост. Оно указывает PHP выполнять вложенные выражения повторно до тех пор, пока выражение в самом while является TRUE. Значение выражения expr проверяется каждый раз перед началом цикла, поэтому даже если значение выражения изменится в процессе выполнения вложенных выражений в цикле, выполнение не прекратится до конца итерации (каждый раз, когда PHP выполняет выражения в цикле - это одна итерация). В том случае, если выражение while равно FALSE с самого начала, вложенные выражения ни разу не будут выполнены.

Также, как и с оператором if, вы можете группировать несколько выражений внутри одного цикла while, заключая эти выражения между фигурными скобками или используя альтернативный синтаксис:

while (expr):
    statement
    ...
endwhile;

Следующие примеры идентичны, и оба выведут числа от 1 до 10:

<?php
/* пример 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* выводится будет значение переменной
                   $i перед её увеличением
                   (post-increment) */
}

/* пример 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

Альтернативный синтаксис управляющих структур
do-while
Управляющие конструкции


do-while

(PHP 4, PHP5)

Цикл do-while очень похож на цикл while, с тем отличием, что истинность выражения проверяется в конце итерации, а не в начале. Главное отличие от обычного цикла while в том, что первая итерация цикла do-while гарантированно выполнится (истинность выражения проверяется в конце итерации), тогда как она может не выполниться в обычном цикле while (истинность выражения которого проверяется в начале выполнения каждой итерации, и если изначально имеет значение FALSE, то выполнение цикла будет прервано сразу).

Есть только один вариант синтаксиса цикла do-while:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

В примере цикл будет выполнен ровно один раз, так как после первой итерации, когда проверяется истинность выражения, она будет вычислена как FALSE ($i не больше 0) и выполнение цикла прекратится.

Опытные пользователи С могут быть знакомы с другим использованием цикла do-while, которое позволяет остановить выполнение хода программы в середине блока, для этого нужно обернуть нужный блок кода вызовом do-while (0) и использовать break. Следующий фрагмент кода демонстрирует этот подход:

<?php
do {
    if ($i < 5) {
        echo "i еще недостаточно велико";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "значение i уже подходит";

    /* обработка i */

} while (0);
?>

Не беспокойтесь, если вы не понимаете это сразу или вообще. Вы можете писать скрипты и даже мощные программы без использования этой 'возможности'. Начиная с версии PHP 5.3.0, стало возможным использовать оператор goto вместо подобного "хака".

while
for
Управляющие конструкции


for

(PHP 4, PHP5)

Цикл for самый сложный цикл в PHP. Он ведет себя так же как его аналог в языке C. Синтаксис цикла for следующий:

for (expr1; expr2; expr3)
    statement

Первое выражение (expr1) всегда вычисляется (выполняется) только один раз в начале цикла.

В начале каждой итерации оценивается выражение expr2. Если оно принимает значение TRUE, то цикл продолжается, и вложенные операторы будут выполнены. Если оно принимает значение FALSE, выполнение цикла заканчивается.

В конце каждой итерации выражение expr3 вычисляется (выполняется ).

Каждое из выражений может быть пустым или содержать несколько выражений, разделенных запятыми. В expr2 все выражения, разделенные запятыми, вычисляются, но результат берется из последнего. Если выражение expr2 отсутствует, это означает, что цикл будет выполняться бесконечно. (PHP неявно воспринимает это значение как TRUE, также, как в языке C). Это может быть не столь бесполезно, сколь вы могли подумать, так как часто необходимо прервать цикл, используя условный оператор break вместо использования выражения в цикле for, которое принимает истинное значение.

Рассмотрим следующие примеры. Все из них отображают числа от 1 до 10:

<?php
/* пример 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* пример 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* пример 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* пример 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

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

PHP также поддерживает альтернативный синтаксис с двоеточием для циклов for.

for (expr1; expr2; expr3):
    statement
    ...
endfor;

Перебор массивов как показано ниже - это обычное дело для многих пользователей.

<?php
/*
* Это массив с некоторыми данными, которые мы хотим изменить
* при работе цикла.
*/
$people = Array(
        Array('name' => 'Kalle', 'salt' => 856412),
        Array('name' => 'Pierre', 'salt' => 215863)
        );

for($i = 0; $i < sizeof($people); ++$i)
{
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

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

<?php
$people = Array(
        Array('name' => 'Kalle', 'salt' => 856412),
        Array('name' => 'Pierre', 'salt' => 215863)
        );

for($i = 0, $size = sizeof($people); $i < $size; ++$i)
{
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

do-while
foreach
Управляющие конструкции


foreach

(PHP 4, PHP5)

Конструкция foreach предоставляет простой способ перебора массивов. Foreach работает только с массивами и объектами, и будет генерировать ошибку при попытке использования с переменными других типов или неинициализированными переменными. Существует два вида синтаксиса:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

Первый цикл перебирает массив, задаваемый с помощью array_expression. На каждой итерации значение текущего элемента присваивается переменной $value и внутренний указатель массива увеличивается на единицу (таким образом, на следующей итерации цикла работа будет происходить со следующим элементом).

Второй цикл будет дополнительно соотносить ключ текущего элемента с переменной $key на каждой итерации.

Возможно настроить итераторы объектов.

Замечание:

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

Так как оператор foreach опирается на внутренний указатель массива, его изменение вне цикла может привести к непредсказуемому поведению.

Для того, чтобы напрямую изменять элементы массива внутри цикла, переменной $value должен предшествовать знак &. В этом случае значение будет присвоено по ссылке.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// массив $arr сейчас таков: array(2, 4, 6, 8)
unset($value); // разорвать ссылку на последний элемент
?>

Указатель на $value возможен, только если на перебираемый массив можно ссылаться (т.е. если он является переменной). Следующий код не будет работать:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>

Внимание

Ссылка $value на последний элемент массива остается даже после того, как оператор foreach завершил работу. Рекомендуется уничтожить ее с помощью функции unset().

Замечание:

Оператор foreach не поддерживает возможность подавления сообщений об ошибках с помощью префикса '@'.

Вы могли заметить, что следующие конструкции функционально идентичны:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
    echo "Значение: $value<br />\n";
}

foreach ($arr as $value) {
    echo "Значение: $value<br />\n";
}
?>

Следующие конструкции также функционально идентичны:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "Ключ: $key; Значение: $value<br />\n";
}

foreach ($arr as $key => $value) {
    echo "Ключ: $key; Значение: $value<br />\n";
}
?>

Вот еще несколько примеров, демонстрирующие использование оператора:

<?php
/* Пример 1: только значение */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Текущее значение переменной \$a: $v.\n";
}

/* Пример 2: значение (для иллюстрации массив выводится в виде значения с ключем) */

$a = array(1, 2, 3, 17);

$i = 0; /* только для пояснения */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* Пример 3: ключ и значение */

$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* Пример 4: многомерные массивы */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* Пример 5: динамические массивы */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

for
break
Управляющие конструкции


break

(PHP 4, PHP5)

break прерывает выполнение текущей структуры for, foreach, while, do-while или switch.

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

<?php
$arr = array('один', 'два', 'три', 'четыре', 'стоп', 'пять');
while (list(, $val) = each($arr)) {
    if ($val == 'стоп') {
        break;    /* Тут можно было написать 'break 1;'. */
    }
    echo "$val<br />\n";
}

/* Использование дополнительного аргумента. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "Итерация 5<br />\n";
        break 1;  /* Выйти только из конструкции switch. */
    case 10:
        echo "Итерация 10; выходим<br />\n";
        break 2;  /* Выходим из конструкции switch и из цикла while. */
    default:
        break;
    }
}
?>

foreach
continue
Управляющие конструкции


continue

(PHP 4, PHP5)

continue используется внутри циклических структур для пропуска оставшейся части текущей итерации цикла и, при соблюдении условий, начала следующей итерации.

Замечание: Заметим, что в PHP структура switch считается циклической, и внутри нее может использоваться continue.

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

Замечание:

continue 0; и continue 1; есть одно и то же, что и continue;.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) { // пропуск нечетных чисел
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Снаружи<br />\n";
    while (1) {
        echo "В середине<br />\n";
        while (1) {
            echo "Внутри<br />\n";
            continue 3;
        }
        echo "Это никогда не будет выведено.<br />\n";
    }
    echo "Это тоже.<br />\n";
}
?>

Пропуск точки запятой после continue может привести к путанице. Пример как не надо делать.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

Ожидается, что результат будет такой:

0
1
3
4

Но этот скрипт выведет следующее:

2

Потому что выражение continue print "$i\n"; воспринимается как единое выражение, и print() вызыватеся только тогда, когда выражение $i == 2 истинно. (Возвращаемое значение от print передается к continue как числовой аргумент.)

break
switch
Управляющие конструкции


switch

(PHP 4, PHP5)

Оператор switch подобен серии операторов IF с одинаковым условием. Во многих случаях вам может понадобиться сравнивать одну и ту же переменную (или выражение) с множеством различных значений, и выполнять различные участки кода в зависимости от того, какое значение принимает эта переменная (или выражение). Это именно тот случай, для которого удобен оператор switch.

Замечание: Обратите внимание, что в отличие от некоторых других языков, оператор continue применяется в конструкциях switch и действует подобно оператору break. Если у вас конструкция switch находится внутри цикла, и вам необходимо перейти к следующей итерации цикла, используйте continue 2.

Замечание:

Заметьте, что конструкция swich/case использует неточные сравнения (==).

Следующие два примера иллюстрируют два различных способа написать то же самое. Один использует серию операторов if и elseif, а другой -- оператор switch:

Пример #1 Оператор switch

<?php
if ($i == 0) {
    echo "i равно 0";
} elseif ($i == 1) {
    echo "i равно 1";
} elseif ($i == 2) {
    echo "i равно 2";
}

switch ($i) {
    case 0:
        echo "i равно 0";
        break;
    case 1:
        echo "i равно 1";
        break;
    case 2:
        echo "i равно 2";
        break;
}
?>

Пример #2 Оператор switch допускает сравнение со строками

<?php
switch ($i) {
    case "яблоко":
        echo "i это яблоко";
        break;
    case "шоколадка":
        echo "i это шоколадка";
        break;
    case "пирог":
        echo "i это пирог";
        break;
}
?>

Важно понять, как оператор switch выполняется, чтобы избежать ошибок. Оператор switch исполняет строчка за строчкой (на самом деле выражение за выражением). В начале никакой код не исполняется. Только в случае нахождения оператора case, значение которого совпадает со значением выражения в операторе switch, PHP начинает исполнять операторы. PHP продолжает исполнять операторы до конца блока switch либо до тех пор, пока не встретит оператор break. Если вы не напишете оператор break в конце секции case, PHP будет продолжать исполнять команды следующей секции case. Например :

<?php
switch ($i) {
    case 0:
        echo "i равно 0";
    case 1:
        echo "i равно 1";
    case 2:
        echo "i равно 2";
}
?>

В этом примере, если $i равно 0, то PHP исполнит все операторы echo! Если $i равно 1, PHP исполнит два последних оператора echo. Вы получите ожидаемое поведение оператора ('i равно 2' будет отображено) только, если $i будет равно 2. Таким образом, важно не забывать об операторах break (даже если вы, возможно, хотите избежать его использования по назначению при определенных обстоятельствах).

В операторе switch выражение вычисляется один раз и этот результат сравнивается с каждым оператором case. В выражении elseif, выражение вычисляется снова. Если ваше условие более сложное, чем простое сравнение и/или находится в цикле, конструкция switch может работать быстрее.

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

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i меньше чем 3, но неотрицательно";
    break;
case 3:
    echo "i равно 3";
}
?>

Специальный вид конструкции case -- default. Сюда управление попадает тогда, когда не сработал ни один из других операторов case. Например:

<?php
switch ($i) {
    case 0:
        echo "i равно 0";
        break;
    case 1:
        echo "i равно 1";
        break;
    case 2:
        echo "i равно 2";
        break;
    default:
       echo "i не равно 0, 1 или 2";
}
?>

Выражением в операторе case может быть любое выражение, которое приводится в простой тип, то есть в тип integer, или в тип с плавающей точкой (float), или строку. Массивы или объекты не могут быть здесь использованы до тех пор, пока они не будут разыменованы до простого типа.

Возможен альтернативный синтаксис для управляющей структуры switch. Для более детальной информации, см. Альтернативный синтаксис для управляющих структур.

<?php
switch ($i):
    case 0:
        echo "i равно 0";
        break;
    case 1:
        echo "i равно 1";
        break;
    case 2:
        echo "i равно 2";
        break;
    default:
        echo "i не равно to 0, 1 или 2";
endswitch;
?>

Возможно использование точки с запятой вместо двоеточия после оператора case. К примеру :

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Хороший выбор';
    break;
    default;
        echo 'Пожалуйста, сделайте новый выбор...';
    break;
}
?>

continue
declare
Управляющие конструкции


declare

(PHP 4, PHP5)

Конструкция declare используется для установки директив исполнения для блока кода. Синтаксис declare схож с синтаксисом других конструкций управления исполнением:

declare (directive)
    statement

Секция directive позволяет установить поведение блока declare. В настоящее время распознаются только две директивы: директива ticks (Дополнительная информация о директиве ticks доступна ниже) и директива encoding (Дополнительная информация о директиве encoding доступна ниже).

Замечание: Директива encoding была добавлена в PHP 5.3.0

Часть statement блока declare будет исполнена - как исполняется и какие сторониие эффекты возникают в процессе исполнения может зависеть от набора директив в блоке directive.

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

<?php
// выполняется одинаково:

// можно так:
declare(ticks=1) {
    // прочие действия
}

// или так:
declare(ticks=1);
// прочие действия
?>

Тики

Тик - это событие, которое случается каждые N низкоуровневых операций, выполненных парсером внутри блока declare. Значение N задается, используя ticks=N внутри секции directive блока declare.

Не все выражения подсчитываются. Обычно, условные выражения и выражения аргументов не подсчитываются.

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

Пример #1 Пример использования тика

<?php

declare(ticks=1);

// Функция, исполняемая при каждом тике
function tick_handler()
{
    echo "tick_handler() выполнено\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}

?>

Пример #2 Пример использования тиков

<?php

function tick_handler()
{
  echo "tick_handler() called\n";
}

$a = 1;
tick_handler();

if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();

?>

См. также register_tick_function() и unregister_tick_function().

Кодировка

Кодировка скрипта может быть указана для каждого скрипта используя директиву encoding.

Пример #3 Определение кодировки для скрипта.

<?php
declare(encoding='ISO-8859-1');
// прочий код
?>

Предостережение

Скомбинированный с пространством имен, единственно допустимый синтаксис для declare является declare(encoding='...'); где ... это значение кодировки. declare(encoding='...') {} приведет к ошибке парсера, если используется вместе с пространством имен.

Значение кодировки в declare игнорируется в PHP 5.3 если php скомпилирован с --enable-zend-multibyte.

Имейте в виду, что PHP не может показать был ли он скомпилирован с --enable-zend-multibyte иначе как с помощью phpinfo().

switch
return
Управляющие конструкции


return

(PHP 4, PHP5)

Если вызвано из функции, выражение return() немедленно прекращает выполнение текущей функции и возвращает свой аргумент как значение данной функции. return() также завершит выполнение выражения eval() или всего файла скрипта.

Если вызывается из глобальной области видимости, выполнение текущего файла скрипта прекращается. Если текущий файл скрипта был подключен с помощью функций include() или require(), тогда управление возвращается к файлу, который вызывал текущий. Более того, если текущий файл скрипта был подключен с помощью include(), тогла значение переданоне return() будет возвращено в качестве значения вызова include(). Если return() вызывается из главного файла скрипта, тогда выполнение скрипта прекращается. Если текущий файл скрипта был вызван конфигурационными опциями auto_prepend_file или auto_append_file из файла настроек php.ini, тогда выполнение этого скрипта прекращается.

Для более детальной информации смотрите раздел Возвращаемые значения.

Замечание: Заметьте, что так как return() является языковой конструкцией, а не функцией, круглые скобки, окружающие аргументы, не являются необходимостью. Общепринято не использовать их в данном случае и, в принципе, так и надо делать, т.к. PHP будет меньше работы по синтаксическому разбору файла в данном случае.

Замечание: Если параметры не указаны, тогда круглые скобки должны быть опущены, и вернется значение NULL. Вызов return() со скобками, но без аргументов вызовет синтаксическую ошибку.

Замечание: Вы не должны исползовать скобки при возврате переменной, если возвращаете по ссылке, так как это не сработает. Вы можете вернуть только переменную по ссылке, а не результат выражениея. Если вы используете return ($a);, тогда вы вернете не переменную, а результат выражения ($a) (который, естественно, будет являться значением переменной $a).

declare
require
Управляющие конструкции


require

return
include
Управляющие конструкции
PHP Manual

require()

(PHP 4, PHP5)

require() идентично include() за исключением того, что при ошибке оно также выдаст фатальную ошибку уровня E_COMPILE_ERROR. Другими словами, она остановит выполнение скрипта, тогда как include() только выдала бы предупреждение E_WARNING, которое позволило бы скрипту продолжить выполнение.

Смотрите документацию по include(), чтобы узнать как это работает.

return
include
Управляющие конструкции


include

require
require_once
Управляющие конструкции
PHP Manual

include()

(PHP 4, PHP5)

Выражение include() включает и выполняет указанный файл.

Документация ниже также относится к выражению require().

Файлы включаются исходя из пути указанного файла, или, если путь не указан, используется путь, указанный в директиве include_path. Если файл не найден в include_path, include() попытается проверить директорию, в которой находится текущий включающий скрипт и текущую рабочую директорию перед тем, как выдать ошибку. Конструкция include() выдаст warning, если не сможет найти файл; поведение отлично от require(), который выдаст фатальную ошибку.

Если путь указан — не важно, абсолютный (начинающийся с буквы диска или с \ в Windows или с / в Unix/Linux системах) или относительно текущей директории (начинающийся с . или ..) — директива include_path будет проигнорирована в любом случае. К примеру, если начинается с ../, парсер проверит родительскую директорию на наличие запрошенного файла.

Для большей информации о том, как PHP обрабатывает включаемые файлы и включаемые пути, смотрите документацию для директивы include_path.

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

Пример #1 Простой пример include()

vars.php
<?php

$color = 'green';
$fruit = 'apple';

?>

test.php
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

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

Пример #2 Включение внутри функции

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php в той же области видимости, что и foo(),  *
* поэтому $fruit НЕ доступен снаружи этой области     *
* $color доступен, поскольку мы переменную глобальной */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

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

Если "обертки URL fopen " включены в PHP (по умолчанию они включены), вы можете также указать файл для включения через URL (с помощью HTTP или других поддерживающихся обработчиков - смотри Поддерживаемые протоколы и обработчики (wrappers) для списка протоколов) вместо локального пути. Если целевой сервер интерпретирует указанный файл как PHP код, могут быть переданы переменные во включаемый файл с помощью строки URL-запроса, как если бы использовался метод HTTP GET. Это, строго говоря, не тоже самое, что включение файла и наследование родительской области видимости; скрипт выполняется на удаленном сервере и результат выполнения включается в локальный скрипт.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

Пример #3 Пример include() через HTTP

<?php

/* В этом примере предполагается, что www.example.com настроен на обработку .php
* файлов, но не .txt. Также, 'Works' обозначает, что переменные
* $foo и $bar доступны внутри включаемого файла. */

// Не сработает; file.txt не обрабатывается www.example.com как PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Не сработает; будет искаать файл 'file.php?foo=1&bar=2' в
// локальной файловой системе.
include 'file.php?foo=1&bar=2';

// Сработает.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Сработает.
include 'file.php';  // Сработает.

?>

Внимание

Предупреждение безопасности

Удаленные файлы могут быть обработаны на удаленной стороне (в зависимости от расширения файла и того, что удаленный сервер выполняет скрипты PHP или нет), но это все равно должно производить валидный PHP скрипт, потому что он будет затем обработан уже на локальном сервере. Если файл с удаленного сервера должен быть обработан там и выведен его результат, предпочтительнее воспользоваться функцией readfile() В противном случае, должны быть предусмотрены дополнительные меры, чтобы обезопасить удаленный скрипт от ошибок и нежелательного кода.

Смотрите также раздел Удаленные файлы, функции fopen() и file() для дополнительной информации.

Обработка возвращаемых значений: возможно выполнить выражение return() внутри включаемого файла, чтобы завершить процесс выполнения в этом файле и вернуться к выполнению включающего файла. Также, возможно вернуть значение из включаемых файлов. Вы можете получить значение включения как если бы вы вызвали обычную функцию. Хотя это не возможно при включении удаленного файла, только если вывод удаленного файла не содержит правильные теги начала и конца PHP кода (так же, как и локальный файл). Вы можете определить необходимые переменные внутри этих тегов и они будут представлены в том месте, где файл был включен.

Так как include() - это специальная языковая конструкция, круглые скобки не обязательны для заключения аргумента. Будьте осторожны при сравнении возвращаемого значения.

Пример #4 Сравнение возвращаемого значения при include

<?php
// не сработает, интерпретируется как include(('vars.php') == 'OK'), т.е. include('')
if (include('vars.php') == 'OK') {
    echo 'OK';
}

// сработает
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}
?>

Пример #5 Выражения include() и return()

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // выведет 'PHP'

$bar = include 'noreturn.php';

echo $bar; // выведет 1

?>

$bar имеет значение 1, т.к. включение файла произошло успешно. Заметьте разницу между примерами сверху. Первый использует return() внутри включаемого файла, тогда как второй не использует. Если файл не может быть включен, возвращается FALSE и возникает E_WARNING.

Если во включаемом файле определены функции, они могут быыть использованы в главном файле вне зависимости от того, были ли они объявлены до return() или после. Если файл включается дважды, PHP 5 выдаст фатальную ошибку, потому что функции уже были определены, в то время как PHP 4 не обратил бы внимания на функции, определенные после return(). Рекомендуется использовать include_once() вместо того, чтобы проверять был ли уже файл включен ранее.

Другой путь "включить" PHP файл в переменную - это захватить вывод используя Функции контроля вывода с include(). К примеру:

Пример #6 Использование буферизинованного вывода для включения PHP файла в строку

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        return ob_get_clean();
    }
    return false;
}

?>

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

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Смотрите также require(), require_once(),
include_once(), get_included_files(),
readfile(), virtual() и
include_path.

require
require_once
Управляющие конструкции


require_once

include
include_once
Управляющие конструкции
PHP Manual

require_once()

(PHP 4, PHP5)

Выражение require_once() идентично require() за исключением того, что PHP проверит, включался ли уже данный файл, и, если да, не будет включать его еще раз.

Смотри документацию include_once() для информации по поведению _once, и чем она отличается от своих не-_once родственников.

include
include_once
Управляющие конструкции


include_once

require_once
goto
Управляющие конструкции
PHP Manual

include_once()

(PHP 4, PHP5)

Выражение include_once() включает и выполняет указанный файл во время выполнения скрипта. Ее подведение идентично выражению include(), с той лишь разницей, что если код из файла уже один раз был включен, он не будет включен и выполнен повторно. Как видно из имени, он включит файл только один раз (include once).

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

Смотри документацию по include() для информации как эта функция работает.

Замечание:

В PHP 4, функциональность _once отличалась в регистро-независимых операционных системах (таких как Windows), к примеру:

Пример #1 Пример include_once() в регистро-независимых ОС для PHP 4

<?php
include_once "a.php"; // это подключит a.php
include_once "A.php"; // это подключит a.php снова! (только в PHP 4)
?>

Это поведение изменилось в PHP 5. К примеру, пути в Windows в начале нормализуются так, чтобы C:\PROGRA~1\A.php обозначало тоже самое, что и C:\Program Files\a.php, и файл подключался лишь один раз.

require_once
goto
Управляющие конструкции


goto

(PHP 5 >= 5.3.0)

Оператор goto используется для перехода в другую часть программы. Место, куда необходимо перейти указывается с помощью метки, за которой ставится двоеточие, после оператора goto указывается желаемая метка для перехода. Оператор не является неограниченным "goto". Целевая метка должна находиться в том же файле, в том же контексте. Имеется ввиду, что вы не можете ни перейти за границы функции или метода, ни перейти внутрь одной из них. Вы также не можете перейти внутрь любой циклической структуры или оператора switch. Но вы можете выйти из них, и обычным применением оператора goto является использование его вместо многоуровневых break.

Пример #1 Пример использования goto

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

Результат выполнения данного примера:

Bar

Пример #2 Пример использования goto в цикле

<?php
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    if($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j hit 17';
?>

Результат выполнения данного примера:

j hit 17

Пример #3 Следующий пример работать не будет

<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    loop:
  }
}
echo "$i = $i";
?>

Результат выполнения данного примера:

Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2

Замечание:

Оператор goto доступен в PHP начиная с версии 5.3.

Что наихуджее может случиться, если используется goto ?
Изображение предоставлено » xkcd

include_once
Функции
Управляющие конструкции


Функции

Содержание

  • Функции, определяемые пользователем
  • Аргументы функции
  • Возврат значений
  • Обращение к функциям через переменные
  • Встроенные функции
  • Анонимные функции
goto
Функции, определяемые пользователем
Справочник языка


Функции, определяемые пользователем

Приведем пример синтаксиса, используемого для описания функций:

Пример #1 Псевдокод для демонстрации использования функций

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "Example function.\n";
    return $retval;
}
?>

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

Имена функций следуют тем же правилам, что и другие метки в PHP. Корректное имя функции начинается с буквы или знака подчеркивания, за которым следует любое количество букв, цифр или знаков подчеркивания. В качестве регулярного выражения оно может быть выражено так: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Подсказка

Смотрите также Руководство по именованию.

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

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

Пример #2 Функции, зависящие от условий

<?php

$makefoo = true;

/* Мы не можем вызвать функцию foo() в этом месте,
   поскольку она еще не определена, но мы можем
   обратиться к bar() */

bar();

if ($makefoo) {
  function foo()
  {
    echo "Я не существую до тех пор, пока выполнение программы меня не достигнет.\n";
  }
}

/* Теперь мы благополучно можем вызывать foo(),
   поскольку $makefoo была интерпретирована как true */

if ($makefoo) foo();

function bar()
{
  echo "Я существую сразу с начала старта программы.\n";
}

?>

Пример #3 Вложенные функции

<?php
function foo()
{
  function bar()
  {
    echo "Я не существую пока не будет вызвана foo().\n";
  }
}

/* Мы пока не можем обратиться к bar(),
   поскольку она еще не определена. */

foo();

/* Теперь мы можем вызвать функцию bar(),
   обработка foo() сделала ее доступной. */

bar();

?>

Все функции и классы PHP имеют глобальную область видимости - они могут быть вызваны вне функции, даже если были определены внутри и наоборот.

PHP не поддерживает перегрузку функции, также отсутствует возможность переопределить или удалить объявленную ранее функцию.

Замечание: Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.

Функции PHP поддерживают как списки аргументов переменной длины, так и значения аргументов по умолчанию. Смотрите также описания функций func_num_args(), func_get_arg(), и func_get_args() для более детальной информации.

Можно также вызывать функции PHP рекурсивно. Однако, пытайтесь избегать вызовов рекурсивных функций/методов с более чем 100-200 уровней рекурсии, так как это сильно бьет по стэку и может вызвать крах выполняемого скрипта.

Пример #4 Рекурсивные функции

<?php
function recursion($a)
{
    if ($a < 20) {
        echo "$a\n";
        recursion($a + 1);
    }
}
?>

Функции
Аргументы функции
Функции


Аргументы функции

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

PHP поддерживает передачу аргументов по значению (по умолчанию), передачу аргументов по ссылке, и значения по умолчанию. Списки аргументов переменной длины также поддерживаются, смотрите также описания функций func_num_args(), func_get_arg() и func_get_args() для более детальной информации.

Пример #1 Передача массива в функцию

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>

Передача аргументов по ссылке

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

Если вы хотите, что бы аргумент всегда передавался по ссылке, вы можете указать амперсанд (&) перед именем аргумента в описании функции:

Пример #2 Передача аргументов по ссылке

<?php
function add_some_extra(&$string)
{
    $string .= 'и кое-что еще.';
}
$str = 'Это строка, ';
add_some_extra($str);
echo $str;    // выведет 'Это строка, и кое-что еще.'
?>

Значения аргументов по умолчанию

Функция может определять значения по умолчанию в стиле C++ для скалярных аргументов, например:

Пример #3 Использование значений по умолчанию в определении функции

<?php
function makecoffee($type = "капуччино")
{
    return "Готовим чашку $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("эспрессо");
?>

Результат выполнения данного примера:

Готовим чашку капуччино.
Готовим чашку .
Готовим чашку эспрессо.

PHP также позволяет использовать массивы (array) и специальный тип NULL в качестве значений по умолчанию, например:

Пример #4 Использование нескалярных типов в качестве значений по умолчанию

<?php
function makecoffee($types = array("капуччино"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "вручную" : $coffeeMaker;
    return "Готовлю чашку ".join(", ", $types)." $device.\n";
}
echo makecoffee();
echo makecoffee(array("капуччино", "лавацца"), "в чайнике");
?>

Значение по умолчанию должно быть константным выражением, а не (к примеру) переменной или вызовом функции/метода класса.

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

Пример #5 Некорректное использование значений по умолчанию

<?php
function makeyogurt($type = "ацидофил", $flavour)
{
    return "Готовим чашку из бактерий $type со вкусом $flavour.\n";
}

echo makeyogurt("малины");   // Не будет работать так, как мы могли бы ожидать
?>

Результат выполнения данного примера:

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Готовим чашку из бактерий малины со вкусом .

Теперь сравним эго со следующим примером:

Пример #6 Корректное использование значений по умолчанию

<?php
function makeyogurt($flavour, $type = "ацидофил")
{
    return "Готовим чашку из бактерий $type со вкусом $flavour.\n";
}

echo makeyogurt("малины");   // отрабатывает правильно
?>

Результат выполнения данного примера:

Готовим чашку из бактерий ацидофил со вкусом малины.

Замечание: Начиная с PHP 5, значения по умолчанию могут быть переданны по ссылке.

Списки аргументов переменной длины

PHP 4 и выше поддерживает списки аргументов переменной длины для функций,
определяемых пользователем. Реализация этой возможности достаточно прозрачна
и заключается в использовании функций func_num_args(),
func_get_arg() и
func_get_args().

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

Функции, определяемые пользователем
Возврат значений
Функции


Возврат значений

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

Замечание:

Если конструкция return() не указана, то функция вернет значение NULL.

Пример #1 Использование конструкции return()

<?php
function square($num)
{
    return $num * $num;
}
echo square(4);   // выводит '16'.
?>

Функция не может возвращать несколько значений, но аналогичного результата можно добиться, возвращая массив.

Пример #2 Возврат нескольких значений в виде массива

<?php
function small_numbers()
{
    return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>

Для того, чтобы функция возвращала результат по ссылке, вам необходимо использовать оператор & и при описании функции, и при присвоении переменной возвращаемого значения:

Пример #3 Возврат результата по ссылке

<?php
function &returns_reference()
{
    return $someref;
}

$newref =& returns_reference();
?>

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

Аргументы функции
Обращение к функциям через переменные
Функции


Обращение к функциям через переменные

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

Переменные функции не будут работать с такими языковыми конструкциями как echo(), print(), unset(), isset(), empty(), include(), require() и другими подобными им операторами. Вам необходимо реализовывать свою функцию-обертку (wrapper) для того, чтобы приведенные выше конструкции могли работать с переменными функциями.

Пример #1 Работа с функциями посредством переменных

<?php
function foo() {
    echo "In foo()<br />\n";
}

function bar($arg = '')
{
    echo "In bar(); argument was '$arg'.<br />\n";
}

// Функция-обертка для echo
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // Вызывает функцию foo()

$func = 'bar';
$func('test');  // Вызывает функцию bar()

$func = 'echoit';
$func('test');  // Вызывает функцию echoit()
?>

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

Пример #2 Обращение к методам класса посредством переменных

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // Вызываем метод Bar()
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // Обращаемся к $foo->Variable()

?>

При вызове статических методов, вызов функции "сильнее" чем оператор доступа к статическому свойству:

Пример #3 Пример вызова переменного метода со статическим свойством

<?php
class Foo
{
    static $variable = 'static property';
    static function Variable()
    {
        echo 'Method Variable called';
    }
}

echo Foo::$variable; // Это выведет 'static property'. Переменная $variable будет разрешена в нужной области видимости.
$variable = "Variable";
Foo::$variable();  // Это вызовет $foo->Variable(), прочитав $variable из этой области видимости.

?>

Смотрите также call_user_func(), Переменные переменные и function_exists().

Возврат значений
Встроенные функции
Функции


Встроенные функции

В самом PHP содержится достаточно большое количество встроенных функций и языковых конструкций. Также есть функции, которые требуют, чтобы PHP был собран со специфическими расширениями, в противном случае вы получите сообщение о фатальной ошибке, вызванной использованием неизвестной функции. Например, для того чтобы использовать функции для работы с изображениями, например, imagecreatetruecolor(), вам необходимо собрать PHP с поддержкой GD. Или же для того, чтобы воспользоваться функцией mysql_connect(), вам необходима поддержка модуля MySQL. Тем не менее, есть много встроенных функций, которые доступны всегда: например функции обработки строк и функции для работы с переменными. Вызвав phpinfo() или get_loaded_extensions(), вы можете узнать, поддержка каких модулей есть в используемом вами PHP. Также следует учесть, что поддержка некоторых дополнительных расширений включена по умолчанию, и что сама документация к PHP разбита по расширениям. Ознакомьтесь с разделами Конфигурация, Установка, а также с документацией непосредственно к дополнительным расширениям для получения более детальной информации о том, как настроить ваш PHP.

Более подробную информацию о том, как следует читать и интерпретировать прототипы функций, вы можете найти в разделе Как правильно читать описания функций. Очень важно понимать, что возвращает функция, или как именно она модифицирует передаваемые аргументы. Например, функция str_replace() возвращает модифицированную строку, в то время как функция usort() работает с фактически переданной переменной. Каждая страница документации также содержит информацию, которая специфична для данной функции, например, информацию о передаваемых параметрах, изменениях в поведении, возвращаемых значениях в случае как удачного, так и неудачного выполнения, доступности функции в различных версиях. Знание и применение этих (порой даже незаметных) нюансов очень важно для написания корректного PHP-кода.

Замечание: Если в функцию передаются не те аргументы, которые она ожидает, например, массив (array) вместо строки (string), возвращаемое значение функции не определено. Скорее всего в этом случае будет возвращен NULL, но это просто соглашение, на него нельзя полагаться.

Ознакомьтесь также с описанием функции function_exists(), справочником функций и функциями get_extension_funcs() и dl().

Обращение к функциям через переменные
Анонимные функции
Функции


Анонимные функции

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

Пример #1 Пример анонимной функции

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// выведет helloWorld
?>

Замыкания также могут быть использованы в качестве значений переменных; PHP автоматически преобразует такие выражения в экземпляры внутреннего класса Closure. Присвоение замыкания переменной использует тот же синтаксис, что и для любого другого присвоения, включая завершающую точку с запятой:

Пример #2 Пример присвоения анонимной функции переменной

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet('World');
$greet('PHP');
?>

Замыкания могут также наследовать переменные из родительской области видимости. Любая подобная переменная должна быть объявлена в заголовке функции. Наследование переменных из родительской области видимости не то же самое, что использование глобальных переменных. Глобальные переменные существуют в глобальной области видимости, которая не меняется, вне зависимости от того, какая функция выполняется в данный момент. Родительская область видимости - это функция, в которой было объявлено замыкание (не обязательно та же самая, из которой оно было вызвано). Смотрите следующий пример:

Пример #3 Замыкания и область видимости

<?php
// Базовая корзина покупок, содержащая список добавленных
// продуктов и количество каждого продукта. Включает метод,
// вычисляющий общую цену элементов корзины с помощью
// callback-замыкания.
class Cart
{
    const PRICE_BUTTER  = 1.00;
    const PRICE_MILK    = 3.00;
    const PRICE_EGGS    = 6.95;

    protected $products = array();

    public function add($product, $quantity)
    {
        $this->products[$product] = $quantity;
    }

    public function getQuantity($product)
    {
        return isset($this->products[$product]) ? $this->products[$product] :
               FALSE;
    }

    public function getTotal($tax)
    {
        $total = 0.00;

        $callback =
            function ($quantity, $product) use ($tax, &$total)
            {
                $pricePerItem = constant(__CLASS__ . "::PRICE_" .
                    strtoupper($product));
                $total += ($pricePerItem * $quantity) * ($tax + 1.0);
            };

        array_walk($this->products, $callback);
        return round($total, 2);
    }
}

$my_cart = new Cart;

// Добавляем несколько элементов в корзину
$my_cart->add('butter', 1);
$my_cart->add('milk', 3);
$my_cart->add('eggs', 6);

// Выводим общую сумму с 5% налогом на продажу.
print $my_cart->getTotal(0.05) . "\n";
// Результатом будет 54.29
?>

Анонимные функции реализованы с помощью класса Closure.

Замечание: Анонимные функции доступны начиная с версии PHP 5.3.0.

Замечание: До версии PHP 5.4.0 было невозможно использовать $this в анонимных функциях.

Замечание: Совместно с замыканиями можно использовать функции func_num_args(), func_get_arg() и func_get_args().

Встроенные функции
Классы и объекты
Функции


Классы и объекты

Содержание

  • Введение
  • Основы
  • Свойства
  • Константы классов
  • Автоматическая загрузка классов
  • Конструкторы и деструкторы
  • Область видимости
  • Наследование
  • Оператор разрешения области видимости (::)
  • Ключевое слово "static"
  • Абстрактные классы
  • Интерфейсы объектов
  • Трейты
  • Перегрузка
  • Итераторы объектов
  • Шаблоны проектирования
  • Магические методы
  • Ключевое слово "final"
  • Клонирование объектов
  • Сравнение объектов
  • Контроль типа
  • Позднее статическое связывание
  • Объекты и ссылки
  • Сериализация объектов
  • Журнал изменений ООП
Анонимные функции
Введение
Справочник языка


Введение

Начиная с версии PHP 5 объектная модель была полностью переписана, она стала более производительной и функциональной. Это было главным изменением с версии PHP 4. В PHP 5 теперь полная объктная модель.

Среди добавленных возможностей в PHP 5 можно найти видимость, абстрактные и ненаследуемые (final) классы и методы, а также магические методы, интерфейсы, клонирование и контроль типов (typehinting).

PHP работает с объектами так же как с ссылками или дескрипторами, это означает что каждая переменная содержит ссылку на объект, а не его копию. Более подробную информацию см. в разделе Объекты и ссылки.

Подсказка

Смотрите также Руководство по именованию.

Классы и объекты
Основы
Классы и объекты


Основы

class

Каждое определение класса начинается с ключевого слова class, затем следует имя класса, и далее пара фигурных скобок, которые заключают в себе определение свойств и методов этого класса.

Именем класса может быть любое слово, которое не входит в список зарезервированных слов PHP, начинающееся с буквы или символа подчеркивания и за которым следует любое количество букв, цифр или символов подчеркивания. Если задать эти правила в виде регулярного выражения, то получится следующее выражение: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

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

Пример #1 Простое определение класса

<?php
class SimpleClass
{
    // объявление свойства
    public $var = 'значение по умолчанию';

    // объявление метода
    public function displayVar() {
        echo $this->var;
    }
}
?>

Псевдо-переменная $this доступна в том случае, если метод был вызван в контексте объекта. $this является ссылкой на вызываемый объект. Обычно это тот объект, которому принадлежит вызванный метод, но может быть и другой объект, если метод был вызван статически из контекста другого объекта. Это показано на следующих примерах:

Пример #2 Переменная $this

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this определена (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this не определена.\n";
        }
    }
}

class B
{
    function bar()
    {
        // Замечание: следующая строка вызовет предупреждение, если включен параметр E_STRICT.
        A::foo();
    }
}

$a = new A();
$a->foo();

// Замечание: следующая строка вызовет предупреждение, если включен параметр E_STRICT.
A::foo();
$b = new B();
$b->bar();

// Замечание: следующая строка вызовет предупреждение, если включен параметр E_STRICT.
B::bar();
?>

Результат выполнения данного примера:

$this определена (A)
$this не определена.
$this определена (B)
$this не определена.

new

Для создания экземпляра класса используется директива new. Новый объект всегда будет создан, за исключением случаев, когда он содержит конструктор, в котором определен вызов исключения в случае ошибки. Рекомендуется определять классы до создания их экземпляров (в некоторых случаях это обязательно).

Если с директивой new используется строка (string), содержащая имя класса, то будет создан новый экземпляр этого класса. Если имя находится в пространстве имен, то оно должно быть задано полностью.

Пример #3 Создание экземпляра класса

<?php
$instance = new SimpleClass();

// Это же можно сделать с помощью переменной:
$className = 'Foo';
$instance = new $className(); // Foo()
?>

В контексте класса можно создать новый объект через new self и new parent.

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

Пример #4 Присваивание объекта

<?php

$instance = new SimpleClass();

$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned будет иметь это значение';

$instance = null; // $instance и $reference становятся null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

Результат выполнения данного примера:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned будет иметь это значение"
}

В PHP 5.3.0 введены несколько новых методов создания экземпляров объекта:

Пример #5 Создание новых объектов

<?php
class Test
{
    static public function getNew()
    {
        return new static;
    }
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>

Результат выполнения данного примера:

bool(true)
bool(true)
bool(true)

extends

Класс может наследовать методы и свойства другого класса используя ключевое слово extends при его описании. Невозможно наследовать несколько классов, один класс может наследовать только один базовый класс.

Наследуемые методы и свойства могут быть переопределены (за исключением случаев, когда метод класса объявлен как final) путем объявления их с теми же именами, как и в родительском классе. Существует возможность доступа к переопределенным методам или статическим методам путем обращения к ним через parent::

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

Пример #6 Простое наследование классов

<?php
class ExtendClass extends SimpleClass
{
    // Переопределение метода родителя
    function displayVar()
    {
        echo "Расширенный класс\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

Результат выполнения данного примера:

Расширенный класс
значение по умолчанию
Введение
Свойства
Классы и объекты


Свойства

Переменные, которые являются членами класса, называются "свойства". Также их называют, используя другие термины, такие как "аттрибуты" или "поля", но в рамках этой документации, мы будем называть их свойствами. Они определяются с помощью ключевых слов public, protected, или private, следуя правилам правильного описания переменных. Это описание может содержать инициализацию, но инициализация дожна применяться для константных значений - то есть, переменные должны быть вычислены во время компиляции и не должны зависеть от информации программы во время выполнения для их вычисления.

Смотри Область видимости для получения информации о применении public, protected, и private.

Замечание:

Для того, чтобы поддерживать обратную совместимость с PHP 4, PHP 5 по-прежнему позволяет использовать ключевое слово var при определении свойств вместо (или в дополнении к) public, protected, или private. Однако, var больше не требуется. В версиях PHP с 5.0 по 5.1.3, использование var считалось устаревшим вызывало E_STRICT предупреждение, но с PHP 5.1.3 больше не считается устаревшим и не выдает предупреждения.

Если, для определения свойства, вы используете var вместо одного из: public, protected, или private, тогда PHP 5 будет определять свойство как public.

В пределах методов класса свойства, константы и методы могут быть вызваны используя форму $this->property (где property - имя свойства) Если необходимо получить доступ к статическому свойству в пределах статического метода, тогда вызов производится по форме self::$property. Смотри Ключевое слово Static для получения большей информации.

Псевдо-переменная $this доступна внутри любого метода класса, когда этот метод вызывается в пределах объекта. $this - это ссылка на вызываемый объект (обычно, объект, которому принадлежит метод, но возможно и другого объекта, если метод вызван статически из контекста второго объекта).

Пример #1 Определение свойств

<?php
class SimpleClass
{
   // неправилоное определение свойств:
   public $var1 = 'hello ' . 'world';
   public $var2 = <<<EOD
hello world
EOD;
   public $var3 = 1+2;
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // правильное определение свойств:
   public $var6 = myConstant;
   public $var7 = array(true, false);

   // Это разрешено только в PHP 5.3.0 и более поздних версиях.
   public $var8 = <<<'EOD'
hello world
EOD;
}
?>

Замечание:

Существуют несколько интересных функций для обработки классов и объектов. Вы можете их увидеть тут Class/Object Functions.

В отличии от heredocs, nowdocs может быть использованы в любом статическом контексте данных, включая определение свойств.

Пример #2 Пример использования nowdoc для инициализации свойств

<?php
class foo {
   // As of PHP 5.3.0
   public $bar = <<<'EOT'
bar
EOT;
}
?>

Замечание:

Поддержка nowdoc была добавлена в PHP 5.3.0.

Основы
Константы классов
Классы и объекты


Константы классов

Константы также могут быть объявлены и в пределах одного класса. Отличие переменных и констант состоит в том, что при объявлении последних или при обращении к ним не используется символ $.

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

Интерфейсы также могут содержать константы (constants). За примерами обращайтесь к разделу об интерфейсах.

Начиная с версии PHP 5.3.0, стало возможным обратиться к классу с помощью переменной. Значение переменной не должно быть ключевым словом (например, self, parent или static).

Пример #1 Объявление и использование константы

<?php
class MyClass
{
    const constant = 'значение константы';

    function showConstant() {
        echo  self::constant . "\n";
    }
}

echo MyClass::constant . "\n";

$classname = "MyClass";
echo $classname::constant . "\n"; // начиная с версии PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo $class::constant."\n"; // начиная с версии PHP 5.3.0
?>

Пример #2 Пример со статичными данными

<?php
class foo {
    // Начиная с версии PHP 5.3.0
    const bar = <<<'EOT'
bar
EOT;
}
?>

В отличие от heredoc, nowdoc может быть использован в любом контексте статичных данных.

Замечание:

Поддержка nowdoc была добавлена в версии PHP 5.3.0.

Свойства
Автоматическая загрузка классов
Классы и объекты


Автоматическая загрузка классов

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

В PHP 5 это делать не обязательно. Можно определить функцию __autoload, которая будет автоматически вызвана при использовании ранее неопределенного класса или интерфейса. Вызов этой функции - последний шанс для интерпретатора загрузить класс прежде, чем он закончит выполнение скрипта с ошибкой.

Подсказка

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

Замечание:

До версии 5.3.0, исключения, вызванные в функции __autoload, не могли быть перехвачены в блоке catch и завершались с неисправимой ошибкой. Начиная с версии 5.3.0 эти исключения можно перехватывать в ближайшем блоке catch. Если бросить определенное пользователем исключение, то класс этого исключения должен быть доступен. Функция __autoload также может использоваться рекурсивно для автоматической загрузки пользовательских классов исключений.

Замечание:

Автоматическая загрузка недоступна в случае использования PHP в командной строке в интерактивном режиме.

Замечание:

Если имя класса используется, например, для вызова через call_user_func(), то оно может содержать некоторые опасные символы, такие как ../. Поэтому, рекомендуется не использовать данные от пользователей в таких функциях или же, как минимум, проверять значения в __autoload().

Пример #1 Пример автоматической загрузки

В этом примере функция пытается загрузить классы MyClass1 и MyClass2 из файлов MyClass1.php и MyClass2.php соответственно.

<?php
function __autoload($class_name) {
    include $class_name . '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

Пример #2 Еще один пример автоматической загрузки

В этом примере представлена попытка загрузки интерфейса ITest.

<?php

function __autoload($name) {
    var_dump($name);
}

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Пример #3 Автоматическая загрузка с перехватом исключения в версиях 5.3.0+

В данном примере вызывается исключение и отлавливается блоком try/catch.

<?php
function __autoload($name) {
    echo "Want to load $name.\n";
    throw new Exception("Unable to load $name.");
}

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

Результат выполнения данного примера:

Want to load NonLoadableClass.
Unable to load NonLoadableClass.

Пример #4 Автоматическая загрузка с перехватом исключения в версиях 5.3.0+ - Класс пользовательского исключения не подгружен

В данном примере вызывается недоступное исключение.

<?php
function __autoload($name) {
    echo "Want to load $name.\n";
    throw new MissingException("Unable to load $name.");
}

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

Результат выполнения данного примера:

Want to load NonLoadableClass.
Want to load MissingException.

Fatal error: Class 'MissingException' not found in testMissingException.php on line 4

Смотрите также

  • unserialize()
  • unserialize_callback_func
  • spl_autoload()
  • spl_autoload_register()

Константы классов
Конструкторы и деструкторы
Классы и объекты


Конструкторы и деструкторы

Конструктор

void __construct ([ mixed $args [, $... ]] )

PHP 5 позволяет объявлять методы-конструкторы. Классы, в которых объявлен метод-констуктор, будут вызывать этот метод при каждом создании нового объекта, так что это может оказаться полезным, например, для инициализации какого-либо состояния объекта перед его использованием.

Замечание: Конструкторы в классах-родителях не вызываются автоматически, если класс-потомок определяет собственный конструктор. Чтобы вызвать конструктор, объявленный в родительском классе, следует обратиться к методу parent::__construct() внутри конструктора класса-потомка.

Пример #1 Использование унифицированных конструкторов

<?php
class BaseClass {
   function __construct() {
       print "Конструктор класса BaseClass\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "Конструктор класса SubClass\n";
   }
}

$obj = new BaseClass();
$obj = new SubClass();
?>

В целях обратной совместимости, если PHP 5 не может обнаружить объявленный метод __construct(), вызов конструктора произойдет по прежней схеме, через обращение к методу, имя которого соответствует имени класса. Может возникнуть только одна проблема совместимости старого кода, если в нём присутствуют классы с методами __construct(), использующиеся для других целей.

В отличие от других методов, PHP не будет генерировать ошибку уровня E_STRICT, если __construct() будет перекрыт методом с другими параметрами, отличными от тех, которые находятся в родительском __construct().

Начиная с версии PHP 5.3.3, методы с именами, совпадающими с последним элемeнтом имени класса, находящимся в пространстве имен, больше не будут считаться конструкторами. Это изменение не влияет на классы, не находящиеся в пространстве имен.

Пример #2 Конструкторы в классах, находящихся в пространстве имен

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // конструктор в версиях PHP 5.3.0-5.3.2
        // обычный метод, начиная с версии PHP 5.3.3
    }
}
?>

Деструкторы

void __destruct ( void )

PHP 5 предоставляет концепцию деструкторов, сходную с теми, что применяются в других ОО языках, таких, как C++. Деструктор будет вызван при освобождении всех ссылок на определенный объект или при завершении скрипта (порядок выполнения деструкторов не гарантируется).

Пример #3 Пример использования деструктора

<?php
class MyDestructableClass {
   function __construct() {
       print "Конструктор\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Уничтожается " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Как и в случае с конструкторами, деструкторы, объявленные в родительском классе, не будут вызваны автоматически. Для вызова деструктора, объявленном в классе-родителе, следует обратиться к методу parent::__destruct() в теле деструктора-потомка.

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

Замечание:

Деструкторы, вызываемые при завершении скрипта, вызываются после отправки HTTP-заголовков. Рабочая директория во время фазы завершения скрипта может отличаться в некоторых SAPI (например, в Apache).

Замечание:

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

Автоматическая загрузка классов
Область видимости
Классы и объекты


Область видимости

Область видимости свойства или метода может быть определена путем использования следующих ключевых слов в объявлении: public, protected или private. Доступ к свойствам и методам класса, объявленным как public (общедоступный), разрешен отовсюду. Модификатор protected (защищенный) разрешает доступ наследуемым и родительским классам. Модификатор private (закрытый) ограничивает область видимости так, что только класс, где объявлен сам элемент, имеет к нему доступ.

Область видимости свойства

Свойства класса должны быть определены через модификаторы public, private, или protected. Если же свойство определено с помощью var, то оно будет доступно как public свойство.

Пример #1 Объявление свойства класса

<?php
/**
 * Определение MyClass
 */
class MyClass
{
    public $public = 'Общий';
    protected $protected = 'Защищенный';
    private $private = 'Закрытый';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Работает
echo $obj->protected; // Неисправимая ошибка
echo $obj->private; // Неисправимая ошибка
$obj->printHello(); // Выводит Общий, Защищенный и Закрытый

/**
 * Определение MyClass2
 */
class MyClass2 extends MyClass
{
    // Мы можем переопределить public и protected методы, но не private
    protected $protected = 'Защищенный2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj2->public; // Работает
echo $obj2->private; // Неопределен
echo $obj2->protected; // Неисправимая ошибка
$obj2->printHello(); // Выводит Общий, Защищенный2 и Закрытый

?>

Замечание: Метод объявления переменной через ключевое слово var, принятый в PHP 4, до сих пор поддерживается в целях совместимости (как синоним ключевого слова public). В версиях PHP 5 ниже 5.1.3 такое использование выводит предупреждение E_STRICT.

Область видимости метода

Методы класса должны быть определены через модификаторы public, private, или protected. Методы, где определение модификатора отсутствует, определяются как public.

Пример #2 Объявление метода

<?php
/**
 * Определение MyClass
 */
class MyClass
{
    // Объявление общедоступного конструктора
    public function __construct() { }

    // Объявление общедоступного метода
    public function MyPublic() { }

    // Объявление защищенного метода
    protected function MyProtected() { }

    // Объявление закрытого метода
    private function MyPrivate() { }

    // Это общедоступный метод
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Работает
$myclass->MyProtected(); // Неисправимая ошибка
$myclass->MyPrivate(); // Неисправимая ошибка
$myclass->Foo(); // Работает общий, защищенный и закрытый

/**
 * Определение MyClass2
 */
class MyClass2 extends MyClass
{
    // Это общедоступный метод
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Неисправимая ошибка
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Работает
$myclass2->Foo2(); // Работает общий и защищенный, закрытый не работает

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

Видимость из других объектов

Объекты одного типа имеют доступ к элементам с модификаторами private и protected друг друга, даже если не являются одним и тем же экземпляром. Это объясняется тем, что реализация видимости элементов известна внутри этих объектов.

Пример #3 Доступ к элементам с модификатором private из объектов одного типа

<?php
class Test
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    private function bar()
    {
        echo 'Доступ к закрытому методу.';
    }

    public function baz(Test $other)
    {
        // Мы можем изменить закрытое свойство:
        $other->foo = 'hello';
        var_dump($other->foo);

        // Мы также можем вызвать закрытый метод:
        $other->bar();
    }
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

Результат выполнения данного примера:

string(5) "hello"
Доступ к закрытому методу.
Конструкторы и деструкторы
Наследование
Классы и объекты


Наследование

Наследование — это хорошо зарекомендовавший себя принцип программирования. PHP использует этот принцип в своей объектной модели. Этот принцип будет распространяться на то, каким образом множество классов и объектов относятся друг к другу.

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

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

Замечание:

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

Пример #1 Пример наследования

<?php

class foo
{
    public function printItem($string)
    {
        echo 'Foo: ' . $string . PHP_EOL;
    }

    public function printPHP()
    {
        echo 'PHP is great.' . PHP_EOL;
    }
}

class bar extends foo
{
    public function printItem($string)
    {
        echo 'Bar: ' . $string . PHP_EOL;
    }
}

$foo = new foo();
$bar = new bar();
$foo->printItem('baz'); // Output: 'Foo: baz'
$foo->printPHP();       // Output: 'PHP is great'
$bar->printItem('baz'); // Output: 'Bar: baz'
$bar->printPHP();       // Output: 'PHP is great'

?>
Область видимости
Оператор разрешения области видимости (::)
Классы и объекты


Оператор разрешения области видимости (::)

Оператор разрешения области видимости (также называемый "Paamayim Nekudotayim") или просто "двойное двоеточие" - это лексема, позволяющая обращаться к статическим свойствам, константам и перегруженным свойствам или методам класса.

При обращении к этим элементам извне класса, необходимо использовать имя этого класса.

Начиная с версии PHP 5.3.0, стало возможным обратиться к классу с помощью переменной. Значение переменной не должно быть ключевым словом (например, self, parent или static).

"Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), команда Zend выбрала именно это обозначение. Оно на самом деле значит "двойное двоеточие" - на иврите!

Пример #1 Использование :: вне объявления класса

<?php
class MyClass {
    const CONST_VALUE = 'Значение константы';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // Начиная с версии PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Для обращения к свойствам и методам внутри самого класса используются ключевые слова self, parent и static.

Пример #2 Использование :: внутри объявления класса

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'статическая переменная';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon(); // Начиная с версии PHP 5.3.0

OtherClass::doubleColon();
?>

Когда дочерний класс перегружает методы, объявленные в классе-родителе, PHP не будет осуществлять автоматический вызов методов, принадлежащих классу-родителю. Этот функционал возлагается на метод, перегружаемый в дочернем классе. Данное правило распространяется на конструкторы и деструкторы, перегруженные и "магические" методы.

Пример #3 Обращение к методу в родительском классе

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Перекрываем родительское определение
    public function myFunc()
    {
        // Но все еще вызываем родительскую функцию
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>
Наследование
Ключевое слово "static"
Классы и объекты


Ключевое слово "static"

Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса. Атрибут класса, объявленный статическим, не можеть быть доступен посредством экземпляра класса (но статический метод может быть вызван).

В целях совместимости с PHP 4, сделано так, что если не использовалось определение области видимости, то член или метод будет рассматриваться, как если бы он был объявлен как public.

Так как статические методы вызываются без создания экземпляра класса, то псевдо-переменная $this не доступна внутри метода, объявленного статическим.

Доступ к статическим свойствам класса не может быть получен через оператор ->.

При попытке вызова нестатических методов статически выводится предупреждение уровня E_STRICT.

Как и любая другая статическая переменная PHP, статические свойства могут инициализироваться только используя литерал или константу, выражения же недопустимы. Таким образом вы можете инициализировать статическое свойство например целым числом или массивом, но не сможете указать другую переменную, результат вызова функции или объект.

Начиная с версии PHP 5.3.0 существует возможность ссылаться на класс используя переменную. Поэтому значение переменной в таком случае не может быть ключевым словом (например, self, parent и static).

Пример #1 Пример статического свойства

<?php
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // Не определено свойство my_static

print $foo::$my_static . "\n"; // Начиная с PHP 5.3.0
$classname = 'Foo';
print $classname::$my_static . "\n"; // Начиная с PHP 5.3.0

print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

Пример #2 Пример статического метода

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // Начиная с PHP 5.3.0
?>
Оператор разрешения области видимости (::)
Абстрактные классы
Классы и объекты


Абстрактные классы

PHP 5 поддерживает определение абстрактных классов и методов. Класс, который содержит по крайней мере один абстрактный метод, должен быть определен как абстрактный. Следует помнить, что нельзя создать экземпляр абстрактного класса. Методы, объявленные абстрактными, несут, по существу, лишь описательный смысл и не могут включать реализации.

При наследовании от абстрактного класса, все методы, помеченные абстрактными в родительском классе, должны быть определены в классе-потомке; кроме того, область видимости этих методов должна совпадать (или быть менее строгой). Например, если абстрактный метод объявлен как protected, то реализация этого метода должна быть либо protected либо public, но никак не private. Более того, сигнатуры методов должны совпадать, т.е. контроль типов (type hint) и количество обязательных аргументов должно быть одинаковым. Это правило также применяется к конструкторам начиная с версии PHP 5.4, ранее сигнатуры конструкторов могли отличаться.

Пример #1 Пример абстрактного класса

<?php
abstract class AbstractClass
{
   /* Данный метод должен быть определён в дочернем классе */
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

   /* Общий метод */
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
    public function getValue() {
        return "ConcreteClass2";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('BAR_') ."\n";
?>

Результат выполнения данного примера:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
BAR_ConcreteClass2

Код, предназначенный для прежних версий PHP, должен работать без изменений, если в нём отсутствуют классы или функции, именованные 'abstract'.

Ключевое слово "static"
Интерфейсы объектов
Классы и объекты


Интерфейсы объектов

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

Интерфейсы объявляются так же, как и обычные классы, но с использованием ключевого слова "interface"; тела методов интерфейсов должны быть пустыми.

Все методы, определенные в интерфейсы должны быть публичными, что следует из самой природы интерфейса.

implements

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

Замечание:

Класс не может реализовать два интерфейса, содержащих одноименную функцию, так как это повлечет за собой неоднозначность.

Замечание:

Интерфейсы могут быть унаследованы друг от друга, так же как и классы, с помощью оператора extends.

Замечание:

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

Константы (Constants)

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

Примеры

Пример #1 Пример интерфейса

<?php

// Объявим интерфейс 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Реализуем интерфейс
// Это сработает нормально
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// Это не будет работать
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
// (Фатальная ошибка: Класс BadTemplate содержит 1 абстрактный метод
// и поэтому должнен быть объявлен абстрактным (iTemplate::getHtml))
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

Пример #2 Расширяемые интерфейсы

<?php
interface a
{
    public function foo();
}

interface b extends a
{
    public function baz(Baz $baz);
}

// Это сработает
class c implements b
{
    public function foo()
    {
    }

    public function baz(Baz $baz)
    {
    }
}

// Это не сработает и выдаст фатальную ошибку
class d implements b
{
    public function foo()
    {
    }

    public function baz(Foo $foo)
    {
    }
}
?>

Пример #3 Множественное наследование интерфейсов

<?php
interface a
{
    public function foo();
}

interface b
{
    public function bar();
}

interface c extends a, b
{
    public function baz();
}

class d implements c
{
    public function foo()
    {
    }

    public function bar()
    {
    }

    public function baz()
    {
    }
}
?>

Пример #4 Интерфейсы с константами

<?php
interface a
{
    const b = 'Константа интерфейса';
}

// Выведет: Константа интерфейса
echo a::b;

// Вот это, однако, не будет работать, так как
// константы перекрывать нельзя.
class b implements a
{
    const b = 'Class constant';
}
?>

Интерфейс, совместно с контролем типов, предоставляет отличный способ проверки того, что определенный объект содержит определенный набор методов. Смотрите также оператор instanceof и контроль типов.

Абстрактные классы
Трейты
Классы и объекты


Трейты

Начиная с версии 5.4.0 PHP вводит инструментарий для повторного использования кода, называемый трейтом.

Трейт (англ. trait) - это механизм обеспечения повторного использования кода в языках с поддержкой единого наследования, таких как PHP. Трейт предназначен для уменьшения некоторых ограничений единого наследования, позволяя разработчику повторно использовать наборы методов свободно, в нескольких независимых классах и реализованных с использованием разных архитектур построения классов. Семантика комбинации трейтов и классов определена таким образом, чтобы снизить уровень сложности, а также избежать типичных проблем, связанных с множественным наследованием и c т.н. mixins.

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

Пример #1 Пример использования трейта

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

Приоритет

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

Пример #2 Пример приоритета старшинства

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

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

Результат выполнения данного примера:

Hello World!

Пример #3 Пример альтернативного порядка приоритета

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hello Universe!';
    }
}

$o = new TheWorldIsNotEnough();
$o->sayHello();
?>

Результат выполнения данного примера:

Hello Universe!

Несколько трейтов

Несколько трейтов могут быть вставлены в класс путем их перечисления в директиве use, разделяя запятыми.

Пример #4 Пример использования нескольких трейтов

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo ' World';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();>
?>

Результат выполнения данного примера:

Hello World!

Разрешение конфликтов

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

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

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

Пример #5 Пример разрешения конфликтов

В этом примере Talker использует трейты A и B. Так как в A и B есть конфликтные методы, он определяет использовать вариант smallTalk из трейта B, и вариант bigTalk из трейта A.

Класс Aliased_Talker применяет оператор as чтобы получить возможность использовать имплементацию bigTalk из B под дополнительным псевдонимом talk.

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}

trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}

class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
?>

Изменение видимости метода

Используя синтаксис оператора as можно также настроить видимость метода в выставке класса.

Пример #6 Пример изменения видимости метода

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

// Изменение видимости класса sayHello
class MyClass1 {
    use HelloWorld { sayHello as protected; }
}

// Создание псевдонима метода с измененной видимостью
// видимость sayHello не изменилась
class MyClass2 {
    use HelloWorld { sayHello as private myPrivateHello; }
}
?>

Трейты, скомпонованные из трейтов

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

Пример #7 Пример трейтов, скомпонованных из трейтов

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World!';
    }
}

trait HelloWorld {
    use Hello, World;
}

class MyHelloWorld {
    use HelloWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
?>

Результат выполнения данного примера:

Hello World!

Абстрактные члены трейтов

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

Пример #8 Экпресс требования с абстрактными методами

<?php
trait Hello {
    public function sayHelloWorld() {
        echo 'Hello'.$this->getWorld();
    }
    abstract public function getWorld();
}

class MyHelloWorld {
    private $world;
    use Hello;
    public function getWorld() {
        return $this->world;
    }
    public function setWorld($val) {
        $this->world = $val;
    }
}
?>

Статические члены трейта

На статические переменные можно ссылаться в методах трейта, но нельзя определить статические переменные в трейте. Тем не менее, трейт может описать статические методы для выставления класса.

Пример #9 Статические переменные

<?php
trait Counter {
    public function inc() {
        static $c = 0;
        $c = $c + 1;
        echo "$c\n";
    }
}

class C1 {
    use Counter;
}

class C2 {
    use Counter;
}

$o = new C1(); $o->inc(); // echo 1
$p = new C2(); $p->inc(); // echo 1
?>

Пример #10 Статические методы

<?php
trait StaticExample {
    public static function doSomething() {
        return 'Doing something';
    }
}

class Example {
    use StaticExample;
}

Example::doSomething();
?>
Интерфейсы объектов
Перегрузка
Классы и объекты


Перегрузка

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

Методы перегрузки вызываются при взаимодействии с теми свойствами или методами, которые не были объявлены или не видны в текущей области видимости. Далее в этом разделе мы будем использовать термины "недоступные свойства" или "недоступные методы" для отражения этой комбинации объявления и области видимости.

Все методы перегрузки должны быть объявлены как public.

Замечание:

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

Замечание:

Интерпретация "перегрузки" в PHP отличается от остальных объектно-ориентированных языков. Традиционно перегрузка означает возможность иметь множество одноименных методов с разным количеством или различными типами аргументов.

Список изменений

Версия | Описание
5.3.0 | Добавлен метод __callStatic(). Добавлено предупреждение об усилении публичной видимости и не-статичном объявлении.
5.1.0 | Добавлены методы __isset() и __unset().

Перегрузка свойств

void __set ( string $name , mixed $value )
mixed __get ( string $name )
bool __isset ( string $name )
void __unset ( string $name )

Метод __set() будет выполнен при записи данных в недоступные свойства.

Метод __get() будет выполнен при чтении данных из недоступных свойств.

Метод __isset() будет выполнен при использовании isset() или empty() на недоступных свойствах.

Метод __unset() будет выполнен при вызове unset() на недоступном свойстве.

Аргумент $name представляет собой имя вызываемого свойства. Метод __set() содержит аргумент $value, представляющий собой значение, которое будет записано в свойство с именем $name.

Перегрузка свойств работает только в контексте объекта. Данные магические методы не будут вызваны в статическом контексте. Поэтому данные методы не должны объявляться статичными. Начиная с версии PHP 5.3.0, при объявлении "волшебного" метода в качестве static будет показано предупреждение.

Замечание:

Возвращаемое значение метода __set() будет проигнорировано из-за способа обработки в PHP оператора присваивания. Аналогично, __get() никогда не вызовется при цепных присваиваниях, например, таких:

 $a = $obj->b = 8;

Замечание:

Невозможно использовать перегруженные свойства в других языковых конструкциях, кроме isset(). Это означает, что если на перегруженном свойстве будет вызвана конструкция empty(), то перегруженный метод не будет вызван.

Для обхода этого ограничения можно скопировать перегруженное свойство в локальную переменную и затем применить к ней empty().

Пример #1
     Перегрузка свойств с помощью методов __get(),
     __set(), __isset()
     и __unset()

<?php
class PropertyTest {
    /**  Место хранения перегружаемых данных.  */
    private $data = array();

    /**  Перегрузка не применяется к объявленным свойствам.  */
    public $declared = 1;

    /**  Здесь перегрузка будет использована только при доступе вне класса.  */
    private $hidden = 2;

    public function __set($name, $value) {
        echo "Установка '$name' в '$value'\n";
        $this->data[$name] = $value;
    }

    public function __get($name) {
        echo "Получение '$name'\n";
        if (array_key_exists($name, $this->data)) {
            return $this->data[$name];
        }

        $trace = debug_backtrace();
        trigger_error(
            'Неопределенное свойство в __get(): ' . $name .
            ' в файле ' . $trace[0]['file'] .
            ' на строке ' . $trace[0]['line'],
            E_USER_NOTICE);
        return null;
    }

    /**  Начиная с версии PHP 5.1.0  */
    public function __isset($name) {
        echo "Установлено ли '$name'?\n";
        return isset($this->data[$name]);
    }

    /**  Начиная с версии PHP 5.1.0  */
    public function __unset($name) {
        echo "Уничтожение '$name'\n";
        unset($this->data[$name]);
    }

    /**  Не "волшебный" метод, просто для примера. */
    public function getHidden() {
        return $this->hidden;
    }
}

echo "<pre>\n";

$obj = new PropertyTest;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->declared . "\n\n";

echo "Давайте поэкспериментируем с private свойством 'hidden':\n";
echo "Private свойства видны внутри класса, поэтому __get() не используется...\n";
echo $obj->getHidden() . "\n";
echo "Private свойства не видны вне класса, поэтому __get() используется...\n";
echo $obj->hidden . "\n";
?>

Результат выполнения данного примера:

Установка 'a' в '1'
Получение 'a'
1

Установлено ли 'a'?
bool(true)
Уничтожение 'a'
Установлено ли 'a'?
bool(false)

1

Давайте поэкспериментируем с private свойством 'hidden':
Private свойства видны внутри класса, поэтому __get() не используется...
2
Private свойства не видны вне класса, поэтому __get() используется...
Получение 'hidden'

Notice:  Неопределенное свойство в __get(): hidden в файле <file> на строке 70 в <file> на строке 29

Перегрузка методов

mixed __call ( string $name , array $arguments )
mixed __callStatic ( string $name , array $arguments )

В контексте объекта при вызове недоступных методов вызывается метод __call().

В статическом контексте при вызове недоступных методов вызывается метод __callStatic().

Аргумент $name представляет собой имя вызываемого метода. Аргумент $arguments представляет собой числовой массив, содержащий параметры, переданные в вызываемый метод $name.

Пример #2 Перегрузка методов с помощью методов __call() и __callStatic()

<?php
class MethodTest {
    public function __call($name, $arguments) {
        // Замечание: значение $name регистрозависимо.
        echo "Вызов метода '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  Начиная с версии PHP 5.3.0  */
    public static function __callStatic($name, $arguments) {
        // Замечание: значение $name регистрозависимо.
        echo "Вызов статического метода '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodTest;
$obj->runTest('в контексте объекта');

MethodTest::runTest('в статическом контексте');  // Начиная с версии PHP 5.3.0
?>

Результат выполнения данного примера:

Вызов метода 'runTest' в контексте объекта
Вызов статического метода 'runTest' в статическом контексте
Трейты
Итераторы объектов
Классы и объекты


Итераторы объектов

PHP 5 предоставляет такой способ объявления объектов, который дает возможность пройти по списку элементов данного объекта, например, с помощью оператора foreach. По умолчанию, в этом обходе (итерации) будут участвовать все видимые свойства объекта.

Пример #1 Итерация простого объекта

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

Результат выполнения данного примера:

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::iterateVisible:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

Как показывает результат, foreach проитерировал все принадлежащие объекту видимые свойства. Кроме того, вы можете развить эту концепцию и реализовать один из встроенных в PHP 5 интерфейсов - Iterator. Это позволит самому объекту решать, что и как должно быть итерировано.

Пример #2 Объект Iteration, реализующий интерфейс Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind()
    {
        echo "перемотка в начало\n";
        reset($this->var);
    }

    public function current()
    {
        $var = current($this->var);
        echo "текущий: $var\n";
        return $var;
    }

    public function key()
    {
        $var = key($this->var);
        echo "ключ: $var\n";
        return $var;
    }

    public function next()
    {
        $var = next($this->var);
        echo "следующий: $var\n";
        return $var;
    }

    public function valid()
    {
        $key = key($this->var);
        $var = ($key !== NULL && $key !== FALSE);
        echo "верный: $var\n";
        return $var;
    }

}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

Результат выполнения данного примера:

перемотка в начало
верный: 1
текущий: 1
ключ: 0
0: 1
следующий: 2
верный: 1
текущий: 2
ключ: 1
1: 2
следующий: 3
верный: 1
текущий: 3
ключ: 2
2: 3
следующий:
верный:

Можно также объявить класс без необходимости описывать все методы, перечисленные в интерфейсе Iterator, для этого нужно просто реализовать PHP 5 интерфейс IteratorAggregate.

Пример #3 Объект Iteration, реализующий интерфейс IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // Требование интерфейса IteratorAggregate
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('value 1');
$coll->add('value 2');
$coll->add('value 3');

foreach ($coll as $key => $val) {
    echo "ключ/значение: [$key -> $val]\n\n";
}
?>

Результат выполнения данного примера:

перемотка в начало
текущий: value 1
верный: 1
текущий: value 1
ключ: 0
ключ/значение: [0 -> value 1]

следующий: value 2
текущий: value 2
верный: 1
текущий: value 2
ключ: 1
ключ/значение: [1 -> value 2]

следующий: value 3
текущий: value 3
верный: 1
текущий: value 3
ключ: 2
ключ/значение: [2 -> value 3]

следующий:
текущий:
верный:

Замечание:

Больше примеров итераторов можно найти в расширении SPL.

Перегрузка
Шаблоны проектирования
Классы и объекты


Шаблоны проектирования

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

Фабрика (Factory)

Шаблон Фабрика позволяет создавать объекты во время работы программы. Этот шаблон называется Фабрикой потому, что он отвечает за производство объекта. Параметризированная фабрика принимает в качестве аргумента имя класса, объект которого создается.

Пример #1 Параметризированный фабричный метод

<?php
class Example
{
    // Параметризированный фабричный метод
    public static function factory($type)
    {
        if (include_once 'Drivers/' . $type . '.php') {
            $classname = 'Driver_' . $type;
            return new $classname;
        } else {
            throw new Exception('Драйвер не найден');
        }
    }
}
?>

Определение этого метода в классе позволяет драйверам быть загруженными "на лету". В случае, если класс Example был бы классом абстрактного доступа к базе данных, то загрузка драйвера MySQL и SQLite может быть выполнена следующим образом:

<?php
// Загрузка драйвера MySQL
$mysql = Example::factory('MySQL');

// Загрузка драйвера SQLite
$sqlite = Example::factory('SQLite');
?>

Синглтон (Singleton)

Шаблон проектирования Синглтон применяется в тех ситуациях, когда нужно получить единственный экземпляр класса. Синглтон является одним из четырех("Gang of Four") основных создающих шаблонов.

Синглтон обычно применяется в классах для баз данных, логирования, контроллеров(Front Controller) и объектах, определяющих запросы и ответы(Request и Response).

Пример #2 Пример Синглтона

<?php
class Example
{
    private static $instance;
    private $count = 0;

    private function __construct()
    {
    }

    public static function singleton()
    {
        if (!isset(self::$instance)) {
            echo 'Создание нового экземпляра.';
            $className = __CLASS__;
            self::$instance = new $className;
        }
        return self::$instance;
    }

    public function increment()
    {
        return $this->count++;
    }

    public function __clone()
    {
        trigger_error('Клонирование запрещено.', E_USER_ERROR);
    }

    public function __wakeup()
    {
        trigger_error('Десериализация запрещена.', E_USER_ERROR);
}

?>

Пример ниже иллюстрирует использование Синглтона

<?php
$singleton = Example::singleton(); // выведет "Создание нового экземпляра."
echo $singleton->increment(); // 0
echo $singleton->increment(); // 1

$singleton = Example::singleton(); // вернет тот же самый экземпляр
echo $singleton->increment(); // 2
echo $singleton->increment(); // 3

// все строки ниже вызывают неисправимую ошибку
$singleton2 = new Example;
$singleton3 = clone $singleton;
$singleton4 = unserialize(serialize($singleton));
?>
Внимание

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

Критики также утверждаю, что не имеет смысла использовать Синглтон в архитектурах "ничего общего" (Shared Nothing Architecture), таких как PHP, где объекты являются уникальными в пределах запроса и никак иначе. Проще и аккуратнее создавать структуры взаимосвязанных объектов с помощью шаблонов Строителей(Builders) и Фабрики(Factory) за один раз в начале запроса.

Синглтоны также нарушают некоторые из "Жестких" принципов ООП проектирования и Закон Деметры. Синглтоны нельзя сериализовывать. Они не могут быть подклассами (до PHP 5.3) и не будут собираться сборщиком мусора из-за того, что экземпляр хранится в статическом атрибуте Синглтона.

Итераторы объектов
Магические методы
Классы и объекты


Магические методы

Имена методов
__construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__toString(),
__invoke(),
__set_state() и
__clone()
зарезервированы для "магических" методов в PHP.
Не стоит называть свои методы этими именами, если вы не хотите
использовать их "магическую" функциональность.

Предостережение

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

__sleep() и __wakeup()

Функция serialize() проверяет, присутствует ли в вашем классе метод с "магическим" именем __sleep(). Если это так, то этот метод выполняется прежде любой операции сериализации. Он может очистить объект и предполагается, что будет возвращен массив с именами всех переменных объекта, который должен быть сериализован. Если метод ничего не возвращает кроме NULL, то это значит, что объект сериализован и выдается предупреждение E_NOTICE.

Замечание:

Недопустимо возвращать в __sleep() имена приватных свойств объекта в родительский класс. Это приведет к предупреждению E_NOTICE. Вместо этого вы можете использовать интерфейс Serializable.

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

С другой стороны, функция unserialize() проверяет наличие метода с "магическим" именем __wakeup(). Если такой имеется, то он может воссоздать все ресурсы объекта, принадлежавшие ему.

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

Пример #1 Sleep и wakeup

<?php
class Connection
{
    protected $link;
    private $server, $username, $password, $db;

    public function __construct($server, $username, $password, $db)
    {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->db = $db;
        $this->connect();
    }

    private function connect()
    {
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->db, $this->link);
    }

    public function __sleep()
    {
        return array('server', 'username', 'password', 'db');
    }

    public function __wakeup()
    {
        $this->connect();
    }
}
?>

__toString()

Метод __toString() позволяет классу решать самостоятельно, как он должен реагировать при преобразовании в строку. Например, что напечатает echo $obj;. Этот метод должен возвращать строку, иначе выдастся неисправимая ошибка E_RECOVERABLE_ERROR.

Пример #2 Простой пример

<?php
// Объявление простого класса
class TestClass
{
    public $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    public function __toString()
    {
        return $this->foo;
    }
}

$class = new TestClass('Привет');
echo $class;
?>

Результат выполнения данного примера:

Привет

Ранее, до PHP 5.2.0, метод __toString() вызывался только непосредственно в сочетании с функциями echo() или print(). Начиная с PHP 5.2.0, он вызывается в любом строчном контексте (например, в printf() с модификатором %s), но не в контекстах других типов (например, с %d модификатором). Начиная с PHP 5.2.0, преобразование объекта в строку при отсутствии метода __toString() вызывает ошибку E_RECOVERABLE_ERROR.

__invoke()

Метод __invoke() вызывается, когда скрипт пытается выполнить объект как функцию.

Замечание:

Данный метод доступен начиная с PHP 5.3.0.

Пример #3 Использование __invoke()

<?php
class CallableClass
{
    public function __invoke($x)
    {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

Результат выполнения данного примера:

int(5)
bool(true)

__set_state()

Этот статический метод вызывается для тех классов, которые экспортируются функцией var_export() начиная с PHP 5.1.0.

Параметр этого метода должен содержать массив, состоящий из экспортируемых свойств в виде array('property' => value, ...).

Пример #4 Использование __set_state() (начиная с PHP 5.1.0)

<?php

class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array) // С PHP 5.1.0
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);

?>

Результат выполнения данного примера:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}
Шаблоны проектирования
Ключевое слово "final"
Классы и объекты


Ключевое слово "final"

PHP 5 представляет ключевое слово final, разместив которое перед объявлениями методов класса, можно предотвратить их переопределение в дочерних классах. Если же сам класс определяется с этим ключевым словом, то он не сможет быть унаследован.

Пример #1 Пример окончательных (final) методов

<?php
class BaseClass {
   public function test() {
       echo "Вызван метод BaseClass::test()\n";
   }

   final public function moreTesting() {
       echo "Вызван метод BaseClass::moreTesting()\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "Вызван метод ChildClass::moreTesting()\n";
   }
}
// Выполнение заканчивается фатальной ошибкой: Cannot override final method BaseClass::moreTesting()
// (Метод BaseClass::moretesting() не может быть переопределён)
?>

Пример #2 Пример окончательного (final) класса

<?php
final class BaseClass {
   public function test() {
       echo "Вызван метод BaseClass::test()\n";
   }

   // В данном случае неважно, укажете ли вы этот метод как final или нет
   final public function moreTesting() {
       echo "BaseClass::moreTesting() called\n";
   }
}

class ChildClass extends BaseClass {
}
// Выполнение заканчивается фатальной ошибкой: Class ChildClass may not inherit from final class (BaseClass)
// (Класс ChildClass не может быть унаследован от окончательного класса (BaseClass))
?>

Замечание: Свойства не могут быть объявлены окончательными, только классы и методы.

Магические методы
Клонирование объектов
Классы и объекты


Клонирование объектов

Создание копии объекта с абсолютно идентичными свойствами не всегда является приемлемым вариантом. Хорошим примером необходимости копирования конструкторов может послужить ситуация, когда у вас есть объект, представляющий собой окно GTK и содержащий ресурс-идентификатор этого окна; когда вы создаете копию этого объекта, вам может понадобиться, чтобы копия объекта содержала ресурс-идентификатор нового окна. Другим примером может послужить ситуация, когда ваш объект содержит ссылку на какой-либо другой используемый объект и, когда вы создаёте копию родительского объекта, вам нужно также создать новый экземпляр этого другого объекта, так, чтобы копия объекта-контейнера содержала собственный отдельный экземпляр содержащегося объекта.

Копия объекта создается с использованием ключевого слова clone (который вызывает метод __clone() объекта, если это возможно). Вызов метода __clone() не может быть осуществлён непосредственно.

$copy_of_object = clone $object;

При клонировании объекта, PHP 5 выполняет неполную копию всех свойств объекта. Любые свойства, являющиеся ссылками на другие переменные, останутся ссылками.

По завершении клонирования, если у класса был определен метод __clone(), то этот метод __clone() вызывается у свежесозданной копии объекта, для возможного изменения всех необходимых свойств.

Пример #1 Клонирование объекта

<?php
class SubObject
{
    static $instances = 0;
    public $instance;

    public function __construct() {
        $this->instance = ++self::$instances;
    }

    public function __clone() {
        $this->instance = ++self::$instances;
    }
}

class MyCloneable
{
    public $object1;
    public $object2;

    function __clone()
    {
        // Принудительно копируем this->object, иначе
        // он будет указывать на один и тот же объект.
        $this->object1 = clone $this->object1;
    }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Оригинальный объект:\n");
print_r($obj);

print("Клонированный объект:\n");
print_r($obj2);

?>

Результат выполнения данного примера:

Оригинальный объект:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Клонированный объект:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Ключевое слово "final"
Сравнение объектов
Классы и объекты


Сравнение объектов

В PHP 5 сравнение объектов является более сложным процессом, чем в PHP 4, а также процессом, более соответствующим идеологии объектно-ориентированного языка (здесь не имеется в виду, что PHP 5 является таковым).

При использовании оператора сравнения (==), свойства объектов просто сравниваются друг с другом, а именно: два объекта равны, если они содержат одинаковые свойства и одинаковые значения, и являются экземплярами одного и того же класса.

С другой стороны, при использовании оператора идентичности (===), переменные объектов считаются идентичными тогда и только тогда, когда они ссылаются на один и тот же экземпляр одного и того же класса.

Следующий пример внесёт ясность.

Пример #1 Пример сравнения объектов в PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSE';
    } else {
        return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Два экземпляра одного и того же класса\n";
compareObjects($o, $p);

echo "\nДве ссылки на один и тот же экземпляр\n";
compareObjects($o, $q);

echo "\nЭкземпляры двух разных классов\n";
compareObjects($o, $r);
?>

Результат выполнения данного примера:

Два экземпляра одного и того же класса
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Две ссылки на один и тот же экземпляр
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Экземпляры двух разных классов
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Замечание:

Расширения могут определять собственные правила для сравнения своих объектов.

Клонирование объектов
Контроль типа
Классы и объекты


Контроль типа

PHP 5 предоставляет возможность использовать контроль типов. На данный момент функции имеют возможность заставлять параметры быть либо объектами (путем указания имени класса в прототипе функции), либо массивами (начиная с PHP 5.1). Однако, если NULL использовался как значение параметра по умолчанию, то это будет также допустимо в качестве аргумента для последующего вызова.

Пример #1 Пример контроля типов

<?php
// Тестовый класс
class MyClass
{
    /**
     * Тестовая функция
     *
     * Первый параметр должен быть объектом типа OtherClass
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }

    /**
     * Другая тестовая функция
     *
     * Первый параметр должен быть массивом
     */
    public function test_array(array $input_array) {
        print_r($input_array);
    }
}

// Другой тестовый класс
class OtherClass {
    public $var = 'Hello World';
}
?>

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

<?php
// Экземпляры каждого класса
$myclass = new MyClass;
$otherclass = new OtherClass;

// Ошибка: Аргумент 1 должен быть экземпляром класса OtherClass
$myclass->test('hello');

// Ошибка: Аргумент 1 должен быть экземпляром класса OtherClass
$foo = new stdClass;
$myclass->test($foo);

// Ошибка: Аргумент 1 не должен быть null
$myclass->test(null);

// Работает: Выводит Hello World
$myclass->test($otherclass);

// Ошибка: Аргумент 1 должен быть массив
$myclass->test_array('a string');

// Работает: Выводит массив
$myclass->test_array(array('a', 'b', 'c'));
?>

Также, контроль типов работает и с функциями:

<?php
// Пример класса
class MyClass {
    public $var = 'Hello World';
}

/**
 * Тестовая функция
 *
 * Первый параметр должен быть объект класса MyClass
 */
function MyFunction (MyClass $foo) {
    echo $foo->var;
}

// Это работает
$myclass = new MyClass;
MyFunction($myclass);
?>

Контроль типов допускает значения NULL:

<?php

/* Прием значения NULL */
function test(stdClass $obj = NULL) {

}

test(NULL);
test(new stdClass);

?>

Контроль типа может быть использован только с типами object и array (начиная с PHP 5.1). Традиционный контроль типа для int и string не поддерживается.

Сравнение объектов
Позднее статическое связывание
Классы и объекты


Позднее статическое связывание

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

Если говорить более точно, позднее статическое связывание сохраняет имя класса указанного в последнем "не перенаправленном вызове". В случае статических вызовов это явно указанный класс (обычно слева от оператора ::); в случае не статических вызовов это класс объекта. "Перенаправленный вызов" - это статический вызов, начинающийся с self::, parent::, static::, или, если двигаться вверх по иерархии классов, forward_static_call(). Функция get_called_class() может быть использована чтобы получить строку с именем вызванного класса, и static:: представляет ее область действия.

Само название "позднее статическое связывание" отражает в себе внутреннюю реализацию этой особенности. "Позднее связывание" отражает тот факт, что обращения через static:: не будут вычисляться по отношению к классу, в котором вызываемый метод определен, а будут вычисляться на основе информации в ходе исполнения. Также эта особенность была названа "статическое связывание" потому, что она может быть использована (но не обязательно) в статических методах.

Ограничения self::

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

Пример #1 Использование self::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?>

Результат выполнения данного примера:

A

Использование позднего статического связывания

Позднее статическое связывание пытается устранить это ограничение предоставляя ключевое слово, которое ссылается на класс, вызванный непосредственно в ходе выполнения. Попросту говоря, ключевое слово, которое позволит вам ссылаться на B из test() в предыдущем примере. Было решено не вводить новое ключевое слово, а использовать static, которое уже зарезервировано.

Пример #2 Простое использованиеstatic::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Здесь действует позднее статическое связывание
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?>

Результат выполнения данного примера:

B

Замечание:

В нестатическом контексте вызванным классом будет тот, к которому относится экземпляр объекта. Поскольку $this-> будет пытаться вызывать закрытые методы из той же области действия, использование static:: может дать разные результаты. Другое отличие в том, что static:: может ссылаться только на статические поля класса.

Пример #3 Использование static:: в нестатическом контексте

<?php
class A {
    private function foo() {
        echo "success!\n";
    }
    public function test() {
        $this->foo();
        static::foo();
    }
}

class B extends A {
   /* foo() будет скопирован в В, следовательно его область действия по прежнему А,
      и вызов будет успешен*/
}

class C extends A {
    private function foo() {
        /* исходный метод заменен; область действия нового метода С */
    }
}

$b = new B();
$b->test();
$c = new C();
$c->test();   //не верно
?>

Результат выполнения данного примера:

success!
success!
success!

Fatal error:  Call to private method C::foo() from context 'A' in /tmp/test.php on line 9

Замечание:

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

Пример #4 Перенаправленные и не перенаправленные вызовы

<?php
class A {
    public static function foo() {
        static::who();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        self::foo();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}
class C extends B {
    public static function who() {
        echo __CLASS__."\n";
    }
}

C::test();
?>

Результат выполнения данного примера:

A
C
C

Контроль типа
Объекты и ссылки
Классы и объекты


Объекты и ссылки

Одним из ключевых моментов объктно-ориентированной парадигмы PHP 5, которой часто обсуждается, является "передача объектов по ссылке по умолчанию". Это не совсем верно. Этот раздел уточняет это понятие используя некоторые примеры.

Ссылка в PHP это псевдоним (алиас), который позволяет присвоить двум переменным одинаковое значение. Начиная с PHP 5 объектная переменная больше не содержит сам объект как значение. Такая переменная содержит только идентификатор объекта, который позволяет найти конкретный объект при обращении к нему. Когда объект передается как аргумент функции, возвращается или присваивается другой переменной, то эти разные переменные не являются псевдонимами (алиасами): они содержат копию идентификатора, который указывает на один и тот же объект.

Пример #1 Ссылки и объекты

<?php
class A {
    public $foo = 1;
}

$a = new A;
$b = $a;     // $a и $b копии одного идентификатора
             // ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c;    // $c и $d ссылки
             // ($c,$d) = <id>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
    // ($obj) = ($e) = <id>
    $obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

Результат выполнения данного примера:

2
2
2
Позднее статическое связывание
Сериализация объектов
Классы и объекты


Сериализация объектов

Сериализация объектов - сохранение объектов между сессиями

Функция serialize() возвращает строковое представление любого значения, которое может быть сохранено в PHP. Функция unserialize() использует эту строку для востановления исходного значения переменной. Использование serialize для сериализации объекта сохранит имя класса и все его свойства, однако методы не сохраняются.

Для того, чтобы иметь возможность сделать unserialize() для объекта нужно чтобы класс этого объекта был определен заранее. То есть, если у вас есть экземпляр класса А, и вы сделаете его сериализацию, вы получите его строковое представление, которое содержит значение всех переменных описанных в нем. Для того, чтобы востановить объект из строки в другом PHP файле класс A должен быть определен заранее. Это можно сделать сохранив определение класса A в отдельный файл и подключить этот файл или использовать функцию spl_autoload_register() для автоматического подключения.

<?php
// classa.inc:

  class A {
      public $one = 1;

      public function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // сохраняем $s где-нибудь, откуда page2.php сможет его получить.
  file_put_contents('store', $s);

// page2.php:

  // это нужно для того, чтобы функция unserialize работала правильно.
  include("classa.inc");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // теперь можно использовать метод show_one() объекта $a.
  $a->show_one();
?>

Если приложение использует сессии и функцию session_register() для регистрации объектов, эти объекты сериализуются автоматически в конце исполнения каждой страницы PHP, и десериализуются автоматически в начале исполнения каждой из следующих страниц. Это означает, что эти объекты могут появиться на любой из страниц приложения, став однажды частью сессии. Тем не менее, функция session_register() удалена в PHP 5.4.0.

Если в приложении производится сериализация объектов для последующего использования, настоятельно рекомендуется подключать определение класса для этого объекта во всем приложении. Невыполнение этого требования может привести к тому, что объект будет десериализован в отсутствие определения класса, что в свою очередь приведет к тому, что PHP будет использовать для этого объекта класс __PHP_Incomplete_Class_Name, который не имеет методов и сделает объект бесполезным.

В приведенном выше примере $a стало частью сессии после запуска session_register("a"), вы должны подключать файл classa.inc на всех ваших страницах, а не только page1.php и page2.php.

Объекты и ссылки
Журнал изменений ООП
Классы и объекты


Журнал изменений ООП

Изменения модели ООП в PHP 5 описаны в этом разделе. Описания и другие примечания, касающиеся этих возможностей, описаны в рамках документации ООП PHP5

Версия | Описание
5.4.0 | Изменено: Если абстрактный класс определяет сигнатуру для конструктора, то она будет принудительно применяться.
5.3.3 | Изменено: Методы с тем же именем, что и последний элемент пространства имен класса больше не будет рассматриваться как конструктор. Это изменение не будет влиять на классы, не входящие в пространства имен.
5.3.0 | Изменено: Больше не требуется, чтобы классы, реализующие интерфейсы с методами, которые имеют значения по умолчанию в прототипе, соответствовали значениям по умолчанию в интерфейсе.
5.3.0 | Изменено: Теперь стало возможным ссылаться на класс, используя переменную (например, echo $classname::constant;). Значение переменной не может быть ключевым словом (например, self, parent или static).
5.3.0 | Изменено: Ошибка E_WARNING происходит, если магические перегруженные методы задекларированы как статические. Это также усиливает требование, что эти методы должны быть публичными.
5.3.0 | Изменено: До 5.3.0, исключения в функции __autoload не могли быть перехвачены в блоке catch и приводили к фатальной ошибке. Сейчас исключения в функции __autoload могут быть перехвачены в блоке catch, но с одной оговоркой. Если перехватывается пользовательское исключение, то класс, обрабатывающий это исключение, должен быть доступен. Функция __autoload может быть использована рекурсивно для автозагрузки пользовательского класса обработки исключения.
5.3.0 | Добавлено: Метод __callStatic.
5.3.0 | Добавлено: Поддержка heredoc и nowdoc для констант и определений свойств класса. Примечание: Значение heredoc должны следовать тем же правилам, что и строки в двойных кавычках (например, без переменных внутри).
5.3.0 | Добавлено: Позднее статическое связывание.
5.3.0 | Добавлено: метод __invoke.
5.2.0 | Изменено: Метод __toString вызывался только когда он напрямую комбинировался с echo() или print(). Сейчас он вызывается в любом контексте строки (например, в printf() с модификатором %s), но не в других типах контекста (например, с модификатором %d). С PHP 5.2.0, преобразование объектов без метода __toString в строку выдает ошибку уровня E_RECOVERABLE_ERROR.
5.1.3 | Изменено: В предыдущих версиях PHP 5 использование var считалось устаревшим и выдавало ошибку E_STRICT. Сейчас это не считается устаревшим, поэтому ошибка больше не выдается.
5.1.0 | Изменено: Статический метод __set_state теперь вызывается для классов, экспортируемых функцией var_export().
5.1.0 | Добавлены: методы __isset и __unset.

Сериализация объектов
Namespaces
Классы и объекты


Namespaces

Содержание

  • Namespaces overview
  • Defining namespaces
  • Declaring sub-namespaces
  • Defining multiple namespaces in the same file
  • Using namespaces: Basics
  • Namespaces and dynamic language features
  • namespace keyword and __NAMESPACE__ constant
  • Using namespaces: Aliasing/Importing
  • Global space
  • Using namespaces: fallback to global function/constant
  • Name resolution rules
  • FAQ: things you need to know about namespaces
Журнал изменений ООП
Namespaces overview
Справочник языка


Namespaces overview

(PHP 5 >= 5.3.0)

What are namespaces? In the broadest definition namespaces are a way of encapsulating items. This can be seen as an abstract concept in many places. For example, in any operating system directories serve to group related files, and act as a namespace for the files within them. As a concrete example, the file foo.txt can exist in both directory /home/greg and in /home/other, but two copies of foo.txt cannot co-exist in the same directory. In addition, to access the foo.txt file outside of the /home/greg directory, we must prepend the directory name to the file name using the directory separator to get /home/greg/foo.txt. This same principle extends to namespaces in the programming world.

In the PHP world, namespaces are designed to solve two problems that authors of libraries and applications encounter when creating re-usable code elements such as classes or functions:

  1. Name collisions between code you create, and internal PHP classes/functions/constants or third-party classes/functions/constants.
  2. Ability to alias (or shorten) Extra_Long_Names designed to alleviate the first problem, improving readability of source code.

PHP Namespaces provide a way in which to group related classes, interfaces, functions and constants. Here is an example of namespace syntax in PHP:

Пример #1 Namespace syntax example

<?php
namespace my\name; // see "Defining Namespaces" section

class MyClass {}
function myfunction() {}
const MYCONST = 1;

$a = new MyClass;
$c = new \my\name\MyClass; // see "Global Space" section

$a = strlen('hi'); // see "Using namespaces: fallback to global
                   // function/constant" section

$d = namespace\MYCONST; // see "namespace operator and __NAMESPACE__
                        // constant" section
$d = __NAMESPACE__ . '\MYCONST';
echo constant($d); // see "Namespaces and dynamic language features" section
?>

Замечание:

Namespace names PHP and php, and compound names starting with these names (like PHP\Classes) are reserved for internal language use and should not be used in the userspace code.

Namespaces
Defining namespaces
Namespaces


Defining namespaces

(PHP 5 >= 5.3.0)

Although any valid PHP code can be contained within a namespace, only four types of code are affected by namespaces: classes, interfaces, functions and constants.

Namespaces are declared using the namespace keyword. A file containing a namespace must declare the namespace at the top of the file before any other code - with one exception: the declare keyword.

Пример #1 Declaring a single namespace

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>
The only code construct allowed before a namespace declaration is the declare statement, for defining encoding of a source file. In addition, no non-PHP code may precede a namespace declaration, including extra whitespace:

Пример #2 Declaring a single namespace

<html>
<?php
namespace MyProject; // fatal error - namespace must be the first statement in the script
?>

In addition, unlike any other PHP construct, the same namespace may be defined in multiple files, allowing splitting up of a namespace's contents across the filesystem.

Namespaces overview
Declaring sub-namespaces
Namespaces


Declaring sub-namespaces

(PHP 5 >= 5.3.0)

Much like directories and files, PHP namespaces also contain the ability to specify a hierarchy of namespace names. Thus, a namespace name can be defined with sub-levels:

Пример #1 Declaring a single namespace with hierarchy

<?php
namespace MyProject\Sub\Level;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>
The above example creates constant MyProject\Sub\Level\CONNECT_OK, class MyProject\Sub\Level\Connection and function MyProject\Sub\Level\connect.

Defining namespaces
Defining multiple namespaces in the same file
Namespaces


Defining multiple namespaces in the same file

(PHP 5 >= 5.3.0)

Multiple namespaces may also be declared in the same file. There are two allowed syntaxes.

Пример #1 Declaring multiple namespaces, simple combination syntax

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

namespace AnotherProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
?>

This syntax is not recommended for combining namespaces into a single file. Instead it is recommended to use the alternate bracketed syntax.

Пример #2 Declaring multiple namespaces, bracketed syntax

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace AnotherProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}
?>

It is strongly discouraged as a coding practice to combine multiple namespaces into the same file. The primary use case is to combine multiple PHP scripts into the same file.

To combine global non-namespaced code with namespaced code, only bracketed syntax is supported. Global code should be encased in a namespace statement with no namespace name as in:

Пример #3 Declaring multiple namespaces and unnamespaced code

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

No PHP code may exist outside of the namespace brackets except for an opening declare statement.

Пример #4 Declaring multiple namespaces and unnamespaced code

<?php
declare(encoding='UTF-8');
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

Declaring sub-namespaces
Using namespaces: Basics
Namespaces


Using namespaces: Basics

(PHP 5 >= 5.3.0)

Before discussing the use of namespaces, it is important to understand how PHP knows which namespaced element your code is requesting. A simple analogy can be made between PHP namespaces and a filesystem. There are three ways to access a file in a file system:

  1. Relative file name like foo.txt. This resolves to currentdirectory/foo.txt where currentdirectory is the directory currently occupied. So if the current directory is /home/foo, the name resolves to /home/foo/foo.txt.
  2. Relative path name like subdirectory/foo.txt. This resolves to currentdirectory/subdirectory/foo.txt.
  3. Absolute path name like /main/foo.txt. This resolves to /main/foo.txt.
The same principle can be applied to namespaced elements in PHP. For example, a class name can be referred to in three ways:
  1. Unqualified name, or an unprefixed class name like $a = new foo(); or foo::staticmethod();. If the current namespace is currentnamespace, this resolves to currentnamespace\foo. If the code is global, non-namespaced code, this resolves to foo. One caveat: unqualified names for functions and constants will resolve to global functions and constants if the namespaced function or constant is not defined. See Using namespaces: fallback to global function/constant for details.
  2. Qualified name, or a prefixed class name like $a = new subnamespace\foo(); or subnamespace\foo::staticmethod();. If the current namespace is currentnamespace, this resolves to currentnamespace\subnamespace\foo. If the code is global, non-namespaced code, this resolves to subnamespace\foo.
  3. Fully qualified name, or a prefixed name with global prefix operator like $a = new \currentnamespace\foo(); or \currentnamespace\foo::staticmethod();. This always resolves to the literal name specified in the code, currentnamespace\foo.

Here is an example of the three kinds of syntax in actual code:

file1.php

<?php
namespace Foo\Bar\subnamespace;

const FOO = 1;
function foo() {}
class foo
{
    static function staticmethod() {}
}
?>

file2.php

<?php
namespace Foo\Bar;
include 'file1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function staticmethod() {}
}

/* Unqualified name */
foo(); // resolves to function Foo\Bar\foo
foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo FOO; // resolves to constant Foo\Bar\FOO

/* Qualified name */
subnamespace\foo(); // resolves to function Foo\Bar\subnamespace\foo
subnamespace\foo::staticmethod(); // resolves to class Foo\Bar\subnamespace\foo,
                                  // method staticmethod
echo subnamespace\FOO; // resolves to constant Foo\Bar\subnamespace\FOO

/* Fully qualified name */
\Foo\Bar\foo(); // resolves to function Foo\Bar\foo
\Foo\Bar\foo::staticmethod(); // resolves to class Foo\Bar\foo, method staticmethod
echo \Foo\Bar\FOO; // resolves to constant Foo\Bar\FOO
?>

Note that to access any global class, function or constant, a fully qualified name can be used, such as \strlen() or \Exception or \INI_ALL.

Пример #1 Accessing global classes, functions and constants from within a namespace

<?php
namespace Foo;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('hi'); // calls global function strlen
$b = \INI_ALL; // accesses global constant INI_ALL
$c = new \Exception('error'); // instantiates global class Exception
?>

Defining multiple namespaces in the same file
Namespaces and dynamic language features
Namespaces


Namespaces and dynamic language features

(PHP 5 >= 5.3.0)

PHP's implementation of namespaces is influenced by its dynamic nature as a programming language. Thus, to convert code like the following example into namespaced code:

Пример #1 Dynamically accessing elements

example1.php:

<?php
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "global";

$a = 'classname';
$obj = new $a; // prints classname::__construct
$b = 'funcname';
$b(); // prints funcname
echo constant('constname'), "\n"; // prints global
?>
One must use the fully qualified name (class name with namespace prefix). Note that because there is no difference between a qualified and a fully qualified Name inside a dynamic class name, function name, or constant name, the leading backslash is not necessary.

Пример #2 Dynamically accessing namespaced elements

<?php
namespace namespacename;
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "namespaced";

include 'example1.php';

$a = 'classname';
$obj = new $a; // prints classname::__construct
$b = 'funcname';
$b(); // prints funcname
echo constant('constname'), "\n"; // prints global

/* note that if using double quotes, "\\namespacename\\classname" must be used */
$a = '\namespacename\classname';
$obj = new $a; // prints namespacename\classname::__construct
$a = 'namespacename\classname';
$obj = new $a; // also prints namespacename\classname::__construct
$b = 'namespacename\funcname';
$b(); // prints namespacename\funcname
$b = '\namespacename\funcname';
$b(); // also prints namespacename\funcname
echo constant('\namespacename\constname'), "\n"; // prints namespaced
echo constant('namespacename\constname'), "\n"; // also prints namespaced
?>

Be sure to read the note about escaping namespace names in strings.

Using namespaces: Basics
namespace keyword and __NAMESPACE__ constant
Namespaces


namespace keyword and __NAMESPACE__ constant

(PHP 5 >= 5.3.0)

PHP supports two ways of abstractly accessing elements within the current namespace, the __NAMESPACE__ magic constant, and the namespace keyword.

The value of __NAMESPACE__ is a string that contains the current namespace name. In global, un-namespaced code, it contains an empty string.

Пример #1 __NAMESPACE__ example, namespaced code

<?php
namespace MyProject;

echo '"', __NAMESPACE__, '"'; // outputs "MyProject"
?>

Пример #2 __NAMESPACE__ example, global code

<?php

echo '"', __NAMESPACE__, '"'; // outputs ""
?>
The __NAMESPACE__ constant is useful for dynamically constructing names, for instance:

Пример #3 using __NAMESPACE__ for dynamic name construction

<?php
namespace MyProject;

function get($classname)
{
    $a = __NAMESPACE__ . '\\' . $classname;
    return new $a;
}
?>

The namespace keyword can be used to explicitly request an element from the current namespace or a sub-namespace. It is the namespace equivalent of the self operator for classes.

Пример #4 the namespace operator, inside a namespace

<?php
namespace MyProject;

use blah\blah as mine; // see "Using namespaces: importing/aliasing"

blah\mine(); // calls function MyProject\blah\mine()
namespace\blah\mine(); // calls function MyProject\blah\mine()

namespace\func(); // calls function MyProject\func()
namespace\sub\func(); // calls function MyProject\sub\func()
namespace\cname::method(); // calls static method "method" of class MyProject\cname
$a = new namespace\sub\cname(); // instantiates object of class MyProject\sub\cname
$b = namespace\CONSTANT; // assigns value of constant MyProject\CONSTANT to $b
?>

Пример #5 the namespace operator, in global code

<?php

namespace\func(); // calls function func()
namespace\sub\func(); // calls function sub\func()
namespace\cname::method(); // calls static method "method" of class cname
$a = new namespace\sub\cname(); // instantiates object of class sub\cname
$b = namespace\CONSTANT; // assigns value of constant CONSTANT to $b
?>

Namespaces and dynamic language features
Using namespaces: Aliasing/Importing
Namespaces


Using namespaces: Aliasing/Importing

(PHP 5 >= 5.3.0)

The ability to refer to an external fully qualified name with an alias, or importing, is an important feature of namespaces. This is similar to the ability of unix-based filesystems to create symbolic links to a file or to a directory.

PHP namespaces support three kinds of aliasing or importing: aliasing a class name, aliasing an interface name, and aliasing a namespace name. Note that importing a function or constant is not supported.

In PHP, aliasing is accomplished with the use operator. Here is an example showing all 3 kinds of importing:

Пример #1 importing/aliasing with the use operator

<?php
namespace foo;
use My\Full\Classname as Another;

// this is the same as use My\Full\NSname as NSname
use My\Full\NSname;

// importing a global class
use ArrayObject;

$obj = new namespace\Another; // instantiates object of class foo\Another
$obj = new Another; // instantiates object of class My\Full\Classname
NSname\subns\func(); // calls function My\Full\NSname\subns\func
$a = new ArrayObject(array(1)); // instantiates object of class ArrayObject
// without the "use ArrayObject" we would instantiate an object of class foo\ArrayObject
?>
Note that for namespaced names (fully qualified namespace names containing namespace separator, such as Foo\Bar as opposed to global names that do not, such as FooBar), the leading backslash is unnecessary and not recommended, as import names must be fully qualified, and are not processed relative to the current namespace.

PHP additionally supports a convenience shortcut to place multiple use statements on the same line

Пример #2 importing/aliasing with the use operator, multiple use statements combined

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
NSname\subns\func(); // calls function My\Full\NSname\subns\func
?>

Importing is performed at compile-time, and so does not affect dynamic class, function or constant names.

Пример #3 Importing and dynamic names

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
$a = 'Another';
$obj = new $a;      // instantiates object of class Another
?>

In addition, importing only affects unqualified and qualified names. Fully qualified names are absolute, and unaffected by imports.

Пример #4 Importing and fully qualified names

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantiates object of class My\Full\Classname
$obj = new \Another; // instantiates object of class Another
$obj = new Another\thing; // instantiates object of class My\Full\Classname\thing
$obj = new \Another\thing; // instantiates object of class Another\thing
?>

Scoping rules for importing

The use keyword must be declared in the outermost scope of a file (the global scope) or inside namespace declarations. This is because the importing is done at compile time and not runtime, so it cannot be block scoped. The following example will show an illegal use of the use keyword:

Пример #5 Illegal importing rule

<?php
namespace Languages;

class Greenlandic
{
    use Languages\Danish;

    ...
}
?>

Замечание:

Importing rules are per file basis, meaning included files will NOT inherit the parent file's importing rules.

namespace keyword and __NAMESPACE__ constant
Global space
Namespaces


Global space

(PHP 5 >= 5.3.0)

Without any namespace definition, all class and function definitions are placed into the global space - as it was in PHP before namespaces were supported. Prefixing a name with \ will specify that the name is required from the global space even in the context of the namespace.

Пример #1 Using global space specification

<?php
namespace A\B\C;

/* This function is A\B\C\fopen */
function fopen() {
     /* ... */
     $f = \fopen(...); // call global fopen
     return $f;
}
?>

Using namespaces: Aliasing/Importing
Using namespaces: fallback to global function/constant
Namespaces


Using namespaces: fallback to global function/constant

(PHP 5 >= 5.3.0)

Inside a namespace, when PHP encounters a unqualified Name in a class name, function or constant context, it resolves these with different priorities. Class names always resolve to the current namespace name. Thus to access internal or non-namespaced user classes, One must refer to them with their fully qualified Name as in:

Пример #1 Accessing global classes inside a namespace

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a is an object of class A\B\C\Exception
$b = new \Exception('hi'); // $b is an object of class Exception

$c = new ArrayObject; // fatal error, class A\B\C\ArrayObject not found
?>

For functions and constants, PHP will fall back to global functions or constants if a namespaced function or constant does not exist.

Пример #2 global functions/constants fallback inside a namespace

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // prints "45"
echo INI_ALL, "\n"; // prints "7" - falls back to global INI_ALL

echo strlen('hi'), "\n"; // prints "1"
if (is_array('hi')) { // prints "is not array"
    echo "is array\n";
} else {
    echo "is not array\n";
}
?>

Global space
Name resolution rules
Namespaces


Name resolution rules

(PHP 5 >= 5.3.0)

For the purposes of these resolution rules, here are some important definitions:

Namespace name definitions
Unqualified name

This is an identifier without a namespace separator, such as Foo

Qualified name

This is an identifier with a namespace separator, such as Foo\Bar

Fully qualified name

This is an identifier with a namespace separator that begins with a namespace separator, such as \Foo\Bar. namespace\Foo is also a fully qualified name.

Names are resolved following these resolution rules:

  1. Calls to fully qualified functions, classes or constants are resolved at compile-time. For instance new \A\B resolves to class A\B.
  2. All unqualified and qualified names (not fully qualified names) are translated during compilation according to current import rules. For example, if the namespace A\B\C is imported as C, a call to C\D\e() is translated to A\B\C\D\e().
  3. Inside a namespace, all qualified names not translated according to import rules have the current namespace prepended. For example, if a call to C\D\e() is performed within namespace A\B, it is translated to A\B\C\D\e().
  4. Unqualified class names are translated during compilation according to current import rules (full name substituted for short imported name). In example, if the namespace A\B\C is imported as C, new C() is translated to new A\B\C().
  5. Inside namespace (say A\B), calls to unqualified functions are resolved at run-time. Here is how a call to function foo() is resolved:
    1. It looks for a function from the current namespace: A\B\foo().
    2. It tries to find and call the global function foo().
  6. Inside namespace (say A\B), calls to unqualified or qualified class names (not fully qualified class names) are resolved at run-time. Here is how a call to new C() or new D\E() is resolved. For new C():
    1. It looks for a class from the current namespace: A\B\C.
    2. It attempts to autoload A\B\C.
    For new D\E():
    1. It looks for a class by prepending the current namespace: A\B\D\E.
    2. It attempts to autoload A\B\D\E.
    To reference any global class in the global namespace, its fully qualified name new \C() must be used.

Пример #1 Name resolutions illustrated

<?php
namespace A;
use B\D, C\E as F;

// function calls

foo();      // first tries to call "foo" defined in namespace "A"
            // then calls global function "foo"

\foo();     // calls function "foo" defined in global scope

my\foo();   // calls function "foo" defined in namespace "A\my"

F();        // first tries to call "F" defined in namespace "A"
            // then calls global function "F"

// class references

new B();    // creates object of class "B" defined in namespace "A"
            // if not found, it tries to autoload class "A\B"

new D();    // using import rules, creates object of class "D" defined in namespace "B"
            // if not found, it tries to autoload class "B\D"

new F();    // using import rules, creates object of class "E" defined in namespace "C"
            // if not found, it tries to autoload class "C\E"

new \B();   // creates object of class "B" defined in global scope
            // if not found, it tries to autoload class "B"

new \D();   // creates object of class "D" defined in global scope
            // if not found, it tries to autoload class "D"

new \F();   // creates object of class "F" defined in global scope
            // if not found, it tries to autoload class "F"

// static methods/namespace functions from another namespace

B\foo();    // calls function "foo" from namespace "A\B"

B::foo();   // calls method "foo" of class "B" defined in namespace "A"
            // if class "A\B" not found, it tries to autoload class "A\B"

D::foo();   // using import rules, calls method "foo" of class "D" defined in namespace "B"
            // if class "B\D" not found, it tries to autoload class "B\D"

\B\foo();   // calls function "foo" from namespace "B"

\B::foo();  // calls method "foo" of class "B" from global scope
            // if class "B" not found, it tries to autoload class "B"

// static methods/namespace functions of current namespace

A\B::foo();   // calls method "foo" of class "B" from namespace "A\A"
              // if class "A\A\B" not found, it tries to autoload class "A\A\B"

\A\B::foo();  // calls method "foo" of class "B" from namespace "A"
              // if class "A\B" not found, it tries to autoload class "A\B"
?>
Using namespaces: fallback to global function/constant
FAQ: things you need to know about namespaces
Namespaces


FAQ: things you need to know about namespaces

(PHP 5 >= 5.3.0)

This FAQ is split into two sections: common questions, and some specifics of implementation that are helpful to understand fully.

First, the common questions.

  1. If I don't use namespaces, should I care about any of this?
  2. How do I use internal or global classes in a namespace?
  3. How do I use namespaces classes functions, or constants in their own namespace?
  4. How does a name like \my\name or \name resolve?
  5. How does a name like my\name resolve?
  6. How does an unqualified class name like name resolve?
  7. How does an unqualified function name or unqualified constant name like name resolve?

There are a few implementation details of the namespace implementations that are helpful to understand.

  1. Import names cannot conflict with classes defined in the same file.
  2. Nested namespaces are not allowed.
  3. Neither functions nor constants can be imported via the use statement.
  4. Dynamic namespace names (quoted identifiers) should escape backslash.
  5. Undefined Constants referenced using any backslash die with fatal error
  6. Cannot override special constants NULL, TRUE, FALSE, ZEND_THREAD_SAFE or ZEND_DEBUG_BUILD

If I don't use namespaces, should I care about any of this?

No. Namespaces do not affect any existing code in any way, or any as-yet-to-be-written code that does not contain namespaces. You can write this code if you wish:

Пример #1 Accessing global classes outside a namespace

<?php
$a = new \stdClass;
?>

This is functionally equivalent to:

Пример #2 Accessing global classes outside a namespace

<?php
$a = new stdClass;
?>

How do I use internal or global classes in a namespace?

Пример #3 Accessing internal classes in namespaces

<?php
namespace foo;
$a = new \stdClass;

function test(\ArrayObject $typehintexample = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// extending an internal or global class
class MyException extends \Exception {}
?>

How do I use namespaces classes, functions, or constants in their own namespace?

Пример #4 Accessing internal classes, functions or constants in namespaces

<?php
namespace foo;

class MyClass {}

// using a class from the current namespace as a type hint
function test(MyClass $typehintexample = null) {}
// another way to use a class from the current namespace as a type hint
function test(\foo\MyClass $typehintexample = null) {}

// extending a class from the current namespace
class Extended extends MyClass {}

// accessing a global function
$a = \globalfunc();

// accessing a global constant
$b = \INI_ALL;
?>

How does a name like \my\name or \name resolve?

Names that begin with a \ always resolve to what they look like, so \my\name is in fact my\name, and \Exception is Exception.

Пример #5 Fully Qualified names

<?php
namespace foo;
$a = new \my\name(); // instantiates "my\name" class
echo \strlen('hi'); // calls function "strlen"
$a = \INI_ALL; // $a is set to the value of constant "INI_ALL"
?>

How does a name like my\name resolve?

Names that contain a backslash but do not begin with a backslash like my\name can be resolved in 2 different ways.

If there is an import statement that aliases another name to my, then the import alias is applied to the my in my\name.

Otherwise, the current namespace name is prepended to my\name.

Пример #6 Qualified names

<?php
namespace foo;
use blah\blah as foo;

$a = new my\name(); // instantiates "foo\my\name" class
foo\bar::name(); // calls static method "name" in class "blah\blah\bar"
my\bar(); // calls function "foo\my\bar"
$a = my\BAR; // sets $a to the value of constant "foo\my\BAR"
?>

How does an unqualified class name like name resolve?

Class names that do not contain a backslash like name can be resolved in 2 different ways.

If there is an import statement that aliases another name to name, then the import alias is applied.

Otherwise, the current namespace name is prepended to name.

Пример #7 Unqualified class names

<?php
namespace foo;
use blah\blah as foo;

$a = new name(); // instantiates "foo\name" class
foo::name(); // calls static method "name" in class "blah\blah"
?>

How does an unqualified function name or unqualified constant name like name resolve?

Function or constant names that do not contain a backslash like name can be resolved in 2 different ways.

First, the current namespace name is prepended to name.

Finally, if the constant or function name does not exist in the current namespace, a global constant or function name is used if it exists.

Пример #8 Unqualified function or constant names

<?php
namespace foo;
use blah\blah as foo;

const FOO = 1;

function my() {}
function foo() {}
function sort(&$a)
{
    sort($a);
    $a = array_flip($a);
    return $a;
}

my(); // calls "foo\my"
$a = strlen('hi'); // calls global function "strlen" because "foo\strlen" does not exist
$arr = array(1,3,2);
$b = sort($arr); // calls function "foo\sort"
$c = foo(); // calls function "foo\foo" - import is not applied

$a = FOO; // sets $a to value of constant "foo\FOO" - import is not applied
$b = INI_ALL; // sets $b to value of global constant "INI_ALL"
?>

Import names cannot conflict with classes defined in the same file.

The following script combinations are legal:

file1.php

<?php
namespace my\stuff;
class MyClass {}
?>

another.php

<?php
namespace another;
class thing {}
?>

file2.php

<?php
namespace my\stuff;
include 'file1.php';
include 'another.php';

use another\thing as MyClass;
$a = new MyClass; // instantiates class "thing" from namespace another
?>

There is no name conflict, even though the class MyClass exists within the my\stuff namespace, because the MyClass definition is in a separate file. However, the next example causes a fatal error on name conflict because MyClass is defined in the same file as the use statement.

<?php
namespace my\stuff;
use another\thing as MyClass;
class MyClass {} // fatal error: MyClass conflicts with import statement
$a = new MyClass;
?>

Nested namespaces are not allowed.

PHP does not allow nesting namespaces

<?php
namespace my\stuff {
    namespace nested {
        class foo {}
    }
}
?>
However, it is easy to simulate nested namespaces like so:
<?php
namespace my\stuff\nested {
    class foo {}
}
?>

Neither functions nor constants can be imported via the use statement.

The only elements that are affected by use statements are namespaces and class names. In order to shorten a long constant or function, import its containing namespace

<?php
namespace mine;
use ultra\long\ns\name;

$a = name\CONSTANT;
name\func();
?>

Dynamic namespace names (quoted identifiers) should escape backslash

It is very important to realize that because the backslash is used as an escape character within strings, it should always be doubled when used inside a string. Otherwise there is a risk of unintended consequences:

Пример #9 Dangers of using namespaced names inside a double-quoted string

<?php
$a = new "dangerous\name"; // \n is a newline inside double quoted strings!
$obj = new $a;

$a = new 'not\at\all\dangerous'; // no problems here.
$obj = new $a;
?>
Inside a single-quoted string, the backslash escape sequence is much safer to use, but it is still recommended practice to escape backslashes in all strings as a best practice.

Undefined Constants referenced using any backslash die with fatal error

Any undefined constant that is unqualified like FOO will produce a notice explaining that PHP assumed FOO was the value of the constant. Any constant, qualified or fully qualified, that contains a backslash will produce a fatal error if not found.

Пример #10 Undefined constants

<?php
namespace bar;
$a = FOO; // produces notice - undefined constants "FOO" assumed "FOO";
$a = \FOO; // fatal error, undefined namespace constant FOO
$a = Bar\FOO; // fatal error, undefined namespace constant bar\Bar\FOO
$a = \Bar\FOO; // fatal error, undefined namespace constant Bar\FOO
?>

Cannot override special constants NULL, TRUE, FALSE, ZEND_THREAD_SAFE or ZEND_DEBUG_BUILD

Any attempt to define a namespaced constant that is a special, built-in constant results in a fatal error

Пример #11 Undefined constants

<?php
namespace bar;
const NULL = 0; // fatal error;
const true = 'stupid'; // also fatal error;
// etc.
?>

Name resolution rules
Исключения
Namespaces


Исключения

Содержание

  • Наследование исключений

Модель исключений (exceptions) в PHP 5 проще, чем в других языках программирования. Исключение можно сгенерировать (как говорят, "выбросить") при помощи оператора throw, и можно перехватить (или, как говорят, "поймать") оператором catch. Код генерирующий исключение, должен быть окружен блоком try, для того чтобы можно было перехватить исключение. Каждый блок try должен иметь как минимум один соответствующий ему блок catch. Так же можно использовать несколько блоков catch, перехватывающих различные классы исключений. Нормальное выполнение (когда не генерируются исключения в блоках try или когда класс сгенерированного исключения не совпадает с классами, объявленными в соответствующих блоках catch) будет продолжено за последним блоком catch. Исключения так же могут быть сгенерированы (или вызваны еще раз) оператором throw внутри блока catch.

При генерации исключения код следующий за оператором throw исполнен не будет, а PHP предпримет попытку найти первый блок catch, перехватывающий исключение данного класса. Если исключение не будет перехвачено, PHP выдаст сообщение об ошибке: "Uncaught Exception ..." (Неперехваченное исключение), если не был определен обработчик ошибок при помощи функции set_exception_handler().

Генерируемый объект должен принадлежать классу Exception или наследоваться от Exception. Попытка сгенерировать исключение другого класса приведет к неисправимой ошибке.

Замечание:

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

Подсказка

Стандартная библиотека PHP (SPL) предоставляет хороший набор встроенных классов исключений.

Пример #1 Выброс исключений

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Деление на ноль.');
    }
    else return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
}

// Продолжение выполнения
echo 'Hello World';
?>

Результат выполнения данного примера:

0.2
Выброшено исключение: Деление на ноль.
Hello World

Пример #2 Вложенные исключения

<?php

class MyException extends Exception { }

class Test {
    public function testing() {
        try {
            try {
                throw new MyException('foo!');
            } catch (MyException $e) {
                /* повторный выброс исключения */
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
        }
    }
}

$foo = new Test;
$foo->testing();

?>

Результат выполнения данного примера:

string(4) "foo!"
FAQ: things you need to know about namespaces
Наследование исключений
Справочник языка


Наследование исключений

Определенный пользователем класс исключения должен быть определен, как класс расширяющий (наследующий) встроенный класс Exception. Ниже приведены методы и свойства класса Exception, доступные дочерним классам.

Пример #1 Встроеный класс Exception

<?php
class Exception
{
    protected $message = 'Unknown exception';   // Сообшение
    private   $string;                          // Свойство для __toString
    protected $code = 0;                        // Код исключения,
                                                // определяемый пользователем
    protected $file;                            // Файл в котором было
                                                // выброшено исключение
    protected $line;                            // Строка в которой было
                                                // выброшено исключение
    private   $trace;                           // Трассировка вызовов методов и функций
    private   $previous;                        // Предыдущее исключение, для
                                                // вложенных блоков try

    public function __construct($message = null, $code = 0, Exception $previous = null);

    final private function __clone();           // Запрещает клонировать исключения

    final public  function getMessage();        // Возвращает сообшение исключения
    final public  function getCode();           // Код исключения
    final public  function getFile();           // Файл, где выброшено исключение
    final public  function getLine();           // Строка, выбросившая исключени
    final public  function getTrace();          // Массив backtrace()
    final public  function getTraceAsString();  // Трассировка вызовов как строка

    /* Переопределяемое */
    public function __toString();               // форматированная строка для отображения
}
?>

Если класс, наследуемый от Exception переопределяет конструктор, необходимо вызвать в конструкторе parent::__construct(), чтобы быть уверенным, что все дынные будут доступны. Метод __toString() может быть переопределен, что бы обеспечить нужный вывод, когда объект преобразуется в строку.

Замечание:

Исключения нельзя клонировать. Попытка клонировать исключение приведет к неисправимой ошибке E_ERROR.

Пример #2 Наследование класса Exception (PHP 5.3.0+)

<?php
/**
 * Определим свой класс исключения
 */
class MyException extends Exception
{
    // Переопределим исключение так, что параметр message станет обязательным
    public function __construct($message, $code = 0, Exception $previous = null) {
        // некоторый код

        // убедитесь, что все передаваемые параметры верны
        parent::__construct($message, $code, $previous);
    }

    // Переопределим строковое представление объекта.
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Мы можем определять новые методы в наследуемом классе\n";
    }
}

/**
 * Создадим класс для тестирования исключения
 */
class TestException
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // Бросаем собственное исключение
                throw new MyException('1 - неправильный параметр', 5);
                break;

            case self::THROW_DEFAULT:
                // Бросаем встроеное исключение
                throw new Exception('2 - недопустимый параметр', 6);
                break;

            default:
                // Никаких исключений, объект будет создан.
                $this->var = $avalue;
                break;
        }
    }
}

// Example 1
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {      // Will be caught
    echo "Поймано собственное переопределенное исключение\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Будет пропущено.
    echo "Поймано встроенное исключение\n", $e;
}

// Отсюда будет продолжено выполнение программы
var_dump($o); // Null
echo "\n\n";

// Example 2
try {
    $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {      // Тип исключения не совпадет
    echo "Поймано переопределенное исключение\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Будет перехвачено
    echo "Перехвачено встроенное исключение\n", $e;
}

// Отсюда будет продолжено выполнение программы
var_dump($o); // Null
echo "\n\n";

// Example 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Будет перехвачено.
    echo "Поймано встроенное исключение\n", $e;
}

// Продолжение исполнения программы
var_dump($o); // Null
echo "\n\n";

// Example 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Будет пропущено, т.к. исключение не выбрасывается
    echo "Поймано встроенное исключение\n", $e;
}

// Продолжение выполнения программы
var_dump($o); // TestException
echo "\n\n";
?>

Замечание:

PHP 5 до версии 5.3.0 не поддерживает вложенные исключения. Если есть необходимость запустить вышеприведенный пример в указанных версиях PHP, то нужно заменить класс MyException.

<?php
/**
 * Определим свой класс исключения
 */
class MyException extends Exception
{
    // Переопределим исключение так, что параметр message станет обязательным
    public function __construct($message, $code = 0) {
        // некоторый код

        // убедитесь, что все передаваемые параметры верны
        parent::__construct($message, $code);
    }

    // Переопределим строковое представление объекта.
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Мы можем определять новые методы в наследуемом классе\n";
    }
}
?>

Исключения
Ссылки. Разъяснения
Исключения


Ссылки. Разъяснения

Содержание

  • Что такое ссылки
  • Что делают ссылки
  • Чем ссылки не являются
  • Передача по ссылке
  • Возвращение по ссылке
  • Сброс переменных-ссылок
  • Неявное использование механизма ссылок
Наследование исключений
Что такое ссылки
Справочник языка


Что такое ссылки

Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C; например, вы не можете делать вычисления над указателями, они не являются реальными адресами в памяти и пр. Подробнее в Чем ссылки не являются. Вместо этого указатели в PHP - это псевдонимы в таблице имен переменных. В PHP имя переменной и её содержимое - это разные вещи, поэтому одно содержимое может иметь разные имена. Ближайшая аналогия - имена файлов Unix и файлы - имена переменных являются элементами каталогов, а содержимое переменных - это сами файлы. Ссылки в PHP - аналог жёстких ссылок (hardlinks) в файловых системах Unix.

Ссылки. Разъяснения
Что делают ссылки
Ссылки. Разъяснения


Что делают ссылки

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

Присвоение по ссылке

Для начала, ссылки PHP позволяют создать две переменные указывающие на одно и тоже значение. Таким образом, когда выполняется следующее:

<?php
$a =& $b;
?>
то $a указывает на то же значение что и $b.

Замечание:

$a и $b здесь абсолютно эквивалентны, но это не означает, что $a указывает на $b или наоборот. Это означает, что $a и $b указывают на одно и тоже значение.

Замечание:

При присвоении, передаче или возврате неинициализированной переменной по ссылке, происходит ее создание.

Пример #1 Использование ссылок с неинициализированными переменными

<?php
function foo(&$var) { }

foo($a); // $a создана и равна null

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

Такой же синтаксис можно использовать и в функциях, возвращая ссылки, а так же в операторе new (начиная с PHP 4.0.4 и до PHP 5.0.0):

<?php
$foo =& find_var($bar);
?>
Начиная с PHP 5, new автоматически возвращает объекты по ссылке, поэтому использовать =& в этом случае нерекомендуется и вызывает сообщение E_DEPRECATED в PHP 5.3 и последующих версиях, а также сообщение E_STRICT в более ранних версиях. (Технически разница в том, что в PHP 5 переменные объектов, так же как и ресурсы, являются просто указателями на реальные данные объекта, поэтому ссылки на объекты не те же самые "ссылки", о которых говорилось ранее (псевдонимы). Подробнее в Объекты и ссылки.)

Внимание

Если переменной, объявленной внутри функции как global, будет присвоена ссылка, она будет видна только в функции. Чтобы избежать этого, используйте массив $GLOBALS.

Пример #2 Присвоение ссылок глобальным переменным внутри функции

<?php
$var1 = "Example variable";
$var2 = "";

function global_references($use_globals)
{
    global $var1, $var2;
    if (!$use_globals) {
        $var2 =& $var1; // только локально
    } else {
        $GLOBALS["var2"] =& $var1; // глобально
    }
}

global_references(false);
echo "значение var2: '$var2'\n"; // значение var2: ''
global_references(true);
echo "значение var2: '$var2'\n"; // значение var2: 'Example variable'
?>
Думайте о global $var; как о сокращении от $var =& $GLOBALS['var'];. Таким образом, присвоение $var другой ссылки влияет лишь на локальную переменную.

Замечание:

При использовании переменной-ссылки в foreach, изменяется содержание, на которое она ссылается.

Пример #3 Ссылки и foreach

<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
    // do something
}
echo $ref; // 3 - последнее значение, используемое в цикле
?>

Хотя, стого говоря, в выражениях, создаваемых с помощью конструкции array(), нет присвоения, но тем не менее можно указать префикс & для элементов массива. Пример:

<?php
$a = 1;
$b = array(2, 3);
$arr = array(&$a, &$b[0], &$b[1]);
$arr[0]++; $arr[1]++; $arr[2]++;
/* $a == 2, $b == array(3, 4); */
?>

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

<?php
/* Присвоение скалярных переменных */
$a = 1;
$b =& $a;
$c = $b;
$c = 7; //$c не ссылка и не изменяет значений $a и $b

/* Присвоение массивов */
$arr = array(1);
$a =& $arr[0]; //$a и $arr[0] ссылаются на одно значение
$arr2 = $arr; //присвоение не по ссылке!
$arr2[0]++;
/* $a == 2, $arr == array(2) */
/* Содержимое $arr изменилось, хотя было присвоено не по ссылке! */
?>
Иными словами, поведение отдельных элементов массива не зависит от типа присвоения этого массива.

Pass By Reference

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

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
?>
Этот код присвоит $a значение 6. Это происходит, потому что в функции foo переменная $var ссылается на то же содержимое, что и переменная $a. См. также детальное объяснение передачи по ссылке.

Возврат по ссылке

The third thing references can do is return by reference.

Что такое ссылки
Чем ссылки не являются
Ссылки. Разъяснения


Чем ссылки не являются

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

<?php
function foo(&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Переменная $var в фукнции foo будет связана с $bar в вызывателе, но затем она будет перепривязана к $GLOBALS["baz"]. Нет способа связать $bar в области видимости вызывателя с чем-либо ещё путём использования механизма ссылок, поскольку $bar не доступна в функции foo (доступно лишь её значение через $var, но $var имеет только значение переменной и не имеет связи имя-значение в таблице имен переменных). Вы можете воспользоваться возвращением ссылок из функции для привязки внешней перменной к другому значению.

Что делают ссылки
Передача по ссылке
Ссылки. Разъяснения


Передача по ссылке

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

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a здесь равно 6
?>

Замечание: В вызове функции отсутствует знак ссылки - он есть только в определении функции. Этого достаточно для корректной передачи аргументов по ссылке. Начиная с PHP 5.3.0, вы можете поулчить предупреждение о том, что передача переменной по ссылке устарело. Вместо этого используйте & в foo(&$a);.

По ссылке можно передавать:

  • Переменные, например foo($a)
  • Оператор new, например foo(new foobar())

  • Ссылки, возвращаемые функцией, например:

    <?php
    function foo(&$var)
    {
            $var++;
    }
    function &    bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>
    См. также объяснение возвращения по ссылке.

Любое другое выражение не должно передаваться по ссылке, так как результат не определён. Например, следующая передача по ссылке является неправильной:

<?php
function foo(&$var)
{
    $var++;
}
function bar() // Операция & отсутствует
{
    $a = 5;
    return $a;
}
foo(bar()); // Вызывает неисправимую ошибку начиная с PHP 5.0.5

foo($a = 5); // Выражение, а не переменная
foo(5); // Константа, а не переменная
?>
Эти требования для PHP 4.0.4 и позже.

Чем ссылки не являются
Возвращение по ссылке
Ссылки. Разъяснения


Возвращение по ссылке

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

<?php
class foo {
    public $value = 42;

    public function &getValue() {
        return $this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue указывает на $obj->value, равное 42.
$obj->value = 2;
echo $myValue;                // отобразит новое значение $obj->value, т.е. 2.
?>
В этом примере устанавливается свойство объекта, возвращённого функцией getValue, а не его копии, как было бы без использования ссылок.

Замечание: В отличие от передачи параметров по ссылке, & здесь нужно использовать в обоих местах - для указания на то, что вы возвращаете ссылку, а не копию, как обычно, и для указания того, что происходит связывание по ссылке, а не обычное присвоение для $myValue.

Замечание: Если вы возвращаете ссылку из функции используя следующий синтаксис: return ($this->value);, это не будет работать, так как вы возвращаете по ссылке результат выражения, а не переменную. По ссылке можно возвращать только переменные и ничего больше. Начиная с PHP 4.4.0 и PHP 5.1.0, если код пытается вернуть по ссылке динамическое выражение или результат оператора new, будет выброшено предупреждение E_NOTICE.

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

<?php
function &collector() {
  static $collection = array();
  return $collection;
}
$collection = &collector();
$collection[] = 'foo';
?>
Для передачи возвращаемой ссылки в другую функцию, принимающую ссылку, вы можете использовать следующий синтаксис:
<?php
function &collector() {
  static $collection = array();
  return $collection;
}
array_push(collector(), 'foo');
?>

Замечание: Заметим, что array_push(&collector(), 'foo'); не сработает, а приведет к неисправимой ошибке.

Передача по ссылке
Сброс переменных-ссылок
Ссылки. Разъяснения


Сброс переменных-ссылок

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

<?php
$a = 1;
$b =& $a;
unset($a);
?>
Этот код не сбросит $b, а только $a.

Опять же, можно провести аналогию с вызовом unlink (в Unix).

Возвращение по ссылке
Неявное использование механизма ссылок
Ссылки. Разъяснения


Неявное использование механизма ссылок

Многие синтаксические конструкции PHP реализованы через механизм ссылок, поэтому всё сказанное выше о ссылочном связывании применимо также и к этим конструкциям. Некоторые конструкции, вроде передающих и возвращающих по ссылке, рассмотрены ранее. Другие конструкции, использующие ссылки:

Ссылки global

Если вы объявляете переменную как global $var, вы фактически создаёте ссылку на глобальную переменную. Это означает то же самое, что и:

<?php
$var =& $GLOBALS["var"];
?>

Это значит, например, что сброс (unset) $var не приведёт к сбросу глобальной переменной.

$this

В методах объекта, $this всегда является ссылкой на вызывающий объект.

Сброс переменных-ссылок
Предопределённые переменные
Ссылки. Разъяснения


Предопределённые переменные

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

См. также ЧАВО под названием "Как register_globals касаются меня?"

Содержание

  • Суперглобальные переменные — Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости
  • $GLOBALS — Ссылки на все переменные глобальной области видимости
  • $_SERVER — Информация о сервере и среде исполнения
  • $_GET — GET-переменные HTTP
  • $_POST — HTTP POST variables
  • $_FILES — Переменные файлов, загруженных по HTTP
  • $_REQUEST — Переменные HTTP-запроса
  • $_SESSION — Переменные сессии
  • $_ENV — Переменные окружения
  • $_COOKIE — HTTP Куки
  • $php_errormsg — Предыдущее сообщение об ошибке
  • $HTTP_RAW_POST_DATA — Необработанные POST-данные
  • $http_response_header — Заголовки ответов HTTP
  • $argc — Количество аргументов переданных скрипту
  • $argv — Массив переданных скрипту аргументов
Неявное использование механизма ссылок
Суперглобальные переменные
Справочник языка


Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости

Предопределённые переменные
$GLOBALS
Предопределённые переменные
PHP Manual

Суперглобальные переменные

Суперглобальные переменные — Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости

Описание

Некоторые предопределённые переменные в PHP являются "суперглобальными", что означает, что они доступны в любом месте скрипта. Нет необходимости использовать синтаксис global $variable; для доступа к ним в функциях и методах.

Суперглобальными переменными являются:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Список изменений

Версия | Описание
4.1.0 | Суперглобальные переменные впервые появились в PHP.

Примечания

Замечание: Доступность переменных

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

Замечание: Работа с register_globals

В случае, если устаревшая директива register_globals включена (on), содержание суперглобальных массивов становится доступно в виде отдельных переменных. Например, $_POST['foo'] будет также доступна в виде $foo.

За дополнительной информацией обращайтесь к ЧАВО под названием "Как register_globals касаются меня?"

Замечание: Переменные переменных

Суперглобальные переменные не могут быть использованы в качестве переменных переменных внутри функций и методов.

Смотрите также

  • variable scope
  • Директива variables_order
  • "Функции фильтрации данных"

Предопределённые переменные
$GLOBALS
Предопределённые переменные


Ссылки на все переменные глобальной области видимости

Суперглобальные переменные
$_SERVER
Предопределённые переменные
PHP Manual

$GLOBALS

(PHP 4, PHP 5)

$GLOBALS — Ссылки на все переменные глобальной области видимости

Описание

Ассоциативный массив (array), содержащий ссылки на все переменные глобальной области видимости скрипта, определенные в данный момент. Имена переменных являются ключами массива.

Примеры

Пример #1 Пример $GLOBALS

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>

Результатом выполнения данного примера будет что-то подобное:

$foo in global scope: Example content
$foo in current scope: local variable

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Замечание: Доступность переменной

В отличии от всех остальных суперглобальных переменных, $GLOBALS всегда доступна в PHP.

Суперглобальные переменные
$_SERVER
Предопределённые переменные


Информация о сервере и среде исполнения

$GLOBALS
$_GET
Предопределённые переменные
PHP Manual

$_SERVER

$HTTP_SERVER_VARS [устаревшее]

(PHP 4 >= 4.1.0, PHP 5)

$_SERVER -- $HTTP_SERVER_VARS [устаревшее] — Информация о сервере и среде исполнения

Описание

Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером. Нет гарантии, что каждый веб-сервер предоставит любую из них; сервер может опустить некоторые из них или предоставить другие, не указанные здесь. Тем не менее, многие эти переменные присутствуют в » спецификации CGI/1.1, так что вы можете их ожидать их реализации и в конкретном веб-вервере.

Переменная $HTTP_SERVER_VARS содержит ту же начальную информацию, но она не суперглобальная. (Заметьте, что $HTTP_SERVER_VARS и $_SERVER являются разными переменными, так что PHP обрабатывает их соответственно)

Индексы

Вы можете найти (а можете и не найти) любой из следующих элементов в массиве $_SERVER. Заметьте, что немногие элементы, если вобще такие найдутся, будут доступны (или действительно будут иметь значение), если PHP запущен в командной строке.

'PHP_SELF'
Имя файла скрипта, который сейчас выполняется, относительно корня документов. Например,$_SERVER['PHP_SELF'] в скрипте по адресу http://example.com/test.php/foo.bar будет /test.php/foo.bar. Константа __FILE__ содержит полный путь и имя файла текущего (то есть подключенного) файла. Если PHP запущен в командной строке, эта переменная содержит имя скрипта, начиная с PHP 4.3.0. Раньше она была недоступна.
'argv'
Массив агрументов, переданных скрипту. Когда скрипт запущен в командой строке, это дает C-подобный доступ к параметрам командной строки. Когда вызывается через метод GET, этот массив будет содержать строку запроса.
'argc'
Содержит количество параметров, переданных скрипту (если запуск произведен в командной строке).
'GATEWAY_INTERFACE'
Содержит используемую сервером версию спецификации CGI; к примеру'CGI/1.1'.
'SERVER_ADDR'
IP адрес сервера, на котором выполняется текущий скрипт.
'SERVER_NAME'
Имя хоста, на котором выполняется текущий скрипт. Если скрипт выполняется на виртуальном хосте, здесь будет содержатся имя, определенное для этого виртуального хоста.
'SERVER_SOFTWARE'
Строка идентификации сервера, указанная в заголовках, когда происходит ответ на запрос.
'SERVER_PROTOCOL'
Имя и версия информационного протокола, через который была запрошена страница; к примеру 'HTTP/1.0';
'REQUEST_METHOD'
Какой метод был использован для запроса страницы; к примеру 'GET', 'HEAD', 'POST', 'PUT'.

Замечание:

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

'REQUEST_TIME'
Временная метка начала запроса. Доступна, начиная с PHP 5.1.0. Начиная с PHP 5.4.0, имеет тип float с указанием микросекунд.
'QUERY_STRING'
Строка запросов, если есть, с помощью которой была получена страница.
'DOCUMENT_ROOT'
Директория корня документов, в которой выполняется текущий скрипт, в точности та, которая указана в конфигурационном файле сервера.
'HTTP_ACCEPT'
Содержимое заголовка Accept: из текущего запроса, если он есть.
'HTTP_ACCEPT_CHARSET'
Содержимое заголовка Accept-Charset: из текущего запроса, если он есть. Например: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Содержимое заголовка Accept-Encoding: из текущего запроса, если он есть. Например: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Содержимое заголовка Accept-Language: из текущего запроса, если он есть. Например: 'en'.
'HTTP_CONNECTION'
Содержимое заголовка Connection: из текущего запроса, если он есть. Например: 'Keep-Alive'.
'HTTP_HOST'
Содержимое заголовка Host: из текущего запроса, если он есть.
'HTTP_REFERER'
Адрес страницы (если есть), которая привела браузер пользователя на эту страницу. Этот заголовок устанавливается веб-браузером пользователя. Не все браузеры устанавливают его и некоторые в качестве дополнительной возможности позволяют изменять содержимое заголовка HTTP_REFERER. Одним словом, в самом деле ему нельзя доверять.
'HTTP_USER_AGENT'
Содержимое заголовка User-Agent: из текущего запроса, если он есть. Эта строка содержит обозначение браузера, которым пользователь запросил данную страницу. Типичным примером является строка: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Среди прочего, вы можете использовать это значение с функцией get_browser() чтобы адаптировать вывод вашей страницы к возможностям браузера пользователя
'HTTPS'
Принимает непустое значение, если запрос был произведен через протокол HTTPS.

Замечание: Обратите внимание, что при использовании ISAPI с IIS значение будет off, если запрос не был произведен через протокол HTTPS.

'REMOTE_ADDR'
IP-адрес, с которого пользователь просматривает текущую страницу.
'REMOTE_HOST'
Удаленный хост, с которого пользователь просматривает текущую страницу. Обратный просмотр DNS базируется на значении переменной REMOTE_ADDR.

Замечание: Ваш веб-сервер должен быть настроен, чтобы создавать эту переменную. Для примера, в Apache вам необходимо присутствие директивы HostnameLookups On в файле httpd.conf, чтобы эта переменная создавалась. См. также gethostbyaddr().

'REMOTE_PORT'
Порт на удаленной машине, который используется для связи с веб-сервером.
'SCRIPT_FILENAME'

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

Замечание:

Если скрипт запускается в коммандной строке (CLI), используя относительный путь, такой как file.php или ../file.php, переменная $_SERVER['SCRIPT_FILENAME'] будет содержать относительный путь, указанный пользователем.

'SERVER_ADMIN'
Эта переменная получает свое значение (для Apache) из директивы конфигурационного файла сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определенное для данного виртуального хоста.
'SERVER_PORT'
Порт на компьютере сервера, используемый веб-сервером для соединения. Для установок по умолчанию, значение будет '80'; используя SLL, например, это значение будет таким, какое сконфигурировано для соединений безопасного HTTP.
'SERVER_SIGNATURE'
Строка, содержащая версию сервера и имя виртуального хоста, которые добавляются к генерируемым сервером страницам, если включено.
'PATH_TRANSLATED'
Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping.

Замечание: Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше не устанавливается неявно в Apache 2 SAPI, по сравнению с Apache версии 1, где она устанавливается в то же самое значение, что и переменная SCRIPT_FILENAME, когда она не используется Apache. Это изменение было сделано для соответствия спецификации CGI, где переменная PATH_TRANSLATED должна существовать только тогда, когда PATH_INFO определена. Пользователи Apache 2 могут использовать директиву AcceptPathInfo = On в конфигурационном файле httpd.conf для задания переменной PATH_INFO.

'SCRIPT_NAME'
Содержит путь, к текущему исполняемому скрипту. Это полезно для страниц, которые должны указывать на самих себя. Константа __FILE__ содержит полный путь и имя текущего (т.е. включаемого) файла.
'REQUEST_URI'
URI, который был передан для того, чтобы получить доступ к этой странице. Например, '/index.html'.
'PHP_AUTH_DIGEST'
При выполнении HTTP Digest аутентификации, этой переменной присваивается заголовок 'Authorization', который присылается клиентом (его необходимо потом использовать для соответствующей валидации).
'PHP_AUTH_USER'
Когда выполняется HTTP-аутентификация, этой переменной присваивается имя пользователя, предоставленное пользователем.
'PHP_AUTH_PW'
Когда выполняется HTTP-аутентификация, этой переменной присваивается пароль, предоставленный пользователем.
'AUTH_TYPE'
Когда выполняется HTTP-аутентификация, этой переменной присваивается тип аутентификации, который используется.
'PATH_INFO'
Содержит любой предоставленный пользователем путь, содержащийся после имени скрипта, но до строки запроса, если доступно. Например, если текущий скрипт запрошен по URL http://www.example.com/php/path_info.php/some/stuff?foo=bar, то переменная $_SERVER['PATH_INFO'] будет содержать /some/stuff.
'ORIG_PATH_INFO'
Исходное значение переменной 'PATH_INFO' до начала обработки PHP.

Список изменений

Версия | Описание
4.1.0 | Введена переменная $_SERVER вместо старой $HTTP_SERVER_VARS.

Примеры

Пример #1 Пример использования $_SERVER

<?php
echo $_SERVER['SERVER_NAME'];
?>

Результатом выполнения данного примера будет что-то подобное:

www.example.com

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • Расширение filter

$GLOBALS
$_GET
Предопределённые переменные


GET-переменные HTTP

$_SERVER
$_POST
Предопределённые переменные
PHP Manual

$_GET

$HTTP_GET_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5)

$_GET -- $HTTP_GET_VARS [deprecated] — GET-переменные HTTP

Описание

Ассоциативный массив параметров, переданных скрипту через URL.

$HTTP_GET_VARS содержит аналогичный набор данных, но не является суперглобальным. (Заметьте, что $HTTP_GET_VARS и $_GET являются разными переменными и обрабатываются PHP независимо друг от друга)

Список изменений

Версия | Описание
4.1.0 | Добавлена $_GET, заменяющая $HTTP_GET_VARS.

Примеры

Пример #1 Пример использования $_GET

<?php
echo 'Привет ' . htmlspecialchars($_GET["name"]) . '!';
?>

Подразумевается, что пользователь ввел в браузере адрес http://example.com/?name=Hannes

Результатом выполнения данного примера будет что-то подобное:

Привет Hannes!

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Замечание:

Параметры GET обрабатываются urldecode().

Смотрите также

  • Переменные извне PHP
  • Функции фильтрации данных

$_SERVER
$_POST
Предопределённые переменные


HTTP POST variables

$_GET
$_FILES
Предопределённые переменные
PHP Manual

$_POST

$HTTP_POST_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5)

$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables

Описание

Ассоциативный массив данных, переданных скрипту через HTTP метод POST.

$HTTP_POST_VARS содержит аналогичный набор данных, но не является суперглобальным. ($HTTP_POST_VARS и $_POST являются разными переменными и обрабатываются PHP независимо друг от друга)

Список изменений

Версия | Описание
4.1.0 | Введена переменная $_POST, заменяющая $HTTP_POST_VARS.

Примеры

Пример #1 Пример использования $_POST

<?php
echo 'Привет ' . htmlspecialchars($_POST["name"]) . '!';
?>

Подразумевается, что пользователь отправил через POST name=Hannes

Результатом выполнения данного примера будет что-то подобное:

Привет Hannes!

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • Обработка внешних переменных
  • Функции фильтрации данных

$_GET
$_FILES
Предопределённые переменные


Переменные файлов, загруженных по HTTP

$_POST
$_REQUEST
Предопределённые переменные
PHP Manual

$_FILES

$HTTP_POST_FILES [устаревшее]

(PHP 4 >= 4.1.0, PHP 5)

$_FILES -- $HTTP_POST_FILES [устаревшее] — Переменные файлов, загруженных по HTTP

Описание

Ассоциативный массив (array) элементов, загруженных в текущий скрипт через метод HTTP POST.

$HTTP_POST_FILES содержит ту же начальную информацию, но не является суперглобальным. (Заметьте, что $HTTP_POST_FILES и $_FILES являются разными переменными, так что PHP обрабатывает их соответственно)

Список изменений

Версия | Описание
4.1.0 | Введен массив $_FILES, который должен заменить $HTTP_POST_FILES.

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • move_uploaded_file() - Перемещает загруженный файл в новое место
  • Обработка загрузок файлов

$_POST
$_REQUEST
Предопределённые переменные


Переменные HTTP-запроса

$_FILES
$_SESSION
Предопределённые переменные
PHP Manual

$_REQUEST

(PHP 4 >= 4.1.0, PHP 5)

$_REQUEST — Переменные HTTP-запроса

Описание

Ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.

Список изменений

Версия | Описание
5.3.0 | Добавлена директива request_order. Она позволяет контролировать содержимое переменной $_REQUEST.
4.3.0 | Данные переменной $_FILES более не включаются в $_REQUEST.
4.1.0 | Добавлена переменная $_REQUEST.

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Замечание:

При работе в командной строке переменные argv и argc не включаются в данный массив - они присутствуют в массиве $_SERVER.

Замечание:

Переменные в массиве $_REQUEST передаются в скрипт посредством методов GET, POST или COOKIE, поэтому им нельзя доверять, т.к. они могли быть изменены удаленным пользователем. Их наличие и порядок добавления данных в соответствующие массивы определяется директивой variables_order.

Смотрите также

  • import_request_variables() - Импортирует переменные GET/POST/Cookie в глобальную область видимости
  • "Работа с внешними данными"
  • "Функции фильтрации данных"
$_FILES
$_SESSION
Предопределённые переменные


Переменные сессии

$_REQUEST
$_ENV
Предопределённые переменные
PHP Manual

$_SESSION

$HTTP_SESSION_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5)

$_SESSION -- $HTTP_SESSION_VARS [deprecated] — Переменные сессии

Описание

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

$HTTP_SESSION_VARS первоначально содержит ту же информацию, но она не является суперглобальной переменной. (Обратите внимание, что $HTTP_SESSION_VARS и $_SESSION являются различными переменными и в таковом качестве обрабатываются PHP).

Список изменений

Версия | Описание
4.1.0 | Добавлена $_SESSION, которая превратила $HTTP_SESSION_VARS в устаревшую.

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • session_start() - Initialize session data

$_REQUEST
$_ENV
Предопределённые переменные


Переменные окружения

$_SESSION
$_COOKIE
Предопределённые переменные
PHP Manual

$_ENV

$HTTP_ENV_VARS [устаревшее]

(PHP 4 >= 4.1.0, PHP 5)

$_ENV -- $HTTP_ENV_VARS [устаревшее] — Переменные окружения

Описание

Ассоциативный массив (array) значений, переданных скрипту через переменные окружения.

Эти значения импортируются в глобальное пространство имен PHP из системных переменных окружения, в котором запущен парсер PHP. Большинство значений передаётся из командной оболочки, под которой PHP запущен, и различных системных приложений, полного и точного списка не существует. Пожалуйста, изучите документацию к вашей командной оболочке для получения списка переменных окружения.

Некоторые переменные окружения включают в себя CGI переменные, причем их наличие не зависит от того, запущен PHP как модуль HTTP сервера или как CGI-модуль.

$HTTP_ENV_VARS содержит те же данные, но не является суперглобальной переменной. (Следует отметить, что $HTTP_ENV_VARS и $_ENV - различные переменные и обрабатываются по-разному)

Список изменений

Версия | Описание
4.1.0 | Введена $_ENV в замен устаревшей $HTTP_ENV_VARS.

Примеры

Пример #1 Пример использования $_ENV

<?php
echo 'Мое имя пользователя: ' .$_ENV["USER"] . '!';
?>

Допустим, скрипт запустил "bjori"

Результатом выполнения данного примера будет что-то подобное:

Мое имя пользователя: bjori!

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • getenv() - Gets the value of an environment variable
  • Расширение фильтр

$_SESSION
$_COOKIE
Предопределённые переменные


HTTP Куки

$_ENV
$php_errormsg
Предопределённые переменные
PHP Manual

$_COOKIE

$HTTP_COOKIE_VARS [устаревшее]

(PHP 4 >= 4.1.0, PHP 5)

$_COOKIE -- $HTTP_COOKIE_VARS [устаревшее] — HTTP Куки

Описание

Ассоциативный массив (array) значений, переданных скрипту через HTTP Куки.

$HTTP_COOKIE_VARS содержит те же данные, но не является суперглобальной переменной. (Следует отметить, что $HTTP_COOKIE_VARS и $_COOKIE - различные переменные и PHP обрабатывает их по-разному)

Список изменений

Версия | Описание
4.1.0 | Введена $_COOKIE для замены устаревшей $HTTP_COOKIE_VARS.

Примеры

Пример #1 Пример использования $_COOKIE

<?php
echo 'Привет, ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

Положим, что значение куки с именем "name" было установлено равным "Ханнес".

Результатом выполнения данного примера будет что-то подобное:

Привет, Ханнес!

Примечания

Замечание:

Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Смотрите также

  • setcookie() - Send a cookie
  • Обработка внешних переменных
  • Расширение фильтр

$_ENV
$php_errormsg
Предопределённые переменные


Предыдущее сообщение об ошибке

$_COOKIE
$HTTP_RAW_POST_DATA
Предопределённые переменные
PHP Manual

$php_errormsg

(PHP 4, PHP 5)

$php_errormsg — Предыдущее сообщение об ошибке

Описание

$php_errormsg является переменной, содержащей текст последней ошибки, сгенерированной PHP. Эта переменная будет доступна только в блоке кода, в котором случилась ошибка, и только если включена конфигурационная опция track_errors (по-умолчанию отключена).

Замечание: Эта переменная доступна только в том случае, если опция track_errors включена в php.ini.

Внимание

Если настроен пользовательский обработчик ошибок(set_error_handler()), значение $php_errormsg будет установлено только, если обработчик ошибки вернет FALSE

Примеры

Пример #1 Пример $php_errormsg

<?php
@strpos();
echo $php_errormsg;
?>

Результатом выполнения данного примера будет что-то подобное:

Wrong parameter count for strpos()

$_COOKIE
$HTTP_RAW_POST_DATA
Предопределённые переменные


Необработанные POST-данные

$php_errormsg
$http_response_header
Предопределённые переменные
PHP Manual

$HTTP_RAW_POST_DATA

(PHP 4, PHP 5)

$HTTP_RAW_POST_DATA — Необработанные POST-данные

Описание

$HTTP_RAW_POST_DATA содержит необработанные POST-данные. Также смотрите always_populate_raw_post_data

$php_errormsg
$http_response_header
Предопределённые переменные


Заголовки ответов HTTP

$HTTP_RAW_POST_DATA
$argc
Предопределённые переменные
PHP Manual

$http_response_header

(PHP 4 >= 4.0.4, PHP 5)

$http_response_header — Заголовки ответов HTTP

Описание

Массив (array) $http_response_header похож на функцию get_headers(). Когда Вы используете обертку HTTP, $http_response_header будет заполнен заголовками ответов HTTP. $http_response_header будет создан в локальной области видимости.

Примеры

Пример #1 Пример $http_response_header

<?php
function get_contents() {
  file_get_contents("http://example.com");
  var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
?>

Результатом выполнения данного примера будет что-то подобное:

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; charset=UTF-8"
}
NULL

$HTTP_RAW_POST_DATA
$argc
Предопределённые переменные


Количество аргументов переданных скрипту

$http_response_header
$argv
Предопределённые переменные
PHP Manual

$argc

(PHP 4, PHP 5)

$argc — Количество аргументов переданных скрипту

Описание

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

Замечание: Имя файла скрипта всегда передаётся в качестве первого аргумента, таким образом минимальное значение $argc равно 1.

Замечание: Эта переменная не доступна когда register_argc_argv установлен в disabled.

Примеры

Пример #1 Пример использования $argc

<?php
var_dump($argc);
?>

Запустим пример в командной строке: php script.php arg1 arg2 arg3

Результатом выполнения данного примера будет что-то подобное:

int(4)

$http_response_header
$argv
Предопределённые переменные


Массив переданных скрипту аргументов

$argc
Предопределённые исключения
Предопределённые переменные
PHP Manual

$argv

(PHP 4, PHP 5)

$argv — Массив переданных скрипту аргументов

Описание

Содержит массив array из всех аргументов переданных скрипту при запуске из командной строки.

Замечание: Первый аргумент $argv[0] всегда содержит имя файла запущенного скрипта.

Замечание: Эта переменная недоступна если register_argc_argv установлен в disabled.

Примеры

Пример #1 Пример использования$argv

<?php
var_dump($argv);
?>

Запустим пример в командной строке: php script.php arg1 arg2 arg3

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

Смотрите также

  • getopt() - Gets options from the command line argument list

$argc
Предопределённые исключения
Предопределённые переменные


Предопределённые исключения

Содержание

  • Exception
  • ErrorException

Смотрите также "Исключения SPL"

$argv
Exception
Справочник языка


Exception

(PHP 5 >= 5.1.0)

Введение

Exception - это базовый класс для всех исключений.

Обзор классов

Exception {
/* Свойства */
protected string $Exception->message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Методы */
public Exception::__construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

Текст исключения

code

Код исключения

file

Имя файла, в котором было вызвано исключение

line

Номер строки, в которой было вызвано исключение

Содержание

  • Exception::__construct — Создать исключение
  • Exception::getMessage — Получает сообщение исключения
  • Exception::getPrevious — Возвращает предыдущее исключение
  • Exception::getCode — Получает код исключения
  • Exception::getFile — Получает файл, в котором возникло исключение
  • Exception::getLine — Получает строку, в которой возникло исключение
  • Exception::getTrace — Получает трассировку стека
  • Exception::getTraceAsString — Получает трассировку стека в виде строки
  • Exception::__toString — Строковое представление исключения
  • Exception::__clone — Клонировать исключение
Предопределённые исключения
Exception::__construct
Предопределённые исключения


Создать исключение

Exception
Exception::getMessage
Exception
PHP Manual

Exception::__construct

(PHP 5 >= 5.1.0)

Exception::__construct — Создать исключение

Описание

public Exception::__construct() ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )

Создает исключение.

Список параметров

message

Текст сообщения.

code

Код исключения.

previous

Предыдущее исключение. Используется при создания цепочки исключений.

Список изменений

Версия | Описание
5.3.0 | Был добавлен параметр previous.

Примечания

Замечание:

Параметр message не является бинарно-бесопасным.

Exception
Exception::getMessage
Exception


Получает сообщение исключения

Exception::__construct
Exception::getPrevious
Exception
PHP Manual

Exception::getMessage

(PHP 5 >= 5.1.0)

Exception::getMessage — Получает сообщение исключения

Описание

final public string Exception::getMessage ( void )

Возвращает сообщение исключения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает сообщение исключения в виде строки.

Примеры

Пример #1 Пример использования Exception::getMessage()

<?php
try {
    throw new Exception("Какое-нибудь сообщение об ошибке");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

Результатом выполнения данного примера будет что-то подобное:

Какое-нибудь сообщение об ошибке

Exception::__construct
Exception::getPrevious
Exception


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

Exception::getMessage
Exception::getCode
Exception
PHP Manual

Exception::getPrevious

(PHP 5 >= 5.3.0)

Exception::getPrevious — Возвращает предыдущее исключение

Описание

final public Exception Exception::getPrevious ( void )

Возвращает предыдущее исключение (переданное третьим параметром в Exception::__construct()).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает предыдущее исключение(Exception) или NULL если такового нет.

Примеры

Пример #1 Пример использования Exception::getPrevious()

Проходим по всем исключениям и поочередно выводим их

<?php
class MyCustomException extends Exception {}

function doStuff() {
    try {
        throw new InvalidArgumentException("Ты делаешь это неправильно!", 112);
    } catch(Exception $e) {
        throw new MyCustomException("Что-то случилось", 911, $e);
    }
}

try {
    doStuff();
} catch(Exception $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

Результатом выполнения данного примера будет что-то подобное:

/home/bjori/ex.php:8 Что-то случилось (911) [MyCustomException]
/home/bjori/ex.php:6 Ты делаешь это неправильно! (112) [InvalidArgumentException]

Exception::getMessage
Exception::getCode
Exception


Получает код исключения

Exception::getPrevious
Exception::getFile
Exception
PHP Manual

Exception::getCode

(PHP 5 >= 5.1.0)

Exception::getCode — Получает код исключения

Описание

final public mixed Exception::getCode ( void )

Возвращает код исключения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает код исключения типа integer у класса Exception, но у потомков класса Exception может иметь другой тип (например класс PDOException возвращает код типа string).

Примеры

Пример #1 Пример использования Exception::getCode()

<?php
try {
    throw new Exception("Какое-нибудь сообщение об ошибке", 30);
} catch(Exception $e) {
    echo "Код исключения: " . $e->getCode();
}
?>

Результатом выполнения данного примера будет что-то подобное:

Код исключения: 30

Exception::getPrevious
Exception::getFile
Exception


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

Exception::getCode
Exception::getLine
Exception
PHP Manual

Exception::getFile

(PHP 5 >= 5.1.0)

Exception::getFile — Получает файл, в котором возникло исключение

Описание

final public string Exception::getFile ( void )

Получить имя файла, где исключение было создано.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает имя файла, в котором исключение было создано.

Примеры

Пример #1 Пример использования Exception::getFile()

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

Результатом выполнения данного примера будет что-то подобное:

/home/bjori/tmp/ex.php

Exception::getCode
Exception::getLine
Exception


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

Exception::getFile
Exception::getTrace
Exception
PHP Manual

Exception::getLine

(PHP 5 >= 5.1.0)

Exception::getLine — Получает строку, в которой возникло исключение

Описание

final public int Exception::getLine ( void )

Получить номер строки, где исключение было создано

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает номер строки, где было создано исключение.

Примеры

Пример #1 Пример использования Exception::getLine()

<?php
try {
    throw new Exception("Какое-нибудь сообщение об ошибке");
} catch(Exception $e) {
    echo "Исключение было создано на строке: " . $e->getLine();
}
?>

Результатом выполнения данного примера будет что-то подобное:

Исключение было создано на строке: 3

Exception::getFile
Exception::getTrace
Exception


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

Exception::getLine
Exception::getTraceAsString
Exception
PHP Manual

Exception::getTrace

(PHP 5 >= 5.1.0)

Exception::getTrace — Получает трассировку стека

Описание

final public array Exception::getTrace ( void )

Возвращает трассировку стека исключения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает трассировку стека исключения в виде массива (array).

Примеры

Пример #1 Пример использования Exception::getTrace()

<?php
function test() {
 throw new Exception;
}

try {
 test();
} catch(Exception $e) {
 var_dump($e->getTrace());
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Exception::getLine
Exception::getTraceAsString
Exception


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

Exception::getTrace
Exception::__toString
Exception
PHP Manual

Exception::getTraceAsString

(PHP 5 >= 5.1.0)

Exception::getTraceAsString — Получает трассировку стека в виде строки

Описание

final public string Exception::getTraceAsString ( void )

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

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

Примеры

Пример #1 Пример использования Exception::getTraceAsString()

<?php
function test() {
    throw new Exception;
}

try {
    test();
} catch(Exception $e) {
    echo $e->getTraceAsString();
}
?>

Результатом выполнения данного примера будет что-то подобное:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Exception::getTrace
Exception::__toString
Exception


Строковое представление исключения

Exception::getTraceAsString
Exception::__clone
Exception
PHP Manual

Exception::__toString

(PHP 5 >= 5.1.0)

Exception::__toString — Строковое представление исключения

Описание

public string Exception::__toString ( void )

Возвращает исключение в виде строки (string).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает исключение в виде строки (string).

Примеры

Пример #1 Пример использования Exception::__toString()

<?php
try {
    throw new Exception("Какое-нибудь сообщение об ошибке");
} catch(Exception $e) {
    echo $e;
}
?>

Результатом выполнения данного примера будет что-то подобное:

exception 'Exception' with message 'Какое-нибудь сообщение об ошибке' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Exception::getTraceAsString
Exception::__clone
Exception


Клонировать исключение

Exception::__toString
ErrorException
Exception
PHP Manual

Exception::__clone

(PHP 5 >= 5.1.0)

Exception::__clone — Клонировать исключение

Описание

final private void Exception::__clone ( void )

Пытается клонировать исключение, что приводит к фатальной ошибке.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

Ошибки

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

Exception::__toString
ErrorException
Exception


ErrorException

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Исключение в случае ошибки.

Обзор классов

ErrorException extends Exception {
/* Свойства */
protected int $ErrorException->severity ;
/* Методы */
public ErrorException::__construct ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )
final public int ErrorException::getSeverity ( void )
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

severity

Важность ошибки

Примеры

Пример #1 Используем set_error_handler() для превращения сообщений об ошибках в ErrorException.

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

/* вызываем ошибку */
strpos();
?>

Результатом выполнения данного примера будет что-то подобное:

Fatal error: Uncaught exception 'ErrorException' with message 'Wrong parameter count for strpos()' in /home/bjori/tmp/ex.php:8
Stack trace:
#0 [internal function]: exception_error_handler(2, 'Wrong parameter...', '/home/bjori/php...', 8, Array)
#1 /home/bjori/php/cleandocs/test.php(8): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 8

Содержание

  • ErrorException::__construct — Создание исключения
  • ErrorException::getSeverity — Возвращает критичность исключения
Exception::__clone
ErrorException::__construct
Предопределённые исключения


Создание исключения

ErrorException
ErrorException::getSeverity
ErrorException
PHP Manual

ErrorException::__construct

(PHP 5 >= 5.1.0)

ErrorException::__construct — Создание исключения

Описание

public ErrorException::__construct() ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )

Создание исключения (конструктор класса Exception).

Список параметров

message

Текст исключения.

code

Код исключения.

severity

Степень серьезности исключения.

filename

Имя файла, где вызвано исключение.

lineno

Номер строки, где вызвано исключение.

previous

Предыдущее исключение. Используется для создания цепочки исключений.

ErrorException
ErrorException::getSeverity
ErrorException


Возвращает критичность исключения

ErrorException::__construct
Встроенные интерфейсы
ErrorException
PHP Manual

ErrorException::getSeverity

(PHP 5 >= 5.1.0)

ErrorException::getSeverity — Возвращает критичность исключения

Описание

final public int ErrorException::getSeverity ( void )

Возвращает критичность исключения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает уровень критичности исключения.

Примеры

Пример #1 Пример использования ErrorException::getSeverity()

<?php
try {
    throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
    echo "Критичность этого исключения равна: " . $e->getSeverity();
}
?>

Результатом выполнения данного примера будет что-то подобное:

Критичность этого исключения равна: 75

ErrorException::__construct
Встроенные интерфейсы
ErrorException


Встроенные интерфейсы

Содержание

  • Traversable
  • Iterator
  • IteratorAggregate
  • ArrayAccess
  • Serializable
  • Closure

См. также Интерфейсы SPL

ErrorException::getSeverity
Traversable
Справочник языка


Интерфейс Traversable

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс, определяющий, является ли класс обходимым (traversable) используя foreach.

Абстрактный базовый интерфейс, который не может быть реализован сам по себе. Вместо этого он должен быть реализован используя IteratorAggregate или Iterator.

Замечание:

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

Замечание:

Это внутренний интерфейс движка, который не может быть реализован в скрипте PHP. Либо IteratorAggregate, либо Iterator должен быть использован вместо него.

Обзор интерфейсов

Traversable {
}

Этот интерфейс не имеет методов, его единственная цель - быть базовым интерфейсом для всех обходимых классов.

Встроенные интерфейсы
Iterator
Встроенные интерфейсы


Интерфейс Iterator

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс для внешних итераторов или объектов, которые могут повторять себя изнутри.

Обзор интерфейсов

Iterator extends Traversable {
/* Методы */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}

Пример #1 Основы использования

Этот пример демонстрирует в каком порядке методы вызываются когда используется foreach с итератором.

<?php
class myIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "firstelement",
        "secondelement",
        "lastelement",
    );

    public function __construct() {
        $this->position = 0;
    }

    function rewind() {
        var_dump(__METHOD__);
        $this->position = 0;
    }

    function current() {
        var_dump(__METHOD__);
        return $this->array[$this->position];
    }

    function key() {
        var_dump(__METHOD__);
        return $this->position;
    }

    function next() {
        var_dump(__METHOD__);
        ++$this->position;
    }

    function valid() {
        var_dump(__METHOD__);
        return isset($this->array[$this->position]);
    }
}

$it = new myIterator;

foreach($it as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(18) "myIterator::rewind"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(0)
string(12) "firstelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(1)
string(13) "secondelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(2)
string(11) "lastelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"

Содержание

  • Iterator::current — Возвращает текущий элемент
  • Iterator::key — Возвращает ключ текущего элемента
  • Iterator::next — Переходит к следующему элементу
  • Iterator::rewind — Возвращает итератор на первый элемент
  • Iterator::valid — Проверка корректности позиции
Traversable
Iterator::current
Встроенные интерфейсы


Возвращает текущий элемент

Iterator
Iterator::key
Iterator
PHP Manual

Iterator::current

(PHP 5 >= 5.0.0)

Iterator::current — Возвращает текущий элемент

Описание

abstract public mixed Iterator::current ( void )

Возвращает текущий элемент.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Может возвращать любой тип.

Iterator
Iterator::key
Iterator


Возвращает ключ текущего элемента

Iterator::current
Iterator::next
Iterator
PHP Manual

Iterator::key

(PHP 5 >= 5.0.0)

Iterator::key — Возвращает ключ текущего элемента

Описание

abstract public scalar Iterator::key ( void )

Возвращает ключ текущего элемента.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

При успехе возвращает scalar, или же NULL при неудаче.

Ошибки

Порождает E_NOTICE при неудачном выполнении.

Iterator::current
Iterator::next
Iterator


Переходит к следующему элементу

Iterator::key
Iterator::rewind
Iterator
PHP Manual

Iterator::next

(PHP 5 >= 5.0.0)

Iterator::next — Переходит к следующему элементу

Описание

abstract public void Iterator::next ( void )

Передвигает текущую позицию к следующему элементу.

Замечание:

Метод вызывается после каждой итерации foreach.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Любое возвращаемое значение игнорируется.

Iterator::key
Iterator::rewind
Iterator


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

Iterator::next
Iterator::valid
Iterator
PHP Manual

Iterator::rewind

(PHP 5 >= 5.0.0)

Iterator::rewind — Возвращает итератор на первый элемент

Описание

abstract public void Iterator::rewind ( void )

Возвращает итератор обратно на первый элемент.

Замечание:

В начале цикла foreach этот метод вызывается первым. Этот метод не будет вызван после цикла foreach.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Любое возвращаемое значение игнорируется.

Iterator::next
Iterator::valid
Iterator


Проверка корректности позиции

Iterator::rewind
IteratorAggregate
Iterator
PHP Manual

Iterator::valid

(PHP 5 >= 5.0.0)

Iterator::valid — Проверка корректности позиции

Описание

abstract public boolean Iterator::valid ( void )

Этот метод вызывается после Iterator::rewind() и Iterator::next() чтобы проверить, корректна ли текущая позиция.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращаемое значение будет приведено к типу boolean и затем использовано. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Iterator::rewind
IteratorAggregate
Iterator


Интерфейс IteratorAggregate

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс для создания внешнего итератора.

Обзор интерфейсов

IteratorAggregate extends Traversable {
/* Методы */
abstract public Traversable getIterator ( void )
}

Пример #1 Основы использования

<?php
class myData implements IteratorAggregate {
    public $property1 = "Public property one";
    public $property2 = "Public property two";
    public $property3 = "Public property three";

    public function __construct() {
        $this->property4 = "last property";
    }

    public function getIterator() {
        return new ArrayIterator($this);
    }
}

$obj = new myData;

foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(9) "property1"
string(19) "Public property one"

string(9) "property2"
string(19) "Public property two"

string(9) "property3"
string(21) "Public property three"

string(9) "property4"
string(13) "last property"

Содержание

  • IteratorAggregate::getIterator — Возвращает внешний итератор
Iterator::valid
IteratorAggregate::getIterator
Встроенные интерфейсы


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

IteratorAggregate
ArrayAccess
IteratorAggregate
PHP Manual

IteratorAggregate::getIterator

(PHP 5 >= 5.0.0)

IteratorAggregate::getIterator — Возвращает внешний итератор

Описание

abstract public Traversable IteratorAggregate::getIterator ( void )

Возвращает внешний итератор.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Экземпляр объекта, использующего Iterator или Traversable

Ошибки

Вызывает Exception в случае неудачи.

IteratorAggregate
ArrayAccess
IteratorAggregate


Интерфейс ArrayAccess

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс обеспечивает доступ к объектам как к массиву.

Обзор интерфейсов

ArrayAccess {
/* Методы */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}

Пример #1 Основы использования

<?php
class obj implements arrayaccess {
    private $container = array();
    public function __construct() {
        $this->container = array(
            "one"   => 1,
            "two"   => 2,
            "three" => 3,
        );
    }
    public function offsetSet($offset, $value) {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }
    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }
    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }
    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

$obj = new obj;

var_dump(isset($obj["two"]));
var_dump($obj["two"]);
unset($obj["two"]);
var_dump(isset($obj["two"]));
$obj["two"] = "A value";
var_dump($obj["two"]);
$obj[] = 'Append 1';
$obj[] = 'Append 2';
$obj[] = 'Append 3';
print_r($obj);
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
int(2)
bool(false)
string(7) "A value"
obj Object
(
    [container:obj:private] => Array
        (
            [one] => 1
            [three] => 3
            [two] => A value
            [0] => Append 1
            [1] => Append 2
            [2] => Append 3
        )

)

Содержание

  • ArrayAccess::offsetExists — Определяет, существует ли заданное смещение (ключ)
  • ArrayAccess::offsetGet — Возвращает заданное смещение (ключ)
  • ArrayAccess::offsetSet — Устанавливает заданное смещение (ключ)
  • ArrayAccess::offsetUnset — Удаляет смещение
IteratorAggregate::getIterator
ArrayAccess::offsetExists
Встроенные интерфейсы


Определяет, существует ли заданное смещение (ключ)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.0.0)

ArrayAccess::offsetExists — Определяет, существует ли заданное смещение (ключ)

Описание

abstract public boolean ArrayAccess::offsetExists ( mixed $offset )

Определяет, существует или нет данное смещение (ключ).

Данный метод исполняется, когда используется функция isset() или функция empty() для объекта, реализующего интерфейс ArrayAccess.

Замечание:

Когда используется функция empty(), метод ArrayAccess::offsetGet() вызывается и результат проверяется только в случае, если метод ArrayAccess::offsetExists() возвращает TRUE.

Список параметров

offset

Смещение (ключ) для проверки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание:

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

Примеры

Пример #1 Пример использования ArrayAccess::offsetExists()

<?php
class obj implements arrayaccess {
    public function offsetSet($offset, $value) {
        var_dump(__METHOD__);
    }
    public function offsetExists($var) {
        var_dump(__METHOD__);
        if ($var == "foobar") {
            return true;
        }
        return false;
    }
    public function offsetUnset($var) {
        var_dump(__METHOD__);
    }
    public function offsetGet($var) {
        var_dump(__METHOD__);
        return "value";
    }
}

$obj = new obj;

echo "Выполняется obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nВыполняется obj::offsetExists() и obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nВыполняется obj::offsetExists(), но *не* obj:offsetGet() поскольку нечего возвращать\n";
var_dump(empty($obj["foobaz"]));
?>

Результатом выполнения данного примера будет что-то подобное:

Выполняется obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Выполняется obj::offsetExists() и obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Выполняется obj::offsetExists(), но *не* obj:offsetGet() поскольку нечего возвращать
string(17) "obj::offsetExists"
bool(true)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess


Возвращает заданное смещение (ключ)

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess
PHP Manual

ArrayAccess::offsetGet

(PHP 5 >= 5.0.0)

ArrayAccess::offsetGet — Возвращает заданное смещение (ключ)

Описание

abstract public mixed ArrayAccess::offsetGet ( mixed $offset )

Возвращает заданное смещение (ключ).

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

Список параметров

offset

Смещение (ключ) для возврата.

Примечания

Замечание:

Начиная с PHP 5.3.4, смягчена проверка для прототипа метода, и возможна реализация данного метода с возвращением по ссылке. Это делает возможным косвенную модификацию для величин массива перегруженного объекта ArrayAccess.

Явная модификация - это такая модификация, при которой полностью заменяется значение величины массива, как в случае $obj[6] = 7. С другой стороны, при косвенной модификации заменяется только часть величины, или происходит попытка присвоения величины по ссылке другой переменной, как в случае $obj[6][7] = 7 или $var =& $obj[6]. Увеличение с использованием оператора ++ и уменьшение с использованием оператора -- так же реализуются с помощью способа, который требует косвенную модификацию.

В то время как, явная модификация запускает вызов метода ArrayAccess::offsetSet(), косвенная модификация запускает вызов метода ArrayAccess::offsetGet(). В таком случае, реализация метода ArrayAccess::offsetGet() должна быть в состоянии возвращать результат по ссылке, в противном случае будет поднято сообщение об ошибке уровня E_NOTICE.

Возвращаемые значения

Может возвращать значение любого типа.

Смотрите также

  • ArrayAccess::offsetExists() - Определяет, существует ли заданное смещение (ключ)

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess


Устанавливает заданное смещение (ключ)

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess
PHP Manual

ArrayAccess::offsetSet

(PHP 5 >= 5.0.0)

ArrayAccess::offsetSet — Устанавливает заданное смещение (ключ)

Описание

abstract public void ArrayAccess::offsetSet ( mixed $offset , mixed $value )

Присваивает значение указанному смещению (ключу).

Список параметров

offset

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

value

Значение для присвоения.

Возвращаемые значения

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

Примечания

Замечание:

Параметр offset будет установлен в NULL если иное значение недоступно, как показано в следующем примере.

<?php
$arrayaccess[] = "first value";
$arrayaccess[] = "second value";
print_r($arrayaccess);
?>

Результат выполнения данного примера:

Array
(
    [0] => first value
    [1] => second value
)

Замечание:

Данный метод не вызывается при присвоениях по ссылки и других косвенных изменений величин массива перегруженного объекта ArrayAccess (косвенные в том смысле, что они произведены не прямой заменой величины, а путем изменения часть элемента или свойства элемента массива, или присвоением элемента массива по ссылке другой переменой). Вместо этого, вызывается метод ArrayAccess::offsetGet(). Данная операция будет успешна только в том случае, если метод возвращает по ссылке, что доступно только начиная с PHP 5.3.4.

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess


Удаляет смещение

ArrayAccess::offsetSet
Serializable
ArrayAccess
PHP Manual

ArrayAccess::offsetUnset

(PHP 5 >= 5.0.0)

ArrayAccess::offsetUnset — Удаляет смещение

Описание

abstract public void ArrayAccess::offsetUnset ( mixed $offset )

Удаляет смещение.

Замечание:

Этот метод не будет вызван при приведении типа к (unset)

Список параметров

offset

Смещение для удаления.

Возвращаемые значения

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

ArrayAccess::offsetSet
Serializable
ArrayAccess


Интерфейс Serializable

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс для индивидуальной сериализации.

Классы, которые реализуют этот интерфейс не поддерживают больше __sleep() и __wakeup(). Метод serialize вызывается всякий раз, когда необходима сериализация экземпляру класса. Этот метод не вызывает __destruct() и не имеет никаких побочных действий кроме тех, которые запрограммированы внутри него. Когда данные десериализованы, класс известен и соответствующий метод unserialize() вызывается как конструктор вместо вызова __construct(). Если вам необходимо вызвать стандартный конструктор, вы можете это сделать в этом методе.

Обзор интерфейсов

Serializable {
/* Методы */
abstract public string serialize ( void )
abstract public mixed unserialize ( string $serialized )
}

Пример #1 Основы использования

<?php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "My private data";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

Результатом выполнения данного примера будет что-то подобное:

string(38) "C:3:"obj":23:{s:15:"My private data";}"
string(15) "My private data"

Содержание

  • Serializable::serialize — Представляет объект в виде строки
  • Serializable::unserialize — Создает объект
ArrayAccess::offsetUnset
Serializable::serialize
Встроенные интерфейсы


Представляет объект в виде строки

Serializable
Serializable::unserialize
Serializable
PHP Manual

Serializable::serialize

(PHP 5 >= 5.1.0)

Serializable::serialize — Представляет объект в виде строки

Описание

abstract public string Serializable::serialize ( void )

Возращает строковое представление объекта.

Замечание:

Этот метод действует как деструктор объекта. Метод __destruct() не вызывается после этого метода.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает строковое представление объекта или NULL

Ошибки

Вызывает Exception, когда возвращает типы, отличные от string или NULL

Смотрите также

  • __sleep()

Serializable
Serializable::unserialize
Serializable


Создает объект

Serializable::serialize
Closure
Serializable
PHP Manual

Serializable::unserialize

(PHP 5 >= 5.1.0)

Serializable::unserialize — Создает объект

Описание

abstract public mixed Serializable::unserialize ( string $serialized )

Вызывается во время десериализации объекта.

Замечание:

Этот метод действует как конструктор объекта. Метод __construct() не вызывается после этого метода.

Список параметров

serialized

Строковое представление объекта.

Возвращаемые значения

Возвращает оригинальное десериализированное значение.

Смотрите также

  • __wakeup()

Serializable::serialize
Closure
Serializable


Класс Closure

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс используемый для создания анонимных функций.

Анонимные функции, появившиеся в PHP 5.3, являются объектами данного класса. Ранее это считалось только деталью реализации, но начиная с PHP 5.4, этот класс получил методы, позволяющие контролировать анонимные функции после их создания.

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

Обзор классов

Closure {
/* Методы */
__construct ( void )
public static Closure bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )
public Closure bindTo ( object $newthis [, mixed $newscope = 'static' ] )
}

Содержание

  • Closure::__construct — Конструктор запрещающий создавать новые объекты
  • Closure::bind — Дублирует замыкание с указанием связанного объекта и области видимости класса
  • Closure::bindTo — Дублирует замыкание с указанием связанного объекта и области видимости класса
Serializable::unserialize
Closure::__construct
Встроенные интерфейсы


Конструктор запрещающий создавать новые объекты

Closure
Closure::bind
Closure
PHP Manual

Closure::__construct

(Информация о версии неизвестна, возможно, только в SVN)

Closure::__construct — Конструктор запрещающий создавать новые объекты

Описание

Closure::__construct ( void )

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

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Этот метод не возвращает никаких значений. Он просто выбрасывает ошибку типа E_RECOVERABLE_ERROR.

Смотрите также

  • Анонимные функции
Closure
Closure::bind
Closure


Дублирует замыкание с указанием связанного объекта и области видимости класса

Closure::__construct
Closure::bindTo
Closure
PHP Manual

Closure::bind

(Информация о версии неизвестна, возможно, только в SVN)

Closure::bind — Дублирует замыкание с указанием связанного объекта и области видимости класса

Описание

public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )

Этот метод является статическим вариантом Closure::bindTo(). Смотрите документацию к указанному методу для подробной информации.

Список параметров

closure

Анонимная функция для привязывания к объекту

newthis

Объект, к которому будет привязана переданная функция, или NULL для отсоединения функции от ее текущего объекта.

newscope

Область видимости класса, с которой ассоциируется замыкание, или 'static' для сохранения текущей области видимости. Если передан объект, то будет использован его класс. Этот параметр определяет видимость protected (защищенных) и private (закрытых) методов привязанного объекта.

Возвращаемые значения

Возвращает новый объект Closure или FALSE в случае возникновения ошибки

Примеры

Пример #1 Пример Closure::bind()

<?php
class A {
    private static $sfoo = 1;
    private $ifoo = 2;
}
$cl1 = static function() {
    return A::$sfoo;
};
$cl2 = function() {
    return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

1
2

Смотрите также

  • Анонимные функции
  • Closure::bindTo() - Дублирует замыкание с указанием связанного объекта и области видимости класса
Closure::__construct
Closure::bindTo
Closure


Дублирует замыкание с указанием связанного объекта и области видимости класса

Closure::bind
Контекстные опции и параметры
Closure
PHP Manual

Closure::bindTo

(Информация о версии неизвестна, возможно, только в SVN)

Closure::bindTo — Дублирует замыкание с указанием связанного объекта и области видимости класса

Описание

public Closure Closure::bindTo ( object $newthis [, mixed $newscope = 'static' ] )

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

"Привязанный объект" определяет значение $this, которое будет доступно в теле функции, а "область видимости класса" представляет собой класс, который определяет к каким protected (защищенным) и private (закрытым) элементам этого объекта будет иметь доступ анонимная функция. Если точнее, то это те элементы, как если бы анонимная функция была бы методом класса, переданного в параметре newscope.

Статические замыкания не могут иметь привязанный объект (значение параметра newthis должно быть равно NULL), но эта функция может все равно использоваться для изменения его области видимости класса.

Данный метод гарантирует, что у нестатического замыкания с привязанным объектом будет задана область видимости и наоборот. Для выполнения этого условия применяются следующие правила: Для нестатического замыкания, с указанной областью видимости и с NULL вместо объекта, будет создано статическое замыкание. Для нестатического замыкания с незаданной областью видимости, но с указанием объекта, создается замыкание с неуказанной областью видимости.

Замечание:

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

Список параметров

newthis

Объект, к которому будет привязана переданная функция, или NULL для отсоединения функции от ее текущего объекта.

newscope

Область видимости класса, с которой ассоциируется замыкание, или 'static' для сохранения текущей области видимости. Если передан объект, то будет использован его класс. Этот параметр определяет видимость protected (защищенных) и private (закрытых) методов привязанного объекта.

Возвращаемые значения

Возвращает новый объект Closure или FALSE в случае возникновения ошибки

Примеры

Пример #1 Пример Closure::bindTo()

<?php

class A {
    function __construct($val) {
        $this->val = $val;
    }
    function getClosure() {
        //Возвращает замыкание, связанное с текущими объектом и областью видимости
        return function() { return $this->val; };
    }
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";

Результатом выполнения данного примера будет что-то подобное:

1
2

Смотрите также

  • Анонимные функции
  • Closure::bind() - Дублирует замыкание с указанием связанного объекта и области видимости класса
Closure::bind
Контекстные опции и параметры
Closure


Контекстные опции и параметры

PHP предлагает различные контекстные опции и параметры, которые могут быть использованы со всеми
файловыми системами и обработчиками потоков (stream wrappers). Контекст создается с помощью функции
stream_context_create(). Опции устанавливаются путем вызова
stream_context_set_option(), а параметры -- путем вызова
stream_context_set_params().

Содержание

  • Контекстные опции сокета — Список контекстных опций сокета
  • Опции контекста HTTP — Cписок опций контекста HTTP
  • Параметры контекста FTP — Список параметров контекста FTP
  • Опции контекста SSL — Список опций контекста SSL
  • Опции контекста CURL — Список опций контекста CURL
  • Контекстные опции Phar — Список контекстных опций Phar
  • Параметры контекста — Список параметров контекста
Closure::bindTo
Контекстные опции сокета
Справочник языка


Список контекстных опций сокета

Контекстные опции и параметры
Опции контекста HTTP
Контекстные опции и параметры
PHP Manual

Контекстные опции сокета

Контекстные опции сокета — Список контекстных опций сокета

Описание

Контекстные опции доступны для всех оберток, которые работают через сокеты, такие как tcp, http и ftp.

Опции

bindto

Используется для указания IP адреса (IPv4 или IPv6) и\или номера порта, которые PHP будет использовать для подключения к сети. Синтаксис выглядит следующим образом: ip:port. Установка IP и\или порта в 0 позволит системе самой выбрать нужный IP и\или порт.

Замечание:

Так как во время обычной работы FTP создает 2 соединения с сокетами, номер порта не может быть задан с помощью данной опции.

backlog

Используется для ограничения исходящих соединений, в очереди соединений сокета.

Замечание:

Используется только для stream_socket_server().

Список изменений

Версия | Описание
5.1.0 | Добавлено bindto.
5.3.3 | Добавлено backlog.

Примеры

Пример #1 Пример использования bindto

<?php
// Соединение с сетью, используя IP '192.168.0.100'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// Соединение с сетью, используя IP '192.168.0.100' и порт '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// Соединение с сетью, используя порт '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// Создаем контекст...
$context = stream_context_create($opts);

// ...и используем его для получения данных
echo file_get_contents('http://www.example.com', false, $context);

?>

Контекстные опции и параметры
Опции контекста HTTP
Контекстные опции и параметры


Cписок опций контекста HTTP

Контекстные опции сокета
Параметры контекста FTP
Контекстные опции и параметры
PHP Manual

Опции контекста HTTP

Опции контекста HTTP — Cписок опций контекста HTTP

Описание

Опции контекста для транспортных протоколов http:// и https://.

Опции

method string

GET, POST, или любой другой метод HTTP, поддерживаемый удаленным сервером.

По умолчанию - GET.

header string

Дополнительные заголовки для отправки вместе с запросом. Значения в этой опции будут переопределять другие значения (такие как User-agent:, Host:, и Authentication:).

user_agent string

Значение для отправки вместе с заголовком User-Agent:. Это значение будет использоваться, если заголовок user-agent не был указан в опции контекста header выше.

По умолчанию используется значение директивы user_agent из файла php.ini.

content string

Дополнительные данные для отправки после заголовков. Обычно используется с запросами POST и PUT.

proxy string

URI, указывающий адрес прокси-сервера. (Например, tcp://proxy.example.com:5100).

request_fulluri boolean

Когда установлено в TRUE, весь URI будет использован при построении запроса. (Например, GET http://www.example.com/path/to/file.html HTTP/1.0). Хотя это нестандартный формат запроса, некоторые прокси-серверы требуют его.

По умолчанию значение FALSE.

follow_location integer

Следовать переадресациям Location: ...

По умолчанию TRUE.

max_redirects integer

Максимальное количество переадресаций, которым можно следовать. Значение 1 или меньше означает, что никаких переадресаций не будет произведено.

По умолчанию 20.

protocol_version float

Версия протокола HTTP.

По умолчанию 1.0.

Замечание:

В PHP до версии 5.3.0 не было реализовано декодирование фрагментированных передач. Если это значение установлено в 1.1, то это ваша ответственность, чтобы оно соответствовало версии 1.1.

timeout float

Тайм-аут на чтение в секундах, указанный с помощью типа float (например, 10.5).

По умолчанию используется значение директивы default_socket_timeout из файла php.ini.

ignore_errors boolean

Извлечь содержимое даже в случае, если присутствует код статуса неуспешного завершения

По умолчанию FALSE

Список изменений

Версия | Описание
5.3.4 | Добавлен параметр follow_location.
5.3.0 | Параметр protocol_version поддерживает декодирование фрагментированной передачи, когда установлен в 1.1.
5.2.10 | Добавлен параметр ignore_errors.
5.2.10 | Параметр header теперь может быть типа array с числовыми индексами.
5.2.1 | Добавлен параметр timeout.
5.1.0 | Добавлено проксирование протокола HTTPS через HTTP-прокси.
5.1.0 | Добавлен параметр max_redirects.
5.1.0 | Добавлен параметр protocol_version.

Примеры

Пример #1 Извлечь страницу и отправить данные методом POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'некоторое содержимое',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Пример #2 Игнорировать переадресации, но извлечь заголовки и содержимое

<?php

$url = "http://www.example.org/header.php";

$opts = array(
       'http' => array('method' => 'GET',
                                       'max_redirects' => '0',
                                       'ignore_errors' => '1')
       );

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// информация о заголовках, а также
// мета-данные о потоке
var_dump(stream_get_meta_data($stream));

// актуальная информация по ссылке $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Примечания

Замечание: Опции контекста низлежащего потока в сокете
Дополнительные опции контекста могут поддерживаться низлежащим транспортным протоколом. Для потоков http://, это относится к опциям контекста для транспортного протокола tcp://. Для потоков https://, это относится к опциям контекста для транспортного протокола ssl://.

Замечание: Строка статуса HTTP
Когда эта обертка потока следует по переадресации, wrapper_data, возвращаемый функцией stream_get_meta_data(), необязательно содержит строку статуса HTTP, которая на самом деле относится к содержанию данных по индексу 0.

array (
  'wrapper_data' =>
  array (
    0 => 'HTTP/1.0 301 Moved Permantenly',
    1 => 'Cache-Control: no-cache',
    2 => 'Connection: close',
    3 => 'Location: http://example.com/foo.jpg',
    4 => 'HTTP/1.1 200 OK',
    ...
Первый запрос вернул код 301 (постоянное перенаправление), так что обертка потока автоматически последовала этому перенаправлению, чтобы получить ответ 200 (индекс = 4).

Смотрите также

  • http://
  • Контекстные опции сокета
  • Опции контекста SSL

Контекстные опции сокета
Параметры контекста FTP
Контекстные опции и параметры


Список параметров контекста FTP

Опции контекста HTTP
Опции контекста SSL
Контекстные опции и параметры
PHP Manual

Параметры контекста FTP

Параметры контекста FTP — Список параметров контекста FTP

Описание

Параметры контекста для транспортных протоколов ftp:// и ftps://

Опции

overwrite boolean

Разрешает перезаписывать существующие файлы на удаленном сервере. Работает только в режиме записи (upload).

По умолчанию FALSE.

resume_pos integer

Смещение в файле, с которого начинается передача. Работает только в режиме чтения (download).

По умолчанию 0 (Начало файла).

proxy string

FTP-запрос через прокси-сервер HTTP. Применяется только при операции чтения файла. Пример: tcp://squid.example.com:8000.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр proxy.
5.0.0 | Добавлены параметры overwrite и resume_pos.

Примечания

Замечание: Опции контекста низлежащего потока в сокете
Дополнительные опции контекста могут поддерживаться низлежащим транспортным протоколом. Для потоков ftp://, это относится к опциям контекста для транспортного протокола tcp://. Для потоков ftps://, это относится к опциям контекста для транспортного протокола ssl://.

Смотрите также

  • ftp://
  • Контекстные опции сокета
  • Опции контекста SSL

Опции контекста HTTP
Опции контекста SSL
Контекстные опции и параметры


Список опций контекста SSL

Параметры контекста FTP
Опции контекста CURL
Контекстные опции и параметры
PHP Manual

Опции контекста SSL

Опции контекста SSL — Список опций контекста SSL

Описание

Опции контекста для протоколов ssl:// и tls://

Опции

verify_peer boolean

Требовать проверки используемого SSL-сертификата.

По умолчанию FALSE.

allow_self_signed boolean

Разрешить самоподписанные сертификаты.

По умолчанию FALSE

cafile string

Расположение файла сертификата в локальной файловой системе, который следует использовать с опцией контекста verify_peer для проверки подлинности удалённого узла.

capath string

Если параметр cafile не определён или сертификат не найден, осуществляется поиск в директории, указанной в capath. Путь capath должен быть к корректной директории, содержащей сертификаты, имена которых являются хешем от поля subject, указанного в сертификате.

local_cert string

Путь к локальному сертификату в файловой системе. Это должен быть файл, закодированный PEM, который содержит ваш сертификат и приватный ключ. Он дополнительно может содержать публичный ключ эмитента.

passphrase string

Идентификационная фраза, с которой ваш файл local_cert был закодирован.

CN_match string

Имя хоста (Common Name), которое мы ожидаем. PHP будет производить ограниченное сопоставление, учитывающее символы подстановки (*,?). Если имя хоста не совпадает со строкой, соединение будет сброшено.

verify_depth integer

Прервать, если цепочка сертификата слишком длинная.

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

ciphers string

Устанавливает список доступных алгоритмов шифрования. Формат этой строки описан в разделе » шифры(1).

По умолчанию принимает значение DEFAULT.

capture_peer_cert boolean

Если установлено в TRUE, то будет создана опция контекста peer_certificate, содержащая сертификат удаленного узла.

capture_peer_cert_chain boolean

Если установлено в TRUE, то будет создана опция контекста peer_certificate_chain, содержащая цепочку сертификатов.

SNI_enabled boolean

Если установлено в TRUE, то будет включено указание имени сервера. Включение SNI позволяет использовать разные сертификаты на одном и том же IP-адресе.

SNI_server_name string

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

Список изменений

Версия | Описание
5.3.2 | Добавлены параметры SNI_enabled и SNI_server_name.
5.0.0 | Добавлены параметры capture_peer_cert, capture_peer_chain и ciphers.

Примечания

Замечание: Так как ssl:// - это низлежащий транспортный протокол для оберток https:// и ftps://, то любые опции контекста, которые применяются к ssl:// будут также применяться к https:// и ftps://.

Замечание: Чтобы была доступна возможность указания имени сервера (SNI, Server Name Indication), PHP должен быть скомпилирован с OpenSSL 0.9.8j или более поздней. Используйте константу OPENSSL_TLSEXT_SERVER_NAME чтобы определить, поддерживается ли SNI.

Смотрите также

  • Контекстные опции сокета

Параметры контекста FTP
Опции контекста CURL
Контекстные опции и параметры


Список опций контекста CURL

Опции контекста SSL
Контекстные опции Phar
Контекстные опции и параметры
PHP Manual

Опции контекста CURL

Опции контекста CURL — Список опций контекста CURL

Описание

Опции контекста CURL доступны в том случае, если расширение CURL скомпилировано, используюя конфигурационную опцию --with-curlwrappers .

Опции

method string

GET, POST, или любой другой HTTP-метод, поддерживаемый удаленным сервером.

По умолчанию - GET.

header string

Дополнительные заголовки для отправки вместе с запросом. Значения в этой опции будут переопределять другие значения (такие как User-agent:, Host:, и Authentication:).

user_agent string

Значение для отправки вместе с заголовком User-Agent.

По умолчанию используется значение директивы user_agent из файла php.ini.

content string

Дополнительные данные для отправки после заголовков. Эта опция не используется для запросов GET или HEAD.

proxy string

URI, указывающий адрес прокси-сервера. (Например, tcp://proxy.example.com:5100).

max_redirects integer

Максимальное количество переадресаций, которые можно сделать. Значение 1 или меньше означает, что никаких переадресаций не будет произведено.

По умолчанию 20.

curl_verify_ssl_host boolean

Проверить хост.

По умолчанию FALSE

Замечание:

Эта опция доступна для двух оберток протоколов: http и ftp.

curl_verify_ssl_peer boolean

Требовать проверку используемого SSL-сертификата.

По умолчанию FALSE

Замечание:

Эта опция доступна для двух оберток протоколов: http и ftp.

Примеры

Пример #1 Получает страницу и посылает POST-запрос

<?php

$postdata = http_build_query(
    array(
        'var1' => 'некоторое содержимое',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Смотрите также

  • Контекстные опции сокета

Опции контекста SSL
Контекстные опции Phar
Контекстные опции и параметры


Список контекстных опций Phar

Опции контекста CURL
Параметры контекста
Контекстные опции и параметры
PHP Manual

Контекстные опции Phar

Контекстные опции Phar — Список контекстных опций Phar

Описание

Контекстные опции для обёртки phar://.

Опции

compress int

Одна из констант Phar сжатия.

metadata mixed

Phar метаданные. См. Phar::setMetadata().

Смотрите также

  • phar://
  • потоки Phar

Опции контекста CURL
Параметры контекста
Контекстные опции и параметры


Список параметров контекста

Контекстные опции Phar
Поддерживаемые протоколы и обработчики (wrappers)
Контекстные опции и параметры
PHP Manual

Параметры контекста

Параметры контекста — Список параметров контекста

Описание

Данные параметры (parameters) могут быть заданы для контекста (context) с помощью функции stream_context_set_params().

Список параметров

notification callback

callback-функция, вызываемая при наступлении события в потоке.

За подробностями обращайтесь к документации функции stream_notification_callback().

Контекстные опции Phar
Поддерживаемые протоколы и обработчики (wrappers)
Контекстные опции и параметры


Поддерживаемые протоколы и обработчики (wrappers)

PHP поставляется с множеством встроенных обработчиков для различных URL-протоколов для использования с функциями файловой системы, таких как fopen(), copy(), file_exists() и filesize(). В дополнение к этим обработчикам, можно регистрировать собственные обработчики, используя функцию stream_wrapper_register().

Замечание: URL синтаксис, используемый для описания обработчика, может быть только вида scheme://.... Варианты синтаксиса scheme:/ и scheme: не поддерживаются.

Содержание

  • file:// — Доступ к локальной файловой системе
  • http:// — Доступ к URL-адресам по протоколу HTTP(s)
  • ftp:// — Доступ к URL-адресам по протоколу FTP(s)
  • php:// — Доступ к различным потокам ввода-вывода
  • zlib:// — Сжатые потоки
  • data:// — Схема Data (RFC 2397)
  • glob:// — Нахождение путей, соответствующих шаблону
  • phar:// — PHP архив
  • ssh2:// — Secure Shell 2
  • rar:// — RAR
  • ogg:// — Аудио потоки
  • expect:// — Потоки для взаимодействия с процессами
Параметры контекста
file://
Справочник языка


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

Поддерживаемые протоколы и обработчики (wrappers)
http://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

file://

file:// — Доступ к локальной файловой системе

Описание

Файловая система - это стандартная обертка для PHP, представляющая файловую систему на локальном компьютере. Когда задан относительный путь (путь, который не начинается с символов "/", "\", "\\" или с буквы жесткого диска в Windows), он будет применен к текущей рабочей директории. В большинстве случаев это директория, в которой находится сценарий, если она не была изменена. При использовании CLI SAPI директорией по умолчанию будет та, из которой вызвано исполнение сценария.

With some functions, such as fopen() and file_get_contents(), include_path may be optionally searched for relative paths as well.

Опции

  • /path/to/file.ext
  • relative/path/to/file.ext
  • fileInCwd.ext
  • C:/path/to/winfile.ext
  • C:\path\to\winfile.ext
  • \\smbserver\share\path\to\winfile.ext
  • file:///path/to/file.ext

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Чтение | Да
Запись | Да
Добавление | Да
Одновременное чтение и запись | Да
Поддержка stat() | Да
Поддержка unlink() | Да
Поддержка rename() | Да
Поддержка mkdir() | Да
Поддержка rmdir() | Да

Список изменений

Версия | Описание
5.0.0 | Добавлено file://.

Поддерживаемые протоколы и обработчики (wrappers)
http://
Поддерживаемые протоколы и обработчики (wrappers)


Доступ к URL-адресам по протоколу HTTP(s)

file://
ftp://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

http://

https://

http:// -- https:// — Доступ к URL-адресам по протоколу HTTP(s)

Описание

Предоставляет доступ только для чтения файлов/ресурсов через HTTP 1.0, используя метод HTTP GET. Для поддержки name-based виртуальных хостов вместе с запросом посылается заголовок Host:. Если вы сконфигурировали строку user_agent, используя ващ файл php.ini или контекст потока, то она также будет включена в запрос.

Этот поток также позволяет получить доступ к содержимому ресурса; заголовки сохраняются в переменной $http_response_header.

Если важно знать URL, с которого был получен документ (после всех переадресаций, которые были произведены), то вам необходимо обработать серию заголовков ответов, возвращаемых потоком.

INI-директива from будет использоваться для заголовка From:, если установлена и не переопределена в контексте Контекстные опции и параметры.

Опции

  • http://example.com
  • http://example.com/file.php?var1=val1&var2=val2
  • http://user:password@example.com
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:password@example.com

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Да
Чтение | Да
Запись | Нет
Добавление | Нет
Одновременное чтение и запись | Недоступно
Поддержка stat() | Нет
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Список изменений

Версия | Описание
4.3.7 | Определение сбойных IIS-серверов для избежания ошибок типа "SSL: Fatal Protocol Error".
4.3.0 | Добавлен протокол https://.
4.0.5 | Добавлена поддержка переадресаций.

Примеры

Пример #1 Определение URL, с которого был забран документ после переадресаций

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach($meta_data['wrapper_data'] as $response) {

    /* Были ли мы переадресованы? */
    if (substr(strtolower($response), 0, 10) == 'location: ') {

        /* Сохранить в $url адрес, куда нас переадресовали */
        $url = substr($response, 18);
    }

}

?>

Пример #2 Отправка пользовательских заголовков вместе с HTTP-запросом

Пользовательские заголовки могут быть отправлены с помощью HTTP-запроса за счет использования побочного эффекта в обработке INI-директивы user_agent. Присвойте директиве user_agent любую правильную строку в качестве значения (например, такую как значение по умолчанию - PHP/версия), с последующими символами возврат каретки/перевод на новую строку (CR/LF) и добавьте любые дополнительные заголовки. Этот метод работает в PHP 4 и всех последующих версиях.

<?php
ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");

$fp = fopen('http://www.example.com/index.php', 'r');
?>

Резултаты предыдущего запроса получаются такие:

GET /index.php HTTP/1.0
Host: www.example.com
User-Agent: PHP
X-MyCustomHeader: Foo

Примечания

Замечание: Протокол HTTPS поддерживается только когда расширение openssl включено.

Соединения HTTP предназначены только для чтения; запись данных или копирование файлов в HTTP-ресурс не поддерживается.

Отправка запросов POST и PUT, например, может быть выполнена с помощью HTTP-контеста.

Смотрите также

  • Опции контекста HTTP
  • $http_response_header
  • stream_get_meta_data() - Извлекает заголовок/метаданные из потоков/файловых указателей
file://
ftp://
Поддерживаемые протоколы и обработчики (wrappers)


Доступ к URL-адресам по протоколу FTP(s)

http://
php://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

ftp://

ftps://

ftp:// -- ftps:// — Доступ к URL-адресам по протоколу FTP(s)

Описание

Позволяет читать существующие файлы и создавать новые файлы через FTP. Если сервер FTP не поддерживает режим passive mode, соединение будет невозможно.

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

Если вы установили директиву from в файле php.ini, то это значение будет отправлено как пароль при анонимном подключении к FTP.

Опции

  • ftp://example.com/pub/file.txt
  • ftp://user:password@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:password@example.com/pub/file.txt

Опции

Основная информация
Атрибут | PHP 4 | PHP 5
Ограничение по allow_url_fopen | Да | Да
Чтение | Да | Да
Запись | Да (только новые файлы) | Да (новые файлы / существующие файлы с опцией overwrite)
Добавление | Нет | Да
Одновременное чтение и запись | Нет | Нет
Поддержка stat() | Нет | Начиная с PHP 5.0.0 доступны только: filesize(), filetype(), file_exists(), is_file(), и is_dir(). Начиная с PHP 5.1.0 доступны: filemtime().
Поддержка unlink() | Нет | Да
Поддержка rename() | Нет | Да
Поддержка mkdir() | Нет | Да
Поддержка rmdir() | Нет | Да

Список изменений

Версия | Описание
4.3.0 | Добавлена поддержка ftps://.

Примечания

Замечание:

FTPS поддерживается только когда включена поддержка расширения openssl.

Если сервер не поддерживает SSL, то соединение переключается обратно на обычный нешифрованный протокол FTP.

Замечание: Дополнение
Начиная с PHP 5.0.0 файлы могут быть дописаны с помощью ftp:// URL-обертки. В предыдущих версиях попытка дописать файл через ftp:// приводила к ошибке.

Смотрите также

  • Параметры контекста FTP
http://
php://
Поддерживаемые протоколы и обработчики (wrappers)


Доступ к различным потокам ввода-вывода

ftp://
zlib://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

php://

php:// — Доступ к различным потокам ввода-вывода

Описание

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

php://stdin, php://stdout and php://stderr

php://stdin, php://stdout и php://stderr позволяют получить прямой доступ к соответствующим потокам ввода или вывода процесса PHP. Поток указывает на копию файлового дескриптора, таким образом, если вы откроете php://stdin и потом закроете его, вы закроете только вашу копию дескриптора. Актуальный поток, на который ссылается STDIN остается неизменным. Обратите внимание, что PHP демонстрировал ошибочное поведение в этом отношении до версии PHP 5.2.1. Рекомендуется просто использовать константы STDIN, STDOUT и STDERR вместо ручного открытия потоков, используя эти обертки.

Поток php://stdin предназначен только для чтения, тогда как php://stdout и php://stderr предназначены только для записи.

php://input

php://input является потоком только для чтения, который позволяет вам читать необработанные данные из тела запроса. В случае POST-запросов предпочтительней использовать php://input вместо $HTTP_RAW_POST_DATA, так как этот метод не зависит от специальных php.ini директив. Кроме того, в тех случаях, где $HTTP_RAW_POST_DATA не заполняется по умолчанию, это потенциально менее затратно для памяти, чем активация директивы always_populate_raw_post_data. php://input не доступен с типом содержимого enctype="multipart/form-data".

Замечание: Поток, открытый с php://input может быть прочтен только один раз. Поток не поддерживает операции поиска. Тем не менее, в зависимости от реализации SAPI интерфейса, может быть возможно открыть другой поток php://input и повторить чтение. Это возможно только если тело запроса заранее сохраняется. Это типично для случая с POST-запросом, но не для других методов запросов, таких как PUT или PROPFIND.

php://output

php://output является потоком только для записи, который позволяет вам записать данные в выходной буфер аналогично как это делают функции print() и echo().

php://fd

php://fd предоставляет прямой доступ к указанному файловому дескриптору. Например, php://fd/3 относится к файловому дескриптору 3.

php://memory и php://temp

php://memory и php://temp являются потоками для чтения/записи и позволяют сохранять временные данные в файлоподобной обертке. Единственная разница между ними заключается в том, что php://memory будет всегда хранить данные в оперативной памяти, тогда как php://temp будет использовать временный файл в том случае, когда объем хранимой информации достигнет заданный лимит (по умолчанию составляет 2 Мб). Расположение этого временного файла определяется аналогично функции sys_get_temp_dir().

Размер лимита для php://temp может устанавливаться путем добавления /maxmemory:NN, где NN - это максимальный размер данных в байтах для хранения в памяти перед испольхованием временного файла.

php://filter

php://filter - это вид мета-обертки, предназначенный для разрешения применения фильтров к потоку во время открытия. Это полезно для функционально полных файловых функций таких, как readfile(), file(), и file_get_contents() там, где иначе не было возможности применить фильтр к потоку до того, как содержимое будет прочитано.

Поток php://filter принимает следующие параметры как часть своего пути. Пожалуйста, ознакомьтесь с примерами и особенностями при использовании этих параметров.

Параметры для php://filter
Название | Описание
resource=<поток для фильтрации> | Этот параметр является необходимым. Он указывает потоку, что его необходимо отфильтровать.
read=<список фильтров для применения к цепочке чтения> | Этот параметр является необязательным. Одно или более имен фильтров может быть указано здесь, разделенные вертикальной чертой (|).
write=<список фильтров для применения к цепочке записи> | Этот параметр является необязательным. Одно или более имен фильтров может быть указано здесь, разделенные вертикальной чертой (|).
<список фильтров для применения к обеим цепочкам чтения и записи> | Любой список фильтров, которые используются без префиксов read= или write=, будет применен к обоим потокам на чтение и на запись при необходимости.

Опции

Основная информация (для php://filter смотрите информацию по обертке, которая подвергается фильтрации)
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Ограничение по allow_url_include | только php://input, php://stdin, php://memory и php://temp.
Чтение | только php://stdin, php://input, php://fd, php://memory и php://temp.
Запись | только php://stdout, php://stderr, php://output, php://fd, php://memory и php://temp.
Добавление | только php://stdout, php://stderr, php://output, php://fd, php://memory и php://temp. (Эквивалентно записи)
Одновременное чтение и запись | только php://fd, php://memory и php://temp.
Поддержка stat() | только php://memory и php://temp.
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет
Поддержка stream_select() | только php://stdin, php://stdout, php://stderr, php://fd и php://temp.

Список изменений

Версия | Описание
5.3.6 | Был добавлен php://fd.
5.1.0 | Были добавлены php://memory и php://temp.
5.0.0 | Был добавлен php://filter.

Примеры

Пример #1 php://temp/maxmemory

Этот необязательный параметр позволяет установить лимит памяти до того, как php://temp начнет использовать временный файл.

<?php
// Установка предела в 5 MB.
$fiveMBs = 5 * 1024 * 1024;
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

fputs($fp, "hello\n");

// Читаем то, что мы записали.
rewind($fp);
echo stream_get_contents($fp);
?>

Пример #2 php://filter/resource=<поток для фильтрации>

Этот параметр должен быть расположен в конце вашей спецификации php://filter и должен указывать на поток, который вы хотите фильтровать.

<?php
/* Это просто эквивалентно:
  readfile("http://www.example.com");
  так как на самом деле фильтры не указаны */

readfile("php://filter/resource=http://www.example.com");
?>

Пример #3 php://filter/read=<список фильтров для применения к цепочке чтения>

Этот параметр принимает один или более имен фильтров, разделенных вертикальной чертой |.

<?php
/* Этот скрипт выведет содержимое
  www.example.com полностью в верхнем регистре */
readfile("php://filter/read=string.toupper/resource=http://www.example.com");

/* Этот скрипт делает тоже самое, что вверхний, но
  будет также кодировать алгоритмом ROT13 */
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
?>

Пример #4 php://filter/write=<список фильтров для применения к цепочке записи>

Этот параметр принимает один или более имен фильтров, разделенных вертикальной чертой |.

<?php
/* Этот скрипт будет фильтровать строку "Hello World"
  через фильтр rot13, затем записывать результат в
  файл example.txt в текущей директории */
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
?>
ftp://
zlib://
Поддерживаемые протоколы и обработчики (wrappers)


Сжатые потоки

php://
data://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// — Сжатые потоки

Описание

zlib: PHP 4.0.4 - PHP 4.2.3 (только на системах с fopencookie)

compress.zlib:// и compress.bzip2:// PHP 4.3.0 и выше

zlib: работает как gzopen() за исключением того, что этот поток может использоваться функцией fread() и другими функциями, работающими с файловой системой. Устарела начиная с PHP 4.3.0 ввиду неоднозначности при наличии файлов, содержащих ':'; используйте взамен compress.zlib://.

compress.zlib:// и compress.bzip2:// соответствуют gzopen() и bzopen() соответственно и работают даже в системах, не поддерживающих fopencookie.

ZIP-модуль добавляет обертку zip:.

Опции

  • zlib:
  • compress.zlib://
  • compress.bzip2://

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Чтение | Да
Запись | Да (кроме zip://)
Добавление | Да (кроме zip://)
Чтение и запись одновременно | Нет
Поддержка stat() | Нет, используйте стандартную обертку file:// для получения информации по сжатым файлам.
Поддержка unlink() | Нет, используйте стандартную обертку file:// для удаления сжатых файлов.
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

php://
data://
Поддерживаемые протоколы и обработчики (wrappers)


Схема Data (RFC 2397)

zlib://
glob://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

data://

data:// — Схема Data (RFC 2397)

Описание

data: (» RFC 2397) - это обертка потоков, доступная с PHP 5.2.0.

Опции

  • data://text/plain;base64,

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Ограничение по allow_url_include | Да
Чтение | Да
Запись | Нет
Добавление | Нет
Чтение и запись одновременно | Нет
Поддержка stat() | Нет
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Примеры

Пример #1 Вывод содержимого data://

<?php
// выводит "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Пример #2 Получение типа потока

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// выводит "text/plain"
echo $meta['mediatype'];
?>
zlib://
glob://
Поддерживаемые протоколы и обработчики (wrappers)


Нахождение путей, соответствующих шаблону

data://
phar://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

glob://

glob:// — Нахождение путей, соответствующих шаблону

Описание

Обертка потока glob: доступна с версии PHP 5.3.0.

Опции

  • glob://

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Ограничение по allow_url_include | Нет
Чтение | Нет
Запись | Нет
Добавление | Нет
Одновременное чтение и запись | Нет
Поддержка stat() | Нет
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Примеры

Пример #1 Основы использования

<?php
// Просмотреть все файлы *.php в директории ext/spl/examples/
// и напечатать имена файлов и их размеры
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K
data://
phar://
Поддерживаемые протоколы и обработчики (wrappers)


PHP архив

glob://
ssh2://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

phar://

phar:// — PHP архив

Описание

Обертка потока phar:// доступна начиная с версии PHP 5.3.0. Смотрите раздел обертка потока Phar для более детального описания.

Опции

  • phar://

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Ограничение по allow_url_include | Нет
Чтение | Да
Запись | Да
Добавление | Нет
Одновременное чтение и запись | Да
Поддержка stat() | Да
Поддержка unlink() | Да
Поддержка rename() | Да
Поддержка mkdir() | Да
Поддержка rmdir() | Да

Смотрите также

  • Контекстные опции Phar
glob://
ssh2://
Поддерживаемые протоколы и обработчики (wrappers)


Secure Shell 2

phar://
rar://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

ssh2://

ssh2:// — Secure Shell 2

Описание

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 и более поздние (PECL)

Замечание: Эта обертка не включена по умолчанию
Для того, чтобы использовать обертки ssh2.*:// вам необходимо установить расширение » SSH2, доступное в » PECL.

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

Опции

  • ssh2.shell://user:pass@example.com:22/xterm
  • ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
  • ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
  • ssh2.sftp://user:pass@example.com:22/path/to/filename

Опции

Основная информация
Атрибут | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Ограничение по allow_url_fopen | Да | Да | Да | Да | Да
Чтение | Да | Да | Да | Да | Да
Запись | Да | Да | Да | Да | Нет
Добавление | Нет | Нет | Нет | Да (когда поддерживается сервером) | Нет
Одновременная чтение и запись | Да | Да | Да | Да | Нет
Поддержка stat() | Нет | Нет | Нет | Да | Нет
Поддержка unlink() | Нет | Нет | Нет | Да | Нет
Поддержка rename() | Нет | Нет | Нет | Да | Нет
Поддержка mkdir() | Нет | Нет | Нет | Да | Нет
Поддержка rmdir() | Нет | Нет | Нет | Да | Нет

Опции контекста
Имя | Использование | По умолчанию
session | Предварительно соединенный ресурс ssh2 для повторного использования |
sftp | Предварительно выделенный ресурс sftp для повторного использования |
methods | Обмен ключами, ключ хоста, шифр, компрессия, и MAC методы для использования |
callbacks |  |
username | Имя пользователя для соединения |
password | Пароль для аутентификации |
pubkey_file | Имя файла, в котором находится публичный ключ для аутентификации |
privkey_file | Имя файла, в котором находится приватный ключ для аутентификации |
env | Ассоциативный массив с переменными окружения, которые необходимо установить |
term | Тип эмуляции терминала для запроса, когда выделяется pty |
term_width | Ширина терминала, запрашивается когда выделяется pty |
term_height | Высота терминала, запращивается когда выделяется pty |
term_units | Единицы, в которых измеряются term_width и term_height | SSH2_TERM_UNIT_CHARS

Примеры

Пример #1 Открытие потока из активного соединения

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>
phar://
rar://
Поддерживаемые протоколы и обработчики (wrappers)


RAR

ssh2://
ogg://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

rar://

rar:// — RAR

Описание

Эта обертка принимает URL-кодированный путь к RAR-архиву (относительный или абсолютный), необязательный символ звездочки (*), необязательный символ решетки (#) и необязательное URL-кодированное имя такое, как хранится в архиве. Для указания имени содержимого требуется символ решетки, начальный обратный слеш в названии содержимого необязателен.

Эта обертка может открывать файлы и директории. Когда открываются директории, знак звездочки требует, чтобы имена объектов директории были закодированы unencode. Если такой знак не указан, они будут возвращены в URL-кодировке. Смысл этого в том, чтобы позволить обертке корректно использовать встроенную функциональность, такую как RecursiveDirectoryIterator когда присутствуют имена файлов, которые кажутся как url-закодированные данные.

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

Замечание: Эта обертка не включена по умолчанию
Для того, чтобы использовать обертку rar://, вам необходимо установить расширение » rar, доступное из репозитория » PECL.

rar:// Доступно начиная с PECL rar 3.0.0

Опции

  • rar://<url encoded archive name>[*][#[<url encoded entry name>]]

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Ограничение по allow_url_include | Нет
Чтение | Да
Запись | Нет
Добавление | Нет
Одновременное чтение и запись | Нет
Поддержка stat() | Да
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Опции контекста
Название | Использование | По умолчанию
open_password | Пароль используется для шифрования заголовков архива, если таковые есть. WinRAR будет шифровать все файлы с таким же паролем, как и пароль заголовков, когда последний присутствует. Таким образом, для архивов с зашифрованными заголовками опция file_password будет игнорироваться. |
file_password | Пароль, используемый для шифрования файла, если таковой имеется. Если заголовки также зашифрованы, эта опция будет игнорирована в пользу open_password. Причина этого в том, что нет смысла в использовании одновременно двух разных паролей для шифрования отдельно заголовков и отдельно файлов. Нет таких архивов, где бы это пригодилось. Заметим, что если у архива отсутствуют зашифрованные заголовки, то опция open_password будет игнорирована и эта опция должна быть использована вместо нее. |
volume_callback | Обраный вызов для определения пути недостающих томов архива. Смотрите RarArchive::open() для более детальной информации. |

Примеры

Пример #1 Обход RAR-архива

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
    function current() {
        return rawurldecode($this->getSubPathName()) .
            (is_dir(parent::current())?" [DIR]":"");
    }
}

$f = "rar://" . rawurlencode(dirname(__FILE__)) .
    DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach ($it as $s) {
    echo $s, "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_אּ.txt
|-with_streams.txt
\-אּ [DIR]
  |-אּ\%2Fempty%2E [DIR]
  | \-אּ\%2Fempty%2E\file7.txt
  |-אּ\empty [DIR]
  |-אּ\file3.txt
  |-אּ\file4_אּ.txt
  \-אּ\אּ_2 [DIR]
    |-אּ\אּ_2\file5.txt
    \-אּ\אּ_2\file6_אּ.txt

Пример #2 Открытие зашифрованного файла (шифрование заголовка)

<?php
$stream = fopen("rar://" .
    rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
    'encrypted_headers.rar' . '#encfile1.txt', "r", false,
    stream_context_create(
        array(
            'rar' =>
                array(
                    'open_password' => 'samplepassword'
                )
            )
        )
    );
var_dump(stream_get_contents($stream));
/* дата создания и дата последнего доступа включается опционально в WinRAR, поэтому у
 * большинства файлов их нет */
var_dump(fstat($stream));
?>

Результатом выполнения данного примера будет что-то подобное:

string(26) "Encrypted file 1 contents."
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)
ssh2://
ogg://
Поддерживаемые протоколы и обработчики (wrappers)


Аудио потоки

rar://
expect://
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

ogg://

ogg:// — Аудио потоки

Описание

Файлы, открываемые для чтения с использованием обертки ogg://, рассматриваются как сжатый аудио поток, кодируемый с использованием кодека OGG/Vorbis. Аналогично, файлы открытые для записи или добавления через обертку ogg:// записываются как сжатые звуковые данные. Функция stream_get_meta_data(), когда используется с файлами OGG/Vorbis открытыми для чтения, будет возвращать разнообразную информацию о потоке, включая тэг производителя vendor, комментарии comments, число каналов channels, частоту дискретизации rate, и диапазон частоты кодирования, описываемый: bitrate_lower, bitrate_upper, bitrate_nominal, и bitrate_window.

ogg:// PHP 4.3.0 и старше (PECL)

Замечание: Данная обертка не доступна по умолчанию
Для того чтобы использовать обертку ogg:// вы должны установить расширение » OGG/Vorbis доступное в » PECL.

Опции

  • ogg://soundfile.ogg
  • ogg:///path/to/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Чтение | Да
Запись | Да
Добавление | Да
Одновременные чтение и запись | Нет
Поддержка stat() | Нет
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Установки для контекста
Название | Использование | Значение по умолчанию | Режим
pcm_mode | Опция PCM кодирования применяемая во время чтение, одна из: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, и OGGVORBIS_PCM_S16_LE. (8 или 16 битное, со знаком или без, прямой или обратный порядок байтов) | OGGVORBIS_PCM_S16_LE | Чтение
rate | Частота дискретизации входных данных, выраженная в Гц | 44100 | Запись/Добавление
bitrate | Когда дано целое число, постоянный битрейт при котором кодировать. (от 16000 до 131072) Когда дано вещественное число, качество переменного битрейта для использования. (от -1.0 до 1.0) | 128000 | Запись/Добавление
channels | Количество аудио каналов для кодирования, обычно 1 (Моно), или 2 (Стерео). Может варьироваться вплоть до 16. | 2 | Запись/Добавление
comments | Массив строк для запись в заголовок трека. |  | Запись/Добавление

Примеры

rar://
expect://
Поддерживаемые протоколы и обработчики (wrappers)


Потоки для взаимодействия с процессами

ogg://
Безопасность
Поддерживаемые протоколы и обработчики (wrappers)
PHP Manual

expect://

expect:// — Потоки для взаимодействия с процессами

Описание

Потоки, открытые с помощью обертки expect://, предоставляют доступ к stdio, stdout и stderr процессов через PTY.

Замечание: Эта обертка отключена по умолчанию
Для того, чтобы использовать обертку expect://, необходимо установить модуль » Expect, доступный в » PECL.

expect:// PHP 4.3.0 и выше (PECL)

Опции

  • expect://command

Опции

Основная информация
Атрибут | Поддержка
Ограничение по allow_url_fopen | Нет
Чтение | Да
Запись | Да
Добавление | Да
Чтение и запись одновременно | Нет
Поддержка stat() | Нет
Поддержка unlink() | Нет
Поддержка rename() | Нет
Поддержка mkdir() | Нет
Поддержка rmdir() | Нет

Примеры

ogg://
Безопасность
Поддерживаемые протоколы и обработчики (wrappers)


Безопасность

  • Вступление
  • Общие рассуждения
  • Если PHP установлен как CGI
    • Возможные атаки
    • Вариант 1: обслуживаются только общедоступные файлы
    • Вариант 2: использование cgi.force_redirect
    • Вариант 3: использование опций doc_root или user_dir
    • Вариант 4: PHP вне дерева веб-документов
  • Если PHP установлен как модуль Apache
  • Безопасность файловой системы
    • Проблемы безопасности, связанные с нулевым байтом
  • Безопасность баз данных
    • Проектирование базы данных
    • Соединение с базой данных
    • Шифрование хранилища базы данных
    • SQL-инъекции
  • Сообщения об ошибках
  • Использование глобальных переменных (Register_Globals)
  • Данные, введенные пользователем
  • Волшебные кавычки
    • Что такое волшебные кавычки?
    • Зачем мы использовали волшебные кавычки?
    • Почему не надо использовать волшебные кавычки
    • Отключение волшебных кавычек
  • Сокрытие PHP
  • Необходимость обновлений
expect://
Вступление
Руководство по PHP


Вступление

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

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

Гибкость конфигурирования PHP можно сравнить с гибкостью самого языка. PHP можно использовать для создания полноценных серверных приложений, использующих доступные для указанного пользователя возможности операционной системы, либо в качестве простых подключаемых файлов, хранящихся на сервере с минимальным риском в жестко контролируемой среде. То, как настроено данное окружение, а также качество его безопасности, в большей части зависит от PHP-разработчика.

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

Безопасность
Общие рассуждения
Безопасность


Общие рассуждения

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

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

Следует помнить хорошую поговорку: надежность системы определяется ее самым слабым звеном. Например, если все транзакции логируются по времени, месторасположению, типу транзакции и ряду других параметров, но авторизация пользователя происходит всего лишь по куке (cookie), то связь конкретной записи в логе с пользователем системы весьма сомнительна.

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

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

Вступление
Если PHP установлен как CGI
Безопасность


Если PHP установлен как CGI

Содержание

  • Возможные атаки
  • Вариант 1: обслуживаются только общедоступные файлы
  • Вариант 2: использование cgi.force_redirect
  • Вариант 3: использование опций doc_root или user_dir
  • Вариант 4: PHP вне дерева веб-документов
Общие рассуждения
Возможные атаки
Безопасность


Возможные атаки

Использование PHP как бинарного CGI-приложения является одним из вариантов, когда по каким-либо причинам нежелательно интегрировать PHP в веб-сервер (например, Apache) в качестве модуля, либо предполагается использование различных CGI-оберток и таких утилит, как chroot и setuid для организации безопасного окружения работы скриптов. Такая установка обычно сопровождается копированием исполняемого файла PHP в директорию cgi-bin веб-сервера. CERT (организация, следящая за угрозами безопасности) » CA-96.11 рекомендует не помещать какие-либо интерпретаторы в каталог cgi-bin. Даже если PHP используется как самостоятельный интерпретатор, он спроектирован так, чтобы предотвратить возможность следующих атак:

  • Доступ к системным файлам: http://my.host/cgi-bin/php?/etc/passwd Данные, введенные в строке запроса (URL) после вопросительного знака, передаются интерпретатору как аргументы командной строки согласно CGI протоколу. Обычно интерпретаторы открывают и исполняют файл, указанный в качестве первого аргумента. В случае использования PHP посредством CGI-протокола он не станет интерпретировать аргументы командной строки.
  • Доступ к произвольному документу на сервере: http://my.host/cgi-bin/php/secret/doc.html Согласно общепринятому соглашению, часть пути в запрошенной странице, которая расположена после имени выполняемого модуля PHP, /secret/doc.html, используется для указания файла, который будет интерпретирован CGI-программой. Обычно, некоторые конфигурационные опции веб-серевера (например, Action для сервера Apache) используются для перенаправления документа, к примеру, для перенаправления запросов вида http://my.host/secret/script.php интерпретатору PHP. В таком случае веб-сервер вначале проверяет права доступа к директории /secret, и после этого создает перенаправленный запрос http://my.host/cgi-bin/php/secret/script.php. К сожалению, если запрос изначально задан в полном виде, проверка на наличие прав для файла /secret/script.php не выполняется, она происходит только для файла /cgi-bin/php. Таким образом, пользователь имеет возможность обратиться к /cgi-bin/php, и, как следствие, к любому защищенному документу на сервере. Если в PHP указать во время исполнения скрипта опции cgi.force_redirect, doc_root и user_dir, то можно предотвратить подобные атаки для директорий с ограниченным доступом. Более детально приведенные опции, а также их комбинации будут рассмотрены ниже.
Если PHP установлен как CGI
Вариант 1: обслуживаются только общедоступные файлы
Если PHP установлен как CGI


Вариант 1: обслуживаются только общедоступные файлы

В случае, если на вашем сервере отсутствуют файлы, доступ к которым ограничен паролем либо фильтром по IP-адресам, нет никакой необходимости использовать данные опции. Если ваш веб-сервер не разрешает выполнять перенаправления, либо не имеет возможности взаимодействовать с исполняемым PHP-модулем на необходимом уровне безопасности, вы можете использовать опцию --enable-force-cgi-redirect во время сборки PHP. Но при этом вы все еще должны убедиться, что альтернативные способы вызова скрипта, такие как непосредственный вызов http://my.host/cgi-bin/php/dir/script.php либо с переадресацией http://my.host/dir/script.php, недоступны.

В веб-сервере Apache перенаправление может быть сконфигурировано при помощи директив AddHandler и Action (описано ниже).

Возможные атаки
Вариант 2: использование cgi.force_redirect
Если PHP установлен как CGI


Вариант 2: использование cgi.force_redirect

Конфигурационная директива cgi.force_redirect предотвращает попытки непосредственного вызова PHP по адресу вида http://my.host/cgi-bin/php/secretdir/script.php. Вместо этого, PHP будет обрабатывать пришедший запрос только в том случае, если он был перенаправлен веб-сервером. В версиях PHP до 4.2.0 для этой цели использовалась опция компиляции --enable-force-cgi-redirect.

Обычно перенаправление в веб-сервере Apache настраивается при помощи следующих опций:

Action php-script /cgi-bin/php
AddHandler php-script .php

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

Вариант 1: обслуживаются только общедоступные файлы
Вариант 3: использование опций doc_root или user_dir
Если PHP установлен как CGI


Вариант 3: использование опций doc_root или user_dir

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

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

Вы можете установить корневую директорию для PHP-скриптов, настроив параметр doc_root в конфигурационном файле, либо установив переменную окружения PHP_DOCUMENT_ROOT. В случае, если PHP используется посредством CGI, полный путь к открываемому файлу будет построен на основании значения переменной doc_root и указанного в запросе пути. Таким образом, вы можете быть уверены, что скрипты будут выполняться только внутри указанной вами директории (кроме директории user_dir, которая описана ниже).

Еще одна используемая при настройке безопасности опция - user_dir. В случае, если переменная user_dir не установлена, путь к открываемому файлу строится относительно doc_root. Запрос вида http://my.host/~user/doc.php приводит к выполнению скрипта, находящегося не в домашнем каталоге соответствующего пользователя, а находящегося в подкаталоге doc_root скрипта ~user/doc.php (да, имя директории начинается с символа ~).

Но если user_dir установлена, например, в значение public_php, то запрос вида http://my.host/~user/doc.php откроет файл doc.php, находящийся в домашнем каталоге пользователя, в директории public_php. Например, если домашний каталог пользователя /home/user, будет выполнен файл /home/user/public_php/doc.php.

Установка опции user_dir происходит независимо от установки doc_root, таким образом вы можете контролировать корневую директорию веб-сервера и пользовательские директории независимо друг от друга.

Вариант 2: использование cgi.force_redirect
Вариант 4: PHP вне дерева веб-документов
Если PHP установлен как CGI


Вариант 4: PHP вне дерева веб-документов

Один из способов существенно повысить уровень безопасности - поместить исполняемый модуль PHP вне дерева веб-документов, например в /usr/local/bin. Единственным недостатком такого подхода является то, что первая строка каждого скрипта должна иметь вид:

#!/usr/local/bin/php
Также необходимо сделать все файлы скриптов исполняемыми. Таким образом, скрипт будет рассматриваться так же, как и любое другое CGI-приложение, написанное на Perl, sh или любом другом скриптовом языке, который использует дописывание #! в начало файла для запуска самого себя.

Для корректной обработки PHP переменных PATH_INFO и PATH_TRANSLATED, он должен быть сконфигурирован с опцией --enable-discard-path.

Вариант 3: использование опций doc_root или user_dir
Если PHP установлен как модуль Apache
Если PHP установлен как CGI


Если PHP установлен как модуль Apache

Если PHP используется как модуль Apache, он наследует права пользователя, с которыми был запущен веб-сервер (обычно это пользователь "nobody"). Это влияет на обеспечение безопасности и реализацию авторизации. Например, если вы используете PHP для доступа к базе данных, которая не имеет встроенного механизма разграничения доступа, вам придется обеспечить доступ к БД для пользователя 'nobody'. В таком случае вредоносный скрипт может получить доступ к базе данных и модифицировать ее, даже не зная логина и пароля. Вполне возможна ситуация, при которой веб-паук неверными запросами на страницу администратора базы данных может уничтожить все ваши базы данных. Вы можете избежать такой ситуации при помощи авторизации Apache или разработав собственную модель доступа, используя LDAP, файлы .htaccess или любые другие технологии, внедряя соответствующий код в ваши PHP-скрипты.

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

Распространенной ошибкой является запуск Apache с правами суперпользователя или любое другое расширение полномочий веб-сервера.

Расширение привилегий веб-сервера до полномочий суперпользователя угрожает работоспособности всей системы, поэтому такие команды, как sudo, chroot и другие способы запуска с правами суперпользователя должны выполняться исключительно теми, кто считает себя профессионалами в вопросах безопасности.

Существует несколько простых решений. Используя open_basedir, вы можете ограничить дерево доступных директорий для PHP. Вы так же можете определить область доступа Apache, ограничив все действия, совершаемые из веба не-пользовательскими или не-системными файлами.

Вариант 4: PHP вне дерева веб-документов
Безопасность файловой системы
Безопасность


Безопасность файловой системы

Содержание

  • Проблемы безопасности, связанные с нулевым байтом

PHP является одним из важных моментов в вопросе безопасности сервера, поскольку PHP-скрипты могут манипулировать файлами и каталогами на диске. В связи с этим существуют конфигурационные настройки, указывающие, какие файлы могут быть доступны и какие операции с ними можно выполнять. Необходимо проявлять осторожность, поскольку любой из файлов, с полными правами чтения ("world readable") может быть прочитан каждым, кто имеет доступ к файловой системе.

Поскольку в PHP изначально предполагался полноправный пользовательский доступ к файловой системе, можно написать PHP-скрипт, который позволит читать системные файлы, такие как /etc/passwd, управлять сетевыми соединениями, отправлять задания принтеру, и так далее. Как следствие, вы всегда должны быть уверены в том, что файлы, которые вы читаете или модифицируете, являются именно теми, которые вы подразумевали.

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

Пример #1 Недостаточная проверка внешних данных ведет к...

<?php
// Удаление файла из домашней директории пользователя
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";

unlink("$homedir/$userfile");

echo "Файл был удален!";
?>
Поскольку переменные вводятся в пользовательской форме, существует возможность удалить файлы, принадлежащие кому-либо другому, введя соответствующие значения. В этом случае может понадобиться авторизация. Посмотрим, что произойдет, если будут отправлены значения "../etc/" и "passwd". Скрипт выполнит следующие действия:

Пример #2 ... атаке на файловую систему

<?php
// Удаление любого файла, доступного из PHP-скрипта.
// В случае, если PHP работает с правами пользователя root:
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "Файл был удален!";
?>
Cуществуют две важные меры, которые можно предпринять для предотвращения описанной проблемы.
  • Ограничить доступ пользователя, с правами которого работает веб-сервер с PHP.
  • Проверять все данные, вводимые пользователем.
Вот улучшеный вариант кода:

Пример #3 Более безопасная проверка имени файла

<?php
// Удаление любого файла, к которому имеет доступ пользователь,
// под которым запущен PHP.
$username = $_SERVER['REMOTE_USER']; // использование авторизации
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
    $logstring = "$filepath удален\n";
} else {
    $logstring = "Не удалось удалить $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $logstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);

?>
Однако и такая проверка не учитывает все возможные ситуации. Если система авторизации позволяет пользователям выбирать произвольные логины, взломщик может создать учетную запись вида "../etc/" и система опять окажется уязвимой. Исходя из этого, вам может понадобиться более строгая проверка:

Пример #4 Более строгая проверка имени файла

<?php
$username     = $_SERVER['REMOTE_USER']; // использование авторизации
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
    die("Неправильное имя пользователя или файл");
}

//etc...
?>

В зависимости от используемой вами операционной системы необходимо предусматривать возможность атаки на разнообразные файлы, включая системные файлы устройств (/dev/ или COM1), конфигурационные файлы (например /etc/ или файлы с расширением .ini), хорошо известные области хранения данных (/home/, My Documents), и так далее. Исходя из этого, как правило, легче реализовать такую политику безопасности, в которой запрещено все, исключая то, что явно разрешено.

Если PHP установлен как модуль Apache
Проблемы безопасности, связанные с нулевым байтом
Безопасность


Проблемы безопасности, связанные с нулевым байтом

Так как для работы с файловой системой PHP использует нижележащие C-функции, то в этом случае возможна крайне неожиданная обработка нулевого байта. Так как нулевой байт означает конец строки в C, то строки, содержащие такой байт, не будут трактоваться полностью, а только до той позиции, в которой находится этот байт. Следующий пример содержит уязвимый код, демонстрирующий эту проблему:

Пример #1 Скрипт, уязвимый к нулевому байту

<?php
$file = $_GET['file']; // "../../etc/passwd\0"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
    // file_exists возвратит true, т.к. /home/wwwrun/../../etc/passwd существует
    include '/home/wwwrun/'.$file.'.php';
    // будет подключен файл /etc/passwd
}
?>

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

Пример #2 Correctly validating the input

<?php
$file = $_GET['file'];

// Белый список возможных значений
switch ($file) {
    case 'main':
    case 'foo':
    case 'bar':
        include '/home/wwwrun/include/'.$file.'.php';
        break;
    default:
        include '/home/wwwrun/include/main.php';
}
?>
Безопасность файловой системы
Безопасность баз данных
Безопасность файловой системы


Безопасность баз данных

Содержание

  • Проектирование базы данных
  • Соединение с базой данных
  • Шифрование хранилища базы данных
  • SQL-инъекции

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

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

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

Запомните простое правило: максимальная защита. Чем больше потенциально опасных участков системы вы проработаете, тем сложнее будет потенциальному взломщику получить доступ к базе данных или повредить ее. Хороший дизайн базы данных и программных приложений поможет вам справиться с вашими страхами.

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


Проектирование базы данных

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

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

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

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

Безопасность баз данных
Соединение с базой данных
Безопасность баз данных


Соединение с базой данных

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

Проектирование базы данных
Шифрование хранилища базы данных
Безопасность баз данных


Шифрование хранилища базы данных

SSL/SSH защищает данные, которыми обмениваются клиент и сервер, но не защищает сами данные, хранимые в базе данных. SSL - протокол шифрования на уровне сеанса передачи данных.

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

Наиболее простое решение этой проблемы - установить вначале обыкновенный программный пакет для шифрования данных, а затем использовать его в ваших PHP-скриптах. PHP может вам помочь с этой задачей с помощью таких расширений как Mcrypt и Mhash, реализующих довольно большое число алгоритмов шифрования. При таком подходе скрипт вначале шифрует сохраняемые данные, а затем дешифрует их при запросе. Ниже приведены примеры того, как работает шифрование данных в PHP-скриптах.

В случае работы со скрытыми служебными данными, если не требуется их нешифрованное представление (т.е. его не нужно показывать), то, как следствие, можно использовать хэширование. Хорошо известный пример хэширования - хранение MD5-хэша от пароля в БД, вместо хранения оригинального значения. Смотрите также документацию по функциям crypt() и md5().

Пример #1 Использование хешированных паролей

<?php

// сохранение хэшированного пароля
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

// проверка введенного пользователем пароля на корректность
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

if (pg_num_rows($result) > 0) {
    echo 'Добро пожаловать, $username!';
} else {
    echo 'Авторизация не удалась, $username.';
}

?>
Соединение с базой данных
SQL-инъекции
Безопасность баз данных


SQL-инъекции

Многие веб-разработчики даже не догадываются, что SQL-запросы могут быть подделаны, и считают, что SQL-запросы всегда достоверны. На самом деле поддельные запросы могут обойти ограничения доступа, стандартную проверку авторизации, а некоторые виды запросов могут дать возможность выполнять команды операционной системы.

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

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

Пример #1 Постраничный вывод результата... и создание суперпользователя в PostgreSQL

<?php

$offset = $argv[0]; // внимание, нет проверки вводимых данных!
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);

?>
Обычно пользователи кликают по ссылкам 'вперед' и 'назад', вследствие чего значение переменной $offset заносится в URL. Скрипт ожидает, что $offset - десятичное число. Однако, взломщик может попытаться взломать систему, присоединив к URL дополнительную строку, обработанную функцией urlencode():
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--
Если это произойдет, скрипт предоставит взломщику доступ к базе с правами суперпользователя. Заметим, что значение 0; использовано для того, чтобы задать правильное смещение для первого запроса и корректно его завершить.

Замечание:

Часто используемой техникой для игнорирования SQL-парсером оставшейся части запроса является использование --, означающей комментарий.

Еще один вероятный способ получить пароли учетных записей в БД - атака страниц, предоставляющих поиск по базе. Взломщику нужно лишь проверить, используется ли в запросе передаваемая на сервер и необрабатываемая надлежащим образом переменная. Это может быть один из устанавливаемых на предыдущей странице фильтров, таких как WHERE, ORDER BY, LIMIT и OFFSET, используемых при построении запросов SELECT. В случае, если используемая вами база данных поддерживает конструкцию UNION, взломщик может присоединить к оригинальному запросу еще один дополнительный, для извлечения пользовательских паролей. Настоятельно рекомендуем использовать только зашифрованные пароли.

Пример #2 Листинг статей... и некоторых паролей (для любой базы данных)

<?php

$query  = "SELECT id, name, inserted, size FROM products
                  WHERE size = '$size'
                  ORDER BY $order LIMIT $limit, $offset;";
$result = odbc_exec($conn, $query);

?>
Статическая часть запроса может комбинироваться с другим SELECT-запросом, который выведет все пароли:
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
Если этот запрос (использующий ' и --) присоединить к значению одной из переменных, используемых для формирования $query, то запрос заметно преобразится.

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

Пример #3 От восстановления пароля... до получения дополнительных привилегий (для любой базы данных)

<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Но злоумышленник может ввести значение ' or uid like'%admin%'; -- для переменной $uid для изменения пароля администратора или просто присвоить переменной $pwd значение "hehehe', admin='yes', trusted=100 " (с завершающими пробелами) для получения дополнительных привелегий. При выполнении запросы переплетаются:
<?php

// $uid == ' or uid like'%admin%'; --
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$query = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE
...;";

?>

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

Пример #4 Выполнение команд операционной системы на сервере (для базы MSSQL)

<?php

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

?>
Если взломщик введет значениме a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- для переменной $prod, тогда запрос $query будет выглядеть так:
<?php

$query  = "SELECT * FROM products
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$result = mssql_query($query);

?>
MSSQL сервер выполняет SQL-команды в пакетном режиме, в том числе и операции по заведению локальных учетных записей базы данных. В случае, если приложение работает с привилегиями администратора sa и сервис MSSQL запущен с необходимыми привилегиями, то выполнив приведенные выше действия, взломщик получит аккаунт для доступа к серверу.

Замечание:

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

Рабочий пример проблем, вызываемых SQL-инъекцией
Авторство изображения принадлежит » xkcd

Способы защиты

Хотя по-прежнему очевидно, что взломщик должен обладать по крайней мере некоторыми знаниями о структуре базы данных чтобы провести успешную атаку, получить эту информацию зачастую очень просто. Например, если база данных является частью open-source или другого публично доступного программного пакета с инсталляцией по умолчанию, эта информация является полностью открытой и доступной. Эти данные также могут быть получены из закрытого проекта, даже если он закодирован, усложнен, или скомпилирован, и даже из вашего личного кода через отображение сообщений об ошибках. К другим методам относится использование распространенных (легко угадываемых) названий таблиц и столбцов. Например, форма логина, которая использует таблицу 'users' c названиями столбцов 'id', 'username' и 'password'.

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

  • Никогда не соединяйтесь с базой данных, используя учетную запись владельца базы данных или суперпользователя. Всегда старайтесь использовать специально созданных пользователей с максимально ограниченными правами.
  • Всегда проверяйте введенные данные на соответствие ожидаемому типу. В PHP есть множество функций для проверки данных: начиная от простейших функций для работы с переменными и функций определения типа символов (таких как is_numeric() и ctype_digit() соответственно) и заканчивая Perl-совместимыми регулярными выражениями.

  • В случае, если приложение ожидает цифровой ввод, примените функцию is_numeric() для проверки введенных данных, или принудительно укажите их тип при помощи settype(), или просто используйте числовое представление при помощи функции sprintf().

    Пример #5 Более безопасная реализация постраничной навигации

    <?php

    settype    ($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // обратите внимание на формат %d, использование %s было бы бессмысленно
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                         $offset);

    ?>

  • Экранируйте любой нецифровой ввод, используемый в запросах к БД при помощи специальных экранирующих функций, специфичных для используемой вами базы данных (например, mysql_real_escape_string(), sqlite_escape_string() и т.д.). Если нет экранирующей функции, специально разработанной для вашей базы данных, то, возможно, функции addslashes() и str_replace() смогут оказаться полезными (в зависимости от типа базы данных). Обратите внимание на первый пример. Следует помнить, что одного использования кавычек в запросе мало, это легко обойти.
  • Ни в коем случае не выводите никакой информации о БД, особенно о ее структуре. Также ознакомьтесь с соответствующими разделами документации: "Сообщения об ошибках" и "Функции обработки и логирования ошибок".
  • Вы можете использовать хранимые процедуры и заранее определенные курсоры для абстрагированной работы с данными, не предоставляя пользователям прямого доступа к данным и представлениям, но это решение имеет свои особенности.

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

Шифрование хранилища базы данных
Сообщения об ошибках
Безопасность баз данных


Сообщения об ошибках

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

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

Пример #1 Атака на переменные в HTML-странице

<form method="post" action="attacktarget?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

Возникаемые во время работы скриптов ошибки являются достаточно ценной информацией для разработчика, содержащей такие данные, как функция или файл, а также номер строки, в которой возникла ошибка. Вся эта информация может быть использована для взлома. Для PHP-разработчика достаточно привычно пользоваться такими функциями, как show_source(), highlight_string() или highlight_file() в целях отладки, но в живых сайтах это может открыть информацию о скрытых переменных, непроверенном синтаксисе и других потенциально опасных моментах. Особенно опасно наличие кода со встроенным механизмом отладки в публичных частях сайта. Взломщик может попытаться запустить отладочный механизм, подбирая основные признаки отладки:

Пример #2 Использование стандартных отладочных переменных

<form method="post" action="attacktarget?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Независимо от метода обработки ошибок возможность проверки системы на наличие ошибок снабжает взломщика дополнительной информацией.

Например, стандартный вывод об ошибке указывает операционную систему, в которой выполняются PHP скрипты. Если взломщик анализирует обычную страницу сайта с расширением .html и пытается узнать систему, с помощью которой работает сайт (для дальнейшего поиска уязвимых мест), то подавая на ввод неверные данные он может обнаружить, что система использует PHP.

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

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

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

Один из возможных способов обезопасить ваш код перед его публикацией в общий доступ - это использование функции PHP error_reporting(), которая может помочь выявить потенциально опасные переменные. Тестируя код перед выпуском релиза при помощи значения E_ALL, вы достаточно легко можете обнаружить участки кода, в которых переменные могут быть подменены либо модифицированы. После окончания тестирования, вы можете либо полностью отключить все сообщения об ошибках установив error_reporting() в 0, либо отключить их вывод с помощью директивы php.ini display_errors, изолировав таким образом ваш код от прощупывания. Если вы решили использовать последний способ, то необходимо также указать путь к лог-файлу с помощью директивы error_log и включить директиву log_errors.

Пример #3 Поиск потенциально опасных переменных при помощи E_ALL

<?php
if ($username) {  // Переменная не инициализируется перед использованием
    $good_login = 1;
}
if ($good_login == 1) { // Если предыдущая проверка потерпела неудачу, переменная оказывается неинициализированной
    readfile ("/highly/sensitive/data/index.html");
}
?>

SQL-инъекции
Использование глобальных переменных (Register_Globals)
Безопасность


Использование глобальных переменных (Register_Globals)

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Наверное, наиболее спорным моментом в разработке PHP стала замена значения по умолчанию для PHP-директивы register_globals с ON на OFF в версии PHP » 4.2.0. Большинство пользователей полагались на работу этой опции, даже не зная, что это за опция и думали, что это просто способ работы самого PHP. Эта страница документации призвана показать, как эта настройка сочетается с вопросами безопасности при разработке приложений. Следует понимать, что сама по себе эта опция никак не влияет на безопасность, угрозу представляет некорректное использование предоставляемых ею возможностей.

В случае, если register_globals включена, то перед выполнением вашего кода будут инициализированы различные переменные, например, переменные, переданные при отправке HTML-формы. Также, учитывая тот факт, что PHP не требует инициализации переменных, написать потенциально опасный код очень легко. Это было очень сложным решением, но сообщество PHP решило изменить значение по умолчанию этой директивы на OFF. Если директива включена, то при написании кода разработчики не могли с уверенностью сказать, откуда пришла та или иная переменная и насколько она достоверна. До такого нововведения переменные, определяемые разработчиком внутри скрипта, и передаваемые пользователем внешние данные могли перемешиваться. Приведем простой пример злоупотребления конфигурационной опцией register_globals:

Пример #1 Пример опасного кода с register_globals = on

<?php
// устанавливаем переменную $authorized = true только для пользователей, прошедших авторизацию
if (authenticated_user()) {
    $authorized = true;
}

// Поскольку в случае неудачи при проверке авторизации переменная $authorized
// не установлена, она может быть установлена автоматически, благодаря register_globals,
// например, при GET запросе GET auth.php?authorized=1.
// Таким образом, любой может пройти эту проверку!
if ($authorized) {
    include "/highly/sensitive/data.php";
}
?>

В случае register_globals = on логика работы скрипта может быть нарушена. В случае, если установленное значение off, переменная $authorized не может быть установлена из внешних данных запроса, и скрипт будет работать корректно. Но все же инициализация переменных - один из признаков хорошего тона в программировании. Например, в приведенном выше участке кода мы могли поместить $authorized = false в качестве первой строки. Такой код работал бы как со значением on, так и off опции register_globals, и подразумевая, что по умолчанию пользователь не проходил авторизацию.

Приведем еще один пример, использующий сессии. В случае, если register_globals = on, мы можем использовать переменную $username в приведенном ниже примере, но тогда у нас не будет уверенности в достоверности ее значения (к примеру, $username могла быть передана в GET-запросе через URL).

Пример #2 Пример использования сессий со значением register_globals on или off

<?php
// Мы не знаем, откуда получена переменная $username, но точно знаем, что
// переменная $_SESSION хранит в себе данные сессии
if (isset($_SESSION['username'])) {

    echo "Hello <b>{$_SESSION['username']}</b>";

} else {

    echo "Hello <b>Guest</b><br />";
    echo "Would you like to login?";

}
?>

Также существует возможность реализации оперативного реагирования в случае попытки подмены переменных. Так как во время разработки приложения мы знаем ожидаемое значение переменной, а также знаем ее достоверное значение, мы можем их сопоставить. Это не защитит код от подмены переменных, но усложнит перебор возможных вариантов. Если вы не хотите знать, как именно были получены внешние данные, используйте переменную $_REQUEST, которая является смесью из данных GET и POST запросов, а также данных COOKIE. Также, информацию об этом можно найти в разделе внешние данные в PHP.

Пример #3 Обнаружение попытки подмены переменных

<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {

    // MAGIC_COOKIE получена из достоверного источника.
    // Для полной уверенности необходимо проверить ее значение.

} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {

   mail("admin@example.com", "Обнаружена попытка взлома", $_SERVER['REMOTE_ADDR']);
   echo "Обнаружено нарушение безопасности, администратор уведомлен.";
   exit;

} else {

   // MAGIC_COOKIE в данных запроса не присутствует

}
?>

Следует понимать, что установка register_globals в off не сделает ваш код безопасным. Каждую полученную от пользователя переменную следует проверять на соответствие ожидаемому значению. Всегда проверяйте ввод пользователя и инициализируйте все используемые переменные! Для проверки на наличие неинициализированных переменных можно включить в опцию error_reporting() отображение ошибок категории E_NOTICE.

О том, как эмулировать включенное или отключенное состояние register_globals, смотрите этот FAQ.

Замечание: Суперглобальные переменные: замечание о доступности

Начиная с PHP 4.1.0, стали доступными суперглобальные массивы, такие как $_GET, $_POST, $_SERVER и т.д. Дополнительную информацию смотрите в разделе руководства superglobals

Сообщения об ошибках
Данные, введенные пользователем
Безопасность


Данные, введенные пользователем

Наиболее опасные уязвимости во многих PHP-скриптах возникают не столько из-за самого языка, сколько из-за кода, написанного без учета соответствующих требований безопасности. Как следствие, вы всегда должны выделять время на исследование разрабатываемого участка кода, чтобы оценить потенциальную угрозу от ввода переменной с нестандартным значением.

Пример #1 Потенциально опасное использование переменных

<?php
// удалить файлы из домашней директории пользователя...
// а может, из еще какой-нибудь?
unlink ($evil_var);

// записать в лог-файл выполняемое действие...
// а может быть в /etc/passwd?
fwrite ($fp, $evil_var);

// выполнение тривиальных действий... или rm -rf *?
system ($evil_var);
exec ($evil_var);

?>

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

  • Будет ли данный скрипт воздействовать исключительно на предполагаемые данные?
  • Могут ли быть обработаны некорректные или нестандартные данные?
  • Возможно ли использование скрипта непредусмотренным способом?
  • Возможно ли его использование в сочетании с другими скриптами в негативных целях?
  • Будет ли каждая транзакция корректно логирована?

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

Вы также можете рассмотреть отключение таких конфигурационных опций, как register_globals, magic_quotes и некоторых других, которые могут приводить к сомнениям относительно происхождения или значения получаемых переменных. Использование при написании PHP-кода режима error_reporting(E_ALL) может помочь предупредить вас об использовании переменных до инициализации или проверки (что предотвратит работу с данными, отличными от ожидаемых).

Использование глобальных переменных (Register_Globals)
Волшебные кавычки
Безопасность


Волшебные кавычки

Содержание

  • Что такое волшебные кавычки?
  • Зачем мы использовали волшебные кавычки?
  • Почему не надо использовать волшебные кавычки
  • Отключение волшебных кавычек
Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Волшебные кавычки (Magic Quotes) - это процесс автоматического экранирования входящих данных PHP-скрипта. Желательно отключать директиву magic quotes и вместо этого экранировать данные в процессе разработки, если это необходимо.

Данные, введенные пользователем
Что такое волшебные кавычки?
Безопасность


Что такое волшебные кавычки?

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Если эта опция включены, то все символы ' (одиночные кавычки), " (двойные кавычки), \ (обратный слэш) и NULL автоматически экранируются обратным слэшем. Это идентично тому, что делает функция addslashes().

Существует три вида директив волшебных кавычек:

  • magic_quotes_gpc Воздействует на данные HTTP-запроса (GET, POST и COOKIE). Не может быть изменена во время выполнения и по умолчанию в PHP установлена в on. Смотрите также get_magic_quotes_gpc().
  • magic_quotes_runtime Если включена, то большинство функций, которые возвращают данные из внешнего источника, включая базы данных и текстовые файлы, будут экранировать кавычки с помощью обратного слэша. Может быть установлена во время выполнения и по умолчанию в PHP имеет значение off. Смотрите также set_magic_quotes_runtime() и get_magic_quotes_runtime().
  • magic_quotes_sybase Если включено, то одиночная кавычка экранируется одиночной кавычкой вместо обратного слэша. Если установлено значение on, то данная опция полностью перекрывает установку magic_quotes_gpc. В случае, если включены обе директивы, выполняется экранирование только одиночных кавычек с помощью ''. Двойные кавычки, обратные слэши, значение NULL останутся нетронутыми и неэкранированными. Смотрите также ini_get() для получения установленного значения.
Волшебные кавычки
Зачем мы использовали волшебные кавычки?
Волшебные кавычки


Зачем мы использовали волшебные кавычки?

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

  • Нет смысла использовать волшебные кавычки, так как они больше не поддерживаются PHP. Однако, во время своего существования они помогали некоторым новичкам писать лучший (более безопасный) код даже не подозревая об этом. Но теперь, если вы работаете с кодом, который полагается на это поведение, лучшим выходом будет избавить код от этой зависимости вместо включения волшебных кавычек. Так зачем это вообще было добавлено? Ответ довольно прост - SQL-инъекции. Современные программисты лучше осведомлены в вопросах безопасности и вместо слепого включения волшебных кавычек используют специфичные механизмы экранирования для используемой ими базы данных и/или подготовленные запросы (prepared statements).
Что такое волшебные кавычки?
Почему не надо использовать волшебные кавычки
Волшебные кавычки


Почему не надо использовать волшебные кавычки

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

  • Переносимость Возможность присваивания значений on или off сказывается на переносимости. Используйте get_magic_quotes_gpc() для проверки и пишите код соответствующим образом.
  • Производительность Так как не все экранируемые данные заносятся в базу данных, то присутствует потеря производительности при экранировании всех данных. Простой вызов экранирующих функций (например, addslashes()) во время выполнения более эффективен. Хотя в php.ini-development эти директивы по умолчанию включены, в php.ini-production они отключены. Эта рекомендация соответствует, в основном, причинам производительности.
  • Неудобство Так как не все данные должны быть экранированы, то часто досадно видеть экранированные данные там, где этого не должно быть. Например, при отправке письма из формы можно наблюдать связку \' в самом письме. Для того, чтобы это исправить, требуется дополнительно использовать stripslashes().
Зачем мы использовали волшебные кавычки?
Отключение волшебных кавычек
Волшебные кавычки


Отключение волшебных кавычек

Директиву magic_quotes_gpc можно отключить только на системном уровне и нельзя во время выполениня. Другими словами, использование ini_set() не даст никакого эффекта.

Пример #1 Отключение волшебных кавычек на сервере

Ниже указан пример, где показана установка значения Off в php.ini для этих директив. Для дополнительной информации читайте раздел руководства под названием " Как изменять параметры конфигурации".

; Волшебные кавычки
;

; Волшебные кавычки для входных данных GET/POST/Cookie.
magic_quotes_gpc = Off

; Волшебные кавычки для данных, поступающих во время выполнения (например, данные из SQL, из exec() и т.д).
magic_quotes_runtime = Off

; Использование волшебных кавычек в стиле Sybase (экранирование ' с помощью '' вместо \').
magic_quotes_sybase = Off

Если доступ к конфигурации на сервере невозможен, используйте .htaccess в качестве альтернативы. Например:

php_flag magic_quotes_gpc Off

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

Пример #2 Отключение волшебных кавычек во время выполнения скрипта

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

Почему не надо использовать волшебные кавычки
Сокрытие PHP
Волшебные кавычки


Сокрытие PHP

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

Несколько несложных методик могут помочь вам скрыть PHP, что усложняет работу потенциального взломщика, который пытается найти брешь в вашей системе. Установив опцию expose_php в off в конфигурационном файле php.ini, вы уменьшите количество доступной хакеру информации.

Еще одна методика заключается в настройке веб-сервера таким образом, чтобы он обрабатывал файлы с различными расширениями как PHP-скрипты. Это можно указать как в .htaccess файлах, так и конфигурационном файле Apache. В таком случае вы сможете использовать при написании кода нестандартные расширения:

Пример #1 Маскировка PHP под другие языки программирования

# Теперь PHP-скрипты могут иметь те же расширения, что и другие языки программирования
AddType application/x-httpd-php .asp .py .pl
Или скрыть его совсем:

Пример #2 Использование неизвестных расширений для PHP-скриптов

# Теперь PHP-скрипты могут иметь неизвестные типы файлов
AddType application/x-httpd-php .bop .foo .133t
Также можно спрятать его под видом HTML-кода, что приведет к потере производительности, так как все HTML файлы будут обрабатываться как PHP-код:

Пример #3 Маскировка PHP-кода под HTML-файлы

# Теперь PHP-скрипты выглядят как обыкновенный HTML
AddType application/x-httpd-php .htm .html
Чтобы достичь желаемого эффекта, вы должны переименовать все ваши PHP-скрипты в соответствии с выбранным вами расширением. Описанное в этом разделе документации повышение безопасности через сокрытие является небольшой превентивной мерой при малых затратах.

Отключение волшебных кавычек
Необходимость обновлений
Безопасность


Необходимость обновлений

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

Как и в других программах и языках программирования, рекомендуется регулярно обновлять PHP и быть в курсе изменений, сделанных в последних версиях.

Сокрытие PHP
Отличительные особенности
Безопасность


Отличительные особенности

  • HTTP-аутентификация в PHP
  • Cookies
  • Сессии
  • Работа с XForms
  • Загрузка файлов на сервер
    • Загрузка файлов методом POST
    • Разъяснение сообщений об ошибках
    • Наиболее распространенные ошибки
    • Загрузка на сервер нескольких файлов
    • Поддержка метода PUT
  • Работа с удаленными файлами
  • Работа с соединениями
  • Постоянные соединения с базами данных
  • Безопасный режим
    • Безопасность и безопасный режим
    • Ограниченные или недоступные в безопасном режиме функции
  • Использование PHP в командной строке
    • Введение
    • Основные отличия от остальных реализаций SAPI
    • Опции — Список опций командной строки
    • Использование — Выполнение PHP-файлов
    • Потоки ввода/вывода
    • Интерактивная консоль
    • Встроенный web-сервер
  • Сборка мусора
    • Основы подсчета ссылок
    • Сбор циклических ссылок
    • Вопросы производительности
Необходимость обновлений
HTTP-аутентификация в PHP
Руководство по PHP


HTTP-аутентификация в PHP

Возможно использовать функцию header() для посылки сообщения "Authentication Required" браузеру, заставив его показать окошко для ввода логина и пароля. Как только пользователь заполнит логин и пароль, ссылка, содержащая PHP-скрипт будет вызвана еще раз с предопределенными переменными PHP_AUTH_USER, PHP_AUTH_PW, и AUTH_TYPE, установленными в логин, пароль и тип аутентификации соответственно. Эти предопределенные переменные хранятся в массивах $_SERVER и $HTTP_SERVER_VARS. Поддерживаются оба типа: "Basic" и "Digest" (начиная с версии PHP 5.1.0). Подробнее смотрите функцию header().

Замечание: Замечание касательно версии PHP

Cуперглобальные переменные, такие как $_SERVER, доступны, начиная с » 4.1.0.

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

Пример #1 Пример Basic HTTP-аутентификации

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Текст, отправляемый в том случае,
    если пользователь нажал кнопку Cancel';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>

Пример #2 Пример Digest HTTP-аутентификации

Это пример реализации простого скрипта Digest HTTP-аутентификации. За подробностями обращайтесь к » RFC 2617.

<?php
$realm = 'Запретная зона';

//user => password
$users = array('admin' => 'mypass', 'guest' => 'guest');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Digest realm="'.$realm.
           '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');

    die('Текст, посылаемый, если пользователь нажал Cancel');
}

// анализируем переменную PHP_AUTH_DIGEST
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
    !isset($users[$data['username']]))
    die('Неправильные данные!');

// генерируем корректный ответ
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);

if ($data['response'] != $valid_response)
    die('Неправильные данные!');

// ok, логин и пароль верны
echo 'Вы вошли как: ' . $data['username'];

// функция разбора заголовка http auth
function http_digest_parse($txt)
{
    // защита от отсутствующих данных
    $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
    $data = array();
    $keys = implode('|', array_keys($needed_parts));

    preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);

    foreach ($matches as $m) {
        $data[$m[1]] = $m[3] ? $m[3] : $m[4];
        unset($needed_parts[$m[1]]);
    }

    return $needed_parts ? false : $data;
}
?>

Замечание: Замечание касательно совместимости

Будьте особенно внимательны при указании HTTP-заголовков. Для того, чтобы гарантировать максимальную совместимость с наибольшим количеством различных клиентов, слово "Basic" должно быть написано с большой буквы "B", регион (realm) должен быть взят в двойные (не одинарные!) кавычки, и ровно один пробел должен предшествовать коду 401 в заголовке HTTP/1.0 401. Параметры аутентификации должны разделяться запятыми, как это было показано в примере Digest аутентификации выше.

Вместо простого отображения на экране переменных PHP_AUTH_USER и PHP_AUTH_PW, вам, возможно, понадобится проверить их корректность. Используйте для этого запрос к базе данных или поиск пользователя в dbm-файле.

Вы можете пронаблюдать особенности работы браузера Internet Explorer. Он очень требователен к параметру передаваемых заголовков. Трюк с указанием заголовка WWW-Authenticate перед отправкой статуса HTTP/1.0 401 пока что работает для него.

Начиная с PHP 4.3.0, для того, чтобы предотвратить написание кем-либо скрипта, раскрывающего пароль к странице, которая использует внешнюю аутентификацию, переменные PHP_AUTH не устанавливаются в случае, если данная страница использует внешнюю аутентификацию и установлен безопасный режим. Несмотря на это, переменная REMOTE_USER может использоваться для аутентификации пользователя, прошедшего внешнюю аутентификацию. Таким образом, вы всегда можете воспользоваться переменной $_SERVER['REMOTE_USER'].

Замечание: Замечание касательно конфигурации

PHP использует указание директивы AuthType для указания того, используется внешняя аутентификация или нет.

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

И Netscape Navigator и Internet Explorer очищают кэш аутентификации текущего окна для заданного региона (realm) при получении от сервера. Это может использоваться для реализации принудительного выхода пользователя и повторного отображения диалогового окна для ввода имени пользователя и пароля. Некоторые разработчики используют это для ограничения авторизации по времени или для предоставления кнопки "Выход".

Пример #3 Пример HTTP-аутентификации с принудительным вводом новой пары логин/пароль

<?php
function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Вы должны ввести корректный логин и пароль для получения доступа к ресурсу \n";
    exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||
    ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authenticate();
} else {
    echo "<p>Добро пожаловать: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Предыдущий логин: " . htmlspecialchars($_REQUEST['OldAuth']);
    echo "<form action='' method='post'>\n";
    echo "<input type='hidden' name='SeenBefore' value='1' />\n";
    echo "<input type='hidden' name='OldAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Авторизоваться повторно' />\n";
    echo "</form></p>\n";
}
?>

Это поведение не регламентируется стандартами HTTP Basic-аутентификации, следовательно, вы не должны зависеть от этого. Тестирование браузера Lynx показало, что Lynx не очищает кэш авторизации при получении от сервера статуса 401, и, нажав последовательно "Back", а затем "Forward" возможно открыть такую страницу, при условии, что требуемые атрибуты авторизации не изменились. Однако, пользователь может нажать клавишу '_' для очистки кеша аутентификации.

Также следует заметить, что до версии PHP 4.3.3, HTTP-аутентификация не работала на серверах под управлением Microsoft IIS, если PHP был установлен как CGI-модуль, в силу некоторых ограничений IIS. Для того, чтобы добиться корректной работы в PHP 4.3.3+, вы должны отредактировать конфигурационную настройку IIS под названием "Directory Security". Щелкните на надписи "Edit" и установите опцию "Anonymous Access", все остальные поля должны остаться неотмеченными.

Еще одно ограничение, если вы используете IIS посредством ISAPI и PHP 4: переменные PHP_AUTH_* не определены, но в то же время доступна переменная HTTP_AUTHORIZATION. Пример кода, который вы могли бы использовать: list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

Замечание: Замечание касательно IIS:
Для того, чтобы HTTP-аутентификация корректно работала в IIS, в конфигурации PHP опция cgi.rfc2616_headers должна быть установлена значением 0 (значение по умолчанию).

Замечание:

В случае, если используется безопасный режим, UID текущего скрипта будет добавлен в realm-часть заголовка WWW-Authenticate.

Отличительные особенности
Cookies
Отличительные особенности


Cookies

PHP прозрачно поддерживает HTTP cookies. Cookies - это механизм хранения данных броузером удаленной машины для отслеживания или идентификации возвращающихся посетителей. Вы можете установить cookies при помощи функций setcookie() или setrawcookie(). Cookies являются частью HTTP-заголовка, поэтому setcookie() должна вызываться до любого вывода данных в броузер. Это то же самое ограничение, которое имеет функция header(). Вы можете использовать функции буферизации вывода, чтобы задержать вывод результатов работы скрипта до того момента, когда будет известно, понадобится ли установка cookies или других заголовков.

Любые cookies, отправленные серверу броузером клиента, будут автоматически включены в суперглобальный массив $_COOKIE, если директива variables_order содержит букву "C". Для назначения нескольких значений одной cookie, просто добавьте [] к её имени.

В зависимости от значения опции register_globals, cookies могут быть представлены обычными PHP-переменными. Однако рекомендуется не полагаться на эту возможность, так как она обычно отключена в целях безопасности. В более ранних версиях также определяется массив $HTTP_COOKIE_VARS, но только когда включена директива track_vars. (Эта директива всегда включена начиная с версии PHP 4.0.3.)

Дополнительная информация, в том числе и особенности реализации браузеров, приведена в описании функций setcookie() и setrawcookie().

HTTP-аутентификация в PHP
Сессии
Отличительные особенности


Сессии

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

Cookies
Работа с XForms
Отличительные особенности


Работа с XForms

» XForms являются альтернативой традиционным веб-формам, и позволяют использовать их на множестве платформ и браузеров, а также реализовывать нестандартные представления форм, например, в виде PDF-документа.

Первое существенное отличие XForms заключается в том, как форма отсылается клиенту. Руководство » XForms for HTML Authors содержит детальное описание создания XForms. Для того, чтобы очертить основную идею руководства, приведем несколько простых примеров.

Пример #1 Простая поисковая форма XForms

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

Приведенная выше форма отображает текстовое поле для ввода (названное q) и кнопку для отправки формы, при нажатии на которую все введенные данные будут отправлены скрипту, указанному в поле action.

Тут мы подошли к еще одному существенному различию с точки зрения вашего веб-приложения. Стандартная HTML-форма отправляет данные как application/x-www-form-urlencoded, а XForms для передачи данных использует разметку XML.

Если вы решили работать с XForms, скорее всего вы захотите получить отправленные пользователем данные в формате XML. В таком случае обратите внимание на переменную $HTTP_RAW_POST_DATA, в ней содержится XML-документ, сгенерированный браузером, который в дальнейшем можно обработать предпочитаемым вами движком XSLT или парсером документа.

Если разметка вас не интересует, и вы хотите, чтобы передаваемые данные были помещены в стандартный массив $_POST, вы можете указать клиентскому браузеру на необходимость отправлять данные в формате application/x-www-form-urlencoded. Для этого установите атрибут method значением urlencoded-post.

Пример #2 Использование XForm совместно с массивом $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

Замечание: В дополнение к вышесказанному следует заметить, что большое количество браузеров не поддерживают XForms. Если приведенные примеры потерпели неудачу, проверьте версию используемого вами браузера.

Сессии
Загрузка файлов на сервер
Отличительные особенности


Загрузка файлов на сервер

Содержание

  • Загрузка файлов методом POST
  • Разъяснение сообщений об ошибках
  • Наиболее распространенные ошибки
  • Загрузка на сервер нескольких файлов
  • Поддержка метода PUT
Работа с XForms
Загрузка файлов методом POST
Отличительные особенности


Загрузка файлов методом POST

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

PHP способен получать загруженные файлы из любого браузера, совместимого со стандартом RFC-1867.

Замечание: Смежные замечания по конфигурации

Также ознакомьтесь с описанием директив file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size и max_input_time конфигурационного файла php.ini

Также следует заметить, что PHP поддерживает загрузку файлов методом PUT, который используется в клиентах Netscape Composer и W3C Amaya. Для получения более детальной документации обратитесь к разделу поддержка метода PUT

Пример #1 Форма для загрузки файлов

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

<!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

В приведенном выше примере __URL__ необходимо заменить ссылкой на PHP-скрипт.

Скрытое поле MAX_FILE_SIZE (значение необходимо указывать в байтах) должно предшествовать полю для выбора файла, и его значение является максимально допустимым размером принимаемого файла в PHP. Рекомендуется всегда использовать эту переменную, так как она предотвращает тревожное ожидание пользователей при передаче огромных файлов, только для того, чтобы узнать, что файл слишком большой и передача фактически не состоялась. Помните, обойти это ограничение на стороне браузера достаточно просто, следовательно, вы не должны полагаться на то, что все файлы большего размера будут блокированы при помощи этой возможности. Это по большей части удобная возможность для пользователей клиентской части вашего приложения. Тем не менее, настройки PHP (на сервере) касательно максимального размера обойти невозможно.

Замечание:

Также следует убедиться, что в атрибутах формы вы указали enctype="multipart/form-data", в противном случае загрузка файлов на сервер выполняться не будет.

Суперглобальный массив $_FILES доступен начиная с PHP 4.1.0 (В более ранних версиях используйте вместо него $HTTP_POST_FILES). Эти массивы будут содержать всю информацию о загруженных файлах.

Содержимое массива $_FILES для нашего примера приведено ниже. Обратите внимание, что здесь предполагается использование имени userfile для поля выбора файла, как и в приведенном выше примере. На самом деле имя поля может быть любым.

$_FILES['userfile']['name']

Оригинальное имя файла на компьютере клиента.

$_FILES['userfile']['type']

Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif". Этот mime-тип не проверяется в PHP, так что не полагайтесь на его значение без проверки.

$_FILES['userfile']['size']

Размер в байтах принятого файла.

$_FILES['userfile']['tmp_name']

Временное имя, с которым принятый файл был сохранен на сервере.

$_FILES['userfile']['error']

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

По умолчанию принятые файлы сохраняются на сервере в стандартной временной папке до тех пор, пока не будет задана другая директория при помощи директивы upload_tmp_dir конфигурационного файла php.ini. Директорию сервера по умолчанию можно сменить, установив переменную TMPDIR для окружения, в котором выполняется PHP. Установка этой переменной при помощи функции putenv() внутри PHP-скрипта работать не будет. Эта переменная окружения также может использоваться для того, чтобы удостовериться, что другие операции также работают с принятыми файлами.

Пример #2 Проверка загружаемых на сервер файлов

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

<?php
// В PHP 4.1.0 и более ранних версиях следует использовать $HTTP_POST_FILES
// вместо $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл корректен и был успешно загружен.\n";
} else {
    echo "Возможная атака с помощью файловой загрузки!\n";
}

echo 'Некоторая отладочная информация:';
print_r($_FILES);

print "</pre>";

?>

PHP-скрипт, принимающий загруженный файл, должен реализовывать логику, необходимую для определения дальнейших действий над принятым файлом. Например, вы можете проверить переменную $_FILES['userfile']['size'], чтобы отсечь слишком большие или слишком маленькие файлы. Также вы можете использовать переменную $_FILES['userfile']['type'] для исключения файлов, которые не удовлетворяют критерию касательно типа файла, однако, принимайте во внимание, что это поле полностью контролируется клиентом, используйте его только в качестве первой из серии проверок. Начиная с PHP 4.2.0, вы можете использовать $_FILES['userfile']['error'] и коды ошибок при реализации вашей логики. Независимо от того, какую модель поведения вы выбрали, вы должны удалить файл из временной папки или переместить его в другую директорию.

В случае, если при отправке формы файл выбран не был, PHP установит переменную $_FILES['userfile']['size'] значением 0, а переменную $_FILES['userfile']['tmp_name'] - пустой строкой. none.

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

Пример #3 Загрузка массива файлов

PHP поддерживает возможность передачи массива из HTML в том числе и с файлами.

<form action="" method="post" enctype="multipart/form-data">
<p>Изображения:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Отправить" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

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

Загрузка файлов на сервер
Разъяснение сообщений об ошибках
Загрузка файлов на сервер


Разъяснение сообщений об ошибках

Начиная с PHP 4.2.0, PHP возвращает код ошибки наряду с другими атрибутами принятого файла. Он расположен в массиве, создаваемом PHP при загрузке файла, и может быть получен при обращении по ключу error. Говоря другими словами, код ошибки можно найти в переменной $_FILES['userfile']['error'].

UPLOAD_ERR_OK

Значение: 0; Ошибок не возникло, файл был успешно загружен на сервер.

UPLOAD_ERR_INI_SIZE

Значение: 1; Размер принятого файла превысил максимально допустимый размер, который задан директивой upload_max_filesize конфигурационного файла php.ini.

UPLOAD_ERR_FORM_SIZE

Значение: 2; Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.

UPLOAD_ERR_PARTIAL

Значение: 3; Загружаемый файл был получен только частично.

UPLOAD_ERR_NO_FILE

Значение: 4; Файл не был загружен.

UPLOAD_ERR_NO_TMP_DIR

Значение: 6; Отсутствует временная папка. Добавлено в PHP 4.3.10 и PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Значение: 7; Не удалось записать файл на диск. Добавлено в PHP 5.1.0.

UPLOAD_ERR_EXTENSION

Значение: 8; PHP-расширение остановило загрузку файла. PHP не предоставляет способа определить какое расширение остановило загрузку файла; в этом может помочь просмотр списка загруженных расширений из phpinfo(). Добавлено в PHP 5.2.0.

Замечание:

Константы были добавлены в PHP 4.3.0.

Загрузка файлов методом POST
Наиболее распространенные ошибки
Загрузка файлов на сервер


Наиболее распространенные ошибки

Опция MAX_FILE_SIZE не должна позволять передачу файлов, размер которых превышает лимит, установленный конфигурационной директивой upload_max_filesize в php.ini. Ограничение по умолчанию составляет 2 мегабайта.

В случае, если установлены ограничения памяти, вам может понадобиться увеличить значение опции memory_limit. Убедитесь в том, что значение memory_limit достаточно велико.

В случае, если опция max_execution_time установлена слишком маленьким значением, необходимое время работы скрипта может превышать это значение. Убедитесь в том, что значение max_execution_time достаточно велико.

Замечание: Директива max_execution_time only касается исключительно времени, используемого непосредственно самим скриптом. Время, потраченное на внешние действия, такие как системные вызовы при помощи функции system() или sleep(), обращения к базе данных, а также время, потраченное на загрузку файла и другие действия, происходящие вне скрипта, не учитываются при определении максимально допустимого промежутка времени, отведенного для выполнения скрипта.

Внимание

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

Если директива post_max_size слишком мала, большие файлы не смогут быть загружены на сервер. Убедитесь, что значение директивы post_max_size достаточно велико.

Начиная с версии PHP 5.2.12, опция max_file_uploads контролирует максимальное количество загружаемых файлов в течение одного запроса. Если загружается большее количество файлов, чем указано в этом ограничении, то массив $_FILES прекратит дальнейшую обработку файлов по достижении этого ограничения. Например, если max_file_uploads установлено в 10, то $_FILES никогда не будет содержать больше 10 элементов.

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

Следут заметить, что CERN httpd может отсечь все, что идет после первого пробела в получаемом от клиента заголовке content-type. Если у вас именно такой случай, CERN httpd не сможет корректно загрузить файлы.

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

Разработчики не должны использовать одинаковые имена для обычных полей ввода (тег input) и полей выбора файла в пределах одной и той же формы (например, используя имя для тега input наподобие foo[]).

Разъяснение сообщений об ошибках
Загрузка на сервер нескольких файлов
Загрузка файлов на сервер


Загрузка на сервер нескольких файлов

Загрузку нескольких файлов можно реализовать используя, например, различные значения name для тега input.

Также можно одновременно загружать несколько файлов и автоматически получить их в виде массива. Для реализации такой возможности используйте тот же синтаксис отправки массива из HTML-формы, что и для множественных полей select и checkbox:

Пример #1 Загрузка нескольких файлов

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

В случае, если такая форма была отправлена, массивы $_FILES['userfile'], $_FILES['userfile']['name'], и $_FILES['userfile']['size'] будут инициализированы (точно так же, как и $HTTP_POST_FILES для PHP 4.1.0 и более ранних версий). Если включена конфигурационная директива register_globals, также будут инициализированы сопутствующие глобальные переменные. Каждая из таких переменных будет представлять собой численно индексированный массив соответствующих значений для принятых файлов.

Например, предположим, что были загружены файлы /home/test/review.html и /home/test/xwp.out. В таком случае переменная $_FILES['userfile']['name'][0] будет установлена значением review.html, а переменная $_FILES['userfile']['name'][1] - значением xwp.out. Аналогично, переменная $_FILES['userfile']['size'][0] будет содержать размер файла review.html и так далее.

Переменные $_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0] и $_FILES['userfile']['type'][0] также будут инициализированы.

Внимание

Начиная с версии PHP 5.2.12, конфигурационная директива max_file_uploads регулирует лимит одновременно загружаемых файлов в течение одного запроса. Вам необходимо будет убедиться, что ваша форма не пытается загрузить файлов больше этого лимита за один запрос.

Наиболее распространенные ошибки
Поддержка метода PUT
Загрузка файлов на сервер


Поддержка метода PUT

PHP поддерживает загрузку файлов методом HTTP PUT, который используется в некоторых клиентах для загрузки файлов на сервер. Запросы PUT намного проще, чем обыкновенная POST загрузка файла на сервер и выглядят примерно так:

PUT /path/filename.html HTTP/1.1

Такой вызов означает, что удаленный клиент хотел бы сохранить файл под именем /path/filename.html в дереве каталогов вашего веб-сервера. Очевидно, что возможность клиента автоматически перезаписывать файлы веб-сервера при помощи Apache или PHP не является хорошим решением. Поэтому для того, чтобы обрабатывать такие запросы, вам необходимо указать веб-серверу PHP-скрипт, которому вы доверяете их обработку. В веб-сервере Apache вы можете сделать это, используя директиву Script. Как правило, эта директива расположена внутри блока <Directory> или же внутри блока <VirtualHost>. Сама запись выглядит следующим образом:

Script PUT /put.php

Это указывает веб-серверу Apache на необходимость перенаправлять все PUT-запросы, контекст которых совпадает с контекстом, в которым вы разместили эту строку, в файл put.php. Предполагается, что файлы с расширением .php обрабатываются, как PHP-скрипты, и что сам PHP установлен и работает. Ресурсом назначения для всех PUT-запросов на этот скрипт должен быть сам скрипт, а не имя файла, которое должен иметь загружаемый файл.

Внутри вашего файла put.php file вы можете поместить что-нибудь похожее на следующий пример. Он скопирует содержимое загруженного файла в файл myputfile.ext на сервер. Возможно, вам понадобится осуществить несколько проверок и/или авторизовать пользователя перед выполнением копирования этого файла.

Пример #1 Saving HTTP PUT files

<?php
/* PUT данные приходят в потоке ввода stdin */
$putdata = fopen("php://input", "r");

/* Открываем файл на чтение */
$fp = fopen("myputfile.ext", "w");

/* Читаем 1 KB данных за один раз
   и пишем в файл */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);

/* Закрываем потоки */
fclose($fp);
fclose($putdata);
?>

Загрузка на сервер нескольких файлов
Работа с удаленными файлами
Загрузка файлов на сервер


Работа с удаленными файлами

В случае, если опция allow_url_fopen включена в конфигурационном файле php.ini, вы можете использовать HTTP и FTP ссылки в большинстве функций, принимающих в качестве параметра имя файла. Также вы можете использовать ссылки в операторах include(), include_once(), require() и require_once() (начиная с версии PHP 5.2.0 для корректной работы этих функций должна быть включена опция allow_url_include ). Дополнительную информацию о поддерживаемых в PHP протоколах вы можете найти в Поддерживаемые протоколы и обработчики (wrappers).

Замечание:

В 4.0.3 и более ранних версиях при сборке необходимо использовать опцию --enable-url-fopen-wrapper для активации возможности работать с удаленными файлами.

Замечание:

Дистрибутивы PHP для Windows-платформ до версии 4.3 не поддерживают возможности работы с удаленными файлами для следующих операторов: include(), include_once(), require(), require_once(), и функций вида imagecreatefromXXX в расширении GD и функции для работы с изображениями Функции.

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

Пример #1 Получение заголовка удаленной страницы

<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* Сработает, только если заголовок и сопутствующие теги расположены в одной строке */
    if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

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

Для того, что бы авторизироваться под пользователем, отличным от 'anonymous', вам необходимо указать логин (и, возможно, пароль) в адресной строке, например так: 'ftp://user:password@ftp.example.com/path/to/file'. (Вы можете использовать этот же синтаксис для доступа к удаленным файлам по HTTP-протоколу, если необходима Basic-авторизация.)

Пример #2 Сохранение данных на удаленном сервере

<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
    echo "<p>Unable to open remote file for writing.\n";
    exit;
}
/* Запись данных. */
fwrite ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Замечание:

Глядя на приведенный выше пример, у вас может возникнуть идея использовать эту технику для ведения удаленного лог-файла. К сожалению, это нереализуемо, поскольку попытка записи в уже существующий удаленный файл при помощи функции fopen() приведет к ошибке. В реализации распределенного логирования, возможно, вам поможет функция syslog().

Поддержка метода PUT
Работа с соединениями
Отличительные особенности


Работа с соединениями

Статус соединения сохраняется внутренними механизмами PHP. Ниже перечислены три возможные состояния:

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT

Во время штатного выполнения PHP-скрипта установлен статус NORMAL. В случае, если удаленный клиент разорвал соединение, статус изменяется на ABORTED. Чаще всего отсоединение удаленного клиента происходит при нажатии кнопки "Stop" в браузере. В случае, если достигается установленный временной лимит (ознакомьтесь с функцией set_time_limit()), будет установлен статус TIMEOUT.

Вы можете решать, приводит ли отключение клиента к завершению вашего скрипта. Иногда бывает необходимо, чтобы скрипт выполнился до конца, даже если отсутствует удаленный браузер, которому адресован весь вывод. По умолчанию скрипт завершает свою работу при отключении клиента. Это поведение может быть изменено при помощи опции ignore_user_abort в конфигурационном файле php.ini. Такого же результата можно добиться, указав php_value ignore_user_abort в конфигурационном файле Apache httpd.conf или воспользовавшись функцией ignore_user_abort(). Если вы явно не указали на необходимость игнорировать разрыв соединения с клиентом, выполнение скрипта будет прервано. Исключением является тот случай, если используя register_shutdown_function(), вы указали специальную функцию, вызываемую при завершении скрипта. В таком случае после того, как пользователь нажал кнопку "Stop" в своем браузере, при первой же попытке что-либо вывести PHP обнаруживает, что соединение с клиентом было утеряно, и вызывает завершающую функцию. Эта функция также вызывается при нормальном завершении работы вашего скрипта, поэтому для того, чтобы выполнить некоторые специфические действия при отсоединении клиента, вам понадобится функция connection_aborted(), которая возвращает TRUE, если соединение было разорвано.

Выполнение вашего скрипта также может быть прервано встроенным таймером. Стандартное ограничение по времени составляет 30 секунд, изменить его можно при помощи директивы max_execution_time в конфигурационном файле php.ini. Такого же результата можно достичь, добавив php_value max_execution_time в конфигурационный файл Apache httpd.conf или воспользовавщись функцией set_time_limit(). При достижении скриптом временного лимита выполнение скрипта прерывается и вызывается завершающая функция, если она была указана. Уточнить причину завершения скрипта вы можете при помощи функции connection_status(), которая возвращает 2, если скрипт был прерван по достижению временного ограничения.

Единственное, что следует заметить - что оба статуса: ABORTED и TIMEOUT,- могут быть установлены одновременно. Это может произойти в том случае, если вы явно указали необходимость игнорировать отсоединение удаленного клиента. В таком случае после разрыва соединения, отметив этот факт, PHP продолжит выполнение скрипта, и при достижении временного лимита будет вызвана завершающая функция, если таковая была указана. В этой точке вы можете обнаружить, что connection_status() вернет значение 3.

Работа с удаленными файлами
Постоянные соединения с базами данных
Отличительные особенности


Постоянные соединения с базами данных

Постоянные соединения представляют собой связи с базами данных, которые не закрываются при завершении скрипта. При получении запроса на постоянное соединение PHP вначале проверяет, имеется ли идентичное постоянное соединение (которое было открыто при предыдущих обращениях) и, если таковое было найдено, использует его. В случае, если идентичного соединения нет, PHP создает новое. Под "идентичным" подразумевается соединение, открытое на тот же хост с таким же именем пользователя и паролем (если они указаны).

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

Почему?

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

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

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

Третий способ - использовать PHP в качестве плагина в многопоточном веб-сервере. В настоящее время в PHP4 реализована поддержка ISAPI, WSAPI, и NSAPI (для Windows-платформ), которые позволяют подключать PHP к таким многопоточным серверам, как Netscape FastTrack (iPlanet), Microsoft's Internet Information Server (IIS) и O'Reilly WebSite Pro. В этом случае поведение PHP полностью аналогично рассмотренной ранее модели с использованием нескольких процессов.

Если постоянные соединения не предоставляют никакой дополнительной функциональности, чем же они тогда так хороши?

Ответ содержится в повышении эффективности. Постоянные соединения полезны в том случае, если при открытии большого количества SQL-соединений возникает ощутимая нагрузка на сервер. То, насколько велика эта нагрузка, зависит от многих факторов. Например, от того, какая именно база данных используется, находится ли она на том же компьютере что и ваш веб-сервер, насколько загружена машина, на которой установлен SQL-сервер, и так далее. В случае, если затраты на установку соединения велики, постоянные соединения могут вам существенно помочь. Они позволяют дочернему процессу на протяжении всего жизненного цикла использовать одно и то же соединение вместо того, чтобы создавать его при обработке каждой страницы, которая взаимодействует с SQL-сервером. Это означает, что каждый дочерний процесс, открывший постоянное соединение, будет иметь свое собственное соединение с сервером. Например, если у вас запущено 20 дочерних процессов, которые выполнили скрипт, использовавший постоянное соединение с SQL-сервером, вы получите 20 различных соединений с SQL-сервером, по одному на каждый дочерний процесс.

Следует заметить, что этот подход имеет некоторые недостатки: если вы используете базу данных с ограниченным количеством возможных подключений, оно может быть превышено количеством запрашиваемых дочерними процессами постоянных соединений. Например, если ваша база данных позволяет 16 одновременных соединений, и во время нагрузки на сервер 17 дочерних процессов попробуют открыть соединение, одна из попыток потерпит неудачу. Если в вашем коде содержатся ошибки, не позволяющие закрывать соединение (например, бесконечные циклы), база данных с 32 одновременными подключениями вскоре может оказаться заблокированной. Информацию о том, как обрабатывать открытые и неиспользумые соединения, вы можете найти в документации к вашей базе данных

Внимание

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

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

Смотрите также fbsql_pconnect(),
ibase_pconnect(), ifx_pconnect(),
ingres_pconnect(),
msql_pconnect(), mssql_pconnect(),
mysql_pconnect(), ociplogon(),
odbc_pconnect(), oci_pconnect(),
pfsockopen(), pg_pconnect(), and
sybase_pconnect().

Работа с соединениями
Безопасный режим
Отличительные особенности


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

Содержание

  • Безопасность и безопасный режим
  • Ограниченные или недоступные в безопасном режиме функции

Безопасный режим в PHP - это попытка решить проблему безопасности на совместно используемых серверах. Несмотря на то, что концептуально неверно решать эту проблему на уровне PHP, но поскольку альтернативы уровня веб-сервера или операционной системы на сегодняшний день отсутствуют, многие пользователи, особенно провайдеры, используют именно защищенный режим.

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Постоянные соединения с базами данных
Безопасность и безопасный режим
Отличительные особенности


Безопасность и безопасный режим

Конфигурационные опции, управляющие безопасным режимом и вопросами безопасности
Имя | Значение по умолчанию | Изменяемость | История изменений
safe_mode | "0" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Доступно начиная с версии PHP 4.1.0. Удалена в версии PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Доступно начиная с версии PHP 4.1.0. Удалена в версии PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_allowed_env_vars | PHP_ | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

safe_mode boolean

Включает/отключает безопасный режим в PHP. Если PHP скомпилирован с опцией --enable-safe-mode, то по умолчанию принимает значение On (включено), иначе - Off (выключено).

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

safe_mode_gid boolean

По умолчанию в безопасном режиме при открытии файла выполняется проверка значения UID. Для того, чтобы немного смягчить это условие и выполнять проверку GID, необходимо установить значение on для флага safe_mode_gid. Определяет, использовать ли проверку UID (FALSE) или GID (TRUE) проверку при обращении к файлу.

safe_mode_include_dir string

При подключении файлов, расположенных в указанной директории и всех ее подкаталогах, проверка на соответствие значений UID/GID не выполняется (в случае, если установленная директория не указана в include_path, необходимо указывать полный путь при включении).

Начиная с PHP 4.2.0 значением этой директивы может быть список каталогов, разделенных двоеточием (точкой с запятой на Windows-системах), что аналогично синтаксису include_path. Указанное значение в действительности является префиксом, а не названием директории. Это означает, что запись "safe_mode_include_dir = /dir/incl" позволяет подключать файлы, находящиеся в директориях "/dir/include" и "/dir/incls", в случае, если они существуют. Если вы хотите указать доступ к конкретной директории, используйте завершающий слэш, например: "safe_mode_include_dir = /dir/incl/" Если значение этой директивы пусто, то никакие файлы с отличающимися UID/GID не могут быть подключены в версии PHP 4.2.3 и начиная с версии PHP 4.3.3. В более ранних версиях подключались все файлы.
safe_mode_exec_dir string

В случае, когда PHP работает в безопасном режиме, system() и другие функции запуска программ отклоняют выполнение программ, находящихся вне данной директории. Вам также придется использовать / в качестве разделителя пути на всех окружениях, включая Windows.

safe_mode_allowed_env_vars string

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

Замечание:

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

safe_mode_protected_env_vars string

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

Смотрите также: open_basedir, disable_functions, disable_classes, register_globals, display_errors, и log_errors

В случае, если включена директива safe_mode, PHP проверит, совпадает ли владелец скрипта и владелец файла или директории, которыми оперирует скрипт. Например:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
Выполнение скрипта script.php
<?php
 readfile('/etc/passwd');
?>
в случае использования безопасного режима приводит к следующей ошибке:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

Тем не менее, предусмотрена возможность вместо проверки на соответствие UID использовать более мягкую проверку на соответствие GID. Для этого необходимо использовать директиву safe_mode_gid. В случае, если она установлена значением On, используется более мягкая проверка GID. В противном случае, если установлено значение Off (значение по умолчанию), выполняется более строгая проверка на соответствие UID.

В качестве альтернативы директиве safe_mode вы можете ограничить все выполняемые скрипты жестко заданным деревом директорий при помощи опции open_basedir. Например (фрагмент конфигурационного файла httpd.conf):

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
При попытке выполнить тот же самый скрипт script.php с указанной опцией open_basedir вы получите следующий результат:
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

Вы также можете запретить отдельные функции. Следует заметить, что директива disable_functions может быть указана исключительно в конфигурационном файле php.ini, это означает, что вы не можете, отредактировав httpd.conf, установить индивидуальные значения для конкретного виртуального хоста или каталога. Если добавить в php.ini следующую строку:

disable_functions = readfile,system
Результатом работы скрипта будет следующий вывод:
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

Внимание

Разумеется, эти ограничения PHP не работают в запускаемых программах.

Безопасный режим
Ограниченные или недоступные в безопасном режиме функции
Безопасный режим


Ограниченные или недоступные в безопасном режиме функции

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

Функции, ограниченные в безопасном режиме
Функция | Ограничения
dbmopen() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
dbase_open() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
filepro() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
filepro_rowcount() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
filepro_retrieve() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
ifx_* | sql_safe_mode ограничения (не путать с safe_mode)
ingres_* | sql_safe_mode ограничения (не путать с safe_mode)
mysql_* | sql_safe_mode ограничения (не путать с safe_mode)
pg_lo_import() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
posix_mkfifo() | Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
putenv() | Подчиняется настройкам the safe_mode_protected_env_vars и safe_mode_allowed_env_vars. Ознакомьтесь с более подробным описанием функции putenv().
move_uploaded_file() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
chdir() | Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
dl() | Эта функция недоступна в безопасном режиме.
backtick operator | Эта функция недоступна в безопасном режиме.
shell_exec() (функция эквивалентна backticks) | Эта функция недоступна в безопасном режиме.
exec() | Вы можете запускать исполняемые файлы, ограниченные деревом каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd().
system() | Вы можете запускать исполняемые файлы, ограниченные деревом каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd()
passthru() | Вы можете запускать исполняемые файлы, ограниченные деревом каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd().
popen() | Вы можете запускать исполняемые файлы, ограниченные деревом каталогов, указанным в safe_mode_exec_dir. Исходя из практических соображений, использовать .. при указании пути запрещено. Следует заметить, что к аргументу этой функции применяется escapeshellcmd().
fopen() | Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
mkdir() | Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
rmdir() | Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
rename() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
unlink() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
copy() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (для параметров source и target)
chgrp() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
chown() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
chmod() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать UID, SGID и sticky-биты.
touch() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.
symlink() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: проверка выполняется только для параметра target)
link() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: проверка выполняется только для параметра target)
apache_request_headers() | В безопасном режиме, заголовки, начинающиеся с authorization (независимо от регистра), не возвращаются.
header() | В безопасном режиме, текущий UID скрипта будет добавлен к realm-части заголовка WWW-Authenticate, если вы его устанавливаете (используется для HTTP-аутентификации).
переменные PHP_AUTH | В безопасном режиме, переменные PHP_AUTH_USER, PHP_AUTH_PW, и AUTH_TYPE недоступны как элементы массива $_SERVER. Несмотря на это, вы все еще можете использовать переменную REMOTE_USER для идентификации пользователя. (Замечание: актуально только для PHP 4.3.0 и выше)
highlight_file(), show_source() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: актуально только для PHP 4.2.1 и выше)
parse_ini_file() | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (Замечание: актуально только для PHP 4.2.1 и выше)
set_time_limit() | Не имеет никакого эффекта, если используется безопасный режим.
max_execution_time | Не имеет никакого эффекта, если используется безопасный режим.
mail() | В безопасном режиме пятый параметр недоступен. (Замечание: актуально только для PHP 4.2.3 и выше)
session_start() | Владелец скрипта должен совпадать с владельцем каталога session.save_path, если используются хранилище по умолчанию files и session.save_handler.
Все функции работы с файлами и потоками. | Проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. Проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт. (смотрите также php.ini-опцию safe_mode_include_dir.

Безопасность и безопасный режим
Использование PHP в командной строке
Безопасный режим


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

Содержание

  • Введение
  • Основные отличия от остальных реализаций SAPI
  • Опции
  • Использование
  • Потоки ввода/вывода
  • Интерактивная консоль
  • Встроенный web-сервер
Ограниченные или недоступные в безопасном режиме функции
Введение
Отличительные особенности


Введение

Начиная с версии 4.3.0, PHP поддерживает CLI SAPI. Основная цель этого SAPI - разработка консольных приложений на PHP. Имеется несколько несущественных различий между CLI SAPI и другими видами SAPI, которые будут рассмотрены в этой главе. Будет полезно заметить, что CLI SAPI и CGI - различные SAPI-интерфейсы, хотя в их поведении много общего.

CLI SAPI включается по умолчанию с помощью опции --enable-cli , но может быть выключен опцией --disable-cli при запуске ./configure.

Имя, расположение и существование бинарных модулей CLI/CGI зависит от того, как именно установлен PHP в вашей системе. По умолчанию при выполнении make создается как CGI, так и CLI модуль, размещенные в директориях sapi/cgi/php-cgi и sapi/cli/php соответственно, внутри директории с исходниками PHP. Cледует заметить, что оба файла имеют одинаковое название: php. Что произойдет при выполнении make install, зависит от того, какие опции вы указали на стадии конфигурирования. В случае, если вы отдали предпочтение такому модулю SAPI как apxs, либо указали опцию --disable-cgi , модуль CLI будет скопирован в {PREFIX}/bin/php при выполнении make install, в противном случае будет скопирован CGI-модуль. Например, если вы указали опцию --with-apxs , то при выполнении make install CLI-версия будет скопирована в {PREFIX}/bin/php. Если вы хотите перекрыть установленный CGI-модуль, используйте make install-cli после выполнения make install. В качестве альтернативы вы могли бы указать опцию --disable-cgi в строке конфигурации.

Замечание:

Поскольку обе опции, --enable-cli и --enable-cgi , присутствуют по умолчанию, одного присутствия строки --enable-cli в команде конфигурации недостаточно для того, чтобы CLI-версия была установлена в {PREFIX}/bin/php при выполнении make install.

Начиная с PHP 5, бинарный файл CLI входит в дистрибутив для Windows в основной папке в качестве файлаphp.exe. CGI-версия находится в файле php-cgi.exe. Кроме того, в дистрибутив входит файл php-win.exe, если PHP был сконфигурирован с помощью --enable-cli-win32 . Он полностью эквивалентен CLI-версии, за исключением того, что абсолютно ничего не выводит, что приводит к отстутствию консоли (окно DOS не появляется на экране).

Замечание: Какой из вариантов SAPI установлен?

Выполните из командной строки php -v для получения информации о том, является ли php CGI или CLI. Также вы можете использовать функцию php_sapi_name() или константу PHP_SAPI.

Замечание:

Соответствующую страницу руководства (man) Unix можно просмотреть с помощью команды man php в консоли.

Использование PHP в командной строке
Основные отличия от остальных реализаций SAPI
Использование PHP в командной строке


Основные отличия от остальных реализаций SAPI

Основные отличия CLI SAPI от остальных реализаций SAPI:

  • В отличие от CGI SAPI, заголовки не пишутся в поток вывода.

    Несмотря на то, что в CGI SAPI есть способ подавления HTTP-заголовков, в CLI SAPI нет возможности их включить.

    CLI по умолчанию запускается в тихом режиме, тем не менее, ключи -q и --no-header сохранены для обратной совместимости, что позволяет использовать старые CGI-скрипты.

    Текущая директория не изменяется на рабочую директорию скрипта. (Ключи -C и --no-chdir сохранены для обратной совместимости)

    Сообщения об ошибках выдаются в текстовом режиме (без HTML-форматирования).

  • Некоторые настройки php.ini переопределены в CLI SAPI, поскольку они не имеют особого смысла при работе в командной строке:

    Переопределяемые директивы php.ini
    Директива | Значение по умолчанию в CLI SAPI | Комментарий
    html_errors | FALSE | По умолчанию FALSE, т.к. бывает достаточно сложно читать в консоли сообщения об ошибке, когда они наполнены бессмысленными HTML-тегами.
    implicit_flush | TRUE | Обычно в консоли желательно отображать вывод, например из из print(), echo() и др., сразу же минуя буфер. Тем не менее, попрежнему можно использовать буферизацию вывода для отложенного вывода или манипуляций с ним.
    max_execution_time | 0 (без ограничений) | PHP, выполняемый в консоли, как правило используется для более широкого диапазона задач, чем обычные web-скрипты. И так как они могут выполняться очень долго, то максимальное время выполнения не ограничено.
    register_argc_argv TRUE

    Установка этой опции в значение TRUE означает, что скрипты запускаемые через CLI SAPI всегда имеют доступ к argc(количество аргументов при запуске приложения) и argv (массив текущих аргументов).

    При использовании CLI SAPI переменные $argc и $argv автоматически заполняются соответствующими значениями. Эти значения можно также найти в массиве $_SERVER. Пример: $_SERVER['argv']

    output_buffering FALSE

    Несмотря на то, что эта опция php.ini жестко установлена в FALSE, функции буферизации вывода все еще доступны.

    max_input_time FALSE

    PHP CLI не поддерживает GET, POST или загрузку файлов.

    Замечание:

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

    Замечание:

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

  • Для облегчения работы в консольном окружении было определено некоторое количество констант для потоков ввода/вывода.

  • CLI SAPI не изменяет текущую директорию на директорию исполняемого скрипта.

    Пример #1 Пример, демонстрирующий отличие CGI SAPI:

    <?php
    // Простейший тестовый скрипт под названием test.php
    echo getcwd(), "\n";
    ?>

    В случае, если используется CGI-версия, результат работы будет следующим:

    $ pwd
/tmp

$ php -q another_directory/test.php
/tmp/another_directory

    Это наглядно демонстрирует тот факт, что PHP изменяет текущую директорию на директорию исполняемого скрипта.

    Использование CLI SAPI дает другой результат:

    $ pwd
/tmp

$ php -f another_directory/test.php
/tmp

    Это позволяет писать более гибкие консольные скрипты на PHP.

    Замечание:

    CGI SAPI позволяет получить аналогичное CLI SAPI поведение в случае использования ключа -C при запуске из командной строки.

Введение
Опции
Использование PHP в командной строке


Список опций командной строки

Список опций, доступный при запуске PHP из командной строки, может быть получен в любой момент путем запуска PHP с ключом -h :

Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a

  -a               Интерактивный запуск
  -c <path>|<file> Ищет файл php.ini в указанной директории
  -n               Не использовать файл php.ini
  -d foo[=bar]     Установить конфигурационную опцию foo значением 'bar'
  -e               Генерация дополнительной информации для отладчика и профайлера
  -f <file>        Парсит и исполняет <file>
  -h               Текущая справка
  -i               Выводит информацию о PHP
  -l               Проверка синтаксиса (lint)
  -m               Показать скомпилированные модули
  -r <code>        Запустить PHP-код без использования  <?..?>
  -B <begin_code>  Запустить PHP <begin_code> до обработки введенного кода
  -R <code>        Запустить PHP <code> для каждой введенной строки
  -F <file>        Парсить и выполнять <file> для каждой введенной строки
  -E <end_code>    Запустить PHP <end_code> после обработки всех введенных строк
  -H               Спрятать все переданные аргументы от внешних инструментов
  -s               Отображает исходный код с цветной подсветкой
  -v               Выводит информацию о версии PHP
  -w               Отображает исходный текст без комментариев и пробелов
  -z <file>        Загрузить Zend-расширение <file>.

  args...          Аргументы, передаваемые скрипту. Используйте -- args в случае, если
                   первый аргумент начинается с '-' или сам скрипт читается из потока STDIN.

  --ini            Показывать имена конфигурационных файлов

  --rf <name>      Показать информацию о функции <name>.
  --rc <name>      Показать информацию о классе <name>.
  --re <name>      Показать информацию о расширении <name>.
  --rz <name>      Показать информацию о Zend-расширении <name>.
  --ri <name>      Показать конфигурацию для расширения <name>.

Опции, доступные из командной строки
Опция | Полное название | Описание
-a --interactive

PHP запускается интерактивно. Подробнее смотрите в разделе Интерактивная консоль.

-b --bindpath

Путь связывания библиотек (Bind Path) для внешнего режима FASTCGI Server (только для CGI).

-C --no-chdir

Не менять текущую директорию на директорию скрипта (только для CGI).

-q --no-header

Тихий режим. Подавляет вывод заголовков HTTP (только для CGI).

-T --timing

Измерить время выполнения скрипта, повторенного count раз (только для CGI).

-c --php-ini

При помощи этой опции можно указать директорию для поиска конфигурационного файла php.ini либо непосредственно указать на сам INI-файл (название которого может отличаться от стандартного php.ini), например:

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

Если эта опция не указана, поиск php.ini будет осуществлен в обычном месте.

-n --no-php-ini

Полностью игнорировать php.ini.

-d --define

Устанавливает специальное значение для каждой из конфигурационных переменных, доступных в php.ini. Синтаксис выглядит следующим образом:

 -d configuration_directive[=value]

# Если значение опущено, то соответствующей опции будет присвоено значение "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Указание пустого значения установит соответствующую опцию значением ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# Конфигурационная переменная будет установлена любым значением, указанным после символа '='
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

Включить режим расширенной информации, используемый отладчиком/профайлером.

-f --file

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

Замечание:

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

-h и -? | --help и --usage | Выводит список актуальных опций вместе с несколькими однострочными описаниями.
-i | --info | Использование этой опции приводит к вызову функции phpinfo() и выводу результирующей информации. В случае, если PHP работает некорректно, будет весьма логично выполнить php -i и посмотреть, выводятся ли сообщения об ошибке до информационных таблиц или даже вместо них. Учтите, что в случае использования CGI-модуля весь вывод будет в формате HTML и, как следствие, очень большим.
-l --syntax-check

Предоставляет удобный способ для проверки заданного PHP-кода на наличие синтаксических ошибок. В случае успешной проверки будет напечатана следующая фраза: "No syntax errors detected in <filename>", - и код возврата будет равен 0. А в случае неудачи - текст "Errors parsing <filename>" вместе с внутренними сообщениями парсера и код возврата будет равен -1.

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

Замечание:

Эта опция несовместима с опцией -r .

-m --modules

Пример #1 Вывод встроенных (и загружаемых) PHP и Zend модулей

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

Позволяет выполнять PHP-код, указанный непосредственно в командной строке. Открывающие и закрывающие PHP-теги (<?php и ?>) не нужны и, более того, приводят к синтаксической ошибке.

Замечание:

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

Пример #2 Ошибка синтаксиса при использовании двойных кавычек

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1

Проблема заключается в том, что sh/bash выполняет автоматическую подстановку переменных в случае, если используются двойные кавычки ("). Поскольку переменная $foo вряд ли определена, она заменяется пустой строкой, так что передаваемый PHP-код для выполнения выглядит следующим образом:

$ php -r " = get_defined_constants();"

Правильным решением в данном случае будет использование одиночных кавычек ', поскольку автоматическая подстановка переменных, заключенных в одиночные кавычки, в sh/bash не происходит.

Пример #3 Использование одинарных кавычек для предотвращения подстановки переменных в консоли

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

При использувании оболочки, отличной от sh/bash, могут возникнуть другие вопросы. В таком случае необходимо создайть отчет о возникшей ошибке на сайте » http://bugs.php.net/. Можно столкнуться с проблемами при попытке получить доступ к переменным оболочки или при работе с экранирующими обратными слэшами. Теперь вы предупреждены!.

Замечание:

Ключ -r доступен в CLI SAPI, но недоступен в CGI SAPI.

Замечание:

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

-B --process-begin

Выполняемый PHP-код до обработки потока ввода (stdin). Добавлена в PHP 5.

-R --process-code

PHP-код, выполняемый для каждой введенной строки. Добавлена в PHP 5.

В этом режиме есть две специальные переменные: $argn и $argi. $argn содержит строку, которую PHP обрабатывает в данный момент, а $argi содержит номер этой строки.

-F --process-file

PHP-файл, выполняемый для каждой введенной строки. Добавлена в PHP 5.

-E --process-end

PHP-код, выполняемый после обработки ввода. Добавлена в PHP 5.

Пример #4 Использование опций -B , -R и -E для подсчета количества строк в проекте.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-s --syntax-highlight и --syntax-highlighting

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

Эта опция использует внутренний механизм для парсинга файла и записи в стандартный поток вывода подсвеченную HTML-версию этого файла. Учтите, что все что она делает, это генерирует блок <code> [...] </code> HTML-тегов, без HTML-заголовков.

Замечание:

Эта опция несовместима с опцией -r .

-v --version

Пример #5 Использование -v для получения типа SAPI и версии PHP и Zend

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

-w --strip

Показать исходнный код без комментариев и пробелов.

Замечание:

Эта опция несовместима с опцией -r .

-z --zend-extension

Загружает Zend-расширение. Если передано только имя файла, PHP попытается загрузить это расширение из вашего системного пути поиска библиотек по умолчанию (обычно он указывается в /etc/ld.so.conf в Linux системах). Передача файла с абсолютным путем не будет использовать данный системный путь поиска. Относительное имя файла, содержащее директорию, укажет PHP подгрузить расширение относительно текущей директории.

--ini

Показывает имена конфигурационных файлов и сканируемые директории. Доступна, начиная с версии PHP 5.2.3.

Пример #6 Пример --ini

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Показывают информацию об указанной функции или методе класса (например, количество и названия параметров). Доступна, начиная с версии PHP 5.1.2.

Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.

Пример #7 Базовое использование --rf

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Показывает информацию об указанном классе (список констант, свойств и методов). Доступна, начиная с PHP 5.1.2.

Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.

Пример #8 Пример --rc

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Показывает информацию об указанном расширении (список опций php.ini, определенных функций, констант и классов). Доступна, начиная с версии PHP 5.1.2.

Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.

Пример #9 Пример --re

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Показывает информацию о конфигурации указанного Zend-расширения (та же информация, что показывается функцией phpinfo()). Доступно начиная с PHP 5.4.0.

--ri --rextinfo

Показывает информацию о конфигурации указанного расширения (та же информация, что показывается функцией phpinfo()). Доступна, начиная с версии PHP 5.2.2. Конфигурацию ядра можно узнать, указав в качестве имени расширения значение "main".

Пример #10 Пример --ri

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Замечание:

Опции -rBRFEH, --ini и --r[fcezi] доступны только в CLI.

Основные отличия от остальных реализаций SAPI
Использование
Использование PHP в командной строке


Выполнение PHP-файлов

В CLI SAPI есть три различных способа запуска PHP-кода:

  1. Указывание конкретного файла для запуска.

    $ php my_script.php

$ php -f my_script.php

    Оба способа (с указыванием опции -f или без) запустят файл my_script.php. Нет ограничений, какой файл запускать, и PHP-скрипты не обязаны иметь расширение .php.

    Замечание:

    Если необходимо передать аргументы в скрипт, то при использовании опции -f первым аргументом должен быть -- .

  2. Передать PHP-код напрямую в командной строке.

    $ php -r 'print_r(get_defined_constants());'

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

    Замечание:

    Внимательно прочтите пример: в нем нет открывающих и закрывающих тегов! Опция -r просто в них не нуждается. Их использование приведет к ошибке парсера.

  3. Передать запускаемый PHP-код через стандартный поток ввода (stdin).

    Это дает мощную возможность создавать PHP-код и скармливать его запускаемому файлу, как показано в этом (вымышленном) примере:

    $ some_application | some_filter | php | sort -u > final_output.txt
Вы не можете комбинировать любой из этих трех способов запуска кода.

Как и любое другое консольное приложение, бинарный файл PHP принимает аргументы, но PHP-скрипт также может получать аргументы. PHP не ограничивает количество аргументов, передаваемых в скрипт (оболочка консоли устанавливает некоторый порог количества символов, которые могут быть переданы; обычно этого лимита хватает). Переданные аргументы доступны в глобальном массиве $argv. Первый индекс (ноль) всегда содержит имя вызываемого скрипта из командной строки. Учтите, что если код вызывается на лету из командной строки с помощью опции -r , значением $argv[0] будет просто дефис (-). То же самое верно и для кода, переданного через конвеер из STDIN.

Вторая зарегистрированная глобальная переменная - это $argc, содержащая количество элементов в массиве $argv ( (а не количество аргументов, переданных скрипту).

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

# Эта команда не запустит данный код, но покажет информацию об использовании PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Эта команда передаст аргумент '-h' в скрипт, предотвратив показ справки PHP
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Однако, в Unix-системах есть еще один способ использования PHP для консольных скриптов. Можно написать скрипт, первая строка которого будет начинаться с #!/usr/bin/php (или же другой корректный путь к бинарному файлу PHP CLI). После этой строки можно поместить обычный PHP-код, заключенный в открывающие и закрывающие теги PHP. Как только будут установлены корректные атрибуты запуска на файл (например, chmod +x test), скрипт может быть запущен как обычный консольный или perl-скрипт:

Пример #1 Запуск PHP-скрипта как консольного

#!/usr/bin/php
<?php
var_dump($argv);
?>

Подразумевая что этот файл называется test и находится в текущей директории, можно сделать следующее:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Как можно увидеть, в этом случае не нужно заботиться о передаче параметров, которые начинаются с -.

Исполняемый PHP-файл может использоваться для запуска PHP-скриптов независимо от веб-сервера. В случае, работы в Unix-подобной системе, необходимо добавить ко всем скриптам особую строку #! (называемую также "shebang") в начало файла и сделать их исполняемыми, чтобы указать, какая из программ должна обрабатывать эти скрипты. На Windows-платформах можно назначить обработчик php.exe для файлов с расширениями .php либо создать пакетный (.bat) файл для запуска скриптов посредством PHP. Строка, добавляемая в начале скрипта для Unix-систем, не влияет на их работу в ОС Windows, таким образом можно создавать кроссплатформенные скрипты. Ниже приведен простой пример скрипта, выполняемого из командной строки:

Пример #2 Скрипт, предназначенный для запуска из командной строки (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

Это консольный PHP-скрипт, принимающий один аргумент.

  Использование:
  <?php echo $argv[0]; ?> <option>

  <option> Любое слово, которое вы хотели бы
  напечатать. Опции  --help, -help, -h,
  или -? покажут текущую справочную информацию.

<?php
} else {
    echo $argv[1];
}
?>

Скрипт приведенный выше включается в себя специальную Unix строку, указывающую на его запуск с помощью PHP. Работа ведется с CLI-версией, поэтому не будет выведено ни одного HTTP-заголовка.

Также приведенный пример проверяет количество переданных аргументов. В случае, если их больше или меньше одного, а также в случае, если переданный аргумент был --help , -help , -h или -? , выводится справочное сообщение с использованием $argv[0], которое содержит имя выполняемого скрипта. В противном случае просто выводится полученный аргумент.

Для запуска приведенного примера в Unix-системе, необходимо сделать его исполняемым и просто выполнить в консоли script.php echothis или script.php -h. В Windows-системе можно создать пакетный файл:

Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Предполагая, что скрипт называется script.php и полный путь к CLI php.exe совпадает с C:\php\php.exe, приведенный пакетный файл запустит скрипт с переданными параметрами: script.bat echothis либо script.bat -h.

Также можно ознакомиться с расширением Readline, которое можно использовать для усовершенствования консольного PHP-скрипта.

В Windows запуск PHP можно настроить без необходимости указывать C:\php\php.exe и расширение .php. Подробнее эта тема описана в разделе Запуск PHP из командной строки в Microsoft Windows.

Опции
Потоки ввода/вывода
Использование PHP в командной строке


Потоки ввода/вывода

Модуль CLI SAPI определяет несколько констант для потоков ввода/вывода для упрощения работы с командной строкой.

Константы, специфичные для модуля CLI
Константа Описание
STDIN

Уже открытый поток ввода (stdin). Он предотвращает необходимость его открывать следующим способом:

<?php
$stdin = fopen('php://stdin', 'r');
?>
Если вы хотите прочесть одну строку из stdin, можно использовать следующий код:
<?php
$line = trim(fgets(STDIN)); // читает одну строку из STDIN
fscanf(STDIN, "%d\n", $number); // читает число из STDIN
?>

STDOUT

Уже открытый поток вывода (stdout). Он предотвращает необходимость его открывать следующим способом:

<?php
$stdout = fopen('php://stdout', 'w');
?>

STDERR

Уже открытый поток ошибок (stderr). Он предотвращает необходимость его открывать следующим способом:

<?php
$stderr = fopen('php://stderr', 'w');
?>

Учитывая вышесказанное, нет необходимости самому открывать поток, например, stderr, а можно просто использовать уже определенную константу ресурса потока:

php -r 'fwrite(STDERR, "stderr\n");'
Вам также не нужно их вручную закрывать, они будут закрыты PHP автоматически при окончании вашего скрипта.

Замечание:

Эти константы недоступны, если PHP считывает запускаемый скрипт из stdin.

Использование
Интерактивная консоль
Использование PHP в командной строке


Интерактивная консоль

Начиная с вверсии PHP 5.1.0, модуль CLI SAPI предоставляет интерактивную консоль, доступную с помощью опции -a , если PHP был скомплирован с опцией --with-readline .

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

Пример #1 Запуск кода в интерактивной консоли

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

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

Пример #2 Автодополнение по Tab

Двойное нажатие клавиши Tab при наличии нескольких вариантов дополнения покажет список этих вариантов:

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Если доступно только одно дополнение, одиночное нажатие Tab дополнит оставшийся текст на той же самой строке:

php > strpt[TAB]ime(

Дополнение также работает для элементов, которые были объявлены в течении данной интерактивной сессии:

php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName

Интерактивная консоль хранит историю команд, для доступа к ней можно использовать стрелки вверх и вниз. История хранится в файле ~/.php_history.

Начиная с версии PHP 5.4.0, модуль CLI SAPI предоставляет две новые настройки в php.ini:cli.pager и cli.prompt. Настройка cli.pager позволяет использовать внешнюю программу (такую как less) для постраничного просмотра данных вместо их прямого вывода на экран. Настройка cli.prompt позволяет задавать приглашение php > на ввод команды.

С PHP 5.4.0 также можно устанавливать настройки php.ini в интерактивной консоли используя специальное сокращение.

Пример #3 Установка настройки php.ini в интерактивной консоли

Настройка cli.prompt:

php > #cli.prompt=hello world :>
hello world :>

Используя обратные апострофы можно задать PHP код, который выполнится в приглашении на ввод команды:

php > #cli.prompt=`echo date('H:i:s');` php >
15:49:35 php > echo 'hi';
hi
15:49:43 php > sleep(2);
15:49:45 php >

Установка less для постраничного вывода данных:

php > #cli.pager=less
php > phpinfo();
(output displayed in less)
php >

Настройка cli.prompt поддерживает несколько управляющих последовательностей:

Управляющие последовательности cli.prompt
Управляющая последовательность | Описание
\e | Используется для добавления цветов в приглашение на ввод команды. Пример: \e[032m\v \e[031m\b \e[34m\> \e[0m
\v | Версия PHP.
\b | Отображает в какой части PHP мы находимся. Для примера /* показывает, что мы находимся в многострочном комментарии. Внешняя область видимости обозначается как php.
\> | Отображает символ запроса. По умолчанию это символ >, но он может измениться, когда мы находимся внутри незакрытых блока или строки. Возможные символы: ' " { ( >

Замечание:

Файлы, подключенные с помощью опций auto_prepend_file и auto_append_file обрабатываются в этом режиме с некоторыми ограничениями, например, функции должны быть объявлены до их использования.

Замечание:

Автозагрузка недоступна при использовании интерактивного режима PHP CLI.

Потоки ввода/вывода
Встроенный web-сервер
Использование PHP в командной строке


Встроенный web-сервер

Начиная с версии PHP 5.4.0 модуль CLI SAPI содержит встроенный web-сервер.

Этот web-сервер предназначен для использования при разработке и не должен использоваться на обычном сервере.

URI запросы обслуживаются из текущей директории, в которой был запущен PHP, если не используется опция -t для явного указания корневого документа.

Если URI запроса не указывает на определенный файл, то будет возвращен либо index.php, либо index.html в данной директории. Если не существует ни одного из них, то возвращается 404 код ответа.

Если PHP-файл указывается в командной строке, когда запускается веб-сервер, то он рассматривается как скрипт "маршрутизации" web-сервера. Скрипт выполняется в самом начале после каждого HTTP-запроса. Если этот скрипт возвращает FALSE, то запрашиваемый ресурс возвращается как есть. В противном случае браузеру будет возвращен вывод этого скрипта.

Пример #1 Запуск web-сервера

$ cd ~/public_html
$ php -S localhost:8000

В консоли выведется:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

После URI запросов http://localhost:8000/ и http://localhost:8000/myscript.html в консоли выведется примерно следующее:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

Пример #2 Запуск с указанием корневой директории

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

В консоли выведется:

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

Пример #3 Использование сктрипта маршрутизации

Запросы к изображениям будут возращать их, но запросы к HTML файлам будут возращать "Welcome to PHP".

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))
    return false;    // сервер возвращает файлы напрямую.
else {
    echo "<p>Welcome to PHP</p>";
}
?>
$ php -S localhost:8000 router.php

После нескольких URI запросов в консоли выведется примерно следующее:

PHP 5.4.0 Development Server started at Thu Jul 21 10:53:19 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:53:45 2011] ::1:55801 GET /mylogo.jpg - Request read
[Thu Jul 21 10:53:52 2011] ::1:55803 GET /abc.html - Request read
[Thu Jul 21 10:53:52 2011] ::1:55804 GET /favicon.ico - Request read
Интерактивная консоль
Сборка мусора
Использование PHP в командной строке


Сборка мусора

Содержание

  • Основы подсчета ссылок
  • Сбор циклических ссылок
  • Вопросы производительности

В этом разделе описываются достоинства нового механизма сборки мусора (также называемого Garbage Collection или GC), являющегося частью PHP 5.3.

Встроенный web-сервер
Основы подсчета ссылок
Отличительные особенности


Основы подсчета ссылок

Переменная PHP хранится в контейнере, называемом "zval". Контейнер zval, помимо типа и значения переменной, также содержит два дополнительных элемента. Первый называется "is_ref" и представляет булевое значение, указывающее, является переменная частью "набора ссылок" или нет. Благодаря этому элементу PHP знает как отличать обычные переменные от ссылок. Так как PHP содержит пользовательские ссылки, которые можно создать оператором &, контейнер zval также содержит внутренний механизм подсчета ссылок для оптимизации использования памяти. Эта вторая часть дополнительной информации, называемая "refcount" (счетчик ссылок), содержит количество имен переменных (также называемых символами), которые указывают на данный контейнер zval. Все имена переменных хранятся в таблице имен, отдельной для каждой области видимости переменных. Такая область видимости существует для главного скрипта, а также для каждой функции и метода.

Контейнер zval создается при создании новой переменной, которой присваивается константа, например:

Пример #1 Создание нового контейнера zval

<?php
$a = "new string";
?>

В данном примере создается новый символ a в текущей области видимости и новый контейнер переменной с типом string и значением new string. Бит "is_ref" по умолчанию задается равным FALSE, т.к. не создано ни одной пользовательской ссылки. Значение же "refcount" задается равным 1, т.к. только одно имя переменной указывает на данный контейнер. Отметим, что если "refcount" равен 1, то "is_ref" будет всегда равен FALSE. Если у вас установлен » Xdebug, то вы можете вывести эту информацию, вызвав функцию xdebug_debug_zval().

Пример #2 Вывод информации о zval

<?php
xdebug_debug_zval('a');
?>

Результат выполнения данного примера:

a: (refcount=1, is_ref=0)='new string'

Присвоение этой переменной другой увеличивает счетчик ссылок.

Пример #3 Увеличение счетчика ссылок zval

<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

Результат выполнения данного примера:

a: (refcount=2, is_ref=0)='new string'

Счетчик ссылок здесь равен 2, т.к. a и b ссылаются на один и тот же контейнер переменной. PHP достаточно умен, чтобы не копировать контейнер, пока в этом нет необходимости. Как только "refcount" станет равным нулю, контейнер уничтожается. "refcount" уменьшается на единицу при уходе переменной из области видимости (например, в конце функции) или при вызове unset() с данной переменной.

Пример #4 Уменьшение счетчика ссылок zval

<?php
$a = "new string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
unset( $b, $c );
xdebug_debug_zval( 'a' );
?>

Результат выполнения данного примера:

a: (refcount=3, is_ref=0)='new string'
a: (refcount=1, is_ref=0)='new string'

Если мы сейчас вызовем unset($a);, то контейнер, включая тип и значение, будет удален из памяти.

Составные типы данных

Все несколько усложняется с составными типами данных, такими как массивы (array) и объекты (object). В отличии от скалярных (scalar) значений, массивы и объекты хранят свои свойства в собственных таблицах имен. Это значит, что следующий пример создаст сразу три zval контейнера:

Пример #5 Создание array zval

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

Результатом выполнения данного примера будет что-то подобное:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

Графически:

Контейнеры для простого массива

Результат - три контейнера: a, meaning и number. Похожие правила применяются и для увеличения и уменьшения "refcounts". Ниже мы добавляем еще один элемент массива и устанавливаем ему значение уже существующего элемента:

Пример #6 Добавление уже существующего элемента в массив

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

Результатом выполнения данного примера будет что-то подобное:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

Графически:

Контейнеры для простого массива со ссылками

Вышеприведенный вывод Xdebug показывает, что и старый и новый элементы массива сейчас указывают на контейнер, чей "refcount" равен 2. Хотя показано два контейнера со значением 'life', на самом деле это один контейнер. Функция xdebug_debug_zval() не выводит информации об этом, но вы можете проверить это также отобразив указатели памяти.

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

Пример #7 Удаление элемента из массива

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

Результатом выполнения данного примера будет что-то подобное:

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

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

Пример #8 Добавление массива новым элементом в самого себя

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

Результатом выполнения данного примера будет что-то подобное:

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

Графически:

Контейнеры массива с циклическими ссылками

Можно увидеть, что переменная с массивом (a), так же как и второй элемент (1) сейчас указывают на контейнер с "refcount" равным 2. Символы "..." в выводе означают рекурсию и, в нашем случае, указывают на оригинальный массив.

Как и ранее, удаление переменной уменьшает счетчик ссылок контейнера на единицу. Если мы применим unset к переменной $a после вышеприведенного примера, то счетчик ссылок контейнера, на который указывают $a и элемент "1", изменится с "2" на "1":

Пример #9 Удаление $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

Графически:

Контейнеры после удаления массива с циклическими ссылками, демонстрирующие утечку памяти

Суть проблемы

Хотя во всех областях видимости больше нет имени переменной, ссылающейся на данную структуру, она не может быть очищена, т.к. элемент массива "1" по-прежнему ссылается на этот массив. Т.к. теперь нет никакой возможности пользователю удалить эти данные, то мы получили утечку памяти. К счастью, PHP удалит эти данные при завершении запроса, но до этого момента данные будут занимать ценное место в памяти. Такая ситуация часто бывает, когда реализуются алгоритмы парсинга или другие, где есть дочерние элементы, ссылающиеся на родительские. Еще чаще такая ситуация случается с объектами, потому что они всегда неявно используются по ссылке.

Эта не проблема, если такое случается раз или два, но если существуют тысячи или даже миллионы таких утечек памяти, то они уже становятся проблемой. Особенно в долгоработающих скриптах, таких как демоны, где запрос не заканчивается никогда, или в больших наборах модульных тестов. Последний случай вызвал проблемы при запуске модульных тестов для компонента Template из библиотеки ez Components. В некоторых случаях может потребоваться свыше 2 Гб памяти, которая не всегда есть на тестовом сервере.

Сборка мусора
Сбор циклических ссылок
Сборка мусора


Сбор циклических ссылок

Обычно механизмы подсчета ссылок в памяти, например, используемый в PHP ранее, не решают проблему утечки памяти из-за циклических ссылок. Начиная с версии 5.3.0, в PHP реализован синхронный механизм из исследования "» Concurrent Cycle Collection in Reference Counted Systems", в котором рассматривается этот вопрос.

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

Алгоритм сборки мусора

Для избежания постоянной проверки на мусор с циклическими ссылками при каждом уменьшении счетчика ссылок, алгоритм добавляет все возможные корни (zval контейнеры) в "корневой буфер" (помечая их как "фиолетовые"). Это также гарантирует попадание любого корня в буфер только один раз. Механизм сборки мусора стартует только тогда, когда наполняется буфер (см. шаг A на рисунке выше).

На шаге B алгоритм производит поиск в глубину по всем возможным корням для однократного уменьшения счетчика ссылок на единицу у всех контейнеров (помечая их как "серые"). На шаге C алгоритм снова производит поиск в глубину для проверки счетчиков ссылок. Если он находит счетчик с нулевым значением, то контейнер помечается как "белый" (на рисунке отображено синим). Если же счетчик больше нуля, то происходит поиск в глубину от этого контейнера с обратным увеличением счетчиков на единицу и повторной пометкой как "черный" на их контейнерах. На последнем шаге D алгоритм проходит по корневому буферу и удаляет из него корни контейнеров, заодно проверяя какие контейнеры помечены как "белые". Эти контейнеры будут освобождены из памяти.

Теперь, когда вы имеете представление о работе алгоритма, рассмотрим его интеграцию в PHP. По умолчанию сборщик мусора всегда включен. Для изменения этой опции используется параметр zend.enable_gc в php.ini.

Если сборщик мусора включен, алгоритм поиска циклических ссылок выполняется каждый раз, когда корневой буфер наполняется 10,000 корнями (вы можете поменять это значение, изменив константу GC_ROOT_BUFFER_MAX_ENTRIES в файле Zend/zend_gc.c в исходном коде PHP и пересобрав PHP). Если сборщик мусора выключен, алгоритм никогда не будет запущен. Тем не менее, буфер всегда заполняется корнями.

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

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

Помимо изменения параметра zend.enable_gc , механизм сборки мусора также можно запустить и остановить вызвав функции gc_enable() и gc_disable() соответственно. Вызов этих функций имеет тот же эффект, что и включение/выключение механизма с помощью настроек конфигурации. Кроме того, можно запустить сборку мусора, даже если корневой буфер еще не заполнен. Для этого вы можете вызвать функцию gc_collect_cycles(), которая также возвращает количество циклических ссылок собранных алгоритмом.

Причиной включения и выключения механизма сборки, а также его ручного запуска, может стать то, что некоторые части вашего приложения могут быть требовательными ко времени. В этих случаях вы, возможно, не захотите постороннего вмешательства сборщика мусора. Разумеется, выключая сборщик мусора в определенных местах вашего приложения вы рискуете получить утечку памяти, т.к. потенциально некоторые корни могут не поместиться в ограниченный корневой буфер. Более целесообразно будет вызвать gc_collect_cycles() непосредственно перед вызовом gc_disable() для освобождения памяти и уже записанных корней в буфере. Это очистит буфер и позволит использовать больше места для хранения корней, пока механизм будет выключен.

Основы подсчета ссылок
Вопросы производительности
Сборка мусора


Вопросы производительности

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

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

Уменьшение размера используемой памяти

Прежде всего, основной причиной реализации механизма сборки мусора является уменьшение размера используемой памяти с помощью чистки циклических ссылок, которая происходит при достижении соответствующих условий. В реализации PHP это происходит как только заполнится корневной буфер или при вызове функции gc_collect_cycles(). На графике ниже приведено использование памяти скрипта, запущенного в PHP 5.2 и PHP 5.3, без учета памяти, используемой самим PHP при запуске.

Пример #1 Пример использования памяти

<?php
class Foo
{
    public $var = '3.1415962654';
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
    if ( $i % 500 === 0 )
    {
        echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
    }
}
?>
Сравнение использования памяти в PHP 5.2 и PHP 5.3

В этом очень академическом примере мы создаем объект, свойство a которого задается ссылкой на сам объект. Когда в скрипте в следующей итерации цикла переопределяется переменная $a, то происходит типичная утечка памяти. В данном случае пропадают два контейнера zval (контейнер объекта и контейнер свойства объекта), но определяется только один корень - удаленная переменная. Как только пройдут 10 000 итераций (максимально в корневом буфере будет 10 000 корней), то запустится механизм сборки мусора и память, занимаемая этими корнями, будет освобождена. Этот процесс хорошо виден на графике использования памяти для PHP 5.3: после каждых 10 000 итераций график проседает. Сам по себе механизм в данном примере совершает не так много работы, потому что структура утечек слишком проста. Из графика видно, что максимальное использование памяти в PHP 5.3 составило около 9 Мб, тогда как в PHP 5.2 оно продолжает возрастать.

Замедление работы

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

Пример #2 Влияние на производительность

<?php
class Foo
{
    public $var = '3.1415962654';
}

for ( $i = 0; $i <= 1000000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

Мы запустим скрипт два раза: с включенной опцией zend.enable_gc и без нее.

Пример #3 Запуск скрипта

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

На тестовой машине первая команда примерно выполняется 10.7 секунд, а вторая примерно 11.4 секунды. Это примерно на 7% медленнее. Однако, максимальное использование памяти скриптом уменьшилось на 98% с 931 Мб до 10 Мб. Этот тест не очень научный, но он действительно демонстрирует преимущество по использованию памяти, обеспечиваемое сборщиком мусора. Также хорошо то, что замедление для этого скрипта всегда примерно 7%, тогда как экономия памяти увеличивается все больше и больше при нахождении нового мусора.

Внутренняя статистика сборщика мусора

Можно получить немного больше информации о том, как механизм сборки мусора выполняется в PHP. Но для этого вам необходимо пересобрать PHP для включения теста производительности и кода для дополнительного сбора данных. Необходимо установить переменную окружения CFLAGS в значение -DGC_BENCH=1 до выполнения команды ./configure с вашими параметрами. Следующие команды должны сработать:

Пример #4 Сборка PHP для включения теста производительности GC

export CFLAGS=-DGC_BENCH=1
./config.nice
make clean
make

При запуске вышеприведенного примера с обновленным PHP, можно увидеть следующую информацию по завершении работы скрипта:

Пример #5 Статистика GC

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

Наиболее полезная статистика отображена в первом блоке. Можно увидеть, что механизм сборки мусора был запущен 110 раз, и суммарно было освобождено свыше 2 миллионов записей в памяти. Если сборка мусора была запущена хотя бы раз, то максимальное число корней в буфере всегда будет равно 10 000.

Заключение

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

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

Преимущества наиболее очевидны для долгоработающих скриптов, таких как большие наборы тестов или демоны. Новый механизм также должен снизить утечки памяти для приложений » PHP-GTK, которые выполняются обычно дольше, чем веб-скрипты.

Сбор циклических ссылок
Справочник функций
Сборка мусора


Справочник функций

Подсказка

Смотрите также Список/классификация расширений.

  • Изменение поведения PHP
    • APC — Alternative PHP Cache
    • APD — Расширенный отладчик PHP
    • bcompiler — PHP bytecode Compiler
    • Обработка ошибок — Обработка и протоколирование ошибок
    • htscanner — htaccess-like support for all SAPIs
    • inclued — Inclusion hierarchy viewer
    • Memtrack
    • Контроль вывода — Управление буфером вывода
    • Object overloading — Object property and method call overloading
    • PHP Опции/Информация — PHP Опции и Информация
    • runkit
    • scream — Break the silence operator
    • Weakref — Weak References
    • WinCache — Windows Cache for PHP
    • Xhprof — Hierarchical Profiler
  • Обработка аудио форматов
    • ID3 — ID3 теги
    • KTaglib
    • oggvorbis — OGG/Vorbis
    • OpenAL — OpenAL Audio Bindings
  • Службы аутентификации
    • KADM5 — Kerberos V
    • Radius
  • Расширения по работе с датой и временем
    • Календарь
    • Дата/Время — Дата и Время
  • Расширения для работы с командной строкой
    • Ncurses — Ncurses Terminal Screen Control
    • Newt
    • Readline — GNU Readline
  • Расширения сжатия и архивации
    • Bzip2
    • LZF
    • Phar
    • Rar — Архивирование Rar
    • Zip
    • Zlib
  • Обработка кредитных карт
    • MCVE — MCVE (Monetra) Payment
    • SPPLUS — Платежная система SPPLUS
  • Криптографические расширения
    • Crack — Cracklib
    • Hash — Фреймворк хеш-кодов HASH
    • Mcrypt
    • Mhash
    • OpenSSL
  • Расширения для работы с базами данных
    • Уровни абстракции
    • Расширения для работы с базами данных отдельных производителей
  • Расширения для работы с файловой системой
    • Direct IO
    • Каталоги
    • Fileinfo — File Information
    • Функции для работы с файловой системой
    • Inotify
    • Mimetype
    • Proctitle
    • xattr
    • xdiff
  • Поддержка языков и кодировок
    • Enchant — Enchant spelling library
    • FriBiDi
    • Gettext
    • iconv
    • intl — Internationalization Functions
    • Multibyte String
    • Pspell
    • Recode — GNU Recode
  • Обработка и генерация изображений
    • Cairo
    • Exif — Exchangeable image information
    • GD — Обработка изображений и GD
    • Gmagick
    • ImageMagick — Обработка изображений (ImageMagick)
  • Расширения по работе с почтой
    • Cyrus — Администрирование Cyrus IMAP
    • IMAP — IMAP, POP3 и NNTP
    • Mail
    • Mailparse
    • vpopmail
  • Математические расширения
    • BC Math — BCMath Arbitrary Precision Mathematics
    • GMP — GNU Multiple Precision
    • Math — Математические функции
    • Statistics
  • Генерация нетекстовых MIME форматов
    • FDF — Forms Data Format
    • GnuPG — GNU Privacy Guard
    • haru — Haru PDF
    • Ming — Ming (flash)
    • PDF
    • PS — PostScript document creation
    • RPM Reader — RPM Header Reading
    • SWF — Shockwave Flash
  • Расширения для управления процессами программ
    • Eio
    • Expect
    • Libevent
    • PCNTL — Process Control
    • POSIX
    • Запуск программы — Запуск программ в системе
    • Semaphore — Semaphore, Shared Memory and IPC
    • Управление разделяемой памятью
  • Другие базовые расширения
    • GeoIP — Geo IP Location
    • JSON — JavaScript Object Notation
    • Judy — Judy Arrays
    • Lua
    • Misc. — Разные функции
    • Parsekit
    • SPL — Стандартная библиотека PHP (SPL)
    • SPL Types — SPL Type Handling
    • Streams
    • Tidy
    • Tokenizer (Лексер)
    • URL
    • V8js — V8 Javascript Engine Integration
    • Yaml — Сериализация данных YAML
    • Yaf
  • Другие службы
    • AMQP
    • chdb — Constant hash database
    • cURL — Клиентская библиотека работы с URL
    • FAM — File Alteration Monitor
    • FTP
    • Gearman
    • Gopher — Net Gopher
    • Gupnp
    • HTTP
    • Hyperwave
    • Hyperwave API
    • Java — PHP / Java Integration
    • LDAP — Облегчённый протокол доступа к каталогам (LDAP)
    • Lotus Notes
    • Memcache
    • Memcached
    • mqseries
    • Network
    • RRD — RRDtool
    • SAM — Simple Asynchronous Messaging
    • SNMP
    • Sockets
    • SSH2 — Secure Shell2
    • Stomp — Stomp Client
    • SVM — Support Vector Machine
    • SVN — Subversion
    • TCP — TCP Wrappers
    • Varnish
    • YAZ
    • YP/NIS
  • Расширения для работы с поисковыми системами
    • mnoGoSearch
    • Solr — Apache Solr
    • Sphinx — Клиент Sphinx
    • Swish — Swish Indexing
  • Расширения для работы с серверами
    • Apache
    • IIS — IIS Administration
    • NSAPI
  • Расширения для работы с сессиями
    • Msession — Mohawk Software Session Handler Functions
    • Сессии — Управление сессиями
    • Session PgSQL — PostgreSQL Session Save Handler
  • Обработка текста
    • BBCode — Bulletin Board Code
    • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • Регулярные выражения POSIX — Регулярные выражения (расширенные POSIX)
    • ssdeep — ssdeep Fuzzy Hashing
    • Строки
  • Расширения, относящиеся к переменным и типам
    • Массивы
    • Классы/Объекты — Функции работы с Классами/Объектами
    • Classkit
    • Ctype — Функции определения типа символов
    • Filter — Фильтрация данных
    • Управление функциями
    • Object Aggregation — Object Aggregation/Composition [PHP 4]
    • Quickhash
    • Reflection
    • Функции для работы с переменными
  • Веб-сервисы
    • OAuth
    • SCA
    • SOAP
    • XML-RPC
  • Расширения только для Windows
    • .NET
    • COM — COM and .Net (Windows)
    • Принтер
    • W32api
    • win32ps
    • win32service
  • Обработка XML
    • DOM — Document Object Model
    • DOM XML (PHP 4)
    • libxml
    • qtdom
    • SDO — Service Data Objects
    • SDO-DAS-Relational — SDO Relational Data Access Service
    • SDO DAS XML — SDO XML Data Access Service
    • SimpleXML
    • WDDX
    • XML-анализатор
    • XMLReader
    • XMLWriter
    • XSL
    • XSLT (PHP 4)
Вопросы производительности
Изменение поведения PHP
Руководство по PHP


Изменение поведения PHP

  • APC — Alternative PHP Cache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • APC
    • APCIterator — The APCIterator class
  • APD — Расширенный отладчик PHP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • APD Функции
  • bcompiler — PHP bytecode Compiler
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • bcompiler Функции
  • Обработка ошибок — Обработка и протоколирование ошибок
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Функции обработки ошибок
  • htscanner — htaccess-like support for all SAPIs
    • Введение
    • Установка и настройка
  • inclued — Inclusion hierarchy viewer
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • inclued Функции
  • Memtrack
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
  • Контроль вывода — Управление буфером вывода
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Функции контроля вывода
  • Object overloading — Object property and method call overloading
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Object overloading Функции
  • PHP Опции/Информация — PHP Опции и Информация
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • PHP опции/Информационные Функции
  • runkit
    • Введение
    • Предопределенные константы
    • Установка и настройка
    • runkit
  • scream — Break the silence operator
    • Введение
    • Установка и настройка
    • Примеры
  • Weakref — Weak References
    • Введение
    • Установка и настройка
    • Weakref — The Weakref class
  • WinCache — Windows Cache for PHP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • WinCache Функции
    • Building for Windows
  • Xhprof — Hierarchical Profiler
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Xhprof Функции
Справочник функций
APC
Справочник функций


Alternative PHP Cache

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • APC
    • apc_add — Cache a variable in the data store
    • apc_bin_dump — Get a binary dump of the given files and user variables
    • apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file
    • apc_bin_load — Load a binary dump into the APC file/user cache
    • apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache
    • apc_cache_info — Retrieves cached information from APC's data store
    • apc_cas — Updates an old value with a new value
    • apc_clear_cache — Clears the APC cache
    • apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.
    • apc_dec — Decrease a stored number
    • apc_define_constants — Defines a set of constants for retrieval and mass-definition
    • apc_delete_file — Deletes files from the opcode cache
    • apc_delete — Removes a stored variable from the cache
    • apc_exists — Checks if APC key exists
    • apc_fetch — Fetch a stored variable from the cache
    • apc_inc — Increase a stored number
    • apc_load_constants — Loads a set of constants from the cache
    • apc_sma_info — Retrieves APC's Shared Memory Allocation information
    • apc_store — Cache a variable in the data store
  • APCIterator — The APCIterator class
    • APCIterator::__construct — Constructs an APCIterator iterator object
    • APCIterator::current — Get current item
    • APCIterator::getTotalCount — Get total count
    • APCIterator::getTotalHits — Get total cache hits
    • APCIterator::getTotalSize — Get total cache size
    • APCIterator::key — Get iterator key
    • APCIterator::next — Move pointer to next item
    • APCIterator::rewind — Rewinds iterator
    • APCIterator::valid — Checks if current position is valid
Изменение поведения PHP
Введение
Изменение поведения PHP


Введение

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.

APC
Установка и настройка
APC


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
APC


Требования

Для сборки этого расширения не требуются внешние библиотеки.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/apc.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Замечание: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Although the default APC settings are fine for many installations, serious users should consider tuning the following parameters.

There are two primary decisions to be made configuring APC. First, how much memory is going to be allocated to APC; and second, whether APC will check if a file has been modified on every request. The two ini directives that control these settings are apc.shm_size and apc.stat, respectively. Read the sections on these two directive carefully below.

Once the server is running, the apc.php script that is bundled with the extension should be copied somewhere into the docroot and viewed with a browser as it provides a detailed analysis of the internal workings of APC. If GD is enabled in PHP, it will even display some interesting graphs. The first thing to ensure, of course, is that it is actually caching files. If APC is working, the Cache full count number (on the left) will display the number of times the cache has reached maximum capacity and has had to forcefully clean any entries that haven't been accessed in the last apc.ttl seconds. This number is minimized in a well-configured cache. If the cache is constantly being filled, and thusly forcefully freed, the resulting churning will have disparaging effects on script performance. The easiest way to minimize this number is to allocate more memory for APC. Barring that, the apc.filters ought to be used to cache fewer scripts.

When APC is compiled with mmap support (Memory Mapping), it will use only one memory segment, unlike when APC is built with SHM (SysV Shared Memory) support that uses multiple memory segments. MMAP does not have a maximum limit like SHM does in /proc/sys/kernel/shmmax. In general MMAP support is recommeded because it will reclaim the memory faster when the webserver is restarted and all in all reduces memory allocation impact at startup.

APC configuration options
Name | Default | Changeable | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in APC 2. PHP_INI_ALL in APC <= 3.0.12.
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in APC 2. Removed in APC 3.0.13.
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12. Available since APC 3.0.0.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM | Available since APC 3.0.0. Prior to APC 3.1.4, the default value was "0" (disabled).
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Available since APC 3.0.6.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.use_request_time | "1" | PHP_INI_ALL | Available since APC 3.1.3.
apc.stat | "1" | PHP_INI_SYSTEM | Available since APC 3.0.10.
apc.write_lock | "1" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.include_once_override | "0" | PHP_INI_SYSTEM | Available since APC 3.0.12.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_ttl | "3600" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.localcache | "0" | PHP_INI_SYSTEM | Available since APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Available since APC 3.0.14.
apc.coredump_unmap | "0" | PHP_INI_SYSTEM | Available since APC 3.0.16.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.preload_path | NULL | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.file_md5 | "0" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.canonicalize | "1" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.lazy_functions | 0 | PHP_INI_SYSTEM | Available since APC 3.1.3.
apc.lazy_classes | 0 | PHP_INI_SYSTEM | Available since APC 3.1.3.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

apc.enabled boolean

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments integer

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but apc.shm_size is set as high as the system allows, raising this value might prevent APC from exhausting its memory.

apc.shm_size integer

The size of each shared memory segment in MB. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.optimization integer

The optimization level. Zero disables the optimizer, and higher values use more aggressive optimizations. Expect very modest speed improvements. This is experimental.

apc.num_files_hint integer

A "hint" about the number of distinct source files that will be included or requested on your web server. Set to zero or omit if unsure; this setting is mainly useful for sites that have many thousands of source files.

apc.user_entries_hint integer

Just like apc.num_files_hint, a "hint" about the number of distinct user cache variables to store. Set to zero or omit if not sure.

apc.ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.user_ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.gc_ttl integer

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.cache_by_default boolean

On by default, but can be set to off and used in conjunction with positive apc.filters so that files are only cached if matched by a positive filter.

apc.filters string

A comma-separated list of POSIX extended regular expressions. If any pattern matches the source filename, the file will not be cached. Note that the filename used for matching is the one passed to include/require, not the absolute path. If the first character of the expression is a + then the expression will be additive in the sense that any files matched by the expression will be cached, and if the first character is a - then anything matched will not be cached. The - case is the default, so it can be left off.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determining whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense integer

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

Deprecated by apc.write_lock.

apc.file_update_protection integer

When a file is modified on a live web server it really ought to be done in an atomic manner. That is, written to a temporary file and renamed (mv) the file into its permanent position when it is ready. Many text editors, cp, tar and other such programs don't do this. This means that there is a chance that a file is accessed (and cached) while it is still being written to. This apc.file_update_protection setting puts a delay on caching brand new files. The default is 2 seconds, which means that if the modification timestamp (mtime) on a file shows that it is less than 2 seconds old when it is accessed, it will not be cached. The unfortunate person who accessed this half-written file will still see weirdness, but at least it won't persist. If all of the webserver's files are atomically updated, via some method like rsync (which updates correctly), this protection can be disabled by setting this directive to 0. If the system is flooded with i/o and some update procedures are taking longer than 2 seconds, this setting should be increased to enable the protection on those slower update operations.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

apc.max_file_size integer

Prevent files larger than this value from getting cached. Defaults to 1M.

apc.stat integer

Be careful changing this setting. This defaults to on, forcing APC to stat (check) the script on each request to determine if it has been modified. If it has been modified it will recompile and cache the new version. If this setting is off, APC will not check, which usually means that to force APC to recheck files, the web server will have to be restarted or the cache will have to be manually cleared. Note that FastCGI web server configurations may not clear the cache on restart. On a production server where the script files rarely change, a significant performance boost can be achieved by disabled stats.

For included/required files this option applies as well, but note that for relative path includes (any path that doesn't start with / on Unix) APC has to check in order to uniquely identify the file. If you use absolute path includes APC can skip the stat and use that absolute path as the unique identifier for the file.

apc.write_lock boolean

On busy servers, when the web server is first started, or when many files have been modified at the same time, APC may try to compile and cache the same file multiple times. Write_lock guarantees that only one process will attempt to compile and cache an uncached script. The other processes attempting to use the script will run without using the opcode cache, rather than locking and waiting for the cache to prime.

apc.report_autofilter boolean

Logs any scripts that were automatically excluded from being cached due to early/late binding issues.

apc.include_once_override boolean

Optimize include_once() and require_once() calls and avoid the expensive system calls used.

apc.rfc1867 boolean

RFC1867 File Upload Progress hook handler is only available if APC was compiled against PHP 5.2.0 or later. When enabled, any file uploads which includes a field called APC_UPLOAD_PROGRESS before the file field in an upload form will cause APC to automatically create an upload_key user cache entry where key is the value of the APC_UPLOAD_PROGRESS form entry.

Note that the hidden field specified by APC_UPLOAD_PROGRESS must come before the file field, otherwise the upload progress will not work correctly.

Note that the file upload tracking is not threadsafe at this point, so new uploads that happen while a previous one is still going will disable the tracking for the previous.

Пример #1 An apc.rfc1867 example

<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix string

Key prefix to use for the user cache entry generated by rfc1867 upload progress functionality.

apc.rfc1867_name string

Specify the hidden form entry name that activates APC upload progress and specifies the user cache key suffix.

apc.rfc1867_freq string

The frequency that updates should be made to the user cache entry for upload progress. This can take the form of a percentage of the total file size or a size in bytes optionally suffixed with "k", "m", or "g" for kilobytes, megabytes, or gigabytes respectively (case insensitive). A setting of 0 updates as often as possible, which may cause slower uploads.

apc.rfc1867_ttl bool

TTL for rfc1867 entries.

apc.localcache boolean

This enables a lock-free local process shadow-cache which reduces lock contention when the cache is being written to.

apc.localcache.size integer

The size of the local process shadow-cache, should be set to a sufficiently large value, approximately half of apc.num_files_hint.

apc.coredump_unmap boolean

Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. When these signals are received, APC will attempt to unmap the shared memory segment in order to exclude it from the core file. This setting may improve system stability when fatal signals are received and a large APC shared memory segment is configured.

Внимание

This feature is potentially dangerous. Unmapping the shared memory segment in a fatal signal handler may cause undefined behaviour if a fatal error occurs.

Замечание:

Although some kernels may provide a facility to ignore various types of shared memory when generating a core dump file, these implementations may also ignore important shared memory segments such as the Apache scoreboard.

apc.stat_ctime integer

Verification with ctime will avoid problems caused by programs such as svn or rsync by making sure inodes haven't changed since the last stat. APC will normally only check mtime.

apc.canonicalize bool

If on, then relative paths are canonicalized in no-stat mode. If set, then files included via stream wrappers can not be cached as realpath() does not support stream wrappers.

apc.preload_path string

apc.use_request_time bool

Use the SAPI request start time for TTL.

apc.file_md5 bool

Records a md5 hash of files.

apc.lazy_functions integer

Enables lazy loading for functions.

apc.lazy_classes integer

Enables lazy loading for classes.

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

APC_BIN_VERIFY_CRC32 (integer)
APC_BIN_VERIFY_MD5 (integer)
APC_ITER_ALL (integer)
APC_ITER_ATIME (integer)
APC_ITER_CTIME (integer)
APC_ITER_DEVICE (integer)
APC_ITER_DTIME (integer)
APC_ITER_FILENAME (integer)
APC_ITER_INODE (integer)
APC_ITER_KEY (integer)
APC_ITER_MD5 (integer)
APC_ITER_MEM_SIZE (integer)
APC_ITER_MTIME (integer)
APC_ITER_NONE (integer)
APC_ITER_NUM_HITS (integer)
APC_ITER_REFCOUNT (integer)
APC_ITER_TTL (integer)
APC_ITER_TYPE (integer)
APC_ITER_VALUE (integer)
APC_LIST_ACTIVE (integer)
APC_LIST_DELETED (integer)

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


APC
PHP Manual

APC

Содержание

  • apc_add — Cache a variable in the data store
  • apc_bin_dump — Get a binary dump of the given files and user variables
  • apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file
  • apc_bin_load — Load a binary dump into the APC file/user cache
  • apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache
  • apc_cache_info — Retrieves cached information from APC's data store
  • apc_cas — Updates an old value with a new value
  • apc_clear_cache — Clears the APC cache
  • apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.
  • apc_dec — Decrease a stored number
  • apc_define_constants — Defines a set of constants for retrieval and mass-definition
  • apc_delete_file — Deletes files from the opcode cache
  • apc_delete — Removes a stored variable from the cache
  • apc_exists — Checks if APC key exists
  • apc_fetch — Fetch a stored variable from the cache
  • apc_inc — Increase a stored number
  • apc_load_constants — Loads a set of constants from the cache
  • apc_sma_info — Retrieves APC's Shared Memory Allocation information
  • apc_store — Cache a variable in the data store
Предопределенные константы
apc_add
APC
PHP Manual


Cache a variable in the data store

APC
apc_bin_dump
APC
PHP Manual

apc_add

(PECL apc >= 3.0.13)

apc_add — Cache a variable in the data store

Описание

bool apc_add ( string $key [, mixed $var [, int $ttl = 0 ]] )
array apc_add ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Caches a variable in the data store, only if it's not already stored.

Замечание: Unlike many other mechanisms in PHP, variables stored using apc_add() will persist between requests (until the value is removed from the cache).

Список параметров

key

Store the variable using this name. keys are cache-unique, so attempting to use apc_add() to store data with a key that already exists will not overwrite the existing data, and will instead return FALSE. (This is the only difference between apc_add() and apc_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Second syntax returns array with error keys.

Примеры

Пример #1 A apc_add() example

<?php
$bar = 'BAR';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
?>

Результат выполнения данного примера:

string(3) "BAR"
string(3) "BAR"

Смотрите также

  • apc_store() - Cache a variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache
  • apc_delete() - Removes a stored variable from the cache

APC
apc_bin_dump
APC


Get a binary dump of the given files and user variables

apc_add
apc_bin_dumpfile
APC
PHP Manual

apc_bin_dump

(PECL apc >= 3.1.4)

apc_bin_dump — Get a binary dump of the given files and user variables

Описание

string apc_bin_dump ([ array $files [, array $user_vars ]] )

Returns a binary dump of the given files and user variables from the APC cache. A NULL for files or user_vars signals a dump of every entry, whereas array() will dump nothing.

Список параметров

files

The files. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing.

user_vars

The user vars. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing.

Возвращаемые значения

Returns a binary dump of the given files and user variables from the APC cache, FALSE if APC is not enabled, or NULL if an unknown error is encountered.

Смотрите также

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_add
apc_bin_dumpfile
APC


Output a binary dump of cached files and user variables to a file

apc_bin_dump
apc_bin_load
APC
PHP Manual

apc_bin_dumpfile

(PECL apc >= 3.1.4)

apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file

Описание

int apc_bin_dumpfile ( array $files , array $user_vars , string $filename [, int $flags = 0 [, resource $context ]] )

Outputs a binary dump of the given files and user variables from the APC cache to the named file.

Список параметров

files

The file names being dumped.

user_vars

The user variables being dumped.

filename

The filename where the dump is being saved.

flags

Flags passed to the filename stream. See the file_put_contents() documentation for details.

context

The context passed to the filename stream. See the file_put_contents() documentation for details.

Возвращаемые значения

The number of bytes written to the file, otherwise FALSE if APC is not enabled, filename is an invalid file name, filename can't be opened, the file dump can't be completed (e.g., the hard drive is out of disk space), or an unknown error was encountered.

Смотрите также

  • apc_bin_dump() - Get a binary dump of the given files and user variables
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_bin_dump
apc_bin_load
APC


Load a binary dump into the APC file/user cache

apc_bin_dumpfile
apc_bin_loadfile
APC
PHP Manual

apc_bin_load

(PECL apc >= 3.1.4)

apc_bin_load — Load a binary dump into the APC file/user cache

Описание

bool apc_bin_load ( string $data [, int $flags = 0 ] )

Loads the given binary dump into the APC file/user cache.

Список параметров

data

The binary dump being loaded, likely from apc_bin_dump().

flags

Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both.

Возвращаемые значения

Returns TRUE if the binary dump data was loaded with success, otherwise FALSE is returned. FALSE is returned if APC is not enabled, or if the data is not a valid APC binary dump (e.g., unexpected size).

Примеры

Пример #1 apc_bin_load() example

<?php
$data = apc_bin_dump(NULL, NULL);
apc_bin_load($data, APC_BIN_VERIFY_MD5 | APC_BIN_VERIFY_CRC32);
?>

Смотрите также

  • apc_bin_dump() - Get a binary dump of the given files and user variables
  • apc_bin_loadfile() - Load a binary dump from a file into the APC file/user cache
apc_bin_dumpfile
apc_bin_loadfile
APC


Load a binary dump from a file into the APC file/user cache

apc_bin_load
apc_cache_info
APC
PHP Manual

apc_bin_loadfile

(PECL apc >= 3.1.4)

apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache

Описание

bool apc_bin_loadfile ( string $filename [, resource $context [, int $flags ]] )

Loads a binary dump from a file into the APC file/user cache.

Список параметров

filename

The file name containing the dump, likely from apc_bin_dumpfile().

context

The files context.

flags

Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both.

Возвращаемые значения

Returns TRUE on success, otherwise FALSE Reasons it may return FALSE include APC is not enabled, filename is an invalid file name or empty, filename can't be opened, the file dump can't be completed, or if the data is not a valid APC binary dump (e.g., unexpected size).

Смотрите также

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_bin_load
apc_cache_info
APC


Retrieves cached information from APC's data store

apc_bin_loadfile
apc_cas
APC
PHP Manual

apc_cache_info

(PECL apc >= 2.0.0)

apc_cache_info — Retrieves cached information from APC's data store

Описание

array apc_cache_info ([ string $cache_type [, bool $limited = false ]] )

Retrieves cached information and meta-data from APC's data store.

Возвращаемые значения

Array of cached data (and meta-data) или FALSE в случае возникновения ошибки

Замечание: apc_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Список параметров

cache_type

If cache_type is "user", information about the user cache will be returned.

If cache_type is "filehits", information about which files have been served from the bytecode cache for the current request will be returned. This feature must be enabled at compile time using --enable-filehits .

If an invalid or no cache_type is specified, information about the system cache (cached files) will be returned.

limited

If limited is TRUE, the return value will exclude the individual list of cache entries. This is useful when trying to optimize calls for statistics gathering.

Список изменений

Версия | Описание
3.0.11 | The limited parameter was introduced.
3.0.16 | The "filehits" option for the cache_type parameter was introduced.

Примеры

Пример #1 A apc_cache_info() example

<?php
print_r(apc_cache_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Смотрите также

  • APC configuration directives
  • APCIterator::getTotalSize() - Get total cache size
  • APCIterator::getTotalHits() - Get total cache hits
  • APCIterator::getTotalCount() - Get total count

apc_bin_loadfile
apc_cas
APC


Updates an old value with a new value

apc_cache_info
apc_clear_cache
APC
PHP Manual

apc_cas

(PECL apc >= 3.1.1)

apc_cas — Updates an old value with a new value

Описание

bool apc_cas ( string $key , int $old , int $new )

apc_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

Список параметров

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apc_cas() example

<?php
apc_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apc_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
?>

Результатом выполнения данного примера будет что-то подобное:

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Смотрите также

  • apc_dec() - Decrease a stored number
  • apc_store() - Cache a variable in the data store
apc_cache_info
apc_clear_cache
APC


Clears the APC cache

apc_cas
apc_compile_file
APC
PHP Manual

apc_clear_cache

(PECL apc >= 2.0.0)

apc_clear_cache — Clears the APC cache

Описание

bool apc_clear_cache ([ string $cache_type ] )

Clears the user/system cache.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список параметров

cache_type

If cache_type is "user", the user cache will be cleared; otherwise, the system cache (cached files) will be cleared.

Смотрите также

  • apc_cache_info() - Retrieves cached information from APC's data store

apc_cas
apc_compile_file
APC


Stores a file in the bytecode cache, bypassing all filters.

apc_clear_cache
apc_dec
APC
PHP Manual

apc_compile_file

(PECL apc >= 3.0.13)

apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.

Описание

mixed apc_compile_file ( string $filename [, bool $atomic = true ] )

Stores a file in the bytecode cache, bypassing all filters.

Список параметров

filename

Full or relative path to a PHP file that will be compiled and stored in the bytecode cache.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_loadfile() - Load a binary dump from a file into the APC file/user cache
apc_clear_cache
apc_dec
APC


Decrease a stored number

apc_compile_file
apc_define_constants
APC
PHP Manual

apc_dec

(PECL apc >= 3.1.1)

apc_dec — Decrease a stored number

Описание

int apc_dec ( string $key [, int $step = 1 [, bool &$success ]] )

Decreases a stored integer value.

Список параметров

key

The key of the value being decreased.

step

The step, or value to decrease.

success

Optionally pass the success or fail boolean value to this referenced variable.

Возвращаемые значения

Returns the current value of key's value on success, или FALSE в случае возникновения ошибки

Примеры

Пример #1 apc_dec() example

<?php
echo "Let's do something with success", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_dec('anumber'), PHP_EOL;
echo apc_dec('anumber', 10), PHP_EOL;
echo apc_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Результатом выполнения данного примера будет что-то подобное:

Let's do something with success
42
41
31
21
bool(true)

Now, let's fail
bool(false)
bool(false)

Смотрите также

  • apc_inc() - Increase a stored number
apc_compile_file
apc_define_constants
APC


Defines a set of constants for retrieval and mass-definition

apc_dec
apc_delete_file
APC
PHP Manual

apc_define_constants

(PECL apc >= 3.0.0)

apc_define_constants — Defines a set of constants for retrieval and mass-definition

Описание

bool apc_define_constants ( string $key , array $constants [, bool $case_sensitive = true ] )

define() is notoriously slow. Since the main benefit of APC is to increase the performance of scripts/applications, this mechanism is provided to streamline the process of mass constant definition. However, this function does not perform as well as anticipated.

For a better-performing solution, try the » hidef extension from PECL.

Замечание: To remove a set of stored constants (without clearing the entire cache), an empty array may be passed as the constants parameter, effectively clearing the stored value(s).

Список параметров

key

The key serves as the name of the constant set being stored. This key is used to retrieve the stored constants in apc_load_constants().

constants

An associative array of constant_name => value pairs. The constant_name must follow the normal constant naming rules. value must evaluate to a scalar value.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apc_define_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
echo ONE, TWO, THREE;
?>

Результат выполнения данного примера:

123

Смотрите также

  • apc_load_constants() - Loads a set of constants from the cache
  • define() - Определяет именованную константу
  • constant() - Возвращает значение константы
  • Or the PHP constants reference

apc_dec
apc_delete_file
APC


Deletes files from the opcode cache

apc_define_constants
apc_delete
APC
PHP Manual

apc_delete_file

(PECL apc >= 3.1.1)

apc_delete_file — Deletes files from the opcode cache

Описание

mixed apc_delete_file ( mixed $keys )

Deletes the given files from the opcode cache.

Список параметров

keys

The files to be deleted. Accepts a string, array of strings, or an APCIterator object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Or if keys is an array, then an empty array is returned on success, or an array of failed files is returned.

Примеры

Пример #1 apc_delete_file() example

<?php
$filename = 'file.php';

if (apc_compile_file($filename)) {

    if (apc_delete_file($filename)) {
        echo "Successfully deleted file $filename from APC cache.", PHP_EOL;
    }
}

if (apc_compile_file($filename)) {

    if ($good = apc_delete_file(array($filename, 'donotexist.php'))) {
        var_dump($good);
    }
}

$bad = apc_delete_file('donotexist.php');
var_dump($bad);
?>

Результатом выполнения данного примера будет что-то подобное:

Successfully deleted file file.php from APC cache.
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
  [0]=>
  string(14) "donotexist.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)

Смотрите также

  • apc_clear_cache() - Clears the APC cache
  • apc_delete() - Removes a stored variable from the cache
  • apc_exists() - Checks if APC key exists
apc_define_constants
apc_delete
APC


Removes a stored variable from the cache

apc_delete_file
apc_exists
APC
PHP Manual

apc_delete

(PECL apc >= 3.0.0)

apc_delete — Removes a stored variable from the cache

Описание

mixed apc_delete ( string $key )

Removes a stored variable from the cache.

Список параметров

key

The key used to store the value (with apc_store()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A apc_delete() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// this is obviously useless in this form
?>

Смотрите также

  • apc_store() - Cache a variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache

apc_delete_file
apc_exists
APC


Checks if APC key exists

apc_delete
apc_fetch
APC
PHP Manual

apc_exists

(PECL apc >= 3.1.4)

apc_exists — Checks if APC key exists

Описание

mixed apc_exists ( mixed $keys )

Checks if one ore more APC keys exist.

Список параметров

keys

A string, or an array of strings, that contain keys.

Возвращаемые значения

Returns TRUE if the key exists, otherwise FALSE Or if an array was passed to keys, then an array is returned that contains all existing keys, or an empty array if none exist.

Примеры

Пример #1 apc_exists() example

<?php
$fruit  = 'apple';
$veggie = 'carrot';

apc_store('foo', $fruit);
apc_store('bar', $veggie);

if (apc_exists('foo')) {
    echo "Foo exists: ";
    echo apc_fetch('foo');
} else {
    echo "Foo does not exist";
}

echo PHP_EOL;
if (apc_exists('baz')) {
    echo "Baz exists.";
} else {
    echo "Baz does not exist";
}

echo PHP_EOL;

$ret = apc_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

Результатом выполнения данного примера будет что-то подобное:

Foo exists: apple
Baz does not exist
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Смотрите также

  • apc_cache_info() - Retrieves cached information from APC's data store
  • apc_fetch() - Fetch a stored variable from the cache
apc_delete
apc_fetch
APC


Fetch a stored variable from the cache

apc_exists
apc_inc
APC
PHP Manual

apc_fetch

(PECL apc >= 3.0.0)

apc_fetch — Fetch a stored variable from the cache

Описание

mixed apc_fetch ( mixed $key [, bool &$success ] )

Fetchs a stored variable from the cache.

Список параметров

key

The key used to store the value (with apc_store()). If an array is passed then each element is fetched and returned.

success

Set to TRUE in success and FALSE in failure.

Возвращаемые значения

The stored variable or array of variables on success; FALSE on failure

Примеры

Пример #1 A apc_fetch() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

Результат выполнения данного примера:

string(3) "BAR"

Список изменений

Версия | Описание
3.0.17 | The success parameter was added.

Смотрите также

  • apc_store() - Cache a variable in the data store
  • apc_delete() - Removes a stored variable from the cache
  • APCIterator

apc_exists
apc_inc
APC


Increase a stored number

apc_fetch
apc_load_constants
APC
PHP Manual

apc_inc

(PECL apc >= 3.1.1)

apc_inc — Increase a stored number

Описание

int apc_inc ( string $key [, int $step = 1 [, bool &$success ]] )

Increases a stored number.

Список параметров

key

The key of the value being increased.

step

The step, or value to increase.

success

Optionally pass the success or fail boolean value to this referenced variable.

Возвращаемые значения

Returns the current value of key's value on success, или FALSE в случае возникновения ошибки

Примеры

Пример #1 apc_inc() example

<?php
echo "Let's do something with success", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_inc('anumber'), PHP_EOL;
echo apc_inc('anumber', 10), PHP_EOL;
echo apc_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Результатом выполнения данного примера будет что-то подобное:

42
43
53
63
bool(true)
Now, let's fail

bool(false)
bool(false)

Смотрите также

  • apc_dec() - Decrease a stored number
apc_fetch
apc_load_constants
APC


Loads a set of constants from the cache

apc_inc
apc_sma_info
APC
PHP Manual

apc_load_constants

(PECL apc >= 3.0.0)

apc_load_constants — Loads a set of constants from the cache

Описание

bool apc_load_constants ( string $key [, bool $case_sensitive = true ] )

Loads a set of constants from the cache.

Список параметров

key

The name of the constant set (that was stored with apc_define_constants()) to be retrieved.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apc_load_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo ONE, TWO, THREE;
?>

Результат выполнения данного примера:

123

Смотрите также

  • apc_define_constants() - Defines a set of constants for retrieval and mass-definition
  • define() - Определяет именованную константу
  • constant() - Возвращает значение константы
  • Or the PHP constants reference

apc_inc
apc_sma_info
APC


Retrieves APC's Shared Memory Allocation information

apc_load_constants
apc_store
APC
PHP Manual

apc_sma_info

(PECL apc >= 2.0.0)

apc_sma_info — Retrieves APC's Shared Memory Allocation information

Описание

array apc_sma_info ([ bool $limited = false ] )

Retrieves APC's Shared Memory Allocation information.

Список параметров

limited

When set to FALSE (default) apc_sma_info() will return a detailed information about each segment.

Возвращаемые значения

Array of Shared Memory Allocation data; FALSE on failure.

Примеры

Пример #1 A apc_sma_info() example

<?php
print_r(apc_sma_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Смотрите также

  • APC configuration directives

apc_load_constants
apc_store
APC


Cache a variable in the data store

apc_sma_info
APCIterator
APC
PHP Manual

apc_store

(PECL apc >= 3.0.0)

apc_store — Cache a variable in the data store

Описание

bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_store ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Cache a variable in the data store.

Замечание: Unlike many other mechanisms in PHP, variables stored using apc_store() will persist between requests (until the value is removed from the cache).

Список параметров

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Second syntax returns array with error keys.

Примеры

Пример #1 A apc_store() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

Результат выполнения данного примера:

string(3) "BAR"

Смотрите также

  • apc_add() - Cache a variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache
  • apc_delete() - Removes a stored variable from the cache

apc_sma_info
APCIterator
APC


The APCIterator class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The APCIterator class makes it easier to iterate over large APC caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.

Обзор классов

APCIterator implements Iterator , Traversable {
/* Methods */
__construct ( string $cache [, mixed $search = null [, int $format [, int $chunk_size = 100 [, int $list ]]]] )
public mixed current ( void )
public int getTotalCount ( void )
public int getTotalHits ( void )
public int getTotalSize ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Содержание

  • APCIterator::__construct — Constructs an APCIterator iterator object
  • APCIterator::current — Get current item
  • APCIterator::getTotalCount — Get total count
  • APCIterator::getTotalHits — Get total cache hits
  • APCIterator::getTotalSize — Get total cache size
  • APCIterator::key — Get iterator key
  • APCIterator::next — Move pointer to next item
  • APCIterator::rewind — Rewinds iterator
  • APCIterator::valid — Checks if current position is valid
apc_store
APCIterator::__construct
APC


Constructs an APCIterator iterator object

APCIterator
APCIterator::current
APCIterator
PHP Manual

APCIterator::__construct

(PECL apc >= 3.1.1)

APCIterator::__construct — Constructs an APCIterator iterator object

Описание

APCIterator::__construct ( string $cache [, mixed $search = null [, int $format [, int $chunk_size = 100 [, int $list ]]]] )

Constructs an APCIterator object.

Список параметров

cache

The cache type, which will be user or file.

search

A PCRE regular expression that matches against APC key names, either as a string for a single regular expression, or as an array of regular expressions. Or, optionally pass in NULL to skip the search.

format

The desired format, as configured with one ore more of the APC_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED.

Возвращаемые значения

An APCIterator object on success, or NULL on failure.

Смотрите также

  • apc_exists() - Checks if APC key exists
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator
APCIterator::current
APCIterator


Get current item

APCIterator::__construct
APCIterator::getTotalCount
APCIterator
PHP Manual

APCIterator::current

(PECL apc >= 3.1.1)

APCIterator::current — Get current item

Описание

public mixed APCIterator::current ( void )

Gets the current item from the APCIterator stack.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current item on success, or FALSE if no more items or exist, or on failure.

Смотрите также

  • APCIterator::next() - Move pointer to next item
  • Iterator::current() - Возвращает текущий элемент
APCIterator::__construct
APCIterator::getTotalCount
APCIterator


Get total count

APCIterator::current
APCIterator::getTotalHits
APCIterator
PHP Manual

APCIterator::getTotalCount

(PECL apc >= 3.1.1)

APCIterator::getTotalCount — Get total count

Описание

public int APCIterator::getTotalCount ( void )

Get the total count.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The total count.

Смотрите также

  • APCIterator::getTotalHits() - Get total cache hits
  • APCIterator::getTotalSize() - Get total cache size
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::current
APCIterator::getTotalHits
APCIterator


Get total cache hits

APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator
PHP Manual

APCIterator::getTotalHits

(PECL apc >= 3.1.1)

APCIterator::getTotalHits — Get total cache hits

Описание

public int APCIterator::getTotalHits ( void )

Gets the total number of cache hits.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of hits on success, or FALSE on failure.

Смотрите также

  • APCIterator::getTotalCount() - Get total count
  • APCIterator::getTotalSize() - Get total cache size
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator


Get total cache size

APCIterator::getTotalHits
APCIterator::key
APCIterator
PHP Manual

APCIterator::getTotalSize

(PECL apc >= 3.1.1)

APCIterator::getTotalSize — Get total cache size

Описание

public int APCIterator::getTotalSize ( void )

Gets the total cache size.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The total cache size.

Смотрите также

  • APCIterator::getTotalCount() - Get total count
  • APCIterator::getTotalHits() - Get total cache hits
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::getTotalHits
APCIterator::key
APCIterator


Get iterator key

APCIterator::getTotalSize
APCIterator::next
APCIterator
PHP Manual

APCIterator::key

(PECL apc >= 3.1.1)

APCIterator::key — Get iterator key

Описание

public string APCIterator::key ( void )

Gets the current iterator key.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the key on success, or FALSE upon failure.

Смотрите также

  • APCIterator::current() - Get current item
  • Iterator::key() - Возвращает ключ текущего элемента
APCIterator::getTotalSize
APCIterator::next
APCIterator


Move pointer to next item

APCIterator::key
APCIterator::rewind
APCIterator
PHP Manual

APCIterator::next

(PECL apc >= 3.1.1)

APCIterator::next — Move pointer to next item

Описание

public void APCIterator::next ( void )

Moves the iterator pointer to the next element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • APCIterator::current() - Get current item
  • APCIterator::rewind() - Rewinds iterator
  • Iterator::next() - Переходит к следующему элементу
APCIterator::key
APCIterator::rewind
APCIterator


Rewinds iterator

APCIterator::next
APCIterator::valid
APCIterator
PHP Manual

APCIterator::rewind

(PECL apc >= 3.1.1)

APCIterator::rewind — Rewinds iterator

Описание

public void APCIterator::rewind ( void )

Rewinds back the iterator to the first element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

Смотрите также

  • APCIterator::next() - Move pointer to next item
  • Iterator::next() - Переходит к следующему элементу
APCIterator::next
APCIterator::valid
APCIterator


Checks if current position is valid

APCIterator::rewind
APD
APCIterator
PHP Manual

APCIterator::valid

(PECL apc >= 3.1.1)

APCIterator::valid — Checks if current position is valid

Описание

public void APCIterator::valid ( void )

Checks if the current iterator position is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current iterator position is valid, otherwise FALSE.

Смотрите также

  • APCIterator::current() - Get current item
  • Iterator::valid() - Проверка корректности позиции
APCIterator::rewind
APD
APCIterator


Расширенный отладчик PHP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Building on Win32
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Использование PHP-APD в скриптах
  • APD Функции
    • apd_breakpoint — Stops the interpreter and waits on a CR from the socket
    • apd_callstack — Returns the current call stack as an array
    • apd_clunk — Throw a warning and a callstack
    • apd_continue — Restarts the interpreter
    • apd_croak — Throw an error, a callstack and then exit
    • apd_dump_function_table — Outputs the current function table
    • apd_dump_persistent_resources — Return all persistent resources as an array
    • apd_dump_regular_resources — Return all current regular resources as an array
    • apd_echo — Echo to the debugging socket
    • apd_get_active_symbols — Get an array of the current variables names in the local scope
    • apd_set_pprof_trace — Starts the session debugging
    • apd_set_session_trace_socket — Starts the remote session debugging
    • apd_set_session_trace — Starts the session debugging
    • apd_set_session — Changes or sets the current debugging level
    • override_function — Overrides built-in functions
    • rename_function — Renames orig_name to new_name in the global function table
APCIterator::valid
Введение
Изменение поведения PHP


Введение

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

Предостережение

APD является Zend расширением, изменяющим схему вызовов функции PHP дескриптора, и также может или не может быть совместим с другими расширениями Zend (к примеру, с Zend Optimizer).

APD
Установка и настройка
APD


Установка и настройка

Содержание

  • Требования
  • Установка
  • Building on Win32
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
APD


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/apd.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

In your INI file, add the following lines:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

Depending on your PHP build, the zend_extension directive can be one of the following:

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Требования
Building on Win32
Установка и настройка


Building on Win32

To build APD under Windows you need a working PHP compilation environment as described on http://php.net/ -- basically, it requires you to have Microsoft Visual C++, win32build.zip, bison/flex, and some know how to get it to work. Also ensure that adp.dsp has DOS line endings; if it has unix line endings, Microsoft Visual C++ will complain about it.

Установка
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

APD Configuration Options
Name | Default | Changeable | Changelog
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Available since apd 0.9.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

apd.dumpdir string

Sets the directory in which APD writes profile dump files. You can specify an absolute path or a relative path.

You can specify a different directory as an argument to apd_set_pprof_trace().

apd.statement_tracing boolean

Specfies whether or not to do per-line tracings. Turning this on (1) will impact the performance of your application.

Building on Win32
Типы ресурсов
Установка и настройка


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

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

Константы APD
Константа | Значение | Описание
FUNCTION_TRACE (integer) | 1 |
ARGS_TRACE (integer) | 2 |
ASSIGNMENT_TRACE (integer) | 4 |
STATEMENT_TRACE (integer) | 8 |
MEMORY_TRACE (integer) | 16 |
TIMING_TRACE (integer) | 32 |
SUMMARY_TRACE (integer) | 64 |
ERROR_TRACE (integer) | 128 |
PROF_TRACE (integer) | 256 |
APD_VERSION (string) | пример: 1.0.2-dev |
Типы ресурсов
Примеры
APD


Примеры

Содержание

  • Использование PHP-APD в скриптах
Предопределенные константы
Использование PHP-APD в скриптах
APD


Использование PHP-APD в скриптах

  1. В первой строке скрипта вызывается apd_set_pprof_trace()(), которая запускает трассировку:

    <?php
    apd_set_pprof_trace    ();
    ?>

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

  2. Выходной дамп после запуска скрипта будет записан в apd.dumpdir/pprof_pid.ext.

    Подсказка

    Если используется CGI версия PHP, то необходимо добавить флаг '-e' включающий расширенную информацию для корректной работы APD. Например: php -e -f script.php

  3. Для отображения форматированных данных профиля, необходимо выполнить команду pprofp с сортировкой и другими выбранными параметрами отображения. Форматированный вывод будет выглядеть примерно так:

    bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    Опция -R используемая этом примере сортирует профильную таблицу по количеству реального времени, которое скрипт потратил на выполнение каждой функции. Поле "cumm call" показывает сколько обращений было совершено к каждой функции, а "s/call" поле показывает сколько в среднем секунд было затрачено на каждое обращение.

  4. Для генерации стека вызовов в файл профиля KCacheGrind анализируемого приложения, требуется вызов команды pprof2calltree.

Примеры
APD Функции
Примеры


APD Функции

Contact information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can send an mail to » apd@mail.communityconnect.com. Any help is very welcome.

Содержание

  • apd_breakpoint — Stops the interpreter and waits on a CR from the socket
  • apd_callstack — Returns the current call stack as an array
  • apd_clunk — Throw a warning and a callstack
  • apd_continue — Restarts the interpreter
  • apd_croak — Throw an error, a callstack and then exit
  • apd_dump_function_table — Outputs the current function table
  • apd_dump_persistent_resources — Return all persistent resources as an array
  • apd_dump_regular_resources — Return all current regular resources as an array
  • apd_echo — Echo to the debugging socket
  • apd_get_active_symbols — Get an array of the current variables names in the local scope
  • apd_set_pprof_trace — Starts the session debugging
  • apd_set_session_trace_socket — Starts the remote session debugging
  • apd_set_session_trace — Starts the session debugging
  • apd_set_session — Changes or sets the current debugging level
  • override_function — Overrides built-in functions
  • rename_function — Renames orig_name to new_name in the global function table
Использование PHP-APD в скриптах
apd_breakpoint
APD


Stops the interpreter and waits on a CR from the socket

APD Функции
apd_callstack
APD Функции
PHP Manual

apd_breakpoint

(PECL apd >= 0.2)

apd_breakpoint — Stops the interpreter and waits on a CR from the socket

Описание

bool apd_breakpoint ( int $debug_level )

This can be used to stop the running of your script, and await responses on the connected socket. To step the program, just send enter (a blank line), or enter a php command to be executed.

Список параметров

debug_level

Целое число, полученное сложением констант XXX_TRACE.

Не рекомендуется использовать константу MEMORY_TRACE. Это очень медленно и может давать неточные результаты. ASSIGNMENT_TRACE еще не реализовано.

Для включения всех видов отслеживания функций (TIMING, FUNCTIONS, ARGS SUMMARY (наподобие strace -c)) используйте значение 99

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Typical session using tcplisten

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);

APD Функции
apd_callstack
APD Функции


Returns the current call stack as an array

apd_breakpoint
apd_clunk
APD Функции
PHP Manual

apd_callstack

(PECL apd 0.2-0.4)

apd_callstack — Returns the current call stack as an array

Описание

array apd_callstack ( void )

Returns the current call stack as an array

Возвращаемые значения

An array containing the current call stack.

Примеры

Пример #1 apd_callstack() example

<?php
print_r(apd_callstack());
?>

apd_breakpoint
apd_clunk
APD Функции


Throw a warning and a callstack

apd_callstack
apd_continue
APD Функции
PHP Manual

apd_clunk

(PECL apd 0.2-0.4)

apd_clunk — Throw a warning and a callstack

Описание

void apd_clunk ( string $warning [, string $delimiter ] )

Behaves like perl's Carp::cluck. Throw a warning and a callstack.

Список параметров

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

Возвращаемые значения

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

Примеры

Пример #1 apd_clunk() example

<?php
apd_clunk("Some Warning", "<br/>");
?>

Смотрите также

  • apd_croak() - Throw an error, a callstack and then exit

apd_callstack
apd_continue
APD Функции


Restarts the interpreter

apd_clunk
apd_croak
APD Функции
PHP Manual

apd_continue

(PECL apd >= 0.2)

apd_continue — Restarts the interpreter

Описание

bool apd_continue ( int $debug_level )

Usually sent via the socket to restart the interpreter.

Список параметров

debug_level

Целое число, полученное сложением констант XXX_TRACE.

Не рекомендуется использовать константу MEMORY_TRACE. Это очень медленно и может давать неточные результаты. ASSIGNMENT_TRACE еще не реализовано.

Для включения всех видов отслеживания функций (TIMING, FUNCTIONS, ARGS SUMMARY (наподобие strace -c)) используйте значение 99

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apd_continue() example

<?php
apd_continue(0);
?>

apd_clunk
apd_croak
APD Функции


Throw an error, a callstack and then exit

apd_continue
apd_dump_function_table
APD Функции
PHP Manual

apd_croak

(PECL apd 0.2-0.4)

apd_croak — Throw an error, a callstack and then exit

Описание

void apd_croak ( string $warning [, string $delimiter ] )

Behaves like perl's Carp::croak. Throw an error, a callstack and then exit.

Список параметров

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

Возвращаемые значения

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

Примеры

Пример #1 apd_croak() example

<?php
apd_croak("Some Warning","<P>");
?>

Смотрите также

  • apd_clunk() - Throw a warning and a callstack

apd_continue
apd_dump_function_table
APD Функции


Outputs the current function table

apd_croak
apd_dump_persistent_resources
APD Функции
PHP Manual

apd_dump_function_table

(Unknown)

apd_dump_function_table — Outputs the current function table

Описание

void apd_dump_function_table ( void )

Outputs the current function table.

Возвращаемые значения

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

Примеры

Пример #1 apd_dump_function_table() example

<?php
apd_dump_function_table();
?>

apd_croak
apd_dump_persistent_resources
APD Функции


Return all persistent resources as an array

apd_dump_function_table
apd_dump_regular_resources
APD Функции
PHP Manual

apd_dump_persistent_resources

(PECL apd 0.2-0.4)

apd_dump_persistent_resources — Return all persistent resources as an array

Описание

array apd_dump_persistent_resources ( void )

Return all persistent resources as an array.

Возвращаемые значения

An array containing the current call stack.

Примеры

Пример #1 apd_dump_persistent_resources() example

<?php
print_r(apd_dump_persistent_resources());
?>

Смотрите также

  • apd_dump_regular_resources() - Return all current regular resources as an array

apd_dump_function_table
apd_dump_regular_resources
APD Функции


Return all current regular resources as an array

apd_dump_persistent_resources
apd_echo
APD Функции
PHP Manual

apd_dump_regular_resources

(PECL apd 0.2-0.4)

apd_dump_regular_resources — Return all current regular resources as an array

Описание

array apd_dump_regular_resources ( void )

Return all current regular resources as an array.

Возвращаемые значения

An array containing the current regular resources.

Примеры

Пример #1 apd_dump_regular_resources() example

<?php
print_r(apd_dump_regular_resources());
?>

Смотрите также

  • apd_dump_persistent_resources() - Return all persistent resources as an array

apd_dump_persistent_resources
apd_echo
APD Функции


Echo to the debugging socket

apd_dump_regular_resources
apd_get_active_symbols
APD Функции
PHP Manual

apd_echo

(PECL apd >= 0.2)

apd_echo — Echo to the debugging socket

Описание

bool apd_echo ( string $output )

Usually sent via the socket to request information about the running script.

Список параметров

output

The debugged variable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apd_echo() example

<?php
apd_echo($i);
?>

apd_dump_regular_resources
apd_get_active_symbols
APD Функции


Get an array of the current variables names in the local scope

apd_echo
apd_set_pprof_trace
APD Функции
PHP Manual

apd_get_active_symbols

(PECL apd 0.2)

apd_get_active_symbols — Get an array of the current variables names in the local scope

Описание

array apd_get_active_symbols ( void )

Returns the names of all the variables defined in the active scope, (not their values).

Возвращаемые значения

A multidimensional array with all the variables.

Примеры

Пример #1 apd_get_active_symbols() example

<?php
apd_echo(apd_get_active_symbols());
?>

apd_echo
apd_set_pprof_trace
APD Функции


Starts the session debugging

apd_get_active_symbols
apd_set_session_trace_socket
APD Функции
PHP Manual

apd_set_pprof_trace

(PECL apd >= 0.2)

apd_set_pprof_trace — Starts the session debugging

Описание

string apd_set_pprof_trace ([ string $dump_directory [, string $fragment = "pprof" ]] )

Starts debugging to pprof_{process_id} in the dump directory.

Список параметров

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

fragment

Возвращаемые значения

Returns path of the destination file.

Примеры

Пример #1 apd_set_pprof_trace() example

<?php
apd_set_pprof_trace();
?>

Смотрите также

  • apd_set_session_trace() - Starts the session debugging

apd_get_active_symbols
apd_set_session_trace_socket
APD Функции


Starts the remote session debugging

apd_set_pprof_trace
apd_set_session_trace
APD Функции
PHP Manual

apd_set_session_trace_socket

(PECL apd >= 0.2)

apd_set_session_trace_socket — Starts the remote session debugging

Описание

bool apd_set_session_trace_socket ( string $tcp_server , int $socket_type , int $port , int $debug_level )

Connects to the specified tcp_server (eg. tcplisten) and sends debugging data to the socket.

Список параметров

tcp_server

IP or Unix Domain socket (like a file) of the TCP server.

socket_type

Can be AF_UNIX for file based sockets or APD_AF_INET for standard tcp/ip.

port

You can use any port, but higher numbers are better as most of the lower numbers may be used by other system services.

debug_level

Целое число, полученное сложением констант XXX_TRACE.

Не рекомендуется использовать константу MEMORY_TRACE. Это очень медленно и может давать неточные результаты. ASSIGNMENT_TRACE еще не реализовано.

Для включения всех видов отслеживания функций (TIMING, FUNCTIONS, ARGS SUMMARY (наподобие strace -c)) используйте значение 99

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 apd_set_session_trace_socket() example

<?php
  apd_set_session_trace_socket("127.0.0.1",APD_AF_INET,7112,0);
?>

apd_set_pprof_trace
apd_set_session_trace
APD Функции


Starts the session debugging

apd_set_session_trace_socket
apd_set_session
APD Функции
PHP Manual

apd_set_session_trace

(PECL apd 0.2-0.4)

apd_set_session_trace — Starts the session debugging

Описание

void apd_set_session_trace ( int $debug_level [, string $dump_directory ] )

Starts debugging to apd_dump_{process_id} in the dump directory.

Список параметров

debug_level

Целое число, полученное сложением констант XXX_TRACE.

Не рекомендуется использовать константу MEMORY_TRACE. Это очень медленно и может давать неточные результаты. ASSIGNMENT_TRACE еще не реализовано.

Для включения всех видов отслеживания функций (TIMING, FUNCTIONS, ARGS SUMMARY (наподобие strace -c)) используйте значение 99

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

Возвращаемые значения

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

Примеры

Пример #1 apd_set_session_trace() example

<?php
apd_set_session_trace(99);
?>

apd_set_session_trace_socket
apd_set_session
APD Функции


Changes or sets the current debugging level

apd_set_session_trace
override_function
APD Функции
PHP Manual

apd_set_session

(PECL apd 0.2-0.4)

apd_set_session — Changes or sets the current debugging level

Описание

void apd_set_session ( int $debug_level )

This can be used to increase or decrease debugging in a different area of your application.

Список параметров

debug_level

Целое число, полученное сложением констант XXX_TRACE.

Не рекомендуется использовать константу MEMORY_TRACE. Это очень медленно и может давать неточные результаты. ASSIGNMENT_TRACE еще не реализовано.

Для включения всех видов отслеживания функций (TIMING, FUNCTIONS, ARGS SUMMARY (наподобие strace -c)) используйте значение 99

Возвращаемые значения

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

Примеры

Пример #1 apd_set_session() example

<?php
apd_set_session(9);
?>

apd_set_session_trace
override_function
APD Функции


Overrides built-in functions

apd_set_session
rename_function
APD Функции
PHP Manual

override_function

(PECL apd >= 0.2)

override_function — Overrides built-in functions

Описание

bool override_function ( string $function_name , string $function_args , string $function_code )

Overrides built-in functions by replacing them in the symbol table.

Список параметров

function_name

The function to override.

function_args

The function arguments, as a comma separated string.

Usually you will want to pass this parameter, as well as the function_code parameter, as a single quote delimited string. The reason for using single quoted strings, is to protect the variable names from parsing, otherwise, if you use double quotes there will be a need to escape the variable names, e.g. \$your_var.

function_code

The new code for the function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 override_function() example

<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>

apd_set_session
rename_function
APD Функции


Renames orig_name to new_name in the global function table

override_function
bcompiler
APD Функции
PHP Manual

rename_function

(PECL apd >= 0.2)

rename_function — Renames orig_name to new_name in the global function table

Описание

bool rename_function ( string $original_name , string $new_name )

Renames a orig_name to new_name in the global function table. Useful for temporarily overriding built-in functions.

Список параметров

original_name

The original function name.

new_name

The new name for the original_name function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 rename_function() example

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

override_function
bcompiler
APD Функции


PHP bytecode Compiler

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • bcompiler Функции
    • bcompiler_load_exe — Reads and creates classes from a bcompiler exe file
    • bcompiler_load — Reads and creates classes from a bz compressed file
    • bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function
    • bcompiler_read — Reads and creates classes from a filehandle
    • bcompiler_write_class — Writes an defined class as bytecodes
    • bcompiler_write_constant — Writes a defined constant as bytecodes
    • bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file
    • bcompiler_write_file — Writes a php source file as bytecodes
    • bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data
    • bcompiler_write_function — Writes an defined function as bytecodes
    • bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes
    • bcompiler_write_header — Writes the bcompiler header
    • bcompiler_write_included_filename — Writes an included file as bytecodes
rename_function
Введение
Изменение поведения PHP


Введение

Внимание

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

Bcompiler was written for several reasons:

  • To encode entire script in a proprietary PHP application
  • To encode some classes and/or functions in a proprietary PHP application
  • To enable the production of php-gtk applications that could be used on client desktops, without the need for a php.exe.
  • To do the feasibility study for a PHP to C converter
The first of these goals is achieved using the bcompiler_write_header(), bcompiler_write_file() and bcompiler_write_footer() functions. The bytecode files can be written as either uncompressed or plain. To use the generated bytecode, you can simply include it with include or require statements.

The second of these goals is achieved using the bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), and bcompiler_load() functions. The bytecode files can be written as either uncompressed or plain. The bcompiler_load() reads a bzip compressed bytecode file, which tends to be 1/3 of the size of the original file.

To create EXE type files, bcompiler has to be used with a modified sapi file or a version of PHP which has been compiled as a shared library. In this scenario, bcompiler reads the compressed bytecode from the end of the exe file.

bcompiler can improve performance by about 30% when used with uncompressed bytecodes only. But keep in mind that uncompressed bytecode can be up to 5 times larger than the original source code. Using bytecode compression can save your space, but decompression requires much more time than parsing a source. bcompiler also does not do any bytecode optimization, this could be added in the future...

In terms of code protection, it is safe to say that it would be impossible to recreate the exact source code that it was built from, and without the accompanying source code comments. It would effectively be useless to use the bcompiler bytecodes to recreate and modify a class. However it is possible to retrieve data from a bcompiled bytecode file - so don't put your private passwords or anything in it.

bcompiler
Установка и настройка
bcompiler


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
bcompiler


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/bcompiler.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
bcompiler Функции
bcompiler


bcompiler Функции

Contact Information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can drop me a mail at » alan_k@php.net. Any help is very welcome.

Содержание

  • bcompiler_load_exe — Reads and creates classes from a bcompiler exe file
  • bcompiler_load — Reads and creates classes from a bz compressed file
  • bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function
  • bcompiler_read — Reads and creates classes from a filehandle
  • bcompiler_write_class — Writes an defined class as bytecodes
  • bcompiler_write_constant — Writes a defined constant as bytecodes
  • bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file
  • bcompiler_write_file — Writes a php source file as bytecodes
  • bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data
  • bcompiler_write_function — Writes an defined function as bytecodes
  • bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes
  • bcompiler_write_header — Writes the bcompiler header
  • bcompiler_write_included_filename — Writes an included file as bytecodes
Предопределенные константы
bcompiler_load_exe
bcompiler


Reads and creates classes from a bcompiler exe file

bcompiler Функции
bcompiler_load
bcompiler Функции
PHP Manual

bcompiler_load_exe

(PECL bcompiler >= 0.4)

bcompiler_load_exe — Reads and creates classes from a bcompiler exe file

Описание

bool bcompiler_load_exe ( string $filename )

Reads data from a bcompiler exe file and creates classes from the bytecodes.

Список параметров

filename

The exe file path, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_load_exe() example

<?php

bcompiler_load_exe("/tmp/example.exe");
print_r(get_defined_classes());

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_load() - Reads and creates classes from a bz compressed file

bcompiler Функции
bcompiler_load
bcompiler Функции


Reads and creates classes from a bz compressed file

bcompiler_load_exe
bcompiler_parse_class
bcompiler Функции
PHP Manual

bcompiler_load

(PECL bcompiler >= 0.4)

bcompiler_load — Reads and creates classes from a bz compressed file

Описание

bool bcompiler_load ( string $filename )

Reads data from a bzcompressed file and creates classes from the bytecodes.

Список параметров

filename

The bzcompressed file path, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_load() example

<?php

bcompiler_load("/tmp/example");

print_r(get_defined_classes());

?>

Примечания

Внимание

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

Замечание:

Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

Смотрите также

  • bcompiler_load_exe() - Reads and creates classes from a bcompiler exe file

bcompiler_load_exe
bcompiler_parse_class
bcompiler Функции


Reads the bytecodes of a class and calls back to a user function

bcompiler_load
bcompiler_read
bcompiler Функции
PHP Manual

bcompiler_parse_class

(PECL bcompiler >= 0.4)

bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function

Описание

bool bcompiler_parse_class ( string $class , string $callback )

Reads the bytecodes of a class and calls back to a user function.

Список параметров

class

The class name, as a string.

callback

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_parse_class() example

<?php

function readByteCodes($data) {
    print_r($data);
}

bcompiler_parse_class("DB","readByteCodes");

?>

Примечания

Внимание

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

Замечание:

This function has been removed from bcompiler and is no longer available as of bcompiler 0.5.

bcompiler_load
bcompiler_read
bcompiler Функции


Reads and creates classes from a filehandle

bcompiler_parse_class
bcompiler_write_class
bcompiler Функции
PHP Manual

bcompiler_read

(PECL bcompiler >= 0.4)

bcompiler_read — Reads and creates classes from a filehandle

Описание

bool bcompiler_read ( resource $filehandle )

Reads data from a open file handle and creates classes from the bytecodes.

Список параметров

filehandle

A file handle as returned by fopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_read() example

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

Примечания

Внимание

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

Замечание:

Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

bcompiler_parse_class
bcompiler_write_class
bcompiler Функции


Writes an defined class as bytecodes

bcompiler_read
bcompiler_write_constant
bcompiler Функции
PHP Manual

bcompiler_write_class

(PECL bcompiler >= 0.4)

bcompiler_write_class — Writes an defined class as bytecodes

Описание

bool bcompiler_write_class ( resource $filehandle , string $className [, string $extends ] )

Reads the bytecodes from PHP for an existing class, and writes them to the open file handle.

Список параметров

filehandle

A file handle as returned by fopen().

className

The class name, as a string.

extends

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_class() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// you must write DB_common before DB_mysql, as DB_mysql extends DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Замечание:

This function does not perform dependency checking, so make sure you write the classes in an order that will not result in an undefined class error occurring when you load it.

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_read
bcompiler_write_constant
bcompiler Функции


Writes a defined constant as bytecodes

bcompiler_write_class
bcompiler_write_exe_footer
bcompiler Функции
PHP Manual

bcompiler_write_constant

(PECL bcompiler >= 0.5)

bcompiler_write_constant — Writes a defined constant as bytecodes

Описание

bool bcompiler_write_constant ( resource $filehandle , string $constantName )

Reads the bytecodes from PHP for an existing constant, and writes them to the open file handle.

Список параметров

filehandle

A file handle as returned by fopen().

constantName

The name of the defined constant, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_constant() example

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_class
bcompiler_write_exe_footer
bcompiler Функции


Writes the start pos, and sig to the end of a exe type file

bcompiler_write_constant
bcompiler_write_file
bcompiler Функции
PHP Manual

bcompiler_write_exe_footer

(PECL bcompiler >= 0.4)

bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file

Описание

bool bcompiler_write_exe_footer ( resource $filehandle , int $startpos )

An EXE (or self executable) file consists of 3 parts:

  • The stub (executable code, e.g. a compiled C program) that loads PHP interpreter, bcompiler extension, stored Bytecodes and initiates a call for the specified function (e.g. main) or class method (e.g. main::main)
  • The Bytecodes (uncompressed only for the moment)
  • The bcompiler EXE footer

To obtain a suitable stub you can compile php_embed-based stub phpe.c located in the examples/embed directory on bcompiler's CVS.

Список параметров

filehandle

A file handle as returned by fopen().

startpos

The file position at which the Bytecodes start, and can be obtained using ftell().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_exe_footer() example

<?php

/* creating the output file (example.exe) */
$fh = fopen("example.exe", "w");

/* 1) writing a stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) writing bytecodes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) writing EXE footer */
bcompiler_write_exe_footer($fh, $startpos);

/* closing the output file */
fclose($fh);
?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_class() - Writes an defined class as bytecodes
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_constant
bcompiler_write_file
bcompiler Функции


Writes a php source file as bytecodes

bcompiler_write_exe_footer
bcompiler_write_footer
bcompiler Функции
PHP Manual

bcompiler_write_file

(PECL bcompiler >= 0.6)

bcompiler_write_file — Writes a php source file as bytecodes

Описание

bool bcompiler_write_file ( resource $filehandle , string $filename )

This function complies specified source file into bytecodes, and writes them to the open file handle.

Список параметров

filehandle

A file handle as returned by fopen().

filename

The source file path, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_file() example

<?php
$fh = fopen("example.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "example.php");
bcompiler_write_footer($fh);
fclose($fh);
/* the following should be equivalent:
include "example.php";
   and
include "example.phb";
*/
?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_exe_footer
bcompiler_write_footer
bcompiler Функции


Writes the single character \x00 to indicate End of compiled data

bcompiler_write_file
bcompiler_write_function
bcompiler Функции
PHP Manual

bcompiler_write_footer

(PECL bcompiler >= 0.4)

bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data

Описание

bool bcompiler_write_footer ( resource $filehandle )

Writes the single character \x00 to indicate End of compiled data.

Список параметров

filehandle

A file handle as returned by fopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_footer() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header

bcompiler_write_file
bcompiler_write_function
bcompiler Функции


Writes an defined function as bytecodes

bcompiler_write_footer
bcompiler_write_functions_from_file
bcompiler Функции
PHP Manual

bcompiler_write_function

(PECL bcompiler >= 0.5)

bcompiler_write_function — Writes an defined function as bytecodes

Описание

bool bcompiler_write_function ( resource $filehandle , string $functionName )

Reads the bytecodes from PHP for an existing function, and writes them to the open file handle. Order is not important, (eg. if function b uses function a, and you compile it like the example below, it will work perfectly OK).

Список параметров

filehandle

A file handle as returned by fopen().

functionName

The function name, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_function() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"my_function_a");
bcompiler_write_function($fh,"my_function_b");
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_footer
bcompiler_write_functions_from_file
bcompiler Функции


Writes all functions defined in a file as bytecodes

bcompiler_write_function
bcompiler_write_header
bcompiler Функции
PHP Manual

bcompiler_write_functions_from_file

(PECL bcompiler >= 0.5)

bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes

Описание

bool bcompiler_write_functions_from_file ( resource $filehandle , string $fileName )

Searches for all functions declared in the given file, and writes their correspondent bytecodes to the open file handle.

Список параметров

filehandle

A file handle as returned by fopen().

fileName

The file to be compiled. You must always include or require the file you intend to compile.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_functions_from_file() example

<?php
require('module.php');

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_function
bcompiler_write_header
bcompiler Функции


Writes the bcompiler header

bcompiler_write_functions_from_file
bcompiler_write_included_filename
bcompiler Функции
PHP Manual

bcompiler_write_header

(PECL bcompiler >= 0.3)

bcompiler_write_header — Writes the bcompiler header

Описание

bool bcompiler_write_header ( resource $filehandle [, string $write_ver ] )

Writes the header part of a bcompiler file.

Список параметров

filehandle

A file handle as returned by fopen().

write_ver

Can be used to write bytecode in a previously used format, so that you can use it with older versions of bcompiler.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcompiler_write_header() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);

?>

Примечания

Внимание

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

Смотрите также

  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_functions_from_file
bcompiler_write_included_filename
bcompiler Функции


Writes an included file as bytecodes

bcompiler_write_header
Обработка ошибок
bcompiler Функции
PHP Manual

bcompiler_write_included_filename

(PECL bcompiler >= 0.5)

bcompiler_write_included_filename — Writes an included file as bytecodes

Описание

bool bcompiler_write_included_filename ( resource $filehandle , string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

bcompiler_write_header
Обработка ошибок
bcompiler Функции


Обработка и протоколирование ошибок

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Функции обработки ошибок
    • debug_backtrace — Generates a backtrace
    • debug_print_backtrace — Prints a backtrace
    • error_get_last — Get the last occurred error
    • error_log — Отправляет сообщение об ошибке
    • error_reporting — Sets which PHP errors are reported
    • restore_error_handler — Restores the previous error handler function
    • restore_exception_handler — Restores the previously defined exception handler function
    • set_error_handler — Sets a user-defined error handler function
    • set_exception_handler — Sets a user-defined exception handler function
    • trigger_error — Generates a user-level error/warning/notice message
    • user_error — Alias of trigger_error
bcompiler_write_included_filename
Введение
Изменение поведения PHP


Введение

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

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

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

Обработка ошибок
Установка и настройка
Обработка ошибок


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Обработка ошибок


Установка

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

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Errors and Logging Configuration Options
Name | Default | Changeable | Changelog
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Available since PHP 4.1.0.
docref_root | "" | PHP_INI_ALL | Available since PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Available since PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

error_reporting integer

Set the error reporting level. The parameter is either an integer representing a bit field, or named constants. The error_reporting levels and constants are described in Predefined Constants, and in php.ini. To set at runtime, use the error_reporting() function. See also the display_errors directive.

In PHP 4 and PHP 5 the default value is E_ALL & ~E_NOTICE. This setting does not show E_NOTICE level errors. You may want to show them during development.

Замечание:

Enabling E_NOTICE during development has some benefits. For debugging purposes: NOTICE messages will warn you about possible bugs in your code. For example, use of unassigned values is warned. It is extremely useful to find typos and to save time for debugging. NOTICE messages will warn you about bad style. For example, $arr[item] is better to be written as $arr['item'] since PHP tries to treat "item" as constant. If it is not a constant, PHP assumes it is a string index for the array.

Замечание:

In PHP 5 a new error level E_STRICT is available. As E_STRICT is not included within E_ALL you have to explicitly enable this kind of error level. Enabling E_STRICT during development has some benefits. STRICT messages will help you to use the latest and greatest suggested method of coding, for example warn you about using deprecated functions.

Замечание: PHP Constants outside of PHP

Using PHP Constants outside of PHP, like in httpd.conf, will have no useful meaning so in such cases the integer values are required. And since error levels will be added over time, the maximum value (for E_ALL) will likely change. So in place of E_ALL consider using a larger value to cover all bit fields from now and well into the future, a numeric value like 2147483647 (includes all errors, not just E_ALL).

display_errors string

This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.

Value "stderr" sends the errors to stderr instead of stdout. The value is available as of PHP 5.2.4. In earlier versions, this directive was of type boolean.

Замечание:

This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet).

Замечание:

Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.

display_startup_errors boolean

Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keep display_startup_errors off, except for debugging.

log_errors boolean

Tells whether script error messages should be logged to the server's error log or error_log. This option is thus server-specific.

Замечание:

You're strongly advised to use error logging in place of error displaying on production web sites.

log_errors_max_len integer

Set the maximum length of log_errors in bytes. In error_log information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all. This length is applied to logged errors, displayed errors and also to $php_errormsg.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
ignore_repeated_errors boolean

Do not log repeated messages. Repeated errors must occur in the same file on the same line unless ignore_repeated_source is set true.

ignore_repeated_source boolean

Ignore source of message when ignoring repeated messages. When this setting is On you will not log errors with repeated messages from different files or sourcelines.

report_memleaks boolean

If this parameter is set to On (the default), this parameter will show a report of memory leaks detected by the Zend memory manager. This report will be send to stderr on Posix platforms. On Windows, it will be send to the debugger using OutputDebugString(), and can be viewed with tools like » DbgView. This parameter only has effect in a debug build, and if error_reporting includes E_WARNING in the allowed list.

track_errors boolean

If enabled, the last error message will always be present in the variable $php_errormsg.

html_errors boolean

Turn off HTML tags in error messages. The new format for HTML errors produces clickable messages that direct the user to a page describing the error or function in causing the error. These references are affected by docref_root and docref_ext.

xmlrpc_errors boolean

Turns off normal error reporting and formats errors as XML-RPC error message.

xmlrpc_error_number integer

Used as the value of the XML-RPC faultCode element.

docref_root string

The new error format contains a reference to a page describing the error or function causing the error. In case of manual pages you can download the manual in your language and set this ini directive to the URL of your local copy. If your local copy of the manual can be reached by "/manual/" you can simply use docref_root=/manual/. Additional you have to set docref_ext to match the fileextensions of your copy docref_ext=.html. It is possible to use external references. For example you can use docref_root=http://manual/en/ or docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Most of the time you want the docref_root value to end with a slash "/". But see the second example above which does not have nor need it.

Замечание:

This is a feature to support your development since it makes it easy to lookup a function description. However it should never be used on production systems (e.g. systems connected to the internet).

docref_ext string

See docref_root.

Замечание:

The value of docref_ext must begin with a dot ".".

error_prepend_string string

String to output before an error message.

error_append_string string

String to output after an error message.

error_log string

Name of the file where script errors should be logged. The file should be writable by the web server's user. If the special value syslog is used, the errors are sent to the system logger instead. On Unix, this means syslog(3) and on Windows NT it means the event log. The system logger is not supported on Windows 95. See also: syslog(). If this directive is not set, errors are sent to the SAPI error logger. For example, it is an error log in Apache or stderr in CLI.

Установка
Типы ресурсов
Установка и настройка


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

Перечисленные ниже константы всегда доступны как часть ядра PHP.

Замечание: Данные имена констант можно использовать в файле php.ini но не вне PHP, как например в файле httpd.conf, где вместо них необходимо использовать значения их битовых масок.

Ошибки и протоколирование
Значение | Константа | Описание | Примечание
1 | E_ERROR (integer) | Фатальные ошибки времени выполнения. Это неустранимые средствами самого скрипта ошибки, такие как ошибка распределения памяти и т.п. Выполнение скрипта в таком случае прекращается. |
2 | E_WARNING (integer) | Предупреждения времени выполнения (нефатальные ошибки). Выполнение скрипта в таком случае не прекращается. |
4 | E_PARSE (integer) | Ошибки на этапе компиляции. Должны генерироваться только парсером. |
8 | E_NOTICE (integer) | Уведомления времени выполнения. Указывают на то, что во время выполнения скрипта произошло что-то, что может указывать на ошибку, хотя это может происходить и при обычном выполнении программы. |
16 | E_CORE_ERROR (integer) | Фатальные ошибки, которые происходят во время запуска РНР. Такие ошибки схожи с E_ERROR, за исключением того, что они генерируются ядром PHP. | Начиная с PHP 4
32 | E_CORE_WARNING (integer) | Предупреждения (нефатальные ошибки), которые происходят во время начального запуска РНР. Такие предупреждения схожи с E_WARNING, за исключением того, что они генерируются ядром PHP. | Начиная с PHP 4
64 | E_COMPILE_ERROR (integer) | Фатальные ошибки на этапе компиляции. Такие ошибки схожи с E_ERROR, за исключением того, что они генерируются скриптовым движком Zend. | Начиная с PHP 4
128 | E_COMPILE_WARNING (integer) | Предупреждения на этапе компиляции (нефатальные ошибки). Такие предупреждения схожи с E_WARNING, за исключением того, что они генерируются скриптовым движком Zend. | Начиная с PHP 4
256 | E_USER_ERROR (integer) | Сообщения об ошибках сгенерированные пользователем. Такие ошибки схожи с E_ERROR, за исключением того, что они генерируются в коде скрипта средствами функции PHP trigger_error(). | Начиная с PHP 4
512 | E_USER_WARNING (integer) | Предупреждения сгенерированные пользователем. Такие предупреждения схожи с E_WARNING, за исключением того, что они генерируются в коде скрипта средствами функции PHP trigger_error(). | Начиная с PHP 4
1024 | E_USER_NOTICE (integer) | Уведомления сгенерированные пользователем. Такие уведомления схожи с E_NOTICE, за исключением того, что они генерируются в коде скрипта, средствами функции PHP trigger_error(). | Начиная с PHP 4
2048 | E_STRICT (integer) | Включаются для того, чтобы PHP предлагал изменения в коде, которые в обеспечат лучшее взаимодействие и совместимость кода. | Начиная с PHP 5, но не включены в E_ALL вплоть до PHP 5.4.0
4096 | E_RECOVERABLE_ERROR (integer) | Фатальные ошибки с возможностью обработки. Такие ошибки указывают, что, вероятно, возникла опасная ситуация, но при этом, скриптовый движок остается в стабильном состоянии. Если такая ошибка не обрабатывается функцией, определенной пользователем для обработки ошибок (см. set_error_handler()), выполнение приложения прерывается, как происходит при ошибках E_ERROR. | Начиная с PHP 5.2.0
8192 | E_DEPRECATED (integer) | Уведомления времени выполнения об использовании устаревших конструкций. Включаются для того, чтобы получать предупреждения о коде, который не будет работать в следующих версиях PHP. | Начиная с PHP 5.3.0
16384 | E_USER_DEPRECATED (integer) | Уведомления времени выполнения об использовании устаревших конструкций, сгенерированные пользователем. Такие уведомления схожи с E_DEPRECATED за исключением того, что они генерируются в коде скрипта, с помощью функции PHP trigger_error(). | Начиная с PHP 5.3.0
32767 | E_ALL (integer) | Все поддерживаемые ошибки и предупреждения, за исключением ошибок E_STRICT до PHP 5.4.0. | 32767 в PHP 5.4.x, 30719 в PHP 5.3.x, 6143 в PHP 5.2.x, 2047 ранее

Представленные выше значения (как числовые, так и символьные) используются для задания битовой маски, определяющей об ошибках какого типа будет даваться отчет. Вы можете использовать побитовые операторы, чтобы совмещать эти значения для указания определенных типов ошибок. Стоит отметить, что в php.ini допустимы только следующие операторы: '|', '~', '!', '^' и '&'.

Типы ресурсов
Примеры
Обработка ошибок


Примеры

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

Пример #1 Обработка ошибок в скрипте

<?php
// мы будем делать нашу собственную обработку ошибок
error_reporting(0);

// пользовательская функция для обработки ошибок
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // временная метка возникновения ошибки
    $dt = date("Y-m-d H:i:s (T)");

    // определим ассоциативный массив соответствия всех
    // констант уровней ошибок с их названиями, хотя
    // в действительности мы будем рассматривать только
    // следующие типы: E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING и E_USER_NOTICE
    $errortype = array (
                E_ERROR              => 'Ошибка',
                E_WARNING            => 'Предупреждение',
                E_PARSE              => 'Ошибка разбора исходного кода',
                E_NOTICE             => 'Уведомление',
                E_CORE_ERROR         => 'Ошибка ядра',
                E_CORE_WARNING       => 'Предупреждение ядра',
                E_COMPILE_ERROR      => 'Ошибка на этапе компиляции',
                E_COMPILE_WARNING    => 'Предупреждение на этапе компиляции',
                E_USER_ERROR         => 'Пользовательская ошибка',
                E_USER_WARNING       => 'Пользовательское предупреждение',
                E_USER_NOTICE        => 'Пользовательское уведомление',
                E_STRICT             => 'Уведомление времени выполнения',
                E_RECOVERABLE_ERROR  => 'Отлавливаемая фатальная ошибка'
                );
    // определим набор типов ошибок, для которых будет сохранен стек переменных
    $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $errno . "</errornum>\n";
    $err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
    $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
    $err .= "\t<scriptname>" . $filename . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

    if (in_array($errno, $user_errors)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Переменные") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // для тестирования
    // echo $err;

    // сохраняем в протокол ошибок, а если произошла пользовательская критическая ошибка, то отправляем письмо
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com", "Пользовательская критическая ошибка", $err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Некорректные параметры функции, ожидаются массивы в качестве параметров", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Векторы должны быть одинаковой размерности", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("Координата $i в векторе 1 не является числом, будет использовать ноль",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Координата $i в векторе 2 не является числом, будет использовать ноль",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// использование неопределенной константы, будет генерироваться предупреждение
$t = I_AM_NOT_DEFINED;

// определеим несколько "векторов"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// генерируем пользовательскую ошибку
$t1 = distance($c, $b) . "\n";

// генерируем еще одну пользовательскую ошибку
$t2 = distance($b, "я не массив") . "\n";

// генерируем пользовательское предупреждение
$t3 = distance($a, $b) . "\n";

?>

Предопределенные константы
Функции обработки ошибок
Обработка ошибок


Функции обработки ошибок

Смотрите также

См. также функцию syslog().

Содержание

  • debug_backtrace — Generates a backtrace
  • debug_print_backtrace — Prints a backtrace
  • error_get_last — Get the last occurred error
  • error_log — Отправляет сообщение об ошибке
  • error_reporting — Sets which PHP errors are reported
  • restore_error_handler — Restores the previous error handler function
  • restore_exception_handler — Restores the previously defined exception handler function
  • set_error_handler — Sets a user-defined error handler function
  • set_exception_handler — Sets a user-defined exception handler function
  • trigger_error — Generates a user-level error/warning/notice message
  • user_error — Alias of trigger_error
Примеры
debug_backtrace
Обработка ошибок


Generates a backtrace

Функции обработки ошибок
debug_print_backtrace
Функции обработки ошибок
PHP Manual

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace — Generates a backtrace

Описание

array debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] )

debug_backtrace() generates a PHP backtrace.

Список параметров

options

As of 5.3.6, this parameter is a bitmask for the following options:

debug_backtrace() options
DEBUG_BACKTRACE_PROVIDE_OBJECT | Whether or not to populate the "object" index.
DEBUG_BACKTRACE_IGNORE_ARGS | Whether or not to omit the "args" index, and thus all the function/method arguments, to save memory.
Before 5.3.6, the only values recognized are TRUE or FALSE, which are the same as setting or not setting the DEBUG_BACKTRACE_PROVIDE_OBJECT option respectively.

limit

As of 5.4.0, this parameter can be used to limit the number of stack frames returned. By default (limit=0) it returns all stack frames.

Возвращаемые значения

Returns an array of associative arrays. The possible returned elements are as follows:

Possible returned elements from debug_backtrace()
Имя | Тип | Описание
function | string | The current function name. See also __FUNCTION__.
line | integer | The current line number. See also __LINE__.
file | string | The current file name. See also __FILE__.
class | string | The current class name. See also __CLASS__
object | object | The current object.
type | string | The current call type. If a method call, "->" is returned. If a static method call, "::" is returned. If a function call, nothing is returned.
args | array | If inside a function, this lists the functions arguments. If inside an included file, this lists the included file name(s).

Список изменений

Версия | Описание
5.4.0 | Added the optional parameter limit.
5.3.6 | The parameter provide_object changed to options and additional option DEBUG_BACKTRACE_IGNORE_ARGS is added.
5.2.5 | Added the optional parameter provide_object.
5.1.1 | Added the current object as a possible return element.

Примеры

Пример #1 debug_backtrace() example

<?php
// filename: /tmp/a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>

Results similar to the following when executing /tmp/b.php:

Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Смотрите также

  • trigger_error() - Generates a user-level error/warning/notice message
  • debug_print_backtrace() - Prints a backtrace

Функции обработки ошибок
debug_print_backtrace
Функции обработки ошибок


Prints a backtrace

debug_backtrace
error_get_last
Функции обработки ошибок
PHP Manual

debug_print_backtrace

(PHP 5)

debug_print_backtrace — Prints a backtrace

Описание

void debug_print_backtrace ([ int $options = 0 [, int $limit = 0 ]] )

debug_print_backtrace() prints a PHP backtrace. It prints the function calls, included/required files and eval()ed stuff.

Список параметров

options

As of 5.3.6, this parameter is a bitmask for the following options:

debug_print_backtrace() options
DEBUG_BACKTRACE_IGNORE_ARGS Whether or not to omit the "args" index, and thus all the function/method arguments, to save memory.

limit

As of 5.4.0, this parameter can be used to limit the number of stack frames printed. By default (limit=0) it prints all stack frames.

Возвращаемые значения

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

Список изменений

Версия | Описание
5.4.0 | Added the optional parameter limit.
5.3.6 | Added the optional parameter options.

Примеры

Пример #1 debug_print_backtrace() example

<?php
// include.php file

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// test.php file
// this is the file you should run

include 'include.php';
?>

Результатом выполнения данного примера будет что-то подобное:

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

Смотрите также

  • debug_backtrace() - Generates a backtrace

debug_backtrace
error_get_last
Функции обработки ошибок


Get the last occurred error

debug_print_backtrace
error_log
Функции обработки ошибок
PHP Manual

error_get_last

(PHP 5 >= 5.2.0)

error_get_last — Get the last occurred error

Описание

array error_get_last ( void )

Gets information about the last error that occurred.

Возвращаемые значения

Returns an associative array describing the last error with keys "type", "message", "file" and "line". If the error has been caused by a PHP internal function then the "message" begins with its name. Returns NULL if there hasn't been an error yet.

Примеры

Пример #1 An error_get_last() example

<?php
echo $a;
print_r(error_get_last());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Смотрите также

  • Error constants
  • Variable $php_errormsg
  • Directive display_errors
  • Directive html_errors
  • Directive xmlrpc_errors

debug_print_backtrace
error_log
Функции обработки ошибок


Отправляет сообщение об ошибке

error_get_last
error_reporting
Функции обработки ошибок
PHP Manual

error_log

(PHP 4, PHP 5)

error_log — Отправляет сообщение об ошибке

Описание

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

Отправляет сообщение об ошибке в лог web-сервера или в пользовательский файл.

Список параметров

message

Сообщение об ошибке которое должно быть логировано.

message_type

Определяет куда отправлять ошибку. Возможны следующие значения:

error_log() log types
0 | Сообщение message отправляется в системный регистратор PHP, используя механизм логирования операционной системы, или файл, в зависимости от значения директивы error_log в конфигурационном файле. Это значение по умолчанию.
1 | Сообщение message отправляется электронной почтой на адрес, установленный в параметре destination. Это единственный тип сообщения, где используется четвертый параметр extra_headers.
2 | Больше не используется.
3 | message применяется к указанному в destination файлу. Перенос строки автоматически не добавляется в конец message.
4 | Сообщение message отправляется напрямую в обработчик логера SAPI.

destination

Назначение. Устанавливается в зависимости от параметра message_type.

extra_headers

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

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.7 | Добавлен 4-й тип значения в message_type.

Примеры

Пример #1 Примеры использования error_log()

<?php
// Отправляет уведомление посредством серверного лога, если мы не можем
// подключиться к базе данных.
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// Уведомить администратора электронной почтой,  если невозможно выделить ресурсы для FOO
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "operator@example.com");
}

// другой способ вызвать error_log():
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>

error_get_last
error_reporting
Функции обработки ошибок


Sets which PHP errors are reported

error_log
restore_error_handler
Функции обработки ошибок
PHP Manual

error_reporting

(PHP 4, PHP 5)

error_reporting — Sets which PHP errors are reported

Описание

int error_reporting ([ int $level ] )

The error_reporting() function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script. If the optional level is not set, error_reporting() will just return the current error reporting level.

Список параметров

level

The new error_reporting level. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions. As error levels are added, the range of integers increases, so older integer-based error levels will not always behave as expected.

The available error level constants and the actual meanings of these error levels are described in the predefined constants.

Возвращаемые значения

Returns the old error_reporting level or the current level if no level parameter is given.

Список изменений

Версия | Описание
5.4.0 | E_STRICT became part of E_ALL.
5.3.0 | E_DEPRECATED and E_USER_DEPRECATED introduced.
5.2.0 | E_RECOVERABLE_ERROR introduced.
5.0.0 | E_STRICT introduced (not part of E_ALL).

Примеры

Пример #1 error_reporting() examples

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (see changelog)
error_reporting(E_ALL);

// Report all PHP errors
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Примечания

Внимание

Most of E_STRICT errors are evaluated at the compile time thus such errors are not reported in the file where error_reporting is enhanced to include E_STRICT errors (and vice versa).

Подсказка

Passing in the value -1 will show every possible error, even when new levels and constants are added in future PHP versions. The E_ALL constant also behaves this way as of PHP 5.4.

Смотрите также

  • The display_errors directive
  • The html_errors directive
  • The xmlrpc_errors directive
  • ini_set() - Sets the value of a configuration option

error_log
restore_error_handler
Функции обработки ошибок


Restores the previous error handler function

error_reporting
restore_exception_handler
Функции обработки ошибок
PHP Manual

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5)

restore_error_handler — Restores the previous error handler function

Описание

bool restore_error_handler ( void )

Used after changing the error handler function using set_error_handler(), to revert to the previous error handler (which could be the built-in or a user defined function).

Возвращаемые значения

This function always returns TRUE.

Примеры

Пример #1 restore_error_handler() example

Decide if unserialize() caused an error, then restore the original error handler.

<?php
function unserialize_handler($errno, $errstr)
{
    echo "Invalid serialized value.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

Результат выполнения данного примера:

Invalid serialized value.

Примечания

Замечание:

Calling restore_error_handler() from the error_handler function is ignored.

Смотрите также

  • error_reporting() - Sets which PHP errors are reported
  • set_error_handler() - Sets a user-defined error handler function
  • restore_exception_handler() - Restores the previously defined exception handler function
  • trigger_error() - Generates a user-level error/warning/notice message

error_reporting
restore_exception_handler
Функции обработки ошибок


Restores the previously defined exception handler function

restore_error_handler
set_error_handler
Функции обработки ошибок
PHP Manual

restore_exception_handler

(PHP 5)

restore_exception_handler — Restores the previously defined exception handler function

Описание

bool restore_exception_handler ( void )

Used after changing the exception handler function using set_exception_handler(), to revert to the previous exception handler (which could be the built-in or a user defined function).

Возвращаемые значения

This function always returns TRUE.

Примеры

Пример #1 restore_exception_handler() example

<?php
    function exception_handler_1(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    function exception_handler_2(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    set_exception_handler('exception_handler_1');
    set_exception_handler('exception_handler_2');

    restore_exception_handler();

    throw new Exception('This triggers the first exception handler...');
?>

Результат выполнения данного примера:

[exception_handler_1] This triggers the first exception handler...

Смотрите также

  • set_exception_handler() - Sets a user-defined exception handler function
  • set_error_handler() - Sets a user-defined error handler function
  • restore_error_handler() - Restores the previous error handler function
  • error_reporting() - Sets which PHP errors are reported

restore_error_handler
set_error_handler
Функции обработки ошибок


Sets a user-defined error handler function

restore_exception_handler
set_exception_handler
Функции обработки ошибок
PHP Manual

set_error_handler

(PHP 4 >= 4.0.1, PHP 5)

set_error_handler — Sets a user-defined error handler function

Описание

mixed set_error_handler ( callback $error_handler [, int $error_types = E_ALL | E_STRICT ] )

Sets a user function (error_handler) to handle errors in a script.

This function can be used for defining your own way of handling errors during runtime, for example in applications in which you need to do cleanup of data/files when a critical error happens, or when you need to trigger an error under certain conditions (using trigger_error()).

It is important to remember that the standard PHP error handler is completely bypassed for the error types specified by error_types unless the callback function returns FALSE. error_reporting() settings will have no effect and your error handler will be called regardless - however you are still able to read the current value of error_reporting and act appropriately. Of particular note is that this value will be 0 if the statement that caused the error was prepended by the @ error-control operator.

Also note that it is your responsibility to die() if necessary. If the error-handler function returns, script execution will continue with the next statement after the one that caused an error.

The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

If errors occur before the script is executed (e.g. on file uploads) the custom error handler cannot be called since it is not registered at that time.

Список параметров

error_handler

The user function needs to accept two parameters: the error code, and a string describing the error. Then there are three optional parameters that may be supplied: the filename in which the error occurred, the line number in which the error occurred, and the context in which the error occurred (an array that points to the active symbol table at the point the error occurred). The function can be shown as:

handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
errno
The first parameter, errno, contains the level of the error raised, as an integer.
errstr
The second parameter, errstr, contains the error message, as a string.
errfile
The third parameter is optional, errfile, which contains the filename that the error was raised in, as a string.
errline
The fourth parameter is optional, errline, which contains the line number the error was raised at, as an integer.
errcontext
The fifth parameter is optional, errcontext, which is an array that points to the active symbol table at the point the error occurred. In other words, errcontext will contain an array of every variable that existed in the scope the error was triggered in. User error handler must not modify error context.

If the function returns FALSE then the normal error handler continues.

error_types

Can be used to mask the triggering of the error_handler function just like the error_reporting ini setting controls which errors are shown. Without this mask set the error_handler will be called for every error regardless to the setting of the error_reporting setting.

Возвращаемые значения

Returns a string containing the previously defined error handler (if any). If the built-in error handler is used NULL is returned. NULL is also returned in case of an error such as an invalid callback. If the previous error handler was a class method, this function will return an indexed array with the class and the method name.

Список изменений

Версия | Описание
5.2.0 | The error handler must return FALSE to populate $php_errormsg.
5.0.0 | The error_types parameter was introduced.
4.3.0 | Instead of a function name, an array containing an object reference and a method name can also be supplied as the error_handler.
4.0.2 | Three optional parameters for the error_handler user function was introduced. These are the filename, the line number, and the context.

Примеры

Пример #1 Error handling with set_error_handler() and trigger_error()

The example below shows the handling of internal exceptions by triggering errors and handling them with a user defined function:

<?php
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting
        return;
    }

    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
        echo "  Fatal error on line $errline in file $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Aborting...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }

    /* Don't execute PHP internal error handler */
    return true;
}

// function to test the error handling
function scale_by_log($vect, $scale)
{
    if (!is_numeric($scale) || $scale <= 0) {
        trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Incorrect input vector, array of values expected", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $value) {
        if (!is_numeric($value)) {
            trigger_error("Value at position $pos is not a number, using 0 (zero)", E_USER_NOTICE);
            $value = 0;
        }
        $temp[$pos] = log($scale) * $value;
    }

    return $temp;
}

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

// trigger some errors, first define a mixed array with a non-numeric item
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// now generate second array
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Value at position $pos is not a number, using 0 (zero) */
$b = scale_by_log($a, M_PI);
print_r($b);

// this is trouble, we pass a string instead of an array
echo "----\nvector c - a warning\n";
/* Incorrect input vector, array of values expected */
$c = scale_by_log("not array", 2.3);
var_dump($c); // NULL

// this is a critical error, log of zero or negative number is undefined
echo "----\nvector d - fatal error\n";
/* log(x) for x <= 0 is undefined, you used: scale = $scale" */
$d = scale_by_log($a, -2.5);
var_dump($d); // Never reached
?>

Результатом выполнения данного примера будет что-то подобное:

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - a notice (b = log(PI) * a)
<b>My NOTICE</b> [1024] Value at position 2 is not a number, using 0 (zero)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
vector c - a warning
<b>My WARNING</b> [512] Incorrect input vector, array of values expected<br />
NULL
----
vector d - fatal error
<b>My ERROR</b> [256] log(x) for x <= 0 is undefined, you used: scale = -2.5<br />
  Fatal error on line 35 in file trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
Aborting...<br />

Смотрите также

  • ErrorException
  • error_reporting() - Sets which PHP errors are reported
  • restore_error_handler() - Restores the previous error handler function
  • trigger_error() - Generates a user-level error/warning/notice message
  • error level constants
  • информация о типе callback

restore_exception_handler
set_exception_handler
Функции обработки ошибок


Sets a user-defined exception handler function

set_error_handler
trigger_error
Функции обработки ошибок
PHP Manual

set_exception_handler

(PHP 5)

set_exception_handler — Sets a user-defined exception handler function

Описание

callback set_exception_handler ( callback $exception_handler )

Sets the default exception handler if an exception is not caught within a try/catch block. Execution will stop after the exception_handler is called.

Список параметров

exception_handler

Name of the function to be called when an uncaught exception occurs. This function must be defined before calling set_exception_handler(). This handler function needs to accept one parameter, which will be the exception object that was thrown.

Возвращаемые значения

Returns the name of the previously defined exception handler, or NULL on error. If no previous handler was defined, NULL is also returned.

Примеры

Пример #1 set_exception_handler() example

<?php
function exception_handler($exception) {
  echo "Uncaught exception: " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new Exception('Uncaught Exception');
echo "Not Executed\n";
?>

Смотрите также

  • restore_exception_handler() - Restores the previously defined exception handler function
  • restore_error_handler() - Restores the previous error handler function
  • error_reporting() - Sets which PHP errors are reported
  • информация о типе callback
  • PHP 5 Exceptions

set_error_handler
trigger_error
Функции обработки ошибок


Generates a user-level error/warning/notice message

set_exception_handler
user_error
Функции обработки ошибок
PHP Manual

trigger_error

(PHP 4 >= 4.0.1, PHP 5)

trigger_error — Generates a user-level error/warning/notice message

Описание

bool trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )

Used to trigger a user error condition, it can be used by in conjunction with the built-in error handler, or with a user defined function that has been set as the new error handler (set_error_handler()).

This function is useful when you need to generate a particular response to an exception at runtime.

Список параметров

error_msg

The designated error message for this error. It's limited to 1024 characters in length. Any additional characters beyond 1024 will be truncated.

error_type

The designated error type for this error. It only works with the E_USER family of constants, and will default to E_USER_NOTICE.

Возвращаемые значения

This function returns FALSE if wrong error_type is specified, TRUE otherwise.

Примеры

Пример #1 trigger_error() example

See set_error_handler() for a more extensive example.

<?php
if ($divisor == 0) {
    trigger_error("Cannot divide by zero", E_USER_ERROR);
}
?>

Примечания

Внимание

HTML entities in error_msg are not escaped. Use htmlentities() on the message if the error is to be displayed in a browser.

Смотрите также

  • error_reporting() - Sets which PHP errors are reported
  • set_error_handler() - Sets a user-defined error handler function
  • restore_error_handler() - Restores the previous error handler function
  • The error level constants

set_exception_handler
user_error
Функции обработки ошибок


Alias of trigger_error

trigger_error
htscanner
Функции обработки ошибок
PHP Manual

user_error

(PHP 4, PHP 5)

user_error — Alias of trigger_error()

Описание

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

trigger_error
htscanner
Функции обработки ошибок


htaccess-like support for all SAPIs

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
user_error
Введение
Изменение поведения PHP


Введение

The htscanner extension gives the possibility to use htaccess-like file to configure PHP per directory, just like apache's htaccess. It is especially useful with fastcgi (ISS5/6/7, lighttpd, etc.).

htscanner
Установка и настройка
htscanner


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
htscanner


Требования

PHP version 5.2.0 or greater.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/htscanner

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

htscanner Опции настройки
Имя | По умолчанию | Меняемо | Changelog
htscanner.config_file | ".htscanner" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM |
htscanner."stop_on_error" | "Off" | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

htscanner.config_file string

Filename to use as configuration file.

htscanner.default_docroot string

Default document root.

htscanner.default_ttl int

Cache time out for the configuration data, in seconds.

htscanner.stop_on_error int

Stop on error (parse error, cannot set an ini setting).

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
inclued
Установка и настройка


Inclusion hierarchy viewer

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Example that implements inclued into an application
  • inclued Функции
    • inclued_get_data — Get the inclued data
Типы ресурсов
Введение
Изменение поведения PHP


Введение

Traces through and dumps the hierarchy of file inclusions and class inheritance at runtime.

The files may have been included using include(), include_once(), require(), or require_once().

Class inheritance dependencies are also reported.

inclued
Установка и настройка
inclued


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
inclued


Требования

PHP version 5.1.0 or greater.

The included gengraph.php file utilizes the » graphviz library, however, this is not required.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/inclued

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

inclued Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
inclued.enabled | Off | PHP_INI_SYSTEM |
inclued.dumpdir | NULL | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

inclued.enabled bool

Whether or not to enable inclued.

inclued.dumpdir string

Location (path) to the directory that stores inclued files. If set, each PHP request will create a file. These files are serialized versions of what inclued_get_data() would produce, so may be unserialized with unserialize().

Предостережение

Because every request creates a file, this directory may fill up fast!

Установка
Типы ресурсов
Установка и настройка


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

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

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

Типы ресурсов
Примеры
inclued


Примеры

Содержание

  • Example that implements inclued into an application
Предопределенные константы
Example that implements inclued into an application
inclued


Example that implements inclued into an application

This example demonstrates the process of implementing inclued into an existing application, and viewing the results.

Пример #1 Getting the data within the PHP application itself (function)

<?php
// File to store the inclued information
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
    $clue = inclued_get_data();
    if ($clue) {
        fwrite($fp, serialize($clue));
    }
    fclose($fp);
}
?>

Now that some data exists, it's time to make sense of it in the form of a graph. The inclued extension includes a PHP file named gengraph.php that creates a dot file that requires the » graphviz library. However, this form is not required.

Пример #2 Example use of gengraph.php

This example creates an image named inclued.png that shows the inclued data.

# First, create the dot file
$ php graphviz.php -i /tmp/wp.ser -o wp.dot

# Next, create the image
$ dot -Tpng -o inclued.png wp.dot

Пример #3 Listing data via inclued dumps (configuration)

When using the inclued.dumpdir directive, files (include clues) are dumped with every request. Here's one way to list those files, and unserialize() them.

<?php
$path = ini_get('inclued.dumpdir');
if ($path && is_dir($path)) {

    echo "Path: $path", PHP_EOL;

    $inclues = new GlobIterator($path . DIRECTORY_SEPARATOR . 'inclued*');

    if ($inclues->count() === 0) {
        echo 'No clues today', PHP_EOL;
        exit;
    }

    foreach ($inclues as $inclue) {

        echo 'Inclued file: ', $inclue->getFilename(), PHP_EOL;

        $data = file_get_contents($inclue->getPathname());
        if ($data) {
            $inc = unserialize($data);
            echo ' -- filename: ', $inc['request']['SCRIPT_FILENAME'], PHP_EOL;
            echo ' -- number of includes: ', count($inc['includes']), PHP_EOL;
        }
        echo PHP_EOL;
    }
} else {
    echo 'I am totally clueless today.', PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

PATH: /tmp/inclued
Inclued file: inclued.56521.1
 -- filename: /Users/philip/test.php
 -- number of includes: 1

Inclued file: inclued.56563.1
 -- filename: /tmp/none.php
 -- number of includes: 0

Inclued file: inclued.56636.1
 -- filename: /tmp/three.php
 -- number of includes: 3

Примеры
inclued Функции
Примеры


inclued Функции

Содержание

  • inclued_get_data — Get the inclued data
Example that implements inclued into an application
inclued_get_data
inclued


Get the inclued data

inclued Функции
Memtrack
inclued Функции
PHP Manual

inclued_get_data

(PECL inclued >= 0.1.0)

inclued_get_data — Get the inclued data

Описание

array inclued_get_data ( void )

Get the inclued data.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inclued data.

Примеры

Пример #1 inclued_get_data() example

See the inclued examples section for ways to create graphs with this data.

<?php
include 'x.php';

$clue = inclued_get_data();

print_r($clue);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
  [includes] => Array
    (
      [0] => Array
        (
          [operation] => include
          [op_type] => 2
          [filename] => x.php
          [opened_path] => /tmp/x.php
          [fromfile] => /tmp/z.php
          [fromline] => 2
        )
    )
)

Смотрите также

  • inclued examples
  • debug_backtrace() - Generates a backtrace
  • include()

inclued Функции
Memtrack
inclued Функции


Memtrack

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
inclued_get_data
Введение
Изменение поведения PHP


Введение

The purpose of this extension is to detect the most memory hungry scripts and functions.

memtrack tracks memory consumption in PHP scripts and produces reports (warnings) when the consumption reaches certain levels set by the user. This is achieved by replacing default executor function by a special function which compares memory usage before and after running the original executor - this way we can tell how much the memory usage has changed during the execution of the current part of the code.

Zend Engine runs its executor for each opcode array (op_array), which usually means function, plain script and such, so memtrack doesn't have any noticeable effect on performance.

memtrack doesn't provide any functions, there are only INI directives which allow you to configure the way it should work.

Внимание

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

Memtrack
Установка и настройка
Memtrack


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Memtrack


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/memtrack

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Memtrack Configuration Options
Name | Default | Changeable
memtrack.enabled | "0" | PHP_INI_SYSTEM
memtrack.soft_limit | "0" | PHP_INI_ALL
memtrack.hard_limit | "0" | PHP_INI_ALL
memtrack.vm_limit | "0" | PHP_INI_ALL
memtrack.ignore_functions | "" | PHP_INI_SYSTEM
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

memtrack.enabled boolean

Disables or enables the extension. Default value is 0, i.e. disabled.

memtrack.soft_limit int

Soft memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the soft limit, but only if the function is not ignored.

Setting this option to 0 also disables both soft and hard limit warnings. Default value is 0, i.e. no warnings is produced.

memtrack.hard_limit int

Hard memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the hard limit, even if the function is ignored. Setting this option to 0 disables hard limit warnings completely. Default value is 0, i.e. no hard limit warnings is produced.

memtrack.vm_limit int

Virtual memory limit (set on a process).

This limit is checked only on shutdown and a warning is produced if the value is greater than or equal to the limit.

This option is currently supported only on OSes where mallinfo() function is available (i.e. Linux).

memtrack.ignore_functions string

A comma or whitespace-separated list of functions which are to be ignored by soft_limit. The values are case-insensitive, for class methods use class::method syntax.

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Примеры
Memtrack


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
Memtrack


Basic usage

Basic example on using memtrack extension:

Пример #1 Creating large array in a function

<?php

/* /tmp/example1.php */

function foo() {
    $a = array();
    for ($i = 0; $i < 10000; $i++) $a[] = "test";
    return $a;
}
$arr = foo();

?>

Run the example with the following command:

php -d memtrack.enabled=1 -d memtrack.soft_limit=1M -d memtrack.vm_limit=3M /tmp/example1.php

Результатом выполнения данного примера будет что-то подобное:

Warning: [memtrack] [pid 26177] user function foo() executed in /tmp/example1.php on line 10 allocated 4194304 bytes in /tmp/example1.php on line 0
Warning: [memtrack] [pid 26177] virtual memory usage on shutdown: 32911360 bytes in Unknown on line 0
Примеры
Контроль вывода
Примеры


Управление буфером вывода

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • Функции контроля вывода
    • flush — Сброс буфера вывода
    • ob_clean — Очищает (стирает) буфер вывода
    • ob_end_clean — Очищает (стирает) буфер вывода и отключает буферизацию вывода
    • ob_end_flush — Сброс (отправка) буфера вывода и отключение буферизации вывода
    • ob_flush — Сброс (отправка) буфера вывода
    • ob_get_clean — Получить содержимое буфера и очистить его
    • ob_get_contents — Возвращает содержимое буфера вывода
    • ob_get_flush — Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода
    • ob_get_length — Возвращает размер буфера вывода
    • ob_get_level — Возвращает уровень вложенности механизма буферизации вывода
    • ob_get_status — Получить статус буфера вывода
    • ob_gzhandler — callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start
    • ob_implicit_flush — Функция включает/выключает неявный сброс
    • ob_list_handlers — Список всех используемых обработчиков вывода
    • ob_start — Включение буферизации вывода
    • output_add_rewrite_var — Добавить обработчик значений URL
    • output_reset_rewrite_vars — Сброс значений установленных обработчиком URL
Basic usage
Введение
Изменение поведения PHP


Введение

Функции управления выводом позволяют вам контролировать вывод, отправляемый скриптом. Это может быть полезно в различных ситуациях, особенно если вам необходимо отправить заголовки в браузер после того, как ваш скрипт уже начал выводить данные. Функции управления выводом не влияют на заголовки, отправленные с помощью функций header() или setcookie(), а влияют только на такие функции, как echo() и данные между блоками PHP кода.

Замечание:

При обновлении с PHP 4.1.x (и 4.2.x) до 4.3.x в связи с ошибкой работы более ранних версий необходимо убедиться, что implicit_flush установлен в OFF в вашем php.ini, в противном случае любой вывод с ob_start() будет все равно отправляться в браузер.

Контроль вывода
Установка и настройка
Контроль вывода


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Контроль вывода


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные опции управления выводом
Название | По умолчанию | Место изменения | История изменений
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Доступно с PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR в PHP <= 4.2.3.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

output_buffering boolean/integer

Вы можете разрешить буферизацию вывода для всех файлов, установив эту директиву в 'On'. Если вы хотите ограничить размер буфера до определенного размера, вы можете установить не 'On', а максимальное количество байт в этой директиве (например, output_buffering=4096). Начиная с PHP 4.3.5 эта директива всегда отключена в PHP-CLI.

output_handler string

Вы можете перенаправить весь вывод вашего скрипта в функцию. Для примера, если вы установите output_handler в mb_output_handler(), то кодировка символов прозрачно преобразуется в соответствии с указанной кодировкой. Настройка на любой обработчик вывода автоматически включает буферизацию вывода.

Замечание:

Вы не можете использовать вместе mb_output_handler() с ob_iconv_handler() и вы не можете использовать вместе ob_gzhandler() и zlib.output_compression.

Замечание:

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

implicit_flush boolean

FALSE по умолчанию. Изменение значения в TRUE указывает PHP не складывать данные в буфер, а после каждого отправленного блока автоматически отправлять данные в выходной слой. Это эквивалентно вызову PHP-функции flush() после каждого вызова print() или echo() для каждого HTML-блока.

При использовании PHP в web-среде, включение этой опции приведет к серьезной потере производительности, поэтому рекомендуется использовать ее только для отладки. Это значение по умолчанию имеет TRUE при работе в CLI SAPI.

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

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Примеры
Контроль вывода


Примеры

Содержание

  • Базовое использование
Предопределенные константы
Базовое использование
Контроль вывода


Базовое использование

Пример #1 Пример контроля вывода

<?php

ob_start();
echo "Привет\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

В приведенном выше примере вывод из echo() будет храниться в буфере вывода до вызова ob_end_flush(). В то же время вызов setcookie() успешно сохранится в cookie браузера, не вызывая ошибки (вы не можете отправлять заголовки в браузер после того, как данные уже были отправлены).

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


Функции контроля вывода

Смотрите также

См. также header() и setcookie().

Содержание

  • flush — Сброс буфера вывода
  • ob_clean — Очищает (стирает) буфер вывода
  • ob_end_clean — Очищает (стирает) буфер вывода и отключает буферизацию вывода
  • ob_end_flush — Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_flush — Сброс (отправка) буфера вывода
  • ob_get_clean — Получить содержимое буфера и очистить его
  • ob_get_contents — Возвращает содержимое буфера вывода
  • ob_get_flush — Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода
  • ob_get_length — Возвращает размер буфера вывода
  • ob_get_level — Возвращает уровень вложенности механизма буферизации вывода
  • ob_get_status — Получить статус буфера вывода
  • ob_gzhandler — callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start
  • ob_implicit_flush — Функция включает/выключает неявный сброс
  • ob_list_handlers — Список всех используемых обработчиков вывода
  • ob_start — Включение буферизации вывода
  • output_add_rewrite_var — Добавить обработчик значений URL
  • output_reset_rewrite_vars — Сброс значений установленных обработчиком URL
Базовое использование
flush
Контроль вывода


Сброс буфера вывода

Функции контроля вывода
ob_clean
Функции контроля вывода
PHP Manual

flush

(PHP 4, PHP 5)

flush — Сброс буфера вывода

Описание

void flush ( void )

Функция очищает буфер вывода PHP, при этом всё содержимое буфера отправляется в браузер пользователя (с некоторыми исключениями), независимо от используемого backend-а у PHP (CGI, web-сервер и т.д.).

flush() не может изменить схему буферизации вашего web-сервера и никак не влияет на буферизацию браузера на стороне клиента. Функция так же не влияет на механизм буферизации пользовательского PHP кода. Это означает, что если вы используете сброс выходных буферов ob, то вам придется вызывать ob_flush() и flush() вместе.

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

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

Браузер может также буферизировать поступающие к нему данные перед отображением. Например, Netscape, буферизирует текст пока не получит признак end-of-line или начало тэга, и не будет отображать таблицы пока не увидит тэга </table> самой внешней таблицы.

Некоторые версии Microsoft Internet Explorer начинают отображать страницу только после получения 256 байт вывода, поэтому может понадобиться отправить дополнительные пробелы перед сбросом, чтобы такие браузеры отобразили страницу.

Возвращаемые значения

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

Функции контроля вывода
ob_clean
Функции контроля вывода


Очищает (стирает) буфер вывода

flush
ob_end_clean
Функции контроля вывода
PHP Manual

ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean — Очищает (стирает) буфер вывода

Описание

void ob_clean ( void )

Эта функция удаляет содержимое выходного буфера.

Эта функция не уничтожает буфер вывода, как это делает ob_end_clean().

Возвращаемые значения

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

Смотрите также

  • ob_flush() - Сброс (отправка) буфера вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода

flush
ob_end_clean
Функции контроля вывода


Очищает (стирает) буфер вывода и отключает буферизацию вывода

ob_clean
ob_end_flush
Функции контроля вывода
PHP Manual

ob_end_clean

(PHP 4, PHP 5)

ob_end_clean — Очищает (стирает) буфер вывода и отключает буферизацию вывода

Описание

bool ob_end_clean ( void )

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

Возвращаемые значения

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

Ошибки

Если функция завершается ошибкой генерируется E_NOTICE.

Список изменений

Версия | Описание
4.2.0 | Добавлено возвращаемое значение (boolean).

Примеры

Следующий пример показывает простой способ избавиться от всех выходных буферов:

Пример #1 Пример использования функции ob_end_clean()

<?php
ob_start();
echo 'Текст, который не отобразится.';
ob_end_clean();
?>

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_get_contents() - Возвращает содержимое буфера вывода
  • ob_flush() - Сброс (отправка) буфера вывода

ob_clean
ob_end_flush
Функции контроля вывода


Сброс (отправка) буфера вывода и отключение буферизации вывода

ob_end_clean
ob_flush
Функции контроля вывода
PHP Manual

ob_end_flush

(PHP 4, PHP 5)

ob_end_flush — Сброс (отправка) буфера вывода и отключение буферизации вывода

Описание

bool ob_end_flush ( void )

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

Замечание: Эта функция аналогична ob_get_flush(), за исключением того, что ob_get_flush() возвращает содержимое буфера в виде строки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Основной причиной неудачного завершения работы функции является ее вызов без активной буферизации или если буфер не может быть удален (специальный тип буфера).

Ошибки

Если функция завершается ошибкой генерируется E_NOTICE.

Список изменений

Версия | Описание
4.2.0 | Добавлено возвращаемое значение (boolean).

Примеры

Пример #1 Пример использования функции ob_end_flush()

Следующий пример показывает простой способ сброса и завершения всех буферов вывода:

<?php
  while (@ob_end_flush());
?>

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_get_contents() - Возвращает содержимое буфера вывода
  • ob_get_flush() - Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода
  • ob_flush() - Сброс (отправка) буфера вывода
  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода

ob_end_clean
ob_flush
Функции контроля вывода


Сброс (отправка) буфера вывода

ob_end_flush
ob_get_clean
Функции контроля вывода
PHP Manual

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — Сброс (отправка) буфера вывода

Описание

void ob_flush ( void )

Эта функция отправит содержимое буфера вывода (если имеется).
Если необходима дальнейшая обработка буфера вывода, то следует
вызвать ob_get_contents() перед
ob_flush(), так как содержимое буфера будет
удалено после вызова ob_flush().

Эта функция не уничтожает буфер вывода, как это делает ob_end_flush().

Возвращаемые значения

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

Смотрите также

  • ob_get_contents() - Возвращает содержимое буфера вывода
  • ob_clean() - Очищает (стирает) буфер вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода

ob_end_flush
ob_get_clean
Функции контроля вывода


Получить содержимое буфера и очистить его

ob_flush
ob_get_contents
Функции контроля вывода
PHP Manual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean — Получить содержимое буфера и очистить его

Описание

string ob_get_clean ( void )

Получает текущее содержимое буфера и очищает текущий буфер вывода.

ob_get_clean() по сути выполняет
ob_get_contents() и
ob_end_clean().

Возвращаемые значения

Возвращает содержимое буфера вывода и заканчивает буферизацию вывода. Если буферизация вывода не активирована, то функция вернет FALSE.

Примеры

Пример #1 Простой пример использования функции ob_get_clean()

<?php

ob_start();

echo "Привет мир";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Результат выполнения данного примера:

string(11) "привет мир"

Смотрите также

  • ob_get_contents() - Возвращает содержимое буфера вывода
  • ob_start() - Включение буферизации вывода

ob_flush
ob_get_contents
Функции контроля вывода


Возвращает содержимое буфера вывода

ob_get_clean
ob_get_flush
Функции контроля вывода
PHP Manual

ob_get_contents

(PHP 4, PHP 5)

ob_get_contents — Возвращает содержимое буфера вывода

Описание

string ob_get_contents ( void )

Получает содержимое буфера без его очистки.

Возвращаемые значения

Функция вернет содержимое буфера вывода или FALSE, если буферизация вывода не активирована.

Примеры

Пример #1 Простой пример использования функции ob_get_contents()

<?php

ob_start();

echo "Привет ";

$out1 = ob_get_contents();

echo "Мир";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

Результат выполнения данного примера:

string(6) "Привет "
string(11) "Привет Мир"

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_get_length() - Возвращает размер буфера вывода

ob_get_clean
ob_get_flush
Функции контроля вывода


Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода

ob_get_contents
ob_get_length
Функции контроля вывода
PHP Manual

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush — Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода

Описание

string ob_get_flush ( void )

ob_get_flush() сбрасывает буфер вывода, возвращая его содержимое в виде строки и отключает буферизацию вывода.

Замечание: Эта функция аналогична ob_end_flush() за исключением того, что эта функция возвращает буфер в виде строки.

Возвращаемые значения

Возвращает буфер вывода или FALSE если буферизация не активна.

Примеры

Пример #1 Пример использования функции ob_get_flush()

<?php
//Используется output_buffering=On
print_r(ob_list_handlers());

//сохраняет буфер в файл
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

Результат выполнения данного примера:

Array
(
    [0] => default output handler
)
Array
(
)

Смотрите также

  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_list_handlers() - Список всех используемых обработчиков вывода

ob_get_contents
ob_get_length
Функции контроля вывода


Возвращает размер буфера вывода

ob_get_flush
ob_get_level
Функции контроля вывода
PHP Manual

ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length — Возвращает размер буфера вывода

Описание

int ob_get_length ( void )

Вернет размер содержимого в буфере вывода.

Возвращаемые значения

Возвращает размер содержимого буфера вывода или FALSE если буферизация не активна.

Примеры

Пример #1 Простой пример использования функции ob_get_length()

<?php

ob_start();

echo "Привет ";

$len1 = ob_get_length();

echo "Мир";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", ." . $len2;
?>

Результат выполнения данного примера:

7, 10

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_get_contents() - Возвращает содержимое буфера вывода

ob_get_flush
ob_get_level
Функции контроля вывода


Возвращает уровень вложенности механизма буферизации вывода

ob_get_length
ob_get_status
Функции контроля вывода
PHP Manual

ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level — Возвращает уровень вложенности механизма буферизации вывода

Описание

int ob_get_level ( void )

Вернет уровень вложенности механизма буферизации вывода.

Возвращаемые значения

Возвращает уровень вложенности обработчиков буферизации вывода или 0, если буферизация не активирована.

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_get_contents() - Возвращает содержимое буфера вывода

ob_get_length
ob_get_status
Функции контроля вывода


Получить статус буфера вывода

ob_get_level
ob_gzhandler
Функции контроля вывода
PHP Manual

ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status — Получить статус буфера вывода

Описание

array ob_get_status ([ bool $full_status = FALSE ] )

Если full_status установлен в TRUE, то ob_get_status() вернет информацию о состоянии буфера вывода верхнего уровня, иначе функция вернет массив уровней всех активных буферов.

Список параметров

full_status

Если TRUE, то вернет все уровни активных буферов. Если FALSE или не установлен, то вернет статус только самого верхнего уровня.

Возвращаемые значения

Если функция вызвана без параметра full_status или full_status = FALSE, то возвращается простой массив из следующих элементов:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
Результаты простого вызова ob_get_status()
Ключ:level
Значение:Уровень вложенности вывода
Ключ:type
Значение:PHP_OUTPUT_HANDLER_INTERNAL (0) или PHP_OUTPUT_HANDLER_USER (1)
Ключ:status
Значение:Один из PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) или PHP_OUTPUT_HANDLER_END (2)
Ключ:name
Значение:Название действующего обработчика вывода или 'default output handler' если не задан
Ключ:del
Значение:Флаг очистки установленный ob_start()

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

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

Полный вывод содержит следующие дополнительные элементы:

Полные результаты ob_get_status()
Ключ:chunk_size
Значение:Размер порции, установленный ob_start()
Ключ:size
Значение:...
Ключ:blocksize
Значение:...

Смотрите также

  • ob_get_level() - Возвращает уровень вложенности механизма буферизации вывода
  • ob_list_handlers() - Список всех используемых обработчиков вывода

ob_get_level
ob_gzhandler
Функции контроля вывода


callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start

ob_get_status
ob_implicit_flush
Функции контроля вывода
PHP Manual

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler — callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start

Описание

string ob_gzhandler ( string $buffer , int $mode )

Функиця ob_gzhandler() предназначена для использования в качестве callback-функции для ob_start(), чтобы облегчить отправку gz-кодированных данных web-браузерам, поддерживающим сжатие web-страниц. Прежде чем ob_gzhandler() отправит сжатые данные, она определяет, какой тип кодирования содержимого сможет принять браузер ("gzip", "deflate" или вообще никакой) и вернет его содержимое соответствующим образом. Поддерживаются все браузеры, отправляющие корректные заголовки о том, что они принимают сжатые web-страницы. Если браузер не поддерживает сжатие страниц функция вернет FALSE.

Список параметров

buffer

mode

Возвращаемые значения

Список изменений

Версия | Описание
4.0.5 | Добавлен параметр mode.

Примеры

Пример #1 Пример использования функции ob_gzhandler()

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>Это должно быть сжатой страницей.</p>
</html>
<body>

Примечания

Замечание:

ob_gzhandler() требует наличие расширения zlib.

Замечание:

Вы не можете использовать одновременно ob_gzhandler() и zlib.output_compression. Также обратите внимание, что использование zlib.output_compression предпочтительнее, чем ob_gzhandler().

Смотрите также

  • ob_start() - Включение буферизации вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода

ob_get_status
ob_implicit_flush
Функции контроля вывода


Функция включает/выключает неявный сброс

ob_gzhandler
ob_list_handlers
Функции контроля вывода
PHP Manual

ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush — Функция включает/выключает неявный сброс

Описание

void ob_implicit_flush ([ int $flag = true ] )

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

Список параметров

flag

TRUE для включения неявного сброса, FALSE в противном случае.

Возвращаемые значения

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

Смотрите также

  • flush() - Сброс буфера вывода
  • ob_start() - Включение буферизации вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода

ob_gzhandler
ob_list_handlers
Функции контроля вывода


Список всех используемых обработчиков вывода

ob_implicit_flush
ob_start
Функции контроля вывода
PHP Manual

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers — Список всех используемых обработчиков вывода

Описание

array ob_list_handlers ( void )

Список всех используемых обработчиков вывода.

Возвращаемые значения

Функция вернет массив с используемыми обработчиками вывода (если имеются). Если включен output_buffering или использовалась анонимная функция вместе с ob_start(), то ob_list_handlers() вернет "default output handler".

Примеры

Пример #1 Пример использования функции ob_list_handlers()

<?php
//используется output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// анонимная функция
ob_start(create_function('$string', 'return $string;'));
print_r(ob_list_handlers());
ob_end_flush();
?>

Результат выполнения данного примера:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => default output handler
)

Смотрите также

  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_get_flush() - Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода
  • ob_start() - Включение буферизации вывода

ob_implicit_flush
ob_start
Функции контроля вывода


Включение буферизации вывода

ob_list_handlers
output_add_rewrite_var
Функции контроля вывода
PHP Manual

ob_start

(PHP 4, PHP 5)

ob_start — Включение буферизации вывода

Описание

bool ob_start ([ callback $output_callback [, int $chunk_size = 0 [, bool $erase = true ]]] )

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

Содержимое этого внутреннего буфера может быть скопировано в строковую
переменную, используя ob_get_contents(). Для вывода
содержимого внутреннего буфера следует использовать ob_end_flush().
В качестве альтернативы можно использовать ob_end_clean()
для уничтожения содержимого буфера.

Внимание

Некоторые web-сервера (например Apache) изменяют рабочую директорию скрипта, когда вызывается callback-функция. Вы можете вернуть ее назад, используя chdir(dirname($_SERVER['SCRIPT_FILENAME'])) в callback-функции.

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

Список параметров

output_callback

В качестве необязательного параметра может быть указана функция output_callback. Эта функция принимает строку как параметр и должна возвращать строку. Функция будет вызвана при сбросе (отправке) буфера вывода или очистке (вместе с ob_flush(), ob_clean() или аналогичной функцией) или когда буфер выводится в браузер в конце запроса. При вызове output_callback, она принимает содержимое буфера вывода как параметр и возвращает новое содержимое, которое и отправляется в браузер. Если output_callback не является вызываемой функцией, то эта функция вернет FALSE.

Если callback-функции передано 2 параметра, то второй параметр рассматривается как битовое значение состоящее из PHP_OUTPUT_HANDLER_START, PHP_OUTPUT_HANDLER_CONT и PHP_OUTPUT_HANDLER_END.

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

Параметр output_callback может быть игнорирован передачей значения NULL.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() и ob_start() не могут вызываться из callback-функций, так как их поведение непредсказуемо. Если вы хотите удалить содержимое буфера, то верните "" (пустую строку) из callback-функции. Вы так же не можете вызывать функции print_r($expression, true) или highlight_file($filename, true) из callback-функций буферизации вывода.

Замечание:

В PHP 4.0.4 функция ob_gzhandler() была введена для облегчения отправки gz-кодированных данных web-браузерам, поддерживающим сжатые web-страницы. ob_gzhandler() определяет тип кодировки содержимого, принимаемый браузером, и возвращает вывод соответствующим образом.

chunk_size

Если передан не обязательный параметр chunk_size, то буфер буден сброшен после любого вывода превышающего или равного по размеру chunk_size. Значение по умолчанию 0 означает, что функция вывода будет вызвана, когда буфер будет закрыт.

До PHP 5.4.0, значение 1 было специальным значением, которое устанавливало параметр chunk_size в 4096.

erase

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

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.4.0 | Параметр chunk_size, установленный в 1, теперь приводит к выводу по 1 байту в выходной буфер.
4.3.2 | Функция вернет FALSE в случае, если output_callback не сможет быть выполнена.
4.2.0 | Добавлен параметр erase.

Примеры

Пример #1 Пример callback-функции, определенной пользователем

<?php

function callback($buffer)
{
  // заменить все яблоки апельсинами
  return (str_replace("яблоки", "апельсины", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>Это все равно что сравнить яблоки и апельсины.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Результат выполнения данного примера:

<html>
<body>
<p>Это все равно что сравнить апельсины и апельсины.</p>
</body>
</html>

Смотрите также

  • ob_get_contents() - Возвращает содержимое буфера вывода
  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_implicit_flush() - Функция включает/выключает неявный сброс
  • ob_gzhandler() - callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start
  • ob_iconv_handler() - Convert character encoding as output buffer handler
  • mb_output_handler() - Callback function converts character encoding in output buffer
  • ob_tidyhandler() - Функция обратного вызова ob_start для восстановление буфера

ob_list_handlers
output_add_rewrite_var
Функции контроля вывода


Добавить обработчик значений URL

ob_start
output_reset_rewrite_vars
Функции контроля вывода
PHP Manual

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var — Добавить обработчик значений URL

Описание

bool output_add_rewrite_var ( string $name , string $value )

Эта функция добавляет пару имя/значение к механизму перезаписи URL. Имя и значение будут добавлены к URL (в качестве GET параметров) и формам (как скрытые поля ввода) так же, как ID сессии, когда включена прозрачная перезапись ссылок, используя session.use_trans_sid. Пожалуйста, обратите внимание, что абсолютные URL (http://example.com/..) не затрагиваются.

Поведение этой функции контролируется параметром url_rewriter.tags php.ini.

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

Список параметров

name

Имя параметра.

value

Значение параметра.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции output_add_rewrite_var()

<?php
output_add_rewrite_var('var', 'value');

// несколько ссылок
echo '<a href="file.php">ссылка</a>
<a href="http://example.com">ссылка2</a>';

// форма
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

Результат выполнения данного примера:

<a href="file.php?var=value">ссылка</a>
<a href="http://example.com">ссылка2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Смотрите также

  • output_reset_rewrite_vars() - Сброс значений установленных обработчиком URL
  • ob_flush() - Сброс (отправка) буфера вывода
  • ob_list_handlers() - Список всех используемых обработчиков вывода

ob_start
output_reset_rewrite_vars
Функции контроля вывода


Сброс значений установленных обработчиком URL

output_add_rewrite_var
Object overloading
Функции контроля вывода
PHP Manual

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars — Сброс значений установленных обработчиком URL

Описание

bool output_reset_rewrite_vars ( void )

Эта функция отключает обработчик URL и удаляет все значения, установленные функцией output_add_rewrite_var() или механизмом сессий (если session.use_trans_sid был установлен для session_start()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции output_reset_rewrite_vars()

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">ссылка</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">ссылка</a>';
?>

Результат выполнения данного примера:

<a href="file.php?PHPSESSID=xxx&var=value">ссылка</a>
<a href="file.php">ссылка</a>

Смотрите также

  • output_add_rewrite_var() - Добавить обработчик значений URL
  • ob_flush() - Сброс (отправка) буфера вывода
  • ob_list_handlers() - Список всех используемых обработчиков вывода
  • session_start() - Initialize session data

output_add_rewrite_var
Object overloading
Функции контроля вывода


Object property and method call overloading

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • Object overloading Функции
    • overload — Enable property and method call overloading for a class
output_reset_rewrite_vars
Введение
Изменение поведения PHP


Введение

The purpose of this extension is to allow overloading of object property access and method calls. Only one function is defined in this extension, overload() which takes the name of the class that should have this functionality enabled. The class named has to define appropriate methods if it wants to have this functionality: __get(), __set() and __call() respectively for getting/setting a property, or calling a method. This way overloading can be selective. Inside these handler functions the overloading is disabled so you can access object properties normally.

Внимание

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

Внимание

This extension is not a part of PHP 5. PHP 5 supports __get(), __set() and __call() natively. See the Overloading in PHP 5 page for more information.

Object overloading
Установка и настройка
Object overloading


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Object overloading


Установка

In order to use these functions, you must compile PHP with the --enable-overload option. Starting with PHP 4.3.0 this extension is enabled by default. You can disable overload support with --disable--overload .

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

Замечание: Builtin support for overload is available with PHP 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
Примеры
Object overloading


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
Object overloading


Basic usage

Some simple examples on using the overload() function:

Пример #1 Overloading a PHP class

<?php

class OO {
   var $a = 111;
   var $elem = array('b' => 9, 'c' => 42);

   // Callback method for getting a property
   function __get($prop_name, &$prop_value)
   {
       if (isset($this->elem[$prop_name])) {
           $prop_value = $this->elem[$prop_name];
           return true;
       } else {
           return false;
       }
   }

   // Callback method for setting a property
   function __set($prop_name, $prop_value)
   {
       $this->elem[$prop_name] = $prop_value;
       return true;
   }
}

// Here we overload the OO object
overload('OO');

$o = new OO;
echo "\$o->a: $o->a\n"; // print: $o->a: 111
echo "\$o->b: $o->b\n"; // print: $o->b: 9
echo "\$o->c: $o->c\n"; // print: $o->c: 42
echo "\$o->d: $o->d\n"; // print: $o->d:

// add a new item to the $elem array in OO
$o->x = 56;

// instantiate stdclass (it is built-in PHP 4)
// $val is not overloaded!
$val = new stdclass;
$val->prop = 555;

// Set "a" to be an array with the $val object in it
// But __set() will put this in the $elem array
$o->a = array($val);
var_dump($o->a[0]->prop);

?>

Примеры
Object overloading Функции
Примеры


Object overloading Функции

Содержание

  • overload — Enable property and method call overloading for a class
Basic usage
overload
Object overloading


Enable property and method call overloading for a class

Object overloading Функции
PHP Опции/Информация
Object overloading Функции
PHP Manual

overload

(PHP 4 >= 4.3.0)

overload — Enable property and method call overloading for a class

Описание

void overload ( string $class_name )

The overload() function will enable property and method call overloading for a class identified by class_name.

Список параметров

class_name

The overloaded class name, as a string

Возвращаемые значения

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

Примеры

See an example in the introductory section of this part.

Object overloading Функции
PHP Опции/Информация
Object overloading Функции


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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • PHP опции/Информационные Функции
    • assert_options — Set/get the various assert flags
    • assert — Checks if assertion is FALSE
    • dl — Loads a PHP extension at runtime
    • extension_loaded — Find out whether an extension is loaded
    • gc_collect_cycles — Forces collection of any existing garbage cycles
    • gc_disable — Deactivates the circular reference collector
    • gc_enable — Activates the circular reference collector
    • gc_enabled — Returns status of the circular reference collector
    • get_cfg_var — Gets the value of a PHP configuration option
    • get_current_user — Gets the name of the owner of the current PHP script
    • get_defined_constants — Returns an associative array with the names of all the constants and their values
    • get_extension_funcs — Returns an array with the names of the functions of a module
    • get_include_path — Gets the current include_path configuration option
    • get_included_files — Returns an array with the names of included or required files
    • get_loaded_extensions — Returns an array with the names of all modules compiled and loaded
    • get_magic_quotes_gpc — Gets the current configuration setting of magic_quotes_gpc
    • get_magic_quotes_runtime — Gets the current active configuration setting of magic_quotes_runtime
    • get_required_files — Псевдоним get_included_files
    • getenv — Gets the value of an environment variable
    • getlastmod — Gets time of last page modification
    • getmygid — Get PHP script owner's GID
    • getmyinode — Gets the inode of the current script
    • getmypid — Gets PHP's process ID
    • getmyuid — Gets PHP script owner's UID
    • getopt — Gets options from the command line argument list
    • getrusage — Gets the current resource usages
    • ini_alter — Псевдоним ini_set
    • ini_get_all — Gets all configuration options
    • ini_get — Gets the value of a configuration option
    • ini_restore — Restores the value of a configuration option
    • ini_set — Sets the value of a configuration option
    • magic_quotes_runtime — Псевдоним set_magic_quotes_runtime
    • main — Dummy for main
    • memory_get_peak_usage — Returns the peak of memory allocated by PHP
    • memory_get_usage — Returns the amount of memory allocated to PHP
    • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
    • php_ini_scanned_files — Return a list of .ini files parsed from the additional ini dir
    • php_logo_guid — Gets the logo guid
    • php_sapi_name — Returns the type of interface between web server and PHP
    • php_uname — Returns information about the operating system PHP is running on
    • phpcredits — Prints out the credits for PHP
    • phpinfo — Outputs information about PHP's configuration
    • phpversion — Gets the current PHP version
    • putenv — Sets the value of an environment variable
    • restore_include_path — Restores the value of the include_path configuration option
    • set_include_path — Sets the include_path configuration option
    • set_magic_quotes_runtime — Sets the current active configuration setting of magic_quotes_runtime
    • set_time_limit — Limits the maximum execution time
    • sys_get_temp_dir — Returns directory path used for temporary files
    • version_compare — Compares two "PHP-standardized" version number strings
    • zend_logo_guid — Gets the Zend guid
    • zend_thread_id — Returns a unique identifier for the current thread
    • zend_version — Gets the version of the current Zend engine
overload
Введение
Изменение поведения PHP


Введение

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

PHP Опции/Информация
Установка и настройка
PHP Опции/Информация


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PHP Опции/Информация


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PHP Options/Inf Configuration Options
Name | Default | Changeable | Changelog
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM | Эта устаревшая возможность будет обязательно удалена в будущем.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Available since PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_PERDIR | Available since PHP 4.4.8. Removed in PHP 5.0.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Эта устаревшая возможность будет обязательно удалена в будущем.
magic_quotes_runtime | "0" | PHP_INI_ALL | Эта устаревшая возможность будет обязательно удалена в будущем.
zend.enable_gc | "1" | PHP_INI_ALL | Available since PHP 5.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

assert.active boolean

Enable assert() evaluation.

assert.bail boolean

Terminate script execution on failed assertions.

assert.warning boolean

Issue a PHP warning for each failed assertion.

assert.callback string

user function to call on failed assertions

assert.quiet_eval boolean

Use the current setting of error_reporting() during assertion expression evaluation. If enabled, no errors are shown (implicit error_reporting(0)) while evaluation. If disabled, errors are shown according to the settings of error_reporting()

enable_dl boolean

This directive is really only useful in the Apache module version of PHP. You can turn dynamic loading of PHP extensions with dl() on and off per virtual server or per directory.

The main reason for turning dynamic loading off is security. With dynamic loading, it's possible to ignore all open_basedir restrictions. The default is to allow dynamic loading, except when using безопасный режим. In безопасный режим, it's always impossible to use dl().

max_execution_time integer

This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.

The maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details.

You can not change this setting with ini_set() when running in безопасный режим. The only workaround is to turn off safe mode or by changing the time limit in the php.ini.

Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.

max_input_time integer

This sets the maximum time in seconds a script is allowed to parse input data, like POST and GET. It is measured from the moment of receiving all data on the server to the start of script execution.

max_input_nesting_level integer

Sets the max nesting depth of input variables (i.e. $_GET, $_POST..)

magic_quotes_gpc boolean
Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically.

Замечание:

In PHP 4, also $_ENV variables are escaped.

Замечание:

If the magic_quotes_sybase directive is also ON it will completely override magic_quotes_gpc. Having both directives enabled means only single quotes are escaped as ''. Double quotes, backslashes and NUL's will remain untouched and unescaped.

See also get_magic_quotes_gpc()

magic_quotes_runtime boolean
Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

If magic_quotes_runtime is enabled, most functions that return data from any sort of external source including databases and text files will have quotes escaped with a backslash. If magic_quotes_sybase is also on, a single-quote is escaped with a single-quote instead of a backslash.

Functions affected by magic_quotes_runtime (does not include functions from PECL):

  • get_meta_tags()
  • file_get_contents()
  • file()
  • fgets()
  • fwrite()
  • fread()
  • fputcsv()
  • stream_socket_recvfrom()
  • exec()
  • system()
  • passthru()
  • stream_get_contents()
  • bzread()
  • gzfile()
  • gzgets()
  • gzwrite()
  • gzread()
  • phar_file_get_contents()
  • exif_read_data()
  • dba_insert()
  • dba_replace()
  • dba_fetch()
  • ibase_fetch_row()
  • ibase_fetch_assoc()
  • ibase_fetch_object()
  • mssql_fetch_row()
  • mssql_fetch_object()
  • mssql_fetch_array()
  • mssql_fetch_assoc()
  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_assoc()
  • mysqli_fetch_object()
  • pg_fetch_row()
  • pg_fetch_assoc()
  • pg_fetch_array()
  • pg_fetch_object()
  • pg_fetch_all()
  • pg_select()
  • sybase_fetch_object()
  • sybase_fetch_array()
  • sybase_fetch_assoc()
  • SplFileObject::fgets()
  • SplFileObject::fgetcsv()
  • SplFileObject::fwrite()

zend.enable_gc boolean

Enables or disables the circular reference collector.

Установка
Типы ресурсов
Установка и настройка


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

Перечисленные ниже константы всегда доступны как часть ядра PHP.

Pre-defined phpcredits() constants
Constant | Value | Description
CREDITS_GROUP | 1 | A list of the core developers
CREDITS_GENERAL | 2 | General credits: Language design and concept, PHP authors and SAPI module.
CREDITS_SAPI | 4 | A list of the server API modules for PHP, and their authors.
CREDITS_MODULES | 8 | A list of the extension modules for PHP, and their authors.
CREDITS_DOCS | 16 | The credits for the documentation team.
CREDITS_FULLPAGE | 32 | Usually used in combination with the other flags. Indicates that a complete stand-alone HTML page needs to be printed including the information indicated by the other flags.
CREDITS_QA | 64 | The credits for the quality assurance team.
CREDITS_ALL | -1 | All the credits, equivalent to using: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. It generates a complete stand-alone HTML page with the appropriate tags. This is the default value.
phpinfo() constants
Constant | Value | Description
INFO_GENERAL | 1 | The configuration line, php.ini location, build date, Web Server, System and more.
INFO_CREDITS | 2 | PHP Credits. See also phpcredits().
INFO_CONFIGURATION | 4 | Current Local and Master values for PHP directives. See also ini_get().
INFO_MODULES | 8 | Loaded modules and their respective settings.
INFO_ENVIRONMENT | 16 | Environment Variable information that's also available in $_ENV.
INFO_VARIABLES | 32 | Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | PHP License information. See also the » license faq.
INFO_ALL | -1 | Shows all of the above. This is the default value.

Assert constants, these values are used to set the assertion options in assert_options().

assert() constants
Constant | INI Setting | Description
ASSERT_ACTIVE | assert.active | Enable assert() evaluation.
ASSERT_CALLBACK | assert.callback | Callback to call on failed assertions.
ASSERT_BAIL | assert.bail | Terminate execution on failed assertions.
ASSERT_WARNING | assert.warning | Issues a PHP warning for each failed assertion
ASSERT_QUITE_EVAL | assert.quiet_eval | Disable error_reporting during assertion expression evaluation.

The following constants are only available if the host operating system is Windows, and can tell different versioning information so its possible to detect various features and make use of them. They are all available as of PHP 5.3.0.

Windows specific constants
Constant | Description
PHP_WINDOWS_VERSION_MAJOR | The major version of Windows, this can be either 4 (NT4/Me/98/95), 5 (XP/2003 R2/2003/2000) or 6 (Vista/2008).
PHP_WINDOWS_VERSION_MINOR | The minor version of Windows, this can be either 0 (Vista/2008/2000/NT4/95), 1 (XP), 2 (2003 R2/2003/XP x64), 10 (98) or 90 (ME).
PHP_WINDOWS_VERSION_BUILD | The Windows build number (for example, Windows Vista with SP1 applied is build 6001)
PHP_WINDOWS_VERSION_PLATFORM | The platform that PHP currently is running on, this value is 2 on Windows Vista/XP/2000/NT4, Server 2008/2003 and on Windows ME/98/95 this value is 1.
PHP_WINDOWS_VERSION_SP_MAJOR | The major version of the service pack installed, this value is 0 if no service pack is installed. For example, Windows XP with service pack 3 installed will make this value 3.
PHP_WINDOWS_VERSION_SP_MINOR | The minor version of the service pack installed, this value is 0 if no service pack is installed.
PHP_WINDOWS_VERSION_SUITEMASK | The suitemask is a bitmask that can tell if various features of Windows is installed, see the table below for possible bitfield values.
PHP_WINDOWS_VERSION_PRODUCTTYPE | This contains the value used to determine the PHP_WINDOWS_NT_* constants. This value may be one of the PHP_WINDOWS_NT_* constants indicating the platform type.
PHP_WINDOWS_NT_DOMAIN_CONTROLLER | This is a domain controller
PHP_WINDOWS_NT_SERVER | This is a server system (eg. Server 2008/2003/2000), note that if this is a domain controller its reported as PHP_WINDOWS_NT_DOMAIN_CONTROLLER.
PHP_WINDOWS_NT_WORKSTATION | This is a workstation system (eg. Vista/XP/2000/NT4)

This table shows a list of features that can be checked for using the PHP_WINDOWS_VERSION_SUITEMASK bitmask.

Windows suitemask bitfields
Bits | Description
0x00000004 | Microsoft BackOffice components are installed.
0x00000400 | Windows Server 2003, Web Edition is installed.
0x00004000 | Windows Server 2003, Compute Cluster Edition is installed.
0x00000080 | Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition or Windows 2000 Datacenter Server is installed.
0x00000002 | Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, Windows 2000 Advanced Server, or Windows NT Server 4.0 Enterprise Edition is installed.
0x00000040 | Windows XP Embedded is installed.
0x00000200 | Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
0x00000100 | Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
0x00000001 | Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows.
0x00000020 | Microsoft Small Business Server is installed with the restrictive client license in force.
0x00002000 | Windows Storage Server 2003 R2 or Windows Storage Server 2003 is installed.
0x00000010 | Terminal Services is installed. This value is always set. If this value is set but 0x00000100 is not set, then the system is running in application server mode.
0x00008000 | Windows Home Server is installed.
Типы ресурсов
PHP опции/Информационные Функции
PHP Опции/Информация


PHP опции/Информационные Функции

Содержание

  • assert_options — Set/get the various assert flags
  • assert — Checks if assertion is FALSE
  • dl — Loads a PHP extension at runtime
  • extension_loaded — Find out whether an extension is loaded
  • gc_collect_cycles — Forces collection of any existing garbage cycles
  • gc_disable — Deactivates the circular reference collector
  • gc_enable — Activates the circular reference collector
  • gc_enabled — Returns status of the circular reference collector
  • get_cfg_var — Gets the value of a PHP configuration option
  • get_current_user — Gets the name of the owner of the current PHP script
  • get_defined_constants — Returns an associative array with the names of all the constants and their values
  • get_extension_funcs — Returns an array with the names of the functions of a module
  • get_include_path — Gets the current include_path configuration option
  • get_included_files — Returns an array with the names of included or required files
  • get_loaded_extensions — Returns an array with the names of all modules compiled and loaded
  • get_magic_quotes_gpc — Gets the current configuration setting of magic_quotes_gpc
  • get_magic_quotes_runtime — Gets the current active configuration setting of magic_quotes_runtime
  • get_required_files — Псевдоним get_included_files
  • getenv — Gets the value of an environment variable
  • getlastmod — Gets time of last page modification
  • getmygid — Get PHP script owner's GID
  • getmyinode — Gets the inode of the current script
  • getmypid — Gets PHP's process ID
  • getmyuid — Gets PHP script owner's UID
  • getopt — Gets options from the command line argument list
  • getrusage — Gets the current resource usages
  • ini_alter — Псевдоним ini_set
  • ini_get_all — Gets all configuration options
  • ini_get — Gets the value of a configuration option
  • ini_restore — Restores the value of a configuration option
  • ini_set — Sets the value of a configuration option
  • magic_quotes_runtime — Псевдоним set_magic_quotes_runtime
  • main — Dummy for main
  • memory_get_peak_usage — Returns the peak of memory allocated by PHP
  • memory_get_usage — Returns the amount of memory allocated to PHP
  • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
  • php_ini_scanned_files — Return a list of .ini files parsed from the additional ini dir
  • php_logo_guid — Gets the logo guid
  • php_sapi_name — Returns the type of interface between web server and PHP
  • php_uname — Returns information about the operating system PHP is running on
  • phpcredits — Prints out the credits for PHP
  • phpinfo — Outputs information about PHP's configuration
  • phpversion — Gets the current PHP version
  • putenv — Sets the value of an environment variable
  • restore_include_path — Restores the value of the include_path configuration option
  • set_include_path — Sets the include_path configuration option
  • set_magic_quotes_runtime — Sets the current active configuration setting of magic_quotes_runtime
  • set_time_limit — Limits the maximum execution time
  • sys_get_temp_dir — Returns directory path used for temporary files
  • version_compare — Compares two "PHP-standardized" version number strings
  • zend_logo_guid — Gets the Zend guid
  • zend_thread_id — Returns a unique identifier for the current thread
  • zend_version — Gets the version of the current Zend engine
Предопределенные константы
assert_options
PHP Опции/Информация


Set/get the various assert flags

PHP опции/Информационные Функции
assert
PHP опции/Информационные Функции
PHP Manual

assert_options

(PHP 4, PHP 5)

assert_options — Set/get the various assert flags

Описание

mixed assert_options ( int $what [, mixed $value ] )

Set the various assert() control options or just query their current settings.

Список параметров

what

Assert Options
Option | INI Setting | Default value | Description
ASSERT_ACTIVE | assert.active | 1 | enable assert() evaluation
ASSERT_WARNING | assert.warning | 1 | issue a PHP warning for each failed assertion
ASSERT_BAIL | assert.bail | 0 | terminate execution on failed assertions
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | disable error_reporting during assertion expression evaluation
ASSERT_CALLBACK | assert.callback | (NULL) | Callback to call on failed assertions

value

An optional new value for the option.

Возвращаемые значения

Returns the original setting of any option or FALSE on errors.

Примеры

Пример #1 assert_options() example

<?php
// This is our function to handle
// assert failures
function assert_failure()
{
    echo 'Assert failed';
}

// This is our test function
function test_assert($parameter)
{
    assert(is_bool($parameter));
}

// Set our assert options
assert_options(ASSERT_ACTIVE,   true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,  false);
assert_options(ASSERT_CALLBACK, 'assert_failure');

// Make an assert that would fail
test_assert(1);

// This is never reached due to ASSERT_BAIL
// being true
echo 'Never reached';
?>

Смотрите также

  • assert() - Checks if assertion is FALSE

PHP опции/Информационные Функции
assert
PHP опции/Информационные Функции


Checks if assertion is FALSE

assert_options
dl
PHP опции/Информационные Функции
PHP Manual

assert

(PHP 4, PHP 5)

assert — Checks if assertion is FALSE

Описание

bool assert ( mixed $assertion )

assert() will check the given assertion and take appropriate action if its result is FALSE.

If the assertion is given as a string it will be evaluated as PHP code by assert(). The advantages of a string assertion are less overhead when assertion checking is off and messages containing the assertion expression when an assertion fails. This means that if you pass a boolean condition as assertion this condition will not show up as parameter to the assertion function which you may have defined with the assert_options() function, the condition is converted to a string before calling that handler function, and the boolean FALSE is converted as the empty string.

Assertions should be used as a debugging feature only. You may use them for sanity-checks that test for conditions that should always be TRUE and that indicate some programming errors if not or to check for the presence of certain features like extension functions or certain system limits and features.

Assertions should not be used for normal runtime operations like input parameter checks. As a rule of thumb your code should always be able to work correctly if assertion checking is not activated.

The behavior of assert() may be configured by assert_options() or by .ini-settings described in that functions manual page.

The assert_options() function and/or ASSERT_CALLBACK configuration directive allow a callback function to be set to handle failed assertions.

assert() callbacks are particularly useful for building automated test suites because they allow you to easily capture the code passed to the assertion, along with information on where the assertion was made. While this information can be captured via other methods, using assertions makes it much faster and easier!

The callback function should accept three arguments. The first argument will contain the file the assertion failed in. The second argument will contain the line the assertion failed on and the third argument will contain the expression that failed (if any - literal values such as 1 or "two" will not be passed via this argument)

Список параметров

assertion

The assertion.

Возвращаемые значения

FALSE if the assertion is false, TRUE otherwise.

Примеры

Пример #1 Handle a failed assertion with a custom handler

<?php
// Active assert and make it quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Create a handler function
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// Set up the callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('mysql_query("")');
?>

Смотрите также

  • assert_options() - Set/get the various assert flags

assert_options
dl
PHP опции/Информационные Функции


Loads a PHP extension at runtime

assert
extension_loaded
PHP опции/Информационные Функции
PHP Manual

dl

(PHP 4, PHP 5)

dl — Loads a PHP extension at runtime

Описание

bool dl ( string $library )

Loads the PHP extension given by the parameter library.

Use extension_loaded() to test whether a given extension is already available or not. This works on both built-in extensions and dynamically loaded ones (either through php.ini or dl()).

Внимание

This function has been removed from some SAPIs in PHP 5.3.

Список параметров

library

This parameter is only the filename of the extension to load which also depends on your platform. For example, the sockets extension (if compiled as a shared module, not the default!) would be called sockets.so on Unix platforms whereas it is called php_sockets.dll on the Windows platform.

The directory where the extension is loaded from depends on your platform:

Windows - If not explicitly set in the php.ini, the extension is loaded from C:\php4\extensions\ (PHP 4) or C:\php5\ (PHP 5) by default.

Unix - If not explicitly set in the php.ini, the default extension directory depends on

  • whether PHP has been built with --enable-debug or not
  • whether PHP has been built with (experimental) ZTS (Zend Thread Safety) support or not
  • the current internal ZEND_MODULE_API_NO (Zend internal module API number, which is basically the date on which a major module API change happened, e.g. 20010901)
Taking into account the above, the directory then defaults to <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 or /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If the functionality of loading modules is not available or has been disabled (either by setting enable_dl off or by enabling безопасный режим in php.ini) an E_ERROR is emitted and execution is stopped. If dl() fails because the specified library couldn't be loaded, in addition to FALSE an E_WARNING message is emitted.

Примеры

Пример #1 dl() examples

<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Список изменений

Версия | Описание
5.3.0 | dl() is now disabled in some SAPIs due to stability issues. The only SAPIs that allow dl() are CLI and Embed. Use the Extension Loading Directives instead.

Примечания

Замечание:

dl() is not supported when PHP is built with ZTS support. Use the Extension Loading Directives instead.

Замечание:

dl() is case sensitive on Unix platforms.

Замечание: Эта функция недоступна в безопасном режиме.

Смотрите также

  • Extension Loading Directives
  • extension_loaded() - Find out whether an extension is loaded

assert
extension_loaded
PHP опции/Информационные Функции


Find out whether an extension is loaded

dl
gc_collect_cycles
PHP опции/Информационные Функции
PHP Manual

extension_loaded

(PHP 4, PHP 5)

extension_loaded — Find out whether an extension is loaded

Описание

bool extension_loaded ( string $name )

Finds out whether the extension is loaded.

Список параметров

name

The extension name.

You can see the names of various extensions by using phpinfo() or if you're using the CGI or CLI version of PHP you can use the -m switch to list all available extensions:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Возвращаемые значения

Returns TRUE if the extension identified by name is loaded, FALSE otherwise.

Примеры

Пример #1 extension_loaded() example

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Список изменений

Версия | Описание
5.0.0 | extension_loaded() uses the internal extension name to test whether a certain extension is available or not. Most internal extension names are written in lower case but there may be extensions available which also use uppercase letters. Prior to PHP 5, this function compared the names case sensitively.

Смотрите также

  • get_loaded_extensions() - Returns an array with the names of all modules compiled and loaded
  • get_extension_funcs() - Returns an array with the names of the functions of a module
  • phpinfo() - Outputs information about PHP's configuration
  • dl() - Loads a PHP extension at runtime

dl
gc_collect_cycles
PHP опции/Информационные Функции


Forces collection of any existing garbage cycles

extension_loaded
gc_disable
PHP опции/Информационные Функции
PHP Manual

gc_collect_cycles

(PHP 5 >= 5.3.0)

gc_collect_cycles — Forces collection of any existing garbage cycles

Описание

int gc_collect_cycles ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Forces collection of any existing garbage cycles.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns number of collected cycles.

extension_loaded
gc_disable
PHP опции/Информационные Функции


Deactivates the circular reference collector

gc_collect_cycles
gc_enable
PHP опции/Информационные Функции
PHP Manual

gc_disable

(PHP 5 >= 5.3.0)

gc_disable — Deactivates the circular reference collector

Описание

void gc_disable ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Deactivates the circular reference collector.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

gc_collect_cycles
gc_enable
PHP опции/Информационные Функции


Activates the circular reference collector

gc_disable
gc_enabled
PHP опции/Информационные Функции
PHP Manual

gc_enable

(PHP 5 >= 5.3.0)

gc_enable — Activates the circular reference collector

Описание

void gc_enable ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Activates the circular reference collector.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

gc_disable
gc_enabled
PHP опции/Информационные Функции


Returns status of the circular reference collector

gc_enable
get_cfg_var
PHP опции/Информационные Функции
PHP Manual

gc_enabled

(PHP 5 >= 5.3.0)

gc_enabled — Returns status of the circular reference collector

Описание

bool gc_enabled ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns status of the circular reference collector.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the garbage collector is enabled, FALSE otherwise.

gc_enable
get_cfg_var
PHP опции/Информационные Функции


Gets the value of a PHP configuration option

gc_enabled
get_current_user
PHP опции/Информационные Функции
PHP Manual

get_cfg_var

(PHP 4, PHP 5)

get_cfg_var — Gets the value of a PHP configuration option

Описание

string get_cfg_var ( string $option )

Gets the value of a PHP configuration option.

This function will not return configuration information set when the PHP was compiled, or read from an Apache configuration file.

To check whether the system is using a configuration file, try retrieving the value of the cfg_file_path configuration setting. If this is available, a configuration file is being used.

Список параметров

option

The configuration option name.

Возвращаемые значения

Returns the current value of the PHP configuration variable specified by option, or FALSE if an error occurs.

Список изменений

Версия | Описание
5.3.0 | get_cfg_var() was fixed to be able to return "array" ini options.

Смотрите также

  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options

gc_enabled
get_current_user
PHP опции/Информационные Функции


Gets the name of the owner of the current PHP script

get_cfg_var
get_defined_constants
PHP опции/Информационные Функции
PHP Manual

get_current_user

(PHP 4, PHP 5)

get_current_user — Gets the name of the owner of the current PHP script

Описание

string get_current_user ( void )

Returns the name of the owner of the current PHP script.

Возвращаемые значения

Returns the username as a string.

Примеры

Пример #1 get_current_user() example

<?php
echo 'Current script owner: ' . get_current_user();
?>

Результатом выполнения данного примера будет что-то подобное:

Current script owner: SYSTEM

Смотрите также

  • getmyuid() - Gets PHP script owner's UID
  • getmygid() - Get PHP script owner's GID
  • getmypid() - Gets PHP's process ID
  • getmyinode() - Gets the inode of the current script
  • getlastmod() - Gets time of last page modification

get_cfg_var
get_defined_constants
PHP опции/Информационные Функции


Returns an associative array with the names of all the constants and their values

get_current_user
get_extension_funcs
PHP опции/Информационные Функции
PHP Manual

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5)

get_defined_constants — Returns an associative array with the names of all the constants and their values

Описание

array get_defined_constants ([ bool $categorize = false ] )

Returns the names and values of all the constants currently defined. This includes those created by extensions as well as those created with the define() function.

Список параметров

categorize

Causing this function to return a multi-dimensional array with categories in the keys of the first dimension and constants and their values in the second dimension.

<?php
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MY_CONSTANT] => 1
        )

)

Возвращаемые значения

Список изменений

Версия | Описание
5.3.1 | Windows only: Core constants are categorized under Core, previously mhash.
5.3.0 | Core constants are categorized under Core, previously internal. On Windows, the Core Constants are categorized under mhash.
5.2.11 | The categorize parameter now operates appropriately. Previously, the categorize parameter was interpreted as !is_null($categorize), making any value other than NULL force the constants to be categorized.
5.0.0 | The categorize parameter was added.

Примеры

Пример #1 get_defined_constants() Example

<?php
print_r(get_defined_constants());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Смотрите также

  • defined() - Проверяет существование указанной именованной константы
  • get_loaded_extensions() - Returns an array with the names of all modules compiled and loaded
  • get_defined_functions() - Возвращает массив всех определённых функций
  • get_defined_vars() - Возвращает массив всех определенных переменных

get_current_user
get_extension_funcs
PHP опции/Информационные Функции


Returns an array with the names of the functions of a module

get_defined_constants
get_include_path
PHP опции/Информационные Функции
PHP Manual

get_extension_funcs

(PHP 4, PHP 5)

get_extension_funcs — Returns an array with the names of the functions of a module

Описание

array get_extension_funcs ( string $module_name )

This function returns the names of all the functions defined in the module indicated by module_name.

Список параметров

module_name

The module name.

Замечание:

This parameter must be in lowercase.

Возвращаемые значения

Returns an array with all the functions, or FALSE if module_name is not a valid extension.

Примеры

Пример #1 Prints the XML functions

<?php
print_r(get_extension_funcs("xml"));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Смотрите также

  • get_loaded_extensions() - Returns an array with the names of all modules compiled and loaded

get_defined_constants
get_include_path
PHP опции/Информационные Функции


Gets the current include_path configuration option

get_extension_funcs
get_included_files
PHP опции/Информационные Функции
PHP Manual

get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path — Gets the current include_path configuration option

Описание

string get_include_path ( void )

Gets the current include_path configuration option value.

Возвращаемые значения

Returns the path, as a string.

Примеры

Пример #1 get_include_path() example

<?php
// Works as of PHP 4.3.0
echo get_include_path();

// Works in all PHP versions
echo ini_get('include_path');
?>

Смотрите также

  • ini_get() - Gets the value of a configuration option
  • restore_include_path() - Restores the value of the include_path configuration option
  • set_include_path() - Sets the include_path configuration option
  • include()

get_extension_funcs
get_included_files
PHP опции/Информационные Функции


Returns an array with the names of included or required files

get_include_path
get_loaded_extensions
PHP опции/Информационные Функции
PHP Manual

get_included_files

(PHP 4, PHP 5)

get_included_files — Returns an array with the names of included or required files

Описание

array get_included_files ( void )

Gets the names of all files that have been included using include(), include_once(), require() or require_once().

Возвращаемые значения

Returns an array of the names of all files.

The script originally called is considered an "included file," so it will be listed together with the files referenced by include() and family.

Files that are included or required multiple times only show up once in the returned array.

Список изменений

Версия | Описание
4.0.1 | In PHP 4.0.1 and previous versions this function assumed that the required files ended in the extension .php; other extensions would not be returned. The array returned by get_included_files() was an associative array and only listed files included by include() and include_once().

Примеры

Пример #1 get_included_files() example

<?php
// This file is abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>

Результат выполнения данного примера:

abc.php
test1.php
test2.php
test3.php
test4.php

Примечания

Замечание:

Files included using the auto_prepend_file configuration directive are not included in the returned array.

Смотрите также

  • include()
  • include_once()
  • require()
  • require_once()
  • get_required_files() - Псевдоним get_included_files

get_include_path
get_loaded_extensions
PHP опции/Информационные Функции


Returns an array with the names of all modules compiled and loaded

get_included_files
get_magic_quotes_gpc
PHP опции/Информационные Функции
PHP Manual

get_loaded_extensions

(PHP 4, PHP 5)

get_loaded_extensions — Returns an array with the names of all modules compiled and loaded

Описание

array get_loaded_extensions ([ bool $zend_extensions = false ] )

This function returns the names of all the modules compiled and loaded in the PHP interpreter.

Список параметров

zend_extensions

Only return Zend extensions, if not then regular extensions, like mysqli are listed. Defaults to FALSE (return regular extensions).

Возвращаемые значения

Returns an indexed array of all the modules names.

Список изменений

Версия | Описание
5.2.4 | The optional zend_extensions parameter was added

Примеры

Пример #1 get_loaded_extensions() Example

<?php
print_r(get_loaded_extensions());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Смотрите также

  • get_extension_funcs() - Returns an array with the names of the functions of a module
  • extension_loaded() - Find out whether an extension is loaded
  • dl() - Loads a PHP extension at runtime
  • phpinfo() - Outputs information about PHP's configuration

get_included_files
get_magic_quotes_gpc
PHP опции/Информационные Функции


Gets the current configuration setting of magic_quotes_gpc

get_loaded_extensions
get_magic_quotes_runtime
PHP опции/Информационные Функции
PHP Manual

get_magic_quotes_gpc

(PHP 4, PHP 5)

get_magic_quotes_gpc — Gets the current configuration setting of magic_quotes_gpc

Описание

int get_magic_quotes_gpc ( void )

Returns the current configuration setting of magic_quotes_gpc

Keep in mind that attempting to set magic_quotes_gpc at runtime will not work.

For more information about magic_quotes, see this security section.

Возвращаемые значения

Returns 0 if magic_quotes_gpc is off, 1 otherwise.

Примеры

Пример #1 get_magic_quotes_gpc() example

<?php
echo get_magic_quotes_gpc();         // 1
echo $_POST['lastname'];             // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly

if (get_magic_quotes_gpc()) {
    $lastname = stripslashes($_POST['lastname']);
}
else {
    $lastname = $_POST['lastname'];
}

// If using MySQL
$lastname = mysql_real_escape_string($lastname);

echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>

Примечания

Замечание:

If the directive magic_quotes_sybase is ON it will completely override magic_quotes_gpc. So even when get_magic_quotes_gpc() returns TRUE neither double quotes, backslashes or NUL's will be escaped. Only single quotes will be escaped. In this case they'll look like: ''

Смотрите также

  • addslashes() - Экранирует строку с помощью слэшей
  • stripslashes() - Удаляет экранирование символов
  • get_magic_quotes_runtime() - Gets the current active configuration setting of magic_quotes_runtime
  • ini_get() - Gets the value of a configuration option

get_loaded_extensions
get_magic_quotes_runtime
PHP опции/Информационные Функции


Gets the current active configuration setting of magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
PHP опции/Информационные Функции
PHP Manual

get_magic_quotes_runtime

(PHP 4, PHP 5)

get_magic_quotes_runtime — Gets the current active configuration setting of magic_quotes_runtime

Описание

int get_magic_quotes_runtime ( void )

Returns the current active configuration setting of magic_quotes_runtime.

Возвращаемые значения

Returns 0 if magic_quotes_runtime is off, 1 otherwise.

Примеры

Пример #1 get_magic_quotes_runtime() example

<?php
// Check if magic_quotes_runtime is active
if(get_magic_quotes_runtime())
{
    // Deactivate
    set_magic_quotes_runtime(false);
}
?>

Смотрите также

  • get_magic_quotes_gpc() - Gets the current configuration setting of magic_quotes_gpc
  • set_magic_quotes_runtime() - Sets the current active configuration setting of magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
PHP опции/Информационные Функции


Псевдоним get_included_files

get_magic_quotes_runtime
getenv
PHP опции/Информационные Функции
PHP Manual

get_required_files

(PHP 4, PHP 5)

get_required_files — Псевдоним get_included_files()

Описание

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

get_magic_quotes_runtime
getenv
PHP опции/Информационные Функции


Gets the value of an environment variable

get_required_files
getlastmod
PHP опции/Информационные Функции
PHP Manual

getenv

(PHP 4, PHP 5)

getenv — Gets the value of an environment variable

Описание

string getenv ( string $varname )

Gets the value of an environment variable.

You can see a list of all the environmental variables by using phpinfo(). Many of these variables are listed within » RFC 3875, specifically section 4.1, "Request Meta-Variables".

Список параметров

varname

The variable name.

Возвращаемые значения

Returns the value of the environment variable varname, or FALSE if the environment variable varname does not exist.

Примеры

Пример #1 getenv() Example

<?php
// Example use of getenv()
$ip = getenv('REMOTE_ADDR');

// Or simply use a Superglobal ($_SERVER or $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
?>

Смотрите также

  • putenv() - Sets the value of an environment variable
  • apache_getenv() - Получить переменную окружения подпроцесса сервера Apache
  • Superglobals

get_required_files
getlastmod
PHP опции/Информационные Функции


Gets time of last page modification

getenv
getmygid
PHP опции/Информационные Функции
PHP Manual

getlastmod

(PHP 4, PHP 5)

getlastmod — Gets time of last page modification

Описание

int getlastmod ( void )

Gets the time of the last modification of the current page.

If you're interested in getting the last modification time of a different file, consider using filemtime().

Возвращаемые значения

Returns the time of the last modification of the current page. The value returned is a Unix timestamp, suitable for feeding to date(). Returns FALSE on error.

Примеры

Пример #1 getlastmod() example

<?php
// outputs e.g. 'Last modified: March 04 1998 20:43:59.'
echo "Last modified: " . date ("F d Y H:i:s.", getlastmod());
?>

Смотрите также

  • date() - Форматирует вывод системной даты/времени
  • getmyuid() - Gets PHP script owner's UID
  • getmygid() - Get PHP script owner's GID
  • get_current_user() - Gets the name of the owner of the current PHP script
  • getmyinode() - Gets the inode of the current script
  • getmypid() - Gets PHP's process ID
  • filemtime() - Возвращает время последнего изменения файла

getenv
getmygid
PHP опции/Информационные Функции


Get PHP script owner's GID

getlastmod
getmyinode
PHP опции/Информационные Функции
PHP Manual

getmygid

(PHP 4 >= 4.1.0, PHP 5)

getmygid — Get PHP script owner's GID

Описание

int getmygid ( void )

Gets the group ID of the current script.

Возвращаемые значения

Returns the group ID of the current script, or FALSE on error.

Смотрите также

  • getmyuid() - Gets PHP script owner's UID
  • getmypid() - Gets PHP's process ID
  • get_current_user() - Gets the name of the owner of the current PHP script
  • getmyinode() - Gets the inode of the current script
  • getlastmod() - Gets time of last page modification

getlastmod
getmyinode
PHP опции/Информационные Функции


Gets the inode of the current script

getmygid
getmypid
PHP опции/Информационные Функции
PHP Manual

getmyinode

(PHP 4, PHP 5)

getmyinode — Gets the inode of the current script

Описание

int getmyinode ( void )

Gets the inode of the current script.

Возвращаемые значения

Returns the current script's inode as an integer, or FALSE on error.

Смотрите также

  • getmygid() - Get PHP script owner's GID
  • getmyuid() - Gets PHP script owner's UID
  • getmypid() - Gets PHP's process ID
  • get_current_user() - Gets the name of the owner of the current PHP script
  • getlastmod() - Gets time of last page modification

getmygid
getmypid
PHP опции/Информационные Функции


Gets PHP's process ID

getmyinode
getmyuid
PHP опции/Информационные Функции
PHP Manual

getmypid

(PHP 4, PHP 5)

getmypid — Gets PHP's process ID

Описание

int getmypid ( void )

Gets the current PHP process ID.

Возвращаемые значения

Returns the current PHP process ID, or FALSE on error.

Примечания

Внимание

Process IDs are not unique, thus they are a weak entropy source. We recommend against relying on pids in security-dependent contexts.

Смотрите также

  • getmygid() - Get PHP script owner's GID
  • getmyuid() - Gets PHP script owner's UID
  • get_current_user() - Gets the name of the owner of the current PHP script
  • getmyinode() - Gets the inode of the current script
  • getlastmod() - Gets time of last page modification

getmyinode
getmyuid
PHP опции/Информационные Функции


Gets PHP script owner's UID

getmypid
getopt
PHP опции/Информационные Функции
PHP Manual

getmyuid

(PHP 4, PHP 5)

getmyuid — Gets PHP script owner's UID

Описание

int getmyuid ( void )

Gets the user ID of the current script.

Возвращаемые значения

Returns the user ID of the current script, or FALSE on error.

Смотрите также

  • getmygid() - Get PHP script owner's GID
  • getmypid() - Gets PHP's process ID
  • get_current_user() - Gets the name of the owner of the current PHP script
  • getmyinode() - Gets the inode of the current script
  • getlastmod() - Gets time of last page modification

getmypid
getopt
PHP опции/Информационные Функции


Gets options from the command line argument list

getmyuid
getrusage
PHP опции/Информационные Функции
PHP Manual

getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt — Gets options from the command line argument list

Описание

array getopt ( string $options [, array $longopts ] )

Parses options passed to the script.

Список параметров

options
Each character in this string will be used as option characters and matched against options passed to the script starting with a single hyphen (-). For example, an option string "x" recognizes an option -x. Only a-z, A-Z and 0-9 are allowed.
longopts
An array of options. Each element in this array will be used as option strings and matched against options passed to the script starting with two hyphens (--). For example, an longopts element "opt" recognizes an option --opt.

The options parameter may contain the following elements:

  • Individual characters (do not accept values)
  • Characters followed by a colon (parameter requires value)
  • Characters followed by two colons (optional value)
Option values are the first argument after the string. It does not matter if a value has leading white space or not.

Замечание: Optional values do not accept " " (space) as a separator.

Замечание:

The format for the options and longopts is almost the same, the only difference is that longopts takes an array of options (where each element is the option) where as options takes a string (where each character is the option).

Возвращаемые значения

This function will return an array of option / argument pairs or FALSE on failure.

Замечание:

The parsing of options will end at the first non-option found, anything that follows is discarded.

Список изменений

Версия | Описание
5.3.0 | Added support for "=" as argument/value separator.
5.3.0 | Added support for optional values (specified with "::").
5.3.0 | Parameter longopts is available on all systems.
5.3.0 | This function is no longer system dependent, and now works on Windows, too.

Примеры

Пример #1 getopt() example

<?php
$options = getopt("f:hp:");
var_dump($options);
?>

Running the above script with php script.php -fvalue -h will output:

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

Пример #2 getopt() example#2

<?php
$shortopts  = "";
$shortopts .= "f:";  // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values

$longopts  = array(
    "required:",     // Required value
    "optional::",    // Optional value
    "option",        // No value
    "opt",           // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>

Running the above script with php script.php -f "value for f" -v -a --required value --optional="optional value" --option will output:

array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

Пример #3 getopt() example#3

Passing multiple options as one

<?php
$options = getopt("abc");
var_dump($options);
?>

Running the above script with php script.php -aaac will output:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

Смотрите также

  • $argv

getmyuid
getrusage
PHP опции/Информационные Функции


Gets the current resource usages

getopt
ini_alter
PHP опции/Информационные Функции
PHP Manual

getrusage

(PHP 4, PHP 5)

getrusage — Gets the current resource usages

Описание

array getrusage ([ int $who = 0 ] )

This is an interface to getrusage(2). It gets data returned from the system call.

Список параметров

who

If who is 1, getrusage will be called with RUSAGE_CHILDREN.

Возвращаемые значения

Returns an associative array containing the data returned from the system call. All entries are accessible by using their documented field names.

Примеры

Пример #1 getrusage() example

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // number of swaps
echo $dat["ru_majflt"];        // number of page faults
echo $dat["ru_utime.tv_sec"];  // user time used (seconds)
echo $dat["ru_utime.tv_usec"]; // user time used (microseconds)
?>

Примечания

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

Смотрите также

  • Your system's man page on getrusage(2)

getopt
ini_alter
PHP опции/Информационные Функции


Псевдоним ini_set

getrusage
ini_get_all
PHP опции/Информационные Функции
PHP Manual

ini_alter

(PHP 4, PHP 5)

ini_alter — Псевдоним ini_set()

Описание

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

getrusage
ini_get_all
PHP опции/Информационные Функции


Gets all configuration options

ini_alter
ini_get
PHP опции/Информационные Функции
PHP Manual

ini_get_all

(PHP 4 >= 4.2.0, PHP 5)

ini_get_all — Gets all configuration options

Описание

array ini_get_all ([ string $extension [, bool $details = true ]] )

Returns all the registered configuration options.

Список параметров

extension

An optional extension name. If set, the function return only options specific for that extension.

details

Retrieve details settings or only the current value for each setting. Default is TRUE (retrieve details).

Возвращаемые значения

Returns an associative array with directive name as the array key.

When details is TRUE (default) the array will contain global_value (set in php.ini), local_value (perhaps set with ini_set() or .htaccess), and access (the access level).

When details is FALSE the value will be the current value of the option.

See the manual section for information on what access levels mean.

Замечание:

It's possible for a directive to have multiple access levels, which is why access shows the appropriate bitmask values.

Список изменений

Версия | Описание
5.3.0 | Added details.

Примеры

Пример #1 ini_get_all() examples

<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Пример #2 Disabling details

<?php
print_r(ini_get_all("pcre", false)); // Added in PHP 5.3.0
print_r(ini_get_all(null, false)); // Added in PHP 5.3.0
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Смотрите также

  • Как изменить настройки конфигурации
  • ini_get() - Gets the value of a configuration option
  • ini_restore() - Restores the value of a configuration option
  • ini_set() - Sets the value of a configuration option
  • get_loaded_extensions() - Returns an array with the names of all modules compiled and loaded
  • phpinfo() - Outputs information about PHP's configuration

ini_alter
ini_get
PHP опции/Информационные Функции


Gets the value of a configuration option

ini_get_all
ini_restore
PHP опции/Информационные Функции
PHP Manual

ini_get

(PHP 4, PHP 5)

ini_get — Gets the value of a configuration option

Описание

string ini_get ( string $varname )

Returns the value of the configuration option on success.

Список параметров

varname

The configuration option name.

Возвращаемые значения

Returns the value of the configuration option as a string on success, or an empty string for null values. Returns FALSE if the configuration option doesn't exist.

Примеры

Пример #1 A few ini_get() examples

<?php
/*
Our php.ini contains the following settings:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val[strlen($val)-1]);
    switch($last) {
        // The 'G' modifier is available since PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

Результатом выполнения данного примера будет что-то подобное:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

Примечания

Замечание: When querying boolean values

A boolean ini value of off will be returned as an empty string or "0" while a boolean ini value of on will be returned as "1". The function can also return the literal string of INI value.

Замечание: When querying memory size values

Many ini memory size values, such as upload_max_filesize, are stored in the php.ini file in shorthand notation. ini_get() will return the exact string stored in the php.ini file and NOT its integer equivalent. Attempting normal arithmetic functions on these values will not have otherwise expected results. The example above shows one way to convert shorthand notation into bytes, much like how the PHP source does it.

Смотрите также

  • get_cfg_var() - Gets the value of a PHP configuration option
  • ini_get_all() - Gets all configuration options
  • ini_restore() - Restores the value of a configuration option
  • ini_set() - Sets the value of a configuration option

ini_get_all
ini_restore
PHP опции/Информационные Функции


Restores the value of a configuration option

ini_get
ini_set
PHP опции/Информационные Функции
PHP Manual

ini_restore

(PHP 4, PHP 5)

ini_restore — Restores the value of a configuration option

Описание

void ini_restore ( string $varname )

Restores a given configuration option to its original value.

Список параметров

varname

The configuration option name.

Возвращаемые значения

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

Примеры

Пример #1 ini_restore() example

<?php
$setting = 'y2k_compliance';

echo 'Current value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo 'New value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo 'Original value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;
?>

Результат выполнения данного примера:

Current value for 'y2k_compliance': 1
New value for 'y2k_compliance': 0
Original value for 'y2k_compliance': 1

Смотрите также

  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options
  • ini_set() - Sets the value of a configuration option

ini_get
ini_set
PHP опции/Информационные Функции


Sets the value of a configuration option

ini_restore
magic_quotes_runtime
PHP опции/Информационные Функции
PHP Manual

ini_set

(PHP 4, PHP 5)

ini_set — Sets the value of a configuration option

Описание

string ini_set ( string $varname , string $newvalue )

Sets the value of the given configuration option. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.

Список параметров

varname

Not all the available options can be changed using ini_set(). There is a list of all available options in the appendix.

newvalue

The new value for the option.

Возвращаемые значения

Returns the old value on success, FALSE on failure.

Примеры

Пример #1 Setting an ini option

<?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
    ini_set('display_errors', 1);
}

echo ini_get('display_errors');
?>

Смотрите также

  • get_cfg_var() - Gets the value of a PHP configuration option
  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options
  • ini_restore() - Restores the value of a configuration option
  • How to change configuration settings

ini_restore
magic_quotes_runtime
PHP опции/Информационные Функции


Псевдоним set_magic_quotes_runtime

ini_set
main
PHP опции/Информационные Функции
PHP Manual

magic_quotes_runtime

(PHP 4, PHP 5)

magic_quotes_runtime — Псевдоним set_magic_quotes_runtime()

Описание

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

ini_set
main
PHP опции/Информационные Функции


Dummy for main

magic_quotes_runtime
memory_get_peak_usage
PHP опции/Информационные Функции
PHP Manual

main

main — Dummy for main()

Описание

There is no function named main() except in the PHP source. In PHP 4.3.0, a new type of error handling in the PHP source (php_error_docref) was introduced. One feature is to provide links to a manual page in PHP error messages when the PHP directives html_errors (on by default) and docref_root (on by default until PHP 4.3.2) are set.

Sometimes error messages refer to a manual page for the function main() which is why this page exists. If you discover such a reference, please » file a bug report, indicating the PHP function caused the error that linked to main() and it will be fixed and properly documented.

Known errors that point to main()
Function name | No longer points here as of
include() | 5.1.0
include_once() | 5.1.0
require() | 5.1.0
require_once() | 5.1.0

Смотрите также

  • html_errors
  • display_errors

magic_quotes_runtime
memory_get_peak_usage
PHP опции/Информационные Функции


Returns the peak of memory allocated by PHP

main
memory_get_usage
PHP опции/Информационные Функции
PHP Manual

memory_get_peak_usage

(PHP 5 >= 5.2.0)

memory_get_peak_usage — Returns the peak of memory allocated by PHP

Описание

int memory_get_peak_usage ([ bool $real_usage = false ] )

Returns the peak of memory, in bytes, that's been allocated to your PHP script.

Список параметров

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

Возвращаемые значения

Returns the memory peak in bytes.

Список изменений

Версия | Описание
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

Смотрите также

  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • memory_limit

main
memory_get_usage
PHP опции/Информационные Функции


Returns the amount of memory allocated to PHP

memory_get_peak_usage
php_ini_loaded_file
PHP опции/Информационные Функции
PHP Manual

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5)

memory_get_usage — Returns the amount of memory allocated to PHP

Описание

int memory_get_usage ([ bool $real_usage = false ] )

Returns the amount of memory, in bytes, that's currently being allocated to your PHP script.

Список параметров

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

Возвращаемые значения

Returns the memory amount in bytes.

Список изменений

Версия | Описание
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

Примеры

Пример #1 A memory_get_usage() example

<?php
// This is only an example, the numbers below will
// differ depending on your system

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Смотрите также

  • memory_get_peak_usage() - Returns the peak of memory allocated by PHP
  • memory_limit

memory_get_peak_usage
php_ini_loaded_file
PHP опции/Информационные Функции


Retrieve a path to the loaded php.ini file

memory_get_usage
php_ini_scanned_files
PHP опции/Информационные Функции
PHP Manual

php_ini_loaded_file

(PHP 5 >= 5.2.4)

php_ini_loaded_file — Retrieve a path to the loaded php.ini file

Описание

string php_ini_loaded_file ( void )

Check if a php.ini file is loaded, and retrieve its path.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The loaded php.ini path, or FALSE if one is not loaded.

Примеры

Пример #1 php_ini_loaded_file() example

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

Результатом выполнения данного примера будет что-то подобное:

Loaded php.ini: /usr/local/php/php.ini

Смотрите также

  • php_ini_scanned_files() - Return a list of .ini files parsed from the additional ini dir
  • phpinfo() - Outputs information about PHP's configuration
  • The configuration file

memory_get_usage
php_ini_scanned_files
PHP опции/Информационные Функции


Return a list of .ini files parsed from the additional ini dir

php_ini_loaded_file
php_logo_guid
PHP опции/Информационные Функции
PHP Manual

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5)

php_ini_scanned_files — Return a list of .ini files parsed from the additional ini dir

Описание

string php_ini_scanned_files ( void )

php_ini_scanned_files() returns a comma-separated list of configuration files parsed after php.ini. These files are found in a directory defined by the --with-config-file-scan-dir option which is set during compilation.

The returned configuration files also include the path as declared in the --with-config-file-scan-dir option.

Возвращаемые значения

Returns a comma-separated string of .ini files on success. Each comma is followed by a newline. If the directive --with-config-file-scan-dir wasn't set, FALSE is returned. If it was set and the directory was empty, an empty string is returned. If a file is unrecognizable, the file will still make it into the returned string but a PHP error will also result. This PHP error will be seen both at compile time and while using php_ini_scanned_files().

Примеры

Пример #1 A simple example to list the returned ini files

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

        foreach ($files as $file) {
            echo "<li>" . trim($file) . "</li>\n";
        }
    }
}
?>

Смотрите также

  • ini_set() - Sets the value of a configuration option
  • phpinfo() - Outputs information about PHP's configuration
  • php_ini_loaded_file() - Retrieve a path to the loaded php.ini file

php_ini_loaded_file
php_logo_guid
PHP опции/Информационные Функции


Gets the logo guid

php_ini_scanned_files
php_sapi_name
PHP опции/Информационные Функции
PHP Manual

php_logo_guid

(PHP 4, PHP 5)

php_logo_guid — Gets the logo guid

Описание

string php_logo_guid ( void )

This function returns the ID which can be used to display the PHP logo using the built-in image. Logo is displayed only if expose_php is On.

Возвращаемые значения

Returns PHPE9568F34-D428-11d2-A769-00AA001ACF42.

Примеры

Пример #1 php_logo_guid() example

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="PHP Logo !" />';

?>

Смотрите также

  • phpinfo() - Outputs information about PHP's configuration
  • phpversion() - Gets the current PHP version
  • phpcredits() - Prints out the credits for PHP
  • zend_logo_guid() - Gets the Zend guid

php_ini_scanned_files
php_sapi_name
PHP опции/Информационные Функции


Returns the type of interface between web server and PHP

php_logo_guid
php_uname
PHP опции/Информационные Функции
PHP Manual

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5)

php_sapi_name — Returns the type of interface between web server and PHP

Описание

string php_sapi_name ( void )

Returns a lowercase string that describes the type of interface (the Server API, SAPI) that PHP is using. For example, in CLI PHP this string will be "cli" whereas with Apache it may have several different values depending on the exact SAPI used. Possible values are listed below.

Возвращаемые значения

Returns the interface type, as a lowercase string.

Although not exhaustive, the possible return values include aolserver, apache, apache2filter, apache2handler, caudium, cgi (until PHP 5.3), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux, and webjames.

Примеры

Пример #1 php_sapi_name() example

This example checks for the substring cgi because it may also be cgi-fcgi.

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "You are using CGI PHP\n";
} else {
    echo "You are not using CGI PHP\n";
}
?>

Примечания

Замечание: An alternative approach

The PHP constant PHP_SAPI has the same value as php_sapi_name().

Подсказка

A potential gotcha

The defined SAPI may not be obvious, because for example instead of apache it may be defined as apache2handler or apache2filter.

Смотрите также

  • PHP_SAPI

php_logo_guid
php_uname
PHP опции/Информационные Функции


Returns information about the operating system PHP is running on

php_sapi_name
phpcredits
PHP опции/Информационные Функции
PHP Manual

php_uname

(PHP 4 >= 4.0.2, PHP 5)

php_uname — Returns information about the operating system PHP is running on

Описание

string php_uname ([ string $mode = "a" ] )

php_uname() returns a description of the operating system PHP is running on. This is the same string you see at the very top of the phpinfo() output. For the name of just the operating system, consider using the PHP_OS constant, but keep in mind this constant will contain the operating system PHP was built on.

On some older UNIX platforms, it may not be able to determine the current OS information in which case it will revert to displaying the OS PHP was built on. This will only happen if your uname() library call either doesn't exist or doesn't work.

Список параметров

mode

mode is a single character that defines what information is returned:

  • 'a': This is the default. Contains all modes in the sequence "s n r v m".
  • 's': Operating system name. eg. FreeBSD.
  • 'n': Host name. eg. localhost.example.com.
  • 'r': Release name. eg. 5.1.2-RELEASE.
  • 'v': Version information. Varies a lot between operating systems.
  • 'm': Machine type. eg. i386.

Возвращаемые значения

Returns the description, as a string.

Примеры

Пример #1 Some php_uname() examples

<?php
echo php_uname();
echo PHP_OS;

/* Some possible outputs:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

?>

There are also some related Predefined PHP constants that may come in handy, for example:

Пример #2 A few OS related constant examples

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Смотрите также

  • phpversion() - Gets the current PHP version
  • php_sapi_name() - Returns the type of interface between web server and PHP
  • phpinfo() - Outputs information about PHP's configuration

php_sapi_name
phpcredits
PHP опции/Информационные Функции


Prints out the credits for PHP

php_uname
phpinfo
PHP опции/Информационные Функции
PHP Manual

phpcredits

(PHP 4, PHP 5)

phpcredits — Prints out the credits for PHP

Описание

bool phpcredits ([ int $flag = CREDITS_ALL ] )

This function prints out the credits listing the PHP developers, modules, etc. It generates the appropriate HTML codes to insert the information in a page.

Список параметров

flag

To generate a custom credits page, you may want to use the flag parameter.

Pre-defined phpcredits() flags
name | description
CREDITS_ALL | All the credits, equivalent to using: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. It generates a complete stand-alone HTML page with the appropriate tags.
CREDITS_DOCS | The credits for the documentation team
CREDITS_FULLPAGE | Usually used in combination with the other flags. Indicates that a complete stand-alone HTML page needs to be printed including the information indicated by the other flags.
CREDITS_GENERAL | General credits: Language design and concept, PHP authors and SAPI module.
CREDITS_GROUP | A list of the core developers
CREDITS_MODULES | A list of the extension modules for PHP, and their authors
CREDITS_SAPI | A list of the server API modules for PHP, and their authors

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Prints the general credits

<?php
phpcredits(CREDITS_GENERAL);
?>

Пример #2 Prints the core developers and the documentation group

<?php
phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);
?>

Пример #3 Printing all the credits

<html>
 <head>
  <title>My credits page</title>
 </head>
 <body>
<?php
// some code of your own
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// some more code
?>
 </body>
</html>

Смотрите также

  • phpversion() - Gets the current PHP version
  • php_logo_guid() - Gets the logo guid
  • phpinfo() - Outputs information about PHP's configuration

php_uname
phpinfo
PHP опции/Информационные Функции


Outputs information about PHP's configuration

phpcredits
phpversion
PHP опции/Информационные Функции
PHP Manual

phpinfo

(PHP 4, PHP 5)

phpinfo — Outputs information about PHP's configuration

Описание

bool phpinfo ([ int $what = INFO_ALL ] )

Outputs a large amount of information about the current state of PHP. This includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License.

Because every system is setup differently, phpinfo() is commonly used to check configuration settings and for available predefined variables on a given system.

phpinfo() is also a valuable debugging tool as it contains all EGPCS (Environment, GET, POST, Cookie, Server) data.

Список параметров

what

The output may be customized by passing one or more of the following constants bitwise values summed together in the optional what parameter. One can also combine the respective constants or bitwise values together with the or operator.

phpinfo() options
Name (constant) | Value | Description
INFO_GENERAL | 1 | The configuration line, php.ini location, build date, Web Server, System and more.
INFO_CREDITS | 2 | PHP Credits. See also phpcredits().
INFO_CONFIGURATION | 4 | Current Local and Master values for PHP directives. See also ini_get().
INFO_MODULES | 8 | Loaded modules and their respective settings. See also get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Environment Variable information that's also available in $_ENV.
INFO_VARIABLES | 32 | Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | PHP License information. See also the » license FAQ.
INFO_ALL | -1 | Shows all of the above.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.2 | The "Loaded Configuration File" information was added, when before only "Configuration File (php.ini) Path" existed.

Примеры

Пример #1 phpinfo() Example

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>

Примечания

Замечание:

Parts of the information displayed are disabled when the expose_php configuration setting is set to off. This includes the PHP and Zend logos, and the credits.

Замечание:

phpinfo() outputs plain text instead of HTML when using the CLI mode.

Смотрите также

  • phpversion() - Gets the current PHP version
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Gets the logo guid
  • ini_get() - Gets the value of a configuration option
  • ini_set() - Sets the value of a configuration option
  • get_loaded_extensions() - Returns an array with the names of all modules compiled and loaded
  • Predefined Variables

phpcredits
phpversion
PHP опции/Информационные Функции


Gets the current PHP version

phpinfo
putenv
PHP опции/Информационные Функции
PHP Manual

phpversion

(PHP 4, PHP 5)

phpversion — Gets the current PHP version

Описание

string phpversion ([ string $extension ] )

Returns a string containing the version of the currently running PHP parser or extension.

Список параметров

extension

An optional extension name.

Возвращаемые значения

If the optional extension parameter is specified, phpversion() returns the version of that extension, or FALSE if there is no version information associated or the extension isn't enabled.

Примеры

Пример #1 phpversion() example

<?php
// prints e.g. 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . phpversion();

// prints e.g. '2.0' or nothing if the extension isn't enabled
echo phpversion('tidy');
?>

Пример #2 PHP_VERSION_ID example and usage

<?php
// PHP_VERSION_ID is available as of PHP 5.2.7, if our
// version is lower than that, then emulate it
if (!defined('PHP_VERSION_ID')) {
    $version = explode('.', PHP_VERSION);

    define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}

// PHP_VERSION_ID is defined as a number, where the higher the number
// is, the newer a PHP version is used. It's defined as used in the above
// expression:
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// Now with PHP_VERSION_ID we can check for features this PHP version
// may have, this doesn't require to use version_compare() everytime
// you check if the current PHP version may not support a feature.
//
// For example, we may here define the PHP_VERSION_* constants thats
// not available in versions prior to 5.2.7

if (PHP_VERSION_ID < 50207) {
    define('PHP_MAJOR_VERSION',   $version[0]);
    define('PHP_MINOR_VERSION',   $version[1]);
    define('PHP_RELEASE_VERSION', $version[2]);

    // and so on, ...
}
?>

Примечания

Замечание:

This information is also available in the predefined constant PHP_VERSION. More versioning information is available using the PHP_VERSION_* constants.

Смотрите также

  • PHP_VERSION constants
  • version_compare() - Compares two "PHP-standardized" version number strings
  • phpinfo() - Outputs information about PHP's configuration
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Gets the logo guid
  • zend_version() - Gets the version of the current Zend engine

phpinfo
putenv
PHP опции/Информационные Функции


Sets the value of an environment variable

phpversion
restore_include_path
PHP опции/Информационные Функции
PHP Manual

putenv

(PHP 4, PHP 5)

putenv — Sets the value of an environment variable

Описание

bool putenv ( string $setting )

Adds setting to the server environment. The environment variable will only exist for the duration of the current request. At the end of the request the environment is restored to its original state.

Setting certain environment variables may be a potential security breach. The safe_mode_allowed_env_vars directive contains a comma-delimited list of prefixes. In Safe Mode, the user may only alter environment variables whose names begin with the prefixes supplied by this directive. By default, users will only be able to set environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). Note: if this directive is empty, PHP will let the user modify ANY environment variable!

The safe_mode_protected_env_vars directive contains a comma-delimited list of environment variables, that the end user won't be able to change using putenv(). These variables will be protected even if safe_mode_allowed_env_vars is set to allow to change them.

Список параметров

setting

The setting, like "FOO=BAR"

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting an environment variable

<?php
putenv("UNIQID=$uniqid");
?>

Примечания

Внимание

The safe_mode_allowed_env_vars and safe_mode_protected_env_vars directives only take effect when safe_mode is enabled.

Смотрите также

  • getenv() - Gets the value of an environment variable

phpversion
restore_include_path
PHP опции/Информационные Функции


Restores the value of the include_path configuration option

putenv
set_include_path
PHP опции/Информационные Функции
PHP Manual

restore_include_path

(PHP 4 >= 4.3.0, PHP 5)

restore_include_path — Restores the value of the include_path configuration option

Описание

void restore_include_path ( void )

Restores the include_path configuration option back to its original master value as set in php.ini

Возвращаемые значения

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

Примеры

Пример #1 restore_include_path() example

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

// Works as of PHP 4.3.0
restore_include_path();

// Works in all PHP versions
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

Смотрите также

  • ini_restore() - Restores the value of a configuration option
  • get_include_path() - Gets the current include_path configuration option
  • set_include_path() - Sets the include_path configuration option
  • include()

putenv
set_include_path
PHP опции/Информационные Функции


Sets the include_path configuration option

restore_include_path
set_magic_quotes_runtime
PHP опции/Информационные Функции
PHP Manual

set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path — Sets the include_path configuration option

Описание

string set_include_path ( string $new_include_path )

Sets the include_path configuration option for the duration of the script.

Список параметров

new_include_path

The new value for the include_path

Возвращаемые значения

Returns the old include_path on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 set_include_path() example

<?php
// Works as of PHP 4.3.0
set_include_path('/usr/lib/pear');

// Works in all PHP versions
ini_set('include_path', '/usr/lib/pear');
?>

Пример #2 Adding to the include path

Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.

In this example we add /usr/lib/pear to the end of the existing include_path.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Смотрите также

  • ini_set() - Sets the value of a configuration option
  • get_include_path() - Gets the current include_path configuration option
  • restore_include_path() - Restores the value of the include_path configuration option
  • include()

restore_include_path
set_magic_quotes_runtime
PHP опции/Информационные Функции


Sets the current active configuration setting of magic_quotes_runtime

set_include_path
set_time_limit
PHP опции/Информационные Функции
PHP Manual

set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime — Sets the current active configuration setting of magic_quotes_runtime

Описание

bool set_magic_quotes_runtime ( bool $new_setting )

Set the current active configuration setting of magic_quotes_runtime.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

new_setting

FALSE for off, TRUE for on.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 set_magic_quotes_runtime() example

<?php
// Create a temporary file pointer
$fp = tmpfile();

// Write some data to the pointer
fwrite($fp, '\'PHP\' is a Recursive acronym');

// Without magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(false);

echo 'Without magic_quotes_runtime: ' . fread($fp, 64), PHP_EOL;

// With magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(true);

echo 'With magic_quotes_runtime: ' . fread($fp, 64), PHP_EOL;

// Clean up
fclose($fp);
?>

Результат выполнения данного примера:

Without magic_quotes_runtime: 'PHP' is a Recursive acronym
With magic_quotes_runtime: \'PHP\' is a Recursive acronym

Смотрите также

  • get_magic_quotes_gpc() - Gets the current configuration setting of magic_quotes_gpc
  • get_magic_quotes_runtime() - Gets the current active configuration setting of magic_quotes_runtime

set_include_path
set_time_limit
PHP опции/Информационные Функции


Limits the maximum execution time

set_magic_quotes_runtime
sys_get_temp_dir
PHP опции/Информационные Функции
PHP Manual

set_time_limit

(PHP 4, PHP 5)

set_time_limit — Limits the maximum execution time

Описание

void set_time_limit ( int $seconds )

Set the number of seconds a script is allowed to run. If this is reached, the script returns a fatal error. The default limit is 30 seconds or, if it exists, the max_execution_time value defined in the php.ini.

When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

Список параметров

seconds

The maximum execution time, in seconds. If set to zero, no time limit is imposed.

Возвращаемые значения

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

Примечания

Внимание

This function has no effect when PHP is running in безопасный режим. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.

Замечание:

The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running. This is not true on Windows where the measured time is real.

Смотрите также

  • max_execution_time
  • max_input_time

set_magic_quotes_runtime
sys_get_temp_dir
PHP опции/Информационные Функции


Returns directory path used for temporary files

set_time_limit
version_compare
PHP опции/Информационные Функции
PHP Manual

sys_get_temp_dir

(PHP 5 >= 5.2.1)

sys_get_temp_dir — Returns directory path used for temporary files

Описание

string sys_get_temp_dir ( void )

Returns the path of the directory PHP stores temporary files in by default.

Возвращаемые значения

Returns the path of the temporary directory.

Примеры

Пример #1 sys_get_temp_dir() example

<?php
// Create a temporary file in the temporary
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

Результатом выполнения данного примера будет что-то подобное:

C:\Windows\Temp\TuxA318.tmp

Смотрите также

  • tmpfile() - Создаёт временный файл
  • tempnam() - Создаёт файл с уникальным именем

set_time_limit
version_compare
PHP опции/Информационные Функции


Compares two "PHP-standardized" version number strings

sys_get_temp_dir
zend_logo_guid
PHP опции/Информационные Функции
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compare — Compares two "PHP-standardized" version number strings

Описание

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare() compares two "PHP-standardized" version number strings. This is useful if you would like to write programs working only on some versions of PHP.

The function first replaces _, - and + with a dot . in the version strings and also inserts dots . before and after any non number so that for example '4.3.2RC1' becomes '4.3.2.RC.1'. Then it splits the results like if you were using explode('.', $ver). Then it compares the parts starting from left to right. If a part contains special version strings these are handled in the following order: any string not found in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. This way not only versions with different levels like '4.1' and '4.1.2' can be compared but also any PHP specific version containing development state.

Список параметров

version1

First version number.

version2

Second version number.

operator

If you specify the third optional operator argument, you can test for a particular relationship. The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively.

This parameter is case-sensitive, so values should be lowercase.

Возвращаемые значения

By default, version_compare() returns -1 if the first version is lower than the second, 0 if they are equal, and 1 if the second is lower.

When using the optional operator argument, the function will return TRUE if the relationship is the one specified by the operator, FALSE otherwise.

Примеры

The examples below use the PHP_VERSION constant, because it contains the value of the PHP version that is executing the code.

Пример #1 version_compare() examples

<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
    echo 'I am at least PHP version 6.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'I am using PHP 5, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'I am using PHP 4, my version: ' . PHP_VERSION . "\n";
}
?>

Примечания

Замечание:

The PHP_VERSION constant holds current PHP version.

Замечание:

Note that pre-release versions, such as 5.3.0-dev, are considered lower than their final release counterparts (like 5.3.0).

Смотрите также

  • phpversion() - Gets the current PHP version
  • php_uname() - Returns information about the operating system PHP is running on
  • function_exists() - Возвращает TRUE, если указанная функция определена

sys_get_temp_dir
zend_logo_guid
PHP опции/Информационные Функции


Gets the Zend guid

version_compare
zend_thread_id
PHP опции/Информационные Функции
PHP Manual

zend_logo_guid

(PHP 4, PHP 5)

zend_logo_guid — Gets the Zend guid

Описание

string zend_logo_guid ( void )

This function returns the ID which can be used to display the Zend logo using the built-in image.

Возвращаемые значения

Returns PHPE9568F35-D428-11d2-A769-00AA001ACF42.

Примеры

Пример #1 zend_logo_guid() example

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="Zend Logo !" />';

?>

Смотрите также

  • php_logo_guid() - Gets the logo guid

version_compare
zend_thread_id
PHP опции/Информационные Функции


Returns a unique identifier for the current thread

zend_logo_guid
zend_version
PHP опции/Информационные Функции
PHP Manual

zend_thread_id

(PHP 5)

zend_thread_id — Returns a unique identifier for the current thread

Описание

int zend_thread_id ( void )

This function returns a unique identifier for the current thread.

Возвращаемые значения

Returns the thread id as an integer.

Примеры

Пример #1 zend_thread_id() example

<?php
$thread_id = zend_thread_id();

echo 'Current thread id is: ' . $thread_id;
?>

Результатом выполнения данного примера будет что-то подобное:

Current thread id is: 7864

Примечания

Замечание:

This function is only available if PHP has been built with ZTS (Zend Thread Safety) support and debug mode (--enable-debug).

zend_logo_guid
zend_version
PHP опции/Информационные Функции


Gets the version of the current Zend engine

zend_thread_id
runkit
PHP опции/Информационные Функции
PHP Manual

zend_version

(PHP 4, PHP 5)

zend_version — Gets the version of the current Zend engine

Описание

string zend_version ( void )

Returns a string containing the version of the currently running Zend Engine.

Возвращаемые значения

Returns the Zend Engine version number, as a string.

Примеры

Пример #1 zend_version() example

<?php
echo "Zend engine version: " . zend_version();
?>

Результатом выполнения данного примера будет что-то подобное:

Zend engine version: 2.2.0

Смотрите также

  • phpinfo() - Outputs information about PHP's configuration
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Gets the logo guid
  • phpversion() - Gets the current PHP version

zend_thread_id
runkit
PHP опции/Информационные Функции


runkit

  • Введение
  • Предопределенные константы
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • runkit
    • Runkit_Sandbox — Класс Runkit Sandbox -- это виртуальная машина PHP
    • Runkit_Sandbox_Parent — Класс анти-песочницы для Runkit
    • runkit_class_adopt — Конвертирует базовый класс в наследованный ("усыновляет"). Дополняет методы наследованными при необходимости.
    • runkit_class_emancipate — Конвертирует наследующий класс в базовый, удаляет из него наследуемые методы.
    • runkit_constant_add — Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.
    • runkit_constant_redefine — Переназначить уже определенную константу.
    • runkit_constant_remove — Удаляет уже определенную константу.
    • runkit_function_add — Добавляет новую функцию аналогично create_function
    • runkit_function_copy — Копирует функцию с новым именем
    • runkit_function_redefine — Заменяет определение функции новой реализацией.
    • runkit_function_remove — Удаляет определенную функцию
    • runkit_function_rename — Переименовывает функцию
    • runkit_import — Обрабатывает PHP файл, импортируя функции и классы, перезаписывая при необходимости.
    • runkit_lint_file — Проверяет PHP-синтаксис выбранного файла
    • runkit_lint — Проверяет PHP-синтаксис выбранного кода
    • runkit_method_add — Добавляет метод в класс
    • runkit_method_copy — Копирование метода из одного класса в другой
    • runkit_method_redefine — Изменяет код выбранного метода
    • runkit_method_remove — Удаляет выбранный метод
    • runkit_method_rename — Переименовывает выбранный метод
    • runkit_return_value_used — Определяет, используется ли возвращаемое функцией значение
    • runkit_sandbox_output_handler — Задает функцию для захвата и/или обработки данных из "песочницы".
    • runkit_superglobals — Возвращает индексный массив зарегистрированных суперглобальных переменных.
zend_version
Введение
Изменение поведения PHP


Введение

Расширение runkit предоставляет возможности переназначть константы, функции и классы. Оно так же предоставляет "песочницу" со своими суперглобальными переменными и субинтерпретатором.

Это расширение является расширенной заменой » classkit. Если скомпилировано с флагом --enable-runkit=classkit, будут доступны функции и константы, совместимые с classkit

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


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

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

RUNKIT_IMPORT_FUNCTIONS (integer)
Флаг runkit_import(), указывающий что необходимо импортировать функции из указанного файла
RUNKIT_IMPORT_CLASS_METHODS (integer)
Флаг runkit_import(), указывающий что необходимо импортировать методы классов из указанного файла
RUNKIT_IMPORT_CLASS_CONSTS (integer)
Флаг runkit_import(), указывающий что необходимо импортировать локальные константы классов из указанного файла. Эта возможность доступна начиная с версии PHP 5.1.0
RUNKIT_IMPORT_CLASS_PROPS (integer)
Флаг runkit_import(), указывающий что необходимо импортировать свойства классов из указанного файла.
RUNKIT_IMPORT_CLASSES (integer)
Флаг runkit_import(), представляющий побитовое ИЛИ для констант RUNKIT_IMPORT_CLASS_*.
RUNKIT_IMPORT_OVERRIDE (integer)
Флаг runkit_import(), указывающий что необходимо перезаписывать существующие функции, методы, константы и свойства классов. Если этот флаг не задан, перезапись существующих определений производиться не будет.
RUNKIT_ACC_PUBLIC (integer)
Флаг runkit_method_add(), специфичный для PHP 5
RUNKIT_ACC_PROTECTED (integer)
Флаг runkit_method_add(), специфичный для PHP 5
RUNKIT_ACC_PRIVATE (integer)
Флаг runkit_method_add(), специфичный для PHP 5
CLASSKIT_ACC_PUBLIC (integer)
Флаг runkit_method_add(), специфичный для PHP 5. Определен только при включенной совместимости с classkit.
CLASSKIT_ACC_PROTECTED (integer)
Флаг runkit_method_add(), специфичный для PHP 5. Определен только при включенной совместимости с classkit.
CLASSKIT_ACC_PRIVATE (integer)
Флаг runkit_method_add(), специфичный для PHP 5. Определен только при включенной совместимости с classkit.
CLASSKIT_AGGREGATE_OVERRIDE (integer)
Флаг classkit_import(), специфичный для PHP 5. Определен только при включенной совместимости с classkit.
RUNKIT_VERSION (string)
Представляет текущую версию runkit.
CLASSKIT_VERSION (string)
Представляет текущую версию runkit. Определен только при включенной совместимости с classkit.
Введение
Установка и настройка
runkit


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Предопределенные константы
Требования
runkit


Требования

Переназначение констант, функций, классов и методов работает во всех версиях PHP 4 и PHP 5. Особые требования отсутствуют.

Индивидуальные суперглобальные переменны доступны начиная с версии PHP 4.2.0.

Песочница доступна начиная с версии PHP 5.1.0, или в версии 5.0.0 со специальным патчем TSRM. Вне зависимости от версии, PHP должен быть скомпилирован с флагом --enable-maintainer-zts. Дополнительную информацию можно получить в файле README в поставке runkit.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/runkit.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации runkit
Настройка | По умолчанию | Изменяемо | Изменения
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

runkit.superglobal string
Список переменных через запятую, которые будут интерпретированы как суперглобальные. Это значение должно задаваться в системном php.ini, но может работать и в конфигурации для директории в зависимости от интерфейса.

Пример #1 Пользовательские суперглобальные переменные при runkit.superglobal=_FOO,_BAR в php.ini

<?php
function show_values() {
  echo "Foo is $_FOO\n";
  echo "Bar is $_BAR\n";
  echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Отображает переменные foo и bar, но не baz */
show_values();
?>
runkit.internal_override boolean
Задействует возможность изменять, удалять и переименовывать встроенные функции.

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
runkit
Установка и настройка


runkit
PHP Manual

runkit

Содержание

  • Runkit_Sandbox — Класс Runkit Sandbox -- это виртуальная машина PHP
  • Runkit_Sandbox_Parent — Класс анти-песочницы для Runkit
  • runkit_class_adopt — Конвертирует базовый класс в наследованный ("усыновляет"). Дополняет методы наследованными при необходимости.
  • runkit_class_emancipate — Конвертирует наследующий класс в базовый, удаляет из него наследуемые методы.
  • runkit_constant_add — Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.
  • runkit_constant_redefine — Переназначить уже определенную константу.
  • runkit_constant_remove — Удаляет уже определенную константу.
  • runkit_function_add — Добавляет новую функцию аналогично create_function
  • runkit_function_copy — Копирует функцию с новым именем
  • runkit_function_redefine — Заменяет определение функции новой реализацией.
  • runkit_function_remove — Удаляет определенную функцию
  • runkit_function_rename — Переименовывает функцию
  • runkit_import — Обрабатывает PHP файл, импортируя функции и классы, перезаписывая при необходимости.
  • runkit_lint_file — Проверяет PHP-синтаксис выбранного файла
  • runkit_lint — Проверяет PHP-синтаксис выбранного кода
  • runkit_method_add — Добавляет метод в класс
  • runkit_method_copy — Копирование метода из одного класса в другой
  • runkit_method_redefine — Изменяет код выбранного метода
  • runkit_method_remove — Удаляет выбранный метод
  • runkit_method_rename — Переименовывает выбранный метод
  • runkit_return_value_used — Определяет, используется ли возвращаемое функцией значение
  • runkit_sandbox_output_handler — Задает функцию для захвата и/или обработки данных из "песочницы".
  • runkit_superglobals — Возвращает индексный массив зарегистрированных суперглобальных переменных.
Типы ресурсов
Runkit_Sandbox
runkit
PHP Manual


Класс Runkit Sandbox -- это виртуальная машина PHP

runkit
Runkit_Sandbox_Parent
runkit
PHP Manual

Runkit_Sandbox

(PECL runkit >= 0.7.0)

Runkit_Sandbox — Класс Runkit Sandbox -- это виртуальная машина PHP

Описание

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

Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.

Constructor

void Runkit_Sandbox::__construct ([ array $options ] )

options ассоциативный массив, содержащий произвольную комбинацию специальных параметров, перечисленных ниже

safe_mode

Если родительский скрипт, в котором создается экземпляр Runkit_Sandbox выполняется с директивой safe_mode = off, то эту опцию можно задействовать в песочнице для включения режима safe_mode. Данный параметр не может быть использован для отключения safe_mode, если он включен во внешнем окружении.

safe_mode_gid

Если родительский скрипт, в котором создается экземпляр Runkit_Sandbox выполняется с директивой safe_mode_gid = on, то данную опцию можно задействовать для отключения safe_mode_gid в песочнице. Этот параметр нельзя использовать для включения safe_mode_gid, если он выключен во внешнем окружении.

safe_mode_include_dir

Если родительский скрипт, в котором создается экземпляр Runkit_Sandbox выполняется c заданной директивой safe_mode_include_dir, то для песочницы может быть указана новая директория, находящаяся внутри заданной. Значение safe_mode_include_dir так же может быть очищено для возврата к начальным настройкам. Если директива safe_mode_include_dir не была настроена для родительского скрипта, подразумевается, что задан корневой раздел. В таком случае для песочницы можно указать любую директорию, при включенном режим safe_mode.

open_basedir

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

allow_url_fopen

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

disable_functions

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

disable_classes

Список отключенных в песочнице классов через запятую. В этот список не надо вносить уже отключенные в родительском скрипте классы, они таковыми и останутся вне зависимости от наличия в списке.

runkit.superglobal

Список суперглобальных переменных для песочницы через запятую. Перечисленные переменные будут дополнять список существующих суперглобальных переменных, встроенных и заданных с помощью runkit.superglobal в родительском окружении.

runkit.internal_override

Параметр runkit.internal_override может быть только отключен для песочницы.

Пример #1 Пример создания безопасной песочницы

<?php
$options = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($options);
/* Незащищенные ini-переменные устанавливаются обычным способом */
$sandbox->ini_set('html_errors',true);
?>

Доступ к переменным

Все глобальные переменные внутри песочницы доступны через свойства объекта Runkit_Sandbox. Необходимо учитывать, что из-за особенностей рапределения памяти объекты и ресурсы не могут переноситься между родительским процессом и песочницей. Массивы полностью копируются между интерпретаторами и все ссылки внутри массивов удаляются. Это так же означает, что ссылки между интерпретаторами невозможны.

Пример #2 Работа с переменными в песочнице

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

Результат выполнения данного примера:

bar
barbaz
bool(false)

Вызов функций PHP

Любая функция, заданная в песочнице, может быть
вызвана через метод объекта Runkit_Sandbox.
Так же доступны несколько псевдо-функций:
eval(),
include(), include_once(),
require(), require_once(),
echo(), print(),
die(), and exit().

Пример #3 Использование функций песочницы

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

Результат выполнения данного примера:

fbc

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

Пример #4 Передача аргументов функциям в песочнице

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

Результат выполнения данного примера:

bar
baz

Изменение параметров песочницы

По состоянию на версию runkit 0.5, большинство параметров песочницы могут быть изменены "на лету" с помощью синтаксиса интерфейса ArrayAccess. Некоторые параметры, например, active, доступны только для чтения. Остальные, например, output_handler, могут быть получены и записаны как обычный элемент массива. В будущем могут появиться параметры, доступные только для записи. На текущий момент таких не существует.

Настройки песочницы. Индикаторы статуса
Настройка | Тип | Назначение | По умолчанию
active | Boolean (только чтение) | TRUE если песочница функионирует, FALSE если процесс завершен после вызова die() или exit(), или в результате ошибки при выполнении. | TRUE (изначально)
output_handler | Callback | Если указана соответствующая callback-функция, весь вывод песочницы перенаправляется в указанную функцию. Обработчики вывода песочницы работают аналогично системным обработчикам вывода. | None
parent_access | Boolean | Параметр управляет доступом к Runkit_Sandbox_Parent из песочницы. Параметр должен быть включен для работы с функционалом, предоставляемым Runkit_Sandbox_Parent. | FALSE
parent_read | Boolean | Разрешает чтение переменных родительского окружения | FALSE
parent_write | Boolean | Разрешает запись переменных родительского окружения | FALSE
parent_eval | Boolean | Разрешает выполнение кода в родительском окружении DANGEROUS | FALSE
parent_include | Boolean | Разрешает подключать php файлы в родительском окружении DANGEROUS | FALSE
parent_echo | Boolean | Разрешает выводить данные в родительском окружении, в обход output_handler. | FALSE
parent_call | Boolean | Разрешает вызов функций в родительском окружении | FALSE
parent_die | Boolean | Разрешает завершать родительский скрипт (а значит и себя тоже) | FALSE
parent_scope | Integer | Настройка области видимости песочницы для внешнего окружения: 0 == Глобальная область видимости, 1 == область вызова, 2 == область до области вызова, 3 == область до этой области, и т.д. | 0 (Global)
parent_scope | String | В случае, когда параметр parent_scope задан строковым значением, он указывает на массив в глобальной области видимости. Если массива не существует - будет создан пустой массив с указанным именем. Если существует переменная с заданным именем, не являющаяся массивом - будет создан массив, содержащий ссылку на существующую переменную. |

runkit
Runkit_Sandbox_Parent
runkit


Класс анти-песочницы для Runkit

Runkit_Sandbox
runkit_class_adopt
runkit
PHP Manual

Runkit_Sandbox_Parent

(PECL runkit >= 0.7.0)

Runkit_Sandbox_Parent — Класс анти-песочницы для Runkit

Описание

void Runkit_Sandbox_Parent::__construct ( void )

Экземпляр Runkit_Sandbox_Parent, созданный внутри окружения Runkit_Sandbox предоставляет набор контролируемых средств для доступа к внешнему окружению из песочницы.

Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.

Для использования Runkit_Sandbox_Parent необходимо включить опцию parent_access у используемого экземпляра песочницы.

Пример #1 Задействует возможность использовать Runkit_Sandbox_Parent в песочнице

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Доступ к переменным родительского окружения

Доступ к переменным родительского окружения может быть получен через свойства экземпляра Runkit_Sandbox_Parent по аналогии с Runkit_Sandbox. Доступ на чтение включается с помощью опции parent_read песочницы, на запись с помощью parent_write. Данные опции указываются в дополнении к parent_access.

В отличие от доступа к переменным Runkit_Sandbox, область видимости не ограничена глобальными переменными. Задать необхоимую область видимость из песочницы можно параметром parent_scope. Значение 0 (по умолчанию) означает доступ к глобальной области видимости. 1 указывает на область вызова песочницы. Последующие значения ведут на следующие уровни области видимости.

Пример #2 Доступ к переменным родительского окружения

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$test = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
one();

$php['parent_scope'] = 1;
one();

$php['parent_scope'] = 2;
one();

$php['parent_scope'] = 3;
one();

$php['parent_scope'] = 4;
one();

$php['parent_scope'] = 5;
one();

function one() {
    $test = "one()";
    two();
}

function two() {
    $test = "two()";
    three();
}

function three() {
    $test = "three()";
    $GLOBALS['php']->eval('var_dump($PARENT->test);');
}
?>

Результат выполнения данного примера:

string(6) "Global"
string(7) "three()"
string(5) "two()"
string(5) "one()"
string(6) "Global"
string(6) "Global"

Вызов функций родительского окружения

По аналогии с доступом к песочнице, из песочницы можно получить доступ к функциям в родительском окружении. Включение parent_call позволит из песочницы получить доступ к родительским функциям. Следующими функции и языковыми конструкциями можно управлять с помощью отдельных настроек: print() и echo() задействуются с помощью parent_echo; die() и exit() включаются через parent_die; eval() разрешается через parent_eval. Функции include(), include_once(), require(), и require_once() можно подключить, используя параметр parent_include.

Runkit_Sandbox
runkit_class_adopt
runkit


Конвертирует базовый класс в наследованный ("усыновляет"). Дополняет методы наследованными при необходимости.

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit
PHP Manual

runkit_class_adopt

(PECL runkit >= 0.7.0)

runkit_class_adopt — Конвертирует базовый класс в наследованный ("усыновляет"). Дополняет методы наследованными при необходимости.

Описание

bool runkit_class_adopt ( string $classname , string $parentname )

Список параметров

classname

"Усыновляемый" класс

parentname

Родительский класс

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_class_adopt()

<?php
class myParent {
  function parentFunc() {
    echo "Вывод родительской функции\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

Результат выполнения данного примера:

Вывод родительской функции

Смотрите также

  • runkit_class_emancipate() - Конвертирует наследующий класс в базовый, удаляет из него наследуемые методы.

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit


Конвертирует наследующий класс в базовый, удаляет из него наследуемые методы.

runkit_class_adopt
runkit_constant_add
runkit
PHP Manual

runkit_class_emancipate

(PECL runkit >= 0.7.0)

runkit_class_emancipate — Конвертирует наследующий класс в базовый, удаляет из него наследуемые методы.

Описание

bool runkit_class_emancipate ( string $classname )

Список параметров

classname

Имя конвертируемого класса

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_class_emancipate()

<?php
class myParent {
  function parentFunc () {
    echo "Вывод родительской функции\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

Результат выполнения данного примера:

Вывод родительской функции
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

Смотрите также

  • runkit_class_adopt() - Конвертирует базовый класс в наследованный ("усыновляет"). Дополняет методы наследованными при необходимости.

runkit_class_adopt
runkit_constant_add
runkit


Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.

runkit_class_emancipate
runkit_constant_redefine
runkit
PHP Manual

runkit_constant_add

(PECL runkit >= 0.7.0)

runkit_constant_add — Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.

Описание

bool runkit_constant_add ( string $constname , mixed $value )

Список параметров

constname

Имя объявляемой константы. Строка для объявления глобальной константы или выражение classname::constname для добавления локальной константы в классе.

value

NULL, Bool, Long, Double, String, или тип Resource для сохранения в новой константе.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • define() - Определяет именованную константу
  • runkit_constant_redefine() - Переназначить уже определенную константу.
  • runkit_constant_remove() - Удаляет уже определенную константу.

runkit_class_emancipate
runkit_constant_redefine
runkit


Переназначить уже определенную константу.

runkit_constant_add
runkit_constant_remove
runkit
PHP Manual

runkit_constant_redefine

(PECL runkit >= 0.7.0)

runkit_constant_redefine — Переназначить уже определенную константу.

Описание

bool runkit_constant_redefine ( string $constname , mixed $newvalue )

Список параметров

constname

Имя переназначаемой константы. Имя глобальной константы или выражение classname::constname для переназначения локальной константы в классе.

newvalue

Новое значение константы

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_constant_add() - Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.
  • runkit_constant_remove() - Удаляет уже определенную константу.

runkit_constant_add
runkit_constant_remove
runkit


Удаляет уже определенную константу.

runkit_constant_redefine
runkit_function_add
runkit
PHP Manual

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove — Удаляет уже определенную константу.

Описание

bool runkit_constant_remove ( string $constname )

Список параметров

constname

Имя удаляемой константы. Имя глобальной константы или выражение classname::constname для удаления локальной константы из класса.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • define() - Определяет именованную константу
  • runkit_constant_add() - Объявляет константу. Схожа с функцией define(), но позволяет создавать локальные константы внутри классов.
  • runkit_constant_redefine() - Переназначить уже определенную константу.

runkit_constant_redefine
runkit_function_add
runkit


Добавляет новую функцию аналогично create_function

runkit_constant_remove
runkit_function_copy
runkit
PHP Manual

runkit_function_add

(PECL runkit >= 0.7.0)

runkit_function_add — Добавляет новую функцию аналогично create_function()

Описание

bool runkit_function_add ( string $funcname , string $arglist , string $code )

Список параметров

funcname

Имя создаваемой функции

arglist

Список аргументов функции, через запятую

code

Код создаваемой функции

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_function_add()

<?php
runkit_function_add('testme','$a,$b','echo "Значение a = $a\n"; echo "Значение b = $b\n";');
testme(1,2);
?>

Результат выполнения данного примера:

Значение a = 1
Значение b = 2

Смотрите также

  • create_function() - Создаёт анонимную (лямбда) функцию
  • runkit_function_redefine() - Заменяет определение функции новой реализацией.
  • runkit_function_copy() - Копирует функцию с новым именем
  • runkit_function_rename() - Переименовывает функцию
  • runkit_function_remove() - Удаляет определенную функцию
  • runkit_method_add() - Добавляет метод в класс

runkit_constant_remove
runkit_function_copy
runkit


Копирует функцию с новым именем

runkit_function_add
runkit_function_redefine
runkit
PHP Manual

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy — Копирует функцию с новым именем

Описание

bool runkit_function_copy ( string $funcname , string $targetname )

Список параметров

funcname

Имя существующей функции

targetname

Имя новой функции, в которую необходимо копировать существующую

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_function_copy()

<?php
function original() {
  echo "В функции\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

Результат выполнения данного примера:

В функции
В функции

Смотрите также

  • runkit_function_add() - Добавляет новую функцию аналогично create_function
  • runkit_function_redefine() - Заменяет определение функции новой реализацией.
  • runkit_function_rename() - Переименовывает функцию
  • runkit_function_remove() - Удаляет определенную функцию

runkit_function_add
runkit_function_redefine
runkit


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

runkit_function_copy
runkit_function_remove
runkit
PHP Manual

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine — Заменяет определение функции новой реализацией.

Описание

bool runkit_function_redefine ( string $funcname , string $arglist , string $code )

Замечание: По умолчанию, только пользовательские функции могут быть удалены, переименованы или изменены. Для перекрытия внутренних функций, необходимо включить в php.ini опцию runkit.internal_override.

Список параметров

funcname

Имя заменяемой функции

arglist

Новый список аргументов, принимаемый функцией

code

Код новой функции

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_function_redefine()

<?php
function testme() {
  echo "Старый код Testme\n";
}
testme();
runkit_function_redefine('testme','','echo "Новый код Testme\n";');
testme();
?>

Результат выполнения данного примера:

Старый код Testme
Новый код Testme

Смотрите также

  • runkit_function_add() - Добавляет новую функцию аналогично create_function
  • runkit_function_copy() - Копирует функцию с новым именем
  • runkit_function_rename() - Переименовывает функцию
  • runkit_function_remove() - Удаляет определенную функцию

runkit_function_copy
runkit_function_remove
runkit


Удаляет определенную функцию

runkit_function_redefine
runkit_function_rename
runkit
PHP Manual

runkit_function_remove

(PECL runkit >= 0.7.0)

runkit_function_remove — Удаляет определенную функцию

Описание

bool runkit_function_remove ( string $funcname )

Замечание: По умолчанию, только пользовательские функции могут быть удалены, переименованы или изменены. Для перекрытия внутренних функций, необходимо включить в php.ini опцию runkit.internal_override.

Список параметров

funcname

Имя удаляемой функции

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_function_add() - Добавляет новую функцию аналогично create_function
  • runkit_function_copy() - Копирует функцию с новым именем
  • runkit_function_redefine() - Заменяет определение функции новой реализацией.
  • runkit_function_rename() - Переименовывает функцию

runkit_function_redefine
runkit_function_rename
runkit


Переименовывает функцию

runkit_function_remove
runkit_import
runkit
PHP Manual

runkit_function_rename

(PECL runkit >= 0.7.0)

runkit_function_rename — Переименовывает функцию

Описание

bool runkit_function_rename ( string $funcname , string $newname )

Замечание: По умолчанию, только пользовательские функции могут быть удалены, переименованы или изменены. Для перекрытия внутренних функций, необходимо включить в php.ini опцию runkit.internal_override.

Список параметров

funcname

Имя переименовываемой функции

newname

Новое имя функции

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_function_add() - Добавляет новую функцию аналогично create_function
  • runkit_function_copy() - Копирует функцию с новым именем
  • runkit_function_redefine() - Заменяет определение функции новой реализацией.
  • runkit_function_remove() - Удаляет определенную функцию

runkit_function_remove
runkit_import
runkit


Обрабатывает PHP файл, импортируя функции и классы, перезаписывая при необходимости.

runkit_function_rename
runkit_lint_file
runkit
PHP Manual

runkit_import

(PECL runkit >= 0.7.0)

runkit_import — Обрабатывает PHP файл, импортируя функции и классы, перезаписывая при необходимости.

Описание

bool runkit_import ( string $filename [, int $flags = RUNKIT_IMPORT_CLASS_METHODS ] )

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

Список параметров

filename

Имя файла, из которого будут импортированы классы и функции

flags

Значение побитового ИЛИ семейства констант RUNKIT_IMPORT_*/

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

runkit_function_rename
runkit_lint_file
runkit


Проверяет PHP-синтаксис выбранного файла

runkit_import
runkit_lint
runkit
PHP Manual

runkit_lint_file

(PECL runkit >= 0.7.0)

runkit_lint_file — Проверяет PHP-синтаксис выбранного файла

Описание

bool runkit_lint_file ( string $filename )

Функция runkit_lint_file() производит проверку синтаксиса выбранного файла. Действие функции схоже с вызовом команды php -l в консоли.

Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.

Список параметров

filename

PHP-файл, в котором проверять синтаксис

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_lint() - Проверяет PHP-синтаксис выбранного кода

runkit_import
runkit_lint
runkit


Проверяет PHP-синтаксис выбранного кода

runkit_lint_file
runkit_method_add
runkit
PHP Manual

runkit_lint

(PECL runkit >= 0.7.0)

runkit_lint — Проверяет PHP-синтаксис выбранного кода

Описание

bool runkit_lint ( string $code )

Функция runkit_lint() производит проверку синтаксиса выбранного кода на наличие ошибок. Функция похожа на вызов интерпретатора php -l из коммандной строки, за исключением того, что runkit_lint() вместо файла проверяет непосредственно код.

Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.

Список параметров

code

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

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_lint_file() - Проверяет PHP-синтаксис выбранного файла

runkit_lint_file
runkit_method_add
runkit


Добавляет метод в класс

runkit_lint
runkit_method_copy
runkit
PHP Manual

runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Добавляет метод в класс

Описание

bool runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )
Внимание

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

Список параметров

classname

Класс, в который будет добавлен метод

methodname

Имя добавляемого метода

args

Список параметров, принимаемых методом, через запятую

code

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

flags

Создаваемый метод может быть быть RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED или RUNKIT_ACC_PRIVATE

Замечание:

Этот параметр используется только в PHP 5, потому что в предыдущих версиях все методы являлись публичными.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_method_add()

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// создаем экземпляр Example
$e = new Example();

// добавляем новый публичный метод
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// вычисляем 12 + 4
echo $e->add(12, 4);
?>

Результат выполнения данного примера:

16

Смотрите также

  • runkit_method_copy() - Копирование метода из одного класса в другой
  • runkit_method_redefine() - Изменяет код выбранного метода
  • runkit_method_remove() - Удаляет выбранный метод
  • runkit_method_rename() - Переименовывает выбранный метод
  • runkit_function_add() - Добавляет новую функцию аналогично create_function

runkit_lint
runkit_method_copy
runkit


Копирование метода из одного класса в другой

runkit_method_add
runkit_method_redefine
runkit
PHP Manual

runkit_method_copy

(PECL runkit >= 0.7.0)

runkit_method_copy — Копирование метода из одного класса в другой

Описание

bool runkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Внимание

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

Список параметров

dClass

Класс назначения: имя класса, в который копируется метод

dMethod

Метод назначение: имя метода, в который копируется метод

sClass

Исходный класс: имя класса, из которого копируется метод

sMethod

Исходный метод: имя метода, который копируется. Если этот параметр не указан, используется значение dMethod.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_method_copy()

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // изначально методы отсутствуют
}

// копируем метод example() из класса Foo в класс Bar как baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// вывод скопированной функции
echo Bar::baz();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • runkit_method_add() - Добавляет метод в класс
  • runkit_method_redefine() - Изменяет код выбранного метода
  • runkit_method_remove() - Удаляет выбранный метод
  • runkit_method_rename() - Переименовывает выбранный метод
  • runkit_function_copy() - Копирует функцию с новым именем

runkit_method_add
runkit_method_redefine
runkit


Изменяет код выбранного метода

runkit_method_copy
runkit_method_remove
runkit
PHP Manual

runkit_method_redefine

(PECL runkit >= 0.7.0)

runkit_method_redefine — Изменяет код выбранного метода

Описание

bool runkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )

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

Внимание

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

Список параметров

classname

Имя класса, в котором заменяется метод

methodname

Имя заменяемого метода

args

Список параметров, принимаемых методом через запятую

code

Новый код метода, который выполнится при вызове methodname

flags

Переназначаемый метод может быть RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED или RUNKIT_ACC_PRIVATE

Замечание:

Этот параметр используется только в PHP 5, потому что в предыдущих версиях все методы являлись публичными.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_method_redefine()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// создаем экзепаляр Example
$e = new Example();

// вывод Example::foo() (до переназначения)
echo "Before: " . $e->foo();

// переназначаем метод 'foo'
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// вывод Example::foo() (после переназначения)
echo "After: " . $e->foo();
?>

Результат выполнения данного примера:

Before: foo!
After: bar!

Смотрите также

  • runkit_method_add() - Добавляет метод в класс
  • runkit_method_copy() - Копирование метода из одного класса в другой
  • runkit_method_remove() - Удаляет выбранный метод
  • runkit_method_rename() - Переименовывает выбранный метод
  • runkit_function_redefine() - Заменяет определение функции новой реализацией.

runkit_method_copy
runkit_method_remove
runkit


Удаляет выбранный метод

runkit_method_redefine
runkit_method_rename
runkit
PHP Manual

runkit_method_remove

(PECL runkit >= 0.7.0)

runkit_method_remove — Удаляет выбранный метод

Описание

bool runkit_method_remove ( string $classname , string $methodname )

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

Внимание

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

Список параметров

classname

Имя класса, из которого удаляется метод

methodname

Имя удаляемого метода

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_method_remove()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Удаление метода 'foo'
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Результат выполнения данного примера:

bar

Смотрите также

  • runkit_method_add() - Добавляет метод в класс
  • runkit_method_copy() - Копирование метода из одного класса в другой
  • runkit_method_redefine() - Изменяет код выбранного метода
  • runkit_method_rename() - Переименовывает выбранный метод
  • runkit_function_remove() - Удаляет определенную функцию

runkit_method_redefine
runkit_method_rename
runkit


Переименовывает выбранный метод

runkit_method_remove
runkit_return_value_used
runkit
PHP Manual

runkit_method_rename

(PECL runkit >= 0.7.0)

runkit_method_rename — Переименовывает выбранный метод

Описание

bool runkit_method_rename ( string $classname , string $methodname , string $newname )

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

Внимание

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

Список параметров

classname

Имя класса, в котором переименовывается метод

methodname

Текущее имя переименовываемого метода

newname

Новое имя переименовываемого метода

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример runkit_method_rename()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Переименование метода 'foo' в метод 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • runkit_method_add() - Добавляет метод в класс
  • runkit_method_copy() - Копирование метода из одного класса в другой
  • runkit_method_redefine() - Изменяет код выбранного метода
  • runkit_method_remove() - Удаляет выбранный метод
  • runkit_function_rename() - Переименовывает функцию

runkit_method_remove
runkit_return_value_used
runkit


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

runkit_method_rename
runkit_sandbox_output_handler
runkit
PHP Manual

runkit_return_value_used

(PECL runkit >= 0.8.0)

runkit_return_value_used — Определяет, используется ли возвращаемое функцией значение

Описание

bool runkit_return_value_used ( void )

Возвращаемые значения

Возвращаеся TRUE, если возвращаемое функцией значение используется в текущей области видимости, иначе FALSE

Примеры

Пример #1 Пример runkit_return_value_used()

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

Результат выполнения данного примера:

bool(false)
bool(true)

runkit_method_rename
runkit_sandbox_output_handler
runkit


Задает функцию для захвата и/или обработки данных из "песочницы".

runkit_return_value_used
runkit_superglobals
runkit
PHP Manual

runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler — Задает функцию для захвата и/или обработки данных из "песочницы".

Описание

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] )

Обычно все результаты работы в песочниче (использование функций echo() или print()) будут выведены в родительском окружении. Использование runkit_sandbox_output_handler() позволяет перехватить эти данные функцией вне песочницы.

Замечание: Поддержка песочницы (необходима для runkit_lint(), runkit_lint_file(), и класса Runkit_Sandbox) доступна только начиная с версии PHP 5.1.0 или в специально пропатченных версиях PHP 5.0, а также требует потокобезопасной (thread safe) версии PHP. Для более подробной информации смотрите файл README, поставляемый с пакетом runkit.

Замечание: Deprecated

Начиная с версии runkit 0.5 данная функция является устаревшей и помечена для удаления в версии 1.0. Обработка вывода песочницы может быть задана с помощью опции output_handler, доступной в виде Array Access для экземпляра Runkit_Sandbox. Подробную информацию можно получить на странице описания Runkit_Sandbox

Список параметров

sandbox

Экземпляр Runkit_Sandbox, вывод которого необходимо обрабатывать.

callback

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

Возвращаемые значения

Возвращает предыдущее имя функции или FALSE, если она не была задана.

Примеры

Пример #1 Перевод вывода в переменную

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hello\n");
$php->eval('var_dump("Excuse me");');
$php->die("I lost myself.");
unset($php);

echo "Sandbox Complete\n\n";
echo $sandbox_output;
?>

Результат выполнения данного примера:

Sandbox Complete

Hello
string(9) "Excuse me"
I lost myself.

runkit_return_value_used
runkit_superglobals
runkit


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

runkit_sandbox_output_handler
scream
runkit
PHP Manual

runkit_superglobals

(PECL runkit >= 0.7.0)

runkit_superglobals — Возвращает индексный массив зарегистрированных суперглобальных переменных.

Описание

array runkit_superglobals ( void )

Возвращаемые значения

Возвращает индексный массив зарегистрированных переменных, например: _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Смотрите также

  • Область видимости переменной

runkit_sandbox_output_handler
scream
runkit


Break the silence operator

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Примеры
    • Example that shows the effect of scream
runkit_superglobals
Введение
Изменение поведения PHP


Введение

The scream extension gives the possibility to disable the silencing error control operator so all errors are being reported. This feature is controlled by an ini setting.

scream
Установка и настройка
scream


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
scream


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/scream

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

scream Опции настройки
Имя | По умолчанию | Меняемо | Changelog
scream.enabled | Off | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

scream.enabled int

Whether or not to enable scream.

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
Примеры
Установка и настройка


Примеры

Содержание

  • Example that shows the effect of scream
Типы ресурсов
Example that shows the effect of scream
scream


Example that shows the effect of scream

This example demonstrates how scream affects the behaviour of PHP's error handler.

Пример #1 Enabling and disabling scream at runtime

<?php
// Make sure errors will be shown
ini_set('display_errors', true);
error_reporting(E_ALL);

// Disable scream - this is the default and produce an error
ini_set('scream.enabled', false);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/not-existing-file', 'r');

// Now enable scream and try again
ini_set('scream.enabled', true);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/another-not-existing-file', 'r');
?>

Результатом выполнения данного примера будет что-то подобное:

Opening http://example.com/not-existing-file
Opening http://example.com/not-existing-file

Warning: fopen(http://example.com/another-not-existing-file): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in example.php on line 14

Замечание: Usually one would set this in the php.ini configuration file instead of changing the code.

Примеры
Weakref
Примеры


Weak References

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Типы ресурсов
  • Weakref — The Weakref class
    • Weakref::acquire — Acquires a strong reference on that object
    • Weakref::__construct — Constructs a new weak reference
    • Weakref::get — Returns the object pointed to by the weak reference
    • Weakref::release — Releases a previously acquired reference
    • Weakref::valid — Checks whether the object referenced still exists
Example that shows the effect of scream
Введение
Изменение поведения PHP


Введение

Weak references provide a non-intrusive gateway to ephemeral objects. Unlike normal (strong) references, weak references do not prevent the garbage collector from freeing that object. For this reason, an object may be destroyed even though a weak reference to that object still exists. In such conditions, the weak reference seamlessly becomes invalid.

Пример #1 Weakref usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Результат выполнения данного примера:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Weakref
Установка и настройка
Weakref


Установка и настройка

Содержание

  • Требования
  • Установка
  • Типы ресурсов
Введение
Требования
Weakref


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/weakref.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Типы ресурсов
Установка и настройка


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

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

Установка
Weakref
Установка и настройка


The Weakref class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The Weakref class provides a gateway to objects without preventing the garbage collector from freeing those objects. It also provides a way to turn a weak reference into a strong one.

Обзор классов

Weakref {
/* Методы */
public __construct ([ object $object ] )
public bool acquire ( void )
public object get ( void )
public bool release ( void )
public bool valid ( void )
}

Примеры

Пример #1 Weakref usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Результат выполнения данного примера:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Содержание

  • Weakref::acquire — Acquires a strong reference on that object
  • Weakref::__construct — Constructs a new weak reference
  • Weakref::get — Returns the object pointed to by the weak reference
  • Weakref::release — Releases a previously acquired reference
  • Weakref::valid — Checks whether the object referenced still exists
Типы ресурсов
Weakref::acquire
Weakref


Acquires a strong reference on that object

Weakref
Weakref::__construct
Weakref
PHP Manual

Weakref::acquire

(Информация о версии неизвестна, возможно, только в SVN)

Weakref::acquire — Acquires a strong reference on that object

Описание

public bool Weakref::acquire ( void )

Acquires a strong reference on that object, virtually turning the weak reference into a strong one.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the reference was valid and could be turned into a strong reference, FALSE otherwise.

Примеры

Пример #1 Weakref::acquire() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

Результат выполнения данного примера:

Unsetting o1...
Unsetting o2...
Destroying object!

Пример #2 Nested acquire/release example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

echo "Acquiring...\n";
$r1->acquire();

echo "  Unsetting...\n";
unset($o1);

echo "  Acquiring...\n";
$r1->acquire();

echo "    Acquiring...\n";
$r1->acquire();

echo "    Releasing...\n";
$r1->release();

echo "  Releasing...\n";
$r1->release();

echo "Releasing...\n";
$r1->release();

?>

Результат выполнения данного примера:

Acquiring...
  Unsetting...
  Acquiring...
    Acquiring...
    Releasing...
  Releasing...
Releasing...
Destroying object!

Смотрите также

  • Weakref::release() - Releases a previously acquired reference

Weakref
Weakref::__construct
Weakref


Constructs a new weak reference

Weakref::acquire
Weakref::get
Weakref
PHP Manual

Weakref::__construct

(Информация о версии неизвестна, возможно, только в SVN)

Weakref::__construct — Constructs a new weak reference

Описание

public Weakref::__construct() ([ object $object ] )

Constructs a new weak reference.

Список параметров

object

The object to reference.

Возвращаемые значения

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

Примеры

Пример #1 Weakref::__construct() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Результат выполнения данного примера:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Weakref::acquire
Weakref::get
Weakref


Returns the object pointed to by the weak reference

Weakref::__construct
Weakref::release
Weakref
PHP Manual

Weakref::get

(Информация о версии неизвестна, возможно, только в SVN)

Weakref::get — Returns the object pointed to by the weak reference

Описание

public object Weakref::get ( void )

Returns the object pointed to by the weak reference.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the object if the reference is still valid, NULL otherwise.

Смотрите также

  • Weakref::valid() - Checks whether the object referenced still exists

Weakref::__construct
Weakref::release
Weakref


Releases a previously acquired reference

Weakref::get
Weakref::valid
Weakref
PHP Manual

Weakref::release

(Информация о версии неизвестна, возможно, только в SVN)

Weakref::release — Releases a previously acquired reference

Описание

public bool Weakref::release ( void )

Releases a previously acquired reference. Potentially turning a strong reference back into a weak reference.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the reference was previously acquired and thus could be released, FALSE otherwise.

Примеры

Пример #1 Weakref::release() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

Результат выполнения данного примера:

Unsetting o1...
Unsetting o2...
Destroying object!

Смотрите также

  • Weakref::acquire() - Acquires a strong reference on that object

Weakref::get
Weakref::valid
Weakref


Checks whether the object referenced still exists

Weakref::release
WinCache
Weakref
PHP Manual

Weakref::valid

(Информация о версии неизвестна, возможно, только в SVN)

Weakref::valid — Checks whether the object referenced still exists

Описание

public bool Weakref::valid ( void )

Checks whether the object referenced still exists.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the object still exists and is thus still accessible via Weakref::get(), FALSE otherwise.

Смотрите также

  • Weakref::get() - Returns the object pointed to by the weak reference

Weakref::release
WinCache
Weakref


Windows Cache for PHP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • WinCache Statistics Script
    • WinCache Session Handler
    • WinCache Functions Reroutes
    • Типы ресурсов
  • Предопределенные константы
  • WinCache Функции
    • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo — Retrieves information about file cache memory usage
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Retrieves information about session cache memory usage
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear — Deletes entire content of the user cache
    • wincache_ucache_dec — Decrements the value associated with the key
    • wincache_ucache_delete — Deletes variables from the user cache
    • wincache_ucache_exists — Checks if a variable exists in the user cache
    • wincache_ucache_get — Gets a variable stored in the user cache
    • wincache_ucache_inc — Increments the value associated with the key
    • wincache_ucache_info — Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo — Retrieves information about user cache memory usage
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Releases an exclusive lock on a given key
  • Building for Windows
    • Prerequisites
    • Compiling and building
    • Verifying the build
Weakref::valid
Введение
Изменение поведения PHP


Введение

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

The Windows Cache Extension includes 5 different types of caches. The following describes the purpose of each cache type and the benefits it provides.

  • PHP Opcode Cache - PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server's CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.

  • File Cache - Even with the PHP opcode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

  • Resolve File Path Cache - PHP scripts very often include or operate with files by using relative file paths. Every file path has to be normalized to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving the paths may negatively impact the application's performance. The Windows Cache Extension for PHP provides a Resolve File Path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of path resolutions that the PHP engine has to perform.

  • User Cache (available since version 1.1.0) - PHP scripts can take advantage of the shared memory cache by using the user cache API's. PHP objects and variables can be stored in the user cache and then re-used on subsequent requests. This can be used to improve performance of PHP scripts and to share the data across multiple PHP processes.

  • Session Handler (available since version 1.1.0) - The WinCache session handler can be used to store the PHP session data in the shared memory cache. This avoids file system operations for reading and writing session data, which improves performance when large amount of data is stored in PHP session.

WinCache
Установка и настройка
WinCache


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • WinCache Statistics Script
  • WinCache Session Handler
  • WinCache Functions Reroutes
  • Типы ресурсов
Введение
Требования
WinCache


Требования

The extension is currently supported only on the following configurations:

Windows OS:

  • Windows XP SP3 with IIS 5.1 and » FastCGI Extension
  • Windows Server 2003 with IIS 6.0 and » FastCGI Extension
  • Windows Vista SP1 with IIS 7.0 and FastCGI Module
  • Windows Server 2008 with IIS 7.0 and FastCGI Module
  • Windows 7 with IIS 7.5 and FastCGI Module
  • Windows Server 2008 R2 with IIS 7.5 and FastCGI Module

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Замечание: The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/wincache.

There are two packages for this extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Select the package that is appropriate for the PHP version being used.

To install and enable the extension, follow these steps:

  1. Unpack the package into some temporary location.

  2. Copy the php_wincache.dll file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: C:\Program Files\PHP\ext.

  3. Using a text editor, open the php.ini file, which is usually located in the same folder where all PHP binary files are. For example: C:\Program Files\PHP\php.ini.

  4. Add the following line at the end of the php.ini file: extension = php_wincache.dll.

  5. Save and close the php.ini file.

  6. Recycle the IIS Application Pools for PHP to pick up the configuration changes. To check that the extension has been enabled, create a file called phpinfo.php with a PHP code that calls phpinfo function.

  7. Save the phpinfo.php file in the root folder of a IIS web site that uses PHP, then open a browser and make a request to http://localhost/phpinfo.php. Search within the returned web page for a section called wincache. If the extension is enabled, then the phpinfo output will list the configuration settings provided by the WinCache.

Замечание: Do not forget to remove phpinfo.php file from the web site's root folder after verifying that extension has been enabled.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

The following table lists and explains the configuration settings provided by the WinCache extension:

WinCache configuration options
Name | Default | Minimum | Maximum | Changeable | Changelog
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Available since WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Available since WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available since WinCache 1.1.0
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | Available since WinCache 1.2.0
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

wincache.fcenabled boolean
Enables or disables the file cache functionality.
wincache.fcenabledfilter string
Defines a comma-separated list of IIS web site identifiers where file cache should be enabled or disabled. This setting works in conjunction with wincache.fcenabled: if wincache.fcenabled is set to 1, then the sites listed in the wincache.fcenabledfilter will have the file cache turned off; if wincache.fcenabled is set to 0, then the sites listed in the wincache.fcenabledfilter will have the file cache turned on.
wincache.fcachesize integer
Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache.
wincache.fcndetect boolean
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by wincache.chkinterval.
wincache.maxfilesize integer
Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only.
wincache.ocenabled boolean
Enables or disables the opcode cache functionality
wincache.ocenabledfilter string
Defines a comma-separated list of IIS web site identifiers where opcode cache should be enabled or disabled. This setting works in conjunction with wincache.ocenabled: if wincache.ocenabled is set to 1, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned off; if wincache.ocenabled is set to 0, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned on.
wincache.ocachesize integer
Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased.
wincache.filecount integer
Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the WinCache will re-allocate more memory as needed.
wincache.chkinterval integer
Defines how often (in seconds) the extension checks for file changes in order to refresh the cache. Setting it to 0 will disable the refreshing of the cache. The file changes will not be reflected in the cache unless the cache entry for that file is removed by scavenger or IIS application pool is recycled or wincache_refresh_if_changed function is called.
wincache.ttlmax integer
Defines the maximum time to live (in seconds) for a cached entry without being used. Setting it to 0 will disable the cache scavenger, so the cached entries will never be removed from the cache during the lifetime of the IIS worker process.
wincache.enablecli boolean
Defines if caching is enabled when PHP is running in command line (CLI) mode.
wincache.ignorelist string

Defines a list of files that should not be cached by the extension. The files list is specified by using file names only, separated by the pipe symbol - "|".

Пример #1 wincache.ignorelist example

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Defines a string that will be used when naming the extension specific objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process tries to access shared memory. The length of the namesalt string cannot exceed 8 characters.
wincache.ucenabled boolean
Enables or disables the user cache functionality.
wincache.ucachesize integer
Defines the maximum memory size in megabytes that is allocated for the user cache. If the total size of variables stored in the user cache exceeds the specified value, then the most stale variables will be removed from the cache.
wincache.scachesize integer
Defines the maximum memory size in megabytes that is allocated for the session cache. If the total size of data stored in the session cache exceeds the specified value, then the most stale data will be removed from the cache.
wincache.rerouteini string
Specifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.

Установка
WinCache Statistics Script
Установка и настройка


WinCache Statistics Script

The installation package for WinCache includes a PHP script, wincache.php, that can be used to obtain cache information and statistics.

If the WinCache extension was installed via the Microsoft Web Platform Installer, then this script is located in %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. On a 64-bit version of the Windows Server operating system, the script is located in %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. If the extension was installed manually, then the wincache.php will be located in the same folder from which the content of the installation package was extracted.

To use wincache.php, copy it into a root folder of a Web site or into any subfolder. To protect the script, open it in any text editor and replace the values for USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server, then follow the instructions in the comments:

Пример #1 Authentication configuration for wincache.php

<?php
/**
 * ======================== CONFIGURATION SETTINGS ==============================
 * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
 * If you use authentication then replace the default password.
 */
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
 * The Basic PHP authentication will work only when IIS is configured to support
 * Anonymous Authentication' and nothing else. If IIS is configured to support/use
 * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
 * In that case use the array below to define the names of users in your
 * domain/network/workgroup which you want to grant access to.
 */
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
 * If the array contains string 'all', then all the users authenticated by IIS
 * will have access to the page. Uncomment the below line and comment above line
 * to grant access to all users who gets authenticated by IIS.
 */
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */
?>

Замечание: Always protect the wincache.php script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server.

Настройка во время выполнения
WinCache Session Handler
Установка и настройка


WinCache Session Handler

The WinCache session handler (available since WinCache 1.1.0) can be used to configure PHP to store the session data in shared memory session cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. Wincache session cache uses file-backed shared memory, which ensures that the session data is not lost during recycling of IIS application pools.

To configure PHP to use WinCache session handler set the php.ini setting session.save_handler to wincache. By default the Windows temporary file location is used for storing the session data. To change the location of the session file use session.save_path directive.

Пример #1 Enabling WinCache session handler

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\

WinCache Statistics Script
WinCache Functions Reroutes
Установка и настройка


WinCache Functions Reroutes

The WinCache functions reroutes (available since WinCache 1.2.0) can be used to replace built-in PHP functions with their equivalents that are optimized for a particular purpose. WinCache extension includes Windows-optimized implementation of PHP file functions that may improve performance of PHP applications in cases when PHP has to access files on network shares. The optimized implementation is provided for the following functions:

  • file_exists
  • file_get_contents
  • readfile
  • is_readable
  • is_writable
  • is_dir
  • realpath
  • filesize

To configure WinCache to use the functions reroutes use the file reroute.ini that is included in WinCache installation package. Copy this file into the same directory where php.ini file is located. After that add the wincache.rerouteini setting in php.ini and specify an absolute or relative path to the reroute.ini file.

Пример #1 Enabling WinCache functions reroutes

wincache.rerouteini = C:\PHP\reroute.ini

Замечание: If WinCache functions reroutes are enabled it is recommended to increase the WinCache file cache size. This can be done by using wincache.fcachesize setting.

The reroute.ini file contains the mappings between the native PHP functions and their equivalents in WinCache. Each line in the file defines a mapping by using the following syntax:

<PHP function name>:[<number of function parameters>]=<wincache function name>

The example of the file is shown below. In this example the calls to PHP function file_get_contents() will be replaced with calls to wincache_file_get_contents() only if the number of parameters passed to the function is less than or equals to 2. Specifying the number of parameters is useful when replacement function does not handle all the function's parameters.

Пример #2 Reroute.ini file content

[FunctionRerouteList]
file_exists=wincache_file_exists
file_get_contents:2=wincache_file_get_contents
readfile:2=wincache_readfile
is_readable=wincache_is_readable
is_writable=wincache_is_writable
is_writeable=wincache_is_writable
is_file=wincache_is_file
is_dir=wincache_is_dir
realpath=wincache_realpath
filesize=wincache_filesize

WinCache Session Handler
Типы ресурсов
Установка и настройка


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

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

WinCache Functions Reroutes
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
WinCache Функции
WinCache


WinCache Функции

Содержание

  • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo — Retrieves information about file cache memory usage
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
  • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Retrieves information about session cache memory usage
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
  • wincache_ucache_clear — Deletes entire content of the user cache
  • wincache_ucache_dec — Decrements the value associated with the key
  • wincache_ucache_delete — Deletes variables from the user cache
  • wincache_ucache_exists — Checks if a variable exists in the user cache
  • wincache_ucache_get — Gets a variable stored in the user cache
  • wincache_ucache_inc — Increments the value associated with the key
  • wincache_ucache_info — Retrieves information about data stored in the user cache
  • wincache_ucache_meminfo — Retrieves information about user cache memory usage
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Releases an exclusive lock on a given key
Предопределенные константы
wincache_fcache_fileinfo
WinCache


Retrieves information about files cached in the file cache

WinCache Функции
wincache_fcache_meminfo
WinCache Функции
PHP Manual

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Retrieves information about files cached in the file cache

Описание

array wincache_fcache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about file cache content and its usage.

Список параметров

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the file cache summary.

Возвращаемые значения

Array of meta data about file cache или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the file cache has been active
  • total_file_count - total number of files that are currently in the file cache
  • total_hit_count - number of times the files have been served from the file cache
  • total_miss_count - number of times the files have not been found in the file cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the file cache
    • use_time - time in seconds since the file has been accessed in the file cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • file_size - size of the cached file in bytes

Примеры

Пример #1 A wincache_fcache_fileinfo() example

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

Результат выполнения данного примера:

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Смотрите также

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

WinCache Функции
wincache_fcache_meminfo
WinCache Функции


Retrieves information about file cache memory usage

wincache_fcache_fileinfo
wincache_lock
WinCache Функции
PHP Manual

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Retrieves information about file cache memory usage

Описание

array wincache_fcache_meminfo ( void )

Retrieves information about memory usage by file cache.

Возвращаемые значения

Array of meta data about file cache memory usage или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the file cache
  • memory_free - amount of free memory in bytes available for the file cache
  • num_used_blks - number of memory blocks used by the file cache
  • num_free_blks - number of free memory blocks available for the file cache
  • memory_overhead - amount of memory in bytes used for the file cache internal structures

Примеры

Пример #1 A wincache_fcache_meminfo() example

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_fcache_fileinfo
wincache_lock
WinCache Функции


Acquires an exclusive lock on a given key

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Функции
PHP Manual

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Описание

bool wincache_lock ( string $key [, bool $isglobal = false ] )

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Внимание

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Список параметров

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Смотрите также

  • wincache_unlock() - Releases an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Функции


Retrieves information about files cached in the opcode cache

wincache_lock
wincache_ocache_meminfo
WinCache Функции
PHP Manual

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache

Описание

array wincache_ocache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about opcode cache content and its usage.

Список параметров

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the opcode cache summary.

Возвращаемые значения

Array of meta data about opcode cache или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the opcode cache has been active
  • total_file_count - total number of files that are currently in the opcode cache
  • total_hit_count - number of times the compiled opcode have been served from the cache
  • total_miss_count - number of times the compiled opcode have not been found in the cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the opcode cache
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • function_count - number of functions in the cached file
    • class_count - number of classes in the cached file

Примеры

Пример #1 A wincache_ocache_fileinfo() example

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_lock
wincache_ocache_meminfo
WinCache Функции


Retrieves information about opcode cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Функции
PHP Manual

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Retrieves information about opcode cache memory usage

Описание

array wincache_ocache_meminfo ( void )

Retrieves information about memory usage by opcode cache.

Возвращаемые значения

Array of meta data about opcode cache memory usage или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the opcode cache
  • memory_free - amount of free memory in bytes available for the opcode cache
  • num_used_blks - number of memory blocks used by the opcode cache
  • num_free_blks - number of free memory blocks available for the opcode cache
  • memory_overhead - amount of memory in bytes used for the opcode cache internal structures

Примеры

Пример #1 A wincache_ocache_meminfo() example

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Функции


Refreshes the cache entries for the cached files

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Функции
PHP Manual

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Refreshes the cache entries for the cached files

Описание

bool wincache_refresh_if_changed ([ array $files ] )

Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache.

Список параметров

files

An array of file names for files that need to be refreshed. An absolute or relative file paths can be used.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

WinCache performs regular checks on the cached files to ensure that if any file has changed then the corresponding entry in the cache is updated. By default this check is performed every 30 seconds. If, for example, a PHP script updates another PHP script where the application's configuration settings are stored, then it may happen that after the configuration settings have been saved to a file, the application is still using old settings for some time until the cache is refreshed. In those cases it may be preferrable to refresh the cache right after the file has been changed. The following example shows how this can be done.

Пример #1 A wincache_refresh_if_changed() example

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Функции


Retrieves information about resolve file path cache

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Функции
PHP Manual

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Описание

array wincache_rplist_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Возвращаемые значения

Array of meta data about the resolve file path cache или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Примеры

Пример #1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Смотрите также

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Функции


Retrieves information about memory usage by the resolve file path cache

wincache_rplist_fileinfo
wincache_scache_info
WinCache Функции
PHP Manual

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Описание

array wincache_rplist_meminfo ( void )

Retrieves information about memory usage by resolve file path cache.

Возвращаемые значения

Array of meta data that describes memory usage by resolve file path cache. или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Примеры

Пример #1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_fileinfo
wincache_scache_info
WinCache Функции


Retrieves information about files cached in the session cache

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Функции
PHP Manual

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Описание

array wincache_scache_info ([ bool $summaryonly = false ] )

Retrieves information about session cache content and its usage.

Список параметров

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Возвращаемые значения

Array of meta data about session cache или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Примеры

Пример #1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Функции


Retrieves information about session cache memory usage

wincache_scache_info
wincache_ucache_add
WinCache Функции
PHP Manual

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Retrieves information about session cache memory usage

Описание

array wincache_scache_meminfo ( void )

Retrieves information about memory usage by session cache.

Возвращаемые значения

Array of meta data about session cache memory usage или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the session cache
  • memory_free - amount of free memory in bytes available for the session cache
  • num_used_blks - number of memory blocks used by the session cache
  • num_free_blks - number of free memory blocks available for the session cache
  • memory_overhead - amount of memory in bytes used for the session cache internal structures

Примеры

Пример #1 A wincache_scache_meminfo() example

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_scache_info
wincache_ucache_add
WinCache Функции


Adds a variable in user cache only if variable does not already exist in the cache

wincache_scache_meminfo
wincache_ucache_cas
WinCache Функции
PHP Manual

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Описание

bool wincache_ucache_add ( string $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_add ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Список параметров

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return FALSE. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Возвращаемые значения

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Примеры

Пример #1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

Результат выполнения данного примера:

bool(true)
bool(false)
string(3) "BAR"

Пример #2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Результат выполнения данного примера:

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Смотрите также

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()

wincache_scache_meminfo
wincache_ucache_cas
WinCache Функции


Compares the variable with old value and assigns new value to it

wincache_ucache_add
wincache_ucache_clear
WinCache Функции
PHP Manual

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compares the variable with old value and assigns new value to it

Описание

bool wincache_ucache_cas ( string $key , int $old_value , int $new_value )

Compares the variable associated with the key with old_value and if it matches then assigns the new_value to it.

Список параметров

key

The key that is used to store the variable in the cache. key is case sensitive.

old_value

Old value of the variable pointed by key in the user cache. The value should be of type long, otherwise the function returns FALSE.

new_value

New value which will get assigned to variable pointer by key if a match is found. The value should be of type long, otherwise the function returns FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

Результат выполнения данного примера:

bool(true)
int(1)

Смотрите также

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_dec() - Decrements the value associated with the key

wincache_ucache_add
wincache_ucache_clear
WinCache Функции


Deletes entire content of the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Функции
PHP Manual

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Deletes entire content of the user cache

Описание

bool wincache_ucache_clear ( void )

Clears/deletes all the values stored in the user cache.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 using wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

Результат выполнения данного примера:

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Смотрите также

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Функции


Decrements the value associated with the key

wincache_ucache_clear
wincache_ucache_delete
WinCache Функции
PHP Manual

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Decrements the value associated with the key

Описание

mixed wincache_ucache_dec ( string $key [, int $dec_by = 1 [, bool &$success ]] )

Decrements the value associated with the key by 1 or as specified by dec_by.

Список параметров

key

The key that was used to store the variable in the cache. key is case sensitive.

dec_by

The value by which the variable associated with the key will get decremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Возвращаемые значения

Returns the decremented value on success and FALSE on failure.

Примеры

Пример #1 Using wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

Результат выполнения данного примера:

int(2922)
bool(true)

Смотрите также

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_clear
wincache_ucache_delete
WinCache Функции


Deletes variables from the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Функции
PHP Manual

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Deletes variables from the user cache

Описание

bool wincache_ucache_delete ( mixed $key )

Deletes the elements in the user cache pointed by key.

Список параметров

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If key is an array then the function returns FALSE if every element of the array fails to get deleted from the user cache, otherwise returns an array which consists of all the keys that are deleted.

Примеры

Пример #1 Using wincache_ucache_delete() with key as a string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Пример #2 Usingwincache_ucache_delete() with key as an array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Результат выполнения данного примера:

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Пример #3 Using wincache_ucache_delete() with key as an array where some elements cannot be deleted

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Результат выполнения данного примера:

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Смотрите также

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Функции


Checks if a variable exists in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Функции
PHP Manual

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Checks if a variable exists in the user cache

Описание

bool wincache_ucache_exists ( string $key )

Checks if a variable with the key exists in the user cache or not.

Список параметров

key

The key that was used to store the variable in the cache. key is case sensitive.

Возвращаемые значения

Returns TRUE if variable with the key exitsts, otherwise returns FALSE.

Примеры

Пример #1 Using wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
    wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

Результат выполнения данного примера:

bool(true)

Смотрите также

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Функции


Gets a variable stored in the user cache

wincache_ucache_exists
wincache_ucache_inc
WinCache Функции
PHP Manual

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Gets a variable stored in the user cache

Описание

mixed wincache_ucache_get ( mixed $key [, bool &$success ] )

Gets a variable stored in the user cache.

Список параметров

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys. In this case the return value will be an array of values of each element in the key array. If an object, or an array containing objects, is returned, then the objects will be unserialized. See __wakeup() for details on unserializing objects.

success

Will be set to TRUE on success and FALSE on failure.

Возвращаемые значения

If key is a string, the function returns the value of the variable stored with that key. The success is set to TRUE on success and to FALSE on failure.

The key is an array, the parameter success is always set to TRUE. The returned array (name => value pairs) will contain only those name => value pairs for which the get operation in user cache was successful. If none of the keys in the key array finds a match in the user cache an empty array will be returned.

Примеры

Пример #1 wincache_ucache_get() with key as a string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

Результат выполнения данного примера:

string(4) "blue"
bool(true)

Пример #2 wincache_ucache_get() with key as an array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

Результат выполнения данного примера:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Смотрите также

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __wakeup()

wincache_ucache_exists
wincache_ucache_inc
WinCache Функции


Increments the value associated with the key

wincache_ucache_get
wincache_ucache_info
WinCache Функции
PHP Manual

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Increments the value associated with the key

Описание

mixed wincache_ucache_inc ( string $key [, int $inc_by = 1 [, bool &$success ]] )

Increments the value associated with the key by 1 or as specified by inc_by.

Список параметров

key

The key that was used to store the variable in the cache. key is case sensitive.

inc_by

The value by which the variable associated with the key will get incremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Возвращаемые значения

Returns the incremented value on success and FALSE on failure.

Примеры

Пример #1 Using wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

Результат выполнения данного примера:

int(2922)
bool(true)

Смотрите также

  • wincache_ucache_dec() - Decrements the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_get
wincache_ucache_info
WinCache Функции


Retrieves information about data stored in the user cache

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Функции
PHP Manual

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Retrieves information about data stored in the user cache

Описание

array wincache_ucache_info ([ bool $summaryonly = false [, string $key ]] )

Retrieves information about data stored in the user cache.

Список параметров

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the user cache summary.

key

The key of an entry in the user cache. If specified then the returned array will contain information only about that cache entry. If not specified and summaryonly is set to false then the returned array will contain information about all entries in the cache.

Возвращаемые значения

Array of meta data about user cache или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the user cache has been active
  • total_item_count - total number of elements that are currently in the user cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • ucache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • is_session - indicates if the data is a session variable
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Примеры

Пример #1 Using wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

Результат выполнения данного примера:

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Смотрите также

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Функции


Retrieves information about user cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Функции
PHP Manual

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Retrieves information about user cache memory usage

Описание

array wincache_ucache_meminfo ( void )

Retrieves information about memory usage by user cache.

Возвращаемые значения

Array of meta data about user cache memory usage или FALSE в случае возникновения ошибки

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the user cache
  • memory_free - amount of free memory in bytes available for the user cache
  • num_used_blks - number of memory blocks used by the user cache
  • num_free_blks - number of free memory blocks available for the user cache
  • memory_overhead - amount of memory in bytes used for the user cache internal structures

Примеры

Пример #1 A wincache_ucache_meminfo() example

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

Результат выполнения данного примера:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Смотрите также

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Функции


Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_meminfo
wincache_unlock
WinCache Функции
PHP Manual

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Описание

bool wincache_ucache_set ( mixed $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_set ( array $values [, mixed $unused [, int $ttl = 0 ]] )

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Список параметров

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Возвращаемые значения

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Примеры

Пример #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

Результат выполнения данного примера:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Пример #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Результат выполнения данного примера:

array(0) {}
array(0) {}
string(1) "6"

Смотрите также

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()

wincache_ucache_meminfo
wincache_unlock
WinCache Функции


Releases an exclusive lock on a given key

wincache_ucache_set
Building for Windows
WinCache Функции
PHP Manual

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Releases an exclusive lock on a given key

Описание

bool wincache_unlock ( string $key )

Releases an exclusive lock that was obtained on a given key by using wincache_lock(). If any other process was blocked waiting for the lock on this key, that process will be able to obtain the lock.

Внимание

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Список параметров

key

Name of the key in the cache to release the lock on.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Смотрите также

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_ucache_set
Building for Windows
WinCache Функции


Building for Windows

Содержание

  • Prerequisites
  • Compiling and building
  • Verifying the build
wincache_unlock
Prerequisites
WinCache


Prerequisites

Building WinCache extension will require:

  1. PHP source code
  2. PHP build environment
  3. WinCache source code

For completing first two steps, follow the step-by-step guide for how to » build PHP on Windows.

For getting the WinCache source code follow the instructions described in Downloading PECL extensions.

Building for Windows
Compiling and building
Building for Windows


Compiling and building

The following steps describe how to compile and build WinCache on Windows OS:

  1. Open a command prompt which is used to build PHP

  2. Go to the root folder where PHP sources are present

  3. Run the command:

    cscript.exe win32\build\buildconf.js

  4. Run the command:

    configure.bat --help
    The output will contain a new flag --enable-wincache.

  5. Run the command:

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache is the only extra option which is required to ensure that WinCache extension gets built properly. This option will build WinCache and will statically link it with PHP dll. To build WinCache extension as a stand-alone DLL use the option --enable-wincache=shared.

  6. Run the command:

    nmake

Prerequisites
Verifying the build
Building for Windows


Verifying the build

The following steps describe how to verify that WinCache has been built correctly:

  1. Go to the folder where the PHP binaries are built

  2. Run the command:

    php.exe -n -d extension=php_wincache.dll -re wincache
    If WinCache has been built properly, the output of this command will list the INI directives and functions supported by WinCache.

Compiling and building
Xhprof
Building for Windows


Hierarchical Profiler

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Xhprof Функции
    • xhprof_disable — Stops xhprof profiler
    • xhprof_enable — Start xhprof profiler
    • xhprof_sample_disable — Stops xhprof sample profiler
    • xhprof_sample_enable — Description
Verifying the build
Введение
Изменение поведения PHP


Введение

XHProf is a light-weight hierarchical and instrumentation based profiler. During the data collection phase, it keeps track of call counts and inclusive metrics for arcs in the dynamic callgraph of a program. It computes exclusive metrics in the reporting/post processing phase, such as wall (elapsed) time, CPU time and memory usage. A functions profile can be broken down by callers or callees. XHProf handles recursive functions by detecting cycles in the callgraph at data collection time itself and avoiding the cycles by giving unique depth qualified names for the recursive invocations.

XHProf includes a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

XHProf reports can often be helpful in understanding the structure of the code being executed. The hierarchical nature of the reports can be used to determine, for example, what chain of calls led to a particular function getting called.

XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate data from multiple runs. Diff and aggregate reports, much like single run reports, offer "flat" as well as "hierarchical" views of the profile.

Additional documentation can be found via the » facebook xhprof website.

Xhprof
Установка и настройка
Xhprof


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Xhprof


Требования

Although not required, xhprof includes an interface that's written in PHP. It's used to save and display the profiled data in a usable way, where viewing is done via a web browser. So, a PHP enabled web server will likely make the xhprof experience more useful.

There's also a fork of the GUI interface at » http://github.com/preinheimer/xhprof

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/xhprof

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Xhprof Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
xhprof.output_dir | "" | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

xhprof.output_dir string

Directory used by the default implementation of the iXHProfRuns interface (namely, the XHProfRuns_Default class) for storing XHProf runs.

Установка
Типы ресурсов
Установка и настройка


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

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

XHPROF_FLAGS_NO_BUILTINS (integer)
Used to skip all built-in (internal) functions.
XHPROF_FLAGS_CPU (integer)
Used to add CPU profiling information to the output.
XHPROF_FLAGS_MEMORY (integer)
Used to add memory profiling information to the output.
Типы ресурсов
Примеры
Xhprof


Примеры

Пример #1 Xhprof example with the optional GUI

This example starts and stops the profiler, then uses the bundled GUI interface to save and parse the results. In other words, the code from the extension itself ends at the call to xhprof_disable().

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

for ($i = 0; $i <= 1000; $i++) {
    $a = $i * $i;
}

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "/tools/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

?>

Результатом выполнения данного примера будет что-то подобное:

http://localhost/xhprof/xhprof_html/index.php?run=t11_4bdf44d21121f&source=xhprof_testing
Предопределенные константы
Xhprof Функции
Xhprof


Xhprof Функции

Содержание

  • xhprof_disable — Stops xhprof profiler
  • xhprof_enable — Start xhprof profiler
  • xhprof_sample_disable — Stops xhprof sample profiler
  • xhprof_sample_enable — Description
Примеры
xhprof_disable
Xhprof


Stops xhprof profiler

Xhprof Функции
xhprof_enable
Xhprof Функции
PHP Manual

xhprof_disable

(PECL xhprof >= 0.9.0)

xhprof_disable — Stops xhprof profiler

Описание

array xhprof_disable ( void )

Stops the profiler, and returns xhprof data from the run.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of xhprof data, from the run.

Примеры

Пример #1 xhprof_disable() example

<?php
xhprof_enable();

$foo = strlen("foo bar");

$xhprof_data = xhprof_disable();

print_r($xhprof_data);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [main()==>strlen] => Array
        (
            [ct] => 1
            [wt] => 279
        )

    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 9
        )

    [main()] => Array
        (
            [ct] => 1
            [wt] => 610
        )

)
Xhprof Функции
xhprof_enable
Xhprof Функции


Start xhprof profiler

xhprof_disable
xhprof_sample_disable
Xhprof Функции
PHP Manual

xhprof_enable

(PECL xhprof >= 0.9.0)

xhprof_enable — Start xhprof profiler

Описание

void xhprof_enable ([ int $flags = 0 [, array $options ]] )

Start xhprof profiling.

Список параметров

flags

Optional flags to add additional information to the profiling. See the XHprof constants for further information about these flags, e.g., XHPROF_FLAGS_MEMORY to enable memory profiling.

options

An array of optional options, namely, the 'ignored_functions' option to pass in functions to be ignored during profiling.

Возвращаемые значения

NULL

Список изменений

Версия | Описание
0.9.2 | The optional options parameter was added.

Примеры

Пример #1 xhprof_enable() examples

<?php
// 1. elapsed time + memory + CPU profiling; and ignore built-in (internal) functions
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

// 2. elapsed time profiling; ignore call_user_func* during profiling
xhprof_enable(
    0,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));

// 3. elapsed time + memory profiling; ignore call_user_func* during profiling
xhprof_enable(
    XHPROF_FLAGS_MEMORY,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));
?>

Смотрите также

  • xhprof_disable() - Stops xhprof profiler
  • xhprof_sample_enable() - Description
  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • getrusage() - Gets the current resource usages
xhprof_disable
xhprof_sample_disable
Xhprof Функции


Stops xhprof sample profiler

xhprof_enable
xhprof_sample_enable
Xhprof Функции
PHP Manual

xhprof_sample_disable

(PECL xhprof >= 0.9.0)

xhprof_sample_disable — Stops xhprof sample profiler

Описание

array xhprof_sample_disable ( void )

Stops the sample mode xhprof profiler, and

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of xhprof sample data, from the run.

Примеры

Пример #1 xhprof_sample_disable() example

<?php
xhprof_sample_enable();

for ($i = 0; $i <= 10000; $i++) {
    $a = strlen($i);
    $b = $i * $a;
    $c = rand();
}

$xhprof_data = xhprof_sample_disable();

print_r($xhprof_data);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [1272935300.800000] => main()
    [1272935300.900000] => main()
)
xhprof_enable
xhprof_sample_enable
Xhprof Функции


Description

xhprof_sample_disable
Обработка аудио форматов
Xhprof Функции
PHP Manual

xhprof_sample_enable

(PECL xhprof >= 0.9.0)

xhprof_sample_enable — Description

Описание

void xhprof_sample_enable ( void )

Starts profiling in sample mode, which is a lighter weight version of xhprof_enable(). The sampling interval is 0.1 seconds, and samples record the full function call stack. The main use case is when lower overhead is required when doing performance monitoring and diagnostics.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

NULL

Смотрите также

  • xhprof_sample_disable() - Stops xhprof sample profiler
  • xhprof_enable() - Start xhprof profiler
  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • getrusage() - Gets the current resource usages
xhprof_sample_disable
Обработка аудио форматов
Xhprof Функции


Обработка аудио форматов

  • ID3 — ID3 теги
    • Введение
    • Установка и настройка
    • Предопределённые константы
    • ID3
  • KTaglib
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • KTaglib_MPEG_File — The KTagLib_MPEG_File class
    • KTaglib_MPEG_AudioProperties — The KTaglib_MPEG_AudioProperties class
    • KTaglib_Tag — The KTaglib_Tag class
    • KTaglib_ID3v2_Tag — The KTagLib_ID3v2_Tag class
    • KTaglib_ID3v2_Frame — The KTagLib_ID3v2_Frame class
    • KTaglib_ID3v2_AttachedPictureFrame — The KTaglib_ID3v2_AttachedPictureFrame class
  • oggvorbis — OGG/Vorbis
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Context options
    • Примеры
  • OpenAL — OpenAL Audio Bindings
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • OpenAL Функции
xhprof_sample_enable
ID3
Справочник функций


ID3 теги

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределённые константы
  • ID3
    • id3_get_frame_long_name — Возвращает длинное имя ID3v2 кадра
    • id3_get_frame_short_name — Возвращает короткое имя ID3v2 кадра
    • id3_get_genre_id — Возвращает идентификатор жанра
    • id3_get_genre_list — Возвращает все возможные значения жанра
    • id3_get_genre_name — Возвращает имя по идентификатору жанра
    • id3_get_tag — Возвращает всю информацию, сохранённую в ID3-теге
    • id3_get_version — Возвращает версию ID3-тега
    • id3_remove_tag — Удаляет существующий ID3-тег
    • id3_set_tag — Обновляет информацию в ID3 теге
Обработка аудио форматов
Введение
Обработка аудио форматов


Введение

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

Начиная с версии 0.2 стало возможным извлекать текстовые кадры из ID3 тегов версии 2.2 и старше.

ID3
Установка и настройка
ID3


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ID3


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/id3.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Настройка во время выполнения
Предопределённые константы
Установка и настройка


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

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

ID3_V1_0 (integer)
ID3_V1_0 используется, если вы работаете с ID3 тегами версии 1.0. Эти теги могут содержать поля названия, исполнителя, альбома, жанра, года и комментария.
ID3_V1_1 (integer)
ID3_V1_1 используется, если вы работаете с ID3 тегами версии 1.1. Эти теги могут содержать информацию из тегов версии 1.0, а так же номер трека.
ID3_V2_1 (integer)
ID3_V2_1 используется, если вы работаете с тегами версии 2.1.
ID3_V2_2 (integer)
ID3_V2_2 используется, если вы работаете с тегами версии 2.2.
ID3_V2_3 (integer)
ID3_V2_3 используется, если вы работаете с тегами версии 2.3.
ID3_V2_4 (integer)
ID3_V2_4 используется, если вы работаете с тегами версии 2.4.
ID3_BEST (integer)
ID3_BEST используется, если вы хотите позволить функциям ID3 определять версию тега.

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


ID3
PHP Manual

ID3

Содержание

  • id3_get_frame_long_name — Возвращает длинное имя ID3v2 кадра
  • id3_get_frame_short_name — Возвращает короткое имя ID3v2 кадра
  • id3_get_genre_id — Возвращает идентификатор жанра
  • id3_get_genre_list — Возвращает все возможные значения жанра
  • id3_get_genre_name — Возвращает имя по идентификатору жанра
  • id3_get_tag — Возвращает всю информацию, сохранённую в ID3-теге
  • id3_get_version — Возвращает версию ID3-тега
  • id3_remove_tag — Удаляет существующий ID3-тег
  • id3_set_tag — Обновляет информацию в ID3 теге
Предопределённые константы
id3_get_frame_long_name
ID3
PHP Manual


Возвращает длинное имя ID3v2 кадра

ID3
id3_get_frame_short_name
ID3
PHP Manual

id3_get_frame_long_name

(PECL id3 >= 0.2)

id3_get_frame_long_name — Возвращает длинное имя ID3v2 кадра

Описание

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() возвращает длинное имя ID3v2 кадра.

Список параметров

frameId

кадр ID3v2

Возвращаемые значения

Возвращает длинное имя или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования id3_get_frame_long_name()

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

Результат выполнения данного примера:

Original lyricist(s)/text writer(s)

Смотрите также

  • id3_get_frame_short_name() - Возвращает короткое имя ID3v2 кадра

ID3
id3_get_frame_short_name
ID3


Возвращает короткое имя ID3v2 кадра

id3_get_frame_long_name
id3_get_genre_id
ID3
PHP Manual

id3_get_frame_short_name

(PECL id3 >= 0.2)

id3_get_frame_short_name — Возвращает короткое имя ID3v2 кадра

Описание

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name()возвращает короткое имя ID3v2 кадра.

Список параметров

frameId

ID3v2 кадр

Возвращаемые значения

Возвращает короткое имя кадра или FALSE в случае ошибки.

Значения, возвращаемые id3_get_frame_short_name() используются в массиве, возвращаемом функцией id3_get_tag().

Примеры

Пример #1 Пример использования id3_get_frame_short_name()

<?php
$shortName = id3_get_frame_short_name("TOLY");
echo $shortName;
?>

Результат выполнения данного примера:

originalLyricist

Смотрите также

  • id3_get_frame_long_name() - Возвращает длинное имя ID3v2 кадра

id3_get_frame_long_name
id3_get_genre_id
ID3


Возвращает идентификатор жанра

id3_get_frame_short_name
id3_get_genre_list
ID3
PHP Manual

id3_get_genre_id

(PECL id3 >= 0.1)

id3_get_genre_id — Возвращает идентификатор жанра

Описание

int id3_get_genre_id ( string $genre )

id3_get_genre_id() возвращает идентификатор жанра.

Список параметров

genre

Название жанра в виде строки (string)

Возвращаемые значения

Идентификатор жанра или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования id3_get_genre_id()

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

Результат выполнения данного примера:

20

Смотрите также

  • id3_get_genre_name() - Возвращает имя по идентификатору жанра
  • id3_get_genre_list() - Возвращает все возможные значения жанра

id3_get_frame_short_name
id3_get_genre_list
ID3


Возвращает все возможные значения жанра

id3_get_genre_id
id3_get_genre_name
ID3
PHP Manual

id3_get_genre_list

(PECL id3 >= 0.1)

id3_get_genre_list — Возвращает все возможные значения жанра

Описание

array id3_get_genre_list ( void )

id3_get_genre_list() возвращает массив, содержащий все возможные значения жанра, которые может содержать ID3-тег. Этот список был создан Эриком Кэмпом и познее раширен WinAmp'ом.

Эта функция полезна, чтобы предоставить пользователям список жанров, из которого они могут выбрать один. Обновляя ID3-тег, вы должны определить жанр как число в интервале от 0 до 147.

Возвращаемые значения

Возвращает массив, содержащий все возможные значения жанра, которые может содержать ID3-тег.

Примеры

Пример #1 Пример использования id3_get_genre_list()

<?php
$genres = id3_get_genre_list();
print_r($genres);
?>

Результат выполнения данного примера:

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

Смотрите также

  • id3_get_genre_name() - Возвращает имя по идентификатору жанра
  • id3_get_genre_id() - Возвращает идентификатор жанра

id3_get_genre_id
id3_get_genre_name
ID3


Возвращает имя по идентификатору жанра

id3_get_genre_list
id3_get_tag
ID3
PHP Manual

id3_get_genre_name

(PECL id3 >= 0.1)

id3_get_genre_name — Возвращает имя по идентификатору жанра

Описание

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() возвращает имя по идентификатору жанра.

Список параметров

genre_id

Число в интервале от 0 до 147

Возвращаемые значения

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

Примеры

Пример #1 Пример использования id3_get_genre_name()

<?php
$genre = id3_get_genre_name(20);
echo $genre;
?>

Результат выполнения данного примера:

Alternative

Смотрите также

  • id3_get_genre_list() - Возвращает все возможные значения жанра
  • id3_get_genre_id() - Возвращает идентификатор жанра

id3_get_genre_list
id3_get_tag
ID3


Возвращает всю информацию, сохранённую в ID3-теге

id3_get_genre_name
id3_get_version
ID3
PHP Manual

id3_get_tag

(PECL id3 >= 0.1)

id3_get_tag — Возвращает всю информацию, сохранённую в ID3-теге

Описание

array id3_get_tag ( string $filename [, int $version = ID3_BEST ] )

id3_get_tag() используется для получения всей информации, хранящейся в ID3-теге данного файла.

Список параметров

filename

Путь к MP3-файлу

Вместо имени файла можно передать потоковый ресурс

version

Позволяет определять версию ID3-тега, так как MP3-файл может содержать теги версии 1.х и 1.2.

Начиная с версии 0.2 id3_get_tag() также поддерживает ID3-теги версии 2.2, 2.3 и 2.4. Для извлечения информации из этих тегов, передайте одну из констант ID3_V2_2, ID3_V2_3 или ID3_V2_4 вторым параметром. Теги ID3 версии 2.х может содержать больше информации об MP3-файле, чем теги версии 1.х.

Возвращаемые значения

Возвращает ассоциативный массив с различными ключами: title, artist, ..

Ключ genre содержит число в интервале от 0 до 147. Вы можете использовать функцию id3_get_genre_name() для получения текстового названия жанра.

Примеры

Пример #1 Пример использования id3_get_tag()

<?php
$tag = id3_get_tag( "path/to/example.mp3" );
print_r($tag);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

Пример #2 Пример использования id3_get_tag()

<?php
$tag = id3_get_tag( "path/to/example2.mp3", ID3_V2_3 );
print_r($tag);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus Götze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

Смотрите также

  • id3_set_tag() - Обновляет информацию в ID3 теге
  • id3_remove_tag() - Удаляет существующий ID3-тег
  • id3_get_version() - Возвращает версию ID3-тега

id3_get_genre_name
id3_get_version
ID3


Возвращает версию ID3-тега

id3_get_tag
id3_remove_tag
ID3
PHP Manual

id3_get_version

(PECL id3 >= 0.1)

id3_get_version — Возвращает версию ID3-тега

Описание

int id3_get_version ( string $filename )

id3_get_version() Возвращает версию (версии) ID3-тега(тегов) в MP3-файле.

Если файл содержит ID3-тег версии 1.1, он всегда содержит тег версии 1.0, так как версия 1.1 является расширением версии 1.0.

Список параметров

filename

Путь к MP3 файлу.

Вместо имени файла можно передать потоковый ресурс

Возвращаемые значения

Возвращает номер версии ID3-тега MP3-файла. Так как тег может содержать ID3-теги версии 1.х и 2.х, значение, возвращённое функцией, следует побитово сравнить с предопределёнными константами ID3_V1_0, ID3_V1_1 и ID3_V2.

Примеры

Пример #1 Примеры использования id3_get_version()

<?php
$version = id3_get_version( "path/to/example.mp3" );
if ($version & ID3_V1_0) {
    echo "Содержит 1.x тэг\n";
}
if ($version & ID3_V1_1) {
    echo "Содержит 1.1 тэг\n";
}
if ($version & ID3_V2) {
    echo "Содержит 2.x тэг\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Содержит 1.x тэг
Содержит 1.1 тэг

Смотрите также

  • id3_set_tag() - Обновляет информацию в ID3 теге
  • id3_get_tag() - Возвращает всю информацию, сохранённую в ID3-теге
  • id3_remove_tag() - Удаляет существующий ID3-тег

id3_get_tag
id3_remove_tag
ID3


Удаляет существующий ID3-тег

id3_get_version
id3_set_tag
ID3
PHP Manual

id3_remove_tag

(PECL id3 >= 0.1)

id3_remove_tag — Удаляет существующий ID3-тег

Описание

bool id3_remove_tag ( string $filename [, int $version = ID3_V1_0 ] )

id3_remove_tag() используется для удаления ID3-тега.

Список параметров

filename

Путь к MP3-файлу

Вместо имени файла можно передать потоковый ресурс

version

Позволяет определять версию ID3-тега, так как MP3-файл может содержать теги версии 1.х и 1.2.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 id3_remove_tag() example

<?php
$result = id3_remove_tag( "path/to/example.mp3", ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully removed\n";
}
?>

Если файл доступен для записи и содержит тег версии 1.0, то вывод будет следующим:

Tag succesfully removed

Примечания

Замечание: В настоящее время функция id3_remove_tag() поддерживает только теги версии 1.0 и 1.1. Если вы выберете для удаления тег версии 1.0, а файл содержит тег версии 1.1, то тег будет удалён, так как версия 1.1 является расширением версии 1.0.

Смотрите также

  • id3_set_tag() - Обновляет информацию в ID3 теге
  • id3_get_tag() - Возвращает всю информацию, сохранённую в ID3-теге
  • id3_get_version() - Возвращает версию ID3-тега

id3_get_version
id3_set_tag
ID3


Обновляет информацию в ID3 теге

id3_remove_tag
KTaglib
ID3
PHP Manual

id3_set_tag

(PECL id3 >= 0.1)

id3_set_tag — Обновляет информацию в ID3 теге

Описание

bool id3_set_tag ( string $filename , array $tag [, int $version = ID3_V1_0 ] )

id3_set_tag() используется для изменения информации, сохранённой в ID3 теге. Если тег отстутствует, он будет добавлен в файл.

Список параметров

filename

Путь к MP3 файлу

Вместо имени файла можно передать потоковый ресурс

tag

Ассоциативный массив ключей и значений тега.

Следующие ключи могут быть использованы в ассоциативном массиве:

Ключи в ассоциативном массиве
ключ | возможные значения | доступен с версии
title | строка длиной максимум 30 символов | v1.0, v1.1
artist | строка длиной максимум 30 символов | v1.0, v1.1
album | строка длиной максимум 30 символов | v1.0, v1.1
year | 4 цифры | v1.0, v1.1
genre | число в интервале от 0 до 147 | v1.0, v1.1
comment | строка длиной максимум 30 символов (30 в v1.1) | v1.0, v1.1
track | целое число в интервале от 0 до 255 | v1.1

version

Позволяет определять версию ID3 тега, так как MP3 файл может содержать теги версии 1.х и 1.2.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования id3_set_tag()

<?php
$data = array(
              "title" => "Re:Начало",
              "artist" => "Re:\Легион",
              "comment" => "Прекрасный трек"
             );
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "Тег успешно обновлен\n";
}
?>

Если файл доступен для записи и содержит тег версии 1.0, то вывод будет следующим:

Тег успешно обновлен

Примечания

Замечание: В настоящее время функция id3_set_tag() поддерживает только версию 1.0 и 1.1.

Смотрите также

  • id3_remove_tag() - Удаляет существующий ID3-тег
  • id3_get_tag() - Возвращает всю информацию, сохранённую в ID3-теге
  • id3_get_version() - Возвращает версию ID3-тега

id3_remove_tag
KTaglib
ID3


KTaglib

  • Введение
  • Установка и настройка
    • Требования
    • Установка
  • Предопределенные константы
  • KTaglib_MPEG_File — The KTagLib_MPEG_File class
    • KTaglib_MPEG_File::__construct — Opens a new file
    • KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties
    • KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag
    • KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object
  • KTaglib_MPEG_AudioProperties — The KTaglib_MPEG_AudioProperties class
    • KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file
    • KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file
    • KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file
    • KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file
    • KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the length of a MPEG file
    • KTaglib_MPEG_AudioProperties::isOriginal — Returns the length of a MPEG file
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns the length of a MPEG file
  • KTaglib_Tag — The KTaglib_Tag class
    • KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag
    • KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag
    • KTaglib_Tag::getComment — Returns the comment from a ID3 tag
    • KTaglib_Tag::getGenre — Returns the genre from a ID3 tag
    • KTaglib_Tag::getTitle — Returns the title string from a ID3 tag
    • KTaglib_Tag::getTrack — Returns the track number from a ID3 tag
    • KTaglib_Tag::getYear — Returns the year from a ID3 tag
    • KTaglib_Tag::isEmpty — Returns true if the tag is empty
  • KTaglib_ID3v2_Tag — The KTagLib_ID3v2_Tag class
    • KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag
    • KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag
  • KTaglib_ID3v2_Frame — The KTagLib_ID3v2_Frame class
    • KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes
    • KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame
  • KTaglib_ID3v2_AttachedPictureFrame — The KTaglib_ID3v2_AttachedPictureFrame class
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image
    • KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image
id3_set_tag
Введение
Обработка аудио форматов


Введение

KTaglib is an object oriented binding to the taglib library from the KDE project used in projects like Amarok to read and write ID3 and Ogg tags. The library also provides access to audio information. The bindings are designed usually follow the underlying C++ API, but were changed whenever there is a more PHP-like way.

Замечание:

At the moment ktaglib is able to read and write ID3v1 and ID3v2 tags.

KTaglib
Установка и настройка
KTaglib


Установка и настройка

Содержание

  • Требования
  • Установка
Введение
Требования
KTaglib


Требования

If you want to build ktaglib you need at least taglib 1.5 installed. To obtain the taglib see the » taglib project page. Windows DLL's are build static against taglib, therefore there is no need to have taglib installed.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ktaglib.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Предопределенные константы
Установка и настройка


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

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

KTaglib uses class constants. Most of the constants are mappings to the according Taglib enums and constants.

KTaglib_MPEG_Header::Version1 (integer)
ID3 version is 1.0
KTaglib_MPEG_Header::Version2 (integer)
ID3 version is 2.0
KTaglib_MPEG_Header::Version2_5 (integer)
ID3 version is 2.5
KTaglib_ID3v2_AttachedPictureFrame::Other (integer)
Picture type Other
KTaglib_ID3v2_AttachedPictureFrame::FileIcon (integer)
Picture type FileIcon
KTaglib_ID3v2_AttachedPictureFrame::OtherFileIcon (integer)
Picture type OtherFileIcon
KTaglib_ID3v2_AttachedPictureFrame::FrontCover (integer)
Picture type FrontCover
KTaglib_ID3v2_AttachedPictureFrame::BackCover (integer)
Picture type BackCover
KTaglib_ID3v2_AttachedPictureFrame::LeafletPage (integer)
Picture type LeafletPage
KTaglib_ID3v2_AttachedPictureFrame::Media (integer)
Picture type Media
KTaglib_ID3v2_AttachedPictureFrame::LeadArtist (integer)
Picture type LeadArtist
KTaglib_ID3v2_AttachedPictureFrame::Artist (integer)
Picture type Artist
KTaglib_ID3v2_AttachedPictureFrame::Conductor (integer)
Picture type Condutor
KTaglib_ID3v2_AttachedPictureFrame::Band (integer)
Picture type Band
KTaglib_ID3v2_AttachedPictureFrame::Composer (integer)
Picture type Composer
KTaglib_ID3v2_AttachedPictureFrame::Lyricist (integer)
Picture type Lyricist
KTaglib_ID3v2_AttachedPictureFrame::RecordingLocation (integer)
Picture type RecordingLocation
KTaglib_ID3v2_AttachedPictureFrame::DuringRecording (integer)
Picture type DuringRecording
KTaglib_ID3v2_AttachedPictureFrame::DuringPerformance (integer)
Picture type DuringPerformance
KTaglib_ID3v2_AttachedPictureFrame::MovieScreenCapture (integer)
Picture type MovieScreenCapture
KTaglib_ID3v2_AttachedPictureFrame::ColouredFish (integer)
Picture type ColouredFish
KTaglib_ID3v2_AttachedPictureFrame::Illustration (integer)
Picture type Illustration
KTaglib_ID3v2_AttachedPictureFrame::BandLogo (integer)
Picture type BandLogo
Установка
KTaglib_MPEG_File
KTaglib


The KTagLib_MPEG_File class

Введение

Represents an MPEG file. MPEG files can have ID3v1, ID3v2 tags and audio properties.

Class synopsis

KTagLib_MPEG_File {
}

Содержание

  • KTaglib_MPEG_File::__construct — Opens a new file
  • KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties
  • KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag
  • KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object
Предопределенные константы
KTaglib_MPEG_File::__construct
KTaglib


Opens a new file

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::__construct

(0.0.1)

KTaglib_MPEG_File::__construct — Opens a new file

Описание

KTaglib_MPEG_File::__construct() ( string $filename )

Opens a new MPEG file.

Список параметров

filename

The file to read

Примеры

Пример #1 Opens a new MP3 file and read the title

<?php
$mpeg = new KTaglib_MPEG_File('example.mp3');
echo $mpeg->getID3v1Tag()->getTitle();
?>

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File


Returns an object that provides access to the audio properties

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getAudioProperties

(0.0.1)

KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties

Описание

public KTaglib_MPEG_File: KTaglib_MPEG_File::getAudioProperties ( void )

Returns an object that provides access to the audio properties of the mpeg file.

Возвращаемые значения

Returns an KTaglib_MPEG_AudioProperties object or false.

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File


Returns an object representing an ID3v1 tag

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v1Tag

(0.0.1)

KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag

Описание

public KTaglib_ID3v1_Tag KTaglib_MPEG_File::getID3v1Tag ([ bool $create = false ] )

Returns an object that represents an ID3v1 tag, which can be used to get information about the ID3v1 tag.

Возвращаемые значения

Returns an KTaglib_MPEG_ID3v1Tag object or false if there is no ID3v1 tag.

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File


Returns a ID3v2 object

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v2Tag

(0.0.1)

KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object

Описание

public KTaglib_ID3v2_Tag KTaglib_MPEG_File::getID3v2Tag ([ bool $create = false ] )

Returns a ID3v2 object for the mpeg file. If no ID3v2 Tag is present, an KTaglib_TagNotFoundException is thrown.

Возвращаемые значения

Returns the KTaglib_ID3v2_Tag object of the MPEG file or false if there is no ID3v2 tag

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File


The KTaglib_MPEG_AudioProperties class

Введение

Represents the audio properties of a MPEG file, like length, bitrate or samplerate.

Class synopsis

KTaglib_MPEG_AudioProperties {
}

Содержание

  • KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file
  • KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file
  • KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file
  • KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file
  • KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file
  • KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file
  • KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the length of a MPEG file
  • KTaglib_MPEG_AudioProperties::isOriginal — Returns the length of a MPEG file
  • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns the length of a MPEG file
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_AudioProperties::getBitrate
KTaglib


Returns the bitrate of the MPEG file

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getBitrate ( void )

Returns the bitrate of the MPEG file

Возвращаемые значения

Returns the bitrate as an integer

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties


Returns the amount of channels of a MPEG file

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getChannels

(0.0.1)

KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getChannels ( void )

Returns the amount of channels of the MPEG file

Возвращаемые значения

Returns the channel count as an integer

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties


Returns the layer of a MPEG file

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLayer

(0.0.1)

KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getLayer ( void )

Returns the layer of the MPEG file (usually 3 for MP3).

Возвращаемые значения

Returns the layer as an integer

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties


Returns the length of a MPEG file

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLength

(0.0.1)

KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getLength ( void )

Returns the length of the MPEG file

Возвращаемые значения

Returns the length as an integer

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties


Returns the sample bitrate of a MPEG file

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getSampleBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )

Returns the sample bitrate of the MPEG file

Возвращаемые значения

Returns the sample bitrate as an integer

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties


Returns the version of a MPEG file

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getVersion

(0.0.1)

KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file

Описание

public int KTaglib_MPEG_AudioProperties::getVersion ( void )

Returns the version of the MPEG file header. The possible versions are defined in Tag_MPEG_Header (Version1, Version2, Version2.5).

Возвращаемые значения

Returns the version

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties


Returns the length of a MPEG file

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isCopyrighted

(0.0.1)

KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the length of a MPEG file

Описание

public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )

Returns true if the MPEG file is copyrighted

Возвращаемые значения

Returns true if the MPEG file is copyrighted

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties


Returns the length of a MPEG file

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isOriginal

(0.0.1)

KTaglib_MPEG_AudioProperties::isOriginal — Returns the length of a MPEG file

Описание

public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )

Returns true if the file is marked as the original file

Возвращаемые значения

Returns true if the file is marked as the original file

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties


Returns the length of a MPEG file

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isProtectionEnabled

(0.0.1)

KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns the length of a MPEG file

Описание

public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )

Returns true if protection mechanism (like DRM) are enabled for this file

Возвращаемые значения

Returns true if protection mechanism (like DRM) are enabled for this file

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties


The KTaglib_Tag class

Введение

Base class for ID3v1 or ID3v2 tags

Class synopsis

KTaglib_Tag {
}

Содержание

  • KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag
  • KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag
  • KTaglib_Tag::getComment — Returns the comment from a ID3 tag
  • KTaglib_Tag::getGenre — Returns the genre from a ID3 tag
  • KTaglib_Tag::getTitle — Returns the title string from a ID3 tag
  • KTaglib_Tag::getTrack — Returns the track number from a ID3 tag
  • KTaglib_Tag::getYear — Returns the year from a ID3 tag
  • KTaglib_Tag::isEmpty — Returns true if the tag is empty
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_Tag::getAlbum
KTaglib


Returns the title string from a ID3 tag

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag
PHP Manual

KTaglib_Tag::getAlbum

(0.0.1)

KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag

Описание

public string KTaglib_Tag::getAlbum ( void )

Returns the album string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the album string

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag


Returns the artist string from a ID3 tag

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag
PHP Manual

KTaglib_Tag::getArtist

(0.0.1)

KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag

Описание

public string KTaglib_Tag::getArtist ( void )

Returns the artist string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the artist string

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag


Returns the comment from a ID3 tag

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag
PHP Manual

KTaglib_Tag::getComment

(0.0.1)

KTaglib_Tag::getComment — Returns the comment from a ID3 tag

Описание

public string KTaglib_Tag::getComment ( void )

Returns the comment of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the comment string

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag


Returns the genre from a ID3 tag

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag
PHP Manual

KTaglib_Tag::getGenre

(0.0.1)

KTaglib_Tag::getGenre — Returns the genre from a ID3 tag

Описание

public string KTaglib_Tag::getGenre ( void )

Returns the genre of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the genre string

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag


Returns the title string from a ID3 tag

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTitle

(0.0.1)

KTaglib_Tag::getTitle — Returns the title string from a ID3 tag

Описание

public string KTaglib_Tag::getTitle ( void )

Returns the title string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the title string

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag


Returns the track number from a ID3 tag

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTrack

(0.0.1)

KTaglib_Tag::getTrack — Returns the track number from a ID3 tag

Описание

public int KTaglib_Tag::getTrack ( void )

Returns the track number of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the track number as an integer

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag


Returns the year from a ID3 tag

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag
PHP Manual

KTaglib_Tag::getYear

(0.0.1)

KTaglib_Tag::getYear — Returns the year from a ID3 tag

Описание

public int KTaglib_Tag::getYear ( void )

Returns the year of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns the year as an integer

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag


Returns true if the tag is empty

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag
PHP Manual

KTaglib_Tag::isEmpty

(0.0.1)

KTaglib_Tag::isEmpty — Returns true if the tag is empty

Описание

public bool KTaglib_Tag::isEmpty ( void )

Returns true if the tag exists, but is empty. This method is implemented in ID3v1 and ID3v2 tags.

Возвращаемые значения

Returns true if the tag is empty, otherwise false.

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag


The KTagLib_ID3v2_Tag class

Введение

Represents and ID3v2 tag. It provides a list of ID3v2 frames and can be used to add and remove additional frames.

Class synopsis

extends KTagLib_Tag {
}

Содержание

  • KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag
  • KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag
KTaglib_Tag::isEmpty
KTaglib_ID3v2_Tag::addFrame
KTaglib


Add a frame to the ID3v2 tag

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::addFrame

(0.0.1)

KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag

Описание

public bool KTaglib_ID3v2_Tag::addFrame ( KTagLib_ID3v2_Frame $frame )

Adds a frame to the ID3v2 tag. The frame must be a valid KTagLib_ID3v2_Frame object. To save the tag, the save function needs to be invoked.

Возвращаемые значения

Returns true on success, otherwise false.

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag


Returns an array of ID3v2 frames, associated with the ID3v2 tag

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::getFrameList

(0.0.1)

KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag

Описание

public array KTaglib_ID3v2_Tag::getFrameList ( void )

Returns an array of ID3v2 frames, associated with the ID3v2 tag.

Возвращаемые значения

Return an array of KTaglib_ID3v2_Frame objects

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag


The KTagLib_ID3v2_Frame class

Введение

The base class for ID3v2 frames. ID3v2 tags are separated in various specialized frames. Some frames can exists multiple times.

Class synopsis

extends KTagLib_Tag {
}

Содержание

  • KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes
  • KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Frame::getSize
KTaglib


Returns the size of the frame in bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::getSize

(0.0.1)

KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes

Описание

public int KTaglib_ID3v2_Frame::getSize ( void )

Returns the size of the frame in bytes. Please refer to id3.org to see what ID3v2 frames are and how they are defined.

Возвращаемые значения

Returns the size of the frame in bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame


Returns a string representation of the frame

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::__toString

(0.0.1)

KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame

Описание

public string KTaglib_ID3v2_Frame::__toString ( void )

Returns a string representation of the frame. This might be just the frame id, but might contain more information. Please see the ktaglib documentation for more information

Возвращаемые значения

Returns a string representation of the frame.

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame


The KTaglib_ID3v2_AttachedPictureFrame class

Введение

Represents an ID3v2 frame that can hold a picture.

Class synopsis

extends KTagLib_ID3v2_Frame {
}

Содержание

  • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame
  • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture
  • KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image
  • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file
  • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture
  • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image
  • KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib


Returns a description for the picture in a picture frame

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getDescription

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame

Описание

public string KTaglib_ID3v2_AttachedPictureFrame::getDescription ( void )

Returns the attached description for a picture frame in an ID3v2.x frame.

Возвращаемые значения

Returns a description for the picture in a picture frame

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame


Returns the mime type of the picture

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture

Описание

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( void )

Returns the mime type of the image represented by the attached picture frame.

Please notice that this method might return different types. While ID3v2.2 have a mime type that doesn't start with "image/", ID3v2.3 and v2.4 usually start with "image/". Therefore the method might return "image/png" for IDv2.3 frames and just "PNG" for ID3v2.2 frames.

Notice that even the frame is an attached picture, the mime type might not be set and therefore an empty string might be returned.

Возвращаемые значения

Returns the mime type of the image represented by the attached picture frame.

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame


Returns the type of the image

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image

Описание

public int KTaglib_ID3v2_AttachedPictureFrame::getType ( void )

Returns the type of the image.

The ID3v2 specification allows an AttachedPictureFrame to set the type of an image. This can be e.g. FrontCover or FileIcon. Please refer to the KTagLib_ID3v2_AttachedPictureFrame class description for a list of available types.

Возвращаемые значения

Returns the integer representation of the type.

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame


Saves the picture to a file

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::savePicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file

Описание

public bool KTaglib_ID3v2_AttachedPictureFrame::savePicture ( string $filename )

Saves the attached picture to the given filename.

Возвращаемые значения

Returns true on success, otherwise false

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame


Set's the mime type of the picture

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture

Описание

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( string $type )

Sets the mime type of the image. This should in most cases be "image/png" or "image/jpeg".

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame


Sets the frame picture to the given image

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setPicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image

Описание

public void KTaglib_ID3v2_AttachedPictureFrame::setPicture ( string $filename )

Sets the picture to the give image. The image is loaded from the given filename. Please note that the picture is not saved unless you call the save method of the corresponding file object.

Возвращаемые значения

Returns true on success, otherwise false

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame


Set the type of the image

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image

Описание

public void KTaglib_ID3v2_AttachedPictureFrame::setType ( int $type )

Sets the type of the image. This can be e.g. FrontCover or FileIcon. Please refer to the KTaglib_ID3v2_AttachedPictureFrame class description for a list of available types and their constant mappings.

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame


OGG/Vorbis

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Context options
  • Примеры
    • Examples on using the ogg:// wrapper.
KTaglib_ID3v2_AttachedPictureFrame::setType
Введение
Обработка аудио форматов


Введение

The OGG/Vorbis file format, as defined by » http://www.vorbis.com/, is a scheme for compressing audio streams by multiple factors with a minimum of quality loss. This extension adds Ogg Vorbis support to PHP's URL Wrappers. When used in read mode, compressed OGG/Vorbis data is expanded to raw PCM audio in one of six PCM encoding formats listed below.

oggvorbis
Установка и настройка
oggvorbis


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
oggvorbis


Требования

This extension requires PHP >= 4.3.0, » libogg >= 1.0, and » libvorbis >= 1.0.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/oggvorbis

Требования
Настройка во время выполнения
Установка и настройка


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

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

OGG/Vorbis supports PCM encodings in the following formats
Constant | Definition
OGGVORBIS_PCM_U8 | Unsigned 8-bit PCM.
OGGVORBIS_PCM_S8 | Signed 8-bit PCM.
OGGVORBIS_PCM_U16_LE | Unsigned 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_U16_BE | Unsigned 16-bit PCM. Big Endian byte order.
OGGVORBIS_PCM_S16_LE | Signed 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_S16_BE | Signed 16-bit PCM. Big Endian byte order.
Типы ресурсов
Context options
oggvorbis


Context options

OGG/Vorbis tuning options
Option | Definition | Relevance | Default
pcm_mode | PCM byte encoding used. See constants below. | Read / Write | OGGVORBIS_PCM_S16_LE
rate | PCM Sampling rate. Measured in Hz. | Write only | 44100
bitrate | Vorbis Average Bitrate Encoding / Variable Bitrate Encoding. Measured in bps (ABR) or Quality level (VBR: 0.0 to 1.0). 128000 ABR is rough equal to 0.4 VBR. | Write only | 128000
channels | Number of PCM channels. 1 == Mono, 2 == Stereo. | Write only | 2
serialno | Serial Number of stream within file. Must be unique within file. Because of the potential to select a duplicate serial number within a chained file, make efforts to manually assign unique numbers when encoding. | Write only | Random
comments | Associative array of file comments. Will be translated to strtoupper($name) . "=$value". Note: This context option is not available in oggvorbis-0.1 | Write only | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')
Предопределенные константы
Примеры
oggvorbis


Примеры

Содержание

  • Examples on using the ogg:// wrapper.
Context options
Examples on using the ogg:// wrapper.
oggvorbis


Examples on using the ogg:// wrapper.

Пример #1 Reading an OGG/Vorbis file

<?php
dl("oggvorbis.so");

/* By default, ogg:// will decode to Signed 16-bit Little Endian */
$fp = fopen('ogg://myaudio.ogg', 'r');

/* Collect some information about the file. */
$metadata = stream_get_meta_data($fp);

/* Inspect the first song (usually the only song,
   but OGG/Vorbis files may be chained) */
$songdata = $metadata['wrapper_data'][0];

echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n.";
echo "  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n";
foreach($songdata['comments'] as $comment) {
    echo "  $comment\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Do something with the PCM audio we're extracting from the OGG.
     Copying to /dev/dsp is a good target on linux systems,
     just remember to setup the device for your sampling mode first. */
}

fclose($fp);

?>

Пример #2 Encode an audio file to OGG/Vorbis

<?php
dl('oggvorbis.so');

$context = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* Signed 8bit audio */
             'rate' => 44100,                 /* 44kHz CD quality */
             'bitrate' => 0.5,                /* Midquality VBR */
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* Unique within our stream */

/* Open file for appending.  This will "chain" a second OGG stream at the end of the first. */
$ogg = fopen('ogg://mysong.ogg', 'a', false, $context);

$pcm = fopen('mysample.pcm', 'r');

/* Compress the raw PCM audio from mysample.pcm into mysong.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

Примеры
OpenAL
Примеры


OpenAL Audio Bindings

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • OpenAL Функции
    • openal_buffer_create — Generate OpenAL buffer
    • openal_buffer_data — Load a buffer with data
    • openal_buffer_destroy — Destroys an OpenAL buffer
    • openal_buffer_get — Retrieve an OpenAL buffer property
    • openal_buffer_loadwav — Load a .wav file into a buffer
    • openal_context_create — Create an audio processing context
    • openal_context_current — Make the specified context current
    • openal_context_destroy — Destroys a context
    • openal_context_process — Process the specified context
    • openal_context_suspend — Suspend the specified context
    • openal_device_close — Close an OpenAL device
    • openal_device_open — Initialize the OpenAL audio layer
    • openal_listener_get — Retrieve a listener property
    • openal_listener_set — Set a listener property
    • openal_source_create — Generate a source resource
    • openal_source_destroy — Destroy a source resource
    • openal_source_get — Retrieve an OpenAL source property
    • openal_source_pause — Pause the source
    • openal_source_play — Start playing the source
    • openal_source_rewind — Rewind the source
    • openal_source_set — Set source property
    • openal_source_stop — Stop playing the source
    • openal_stream — Begin streaming on a source
Examples on using the ogg:// wrapper.
Введение
Обработка аудио форматов


Введение

Platform independent audio bindings. Requires the » OpenAL library.

OpenAL
Установка и настройка
OpenAL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
OpenAL


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/openal.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

ALC_FREQUENCY (integer)
Context Attribute
ALC_REFRESH (integer)
Context Attribute
ALC_SYNC (integer)
Context Attribute
AL_FREQUENCY (integer)
Buffer Setting
AL_BITS (integer)
Buffer Setting
AL_CHANNELS (integer)
Buffer Setting
AL_SIZE (integer)
Buffer Setting
AL_BUFFER (integer)
Source/Listener Setting (Integer)
AL_SOURCE_RELATIVE (integer)
Source/Listener Setting (Integer)
AL_SOURCE_STATE (integer)
Source/Listener Setting (Integer)
AL_PITCH (integer)
Source/Listener Setting (Float)
AL_GAIN (integer)
Source/Listener Setting (Float)
AL_MIN_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_DISTANCE (integer)
Source/Listener Setting (Float)
AL_ROLLOFF_FACTOR (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_GAIN (integer)
Source/Listener Setting (Float)
AL_CONE_INNER_ANGLE (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_ANGLE (integer)
Source/Listener Setting (Float)
AL_REFERENCE_DISTANCE (integer)
Source/Listener Setting (Float)
AL_POSITION (integer)
Source/Listener Setting (Float Vector)
AL_VELOCITY (integer)
Source/Listener Setting (Float Vector)
AL_DIRECTION (integer)
Source/Listener Setting (Float Vector)
AL_ORIENTATION (integer)
Source/Listener Setting (Float Vector)
AL_FORMAT_MONO8 (integer)
PCM Format
AL_FORMAT_MONO16 (integer)
PCM Format
AL_FORMAT_STEREO8 (integer)
PCM Format
AL_FORMAT_STEREO16 (integer)
PCM Format
AL_INITIAL (integer)
Source State
AL_PLAYING (integer)
Source State
AL_PAUSED (integer)
Source State
AL_STOPPED (integer)
Source State
AL_LOOPING (integer)
Source State
AL_TRUE (integer)
Boolean value recognized by OpenAL
AL_FALSE (integer)
Boolean value recognized by OpenAL
Типы ресурсов
OpenAL Функции
OpenAL


OpenAL Функции

Содержание

  • openal_buffer_create — Generate OpenAL buffer
  • openal_buffer_data — Load a buffer with data
  • openal_buffer_destroy — Destroys an OpenAL buffer
  • openal_buffer_get — Retrieve an OpenAL buffer property
  • openal_buffer_loadwav — Load a .wav file into a buffer
  • openal_context_create — Create an audio processing context
  • openal_context_current — Make the specified context current
  • openal_context_destroy — Destroys a context
  • openal_context_process — Process the specified context
  • openal_context_suspend — Suspend the specified context
  • openal_device_close — Close an OpenAL device
  • openal_device_open — Initialize the OpenAL audio layer
  • openal_listener_get — Retrieve a listener property
  • openal_listener_set — Set a listener property
  • openal_source_create — Generate a source resource
  • openal_source_destroy — Destroy a source resource
  • openal_source_get — Retrieve an OpenAL source property
  • openal_source_pause — Pause the source
  • openal_source_play — Start playing the source
  • openal_source_rewind — Rewind the source
  • openal_source_set — Set source property
  • openal_source_stop — Stop playing the source
  • openal_stream — Begin streaming on a source
Предопределенные константы
openal_buffer_create
OpenAL


Generate OpenAL buffer

OpenAL Функции
openal_buffer_data
OpenAL Функции
PHP Manual

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Generate OpenAL buffer

Описание

resource openal_buffer_create ( void )

Возвращаемые значения

Returns an Open AL(Buffer) resource on success or FALSE on failure.

Смотрите также

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_buffer_data() - Load a buffer with data

OpenAL Функции
openal_buffer_data
OpenAL Функции


Load a buffer with data

openal_buffer_create
openal_buffer_destroy
OpenAL Функции
PHP Manual

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Load a buffer with data

Описание

bool openal_buffer_data ( resource $buffer , int $format , string $data , int $freq )

Список параметров

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 и AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_stream() - Begin streaming on a source

openal_buffer_create
openal_buffer_destroy
OpenAL Функции


Destroys an OpenAL buffer

openal_buffer_data
openal_buffer_get
OpenAL Функции
PHP Manual

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Destroys an OpenAL buffer

Описание

bool openal_buffer_destroy ( resource $buffer )

Список параметров

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_buffer_create() - Generate OpenAL buffer

openal_buffer_data
openal_buffer_get
OpenAL Функции


Retrieve an OpenAL buffer property

openal_buffer_destroy
openal_buffer_loadwav
OpenAL Функции
PHP Manual

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Retrieve an OpenAL buffer property

Описание

int openal_buffer_get ( resource $buffer , int $property )

Список параметров

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS и AL_SIZE.

Возвращаемые значения

Returns an integer value appropriate to the property requested или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_buffer_create() - Generate OpenAL buffer

openal_buffer_destroy
openal_buffer_loadwav
OpenAL Функции


Load a .wav file into a buffer

openal_buffer_get
openal_context_create
OpenAL Функции
PHP Manual

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Load a .wav file into a buffer

Описание

bool openal_buffer_loadwav ( resource $buffer , string $wavfile )

Список параметров

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .wav file on local file system.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_buffer_data() - Load a buffer with data
  • openal_stream() - Begin streaming on a source

openal_buffer_get
openal_context_create
OpenAL Функции


Create an audio processing context

openal_buffer_loadwav
openal_context_current
OpenAL Функции
PHP Manual

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Create an audio processing context

Описание

resource openal_context_create ( resource $device )

Список параметров

device

An Open AL(Device) resource (previously created by openal_device_open()).

Возвращаемые значения

Returns an Open AL(Context) resource on success or FALSE on failure.

Смотрите также

  • openal_device_open() - Initialize the OpenAL audio layer
  • openal_context_destroy() - Destroys a context

openal_buffer_loadwav
openal_context_current
OpenAL Функции


Make the specified context current

openal_context_create
openal_context_destroy
OpenAL Функции
PHP Manual

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Make the specified context current

Описание

bool openal_context_current ( resource $context )

Список параметров

context

An Open AL(Context) resource (previously created by openal_context_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_context_create() - Create an audio processing context

openal_context_create
openal_context_destroy
OpenAL Функции


Destroys a context

openal_context_current
openal_context_process
OpenAL Функции
PHP Manual

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Destroys a context

Описание

bool openal_context_destroy ( resource $context )

Список параметров

context

An Open AL(Context) resource (previously created by openal_context_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_context_create() - Create an audio processing context

openal_context_current
openal_context_process
OpenAL Функции


Process the specified context

openal_context_destroy
openal_context_suspend
OpenAL Функции
PHP Manual

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Process the specified context

Описание

bool openal_context_process ( resource $context )

Список параметров

context

An Open AL(Context) resource (previously created by openal_context_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_suspend() - Suspend the specified context

openal_context_destroy
openal_context_suspend
OpenAL Функции


Suspend the specified context

openal_context_process
openal_device_close
OpenAL Функции
PHP Manual

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspend the specified context

Описание

bool openal_context_suspend ( resource $context )

Список параметров

context

An Open AL(Context) resource (previously created by openal_context_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_process() - Process the specified context

openal_context_process
openal_device_close
OpenAL Функции


Close an OpenAL device

openal_context_suspend
openal_device_open
OpenAL Функции
PHP Manual

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Close an OpenAL device

Описание

bool openal_device_close ( resource $device )

Список параметров

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_device_open() - Initialize the OpenAL audio layer

openal_context_suspend
openal_device_open
OpenAL Функции


Initialize the OpenAL audio layer

openal_device_close
openal_listener_get
OpenAL Функции
PHP Manual

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Initialize the OpenAL audio layer

Описание

resource openal_device_open ([ string $device_desc ] )

Список параметров

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

Возвращаемые значения

Returns an Open AL(Device) resource on success or FALSE on failure.

Смотрите также

  • openal_device_close() - Close an OpenAL device
  • openal_context_create() - Create an audio processing context

openal_device_close
openal_listener_get
OpenAL Функции


Retrieve a listener property

openal_device_open
openal_listener_set
OpenAL Функции
PHP Manual

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Retrieve a listener property

Описание

mixed openal_listener_get ( int $property )

Список параметров

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) и
AL_ORIENTATION (array(float,float,float)).

Возвращаемые значения

Returns a float or array of floats (as appropriate) или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_listener_set() - Set a listener property

openal_device_open
openal_listener_set
OpenAL Функции


Set a listener property

openal_listener_get
openal_source_create
OpenAL Функции
PHP Manual

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Set a listener property

Описание

bool openal_listener_set ( int $property , mixed $setting )

Список параметров

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) и
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_listener_get() - Retrieve a listener property

openal_listener_get
openal_source_create
OpenAL Функции


Generate a source resource

openal_listener_set
openal_source_destroy
OpenAL Функции
PHP Manual

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Generate a source resource

Описание

resource openal_source_create ( void )

Возвращаемые значения

Returns an Open AL(Source) resource on success or FALSE on failure.

Смотрите также

  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source
  • openal_source_destroy() - Destroy a source resource

openal_listener_set
openal_source_destroy
OpenAL Функции


Destroy a source resource

openal_source_create
openal_source_get
OpenAL Функции
PHP Manual

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Destroy a source resource

Описание

bool openal_source_destroy ( resource $source )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_create() - Generate a source resource

openal_source_create
openal_source_get
OpenAL Функции


Retrieve an OpenAL source property

openal_source_destroy
openal_source_pause
OpenAL Функции
PHP Manual

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Retrieve an OpenAL source property

Описание

mixed openal_source_get ( resource $source , int $property )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Возвращаемые значения

Returns the type associated with the property being retrieved или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_create() - Generate a source resource
  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source

openal_source_destroy
openal_source_pause
OpenAL Функции


Pause the source

openal_source_get
openal_source_play
OpenAL Функции
PHP Manual

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Pause the source

Описание

bool openal_source_pause ( resource $source )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_stop() - Stop playing the source
  • openal_source_play() - Start playing the source
  • openal_source_rewind() - Rewind the source

openal_source_get
openal_source_play
OpenAL Функции


Start playing the source

openal_source_pause
openal_source_rewind
OpenAL Функции
PHP Manual

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Start playing the source

Описание

bool openal_source_play ( resource $source )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source

openal_source_pause
openal_source_rewind
OpenAL Функции


Rewind the source

openal_source_play
openal_source_set
OpenAL Функции
PHP Manual

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Rewind the source

Описание

bool openal_source_rewind ( resource $source )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_play() - Start playing the source

openal_source_play
openal_source_set
OpenAL Функции


Set source property

openal_source_rewind
openal_source_stop
OpenAL Функции
PHP Manual

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Set source property

Описание

bool openal_source_set ( resource $source , int $property , mixed $setting )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_create() - Generate a source resource
  • openal_source_get() - Retrieve an OpenAL source property
  • openal_source_play() - Start playing the source

openal_source_rewind
openal_source_stop
OpenAL Функции


Stop playing the source

openal_source_set
openal_stream
OpenAL Функции
PHP Manual

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Stop playing the source

Описание

bool openal_source_stop ( resource $source )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_play() - Start playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source

openal_source_set
openal_stream
OpenAL Функции


Begin streaming on a source

openal_source_stop
Службы аутентификации
OpenAL Функции
PHP Manual

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Begin streaming on a source

Описание

resource openal_stream ( resource $source , int $format , int $rate )

Список параметров

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 и AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

Возвращаемые значения

Returns a stream resource on success или FALSE в случае возникновения ошибки.

Смотрите также

  • openal_source_create() - Generate a source resource
  • fwrite() - Бинарно-безопасная запись в файл

openal_source_stop
Службы аутентификации
OpenAL Функции


Службы аутентификации

  • KADM5 — Kerberos V
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • KADM5 Функции
  • Radius
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Radius Функции
openal_stream
KADM5
Справочник функций


Kerberos V

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Constants for Attribute Flags
    • Constants for Options
  • Примеры
    • Basic usage
  • KADM5 Функции
    • kadm5_chpass_principal — Changes the principal's password
    • kadm5_create_principal — Creates a kerberos principal with the given parameters
    • kadm5_delete_principal — Deletes a kerberos principal
    • kadm5_destroy — Closes the connection to the admin server and releases all related resources
    • kadm5_flush — Flush all changes to the Kerberos database
    • kadm5_get_policies — Gets all policies from the Kerberos database
    • kadm5_get_principal — Gets the principal's entries from the Kerberos database
    • kadm5_get_principals — Gets all principals from the Kerberos database
    • kadm5_init_with_password — Opens a connection to the KADM5 library
    • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
Службы аутентификации
Введение
Службы аутентификации


Введение

These package allows you to access Kerberos V administration servers. You can create, modify, and delete Kerberos V principals and policies.

More information about Kerberos can be found at » http://web.mit.edu/kerberos/www/.

Documentation for Kerberos and KADM5 can be found at » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

KADM5
Установка и настройка
KADM5


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
KADM5


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/kadm5.

Замечание:

If this option is used without specifying the path to KADM5, PHP will use the built-in KADM5 client libraries. Users who run other applications that use KADM5 (for example, running PHP 4 and PHP 5 as concurrent apache modules, or auth-kadm5) should always specify the path to KADM5: --with-kadm5=/path/to/kadm5. This will force PHP to use the client libraries installed by KADM5, avoiding any conflicts.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

This extension defines a KADM5 handle returned by kadm5_init_with_password().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Содержание

  • Constants for Attribute Flags
  • Constants for Options

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

Типы ресурсов
Constants for Attribute Flags
KADM5


Constants for Attribute Flags

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_modify_principal() allow to specify
special attributes using a bitfield. The symbols are defined below:

Attributes for use by the KDC
constant
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Предопределенные константы
Constants for Options
Предопределенные константы


Constants for Options

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_get_principal() allow to specify or return
principal's options as an associative array. The keys for the associative
array are defined as string constants below:

Options for creating/modifying/retrieving principals
constant | funcdef | description
KADM5_PRINCIPAL | long | The expire time of the princial as a Kerberos timestamp.
KADM5_PRINC_EXPIRE_TIME | long | The expire time of the princial as a Kerberos timestamp.
KADM5_LAST_PW_CHANGE | long | The time this principal's password was last changed.
KADM5_PW_EXPIRATION | long | The expire time of the principal's current password, as a Kerberos timestamp.
KADM5_MAX_LIFE | long | The maximum lifetime of any Kerberos ticket issued to this principal.
KADM5_MAX_RLIFE | long | The maximum renewable lifetime of any Kerberos ticket issued to or for this principal.
KADM5_MOD_NAME | string | The name of the Kerberos principal that most recently modified this principal.
KADM5_MOD_TIME | long | The time this principal was last modified, as a Kerberos timestamp.
KADM5_KVNO | long | The version of the principal's current key.
KADM5_POLICY | string | The name of the policy controlling this principal.
KADM5_CLEARPOLICY | long | Standard procedure is to assign the 'default' policy to new principals. KADM5_CLEARPOLICY suppresses this behaviour.
KADM5_LAST_SUCCESS | long | The KDC time of the last successfull AS_REQ.
KADM5_LAST_FAILED | long | The KDC time of the last failed AS_REQ.
KADM5_FAIL_AUTH_COUNT | long | The number of consecutive failed AS_REQs.
KADM5_RANDKEY | long | Generates a random password for the principal. The parameter password will be ignored.
KADM5_ATTRIBUTES | long | A bitfield of attributes for use by the KDC.

Constants for Attribute Flags
Примеры
Предопределенные константы


Примеры

Содержание

  • Basic usage
Constants for Options
Basic usage
KADM5


Basic usage

This simple example shows how to connect, query, print resulting principals and disconnect from a KADM5 database.

Пример #1 KADM5 extension overview example

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Примеры
KADM5 Функции
Примеры


KADM5 Функции

Содержание

  • kadm5_chpass_principal — Changes the principal's password
  • kadm5_create_principal — Creates a kerberos principal with the given parameters
  • kadm5_delete_principal — Deletes a kerberos principal
  • kadm5_destroy — Closes the connection to the admin server and releases all related resources
  • kadm5_flush — Flush all changes to the Kerberos database
  • kadm5_get_policies — Gets all policies from the Kerberos database
  • kadm5_get_principal — Gets the principal's entries from the Kerberos database
  • kadm5_get_principals — Gets all principals from the Kerberos database
  • kadm5_init_with_password — Opens a connection to the KADM5 library
  • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
Basic usage
kadm5_chpass_principal
KADM5


Changes the principal's password

KADM5 Функции
kadm5_create_principal
KADM5 Функции
PHP Manual

kadm5_chpass_principal

(PECL kadm5 >= 0.2.3)

kadm5_chpass_principal — Changes the principal's password

Описание

bool kadm5_chpass_principal ( resource $handle , string $principal , string $password )

kadm5_chpass_principal() sets the new password password for the principal.

Список параметров

handle

A KADM5 handle.

principal

The principal.

password

The new password.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Example of changing principal's password

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

KADM5 Функции
kadm5_create_principal
KADM5 Функции


Creates a kerberos principal with the given parameters

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Функции
PHP Manual

kadm5_create_principal

(PECL kadm5 >= 0.2.3)

kadm5_create_principal — Creates a kerberos principal with the given parameters

Описание

bool kadm5_create_principal ( resource $handle , string $principal [, string $password [, array $options ]] )

Creates a principal with the given password.

Список параметров

handle

A KADM5 handle.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Example of principal's creation

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Смотрите также

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Функции


Deletes a kerberos principal

kadm5_create_principal
kadm5_destroy
KADM5 Функции
PHP Manual

kadm5_delete_principal

(PECL kadm5 >= 0.2.3)

kadm5_delete_principal — Deletes a kerberos principal

Описание

bool kadm5_delete_principal ( resource $handle , string $principal )

Removes the principal from the Kerberos database.

Список параметров

handle

A KADM5 handle.

principal

The removed principal.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 kadm5_delete_principal() example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

Смотрите также

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_create_principal() - Creates a kerberos principal with the given parameters

kadm5_create_principal
kadm5_destroy
KADM5 Функции


Closes the connection to the admin server and releases all related resources

kadm5_delete_principal
kadm5_flush
KADM5 Функции
PHP Manual

kadm5_destroy

(PECL kadm5 >= 0.2.3)

kadm5_destroy — Closes the connection to the admin server and releases all related resources

Описание

bool kadm5_destroy ( resource $handle )

Closes the connection to the admin server and releases all related resources.

Список параметров

handle

A KADM5 handle.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • kadm5_init_with_password() - Opens a connection to the KADM5 library

kadm5_delete_principal
kadm5_flush
KADM5 Функции


Flush all changes to the Kerberos database

kadm5_destroy
kadm5_get_policies
KADM5 Функции
PHP Manual

kadm5_flush

(PECL kadm5 >= 0.2.3)

kadm5_flush — Flush all changes to the Kerberos database

Описание

bool kadm5_flush ( resource $handle )

Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open.

Список параметров

handle

A KADM5 handle.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

kadm5_destroy
kadm5_get_policies
KADM5 Функции


Gets all policies from the Kerberos database

kadm5_flush
kadm5_get_principal
KADM5 Функции
PHP Manual

kadm5_get_policies

(PECL kadm5 >= 0.2.3)

kadm5_get_policies — Gets all policies from the Kerberos database

Описание

array kadm5_get_policies ( resource $handle )

Gets an array containing the policies's names.

Список параметров

handle

A KADM5 handle.

Возвращаемые значения

Returns array of policies on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 kadm5_get_policies() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

kadm5_flush
kadm5_get_principal
KADM5 Функции


Gets the principal's entries from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Функции
PHP Manual

kadm5_get_principal

(PECL kadm5 >= 0.2.3)

kadm5_get_principal — Gets the principal's entries from the Kerberos database

Описание

array kadm5_get_principal ( resource $handle , string $principal )

Gets the principal's entries from the Kerberos database.

Список параметров

handle

A KADM5 handle.

principal

The principal.

Возвращаемые значения

Returns array of options containing the following keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 kadm5_get_principal() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

Смотрите также

  • kadm5_get_principals() - Gets all principals from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Функции


Gets all principals from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Функции
PHP Manual

kadm5_get_principals

(PECL kadm5 >= 0.2.3)

kadm5_get_principals — Gets all principals from the Kerberos database

Описание

array kadm5_get_principals ( resource $handle )

kadm5_get_principals() returns an array containing the principals's names.

Список параметров

handle

A KADM5 handle.

Возвращаемые значения

Returns array of principals on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 kadm5_get_principals() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

Смотрите также

  • kadm5_get_principal() - Gets the principal's entries from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Функции


Opens a connection to the KADM5 library

kadm5_get_principals
kadm5_modify_principal
KADM5 Функции
PHP Manual

kadm5_init_with_password

(PECL kadm5 >= 0.2.3)

kadm5_init_with_password — Opens a connection to the KADM5 library

Описание

resource kadm5_init_with_password ( string $admin_server , string $realm , string $principal , string $password )

Opens a connection with the KADM5 library using the principal and the given password to obtain initial credentials from the admin_server.

Список параметров

admin_server

The server.

realm

Defines the authentication domain for the connection.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

Возвращаемые значения

Returns a KADM5 handle on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 KADM5 initialization example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Примечания

Замечание:

Connection should be closed after use with kadm5_destroy().

Смотрите также

  • kadm5_destroy() - Closes the connection to the admin server and releases all related resources

kadm5_get_principals
kadm5_modify_principal
KADM5 Функции


Modifies a kerberos principal with the given parameters

kadm5_init_with_password
Radius
KADM5 Функции
PHP Manual

kadm5_modify_principal

(PECL kadm5 >= 0.2.3)

kadm5_modify_principal — Modifies a kerberos principal with the given parameters

Описание

bool kadm5_modify_principal ( resource $handle , string $principal , array $options )

Modifies a principal according to the given options.

Список параметров

handle

A KADM5 handle.

principal

The principal.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE. KADM5_FAIL_AUTH_COUNT.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Example of modifying principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
                 KADM5_POLICY => "gonicus",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

Смотрите также

  • kadm5_create_principal() - Creates a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_init_with_password
Radius
KADM5 Функции


Radius

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Radius Функции
    • radius_acct_open — Creates a Radius handle for accounting
    • radius_add_server — Adds a server
    • radius_auth_open — Creates a Radius handle for authentication
    • radius_close — Frees all ressources
    • radius_config — Causes the library to read the given configuration file
    • radius_create_request — Create accounting or authentication request
    • radius_cvt_addr — Converts raw data to IP-Address
    • radius_cvt_int — Converts raw data to integer
    • radius_cvt_string — Converts raw data to string
    • radius_demangle_mppe_key — Derives mppe-keys from mangled data
    • radius_demangle — Demangles data
    • radius_get_attr — Extracts an attribute
    • radius_get_vendor_attr — Extracts a vendor specific attribute
    • radius_put_addr — Attaches an IP-Address attribute
    • radius_put_attr — Attaches a binary attribute
    • radius_put_int — Attaches an integer attribute
    • radius_put_string — Attaches a string attribute
    • radius_put_vendor_addr — Attaches a vendor specific IP-Address attribute
    • radius_put_vendor_attr — Attaches a vendor specific binary attribute
    • radius_put_vendor_int — Attaches a vendor specific integer attribute
    • radius_put_vendor_string — Attaches a vendor specific string attribute
    • radius_request_authenticator — Returns the request authenticator
    • radius_send_request — Sends the request and waites for a reply
    • radius_server_secret — Returns the shared secret
    • radius_strerror — Returns an error message
kadm5_modify_principal
Введение
Службы аутентификации


Введение

This package is based on the libradius (Remote Authentication Dial In User Service) of FreeBSD. It allows clients to perform authentication and accounting by means of network requests to remote servers.

This PECL extension adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

Замечание:

An exact description for libradius can be found » here. A detailed description of the configuration file can be found » here.

Radius
Установка и настройка
Radius


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Radius


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/radius.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

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

RADIUS_ACCESS_REQUEST ()
Authentication Request
RADIUS_ACCESS_ACCEPT ()
Access accepted
RADIUS_ACCESS_REJECT ()
Access rejected
RADIUS_ACCOUNTING_REQUEST ()
Accounting request
RADIUS_ACCOUNTING_RESPONSE ()
Accounting response
RADIUS_ACCESS_CHALLENGE ()
Accsess challenge
RADIUS_USER_NAME (string)
Username
RADIUS_USER_PASSWORD (string)
Password
RADIUS_CHAP_PASSWORD (string)
Chap Password: chappass = md5(ident + plaintextpass + challenge)
RADIUS_NAS_IP_ADDRESS (string)
NAS IP-Adress
RADIUS_NAS_PORT (int)
NAS Port
RADIUS_SERVICE_TYPE (int)

Type of Service, one of:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

Framed Protocol, one of:

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (string)
IP-Address
RADIUS_FRAMED_IP_NETMASK (string)
Netmask
RADIUS_FRAMED_ROUTING (int)
Routing
RADIUS_FILTER_ID (string)
Filter ID
RADIUS_FRAMED_MTU (int)
MTU
RADIUS_FRAMED_COMPRESSION (int)

Compression, one of:

  • RADIUS_COMP_NONE
  • RADIUS_COMP_VJ
  • RADIUS_COMP_IPXHDR

RADIUS_LOGIN_IP_HOST (string)
Login IP Host
RADIUS_LOGIN_SERVICE (int)
Login Service
RADIUS_LOGIN_TCP_PORT (int)
Login TCP Port
RADIUS_REPLY_MESSAGE (string)
Reply Message
RADIUS_CALLBACK_NUMBER (string)
Callback Number
RADIUS_CALLBACK_ID (string)
Callback ID
RADIUS_FRAMED_ROUTE (string)
Framed Route
RADIUS_FRAMED_IPX_NETWORK (string)
Framed IPX Network
RADIUS_STATE (string)
State
RADIUS_CLASS (int)
Class
RADIUS_VENDOR_SPECIFIC (int)
Vendor specific attribute
RADIUS_SESSION_TIMEOUT (int)
Session timeout
RADIUS_IDLE_TIMEOUT (int)
Idle timeout
RADIUS_TERMINATION_ACTION (int)
Termination action
RADIUS_CALLED_STATION_ID (int)
Called Station Id
RADIUS_CALLING_STATION_ID (string)
Calling Station Id
RADIUS_NAS_IDENTIFIER (int)
NAS ID
RADIUS_PROXY_STATE (int)
Proxy State
RADIUS_LOGIN_LAT_SERVICE (int)
Login LAT Service
RADIUS_LOGIN_LAT_NODE (int)
Login LAT Node
RADIUS_LOGIN_LAT_GROUP (int)
Login LAT Group
RADIUS_FRAMED_APPLETALK_LINK (int)
Framed Appletalk Link
RADIUS_FRAMED_APPLETALK_NETWORK (int)
Framed Appletalk Network
RADIUS_FRAMED_APPLETALK_ZONE (int)
Framed Appletalk Zone
RADIUS_CHAP_CHALLENGE (string)
Challenge
RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (int)
Port Limit
RADIUS_LOGIN_LAT_PORT (int)
Login LAT Port
RADIUS_CONNECT_INFO (string)
Connect info
RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (int)
Accounting delay time
RADIUS_ACCT_INPUT_OCTETS (int)
Accounting input bytes
RADIUS_ACCT_OUTPUT_OCTETS (int)
Accounting output bytes
RADIUS_ACCT_SESSION_ID (int)
Accounting session ID
RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)
Accounting session time
RADIUS_ACCT_INPUT_PACKETS (int)
Accounting input packets
RADIUS_ACCT_OUTPUT_PACKETS (int)
Accounting output packets
RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (string)
Accounting multi session ID
RADIUS_ACCT_LINK_COUNT (int)
Accounting link count
RADIUS_VENDOR_MICROSOFT (int)

Microsoft specific vendor attributes (» RFC 2548), one of:

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

Типы ресурсов
Примеры
Radius


Примеры

Howto start?

  • get a radius resource
  • configure the library
  • create the request
  • put attributes
  • send the request
  • receive attributes
  • close the radius resource (optional)
Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.

Предопределенные константы
Radius Функции
Radius


Radius Функции

Contact Information

If you have comments, bugfixes, enhancements or want to help to develop this you can send me a mail at » mbretter@php.net.

Содержание

  • radius_acct_open — Creates a Radius handle for accounting
  • radius_add_server — Adds a server
  • radius_auth_open — Creates a Radius handle for authentication
  • radius_close — Frees all ressources
  • radius_config — Causes the library to read the given configuration file
  • radius_create_request — Create accounting or authentication request
  • radius_cvt_addr — Converts raw data to IP-Address
  • radius_cvt_int — Converts raw data to integer
  • radius_cvt_string — Converts raw data to string
  • radius_demangle_mppe_key — Derives mppe-keys from mangled data
  • radius_demangle — Demangles data
  • radius_get_attr — Extracts an attribute
  • radius_get_vendor_attr — Extracts a vendor specific attribute
  • radius_put_addr — Attaches an IP-Address attribute
  • radius_put_attr — Attaches a binary attribute
  • radius_put_int — Attaches an integer attribute
  • radius_put_string — Attaches a string attribute
  • radius_put_vendor_addr — Attaches a vendor specific IP-Address attribute
  • radius_put_vendor_attr — Attaches a vendor specific binary attribute
  • radius_put_vendor_int — Attaches a vendor specific integer attribute
  • radius_put_vendor_string — Attaches a vendor specific string attribute
  • radius_request_authenticator — Returns the request authenticator
  • radius_send_request — Sends the request and waites for a reply
  • radius_server_secret — Returns the shared secret
  • radius_strerror — Returns an error message
Примеры
radius_acct_open
Radius


Creates a Radius handle for accounting

Radius Функции
radius_add_server
Radius Функции
PHP Manual

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Creates a Radius handle for accounting

Описание

resource radius_acct_open ( void )

Возвращаемые значения

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Примеры

Пример #1 radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("Could not create handle");
print("Handle successfully created");
?>

Radius Функции
radius_add_server
Radius Функции


Adds a server

radius_acct_open
radius_auth_open
Radius Функции
PHP Manual

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Adds a server

Описание

bool radius_add_server ( resource $radius_handle , string $hostname , int $port , string $secret , int $timeout , int $max_tries )

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Список параметров

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Смотрите также

  • radius_config() - Causes the library to read the given configuration file

radius_acct_open
radius_auth_open
Radius Функции


Creates a Radius handle for authentication

radius_add_server
radius_close
Radius Функции
PHP Manual

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Creates a Radius handle for authentication

Описание

resource radius_auth_open ( void )

Возвращаемые значения

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Примеры

Пример #1 radius_auth_open() example

<?php
$radh = radius_auth_open()
    or die ("Could not create handle");
echo "Handle successfully created";
?>

radius_add_server
radius_close
Radius Функции


Frees all ressources

radius_auth_open
radius_config
Radius Функции
PHP Manual

radius_close

(PECL radius >= 1.1.0)

radius_close — Frees all ressources

Описание

bool radius_close ( resource $radius_handle )

It is not needed to call this function because php frees all resources at the end of each request.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

radius_auth_open
radius_config
Radius Функции


Causes the library to read the given configuration file

radius_close
radius_create_request
Radius Функции
PHP Manual

radius_config

(PECL radius >= 1.1.0)

radius_config — Causes the library to read the given configuration file

Описание

bool radius_config ( resource $radius_handle , string $file )

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

Список параметров

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • radius_add_server() - Adds a server

radius_close
radius_create_request
Radius Функции


Create accounting or authentication request

radius_config
radius_cvt_addr
Radius Функции
PHP Manual

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Create accounting or authentication request

Описание

bool radius_create_request ( resource $radius_handle , int $type )

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Замечание: Attention: You must call this function, before you can put any attribute!

Список параметров

radius_handle

type

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Смотрите также

  • radius_send_request() - Sends the request and waites for a reply

radius_config
radius_cvt_addr
Radius Функции


Converts raw data to IP-Address

radius_create_request
radius_cvt_int
Radius Функции
PHP Manual

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Converts raw data to IP-Address

Описание

string radius_cvt_addr ( string $data )

Примеры

Пример #1 radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

Смотрите также

  • radius_cvt_int() - Converts raw data to integer
  • radius_cvt_string() - Converts raw data to string

radius_create_request
radius_cvt_int
Radius Функции


Converts raw data to integer

radius_cvt_addr
radius_cvt_string
Radius Функции
PHP Manual

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Converts raw data to integer

Описание

int radius_cvt_int ( string $data )

Примеры

Пример #1 radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

Смотрите также

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_string() - Converts raw data to string

radius_cvt_addr
radius_cvt_string
Radius Функции


Converts raw data to string

radius_cvt_int
radius_demangle_mppe_key
Radius Функции
PHP Manual

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Converts raw data to string

Описание

string radius_cvt_string ( string $data )

Примеры

Пример #1 radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

Смотрите также

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_int() - Converts raw data to integer

radius_cvt_int
radius_demangle_mppe_key
Radius Функции


Derives mppe-keys from mangled data

radius_cvt_string
radius_demangle
Radius Функции
PHP Manual

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Derives mppe-keys from mangled data

Описание

string radius_demangle_mppe_key ( resource $radius_handle , string $mangled )

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Возвращаемые значения

Returns the demangled string, or FALSE on error.

radius_cvt_string
radius_demangle
Radius Функции


Demangles data

radius_demangle_mppe_key
radius_get_attr
Radius Функции
PHP Manual

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Demangles data

Описание

string radius_demangle ( resource $radius_handle , string $mangled )

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Возвращаемые значения

Returns the demangled string, or FALSE on error.

radius_demangle_mppe_key
radius_get_attr
Radius Функции


Extracts an attribute

radius_demangle
radius_get_vendor_attr
Radius Функции
PHP Manual

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extracts an attribute

Описание

mixed radius_get_attr ( resource $radius_handle )

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Возвращаемые значения

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Примеры

Пример #1 radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Смотрите также

  • radius_put_attr() - Attaches a binary attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute
  • radius_send_request() - Sends the request and waites for a reply

radius_demangle
radius_get_vendor_attr
Radius Функции


Extracts a vendor specific attribute

radius_get_attr
radius_put_addr
Radius Функции
PHP Manual

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extracts a vendor specific attribute

Описание

array radius_get_vendor_attr ( string $data )

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Возвращаемые значения

Returns an associative array containing the attribute-type, vendor and the data, or FALSE on error.

Примеры

Пример #1 radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Смотрите также

  • radius_get_attr() - Extracts an attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_get_attr
radius_put_addr
Radius Функции


Attaches an IP-Address attribute

radius_get_vendor_attr
radius_put_attr
Radius Функции
PHP Manual

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attaches an IP-Address attribute

Описание

bool radius_put_addr ( resource $radius_handle , int $type , string $addr )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

radius_get_vendor_attr
radius_put_attr
Radius Функции


Attaches a binary attribute

radius_put_addr
radius_put_int
Radius Функции
PHP Manual

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

Описание

bool radius_put_attr ( resource $radius_handle , int $type , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Смотрите также

  • radius_get_attr() - Extracts an attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_put_addr
radius_put_int
Radius Функции


Attaches an integer attribute

radius_put_attr
radius_put_string
Radius Функции
PHP Manual

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attaches an integer attribute

Описание

bool radius_put_int ( resource $radius_handle , int $type , int $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Смотрите также

  • radius_put_string() - Attaches a string attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_attr
radius_put_string
Radius Функции


Attaches a string attribute

radius_put_int
radius_put_vendor_addr
Radius Функции
PHP Manual

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attaches a string attribute

Описание

bool radius_put_string ( resource $radius_handle , int $type , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Смотрите также

  • radius_put_int() - Attaches an integer attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_int
radius_put_vendor_addr
Radius Функции


Attaches a vendor specific IP-Address attribute

radius_put_string
radius_put_vendor_attr
Radius Функции
PHP Manual

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attaches a vendor specific IP-Address attribute

Описание

bool radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

radius_put_string
radius_put_vendor_attr
Radius Функции


Attaches a vendor specific binary attribute

radius_put_vendor_addr
radius_put_vendor_int
Radius Функции
PHP Manual

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attaches a vendor specific binary attribute

Описание

bool radius_put_vendor_attr ( resource $radius_handle , int $vendor , int $type , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Смотрите также

  • radius_get_vendor_attr() - Extracts a vendor specific attribute

radius_put_vendor_addr
radius_put_vendor_int
Radius Функции


Attaches a vendor specific integer attribute

radius_put_vendor_attr
radius_put_vendor_string
Radius Функции
PHP Manual

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attaches a vendor specific integer attribute

Описание

bool radius_put_vendor_int ( resource $radius_handle , int $vendor , int $type , int $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_vendor_attr
radius_put_vendor_string
Radius Функции


Attaches a vendor specific string attribute

radius_put_vendor_int
radius_request_authenticator
Radius Функции
PHP Manual

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attaches a vendor specific string attribute

Описание

bool radius_put_vendor_string ( resource $radius_handle , int $vendor , int $type , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • radius_put_vendor_int() - Attaches a vendor specific integer attribute

radius_put_vendor_int
radius_request_authenticator
Radius Функции


Returns the request authenticator

radius_put_vendor_string
radius_send_request
Radius Функции
PHP Manual

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Returns the request authenticator

Описание

string radius_request_authenticator ( resource $radius_handle )

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Возвращаемые значения

Returns the request authenticator as string, or FALSE on error.

Смотрите также

  • radius_demangle() - Demangles data

radius_put_vendor_string
radius_send_request
Radius Функции


Sends the request and waites for a reply

radius_request_authenticator
radius_server_secret
Radius Функции
PHP Manual

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Sends the request and waites for a reply

Описание

int radius_send_request ( resource $radius_handle )

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Возвращаемые значения

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns FALSE.

Смотрите также

  • radius_create_request() - Create accounting or authentication request

radius_request_authenticator
radius_server_secret
Radius Функции


Returns the shared secret

radius_send_request
radius_strerror
Radius Функции
PHP Manual

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Returns the shared secret

Описание

string radius_server_secret ( resource $radius_handle )

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Возвращаемые значения

Returns the server's shared secret as string, or FALSE on error.

radius_send_request
radius_strerror
Radius Функции


Returns an error message

radius_server_secret
Расширения по работе с датой и временем
Radius Функции
PHP Manual

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Returns an error message

Описание

string radius_strerror ( resource $radius_handle )

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

Возвращаемые значения

Returns error messages as string from failed radius functions.

radius_server_secret
Расширения по работе с датой и временем
Radius Функции


Расширения по работе с датой и временем

  • Календарь
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Календарь
  • Дата/Время — Дата и Время
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DateTime — Класс DateTime
    • DateTimeZone — Класс DateTimeZone
    • DateInterval — Класс DateInterval
    • DatePeriod — Класс DatePeriod
    • Функции даты и времени
    • Допустимые форматы Даты/Времени
    • Список поддерживаемых временных зон
radius_strerror
Календарь
Справочник функций


Календарь

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Календарь
    • cal_days_in_month — Возвращает количество дней в месяце для заданного года и календаря
    • cal_from_jd — Преобразует дату, заданную в юлианском календаре, в дату указанного календаря
    • cal_info — Возвращает информацию о заданном календаре
    • cal_to_jd — Преобразует заданную дату в Юлианское исчисление
    • easter_date — Метка времени Unix соответствующая полуночи на Пасху в заданном году
    • easter_days — Получение количества дней между 21 марта и Пасхой в заданном году
    • FrenchToJD — Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении
    • GregorianToJD — Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении
    • JDDayOfWeek — Возвращает день недели
    • JDMonthName — Возвращает название месяца
    • JDToFrench — Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю
    • JDToGregorian — Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю
    • jdtojewish — Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю
    • JDToJulian — Переводит число дней в Юлианском летоисчислении в дату по Юлианскому календарю
    • jdtounix — Переводит число дней в Юлианском летоисчислении в метку времени Unix
    • JewishToJD — Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении
    • JulianToJD — Переводит дату по Юлианскому календарю в число дней в Юлианском летоисчислении
    • unixtojd — Переводит метку времени Unix в Юлианский день
Расширения по работе с датой и временем
Введение
Расширения по работе с датой и временем


Введение

Расширение календарь предоставляет ряд функций для упрощения перевода дат из одного формата в другой. Промежуточной датой или стандартом является исчисление с Юлианского дня. Исчисление с Юлианского дня - это исчисление, начинающееся с 1 января 4713г. до н.э. Для конвертации между календарными форматами сначала нужно перевести дату в Юлианское исчисление, а затем в любой другой календарный формат на ваш выбор. Юлианское исчисление сильно отличается от Юлианского календаря! Для более подробной информации посетите страницу » http://www.hermetic.ch/cal_stud/jdn.htm. Подробная информации по календарным форматам: » http://www.fourmilab.ch/documents/calendar/. Выдержки из этой страницы включены в инструкцию и заключены в кавычки.

Календарь
Установка и настройка
Календарь


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Календарь


Установка

Для работы с данными функциями нужно скомпилировать PHP c --enable-calendar .

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

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)

Следующие константы доступны с PHP 5.0.0:

CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)
Типы ресурсов
Календарь
Календарь


Календарь
PHP Manual

Календарь

Содержание

  • cal_days_in_month — Возвращает количество дней в месяце для заданного года и календаря
  • cal_from_jd — Преобразует дату, заданную в юлианском календаре, в дату указанного календаря
  • cal_info — Возвращает информацию о заданном календаре
  • cal_to_jd — Преобразует заданную дату в Юлианское исчисление
  • easter_date — Метка времени Unix соответствующая полуночи на Пасху в заданном году
  • easter_days — Получение количества дней между 21 марта и Пасхой в заданном году
  • FrenchToJD — Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении
  • GregorianToJD — Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении
  • JDDayOfWeek — Возвращает день недели
  • JDMonthName — Возвращает название месяца
  • JDToFrench — Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю
  • JDToGregorian — Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю
  • jdtojewish — Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю
  • JDToJulian — Переводит число дней в Юлианском летоисчислении в дату по Юлианскому календарю
  • jdtounix — Переводит число дней в Юлианском летоисчислении в метку времени Unix
  • JewishToJD — Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении
  • JulianToJD — Переводит дату по Юлианскому календарю в число дней в Юлианском летоисчислении
  • unixtojd — Переводит метку времени Unix в Юлианский день
Предопределенные константы
cal_days_in_month
Календарь
PHP Manual


Возвращает количество дней в месяце для заданного года и календаря

Календарь
cal_from_jd
Календарь
PHP Manual

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5)

cal_days_in_month — Возвращает количество дней в месяце для заданного года и календаря

Описание

int cal_days_in_month ( int $calendar , int $month , int $year )

Эта функция возвратит количество дней в месяце month года year для заданного календаря calendar.

Список параметров

calendar

Календарь, используемый для вычисления

month

Месяц в выбранном календаре

year

Год в выбранном календаре

Возвращаемые значения

Количество дней в конкретном месяце выбранного календаря

Примеры

Пример #1 Пример использования cal_days_in_month()

<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "Всего $num дней в Августе 2003 года";
?>

Календарь
cal_from_jd
Календарь


Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

cal_days_in_month
cal_info
Календарь
PHP Manual

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_from_jd — Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

Описание

array cal_from_jd ( int $jd , int $calendar )

cal_from_jd() преобразует дату юлианского календаря, заданную в jd, в дату указанного календаря calendar. Поддерживаемые значения calendar: CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH и CAL_FRENCH.

Список параметров

jd

День юлианского календаря как целое число

calendar

Календарь, в который нужно преобразовать дату

Возвращаемые значения

Возвращает массив, содержащий информацию о дате, такую как месяц, день, год, день недели, сокращенное и полное название дня недели, месяца и дату в форме "месяц/день/год".

Примеры

Пример #1 Пример использования cal_from_jd()

<?php
$today = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($today, CAL_GREGORIAN));
?>

Результат выполнения данного примера:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

Смотрите также

  • cal_to_jd() - Преобразует заданную дату в Юлианское исчисление
  • jdtofrench() - Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю
  • jdtogregorian() - Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю
  • jdtojewish() - Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю
  • jdtojulian() - Переводит число дней в Юлианском летоисчислении в дату по Юлианскому календарю
  • jdtounix() - Переводит число дней в Юлианском летоисчислении в метку времени Unix

cal_days_in_month
cal_info
Календарь


Возвращает информацию о заданном календаре

cal_from_jd
cal_to_jd
Календарь
PHP Manual

cal_info

(PHP 4 >= 4.1.0, PHP 5)

cal_info — Возвращает информацию о заданном календаре

Описание

array cal_info ([ int $calendar = -1 ] )

cal_info() возвращает информацию о заданном календаре calendar.

Информация о календаре возвращается в виде массива с полями calname, calsymbol, month, abbrevmonth и maxdaysinmonth В качестве calendar могут быть использованы следующие календари:

  • 0 or CAL_GREGORIAN - Грегорианский календарь
  • 1 or CAL_JULIAN - Юлианский календарь
  • 2 or CAL_JEWISH - Еврейский календарь
  • 3 or CAL_FRENCH - Календарь со дня Французской революции

Если параметр calendar не задан, возвращается инофрмация обо всех календарях в виде массива.

Список параметров

calendar

Календарь, о котором будет возвращена информация. Если параметр не задан, возвращается информация обо всех календарях.

Возвращаемые значения

Список изменений

Версия | Описание
5.0.0 | Параметр calendar стал необязательным и по умолчанию равен "все календари".

Примеры

Пример #1 Пример cal_info()

<?php
$info = cal_info(0);
print_r($info);
?>

Результат выполнения данного примера:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)

cal_from_jd
cal_to_jd
Календарь


Преобразует заданную дату в Юлианское исчисление

cal_info
easter_date
Календарь
PHP Manual

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_to_jd — Преобразует заданную дату в Юлианское исчисление

Описание

int cal_to_jd ( int $calendar , int $month , int $day , int $year )

cal_to_jd() расчитывает количество дней с начала Юлианской эпохи до даты в заданном календаре calendar. Список поддерживаемых календарей calendar: CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH и CAL_FRENCH.

Список параметров

calendar

Календарь, из которого будет произведена конвертация, один из: CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH или CAL_FRENCH.

month

Месяц в виде числа, разрешенное значение зависит от календаря calendar.

day

День в виде числа, разрешенное значение зависит от календаря calendar.

year

Год в виде числа, разрешенное значение зависит от календаря calendar.

Возвращаемые значения

Число дней в Юлианском исчислении.

Смотрите также

  • cal_from_jd() - Преобразует дату, заданную в юлианском календаре, в дату указанного календаря
  • frenchtojd() - Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении
  • gregoriantojd() - Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении
  • jewishtojd() - Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении
  • juliantojd() - Переводит дату по Юлианскому календарю в число дней в Юлианском летоисчислении
  • unixtojd() - Переводит метку времени Unix в Юлианский день

cal_info
easter_date
Календарь


Метка времени Unix соответствующая полуночи на Пасху в заданном году

cal_to_jd
easter_days
Календарь
PHP Manual

easter_date

(PHP 4, PHP 5)

easter_date — Метка времени Unix соответствующая полуночи на Пасху в заданном году

Описание

int easter_date ([ int $year ] )

Возвращает метку времени Unix соответствующую полуночи на Пасху в заданном году.

Внимание

Функция выдаст предупреждение, если заданный год будет выходить за пределы диапазона меток времени Unix (с 1970 по 2037 гг).

Дата Пасхального дня была введена Консулом Никеи в 325 году до н.э. Это первое воскресенье, следующее за первым полнолунием после весеннего равноденствия. Днем весеннего равноденствия принято считать 21 марта, так что расчет дня Пасхи сводится к определению даты полнолуния и следующего за ней воскресенья. Используемый здесь алгоритм введен Дионисием Малым в 532 году. В Юлианском летоисчислении (до 1753 года) для отслеживания фаз луны использовался простой 19-летний цикл. В Грегорианском календаре (годы после 1753 - разработан Христофором Клавиусом и Алоизием Лилиусом и введен Папой Григорием XIII в октябре 1582г., а в Великобритании и ее колониях в сентябре 1752г.) было добавлено 2 поправочных коэффициента увеличивающих точность расчета дат.

Список параметров

year

Год - число между 1970 и 2037

Возвращаемые значения

Дата Пасхи в виде метки времени Unix.

Список изменений

Версия | Описание
Начиная с 4.3.0 | Аргумент year необязателен, по умолчанию принимается текущий год в соответствии с локальным временем.

Примеры

Пример #1 Пример использования easter_date()

<?php

echo date("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

Смотрите также

  • Функция easter_days() - Получение количества дней между 21 марта и Пасхой в заданном году расчета дня Пасхи для годов до 1970 или после 2037

cal_to_jd
easter_days
Календарь


Получение количества дней между 21 марта и Пасхой в заданном году

easter_date
FrenchToJD
Календарь
PHP Manual

easter_days

(PHP 4, PHP 5)

easter_days — Получение количества дней между 21 марта и Пасхой в заданном году

Описание

int easter_days ([ int $year [, int $method = CAL_EASTER_DEFAULT ]] )

Возвращает количество дней между 21 марта и Пасхой в заданном году. Если год не указан, расчет будет произведен для текущего года.

Эту функцию можно использовать вместо easter_date() для расчета даты Пасхи для дат, выходящих за рамки диапазона меток времени Unix (с 1970 по 2037 годы).

Дата Пасхального дня была введена Консулом Никеи в 325 году до н.э. Это первое воскресенье, следующее за первым полнолунием после весеннего равноденствия. Днем весеннего равноденствия принято считать 21 марта, так что расчет дня Пасхи сводится к определению даты полнолуния и следующего за ней воскресенья. Используемый здесь алгоритм введен Дионисием Малым в 532 году. В Юлианском летоисчислении (до 1753 года) для отслеживания фаз луны использовался простой 19-летний цикл. В Грегорианском календаре (годы после 1753 - разработан Христофором Клавиусом и Алоизием Лилиусом и введен Папой Григорием XIII в октябре 1582г., а в Великобритании и ее колониях в сентябре 1752г.) было добавлено 2 поправочных коэффициента увеличивающих точность расчета дат.

Список параметров

year

Год, положительное число

method

Позволяет расчитать Пасхальные даты основанные на Григорианском календаре для 1582 - 1752 годов, если установить CAL_EASTER_ROMAN. См. список констант календаря, чтобы узнать о всех допустимых константах.

Возвращаемые значения

Количество дней между 21 марта и Пасхальным воскресеньем в заданном году year.

Список изменений

Версия | Описание
Начиная с 4.3.0 | Аргумент year необязателен, по умолчанию принимается текущий год в соответствии с локальным временем.
Начиная с 4.3.0 | Введен аргумент method.

Примеры

Пример #1 Пример использования easter_days()

<?php

echo easter_days(1999);        // 14, т.e. April 4
echo easter_days(1492);        // 32, т.e. April 22
echo easter_days(1913);        //  2, т.e. March 23

?>

Смотрите также

  • easter_date() - Метка времени Unix соответствующая полуночи на Пасху в заданном году

easter_date
FrenchToJD
Календарь


Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении

easter_days
GregorianToJD
Календарь
PHP Manual

FrenchToJD

(PHP 4, PHP 5)

FrenchToJD — Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении

Описание

int frenchtojd ( int $month , int $day , int $year )

Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении.

Функция преобразует даты только с 1 по 14 годов (Григорианские даты с 22 сентября 1792г. по 22 сентября 1806г.) Это с лихвой покрывает период, когда этот календарь использовался.

Список параметров

month

Месяц в виде числа от 1 (для месяца Vendémiaire) до 13 (для периода 5-6 дней в конце каждого года)

day

День в виде числа от 1 до 30

year

Год в виде числа между 1 и 14

Возвращаемые значения

Число (integer) дней в Юлианском летоисчислении для заданной даты по Французскому республиканскому календарю.

Смотрите также

  • jdtofrench() - Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю
  • cal_to_jd() - Преобразует заданную дату в Юлианское исчисление

easter_days
GregorianToJD
Календарь


Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении

FrenchToJD
JDDayOfWeek
Календарь
PHP Manual

GregorianToJD

(PHP 4, PHP 5)

GregorianToJD — Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении

Описание

int gregoriantojd ( int $month , int $day , int $year )

Разрешенный диапазон дат для Григорианского календаря с 4714 года до н.э. по 9999 год н.э.

Несмотря на возможность обработки дат вплоть до 4714 года до н.э., такое использование имеет мало смысла. Григорианский календарь не существовал до 15 октября 1582 года (или 5 октября 1582 в Юлианском календаре). Некоторые страны не переходили на этот календарь очень долгое время. Например, Великобритания совершила переход в 1752 году, СССР в 1918г., Греция в 1923г. Большинство стран Европы предпочитали Юлианский календарь Григорианскому.

Список параметров

month

Месяц в виде числа от 1 (январь) до 12 (декабрь)

day

День в виде числа от 1 до 31

year

Года в виде числа от -4714 до 9999

Возвращаемые значения

Число дней (integer) в Юлианском летоисчислении для даты по Григорианскому календарю.

Примеры

Пример #1 Календарные функции

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian\n";
?>

Смотрите также

  • jdtogregorian() - Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю
  • cal_to_jd() - Преобразует заданную дату в Юлианское исчисление

FrenchToJD
JDDayOfWeek
Календарь


Возвращает день недели

GregorianToJD
JDMonthName
Календарь
PHP Manual

JDDayOfWeek

(PHP 4, PHP 5)

JDDayOfWeek — Возвращает день недели

Описание

mixed jddayofweek ( int $julianday [, int $mode = CAL_DOW_DAYNO ] )

Возвращает день недели. Может возвращать строку или число в зависимости от режима работы.

Список параметров

julianday

День в виде числа в Юлианском летоисчислении

mode
Режимы отображения дней недели
Режим | Значение
0 (По умолчанию) | День недели возвращается в виде числа (0=Воскресенье, 1=Понедельник и т.д.)
1 | Возвращается строка содержащая день недели (Английский-Григорианский)
2 | Возвращается строка содержащая аббревиатуру дня недели (Английскую-Григорианскую)

Возвращаемые значения

День недели по григорианскому календарю в виде строки или числа.

GregorianToJD
JDMonthName
Календарь


Возвращает название месяца

JDDayOfWeek
JDToFrench
Календарь
PHP Manual

JDMonthName

(PHP 4, PHP 5)

JDMonthName — Возвращает название месяца

Описание

string jdmonthname ( int $julianday , int $mode )

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

Режимы работы
Режим | Название месяца | Значения
0 | Григорианское - сокращенное | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Григорианское | January, February, March, April, May, June, July, August, September, October, November, December
2 | Юлианское - сокращенное | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Юлианское | January, February, March, April, May, June, July, August, September, October, November, December
4 | Иудейское | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Французское Республиканское | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Список параметров

jday

Число дней в Юлианском летоисчислении, которое требуется преобразовать

calendar

Календарь, из которого будет взято название месяца

Возвращаемые значения

Название месяца для заданного Юлианского Дня соответствующее календарю calendar.

JDDayOfWeek
JDToFrench
Календарь


Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю

JDMonthName
JDToGregorian
Календарь
PHP Manual

JDToFrench

(PHP 4, PHP 5)

JDToFrench — Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю

Описание

string jdtofrench ( int $juliandaycount )

Переводит число дней в Юлианском летоисчислении в дату по Французскому республиканскому календарю

Список параметров

julianday

Номер дня в Юлианском летоисчислении

Возвращаемые значения

Дата со дня французской революции в виде строки формата "месяц/день/год"

Смотрите также

  • frenchtojd() - Преобразует дату Французского республиканского календаря в количество дней в Юлианском летоисчислении
  • cal_from_jd() - Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

JDMonthName
JDToGregorian
Календарь


Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю

JDToFrench
jdtojewish
Календарь
PHP Manual

JDToGregorian

(PHP 4, PHP 5)

JDToGregorian — Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю

Описание

string jdtogregorian ( int $julianday )

Переводит число дней в Юлианском летоисчислении в строку содержащую Григорианскую дату в формате "месяц/день/год".

Список параметров

julianday

Номер дня в Юлианском летоисчислении

Возвращаемые значения

Дата по Григорианскому календарю в виде строки формата "месяц/день/год"

Смотрите также

  • gregoriantojd() - Преобразует дату по Григорианскому календарю в количество дней в Юлианском летоисчислении
  • cal_from_jd() - Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

JDToFrench
jdtojewish
Календарь


Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю

JDToGregorian
JDToJulian
Календарь
PHP Manual

jdtojewish

(PHP 4, PHP 5)

jdtojewish — Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю

Описание

string jdtojewish ( int $juliandaycount [, bool $hebrew = false [, int $fl = 0 ]] )

Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю.

Список параметров

julianday

Номер дня в Юлианском летоисчислении

hebrew

Если аргумент hebrew установлен в TRUE, дата будет возвращена в виде строки в Иудейском формате заданном аргументом fl.

fl

Доступные форматы вывода даты: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Возвращаемые значения

Дата по Иудейскому календарю в виде строки формата "месяц/день/год"

Список изменений

Версия | Описание
5.0.0 | Добавлен аргумент fl.
4.3.0 | Добавлен аргумент hebrew.

Примеры

Пример #1 Пример использования jdtojewish()

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Смотрите также

  • jewishtojd() - Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении
  • cal_from_jd() - Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

JDToGregorian
JDToJulian
Календарь


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

jdtojewish
jdtounix
Календарь
PHP Manual

JDToJulian

(PHP 4, PHP 5)

JDToJulian — Переводит число дней в Юлианском летоисчислении в дату по Юлианскому календарю

Описание

string jdtojulian ( int $julianday )

Переводит число дней в Юлианском летоисчислении в строку содержащую дату по Юлианскому календарю в формате "месяц/день/год".

Список параметров

julianday

Номер дня в Юлианском летоисчислении

Возвращаемые значения

Дата по Юлианскому календарю в виде строки формата "месяц/день/год"

Смотрите также

  • juliantojd() - Переводит дату по Юлианскому календарю в число дней в Юлианском летоисчислении
  • cal_from_jd() - Преобразует дату, заданную в юлианском календаре, в дату указанного календаря

jdtojewish
jdtounix
Календарь


Переводит число дней в Юлианском летоисчислении в метку времени Unix

JDToJulian
JewishToJD
Календарь
PHP Manual

jdtounix

(PHP 4, PHP 5)

jdtounix — Переводит число дней в Юлианском летоисчислении в метку времени Unix

Описание

int jdtounix ( int $jday )

Эта функция вернет метку времени Unix соответствующую номеру дня в Юлианском летоисчислении, заданному в jday либо FALSE, если jday лежит за пределами эпохи Unix (годы по Григорианскому календарю между 1970 и 2037 или 2440588 <= jday <= 2465342 ). Будет возвращено локальное время (не GMT).

Список параметров

jday

Номер дня в Юлианском летоисчислении между 2440588 и 2465342.

Возвращаемые значения

Метка времени Unix на момент начала юлианского дня.

Смотрите также

  • unixtojd() - Переводит метку времени Unix в Юлианский день

JDToJulian
JewishToJD
Календарь


Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении

jdtounix
JulianToJD
Календарь
PHP Manual

JewishToJD

(PHP 4, PHP 5)

JewishToJD — Переводит дату по Иудейскому календарю в число дней в Юлианском летоисчислении

Описание

int jewishtojd ( int $month , int $day , int $year )

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

Список параметров

month

Номер месяца в виде числа от 1 до 13

day

Номер дня в виде числа от 1 до 30

year

Год в виде числа от 1 до 9999

Возвращаемые значения

Номер дня в Юлианском летоисчислении в виде числа для заданной иудейской даты.

Смотрите также

  • jdtojewish() - Переводит число дней в Юлианском летоисчислении в дату по Иудейскому календарю
  • cal_to_jd() - Преобразует заданную дату в Юлианское исчисление

jdtounix
JulianToJD
Календарь


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

JewishToJD
unixtojd
Календарь
PHP Manual

JulianToJD

(PHP 4, PHP 5)

JulianToJD — Переводит дату по Юлианскому календарю в число дней в Юлианском летоисчислении

Описание

int juliantojd ( int $month , int $day , int $year )

Диапазон возможных дат для Юлианского календаря: с 4713 года до н.э. по 9999 год н.э.

Несмотря на то, что функция может обрабатывать даты вплоть до 4713 года до н.э., практически преобразование для таких ранних дат не имеет смысла. Календарь был создан в 46 году до н.э., но некоторые детали еще дорабатывались по крайней мере до 8 года н.э., а по некоторым данным до 4 века. Также, начало года различалось от одной культуры к другой - не везде Январь был первым месяцем года.

Предостережение

Помните, что на данный момент общепринятым в мире считается Григорианский календарь. Функция gregoriantojd() может преобразовывать даты по этому календарю в число дней в Юлианском летоисчислении.

Список параметров

month

Месяц в виде числа от 1 (Январь) до 12 (Декабрь)

day

День в виде числа от 1 до 31

year

Год в виде числа между -4713 и 9999

Возвращаемые значения

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

Смотрите также

  • jdtojulian() - Переводит число дней в Юлианском летоисчислении в дату по Юлианскому календарю
  • cal_to_jd() - Преобразует заданную дату в Юлианское исчисление

JewishToJD
unixtojd
Календарь


Переводит метку времени Unix в Юлианский день

JulianToJD
Дата/Время
Календарь
PHP Manual

unixtojd

(PHP 4, PHP 5)

unixtojd — Переводит метку времени Unix в Юлианский день

Описание

int unixtojd ([ int $timestamp = time() ] )

Возвращает Юлианский день для заданной метки времени Unix timestamp (количество секунд с 1.1.1970) либо для текущего времени, если аргумент timestamp не задан.

Список параметров

timestamp

Метка времени Unix для преобразования.

Возвращаемые значения

Число дней в Юлианском летоисчислении.

Смотрите также

  • jdtounix() - Переводит число дней в Юлианском летоисчислении в метку времени Unix

JulianToJD
Дата/Время
Календарь


Дата и Время

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • DateTime — Класс DateTime
    • DateTime::add — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
    • DateTime::__construct — Конструктор класса DateTime
    • DateTime::createFromFormat — Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
    • DateTime::diff — Возвращает разницу между двумя DateTime объектами
    • DateTime::format — Возвращает дату приведенную к заданному формату
    • DateTime::getLastErrors — Возвращает предупреждения и ошибки
    • DateTime::getOffset — Возвращает смещение временной зоны
    • DateTime::getTimestamp — Получение метки времени в стиле Unix
    • DateTime::getTimezone — Возвращает временную зону, соответствующую заданному объекту DateTime
    • DateTime::modify — Изменение временной метки
    • DateTime::__set_state — Обработчик __set_state
    • DateTime::setDate — Установка даты
    • DateTime::setISODate — Установка ISO даты
    • DateTime::setTime — Установка времени
    • DateTime::setTimestamp — Устанавливает дату и время, основываясь на метке времени Unix
    • DateTime::setTimezone — Установка временной зоны для объекта класса DateTime
    • DateTime::sub — Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
    • DateTime::__wakeup — Обработчик __wakeup
  • DateTimeZone — Класс DateTimeZone
    • DateTimeZone::__construct — Создает новый объект DateTimeZone
    • DateTimeZone::getLocation — Возвращает информацию о местоположении для временной зоны
    • DateTimeZone::getName — Возвращает имя временной зоны
    • DateTimeZone::getOffset — Возвращает смещение временной зоны от GMT
    • DateTimeZone::getTransitions — Возвращает все переходы для временной зоны
    • DateTimeZone::listAbbreviations — Возвращает ассоциативный массив содержащий флаг перехода на летнее время, смещение и имя временной зоны
    • DateTimeZone::listIdentifiers — Вовращает численно индексированный массив со всеми идентификаторами временных зон
  • DateInterval — Класс DateInterval
    • DateInterval::__construct — Создает новый объект DateInterval
    • DateInterval::createFromDateString — Создает объект класса DateInterval, используя данные из переданной строки
    • DateInterval::format — Форматирует интервал
  • DatePeriod — Класс DatePeriod
    • DatePeriod::__construct — Создает новый объект DatePeriod
  • Функции даты и времени
    • checkdate — Проверяет корректность даты по григорианскому календарю
    • date_add — Псевдоним DateTime::add
    • date_create_from_format — Псевдоним DateTime::createFromFormat
    • date_create — Псевдоним DateTime::__construct
    • date_date_set — Псевдоним DateTime::setDate
    • date_default_timezone_get — Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте
    • date_default_timezone_set — Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
    • date_diff — Псевдоним DateTime::diff
    • date_format — Псевдоним DateTime::format
    • date_get_last_errors — Псевдоним DateTime::getLastErrors
    • date_interval_create_from_date_string — Псевдоним DateInterval::createFromDateString
    • date_interval_format — Псевдоним DateInterval::format
    • date_isodate_set — Псевдоним DateTime::setISODate
    • date_modify — Псевдоним DateTime::modify
    • date_offset_get — Псевдоним DateTime::getOffset
    • date_parse_from_format — Получение информации о заданной в определенном формате дате
    • date_parse — Возвращает ассоциативный массив с подробной информацией о заданной дате
    • date_sub — Псевдоним DateTime::sub
    • date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек
    • date_sunrise — Возвращает время рассвета для заданных дня и местоположения
    • date_sunset — Возвращает время захода солнца для заданных дня и местоположения
    • date_time_set — Псевдоним DateTime::setTime
    • date_timestamp_get — Псевдоним DateTime::getTimestamp
    • date_timestamp_set — Псевдоним DateTime::setTimestamp
    • date_timezone_get — Псевдоним DateTime::getTimezone
    • date_timezone_set — Псевдоним DateTime::setTimezone
    • date — Форматирует вывод системной даты/времени
    • getdate — Возвращает информацию о дате/времени
    • gettimeofday — Возвращает текущее время
    • gmdate — Форматирует дату/время по Гринвичу
    • gmmktime — Возвращает метку времени Unix для времени по Гринвичу
    • gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали
    • idate — Преобразует локальное время/дату в целое число
    • localtime — Возвращает локальное время
    • microtime — Возвращает текущую метку времени Unix с микросекундами
    • mktime — Возвращает метку времени Unix для заданной даты
    • strftime — Форматирует текущую дату/время с учетом текущих настроек локали
    • strptime — Разбирает строку даты/времени сгенерированную функцией strftime
    • strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
    • time — Возвращает текущую метку времени Unix
    • timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
    • timezone_location_get — Псевдоним DateTimeZone::getLocation
    • timezone_name_from_abbr — Возвращает временную зону в соответствии с аббревиатурой
    • timezone_name_get — Псевдоним DateTimeZone::getName
    • timezone_offset_get — Псевдоним DateTimeZone::getOffset
    • timezone_open — Псевдоним DateTimeZone::__construct
    • timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
    • timezone_version_get — Получение номера версии базы данных временных зон
  • Допустимые форматы Даты/Времени
    • Форматы времени
    • Форматы Даты
    • Компоновка форматов
    • Форматы отношений
  • Список поддерживаемых временных зон
    • Африка
    • Америка
    • Антарктика
    • Арктика
    • Азия
    • Атлантика
    • Австралия
    • Европа
    • Индийский
    • Тихоокеанский
    • Другие
unixtojd
Введение
Расширения по работе с датой и временем


Введение

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

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

Замечание: Убедительная просьба принимать во внимание, что эти функции зависят от региональных настроек сервера. При работе с этими функциями следует обращать внимание на високосные года и переход на летнее время (Например, следует использовать $date = strtotime('+7 days', $date), но не $date += 7*24*60*60).

Замечание: Временные зоны, описанные в данном разделе, можно найти по ссылке Список поддерживаемых временных зон.

Дата/Время
Установка и настройка
Дата/Время


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Дата/Время


Установка

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

Замечание: Получение последней базы временных зон

Последнюю версию временных зон можно установить с помощью PECL » timezonedb.

Замечание: Экспериментальная поддержка DateTime в PHP 5.1.x

Хотя класс DateTime (и связанные с ним функции) включены по умолчанию в PHP 5.2.0, существует возможность добавить экспериментальную поддержку в PHP 5.1.x, используя следующий флаг перед настройкой/компиляцией: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Настройки конфигурации даты/времени
Название | По умолчанию | Место изменения | История изменений
date.default_latitude | "31.7667" | PHP_INI_ALL | Доступно с версии PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Доступно с версии PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Доступно с версии PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Доступно с версии PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Доступно с версии PHP 5.1.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

date.default_latitude float

Широта по умолчанию.

date.default_longitude float

Долгота по умолчанию.

date.sunrise_zenith float

Угол, под которым солнце светит во время восхода.

date.sunset_zenith float

Угол, под которым солнце светит во время заката.

date.timezone string

Временная зона, используемая по умолчанию всеми функциями даты/времени. До версии PHP 5.4.0 эта директива работала только при неустановленной переменной TZ. Порядок приоритета используемых временных зон описан на странице date_default_timezone_get(). Смотрите также Список поддерживаемых временных зон.

Замечание: Первые четыре опции настройки в настоящее время используются только в функциях date_sunrise() и date_sunset().

Установка
Типы ресурсов
Установка и настройка


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

Константы DATE_ определены начиная с версии PHP 5.1.1 и они предлагают стандартные представления даты, которые могут быть использованы вместе с функциями форматирования даты (например date()).

Следующие константы существуют начиная с версии PHP 5.1.2 и определяют формат возвращаемый функциями date_sunrise() и date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)
Время в секундах с начала эпохи Unix
SUNFUNCS_RET_STRING (integer)
Часы:минуты (например: 08:02)
SUNFUNCS_RET_DOUBLE (integer)
Часы как число с плавающей точкой (например: 8.75)
Типы ресурсов
DateTime
Дата/Время


Предопределенные константы
DateTime::add
Дата/Время
PHP Manual

Класс DateTime

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представление даты и времени.

Обзор классов

DateTime {
/* Константы */
const string ATOM = Y-m-d\TH:i:sP ;
const string COOKIE = l, d-M-y H:i:s T ;
const string ISO8601 = Y-m-d\TH:i:sO ;
const string RFC822 = D, d M y H:i:s O ;
const string RFC850 = l, d-M-y H:i:s T ;
const string RFC1036 = D, d M y H:i:s O ;
const string RFC1123 = D, d M Y H:i:s O ;
const string RFC2822 = D, d M Y H:i:s O ;
const string RFC3339 = Y-m-d\TH:i:sP ;
const string RSS = D, d M Y H:i:s O ;
const string W3C = Y-m-d\TH:i:sP ;
/* Методы */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTime add ( DateInterval $interval )
public static DateTime createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public DateInterval diff ( DateTime $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public static array getLastErrors ( void )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public DateTime modify ( string $modify )
public static DateTime __set_state ( array $array )
public DateTime setDate ( int $year , int $month , int $day )
public DateTime setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTime setTimestamp ( int $unixtimestamp )
public DateTime setTimezone ( DateTimeZone $timezone )
public DateTime sub ( DateInterval $interval )
public DateTime __wakeup ( void )
}

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

DateTime::ATOM
DATE_ATOM
Atom (пример: 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
HTTP Cookies (пример: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (пример: 2005-08-15T15:52:01+0000)
DateTime::RFC822
DATE_RFC822
RFC 822 (пример: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (пример: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (пример: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (пример: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
Тоже, что и DATE_ATOM (начиная с версии PHP 5.1.3)
DateTime::RSS
DATE_RSS
RSS (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (пример: 2005-08-15T15:52:01+00:00)

Содержание

  • DateTime::add — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::__construct — Конструктор класса DateTime
  • DateTime::createFromFormat — Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
  • DateTime::diff — Возвращает разницу между двумя DateTime объектами
  • DateTime::format — Возвращает дату приведенную к заданному формату
  • DateTime::getLastErrors — Возвращает предупреждения и ошибки
  • DateTime::getOffset — Возвращает смещение временной зоны
  • DateTime::getTimestamp — Получение метки времени в стиле Unix
  • DateTime::getTimezone — Возвращает временную зону, соответствующую заданному объекту DateTime
  • DateTime::modify — Изменение временной метки
  • DateTime::__set_state — Обработчик __set_state
  • DateTime::setDate — Установка даты
  • DateTime::setISODate — Установка ISO даты
  • DateTime::setTime — Установка времени
  • DateTime::setTimestamp — Устанавливает дату и время, основываясь на метке времени Unix
  • DateTime::setTimezone — Установка временной зоны для объекта класса DateTime
  • DateTime::sub — Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
  • DateTime::__wakeup — Обработчик __wakeup
Предопределенные константы
DateTime::add
Дата/Время


Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime

DateTime
DateTime::__construct
DateTime
PHP Manual

DateTime::add

date_add

(PHP 5 >= 5.3.0)

DateTime::add -- date_add — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime

Описание

Объектно-ориентированный стиль

public DateTime DateTime::add ( DateInterval $interval )

Процедурный стиль

DateTime date_add ( DateTime $object , DateInterval $interval )

Прибавляет заданный объект DateInterval к объекту DateTime.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

interval

Объект класса DateInterval

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::add()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Процедурный стиль

<?php
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2000-01-11

Пример #2 Другие примеры с DateTime::add()

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Результат выполнения данного примера:

2000-01-01 10:00:30
2007-06-05 04:03:02

Пример #3 Будьте внимательны при добавлении месяцев

<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');

$date->add($interval);
echo $date->format('Y-m-d') . "\n";

$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

2001-01-31
2001-03-03

Примечания

При работе с PHP 5.2 в качестве альтернативы можно воспользоваться функцией DateTime::modify().

Смотрите также

  • DateTime::sub() - Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
  • DateTime::diff() - Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() - Изменение временной метки
DateTime
DateTime::__construct
DateTime


Конструктор класса DateTime

DateTime::add
DateTime::createFromFormat
DateTime
PHP Manual

DateTime::__construct

date_create

(PHP 5 >= 5.2.0)

DateTime::__construct -- date_create — Конструктор класса DateTime

Описание

Объектно-ориентированный стиль

public DateTime::__construct() ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Процедурный стиль

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Создает и возвращает новый экземпляр класса DateTime.

Список параметров

time

Строка даты/времени. Объяснение корректных форматов дано в Форматы даты и времени.

Если используется аргумент $timezone, то для получения текущего времени в новом объекте достаточно передать NULL в качестве этого аргумента.

timezone

Объект класса DateTimeZone представляющий временную зону создаваемого объекта.

Если аргумент $timezone не задан, будет использована текущая временная зона.

Замечание:

Значение аргумента $timezone равно как и текущая временная зона не будут учитываться, если в качестве аргумента $time передается метка времени UNIX (напрмер @946684800) или время, в котором временная зона уже содержится (например 2010-01-28T15:00:00+02:00).

Возвращаемые значения

Возвращает созданный объект класса DateTime. Процедурный стиль возвращает FALSE в случае возникновения ошибки.

Ошибки

В случае ошибки выбрасывает исключение Exception.

Список изменений

Версия | Описание
5.3.0 | В случае задания неверной даты выбрасывается исключение. Раньше скрипт выдавал ошибку.

Примеры

Пример #1 Пример использования DateTime::__construct()

Объектно-ориентированный стиль

<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>

Процедурный стиль

<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2000-01-01

Пример #2 Хитрости при использовании DateTime::__construct()

<?php
// Дата/время во временной зоне Вашего компьютера.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Дата/время в заданной временной зоне.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Текущие дата и время во временной зоне Вашего компьютера.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Текущие дата и время в заданной временной зоне.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Использование метки времени UNIX.
// Обратите внимание: результат во временной зоне UTC.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Несуществующие значения все равно обрабатываются.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Смотрите также

  • DateTime::createFromFormat() - Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
  • DateTimeZone::__construct() - Создает новый объект DateTimeZone
  • Форматы даты и времени
  • date.timezone ini настройка
  • date_default_timezone_set() - Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
  • DateTime::getLastErrors() - Возвращает предупреждения и ошибки
  • checkdate() - Проверяет корректность даты по григорианскому календарю
DateTime::add
DateTime::createFromFormat
DateTime


Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату

DateTime::__construct
DateTime::diff
DateTime
PHP Manual

DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0)

DateTime::createFromFormat -- date_create_from_format — Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату

Описание

Объектно-ориентированный стиль

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Процедурный стиль

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату.

Список параметров

format

Формат даты и времени в виде строки (string), которому соответствует значение второго аргумента функции. Список вариантов форматирования представлен ниже. В большинстве случаев при форматировании используются те же символы, что и в функции date().

Список возможных символов для составления строки format
Символ в строке format | Описание | Возможные значения
День --- ---
d и j | День месяца, 2 цифры с нулем в начале или без него | От 01 до 31 либо от 1 до 31
D и l | Текстовое представление дня месяца | От Mon до Sun либо от Sunday до Saturday
S | Суффикс для числа в английской нумерации, 2 буквы. Эти буквы будут пропущены при разборе строки. | st, nd, rd или th.
z | Номер дня с начала года (начиная с нуля) | C 0 по 365
Месяц --- ---
F и M | Текстовое представление месяца, например January или Sept | С January по December либо с Jan по Dec
m и n | Числовое представление месяца с первым нулем или без него | С 01 по 12 либо с 1 по 12
Год --- ---
Y | Полное числовое представление года, 4 цифры | Примеры: 1999 или 2003
y | 2 цифры в представлении года | Примеры: 99 или 03
Время --- ---
a и A | До полудня и После полудня | am или pm
g и h | 12-ти часовой формат времени с первым нулем или без него | С 1 по 12 либо с 01 по 12
G и H | 24-х часовой формат времени с нулем в начале или без него | С 0 по 23 или с 00 по 23
i | Минуты с нулем в начале | С 00 по 59
s | Секунды с нулем в начале | От 00 до 59
u | Микросекунды (до 6 цифр) | Примеры: 45, 654321
Временная зона --- ---
e, O, P и T | Идентификатор временной зоны, либо разница в часах относительно UTC, либо разница относительно UTC с запятой между часами и минутами, либо аббревиатура временной зоны | Примеры: UTC, GMT, Atlantic/Azores или +0200 или +02:00 или EST, MDT
Дата/Время полностью --- ---
U | Количество секунд с начала Эпохи Unix (January 1 1970 00:00:00 GMT) | Пример: 1292177455
Пробел и Разделители --- ---
(пробел) | Один пробел или один отступ табулатуры | Пример:
# Один из следующих символов: ;, :, /, ., ,, -, ( или ) Пример: /
;, :, /, ., ,, -, ( или ) | Символ разделитель. | Пример: -
? Один случайный (любой) символ Пример: ^ (Будьте внимательны: в UTF-8 кодировке вам может потребоваться более одного ?, так как там один символ может занимать более одного байта. В таких случаях может помочь использование *.
* Любое количество любых символов до следующего разделителя Пример: * в Y-*-d для строки 2009-aWord-08 будет соответствовать aWord
! Приводит значения всех полей (год, месяц, день, час, минута, секунда, временная зона) ко времени начала Эпохи Unix. Без !, все поля будут соответствовать текущему времени.
| Приводит значения незаданных полей (год, месяц, день, час, минута, секунда, временная зона) ко времени начала Эпохи Unix. Y-m-d| установит год, месяц и день в соответствии с данными в строке, а часы, минуты и секунды установит в 0.
+ Если задан этот спецификатор, данные, завершающие строку (нуль байт например) не будут вызывать ошибку, только предупреждение Используйте DateTime::getLastErrors() для определения, были ли в строке завершающие символы.

Наличие в строке формата неразпознаваемых символов отсутствующих в списке выше приведет к ошибке разбора строки, в этом случае сообщение об ошибке будет добавлено в возвращаемую структуру. Получить это сообщение можно с помощью функции DateTime::getLastErrors().

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

Если format содержит символ !, то значения полей, не заданных в строке формата (равно как и значения полей слева от !) будут установлены в соответствии со значениями полей начала Эпохи Unix.

Начало эпохи Unix 1970-01-01 00:00:00 UTC.

time

Строка, представляющая время.

timezone

Объект класса DateTimeZone, представляющий ожидаемую временную зону.

Возвращаемые значения

Возвращает созданный экземпляр класса DateTime или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::createFromFormat()

Объектно-ориентированный стиль

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

Процедурный стиль

<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2009-02-15

Пример #2 Хитрости при использовании DateTime::createFromFormat()

<?php
echo 'Текущее время: ' . date('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d';
$date = DateTime::createFromFormat($format, '2009-02-15');
echo "Формат: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Формат: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-!d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Формат: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = '!d';
$date = DateTime::createFromFormat($format, '15');
echo "Формат: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Текущее время: 2010-04-23 10:29:35
Формат: Y-m-d; 2009-02-15 10:29:35
Формат: Y-m-d H:i:s; 2009-02-15 15:16:17
Формат: Y-m-!d H:i:s; 1970-01-15 15:16:17
Формат: !d; 1970-01-15 00:00:00

Смотрите также

  • DateTime::__construct() - Конструктор класса DateTime
  • DateTime::getLastErrors() - Возвращает предупреждения и ошибки
  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • strptime() - Разбирает строку даты/времени сгенерированную функцией strftime
DateTime::__construct
DateTime::diff
DateTime


Возвращает разницу между двумя DateTime объектами

DateTime::createFromFormat
DateTime::format
DateTime
PHP Manual

DateTime::diff

date_diff

(PHP 5 >= 5.3.0)

DateTime::diff -- date_diff — Возвращает разницу между двумя DateTime объектами

Описание

Объектно-ориентированный стиль

public DateInterval DateTime::diff ( DateTime $datetime2 [, bool $absolute = false ] )

Процедурный стиль

DateInterval date_diff ( DateTime $datetime1 , DateTime $datetime2 [, bool $absolute = false ] )

Возвращает разницу между двумя DateTime объектами.

Список параметров

datetime

Дата и время для сравнения.

absolute

Используется, чтобы вернуть абсолютную разницу.

Возвращаемые значения

DateInterval объект представляет разницу между двумя датами или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::diff()

Объектно-ориентированный стиль

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R% дней');
?>

Процедурный стиль

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R% дней');
?>

Результат выполнения данных примеров:

+2 days

Пример #2 Сравнение объектов DateTime

Замечание:

В PHP 5.2.2, объекты DateTime сравнивались при помощи опеаторов сравнения.

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

Результат выполнения данного примера:

bool(false)
bool(true)
bool(false)

Смотрите также

  • DateInterval::format() - Форматирует интервал
  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::sub() - Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
DateTime::createFromFormat
DateTime::format
DateTime


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

DateTime::diff
DateTime::getLastErrors
DateTime
PHP Manual

DateTime::format

date_format

(PHP 5 >= 5.2.0)

DateTime::format -- date_format — Возвращает дату приведенную к заданному формату

Описание

Объектно-ориентированный стиль

public string DateTime::format ( string $format )

Процедурный стиль

string date_format ( DateTime $object , string $format )

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

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create()

format

Формат соответствующий date().

Возвращаемые значения

В случае успеха возвращает строку с отформатированной датой, в противном случае FALSE.

Примеры

Пример #1 Пример использования DateTime::format()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Процедурный стиль

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>

Результат выполнения данного примера:

2000-01-01 00:00:00

Примечания

Этот метод возвращает названия месяцев и дней недели на английском языке.

Смотрите также

  • date() - Форматирует вывод системной даты/времени
DateTime::diff
DateTime::getLastErrors
DateTime


Возвращает предупреждения и ошибки

DateTime::format
DateTime::getOffset
DateTime
PHP Manual

DateTime::getLastErrors

date_get_last_errors

(PHP 5 >= 5.3.0)

DateTime::getLastErrors -- date_get_last_errors — Возвращает предупреждения и ошибки

Описание

Объектно-ориентированный стиль

public static array DateTime::getLastErrors ( void )

Процедурный стиль

array date_get_last_errors ( void )

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

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает массив содержащий информацию об ошибках и предупреждениях.

Примеры

Пример #1 Пример использования DateTime::getLastErrors()

Объектно-ориентированный стиль

<?php
try {
    $date = new DateTime('asdfasdf');
} catch (Exception $e) {
    // Только в целях демонстрации...
    print_r(DateTime::getLastErrors());

    // делать это в объектно-ориентированном стиле лучше так:
    // echo $e->getMessage();
}
?>

Процедурный стиль

<?php
$date = date_create('asdfasdf');
print_r(date_get_last_errors());
?>

Результат выполнения данных примеров:

Array
(
   [warning_count] => 1
   [warnings] => Array
       (
           [6] => Double timezone specification
       )

   [error_count] => 1
   [errors] => Array
       (
           [0] => The timezone could not be found in the database
       )

)
DateTime::format
DateTime::getOffset
DateTime


Возвращает смещение временной зоны

DateTime::getLastErrors
DateTime::getTimestamp
DateTime
PHP Manual

DateTime::getOffset

date_offset_get

(PHP 5 >= 5.2.0)

DateTime::getOffset -- date_offset_get — Возвращает смещение временной зоны

Описание

Объектно-ориентированный стиль

public int DateTime::getOffset ( void )

Процедурный стиль

int date_offset_get ( DateTime $object )

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

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create()

Возвращаемые значения

Возвращает смещение в секундах относительно UTC при успешном завершении или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::getOffset()

Объектно-ориентированный стиль

<?php
$winter = new DateTime('2010-12-21', new DateTimeZone('America/New_York'));
$summer = new DateTime('2008-06-21', new DateTimeZone('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Процедурный стиль

<?php
$winter = date_create('2010-12-21', timezone_open('America/New_York'));
$summer = date_create('2008-06-21', timezone_open('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Результат выполнения данных примеров:

-18000
-14400

Замечание: -18000 = -5 часов, -14400 = -4 часа.

DateTime::getLastErrors
DateTime::getTimestamp
DateTime


Получение метки времени в стиле Unix

DateTime::getOffset
DateTime::getTimezone
DateTime
PHP Manual

DateTime::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0)

DateTime::getTimestamp -- date_timestamp_get — Получение метки времени в стиле Unix

Описание

Объектно-ориентированный стиль

public int DateTime::getTimestamp ( void )

Процедурный стиль

int date_timestamp_get ( DateTime $object )

Получает метку времени в стиле Unix.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

Примеры

Пример #1 Пример использования DateTime::getTimestamp()

Объектно-ориентированный стиль

<?php
$date = new DateTime();
echo $date->getTimestamp();
?>

Процедурный стиль

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

Результатом выполнения данных примеров будет что-то подобное:

1272509157

Примечания

Для версий PHP 5.2 и выше в качестве альтернативы можно передавать аргумент U в функцию DateTime::format().

Смотрите также

  • DateTime::setTimestamp() - Устанавливает дату и время, основываясь на метке времени Unix
  • DateTime::format() - Возвращает дату приведенную к заданному формату
DateTime::getOffset
DateTime::getTimezone
DateTime


Возвращает временную зону, соответствующую заданному объекту DateTime

DateTime::getTimestamp
DateTime::modify
DateTime
PHP Manual

DateTime::getTimezone

date_timezone_get

(PHP 5 >= 5.2.0)

DateTime::getTimezone -- date_timezone_get — Возвращает временную зону, соответствующую заданному объекту DateTime

Описание

Объектно-ориентированный стиль

public DateTimeZone DateTime::getTimezone ( void )

Процедурный стиль

DateTimeZone date_timezone_get ( DateTime $object )

Возвращает временную зону, соответствующую заданному объекту DateTime

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create()

Возвращаемые значения

Возвращает объект класса DateTimeZone в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::getTimezone()

Объектно-ориентированный стиль

<?php
$date = new DateTime(null, new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
?>

Процедурный стиль

<?php
$date = date_create(null, timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
?>

Результат выполнения данных примеров:

Europe/London

Смотрите также

  • DateTime::setTimezone() - Установка временной зоны для объекта класса DateTime
DateTime::getTimestamp
DateTime::modify
DateTime


Изменение временной метки

DateTime::getTimezone
DateTime::__set_state
DateTime
PHP Manual

DateTime::modify

date_modify

(PHP 5 >= 5.2.0)

DateTime::modify -- date_modify — Изменение временной метки

Описание

Объектно-ориентированный стиль

public DateTime DateTime::modify ( string $modify )

Процедурный стиль

DateTime date_modify ( DateTime $object , string $modify )

Изменяет метку времени объекта DateTime путем добавления или вычитания времени в формате, принятом для функции strtotime().

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

modify

Строка даты/времени. Объяснение корректных форматов дано в Форматы даты и времени.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.6 | Стало возможным применять абсолютные значения объектов даты/времени. Раньше использовались только относительные значения полей даты/времени.
5.3.0 | Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::modify()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

Процедурный стиль

<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2006-12-13

Пример #2 Будьте осторожны при добавлении и вычитании месяцев

<?php
$date = new DateTime('2000-12-31');

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

2001-01-31
2001-03-03

Смотрите также

  • strtotime() - Преобразует текстовое представление даты на английском языке в метку времени Unix
  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::sub() - Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
  • DateTime::setDate() - Установка даты
  • DateTime::setISODate() - Установка ISO даты
  • DateTime::setTime() - Установка времени
  • DateTime::setTimestamp() - Устанавливает дату и время, основываясь на метке времени Unix
DateTime::getTimezone
DateTime::__set_state
DateTime


Обработчик __set_state

DateTime::modify
DateTime::setDate
DateTime
PHP Manual

DateTime::__set_state

(PHP 5 >= 5.2.0)

DateTime::__set_state — Обработчик __set_state

Описание

public static DateTime DateTime::__set_state ( array $array )

Обработчик __set_state.

Список параметров

array

Массив для инициализации.

Возвращаемые значения

Возвращает новый экземпляр класса DateTime.

DateTime::modify
DateTime::setDate
DateTime


Установка даты

DateTime::__set_state
DateTime::setISODate
DateTime
PHP Manual

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0)

DateTime::setDate -- date_date_set — Установка даты

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setDate ( int $year , int $month , int $day )

Процедурный стиль

DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Переустанавливает текущее значение даты объекта DateTime в новое значение.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

year

Год новой даты.

month

Месяц новой даты.

day

День новой даты.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::setDate()

Объектно-ориентированный стиль

<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>

Процедурный стиль

<?php
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2001-02-03

Пример #2 Значения, превышающие диапазон своего поля, добавляются к старшим полям

<?php
$date = new DateTime();

$date->setDate(2001, 2, 28);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 2, 29);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 14, 3);
echo $date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

2001-02-28
2001-03-01
2002-02-03

Смотрите также

  • DateTime::setISODate() - Установка ISO даты
  • DateTime::setTime() - Установка времени
DateTime::__set_state
DateTime::setISODate
DateTime


Установка ISO даты

DateTime::setDate
DateTime::setTime
DateTime
PHP Manual

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0)

DateTime::setISODate -- date_isodate_set — Установка ISO даты

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Процедурный стиль

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

Установка даты в соответствии со стандартом ISO 8601, в котором использование недель и смещения в днях предпочтительней указания даты.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

year

Год новой даты.

week

Неделя новой даты.

day

Смещение относительно начала недели.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::setISODate()

Объектно-ориентированный стиль

<?php
$date = new DateTime();

$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>

Процедурный стиль

<?php
$date = date_create();

date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";

date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>

Результат выполнения данных примеров:

2008-01-07
2008-01-13

Пример #2 Значения, превышающие допустимые пределы, добавляются к старшим полям

<?php
$date = new DateTime();

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

2008-01-13
2008-01-14
2009-01-04

Пример #3 Поиск месяца по номеру недели

<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>

Результат выполнения данных примеров:

3

Смотрите также

  • DateTime::setDate() - Установка даты
  • DateTime::setTime() - Установка времени
DateTime::setDate
DateTime::setTime
DateTime


Установка времени

DateTime::setISODate
DateTime::setTimestamp
DateTime
PHP Manual

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0)

DateTime::setTime -- date_time_set — Установка времени

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second = 0 ] )

Процедурный стиль

DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 ] )

Переустанавливает текущее значение времени объекта DateTime в новое значение.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

hour

Час нового времени.

minute

Минуты нового времени.

second

Секунды нового времени.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::setTime()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Процедурный стиль

<?php
$date = date_create('2001-01-01');

date_time_set($date, 14, 55);
echo date_format($date, 'Y-m-d H:i:s') . "\n";

date_time_set($date, 14, 55, 24);
echo date_format($date, 'Y-m-d H:i:s') . "\n";
?>

Результатом выполнения данных примеров будет что-то подобное:

2000-01-01 14:55:00
2000-01-01 14:55:24

Пример #2 Значения, превышающие диапазон своего поля, добавляются к старшим полям

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 65);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 65, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(25, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Результат выполнения данного примера:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Смотрите также

  • DateTime::setDate() - Установка даты
  • DateTime::setISODate() - Установка ISO даты
DateTime::setISODate
DateTime::setTimestamp
DateTime


Устанавливает дату и время, основываясь на метке времени Unix

DateTime::setTime
DateTime::setTimezone
DateTime
PHP Manual

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0)

DateTime::setTimestamp -- date_timestamp_set — Устанавливает дату и время, основываясь на метке времени Unix

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

Процедурный стиль

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Устанавливает дату и время, основываясь на метке времени Unix.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

unixtimestamp

Метка времени Unix представляющая дату.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::setTimestamp()

Объектно-ориентированный стиль

<?php
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s') . "\n";

$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Процедурный стиль

<?php
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";

date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
?>

Результатом выполнения данных примеров будет что-то подобное:

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Примечания

Использование меток времени Unix для создания экземпляров DateTime является альтернативным при работе с PHP 5.2. См. пример ниже.

Пример #2 Использование DateTime::setTimestamp() в качестве альтернативы в PHP 5.2

<?php
$ts = 1171502725;
$date = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

1171502725 = 2007-02-14 20:25:25

Смотрите также

  • DateTime::getTimestamp() - Получение метки времени в стиле Unix
DateTime::setTime
DateTime::setTimezone
DateTime


Установка временной зоны для объекта класса DateTime

DateTime::setTimestamp
DateTime::sub
DateTime
PHP Manual

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0)

DateTime::setTimezone -- date_timezone_set — Установка временной зоны для объекта класса DateTime

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setTimezone ( DateTimeZone $timezone )

Процедурный стиль

DateTime date_timezone_set ( DateTime $object , DateTimeZone $timezone )

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

timezone

Объект класса DateTimeZone представляющий ожидаемую временную зону.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::setTimeZone()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Процедурный стиль

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

Результат выполнения данных примеров:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Смотрите также

  • DateTime::getTimezone() - Возвращает временную зону, соответствующую заданному объекту DateTime
  • DateTimeZone::__construct() - Создает новый объект DateTimeZone
DateTime::setTimestamp
DateTime::sub
DateTime


Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime

DateTime::setTimezone
DateTime::__wakeup
DateTime
PHP Manual

DateTime::sub

date_sub

(PHP 5 >= 5.3.0)

DateTime::sub -- date_sub — Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime

Описание

Объектно-ориентированный стиль

public DateTime DateTime::sub ( DateInterval $interval )

Процедурный стиль

DateTime date_sub ( DateTime $object , DateInterval $interval )

Вычитает из времени объекта DateTime заданный интервал DateInterval.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

interval

Объект класса DateInterval

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::sub()

Объектно-ориентированный стиль

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Процедурный стиль

<?php
$date = date_create('2000-01-20');
date_sub($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Результат выполнения данных примеров:

2000-01-10

Пример #2 Другие примеры DateTime::sub()

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Результат выполнения данного примера:

2000-01-19 13:59:30
1992-08-15 19:56:58

Пример #3 Будьте внимательны при вычитании месяцев

<?php
$date = new DateTime('2001-04-30');
$interval = new DateInterval('P1M');

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

2001-03-30
2001-03-02

Примечания

При работе с PHP 5.2 в качестве альтернативы можно использовать функцию DateTime::modify().

Смотрите также

  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::diff() - Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() - Изменение временной метки
DateTime::setTimezone
DateTime::__wakeup
DateTime


Обработчик __wakeup

DateTime::sub
DateTimeZone
DateTime
PHP Manual

DateTime::__wakeup

(PHP 5 >= 5.2.0)

DateTime::__wakeup — Обработчик __wakeup

Описание

public DateTime DateTime::__wakeup ( void )

Оработчик __wakeup.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Инициализирует объект класса DateTime.

DateTime::sub
DateTimeZone
DateTime


Класс DateTimeZone

(Информация о версии неизвестна, возможно, только в SVN)

Введение

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

Обзор классов

DateTimeZone {
/* Константы */
const integer AFRICA = 1 ;
const integer AMERICA = 2 ;
const integer ANTARCTICA = 4 ;
const integer ARCTIC = 8 ;
const integer ASIA = 16 ;
const integer ATLANTIC = 32 ;
const integer AUSTRALIA = 64 ;
const integer EUROPE = 128 ;
const integer INDIAN = 256 ;
const integer PACIFIC = 512 ;
const integer UTC = 1024 ;
const integer ALL = 2047 ;
const integer ALL_WITH_BC = 4095 ;
const integer PER_COUNTRY = 4096 ;
/* Методы */
public __construct ( string $timezone )
public array getLocation ( void )
public string getName ( void )
public int getOffset ( DateTime $datetime )
public array getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
public static array listAbbreviations ( void )
public static array listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )
}

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

DateTimeZone::AFRICA

Временные зоны Африки.

DateTimeZone::AMERICA

Временные зоны Америки.

DateTimeZone::ANTARCTICA

Временные зоны Антарктики.

DateTimeZone::ARCTIC

Временные зоны Арктики.

DateTimeZone::ASIA

Временные зоны Азии.

DateTimeZone::ATLANTIC

Временные зоны Атлантики.

DateTimeZone::AUSTRALIA

Временные зоны Австралии.

DateTimeZone::EUROPE

Временные зоны Европы.

DateTimeZone::INDIAN

Временные зоны Индии.

DateTimeZone::PACIFIC

Временные зоны Тихого океана.

DateTimeZone::UTC

Временная зона UTC.

DateTimeZone::ALL

Все временные зоны.

DateTimeZone::ALL_WITH_BC

Все временные зоны, включая обратно совместимые.

DateTimeZone::PER_COUNTRY

Временных зон на страну.

Содержание

  • DateTimeZone::__construct — Создает новый объект DateTimeZone
  • DateTimeZone::getLocation — Возвращает информацию о местоположении для временной зоны
  • DateTimeZone::getName — Возвращает имя временной зоны
  • DateTimeZone::getOffset — Возвращает смещение временной зоны от GMT
  • DateTimeZone::getTransitions — Возвращает все переходы для временной зоны
  • DateTimeZone::listAbbreviations — Возвращает ассоциативный массив содержащий флаг перехода на летнее время, смещение и имя временной зоны
  • DateTimeZone::listIdentifiers — Вовращает численно индексированный массив со всеми идентификаторами временных зон
DateTime::__wakeup
DateTimeZone::__construct
Дата/Время


Создает новый объект DateTimeZone

DateTimeZone
DateTimeZone::getLocation
DateTimeZone
PHP Manual

DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0)

DateTimeZone::__construct -- timezone_open — Создает новый объект DateTimeZone

Описание

Объектно-ориентированный стиль

public DateTimeZone::__construct() ( string $timezone )

Процедурный стиль

DateTimeZone timezone_open ( string $timezone )

Создает новый объект DateTimeZone.

Список параметров

timezone

Одна из временных зон.

Возвращаемые значения

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

Ошибки

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

Примеры

Пример #1 Фиксация ошибок при создании экземпляра DateTimeZone

<?php
// Обработка ошибок с помощью перехвата исключений
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($timezones as $tz) {
    try {
        $mars = new DateTimeZone($tz);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>

Результат выполнения данного примера:

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]:  Unknown or bad timezone (Jupiter/Europa)

DateTimeZone
DateTimeZone::getLocation
DateTimeZone


Возвращает информацию о местоположении для временной зоны

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone
PHP Manual

DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0)

DateTimeZone::getLocation -- timezone_location_get — Возвращает информацию о местоположении для временной зоны

Описание

Объектно-ориентированный стиль

public array DateTimeZone::getLocation ( void )

Процедурный стиль

array timezone_location_get ( DateTimeZone $object )

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

Список параметров

object

Только для процедурного стиля: Объект DateTimeZone, возвращаемый timezone_open()

Возвращаемые значения

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

Примеры

Пример #1 Пример использования DateTimeZone::getLocation()

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
print_r(timezone_location_get($tz));
?>

Результат выполнения данного примера:

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone


Возвращает имя временной зоны

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone
PHP Manual

DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0)

DateTimeZone::getName -- timezone_name_get — Возвращает имя временной зоны

Описание

Объектно-ориентированный стиль

public string DateTimeZone::getName ( void )

Процедурный стиль

string timezone_name_get ( DateTimeZone $object )

Возвращает имя временной зоны.

Список параметров

object

Объект класса DateTimeZone, для которого нужно получить имя.

Возвращаемые значения

Одно из имен временной зоны в списке временных зон.

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone


Возвращает смещение временной зоны от GMT

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone
PHP Manual

DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0)

DateTimeZone::getOffset -- timezone_offset_get — Возвращает смещение временной зоны от GMT

Описание

Объектно-ориентированный стиль

public int DateTimeZone::getOffset ( DateTime $datetime )

Процедурный стиль

int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )

Эта функция возвращает смещение от GMT для даты/времени, указанных в параметре datetime. GMT-смещение рассчитывается с помощью информации о временной зоне, содержащейся в используемом объекте DateTimeZone.

Список параметров

object

Только для процедурного стиля: Объект DateTimeZone, возвращаемый timezone_open()

datetime

DateTime, содержащий дату/время, относительно которых вычисляется смещение.

Возвращаемые значения

В случае успеха возвращает смещение временной зоны в секундах или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTimeZone::getOffset()

<?php
// Создание двух объектов timezone, один для  Тайбэй (Тайвань) и один для
// Токио (Япония)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Создание двух объектов DateTime которые будут содержать одинаковые метки времени Unix, но
// имеющие различные временные зоны.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Вычисление смещения от GMT для даты/времени, содержащихся в объекте $dateTimeTaipei,
// но с использованием правил временной зоны, определенных для Токио
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Должен показать int(32400) (для дат после Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone


Возвращает все переходы для временной зоны

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone
PHP Manual

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0)

DateTimeZone::getTransitions -- timezone_transitions_get — Возвращает все переходы для временной зоны

Описание

Объектно-ориентированный стиль

public array DateTimeZone::getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )

Процедурный стиль

array timezone_transitions_get ( DateTimeZone $object [, int $timestamp_begin [, int $timestamp_end ]] )

Список параметров

object

Только для процедурного стиля: Объект DateTimeZone, возвращаемый timezone_open()

timestamp_begin

Начальная метка времени.

timestamp_end

Конечная метка времени.

Возвращаемые значения

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

Список изменений

Версия | Описание
5.3.0 | Были добавлены необязательные параметры timestamp_begin и timestamp_end.

Примеры

Пример #1 Пример использования timezone_transitions_get()

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [ts] => -9223372036854775808
            [time] => -292277022657-01-27T08:29:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

)

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone


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

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone
PHP Manual

DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0)

DateTimeZone::listAbbreviations -- timezone_abbreviations_list — Возвращает ассоциативный массив содержащий флаг перехода на летнее время, смещение и имя временной зоны

Описание

Объектно-ориентированный стиль

public static array DateTimeZone::listAbbreviations ( void )

Процедурный стиль

array timezone_abbreviations_list ( void )

Возвращаемые значения

В случае успеха возвращает массив или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования timezone_abbreviations_list()

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Смотрите также

  • timezone_identifiers_list() - Псевдоним DateTimeZone::listIdentifiers

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone


Вовращает численно индексированный массив со всеми идентификаторами временных зон

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone
PHP Manual

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0)

DateTimeZone::listIdentifiers -- timezone_identifiers_list — Вовращает численно индексированный массив со всеми идентификаторами временных зон

Описание

Объектно-ориентированный стиль

public static array DateTimeZone::listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Процедурный стиль

array timezone_identifiers_list ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Список параметров

what

Одна из констант класса DateTimeZone.

country

Двухбуквенный совместимый с ISO 3166-1 код страны.

Замечание: Эта опция используется только если параметр what установлен в DateTimeZone::PER_COUNTRY.

Возвращаемые значения

В случае успеха возвращает массив или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Добавлены необязательные параметры what и country.

Примеры

Пример #1 Пример использования timezone_identifiers_list()

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Смотрите также

  • timezone_abbreviations_list() - Псевдоним DateTimeZone::listAbbreviations

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone


Класс DateInterval

(Информация о версии неизвестна, возможно, только в SVN)

Введение

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

Обзор классов

DateInterval {
/* Свойства */
public integer $DateInterval->y ;
public integer $m ;
public integer $d ;
public integer $h ;
public integer $i ;
public integer $s ;
public integer $invert ;
public mixed $days ;
/* Методы */
public DateInterval::__construct ( string $interval_spec )
public static DateInterval DateInterval::createFromDateString ( string $time )
public string DateInterval::format ( string $format )
}

Свойства

y

Количество лет.

m

Количество месяцев.

d

Количество дней.

h

Количество часов.

i

Количество минут.

s

Количество секунд.

invert

Принимает 1 если интервал инвертируется и 0 в противном случае. См. DateInterval::format().

days

Общее количество дней в интервале. Если оно неизвестно, days устанавливается в FALSE.

Содержание

  • DateInterval::__construct — Создает новый объект DateInterval
  • DateInterval::createFromDateString — Создает объект класса DateInterval, используя данные из переданной строки
  • DateInterval::format — Форматирует интервал
DateTimeZone::listIdentifiers
DateInterval::__construct
Дата/Время


Создает новый объект DateInterval

DateInterval
DateInterval::createFromDateString
DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0)

DateInterval::__construct — Создает новый объект DateInterval

Описание

public DateInterval::__construct() ( string $interval_spec )

Создает новый объект DateInterval.

Список параметров

interval_spec

Описание интервала.

Формат начинается с буквы P, за "период". Длина каждого периода описывается целым значением и следующим за ним указателем периода. Если длина периода содержит время, то его описанию должна предшествовать буква T.

interval_spec Указатели периода
Указатель периода | Описание
Y | года
M | месяцы
D | дни
W | недели. Преобразуется в дни, поэтому не может быть использован совместно с D.
H | часы
M | минуты
S | секунды

Вот несколько простых примеров. Два дня - P2D. Две секунды - PT2S. Шесть лет и пять минут - P6YT5M.

Замечание:

Указатели должны записываться от большей величины (слева) к меньшей величине (направо). То есть года должны быть до месяцев, месяцы до дней, дни до минут и так далее. Таким образом, один год и четыре дня должны быть представлены как P1Y4D, но не P4D1Y.

Задать период также можно в виде даты и времени. Пример одного года и четырех дней может описываться как P0001-00-04T00:00:00. Но значения в этом формате не должны выходить за рамки допустимых значений даты и времени (т.е., 25 часов недопустимо)

Эти форматы основаны на » спецификации ISO 8601.

Примеры

Пример #1 Пример использования DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
print_r($interval);

?>

Результат выполнения данного примера:

DateInterval Object
(
    [y] => 2
    [m] => 0
    [d] => 4
    [h] => 6
    [i] => 8
    [s] => 0
    [invert] => 0
    [days] => 0
)

Смотрите также

  • DateInterval::format() - Форматирует интервал
  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::sub() - Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
  • DateTime::diff() - Возвращает разницу между двумя DateTime объектами

DateInterval
DateInterval::createFromDateString
DateInterval


Создает объект класса DateInterval, используя данные из переданной строки

DateInterval::__construct
DateInterval::format
DateInterval
PHP Manual

DateInterval::createFromDateString

(PHP 5 >= 5.3.0)

DateInterval::createFromDateString — Создает объект класса DateInterval, используя данные из переданной строки

Описание

public static DateInterval DateInterval::createFromDateString ( string $time )

Разбирает строку содержащую временной интервал в обычном (удобочитаемом) виде и создает на его основе объект класса DateInterval.

Список параметров

time

Дата в удобочитаемом виде, содержащая временной интервал (например: "1 Month").

Возвращаемые значения

Возвращает новый объект класса DateInterval.

DateInterval::__construct
DateInterval::format
DateInterval


Форматирует интервал

DateInterval::createFromDateString
DatePeriod
DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0)

DateInterval::format — Форматирует интервал

Описание

public string DateInterval::format ( string $format )

Форматирует интервал.

Список параметров

format

В строке format распознаются следующие символы. Каждому такому символу должен предшествовать знак процента (%).
Символ в строкеformat | Описание | Пример значения
% Символ % %
Y | Годы, число, минимум две цифры с ведущими нулями | 01, 03
y | Годы, число | 1, 3
M | Месяцы, число, минимум две цифры с ведущими нулями | 01, 03, 12
m | Месяцы, число | 1, 3, 12
D | Дни, число, минимум две цифры с ведущими нулями | 01, 03, 31
d | Дни, число | 1, 3, 31
a | Общее количество дней | 4, 18, 8123
H | Часы, число, минимум две цифры с ведущими нулями | 01, 03, 23
h | Часы, число | 1, 3, 23
I | Минуты, число, минимум две цифры с ведущими нулями | 01, 03, 59
i | Минуты, число | 1, 3, 59
S | Секунды, число, минимум две цифры с ведущими нулями | 01, 03, 57
s | Секунды, число | 1, 3, 57
R Знак "-" при отрицательном числе, "+" при положительном -, +
r Знак "-" при отрицательном числе, пусто при положительном -,

Возвращаемые значения

Возвращает отформатированный интервал.

Примечания

Замечание:

Метод DateInterval::format() не делает пересчета и переноса единиц времени при переполнении значений дат. Это ожидаемое поведение, поскольку невозможно реализовать перенос при значениях, например, "32 days", которые могут интерпретироваться по-разному, начиная "1 month and 4 days" и заканчивая "1 month and 1 day".

Примеры

Пример #1 Пример использования DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');

?>

Результат выполнения данного примера:

4 days

Пример #2 DateInterval и перенос единиц

<?php

$interval = new DateInterval('P32D');
echo $interval->format('%d days');

?>

Результат выполнения данного примера:

32 days

Пример #3 DateInterval и DateTime::diff() с модификаторами %a и %d

<?php

$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// %a выведет общее количество дней.
echo $interval->format('%a total days')."\n";

// В то время как %d выведет только число дней, не покрытых месяцем
echo $interval->format('%m month, %d days');

?>

Результат выполнения данного примера:

31 total days
1 month, 0 days

DateInterval::createFromDateString
DatePeriod
DateInterval


Класс DatePeriod

(Информация о версии неизвестна, возможно, только в SVN)

Введение

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

Обзор классов

DatePeriod implements Traversable {
/* Константы */
const integer EXCLUDE_START_DATE = 1 ;
/* Методы */
public __construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public __construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public __construct ( string $isostr [, int $options ] )
}

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

DatePeriod::EXCLUDE_START_DATE

Исключает начальную дату, используется в DatePeriod::__construct().

Содержание

  • DatePeriod::__construct — Создает новый объект DatePeriod
DateInterval::format
DatePeriod::__construct
Дата/Время


Создает новый объект DatePeriod

DatePeriod
Функции даты и времени
DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0)

DatePeriod::__construct — Создает новый объект DatePeriod

Описание

public DatePeriod::__construct() ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public DatePeriod::__construct() ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public DatePeriod::__construct() ( string $isostr [, int $options ] )

Создает новый объект DatePeriod.

Список параметров

start

Начальная дата.

interval

Интервал.

recurrences

Количество повторений.

end

Конечная дата.

isostr

Строка, содержащая ISO интервал.

options

Может быть установлено значение DatePeriod::EXCLUDE_START_DATE.

DatePeriod
Функции даты и времени
DatePeriod


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

Содержание

  • checkdate — Проверяет корректность даты по григорианскому календарю
  • date_add — Псевдоним DateTime::add
  • date_create_from_format — Псевдоним DateTime::createFromFormat
  • date_create — Псевдоним DateTime::__construct
  • date_date_set — Псевдоним DateTime::setDate
  • date_default_timezone_get — Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте
  • date_default_timezone_set — Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
  • date_diff — Псевдоним DateTime::diff
  • date_format — Псевдоним DateTime::format
  • date_get_last_errors — Псевдоним DateTime::getLastErrors
  • date_interval_create_from_date_string — Псевдоним DateInterval::createFromDateString
  • date_interval_format — Псевдоним DateInterval::format
  • date_isodate_set — Псевдоним DateTime::setISODate
  • date_modify — Псевдоним DateTime::modify
  • date_offset_get — Псевдоним DateTime::getOffset
  • date_parse_from_format — Получение информации о заданной в определенном формате дате
  • date_parse — Возвращает ассоциативный массив с подробной информацией о заданной дате
  • date_sub — Псевдоним DateTime::sub
  • date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек
  • date_sunrise — Возвращает время рассвета для заданных дня и местоположения
  • date_sunset — Возвращает время захода солнца для заданных дня и местоположения
  • date_time_set — Псевдоним DateTime::setTime
  • date_timestamp_get — Псевдоним DateTime::getTimestamp
  • date_timestamp_set — Псевдоним DateTime::setTimestamp
  • date_timezone_get — Псевдоним DateTime::getTimezone
  • date_timezone_set — Псевдоним DateTime::setTimezone
  • date — Форматирует вывод системной даты/времени
  • getdate — Возвращает информацию о дате/времени
  • gettimeofday — Возвращает текущее время
  • gmdate — Форматирует дату/время по Гринвичу
  • gmmktime — Возвращает метку времени Unix для времени по Гринвичу
  • gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали
  • idate — Преобразует локальное время/дату в целое число
  • localtime — Возвращает локальное время
  • microtime — Возвращает текущую метку времени Unix с микросекундами
  • mktime — Возвращает метку времени Unix для заданной даты
  • strftime — Форматирует текущую дату/время с учетом текущих настроек локали
  • strptime — Разбирает строку даты/времени сгенерированную функцией strftime
  • strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
  • time — Возвращает текущую метку времени Unix
  • timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
  • timezone_location_get — Псевдоним DateTimeZone::getLocation
  • timezone_name_from_abbr — Возвращает временную зону в соответствии с аббревиатурой
  • timezone_name_get — Псевдоним DateTimeZone::getName
  • timezone_offset_get — Псевдоним DateTimeZone::getOffset
  • timezone_open — Псевдоним DateTimeZone::__construct
  • timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
  • timezone_version_get — Получение номера версии базы данных временных зон
DatePeriod::__construct
checkdate
Дата/Время


Проверяет корректность даты по григорианскому календарю

Функции даты и времени
date_add
Функции даты и времени
PHP Manual

checkdate

(PHP 4, PHP 5)

checkdate — Проверяет корректность даты по григорианскому календарю

Описание

bool checkdate ( int $month , int $day , int $year )

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

Список параметров

month

Месяц. Принимает значения от 1 до 12 включительно.

day

День. Принимает значения, допустимые для указанного месяца month. При этом учитывается, является ли год year високосным.

year

Год. Принимает значения от 1 до 32767 включительно.

Возвращаемые значения

Возвращает TRUE, если проверяемая дата является корректной, или FALSE в противном случае.

Примеры

Пример #1 Пример использования функции checkdate()

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Смотрите также

  • mktime() - Возвращает метку времени Unix для заданной даты
  • strtotime() - Преобразует текстовое представление даты на английском языке в метку времени Unix

Функции даты и времени
date_add
Функции даты и времени


Псевдоним DateTime::add

checkdate
date_create_from_format
Функции даты и времени
PHP Manual

date_add

(PHP 5 >= 5.3.0)

date_add — Псевдоним DateTime::add()

Описание

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

checkdate
date_create_from_format
Функции даты и времени


Псевдоним DateTime::createFromFormat

date_add
date_create
Функции даты и времени
PHP Manual

date_create_from_format

(PHP 5 >= 5.3.0)

date_create_from_format — Псевдоним DateTime::createFromFormat()

Описание

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

date_add
date_create
Функции даты и времени


Псевдоним DateTime::__construct

date_create_from_format
date_date_set
Функции даты и времени
PHP Manual

date_create

(PHP 5 >= 5.2.0)

date_create — Псевдоним DateTime::__construct()

Описание

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

date_create_from_format
date_date_set
Функции даты и времени


Псевдоним DateTime::setDate

date_create
date_default_timezone_get
Функции даты и времени
PHP Manual

date_date_set

(PHP 5 >= 5.2.0)

date_date_set — Псевдоним DateTime::setDate()

Описание

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

date_create
date_default_timezone_get
Функции даты и времени


Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте

date_date_set
date_default_timezone_set
Функции даты и времени
PHP Manual

date_default_timezone_get

(PHP 5 >= 5.1.0)

date_default_timezone_get — Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте

Описание

string date_default_timezone_get ( void )

Функция пытается получить временную зону по умолчанию по порядку следующими способами:

  • Чтение настройки временной зоны с помощью функции date_default_timezone_set() (если применимо)

  • Только до версии PHP 5.4.0: чтение переменной окружения TZ (если она не пуста)

  • Чтение значения ini настройки date.timezone (если задана)

  • Только до версии PHP 5.4.0: опрос операционной системы (если поддерживается и разрешено ОС). При этом используется механизм угадывания временной зоны. Этот механизм не всегда корректно работает. Если используется этот метод (все предыдущие не дали результата), будет выдано предупреждение. Не стоит полагаться на результат, полученный этим способом, вместо этого лучше задать в параметрах временной зоны date.timezone правильное значение.

Если ни один из способов не принес результата, date_default_timezone_get() вернет временную зону UTC.

Возвращаемые значения

Возвращает string.

Список изменений

Версия | Описание
5.4.0 | Переменная окружения TZ больше не используется при угадывании временной зоны.
5.4.0 | Временная зона больше не угадывается с помощью информации, полученной из операционной системы, так как данный метод нестабилен и на него нельзя полагаться.

Примеры

Пример #1 Получение временной зоны по умолчанию

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

Результатом выполнения данного примера будет что-то подобное:

date_default_timezone_set: Europe/London
date.timezone: Europe/London

Пример #2 Получение аббревиатуры временной зоны

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

Результат выполнения данного примера:

America/Los_Angeles => America/Los_Angeles => PST

Смотрите также

  • date_default_timezone_set() - Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
  • Список поддерживаемых временных зон

date_date_set
date_default_timezone_set
Функции даты и времени


Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте

date_default_timezone_get
date_diff
Функции даты и времени
PHP Manual

date_default_timezone_set

(PHP 5 >= 5.1.0)

date_default_timezone_set — Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте

Описание

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте .

Замечание:

Начиная с версии PHP 5.1.0 (когда функции даты/времени были переписаны), вызов любой функции даты времени генерирует E_NOTICE, если временная зона имеет неверное значение, и/или E_WARNING, если используются системные параметры или переменная окружения TZ.

Вместо использования этой функции, Вы можете воспользоваться INI настройкой date.timezone для установки временной зоны по умолчанию.

Список параметров

timezone_identifier

Идентификатор временной зоны, как например UTC или Europe/Lisbon. Список поддерживаемых временных зон.

Возвращаемые значения

Функция возвращает FALSE, если timezone_identifier имеет неверное значение, в остальных случаях TRUE.

Примеры

Пример #1 Получение временной зоны по умолчанию

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Временная зона скрипта отличается от заданной в INI-файле.';
} else {
    echo 'Временные зоны скрипта и настройки INI-файла совпадают.';
}
?>

Список изменений

Версия | Описание
5.3.0 | Теперь выбрасывает E_WARNING вместо E_STRICT.
5.1.2 | Функция начала проверять timezone_identifier.

Смотрите также

  • date_default_timezone_get() - Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте
  • Список поддерживаемых временных зон

date_default_timezone_get
date_diff
Функции даты и времени


Псевдоним DateTime::diff

date_default_timezone_set
date_format
Функции даты и времени
PHP Manual

date_diff

(PHP 5 >= 5.3.0)

date_diff — Псевдоним DateTime::diff()

Описание

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

date_default_timezone_set
date_format
Функции даты и времени


Псевдоним DateTime::format

date_diff
date_get_last_errors
Функции даты и времени
PHP Manual

date_format

(PHP 5 >= 5.2.0)

date_format — Псевдоним DateTime::format()

Описание

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

date_diff
date_get_last_errors
Функции даты и времени


Псевдоним DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Функции даты и времени
PHP Manual

date_get_last_errors

(PHP 5 >= 5.3.0)

date_get_last_errors — Псевдоним DateTime::getLastErrors()

Описание

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

date_format
date_interval_create_from_date_string
Функции даты и времени


Псевдоним DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Функции даты и времени
PHP Manual

date_interval_create_from_date_string

(PHP 5 >= 5.3.0)

date_interval_create_from_date_string — Псевдоним DateInterval::createFromDateString()

Описание

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

date_get_last_errors
date_interval_format
Функции даты и времени


Псевдоним DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Функции даты и времени
PHP Manual

date_interval_format

(PHP 5 >= 5.3.0)

date_interval_format — Псевдоним DateInterval::format()

Описание

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

date_interval_create_from_date_string
date_isodate_set
Функции даты и времени


Псевдоним DateTime::setISODate

date_interval_format
date_modify
Функции даты и времени
PHP Manual

date_isodate_set

(PHP 5 >= 5.2.0)

date_isodate_set — Псевдоним DateTime::setISODate()

Описание

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

date_interval_format
date_modify
Функции даты и времени


Псевдоним DateTime::modify

date_isodate_set
date_offset_get
Функции даты и времени
PHP Manual

date_modify

(PHP 5 >= 5.2.0)

date_modify — Псевдоним DateTime::modify()

Описание

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

date_isodate_set
date_offset_get
Функции даты и времени


Псевдоним DateTime::getOffset

date_modify
date_parse_from_format
Функции даты и времени
PHP Manual

date_offset_get

(PHP 5 >= 5.2.0)

date_offset_get — Псевдоним DateTime::getOffset()

Описание

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

date_modify
date_parse_from_format
Функции даты и времени


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

date_offset_get
date_parse
Функции даты и времени
PHP Manual

date_parse_from_format

(PHP 5 >= 5.3.0)

date_parse_from_format — Получение информации о заданной в определенном формате дате

Описание

array date_parse_from_format ( string $format , string $date )

Возвращает ассоциативный массив с подробной информацией о заданной дате.

Список параметров

format

Формат, распознаваемый функцией DateTime::createFromFormat().

date

Строка, представляющая дату.

Возвращаемые значения

Возвращает ассоциативный массив с подробной информацией о заданной дате.

Примеры

Пример #1 Пример использования date_parse_from_format()

<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

Результат выполнения данного примера:

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => -60
    [is_dst] =>
)

Смотрите также

  • DateTime::createFromFormat() - Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
  • checkdate() - Проверяет корректность даты по григорианскому календарю

date_offset_get
date_parse
Функции даты и времени


Возвращает ассоциативный массив с подробной информацией о заданной дате

date_parse_from_format
date_sub
Функции даты и времени
PHP Manual

date_parse

(PHP 5 >= 5.2.0)

date_parse — Возвращает ассоциативный массив с подробной информацией о заданной дате

Описание

array date_parse ( string $date )

Список параметров

date

Дата в формате, распознаваемом функцией strtotime().

Возвращаемые значения

Возвращает массив (array), содержащий информацию о дате в случае успеха или FALSE в случае возникновения ошибки.

Ошибки

В случае ошибок форматирования даты, элемент массива 'errors' будет содержать сообщения об этих ошибках.

Примеры

Пример #1 Пример использования date_parse()

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

Результат выполнения данного примера:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Смотрите также

  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • getdate() - Возвращает информацию о дате/времени

date_parse_from_format
date_sub
Функции даты и времени


Псевдоним DateTime::sub

date_parse
date_sun_info
Функции даты и времени
PHP Manual

date_sub

(PHP 5 >= 5.3.0)

date_sub — Псевдоним DateTime::sub()

Описание

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

date_parse
date_sun_info
Функции даты и времени


Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек

date_sub
date_sunrise
Функции даты и времени
PHP Manual

date_sun_info

(PHP 5 >= 5.1.2)

date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек

Описание

array date_sun_info ( int $time , float $latitude , float $longitude )

Список параметров

time

Временная метка.

latitude

Широта в градусах.

longitude

Долгота в градусах.

Возвращаемые значения

Возвращает массив при успешном завершении или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования date_sun_info()

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

Результат выполнения данного примера:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Смотрите также

  • date_sunrise() - Возвращает время рассвета для заданных дня и местоположения
  • date_sunset() - Возвращает время захода солнца для заданных дня и местоположения

date_sub
date_sunrise
Функции даты и времени


Возвращает время рассвета для заданных дня и местоположения

date_sun_info
date_sunset
Функции даты и времени
PHP Manual

date_sunrise

(PHP 5)

date_sunrise — Возвращает время рассвета для заданных дня и местоположения

Описание

mixed date_sunrise ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunrise() возвращает время рассвета для определенных дня (заданного аргументом timestamp) и местоположения.

Список параметров

timestamp

Временная метка (timestamp) дня, для которого определяется время рассвета.

format

format constants
константа | описание | пример
SUNFUNCS_RET_STRING | тип возвращаемого результата string | 16:46
SUNFUNCS_RET_DOUBLE | тип возвращаемого результата float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | тип возвращаемого результата integer (временная метка) | 1095034606

latitude

По умолчанию в Северном полушарии, для Южного передается отрицательная величина. См. также date.default_latitude.

longitude

По умолчанию восточная, для указания западной долготы передается отрицательная величина. См. также date.default_longitude.

zenith

По умолчанию: date.sunrise_zenith

gmtoffset

Задается в часах.

Возвращаемые значения

Возвращает время восхода солнца в заданном формате format или FALSE в случае возникновения ошибки.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Примеры

Пример #1 Пример использования date_sunrise()

<?php

/* расчет времени восхода солнца в Лиссабоне, Португалия
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', время восхода солнца : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Результатом выполнения данного примера будет что-то подобное:

Mon Dec 20 2004, время восхода солнца : 08:54

Смотрите также

  • date_sunset() - Возвращает время захода солнца для заданных дня и местоположения

date_sun_info
date_sunset
Функции даты и времени


Возвращает время захода солнца для заданных дня и местоположения

date_sunrise
date_time_set
Функции даты и времени
PHP Manual

date_sunset

(PHP 5)

date_sunset — Возвращает время захода солнца для заданных дня и местоположения

Описание

mixed date_sunset ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunset_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunset() возвращает время захода солнца для определенных дня (заданного аргументом timestamp) и местоположения.

Список параметров

timestamp

Временная метка (timestamp) дня, для которого определяется время захода солнца.

format

format constants
константа | описание | пример
SUNFUNCS_RET_STRING | тип возвращаемого результата string | 16:46
SUNFUNCS_RET_DOUBLE | тип возвращаемого результата float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | тип возвращаемого результата integer (временная метка) | 1095034606

latitude

По умолчанию в Северном полушарии, для Южного передается отрицательная величина. См. также date.default_latitude.

longitude

По умолчанию восточная, для указания западной долготы передается отрицательная величина. См. также date.default_longitude.

zenith

По умолчанию: date.sunset_zenith

gmtoffset

Задается в часах.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Возвращаемые значения

Возвращает время захода солнца в заданном формате format или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример исользования date_sunset()

<?php

/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', время захода солнца : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Результатом выполнения данного примера будет что-то подобное:

Mon Dec 20 2004, время захода солнца : 18:13

Смотрите также

  • date_sunrise() - Возвращает время рассвета для заданных дня и местоположения

date_sunrise
date_time_set
Функции даты и времени


Псевдоним DateTime::setTime

date_sunset
date_timestamp_get
Функции даты и времени
PHP Manual

date_time_set

(PHP 5 >= 5.2.0)

date_time_set — Псевдоним DateTime::setTime()

Описание

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

date_sunset
date_timestamp_get
Функции даты и времени


Псевдоним DateTime::getTimestamp

date_time_set
date_timestamp_set
Функции даты и времени
PHP Manual

date_timestamp_get

(PHP 5 >= 5.3.0)

date_timestamp_get — Псевдоним DateTime::getTimestamp()

Описание

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

date_time_set
date_timestamp_set
Функции даты и времени


Псевдоним DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Функции даты и времени
PHP Manual

date_timestamp_set

(PHP 5 >= 5.3.0)

date_timestamp_set — Псевдоним DateTime::setTimestamp()

Описание

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

date_timestamp_get
date_timezone_get
Функции даты и времени


Псевдоним DateTime::getTimezone

date_timestamp_set
date_timezone_set
Функции даты и времени
PHP Manual

date_timezone_get

(PHP 5 >= 5.2.0)

date_timezone_get — Псевдоним DateTime::getTimezone()

Описание

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

date_timestamp_set
date_timezone_set
Функции даты и времени


Псевдоним DateTime::setTimezone

date_timezone_get
date
Функции даты и времени
PHP Manual

date_timezone_set

(PHP 5 >= 5.2.0)

date_timezone_set — Псевдоним DateTime::setTimezone()

Описание

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

date_timezone_get
date
Функции даты и времени


Форматирует вывод системной даты/времени

date_timezone_set
getdate
Функции даты и времени
PHP Manual

date

(PHP 4, PHP 5)

date — Форматирует вывод системной даты/времени

Описание

string date ( string $format [, int $timestamp = time() ] )

Возвращает строку, отформатированную в соответствии с указанным шаблоном format. Используется метка времени, заданная аргументом timestamp, или текущее системное время, если timestamp не задан. Таким образом, timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time().

Список параметров

format

Шаблон результирующей строки (string) с датой. См. параметры форматирования ниже. Также существует несколько предопределенных констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон 'D, d M Y H:i:s'.

В параметре format распознаются следующие символы
Символ в строке format | Описание | Пример возвращаемого значения
День --- ---
d | День месяца, 2 цифры с ведущим нулём | от 01 до 31
D | Текствое представление дня недели, 3 символа | от Mon до Sun
j | День месяца без ведущего нуля | от 1 до 31
l (строчная 'L') | Полное наименование дня недели | от Sunday до Saturday
N | Порядковый номер дня недели в соответствии со стандартом ISO-8601 (добавлен в версии PHP 5.1.0) | от 1 (понедельник) до 7 (воскресенье)
S | Английский суффикс порядкового числительного дня месяца, 2 символа | st, nd, rd или th. Применяется совместно с j
w | Порядковый номер дня недели | от 0 (воскресенье) до 6 (суббота)
z | Порядковый номер дня в году (начиная с 0) | От 0 до 365
Неделя --- ---
W | Порядковый номер недели года в соответствии со стандартом ISO-8601; недели начинаются с понедельника (добавлено в версии PHP 4.1.0) | Например: 42 (42-я неделя года)
Месяц --- ---
F | Полное наименование месяца, например January или March | от January до December
m | Порядковый номер месяца с ведущим нулём | от 01 до 12
M | Сокращенное наименование месяца, 3 символа | от Jan до Dec
n | Порядковый номер месяца без ведущего нуля | от 1 до 12
t | Количество дней в указанном месяце | от 28 до 31
Год --- ---
L | Признак високосного года | 1, если год високосный, иначе 0.
o | Номер года в соответствии со стандартом ISO-8601. Имеет то же значение, что и Y, кроме случая, когда номер недели ISO (W) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. (добавлен в версии PHP 5.1.0) | Примеры: 1999 или 2003
Y | Порядковый номер года, 4 цифры | Примеры: 1999, 2003
y | Номер года, 2 цифры | Примеры: 99, 03
Время --- ---
a | Ante meridiem (англ. "до полудня") или Post meridiem (англ. "после полудня") в нижнем регистре | am или pm
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM
B | Время в формате Интернет-времени (альтернативной системы отсчета времени суток) | от 000 до 999
g | Часы в 12-часовом формате без ведущего нуля | от 1 до 12
G | Часы в 24-часовом формате без ведущего нуля | от 0 до 23
h | Часы в 12-часовом формате с ведущим нулём | от 01 до 12
H | Часы в 24-часовом формате с ведущим нулём | от 00 до 23
i | Минуты с ведущим нулём | от 00 до 59
s | Секунды с ведущим нулём | от 00 до 59
u | Микросекунды (добавлено в версии PHP 5.2.2) | Например: 654321
Временная зона --- ---
e | Код шкалы временной зоны(добавлен в версии PHP 5.1.0) | Примеры: UTC, GMT, Atlantic/Azores
I (заглавная i) | Признак летнего времени | 1, если дата соответствует летнему времени, 0 в противном случае.
O | Разница с временем по Гринвичу, в часах | Например: +0200
P | Разница с временем по Гринвичу с двоеточием между часами и минутами (добавлено в версии PHP 5.1.3) | Например: +02:00
T | Аббревиатура временной зоны | Примеры: EST, MDT ...
Z | Смещение временной зоны в секундах. Для временных зон, расположенных западнее UTC возвращаются отрицательные числа, а расположенных восточнее UTC - положительные. | от -43200 до 50400
Полная дата/время --- ---
c | Дата в формате стандарта ISO 8601 (добавлено в PHP 5) | 2004-02-12T15:19:21+00:00
r | Дата в формате » RFC 2822 | Например: Thu, 21 Dec 2000 16:01:07 +0200
U | Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) | Смотрите также time()

Любые другие символы, встреченные в строке-шаблоне, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate().

Замечание:

Поскольку рассматриваемая функция принимает в качестве параметра временные метки типа integer, форматирующий символ u будет полезен только при использовании функции date_format() и пользовательских меток времени, созданных с помощью функции date_create().

timestamp

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

Возвращаемые значения

Возвращает отформатированную строку с датой. При передаче нечислового значения в качестве параметра timestamp будет возвращено FALSE и вызвана ошибка уровня E_WARNING.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Допустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.
5.1.1 | Для стандартных форматов даты/времени существуют специальные константы, которые могут быть указаны в качестве параметра format.

Примеры

Пример #1 Примеры использования функции date()

<?php
// установка временной зоны по умолчанию. Доступно начиная с версии PHP 5.1
date_default_timezone_set('UTC');

// выведет примерно следующее: Monday
echo date("l");

// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// выведет: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* пример использования константы в качестве форматирующего параметра */
// выведет примерно следующее: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// выведет примерно следующее: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

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

Пример #2 Экранирование символов в функции date()

<?php
// выведет примерно следующее: Wednesday the 15th
echo date('l \t\h\e jS');
?>

Для вывода прошедших и будущих дат удобно использовать функции date() и mktime().

Пример #3 Пример совместного использования функций date() и mktime()

<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>

Замечание:

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

Ещё несколько примеров использования функции date(). Важно отметить, что следует экранировать все символы, которые необходимо оставить без изменений. Это справедливо и для тех символов, которые в текущей версии PHP не распознаются как форматирующие, поскольку это может быть введено в следующих версиях. Для экранировании управляющих последовательностей (например, \n) следует использовать одинарные кавычки.

Пример #4 Форматирование с использованием date()

<?php
// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
// и мы находимся во временной зоне Mountain Standard Time (MST)

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
?>

Для форматирования дат на других языках используйте вместо date() функции setlocale() и strftime().

Примечания

Замечание:

Для получения метки времени из строкового представления даты можно воспользоваться функцией strtotime(). Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (например, функция MySQL » UNIX_TIMESTAMP).

Подсказка

Начиная с версии PHP 5.1, временную метку начала запроса можно получить из поля $_SERVER['REQUEST_TIME'].

Смотрите также

  • gmdate() - Форматирует дату/время по Гринвичу
  • idate() - Преобразует локальное время/дату в целое число
  • getdate() - Возвращает информацию о дате/времени
  • getlastmod() - Gets time of last page modification
  • mktime() - Возвращает метку времени Unix для заданной даты
  • strftime() - Форматирует текущую дату/время с учетом текущих настроек локали
  • time() - Возвращает текущую метку времени Unix
  • strtotime() - Преобразует текстовое представление даты на английском языке в метку времени Unix
  • Предопределенные константы даты и времени

date_timezone_set
getdate
Функции даты и времени


Возвращает информацию о дате/времени

date
gettimeofday
Функции даты и времени
PHP Manual

getdate

(PHP 4, PHP 5)

getdate — Возвращает информацию о дате/времени

Описание

array getdate ([ int $timestamp = time() ] )

Возвращает ассоциативный массив (array), содержащий информацию о дате, представленной меткой времени timestamp или текущим системным временем, если timestamp не был передан.

Список параметров

timestamp

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

Возвращаемые значения

Возвращает ассоциативный массив (array) с информацией о параметре timestamp, который содержит следующие элементы:

Индексы возвращаемого ассоциативного массива
Индекс | Описание | Пример значения
"seconds" | Числовое представление секунд | от 0 до 59
"minutes" | Числовое представление минут | от 0 до 59
"hours" | Числовое представление часов | от 0 до 23
"mday" | Порядковый номер дня месяца | от 1 до 31
"wday" | Порядковый номер дня недели | от 0 (воскресенье) до 6 (суббота)
"mon" | Порядковый номер месяца | от 1 до 12
"year" | Номер года, 4 цифры | Примеры: 1999, 2003
"yday" | Порядковый номер дня в году | от 0 до 365
"weekday" | Полное наименование дня недели | от Sunday до Saturday
"month" | Полное наименование месяца, например, January или March | от January до December
0 | Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch), подобно значению, возвращаемому функцией time() и используемому функцией date(). | Зависит от платформы, в большинстве случаев от -2147483648 до 2147483647.

Примеры

Пример #1 Пример использования функции getdate()

<?php
$today = getdate();
print_r($today);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

Смотрите также

  • date() - Форматирует вывод системной даты/времени
  • idate() - Преобразует локальное время/дату в целое число
  • localtime() - Возвращает локальное время
  • time() - Возвращает текущую метку времени Unix
  • setlocale() - Устанавливает настройки локали

date
gettimeofday
Функции даты и времени


Возвращает текущее время

getdate
gmdate
Функции даты и времени
PHP Manual

gettimeofday

(PHP 4, PHP 5)

gettimeofday — Возвращает текущее время

Описание

mixed gettimeofday ([ bool $return_float = false ] )

Функция является интерфейсом к системному вызову gettimeofday(2). Она возвращает ассоциативный массив, содержащий информацию, полученную от системного вызова.

Список параметров

return_float

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

Возвращаемые значения

По умолчанию возвращается array. Если установлен параметр return_float, то возвращается float.

Ключи массива:

  • "sec" - количество секунд, прошедших с Эпохи Unix
  • "usec" - микросекунды
  • "minuteswest" - смещение к западу от Гринвича, в минутах
  • "dsttime" - тип коррекции летнего времени

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр return_float.

Примеры

Пример #1 Пример использования функции gettimeofday()

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910

getdate
gmdate
Функции даты и времени


Форматирует дату/время по Гринвичу

gettimeofday
gmmktime
Функции даты и времени
PHP Manual

gmdate

(PHP 4, PHP 5)

gmdate — Форматирует дату/время по Гринвичу

Описание

string gmdate ( string $format [, int $timestamp = time() ] )

Эта функция идентична функции date() за исключением того, что возвращает время по Гринвичу (GMT).

Список параметров

format

Формат выводимой даты, string. Смотрите параметры форматирования для функции date().

timestamp

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

Возвращаемые значения

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

Список изменений

Версия | Описание
5.1.0 | Корректным диапазоном временных меток обычно является диапазон дат с 13 декабря 1901 20:45:54 GMT до 19 января 2038 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битному целому числу со знаком). Однако, до PHP 5.1.0 на некоторых системах (например, Windows) этот диапазон был ограничен датами от 01-01-1970 до 19-01-2038.
5.1.1 | Существуют также полезные константы стандартных форматов даты/времени, которые могут быть использованы в качестве параметра format.

Примеры

Пример #1 Пример использования gmdate()

Например, в Финляндии (GMT +0200), первая строка в следующем примере выведет "Jan 01 1998 00:00:00", а вторая - "Dec 31 1997 22:00:00".

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Смотрите также

  • date() - Форматирует вывод системной даты/времени
  • mktime() - Возвращает метку времени Unix для заданной даты
  • gmmktime() - Возвращает метку времени Unix для времени по Гринвичу
  • strftime() - Форматирует текущую дату/время с учетом текущих настроек локали

gettimeofday
gmmktime
Функции даты и времени


Возвращает метку времени Unix для времени по Гринвичу

gmdate
gmstrftime
Функции даты и времени
PHP Manual

gmmktime

(PHP 4, PHP 5)

gmmktime — Возвращает метку времени Unix для времени по Гринвичу

Описание

 int gmmktime
  ([ int $hour = gmdate("H")
 [, int $minute = gmdate("i")
 [, int $second = gmdate("s")
 [, int $month = gmdate("n")
 [, int $day = gmdate("j")
 [, int $year = gmdate("Y")
 [, int $is_dst = -1
]]]]]]] )

Эта функция идентична функции mktime(), за исключением того, что аргументы формируют время по Гринвичу (GMT). gmmktime() внутри использует mktime(), поэтому могут быть использованы только те даты местного времени, которые корректно представляются в этой зоне.

Подобно функции mktime(), аргументы могут быть опущены в порядке справа налево, в этом случае они предполагаются равными соответствующим компонентам текущего времени по Гринвичу.

Список параметров

hour

Количество часов, прошедших с начала дня, указанного параметрами month, day и year. Отрицательные значения определяют часы до полуночи указанного дня. Значения большие 23 определяют соответствующий час следующего дня (или дней).

minute

Количество минут, прошедших от начала часа, указанного параметром hour. Отрицательные значения определяют минуты предыдущего часа. Значения большие 59 определяют соответствующие минуты следующего часа (или часов).

second

Количество секунд, прошедших от начала минуты, указанной параметром minute. Отрицательные знаения определяют секунды из предыдущей минуты. Значения большие 59 определяют соответствующие секунды следующей минуты (или минут).

month

Количество месяцев, прошедших с конца предыдущего года. Значения от 1 до 12 определяют нормальные обычные календарные месяцы года. Значения меньшие 1 (включая отрицательные значения) определяют месяца предыдущего года в обратном порядке, т.е. 0 будет декабрем, -1 - ноябрем и т.д. Значения больше 12 определяют соответствующий месяц в следующем году (или годах).

day

Количество дней, прошедших с конца предыдущего месяца. Значения от 1 до 28, 29, 30 или 31 (в зависимости от месяца) определяют нормальные дни соответствующего месяца. Значения меньшие 1 (включая отрицательные значения) определяют дни предыдущего месяца, таким образом, 0 является последним днем предыдущего месяца, -1 - предпоследним днем предыдущего месяца и т.д. Значения большие количества дней соответствующего месяца определяют соответствующий день следующего месяца (или месяцев).

year

Год

is_dst

Параметры всегда представляют собой дату по Гринвичу, поэтому параметр is_dst не влияет на результат.

Возвращаемые значения

Возвращает временную метку Unix (тип integer).

Список изменений

Версия | Описание
5.1.0 | Начиная с версии PHP 5.1.0, параметр is_dst считается устаревшим. В результате должны быть использованы новые возможности обработки временных зон.

Примеры

Пример #1 Использование gmmktime() в Windows

<?php
gmmktime(0, 0, 0, 1, 1, 1970); // корректно в GMT и WEST (Западноевропейское летнее время), неправильно в EAST (Восточноевропейское летнее время)
?>

Смотрите также

  • mktime() - Возвращает метку времени Unix для заданной даты
  • date() - Форматирует вывод системной даты/времени
  • time() - Возвращает текущую метку времени Unix

gmdate
gmstrftime
Функции даты и времени


Форматирует дату/время по Гринвичу с учетом текущей локали

gmmktime
idate
Функции даты и времени
PHP Manual

gmstrftime

(PHP 4, PHP 5)

gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали

Описание

string gmstrftime ( string $format [, int $timestamp = time() ] )

Эта функция идентична функции strftime() за исключением того, что возвращает время по Гринвичу (GMT). Например, при запуске на системе, где установлено Eastern Standard Time (GMT-0500), первая строка из примера ниже выведет "Dec 31 1998 20:00:00", тогда как вторая - "Jan 01 1999 01:00:00".

Список параметров

format

Смотрите описание функции strftime().

timestamp

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

Возвращаемые значения

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

Примеры

Пример #1 Пример использования функции gmstrftime()

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Смотрите также

  • strftime() - Форматирует текущую дату/время с учетом текущих настроек локали

gmmktime
idate
Функции даты и времени


Преобразует локальное время/дату в целое число

gmstrftime
localtime
Функции даты и времени
PHP Manual

idate

(PHP 5)

idate — Преобразует локальное время/дату в целое число

Описание

int idate ( string $format [, int $timestamp = time() ] )

Преобразует текущую дату и время в целое число в соответствии со строкой форматирования format. Если аргумент timestamp задан, расчет будет произведен для этой временной метки, если нет - будет использовано локальное время. Другими словами, timestamp - необязательный аргумент и по умолчанию равен значению time().

В отличие от функции date(), idate() принимает только один символ в аргументе format.

Список параметров

format

Допустимые символы в строке аргумента format
format символ | Описание
B | Эталонное время/Время Интернета
d | День месяца
h | Час (12 часовой формат)
H | Час (24 часовой формат)
i | Минуты
I (i в верхнем регистре) | возвращает 1 если активировано DST, или 0 в противном случае
L (l в верхнем регистре) | возвращает 1 для високосного года, 0 в противном случае
m | Номер месяца
s | Секунды
t | Количество дней в текущем месяце
U | Время в секундах, от начала эпохи UNIX - 1 января 1970 00:00:00 UTC - то же, что time()
w | День недели (0 - Воскресенье)
W | ISO-8601 - Номер недели года, неделя начинается с понедельника
y | Год (1 или 2 цифры - см. примечание ниже)
Y | Год (4 цифры)
z | День года
Z | Временная зона - смещение в секундах

timestamp

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

Возвращаемые значения

Возвращает целое число integer.

idate() всегда возвращает integer и не может начинаться с нуля, поэтому idate() может вернуть меньше цифр, чем вы ожидаете. См. примеры ниже.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Примеры

Пример #1 Пример использования idate()

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// это выведет год в 2-х знаковом представлении
// поскольку первая цифра "0", будет выведено
// только "4"
echo idate('y', $timestamp);
?>

Смотрите также

  • date() - Форматирует вывод системной даты/времени
  • getdate() - Возвращает информацию о дате/времени
  • time() - Возвращает текущую метку времени Unix

gmstrftime
localtime
Функции даты и времени


Возвращает локальное время

idate
microtime
Функции даты и времени
PHP Manual

localtime

(PHP 4, PHP 5)

localtime — Возвращает локальное время

Описание

array localtime ([ int $timestamp = time() [, bool $is_associative = false ]] )

Функция localtime() возвращает массив, аналогичный по структуре, возвращаемой соответствующей функцией C.

Список параметров

timestamp

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

is_associative

Если установлен в FALSE или не передан, то возвращается обычный массив с числовыми индексами. Если установлен в TRUE, то функция localtime() вернет ассоциативный массив, содержащий все различные элементы структуры, возвращаемой вызовом C-функции localtime. Названия этих ключей соответствуют следующим значениям:

  • "tm_sec" - секунды, с 0 до 59
  • "tm_min" - минуты, с 0 до 59
  • "tm_hour" - часы, с 0 до 23
  • "tm_mday" - день месяца, с 1 до 31
  • "tm_mon" - месяц года, с 0 (январь) до 11 (декабрь)
  • "tm_year" - количество лет, прошедших с 1900 г.
  • "tm_wday" - день недели, с 0 (воскресенье) до 6 (суббота)
  • "tm_yday" - порядковый номер дня в году, с 0 до 365
  • "tm_isdst" - признак летнего времени Положителен, если учитывается, 0, если не учитывается, отрицателен, если неизвестен.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Примеры

Пример #1 Пример использования localtime()

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

Смотрите также

  • getdate() - Возвращает информацию о дате/времени

idate
microtime
Функции даты и времени


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

localtime
mktime
Функции даты и времени
PHP Manual

microtime

(PHP 4, PHP 5)

microtime — Возвращает текущую метку времени Unix с микросекундами

Описание

mixed microtime ([ bool $get_as_float = false ] )

Функция microtime() возвращает текущую метку времени Unix с микросекундами. Эта функция доступна только на операционных системах, в которых есть системный вызов gettimeofday().

Список параметров

get_as_float

Если указано и установлено в TRUE, microtime() возвратит float вместо string, как описано в разделе возвращаемых значений ниже.

Возвращаемые значения

По умолчанию microtime() возвращает string в формате "msec sec", где sec представляет собой текущее время, прошедшее с начала Эпохи Unix (1 января 1970 0:00:00 GMT) в секундах, а msec - это количество микросекунд, прошедших после sec.

Если параметр get_as_float установлен в TRUE, то microtime() возвратит результат в вещественном виде (float), представляющий собой текущее время в секундах, прошедших с начала Эпохи Unix с точностью до микросекунд.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр get_as_float.

Примеры

Пример #1 Замер времени выполнения скрипта с помощью функции microtime()

<?php
/**
 * Простая функция для реализации поведения из PHP 5
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Спим некоторое время
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "Ничего не делал $time секунд\n";
?>

Пример #2 Замер времени выполнения скрипта в PHP 5

<?php
$time_start = microtime(true);

// Спим некоторое время
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Ничего не делал $time секунд\n";
?>

Смотрите также

  • time() - Возвращает текущую метку времени Unix

localtime
mktime
Функции даты и времени


Возвращает метку времени Unix для заданной даты

microtime
strftime
Функции даты и времени
PHP Manual

mktime

(PHP 4, PHP 5)

mktime — Возвращает метку времени Unix для заданной даты

Описание

 int mktime
  ([ int $hour = date("H")
 [, int $minute = date("i")
 [, int $second = date("s")
 [, int $month = date("n")
 [, int $day = date("j")
 [, int $year = date("Y")
 [, int $is_dst = -1
]]]]]]] )

Функция возвращает метку времени Unix, соответствующую дате и времени, заданным аргументами. Метка времени - это целое число, равное разнице в секундах между заданной датой/временем и началом Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT).

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

Примечания

Замечание:

Начиная с версии PHP 5.1, если mktime() вызывается без аргументов, то будет сгенерировано замечание уровня E_STRICT. Используйте вместо этого функцию time().

Список параметров

hour

Количество часов, прошедших с начала дня, указанного параметрами month, day и year. Отрицательные значения определяют часы до полуночи указанного дня. Значения большие 23 определяют соответствующий час следующего дня (или дней).

minute

Количество минут, прошедших от начала часа, указанного параметром hour. Отрицательные значения определяют минуты предыдущего часа. Значения большие 59 определяют соответствующие минуты следующего часа (или часов).

second

Количество секунд, прошедших от начала минуты, указанной параметром minute. Отрицательные знаения определяют секунды из предыдущей минуты. Значения большие 59 определяют соответствующие секунды следующей минуты (или минут).

month

Количество месяцев, прошедших с конца предыдущего года. Значения от 1 до 12 определяют нормальные обычные календарные месяцы года. Значения меньшие 1 (включая отрицательные значения) определяют месяца предыдущего года в обратном порядке, т.е. 0 будет декабрем, -1 - ноябрем и т.д. Значения больше 12 определяют соответствующий месяц в следующем году (или годах).

day

Количество дней, прошедших с конца предыдущего месяца. Значения от 1 до 28, 29, 30 или 31 (в зависимости от месяца) определяют нормальные дни соответствующего месяца. Значения меньшие 1 (включая отрицательные значения) определяют дни предыдущего месяца, таким образом, 0 является последним днем предыдущего месяца, -1 - предпоследним днем предыдущего месяца и т.д. Значения большие количества дней соответствующего месяца определяют соответствующий день следующего месяца (или месяцев).

year

Номер года, может быть указан двумя или четырьмя цифрами, причем значения между 0-69 будут трактованы как 2000-2069, а между 70-100 - как 1970-2000. На тех системах, где time_t является 32-битным знаковым целым (наиболее распространенный вариант на сегодня), корректный диапазон для параметра year содержит даты где-то между 1901 и 2038. Однако, до версии PHP 5.1.0, на некоторых системах этот диапазон был ограничен датами между 1970 и 2038 (например, Windows).

is_dst

Данный параметр может быть установлен в 1, если заданной дате соответствует летнее время (DST), 0 в противном случае, или -1 (значение по умолчанию), если неизвестно, действует ли летнее время на заданную дату. В последнем случае PHP пытается определить это самостоятельно. Это можно привести к неожиданному результату (который, тем не менее, не будет неверным). Некоторые даты могут быть неверными, если летнее время применимо к системе, на которой запущен PHP, или параметр is_dst установлен в 1. Если переход на летнее время происходит, например, в 2:00, все даты между 2:00 и 3:00 станут некорректными и mktime() вернет неопределенное (обычно отрицательное) значение. Некоторые системы (например, Solaris 8) осуществляют переход на летнее время в полночь, так что время 0:30 дня, когда был осуществлен переход на летнее время будет обрабатываться как 23:30 предыдущего дня.

Замечание:

Начиная с версии PHP 5.1.0 этот параметр более не рекомендуется к использованию. Вместо этого рекомендуется устанавливать соответствующую временную зону.

Возвращаемые значения

mktime() возвращает временную метку Unix в соответствии с переданными аргументами. Если были переданы некорректными аргументы, функция вернет FALSE (до версии PHP 5.1 возвращалась -1).

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.3.0 | mktime() теперь выбрасывает ошибку уровня E_DEPRECATED при использовании параметра is_dst.
5.1.0 | Параметр is_dst теперь считается устаревшим. Функция теперь возвращает FALSE при ошибке, тогда как раньше возвращалась -1. Теперь функция принимает дату с одновременно установленными в ноль годом, месяцем и днем.
5.1.0 | Если mktime() была вызвана без аргументов, то будет сгенерировано замечание уровня E_STRICT. Используйте вместо этого функцию time().
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Примеры

Пример #1 Пример использования функции mktime()

<?php
// Устанавливаем используемую по умолчанию временную зону. Доступно, начиная с версии PHP 5.1
date_default_timezone_set('UTC');

// Выводит: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

// Выводит что-то вроде: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>

Пример #2 mktime() example

Функцию mktime() удобно использовать для выполнения арифметических операций с датами, так как она вычисляет верные значения при некорректных аргументах. Например, в следующем примере каждая строка выведет "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Пример #3 Последний день месяца

Последний день любого месяца можно вычислить как "нулевой" день следующего месяца, не -1 день. Оба приведенных ниже примера выведут "Последний день февраля 2000 г.: 29".

<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Последний день февраля 2000 г.: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Последний день февраля 2000 г.: %d", $lastday);
?>

Примечания

Предостережение

До версии PHP 5.1.0, отрицательные временные метки не поддерживались ни под одной известной версией Windows, а также и некоторыми другими системами. Таким образом, диапазон корректных лет был ограничен датами от 1970 до 2038 г.

Смотрите также

  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • gmmktime() - Возвращает метку времени Unix для времени по Гринвичу
  • date() - Форматирует вывод системной даты/времени
  • time() - Возвращает текущую метку времени Unix

microtime
strftime
Функции даты и времени


Форматирует текущую дату/время с учетом текущих настроек локали

mktime
strptime
Функции даты и времени
PHP Manual

strftime

(PHP 4, PHP 5)

strftime — Форматирует текущую дату/время с учетом текущих настроек локали

Описание

string strftime ( string $format [, int $timestamp = time() ] )

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

Ваша C-библиотека может не поддерживать все форматирующие параметры, в этом случае они будут недоступны функции strftime(). Кроме того, не все платформы поддерживают отрицательные метки времени, так что поддерживаемый диапазон дат на этих платформах будет ограничен Эпохой Unix. Это значит, что %e, %T, %R и %D (а возможно и другие параметры), как и даты до Jan 1, 1970, не поддерживаются Windows, некоторыми версиями Linux и некоторыми другими операционными системами. Список форматирующих символов, поддерживаемых Windows, можно найти на » сайте MSDN.

Список параметров

format

Распознаются следующие символы в строке format
format | Описание | Пример возвращаемых значений
День --- ---
%a | Сокращенное название дня недели | От Sun до Sat
%A | Полное название дня недели | От Sunday до Saturday
%d | Двухзначное представление дня месяца (с ведущими нулями) | От 01 до 31
%e | День месяца, с ведущим пробелом, если он состоит из одной цифры. На Windows реализован не так, как описано. Подробнее смотрите ниже. | От 1 до 31
%j | Порядковый номер в году, 3 цифры с ведущими нулями | От 001 до 366
%u | Порядковый номер дня недели согласно стандарту ISO-8601 | От 1 (понедельник) до 7 (воскресенье)
%w | Порядковый номер дня недели | От 0 (воскресенье) до 6 (суббота)
Неделя --- ---
%U | Порядковый номер недели в указанном году, начиная с первого воскресенья в качестве первой недели | 13 (для полной 13-й недели года)
%V | Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счет начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника | От 01 до 53 (где 53 указывает на перекрывающуюся неделю)
%W | Порядковый номер недели в указанном году, начиная с первого понедельника в качестве первой недели | 46 (для 46-й недели года, начинающейся с понедельника)
Месяц --- ---
%b | Аббревиатура названия месяца, в соответствии с настройками локали | От Jan до Dec
%B | Полное название месяца, в соответствии с настройками локали | От January до December
%h | Аббревиатура названия месяца, в соответствии с настройками локали (псевдоним %b) | От Jan до Dec
%m | Двухзначный порядковый номер месяца | От 01 (январь) до 12 (декабрь)
Год --- ---
%C | Двухзначный порядковый номер столетия (год, деленный на 100, усеченный до целого) | 19 для 20-го века
%g | Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V) | Пример: 09 для недели 6 января 2009
%G | Полная четырехзначная версия %g | Пример: 2008 для недели 3 января 2009
%y | Двухзначный порядковый номер года | Пример: 09 для 2009, 79 для 1979
%Y | Четырехзначный номер года | Пример: 2038
Время --- ---
%H | Двухзначный номер часа в 24-часовом формате | От 00 до 23
%I | Двухзначный номер часа в 12-часовом формате | От 01 до 12
%l (строчная 'L') | Час в 12-часовом формате, с пробелом перед одиночной цифрой | От 1 до 12
%M | Двухзначный номер минуты | От 00 до 59
%p | 'AM' или 'PM' в верхнем регистре, в зависимости от указанного времени | Пример: AM для 00:31, PM для 22:23
%P | 'am' или 'pm' в зависимости от указанного времени | Пример: am для 00:31, pm для 22:23
%r | Тоже что и "%I:%M:%S %p" | Пример: 09:34:17 PM для 21:34:17
%R | Тоже что и "%H:%M" | Пример: 00:35 для 12:35 AM, 16:44 для 4:44 PM
%S | Двухзначный номер секунды | От 00 до 59
%T | Тоже что и "%H:%M:%S" | Пример: 21:34:17 для 09:34:17 PM
%X | Предпочитаемое отображение времени в зависимости от локали, без даты | Example: 03:59:16 or 15:59:16
%z | Смещение временной зоны относительно UTC либо аббревиатура (в зависимости от операционной системы) | Пример: -0500 или EST для Eastern Time
%Z | Смещение временной зоны/аббревиатура, НЕ выдаваемая опцией %z (в зависимости от операционной системы) | Пример: -0500 или EST для Eastern Time
Метки даты и времени --- ---
%c | Предпочитаемое отображение даты и времени, в зависимости от текущей локали | Пример: Tue Feb 5 00:45:10 2009 для 5 февраля 2009 00:45:10
%D | Тоже что и "%m/%d/%y" | Пример: 02/05/09 для 5 февраля 2009
%F | Тоже что и "%Y-%m-%d" (обычно используется в метках времени баз данных) | Пример: 2009-02-05 для 5 февраля 2009
%s | Метка времени Эпохи Unix (тоже что и функция time()) | Пример: 305815200 для 10 сентября 1979 08:40:00
%x | Предпочитаемое отображение даты, без времени | Пример: 02/05/09 для 5 февраля 2009
Различное --- ---
%n Символ перевода строки ("\n") ---
%t Символ табуляции ("\t") ---
%% Символ процента ("%") ---

Максимальной длиной данного параметра является 1023 символа.

Внимание

В отличие от ISO-9899:1999, в Sun Solaris воскресенью присвается номер 1. Как результат, %u может работать не так, как описано в этом руководстве.

Внимание

Только для Windows: модификатор %e не поддерживается в реализации этой функции в Windows. Для использования этого значения необходимо вместо него использовать модификатор %#d. Пример ниже иллюстрирует кроссплатформенно совместимую функцию.

Внимание

Только для Mac OS X: модификатор %P не поддерживается в реализации этой функции в Mac OS X.

timestamp

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

Возвращаемые значения

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

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Из-за того что результат данной функции зависит от используемой в операционной системе C-библиотеки, некоторые модификаторы могут не поддерживаться. Передача неизвестного модификатора в функцию в Windows выдаст 5 предупреждений E_WARNING и вернет FALSE. На других операционных системах вы можете не получить никаких предупреждений E_WARNING, а вывод может содержать модификаторы без преобразований.

Список изменений

Версия | Описание
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.

Примеры

Этот пример будет работать, если на вашей системе установлены соответствующие локали.

Пример #1 Пример использования функции strftime() с разными локалями

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" по-фински - %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" по-французски - %A и");
setlocale(LC_TIME, "de_DE");
echo strftime(" по-немецки - %A.\n");
?>

Пример #2 Пример номеров недели по ISO 8601:1988

<?php
/*     Декабрь 2002 / Январь 2003
ISOнед Пн  Вт  Ср  Чт  Пт  Сб  Вс
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Вывод: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Вывод: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Вывод: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Вывод: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     Декабрь 2004 / Январь 2005
ISOнед Пн  Вт  Ср  Чт  Пт  Сб  Вс
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Вывод: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Вывод: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Вывод: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Вывод: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Пример #3 Кросплатформенный пример использования модификатора %e

<?php

// 1 января: выдает результат: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';

// Проверяем наличие Windows и соответственно заменяем модификатор %e
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
    $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}

echo strftime($format);
?>

Пример #4 Показываем все известные и неизвестные форматы.

<?php
// Описание форматов.
$strftimeFormats = array(
    'A' => 'Полное название дня',
    'B' => 'Полное имя месяца, в зависимости от локали',
    'C' => 'Двухзначный номер столетия (год, деленный на 100, усеченный до целого)',
    'D' => 'Тоже что и "%m/%d/%y"',
    'E' => '',
    'F' => 'Тоже что и "%Y-%m-%d"',
    'G' => 'Четырехзначная версия %g',
    'H' => 'Двухзначный номер часа в 24-часовом формате',
    'I' => 'Двухзначный номер часа в 12-часовом формате',
    'J' => '',
    'K' => '',
    'L' => '',
    'M' => 'Двухзначный номер минуты',
    'N' => '',
    'O' => '',
    'P' => '"am" или "pm" в зависимости от текущего времени, в нижнем регистре',
    'Q' => '',
    'R' => 'Тоже что и "%H:%M"',
    'S' => 'Двухзначный номер секунды',
    'T' => 'Тоже что и "%H:%M:%S"',
    'U' => 'Номер недели указанного года, начиная с первого воскресенья в качестве первой недели',
    'V' => 'Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счет начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника',
    'W' => 'Номер недели указанного года, начиная с первого понедельника в качестве первой недели',
    'X' => 'Предпочитаемое отображение времени в зависимости от локали, без даты',
    'Y' => 'Четырехзначный номер года',
    'Z' => 'Смещение временной зоны/аббревиатура, НЕ выдаваемая %z (зависит от операционной системы)',
    'a' => 'Сокращенное название дня недели',
    'b' => 'Сокращенное название месяца в зависимости от локали',
    'c' => 'Предпочитаемое отображение даты и времени в зависимости от локали',
    'd' => 'Двухзначный номер дня месяца (с ведущими нулями)',
    'e' => 'День месяца, с ведущим пробелом, если он состоит из одной цифры',
    'f' => '',
    'g' => 'Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V)',
    'h' => 'Сокращенное название месяца в зависимости от локали (псевдоним %b)',
    'i' => '',
    'j' => 'Номер дня в году, 3 цифры с ведущими нулями',
    'k' => '',
    'l' => 'Номер часа в 12-часовом формате, с ведущим пробелом, если он состоит из одной цифры',
    'm' => 'Двухзначный номер месяца',
    'n' => 'Символ новой строки ("\n")',
    'o' => '',
    'p' => '"AM" или "PM" в зависимости от указанного времени, в верхнем регистре',
    'q' => '',
    'r' => 'Тоже что и "%I:%M:%S %p"',
    's' => 'Временная метка Эпохи Unix',
    't' => 'Символ табуляции ("\t")',
    'u' => 'Номер дня недели в соответствии со стандартом ISO-8601',
    'v' => '',
    'w' => 'Номер дня недели',
    'x' => 'Предпочитаемое отображение даты в зависимости от локали, без времени',
    'y' => 'Двухзначный номер года',
    'z' => 'Смещение временной зоны относительно UTC или аббревиатура (зависит от операционной системы)',
    '%' => 'Символ процента ("%")',
);

// Результаты.
$strftimeValues = array();

// Обрабатываем форматы и подавляем любые ошибки.
foreach($strftimeFormats as $format => $description){
    if (False !== ($value = @strftime("%{$format}"))){
        $strftimeValues[$format] = $value;
    }
}

// Находим самое длинное значение
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));

// Отображаем известные форматы.
foreach($strftimeValues as $format => $value){
    echo "Известный формат   : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}

// Отображаем неизвестные форматы.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
    echo "Неизвестный формат : '{$format}'   ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}

Результатом выполнения данного примера будет что-то подобное:

Известный формат   : 'A' = 'Friday'            ( Полное название дня )
Известный формат   : 'B' = 'December'          ( Полное имя месяца, в зависимости от локали )
Известный формат   : 'H' = '11'                ( Двухзначный номер часа в 24-часовом формате )
Известный формат   : 'I' = '11'                ( Двухзначный номер часа в 12-часовом формате )
Известный формат   : 'M' = '24'                ( Двухзначный номер минуты )
Известный формат   : 'S' = '44'                ( Двухзначный номер секунды )
Известный формат   : 'U' = '48'                ( Номер недели указанного года, начиная с первого воскресенья в качестве первой недели )
Известный формат   : 'W' = '48'                ( Номер недели указанного года, начиная с первого понедельника в качестве первой недели )
Известный формат   : 'X' = '11:24:44'          ( Предпочитаемое отображение времени в зависимости от локали, без даты )
Известный формат   : 'Y' = '2010'              ( Четырехзначный номер года )
Известный формат   : 'Z' = 'GMT Standard Time' ( Смещение временной зоны/аббревиатура, НЕ выдаваемая %z (зависит от операционной системы) )
Известный формат   : 'a' = 'Fri'               ( Сокращенное название дня недели )
Известный формат   : 'b' = 'Dec'               ( Сокращенное название месяца в зависимости от локали )
Известный формат   : 'c' = '12/03/10 11:24:44' ( Предпочитаемое отображение даты и времени в зависимости от локали )
Известный формат   : 'd' = '03'                ( Двухзначный номер дня месяца (с ведущими нулями) )
Известный формат   : 'j' = '337'               ( Номер дня в году, 3 цифры с ведущими нулями )
Известный формат   : 'm' = '12'                ( Двухзначный номер месяца )
Известный формат   : 'p' = 'AM'                ( "AM" или "PM" в зависимости от указанного времени, в верхнем регистре )
Известный формат   : 'w' = '5'                 ( Номер дня недели )
Известный формат   : 'x' = '12/03/10'          ( Предпочитаемое отображение даты в зависимости от локали, без времени )
Известный формат   : 'y' = '10'                ( Двухзначный номер года )
Известный формат   : 'z' = 'GMT Standard Time' ( Смещение временной зоны относительно UTC или аббревиатура (зависит от операционной системы) )
Известный формат   : '%' = '%'                 ( Символ процента ("%") )
Неизвестный формат : 'C'                       ( Двухзначный номер столетия (год, деленный на 100, усеченный до целого) )
Неизвестный формат : 'D'                       ( Тоже что и "%m/%d/%y" )
Неизвестный формат : 'E'
Неизвестный формат : 'F'                       ( Тоже что и "%Y-%m-%d" )
Неизвестный формат : 'G'                       ( Четырехзначная версия %g )
Неизвестный формат : 'J'
Неизвестный формат : 'K'
Неизвестный формат : 'L'
Неизвестный формат : 'N'
Неизвестный формат : 'O'
Неизвестный формат : 'P'                       ( "am" или "pm" в зависимости от текущего времени, в нижнем регистре )
Неизвестный формат : 'Q'
Неизвестный формат : 'R'                       ( Тоже что и "%H:%M" )
Неизвестный формат : 'T'                       ( Тоже что и "%H:%M:%S" )
Неизвестный формат : 'V'                       ( Порядковый номер недели в указанном году в соответствии со стандартом ISO-8601:1988, счет начинается с той недели, которая содержит минимум 4 дня, неделя начинается с понедельника )
Неизвестный формат : 'e'                       ( День месяца, с ведущим пробелом, если он состоит из одной цифры )
Неизвестный формат : 'f'
Неизвестный формат : 'g'                       ( Двухзначный номер года в соответствии со стандартом ISO-8601:1988 (см. %V) )
Неизвестный формат : 'h'                       ( Сокращенное название месяца в зависимости от локали (псевдоним %b) )
Неизвестный формат : 'i'
Неизвестный формат : 'k'
Неизвестный формат : 'l'                       ( Номер часа в 12-часовом формате, с ведущим пробелом, если он состоит из одной цифры )
Неизвестный формат : 'n'                       ( Символ новой строки ("\n") )
Неизвестный формат : 'o'
Неизвестный формат : 'q'
Неизвестный формат : 'r'                       ( Тоже что и "%I:%M:%S %p" )
Неизвестный формат : 's'                       ( Временная метка Эпохи Unix )
Неизвестный формат : 't'                       ( Символ табуляции ("\t") )
Неизвестный формат : 'u'                       ( Номер дня недели в соответствии со стандартом ISO-8601 )
Неизвестный формат : 'v'

Примечания

Замечание: Использование параметров %G и %V, основанных на днях недели формата ISO 8601:1988, могут давать неожиданные (хотя и корректные) результаты при неполном понимании данной системы нумерации. Смотрите примеры параметра %V на данной странице.

Смотрите также

  • » Онлайн-утилита составления времени в формате strftime()
  • setlocale() - Устанавливает настройки локали
  • mktime() - Возвращает метку времени Unix для заданной даты
  • strptime() - Разбирает строку даты/времени сгенерированную функцией strftime
  • gmstrftime() - Форматирует дату/время по Гринвичу с учетом текущей локали
  • » Спецификация Open Group функции strftime()

mktime
strptime
Функции даты и времени


Разбирает строку даты/времени сгенерированную функцией strftime

strftime
strtotime
Функции даты и времени
PHP Manual

strptime

(PHP 5 >= 5.1.0)

strptime — Разбирает строку даты/времени сгенерированную функцией strftime()

Описание

array strptime ( string $date , string $format )

strptime() возвращает массив с данными разбора строки date, либо FALSE в случае ошибки.

Названия месяцев и недель, а также другие названия, зависящие от языка, соответствуют текущим настройкам местоположения, установленным посредством setlocale() (LC_TIME).

Список параметров

date (string)

Строка для разбора (например строковый результат выполнения функции strftime()).

format (string)

Формат строки date (например формат, используемый в функции strftime()). Следует обратить внимание на тот факт, что не все возможности форматирования используемые в strftime() будут обрабатываться в strptime(); набор поддерживаемых символов форматирования зависит от ОС и используемой С-библиотеки.

За дополнительной информацией о возможностях форматирования обращайтесь на страницу описания функции strftime().

Возвращаемые значения

Возвращает массив или FALSE в случае возникновения ошибки.

Список элементов возвращаемого массива
параметры | Описание
"tm_sec" | Секунды после минут (0-61)
"tm_min" | Минуты после часов (0-59)
"tm_hour" | Часы после полуночи (0-23)
"tm_mday" | День месяца (1-31)
"tm_mon" | Месяцы после Января (0-11)
"tm_year" | Годы после 1900
"tm_wday" | Дни после Воскресенья (0-6)
"tm_yday" | Дни после 1го января (0-365)
"unparsed" | Часть date, которую не удалось распознать в соответствии с format

Примеры

Пример #1 Пример использования strptime()

<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo "$strf\n";

print_r(strptime($strf, $format));
?>

Результатом выполнения данного примера будет что-то подобное:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Примечания

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

Замечание:

В действительности эта функция вызывает библиотечную функцию strptime(). В различных ОС поведение функции может сильно различаться. Функция date_parse_from_format() лишена этого недостатка и рекомендована к использованию в PHP версий 5.3.0 и выше.

Замечание:

"tm_sec" включает несколько секунд високосного года (на данный момент до 2-х в год). Для получения дополнительной информации о високосных секундах читайте » статью на википедии.

Замечание:

В PHP версий до 5.2.0 эта функция может работать непредсказуемо. В особенности элементы "tm_sec", "tm_min" и "tm_hour" могут содержать неопределенные значения.

Смотрите также

  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • strftime() - Форматирует текущую дату/время с учетом текущих настроек локали
  • date_parse_from_format() - Получение информации о заданной в определенном формате дате
  • DateTime::createFromFormat() - Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату

strftime
strtotime
Функции даты и времени


Преобразует текстовое представление даты на английском языке в метку времени Unix

strptime
time
Функции даты и времени
PHP Manual

strtotime

(PHP 4, PHP 5)

strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix

Описание

int strtotime ( string $time [, int $now = time() ] )

Первым параметром функции должна быть строка с датой на английском языке, которая будет преобразована в метку времени Unix (количество секунд, прошедших с 1 января 00:00:00 UTC) относительно метки времени, переданной в now, или текущего времени, если аргумент now опущен.

Для вычисления временной метки эта функция использует переменную окружения TZ (если она доступна). Начиная с версии PHP 5.1.0 появились более простые способы указания временной зоны, используемой во всех функциях даты/времени. Объяснение данного процесса дано на странице функции date_default_timezone_get().

Список параметров

time

Строка даты/времени. Объяснение корректных форматов дано в Форматы даты и времени.

now

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

Возвращаемые значения

Возвращает временную метку в случае успеха, иначе возвращается FALSE. До версии PHP 5.1.0 в случае ошибки эта функция возвращала -1.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны вызовет ошибку уровня E_NOTICE, и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ. Смотрите также date_default_timezone_set()

Список изменений

Версия | Описание
5.3.0 | До версии PHP 5.3.0 24:00 не являлся корректным форматом, и при его использовании strtotime() возвращала FALSE.
5.2.7 | В версиях PHP 5 до 5.2.7 при запросе временной метки дня недели, являвшегося первым днем месяца, ошибочно прибавлялась одна неделя. Эта ошибка была исправлена в версии 5.2.7 и следующих за ней версиях.
5.1.0 | Теперь в случае ошибки возвращает FALSE, ранее возвращалась -1.
5.1.0 | Теперь ошибки, связанные с временными зонами, вызывают ошибки уровня E_STRICT и E_NOTICE.
5.0.2 | В PHP 5 до версии 5.0.2 "now" и другие относительные времена вычислялись неверно относительно полуночи текущего дня. Это отличается от поведения текущих версий, где вычисление производится корректно относительно текущего времени.
5.0.0 | Стало возможным указывать микросекунды, но они не принимаются во внимание и будут проигнорированы.
4.4.0 | В версиях PHP до 4.4.0 фраза "next" некорректно вычислялась как +2. Типичное решение этой проблемы - использовать "+1".

Примеры

Пример #1 Пример использования функции strtotime()

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Пример #2 Проверка ошибок

<?php
$str = 'Not Good';

// до версии PHP 5.1.0 вместо false необходимо было сравнивать со значением -1
if (($timestamp = strtotime($str)) === false) {
    echo "Строка ($str) недопустима";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Примечания

Замечание:

Если количество лет указано двумя цифрами, то значения 00-69 будут считаться 2000-2069, а 70-99 - 1970-1999. Смотрите также замечания ниже о возможных различиях на 32-битных системах (допустимые даты заканчиваются 2038-01-19 03:14:07).

Замечание:

Корректным диапазоном временных меток обычно являются даты с 13 декабря 1901 20:45:54 UTC по 19 января 2038 03:14:07 UTC. (Эти даты соответствуют минимальному и максимальному значению 32-битового знакового целого). Кроме того, не все платформы поддерживают отрицательные метки времени, поэтому поддерживаемый диапазон дат может быть ограничен Эпохой Unix. Это означает, что даты ранее 1 января 1970 г. не будут работать в Windows, некоторых дистрибутивах Linux и нескольких других операционных системах. Тем не менее, в версиях PHP 5.1 и старше это ограничено было снято.

В 64-битных версиях PHP корректный диапазон временных меток фактически бесконечен, так как 64 битов хватит для представления приблизительно 293 миллиарда лет в обоих направлениях.

Замечание:

Даты в формате m/d/y или d-m-y разрешают неоднозначность с помощью анализа разделителей их элементов: если разделителем является слэш (/), то дата интерпретируется в американском формате m/d/y, если же разделителем является дефис (-) или точка (.), то подразумевается использование европейского форматаd-m-y.

Чтобы избежать потенциальной неоднозначности, рекомендуется использовать даты в формате стандарта ISO 8601 (YYYY-MM-DD) либо пользоваться функцией DateTime::createFromFormat() там, где это возможно.

Смотрите также

  • Форматы даты и времени
  • DateTime::createFromFormat() - Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • strptime() - Разбирает строку даты/времени сгенерированную функцией strftime

strptime
time
Функции даты и времени


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

strtotime
timezone_abbreviations_list
Функции даты и времени
PHP Manual

time

(PHP 4, PHP 5)

time — Возвращает текущую метку времени Unix

Описание

int time ( void )

Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) до текущего времени.

Примеры

Пример #1 Пример использования time()

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
                   // 7 дней; 24 часа; 60 минут; 60 секунд
echo 'Сейчас:           '. date('Y-m-d') ."\n";
echo 'Следующая неделя: '. date('Y-m-d', $nextWeek) ."\n";
// или с помощью strtotime():
echo 'Следующая неделя: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Сейчас:           2005-03-30
Следующая неделя: 2005-04-06
Следующая неделя: 2005-04-06

Примечания

Подсказка

Начиная с версии PHP 5.1 время начала запроса доступно в глобальной переменной $_SERVER['REQUEST_TIME'].

Смотрите также

  • date() - Форматирует вывод системной даты/времени
  • microtime() - Возвращает текущую метку времени Unix с микросекундами

strtotime
timezone_abbreviations_list
Функции даты и времени


Псевдоним DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Функции даты и времени
PHP Manual

timezone_abbreviations_list

(PHP 5 >= 5.2.0)

timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations()

Описание

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

time
timezone_identifiers_list
Функции даты и времени


Псевдоним DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Функции даты и времени
PHP Manual

timezone_identifiers_list

(PHP 5 >= 5.2.0)

timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers()

Описание

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

timezone_abbreviations_list
timezone_location_get
Функции даты и времени


Псевдоним DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Функции даты и времени
PHP Manual

timezone_location_get

(PHP 5 >= 5.3.0)

timezone_location_get — Псевдоним DateTimeZone::getLocation()

Описание

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

timezone_identifiers_list
timezone_name_from_abbr
Функции даты и времени


Возвращает временную зону в соответствии с аббревиатурой

timezone_location_get
timezone_name_get
Функции даты и времени
PHP Manual

timezone_name_from_abbr

(PHP 5 >= 5.1.3)

timezone_name_from_abbr — Возвращает временную зону в соответствии с аббревиатурой

Описание

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset = -1 [, int $isdst = -1 ]] )

Список параметров

abbr

Аббревиатура временной зоны.

gmtOffset

Смещение относительно GMT в секундах. По умолчанию -1, что означает возврат первой найденной временной зоны, отвечающей аббревиатуре abbr. В противном случае будет произведен поиск временной зоны с заданным смещением. Если поиск завершится неудачей, будет возвращена временная зона наиболее близкая к смещению.

isdst

Поправка на летнее время. По умолчанию -1, в этом случае поправка на летнее время не учитывается. Если передана 1, смещение gmtOffset учитывает действующее летнее время. Если задан 0, gmtOffset рассчитывается с учетом зимнего времени. Если abbr не существует, определение временной зоны опирается только на gmtOffset и isdst.

Возвращаемые значения

Возвращает имя временной зоны или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования timezone_name_from_abbr()

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Europe/Berlin
Europe/Paris

Смотрите также

  • timezone_abbreviations_list() - Псевдоним DateTimeZone::listAbbreviations

timezone_location_get
timezone_name_get
Функции даты и времени


Псевдоним DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Функции даты и времени
PHP Manual

timezone_name_get

(PHP 5 >= 5.2.0)

timezone_name_get — Псевдоним DateTimeZone::getName()

Описание

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

timezone_name_from_abbr
timezone_offset_get
Функции даты и времени


Псевдоним DateTimeZone::getOffset

timezone_name_get
timezone_open
Функции даты и времени
PHP Manual

timezone_offset_get

(PHP 5 >= 5.2.0)

timezone_offset_get — Псевдоним DateTimeZone::getOffset()

Описание

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

timezone_name_get
timezone_open
Функции даты и времени


Псевдоним DateTimeZone::__construct

timezone_offset_get
timezone_transitions_get
Функции даты и времени
PHP Manual

timezone_open

(PHP 5 >= 5.2.0)

timezone_open — Псевдоним DateTimeZone::__construct()

Описание

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

timezone_offset_get
timezone_transitions_get
Функции даты и времени


Псевдоним DateTimeZone::getTransitions

timezone_open
timezone_version_get
Функции даты и времени
PHP Manual

timezone_transitions_get

(PHP 5 >= 5.2.0)

timezone_transitions_get — Псевдоним DateTimeZone::getTransitions()

Описание

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

timezone_open
timezone_version_get
Функции даты и времени


Получение номера версии базы данных временных зон

timezone_transitions_get
Допустимые форматы Даты/Времени
Функции даты и времени
PHP Manual

timezone_version_get

(PHP 5 >= 5.3.0)

timezone_version_get — Получение номера версии базы данных временных зон

Описание

string timezone_version_get ( void )

Возвращает номер версии базы данных временных зон.

Возвращаемые значения

Возвращает string.

Примеры

Пример #1 Определение версии базы данных временных зон

<?php
echo timezone_version_get();
?>

Результатом выполнения данного примера будет что-то подобное:

2009.7

Смотрите также

  • Список поддерживаемых временных зон

timezone_transitions_get
Допустимые форматы Даты/Времени
Функции даты и времени


Допустимые форматы Даты/Времени

Содержание

  • Форматы времени
  • Форматы Даты
  • Компоновка форматов
  • Форматы отношений

В этом разделе описываются все форматы, которые принимает парсер strtotime(), DateTime и date_create(). Форматы сгруппированы по секциям. Большинство форматов допускается использовать в пределах одной и той же строки даты/времени. Для каждого формата предусмотрено описание и даны один или более пример. Символы в одинарных кавычках нечувствительны к регистру ('t' эквивалентно как t так и T), символы в двойных кавычках чувствительны к регистру ("T" означает только T).

timezone_version_get
Форматы времени
Дата/Время


Форматы времени

Используемые символы
Описание | Формат | Примеры
frac (дробная часть) | . [0-9]+ | ".21342", ".85"
hh (часы в 12-часовом формате) | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH (часы в 24-часовом формате) | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridian (Ante meridiem или Post meridiem) | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM (минуты) | [0-5][0-9] | "00", "12", "59"
II (секунды) | [0-5][0-9] | "00", "12", "59"
space (символ пробела или табуляции) | [ \t] |
tz (временная зона) | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
tzcorrection (числовое значение смещения временной зоны) | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
12-часовой формат
Описание | Формат | Примеры
Только часы (с Ante meridiem или Post meridiem) | hh space? meridian | "4 am", "5PM"
Часы и минуты (с Ante meridiem или Post meridiem) | hh [.:] MM space? meridian | "4:08 am", "7:19P.M."
Часы, минуты и секунды (с Ante meridiem или Post meridiem) | hh [.:] MM [.:] II space? meridian | "4:08:37 am", "7:19:19P.M."
MS SQL (Часы, минуты, секунды и дробная часть с Ante meridiem или Post meridiem), в версии не ниже PHP 5.3 | hh ":" MM ":" II [.:] [0-9]+ meridian | "4:08:39:12313am"
24-часовой формат
Описание | Формат | Примеры
Часы и минуты | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Часы и минуты (без двоеточия-разделителя) | 't'? HH MM | "0408", "t1919", "T2343"
Часы, минуты и секунды | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Часы, минуты и секунды (без двоеточия-разделителя) | 't'? HH MM II | "040837", "T191919"
Часы, минуты, секунды и временная зона | 't'? HH [.:] MM [.:] II space? ( tzcorrection | tz ) | "040837CEST", "T191919-0700"
Часы, минуты, секунды и дробная часть | 't'? HH [.:] MM [.:] II frac | "04.08.37.81412", "19:19:19.532453"
Сведения о временной зоне | tz | tzcorrection | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"
Допустимые форматы Даты/Времени
Форматы Даты
Допустимые форматы Даты/Времени


Форматы Даты

Используемые символы
Описание | Формат | Примеры
daysuf (суффикс порядкового числительного дня месяца) | "st" | "nd" | "rd" | "th" |
dd (день месяца без ведущих нулей) | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31"
DD (день месяца, 2 цифры с ведущим нулем) | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m (полное или сокращенное наименование месяца) | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M (сокращенное наименование месяца) | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm (порядковый монер месяца) | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM (порядковый монер месяца, 2 цифры с ведущим нулем) | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y (порядковый номер года) | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy (порядковый номер года, 2 цифры) | [0-9]{2} | "00", "08", "78"
YY (порядковый номер года, 4 цифры) | [0-9]{4} | "2000", "2008", "1978"
Региональные нотации
Описание | Формат | Примеры
Месяц и день в американской нотации | mm "/" dd | "5/12", "10/27"
Месяц, день и год в американской нотации | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
4 цифры года, месяц и день со слэшем-разделителем | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
4 цифры года и месяц (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Год, месяц и день с дефисом-разделителем | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
День, месяц и 4 цифры года с разделителем ввиде точки, символа табуляции или дефиса | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12\t1978"
День, месяц и 2 цифры года с разделителем ввиде точки или символа табуляции | dd [.\t] mm "." yy | "30.6.08", "22\t12\t78"
День, наименование месяца и год | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Наименование месяца и 4 цифры года (день месяца сбрасывается на 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
4 цифры года и наименование месяца (день месяца сбрасывается на 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Наименование месяца, день и год | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Наименование месяца и день | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
День и наименование месяца | d ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Сокращенное наименование месяца, день и год | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Год, сокращенное наименование месяца и день | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Только год | YY | "1978", "2008"
Только наименование месяца | m | "March", "jun", "DEC"
Нотации ISO8601
Описание | Формат | Примеры
8 цифр (год, месяц и день) | YY MM DD | "15810726", "19780417", "18140517"
8 цифр (год, месяц и день) со слэшем-разделителем | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
2 цифры года, месяц и день с дефисом-разделителем | yy "-" MM "-" DD | "08-06-30", "78-12-22"
4 цифры года с необязательным знаком, месяц и день | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"

Замечание:

Форматы y и yy для годов меньше 100 обрабатываются в исключительных случаях при использовании символов y или yy. Если год попадает в диапазон 0-69 (включительно), то к нему добавляется 2000. Если же год принадлежит диапазону 70-99 (включительно), то к нему добавляется 1900. Это означает, что дата "00-01-01" интерпретируется как "2000-01-01".

Замечание:

Формат "День, месяц и 2 цифры года с разделителем ввиде точки или символа табуляции" (dd [.\t] mm "." yy) работает только для годов из диапазона 61-99 (включительно). За пределами этого диапазона отдается предпочтение формату времени "HH [.:] MM [.:] SS".

Замечание:

Формат "Только год" задействуется только в случае, если строка времени была найдена. В противном случае отдается предпочтению формату HH MM.

Замечание:

Возможен выход за границы диапазона форматов dd и DD. День месяца с порядковым номером 0 подразумевает последний день предыдущего месяца в результате выхода за границы диапазона. Согласно написанному "2008-08-00" равносильно "2008-07-31", а "2008-06-31" соответствует "2008-07-01" (в июне всего 30 дней).

Также допускается выход за границы диапазона для форматов mm и MM для значения 0. Значение месяца 0 соответствует декабрю предыдущего года. Например дата "2008-00-22" равносильна "2007-12-22".

Если учесть два предыдущих замечания и выход за границы диапазона дней и месяцев, получим следующее: дата "2008-00-00" в первую очередь преобразуется в "2007-12-00", которая будет преобразована в "2007-11-30". То же случится с датой "0000-00-00", которая будет преобразована к "-0001-11-30" (-1-й год в календаре ISO 8601 и 2 год до н.э. по григорианскому календарю).

Форматы времени
Компоновка форматов
Допустимые форматы Даты/Времени


Компоновка форматов

Используемые символы
Описание | Форматы | Примеры
DD (день месяца с ведущим нулем) | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
doy (день в году) | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "36"[0-6] "000", "012", "366"
frac (дробная часть) | . [0-9]+ | ".21342", ".85"
hh (часы) | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH (часы с ведущим нулем) | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridian (Ante meridiem или Post meridiem) | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii (минуты) | [0-5][0-9] | "04", "8", "59"
II (минуты с ведущим нулем) | [0-5][0-9] | "04", "08", "59"
M (сокращенное наименование месяца) | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM (месяц с ведущим нулем) | "0" [0-9] | "1" [0-2] | "00", "12"
space (символ пробела или табуляции) | [ \t] |
ss (секунды) | [0-5][0-9] | "04", "8", "59"
SS (секунды с ведущим нулем) | [0-5][0-9] | "04", "08", "59"
W (неделя в году) | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
tzcorrection (смещение временной зоны) | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
YY (4 цифры года) | [0-9]{4} | "2000", "2008", "1978"
Региональные нотации
Описание | Формат | Примеры
Общий формат log-записей | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
Год и неделя в формате ISO | YY "-"? "W" W | "2008W27", "2008-W28"
Год, неделя в формате ISO и день недели | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31"
PostgreSQL: год и день в году | YY "."? doy | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Unix Timestamp | "@" "-"? [0-9]+ | "@1215282385"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compact) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Замечание:

Символ "W" в форматах "Год и неделя в формате ISO" и "Год, неделя в формате ISO и день недели" чувствителен к регистру, допускается использование символа "W" только в верхнем регистре.

Символ "T" в форматах SOAP, XMRPC и WDDX также чувствителен к регистру, допускается использование символа "T" только в верхнем регистре.

Форматы Даты
Форматы отношений
Допустимые форматы Даты/Времени


Форматы отношений

Используемые символы
Описание | Формат
dayname (наименование дня недели) | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
daytext (интервалы в неделях) | 'weekday' | 'weekdays'
number | [+-]?[0-9]+
ordinal (порядковые числительные и указатели) | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
reltext (указатели) | 'next' | 'last' | 'previous' | 'this'
space (символы пробела и табуляции) | [ \t]+
unit (интервалы) | (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Нотации, привязанные к дням
Формат | Описание | Примеры
'yesterday' | Полночь вчера | "yesterday 14:00"
'midnight' | Время устанавливается в 00:00:00 |
'today' | Время устанавливается в 00:00:00 |
'now' | Текущее время |
'noon' | Время устанавливается в 12:00:00 | "yesterday noon"
'tomorrow' | Midnight of tomorrow |
'back of' hour | без 15 минут заданный час | "back of 7pm", "back of 15"
'front of' hour | 15 минут заданного часа | "front of 5am", "front of 23"
'first day' ' of'? | Устанавливает первый день текущего месяца. При использовании с указанием на месяц - устанавливает первый день заданного месяца. | "first day of January 2008"
'last day' ' of'? | Устанавливает последний день текущего месяца. При использовании с указанием на месяц - устанавливает последний день заданного месяца. | "last day of next month"
ordinal space dayname space 'of' | Вычисляет x-й день недели текущего или заданного месяца. | "first sat of July 2008"
'last' space dayname space 'of' | Вычисляет последний день недели текущего или заданного месяца. | "last sat of July 2008"
number space? (unit | 'week') | Вычисляет относительное время при использовании числовых значений периода. | "+5 weeks", "12 day", "-7 weekdays"
ordinal space unit | Вычисляет относительное время при использовании строковых значений периода. | "fifth day", "second month"
'ago' | Вычитает все значения из последнего полученного момента времени. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago ago"
dayname | Перемещается на следующий день указанного дня недели. | "Monday"
reltext space 'week' | Разбирает специфичный формат "weekday + last/this/next week". | "Monday next week"

Замечание:

Относительные выражения всегда обрабатываются после не являющихся относительными. Например, "+1 week july 2008" эквивалентно "july 2008 +1 week".

Исключением этого правила являются: "yesterday", "midnight", "today", "noon" и "tomorrow". Записи "tomorrow 11:00" и "11:00 tomorrow" отличаются. Если принять сегодняшнюю дату за "July 23rd, 2008", то первая запись возвращает "2008-07-24 11:00", а вторая "2008-07-24 00:00". Причина такого поведения в том, что эти пять выражений влияют непосредственно на время.

Замечание:

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

  1. "dayname" не сдвигает дату на другой день. (Например: "Wed July 23rd, 2008" означает "2008-07-23").
  2. "number dayname" не сдвигает дату на другой день. (Например: "1 wednesday july 23rd, 2008" означает "2008-07-23").
  3. "number week dayname" добавляет соответствующее число недель, но не сдвигает дату на другой день. В этом случае имеют место два различных блока "number week" и "dayname". (Например: "+1 week wednesday july 23rd, 2008" означает "2008-07-30").
  4. "ordinal dayname" сдвигает дату на другой день. (Например: "last wednesday july 23rd, 2008" means "2008-07-30").
  5. "number week ordinal dayname" добавляет соответствующее число недель, а после сдвигает дату на другой день. В этом случае имеют место два различных блока "number week" и "ordinal dayname". (Например: "+1 week first wednesday july 23rd, 2008" means "2008-08-06").
  6. "ordinal dayname 'of' " не сдвигает дату на другой день. (Например: "first wednesday of july 23rd, 2008" означает "2008-07-02", потому как определенные фразы с 'of' сбрасывают день месяца на '1' и в этом случае игнорируется '23rd').

Также следует обратить внимание, что "of" в "ordinal space dayname space 'of' " и "'last' space dayname space 'of' " имеет особый смысл.

  1. Устанавливает день месяца в 1.
  2. "ordinal dayname 'of' "не сдвигает дату на другой день. (Например: "first tuesday of july 2008" означает "2008-07-01").
  3. "ordinal dayname" сдвигает дату на другой день. (Например: "first tuesday july 2008" означает "2008-07-08", смотри также 4-й пункт предыдущего замечания).
  4. "'last' dayname 'of' " получает последний в месяце dayname. (Например: "last wed of july 2008" означает "2008-07-30")
  5. "'last' dayname" получает последний dayname до перед текущим днем. (Например: "last wed july 2008" означает "2008-06-25"; "july 2008" устанавливает дату в "2008-07-01", а после "last wed" смещает дату к предыдущему вторнику, а именно к "2008-06-25").

Компоновка форматов
Список поддерживаемых временных зон
Допустимые форматы Даты/Времени


Список поддерживаемых временных зон

Содержание

  • Африка
  • Америка
  • Антарктика
  • Арктика
  • Азия
  • Атлантика
  • Австралия
  • Европа
  • Индийский
  • Тихоокеанский
  • Другие

Здесь вы найдете полный список временных зон, поддерживаемых PHP, которые могут быть использованы, например, в date_default_timezone_set().

Замечание: Последняя версия базы данных временных зон может быть установлена с помощью PECL-пакета » timezonedb.

Замечание: Этот список основан на версии базы данных временных зон 2011.14.

Форматы отношений
Африка
Дата/Время


Африка

Африка
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmara
Africa/Asmera | Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau
Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca
Africa/Ceuta | Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti
Africa/Douala | Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Juba | Africa/Kampala | Africa/Khartoum | Africa/Kigali
Africa/Kinshasa | Africa/Lagos | Africa/Libreville | Africa/Lome | Africa/Luanda
Africa/Lubumbashi | Africa/Lusaka | Africa/Malabo | Africa/Maputo | Africa/Maseru
Africa/Mbabane | Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena
Africa/Niamey | Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome
Africa/Timbuktu | Africa/Tripoli | Africa/Tunis | Africa/Windhoek |
Список поддерживаемых временных зон
Америка
Список поддерживаемых временных зон


Америка

Америка
America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/Salta | America/Argentina/San_Juan
America/Argentina/San_Luis | America/Argentina/Tucuman | America/Argentina/Ushuaia | America/Aruba | America/Asuncion
America/Atikokan | America/Atka | America/Bahia | America/Bahia_Banderas | America/Barbados
America/Belem | America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota
America/Boise | America/Buenos_Aires | America/Cambridge_Bay | America/Campo_Grande | America/Cancun
America/Caracas | America/Catamarca | America/Cayenne | America/Cayman | America/Chicago
America/Chihuahua | America/Coral_Harbour | America/Cordoba | America/Costa_Rica | America/Cuiaba
America/Curacao | America/Danmarkshavn | America/Dawson | America/Dawson_Creek | America/Denver
America/Detroit | America/Dominica | America/Edmonton | America/Eirunepe | America/El_Salvador
America/Ensenada | America/Fort_Wayne | America/Fortaleza | America/Glace_Bay | America/Godthab
America/Goose_Bay | America/Grand_Turk | America/Grenada | America/Guadeloupe | America/Guatemala
America/Guayaquil | America/Guyana | America/Halifax | America/Havana | America/Hermosillo
America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg | America/Indiana/Tell_City
America/Indiana/Vevay | America/Indiana/Vincennes | America/Indiana/Winamac | America/Indianapolis | America/Inuvik
America/Iqaluit | America/Jamaica | America/Jujuy | America/Juneau | America/Kentucky/Louisville
America/Kentucky/Monticello | America/Knox_IN | America/Kralendijk | America/La_Paz | America/Lima
America/Los_Angeles | America/Louisville | America/Lower_Princes | America/Maceio | America/Managua
America/Manaus | America/Marigot | America/Martinique | America/Matamoros | America/Mazatlan
America/Mendoza | America/Menominee | America/Merida | America/Metlakatla | America/Mexico_City
America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo | America/Montreal
America/Montserrat | America/Nassau | America/New_York | America/Nipigon | America/Nome
America/Noronha | America/North_Dakota/Beulah | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Ojinaga
America/Panama | America/Pangnirtung | America/Paramaribo | America/Phoenix | America/Port-au-Prince
America/Port_of_Spain | America/Porto_Acre | America/Porto_Velho | America/Puerto_Rico | America/Rainy_River
America/Rankin_Inlet | America/Recife | America/Regina | America/Resolute | America/Rio_Branco
America/Rosario | America/Santa_Isabel | America/Santarem | America/Santiago | America/Santo_Domingo
America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/Sitka | America/St_Barthelemy
America/St_Johns | America/St_Kitts | America/St_Lucia | America/St_Thomas | America/St_Vincent
America/Swift_Current | America/Tegucigalpa | America/Thule | America/Thunder_Bay | America/Tijuana
America/Toronto | America/Tortola | America/Vancouver | America/Virgin | America/Whitehorse
America/Winnipeg | America/Yakutat | America/Yellowknife |  |
Африка
Антарктика
Список поддерживаемых временных зон


Антарктика

Антарктика
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie | Antarctica/Mawson
Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa
Antarctica/Vostok |  |  |  |
Америка
Арктика
Список поддерживаемых временных зон


Арктика

Арктика
Arctic/Longyearbyen
Антарктика
Азия
Список поддерживаемых временных зон


Азия

Азия
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Hebron | Asia/Ho_Chi_Minh
Asia/Hong_Kong | Asia/Hovd | Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta
Asia/Jayapura | Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka | Asia/Karachi
Asia/Kashgar | Asia/Kathmandu | Asia/Katmandu | Asia/Kolkata | Asia/Krasnoyarsk
Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait | Asia/Macao | Asia/Macau
Asia/Magadan | Asia/Makassar | Asia/Manila | Asia/Muscat | Asia/Nicosia
Asia/Novokuznetsk | Asia/Novosibirsk | Asia/Omsk | Asia/Oral | Asia/Phnom_Penh
Asia/Pontianak | Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Rangoon
Asia/Riyadh | Asia/Saigon | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul
Asia/Shanghai | Asia/Singapore | Asia/Taipei | Asia/Tashkent | Asia/Tbilisi
Asia/Tehran | Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu | Asia/Tokyo
Asia/Ujung_Pandang | Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi | Asia/Vientiane
Asia/Vladivostok | Asia/Yakutsk | Asia/Yekaterinburg | Asia/Yerevan |
Арктика
Атлантика
Список поддерживаемых временных зон


Атлантика

Атлантика
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe
Atlantic/Faroe | Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |  |
Азия
Австралия
Список поддерживаемых временных зон


Австралия

Австралия
Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra
Australia/Currie | Australia/Darwin | Australia/Eucla | Australia/Hobart | Australia/LHI
Australia/Lindeman | Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW
Australia/Perth | Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania
Australia/Victoria | Australia/West | Australia/Yancowinna |  |
Атлантика
Европа
Список поддерживаемых временных зон


Европа

Европа
Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest
Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey | Europe/Kaliningrad
Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London | Europe/Luxembourg
Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris | Europe/Podgorica
Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara | Europe/San_Marino
Europe/Sarajevo | Europe/Simferopol | Europe/Skopje | Europe/Sofia | Europe/Stockholm
Europe/Tallinn | Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod | Europe/Vaduz
Europe/Vatican | Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw
Europe/Zagreb | Europe/Zaporozhye | Europe/Zurich |  |
Австралия
Индийский
Список поддерживаемых временных зон


Индийский

Индийский
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |
Европа
Тихоокеанский
Список поддерживаемых временных зон


Тихоокеанский

Тихоокеанский
Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Chuuk | Pacific/Easter
Pacific/Efate | Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti
Pacific/Galapagos | Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu
Pacific/Johnston | Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro
Pacific/Marquesas | Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk
Pacific/Noumea | Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Pohnpei
Pacific/Ponape | Pacific/Port_Moresby | Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa
Pacific/Tahiti | Pacific/Tarawa | Pacific/Tongatapu | Pacific/Truk | Pacific/Wake
Pacific/Wallis | Pacific/Yap |  |  |
Индийский
Другие
Список поддерживаемых временных зон


Другие

Другие
Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein | Libya
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST
MST7MDT | Navajo | NZ | NZ-CHAT | Poland
Portugal | PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific
US/Pacific-New | US/Samoa | UTC | W-SU | WET
Zulu |  |  |  |
Внимание

Пожалуйста, не используйте описанные здесь временные зоны (кроме UTC), они существуют только по причинам обратной совместимости.

Тихоокеанский
Расширения для работы с командной строкой
Список поддерживаемых временных зон


Расширения для работы с командной строкой

  • Ncurses — Ncurses Terminal Screen Control
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Ncurses Функции
  • Newt
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Newt Функции
  • Readline — GNU Readline
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Readline Функции
Другие
Ncurses
Справочник функций


Ncurses Terminal Screen Control

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Error codes
    • Colors
    • Keys
    • Mouse
  • Ncurses Функции
    • ncurses_addch — Add character at current position and advance cursor
    • ncurses_addchnstr — Add attributed string with specified length at current position
    • ncurses_addchstr — Add attributed string at current position
    • ncurses_addnstr — Add string with specified length at current position
    • ncurses_addstr — Output text at current position
    • ncurses_assume_default_colors — Define default colors for color 0
    • ncurses_attroff — Turn off the given attributes
    • ncurses_attron — Turn on the given attributes
    • ncurses_attrset — Set given attributes
    • ncurses_baudrate — Returns baudrate of terminal
    • ncurses_beep — Let the terminal beep
    • ncurses_bkgd — Set background property for terminal screen
    • ncurses_bkgdset — Control screen background
    • ncurses_border — Draw a border around the screen using attributed characters
    • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
    • ncurses_can_change_color — Checks if terminal color definitions can be changed
    • ncurses_cbreak — Switch of input buffering
    • ncurses_clear — Clear screen
    • ncurses_clrtobot — Clear screen from current position to bottom
    • ncurses_clrtoeol — Clear screen from current position to end of line
    • ncurses_color_content — Retrieves RGB components of a color
    • ncurses_color_set — Set active foreground and background colors
    • ncurses_curs_set — Set cursor state
    • ncurses_def_prog_mode — Saves terminals (program) mode
    • ncurses_def_shell_mode — Saves terminals (shell) mode
    • ncurses_define_key — Define a keycode
    • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
    • ncurses_delay_output — Delay output on terminal using padding characters
    • ncurses_delch — Delete character at current position, move rest of line left
    • ncurses_deleteln — Delete line at current position, move rest of screen up
    • ncurses_delwin — Delete a ncurses window
    • ncurses_doupdate — Write all prepared refreshes to terminal
    • ncurses_echo — Activate keyboard input echo
    • ncurses_echochar — Single character output including refresh
    • ncurses_end — Stop using ncurses, clean up the screen
    • ncurses_erase — Erase terminal screen
    • ncurses_erasechar — Returns current erase character
    • ncurses_filter — Set LINES for iniscr() and newterm() to 1
    • ncurses_flash — Flash terminal screen (visual bell)
    • ncurses_flushinp — Flush keyboard input buffer
    • ncurses_getch — Read a character from keyboard
    • ncurses_getmaxyx — Returns the size of a window
    • ncurses_getmouse — Reads mouse event
    • ncurses_getyx — Returns the current cursor position for a window
    • ncurses_halfdelay — Put terminal into halfdelay mode
    • ncurses_has_colors — Checks if terminal has color capabilities
    • ncurses_has_ic — Check for insert- and delete-capabilities
    • ncurses_has_il — Check for line insert- and delete-capabilities
    • ncurses_has_key — Check for presence of a function key on terminal keyboard
    • ncurses_hide_panel — Remove panel from the stack, making it invisible
    • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
    • ncurses_inch — Get character and attribute at current position
    • ncurses_init_color — Define a terminal color
    • ncurses_init_pair — Define a color pair
    • ncurses_init — Initialize ncurses
    • ncurses_insch — Insert character moving rest of line including character at current position
    • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
    • ncurses_insertln — Insert a line, move rest of screen down
    • ncurses_insstr — Insert string at current position, moving rest of line right
    • ncurses_instr — Reads string from terminal screen
    • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
    • ncurses_keyok — Enable or disable a keycode
    • ncurses_keypad — Turns keypad on or off
    • ncurses_killchar — Returns current line kill character
    • ncurses_longname — Returns terminals description
    • ncurses_meta — Enables/Disable 8-bit meta key information
    • ncurses_mouse_trafo — Transforms coordinates
    • ncurses_mouseinterval — Set timeout for mouse button clicks
    • ncurses_mousemask — Sets mouse options
    • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
    • ncurses_move — Move output position
    • ncurses_mvaddch — Move current position and add character
    • ncurses_mvaddchnstr — Move position and add attributed string with specified length
    • ncurses_mvaddchstr — Move position and add attributed string
    • ncurses_mvaddnstr — Move position and add string with specified length
    • ncurses_mvaddstr — Move position and add string
    • ncurses_mvcur — Move cursor immediately
    • ncurses_mvdelch — Move position and delete character, shift rest of line left
    • ncurses_mvgetch — Move position and get character at new position
    • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
    • ncurses_mvinch — Move position and get attributed character at new position
    • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
    • ncurses_mvwaddstr — Add string at new position in window
    • ncurses_napms — Sleep
    • ncurses_new_panel — Create a new panel and associate it with window
    • ncurses_newpad — Creates a new pad (window)
    • ncurses_newwin — Create a new window
    • ncurses_nl — Translate newline and carriage return / line feed
    • ncurses_nocbreak — Switch terminal to cooked mode
    • ncurses_noecho — Switch off keyboard input echo
    • ncurses_nonl — Do not translate newline and carriage return / line feed
    • ncurses_noqiflush — Do not flush on signal characters
    • ncurses_noraw — Switch terminal out of raw mode
    • ncurses_pair_content — Retrieves foreground and background colors of a color pair
    • ncurses_panel_above — Returns the panel above panel
    • ncurses_panel_below — Returns the panel below panel
    • ncurses_panel_window — Returns the window associated with panel
    • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
    • ncurses_prefresh — Copies a region from a pad into the virtual screen
    • ncurses_putp — Apply padding information to the string and output it
    • ncurses_qiflush — Flush on signal characters
    • ncurses_raw — Switch terminal into raw mode
    • ncurses_refresh — Refresh screen
    • ncurses_replace_panel — Replaces the window associated with panel
    • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
    • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
    • ncurses_resetty — Restores saved terminal state
    • ncurses_savetty — Saves terminal state
    • ncurses_scr_dump — Dump screen content to file
    • ncurses_scr_init — Initialize screen from file dump
    • ncurses_scr_restore — Restore screen from file dump
    • ncurses_scr_set — Inherit screen from file dump
    • ncurses_scrl — Scroll window content up or down without changing current position
    • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
    • ncurses_slk_attr — Returns current soft label key attribute
    • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
    • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
    • ncurses_slk_attrset — Set given attributes for soft function-key labels
    • ncurses_slk_clear — Clears soft labels from screen
    • ncurses_slk_color — Sets color for soft label keys
    • ncurses_slk_init — Initializes soft label key functions
    • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
    • ncurses_slk_refresh — Copies soft label keys to screen
    • ncurses_slk_restore — Restores soft label keys
    • ncurses_slk_set — Sets function key labels
    • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
    • ncurses_standend — Stop using 'standout' attribute
    • ncurses_standout — Start using 'standout' attribute
    • ncurses_start_color — Initializes color functionality
    • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
    • ncurses_termname — Returns terminals (short)-name
    • ncurses_timeout — Set timeout for special key sequences
    • ncurses_top_panel — Moves a visible panel to the top of the stack
    • ncurses_typeahead — Specify different filedescriptor for typeahead checking
    • ncurses_ungetch — Put a character back into the input stream
    • ncurses_ungetmouse — Pushes mouse event to queue
    • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
    • ncurses_use_default_colors — Assign terminal default colors to color id -1
    • ncurses_use_env — Control use of environment information about terminal size
    • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
    • ncurses_vidattr — Display the string on the terminal in the video attribute mode
    • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
    • ncurses_waddch — Adds character at current position in a window and advance cursor
    • ncurses_waddstr — Outputs text at current postion in window
    • ncurses_wattroff — Turns off attributes for a window
    • ncurses_wattron — Turns on attributes for a window
    • ncurses_wattrset — Set the attributes for a window
    • ncurses_wborder — Draws a border around the window using attributed characters
    • ncurses_wclear — Clears window
    • ncurses_wcolor_set — Sets windows color pairings
    • ncurses_werase — Erase window contents
    • ncurses_wgetch — Reads a character from keyboard (window)
    • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
    • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
    • ncurses_wmove — Moves windows output position
    • ncurses_wnoutrefresh — Copies window to virtual screen
    • ncurses_wrefresh — Refresh window on terminal screen
    • ncurses_wstandend — End standout mode for a window
    • ncurses_wstandout — Enter standout mode for a window
    • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long
Расширения для работы с командной строкой
Введение
Расширения для работы с командной строкой


Введение

ncurses (new curses) is a free software emulation of curses in System V Rel 4.0 (and above). It uses terminfo format, supports pads, colors, multiple highlights, form characters and function key mapping. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant using PHP from the command line.

The features available, such as colors, depend on the terminal that you are using. Use functions such as ncurses_has_colors(), ncurses_can_change_color(), and ncurses_has_ic() to check for individual capabilities.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0.

ncurses is available for the following platforms:

  • AIX
  • BeOS
  • BSD variants (FreeBSD, NetBSD, OpenBSD)
  • Cygwin
  • Digital Unix (aka OSF1)
  • GNU/Linux
  • HPUX
  • IRIX64
  • Mac OS X
  • OS/2
  • QNX
  • SCO OpenServer
  • Solaris
  • Tru64

Ncurses
Установка и настройка
Ncurses


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Ncurses


Требования

You need the ncurses libraries and headerfiles. Download the latest version from the » ftp://ftp.gnu.org/pub/gnu/ncurses/ or from an other GNU-Mirror.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ncurses.

Wide character CRT screen handling (ncursesw) support was added in version 1.0.1 of this PECL extension.

Требования
Настройка во время выполнения
Установка и настройка


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

This extension defines window, panel and pad resources.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Содержание

  • Error codes
  • Colors
  • Keys
  • Mouse

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

Типы ресурсов
Error codes
Ncurses


Error codes

On error ncurses functions return -1. Some functions return 0 on success. See the relevant pages in the documentation for actual return values.

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


Colors

ncurses color constants
constant | meaning
NCURSES_COLOR_BLACK | no color (black)
NCURSES_COLOR_WHITE | white
NCURSES_COLOR_RED | red - supported when terminal is in color mode
NCURSES_COLOR_GREEN | green - supported when terminal is in color mode
NCURSES_COLOR_YELLOW | yellow - supported when terminal is in color mode
NCURSES_COLOR_BLUE | blue - supported when terminal is in color mode
NCURSES_COLOR_CYAN | cyan - supported when terminal is in color mode
NCURSES_COLOR_MAGENTA | magenta - supported when terminal is in color mode
Error codes
Keys
Предопределенные константы


Keys

ncurses key constants
constant | meaning
NCURSES_KEY_F0 - NCURSES_KEY_F64 | function keys F1 - F64
NCURSES_KEY_DOWN | down arrow
NCURSES_KEY_UP | up arrow
NCURSES_KEY_LEFT | left arrow
NCURSES_KEY_RIGHT | right arrow
NCURSES_KEY_HOME | home key (upward+left arrow)
NCURSES_KEY_BACKSPACE | backspace
NCURSES_KEY_DL | delete line
NCURSES_KEY_IL | insert line
NCURSES_KEY_DC | delete character
NCURSES_KEY_IC | insert char or enter insert mode
NCURSES_KEY_EIC | exit insert char mode
NCURSES_KEY_CLEAR | clear screen
NCURSES_KEY_EOS | clear to end of screen
NCURSES_KEY_EOL | clear to end of line
NCURSES_KEY_SF | scroll one line forward
NCURSES_KEY_SR | scroll one line backward
NCURSES_KEY_NPAGE | next page
NCURSES_KEY_PPAGE | previous page
NCURSES_KEY_STAB | set tab
NCURSES_KEY_CTAB | clear tab
NCURSES_KEY_CATAB | clear all tabs
NCURSES_KEY_SRESET | soft (partial) reset
NCURSES_KEY_RESET | reset or hard reset
NCURSES_KEY_PRINT | print
NCURSES_KEY_LL | lower left
NCURSES_KEY_A1 | upper left of keypad
NCURSES_KEY_A3 | upper right of keypad
NCURSES_KEY_B2 | center of keypad
NCURSES_KEY_C1 | lower left of keypad
NCURSES_KEY_C3 | lower right of keypad
NCURSES_KEY_BTAB | back tab
NCURSES_KEY_BEG | beginning
NCURSES_KEY_CANCEL | cancel
NCURSES_KEY_CLOSE | close
NCURSES_KEY_COMMAND | cmd (command)
NCURSES_KEY_COPY | copy
NCURSES_KEY_CREATE | create
NCURSES_KEY_END | end
NCURSES_KEY_EXIT | exit
NCURSES_KEY_FIND | find
NCURSES_KEY_HELP | help
NCURSES_KEY_MARK | mark
NCURSES_KEY_MESSAGE | message
NCURSES_KEY_MOVE | move
NCURSES_KEY_NEXT | next
NCURSES_KEY_OPEN | open
NCURSES_KEY_OPTIONS | options
NCURSES_KEY_PREVIOUS | previous
NCURSES_KEY_REDO | redo
NCURSES_KEY_REFERENCE | ref (reference)
NCURSES_KEY_REFRESH | refresh
NCURSES_KEY_REPLACE | replace
NCURSES_KEY_RESTART | restart
NCURSES_KEY_RESUME | resume
NCURSES_KEY_SAVE | save
NCURSES_KEY_SBEG | shiftet beg (beginning)
NCURSES_KEY_SCANCEL | shifted cancel
NCURSES_KEY_SCOMMAND | shifted command
NCURSES_KEY_SCOPY | shifted copy
NCURSES_KEY_SCREATE | shifted create
NCURSES_KEY_SDC | shifted delete char
NCURSES_KEY_SDL | shifted delete line
NCURSES_KEY_SELECT | select
NCURSES_KEY_SEND | shifted end
NCURSES_KEY_SEOL | shifted end of line
NCURSES_KEY_SEXIT | shifted exit
NCURSES_KEY_SFIND | shifted find
NCURSES_KEY_SHELP | shifted help
NCURSES_KEY_SHOME | shifted home
NCURSES_KEY_SIC | shifted input
NCURSES_KEY_SLEFT | shifted left arrow
NCURSES_KEY_SMESSAGE | shifted message
NCURSES_KEY_SMOVE | shifted move
NCURSES_KEY_SNEXT | shifted next
NCURSES_KEY_SOPTIONS | shifted options
NCURSES_KEY_SPREVIOUS | shifted previous
NCURSES_KEY_SPRINT | shifted print
NCURSES_KEY_SREDO | shifted redo
NCURSES_KEY_SREPLACE | shifted replace
NCURSES_KEY_SRIGHT | shifted right arrow
NCURSES_KEY_SRSUME | shifted resume
NCURSES_KEY_SSAVE | shifted save
NCURSES_KEY_SSUSPEND | shifted suspend
NCURSES_KEY_UNDO | undo
NCURSES_KEY_MOUSE | mouse event has occurred
NCURSES_KEY_MAX | maximum key value
Colors
Mouse
Предопределенные константы


Mouse

mouse constants
Constant | meaning
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | button (1-4) released
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | button (1-4) pressed
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | button (1-4) clicked
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | button (1-4) double clicked
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | button (1-4) triple clicked
NCURSES_BUTTON_CTRL | ctrl pressed during click
NCURSES_BUTTON_SHIFT | shift pressed during click
NCURSES_BUTTON_ALT | alt pressed during click
NCURSES_ALL_MOUSE_EVENTS | report all mouse events
NCURSES_REPORT_MOUSE_POSITION | report mouse position
Keys
Ncurses Функции
Предопределенные константы


Ncurses Функции

Содержание

  • ncurses_addch — Add character at current position and advance cursor
  • ncurses_addchnstr — Add attributed string with specified length at current position
  • ncurses_addchstr — Add attributed string at current position
  • ncurses_addnstr — Add string with specified length at current position
  • ncurses_addstr — Output text at current position
  • ncurses_assume_default_colors — Define default colors for color 0
  • ncurses_attroff — Turn off the given attributes
  • ncurses_attron — Turn on the given attributes
  • ncurses_attrset — Set given attributes
  • ncurses_baudrate — Returns baudrate of terminal
  • ncurses_beep — Let the terminal beep
  • ncurses_bkgd — Set background property for terminal screen
  • ncurses_bkgdset — Control screen background
  • ncurses_border — Draw a border around the screen using attributed characters
  • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
  • ncurses_can_change_color — Checks if terminal color definitions can be changed
  • ncurses_cbreak — Switch of input buffering
  • ncurses_clear — Clear screen
  • ncurses_clrtobot — Clear screen from current position to bottom
  • ncurses_clrtoeol — Clear screen from current position to end of line
  • ncurses_color_content — Retrieves RGB components of a color
  • ncurses_color_set — Set active foreground and background colors
  • ncurses_curs_set — Set cursor state
  • ncurses_def_prog_mode — Saves terminals (program) mode
  • ncurses_def_shell_mode — Saves terminals (shell) mode
  • ncurses_define_key — Define a keycode
  • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
  • ncurses_delay_output — Delay output on terminal using padding characters
  • ncurses_delch — Delete character at current position, move rest of line left
  • ncurses_deleteln — Delete line at current position, move rest of screen up
  • ncurses_delwin — Delete a ncurses window
  • ncurses_doupdate — Write all prepared refreshes to terminal
  • ncurses_echo — Activate keyboard input echo
  • ncurses_echochar — Single character output including refresh
  • ncurses_end — Stop using ncurses, clean up the screen
  • ncurses_erase — Erase terminal screen
  • ncurses_erasechar — Returns current erase character
  • ncurses_filter — Set LINES for iniscr() and newterm() to 1
  • ncurses_flash — Flash terminal screen (visual bell)
  • ncurses_flushinp — Flush keyboard input buffer
  • ncurses_getch — Read a character from keyboard
  • ncurses_getmaxyx — Returns the size of a window
  • ncurses_getmouse — Reads mouse event
  • ncurses_getyx — Returns the current cursor position for a window
  • ncurses_halfdelay — Put terminal into halfdelay mode
  • ncurses_has_colors — Checks if terminal has color capabilities
  • ncurses_has_ic — Check for insert- and delete-capabilities
  • ncurses_has_il — Check for line insert- and delete-capabilities
  • ncurses_has_key — Check for presence of a function key on terminal keyboard
  • ncurses_hide_panel — Remove panel from the stack, making it invisible
  • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
  • ncurses_inch — Get character and attribute at current position
  • ncurses_init_color — Define a terminal color
  • ncurses_init_pair — Define a color pair
  • ncurses_init — Initialize ncurses
  • ncurses_insch — Insert character moving rest of line including character at current position
  • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
  • ncurses_insertln — Insert a line, move rest of screen down
  • ncurses_insstr — Insert string at current position, moving rest of line right
  • ncurses_instr — Reads string from terminal screen
  • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
  • ncurses_keyok — Enable or disable a keycode
  • ncurses_keypad — Turns keypad on or off
  • ncurses_killchar — Returns current line kill character
  • ncurses_longname — Returns terminals description
  • ncurses_meta — Enables/Disable 8-bit meta key information
  • ncurses_mouse_trafo — Transforms coordinates
  • ncurses_mouseinterval — Set timeout for mouse button clicks
  • ncurses_mousemask — Sets mouse options
  • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
  • ncurses_move — Move output position
  • ncurses_mvaddch — Move current position and add character
  • ncurses_mvaddchnstr — Move position and add attributed string with specified length
  • ncurses_mvaddchstr — Move position and add attributed string
  • ncurses_mvaddnstr — Move position and add string with specified length
  • ncurses_mvaddstr — Move position and add string
  • ncurses_mvcur — Move cursor immediately
  • ncurses_mvdelch — Move position and delete character, shift rest of line left
  • ncurses_mvgetch — Move position and get character at new position
  • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
  • ncurses_mvinch — Move position and get attributed character at new position
  • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
  • ncurses_mvwaddstr — Add string at new position in window
  • ncurses_napms — Sleep
  • ncurses_new_panel — Create a new panel and associate it with window
  • ncurses_newpad — Creates a new pad (window)
  • ncurses_newwin — Create a new window
  • ncurses_nl — Translate newline and carriage return / line feed
  • ncurses_nocbreak — Switch terminal to cooked mode
  • ncurses_noecho — Switch off keyboard input echo
  • ncurses_nonl — Do not translate newline and carriage return / line feed
  • ncurses_noqiflush — Do not flush on signal characters
  • ncurses_noraw — Switch terminal out of raw mode
  • ncurses_pair_content — Retrieves foreground and background colors of a color pair
  • ncurses_panel_above — Returns the panel above panel
  • ncurses_panel_below — Returns the panel below panel
  • ncurses_panel_window — Returns the window associated with panel
  • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
  • ncurses_prefresh — Copies a region from a pad into the virtual screen
  • ncurses_putp — Apply padding information to the string and output it
  • ncurses_qiflush — Flush on signal characters
  • ncurses_raw — Switch terminal into raw mode
  • ncurses_refresh — Refresh screen
  • ncurses_replace_panel — Replaces the window associated with panel
  • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
  • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
  • ncurses_resetty — Restores saved terminal state
  • ncurses_savetty — Saves terminal state
  • ncurses_scr_dump — Dump screen content to file
  • ncurses_scr_init — Initialize screen from file dump
  • ncurses_scr_restore — Restore screen from file dump
  • ncurses_scr_set — Inherit screen from file dump
  • ncurses_scrl — Scroll window content up or down without changing current position
  • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
  • ncurses_slk_attr — Returns current soft label key attribute
  • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
  • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
  • ncurses_slk_attrset — Set given attributes for soft function-key labels
  • ncurses_slk_clear — Clears soft labels from screen
  • ncurses_slk_color — Sets color for soft label keys
  • ncurses_slk_init — Initializes soft label key functions
  • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
  • ncurses_slk_refresh — Copies soft label keys to screen
  • ncurses_slk_restore — Restores soft label keys
  • ncurses_slk_set — Sets function key labels
  • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
  • ncurses_standend — Stop using 'standout' attribute
  • ncurses_standout — Start using 'standout' attribute
  • ncurses_start_color — Initializes color functionality
  • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
  • ncurses_termname — Returns terminals (short)-name
  • ncurses_timeout — Set timeout for special key sequences
  • ncurses_top_panel — Moves a visible panel to the top of the stack
  • ncurses_typeahead — Specify different filedescriptor for typeahead checking
  • ncurses_ungetch — Put a character back into the input stream
  • ncurses_ungetmouse — Pushes mouse event to queue
  • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
  • ncurses_use_default_colors — Assign terminal default colors to color id -1
  • ncurses_use_env — Control use of environment information about terminal size
  • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
  • ncurses_vidattr — Display the string on the terminal in the video attribute mode
  • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
  • ncurses_waddch — Adds character at current position in a window and advance cursor
  • ncurses_waddstr — Outputs text at current postion in window
  • ncurses_wattroff — Turns off attributes for a window
  • ncurses_wattron — Turns on attributes for a window
  • ncurses_wattrset — Set the attributes for a window
  • ncurses_wborder — Draws a border around the window using attributed characters
  • ncurses_wclear — Clears window
  • ncurses_wcolor_set — Sets windows color pairings
  • ncurses_werase — Erase window contents
  • ncurses_wgetch — Reads a character from keyboard (window)
  • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
  • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
  • ncurses_wmove — Moves windows output position
  • ncurses_wnoutrefresh — Copies window to virtual screen
  • ncurses_wrefresh — Refresh window on terminal screen
  • ncurses_wstandend — End standout mode for a window
  • ncurses_wstandout — Enter standout mode for a window
  • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long
Mouse
ncurses_addch
Ncurses


Add character at current position and advance cursor

Ncurses Функции
ncurses_addchnstr
Ncurses Функции
PHP Manual

ncurses_addch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addch — Add character at current position and advance cursor

Описание

int ncurses_addch ( int $ch )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

ch

Ncurses Функции
ncurses_addchnstr
Ncurses Функции


Add attributed string with specified length at current position

ncurses_addch
ncurses_addchstr
Ncurses Функции
PHP Manual

ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchnstr — Add attributed string with specified length at current position

Описание

int ncurses_addchnstr ( string $s , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

s

n

ncurses_addch
ncurses_addchstr
Ncurses Функции


Add attributed string at current position

ncurses_addchnstr
ncurses_addnstr
Ncurses Функции
PHP Manual

ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchstr — Add attributed string at current position

Описание

int ncurses_addchstr ( string $s )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

s

ncurses_addchnstr
ncurses_addnstr
Ncurses Функции


Add string with specified length at current position

ncurses_addchstr
ncurses_addstr
Ncurses Функции
PHP Manual

ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addnstr — Add string with specified length at current position

Описание

int ncurses_addnstr ( string $s , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

s

n

ncurses_addchstr
ncurses_addstr
Ncurses Функции


Output text at current position

ncurses_addnstr
ncurses_assume_default_colors
Ncurses Функции
PHP Manual

ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addstr — Output text at current position

Описание

int ncurses_addstr ( string $text )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

ncurses_addnstr
ncurses_assume_default_colors
Ncurses Функции


Define default colors for color 0

ncurses_addstr
ncurses_attroff
Ncurses Функции
PHP Manual

ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_assume_default_colors — Define default colors for color 0

Описание

int ncurses_assume_default_colors ( int $fg , int $bg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fg

bg

ncurses_addstr
ncurses_attroff
Ncurses Функции


Turn off the given attributes

ncurses_assume_default_colors
ncurses_attron
Ncurses Функции
PHP Manual

ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attroff — Turn off the given attributes

Описание

int ncurses_attroff ( int $attributes )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

attributes

ncurses_assume_default_colors
ncurses_attron
Ncurses Функции


Turn on the given attributes

ncurses_attroff
ncurses_attrset
Ncurses Функции
PHP Manual

ncurses_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attron — Turn on the given attributes

Описание

int ncurses_attron ( int $attributes )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

attributes

ncurses_attroff
ncurses_attrset
Ncurses Функции


Set given attributes

ncurses_attron
ncurses_baudrate
Ncurses Функции
PHP Manual

ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attrset — Set given attributes

Описание

int ncurses_attrset ( int $attributes )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

attributes

ncurses_attron
ncurses_baudrate
Ncurses Функции


Returns baudrate of terminal

ncurses_attrset
ncurses_beep
Ncurses Функции
PHP Manual

ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_baudrate — Returns baudrate of terminal

Описание

int ncurses_baudrate ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_attrset
ncurses_beep
Ncurses Функции


Let the terminal beep

ncurses_baudrate
ncurses_bkgd
Ncurses Функции
PHP Manual

ncurses_beep

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_beep — Let the terminal beep

Описание

int ncurses_beep ( void )
Внимание

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

ncurses_beep() sends an audible alert (bell) and if its not possible flashes the screen.

Смотрите также

  • ncurses_flash() - Flash terminal screen (visual bell)

ncurses_baudrate
ncurses_bkgd
Ncurses Функции


Set background property for terminal screen

ncurses_beep
ncurses_bkgdset
Ncurses Функции
PHP Manual

ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgd — Set background property for terminal screen

Описание

int ncurses_bkgd ( int $attrchar )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

attrchar

ncurses_beep
ncurses_bkgdset
Ncurses Функции


Control screen background

ncurses_bkgd
ncurses_border
Ncurses Функции
PHP Manual

ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgdset — Control screen background

Описание

void ncurses_bkgdset ( int $attrchar )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

attrchar

ncurses_bkgd
ncurses_border
Ncurses Функции


Draw a border around the screen using attributed characters

ncurses_bkgdset
ncurses_bottom_panel
Ncurses Функции
PHP Manual

ncurses_border

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_border — Draw a border around the screen using attributed characters

Описание

int ncurses_border ( int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Внимание

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

Draws the specified lines and corners around the main window.

Use ncurses_wborder() for borders around subwindows!

Список параметров

Every parameter expects 0 to draw a line or 1 to skip it.

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Смотрите также

  • ncurses_wborder() - Draws a border around the window using attributed characters

ncurses_bkgdset
ncurses_bottom_panel
Ncurses Функции


Moves a visible panel to the bottom of the stack

ncurses_border
ncurses_can_change_color
Ncurses Функции
PHP Manual

ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bottom_panel — Moves a visible panel to the bottom of the stack

Описание

int ncurses_bottom_panel ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_border
ncurses_can_change_color
Ncurses Функции


Checks if terminal color definitions can be changed

ncurses_bottom_panel
ncurses_cbreak
Ncurses Функции
PHP Manual

ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_can_change_color — Checks if terminal color definitions can be changed

Описание

bool ncurses_can_change_color ( void )

Checks whether the terminal has color capabilities and whether the programmer can change color definitions using ncurses_init_color(). ncurses must be initialized using ncurses_init() before calling this function.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return TRUE if the programmer can change color definitions, FALSE otherwise.

Смотрите также

  • ncurses_has_colors() - Checks if terminal has color capabilities
  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality

ncurses_bottom_panel
ncurses_cbreak
Ncurses Функции


Switch of input buffering

ncurses_can_change_color
ncurses_clear
Ncurses Функции
PHP Manual

ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_cbreak — Switch of input buffering

Описание

bool ncurses_cbreak ( void )
Внимание

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

Disables line buffering and character processing (interrupt and flow control characters are unaffected), making characters typed by the user immediately available to the program.

Возвращаемые значения

Returns TRUE or NCURSES_ERR if any error occurred.

Смотрите также

  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_can_change_color
ncurses_clear
Ncurses Функции


Clear screen

ncurses_cbreak
ncurses_clrtobot
Ncurses Функции
PHP Manual

ncurses_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clear — Clear screen

Описание

bool ncurses_clear ( void )
Внимание

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

Clears the screen completely without setting blanks.

Note: ncurses_clear() clears the screen without setting blanks, which have the current background rendition. To clear screen with blanks, use ncurses_erase().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ncurses_erase() - Erase terminal screen

ncurses_cbreak
ncurses_clrtobot
Ncurses Функции


Clear screen from current position to bottom

ncurses_clear
ncurses_clrtoeol
Ncurses Функции
PHP Manual

ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtobot — Clear screen from current position to bottom

Описание

bool ncurses_clrtobot ( void )
Внимание

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

Erases all lines from cursor to end of screen and creates blanks. Blanks created by ncurses_clrtobot() have the current background rendition.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ncurses_clear() - Clear screen
  • ncurses_clrtoeol() - Clear screen from current position to end of line

ncurses_clear
ncurses_clrtoeol
Ncurses Функции


Clear screen from current position to end of line

ncurses_clrtobot
ncurses_color_content
Ncurses Функции
PHP Manual

ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtoeol — Clear screen from current position to end of line

Описание

bool ncurses_clrtoeol ( void )
Внимание

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

Erases the current line from cursor position to the end. Blanks created by ncurses_clrtoeol() have the current background rendition.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ncurses_clear() - Clear screen
  • ncurses_clrtobot() - Clear screen from current position to bottom

ncurses_clrtobot
ncurses_color_content
Ncurses Функции


Retrieves RGB components of a color

ncurses_clrtoeol
ncurses_color_set
Ncurses Функции
PHP Manual

ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_content — Retrieves RGB components of a color

Описание

int ncurses_color_content ( int $color , int &$r , int &$g , int &$b )

Retrieves the red, green, and blue components for the given color definition. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Список параметров

color

The number of the color to retrieve information for. May be one of the pre-defined color constants.

r

A reference to which to return the red component of the color. The value returned to the reference will be between 0 and 1000.

g

A reference to which to return the green component of the color. The value returned to the reference will be between 0 and 1000.

b

A reference to which to return the blue component of the color. The value returned to the reference will be between 0 and 1000.

Возвращаемые значения

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Смотрите также

  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality

ncurses_clrtoeol
ncurses_color_set
Ncurses Функции


Set active foreground and background colors

ncurses_color_content
ncurses_curs_set
Ncurses Функции
PHP Manual

ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_set — Set active foreground and background colors

Описание

int ncurses_color_set ( int $pair )

Sets the active foreground and background colors. Any characters written after this function is invoked will have these colors. This function requires terminal colors to be supported and initialized using ncurses_start_color() beforehand.

ncurses uses color pairs to specify both foreground and background colors. Use ncurses_init_pair() to define a color pair.

Список параметров

pair

The color pair from which to get the foreground and background colors to set as the active colors.

Возвращаемые значения

Returns -1 on success, and 0 on failure.

Примеры

Пример #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Смотрите также

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_color_content
ncurses_curs_set
Ncurses Функции


Set cursor state

ncurses_color_set
ncurses_def_prog_mode
Ncurses Функции
PHP Manual

ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_curs_set — Set cursor state

Описание

int ncurses_curs_set ( int $visibility )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

visibility

ncurses_color_set
ncurses_def_prog_mode
Ncurses Функции


Saves terminals (program) mode

ncurses_curs_set
ncurses_def_shell_mode
Ncurses Функции
PHP Manual

ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_prog_mode — Saves terminals (program) mode

Описание

bool ncurses_def_prog_mode ( void )
Внимание

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

Saves the current terminal modes for program (in curses) for use by ncurses_reset_prog_mode().

Возвращаемые значения

Returns FALSE on success, otherwise TRUE.

Смотрите также

  • ncurses_reset_prog_mode() - Resets the prog mode saved by def_prog_mode

ncurses_curs_set
ncurses_def_shell_mode
Ncurses Функции


Saves terminals (shell) mode

ncurses_def_prog_mode
ncurses_define_key
Ncurses Функции
PHP Manual

ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_shell_mode — Saves terminals (shell) mode

Описание

bool ncurses_def_shell_mode ( void )
Внимание

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

Saves the current terminal modes for shell (not in curses) for use by ncurses_reset_shell_mode().

Возвращаемые значения

Returns FALSE on success, TRUE otherwise.

Смотрите также

  • ncurses_reset_shell_mode() - Resets the shell mode saved by def_shell_mode

ncurses_def_prog_mode
ncurses_define_key
Ncurses Функции


Define a keycode

ncurses_def_shell_mode
ncurses_del_panel
Ncurses Функции
PHP Manual

ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_define_key — Define a keycode

Описание

int ncurses_define_key ( string $definition , int $keycode )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

definition

keycode

ncurses_def_shell_mode
ncurses_del_panel
Ncurses Функции


Remove panel from the stack and delete it (but not the associated window)

ncurses_define_key
ncurses_delay_output
Ncurses Функции
PHP Manual

ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)

Описание

bool ncurses_del_panel ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_define_key
ncurses_delay_output
Ncurses Функции


Delay output on terminal using padding characters

ncurses_del_panel
ncurses_delch
Ncurses Функции
PHP Manual

ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delay_output — Delay output on terminal using padding characters

Описание

int ncurses_delay_output ( int $milliseconds )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

milliseconds

ncurses_del_panel
ncurses_delch
Ncurses Функции


Delete character at current position, move rest of line left

ncurses_delay_output
ncurses_deleteln
Ncurses Функции
PHP Manual

ncurses_delch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delch — Delete character at current position, move rest of line left

Описание

bool ncurses_delch ( void )
Внимание

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

Deletes the character under the cursor. All characters to the right of the cursor on the same line are moved to the left one position and the last character on the line is filled with a blank. The cursor position does not change.

Возвращаемые значения

Returns FALSE on success, TRUE otherwise.

Смотрите также

  • ncurses_deleteln() - Delete line at current position, move rest of screen up

ncurses_delay_output
ncurses_deleteln
Ncurses Функции


Delete line at current position, move rest of screen up

ncurses_delch
ncurses_delwin
Ncurses Функции
PHP Manual

ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_deleteln — Delete line at current position, move rest of screen up

Описание

bool ncurses_deleteln ( void )
Внимание

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

Deletes the current line under cursorposition. All lines below the current line are moved up one line. The bottom line of window is cleared. Cursor position does not change.

Возвращаемые значения

Returns FALSE on success, otherwise TRUE.

Смотрите также

  • ncurses_delch() - Delete character at current position, move rest of line left

ncurses_delch
ncurses_delwin
Ncurses Функции


Delete a ncurses window

ncurses_deleteln
ncurses_doupdate
Ncurses Функции
PHP Manual

ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delwin — Delete a ncurses window

Описание

bool ncurses_delwin ( resource $window )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_deleteln
ncurses_doupdate
Ncurses Функции


Write all prepared refreshes to terminal

ncurses_delwin
ncurses_echo
Ncurses Функции
PHP Manual

ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_doupdate — Write all prepared refreshes to terminal

Описание

bool ncurses_doupdate ( void )
Внимание

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

Compares the virtual screen to the physical screen and updates the physical screen. This way is more effective than using multiple refresh calls.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ncurses_delwin
ncurses_echo
Ncurses Функции


Activate keyboard input echo

ncurses_doupdate
ncurses_echochar
Ncurses Функции
PHP Manual

ncurses_echo

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echo — Activate keyboard input echo

Описание

bool ncurses_echo ( void )
Внимание

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

Enables echo mode. All characters typed by user are echoed by ncurses_getch().

Возвращаемые значения

Returns FALSE on success, TRUE if any error occurred.

Смотрите также

  • ncurses_noecho() - Switch off keyboard input echo to disable echo mode

ncurses_doupdate
ncurses_echochar
Ncurses Функции


Single character output including refresh

ncurses_echo
ncurses_end
Ncurses Функции
PHP Manual

ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echochar — Single character output including refresh

Описание

int ncurses_echochar ( int $character )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

character

ncurses_echo
ncurses_end
Ncurses Функции


Stop using ncurses, clean up the screen

ncurses_echochar
ncurses_erase
Ncurses Функции
PHP Manual

ncurses_end

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_end — Stop using ncurses, clean up the screen

Описание

int ncurses_end ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_echochar
ncurses_erase
Ncurses Функции


Erase terminal screen

ncurses_end
ncurses_erasechar
Ncurses Функции
PHP Manual

ncurses_erase

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erase — Erase terminal screen

Описание

bool ncurses_erase ( void )
Внимание

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

Fills the terminal screen with blanks.

Created blanks have the current background rendition, set by ncurses_bkgd().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ncurses_bkgd() - Set background property for terminal screen
  • ncurses_clear() - Clear screen

ncurses_end
ncurses_erasechar
Ncurses Функции


Returns current erase character

ncurses_erase
ncurses_filter
Ncurses Функции
PHP Manual

ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erasechar — Returns current erase character

Описание

string ncurses_erasechar ( void )
Внимание

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

Returns the current erase character.

Возвращаемые значения

The current erase char, as a string.

Смотрите также

  • ncurses_killchar() - Returns current line kill character

ncurses_erase
ncurses_filter
Ncurses Функции


Set LINES for iniscr() and newterm() to 1

ncurses_erasechar
ncurses_flash
Ncurses Функции
PHP Manual

ncurses_filter

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_filter — Set LINES for iniscr() and newterm() to 1

Описание

void ncurses_filter ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_erasechar
ncurses_flash
Ncurses Функции


Flash terminal screen (visual bell)

ncurses_filter
ncurses_flushinp
Ncurses Функции
PHP Manual

ncurses_flash

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flash — Flash terminal screen (visual bell)

Описание

bool ncurses_flash ( void )
Внимание

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

Flashes the screen, and if its not possible, sends an audible alert (bell).

Возвращаемые значения

Returns FALSE on success, otherwise TRUE.

Смотрите также

  • ncurses_beep() - Let the terminal beep

ncurses_filter
ncurses_flushinp
Ncurses Функции


Flush keyboard input buffer

ncurses_flash
ncurses_getch
Ncurses Функции
PHP Manual

ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flushinp — Flush keyboard input buffer

Описание

bool ncurses_flushinp ( void )
Внимание

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

Throws away any typeahead that has been typed and has not yet been read by your program.

Возвращаемые значения

Returns FALSE on success, otherwise TRUE.

ncurses_flash
ncurses_getch
Ncurses Функции


Read a character from keyboard

ncurses_flushinp
ncurses_getmaxyx
Ncurses Функции
PHP Manual

ncurses_getch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getch — Read a character from keyboard

Описание

int ncurses_getch ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_flushinp
ncurses_getmaxyx
Ncurses Функции


Returns the size of a window

ncurses_getch
ncurses_getmouse
Ncurses Функции
PHP Manual

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyx — Returns the size of a window

Описание

void ncurses_getmaxyx ( resource $window , int &$y , int &$x )
Внимание

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

Gets the horizontal and vertical size of the given window into the given variables.

Variables must be passed as reference, so they are updated when the user changes the terminal size.

Список параметров

window

The measured window

y

This will be set to the window height

x

This will be set to the window width

Возвращаемые значения

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

ncurses_getch
ncurses_getmouse
Ncurses Функции


Reads mouse event

ncurses_getmaxyx
ncurses_getyx
Ncurses Функции
PHP Manual

ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmouse — Reads mouse event

Описание

bool ncurses_getmouse ( array &$mevent )
Внимание

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

ncurses_getmouse() reads mouse event out of queue.

Список параметров

mevent

Event options will be delivered in this parameter which has to be an array, passed by reference (see example below).

On success an associative array with following keys will be delivered:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Возвращаемые значения

Returns FALSE if a mouse event is actually visible in the given window, otherwise returns TRUE.

Примеры

Пример #1 ncurses_getmouse() example

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse($mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Save mouse position
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Смотрите также

  • ncurses_ungetmouse() - Pushes mouse event to queue

ncurses_getmaxyx
ncurses_getyx
Ncurses Функции


Returns the current cursor position for a window

ncurses_getmouse
ncurses_halfdelay
Ncurses Функции
PHP Manual

ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getyx — Returns the current cursor position for a window

Описание

void ncurses_getyx ( resource $window , int &$y , int &$x )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

y

x

ncurses_getmouse
ncurses_halfdelay
Ncurses Функции


Put terminal into halfdelay mode

ncurses_getyx
ncurses_has_colors
Ncurses Функции
PHP Manual

ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_halfdelay — Put terminal into halfdelay mode

Описание

int ncurses_halfdelay ( int $tenth )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tenth

ncurses_getyx
ncurses_has_colors
Ncurses Функции


Checks if terminal has color capabilities

ncurses_halfdelay
ncurses_has_ic
Ncurses Функции
PHP Manual

ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_colors — Checks if terminal has color capabilities

Описание

bool ncurses_has_colors ( void )

Checks whether the terminal has color capabilities. This function can be used to write terminal-independent programs. ncurses must be initialized using ncurses_init() before calling this function.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return TRUE if the terminal has color capabilities, FALSE otherwise.

Примеры

Пример #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Смотрите также

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_start_color() - Initializes color functionality

ncurses_halfdelay
ncurses_has_ic
Ncurses Функции


Check for insert- and delete-capabilities

ncurses_has_colors
ncurses_has_il
Ncurses Функции
PHP Manual

ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_ic — Check for insert- and delete-capabilities

Описание

bool ncurses_has_ic ( void )
Внимание

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

Checks whether the terminal has insert and delete capabilities.

Возвращаемые значения

Returns TRUE if the terminal has insert/delete-capabilities, FALSE otherwise.

Смотрите также

  • ncurses_has_il() - Check for line insert- and delete-capabilities

ncurses_has_colors
ncurses_has_il
Ncurses Функции


Check for line insert- and delete-capabilities

ncurses_has_ic
ncurses_has_key
Ncurses Функции
PHP Manual

ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_il — Check for line insert- and delete-capabilities

Описание

bool ncurses_has_il ( void )
Внимание

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

Checks whether the terminal has insert- and delete-line-capabilities.

Возвращаемые значения

Returns TRUE if the terminal has insert/delete-line capabilities, FALSE otherwise.

Смотрите также

  • ncurses_has_ic() - Check for insert- and delete-capabilities

ncurses_has_ic
ncurses_has_key
Ncurses Функции


Check for presence of a function key on terminal keyboard

ncurses_has_il
ncurses_hide_panel
Ncurses Функции
PHP Manual

ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_key — Check for presence of a function key on terminal keyboard

Описание

int ncurses_has_key ( int $keycode )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

keycode

ncurses_has_il
ncurses_hide_panel
Ncurses Функции


Remove panel from the stack, making it invisible

ncurses_has_key
ncurses_hline
Ncurses Функции
PHP Manual

ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hide_panel — Remove panel from the stack, making it invisible

Описание

int ncurses_hide_panel ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_has_key
ncurses_hline
Ncurses Функции


Draw a horizontal line at current position using an attributed character and max. n characters long

ncurses_hide_panel
ncurses_inch
Ncurses Функции
PHP Manual

ncurses_hline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long

Описание

int ncurses_hline ( int $charattr , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

charattr

n

ncurses_hide_panel
ncurses_inch
Ncurses Функции


Get character and attribute at current position

ncurses_hline
ncurses_init_color
Ncurses Функции
PHP Manual

ncurses_inch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_inch — Get character and attribute at current position

Описание

string ncurses_inch ( void )
Внимание

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

Returns the character from the current position.

Возвращаемые значения

Returns the character, as a string.

ncurses_hline
ncurses_init_color
Ncurses Функции


Define a terminal color

ncurses_inch
ncurses_init_pair
Ncurses Функции
PHP Manual

ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_color — Define a terminal color

Описание

int ncurses_init_color ( int $color , int $r , int $g , int $b )

Defines or redefines the given color. When this function is called, all occurrences of the given color on the screen, if any, immediately change to the new definition.

Color capabilities must be supported by the terminal and initialized using ncurses_start_color() prior to calling this function. In addition, the terminal must have color changing capabilities; use ncurses_can_change_color() to check for this.

Список параметров

color

The identification number of the color to redefine. It may be one of the default color constants.

r

A color value, between 0 and 1000, for the red component.

g

A color value, between 0 and 1000, for the green component.

b

A color value, between 0 and 1000, for the blue component.

Возвращаемые значения

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized or the terminal does not have color changing capabilities.

Смотрите также

  • ncurses_color_content() - Retrieves RGB components of a color
  • ncurses_start_color() - Initializes color functionality

ncurses_inch
ncurses_init_pair
Ncurses Функции


Define a color pair

ncurses_init_color
ncurses_init
Ncurses Функции
PHP Manual

ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_pair — Define a color pair

Описание

int ncurses_init_pair ( int $pair , int $fg , int $bg )

Defines or redefines the given color pair to have the given foreground and background colors. If the color pair was previously initialized, the screen is refreshed and all occurrences of it are changed to reflect the new definition.

Color capabilities must be initialized using ncurses_start_color() before calling this function. The first color pair (color pair 0) is assumed to be white on black by default, but can be changed using ncurses_assume_default_colors().

Список параметров

pair

The number of the color pair to define.

fg

The foreground color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

bg

The background color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

Возвращаемые значения

Returns -1 if the function was successful, and 0 if ncurses or color support were not initialized.

Примечания

Note that color changing capabilities are not required for defining color pairs of pre-existing colors, but only for changing definitions (red, green, and blue components) of colors themselves per ncurses_init_color().

Примеры

Пример #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Смотрите также

  • ncurses_pair_content() - Retrieves foreground and background colors of a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_init_color
ncurses_init
Ncurses Функции


Initialize ncurses

ncurses_init_pair
ncurses_insch
Ncurses Функции
PHP Manual

ncurses_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init — Initialize ncurses

Описание

void ncurses_init ( void )

Initializes the ncurses interface. This function must be used before any other ncurses function call.

Note that ncurses_end() must be called before exiting from the program, or the terminal will not be restored to its proper non-visual mode.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

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

Смотрите также

  • ncurses_end() - Stop using ncurses, clean up the screen

ncurses_init_pair
ncurses_insch
Ncurses Функции


Insert character moving rest of line including character at current position

ncurses_init
ncurses_insdelln
Ncurses Функции
PHP Manual

ncurses_insch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insch — Insert character moving rest of line including character at current position

Описание

int ncurses_insch ( int $character )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

character

ncurses_init
ncurses_insdelln
Ncurses Функции


Insert lines before current line scrolling down (negative numbers delete and scroll up)

ncurses_insch
ncurses_insertln
Ncurses Функции
PHP Manual

ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)

Описание

int ncurses_insdelln ( int $count )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

count

ncurses_insch
ncurses_insertln
Ncurses Функции


Insert a line, move rest of screen down

ncurses_insdelln
ncurses_insstr
Ncurses Функции
PHP Manual

ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insertln — Insert a line, move rest of screen down

Описание

int ncurses_insertln ( void )
Внимание

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

Inserts a new line above the current line. The bottom line will be lost.

ncurses_insdelln
ncurses_insstr
Ncurses Функции


Insert string at current position, moving rest of line right

ncurses_insertln
ncurses_instr
Ncurses Функции
PHP Manual

ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insstr — Insert string at current position, moving rest of line right

Описание

int ncurses_insstr ( string $text )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

ncurses_insertln
ncurses_instr
Ncurses Функции


Reads string from terminal screen

ncurses_insstr
ncurses_isendwin
Ncurses Функции
PHP Manual

ncurses_instr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_instr — Reads string from terminal screen

Описание

int ncurses_instr ( string &$buffer )
Внимание

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

Reads a string from the terminal screen and returns the number of characters read from the current character position until end of line.

Список параметров

buffer

The characters. Attributes will be stripped.

Возвращаемые значения

Returns the number of characters.

ncurses_insstr
ncurses_isendwin
Ncurses Функции


Ncurses is in endwin mode, normal screen output may be performed

ncurses_instr
ncurses_keyok
Ncurses Функции
PHP Manual

ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed

Описание

bool ncurses_isendwin ( void )
Внимание

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

Checks if ncurses is in endwin mode.

Возвращаемые значения

Returns TRUE, if ncurses_end() has been called without any subsequent calls to ncurses_wrefresh(), FALSE otherwise.

Смотрите также

  • ncurses_end() - Stop using ncurses, clean up the screen
  • ncurses_wrefresh() - Refresh window on terminal screen

ncurses_instr
ncurses_keyok
Ncurses Функции


Enable or disable a keycode

ncurses_isendwin
ncurses_keypad
Ncurses Функции
PHP Manual

ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keyok — Enable or disable a keycode

Описание

int ncurses_keyok ( int $keycode , bool $enable )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

keycode

enable

ncurses_isendwin
ncurses_keypad
Ncurses Функции


Turns keypad on or off

ncurses_keyok
ncurses_killchar
Ncurses Функции
PHP Manual

ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keypad — Turns keypad on or off

Описание

int ncurses_keypad ( resource $window , bool $bf )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

bf

ncurses_keyok
ncurses_killchar
Ncurses Функции


Returns current line kill character

ncurses_keypad
ncurses_longname
Ncurses Функции
PHP Manual

ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_killchar — Returns current line kill character

Описание

string ncurses_killchar ( void )
Внимание

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

Returns the current line kill character.

Возвращаемые значения

Returns the kill character, as a string.

Смотрите также

  • ncurses_erasechar() - Returns current erase character

ncurses_keypad
ncurses_longname
Ncurses Функции


Returns terminals description

ncurses_killchar
ncurses_meta
Ncurses Функции
PHP Manual

ncurses_longname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_longname — Returns terminals description

Описание

string ncurses_longname ( void )
Внимание

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

Returns a verbose description of the terminal.

Возвращаемые значения

Returns the description, as a string truncated to 128 characters. On errors, returns NULL.

Смотрите также

  • ncurses_termname() - Returns terminals (short)-name

ncurses_killchar
ncurses_meta
Ncurses Функции


Enables/Disable 8-bit meta key information

ncurses_longname
ncurses_mouse_trafo
Ncurses Функции
PHP Manual

ncurses_meta

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_meta — Enables/Disable 8-bit meta key information

Описание

int ncurses_meta ( resource $window , bool $8bit )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

8bit

ncurses_longname
ncurses_mouse_trafo
Ncurses Функции


Transforms coordinates

ncurses_meta
ncurses_mouseinterval
Ncurses Функции
PHP Manual

ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouse_trafo — Transforms coordinates

Описание

bool ncurses_mouse_trafo ( int &$y , int &$x , bool $toscreen )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

toscreen

ncurses_meta
ncurses_mouseinterval
Ncurses Функции


Set timeout for mouse button clicks

ncurses_mouse_trafo
ncurses_mousemask
Ncurses Функции
PHP Manual

ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouseinterval — Set timeout for mouse button clicks

Описание

int ncurses_mouseinterval ( int $milliseconds )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

milliseconds

ncurses_mouse_trafo
ncurses_mousemask
Ncurses Функции


Sets mouse options

ncurses_mouseinterval
ncurses_move_panel
Ncurses Функции
PHP Manual

ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mousemask — Sets mouse options

Описание

int ncurses_mousemask ( int $newmask , int &$oldmask )
Внимание

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

Sets mouse events to be reported. By default no mouse events will be reported.

Mouse events are represented by NCURSES_KEY_MOUSE in the ncurses_wgetch() input stream. To read the event data and pop the event of queue, call ncurses_getmouse().

Список параметров

newmask

Mouse mask options can be set with the following predefined constants:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

As a side effect, setting a zero mousemask in newmask turns off the mouse pointer. Setting a non zero value turns mouse pointer on.

oldmask

This will be set to the previous value of the mouse event mask.

Возвращаемые значения

Returns a mask to indicated which of the in parameter newmask specified mouse events can be reported. On complete failure, it returns 0.

Примеры

Пример #1 ncurses_mousemask() example

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, $oldmask);
if ($mask & $newmask){
    printf("All specified mouse options will be supported\n");
}
?>

Смотрите также

  • ncurses_getch() - Read a character from keyboard
  • ncurses_getmouse() - Reads mouse event
  • ncurses_ungetmouse() - Pushes mouse event to queue

ncurses_mouseinterval
ncurses_move_panel
Ncurses Функции


Moves a panel so that its upper-left corner is at [startx, starty]

ncurses_mousemask
ncurses_move
Ncurses Функции
PHP Manual

ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]

Описание

int ncurses_move_panel ( resource $panel , int $startx , int $starty )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

startx

starty

ncurses_mousemask
ncurses_move
Ncurses Функции


Move output position

ncurses_move_panel
ncurses_mvaddch
Ncurses Функции
PHP Manual

ncurses_move

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move — Move output position

Описание

int ncurses_move ( int $y , int $x )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

ncurses_move_panel
ncurses_mvaddch
Ncurses Функции


Move current position and add character

ncurses_move
ncurses_mvaddchnstr
Ncurses Функции
PHP Manual

ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddch — Move current position and add character

Описание

int ncurses_mvaddch ( int $y , int $x , int $c )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

c

ncurses_move
ncurses_mvaddchnstr
Ncurses Функции


Move position and add attributed string with specified length

ncurses_mvaddch
ncurses_mvaddchstr
Ncurses Функции
PHP Manual

ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchnstr — Move position and add attributed string with specified length

Описание

int ncurses_mvaddchnstr ( int $y , int $x , string $s , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

s

n

ncurses_mvaddch
ncurses_mvaddchstr
Ncurses Функции


Move position and add attributed string

ncurses_mvaddchnstr
ncurses_mvaddnstr
Ncurses Функции
PHP Manual

ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchstr — Move position and add attributed string

Описание

int ncurses_mvaddchstr ( int $y , int $x , string $s )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

s

ncurses_mvaddchnstr
ncurses_mvaddnstr
Ncurses Функции


Move position and add string with specified length

ncurses_mvaddchstr
ncurses_mvaddstr
Ncurses Функции
PHP Manual

ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddnstr — Move position and add string with specified length

Описание

int ncurses_mvaddnstr ( int $y , int $x , string $s , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

s

n

ncurses_mvaddchstr
ncurses_mvaddstr
Ncurses Функции


Move position and add string

ncurses_mvaddnstr
ncurses_mvcur
Ncurses Функции
PHP Manual

ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddstr — Move position and add string

Описание

int ncurses_mvaddstr ( int $y , int $x , string $s )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

s

ncurses_mvaddnstr
ncurses_mvcur
Ncurses Функции


Move cursor immediately

ncurses_mvaddstr
ncurses_mvdelch
Ncurses Функции
PHP Manual

ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvcur — Move cursor immediately

Описание

int ncurses_mvcur ( int $old_y , int $old_x , int $new_y , int $new_x )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

old_y

old_x

new_y

new_x

ncurses_mvaddstr
ncurses_mvdelch
Ncurses Функции


Move position and delete character, shift rest of line left

ncurses_mvcur
ncurses_mvgetch
Ncurses Функции
PHP Manual

ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvdelch — Move position and delete character, shift rest of line left

Описание

int ncurses_mvdelch ( int $y , int $x )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

ncurses_mvcur
ncurses_mvgetch
Ncurses Функции


Move position and get character at new position

ncurses_mvdelch
ncurses_mvhline
Ncurses Функции
PHP Manual

ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvgetch — Move position and get character at new position

Описание

int ncurses_mvgetch ( int $y , int $x )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

ncurses_mvdelch
ncurses_mvhline
Ncurses Функции


Set new position and draw a horizontal line using an attributed character and max. n characters long

ncurses_mvgetch
ncurses_mvinch
Ncurses Функции
PHP Manual

ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long

Описание

int ncurses_mvhline ( int $y , int $x , int $attrchar , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

attrchar

n

ncurses_mvgetch
ncurses_mvinch
Ncurses Функции


Move position and get attributed character at new position

ncurses_mvhline
ncurses_mvvline
Ncurses Функции
PHP Manual

ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvinch — Move position and get attributed character at new position

Описание

int ncurses_mvinch ( int $y , int $x )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

ncurses_mvhline
ncurses_mvvline
Ncurses Функции


Set new position and draw a vertical line using an attributed character and max. n characters long

ncurses_mvinch
ncurses_mvwaddstr
Ncurses Функции
PHP Manual

ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long

Описание

int ncurses_mvvline ( int $y , int $x , int $attrchar , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

y

x

attrchar

n

ncurses_mvinch
ncurses_mvwaddstr
Ncurses Функции


Add string at new position in window

ncurses_mvvline
ncurses_napms
Ncurses Функции
PHP Manual

ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvwaddstr — Add string at new position in window

Описание

int ncurses_mvwaddstr ( resource $window , int $y , int $x , string $text )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

y

x

text

ncurses_mvvline
ncurses_napms
Ncurses Функции


Sleep

ncurses_mvwaddstr
ncurses_new_panel
Ncurses Функции
PHP Manual

ncurses_napms

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_napms — Sleep

Описание

int ncurses_napms ( int $milliseconds )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

milliseconds

ncurses_mvwaddstr
ncurses_new_panel
Ncurses Функции


Create a new panel and associate it with window

ncurses_napms
ncurses_newpad
Ncurses Функции
PHP Manual

ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_new_panel — Create a new panel and associate it with window

Описание

resource ncurses_new_panel ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_napms
ncurses_newpad
Ncurses Функции


Creates a new pad (window)

ncurses_new_panel
ncurses_newwin
Ncurses Функции
PHP Manual

ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newpad — Creates a new pad (window)

Описание

resource ncurses_newpad ( int $rows , int $cols )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

rows

cols

ncurses_new_panel
ncurses_newwin
Ncurses Функции


Create a new window

ncurses_newpad
ncurses_nl
Ncurses Функции
PHP Manual

ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newwin — Create a new window

Описание

resource ncurses_newwin ( int $rows , int $cols , int $y , int $x )
Внимание

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

Creates a new window to draw elements in.

When creating additional windows, remember to use ncurses_getmaxyx() to check for available space, as terminal size is individual and may vary.

Список параметров

rows

Number of rows

cols

Number of columns

y

y-coordinate of the origin

x

x-coordinate of the origin

Возвращаемые значения

Returns a resource ID for the new window.

ncurses_newpad
ncurses_nl
Ncurses Функции


Translate newline and carriage return / line feed

ncurses_newwin
ncurses_nocbreak
Ncurses Функции
PHP Manual

ncurses_nl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nl — Translate newline and carriage return / line feed

Описание

bool ncurses_nl ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_newwin
ncurses_nocbreak
Ncurses Функции


Switch terminal to cooked mode

ncurses_nl
ncurses_noecho
Ncurses Функции
PHP Manual

ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nocbreak — Switch terminal to cooked mode

Описание

bool ncurses_nocbreak ( void )
Внимание

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

Returns terminal to normal (cooked) mode. Initially the terminal may or may not in cbreak mode as the mode is inherited. Therefore a program should call ncurses_cbreak() and ncurses_nocbreak() explicitly.

Возвращаемые значения

Returns TRUE if any error occurred, otherwise FALSE.

Смотрите также

  • ncurses_cbreak() - Switch of input buffering

ncurses_nl
ncurses_noecho
Ncurses Функции


Switch off keyboard input echo

ncurses_nocbreak
ncurses_nonl
Ncurses Функции
PHP Manual

ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noecho — Switch off keyboard input echo

Описание

bool ncurses_noecho ( void )
Внимание

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

Prevents echoing of user typed characters.

Возвращаемые значения

Returns TRUE if any error occurred, FALSE otherwise.

Смотрите также

  • ncurses_echo() - Activate keyboard input echo
  • ncurses_getch() - Read a character from keyboard

ncurses_nocbreak
ncurses_nonl
Ncurses Функции


Do not translate newline and carriage return / line feed

ncurses_noecho
ncurses_noqiflush
Ncurses Функции
PHP Manual

ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nonl — Do not translate newline and carriage return / line feed

Описание

bool ncurses_nonl ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_noecho
ncurses_noqiflush
Ncurses Функции


Do not flush on signal characters

ncurses_nonl
ncurses_noraw
Ncurses Функции
PHP Manual

ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noqiflush — Do not flush on signal characters

Описание

void ncurses_noqiflush ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_nonl
ncurses_noraw
Ncurses Функции


Switch terminal out of raw mode

ncurses_noqiflush
ncurses_pair_content
Ncurses Функции
PHP Manual

ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noraw — Switch terminal out of raw mode

Описание

bool ncurses_noraw ( void )
Внимание

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

Switches the terminal out of raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The differences that are that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Возвращаемые значения

Returns TRUE if any error occurred, otherwise FALSE.

Смотрите также

  • ncurses_raw() - Switch terminal into raw mode
  • ncurses_cbreak() - Switch of input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_noqiflush
ncurses_pair_content
Ncurses Функции


Retrieves foreground and background colors of a color pair

ncurses_noraw
ncurses_panel_above
Ncurses Функции
PHP Manual

ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pair_content — Retrieves foreground and background colors of a color pair

Описание

int ncurses_pair_content ( int $pair , int &$f , int &$b )

Retrieves the foreground and background colors that constitute the given color pair. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Список параметров

pair

The number of the color pair to retrieve information for.

f

A reference to which to return the foreground color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

b

A reference to which to return the background color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

Возвращаемые значения

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Смотрите также

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_noraw
ncurses_panel_above
Ncurses Функции


Returns the panel above panel

ncurses_pair_content
ncurses_panel_below
Ncurses Функции
PHP Manual

ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_above — Returns the panel above panel

Описание

resource ncurses_panel_above ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

Возвращаемые значения

If panel is null, returns the bottom panel in the stack.

ncurses_pair_content
ncurses_panel_below
Ncurses Функции


Returns the panel below panel

ncurses_panel_above
ncurses_panel_window
Ncurses Функции
PHP Manual

ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_below — Returns the panel below panel

Описание

resource ncurses_panel_below ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

Список параметров

If panel is null, returns the top panel in the stack.

ncurses_panel_above
ncurses_panel_window
Ncurses Функции


Returns the window associated with panel

ncurses_panel_below
ncurses_pnoutrefresh
Ncurses Функции
PHP Manual

ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_window — Returns the window associated with panel

Описание

resource ncurses_panel_window ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_panel_below
ncurses_pnoutrefresh
Ncurses Функции


Copies a region from a pad into the virtual screen

ncurses_panel_window
ncurses_prefresh
Ncurses Функции
PHP Manual

ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen

Описание

int ncurses_pnoutrefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_panel_window
ncurses_prefresh
Ncurses Функции


Copies a region from a pad into the virtual screen

ncurses_pnoutrefresh
ncurses_putp
Ncurses Функции
PHP Manual

ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_prefresh — Copies a region from a pad into the virtual screen

Описание

int ncurses_prefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_pnoutrefresh
ncurses_putp
Ncurses Функции


Apply padding information to the string and output it

ncurses_prefresh
ncurses_qiflush
Ncurses Функции
PHP Manual

ncurses_putp

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_putp — Apply padding information to the string and output it

Описание

int ncurses_putp ( string $text )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

ncurses_prefresh
ncurses_qiflush
Ncurses Функции


Flush on signal characters

ncurses_putp
ncurses_raw
Ncurses Функции
PHP Manual

ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_qiflush — Flush on signal characters

Описание

void ncurses_qiflush ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_putp
ncurses_raw
Ncurses Функции


Switch terminal into raw mode

ncurses_qiflush
ncurses_refresh
Ncurses Функции
PHP Manual

ncurses_raw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_raw — Switch terminal into raw mode

Описание

bool ncurses_raw ( void )
Внимание

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

Places the terminal in raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The differences that are that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Возвращаемые значения

Returns TRUE if any error occurred, otherwise FALSE.

Смотрите также

  • ncurses_noraw() - Switch terminal out of raw mode
  • ncurses_cbreak() - Switch of input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_qiflush
ncurses_refresh
Ncurses Функции


Refresh screen

ncurses_raw
ncurses_replace_panel
Ncurses Функции
PHP Manual

ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_refresh — Refresh screen

Описание

int ncurses_refresh ( int $ch )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

ch

ncurses_raw
ncurses_replace_panel
Ncurses Функции


Replaces the window associated with panel

ncurses_refresh
ncurses_reset_prog_mode
Ncurses Функции
PHP Manual

ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_replace_panel — Replaces the window associated with panel

Описание

int ncurses_replace_panel ( resource $panel , resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

window

ncurses_refresh
ncurses_reset_prog_mode
Ncurses Функции


Resets the prog mode saved by def_prog_mode

ncurses_replace_panel
ncurses_reset_shell_mode
Ncurses Функции
PHP Manual

ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode

Описание

int ncurses_reset_prog_mode ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_replace_panel
ncurses_reset_shell_mode
Ncurses Функции


Resets the shell mode saved by def_shell_mode

ncurses_reset_prog_mode
ncurses_resetty
Ncurses Функции
PHP Manual

ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode

Описание

int ncurses_reset_shell_mode ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_reset_prog_mode
ncurses_resetty
Ncurses Функции


Restores saved terminal state

ncurses_reset_shell_mode
ncurses_savetty
Ncurses Функции
PHP Manual

ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_resetty — Restores saved terminal state

Описание

bool ncurses_resetty ( void )
Внимание

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

Restores the terminal state, which was previously saved by calling ncurses_savetty().

Возвращаемые значения

Always returns FALSE.

Смотрите также

  • ncurses_savetty() - Saves terminal state

ncurses_reset_shell_mode
ncurses_savetty
Ncurses Функции


Saves terminal state

ncurses_resetty
ncurses_scr_dump
Ncurses Функции
PHP Manual

ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_savetty — Saves terminal state

Описание

bool ncurses_savetty ( void )
Внимание

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

Saves the current terminal state. The saved terminal state can be restored with ncurses_resetty().

Возвращаемые значения

Always returns FALSE.

Смотрите также

  • ncurses_resetty() - Restores saved terminal state

ncurses_resetty
ncurses_scr_dump
Ncurses Функции


Dump screen content to file

ncurses_savetty
ncurses_scr_init
Ncurses Функции
PHP Manual

ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_dump — Dump screen content to file

Описание

int ncurses_scr_dump ( string $filename )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filename

ncurses_savetty
ncurses_scr_init
Ncurses Функции


Initialize screen from file dump

ncurses_scr_dump
ncurses_scr_restore
Ncurses Функции
PHP Manual

ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_init — Initialize screen from file dump

Описание

int ncurses_scr_init ( string $filename )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filename

ncurses_scr_dump
ncurses_scr_restore
Ncurses Функции


Restore screen from file dump

ncurses_scr_init
ncurses_scr_set
Ncurses Функции
PHP Manual

ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_restore — Restore screen from file dump

Описание

int ncurses_scr_restore ( string $filename )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filename

ncurses_scr_init
ncurses_scr_set
Ncurses Функции


Inherit screen from file dump

ncurses_scr_restore
ncurses_scrl
Ncurses Функции
PHP Manual

ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_set — Inherit screen from file dump

Описание

int ncurses_scr_set ( string $filename )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filename

ncurses_scr_restore
ncurses_scrl
Ncurses Функции


Scroll window content up or down without changing current position

ncurses_scr_set
ncurses_show_panel
Ncurses Функции
PHP Manual

ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scrl — Scroll window content up or down without changing current position

Описание

int ncurses_scrl ( int $count )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

count

ncurses_scr_set
ncurses_show_panel
Ncurses Функции


Places an invisible panel on top of the stack, making it visible

ncurses_scrl
ncurses_slk_attr
Ncurses Функции
PHP Manual

ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_show_panel — Places an invisible panel on top of the stack, making it visible

Описание

int ncurses_show_panel ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_scrl
ncurses_slk_attr
Ncurses Функции


Returns current soft label key attribute

ncurses_show_panel
ncurses_slk_attroff
Ncurses Функции
PHP Manual

ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attr — Returns current soft label key attribute

Описание

int ncurses_slk_attr ( void )
Внимание

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

Returns the current soft label key attribute.

Возвращаемые значения

The attribute, as an integer.

ncurses_show_panel
ncurses_slk_attroff
Ncurses Функции


Turn off the given attributes for soft function-key labels

ncurses_slk_attr
ncurses_slk_attron
Ncurses Функции
PHP Manual

ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attroff — Turn off the given attributes for soft function-key labels

Описание

int ncurses_slk_attroff ( int $intarg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

intarg

ncurses_slk_attr
ncurses_slk_attron
Ncurses Функции


Turn on the given attributes for soft function-key labels

ncurses_slk_attroff
ncurses_slk_attrset
Ncurses Функции
PHP Manual

ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attron — Turn on the given attributes for soft function-key labels

Описание

int ncurses_slk_attron ( int $intarg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

intarg

ncurses_slk_attroff
ncurses_slk_attrset
Ncurses Функции


Set given attributes for soft function-key labels

ncurses_slk_attron
ncurses_slk_clear
Ncurses Функции
PHP Manual

ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attrset — Set given attributes for soft function-key labels

Описание

int ncurses_slk_attrset ( int $intarg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

intarg

ncurses_slk_attron
ncurses_slk_clear
Ncurses Функции


Clears soft labels from screen

ncurses_slk_attrset
ncurses_slk_color
Ncurses Функции
PHP Manual

ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_clear — Clears soft labels from screen

Описание

bool ncurses_slk_clear ( void )
Внимание

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

The function ncurses_slk_clear() clears soft label keys from screen.

Возвращаемые значения

Returns TRUE on errors, FALSE otherwise.

ncurses_slk_attrset
ncurses_slk_color
Ncurses Функции


Sets color for soft label keys

ncurses_slk_clear
ncurses_slk_init
Ncurses Функции
PHP Manual

ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_color — Sets color for soft label keys

Описание

int ncurses_slk_color ( int $intarg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

intarg

ncurses_slk_clear
ncurses_slk_init
Ncurses Функции


Initializes soft label key functions

ncurses_slk_color
ncurses_slk_noutrefresh
Ncurses Функции
PHP Manual

ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_init — Initializes soft label key functions

Описание

bool ncurses_slk_init ( int $format )
Внимание

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

Initializes soft label key functions

This function must be called before ncurses_init() or ncurses_newwin() is called.

Список параметров

format

If ncurses_init() eventually uses a line from stdscr to emulate the soft labels, then this parameter determines how the labels are arranged of the screen.

0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4 arrangement and 2 indicates the PC like 4-4-4 mode, but in addition an index line will be created.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ncurses_slk_color
ncurses_slk_noutrefresh
Ncurses Функции


Copies soft label keys to virtual screen

ncurses_slk_init
ncurses_slk_refresh
Ncurses Функции
PHP Manual

ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_noutrefresh — Copies soft label keys to virtual screen

Описание

bool ncurses_slk_noutrefresh ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_slk_init
ncurses_slk_refresh
Ncurses Функции


Copies soft label keys to screen

ncurses_slk_noutrefresh
ncurses_slk_restore
Ncurses Функции
PHP Manual

ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_refresh — Copies soft label keys to screen

Описание

int ncurses_slk_refresh ( void )
Внимание

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

Copies soft label keys from virtual screen to physical screen.

ncurses_slk_noutrefresh
ncurses_slk_restore
Ncurses Функции


Restores soft label keys

ncurses_slk_refresh
ncurses_slk_set
Ncurses Функции
PHP Manual

ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_restore — Restores soft label keys

Описание

int ncurses_slk_restore ( void )
Внимание

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

Restores the soft label keys after ncurses_slk_clear() has been performed.

ncurses_slk_refresh
ncurses_slk_set
Ncurses Функции


Sets function key labels

ncurses_slk_restore
ncurses_slk_touch
Ncurses Функции
PHP Manual

ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_set — Sets function key labels

Описание

bool ncurses_slk_set ( int $labelnr , string $label , int $format )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

labelnr

label

format

ncurses_slk_restore
ncurses_slk_touch
Ncurses Функции


Forces output when ncurses_slk_noutrefresh is performed

ncurses_slk_set
ncurses_standend
Ncurses Функции
PHP Manual

ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed

Описание

int ncurses_slk_touch ( void )
Внимание

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

Forces all the soft labels to be output the next time a ncurses_slk_noutrefresh() is performed.

ncurses_slk_set
ncurses_standend
Ncurses Функции


Stop using 'standout' attribute

ncurses_slk_touch
ncurses_standout
Ncurses Функции
PHP Manual

ncurses_standend

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standend — Stop using 'standout' attribute

Описание

int ncurses_standend ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_slk_touch
ncurses_standout
Ncurses Функции


Start using 'standout' attribute

ncurses_standend
ncurses_start_color
Ncurses Функции
PHP Manual

ncurses_standout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standout — Start using 'standout' attribute

Описание

int ncurses_standout ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_standend
ncurses_start_color
Ncurses Функции


Initializes color functionality

ncurses_standout
ncurses_termattrs
Ncurses Функции
PHP Manual

ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_start_color — Initializes color functionality

Описание

int ncurses_start_color ( void )

Initializes color functionality in ncurses. This function must be called before any color manipulation functions are called and after ncurses_init() is called. It is good practice to call this function right after ncurses_init().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns 0 on success, or -1 if the color table could not be allocated or ncurses was not initialized.

Примеры

Пример #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Смотрите также

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_has_colors() - Checks if terminal has color capabilities

ncurses_standout
ncurses_termattrs
Ncurses Функции


Returns a logical OR of all attribute flags supported by terminal

ncurses_start_color
ncurses_termname
Ncurses Функции
PHP Manual

ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal

Описание

bool ncurses_termattrs ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_start_color
ncurses_termname
Ncurses Функции


Returns terminals (short)-name

ncurses_termattrs
ncurses_timeout
Ncurses Функции
PHP Manual

ncurses_termname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termname — Returns terminals (short)-name

Описание

string ncurses_termname ( void )
Внимание

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

Returns terminals shortname.

Возвращаемые значения

Returns the shortname of the terminal, truncated to 14 characters. On errors, returns NULL.

Смотрите также

  • ncurses_longname() - Returns terminals description

ncurses_termattrs
ncurses_timeout
Ncurses Функции


Set timeout for special key sequences

ncurses_termname
ncurses_top_panel
Ncurses Функции
PHP Manual

ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_timeout — Set timeout for special key sequences

Описание

void ncurses_timeout ( int $millisec )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

millisec

ncurses_termname
ncurses_top_panel
Ncurses Функции


Moves a visible panel to the top of the stack

ncurses_timeout
ncurses_typeahead
Ncurses Функции
PHP Manual

ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_top_panel — Moves a visible panel to the top of the stack

Описание

int ncurses_top_panel ( resource $panel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

panel

ncurses_timeout
ncurses_typeahead
Ncurses Функции


Specify different filedescriptor for typeahead checking

ncurses_top_panel
ncurses_ungetch
Ncurses Функции
PHP Manual

ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_typeahead — Specify different filedescriptor for typeahead checking

Описание

int ncurses_typeahead ( int $fd )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fd

ncurses_top_panel
ncurses_ungetch
Ncurses Функции


Put a character back into the input stream

ncurses_typeahead
ncurses_ungetmouse
Ncurses Функции
PHP Manual

ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetch — Put a character back into the input stream

Описание

int ncurses_ungetch ( int $keycode )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

keycode

ncurses_typeahead
ncurses_ungetmouse
Ncurses Функции


Pushes mouse event to queue

ncurses_ungetch
ncurses_update_panels
Ncurses Функции
PHP Manual

ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetmouse — Pushes mouse event to queue

Описание

bool ncurses_ungetmouse ( array $mevent )
Внимание

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

Pushes a KEY_MOUSE event onto the unput queue and associates with this event the given state sata and screen-relative character cell coordinates, specified in mevent.

Список параметров

mevent

An associative array specifying the event options:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Возвращаемые значения

Returns FALSE on success, TRUE otherwise.

Смотрите также

  • ncurses_getmouse() - Reads mouse event

ncurses_ungetch
ncurses_update_panels
Ncurses Функции


Refreshes the virtual screen to reflect the relations between panels in the stack

ncurses_ungetmouse
ncurses_use_default_colors
Ncurses Функции
PHP Manual

ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack

Описание

void ncurses_update_panels ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_ungetmouse
ncurses_use_default_colors
Ncurses Функции


Assign terminal default colors to color id -1

ncurses_update_panels
ncurses_use_env
Ncurses Функции
PHP Manual

ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_default_colors — Assign terminal default colors to color id -1

Описание

bool ncurses_use_default_colors ( void )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ncurses_update_panels
ncurses_use_env
Ncurses Функции


Control use of environment information about terminal size

ncurses_use_default_colors
ncurses_use_extended_names
Ncurses Функции
PHP Manual

ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_env — Control use of environment information about terminal size

Описание

void ncurses_use_env ( bool $flag )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

ncurses_use_default_colors
ncurses_use_extended_names
Ncurses Функции


Control use of extended names in terminfo descriptions

ncurses_use_env
ncurses_vidattr
Ncurses Функции
PHP Manual

ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_extended_names — Control use of extended names in terminfo descriptions

Описание

int ncurses_use_extended_names ( bool $flag )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

ncurses_use_env
ncurses_vidattr
Ncurses Функции


Display the string on the terminal in the video attribute mode

ncurses_use_extended_names
ncurses_vline
Ncurses Функции
PHP Manual

ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vidattr — Display the string on the terminal in the video attribute mode

Описание

int ncurses_vidattr ( int $intarg )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

intarg

ncurses_use_extended_names
ncurses_vline
Ncurses Функции


Draw a vertical line at current position using an attributed character and max. n characters long

ncurses_vidattr
ncurses_waddch
Ncurses Функции
PHP Manual

ncurses_vline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long

Описание

int ncurses_vline ( int $charattr , int $n )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

charattr

n

ncurses_vidattr
ncurses_waddch
Ncurses Функции


Adds character at current position in a window and advance cursor

ncurses_vline
ncurses_waddstr
Ncurses Функции
PHP Manual

ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddch — Adds character at current position in a window and advance cursor

Описание

int ncurses_waddch ( resource $window , int $ch )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ch

ncurses_vline
ncurses_waddstr
Ncurses Функции


Outputs text at current postion in window

ncurses_waddch
ncurses_wattroff
Ncurses Функции
PHP Manual

ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddstr — Outputs text at current postion in window

Описание

int ncurses_waddstr ( resource $window , string $str [, int $n ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

str

n

ncurses_waddch
ncurses_wattroff
Ncurses Функции


Turns off attributes for a window

ncurses_waddstr
ncurses_wattron
Ncurses Функции
PHP Manual

ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattroff — Turns off attributes for a window

Описание

int ncurses_wattroff ( resource $window , int $attrs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

attrs

ncurses_waddstr
ncurses_wattron
Ncurses Функции


Turns on attributes for a window

ncurses_wattroff
ncurses_wattrset
Ncurses Функции
PHP Manual

ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattron — Turns on attributes for a window

Описание

int ncurses_wattron ( resource $window , int $attrs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

attrs

ncurses_wattroff
ncurses_wattrset
Ncurses Функции


Set the attributes for a window

ncurses_wattron
ncurses_wborder
Ncurses Функции
PHP Manual

ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattrset — Set the attributes for a window

Описание

int ncurses_wattrset ( resource $window , int $attrs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

attrs

ncurses_wattron
ncurses_wborder
Ncurses Функции


Draws a border around the window using attributed characters

ncurses_wattrset
ncurses_wclear
Ncurses Функции
PHP Manual

ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wborder — Draws a border around the window using attributed characters

Описание

int ncurses_wborder ( resource $window , int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Внимание

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

Draws the specified lines and corners around the passed window.

Use ncurses_border() for borders around the main window.

Список параметров

Each parameter expects 0 to draw a line and 1 to skip it.

window

The window on which we operate

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Смотрите также

  • ncurses_border() - Draw a border around the screen using attributed characters

ncurses_wattrset
ncurses_wclear
Ncurses Функции


Clears window

ncurses_wborder
ncurses_wcolor_set
Ncurses Функции
PHP Manual

ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wclear — Clears window

Описание

int ncurses_wclear ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wborder
ncurses_wcolor_set
Ncurses Функции


Sets windows color pairings

ncurses_wclear
ncurses_werase
Ncurses Функции
PHP Manual

ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wcolor_set — Sets windows color pairings

Описание

int ncurses_wcolor_set ( resource $window , int $color_pair )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

color_pair

ncurses_wclear
ncurses_werase
Ncurses Функции


Erase window contents

ncurses_wcolor_set
ncurses_wgetch
Ncurses Функции
PHP Manual

ncurses_werase

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_werase — Erase window contents

Описание

int ncurses_werase ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wcolor_set
ncurses_wgetch
Ncurses Функции


Reads a character from keyboard (window)

ncurses_werase
ncurses_whline
Ncurses Функции
PHP Manual

ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wgetch — Reads a character from keyboard (window)

Описание

int ncurses_wgetch ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_werase
ncurses_whline
Ncurses Функции


Draws a horizontal line in a window at current position using an attributed character and max. n characters long

ncurses_wgetch
ncurses_wmouse_trafo
Ncurses Функции
PHP Manual

ncurses_whline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long

Описание

int ncurses_whline ( resource $window , int $charattr , int $n )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

charattr

n

ncurses_wgetch
ncurses_wmouse_trafo
Ncurses Функции


Transforms window/stdscr coordinates

ncurses_whline
ncurses_wmove
Ncurses Функции
PHP Manual

ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmouse_trafo — Transforms window/stdscr coordinates

Описание

bool ncurses_wmouse_trafo ( resource $window , int &$y , int &$x , bool $toscreen )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

x

y

toscreen

ncurses_whline
ncurses_wmove
Ncurses Функции


Moves windows output position

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Ncurses Функции
PHP Manual

ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmove — Moves windows output position

Описание

int ncurses_wmove ( resource $window , int $y , int $x )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

y

x

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Ncurses Функции


Copies window to virtual screen

ncurses_wmove
ncurses_wrefresh
Ncurses Функции
PHP Manual

ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wnoutrefresh — Copies window to virtual screen

Описание

int ncurses_wnoutrefresh ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wmove
ncurses_wrefresh
Ncurses Функции


Refresh window on terminal screen

ncurses_wnoutrefresh
ncurses_wstandend
Ncurses Функции
PHP Manual

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefresh — Refresh window on terminal screen

Описание

int ncurses_wrefresh ( resource $window )
Внимание

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

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wnoutrefresh
ncurses_wstandend
Ncurses Функции


End standout mode for a window

ncurses_wrefresh
ncurses_wstandout
Ncurses Функции
PHP Manual

ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandend — End standout mode for a window

Описание

int ncurses_wstandend ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wrefresh
ncurses_wstandout
Ncurses Функции


Enter standout mode for a window

ncurses_wstandend
ncurses_wvline
Ncurses Функции
PHP Manual

ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandout — Enter standout mode for a window

Описание

int ncurses_wstandout ( resource $window )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

ncurses_wstandend
ncurses_wvline
Ncurses Функции


Draws a vertical line in a window at current position using an attributed character and max. n characters long

ncurses_wstandout
Newt
Ncurses Функции
PHP Manual

ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long

Описание

int ncurses_wvline ( resource $window , int $charattr , int $n )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

window

charattr

n

ncurses_wstandout
Newt
Ncurses Функции


Newt

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Newt form exit reasons
    • Newt colorsets
    • Newt argument flags
    • Newt Flags Sense
    • Newt Components Flags
    • File Descriptor Flags
    • Checkbox Tree Flags
    • Entry Flags
    • Listbox Flags
    • Textbox Flags
    • Form Flags
    • Newt Keys
    • Newt Anchors
    • Grid Flags
  • Примеры
    • Basic usage
  • Newt Функции
    • newt_bell — Send a beep to the terminal
    • newt_button_bar — This function returns a grid containing the buttons created.
    • newt_button — Create a new button
    • newt_centered_window — Open a centered window of the specified size
    • newt_checkbox_get_value — Retreives value of checkox resource
    • newt_checkbox_set_flags — Configures checkbox resource
    • newt_checkbox_set_value — Sets the value of the checkbox
    • newt_checkbox_tree_add_item — Adds new item to the checkbox tree
    • newt_checkbox_tree_find_item — Finds an item in the checkbox tree
    • newt_checkbox_tree_get_current — Returns checkbox tree selected item
    • newt_checkbox_tree_get_entry_value — Описание
    • newt_checkbox_tree_get_multi_selection — Описание
    • newt_checkbox_tree_get_selection — Описание
    • newt_checkbox_tree_multi — Описание
    • newt_checkbox_tree_set_current — Описание
    • newt_checkbox_tree_set_entry_value — Описание
    • newt_checkbox_tree_set_entry — Описание
    • newt_checkbox_tree_set_width — Описание
    • newt_checkbox_tree — Описание
    • newt_checkbox — Описание
    • newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input
    • newt_cls — Описание
    • newt_compact_button — Описание
    • newt_component_add_callback — Описание
    • newt_component_takes_focus — Описание
    • newt_create_grid — Описание
    • newt_cursor_off — Описание
    • newt_cursor_on — Описание
    • newt_delay — Описание
    • newt_draw_form — Описание
    • newt_draw_root_text — Displays the string text at the position indicated
    • newt_entry_get_value — Описание
    • newt_entry_set_filter — Описание
    • newt_entry_set_flags — Описание
    • newt_entry_set — Описание
    • newt_entry — Описание
    • newt_finished — Uninitializes newt interface
    • newt_form_add_component — Adds a single component to the form
    • newt_form_add_components — Add several components to the form
    • newt_form_add_hot_key — Описание
    • newt_form_destroy — Destroys a form
    • newt_form_get_current — Описание
    • newt_form_run — Runs a form
    • newt_form_set_background — Описание
    • newt_form_set_height — Описание
    • newt_form_set_size — Описание
    • newt_form_set_timer — Описание
    • newt_form_set_width — Описание
    • newt_form_watch_fd — Описание
    • newt_form — Create a form
    • newt_get_screen_size — Fills in the passed references with the current size of the terminal
    • newt_grid_add_components_to_form — Описание
    • newt_grid_basic_window — Описание
    • newt_grid_free — Описание
    • newt_grid_get_size — Описание
    • newt_grid_h_close_stacked — Описание
    • newt_grid_h_stacked — Описание
    • newt_grid_place — Описание
    • newt_grid_set_field — Описание
    • newt_grid_simple_window — Описание
    • newt_grid_v_close_stacked — Описание
    • newt_grid_v_stacked — Описание
    • newt_grid_wrapped_window_at — Описание
    • newt_grid_wrapped_window — Описание
    • newt_init — Initialize newt
    • newt_label_set_text — Описание
    • newt_label — Описание
    • newt_listbox_append_entry — Описание
    • newt_listbox_clear_selection — Описание
    • newt_listbox_clear — Описание
    • newt_listbox_delete_entry — Описание
    • newt_listbox_get_current — Описание
    • newt_listbox_get_selection — Описание
    • newt_listbox_insert_entry — Описание
    • newt_listbox_item_count — Описание
    • newt_listbox_select_item — Описание
    • newt_listbox_set_current_by_key — Описание
    • newt_listbox_set_current — Описание
    • newt_listbox_set_data — Описание
    • newt_listbox_set_entry — Описание
    • newt_listbox_set_width — Описание
    • newt_listbox — Описание
    • newt_listitem_get_data — Описание
    • newt_listitem_set — Описание
    • newt_listitem — Описание
    • newt_open_window — Open a window of the specified size and position
    • newt_pop_help_line — Replaces the current help line with the one from the stack
    • newt_pop_window — Removes the top window from the display
    • newt_push_help_line — Saves the current help line on a stack, and displays the new line
    • newt_radio_get_current — Описание
    • newt_radiobutton — Описание
    • newt_redraw_help_line — Описание
    • newt_reflow_text — Описание
    • newt_refresh — Updates modified portions of the screen
    • newt_resize_screen — Описание
    • newt_resume — Resume using the newt interface after calling newt_suspend
    • newt_run_form — Runs a form
    • newt_scale_set — Описание
    • newt_scale — Описание
    • newt_scrollbar_set — Описание
    • newt_set_help_callback — Описание
    • newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key
    • newt_suspend — Tells newt to return the terminal to its initial state
    • newt_textbox_get_num_lines — Описание
    • newt_textbox_reflowed — Описание
    • newt_textbox_set_height — Описание
    • newt_textbox_set_text — Описание
    • newt_textbox — Описание
    • newt_vertical_scrollbar — Описание
    • newt_wait_for_key — Doesn't return until a key has been pressed
    • newt_win_choice — Описание
    • newt_win_entries — Описание
    • newt_win_menu — Описание
    • newt_win_message — Описание
    • newt_win_messagev — Описание
    • newt_win_ternary — Описание
ncurses_wvline
Введение
Расширения для работы с командной строкой


Введение

This is a PHP language extension for RedHat Newt library, a terminal-based window and widget library for writing applications with user friendly interface. Once this extension is enabled in PHP it will provide the use of Newt widgets, such as windows, buttons, checkboxes, radiobuttons, labels, editboxes, scrolls, textareas, scales, etc. Use of this extension if very similar to the original Newt API of C programming language.

Newt
Установка и настройка
Newt


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Newt


Требования

This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/newt.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. In order to use these functions you must compile CGI or CLI PHP with newt support by using the --with-newt[=DIR] configure option.

Замечание:

This extension is not available for Windows platform.

You may need also curses and slang libraries, in order to compile this extension. To specify locations of these libraries, use the following configuration options: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

Требования
Настройка во время выполнения
Установка и настройка


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

This extension uses two resource types: "newt component" and "newt grid".

Resource type "newt component" is returned by functions, which create common newt widgets (for example: newt_button())

Resource type "newt grid" is a special link identifier for components, returned by newt grid factory functions (for example: newt_create_grid())

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Содержание

  • Newt form exit reasons
  • Newt colorsets
  • Newt argument flags
  • Newt Flags Sense
  • Newt Components Flags
  • File Descriptor Flags
  • Checkbox Tree Flags
  • Entry Flags
  • Listbox Flags
  • Textbox Flags
  • Form Flags
  • Newt Keys
  • Newt Anchors
  • Grid Flags

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

Типы ресурсов
Newt form exit reasons
Newt


Newt form exit reasons

Newt form exit reasons
constant | meaning
NEWT_EXIT_HOTKEY | hotkey defined by newt_form_add_hot_key() was pressed
NEWT_EXIT_COMPONENT | some component has caused form to exit
NEWT_EXIT_FDREADY | file descriptor specified in newt_form_watch_fd() is ready to be read or written to
NEWT_EXIT_TIMER | time specified in newt_form_set_timer() has elapsed
Предопределенные константы
Newt colorsets
Предопределенные константы


Newt colorsets

Newt colorsets
constant | meaning
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |
Newt form exit reasons
Newt argument flags
Предопределенные константы


Newt argument flags

Newt argument flags
constant | meaning
NEWT_ARG_LAST |
NEWT_ARG_APPEND |
Newt colorsets
Newt Flags Sense
Предопределенные константы


Newt Flags Sense

Newt Flags Sense
constant | meaning
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |
Newt argument flags
Newt Components Flags
Предопределенные константы


Newt Components Flags

Newt Components Flags
constant | meaning
NEWT_FLAG_RETURNEXIT | Exit form, when component is activated
NEWT_FLAG_HIDDEN | Component is hidden
NEWT_FLAG_SCROLL | Component is scrollable
NEWT_FLAG_DISABLED | Component is disabled
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Wrap text
NEWT_FLAG_NOF12 | Don't exit form on pressing F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | Component is selected
NEWT_FLAG_CHECKBOX | Component is checkbox
NEWT_FLAG_PASSWORD | Entry component is password entry
NEWT_FLAG_SHOWCURSOR | Show cursor
Newt Flags Sense
File Descriptor Flags
Предопределенные константы


File Descriptor Flags

File Descriptor Flags
constant | meaning
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |
Newt Components Flags
Checkbox Tree Flags
Предопределенные константы


Checkbox Tree Flags

Checkbox Tree Flags
constant | meaning
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |
File Descriptor Flags
Entry Flags
Предопределенные константы


Entry Flags

Entry Flags
constant | meaning
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |
Checkbox Tree Flags
Listbox Flags
Предопределенные константы


Listbox Flags

Listbox Flags
constant | meaning
NEWT_LISTBOX_RETURNEXIT |
Entry Flags
Textbox Flags
Предопределенные константы


Textbox Flags

Textbox Flags
constant | meaning
NEWT_TEXTBOX_WRAP | Wrap text in the textbox
NEWT_TEXTBOX_SCROLL | Scroll text in the textbox
Listbox Flags
Form Flags
Предопределенные константы


Form Flags

Form Flags
constant | meaning
NEWT_FORM_NOF12 | Don't exit form on F12 press
Textbox Flags
Newt Keys
Предопределенные константы


Newt Keys

Newt Keys
constant | meaning
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |
Form Flags
Newt Anchors
Предопределенные константы


Newt Anchors

Newt Anchors
constant | meaning
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |
Newt Keys
Grid Flags
Предопределенные константы


Grid Flags

Grid Flags
constant | meaning
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |
Newt Anchors
Примеры
Предопределенные константы


Примеры

Содержание

  • Basic usage
Grid Flags
Basic usage
Newt


Basic usage

This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.

Пример #1 Newt Usage Example

<?php
newt_init ();
newt_cls ();

newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
newt_push_help_line (null);
newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

newt_get_screen_size ($rows, $cols);

newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

$form = newt_form ();

$list = newt_listbox (3, 2, 10);

foreach (array (
    "Authentication configuration",
    "Firewall configuration",
    "Mouse configuration",
    "Network configuration",
    "Printer configuration",
    "System services") as $l_item)
{
    newt_listbox_add_entry ($list, $l_item, $l_item);
}

$b1 = newt_button (5, 12, "Run Tool");
$b2 = newt_button (21, 12, "Quit");

newt_form_add_component ($form, $list);
newt_form_add_components ($form, array($b1, $b2));

newt_refresh ();
newt_run_form ($form);

newt_pop_window ();
newt_pop_help_line ();
newt_finished ();
newt_form_destroy ($form);
?>
Примеры
Newt Функции
Примеры


Newt Функции

Содержание

  • newt_bell — Send a beep to the terminal
  • newt_button_bar — This function returns a grid containing the buttons created.
  • newt_button — Create a new button
  • newt_centered_window — Open a centered window of the specified size
  • newt_checkbox_get_value — Retreives value of checkox resource
  • newt_checkbox_set_flags — Configures checkbox resource
  • newt_checkbox_set_value — Sets the value of the checkbox
  • newt_checkbox_tree_add_item — Adds new item to the checkbox tree
  • newt_checkbox_tree_find_item — Finds an item in the checkbox tree
  • newt_checkbox_tree_get_current — Returns checkbox tree selected item
  • newt_checkbox_tree_get_entry_value — Описание
  • newt_checkbox_tree_get_multi_selection — Описание
  • newt_checkbox_tree_get_selection — Описание
  • newt_checkbox_tree_multi — Описание
  • newt_checkbox_tree_set_current — Описание
  • newt_checkbox_tree_set_entry_value — Описание
  • newt_checkbox_tree_set_entry — Описание
  • newt_checkbox_tree_set_width — Описание
  • newt_checkbox_tree — Описание
  • newt_checkbox — Описание
  • newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input
  • newt_cls — Описание
  • newt_compact_button — Описание
  • newt_component_add_callback — Описание
  • newt_component_takes_focus — Описание
  • newt_create_grid — Описание
  • newt_cursor_off — Описание
  • newt_cursor_on — Описание
  • newt_delay — Описание
  • newt_draw_form — Описание
  • newt_draw_root_text — Displays the string text at the position indicated
  • newt_entry_get_value — Описание
  • newt_entry_set_filter — Описание
  • newt_entry_set_flags — Описание
  • newt_entry_set — Описание
  • newt_entry — Описание
  • newt_finished — Uninitializes newt interface
  • newt_form_add_component — Adds a single component to the form
  • newt_form_add_components — Add several components to the form
  • newt_form_add_hot_key — Описание
  • newt_form_destroy — Destroys a form
  • newt_form_get_current — Описание
  • newt_form_run — Runs a form
  • newt_form_set_background — Описание
  • newt_form_set_height — Описание
  • newt_form_set_size — Описание
  • newt_form_set_timer — Описание
  • newt_form_set_width — Описание
  • newt_form_watch_fd — Описание
  • newt_form — Create a form
  • newt_get_screen_size — Fills in the passed references with the current size of the terminal
  • newt_grid_add_components_to_form — Описание
  • newt_grid_basic_window — Описание
  • newt_grid_free — Описание
  • newt_grid_get_size — Описание
  • newt_grid_h_close_stacked — Описание
  • newt_grid_h_stacked — Описание
  • newt_grid_place — Описание
  • newt_grid_set_field — Описание
  • newt_grid_simple_window — Описание
  • newt_grid_v_close_stacked — Описание
  • newt_grid_v_stacked — Описание
  • newt_grid_wrapped_window_at — Описание
  • newt_grid_wrapped_window — Описание
  • newt_init — Initialize newt
  • newt_label_set_text — Описание
  • newt_label — Описание
  • newt_listbox_append_entry — Описание
  • newt_listbox_clear_selection — Описание
  • newt_listbox_clear — Описание
  • newt_listbox_delete_entry — Описание
  • newt_listbox_get_current — Описание
  • newt_listbox_get_selection — Описание
  • newt_listbox_insert_entry — Описание
  • newt_listbox_item_count — Описание
  • newt_listbox_select_item — Описание
  • newt_listbox_set_current_by_key — Описание
  • newt_listbox_set_current — Описание
  • newt_listbox_set_data — Описание
  • newt_listbox_set_entry — Описание
  • newt_listbox_set_width — Описание
  • newt_listbox — Описание
  • newt_listitem_get_data — Описание
  • newt_listitem_set — Описание
  • newt_listitem — Описание
  • newt_open_window — Open a window of the specified size and position
  • newt_pop_help_line — Replaces the current help line with the one from the stack
  • newt_pop_window — Removes the top window from the display
  • newt_push_help_line — Saves the current help line on a stack, and displays the new line
  • newt_radio_get_current — Описание
  • newt_radiobutton — Описание
  • newt_redraw_help_line — Описание
  • newt_reflow_text — Описание
  • newt_refresh — Updates modified portions of the screen
  • newt_resize_screen — Описание
  • newt_resume — Resume using the newt interface after calling newt_suspend
  • newt_run_form — Runs a form
  • newt_scale_set — Описание
  • newt_scale — Описание
  • newt_scrollbar_set — Описание
  • newt_set_help_callback — Описание
  • newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key
  • newt_suspend — Tells newt to return the terminal to its initial state
  • newt_textbox_get_num_lines — Описание
  • newt_textbox_reflowed — Описание
  • newt_textbox_set_height — Описание
  • newt_textbox_set_text — Описание
  • newt_textbox — Описание
  • newt_vertical_scrollbar — Описание
  • newt_wait_for_key — Doesn't return until a key has been pressed
  • newt_win_choice — Описание
  • newt_win_entries — Описание
  • newt_win_menu — Описание
  • newt_win_message — Описание
  • newt_win_messagev — Описание
  • newt_win_ternary — Описание
Basic usage
newt_bell
Newt


Send a beep to the terminal

Newt Функции
newt_button_bar
Newt Функции
PHP Manual

newt_bell

(PECL newt >= 0.1)

newt_bell — Send a beep to the terminal

Описание

void newt_bell ( void )

This function sends a beep to the terminal.

Замечание:

Depending on the terminal's settings, this beep may or may not be audible.

Возвращаемые значения

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

Newt Функции
newt_button_bar
Newt Функции


This function returns a grid containing the buttons created.

newt_bell
newt_button
Newt Функции
PHP Manual

newt_button_bar

(PECL newt >= 0.1)

newt_button_bar — This function returns a grid containing the buttons created.

Описание

resource newt_button_bar ( array &$buttons )

This function returns a grid containing the buttons created.

Список параметров

buttons

Возвращаемые значения

Returns grid containing the buttons created.

newt_bell
newt_button
Newt Функции


Create a new button

newt_button_bar
newt_centered_window
Newt Функции
PHP Manual

newt_button

(PECL newt >= 0.1)

newt_button — Create a new button

Описание

resource newt_button ( int $left , int $top , string $text )

Creates a new button.

Список параметров

left

X-coordinate of the button.

top

Y-coordinate of the button.

text

The text which should be displayed in the button.

Возвращаемые значения

Returns a resource link to the created button component, or FALSE on error.

Примеры

Пример #1 A newt_button() example

<?php

$form = newt_form();

$ok_button = newt_button(5, 12, "Run Tool");

newt_form_add_component($form, $ok_button);

?>

Смотрите также

  • newt_button_bar() - This function returns a grid containing the buttons created.

newt_button_bar
newt_centered_window
Newt Функции


Open a centered window of the specified size

newt_button
newt_checkbox_get_value
Newt Функции
PHP Manual

newt_centered_window

(PECL newt >= 0.1)

newt_centered_window — Open a centered window of the specified size

Описание

int newt_centered_window ( int $width , int $height [, string $title ] )

Open a centered window of the specified size.

Список параметров

width

Window width

height

Window height

title

Window title

Возвращаемые значения

Undefined value.

Смотрите также

  • newt_pop_window() - Removes the top window from the display
  • newt_open_window() - Open a window of the specified size and position

newt_button
newt_checkbox_get_value
Newt Функции


Retreives value of checkox resource

newt_centered_window
newt_checkbox_set_flags
Newt Функции
PHP Manual

newt_checkbox_get_value

(PECL newt >= 0.1)

newt_checkbox_get_value — Retreives value of checkox resource

Описание

string newt_checkbox_get_value ( resource $checkbox )

This function returns the character in the sequence which indicates the current value of the checkbox.

Список параметров

checkbox

Возвращаемые значения

Returns character indicating the value of the checkbox.

newt_centered_window
newt_checkbox_set_flags
Newt Функции


Configures checkbox resource

newt_checkbox_get_value
newt_checkbox_set_value
Newt Функции
PHP Manual

newt_checkbox_set_flags

(PECL newt >= 0.1)

newt_checkbox_set_flags — Configures checkbox resource

Описание

void newt_checkbox_set_flags ( resource $checkbox , int $flags , int $sense )

This function allows to set various flags on checkbox resource.

Список параметров

checkbox

flags

sense

Возвращаемые значения

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

newt_checkbox_get_value
newt_checkbox_set_value
Newt Функции


Sets the value of the checkbox

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Newt Функции
PHP Manual

newt_checkbox_set_value

(PECL newt >= 0.1)

newt_checkbox_set_value — Sets the value of the checkbox

Описание

void newt_checkbox_set_value ( resource $checkbox , string $value )

This function allows to set the current value of the checkbox resource.

Список параметров

checkbox

value

Возвращаемые значения

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

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Newt Функции


Adds new item to the checkbox tree

newt_checkbox_set_value
newt_checkbox_tree_find_item
Newt Функции
PHP Manual

newt_checkbox_tree_add_item

(PECL newt >= 0.1)

newt_checkbox_tree_add_item — Adds new item to the checkbox tree

Описание

void newt_checkbox_tree_add_item ( resource $checkboxtree , string $text , mixed $data , int $flags , int $index [, int $... ] )

This function allows to add new item to the checkbox tree.

Список параметров

checkboxtree

text

data

flags

index

Возвращаемые значения

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

newt_checkbox_set_value
newt_checkbox_tree_find_item
Newt Функции


Finds an item in the checkbox tree

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Newt Функции
PHP Manual

newt_checkbox_tree_find_item

(PECL newt >= 0.1)

newt_checkbox_tree_find_item — Finds an item in the checkbox tree

Описание

array newt_checkbox_tree_find_item ( resource $checkboxtree , mixed $data )

Finds an item in the checkbox tree by item's data.

Список параметров

checkboxtree

data

Возвращаемые значения

Returns checkbox tree item resource, or NULL if it wasn't found.

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Newt Функции


Returns checkbox tree selected item

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Newt Функции
PHP Manual

newt_checkbox_tree_get_current

(PECL newt >= 0.1)

newt_checkbox_tree_get_current — Returns checkbox tree selected item

Описание

mixed newt_checkbox_tree_get_current ( resource $checkboxtree )

This method returns checkbox tree selected tem.

Список параметров

checkboxtree

Возвращаемые значения

Returns current (selected) checkbox tree item.

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Newt Функции


newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Newt Функции
PHP Manual

newt_checkbox_tree_get_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_get_entry_value —

Описание

string newt_checkbox_tree_get_entry_value ( resource $checkboxtree , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

data

Возвращаемые значения

newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Newt Функции


newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Newt Функции
PHP Manual

newt_checkbox_tree_get_multi_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_multi_selection —

Описание

array newt_checkbox_tree_get_multi_selection ( resource $checkboxtree , string $seqnum )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

seqnum

Возвращаемые значения

newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Newt Функции


newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Newt Функции
PHP Manual

newt_checkbox_tree_get_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_selection —

Описание

array newt_checkbox_tree_get_selection ( resource $checkboxtree )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

Возвращаемые значения

newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Newt Функции


newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Newt Функции
PHP Manual

newt_checkbox_tree_multi

(PECL newt >= 0.1)

newt_checkbox_tree_multi —

Описание

resource newt_checkbox_tree_multi ( int $left , int $top , int $height , string $seq [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

height

seq

flags

Возвращаемые значения

newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Newt Функции


newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Newt Функции
PHP Manual

newt_checkbox_tree_set_current

(PECL newt >= 0.1)

newt_checkbox_tree_set_current —

Описание

void newt_checkbox_tree_set_current ( resource $checkboxtree , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

data

Возвращаемые значения

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

newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Newt Функции


newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Newt Функции
PHP Manual

newt_checkbox_tree_set_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry_value —

Описание

void newt_checkbox_tree_set_entry_value ( resource $checkboxtree , mixed $data , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

data

value

Возвращаемые значения

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

newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Newt Функции


newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Newt Функции
PHP Manual

newt_checkbox_tree_set_entry

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry —

Описание

void newt_checkbox_tree_set_entry ( resource $checkboxtree , mixed $data , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkboxtree

data

text

Возвращаемые значения

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

newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Newt Функции


newt_checkbox_tree_set_entry
newt_checkbox_tree
Newt Функции
PHP Manual

newt_checkbox_tree_set_width

(PECL newt >= 0.1)

newt_checkbox_tree_set_width —

Описание

void newt_checkbox_tree_set_width ( resource $checkbox_tree , int $width )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checkbox_tree

width

Возвращаемые значения

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

newt_checkbox_tree_set_entry
newt_checkbox_tree
Newt Функции


newt_checkbox_tree_set_width
newt_checkbox
Newt Функции
PHP Manual

newt_checkbox_tree

(PECL newt >= 0.1)

newt_checkbox_tree —

Описание

resource newt_checkbox_tree ( int $left , int $top , int $height [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

height

flags

Возвращаемые значения

newt_checkbox_tree_set_width
newt_checkbox
Newt Функции


newt_checkbox_tree
newt_clear_key_buffer
Newt Функции
PHP Manual

newt_checkbox

(PECL newt >= 0.1)

newt_checkbox —

Описание

resource newt_checkbox ( int $left , int $top , string $text , string $def_value [, string $seq ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

text

def_value

seq

Возвращаемые значения

newt_checkbox_tree
newt_clear_key_buffer
Newt Функции


Discards the contents of the terminal's input buffer without waiting for additional input

newt_checkbox
newt_cls
Newt Функции
PHP Manual

newt_clear_key_buffer

(PECL newt >= 0.1)

newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input

Описание

void newt_clear_key_buffer ( void )

Discards the contents of the terminal's input buffer without waiting for additional input.

Возвращаемые значения

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

Смотрите также

  • newt_wait_for_key() - Doesn't return until a key has been pressed

newt_checkbox
newt_cls
Newt Функции


newt_clear_key_buffer
newt_compact_button
Newt Функции
PHP Manual

newt_cls

(PECL newt >= 0.1)

newt_cls —

Описание

void newt_cls ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

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

newt_clear_key_buffer
newt_compact_button
Newt Функции


newt_cls
newt_component_add_callback
Newt Функции
PHP Manual

newt_compact_button

(PECL newt >= 0.1)

newt_compact_button —

Описание

resource newt_compact_button ( int $left , int $top , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

text

Возвращаемые значения

newt_cls
newt_component_add_callback
Newt Функции


newt_compact_button
newt_component_takes_focus
Newt Функции
PHP Manual

newt_component_add_callback

(PECL newt >= 0.1)

newt_component_add_callback —

Описание

void newt_component_add_callback ( resource $component , mixed $func_name , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

component

func_name

data

Возвращаемые значения

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

newt_compact_button
newt_component_takes_focus
Newt Функции


newt_component_add_callback
newt_create_grid
Newt Функции
PHP Manual

newt_component_takes_focus

(PECL newt >= 0.1)

newt_component_takes_focus —

Описание

void newt_component_takes_focus ( resource $component , bool $takes_focus )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

component

takes_focus

Возвращаемые значения

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

newt_component_add_callback
newt_create_grid
Newt Функции


newt_component_takes_focus
newt_cursor_off
Newt Функции
PHP Manual

newt_create_grid

(PECL newt >= 0.1)

newt_create_grid —

Описание

resource newt_create_grid ( int $cols , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

cols

rows

Возвращаемые значения

newt_component_takes_focus
newt_cursor_off
Newt Функции


newt_create_grid
newt_cursor_on
Newt Функции
PHP Manual

newt_cursor_off

(PECL newt >= 0.1)

newt_cursor_off —

Описание

void newt_cursor_off ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

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

newt_create_grid
newt_cursor_on
Newt Функции


newt_cursor_off
newt_delay
Newt Функции
PHP Manual

newt_cursor_on

(PECL newt >= 0.1)

newt_cursor_on —

Описание

void newt_cursor_on ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

newt_cursor_off
newt_delay
Newt Функции


newt_cursor_on
newt_draw_form
Newt Функции
PHP Manual

newt_delay

(PECL newt >= 0.1)

newt_delay —

Описание

void newt_delay ( int $microseconds )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

microseconds

Возвращаемые значения

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

newt_cursor_on
newt_draw_form
Newt Функции


newt_delay
newt_draw_root_text
Newt Функции
PHP Manual

newt_draw_form

(PECL newt >= 0.1)

newt_draw_form —

Описание

void newt_draw_form ( resource $form )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

Возвращаемые значения

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

newt_delay
newt_draw_root_text
Newt Функции


Displays the string text at the position indicated

newt_draw_form
newt_entry_get_value
Newt Функции
PHP Manual

newt_draw_root_text

(PECL newt >= 0.1)

newt_draw_root_text — Displays the string text at the position indicated

Описание

void newt_draw_root_text ( int $left , int $top , string $text )

Displays the string text at the position indicated.

Список параметров

left

Column number

Замечание:

If left is negative, the position is measured from the opposite side of the screen.

top

Line number

Замечание:

If top is negative, the position is measured from the opposite side of the screen.

text

Text to display.

Возвращаемые значения

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

Примеры

Пример #1 A newt_draw_root_text() example

This code demonstrates drawing of titles in the both corners of the screen.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Some root text");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Root text in the other corner");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

Смотрите также

  • newt_push_help_line() - Saves the current help line on a stack, and displays the new line
  • newt_pop_help_line() - Replaces the current help line with the one from the stack

newt_draw_form
newt_entry_get_value
Newt Функции


newt_draw_root_text
newt_entry_set_filter
Newt Функции
PHP Manual

newt_entry_get_value

(PECL newt >= 0.1)

newt_entry_get_value —

Описание

string newt_entry_get_value ( resource $entry )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

entry

Возвращаемые значения

newt_draw_root_text
newt_entry_set_filter
Newt Функции


newt_entry_get_value
newt_entry_set_flags
Newt Функции
PHP Manual

newt_entry_set_filter

(PECL newt >= 0.1)

newt_entry_set_filter —

Описание

void newt_entry_set_filter ( resource $entry , callback $filter , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

entry

filter

data

Возвращаемые значения

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

newt_entry_get_value
newt_entry_set_flags
Newt Функции


newt_entry_set_filter
newt_entry_set
Newt Функции
PHP Manual

newt_entry_set_flags

(PECL newt >= 0.1)

newt_entry_set_flags —

Описание

void newt_entry_set_flags ( resource $entry , int $flags , int $sense )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

entry

flags

sense

Возвращаемые значения

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

newt_entry_set_filter
newt_entry_set
Newt Функции


newt_entry_set_flags
newt_entry
Newt Функции
PHP Manual

newt_entry_set

(PECL newt >= 0.1)

newt_entry_set —

Описание

void newt_entry_set ( resource $entry , string $value [, bool $cursor_at_end ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

entry

value

cursor_at_end

Возвращаемые значения

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

newt_entry_set_flags
newt_entry
Newt Функции


newt_entry_set
newt_finished
Newt Функции
PHP Manual

newt_entry

(PECL newt >= 0.1)

newt_entry —

Описание

resource newt_entry ( int $left , int $top , int $width [, string $init_value [, int $flags ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

width

init_value

flags

Возвращаемые значения

newt_entry_set
newt_finished
Newt Функции


Uninitializes newt interface

newt_entry
newt_form_add_component
Newt Функции
PHP Manual

newt_finished

(PECL newt >= 0.1)

newt_finished — Uninitializes newt interface

Описание

int newt_finished ( void )

Uninitializes newt interface. This function be called, when program is ready to exit.

Возвращаемые значения

Returns 1 on success, 0 on failure.

Смотрите также

  • newt_init() - Initialize newt

newt_entry
newt_form_add_component
Newt Функции


Adds a single component to the form

newt_finished
newt_form_add_components
Newt Функции
PHP Manual

newt_form_add_component

(PECL newt >= 0.1)

newt_form_add_component — Adds a single component to the form

Описание

void newt_form_add_component ( resource $form , resource $component )

Adds a single component to the form.

Список параметров

form

Form to which component will be added

component

Component to add to the form

Возвращаемые значения

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

Примеры

Пример #1 A newt_form_add_component() example

<?php
$form = newt_form();

$options = array("Authentication configuration", "Firewall configuration",
"Mouse configuration", "Network configuration", "Printer configuration",
"System services");

$list = newt_listbox(3, 2, 10);

foreach ($options as $l_item) {
    newt_listbox_add_entry($list, $l_item, $l_item);
}

newt_form_add_component($form, $list);
?>

Смотрите также

  • newt_form_add_components() - Add several components to the form

newt_finished
newt_form_add_components
Newt Функции


Add several components to the form

newt_form_add_component
newt_form_add_hot_key
Newt Функции
PHP Manual

newt_form_add_components

(PECL newt >= 0.1)

newt_form_add_components — Add several components to the form

Описание

void newt_form_add_components ( resource $form , array $components )

Adds several components to the form.

Список параметров

form

Form to which components will be added

components

Array of components to add to the form

Возвращаемые значения

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

Примеры

Пример #1 A newt_form_add_components() example

<?php
$form = newt_form();

$b1 = newt_button(5, 12, "Run Tool");
$b2 = newt_button(21, 12, "Quit");

newt_form_add_components($form, array($b1, $b2));
?>

Смотрите также

  • newt_form_add_component() - Adds a single component to the form

newt_form_add_component
newt_form_add_hot_key
Newt Функции


newt_form_add_components
newt_form_destroy
Newt Функции
PHP Manual

newt_form_add_hot_key

(PECL newt >= 0.1)

newt_form_add_hot_key —

Описание

void newt_form_add_hot_key ( resource $form , int $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

key

Возвращаемые значения

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

newt_form_add_components
newt_form_destroy
Newt Функции


Destroys a form

newt_form_add_hot_key
newt_form_get_current
Newt Функции
PHP Manual

newt_form_destroy

(PECL newt >= 0.1)

newt_form_destroy — Destroys a form

Описание

void newt_form_destroy ( resource $form )

This function frees the memory resources used by the form and all of the components which have been added to the form (including those components which are on subforms). Once a form has been destroyed, none of the form's components can be used.

Список параметров

form

Form component, which is going to be destroyed

Возвращаемые значения

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

Смотрите также

  • newt_form_run() - Runs a form
  • newt_run_form() - Runs a form

newt_form_add_hot_key
newt_form_get_current
Newt Функции


newt_form_destroy
newt_form_run
Newt Функции
PHP Manual

newt_form_get_current

(PECL newt >= 0.1)

newt_form_get_current —

Описание

resource newt_form_get_current ( resource $form )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

Возвращаемые значения

newt_form_destroy
newt_form_run
Newt Функции


Runs a form

newt_form_get_current
newt_form_set_background
Newt Функции
PHP Manual

newt_form_run

(PECL newt >= 0.1)

newt_form_run — Runs a form

Описание

void newt_form_run ( resource $form , array &$exit_struct )

This function runs the form passed to it.

Список параметров

form

Form component

exit_struct

Array, used for returning information after running the form component. Keys and values are described in the following table:

Form Exit Structure
Index Key | Value Type | Description
reason | integer | The reason, why the form has been exited. Possible values are defined here.
watch | resource | Resource link, specified in newt_form_watch_fd()
key | integer | Hotkey
component | resource | Component, which caused the form to exit

Возвращаемые значения

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

Смотрите также

  • newt_run_form() - Runs a form

newt_form_get_current
newt_form_set_background
Newt Функции


newt_form_run
newt_form_set_height
Newt Функции
PHP Manual

newt_form_set_background

(PECL newt >= 0.1)

newt_form_set_background —

Описание

void newt_form_set_background ( resource $from , int $background )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

from

background

Возвращаемые значения

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

newt_form_run
newt_form_set_height
Newt Функции


newt_form_set_background
newt_form_set_size
Newt Функции
PHP Manual

newt_form_set_height

(PECL newt >= 0.1)

newt_form_set_height —

Описание

void newt_form_set_height ( resource $form , int $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

height

Возвращаемые значения

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

newt_form_set_background
newt_form_set_size
Newt Функции


newt_form_set_height
newt_form_set_timer
Newt Функции
PHP Manual

newt_form_set_size

(PECL newt >= 0.1)

newt_form_set_size —

Описание

void newt_form_set_size ( resource $form )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

Возвращаемые значения

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

newt_form_set_height
newt_form_set_timer
Newt Функции


newt_form_set_size
newt_form_set_width
Newt Функции
PHP Manual

newt_form_set_timer

(PECL newt >= 0.1)

newt_form_set_timer —

Описание

void newt_form_set_timer ( resource $form , int $milliseconds )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

milliseconds

Возвращаемые значения

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

newt_form_set_size
newt_form_set_width
Newt Функции


newt_form_set_timer
newt_form_watch_fd
Newt Функции
PHP Manual

newt_form_set_width

(PECL newt >= 0.1)

newt_form_set_width —

Описание

void newt_form_set_width ( resource $form , int $width )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

width

Возвращаемые значения

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

newt_form_set_timer
newt_form_watch_fd
Newt Функции


newt_form_set_width
newt_form
Newt Функции
PHP Manual

newt_form_watch_fd

(PECL newt >= 0.1)

newt_form_watch_fd —

Описание

void newt_form_watch_fd ( resource $form , resource $stream [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

form

stream

flags

Возвращаемые значения

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

newt_form_set_width
newt_form
Newt Функции


Create a form

newt_form_watch_fd
newt_get_screen_size
Newt Функции
PHP Manual

newt_form

(PECL newt >= 0.1)

newt_form — Create a form

Описание

resource newt_form ([ resource $vert_bar [, string $help [, int $flags ]]] )

Create a new form.

Список параметров

vert_bar

Vertical scrollbar which should be associated with the form

help

Help text string

flags

Various flags

Возвращаемые значения

Returns a resource link to the created form component, or FALSE on error.

Примеры

Пример #1 A newt_form() example

Displays a single button "Quit", which closes the application once it's pressed.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Quit");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

Смотрите также

  • newt_form_run() - Runs a form
  • newt_run_form() - Runs a form
  • newt_form_add_component() - Adds a single component to the form
  • newt_form_add_components() - Add several components to the form
  • newt_form_destroy() - Destroys a form

newt_form_watch_fd
newt_get_screen_size
Newt Функции


Fills in the passed references with the current size of the terminal

newt_form
newt_grid_add_components_to_form
Newt Функции
PHP Manual

newt_get_screen_size

(PECL newt >= 0.1)

newt_get_screen_size — Fills in the passed references with the current size of the terminal

Описание

void newt_get_screen_size ( int &$cols , int &$rows )

Fills in the passed references with the current size of the terminal.

Список параметров

cols

Number of columns in the terminal

rows

Number of rows in the terminal

Возвращаемые значения

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

Примеры

Пример #1 A newt_get_screen_size() example

This code prints out the screen size of your terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "Your terminal size is: {$cols}x{$rows}\n";
?>

Результат выполнения данного примера:

Your terminal size is: 138x47

newt_form
newt_grid_add_components_to_form
Newt Функции


newt_get_screen_size
newt_grid_basic_window
Newt Функции
PHP Manual

newt_grid_add_components_to_form

(PECL newt >= 0.1)

newt_grid_add_components_to_form —

Описание

void newt_grid_add_components_to_form ( resource $grid , resource $form , bool $recurse )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

form

recurse

Возвращаемые значения

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

newt_get_screen_size
newt_grid_basic_window
Newt Функции


newt_grid_add_components_to_form
newt_grid_free
Newt Функции
PHP Manual

newt_grid_basic_window

(PECL newt >= 0.1)

newt_grid_basic_window —

Описание

resource newt_grid_basic_window ( resource $text , resource $middle , resource $buttons )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

middle

buttons

Возвращаемые значения

newt_grid_add_components_to_form
newt_grid_free
Newt Функции


newt_grid_basic_window
newt_grid_get_size
Newt Функции
PHP Manual

newt_grid_free

(PECL newt >= 0.1)

newt_grid_free —

Описание

void newt_grid_free ( resource $grid , bool $recurse )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

recurse

Возвращаемые значения

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

newt_grid_basic_window
newt_grid_get_size
Newt Функции


newt_grid_free
newt_grid_h_close_stacked
Newt Функции
PHP Manual

newt_grid_get_size

(PECL newt >= 0.1)

newt_grid_get_size —

Описание

void newt_grid_get_size ( resouce $grid , int &$width , int &$height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

width

height

Возвращаемые значения

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

newt_grid_free
newt_grid_h_close_stacked
Newt Функции


newt_grid_get_size
newt_grid_h_stacked
Newt Функции
PHP Manual

newt_grid_h_close_stacked

(PECL newt >= 0.1)

newt_grid_h_close_stacked —

Описание

resource newt_grid_h_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

element1_type

element1

Возвращаемые значения

newt_grid_get_size
newt_grid_h_stacked
Newt Функции


newt_grid_h_close_stacked
newt_grid_place
Newt Функции
PHP Manual

newt_grid_h_stacked

(PECL newt >= 0.1)

newt_grid_h_stacked —

Описание

resource newt_grid_h_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

element1_type

element1

Возвращаемые значения

newt_grid_h_close_stacked
newt_grid_place
Newt Функции


newt_grid_h_stacked
newt_grid_set_field
Newt Функции
PHP Manual

newt_grid_place

(PECL newt >= 0.1)

newt_grid_place —

Описание

void newt_grid_place ( resource $grid , int $left , int $top )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

left

top

Возвращаемые значения

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

newt_grid_h_stacked
newt_grid_set_field
Newt Функции


newt_grid_place
newt_grid_simple_window
Newt Функции
PHP Manual

newt_grid_set_field

(PECL newt >= 0.1)

newt_grid_set_field —

Описание

void newt_grid_set_field ( resource $grid , int $col , int $row , int $type , resource $val , int $pad_left , int $pad_top , int $pad_right , int $pad_bottom , int $anchor [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

col

row

type

val

pad_left

pad_top

pad_right

pad_bottom

anchor

flags

Возвращаемые значения

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

newt_grid_place
newt_grid_simple_window
Newt Функции


newt_grid_set_field
newt_grid_v_close_stacked
Newt Функции
PHP Manual

newt_grid_simple_window

(PECL newt >= 0.1)

newt_grid_simple_window —

Описание

resource newt_grid_simple_window ( resource $text , resource $middle , resource $buttons )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

middle

buttons

Возвращаемые значения

newt_grid_set_field
newt_grid_v_close_stacked
Newt Функции


newt_grid_simple_window
newt_grid_v_stacked
Newt Функции
PHP Manual

newt_grid_v_close_stacked

(PECL newt >= 0.1)

newt_grid_v_close_stacked —

Описание

resource newt_grid_v_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

element1_type

element1

Возвращаемые значения

newt_grid_simple_window
newt_grid_v_stacked
Newt Функции


newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Newt Функции
PHP Manual

newt_grid_v_stacked

(PECL newt >= 0.1)

newt_grid_v_stacked —

Описание

resource newt_grid_v_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

element1_type

element1

Возвращаемые значения

newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Newt Функции


newt_grid_v_stacked
newt_grid_wrapped_window
Newt Функции
PHP Manual

newt_grid_wrapped_window_at

(PECL newt >= 0.1)

newt_grid_wrapped_window_at —

Описание

void newt_grid_wrapped_window_at ( resource $grid , string $title , int $left , int $top )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

title

left

top

Возвращаемые значения

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

newt_grid_v_stacked
newt_grid_wrapped_window
Newt Функции


newt_grid_wrapped_window_at
newt_init
Newt Функции
PHP Manual

newt_grid_wrapped_window

(PECL newt >= 0.1)

newt_grid_wrapped_window —

Описание

void newt_grid_wrapped_window ( resource $grid , string $title )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

grid

title

Возвращаемые значения

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

newt_grid_wrapped_window_at
newt_init
Newt Функции


Initialize newt

newt_grid_wrapped_window
newt_label_set_text
Newt Функции
PHP Manual

newt_init

(PECL newt >= 0.1)

newt_init — Initialize newt

Описание

int newt_init ( void )

Initializes the newt interface. This function must be called before any other newt function.

Возвращаемые значения

Returns 1 on success, 0 on failure.

Смотрите также

  • newt_finished() - Uninitializes newt interface

newt_grid_wrapped_window
newt_label_set_text
Newt Функции


newt_init
newt_label
Newt Функции
PHP Manual

newt_label_set_text

(PECL newt >= 0.1)

newt_label_set_text —

Описание

void newt_label_set_text ( resource $label , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

label

text

Возвращаемые значения

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

newt_init
newt_label
Newt Функции


newt_label_set_text
newt_listbox_append_entry
Newt Функции
PHP Manual

newt_label

(PECL newt >= 0.1)

newt_label —

Описание

resource newt_label ( int $left , int $top , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

text

Возвращаемые значения

newt_label_set_text
newt_listbox_append_entry
Newt Функции


newt_label
newt_listbox_clear_selection
Newt Функции
PHP Manual

newt_listbox_append_entry

(PECL newt >= 0.1)

newt_listbox_append_entry —

Описание

void newt_listbox_append_entry ( resource $listbox , string $text , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

text

data

Возвращаемые значения

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

newt_label
newt_listbox_clear_selection
Newt Функции


newt_listbox_append_entry
newt_listbox_clear
Newt Функции
PHP Manual

newt_listbox_clear_selection

(PECL newt >= 0.1)

newt_listbox_clear_selection —

Описание

void newt_listbox_clear_selection ( resource $listbox )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

Возвращаемые значения

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

newt_listbox_append_entry
newt_listbox_clear
Newt Функции


newt_listbox_clear_selection
newt_listbox_delete_entry
Newt Функции
PHP Manual

newt_listbox_clear

(PECL newt >= 0.1)

newt_listbox_clear —

Описание

void newt_listbox_clear ( resource $listobx )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listobx

Возвращаемые значения

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

newt_listbox_clear_selection
newt_listbox_delete_entry
Newt Функции


newt_listbox_clear
newt_listbox_get_current
Newt Функции
PHP Manual

newt_listbox_delete_entry

(PECL newt >= 0.1)

newt_listbox_delete_entry —

Описание

void newt_listbox_delete_entry ( resource $listbox , mixed $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

key

Возвращаемые значения

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

newt_listbox_clear
newt_listbox_get_current
Newt Функции


newt_listbox_delete_entry
newt_listbox_get_selection
Newt Функции
PHP Manual

newt_listbox_get_current

(PECL newt >= 0.1)

newt_listbox_get_current —

Описание

string newt_listbox_get_current ( resource $listbox )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

Возвращаемые значения

newt_listbox_delete_entry
newt_listbox_get_selection
Newt Функции


newt_listbox_get_current
newt_listbox_insert_entry
Newt Функции
PHP Manual

newt_listbox_get_selection

(PECL newt >= 0.1)

newt_listbox_get_selection —

Описание

array newt_listbox_get_selection ( resource $listbox )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

Возвращаемые значения

newt_listbox_get_current
newt_listbox_insert_entry
Newt Функции


newt_listbox_get_selection
newt_listbox_item_count
Newt Функции
PHP Manual

newt_listbox_insert_entry

(PECL newt >= 0.1)

newt_listbox_insert_entry —

Описание

void newt_listbox_insert_entry ( resource $listbox , string $text , mixed $data , mixed $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

text

data

key

Возвращаемые значения

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

newt_listbox_get_selection
newt_listbox_item_count
Newt Функции


newt_listbox_insert_entry
newt_listbox_select_item
Newt Функции
PHP Manual

newt_listbox_item_count

(PECL newt >= 0.1)

newt_listbox_item_count —

Описание

int newt_listbox_item_count ( resource $listbox )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

Возвращаемые значения

newt_listbox_insert_entry
newt_listbox_select_item
Newt Функции


newt_listbox_item_count
newt_listbox_set_current_by_key
Newt Функции
PHP Manual

newt_listbox_select_item

(PECL newt >= 0.1)

newt_listbox_select_item —

Описание

void newt_listbox_select_item ( resource $listbox , mixed $key , int $sense )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

key

sense

Возвращаемые значения

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

newt_listbox_item_count
newt_listbox_set_current_by_key
Newt Функции


newt_listbox_select_item
newt_listbox_set_current
Newt Функции
PHP Manual

newt_listbox_set_current_by_key

(PECL newt >= 0.1)

newt_listbox_set_current_by_key —

Описание

void newt_listbox_set_current_by_key ( resource $listbox , mixed $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

key

Возвращаемые значения

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

newt_listbox_select_item
newt_listbox_set_current
Newt Функции


newt_listbox_set_current_by_key
newt_listbox_set_data
Newt Функции
PHP Manual

newt_listbox_set_current

(PECL newt >= 0.1)

newt_listbox_set_current —

Описание

void newt_listbox_set_current ( resource $listbox , int $num )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

num

Возвращаемые значения

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

newt_listbox_set_current_by_key
newt_listbox_set_data
Newt Функции


newt_listbox_set_current
newt_listbox_set_entry
Newt Функции
PHP Manual

newt_listbox_set_data

(PECL newt >= 0.1)

newt_listbox_set_data —

Описание

void newt_listbox_set_data ( resource $listbox , int $num , mixed $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

num

data

Возвращаемые значения

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

newt_listbox_set_current
newt_listbox_set_entry
Newt Функции


newt_listbox_set_data
newt_listbox_set_width
Newt Функции
PHP Manual

newt_listbox_set_entry

(PECL newt >= 0.1)

newt_listbox_set_entry —

Описание

void newt_listbox_set_entry ( resource $listbox , int $num , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

num

text

Возвращаемые значения

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

newt_listbox_set_data
newt_listbox_set_width
Newt Функции


newt_listbox_set_entry
newt_listbox
Newt Функции
PHP Manual

newt_listbox_set_width

(PECL newt >= 0.1)

newt_listbox_set_width —

Описание

void newt_listbox_set_width ( resource $listbox , int $width )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

listbox

width

Возвращаемые значения

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

newt_listbox_set_entry
newt_listbox
Newt Функции


newt_listbox_set_width
newt_listitem_get_data
Newt Функции
PHP Manual

newt_listbox

(PECL newt >= 0.1)

newt_listbox —

Описание

resource newt_listbox ( int $left , int $top , int $height [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

height

flags

Возвращаемые значения

newt_listbox_set_width
newt_listitem_get_data
Newt Функции


newt_listbox
newt_listitem_set
Newt Функции
PHP Manual

newt_listitem_get_data

(PECL newt >= 0.1)

newt_listitem_get_data —

Описание

mixed newt_listitem_get_data ( resource $item )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

item

Возвращаемые значения

newt_listbox
newt_listitem_set
Newt Функции


newt_listitem_get_data
newt_listitem
Newt Функции
PHP Manual

newt_listitem_set

(PECL newt >= 0.1)

newt_listitem_set —

Описание

void newt_listitem_set ( resource $item , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

item

text

Возвращаемые значения

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

newt_listitem_get_data
newt_listitem
Newt Функции


newt_listitem_set
newt_open_window
Newt Функции
PHP Manual

newt_listitem

(PECL newt >= 0.1)

newt_listitem —

Описание

resource newt_listitem ( int $left , int $top , string $text , bool $is_default , resouce $prev_item , mixed $data [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

text

is_default

prev_item

data

flags

Возвращаемые значения

newt_listitem_set
newt_open_window
Newt Функции


Open a window of the specified size and position

newt_listitem
newt_pop_help_line
Newt Функции
PHP Manual

newt_open_window

(PECL newt >= 0.1)

newt_open_window — Open a window of the specified size and position

Описание

int newt_open_window ( int $left , int $top , int $width , int $height [, string $title ] )

Open a window of the specified size and position.

Список параметров

left

Location of the upper left-hand corner of the window (column number)

top

Location of the upper left-hand corner of the window (row number)

width

Window width

height

Window height

title

Window title

Возвращаемые значения

Returns 1 on success, 0 on failure.

Смотрите также

  • newt_pop_window() - Removes the top window from the display
  • newt_centered_window() - Open a centered window of the specified size

newt_listitem
newt_pop_help_line
Newt Функции


Replaces the current help line with the one from the stack

newt_open_window
newt_pop_window
Newt Функции
PHP Manual

newt_pop_help_line

(PECL newt >= 0.1)

newt_pop_help_line — Replaces the current help line with the one from the stack

Описание

void newt_pop_help_line ( void )

Replaces the current help line with the one from the stack.

Замечание:

It's important not to call to newt_pop_help_line() more than newt_push_help_line().

Возвращаемые значения

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

Смотрите также

  • newt_push_help_line() - Saves the current help line on a stack, and displays the new line

newt_open_window
newt_pop_window
Newt Функции


Removes the top window from the display

newt_pop_help_line
newt_push_help_line
Newt Функции
PHP Manual

newt_pop_window

(PECL newt >= 0.1)

newt_pop_window — Removes the top window from the display

Описание

void newt_pop_window ( void )

Removes the top window from the display, and redraws the display areas which the window overwrote.

Возвращаемые значения

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

Смотрите также

  • newt_open_window() - Open a window of the specified size and position
  • newt_centered_window() - Open a centered window of the specified size

newt_pop_help_line
newt_push_help_line
Newt Функции


Saves the current help line on a stack, and displays the new line

newt_pop_window
newt_radio_get_current
Newt Функции
PHP Manual

newt_push_help_line

(PECL newt >= 0.1)

newt_push_help_line — Saves the current help line on a stack, and displays the new line

Описание

void newt_push_help_line ([ string $text ] )

Saves the current help line on a stack, and displays the new line.

Список параметров

text

New help text message

Замечание:

If not specified, the help line is cleared.

Возвращаемые значения

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

Смотрите также

  • newt_pop_help_line() - Replaces the current help line with the one from the stack

newt_pop_window
newt_radio_get_current
Newt Функции


newt_push_help_line
newt_radiobutton
Newt Функции
PHP Manual

newt_radio_get_current

(PECL newt >= 0.1)

newt_radio_get_current —

Описание

resource newt_radio_get_current ( resource $set_member )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

set_member

Возвращаемые значения

newt_push_help_line
newt_radiobutton
Newt Функции


newt_radio_get_current
newt_redraw_help_line
Newt Функции
PHP Manual

newt_radiobutton

(PECL newt >= 0.1)

newt_radiobutton —

Описание

resource newt_radiobutton ( int $left , int $top , string $text , bool $is_default [, resource $prev_button ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

text

is_default

prev_button

Возвращаемые значения

newt_radio_get_current
newt_redraw_help_line
Newt Функции


newt_radiobutton
newt_reflow_text
Newt Функции
PHP Manual

newt_redraw_help_line

(PECL newt >= 0.1)

newt_redraw_help_line —

Описание

void newt_redraw_help_line ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

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

newt_radiobutton
newt_reflow_text
Newt Функции


newt_redraw_help_line
newt_refresh
Newt Функции
PHP Manual

newt_reflow_text

(PECL newt >= 0.1)

newt_reflow_text —

Описание

string newt_reflow_text ( string $text , int $width , int $flex_down , int $flex_up , int &$actual_width , int &$actual_height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

width

flex_down

flex_up

actual_width

actual_height

Возвращаемые значения

newt_redraw_help_line
newt_refresh
Newt Функции


Updates modified portions of the screen

newt_reflow_text
newt_resize_screen
Newt Функции
PHP Manual

newt_refresh

(PECL newt >= 0.1)

newt_refresh — Updates modified portions of the screen

Описание

void newt_refresh ( void )

To increase performance, newt only updates the display when it needs to, not when the program tells it to write to the terminal. Applications can force newt to immediately update modified portions of the screen by calling this function.

Возвращаемые значения

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

newt_reflow_text
newt_resize_screen
Newt Функции


newt_refresh
newt_resume
Newt Функции
PHP Manual

newt_resize_screen

(PECL newt >= 0.1)

newt_resize_screen —

Описание

void newt_resize_screen ([ bool $redraw ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

redraw

Возвращаемые значения

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

newt_refresh
newt_resume
Newt Функции


Resume using the newt interface after calling newt_suspend

newt_resize_screen
newt_run_form
Newt Функции
PHP Manual

newt_resume

(PECL newt >= 0.1)

newt_resume — Resume using the newt interface after calling newt_suspend()

Описание

void newt_resume ( void )

Resume using the newt interface after calling newt_suspend().

Возвращаемые значения

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

Смотрите также

  • newt_suspend() - Tells newt to return the terminal to its initial state

newt_resize_screen
newt_run_form
Newt Функции


Runs a form

newt_resume
newt_scale_set
Newt Функции
PHP Manual

newt_run_form

(PECL newt >= 0.1)

newt_run_form — Runs a form

Описание

resource newt_run_form ( resource $form )

This function runs the form passed to it.

Список параметров

form

Form component

Возвращаемые значения

The component which caused the form to stop running.

Замечание:

Notice that this function doesn't fit in with newt's normal naming convention. It is an older interface which will not work for all forms. It was left in newt only for legacy applications. It is a simpler interface than the new newt_form_run() though, and is still used quite often as a result. When an application is done with a form, it destroys the form and all of the components the form contains.

Смотрите также

  • newt_form_run() - Runs a form
  • newt_form_destroy() - Destroys a form

newt_resume
newt_scale_set
Newt Функции


newt_run_form
newt_scale
Newt Функции
PHP Manual

newt_scale_set

(PECL newt >= 0.1)

newt_scale_set —

Описание

void newt_scale_set ( resource $scale , int $amount )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scale

amount

Возвращаемые значения

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

newt_run_form
newt_scale
Newt Функции


newt_scale_set
newt_scrollbar_set
Newt Функции
PHP Manual

newt_scale

(PECL newt >= 0.1)

newt_scale —

Описание

resource newt_scale ( int $left , int $top , int $width , int $full_value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

width

full_value

Возвращаемые значения

newt_scale_set
newt_scrollbar_set
Newt Функции


newt_scale
newt_set_help_callback
Newt Функции
PHP Manual

newt_scrollbar_set

(PECL newt >= 0.1)

newt_scrollbar_set —

Описание

void newt_scrollbar_set ( resource $scrollbar , int $where , int $total )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scrollbar

where

total

Возвращаемые значения

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

newt_scale
newt_set_help_callback
Newt Функции


newt_scrollbar_set
newt_set_suspend_callback
Newt Функции
PHP Manual

newt_set_help_callback

(PECL newt >= 0.1)

newt_set_help_callback —

Описание

void newt_set_help_callback ( mixed $function )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

function

Возвращаемые значения

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

newt_scrollbar_set
newt_set_suspend_callback
Newt Функции


Set a callback function which gets invoked when user presses the suspend key

newt_set_help_callback
newt_suspend
Newt Функции
PHP Manual

newt_set_suspend_callback

(PECL newt >= 0.1)

newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key

Описание

void newt_set_suspend_callback ( callback $function , mixed $data )

Set a callback function which gets invoked when user presses the suspend key (normally ^Z). If no suspend callback is registered, the suspend keystroke is ignored.

Список параметров

function

A callback function, which accepts one argument: data

data

This data is been passed to the callback function

Возвращаемые значения

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

Смотрите также

  • newt_suspend() - Tells newt to return the terminal to its initial state
  • newt_resume() - Resume using the newt interface after calling newt_suspend

newt_set_help_callback
newt_suspend
Newt Функции


Tells newt to return the terminal to its initial state

newt_set_suspend_callback
newt_textbox_get_num_lines
Newt Функции
PHP Manual

newt_suspend

(PECL newt >= 0.1)

newt_suspend — Tells newt to return the terminal to its initial state

Описание

void newt_suspend ( void )

Tells newt to return the terminal to its initial state. Once this is done, the application can suspend itself (by sending itself a SIGTSTP, fork a child program, or do whatever else it likes).

Возвращаемые значения

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

Смотрите также

  • newt_resume() - Resume using the newt interface after calling newt_suspend

newt_set_suspend_callback
newt_textbox_get_num_lines
Newt Функции


newt_suspend
newt_textbox_reflowed
Newt Функции
PHP Manual

newt_textbox_get_num_lines

(PECL newt >= 0.1)

newt_textbox_get_num_lines —

Описание

int newt_textbox_get_num_lines ( resource $textbox )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

textbox

Возвращаемые значения

newt_suspend
newt_textbox_reflowed
Newt Функции


newt_textbox_get_num_lines
newt_textbox_set_height
Newt Функции
PHP Manual

newt_textbox_reflowed

(PECL newt >= 0.1)

newt_textbox_reflowed —

Описание

resource newt_textbox_reflowed ( int $left , int $top , char $*text , int $width , int $flex_down , int $flex_up [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

*text

width

flex_down

flex_up

flags

Возвращаемые значения

newt_textbox_get_num_lines
newt_textbox_set_height
Newt Функции


newt_textbox_reflowed
newt_textbox_set_text
Newt Функции
PHP Manual

newt_textbox_set_height

(PECL newt >= 0.1)

newt_textbox_set_height —

Описание

void newt_textbox_set_height ( resource $textbox , int $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

textbox

height

Возвращаемые значения

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

newt_textbox_reflowed
newt_textbox_set_text
Newt Функции


newt_textbox_set_height
newt_textbox
Newt Функции
PHP Manual

newt_textbox_set_text

(PECL newt >= 0.1)

newt_textbox_set_text —

Описание

void newt_textbox_set_text ( resource $textbox , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

textbox

text

Возвращаемые значения

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

newt_textbox_set_height
newt_textbox
Newt Функции


newt_textbox_set_text
newt_vertical_scrollbar
Newt Функции
PHP Manual

newt_textbox

(PECL newt >= 0.1)

newt_textbox —

Описание

resource newt_textbox ( int $left , int $top , int $width , int $height [, int $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

width

height

flags

Возвращаемые значения

newt_textbox_set_text
newt_vertical_scrollbar
Newt Функции


newt_textbox
newt_wait_for_key
Newt Функции
PHP Manual

newt_vertical_scrollbar

(PECL newt >= 0.1)

newt_vertical_scrollbar —

Описание

resource newt_vertical_scrollbar ( int $left , int $top , int $height [, int $normal_colorset [, int $thumb_colorset ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

left

top

height

normal_colorset

thumb_colorset

Возвращаемые значения

newt_textbox
newt_wait_for_key
Newt Функции


Doesn't return until a key has been pressed

newt_vertical_scrollbar
newt_win_choice
Newt Функции
PHP Manual

newt_wait_for_key

(PECL newt >= 0.1)

newt_wait_for_key — Doesn't return until a key has been pressed

Описание

void newt_wait_for_key ( void )

This function doesn't return until a key has been pressed. The keystroke is then ignored. If a key is already in the terminal's buffer, this function discards a keystroke and returns immediately.

Возвращаемые значения

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

Смотрите также

  • newt_clear_key_buffer() - Discards the contents of the terminal's input buffer without waiting for additional input

newt_vertical_scrollbar
newt_win_choice
Newt Функции


newt_wait_for_key
newt_win_entries
Newt Функции
PHP Manual

newt_win_choice

(PECL newt >= 0.1)

newt_win_choice —

Описание

int newt_win_choice ( string $title , string $button1_text , string $button2_text , string $format [, mixed $args [, mixed $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

button1_text

button2_text

format

args

Возвращаемые значения

newt_wait_for_key
newt_win_entries
Newt Функции


newt_win_choice
newt_win_menu
Newt Функции
PHP Manual

newt_win_entries

(PECL newt >= 0.1)

newt_win_entries —

Описание

int newt_win_entries ( string $title , string $text , int $suggested_width , int $flex_down , int $flex_up , int $data_width , array &$items , string $button1 [, string $... ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

text

suggested_width

flex_down

flex_up

data_width

items

button1

button2

Возвращаемые значения

Примеры

Пример #1 A newt_win_entries() example

<?php

newt_init();
newt_cls();

$entries[] = array('text' => 'First name:', 'value' => &$f_name);
$entries[] = array('text' => 'Last name:',  'value' => &$l_name);

$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, 7, 30, $entries, "Ok", "Back");
newt_finished ();

if ($rc != 2) {
    echo "Your name is: $f_name $l_name\n";
}
?>

newt_win_choice
newt_win_menu
Newt Функции


newt_win_entries
newt_win_message
Newt Функции
PHP Manual

newt_win_menu

(PECL newt >= 0.1)

newt_win_menu —

Описание

int newt_win_menu ( string $title , string $text , int $suggestedWidth , int $flexDown , int $flexUp , int $maxListHeight , array $items , int &$listItem [, string $button1 [, string $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

text

suggestedWidth

flexDown

flexUp

maxListHeight

items

listItem

button1

Возвращаемые значения

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

newt_win_entries
newt_win_message
Newt Функции


newt_win_menu
newt_win_messagev
Newt Функции
PHP Manual

newt_win_message

(PECL newt >= 0.1)

newt_win_message —

Описание

void newt_win_message ( string $title , string $button_text , string $format [, mixed $args [, mixed $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

button_text

format

args

Возвращаемые значения

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

newt_win_menu
newt_win_messagev
Newt Функции


newt_win_message
newt_win_ternary
Newt Функции
PHP Manual

newt_win_messagev

(PECL newt >= 0.1)

newt_win_messagev —

Описание

void newt_win_messagev ( string $title , string $button_text , string $format , array $args )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

button_text

format

args

Возвращаемые значения

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

newt_win_message
newt_win_ternary
Newt Функции


newt_win_messagev
Readline
Newt Функции
PHP Manual

newt_win_ternary

(PECL newt >= 0.1)

newt_win_ternary —

Описание

int newt_win_ternary ( string $title , string $button1_text , string $button2_text , string $button3_text , string $format [, mixed $args [, mixed $... ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

title

Its description

button1_text

Its description

button2_text

Its description

button3_text

Its description

format

Its description

args

Its description

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

newt_win_messagev
Readline
Newt Функции


GNU Readline

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Readline Функции
    • readline_add_history — Adds a line to the history
    • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history — Clears the history
    • readline_completion_function — Registers a completion function
    • readline_info — Gets/sets various internal readline variables
    • readline_list_history — Lists the history
    • readline_on_new_line — Inform readline that the cursor has moved to a new line
    • readline_read_history — Reads the history
    • readline_redisplay — Redraws the display
    • readline_write_history — Writes the history
    • readline — Reads a line
newt_win_ternary
Введение
Расширения для работы с командной строкой


Введение

The readline functions implement an interface to the GNU Readline library. These are functions that provide editable command lines. An example being the way Bash allows you to use the arrow keys to insert characters or scroll through command history. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts used from a command line.

Замечание: Для Windows-платформ это расширение недоступно.

Readline
Установка и настройка
Readline


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Readline


Требования

To use the readline functions, you need to install libreadline. You can find libreadline on the home page of the GNU Readline project, at » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. It's maintained by Chet Ramey, who's also the author of Bash.

You can also use these functions with the libedit library, a non-GPL replacement for the readline library. The libedit library is BSD licensed and available for download from » http://www.thrysoee.dk/editline/.

Установка и настройка
Установка
Установка и настройка


Установка

To use these functions you must compile the CGI or CLI version of PHP with readline support. You need to configure PHP --with-readline[=DIR] . If you want to use the libedit readline replacement, configure PHP --with-libedit[=DIR] .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Readline Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
cli.pager | "" | PHP_INI_ALL | Available since PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Available since PHP 5.4.0.

Краткое разъяснение конфигурационных директив.

cli.pager string

External tool to display output from command line.

cli.prompt string

Command line prompt.

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Readline Функции
Readline


Readline Функции

Содержание

  • readline_add_history — Adds a line to the history
  • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
  • readline_clear_history — Clears the history
  • readline_completion_function — Registers a completion function
  • readline_info — Gets/sets various internal readline variables
  • readline_list_history — Lists the history
  • readline_on_new_line — Inform readline that the cursor has moved to a new line
  • readline_read_history — Reads the history
  • readline_redisplay — Redraws the display
  • readline_write_history — Writes the history
  • readline — Reads a line
Предопределенные константы
readline_add_history
Readline


Adds a line to the history

Readline Функции
readline_callback_handler_install
Readline Функции
PHP Manual

readline_add_history

(PHP 4, PHP 5)

readline_add_history — Adds a line to the history

Описание

bool readline_add_history ( string $line )

This function adds a line to the command line history.

Список параметров

line

The line to be added in the history.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Readline Функции
readline_callback_handler_install
Readline Функции


Initializes the readline callback interface and terminal, prints the prompt and returns immediately

readline_add_history
readline_callback_handler_remove
Readline Функции
PHP Manual

readline_callback_handler_install

(PHP 5 >= 5.1.0)

readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately

Описание

bool readline_callback_handler_install ( string $prompt , callback $callback )

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

Список параметров

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Readline Callback Interface Example

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // read a character, will call the callback when a newline is entered
        readline_callback_read_char();
    }
}

echo "Prompting disabled. All done.\n";
?>

Смотрите также

  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received
  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec

readline_add_history
readline_callback_handler_remove
Readline Функции


Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_install
readline_callback_read_char
Readline Функции
PHP Manual

readline_callback_handler_remove

(PHP 5 >= 5.1.0)

readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings

Описание

bool readline_callback_handler_remove ( void )

Removes a previously installed callback handler and restores terminal settings.

Возвращаемые значения

Returns TRUE if a previously installed callback handler was removed, or FALSE if one could not be found.

Примеры

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Смотрите также

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received

readline_callback_handler_install
readline_callback_read_char
Readline Функции


Reads a character and informs the readline callback interface when a line is received

readline_callback_handler_remove
readline_clear_history
Readline Функции
PHP Manual

readline_callback_read_char

(PHP 5 >= 5.1.0)

readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received

Описание

void readline_callback_read_char ( void )

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

Возвращаемые значения

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

Примеры

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Смотрите также

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_remove
readline_clear_history
Readline Функции


Clears the history

readline_callback_read_char
readline_completion_function
Readline Функции
PHP Manual

readline_clear_history

(PHP 4, PHP 5)

readline_clear_history — Clears the history

Описание

bool readline_clear_history ( void )

This function clears the entire command line history.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

readline_callback_read_char
readline_completion_function
Readline Функции


Registers a completion function

readline_clear_history
readline_info
Readline Функции
PHP Manual

readline_completion_function

(PHP 4, PHP 5)

readline_completion_function — Registers a completion function

Описание

bool readline_completion_function ( callback $function )

This function registers a completion function. This is the same kind of functionality you'd get if you hit your tab key while using Bash.

Список параметров

function

You must supply the name of an existing function which accepts a partial command line and returns an array of possible matches.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

readline_clear_history
readline_info
Readline Функции


Gets/sets various internal readline variables

readline_completion_function
readline_list_history
Readline Функции
PHP Manual

readline_info

(PHP 4, PHP 5)

readline_info — Gets/sets various internal readline variables

Описание

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

Gets or sets various internal readline variables.

Список параметров

varname

A variable name.

newvalue

If provided, this will be the new value of the setting.

Возвращаемые значения

If called with no parameters, this function returns an array of values for all the setting readline uses. The elements will be indexed by the following values: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, and terminal_name.

If called with one or two parameters, the old value is returned.

readline_completion_function
readline_list_history
Readline Функции


Lists the history

readline_info
readline_on_new_line
Readline Функции
PHP Manual

readline_list_history

(PHP 4, PHP 5)

readline_list_history — Lists the history

Описание

array readline_list_history ( void )

Gets the entire command line history.

Возвращаемые значения

Returns an array of the entire command line history. The elements are indexed by integers starting at zero.

readline_info
readline_on_new_line
Readline Функции


Inform readline that the cursor has moved to a new line

readline_list_history
readline_read_history
Readline Функции
PHP Manual

readline_on_new_line

(PHP 5 >= 5.1.0)

readline_on_new_line — Inform readline that the cursor has moved to a new line

Описание

void readline_on_new_line ( void )

Tells readline that the cursor has moved to a new line.

Возвращаемые значения

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

readline_list_history
readline_read_history
Readline Функции


Reads the history

readline_on_new_line
readline_redisplay
Readline Функции
PHP Manual

readline_read_history

(PHP 4, PHP 5)

readline_read_history — Reads the history

Описание

bool readline_read_history ([ string $filename ] )

This function reads a command history from a file.

Список параметров

filename

Path to the filename containing the command history.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

readline_on_new_line
readline_redisplay
Readline Функции


Redraws the display

readline_read_history
readline_write_history
Readline Функции
PHP Manual

readline_redisplay

(PHP 5 >= 5.1.0)

readline_redisplay — Redraws the display

Описание

void readline_redisplay ( void )

Redraws readline to redraw the display.

Возвращаемые значения

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

readline_read_history
readline_write_history
Readline Функции


Writes the history

readline_redisplay
readline
Readline Функции
PHP Manual

readline_write_history

(PHP 4, PHP 5)

readline_write_history — Writes the history

Описание

bool readline_write_history ([ string $filename ] )

This function writes the command history to a file.

Список параметров

filename

Path to the saved file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

readline_redisplay
readline
Readline Функции


Reads a line

readline_write_history
Расширения сжатия и архивации
Readline Функции
PHP Manual

readline

(PHP 4, PHP 5)

readline — Reads a line

Описание

string readline ([ string $prompt ] )

Reads a single line from the user. You must add this line to the history yourself using readline_add_history().

Список параметров

prompt

You may specify a string with which to prompt the user.

Возвращаемые значения

Returns a single string from the user. The line returned has the ending newline removed.

Примеры

Пример #1 readline() Example

<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

//dump history
print_r(readline_list_history());

//dump variables
print_r(readline_info());
?>

readline_write_history
Расширения сжатия и архивации
Readline Функции


Расширения сжатия и архивации

  • Bzip2
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Bzip2
  • LZF
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • LZF Функции
  • Phar
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Using Phar Archives
    • Creating Phar Archives
    • What makes a phar a phar and not a tar or a zip?
    • Phar — The Phar class
    • PharData — The PharData class
    • PharFileInfo — The PharFileInfo class
    • PharException — The PharException class
  • Rar — Архивирование Rar
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Rar
    • RarArchive — Класс RarArchive
    • RarEntry — The RarEntry class
    • RarException — Класс RarException
  • Zip
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • ZipArchive — Класс ZipArchive
    • Zip Функции
  • Zlib
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Zlib;
readline
Bzip2
Справочник функций


Bzip2

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Bzip2
    • bzclose — Закрывает файл bzip2
    • bzcompress — Сжимает строку с использованием bzip2
    • bzdecompress — Распаковывает данные, сжатые с использованием bzip2
    • bzerrno — Возвращает код ошибки работы с bzip2
    • bzerror — Возвращает код и строку ошибки работы с bzip2 в виде массива
    • bzerrstr — Возвращает строку ошибки работы с bzip2
    • bzflush — Форсирует запись всех буферизированных данных
    • bzopen — Открывает файл, сжатый с использованием bzip2
    • bzread — Бинарно-безопасное чтение файла bzip2
    • bzwrite — Бинарно-безопасная запись bzip2 файла
Расширения сжатия и архивации
Введение
Расширения сжатия и архивации


Введение

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

Bzip2
Установка и настройка
Bzip2


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Bzip2


Требования

Расширение использует функции библиотеки » bzip2 (автор: Julian Seward) и требует bzip2/libbzip2 версий >= 1.0.x.

Установка и настройка
Установка
Установка и настройка


Установка

Поддержка Bzip2 в PHP не включена по умолчанию, для её включения вам следует скомпилировать PHP с указанием директивы --with-bz2[=DIR] .

Требования
Настройка во время выполнения
Установка и настройка


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

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

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
Примеры
Bzip2


Примеры

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

Пример #1 Пример работы с bzip2

<?php

$filename = "/tmp/testfile.bz2";
$str = "This is a test string.\n";

// открываем файл для записи
$bz = bzopen($filename, "w");

// пишем строку в файл
bzwrite($bz, $str);

// закрываем файл
bzclose($bz);

// открываем файл для чтения
$bz = bzopen($filename, "r");

// читаем 10 символов
echo bzread($bz, 10);

// выводим всё, до конца файла (или следующие 1024 символа) и закрываем его.
echo bzread($bz);

bzclose($bz);

?>
Предопределенные константы
Bzip2
Bzip2


Bzip2
PHP Manual

Bzip2

Содержание

  • bzclose — Закрывает файл bzip2
  • bzcompress — Сжимает строку с использованием bzip2
  • bzdecompress — Распаковывает данные, сжатые с использованием bzip2
  • bzerrno — Возвращает код ошибки работы с bzip2
  • bzerror — Возвращает код и строку ошибки работы с bzip2 в виде массива
  • bzerrstr — Возвращает строку ошибки работы с bzip2
  • bzflush — Форсирует запись всех буферизированных данных
  • bzopen — Открывает файл, сжатый с использованием bzip2
  • bzread — Бинарно-безопасное чтение файла bzip2
  • bzwrite — Бинарно-безопасная запись bzip2 файла
Примеры
bzclose
Bzip2
PHP Manual


Закрывает файл bzip2

Bzip2
bzcompress
Bzip2
PHP Manual

bzclose

(PHP 4 >= 4.0.4, PHP 5)

bzclose — Закрывает файл bzip2

Описание

int bzclose ( resource $bz )

Закрывает переданный указатель на файл bzip2.

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • bzopen() - Открывает файл, сжатый с использованием bzip2

Bzip2
bzcompress
Bzip2


Сжимает строку с использованием bzip2

bzclose
bzdecompress
Bzip2
PHP Manual

bzcompress

(PHP 4 >= 4.0.4, PHP 5)

bzcompress — Сжимает строку с использованием bzip2

Описание

mixed bzcompress ( string $source [, int $blocksize = 4 [, int $workfactor = 0 ]] )

bzcompress() сжимает переданную строку и возвращает ее в виде закодированных данных bzip2.

Список параметров

source

Сжимаемая строка.

blocksize

Определяет размера блока, используемый при сжатии, должен быть числом в диапазоне от 1 до 9, где 9 даст наилучшее, но более ресурсоемкое сжатие.

workfactor

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

Генерируемый результат не зависит от параметра workfactor и является одним и тем же.

Возвращаемые значения

Сжатая строка или код ошибки в случае неудачного завершения работы.

Примеры

Пример #1 Сжатие данных

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Смотрите также

  • bzdecompress() - Распаковывает данные, сжатые с использованием bzip2

bzclose
bzdecompress
Bzip2


Распаковывает данные, сжатые с использованием bzip2

bzcompress
bzerrno
Bzip2
PHP Manual

bzdecompress

(PHP 4 >= 4.0.4, PHP 5)

bzdecompress — Распаковывает данные, сжатые с использованием bzip2

Описание

mixed bzdecompress ( string $source [, int $small = 0 ] )

bzdecompress() распаковывает переданную строку, содержащую сжатые bzip2 данные.

Список параметров

source

Распаковываемая строка.

small

Если TRUE, то будет использован альтернативный алгоритм распаковки, использующий меньше памяти (максимально требуемая память находится в районе 2300K), но работает приблизительно вдвое медленее.

Смотрите » документацию по bzip2 для более подробной информации об этой возможности.

Возвращаемые значения

Распакованная строка или код ошибки в случае неудачного завершения работы.

Примеры

Пример #1 Распаковка строки

<?php
$start_str = "This is not an honest face?";
$bzstr = bzcompress($start_str);

echo "Compressed String: ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "Decompressed String: ";
echo $str;
echo "\n<br />\n";
?>

Смотрите также

  • bzcompress() - Сжимает строку с использованием bzip2

bzcompress
bzerrno
Bzip2


Возвращает код ошибки работы с bzip2

bzdecompress
bzerror
Bzip2
PHP Manual

bzerrno

(PHP 4 >= 4.0.4, PHP 5)

bzerrno — Возвращает код ошибки работы с bzip2

Описание

int bzerrno ( resource $bz )

Возвращает код любой bzip2 ошибки, произошедшей с переданным указателем на файл.

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешный открытый bzopen().

Возвращаемые значения

Возвращает код ошибки в виде integer.

Смотрите также

  • bzerror() - Возвращает код и строку ошибки работы с bzip2 в виде массива
  • bzerrstr() - Возвращает строку ошибки работы с bzip2

bzdecompress
bzerror
Bzip2


Возвращает код и строку ошибки работы с bzip2 в виде массива

bzerrno
bzerrstr
Bzip2
PHP Manual

bzerror

(PHP 4 >= 4.0.4, PHP 5)

bzerror — Возвращает код и строку ошибки работы с bzip2 в виде массива

Описание

array bzerror ( resource $bz )

Возвращает ассоциативный массив с кодом и строкой ошибки, произошедшей с переданным файловым указателем.

Список параметров

bz

Файловый указатель. Должен быть корректным и указывать на файл, успешно открытый bzopen().

Возвращаемые значения

Возвращает ассоциативный массив с кодом ошибки с ключом errno, и строкой ошибки с ключом errstr.

Примеры

Пример #1 Пример использования bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Смотрите также

  • bzerrno() - Возвращает код ошибки работы с bzip2
  • bzerrstr() - Возвращает строку ошибки работы с bzip2

bzerrno
bzerrstr
Bzip2


Возвращает строку ошибки работы с bzip2

bzerror
bzflush
Bzip2
PHP Manual

bzerrstr

(PHP 4 >= 4.0.4, PHP 5)

bzerrstr — Возвращает строку ошибки работы с bzip2

Описание

string bzerrstr ( resource $bz )

Возвращает строку с ошибкой bzip2, произошедшей с переданным указателем на файл.

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen().

Возвращаемые значения

Возвращает строку, содержащую сообщение об ошибке.

Смотрите также

  • bzerrno() - Возвращает код ошибки работы с bzip2
  • bzerror() - Возвращает код и строку ошибки работы с bzip2 в виде массива

bzerror
bzflush
Bzip2


Форсирует запись всех буферизированных данных

bzerrstr
bzopen
Bzip2
PHP Manual

bzflush

(PHP 4 >= 4.0.4, PHP 5)

bzflush — Форсирует запись всех буферизированных данных

Описание

int bzflush ( resource $bz )

Форсирует запись всех буферизированных bzip2 данных в файл, на который ссылается указатель bz.

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • bzread() - Бинарно-безопасное чтение файла bzip2
  • bzwrite() - Бинарно-безопасная запись bzip2 файла

bzerrstr
bzopen
Bzip2


Открывает файл, сжатый с использованием bzip2

bzflush
bzread
Bzip2
PHP Manual

bzopen

(PHP 4 >= 4.0.4, PHP 5)

bzopen — Открывает файл, сжатый с использованием bzip2

Описание

resource bzopen ( string $filename , string $mode )

bzopen() открывает bzip2 (.bz2) файл для чтения и записи.

Список параметров

filename

Имя открываемого файла.

mode

Аналогично функции fopen(), поддерживаются только 'r' (чтение) и 'w' (запись). Все остальное заставит bzopen вернуть FALSE.

Возвращаемые значения

Если открытие не удалось, bzopen() возвращает FALSE, иначе возвращается указатель на открытый файл.

Примеры

Пример #1 Пример использования bzopen()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Couldn't open $file for reading");

bzclose($bz);

?>

Смотрите также

  • bzclose() - Закрывает файл bzip2

bzflush
bzread
Bzip2


Бинарно-безопасное чтение файла bzip2

bzopen
bzwrite
Bzip2
PHP Manual

bzread

(PHP 4 >= 4.0.4, PHP 5)

bzread — Бинарно-безопасное чтение файла bzip2

Описание

string bzread ( resource $bz [, int $length = 1024 ] )

bzread() читает из переданного bzip2 файлового указателя.

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

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen().

length

Если не указан, bzread() будет считывать 1024 (несжатых) байта за один раз. За один раз может быть считано максимум 8192 байта.

Возвращаемые значения

Возвращает распакованные данные либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования bzread()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Невозможно открыть $file");

$decompressed_file = '';
while (!feof($bz)) {
  $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "Содержимое $file: <br />\n";
echo $decompressed_file;

?>

Смотрите также

  • bzwrite() - Бинарно-безопасная запись bzip2 файла
  • feof() - Проверяет, достигнут ли конец файла
  • bzopen() - Открывает файл, сжатый с использованием bzip2

bzopen
bzwrite
Bzip2


Бинарно-безопасная запись bzip2 файла

bzread
LZF
Bzip2
PHP Manual

bzwrite

(PHP 4 >= 4.0.4, PHP 5)

bzwrite — Бинарно-безопасная запись bzip2 файла

Описание

int bzwrite ( resource $bz , string $data [, int $length ] )

bzwrite() записывает строку в переданный bzip2 файловый поток.

Список параметров

bz

Указатель на файл. Должен быть корректным и указывать на файл, успешно открытый bzopen().

data

Записываемые данные.

length

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

Возвращаемые значения

Возвращает количество записанных байт или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования bzwrite()

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Смотрите также

  • bzread() - Бинарно-безопасное чтение файла bzip2
  • bzopen() - Открывает файл, сжатый с использованием bzip2

bzread
LZF
Bzip2


LZF

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • LZF Функции
    • lzf_compress — LZF compression
    • lzf_decompress — LZF decompression
    • lzf_optimized_for — Determines what LZF extension was optimized for
bzwrite
Введение
Расширения сжатия и архивации


Введение

LZF is a very fast compression algorithm, ideal for saving space with only slight speed cost. It can be optimized for speed or space at the time of compilation. This extension is using » liblzf library by Marc Lehmann for its operations.

LZF
Установка и настройка
LZF


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
LZF


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/lzf.

In order to use these functions you must compile PHP with lzf support by using the --with-lzf[=DIR] configure option. You may also pass --enable-lzf-better-compression to optimize LZF for space rather than speed.

Windows users will enable php_lzf.dll inside of php.ini in order to use these functions. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
LZF Функции
LZF


LZF Функции

Содержание

  • lzf_compress — LZF compression
  • lzf_decompress — LZF decompression
  • lzf_optimized_for — Determines what LZF extension was optimized for
Предопределенные константы
lzf_compress
LZF


LZF compression

LZF Функции
lzf_decompress
LZF Функции
PHP Manual

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — LZF compression

Описание

string lzf_compress ( string $data )

lzf_compress() compresses the given data string using LZF encoding.

Список параметров

data

The string to compress.

Возвращаемые значения

Returns the compressed data or FALSE if an error occurred.

Смотрите также

  • lzf_decompress() - LZF decompression

LZF Функции
lzf_decompress
LZF Функции


LZF decompression

lzf_compress
lzf_optimized_for
LZF Функции
PHP Manual

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — LZF decompression

Описание

string lzf_decompress ( string $data )

lzf_compress() decompresses the given data string containing lzf encoded data.

Список параметров

data

The compressed string.

Возвращаемые значения

Returns the decompressed data or FALSE if an error occurred.

Смотрите также

  • lzf_compress() - LZF compression

lzf_compress
lzf_optimized_for
LZF Функции


Determines what LZF extension was optimized for

lzf_decompress
Phar
LZF Функции
PHP Manual

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — Determines what LZF extension was optimized for

Описание

int lzf_optimized_for ( void )

Determines what was LZF extension optimized for during compilation.

Возвращаемые значения

Returns 1 if LZF was optimized for speed, 0 for compression.

lzf_decompress
Phar
LZF Функции


Phar

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Using Phar Archives
    • Using Phar Archives: Introduction
    • Using Phar Archives: the phar stream wrapper
    • Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives
    • Creating Phar Archives: Introduction
  • What makes a phar a phar and not a tar or a zip?
    • Ingredients of all Phar archives, independent of file format
    • Phar file stub
    • Head-to-head comparison of Phar, Tar and Zip
    • Tar-based phars
    • Zip-based phars
    • Phar File Format
    • Global Phar bitmapped flags
    • Phar manifest file entry definition
    • Phar Signature format
  • Phar — The Phar class
    • Phar::addEmptyDir — Add an empty directory to the phar archive
    • Phar::addFile — Add a file from the filesystem to the phar archive
    • Phar::addFromString — Add a file from the filesystem to the phar archive
    • Phar::apiVersion — Returns the api version
    • Phar::buildFromDirectory — Construct a phar archive from the files within a directory.
    • Phar::buildFromIterator — Construct a phar archive from an iterator.
    • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite — Returns whether phar extension supports writing and creating phars
    • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression
    • Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression
    • Phar::compressFiles — Compresses all files in the current Phar archive
    • Phar::__construct — Construct a Phar archive object
    • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
    • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
    • Phar::count — Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub — Create a phar-file format specific stub
    • Phar::decompress — Decompresses the entire Phar archive
    • Phar::decompressFiles — Decompresses all files in the current Phar archive
    • Phar::delMetadata — Deletes the global metadata of the phar
    • Phar::delete — Delete a file within a phar archive
    • Phar::extractTo — Extract the contents of a phar archive to a directory
    • Phar::getMetaData — Returns phar archive meta-data
    • Phar::getModified — Return whether phar was modified
    • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression — Return array of supported compression algorithms
    • Phar::getSupportedSignatures — Return array of supported signature types
    • Phar::getVersion — Return version info of Phar archive
    • Phar::hasMetaData — Returns whether phar has global meta-data
    • Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
    • Phar::isWritable — Returns true if the phar archive can be modified
    • Phar::loadPhar — Loads any phar archive with an alias
    • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount — Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists — determines whether a file exists in the phar
    • Phar::offsetGet — Gets a PharFileInfo object for a specific file
    • Phar::offsetSet — set the contents of an internal file to those of an external file
    • Phar::offsetUnset — remove a file from a phar
    • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias — Set the alias for the Phar archive
    • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
    • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive
    • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
    • Phar::webPhar — mapPhar for web-based phars. front controller for web applications
  • PharData — The PharData class
    • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
    • PharData::addFile — Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
    • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.
    • PharData::buildFromIterator — Construct a tar or zip archive from an iterator.
    • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles — Compresses all files in the current tar/zip archive
    • PharData::__construct — Construct a non-executable tar or zip archive object
    • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress — Decompresses the entire Phar archive
    • PharData::decompressFiles — Decompresses all files in the current zip archive
    • PharData::delMetadata — Deletes the global metadata of a zip archive
    • PharData::delete — Delete a file within a tar/zip archive
    • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable — Returns true if the tar/zip archive can be modified
    • PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset — remove a file from a tar/zip archive
    • PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it. The
    • PharData::setStub — dummy function (Phar::setStub is not valid for PharData)
  • PharFileInfo — The PharFileInfo class
    • PharFileInfo::chmod — Sets file-specific permission bits
    • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::__construct — Construct a Phar entry object
    • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata — Deletes the metadata of the entry
    • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getMetaData — Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags — Returns the Phar file entry flags
    • PharFileInfo::hasMetadata — Returns the metadata of the entry
    • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
    • PharFileInfo::isCompressed — Returns whether the entry is compressed
    • PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2
    • PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz
    • PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression
    • PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression
    • PharFileInfo::setMetaData — Sets file-specific meta-data saved with a file
    • PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed
  • PharException — The PharException class
    • PharException — The PharException class provides a phar-specific exception class for try/catch blocks.
lzf_optimized_for
Введение
Расширения сжатия и архивации


Введение

The phar extension provides a way to put entire PHP applications into a single file called a "phar" (PHP Archive) for easy distribution and installation. In addition to providing this service, the phar extension also provides a file-format abstraction method for creating and manipulating tar and zip files through the PharData class, much as PDO provides a unified interface for accessing different databases. Unlike PDO, which cannot convert between different databases, Phar also can convert between tar, zip and phar file formats with a single line of code. see Phar::convertToExecutable() for one example.

What is phar? Phar archives are best characterized as a convenient way to group several files into a single file. As such, a phar archive provides a way to distribute a complete PHP application in a single file and run it from that file without the need to extract it to disk. Additionally, phar archives can be executed by PHP as easily as any other file, both on the commandline and from a web server. Phar is kind of like a thumb drive for PHP applications.

Phar implements this functionality through a Stream Wrapper. Normally, to use an external file within a PHP script, you would use include()

Пример #1 Using an external file

<?php
 include '/path/to/external/file.php';
 ?>

PHP can be thought of as actually translating /path/to/external/file.php into a stream wrapper as file:///path/to/external/file.php, and under the hood it does in fact use the plain file stream wrapper stream functions to access all local files.

To use a file named file.php contained with a phar archive /path/to/myphar.phar, the syntax is very similar to the file:// syntax above.

Пример #2 Using a file within a phar archive

<?php
 include 'phar:///path/to/myphar.phar/file.php';
 ?>

In fact, one can treat a phar archive exactly as if it were an external disk, using any of fopen()-related functions, opendir() and mkdir()-related functions to read, change, or create new files and directories within the phar archive. This allows complete PHP applications to be distributed in a single file and run directly from that file.

The most common usage for a phar archive is to distribute a complete application in a single file. For instance, the PEAR Installer that is bundled with PHP versions is distributed as a phar archive. To use a phar archive distributed in this way, the archive can be executed on the command-line or via a web server.

Phar archives can be distributed as tar archives, zip archives, or as the custom phar file format designed specifically for the phar extension. Each file format has advantages and disadvantages. The tar and zip file formats can be read or extracted by any third-party tool that can read the format, but require the phar extension in order to run with PHP. The phar file format is customized and unique to the phar extension, and can only be created by the phar extension or the PEAR package » PHP_Archive, but has the advantage that applications created in this format will run even if the phar extension is not enabled.

In other words, even with the phar extension disabled, one can execute or include a phar-based archive. Accessing individual files within a phar archive is only possible with the phar extension unless the phar archive was created by PHP_Archive.

The phar extension is also capable of converting a phar archive from tar to zip or to phar file format in a single command:

Пример #3 Converting a phar archive from phar to tar file format

<?php
 $phar = new Phar('myphar.phar');
 $pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // makes myphar.phar.tar.gz
 ?>

Phar can compress individual files or an entire archive using gzip compression or bzip2 compression, and can verify archive integrity automatically through the use of md5(), sha1(), sha256(), or sha512() signatures.

Lastly, the Phar extension is security-conscious, and disables write access to executable phar archives by default, and requires system-level disabling of the phar.readonly php.ini setting in order to create or modify phar archives. Normal tar and zip archives without an executable stub can always be created or modified using the PharData class.

If you are creating applications for distribution, you will want to read How to create Phar Archives. If you want more information on the differences between the three file formats that phar supports, you should read Phar, Tar and Zip.

If you are using phar applications, there are helpful tips in How to use Phar Archives

The word phar is a contraction of PHP and Archive and is based loosely on the jar (Java Archive) familiar to Java developers.

The implementation for Phar archives is based on the PEAR package » PHP_Archive, and the implementation details are similar, although the Phar extension is much more powerful. In addition, the Phar extension allows most PHP applications to be run unmodified while PHP_Archive-based phar archives often require extensive modification in order to work.

Phar
Установка и настройка
Phar


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Phar


Требования

Phar requires PHP 5.2.0 or newer. Additional features require the SPL extension in order to take advantage of iteration and array access to a Phar's file contents. The phar stream does not require any additional extensions to function.

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support. In addition, to take advantage of OpenSSL signing, the OpenSSL extension must be enabled.

Note that a bug in the zlib.deflate stream filter fixed in PHP version 5.2.6 and newer may cause truncation of gzip and bzip2-compressed phar archives.

Установка и настройка
Установка
Установка и настройка


Установка

Расширение Phar встроено в PHP начиная с версии 5.3.0. Для предыдущих версий PHP оно может быть установлено из репозитория PECL. Более детальные сведения и история версий доступны на » странице Phar в репозитории PECL.

Пользователям Windows необходимо подключить файл php_phar.dll в php.ini для использования расширения.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Filesystem and Streams Configuration Options
Name | Default | Changeable | Changelog
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.extract_list | "" | PHP_INI_ALL | Available from phar 1.1.0 to 1.2.3, removed in 2.0.0.
phar.cache_list | "" | PHP_INI_SYSTEM | Available from phar 2.0.0.

Краткое разъяснение конфигурационных директив.

phar.readonly boolean

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

Замечание:

This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash boolean

This option will force all opened Phar archives to contain some kind of signature (currently MD5, SHA1, SHA256 and SHA512 are supported), and will refuse to process any Phar archive that does not contain a signature.

Замечание:

This setting can only be unset in php.ini due to security reasons. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

This setting does not affect reading plain tar files with the PharData class.

phar.extract_list string

This INI setting has been removed as of phar 2.0.0

Allows mappings from a full path to a phar archive or its alias to the location of its extracted files. The format of the parameter is name=archive,name2=archive2. This allows extraction of phar files to disk, and allows phar to act as a kind of mapper to extracted disk files. This is often done for performance reasons, or to assist with debugging a phar.

Пример #1 phar.extract_list usage example

in php.ini:
phar.extract_list = archive=/full/path/to/archive/,arch2=/full/path/to/arch2
<?php
include "phar://archive/content.php";
include "phar://arch2/foo.php";
?>

phar.cache_list string

This INI setting was added in phar 2.0.0

Allows mapping phar archives to be pre-parsed at web server startup, providing a performance improvement that brings running files out of a phar archive very close to the speed of running those files from a traditional disk-based installation.

Пример #2 phar.cache_list usage example

in php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
in php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar

Установка
Типы ресурсов
Установка и настройка


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

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. See also the description of the Phar file format.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Phar compression constants
Constant | Value | Description
Phar::NONE (integer) | 0x00000000 | no compression
Phar::COMPRESSED (integer) | 0x0000F000 | bitmask that can be used with file flags to determine if any compression is present
Phar::GZ (integer) | 0x00001000 | zlib (gzip) compression
Phar::BZ2 (integer) | 0x00002000 | bzip2 compression
Phar file format constants
Constant | Value | Description
Phar::SAME (integer) | 0 | retain the same file format
Phar::PHAR (integer) | 1 | phar file format
Phar::TAR (integer) | 2 | tar file format
Phar::ZIP (integer) | 3 | zip file format
Phar signature constants
Constant | Value | Description
Phar::MD5 (integer) | 0x0001 | signature with md5 hash algorithm
Phar::SHA1 (integer) | 0x0002 | signature with sha1 hash algorithm
Phar::SHA256 (integer) | 0x0003 | signature with sha256 hash algorithm (requires hash extension)
Phar::SHA512 (integer) | 0x0004 | signature with sha512 hash algorithm (requires hash extension)
Phar::OPENSSL (integer) | 0x0010 | signature with OpenSSL public/private key pair. This is a true, asymmetric key signature.
Phar webPhar mime override constants
Constant | Value | Description
Phar::PHP (integer) | 1 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP file
Phar::PHPS (integer) | 2 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP source file through highlight_file()
Типы ресурсов
Using Phar Archives
Phar


Using Phar Archives

Содержание

  • Using Phar Archives: Introduction
  • Using Phar Archives: the phar stream wrapper
  • Using Phar Archives: the Phar and PharData class
Предопределенные константы
Using Phar Archives: Introduction
Phar


Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. A Phar archive application is used exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

The phar stream wrapper provides the core of the phar extension, and is explained in detail here. The phar stream wrapper allows accessing the files within a phar archive using PHP's standard file functions fopen(), opendir(), and others that work on regular files. The phar stream wrapper supports all read/write operations on both files and directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

The Phar class implements advanced functionality for accessing files and for creating phar archives. The Phar class is explained in detail here.

<?php
try {
    // open an existing phar
    $p = new Phar('coollibrary.phar', 0);
    // Phar extends SPL's DirectoryIterator class
    foreach (new RecursiveIteratorIterator($p) as $file) {
        // $file is a PharFileInfo class, and inherits from SplFileInfo
        echo $file->getFileName() . "\n";
        echo file_get_contents($file->getPathName()) . "\n"; // display contents;
    }
    if (isset($p['internal/file.php'])) {
        var_dump($p['internal/file.php']->getMetaData());
    }

    // create a new phar - phar.readonly must be 0 in php.ini
    // phar.readonly is enabled by default for security reasons.
    // On production servers, Phars need never be created,
    // only executed.
    if (Phar::canWrite()) {
        $p = new Phar('newphar.tar.phar', 0, 'newphar.tar.phar');
        // make this a tar-based phar archive, compressed with gzip compression (.tar.gz)
        $p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

        // create transaction - nothing is written to newphar.phar
        // until stopBuffering() is called, although temporary storage is needed
        $p->startBuffering();
        // add all files in /path/to/project, saving in the phar with the prefix "project"
        $p->buildFromIterator(new RecursiveIteratorIterator(new DirectoryIterator('/path/to/project')), '/path/to/');

        // add a new file via the array access API
        $p['file1.txt'] = 'Information';
        $fp = fopen('hugefile.dat', 'rb');
        // copy all data from the stream
        $p['data/hugefile.dat'] = $fp;

        if (Phar::canCompress(Phar::GZ)) {
            $p['data/hugefile.dat']->compress(Phar::GZ);
        }

        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // any value can be saved as file-specific meta-data
        $p['images/wow.jpg']->setMetaData(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetaData(array('bootstrap' => 'index.php'));

        // save the phar archive to disk
        $p->stopBuffering();
    }
} catch (Exception $e) {
    echo 'Could not open Phar: ', $e;
}
?>

In addition, verification of phar file contents can be done using any of the supported symmetric hash algorithms (MD5, SHA1, SHA256 and SHA512 if ext/hash is enabled) and using asymmetric public/private key signing using OpenSSL (new in Phar 2.0.0). To take advantage of OpenSSL signing, you need to generate a public/private key pair, and use the private key to set the signature using Phar::setSignatureAlgorithm(). In addition, the public key as extracted using this code:

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
must be saved adjacent to the phar archive it verifies. If the phar archive is saved as /path/to/my.phar, the public key must be saved as /path/to/my.phar.pubkey, or phar will be unable to verify the OpenSSL signature.

As of version 2.0.0, The Phar class also provides 3 static methods, Phar::webPhar(), Phar::mungServer() and Phar::interceptFileFuncs() that are crucial to packaging up PHP applications designed for usage on regular filesystems and for web-based applications. Phar::webPhar() implements a front controller that routes HTTP calls to the correct location within the phar archive. Phar::mungServer() is used to modify the values of the $_SERVER array to trick applications that process these values. Phar::interceptFileFuncs() instructs Phar to intercept calls to fopen(), file_get_contents(), opendir(), and all of the stat-based functions (file_exists(), is_readable() and so on) and route all relative paths to locations within the phar archive.

As an example, packaging up a release of the popular phpMyAdmin application for use as a phar archive requires only this simple script and then phpMyAdmin.phar.tar.php can be accessed as a regular file from your web server after modifying the user/password:

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
    $cfg[\'UploadDir\'] = getcwd();
} else {
    $cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
    @mkdir(\'/tmp/pharphpmyadmin\');
    @chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin is intended to be executed from a web browser\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>

Using Phar Archives
Using Phar Archives: the phar stream wrapper
Using Phar Archives


Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read and write (not append), unlink(), stat(), fstat(), fseek(), rename() and directory stream operations opendir() and as of version 2.0.0, rmdir() and mkdir().

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
                                    array('compress' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read-only operations.

Using Phar Archives: Introduction
Using Phar Archives: the Phar and PharData class
Using Phar Archives


Using Phar Archives: the Phar and PharData class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

The PharData class extends the Phar, and allows creating and modifying non-executable (data) tar and zip archives even if phar.readonly=1 in php.ini. As such, PharData::setAlias() and PharData::setStub() are both disabled as the concept of alias and stub are unique to executable phar archives.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>

An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar demonstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:

<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>

With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php
  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file. Note that $p->addFromString('file.php', $v) is functionally equivalent to the above. Also possible is to add the contents of a file with $p->addFile('/path/to/file.php', 'file.php'). Lastly, an empty directory can be created with $p->addEmptyDir('empty').
  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.
  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar::getMetaData(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar::getStub() and Phar::setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.

Using Phar Archives: the phar stream wrapper
Creating Phar Archives
Using Phar Archives


Creating Phar Archives

Содержание

  • Creating Phar Archives: Introduction
Using Phar Archives: the Phar and PharData class
Creating Phar Archives: Introduction
Phar


Creating Phar Archives: Introduction

To be written fully in the near future. Before reading this, be sure to read How to use Phar Archives.

A great place to start is by reading about Phar::buildFromIterator(), and the specifics of the file format choices available for archives. A healthy understanding of what a stub is and does is crucial to phar archive creation, and so Phar::setStub() and Phar::createDefaultStub() are good places to start as well. If you are distributing a web-based application, it is crucial to know about Phar::webPhar() and related method Phar::mungServer(). Any application that accesses its own files should also consider using Phar::interceptFileFuncs().

Creating Phar Archives
What makes a phar a phar and not a tar or a zip?
Creating Phar Archives


What makes a phar a phar and not a tar or a zip?

Содержание

  • Ingredients of all Phar archives, independent of file format
  • Phar file stub
  • Head-to-head comparison of Phar, Tar and Zip
  • Tar-based phars
  • Zip-based phars
  • Phar File Format
  • Global Phar bitmapped flags
  • Phar manifest file entry definition
  • Phar Signature format
Creating Phar Archives: Introduction
Ingredients of all Phar archives, independent of file format
Phar


Ingredients of all Phar archives, independent of file format

All Phar archives contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity (phar file format only)

What makes a phar a phar and not a tar or a zip?
Phar file stub
What makes a phar a phar and not a tar or a zip?


Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag

?>
may be included or omitted, but there can be no more than 1 space between the ; and the close tag
?>
 or the phar extension will be unable to process the Phar archive's manifest.

In a tar or zip-based phar archive, the stub is stored in the .phar/stub.php file. The default stub for phar-based Phar archives contains approximately 7k of code to extract the contents of the phar and execute them. See Phar::createDefaultStub() for more detail.

The phar alias is stored in a tar or zip-based phar archive in the .phar/alias.txt file as plain text.

Ingredients of all Phar archives, independent of file format
Head-to-head comparison of Phar, Tar and Zip
What makes a phar a phar and not a tar or a zip?


Head-to-head comparison of Phar, Tar and Zip

What are the good and the bad things about the three supported file formats in the phar extension? This table attempts to address that question.

Feature matrix: Phar vs. Tar vs. Zip
Feature | Phar | Tar | Zip
Standard File Format | No | Yes | Yes
Can be executed without the Phar Extension [1] | Yes | No | No
Per-file compression | Yes | No | Yes
Whole-archive compression | Yes | Yes | No
Whole-archive signature validation | Yes | Yes | Yes (PHP 5.3.1+)
Web-specific application support | Yes | Yes | Yes
Per-file Meta-data | Yes | Yes | Yes
Whole-Archive Meta-data | Yes | Yes | Yes
Archive creation/modification [2] | Yes | Yes | Yes
Full support for all stream wrapper functions | Yes | Yes | Yes
Can be created/modified even if phar.readonly=1 [3] | No | Yes | Yes

Подсказка

[1] PHP can only directly access the contents of a Phar archive without the Phar extension if it is using a stub that extracts the contents of the phar archive. The stub created by Phar::createDefaultStub() extracts the phar archive and runs its contents from a temporary directory if no phar extension is found.

Подсказка

[2] All write access requires phar.readonly to be disabled in php.ini or on the command-line directly.

Подсказка

[3] Only tar and zip archives without .phar in their filename and without an executable stub .phar/stub.php can be created if phar.readonly=1.

Phar file stub
Tar-based phars
What makes a phar a phar and not a tar or a zip?


Tar-based phars

Archives based on the tar file format follow the more modern USTAR file format. The design of the tar file header makes them more efficient to access than the zip file format, and almost as efficient as the phar file format. File names are limited to 255 bytes, including full path within the phar archive. There is no limit on the number of files within a tar-based phar archive. These archives can fully compressed in gzip or bzip2 format and still be executed by the Phar extension.

To compress an entire archive, use Phar::compress(). To decompress an entire archive, use Phar::decompress().

Head-to-head comparison of Phar, Tar and Zip
Zip-based phars
What makes a phar a phar and not a tar or a zip?


Zip-based phars

Archives based on the zip file format support several features built into the zip file format. Per-file and whole-archive metadata is stored in the zip file comment and zip archive comment as a serialized string. Pre-existing zip comments will be successfully read as a string. Per-file compression read/write is supported with zlib compression, and read access is supported with bzip2 compression. There is no limit on the number of files within a zip-based phar archive. Empty directories are stored in the zip archive as files with a trailing slash like my/directory/

Tar-based phars
Phar File Format
What makes a phar a phar and not a tar or a zip?


Phar File Format

The phar file format is literally laid out as stub/manifest/contents/signature, and stores the crucial information of what is included in the phar archive in its manifest.

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

Global Phar manifest format
Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file

Zip-based phars
Global Phar bitmapped flags
What makes a phar a phar and not a tar or a zip?


Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

Bitmap values recognized
Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip compression

Phar File Format
Phar manifest file entry definition
What makes a phar a phar and not a tar or a zip?


Phar manifest file entry definition

Each file in the manifest contains the following information:

Phar Manifest file entry
Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

Note that as of API version 1.1.1, empty directories are stored as filenames with a trailing slash like my/directory/

The File-specific bitmap values recognized are:

Bitmap values recognized
Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib compression
0x00002000 | If set, this file is compressed with bzip compression

Global Phar bitmapped flags
Phar Signature format
What makes a phar a phar and not a tar or a zip?


Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The two signature formats supported at this time are MD5 and SHA1.

Signature format
Length in bytes | Description
16 or 20 bytes | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature, 32 bytes for an SHA256 signature, and 64 bytes for an SHA512 signature.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, 0x0002 is used to define an SHA1 signature, 0x0004 is used to define an SHA256 signature, and 0x0008 is used to define an SHA512 signature. The SHA256 and SHA512 signature support was introduced with API version 1.1.0.
4 bytes | Magic GBMB used to define the presence of a signature.

Phar manifest file entry definition
Phar
What makes a phar a phar and not a tar or a zip?


The Phar class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The Phar class provides a high-level interface to accessing and creating phar archives.

Обзор классов

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Свойства */
/* Методы */
void addEmptyDir ( string $dirname )
void addFile ( string $file [, string $localname ] )
void addFromString ( string $localname , string $contents )
string apiVersion ( void )
array buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
bool canCompress ([ int $type = 0 ] )
bool canWrite ( void )
object compress ( int $compression [, string $extension ] )
bool compressAllFilesBZIP2 ( void )
bool compressAllFilesGZ ( void )
void compressFiles ( int $compression )
void __construct ( string $fname [, int $flags [, string $alias ]] )
PharData convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
Phar convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
int count ( void )
string createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
bool delMetadata ( void )
bool delete ( string $entry )
bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
mixed getMetaData ( void )
bool getModified ( void )
array getSignature ( void )
string getStub ( void )
array getSupportedCompression ( void )
array getSupportedSignatures ( void )
string getVersion ( void )
bool hasMetadata ( void )
void interceptFileFuncs ( void )
bool isBuffering ( void )
mixed isCompressed ( void )
bool isFileFormat ( int $format )
bool isValidPharFilename ( string $filename [, bool $executable = true ] )
bool isWritable ( void )
bool loadPhar ( string $filename [, string $alias ] )
bool mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
void mount ( string $pharpath , string $externalpath )
void mungServer ( array $munglist )
bool offsetExists ( string $offset )
int offsetGet ( string $offset )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
string running ([ bool $retphar = true ] )
bool setAlias ( string $alias )
bool setDefaultStub ([ string $index [, string $webindex ]] )
void setMetadata ( mixed $metadata )
void setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
bool setStub ( string $stub )
void startBuffering ( void )
void stopBuffering ( void )
bool uncompressAllFiles ( void )
bool unlinkArchive ( string $archive )
void webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )
}

Содержание

  • Phar::addEmptyDir — Add an empty directory to the phar archive
  • Phar::addFile — Add a file from the filesystem to the phar archive
  • Phar::addFromString — Add a file from the filesystem to the phar archive
  • Phar::apiVersion — Returns the api version
  • Phar::buildFromDirectory — Construct a phar archive from the files within a directory.
  • Phar::buildFromIterator — Construct a phar archive from an iterator.
  • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::canWrite — Returns whether phar extension supports writing and creating phars
  • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression
  • Phar::compressFiles — Compresses all files in the current Phar archive
  • Phar::__construct — Construct a Phar archive object
  • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
  • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
  • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
  • Phar::count — Returns the number of entries (files) in the Phar archive
  • Phar::createDefaultStub — Create a phar-file format specific stub
  • Phar::decompress — Decompresses the entire Phar archive
  • Phar::decompressFiles — Decompresses all files in the current Phar archive
  • Phar::delMetadata — Deletes the global metadata of the phar
  • Phar::delete — Delete a file within a phar archive
  • Phar::extractTo — Extract the contents of a phar archive to a directory
  • Phar::getMetaData — Returns phar archive meta-data
  • Phar::getModified — Return whether phar was modified
  • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::getSupportedCompression — Return array of supported compression algorithms
  • Phar::getSupportedSignatures — Return array of supported signature types
  • Phar::getVersion — Return version info of Phar archive
  • Phar::hasMetaData — Returns whether phar has global meta-data
  • Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
  • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
  • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
  • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
  • Phar::isWritable — Returns true if the phar archive can be modified
  • Phar::loadPhar — Loads any phar archive with an alias
  • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
  • Phar::mount — Mount an external path or file to a virtual location within the phar archive
  • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::offsetExists — determines whether a file exists in the phar
  • Phar::offsetGet — Gets a PharFileInfo object for a specific file
  • Phar::offsetSet — set the contents of an internal file to those of an external file
  • Phar::offsetUnset — remove a file from a phar
  • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
  • Phar::setAlias — Set the alias for the Phar archive
  • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
  • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive
  • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
  • Phar::webPhar — mapPhar for web-based phars. front controller for web applications
Phar Signature format
Phar::addEmptyDir
Phar


Add an empty directory to the phar archive

Phar
Phar::addFile
Phar
PHP Manual

Phar::addEmptyDir

(Unknown)

Phar::addEmptyDir — Add an empty directory to the phar archive

Описание

void Phar::addEmptyDir ( string $dirname )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Список параметров

dirname

The name of the empty directory to create in the phar archive

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A Phar::addEmptyDir() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addFromString() - Add a file from the filesystem to the phar archive

Phar
Phar::addFile
Phar


Add a file from the filesystem to the phar archive

Phar::addEmptyDir
Phar::addFromString
Phar
PHP Manual

Phar::addFile

(Unknown)

Phar::addFile — Add a file from the filesystem to the phar archive

Описание

void Phar::addFile ( string $file [, string $localname ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

With this method, any file or URL can be added to the phar archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Список параметров

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A Phar::addFile() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFromString() - Add a file from the filesystem to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive

Phar::addEmptyDir
Phar::addFromString
Phar


Add a file from the filesystem to the phar archive

Phar::addFile
Phar::apiVersion
Phar
PHP Manual

Phar::addFromString

(Unknown)

Phar::addFromString — Add a file from the filesystem to the phar archive

Описание

void Phar::addFromString ( string $localname , string $contents )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

With this method, any string can be added to the phar archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Список параметров

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A Phar::addFromString() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive

Phar::addFile
Phar::apiVersion
Phar


Returns the api version

Phar::addFromString
Phar::buildFromDirectory
Phar
PHP Manual

Phar::apiVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::apiVersion — Returns the api version

Описание

string Phar::apiVersion ( void )

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer. API version 1.1.0 is required for SHA-256 and SHA-512 hash, and API version 1.1.1 is required to store empty directories.

Список параметров

Возвращаемые значения

The API version string as in "1.0.0".

Примеры

Пример #1 A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

Результат выполнения данного примера:

1.1.1

Phar::addFromString
Phar::buildFromDirectory
Phar


Construct a phar archive from the files within a directory.

Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual

Phar::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory.

Описание

array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Populate a phar archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use Phar::buildFromIterator().

Список параметров

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Возвращаемые значения

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Ошибки

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Примеры

Пример #1 A Phar::buildFromDirectory() example

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Смотрите также

  • Phar::buildFromIterator() - Construct a phar archive from an iterator.

Phar::apiVersion
Phar::buildFromIterator
Phar


Construct a phar archive from an iterator.

Phar::buildFromDirectory
Phar::canCompress
Phar
PHP Manual

Phar::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construct a phar archive from an iterator.

Описание

array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Populate a phar archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the phar to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Список параметров

iter

Any iterator that either associatively maps phar file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the phar archive

Возвращаемые значения

Phar::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Примеры

Пример #1 A Phar::buildFromIterator() with SplFileInfo

For most phar archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a phar archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.phar" phar archive:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

The file project.phar can then be used immediately. Phar::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the phar archive.

As an interesting note, Phar::buildFromIterator() can also be used to copy the contents of an existing phar archive, as the Phar object descends from DirectoryIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Пример #2 A Phar::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ошибки

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Смотрите также

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory.

Phar::buildFromDirectory
Phar::canCompress
Phar


Returns whether phar extension supports compression using either zlib or bzip2

Phar::buildFromIterator
Phar::canWrite
Phar
PHP Manual

Phar::canCompress

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2

Описание

bool Phar::canCompress ([ int $type = 0 ] )

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

Список параметров

type

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

Возвращаемые значения

TRUE if compression/decompression is available, FALSE if not.

Примеры

Пример #1 A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
    echo 'no compression available';
}
?>

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::buildFromIterator
Phar::canWrite
Phar


Returns whether phar extension supports writing and creating phars

Phar::canCompress
Phar::compress
Phar
PHP Manual

Phar::canWrite

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canWrite — Returns whether phar extension supports writing and creating phars

Описание

bool Phar::canWrite ( void )

This static method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

Список параметров

Возвращаемые значения

TRUE if write access is enabled, FALSE if it is disabled.

Примеры

Пример #1 A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

Смотрите также

  • phar.readonly
  • Phar::isWritable() - Returns true if the phar archive can be modified

Phar::canCompress
Phar::compress
Phar


Compresses the entire Phar archive using Gzip or Bzip2 compression

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar
PHP Manual

Phar::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression

Описание

object Phar::compress ( int $compression [, string $extension ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based and phar-based phar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Список параметров

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .phar.gz or .phar.bz2 for compressing phar archives, and .phar.tar.gz or .phar.tar.bz2 for compressing tar archives. For decompressing, the default file extensions are .phar and .phar.tar.

Возвращаемые значения

Returns a Phar object.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Примеры

Пример #1 A Phar::compress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar


Compresses all files in the current Phar archive using Bzip2 compression

Phar::compress
Phar::compressAllFilesGZ
Phar
PHP Manual

Phar::compressAllFilesBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression

Описание

bool Phar::compressAllFilesBZIP2 ( void )

Замечание:

Этот метод был
удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций
Phar::compress(),
Phar::decompress(), Phar::compressFiles() и
Phar::decompressFiles().

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method compresses all files in the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files prior to re-compressing with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not available, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Примеры

Пример #1 A Phar::compressAllFilesBZIP2() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(true)
bool(false)
string(11) "myfile2.txt"
bool(true)
bool(true)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

Phar::compress
Phar::compressAllFilesGZ
Phar


Compresses all files in the current Phar archive using Gzip compression

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar
PHP Manual

Phar::compressAllFilesGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression

Описание

bool Phar::compressAllFilesGZ ( void )

Замечание:

Этот метод был
удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций
Phar::compress(),
Phar::decompress(), Phar::compressFiles() и
Phar::decompressFiles().

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based phar archives, this method compresses the entire archive using gzip compression. The resulting file can be processed with the gunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the files prior to re-compressing with gzip compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Примеры

Пример #1 A Phar::compressAllFilesGZ() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar


Compresses all files in the current Phar archive

Phar::compressAllFilesGZ
Phar::__construct
Phar
PHP Manual

Phar::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compressFiles — Compresses all files in the current Phar archive

Описание

void Phar::compressFiles ( int $compression )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Список параметров

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Возвращаемые значения

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

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Примеры

Пример #1 A Phar::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive

Phar::compressAllFilesGZ
Phar::__construct
Phar


Construct a Phar archive object

Phar::compressFiles
Phar::convertToData
Phar
PHP Manual

Phar::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::__construct — Construct a Phar archive object

Описание

void Phar::__construct ( string $fname [, int $flags [, string $alias ]] )

Список параметров

fname

Path to an existing Phar archive or to-be-created archive

flags

Flags to pass to parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

Ошибки

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

Примеры

Пример #1 A Phar::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>

Phar::compressFiles
Phar::convertToData
Phar


Convert a phar archive to a non-executable tar or zip file

Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual

Phar::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToData — Convert a phar archive to a non-executable tar or zip file

Описание

PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

This method is used to convert an executable phar archive to either a tar or zip file. To make the tar or zip non-executable, the phar stub and phar alias files are removed from the newly created archive.

If no changes are specified, this method throws a BadMethodCallException if the archive is in phar file format. For archives in tar or zip file format, this method converts the archive to a non-executable archive.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Список параметров

format

This should be one of Phar::TAR or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Возвращаемые значения

The method returns a PharData object on success and throws an exception on failure.

Ошибки

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Примеры

Пример #1 A Phar::convertToData() example

Using Phar::convertToData():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // note that myphar.phar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.tar
    $tar = $tarphar->convertToData();
    // convert to non-executable zip format, creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Смотрите также

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::__construct
Phar::convertToExecutable
Phar


Convert a phar archive to another executable phar archive file format

Phar::convertToData
Phar::copy
Phar
PHP Manual

Phar::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format

Описание

Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method is used to convert a phar archive to another file format. For instance, it can be used to create a tar-based executable phar archive from a zip-based executable phar archive, or from an executable phar archive in the phar file format. In addition, it can be used to apply whole-archive compression to a tar or phar-based archive.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Список параметров

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Возвращаемые значения

The method returns a Phar object on success and throws an exception on failure.

Ошибки

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Примеры

Пример #1 A Phar::convertToExecutable() example

Using Phar::convertToExecutable():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // convert it to the phar file format
    // note that myphar.phar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Смотрите также

  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::convertToData
Phar::copy
Phar


Copy a file internal to the phar archive to another new file within the phar

Phar::convertToExecutable
Phar::count
Phar
PHP Manual

Phar::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::copy — Copy a file internal to the phar archive to another new file within the phar

Описание

bool Phar::copy ( string $oldfile , string $newfile )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Copy a file internal to the phar archive to another new file within the phar. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Список параметров

oldfile

newfile

Возвращаемые значения

returns TRUE on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Ошибки

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Примеры

Пример #1 A Phar::copy() example

This example shows using Phar::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All Phar methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "hi"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.phar/a', 'phar//myphar.phar/c');
echo file_get_contents('phar://myphar.phar/c'); // outputs "hi"
?>

Phar::convertToExecutable
Phar::count
Phar


Returns the number of entries (files) in the Phar archive

Phar::copy
Phar::createDefaultStub
Phar
PHP Manual

Phar::count

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::count — Returns the number of entries (files) in the Phar archive

Описание

int Phar::count ( void )

Список параметров

Возвращаемые значения

The number of files contained within this phar, or 0 (the number zero) if none.

Примеры

Пример #1 A Phar::count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

Результат выполнения данного примера:

The new phar has 0 entries
The new phar has 1 entries

Phar::copy
Phar::createDefaultStub
Phar


Create a phar-file format specific stub

Phar::count
Phar::decompress
Phar
PHP Manual

Phar::createDefaultStub

(Unknown)

Phar::createDefaultStub — Create a phar-file format specific stub

Описание

string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )

This method is intended for creation of phar-file format-specific stubs, and is not intended for use with tar- or zip-based phar archives.

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

This method provides a simple and easy method to create a stub that will run a startup file from the phar archive. In addition, different files can be specified for running the phar archive from the command line versus through a web server. The loader stub also calls Phar::interceptFileFuncs() to allow easy bundling of a PHP application that accesses the file system. If the phar extension is not present, the loader stub will extract the phar archive to a temporary directory and then operate on the files. A shutdown function erases the temporary files on exit.

Возвращаемые значения

Returns a string containing the contents of a customized bootstrap loader (stub) that allows the created Phar archive to work with or without the Phar extension enabled.

Ошибки

Throws UnexpectedValueException if either parameter is longer than 400 bytes.

Примеры

Пример #1 A Phar::createDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive

Phar::count
Phar::decompress
Phar


Decompresses the entire Phar archive

Phar::createDefaultStub
Phar::decompressFiles
Phar
PHP Manual

Phar::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompress — Decompresses the entire Phar archive

Описание

object Phar::decompress ([ string $extension ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based and phar-based phar archives, this method decompresses the entire archive.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically changes the file extension of the archive, .phar by default for phar archives, or .phar.tar for tar-based phar archives. Alternatively, a file extension may be specified with the second parameter.

Список параметров

extension

For decompressing, the default file extensions are .phar and .phar.tar. Use this parameter to specify another file extension. Be aware that all executable phar archives must contain .phar in their filename.

Возвращаемые значения

A Phar object is returned.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Примеры

Пример #1 A Phar::decompress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::createDefaultStub
Phar::decompressFiles
Phar


Decompresses all files in the current Phar archive

Phar::decompress
Phar::delMetadata
Phar
PHP Manual

Phar::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompressFiles — Decompresses all files in the current Phar archive

Описание

bool Phar::decompressFiles ( void )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method decompresses all files in the Phar archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Примеры

Пример #1 A Phar::decompressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive

Phar::decompress
Phar::delMetadata
Phar


Deletes the global metadata of the phar

Phar::decompressFiles
Phar::delete
Phar
PHP Manual

Phar::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::delMetadata — Deletes the global metadata of the phar

Описание

bool Phar::delMetadata ( void )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Deletes the global metadata of the phar

Список параметров

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A Phar::delMetaData() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Результат выполнения данного примера:

NULL
string(8) "hi there"
NULL

Смотрите также

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::decompressFiles
Phar::delete
Phar


Delete a file within a phar archive

Phar::delMetadata
Phar::extractTo
Phar
PHP Manual

Phar::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::delete — Delete a file within a phar archive

Описание

bool Phar::delete ( string $entry )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Список параметров

entry

Path within an archive to the file to delete.

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A Phar::delete() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • PharData::delete() - Delete a file within a tar/zip archive
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory

Phar::delMetadata
Phar::extractTo
Phar


Extract the contents of a phar archive to a directory

Phar::delete
Phar::getMetaData
Phar
PHP Manual

Phar::extractTo

(Unknown)

Phar::extractTo — Extract the contents of a phar archive to a directory

Описание

bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Extract all files within a phar archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Список параметров

pathto

Path within an archive to the file to delete.

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to TRUE to enable overwriting existing files

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A Phar::extractTo() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • PharData::extractTo() - Extract the contents of a tar/zip archive to a directory

Phar::delete
Phar::getMetaData
Phar


Returns phar archive meta-data

Phar::extractTo
Phar::getModified
Phar
PHP Manual

Phar::getMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getMetaData — Returns phar archive meta-data

Описание

mixed Phar::getMetaData ( void )

Retrieve archive meta-data. Meta-data can be any PHP variable that can be serialized.

Список параметров

No parameters.

Возвращаемые значения

any PHP variable that can be serialized and is stored as meta-data for the Phar archive, or NULL if no meta-data is stored.

Примеры

Пример #1 A Phar::getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello";';
    $p->setMetaData(array('bootstrap' => 'file.php'));
    var_dump($p->getMetaData());
} catch (Exception $e) {
    echo 'Could not modify phar:', $e;
}
?>

Результат выполнения данного примера:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Смотрите также

  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::extractTo
Phar::getModified
Phar


Return whether phar was modified

Phar::getMetaData
Phar::getSignature
Phar
PHP Manual

Phar::getModified

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getModified — Return whether phar was modified

Описание

bool Phar::getModified ( void )

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

Список параметров

No parameters.

Возвращаемые значения

TRUE if the phar has been modified since opened, FALSE if not.

Phar::getMetaData
Phar::getSignature
Phar


Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::getModified
Phar::getStub
Phar
PHP Manual

Phar::getSignature

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Описание

array Phar::getSignature ( void )

Returns the verification signature of a phar archive in a hexadecimal string.

Список параметров

Возвращаемые значения

Array with the opened archive's signature in hash key and MD5, SHA-1, SHA-256, SHA-512, or OpenSSL in hash_type. This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all executable phar archives if the phar.require_hash INI variable is set to true.

Phar::getModified
Phar::getStub
Phar


Return the PHP loader or bootstrap stub of a Phar archive

Phar::getSignature
Phar::getSupportedCompression
Phar
PHP Manual

Phar::getStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive

Описание

string Phar::getStub ( void )

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

Возвращаемые значения

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

Ошибки

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

Примеры

Пример #1 A Phar::getStub() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

Результат выполнения данного примера:

<?php __HALT_COMPILER(); ?>
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>

Смотрите также

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::getSignature
Phar::getSupportedCompression
Phar


Return array of supported compression algorithms

Phar::getStub
Phar::getSupportedSignatures
Phar
PHP Manual

Phar::getSupportedCompression

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Return array of supported compression algorithms

Описание

array Phar::getSupportedCompression ( void )

Список параметров

No parameters.

Возвращаемые значения

Returns an array containing any of Phar::GZ or Phar::BZ2, depending on the availability of the zlib extension or the bz2 extension.

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::getStub
Phar::getSupportedSignatures
Phar


Return array of supported signature types

Phar::getSupportedCompression
Phar::getVersion
Phar
PHP Manual

Phar::getSupportedSignatures

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Return array of supported signature types

Описание

array Phar::getSupportedSignatures ( void )

Return array of supported signature types

Список параметров

No parameters.

Возвращаемые значения

Returns an array containing any of MD5, SHA-1, SHA-256, SHA-512, or OpenSSL.

Смотрите также

  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::setSignatureAlgorithm() - set the signature algorithm for a phar and apply it. The

Phar::getSupportedCompression
Phar::getVersion
Phar


Return version info of Phar archive

Phar::getSupportedSignatures
Phar::hasMetaData
Phar
PHP Manual

Phar::getVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getVersion — Return version info of Phar archive

Описание

string Phar::getVersion ( void )

Returns the API version of an opened Phar archive.

Список параметров

Возвращаемые значения

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

Смотрите также

  • Phar::apiVersion() - Returns the api version

Phar::getSupportedSignatures
Phar::hasMetaData
Phar


Returns whether phar has global meta-data

Phar::getVersion
Phar::interceptFileFuncs
Phar
PHP Manual

Phar::hasMetaData

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::hasMetaData — Returns whether phar has global meta-data

Описание

bool Phar::hasMetadata ( void )

Returns whether phar has global meta-data set.

Список параметров

No parameters.

Возвращаемые значения

Returns TRUE if meta-data has been set, and FALSE if not.

Примеры

Пример #1 A Phar::hasMetaData() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->hasMetadata());
    $phar->setMetadata(array('thing' => 'hi'));
    var_dump($phar->hasMetadata());
    $phar->delMetadata();
    var_dump($phar->hasMetadata());
} catch (Exception $e) {
    // handle error
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)
bool(false)

Смотрите также

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar

Phar::getVersion
Phar::interceptFileFuncs
Phar


instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::hasMetaData
Phar::isBuffering
Phar
PHP Manual

Phar::interceptFileFuncs

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Описание

void Phar::interceptFileFuncs ( void )

instructs phar to intercept fopen(), readfile(), file_get_contents(), opendir(), and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem.

This function makes it possible to run PHP applications designed to run off of a hard disk as a phar application.

Список параметров

No parameters.

Возвращаемые значения

Примеры

Пример #1 A Phar::interceptFileFuncs() example

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/file.php';
?>

Assuming that this phar is at /path/to/myphar.phar and it contains file.php and file2.txt, if file.php contains this code:

Пример #2 A Phar::interceptFileFuncs() example

<?php
echo file_get_contents('file2.txt');
?>

Normally PHP would search the current directory for file2.txt, which would translate as the directory of file.php, or the current directory of a command-line user. Phar::interceptFileFuncs() instructs PHP to consider the current directory to be phar:///path/to/myphar.phar/ and so opens phar:///path/to/myphar.phar/file2.txt in the above example code.

Phar::hasMetaData
Phar::isBuffering
Phar


Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::interceptFileFuncs
Phar::isCompressed
Phar
PHP Manual

Phar::isBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Описание

bool Phar::isBuffering ( void )

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar->stopBuffering() is needed to enable saving changes.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Возвращаемые значения

Returns TRUE if the write operations are being buffer, FALSE otherwise.

Примеры

Пример #1 A Phar::isBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

Результат выполнения данного примера:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Смотрите также

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk

Phar::interceptFileFuncs
Phar::isCompressed
Phar


Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Phar::isBuffering
Phar::isFileFormat
Phar
PHP Manual

Phar::isCompressed

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Описание

mixed Phar::isCompressed ( void )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be compressed as a file, and so this method will always return FALSE if a zip-based phar archive is queried.

Список параметров

No parameters.

Возвращаемые значения

Phar::GZ, Phar::BZ2 or FALSE

Примеры

Пример #1 A Phar::isCompressed() example

<?php
try {
    $phar1 = new Phar('myphar.zip.phar');
    var_dump($phar1->isCompressed());
    $phar2 = new Phar('myuncompressed.tar.phar');
    var_dump($phar2->isCompressed());
    $phar2->compressAllFilesGZ();
    var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

Результат выполнения данного примера:

bool(false)
bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

Phar::isBuffering
Phar::isFileFormat
Phar


Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Phar::isCompressed
Phar::isValidPharFilename
Phar
PHP Manual

Phar::isFileFormat

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Описание

bool Phar::isFileFormat ( int $format )

Список параметров

format

Either Phar::PHAR, Phar::TAR, or Phar::ZIP to test for the format of the archive.

Возвращаемые значения

Returns TRUE if the phar archive matches the file format requested by the parameter

Ошибки

PharException is thrown if the parameter is an unknown file format specifier.

Смотрите также

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::isCompressed
Phar::isValidPharFilename
Phar


Returns whether the given filename is a valid phar filename

Phar::isFileFormat
Phar::isWritable
Phar
PHP Manual

Phar::isValidPharFilename

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename

Описание

bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )

Returns whether the given filename is a valid phar filename that will be recognized as a phar archive by the phar extension. This can be used to test a name without having to instantiate a phar archive and catch the inevitable Exception that will be thrown if an invalid name is specified.

Список параметров

filename

The name or full path to a phar archive not yet created

executable

This parameter determines whether the filename should be treated as a phar executable archive, or a data non-executable archive

Возвращаемые значения

Returns TRUE if the filename is valid, FALSE if not.

Phar::isFileFormat
Phar::isWritable
Phar


Returns true if the phar archive can be modified

Phar::isValidPharFilename
Phar::loadPhar
Phar
PHP Manual

Phar::isWritable

(Unknown)

Phar::isWritable — Returns true if the phar archive can be modified

Описание

bool Phar::isWritable ( void )

This method returns TRUE if phar.readonly is 0, and the actual phar archive on disk is not read-only.

Список параметров

No parameters.

Возвращаемые значения

Returns TRUE if the phar archive can be modified

Смотрите также

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • PharData::isWritable() - Returns true if the tar/zip archive can be modified

Phar::isValidPharFilename
Phar::loadPhar
Phar


Loads any phar archive with an alias

Phar::isWritable
Phar::mapPhar
Phar
PHP Manual

Phar::loadPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::loadPhar — Loads any phar archive with an alias

Описание

bool Phar::loadPhar ( string $filename [, string $alias ] )

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

Список параметров

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

Примеры

Пример #1 A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
    Phar::loadPhar('/path/to/phar.phar', 'my.phar');
    echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Смотрите также

  • Phar::mapPhar() - Reads the currently executed file (a phar) and registers its manifest

Phar::isWritable
Phar::mapPhar
Phar


Reads the currently executed file (a phar) and registers its manifest

Phar::loadPhar
Phar::mount
Phar
PHP Manual

Phar::mapPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest

Описание

bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

Список параметров

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

dataoffset

Unused variable, here for compatibility with PEAR's PHP_Archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

Примеры

Пример #1 A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
    include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('me.phar');
    include 'phar://me.phar/startup.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Cannot initialize Phar');
}
__HALT_COMPILER();

Смотрите также

  • Phar::loadPhar() - Loads any phar archive with an alias

Phar::loadPhar
Phar::mount
Phar


Mount an external path or file to a virtual location within the phar archive

Phar::mapPhar
Phar::mungServer
Phar
PHP Manual

Phar::mount

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::mount — Mount an external path or file to a virtual location within the phar archive

Описание

void Phar::mount ( string $pharpath , string $externalpath )

Much like the unix file system concept of mounting external devices to paths within the directory tree, Phar::mount() allows referring to external files and directories as if they were inside of an archive. This allows powerful abstraction such as referring to external configuration files as if they were inside the archive.

Список параметров

pharpath

The internal path within the phar archive to use as the mounted path location. If executed within a phar archive, this may be a relative path, otherwise this must be a full phar URL.

externalpath

A path or URL to an external file or directory to mount within the phar archive

Возвращаемые значения

No return. PharException is thrown on failure.

Ошибки

Throws PharException if any problems occur mounting the path.

Примеры

Пример #1 A Phar::mount() example

The following example shows accessing an external configuration file as if it were a path within a phar archive.

First, the code inside of a phar archive:

<?php
$configuration = simplexml_load_string(file_get_contents(
    Phar::running(false) . '/config.xml'));
?>

Next the external code used to mount the configuration file:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
Phar::mount('phar:///path/to/archive.phar/config.xml', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Another method is to put the mounting code inside the stub of the phar archive. Here is an example of setting up a default configuration file if no user configuration is specified:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
if (defined('EXTERNAL_CONFIG')) {
    Phar::mount('config.xml', EXTERNAL_CONFIG);
    if (file_exists(__DIR__ . '/extra_config.xml')) {
        Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
    }
} else {
    Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
    Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// now run the application
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

...and the code externally to load this phar archive:

<?php
define('EXTERNAL_CONFIG', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Phar::mapPhar
Phar::mungServer
Phar


Defines a list of up to 4 $_SERVER variables that should be modified for execution

Phar::mount
Phar::offsetExists
Phar
PHP Manual

Phar::mungServer

(Unknown)

Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution

Описание

void Phar::mungServer ( array $munglist )

Phar::mungServer() should only be called within the stub of a phar archive.

Defines a list of up to 4 $_SERVER variables that should be modified for execution. Variables that can be modified to remove traces of phar execution are REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME.

On its own, this method does nothing. Only when combined with Phar::webPhar() does it take effect, and only when the requested file is a PHP file to be parsed. Note that the PATH_INFO and PATH_TRANSLATED variables are always modified.

The original values of variables that are modified are stored in the SERVER array with PHAR_ prepended, so for instance SCRIPT_NAME would be saved as PHAR_SCRIPT_NAME.

Список параметров

munglist

an array containing as string indices any of REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME. Other values trigger an exception, and Phar::mungServer() is case-sensitive.

Возвращаемые значения

No return.

Ошибки

Throws UnexpectedValueException if any problems are found with the passed in data.

Примеры

Пример #1 A Phar::mungServer() example

<?php
// example stub
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Смотрите также

  • Phar::webPhar() - mapPhar for web-based phars. front controller for web applications
  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::mount
Phar::offsetExists
Phar


determines whether a file exists in the phar

Phar::mungServer
Phar::offsetGet
Phar
PHP Manual

Phar::offsetExists

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetExists — determines whether a file exists in the phar

Описание

bool Phar::offsetExists ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

Список параметров

offset

The filename (relative path) to look for in a Phar.

Возвращаемые значения

Returns TRUE if the file exists within the phar, or FALSE if not.

Примеры

Пример #1 A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Смотрите также

  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - remove a file from a phar

Phar::mungServer
Phar::offsetGet
Phar


Gets a PharFileInfo object for a specific file

Phar::offsetExists
Phar::offsetSet
Phar
PHP Manual

Phar::offsetGet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetGet — Gets a PharFileInfo object for a specific file

Описание

int Phar::offsetGet ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. Phar::offsetGet() is used for retrieving files from a Phar archive.

Список параметров

offset

The filename (relative path) to look for in a Phar.

Возвращаемые значения

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

Ошибки

This method throws BadMethodCallException if the file does not exist in the Phar archive.

Примеры

Пример #1 Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, Phar::offsetGet() is automatically called when using the [] angle bracket operator.

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
    // automatically calls offsetGet()
    echo $p['exists.txt'];
    echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

Результат выполнения данного примера:

file exists
Entry doesnotexist.txt does not exist

Смотрите также

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - remove a file from a phar

Phar::offsetExists
Phar::offsetSet
Phar


set the contents of an internal file to those of an external file

Phar::offsetGet
Phar::offsetUnset
Phar
PHP Manual

Phar::offsetSet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetSet — set the contents of an internal file to those of an external file

Описание

void Phar::offsetSet ( string $offset , string $value )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

Список параметров

offset

The filename (relative path) to modify in a Phar.

value

Content of the file.

Возвращаемые значения

No return values.

Ошибки

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Примеры

Пример #1 A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Смотрите также

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetUnset() - remove a file from a phar

Phar::offsetGet
Phar::offsetUnset
Phar


remove a file from a phar

Phar::offsetSet
Phar::running
Phar
PHP Manual

Phar::offsetUnset

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetUnset — remove a file from a phar

Описание

bool Phar::offsetUnset ( string $offset )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Список параметров

offset

The filename (relative path) to modify in a Phar.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Примеры

Пример #1 A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // deletes file.txt from my.phar by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Смотрите также

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory
  • Phar::delete() - Delete a file within a phar archive

Phar::offsetSet
Phar::running
Phar


Returns the full path on disk or full phar URL to the currently executing Phar archive

Phar::offsetUnset
Phar::setAlias
Phar
PHP Manual

Phar::running

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive

Описание

string Phar::running ([ bool $retphar = true ] )

Returns the full path to the running phar archive. This is intended for use much like the __FILE__ magic constant, and only has effect inside an executing phar archive.

Inside the stub of an archive, Phar::running() returns "". Simply use __FILE__ to access the current running phar inside a stub.

Список параметров

retphar

If FALSE, the full path on disk to the phar archive is returned. If TRUE, a full phar URL is returned.

Возвращаемые значения

Returns the filename if valid, empty string otherwise.

Примеры

Пример #1 A Phar::running() example

For the following example, assume the phar archive is located at /path/to/phar/my.phar.

<?php
$a = Phar::running(); // $a is "phar:///path/to/my.phar"
$b = Phar::running(false); // $b is "/path/to/my.phar"
?>

Phar::offsetUnset
Phar::setAlias
Phar


Set the alias for the Phar archive

Phar::running
Phar::setDefaultStub
Phar
PHP Manual

Phar::setAlias

(PHP >= 5.3.0, PECL phar >= 1.2.1)

Phar::setAlias — Set the alias for the Phar archive

Описание

bool Phar::setAlias ( string $alias )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Set the alias for the Phar archive, and write it as the permanent alias for this phar archive. An alias can be used internally to a phar archive to ensure that use of the phar stream wrapper to access internal files always works regardless of the location of the phar archive on the filesystem. Another alternative is to rely upon Phar's interception of include() or to use Phar::interceptFileFuncs() and use relative paths.

Список параметров

alias

A shorthand string that this archive can be referred to in phar stream wrapper access.

Возвращаемые значения

Ошибки

Throws UnexpectedValueException when write access is disabled, and PharException if the alias is already in use or any problems were encountered flushing changes to disk.

Примеры

Пример #1 A Phar::setAlias() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setAlias('myp.phar');
} catch (Exception $e) {
    // handle error
}
?>

Смотрите также

  • Phar::__construct() - Construct a Phar archive object
  • Phar::interceptFileFuncs() - instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::running
Phar::setDefaultStub
Phar


Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Phar::setAlias
Phar::setMetadata
Phar
PHP Manual

Phar::setDefaultStub

(Unknown)

Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Описание

bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method is a convenience method that combines the functionality of Phar::createDefaultStub() and Phar::setStub().

Список параметров

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Примеры

Пример #1 A Phar::setDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setDefaultStub('cli.php', 'web/index.php');
    // this is the same as:
    // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::setAlias
Phar::setMetadata
Phar


Sets phar archive meta-data

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Описание

void Phar::setMetadata ( mixed $metadata )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Список параметров

metadata

Any PHP variable containing information to store that describes the phar archive

Возвращаемые значения

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

Примеры

Пример #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

Результат выполнения данного примера:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Смотрите также

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar


set the signature algorithm for a phar and apply it.

Phar::setMetadata
Phar::setStub
Phar
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.

Описание

void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Note that all executable phar archives have a signature created automatically, SHA1 by default. data tar- or zip-based archives (archives created with the PharData class) must have their signature created and set explicitly via Phar::setSignatureAlgorithm().

Список параметров

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

privatekey

The contents of an OpenSSL private key, as extracted from a certificate or OpenSSL key file:

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
See phar introduction for instructions on naming and placement of the public key file.

Возвращаемые значения

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

Ошибки

Throws UnexpectedValueException for many errors, and a PharException if any problems occur flushing changes to disk.

Смотрите также

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::setMetadata
Phar::setStub
Phar


Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar
PHP Manual

Phar::setStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive

Описание

bool Phar::setStub ( string $stub )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

Список параметров

stub

A string or an open stream handle to use as the executable stub for this phar archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Примеры

Пример #1 A Phar::setStub() example

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['a.php'] = '<?php var_dump("Hello");';
    $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("World");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

Результат выполнения данного примера:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

Смотрите также

  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar


Start buffering Phar write operations, do not modify the Phar object on disk

Phar::setStub
Phar::stopBuffering
Phar
PHP Manual

Phar::startBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk

Описание

void Phar::startBuffering ( void )

Although technically unnecessary, the Phar::startBuffering() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Возвращаемые значения

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

Примеры

Пример #1 A Phar::startBuffering() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->startBuffering();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetaData(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Смотрите также

  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::setStub
Phar::stopBuffering
Phar


Stop buffering write requests to the Phar archive, and save changes to disk

Phar::startBuffering
Phar::uncompressAllFiles
Phar
PHP Manual

Phar::stopBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk

Описание

void Phar::stopBuffering ( void )

Phar::stopBuffering() is used in conjunction with the Phar::startBuffering() method. Phar::startBuffering() can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Возвращаемые значения

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

Ошибки

PharException is thrown if any problems are encountered flushing changes to disk.

Примеры

Пример #1 A Phar::stopBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

Результат выполнения данного примера:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

Смотрите также

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::startBuffering
Phar::uncompressAllFiles
Phar


Uncompresses all files in the current Phar archive

Phar::stopBuffering
Phar::unlinkArchive
Phar
PHP Manual

Phar::uncompressAllFiles

(PECL phar < 2.0.0)

Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive

Описание

bool Phar::uncompressAllFiles ( void )

Замечание:

Этот метод был
удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций
Phar::compress(),
Phar::decompress(), Phar::compressFiles() и
Phar::decompressFiles().

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method decompresses all files in the Phar archive. If any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files, and any files compressed using bzip2 compression require the bzip2 extension to decompress the files. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not enabled and any files are compressed using bzip2 compression, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Примеры

Пример #1 A Phar::uncompressAllFiles() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p->compressAllFilesGZ();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

Phar::stopBuffering
Phar::unlinkArchive
Phar


Completely remove a phar archive from disk and from memory

Phar::uncompressAllFiles
Phar::webPhar
Phar
PHP Manual

Phar::unlinkArchive

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::unlinkArchive — Completely remove a phar archive from disk and from memory

Описание

bool Phar::unlinkArchive ( string $archive )

Removes a phar archive for disk and memory.

Список параметров

archive

The path on disk to the phar archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

PharException is thrown if there are any open file pointers to the phar archive, or any existing Phar, PharData, or PharFileInfo objects referring to the phar archive.

Примеры

Пример #1 A Phar::unlinkArchive() example

<?php
// simple usage
Phar::unlinkArchive('/path/to/my.phar');

// more common example:
$p = new Phar('my.phar');
$fp = fopen('phar://my.phar/file.txt', 'r');
// this creates 'my.phar.gz'
$gp = $p->compress(Phar::GZ);
// remove all references to the archive
unset($p);
fclose($fp);
// now remove all traces of the archive
Phar::unlinkArchive('my.phar');
?>

Смотрите также

  • Phar::delete() - Delete a file within a phar archive
  • Phar::offsetUnset() - remove a file from a phar

Phar::uncompressAllFiles
Phar::webPhar
Phar


mapPhar for web-based phars. front controller for web applications

Phar::unlinkArchive
PharData
Phar
PHP Manual

Phar::webPhar

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::webPhar — mapPhar for web-based phars. front controller for web applications

Описание

void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )

Phar::mapPhar() for web-based phars. This method parses $_SERVER['REQUEST_URI'] and routes a request from a web browser to an internal file within the phar archive. In essence, it simulates a web server, routing requests to the correct file, echoing the correct headers and parsing PHP files as needed. This powerful method is part of what makes it easy to convert an existing PHP application into a phar archive. Combined with Phar::mungServer() and Phar::interceptFileFuncs(), any web application can be used unmodified from a phar archive.

Phar::webPhar() should only be called from the stub of a phar archive (see here for more information on what a stub is).

Список параметров

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

index

The location within the phar of the directory index.

f404

The location of the script to run when a file is not found. This script should output the proper HTTP 404 headers.

mimetypes

An array mapping additional file extensions to MIME type. If the default mapping is sufficient, pass an empty array. By default, these extensions are mapped to these MIME types:

<?php
$mimes = array(
    'phps' => Phar::PHPS, // pass to highlight_file()
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'cpp' => 'text/plain',
    'c++' => 'text/plain',
    'dtd' => 'text/plain',
    'h' => 'text/plain',
    'log' => 'text/plain',
    'rng' => 'text/plain',
    'txt' => 'text/plain',
    'xsd' => 'text/plain',
    'php' => Phar::PHP, // parse as PHP
    'inc' => Phar::PHP, // parse as PHP
    'avi' => 'video/avi',
    'bmp' => 'image/bmp',
    'css' => 'text/css',
    'gif' => 'image/gif',
    'htm' => 'text/html',
    'html' => 'text/html',
    'htmls' => 'text/html',
    'ico' => 'image/x-ico',
    'jpe' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'js' => 'application/x-javascript',
    'midi' => 'audio/midi',
    'mid' => 'audio/midi',
    'mod' => 'audio/mod',
    'mov' => 'movie/quicktime',
    'mp3' => 'audio/mp3',
    'mpg' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'pdf' => 'application/pdf',
    'png' => 'image/png',
    'swf' => 'application/shockwave-flash',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'wav' => 'audio/wav',
    'xbm' => 'image/xbm',
    'xml' => 'text/xml',
);
?>

rewrites

An array mapping URI to internal file, simulating mod_rewrite of apache. For example:

<?php
array(
    'myinfo' => 'myinfo.php'
);
?>
would route calls to http://<host>/myphar.phar/myinfo to the file phar:///path/to/myphar.phar/myinfo.php, preserving GET/POST. This does not quite work like mod_rewrite in that it would not match http://<host>/myphar.phar/myinfo/another.

Возвращаемые значения

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

Ошибки

Throws PharException when unable to open the internal file to output, or if called from a non-stub. If an invalid array value is passed into mimetypes or to rewrites, then UnexpectedValueException is thrown.

Примеры

Пример #1 A Phar::webPhar() example

With the example below, the created phar will display Hello World if one browses to /myphar.phar/index.php or to /myphar.phar, and will display the source of index.phps if one browses to /myphar.phar/index.phps.

<?php
// creating the phar archive:
try {
    $phar = new Phar('myphar.phar');
    $phar['index.php'] = '<?php echo "Hello World"; ?>';
    $phar['index.phps'] = '<?php echo "Hello World"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
    // handle error here
}
?>

Смотрите также

  • Phar::mungServer() - Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::interceptFileFuncs() - instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::unlinkArchive
PharData
Phar


The PharData class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Обзор классов

PharData extends Phar {
/* Свойства */
/* Методы */
bool addEmptyDir ( string $dirname )
void Phar::addFile ( string $file [, string $localname ] )
bool addFromString ( string $localname , string $contents )
array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
object compress ( int $compression [, string $extension ] )
bool compressFiles ( int $compression )
void __construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )
PharData convertToData ([ int $format [, int $compression [, string $extension ]]] )
Phar convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
bool delMetadata ( void )
bool delete ( string $entry )
bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
bool isWritable ( void )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
bool setAlias ( string $alias )
bool setDefaultStub ([ string $index [, string $webindex ]] )
void Phar::setMetadata ( mixed $metadata )
void Phar::setSignatureAlgorithm ( int $sigtype )
bool setStub ( string $stub )
/* Наследуемые методы */
void Phar::addEmptyDir ( string $dirname )
void Phar::addFile ( string $file [, string $localname ] )
void Phar::addFromString ( string $localname , string $contents )
string Phar::apiVersion ( void )
array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )
bool Phar::canCompress ([ int $type = 0 ] )
bool Phar::canWrite ( void )
object Phar::compress ( int $compression [, string $extension ] )
bool Phar::compressAllFilesBZIP2 ( void )
bool Phar::compressAllFilesGZ ( void )
void Phar::compressFiles ( int $compression )
void Phar::__construct ( string $fname [, int $flags [, string $alias ]] )
PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
bool Phar::copy ( string $oldfile , string $newfile )
int Phar::count ( void )
string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
object Phar::decompress ([ string $extension ] )
bool Phar::decompressFiles ( void )
bool Phar::delMetadata ( void )
bool Phar::delete ( string $entry )
bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
mixed Phar::getMetaData ( void )
bool Phar::getModified ( void )
array Phar::getSignature ( void )
string Phar::getStub ( void )
array Phar::getSupportedCompression ( void )
array Phar::getSupportedSignatures ( void )
string Phar::getVersion ( void )
bool Phar::hasMetadata ( void )
void Phar::interceptFileFuncs ( void )
bool Phar::isBuffering ( void )
mixed Phar::isCompressed ( void )
bool Phar::isFileFormat ( int $format )
bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )
bool Phar::isWritable ( void )
bool Phar::loadPhar ( string $filename [, string $alias ] )
bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
void Phar::mount ( string $pharpath , string $externalpath )
void Phar::mungServer ( array $munglist )
bool Phar::offsetExists ( string $offset )
int Phar::offsetGet ( string $offset )
void Phar::offsetSet ( string $offset , string $value )
bool Phar::offsetUnset ( string $offset )
string Phar::running ([ bool $retphar = true ] )
bool Phar::setAlias ( string $alias )
bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )
void Phar::setMetadata ( mixed $metadata )
void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
bool Phar::setStub ( string $stub )
void Phar::startBuffering ( void )
void Phar::stopBuffering ( void )
bool Phar::uncompressAllFiles ( void )
bool Phar::unlinkArchive ( string $archive )
void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )
}

Содержание

  • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
  • PharData::addFile — Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
  • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.
  • PharData::buildFromIterator — Construct a tar or zip archive from an iterator.
  • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::compressFiles — Compresses all files in the current tar/zip archive
  • PharData::__construct — Construct a non-executable tar or zip archive object
  • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
  • PharData::decompress — Decompresses the entire Phar archive
  • PharData::decompressFiles — Decompresses all files in the current zip archive
  • PharData::delMetadata — Deletes the global metadata of a zip archive
  • PharData::delete — Delete a file within a tar/zip archive
  • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
  • PharData::isWritable — Returns true if the tar/zip archive can be modified
  • PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string
  • PharData::offsetUnset — remove a file from a tar/zip archive
  • PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)
  • PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it. The
  • PharData::setStub — dummy function (Phar::setStub is not valid for PharData)
Phar::webPhar
PharData::addEmptyDir
Phar


Add an empty directory to the tar/zip archive

PharData
PharData::addFile
PharData
PHP Manual

PharData::addEmptyDir

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addEmptyDir — Add an empty directory to the tar/zip archive

Описание

bool PharData::addEmptyDir ( string $dirname )

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Список параметров

dirname

The name of the empty directory to create in the phar archive

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A PharData::addEmptyDir() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • Phar::addEmptyDir() - Add an empty directory to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive

PharData
PharData::addFile
PharData


Add a file from the filesystem to the tar/zip archive

PharData::addEmptyDir
PharData::addFromString
PharData
PHP Manual

PharData::addFile

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFile — Add a file from the filesystem to the tar/zip archive

Описание

void Phar::addFile ( string $file [, string $localname ] )

With this method, any file or URL can be added to the tar/zip archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Список параметров

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A PharData::addFile() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • PharData::offsetSet() - set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive

PharData::addEmptyDir
PharData::addFromString
PharData


Add a file from the filesystem to the tar/zip archive

PharData::addFile
PharData::buildFromDirectory
PharData
PHP Manual

PharData::addFromString

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFromString — Add a file from the filesystem to the tar/zip archive

Описание

bool PharData::addFromString ( string $localname , string $contents )

With this method, any string can be added to the tar/zip archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Список параметров

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Возвращаемые значения

no return value, exception is thrown on failure.

Примеры

Пример #1 A PharData::addFromString() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Смотрите также

  • PharData::offsetSet() - set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFromString() - Add a file from the filesystem to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive

PharData::addFile
PharData::buildFromDirectory
PharData


Construct a tar/zip archive from the files within a directory.

PharData::addFromString
PharData::buildFromIterator
PharData
PHP Manual

PharData::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.

Описание

array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Populate a tar/zip archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use PharData::buildFromIterator().

Список параметров

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Возвращаемые значения

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Ошибки

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Примеры

Пример #1 A PharData::buildFromDirectory() example

<?php
$phar = new PharData('project.tar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// add all files in the project, only include php files
$phar->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

Смотрите также

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory.
  • PharData::buildFromIterator() - Construct a tar or zip archive from an iterator.

PharData::addFromString
PharData::buildFromIterator
PharData


Construct a tar or zip archive from an iterator.

PharData::buildFromDirectory
PharData::compress
PharData
PHP Manual

PharData::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construct a tar or zip archive from an iterator.

Описание

array PharData::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Populate a tar or zip archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the tar/zip to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Примеры

Пример #1 A PharData::buildFromIterator() with SplFileInfo

For most tar/zip archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a tar/zip archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.tar" tar archive:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
?>

The file project.tar can then be used immediately. PharData::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the tar/zip archive.

As an interesting note, PharData::buildFromIterator() can also be used to copy the contents of an existing phar, tar or zip archive, as the PharData object descends from DirectoryIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Пример #2 A PharData::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
?>

Список параметров

iter

Any iterator that either associatively maps tar/zip file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the tar/zip archive

Возвращаемые значения

PharData::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Ошибки

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Смотрите также

  • Phar::buildFromIterator() - Construct a phar archive from an iterator.

PharData::buildFromDirectory
PharData::compress
PharData


Compresses the entire tar/zip archive using Gzip or Bzip2 compression

PharData::buildFromIterator
PharData::compressFiles
PharData
PHP Manual

PharData::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression

Описание

object PharData::compress ( int $compression [, string $extension ] )

For tar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For zip archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Список параметров

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .tar.gz or .tar.bz2 for compressing a tar, and .tar for decompressing.

Возвращаемые значения

A PharData object is returned.

Ошибки

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Примеры

Пример #1 A PharData::compress() example

<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>

Смотрите также

  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression

PharData::buildFromIterator
PharData::compressFiles
PharData


Compresses all files in the current tar/zip archive

PharData::compress
PharData::__construct
PharData
PHP Manual

PharData::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compressFiles — Compresses all files in the current tar/zip archive

Описание

bool PharData::compressFiles ( int $compression )

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method compresses all files in the archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing.

Список параметров

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Примеры

Пример #1 A PharData::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::decompressFiles() - Decompresses all files in the current zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive

PharData::compress
PharData::__construct
PharData


Construct a non-executable tar or zip archive object

PharData::compressFiles
PharData::convertToData
PharData
PHP Manual

PharData::__construct

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::__construct — Construct a non-executable tar or zip archive object

Описание

void PharData::__construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )

Список параметров

fname

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

format

One of the file format constants available within the Phar class.

Ошибки

Throws BadMethodCallException if called twice; UnexpectedValueException if the Phar archive can't be opened.

Примеры

Пример #1 A PharData::__construct() example

<?php
try {
    $p = new PharData('/path/to/my.tar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
    die('Could not open my.tar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
echo file_get_contents('phar:///path/to/my.tar/example.txt');
?>

PharData::compressFiles
PharData::convertToData
PharData


Convert a phar archive to a non-executable tar or zip file

PharData::__construct
PharData::convertToExecutable
PharData
PHP Manual

PharData::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToData — Convert a phar archive to a non-executable tar or zip file

Описание

PharData PharData::convertToData ([ int $format [, int $compression [, string $extension ]]] )

This method is used to convert a non-executable tar or zip archive to another non-executable format.

If no changes are specified, this method throws a BadMethodCallException. This method should be used to convert a tar archive to zip format or vice-versa. Although it is possible to simply change the compression of a tar archive using this method, it is better to use the PharData::compress() method for logical consistency.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Список параметров

format

This should be one of Phar::TAR or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Возвращаемые значения

The method returns a PharData object on success and throws an exception on failure.

Ошибки

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Примеры

Пример #1 A PharData::convertToData() example

Using PharData::convertToData():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // note that myphar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Смотрите также

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive

PharData::__construct
PharData::convertToExecutable
PharData


Convert a non-executable tar/zip archive to an executable phar archive

PharData::convertToData
PharData::copy
PharData
PHP Manual

PharData::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive

Описание

Phar PharData::convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

This method is used to convert a non-executable tar or zip archive to an executable phar archive. Any of the three executable file formats (phar, tar or zip) can be used, and whole-archive compression can also be performed.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Список параметров

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Возвращаемые значения

The method returns a Phar object on success and throws an exception on failure.

Ошибки

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Примеры

Пример #1 A PharData::convertToExecutable() example

Using PharData::convertToExecutable():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // convert it to the phar file format
    // note that myphar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Смотрите также

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

PharData::convertToData
PharData::copy
PharData


Copy a file internal to the phar archive to another new file within the phar

PharData::convertToExecutable
PharData::decompress
PharData
PHP Manual

PharData::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::copy — Copy a file internal to the phar archive to another new file within the phar

Описание

bool PharData::copy ( string $oldfile , string $newfile )

Copy a file internal to the tar/zip archive to another new file within the same archive. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Список параметров

oldfile

newfile

Возвращаемые значения

returns TRUE on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Ошибки

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Примеры

Пример #1 A PharData::copy() example

This example shows using PharData::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All PharData methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "phar://myphar.tar/b"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // outputs "hi"
?>

PharData::convertToExecutable
PharData::decompress
PharData


Decompresses the entire Phar archive

PharData::copy
PharData::decompressFiles
PharData
PHP Manual

PharData::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompress — Decompresses the entire Phar archive

Описание

object PharData::decompress ([ string $extension ] )

For tar-based archives, this method decompresses the entire archive.

For Zip-based archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression.

In addition, this method automatically renames the file extension of the archive, .tar by default. Alternatively, a file extension may be specified with the second parameter.

Список параметров

extension

For decompressing, the default file extension is .phar.tar. Use this parameter to specify another file extension. Be aware that no non-executable archives cannot contain .phar in their filename.

Возвращаемые значения

A PharData object is returned.

Ошибки

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Примеры

Пример #1 A PharData::decompress() example

<?php
$p = new PharData('/path/to/my.tar', 0, 'my.tar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.tar
?>

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • PharData::decompressFiles() - Decompresses all files in the current zip archive

PharData::copy
PharData::decompressFiles
PharData


Decompresses all files in the current zip archive

PharData::decompress
PharData::delMetadata
PharData
PHP Manual

PharData::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompressFiles — Decompresses all files in the current zip archive

Описание

bool PharData::decompressFiles ( void )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method decompresses all files in the archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Примеры

Пример #1 A PharData::decompressFiles() example

<?php
$p = new PharData('/path/to/my.zip');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Результат выполнения данного примера:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive

PharData::decompress
PharData::delMetadata
PharData


Deletes the global metadata of a zip archive

PharData::decompressFiles
PharData::delete
PharData
PHP Manual

PharData::delMetadata

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delMetadata — Deletes the global metadata of a zip archive

Описание

bool PharData::delMetadata ( void )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Deletes the global metadata of the zip archive

Список параметров

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A PharData::delMetaData() example

<?php
try {
    $phar = new PharData('myphar.zip');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Результат выполнения данного примера:

NULL
string(8) "hi there"
NULL

Смотрите также

  • Phar::delMetadata() - Deletes the global metadata of the phar

PharData::decompressFiles
PharData::delete
PharData


Delete a file within a tar/zip archive

PharData::delMetadata
PharData::extractTo
PharData
PHP Manual

PharData::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delete — Delete a file within a tar/zip archive

Описание

bool PharData::delete ( string $entry )

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Список параметров

entry

Path within an archive to the file to delete.

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A PharData::delete() example

<?php
try {
    $phar = new PharData('myphar.zip');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • Phar::delete() - Delete a file within a phar archive

PharData::delMetadata
PharData::extractTo
PharData


Extract the contents of a tar/zip archive to a directory

PharData::delete
PharData::isWritable
PharData
PHP Manual

PharData::extractTo

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::extractTo — Extract the contents of a tar/zip archive to a directory

Описание

bool PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Extract all files within a tar/zip archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Список параметров

pathto

Path within an archive to the file to delete.

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to TRUE to enable overwriting existing files

Возвращаемые значения

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Ошибки

Throws PharException if errors occur while flushing changes to disk.

Примеры

Пример #1 A PharData::extractTo() example

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Смотрите также

  • Phar::extractTo() - Extract the contents of a phar archive to a directory

PharData::delete
PharData::isWritable
PharData


Returns true if the tar/zip archive can be modified

PharData::extractTo
PharData::offsetSet
PharData
PHP Manual

PharData::isWritable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::isWritable — Returns true if the tar/zip archive can be modified

Описание

bool PharData::isWritable ( void )

This method returns TRUE if the tar/zip archive on disk is not read-only. Unlike Phar::isWritable(), data-only tar/zip archives can be modified even if phar.readonly is set to 1.

Список параметров

No parameters.

Возвращаемые значения

Returns TRUE if the tar/zip archive can be modified

Смотрите также

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • Phar::isWritable() - Returns true if the phar archive can be modified

PharData::extractTo
PharData::offsetSet
PharData


set the contents of a file within the tar/zip to those of an external file or string

PharData::isWritable
PharData::offsetUnset
PharData
PHP Manual

PharData::offsetSet

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string

Описание

void PharData::offsetSet ( string $offset , string $value )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a tar/zip archive.

Список параметров

offset

The filename (relative path) to modify in a tar or zip archive.

value

Content of the file.

Возвращаемые значения

No return values.

Ошибки

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Примеры

Пример #1 A PharData::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new PharData('/path/to/my.tar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Смотрите также

  • Phar::offsetSet() - set the contents of an internal file to those of an external file

PharData::isWritable
PharData::offsetUnset
PharData


remove a file from a tar/zip archive

PharData::offsetSet
PharData::setAlias
PharData
PHP Manual

PharData::offsetUnset

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetUnset — remove a file from a tar/zip archive

Описание

bool PharData::offsetUnset ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Список параметров

offset

The filename (relative path) to modify in the tar/zip archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Примеры

Пример #1 A PharData::offsetUnset() example

<?php
$p = new PharData('/path/to/my.zip');
try {
    // deletes file.txt from my.zip by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Смотрите также

  • Phar::offsetUnset() - remove a file from a phar

PharData::offsetSet
PharData::setAlias
PharData


dummy function (Phar::setAlias is not valid for PharData)

PharData::offsetUnset
PharData::setDefaultStub
PharData
PHP Manual

PharData::setAlias

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)

Описание

bool PharData::setAlias ( string $alias )

Non-executable tar/zip archives cannot have an alias, so this method simply throws an exception.

Список параметров

alias

A shorthand string that this archive can be referred to in phar stream wrapper access. This parameter is ignored.

Возвращаемые значения

Ошибки

Throws PharException on all method calls

Смотрите также

  • Phar::setAlias() - Set the alias for the Phar archive

PharData::offsetUnset
PharData::setDefaultStub
PharData


dummy function (Phar::setDefaultStub is not valid for PharData)

PharData::setAlias
Phar::setMetadata
PharData
PHP Manual

PharData::setDefaultStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)

Описание

bool PharData::setDefaultStub ([ string $index [, string $webindex ]] )

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Список параметров

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws PharException on all method calls

Смотрите также

  • Phar::setDefaultStub() - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

PharData::setAlias
Phar::setMetadata
PharData


Sets phar archive meta-data

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Описание

void Phar::setMetadata ( mixed $metadata )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Список параметров

metadata

Any PHP variable containing information to store that describes the phar archive

Возвращаемые значения

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

Примеры

Пример #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

Результат выполнения данного примера:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Смотрите также

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData


set the signature algorithm for a phar and apply it. The

Phar::setMetadata
PharData::setStub
PharData
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it. The

Описание

void Phar::setSignatureAlgorithm ( int $sigtype )

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::PGP (pgp not yet supported and falls back to SHA-1).

Список параметров

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::PGP

Возвращаемые значения

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

Ошибки

Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip- or a tar-based phar archive, and a PharException if any problems occur flushing changes to disk.

Смотрите также

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::setMetadata
PharData::setStub
PharData


dummy function (Phar::setStub is not valid for PharData)

Phar::setSignatureAlgorithm
PharFileInfo
PharData
PHP Manual

PharData::setStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setStub — dummy function (Phar::setStub is not valid for PharData)

Описание

bool PharData::setStub ( string $stub )

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Список параметров

stub

A string or an open stream handle to use as the executable stub for this phar archive. This parameter is ignored.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws PharException on all method calls

Смотрите также

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setSignatureAlgorithm
PharFileInfo
PharData


The PharFileInfo class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The PharFileInfo class provides a high-level interface to the contents and attributes of a single file within a phar archive.

Обзор классов

PharFileInfo extends SplFileInfo {
/* Свойства */
/* Методы */
void chmod ( int $permissions )
bool compress ( int $compression )
void __construct ( string $entry )
bool decompress ( void )
bool delMetadata ( void )
int getCRC32 ( void )
int getCompressedSize ( void )
mixed getMetaData ( void )
int getPharFlags ( void )
bool hasMetadata ( void )
bool isCRCChecked ( void )
bool isCompressed ([ int $compression_type = 9021976 ] )
bool isCompressedBZIP2 ( void )
bool isCompressedGZ ( void )
bool setCompressedBZIP2 ( void )
bool setCompressedGZ ( void )
void setMetaData ( mixed $metadata )
bool setUncompressed ( void )
}

Содержание

  • PharFileInfo::chmod — Sets file-specific permission bits
  • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::__construct — Construct a Phar entry object
  • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
  • PharFileInfo::delMetadata — Deletes the metadata of the entry
  • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
  • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::getMetaData — Returns file-specific meta-data saved with a file
  • PharFileInfo::getPharFlags — Returns the Phar file entry flags
  • PharFileInfo::hasMetadata — Returns the metadata of the entry
  • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
  • PharFileInfo::isCompressed — Returns whether the entry is compressed
  • PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression
  • PharFileInfo::setMetaData — Sets file-specific meta-data saved with a file
  • PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed
PharData::setStub
PharFileInfo::chmod
Phar


Sets file-specific permission bits

PharFileInfo
PharFileInfo::compress
PharFileInfo
PHP Manual

PharFileInfo::chmod

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::chmod — Sets file-specific permission bits

Описание

void PharFileInfo::chmod ( int $permissions )

PharFileInfo::chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Список параметров

permissions

permissions (see chmod())

Возвращаемые значения

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

Примеры

Пример #1 A PharFileInfo::chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar('brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // set executable bit
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

Результат выполнения данного примера:

bool(true)

PharFileInfo
PharFileInfo::compress
PharFileInfo


Compresses the current Phar entry with either zlib or bzip2 compression

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo
PHP Manual

PharFileInfo::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression

Описание

bool PharFileInfo::compress ( int $compression )

This method compresses the file inside the Phar archive using either bzip2 compression or zlib compression. The bzip2 or zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed, the respective extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Примеры

Пример #1 A PharFileInfo::compress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressed(Phar::BZ2));
    $p['myfile.txt']->compress(Phar::BZ2);
    var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo


Construct a Phar entry object

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo
PHP Manual

PharFileInfo::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construct a Phar entry object

Описание

void PharFileInfo::__construct ( string $entry )

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

Список параметров

entry

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

Ошибки

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

Примеры

Пример #1 A PharFileInfo::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['testfile.txt'] = "hi\nthere\ndude";
    $file = $p['testfile.txt'];
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
    // this also works
    $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
} catch (Exception $e) {
    echo 'Phar operations failed: ', $e;
}
?>

Результат выполнения данного примера:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo


Decompresses the current Phar entry within the phar

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo
PHP Manual

PharFileInfo::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::decompress — Decompresses the current Phar entry within the phar

Описание

bool PharFileInfo::decompress ( void )

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Примеры

Пример #1 A PharFileInfo::decompress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->compress(Phar::GZ);
    var_dump($file->isCompressed());
    $p['myfile.txt']->decompress();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

Результат выполнения данного примера:

int(4096)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo


Deletes the metadata of the entry

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo
PHP Manual

PharFileInfo::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Deletes the metadata of the entry

Описание

bool PharFileInfo::delMetadata ( void )

Deletes the metadata of the entry, if any.

Список параметров

No parameters.

Возвращаемые значения

Returns TRUE if successful, FALSE if the entry had no metadata. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Ошибки

Throws PharException if errors occurred while flushing changes to disk, and BadMethodCallException if write access is disabled.

Примеры

Пример #1 A PharFileInfo::delMetaData() example

<?php
try {
    $a = new Phar('myphar.phar');
    $a['hi'] = 'hi';
    var_dump($a['hi']->delMetadata());
    $a['hi']->setMetadata('there');
    var_dump($a['hi']->delMetadata());
    var_dump($a['hi']->delMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)
bool(false)

Смотрите также

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo


Returns CRC32 code or throws an exception if CRC has not been verified

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo
PHP Manual

PharFileInfo::getCRC32

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified

Описание

int PharFileInfo::getCRC32 ( void )

This returns the crc32() checksum of the file within the Phar archive.

Возвращаемые значения

The crc32() checksum of the file within the Phar archive.

Ошибки

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

Примеры

Пример #1 A PharFileInfo::getCRC32() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

3633523372

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo


Returns the actual size of the file (with compression) inside the Phar archive

PharFileInfo::getCRC32
PharFileInfo::getMetaData
PharFileInfo
PHP Manual

PharFileInfo::getCompressedSize

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive

Описание

int PharFileInfo::getCompressedSize ( void )

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

Возвращаемые значения

The size in bytes of the file within the Phar archive on disk.

Примеры

Пример #1 A PharFileInfo::getCompressedSize() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

Результат выполнения данного примера:

2

Смотрите также

  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive

PharFileInfo::getCRC32
PharFileInfo::getMetaData
PharFileInfo


Returns file-specific meta-data saved with a file

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo
PHP Manual

PharFileInfo::getMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getMetaData — Returns file-specific meta-data saved with a file

Описание

mixed PharFileInfo::getMetaData ( void )

Return meta-data that was saved in the Phar archive's manifest for this file.

Список параметров

Возвращаемые значения

any PHP variable that can be serialized and is stored as meta-data for the file, or NULL if no meta-data is stored.

Примеры

Пример #1 A PharFileInfo::getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

Результат выполнения данного примера:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Смотрите также

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo


Returns the Phar file entry flags

PharFileInfo::getMetaData
PharFileInfo::hasMetadata
PharFileInfo
PHP Manual

PharFileInfo::getPharFlags

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Returns the Phar file entry flags

Описание

int PharFileInfo::getPharFlags ( void )

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

Возвращаемые значения

The Phar flags (always 0 in the current implementation)

Примеры

Пример #1 A PharFileInfo::getPharFlags() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Could not create/modify my.phar: ', $e;
}
?>

Результат выполнения данного примера:

int(0)

PharFileInfo::getMetaData
PharFileInfo::hasMetadata
PharFileInfo


Returns the metadata of the entry

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo
PHP Manual

PharFileInfo::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Returns the metadata of the entry

Описание

bool PharFileInfo::hasMetadata ( void )

Returns the metadata of a file within a phar archive.

Список параметров

No parameters.

Возвращаемые значения

Returns FALSE if no metadata is set or is NULL, TRUE if metadata is not NULL

Смотрите также

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo


Returns whether file entry has had its CRC verified

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo
PHP Manual

PharFileInfo::isCRCChecked

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified

Описание

bool PharFileInfo::isCRCChecked ( void )

This returns whether a file within a Phar archive has had its CRC verified.

Возвращаемые значения

TRUE if the file has had its CRC verified, FALSE if not.

Примеры

Пример #1 A PharFileInfo::isCRCChecked() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

Результат выполнения данного примера:

bool(true)

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo


Returns whether the entry is compressed

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Returns whether the entry is compressed

Описание

bool PharFileInfo::isCompressed ([ int $compression_type = 9021976 ] )

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

Список параметров

compression_type

One of Phar::GZ or Phar::BZ2, defaults to any compression.

Возвращаемые значения

TRUE if the file is compressed within the Phar archive, FALSE if not.

Примеры

Пример #1 A PharFileInfo::isCompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo


Returns whether the entry is compressed using bzip2

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::isCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2

Описание

bool PharFileInfo::isCompressedBZIP2 ( void )

Замечание:

Этот метод был удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций PharFileInfo::isCompressed(), PharFileInfo::decompress(), и PharFileInfo::compress().

This returns whether a file is compressed within a Phar archive with Bzip2 compression.

Возвращаемые значения

TRUE if the file is compressed within the Phar archive using Bzip2, FALSE if not.

Примеры

Пример #1 A PharFileInfo::isCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedBZIP2());
    var_dump($file2->isCompressedBZIP2());
    var_dump($file3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo


Returns whether the entry is compressed using gz

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz

Описание

bool PharFileInfo::isCompressedGZ ( void )

Замечание:

Этот метод был удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций PharFileInfo::isCompressed(), PharFileInfo::decompress(), и PharFileInfo::compress().

This returns whether a file is compressed within a Phar archive with Gzip compression.

Возвращаемые значения

TRUE if the file is compressed within the Phar archive using Gzip, FALSE if not.

Примеры

Пример #1 A PharFileInfo::isCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedGZ());
    var_dump($file2->isCompressedGZ());
    var_dump($file3->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo


Compresses the current Phar entry within the phar using Bzip2 compression

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::setCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression

Описание

bool PharFileInfo::setCompressedBZIP2 ( void )

Замечание:

Этот метод был удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций PharFileInfo::isCompressed(), PharFileInfo::decompress(), и PharFileInfo::compress().

This method compresses the file inside the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using gzip compression, the zlib extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2 extension is not available.

Примеры

Пример #1 A PharFileInfo::setCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedBZIP2());
    $p['myfile.txt']->setCompressedBZIP2();
    var_dump($file->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo


Compresses the current Phar entry within the phar using gz compression

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetaData
PharFileInfo
PHP Manual

PharFileInfo::setCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression

Описание

bool PharFileInfo::setCompressedGZ ( void )

Замечание:

Этот метод был удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций PharFileInfo::isCompressed(), PharFileInfo::decompress(), и PharFileInfo::compress().

This method compresses the file inside the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the zlib extension is not available.

Примеры

Пример #1 A PharFileInfo::setCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedGZ());
    $p['myfile.txt']->setCompressedGZ();
    var_dump($file->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetaData
PharFileInfo


Sets file-specific meta-data saved with a file

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo
PHP Manual

PharFileInfo::setMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setMetaData — Sets file-specific meta-data saved with a file

Описание

void PharFileInfo::setMetaData ( mixed $metadata )

PharFileInfo::setMetaData() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar; it is possible to set them with the PharFileInfo::chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

Список параметров

metadata

Any PHP variable containing information to store alongside a file

Возвращаемые значения

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

Примеры

Пример #1 A PharFileInfo::setMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

Результат выполнения данного примера:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Смотрите также

  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo


Uncompresses the current Phar entry within the phar, if it is compressed

PharFileInfo::setMetaData
PharException
PharFileInfo
PHP Manual

PharFileInfo::setUncompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed

Описание

bool PharFileInfo::setUncompressed ( void )

Замечание:

Этот метод был удален из расширения phar, начиная с версии 2.0.0. Альтернативные реализации возможны с помощью функций PharFileInfo::isCompressed(), PharFileInfo::decompress(), и PharFileInfo::compress().

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Примеры

Пример #1 A PharFileInfo::setUncompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->setCompressedGZ();
    var_dump($file->isCompressed());
    $p['myfile.txt']->setUncompressed();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Смотрите также

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::setMetaData
PharException
PharFileInfo


The PharException class

(Unknown)

Введение

The PharException class provides a phar-specific exception class for try/catch blocks.

Обзор классов

PharException extends Exception {
/* Свойства */
}

Содержание

  • PharException — The PharException class provides a phar-specific exception class for try/catch blocks.
PharFileInfo::setUncompressed
PharException
Phar


The PharException class provides a phar-specific exception class for try/catch blocks.

PharException
Rar
PharException
PHP Manual

PharException

(Unknown)

PharException — The PharException class provides a phar-specific exception class for try/catch blocks.

Описание

PharException
Rar
PharException
PHP Manual


Архивирование Rar

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Rar
    • rar_wrapper_cache_stats — Кэш доступов и отказов обертки URL
  • RarArchive — Класс RarArchive
    • RarArchive::close — Close RAR archive and free all resources
    • RarArchive::getComment — Get comment text from the RAR archive
    • RarArchive::getEntries — Get full list of entries from the RAR archive
    • RarArchive::getEntry — Get entry object from the RAR archive
    • RarArchive::isBroken — Test whether an archive is broken (incomplete)
    • RarArchive::isSolid — Check whether the RAR archive is solid
    • RarArchive::open — Open RAR archive
    • RarArchive::setAllowBroken — Whether opening broken archives is allowed
    • RarArchive::__toString — Get text representation
  • RarEntry — The RarEntry class
    • RarEntry::extract — Extract entry from the archive
    • RarEntry::getAttr — Get attributes of the entry
    • RarEntry::getCrc — Get CRC of the entry
    • RarEntry::getFileTime — Get entry last modification time
    • RarEntry::getHostOs — Get entry host OS
    • RarEntry::getMethod — Get pack method of the entry
    • RarEntry::getName — Get name of the entry
    • RarEntry::getPackedSize — Get packed size of the entry
    • RarEntry::getStream — Get file handler for entry
    • RarEntry::getUnpackedSize — Get unpacked size of the entry
    • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory — Test whether an entry represents a directory
    • RarEntry::isEncrypted — Test whether an entry is encrypted
    • RarEntry::__toString — Get text representation of entry
  • RarException — Класс RarException
    • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions
PharException
Введение
Расширения сжатия и архивации


Введение

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

Больше информации о Rar и UnRar можно найти здесь: » http://www.rarlabs.com/.

Rar
Установка и настройка
Rar


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Rar


Установка

Расширение Rar в настоящее время доступно в PECL » http://pecl.php.net/package/rar.

Вы также можете воспользоваться установщиком PECL, чтобы установить расширение Rar. Для этого необходимо использовать команду: pecl -v install rar.

Также вы можете скачать архив tar.gz и установить Rar вручную:

Пример #1 Установка Rar

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Пользователям Windows необходимо включить php_rar.dll в php.ini. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

Это расширение использует три внутренних ресурса: Дескриптор файла, возвращаемый функцией rar_open() – RarArchive –, содержимое архива, возвращаемое функцией rar_list() и rar_entry_get() – RarEntry и тип исключений RarException.

Это расширение также регистрирует потоковый ресурс, называемый "rar", и обертку URL, называемую "rar wrapper", и соответствующий ей префикс "rar".

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

RAR_HOST_MSDOS (integer)
Используйте вместо нее константу RarEntry::HOST_MSDOS.
RAR_HOST_OS2 (integer)
Используйте вместо нее константу RarEntry::HOST_OS2.
RAR_HOST_WIN32 (integer)
Используйте вместо нее константу RarEntry::HOST_WIN32.
RAR_HOST_UNIX (integer)
Используйте вместо нее константу RarEntry::HOST_UNIX.
RAR_HOST_BEOS (integer)
Используйте вместо нее константу RarEntry::HOST_BEOS.
Типы ресурсов
Примеры
Rar


Примеры

Также смотрите примеры по ссылке rar:// wrapper.

Пример #1 Декомпрессия на лету

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
    die("Индекс не указан или не числовой");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
    die("Невозможно открыть example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
    die("Невозможно получить записи");

if (!array_key_exists($index, $entries))
    die("Нет такого индекса: $index");

$orfilename = $entries[$index]->getName(); //Кодировка UTF-8

$filesize = $entries[$index]->getUnpackedSize();

/* Вы можете здесь проверить константу HTTP_IF_MODIFIED_SINCE и сравнить с
 * $entries[$index]->getFileTime(). Также возможно отослать заголовок
 * "Last modified" */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
    die("Невозможно открыть файл с индексом $index внутри архива.");

$arch->close(); // Больше не нужен. Поток является независимым

function detectUserAgent() {
    if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
        return "Other";

    $uas = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match("@Opera/@", $uas))
        return "Opera";
    if (preg_match("@Firefox/@", $uas))
        return "Firefox";
    if (preg_match("@Chrome/@", $uas))
        return "Chrome";
    if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
        if (((float)$matches[1]) >= 7.0)
            return "IE";
    }

    return "Other";
}

/*
 * Действуют 3 опции:
 * - Для FF и Opera, с поддержкой RFC 2231, используется этот формат.
 * - Для IE и Chrome, используется attwithfnrawpctenclong
 *   (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
 * - Для других браузеров, перекодируется в ISO-8859-1, если возможно
 */
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
    case "Opera":
    case "Firefox":
        $orfilename = rawurlencode($orfilename);
        $format = $formatRFC2231;
        break;

    case "IE":
    case "Chrome":
        $orfilename = rawurlencode($orfilename);
        $format = $formatDef;
        break;
    default:
        if (function_exists('iconv'))
            $orfilename =
                @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
        $format = $formatDef;
}

header(sprintf($format, $orfilename));
//Невозможна дальнейшая отсылка сообщений об ошибках (заголовки уже отправлены)

//Замена на реальный content type, возможно определенный по расширению файла
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
    die();

while (!feof($fp)) {
    $s = @fread($fp, 8192);
    if ($s === false)
        break; //тут бесполезно отправлять сообщения об ошибках

    echo $s;
}
?>

Этот пример открывает RAR-файл и предоставляет запрошенный файл вне RAR-архива для загрузки клиентом.

Пример #2 Пример извлечения перечня файлов и директорий из RAR-архива

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть RAR архив");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Имя файла: ' . $entry->getName() . "\n";
    echo 'Упакованный размер: ' . $entry->getPackedSize() . "\n";
    echo 'Распакованный размер: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

Этот пример открывает RAR-файл и извлекает каждый объект в указанную директорию.

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


Rar
PHP Manual

Rar

Содержание

  • rar_wrapper_cache_stats — Кэш доступов и отказов обертки URL
Примеры
rar_wrapper_cache_stats
Rar
PHP Manual


Кэш доступов и отказов обертки URL

Rar
RarArchive
Rar
PHP Manual

rar_wrapper_cache_stats

(PECL rar >= 3.0.0)

rar_wrapper_cache_stats — Кэш доступов и отказов обертки URL

Описание

string rar_wrapper_cache_stats ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Rar
RarArchive
Rar


Класс RarArchive

(Информация о версии неизвестна, возможно, только в SVN)

Введение

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

Объекты этого класса могут быть заполнены перебором исходя из записей, хранящихся в соответствующем RAR архиве. Эти записи могут быть также получены с помощью методов RarArchive::getEntry() и RarArchive::getEntries().

Обзор классов

final RarArchive implements Traversable {
/* Методы */
public bool close ( void )
public string getComment ( void )
public array getEntries ( void )
public RarEntry getEntry ( string $entryname )
public bool isBroken ( void )
public bool isSolid ( void )
public static RarArchive open ( string $filename [, string $password = NULL [, callback $volume_callback = NULL ]] )
public bool setAllowBroken ( bool $allow_broken )
public string __toString ( void )
}

Содержание

  • RarArchive::close — Close RAR archive and free all resources
  • RarArchive::getComment — Get comment text from the RAR archive
  • RarArchive::getEntries — Get full list of entries from the RAR archive
  • RarArchive::getEntry — Get entry object from the RAR archive
  • RarArchive::isBroken — Test whether an archive is broken (incomplete)
  • RarArchive::isSolid — Check whether the RAR archive is solid
  • RarArchive::open — Open RAR archive
  • RarArchive::setAllowBroken — Whether opening broken archives is allowed
  • RarArchive::__toString — Get text representation
rar_wrapper_cache_stats
RarArchive::close
Rar


Close RAR archive and free all resources

RarArchive
RarArchive::getComment
RarArchive
PHP Manual

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Close RAR archive and free all resources

Описание

Object oriented style (method):

public bool RarArchive::close ( void )

Procedural style:

bool rar_close ( RarArchive $rarfile )

Close RAR archive and free all allocated resources.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
2.0.0 | The RAR entries returned by RarArchive::getEntry() and RarArchive::getEntries() are now invalidated when calling this method. This means that all instance methods called for such entries and not guaranteed to succeed.

Примеры

Пример #1 Object oriented style

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Пример #2 Procedural style

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>

RarArchive
RarArchive::getComment
RarArchive


Get comment text from the RAR archive

RarArchive::close
RarArchive::getEntries
RarArchive
PHP Manual

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Get comment text from the RAR archive

Описание

Object oriented style (method):

public string RarArchive::getComment ( void )

Procedural style:

string rar_comment_get ( RarArchive $rarfile )

Get the (global) comment stored in the RAR archive. It may be up to 64 KiB long.

Замечание:

This extension does not support comments at the entry level.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

Возвращаемые значения

Returns the comment or NULL if there is none.

Замечание:

RAR has currently no support for unicode comments. The encoding of the result of this function is not specified, but it will probably be Windows-1252.

Примеры

Пример #1 Object oriented style

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

Результатом выполнения данного примера будет что-то подобное:

This is the comment of the file commented.rar.

Пример #2 Procedural style

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>

RarArchive::close
RarArchive::getEntries
RarArchive


Get full list of entries from the RAR archive

RarArchive::getComment
RarArchive::getEntry
RarArchive
PHP Manual

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Get full list of entries from the RAR archive

Описание

Object oriented style (method):

public array RarArchive::getEntries ( void )

Procedural style:

array rar_list ( RarArchive $rarfile )

Get entries list (files and directories) from the RAR archive.

Замечание:

If the archive has entries with the same name, this method, together with RarArchive foreach iteration and array-like access with numeric indexes, are the only ones to access all the entries (i.e., RarArchive::getEntry() and the rar:// wrapper are insufficient).

Список параметров

rarfile

A RarArchive object, opened with rar_open().

Возвращаемые значения

rar_list() returns array of RarEntry objects или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Примеры

Пример #1 Object oriented style

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
$rar_arch->close();
?>

Результатом выполнения данного примера будет что-то подобное:

Found 2 entries.
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Пример #2 Procedural style

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
rar_close($rar_arch);
?>

Смотрите также

  • RarArchive::getEntry() - Get entry object from the RAR archive
  • rar:// wrapper

RarArchive::getComment
RarArchive::getEntry
RarArchive


Get entry object from the RAR archive

RarArchive::getEntries
RarArchive::isBroken
RarArchive
PHP Manual

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Get entry object from the RAR archive

Описание

Object oriented style (method):

public RarEntry RarArchive::getEntry ( string $entryname )

Procedural style:

RarEntry rar_entry_get ( RarArchive $rarfile , string $entryname )

Get entry object (file or directory) from the RAR archive.

Замечание:

You can also get entry objects using RarArchive::getEntries().

Note that a RAR archive can have multiple entries with the same name; this method will retrieve only the first.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

entryname

Path to the entry within the RAR archive.

Замечание:

The path must be the same returned by RarEntry::getName().

Возвращаемые значения

Returns the matching RarEntry object или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
    die("Could get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

Результатом выполнения данного примера будет что-то подобное:

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Пример #2 Procedural style

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
    die("Could get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

Смотрите также

  • RarArchive::getEntries() - Get full list of entries from the RAR archive
  • rar:// wrapper

RarArchive::getEntries
RarArchive::isBroken
RarArchive


Test whether an archive is broken (incomplete)

RarArchive::getEntry
RarArchive::isSolid
RarArchive
PHP Manual

RarArchive::isBroken

rar_broken_is

(PECL rar >= 3.0.0)

RarArchive::isBroken -- rar_broken_is — Test whether an archive is broken (incomplete)

Описание

Object oriented style (method):

public bool RarArchive::isBroken ( void )

Procedural style:

bool rar_broken_is ( RarArchive $rarfile )

This function determines whether an archive is incomplete, i.e., if a volume is missing or a volume is truncated.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

Возвращаемые значения

Returns TRUE if the archive is broken, FALSE otherwise. This function may also return FALSE if the passed file has already been closed. The only way to tell the two cases apart is to enable exceptions with RarException::setUsingExceptions(); however, this should be unnecessary as a program should not operate on closed files.

Примеры

Пример #1 Object oriented style

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)

Пример #2 Procedural style

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>

Смотрите также

  • RarArchive::setAllowBroken() - Whether opening broken archives is allowed

RarArchive::getEntry
RarArchive::isSolid
RarArchive


Check whether the RAR archive is solid

RarArchive::isBroken
RarArchive::open
RarArchive
PHP Manual

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Check whether the RAR archive is solid

Описание

Object oriented style (method):

public bool RarArchive::isSolid ( void )

Procedural style:

bool rar_solid_is ( RarArchive $rarfile )

Check whether the RAR archive is solid. Individual file extraction is slower on solid archives.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

Возвращаемые значения

Returns TRUE if the archive is solid, FALSE otherwise.

Примеры

Пример #1 Object oriented style

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'yes':'no') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'yes':'no') . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Пример #2 Procedural style

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'yes':'no') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'yes':'no') . "\n";
?>

RarArchive::isBroken
RarArchive::open
RarArchive


Open RAR archive

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive
PHP Manual

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Open RAR archive

Описание

Object oriented style (method):

public static RarArchive RarArchive::open ( string $filename [, string $password = NULL [, callback $volume_callback = NULL ]] )

Procedural style:

RarArchive rar_open ( string $filename [, string $password = NULL [, callback $volume_callback = NULL ]] )

Open specified RAR archive and return RarArchive instance representing it.

Замечание:

If opening a multi-volume archive, the path of the first volume should be passed as the first parameter. Otherwise, not all files will be shown. This is by design.

Список параметров

filename

Path to the Rar archive.

password

A plain password, if needed to decrypt the headers. It will also be used by default if encrypted files are found. Note that the files may have different passwords in respect to the headers and among them.

volume_callback

A function that receives one parameter – the path of the volume that was not found – and returns a string with the correct path for such volume or NULL if such volume does not exist or is not known. The programmer should ensure the passed function doesn't cause loops as this function is called repeatedly if the path returned in a previous call did not correspond to the needed volume. Specifying this parameter omits the notice that would otherwise be emitted whenever a volume is not found; an implementation that only returns NULL can therefore be used to merely omit such notices.

Внимание

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Возвращаемые значения

Returns the requested RarArchive instance или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
3.0.0 | volume_callback was added.

Примеры

Пример #1 Object oriented style

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

$rar_arch->close();

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Результатом выполнения данного примера будет что-то подобное:

Found 2 files.
Content of first one follows:
Encrypted file 1 contents.

Пример #2 Procedural style

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

rar_close($rar_arch);

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Пример #3 Volume Callback

<?php
/* In this example, there's a volume named multi_broken.part1.rar
 * whose next volume is named multi.part2.rar */
function resolve($vol) {
    if (preg_match('/_broken/', $vol))
        return str_replace('_broken', '', $vol);
    else
        return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>

Смотрите также

  • rar:// wrapper

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive


Whether opening broken archives is allowed

RarArchive::open
RarArchive::__toString
RarArchive
PHP Manual

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Whether opening broken archives is allowed

Описание

Object oriented style (method):

public bool RarArchive::setAllowBroken ( bool $allow_broken )

Procedural style:

bool rar_allow_broken_set ( RarArchive $rarfile , bool $allow_broken )

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

Список параметров

rarfile

A RarArchive object, opened with rar_open().

allow_broken

Whether to allow reading broken files (TRUE) or not (FALSE).

Возвращаемые значения

Returns TRUE или FALSE в случае возникновения ошибки. It will only fail if the file has already been closed.

Примеры

Пример #1 Object oriented style

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Результатом выполнения данного примера будет что-то подобное:

RarEntry for file "file1.txt" (52b28202)
int(1)

Пример #2 Procedural style

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Смотрите также

  • RarArchive::isBroken() - Test whether an archive is broken (incomplete)

RarArchive::open
RarArchive::__toString
RarArchive


Get text representation

RarArchive::setAllowBroken
RarEntry
RarArchive
PHP Manual

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Get text representation

Описание

public string RarArchive::__toString ( void )

Provides a string representation for this RarArchive object. It currently shows the full path name of the archive volume that was opened and whether the resource is valid or was already closed through a call to RarArchive::close().

This method may be used only for debugging purposes, as there are no guarantees as to which information the result contains or how it is formatted.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A textual representation of this RarArchive object. The content of this representation is unspecified.

Примеры

Пример #1 RarArchive::__toString() example

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

RarArchive::setAllowBroken
RarEntry
RarArchive


The RarEntry class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A RAR entry, representing a directory or a compressed file inside a RAR archive.

Обзор классов

final RarEntry {
/* Константы */
const integer HOST_MSDOS = 0 ;
const integer HOST_OS2 = 1 ;
const integer HOST_WIN32 = 2 ;
const integer HOST_UNIX = 3 ;
const integer HOST_MACOS = 4 ;
const integer HOST_BEOS = 5 ;
const integer ATTRIBUTE_WIN_READONLY = 1 ;
const integer ATTRIBUTE_WIN_HIDDEN = 2 ;
const integer ATTRIBUTE_WIN_SYSTEM = 4 ;
const integer ATTRIBUTE_WIN_DIRECTORY = 16 ;
const integer ATTRIBUTE_WIN_ARCHIVE = 32 ;
const integer ATTRIBUTE_WIN_DEVICE = 64 ;
const integer ATTRIBUTE_WIN_NORMAL = 128 ;
const integer ATTRIBUTE_WIN_TEMPORARY = 256 ;
const integer ATTRIBUTE_WIN_SPARSE_FILE = 512 ;
const integer ATTRIBUTE_WIN_REPARSE_POINT = 1024 ;
const integer ATTRIBUTE_WIN_COMPRESSED = 2048 ;
const integer ATTRIBUTE_WIN_OFFLINE = 4096 ;
const integer ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192 ;
const integer ATTRIBUTE_WIN_ENCRYPTED = 16384 ;
const integer ATTRIBUTE_WIN_VIRTUAL = 65536 ;
const integer ATTRIBUTE_UNIX_WORLD_EXECUTE = 1 ;
const integer ATTRIBUTE_UNIX_WORLD_WRITE = 2 ;
const integer ATTRIBUTE_UNIX_WORLD_READ = 4 ;
const integer ATTRIBUTE_UNIX_GROUP_EXECUTE = 8 ;
const integer ATTRIBUTE_UNIX_GROUP_WRITE = 16 ;
const integer ATTRIBUTE_UNIX_GROUP_READ = 32 ;
const integer ATTRIBUTE_UNIX_OWNER_EXECUTE = 64 ;
const integer ATTRIBUTE_UNIX_OWNER_WRITE = 128 ;
const integer ATTRIBUTE_UNIX_OWNER_READ = 256 ;
const integer ATTRIBUTE_UNIX_STICKY = 512 ;
const integer ATTRIBUTE_UNIX_SETGID = 1024 ;
const integer ATTRIBUTE_UNIX_SETUID = 2048 ;
const integer ATTRIBUTE_UNIX_FINAL_QUARTET = 61440 ;
const integer ATTRIBUTE_UNIX_FIFO = 4096 ;
const integer ATTRIBUTE_UNIX_CHAR_DEV = 8192 ;
const integer ATTRIBUTE_UNIX_DIRECTORY = 16384 ;
const integer ATTRIBUTE_UNIX_BLOCK_DEV = 24576 ;
const integer ATTRIBUTE_UNIX_REGULAR_FILE = 32768 ;
const integer ATTRIBUTE_UNIX_SYM_LINK = 40960 ;
const integer ATTRIBUTE_UNIX_SOCKET = 49152 ;
/* Методы */
public bool extract ( string $dir [, string $filepath = '' [, string $password = NULL [, bool $extended_data = false ]]] )
public int getAttr ( void )
public string getCrc ( void )
public string getFileTime ( void )
public int getHostOs ( void )
public int getMethod ( void )
public string getName ( void )
public int getPackedSize ( void )
public resource getStream ([ string $password ] )
public int getUnpackedSize ( void )
public int getVersion ( void )
public bool isDirectory ( void )
public bool isEncrypted ( void )
public string __toString ( void )
}

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

RarEntry Node Types

RarEntry::HOST_MSDOS

If the return value of RarEntry::getHostOs() equals this constant, MS-DOS was used to add this entry. Use instead of RAR_HOST_MSDOS.

RarEntry::HOST_OS2

If the return value of RarEntry::getHostOs() equals this constant, OS/2 was used to add this entry. Intended to replace RAR_HOST_OS2.

RarEntry::HOST_WIN32

If the return value of RarEntry::getHostOs() equals this constant, Microsoft Windows was used to add this entry. Intended to replace RAR_HOST_WIN32.

RarEntry::HOST_UNIX

If the return value of RarEntry::getHostOs() equals this constant, an unspecified UNIX OS was used to add this entry. Intended to replace RAR_HOST_UNIX.

RarEntry::HOST_MACOS

If the return value of RarEntry::getHostOs() equals this constant, Mac OS was used to add this entry.

RarEntry::HOST_BEOS

If the return value of RarEntry::getHostOs() equals this constant, BeOS was used to add this entry. Intended to replace RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

Bit that represents a Windows entry with a read-only attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_HIDDEN

Bit that represents a Windows entry with a hidden attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SYSTEM

Bit that represents a Windows entry with a system attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

Bit that represents a Windows entry with a directory attribute (entry is a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

Bit that represents a Windows entry with an archive attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DEVICE

Bit that represents a Windows entry with a device attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NORMAL

Bit that represents a Windows entry with a normal file attribute (entry is NOT a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

Bit that represents a Windows entry with a temporary attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

Bit that represents a Windows entry with a sparse file attribute (file is an NTFS sparse file). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

Bit that represents a Windows entry with a reparse point attribute (entry is an NTFS reparse point, e.g. a directory junction or a mount file system). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

Bit that represents a Windows entry with a compressed attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_OFFLINE

Bit that represents a Windows entry with an offline attribute (entry is offline and not accessible). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

Bit that represents a Windows entry with a not content indexed attribute (entry is to be indexed). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

Bit that represents a Windows entry with an encrypted attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

Bit that represents a Windows entry with a virtual attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

Bit that represents a UNIX entry that is world executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

Bit that represents a UNIX entry that is world writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

Bit that represents a UNIX entry that is world readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

Bit that represents a UNIX entry that is group executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

Bit that represents a UNIX entry that is group writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

Bit that represents a UNIX entry that is group readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

Bit that represents a UNIX entry that is owner executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

Bit that represents a UNIX entry that is owner writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

Bit that represents a UNIX entry that is owner readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_STICKY

Bit that represents the UNIX sticky bit. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Bit that represents the UNIX setgid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Bit that represents the UNIX setuid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

Mask to isolate the last four bits (nibble) of UNIX attributes
       (_S_IFMT, the type of file mask). To be used with
        RarEntry::getAttr() on entries whose host OS is UNIX and with the
       constants RarEntry::ATTRIBUTE_UNIX_FIFO,
       RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
       RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
       RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
       RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
       RarEntry::ATTRIBUTE_UNIX_SYM_LINK and
       RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

Unix FIFOs will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

Unix character devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

Unix directories will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

Unix block devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

Unix regular files (not directories) will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

Unix symbolic links will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

Unix sockets will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

Содержание

  • RarEntry::extract — Extract entry from the archive
  • RarEntry::getAttr — Get attributes of the entry
  • RarEntry::getCrc — Get CRC of the entry
  • RarEntry::getFileTime — Get entry last modification time
  • RarEntry::getHostOs — Get entry host OS
  • RarEntry::getMethod — Get pack method of the entry
  • RarEntry::getName — Get name of the entry
  • RarEntry::getPackedSize — Get packed size of the entry
  • RarEntry::getStream — Get file handler for entry
  • RarEntry::getUnpackedSize — Get unpacked size of the entry
  • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
  • RarEntry::isDirectory — Test whether an entry represents a directory
  • RarEntry::isEncrypted — Test whether an entry is encrypted
  • RarEntry::__toString — Get text representation of entry
RarArchive::__toString
RarEntry::extract
Rar


Extract entry from the archive

RarEntry
RarEntry::getAttr
RarEntry
PHP Manual

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extract entry from the archive

Описание

public bool RarEntry::extract ( string $dir [, string $filepath = '' [, string $password = NULL [, bool $extended_data = false ]]] )

RarEntry::extract() extracts the entry's data. It will create new file in the specified dir with the name identical to the entry's name, unless the second argument is specified. See below for more information.

Список параметров

dir

Path to the directory where files should be extracted. This parameter is considered if and only if filepath is not. If both parameters are empty an extraction to the current directory will be attempted.

filepath

Path (relative or absolute) containing the directory and filename of the extracted file. This parameter overrides both the parameter dir and the original file name.

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), CRC checking will fail and this method will fail and return FALSE. If no password is given and one is required, this method will fail and return FALSE. You can check whether an entry is encrypted with RarEntry::isEncrypted().

extended_data

If TRUE, extended information such as NTFS ACLs and Unix owner information will be set in the extract files, as long as it's present in the archive.

Внимание

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
3.0.0 | extended_data was added.
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Примеры

Пример #1 RarEntry::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

Пример #2 How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

Смотрите также

  • RarEntry::getStream() - Get file handler for entry
  • rar:// wrapper

RarEntry
RarEntry::getAttr
RarEntry


Get attributes of the entry

RarEntry::extract
RarEntry::getCrc
RarEntry
PHP Manual

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Get attributes of the entry

Описание

public int RarEntry::getAttr ( void )

Returns the OS-dependent attributes of the archive entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the attributes or FALSE on error.

Примеры

Пример #1 RarEntry::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Смотрите также

  • RarEntry::getHostOs() - Get entry host OS
  • The constants in RarEntry

RarEntry::extract
RarEntry::getCrc
RarEntry


Get CRC of the entry

RarEntry::getAttr
RarEntry::getFileTime
RarEntry
PHP Manual

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Get CRC of the entry

Описание

public string RarEntry::getCrc ( void )

Returns an hexadecimal string representation of the CRC of the archive entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the CRC of the archive entry or FALSE on error.

Список изменений

Версия | Описание
2.0.0 | This method now returns correct values for multiple volume archives.

RarEntry::getAttr
RarEntry::getFileTime
RarEntry


Get entry last modification time

RarEntry::getCrc
RarEntry::getHostOs
RarEntry
PHP Manual

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Get entry last modification time

Описание

public string RarEntry::getFileTime ( void )

Gets entry last modification time.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns entry last modification time as string in format YYYY-MM-DD HH:II:SS, or FALSE on error.

RarEntry::getCrc
RarEntry::getHostOs
RarEntry


Get entry host OS

RarEntry::getFileTime
RarEntry::getMethod
RarEntry
PHP Manual

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Get entry host OS

Описание

public int RarEntry::getHostOs ( void )

Returns the code of the host OS of the archive entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the code of the host OS, or FALSE on error.

Примеры

Пример #1 RarEntry::getHostOs() example (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RarEntry::HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RarEntry::HOST_OS2:
        echo "OS2\n";
        break;
    case RarEntry::HOST_WIN32:
        echo "Win32\n";
        break;
    case RarEntry::HOST_MACOS:
        echo "MacOS\n";
        break;
    case RarEntry::HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RarEntry::HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Пример #2 RarEntry::getHostOs() example (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Смотрите также

  • RarEntry::extract() - Extract entry from the archive

RarEntry::getFileTime
RarEntry::getMethod
RarEntry


Get pack method of the entry

RarEntry::getHostOs
RarEntry::getName
RarEntry
PHP Manual

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Get pack method of the entry

Описание

public int RarEntry::getMethod ( void )

RarEntry::getMethod() returns number of the method used when adding current archive entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the method number or FALSE on error.

Примеры

Пример #1 RarEntry::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>

RarEntry::getHostOs
RarEntry::getName
RarEntry


Get name of the entry

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry
PHP Manual

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Get name of the entry

Описание

public string RarEntry::getName ( void )

Returns the name (with path) of the archive entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the entry name as a string, or FALSE on error.

Список изменений

Версия | Описание
2.0.0 | As of version 2.0.0, the returned string is encoded in Unicode/UTF-8.

Примеры

Пример #1 RarEntry::getName() example

<?php

//this example is safe even in pages not encoded in UTF-8
//for those encoded in UTF-8, the call to mb_convert_encoding is unnecessary

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . mb_convert_encoding(
    htmlentities(
        $entry->getName(),
        ENT_COMPAT,
        "UTF-8"
    ),
    "HTML-ENTITIES",
    "UTF-8"
);

?>

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry


Get packed size of the entry

RarEntry::getName
RarEntry::getStream
RarEntry
PHP Manual

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Get packed size of the entry

Описание

public int RarEntry::getPackedSize ( void )

Get packed size of the archive entry.

Замечание:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the packed size, or FALSE on error.

Список изменений

Версия | Описание
2.0.0 | This method now returns correct values of packed sizes bigger than 2 GiB on platforms with 64-bit integers and never returns negative values on other platforms.

Примеры

Пример #1 RarEntry::getPackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getName
RarEntry::getStream
RarEntry


Get file handler for entry

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry
PHP Manual

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Get file handler for entry

Описание

public resource RarEntry::getStream ([ string $password ] )

Returns a file handler that supports read operations. This handler provides on-the-fly decompression for this entry.

The handler is not invalidated by calling rar_close().

Внимание

The resulting stream has no integrity verification. In particular, file corruption and decryption with a wrong a key will not be detected. It is the programmer's responsability to use the entry's CRC to check for integrity, if he so wishes.

Список параметров

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), this method's resulting stream will produce wrong output. If no password is given and one is required, this method will fail and return FALSE. You can check whether an entry is encrypted with RarEntry::isEncrypted().

Возвращаемые значения

The file handler или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Примеры

Пример #1 RarEntry::getStream() example

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
    die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
    die("Failed to find such entry");

$stream = $entry->getStream();
if ($stream === false)
    die("Failed to obtain stream.");

rar_close($rar_file); //stream is independent from file

while (!feof($stream)) {
    $buff = fread($stream, 8192);
    if ($buff !== false)
        echo $buff;
    else
        break; //fread error
}

fclose($stream);

?>

Смотрите также

  • RarEntry::extract() - Extract entry from the archive
  • rar:// wrapper

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry


Get unpacked size of the entry

RarEntry::getStream
RarEntry::getVersion
RarEntry
PHP Manual

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Get unpacked size of the entry

Описание

public int RarEntry::getUnpackedSize ( void )

Get unpacked size of the archive entry.

Замечание:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the unpacked size, or FALSE on error.

Список изменений

Версия | Описание
2.0.0 | This method now returns correct values of unpacked sizes bigger than 2 GiB on platforms with 64-bit integers and never returns negative values on other platforms.

Возвращаемые значения

Пример #1 RarEntry::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getStream
RarEntry::getVersion
RarEntry


Get minimum version of RAR program required to unpack the entry

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry
PHP Manual

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry

Описание

public int RarEntry::getVersion ( void )

Returns minimum version of RAR program (e.g. WinRAR) required to unpack the entry. It is encoded as 10 * major version + minor version.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the version or FALSE on error.

Примеры

Пример #1 RarEntry::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar version required for unpacking: " . $entry->getVersion();

?>

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry


Test whether an entry represents a directory

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry
PHP Manual

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Test whether an entry represents a directory

Описание

public bool RarEntry::isDirectory ( void )

Tests whether the current entry is a directory.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if this entry is a directory and FALSE otherwise.

Примечания

This function is only available starting with version 2.0.0, but one can also test whether an entry is a directory by checking the entry attributes, like this (only works for files compressed in RAR for Windows or Unix):

<?php
//...
//Open file, get entry and store in variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
    (($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));
?>

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry


Test whether an entry is encrypted

RarEntry::isDirectory
RarEntry::__toString
RarEntry
PHP Manual

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Test whether an entry is encrypted

Описание

public bool RarEntry::isEncrypted ( void )

Tests whether the current entry contents are encrypted.

Замечание:

The password used may differ between files inside the same RAR archive.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current entry is encrypted and FALSE otherwise.

RarEntry::isDirectory
RarEntry::__toString
RarEntry


Get text representation of entry

RarEntry::isEncrypted
RarException
RarEntry
PHP Manual

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Get text representation of entry

Описание

public string RarEntry::__toString ( void )

RarEntry::__toString() returns a textual representation for this entry. It includes whether the entry is a file or a directory (symbolic links and other special objects will be treated as files), the UTF-8 name of the entry and its CRC. The form and content of this representation may be changed in the future, so they cannot be relied upon.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A textual representation for the entry.

RarEntry::isEncrypted
RarException
RarEntry


Класс RarException

(Информация о версии неизвестна, возможно, только в SVN)

Введение

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

Используются следующие коды ошибок:

  • -1 - ошибка вне библиотеки UnRAR
  • 11 - недостаточно памяти
  • 12 - неправильные данные
  • 13 - неправильный архив
  • 14 - неизвестный формат
  • 15 - ошибка открытия файла
  • 16 - ошибка создания файла
  • 17 - ошибка закрытия файла
  • 18 - ошибка чтения
  • 19 - ошибка записи
  • 20 - слишком маленький буфер
  • 21 - неизвестная ошибка RAR
  • 22 - требуется пароль

Обзор классов

final RarException extends Exception {
/* Методы */
public static bool isUsingExceptions ( void )
public static void setUsingExceptions ( bool $using_exceptions )
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Содержание

  • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
  • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions
RarEntry::__toString
RarException::isUsingExceptions
Rar


Check whether error handling with exceptions is in use

RarException
RarException::setUsingExceptions
RarException
PHP Manual

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Check whether error handling with exceptions is in use

Описание

public static bool RarException::isUsingExceptions ( void )

Checks whether the RAR functions will emit warnings and return error values or whether they will throw exceptions in most of the circumstances (does not include some programmatic errors such as passing the wrong type of arguments).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if exceptions are being used, FALSE otherwise.

Примеры

Пример #1 RarException::isUsingExceptions() example

<?php
//The default is not to use exceptions
var_dump(RarException::isUsingExceptions());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)

Смотрите также

  • RarException::setUsingExceptions() - Activate and deactivate error handling with exceptions

RarException
RarException::setUsingExceptions
RarException


Activate and deactivate error handling with exceptions

RarException::isUsingExceptions
Zip
RarException
PHP Manual

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Activate and deactivate error handling with exceptions

Описание

public static void RarException::setUsingExceptions ( bool $using_exceptions )

If and only if the argument is TRUE, then, instead of emitting warnings and returning a special value indicating error when the UnRAR library encounters an error, an exception of type RarException will be thrown.

Exceptions will also be thrown for the following errors, which occur outside the library (their error code will be -1):

  • attempting some operations on a closed RarArchive object or a RarEntry object relative to the first;
  • attempting to get an entry that does not exist with RarArchive::getEntry().

Список параметров

using_exceptions

Should be TRUE to activate exception throwing, FALSE to deactivate (the default).

Примеры

Пример #1 RarException::setUsingExceptions() example

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Смотрите также

  • RarException::isUsingExceptions() - Check whether error handling with exceptions is in use

RarException::isUsingExceptions
Zip
RarException


Zip

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • ZipArchive — Класс ZipArchive
    • ZipArchive::addEmptyDir — Добавляет новую директорию
    • ZipArchive::addFile — Добавляет в ZIP-архив файл по указанному пути
    • ZipArchive::addFromString — Добавяет файл в ZIP-архив, используя его содержимое
    • ZipArchive::close — Закрывает активный архив (открытый или вновь созданный)
    • ZipArchive::deleteIndex — Удаляет элемент в архиве, используя его индекс
    • ZipArchive::deleteName — Удаляет элемент в архиве, используя его имя
    • ZipArchive::extractTo — Извлекает содержимое архива
    • ZipArchive::getArchiveComment — Возвращает комментарий ZIP-архива
    • ZipArchive::getCommentIndex — Возвращает комментарий элемента, используя его индекс
    • ZipArchive::getCommentName — Возвращает комментарий элемента, используя его имя
    • ZipArchive::getFromIndex — Возвращает содержимое элемента по его индексу
    • ZipArchive::getFromName — Возвращает содержимое элемента по его имени
    • ZipArchive::getNameIndex — Возвращает имя элемента по его индексу
    • ZipArchive::getStatusString — Возвращают статус сообщения об ошибке, системный и/или zip-статус
    • ZipArchive::getStream — Получить дескриптор файла элемента, определенный по имени элемента (только для чтения)
    • ZipArchive::locateName — Returns the index of the entry in the archive
    • ZipArchive::open — Открывает ZIP-архив
    • ZipArchive::renameIndex — Переименовывает элемент по его индексу
    • ZipArchive::renameName — Переименовывает элемент по его имени
    • ZipArchive::setArchiveComment — Устанавливает комментарий к ZIP-архиву
    • ZipArchive::setCommentIndex — Устанавливает комментарий к элементу по его индексу
    • ZipArchive::setCommentName — Устанавливает комментарий к элементу, заданному по имени
    • ZipArchive::statIndex — Получение детальной информации по элементу по его индексу
    • ZipArchive::statName — Получение детальной информации по элементу по его имени
    • ZipArchive::unchangeAll — Отменяет все изменения, сделанные в архиве
    • ZipArchive::unchangeArchive — Возвращает все глобальные изменения, сделанные в архиве
    • ZipArchive::unchangeIndex — Отменяет все измения у позиции с заданным индексом
    • ZipArchive::unchangeName — Отменяет все измения у позиции с заданным именем
  • Zip Функции
    • zip_close — Close a ZIP file archive
    • zip_entry_close — Закрывает дескриптор директории
    • zip_entry_compressedsize — Возвращает сжатый размер файла для дескриптора директории
    • zip_entry_compressionmethod — Возвращает метод сжатия дескриптора директории
    • zip_entry_filesize — Возвращает реальный размер файла для дескриптора директории
    • zip_entry_name — Получает имя дескриптора директории
    • zip_entry_open — Открывает директорию для чтения
    • zip_entry_read — Читает данные из открытого ранее дескриптора директории
    • zip_open — Open a ZIP file archive
    • zip_read — Read next entry in a ZIP file archive
RarException::setUsingExceptions
Введение
Расширения сжатия и архивации


Введение

Это расширение позволяет легко читать и писать как в сами сжатые ZIP архивы, так и в файлы внутри них.

Zip
Установка и настройка
Zip


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Zip


Требования

PHP 4

Встроенная в PHP 4 версия требует » ZZIPlib, от Guido Draheim, версии 0.10.6 и более поздней.

PHP 5.2.0 и более поздние версии

Это расширение использует функции из » zlib от Jean-loup Gailly и Mark Adler.

Установка и настройка
Установка
Установка и настройка


Установка

PHP 4

Замечание:

До версии 4.1.0 поддержка zip в PHP была экспериментальной.

Внимание

В связи с тем, что модуль zip для PHP 4 не поддерживается, мы рекомендуем использовать модули из PECL, вместо поставляемого в комплекте.

Linux-системы

Для использования этих функций необходимо скомпилировать PHP с поддержкой zip, используя конфигурационную опцию --with-zip[=DIR] . Где [DIR] - префикс библиотеки » ZZIPlib.

Windows

Для использования этих функций пользователи Windows должны включить php_zip.dll в php.ini.

PHP 5.2.0 и более поздние версии

Linux системы

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

Windows

Для использования этих функций пользователи Windows должны включить php_zip.dll в php.ini.

Установка через PECL

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/zip.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

В Zip-модуле используются два типа ресурсов. Первый — Zip-директория для Zip-архива, второй — Zip Entry (элементы архива).

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

ZipArchive uses class constants. There are three types of constants : Flags (prefixed with FL_), errors (prefixed with ER_) and mode (no prefix).

ZIPARCHIVE::CREATE (integer)
Create the archive if it does not exist.
ZIPARCHIVE::OVERWRITE (integer)
Always start a new archive, this mode will overwrite the file if it already exists.
ZIPARCHIVE::EXCL (integer)
Error if archive already exists.
ZIPARCHIVE::CHECKCONS (integer)
Perform additional consistency checks on the archive, and error if they fail.
ZIPARCHIVE::FL_NOCASE (integer)
Ignore case on name lookup
ZIPARCHIVE::FL_NODIR (integer)
Ignore directory component
ZIPARCHIVE::FL_COMPRESSED (integer)
Read compressed data
ZIPARCHIVE::FL_UNCHANGED (integer)
Use original data, ignoring changes.
ZIPARCHIVE::CM_DEFAULT (integer)
better of deflate or store.
ZIPARCHIVE::CM_STORE (integer)
stored (uncompressed).
ZIPARCHIVE::CM_SHRINK (integer)
shrunk
ZIPARCHIVE::CM_REDUCE_1 (integer)
reduced with factor 1
ZIPARCHIVE::CM_REDUCE_2 (integer)
reduced with factor 2
ZIPARCHIVE::CM_REDUCE_3 (integer)
reduced with factor 3
ZIPARCHIVE::CM_REDUCE_4 (integer)
reduced with factor 4
ZIPARCHIVE::CM_IMPLODE (integer)
imploded
ZIPARCHIVE::CM_DEFLATE (integer)
deflated
ZIPARCHIVE::CM_DEFLATE64 (integer)
deflate64
ZIPARCHIVE::CM_PKWARE_IMPLODE (integer)
PKWARE imploding
ZIPARCHIVE::CM_BZIP2 (integer)
BZIP2 algorithm
ZIPARCHIVE::ER_OK (integer)
No error.
ZIPARCHIVE::ER_MULTIDISK (integer)
Multi-disk zip archives not supported.
ZIPARCHIVE::ER_RENAME (integer)
Renaming temporary file failed.
ZIPARCHIVE::ER_CLOSE (integer)
Closing zip archive failed
ZIPARCHIVE::ER_SEEK (integer)
Seek error
ZIPARCHIVE::ER_READ (integer)
Read error
ZIPARCHIVE::ER_WRITE (integer)
Write error
ZIPARCHIVE::ER_CRC (integer)
CRC error
ZIPARCHIVE::ER_ZIPCLOSED (integer)
Containing zip archive was closed
ZIPARCHIVE::ER_NOENT (integer)
No such file.
ZIPARCHIVE::ER_EXISTS (integer)
File already exists
ZIPARCHIVE::ER_OPEN (integer)
Can't open file
ZIPARCHIVE::ER_TMPOPEN (integer)
Failure to create temporary file.
ZIPARCHIVE::ER_ZLIB (integer)
Zlib error
ZIPARCHIVE::ER_MEMORY (integer)
Memory allocation failure
ZIPARCHIVE::ER_CHANGED (string)
Entry has been changed
ZIPARCHIVE::ER_COMPNOTSUPP (integer)
Compression method not supported.
ZIPARCHIVE::ER_EOF (integer)
Premature EOF
ZIPARCHIVE::ER_INVAL (integer)
Invalid argument
ZIPARCHIVE::ER_NOZIP (integer)
Not a zip archive
ZIPARCHIVE::ER_INTERNAL (integer)
Internal error
ZIPARCHIVE::ER_INCONS (integer)
Zip archive inconsistent
ZIPARCHIVE::ER_REMOVE (integer)
Can't remove file
ZIPARCHIVE::ER_DELETED (integer)
Entry has been deleted
Типы ресурсов
Примеры
Zip


Примеры

Пример #1 Создание Zip архива

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("Невозможно открыть <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 Это тестовая строка, добавленная как testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 Это тестовая строка, добавленная как testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

Пример #2 Собрать и отобразить подробную информацию об архиве

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "\n";
echo "status: " . $za->status  . "\n";
echo "statusSys: " . $za->statusSys . "\n";
echo "filename: " . $za->filename . "\n";
echo "comment: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "\n";
?>

Пример #3 Использование обертки потока Zip, чтение мета-информации OpenOffice

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

Этот пример использует старую версию API (PHP 4), он открывает ZIP-архив, читает каждый файл в архиве и выводит его содержимое. Архив test2.zip, использованный в этом примере, является одним из тестовых архивов исходного дистрибутива ZZIPlib.

Пример #4 Пример использования Zip

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Название:         " . zip_entry_name($zip_entry) . "\n";
        echo "Исходный размер:  " . zip_entry_filesize($zip_entry) . "\n";
        echo "Сжатый размер:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Метод сжатия:     " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "Содержимое файла:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>
Предопределенные константы
ZipArchive
Zip


Класс ZipArchive

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Файловый архив, сжатый Zip.

Обзор классов

ZipArchive {
/* Свойства */
/* Методы */
bool addEmptyDir ( string $dirname )
bool addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )
bool addFromString ( string $localname , string $contents )
bool close ( void )
bool deleteIndex ( int $index )
bool deleteName ( string $name )
bool extractTo ( string $destination [, mixed $entries ] )
string getArchiveComment ([ int $flags ] )
string getCommentIndex ( int $index [, int $flags ] )
string getCommentName ( string $name [, int $flags ] )
mixed getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )
mixed getFromName ( string $name [, int $length = 0 [, int $flags ]] )
string getNameIndex ( int $index [, int $flags ] )
string getStatusString ( void )
resource getStream ( string $name )
mixed locateName ( string $name [, int $flags ] )
mixed open ( string $filename [, int $flags ] )
bool renameIndex ( int $index , string $newname )
bool renameName ( string $name , string $newname )
mixed setArchiveComment ( string $comment )
mixed setCommentIndex ( int $index , string $comment )
mixed setCommentName ( string $name , string $comment )
mixed statIndex ( int $index [, int $flags ] )
mixed statName ( name $name [, int $flags ] )
mixed unchangeAll ( void )
mixed unchangeArchive ( void )
mixed unchangeIndex ( int $index )
mixed unchangeName ( string $name )
}

Свойства

status

Статус Zip-архива

statusSys

Системный статус Zip-архива

numFiles

Количество файлов в архиве

filename

Имя файла в файловой системе

comment

Комментарий к архиву

Содержание

  • ZipArchive::addEmptyDir — Добавляет новую директорию
  • ZipArchive::addFile — Добавляет в ZIP-архив файл по указанному пути
  • ZipArchive::addFromString — Добавяет файл в ZIP-архив, используя его содержимое
  • ZipArchive::close — Закрывает активный архив (открытый или вновь созданный)
  • ZipArchive::deleteIndex — Удаляет элемент в архиве, используя его индекс
  • ZipArchive::deleteName — Удаляет элемент в архиве, используя его имя
  • ZipArchive::extractTo — Извлекает содержимое архива
  • ZipArchive::getArchiveComment — Возвращает комментарий ZIP-архива
  • ZipArchive::getCommentIndex — Возвращает комментарий элемента, используя его индекс
  • ZipArchive::getCommentName — Возвращает комментарий элемента, используя его имя
  • ZipArchive::getFromIndex — Возвращает содержимое элемента по его индексу
  • ZipArchive::getFromName — Возвращает содержимое элемента по его имени
  • ZipArchive::getNameIndex — Возвращает имя элемента по его индексу
  • ZipArchive::getStatusString — Возвращают статус сообщения об ошибке, системный и/или zip-статус
  • ZipArchive::getStream — Получить дескриптор файла элемента, определенный по имени элемента (только для чтения)
  • ZipArchive::locateName — Returns the index of the entry in the archive
  • ZipArchive::open — Открывает ZIP-архив
  • ZipArchive::renameIndex — Переименовывает элемент по его индексу
  • ZipArchive::renameName — Переименовывает элемент по его имени
  • ZipArchive::setArchiveComment — Устанавливает комментарий к ZIP-архиву
  • ZipArchive::setCommentIndex — Устанавливает комментарий к элементу по его индексу
  • ZipArchive::setCommentName — Устанавливает комментарий к элементу, заданному по имени
  • ZipArchive::statIndex — Получение детальной информации по элементу по его индексу
  • ZipArchive::statName — Получение детальной информации по элементу по его имени
  • ZipArchive::unchangeAll — Отменяет все изменения, сделанные в архиве
  • ZipArchive::unchangeArchive — Возвращает все глобальные изменения, сделанные в архиве
  • ZipArchive::unchangeIndex — Отменяет все измения у позиции с заданным индексом
  • ZipArchive::unchangeName — Отменяет все измения у позиции с заданным именем
Примеры
ZipArchive::addEmptyDir
Zip


Добавляет новую директорию

ZipArchive
ZipArchive::addFile
ZipArchive
PHP Manual

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Добавляет новую директорию

Описание

bool ZipArchive::addEmptyDir ( string $dirname )

Добавляет пустую директорию в архив.

Список параметров

dirname

Директория для добавления.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Создание новой директории в архиве.

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Создана новая директория';
    } else {
        echo 'Невозможно создать директорию';
    }
    $zip->close();
} else {
    echo 'failed';
}
?>
ZipArchive
ZipArchive::addFile
ZipArchive


Добавляет в ZIP-архив файл по указанному пути

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive
PHP Manual

ZipArchive::addFile

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFile — Добавляет в ZIP-архив файл по указанному пути

Описание

bool ZipArchive::addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )

Добавляет в ZIP-архив файл по указанному пути.

Список параметров

filename

Путь к файлу для добавления.

localname

Имя файла внутри ZIP-архива. Если указано, то переопределит filename.

start

Этот параметр не используется, но необходим для будущего развития ZipArchive.

length

Этот параметр не используется, но необходим для будущего развития ZipArchive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

В данном примере открывается файл ZIP-архива test.zip и в него добавляется файл /path/to/index.txt под именем newname.txt.

Пример #1 Открыть и разархивировать

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'ошибка';
}
?>

Примечания

Замечание:

В процессе добавления файла в архив, PHP произведет попытку блокирования файла, файл разблокируется только после окончания любой операции над ZIP-архивом. Т.е., вы сможете удалить добавляемый файл только после того как архив будет закрыт.

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive


Добавяет файл в ZIP-архив, используя его содержимое

ZipArchive::addFile
ZipArchive::close
ZipArchive
PHP Manual

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFromString — Добавяет файл в ZIP-архив, используя его содержимое

Описание

bool ZipArchive::addFromString ( string $localname , string $contents )

Добавяет файл в ZIP-архив, используя его содержимое.

Список параметров

localname

Локальное имя файла для создания.

contents

Содержимое для создания файла. Используется в двоичном безопасном режиме.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Добавить запись в новый архив

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'здесь следует содержимое файла');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Пример #2 Добавить файл в директорию внутри архива

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'здесь следует содержимое файла');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::addFile
ZipArchive::close
ZipArchive


Закрывает активный архив (открытый или вновь созданный)

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive
PHP Manual

ZipArchive::close

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::close — Закрывает активный архив (открытый или вновь созданный)

Описание

bool ZipArchive::close ( void )

Закрывает открытый или созданный архив и сохраняет изменения. Данный метод автоматически вызывается в конце сценария.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive


Удаляет элемент в архиве, используя его индекс

ZipArchive::close
ZipArchive::deleteName
ZipArchive
PHP Manual

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — Удаляет элемент в архиве, используя его индекс

Описание

bool ZipArchive::deleteIndex ( int $index )

Удаляет элемент (файл или каталог - прим.пер.) в архиве, используя его индекс.

Список параметров

index

Индекс элемента для удаления.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Удалить файл из архива, используя его индекс

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'ошибка';
}
?>
ZipArchive::close
ZipArchive::deleteName
ZipArchive


Удаляет элемент в архиве, используя его имя

ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive
PHP Manual

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteName — Удаляет элемент в архиве, используя его имя

Описание

bool ZipArchive::deleteName ( string $name )

Удаляет элемент (файл или каталог - прим.пер.) в архиве, используя его имя.

Список параметров

name

Имя элемента для удаления.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Удалить файл или каталог из архива по имени.

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'ошибка';
}
?>
ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive


Извлекает содержимое архива

ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive
PHP Manual

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::extractTo — Извлекает содержимое архива

Описание

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

Извлечение всего архива или его части в указанное место назначения.

Список параметров

destination

Место назначение, куда извлекать файлы.

entries

Элементы для извлечения. Может принимать как одно значение, так и массив записей.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Извлечь все содержимое

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'ошибка';
}
?>

Пример #2 Извлечь два элемента

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'ошибка';
}
?>
ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive


Возвращает комментарий ZIP-архива

ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive
PHP Manual

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Возвращает комментарий ZIP-архива

Описание

string ZipArchive::getArchiveComment ([ int $flags ] )

Возвращает комментарий ZIP-архива.

Список параметров

flags

Если флаг установлен в ZIPARCHIVE::FL_UNCHANGED, возвращается оригинальный неизмененный комментарий.

Возвращаемые значения

Возвращает комментарий ZIP-архива или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вывести комментарий архива

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Или используя свойство */
    var_dump($zip->comment);
} else {
    echo 'Ошибка, код:' . $res;
}
?>
ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive


Возвращает комментарий элемента, используя его индекс

ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive
PHP Manual

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Возвращает комментарий элемента, используя его индекс

Описание

string ZipArchive::getCommentIndex ( int $index [, int $flags ] )

Возвращает комментарий элемента, используя его индекс.

Список параметров

index

Индекс записи.

flags

Если флаг установлен в ZIPARCHIVE::FL_UNCHANGED, возвращается оригинальный неизмененный комментарий.

Возвращаемые значения

Возвращает комментарий при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вывести комментарий элемента

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'Ошибка, код:' . $res;
}
?>
ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive


Возвращает комментарий элемента, используя его имя

ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive
PHP Manual

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Возвращает комментарий элемента, используя его имя

Описание

string ZipArchive::getCommentName ( string $name [, int $flags ] )

Возвращает комментарий элемента, используя его имя.

Список параметров

name

Имя элемента.

flags

Если флаг установлен в ZIPARCHIVE::FL_UNCHANGED, возвращается оригинальный неизмененный комментарий.

Возвращаемые значения

Возвращает комментарий при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вывести комментарий элемента

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'Ошибка, код:' . $res;
}
?>
ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive


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

ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive
PHP Manual

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.3.0)

ZipArchive::getFromIndex — Возвращает содержимое элемента по его индексу

Описание

mixed ZipArchive::getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )

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

Список параметров

index

Индекс элемента.

length

Размер читаемых данных из элемента. Если 0, содержимое читается полностью.

flags

Флаги используемые для открытия архива. Может быть установлено только одно нижеприведенное значение.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Возвращаемые значения

Возвращает содержимое элемента при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Получить содержимое файла

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'ошибка';
}
?>
ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive


Возвращает содержимое элемента по его имени

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive
PHP Manual

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getFromName — Возвращает содержимое элемента по его имени

Описание

mixed ZipArchive::getFromName ( string $name [, int $length = 0 [, int $flags ]] )

Возвращает содержимое элемента по его имени.

Список параметров

name

Имя элемента.

length

Размер читаемых данных из элемента. Если 0, содержимое читается полностью.

flags

Флаги используемые для открытия архива. Может быть установлено только одно нижеприведенное значение.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Возвращаемые значения

Возвращает содержимое элемента при успехе или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Получить содержимое файла

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'ошибка';
}
?>

Пример #2 Преобразовать изображении из ZIP-элемента

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>
ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive


Возвращает имя элемента по его индексу

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive
PHP Manual

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Возвращает имя элемента по его индексу

Описание

string ZipArchive::getNameIndex ( int $index [, int $flags ] )

Возвращает имя элемента по его индексу.

Список параметров

index

Индекс элемента.

flags

Если флаг установлен в ZIPARCHIVE::FL_UNCHANGED, возвращается оригинальное неизмененное имя.

Возвращаемые значения

Возвращает имя при успехе или FALSE в случае возникновения ошибки.

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive


Возвращают статус сообщения об ошибке, системный и/или zip-статус

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive
PHP Manual

ZipArchive::getStatusString

(PHP 5 >= 5.2.7)

ZipArchive::getStatusString — Возвращают статус сообщения об ошибке, системный и/или zip-статус

Описание

string ZipArchive::getStatusString ( void )

Возвращают статус сообщения об ошибке, системный и/или zip-статус.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает строку (string) с сообщением о статусе при успехе или FALSE в случае возникновения ошибки.

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive


Получить дескриптор файла элемента, определенный по имени элемента (только для чтения)

ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive
PHP Manual

ZipArchive::getStream

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getStream — Получить дескриптор файла элемента, определенный по имени элемента (только для чтения)

Описание

resource ZipArchive::getStream ( string $name )

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

Список параметров

name

Используемое имя элемента.

Возвращаемые значения

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

Примеры

Пример #1 Получить сожержимое элемента при помощи fread() и сохранить его

<?php
$content = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("failed\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "готово.\n";
}
?>

Пример #2 То же, что и в предыдущем примере, но используя fopen() и через обертку zip-потока

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("Не получается открыть\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
    echo "$contents\n";
}
fclose($fp);
echo "Готово.\n";
?>

Пример #3 ZIP-поток и изображение могут быть использованы также в функции XML

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>
ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive


Returns the index of the entry in the archive

ZipArchive::getStream
ZipArchive::open
ZipArchive
PHP Manual

ZipArchive::locateName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::locateName — Returns the index of the entry in the archive

Описание

mixed ZipArchive::locateName ( string $name [, int $flags ] )

Locates an entry using its name.

Список параметров

name

The name of the entry to look up

flags

The flags are specified by ORing the following values, or 0 for none of them.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

Возвращаемые значения

Returns the index of the entry on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create an archive and then use it with ZipArchive::locateName()

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZIPARCHIVE::CREATE) !== TRUE) {
    exit('failed');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if (!$zip->status == ZIPARCHIVE::ER_OK) {
    echo "failed to write zip\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
    exit('failed');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZIPARCHIVE::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();

?>

Результат выполнения данного примера:

0

1
2
ZipArchive::getStream
ZipArchive::open
ZipArchive


Открывает ZIP-архив

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

ZipArchive::open

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::open — Открывает ZIP-архив

Описание

mixed ZipArchive::open ( string $filename [, int $flags ] )

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

Список параметров

filename

Имя ZIP-архива для открытия.

flags

Используемый режим открытия файлов.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

Возвращаемые значения

Коды ошибок

Возвращает TRUE при успешном завершении или код ошибки.

  • ZIPARCHIVE::ER_EXISTS

  • ZIPARCHIVE::ER_INCONS

  • ZIPARCHIVE::ER_INVAL

  • ZIPARCHIVE::ER_MEMORY

  • ZIPARCHIVE::ER_NOENT

  • ZIPARCHIVE::ER_NOZIP

  • ZIPARCHIVE::ER_OPEN

  • ZIPARCHIVE::ER_READ

  • ZIPARCHIVE::ER_SEEK

Примеры

Пример #1 Открытие и извлечение

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Пример #2 Создание архива

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive


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

ZipArchive::open
ZipArchive::renameName
ZipArchive
PHP Manual

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Переименовывает элемент по его индексу

Описание

bool ZipArchive::renameIndex ( int $index , string $newname )

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

Список параметров

index

Индекс элемента для переименования.

newname

Новое имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Переименование одного элемента

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>
ZipArchive::open
ZipArchive::renameName
ZipArchive


Переименовывает элемент по его имени

ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive
PHP Manual

ZipArchive::renameName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameName — Переименовывает элемент по его имени

Описание

bool ZipArchive::renameName ( string $name , string $newname )

Переименовывает элемент, заданный по имени.

Список параметров

name

Имя элемента для переименования.

newname

Новое имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Переименование одного элемента

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>
ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive


Устанавливает комментарий к ZIP-архиву

ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive
PHP Manual

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Устанавливает комментарий к ZIP-архиву

Описание

mixed ZipArchive::setArchiveComment ( string $comment )

Устанавливает комментарий к ZIP-архиву.

Список параметров

comment

Содержание комментария.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Создание архива и установка комментария

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->setArchiveComment('new archive comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive


Устанавливает комментарий к элементу по его индексу

ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive
PHP Manual

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Устанавливает комментарий к элементу по его индексу

Описание

mixed ZipArchive::setCommentIndex ( int $index , string $comment )

Устанавливает комментарий к элементу по его индексу.

Список параметров

index

Индекс элемента.

comment

Содержание комментария.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Открывает архив и устанавливает комментарий к элементу

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentIndex(2, 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive


Устанавливает комментарий к элементу, заданному по имени

ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive
PHP Manual

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Устанавливает комментарий к элементу, заданному по имени

Описание

mixed ZipArchive::setCommentName ( string $name , string $comment )

Устанавливает комментарий к элементу, заданному по имени.

Список параметров

name

Имя элемента.

comment

Содержание комментария.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Открытие архива и установка комментария к элементу

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentName('entry1.txt', 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive


Получение детальной информации по элементу по его индексу

ZipArchive::setCommentName
ZipArchive::statName
ZipArchive
PHP Manual

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::statIndex — Получение детальной информации по элементу по его индексу

Описание

mixed ZipArchive::statIndex ( int $index [, int $flags ] )

Получение детальной информации по элементу по его индексу.

Список параметров

index

Индекс элемента

flags

ZIPARCHIVE::FL_UNCHANGED указывается, чтобы запросить информацию об исходном файле в архиве, игнорируя любые внесенные изменения.

Возвращаемые значения

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

Примеры

Пример #1 Получение статистической информации по элементу

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::setCommentName
ZipArchive::statName
ZipArchive


Получение детальной информации по элементу по его имени

ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive
PHP Manual

ZipArchive::statName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::statName — Получение детальной информации по элементу по его имени

Описание

mixed ZipArchive::statName ( name $name [, int $flags ] )

Получение детальной информации по элементу по его имени.

Список параметров

name

Имя элемента

flags

Флаг, указывающий как должен происходить поиск имени. Также, может указываться ZIPARCHIVE::FL_UNCHANGED, чтобы запросить информацию об исходном файле в архиве, игнорируя любые внесенные изменения.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

Возвращаемые значения

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

Примеры

Пример #1 Получение статистической информации по элементу

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive


Отменяет все изменения, сделанные в архиве

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive
PHP Manual

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Отменяет все изменения, сделанные в архиве

Описание

mixed ZipArchive::unchangeAll ( void )

Отменяет все изменения, сделанные в архиве.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive


Возвращает все глобальные изменения, сделанные в архиве

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive
PHP Manual

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Возвращает все глобальные изменения, сделанные в архиве

Описание

mixed ZipArchive::unchangeArchive ( void )

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

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive


Отменяет все измения у позиции с заданным индексом

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive
PHP Manual

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Отменяет все измения у позиции с заданным индексом

Описание

mixed ZipArchive::unchangeIndex ( int $index )

Отменяет все измения у позиции с заданным индексом.

Список параметров

index

Индекс позиции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive


Отменяет все измения у позиции с заданным именем

ZipArchive::unchangeIndex
Zip Функции
ZipArchive
PHP Manual

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Отменяет все измения у позиции с заданным именем

Описание

mixed ZipArchive::unchangeName ( string $name )

Отменяет все измения у позиции с заданным именем.

Список параметров

name

Имя позиции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeIndex
Zip Функции
ZipArchive


Zip Функции

Содержание

  • zip_close — Close a ZIP file archive
  • zip_entry_close — Закрывает дескриптор директории
  • zip_entry_compressedsize — Возвращает сжатый размер файла для дескриптора директории
  • zip_entry_compressionmethod — Возвращает метод сжатия дескриптора директории
  • zip_entry_filesize — Возвращает реальный размер файла для дескриптора директории
  • zip_entry_name — Получает имя дескриптора директории
  • zip_entry_open — Открывает директорию для чтения
  • zip_entry_read — Читает данные из открытого ранее дескриптора директории
  • zip_open — Open a ZIP file archive
  • zip_read — Read next entry in a ZIP file archive
ZipArchive::unchangeName
zip_close
Zip


Close a ZIP file archive

Zip Функции
zip_entry_close
Zip Функции
PHP Manual

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_close — Close a ZIP file archive

Описание

void zip_close ( resource $zip )

Closes the given ZIP file archive.

Список параметров

zip

A ZIP file previously opened with zip_open().

Возвращаемые значения

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

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

Zip Функции
zip_entry_close
Zip Функции


Закрывает дескриптор директории

zip_close
zip_entry_compressedsize
Zip Функции
PHP Manual

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_close — Закрывает дескриптор директории

Описание

bool zip_entry_close ( resource $zip_entry )

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

Список параметров

zip_entry

Дескриптор директории, ранее открытый функцией zip_entry_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • zip_entry_open() - Открывает директорию для чтения
  • zip_entry_read() - Читает данные из открытого ранее дескриптора директории

zip_close
zip_entry_compressedsize
Zip Функции


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

zip_entry_close
zip_entry_compressionmethod
Zip Функции
PHP Manual

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressedsize — Возвращает сжатый размер файла для дескриптора директории

Описание

int zip_entry_compressedsize ( resource $zip_entry )

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

Список параметров

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

Возвращаемые значения

Сжатый размер дескриптора директории.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_close
zip_entry_compressionmethod
Zip Функции


Возвращает метод сжатия дескриптора директории

zip_entry_compressedsize
zip_entry_filesize
Zip Функции
PHP Manual

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Возвращает метод сжатия дескриптора директории

Описание

string zip_entry_compressionmethod ( resource $zip_entry )

Возвращает метод сжатия дескриптора директории, заданного в zip_entry.

Список параметров

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

Возвращаемые значения

Метод сжатия.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_compressedsize
zip_entry_filesize
Zip Функции


Возвращает реальный размер файла для дескриптора директории

zip_entry_compressionmethod
zip_entry_name
Zip Функции
PHP Manual

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_filesize — Возвращает реальный размер файла для дескриптора директории

Описание

int zip_entry_filesize ( resource $zip_entry )

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

Список параметров

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

Возвращаемые значения

Реальный размер дескриптора директории.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_compressionmethod
zip_entry_name
Zip Функции


Получает имя дескриптора директории

zip_entry_filesize
zip_entry_open
Zip Функции
PHP Manual

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_name — Получает имя дескриптора директории

Описание

string zip_entry_name ( resource $zip_entry )

Возвращает имя заданного дескриптора директории.

Список параметров

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

Возвращаемые значения

Имя дескриптора директории.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_filesize
zip_entry_open
Zip Функции


Открывает директорию для чтения

zip_entry_name
zip_entry_read
Zip Функции
PHP Manual

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_open — Открывает директорию для чтения

Описание

bool zip_entry_open ( resource $zip , resource $zip_entry [, string $mode ] )

Открывает директорию, входящую в ZIP-архив, для чтения.

Список параметров

zip

Дескритор, возвращаемый функцией zip_open().

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

mode

Доступные режимы приведены в документации к функции fopen().

Замечание:

В настоящее время параметр mode игнорируется и всегда имеет значение "rb". Это связано с тем, что ZIP в PHP поддерживается только в режиме чтения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание:

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

Смотрите также

  • zip_entry_close() - Закрывает дескриптор директории
  • zip_entry_read() - Читает данные из открытого ранее дескриптора директории

zip_entry_name
zip_entry_read
Zip Функции


Читает данные из открытого ранее дескриптора директории

zip_entry_open
zip_open
Zip Функции
PHP Manual

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_read — Читает данные из открытого ранее дескриптора директории

Описание

string zip_entry_read ( resource $zip_entry [, int $length ] )

Читает данные из открытого ранее дескриптора директории.

Список параметров

zip_entry

Дескриптор директории, возвращаемый функцией zip_read().

length

Число байт, которое нужно считать. Если параметр не определен, то функция будет пытаться считать 1024 байта.

Замечание:

В параметре необходимо указывать объем данных, которые вы хотите считать, без учета сжатия.

Возвращаемые значения

Возвращает считанные данные или FALSE если достигнут конец файла.

Смотрите также

  • zip_entry_open() - Открывает директорию для чтения
  • zip_entry_close() - Закрывает дескриптор директории
  • zip_entry_filesize() - Возвращает реальный размер файла для дескриптора директории

zip_entry_open
zip_open
Zip Функции


Open a ZIP file archive

zip_entry_read
zip_read
Zip Функции
PHP Manual

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_open — Open a ZIP file archive

Описание

mixed zip_open ( string $filename )

Opens a new zip archive for reading.

Список параметров

filename

The file name of the ZIP archive to open.

Возвращаемые значения

Returns a resource handle for later use with zip_read() and zip_close() or returns the number of error if filename does not exist or in case of other error.

Смотрите также

  • zip_read() - Read next entry in a ZIP file archive
  • zip_close() - Close a ZIP file archive

zip_entry_read
zip_read
Zip Функции


Read next entry in a ZIP file archive

zip_open
Zlib
Zip Функции
PHP Manual

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_read — Read next entry in a ZIP file archive

Описание

mixed zip_read ( resource $zip )

Reads the next entry in a zip file archive.

Список параметров

zip

A ZIP file previously opened with zip_open().

Возвращаемые значения

Returns a directory entry resource for later use with the zip_entry_... functions, or FALSE if there are no more entries to read, or an error code if an error occurred.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_close() - Close a ZIP file archive
  • zip_entry_open() - Открывает директорию для чтения
  • zip_entry_read() - Читает данные из открытого ранее дескриптора директории

zip_open
Zlib
Zip Функции


Zlib

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Zlib;
    • gzclose — Закрывает открытый gz-файл по его указателю
    • gzcompress — Сжимает строку
    • gzdecode — Распаковывает строку, упакованную с помощью gzip
    • gzdeflate — Сжимает строку
    • gzencode — Сжимает строку в формате gzip
    • gzeof — Проверяет, находится ли текущая позиция в конце (EOF) gz-файла
    • gzfile — Считывает весь gz-файл в массив
    • gzgetc — Возвращает символ из gz-файла
    • gzgets — Возвращает строку из gz-файла
    • gzgetss — Возвращает строку из gz-файла с удалёнными HTML-тегами
    • gzinflate — Распаковывает строку
    • gzopen — Открывает gz-файл
    • gzpassthru — Выводит все оставшиеся данные из указателя gz-файла.
    • gzputs — Псевдоним gzwrite
    • gzread — Бинарное чтение gz-файла
    • gzrewind — Перемещает указатель на позицию в gz-файле в начало
    • gzseek — Перемещает указатель на позицию в gz-файле
    • gztell — Возвращает текущую позицию для чтения/записи в gz-файле
    • gzuncompress — Распаковывает строку
    • gzwrite — Бинарная запись в gz-файл
    • readgzfile — Выводит содержимое gz-файла
    • zlib_get_coding_type — Возвращает способ кодирования, используемый для сжатия вывода
zip_read
Введение
Расширения сжатия и архивации


Введение

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

Замечание:

В версии 4.0.4 появилась новая fopen-обертка для .gz-файлов, и вы можете использовать специальный URL zlib: для прозрачного доступа к сжатым файлам, используя обычные функции f*() доступа к файлам. Для этого необходимо добавить префикс zlib: в начало пути к файлу при вызове fopen(). Эта возможность требует наличия библиотеки С, в которой есть функция fopencookie(). До настоящего момента только библиотека GNU libc предоставляет эту возможность.

В версии 4.3.0, префикс zlib: изменился на compress.zlib:// для предотвращения многозначности с именами файлов, содержащих ':' в имени. Функция fopencookie() больше не требуется. Больше информации доступно в разделе о zlib://.

Zlib
Установка и настройка
Zlib


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Zlib


Требования

Этот модуль использует библиотеку » zlib, написанную Jean-loup Gailly и Mark Adler. Требуется zlib версии >= 1.0.9.

Установка и настройка
Установка
Установка и настройка


Установка

Поддержка Zlib в PHP отключена по умолчанию. Чтобы включить её, используйте опцию --with-zlib[=DIR] во время сборки.

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

Замечание: Под Windows поддержка zlib включена начиная с PHP версии 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Модуль zlib предоставляет возможность сжатия передаваемых страниц (в т.ч. динамических) на лету, если браузер это поддерживает. За сжатие отвечают три параметра в конфигурационном файле php.ini.

Конфигурационные параметры Zlib
Имя функции | Значение по умолчанию | Переменная окружения | Изменения
zlib.output_compression | "0" | PHP_INI_ALL | Доступно с PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Доступно с PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Доступно с PHP 4.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

zlib.output_compression boolean/integer

Следует ли сжимать страницы. Если значение равно "On" в php.ini (или в настройках Apache), страницы будут сжиматься, если браузер посылает заголовок "Accept-Encoding: gzip" или "deflate". При этом в вывод будут добавлены заголовки "Content-Encoding: gzip" (соответственно "deflate") и "Vary: Accept-Encoding". В режиме исполнения, заголовок должен быть установлен до момента отправки.

Аргументы также могут быть целочисленного типа, а не логического "On/Off", с помощью этого вы можете устанавливать размер выходного буфера (по умолчанию равен 4 КБ).

Замечание:

output_handler должен быть пустым, если выбрано значение 'On'! Вместо него следует использовать zlib.output_handler.

zlib.output_compression_level integer

Уровень сжатия используется для прозрачного сжатия вывода. Укажите значение между 0 (без сжатия) и 9 (максимальное сжатие). По умолчанию значение -1 позволяет серверу решать, какой уровень использовать.

zlib.output_handler string

Если zlib.output_compression активирован, нельзя указывать дополнительные обработчики вывода (output handlers). Этот параметр выполняет то же, что и output_handler, но в ином порядке.

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

FORCE_GZIP (integer)
FORCE_DEFLATE (integer)
Типы ресурсов
Примеры
Zlib


Примеры

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

Пример #1 Небольшой пример использования Zlib

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// открыть файл для записи с максимальным сжатием
$zp = gzopen($filename, "w9");

// записать строку в файл
gzwrite($zp, $s);

// Закрыть файл
gzclose($zp);

// открыть файл для чтения
$zp = gzopen($filename, "r");

// прочитать три символа
echo gzread($zp, 3);

// выводить до конца файла, затем закрыть его
gzpassthru($zp);
gzclose($zp);

echo "\n";

// открыть файл и напечатать его содержимое (во второй раз)
if (readgzfile($filename) != strlen($s)) {
     echo "Возникла ошибка с zlib функциями!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>
Предопределенные константы
Zlib;
Zlib


Zlib;

Содержание

  • gzclose — Закрывает открытый gz-файл по его указателю
  • gzcompress — Сжимает строку
  • gzdecode — Распаковывает строку, упакованную с помощью gzip
  • gzdeflate — Сжимает строку
  • gzencode — Сжимает строку в формате gzip
  • gzeof — Проверяет, находится ли текущая позиция в конце (EOF) gz-файла
  • gzfile — Считывает весь gz-файл в массив
  • gzgetc — Возвращает символ из gz-файла
  • gzgets — Возвращает строку из gz-файла
  • gzgetss — Возвращает строку из gz-файла с удалёнными HTML-тегами
  • gzinflate — Распаковывает строку
  • gzopen — Открывает gz-файл
  • gzpassthru — Выводит все оставшиеся данные из указателя gz-файла.
  • gzputs — Псевдоним gzwrite
  • gzread — Бинарное чтение gz-файла
  • gzrewind — Перемещает указатель на позицию в gz-файле в начало
  • gzseek — Перемещает указатель на позицию в gz-файле
  • gztell — Возвращает текущую позицию для чтения/записи в gz-файле
  • gzuncompress — Распаковывает строку
  • gzwrite — Бинарная запись в gz-файл
  • readgzfile — Выводит содержимое gz-файла
  • zlib_get_coding_type — Возвращает способ кодирования, используемый для сжатия вывода
Примеры
gzclose
Zlib


Закрывает открытый gz-файл по его указателю

Zlib;
gzcompress
Zlib;
PHP Manual

gzclose

(PHP 4, PHP 5)

gzclose — Закрывает открытый gz-файл по его указателю

Описание

bool gzclose ( resource $zp )

Закрывает открытый gz-файл по его указателю.

Список параметров

zp

Указатель на gz-файл. Должен указывать на файл, успешно открытый gzopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования gzclose()

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'Добавлено в файл somefile.gz');
gzclose($gz);
?>

Смотрите также

  • gzopen() - Открывает gz-файл

Zlib;
gzcompress
Zlib;


Сжимает строку

gzclose
gzdecode
Zlib;
PHP Manual

gzcompress

(PHP 4 >= 4.0.1, PHP 5)

gzcompress — Сжимает строку

Описание

string gzcompress ( string $data [, int $level = -1 ] )

Данная функция сжимает строку используя формат данных ZLIB.

Подробнее про алгоритм сжатия ZLIB см. документ "» Формат сжатия ZLIB. Спецификация версии 3.3" (RFC 1950).

Замечание:

ZLIB -- это не gzip-сжатие, которое включает в себя некоторые данные заголовка. Информацию о gzip-сжатии см. gzencode().

Список параметров

data

Данные для сжатия.

level

Уровень сжатия. Целое число от 0 до 9 (0 - без сжатия, 9 - максимальное сжатие).

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования gzcompress()

<?php
$compressed = gzcompress('Сожми меня', 9);
echo $compressed;
?>

Смотрите также

  • gzdeflate() - Сжимает строку
  • gzinflate() - Распаковывает строку
  • gzuncompress() - Распаковывает строку
  • gzencode() - Сжимает строку в формате gzip

gzclose
gzdecode
Zlib;


Распаковывает строку, упакованную с помощью gzip

gzcompress
gzdeflate
Zlib;
PHP Manual

gzdecode

(Информация о версии неизвестна, возможно, только в SVN)

gzdecode — Распаковывает строку, упакованную с помощью gzip

Описание

string gzdecode ( string $data [, int $length ] )

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

Список параметров

data

Данные для распаковки, упакованные с помощью gzencode().

length

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

Возвращаемые значения

Распакованная строка или FALSE, если произошла ошибка.

Смотрите также

  • gzencode() - Сжимает строку в формате gzip

gzcompress
gzdeflate
Zlib;


Сжимает строку

gzdecode
gzencode
Zlib;
PHP Manual

gzdeflate

(PHP 4 >= 4.0.4, PHP 5)

gzdeflate — Сжимает строку

Описание

string gzdeflate ( string $data [, int $level = -1 ] )

Данная функция сжимает строку, используя формат данных DEFLATE.

Подробности об алгоритме сжатия DEFLATE см. "» Формат сжатия данных DEFLATE. Спецификация версии 1.3" (RFC 1951).

Список параметров

data

Данные для сжатия.

level

Уровень сжатия. 0 - без сжатия, 9 - максимум. Если не указан, будет использоваться уровень сжатия по умолчанию библиотеки zlib.

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования gzdeflate()

<?php
$compressed = gzdeflate('Сожми меня', 9);
echo $compressed;
?>

Смотрите также

  • gzinflate() - Распаковывает строку
  • gzcompress() - Сжимает строку
  • gzuncompress() - Распаковывает строку
  • gzencode() - Сжимает строку в формате gzip

gzdecode
gzencode
Zlib;


Сжимает строку в формате gzip

gzdeflate
gzeof
Zlib;
PHP Manual

gzencode

(PHP 4 >= 4.0.4, PHP 5)

gzencode — Сжимает строку в формате gzip

Описание

string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )

Возвращает сжатую версию входных данных data, аналогично выводу программы gzip.

Подробности о формате GZIP см. » Формат файла GZIP. Спецификация версии 4.3 (RFC 1952).

Список параметров

data

Данные для сжатия.

level

Уровень сжатия. 0 - без сжатия, 9 - максимальное сжатие. Если не указано, будет использоваться уровень сжатия по умолчанию библиотеки zlib.

encoding_mode

Режим сжатия, может быть FORCE_GZIP (по умолчанию) или FORCE_DEFLATE.

В случае FORCE_DEFLATE, будет возвращена строка, сжатая по алгоритму zlib deflate (с заголовками zlib) после заголовка файла gzip, но без проверочной суммы crc32 в конце.

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Список изменений

Версия | Описание
4.2.0 | Добавлен аргумент encoding_mode

Примеры

Возвращаемые данные будут содержать соответствующие заголовки и структуры данных как в обычном .gz-файле, например:

Пример #1 Создание файла gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Смотрите также

  • gzdecode() - Распаковывает строку, упакованную с помощью gzip
  • gzdeflate() - Сжимает строку
  • gzinflate() - Распаковывает строку
  • gzuncompress() - Распаковывает строку
  • gzcompress() - Сжимает строку

gzdeflate
gzeof
Zlib;


Проверяет, находится ли текущая позиция в конце (EOF) gz-файла

gzencode
gzfile
Zlib;
PHP Manual

gzeof

(PHP 4, PHP 5)

gzeof — Проверяет, находится ли текущая позиция в конце (EOF) gz-файла

Описание

int gzeof ( resource $zp )

Проверяет, соответствует ли позиция указателя в GZ-файле позиции EOF (end-of-file, конец файла).

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Возвращает TRUE если позиция указателя в gz-файле соответствует EOF или в случае ошибки; иначе возвращает FALSE.

Примеры

Пример #1 Пример использования gzeof()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

gzencode
gzfile
Zlib;


Считывает весь gz-файл в массив

gzeof
gzgetc
Zlib;
PHP Manual

gzfile

(PHP 4, PHP 5)

gzfile — Считывает весь gz-файл в массив

Описание

array gzfile ( string $filename [, int $use_include_path = 0 ] )

Аналогична readgzfile(), но возвращает файл, разбитый построчно на массив.

Список параметров

filename

Имя файла.

use_include_path

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

Возвращаемые значения

Массив строк файла, в каждом элементе массива находится одна строка.

Примеры

Пример #1 Пример использования gzfile()

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Смотрите также

  • readgzfile() - Выводит содержимое gz-файла
  • gzopen() - Открывает gz-файл

gzeof
gzgetc
Zlib;


Возвращает символ из gz-файла

gzfile
gzgets
Zlib;
PHP Manual

gzgetc

(PHP 4, PHP 5)

gzgetc — Возвращает символ из gz-файла

Описание

string gzgetc ( resource $zp )

Возвращает один символ (после распаковки) из gz-файла по его указателю.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Символ (после распаковки) или FALSE в случае EOF (в отличие от gzeof()).

Примеры

Пример #1 Пример использования gzgetc()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Смотрите также

  • gzopen() - Открывает gz-файл
  • gzgets() - Возвращает строку из gz-файла

gzfile
gzgets
Zlib;


Возвращает строку из gz-файла

gzgetc
gzgetss
Zlib;
PHP Manual

gzgets

(PHP 4, PHP 5)

gzgets — Возвращает строку из gz-файла

Описание

string gzgets ( resource $zp , int $length )

Возвращает строку (после распаковки) из gz-файла, её длина ограничивается length - 1 байтами. Чтение заканчивается при достижении максимальной длины, конца строки или конца файла (EOF).

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

length

Максимальный размер возвращаемых данных.

Возвращаемые значения

Распакованная строка или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования gzgets()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgets($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Смотрите также

  • gzopen() - Открывает gz-файл
  • gzgetc() - Возвращает символ из gz-файла
  • gzwrite() - Бинарная запись в gz-файл

gzgetc
gzgetss
Zlib;


Возвращает строку из gz-файла с удалёнными HTML-тегами

gzgets
gzinflate
Zlib;
PHP Manual

gzgetss

(PHP 4, PHP 5)

gzgetss — Возвращает строку из gz-файла с удалёнными HTML-тегами

Описание

string gzgetss ( resource $zp , int $length [, string $allowable_tags ] )

Аналогично gzgets(), только gzgetss() также удаляет все теги HTML и PHP из возвращаемой строки.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

length

Максимальный размер возвращаемых данных.

allowable_tags

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

Возвращаемые значения

Распакованная строка без разметки или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования gzgetss()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgetss($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Смотрите также

  • gzopen() - Открывает gz-файл
  • gzgets() - Возвращает строку из gz-файла
  • strip_tags() - Удаляет HTML и PHP-теги из строки

gzgets
gzinflate
Zlib;


Распаковывает строку

gzgetss
gzopen
Zlib;
PHP Manual

gzinflate

(PHP 4 >= 4.0.4, PHP 5)

gzinflate — Распаковывает строку

Описание

string gzinflate ( string $data [, int $length = 0 ] )

Распаковывает сжатую строку.

Список параметров

data

Данные, сжатые функцией gzdeflate().

length

Максимальный размер данных для распаковки.

Возвращаемые значения

Распакованные данные или FALSE в случае ошибки.

Функция также сообщит об ошибке в случае, если несжатые данные в 32768 раз больше размера сжатых данных data или больше параметра length.

Примеры

Пример #1 Пример использования gzinflate()

<?php
$compressed   = gzdeflate('Сожми меня', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Смотрите также

  • gzdeflate() - Сжимает строку
  • gzcompress() - Сжимает строку
  • gzuncompress() - Распаковывает строку
  • gzencode() - Сжимает строку в формате gzip

gzgetss
gzopen
Zlib;


Открывает gz-файл

gzinflate
gzpassthru
Zlib;
PHP Manual

gzopen

(PHP 4, PHP 5)

gzopen — Открывает gz-файл

Описание

resource gzopen ( string $filename , string $mode [, int $use_include_path = 0 ] )

Открывает файл gzip (.gz) для чтения или записи.

gzopen() также можно использовать для несжатых файлов (т.е. не в формате gzip). В этом случае gzread() вернёт файл напрямую без какой-либо обработки.

Список параметров

filename

Имя файла.

mode

Как в fopen() (rb или wb), но также может включать уровень сжатия (wb9) или стратегию: f для фильтрации данных как в wb6f, h для сжатия только по алгоритму Хаффмана как в wb1h (Для более детальной информации о параметре стратегии см. описание deflateInit2 в zlib.h).

use_include_path

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

Возвращаемые значения

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

В случае ошибки функция возвращает FALSE.

Примеры

Пример #1 Пример использования gzopen()

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Смотрите также

  • gzclose() - Закрывает открытый gz-файл по его указателю

gzinflate
gzpassthru
Zlib;


Выводит все оставшиеся данные из указателя gz-файла.

gzopen
gzputs
Zlib;
PHP Manual

gzpassthru

(PHP 4, PHP 5)

gzpassthru — Выводит все оставшиеся данные из указателя gz-файла.

Описание

int gzpassthru ( resource $zp )

Читает до конца файла (EOF) данные из указателя gz-файла, начиная с текущей позиции, и записывает результат (без сжатия) в стандартный вывод.

Замечание:

Используйте gzrewind(), чтобы переместить указатель на позицию в начало файла, если вы уже записывали данные в него.

Подсказка

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

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Количество распакованных символов, полученных из gz, или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования gzpassthru()

<?php
$fp = gzopen('file.gz', 'r');
gzpassthru($fp);
gzclose($fp);
?>

gzopen
gzputs
Zlib;


Псевдоним gzwrite

gzpassthru
gzread
Zlib;
PHP Manual

gzputs

(PHP 4, PHP 5)

gzputs — Псевдоним gzwrite()

Описание

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

gzpassthru
gzread
Zlib;


Бинарное чтение gz-файла

gzputs
gzrewind
Zlib;
PHP Manual

gzread

(PHP 4, PHP 5)

gzread — Бинарное чтение gz-файла

Описание

string gzread ( resource $zp , int $length )

gzread() читает (распаковывая) до length байт из gz-файла по указателю на него. Чтение заканчивается при достижении максимального размера length распакованных данных или конца файла (EOF)

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

length

Количество байт (после распаковки), которые следует прочитать.

Возвращаемые значения

Прочтённые данные.

Примеры

Пример #1 Пример использования gzread()

<?php
// поместить содержимое gz-файла в строку
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Смотрите также

  • gzwrite() - Бинарная запись в gz-файл
  • gzopen() - Открывает gz-файл
  • gzgets() - Возвращает строку из gz-файла
  • gzgetss() - Возвращает строку из gz-файла с удалёнными HTML-тегами
  • gzfile() - Считывает весь gz-файл в массив
  • gzpassthru() - Выводит все оставшиеся данные из указателя gz-файла.

gzputs
gzrewind
Zlib;


Перемещает указатель на позицию в gz-файле в начало

gzread
gzseek
Zlib;
PHP Manual

gzrewind

(PHP 4, PHP 5)

gzrewind — Перемещает указатель на позицию в gz-файле в начало

Описание

bool gzrewind ( resource $zp )

Устанавливает указатель на позицию файла на начало потока этого файла.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gzseek() - Перемещает указатель на позицию в gz-файле
  • gztell() - Возвращает текущую позицию для чтения/записи в gz-файле

gzread
gzseek
Zlib;


Перемещает указатель на позицию в gz-файле

gzrewind
gztell
Zlib;
PHP Manual

gzseek

(PHP 4, PHP 5)

gzseek — Перемещает указатель на позицию в gz-файле

Описание

int gzseek ( resource $zp , int $offset [, int $whence = SEEK_SET ] )

Устанавливает указатель на позицию в файле, на который ссылается zp. Выполняется смещение потока этого файла на указанное количество байт. Эквивалентно вызову (в C) gzseek(zp, offset, SEEK_SET).

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

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

offset

Смещение.

whence

Значения параметра whence может быть одним из следующих:

  • SEEK_SET - Установить абсолютную позицию в offset байт.
  • SEEK_CUR - Установить позицию относительно текущего положения, добавив к ней offset.

Если whence не указан, используемое по умолчанию значение -- SEEK_SET.

Возвращаемые значения

При успешном завершении возвращает 0; иначе -1. Обратите внимание, что если установленное смещение перемещает указатель на позицию за EOF, это не является ошибкой.

Примеры

Пример #1 Пример использования gzseek()

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Смотрите также

  • gztell() - Возвращает текущую позицию для чтения/записи в gz-файле
  • gzrewind() - Перемещает указатель на позицию в gz-файле в начало

gzrewind
gztell
Zlib;


Возвращает текущую позицию для чтения/записи в gz-файле

gzseek
gzuncompress
Zlib;
PHP Manual

gztell

(PHP 4, PHP 5)

gztell — Возвращает текущую позицию для чтения/записи в gz-файле

Описание

int gztell ( resource $zp )

Возвращает позицию в файле по его указателю, т.е. смещение в потоке распакованного файла.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Текущая позиция или FALSE в случае ошибки.

Смотрите также

  • gzopen() - Открывает gz-файл
  • gzseek() - Перемещает указатель на позицию в gz-файле
  • gzrewind() - Перемещает указатель на позицию в gz-файле в начало

gzseek
gzuncompress
Zlib;


Распаковывает строку

gztell
gzwrite
Zlib;
PHP Manual

gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress — Распаковывает строку

Описание

string gzuncompress ( string $data [, int $length = 0 ] )

Распаковывает строку.

Список параметров

data

Данные, сжатые функцией gzcompress().

length

Максимальный размер данных для распаковки.

Возвращаемые значения

Распакованные данные или FALSE в случае ошибки.

Функция также сообщит об ошибке в случае, если несжатые данные в 32768 раз больше размера сжатых данных data или больше параметра length.

Примеры

Пример #1 Пример использования gzuncompress()

<?php
$compressed   = gzcompress('Сожми меня', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Смотрите также

  • gzcompress() - Сжимает строку
  • gzinflate() - Распаковывает строку
  • gzdeflate() - Сжимает строку
  • gzencode() - Сжимает строку в формате gzip

gztell
gzwrite
Zlib;


Бинарная запись в gz-файл

gzuncompress
readgzfile
Zlib;
PHP Manual

gzwrite

(PHP 4, PHP 5)

gzwrite — Бинарная запись в gz-файл

Описание

int gzwrite ( resource $zp , string $string [, int $length ] )

Записывает содержимое string в данный gz-файл.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

string

Записываемая строка.

length

Число записываемых байтов (до сжатия). Если указано, операция завершится после записи length байт или при достижении конца строки string.

Замечание:

Обратите внимание, что если параметр length задан, конфигурационный параметр magic_quotes_runtime будет проигнорирован и удаление слэшей из записываемой строки не будет выполнено.

Возвращаемые значения

Возвращает число действительно записанных байт (без учёта сжатия) в поток gz-файла.

Примеры

Пример #1 Пример использования gzwrite()

<?php
$string = 'Какие-то данные для сжатия';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Смотрите также

  • gzread() - Бинарное чтение gz-файла
  • gzopen() - Открывает gz-файл

gzuncompress
readgzfile
Zlib;


Выводит содержимое gz-файла

gzwrite
zlib_get_coding_type
Zlib;
PHP Manual

readgzfile

(PHP 4, PHP 5)

readgzfile — Выводит содержимое gz-файла

Описание

int readgzfile ( string $filename [, int $use_include_path = 0 ] )

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

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

Список параметров

filename

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

use_include_path

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

Возвращаемые значения

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

Смотрите также

  • gzpassthru() - Выводит все оставшиеся данные из указателя gz-файла.
  • gzfile() - Считывает весь gz-файл в массив
  • gzopen() - Открывает gz-файл

gzwrite
zlib_get_coding_type
Zlib;


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

readgzfile
Обработка кредитных карт
Zlib;
PHP Manual

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5)

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

Описание

string zlib_get_coding_type ( void )

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

Возвращаемые значения

Возможные значения: gzip, deflate или FALSE.

Смотрите также

  • Директива zlib.output_compression

readgzfile
Обработка кредитных карт
Zlib;


Обработка кредитных карт

  • MCVE — MCVE (Monetra) Payment
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • MCVE Функции
  • SPPLUS — Платежная система SPPLUS
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SPPLUS Функции
zlib_get_coding_type
MCVE
Справочник функций


MCVE (Monetra) Payment

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • MCVE Функции
    • m_checkstatus — Check to see if a transaction has completed
    • m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers
    • m_connect — Establish the connection to MCVE
    • m_connectionerror — Get a textual representation of why a connection failed
    • m_deletetrans — Delete specified transaction from MCVE_CONN structure
    • m_destroyconn — Destroy the connection and MCVE_CONN structure
    • m_destroyengine — Free memory associated with IP/SSL connectivity
    • m_getcell — Get a specific cell from a comma delimited response by column name
    • m_getcellbynum — Get a specific cell from a comma delimited response by column number
    • m_getcommadelimited — Get the RAW comma delimited data returned from MCVE
    • m_getheader — Get the name of the column in a comma-delimited response
    • m_initconn — Create and initialize an MCVE_CONN structure
    • m_initengine — Ready the client for IP/SSL Communication
    • m_iscommadelimited — Checks to see if response is comma delimited
    • m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE
    • m_monitor — Perform communication with MCVE (send/receive data) Non-blocking
    • m_numcolumns — Number of columns returned in a comma delimited response
    • m_numrows — Number of rows returned in a comma delimited response
    • m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work
    • m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction
    • m_responseparam — Get a custom response parameter
    • m_returnstatus — Check to see if the transaction was successful
    • m_setblocking — Set blocking/non-blocking mode for connection
    • m_setdropfile — Set the connection method to Drop-File
    • m_setip — Set the connection method to IP
    • m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate
    • m_setssl_files — Set certificate key files and certificates if server requires client certificate verification
    • m_setssl — Set the connection method to SSL
    • m_settimeout — Set maximum transaction time (per trans)
    • m_sslcert_gen_hash — Generate hash for SSL client certificate verification
    • m_transactionssent — Check to see if outgoing buffer is clear
    • m_transinqueue — Number of transactions in client-queue
    • m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()
    • m_transnew — Start a new transaction
    • m_transsend — Finalize and send the transaction
    • m_uwait — Wait x microsecs
    • m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to
    • m_verifyconnection — Set whether or not to PING upon connect to verify connection
    • m_verifysslcert — Set whether or not to verify the server ssl certificate
Обработка кредитных карт
Введение
Обработка кредитных карт


Введение

These functions interface the MCVE (Monetra) API (libmonetra, formerly known as libmcve), allowing you to work directly with MCVE/Monetra from your PHP scripts. MCVE/Monetra is Main Street Softworks' solution to direct credit/debit/gift card processing for Linux/Unix/MacOSX/Windows ( » http://www.mainstreetsoftworks.com/ ). It lets you directly address the credit card clearing houses via your *nix box, modem and/or internet connection (bypassing the need for an additional service such as Authorize.Net or Pay Flow Pro). Using the MCVE/Monetra module for PHP, you can process credit cards directly through MCVE/Monetra via your PHP scripts. The following references will outline the process.

Замечание:

MCVE/Monetra is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientele to the MCVE platform.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

MCVE
Установка и настройка
MCVE


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
MCVE


Требования

The LibMonetra (formerly libmcve) library.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mcve.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

If installing without specifying the libmonetra path, PHP will attempt to look in the default LibMonetra Install location (/usr/local). If Monetra (MCVE) is in a non-standard location, run configure with: --with-mcve=$mcve_path , where $mcve_path is the path to your MCVE/Monetra installation. Please note that MCVE/Monetra support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h or monetra.h under the include directory and libmcve.so and/or libmcve.a and/or libmonetra.so and/or libmonetra.a under the lib directory.

Since MCVE/Monetra has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE/Monetra extension in PHP, you may connect to testbox.monetra.com on port 8333 for IP, or port 8444 for SSL using the MCVE/Monetra PHP API. Use 'vitale' for your username, and 'test' for your password. Additional information about test facilities are available at » http://www.mainstreetsoftworks.com/.

Требования
Настройка во время выполнения
Установка и настройка


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

This extension defines a MCVE_CONN resource returned by m_initconn().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

M_PENDING (integer)
M_DONE (integer)
M_ERROR (integer)
M_FAIL (integer)
M_SUCCESS (integer)
Типы ресурсов
MCVE Функции
MCVE


MCVE Функции

Смотрите также

Additional documentation about MCVE/Monetra's PHP API can be found at » http://www.mainstreetsoftworks.com/documentation.html. Main Street's documentation is complete and should be the primary reference for functions.

Содержание

  • m_checkstatus — Check to see if a transaction has completed
  • m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers
  • m_connect — Establish the connection to MCVE
  • m_connectionerror — Get a textual representation of why a connection failed
  • m_deletetrans — Delete specified transaction from MCVE_CONN structure
  • m_destroyconn — Destroy the connection and MCVE_CONN structure
  • m_destroyengine — Free memory associated with IP/SSL connectivity
  • m_getcell — Get a specific cell from a comma delimited response by column name
  • m_getcellbynum — Get a specific cell from a comma delimited response by column number
  • m_getcommadelimited — Get the RAW comma delimited data returned from MCVE
  • m_getheader — Get the name of the column in a comma-delimited response
  • m_initconn — Create and initialize an MCVE_CONN structure
  • m_initengine — Ready the client for IP/SSL Communication
  • m_iscommadelimited — Checks to see if response is comma delimited
  • m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE
  • m_monitor — Perform communication with MCVE (send/receive data) Non-blocking
  • m_numcolumns — Number of columns returned in a comma delimited response
  • m_numrows — Number of rows returned in a comma delimited response
  • m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work
  • m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction
  • m_responseparam — Get a custom response parameter
  • m_returnstatus — Check to see if the transaction was successful
  • m_setblocking — Set blocking/non-blocking mode for connection
  • m_setdropfile — Set the connection method to Drop-File
  • m_setip — Set the connection method to IP
  • m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate
  • m_setssl_files — Set certificate key files and certificates if server requires client certificate verification
  • m_setssl — Set the connection method to SSL
  • m_settimeout — Set maximum transaction time (per trans)
  • m_sslcert_gen_hash — Generate hash for SSL client certificate verification
  • m_transactionssent — Check to see if outgoing buffer is clear
  • m_transinqueue — Number of transactions in client-queue
  • m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()
  • m_transnew — Start a new transaction
  • m_transsend — Finalize and send the transaction
  • m_uwait — Wait x microsecs
  • m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to
  • m_verifyconnection — Set whether or not to PING upon connect to verify connection
  • m_verifysslcert — Set whether or not to verify the server ssl certificate
Предопределенные константы
m_checkstatus
MCVE


Check to see if a transaction has completed

MCVE Функции
m_completeauthorizations
MCVE Функции
PHP Manual

m_checkstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_checkstatus — Check to see if a transaction has completed

Описание

int m_checkstatus ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

MCVE Функции
m_completeauthorizations
MCVE Функции


Number of complete authorizations in queue, returning an array of their identifiers

m_checkstatus
m_connect
MCVE Функции
PHP Manual

m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers

Описание

int m_completeauthorizations ( resource $conn , int &$array )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

array

Its description

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

m_checkstatus
m_connect
MCVE Функции


Establish the connection to MCVE

m_completeauthorizations
m_connectionerror
MCVE Функции
PHP Manual

m_connect

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connect — Establish the connection to MCVE

Описание

int m_connect ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_completeauthorizations
m_connectionerror
MCVE Функции


Get a textual representation of why a connection failed

m_connect
m_deletetrans
MCVE Функции
PHP Manual

m_connectionerror

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connectionerror — Get a textual representation of why a connection failed

Описание

string m_connectionerror ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_connect
m_deletetrans
MCVE Функции


Delete specified transaction from MCVE_CONN structure

m_connectionerror
m_destroyconn
MCVE Функции
PHP Manual

m_deletetrans

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_deletetrans — Delete specified transaction from MCVE_CONN structure

Описание

bool m_deletetrans ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_connectionerror
m_destroyconn
MCVE Функции


Destroy the connection and MCVE_CONN structure

m_deletetrans
m_destroyengine
MCVE Функции
PHP Manual

m_destroyconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyconn — Destroy the connection and MCVE_CONN structure

Описание

bool m_destroyconn ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

Returns TRUE.

Смотрите также

  • m_initconn() - Create and initialize an MCVE_CONN structure

m_deletetrans
m_destroyengine
MCVE Функции


Free memory associated with IP/SSL connectivity

m_destroyconn
m_getcell
MCVE Функции
PHP Manual

m_destroyengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyengine — Free memory associated with IP/SSL connectivity

Описание

void m_destroyengine ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

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

m_destroyconn
m_getcell
MCVE Функции


Get a specific cell from a comma delimited response by column name

m_destroyengine
m_getcellbynum
MCVE Функции
PHP Manual

m_getcell

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcell — Get a specific cell from a comma delimited response by column name

Описание

string m_getcell ( resource $conn , int $identifier , string $column , int $row )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

column

row

Возвращаемые значения

m_destroyengine
m_getcellbynum
MCVE Функции


Get a specific cell from a comma delimited response by column number

m_getcell
m_getcommadelimited
MCVE Функции
PHP Manual

m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcellbynum — Get a specific cell from a comma delimited response by column number

Описание

string m_getcellbynum ( resource $conn , int $identifier , int $column , int $row )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

column

row

Возвращаемые значения

m_getcell
m_getcommadelimited
MCVE Функции


Get the RAW comma delimited data returned from MCVE

m_getcellbynum
m_getheader
MCVE Функции
PHP Manual

m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcommadelimited — Get the RAW comma delimited data returned from MCVE

Описание

string m_getcommadelimited ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_getcellbynum
m_getheader
MCVE Функции


Get the name of the column in a comma-delimited response

m_getcommadelimited
m_initconn
MCVE Функции
PHP Manual

m_getheader

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getheader — Get the name of the column in a comma-delimited response

Описание

string m_getheader ( resource $conn , int $identifier , int $column_num )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

column_num

Возвращаемые значения

m_getcommadelimited
m_initconn
MCVE Функции


Create and initialize an MCVE_CONN structure

m_getheader
m_initengine
MCVE Функции
PHP Manual

m_initconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initconn — Create and initialize an MCVE_CONN structure

Описание

resource m_initconn ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Returns an MCVE_CONN resource.

Смотрите также

  • m_destroyconn() - Destroy the connection and MCVE_CONN structure

m_getheader
m_initengine
MCVE Функции


Ready the client for IP/SSL Communication

m_initconn
m_iscommadelimited
MCVE Функции
PHP Manual

m_initengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initengine — Ready the client for IP/SSL Communication

Описание

int m_initengine ( string $location )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

location

Возвращаемые значения

m_initconn
m_iscommadelimited
MCVE Функции


Checks to see if response is comma delimited

m_initengine
m_maxconntimeout
MCVE Функции
PHP Manual

m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_iscommadelimited — Checks to see if response is comma delimited

Описание

int m_iscommadelimited ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_initengine
m_maxconntimeout
MCVE Функции


The maximum amount of time the API will attempt a connection to MCVE

m_iscommadelimited
m_monitor
MCVE Функции
PHP Manual

m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE

Описание

bool m_maxconntimeout ( resource $conn , int $secs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

secs

Возвращаемые значения

m_iscommadelimited
m_monitor
MCVE Функции


Perform communication with MCVE (send/receive data) Non-blocking

m_maxconntimeout
m_numcolumns
MCVE Функции
PHP Manual

m_monitor

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_monitor — Perform communication with MCVE (send/receive data) Non-blocking

Описание

int m_monitor ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_maxconntimeout
m_numcolumns
MCVE Функции


Number of columns returned in a comma delimited response

m_monitor
m_numrows
MCVE Функции
PHP Manual

m_numcolumns

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numcolumns — Number of columns returned in a comma delimited response

Описание

int m_numcolumns ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_monitor
m_numrows
MCVE Функции


Number of rows returned in a comma delimited response

m_numcolumns
m_parsecommadelimited
MCVE Функции
PHP Manual

m_numrows

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numrows — Number of rows returned in a comma delimited response

Описание

int m_numrows ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_numcolumns
m_parsecommadelimited
MCVE Функции


Parse the comma delimited response so m_getcell, etc will work

m_numrows
m_responsekeys
MCVE Функции
PHP Manual

m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work

Описание

int m_parsecommadelimited ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_numrows
m_responsekeys
MCVE Функции


Returns array of strings which represents the keys that can be used for response parameters on this transaction

m_parsecommadelimited
m_responseparam
MCVE Функции
PHP Manual

m_responsekeys

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction

Описание

array m_responsekeys ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_parsecommadelimited
m_responseparam
MCVE Функции


Get a custom response parameter

m_responsekeys
m_returnstatus
MCVE Функции
PHP Manual

m_responseparam

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_responseparam — Get a custom response parameter

Описание

string m_responseparam ( resource $conn , int $identifier , string $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

key

Возвращаемые значения

m_responsekeys
m_returnstatus
MCVE Функции


Check to see if the transaction was successful

m_responseparam
m_setblocking
MCVE Функции
PHP Manual

m_returnstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_returnstatus — Check to see if the transaction was successful

Описание

int m_returnstatus ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_responseparam
m_setblocking
MCVE Функции


Set blocking/non-blocking mode for connection

m_returnstatus
m_setdropfile
MCVE Функции
PHP Manual

m_setblocking

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setblocking — Set blocking/non-blocking mode for connection

Описание

int m_setblocking ( resource $conn , int $tf )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

tf

Возвращаемые значения

m_returnstatus
m_setdropfile
MCVE Функции


Set the connection method to Drop-File

m_setblocking
m_setip
MCVE Функции
PHP Manual

m_setdropfile

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setdropfile — Set the connection method to Drop-File

Описание

int m_setdropfile ( resource $conn , string $directory )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

directory

Возвращаемые значения

m_setblocking
m_setip
MCVE Функции


Set the connection method to IP

m_setdropfile
m_setssl_cafile
MCVE Функции
PHP Manual

m_setip

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setip — Set the connection method to IP

Описание

int m_setip ( resource $conn , string $host , int $port )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

host

port

Возвращаемые значения

m_setdropfile
m_setssl_cafile
MCVE Функции


Set SSL CA (Certificate Authority) file for verification of server certificate

m_setip
m_setssl_files
MCVE Функции
PHP Manual

m_setssl_cafile

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate

Описание

int m_setssl_cafile ( resource $conn , string $cafile )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

cafile

Возвращаемые значения

m_setip
m_setssl_files
MCVE Функции


Set certificate key files and certificates if server requires client certificate verification

m_setssl_cafile
m_setssl
MCVE Функции
PHP Manual

m_setssl_files

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_files — Set certificate key files and certificates if server requires client certificate verification

Описание

int m_setssl_files ( resource $conn , string $sslkeyfile , string $sslcertfile )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

sslkeyfile

sslcertfile

Возвращаемые значения

m_setssl_cafile
m_setssl
MCVE Функции


Set the connection method to SSL

m_setssl_files
m_settimeout
MCVE Функции
PHP Manual

m_setssl

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl — Set the connection method to SSL

Описание

int m_setssl ( resource $conn , string $host , int $port )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

host

port

Возвращаемые значения

m_setssl_files
m_settimeout
MCVE Функции


Set maximum transaction time (per trans)

m_setssl
m_sslcert_gen_hash
MCVE Функции
PHP Manual

m_settimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_settimeout — Set maximum transaction time (per trans)

Описание

int m_settimeout ( resource $conn , int $seconds )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

seconds

Возвращаемые значения

m_setssl
m_sslcert_gen_hash
MCVE Функции


Generate hash for SSL client certificate verification

m_settimeout
m_transactionssent
MCVE Функции
PHP Manual

m_sslcert_gen_hash

(PECL mcve >= 5.2.0)

m_sslcert_gen_hash — Generate hash for SSL client certificate verification

Описание

string m_sslcert_gen_hash ( string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filename

Возвращаемые значения

m_settimeout
m_transactionssent
MCVE Функции


Check to see if outgoing buffer is clear

m_sslcert_gen_hash
m_transinqueue
MCVE Функции
PHP Manual

m_transactionssent

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transactionssent — Check to see if outgoing buffer is clear

Описание

int m_transactionssent ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_sslcert_gen_hash
m_transinqueue
MCVE Функции


Number of transactions in client-queue

m_transactionssent
m_transkeyval
MCVE Функции
PHP Manual

m_transinqueue

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transinqueue — Number of transactions in client-queue

Описание

int m_transinqueue ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_transactionssent
m_transkeyval
MCVE Функции


Add key/value pair to a transaction. Replaces deprecated transparam()

m_transinqueue
m_transnew
MCVE Функции
PHP Manual

m_transkeyval

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()

Описание

int m_transkeyval ( resource $conn , int $identifier , string $key , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

key

value

Возвращаемые значения

m_transinqueue
m_transnew
MCVE Функции


Start a new transaction

m_transkeyval
m_transsend
MCVE Функции
PHP Manual

m_transnew

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transnew — Start a new transaction

Описание

int m_transnew ( resource $conn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

Возвращаемые значения

m_transkeyval
m_transsend
MCVE Функции


Finalize and send the transaction

m_transnew
m_uwait
MCVE Функции
PHP Manual

m_transsend

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transsend — Finalize and send the transaction

Описание

int m_transsend ( resource $conn , int $identifier )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

identifier

Возвращаемые значения

m_transnew
m_uwait
MCVE Функции


Wait x microsecs

m_transsend
m_validateidentifier
MCVE Функции
PHP Manual

m_uwait

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_uwait — Wait x microsecs

Описание

int m_uwait ( int $microsecs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

microsecs

Возвращаемые значения

m_transsend
m_validateidentifier
MCVE Функции


Whether or not to validate the passed identifier on any transaction it is passed to

m_uwait
m_verifyconnection
MCVE Функции
PHP Manual

m_validateidentifier

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to

Описание

int m_validateidentifier ( resource $conn , int $tf )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

tf

Возвращаемые значения

m_uwait
m_verifyconnection
MCVE Функции


Set whether or not to PING upon connect to verify connection

m_validateidentifier
m_verifysslcert
MCVE Функции
PHP Manual

m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifyconnection — Set whether or not to PING upon connect to verify connection

Описание

bool m_verifyconnection ( resource $conn , int $tf )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

tf

Возвращаемые значения

m_validateidentifier
m_verifysslcert
MCVE Функции


Set whether or not to verify the server ssl certificate

m_verifyconnection
SPPLUS
MCVE Функции
PHP Manual

m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifysslcert — Set whether or not to verify the server ssl certificate

Описание

bool m_verifysslcert ( resource $conn , int $tf )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

conn

Ресурс MCVE_CONN, полученный из m_initengine().

tf

Возвращаемые значения

m_verifyconnection
SPPLUS
MCVE Функции


Платежная система SPPLUS

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SPPLUS Функции
    • calcul_hmac — Получить HMAC-ключ (необходимо 8 параметров)
    • calculhmac — Получить HMAC-ключ (Необходимо 2 параметра)
    • nthmac — Получить NTHMAC-ключ (Необходимо 2 параметра)
    • signeurlpaiement — Получить платежный url (Необходимо 2 параметра)
m_verifysslcert
Введение
Обработка кредитных карт


Введение

Это расширение позволяет использовать » платежную систему SPPLUS французского банка Caisse d'Epargne.

Замечание: Для Windows-платформ это расширение недоступно.

Смотрите README-файлы в дистрибутиве kit_php для сведений о конфигурации.

SPPLUS
Установка и настройка
SPPLUS


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SPPLUS


Требования

Замечание: Необходимы как минимум PHP 4.1.0 и SPPLUS v.3

Замечание: Вам нужно будет получить новый kit_php для spplus. Не стесняйтесь обращаться к сопровождающему, если вы не можете получить его.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/spplus.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание:

Требуется PHP 4.3.0 или выше чтобы работало сжатие.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
SPPLUS Функции
SPPLUS


SPPLUS Функции

Содержание

  • calcul_hmac — Получить HMAC-ключ (необходимо 8 параметров)
  • calculhmac — Получить HMAC-ключ (Необходимо 2 параметра)
  • nthmac — Получить NTHMAC-ключ (Необходимо 2 параметра)
  • signeurlpaiement — Получить платежный url (Необходимо 2 параметра)
Предопределенные константы
calcul_hmac
SPPLUS


Получить HMAC-ключ (необходимо 8 параметров)

SPPLUS Функции
calculhmac
SPPLUS Функции
PHP Manual

calcul_hmac

(PECL spplus >= 1.0.0)

calcul_hmac — Получить HMAC-ключ (необходимо 8 параметров)

Описание

string calcul_hmac ( string $clent , string $siretcode , string $price , string $reference , string $validity , string $taxation , string $devise , string $language )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

SPPLUS Функции
calculhmac
SPPLUS Функции


Получить HMAC-ключ (Необходимо 2 параметра)

calcul_hmac
nthmac
SPPLUS Функции
PHP Manual

calculhmac

(PECL spplus >= 1.0.0)

calculhmac — Получить HMAC-ключ (Необходимо 2 параметра)

Описание

string calculhmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

calcul_hmac
nthmac
SPPLUS Функции


Получить NTHMAC-ключ (Необходимо 2 параметра)

calculhmac
signeurlpaiement
SPPLUS Функции
PHP Manual

nthmac

(PECL spplus >= 1.0.0)

nthmac — Получить NTHMAC-ключ (Необходимо 2 параметра)

Описание

string nthmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

calculhmac
signeurlpaiement
SPPLUS Функции


Получить платежный url (Необходимо 2 параметра)

nthmac
Криптографические расширения
SPPLUS Функции
PHP Manual

signeurlpaiement

(PECL spplus >= 1.0.0)

signeurlpaiement — Получить платежный url (Необходимо 2 параметра)

Описание

string nthmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

nthmac
Криптографические расширения
SPPLUS Функции


Криптографические расширения

  • Crack — Cracklib
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Crack
  • Hash — Фреймворк хеш-кодов HASH
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Hash
  • Mcrypt
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mcrypt ciphers
    • Примеры
    • Mcrypt
  • Mhash
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Mhash Функции
  • OpenSSL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Параметры Ключа/Сертификата
    • Проверка сертификатов
    • OpenSSL
signeurlpaiement
Crack
Справочник функций


Cracklib

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Crack
    • crack_check — Проверяет взломостойкость переданного пароля
    • crack_closedict — Закрывает открытый ранее словарь CrackLib
    • crack_getlastmessage — Возвращает текстовое сообщение о последней проверке взломостойкости пароля
    • crack_opendict — Открывает новый словарь CrackLib
Криптографические расширения
Введение
Криптографические расширения


Введение

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

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

Crack
Установка и настройка
Crack


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Crack


Требования

Более подробную информацию о CrackLib вместе с самой библиотекой можно найти по адресу » http://sourceforge.net/projects/cracklib.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/crack.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. Для использования этих функций, вы должны скомпилировать PHP с поддержкой расширения Crack, при помощи конфигурационной опции --with-crack[=DIR] .

Пользователям Windows достаточно подключить модуль php_crack.dll в файле php.ini. В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки Crack
Имя | По умолчанию | Изменяемый | Список изменений
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM в crack <= 0.2. Доступно с PHP 4.0.5. Удалено в PHP 5.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


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

Расширение CrackLib определяет идентификатор ресурса словаря, полученного от функции crack_opendict().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
Примеры
Crack


Примеры

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

Пример #1 Пример использования CrackLib

<?php
// Открываем словарь CrackLib
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die('Unable to open CrackLib dictionary');

// Выполняем проверку пароля
$check = crack_check($dictionary, 'gx9A2s0x');

// Получаем сообщения
$diag = crack_getlastmessage();
echo $diag; // 'strong password'

// Закрываем словарь
crack_closedict($dictionary);
?>

Замечание:

Если crack_check() возвращает TRUE, crack_getlastmessage() вернет 'strong password'.

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


Crack
PHP Manual

Crack

Содержание

  • crack_check — Проверяет взломостойкость переданного пароля
  • crack_closedict — Закрывает открытый ранее словарь CrackLib
  • crack_getlastmessage — Возвращает текстовое сообщение о последней проверке взломостойкости пароля
  • crack_opendict — Открывает новый словарь CrackLib
Примеры
crack_check
Crack
PHP Manual


Проверяет взломостойкость переданного пароля

Crack
crack_closedict
Crack
PHP Manual

crack_check

(PECL crack >= 0.1)

crack_check — Проверяет взломостойкость переданного пароля

Описание

bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password )

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

Внимание

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

Список параметров

dictionary

Идентификатор словаря cracklib. Если не указан, то используется последний открытый словарь.

password

Проверяемый пароль.

Возвращаемые значения

Возвращает TRUE если пароль переданный в параметре password "сильный" (взломоустойчивый), иначе FALSE.

Crack
crack_closedict
Crack


Закрывает открытый ранее словарь CrackLib

crack_check
crack_getlastmessage
Crack
PHP Manual

crack_closedict

(PECL crack >= 0.1)

crack_closedict — Закрывает открытый ранее словарь CrackLib

Описание

bool crack_closedict ([ resource $dictionary ] )

crack_closedict() закрывает словарь, указанный в параметре dictionary.

Внимание

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

Список параметров

dictionary

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

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • crack_opendict() - Открывает новый словарь CrackLib

crack_check
crack_getlastmessage
Crack


Возвращает текстовое сообщение о последней проверке взломостойкости пароля

crack_closedict
crack_opendict
Crack
PHP Manual

crack_getlastmessage

(PECL crack >= 0.1)

crack_getlastmessage — Возвращает текстовое сообщение о последней проверке взломостойкости пароля

Описание

string crack_getlastmessage ( void )

crack_getlastmessage() возвращает текстовое сообщение о последней проверке взломостойкости пароля.

Внимание

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

Возвращаемые значения

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

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

  • it's WAY too short
  • it is too short
  • it does not contain enough DIFFERENT characters
  • it is all whitespace
  • it is too simplistic/systematic
  • it looks like a National Insurance number.
  • it is based on a dictionary word
  • it is based on a (reversed) dictionary word
  • strong password

Смотрите также

  • crack_check() - Проверяет взломостойкость переданного пароля

crack_closedict
crack_opendict
Crack


Открывает новый словарь CrackLib

crack_getlastmessage
Hash
Crack
PHP Manual

crack_opendict

(PECL crack >= 0.1)

crack_opendict — Открывает новый словарь CrackLib

Описание

resource crack_opendict ( string $dictionary )

crack_opendict() открывает словарь CrackLib, указанный в параметре dictionary для использования в функции crack_check().

Внимание

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

Замечание:

Единовременно может быть открыт только один словарь.

Список параметров

dictionary

Путь к словарю Cracklib.

Возвращаемые значения

Возвращает идентификатор ресурса словаря в случае успеха или FALSE в случае возникновения ошибки.

Смотрите также

  • crack_check() - Проверяет взломостойкость переданного пароля
  • crack_closedict() - Закрывает открытый ранее словарь CrackLib

crack_getlastmessage
Hash
Crack


Фреймворк хеш-кодов HASH

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Hash
    • hash_algos — Возвращает список зарегистрированных алгоритмов хеширования
    • hash_copy — Копирует контекст хеширования
    • hash_file — Генерация хеш-значения, используя содержимое заданного файла
    • hash_final — Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода
    • hash_hmac_file — Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла
    • hash_hmac — Генерация хеш-кода на основе ключа, используя метод HMAC
    • hash_init — Инициализация инкриментального контекста хеширования
    • hash_update_file — Добавляет данные из файла в активный контекст хеширования
    • hash_update_stream — Добавляет данные из открытого потока в активный контекст хеширования
    • hash_update — Добавляет данные в активный контекст хеширования
    • hash — Генерирует хеш-код (дайджест сообщения)
crack_opendict
Введение
Криптографические расширения


Введение

Фреймворк хеширования сообщений. Позволяет обрабатывать сообщения любой длины с использованием различных алгоритмов хеширования прямым или инкрементальным способом.

Hash
Установка и настройка
Hash


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Hash


Требования

Расширение Hash не требует дополнительных библиотек, включено по умолчанию в PHP 5.1.2. Оно может быть отключено с использованием --disable-hash при конфигурации. Для включения расширения Hash в более ранних версиях PHP необходимо установить » модуль PECL.

Установка и настройка
Установка
Установка и настройка


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

Это расширение определяет ресурс контекста хеширования, возвращаемый hash_init().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

HASH_HMAC (integer)
Необязательный флаг для hash_init(). Указывает, что к текущему контексту хэширования должен быть применен алгоритм на основе ключей HMAC.
Типы ресурсов
Hash
Hash


Hash
PHP Manual

Hash

Содержание

  • hash_algos — Возвращает список зарегистрированных алгоритмов хеширования
  • hash_copy — Копирует контекст хеширования
  • hash_file — Генерация хеш-значения, используя содержимое заданного файла
  • hash_final — Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода
  • hash_hmac_file — Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла
  • hash_hmac — Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_init — Инициализация инкриментального контекста хеширования
  • hash_update_file — Добавляет данные из файла в активный контекст хеширования
  • hash_update_stream — Добавляет данные из открытого потока в активный контекст хеширования
  • hash_update — Добавляет данные в активный контекст хеширования
  • hash — Генерирует хеш-код (дайджест сообщения)
Предопределенные константы
hash_algos
Hash
PHP Manual


Возвращает список зарегистрированных алгоритмов хеширования

Hash
hash_copy
Hash
PHP Manual

hash_algos

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_algos — Возвращает список зарегистрированных алгоритмов хеширования

Описание

array hash_algos ( void )

Возвращаемые значения

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

Список изменений

Версия | Описание
5.4.0 | Добавлена поддержка для joaat, fnv132 и fnv164
5.3.0 | Добавлена поддержка для md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 и sha224

Примеры

Пример #1 Пример использования hash_algos()

Начиная с PHP 5.3.0, hash_algos() возвращает следующий список названий алгоритмов хеширования.

<?php
print_r(hash_algos());
?>

Результат выполнения данного примера:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512
    [8] => ripemd128
    [9] => ripemd160
    [10] => ripemd256
    [11] => ripemd320
    [12] => whirlpool
    [13] => tiger128,3
    [14] => tiger160,3
    [15] => tiger192,3
    [16] => tiger128,4
    [17] => tiger160,4
    [18] => tiger192,4
    [19] => snefru
    [20] => snefru256
    [21] => gost
    [22] => adler32
    [23] => crc32
    [24] => crc32b
    [25] => salsa10
    [26] => salsa20
    [27] => haval128,3
    [28] => haval160,3
    [29] => haval192,3
    [30] => haval224,3
    [31] => haval256,3
    [32] => haval128,4
    [33] => haval160,4
    [34] => haval192,4
    [35] => haval224,4
    [36] => haval256,4
    [37] => haval128,5
    [38] => haval160,5
    [39] => haval192,5
    [40] => haval224,5
    [41] => haval256,5
)

Hash
hash_copy
Hash


Копирует контекст хеширования

hash_algos
hash_file
Hash
PHP Manual

hash_copy

(PHP 5 >= 5.3.0)

hash_copy — Копирует контекст хеширования

Описание

resource hash_copy ( resource $context )

Список параметров

context

Контекст хеширования, возвращенный hash_init().

Возвращаемые значения

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

Примеры

Пример #1 Пример использования hash_copy()

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* копия контекста для дальнейшего использования */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "data");
echo hash_final($copy_context), "\n";
?>

Результат выполнения данного примера:

8d777f385d3dfec8815d20f7496026dc
511ae0b1c13f95e5f08f1a0dd3da3d93

hash_algos
hash_file
Hash


Генерация хеш-значения, используя содержимое заданного файла

hash_copy
hash_final
Hash
PHP Manual

hash_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_file — Генерация хеш-значения, используя содержимое заданного файла

Описание

string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )

Список параметров

algo

Название выбранного алгоритма хеширования (например "md5", "sha256", "haval160,4" и т.д.)

filename

Путь или URL к файлу, который будет хеширован; Поддерживается интерфейс fopen.

raw_output

Когда установлено в TRUE, выводит необработанные двоичные данные. При FALSE выводит данные в шестнадцатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку, содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Примеры

Пример #1 Использование hash_file()

<?php
/* Создаем файл, чтобы вычислить его хеш */
file_put_contents('example.txt', 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');

echo hash_file('md5', 'example.txt');
?>

Результат выполнения данного примера:

bff8b4bc8b5c1c1d5b3211dfb21d1e76

Смотрите также

  • hash() - Генерирует хеш-код (дайджест сообщения)
  • hash_hmac_file() - Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла
  • hash_update_file() - Добавляет данные из файла в активный контекст хеширования
  • md5_file() - Возвращает MD5-хэш файла
  • sha1_file() - Возвращает SHA1-хэш файла

hash_copy
hash_final
Hash


Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода

hash_file
hash_hmac_file
Hash
PHP Manual

hash_final

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_final — Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода

Описание

string hash_final ( resource $context [, bool $raw_output = false ] )

Список параметров

context

Содержимое хеша, возвращаемое hash_init().

raw_output

Когда установлено в TRUE, выводит необработанные двоичные данные. При FALSE, выводит данные в шестнадцатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Примеры

Пример #1 Пример использования hash_final()

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');
echo hash_final($ctx);
?>

Результат выполнения данного примера:

dc495843a3a90b46c12e254102599571fa83a737

Смотрите также

  • hash_init() - Инициализация инкриментального контекста хеширования
  • hash_update() - Добавляет данные в активный контекст хеширования
  • hash_update_stream() - Добавляет данные из открытого потока в активный контекст хеширования
  • hash_update_file() - Добавляет данные из файла в активный контекст хеширования

hash_file
hash_hmac_file
Hash


Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла

hash_final
hash_hmac
Hash
PHP Manual

hash_hmac_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac_file — Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла

Описание

string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )

Список параметров

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.) Смотрите hash_algos() для получения списка поддерживаемых алгоритмов.

filename

URL расположения файла или файл для хеширования; Поддерживаются обработчики fopen.

key

Общий секретный ключ, используемый для генерации HMAC хеш кода.

raw_output

Когда установлено а TRUE, выводит необработанные двоичные данные. При FALSE, выводит данные в шестнадцатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Примеры

Пример #1 Пример использования hash_hmac_file()

<?php
/* Создаем файл, чтобы вычислить его хеш */
file_put_contents('example.txt', 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

Результат выполнения данного примера:

1855b385e0caae2e41036706d3b7bd32

Смотрите также

  • hash_algos() - Возвращает список зарегистрированных алгоритмов хеширования
  • hash_hmac() - Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла

hash_final
hash_hmac
Hash


Генерация хеш-кода на основе ключа, используя метод HMAC

hash_hmac_file
hash_init
Hash
PHP Manual

hash_hmac

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac — Генерация хеш-кода на основе ключа, используя метод HMAC

Описание

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] )

Список параметров

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.) Смотрите hash_algos() для получения списка поддерживаемых алгоритмов.

data

Сообщение для хеширования.

key

Общий секретный ключ, используемый для генерации HMAC хеш кода.

raw_output

Когда установлено в TRUE, выводит необработанные двоичные данные. При FALSE выводит данные в шестнадцатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Примеры

Пример #1 Пример использования hash_hmac()

<?php
echo hash_hmac('ripemd160', 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.', 'secret');
?>

Результат выполнения данного примера:

b95d4abec7c27ec87fb54da1621f9942948879e4

Смотрите также

  • hash() - Генерирует хеш-код (дайджест сообщения)
  • hash_algos() - Возвращает список зарегистрированных алгоритмов хеширования
  • hash_init() - Инициализация инкриментального контекста хеширования
  • hash_hmac_file() - Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла

hash_hmac_file
hash_init
Hash


Инициализация инкриментального контекста хеширования

hash_hmac
hash_update_file
Hash
PHP Manual

hash_init

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_init — Инициализация инкриментального контекста хеширования

Описание

resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )

Список параметров

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.)

options

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

key

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

Возвращаемые значения

Возвращает ресурс хеширования для использования в функциях hash_update(), hash_update_stream(), hash_update_file() и hash_final().

Примеры

Пример #1 Пример инкриментального хеширования

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'Наглый коричневый лисёнок ');
hash_update($ctx, 'прыгает вокруг ленивой собаки.');
echo hash_final($ctx);
?>

Результат выполнения данного примера:

bff8b4bc8b5c1c1d5b3211dfb21d1e76

Смотрите также

  • hash() - Генерирует хеш-код (дайджест сообщения)
  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла
  • hash_hmac() - Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_hmac_file() - Генерация хэш-кода на основе ключа, используя метод HMAC и содержимое полученного файла

hash_hmac
hash_update_file
Hash


Добавляет данные из файла в активный контекст хеширования

hash_init
hash_update_stream
Hash
PHP Manual

hash_update_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_file — Добавляет данные из файла в активный контекст хеширования

Описание

bool hash_update_file ( resource $context , string $filename [, resource $context = NULL ] )

Список параметров

context

Контекст хеширования, возвращенный hash_init().

filename

Имя или URL файла для хеширования; Поддерживаются обработчики fopen.

context

Контекст потока, возвращенный stream_context_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hash_init() - Инициализация инкриментального контекста хеширования
  • hash_update() - Добавляет данные в активный контекст хеширования
  • hash_update_stream() - Добавляет данные из открытого потока в активный контекст хеширования
  • hash_final() - Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода
  • hash() - Генерирует хеш-код (дайджест сообщения)
  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла

hash_init
hash_update_stream
Hash


Добавляет данные из открытого потока в активный контекст хеширования

hash_update_file
hash_update
Hash
PHP Manual

hash_update_stream

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_stream — Добавляет данные из открытого потока в активный контекст хеширования

Описание

int hash_update_stream ( resource $context , resource $handle [, int $length = -1 ] )

Список параметров

context

Контекст хеширования, возвращаемый hash_init().

handle

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

length

Максимальное число символов для копирования из handle в контекст хеширования.

Возвращаемые значения

Фактическое количество байт, добавленное в контекст хеширования из handle.

Примеры

Пример #1 Пример использования hash_update_stream()

<?php
$fp = tmpfile();
fwrite($fp, 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

Результат выполнения данного примера:

bff8b4bc8b5c1c1d5b3211dfb21d1e76

Смотрите также

  • hash_init() - Инициализация инкриментального контекста хеширования
  • hash_update() - Добавляет данные в активный контекст хеширования
  • hash_final() - Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода
  • hash() - Генерирует хеш-код (дайджест сообщения)
  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла

hash_update_file
hash_update
Hash


Добавляет данные в активный контекст хеширования

hash_update_stream
hash
Hash
PHP Manual

hash_update

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update — Добавляет данные в активный контекст хеширования

Описание

bool hash_update ( resource $context , string $data )

Список параметров

context

Контекст хеширования, возвращаемый hash_init().

data

Сообщение, которое должно быть включено в хеш.

Возвращаемые значения

Возвращает TRUE.

Смотрите также

  • hash_init() - Инициализация инкриментального контекста хеширования
  • hash_update_file() - Добавляет данные из файла в активный контекст хеширования
  • hash_update_stream() - Добавляет данные из открытого потока в активный контекст хеширования
  • hash_final() - Завершает инкриментальное хеширование и возвращает результат в виде хеш-кода

hash_update_stream
hash
Hash


Генерирует хеш-код (дайджест сообщения)

hash_update
Mcrypt
Hash
PHP Manual

hash

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash — Генерирует хеш-код (дайджест сообщения)

Описание

string hash ( string $algo , string $data [, bool $raw_output = false ] )

Список параметров

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.)

data

Сообщение для хеширования.

raw_output

Когда установлено в TRUE, выводит необработанные двоичные данные. При FALSE, выводит данные в шестнацатеричной кодировке в нижнем регистре.

Возвращаемые значения

Возвращает строку содержащую вычисленный хеш-код в шестнацатеричной кодировке в нижнем регистре. Если raw_output задан как TRUE, то возвращается хеш-код в виде бинарных данных.

Примеры

Пример #1 Пример использования hash()

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

Результат выполнения данного примера:

8817ca339f7f902ad3fb456150a1bb9b4cb5dde9

Смотрите также

  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла
  • hash_hmac() - Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_init() - Инициализация инкриментального контекста хеширования
  • md5() - Возвращает MD5-хэш строки
  • sha1() - Возвращает SHA1-хэш строки

hash_update
Mcrypt
Hash
PHP Manual


Mcrypt

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mcrypt ciphers
  • Примеры
  • Mcrypt
    • mcrypt_cbc — Encrypts/decrypts data in CBC mode
    • mcrypt_cfb — Encrypts/decrypts data in CFB mode
    • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
    • mcrypt_decrypt — Decrypts crypttext with given parameters
    • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
    • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
    • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
    • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
    • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_enc_get_modes_name — Returns the name of the opened mode
    • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
    • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
    • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
    • mcrypt_enc_self_test — Runs a self test on the opened module
    • mcrypt_encrypt — Encrypts plaintext with given parameters
    • mcrypt_generic_deinit — This function deinitializes an encryption module
    • mcrypt_generic_end — This function terminates encryption
    • mcrypt_generic_init — This function initializes all buffers needed for encryption
    • mcrypt_generic — This function encrypts data
    • mcrypt_get_block_size — Gets the block size of the specified cipher
    • mcrypt_get_cipher_name — Gets the name of the specified cipher
    • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
    • mcrypt_get_key_size — Gets the key size of the specified cipher
    • mcrypt_list_algorithms — Gets an array of all supported ciphers
    • mcrypt_list_modes — Gets an array of all supported modes
    • mcrypt_module_close — Closes the mcrypt module
    • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
    • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
    • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
    • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
    • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
    • mcrypt_module_self_test — This function runs a self test on the specified module
    • mcrypt_ofb — Encrypts/decrypts data in OFB mode
    • mdecrypt_generic — Decrypts data
hash
Введение
Криптографические расширения


Введение

This is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered "non-free". CFB/OFB are 8bit by default.

Mcrypt
Установка и настройка
Mcrypt


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mcrypt


Требования

Эти функции работают используя » mcrypt. Для того чтобы его использовать, загрузите libmcrypt-x.x.tar.gz из » http://mcrypt.sourceforge.net/ и следуйте инструкциям по установке.

Начиная с PHP 5.0.0 вам понадобится libmcrypt версии 2.5.6 или выше.

Пользователи Windows могут найти библиотеку в бинарном релизе PHP 5.2 для Windows. Бинарный релиз PHP 5.3 для Windows использует статическую версию библиотеки MCrypt, DLL-файл не нужен.

Если вы используете libmcrypt 2.4.x или выше, поддерживаются следующие дополнительные блочные алгоритмы: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT, и следующие шифры потоков: ENIGMA (crypt), PANAMA, RC4 and WAKE. С libmcrypt 2.4.x или выше также доступен другой режим шифрования: nOFB.

Установка и настройка
Установка
Установка и настройка


Установка

You need to compile PHP with the --with-mcrypt[=DIR] parameter to enable this extension. DIR is the mcrypt install directory. Make sure you compile libmcrypt with the option --disable-posix-threads .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки Mcrypt
Имя | По умолчанию | Изменяемое | Список изменений
mcrypt.algorithms_dir | NULL | PHP_INI_ALL |
mcrypt.modes_dir | NULL | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mcrypt.algorithms_dir string

Директория, содержащая алгоритмы. По умолчанию соответствует директориям, скомпилированным вместе с libmcrypt, обычно /usr/local/lib/libmcrypt. См. mcrypt_list_algorithms() для дополнительной информации.

mcrypt.modes_dir string

Директория, содержащая режимы. По умолчанию соответствует директориям, скомпилированным вместе с libmcrypt, обычно /usr/local/lib/libmcrypt. См. mcrypt_list_modes() для дополнительной информации.

Установка
Типы ресурсов
Установка и настройка


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

mcrypt_module_open() возвращает шифрующий дескриптор.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Mcrypt can operate in four block cipher modes (CBC, OFB, CFB, and ECB). If linked against libmcrypt-2.4.x or higher the functions can also operate in the block cipher mode nOFB and in STREAM mode. Below you find a list with all supported encryption modes together with the constants that are defines for the encryption mode. For a more complete reference and discussion see Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) is suitable for random data, such as encrypting other keys. Since data there is short and random, the disadvantages of ECB have a favorable negative effect.
  • MCRYPT_MODE_CBC (cipher block chaining) is especially suitable for encrypting files where the security is increased over ECB significantly.
  • MCRYPT_MODE_CFB (cipher feedback) is the best mode for encrypting byte streams where single bytes must be encrypted.
  • MCRYPT_MODE_OFB (output feedback, in 8bit) is comparable to CFB, but can be used in applications where error propagation cannot be tolerated. It's insecure (because it operates in 8bit mode) so it is not recommended to use it.
  • MCRYPT_MODE_NOFB (output feedback, in nbit) is comparable to OFB, but more secure because it operates on the block size of the algorithm.
  • MCRYPT_MODE_STREAM is an extra mode to include some stream algorithms like "WAKE" or "RC4".

Some other mode and random device constants:

MCRYPT_ENCRYPT (integer)
MCRYPT_DECRYPT (integer)
MCRYPT_DEV_RANDOM (integer)
MCRYPT_DEV_URANDOM (integer)
MCRYPT_RAND (integer)

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


Mcrypt ciphers

Here is a list of ciphers which are currently supported by the mcrypt extension. For a complete list of supported ciphers, see the defines at the end of mcrypt.h. The general rule with the mcrypt-2.2.x API is that you can access the cipher from PHP with MCRYPT_ciphername. With the libmcrypt-2.4.x and libmcrypt-2.5.x API these constants also work, but it is possible to specify the name of the cipher as a string with a call to mcrypt_module_open().

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x only)
  • MCRYPT_ARCFOUR (libmcrypt > 2.4.x only)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (libmcrypt 2.2.x only)
  • MCRYPT_ENIGMA (libmcrypt > 2.4.x only, alias for MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (non-free)
  • MCRYPT_LOKI97 (libmcrypt > 2.4.x only)
  • MCRYPT_MARS (libmcrypt > 2.4.x only, non-free)
  • MCRYPT_PANAMA (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x only)
  • MCRYPT_RC2
  • MCRYPT_RC4 (libmcrypt 2.2.x only)
  • MCRYPT_RC6 (libmcrypt > 2.4.x only)
  • MCRYPT_RC6_128 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_192 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_256 (libmcrypt 2.2.x only)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT(libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT_128 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_192 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_256 (libmcrypt 2.2.x only)
  • MCRYPT_SKIPJACK (libmcrypt > 2.4.x only)
  • MCRYPT_TEAN (libmcrypt 2.2.x only)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (libmcrypt > 2.4.x only)
  • MCRYPT_TWOFISH (for older mcrypt 2.x versions, or mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx are available in newer 2.x versions, but not in the 2.4.x versions)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (libmcrypt > 2.4.x only)
  • MCRYPT_XTEA (libmcrypt > 2.4.x only)

You must (in CFB and OFB mode) or can (in CBC mode) supply an initialization vector (IV) to the respective cipher function. The IV must be unique and must be the same when decrypting/encrypting. With data which is stored encrypted, you can take the output of a function of the index under which the data is stored (e.g. the MD5 key of the filename). Alternatively, you can transmit the IV together with the encrypted data (see chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9) for a discussion of this topic).

Предопределенные константы
Примеры
Mcrypt


Примеры

Mcrypt can be used to encrypt and decrypt using the above mentioned ciphers. If you linked against libmcrypt-2.2.x, the four important mcrypt commands (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), and mcrypt_ofb()) can operate in both modes which are named MCRYPT_ENCRYPT and MCRYPT_DECRYPT, respectively.

Пример #1 Encrypt an input value with TripleDES under 2.2.x in ECB mode

<?php
$key = "this is a secret key";
$input = "Let us meet at 9 o'clock at the secret place.";

$encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);
?>
This example will give you the encrypted data as a string in $encrypted_data.

If you linked against libmcrypt 2.4.x or 2.5.x, these functions are still available, but it is recommended that you use the advanced functions.

Пример #2 Encrypt an input value with TripleDES under 2.4.x and higher in ECB mode

<?php
    $key = "this is a secret key";
    $input = "Let us meet at 9 o'clock at the secret place.";

    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>
This example will give you the encrypted data as a string in $encrypted_data. For a full example see mcrypt_module_open().

Mcrypt ciphers
Mcrypt
Mcrypt


Mcrypt
PHP Manual

Mcrypt

Содержание

  • mcrypt_cbc — Encrypts/decrypts data in CBC mode
  • mcrypt_cfb — Encrypts/decrypts data in CFB mode
  • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
  • mcrypt_decrypt — Decrypts crypttext with given parameters
  • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
  • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
  • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
  • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
  • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_enc_get_modes_name — Returns the name of the opened mode
  • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
  • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
  • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
  • mcrypt_enc_self_test — Runs a self test on the opened module
  • mcrypt_encrypt — Encrypts plaintext with given parameters
  • mcrypt_generic_deinit — This function deinitializes an encryption module
  • mcrypt_generic_end — This function terminates encryption
  • mcrypt_generic_init — This function initializes all buffers needed for encryption
  • mcrypt_generic — This function encrypts data
  • mcrypt_get_block_size — Gets the block size of the specified cipher
  • mcrypt_get_cipher_name — Gets the name of the specified cipher
  • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
  • mcrypt_get_key_size — Gets the key size of the specified cipher
  • mcrypt_list_algorithms — Gets an array of all supported ciphers
  • mcrypt_list_modes — Gets an array of all supported modes
  • mcrypt_module_close — Closes the mcrypt module
  • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
  • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
  • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
  • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
  • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
  • mcrypt_module_self_test — This function runs a self test on the specified module
  • mcrypt_ofb — Encrypts/decrypts data in OFB mode
  • mdecrypt_generic — Decrypts data
Примеры
mcrypt_cbc
Mcrypt
PHP Manual


Encrypts/decrypts data in CBC mode

Mcrypt
mcrypt_cfb
Mcrypt
PHP Manual

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Encrypts/decrypts data in CBC mode

Описание

string mcrypt_cbc ( int $cipher , string $key , string $data , int $mode [, string $iv ] )
string mcrypt_cbc ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

Mcrypt
mcrypt_cfb
Mcrypt


Encrypts/decrypts data in CFB mode

mcrypt_cbc
mcrypt_create_iv
Mcrypt
PHP Manual

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Encrypts/decrypts data in CFB mode

Описание

string mcrypt_cfb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_cfb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

mcrypt_cbc
mcrypt_create_iv
Mcrypt


Creates an initialization vector (IV) from a random source

mcrypt_cfb
mcrypt_decrypt
Mcrypt
PHP Manual

mcrypt_create_iv

(PHP 4, PHP 5)

mcrypt_create_iv — Creates an initialization vector (IV) from a random source

Описание

string mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_RANDOM ] )

Creates an initialization vector (IV) from a random source.

The IV is only meant to give an alternative seed to the encryption routines. This IV does not need to be secret at all, though it can be desirable. You even can send it along with your ciphertext without losing security.

Список параметров

size

The size of the IV.

source

The source of the IV. The source can be MCRYPT_RAND (system random number generator), MCRYPT_DEV_RANDOM (read data from /dev/random) and MCRYPT_DEV_URANDOM (read data from /dev/urandom). Prior to 5.3.0, MCRYPT_RAND was the only one supported on Windows.

Возвращаемые значения

Returns the initialization vector, or FALSE on error.

Список изменений

Версия | Описание
5.3.0 | MCRYPT_DEV_RANDOM and MCRYPT_DEV_URANDOM became available on Windows platforms.
5.3.0 | It is no longer required to call srand() first. This is now done automatically.

Примеры

Пример #1 mcrypt_create_iv() Example

<?php
    $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

Смотрите также

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9)

mcrypt_cfb
mcrypt_decrypt
Mcrypt


Decrypts crypttext with given parameters

mcrypt_create_iv
mcrypt_ecb
Mcrypt
PHP Manual

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt — Decrypts crypttext with given parameters

Описание

string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Decrypts the data and returns the unencrypted data.

Список параметров

cipher

One of the MCRYPT_ciphername constants, or the name of the algorithm as string.

key

The key with which the data was encrypted. If it's smaller than the required keysize, it is padded with '\0'.

data

The data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

mode

One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

iv

The iv parameter is used for the initialization in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all its bytes set to '\0'.

Возвращаемые значения

Returns the decrypted data as a string.

mcrypt_create_iv
mcrypt_ecb
Mcrypt


Deprecated: Encrypts/decrypts data in ECB mode

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Mcrypt
PHP Manual

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode

Описание

string mcrypt_ecb ( int $cipher , string $key , string $data , int $mode )
string mcrypt_ecb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function is deprecated and should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Mcrypt


Returns the name of the opened algorithm

mcrypt_ecb
mcrypt_enc_get_block_size
Mcrypt
PHP Manual

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm

Описание

string mcrypt_enc_get_algorithms_name ( resource $td )

This function returns the name of the algorithm.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns the name of the opened algorithm as a string.

Примеры

Пример #1 mcrypt_enc_get_algorithms_name() example

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

Результат выполнения данного примера:

CAST-256
CAST-256

mcrypt_ecb
mcrypt_enc_get_block_size
Mcrypt


Returns the blocksize of the opened algorithm

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Mcrypt
PHP Manual

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm

Описание

int mcrypt_enc_get_block_size ( resource $td )

Gets the blocksize of the opened algorithm.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns the block size of the specified algorithm in bytes.

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Mcrypt


Returns the size of the IV of the opened algorithm

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Mcrypt
PHP Manual

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm

Описание

int mcrypt_enc_get_iv_size ( resource $td )

This function returns the size of the IV of the algorithm specified by the encryption descriptor in bytes. An IV is used in cbc, cfb and ofb modes, and in some algorithms in stream mode.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns the size of the IV, or 0 if the IV is ignored by the algorithm.

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Mcrypt


Returns the maximum supported keysize of the opened mode

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Mcrypt
PHP Manual

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode

Описание

int mcrypt_enc_get_key_size ( resource $td )

Gets the maximum supported key size of the algorithm in bytes.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns the maximum supported key size of the algorithm in bytes.

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Mcrypt


Returns the name of the opened mode

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Mcrypt
PHP Manual

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_modes_name — Returns the name of the opened mode

Описание

string mcrypt_enc_get_modes_name ( resource $td )

This function returns the name of the mode.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns the name as a string.

Примеры

Пример #1 mcrypt_enc_get_modes_name() example

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

Результат выполнения данного примера:

CFB
ECB

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Mcrypt


Returns an array with the supported keysizes of the opened algorithm

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Mcrypt
PHP Manual

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Описание

array mcrypt_enc_get_supported_key_sizes ( resource $td )

Gets the supported key sizes of the opened algorithm.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns an array with the key sizes supported by the algorithm specified by the encryption descriptor. If it returns an empty array then all key sizes between 1 and mcrypt_enc_get_key_size() are supported by the algorithm.

Примеры

Пример #1 mcrypt_enc_get_supported_key_sizes() example

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Mcrypt


Checks whether the encryption of the opened mode works on blocks

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks

Описание

bool mcrypt_enc_is_block_algorithm_mode ( resource $td )

Tells whether the algorithm of the opened mode works on blocks (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb)..

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE.

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Mcrypt


Checks whether the algorithm of the opened mode is a block algorithm

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm

Описание

bool mcrypt_enc_is_block_algorithm ( resource $td )

Tells whether the algorithm of the opened mode is a block algorithm.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns TRUE if the algorithm is a block algorithm or FALSE if it is a stream one.

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Mcrypt


Checks whether the opened mode outputs blocks

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Mcrypt
PHP Manual

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks

Описание

bool mcrypt_enc_is_block_mode ( resource $td )

Tells whether the opened mode outputs blocks (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Returns TRUE if the mode outputs blocks of bytes, or FALSE if it outputs just bytes.

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Mcrypt


Runs a self test on the opened module

mcrypt_enc_is_block_mode
mcrypt_encrypt
Mcrypt
PHP Manual

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_self_test — Runs a self test on the opened module

Описание

int mcrypt_enc_self_test ( resource $td )

This function runs the self test on the algorithm specified by the descriptor td.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

If the self test succeeds it returns FALSE. In case of an error, it returns TRUE.

mcrypt_enc_is_block_mode
mcrypt_encrypt
Mcrypt


Encrypts plaintext with given parameters

mcrypt_enc_self_test
mcrypt_generic_deinit
Mcrypt
PHP Manual

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt — Encrypts plaintext with given parameters

Описание

string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Encrypts the data and returns it.

Список параметров

cipher

One of the MCRYPT_ciphername constants, or the name of the algorithm as string.

key

The key with which the data will be encrypted. If it's smaller than the required keysize, it is padded with '\0'. It is better not to use ASCII strings for keys.

It is recommended to use the mhash functions to create a key from a string.

data

The data that will be encrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

The returned crypttext can be larger than the size of the data that was given by data.

mode

One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

iv

Used for the initialization in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all its bytes set to '\0'.

Возвращаемые значения

Returns the encrypted data, as a string.

Примеры

Пример #1 mcrypt_encrypt() Example

<?php
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = "This is a very secret key";
    $text = "Meet me at 11 o'clock behind the monument.";
    echo strlen($text) . "\n";

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen($crypttext) . "\n";
?>

Результат выполнения данного примера:

42
64

See also mcrypt_module_open() for a more advanced API and an example.

mcrypt_enc_self_test
mcrypt_generic_deinit
Mcrypt


This function deinitializes an encryption module

mcrypt_encrypt
mcrypt_generic_end
Mcrypt
PHP Manual

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5)

mcrypt_generic_deinit — This function deinitializes an encryption module

Описание

bool mcrypt_generic_deinit ( resource $td )

This function terminates encryption specified by the encryption descriptor (td). It clears all buffers, but does not close the module. You need to call mcrypt_module_close() yourself. (But PHP does this for you at the end of the script.)

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption

mcrypt_encrypt
mcrypt_generic_end
Mcrypt


This function terminates encryption

mcrypt_generic_deinit
mcrypt_generic_init
Mcrypt
PHP Manual

mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5 <= 5.1.6)

mcrypt_generic_end — This function terminates encryption

Описание

bool mcrypt_generic_end ( resource $td )

Внимание

This function is deprecated, use mcrypt_generic_deinit() instead. It can cause crashes when used with mcrypt_module_close() due to multiple buffer frees.

This function terminates encryption specified by the encryption descriptor (td). Actually it clears all buffers, and closes all the modules used. Returns FALSE on error, or TRUE on success.

mcrypt_generic_deinit
mcrypt_generic_init
Mcrypt


This function initializes all buffers needed for encryption

mcrypt_generic_end
mcrypt_generic
Mcrypt
PHP Manual

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_init — This function initializes all buffers needed for encryption

Описание

int mcrypt_generic_init ( resource $td , string $key , string $iv )

You need to call this function before every call to mcrypt_generic() or mdecrypt_generic().

Список параметров

td

The encryption descriptor.

key

The maximum length of the key should be the one obtained by calling mcrypt_enc_get_key_size() and every value smaller than this is legal.

iv

The IV should normally have the size of the algorithms block size, but you must obtain the size by calling mcrypt_enc_get_iv_size(). IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and unique (but not secret). The same IV must be used for encryption/decryption. If you do not want to use it you should set it to zeros, but this is not recommended.

Возвращаемые значения

The function returns a negative value on error: -3 when the key length was incorrect, -4 when there was a memory allocation problem and any other return value is an unknown error. If an error occurs a warning will be displayed accordingly. FALSE is returned if incorrect parameters were passed.

Смотрите также

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used

mcrypt_generic_end
mcrypt_generic
Mcrypt


This function encrypts data

mcrypt_generic_init
mcrypt_get_block_size
Mcrypt
PHP Manual

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic — This function encrypts data

Описание

string mcrypt_generic ( resource $td , string $data )

This function encrypts data. The data is padded with "\0" to make sure the length of the data is n * blocksize. This function returns the encrypted data. Note that the length of the returned string can in fact be longer than the input, due to the padding of the data.

If you want to store the encrypted data in a database make sure to store the entire string as returned by mcrypt_generic, or the string will not entirely decrypt properly. If your original string is 10 characters long and the block size is 8 (use mcrypt_enc_get_block_size() to determine the blocksize), you would need at least 16 characters in your database field. Note the string returned by mdecrypt_generic() will be 16 characters as well...use rtrim($str, "\0") to remove the padding.

If you are for example storing the data in a MySQL database remember that varchar fields automatically have trailing spaces removed during insertion. As encrypted data can end in a space (ASCII 32), the data will be damaged by this removal. Store data in a tinyblob/tinytext (or larger) field instead.

Список параметров

td

The encryption descriptor.

The encryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

data

The data to encrypt.

Возвращаемые значения

Returns the encrypted data.

Смотрите также

  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_generic_init
mcrypt_get_block_size
Mcrypt


Gets the block size of the specified cipher

mcrypt_generic
mcrypt_get_cipher_name
Mcrypt
PHP Manual

mcrypt_get_block_size

(PHP 4, PHP 5)

mcrypt_get_block_size — Gets the block size of the specified cipher

Описание

int mcrypt_get_block_size ( int $cipher )
int mcrypt_get_block_size ( string $cipher , string $module )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_block_size() is used to get the size of a block of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_block_size() function as this uses the resource returned by mcrypt_module_open().

Список параметров

cipher

One of the MCRYPT_ciphername constants or the name of the algorithm as string.

module

The module.

Возвращаемые значения

Gets the block size, as an integer.

Примеры

Пример #1 mcrypt_get_block_size() example

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x.

<?php

echo mcrypt_get_block_size('tripledes', 'ecb'); // 8

?>

Смотрите также

  • mcrypt_get_key_size() - Gets the key size of the specified cipher
  • mcrypt_enc_get_block_size() - Returns the blocksize of the opened algorithm
  • mcrypt_encrypt() - Encrypts plaintext with given parameters

mcrypt_generic
mcrypt_get_cipher_name
Mcrypt


Gets the name of the specified cipher

mcrypt_get_block_size
mcrypt_get_iv_size
Mcrypt
PHP Manual

mcrypt_get_cipher_name

(PHP 4, PHP 5)

mcrypt_get_cipher_name — Gets the name of the specified cipher

Описание

string mcrypt_get_cipher_name ( int $cipher )
string mcrypt_get_cipher_name ( string $cipher )

mcrypt_get_cipher_name() is used to get the name of the specified cipher.

mcrypt_get_cipher_name() takes the cipher number as an argument (libmcrypt 2.2.x) or takes the cipher name as an argument (libmcrypt 2.4.x or higher) and returns the name of the cipher or FALSE, if the cipher does not exist.

Список параметров

cipher

One of the MCRYPT_ciphername constants or the name of the algorithm as string.

Возвращаемые значения

This function returns the name of the cipher or FALSE, if the cipher does not exist.

Примеры

Пример #1 mcrypt_get_cipher_name() Example

<?php
   $cipher = MCRYPT_TripleDES;

   echo mcrypt_get_cipher_name($cipher);
?>

Результат выполнения данного примера:

3DES

mcrypt_get_block_size
mcrypt_get_iv_size
Mcrypt


Returns the size of the IV belonging to a specific cipher/mode combination

mcrypt_get_cipher_name
mcrypt_get_key_size
Mcrypt
PHP Manual

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination

Описание

int mcrypt_get_iv_size ( string $cipher , string $mode )

Gets the size of the IV belonging to a specific cipher/mode combination.

It is more useful to use the mcrypt_enc_get_iv_size() function as this uses the resource returned by mcrypt_module_open().

Список параметров

cipher

One of the MCRYPT_ciphername constants, or the name of the algorithm as string.

mode

One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream". The IV is ignored in ECB mode as this mode does not require it. You will need to have the same IV (think: starting point) both at encryption and decryption stages, otherwise your encryption will fail.

Возвращаемые значения

Returns the size of the Initialization Vector (IV) in bytes. On error the function returns FALSE. If the IV is ignored in the specified cipher/mode combination zero is returned.

Примеры

Пример #1 mcrypt_get_iv_size() Example

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Смотрите также

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_iv_size() - Returns the size of the IV of the opened algorithm
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source

mcrypt_get_cipher_name
mcrypt_get_key_size
Mcrypt


Gets the key size of the specified cipher

mcrypt_get_iv_size
mcrypt_list_algorithms
Mcrypt
PHP Manual

mcrypt_get_key_size

(PHP 4, PHP 5)

mcrypt_get_key_size — Gets the key size of the specified cipher

Описание

int mcrypt_get_key_size ( int $cipher )
int mcrypt_get_key_size ( string $cipher , string $module )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_key_size() is used to get the size of a key of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_key_size() function as this uses the resource returned by mcrypt_module_open().

Примеры

Пример #1 mcrypt_get_key_size() Example

<?php
    echo mcrypt_get_key_size('tripledes', 'ecb');
?>

The example above shows how to use this function when linked against libmcrypt 2.4.x or 2.5.x.

Результат выполнения данного примера:

24

Смотрите также

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_key_size() - Returns the maximum supported keysize of the opened mode
  • mcrypt_encrypt() - Encrypts plaintext with given parameters

mcrypt_get_iv_size
mcrypt_list_algorithms
Mcrypt


Gets an array of all supported ciphers

mcrypt_get_key_size
mcrypt_list_modes
Mcrypt
PHP Manual

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_algorithms — Gets an array of all supported ciphers

Описание

array mcrypt_list_algorithms ([ string $lib_dir = ini_get("mcrypt.algorithms_dir") ] )

Gets the list of all supported algorithms in the lib_dir parameter.

Список параметров

lib_dir

Specifies the directory where all algorithms are located. If not specified, the value of the mcrypt.algorithms_dir php.ini directive is used.

Возвращаемые значения

Returns an array with all the supported algorithms.

Примеры

Пример #1 mcrypt_list_algorithms() Example

<?php
    $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

    foreach ($algorithms as $cipher) {
        echo "$cipher<br />\n";
    }
?>

The example above will produce a list with all supported algorithms in the "/usr/local/lib/libmcrypt" directory.

mcrypt_get_key_size
mcrypt_list_modes
Mcrypt


Gets an array of all supported modes

mcrypt_list_algorithms
mcrypt_module_close
Mcrypt
PHP Manual

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_modes — Gets an array of all supported modes

Описание

array mcrypt_list_modes ([ string $lib_dir = ini_get("mcrypt.modes_dir") ] )

Gets the list of all supported modes in the lib_dir parameter.

Список параметров

lib_dir

Specifies the directory where all modes are located. If not specified, the value of the mcrypt.modes_dir php.ini directive is used.

Возвращаемые значения

Returns an array with all the supported modes.

Примеры

Пример #1 mcrypt_list_modes() Example

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

The example above will produce a list with all supported algorithms in the default mode directory. If it is not set with the mcrypt.modes_dir php.ini directive, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).

mcrypt_list_algorithms
mcrypt_module_close
Mcrypt


Closes the mcrypt module

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Mcrypt
PHP Manual

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_close — Closes the mcrypt module

Описание

bool mcrypt_module_close ( resource $td )

Closes the specified encryption handle.

Список параметров

td

The encryption descriptor.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Mcrypt


Returns the blocksize of the specified algorithm

mcrypt_module_close
mcrypt_module_get_algo_key_size
Mcrypt
PHP Manual

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm

Описание

int mcrypt_module_get_algo_block_size ( string $algorithm [, string $lib_dir ] )

Gets the blocksize of the specified algorithm.

Список параметров

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Возвращаемые значения

Returns the block size of the algorithm specified in bytes.

mcrypt_module_close
mcrypt_module_get_algo_key_size
Mcrypt


Returns the maximum supported keysize of the opened mode

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Mcrypt
PHP Manual

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode

Описание

int mcrypt_module_get_algo_key_size ( string $algorithm [, string $lib_dir ] )

Gets the maximum supported keysize of the opened mode.

Список параметров

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Возвращаемые значения

This function returns the maximum supported key size of the algorithm specified in bytes.

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Mcrypt


Returns an array with the supported keysizes of the opened algorithm

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Mcrypt
PHP Manual

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Описание

array mcrypt_module_get_supported_key_sizes ( string $algorithm [, string $lib_dir ] )

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Список параметров

algorithm

The algorithm to be used.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Возвращаемые значения

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Смотрите также

  • mcrypt_enc_get_supported_key_sizes() - Returns an array with the supported keysizes of the opened algorithm

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Mcrypt


Returns if the specified module is a block algorithm or not

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not

Описание

bool mcrypt_module_is_block_algorithm_mode ( string $mode [, string $lib_dir ] )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

Список параметров

mode

The mode to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Возвращаемые значения

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Mcrypt


This function checks whether the specified algorithm is a block algorithm

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm

Описание

bool mcrypt_module_is_block_algorithm ( string $algorithm [, string $lib_dir ] )

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE if it is a stream one.

Список параметров

algorithm

The algorithm to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Возвращаемые значения

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE if it is a stream one.

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Mcrypt


Returns if the specified mode outputs blocks or not

mcrypt_module_is_block_algorithm
mcrypt_module_open
Mcrypt
PHP Manual

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not

Описание

bool mcrypt_module_is_block_mode ( string $mode [, string $lib_dir ] )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

Список параметров

mode

The mode to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Возвращаемые значения

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

mcrypt_module_is_block_algorithm
mcrypt_module_open
Mcrypt


Opens the module of the algorithm and the mode to be used

mcrypt_module_is_block_mode
mcrypt_module_self_test
Mcrypt
PHP Manual

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_open — Opens the module of the algorithm and the mode to be used

Описание

resource mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory )

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close().

Список параметров

algorithm

The algorithm to be used.

algorithm_directory

The algorithm_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.algorithms_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled into libmcrypt (usually /usr/local/lib/libmcrypt).

mode

The mode to be used.

mode_directory

The mode_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.modes_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled-in into libmcrypt (usually /usr/local/lib/libmcrypt).

Возвращаемые значения

Normally it returns an encryption descriptor, or FALSE on error.

Примеры

Пример #1 mcrypt_module_open() Examples

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

The first line in the example above will try to open the DES cipher from the default directory and the EBC mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

Пример #2 Using mcrypt_module_open() in encryption

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

Смотрите также

  • mcrypt_module_close() - Closes the mcrypt module
  • mcrypt_generic() - This function encrypts data
  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_module_is_block_mode
mcrypt_module_self_test
Mcrypt


This function runs a self test on the specified module

mcrypt_module_open
mcrypt_ofb
Mcrypt
PHP Manual

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_self_test — This function runs a self test on the specified module

Описание

bool mcrypt_module_self_test ( string $algorithm [, string $lib_dir ] )

This function runs the self test on the algorithm specified.

Список параметров

algorithm

The algorithm to test.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Возвращаемые значения

The function returns TRUE if the self test succeeds, or FALSE when it fails.

Примеры

Пример #1 mcrypt_module_self_test() example

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

Результат выполнения данного примера:

bool(true)
bool(false)

mcrypt_module_open
mcrypt_ofb
Mcrypt


Encrypts/decrypts data in OFB mode

mcrypt_module_self_test
mdecrypt_generic
Mcrypt
PHP Manual

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Encrypts/decrypts data in OFB mode

Описание

string mcrypt_ofb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_ofb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

mcrypt_module_self_test
mdecrypt_generic
Mcrypt


Decrypts data

mcrypt_ofb
Mhash
Mcrypt
PHP Manual

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic — Decrypts data

Описание

string mdecrypt_generic ( resource $td , string $data )

This function decrypts data. Note that the length of the returned string can in fact be longer than the unencrypted string, due to the padding of the data.

Список параметров

td

An encryption descriptor returned by mcrypt_module_open()

data

Encrypted data.

Примеры

Пример #1 mdecrypt_generic() Example

<?php
    /* Data */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';

    /* Open module, and create IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Initialize encryption handle */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encrypt data */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Clean up */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

The example above shows how to check if the data before the encryption is the same as the data after the decryption. It is very important to reinitialize the encryption buffer with mcrypt_generic_init() before you try to decrypt the data.

The decryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

Смотрите также

  • mcrypt_generic() - This function encrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_ofb
Mhash
Mcrypt


Mhash

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Mhash Функции
    • mhash_count — Gets the highest available hash ID
    • mhash_get_block_size — Gets the block size of the specified hash
    • mhash_get_hash_name — Gets the name of the specified hash
    • mhash_keygen_s2k — Generates a key
    • mhash — Computes hash
mdecrypt_generic
Введение
Криптографические расширения


Введение

These functions are intended to work with » mhash. Mhash can be used to create checksums, message digests, message authentication codes, and more.

This is an interface to the mhash library. Mhash supports a wide variety of hash algorithms such as MD5, SHA1, GOST, and many others. For a complete list of supported hashes, refer to the constants page. The general rule is that you can access the hash algorithm from PHP with MHASH_hashname. For example, to access TIGER you use the PHP constant MHASH_TIGER.

Замечание:

This extension is obsoleted by Hash.

Mhash
Установка и настройка
Mhash


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mhash


Требования

To use it, download the mhash distribution from » its web site and follow the included installation instructions.

Установка и настройка
Установка
Установка и настройка


Установка

You need to compile PHP with the --with-mhash[=DIR] parameter to enable this extension. DIR is the mhash installation directory.

As of PHP 5.3.0, the mhash extension is emulated thru the Hash extension. This makes the mhash installation directory have no effect, and requires the hash extension enabled to make the mhash support available.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Here is a list of hashes which are currently supported by mhash. If a hash is not listed here, but it is listed in the mhash documentation as supported, you can safely assume that this documentation is outdated.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL224
  • MHASH_HAVAL256
  • MHASH_MD2
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD128
  • MHASH_RIPEMD256
  • MHASH_RIPEMD320
  • MHASH_SHA1
  • MHASH_SHA192
  • MHASH_SHA224
  • MHASH_SHA256
  • MHASH_SHA384
  • MHASH_SHA512
  • MHASH_SNEFRU128
  • MHASH_SNEFRU256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160
  • MHASH_WHIRLPOOL

Типы ресурсов
Примеры
Mhash


Примеры

Пример #1 Computes the MD5 digest and hmac and print it out as hex

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "The hash is " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "The hmac is " . bin2hex($hash) . "<br />\n";
?>

Результат выполнения данного примера:

The hash is d03cb659cbf9192dcd066272249f8412
The hmac is 750c783e6ab0b503eaa86e310a5db738

Предопределенные константы
Mhash Функции
Mhash


Mhash Функции

Содержание

  • mhash_count — Gets the highest available hash ID
  • mhash_get_block_size — Gets the block size of the specified hash
  • mhash_get_hash_name — Gets the name of the specified hash
  • mhash_keygen_s2k — Generates a key
  • mhash — Computes hash
Примеры
mhash_count
Mhash


Gets the highest available hash ID

Mhash Функции
mhash_get_block_size
Mhash Функции
PHP Manual

mhash_count

(PHP 4, PHP 5)

mhash_count — Gets the highest available hash ID

Описание

int mhash_count ( void )

Gets the highest available hash ID.

Возвращаемые значения

Returns the highest available hash ID. Hashes are numbered from 0 to this hash ID.

Примеры

Пример #1 Traversing all hashes

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf("The blocksize of %s is %d\n",
        mhash_get_hash_name($i),
        mhash_get_block_size($i));
}
?>

Mhash Функции
mhash_get_block_size
Mhash Функции


Gets the block size of the specified hash

mhash_count
mhash_get_hash_name
Mhash Функции
PHP Manual

mhash_get_block_size

(PHP 4, PHP 5)

mhash_get_block_size — Gets the block size of the specified hash

Описание

int mhash_get_block_size ( int $hash )

Gets the size of a block of the specified hash.

Список параметров

hash

The hash ID. One of the MHASH_hashname constants.

Возвращаемые значения

Returns the size in bytes or FALSE, if the hash does not exist.

Примеры

Пример #1 mhash_get_block_size() Example

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>

mhash_count
mhash_get_hash_name
Mhash Функции


Gets the name of the specified hash

mhash_get_block_size
mhash_keygen_s2k
Mhash Функции
PHP Manual

mhash_get_hash_name

(PHP 4, PHP 5)

mhash_get_hash_name — Gets the name of the specified hash

Описание

string mhash_get_hash_name ( int $hash )

Gets the name of the specified hash.

Список параметров

hash

The hash ID. One of the MHASH_hashname constants.

Возвращаемые значения

Returns the name of the hash or FALSE, if the hash does not exist.

Примеры

Пример #1 mhash_get_hash_name() Example

<?php

echo mhash_get_hash_name(MHASH_MD5); // MD5

?>

mhash_get_block_size
mhash_keygen_s2k
Mhash Функции


Generates a key

mhash_get_hash_name
mhash
Mhash Функции
PHP Manual

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5)

mhash_keygen_s2k — Generates a key

Описание

string mhash_keygen_s2k ( int $hash , string $password , string $salt , int $bytes )

Generates a key according to the given hash, using an user provided password.

This is the Salted S2K algorithm as specified in the OpenPGP document (» RFC 2440).

Keep in mind that user supplied passwords are not really suitable to be used as keys in cryptographic algorithms, since users normally choose keys they can write on keyboard. These passwords use only 6 to 7 bits per character (or less). It is highly recommended to use some kind of transformation (like this function) to the user supplied key.

Список параметров

hash

The hash ID used to create the key. One of the MHASH_hashname constants.

password

An user supplied password.

salt

Must be different and random enough for every key you generate in order to create different keys. Because salt must be known when you check the keys, it is a good idea to append the key to it. Salt has a fixed length of 8 bytes and will be padded with zeros if you supply less bytes.

bytes

The key length, in bytes.

Возвращаемые значения

Returns the generated key as a string, or FALSE on error.

mhash_get_hash_name
mhash
Mhash Функции


Computes hash

mhash_keygen_s2k
OpenSSL
Mhash Функции
PHP Manual

mhash

(PHP 4, PHP 5)

mhash — Computes hash

Описание

string mhash ( int $hash , string $data [, string $key ] )

mhash() applies a hash function specified by hash to the data.

Список параметров

hash

The hash ID. One of the MHASH_hashname constants.

data

The user input, as a string.

key

If specified, the function will return the resulting HMAC instead. HMAC is keyed hashing for message authentication, or simply a message digest that depends on the specified key. Not all algorithms supported in mhash can be used in HMAC mode.

Возвращаемые значения

Returns the resulting hash (also called digest) or HMAC as a string, or FALSE on error.

mhash_keygen_s2k
OpenSSL
Mhash Функции


OpenSSL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Флаги проверки
    • Флаги заполнения
    • Key types
    • PKCS7 Flags/Constants
    • Алгоритмы подписи
    • Алгоритмы шифрования
    • Константы версий
    • Константа SNI (Server Name Indication)
  • Параметры Ключа/Сертификата
  • Проверка сертификатов
  • OpenSSL
    • openssl_cipher_iv_length — Gets the cipher iv length
    • openssl_csr_export_to_file — Exports a CSR to a file
    • openssl_csr_export — Exports a CSR as a string
    • openssl_csr_get_public_key — Returns the public key of a CERT
    • openssl_csr_get_subject — Returns the subject of a CERT
    • openssl_csr_new — Generates a CSR
    • openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate
    • openssl_decrypt — Decrypts data
    • openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key
    • openssl_digest — Computes a digest
    • openssl_encrypt — Encrypts data
    • openssl_error_string — Return openSSL error message
    • openssl_free_key — Free key resource
    • openssl_get_cipher_methods — Gets available cipher methods
    • openssl_get_md_methods — Gets available digest methods
    • openssl_get_privatekey — Псевдоним openssl_pkey_get_private
    • openssl_get_publickey — Псевдоним openssl_pkey_get_public
    • openssl_open — Open sealed data
    • openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File
    • openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable.
    • openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array
    • openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message
    • openssl_pkcs7_encrypt — Encrypt an S/MIME message
    • openssl_pkcs7_sign — Sign an S/MIME message
    • openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message
    • openssl_pkey_export_to_file — Gets an exportable representation of a key into a file
    • openssl_pkey_export — Gets an exportable representation of a key into a string
    • openssl_pkey_free — Frees a private key
    • openssl_pkey_get_details — Returns an array with the key details
    • openssl_pkey_get_private — Get a private key
    • openssl_pkey_get_public — Extract public key from certificate and prepare it for use
    • openssl_pkey_new — Generates a new private key
    • openssl_private_decrypt — Decrypts data with private key
    • openssl_private_encrypt — Encrypts data with private key
    • openssl_public_decrypt — Decrypts data with public key
    • openssl_public_encrypt — Encrypts data with public key
    • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
    • openssl_seal — Seal (encrypt) data
    • openssl_sign — Generate signature
    • openssl_verify — Verify signature
    • openssl_x509_check_private_key — Checks if a private key corresponds to a certificate
    • openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose
    • openssl_x509_export_to_file — Exports a certificate to file
    • openssl_x509_export — Exports a certificate as a string
    • openssl_x509_free — Free certificate resource
    • openssl_x509_parse — Parse an X509 certificate and return the information as an array
    • openssl_x509_read — Parse an X.509 certificate and return a resource identifier for it
mhash
Введение
Криптографические расширения


Введение

Этот модуль использует функции библиотеки » OpenSSL для генерации и проверки электронных подписей, а также для упаковки (шифрования) и распаковки (расшифровывания) данных. Библиотека OpenSSL предлагает много возможностей, однако не все они поддерживаются модулем. Возможно в будущем функционал модуля будет расширяться.

OpenSSL
Установка и настройка
OpenSSL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
OpenSSL


Требования

Для использования функций OpenSSL вам необходимо установить пакет » OpenSSL. Версиям PHP между 4.0.5 и 4.3.1 необходима OpenSSL версии >= 0.9.5. Другие версии (PHP <=4.0.4 и >= 4.3.2) требуют OpenSSL >= 0.9.6.

Внимание

Настоятельно рекомендуем использовать последнюю версию OpenSSL, в противном случае ваш веб-сервер может быть уязвим для атак.

Установка и настройка
Установка
Установка и настройка


Установка

To use PHP's OpenSSL support you must also compile PHP --with-openssl[=DIR] .

The OpenSSL library also has additional requirements for normal operation at run-time. Most notably, OpenSSL requires access to a random or pseudo-random number generator; on most Unix and Unix-like platforms (including Linux), this means that it must have access to a /dev/urandom or /dev/random device.

Замечание: Note to Win32 Users

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: libeay32.dll

Additionally, if you are planning to use the key generation and certificate signing functions, you will need to install a valid openssl.cnf file on your system. As of PHP 4.3.0, we include a sample configuration file in our win32 binary distributions. PHP 4.3.x and 4.4.x has the file in the openssl directory. PHP 5.x and 6.x has the file in the extras/openssl directory. If you are either using PHP 4.2.x or missing the file, you can obtain it from » the OpenSSL binaries page or by downloading a recent PHP release. Be aware that Windows Explorer hides the .cnf extension by default and says the file Type is SpeedDial.

PHP will search for the openssl.cnf using the following logic:

  • the OPENSSL_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • the SSLEAY_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • The file openssl.cnf will be assumed to be found in the default certificate area, as configured at the time that the openssl DLL was compiled. This is usually means that the default filename is c:\usr\local\ssl\openssl.cnf.

In your installation, you need to decide whether to install the configuration file at c:\usr\local\ssl\openssl.cnf or whether to install it someplace else and use environmental variables (possibly on a per-virtual-host basis) to locate the configuration file. Note that it is possible to override the default path from the script using the configargs of the functions that require a configuration file.

Требования
Настройка во время выполнения
Установка и настройка


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

Содержание

  • Флаги проверки
  • Флаги заполнения
  • Key types
  • PKCS7 Flags/Constants
  • Алгоритмы подписи
  • Алгоритмы шифрования
  • Константы версий
  • Константа SNI (Server Name Indication)

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Типы ресурсов
Флаги проверки
OpenSSL


Флаги проверки

X509_PURPOSE_SSL_CLIENT (integer)
X509_PURPOSE_SSL_SERVER (integer)
X509_PURPOSE_NS_SSL_SERVER (integer)
X509_PURPOSE_SMIME_SIGN (integer)
X509_PURPOSE_SMIME_ENCRYPT (integer)
X509_PURPOSE_CRL_SIGN (integer)
X509_PURPOSE_ANY (integer)
Предопределенные константы
Флаги заполнения
Предопределенные константы


Флаги заполнения

OPENSSL_PKCS1_PADDING (integer)
OPENSSL_SSLV23_PADDING (integer)
OPENSSL_NO_PADDING (integer)
OPENSSL_PKCS1_OAEP_PADDING (integer)
Флаги проверки
Key types
Предопределенные константы


Key types

OPENSSL_KEYTYPE_RSA (integer)
OPENSSL_KEYTYPE_DSA (integer)
OPENSSL_KEYTYPE_DH (integer)
Флаги заполнения
PKCS7 Flags/Constants
Предопределенные константы


PKCS7 Flags/Constants

Функции S/MIME используют флаги, которые определяются как набор битов, который может включать одну или несколько следующих констант:

Константы PKCS7
Константа | Описание
PKCS7_TEXT | Добавляет заголовок содержимого text/plain в зашифрованное или подписанное сообщение. При расшифровке или проверке заголовки будут получены при выводе. Если после расшифровки или проверки полученное сообщение не имеет MIME-тип text/plain, произойдет ошибка.
PKCS7_BINARY | Обычно входящее сообщение приводится к "каноничному" формату, что эффективно при использовании CR и LF в конце строки: это требуется сертификацией S/MIME. Когда данная опция указана, проблем с трансляцией символов конца строки не происходит. Это удобно в случае обработки бинарных данных, которые могут быть не в формате MIME.
PKCS7_NOINTERN | При проверке сообщения, сертификаты (если таковые имеются), включенные в сообщения как правило проверяются на наличие подписи. С данной опцией используются только сертификаты, определенные в параметре extracerts функции openssl_pkcs7_verify(). Все прочие сертификаты остаются неподтвержденными центром сертификации.
PKCS7_NOVERIFY | Не проверять подписантов сертификата подписанного сообщения.
PKCS7_NOCHAIN | Не проверять подписантов сертификата по цепочке: то есть не использовать сертификаты в подписанном сообщении как неавторизованные центром сертификации.
PKCS7_NOCERTS | При подписании сообщения, сертификат подписанта как правило включается в сообщение - с данной опцией сертификат не добавляется. Это позволяет снизить размер подписанного сообщения, но проверяющий должен иметь копию сертификата подписанта, доступную локально (это не требуется при использовании параметра extracerts функции openssl_pkcs7_verify()).
PKCS7_NOATTR | Обычно, когда сообщение подписано, в набор атрибутов также включается время подписания и поддерживаемый симметричный алгоритм. С помощью данной опции такое добавление не происходит.
PKCS7_DETACHED | При подписании сообщения, используйте подписание в открытом виде (cleartext signing) с MIME-типом "multipart/signed". Это выполняется по умолчанию если не указывать ничего в flags функции openssl_pkcs7_sign(). Если выключить эту опцию, сообщение будет подписано с использованием opaque signing, что более устойчиво к передаче почтой, но не может быть прочитано почтовыми агентами, которые не поддерживают S/MIME.
PKCS7_NOSIGS | Не пытаться проверить подписи у сообщения

Замечание:

Данные константы были добавлены в 4.0.6.

Key types
Алгоритмы подписи
Предопределенные константы


Алгоритмы подписи

OPENSSL_ALGO_DSS1 (integer)
OPENSSL_ALGO_SHA1 (integer)
Используется как алгоритм по умолчанию для функций openssl_sign() и openssl_verify().
OPENSSL_ALGO_MD5 (integer)
OPENSSL_ALGO_MD4 (integer)
OPENSSL_ALGO_MD2 (integer)

Замечание:

Эти константы добавлены в версии 5.0.0.

PKCS7 Flags/Constants
Алгоритмы шифрования
Предопределенные константы


Алгоритмы шифрования

OPENSSL_CIPHER_RC2_40 (integer)
OPENSSL_CIPHER_RC2_128 (integer)
OPENSSL_CIPHER_RC2_64 (integer)
OPENSSL_CIPHER_DES (integer)
OPENSSL_CIPHER_3DES (integer)

Замечание:

Эти константы добавлены в версии 4.3.0.

OPENSSL_CIPHER_AES_128_CBC (integer)
OPENSSL_CIPHER_AES_192_CBC (integer)
OPENSSL_CIPHER_AES_256_CBC (integer)

Замечание:

Эти константы добавлены в версии 5.4.0.

Алгоритмы подписи
Константы версий
Предопределенные константы


Константы версий

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (integer)

Замечание:

Эти константы добавлены в версии 5.2.0.

Алгоритмы шифрования
Константа SNI (Server Name Indication)
Предопределенные константы


Константа SNI (Server Name Indication)

OPENSSL_TLSEXT_SERVER_NAME (string)
Независимо от доступности SNI.

Замечание:

Эта константа добавлена в версии 5.3.2 и требует PHP собранного с библиотекой OpenSSL версии 0.9.8j или выше.

Константы версий
Параметры Ключа/Сертификата
Предопределенные константы


Параметры Ключа/Сертификата

Некоторые функции openssl требуют параметры в виде ключа или сертификата. В версии PHP 4.0.5 и более ранних должны использоваться ключ или сертификат, определенные как ресурс (resource), возвращаемый функциями openssl_get_xxx(). В более поздних версиях PHP можно использовать один из следующих вариантов:

  • Сертификаты

    1. Ресурс X.509 возвращаемый функцией openssl_x509_read()
    2. Строка формата file://path/to/cert.pem; указанный файл должен содержать сертификат в формате PEM
    3. Строка, в которой находится содержииое сертификата/ключа, формат PEM

  • Публичные/Приватные Ключи

    1. Ресурс Ключ, возвращаемый функциями openssl_get_publickey() или openssl_get_privatekey()
    2. Только для открытых ключей: ресурс X.509
    3. Строка формата file://path/to/file.pem;указанный файл должен содержать сертификат в формате PEM (может содержать оба ключа)
    4. Строка, в которой находится содержииое сертификата/ключа, формат PEM
    5. Для приватных ключей возможно использование синтаксиса array($key, $passphrase) где $key представляет ключ указанный при помощи формата file:// или текстовое содержимое описанное выше, и $passphrase представляет строку, содержащую пароль для указанного приватного ключа

Константа SNI (Server Name Indication)
Проверка сертификатов
OpenSSL


Проверка сертификатов

Когда происходит вызов функции проверки подписи/сертификата, параметр cainfo должен содержать массив файлов и директорий, указывающие размещение доверенных корневых сертификатов. Если указывается директория, она должна соответствовать директории, которую сможет использовать команда openssl.

Параметры Ключа/Сертификата
OpenSSL
OpenSSL


OpenSSL
PHP Manual

OpenSSL

Содержание

  • openssl_cipher_iv_length — Gets the cipher iv length
  • openssl_csr_export_to_file — Exports a CSR to a file
  • openssl_csr_export — Exports a CSR as a string
  • openssl_csr_get_public_key — Returns the public key of a CERT
  • openssl_csr_get_subject — Returns the subject of a CERT
  • openssl_csr_new — Generates a CSR
  • openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate
  • openssl_decrypt — Decrypts data
  • openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key
  • openssl_digest — Computes a digest
  • openssl_encrypt — Encrypts data
  • openssl_error_string — Return openSSL error message
  • openssl_free_key — Free key resource
  • openssl_get_cipher_methods — Gets available cipher methods
  • openssl_get_md_methods — Gets available digest methods
  • openssl_get_privatekey — Псевдоним openssl_pkey_get_private
  • openssl_get_publickey — Псевдоним openssl_pkey_get_public
  • openssl_open — Open sealed data
  • openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File
  • openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable.
  • openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array
  • openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message
  • openssl_pkcs7_encrypt — Encrypt an S/MIME message
  • openssl_pkcs7_sign — Sign an S/MIME message
  • openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message
  • openssl_pkey_export_to_file — Gets an exportable representation of a key into a file
  • openssl_pkey_export — Gets an exportable representation of a key into a string
  • openssl_pkey_free — Frees a private key
  • openssl_pkey_get_details — Returns an array with the key details
  • openssl_pkey_get_private — Get a private key
  • openssl_pkey_get_public — Extract public key from certificate and prepare it for use
  • openssl_pkey_new — Generates a new private key
  • openssl_private_decrypt — Decrypts data with private key
  • openssl_private_encrypt — Encrypts data with private key
  • openssl_public_decrypt — Decrypts data with public key
  • openssl_public_encrypt — Encrypts data with public key
  • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
  • openssl_seal — Seal (encrypt) data
  • openssl_sign — Generate signature
  • openssl_verify — Verify signature
  • openssl_x509_check_private_key — Checks if a private key corresponds to a certificate
  • openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose
  • openssl_x509_export_to_file — Exports a certificate to file
  • openssl_x509_export — Exports a certificate as a string
  • openssl_x509_free — Free certificate resource
  • openssl_x509_parse — Parse an X509 certificate and return the information as an array
  • openssl_x509_read — Parse an X.509 certificate and return a resource identifier for it
Проверка сертификатов
openssl_cipher_iv_length
OpenSSL
PHP Manual


Gets the cipher iv length

OpenSSL
openssl_csr_export_to_file
OpenSSL
PHP Manual

openssl_cipher_iv_length

(PHP 5 >= PHP 5.3.3)

openssl_cipher_iv_length — Gets the cipher iv length

Описание

int openssl_cipher_iv_length ( string $method )

Gets the cipher iv length.

Список параметров

method

The method.

Возвращаемые значения

Returns the cipher length on success, or FALSE on failure.

Ошибки

Emits an E_WARNING level error when the cipher algorithm is unknown.

Примеры

Пример #1 openssl_cipher_iv_length() example

<?php
$method = 'AES-128-CBC';
$ivlen = openssl_cipher_iv_length($method);

echo $ivlen;
?>

Результатом выполнения данного примера будет что-то подобное:

16
OpenSSL
openssl_csr_export_to_file
OpenSSL


Exports a CSR to a file

openssl_cipher_iv_length
openssl_csr_export
OpenSSL
PHP Manual

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export_to_file — Exports a CSR to a file

Описание

bool openssl_csr_export_to_file ( resource $csr , string $outfilename [, bool $notext = true ] )

openssl_csr_export_to_file() takes the Certificate Signing Request represented by csr and saves it as ascii-armoured text into the file named by outfilename.

Список параметров

csr

outfilename

Path to the output file.

notext

Необязательный параметр notext влияет на детализацию сообщений вывода; если он установлен в FALSE, тогда в вывод добавляется дополнительная человекочитаемая информация. Значение по умолчанию notext является TRUE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_csr_export() - Exports a CSR as a string
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate

openssl_cipher_iv_length
openssl_csr_export
OpenSSL


Exports a CSR as a string

openssl_csr_export_to_file
openssl_csr_get_public_key
OpenSSL
PHP Manual

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export — Exports a CSR as a string

Описание

bool openssl_csr_export ( resource $csr , string &$out [, bool $notext = true ] )

openssl_csr_export() takes the Certificate Signing Request represented by csr and stores it as ascii-armoured text into out, which is passed by reference.

Список параметров

csr

out

notext

Необязательный параметр notext влияет на детализацию сообщений вывода; если он установлен в FALSE, тогда в вывод добавляется дополнительная человекочитаемая информация. Значение по умолчанию notext является TRUE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_csr_export_to_file() - Exports a CSR to a file
  • openssl_csr_new() - Generates a CSR
  • openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate

openssl_csr_export_to_file
openssl_csr_get_public_key
OpenSSL


Returns the public key of a CERT

openssl_csr_export
openssl_csr_get_subject
OpenSSL
PHP Manual

openssl_csr_get_public_key

(PHP 5 >= 5.2.0)

openssl_csr_get_public_key — Returns the public key of a CERT

Описание

resource openssl_csr_get_public_key ( mixed $csr [, bool $use_shortnames = true ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

openssl_csr_export
openssl_csr_get_subject
OpenSSL


Returns the subject of a CERT

openssl_csr_get_public_key
openssl_csr_new
OpenSSL
PHP Manual

openssl_csr_get_subject

(PHP 5 >= 5.2.0)

openssl_csr_get_subject — Returns the subject of a CERT

Описание

array openssl_csr_get_subject ( mixed $csr [, bool $use_shortnames = true ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

openssl_csr_get_public_key
openssl_csr_new
OpenSSL


Generates a CSR

openssl_csr_get_subject
openssl_csr_sign
OpenSSL
PHP Manual

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new — Generates a CSR

Описание

mixed openssl_csr_new ( array $dn , resource &$privkey [, array $configargs [, array $extraattribs ]] )

openssl_csr_new() generates a new CSR (Certificate Signing Request) based on the information provided by dn, which represents the Distinguished Name to be used in the certificate.

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

Список параметров

dn

The Distinguished Name to be used in the certificate.

privkey

privkey should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

configargs

By default, the information in your system openssl.conf is used to initialize the request; you can specify a configuration file section by setting the config_section_section key of configargs. You can also specify an alternative openssl configuration file by setting the value of the config key to the path of the file you want to use. The following keys, if present in configargs behave as their equivalents in the openssl.conf, as listed in the table below.

Configuration overrides
configargs key | type | openssl.conf equivalent | description
digest_alg | string | default_md | Selects which digest method to use
x509_extensions | string | x509_extensions | Selects which extensions should be used when creating an x509 certificate
req_extensions | string | req_extensions | Selects which extensions should be used when creating a CSR
private_key_bits | integer | default_bits | Specifies how many bits should be used to generate a private key
private_key_type | integer | none | Specifies the type of private key to create. This can be one of OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH or OPENSSL_KEYTYPE_RSA. The default value is OPENSSL_KEYTYPE_RSA which is currently the only supported key type.
encrypt_key | boolean | encrypt_key | Should an exported key (with passphrase) be encrypted?
encrypt_key_cipher | integer | none | One of cipher constants.

extraattribs

extraattribs is used to specify additional configuration options for the CSR. Both dn and extraattribs are associative arrays whose keys are converted to OIDs and applied to the relevant part of the request.

Возвращаемые значения

Returns the CSR.

Примеры

Пример #1 Creating a self-signed-certificate

<?php
// Fill in data for the distinguished name to be used in the cert
// You must change the values of these keys to match your name and
// company, or more precisely, the name and company of the person/site
// that you are generating the certificate for.
// For SSL certificates, the commonName is usually the domain name of
// that will be using the certificate, but for S/MIME certificates,
// the commonName will be the name of the individual who will use the
// certificate.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Generate a new private (and public) key pair
$privkey = openssl_pkey_new();

// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey);

// You will usually want to create a self-signed certificate at this
// point until your CA fulfills your request.
// This creates a self-signed cert that is valid for 365 days
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Now you will want to preserve your private key, CSR and self-signed
// cert so that they can be installed into your web server, mail server
// or mail client (depending on the intended use of the certificate).
// This example shows how to get those things into variables, but you
// can also store them directly into files.
// Typically, you will send the CSR on to your CA who will then issue
// you with the "real" certificate.
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_get_subject
openssl_csr_sign
OpenSSL


Sign a CSR with another certificate (or itself) and generate a certificate

openssl_csr_new
openssl_decrypt
OpenSSL
PHP Manual

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_sign — Sign a CSR with another certificate (or itself) and generate a certificate

Описание

resource openssl_csr_sign ( mixed $csr , mixed $cacert , mixed $priv_key , int $days [, array $configargs [, int $serial = 0 ]] )

openssl_csr_sign() generates an x509 certificate resource from the given CSR.

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

Список параметров

csr

A CSR previously generated by openssl_csr_new(). It can also be the path to a PEM encoded CSR when specified as file://path/to/csr or an exported string generated by openssl_csr_export().

cacert

The generated certificate will be signed by cacert. If cacert is NULL, the generated certificate will be a self-signed certificate.

priv_key

priv_key is the private key that corresponds to cacert.

days

days specifies the length of time for which the generated certificate will be valid, in days.

configargs

You can finetune the CSR signing by configargs. See openssl_csr_new() for more information about configargs.

serial

An optional the serial number of issued certificate. If not specified it will default to 0.

Возвращаемые значения

Returns an x509 certificate resource on success, FALSE on failure.

Список изменений

Версия | Описание
4.3.3 | The serial parameter was added.

Примеры

Пример #1 openssl_csr_sign() example - signing a CSR (how to implement your own CA)

<?php
// Let's assume that this script is set to receive a CSR that has
// been pasted into a textarea from another page
$csrdata = $_POST["CSR"];

// We will sign the request using our own "certificate authority"
// certificate.  You can use any certificate to sign another, but
// the process is worthless unless the signing certificate is trusted
// by the software/users that will deal with the newly signed certificate

// We need our CA cert and its private key
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Now display the generated certificate so that the user can
// copy and paste it into their local configuration (such as a file
// to hold the certificate for their SSL server)
openssl_x509_export($usercert, $certout);
echo $certout;

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_new
openssl_decrypt
OpenSSL


Decrypts data

openssl_csr_sign
openssl_dh_compute_key
OpenSSL
PHP Manual

openssl_decrypt

(PHP 5 >= 5.3.0)

openssl_decrypt — Decrypts data

Описание

string openssl_decrypt ( string $data , string $method , string $password [, bool $raw_input = false [, string $iv = "" ]] )

Takes a raw or base64 encoded string and decrypts it using a given method and key.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

The data.

method

The cipher method.

password

The password.

raw_input

Setting to TRUE will take a raw encoded string, otherwise a base64 string is assumed for the data parameter.

iv

A non-NULL Initialization Vector.

Возвращаемые значения

The decrypted string on success или FALSE в случае возникновения ошибки.

Ошибки

Emits an E_WARNING level error if an unknown cipher algorithm is passed via the method parameter.

Emits an E_WARNING level error if an empty value is passed in via the iv parameter.

Список изменений

Версия | Описание
5.3.3 | The iv parameter was added.

Смотрите также

  • openssl_encrypt() - Encrypts data

openssl_csr_sign
openssl_dh_compute_key
OpenSSL


Computes shared secret for public value of remote DH key and local DH key

openssl_decrypt
openssl_digest
OpenSSL
PHP Manual

openssl_dh_compute_key

(Информация о версии неизвестна, возможно, только в SVN)

openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key

Описание

string openssl_dh_compute_key ( string $pub_key , resource $dh_key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pub_key

Public key

dh_key

DH key

Возвращаемые значения

Returns computed key on success или FALSE в случае возникновения ошибки.

openssl_decrypt
openssl_digest
OpenSSL


Computes a digest

openssl_dh_compute_key
openssl_encrypt
OpenSSL
PHP Manual

openssl_digest

(PHP 5 >= 5.3.0)

openssl_digest — Computes a digest

Описание

string openssl_digest ( string $data , string $method [, bool $raw_output = false ] )

Computes a digest hash value for the given data using a given method, and returns a raw or binhex encoded string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

The data.

method

The digest method.

raw_output

Setting to TRUE will return as raw output data, otherwise the return value is binhex encoded.

Возвращаемые значения

Returns the digested hash value on success или FALSE в случае возникновения ошибки.

Ошибки

Emits an E_WARNING level error if an unknown signature algorithm is passed via the method parameter.

Смотрите также

  • openssl_get_cipher_methods() - Gets available cipher methods

openssl_dh_compute_key
openssl_encrypt
OpenSSL


Encrypts data

openssl_digest
openssl_error_string
OpenSSL
PHP Manual

openssl_encrypt

(PHP 5 >= 5.3.0)

openssl_encrypt — Encrypts data

Описание

string openssl_encrypt ( string $data , string $method , string $password [, bool $raw_output = false [, string $iv = "" ]] )

Encrypts given data with given method and key, returns a raw or base64 encoded string

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

The data.

method

The cipher method.

password

The password.

raw_output

Setting to TRUE will return as raw output data, otherwise the return value is base64 encoded.

iv

A non-NULL Initialization Vector.

Возвращаемые значения

Returns the encrypted string on success или FALSE в случае возникновения ошибки.

Ошибки

Emits an E_WARNING level error if an unknown cipher algorithm is passed in via the method parameter.

Emits an E_WARNING level error if an empty value is passed in via the iv parameter.

Список изменений

Версия | Описание
5.3.3 | The iv parameter was added.

Смотрите также

  • openssl_decrypt() - Decrypts data

openssl_digest
openssl_error_string
OpenSSL


Return openSSL error message

openssl_encrypt
openssl_free_key
OpenSSL
PHP Manual

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5)

openssl_error_string — Return openSSL error message

Описание

string openssl_error_string ( void )

openssl_error_string() returns the last error from the openSSL library. Error messages are queued, so this function should be called multiple times to collect all of the information. The last error will be the most recent one.

Возвращаемые значения

Returns an error message string, or FALSE if there are no more error messages to return.

Примеры

Пример #1 openssl_error_string() example

<?php
// lets assume you just called an openssl function that failed
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

openssl_encrypt
openssl_free_key
OpenSSL


Free key resource

openssl_error_string
openssl_get_cipher_methods
OpenSSL
PHP Manual

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5)

openssl_free_key — Free key resource

Описание

void openssl_free_key ( resource $key_identifier )

openssl_free_key() frees the key associated with the specified key_identifier from memory.

Список параметров

key_identifier

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

openssl_error_string
openssl_get_cipher_methods
OpenSSL


Gets available cipher methods

openssl_free_key
openssl_get_md_methods
OpenSSL
PHP Manual

openssl_get_cipher_methods

(PHP 5 >= 5.3.0)

openssl_get_cipher_methods — Gets available cipher methods

Описание

array openssl_get_cipher_methods ([ bool $aliases = false ] )

Gets a list of available cipher methods.

Список параметров

aliases

Set to TRUE if cipher aliases should be included within the returned array.

Возвращаемые значения

An array of available cipher methods.

Примеры

Пример #1 openssl_get_cipher_methods() example

Shows how the available ciphers might look, and also which aliases might be available.

<?php
$ciphers             = openssl_get_cipher_methods();
$ciphers_and_aliases = openssl_get_cipher_methods(true);
$cipher_aliases      = array_diff($ciphers_and_aliases, $ciphers);

print_r($ciphers);

print_r($cipher_aliases);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => AES-128-CBC
    [1] => AES-128-CFB
    [2] => AES-128-CFB1
    [3] => AES-128-CFB8
    [4] => AES-128-ECB
    [5] => AES-128-OFB
    [6] => AES-192-CBC
    [7] => AES-192-CFB
    [8] => AES-192-CFB1
    [9] => AES-192-CFB8
    [10] => AES-192-ECB
    [11] => AES-192-OFB
    [12] => AES-256-CBC
    [13] => AES-256-CFB
    [14] => AES-256-CFB1
    [15] => AES-256-CFB8
    [16] => AES-256-ECB
    [17] => AES-256-OFB
    [18] => BF-CBC
    [19] => BF-CFB
    [20] => BF-ECB
    [21] => BF-OFB
    [22] => CAST5-CBC
    [23] => CAST5-CFB
    [24] => CAST5-ECB
    [25] => CAST5-OFB
    [26] => DES-CBC
    [27] => DES-CFB
    [28] => DES-CFB1
    [29] => DES-CFB8
    [30] => DES-ECB
    [31] => DES-EDE
    [32] => DES-EDE-CBC
    [33] => DES-EDE-CFB
    [34] => DES-EDE-OFB
    [35] => DES-EDE3
    [36] => DES-EDE3-CBC
    [37] => DES-EDE3-CFB
    [38] => DES-EDE3-OFB
    [39] => DES-OFB
    [40] => DESX-CBC
    [41] => IDEA-CBC
    [42] => IDEA-CFB
    [43] => IDEA-ECB
    [44] => IDEA-OFB
    [45] => RC2-40-CBC
    [46] => RC2-64-CBC
    [47] => RC2-CBC
    [48] => RC2-CFB
    [49] => RC2-ECB
    [50] => RC2-OFB
    [51] => RC4
    [52] => RC4-40
    [53] => aes-128-cbc
    [54] => aes-128-cfb
    [55] => aes-128-cfb1
    [56] => aes-128-cfb8
    [57] => aes-128-ecb
    [58] => aes-128-ofb
    [59] => aes-192-cbc
    [60] => aes-192-cfb
    [61] => aes-192-cfb1
    [62] => aes-192-cfb8
    [63] => aes-192-ecb
    [64] => aes-192-ofb
    [65] => aes-256-cbc
    [66] => aes-256-cfb
    [67] => aes-256-cfb1
    [68] => aes-256-cfb8
    [69] => aes-256-ecb
    [70] => aes-256-ofb
    [71] => bf-cbc
    [72] => bf-cfb
    [73] => bf-ecb
    [74] => bf-ofb
    [75] => cast5-cbc
    [76] => cast5-cfb
    [77] => cast5-ecb
    [78] => cast5-ofb
    [79] => des-cbc
    [80] => des-cfb
    [81] => des-cfb1
    [82] => des-cfb8
    [83] => des-ecb
    [84] => des-ede
    [85] => des-ede-cbc
    [86] => des-ede-cfb
    [87] => des-ede-ofb
    [88] => des-ede3
    [89] => des-ede3-cbc
    [90] => des-ede3-cfb
    [91] => des-ede3-ofb
    [92] => des-ofb
    [93] => desx-cbc
    [94] => idea-cbc
    [95] => idea-cfb
    [96] => idea-ecb
    [97] => idea-ofb
    [98] => rc2-40-cbc
    [99] => rc2-64-cbc
    [100] => rc2-cbc
    [101] => rc2-cfb
    [102] => rc2-ecb
    [103] => rc2-ofb
    [104] => rc4
    [105] => rc4-40
)
Array
(
    [18] => AES128
    [19] => AES192
    [20] => AES256
    [21] => BF
    [26] => CAST
    [27] => CAST-cbc
    [32] => DES
    [47] => DES3
    [48] => DESX
    [50] => IDEA
    [55] => RC2
    [82] => aes128
    [83] => aes192
    [84] => aes256
    [85] => bf
    [90] => blowfish
    [91] => cast
    [92] => cast-cbc
    [97] => des
    [112] => des3
    [113] => desx
    [115] => idea
    [120] => rc2
)

Смотрите также

  • openssl_get_md_methods() - Gets available digest methods

openssl_free_key
openssl_get_md_methods
OpenSSL


Gets available digest methods

openssl_get_cipher_methods
openssl_get_privatekey
OpenSSL
PHP Manual

openssl_get_md_methods

(PHP 5 >= 5.3.0)

openssl_get_md_methods — Gets available digest methods

Описание

array openssl_get_md_methods ([ bool $aliases = false ] )

Gets a list of available digest methods.

Список параметров

aliases

Set to TRUE if digest aliases should be included within the returned array.

Возвращаемые значения

An array of available digest methods.

Примеры

Пример #1 openssl_get_md_methods() example

Shows how the available digests might look, and also which aliases might be available.

<?php
$digests             = openssl_get_md_methods();
$digests_and_aliases = openssl_get_md_methods(true);
$digest_aliases      = array_diff($digests_and_aliases, $digests);

print_r($digests);

print_r($digest_aliases);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Смотрите также

  • openssl_digest() - Computes a digest
  • openssl_get_cipher_methods() - Gets available cipher methods

openssl_get_cipher_methods
openssl_get_privatekey
OpenSSL


Псевдоним openssl_pkey_get_private

openssl_get_md_methods
openssl_get_publickey
OpenSSL
PHP Manual

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_privatekey — Псевдоним openssl_pkey_get_private()

Описание

Эта функция является псевдонимом: openssl_pkey_get_private().

openssl_get_md_methods
openssl_get_publickey
OpenSSL


Псевдоним openssl_pkey_get_public

openssl_get_privatekey
openssl_open
OpenSSL
PHP Manual

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey — Псевдоним openssl_pkey_get_public()

Описание

Эта функция является псевдонимом: openssl_pkey_get_public().

openssl_get_privatekey
openssl_open
OpenSSL


Open sealed data

openssl_get_publickey
openssl_pkcs12_export_to_file
OpenSSL
PHP Manual

openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open — Open sealed data

Описание

bool openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method ] )

openssl_open() opens (decrypts) sealed_data using the private key associated with the key identifier priv_key_id and the envelope key env_key, and fills open_data with the decrypted data. The envelope key is generated when the data are sealed and can only be used by one specific private key. See openssl_seal() for more information.

Список параметров

sealed_data

open_data

If the call is successful the opened data is returned in this parameter.

env_key

priv_key_id

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 openssl_open() example

<?php
// $sealed and $env_key are assumed to contain the sealed data
// and our envelope key, both given to us by the sealer.

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// decrypt the data and store it in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "here is the opened data: ", $open;
} else {
    echo "failed to open data";
}

// free the private key from memory
openssl_free_key($pkeyid);
?>

Смотрите также

  • openssl_seal() - Seal (encrypt) data

openssl_get_publickey
openssl_pkcs12_export_to_file
OpenSSL


Exports a PKCS#12 Compatible Certificate Store File

openssl_open
openssl_pkcs12_export
OpenSSL
PHP Manual

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2)

openssl_pkcs12_export_to_file — Exports a PKCS#12 Compatible Certificate Store File

Описание

bool openssl_pkcs12_export_to_file ( mixed $x509 , string $filename , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export_to_file() stores x509 into a file named by filename in a PKCS#12 file format.

Список параметров

x509

Для списка корректных значений смотрите Параметры ключей/сертификатов.

filename

Path to the output file.

priv_key

Private key component of PKCS#12 file.

pass

Encryption password for unlocking the PKCS#12 file.

args

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_open
openssl_pkcs12_export
OpenSSL


Exports a PKCS#12 Compatible Certificate Store File to variable.

openssl_pkcs12_export_to_file
openssl_pkcs12_read
OpenSSL
PHP Manual

openssl_pkcs12_export

(PHP 5 >= 5.2.2)

openssl_pkcs12_export — Exports a PKCS#12 Compatible Certificate Store File to variable.

Описание

bool openssl_pkcs12_export ( mixed $x509 , string &$out , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export() stores x509 into a string named by out in a PKCS#12 file format.

Список параметров

x509

Для списка корректных значений смотрите Параметры ключей/сертификатов.

out

On success, this will hold the PKCS#12.

priv_key

Private key component of PKCS#12 file.

pass

Encryption password for unlocking the PKCS#12 file.

args

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_pkcs12_export_to_file
openssl_pkcs12_read
OpenSSL


Parse a PKCS#12 Certificate Store into an array

openssl_pkcs12_export
openssl_pkcs7_decrypt
OpenSSL
PHP Manual

openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_read — Parse a PKCS#12 Certificate Store into an array

Описание

bool openssl_pkcs12_read ( string $pkcs12 , array &$certs , string $pass )

openssl_pkcs12_read() parses the PKCS#12 certificate store supplied by pkcs12 into a array named certs.

Список параметров

pkcs12

certs

On success, this will hold the Certificate Store Data.

pass

Encryption password for unlocking the PKCS#12 file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_pkcs12_export
openssl_pkcs7_decrypt
OpenSSL


Decrypts an S/MIME encrypted message

openssl_pkcs12_read
openssl_pkcs7_encrypt
OpenSSL
PHP Manual

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_decrypt — Decrypts an S/MIME encrypted message

Описание

bool openssl_pkcs7_decrypt ( string $infilename , string $outfilename , mixed $recipcert [, mixed $recipkey ] )

Decrypts the S/MIME encrypted message contained in the file specified by infilename using the certificate and its associated private key specified by recipcert and recipkey.

Список параметров

infilename

outfilename

The decrypted message is written to the file specified by outfilename.

recipcert

recipkey

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 openssl_pkcs7_decrypt() example

<?php
// $cert and $key are assumed to contain your personal certificate and private
// key pair, and that you are the recipient of an S/MIME message
$infilename = "encrypted.msg";  // this file holds your encrypted message
$outfilename = "decrypted.msg"; // make sure you can write to this file

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "decrypted!";
} else {
    echo "failed to decrypt!";
}
?>

openssl_pkcs12_read
openssl_pkcs7_encrypt
OpenSSL


Encrypt an S/MIME message

openssl_pkcs7_decrypt
openssl_pkcs7_sign
OpenSSL
PHP Manual

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt — Encrypt an S/MIME message

Описание

bool openssl_pkcs7_encrypt ( string $infile , string $outfile , mixed $recipcerts , array $headers [, int $flags = 0 [, int $cipherid = OPENSSL_CIPHER_RC2_40 ]] )

openssl_pkcs7_encrypt() takes the contents of the file named infile and encrypts them using an RC2 40-bit cipher so that they can only be read by the intended recipients specified by recipcerts.

Список параметров

infile

outfile

recipcerts

Either a lone X.509 certificate, or an array of X.509 certificates.

headers

headers is an array of headers that will be prepended to the data after it has been encrypted.

headers can be either an associative array keyed by header name, or an indexed array, where each element contains a single header line.

flags

flags can be used to specify options that affect the encoding process - see PKCS7 constants.

cipherid

One of cipher constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | The cipherid parameter was added.

Примеры

Пример #1 openssl_pkcs7_encrypt() example

<?php
// the message you want to encrypt and send to your secret agent
// in the field, known as nighthawk.  You have his certificate
// in the file nighthawk.pem
$data = <<<EOD
Nighthawk,

Top secret, for your eyes only!

The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!

HQ
EOD;

// load key
$key = file_get_contents("nighthawk.pem");

// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // keyed syntax
          "From: HQ <hq@example.com>", // indexed syntax
          "Subject" => "Eyes only"))) {
    // message encrypted - send it!
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>

openssl_pkcs7_decrypt
openssl_pkcs7_sign
OpenSSL


Sign an S/MIME message

openssl_pkcs7_encrypt
openssl_pkcs7_verify
OpenSSL
PHP Manual

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_sign — Sign an S/MIME message

Описание

bool openssl_pkcs7_sign ( string $infilename , string $outfilename , mixed $signcert , mixed $privkey , array $headers [, int $flags = PKCS7_DETACHED [, string $extracerts ]] )

openssl_pkcs7_sign() takes the contents of the file named infilename and signs them using the certificate and its matching private key specified by signcert and privkey parameters.

Список параметров

infilename

outfilename

signcert

privkey

headers

headers is an array of headers that will be prepended to the data after it has been signed (see openssl_pkcs7_encrypt() for more information about the format of this parameter).

flags

flags can be used to alter the output - see PKCS7 constants.

extracerts

extracerts specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 openssl_pkcs7_sign() example

<?php
// the message you want to sign so that recipient can be sure it was you that
// sent it
$data = <<<EOD

You have my authorization to spend $10,000 on dinner expenses.

The CEO
EOD;
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // keyed syntax
          "From: HQ <ceo@example.com>", // indexed syntax
          "Subject" => "Eyes only")
    )) {
    // message signed - send it!
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>

openssl_pkcs7_encrypt
openssl_pkcs7_verify
OpenSSL


Verifies the signature of an S/MIME signed message

openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL
PHP Manual

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify — Verifies the signature of an S/MIME signed message

Описание

mixed openssl_pkcs7_verify ( string $filename , int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content ]]]] )

openssl_pkcs7_verify() reads the S/MIME message contained in the given file and examines the digital signature.

Список параметров

filename

Path to the message.

flags

flags can be used to affect how the signature is verified - see PKCS7 constants for more information.

outfilename

If the outfilename is specified, it should be a string holding the name of a file into which the certificates of the persons that signed the messages will be stored in PEM format.

cainfo

If the cainfo is specified, it should hold information about the trusted CA certificates to use in the verification process - see certificate verification for more information about this parameter.

extracerts

If the extracerts is specified, it is the filename of a file containing a bunch of certificates to use as untrusted CAs.

content

You can specify a filename with content that will be filled with the verified data, but with the signature information stripped.

Возвращаемые значения

Returns TRUE if the signature is verified, FALSE if it is not correct (the message has been tampered with, or the signing certificate is invalid), or -1 on error.

Список изменений

Версия | Описание
5.1.0 | The content parameter was added.

Примечания

Замечание: As specified in RFC 2045, lines may not be longer than 76 characters in the filename parameter.

openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL


Gets an exportable representation of a key into a file

openssl_pkcs7_verify
openssl_pkey_export
OpenSSL
PHP Manual

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export_to_file — Gets an exportable representation of a key into a file

Описание

bool openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ]] )

openssl_pkey_export_to_file() saves an ascii-armoured (PEM encoded) rendition of key into the file named by outfilename.

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

Список параметров

key

outfilename

Path to the output file.

passphrase

The key can be optionally protected by a passphrase.

configargs

configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_pkcs7_verify
openssl_pkey_export
OpenSSL


Gets an exportable representation of a key into a string

openssl_pkey_export_to_file
openssl_pkey_free
OpenSSL
PHP Manual

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export — Gets an exportable representation of a key into a string

Описание

bool openssl_pkey_export ( mixed $key , string &$out [, string $passphrase [, array $configargs ]] )

openssl_pkey_export() exports key as a PEM encoded string and stores it into out (which is passed by reference).

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

Список параметров

key

out

passphrase

The key is optionally protected by passphrase.

configargs

configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_pkey_export_to_file
openssl_pkey_free
OpenSSL


Frees a private key

openssl_pkey_export
openssl_pkey_get_details
OpenSSL
PHP Manual

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_free — Frees a private key

Описание

void openssl_pkey_free ( resource $key )

This function frees a private key created by openssl_pkey_new().

Список параметров

key

Resource holding the key.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

openssl_pkey_export
openssl_pkey_get_details
OpenSSL


Returns an array with the key details

openssl_pkey_free
openssl_pkey_get_private
OpenSSL
PHP Manual

openssl_pkey_get_details

(PHP 5 >= 5.2.0)

openssl_pkey_get_details — Returns an array with the key details

Описание

array openssl_pkey_get_details ( resource $key )

This function returns the key details (bits, key, type).

Список параметров

key

Resource holding the key.

Возвращаемые значения

Returns an array with the key details in success or FALSE in failure. Returned array has indexes bits (number of bits), key (string representation of the public key) and type (type of the key which is one of OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC or -1 meaning unknown).

Depending on the key type used, additional details may be returned. Note that some elements may not always be available.

  • OPENSSL_KEYTYPE_RSA, an additional array key named "rsa", containing the key data is returned.
    Key Описание
    "n"
    "e"
    "d"
    "p"
    "q"
    "dmp1"
    "dmq1"
    "iqmp"
  • OPENSSL_KEYTYPE_DSA, an additional array key named "dsa", containing the key data is returned.
    Key Описание
    "p"
    "q"
    "g"
    "priv_key"
    "pub_key"
  • OPENSSL_KEYTYPE_DH, an additional array key named "dh", containing the key data is returned.
    Key Описание
    "p"
    "g"
    "priv_key"
    "pub_key"
openssl_pkey_free
openssl_pkey_get_private
OpenSSL


Get a private key

openssl_pkey_get_details
openssl_pkey_get_public
OpenSSL
PHP Manual

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private — Get a private key

Описание

resource openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] )

openssl_get_privatekey() parses key and prepares it for use by other functions.

Список параметров

key

key can be one of the following:

  1. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  2. A PEM formatted private key.

passphrase

The optional parameter passphrase must be used if the specified key is encrypted (protected by a passphrase).

Возвращаемые значения

Returns a positive key resource identifier on success, or FALSE on error.

openssl_pkey_get_details
openssl_pkey_get_public
OpenSSL


Extract public key from certificate and prepare it for use

openssl_pkey_get_private
openssl_pkey_new
OpenSSL
PHP Manual

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_public — Extract public key from certificate and prepare it for use

Описание

resource openssl_pkey_get_public ( mixed $certificate )

openssl_get_publickey() extracts the public key from certificate and prepares it for use by other functions.

Список параметров

certificate

certificate can be one of the following:

  1. an X.509 certificate resource
  2. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  3. A PEM formatted private key.

Возвращаемые значения

Returns a positive key resource identifier on success, or FALSE on error.

openssl_pkey_get_private
openssl_pkey_new
OpenSSL


Generates a new private key

openssl_pkey_get_public
openssl_private_decrypt
OpenSSL
PHP Manual

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_new — Generates a new private key

Описание

resource openssl_pkey_new ([ array $configargs ] )

openssl_pkey_new() generates a new private and public key pair. The public component of the key can be obtained using openssl_pkey_get_public().

Замечание: Для корректной работы этой функции должен существовать правильный openssl.cnf. Для более подробной информации смотрите замечания под разделом установки.

Список параметров

configargs

You can finetune the key generation (such as specifying the number of bits) using configargs. See openssl_csr_new() for more information about configargs.

Возвращаемые значения

Returns a resource identifier for the pkey on success, or FALSE on error.

openssl_pkey_get_public
openssl_private_decrypt
OpenSSL


Decrypts data with private key

openssl_pkey_new
openssl_private_encrypt
OpenSSL
PHP Manual

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decrypt — Decrypts data with private key

Описание

bool openssl_private_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_decrypt() decrypts data that was previous encrypted via openssl_public_encrypt() and stores the result into decrypted.

You can use this function e.g. to decrypt data which were supposed only to you.

Список параметров

data

decrypted

key

key must be the private key corresponding that was used to encrypt the data.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_public_encrypt() - Encrypts data with public key
  • openssl_public_decrypt() - Decrypts data with public key

openssl_pkey_new
openssl_private_encrypt
OpenSSL


Encrypts data with private key

openssl_private_decrypt
openssl_public_decrypt
OpenSSL
PHP Manual

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_encrypt — Encrypts data with private key

Описание

bool openssl_private_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_encrypt() encrypts data with private key and stores the result into crypted. Encrypted data can be decrypted via openssl_public_decrypt().

This function can be used e.g. to sign data (or its hash) to prove that it is not written by someone else.

Список параметров

data

crypted

key

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_public_encrypt() - Encrypts data with public key
  • openssl_public_decrypt() - Decrypts data with public key

openssl_private_decrypt
openssl_public_decrypt
OpenSSL


Decrypts data with public key

openssl_private_encrypt
openssl_public_encrypt
OpenSSL
PHP Manual

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decrypt — Decrypts data with public key

Описание

bool openssl_public_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_decrypt() decrypts data that was previous encrypted via openssl_private_encrypt() and stores the result into decrypted.

You can use this function e.g. to check if the message was written by the owner of the private key.

Список параметров

data

decrypted

key

key must be the public key corresponding that was used to encrypt the data.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_private_encrypt() - Encrypts data with private key
  • openssl_private_decrypt() - Decrypts data with private key

openssl_private_encrypt
openssl_public_encrypt
OpenSSL


Encrypts data with public key

openssl_public_decrypt
openssl_random_pseudo_bytes
OpenSSL
PHP Manual

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encrypt — Encrypts data with public key

Описание

bool openssl_public_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_encrypt() encrypts data with public key and stores the result into crypted. Encrypted data can be decrypted via openssl_private_decrypt().

This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.

Список параметров

data

crypted

This will hold the result of the encryption.

key

The public key.

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • openssl_private_encrypt() - Encrypts data with private key
  • openssl_private_decrypt() - Decrypts data with private key

openssl_public_decrypt
openssl_random_pseudo_bytes
OpenSSL


Generate a pseudo-random string of bytes

openssl_public_encrypt
openssl_seal
OpenSSL
PHP Manual

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0)

openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes

Описание

string openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] )

Generates a string of pseudo-random bytes, with the number of bytes determined by the length parameter.

It also indicates if a cryptographically strong algorithm was used to produce the pseudo-random bytes, and does this via the optional crypto_strong parameter. It's rare for this to be FALSE, but some systems may be broken or old.

Список параметров

length

The length of the desired string of bytes. Must be a positive integer. PHP will try to cast this parameter to a non-null integer to use it.

crypto_strong

If passed into the function, this will hold a boolean value that determines if the algorithm used was "cryptographically strong", e.g., safe for usage with GPG, passwords, etc. TRUE if it did, otherwise FALSE

Возвращаемые значения

Returns the generated string of bytes on success, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 openssl_random_pseudo_bytes() example

<?php
for ($i = -1; $i <= 4; $i++) {
    $bytes = openssl_random_pseudo_bytes($i, $cstrong);
    $hex   = bin2hex($bytes);

    echo "Lengths: Bytes: $i and Hex: " . strlen($hex) . PHP_EOL;
    var_dump($hex);
    var_dump($cstrong);
    echo PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Lengths: Bytes: -1 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 0 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 1 and Hex: 2
string(2) "42"
bool(true)

Lengths: Bytes: 2 and Hex: 4
string(4) "dc6e"
bool(true)

Lengths: Bytes: 3 and Hex: 6
string(6) "288591"
bool(true)

Lengths: Bytes: 4 and Hex: 8
string(8) "ab86d144"
bool(true)

Смотрите также

  • bin2hex() - Преобразует бинарные данные в шестнадцатиричное представление
  • crypt() - Необратимое хэширование строки
  • mt_rand() - Генерирует случайное значение методом mt
  • uniqid() - Generate a unique ID
openssl_public_encrypt
openssl_seal
OpenSSL


Seal (encrypt) data

openssl_random_pseudo_bytes
openssl_sign
OpenSSL
PHP Manual

openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal — Seal (encrypt) data

Описание

int openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids [, string $method ] )

openssl_seal() seals (encrypts) data by using RC4 with a randomly generated secret key. The key is encrypted with each of the public keys associated with the identifiers in pub_key_ids and each encrypted key is returned in env_keys. This means that one can send sealed data to multiple recipients (provided one has obtained their public keys). Each recipient must receive both the sealed data and the envelope key that was encrypted with the recipient's public key.

Список параметров

data

sealed_data

env_keys

pub_key_ids

Возвращаемые значения

Returns the length of the sealed data on success, or FALSE on error. If successful the sealed data is returned in sealed_data, and the envelope keys in env_keys.

Примеры

Пример #1 openssl_seal() example

<?php
// $data is assumed to contain the data to be sealed

// fetch public keys for our recipients, and ready them
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repeat for second recipient
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// seal message, only owners of $pk1 and $pk2 can decrypt $sealed with keys
// $ekeys[0] and $ekeys[1] respectively.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// free the keys from memory
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

Смотрите также

  • openssl_open() - Open sealed data

openssl_random_pseudo_bytes
openssl_sign
OpenSSL


Generate signature

openssl_seal
openssl_verify
OpenSSL
PHP Manual

openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign — Generate signature

Описание

bool openssl_sign ( string $data , string &$signature , mixed $priv_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_sign() computes a signature for the specified data by using SHA1 for hashing followed by encryption using the private key associated with priv_key_id. Note that the data itself is not encrypted.

Список параметров

data

signature

If the call was successful the signature is returned in signature.

priv_key_id

signature_alg

For more information see the list of Signature Algorithms.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | The signature_alg parameter was added.

Примеры

Пример #1 openssl_sign() example

<?php
// $data is assumed to contain the data to be signed

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// compute signature
openssl_sign($data, $signature, $pkeyid);

// free the key from memory
openssl_free_key($pkeyid);
?>

Смотрите также

  • openssl_verify() - Verify signature

openssl_seal
openssl_verify
OpenSSL


Verify signature

openssl_sign
openssl_x509_check_private_key
OpenSSL
PHP Manual

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify — Verify signature

Описание

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_verify() verifies that the signature is correct for the specified data using the public key associated with pub_key_id. This must be the public key corresponding to the private key used for signing.

Список параметров

data

signature

pub_key_id

signature_alg

For more information see the list of Signature Algorithms.

Возвращаемые значения

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

Список изменений

Версия | Описание
5.2.0 | The signature_alg parameter was added.

Примеры

Пример #1 openssl_verify() example

<?php
// $data and $signature are assumed to contain the data and the signature

// fetch public key from certificate and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// state whether signature is okay or not
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "good";
} elseif ($ok == 0) {
    echo "bad";
} else {
    echo "ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>

Смотрите также

  • openssl_sign() - Generate signature

openssl_sign
openssl_x509_check_private_key
OpenSSL


Checks if a private key corresponds to a certificate

openssl_verify
openssl_x509_checkpurpose
OpenSSL
PHP Manual

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_check_private_key — Checks if a private key corresponds to a certificate

Описание

bool openssl_x509_check_private_key ( mixed $cert , mixed $key )

Checks whether the given key is the private key that corresponds to cert.

Список параметров

cert

The certificate.

key

The private key.

Возвращаемые значения

Returns TRUE if key is the private key that corresponds to cert, or FALSE otherwise.

openssl_verify
openssl_x509_checkpurpose
OpenSSL


Verifies if a certificate can be used for a particular purpose

openssl_x509_check_private_key
openssl_x509_export_to_file
OpenSSL
PHP Manual

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurpose — Verifies if a certificate can be used for a particular purpose

Описание

int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] )

openssl_x509_checkpurpose() examines a certificate to see if it can be used for the specified purpose.

Список параметров

x509cert

The examined certificate.

purpose

openssl_x509_checkpurpose() purposes
Constant | Description
X509_PURPOSE_SSL_CLIENT | Can the certificate be used for the client side of an SSL connection?
X509_PURPOSE_SSL_SERVER | Can the certificate be used for the server side of an SSL connection?
X509_PURPOSE_NS_SSL_SERVER | Can the cert be used for Netscape SSL server?
X509_PURPOSE_SMIME_SIGN | Can the cert be used to sign S/MIME email?
X509_PURPOSE_SMIME_ENCRYPT | Can the cert be used to encrypt S/MIME email?
X509_PURPOSE_CRL_SIGN | Can the cert be used to sign a certificate revocation list (CRL)?
X509_PURPOSE_ANY | Can the cert be used for Any/All purposes?
These options are not bitfields - you may specify one only!

cainfo

cainfo should be an array of trusted CA files/dirs as described in Certificate Verification.

untrustedfile

If specified, this should be the name of a PEM encoded file holding certificates that can be used to help verify the certificate, although no trust is placed in the certificates that come from that file.

Возвращаемые значения

Returns TRUE if the certificate can be used for the intended purpose, FALSE if it cannot, or -1 on error.

openssl_x509_check_private_key
openssl_x509_export_to_file
OpenSSL


Exports a certificate to file

openssl_x509_checkpurpose
openssl_x509_export
OpenSSL
PHP Manual

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export_to_file — Exports a certificate to file

Описание

bool openssl_x509_export_to_file ( mixed $x509 , string $outfilename [, bool $notext = TRUE ] )

openssl_x509_export_to_file() stores x509 into a file named by outfilename in a PEM encoded format.

Список параметров

x509

Для списка корректных значений смотрите Параметры ключей/сертификатов.

outfilename

Path to the output file.

notext

Необязательный параметр notext влияет на детализацию сообщений вывода; если он установлен в FALSE, тогда в вывод добавляется дополнительная человекочитаемая информация. Значение по умолчанию notext является TRUE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_x509_checkpurpose
openssl_x509_export
OpenSSL


Exports a certificate as a string

openssl_x509_export_to_file
openssl_x509_free
OpenSSL
PHP Manual

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export — Exports a certificate as a string

Описание

bool openssl_x509_export ( mixed $x509 , string &$output [, bool $notext = TRUE ] )

openssl_x509_export() stores x509 into a string named by output in a PEM encoded format.

Список параметров

x509

Для списка корректных значений смотрите Параметры ключей/сертификатов.

output

On success, this will hold the PEM.

notext

Необязательный параметр notext влияет на детализацию сообщений вывода; если он установлен в FALSE, тогда в вывод добавляется дополнительная человекочитаемая информация. Значение по умолчанию notext является TRUE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

openssl_x509_export_to_file
openssl_x509_free
OpenSSL


Free certificate resource

openssl_x509_export
openssl_x509_parse
OpenSSL
PHP Manual

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_free — Free certificate resource

Описание

void openssl_x509_free ( resource $x509cert )

openssl_x509_free() frees the certificate associated with the specified x509cert resource from memory.

Список параметров

x509cert

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

openssl_x509_export
openssl_x509_parse
OpenSSL


Parse an X509 certificate and return the information as an array

openssl_x509_free
openssl_x509_read
OpenSSL
PHP Manual

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_parse — Parse an X509 certificate and return the information as an array

Описание

array openssl_x509_parse ( mixed $x509cert [, bool $shortnames = true ] )

openssl_x509_parse() returns information about the supplied x509cert, including fields such as subject name, issuer name, purposes, valid from and valid to dates etc.

Список параметров

x509cert

shortnames

shortnames controls how the data is indexed in the array - if shortnames is TRUE (the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.

Возвращаемые значения

The structure of the returned data is (deliberately) not yet documented, as it is still subject to change.

openssl_x509_free
openssl_x509_read
OpenSSL


Parse an X.509 certificate and return a resource identifier for it

openssl_x509_parse
Расширения для работы с базами данных
OpenSSL
PHP Manual

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_read — Parse an X.509 certificate and return a resource identifier for it

Описание

resource openssl_x509_read ( mixed $x509certdata )

openssl_x509_read() parses the certificate supplied by x509certdata and returns a resource identifier for it.

Список параметров

x509certdata

Возвращаемые значения

Returns a resource identifier on success или FALSE в случае возникновения ошибки.

openssl_x509_parse
Расширения для работы с базами данных
OpenSSL


Расширения для работы с базами данных

  • Уровни абстракции
    • DBA — Database (dbm-style) Abstraction Layer
    • dbx
    • ODBC — ODBC (Unified)
    • PDO — PHP Data Objects
  • Расширения для работы с базами данных отдельных производителей
    • CUBRID
    • DB++
    • dBase
    • filePro
    • Firebird/InterBase
    • FrontBase
    • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Informix
    • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • MaxDB
    • Mongo — MongoDB Native Driver
    • mSQL
    • Mssql — Microsoft SQL Server
    • MySQL
    • mysqli — Улучшенный модуль MySQL (Improved)
    • Mysqlnd — Встроенный драйвер MySQL
    • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • mysqlnd_qc — Mysqlnd query result cache plugin
    • mysqlnd_uh — Mysqlnd user handler plugin
    • OCI8 — Oracle OCI8
    • Ovrimos SQL
    • Paradox — Paradox File Access
    • PostgreSQL
    • SQLite
    • SQLite3
    • SQLSRV — Microsoft SQL Server Driver for PHP
    • Sybase
    • tokyo_tyrant
openssl_x509_read
Уровни абстракции
Справочник функций


Уровни абстракции

  • DBA — Database (dbm-style) Abstraction Layer
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • DBA Функции
  • dbx
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • dbx Функции
  • ODBC — ODBC (Unified)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • ODBC Функции
  • PDO — PHP Data Objects
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Connections and Connection management
    • Transactions and auto-commit
    • Prepared statements and stored procedures
    • Errors and error handling
    • Large Objects (LOBs)
    • PDO — The PDO class
    • PDOStatement — The PDOStatement class
    • PDOException — The PDOException class
    • PDO Drivers
Расширения для работы с базами данных
DBA
Расширения для работы с базами данных


Database (dbm-style) Abstraction Layer

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • DBA Функции
    • dba_close — Close a DBA database
    • dba_delete — Delete DBA entry specified by key
    • dba_exists — Check whether key exists
    • dba_fetch — Fetch data specified by key
    • dba_firstkey — Fetch first key
    • dba_handlers — List all the handlers available
    • dba_insert — Insert entry
    • dba_key_split — Splits a key in string representation into array representation
    • dba_list — List all open database files
    • dba_nextkey — Fetch next key
    • dba_open — Open database
    • dba_optimize — Optimize database
    • dba_popen — Open database persistently
    • dba_replace — Replace or insert entry
    • dba_sync — Synchronize database
Уровни абстракции
Введение
Уровни абстракции


Введение

These functions build the foundation for accessing Berkeley DB style databases.

This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as » Oracle Berkeley DB.

DBA
Установка и настройка
DBA


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DBA


Требования

The behaviour of various aspects depends on the implementation of the underlying database. Functions such as dba_optimize() and dba_sync() will do what they promise for one database and will do nothing for others. You have to download and install supported dba-Handlers.

List of DBA handlers
Handler | Notes
dbm | Dbm is the oldest (original) type of Berkeley DB style databases. You should avoid it, if possible. We do not support the compatibility functions built into DB2 and gdbm, because they are only compatible on the source code level, but cannot handle the original dbm format.
ndbm | Ndbm is a newer type and more flexible than dbm. It still has most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm | Gdbm is the » GNU database manager.
db2 | DB2 is for » Oracle Berkeley DB 2. It is described as "a programmatic toolkit that provides high-performance built-in database support for both standalone and client/server applications.
db3 | DB3 is for » Oracle Berkeley DB 3.
db4 | DB4 is for » Oracle Berkeley DB 4 or 5. This option is available from PHP 4.3.2. It can be used with BDB 5 from PHP 5.3.3.
cdb | Cdb is "a fast, reliable, lightweight package for creating and reading constant databases." It is from the author of qmail and can be found at » http://cr.yp.to/cdb.html. Since it is constant, we support only reading operations. And since PHP 4.3.0 we support writing (not updating) through the internal cdb library.
cdb_make | Since PHP 4.3.0 we support creation (not updating) of cdb files when the bundled cdb library is used.
flatfile | This is available since PHP 4.3.0 for compatibility with the deprecated dbm extension only and should be avoided. However you may use this where files were created in this format. That happens when configure could not find any external library.
inifile | This is available since PHP 4.3.3 to be able to modify php.ini files from within PHP scripts. When working with ini files you can pass arrays of the form array(0=>group,1=>value_name) or strings of the form "[group]value_name" where group is optional. As the functions dba_firstkey() and dba_nextkey() return string representations of the key there is a new function dba_key_split() available since PHP 5 which allows to convert the string keys into array keys without loosing FALSE.
qdbm | This is available since PHP 5.0.0. The qdbm library can be loaded from » http://fallabs.com/qdbm/index.html.

When invoking the dba_open() or dba_popen() functions, one of the handler names must be supplied as an argument. The actually available list of handlers is displayed by invoking phpinfo() or dba_handlers().

Установка и настройка
Установка
Установка и настройка


Установка

By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX configure switch to your PHP configure line.

Внимание

After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfunctioning single handlers but not combinations.

Supported DBA handlers
Handler | Configure Switch
dbm

To enable support for dbm add --with-dbm[=DIR] .

Замечание:

dbm normally is a wrapper which often results in failures. This means you should only use dbm if you are sure it works and if you really need this format.

ndbm

To enable support for ndbm add --with-ndbm[=DIR] .

Замечание:

ndbm normally is a wrapper which often results in failures. This means you should only use ndbm if you are sure it works and if you really need this format.

gdbm | To enable support for gdbm add --with-gdbm[=DIR] .
db2

To enable support for Oracle Berkeley DB 2 add --with-db2[=DIR] .

Замечание:

db2 conflicts with db3 and db4.

db3

To enable support for Oracle Berkeley DB 3 add --with-db3[=DIR] .

Замечание:

db3 conflicts with db2 and db4.

db4

To enable support for Oracle Berkeley DB 4 or 5 add --with-db4[=DIR] .

Замечание:

db4 conflicts with db2 and db3.

Замечание:

The db4 option was added in PHP 4.3.2. In earlier versions of PHP you need to use --with-db3=DIR with DIR being the path to db4 library. It is not possible to use db versions starting from 4.1 with PHP prior to version 4.3.0. Also, the db libraries with versions 4.1 through 4.1.24 cannot be used in any PHP version.

Support for BDB 5 was added in PHP 5.3.3.

cdb

To enable support for cdb add --with-cdb[=DIR] .

Замечание:

Since PHP 4.3.0 you can omit DIR to use the bundled cdb library that adds the cdb_make handler which allows creation of cdb files and allows to access cdb files on the network using PHP's streams.

flatfile

To enable support for flatfile add --with-flatfile .

Замечание:

This was added in PHP 4.3.0 to add compatibility with deprecated dbm extension. Use this handler only when you cannot install one of the libraries required by the other handlers and when you cannot use bundled cdb handler.

inifile

To enable support for inifile add --with-inifile .

Замечание:

This was added in PHP 5.0.0 and allows to read and set microsoft style .ini files (like the php.ini file).

qdbm

To enable support for qdbm add --with-qdbm[=DIR] .

Замечание:

qdbm conflicts with dbm and gdbm.

Замечание:

This was added in PHP 5.0.0. The qdbm library can be loaded from » http://fallabs.com/qdbm/index.html.

Замечание:

Up to PHP 4.3.0 you are able to add both db2 and db3 handler but only one of them can be used internally. That means that you cannot have both file formats. Starting with PHP 5.0.0 there is a configuration check avoid such misconfigurations.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

The functions dba_open() and dba_popen() return a handle to the specified database file to access which is used by all other dba-function calls.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
DBA


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
DBA


Basic usage

Пример #1 DBA example

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "dba_open failed\n";
    exit;
}

dba_replace("key", "This is an example!", $id);

if (dba_exists("key", $id)) {
    echo dba_fetch("key", $id);
    dba_delete("key", $id);
}

dba_close($id);
?>

DBA is binary safe and does not have any arbitrary limits. However, it inherits all limits set by the underlying database implementation.

All file-based databases must provide a way of setting the file mode of a new created database, if that is possible at all. The file mode is commonly passed as the fourth argument to dba_open() or dba_popen().

You can access all entries of a database in a linear way by using the dba_firstkey() and dba_nextkey() functions. You may not change the database while traversing it.

Пример #2 Traversing a database

<?php

// ...open database...

$key = dba_firstkey($id);

while ($key != false) {
    if (true) {          // remember the key to perform some action later
        $handle_later[] = $key;
    }
    $key = dba_nextkey($id);
}

foreach ($handle_later as $val) {
    dba_delete($val, $id);
}

?>

Примеры
DBA Функции
Примеры


DBA Функции

Содержание

  • dba_close — Close a DBA database
  • dba_delete — Delete DBA entry specified by key
  • dba_exists — Check whether key exists
  • dba_fetch — Fetch data specified by key
  • dba_firstkey — Fetch first key
  • dba_handlers — List all the handlers available
  • dba_insert — Insert entry
  • dba_key_split — Splits a key in string representation into array representation
  • dba_list — List all open database files
  • dba_nextkey — Fetch next key
  • dba_open — Open database
  • dba_optimize — Optimize database
  • dba_popen — Open database persistently
  • dba_replace — Replace or insert entry
  • dba_sync — Synchronize database
Basic usage
dba_close
DBA


Close a DBA database

DBA Функции
dba_delete
DBA Функции
PHP Manual

dba_close

(PHP 4, PHP 5)

dba_close — Close a DBA database

Описание

void dba_close ( resource $handle )

dba_close() closes the established database and frees all resources of the specified database handle.

Список параметров

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • dba_open() - Open database
  • dba_popen() - Open database persistently

DBA Функции
dba_delete
DBA Функции


Delete DBA entry specified by key

dba_close
dba_exists
DBA Функции
PHP Manual

dba_delete

(PHP 4, PHP 5)

dba_delete — Delete DBA entry specified by key

Описание

bool dba_delete ( string $key , resource $handle )

dba_delete() deletes the specified entry from the database.

Список параметров

key

The key of the entry which is deleted.

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_exists() - Check whether key exists
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry

dba_close
dba_exists
DBA Функции


Check whether key exists

dba_delete
dba_fetch
DBA Функции
PHP Manual

dba_exists

(PHP 4, PHP 5)

dba_exists — Check whether key exists

Описание

bool dba_exists ( string $key , resource $handle )

dba_exists() checks whether the specified key exists in the database.

Список параметров

key

The key the check is performed for.

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Returns TRUE if the key exists, FALSE otherwise.

Смотрите также

  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry

dba_delete
dba_fetch
DBA Функции


Fetch data specified by key

dba_exists
dba_firstkey
DBA Функции
PHP Manual

dba_fetch

(PHP 4, PHP 5)

dba_fetch — Fetch data specified by key

Описание

string dba_fetch ( string $key , resource $handle )
string dba_fetch ( string $key , int $skip , resource $handle )

dba_fetch() fetches the data specified by key from the database specified with handle.

Список параметров

key

The key the data is specified by.

Замечание:

When working with inifiles this function accepts arrays as keys where index 0 is the group and index 1 is the value name. See: dba_key_split().

skip

The number of key-value pairs to ignore when using cdb databases. This value is ignored for all other databases which do not support multiple keys with the same name.

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Returns the associated string if the key/data pair is found, FALSE otherwise.

Список изменений

Версия | Описание
4.3.0 | The skip parameter is available to support cdb's capability of multiple keys having the same name.

Смотрите также

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry
  • dba_key_split() - Splits a key in string representation into array representation

dba_exists
dba_firstkey
DBA Функции


Fetch first key

dba_fetch
dba_handlers
DBA Функции
PHP Manual

dba_firstkey

(PHP 4, PHP 5)

dba_firstkey — Fetch first key

Описание

string dba_firstkey ( resource $handle )

dba_firstkey() returns the first key of the database and resets the internal key pointer. This permits a linear search through the whole database.

Список параметров

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Returns the key on success или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_nextkey() - Fetch next key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples

dba_fetch
dba_handlers
DBA Функции


List all the handlers available

dba_firstkey
dba_insert
DBA Функции
PHP Manual

dba_handlers

(PHP 4 >= 4.3.0, PHP 5)

dba_handlers — List all the handlers available

Описание

array dba_handlers ([ bool $full_info = false ] )

dba_handlers() list all the handlers supported by this extension.

Список параметров

full_info

Turns on/off full information display in the result.

Возвращаемые значения

Returns an array of database handlers. If full_info is set to TRUE, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.

Замечание:

When the internal cdb library is used you will see cdb and cdb_make.

Примеры

Пример #1 dba_handlers() Example

<?php

echo "Available DBA handlers:\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
  // clean the versions
  $handler_version = str_replace('$', '', $handler_version);
  echo " - $handler_name: $handler_version\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Available DBA handlers:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

dba_firstkey
dba_insert
DBA Функции


Insert entry

dba_handlers
dba_key_split
DBA Функции
PHP Manual

dba_insert

(PHP 4, PHP 5)

dba_insert — Insert entry

Описание

bool dba_insert ( string $key , string $value , resource $handle )

dba_insert() inserts the entry described with key and value into the database.

Список параметров

key

The key of the entry to be inserted. If this key already exist in the database, this function will fail. Use dba_replace() if you need to replace an existent key.

value

The value to be inserted.

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_replace() - Replace or insert entry

dba_handlers
dba_key_split
DBA Функции


Splits a key in string representation into array representation

dba_insert
dba_list
DBA Функции
PHP Manual

dba_key_split

(PHP 5)

dba_key_split — Splits a key in string representation into array representation

Описание

mixed dba_key_split ( mixed $key )

dba_key_split() splits a key (string representation) into an array representation.

Список параметров

key

The key in string representation.

Возвращаемые значения

Returns an array of the form array(0 => group, 1 => value_name). This function will return FALSE if key is NULL or FALSE.

Смотрите также

  • dba_firstkey() - Fetch first key
  • dba_nextkey() - Fetch next key
  • dba_fetch() - Fetch data specified by key

dba_insert
dba_list
DBA Функции


List all open database files

dba_key_split
dba_nextkey
DBA Функции
PHP Manual

dba_list

(PHP 4 >= 4.3.0, PHP 5)

dba_list — List all open database files

Описание

array dba_list ( void )

dba_list() list all open database files.

Возвращаемые значения

An associative array, in the form resourceid => filename.

dba_key_split
dba_nextkey
DBA Функции


Fetch next key

dba_list
dba_open
DBA Функции
PHP Manual

dba_nextkey

(PHP 4, PHP 5)

dba_nextkey — Fetch next key

Описание

string dba_nextkey ( resource $handle )

dba_nextkey() returns the next key of the database and advances the internal key pointer.

Список параметров

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Returns the key on success или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_firstkey() - Fetch first key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples

dba_list
dba_open
DBA Функции


Open database

dba_nextkey
dba_optimize
DBA Функции
PHP Manual

dba_open

(PHP 4, PHP 5)

dba_open — Open database

Описание

resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_open() establishes a database instance for path with mode using handler.

Список параметров

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access. The database is created in BTree mode, other modes (like Hash or Queue) are not supported.

Additionally you can set the database lock method with the next char. Use l to lock the database with a .lck file or d to lock the databasefile itself. It is important that all of your applications do this consistently.

If you want to test the access and do not want to wait for the lock you can add t as third character. When you are absolutely sure that you do not require database locking you can do so by using - instead of l or d. When none of d, l or - is used, dba will lock on the database file as it would with d.

Замечание:

There can only be one writer for one database file. When you use dba on a web server and more than one request requires write operations they can only be done one after another. Also read during write is not allowed. The dba extension uses locks to prevent this. See the following table:

DBA locking
already open | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
not open | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | wait | false | illegal | illegal | illegal | illegal
mode = "wl" | wait | false | wait | false | illegal | illegal | illegal | illegal
mode = "rd" | illegal | illegal | illegal | illegal | ok | ok | wait | false
mode = "wd" | illegal | illegal | illegal | illegal | wait | false | wait | false
  • ok: the second call will be successfull.
  • wait: the second call waits until dba_close() is called for the first.
  • false: the second call returns false.
  • illegal: you must not mix "l" and "d" modifiers for mode parameter.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_open() and can act on behalf of them.

Возвращаемые значения

Returns a positive handle on success или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | It's possible to open database files over network connection. However in cases a socket connection will be used (as with http or ftp) the connection will be locked instead of the resource itself. This is important to know since in such cases locking is simply ignored on the resource and other solutions have to be found.
4.3.0 | Locking and the mode modifiers "l", "d", "-" and "t" were added. In previous PHP versions, you must use semaphores to guard against simultaneous database access for any database handler with the exception of GDBM. See System V semaphore support.
before 4.3.5 | open mode 'c' is broken for several internal handlers and truncates the database instead of appending data to an existent database. Also dbm and ndbm fail on mode 'c' in typical configurations (this cannot be fixed).

Смотрите также

  • dba_popen() - Open database persistently
  • dba_close() - Close a DBA database

dba_nextkey
dba_optimize
DBA Функции


Optimize database

dba_open
dba_popen
DBA Функции
PHP Manual

dba_optimize

(PHP 4, PHP 5)

dba_optimize — Optimize database

Описание

bool dba_optimize ( resource $handle )

dba_optimize() optimizes the underlying database.

Список параметров

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_sync() - Synchronize database

dba_open
dba_popen
DBA Функции


Open database persistently

dba_optimize
dba_replace
DBA Функции
PHP Manual

dba_popen

(PHP 4, PHP 5)

dba_popen — Open database persistently

Описание

resource dba_popen ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_popen() establishes a persistent database instance for path with mode using handler.

Список параметров

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_popen() and can act on behalf of them.

Возвращаемые значения

Returns a positive handle on success или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_open() - Open database
  • dba_close() - Close a DBA database

dba_optimize
dba_replace
DBA Функции


Replace or insert entry

dba_popen
dba_sync
DBA Функции
PHP Manual

dba_replace

(PHP 4, PHP 5)

dba_replace — Replace or insert entry

Описание

bool dba_replace ( string $key , string $value , resource $handle )

dba_replace() replaces or inserts the entry described with key and value into the database specified by handle.

Список параметров

key

The key of the entry to be replaced.

value

The value to be replaced.

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry

dba_popen
dba_sync
DBA Функции


Synchronize database

dba_replace
dbx
DBA Функции
PHP Manual

dba_sync

(PHP 4, PHP 5)

dba_sync — Synchronize database

Описание

bool dba_sync ( resource $handle )

dba_sync() synchronizes the database. This will probably trigger a physical write to the disk, if supported.

Список параметров

handle

The database handler, returned by dba_open() or dba_popen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dba_optimize() - Optimize database

dba_replace
dbx
DBA Функции


dbx

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • dbx Функции
    • dbx_close — Close an open connection/database
    • dbx_compare — Compare two rows for sorting purposes
    • dbx_connect — Open a connection/database
    • dbx_error — Report the error message of the latest function call in the module
    • dbx_escape_string — Escape a string so it can safely be used in an sql-statement
    • dbx_fetch_row — Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
    • dbx_query — Send a query and fetch all results (if any)
    • dbx_sort — Sort a result from a dbx_query by a custom sort function
dba_sync
Введение
Уровни абстракции


Введение

The dbx module is a database abstraction layer (db 'X', where 'X' is a supported database). The dbx functions allow you to access all supported databases using a single calling convention. The dbx-functions themselves do not interface directly to the databases, but interface to the modules that are used to support these databases.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

dbx
Установка и настройка
dbx


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
dbx


Требования

To be able to use a database with the dbx-module, the module must be either linked or loaded into PHP, and the database module must be supported by the dbx-module. Currently, the following databases are supported, but others will follow:

  • FrontBase (available from PHP 4.1.0).
  • Microsoft SQL Server
  • MySQL
  • ODBC
  • PostgreSQL
  • Sybase-CT (available from PHP 4.2.0).
  • Oracle (oci8) (available from PHP 4.3.0).
  • SQLite (PHP 5).

Documentation for adding additional database support to dbx can be found at » http://www.guidance.nl/php/dbx/doc/.

Установка и настройка
Установка
Установка и настройка


Установка

In order to have these functions available, you must compile PHP with dbx support by using the --enable-dbx option and all options for the databases that will be used, e.g. for MySQL you must also specify --with-mysql=[DIR] . To get other supported databases to work with the dbx-module refer to their specific documentation.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

DBX Configuration Options
Name | Default | Changeable | Changelog
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Available since PHP 4.3.0. Removed in PHP 5.1.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

dbx.colnames_case string

Columns names can be returned "unchanged" or converted to "uppercase" or "lowercase". This directive can be overridden with a flag to dbx_query().

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

There are two resource types used in the dbx module. The first one is the link-object for a database connection, the second a result-object which holds the result of a query.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

DBX_MYSQL (integer)
DBX_ODBC (integer)
DBX_PGSQL (integer)
DBX_MSSQL (integer)
DBX_FBSQL (integer)
DBX_OCI8 (integer) (доступна с PHP 4.3.0)
DBX_SYBASECT (integer)
DBX_SQLITE (integer) (PHP 5)
DBX_PERSISTENT (integer)
DBX_RESULT_INFO (integer)
DBX_RESULT_INDEX (integer)
DBX_RESULT_ASSOC (integer)
DBX_RESULT_UNBUFFERED (integer) (PHP 5)
DBX_COLNAMES_UNCHANGED (integer) (доступна с PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (integer) (доступна с PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (integer) (доступна с PHP 4.3.0)
DBX_CMP_NATIVE (integer)
DBX_CMP_TEXT (integer)
DBX_CMP_NUMBER (integer)
DBX_CMP_ASC (integer)
DBX_CMP_DESC (integer)
Типы ресурсов
dbx Функции
dbx


dbx Функции

Содержание

  • dbx_close — Close an open connection/database
  • dbx_compare — Compare two rows for sorting purposes
  • dbx_connect — Open a connection/database
  • dbx_error — Report the error message of the latest function call in the module
  • dbx_escape_string — Escape a string so it can safely be used in an sql-statement
  • dbx_fetch_row — Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
  • dbx_query — Send a query and fetch all results (if any)
  • dbx_sort — Sort a result from a dbx_query by a custom sort function
Предопределенные константы
dbx_close
dbx


Close an open connection/database

dbx Функции
dbx_compare
dbx Функции
PHP Manual

dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_close — Close an open connection/database

Описание

int dbx_close ( object $link_identifier )

Список параметров

link_identifier

The DBX link object to close.

Возвращаемые значения

Returns 1 on success and 0 on errors.

Примеры

Пример #1 dbx_close() example

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

Примечания

Замечание:

Always refer to the module-specific documentation as well.

Смотрите также

  • dbx_connect() - Open a connection/database

dbx Функции
dbx_compare
dbx Функции


Compare two rows for sorting purposes

dbx_close
dbx_connect
dbx Функции
PHP Manual

dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_compare — Compare two rows for sorting purposes

Описание

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )

dbx_compare() is a helper function for dbx_sort() to ease the make and use of the custom sorting function.

Список параметров

row_a

First row

row_b

Second row

column_key

The compared column

flags

The flags can be set to specify comparison direction:

  • DBX_CMP_ASC - ascending order
  • DBX_CMP_DESC - descending order
and the preferred comparison type:
  • DBX_CMP_NATIVE - no type conversion
  • DBX_CMP_TEXT - compare items as strings
  • DBX_CMP_NUMBER - compare items numerically
One of the direction and one of the type constant can be combined with bitwise OR operator (|).

Возвращаемые значения

Returns 0 if the row_a[$column_key] is equal to row_b[$column_key], and 1 or -1 if the former is greater or is smaller than the latter one, respectively, or vice versa if the flag is set to DBX_CMP_DESC.

Примеры

Пример #1 dbx_compare() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // date in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

Смотрите также

  • dbx_sort() - Sort a result from a dbx_query by a custom sort function

dbx_close
dbx_connect
dbx Функции


Open a connection/database

dbx_compare
dbx_error
dbx Функции
PHP Manual

dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_connect — Open a connection/database

Описание

object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )

Opens a connection to a database.

Список параметров

module

The module parameter can be either a string or a constant, though the latter form is preferred. The possible values are given below, but keep in mind that they only work if the module is actually loaded.

  • DBX_MYSQL or "mysql"
  • DBX_ODBC or "odbc"
  • DBX_PGSQL or "pgsql"
  • DBX_MSSQL or "mssql"
  • DBX_FBSQL or "fbsql"
  • DBX_SYBASECT or "sybase_ct"
  • DBX_OCI8 or "oci8"
  • DBX_SQLITE or "sqlite"

host

The SQL server host

database

The database name

username

The username

password

The password

persistent

The persistent parameter can be set to DBX_PERSISTENT, if so, a persistent connection will be created.

The host, database, username and password parameters are expected, but not always used depending on the connect functions for the abstracted module.

Возвращаемые значения

Returns an object on success, FALSE on error. If a connection has been made but the database could not be selected, the connection is closed and FALSE is returned.

The returned object has three properties:

database
It is the name of the currently selected database.
handle

It is a valid handle for the connected database, and as such it can be used in module-specific functions (if required).

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) would be better here
?>

module
It is used internally by dbx only, and is actually the module number mentioned above.

Список изменений

Версия | Описание
5.0.0 | Introduced DBX_SQLITE.
4.3.0 | Introduced DBX_OCI8.
4.2.0 | Introduced DBX_SYBASECT.
4.1.0 | Introduced DBX_FBSQL.

Примеры

Пример #1 dbx_connect() example

<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

Примечания

Замечание:

Always refer to the module-specific documentation as well.

Смотрите также

  • dbx_close() - Close an open connection/database

dbx_compare
dbx_error
dbx Функции


Report the error message of the latest function call in the module

dbx_connect
dbx_escape_string
dbx Функции
PHP Manual

dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_error — Report the error message of the latest function call in the module

Описание

string dbx_error ( object $link_identifier )

dbx_error() returns the last error message.

Список параметров

link_identifier

The DBX link object returned by dbx_connect()

Возвращаемые значения

Returns a string containing the error message from the last function call of the abstracted module (e.g. mysql module). If there are multiple connections in the same module, just the last error is given. If there are connections on different modules, the latest error is returned for the module specified by the link_identifier parameter.

Примеры

Пример #1 dbx_error() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "select id from non_existing_table");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Примечания

Замечание:

Always refer to the module-specific documentation as well.

The error message for Microsoft SQL Server is actually the result of the mssql_get_last_message() function.

The error message for Oracle (oci8) is not implemented yet.

dbx_connect
dbx_escape_string
dbx Функции


Escape a string so it can safely be used in an sql-statement

dbx_error
dbx_fetch_row
dbx Функции
PHP Manual

dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_escape_string — Escape a string so it can safely be used in an sql-statement

Описание

string dbx_escape_string ( object $link_identifier , string $text )

Escape the given string so that it can safely be used in an sql-statement.

Список параметров

link_identifier

The DBX link object returned by dbx_connect()

text

The string to escape.

Возвращаемые значения

Returns the text, escaped where necessary (such as quotes, backslashes etc). On error, NULL is returned.

Примеры

Пример #1 dbx_escape_string() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$text = dbx_escape_string($link, "It\'s quoted and backslashed (\\).");
$result = dbx_query($link, "insert into tbl (txt) values ('" . $text . "')");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Смотрите также

  • dbx_query() - Send a query and fetch all results (if any)

dbx_error
dbx_fetch_row
dbx Функции


Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set

dbx_escape_string
dbx_query
dbx Функции
PHP Manual

dbx_fetch_row

(PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_fetch_row — Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set

Описание

mixed dbx_fetch_row ( object $result_identifier )

dbx_fetch_row() fetches rows from a result identifier that had the DBX_RESULT_UNBUFFERED flag set.

When the DBX_RESULT_UNBUFFERED is not set in the query, dbx_fetch_row() will fail as all rows have already been fetched into the results data property.

As a side effect, the rows property of the query-result object is incremented for each successful call to dbx_fetch_row().

Список параметров

result_identifier

A result set returned by dbx_query().

Возвращаемые значения

Returns an object on success that contains the same information as any row would have in the dbx_query() result data property, including columns accessible by index or fieldname when the flags for dbx_query() were set that way.

Upon failure, returns 0 (e.g. when no more rows are available).

Примеры

Пример #1 How to handle the returned value

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Смотрите также

  • dbx_query() - Send a query and fetch all results (if any)

dbx_escape_string
dbx_query
dbx Функции


Send a query and fetch all results (if any)

dbx_fetch_row
dbx_sort
dbx Функции
PHP Manual

dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_query — Send a query and fetch all results (if any)

Описание

mixed dbx_query ( object $link_identifier , string $sql_statement [, int $flags ] )

Sends a query and fetch all results.

Список параметров

link_identifier

The DBX link object returned by dbx_connect()

sql_statement

SQL statement.

Data inside the query should be properly escaped.

flags

The flags parameter is used to control the amount of information that is returned. It may be any combination of the following constants with the bitwise OR operator (|). The DBX_COLNAMES_* flags override the dbx.colnames_case setting from php.ini.

DBX_RESULT_INDEX
It is always set, that is, the returned object has a data property which is a 2 dimensional array indexed numerically. For example, in the expression data[2][3] 2 stands for the row (or record) number and 3 stands for the column (or field) number. The first row and column are indexed at 0. If DBX_RESULT_ASSOC is also specified, the returning object contains the information related to DBX_RESULT_INFO too, even if it was not specified.
DBX_RESULT_INFO
It provides info about columns, such as field names and field types.
DBX_RESULT_ASSOC
It effects that the field values can be accessed with the respective column names used as keys to the returned object's data property. Associated results are actually references to the numerically indexed data, so modifying data[0][0] causes that data[0]['field_name_for_first_column'] is modified as well.
DBX_RESULT_UNBUFFERED
This flag will not create the data property, and the rows property will initially be 0. Use this flag for large datasets, and use dbx_fetch_row() to retrieve the results row by row. The dbx_fetch_row() function will return rows that are conformant to the flags set with this query. Incidentally, it will also update the rows each time it is called.
DBX_COLNAMES_UNCHANGED
The case of the returned column names will not be changed.
DBX_COLNAMES_UPPERCASE
The case of the returned column names will be changed to uppercase.
DBX_COLNAMES_LOWERCASE
The case of the returned column names will be changed to lowercase.
Note that DBX_RESULT_INDEX is always used, regardless of the actual value of flags parameter. This means that only the following combinations are effective:
  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - this is the default, if flags is not specified.

Возвращаемые значения

dbx_query() returns an object or 1 on success, and 0 on failure. The result object is returned only if the query given in sql_statement produces a result set (i.e. a SELECT query, even if the result set is empty).

The returned object has four or five properties depending on flags:

handle

It is a valid handle for the connected database, and as such it can be used in module specific functions (if required).

<?php
$result = dbx_query($link, "SELECT id FROM table");
mysql_field_len($result->handle, 0);
?>

cols and rows

These contain the number of columns (or fields) and rows (or records) respectively.

<?php
$result = dbx_query($link, 'SELECT id FROM table');
echo $result->rows; // number of records
echo $result->cols; // number of fields
?>

info (optional)
It is returned only if either DBX_RESULT_INFO or DBX_RESULT_ASSOC is specified in the flags parameter. It is a 2 dimensional array, that has two named rows (name and type) to retrieve column information.

Пример #1 lists each field's name and type

<?php
$result = dbx_query($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";
}
?>
data
This property contains the actual resulting data, possibly associated with column names as well depending on flags. If DBX_RESULT_ASSOC is set, it is possible to use $result->data[2]["field_name"].

Пример #2 outputs the content of data property into HTML table

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ($result->data as $row) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Пример #3 How to handle UNBUFFERED queries

<?php

$result = dbx_query ($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Список изменений

Версия | Описание
5.0.0 | Introduced DBX_RESULT_UNBUFFERED.
4.3.0 | Introduced DBX_COLNAMES_UNCHANGED, DBX_COLNAMES_UPPERCASE, and DBX_COLNAMES_LOWERCASE.

Примеры

Пример #4 How to handle the returned value

<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if (is_object($result) ) {
    // ... do some stuff here, see detailed examples below ...
    // first, print out field names and types
    // then, draw a table filled with the returned field values
} else {
    exit("Query failed");
}

dbx_close($link);
?>

Примечания

Замечание:

Always refer to the module-specific documentation as well.

Column names for queries on an Oracle database are returned in lowercase.

Смотрите также

  • dbx_escape_string() - Escape a string so it can safely be used in an sql-statement
  • dbx_fetch_row() - Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
  • dbx_connect() - Open a connection/database

dbx_fetch_row
dbx_sort
dbx Функции


Sort a result from a dbx_query by a custom sort function

dbx_query
ODBC
dbx Функции
PHP Manual

dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_sort — Sort a result from a dbx_query by a custom sort function

Описание

bool dbx_sort ( object $result , string $user_compare_function )

Sort a result from a dbx_query() call with a custom sort function.

Список параметров

result

A result set returned by dbx_query().

user_compare_function

The user-defined comparison function. It must accept two arguments and return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 dbx_sort() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // data in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

Примечания

Замечание:

It is always better to use ORDER BY SQL clause instead of dbx_sort() if possible.

Смотрите также

  • dbx_compare() - Compare two rows for sorting purposes

dbx_query
ODBC
dbx Функции


ODBC (Unified)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • ODBC Функции
    • odbc_autocommit — Toggle autocommit behaviour
    • odbc_binmode — Handling of binary column data
    • odbc_close_all — Close all ODBC connections
    • odbc_close — Close an ODBC connection
    • odbc_columnprivileges — Lists columns and associated privileges for the given table
    • odbc_columns — Lists the column names in specified tables
    • odbc_commit — Commit an ODBC transaction
    • odbc_connect — Connect to a datasource
    • odbc_cursor — Get cursorname
    • odbc_data_source — Returns information about a current connection
    • odbc_do — Псевдоним odbc_exec
    • odbc_error — Get the last error code
    • odbc_errormsg — Get the last error message
    • odbc_exec — Prepare and execute an SQL statement
    • odbc_execute — Execute a prepared statement
    • odbc_fetch_array — Fetch a result row as an associative array
    • odbc_fetch_into — Fetch one result row into array
    • odbc_fetch_object — Fetch a result row as an object
    • odbc_fetch_row — Fetch a row
    • odbc_field_len — Get the length (precision) of a field
    • odbc_field_name — Get the columnname
    • odbc_field_num — Return column number
    • odbc_field_precision — Псевдоним odbc_field_len
    • odbc_field_scale — Get the scale of a field
    • odbc_field_type — Datatype of a field
    • odbc_foreignkeys — Retrieves a list of foreign keys
    • odbc_free_result — Free resources associated with a result
    • odbc_gettypeinfo — Retrieves information about data types supported by the data source
    • odbc_longreadlen — Handling of LONG columns
    • odbc_next_result — Checks if multiple results are available
    • odbc_num_fields — Number of columns in a result
    • odbc_num_rows — Number of rows in a result
    • odbc_pconnect — Open a persistent database connection
    • odbc_prepare — Prepares a statement for execution
    • odbc_primarykeys — Gets the primary keys for a table
    • odbc_procedurecolumns — Retrieve information about parameters to procedures
    • odbc_procedures — Get the list of procedures stored in a specific data source
    • odbc_result_all — Print result as HTML table
    • odbc_result — Get result data
    • odbc_rollback — Rollback a transaction
    • odbc_setoption — Adjust ODBC settings
    • odbc_specialcolumns — Retrieves special columns
    • odbc_statistics — Retrieve statistics about a table
    • odbc_tableprivileges — Lists tables and the privileges associated with each table
    • odbc_tables — Get the list of table names stored in a specific data source
dbx_sort
Введение
Уровни абстракции


Введение

In addition to normal ODBC support, the Unified ODBC functions in PHP allow you to access several databases that have borrowed the semantics of the ODBC API to implement their own API. Instead of maintaining multiple database drivers that were all nearly identical, these drivers have been unified into a single set of ODBC functions.

The following databases are supported by the Unified ODBC functions: » Adabas D, » IBM DB2, » iODBC, » Solid, and » Sybase SQL Anywhere.

Замечание:

With the exception of iODBC, there is no ODBC involved when connecting to the above databases. The functions that you use to speak natively to them just happen to share the same names and syntax as the ODBC functions. However, building PHP with iODBC support enables you to use any ODBC-compliant drivers with your PHP applications. More information on iODBC, is available at » www.iodbc.org with the alternative unixODBC available at » www.unixodbc.org.

ODBC
Установка и настройка
ODBC


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ODBC


Требования

To access any of the supported databases you need to have the required libraries installed.

Установка и настройка
Установка
Установка и настройка


Установка

--with-adabas[=DIR]

Include Adabas D support. DIR is the Adabas base install directory, defaults to /usr/local.

--with-sapdb[=DIR]

Include SAP DB support. DIR is SAP DB base install directory, defaults to /usr/local.

--with-solid[=DIR]

Include Solid support. DIR is the Solid base install directory, defaults to /usr/local/solid.

--with-ibm-db2[=DIR]

Include IBM DB2 support. DIR is the DB2 base install directory, defaults to /home/db2inst1/sqllib.

--with-empress[=DIR]

Include Empress support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.

--with-empress-bcs[=DIR]

Include "Empress Local Access" support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.

--with-birdstep[=DIR]

Include Birdstep support. DIR is the Birdstep base install directory, defaults to /usr/local/birdstep.

--with-custom-odbc[=DIR]

Include a user defined ODBC support. The DIR is ODBC install base directory, which defaults to /usr/local. Make sure to define CUSTOM_ODBC_LIBS and have some odbc.h in your include dirs. E.g., you should define following for Sybase SQL Anywhere 5.5.00 on QNX, prior to run configure script:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Include iODBC support. DIR is the iODBC base install directory, defaults to /usr/local.

--with-esoob[=DIR]

Include Easysoft OOB support. DIR is the OOB base install directory, defaults to /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

Include unixODBC support. DIR is the unixODBC base install directory, defaults to /usr/local.

--with-openlink[=DIR]

Include OpenLink ODBC support. DIR is the OpenLink base install directory, defaults to /usr/local. This is the same as iODBC.

--with-dbmaker[=DIR]

Include DBMaker support. DIR is the DBMaker base install directory, defaults to where the latest version of DBMaker is installed (such as /home/dbmaker/3.6).

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Unified ODBC Configuration Options
Name | Default | Changeable | Changelog
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Available as of PHP 5.3.0

Замечание: Entries marked with * are not implemented yet.

Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

odbc.default_db string

ODBC data source to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_user string

User name to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_pw string

Password to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.allow_persistent boolean

Whether to allow persistent ODBC connections.

odbc.check_persistent boolean

Check that a connection is still valid before reuse.

odbc.max_persistent integer

The maximum number of persistent ODBC connections per process.

odbc.max_links integer

The maximum number of ODBC connections per process, including persistent connections.

odbc.defaultlrl integer

Handling of LONG fields. Specifies the number of bytes returned to variables.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
odbc.defaultbinmode integer

Handling of binary data.

odbc.default_cursortype integer

Controls the ODBC cursor model. Possible values are SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC and SQL_CURSOR_STATIC (default).

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines two resource types: an ODBC connection identifier and an ODBC result identifier.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)
Типы ресурсов
ODBC Функции
ODBC


ODBC Функции

Содержание

  • odbc_autocommit — Toggle autocommit behaviour
  • odbc_binmode — Handling of binary column data
  • odbc_close_all — Close all ODBC connections
  • odbc_close — Close an ODBC connection
  • odbc_columnprivileges — Lists columns and associated privileges for the given table
  • odbc_columns — Lists the column names in specified tables
  • odbc_commit — Commit an ODBC transaction
  • odbc_connect — Connect to a datasource
  • odbc_cursor — Get cursorname
  • odbc_data_source — Returns information about a current connection
  • odbc_do — Псевдоним odbc_exec
  • odbc_error — Get the last error code
  • odbc_errormsg — Get the last error message
  • odbc_exec — Prepare and execute an SQL statement
  • odbc_execute — Execute a prepared statement
  • odbc_fetch_array — Fetch a result row as an associative array
  • odbc_fetch_into — Fetch one result row into array
  • odbc_fetch_object — Fetch a result row as an object
  • odbc_fetch_row — Fetch a row
  • odbc_field_len — Get the length (precision) of a field
  • odbc_field_name — Get the columnname
  • odbc_field_num — Return column number
  • odbc_field_precision — Псевдоним odbc_field_len
  • odbc_field_scale — Get the scale of a field
  • odbc_field_type — Datatype of a field
  • odbc_foreignkeys — Retrieves a list of foreign keys
  • odbc_free_result — Free resources associated with a result
  • odbc_gettypeinfo — Retrieves information about data types supported by the data source
  • odbc_longreadlen — Handling of LONG columns
  • odbc_next_result — Checks if multiple results are available
  • odbc_num_fields — Number of columns in a result
  • odbc_num_rows — Number of rows in a result
  • odbc_pconnect — Open a persistent database connection
  • odbc_prepare — Prepares a statement for execution
  • odbc_primarykeys — Gets the primary keys for a table
  • odbc_procedurecolumns — Retrieve information about parameters to procedures
  • odbc_procedures — Get the list of procedures stored in a specific data source
  • odbc_result_all — Print result as HTML table
  • odbc_result — Get result data
  • odbc_rollback — Rollback a transaction
  • odbc_setoption — Adjust ODBC settings
  • odbc_specialcolumns — Retrieves special columns
  • odbc_statistics — Retrieve statistics about a table
  • odbc_tableprivileges — Lists tables and the privileges associated with each table
  • odbc_tables — Get the list of table names stored in a specific data source
Предопределенные константы
odbc_autocommit
ODBC


Toggle autocommit behaviour

ODBC Функции
odbc_binmode
ODBC Функции
PHP Manual

odbc_autocommit

(PHP 4, PHP 5)

odbc_autocommit — Toggle autocommit behaviour

Описание

mixed odbc_autocommit ( resource $connection_id [, bool $OnOff = false ] )

Toggles autocommit behaviour.

By default, auto-commit is on for a connection. Disabling auto-commit is equivalent with starting a transaction.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

OnOff

If OnOff is TRUE, auto-commit is enabled, if it is FALSE auto-commit is disabled.

Возвращаемые значения

Without the OnOff parameter, this function returns auto-commit status for connection_id. Non-zero is returned if auto-commit is on, 0 if it is off, or FALSE if an error occurs.

If OnOff is set, this function returns TRUE on success and FALSE on failure.

Смотрите также

  • odbc_commit() - Commit an ODBC transaction
  • odbc_rollback() - Rollback a transaction

ODBC Функции
odbc_binmode
ODBC Функции


Handling of binary column data

odbc_autocommit
odbc_close_all
ODBC Функции
PHP Manual

odbc_binmode

(PHP 4, PHP 5)

odbc_binmode — Handling of binary column data

Описание

bool odbc_binmode ( resource $result_id , int $mode )

Enables handling of binary column data. ODBC SQL types affected are BINARY, VARBINARY, and LONGVARBINARY.

When binary SQL data is converted to character C data, each byte (8 bits) of source data is represented as two ASCII characters. These characters are the ASCII character representation of the number in its hexadecimal form. For example, a binary 00000001 is converted to "01" and a binary 11111111 is converted to "FF".

LONGVARBINARY handling
binmode | longreadlen | result
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | >0 | passthru
ODBC_BINMODE_RETURN | >0 | return as is
ODBC_BINMODE_CONVERT | >0 | return as char

If odbc_fetch_into() is used, passthru means that an empty string is returned for these columns.

Список параметров

result_id

The result identifier.

If result_id is 0, the settings apply as default for new results.

Замечание: Default for longreadlen is 4096 and mode defaults to ODBC_BINMODE_RETURN. Handling of binary long columns is also affected by odbc_longreadlen().

mode

Possible values for mode are:

  • ODBC_BINMODE_PASSTHRU: Passthru BINARY data
  • ODBC_BINMODE_RETURN: Return as is
  • ODBC_BINMODE_CONVERT: Convert to char and return

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

odbc_autocommit
odbc_close_all
ODBC Функции


Close all ODBC connections

odbc_binmode
odbc_close
ODBC Функции
PHP Manual

odbc_close_all

(PHP 4, PHP 5)

odbc_close_all — Close all ODBC connections

Описание

void odbc_close_all ( void )

odbc_close_all() will close down all connections to database server(s).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

This function will fail if there are open transactions on a connection. This connection will remain open in this case.

odbc_binmode
odbc_close
ODBC Функции


Close an ODBC connection

odbc_close_all
odbc_columnprivileges
ODBC Функции
PHP Manual

odbc_close

(PHP 4, PHP 5)

odbc_close — Close an ODBC connection

Описание

void odbc_close ( resource $connection_id )

Closes down the connection to the database server.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

This function will fail if there are open transactions on this connection. The connection will remain open in this case.

odbc_close_all
odbc_columnprivileges
ODBC Функции


Lists columns and associated privileges for the given table

odbc_close
odbc_columns
ODBC Функции
PHP Manual

odbc_columnprivileges

(PHP 4, PHP 5)

odbc_columnprivileges — Lists columns and associated privileges for the given table

Описание

resource odbc_columnprivileges ( resource $connection_id , string $qualifier , string $owner , string $table_name , string $column_name )

Lists columns and associated privileges for the given table.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner.

table_name

The table name.

column_name

The column_name argument accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

The owner, table_name, and column_name accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Возвращаемые значения

Returns an ODBC result identifier или FALSE в случае возникновения ошибки. This result identifier can be used to fetch a list of columns and associated privileges.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

odbc_close
odbc_columns
ODBC Функции


Lists the column names in specified tables

odbc_columnprivileges
odbc_commit
ODBC Функции
PHP Manual

odbc_columns

(PHP 4, PHP 5)

odbc_columns — Lists the column names in specified tables

Описание

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name ]]]] )

Lists all columns in the requested range.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

schema

The owner.

table_name

The table name.

column_name

The column name.

The schema, table_name, and column_name accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Возвращаемые значения

Returns an ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by TABLE_QUALIFIER, TABLE_SCHEM and TABLE_NAME.

Смотрите также

  • odbc_columnprivileges() - Lists columns and associated privileges for the given table to retrieve associated privileges

odbc_columnprivileges
odbc_commit
ODBC Функции


Commit an ODBC transaction

odbc_columns
odbc_connect
ODBC Функции
PHP Manual

odbc_commit

(PHP 4, PHP 5)

odbc_commit — Commit an ODBC transaction

Описание

bool odbc_commit ( resource $connection_id )

Commits all pending transactions on the connection.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

odbc_columns
odbc_connect
ODBC Функции


Connect to a datasource

odbc_commit
odbc_cursor
ODBC Функции
PHP Manual

odbc_connect

(PHP 4, PHP 5)

odbc_connect — Connect to a datasource

Описание

resource odbc_connect ( string $dsn , string $user , string $password [, int $cursor_type ] )

The connection id returned by this functions is needed by other ODBC functions. You can have multiple connections open at once as long as they either use different db or different credentials.

With some ODBC drivers, executing a complex stored procedure may fail with an error similar to: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some drivers don't support the optional row_number parameter in odbc_fetch_row(). SQL_CUR_USE_ODBC might help in that case, too.

Список параметров

dsn

The database source name for the connection. Alternatively, a DSN-less connection string can be used.

user

The username.

password

The password.

cursor_type

This sets the type of cursor to be used for this connection. This parameter is not normally needed, but can be useful for working around problems with some ODBC drivers.

The following constants are defined for cursortype:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

Возвращаемые значения

Returns an ODBC connection id or 0 (FALSE) on error.

Примеры

Пример #1 DSN-less connections

<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>

Смотрите также

  • For persistent connections: odbc_pconnect() - Open a persistent database connection

odbc_commit
odbc_cursor
ODBC Функции


Get cursorname

odbc_connect
odbc_data_source
ODBC Функции
PHP Manual

odbc_cursor

(PHP 4, PHP 5)

odbc_cursor — Get cursorname

Описание

string odbc_cursor ( resource $result_id )

Gets the cursorname for the given result_id.

Список параметров

result_id

The result identifier.

Возвращаемые значения

Returns the cursor name, as a string.

odbc_connect
odbc_data_source
ODBC Функции


Returns information about a current connection

odbc_cursor
odbc_do
ODBC Функции
PHP Manual

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_source — Returns information about a current connection

Описание

array odbc_data_source ( resource $connection_id , int $fetch_type )

This function will return the list of available DSN (after calling it several times).

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

fetch_type

The fetch_type can be one of two constant types: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST the first time this function is called, thereafter use the SQL_FETCH_NEXT.

Возвращаемые значения

Returns FALSE on error, and an array upon success.

odbc_cursor
odbc_do
ODBC Функции


Псевдоним odbc_exec

odbc_data_source
odbc_error
ODBC Функции
PHP Manual

odbc_do

(PHP 4, PHP 5)

odbc_do — Псевдоним odbc_exec()

Описание

Эта функция является псевдонимом: odbc_exec().

odbc_data_source
odbc_error
ODBC Функции


Get the last error code

odbc_do
odbc_errormsg
ODBC Функции
PHP Manual

odbc_error

(PHP 4 >= 4.0.5, PHP 5)

odbc_error — Get the last error code

Описание

string odbc_error ([ resource $connection_id ] )

Returns a six-digit ODBC state, or an empty string if there has been no errors.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

Возвращаемые значения

If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

Смотрите также

  • odbc_errormsg() - Get the last error message
  • odbc_exec() - Prepare and execute an SQL statement

odbc_do
odbc_errormsg
ODBC Функции


Get the last error message

odbc_error
odbc_exec
ODBC Функции
PHP Manual

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5)

odbc_errormsg — Get the last error message

Описание

string odbc_errormsg ([ resource $connection_id ] )

Returns a string containing the last ODBC error message, or an empty string if there has been no errors.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

Возвращаемые значения

If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

Смотрите также

  • odbc_error() - Get the last error code
  • odbc_exec() - Prepare and execute an SQL statement

odbc_error
odbc_exec
ODBC Функции


Prepare and execute an SQL statement

odbc_errormsg
odbc_execute
ODBC Функции
PHP Manual

odbc_exec

(PHP 4, PHP 5)

odbc_exec — Prepare and execute an SQL statement

Описание

resource odbc_exec ( resource $connection_id , string $query_string [, int $flags ] )

Sends an SQL statement to the database server.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

query_string

The SQL statement.

flags

This parameter is currently not used.

Возвращаемые значения

Returns an ODBC result identifier if the SQL command was executed successfully, or FALSE on error.

Смотрите также

  • odbc_prepare() - Prepares a statement for execution
  • odbc_execute() - Execute a prepared statement

odbc_errormsg
odbc_execute
ODBC Функции


Execute a prepared statement

odbc_exec
odbc_fetch_array
ODBC Функции
PHP Manual

odbc_execute

(PHP 4, PHP 5)

odbc_execute — Execute a prepared statement

Описание

bool odbc_execute ( resource $result_id [, array $parameters_array ] )

Executes a statement prepared with odbc_prepare().

Список параметров

result_id

The result id resource, from odbc_prepare().

parameters_array

Parameters in parameter_array will be substituted for placeholders in the prepared statement in order. Elements of this array will be converted to strings by calling this function.

Any parameters in parameter_array which start and end with single quotes will be taken as the name of a file to read and send to the database server as the data for the appropriate placeholder.

If you wish to store a string which actually begins and ends with single quotes, you must add a space or other non-single-quote character to the beginning or end of the parameter, which will prevent the parameter from being taken as a file name. If this is not an option, then you must use another mechanism to store the string, such as executing the query directly with odbc_exec()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 odbc_execute() and odbc_prepare() example

In the following code, $success will only be TRUE if all three parameters to myproc are IN parameters:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

If you need to call a stored procedure using INOUT or OUT parameters, the recommended workaround is to use a native extension for your database (for example, mssql for MS SQL Server, or oci8 for Oracle).

Список изменений

Версия | Описание
4.2.0 | File reading is now subject to безопасный режим and open-basedir restrictions in parameters_array.
4.1.1 | Remote files are no longer supported in parameters_array.

Смотрите также

  • odbc_prepare() - Prepares a statement for execution

odbc_exec
odbc_fetch_array
ODBC Функции


Fetch a result row as an associative array

odbc_execute
odbc_fetch_into
ODBC Функции
PHP Manual

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_array — Fetch a result row as an associative array

Описание

array odbc_fetch_array ( resource $result [, int $rownumber ] )

Fetch an associative array from an ODBC query. See the changelog below for when this function is available.

Список параметров

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Список изменений

Версия | Описание
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

Смотрите также

  • odbc_fetch_row() - Fetch a row
  • odbc_fetch_object() - Fetch a result row as an object
  • odbc_num_rows() - Number of rows in a result

odbc_execute
odbc_fetch_into
ODBC Функции


Fetch one result row into array

odbc_fetch_array
odbc_fetch_object
ODBC Функции
PHP Manual

odbc_fetch_into

(PHP 4, PHP 5)

odbc_fetch_into — Fetch one result row into array

Описание

int odbc_fetch_into ( resource $result_id , array &$result_array [, int $rownumber ] )

Fetch one result row into array.

Список параметров

result_id

The result resource.

result_array

The result array that can be of any type since it will be converted to type array. The array will contain the column values starting at array index 0.

rownumber

The row number.

Возвращаемые значения

Returns the number of columns in the result; FALSE on error.

Список изменений

Версия | Описание
4.2.0 | The result_array and rownumber parameters have been swapped. This allows the rownumber to be a constant again.
4.0.6 | The rownumber can no longer be passed in as a constant, but rather as a variable. This again changed in 4.2.0.
4.0.5 | The result_array parameter no longer needs to be passed in by reference.

Примеры

Пример #1 odbc_fetch_into() examples

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

or

<?php
$rc = odbc_fetch_into($res_id, $my_array, 2);
?>

odbc_fetch_array
odbc_fetch_object
ODBC Функции


Fetch a result row as an object

odbc_fetch_into
odbc_fetch_row
ODBC Функции
PHP Manual

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object — Fetch a result row as an object

Описание

object odbc_fetch_object ( resource $result [, int $rownumber ] )

Fetch an object from an ODBC query. See the changelog below for when this function is available.

Список параметров

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Возвращаемые значения

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

Список изменений

Версия | Описание
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

Смотрите также

  • odbc_fetch_row() - Fetch a row
  • odbc_fetch_array() - Fetch a result row as an associative array
  • odbc_num_rows() - Number of rows in a result

odbc_fetch_into
odbc_fetch_row
ODBC Функции


Fetch a row

odbc_fetch_object
odbc_field_len
ODBC Функции
PHP Manual

odbc_fetch_row

(PHP 4, PHP 5)

odbc_fetch_row — Fetch a row

Описание

bool odbc_fetch_row ( resource $result_id [, int $row_number ] )

Fetches a row of the data that was returned by odbc_do() or odbc_exec(). After odbc_fetch_row() is called, the fields of that row can be accessed with odbc_result().

Список параметров

result_id

The result identifier.

row_number

If row_number is not specified, odbc_fetch_row() will try to fetch the next row in the result set. Calls to odbc_fetch_row() with and without row_number can be mixed.

To step through the result more than once, you can call odbc_fetch_row() with row_number 1, and then continue doing odbc_fetch_row() without row_number to review the result. If a driver doesn't support fetching rows by number, the row_number parameter is ignored.

Возвращаемые значения

Returns TRUE if there was a row, FALSE otherwise.

odbc_fetch_object
odbc_field_len
ODBC Функции


Get the length (precision) of a field

odbc_fetch_row
odbc_field_name
ODBC Функции
PHP Manual

odbc_field_len

(PHP 4, PHP 5)

odbc_field_len — Get the length (precision) of a field

Описание

int odbc_field_len ( resource $result_id , int $field_number )

Gets the length of the field referenced by number in the given result identifier.

Список параметров

result_id

The result identifier.

field_number

The field number. Field numbering starts at 1.

Возвращаемые значения

Returns the field name as a string, or FALSE on error.

Смотрите также

  • odbc_field_scale() - Get the scale of a field to get the scale of a floating point number

odbc_fetch_row
odbc_field_name
ODBC Функции


Get the columnname

odbc_field_len
odbc_field_num
ODBC Функции
PHP Manual

odbc_field_name

(PHP 4, PHP 5)

odbc_field_name — Get the columnname

Описание

string odbc_field_name ( resource $result_id , int $field_number )

Gets the name of the field occupying the given column number in the given result identifier.

Список параметров

result_id

The result identifier.

field_number

The field number. Field numbering starts at 1.

Возвращаемые значения

Returns the field name as a string, or FALSE on error.

odbc_field_len
odbc_field_num
ODBC Функции


Return column number

odbc_field_name
odbc_field_precision
ODBC Функции
PHP Manual

odbc_field_num

(PHP 4, PHP 5)

odbc_field_num — Return column number

Описание

int odbc_field_num ( resource $result_id , string $field_name )

Gets the number of the column slot that corresponds to the named field in the given result identifier.

Список параметров

result_id

The result identifier.

field_name

The field name.

Возвращаемые значения

Returns the field number as a integer, or FALSE on error. Field numbering starts at 1.

odbc_field_name
odbc_field_precision
ODBC Функции


Псевдоним odbc_field_len

odbc_field_num
odbc_field_scale
ODBC Функции
PHP Manual

odbc_field_precision

(PHP 4, PHP 5)

odbc_field_precision — Псевдоним odbc_field_len()

Описание

Эта функция является псевдонимом: odbc_field_len().

Смотрите также

  • odbc_field_scale() - Get the scale of a field to get the scale of a floating point number.

odbc_field_num
odbc_field_scale
ODBC Функции


Get the scale of a field

odbc_field_precision
odbc_field_type
ODBC Функции
PHP Manual

odbc_field_scale

(PHP 4, PHP 5)

odbc_field_scale — Get the scale of a field

Описание

int odbc_field_scale ( resource $result_id , int $field_number )

Gets the scale of the field referenced by number in the given result identifier.

Список параметров

result_id

The result identifier.

field_number

The field number. Field numbering starts at 1.

Возвращаемые значения

Returns the field scale as a integer, or FALSE on error.

odbc_field_precision
odbc_field_type
ODBC Функции


Datatype of a field

odbc_field_scale
odbc_foreignkeys
ODBC Функции
PHP Manual

odbc_field_type

(PHP 4, PHP 5)

odbc_field_type — Datatype of a field

Описание

string odbc_field_type ( resource $result_id , int $field_number )

Gets the SQL type of the field referenced by number in the given result identifier.

Список параметров

result_id

The result identifier.

field_number

The field number. Field numbering starts at 1.

Возвращаемые значения

Returns the field type as a string, or FALSE on error.

odbc_field_scale
odbc_foreignkeys
ODBC Функции


Retrieves a list of foreign keys

odbc_field_type
odbc_free_result
ODBC Функции
PHP Manual

odbc_foreignkeys

(PHP 4, PHP 5)

odbc_foreignkeys — Retrieves a list of foreign keys

Описание

resource odbc_foreignkeys ( resource $connection_id , string $pk_qualifier , string $pk_owner , string $pk_table , string $fk_qualifier , string $fk_owner , string $fk_table )

Retrieves a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

pk_qualifier

The primary key qualifier.

pk_owner

The primary key owner.

pk_table

The primary key table.

fk_qualifier

The foreign key qualifier.

fk_owner

The foreign key owner.

fk_table

The foreign key table.

Возвращаемые значения

Returns an ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

If pk_table contains a table name, odbc_foreignkeys() returns a result set containing the primary key of the specified table and all of the foreign keys that refer to it.

If fk_table contains a table name, odbc_foreignkeys() returns a result set containing all of the foreign keys in the specified table and the primary keys (in other tables) to which they refer.

If both pk_table and fk_table contain table names, odbc_foreignkeys() returns the foreign keys in the table specified in fk_table that refer to the primary key of the table specified in pk_table. This should be one key at most.

odbc_field_type
odbc_free_result
ODBC Функции


Free resources associated with a result

odbc_foreignkeys
odbc_gettypeinfo
ODBC Функции
PHP Manual

odbc_free_result

(PHP 4, PHP 5)

odbc_free_result — Free resources associated with a result

Описание

bool odbc_free_result ( resource $result_id )

Free resources associated with a result.

odbc_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script is finished.

Список параметров

result_id

The result identifier.

Возвращаемые значения

Always returns TRUE.

Примечания

Замечание:

If auto-commit is disabled (see odbc_autocommit()) and you call odbc_free_result() before committing, all pending transactions are rolled back.

odbc_foreignkeys
odbc_gettypeinfo
ODBC Функции


Retrieves information about data types supported by the data source

odbc_free_result
odbc_longreadlen
ODBC Функции
PHP Manual

odbc_gettypeinfo

(PHP 4, PHP 5)

odbc_gettypeinfo — Retrieves information about data types supported by the data source

Описание

resource odbc_gettypeinfo ( resource $connection_id [, int $data_type ] )

Retrieves information about data types supported by the data source.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

data_type

The data type, which can be used to restrict the information to a single data type.

Возвращаемые значения

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

The result set is ordered by DATA_TYPE and TYPE_NAME.

odbc_free_result
odbc_longreadlen
ODBC Функции


Handling of LONG columns

odbc_gettypeinfo
odbc_next_result
ODBC Функции
PHP Manual

odbc_longreadlen

(PHP 4, PHP 5)

odbc_longreadlen — Handling of LONG columns

Описание

bool odbc_longreadlen ( resource $result_id , int $length )

Enables handling of LONG and LONGVARBINARY columns.

Список параметров

result_id

The result identifier.

length

The number of bytes returned to PHP is controlled by the parameter length. If it is set to 0, Long column data is passed through to the client.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Handling of LONGVARBINARY columns is also affected by odbc_binmode().

odbc_gettypeinfo
odbc_next_result
ODBC Функции


Checks if multiple results are available

odbc_longreadlen
odbc_num_fields
ODBC Функции
PHP Manual

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5)

odbc_next_result — Checks if multiple results are available

Описание

bool odbc_next_result ( resource $result_id )

Checks if there are more result sets available as well as allowing access to the next result set via odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

Список параметров

result_id

The result identifier.

Возвращаемые значения

Returns TRUE if there are more result sets, FALSE otherwise.

Примеры

Пример #1 odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

Результат выполнения данного примера:

Dump first result set array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)

odbc_longreadlen
odbc_num_fields
ODBC Функции


Number of columns in a result

odbc_next_result
odbc_num_rows
ODBC Функции
PHP Manual

odbc_num_fields

(PHP 4, PHP 5)

odbc_num_fields — Number of columns in a result

Описание

int odbc_num_fields ( resource $result_id )

Gets the number of fields (columns) in an ODBC result.

Список параметров

result_id

The result identifier returned by odbc_exec().

Возвращаемые значения

Returns the number of fields, or -1 on error.

odbc_next_result
odbc_num_rows
ODBC Функции


Number of rows in a result

odbc_num_fields
odbc_pconnect
ODBC Функции
PHP Manual

odbc_num_rows

(PHP 4, PHP 5)

odbc_num_rows — Number of rows in a result

Описание

int odbc_num_rows ( resource $result_id )

Gets the number of rows in a result. For INSERT, UPDATE and DELETE statements odbc_num_rows() returns the number of rows affected. For a SELECT clause this can be the number of rows available.

Список параметров

result_id

The result identifier returned by odbc_exec().

Возвращаемые значения

Returns the number of rows in an ODBC result. This function will return -1 on error.

Примечания

Замечание:

Using odbc_num_rows() to determine the number of rows available after a SELECT will return -1 with many drivers.

odbc_num_fields
odbc_pconnect
ODBC Функции


Open a persistent database connection

odbc_num_rows
odbc_prepare
ODBC Функции
PHP Manual

odbc_pconnect

(PHP 4, PHP 5)

odbc_pconnect — Open a persistent database connection

Описание

resource odbc_pconnect ( string $dsn , string $user , string $password [, int $cursor_type ] )

Opens a persistent database connection.

This function is much like odbc_connect(), except that the connection is not really closed when the script has finished. Future requests for a connection with the same dsn, user, password combination (via odbc_connect() and odbc_pconnect()) can reuse the persistent connection.

Список параметров

See odbc_connect() for details.

Возвращаемые значения

Returns an ODBC connection id or 0 (FALSE) on error.

Примечания

Замечание: Persistent connections have no effect if PHP is used as a CGI program.

Смотрите также

  • odbc_connect() - Connect to a datasource
  • Persistent Database Connections

odbc_num_rows
odbc_prepare
ODBC Функции


Prepares a statement for execution

odbc_pconnect
odbc_primarykeys
ODBC Функции
PHP Manual

odbc_prepare

(PHP 4, PHP 5)

odbc_prepare — Prepares a statement for execution

Описание

resource odbc_prepare ( resource $connection_id , string $query_string )

Prepares a statement for execution. The result identifier can be used later to execute the statement with odbc_execute().

Some databases (such as IBM DB2, MS SQL Server, and Oracle) support stored procedures that accept parameters of type IN, INOUT, and OUT as defined by the ODBC specification. However, the Unified ODBC driver currently only supports parameters of type IN to stored procedures.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

query_string

The query string statement being prepared.

Возвращаемые значения

Returns an ODBC result identifier if the SQL command was prepared successfully. Returns FALSE on error.

Примеры

Пример #1 odbc_execute() and odbc_prepare() example

In the following code, $success will only be TRUE if all three parameters to myproc are IN parameters:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

If you need to call a stored procedure using INOUT or OUT parameters, the recommended workaround is to use a native extension for your database (for example, mssql for MS SQL Server, or oci8 for Oracle).

Смотрите также

  • odbc_execute() - Execute a prepared statement

odbc_pconnect
odbc_primarykeys
ODBC Функции


Gets the primary keys for a table

odbc_prepare
odbc_procedurecolumns
ODBC Функции
PHP Manual

odbc_primarykeys

(PHP 4, PHP 5)

odbc_primarykeys — Gets the primary keys for a table

Описание

resource odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table )

Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

owner

table

Возвращаемые значения

Returns an ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME

odbc_prepare
odbc_procedurecolumns
ODBC Функции


Retrieve information about parameters to procedures

odbc_primarykeys
odbc_procedures
ODBC Функции
PHP Manual

odbc_procedurecolumns

(PHP 4, PHP 5)

odbc_procedurecolumns — Retrieve information about parameters to procedures

Описание

resource odbc_procedurecolumns ( resource $connection_id )
resource odbc_procedurecolumns ( resource $connection_id , string $qualifier , string $owner , string $proc , string $column )

Retrieve information about parameters to procedures.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner. Этот параметр принимает следующие шаблоны поиска: "%" соответствующий нулю или более символам, и "_" соответствующий ровно одному символу.

proc

The proc. Этот параметр принимает следующие шаблоны поиска: "%" соответствующий нулю или более символам, и "_" соответствующий ровно одному символу.

column

The column. Этот параметр принимает следующие шаблоны поиска: "%" соответствующий нулю или более символам, и "_" соответствующий ровно одному символу.

Возвращаемые значения

Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. Returns an ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME and COLUMN_TYPE.

odbc_primarykeys
odbc_procedures
ODBC Функции


Get the list of procedures stored in a specific data source

odbc_procedurecolumns
odbc_result_all
ODBC Функции
PHP Manual

odbc_procedures

(PHP 4, PHP 5)

odbc_procedures — Get the list of procedures stored in a specific data source

Описание

resource odbc_procedures ( resource $connection_id )
resource odbc_procedures ( resource $connection_id , string $qualifier , string $owner , string $name )

Lists all procedures in the requested range.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner. Этот параметр принимает следующие шаблоны поиска: "%" соответствующий нулю или более символам, и "_" соответствующий ровно одному символу.

name

The name. Этот параметр принимает следующие шаблоны поиска: "%" соответствующий нулю или более символам, и "_" соответствующий ровно одному символу.

Возвращаемые значения

Returns an ODBC result identifier containing the information или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

odbc_procedurecolumns
odbc_result_all
ODBC Функции


Print result as HTML table

odbc_procedures
odbc_result
ODBC Функции
PHP Manual

odbc_result_all

(PHP 4, PHP 5)

odbc_result_all — Print result as HTML table

Описание

int odbc_result_all ( resource $result_id [, string $format ] )

Prints all rows from a result identifier produced by odbc_exec(). The result is printed in HTML table format.

Список параметров

result_id

The result identifier.

format

Additional overall table formatting.

Возвращаемые значения

Returns the number of rows in the result or FALSE on error.

odbc_procedures
odbc_result
ODBC Функции


Get result data

odbc_result_all
odbc_rollback
ODBC Функции
PHP Manual

odbc_result

(PHP 4, PHP 5)

odbc_result — Get result data

Описание

mixed odbc_result ( resource $result_id , mixed $field )

Get result data

Список параметров

result_id

The ODBC resource.

field

The field name being retrieved. It can either be an integer containing the column number of the field you want; or it can be a string containing the name of the field.

Возвращаемые значения

Returns the string contents of the field, FALSE on error, NULL for NULL data, or TRUE for binary data.

Примеры

The first call to odbc_result() returns the value of the third field in the current record of the query result. The second function call to odbc_result() returns the value of the field whose field name is "val" in the current record of the query result. An error occurs if a column number parameter for a field is less than one or exceeds the number of columns (or fields) in the current record. Similarly, an error occurs if a field with a name that is not one of the fieldnames of the table(s) that is(are) being queried.

Пример #1 odbc_result() examples

<?php
$item_3   = odbc_result($Query_ID, 3);
$item_val = odbc_result($Query_ID, "val");
?>

Примечания

Field indices start from 1. Regarding the way binary or long column data is returned refer to odbc_binmode() and odbc_longreadlen().

odbc_result_all
odbc_rollback
ODBC Функции


Rollback a transaction

odbc_result
odbc_setoption
ODBC Функции
PHP Manual

odbc_rollback

(PHP 4, PHP 5)

odbc_rollback — Rollback a transaction

Описание

bool odbc_rollback ( resource $connection_id )

Rolls back all pending statements on the connection.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

odbc_result
odbc_setoption
ODBC Функции


Adjust ODBC settings

odbc_rollback
odbc_specialcolumns
ODBC Функции
PHP Manual

odbc_setoption

(PHP 4, PHP 5)

odbc_setoption — Adjust ODBC settings

Описание

bool odbc_setoption ( resource $id , int $function , int $option , int $param )

This function allows fiddling with the ODBC options for a particular connection or query result. It was written to help find work around to problems in quirky ODBC drivers. You should probably only use this function if you are an ODBC programmer and understand the effects the various options will have. You will certainly need a good ODBC reference to explain all the different options and values that can be used. Different driver versions support different options.

Because the effects may vary depending on the ODBC driver, use of this function in scripts to be made publicly available is strongly discouraged. Also, some ODBC options are not available to this function because they must be set before the connection is established or the query is prepared. However, if on a particular job it can make PHP work so your boss doesn't tell you to use a commercial product, that's all that really matters.

Список параметров

id

Is a connection id or result id on which to change the settings. For SQLSetConnectOption(), this is a connection id. For SQLSetStmtOption(), this is a result id.

function

Is the ODBC function to use. The value should be 1 for SQLSetConnectOption() and 2 for SQLSetStmtOption().

option

The option to set.

param

The value for the given option.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 odbc_setoption() examples

<?php
// 1. Option 102 of SQLSetConnectOption() is SQL_AUTOCOMMIT.
//    Value 1 of SQL_AUTOCOMMIT is SQL_AUTOCOMMIT_ON.
//    This example has the same effect as
//    odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. Option 0 of SQLSetStmtOption() is SQL_QUERY_TIMEOUT.
//    This example sets the query to timeout after 30 seconds.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>

odbc_rollback
odbc_specialcolumns
ODBC Функции


Retrieves special columns

odbc_setoption
odbc_statistics
ODBC Функции
PHP Manual

odbc_specialcolumns

(PHP 4, PHP 5)

odbc_specialcolumns — Retrieves special columns

Описание

resource odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable )

Retrieves either the optimal set of columns that uniquely identifies a row in the table, or columns that are automatically updated when any value in the row is updated by a transaction.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

type
When the type argument is SQL_BEST_ROWID, odbc_specialcolumns() returns the column or columns that uniquely identify each row in the table. When the type argument is SQL_ROWVER, odbc_specialcolumns() returns the column or columns in the specified table, if any, that are automatically updated by the data source when any value in the row is updated by any transaction.
qualifier

The qualifier.

owner

The owner.

table

The table.

scope

The scope, which orders the result set.

nullable

The nullable option.

Возвращаемые значения

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

odbc_setoption
odbc_statistics
ODBC Функции


Retrieve statistics about a table

odbc_specialcolumns
odbc_tableprivileges
ODBC Функции
PHP Manual

odbc_statistics

(PHP 4, PHP 5)

odbc_statistics — Retrieve statistics about a table

Описание

resource odbc_statistics ( resource $connection_id , string $qualifier , string $owner , string $table_name , int $unique , int $accuracy )

Get statistics about a table and its indexes.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner.

table_name

The table name.

unique

The unique attribute.

accuracy

The accuracy.

Возвращаемые значения

Returns an ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME and SEQ_IN_INDEX.

odbc_specialcolumns
odbc_tableprivileges
ODBC Функции


Lists tables and the privileges associated with each table

odbc_statistics
odbc_tables
ODBC Функции
PHP Manual

odbc_tableprivileges

(PHP 4, PHP 5)

odbc_tableprivileges — Lists tables and the privileges associated with each table

Описание

resource odbc_tableprivileges ( resource $connection_id , string $qualifier , string $owner , string $name )

Lists tables in the requested range and the privileges associated with each table.

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner. Accepts the following search patterns: ('%' to match zero or more characters and '_' to match a single character)

name

The name. Accepts the following search patterns: ('%' to match zero or more characters and '_' to match a single character)

Возвращаемые значения

An ODBC result identifier или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

odbc_statistics
odbc_tables
ODBC Функции


Get the list of table names stored in a specific data source

odbc_tableprivileges
PDO
ODBC Функции
PHP Manual

odbc_tables

(PHP 4, PHP 5)

odbc_tables — Get the list of table names stored in a specific data source

Описание

resource odbc_tables ( resource $connection_id [, string $qualifier [, string $owner [, string $name [, string $types ]]]] )

Lists all tables in the requested range.

To support enumeration of qualifiers, owners, and table types, the following special semantics for the qualifier, owner, name, and table_type are available:

  • If qualifier is a single percent character (%) and owner and name are empty strings, then the result set contains a list of valid qualifiers for the data source. (All columns except the TABLE_QUALIFIER column contain NULLs.)
  • If owner is a single percent character (%) and qualifier and name are empty strings, then the result set contains a list of valid owners for the data source. (All columns except the TABLE_OWNER column contain NULLs.)
  • If table_type is a single percent character (%) and qualifier, owner and name are empty strings, then the result set contains a list of valid table types for the data source. (All columns except the TABLE_TYPE column contain NULLs.)

Список параметров

connection_id

Идентификатор соединения ODBC, за подробностями обращайтесь к odbc_connect().

qualifier

The qualifier.

owner

The owner. Accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

name

The name. Accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

types

If table_type is not an empty string, it must contain a list of comma-separated values for the types of interest; each value may be enclosed in single quotes (') or unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the data source does not support a specified table type, odbc_tables() does not return any results for that type.

Возвращаемые значения

Returns an ODBC result identifier containing the information или FALSE в случае возникновения ошибки.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

The result set is ordered by TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

Смотрите также

  • odbc_tableprivileges() - Lists tables and the privileges associated with each table

odbc_tableprivileges
PDO
ODBC Функции


PHP Data Objects

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Connections and Connection management
  • Transactions and auto-commit
  • Prepared statements and stored procedures
  • Errors and error handling
  • Large Objects (LOBs)
  • PDO — The PDO class
    • PDO::beginTransaction — Initiates a transaction
    • PDO::commit — Commits a transaction
    • PDO::__construct — Creates a PDO instance representing a connection to a database
    • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
    • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
    • PDO::exec — Execute an SQL statement and return the number of affected rows
    • PDO::getAttribute — Retrieve a database connection attribute
    • PDO::getAvailableDrivers — Return an array of available PDO drivers
    • PDO::inTransaction — Checks if inside a transaction
    • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
    • PDO::prepare — Prepares a statement for execution and returns a statement object
    • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
    • PDO::quote — Quotes a string for use in a query.
    • PDO::rollBack — Rolls back a transaction
    • PDO::setAttribute — Set an attribute
  • PDOStatement — The PDOStatement class
    • PDOStatement->bindColumn — Bind a column to a PHP variable
    • PDOStatement->bindParam — Binds a parameter to the specified variable name
    • PDOStatement->bindValue — Binds a value to a parameter
    • PDOStatement->closeCursor — Closes the cursor, enabling the statement to be executed again.
    • PDOStatement->columnCount — Returns the number of columns in the result set
    • PDOStatement->debugDumpParams — Dump an SQL prepared command
    • PDOStatement->errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
    • PDOStatement->errorInfo — Fetch extended error information associated with the last operation on the statement handle
    • PDOStatement->execute — Executes a prepared statement
    • PDOStatement->fetch — Fetches the next row from a result set
    • PDOStatement->fetchAll — Returns an array containing all of the result set rows
    • PDOStatement->fetchColumn — Returns a single column from the next row of a result set
    • PDOStatement->fetchObject — Fetches the next row and returns it as an object.
    • PDOStatement->getAttribute — Retrieve a statement attribute
    • PDOStatement->getColumnMeta — Returns metadata for a column in a result set
    • PDOStatement->nextRowset — Advances to the next rowset in a multi-rowset statement handle
    • PDOStatement->rowCount — Returns the number of rows affected by the last SQL statement
    • PDOStatement->setAttribute — Set a statement attribute
    • PDOStatement->setFetchMode — Set the default fetch mode for this statement
  • PDOException — The PDOException class
  • PDO Drivers
    • CUBRID (PDO) — CUBRID Functions (PDO_CUBRID)
    • MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
    • Firebird/Interbase (PDO) — Firebird/Interbase Functions (PDO_FIREBIRD)
    • IBM (PDO) — IBM Functions (PDO_IBM)
    • Informix (PDO) — Informix Functions (PDO_INFORMIX)
    • MySQL (PDO) — MySQL Functions (PDO_MYSQL)
    • MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)
    • Oracle (PDO) — Oracle Functions (PDO_OCI)
    • ODBC and DB2 (PDO) — ODBC and DB2 Functions (PDO_ODBC)
    • PostgreSQL (PDO) — PostgreSQL Functions (PDO_PGSQL)
    • SQLite (PDO) — SQLite Functions (PDO_SQLITE)
    • 4D (PDO) — 4D Functions (PDO_4D)
odbc_tables
Введение
Уровни абстракции


Введение

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a database-specific PDO driver to access a database server.

PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility.

PDO ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; PDO requires the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.

PDO
Установка и настройка
PDO


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PDO


Установка

Installing PDO on Unix systems

  1. PDO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0. You may need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers to find out more about that. Note: When building PDO as a shared extension (not recommended) then all PDO drivers must be loaded after PDO itself.

  2. When installing PDO as a shared module, the php.ini file needs to be updated so that the PDO extension will be loaded automatically when PHP runs. You will also need to enable any database specific drivers there too; make sure that they are listed after the pdo.so line, as PDO must be initialized before the database-specific extensions can be loaded. If you built PDO and the database-specific extensions statically, you can skip this step.

    extension=pdo.so

Windows users

  1. PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:

    extension=php_pdo.dll

    Замечание:

    This step is not necessary for PHP 5.3 and above, as a DLL is no longer required for PDO.

  2. Next, choose the other database-specific DLL files and either use dl() to load them at runtime, or enable them in php.ini below php_pdo.dll. For example:

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    These DLLs should exist in the system's extension_dir.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PDO Configuration Options
Name | Default | Changeable | Changelog
pdo.dsn.* |  | php.ini only |

Краткое разъяснение конфигурационных директив.

pdo.dsn.* string

Defines DSN alias. See PDO::__construct() for thorough explanation.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Внимание

PDO uses class constants since PHP 5.1. Prior releases use global constants in the form PDO_PARAM_BOOL.

PDO::PARAM_BOOL (integer)
Represents a boolean data type.
PDO::PARAM_NULL (integer)
Represents the SQL NULL data type.
PDO::PARAM_INT (integer)
Represents the SQL INTEGER data type.
PDO::PARAM_STR (integer)
Represents the SQL CHAR, VARCHAR, or other string data type.
PDO::PARAM_LOB (integer)
Represents the SQL large object data type.
PDO::PARAM_STMT (integer)
Represents a recordset type. Not currently supported by any drivers.
PDO::PARAM_INPUT_OUTPUT (integer)
Specifies that the parameter is an INOUT parameter for a stored procedure. You must bitwise-OR this value with an explicit PDO::PARAM_* data type.
PDO::FETCH_LAZY (integer)
Specifies that the fetch method shall return each row as an object with variable names that correspond to the column names returned in the result set. PDO::FETCH_LAZY creates the object variable names as they are accessed.
PDO::FETCH_ASSOC (integer)
Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_ASSOC returns only a single value per column name.
PDO::FETCH_NAMED (integer)
Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_NAMED returns an array of values per column name.
PDO::FETCH_NUM (integer)
Specifies that the fetch method shall return each row as an array indexed by column number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_BOTH (integer)
Specifies that the fetch method shall return each row as an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_OBJ (integer)
Specifies that the fetch method shall return each row as an object with property names that correspond to the column names returned in the result set.
PDO::FETCH_BOUND (integer)
Specifies that the fetch method shall return TRUE and assign the values of the columns in the result set to the PHP variables to which they were bound with the PDOStatement::bindParam() or PDOStatement::bindColumn() methods.
PDO::FETCH_COLUMN (integer)
Specifies that the fetch method shall return only a single requested column from the next row in the result set.
PDO::FETCH_CLASS (integer)
Specifies that the fetch method shall return a new instance of the requested class, mapping the columns to named properties in the class.

Замечание: The magic __set() method is called if the property doesn't exist in the requested class

PDO::FETCH_INTO (integer)
Specifies that the fetch method shall update an existing instance of the requested class, mapping the columns to named properties in the class.
PDO::FETCH_FUNC (integer)
PDO::FETCH_GROUP (integer)
PDO::FETCH_UNIQUE (integer)
PDO::FETCH_KEY_PAIR (integer)
Fetch into an array where the 1st column is a key and all subsequent columns are values. Available since PHP 5.2.3.
PDO::FETCH_CLASSTYPE (integer)
Determine the class name from the value of first column.
PDO::FETCH_SERIALIZE (integer)
As PDO::FETCH_INTO but object is provided as a serialized string. Available since PHP 5.1.0.
PDO::FETCH_PROPS_LATE (integer)
Available since PHP 5.2.0
PDO::ATTR_AUTOCOMMIT (integer)
If this value is FALSE, PDO attempts to disable autocommit so that the connection begins a transaction.
PDO::ATTR_PREFETCH (integer)
Setting the prefetch size allows you to balance speed against memory usage for your application. Not all database/driver combinations support setting of the prefetch size. A larger prefetch size results in increased performance at the cost of higher memory usage.
PDO::ATTR_TIMEOUT (integer)
Sets the timeout value in seconds for communications with the database.
PDO::ATTR_ERRMODE (integer)
See the Errors and error handling section for more information about this attribute.
PDO::ATTR_SERVER_VERSION (integer)
This is a read only attribute; it will return information about the version of the database server to which PDO is connected.
PDO::ATTR_CLIENT_VERSION (integer)
This is a read only attribute; it will return information about the version of the client libraries that the PDO driver is using.
PDO::ATTR_SERVER_INFO (integer)
This is a read only attribute; it will return some meta information about the database server to which PDO is connected.
PDO::ATTR_CONNECTION_STATUS (integer)
PDO::ATTR_CASE (integer)
Force column names to a specific case specified by the PDO::CASE_* constants.
PDO::ATTR_CURSOR_NAME (integer)
Get or set the name to use for a cursor. Most useful when using scrollable cursors and positioned updates.
PDO::ATTR_CURSOR (integer)
Selects the cursor type. PDO currently supports either PDO::CURSOR_FWDONLY and PDO::CURSOR_SCROLL. Stick with PDO::CURSOR_FWDONLY unless you know that you need a scrollable cursor.
PDO::ATTR_DRIVER_NAME (string)
Returns the name of the driver.

Пример #1 using PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Running on mysql; doing something mysql specific here\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)
Convert empty strings to SQL NULL values on data fetches.
PDO::ATTR_PERSISTENT (integer)
Request a persistent connection, rather than creating a new connection. See Connections and Connection management for more information on this attribute.
PDO::ATTR_STATEMENT_CLASS (integer)
PDO::ATTR_FETCH_CATALOG_NAMES (integer)
Prepend the containing catalog name to each column name returned in the result set. The catalog name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_FETCH_TABLE_NAMES (integer)
Prepend the containing table name to each column name returned in the result set. The table name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_STRINGIFY_FETCHES (integer)
PDO::ATTR_MAX_COLUMN_LEN (integer)
PDO::ATTR_DEFAULT_FETCH_MODE (integer)
Available since PHP 5.2.0
PDO::ATTR_EMULATE_PREPARES (integer)
Available since PHP 5.1.3.
PDO::ERRMODE_SILENT (integer)
Do not raise an error or exception if an error occurs. The developer is expected to explicitly check for errors. This is the default mode. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_WARNING (integer)
Issue a PHP E_WARNING message if an error occurs. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_EXCEPTION (integer)
Throw a PDOException if an error occurs. See Errors and error handling for more information about this attribute.
PDO::CASE_NATURAL (integer)
Leave column names as returned by the database driver.
PDO::CASE_LOWER (integer)
Force column names to lower case.
PDO::CASE_UPPER (integer)
Force column names to upper case.
PDO::NULL_NATURAL (integer)
PDO::NULL_EMPTY_STRING (integer)
PDO::NULL_TO_STRING (integer)
PDO::FETCH_ORI_NEXT (integer)
Fetch the next row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_PRIOR (integer)
Fetch the previous row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_FIRST (integer)
Fetch the first row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_LAST (integer)
Fetch the last row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_ABS (integer)
Fetch the requested row by row number from the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_REL (integer)
Fetch the requested row by relative position from the current position of the cursor in the result set. Valid only for scrollable cursors.
PDO::CURSOR_FWDONLY (integer)
Create a PDOStatement object with a forward-only cursor. This is the default cursor choice, as it is the fastest and most common data access pattern in PHP.
PDO::CURSOR_SCROLL (integer)
Create a PDOStatement object with a scrollable cursor. Pass the PDO::FETCH_ORI_* constants to control the rows fetched from the result set.
PDO::ERR_NONE (string)
Corresponds to SQLSTATE '00000', meaning that the SQL statement was successfully issued with no errors or warnings. This constant is for your convenience when checking PDO::errorCode() or PDOStatement::errorCode() to determine if an error occurred. You will usually know if this is the case by examining the return code from the method that raised the error condition anyway.
PDO::PARAM_EVT_ALLOC (integer)
Allocation event
PDO::PARAM_EVT_FREE (integer)
Deallocation event
PDO::PARAM_EVT_EXEC_PRE (integer)
Event triggered prior to execution of a prepared statement.
PDO::PARAM_EVT_EXEC_POST (integer)
Event triggered subsequent to execution of a prepared statement.
PDO::PARAM_EVT_FETCH_PRE (integer)
Event triggered prior to fetching a result from a resultset.
PDO::PARAM_EVT_FETCH_POST (integer)
Event triggered subsequent to fetching a result from a resultset.
PDO::PARAM_EVT_NORMALIZE (integer)
Event triggered during bound parameter registration allowing the driver to normalize the parameter name.
Типы ресурсов
Connections and Connection management
PDO


Connections and Connection management

Connections are established by creating instances of the PDO base class. It doesn't matter which driver you want to use; you always use the PDO class name. The constructor accepts parameters for specifying the database source (known as the DSN) and optionally for the username and password (if any).

Пример #1 Connecting to MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

If there are any connection errors, a PDOException object will be thrown. You may catch the exception if you want to handle the error condition, or you may opt to leave it for an application global exception handler that you set up via set_exception_handler().

Пример #2 Handling connection errors

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

Внимание

If your application does not catch the exception thrown from the PDO constructor, the default action taken by the zend engine is to terminate the script and display a back trace. This back trace will likely reveal the full database connection details, including the username and password. It is your responsibility to catch this exception, either explicitly (via a catch statement) or implicitly via set_exception_handler().

Upon successful connection to the database, an instance of the PDO class is returned to your script. The connection remains active for the lifetime of that PDO object. To close the connection, you need to destroy the object by ensuring that all remaining references to it are deleted--you do this by assigning NULL to the variable that holds the object. If you don't do this explicitly, PHP will automatically close the connection when your script ends.

Пример #3 Closing a connection

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here

// and now we're done; close it
$dbh = null;
?>

Many web applications will benefit from making persistent connections to database servers. Persistent connections are not closed at the end of the script, but are cached and re-used when another script requests a connection using the same credentials. The persistent connection cache allows you to avoid the overhead of establishing a new connection every time a script needs to talk to a database, resulting in a faster web application.

Пример #4 Persistent connections

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));
?>

Замечание:

If you wish to use persistent connections, you must set PDO::ATTR_PERSISTENT in the array of driver options passed to the PDO constructor. If setting this attribute with PDO::setAttribute() after instantiation of the object, the driver will not use persistent connections.

Замечание:

If you're using the PDO ODBC driver and your ODBC libraries support ODBC Connection Pooling (unixODBC and Windows are two that do; there may be more), then it's recommended that you don't use persistent PDO connections, and instead leave the connection caching to the ODBC Connection Pooling layer. The ODBC Connection Pool is shared with other modules in the process; if PDO is told to cache the connection, then that connection would never be returned to the ODBC connection pool, resulting in additional connections being created to service those other modules.

Предопределенные константы
Transactions and auto-commit
PDO


Transactions and auto-commit

Now that you're connected via PDO, you must understand how PDO manages transactions before you start issuing queries. If you've never encountered transactions before, they offer 4 major features: Atomicity, Consistency, Isolation and Durability (ACID). In layman's terms, any work carried out in a transaction, even if it is carried out in stages, is guaranteed to be applied to the database safely, and without interference from other connections, when it is committed. Transactional work can also be automatically undone at your request (provided you haven't already committed it), which makes error handling in your scripts easier.

Transactions are typically implemented by "saving-up" your batch of changes to be applied all at once; this has the nice side effect of drastically improving the efficiency of those updates. In other words, transactions can make your scripts faster and potentially more robust (you still need to use them correctly to reap that benefit).

Unfortunately, not every database supports transactions, so PDO needs to run in what is known as "auto-commit" mode when you first open the connection. Auto-commit mode means that every query that you run has its own implicit transaction, if the database supports it, or no transaction if the database doesn't support transactions. If you need a transaction, you must use the PDO::beginTransaction() method to initiate one. If the underlying driver does not support transactions, a PDOException will be thrown (regardless of your error handling settings: this is always a serious error condition). Once you are in a transaction, you may use PDO::commit() or PDO::rollBack() to finish it, depending on the success of the code you run during the transaction.

Внимание

PDO only checks for transaction capabilities on driver level. If certain runtime conditions mean that transactions are unavailable, PDO::beginTransaction() will still return TRUE without error if the database server accepts the request to start a transaction.

An example of this would be trying to use transactions on MyISAM tables on a MySQL database.

When the script ends or when a connection is about to be closed, if you have an outstanding transaction, PDO will automatically roll it back. This is a safety measure to help avoid inconsistency in the cases where the script terminates unexpectedly--if you didn't explicitly commit the transaction, then it is assumed that something went awry, so the rollback is performed for the safety of your data.

Внимание

The automatic rollback only happens if you initiate the transaction via PDO::beginTransaction(). If you manually issue a query that begins a transaction PDO has no way of knowing about it and thus cannot roll it back if something bad happens.

Пример #1 Executing a batch in a transaction

In the following sample, let's assume that we are creating a set of entries for a new employee, who has been assigned an ID number of 23. In addition to entering the basic data for that person, we also need to record their salary. It's pretty simple to make two separate updates, but by enclosing them within the PDO::beginTransaction() and PDO::commit() calls, we are guaranteeing that no one else will be able to see those changes until they are complete. If something goes wrong, the catch block rolls back all changes made since the transaction was started, and then prints out an error message.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
} catch (Exception $e) {
  die("Unable to connect: " . $e->getMessage());
}

try {
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

You're not limited to making updates in a transaction; you can also issue complex queries to extract data, and possibly use that information to build up more updates and queries; while the transaction is active, you are guaranteed that no one else can make changes while you are in the middle of your work. For further reading on transactions, refer to the documentation provided by your database server.

Connections and Connection management
Prepared statements and stored procedures
PDO


Prepared statements and stored procedures

Many of the more mature databases support the concept of prepared statements. What are they? They can be thought of as a kind of compiled template for the SQL that an application wants to run, that can be customized using variable parameters. Prepared statements offer two major benefits:

  • The query only needs to be parsed (or prepared) once, but can be executed multiple times with the same or different parameters. When the query is prepared, the database will analyze, compile and optimize its plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down an application if there is a need to repeat the same query many times with different parameters. By using a prepared statement the application avoids repeating the analyze/compile/optimize cycle. This means that prepared statements use fewer resources and thus run faster.
  • The parameters to prepared statements don't need to be quoted; the driver automatically handles this. If an application exclusively uses prepared statements, the developer can be sure that no SQL injection will occur (however, if other portions of the query are being built up with unescaped input, SQL injection is still possible).

Prepared statements are so useful that they are the only feature that PDO will emulate for drivers that don't support them. This ensures that an application will be able to use the same data access paradigm regardless of the capabilities of the database.

Пример #1 Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the named placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Пример #2 Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the positional ? placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

Пример #3 Fetching data using prepared statements

This example fetches data based on a key value supplied by a form. The user input is automatically quoted, so there is no risk of a SQL injection attack.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

If the database driver supports it, an application may also bind parameters for output as well as input. Output parameters are typically used to retrieve values from stored procedures. Output parameters are slightly more complex to use than input parameters, in that a developer must know how large a given parameter might be when they bind it. If the value turns out to be larger than the size they suggested, an error is raised.

Пример #4 Calling a stored procedure with an output parameter

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $return_value\n";
?>

Developers may also specify parameters that hold values both input and output; the syntax is similar to output parameters. In this next example, the string 'hello' is passed into the stored procedure, and when it returns, hello is replaced with the return value of the procedure.

Пример #5 Calling a stored procedure with an input/output parameter

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $value\n";
?>

Пример #6 Invalid use of placeholder

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// placeholder must be used in the place of the whole value
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>

Transactions and auto-commit
Errors and error handling
PDO


Errors and error handling

PDO offers you a choice of 3 different error handling strategies, to fit your style of application development.

  • PDO::ERRMODE_SILENT

    This is the default mode. PDO will simply set the error code for you to inspect using the PDO::errorCode() and PDO::errorInfo() methods on both the statement and database objects; if the error resulted from a call on a statement object, you would invoke the PDOStatement::errorCode() or PDOStatement::errorInfo() method on that object. If the error resulted from a call on the database object, you would invoke those methods on the database object instead.

  • PDO::ERRMODE_WARNING

    In addition to setting the error code, PDO will emit a traditional E_WARNING message. This setting is useful during debugging/testing, if you just want to see what problems occurred without interrupting the flow of the application.

  • PDO::ERRMODE_EXCEPTION

    In addition to setting the error code, PDO will throw a PDOException and set its properties to reflect the error code and error information. This setting is also useful during debugging, as it will effectively "blow up" the script at the point of the error, very quickly pointing a finger at potential problem areas in your code (remember: transactions are automatically rolled back if the exception causes the script to terminate).

    Exception mode is also useful because you can structure your error handling more clearly than with traditional PHP-style warnings, and with less code/nesting than by running in silent mode and explicitly checking the return value of each database call.

    See Exceptions for more information about Exceptions in PHP.

PDO standardizes on using SQL-92 SQLSTATE error code strings; individual PDO drivers are responsible for mapping their native codes to the appropriate SQLSTATE codes. The PDO::errorCode() method returns a single SQLSTATE code. If you need more specific information about an error, PDO also offers an PDO::errorInfo() method which returns an array containing the SQLSTATE code, the driver specific error code and driver specific error string.

Пример #1 Create a PDO instance and set the error mode

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Prepared statements and stored procedures
Large Objects (LOBs)
PDO


Large Objects (LOBs)

At some point in your application, you might find that you need to store "large" data in your database. Large typically means "around 4kb or more", although some databases can happily handle up to 32kb before data becomes "large". Large objects can be either textual or binary in nature. PDO allows you to work with this large data type by using the PDO::PARAM_LOB type code in your PDOStatement::bindParam() or PDOStatement::bindColumn() calls. PDO::PARAM_LOB tells PDO to map the data as a stream, so that you can manipulate it using the PHP Streams API.

Пример #1 Displaying an image from a database

This example binds the LOB into the variable named $lob and then sends it to the browser using fpassthru(). Since the LOB is represented as a stream, functions such as fgets(), fread() and stream_get_contents() can be used on it.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Пример #2 Inserting an image into a database

This example opens up a file and passes the file handle to PDO to insert it as a LOB. PDO will do its best to get the contents of the file up to the database in the most efficient manner possible.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Пример #3 Inserting an image into a database: Oracle

Oracle requires a slightly different syntax for inserting a lob from a file. It's also essential that you perform the insert under a transaction, otherwise your newly inserted LOB will be committed with a zero-length as part of the implicit commit that happens when the query is executed:

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

Errors and error handling
PDO
PDO


The PDO class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a connection between PHP and a database server.

Обзор классов

PDO {
__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
bool beginTransaction ( void )
bool commit ( void )
mixed errorCode ( void )
array errorInfo ( void )
int exec ( string $statement )
mixed getAttribute ( int $attribute )
array getAvailableDrivers ( void )
bool inTransaction ( void )
string lastInsertId ([ string $name = NULL ] )
PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
PDOStatement query ( string $statement )
string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
bool rollBack ( void )
bool setAttribute ( int $attribute , mixed $value )
}

Содержание

  • PDO::beginTransaction — Initiates a transaction
  • PDO::commit — Commits a transaction
  • PDO::__construct — Creates a PDO instance representing a connection to a database
  • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
  • PDO::exec — Execute an SQL statement and return the number of affected rows
  • PDO::getAttribute — Retrieve a database connection attribute
  • PDO::getAvailableDrivers — Return an array of available PDO drivers
  • PDO::inTransaction — Checks if inside a transaction
  • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
  • PDO::prepare — Prepares a statement for execution and returns a statement object
  • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
  • PDO::quote — Quotes a string for use in a query.
  • PDO::rollBack — Rolls back a transaction
  • PDO::setAttribute — Set an attribute
Large Objects (LOBs)
PDO::beginTransaction
PDO


Initiates a transaction

PDO
PDO::commit
PDO
PHP Manual

PDO::beginTransaction

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::beginTransaction — Initiates a transaction

Описание

bool PDO::beginTransaction ( void )

Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling PDO::commit(). Calling PDO::rollBack() will roll back all changes to the database and return the connection to autocommit mode.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Смотрите также

  • PDO::commit() - Commits a transaction
  • PDO::rollBack() - Rolls back a transaction
  • Transactions and auto-commit

PDO
PDO::commit
PDO


Commits a transaction

PDO::beginTransaction
PDO::__construct
PDO
PHP Manual

PDO::commit

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::commit — Commits a transaction

Описание

bool PDO::commit ( void )

Commits a transaction, returning the database connection to autocommit mode until the next call to PDO::beginTransaction() starts a new transaction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Commit a transaction

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Смотрите также

  • PDO::beginTransaction() - Initiates a transaction
  • PDO::rollBack() - Rolls back a transaction
  • Transactions and auto-commit

PDO::beginTransaction
PDO::__construct
PDO


Creates a PDO instance representing a connection to a database

PDO::commit
PDO::errorCode
PDO
PHP Manual

PDO::__construct

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::__construct — Creates a PDO instance representing a connection to a database

Описание

PDO::__construct() ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )

Creates a PDO instance to represent a connection to the requested database.

Список параметров

dsn

The Data Source Name, or DSN, contains the information required to connect to the database.

In general, a DSN consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. Further information is available from the PDO driver-specific documentation.

The dsn parameter supports three different methods of specifying the arguments required to create a database connection:

Driver invocation

dsn contains the full DSN.

URI invocation

dsn consists of uri: followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.

uri:file:///path/to/dsnfile

Aliasing

dsn consists of a name name that maps to pdo.dsn.name in php.ini defining the DSN string.

Замечание:

The alias must be defined in php.ini, and not .htaccess or httpd.conf

username

The user name for the DSN string. This parameter is optional for some PDO drivers.

password

The password for the DSN string. This parameter is optional for some PDO drivers.

driver_options

A key=>value array of driver-specific connection options.

Возвращаемые значения

Returns a PDO object on success.

Ошибки

PDO::__construct() throws a PDOException if the attempt to connect to the requested database fails.

Примеры

Пример #1 Create a PDO instance via driver invocation

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Пример #2 Create a PDO instance via URI invocation

The following example assumes that the file /usr/local/dbconnect exists with file permissions that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

The PHP script can then create a database connection by simply passing the uri: parameter and pointing to the file URI:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Пример #3 Create a PDO instance using an alias

The following example assumes that php.ini contains the following entry to enable a connection to a MySQL database using only the alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

PDO::commit
PDO::errorCode
PDO


Fetch the SQLSTATE associated with the last operation on the database handle

PDO::__construct
PDO::errorInfo
PDO
PHP Manual

PDO::errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle

Описание

mixed PDO::errorCode ( void )

Возвращаемые значения

Returns an SQLSTATE, a five characters alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two characters class value followed by a three characters subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.

PDO::errorCode() only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorCode() will not reflect that error. You must call PDOStatement::errorCode() to return the error code for an operation performed on a particular statement handle.

Returns NULL if no operation has been run on the database handle.

Примеры

Пример #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>

Результат выполнения данного примера:

PDO::errorCode(): 42S02

Смотрите также

  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDO::__construct
PDO::errorInfo
PDO


Fetch extended error information associated with the last operation on the database handle

PDO::errorCode
PDO::exec
PDO
PHP Manual

PDO::errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle

Описание

array PDO::errorInfo ( void )

Возвращаемые значения

PDO::errorInfo() returns an array of error information about the last operation performed by this database handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

Замечание:

If the SQLSTATE error code is not set or there is no driver-specific error, the elements following element 0 will be set to NULL.

PDO::errorInfo() only retrieves error information for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorInfo() will not reflect the error from the statement handle. You must call PDOStatement::errorInfo() to return the error information for an operation performed on a particular statement handle.

Примеры

Пример #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

Результат выполнения данного примера:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Смотрите также

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDO::errorCode
PDO::exec
PDO


Execute an SQL statement and return the number of affected rows

PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual

PDO::exec

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::exec — Execute an SQL statement and return the number of affected rows

Описание

int PDO::exec ( string $statement )

PDO::exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.

PDO::exec() does not return results from a SELECT statement. For a SELECT statement that you only need to issue once during your program, consider issuing PDO::query(). For a statement that you need to issue multiple times, prepare a PDOStatement object with PDO::prepare() and issue the statement with PDOStatement::execute().

Список параметров

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Возвращаемые значения

PDO::exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO::exec() returns 0.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

The following example incorrectly relies on the return value of PDO::exec(), wherein a statement that affected 0 rows results in a call to die():

<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>

Примеры

Пример #1 Issuing a DELETE statement

Count the number of rows deleted by a DELETE statement with no WHERE clause.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

Результат выполнения данного примера:

Deleted 1 rows.

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::errorInfo
PDO::getAttribute
PDO


Retrieve a database connection attribute

PDO::exec
PDO::getAvailableDrivers
PDO
PHP Manual

PDO::getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::getAttribute — Retrieve a database connection attribute

Описание

mixed PDO::getAttribute ( int $attribute )

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to PDOStatement::getAttribute().

Note that some database/driver combinations may not support all of the database connection attributes.

Список параметров

attribute

One of the PDO::ATTR_* constants. The constants that apply to database connections are as follows:

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Возвращаемые значения

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns null.

Примеры

Пример #1 Retrieving database connection attributes

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Смотрите также

  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute
  • PDOStatement::setAttribute() - Set a statement attribute

PDO::exec
PDO::getAvailableDrivers
PDO


Return an array of available PDO drivers

PDO::getAttribute
PDO::inTransaction
PDO
PHP Manual

PDO::getAvailableDrivers

(PHP 5 >= 5.1.3, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers — Return an array of available PDO drivers

Описание

array PDO::getAvailableDrivers ( void )
array pdo_drivers ( void )

This function returns all currently available PDO drivers which can be used in DSN parameter of PDO::__construct(). This is a static method.

Возвращаемые значения

PDO::getAvailableDrivers() returns an array of PDO driver names. If no drivers are available, it returns an empty array.

Примеры

Пример #1 A PDO::getAvailableDrivers() example

<?php
print_r(PDO::getAvailableDrivers());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => mysql
    [1] => sqlite
)

PDO::getAttribute
PDO::inTransaction
PDO


Checks if inside a transaction

PDO::getAvailableDrivers
PDO::lastInsertId
PDO
PHP Manual

PDO::inTransaction

(PHP 5 >= 5.3.3, Bundled pdo_pgsql)

PDO::inTransaction — Checks if inside a transaction

Описание

bool PDO::inTransaction ( void )

Checks if a transaction is currently active within the driver.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if a transaction is currently active, and FALSE if not.

Возвращаемые значения

Замечание:

Note that currently only the PostgreSQL driver implements this method.

PDO::getAvailableDrivers
PDO::lastInsertId
PDO


Returns the ID of the last inserted row or sequence value

PDO::inTransaction
PDO::prepare
PDO
PHP Manual

PDO::lastInsertId

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::lastInsertId — Returns the ID of the last inserted row or sequence value

Описание

string PDO::lastInsertId ([ string $name = NULL ] )

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL() requires you to specify the name of a sequence object for the name parameter.

Замечание:

This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.

Список параметров

name

Name of the sequence object from which the ID should be returned.

Возвращаемые значения

If a sequence name was not specified for the name parameter, PDO::lastInsertId() returns a string representing the row ID of the last row that was inserted into the database.

If a sequence name was specified for the name parameter, PDO::lastInsertId() returns a string representing the last value retrieved from the specified sequence object.

If the PDO driver does not support this capability, PDO::lastInsertId() triggers an IM001 SQLSTATE.

PDO::inTransaction
PDO::prepare
PDO


Prepares a statement for execution and returns a statement object

PDO::lastInsertId
PDO::query
PDO
PHP Manual

PDO::prepare

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::prepare — Prepares a statement for execution and returns a statement object

Описание

PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Prepares an SQL statement to be executed by the PDOStatement::execute() method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query.

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement::execute(). You cannot use a named parameter marker of the same name twice in a prepared statement. You cannot bind multiple values to a single named parameter in, for example, the IN() clause of an SQL statement.

Calling PDO::prepare() and PDOStatement::execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information, and helps to prevent SQL injection attacks by eliminating the need to manually quote the parameters.

PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.

Список параметров

statement

This must be a valid SQL statement for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable cursor. Some drivers have driver specific options that may be set at prepare-time.

Возвращаемые значения

If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO::prepare() returns FALSE or emits PDOException (depending on error handling).

Замечание:

Emulated prepared statements does not communicate with the database server so PDO::prepare() does not check the statement.

Примеры

Пример #1 Prepare an SQL statement with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Пример #2 Prepare an SQL statement with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

Смотрите также

  • PDO::exec() - Execute an SQL statement and return the number of affected rows
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::lastInsertId
PDO::query
PDO


Executes an SQL statement, returning a result set as a PDOStatement object

PDO::prepare
PDO::quote
PDO
PHP Manual

PDO::query

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object

Описание

PDOStatement PDO::query ( string $statement )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )

PDO::query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

For a query that you need to issue multiple times, you will realize better performance if you prepare a PDOStatement object using PDO::prepare() and issue the statement with multiple calls to PDOStatement::execute().

If you do not fetch all of the data in a result set before issuing your next call to PDO::query(), your call may fail. Call PDOStatement::closeCursor() to release the database resources associated with the PDOStatement object before issuing your next call to PDO::query().

Замечание:

Although this function is only documented as having a single parameter, you may pass additional arguments to this function. They will be treated as though you called PDOStatement::setFetchMode() on the resultant statement object.

Список параметров

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Возвращаемые значения

PDO::query() returns a PDOStatement object, or FALSE on failure.

Примеры

Пример #1 Demonstrate PDO::query

A nice feature of PDO::query() is that it enables you to iterate over the rowset returned by a successfully executed SELECT statement.

<?php
function getFruit($conn) {
    $sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
        print $row['color'] . "\t";
        print $row['calories'] . "\n";
    }
}
?>

Результат выполнения данного примера:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Смотрите также

  • PDO::exec() - Execute an SQL statement and return the number of affected rows
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::prepare
PDO::quote
PDO


Quotes a string for use in a query.

PDO::query
PDO::rollBack
PDO
PHP Manual

PDO::quote

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.1)

PDO::quote — Quotes a string for use in a query.

Описание

string PDO::quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )

PDO::quote() places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

If you are using this function to build SQL statements, you are strongly recommended to use PDO::prepare() to prepare SQL statements with bound parameters instead of using PDO::quote() to interpolate user input into an SQL statement. Prepared statements with bound parameters are not only more portable, more convenient, immune to SQL injection, but are often much faster to execute than interpolated queries, as both the server and client side can cache a compiled form of the query.

Not all PDO drivers implement this method (notably PDO_ODBC). Consider using prepared statements instead.

Список параметров

string

The string to be quoted.

parameter_type

Provides a data type hint for drivers that have alternate quoting styles.

Возвращаемые значения

Returns a quoted string that is theoretically safe to pass into an SQL statement. Returns FALSE if the driver does not support quoting in this way.

Примеры

Пример #1 Quoting a normal string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

Результат выполнения данного примера:

Unquoted string: Nice
Quoted string: 'Nice'

Пример #2 Quoting a dangerous string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Dangerous string */
$string = 'Naughty \' string';
print "Unquoted string: $string\n";
print "Quoted string:" . $conn->quote($string) . "\n";
?>

Результат выполнения данного примера:

Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

Пример #3 Quoting a complex string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Complex string */
$string = "Co'mpl''ex \"st'\"ring";
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

Результат выполнения данного примера:

Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::query
PDO::rollBack
PDO


Rolls back a transaction

PDO::quote
PDO::setAttribute
PDO
PHP Manual

PDO::rollBack

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::rollBack — Rolls back a transaction

Описание

bool PDO::rollBack ( void )

Rolls back the current transaction, as initiated by PDO::beginTransaction(). It is an error to call this method if no transaction is active.

If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Смотрите также

  • PDO::beginTransaction() - Initiates a transaction
  • PDO::commit() - Commits a transaction
  • Transactions and auto-commit

PDO::quote
PDO::setAttribute
PDO


Set an attribute

PDO::rollBack
PDOStatement
PDO
PHP Manual

PDO::setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::setAttribute — Set an attribute

Описание

bool PDO::setAttribute ( int $attribute , mixed $value )

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

  • PDO::ATTR_CASE: Force column names to a specific case.

    • PDO::CASE_LOWER: Force column names to lower case.

    • PDO::CASE_NATURAL: Leave column names as returned by the database driver.

    • PDO::CASE_UPPER: Force column names to upper case.

  • PDO::ATTR_ERRMODE: Error reporting.

    • PDO::ERRMODE_SILENT: Just set error codes.

    • PDO::ERRMODE_WARNING: Raise E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Throw exceptions.

  • PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

    • PDO::NULL_NATURAL: No conversion.

    • PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.

    • PDO::NULL_TO_STRING: NULL is converted to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_TIMEOUT: Specifies the timeout duration in seconds. Not all drivers support this option, and it's meaning may differ from driver to driver. For example, sqlite will wait for up to this time value before giving up on obtaining an writable lock, but other drivers may interpret this as a connect or a read timeout interval. Requires int.

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::ATTR_EMULATE_PREPARES Enables or disables emulation of prepared statements. Some drivers do not support native prepared statements or have limited support for them. Use this setting to force PDO to either always emulate prepared statements (if TRUE), or to try to use native prepared statements (if FALSE). It will always fall back to emulating the prepared statement if the driver cannot successfully prepare the current query. Requires bool.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

  • PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch() documentation.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDO::rollBack
PDOStatement
PDO


The PDOStatement class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a prepared statement and, after the statement is executed, an associated result set.

Обзор классов

PDOStatement implements Traversable {
/* Свойства */
readonly string $PDOStatement->queryString;
/* Методы */
bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
bool PDOStatement::closeCursor ( void )
int PDOStatement::columnCount ( void )
bool PDOStatement::debugDumpParams ( void )
string PDOStatement::errorCode ( void )
array PDOStatement::errorInfo ( void )
bool PDOStatement::execute ([ array $input_parameters ] )
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
string PDOStatement::fetchColumn ([ int $column_number = 0 ] )
mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )
mixed PDOStatement::getAttribute ( int $attribute )
array PDOStatement::getColumnMeta ( int $column )
bool PDOStatement::nextRowset ( void )
int PDOStatement::rowCount ( void )
bool PDOStatement::setAttribute ( int $attribute , mixed $value )
bool PDOStatement::setFetchMode ( int $mode )
}

Свойства

queryString

Used query string.

Содержание

  • PDOStatement->bindColumn — Bind a column to a PHP variable
  • PDOStatement->bindParam — Binds a parameter to the specified variable name
  • PDOStatement->bindValue — Binds a value to a parameter
  • PDOStatement->closeCursor — Closes the cursor, enabling the statement to be executed again.
  • PDOStatement->columnCount — Returns the number of columns in the result set
  • PDOStatement->debugDumpParams — Dump an SQL prepared command
  • PDOStatement->errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement->errorInfo — Fetch extended error information associated with the last operation on the statement handle
  • PDOStatement->execute — Executes a prepared statement
  • PDOStatement->fetch — Fetches the next row from a result set
  • PDOStatement->fetchAll — Returns an array containing all of the result set rows
  • PDOStatement->fetchColumn — Returns a single column from the next row of a result set
  • PDOStatement->fetchObject — Fetches the next row and returns it as an object.
  • PDOStatement->getAttribute — Retrieve a statement attribute
  • PDOStatement->getColumnMeta — Returns metadata for a column in a result set
  • PDOStatement->nextRowset — Advances to the next rowset in a multi-rowset statement handle
  • PDOStatement->rowCount — Returns the number of rows affected by the last SQL statement
  • PDOStatement->setAttribute — Set a statement attribute
  • PDOStatement->setFetchMode — Set the default fetch mode for this statement
PDO::setAttribute
PDOStatement->bindColumn
PDO


Bind a column to a PHP variable

PDOStatement
PDOStatement->bindParam
PDOStatement
PHP Manual

PDOStatement->bindColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->bindColumn — Bind a column to a PHP variable

Описание

bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )

PDOStatement::bindColumn() arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement::fetch() or PDOStatement::fetchAll() will update all the variables that are bound to columns.

Замечание:

Since information about the columns is not always available to PDO until the statement is executed, portable applications should call this function after PDOStatement::execute().

However, to be able to bind a LOB column as a stream when using the PgSQL driver, applications should call this method before calling PDOStatement::execute(), otherwise the large object OID will be returned as an integer.

Список параметров

column

Number of the column (1-indexed) or name of the column in the result set. If using the column name, be aware that the name should match the case of the column, as returned by the driver.

param

Name of the PHP variable to which the column will be bound.

type

Data type of the parameter, specified by the PDO::PARAM_* constants.

maxlen

A hint for pre-allocation.

driverdata

Optional parameter(s) for the driver.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Binding result set output to PHP variables

Binding columns in the result set to PHP variables is an effective way to make the data contained in each row immediately available to your application. The following example demonstrates how PDO allows you to bind and retrieve columns with a variety of options and with intelligent defaults.

<?php
function readData($dbh) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Bind by column number */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /* Bind by column name */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

Результат выполнения данного примера:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Смотрите также

  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set

PDOStatement
PDOStatement->bindParam
PDOStatement


Binds a parameter to the specified variable name

PDOStatement->bindColumn
PDOStatement->bindValue
PDOStatement
PHP Manual

PDOStatement->bindParam

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->bindParam — Binds a parameter to the specified variable name

Описание

bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement. Unlike PDOStatement::bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called.

Most parameters are input parameters, that is, parameters that are used in a read-only fashion to build up the query. Some drivers support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.

Список параметров

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

variable

Name of the PHP variable to bind to the SQL statement parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.

length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.

driver_options

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Пример #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Пример #3 Call a stored procedure with an INOUT parameter

<?php
/* Call a stored procedure with an INOUT parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindValue() - Binds a value to a parameter

PDOStatement->bindColumn
PDOStatement->bindValue
PDOStatement


Binds a value to a parameter

PDOStatement->bindParam
PDOStatement->closeCursor
PDOStatement
PHP Manual

PDOStatement->bindValue

(PHP 5 >= 5.1.0, PECL pdo >= 1.0.0)

PDOStatement->bindValue — Binds a value to a parameter

Описание

bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement.

Список параметров

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

value

The value to bind to the parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Пример #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name

PDOStatement->bindParam
PDOStatement->closeCursor
PDOStatement


Closes the cursor, enabling the statement to be executed again.

PDOStatement->bindValue
PDOStatement->columnCount
PDOStatement
PHP Manual

PDOStatement->closeCursor

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->closeCursor — Closes the cursor, enabling the statement to be executed again.

Описание

bool PDOStatement::closeCursor ( void )

PDOStatement::closeCursor() frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

PDOStatement::closeCursor() is implemented either as an optional driver specific method (allowing for maximum efficiency), or as the generic PDO fallback if no driver specific function is installed. The PDO generic fallback is semantically the same as writing the following code in your PHP script:

<?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A PDOStatement::closeCursor() example

In the following example, the $stmt PDOStatement object returns multiple rows but the application fetches only the first row, leaving the PDOStatement object in a state of having unfetched rows. To ensure that the application will work with all database drivers, the author inserts a call to PDOStatement::closeCursor() on $stmt before executing the $otherStmt PDOStatement object.

<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Execute the first statement */
$stmt->execute();

/* Fetch only the first row from the results */
$stmt->fetch();

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();

/* Now we can execute the second statement */
$otherStmt->execute();
?>

Смотрите также

  • PDOStatement::execute() - Executes a prepared statement

PDOStatement->bindValue
PDOStatement->columnCount
PDOStatement


Returns the number of columns in the result set

PDOStatement->closeCursor
PDOStatement->debugDumpParams
PDOStatement
PHP Manual

PDOStatement->columnCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->columnCount — Returns the number of columns in the result set

Описание

int PDOStatement::columnCount ( void )

Use PDOStatement::columnCount() to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from PDO::query(), the column count is immediately available.

If the PDOStatement object was returned from PDO::prepare(), an accurate column count will not be available until you invoke PDOStatement::execute().

Возвращаемые значения

Returns the number of columns in the result set represented by the PDOStatement object. If there is no result set, PDOStatement::columnCount() returns 0.

Примеры

Пример #1 Counting columns

This example demonstrates how PDOStatement::columnCount() operates with and without a result set.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");

?>

Результат выполнения данного примера:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement

PDOStatement->closeCursor
PDOStatement->debugDumpParams
PDOStatement


Dump an SQL prepared command

PDOStatement->columnCount
PDOStatement->errorCode
PDOStatement
PHP Manual

PDOStatement->debugDumpParams

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->debugDumpParams — Dump an SQL prepared command

Описание

bool PDOStatement::debugDumpParams ( void )

Dumps the informations contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters, with their name, type (paramtype) as an integer, their key name or position, the value, and the position in the query (if this is supported by the PDO driver, otherwise, it will be -1).

This is a debug function, which dump directly the data on the normal output.

Подсказка

Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в string.

This will only dumps the parameters in the statement at the moment of the dump. Extra parameters are not stored in the statement, and not displayed.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 PDOStatement::debugDumpParams() example with named parameters

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

$sth->debugDumpParams();

?>

Результат выполнения данного примера:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Пример #2 PDOStatement::debugDumpParams() example with unnamed parameters

<?php

/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$name = 'apple';

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();

$sth->debugDumpParams();

?>

Результат выполнения данного примера:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::bindValue() - Binds a value to a parameter

PDOStatement->columnCount
PDOStatement->errorCode
PDOStatement


Fetch the SQLSTATE associated with the last operation on the statement handle

PDOStatement->debugDumpParams
PDOStatement->errorInfo
PDOStatement
PHP Manual

PDOStatement->errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle

Описание

string PDOStatement::errorCode ( void )

Возвращаемые значения

Identical to PDO::errorCode(), except that PDOStatement::errorCode() only retrieves error codes for operations performed with PDOStatement objects.

Примеры

Пример #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

Результат выполнения данного примера:

PDOStatement::errorCode(): 42S02

Смотрите также

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDOStatement->debugDumpParams
PDOStatement->errorInfo
PDOStatement


Fetch extended error information associated with the last operation on the statement handle

PDOStatement->errorCode
PDOStatement->execute
PDOStatement
PHP Manual

PDOStatement->errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->errorInfo — Fetch extended error information associated with the last operation on the statement handle

Описание

array PDOStatement::errorInfo ( void )

Возвращаемые значения

PDOStatement::errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver specific error code.
2 | Driver specific error message.

Примеры

Пример #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

Результат выполнения данного примера:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Смотрите также

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle

PDOStatement->errorCode
PDOStatement->execute
PDOStatement


Executes a prepared statement

PDOStatement->errorInfo
PDOStatement->fetch
PDOStatement
PHP Manual

PDOStatement->execute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->execute — Executes a prepared statement

Описание

bool PDOStatement::execute ([ array $input_parameters ] )

Execute the prepared statement. If the prepared statement included parameter markers, you must either:

  • call PDOStatement::bindParam() to bind PHP variables to the parameter markers: bound variables pass their value as input and receive the output value, if any, of their associated parameter markers

  • or pass an array of input-only parameter values

Список параметров

input_parameters

An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as PDO::PARAM_STR.

You cannot bind multiple values to a single parameter; for example, you cannot bind two values to a single named parameter in an IN() clause.

You cannot bind more values than specified; if more keys exist in input_parameters than in the SQL specified in the PDO::prepare(), then the statement will fail and an error is emitted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.0 | The keys from input_parameters must match the ones declared in the SQL. Before PHP 5.2.0 this was silently ignored.

Примеры

Пример #1 Execute a prepared statement with bound variables

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Пример #2 Execute a prepared statement with an array of insert values (named parameters)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

Пример #3 Execute a prepared statement with an array of insert values (placeholders)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

Пример #4 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Примечания

Замечание:

Some drivers require to close cursor before executing next statement.

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set

PDOStatement->errorInfo
PDOStatement->fetch
PDOStatement


Fetches the next row from a result set

PDOStatement->execute
PDOStatement->fetchAll
PDOStatement
PHP Manual

PDOStatement->fetch

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->fetch — Fetches the next row from a result set

Описание

mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )

Fetches a row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.

Список параметров

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, defaulting to value of PDO::ATTR_DEFAULT_FETCH_MODE (which defaults to PDO::FETCH_BOTH).

  • PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

  • PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

  • PDO::FETCH_BOUND: returns TRUE and assigns the values of the columns in your result set to the PHP variables to which they were bound with the PDOStatement::bindColumn() method

  • PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.

  • PDO::FETCH_INTO: updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class

  • PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed

  • PDO::FETCH_NUM: returns an array indexed by column number as returned in your result set, starting at column 0

  • PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

cursor_orientation

For a PDOStatement object representing a scrollable cursor, this value determines which row will be returned to the caller. This value must be one of the PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO::prepare().

offset

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_ABS, this value specifies the absolute number of the row in the result set that shall be fetched.

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this value specifies the row to fetch relative to the cursor position before PDOStatement::fetch() was called.

Возвращаемые значения

The return value of this function on success depends on the fetch type. In all cases, FALSE is returned on failure.

Примеры

Пример #1 Fetching rows using different fetch styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>

Результат выполнения данного примера:

PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array
(
    [NAME] => apple
    [COLOUR] => red
)

PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number
Array
(
    [NAME] => banana
    [0] => banana
    [COLOUR] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [NAME] => orange
    [COLOUR] => orange
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
kiwi

Пример #2 Fetching rows with a scrollable cursor

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Reading forwards:\n";
readDataForwards($conn);

print "Reading backwards:\n";
readDataBackwards($conn);
?>

Результат выполнения данного примера:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

Смотрите также

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDOStatement::fetchObject() - Fetches the next row and returns it as an object.
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement->execute
PDOStatement->fetchAll
PDOStatement


Returns an array containing all of the result set rows

PDOStatement->fetch
PDOStatement->fetchColumn
PDOStatement
PHP Manual

PDOStatement->fetchAll

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->fetchAll — Returns an array containing all of the result set rows

Описание

array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

Список параметров

fetch_style

Controls the contents of the returned array as documented in
PDOStatement::fetch().
Defaults to value of PDO::ATTR_DEFAULT_FETCH_MODE
(which defaults to PDO::FETCH_BOTH)

To return an array consisting of all values of a single column from the result set, specify PDO::FETCH_COLUMN. You can specify which column you want with the column-index parameter.

To fetch only the unique values of a single column from the result set, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE.

To return an associative array grouped by the values of a specified column, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_GROUP.

fetch_argument

This argument have a different meaning depending on the value of the fetch_style parameter:

  • PDO::FETCH_COLUMN: Returns the indicated 0-indexed column.

  • PDO::FETCH_CLASS: Returns instances of the specified class, mapping the columns of each row to named properties in the class.

  • PDO::FETCH_FUNC: Returns the results of calling the specified function, using each row's columns as parameters in the call.

ctor_args

Arguments of custom class constructor when the fetch_style parameter is PDO::FETCH_CLASS.

Возвращаемые значения

PDOStatement::fetchAll() returns an array containing all of the remaining rows in the result set. The array represents each row as either an array of column values or an object with properties corresponding to each column name.

Using this method to fetch large result sets will result in a heavy demand on system and possibly network resources. Rather than retrieving all of the data and manipulating it in PHP, consider using the database server to manipulate the result sets. For example, use the WHERE and ORDER BY clauses in SQL to restrict results before retrieving and processing them with PHP.

Примеры

Пример #1 Fetch all remaining rows in a result set

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

Результатом выполнения данного примера будет что-то подобное:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

Пример #2 Fetching all values of a single column from a result set

The following example demonstrates how to return all of the values of a single column from a result set, even though the SQL statement itself may return multiple columns per row.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

Результатом выполнения данного примера будет что-то подобное:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Пример #3 Grouping all values by a single column

The following example demonstrates how to return an associative array grouped by the values of the specified column in the result set. The array contains three keys: values apple and pear are returned as arrays that contain two different colours, while watermelon is returned as an array that contains only one colour.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

Пример #4 Instantiating a class for each result

The following example demonstrates the behaviour of the PDO::FETCH_CLASS fetch style.

<?php
class fruit {
    public $name;
    public $colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
}

Пример #5 Calling a function for each result

The following example demonstrates the behaviour of the PDO::FETCH_FUNC fetch style.

<?php
function fruit($name, $colour) {
    return "{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
}

Смотрите также

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement->fetch
PDOStatement->fetchColumn
PDOStatement


Returns a single column from the next row of a result set

PDOStatement->fetchAll
PDOStatement->fetchObject
PDOStatement
PHP Manual

PDOStatement->fetchColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->fetchColumn — Returns a single column from the next row of a result set

Описание

string PDOStatement::fetchColumn ([ int $column_number = 0 ] )

Returns a single column from the next row of a result set or FALSE if there are no more rows.

Список параметров

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement::fetchColumn() fetches the first column.

Возвращаемые значения

PDOStatement::fetchColumn() returns a single column in the next row of a result set.

Внимание

There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.

Примеры

Пример #1 Return first column of the next row

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch the first column from the next row in the result set */
print("Fetch the first column from the next row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Fetch the second column from the next row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

Результат выполнения данного примера:

Fetch the first column from the next row in the result set:
name = lemon
Fetch the second column from the next row in the result set:
colour = red

Смотрите также

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement->fetchAll
PDOStatement->fetchObject
PDOStatement


Fetches the next row and returns it as an object.

PDOStatement->fetchColumn
PDOStatement->getAttribute
PDOStatement
PHP Manual

PDOStatement->fetchObject

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.4)

PDOStatement->fetchObject — Fetches the next row and returns it as an object.

Описание

mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )

Fetches the next row and returns it as an object. This function is an
alternative to PDOStatement::fetch() with
PDO::FETCH_CLASS or
PDO::FETCH_OBJ style.

Список параметров

class_name

Name of the created class.

ctor_args

Elements of this array are passed to the constructor.

Возвращаемые значения

Returns an instance of the required class with property names that correspond to the column names или FALSE в случае возникновения ошибки.

Смотрите также

  • PDOStatement::fetch() - Fetches the next row from a result set

PDOStatement->fetchColumn
PDOStatement->getAttribute
PDOStatement


Retrieve a statement attribute

PDOStatement->fetchObject
PDOStatement->getColumnMeta
PDOStatement
PHP Manual

PDOStatement->getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->getAttribute — Retrieve a statement attribute

Описание

mixed PDOStatement::getAttribute ( int $attribute )

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

Возвращаемые значения

Returns the attribute value.

Смотрите также

  • PDO::getAttribute() - Retrieve a database connection attribute
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::setAttribute() - Set a statement attribute

PDOStatement->fetchObject
PDOStatement->getColumnMeta
PDOStatement


Returns metadata for a column in a result set

PDOStatement->getAttribute
PDOStatement->nextRowset
PDOStatement
PHP Manual

PDOStatement->getColumnMeta

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->getColumnMeta — Returns metadata for a column in a result set

Описание

array PDOStatement::getColumnMeta ( int $column )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

Внимание

Not all PDO drivers support PDOStatement::getColumnMeta().

Список параметров

column

The 0-indexed column in the result set.

Возвращаемые значения

Returns an associative array containing the following values representing the metadata for a single column:

Column metadata
Name | Value
native_type | The PHP native type used to represent the column value.
driver:decl_type | The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement::getColumnMeta().
flags | Any flags set for this column.
name | The name of this column as returned by the database.
table | The name of this column's table as returned by the database.
len | The length of this column. Normally -1 for types other than floating point decimals.
precision | The numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_type | The type of this column as represented by the PDO::PARAM_* constants.

Returns FALSE if the requested column does not exist in the result set, or if no result set exists.

Список изменений

Версия | Описание
5.2.3 | table field

Примеры

Пример #1 Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

Результат выполнения данного примера:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Смотрите также

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement

PDOStatement->getAttribute
PDOStatement->nextRowset
PDOStatement


Advances to the next rowset in a multi-rowset statement handle

PDOStatement->getColumnMeta
PDOStatement->rowCount
PDOStatement
PHP Manual

PDOStatement->nextRowset

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->nextRowset — Advances to the next rowset in a multi-rowset statement handle

Описание

bool PDOStatement::nextRowset ( void )

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement::nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement::nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Result set $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

Результат выполнения данного примера:

Result set 1:
apple    red
banana   yellow

Result set 2:
orange   orange    150
banana   yellow    175

Result set 3:
lime     green
apple    red
banana   yellow

Смотрите также

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::getColumnMeta() - Returns metadata for a column in a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object

PDOStatement->getColumnMeta
PDOStatement->rowCount
PDOStatement


Returns the number of rows affected by the last SQL statement

PDOStatement->nextRowset
PDOStatement->setAttribute
PDOStatement
PHP Manual

PDOStatement->rowCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->rowCount — Returns the number of rows affected by the last SQL statement

Описание

int PDOStatement::rowCount ( void )

PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Возвращаемые значения

Returns the number of rows.

Примеры

Пример #1 Return the number of deleted rows

PDOStatement::rowCount() returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

Результат выполнения данного примера:

Return number of rows that were deleted:
Deleted 9 rows.

Пример #2 Counting rows returned by a SELECT statement

For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

    /* Check the number of rows that match the SELECT statement */
  if ($res->fetchColumn() > 0) {

        /* Issue the real SELECT statement and work with the results */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conn->query($sql) as $row) {
           print "Name: " .  $row['NAME'] . "\n";
         }
    }
    /* No rows matched -- do something else */
  else {
      print "No rows matched the query.";
    }
}

$res = null;
$conn = null;
?>

Результат выполнения данного примера:

apple
banana
orange
pear

Смотрите также

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object

PDOStatement->nextRowset
PDOStatement->setAttribute
PDOStatement


Set a statement attribute

PDOStatement->rowCount
PDOStatement->setFetchMode
PDOStatement
PHP Manual

PDOStatement->setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->setAttribute — Set a statement attribute

Описание

bool PDOStatement::setAttribute ( int $attribute , mixed $value )

Sets an attribute on the statement. Currently, no generic attributes are set but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT OF.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • PDO::getAttribute() - Retrieve a database connection attribute
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute

PDOStatement->rowCount
PDOStatement->setFetchMode
PDOStatement


Set the default fetch mode for this statement

PDOStatement->setAttribute
PDOException
PDOStatement
PHP Manual

PDOStatement->setFetchMode

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->setFetchMode — Set the default fetch mode for this statement

Описание

bool PDOStatement::setFetchMode ( int $mode )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object )

Список параметров

mode

The fetch mode must be one of the PDO::FETCH_* constants.

colno

Column number.

classname

Class name.

ctorargs

Constructor arguments.

object

Object.

Возвращаемые значения

Returns 1 on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting the fetch mode

The following example demonstrates how PDOStatement::setFetchMode() changes the default fetch mode for a PDOStatement object.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

Результат выполнения данного примера:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

PDOStatement->setAttribute
PDOException
PDOStatement


The PDOException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents an error raised by PDO. You should not throw a PDOException from your own code. See Exceptions for more information about Exceptions in PHP.

Обзор классов

PDOException extends RuntimeException {
/* Свойства */
public array $PDOException->errorInfo ;
protected string $message ;
protected string $code ;
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

errorInfo

Corresponds to PDO::errorInfo() or PDOStatement::errorInfo()

message

Textual error message. Exception::getMessage() to access it.

code

SQLSTATE error code. Use Exception::getCode() to access it.

PDOStatement->setFetchMode
PDO Drivers
PDO


PDO Drivers

Содержание

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird/Interbase (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

The following drivers currently implement the PDO interface:

Driver name | Supported databases
PDO_CUBRID | Cubrid
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird/Interbase 6
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 and SQLite 2
PDO_SQLSRV | Microsoft SQL Server / SQL Azure
PDO_4D | 4D

PDOException
CUBRID (PDO)
PDO


CUBRID Functions (PDO_CUBRID)

Введение

PDO_CUBRID is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to CUBRID databases.

Замечание:

Current version of PDO_CUBRID doesn't support persistent connection now.

Установка

To build the PDO_CUBRID extension, the CUBRID DBMS must be installed on the same system as PHP. PDO_CUBRID is a » PECL extension, so follow the instructions in Установка расширений PECL to install the PDO_CUBRID extension. Issue the configure command to point to the location of your CUBRID base dir as follows:

   $ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
The configure command defaults to the value of the CUBRID environment variable.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows. Detailed information about installation on Linux and Windows manually, please read build-guide.html in PECL package CUBRID for reference.

Features

PDO_CUBRID Features
Feature | Description
Scrollable cursors | PDO_CUBRID supports scrollable cursors. The default cursor type is forward only, and you can use parameter driver_options in PDO::prepare() to change cursor type.
Timeout | PDO_CUBRID supports sql statement execution timeout setting; You can use PDO::setAttribute() to set timeout value.
Autocommit_mode and Transaction PDO_CUBRID supports both autocommit_mode and transaction, and autocommit_mode is disabled by default. You can use PDO::setAttribute() to change its state.

If you use PDO::beginTransaction() to begin a transaction, it will disable autocommit_mode automatically and restore it after PDO::commit() or PDO::rollBack(). Note that before disabling the autocommit_mode, any pending work is automatically committed.

Multiple SQL Statements | PDO_CUBRID supports Multiple SQL statements. Multiple SQL statements are separated by semicolons (;)
Schema Information | PDO_CUBRID implements a function PDO::cubrid_schema() to get schema information.
LOBs PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is represented as a stream, so you can insert LOBs by binding a stream, and get LOBs by reading a stream returned by CUBRID PDO. For example:

Пример #1 Insert LOBs in CUBRID PDO

<?php
$fp = fopen('lob_test.png', 'rb');

$sql_stmt = "INSERT INTO lob_test(name, content) VALUES('lob_test.png', ?)";

$stmt = $dbh->prepare($sql_stmt);
$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $stmt->execute();
?>

Пример #2 Fetch LOBs in CUBRID PDO

<?php
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";

$stmt = $dbh->prepare($sql_stmt);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);

header("Content-Type: image/png");
fpassthru($result[0]);
?>

Column meta The PDOStatement::getColumnMeta() in CUBRID PDO will return an associative array containing the following values:
  • type
  • name
  • table
  • def
  • precision
  • scale
  • not_null
  • auto_increment
  • unique_key
  • multiple_key
  • primary_key
  • foreign_key
  • reverse_index
  • reverse_unique

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамечески во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведенние. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

The following constants can be used when setting the database attribute. They can be passed to PDO::getAttribute() or PDO::setAttribute().

PDO::CUBRID attribute flags
Constant | Description
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Transaction isolation level for the database connection.
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Transaction timeout in seconds.
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Read only. The maximum string length for bit, varbit, char, varchar, nchar, nchar varying data types when using CUBRID PDO API.

The following constants can be used when setting the transaction isolation level. They can be passed to PDO::getAttribute() or returned by PDO::setAttribute().

PDO::CUBRID isolation level flags
Constant | Description
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
PDO::TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
PDO::TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to PDO::cubrid_schema().

PDO::CUBRID schema flags
Constant | Description
PDO::CUBRID_SCH_TABLE | Get name and type of table in CUBRID.
PDO::CUBRID_SCH_VIEW | Get name and type of view in CUBRID.
PDO::CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
PDO::CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Get the attributes of table.
PDO::CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
PDO::CUBRID_SCH_TABLE_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
PDO::CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
PDO::CUBRID_SCH_SUPER_TABLE | Get the name and type of table which table inherites attributes from.
PDO::CUBRID_SCH_SUB_TABLE | Get the name and type of table which inherites attributes from this table.
PDO::CUBRID_SCH_CONSTRAINT | Get the table constraints.
PDO::CUBRID_SCH_TRIGGER | Get the table triggers.
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Get the privilege information of table.
PDO::CUBRID_SCH_COL_PRIVILEGE | Get the privilege information of column.
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Get the direct super table of table.
PDO::CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
PDO::CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
PDO::CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
PDO::CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

Содержание

  • PDO_CUBRID DSN — Connecting to CUBRID databases
  • PDO::cubrid_schema — Get the requested schema information
PDO Drivers
PDO_CUBRID DSN
PDO Drivers


Connecting to CUBRID databases

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)
PHP Manual

PDO_CUBRID DSN

(Информация о версии неизвестна, возможно, только в SVN)

PDO_CUBRID DSN — Connecting to CUBRID databases

Описание

The PDO_CUBRID Data Source Name (DSN) is composed of the following elements, delimited by semicolons:

DSN prefix

The DSN prefix is cubrid:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

Примеры

Пример #1 PDO_CUBRID DSN examples

The following example shows a PDO_CUBRID DSN for connecting to a CUBRID database:

cubrid:host=localhost;port=33000;dbname=demodb

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)


Get the requested schema information

PDO_CUBRID DSN
MS SQL Server (PDO)
CUBRID (PDO)
PHP Manual

PDO::cubrid_schema

(Информация о версии неизвестна, возможно, только в SVN)

PDO::cubrid_schema — Get the requested schema information

Описание

array PDO::cubrid_schema ( int $schema_type [, string $table_name [, string $col_name ]] )

This function is used to get the requested schema information from database. You have to designate table_name, if you want to get information on certain table, col_name, if you want to get information on certain column (can be used only with PDO::CUBRID_SCH_COL_PRIVILEGE).

The result of this function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
PDO::CUBRID_SCH_TABLE | 1 | NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW | 1 | NAME |
 | 2 | TYPE | 1:view
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
PDO::CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Список параметров

schema_type

Schema type that you want to know.

table_name

Table you want to know the schema of.

col_name

Column you want to know the schema of.

Возвращаемые значения

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Примеры

Пример #1 A PDO::cubrid_schema() example

This example shows how to get primary key and foreign keys of table game.

<?php
$pk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

Результат выполнения данного примера:

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)

PDO_CUBRID DSN
MS SQL Server (PDO)
CUBRID (PDO)


Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

PDO_DBLIB is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Microsoft SQL Server and Sybase databases through the FreeTDS libary.

This extension is not available anymore on Windows with PHP 5.3 or later.

On Windows, you should use SqlSrv, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx .

If it is not possible to use SqlSrv, you can use the PDO_ODBC driver to connect to Microsoft SQL Server and Sybase databases, as the native Windows DB-LIB is ancient, thread un-safe and no longer supported by Microsoft.

Содержание

  • PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases
PDO::cubrid_schema
PDO_DBLIB DSN
PDO Drivers


Connecting to Microsoft SQL Server and Sybase databases

MS SQL Server (PDO)
Firebird/Interbase (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases

Описание

The PDO_DBLIB Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sybase: if PDO_DBLIB was linked against the Sybase ct-lib libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if PDO_DBLIB was linked against the FreeTDS libraries.

host

The hostname on which the database server resides. Defaults to 127.0.0.1.

dbname

The name of the database.

charset

The client character set.

appname

The application name (used in sysprocesses). Defaults to "PHP Generic DB-lib" or "PHP freetds".

secure

Currently unused.

Примеры

Пример #1 PDO_DBLIB DSN examples

The following examples show a PDO_DBLIB DSN for connecting to Microsoft SQL Server and Sybase databases:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

MS SQL Server (PDO)
Firebird/Interbase (PDO)
MS SQL Server (PDO)


Firebird/Interbase Functions (PDO_FIREBIRD)

Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird and Interbase databases.

Установка

Use --with-pdo-firebird[=DIR] to install the PDO Firebird extension, where the optional [=DIR] is the Firebird base install directory.

$ ./configure --with-pdo-firebird

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамечески во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведенние. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

PDO::FB_ATTR_DATE_FORMAT (integer)

Available since PHP 5.3.0.

Sets the date format.

PDO::FB_ATTR_TIME_FORMAT (integer)

Sets the time format.

Available since PHP 5.3.0.

PDO::FB_ATTR_TIMESTAMP_FORMAT (integer)

Sets the timestamp format.

Available since PHP 5.3.0.

Содержание

  • PDO_FIREBIRD DSN — Connecting to Firebird and Interbase databases
PDO_DBLIB DSN
PDO_FIREBIRD DSN
PDO Drivers


Connecting to Firebird and Interbase databases

Firebird/Interbase (PDO)
IBM (PDO)
Firebird/Interbase (PDO)
PHP Manual

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Connecting to Firebird and Interbase databases

Описание

The PDO_FIREBIRD Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is firebird:.

dbname

The name of the database.

charset

The character set.

role

The SQL role name.

Примеры

Пример #1 PDO_FIREBIRD DSN examples

The following example shows a PDO_FIREBIRD DSN for connecting to Firebird and Interbase databases:

firebird:dbname=DATABASE.GDE

Firebird/Interbase (PDO)
IBM (PDO)
Firebird/Interbase (PDO)


IBM Functions (PDO_IBM)

Введение

PDO_IBM is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to IBM databases.

Установка

To build the PDO_IBM extension, the DB2 Client v9.1 or later must be installed on the same system as PHP. The DB2 Client can be downloaded from the IBM » Application Development Site.

Замечание: Note

The DB2 Client v9.1 or later supports direct access to DB2 for Linux, UNIX, and Windows v8 and v9.1 servers.

The DB2 Client v9.1 also supports access to DB2 UDB for i5 and DB2 UDB for z/OS servers using the separately purchased » DB2 Connect product.

PDO_IBM is a » PECL extension, so follow the instructions in Установка расширений PECL to install the PDO_IBM extension. Issue the configure command to point to the location of your DB2 Client header files and libraries as follows:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
The configure command defaults to the value of the DB2DIR environment variable.

Содержание

  • PDO_IBM DSN — Connecting to IBM databases
PDO_FIREBIRD DSN
PDO_IBM DSN
PDO Drivers


Connecting to IBM databases

IBM (PDO)
Informix (PDO)
IBM (PDO)
PHP Manual

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN — Connecting to IBM databases

Описание

The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:

DSN prefix

The DSN prefix is ibm:.

DSN

The DSN can be any of the following:

  • a) Data source setup using db2cli.ini or odbc.ini

  • b) Catalogued database name i.e. database alias in the DB2 client catalog

  • c) Complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

    database

    The name of the database.

    hostname

    The hostname or IP address of the database server.

    port

    The TCP/IP port on which the database is listening for requests.

    username

    The username with which you are connecting to the database.

    password

    The password with which you are connecting to the database.

Примеры

Пример #1 PDO_IBM DSN example using db2cli.ini

The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Пример #2 PDO_IBM DSN example using a connection string

The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

IBM (PDO)
Informix (PDO)
IBM (PDO)


Informix Functions (PDO_INFORMIX)

Введение

PDO_INFORMIX is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Informix databases.

Установка

To build the PDO_INFORMIX extension, the Informix Client SDK 2.81 UC1 or higher must be installed on the same system as PHP. The Informix Client SDK is available from the » IBM Informix Support Site.

PDO_INFORMIX is a » PECL extension, so follow the instructions in Установка расширений PECL to install the PDO_INFORMIX extension. Issue the configure command to point to the location of your Informix Client SDK header files and libraries as follows:

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
The configure command defaults to the value of the INFORMIXDIR environment variable.

Scrollable cursors

PDO_INFORMIX supports scrollable cursors; however, they are not enabled by default. To enable scrollable cursor support, you must either set ENABLESCROLLABLECURSORS=1 in the corresponding ODBC connection settings in odbc.ini or pass the EnableScrollableCursors=1 clause in the DSN connection string.

Содержание

  • PDO_INFORMIX DSN — Connecting to Informix databases
PDO_IBM DSN
PDO_INFORMIX DSN
PDO Drivers


Connecting to Informix databases

Informix (PDO)
MySQL (PDO)
Informix (PDO)
PHP Manual

PDO_INFORMIX DSN

(PECL PDO_INFORMIX >= 0.1.0)

PDO_INFORMIX DSN — Connecting to Informix databases

Описание

The PDO_INFORMIX Data Source Name (DSN) is based on the Informix ODBC DSN string. Details on configuring an Informix ODBC DSN are available from the » Informix Dynamic Server Information Center. The major components of the PDO_INFORMIX DSN are:

DSN prefix

The DSN prefix is informix:.

DSN

The DSN can be either a data source setup using odbc.ini or a complete » connection string.

Примеры

Пример #1 PDO_INFORMIX DSN example using odbc.ini

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database cataloged as Infdrv33 in odbc.ini:

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Пример #2 PDO_INFORMIX DSN example using a connection string

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database named common_db using the Informix connection string syntax.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

Informix (PDO)
MySQL (PDO)
Informix (PDO)


MySQL Functions (PDO_MYSQL)

Введение

PDO_MYSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MySQL 3.x, 4.x and 5.x databases.

PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you.

Внимание

Beware: Some MySQL table types (storage engines) do not support transactions. When writing transactional database code using a table type that does not support transactions, MySQL will pretend that a transaction was initiated successfully. In addition, any DDL queries issued will implicitly commit any pending transactions.

Установка

Use --with-pdo-mysql[=DIR] to install the PDO MySQL extension, where the optional [=DIR] is the MySQL base install directory. If mysqlnd is passed as [=DIR], then the MySQL native driver will be used.

Optionally, the --with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.

Optionally, the --with-zlib-dir[=DIR] is used to set the path to the libz install prefix.

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

Список изменений
Версия | Описание
5.4.0 | MySQL client libraries 4.1 and below are no longer supported.

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамечески во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведенние. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
If this attribute is set to TRUE on a PDOStatement, the MySQL driver will use the buffered versions of the MySQL API. If you're writing portable code, you should use PDOStatement::fetchAll() instead.

Пример #1 Forcing queries to be buffered in mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("my application only works with mysql; I should use \$stmt->fetchAll() instead");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (integer)

Enable LOAD LOCAL INFILE.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Read options from the named option file instead of from my.cnf. This option is not available if mysqlnd is used, because mysqlnd does not read the mysql configuration files.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE. This option is not available if mysqlnd is used, because mysqlnd does not read the mysql configuration files.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Maximum buffer size. Defaults to 1 MiB. This constant is not supported when compiled against mysqlnd.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Perform direct queries, don't use prepared statements.

PDO::MYSQL_ATTR_FOUND_ROWS (integer)

Return the number of found (matched) rows, not the number of changed rows.

PDO::MYSQL_ATTR_IGNORE_SPACE (integer)

Permit spaces after function names. Makes all functions names reserved words.

PDO::MYSQL_ATTR_COMPRESS (integer)

Enable network communication compression. This is not supported when compiled against mysqlnd.

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PDO_MYSQL Configuration Options
Name | Default | Changeable
pdo_mysql.default_socket | "/tmp/mysql.sock" | PHP_INI_SYSTEM
pdo_mysql.debug | NULL | PHP_INI_SYSTEM
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

pdo_mysql.default_socket string

Sets a Unix domain socket. This value can either be set at compile time if a domain socket is found at configure. This ini setting is Unix only.

pdo_mysql.debug boolean

Enables debugging for PDO_MYSQL. This setting is only available when PDO_MYSQL is compiled against mysqlnd and in PDO debug mode.

Содержание

  • PDO_MYSQL DSN — Connecting to MySQL databases
PDO_INFORMIX DSN
PDO_MYSQL DSN
PDO Drivers


Connecting to MySQL databases

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)
PHP Manual

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Connecting to MySQL databases

Описание

The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is mysql:.

host

The hostname on which the database server resides.

port

The port number where the database server is listening.

dbname

The name of the database.

unix_socket

The MySQL Unix socket (shouldn't be used with host or port).

charset

The character set.

Prior to PHP 5.3.6, this element was silently ignored. The same behaviour can be partly replicated with the PDO::MYSQL_ATTR_INIT_COMMAND driver option, as the following example shows.

Внимание

The method in the below example can only be used with character sets that share the same lower 7 bit representation as ASCII, such as ISO-8859-1 and UTF-8. Users using character sets that have different representations (such as UTF-16 or Big5) must use the charset option provided in PHP 5.3.6 and later versions.

Пример #1 Setting the connection character set to UTF-8 prior to PHP 5.3.6

<?php
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$dbh = new PDO($dsn, $username, $password, $options);
?>

Список изменений

Версия | Описание
5.3.6 | Prior to version 5.3.6, charset was ignored.

Примеры

Пример #2 PDO_MYSQL DSN examples

The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:

mysql:host=localhost;dbname=testdb
More complete examples:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Примечания

Замечание: Unix only:

When the host name is set to "localhost", then the connection to the server is made thru a domain socket. If PDO_MYSQL is compiled against libmysql then the location of the socket file is at libmysql's compiled in location. If PDO_MYSQL is compiled against mysqlnd a default socket can be set thru the pdo_mysql.default_socket setting.

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)


Microsoft SQL Server Functions (PDO_SQLSRV)

Введение

PDO_SQLSRV is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MS SQL Server (starting with SQL Server 2005) and SQL Azure databases.

Установка

The PDO_SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The PDO_SQLSRV download comes with several driver files. Which driver file you use will depend on 3 factors: the PHP version you are using, whether you are using thread-safe or non-thread-safe PHP, and whether your PHP installation was compiled with the VC6 or VC9 compiler. For example, if you are running PHP 5.3, you are using non-thread-safe PHP, and your PHP installation was compiled with the VC9 compiler, you should use the php_pdo_sqlsrv_53_nts_vc9.dll file. (You should use a non-thread-safe version compiled with the VC9 compiler if you are using IIS as your web server). If you are running PHP 5.2, you are using thread-safe PHP, and your PHP installation was compiled with the VC6 compiler, you should use the php_pdo_sqlsrv_52_ts_vc6.dll file.

For more information about system requirements, see » SQLSRV System Requirements.

The PDO_SQLSRV extension is only compatible with PHP running on Windows.

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамечески во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведенние. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Snapshot.
PDO::SQLSRV_TXN_SERIALIZABLE (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Serializable.
PDO::SQLSRV_ENCODING_BINARY (integer)
Specifies that data is sent/retrieved as a raw byte stream to/from the server without performing encoding or translation. This constant can be passed to PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (integer)
Specifies that data is sent/retrieved to/from the server as 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (integer)
Specifies that data is sent/retrieved to/from the server in UTF-8 encoding. This is the default encoding. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (integer)
Specifies that data is sent/retrieved to/from the server according to PDO::SQLSRV_ENCODING_SYSTEM if specified during connection. The connection's encoding is used if specified in a prepare statement. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (integer)
A non-negative integer representing the timeout period, in seconds. Zero (0) is the default and means no timeout. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, and PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (integer)
Indicates that a query should be executed directly, without being prepared. This constant can be passed to PDO::setAttribute, and PDO::prepare. For more information, see » Direct and Prepared Statement Execution.

Содержание

  • PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases
PDO_MYSQL DSN
PDO_SQLSRV DSN
PDO Drivers


Connecting to MS SQL Server and SQL Azure databases

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_SQLSRV DSN

(Информация о версии неизвестна, возможно, только в SVN)

PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases

Описание

The PDO_SQLSRV Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sqlsrv:.

APP

The application name used in tracing.

ConnectionPooling

Specifies whether the connection is assigned from a connection pool (1 or TRUE) or not (0 or FALSE).

Database

The name of the database.

Encrypt

Specifies whether the communication with SQL Server is encrypted (1 or TRUE) or unencrypted (0 or FALSE).

Failover_Partner

Specifies the server and instance of the database's mirror (if enabled and configured) to use when the primary server is unavailable.

LoginTimeout

Specifies the number of seconds to wait before failing the connection attempt.

MultipleActiveResultSets

Disables or explicitly enables support for multiple active Result sets (MARS).

QuotedId

Specifies whether to use SQL-92 rules for quoted identifiers (1 or TRUE) or to use legacy Transact-SQL rules (0 or false).

Server

The name of the database server.

TraceFile

Specifies the path for the file used for trace data.

TraceOn

Specifies whether ODBC tracing is enabled (1 or TRUE) or disabled (0 or FALSE) for the connection being established.

TransactionIsolation

Specifies the transaction isolation level. The accepted values for this
option are PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED,
PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT, and
PDO::SQLSRV_TXN_SERIALIZABLE.

TrustServerCertificate

Specifies whether the client should trust (1 or TRUE) or reject (0 or FALSE) a self-signed server certificate.

WSID

Specifies the name of the computer for tracing.

Примеры

Пример #1 PDO_SQLSRV DSN examples

The following example shows how to connecto to a specified MS SQL Server database:

$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");

The following example shows how to connect to a MS SQL Server database on a specified port:

$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

The following example shows how to connecto to a SQL Azure database with server ID 12345abcde. Note that when you connect to SQL Azure with PDO, your username will be UserName@12345abcde (UserName@ServerId).

$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password");

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)


Oracle Functions (PDO_OCI)

Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

PDO_OCI is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Oracle databases through the OCI library.

Установка

Use --with-pdo-oci[=DIR] to install the PDO Oracle OCI extension, where the optional [=DIR] is the Oracle Home directory. [=DIR] defaults to the $ORACLE_HOME environment variable.

Use --with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK, where prefix and version are configured.

// Using $ORACLE_HOME
$ ./configure --with-pdo-oci

// Using OIC for Linux with 10.2.0.3 RPMs with a /usr prefix
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

Содержание

  • PDO_OCI DSN — Connecting to Oracle databases
PDO_SQLSRV DSN
PDO_OCI DSN
PDO Drivers


Connecting to Oracle databases

Oracle (PDO)
ODBC and DB2 (PDO)
Oracle (PDO)
PHP Manual

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSN — Connecting to Oracle databases

Описание

The PDO_OCI Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is oci:.

dbname (Oracle Instant Client)

The URI for the Oracle Instant Client connection takes the form of dbname=//hostname:port-number/database. If you are connecting to a database defined in tnsnames.ora, use only the name of the database: dbname=database.

charset

The client-side character set for the current environment handle.

Примеры

Пример #1 PDO_OCI DSN examples

The following examples show a PDO_OCI DSN for connecting to Oracle databases:

// Connect to a database defined in tnsnames.ora
oci:dbname=mydb

// Connect using the Oracle Instant Client
oci:dbname=//localhost:1521/mydb

Oracle (PDO)
ODBC and DB2 (PDO)
Oracle (PDO)


ODBC and DB2 Functions (PDO_ODBC)

Введение

PDO_ODBC is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to databases through ODBC drivers or through the IBM DB2 Call Level Interface (DB2 CLI) library. PDO_ODBC currently supports three different "flavours" of database drivers:

ibm-db2

Supports access to IBM DB2 Universal Database, Cloudscape, and Apache Derby servers through the free DB2 client.

unixODBC

Supports access to database servers through the unixODBC driver manager and the database's own ODBC drivers.

generic

Offers a compile option for ODBC driver managers that are not explicitly supported by PDO_ODBC.

On Windows, PDO_ODBC is built into the PHP core by default. It is linked against the Windows ODBC Driver Manager so that PHP can connect to any database cataloged as a System DSN, and is the recommended driver for connecting to Microsoft SQL Server databases.

Установка

PDO_ODBC on UNIX systems

  1. As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    To build PDO_ODBC with the ibm-db2 flavour, you have to have previously installed the DB2 application development headers on the same machine on which you are compiling PDO_ODBC. The DB2 application development headers are an installable option in the DB2 servers, and are also available as part of the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

    If you do not supply a location for the DB2 libraries and headers to the configure command, PDO_ODBC defaults to /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    If you do not supply a location for the unixODBC libraries and headers to the configure command, PDO_ODBC defaults to /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PDO_ODBC Configuration Options
Name | Default | Changeable | Changelog
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Эта устаревшая возможность будет обязательно удалена в будущем.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

pdo_odbc.connection_pooling string

Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" (equals to ""). The parameter describes how strict the connection manager should be when matching connection parameters to existing pooled connections. strict is the recommend default, and will result in the use of cached connections only when all the connection parameters match exactly. relaxed will result in the use of cached connections when similar connection parameters are used. This can result in increased use of the cache, at the risk of bleeding connection information between (for example) virtual hosts.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

Внимание

relaxed matching should not be used on a shared server, for security reasons.

Подсказка

Leave this setting at the default strict setting unless you have good reason to change it.

pdo_odbc.db2_instance_name string

If you compile PDO_ODBC using the db2 flavour, this setting sets the value of the DB2INSTANCE environment variable on Linux and UNIX operating systems to the specified name of the DB2 instance. This enables PDO_ODBC to resolve the location of the DB2 libraries and make cataloged connections to DB2 databases.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

This setting has no effect on Windows.

Содержание

  • PDO_ODBC DSN — Connecting to ODBC or DB2 databases
PDO_OCI DSN
PDO_ODBC DSN
PDO Drivers


Connecting to ODBC or DB2 databases

ODBC and DB2 (PDO)
PostgreSQL (PDO)
ODBC and DB2 (PDO)
PHP Manual

PDO_ODBC DSN

(PECL PDO_ODBC >= 0.1.0)

PDO_ODBC DSN — Connecting to ODBC or DB2 databases

Описание

The PDO_ODBC Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is odbc:. If you are connecting to a database cataloged in the ODBC driver manager or the DB2 catalog, you can append the cataloged name of the database to the DSN.

DSN

The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at » http://www.connectionstrings.com/.

UID

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

PWD

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Примеры

Пример #1 PDO_ODBC DSN example (ODBC driver manager)

The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:

odbc:testdb

Пример #2 PDO_ODBC DSN example (IBM DB2 uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to an IBM DB2 database named SAMPLE using the full ODBC DSN syntax:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Пример #3 PDO_ODBC DSN example (Microsoft Access uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to a Microsoft Access database stored at C:\db.mdb using the full ODBC DSN syntax:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

ODBC and DB2 (PDO)
PostgreSQL (PDO)
ODBC and DB2 (PDO)


PostgreSQL Functions (PDO_PGSQL)

Введение

PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.

Типы ресурсов

This extension defines a stream resource returned by PDO::pgsqlLOBOpen().

Установка

Use --with-pdo-pgsql[=DIR] to install the PDO PostgreSQL extension, where the optional [=DIR] is the PostgreSQL base install directory, or the path to pg_config.

$ ./configure --with-pdo-pgsql

Содержание

  • PDO_PGSQL DSN — Connecting to PostgreSQL databases
  • PDO::pgsqlLOBCreate — Creates a new large object
  • PDO::pgsqlLOBOpen — Opens an existing large object stream
  • PDO::pgsqlLOBUnlink — Deletes the large object
PDO_ODBC DSN
PDO_PGSQL DSN
PDO Drivers


Connecting to PostgreSQL databases

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)
PHP Manual

PDO_PGSQL DSN

(PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — Connecting to PostgreSQL databases

Описание

The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces or semicolons:

DSN prefix

The DSN prefix is pgsql:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

user

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

password

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Замечание:

The bytea fields are returned as streams.

Примеры

Пример #1 PDO_PGSQL DSN examples

The following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)


Creates a new large object

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Creates a new large object

Описание

string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

Замечание: This function must be called within a transaction.

Список параметров

PDO::pgsqlLOBCreate() takes no parameters.

Возвращаемые значения

Returns the OID of the newly created large object on success, or FALSE on failure.

Примеры

Пример #1 A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Смотрите также

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_create() - Создает большой объект

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)


Opens an existing large object stream

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Opens an existing large object stream

Описание

resource PDO::pgsqlLOBOpen ( string $oid [, string $mode = "rb" ] )

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

Замечание: This function, and all manipulations of the large object, must be called and carried out within a transaction.

Список параметров

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

Возвращаемые значения

Returns a stream resource on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>

Смотрите также

  • PDO::pgsqlLOBCreate() - Creates a new large object
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_open() - Открывает большой объект базы данных

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)


Deletes the large object

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Deletes the large object

Описание

bool PDO::pgsqlLOBUnlink ( string $oid )

Deletes a large object from the database identified by OID.

Замечание: This function must be called within a transaction.

Список параметров

oid

A large object identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Смотрите также

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBCreate() - Creates a new large object

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)


SQLite Functions (PDO_SQLITE)

Введение

PDO_SQLITE is a driver that implements the PHP Data Objects (PDO) interface to enable access to SQLite 3 databases.

In PHP 5.1, the SQLite extension also provides a driver for SQLite 2 databases; while it is not technically a part of the PDO_SQLITE driver, it behaves similarly, so it is documented alongside it. The SQLite 2 driver for PDO is provided primarily to make it easier to import legacy SQLite 2 database files into an application that uses the faster, more efficient SQLite 3 driver. As a result, the SQLite 2 driver is not as feature-rich as the SQLite 3 driver.

Замечание:

PDO_SQLITE allows using strings apart from streams together with PDO::PARAM_LOB.

Установка

The PDO_SQLITE PDO driver is enabled by default. To disable, --without-pdo-sqlite[=DIR] may be used, where the optional [=DIR] is the sqlite base install directory.

Содержание

  • PDO_SQLITE DSN — Connecting to SQLite databases
  • PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements
  • PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements
PDO::pgsqlLOBUnlink
PDO_SQLITE DSN
PDO Drivers


Connecting to SQLite databases

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)
PHP Manual

PDO_SQLITE DSN

(PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — Connecting to SQLite databases

Описание

The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:

DSN prefix (SQLite 3)

The DSN prefix is sqlite:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append :memory: to the DSN prefix.

DSN prefix (SQLite 2)

The SQLite extension in PHP 5.1 provides a PDO driver that supports accessing and creating SQLite 2 databases. This enables you to access databases you may have created with the SQLite extension in previous versions of PHP.

Замечание:

The sqlite2 driver is only available in PHP 5.1.x if you have enabled both PDO and ext/sqlite. It is not currently available via PECL.

The DSN prefix for connecting to SQLite 2 databases is sqlite2:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append :memory: to the DSN prefix.

Примеры

Пример #1 PDO_SQLITE DSN examples

The following examples show PDO_SQLITE DSN for connecting to SQLite databases:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)


Registers an aggregating User Defined Function for use in SQL statements

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)
PHP Manual

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements

Описание

bool PDO::sqliteCreateAggregate ( string $function_name , callback $step_func , callback $finalize_func [, int $num_args ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This method is similar to PDO::sqliteCreateFunction except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO::sqliteCreateFunction is that two functions are required to manage the aggregate.

Список параметров

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as:

step ( mixed $context , int $rownumber , mixed $value1 [, mixed $value2 [, mixed $.. ]] )

context will be NULL for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber will hold the current row number.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

fini ( mixed $context , int $rownumber )

context will hold the return value from the very last call to the step function.

rownumber will hold the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

Подсказка

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

Подсказка

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Замечание:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Смотрите также

  • PDO::sqliteCreateFunction
  • sqlite_create_function() - Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_create_aggregate() - Регистрирует агрегирующую функцию для использования в SQL-запросах

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)


Registers a User Defined Function for use in SQL statements

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)
PHP Manual

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements

Описание

bool PDO::sqliteCreateFunction ( string $function_name , callback $callback [, int $num_args ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

Список параметров

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

Замечание: Callback functions should return a type understood by SQLite (i.e. scalar type).

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach loop after you have queried for the data.

Подсказка

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Замечание:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Смотрите также

  • PDO::sqliteCreateAggregate
  • sqlite_create_function() - Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_create_aggregate() - Регистрирует агрегирующую функцию для использования в SQL-запросах

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)


4D Functions (PDO_4D)

Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

PDO_4D is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to 4D databases.

4D is an integrated platform that speeds and simplifies the development and deployment of business applications, used in over 70 countries, by a community of thousands of developers and vertical solution providers, with millions of end-users worldwide.

By offering a suite of integrated tools such as an ANSI SQL relational and transactional database, a graphical development environment, a fourth-generation language with over 1000 high-level commands, a built-in HTTP server, application server, etc., 4D facilitates the creation and maintenance of applications from one to hundreds of simultaneous users, whether on Windows, Mac or from any Web client.

4D is also an open platform, offering a complete API for plug-in creation, including various connectors that allow it to act as a back-end or front-end for many environments (Oracle via OCI, SOAP client or server, Flex data source, all ODBC databases, XML over HTTP, etc.)

In addition to the ability to interact with 4D applications across Web Services, 4D databases can now be directly accessed using the PDO_4D driver.

More details about the 4D development environment on » http://www.4d.com/.

PDO_4D is known to work with 4D versions 12 beta and up, for Mac OS X and Windows. Older plat-forms may work, but are unsupported.

Содержание

  • PDO_4D DSN — Connecting to 4D SQL server
  • Constants for PDO_4D — Constants for PDO_4D
  • SQL types with PDO_4D and PHP — SQL types with PDO_4D and PHP
  • SQL acceptable by 4D — PDO and SQL 4D
  • Examples with PDO_4D — Examples PDO_4D
PDO::sqliteCreateFunction
PDO_4D DSN
PDO Drivers


Connecting to 4D SQL server

4D (PDO)
Constants for PDO_4D
4D (PDO)
PHP Manual

PDO_4D DSN

(Информация о версии неизвестна, возможно, только в SVN)

PDO_4D DSN — Connecting to 4D SQL server

Описание

The PDO_4D DSN consists of:

DSN prefix

The DSN prefix is 4D:.

host

The host on which the 4D SQL server is.

port

The port number for the server. This is optional.

user

The login name when connecting to the database.

password

The password for the above login.

dbname

The name of the database. This parameter is optional, and it is not used.

charset

The 4D character set.

Примеры

Пример #1 DSN examples for PDO_4D

The following examples has two DSN for PDO_4D, that connects to a 4D database :

4D:host=localhost;charset=UTF-8
Other possible values :
4D:host=localhost
4D:

4D (PDO)
Constants for PDO_4D
4D (PDO)


Constants for PDO_4D

(Информация о версии неизвестна, возможно, только в SVN)

Constants for PDO_4D — Constants for PDO_4D

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамечески во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведенние. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

PDO::FOURD_ATTR_CHARSET (integer)

Change the charset in which 4D returns data. (Default is UTF-8).

PDO::FOURD_ATTR_PREFERRED_IMAGE_TYPES (integer)

The requested format of the image, when selecting a row with a column type PICTURE. It may be any type that 4D supports.

PDO_4D DSN
SQL types with PDO_4D and PHP
4D (PDO)


SQL types with PDO_4D and PHP

(Информация о версии неизвестна, возможно, только в SVN)

SQL types with PDO_4D and PHP — SQL types with PDO_4D and PHP

Supported SQL types
Type SQL 4D | Equivalent 4D | Note
ALPHA_NUMERIC | TEXT |
VARCHAR | TEXT |
TEXT | TEXT |
TIMESTAMP | DATE |
INTERVAL | HOUR |
DURATION | HOUR |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
BYTE | INT32 |
INT16 | SMALLINT |
SMALLINT | SMALLINT |
INT32 | INT32 |
INT | INT32 |
INT64 | INT64 |
NUMERIC | INT64 |
REAL | REAL | Unsupported (use VARCHAR conversion)
FLOAT | FLOAT | Unsupported (use VARCHAR conversion)
DOUBLE PRECISION | FLOAT |
BLOB | BLOB | Must use a prepared statement, and PDO::PARAM_LOB
BIT VARYING | BLOB | Must use a prepared statement, and PDO::PARAM_LOB
CLOB | TEXT |
PICTURE | PICTURE | Must use a prepared statement, and PDO::PARAM_LOB

Constants for PDO_4D
SQL acceptable by 4D
4D (PDO)


PDO and SQL 4D

SQL types with PDO_4D and PHP
Examples with PDO_4D
4D (PDO)
PHP Manual

SQL acceptable by 4D

(Информация о версии неизвестна, возможно, только в SVN)

SQL acceptable by 4D — PDO and SQL 4D

Описание

4D implements strictly the ANSI 89 standard, and have it enforced. It is highly recommended to read the 4D SQL documentation to learn about the available commands. The URL of the manual is : » http://doc.4d.com/. Below is a list of 4D SQL characteristics: it is not exhaustive, but may serve as an introduction.

Characteristics of 4D SQL
Characteristics | Alternative | Note
INTEGER | Modify the SQL to use INT. | INT is the supported integer type in 4Dv12.0.
CHAR | Use VARCHAR instead. | Unsupported in 4Dv12.0
UNION | Unsupported. Make separate queries. | Unsupported in 4Dv12.0
SELECT 1 + 1; | SELECT 1 + 1 FROM _USER_SCHEMAS; | FROM is required
FLOAT | Cast the FLOAT value into a FLOAT or STRING, with an SQL 4D function (CAST, ROUND, TRUNC or TRUNCATE) | Unsupported in current versions of the PDO_4D driver
Strong typing | Take care your SQL query, or your PHP code provides data with the expected type | One must provide the right type that 4D expect. One can't insert '1' (as a string) in an INTEGER column.
PDO::execute($row)() : only works if all the table's column are of type TEXT or VARCHAR | Use the prepared statements, and use the right types. | The PDO extension cast all values through execute() as string, and expect the SQL database to parse the values.
SELECT NULL FROM TABLE | Do not use NULL constants. Extract them from the table | It is not allowed to use the NULL constant in the select list
SELECT * FROM TABLE WHERE 1 | Use WHERE 1 = 1 | A constant can't be used in a WHERE clause
SHOW TABLES | Use system tables | The list of tables, schemas, index, etc. are in these system tables : _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER_CONS_COLUMNS, and _USER_SCHEMAS.
SQL structure delimiter | Use the following function to protect SQL elements: function sqlEscapeElement(elem) { return '[' . str_replace(']',']]', $elem) . ']'; } | To escape SQL elements names (tables, fields, users, groups, schema, primary key, etc.), the whole identifier must be between square brackets, and the closing brackets ']' must be doubled.

SQL types with PDO_4D and PHP
Examples with PDO_4D
4D (PDO)


Examples PDO_4D

SQL acceptable by 4D
Расширения для работы с базами данных отдельных производителей
4D (PDO)
PHP Manual

Examples with PDO_4D

(Информация о версии неизвестна, возможно, только в SVN)

Examples with PDO_4D — Examples PDO_4D

This basic example show how to connect, execute a query, read data and disconnect from a 4D SQL server.

Пример #1 Basic example with PDO_4D

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connection to the 4D SQL server
$db = new PDO($dsn, $user, $pass);

try {
    $db->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
} catch (PDOException $e) {
    die("Erreur 4D : " . $e->getMessage());
}

$db->exec("INSERT INTO test VALUES('A', 'B')");
$db->exec("INSERT INTO test VALUES('C', 'D')");
$db->exec("INSERT INTO test VALUES('E', 'F')");

$stmt = $db->prepare('SELECT id, val from test');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

Результат выполнения данного примера:

    Array
(
    [0] => Array
        (
            [ID] => A
            [0] => A
            [VAL] => B
            [1] => B
        )

    [1] => Array
        (
            [ID] => C
            [0] => C
            [VAL] => D
            [1] => D
        )

    [2] => Array
        (
            [ID] => E
            [0] => E
            [VAL] => F
            [1] => F
        )

)

This example shows how to execute a query in 4D language, and how to read the result through PDO_4D.

Пример #2 Accessing 4D language from pdo_4d

Set up a 4D method, called method. Make sure in the method properties that the option Available via SQL is checked. The 4D code is the following.

C_TEXTE($0)
$0:=Version application(*);

The PHP code to use the above 4D method is :

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connection to the 4D server
$db = new PDO($dsn, $user, $pass);

$stmt = $db->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

Результат выполнения данного примера:

(
    [0] => Array
        (
            [<expression>] => F0011140
            [0] => F0011140
        )

)

Пример #3 Escaping 4D table names

This examples illustrates how to escape characters in a 4D SQL query.

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connection to 4D server 4D
$db = new PDO($dsn, $user, $pass);

$objects = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

foreach($objects as $id => $object) {
    $object = str_replace(']',']]', $object);
    print "$object\n";

    $db->exec('CREATE TABLE IF NOT EXISTS ['.$object.'](['.$object.'] FLOAT)');

    $req = "INSERT INTO [$object] ([$object]) VALUES ($id);";
    $db->query($req);

    $q = $db->prepare("SELECT [$object] FROM [$object]");
    $q->execute();
    $x[] = $q->fetch(PDO::FETCH_NUM);

    $db->exec('DROP TABLE ['.$object.'];');
}

?>

Результат выполнения данного примера:

[
]]
[]]
]][
[[
]]]]
[[[
]]]]]]
TBL ]]]]32[23

SQL acceptable by 4D
Расширения для работы с базами данных отдельных производителей
4D (PDO)


Расширения для работы с базами данных отдельных производителей

  • CUBRID
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • CUBRID Функции
    • CUBRID MySQL Compatibility Functions
    • CUBRID Obsolete Aliases and Functions
  • DB++
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DB++ Функции
  • dBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • dBase
  • filePro
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • filePro Функции
  • Firebird/InterBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Firebird/InterBase Функции
  • FrontBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FrontBase Функции
  • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IBM DB2 Функции
  • Informix
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Informix Функции
  • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Ingres Функции
  • MaxDB
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • MaxDB Функции
  • Mongo — MongoDB Native Driver
    • Manual
    • Базовые классы
    • Types
    • Классы GridFS
    • Дополнительно
    • Functions
    • Exceptions
  • mSQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • mSQL Функции
  • Mssql — Microsoft SQL Server
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mssql Функции
  • MySQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • MySQL — Функции СУБД MySQL
  • mysqli — Улучшенный модуль MySQL (Improved)
    • Введение
    • Overview
    • Установка и настройка
    • The mysqli Extension and Persistent Connections
    • Предопределенные константы
    • Основная информация о функциях расширения MySQLi
    • MySQLi — The MySQLi class
    • MySQLi_STMT — The MySQLi_STMT class
    • MySQLi_Result — The MySQLi_Result class
    • MySQLi_Driver — Класс MySQLi_Driver
    • MySQLi_Warning — The MySQLi_Warning class
    • Синонимы и устаревшие Функции Mysqli
  • Mysqlnd — Встроенный драйвер MySQL
    • Введение
    • Обзор
    • Установка
    • Настройка во время выполнения
    • Persistent Connections
    • Statistics
    • Записки
    • MySQL Native Driver Plugin API
  • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • Введение
    • Quickstart and Examples
    • Concepts
    • Установка и настройка
    • Предопределенные константы
    • Mysqlnd_ms Функции
    • Change History
  • mysqlnd_qc — Mysqlnd query result cache plugin
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • mysqlnd_qc Функции
  • mysqlnd_uh — Mysqlnd user handler plugin
    • Введение
    • Quickstart and Examples
    • Установка и настройка
    • Предопределенные константы
    • Mysqlnd_uh Функции
    • Change History
  • OCI8 — Oracle OCI8
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Работа с соединениями
    • Поддерживаемые типы данных
    • OCI8 (Oracle)
    • OCI8 Obsolete Aliases and Functions
  • Ovrimos SQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Ovrimos SQL Функции
  • Paradox — Paradox File Access
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Paradox Функции
  • PostgreSQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • PostgreSQL
  • SQLite
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SQLite
  • SQLite3
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SQLite3 — Класс SQLite3
    • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Result — The SQLite3Result class
  • SQLSRV — Microsoft SQL Server Driver for PHP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SQLSRV Функции
  • Sybase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Sybase Функции
  • tokyo_tyrant
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantQuery — The TokyoTyrantQuery class
Examples with PDO_4D
CUBRID
Расширения для работы с базами данных


CUBRID

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • CUBRID Функции
    • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
    • cubrid_bind — Bind variables to a prepared statement as parameters
    • cubrid_close_prepare — Close the request handle
    • cubrid_close_request — Close the request handle
    • cubrid_col_get — Get contents of collection type column using OID
    • cubrid_col_size — Get the number of elements in collection type column using OID
    • cubrid_column_names — Get the column names in result
    • cubrid_column_types — Get column types in result
    • cubrid_commit — Commit a transaction
    • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
    • cubrid_connect — Open a connection to a CUBRID Server
    • cubrid_current_oid — Get OID of the current cursor location
    • cubrid_disconnect — Close a database connection
    • cubrid_drop — Delete an instance using OID
    • cubrid_error_code_facility — Get the facility code of error
    • cubrid_error_code — Get error code for the most recent function call
    • cubrid_error_msg — Get last error message for the most recent function call
    • cubrid_execute — Execute a prepared SQL statement
    • cubrid_fetch — Fetch the next row from a result set
    • cubrid_free_result — Free the memory occupied by the result data
    • cubrid_get_autocommit — Get auto-commit mode of the connection
    • cubrid_get_charset — Return the current CUBRID connection charset
    • cubrid_get_class_name — Get the class name using OID
    • cubrid_get_client_info — Return the client library version
    • cubrid_get_db_parameter — Returns the CUBRID database parameters
    • cubrid_get_query_timeout — Get the query timeout value of the request
    • cubrid_get_server_info — Return the CUBRID server version
    • cubrid_get — Get a column using OID
    • cubrid_insert_id — Return the ID generated for the lastest updated AUTO_INCREMENT column
    • cubrid_is_instance — Check whether the instance pointed by OID exists
    • cubrid_lob_close — Close BLOB/CLOB data
    • cubrid_lob_export — Export BLOB/CLOB data to file
    • cubrid_lob_get — Get BLOB/CLOB data
    • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size — Get BLOB/CLOB data size
    • cubrid_lock_read — Set a read lock on the given OID
    • cubrid_lock_write — Set a write lock on the given OID
    • cubrid_move_cursor — Move the cursor in the result
    • cubrid_next_result — Get result of next query when executing multiple SQL statements
    • cubrid_num_cols — Return the number of columns in the result set
    • cubrid_num_rows — Get the number of rows in the result set
    • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
    • cubrid_pconnect — Open a persistent connection to a CUBRID server
    • cubrid_prepare — Prepare an SQL statement for execution
    • cubrid_put — Update a column using OID
    • cubrid_rollback — Roll back a transaction
    • cubrid_schema — Get the requested schema information
    • cubrid_seq_drop — Delete an element from sequence type column using OID
    • cubrid_seq_insert — Insert an element to a sequence type column using OID
    • cubrid_seq_put — Update the element value of sequence type column using OID
    • cubrid_set_add — Insert a single element to set type column using OID
    • cubrid_set_autocommit — Set autocommit mode of the connection
    • cubrid_set_db_parameter — Sets the CUBRID database parameters
    • cubrid_set_drop — Delete an element from set type column using OID
    • cubrid_set_query_timeout — Set the timeout time of query execution
    • cubrid_version — Get the CUBRID PHP module's version
  • CUBRID MySQL Compatibility Functions
    • cubrid_client_encoding — Return the current CUBRID connection charset
    • cubrid_close — Close CUBRID connection
    • cubrid_data_seek — Move the internal row pointer of the CUBRID result
    • cubrid_db_name — Get db name from results of cubrid_list_dbs
    • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error — Get the error message
    • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field — Get column information from a result and return as an object
    • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object — Fetche the next row and returns it as an object
    • cubrid_fetch_row — Return a numerical array with the values of the current row
    • cubrid_field_flags — Return a string with the flags of the given field offset
    • cubrid_field_len — Get the maximum length of the specified field
    • cubrid_field_name — Return the name of the specified field index
    • cubrid_field_seek — Move the result set cursor to the specified field offset
    • cubrid_field_table — Return the name of the table of the specified field
    • cubrid_field_type — Return the type of the column corresponding to the given field offset
    • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
    • cubrid_num_fields — Return the number of columns in the result set
    • cubrid_ping — Ping a server connection or reconnect if there is no connection
    • cubrid_query — Send a CUBRID query
    • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
    • cubrid_result — Return the value of a specific field in a specific row
    • cubrid_unbuffered_query — Perform a query without fetching the results into memory
  • CUBRID Obsolete Aliases and Functions
    • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
    • cubrid_new_glo — Create a glo instance
    • cubrid_save_to_glo — Save requested file in a GLO instance
    • cubrid_send_glo — Read data from glo and send it to std output
Расширения для работы с базами данных отдельных производителей
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions allow you to access CUBRID database servers. More information about CUBRID can be found at » CUBRID.

Documentation for CUBRID can be found at » CUBRID Documentation.

CUBRID
Установка и настройка
CUBRID


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
CUBRID


Требования

In order to have these functions available, you must install CUBRID, and compile CUBRID PHP Library with CUBRID support.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/cubrid.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

For information about manual installation on Linux and Windows systems, please read the file build-guide.html included in the package.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

There is no runtime configuration now.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

There are three resource types used in CUBRID. The first one is the link identifier for a database connection, the second is the a resource which holds the result of a query, and the third a resource which holds the query results of BLOB/CLOB data types.

connection identifier

A connection identifier returned by cubrid_connect() and cubrid_connect_with_url().

request identifier

A request identifier returned by cubrid_prepare() and cubrid_execute().

LOB identifier

A LOB identifier returned by cubrid_lob_get().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following constants can be used when executing SQL statement. They can be passed to cubrid_prepare() and cubrid_execute().

CUBRID SQL execution flags
Constant | Description
CUBRID_INCLUDE_OID | Determine whether to get OID during query execution.
CUBRID_ASYNC | Execute the query in asynchronous mode.
CUBRID_EXEC_QUERY_ALL | Execute the query in synchronous mode. This flag must be set when executing multiple SQL statements.

The following constants can be used when fetching the results to specify fetch behaviour. They can be passed to cubrid_fetch() and cubrid_fetch_array().

CUBRID fetch flags
Constant | Description
CUBRID_NUM | Get query result as a numeric array (0-default).
CUBRID_ASSOC | Get query result as an associative array.
CUBRID_BOTH | Get query result as both numeric and associative arrays (default value).
CUBRID_OBJECT | Get query result an object.

The following constants can be used when positioning the cursor in query results. They can be passed to or returned by cubrid_move_cursor().

CUBRID cursor position flags
Constant | Description
CUBRID_CURSOR_FIRST | Move current cursor to the first position in the result.
CUBRID_CURSOR_CURRENT | Move current cursor as a default value if the origin is not specified.
CUBRID_CURSOR_LAST | Move current cursor to the last position in the result.
CUBRID_CURSOR_SUCCESS | Returned value of cubrid_move_cursor() function in case of success.
CUBRID_NO_MORE_DATA | Returned value of cubrid_move_cursor() function in case of failure.
CUBRID_CURSOR_ERROR | Returned value of cubrid_move_cursor() function in case of failure.

The following constants can be used when setting the auto-commit mode for the database connection. They can be passed to cubrid_set_autocommit() or returned by cubrid_get_autocommit().

CUBRID auto-commit mode flags
Constant | Description
CUBRID_AUTOCOMMIT_TRUE | Enable the auto-commit mode.
CUBRID_AUTOCOMMIT_FALSE | Disable the auto-commit mode.

The following constants can be used when setting the database parameter. They can be passed to cubrid_set_db_parameter().

CUBRID parameter flags
Constant | Description
CUBRID_PARAM_ISOLATION_LEVEL | Transaction isolation level for the database connection.
CUBRID_PARAM_LOCK_TIMEOUT | Transaction timeout in seconds.

The following constants can be used when setting the transaction isolation level. They can be passed to cubrid_set_db_parameter() or returned by cubrid_get_db_parameter().

CUBRID isolation level flags
Constant | Description
TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to cubrid_schema().

CUBRID schema flags
Constant | Description
CUBRID_SCH_CLASS | Get name and type of table in CUBRID.
CUBRID_SCH_VCLASS | Get name and type of view in CUBRID.
CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
CUBRID_SCH_CLASS_ATTRIBUTE | Get the attributes of table.
CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
CUBRID_SCH_CLASS_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
CUBRID_SCH_SUPERCLASS | Get the name and type of table which table inherites attributes from.
CUBRID_SCH_SUBCLASS | Get the name and type of table which inherites attributes from this table.
CUBRID_SCH_CONSTRAINT | Get the table constraints.
CUBRID_SCH_TRIGGER | Get the table triggers.
CUBRID_SCH_CLASS_PRIVILEGE | Get the privilege information of table.
CUBRID_SCH_ATTR_PRIVILEGE | Get the privilege information of column.
CUBRID_SCH_DIRECT_SUPER_CLASS | Get the direct super table of table.
CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

The following constants can be used when reporting errors. They can be returned from cubrid_error_code_facility().

CUBRID error facility code
Constant | Description
CUBRID_FACILITY_DBMS | The error occured in CUBRID dbms.
CUBRID_FACILITY_CAS | The error occured in CUBRID broker cas.
CUBRID_FACILITY_CCI | The error occured in CUBRID cci.
CUBRID_FACILITY_CLIENT | The error occured in CUBRID PHP client.

Типы ресурсов
Примеры
CUBRID


Примеры

The following is a simple example that establishes a connection between PHP and CUBRID. This section will cover the most basic and notable features. The following code required to connect to CUBRID database, which means CUBRID Server and CUBRID Broker have to be running.

The example below uses the demodb database as an examples. By default it is created during the installation. Make sure it has been created.

Пример #1 Example of Data Retrieval

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * Set server information for CUBRID connection. host_ip is the IP
         * address where the CUBRID Broker is installed (localhost in this
         * example), and host_port is the port number of the CUBRID Broker.
         * The port number is the default given during the installation.
         * For details, see "Administrator's Guide."
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        /**
         * Connect to CUBRID Server. Do not make the actual connection, but
         * only retain the connection information. The reason for not making
         * the actual connection is to handle transaction more efficiently
         * in the 3-tier architecture.
         */
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "select sports, count(players) as players from event group by sports";
        /**
         * Request the CUBRID Server for the results of the SQL statement.
         * Now make the actual connection to the CUBRID Server.
         */
        $result = cubrid_execute($cubrid_con, $sql);

        if ($result) {
            /**
             * Get the column names from the result set created by the SQL query.
             */
            $columns = cubrid_column_names($result);
            /**
             * Get the number of columns in the result set created by the SQL query.
             */
            $num_fields = cubrid_num_cols($result);
            /**
             * List the column names of the result set on the screen.
             */
            echo("<tr>");

            while (list($key, $colname) = each($columns)) {
                echo("<td align=center>$colname</td>");
            }

            echo("</tr>");

            /**
             * Get the results from the result set.
             */
            while ($row = cubrid_fetch($result)) {
                echo("<tr>");

                for ($i = 0; $i < $num_fields; $i++) {
                    echo("<td align=center>");
                    echo($row[$i]);
                    echo("</td>");
                }

                echo("</tr>");
            }
        }
        /**
         * The PHP module in the CUBRID runs in a 3-tier architecture. Even when
         * calling SELECT for transaction processing, it is processed as a part
         * of the transaction. Therefore, the transaction needs to be rolled back
         * by calling commit or rollback even though SELECT was called for smooth
         * performance.
         */
        cubrid_commit($cubrid_con);
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>

Пример #2 Example of Data Insertion

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * host_ip is the IP address where the CUBRID Broker is installed
         * host_port is the port number of the CUBRID Broker
         * db_name is the name of CUBRID Database
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "insert into olympic (host_year,host_nation,host_city,"
            . "opening_date,closing_date) values (2008, 'China', 'Beijing',"
            . "to_date('08-08-2008','mm-dd- yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;"
        $result = cubrid_execute($cubrid_con, $sql);
        if ($result) {
            /**
             * Handled successfully, so commit.
             */
            cubrid_commit($cubrid_con);
            echo("Inserted successfully ");
        } else {
            /**
             * Error occurred, so the error message is output and rollback is called.
             */
            echo(cubrid_error_msg());
            cubrid_rollback($cubrid_con);
        }
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>
Предопределенные константы
CUBRID Функции
CUBRID


CUBRID Функции

Содержание

  • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
  • cubrid_bind — Bind variables to a prepared statement as parameters
  • cubrid_close_prepare — Close the request handle
  • cubrid_close_request — Close the request handle
  • cubrid_col_get — Get contents of collection type column using OID
  • cubrid_col_size — Get the number of elements in collection type column using OID
  • cubrid_column_names — Get the column names in result
  • cubrid_column_types — Get column types in result
  • cubrid_commit — Commit a transaction
  • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
  • cubrid_connect — Open a connection to a CUBRID Server
  • cubrid_current_oid — Get OID of the current cursor location
  • cubrid_disconnect — Close a database connection
  • cubrid_drop — Delete an instance using OID
  • cubrid_error_code_facility — Get the facility code of error
  • cubrid_error_code — Get error code for the most recent function call
  • cubrid_error_msg — Get last error message for the most recent function call
  • cubrid_execute — Execute a prepared SQL statement
  • cubrid_fetch — Fetch the next row from a result set
  • cubrid_free_result — Free the memory occupied by the result data
  • cubrid_get_autocommit — Get auto-commit mode of the connection
  • cubrid_get_charset — Return the current CUBRID connection charset
  • cubrid_get_class_name — Get the class name using OID
  • cubrid_get_client_info — Return the client library version
  • cubrid_get_db_parameter — Returns the CUBRID database parameters
  • cubrid_get_query_timeout — Get the query timeout value of the request
  • cubrid_get_server_info — Return the CUBRID server version
  • cubrid_get — Get a column using OID
  • cubrid_insert_id — Return the ID generated for the lastest updated AUTO_INCREMENT column
  • cubrid_is_instance — Check whether the instance pointed by OID exists
  • cubrid_lob_close — Close BLOB/CLOB data
  • cubrid_lob_export — Export BLOB/CLOB data to file
  • cubrid_lob_get — Get BLOB/CLOB data
  • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
  • cubrid_lob_size — Get BLOB/CLOB data size
  • cubrid_lock_read — Set a read lock on the given OID
  • cubrid_lock_write — Set a write lock on the given OID
  • cubrid_move_cursor — Move the cursor in the result
  • cubrid_next_result — Get result of next query when executing multiple SQL statements
  • cubrid_num_cols — Return the number of columns in the result set
  • cubrid_num_rows — Get the number of rows in the result set
  • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
  • cubrid_pconnect — Open a persistent connection to a CUBRID server
  • cubrid_prepare — Prepare an SQL statement for execution
  • cubrid_put — Update a column using OID
  • cubrid_rollback — Roll back a transaction
  • cubrid_schema — Get the requested schema information
  • cubrid_seq_drop — Delete an element from sequence type column using OID
  • cubrid_seq_insert — Insert an element to a sequence type column using OID
  • cubrid_seq_put — Update the element value of sequence type column using OID
  • cubrid_set_add — Insert a single element to set type column using OID
  • cubrid_set_autocommit — Set autocommit mode of the connection
  • cubrid_set_db_parameter — Sets the CUBRID database parameters
  • cubrid_set_drop — Delete an element from set type column using OID
  • cubrid_set_query_timeout — Set the timeout time of query execution
  • cubrid_version — Get the CUBRID PHP module's version
Примеры
cubrid_affected_rows
CUBRID


Return the number of rows affected by the last SQL statement

CUBRID Функции
cubrid_bind
CUBRID Функции
PHP Manual

cubrid_affected_rows

(PECL CUBRID >= 8.3.0)

cubrid_affected_rows — Return the number of rows affected by the last SQL statement

Описание

int cubrid_affected_rows ([ resource $result ] )

The cubrid_affected_rows() function is used to get the number of rows affected by the SQL statement (INSERT, DELETE, UPDATE).

Список параметров

result

Result. If the result is not specified, the last result is assumed.

Возвращаемые значения

Number of rows affected by the SQL statement, when process is successful.

-1, when SQL statement is not INSERT, DELETE or UPDATE.

FALSE, when the request identifier is not specified, and there is no last request.

Примеры

Пример #1 cubrid_affected_rows() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t varchar)");

for ($i = 0; $i < 5; $i++) {
    cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

cubrid_execute($conn, "DELETE FROM cubrid_test");

$affected_num = cubrid_affected_rows();
var_dump($affected_num);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

int(5)

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

CUBRID Функции
cubrid_bind
CUBRID Функции


Bind variables to a prepared statement as parameters

cubrid_affected_rows
cubrid_close_prepare
CUBRID Функции
PHP Manual

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — Bind variables to a prepared statement as parameters

Описание

bool cubrid_bind ( resource $req_identifier , mixed $bind_param , mixed $bind_value [, string $bind_value_type ] )

The cubrid_bind() function is used to bind values to a corresponding named or question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be the default.

Замечание:

If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If the actually bind value type is not stream, CUBRID will convert it to string, and use it as the full path and file name of a file on the client filesystem.

The following table shows the types of substitute values.

CUBRID Bind Date Types
Support | Bind Type | Corresponding SQL Type
Supported | STRING | CHAR, VARCHAR
 | NCHAR | NCHAR, NVARCHAR
 | BIT | BIT, VARBIT
 | NUMERIC or NUMBER | SHORT, INT, NUMERIC
 | FLOAT | FLOAT
 | DOUBLE | DOUBLE
 | TIME | TIME
 | DATE | DATE
 | TIMESTAMP | TIMESTAMP
 | OBJECT | OBJECT
 | BLOB | BLOB
 | CLOB | CLOB
 | NULL | NULL
Not supported | SET | SET
 | MULTISET | MULTISET
 | SEQUENCE | SEQUENCE

Список параметров

req_identifier

Request identifier as a result of cubrid_prepare().

bind_param

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name (Note that the name can only contain digit, alphabet, and underscore, and it can not begin with digit. The name length can not be longer than 32). For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

bind_value

Actual value for binding.

bind_value_type

A type of the value to bind. (It is omitted by default. Thus, system internally use string by default. However, you need to specify the exact type of the value as an argument when they are NCHAR, BIT, or BLOB/CLOB).

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Список изменений

Версия | Описание
8.4.0 | Added named parameter support; When binding the LOB data type, it can directly binding the path name of a file.
8.3.1 | Added BLOB/CLOB data types support.

Примеры

Пример #1 cubrid_bind() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
    $athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
    cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
    cubrid_execute($athlete_req);
    $row = cubrid_fetch_assoc($athlete_req);
    printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Пример #2 cubrid_bind() named parameter example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql_stmt = <<<EOD
SELECT s.name FROM stadium s, game g
WHERE s.code = g.stadium_code AND g.medal = :medal_type
GROUP BY g.stadium_code ORDER BY count(medal) DESC LIMIT 1;
EOD;

$req = cubrid_prepare($conn, $sql_stmt);
printf("%-30s %s\n", "Medal Type", "Stadium where most medals were ever won");

cubrid_bind($req, ":medal_type", "G");
cubrid_execute($req);
$row = cubrid_fetch_assoc($req);
printf("%-30s %s\n", "Gold", $row["name"]);

cubrid_bind($req, ":medal_type", "S");
cubrid_execute($req);
$row = cubrid_fetch_assoc($req);
printf("%-30s %s\n", "Silver", $row["name"]);

cubrid_bind($req, ":medal_type", "B");
cubrid_execute($req);
$row = cubrid_fetch_assoc($req);
printf("%-30s %s\n", "Bronze", $row["name"]);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Medal Type                     Stadium where most medals were ever won
Gold                           Olympic Aquatic Centre
Silver                         Olympic Aquatic Centre
Bronze                         Sydney Convention and Exhibition Centre

Пример #3 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "foo");
if ($con) {
    $sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    $fp = fopen("book.txt", "rb");

    cubrid_bind($req, 1, $fp, "clob");
    cubrid_execute($req);
}
?>

Пример #4 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "foo");
if ($con) {
    $sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    cubrid_bind($req, 1, "cubrid_logo.png", "blob");
    cubrid_execute($req);
}
?>

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_prepare() - Prepare an SQL statement for execution

cubrid_affected_rows
cubrid_close_prepare
CUBRID Функции


Close the request handle

cubrid_bind
cubrid_close_request
CUBRID Функции
PHP Manual

cubrid_close_prepare

(PECL CUBRID >= 8.3.0)

cubrid_close_prepare — Close the request handle

Описание

int cubrid_close_prepare ( resource $req_identifier )

The cubrid_close_prepare() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_close_prepare() example

<?php
$con = cubrid_connect ("dbsvr.cubrid.com", 12345, "demodb");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_prepare($re1);
   }
   cubrid_disconnect($con);
}
?>

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_bind
cubrid_close_request
CUBRID Функции


Close the request handle

cubrid_close_prepare
cubrid_col_get
CUBRID Функции
PHP Manual

cubrid_close_request

(PECL CUBRID >= 8.3.0)

cubrid_close_request — Close the request handle

Описание

bool cubrid_close_request ( resource $req_identifier )

The cubrid_close_request() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_close_request() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare ($conn, "SELECT * FROM olympic WHERE host_year=?");

$host_year = 2004;
cubrid_bind($req, 1, $host_year, "number");
cubrid_execute($req);

printf("%-9s %-11s %-9s %-12s %-12s %-15s %-15s\n",
    "host_year", "host_nation", "host_city", "opening_date",
    "closing_date", "mascot", "slogan");

while ($row = cubrid_fetch_assoc($req)) {
    printf("%-9s %-11s %-9s %-12s %-12s %-15s %-15s\n",
        $row["host_year"], $row["host_nation"], $row["host_city"],
        $row["opening_date"], $row["closing_date"], $row["mascot"], $row["slogan"]);
}

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

host_year host_nation host_city opening_date closing_date mascot          slogan
2004      Greece      Athens    2004-8-13    2004-8-29    Athena  Phevos  Welcome Home

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_close_prepare
cubrid_col_get
CUBRID Функции


Get contents of collection type column using OID

cubrid_close_request
cubrid_col_size
CUBRID Функции
PHP Manual

cubrid_col_get

(PECL CUBRID >= 8.3.0)

cubrid_col_get — Get contents of collection type column using OID

Описание

array cubrid_col_get ( resource $conn_identifier , string $oid , string $attr_name )

The cubrid_col_get() function is used to get contents of the elements of the collection type (set, multiset, sequence) attribute you requested as an array.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr_name

Attribute name that you want to read from the instance.

Возвращаемые значения

Array (0-based numerical array) containing the elements you requested, when process is successful;

FALSE (to distinguish the error from the situation of attribute having empty collection or NULL, in case of error, a warning message is shown; in such case you can check the error by using cubrid_error_code()), when process is unsuccessful.

Примеры

Пример #1 cubrid_col_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_close_request
cubrid_col_size
CUBRID Функции


Get the number of elements in collection type column using OID

cubrid_col_get
cubrid_column_names
CUBRID Функции
PHP Manual

cubrid_col_size

(PECL CUBRID >= 8.3.0)

cubrid_col_size — Get the number of elements in collection type column using OID

Описание

int cubrid_col_size ( resource $conn_identifier , string $oid , string $attr_name )

The cubrid_col_size() function is used to get the number of elements in a collection type (set, multiset, sequence) attribute.

Список параметров

conn_identifier

Connection identifier.

oid

OID the instance that you want to work with.

attr_name

Name of the attribute that you want to work with.

Возвращаемые значения

Number of elements, when process is successful.

FALSE, when process is unsuccessful.

Список изменений

Версия | Описание
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Примеры

Пример #1 cubrid_col_size() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_col_get
cubrid_column_names
CUBRID Функции


Get the column names in result

cubrid_col_size
cubrid_column_types
CUBRID Функции
PHP Manual

cubrid_column_names

(PECL CUBRID >= 8.3.0)

cubrid_column_names — Get the column names in result

Описание

array cubrid_column_names ( resource $req_identifier )

The cubrid_column_names() function is used to get the column names of the query result by using req_identifier.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

Array of string which containing column names, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_column_names() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char(3)                        3
medal                          char(1)                        1
game_date                      date                           10

Смотрите также

  • cubrid_prepare() - Prepare an SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_column_types() - Get column types in result

cubrid_col_size
cubrid_column_types
CUBRID Функции


Get column types in result

cubrid_column_names
cubrid_commit
CUBRID Функции
PHP Manual

cubrid_column_types

(PECL CUBRID >= 8.3.0)

cubrid_column_types — Get column types in result

Описание

array cubrid_column_types ( resource $req_identifier )

The cubrid_column_types() function gets column types of query results by using req_identifier.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

Array of string which containing column types, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_column_types() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char(3)                        3
medal                          char(1)                        1
game_date                      date                           10

Смотрите также

  • cubrid_column_names() - Get the column names in result
  • cubrid_prepare() - Prepare an SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement

cubrid_column_names
cubrid_commit
CUBRID Функции


Commit a transaction

cubrid_column_types
cubrid_connect_with_url
CUBRID Функции
PHP Manual

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit — Commit a transaction

Описание

bool cubrid_commit ( resource $conn_identifier )

The cubrid_commit() function is used to execute commit on the transaction pointed by conn_identifier, currently on progress. Connection to the server is closed after the cubrid_commit() function is called; the connection handle is still valid, however.

In CUBRID PHP, an auto-commit mode is disabled by default for transaction management, and you can set it by using cubrid_set_autocommit(), and get its status by using cubrid_get_autocommit(). Before you start a transaction, remember to disable the auto-commit mode.

Список параметров

conn_identifier

Connection identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_commit() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Смотрите также

  • cubrid_rollback() - Roll back a transaction
  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_set_autocommit() - Set autocommit mode of the connection

cubrid_column_types
cubrid_connect_with_url
CUBRID Функции


Establish the environment for connecting to CUBRID server

cubrid_commit
cubrid_connect
CUBRID Функции
PHP Manual

cubrid_connect_with_url

(PECL CUBRID >= 8.3.0)

cubrid_connect_with_url — Establish the environment for connecting to CUBRID server

Описание

resource cubrid_connect_with_url ( string $conn_url [, string $userid [, string $passwd ]] )

The cubrid_connect_with_url() function is used to establish the environment for connecting to your server by using connection information passed with an url string argument. If the HA feature is enabled in CUBRID, you must specify the connection information of the standby server, which is used for failover when failure occurs, in the url string argument of this function. If the user name and password is not given, then the "PUBLIC" connection will be made by default. If a second call is made to cubrid_connect() with the same conn_url, and userid as an existing connection, the existing connection will be returned unless you pass.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
<properties> ::= <property> [&<property>]
<properties> ::= autocommit=<autocommit_mode>
<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]
<host> := HOSTNAME | IP_ADDR
<time> := SECOND

or <url> ::= cci:CUBRID:<host>:<db_name>:......

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • autocommit : The database connection auto-commit mode
  • alhosts: Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.

Список параметров

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

Возвращаемые значения

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_connect_with_url() url without properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33088:demodb:dba:123456:?autocommit=off"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Пример #2 cubrid_connect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33088:demodb:dba:123456:?autocommit=off&althost=10.34.63.132:33088&rctime=100"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_commit
cubrid_connect
CUBRID Функции


Open a connection to a CUBRID Server

cubrid_connect_with_url
cubrid_current_oid
CUBRID Функции
PHP Manual

cubrid_connect

(PECL CUBRID >= 8.3.0)

cubrid_connect — Open a connection to a CUBRID Server

Описание

resource cubrid_connect ( string $host , int $port , string $dbname [, string $userid [, string $passwd ]] )

The cubrid_connect() function is used to establish the environment for connecting to your server by using your server address, port number, database name, user name, and password. If the user name and password is not given, then the "PUBLIC" connection will be made by default. If a second call is made to cubrid_connect() with the same host, port, dbname and userid as an existing connection, the existing connection will be returned unless you pass.

Список параметров

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database.

passwd

User password.

Возвращаемые значения

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1

Смотрите также

  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_connect_with_url
cubrid_current_oid
CUBRID Функции


Get OID of the current cursor location

cubrid_connect
cubrid_disconnect
CUBRID Функции
PHP Manual

cubrid_current_oid

(PECL CUBRID >= 8.3.0)

cubrid_current_oid — Get OID of the current cursor location

Описание

string cubrid_current_oid ( resource $req_identifier )

The cubrid_current_oid() function is used to get the oid of the current cursor location from the query result. To use cubrid_current_oid(), the query executed must be a updatable query, and the CUBRID_INCLUDE_OID option must be included during the query execution.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

Oid of current cursor location, when process is successful

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_current_oid() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$res = cubrid_get($conn, $oid);

print_r($res);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Array
(
    [s_name] => X
    [f_name] => Mixed
)

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_connect
cubrid_disconnect
CUBRID Функции


Close a database connection

cubrid_current_oid
cubrid_drop
CUBRID Функции
PHP Manual

cubrid_disconnect

(PECL CUBRID >= 8.3.0)

cubrid_disconnect — Close a database connection

Описание

bool cubrid_disconnect ( resource $conn_identifier )

The cubrid_disconnect() function closes the connection handle and disconnects from server. If there exists any request handle not closed yet at this point, it will be closed.

Список параметров

conn_identifier

Connection identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_disconnect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server

cubrid_current_oid
cubrid_drop
CUBRID Функции


Delete an instance using OID

cubrid_disconnect
cubrid_error_code_facility
CUBRID Функции
PHP Manual

cubrid_drop

(PECL CUBRID >= 8.3.0)

cubrid_drop — Delete an instance using OID

Описание

bool cubrid_drop ( resource $conn_identifier , string $oid )

The cubrid_drop() function is used to delete an instance from database by using oid.

Список параметров

conn_identifier

Connection identifier.

oid

Oid of the instance that you want to delete.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("--- Before Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

if (cubrid_drop($conn, $oid)) {
    cubrid_commit($conn);
} else {
    cubrid_rollback($conn);
}

cubrid_close_request($req);

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("\n--- After Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

--- Before Drop: ---
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

--- After Drop: ---
array(4) {
  ["a"]=>
  string(1) "2"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "4"
    [1]=>
    string(1) "5"
    [2]=>
    string(1) "7"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "44"
    [1]=>
    string(2) "55"
    [2]=>
    string(2) "66"
    [3]=>
    string(3) "666"
  }
  ["d"]=>
  string(10) "b         "
}

Смотрите также

  • cubrid_is_instance() - Check whether the instance pointed by OID exists

cubrid_disconnect
cubrid_error_code_facility
CUBRID Функции


Get the facility code of error

cubrid_drop
cubrid_error_code
CUBRID Функции
PHP Manual

cubrid_error_code_facility

(PECL CUBRID >= 8.3.0)

cubrid_error_code_facility — Get the facility code of error

Описание

int cubrid_error_code_facility ( void )

The cubrid_error_code_facility() function is used to get the facility code (level in which the error occurred) from the error code of the error that occurred during the API execution. Usually, you can get the error code when API returns false as its return value.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Facility code of the error code that occurred: CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI, CUBRID_FACILITY_CLIENT

Примеры

Пример #1 cubrid_error_code_facility() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = @cubrid_execute($conn, "SELECT * FROM unknown");
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Результат выполнения данного примера:

Error facility: 1
Error code: -493
Error msg: Syntax: syntax error, unexpected UNKNOWN

Смотрите также

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_drop
cubrid_error_code
CUBRID Функции


Get error code for the most recent function call

cubrid_error_code_facility
cubrid_error_msg
CUBRID Функции
PHP Manual

cubrid_error_code

(PECL CUBRID >= 8.3.0)

cubrid_error_code — Get error code for the most recent function call

Описание

int cubrid_error_code ( void )

The cubrid_error_code() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Error code of the error that occurred, or 0 (zero) if no error occurred.

Примеры

Пример #1 cubrid_error_code() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare($conn , "SELECT * FROM code WHERE s_name=?");

$req = @cubrid_execute($req);
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Результат выполнения данного примера:

Error facility: 4
Error code: -2015
Error msg: Some parameter not binded

Смотрите также

  • cubrid_error_code_facility() - Get the facility code of error
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_error_code_facility
cubrid_error_msg
CUBRID Функции


Get last error message for the most recent function call

cubrid_error_code
cubrid_execute
CUBRID Функции
PHP Manual

cubrid_error_msg

(PECL CUBRID >= 8.3.0)

cubrid_error_msg — Get last error message for the most recent function call

Описание

string cubrid_error_msg ( void )

The cubrid_error_msg() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Error message that occurred.

Примеры

Пример #1 cubrid_error_msg() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

if (!@cubrid_schema($conn, 100000)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Результат выполнения данного примера:

Error facility: 2
Error code: -1015
Error msg: Invalid T_CCI_SCH_TYPE value

Смотрите также

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error

cubrid_error_code
cubrid_execute
CUBRID Функции


Execute a prepared SQL statement

cubrid_error_msg
cubrid_fetch
CUBRID Функции
PHP Manual

cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute — Execute a prepared SQL statement

Описание

resource cubrid_execute ( resource $conn_identifier , string $sql [, int $option ] )
bool cubrid_execute ( resource $request_identifier [, int $option ] )

The cubrid_execute() function is used to execute the given SQL statement. It executes the query by using conn_identifier and SQL, and then returns the request identifier created. It is used for simple execution of query, where the parameter binding is not needed. In addition, the cubrid_execute() function is used to execute the prepared statement by means of cubrid_prepare() and cubrid_bind(). At this time, you need to specify arguments of request_identifier and option.

The option is used to determine whether to get OID after query execution and whether to execute the query in synchronous or asynchronous mode. CUBRID_INCLUDE_OID and CUBRID_ASYNC (or CUBRID_EXEC_QUERY_ALL if you want to execute multiple SQL statements) can be specified by using a bitwise OR operator. If not specified, neither of them isselected. If the flag CUBRID_EXEC_QUERY_ALL is set, a synchronous mode (sync_mode) is used to retrieve query results, and in such cases the following rules are applied:

  • The return value is the result of the first query.
  • If an error occurs in any query, the execution is processed as a failure.
  • For a query composed of in a query composed of q1 q2 q3 if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
  • If a query is executed successfully, the result of the second query can be obtained using cubrid_next_result().

If the first argument is request_identifier to execute the cubrid_prepare() function, you can specify an option, CUBRID_ASYNC only.

Список параметров

conn_identifier

Connection identifier.

sql

SQL to be executed.

option

Query execution option CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

cubrid_prepare() identifier.

Возвращаемые значения

Request identifier, when process is successful and first param is conn_identifier; TRUE, when process is successful and first argument is request_identifier.

FALSE, when process is unsuccessful.

Список изменений

Версия | Описание
8.4.0 | Add new option CUBRID_EXEC_QUERY_ALL.

Примеры

Пример #1 cubrid_execute() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
    printf("%-20s %-9s %-10s %-5s\n",
        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Смотрите также

  • cubrid_prepare() - Prepare an SQL statement for execution
  • cubrid_bind() - Bind variables to a prepared statement as parameters
  • cubrid_next_result() - Get result of next query when executing multiple SQL statements
  • cubrid_close_request() - Close the request handle
  • cubrid_commit() - Commit a transaction
  • cubrid_rollback() - Roll back a transaction

cubrid_error_msg
cubrid_fetch
CUBRID Функции


Fetch the next row from a result set

cubrid_execute
cubrid_free_result
CUBRID Функции
PHP Manual

cubrid_fetch

(PECL CUBRID >= 8.3.0)

cubrid_fetch — Fetch the next row from a result set

Описание

mixed cubrid_fetch ( resource $result [, int $type = CUBRID_BOTH ] )

The cubrid_fetch() function is used to get a single row from the query result. The cursor automatically moves to the next row after getting the result.

Список параметров

result

result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT.

Возвращаемые значения

Result array or object, when process is successful.

FALSE, when process is unsuccessful.

The result can be received either as an array or as an object, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)
  • CUBRID_OBJECT : object that has the attribute name as the column name of query result

When type argument is omitted, the result will be received using CUBRID_BOTH option as default. When you want to receive query result in object data type, the column name of the result must obey the naming rules for identifiers in PHP. For example, column name such as "count(*)" cannot be received in object type.

Примеры

Пример #1 cubrid_fetch() example

<?php
$conn = cubrid_connect("localhost", 33088, "demodb");
$req = cubrid_execute($conn, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_execute
cubrid_free_result
CUBRID Функции


Free the memory occupied by the result data

cubrid_fetch
cubrid_get_autocommit
CUBRID Функции
PHP Manual

cubrid_free_result

(PECL CUBRID >= 8.3.0)

cubrid_free_result — Free the memory occupied by the result data

Описание

bool cubrid_free_result ( resource $req_identifier )

This function frees the memory occupied by the result data. It returns TRUE on success or FALSE on failure. Note that it can only frees the client fetch buffer now, and if you want free all memory, use function cubrid_close_request().

Список параметров

req_identifier

This is the request identifier.

Возвращаемые значения

TRUE on success.

FALSE on failure.

Примеры

Пример #1 cubrid_free_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM history WHERE host_year=2004 ORDER BY event_code");
$row = cubrid_fetch_assoc($req);
var_dump($row);

cubrid_free_result($req);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(5) {
  ["event_code"]=>
  string(5) "20005"
  ["athlete"]=>
  string(12) "Hayes Joanna"
  ["host_year"]=>
  string(4) "2004"
  ["score"]=>
  string(5) "12.37"
  ["unit"]=>
  string(4) "time"
}
cubrid_fetch
cubrid_get_autocommit
CUBRID Функции


Get auto-commit mode of the connection

cubrid_free_result
cubrid_get_charset
CUBRID Функции
PHP Manual

cubrid_get_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_get_autocommit — Get auto-commit mode of the connection

Описание

bool cubrid_get_autocommit ( resource $conn_identifier )

The cubrid_get_autocommit() function is used to get the status of CUBRID database connection auto-commit mode.

In CUBRID PHP, an auto-commit mode is disabled by default for transaction management.

Список параметров

conn_identifier

Connection identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Смотрите также

  • cubrid_set_autocommit() - Set autocommit mode of the connection
  • cubrid_commit() - Commit a transaction

cubrid_free_result
cubrid_get_charset
CUBRID Функции


Return the current CUBRID connection charset

cubrid_get_autocommit
cubrid_get_class_name
CUBRID Функции
PHP Manual

cubrid_get_charset

(PECL CUBRID >= 8.3.0)

cubrid_get_charset — Return the current CUBRID connection charset

Описание

string cubrid_get_charset ( resource $conn_identifier )

This function returns This function returns the current CUBRID connection charset.

Список параметров

conn_identifier

The CUBRID connection.

Возвращаемые значения

A string that represents the CUBRID connection charset; on success.

FALSE on failure.

Примеры

Пример #1 cubrid_get_charset() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1
cubrid_get_autocommit
cubrid_get_class_name
CUBRID Функции


Get the class name using OID

cubrid_get_charset
cubrid_get_client_info
CUBRID Функции
PHP Manual

cubrid_get_class_name

(PECL CUBRID >= 8.3.0)

cubrid_get_class_name — Get the class name using OID

Описание

string cubrid_get_class_name ( resource $conn_identifier , string $oid )

The cubrid_get_class_name() function is used to get the class name from oid.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Возвращаемые значения

Class name when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_get_class_name() example

<?php
$conn = cubrid_connect("localhost", 33088, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$class_name = cubrid_get_class_name($conn, $oid);

print_r($class_name);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

code

Смотрите также

  • cubrid_is_instance() - Check whether the instance pointed by OID exists
  • cubrid_drop() - Delete an instance using OID

cubrid_get_charset
cubrid_get_client_info
CUBRID Функции


Return the client library version

cubrid_get_class_name
cubrid_get_db_parameter
CUBRID Функции
PHP Manual

cubrid_get_client_info

(PECL CUBRID >= 8.3.0)

cubrid_get_client_info — Return the client library version

Описание

string cubrid_get_client_info ( void )

This function returns a string that represents the client library version.

Список параметров

Возвращаемые значения

A string that represents the client library version; on success.

FALSE on failure.

Примеры

Пример #1 cubrid_get_client_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1
cubrid_get_class_name
cubrid_get_db_parameter
CUBRID Функции


Returns the CUBRID database parameters

cubrid_get_client_info
cubrid_get_query_timeout
CUBRID Функции
PHP Manual

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — Returns the CUBRID database parameters

Описание

array cubrid_get_db_parameter ( resource $conn_identifier )

This function returns the CUBRID database parameters or it returns FALSE on failure. It returns an associative array with the values for the following parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Database parameters
Parameter | Description
PARAM_ISOLATION_LEVEL | The transaction isolation level.
LOCK_TIMEOUT | CUBRID provides the lock timeout feature, which sets the waiting time (in seconds) for the lock until the transaction lock setting is allowed. The default value of the lock_timeout_in_secs parameter is -1, which means the application client will wait indefinitely until the transaction lock is allowed.
PARAM_AUTO_COMMIT | In CUBRID PHP, an auto-commit mode is disabled by default for transaction management. It can be set by using cubrid_set_autocommit().

The following table shows the isolation levels from 1 to 6. It consists of table schema (row) and isolation level:

Levels of Isolation Supported by CUBRID
Name | Description
SERIALIZABLE (6) | In this isolation level, problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.
REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience phantom read for the record R that was inserted by another transaction T2 when it is repeatedly retrieving a specific record.
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R read (non-repeatable read) that was updated and committed by another transaction T2 when it is repeatedly retrieving the record R.
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | Default isolation level. Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is viewing table A repeatedly. Transaction T1 may experience R' read (non-repeatable read) for the record that was updated and committed by another transaction T2 while it is retrieving the record R repeatedly.
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is repeatedly viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.

Список параметров

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Возвращаемые значения

An associative array with CUBRID database parameters; on success.

FALSE on failure.

Список изменений

Версия | Описание
8.4.0 | Change LOCK_TIMEOUT to PARAM_LOCK_TIMEOUT, and MAX_STRING_LENGTH to PARAM_MAX_STRING_LENGTH in result.

Примеры

Пример #1 cubrid_get_db_parameter() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
PARAM_LOCK_TIMEOUT             -1
PARAM_MAX_STRING_LENGTH        1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1

Смотрите также

  • cubrid_set_db_parameter() - Sets the CUBRID database parameters
  • cubrid_get_autocommit() - Get auto-commit mode of the connection

cubrid_get_client_info
cubrid_get_query_timeout
CUBRID Функции


Get the query timeout value of the request

cubrid_get_db_parameter
cubrid_get_server_info
CUBRID Функции
PHP Manual

cubrid_get_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_get_query_timeout — Get the query timeout value of the request

Описание

int cubrid_get_query_timeout ( resource $req_identifier )

The cubrid_get_query_timeout() function is used to get the query timeout of the request.

Список параметров

req_identifier

Request identifier.

Возвращаемые значения

Success: the query timeout value of the current request. Units of msec.

Failure: FALSE

Смотрите также

  • cubrid_set_query_timeout() - Set the timeout time of query execution

cubrid_get_db_parameter
cubrid_get_server_info
CUBRID Функции


Return the CUBRID server version

cubrid_get_query_timeout
cubrid_get
CUBRID Функции
PHP Manual

cubrid_get_server_info

(PECL CUBRID >= 8.3.0)

cubrid_get_server_info — Return the CUBRID server version

Описание

string cubrid_get_server_info ( resource $conn_identifier )

This function returns a string that represents the CUBRID server version.

Список параметров

conn_identifier

The CUBRID connection.

Возвращаемые значения

A string that represents the CUBRID server version; on success.

FALSE on failure.

Примеры

Пример #1 cubrid_get_server_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1
cubrid_get_query_timeout
cubrid_get
CUBRID Функции


Get a column using OID

cubrid_get_server_info
cubrid_insert_id
CUBRID Функции
PHP Manual

cubrid_get

(PECL CUBRID >= 8.3.0)

cubrid_get — Get a column using OID

Описание

mixed cubrid_get ( resource $conn_identifier , string $oid [, mixed $attr ] )

The cubrid_get() function is used to get the attribute of the instance of the given oid. You can get single attribute by using string data type for the attr argument, or many attributes by using array data type for the attr argument.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr

Name of the attribute that you want to read.

Возвращаемые значения

Content of the requested attribute, when process is successful; When attr is set with string data type, the result is returned as a string; when attr is set with array data type (0-based numerical array), then the result is returned in associative array. When attr is omitted, then all attributes are received in array form.

FALSE when process is unsuccessful or result is NULL (If error occurs to distinguish empty string from NULL, then it prints the warning message. You can check the error by using cubrid_error_code())

Примеры

Пример #1 cubrid_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Смотрите также

  • cubrid_put() - Update a column using OID

cubrid_get_server_info
cubrid_insert_id
CUBRID Функции


Return the ID generated for the lastest updated AUTO_INCREMENT column

cubrid_get
cubrid_is_instance
CUBRID Функции
PHP Manual

cubrid_insert_id

(PECL CUBRID >= 8.3.0)

cubrid_insert_id — Return the ID generated for the lastest updated AUTO_INCREMENT column

Описание

string cubrid_insert_id ([ resource $conn_identifier ] )

The cubrid_insert_id() function retrieves the ID generated for the AUTO_INCREMENT column which is updated by the previous INSERT query. It returns 0 if the previous query does not generate new rows, or FALSE on failure.

Замечание:

CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be a single AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, this function should not be used even if it will return a value.

Список параметров

conn_identifier

The connection identifier previously obtained by a call to cubrid_connect().

Возвращаемые значения

A string representing the ID generated for an AUTO_INCREMENT column by the previous query, on success.

0, if the previous query does not generate new rows.

FALSE on failure.

Список изменений

Версия | Описание
8.4.0 | Change the return value from an array to string; Remove the first parameter class_name.

Примеры

Пример #1 cubrid_insert_id() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d int AUTO_INCREMENT(1, 2), t varchar)");

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

$id = cubrid_insert_id();
var_dump($id);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

string(2) "19"
cubrid_get
cubrid_is_instance
CUBRID Функции


Check whether the instance pointed by OID exists

cubrid_insert_id
cubrid_lob_close
CUBRID Функции
PHP Manual

cubrid_is_instance

(PECL CUBRID >= 8.3.0)

cubrid_is_instance — Check whether the instance pointed by OID exists

Описание

int cubrid_is_instance ( resource $conn_identifier , string $oid )

The cubrid_is_instance() function is used to check whether the instance pointed by the given oid exists or not.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Возвращаемые значения

1, if such instance exists;

0, if such instance does not exist;

-1, in case of error

Примеры

Пример #1 cubrid_is_instance() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT host_year, medal, game_date
FROM game
WHERE athlete_code IN
    (SELECT code FROM athlete WHERE name='Thorpe Ian');
EOD;

$req = cubrid_execute($conn, $sql, CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);

$res = cubrid_is_instance ($conn, $oid);
if ($res == 1) {
    echo "Instance pointed by $oid exists.\n";
} else if ($res == 0){
    echo "Instance pointed by $oid doesn't exist.\n";
} else {
    echo "error\n";
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Instance pointed by @0|0|0 doesn't exist.

Смотрите также

  • cubrid_drop() - Delete an instance using OID
  • cubrid_get_class_name() - Get the class name using OID

cubrid_insert_id
cubrid_lob_close
CUBRID Функции


Close BLOB/CLOB data

cubrid_is_instance
cubrid_lob_export
CUBRID Функции
PHP Manual

cubrid_lob_close

(PECL CUBRID >= 8.3.1)

cubrid_lob_close — Close BLOB/CLOB data

Описание

bool cubrid_lob_close ( array $lob_identifier_array )

cubrid_lob_close() is used to close all BLOB/CLOB returned from cubrid_lob_get().

Список параметров

lob_identifier_array

LOB identifier array return from cubrid_lob_get.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lob_close() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Смотрите также

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_is_instance
cubrid_lob_export
CUBRID Функции


Export BLOB/CLOB data to file

cubrid_lob_close
cubrid_lob_get
CUBRID Функции
PHP Manual

cubrid_lob_export

(PECL CUBRID >= 8.3.1)

cubrid_lob_export — Export BLOB/CLOB data to file

Описание

bool cubrid_lob_export ( resource $conn_identifier , resource $lob_identifier , string $path_name )

cubrid_lob_export() is used to get BLOB/CLOB data from CUBRID database, and saves its contents to a file. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Список параметров

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

path_name

Path name of the file.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lob_export() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Смотрите также

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_close
cubrid_lob_get
CUBRID Функции


Get BLOB/CLOB data

cubrid_lob_export
cubrid_lob_send
CUBRID Функции
PHP Manual

cubrid_lob_get

(PECL CUBRID >= 8.3.1)

cubrid_lob_get — Get BLOB/CLOB data

Описание

array cubrid_lob_get ( resource $conn_identifier , string $sql )

cubrid_lob_get() is used to get BLOB/CLOB meta info from CUBRID database, CUBRID gets BLOB/CLOB by executing the SQL statement, and returns all LOBs as a resource array. Be sure that the SQL retrieves only one column and its data type is BLOB or CLOB.

Remember to use cubrid_lob_close() to release the LOBs if you don't need it any more.

Список параметров

conn_identifier

Connection identifier.

sql

SQL statement to be executed.

Возвращаемые значения

Return an array of LOB resources, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lob_get() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Смотрите также

  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_export
cubrid_lob_send
CUBRID Функции


Read BLOB/CLOB data and send straight to browser

cubrid_lob_get
cubrid_lob_size
CUBRID Функции
PHP Manual

cubrid_lob_send

(PECL CUBRID >= 8.3.1)

cubrid_lob_send — Read BLOB/CLOB data and send straight to browser

Описание

bool cubrid_lob_send ( resource $conn_identifier , resource $lob_identifier )

cubrid_lob_send() reads BLOB/CLOB data and passes it straight through to the browser. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Список параметров

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lob_send() example

<?php
$lobs = cubrid_lob_get($con, "SELECT image FROM person WHERE id=1");
Header("Content-type: image/jpeg");
cubrid_lob_send($conn, $lobs[0]);
cubrid_lob_close($lobs);
?>

Смотрите также

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file

cubrid_lob_get
cubrid_lob_size
CUBRID Функции


Get BLOB/CLOB data size

cubrid_lob_send
cubrid_lock_read
CUBRID Функции
PHP Manual

cubrid_lob_size

(PECL CUBRID >= 8.3.1)

cubrid_lob_size — Get BLOB/CLOB data size

Описание

string cubrid_lob_size ( resource $lob_identifier )

cubrid_lob_size() is used to get BLOB/CLOB data size.

Список параметров

lob_identifier

LOB identifier.

Возвращаемые значения

A string representing LOB data size, when process is successful.

FALSE, when process is unsuccessful.

Список изменений

Версия | Описание
8.4.0 | Change return value type from int to string.

Примеры

Пример #1 cubrid_lob_size() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
echo "Doc size:".cubrid_lob_size($lobs[0]);
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Смотрите также

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_send
cubrid_lock_read
CUBRID Функции


Set a read lock on the given OID

cubrid_lob_size
cubrid_lock_write
CUBRID Функции
PHP Manual

cubrid_lock_read

(PECL CUBRID >= 8.3.0)

cubrid_lock_read — Set a read lock on the given OID

Описание

bool cubrid_lock_read ( resource $conn_identifier , string $oid )

The cubrid_lock_read() function is used to put read lock on the instance pointed by given oid.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put read lock on.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lock_read() example

<?php
$conn = cubrid_connect("localhost", 33088, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_read($conn, $oid);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Смотрите также

  • cubrid_lock_write() - Set a write lock on the given OID

cubrid_lob_size
cubrid_lock_write
CUBRID Функции


Set a write lock on the given OID

cubrid_lock_read
cubrid_move_cursor
CUBRID Функции
PHP Manual

cubrid_lock_write

(PECL CUBRID >= 8.3.0)

cubrid_lock_write — Set a write lock on the given OID

Описание

bool cubrid_lock_write ( resource $conn_identifier , string $oid )

The cubrid_lock_write() function is used to put write lock on the instance pointed by the given oid.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put write lock on.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_lock_write() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_write($conn, $oid);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Смотрите также

  • cubrid_lock_read() - Set a read lock on the given OID

cubrid_lock_read
cubrid_move_cursor
CUBRID Функции


Move the cursor in the result

cubrid_lock_write
cubrid_next_result
CUBRID Функции
PHP Manual

cubrid_move_cursor

(PECL CUBRID >= 8.3.0)

cubrid_move_cursor — Move the cursor in the result

Описание

int cubrid_move_cursor ( resource $req_identifier , int $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

The cubrid_move_cursor() function is used to move the current cursor location of req_identifier by the value set in the offset argument, to the direction set in the origin argument. To set the origin argument, you can use CUBRID_CURSOR_FIRST for the first part of the result, CUBRID_CURSOR_CURRENT for the current location of the result, or CUBRID_CURSOR_LAST for the last part of the result. If origin argument is not explicitly designated, then the function uses CUBRID_CURSOR_CURRENT as its default value.

If the value of cursor movement range goes over the valid limit, then the cursor moves to the next location after the valid range for the cursor. For example, if you move 20 units in the result with the size of 10, then the cursor will move to 11th place and return CUBRID_NO_MORE_DATA.

Список параметров

req_identifier

Request identifier.

offset

Number of units you want to move the cursor.

origin

Location where you want to move the cursor from CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.

Возвращаемые значения

CUBRID_CURSOR_SUCCESS, when process is successful.

CUBRID_NO_MORE_DATA, when it is not a valid cursor location.

CUBRID_CURSOR_ERROR, in case of error.

Примеры

Пример #1 cubrid_move_cursor() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_lock_write
cubrid_next_result
CUBRID Функции


Get result of next query when executing multiple SQL statements

cubrid_move_cursor
cubrid_num_cols
CUBRID Функции
PHP Manual

cubrid_next_result

(PECL CUBRID >= 8.4.0)

cubrid_next_result — Get result of next query when executing multiple SQL statements

Описание

bool cubrid_next_result ( resource $result )

The cubrid_next_result() function is used to get results of next query if multiple SQL statements are executed and CUBRID_EXEC_QUERY_ALL flag is set upon cubrid_execute().

Список параметров

result

result comes from a call to cubrid_execute()

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_next_result() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$sql_stmt = "SELECT * FROM code; SELECT * FROM history WHERE host_year=2004 AND event_code=20281";
$res = cubrid_execute($conn, $sql_stmt, CUBRID_EXEC_QUERY_ALL);

get_result_info($res);
cubrid_next_result($res);
get_result_info($res);

function get_result_info($req)
{
    printf("\n------------ get_result_info --------------------\n");

    $row_num = cubrid_num_rows($req);
    $col_num = cubrid_num_cols($req);

    $column_name_list = cubrid_column_names($req);
    $column_type_list = cubrid_column_types($req);

    $column_last_name = cubrid_field_name($req, $col_num - 1);
    $column_last_table = cubrid_field_table($req, $col_num - 1);

    $column_last_type = cubrid_field_type($req, $col_num - 1);
    $column_last_len = cubrid_field_len($req, $col_num - 1);

    $column_1_flags = cubrid_field_flags($req, 1);

    printf("%-30s %d\n", "Row count:", $row_num);
    printf("%-30s %d\n", "Column count:", $col_num);
    printf("\n");

    printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Len");
    printf("------------------------------------------------------------------------------\n");

    $size = count($column_name_list);
    for($i = 0; $i < $size; $i++) {
        $column_len = cubrid_field_len($req, $i);
        printf("%-30s %-30s %-15s\n", $column_name_list[$i], $column_type_list[$i], $column_len);
    }
    printf("\n\n");

    printf("%-30s %s\n", "Last Column Name:", $column_last_name);
    printf("%-30s %s\n", "Last Column Table:", $column_last_table);
    printf("%-30s %s\n", "Last Column Type:", $column_last_type);
    printf("%-30s %d\n", "Last Column Len:", $column_last_len);
    printf("%-30s %s\n", "Second Column Flags:", $column_1_flags);

    printf("\n\n");
}
?>

Результат выполнения данного примера:

------------ get_result_info --------------------
Row count:                     6
Column count:                  2

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
s_name                         char(1)                        1
f_name                         varchar(6)                     6

Last Column Name:              f_name
Last Column Table:             code
Last Column Type:              varchar(6)
Last Column Len:               6
Second Column Flags:

------------ get_result_info --------------------
Row count:                     4
Column count:                  5

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
event_code                     integer                        11
athlete                        varchar(40)                    40
host_year                      integer                        11
score                          varchar(10)                    10
unit                           varchar(5)                     5

Last Column Name:              unit
Last Column Table:             history
Last Column Type:              varchar(5)
Last Column Len:               5
Second Column Flags:           not_null primary_key unique_key

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_move_cursor
cubrid_num_cols
CUBRID Функции


Return the number of columns in the result set

cubrid_next_result
cubrid_num_rows
CUBRID Функции
PHP Manual

cubrid_num_cols

(PECL CUBRID >= 8.3.0)

cubrid_num_cols — Return the number of columns in the result set

Описание

int cubrid_num_cols ( resource $result )

The cubrid_num_cols() function is used to get the number of columns from the query result. It can only be used when the query executed is a select statement.

Список параметров

result

Result.

Возвращаемые значения

Number of columns, when process is successful.

-1, if SQL statement is not SELECT.

Примеры

Пример #1 cubrid_num_cols() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Row Num: 6
Column Num: 2

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_rows() - Get the number of rows in the result set

cubrid_next_result
cubrid_num_rows
CUBRID Функции


Get the number of rows in the result set

cubrid_num_cols
cubrid_pconnect_with_url
CUBRID Функции
PHP Manual

cubrid_num_rows

(PECL CUBRID >= 8.3.0)

cubrid_num_rows — Get the number of rows in the result set

Описание

int cubrid_num_rows ( resource $result )

The cubrid_num_rows() function is used to get the number of rows from the query result. You can use it only when the query executed is a select statement. When you want to know such value for INSERT, UPDATE, or DELETE query, you have to use the cubrid_affected_rows() function.

Note: The cubrid_num_rows() function can only be used for synchronous query; it returns 0 when it is used for asynchronous query.

Список параметров

result

Result.

Возвращаемые значения

Number of rows, when process is successful.

0 when the query was done in async mode.

-1, if SQL statement is not SELECT.

Примеры

Пример #1 cubrid_num_rows() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Row Num: 6
Column Num: 2

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_cols() - Return the number of columns in the result set
  • cubrid_affected_rows() - Return the number of rows affected by the last SQL statement

cubrid_num_cols
cubrid_pconnect_with_url
CUBRID Функции


Open a persistent connection to CUBRID server

cubrid_num_rows
cubrid_pconnect
CUBRID Функции
PHP Manual

cubrid_pconnect_with_url

(PECL CUBRID >= 8.4.1)

cubrid_pconnect_with_url — Open a persistent connection to CUBRID server

Описание

resource cubrid_pconnect_with_url ( string $conn_url [, string $userid [, string $passwd ]] )

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect_with_url()() acts very much like cubrid_connect_with_url() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect_with_url()).

This type of link is therefore called 'persistent'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
<properties> ::= <property> [&<property>]
<properties> ::= autocommit=<autocommit_mode>
<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]
<host> := HOSTNAME | IP_ADDR
<time> := SECOND

or <url> ::= cci:CUBRID:<host>:<db_name>:......

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • autocommit : The database connection auto-commit mode
  • alhosts: Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.

Список параметров

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

Возвращаемые значения

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_connect_with_url() url without properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba:123456:?autocommit=off"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Пример #2 cubrid_connect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba:123456:?autocommit=off&althost=10.34.63.132:33088&rctime=100"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url()
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_num_rows
cubrid_pconnect
CUBRID Функции


Open a persistent connection to a CUBRID server

cubrid_pconnect_with_url
cubrid_prepare
CUBRID Функции
PHP Manual

cubrid_pconnect

(PECL CUBRID >= 8.4.1)

cubrid_pconnect — Open a persistent connection to a CUBRID server

Описание

resource cubrid_pconnect ( string $host , int $port , string $dbname [, string $userid [, string $passwd ]] )

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect()() acts very much like cubrid_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect()).

This type of link is therefore called 'persistent'.

Список параметров

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database.

passwd

User password.

Возвращаемые значения

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_pconnect("localhost", 33000, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.4.1.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   0
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.4.1.0508
Client Info:                   8.4.1

CUBRID Charset:                iso8859-1

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_pconnect_with_url
cubrid_prepare
CUBRID Функции


Prepare an SQL statement for execution

cubrid_pconnect
cubrid_put
CUBRID Функции
PHP Manual

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Prepare an SQL statement for execution

Описание

resource cubrid_prepare ( resource $conn_identifier , string $prepare_stmt [, int $option = 0 ] )

The cubrid_prepare() function is a sort of API which represents SQL statements compiled previously to a given connection handle. This pre-compiled SQL statement will be included in the cubrid_prepare().

Accordingly, you can use this statement effectively to execute several times repeatedly or to process long data. Only a single statement can be used and a parameter may put a question mark (?) to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a MARK(?) by the cubrid_bind() only.

Список параметров

conn_identifier

Connection identifier.

prepare_stmt

Prepare query.

option

OID return option CUBRID_INCLUDE_OID.

Возвращаемые значения

Request identifier, if process is successful;

FALSE, if process is unsuccessful.

Примеры

Пример #1 cubrid_prepare() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);

printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_bind() - Bind variables to a prepared statement as parameters

cubrid_pconnect
cubrid_put
CUBRID Функции


Update a column using OID

cubrid_prepare
cubrid_rollback
CUBRID Функции
PHP Manual

cubrid_put

(PECL CUBRID >= 8.3.0)

cubrid_put — Update a column using OID

Описание

int cubrid_put ( resource $conn_identifier , string $oid [, string $attr ], mixed $value )

The cubrid_put() function is used to update an attribute of the instance of the given oid.

You can update single attribute by using string data type to set attr. In such case, you can use integer, float-point, or string type data for the value argument. To update multiple number of attributes, you can disregard the attr argument, and set value argument with associative array data type.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance that you want to update.

attr

Name of the attribute that you want to update.

value

New value that you want to assign to the attribute.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Смотрите также

  • cubrid_get() - Get a column using OID
  • cubrid_set_add() - Insert a single element to set type column using OID
  • cubrid_set_drop() - Delete an element from set type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_prepare
cubrid_rollback
CUBRID Функции


Roll back a transaction

cubrid_put
cubrid_schema
CUBRID Функции
PHP Manual

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollback — Roll back a transaction

Описание

bool cubrid_rollback ( resource $conn_identifier )

The cubrid_rollback() function executes rollback on the transaction pointed by conn_identifier, currently in progress.

Connection to server is closed after calling cubrid_rollback(). Connection handle, however, is still valid.

Список параметров

conn_identifier

Connection identifier.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_rollback() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Смотрите также

  • cubrid_commit() - Commit a transaction
  • cubrid_disconnect() - Close a database connection

cubrid_put
cubrid_schema
CUBRID Функции


Get the requested schema information

cubrid_rollback
cubrid_seq_drop
CUBRID Функции
PHP Manual

cubrid_schema

(PECL CUBRID >= 8.3.0)

cubrid_schema — Get the requested schema information

Описание

array cubrid_schema ( resource $conn_identifier , int $schema_type [, string $class_name [, string $attr_name ]] )

The cubrid_schema() function is used to get the requested schema information from database. You have to designate class_name, if you want to get information on certain class, attr_name, if you want to get information on certain attribute (can be used only with CUBRID_ SCH_ATTR_PRIVILEGE).

The result of the cubrid_schema function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
CUBRID_SCH_CLASS | 1 | NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_VCLASS | 1 | NAME |
 | 2 | TYPE | 1:vclass
CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Список параметров

conn_identifier

Connection identifier.

schema_type

Schema data that you want to know.

class_name

Class you want to know the schema of.

attr_name

Attribute you want to know the schema of.

Возвращаемые значения

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Список изменений

Версия | Описание
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Примеры

Пример #1 cubrid_schema() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

printf("\n--- Primary Key ---\n");
$pk = cubrid_schema($conn, CUBRID_SCH_PRIMARY_KEY, "game");
var_dump($pk);

printf("\n--- Foreign Keys ---\n");
$fk = cubrid_schema($conn, CUBRID_SCH_IMPORTED_KEYS, "game");
var_dump($fk);

printf("\n--- Column Attribute ---\n");
$attr = cubrid_schema($conn, CUBRID_SCH_ATTRIBUTE, "stadium", "area");
var_dump($attr);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

--- Primary Key ---
array(3) {
  [0]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "3"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [1]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "2"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [2]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(9) "host_year"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
}

--- Foreign Keys ---
array(2) {
  [0]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(7) "athlete"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(20) "fk_game_athlete_code"
    ["PK_NAME"]=>
    string(15) "pk_athlete_code"
  }
  [1]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(5) "event"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(18) "fk_game_event_code"
    ["PK_NAME"]=>
    string(13) "pk_event_code"
  }
}

--- Column Attribute ---
array(1) {
  [0]=>
  array(13) {
    ["ATTR_NAME"]=>
    string(4) "area"
    ["DOMAIN"]=>
    string(1) "7"
    ["SCALE"]=>
    string(1) "2"
    ["PRECISION"]=>
    string(2) "10"
    ["INDEXED"]=>
    string(1) "0"
    ["NON_NULL"]=>
    string(1) "0"
    ["SHARED"]=>
    string(1) "0"
    ["UNIQUE"]=>
    string(1) "0"
    ["DEFAULT"]=>
    NULL
    ["ATTR_ORDER"]=>
    string(1) "4"
    ["CLASS_NAME"]=>
    string(7) "stadium"
    ["SOURCE_CLASS"]=>
    string(7) "stadium"
    ["IS_KEY"]=>
    string(1) "0"
  }
}
cubrid_rollback
cubrid_seq_drop
CUBRID Функции


Delete an element from sequence type column using OID

cubrid_schema
cubrid_seq_insert
CUBRID Функции
PHP Manual

cubrid_seq_drop

(PECL CUBRID >= 8.3.0)

cubrid_seq_drop — Delete an element from sequence type column using OID

Описание

bool cubrid_seq_drop ( resource $conn_identifier , string $oid , string $attr_name , int $index )

The cubrid_seq_drop() function is used to delete an element you request from the given sequence type attribute in the database.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to delete an element from.

index

Index of the element that you want to delete (1-based).

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_seq_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_drop($conn, $oid, "c", 4);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(3) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
}

Смотрите также

  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_schema
cubrid_seq_insert
CUBRID Функции


Insert an element to a sequence type column using OID

cubrid_seq_drop
cubrid_seq_put
CUBRID Функции
PHP Manual

cubrid_seq_insert

(PECL CUBRID >= 8.3.0)

cubrid_seq_insert — Insert an element to a sequence type column using OID

Описание

bool cubrid_seq_insert ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

The cubrid_col_insert() function is used to insert an element to a sequence type attribute in a requested location.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an instance to.

index

Location of the element, you want to insert the element to (1-based).

seq_element

Content of the element that you want to insert.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_seq_insert() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_insert($conn, $oid, "c", 5, "44");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(5) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
  [4]=>
  string(2) "44"
}

Смотрите также

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_seq_drop
cubrid_seq_put
CUBRID Функции


Update the element value of sequence type column using OID

cubrid_seq_insert
cubrid_set_add
CUBRID Функции
PHP Manual

cubrid_seq_put

(PECL CUBRID >= 8.3.0)

cubrid_seq_put — Update the element value of sequence type column using OID

Описание

bool cubrid_seq_put ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

The cubrid_seq_put() function is used to update the content of the requested element in a sequent type attribute using OID.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to update an element.

index

Index (1-based) of the element that you want to update.

seq_element

New content that you want to use for the update.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_seq_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_put($conn, $oid, "c", 1, "111");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(4) {
  [0]=>
  string(3) "111"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}

Смотрите также

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID

cubrid_seq_insert
cubrid_set_add
CUBRID Функции


Insert a single element to set type column using OID

cubrid_seq_put
cubrid_set_autocommit
CUBRID Функции
PHP Manual

cubrid_set_add

(PECL CUBRID >= 8.3.0)

cubrid_set_add — Insert a single element to set type column using OID

Описание

bool cubrid_set_add ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

The cubrid_set_add() function is used to insert a single element to a set type attribute (set, multiset, sequence) you requested.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an element.

set_element

Content of the element you want to insert.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_set_add() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_add($conn, $oid, "b", "4");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}

Смотрите также

  • cubrid_seq_drop() - Delete an element from sequence type column using OID

cubrid_seq_put
cubrid_set_autocommit
CUBRID Функции


Set autocommit mode of the connection

cubrid_set_add
cubrid_set_db_parameter
CUBRID Функции
PHP Manual

cubrid_set_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_set_autocommit — Set autocommit mode of the connection

Описание

bool cubrid_set_autocommit ( resource $conn_identifier , bool $mode )

The cubrid_set_autocommit() function is used to set the CUBRID database auto-commit mode of the current database connection.

In CUBRID PHP, an auto-commit mode is disabled by default for transaction management. When auto-commit mode is truned from off to on, any pending work is automatically committed.

Список параметров

conn_identifier

Connection identifier.

mode

Auto-commit mode. The following constants can be used:

  • CUBRID_AUTOCOMMIT_FALSE
  • CUBRID_AUTOCOMMIT_TRUE

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Смотрите также

  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_commit() - Commit a transaction

cubrid_set_add
cubrid_set_db_parameter
CUBRID Функции


Sets the CUBRID database parameters

cubrid_set_autocommit
cubrid_set_drop
CUBRID Функции
PHP Manual

cubrid_set_db_parameter

(PECL CUBRID >= 8.4.0)

cubrid_set_db_parameter — Sets the CUBRID database parameters

Описание

bool cubrid_set_db_parameter ( resource $conn_identifier , int $param_type , int $param_value )

The cubrid_set_db_parameter() function is used to set the CUBRID database parameters. It can set the following CUBRID database parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT

Замечание:

The auto-commit mode can be set by using cubrid_set_autocommit().

Список параметров

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

param_type

Database parameter type.

param_value

Isolation level value (1-6) or lock timeout (in seconds) value.

Возвращаемые значения

TRUE on success.

FALSE on failure.

Примеры

Пример #1 cubrid_get_db_parameter() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$params = cubrid_get_db_parameter($conn);
var_dump($params);

cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 2);

$params_new = cubrid_get_db_parameter($conn);
var_dump($params_new);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(3)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(0)
}
array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(2)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(1)
}

Смотрите также

  • cubrid_get_db_parameter() - Returns the CUBRID database parameters
  • cubrid_set_autocommit() - Set autocommit mode of the connection

cubrid_set_autocommit
cubrid_set_drop
CUBRID Функции


Delete an element from set type column using OID

cubrid_set_db_parameter
cubrid_set_query_timeout
CUBRID Функции
PHP Manual

cubrid_set_drop

(PECL CUBRID >= 8.3.0)

cubrid_set_drop — Delete an element from set type column using OID

Описание

bool cubrid_set_drop ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

The cubrid_set_drop() function is used to delete an element that you request from the given set type (set, multiset) attribute of the database.

Список параметров

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to delete an element from.

set_element

Content of the element you want to delete.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_set_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_drop($conn, $oid, "b", "1");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "3"
}

Смотрите также

  • cubrid_set_add() - Insert a single element to set type column using OID

cubrid_set_db_parameter
cubrid_set_query_timeout
CUBRID Функции


Set the timeout time of query execution

cubrid_set_drop
cubrid_version
CUBRID Функции
PHP Manual

cubrid_set_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_set_query_timeout — Set the timeout time of query execution

Описание

bool cubrid_set_autocommit ( resource $req_identifier , int $timeout )

The cubrid_set_query_timeout() function is used to set the timeout time of query execution.

Список параметров

req_identifier

Request identifier.

timeout

Timeout time, unit of msec.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Смотрите также

  • cubrid_get_query_timeout() - Get the query timeout value of the request

cubrid_set_drop
cubrid_version
CUBRID Функции


Get the CUBRID PHP module's version

cubrid_set_query_timeout
CUBRID MySQL Compatibility Functions
CUBRID Функции
PHP Manual

cubrid_version

(PECL CUBRID >= 8.3.0)

cubrid_version — Get the CUBRID PHP module's version

Описание

string cubrid_version ( void )

The cubrid_version() function is used to get the CUBRID PHP module's version.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Version information (eg. "8.3.1.0001").

Примеры

Пример #1 cubrid_version() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Результат выполнения данного примера:

CUBRID PHP Version:            8.3.1.0005

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              0

Server Info:                   8.3.1.0173
Client Info:                   8.3.1

CUBRID Charset:                iso8859-1

Смотрите также

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error

cubrid_set_query_timeout
CUBRID MySQL Compatibility Functions
CUBRID Функции


CUBRID MySQL Compatibility Functions

Содержание

  • cubrid_client_encoding — Return the current CUBRID connection charset
  • cubrid_close — Close CUBRID connection
  • cubrid_data_seek — Move the internal row pointer of the CUBRID result
  • cubrid_db_name — Get db name from results of cubrid_list_dbs
  • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error — Get the error message
  • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
  • cubrid_fetch_field — Get column information from a result and return as an object
  • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
  • cubrid_fetch_object — Fetche the next row and returns it as an object
  • cubrid_fetch_row — Return a numerical array with the values of the current row
  • cubrid_field_flags — Return a string with the flags of the given field offset
  • cubrid_field_len — Get the maximum length of the specified field
  • cubrid_field_name — Return the name of the specified field index
  • cubrid_field_seek — Move the result set cursor to the specified field offset
  • cubrid_field_table — Return the name of the table of the specified field
  • cubrid_field_type — Return the type of the column corresponding to the given field offset
  • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
  • cubrid_num_fields — Return the number of columns in the result set
  • cubrid_ping — Ping a server connection or reconnect if there is no connection
  • cubrid_query — Send a CUBRID query
  • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
  • cubrid_result — Return the value of a specific field in a specific row
  • cubrid_unbuffered_query — Perform a query without fetching the results into memory
cubrid_version
cubrid_client_encoding
CUBRID


Return the current CUBRID connection charset

CUBRID MySQL Compatibility Functions
cubrid_close
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_client_encoding

(PECL CUBRID >= 8.3.1)

cubrid_client_encoding — Return the current CUBRID connection charset

Описание

string cubrid_client_encoding ([ resource $conn_identifier ] )

This function returns the current CUBRID connection charset.

Список параметров

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Возвращаемые значения

A string that represents the CUBRID connection charset; on success.

FALSE on failure.

Примеры

Пример #1 cubrid_client_encoding() example

<?php
    $con = cubrid_connect("localhost", 33000, "demodb");
    if (!$con)
    {
        die('Could not connect.');
    }

    printf("CUBRID current charset: %s\n", cubrid_client_encoding($con));
?>

Результат выполнения данного примера:

Result:
CUBRID current charset: iso8859-1

Смотрите также

  • cubrid_get_charset() - Return the current CUBRID connection charset

CUBRID MySQL Compatibility Functions
cubrid_close
CUBRID MySQL Compatibility Functions


Close CUBRID connection

cubrid_client_encoding
cubrid_data_seek
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_close

(PECL CUBRID >= 8.3.1)

cubrid_close — Close CUBRID connection

Описание

bool cubrid_close ([ resource $conn_identifier ] )

The cubrid_close() function ends the transaction currently on process, closes the connection handle and disconnects from server. If there exists any request handle not closed yet at this point, it will be closed.

Список параметров

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_close() example

<?php
$con = cubrid_connect ("210.211.133.100", 12345, "demodb");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_close ($con);
}
?>

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server

cubrid_client_encoding
cubrid_data_seek
CUBRID MySQL Compatibility Functions


Move the internal row pointer of the CUBRID result

cubrid_close
cubrid_db_name
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_data_seek

(PECL CUBRID >= 8.3.0)

cubrid_data_seek — Move the internal row pointer of the CUBRID result

Описание

int cubrid_data_seek ( resource $result , int $row_number )

This function performs the moving of the internal row pointer of the CUBRID result (associated with the specified result identifier) to point to a specific row number. There are functions, such as cubrid_fetch_assoc(), which use the current stored value of row number.

Список параметров

result

The result.

row_number

This is the desired row number of the new result pointer.

Возвращаемые значения

CUBRID_CURSOR_SUCCESS, on success.

CUBRID_NO_MORE_DATA, when it is not a valid cursor location.

FALSE on CAS error, row count is 0, or invalid offset.

Примеры

Пример #1 cubrid_data_seek() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_data_seek($req, 0);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 2);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 4);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
array(2) {
  [0]=>
  string(1) "S"
  [1]=>
  string(6) "Silver"
}
cubrid_close
cubrid_db_name
CUBRID MySQL Compatibility Functions


Get db name from results of cubrid_list_dbs

cubrid_data_seek
cubrid_errno
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_db_name

(PECL CUBRID >= 8.3.1)

cubrid_db_name — Get db name from results of cubrid_list_dbs

Описание

string cubrid_db_name ( array $result , int $index )

Retrieve the database name from a call to cubrid_list_dbs().

Список параметров

result

The result pointer from a call to cubrid_list_dbs().

index

The index into the result set.

Возвращаемые значения

Returns the database name on success, and FALSE on failure. If FALSE is returned, use cubrid_error() to determine the nature of the error.

Примеры

Пример #1 cubrid_db_name() example

<?php
error_reporting(E_ALL);

$conn = cubrid_connect('dbhost', 33000, 'demodb', 'username', 'password');
$db_list = cubrid_list_dbs($conn);

$i = 0;
$cnt = cubrid_num_rows($db_list);
while ($i < $cnt) {
    echo cubrid_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Смотрите также

  • cubrid_list_dbs() - Return an array with the list of all existing CUBRID databases

cubrid_data_seek
cubrid_errno
CUBRID MySQL Compatibility Functions


Return the numerical value of the error message from previous CUBRID operation

cubrid_db_name
cubrid_error
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_errno

(PECL CUBRID >= 8.3.1)

cubrid_errno — Return the numerical value of the error message from previous CUBRID operation

Описание

int cubrid_errno ([ resource $conn_identifier ] )

Returns the error number from the last CUBRID function.

The cubrid_errno() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Список параметров

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

Returns the error number from the last CUBRID function, or 0 (zero) if no error occurred.

Примеры

Пример #1 cubrid_errno() example

<?php
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

Смотрите также

  • cubrid_error() - Get the error message
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_db_name
cubrid_error
CUBRID MySQL Compatibility Functions


Get the error message

cubrid_errno
cubrid_fetch_array
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_error

(PECL CUBRID >= 8.3.1)

cubrid_error — Get the error message

Описание

string cubrid_error ([ resource $connection ] )

The cubrid_error() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Список параметров

connection

Возвращаемые значения

Error message that occurred.

Примеры

Пример #1 cubrid_error() example

<?php
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

Смотрите также

  • cubrid_errno() - Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_errno
cubrid_fetch_array
CUBRID MySQL Compatibility Functions


Fetch a result row as an associative array, a numeric array, or both

cubrid_error
cubrid_fetch_assoc
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_array

(PECL CUBRID >=8.3.0)

cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Описание

array cubrid_fetch_array ( resource $result [, int $type = CUBRID_BOTH ] )

The cubrid_fetch_array() function is used to get a single row from the query result and returns an array. The cursor automatically moves to the next row after getting the result.

Список параметров

result

Result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.

Возвращаемые значения

Returns an array of strings that corresponds to the fetched row, when process is successful.

FALSE, when process is unsuccessful.

The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you'll get an array with both associative and number indices, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)

Примеры

Пример #1 cubrid_fetch_array() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Смотрите также

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_error
cubrid_fetch_assoc
CUBRID MySQL Compatibility Functions


Return the associative array that corresponds to the fetched row

cubrid_fetch_array
cubrid_fetch_field
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_assoc

(PECL CUBRID >= 8.3.0)

cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row

Описание

array cubrid_fetch_assoc ( resource $result )

This function returns the associative array, that corresponds to the fetched row, and then moves the internal data pointer ahead, or returns FALSE when the end is reached.

Список параметров

result

result comes from a call to cubrid_execute()

Возвращаемые значения

Associative array, when process is successful.

FALSE when the end is reached, or error.

Примеры

Пример #1 cubrid_fetch_assoc() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_assoc($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece
cubrid_fetch_array
cubrid_fetch_field
CUBRID MySQL Compatibility Functions


Get column information from a result and return as an object

cubrid_fetch_assoc
cubrid_fetch_lengths
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_field

(PECL CUBRID >= 8.3.0)

cubrid_fetch_field — Get column information from a result and return as an object

Описание

object cubrid_fetch_field ( resource $result [, int $field_offset = 0 ] )

This function returns an object with certain properties of the specific column. The properties of the object are:

name

column name

table

name of the table that the column belongs to

def

default value of the column

max_length

maximum length of the column

not_null

1 if the column cannot be NULL

primary_key

1 if the column is a primary key

unique_key

1 if the column is an unique key

multiple_key

1 if the column is a non-unique key

numeric

1 if the column is numeric

blob

1 if the column is a BLOB

type

the type of the column

unsigned

1 if the column is unsigned

zerofill

1 if the column is zero-filled

Список параметров

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. If the field offset is not specified, the next field (that was not yet retrieved by this function) is retrieved. The field_offset starts at 0.

Возвращаемые значения

Object with certain properties of the specific column, when process is successful.

FALSE on failure.

Примеры

Пример #1 cubrid_fetch_field() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max lenght:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "primary key:", $field->primary_key);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %d\n", "blob:", $field->blob);
printf("%-30s %s\n", "type:", $field->type);
printf("%-30s %d\n", "unsigned:", $field->unsigned);
printf("%-30s %d\n", "zerofill:", $field->zerofill);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max lenght:                    5
not null:                      1
primary key:                   1
unique key:                    1
multiple key:                  0
numeric:                       1
blob:                          0
type:                          integer
unsigned:                      0
zerofill:                      0
cubrid_fetch_assoc
cubrid_fetch_lengths
CUBRID MySQL Compatibility Functions


Return an array with the lengths of the values of each field from the current row

cubrid_fetch_field
cubrid_fetch_object
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_lengths

(PECL CUBRID >= 8.3.0)

cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row

Описание

array cubrid_fetch_lengths ( resource $result )

This function returns an numeric array with the lengths of the values of each field from the current row of the result set or it returns FALSE on failure.

Замечание:

If field data type is BLOB/CLOB, you should get its length by using cubrid_lob_size().

Список параметров

result

result comes from a call to cubrid_execute()

Возвращаемые значения

An numeric array, when process is successful.

FALSE on failure.

Примеры

Пример #1 cubrid_fetch_lengths() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$row = cubrid_fetch_row($result);
print_r($row);

$lens = cubrid_fetch_lengths($result);
print_r($lens);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Array
(
    [0] => 2004
    [1] => 20085
    [2] => 15118
    [3] => 30134
    [4] => AUS
    [5] => G
    [6] => 2004-8-20
)
Array
(
    [0] => 4
    [1] => 5
    [2] => 5
    [3] => 5
    [4] => 3
    [5] => 1
    [6] => 9
)
cubrid_fetch_field
cubrid_fetch_object
CUBRID MySQL Compatibility Functions


Fetche the next row and returns it as an object

cubrid_fetch_lengths
cubrid_fetch_row
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_object

(PECL CUBRID >= 8.3.0)

cubrid_fetch_object — Fetche the next row and returns it as an object

Описание

object cubrid_fetch_object ( resource $result [, string $class_name [, array $params ]] )

This function returns an object with the column names of the result set as properties. The values of these properties are extracted from the current row of the result.

Список параметров

result

result comes from a call to cubrid_execute()

class_name

The name of the class to instantiate. If not specified, a stdClass (stdClass is PHP's generic empty class that's used when casting other types to objects) object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

Возвращаемые значения

An object, when process is successful.

FALSE on failure.

Примеры

Пример #1 cubrid_fetch_object() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$res = cubrid_execute($conn, "SELECT * FROM code");

var_dump(cubrid_fetch_object($res));

class demodb_code {
    public $s_name = null;
    public $f_name = null;

    public function toString() {
        var_dump($this);
    }
}

var_dump(cubrid_fetch_object($res, "demodb_code"));

class demodb_code_construct extends demodb_code {
    public function __construct($s, $f) {
        $this->s_name = $s;
        $this->f_name = $f;
    }
}

var_dump(cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name')));
var_dump(cubrid_fetch_object($res));

cubrid_close_request($res);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "X"
  ["f_name"]=>
  string(5) "Mixed"
}
object(demodb_code)#1 (2) {
  ["s_name"]=>
  string(1) "W"
  ["f_name"]=>
  string(5) "Woman"
}
object(demodb_code_construct)#1 (2) {
  ["s_name"]=>
  string(6) "s_name"
  ["f_name"]=>
  string(6) "f_name"
}
object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "B"
  ["f_name"]=>
  string(6) "Bronze"
}
cubrid_fetch_lengths
cubrid_fetch_row
CUBRID MySQL Compatibility Functions


Return a numerical array with the values of the current row

cubrid_fetch_object
cubrid_field_flags
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_row

(PECL CUBRID >= 8.3.0)

cubrid_fetch_row — Return a numerical array with the values of the current row

Описание

array cubrid_fetch_row ( resource $result )

This function returns a numerical array with the values of the current row from the result set, starting from 0, and moves the internal data pointer ahead.

Список параметров

result

result comes from a call to cubrid_execute()

Возвращаемые значения

A numerical array, when process is successful.

FALSE on failure.

Примеры

Пример #1 cubrid_fetch_row() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_row($req)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece
cubrid_fetch_object
cubrid_field_flags
CUBRID MySQL Compatibility Functions


Return a string with the flags of the given field offset

cubrid_fetch_row
cubrid_field_len
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_flags

(PECL CUBRID >= 8.3.0)

cubrid_field_flags — Return a string with the flags of the given field offset

Описание

string cubrid_field_flags ( resource $result , int $field_offset )

This function returns a string with the flags of the given field offset separated by space. You can split the returned value using explode. The possible flags could be: not_null, primary_key, unique_key, foreign_key, auto_increment, shared, reverse_index, reverse_unique and timestamp.

Список параметров

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

A string with flags, when process is successful.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Примеры

Пример #1 cubrid_field_flags() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_fetch_row
cubrid_field_len
CUBRID MySQL Compatibility Functions


Get the maximum length of the specified field

cubrid_field_flags
cubrid_field_name
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_len

(PECL CUBRID >= 8.3.0)

cubrid_field_len — Get the maximum length of the specified field

Описание

int cubrid_field_len ( resource $result , int $field_offset )

This function returns the maximum length of the specified field on success, or it returns FALSE on failure.

Список параметров

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

Maximum length, when process is successful.

FALSE on failure.

Примеры

Пример #1 cubrid_field_len() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char(3)                        3
medal                          char(1)                        1
game_date                      date                           10
cubrid_field_flags
cubrid_field_name
CUBRID MySQL Compatibility Functions


Return the name of the specified field index

cubrid_field_len
cubrid_field_seek
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_name

(PECL CUBRID >= 8.3.0)

cubrid_field_name — Return the name of the specified field index

Описание

string cubrid_field_name ( resource $result , int $field_offset )

This function returns the name of the specified field index on success or it returns FALSE on failure.

Список параметров

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

Name of specified field index, on success.

FALSE on failure.

Примеры

Пример #1 cubrid_field_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_field_len
cubrid_field_seek
CUBRID MySQL Compatibility Functions


Move the result set cursor to the specified field offset

cubrid_field_name
cubrid_field_table
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_seek

(PECL CUBRID >= 8.3.0)

cubrid_field_seek — Move the result set cursor to the specified field offset

Описание

bool cubrid_field_seek ( resource $result [, int $field_offset = 0 ] )

This function moves the result set cursor to the specified field offset. This offset is used by cubrid_fetch_field() if it doesn't include a field offset. It returns TRUE on success or FALSE on failure.

Список параметров

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

TRUE on success.

FALSE on failure.

Примеры

Пример #1 cubrid_field_seek() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max lenght:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %s\n", "type:", $field->type);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max lenght:                    5
not null:                      1
unique key:                    1
multiple key:                  0
numeric:                       1
type:                          integer
cubrid_field_name
cubrid_field_table
CUBRID MySQL Compatibility Functions


Return the name of the table of the specified field

cubrid_field_seek
cubrid_field_type
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_table

(PECL CUBRID >= 8.3.0)

cubrid_field_table — Return the name of the table of the specified field

Описание

string cubrid_field_table ( resource $result , int $field_offset )

This function returns the name of the table of the specified field. This is useful when using large select queries with JOINS.

Список параметров

result

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

Name of the table of the specified field, on success.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Примеры

Пример #1 cubrid_field_table() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Field Table     Field Name      Field Type
code            s_name          char(1)
code            f_name          varchar(6)
cubrid_field_seek
cubrid_field_type
CUBRID MySQL Compatibility Functions


Return the type of the column corresponding to the given field offset

cubrid_field_table
cubrid_list_dbs
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_type

(PECL CUBRID >= 8.3.0)

cubrid_field_type — Return the type of the column corresponding to the given field offset

Описание

string cubrid_field_type ( resource $result , int $field_offset )

This function returns the type of the column corresponding to the given field offset. The returned field type could be one of the following: "int", "real", "string", etc.

Список параметров

result

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Возвращаемые значения

Type of the column, on success.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Примеры

Пример #1 cubrid_field_type() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Field Table     Field Name      Field Type
code            s_name          char(1)
code            f_name          varchar(6)
cubrid_field_table
cubrid_list_dbs
CUBRID MySQL Compatibility Functions


Return an array with the list of all existing CUBRID databases

cubrid_field_type
cubrid_num_fields
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_list_dbs

(PECL CUBRID >= 8.3.0)

cubrid_list_dbs — Return an array with the list of all existing CUBRID databases

Описание

array cubrid_list_dbs ( resource $conn_identifier )

This function returns an array with the list of all existing Cubrid databases.

Список параметров

conn_identifier

The CUBRID connection.

Возвращаемые значения

An numeric array with all existing Cubrid databases; on success.

FALSE on failure.

Примеры

Пример #1 cubrid_list_dbs() example

<?php
$conn = cubrid_connect("localhost", 33088, "demodb");

$db_list = cubrid_list_dbs($conn);
var_dump($db_list);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(1) {
  [0]=>
  string(6) "demodb"
}
cubrid_field_type
cubrid_num_fields
CUBRID MySQL Compatibility Functions


Return the number of columns in the result set

cubrid_list_dbs
cubrid_ping
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_num_fields

(PECL CUBRID >= 8.3.0)

cubrid_num_fields — Return the number of columns in the result set

Описание

int cubrid_num_fields ( resource $result )

This function returns the number of columns in the result set, on success, or it returns FALSE on failure.

Список параметров

result

result comes from a call to cubrid_execute()

Возвращаемые значения

Number of columns, on success.

-1 if SQL sentence is not SELECT.

Примеры

Пример #1 cubrid_num_fields() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_fields($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

Row Num: 6
Column Num: 2
cubrid_list_dbs
cubrid_ping
CUBRID MySQL Compatibility Functions


Ping a server connection or reconnect if there is no connection

cubrid_num_fields
cubrid_query
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_ping

(PECL CUBRID >= 8.3.1)

cubrid_ping — Ping a server connection or reconnect if there is no connection

Описание

bool cubrid_ping ([ resource $conn_identifier ] )

Checks whether or not the connection to the server is working.

Список параметров

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

Returns TRUE if the connection to the server CUBRID server is working, otherwise FALSE.

Примеры

Пример #1 cubrid_ping() example

<?php
set_time_limit(0);

$conn = cubrid_connect('localhost', 33000, 'demodb');

/* Assuming this query will take a long time */
$result = cubrid_query($sql);
if (!$result) {
    echo 'Query #1 failed, exiting.';
    exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!cubrid_ping($conn)) {
    echo 'Lost connection, exiting after query #1';
    exit;
}
cubrid_free_result($result);

/* So the connection is still alive, let's run another query */
$result2 = cubrid_query($sql2);
?>

cubrid_num_fields
cubrid_query
CUBRID MySQL Compatibility Functions


Send a CUBRID query

cubrid_ping
cubrid_real_escape_string
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Send a CUBRID query

Описание

resource cubrid_query ( string $query [, resource $conn_identifier ] )

cubrid_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified conn_identifier.

Список параметров

query

An SQL query

Data inside the query should be properly escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, cubrid_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to cubrid_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use cubrid_num_rows() to find out how many rows were returned for a SELECT statement or cubrid_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

cubrid_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

Примеры

Пример #1 Invalid Query

The following query is syntactically invalid, so cubrid_query() fails and returns FALSE.

<?php
$conn = cubrid_connect('localhost', 33000, 'foo');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . cubrid_error());
}

?>

Пример #2 Valid Query

The following query is valid, so cubrid_query() returns a resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

$conn = cubrid_connect('localhost', 33000, 'foo');

// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));

// Perform Query
$result = cubrid_query($query);

// Check result
// This shows the actual query sent to CUBRID, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . cubrid_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the cubrid result functions must be used
// See also cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
cubrid_free_result($result);
?>

Смотрите также

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_error() - Get the error message
  • cubrid_real_escape_string() - Escape special characters in a string for use in an SQL statement
  • cubrid_result() - Return the value of a specific field in a specific row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_unbuffered_query() - Perform a query without fetching the results into memory

cubrid_ping
cubrid_real_escape_string
CUBRID MySQL Compatibility Functions


Escape special characters in a string for use in an SQL statement

cubrid_query
cubrid_result
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement

Описание

string cubrid_real_escape_string ( string $unescaped_string [, resource $conn_identifier ] )

This function returns the escaped string version of the given string. It will escape the following characters: '. In general, single quotations are used to enclose character string. Double quotations may be used as well depending on the value of ansi_quotes, which is a parameter related to SQL statement. If the ansi_quotes value is set to no, character string enclosed by double quotations is handled as character string, not as an identifier. The default value is yes. If you want to include a single quote as part of a character string, enter two single quotes in a row.

Список параметров

unescaped_string

The string that is to be escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

Escaped string version of the given string, on success.

FALSE on failure.

Примеры

Пример #1 cubrid_real_escape_string() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}
cubrid_query
cubrid_result
CUBRID MySQL Compatibility Functions


Return the value of a specific field in a specific row

cubrid_real_escape_string
cubrid_unbuffered_query
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_result

(PECL CUBRID >= 8.3.0)

cubrid_result — Return the value of a specific field in a specific row

Описание

string cubrid_result ( resource $result , int $row [, mixed $field = 0 ] )

This function returns the value of a specific field in a specific row from a result set.

Список параметров

result

result comes from a call to cubrid_execute()

row

The row number from the result that is being retrieved. Row numbers start at 0.

field

The name or offset of the field being retrieved. It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Возвращаемые значения

Value of a specific field, on success (NULL if value if null).

FALSE on failure.

Примеры

Пример #1 cubrid_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$result = cubrid_result($req, 0);
var_dump($result);

$result = cubrid_result($req, 0, 1);
var_dump($result);

$result = cubrid_result($req, 5, "f_name");
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Результат выполнения данного примера:

string(1) "X"
string(5) "Mixed"
string(4) "Gold"
cubrid_real_escape_string
cubrid_unbuffered_query
CUBRID MySQL Compatibility Functions


Perform a query without fetching the results into memory

cubrid_result
CUBRID Obsolete Aliases and Functions
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_unbuffered_query

(PECL CUBRID >= 8.3.0)

cubrid_unbuffered_query — Perform a query without fetching the results into memory

Описание

resource cubrid_unbuffered_query ( string $query [, resource $conn_identifier ] )

This function performs a query without waiting for that all query results have been complete. It will return when the results are being generated.

Список параметров

query

A SQL query.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Возвращаемые значения

For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a connection identifier resource on success.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns TRUE on success.

FALSE on failure.

Примечания

Замечание:

The benefits of cubrid_unbuffered_query() come at a cost: you cannot use cubrid_num_rows() and cubrid_data_seek() on a result set returned from cubrid_unbuffered_query().

Примеры

Пример #1 cubrid_unbuffered_query() example

<?php
    $link = cubrid_connect("localhost", 30000, "demodb2", "dba", "");
    if (!$link)
    {
        die('Could not connect.');
    }
    $query = "insert into employees (name, address, salary) values ('Michael', 'Boston, MA', 3750)";
    cubrid_unbuffered_query($query, $link);
?>
cubrid_result
CUBRID Obsolete Aliases and Functions
CUBRID MySQL Compatibility Functions


CUBRID Obsolete Aliases and Functions

Содержание

  • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
  • cubrid_new_glo — Create a glo instance
  • cubrid_save_to_glo — Save requested file in a GLO instance
  • cubrid_send_glo — Read data from glo and send it to std output
cubrid_unbuffered_query
cubrid_load_from_glo
CUBRID


Read data from a GLO instance and save it in a file

CUBRID Obsolete Aliases and Functions
cubrid_new_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_load_from_glo

(PECL CUBRID >= 8.3.0)

cubrid_load_from_glo — Read data from a GLO instance and save it in a file

Описание

int cubrid_load_from_glo ( resource $conn_identifier , string $oid , string $file_name )

The cubrid_load_from_glo() function is used to read a data from a glo instance, and saves it in a designated file.

Список параметров

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read the data from.

file_name

Name of the file where you want to save the data in.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_load_from_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_load_from_glo ($con, $oid, "output.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: cubrid_load_from_glo()

Замечание:

This function is removed from CUBRID 3.1.

Смотрите также

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_send_glo() - Read data from glo and send it to std output

CUBRID Obsolete Aliases and Functions
cubrid_new_glo
CUBRID Obsolete Aliases and Functions


Create a glo instance

cubrid_load_from_glo
cubrid_save_to_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_new_glo

(PECL CUBRID >= 8.3.0)

cubrid_new_glo — Create a glo instance

Описание

string cubrid_new_glo ( resource $conn_identifier , string $class_name , string $file_name )

The cubrid_new_glo() function is used to create a glo instance in the requested class (glo class). The glo created is a LO type, and is stored in the file_name file.

Список параметров

conn_identifier

Connection identifier.

class_name

Name of the class that you want to create a glo in.

file_name

The file name that you want to save in the newly created glo.

Возвращаемые значения

Oid of the instance created, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_new_glo() example

<?php
$oid = cubrid_new_glo ($con, "glo", "input.jpg");
if ($oid){
   // the type of column "image" is "object"
   $req = cubrid_execute ($con, "insert into person(image) values($oid)");
   if ($req) {
      echo "image inserted successfully";
      cubrid_close_request ($req);
      cubrid_commit($con);
   }
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: cubrid_new_glo()

Замечание:

This function is removed from CUBRID 3.1.

Смотрите также

  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output

cubrid_load_from_glo
cubrid_save_to_glo
CUBRID Obsolete Aliases and Functions


Save requested file in a GLO instance

cubrid_new_glo
cubrid_send_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_save_to_glo

(PECL CUBRID >= 8.3.0)

cubrid_save_to_glo — Save requested file in a GLO instance

Описание

int cubrid_save_to_glo ( resource $conn_identifier , string $oid , string $file_name )

The cubrid_save_to_glo() function is used to save requested file in a glo instance.

Список параметров

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to save a file in.

file_name

The name of the file that you want to save.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_save_to_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_save_to_glo ($con, $oid, "input.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: cubrid_save_to_glo()

Замечание:

This function is removed from CUBRID 3.1.

Смотрите также

  • cubrid_new_glo() - Create a glo instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output

cubrid_new_glo
cubrid_send_glo
CUBRID Obsolete Aliases and Functions


Read data from glo and send it to std output

cubrid_save_to_glo
DB++
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_send_glo

(PECL CUBRID >= 8.3.0)

cubrid_send_glo — Read data from glo and send it to std output

Описание

int cubrid_send_glo ( resource $conn_identifier , string $oid )

The cubrid_send_glo() function is used to read data from glo instance and sends it to the PHP standard output.

Список параметров

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read data from.

Возвращаемые значения

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Примеры

Пример #1 cubrid_send_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id =1");
if ($req) {
  list ($oid) = cubrid_fetch($req);
  cubrid_close_request($req);
  Header ("Content-type: image/jpeg");
  cubrid_send_glo ($con, $oid);
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: cubrid_send_glo()

Замечание:

This function is removed from CUBRID 3.1.

Смотрите также

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file

cubrid_save_to_glo
DB++
CUBRID Obsolete Aliases and Functions


DB++

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • db++ error codes
  • DB++ Функции
    • dbplus_add — Add a tuple to a relation
    • dbplus_aql — Perform AQL query
    • dbplus_chdir — Get/Set database virtual current directory
    • dbplus_close — Close a relation
    • dbplus_curr — Get current tuple from relation
    • dbplus_errcode — Get error string for given errorcode or last error
    • dbplus_errno — Get error code for last operation
    • dbplus_find — Set a constraint on a relation
    • dbplus_first — Get first tuple from relation
    • dbplus_flush — Flush all changes made on a relation
    • dbplus_freealllocks — Free all locks held by this client
    • dbplus_freelock — Release write lock on tuple
    • dbplus_freerlocks — Free all tuple locks on given relation
    • dbplus_getlock — Get a write lock on a tuple
    • dbplus_getunique — Get an id number unique to a relation
    • dbplus_info — Get information about a relation
    • dbplus_last — Get last tuple from relation
    • dbplus_lockrel — Request write lock on relation
    • dbplus_next — Get next tuple from relation
    • dbplus_open — Open relation file
    • dbplus_prev — Get previous tuple from relation
    • dbplus_rchperm — Change relation permissions
    • dbplus_rcreate — Creates a new DB++ relation
    • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
    • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
    • dbplus_resolve — Resolve host information for relation
    • dbplus_restorepos — Restore position
    • dbplus_rkeys — Specify new primary key for a relation
    • dbplus_ropen — Open relation file local
    • dbplus_rquery — Perform local (raw) AQL query
    • dbplus_rrename — Rename a relation
    • dbplus_rsecindex — Create a new secondary index for a relation
    • dbplus_runlink — Remove relation from filesystem
    • dbplus_rzap — Remove all tuples from relation
    • dbplus_savepos — Save position
    • dbplus_setindex — Set index
    • dbplus_setindexbynumber — Set index by number
    • dbplus_sql — Perform SQL query
    • dbplus_tcl — Execute TCL code on server side
    • dbplus_tremove — Remove tuple and return new current tuple
    • dbplus_undo — Undo
    • dbplus_undoprepare — Prepare undo
    • dbplus_unlockrel — Give up write lock on relation
    • dbplus_unselect — Remove a constraint from relation
    • dbplus_update — Update specified tuple in relation
    • dbplus_xlockrel — Request exclusive lock on relation
    • dbplus_xunlockrel — Free exclusive lock on relation
cubrid_send_glo
Введение
Расширения для работы с базами данных отдельных производителей


Введение

db++, made by the German company » Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really an SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

DB++
Установка и настройка
DB++


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DB++


Требования

This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

» Concept asa provides » db++ Demo versions and » documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).

Установка и настройка
Установка
Установка и настройка


Установка

In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path .

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

dbplus_relation

Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Содержание

  • db++ error codes

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Типы ресурсов
db++ error codes
DB++


db++ error codes

DB++ Error Codes
PHP Constant | db++ constant | meaning
DBPLUS_ERR_NOERR (integer) | ERR_NOERR | Null error condition
DBPLUS_ERR_DUPLICATE (integer) | ERR_DUPLICATE | Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (integer) | ERR_EOSCAN | End of scan from rget()
DBPLUS_ERR_EMPTY (integer) | ERR_EMPTY | Relation is empty (server)
DBPLUS_ERR_CLOSE (integer) | ERR_CLOSE | The server can't close
DBPLUS_ERR_WLOCKED (integer) | ERR_WLOCKED | The record is write locked
DBPLUS_ERR_LOCKED (integer) | ERR_LOCKED | Relation was already locked
DBPLUS_ERR_NOLOCK (integer) | ERR_NOLOCK | Relation cannot be locked
DBPLUS_ERR_READ (integer) | ERR_READ | Read error on relation
DBPLUS_ERR_WRITE (integer) | ERR_WRITE | Write error on relation
DBPLUS_ERR_CREATE (integer) | ERR_CREATE | Create() system call failed
DBPLUS_ERR_LSEEK (integer) | ERR_LSEEK | Lseek() system call failed
DBPLUS_ERR_LENGTH (integer) | ERR_LENGTH | Tuple exceeds maximum length
DBPLUS_ERR_OPEN (integer) | ERR_OPEN | Open() system call failed
DBPLUS_ERR_WOPEN (integer) | ERR_WOPEN | Relation already opened for writing
DBPLUS_ERR_MAGIC (integer) | ERR_MAGIC | File is not a relation
DBPLUS_ERR_VERSION (integer) | ERR_VERSION | File is a very old relation
DBPLUS_ERR_PGSIZE (integer) | ERR_PGSIZE | Relation uses a different page size
DBPLUS_ERR_CRC (integer) | ERR_CRC | Invalid crc in the superpage
DBPLUS_ERR_PIPE (integer) | ERR_PIPE | Piped relation requires lseek()
DBPLUS_ERR_NIDX (integer) | ERR_NIDX | Too many secondary indices
DBPLUS_ERR_MALLOC (integer) | ERR_MALLOC | Malloc() call failed
DBPLUS_ERR_NUSERS (integer) | ERR_NUSERS | Error use of max users
DBPLUS_ERR_PREEXIT (integer) | ERR_PREEXIT | Caused by invalid usage
DBPLUS_ERR_ONTRAP (integer) | ERR_ONTRAP | Caused by a signal
DBPLUS_ERR_PREPROC (integer) | ERR_PREPROC | Error in the preprocessor
DBPLUS_ERR_DBPARSE (integer) | ERR_DBPARSE | Error in the parser
DBPLUS_ERR_DBRUNERR (integer) | ERR_DBRUNERR | Run error in db
DBPLUS_ERR_DBPREEXIT (integer) | ERR_DBPREEXIT | Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (integer) | ERR_WAIT | Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (integer) | ERR_CORRUPT_TUPLE | A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (integer) | ERR_WARNING0 | The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (integer) | ERR_PANIC | The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (integer) | ERR_FIFO | Can't create a fifo
DBPLUS_ERR_PERM (integer) | ERR_PERM | Permission denied
DBPLUS_ERR_TCL (integer) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (integer) | ERR_RESTRICTED | Only two users
DBPLUS_ERR_USER (integer) | ERR_USER | An error in the use of the library by an application programmer
DBPLUS_ERR_UNKNOWN (integer) | ERR_UNKNOWN |

Предопределенные константы
DB++ Функции
Предопределенные константы


DB++ Функции

Содержание

  • dbplus_add — Add a tuple to a relation
  • dbplus_aql — Perform AQL query
  • dbplus_chdir — Get/Set database virtual current directory
  • dbplus_close — Close a relation
  • dbplus_curr — Get current tuple from relation
  • dbplus_errcode — Get error string for given errorcode or last error
  • dbplus_errno — Get error code for last operation
  • dbplus_find — Set a constraint on a relation
  • dbplus_first — Get first tuple from relation
  • dbplus_flush — Flush all changes made on a relation
  • dbplus_freealllocks — Free all locks held by this client
  • dbplus_freelock — Release write lock on tuple
  • dbplus_freerlocks — Free all tuple locks on given relation
  • dbplus_getlock — Get a write lock on a tuple
  • dbplus_getunique — Get an id number unique to a relation
  • dbplus_info — Get information about a relation
  • dbplus_last — Get last tuple from relation
  • dbplus_lockrel — Request write lock on relation
  • dbplus_next — Get next tuple from relation
  • dbplus_open — Open relation file
  • dbplus_prev — Get previous tuple from relation
  • dbplus_rchperm — Change relation permissions
  • dbplus_rcreate — Creates a new DB++ relation
  • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
  • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
  • dbplus_resolve — Resolve host information for relation
  • dbplus_restorepos — Restore position
  • dbplus_rkeys — Specify new primary key for a relation
  • dbplus_ropen — Open relation file local
  • dbplus_rquery — Perform local (raw) AQL query
  • dbplus_rrename — Rename a relation
  • dbplus_rsecindex — Create a new secondary index for a relation
  • dbplus_runlink — Remove relation from filesystem
  • dbplus_rzap — Remove all tuples from relation
  • dbplus_savepos — Save position
  • dbplus_setindex — Set index
  • dbplus_setindexbynumber — Set index by number
  • dbplus_sql — Perform SQL query
  • dbplus_tcl — Execute TCL code on server side
  • dbplus_tremove — Remove tuple and return new current tuple
  • dbplus_undo — Undo
  • dbplus_undoprepare — Prepare undo
  • dbplus_unlockrel — Give up write lock on relation
  • dbplus_unselect — Remove a constraint from relation
  • dbplus_update — Update specified tuple in relation
  • dbplus_xlockrel — Request exclusive lock on relation
  • dbplus_xunlockrel — Free exclusive lock on relation
db++ error codes
dbplus_add
DB++


Add a tuple to a relation

DB++ Функции
dbplus_aql
DB++ Функции
PHP Manual

dbplus_add

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_add — Add a tuple to a relation

Описание

int dbplus_add ( resource $relation , array $tuple )

Adds a tuple to a relation.

Список параметров

relation

tuple

An array of attribute/value pairs to be inserted into the given relation.

After successful execution this array will contain the complete data of the newly created tuple, including all implicitly set domain fields like sequences.

Возвращаемые значения

The function will return DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_errcode() - Get error string for given errorcode or last error

DB++ Функции
dbplus_aql
DB++ Функции


Perform AQL query

dbplus_add
dbplus_chdir
DB++ Функции
PHP Manual

dbplus_aql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_aql — Perform AQL query

Описание

resource dbplus_aql ( string $query [, string $server [, string $dbpath ]] )

Executes an AQL query on the given server and dbpath.

Список параметров

query

The AQL query to be executed. Further information on the AQL (Algebraic Query Language) is provided in the original db++ manual.

server

dbpath

Возвращаемые значения

Returns a relation handle on success. The result data may be fetched from this relation by calling dbplus_next() and dbplus_curr(). Other relation access functions will not work on a result relation.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_add
dbplus_chdir
DB++ Функции


Get/Set database virtual current directory

dbplus_aql
dbplus_close
DB++ Функции
PHP Manual

dbplus_chdir

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_chdir — Get/Set database virtual current directory

Описание

string dbplus_chdir ([ string $newdir ] )

Changes the virtual current directory where relation files will be looked for by dbplus_open().

Список параметров

newdir

The new directory for relation files. You can omit this parameter to query the current working directory.

Возвращаемые значения

Returns the absolute path of the current directory.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_aql
dbplus_close
DB++ Функции


Close a relation

dbplus_chdir
dbplus_curr
DB++ Функции
PHP Manual

dbplus_close

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_close — Close a relation

Описание

mixed dbplus_close ( resource $relation )

Closes a relation previously opened by dbplus_open().

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Returns TRUE on success or DBPLUS_ERR_UNKNOWN on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_chdir
dbplus_curr
DB++ Функции


Get current tuple from relation

dbplus_close
dbplus_errcode
DB++ Функции
PHP Manual

dbplus_curr

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_curr — Get current tuple from relation

Описание

int dbplus_curr ( resource $relation , array &$tuple )

Reads the data for the current tuple for the given relation.

Список параметров

relation

A relation opened by dbplus_open().

tuple

The data will be passed back in this parameter, as an associative array.

Возвращаемые значения

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_first() - Get first tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_close
dbplus_errcode
DB++ Функции


Get error string for given errorcode or last error

dbplus_curr
dbplus_errno
DB++ Функции
PHP Manual

dbplus_errcode

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errcode — Get error string for given errorcode or last error

Описание

string dbplus_errcode ([ int $errno ] )

Returns a clear error string for the given error code.

Список параметров

errno

The error code. If not provided, the result code of the last db++ operation is assumed.

Возвращаемые значения

Returns the error message.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_curr
dbplus_errno
DB++ Функции


Get error code for last operation

dbplus_errcode
dbplus_find
DB++ Функции
PHP Manual

dbplus_errno

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errno — Get error code for last operation

Описание

int dbplus_errno ( void )

Returns the error code returned by the last db++ operation.

Возвращаемые значения

Returns the error code, as an integer.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_errcode
dbplus_find
DB++ Функции


Set a constraint on a relation

dbplus_errno
dbplus_first
DB++ Функции
PHP Manual

dbplus_find

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_find — Set a constraint on a relation

Описание

int dbplus_find ( resource $relation , array $constraints , mixed $tuple )

Places a constraint on the given relation.

Further calls to functions like dbplus_curr() or dbplus_next() will only return tuples matching the given constraints.

Список параметров

relation

A relation opened by dbplus_open().

constraints

Constraints are triplets of strings containing of a domain name, a comparison operator and a comparison value. The constraints parameter array may consist of a collection of string arrays, each of which contains a domain, an operator and a value, or of a single string array containing a multiple of three elements.

The comparison operator may be one of the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.

tuple

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_unselect() - Remove a constraint from relation

dbplus_errno
dbplus_first
DB++ Функции


Get first tuple from relation

dbplus_find
dbplus_flush
DB++ Функции
PHP Manual

dbplus_first

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_first — Get first tuple from relation

Описание

int dbplus_first ( resource $relation , array &$tuple )

Reads the data for the first tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_find
dbplus_flush
DB++ Функции


Flush all changes made on a relation

dbplus_first
dbplus_freealllocks
DB++ Функции
PHP Manual

dbplus_flush

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_flush — Flush all changes made on a relation

Описание

int dbplus_flush ( resource $relation )

Writes all changes applied to relation since the last flush to disk.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_first
dbplus_freealllocks
DB++ Функции


Free all locks held by this client

dbplus_flush
dbplus_freelock
DB++ Функции
PHP Manual

dbplus_freealllocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freealllocks — Free all locks held by this client

Описание

int dbplus_freealllocks ( void )

Frees all tuple locks held by this client.

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation

dbplus_flush
dbplus_freelock
DB++ Функции


Release write lock on tuple

dbplus_freealllocks
dbplus_freerlocks
DB++ Функции
PHP Manual

dbplus_freelock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freelock — Release write lock on tuple

Описание

int dbplus_freelock ( resource $relation , string $tuple )

Releases a write lock on the given tuple previously obtained by dbplus_getlock().

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freealllocks
dbplus_freerlocks
DB++ Функции


Free all tuple locks on given relation

dbplus_freelock
dbplus_getlock
DB++ Функции
PHP Manual

dbplus_freerlocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freerlocks — Free all tuple locks on given relation

Описание

int dbplus_freerlocks ( resource $relation )

Frees all tuple locks held on the given relation.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freelock
dbplus_getlock
DB++ Функции


Get a write lock on a tuple

dbplus_freerlocks
dbplus_getunique
DB++ Функции
PHP Manual

dbplus_getlock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getlock — Get a write lock on a tuple

Описание

int dbplus_getlock ( resource $relation , string $tuple )

Requests a write lock on the specified tuple.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Returns zero on success or a non-zero error code, especially DBPLUS_ERR_WLOCKED on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freerlocks
dbplus_getunique
DB++ Функции


Get an id number unique to a relation

dbplus_getlock
dbplus_info
DB++ Функции
PHP Manual

dbplus_getunique

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getunique — Get an id number unique to a relation

Описание

int dbplus_getunique ( resource $relation , int $uniqueid )

Obtains a number guaranteed to be unique for the given relation and will pass it back in the variable given as uniqueid.

Список параметров

relation

A relation opened by dbplus_open().

uniqueid

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_getlock
dbplus_info
DB++ Функции


Get information about a relation

dbplus_getunique
dbplus_last
DB++ Функции
PHP Manual

dbplus_info

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_info — Get information about a relation

Описание

int dbplus_info ( resource $relation , string $key , array &$result )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

key

result

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_getunique
dbplus_last
DB++ Функции


Get last tuple from relation

dbplus_info
dbplus_lockrel
DB++ Функции
PHP Manual

dbplus_last

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_last — Get last tuple from relation

Описание

int dbplus_last ( resource $relation , array &$tuple )

Reads the data for the last tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation

dbplus_info
dbplus_lockrel
DB++ Функции


Request write lock on relation

dbplus_last
dbplus_next
DB++ Функции
PHP Manual

dbplus_lockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_lockrel — Request write lock on relation

Описание

int dbplus_lockrel ( resource $relation )

Requests a write lock on the given relation.

Other clients may still query the relation, but can't alter it while it is locked.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_last
dbplus_next
DB++ Функции


Get next tuple from relation

dbplus_lockrel
dbplus_open
DB++ Функции
PHP Manual

dbplus_next

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_next — Get next tuple from relation

Описание

int dbplus_next ( resource $relation , array &$tuple )

Reads the data for the next tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_last() - Get last tuple from relation

dbplus_lockrel
dbplus_open
DB++ Функции


Open relation file

dbplus_next
dbplus_prev
DB++ Функции
PHP Manual

dbplus_open

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_open — Open relation file

Описание

resource dbplus_open ( string $name )

Opens the given relation file.

Список параметров

name

Can be either a file name or a relative or absolute path name. This will be mapped in any case to an absolute relation file path on a specific host machine and server.

Возвращаемые значения

On success a relation file resource (cursor) is returned which must be used in any subsequent commands referencing the relation. Failure leads to a zero return value, the actual error code may be asked for by calling dbplus_errno().

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_next
dbplus_prev
DB++ Функции


Get previous tuple from relation

dbplus_open
dbplus_rchperm
DB++ Функции
PHP Manual

dbplus_prev

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_prev — Get previous tuple from relation

Описание

int dbplus_prev ( resource $relation , array &$tuple )

Reads the data for the previous tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation

dbplus_open
dbplus_rchperm
DB++ Функции


Change relation permissions

dbplus_prev
dbplus_rcreate
DB++ Функции
PHP Manual

dbplus_rchperm

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rchperm — Change relation permissions

Описание

int dbplus_rchperm ( resource $relation , int $mask , string $user , string $group )

Changes access permissions as specified by mask, user and group. The values for these are operating system specific.

Список параметров

relation

A relation opened by dbplus_open().

mask

user

group

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_prev
dbplus_rcreate
DB++ Функции


Creates a new DB++ relation

dbplus_rchperm
dbplus_rcrtexact
DB++ Функции
PHP Manual

dbplus_rcreate

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcreate — Creates a new DB++ relation

Описание

resource dbplus_rcreate ( string $name , mixed $domlist [, bool $overwrite ] )

Creates a new relation. Any existing relation sharing the same name will be overwritten if the relation is currently not in use and overwrite is set to TRUE.

Список параметров

name

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

This parameter should contain the domain specification for the new relation within an array of domain description strings. A domain description string consists of a domain name unique to this relation, a slash and a type specification character. See the db++ documentation, especially the dbcreate(1) manpage, for a description of available type specifiers and their meanings.

Замечание:

This function will also accept a string with space delimited domain description strings, but it is recommended to use an array

overwrite

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rchperm
dbplus_rcrtexact
DB++ Функции


Creates an exact but empty copy of a relation including indices

dbplus_rcreate
dbplus_rcrtlike
DB++ Функции
PHP Manual

dbplus_rcrtexact

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices

Описание

mixed dbplus_rcrtexact ( string $name , resource $relation [, bool $overwrite ] )

dbplus_rcrtexact() will create an exact but empty copy of the given relation under a new name.

Список параметров

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

Возвращаемые значения

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rcreate
dbplus_rcrtlike
DB++ Функции


Creates an empty copy of a relation with default indices

dbplus_rcrtexact
dbplus_resolve
DB++ Функции
PHP Manual

dbplus_rcrtlike

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtlike — Creates an empty copy of a relation with default indices

Описание

mixed dbplus_rcrtlike ( string $name , resource $relation [, int $overwrite ] )

dbplus_rcrtexact() will create an empty copy of the given relation under a new name, but with default indices.

Список параметров

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

Возвращаемые значения

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rcrtexact
dbplus_resolve
DB++ Функции


Resolve host information for relation

dbplus_rcrtlike
dbplus_restorepos
DB++ Функции
PHP Manual

dbplus_resolve

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_resolve — Resolve host information for relation

Описание

array dbplus_resolve ( string $relation_name )

dbplus_resolve() will try to resolve the given relation_name and find out internal server id, real hostname and the database path on this host.

Список параметров

relation_name

The relation name.

Возвращаемые значения

Returns an array containing these values under the keys sid, host and host_path or FALSE on error.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_tcl() - Execute TCL code on server side

dbplus_rcrtlike
dbplus_restorepos
DB++ Функции


Restore position

dbplus_resolve
dbplus_rkeys
DB++ Функции
PHP Manual

dbplus_restorepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_restorepos — Restore position

Описание

int dbplus_restorepos ( resource $relation , array $tuple )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

tuple

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_resolve
dbplus_rkeys
DB++ Функции


Specify new primary key for a relation

dbplus_restorepos
dbplus_ropen
DB++ Функции
PHP Manual

dbplus_rkeys

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rkeys — Specify new primary key for a relation

Описание

mixed dbplus_rkeys ( resource $relation , mixed $domlist )

dbplus_rkeys() will replace the current primary key for relation with the combination of domains specified by domlist.

Список параметров

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

Возвращаемые значения

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_restorepos
dbplus_ropen
DB++ Функции


Open relation file local

dbplus_rkeys
dbplus_rquery
DB++ Функции
PHP Manual

dbplus_ropen

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_ropen — Open relation file local

Описание

resource dbplus_ropen ( string $name )

dbplus_ropen() will open the relation file locally for quick access without any client/server overhead. Access is read only and only dbplus_curr() and dbplus_next() may be applied to the returned relation.

Список параметров

name

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rkeys
dbplus_rquery
DB++ Функции


Perform local (raw) AQL query

dbplus_ropen
dbplus_rrename
DB++ Функции
PHP Manual

dbplus_rquery

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rquery — Perform local (raw) AQL query

Описание

resource dbplus_rquery ( string $query [, string $dbpath ] )

dbplus_rquery() performs a local (raw) AQL query using an AQL interpreter embedded into the db++ client library. dbplus_rquery() is faster than dbplus_aql() but will work on local data only.

Список параметров

query

dbpath

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_ropen
dbplus_rrename
DB++ Функции


Rename a relation

dbplus_rquery
dbplus_rsecindex
DB++ Функции
PHP Manual

dbplus_rrename

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rrename — Rename a relation

Описание

int dbplus_rrename ( resource $relation , string $name )

dbplus_rrename() will change the name of relation to name.

Список параметров

relation

A relation opened by dbplus_open().

name

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rquery
dbplus_rsecindex
DB++ Функции


Create a new secondary index for a relation

dbplus_rrename
dbplus_runlink
DB++ Функции
PHP Manual

dbplus_rsecindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rsecindex — Create a new secondary index for a relation

Описание

mixed dbplus_rsecindex ( resource $relation , mixed $domlist , int $type )

dbplus_rsecindex() will create a new secondary index for relation with consists of the domains specified by domlist and is of type type

Список параметров

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

type

Возвращаемые значения

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rrename
dbplus_runlink
DB++ Функции


Remove relation from filesystem

dbplus_rsecindex
dbplus_rzap
DB++ Функции
PHP Manual

dbplus_runlink

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_runlink — Remove relation from filesystem

Описание

int dbplus_runlink ( resource $relation )

dbplus_runlink() will close and remove the relation.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rsecindex
dbplus_rzap
DB++ Функции


Remove all tuples from relation

dbplus_runlink
dbplus_savepos
DB++ Функции
PHP Manual

dbplus_rzap

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rzap — Remove all tuples from relation

Описание

int dbplus_rzap ( resource $relation )

dbplus_rzap() will remove all tuples from relation.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_runlink
dbplus_savepos
DB++ Функции


Save position

dbplus_rzap
dbplus_setindex
DB++ Функции
PHP Manual

dbplus_savepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_savepos — Save position

Описание

int dbplus_savepos ( resource $relation )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_rzap
dbplus_setindex
DB++ Функции


Set index

dbplus_savepos
dbplus_setindexbynumber
DB++ Функции
PHP Manual

dbplus_setindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindex — Set index

Описание

int dbplus_setindex ( resource $relation , string $idx_name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

idx_name

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_savepos
dbplus_setindexbynumber
DB++ Функции


Set index by number

dbplus_setindex
dbplus_sql
DB++ Функции
PHP Manual

dbplus_setindexbynumber

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindexbynumber — Set index by number

Описание

int dbplus_setindexbynumber ( resource $relation , int $idx_number )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

idx_number

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_setindex
dbplus_sql
DB++ Функции


Perform SQL query

dbplus_setindexbynumber
dbplus_tcl
DB++ Функции
PHP Manual

dbplus_sql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_sql — Perform SQL query

Описание

resource dbplus_sql ( string $query [, string $server [, string $dbpath ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

query

server

dbpath

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_setindexbynumber
dbplus_tcl
DB++ Функции


Execute TCL code on server side

dbplus_sql
dbplus_tremove
DB++ Функции
PHP Manual

dbplus_tcl

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tcl — Execute TCL code on server side

Описание

string dbplus_tcl ( int $sid , string $script )

A db++ server will prepare a TCL interpreter for each client connection. This interpreter will enable the server to execute TCL code provided by the client as a sort of stored procedures to improve the performance of database operations by avoiding client/server data transfers and context switches.

dbplus_tcl() needs to pass the client connection id the TCL script code should be executed by. dbplus_resolve() will provide this connection id. The function will return whatever the TCL code returns or a TCL error message if the TCL code fails.

Список параметров

sid

script

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_resolve() - Resolve host information for relation

dbplus_sql
dbplus_tremove
DB++ Функции


Remove tuple and return new current tuple

dbplus_tcl
dbplus_undo
DB++ Функции
PHP Manual

dbplus_tremove

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tremove — Remove tuple and return new current tuple

Описание

int dbplus_tremove ( resource $relation , array $tuple [, array &$current ] )

dbplus_tremove() removes tuple from relation if it perfectly matches a tuple within the relation. current, if given, will contain the data of the new current tuple after calling dbplus_tremove().

Список параметров

relation

A relation opened by dbplus_open().

tuple

current

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_tcl
dbplus_undo
DB++ Функции


Undo

dbplus_tremove
dbplus_undoprepare
DB++ Функции
PHP Manual

dbplus_undo

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undo — Undo

Описание

int dbplus_undo ( resource $relation )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_tremove
dbplus_undoprepare
DB++ Функции


Prepare undo

dbplus_undo
dbplus_unlockrel
DB++ Функции
PHP Manual

dbplus_undoprepare

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undoprepare — Prepare undo

Описание

int dbplus_undoprepare ( resource $relation )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_undo
dbplus_unlockrel
DB++ Функции


Give up write lock on relation

dbplus_undoprepare
dbplus_unselect
DB++ Функции
PHP Manual

dbplus_unlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unlockrel — Give up write lock on relation

Описание

int dbplus_unlockrel ( resource $relation )

Release a write lock previously obtained by dbplus_lockrel().

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_undoprepare
dbplus_unselect
DB++ Функции


Remove a constraint from relation

dbplus_unlockrel
dbplus_update
DB++ Функции
PHP Manual

dbplus_unselect

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unselect — Remove a constraint from relation

Описание

int dbplus_unselect ( resource $relation )

Calling dbplus_unselect() will remove a constraint previously set by dbplus_find() on relation.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_unlockrel
dbplus_update
DB++ Функции


Update specified tuple in relation

dbplus_unselect
dbplus_xlockrel
DB++ Функции
PHP Manual

dbplus_update

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_update — Update specified tuple in relation

Описание

int dbplus_update ( resource $relation , array $old , array $new )

dbplus_update() replaces the old tuple with the data from the new one, only if the old completely matches a tuple within relation.

Список параметров

relation

A relation opened by dbplus_open().

old

The old tuple.

new

The new tuple.

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_unselect
dbplus_xlockrel
DB++ Функции


Request exclusive lock on relation

dbplus_update
dbplus_xunlockrel
DB++ Функции
PHP Manual

dbplus_xlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xlockrel — Request exclusive lock on relation

Описание

int dbplus_xlockrel ( resource $relation )

Request an exclusive lock on relation preventing even read access from other clients.

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • dbplus_xunlockrel() - Free exclusive lock on relation

dbplus_update
dbplus_xunlockrel
DB++ Функции


Free exclusive lock on relation

dbplus_xlockrel
dBase
DB++ Функции
PHP Manual

dbplus_xunlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xunlockrel — Free exclusive lock on relation

Описание

int dbplus_xunlockrel ( resource $relation )

Releases an exclusive lock previously obtained by dbplus_xlockrel().

Список параметров

relation

A relation opened by dbplus_open().

Возвращаемые значения

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

dbplus_xlockrel
dBase
DB++ Функции


dBase

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • dBase
    • dbase_add_record — Добавляет запись в базу данных
    • dbase_close — Закрывает базу данных
    • dbase_create — Создает базу данных
    • dbase_delete_record — Удаление записей из базы данных
    • dbase_get_header_info — Получает информацию о свойствах полей базы данных
    • dbase_get_record_with_names — Получает запись из базы данных в виде ассоциативного массива
    • dbase_get_record — Получает записи из базы данных, как из индексированного массива
    • dbase_numfields — Получает количество полей базы данных
    • dbase_numrecords — Получает количество записей в базе данных
    • dbase_open — Открывает базу данных
    • dbase_pack — Фиксирует удаление из базы данных
    • dbase_replace_record — Заменяет запись в базе данных
dbplus_xunlockrel
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Эти функции позволяют получить доступ к записям, хранящимся в DBase-формате (DBF) баз данных.

База данных dBase является просто последовательностью файлов с фиксированной длиной записи. Записи добавляются в конец файла и удаленные записи будут (физически) хранится до вызова dbase_pack().

Доступные типы полей dBase:

Типы полей
Поле | dBase тип | Формат | Дополнительная информация
M | Memo | n/a | Тип не поддерживается PHP, такое поле будет игнорироваться
D | Date | YYYYMMDD | Длина поля установлена в 8
N | Number | Число | Вы должны указать длину и точность (количество цифр после десятичной точки)
C | String | A string | Вы должны указать длину. При получении данных, строка будет дополнена справа пробелами до заявленной длины.
L | Boolean | T или Y соответствует TRUE, F или N соответствует FALSE | Хранится и возвращается как целое число (1 или 0)
F | Float | Число с плавающей точкой | Поддержка этого типа поля была добавлена в PHP 5.2.0

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0.

Внимание

Нет никакой поддержки для индексов или мемо-полей. Также нет поддержки захвата записи (lock). Два параллельных процесса веб-сервера изменив один файл DBase, весьма вероятно, разрушат вашу базу данных.

Рекомендуется не использовать DBase файлы в качестве основной базы данных приложения. Выберете любой SQL сервер, например: » MySQL или » Postgres поддерживаемые PHP. Поддержка dBase в PHP реализована для импорта и экспорта данных в основную базу данных приложения, потому что формат файлов dBase обычно хорошо понимается Windows, известными электронными таблицами и вашим руководством.

dBase
Установка и настройка
dBase


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
dBase


Установка

Для того, чтобы подключить dbase библиотеку и использовать ее функции, скомпилируйте PHP с опцией --enable-dbase .

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
dBase
dBase


dBase
PHP Manual

dBase

Примеры

Большинство примеров в документации требуют наличие базы данных dBase. Мы будем использовать /tmp/test.dbf ,которую создали в примере с dbase_create().

Содержание

  • dbase_add_record — Добавляет запись в базу данных
  • dbase_close — Закрывает базу данных
  • dbase_create — Создает базу данных
  • dbase_delete_record — Удаление записей из базы данных
  • dbase_get_header_info — Получает информацию о свойствах полей базы данных
  • dbase_get_record_with_names — Получает запись из базы данных в виде ассоциативного массива
  • dbase_get_record — Получает записи из базы данных, как из индексированного массива
  • dbase_numfields — Получает количество полей базы данных
  • dbase_numrecords — Получает количество записей в базе данных
  • dbase_open — Открывает базу данных
  • dbase_pack — Фиксирует удаление из базы данных
  • dbase_replace_record — Заменяет запись в базе данных
Предопределенные константы
dbase_add_record
dBase
PHP Manual


Добавляет запись в базу данных

dBase
dbase_close
dBase
PHP Manual

dbase_add_record

(PHP 4, PHP 5)

dbase_add_record — Добавляет запись в базу данных

Описание

bool dbase_add_record ( int $dbase_identifier , array $record )

Добавляет данные в базу данных

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record

Индексированный массив с данными. Количество элементов должно быть равно числу полей в базе данных, в противном случае dbase_add_record() не удастся выполнить.

Замечание:

Если вы используете в качестве параметра запись, которую вернула функция dbase_get_record(), не забудте сбросить ключ deleted. (прим пер. - unset(record['deleted']);

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вставка записи в базу данных dBase

<?php

// открыть БД в режиме чтения и записи
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Maxim Topolov',
      '23',
      'max@example.com',
      'T'));
  dbase_close($db);
}

?>

Смотрите также

  • dbase_delete_record() - Удаление записей из базы данных
  • dbase_replace_record() - Заменяет запись в базе данных

dBase
dbase_close
dBase


Закрывает базу данных

dbase_add_record
dbase_create
dBase
PHP Manual

dbase_close

(PHP 4, PHP 5)

dbase_close — Закрывает базу данных

Описание

bool dbase_close ( int $dbase_identifier )

Закрывает базу данных согласно полученному идентификатору.

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Закрытие файла базы данных dBase

<?php

// открыть БД в режиме чтения
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // получить некоторые данные

  dbase_close($db);
}

?>

Смотрите также

  • dbase_open() - Открывает базу данных
  • dbase_create() - Создает базу данных

dbase_add_record
dbase_create
dBase


Создает базу данных

dbase_close
dbase_delete_record
dBase
PHP Manual

dbase_create

(PHP 4, PHP 5)

dbase_create — Создает базу данных

Описание

int dbase_create ( string $filename , array $fields )

dbase_create() создает базу данных dBase с заданными свойствами.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание:

На поведение этой функции влияет значение директивы open_basedir.

Список параметров

filename

Имя базы данных. Это может быть относительный или абсолютный путь к файлу, в котором dBase будет хранить ваши данные.

fields

Массив массивов, в котором каждый массив описывает формат одного поля базы данных. Формат каждого поля состоит из имени этого поля, символа, указывающего тип поля, и, при необходимости, его длину и точность.

Замечание:

Имена полей ограничены в длину и не должны превышать 10 символов.

Возвращаемые значения

Возвращает идентификатор связи с базой данных, если база данных успешно создана, или FALSE в случае ошибки.

Примеры

Пример #1 Создание файла базы данных dBase

<?php

// база данных "definition"
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// создаем
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Ошибка, не получается создать базу данных\n";
}

?>

Смотрите также

  • dbase_open() - Открывает базу данных
  • dbase_close() - Закрывает базу данных

dbase_close
dbase_delete_record
dBase


Удаление записей из базы данных

dbase_create
dbase_get_header_info
dBase
PHP Manual

dbase_delete_record

(PHP 4, PHP 5)

dbase_delete_record — Удаление записей из базы данных

Описание

bool dbase_delete_record ( int $dbase_identifier , int $record_number )

Помечает указанные записи для удаления из базы данных.

Замечание:

Для окончательного удаления записей из базы данных, необходимо вызвать dbase_pack().

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record_number

Целое число, в промежутке от 1 до количества записей в базе дынных (количество записей возвращает функция dbase_numrecords()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dbase_add_record() - Добавляет запись в базу данных
  • dbase_replace_record() - Заменяет запись в базе данных

dbase_create
dbase_get_header_info
dBase


Получает информацию о свойствах полей базы данных

dbase_delete_record
dbase_get_record_with_names
dBase
PHP Manual

dbase_get_header_info

(PHP 5)

dbase_get_header_info — Получает информацию о свойствах полей базы данных

Описание

array dbase_get_header_info ( int $dbase_identifier )

Возвращает информацию о структуре полей (столбцов) базы данных, согласно заданному идентификатору.

Список параметров

dbase_identifier

Идентификатор базы данных, полученный с помощью dbase_open() или dbase_create().

Возвращаемые значения

Индексированный массив значений для каждой колонки (поля). Индекс массива начинается с 0.

Каждый элемент массива содержит ассоциативный массив информации о столбцах БД следующего вида:

name
Наименование поля
type
Тип поля dBase в удобном для восприятия виде (date, boolean, и т.д.)
length
Максимально хранимое число байт данного поля (включая "precision" - прим. пер.)
precision
Количество цифр после запятой
format
Предложенный в printf() формат спецификации для данного типа
offset
Байт смещения, указывающий размещение поля от начала записи (строки).

Если информация в заголовке базы данных не может быть прочитана, возвращает FALSE.

Примеры

Пример #1 Получение свойств полей файла базы данных dBase

<?php
// Путь к файлу БД
$db_path = "/tmp/test.dbf";

// Открываем файл БД
$dbh = dbase_open($db_path, 0)
  or die("Ошибка! Не получается открыть файл '$db_path'.");

// Получаем информацию о столбцах
$column_info = dbase_get_header_info($dbh);

// Отображение информации
print_r($column_info);
?>

dbase_delete_record
dbase_get_record_with_names
dBase


Получает запись из базы данных в виде ассоциативного массива

dbase_get_header_info
dbase_get_record
dBase
PHP Manual

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names — Получает запись из базы данных в виде ассоциативного массива

Описание

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Получает запись из базы данных dBase в виде ассоциативного массива (вместе с именами соответствующих полей).

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record_number

Индекс записи. (Здесь соответствует физическому номеру записи. - прим. пер.)

Возвращаемые значения

Ассоциативный массив с данными строки. Массив будет включать в себя ключ deleted который равен 1, если запись помечена на удаление (см. dbase_delete_record()). Возвращает и пустые записи.

Каждое поле конвертируется в соответствующий тип PHP, за исключением:

  • Даты остаются в виде строк.
  • Целые числа, которые могли бы привести к переполнению (> 32 бита) возвращаются в виде строк.

В случае ошибки, dbase_get_record_with_names() возвращает FALSE.

Примеры

Пример #1 Список всех зарегистрированных пользователей в базе данных

<?php
// открываем базу в режиме чтения
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      $row = dbase_get_record_with_names($db, $i);
      if ($row['ismember'] == 1) {
          echo "Member #$i: " . trim($row['name']) . "\n";
      }
  }
}
// Прим. пер. -
// к полученным с помощью dbase_get_record_with_names значениям записи
// обращаемся по имени - $row['ismember'],
// а в случае с dbase_get_record к значениям записи
// обращаемся по номеру - $row[4]
?>

Смотрите также

  • dbase_get_record() - Получает записи из базы данных, как из индексированного массива

dbase_get_header_info
dbase_get_record
dBase


Получает записи из базы данных, как из индексированного массива

dbase_get_record_with_names
dbase_numfields
dBase
PHP Manual

dbase_get_record

(PHP 4, PHP 5)

dbase_get_record — Получает записи из базы данных, как из индексированного массива

Описание

array dbase_get_record ( int $dbase_identifier , int $record_number )

Получает записи из базы данных, как из индексированного массива.

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record_number

Индекс записи. (Здесь может отличаться от физического номера записи. - прим. пер.)

Возвращаемые значения

Возвращает запись в виде массива. Массив будет включать в себя ключ deleted который равен 1, если запись помечена на удаление (см. dbase_delete_record()).

Каждое поле конвертируется в соответствующий тип PHP, за исключением:

  • Даты остаются в виде строк.
  • Целые числа, которые могли бы привести к переполнению (> 32 бита) возвращаются в виде строк.

В случае ошибки, dbase_get_record() возвращает FALSE.

Смотрите также

  • dbase_get_record_with_names() - Получает запись из базы данных в виде ассоциативного массива

dbase_get_record_with_names
dbase_numfields
dBase


Получает количество полей базы данных

dbase_get_record
dbase_numrecords
dBase
PHP Manual

dbase_numfields

(PHP 4, PHP 5)

dbase_numfields — Получает количество полей базы данных

Описание

int dbase_numfields ( int $dbase_identifier )

Получает количество полей (колонок) в указанной базе данных.

Замечание:

Поле номеруются от 0 до dbase_numfields($db)-1, тогда как записи базы данных от 1 до dbase_numrecords($db).

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

Возвращаемые значения

Количество полей в базе данных, или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования dbase_numfields()

<?php
//открытие БД для чтения
$db = dbase_open('.\tmp\test.dbf', 0);

//если соединение успешно, то выполняем действия
if ($db) {
  //получение количества записей БД
  $record_numbers = dbase_numrecords($db);
  //получение количества полей БД
  $nf  = dbase_numfields($db);
  //вывод всех записей БД
  //построчный обход
  for ($j = 1;  $j <= $record_numbers;  $j++) {
    //вывод номера строки
    echo $j."=>" ;
    //получение строки по номеру (индексу)
    $rec = dbase_get_record($db, $j);

    //обход по столбцам
    for ($i = 0; $i < $nf; $i++) {
      //вывод данных поля
      echo $rec[$i], "\t";
    }
  echo "<br>";
  }
dbase_close($db);
} else echo "Не удалось подключиться к БД";

?>

Смотрите также

  • dbase_numrecords() - Получает количество записей в базе данных

dbase_get_record
dbase_numrecords
dBase


Получает количество записей в базе данных

dbase_numfields
dbase_open
dBase
PHP Manual

dbase_numrecords

(PHP 4, PHP 5)

dbase_numrecords — Получает количество записей в базе данных

Описание

int dbase_numrecords ( int $dbase_identifier )

Получает количество записей (строк) в указанной базе данных.

Замечание:

Записи базы данных нумеруются от 1 до dbase_numrecords($db), тогда как поля от 0 до dbase_numfields($db)-1.

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

Возвращаемые значения

Количество записей в базе данных, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Цикл по всем записям базы данных

<?php

// открываем в режиме для чтения
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      //выполнение каких-либо действий с записью
  }
}

?>

Смотрите также

  • dbase_numfields() - Получает количество полей базы данных

dbase_numfields
dbase_open
dBase


Открывает базу данных

dbase_numrecords
dbase_pack
dBase
PHP Manual

dbase_open

(PHP 4, PHP 5)

dbase_open — Открывает базу данных

Описание

int dbase_open ( string $filename , int $mode )

dbase_open() открывает базу данных dBase с заданным режимом доступа.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание:

На поведение этой функции влияет значение директивы open_basedir.

Список параметров

filename

Имя базы данных. Это может быть относительный или абсолютный путь к файлу, в котором dBase будет хранить ваши данные.

mode

Целое число, которое соответствует аналогичному в системном вызове open() (Обычно 0 означает режим для чтения, 1 - режим для записи, и 2 - режим для чтения и записи).

Замечание:

Вы не можете открыть файл в dBase в режиме только для записи, потому что функция будет не в состоянии читать информацию из заголовка БД, и, таким образом, вы не можете использовать 1 в качестве значения mode.

Примеры

Пример #1 Открытие dBase файл базы данных

<?php

// открытие в режиме чтения
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // чтение некотрых данных

  dbase_close($db);
}

?>

Возвращаемые значения

Возвращает идентификатор ссылки на базу данных, если база данных успешно открыта, или FALSE если произошла ошибка.

Смотрите также

  • dbase_create() - Создает базу данных
  • dbase_close() - Закрывает базу данных

dbase_numrecords
dbase_pack
dBase


Фиксирует удаление из базы данных

dbase_open
dbase_replace_record
dBase
PHP Manual

dbase_pack

(PHP 4, PHP 5)

dbase_pack — Фиксирует удаление из базы данных

Описание

bool dbase_pack ( int $dbase_identifier )

Фиксирует удаление из базы данных, окончательно удаляет записи, которые были помечены на удаление с помощью dbase_delete_record().

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Очистка базы данных dBase

<?php

// открываем в режиме чтения и записи
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      dbase_delete_record($db, $i);
  }
  // стираем базу
  dbase_pack($db);
}

?>

Смотрите также

  • dbase_delete_record() - Удаление записей из базы данных

dbase_open
dbase_replace_record
dBase


Заменяет запись в базе данных

dbase_pack
filePro
dBase
PHP Manual

dbase_replace_record

(PHP 4, PHP 5)

dbase_replace_record — Заменяет запись в базе данных

Описание

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

Заменяет данную запись в базе данных на заданные значения.

Список параметров

dbase_identifier

Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().

record

Индексированный массив данных. Количество элементов должно быть равно количеству полей в базе данных, в противном случае вызов dbase_replace_record() не удастся.

Замечание:

Если вы используете в качестве параметра запись, которую вернула dbase_get_record(), не забудьте сбросить ключ с именем deleted.

record_number

Целое число, которое может быть в диапазоне от 1 до числа записей в базе данных (которое вернула функция dbase_numrecords()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Обновление записи в базе данных

<?php

// откроем в режиме чтения и записи
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // получим старую запись
  $row = dbase_get_record_with_names($db, 1);

  // сбросим пометку 'deleted'
  unset($row['deleted']);

  // Установим в поле даты текущую дату
  $row['date'] = date('Ymd');

  // Заменим запись
  dbase_replace_record($db, $row, 1);
  dbase_close($db);
}

?>

Смотрите также

  • dbase_add_record() - Добавляет запись в базу данных
  • dbase_delete_record() - Удаление записей из базы данных

dbase_pack
filePro
dBase


filePro

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • filePro Функции
    • filepro_fieldcount — Find out how many fields are in a filePro database
    • filepro_fieldname — Gets the name of a field
    • filepro_fieldtype — Gets the type of a field
    • filepro_fieldwidth — Gets the width of a field
    • filepro_retrieve — Retrieves data from a filePro database
    • filepro_rowcount — Find out how many rows are in a filePro database
    • filepro — Read and verify the map file
dbase_replace_record
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions allow read-only access to data stored in filePro databases.

filePro is a registered trademark of fP Technologies, Inc. You can find more information about filePro at » http://www.fptech.com/.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.2.0.

filePro
Установка и настройка
filePro


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
filePro


Установка

filePro support in PHP is not enabled by default. To enable the bundled read-only filePro support you need to use the--enable-filepro configuration option when compiling PHP.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
filePro Функции
filePro


filePro Функции

Содержание

  • filepro_fieldcount — Find out how many fields are in a filePro database
  • filepro_fieldname — Gets the name of a field
  • filepro_fieldtype — Gets the type of a field
  • filepro_fieldwidth — Gets the width of a field
  • filepro_retrieve — Retrieves data from a filePro database
  • filepro_rowcount — Find out how many rows are in a filePro database
  • filepro — Read and verify the map file
Предопределенные константы
filepro_fieldcount
filePro


Find out how many fields are in a filePro database

filePro Функции
filepro_fieldname
filePro Функции
PHP Manual

filepro_fieldcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldcount — Find out how many fields are in a filePro database

Описание

int filepro_fieldcount ( void )

Returns the number of fields (columns) in the opened filePro database.

Возвращаемые значения

Returns the number of fields in the opened filePro database, or FALSE on errors.

Смотрите также

  • filepro() - Read and verify the map file

filePro Функции
filepro_fieldname
filePro Функции


Gets the name of a field

filepro_fieldcount
filepro_fieldtype
filePro Функции
PHP Manual

filepro_fieldname

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldname — Gets the name of a field

Описание

string filepro_fieldname ( int $field_number )

Returns the name of the field corresponding to field_number.

Список параметров

field_number

The field number.

Возвращаемые значения

Returns the name of the field as a string, or FALSE on errors.

filepro_fieldcount
filepro_fieldtype
filePro Функции


Gets the type of a field

filepro_fieldname
filepro_fieldwidth
filePro Функции
PHP Manual

filepro_fieldtype

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldtype — Gets the type of a field

Описание

string filepro_fieldtype ( int $field_number )

Returns the edit type of the field corresponding to field_number.

Список параметров

field_number

The field number.

Возвращаемые значения

Returns the edit type of the field as a string, or FALSE on errors.

filepro_fieldname
filepro_fieldwidth
filePro Функции


Gets the width of a field

filepro_fieldtype
filepro_retrieve
filePro Функции
PHP Manual

filepro_fieldwidth

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldwidth — Gets the width of a field

Описание

int filepro_fieldwidth ( int $field_number )

Returns the width of the field corresponding to field_number.

Список параметров

field_number

The field number.

Возвращаемые значения

Returns the width of the field as a integer, or FALSE on errors.

filepro_fieldtype
filepro_retrieve
filePro Функции


Retrieves data from a filePro database

filepro_fieldwidth
filepro_rowcount
filePro Функции
PHP Manual

filepro_retrieve

(PHP 4, PHP 5 <= 5.1.6)

filepro_retrieve — Retrieves data from a filePro database

Описание

string filepro_retrieve ( int $row_number , int $field_number )

Returns the data from the specified location in the database.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Список параметров

row_number

The row number. Must be between zero and the total number of rows minus one (0..filepro_rowcount() - 1)

field_number

The field number. Accepts values between zero and the total number of fields minus one (0..filepro_fieldcount() - 1)

Возвращаемые значения

Returns the specified data, or FALSE on errors.

filepro_fieldwidth
filepro_rowcount
filePro Функции


Find out how many rows are in a filePro database

filepro_retrieve
filepro
filePro Функции
PHP Manual

filepro_rowcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_rowcount — Find out how many rows are in a filePro database

Описание

int filepro_rowcount ( void )

Returns the number of rows in the opened filePro database.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Возвращаемые значения

Returns the number of rows in the opened filePro database, or FALSE on errors.

Смотрите также

  • filepro() - Read and verify the map file

filepro_retrieve
filepro
filePro Функции


Read and verify the map file

filepro_rowcount
Firebird/InterBase
filePro Функции
PHP Manual

filepro

(PHP 4, PHP 5 <= 5.1.6)

filepro — Read and verify the map file

Описание

bool filepro ( string $directory )

This reads and verifies the map file, storing the field count and info.

No locking is done, so you should avoid modifying your filePro database while it may be opened in PHP.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Список параметров

directory

The map directory.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

filepro_rowcount
Firebird/InterBase
filePro Функции


Firebird/InterBase

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Firebird/InterBase Функции
    • ibase_add_user — Add a user to a security database (only for IB6 or later)
    • ibase_affected_rows — Return the number of rows that were affected by the previous query
    • ibase_backup — Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add — Add data into a newly created blob
    • ibase_blob_cancel — Cancel creating blob
    • ibase_blob_close — Close blob
    • ibase_blob_create — Create a new blob for adding data
    • ibase_blob_echo — Output blob contents to browser
    • ibase_blob_get — Get len bytes data from open blob
    • ibase_blob_import — Create blob, copy file in it, and close it
    • ibase_blob_info — Return blob length and other useful info
    • ibase_blob_open — Open blob for retrieving data parts
    • ibase_close — Close a connection to an InterBase database
    • ibase_commit_ret — Commit a transaction without closing it
    • ibase_commit — Commit a transaction
    • ibase_connect — Open a connection to an InterBase database
    • ibase_db_info — Request statistics about a database
    • ibase_delete_user — Delete a user from a security database (only for IB6 or later)
    • ibase_drop_db — Drops a database
    • ibase_errcode — Return an error code
    • ibase_errmsg — Return error messages
    • ibase_execute — Execute a previously prepared query
    • ibase_fetch_assoc — Fetch a result row from a query as an associative array
    • ibase_fetch_object — Get an object from a InterBase database
    • ibase_fetch_row — Fetch a row from an InterBase database
    • ibase_field_info — Get information about a field
    • ibase_free_event_handler — Cancels a registered event handler
    • ibase_free_query — Free memory allocated by a prepared query
    • ibase_free_result — Free a result set
    • ibase_gen_id — Increments the named generator and returns its new value
    • ibase_maintain_db — Execute a maintenance command on the database server
    • ibase_modify_user — Modify a user to a security database (only for IB6 or later)
    • ibase_name_result — Assigns a name to a result set
    • ibase_num_fields — Get the number of fields in a result set
    • ibase_num_params — Return the number of parameters in a prepared query
    • ibase_param_info — Return information about a parameter in a prepared query
    • ibase_pconnect — Open a persistent connection to an InterBase database
    • ibase_prepare — Prepare a query for later binding of parameter placeholders and execution
    • ibase_query — Execute a query on an InterBase database
    • ibase_restore — Initiates a restore task in the service manager and returns immediately
    • ibase_rollback_ret — Roll back a transaction without closing it
    • ibase_rollback — Roll back a transaction
    • ibase_server_info — Request information about a database server
    • ibase_service_attach — Connect to the service manager
    • ibase_service_detach — Disconnect from the service manager
    • ibase_set_event_handler — Register a callback function to be called when events are posted
    • ibase_timefmt — Sets the format of timestamp, date and time type columns returned from queries
    • ibase_trans — Begin a transaction
    • ibase_wait_event — Wait for an event to be posted by the database
filepro
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Firebird/InterBase is a relational database offering many ANSI SQL-92 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird/InterBase offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.

InterBase is the name of the closed-source variant of this RDBMS that was developed by Borland/Inprise. More information about InterBase is available at » http://www.borland.com/interbase/.

Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) under the InterBase Public License v.1.0 on 25 July, 2000. More information about Firebird is available at » http://www.firebirdsql.org/.

Замечание:

This extension supports InterBase versions 5 and up and all versions of Firebird. Support for InterBase version 5.x will be dropped in PHP 5.

This database uses a single quote (') character for escaping, a behavior similar to the Sybase database, add to your php.ini the following directive:

magic_quotes_sybase = On

Firebird/InterBase
Установка и настройка
Firebird/InterBase


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Firebird/InterBase


Установка

To enable InterBase support configure PHP --with-interbase[=DIR] , where DIR is the InterBase base install directory, which defaults to /usr/interbase.

Замечание: Note to Win32 Users

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: gds32.dll

If you installed the InterBase database server on the same machine PHP is running on, you will have this DLL already and gds32.dll will already be in the PATH.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

InterBase configuration options
Name | Default | Changeable | Changelog
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Available since PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

ibase.allow_persistent boolean

Whether to allow persistent connections to Firebird/InterBase.

ibase.max_persistent integer

The maximum number of persistent Firebird/InterBase connections per process. New connections created with ibase_pconnect() will be non-persistent if this number would be exceeded.

ibase.max_links integer

The maximum number of Firebird/InterBase connections per process, including persistent connections.

ibase.default_db string

The default database to connect to when ibase_[p]connect() is called without specifying a database name. If this value is set and SQL safe mode is enabled, no other connections than to this database will be allowed.

ibase.default_user string

The user name to use when connecting to a database if no user name is specified.

ibase.default_password string

The password to use when connecting to a database if no password is specified.

ibase.default_charset string

The character set to use when connecting to a database if no character set is specified.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

These directives are used to set the date and time formats that are used when returning dates and times from a result set, or when binding arguments to date and time parameters.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following constants can be passed to ibase_trans() to specify transaction behaviour.

Firebird/InterBase transaction flags
Constant | Description
IBASE_DEFAULT | The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READ | Starts a read-only transaction.
IBASE_WRITE | Starts a read-write transaction.
IBASE_CONSISTENCY | Starts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCY | Starts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.
IBASE_COMMITTED | Starts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction.
IBASE_WAIT | Indicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAIT | Indicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

Firebird/InterBase fetch flags
Constant | Description
IBASE_FETCH_BLOBS | Also available as IBASE_TEXTfor backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYS | Causes arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIME | Causes date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service
API functions (ibase_server_info(), ibase_db_info(),
ibase_backup(), ibase_restore()
and ibase_maintain_db()). Please refer to
the Firebird/InterBase manuals for the meaning of these options.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Options to ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Options to ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options to ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Options to ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Options to ibase_server_info()

Типы ресурсов
Firebird/InterBase Функции
Firebird/InterBase


Firebird/InterBase Функции

Содержание

  • ibase_add_user — Add a user to a security database (only for IB6 or later)
  • ibase_affected_rows — Return the number of rows that were affected by the previous query
  • ibase_backup — Initiates a backup task in the service manager and returns immediately
  • ibase_blob_add — Add data into a newly created blob
  • ibase_blob_cancel — Cancel creating blob
  • ibase_blob_close — Close blob
  • ibase_blob_create — Create a new blob for adding data
  • ibase_blob_echo — Output blob contents to browser
  • ibase_blob_get — Get len bytes data from open blob
  • ibase_blob_import — Create blob, copy file in it, and close it
  • ibase_blob_info — Return blob length and other useful info
  • ibase_blob_open — Open blob for retrieving data parts
  • ibase_close — Close a connection to an InterBase database
  • ibase_commit_ret — Commit a transaction without closing it
  • ibase_commit — Commit a transaction
  • ibase_connect — Open a connection to an InterBase database
  • ibase_db_info — Request statistics about a database
  • ibase_delete_user — Delete a user from a security database (only for IB6 or later)
  • ibase_drop_db — Drops a database
  • ibase_errcode — Return an error code
  • ibase_errmsg — Return error messages
  • ibase_execute — Execute a previously prepared query
  • ibase_fetch_assoc — Fetch a result row from a query as an associative array
  • ibase_fetch_object — Get an object from a InterBase database
  • ibase_fetch_row — Fetch a row from an InterBase database
  • ibase_field_info — Get information about a field
  • ibase_free_event_handler — Cancels a registered event handler
  • ibase_free_query — Free memory allocated by a prepared query
  • ibase_free_result — Free a result set
  • ibase_gen_id — Increments the named generator and returns its new value
  • ibase_maintain_db — Execute a maintenance command on the database server
  • ibase_modify_user — Modify a user to a security database (only for IB6 or later)
  • ibase_name_result — Assigns a name to a result set
  • ibase_num_fields — Get the number of fields in a result set
  • ibase_num_params — Return the number of parameters in a prepared query
  • ibase_param_info — Return information about a parameter in a prepared query
  • ibase_pconnect — Open a persistent connection to an InterBase database
  • ibase_prepare — Prepare a query for later binding of parameter placeholders and execution
  • ibase_query — Execute a query on an InterBase database
  • ibase_restore — Initiates a restore task in the service manager and returns immediately
  • ibase_rollback_ret — Roll back a transaction without closing it
  • ibase_rollback — Roll back a transaction
  • ibase_server_info — Request information about a database server
  • ibase_service_attach — Connect to the service manager
  • ibase_service_detach — Disconnect from the service manager
  • ibase_set_event_handler — Register a callback function to be called when events are posted
  • ibase_timefmt — Sets the format of timestamp, date and time type columns returned from queries
  • ibase_trans — Begin a transaction
  • ibase_wait_event — Wait for an event to be posted by the database
Предопределенные константы
ibase_add_user
Firebird/InterBase


Add a user to a security database (only for IB6 or later)

Firebird/InterBase Функции
ibase_affected_rows
Firebird/InterBase Функции
PHP Manual

ibase_add_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_add_user — Add a user to a security database (only for IB6 or later)

Описание

bool ibase_add_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_modify_user() - Modify a user to a security database (only for IB6 or later)
  • ibase_delete_user() - Delete a user from a security database (only for IB6 or later)

Firebird/InterBase Функции
ibase_affected_rows
Firebird/InterBase Функции


Return the number of rows that were affected by the previous query

ibase_add_user
ibase_backup
Firebird/InterBase Функции
PHP Manual

ibase_affected_rows

(PHP 5)

ibase_affected_rows — Return the number of rows that were affected by the previous query

Описание

int ibase_affected_rows ([ resource $link_identifier ] )

This function returns the number of rows that were affected by the previous query (INSERT, UPDATE or DELETE) that was executed from within the specified transaction context.

Список параметров

link_identifier

A transaction context. If link_identifier is a connection resource, its default transaction is used.

Возвращаемые значения

Returns the number of rows as an integer.

Смотрите также

  • ibase_query() - Execute a query on an InterBase database
  • ibase_execute() - Execute a previously prepared query

ibase_add_user
ibase_backup
Firebird/InterBase Функции


Initiates a backup task in the service manager and returns immediately

ibase_affected_rows
ibase_blob_add
Firebird/InterBase Функции
PHP Manual

ibase_backup

(PHP 5)

ibase_backup — Initiates a backup task in the service manager and returns immediately

Описание

mixed ibase_backup ( resource $service_handle , string $source_db , string $dest_file [, int $options = 0 [, bool $verbose = false ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ibase_affected_rows
ibase_blob_add
Firebird/InterBase Функции


Add data into a newly created blob

ibase_backup
ibase_blob_cancel
Firebird/InterBase Функции
PHP Manual

ibase_blob_add

(PHP 4, PHP 5)

ibase_blob_add — Add data into a newly created blob

Описание

void ibase_blob_add ( resource $blob_handle , string $data )

ibase_blob_add() adds data into a blob created with ibase_blob_create().

Список параметров

blob_handle

A blob handle opened with ibase_blob_create().

data

The data to be added.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_backup
ibase_blob_cancel
Firebird/InterBase Функции


Cancel creating blob

ibase_blob_add
ibase_blob_close
Firebird/InterBase Функции
PHP Manual

ibase_blob_cancel

(PHP 4, PHP 5)

ibase_blob_cancel — Cancel creating blob

Описание

bool ibase_blob_cancel ( resource $blob_handle )

This function will discard a BLOB if it has not yet been closed by ibase_blob_close().

Список параметров

blob_handle

A BLOB handle opened with ibase_blob_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_blob_add
ibase_blob_close
Firebird/InterBase Функции


Close blob

ibase_blob_cancel
ibase_blob_create
Firebird/InterBase Функции
PHP Manual

ibase_blob_close

(PHP 4, PHP 5)

ibase_blob_close — Close blob

Описание

mixed ibase_blob_close ( resource $blob_handle )

This function closes a BLOB that has either been opened for reading by ibase_blob_open() or has been opened for writing by ibase_blob_create().

Список параметров

blob_handle

A BLOB handle opened with ibase_blob_create() or ibase_blob_open().

Возвращаемые значения

If the BLOB was being read, this function returns TRUE on success, if the BLOB was being written to, this function returns a string containing the BLOB id that has been assigned to it by the database. On failure, this function returns FALSE.

Смотрите также

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_open() - Open blob for retrieving data parts

ibase_blob_cancel
ibase_blob_create
Firebird/InterBase Функции


Create a new blob for adding data

ibase_blob_close
ibase_blob_echo
Firebird/InterBase Функции
PHP Manual

ibase_blob_create

(PHP 4, PHP 5)

ibase_blob_create — Create a new blob for adding data

Описание

resource ibase_blob_create ([ resource $link_identifier = NULL ] )

ibase_blob_create() creates a new BLOB for filling with data.

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Возвращаемые значения

Returns a BLOB handle for later use with ibase_blob_add() или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_blob_close
ibase_blob_echo
Firebird/InterBase Функции


Output blob contents to browser

ibase_blob_create
ibase_blob_get
Firebird/InterBase Функции
PHP Manual

ibase_blob_echo

(PHP 4, PHP 5)

ibase_blob_echo — Output blob contents to browser

Описание

bool ibase_blob_echo ( string $blob_id )
bool ibase_blob_echo ( resource $link_identifier , string $blob_id )

This function opens a BLOB for reading and sends its contents directly to standard output (the browser, in most cases).

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_get() - Get len bytes data from open blob

ibase_blob_create
ibase_blob_get
Firebird/InterBase Функции


Get len bytes data from open blob

ibase_blob_echo
ibase_blob_import
Firebird/InterBase Функции
PHP Manual

ibase_blob_get

(PHP 4, PHP 5)

ibase_blob_get — Get len bytes data from open blob

Описание

string ibase_blob_get ( resource $blob_handle , int $len )

This function returns at most len bytes from a BLOB that has been opened for reading by ibase_blob_open().

Замечание:

It is not possible to read from a BLOB that has been opened for writing by ibase_blob_create().

Список параметров

blob_handle

A BLOB handle opened with ibase_blob_open().

len

Size of returned data.

Возвращаемые значения

Returns at most len bytes from the BLOB, or FALSE on failure.

Примеры

Пример #1 ibase_blob_get() example

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>
Whilst this example doesn't do much more than a 'ibase_blob_echo($data->BLOB_VALUE)' would do, it does show you how to get information into a $variable to manipulate as you please.

Смотрите также

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser

ibase_blob_echo
ibase_blob_import
Firebird/InterBase Функции


Create blob, copy file in it, and close it

ibase_blob_get
ibase_blob_info
Firebird/InterBase Функции
PHP Manual

ibase_blob_import

(PHP 4, PHP 5)

ibase_blob_import — Create blob, copy file in it, and close it

Описание

string ibase_blob_import ( resource $link_identifier , resource $file_handle )
string ibase_blob_import ( resource $file_handle )

This function creates a BLOB, reads an entire file into it, closes it and returns the assigned BLOB id.

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

file_handle

The file handle is a handle returned by fopen().

Возвращаемые значения

Returns the BLOB id on success, or FALSE on error.

Примеры

Пример #1 ibase_blob_import() example

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // import failed
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // record insertion failed
        }
    }
} else {
    // unable to open the data file
}
?>

Смотрите также

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data

ibase_blob_get
ibase_blob_info
Firebird/InterBase Функции


Return blob length and other useful info

ibase_blob_import
ibase_blob_open
Firebird/InterBase Функции
PHP Manual

ibase_blob_info

(PHP 4, PHP 5)

ibase_blob_info — Return blob length and other useful info

Описание

array ibase_blob_info ( resource $link_identifier , string $blob_id )
array ibase_blob_info ( string $blob_id )

Returns the BLOB length and other useful information.

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Возвращаемые значения

Returns an array containing information about a BLOB. The information returned consists of the length of the BLOB, the number of segments it contains, the size of the largest segment, and whether it is a stream BLOB or a segmented BLOB.

ibase_blob_import
ibase_blob_open
Firebird/InterBase Функции


Open blob for retrieving data parts

ibase_blob_info
ibase_close
Firebird/InterBase Функции
PHP Manual

ibase_blob_open

(PHP 4, PHP 5)

ibase_blob_open — Open blob for retrieving data parts

Описание

resource ibase_blob_open ( resource $link_identifier , string $blob_id )
resource ibase_blob_open ( string $blob_id )

Opens an existing BLOB for reading.

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Возвращаемые значения

Returns a BLOB handle for later use with ibase_blob_get() или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser
  • ibase_blob_get() - Get len bytes data from open blob

ibase_blob_info
ibase_close
Firebird/InterBase Функции


Close a connection to an InterBase database

ibase_blob_open
ibase_commit_ret
Firebird/InterBase Функции
PHP Manual

ibase_close

(PHP 4, PHP 5)

ibase_close — Close a connection to an InterBase database

Описание

bool ibase_close ([ resource $connection_id = NULL ] )

Closes the link to an InterBase database that's associated with a connection id returned from ibase_connect(). Default transaction on link is committed, other transactions are rolled back.

Список параметров

connection_id

An InterBase link identifier returned from ibase_connect(). If omitted, the last opened link is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_connect() - Open a connection to an InterBase database
  • ibase_pconnect() - Open a persistent connection to an InterBase database

ibase_blob_open
ibase_commit_ret
Firebird/InterBase Функции


Commit a transaction without closing it

ibase_close
ibase_commit
Firebird/InterBase Функции
PHP Manual

ibase_commit_ret

(PHP 5)

ibase_commit_ret — Commit a transaction without closing it

Описание

bool ibase_commit_ret ([ resource $link_or_trans_identifier = NULL ] )

Commits a transaction without closing it.

Список параметров

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_close
ibase_commit
Firebird/InterBase Функции


Commit a transaction

ibase_commit_ret
ibase_connect
Firebird/InterBase Функции
PHP Manual

ibase_commit

(PHP 4, PHP 5)

ibase_commit — Commit a transaction

Описание

bool ibase_commit ([ resource $link_or_trans_identifier = NULL ] )

Commits a transaction.

Список параметров

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_commit_ret
ibase_connect
Firebird/InterBase Функции


Open a connection to an InterBase database

ibase_commit
ibase_db_info
Firebird/InterBase Функции
PHP Manual

ibase_connect

(PHP 4, PHP 5)

ibase_connect — Open a connection to an InterBase database

Описание

resource ibase_connect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Establishes a connection to an InterBase server.

In case a second call is made to ibase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling ibase_close().

Список параметров

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.

role

Functional only with InterBase 5 and up.

sync

Возвращаемые значения

Returns an InterBase link identifier on success, or FALSE on error.

Ошибки

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

Примеры

Пример #1 ibase_connect() example

<?php
$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

Смотрите также

  • ibase_pconnect() - Open a persistent connection to an InterBase database
  • ibase_close() - Close a connection to an InterBase database

ibase_commit
ibase_db_info
Firebird/InterBase Функции


Request statistics about a database

ibase_connect
ibase_delete_user
Firebird/InterBase Функции
PHP Manual

ibase_db_info

(PHP 5)

ibase_db_info — Request statistics about a database

Описание

string ibase_db_info ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ibase_connect
ibase_delete_user
Firebird/InterBase Функции


Delete a user from a security database (only for IB6 or later)

ibase_db_info
ibase_drop_db
Firebird/InterBase Функции
PHP Manual

ibase_delete_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_delete_user — Delete a user from a security database (only for IB6 or later)

Описание

bool ibase_delete_user ( resource $service_handle , string $user_name )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_add_user() - Add a user to a security database (only for IB6 or later)
  • ibase_modify_user() - Modify a user to a security database (only for IB6 or later)

ibase_db_info
ibase_drop_db
Firebird/InterBase Функции


Drops a database

ibase_delete_user
ibase_errcode
Firebird/InterBase Функции
PHP Manual

ibase_drop_db

(PHP 5)

ibase_drop_db — Drops a database

Описание

bool ibase_drop_db ([ resource $connection = NULL ] )

This functions drops a database that was opened by either ibase_connect() or ibase_pconnect(). The database is closed and deleted from the server.

Список параметров

connection

An InterBase link identifier. If omitted, the last opened link is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_connect() - Open a connection to an InterBase database
  • ibase_pconnect() - Open a persistent connection to an InterBase database

ibase_delete_user
ibase_errcode
Firebird/InterBase Функции


Return an error code

ibase_drop_db
ibase_errmsg
Firebird/InterBase Функции
PHP Manual

ibase_errcode

(PHP 5)

ibase_errcode — Return an error code

Описание

int ibase_errcode ( void )

Returns the error code that resulted from the most recent InterBase function call.

Возвращаемые значения

Returns the error code as an integer, or FALSE if no error occurred.

Смотрите также

  • ibase_errmsg() - Return error messages

ibase_drop_db
ibase_errmsg
Firebird/InterBase Функции


Return error messages

ibase_errcode
ibase_execute
Firebird/InterBase Функции
PHP Manual

ibase_errmsg

(PHP 4, PHP 5)

ibase_errmsg — Return error messages

Описание

string ibase_errmsg ( void )

Returns the error message that resulted from the most recent InterBase function call.

Возвращаемые значения

Returns the error message as a string, or FALSE if no error occurred.

Смотрите также

  • ibase_errcode() - Return an error code

ibase_errcode
ibase_execute
Firebird/InterBase Функции


Execute a previously prepared query

ibase_errmsg
ibase_fetch_assoc
Firebird/InterBase Функции
PHP Manual

ibase_execute

(PHP 4, PHP 5)

ibase_execute — Execute a previously prepared query

Описание

resource ibase_execute ( resource $query [, mixed $bind_arg [, mixed $... ]] )

Execute a query prepared by ibase_prepare().

This is a lot more effective than using ibase_query() if you are repeating a same kind of query several times with only some parameters changing.

Список параметров

query

An InterBase query prepared by ibase_prepare().

bind_arg

...

Возвращаемые значения

If the query raises an error, returns FALSE. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns TRUE.

Замечание:

In PHP 5.0.0 and up, this function returns the number of rows affected by the query (if > 0 and applicable to the statement type). A query that succeeded, but did not affect any rows (e.g. an UPDATE of a non-existent record) will return TRUE.

Примеры

Пример #1 ibase_execute() example

<?php

$dbh = ibase_connect($host, $username, $password);

$updates = array(
    1 => 'Eric',
    5 => 'Filip',
    7 => 'Larry'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($updates as $baz => $bar) {
    ibase_execute($query, $bar, $baz);
}

?>

Смотрите также

  • ibase_query() - Execute a query on an InterBase database

ibase_errmsg
ibase_fetch_assoc
Firebird/InterBase Функции


Fetch a result row from a query as an associative array

ibase_execute
ibase_fetch_object
Firebird/InterBase Функции
PHP Manual

ibase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

ibase_fetch_assoc — Fetch a result row from a query as an associative array

Описание

array ibase_fetch_assoc ( resource $result [, int $fetch_flag = 0 ] )

Fetch a result row from a query as an associative array.

ibase_fetch_assoc() fetches one row of data from the result. If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using ibase_fetch_row() or use alias names in your query.

Список параметров

result

The result handle.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Возвращаемые значения

Returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or FALSE if there are no more rows.

Смотрите также

  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_object() - Get an object from a InterBase database

ibase_execute
ibase_fetch_object
Firebird/InterBase Функции


Get an object from a InterBase database

ibase_fetch_assoc
ibase_fetch_row
Firebird/InterBase Функции
PHP Manual

ibase_fetch_object

(PHP 4, PHP 5)

ibase_fetch_object — Get an object from a InterBase database

Описание

object ibase_fetch_object ( resource $result_id [, int $fetch_flag = 0 ] )

Fetches a row as a pseudo-object from a given result identifier.

Subsequent calls to ibase_fetch_object() return the next row in the result set.

Список параметров

result_id

An InterBase result identifier obtained either by ibase_query() or ibase_execute().

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Возвращаемые значения

Returns an object with the next row information, or FALSE if there are no more rows.

Примеры

Пример #1 ibase_fetch_object() example

<?php
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email . "\n";
}
ibase_close($dbh);
?>

Смотрите также

  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_assoc() - Fetch a result row from a query as an associative array

ibase_fetch_assoc
ibase_fetch_row
Firebird/InterBase Функции


Fetch a row from an InterBase database

ibase_fetch_object
ibase_field_info
Firebird/InterBase Функции
PHP Manual

ibase_fetch_row

(PHP 4, PHP 5)

ibase_fetch_row — Fetch a row from an InterBase database

Описание

array ibase_fetch_row ( resource $result_identifier [, int $fetch_flag = 0 ] )

ibase_fetch_row() fetches one row of data from the given result set.

Subsequent calls to ibase_fetch_row() return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result_identifier

An InterBase result identifier.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 0.

Смотрите также

  • ibase_fetch_assoc() - Fetch a result row from a query as an associative array
  • ibase_fetch_object() - Get an object from a InterBase database

ibase_fetch_object
ibase_field_info
Firebird/InterBase Функции


Get information about a field

ibase_fetch_row
ibase_free_event_handler
Firebird/InterBase Функции
PHP Manual

ibase_field_info

(PHP 4, PHP 5)

ibase_field_info — Get information about a field

Описание

array ibase_field_info ( resource $result , int $field_number )

Returns an array with information about a field after a select query has been run.

Список параметров

result

An InterBase result identifier.

field_number

Field offset.

Возвращаемые значения

Returns an array with the following keys: name, alias, relation, length and type.

Примеры

Пример #1 ibase_field_info() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: ". $col_info['name']. "\n";
    echo "alias: ". $col_info['alias']. "\n";
    echo "relation: ". $col_info['relation']. "\n";
    echo "length: ". $col_info['length']. "\n";
    echo "type: ". $col_info['type']. "\n";
}
?>

Смотрите также

  • ibase_num_fields() - Get the number of fields in a result set

ibase_fetch_row
ibase_free_event_handler
Firebird/InterBase Функции


Cancels a registered event handler

ibase_field_info
ibase_free_query
Firebird/InterBase Функции
PHP Manual

ibase_free_event_handler

(PHP 5)

ibase_free_event_handler — Cancels a registered event handler

Описание

bool ibase_free_event_handler ( resource $event )

This function causes the registered event handler specified by event to be cancelled. The callback function will no longer be called for the events it was registered to handle.

Список параметров

event

An event resource, created by ibase_set_event_handler().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_set_event_handler() - Register a callback function to be called when events are posted

ibase_field_info
ibase_free_query
Firebird/InterBase Функции


Free memory allocated by a prepared query

ibase_free_event_handler
ibase_free_result
Firebird/InterBase Функции
PHP Manual

ibase_free_query

(PHP 4, PHP 5)

ibase_free_query — Free memory allocated by a prepared query

Описание

bool ibase_free_query ( resource $query )

Frees a prepared query.

Список параметров

query

A query prepared with ibase_prepare().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_free_event_handler
ibase_free_result
Firebird/InterBase Функции


Free a result set

ibase_free_query
ibase_gen_id
Firebird/InterBase Функции
PHP Manual

ibase_free_result

(PHP 4, PHP 5)

ibase_free_result — Free a result set

Описание

bool ibase_free_result ( resource $result_identifier )

Frees a result set.

Список параметров

result_identifier

A result set created by ibase_query() or ibase_execute().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_free_query
ibase_gen_id
Firebird/InterBase Функции


Increments the named generator and returns its new value

ibase_free_result
ibase_maintain_db
Firebird/InterBase Функции
PHP Manual

ibase_gen_id

(PHP 5)

ibase_gen_id — Increments the named generator and returns its new value

Описание

mixed ibase_gen_id ( string $generator [, int $increment = 1 [, resource $link_identifier = NULL ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Returns new generator value as integer, or as string if the value is too big.

ibase_free_result
ibase_maintain_db
Firebird/InterBase Функции


Execute a maintenance command on the database server

ibase_gen_id
ibase_modify_user
Firebird/InterBase Функции
PHP Manual

ibase_maintain_db

(PHP 5)

ibase_maintain_db — Execute a maintenance command on the database server

Описание

bool ibase_maintain_db ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_gen_id
ibase_modify_user
Firebird/InterBase Функции


Modify a user to a security database (only for IB6 or later)

ibase_maintain_db
ibase_name_result
Firebird/InterBase Функции
PHP Manual

ibase_modify_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_modify_user — Modify a user to a security database (only for IB6 or later)

Описание

bool ibase_modify_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ibase_add_user() - Add a user to a security database (only for IB6 or later)
  • ibase_delete_user() - Delete a user from a security database (only for IB6 or later)

ibase_maintain_db
ibase_name_result
Firebird/InterBase Функции


Assigns a name to a result set

ibase_modify_user
ibase_num_fields
Firebird/InterBase Функции
PHP Manual

ibase_name_result

(PHP 5)

ibase_name_result — Assigns a name to a result set

Описание

bool ibase_name_result ( resource $result , string $name )

This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ... WHERE CURRENT OF name statements.

Список параметров

result

An InterBase result set.

name

The name to be assigned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 ibase_name_result() example

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
    ibase_execute($updateqry, $i);
}
?>

Смотрите также

  • ibase_prepare() - Prepare a query for later binding of parameter placeholders and execution
  • ibase_execute() - Execute a previously prepared query

ibase_modify_user
ibase_num_fields
Firebird/InterBase Функции


Get the number of fields in a result set

ibase_name_result
ibase_num_params
Firebird/InterBase Функции
PHP Manual

ibase_num_fields

(PHP 4, PHP 5)

ibase_num_fields — Get the number of fields in a result set

Описание

int ibase_num_fields ( resource $result_id )

Get the number of fields in a result set.

Список параметров

result_id

An InterBase result identifier.

Возвращаемые значения

Returns the number of fields as an integer.

Примеры

Пример #1 ibase_num_fields() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: " . $col_info['name'] . "\n";
    echo "alias: " . $col_info['alias'] . "\n";
    echo "relation: " . $col_info['relation'] . "\n";
    echo "length: " . $col_info['length'] . "\n";
    echo "type: " . $col_info['type'] . "\n";
}
?>

Смотрите также

  • ibase_field_info() - Get information about a field

ibase_name_result
ibase_num_params
Firebird/InterBase Функции


Return the number of parameters in a prepared query

ibase_num_fields
ibase_param_info
Firebird/InterBase Функции
PHP Manual

ibase_num_params

(PHP 5)

ibase_num_params — Return the number of parameters in a prepared query

Описание

int ibase_num_params ( resource $query )

This function returns the number of parameters in the prepared query specified by query. This is the number of binding arguments that must be present when calling ibase_execute().

Список параметров

query

The prepared query handle.

Возвращаемые значения

Returns the number of parameters as an integer.

Смотрите также

  • ibase_prepare() - Prepare a query for later binding of parameter placeholders and execution
  • ibase_param_info() - Return information about a parameter in a prepared query

ibase_num_fields
ibase_param_info
Firebird/InterBase Функции


Return information about a parameter in a prepared query

ibase_num_params
ibase_pconnect
Firebird/InterBase Функции
PHP Manual

ibase_param_info

(PHP 5)

ibase_param_info — Return information about a parameter in a prepared query

Описание

array ibase_param_info ( resource $query , int $param_number )

Returns an array with information about a parameter after a query has been prepared.

Список параметров

query

An InterBase prepared query handle.

param_number

Parameter offset.

Возвращаемые значения

Returns an array with the following keys: name, alias, relation, length and type.

Смотрите также

  • ibase_field_info() - Get information about a field
  • ibase_num_params() - Return the number of parameters in a prepared query

ibase_num_params
ibase_pconnect
Firebird/InterBase Функции


Open a persistent connection to an InterBase database

ibase_param_info
ibase_prepare
Firebird/InterBase Функции
PHP Manual

ibase_pconnect

(PHP 4, PHP 5)

ibase_pconnect — Open a persistent connection to an InterBase database

Описание

resource ibase_pconnect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Opens a persistent connection to an InterBase database.

ibase_pconnect() acts very much like ibase_connect() with two major differences.

First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the InterBase server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ibase_close() will not close links established by ibase_pconnect()). This type of link is therefore called 'persistent'.

Список параметров

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.

role

Functional only with InterBase 5 and up.

sync

Возвращаемые значения

Returns an InterBase link identifier on success, or FALSE on error.

Смотрите также

  • ibase_close() - Close a connection to an InterBase database
  • ibase_connect() - Open a connection to an InterBase database

ibase_param_info
ibase_prepare
Firebird/InterBase Функции


Prepare a query for later binding of parameter placeholders and execution

ibase_pconnect
ibase_query
Firebird/InterBase Функции
PHP Manual

ibase_prepare

(PHP 4, PHP 5)

ibase_prepare — Prepare a query for later binding of parameter placeholders and execution

Описание

resource ibase_prepare ( string $query )
resource ibase_prepare ( resource $link_identifier , string $query )
resource ibase_prepare ( resource $link_identifier , string $trans , string $query )

Prepare a query for later binding of parameter placeholders and execution (via ibase_execute()).

Список параметров

query

An InterBase query.

Возвращаемые значения

Returns a prepared query handle, or FALSE on error.

ibase_pconnect
ibase_query
Firebird/InterBase Функции


Execute a query on an InterBase database

ibase_prepare
ibase_restore
Firebird/InterBase Функции
PHP Manual

ibase_query

(PHP 4, PHP 5)

ibase_query — Execute a query on an InterBase database

Описание

resource ibase_query ([ resource $link_identifier ], string $query [, int $bind_args ] )

Performs a query on an InterBase database.

Список параметров

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

query

An InterBase query.

bind_args

Возвращаемые значения

If the query raises an error, returns FALSE. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns TRUE.

Замечание:

In PHP 5.0.0 and up, this function will return the number of rows affected by the query for INSERT, UPDATE and DELETE statements. In order to retain backward compatibility, it will return TRUE for these statements if the query succeeded without affecting any rows.

Ошибки

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

Список изменений

Версия | Описание
5.3.1 | On success the function now returns TRUE if there were no affected rows, where it previously returned 0 (a zero followed by an empty space).

Примеры

Пример #1 ibase_query() example

<?php

$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

Смотрите также

  • ibase_errmsg() - Return error messages
  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_object() - Get an object from a InterBase database
  • ibase_free_result() - Free a result set

ibase_prepare
ibase_restore
Firebird/InterBase Функции


Initiates a restore task in the service manager and returns immediately

ibase_query
ibase_rollback_ret
Firebird/InterBase Функции
PHP Manual

ibase_restore

(PHP 5)

ibase_restore — Initiates a restore task in the service manager and returns immediately

Описание

mixed ibase_restore ( resource $service_handle , string $source_file , string $dest_db [, int $options = 0 [, bool $verbose = false ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ibase_query
ibase_rollback_ret
Firebird/InterBase Функции


Roll back a transaction without closing it

ibase_restore
ibase_rollback
Firebird/InterBase Функции
PHP Manual

ibase_rollback_ret

(PHP 5)

ibase_rollback_ret — Roll back a transaction without closing it

Описание

bool ibase_rollback_ret ([ resource $link_or_trans_identifier = NULL ] )

Rolls back a transaction without closing it.

Список параметров

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_restore
ibase_rollback
Firebird/InterBase Функции


Roll back a transaction

ibase_rollback_ret
ibase_server_info
Firebird/InterBase Функции
PHP Manual

ibase_rollback

(PHP 4, PHP 5)

ibase_rollback — Roll back a transaction

Описание

bool ibase_rollback ([ resource $link_or_trans_identifier = NULL ] )

Rolls back a transaction.

Список параметров

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_rollback_ret
ibase_server_info
Firebird/InterBase Функции


Request information about a database server

ibase_rollback
ibase_service_attach
Firebird/InterBase Функции
PHP Manual

ibase_server_info

(PHP 5)

ibase_server_info — Request information about a database server

Описание

string ibase_server_info ( resource $service_handle , int $action )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ibase_rollback
ibase_service_attach
Firebird/InterBase Функции


Connect to the service manager

ibase_server_info
ibase_service_detach
Firebird/InterBase Функции
PHP Manual

ibase_service_attach

(PHP 5)

ibase_service_attach — Connect to the service manager

Описание

resource ibase_service_attach ( string $host , string $dba_username , string $dba_password )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ibase_server_info
ibase_service_detach
Firebird/InterBase Функции


Disconnect from the service manager

ibase_service_attach
ibase_set_event_handler
Firebird/InterBase Функции
PHP Manual

ibase_service_detach

(PHP 5)

ibase_service_detach — Disconnect from the service manager

Описание

bool ibase_service_detach ( resource $service_handle )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ibase_service_attach
ibase_set_event_handler
Firebird/InterBase Функции


Register a callback function to be called when events are posted

ibase_service_detach
ibase_timefmt
Firebird/InterBase Функции
PHP Manual

ibase_set_event_handler

(PHP 5)

ibase_set_event_handler — Register a callback function to be called when events are posted

Описание

resource ibase_set_event_handler ( callback $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )
resource ibase_set_event_handler ( resource $connection , callback $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )

This function registers a PHP user function as event handler for the specified events.

Список параметров

event_handler

The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database.

The callback must return FALSE if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments.

event_name1

An event name.

event_name2

At most 15 events allowed.

Возвращаемые значения

The return value is an event resource. This resource can be used to free the event handler using ibase_free_event_handler().

Примеры

Пример #1 ibase_set_event_handler() example

<?php

function event_handler($event_name, $link)
{
    if ($event_name == "NEW ORDER") {
        // process new order
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name == "DB_SHUTDOWN") {
        // free event handler
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

Смотрите также

  • ibase_free_event_handler() - Cancels a registered event handler
  • ibase_wait_event() - Wait for an event to be posted by the database

ibase_service_detach
ibase_timefmt
Firebird/InterBase Функции


Sets the format of timestamp, date and time type columns returned from queries

ibase_set_event_handler
ibase_trans
Firebird/InterBase Функции
PHP Manual

ibase_timefmt

(PHP 4)

ibase_timefmt — Sets the format of timestamp, date and time type columns returned from queries

Описание

bool ibase_timefmt ( string $format [, int $columntype = IBASE_TIMESTAMP ] )

Sets the format of timestamp, date or time type columns returned from queries.

You can set defaults for these formats with the PHP configuration directives ibase.timestampformat, ibase.dateformat and ibase.timeformat.

Замечание:

This function has been removed from PHP 5, use ini_set() instead.

Список параметров

format

Internally, the columns are formatted by c-function strftime(), so refer to its documentation regarding to the format of the string.

columntype

columntype is one of the constants IBASE_TIMESTAMP, IBASE_DATE and IBASE_TIME. If omitted, defaults to IBASE_TIMESTAMP for backwards compatibility.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 ibase_timefmt() example

<?php
/* InterBase 6 TIME-type columns will be returned in
 * the form '05 hours 37 minutes'. */
ibase_timefmt("%H hours %M minutes", IBASE_TIME);
?>

ibase_set_event_handler
ibase_trans
Firebird/InterBase Функции


Begin a transaction

ibase_timefmt
ibase_wait_event
Firebird/InterBase Функции
PHP Manual

ibase_trans

(PHP 4, PHP 5)

ibase_trans — Begin a transaction

Описание

resource ibase_trans ([ int $trans_args [, resource $link_identifier ]] )
resource ibase_trans ([ resource $link_identifier [, int $trans_args ]] )

Begins a transaction.

Замечание:

The behaviour of this function has been changed in PHP 5.0.0. The first call to ibase_trans() will not return the default transaction of a connection. All transactions started by ibase_trans() will be rolled back at the end of the script if they were not committed or rolled back by either ibase_commit() or ibase_rollback().

Замечание:

In PHP 5.0.0. and up, this function will accept multiple trans_args and link_identifier arguments. This allows transactions over multiple database connections, which are committed using a 2-phase commit algorithm. This means you can rely on the updates to either succeed in every database, or fail in every database. It does NOT mean you can use tables from different databases in the same query!

If you use transactions over multiple databases, you will have to specify both the link_id and transaction_id in calls to ibase_query() and ibase_prepare().

Список параметров

trans_args

trans_args can be a combination of IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Возвращаемые значения

Returns a transaction handle, or FALSE on error.

ibase_timefmt
ibase_wait_event
Firebird/InterBase Функции


Wait for an event to be posted by the database

ibase_trans
FrontBase
Firebird/InterBase Функции
PHP Manual

ibase_wait_event

(PHP 5)

ibase_wait_event — Wait for an event to be posted by the database

Описание

string ibase_wait_event ( string $event_name1 [, string $event_name2 [, string $... ]] )
string ibase_wait_event ( resource $connection , string $event_name1 [, string $event_name2 [, string $... ]] )

This function suspends execution of the script until one of the specified events is posted by the database. The name of the event that was posted is returned. This function accepts up to 15 event arguments.

Список параметров

event_name1

The event name.

event_name2

...

Возвращаемые значения

Returns the name of the event that was posted.

Смотрите также

  • ibase_set_event_handler() - Register a callback function to be called when events are posted
  • ibase_free_event_handler() - Cancels a registered event handler

ibase_trans
FrontBase
Firebird/InterBase Функции


FrontBase

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • FrontBase Функции
    • fbsql_affected_rows — Get number of affected rows in previous FrontBase operation
    • fbsql_autocommit — Enable or disable autocommit
    • fbsql_blob_size — Get the size of a BLOB
    • fbsql_change_user — Change logged in user of the active connection
    • fbsql_clob_size — Get the size of a CLOB
    • fbsql_close — Close FrontBase connection
    • fbsql_commit — Commits a transaction to the database
    • fbsql_connect — Open a connection to a FrontBase Server
    • fbsql_create_blob — Create a BLOB
    • fbsql_create_clob — Create a CLOB
    • fbsql_create_db — Create a FrontBase database
    • fbsql_data_seek — Move internal result pointer
    • fbsql_database_password — Sets or retrieves the password for a FrontBase database
    • fbsql_database — Get or set the database name used with a connection
    • fbsql_db_query — Send a FrontBase query
    • fbsql_db_status — Get the status for a given database
    • fbsql_drop_db — Drop (delete) a FrontBase database
    • fbsql_errno — Returns the error number from previous operation
    • fbsql_error — Returns the error message from previous operation
    • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • fbsql_fetch_assoc — Fetch a result row as an associative array
    • fbsql_fetch_field — Get column information from a result and return as an object
    • fbsql_fetch_lengths — Get the length of each output in a result
    • fbsql_fetch_object — Fetch a result row as an object
    • fbsql_fetch_row — Get a result row as an enumerated array
    • fbsql_field_flags — Get the flags associated with the specified field in a result
    • fbsql_field_len — Returns the length of the specified field
    • fbsql_field_name — Get the name of the specified field in a result
    • fbsql_field_seek — Set result pointer to a specified field offset
    • fbsql_field_table — Get name of the table the specified field is in
    • fbsql_field_type — Get the type of the specified field in a result
    • fbsql_free_result — Free result memory
    • fbsql_get_autostart_info — Описание
    • fbsql_hostname — Get or set the host name used with a connection
    • fbsql_insert_id — Get the id generated from the previous INSERT operation
    • fbsql_list_dbs — List databases available on a FrontBase server
    • fbsql_list_fields — List FrontBase result fields
    • fbsql_list_tables — List tables in a FrontBase database
    • fbsql_next_result — Move the internal result pointer to the next result
    • fbsql_num_fields — Get number of fields in result
    • fbsql_num_rows — Get number of rows in result
    • fbsql_password — Get or set the user password used with a connection
    • fbsql_pconnect — Open a persistent connection to a FrontBase Server
    • fbsql_query — Send a FrontBase query
    • fbsql_read_blob — Read a BLOB from the database
    • fbsql_read_clob — Read a CLOB from the database
    • fbsql_result — Get result data
    • fbsql_rollback — Rollback a transaction to the database
    • fbsql_rows_fetched — Get the number of rows affected by the last statement
    • fbsql_select_db — Select a FrontBase database
    • fbsql_set_characterset — Change input/output character set
    • fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set
    • fbsql_set_password — Change the password for a given user
    • fbsql_set_transaction — Set the transaction locking and isolation
    • fbsql_start_db — Start a database on local or remote server
    • fbsql_stop_db — Stop a database on local or remote server
    • fbsql_table_name — Get table name of field
    • fbsql_tablename — Псевдоним fbsql_table_name
    • fbsql_username — Get or set the username for the connection
    • fbsql_warnings — Enable or disable FrontBase warnings
ibase_wait_event
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions allow you to access FrontBase database servers. More information about FrontBase can be found at » http://www.frontbase.com/.

Documentation for FrontBase can be found at » http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite.woa.

Frontbase support has been added to PHP 4.0.6.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0.

FrontBase
Установка и настройка
FrontBase


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FrontBase


Требования

You must install the FrontBase database server or at least the fbsql client libraries to use this functions. You can get FrontBase from » http://www.frontbase.com/.

Установка и настройка
Установка
Установка и настройка


Установка

In order to have these functions available, you must compile PHP with fbsql support by using the --with-fbsql[=DIR] option. If you use this option without specifying the path to fbsql, PHP will search for the fbsql client libraries in the default installation location for the platform. Users who installed FrontBase in a non standard directory should always specify the path to fbsql: --with-fbsql=/path/to/fbsql . This will force PHP to use the client libraries installed by FrontBase, avoiding any conflicts.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

FrontBase configuration options
Name | Default | Changeable | Changelog
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Available since PHP 4.2.0. Removed in PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FBSQL_ASSOC (integer)
FBSQL_NUM (integer)
FBSQL_BOTH (integer)
FBSQL_LOCK_DEFERRED (integer)
FBSQL_LOCK_OPTIMISTIC (integer)
FBSQL_LOCK_PESSIMISTIC (integer)
FBSQL_ISO_READ_UNCOMMITTED (integer)
FBSQL_ISO_READ_COMMITTED (integer)
FBSQL_ISO_REPEATABLE_READ (integer)
FBSQL_ISO_SERIALIZABLE (integer)
FBSQL_ISO_VERSIONED (integer)
FBSQL_UNKNOWN (integer)
FBSQL_STOPPED (integer)
FBSQL_STARTING (integer)
FBSQL_RUNNING (integer)
FBSQL_STOPPING (integer)
FBSQL_NOEXEC (integer)
FBSQL_LOB_DIRECT (integer)
FBSQL_LOB_HANDLE (integer)
Типы ресурсов
FrontBase Функции
FrontBase


FrontBase Функции

Содержание

  • fbsql_affected_rows — Get number of affected rows in previous FrontBase operation
  • fbsql_autocommit — Enable or disable autocommit
  • fbsql_blob_size — Get the size of a BLOB
  • fbsql_change_user — Change logged in user of the active connection
  • fbsql_clob_size — Get the size of a CLOB
  • fbsql_close — Close FrontBase connection
  • fbsql_commit — Commits a transaction to the database
  • fbsql_connect — Open a connection to a FrontBase Server
  • fbsql_create_blob — Create a BLOB
  • fbsql_create_clob — Create a CLOB
  • fbsql_create_db — Create a FrontBase database
  • fbsql_data_seek — Move internal result pointer
  • fbsql_database_password — Sets or retrieves the password for a FrontBase database
  • fbsql_database — Get or set the database name used with a connection
  • fbsql_db_query — Send a FrontBase query
  • fbsql_db_status — Get the status for a given database
  • fbsql_drop_db — Drop (delete) a FrontBase database
  • fbsql_errno — Returns the error number from previous operation
  • fbsql_error — Returns the error message from previous operation
  • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc — Fetch a result row as an associative array
  • fbsql_fetch_field — Get column information from a result and return as an object
  • fbsql_fetch_lengths — Get the length of each output in a result
  • fbsql_fetch_object — Fetch a result row as an object
  • fbsql_fetch_row — Get a result row as an enumerated array
  • fbsql_field_flags — Get the flags associated with the specified field in a result
  • fbsql_field_len — Returns the length of the specified field
  • fbsql_field_name — Get the name of the specified field in a result
  • fbsql_field_seek — Set result pointer to a specified field offset
  • fbsql_field_table — Get name of the table the specified field is in
  • fbsql_field_type — Get the type of the specified field in a result
  • fbsql_free_result — Free result memory
  • fbsql_get_autostart_info — Описание
  • fbsql_hostname — Get or set the host name used with a connection
  • fbsql_insert_id — Get the id generated from the previous INSERT operation
  • fbsql_list_dbs — List databases available on a FrontBase server
  • fbsql_list_fields — List FrontBase result fields
  • fbsql_list_tables — List tables in a FrontBase database
  • fbsql_next_result — Move the internal result pointer to the next result
  • fbsql_num_fields — Get number of fields in result
  • fbsql_num_rows — Get number of rows in result
  • fbsql_password — Get or set the user password used with a connection
  • fbsql_pconnect — Open a persistent connection to a FrontBase Server
  • fbsql_query — Send a FrontBase query
  • fbsql_read_blob — Read a BLOB from the database
  • fbsql_read_clob — Read a CLOB from the database
  • fbsql_result — Get result data
  • fbsql_rollback — Rollback a transaction to the database
  • fbsql_rows_fetched — Get the number of rows affected by the last statement
  • fbsql_select_db — Select a FrontBase database
  • fbsql_set_characterset — Change input/output character set
  • fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set
  • fbsql_set_password — Change the password for a given user
  • fbsql_set_transaction — Set the transaction locking and isolation
  • fbsql_start_db — Start a database on local or remote server
  • fbsql_stop_db — Stop a database on local or remote server
  • fbsql_table_name — Get table name of field
  • fbsql_tablename — Псевдоним fbsql_table_name
  • fbsql_username — Get or set the username for the connection
  • fbsql_warnings — Enable or disable FrontBase warnings
Предопределенные константы
fbsql_affected_rows
FrontBase


Get number of affected rows in previous FrontBase operation

FrontBase Функции
fbsql_autocommit
FrontBase Функции
PHP Manual

fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_affected_rows — Get number of affected rows in previous FrontBase operation

Описание

int fbsql_affected_rows ([ resource $link_identifier ] )

fbsql_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query associated with link_identifier.

Замечание:

If you are using transactions, you need to call fbsql_affected_rows() after your INSERT, UPDATE, or DELETE query, not after the commit.

If the last query was a DELETE query with no WHERE clause, all of the records will have been deleted from the table but this function will return zero.

Замечание:

When using UPDATE, FrontBase will not update columns where the new value is the same as the old value. This creates the possibility that fbsql_affected_rows() may not actually equal the number of rows matched, only the number of rows that were literally affected by the query.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

If the last query failed, this function will return -1.

Смотрите также

  • fbsql_num_rows() - Get number of rows in result

FrontBase Функции
fbsql_autocommit
FrontBase Функции


Enable or disable autocommit

fbsql_affected_rows
fbsql_blob_size
FrontBase Функции
PHP Manual

fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_autocommit — Enable or disable autocommit

Описание

bool fbsql_autocommit ( resource $link_identifier [, bool $OnOff ] )

Returns the current autocommit status.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

OnOff

If this optional parameter is given the auto commit status will be changed.

With OnOff set to TRUE each statement will be committed automatically, if no errors was found.

With OnOff set to FALSE the user must commit or rollback the transaction using either fbsql_commit() or fbsql_rollback().

Возвращаемые значения

Returns the current autocommit status, as a boolean.

Смотрите также

  • fbsql_commit() - Commits a transaction to the database
  • fbsql_rollback() - Rollback a transaction to the database

fbsql_affected_rows
fbsql_blob_size
FrontBase Функции


Get the size of a BLOB

fbsql_autocommit
fbsql_change_user
FrontBase Функции
PHP Manual

fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_blob_size — Get the size of a BLOB

Описание

int fbsql_blob_size ( string $blob_handle [, resource $link_identifier ] )

Returns the size of the given BLOB.

Список параметров

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns the BLOB size as an integer, or FALSE on error.

Смотрите также

  • fbsql_clob_size() - Get the size of a CLOB

fbsql_autocommit
fbsql_change_user
FrontBase Функции


Change logged in user of the active connection

fbsql_blob_size
fbsql_clob_size
FrontBase Функции
PHP Manual

fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5)

fbsql_change_user — Change logged in user of the active connection

Описание

bool fbsql_change_user ( string $user , string $password [, string $database [, resource $link_identifier ]] )

fbsql_change_user() changes the logged in user of the specified connection. If the new user and password authorization fails, the current connected user stays active.

Список параметров

user

The new user name.

password

The new user password.

database

If specified, this will be the default or current database after the user has been changed.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fbsql_blob_size
fbsql_clob_size
FrontBase Функции


Get the size of a CLOB

fbsql_change_user
fbsql_close
FrontBase Функции
PHP Manual

fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_clob_size — Get the size of a CLOB

Описание

int fbsql_clob_size ( string $clob_handle [, resource $link_identifier ] )

Returns the size of the given CLOB.

Список параметров

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns the CLOB size as an integer, or FALSE on error.

Смотрите также

  • fbsql_blob_size() - Get the size of a BLOB

fbsql_change_user
fbsql_close
FrontBase Функции


Close FrontBase connection

fbsql_clob_size
fbsql_commit
FrontBase Функции
PHP Manual

fbsql_close

(PHP 4 >= 4.0.6, PHP 5)

fbsql_close — Close FrontBase connection

Описание

bool fbsql_close ([ resource $link_identifier ] )

Closes the connection to the FrontBase server that's associated with the specified link identifier.

Using fbsql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 fbsql_close() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);
?>

Смотрите также

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server

fbsql_clob_size
fbsql_commit
FrontBase Функции


Commits a transaction to the database

fbsql_close
fbsql_connect
FrontBase Функции
PHP Manual

fbsql_commit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_commit — Commits a transaction to the database

Описание

bool fbsql_commit ([ resource $link_identifier ] )

Ends the current transaction by writing all inserts, updates and deletes to the disk and unlocking all row and table locks held by the transaction. This command is only needed if autocommit is set to false.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_autocommit() - Enable or disable autocommit
  • fbsql_rollback() - Rollback a transaction to the database

fbsql_close
fbsql_connect
FrontBase Функции


Open a connection to a FrontBase Server

fbsql_commit
fbsql_create_blob
FrontBase Функции
PHP Manual

fbsql_connect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_connect — Open a connection to a FrontBase Server

Описание

 resource fbsql_connect
  ([ string $hostname = ini_get("fbsql.default_host")
 [, string $username = ini_get("fbsql.default_user")
 [, string $password = ini_get("fbsql.default_password")
]]] )

fbsql_connect() establishes a connection to a FrontBase server.

If a second call is made to fbsql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling fbsql_close().

Список параметров

hostname

The server host name.

username

The user name for the connection.

password

The password for the connection.

Возвращаемые значения

Returns a positive FrontBase link identifier on success, or FALSE on errors.

Примеры

Пример #1 fbsql_connect() example

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);

?>

Смотрите также

  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_close() - Close FrontBase connection

fbsql_commit
fbsql_create_blob
FrontBase Функции


Create a BLOB

fbsql_connect
fbsql_create_clob
FrontBase Функции
PHP Manual

fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_blob — Create a BLOB

Описание

string fbsql_create_blob ( string $blob_data [, resource $link_identifier ] )

Creates a BLOB from the given data.

Список параметров

blob_data

The BLOB data.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a resource handle to the newly created BLOB, which can be used with insert and update commands to store the BLOB in the database.

Примеры

Пример #1 fbsql_create_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

Смотрите также

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set

fbsql_connect
fbsql_create_clob
FrontBase Функции


Create a CLOB

fbsql_create_blob
fbsql_create_db
FrontBase Функции
PHP Manual

fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_clob — Create a CLOB

Описание

string fbsql_create_clob ( string $clob_data [, resource $link_identifier ] )

Creates a CLOB from the given data.

Список параметров

clob_data

The CLOB data.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a resource handle to the newly created CLOB, which can be used with insert and update commands to store the CLOB in the database.

Примеры

Пример #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

Смотрите также

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set

fbsql_create_blob
fbsql_create_db
FrontBase Функции


Create a FrontBase database

fbsql_create_clob
fbsql_data_seek
FrontBase Функции
PHP Manual

fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_create_db — Create a FrontBase database

Описание

bool fbsql_create_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Attempts to create a new database on the specified server.

Список параметров

database_name

The database name, as a string.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

database_options

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 fbsql_create_db() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
if (fbsql_create_db("my_db")) {
    echo "Database created successfully\n";
} else {
    printf("Error creating database: %s\n", fbsql_error());
}
?>

Смотрите также

  • fbsql_drop_db() - Drop (delete) a FrontBase database

fbsql_create_clob
fbsql_data_seek
FrontBase Функции


Move internal result pointer

fbsql_create_db
fbsql_database_password
FrontBase Функции
PHP Manual

fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_data_seek — Move internal result pointer

Описание

bool fbsql_data_seek ( resource $result , int $row_number )

Moves the internal row pointer of the FrontBase result associated with the specified result identifier to point to the specified row number.

The next call to fbsql_fetch_row() would return that row.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

row_number

The row number. Starts at 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 fbsql_data_seek() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");

fbsql_select_db("samp_db")
    or die("Could not select database");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Query failed");

// fetch rows in reverse order

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Cannot seek to row %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>

fbsql_create_db
fbsql_database_password
FrontBase Функции


Sets or retrieves the password for a FrontBase database

fbsql_data_seek
fbsql_database
FrontBase Функции
PHP Manual

fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database_password — Sets or retrieves the password for a FrontBase database

Описание

string fbsql_database_password ( resource $link_identifier [, string $database_password ] )

Sets and retrieves the database password used by the connection. If a database is protected by a database password, the user must call this function before calling fbsql_select_db().

If no link is open, the function will try to establish a link as if fbsql_connect() was called, and use it.

This function does not change the database password in the database nor can it be used to retrieve the database password for a database.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

database_password

The database password, as a string. If given, the function sets the database password for the specified link identifier.

Возвращаемые значения

Returns the database password associated with the link identifier.

Примеры

Пример #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Смотрите также

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_select_db() - Select a FrontBase database

fbsql_data_seek
fbsql_database
FrontBase Функции


Get or set the database name used with a connection

fbsql_database_password
fbsql_db_query
FrontBase Функции
PHP Manual

fbsql_database

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database — Get or set the database name used with a connection

Описание

string fbsql_database ( resource $link_identifier [, string $database ] )

Get or set the database name used with the connection.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

database

The database name. If given, the default database of the connexion will be changed to database.

Возвращаемые значения

Returns the name of the database used with this connection.

fbsql_database_password
fbsql_db_query
FrontBase Функции


Send a FrontBase query

fbsql_database
fbsql_db_status
FrontBase Функции
PHP Manual

fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_db_query — Send a FrontBase query

Описание

resource fbsql_db_query ( string $database , string $query [, resource $link_identifier ] )

Selects a database and executes a query on it.

Список параметров

database

The database to be selected.

query

The SQL query to be executed.

Замечание:

The query string shall always end with a semicolon.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a positive FrontBase result identifier to the query result, or FALSE on error.

Смотрите также

  • fbsql_query() - Send a FrontBase query
  • fbsql_connect() - Open a connection to a FrontBase Server

fbsql_database
fbsql_db_status
FrontBase Функции


Get the status for a given database

fbsql_db_query
fbsql_drop_db
FrontBase Функции
PHP Manual

fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5)

fbsql_db_status — Get the status for a given database

Описание

int fbsql_db_status ( string $database_name [, resource $link_identifier ] )

Gets the current status of the specified database.

Список параметров

database_name

The database name.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns an integer value with the current status. This can be one of the following constants:

  • FALSE - The exec handler for the host was invalid. This error will occur when the link_identifier connects directly to a database by using a port number. FBExec can be available on the server but no connection has been made for it.
  • FBSQL_UNKNOWN - The Status is unknown.
  • FBSQL_STOPPED - The database is not running. Use fbsql_start_db() to start the database.
  • FBSQL_STARTING - The database is starting.
  • FBSQL_RUNNING - The database is running and can be used to perform SQL operations.
  • FBSQL_STOPPING - The database is stopping.
  • FBSQL_NOEXEC - FBExec is not running on the server and it is not possible to get the status of the database.

Смотрите также

  • fbsql_start_db() - Start a database on local or remote server
  • fbsql_stop_db() - Stop a database on local or remote server

fbsql_db_query
fbsql_drop_db
FrontBase Функции


Drop (delete) a FrontBase database

fbsql_db_status
fbsql_errno
FrontBase Функции
PHP Manual

fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_drop_db — Drop (delete) a FrontBase database

Описание

bool fbsql_drop_db ( string $database_name [, resource $link_identifier ] )

fbsql_drop_db() attempts to drop (remove) an entire database from the server associated with the specified link identifier.

Список параметров

database_name

The database name, as a string.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_create_db() - Create a FrontBase database

fbsql_db_status
fbsql_errno
FrontBase Функции


Returns the error number from previous operation

fbsql_drop_db
fbsql_error
FrontBase Функции
PHP Manual

fbsql_errno

(PHP 4 >= 4.0.6, PHP 5)

fbsql_errno — Returns the error number from previous operation

Описание

int fbsql_errno ([ resource $link_identifier ] )

Returns the numerical value of the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_errno() to retrieve the error code. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns the error number from the last fbsql function, or 0 (zero) if no error occurred.

Примеры

Пример #1 fbsql_errno() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Смотрите также

  • fbsql_error() - Returns the error message from previous operation
  • fbsql_warnings() - Enable or disable FrontBase warnings

fbsql_drop_db
fbsql_error
FrontBase Функции


Returns the error message from previous operation

fbsql_errno
fbsql_fetch_array
FrontBase Функции
PHP Manual

fbsql_error

(PHP 4 >= 4.0.6, PHP 5)

fbsql_error — Returns the error message from previous operation

Описание

string fbsql_error ([ resource $link_identifier ] )

Returns the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_error() to retrieve the error text. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns the error text from the last fbsql function, or '' (the empty string) if no error occurred.

Примеры

Пример #1 fbsql_error() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Смотрите также

  • fbsql_errno() - Returns the error number from previous operation
  • fbsql_warnings() - Enable or disable FrontBase warnings

fbsql_errno
fbsql_fetch_array
FrontBase Функции


Fetch a result row as an associative array, a numeric array, or both

fbsql_error
fbsql_fetch_assoc
FrontBase Функции
PHP Manual

fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Описание

array fbsql_fetch_array ( resource $result [, int $result_type ] )

fbsql_fetch_array() is a combination of
fbsql_fetch_row() and
fbsql_fetch_assoc().

An important thing to note is that using fbsql_fetch_array() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

result_type

A constant and can take the following values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

When using FBSQL_BOTH, in addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must the numeric index of the column or make an alias for the column.

select t1.f1 as foo t2.f1 as bar from t1, t2

Примеры

Пример #1 fbsql_fetch_array() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Смотрите также

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_error
fbsql_fetch_assoc
FrontBase Функции


Fetch a result row as an associative array

fbsql_fetch_array
fbsql_fetch_field
FrontBase Функции
PHP Manual

fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_assoc — Fetch a result row as an associative array

Описание

array fbsql_fetch_assoc ( resource $result )

Calling fbsql_fetch_assoc() is equivalent to calling fbsql_fetch_array() with FBSQL_ASSOC as second parameter. It only returns an associative array.

This is the way fbsql_fetch_array() originally worked. If you need the numeric indices as well as the associative, use fbsql_fetch_array().

An important thing to note is that using fbsql_fetch_assoc() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use fbsql_fetch_array() and have it return the numeric indices as well.

Примеры

Пример #1 fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

Смотрите также

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_fetch_array
fbsql_fetch_field
FrontBase Функции


Get column information from a result and return as an object

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Функции
PHP Manual

fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_field — Get column information from a result and return as an object

Описание

object fbsql_fetch_field ( resource $result [, int $field_offset ] )

Used in order to obtain information about fields in a certain query result.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0. If not specified, the next field that wasn't yet retrieved by fbsql_fetch_field() is retrieved.

Возвращаемые значения

Returns an object containing field information, or FALSE on errors.

The properties of the object are:

  • name - column name
  • table - name of the table the column belongs to
  • max_length - maximum length of the column
  • not_null - 1 if the column cannot be NULL
  • type - the type of the column

Примеры

Пример #1 fbsql_fetch_field() example

<?php
fbsql_connect($host, $user, $password)
    or die("Could not connect");
$result = fbsql_db_query("database", "select * from table")
    or die("Query failed");
# get column metadata
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Смотрите также

  • fbsql_field_seek() - Set result pointer to a specified field offset

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Функции


Get the length of each output in a result

fbsql_fetch_field
fbsql_fetch_object
FrontBase Функции
PHP Manual

fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_lengths — Get the length of each output in a result

Описание

array fbsql_fetch_lengths ( resource $result )

Stores the lengths of each result column in the last row returned by
fbsql_fetch_row(),
fbsql_fetch_array() and
fbsql_fetch_object() in an array.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns an array, starting at offset 0, that corresponds to the lengths of each field in the last row fetched by fbsql_fetch_row(), or FALSE on error.

Смотрите также

  • fbsql_fetch_row() - Get a result row as an enumerated array

fbsql_fetch_field
fbsql_fetch_object
FrontBase Функции


Fetch a result row as an object

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Функции
PHP Manual

fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_object — Fetch a result row as an object

Описание

object fbsql_fetch_object ( resource $result )

fbsql_fetch_object() is similar to fbsql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to fbsql_fetch_array(), and almost as quick as fbsql_fetch_row() (the difference is insignificant).

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 fbsql_fetch_object() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

Смотрите также

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Функции


Get a result row as an enumerated array

fbsql_fetch_object
fbsql_field_flags
FrontBase Функции
PHP Manual

fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_row — Get a result row as an enumerated array

Описание

array fbsql_fetch_row ( resource $result )

fbsql_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to fbsql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns an array that corresponds to the fetched row where each result column is stored in an offset, starting at offset 0, or FALSE if there are no more rows.

Смотрите также

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object
  • fbsql_data_seek() - Move internal result pointer
  • fbsql_fetch_lengths() - Get the length of each output in a result
  • fbsql_result() - Get result data

fbsql_fetch_object
fbsql_field_flags
FrontBase Функции


Get the flags associated with the specified field in a result

fbsql_fetch_row
fbsql_field_len
FrontBase Функции
PHP Manual

fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_flags — Get the flags associated with the specified field in a result

Описание

string fbsql_field_flags ( resource $result [, int $field_offset ] )

Gets the flags associated with the specified field in a result.

Список параметров

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Returns the field flags of the specified field as a single word per flag separated by a single space, so that you can split the returned value using explode().

fbsql_fetch_row
fbsql_field_len
FrontBase Функции


Returns the length of the specified field

fbsql_field_flags
fbsql_field_name
FrontBase Функции
PHP Manual

fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_len — Returns the length of the specified field

Описание

int fbsql_field_len ( resource $result [, int $field_offset ] )

Returns the length of the specified field.

Список параметров

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Returns the length of the specified field.

fbsql_field_flags
fbsql_field_name
FrontBase Функции


Get the name of the specified field in a result

fbsql_field_len
fbsql_field_seek
FrontBase Функции
PHP Manual

fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_name — Get the name of the specified field in a result

Описание

string fbsql_field_name ( resource $result [, int $field_index ] )

Returns the name of the specified field index.

Список параметров

result

A result pointer returned by fbsql_list_fields().

field_index

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Returns the name as a string, or FALSE if the field doesn't exist.

Примеры

Пример #1 fbsql_field_name() example

<?php
// The users table consists of three fields:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

Результат выполнения данного примера:

user_id
password

Смотрите также

  • fbsql_field_type() - Get the type of the specified field in a result

fbsql_field_len
fbsql_field_seek
FrontBase Функции


Set result pointer to a specified field offset

fbsql_field_name
fbsql_field_table
FrontBase Функции
PHP Manual

fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_seek — Set result pointer to a specified field offset

Описание

bool fbsql_field_seek ( resource $result [, int $field_offset ] )

Seeks to the specified field offset. If the next call to fbsql_fetch_field() doesn't include a field offset, the field offset specified in fbsql_field_seek() will be returned.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_fetch_field() - Get column information from a result and return as an object

fbsql_field_name
fbsql_field_table
FrontBase Функции


Get name of the table the specified field is in

fbsql_field_seek
fbsql_field_type
FrontBase Функции
PHP Manual

fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_table — Get name of the table the specified field is in

Описание

string fbsql_field_table ( resource $result [, int $field_offset ] )

Returns the name of the table that the specified field is in.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Returns the name of the table, as a string.

fbsql_field_seek
fbsql_field_type
FrontBase Функции


Get the type of the specified field in a result

fbsql_field_table
fbsql_free_result
FrontBase Функции
PHP Manual

fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_type — Get the type of the specified field in a result

Описание

string fbsql_field_type ( resource $result [, int $field_offset ] )

fbsql_field_type() is similar to the fbsql_field_name() function, but the field type is returned instead.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

field_offset

The numerical offset of the field. The field index starts at 0.

Возвращаемые значения

Returns the field type, as a string.

This can be one of int, real, string, blob, and others as detailed in the » FrontBase documentation.

Примеры

Пример #1 fbsql_field_type() example

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " records <br />";
echo "The table has the following fields <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Смотрите также

  • fbsql_field_name() - Get the name of the specified field in a result

fbsql_field_table
fbsql_free_result
FrontBase Функции


Free result memory

fbsql_field_type
fbsql_get_autostart_info
FrontBase Функции
PHP Manual

fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_free_result — Free result memory

Описание

bool fbsql_free_result ( resource $result )

Frees all memory associated with the given result identifier.

fbsql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fbsql_field_type
fbsql_get_autostart_info
FrontBase Функции


fbsql_free_result
fbsql_hostname
FrontBase Функции
PHP Manual

fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5)

fbsql_get_autostart_info —

Описание

array fbsql_get_autostart_info ([ resource $link_identifier ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

fbsql_free_result
fbsql_hostname
FrontBase Функции


Get or set the host name used with a connection

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Функции
PHP Manual

fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5)

fbsql_hostname — Get or set the host name used with a connection

Описание

string fbsql_hostname ( resource $link_identifier [, string $host_name ] )

Gets or sets the host name used with a connection.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

host_name

If provided, this will be the new connection host name.

Возвращаемые значения

Returns the current host name used for the connection.

Смотрите также

  • fbsql_username() - Get or set the username for the connection
  • fbsql_password() - Get or set the user password used with a connection

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Функции


Get the id generated from the previous INSERT operation

fbsql_hostname
fbsql_list_dbs
FrontBase Функции
PHP Manual

fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5)

fbsql_insert_id — Get the id generated from the previous INSERT operation

Описание

int fbsql_insert_id ([ resource $link_identifier ] )

Gets the id generated from the previous INSERT operation which created a DEFAULT UNIQUE value.

Замечание:

The value of the FrontBase SQL function fbsql_insert_id() always contains the most recently generated DEFAULT UNIQUE value, and is not reset between queries.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns the ID generated from the previous INSERT query, or 0 if the previous query does not generate an DEFAULT UNIQUE value.

If you need to save the value for later, be sure to call this function immediately after the query that generates the value.

Смотрите также

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation

fbsql_hostname
fbsql_list_dbs
FrontBase Функции


List databases available on a FrontBase server

fbsql_insert_id
fbsql_list_fields
FrontBase Функции
PHP Manual

fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_dbs — List databases available on a FrontBase server

Описание

resource fbsql_list_dbs ([ resource $link_identifier ] )

Return a result pointer containing the databases available from the current fbsql daemon. Use the fbsql_tablename() to traverse this result pointer.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a result pointer or FALSE on error.

Примеры

Пример #1 fbsql_list_dbs() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

database1
database2
database3
...

Замечание:

The above code would just as easily work with fbsql_fetch_row() or other similar functions.

Смотрите также

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_tables() - List tables in a FrontBase database

fbsql_insert_id
fbsql_list_fields
FrontBase Функции


List FrontBase result fields

fbsql_list_dbs
fbsql_list_tables
FrontBase Функции
PHP Manual

fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_fields — List FrontBase result fields

Описание

resource fbsql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Retrieves information about the given table.

Список параметров

database_name

The database name.

table_name

The table name.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.

Ошибки

A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will also be printed out.

Примеры

Пример #1 fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

Результатом выполнения данного примера будет что-то подобное:

field1
field2
field3
...

Смотрите также

  • fbsql_field_len() - Returns the length of the specified field
  • fbsql_field_name() - Get the name of the specified field in a result
  • fbsql_field_type() - Get the type of the specified field in a result
  • fbsql_field_flags() - Get the flags associated with the specified field in a result

fbsql_list_dbs
fbsql_list_tables
FrontBase Функции


List tables in a FrontBase database

fbsql_list_fields
fbsql_next_result
FrontBase Функции
PHP Manual

fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_tables — List tables in a FrontBase database

Описание

resource fbsql_list_tables ( string $database [, resource $link_identifier ] )

Returns a result pointer describing the database.

Список параметров

database

The database name.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a result pointer which can be used with the fbsql_tablename() function to read the actual table names, or FALSE on error.

Смотрите также

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_dbs() - List databases available on a FrontBase server

fbsql_list_fields
fbsql_next_result
FrontBase Функции


Move the internal result pointer to the next result

fbsql_list_tables
fbsql_num_fields
FrontBase Функции
PHP Manual

fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_next_result — Move the internal result pointer to the next result

Описание

bool fbsql_next_result ( resource $result )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the words from the new result set.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns TRUE if an additional result set was available or FALSE otherwise.

Примеры

Пример #1 fbsql_next_result() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close($link);
?>

fbsql_list_tables
fbsql_num_fields
FrontBase Функции


Get number of fields in result

fbsql_next_result
fbsql_num_rows
FrontBase Функции
PHP Manual

fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_fields — Get number of fields in result

Описание

int fbsql_num_fields ( resource $result )

Returns the number of fields in the given result set.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns the number of fields, as an integer.

Смотрите также

  • fbsql_db_query() - Send a FrontBase query
  • fbsql_query() - Send a FrontBase query
  • fbsql_fetch_field() - Get column information from a result and return as an object
  • fbsql_num_rows() - Get number of rows in result

fbsql_next_result
fbsql_num_rows
FrontBase Функции


Get number of rows in result

fbsql_num_fields
fbsql_password
FrontBase Функции
PHP Manual

fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_rows — Get number of rows in result

Описание

int fbsql_num_rows ( resource $result )

Gets the number of rows in the given result set.

This function is only valid for SELECT statements. To retrieve the number of rows returned from a INSERT, UPDATE or DELETE query, use fbsql_affected_rows().

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns the number of rows returned by the last SELECT statement.

Примеры

Пример #1 fbsql_num_rows() example

<?php

$link = fbsql_connect("localhost", "username", "password");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Rows\n";

?>

Смотрите также

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation
  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_select_db() - Select a FrontBase database
  • fbsql_query() - Send a FrontBase query

fbsql_num_fields
fbsql_password
FrontBase Функции


Get or set the user password used with a connection

fbsql_num_rows
fbsql_pconnect
FrontBase Функции
PHP Manual

fbsql_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_password — Get or set the user password used with a connection

Описание

string fbsql_password ( resource $link_identifier [, string $password ] )

Get or set the user password used with a connection.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

password

If provided, this will be the new connection password.

Возвращаемые значения

Returns the current password used for the connection.

Смотрите также

  • fbsql_username() - Get or set the username for the connection
  • fbsql_hostname() - Get or set the host name used with a connection

fbsql_num_rows
fbsql_pconnect
FrontBase Функции


Open a persistent connection to a FrontBase Server

fbsql_password
fbsql_query
FrontBase Функции
PHP Manual

fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_pconnect — Open a persistent connection to a FrontBase Server

Описание

 resource fbsql_pconnect
  ([ string $hostname = ini_get("fbsql.default_host")
 [, string $username = ini_get("fbsql.default_user")
 [, string $password = ini_get("fbsql.default_password")
]]] )

Establishes a persistent connection to a FrontBase server.

To set the server port number, use fbsql_select_db().

fbsql_pconnect() acts very much like fbsql_connect() with two major differences:

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use.

This type of links is therefore called 'persistent'.

Список параметров

hostname

The server host name.

username

The user name for the connection.

password

The password for the connection.

Возвращаемые значения

Returns a positive FrontBase persistent link identifier on success, or FALSE on error.

Смотрите также

  • fbsql_connect() - Open a connection to a FrontBase Server

fbsql_password
fbsql_query
FrontBase Функции


Send a FrontBase query

fbsql_pconnect
fbsql_read_blob
FrontBase Функции
PHP Manual

fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query — Send a FrontBase query

Описание

resource fbsql_query ( string $query [, resource $link_identifier [, int $batch_size ]] )

Sends a query to the currently active database on the server.

If the query succeeds, you can call fbsql_num_rows() to find out how many rows were returned for a SELECT statement or fbsql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

Список параметров

query

The SQL query to be executed.

Замечание:

The query string shall always end with a semicolon.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

batch_size

Возвращаемые значения

fbsql_query() returns TRUE (non-zero) or FALSE to indicate whether or not the query succeeded. A return value of TRUE means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result().

fbsql_query() will also fail and return FALSE if you don't have permission to access the table(s) referenced by the query.

Примеры

The following query is syntactically invalid, so fbsql_query() fails and returns FALSE:

Пример #1 fbsql_query() example

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>

The following query is semantically invalid if my_col is not a column in the table my_tbl, so fbsql_query() fails and returns FALSE:

Пример #2 fbsql_query() example

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Invalid query");
?>

Смотрите также

  • fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation
  • fbsql_db_query() - Send a FrontBase query
  • fbsql_free_result() - Free result memory
  • fbsql_result() - Get result data
  • fbsql_select_db() - Select a FrontBase database
  • fbsql_connect() - Open a connection to a FrontBase Server

fbsql_pconnect
fbsql_read_blob
FrontBase Функции


Read a BLOB from the database

fbsql_query
fbsql_read_clob
FrontBase Функции
PHP Manual

fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_blob — Read a BLOB from the database

Описание

string fbsql_read_blob ( string $blob_handle [, resource $link_identifier ] )

Reads BLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_blob() to get the actual BLOB data from the database.

Список параметров

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a string containing the specified BLOB data.

Примеры

Пример #1 fbsql_read_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the blob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the BLOB data in the first row
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Смотрите также

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set

fbsql_query
fbsql_read_clob
FrontBase Функции


Read a CLOB from the database

fbsql_read_blob
fbsql_result
FrontBase Функции
PHP Manual

fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_clob — Read a CLOB from the database

Описание

string fbsql_read_clob ( string $clob_handle [, resource $link_identifier ] )

Reads CLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_clob() to get the actual CLOB data from the database.

Список параметров

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Returns a string containing the specified CLOB data.

Примеры

Пример #1 fbsql_read_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the clob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the CLOB data in the first row
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Смотрите также

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_set_lob_mode() - Set the LOB retrieve mode for a FrontBase result set

fbsql_read_blob
fbsql_result
FrontBase Функции


Get result data

fbsql_read_clob
fbsql_rollback
FrontBase Функции
PHP Manual

fbsql_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_result — Get result data

Описание

mixed fbsql_result ( resource $result [, int $row [, mixed $field ]] )

Returns the contents of one cell from a FrontBase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than fbsql_result().

Calls to fbsql_result() should not be mixed with calls to other functions that deal with the result set.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

row

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname).

If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

Замечание:

Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Возвращаемые значения

Смотрите также

Recommended high-performance alternatives:

  • fbsql_fetch_row() - Get a result row as an enumerated array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_read_clob
fbsql_rollback
FrontBase Функции


Rollback a transaction to the database

fbsql_result
fbsql_rows_fetched
FrontBase Функции
PHP Manual

fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5)

fbsql_rollback — Rollback a transaction to the database

Описание

bool fbsql_rollback ([ resource $link_identifier ] )

Ends the current transaction by rolling back all statements issued since last commit.

This command is only needed if autocommit is set to false.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_autocommit() - Enable or disable autocommit
  • fbsql_commit() - Commits a transaction to the database

fbsql_result
fbsql_rows_fetched
FrontBase Функции


Get the number of rows affected by the last statement

fbsql_rollback
fbsql_select_db
FrontBase Функции
PHP Manual

fbsql_rows_fetched

(PHP 5 >= 5.1.0)

fbsql_rows_fetched — Get the number of rows affected by the last statement

Описание

int fbsql_rows_fetched ( resource $result )

Gets the number of rows affected by the last statement.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

Возвращаемые значения

Returns the number of rows, as an integer.

fbsql_rollback
fbsql_select_db
FrontBase Функции


Select a FrontBase database

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Функции
PHP Manual

fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_select_db — Select a FrontBase database

Описание

bool fbsql_select_db ([ string $database_name [, resource $link_identifier ]] )

Sets the current active database on the given link identifier.

The client contacts FBExec to obtain the port number to use for the connection to the database. If the database name is a number the system will use that as a port number and it will not ask FBExec for the port number. The FrontBase server can be stared as FRontBase -FBExec=No -port=<port number> <database name>.

Every subsequent call to fbsql_query() will be made on the active database.

Список параметров

database_name

The name of the database to be selected.

If the database is protected with a database password, the you must call fbsql_database_password() before selecting the database.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_connect() - Open a connection to a FrontBase Server
  • fbsql_pconnect() - Open a persistent connection to a FrontBase Server
  • fbsql_database_password() - Sets or retrieves the password for a FrontBase database
  • fbsql_query() - Send a FrontBase query

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Функции


Change input/output character set

fbsql_select_db
fbsql_set_lob_mode
FrontBase Функции
PHP Manual

fbsql_set_characterset

(PHP 5 >= 5.1.0)

fbsql_set_characterset — Change input/output character set

Описание

void fbsql_set_characterset ( resource $link_identifier , int $characterset [, int $in_out_both ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

fbsql_select_db
fbsql_set_lob_mode
FrontBase Функции


Set the LOB retrieve mode for a FrontBase result set

fbsql_set_characterset
fbsql_set_password
FrontBase Функции
PHP Manual

fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_lob_mode — Set the LOB retrieve mode for a FrontBase result set

Описание

bool fbsql_set_lob_mode ( resource $result , int $lob_mode )

Sets the mode for retrieving LOB data from the database.

When BLOB and CLOB data is retrieved in FrontBase it can be retrieved direct or indirect. Direct retrieved LOB data will always be fetched no matter the setting of the lob mode. If the LOB data is less than 512 bytes it will always be retrieved directly.

Список параметров

result

Идентификатор результата запроса, полученный из fbsql_query() или fbsql_db_query().

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - LOB data is retrieved directly. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, all CLOB and BLOB columns will be returned as ordinary columns. This is the default value on a new FrontBase result.
  • FBSQL_LOB_HANDLE - LOB data is retrieved as handles to the data. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, LOB data will be returned as a handle to the data if the data is stored indirect or the data if it is stored direct. If a handle is returned it will be a 27 byte string formatted as @'000000000000000000000000'.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_create_blob() - Create a BLOB
  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database

fbsql_set_characterset
fbsql_set_password
FrontBase Функции


Change the password for a given user

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Функции
PHP Manual

fbsql_set_password

(PHP 5)

fbsql_set_password — Change the password for a given user

Описание

bool fbsql_set_password ( resource $link_identifier , string $user , string $password , string $old_password )

Changes the password for the given user.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

user

The user name.

password

The new password to be set.

old_password

The old password to be replaced.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Функции


Set the transaction locking and isolation

fbsql_set_password
fbsql_start_db
FrontBase Функции
PHP Manual

fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_transaction — Set the transaction locking and isolation

Описание

void fbsql_set_transaction ( resource $link_identifier , int $locking , int $isolation )

Sets the transaction locking and isolation.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

locking

The type of locking to be set. It can be one of the following constants: FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.

isolation

The type of isolation to be set. It can be one of the following constants: FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

fbsql_set_password
fbsql_start_db
FrontBase Функции


Start a database on local or remote server

fbsql_set_transaction
fbsql_stop_db
FrontBase Функции
PHP Manual

fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_start_db — Start a database on local or remote server

Описание

bool fbsql_start_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Start a database on local or remote server.

Список параметров

database_name

The database name.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

database_options

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_db_status() - Get the status for a given database
  • fbsql_stop_db() - Stop a database on local or remote server

fbsql_set_transaction
fbsql_stop_db
FrontBase Функции


Stop a database on local or remote server

fbsql_start_db
fbsql_table_name
FrontBase Функции
PHP Manual

fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_stop_db — Stop a database on local or remote server

Описание

bool fbsql_stop_db ( string $database_name [, resource $link_identifier ] )

Stops a database on local or remote server.

Список параметров

database_name

The database name.

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fbsql_db_status() - Get the status for a given database
  • fbsql_start_db() - Start a database on local or remote server

fbsql_start_db
fbsql_table_name
FrontBase Функции


Get table name of field

fbsql_stop_db
fbsql_tablename
FrontBase Функции
PHP Manual

fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5)

fbsql_table_name — Get table name of field

Описание

string fbsql_table_name ( resource $result , int $index )

fbsql_table_name() gets the name of the current table in the given result set.

The fbsql_num_rows() function may be used to determine the number of tables in the result pointer.

Список параметров

result

A result pointer returned by fbsql_list_tables().

index

Integer index for the current table.

Возвращаемые значения

Returns the name of the table, as a string.

Примеры

Пример #1 fbsql_table_name() example

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

fbsql_stop_db
fbsql_tablename
FrontBase Функции


Псевдоним fbsql_table_name

fbsql_table_name
fbsql_username
FrontBase Функции
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename — Псевдоним fbsql_table_name()

Описание

Эта функция является псевдонимом: fbsql_table_name().

fbsql_table_name
fbsql_username
FrontBase Функции


Get or set the username for the connection

fbsql_tablename
fbsql_warnings
FrontBase Функции
PHP Manual

fbsql_username

(PHP 4 >= 4.0.6, PHP 5)

fbsql_username — Get or set the username for the connection

Описание

string fbsql_username ( resource $link_identifier [, string $username ] )

Get or set the username used for the connection.

Список параметров

link_identifier

Идентификатор соединения FrontBase, полученный из fbsql_connect() или fbsql_pconnect().

Если не была указан, то функция попытается найти открытое соединение к серверу FrontBase, в случае неудачи попытается создать новое, как если бы fbsql_connect() была вызвана без аргументов.

username

If provided, this is the new username to set.

Возвращаемые значения

Returns the current username used with the connection, as a string.

Смотрите также

  • fbsql_password() - Get or set the user password used with a connection
  • fbsql_hostname() - Get or set the host name used with a connection

fbsql_tablename
fbsql_warnings
FrontBase Функции


Enable or disable FrontBase warnings

fbsql_username
IBM DB2
FrontBase Функции
PHP Manual

fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5)

fbsql_warnings — Enable or disable FrontBase warnings

Описание

bool fbsql_warnings ([ bool $OnOff ] )

Enables or disables FrontBase warnings.

Список параметров

OnOff

Whether to enable warnings or no.

Возвращаемые значения

Returns TRUE if warnings is turned on, FALSE otherwise.

Смотрите также

  • fbsql_errno() - Returns the error number from previous operation
  • fbsql_error() - Returns the error message from previous operation

fbsql_username
IBM DB2
FrontBase Функции


IBM DB2, Cloudscape and Apache Derby

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • IBM DB2 Функции
    • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param — Binds a PHP variable to an SQL statement parameter
    • db2_client_info — Returns an object with properties that describe the DB2 database client
    • db2_close — Closes a database connection
    • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
    • db2_columns — Returns a result set listing the columns and associated metadata for a table
    • db2_commit — Commits a transaction
    • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
    • db2_connect — Returns a connection to a database
    • db2_cursor_type — Returns the cursor type used by a statement resource
    • db2_escape_string — Used to escape certain characters
    • db2_exec — Executes an SQL statement directly
    • db2_execute — Executes a prepared SQL statement
    • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object — Returns an object with properties representing columns in the fetched row
    • db2_fetch_row — Sets the result set pointer to the next row or requested row
    • db2_field_display_size — Returns the maximum number of bytes required to display a column
    • db2_field_name — Returns the name of the column in the result set
    • db2_field_num — Returns the position of the named column in a result set
    • db2_field_precision — Returns the precision of the indicated column in a result set
    • db2_field_scale — Returns the scale of the indicated column in a result set
    • db2_field_type — Returns the data type of the indicated column in a result set
    • db2_field_width — Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys — Returns a result set listing the foreign keys for a table
    • db2_free_result — Frees resources associated with a result set
    • db2_free_stmt — Frees resources associated with the indicated statement resource
    • db2_get_option — Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read — Gets a user defined size of LOB files with each invocation
    • db2_next_result — Requests the next result set from a stored procedure
    • db2_num_fields — Returns the number of fields contained in a result set
    • db2_num_rows — Returns the number of rows affected by an SQL statement
    • db2_pclose — Closes a persistent database connection
    • db2_pconnect — Returns a persistent connection to a database
    • db2_prepare — Prepares an SQL statement to be executed
    • db2_primary_keys — Returns a result set listing primary keys for a table
    • db2_procedure_columns — Returns a result set listing stored procedure parameters
    • db2_procedures — Returns a result set listing the stored procedures registered in a database
    • db2_result — Returns a single column from a row in the result set
    • db2_rollback — Rolls back a transaction
    • db2_server_info — Returns an object with properties that describe the DB2 database server
    • db2_set_option — Set options for connection or statement resources
    • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
    • db2_statistics — Returns a result set listing the index and statistics for a table
    • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
    • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
    • db2_tables — Returns a result set listing the tables and associated metadata in a database
fbsql_warnings
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).

IBM DB2
Установка и настройка
IBM DB2


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
IBM DB2


Требования

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).

Установка и настройка
Установка
Установка и настройка


Установка

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.

ibm_db2 is a » PECL extension, so follow the instructions in Установка расширений PECL to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Замечание: Note for IIS users

If you are using the ibm_db2 driver with Microsoft Internet Information Server (IIS) you may have to do the following:

  • Install DB2 with extended operating system security.
  • Add the PHP binary path to the PATH system environment variable (default C:\php\).
  • Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
  • Add the IUSR_COMPUTERNAME to the DB2USERS group.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

ibm_db2 Опции настройки
Имя | По умолчанию | Меняемо | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.

Краткое разъяснение конфигурационных директив.

ibm_db2.binmode integer

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect integer

This option overrides i5 db2_connect() full open and close in the PHP application. When ibm_db2.i5_all_pconnect = 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.

  • 0 db2_connect() default full open and close

  • 1 db2_connect() override to db2_pconnect() for persistent connection only

ibm_db2.i5_allow_commit integer

This option controls the commit mode used for i5 schema collections in the PHP application.

  • 0 no commit (see i5_commit for override)

  • 1 allow commit (see i5_commit for override)

ibm_db2.i5_dbcs_alloc integer

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

ibm_db2.i5_ignore_userid integer

This option overrides i5 db2_(p)connect userid and password in the PHP application. When ibm_db2.i5_ignore_userid = 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination with ibm_db2.i5_all_pconnect = 1.

  • 0 db2_(p)connect with specified userid and password

  • 1 db2_(p)connect override connect with null userid and null password

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

The ibm_db2 extension returns connection resources, statement resources, and result set resources.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

DB2_BINARY (integer)
Specifies that binary data shall be returned as is. This is the default mode.
DB2_CONVERT (integer)
Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.
DB2_PASSTHRU (integer)
Specifies that binary data shall be converted to a NULL value.
DB2_SCROLLABLE (integer)
Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.
DB2_FORWARD_ONLY (integer)
Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.
DB2_PARAM_IN (integer)
Specifies the PHP variable should be bound as an IN parameter for a stored procedure.
DB2_PARAM_OUT (integer)
Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.
DB2_PARAM_INOUT (integer)
Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.
DB2_PARAM_FILE (integer)
Specifies that the column should be bound directly to a file for input.
DB2_AUTOCOMMIT_ON (integer)
Specifies that autocommit should be turned on.
DB2_AUTOCOMMIT_OFF (integer)
Specifies that autocommit should be turned off.
DB2_DOUBLE (integer)
Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.
DB2_LONG (integer)
Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.
DB2_CHAR (integer)
Specifies that the variable should be bound as a CHAR or VARCHAR data type.
DB2_CASE_NATURAL (integer)
Specifies that column names will be returned in their natural case.
DB2_CASE_LOWER (integer)
Specifies that column names will be returned in lower case.
DB2_CASE_UPPER (integer)
Specifies that column names will be returned in upper case.
DB2_DEFERRED_PREPARE_ON (integer)
Specifies that deferred prepare should be turned on for the specified statement resource.
DB2_DEFERRED_PREPARE_OFF (integer)
Specifies that deferred prepare should be turned off for the specified statement resource.
Типы ресурсов
IBM DB2 Функции
IBM DB2


IBM DB2 Функции

Содержание

  • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
  • db2_bind_param — Binds a PHP variable to an SQL statement parameter
  • db2_client_info — Returns an object with properties that describe the DB2 database client
  • db2_close — Closes a database connection
  • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
  • db2_columns — Returns a result set listing the columns and associated metadata for a table
  • db2_commit — Commits a transaction
  • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
  • db2_connect — Returns a connection to a database
  • db2_cursor_type — Returns the cursor type used by a statement resource
  • db2_escape_string — Used to escape certain characters
  • db2_exec — Executes an SQL statement directly
  • db2_execute — Executes a prepared SQL statement
  • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object — Returns an object with properties representing columns in the fetched row
  • db2_fetch_row — Sets the result set pointer to the next row or requested row
  • db2_field_display_size — Returns the maximum number of bytes required to display a column
  • db2_field_name — Returns the name of the column in the result set
  • db2_field_num — Returns the position of the named column in a result set
  • db2_field_precision — Returns the precision of the indicated column in a result set
  • db2_field_scale — Returns the scale of the indicated column in a result set
  • db2_field_type — Returns the data type of the indicated column in a result set
  • db2_field_width — Returns the width of the current value of the indicated column in a result set
  • db2_foreign_keys — Returns a result set listing the foreign keys for a table
  • db2_free_result — Frees resources associated with a result set
  • db2_free_stmt — Frees resources associated with the indicated statement resource
  • db2_get_option — Retrieves an option value for a statement resource or a connection resource
  • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
  • db2_lob_read — Gets a user defined size of LOB files with each invocation
  • db2_next_result — Requests the next result set from a stored procedure
  • db2_num_fields — Returns the number of fields contained in a result set
  • db2_num_rows — Returns the number of rows affected by an SQL statement
  • db2_pclose — Closes a persistent database connection
  • db2_pconnect — Returns a persistent connection to a database
  • db2_prepare — Prepares an SQL statement to be executed
  • db2_primary_keys — Returns a result set listing primary keys for a table
  • db2_procedure_columns — Returns a result set listing stored procedure parameters
  • db2_procedures — Returns a result set listing the stored procedures registered in a database
  • db2_result — Returns a single column from a row in the result set
  • db2_rollback — Rolls back a transaction
  • db2_server_info — Returns an object with properties that describe the DB2 database server
  • db2_set_option — Set options for connection or statement resources
  • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
  • db2_statistics — Returns a result set listing the index and statistics for a table
  • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
  • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
  • db2_tables — Returns a result set listing the tables and associated metadata in a database
Предопределенные константы
db2_autocommit
IBM DB2


Returns or sets the AUTOCOMMIT state for a database connection

IBM DB2 Функции
db2_bind_param
IBM DB2 Функции
PHP Manual

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection

Описание

mixed db2_autocommit ( resource $connection [, bool $value ] )

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

Список параметров

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

Возвращаемые значения

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of 0 indicates that AUTOCOMMIT is off, while a value of 1 indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

Результат выполнения данного примера:

0 -- AUTOCOMMIT is off.

Пример #2 Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

Результат выполнения данного примера:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

Смотрите также

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database

IBM DB2 Функции
db2_bind_param
IBM DB2 Функции


Binds a PHP variable to an SQL statement parameter

db2_autocommit
db2_client_info
IBM DB2 Функции
PHP Manual

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Binds a PHP variable to an SQL statement parameter

Описание

bool db2_bind_param ( resource $stmt , int $parameter-number , string $variable-name [, int $parameter-type [, int $data-type = 0 [, int $precision = -1 [, int $scale = 0 ]]]] )

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

Список параметров

stmt

A prepared statement returned from db2_prepare().

parameter-number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable-name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter-number.

parameter-type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data-type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database. This parameter can also be used for retrieving XML output values from stored procedures. A non-negative value specifies the maximum size of the XML data that will be retrieved from the database. If this parameter is not used, a default of 1MB will be assumed for retrieving the XML output value from the stored procedure.

scale

Specifies the scale with which the variable should be bound to the database.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

Результат выполнения данного примера:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Пример #2 Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Values of bound parameters _after_ CALL:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Results:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

Результат выполнения данного примера:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Пример #3 Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Смотрите также

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed

db2_autocommit
db2_client_info
IBM DB2 Функции


Returns an object with properties that describe the DB2 database client

db2_bind_param
db2_close
IBM DB2 Функции
PHP Manual

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Returns an object with properties that describe the DB2 database client

Описание

object db2_client_info ( resource $connection )

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

DB2 client properties
Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string

The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

Список параметров

connection

Specifies an active DB2 client connection.

Возвращаемые значения

Returns an object on a successful call. Returns FALSE on failure.

Примеры

Пример #1 A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";           var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";            var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";      var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";       var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";              var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error retrieving client information.
     Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

Результат выполнения данного примера:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Смотрите также

  • db2_server_info() - Returns an object with properties that describe the DB2 database server

db2_bind_param
db2_close
IBM DB2 Функции


Closes a database connection

db2_client_info
db2_column_privileges
IBM DB2 Функции
PHP Manual

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Closes a database connection

Описание

bool db2_close ( resource $connection )

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

Список параметров

connection

Specifies an active DB2 client connection.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

Результат выполнения данного примера:

Connection was successfully closed.

Смотрите также

  • db2_connect() - Returns a connection to a database
  • db2_pclose() - Closes a persistent database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_client_info
db2_column_privileges
IBM DB2 Функции


Returns a result set listing the columns and associated privileges for a table

db2_close
db2_columns
IBM DB2 Функции
PHP Manual

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Returns a result set listing the columns and associated privileges for a table

Описание

resource db2_column_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Returns a result set listing the columns and associated privileges for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass NULL or an empty string.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

Смотрите также

  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_close
db2_columns
IBM DB2 Функции


Returns a result set listing the columns and associated metadata for a table

db2_column_privileges
db2_commit
IBM DB2 Функции
PHP Manual

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Returns a result set listing the columns and associated metadata for a table

Описание

resource db2_columns ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Returns a result set listing the columns and associated metadata for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_column_privileges
db2_commit
IBM DB2 Функции


Commits a transaction

db2_columns
db2_conn_error
IBM DB2 Функции
PHP Manual

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Commits a transaction

Описание

bool db2_commit ( resource $connection )

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Список параметров

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_rollback() - Rolls back a transaction

db2_columns
db2_conn_error
IBM DB2 Функции


Returns a string containing the SQLSTATE returned by the last connection attempt

db2_commit
db2_conn_errormsg
IBM DB2 Функции
PHP Manual

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt

Описание

string db2_conn_error ([ resource $connection ] )

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns FALSE in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Список параметров

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Возвращаемые значения

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Примеры

Пример #1 Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

Результат выполнения данного примера:

SQLSTATE value: 08001

Смотрите также

  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_commit
db2_conn_errormsg
IBM DB2 Функции


Returns the last connection error message and SQLCODE value

db2_conn_error
db2_connect
IBM DB2 Функции
PHP Manual

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Returns the last connection error message and SQLCODE value

Описание

string db2_conn_errormsg ([ resource $connection ] )

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns FALSE in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Список параметров

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Возвращаемые значения

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Примеры

Пример #1 Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

Результат выполнения данного примера:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Смотрите также

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_conn_error
db2_connect
IBM DB2 Функции


Returns a connection to a database

db2_conn_errormsg
db2_cursor_type
IBM DB2 Функции
PHP Manual

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Returns a connection to a database

Описание

resource db2_connect ( string $database , string $username , string $password [, array $options ] )

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Список параметров

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
where the parameters represent the following values:
database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Замечание:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Замечание:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Возвращаемые значения

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns FALSE.

Примеры

Пример #1 Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Результат выполнения данного примера:

Connection succeeded.

Пример #2 Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Результат выполнения данного примера:

Connection succeeded.

Пример #3 Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Результат выполнения данного примера:

Connection succeeded.
Autocommit is off.

Пример #4 i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

Результат выполнения данного примера:

ANIMALS
NAMES
PICTURES

Пример #5 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

Результат выполнения данного примера:

Explicit trusted connection succeeded.
User has been switched.

Смотрите также

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_conn_errormsg
db2_cursor_type
IBM DB2 Функции


Returns the cursor type used by a statement resource

db2_connect
db2_escape_string
IBM DB2 Функции
PHP Manual

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Returns the cursor type used by a statement resource

Описание

int db2_cursor_type ( resource $stmt )

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Список параметров

stmt

A valid statement resource.

Возвращаемые значения

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Смотрите также

  • db2_prepare() - Prepares an SQL statement to be executed

db2_connect
db2_escape_string
IBM DB2 Функции


Used to escape certain characters

db2_cursor_type
db2_exec
IBM DB2 Функции
PHP Manual

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Used to escape certain characters

Описание

string db2_escape_string ( string $string_literal )

Prepends backslashes to special characters in the string argument.

Список параметров

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

Возвращаемые значения

Returns string_literal with the special characters noted above prepended with backslashes.

Примеры

Пример #1 A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Backslash (\). Single quote ('). Double quote (\")";
    $str[2] = "The NULL character \0 must be quoted as well";
    $str[3] = "Intersting characters: \x1a , \x00 .";
    $str[4] = "Nothing to quote";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

Результат выполнения данного примера:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

Смотрите также

  • db2_prepare() - Prepares an SQL statement to be executed

db2_cursor_type
db2_exec
IBM DB2 Функции


Executes an SQL statement directly

db2_escape_string
db2_execute
IBM DB2 Функции
PHP Manual

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Executes an SQL statement directly

Описание

resource db2_exec ( resource $connection , string $statement [, array $options ] )

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Список параметров

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Возвращаемые значения

Returns a statement resource if the SQL statement was issued successfully, or FALSE if the database failed to execute the SQL statement.

Примеры

Пример #1 Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

Результат выполнения данного примера:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Пример #2 Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

Результат выполнения данного примера:

Bubbles
Gizmo
Pook
Rickety Ride

Пример #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

Результат выполнения данного примера:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Пример #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

Результат выполнения данного примера:

1001     Kathy Smith     905-555-7258     5002     Shipped

Пример #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

Результат выполнения данного примера:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Смотрите также

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed

db2_escape_string
db2_execute
IBM DB2 Функции


Executes a prepared SQL statement

db2_exec
db2_fetch_array
IBM DB2 Функции
PHP Manual

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Executes a prepared SQL statement

Описание

bool db2_execute ( resource $stmt [, array $parameters ] )

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Список параметров

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

Результат выполнения данного примера:

Successfully added new pet.

Пример #2 Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

Результат выполнения данного примера:

I have 7 pets!

Пример #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

Результат выполнения данного примера:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Пример #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

Результат выполнения данного примера:

1001     Kathy Smith     905-555-7258     5002     Shipped

Пример #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

Результат выполнения данного примера:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Смотрите также

  • db2_exec() - Executes an SQL statement directly
  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set

db2_exec
db2_fetch_array
IBM DB2 Функции


Returns an array, indexed by column position, representing a row in a result set

db2_execute
db2_fetch_assoc
IBM DB2 Функции
PHP Manual

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set

Описание

array db2_fetch_array ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Список параметров

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Возвращаемые значения

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Примеры

Пример #1 Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Пример #2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Смотрите также

  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_execute
db2_fetch_assoc
IBM DB2 Функции


Returns an array, indexed by column name, representing a row in a result set

db2_fetch_array
db2_fetch_both
IBM DB2 Функции
PHP Manual

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set

Описание

array db2_fetch_assoc ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column name, representing a row in a result set.

Список параметров

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Возвращаемые значения

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Примеры

Пример #1 Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Пример #2 Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Смотрите также

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_array
db2_fetch_both
IBM DB2 Функции


Returns an array, indexed by both column name and position, representing a row in a result set

db2_fetch_assoc
db2_fetch_object
IBM DB2 Функции
PHP Manual

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set

Описание

array db2_fetch_both ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

Список параметров

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Возвращаемые значения

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Примеры

Пример #1 Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Пример #2 Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

Результат выполнения данного примера:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Смотрите также

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_assoc
db2_fetch_object
IBM DB2 Функции


Returns an object with properties representing columns in the fetched row

db2_fetch_both
db2_fetch_row
IBM DB2 Функции
PHP Manual

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Returns an object with properties representing columns in the fetched row

Описание

object db2_fetch_object ( resource $stmt [, int $row_number = -1 ] )

Returns an object in which each property represents a column returned in the row fetched from a result set.

Список параметров

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Возвращаемые значения

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns FALSE if no row was retrieved.

Примеры

Пример #1 A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

Результат выполнения данного примера:

Come here, Pook, my little cat!

Смотрите также

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_both
db2_fetch_row
IBM DB2 Функции


Sets the result set pointer to the next row or requested row

db2_fetch_object
db2_field_display_size
IBM DB2 Функции
PHP Manual

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Sets the result set pointer to the next row or requested row

Описание

bool db2_fetch_row ( resource $stmt [, int $row_number ] )

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Список параметров

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Возвращаемые значения

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

Примеры

Пример #1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

Результат выполнения данного примера:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Пример #2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

Результат выполнения данного примера:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Смотрите также

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_object
db2_field_display_size
IBM DB2 Функции


Returns the maximum number of bytes required to display a column

db2_fetch_row
db2_field_name
IBM DB2 Функции
PHP Manual

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Returns the maximum number of bytes required to display a column

Описание

int db2_field_display_size ( resource $stmt , mixed $column )

Returns the maximum number of bytes required to display a column in a result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns FALSE.

Смотрите также

  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_fetch_row
db2_field_name
IBM DB2 Функции


Returns the name of the column in the result set

db2_field_display_size
db2_field_num
IBM DB2 Функции
PHP Manual

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Returns the name of the column in the result set

Описание

string db2_field_name ( resource $stmt , mixed $column )

Returns the name of the specified column in the result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_display_size
db2_field_num
IBM DB2 Функции


Returns the position of the named column in a result set

db2_field_name
db2_field_precision
IBM DB2 Функции
PHP Manual

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Returns the position of the named column in a result set

Описание

int db2_field_num ( resource $stmt , mixed $column )

Returns the position of the named column in a result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_name
db2_field_precision
IBM DB2 Функции


Returns the precision of the indicated column in a result set

db2_field_num
db2_field_scale
IBM DB2 Функции
PHP Manual

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Returns the precision of the indicated column in a result set

Описание

int db2_field_precision ( resource $stmt , mixed $column )

Returns the precision of the indicated column in a result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_num
db2_field_scale
IBM DB2 Функции


Returns the scale of the indicated column in a result set

db2_field_precision
db2_field_type
IBM DB2 Функции
PHP Manual

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Returns the scale of the indicated column in a result set

Описание

int db2_field_scale ( resource $stmt , mixed $column )

Returns the scale of the indicated column in a result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_precision
db2_field_type
IBM DB2 Функции


Returns the data type of the indicated column in a result set

db2_field_scale
db2_field_width
IBM DB2 Функции
PHP Manual

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Returns the data type of the indicated column in a result set

Описание

string db2_field_type ( resource $stmt , mixed $column )

Returns the data type of the indicated column in a result set.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_scale
db2_field_width
IBM DB2 Функции


Returns the width of the current value of the indicated column in a result set

db2_field_type
db2_foreign_keys
IBM DB2 Функции
PHP Manual

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Returns the width of the current value of the indicated column in a result set

Описание

int db2_field_width ( resource $stmt , mixed $column )

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Список параметров

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Возвращаемые значения

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns FALSE.

Смотрите также

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set

db2_field_type
db2_foreign_keys
IBM DB2 Функции


Returns a result set listing the foreign keys for a table

db2_field_width
db2_free_result
IBM DB2 Функции
PHP Manual

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Returns a result set listing the foreign keys for a table

Описание

resource db2_foreign_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the foreign keys for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_field_width
db2_free_result
IBM DB2 Функции


Frees resources associated with a result set

db2_foreign_keys
db2_free_stmt
IBM DB2 Функции
PHP Manual

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Frees resources associated with a result set

Описание

bool db2_free_result ( resource $stmt )

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Список параметров

stmt

A valid statement resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • db2_free_stmt() - Frees resources associated with the indicated statement resource

db2_foreign_keys
db2_free_stmt
IBM DB2 Функции


Frees resources associated with the indicated statement resource

db2_free_result
db2_get_option
IBM DB2 Функции
PHP Manual

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Frees resources associated with the indicated statement resource

Описание

bool db2_free_stmt ( resource $stmt )

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Список параметров

stmt

A valid statement resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • db2_free_result() - Frees resources associated with a result set

db2_free_result
db2_get_option
IBM DB2 Функции


Retrieves an option value for a statement resource or a connection resource

db2_free_stmt
db2_last_insert_id
IBM DB2 Функции
PHP Manual

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Retrieves an option value for a statement resource or a connection resource

Описание

string db2_get_option ( resource $resource , string $option )

Retrieves the value of a specified option value for a statement resource or a connection resource.

Список параметров

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Замечание:

Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Возвращаемые значения

Returns the current setting of the connection attribute provided on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through connection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-connection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

Результат выполнения данного примера:

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

Смотрите также

  • db2_connect() - Returns a connection to a database
  • db2_cursor_type() - Returns the cursor type used by a statement resource
  • db2_exec() - Executes an SQL statement directly
  • db2_set_option() - Set options for connection or statement resources
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_prepare() - Prepares an SQL statement to be executed

db2_free_stmt
db2_last_insert_id
IBM DB2 Функции


Returns the auto generated ID of the last insert query that successfully executed on this connection

db2_get_option
db2_lob_read
IBM DB2 Функции
PHP Manual

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection

Описание

string db2_last_insert_id ( resource $resource )

Returns the auto generated ID of the last insert query that successfully executed on this connection.

The result of this function is not affected by any of the following:

  • A single row INSERT statement with a VALUES clause for a table without an identity column.

  • A multiple row INSERT statement with a VALUES clause.

  • An INSERT statement with a fullselect.

  • A ROLLBACK TO SAVEPOINT statement.

Список параметров

resource

A valid connection resource as returned from db2_connect() or db2_pconnect(). The value of this parameter cannot be a statement resource or result set resource.

Возвращаемые значения

Returns the auto generated ID of last insert query that successfully executed on this connection.

Примеры

Пример #1 A db2_last_insert_id() example

The following example shows how to return the auto generated ID of last insert query that successfully executed on this connection.

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
    $createTable = "CREATE TABLE lastInsertID
      (id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
    $insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

    $stmt = @db2_exec($conn, $createTable);

    /* Checking for single row inserted. */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "Last Insert ID is : " . $ret . "\n";
    } else {
        echo "No Last insert ID.\n";
    }

    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Результат выполнения данного примера:

Last Insert ID is : 1

db2_get_option
db2_lob_read
IBM DB2 Функции


Gets a user defined size of LOB files with each invocation

db2_last_insert_id
db2_next_result
IBM DB2 Функции
PHP Manual

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Gets a user defined size of LOB files with each invocation

Описание

string db2_lob_read ( resource $stmt , int $colnum , int $length )

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Список параметров

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Возвращаемые значения

Returns the amount of data the user specifies. Returns FALSE if the data cannot be retrieved.

Примеры

Пример #1 Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }
} else {
    echo 'no connection: ' . db2_conn_errormsg();
}

?>

Результат выполнения данного примера:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

Смотрите также

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_exec() - Executes an SQL statement directly
  • db2_execute() - Executes a prepared SQL statement
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set

db2_last_insert_id
db2_next_result
IBM DB2 Функции


Requests the next result set from a stored procedure

db2_lob_read
db2_num_fields
IBM DB2 Функции
PHP Manual

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Requests the next result set from a stored procedure

Описание

resource db2_next_result ( resource $stmt )

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Список параметров

stmt

A prepared statement returned from db2_exec() or db2_execute().

Возвращаемые значения

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set.

Примеры

Пример #1 Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

Результат выполнения данного примера:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

db2_lob_read
db2_num_fields
IBM DB2 Функции


Returns the number of fields contained in a result set

db2_next_result
db2_num_rows
IBM DB2 Функции
PHP Manual

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Returns the number of fields contained in a result set

Описание

int db2_num_fields ( resource $stmt )

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Список параметров

stmt

A valid statement resource containing a result set.

Возвращаемые значения

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns FALSE if the statement resource is not a valid input value.

Примеры

Пример #1 Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

Результат выполнения данного примера:

There are 4 columns in the result set.

Смотрите также

  • db2_execute() - Executes a prepared SQL statement
  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_next_result
db2_num_rows
IBM DB2 Функции


Returns the number of rows affected by an SQL statement

db2_num_fields
db2_pclose
IBM DB2 Функции
PHP Manual

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Returns the number of rows affected by an SQL statement

Описание

int db2_num_rows ( resource $stmt )

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns FALSE.

Замечание:

If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the boolean return value of the fetch functions to achieve the equivalent functionality with much better performance.

Список параметров

stmt

A valid stmt resource containing a result set.

Возвращаемые значения

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.

db2_num_fields
db2_pclose
IBM DB2 Функции


Closes a persistent database connection

db2_num_rows
db2_pconnect
IBM DB2 Функции
PHP Manual

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Closes a persistent database connection

Описание

bool db2_pclose ( resource $resource )

This function closes a DB2 client connection created with db2_pconnect() and returns the corresponding resources to the database server.

Замечание:

This function is only available on i5/OS in response to i5/OS system administration requests.

If you have a persistent DB2 client connection created with db2_pconnect(), you may use this function to close the connection. To avoid substantial connection performance penalties, this function should only be used in rare cases when the persistent connection has become unresponsive or the persistent connection will not be needed for a long period of time.

Список параметров

connection

Specifies an active DB2 client connection.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Closing a persistent connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2 i5/OS database.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

Результат выполнения данного примера:

Connection was successfully closed.

Смотрите также

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_num_rows
db2_pconnect
IBM DB2 Функции


Returns a persistent connection to a database

db2_pclose
db2_prepare
IBM DB2 Функции
PHP Manual

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Returns a persistent connection to a database

Описание

resource db2_pconnect ( string $database , string $username , string $password [, array $options ] )

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Постоянные соединения с базами данных.

Calling db2_close() on a persistent connection always returns TRUE, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Список параметров

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

Подсказка

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_pconnect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_pconnect() for the connection handle.

Замечание:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Замечание:

The php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Замечание:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Возвращаемые значения

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns FALSE.

Список изменений

Версия | Описание
ibm_db2 1.9.0 | Active transactions within a persistent connection will be rolled back at the end of each request.
ibm_db2 1.8.0 | The i5_libl option is available for i5/OS users.
ibm_db2 1.7.0 | The trustedcontext option is available.
ibm_db2 1.5.1 | The i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Примеры

Пример #1 A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

Результат выполнения данного примера:

Persistent connection succeeded.
Second persistent connection succeeded.

Пример #2 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

Результат выполнения данного примера:

Explicit trusted connection succeeded.
User has been switched.

Смотрите также

  • db2_connect() - Returns a connection to a database

db2_pclose
db2_prepare
IBM DB2 Функции


Prepares an SQL statement to be executed

db2_pconnect
db2_primary_keys
IBM DB2 Функции
PHP Manual

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prepares an SQL statement to be executed

Описание

resource db2_prepare ( resource $connection , string $statement [, array $options ] )

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

Список параметров

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Возвращаемые значения

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns FALSE if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

Примеры

Пример #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Смотрите также

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_execute() - Executes a prepared SQL statement
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_pconnect
db2_primary_keys
IBM DB2 Функции


Returns a result set listing primary keys for a table

db2_prepare
db2_procedure_columns
IBM DB2 Функции
PHP Manual

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Returns a result set listing primary keys for a table

Описание

resource db2_primary_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the primary keys for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_prepare
db2_procedure_columns
IBM DB2 Функции


Returns a result set listing stored procedure parameters

db2_primary_keys
db2_procedures
IBM DB2 Функции
PHP Manual

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Returns a result set listing stored procedure parameters

Описание

resource db2_procedure_columns ( resource $connection , string $qualifier , string $schema , string $procedure , string $parameter )

Returns a result set listing the parameters for one or more stored procedures.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is NULL, all parameters for the specified stored procedures are returned.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.
DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns NULL values and 'NO' means that the parameter does not accept or return NULL values.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_primary_keys
db2_procedures
IBM DB2 Функции


Returns a result set listing the stored procedures registered in a database

db2_procedure_columns
db2_result
IBM DB2 Функции
PHP Manual

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Returns a result set listing the stored procedures registered in a database

Описание

resource db2_procedures ( resource $connection , string $qualifier , string $schema , string $procedure )

Returns a result set listing the stored procedures registered in a database.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_procedure_columns
db2_result
IBM DB2 Функции


Returns a single column from a row in the result set

db2_procedures
db2_rollback
IBM DB2 Функции
PHP Manual

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Returns a single column from a row in the result set

Описание

mixed db2_result ( resource $stmt , mixed $column )

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Список параметров

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Возвращаемые значения

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

Примеры

Пример #1 A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

Результат выполнения данного примера:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Смотрите также

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row

db2_procedures
db2_rollback
IBM DB2 Функции


Rolls back a transaction

db2_result
db2_server_info
IBM DB2 Функции
PHP Manual

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Описание

bool db2_rollback ( resource $connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Список параметров

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

Результат выполнения данного примера:

7
0
7

Смотрите также

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_commit() - Commits a transaction

db2_result
db2_server_info
IBM DB2 Функции


Returns an object with properties that describe the DB2 database server

db2_rollback
db2_set_option
IBM DB2 Функции
PHP Manual

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Returns an object with properties that describe the DB2 database server

Описание

object db2_server_info ( resource $connection )

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Database server properties
Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | TRUE if the database server supports the use of % and _ wildcard characters. FALSE if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | TRUE if the database server supports columns that can be defined as NOT NULL, FALSE if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | TRUE if the database server supports the use of the CALL statement to call stored procedures, FALSE if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Список параметров

connection

Specifies an active DB2 client connection.

Возвращаемые значения

Returns an object on a successful call. Returns FALSE on failure.

Примеры

Пример #1 A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

Результат выполнения данного примера:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Смотрите также

  • db2_client_info() - Returns an object with properties that describe the DB2 database client

db2_rollback
db2_set_option
IBM DB2 Функции


Set options for connection or statement resources

db2_server_info
db2_special_columns
IBM DB2 Функции
PHP Manual

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Set options for connection or statement resources

Описание

bool db2_set_option ( resource $resource , array $options , int $type )

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Список параметров

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to NULL. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new option is available in ibm_db2 version 1.8.0 and later.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Client can request the full row count prior to fetching, which means that db2_num_rows() returns the number of rows selected even when a ROLLFORWARD_ONLY cursor is used.

DB2_ROWCOUNT_PREFETCH_OFF - Client cannot request the full row count prior to fetching.

The following new options are available in ibm_db2 version 1.7.0 and later.

trusted_user

To switch the user to a trusted user, pass the User ID (String) of the trusted user as the value of this key. This option can be set on a connection resource only. To use this option, trusted context must be enabled on the connection resource.

trusted_password

The password (String) that corresponds to the user specified by the trusted_user key.

The following new options are available in ibm_db2 version 1.6.0 and later. These options provide useful tracking information that can be accessed during execution with db2_get_option().

Замечание:

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Замечание:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Options Set Successfully

Пример #2 Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Options Set Successfully

Пример #3 Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Could Not Set Options

Пример #4 Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Could Not Set Options

Пример #5 Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Could Not Set Options

Пример #6 Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Результат выполнения данного примера:

Could Not Set Options

Пример #7 Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

Результат выполнения данного примера:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Пример #8 i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

Результат выполнения данного примера:

first2 last2

Смотрите также

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_exec() - Executes an SQL statement directly
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_cursor_type() - Returns the cursor type used by a statement resource

db2_server_info
db2_special_columns
IBM DB2 Функции


Returns a result set listing the unique row identifier columns for a table

db2_set_option
db2_statistics
IBM DB2 Функции
PHP Manual

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Returns a result set listing the unique row identifier columns for a table

Описание

resource db2_special_columns ( resource $connection , string $qualifier , string $schema , string $table_name , int $scope )

Returns a result set listing the unique row identifier columns for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Возвращаемые значения

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.
COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_set_option
db2_statistics
IBM DB2 Функции


Returns a result set listing the index and statistics for a table

db2_special_columns
db2_stmt_error
IBM DB2 Функции
PHP Manual

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Returns a result set listing the index and statistics for a table

Описание

resource db2_statistics ( resource $connection , string $qualifier , string $schema , string $table-name , bool $unique )

Returns a result set listing the index and statistics for a table.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema that contains the targeted table. If this parameter is NULL, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
NULL | This row is statistics information for the table itself.
INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.
ORDINAL_POSITION | The 1-indexed position of the column in the index. NULL if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. NULL if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, NULL if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns NULL.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_special_columns
db2_stmt_error
IBM DB2 Функции


Returns a string containing the SQLSTATE returned by an SQL statement

db2_statistics
db2_stmt_errormsg
IBM DB2 Функции
PHP Manual

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement

Описание

string db2_stmt_error ([ resource $stmt ] )

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Список параметров

stmt

A valid statement resource.

Возвращаемые значения

Returns a string containing an SQLSTATE value.

Смотрите также

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_statistics
db2_stmt_errormsg
IBM DB2 Функции


Returns a string containing the last SQL statement error message

db2_stmt_error
db2_table_privileges
IBM DB2 Функции
PHP Manual

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Returns a string containing the last SQL statement error message

Описание

string db2_stmt_errormsg ([ resource $stmt ] )

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Список параметров

stmt

A valid statement resource.

Возвращаемые значения

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Смотрите также

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement

db2_stmt_error
db2_table_privileges
IBM DB2 Функции


Returns a result set listing the tables and associated privileges in a database

db2_stmt_errormsg
db2_tables
IBM DB2 Функции
PHP Manual

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Returns a result set listing the tables and associated privileges in a database

Описание

resource db2_table_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table_name ]]] )

Returns a result set listing the tables and associated privileges in a database.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_stmt_errormsg
db2_tables
IBM DB2 Функции


Returns a result set listing the tables and associated metadata in a database

db2_table_privileges
Informix
IBM DB2 Функции
PHP Manual

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Returns a result set listing the tables and associated metadata in a database

Описание

resource db2_tables ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $table-type ]]]] )

Returns a result set listing the tables and associated metadata in a database.

Список параметров

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass NULL or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Возвращаемые значения

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Смотрите также

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database

db2_table_privileges
Informix
IBM DB2 Функции


Informix

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Informix Функции
    • ifx_affected_rows — Get number of rows affected by a query
    • ifx_blobinfile_mode — Set the default blob mode for all select queries
    • ifx_byteasvarchar — Set the default byte mode
    • ifx_close — Close Informix connection
    • ifx_connect — Open Informix server connection
    • ifx_copy_blob — Duplicates the given blob object
    • ifx_create_blob — Creates an blob object
    • ifx_create_char — Creates an char object
    • ifx_do — Execute a previously prepared SQL-statement
    • ifx_error — Returns error code of last Informix call
    • ifx_errormsg — Returns error message of last Informix call
    • ifx_fetch_row — Get row as an associative array
    • ifx_fieldproperties — List of SQL fieldproperties
    • ifx_fieldtypes — List of Informix SQL fields
    • ifx_free_blob — Deletes the blob object
    • ifx_free_char — Deletes the char object
    • ifx_free_result — Releases resources for the query
    • ifx_get_blob — Return the content of a blob object
    • ifx_get_char — Return the content of the char object
    • ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query
    • ifx_htmltbl_result — Formats all rows of a query into a HTML table
    • ifx_nullformat — Sets the default return value on a fetch row
    • ifx_num_fields — Returns the number of columns in the query
    • ifx_num_rows — Count the rows already fetched from a query
    • ifx_pconnect — Open persistent Informix connection
    • ifx_prepare — Prepare an SQL-statement for execution
    • ifx_query — Send Informix query
    • ifx_textasvarchar — Set the default text mode
    • ifx_update_blob — Updates the content of the blob object
    • ifx_update_char — Updates the content of the char object
    • ifxus_close_slob — Deletes the slob object
    • ifxus_create_slob — Creates an slob object and opens it
    • ifxus_free_slob — Deletes the slob object
    • ifxus_open_slob — Opens an slob object
    • ifxus_read_slob — Reads nbytes of the slob object
    • ifxus_seek_slob — Sets the current file or seek position
    • ifxus_tell_slob — Returns the current file or seek position
    • ifxus_write_slob — Writes a string into the slob object
db2_tables
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and "php_informix.h" in the informix extension directory. IDS 7.x support is fairly complete, with full support for BYTE and TEXT columns. IUS 9.x support is partly finished: the new data types are there, but SLOB and CLOB support is still under construction.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.2.1.

Informix
Установка и настройка
Informix


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Informix


Требования

Замечание: Configuration notes

You need a version of ESQL/C to compile the PHP Informix driver. ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of the Informix Client SDK.

Make sure that the "INFORMIXDIR" variable has been set, and that $INFORMIXDIR/bin is in your PATH before you run the "configure" script.

Установка и настройка
Установка
Установка и настройка


Установка

To be able to use the functions defined in this module you must compile your PHP interpreter using the configure line --with-informix[=DIR] , where DIR is the Informix base install directory, defaults to nothing.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Замечание:

Make sure that the Informix environment variables INFORMIXDIR and INFORMIXSERVER are available to the PHP ifx driver, and that the INFORMIX bin directory is in the PATH. Check this by running a script that contains a call to phpinfo() before you start testing. The phpinfo() output should list these environment variables. This is true for both CGI php and Apache mod_php. You may have to set these environment variables in your Apache startup script.

The Informix shared libraries should also be available to the loader (check LD_LIBRARY_PATH or ld.so.conf/ldconfig).

Замечание: Some notes on the use of BLOBs (TEXT and BYTE columns)

BLOBs are normally addressed by BLOB identifiers. Select queries return a "blob id" for every BYTE and TEXT column. You can get at the contents with "string_var = ifx_get_blob($blob_id);" if you choose to get the BLOBs in memory (with: "ifx_blobinfile(0);"). If you prefer to receive the content of BLOB columns in a file, use "ifx_blobinfile(1);", and "ifx_get_blob($blob_id);" will get you the filename. Use normal file I/O to get at the blob contents.

For insert/update queries you must create these "blob id's" yourself with "ifx_create_blob();". You then plug the blob id's into an array, and replace the blob columns with a question mark (?) in the query string. For updates/inserts, you are responsible for setting the blob contents with ifx_update_blob().

The behaviour of BLOB columns can be altered by configuration variables that also can be set at runtime:

configuration variable: ifx.textasvarchar

configuration variable: ifx.byteasvarchar

runtime functions:

ifx_textasvarchar(0): use blob id's for select queries with TEXT columns

ifx_byteasvarchar(0): use blob id's for select queries with BYTE columns

ifx_textasvarchar(1): return TEXT columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

ifx_byteasvarchar(1): return BYTE columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

configuration variable: ifx.blobinfile

runtime function:

ifx_blobinfile_mode(0): return BYTE columns in memory, the blob id lets you get at the contents.

ifx_blobinfile_mode(1): return BYTE columns in a file, the blob id lets you get at the file name.

If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE columns in select queries just like normal (but rather long) VARCHAR fields. Since all strings are "counted" in PHP, this remains "binary safe". It is up to you to handle this correctly. The returned data can contain anything, you are responsible for the contents.

If you set ifx_blobinfile to 1, use the file name returned by ifx_get_blob(..) to get at the blob contents. Note that in this case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED BY INFORMIX when fetching the row. Every new row fetched will create new temporary files for every BYTE column.

The location of the temporary files can be influenced by the environment variable "blobdir", default is "." (the current directory). Something like: putenv(blobdir=tmpblob"); will ease the cleaning up of temp files accidentally left behind (their names all start with "blb").

Замечание: Automatically trimming "char" (SQLCHAR and SQLNCHAR) data

This can be set with the configuration variable

ifx.charasvarchar: if set to 1 trailing spaces will be automatically trimmed, to save you some "chopping".

Замечание: NULL values

The configuration variable ifx.nullformat (and the runtime function ifx_nullformat()) when set to TRUE will return NULL columns as the string "NULL", when set to FALSE they return the empty string. This allows you to discriminate between NULL columns and empty columns.

Informix configuration options
Name | Default | Changeable | Changelog
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

ifx.allow_persistent boolean

Whether to allow persistent Informix connections.

ifx.max_persistent integer

The maximum number of persistent Informix connections per process.

ifx.max_links integer

The maximum number of Informix connections per process, including persistent connections.

ifx.default_host string

The default host to connect to when no host is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in безопасный режим.

ifx.default_user string

The default user id to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in безопасный режим.

ifx.default_password string

The default password to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in безопасный режим.

ifx.blobinfile boolean

Set to TRUE if you want to return blob columns in a file, FALSE if you want them in memory. You can override the setting at runtime with ifx_blobinfile_mode().

ifx.textasvarchar boolean

Set to TRUE if you want to return TEXT columns as normal strings in select statements, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.byteasvarchar boolean

Set to TRUE if you want to return BYTE columns as normal strings in select queries, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.charasvarchar boolean

Set to TRUE if you want to trim trailing spaces from CHAR columns when fetching them.

ifx.nullformat boolean

Set to TRUE if you want to return NULL columns as the literal string "NULL", FALSE if you want them returned as the empty string "". You can override this setting at runtime with ifx_nullformat().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

IFX_SCROLL (integer)
IFX_HOLD (integer)
IFX_LO_RDONLY (integer)
IFX_LO_WRONLY (integer)
IFX_LO_APPEND (integer)
IFX_LO_RDWR (integer)
IFX_LO_BUFFER (integer)
IFX_LO_NOBUFFER (integer)
Типы ресурсов
Informix Функции
Informix


Informix Функции

Содержание

  • ifx_affected_rows — Get number of rows affected by a query
  • ifx_blobinfile_mode — Set the default blob mode for all select queries
  • ifx_byteasvarchar — Set the default byte mode
  • ifx_close — Close Informix connection
  • ifx_connect — Open Informix server connection
  • ifx_copy_blob — Duplicates the given blob object
  • ifx_create_blob — Creates an blob object
  • ifx_create_char — Creates an char object
  • ifx_do — Execute a previously prepared SQL-statement
  • ifx_error — Returns error code of last Informix call
  • ifx_errormsg — Returns error message of last Informix call
  • ifx_fetch_row — Get row as an associative array
  • ifx_fieldproperties — List of SQL fieldproperties
  • ifx_fieldtypes — List of Informix SQL fields
  • ifx_free_blob — Deletes the blob object
  • ifx_free_char — Deletes the char object
  • ifx_free_result — Releases resources for the query
  • ifx_get_blob — Return the content of a blob object
  • ifx_get_char — Return the content of the char object
  • ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query
  • ifx_htmltbl_result — Formats all rows of a query into a HTML table
  • ifx_nullformat — Sets the default return value on a fetch row
  • ifx_num_fields — Returns the number of columns in the query
  • ifx_num_rows — Count the rows already fetched from a query
  • ifx_pconnect — Open persistent Informix connection
  • ifx_prepare — Prepare an SQL-statement for execution
  • ifx_query — Send Informix query
  • ifx_textasvarchar — Set the default text mode
  • ifx_update_blob — Updates the content of the blob object
  • ifx_update_char — Updates the content of the char object
  • ifxus_close_slob — Deletes the slob object
  • ifxus_create_slob — Creates an slob object and opens it
  • ifxus_free_slob — Deletes the slob object
  • ifxus_open_slob — Opens an slob object
  • ifxus_read_slob — Reads nbytes of the slob object
  • ifxus_seek_slob — Sets the current file or seek position
  • ifxus_tell_slob — Returns the current file or seek position
  • ifxus_write_slob — Writes a string into the slob object
Предопределенные константы
ifx_affected_rows
Informix


Get number of rows affected by a query

Informix Функции
ifx_blobinfile_mode
Informix Функции
PHP Manual

ifx_affected_rows

(PHP 4, PHP <=5.2.0)

ifx_affected_rows — Get number of rows affected by a query

Описание

int ifx_affected_rows ( resource $result_id )

Returns the number of rows affected by a query associated with result_id.

For inserts, updates and deletes the number is the real number (sqlerrd[2]) of affected rows. For selects it is an estimate (sqlerrd[0]). Don't rely on it. The database server can never return the actual number of rows that will be returned by a SELECT because it has not even begun fetching them at this stage (just after the "PREPARE" when the optimizer has determined the query plan).

Useful after ifx_prepare() to limit queries to reasonable result sets.

Список параметров

result_id

A valid result id returned by ifx_query() or ifx_prepare().

Возвращаемые значения

Returns the number of rows as an integer.

Примеры

Пример #1 Informix affected rows

<?php
$rid = ifx_prepare("select * from emp
                     where name like " . $name, $connid);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
?>

Смотрите также

  • ifx_num_rows() - Count the rows already fetched from a query

Informix Функции
ifx_blobinfile_mode
Informix Функции


Set the default blob mode for all select queries

ifx_affected_rows
ifx_byteasvarchar
Informix Функции
PHP Manual

ifx_blobinfile_mode

(PHP 4, PHP <=5.2.0)

ifx_blobinfile_mode — Set the default blob mode for all select queries

Описание

bool ifx_blobinfile_mode ( int $mode )

Set the default blob mode for all select queries.

Список параметров

mode

Mode "0" means save Byte-Blobs in memory, and mode "1" means save Byte-Blobs in a file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ifx_affected_rows
ifx_byteasvarchar
Informix Функции


Set the default byte mode

ifx_blobinfile_mode
ifx_close
Informix Функции
PHP Manual

ifx_byteasvarchar

(PHP 4, PHP <=5.2.0)

ifx_byteasvarchar — Set the default byte mode

Описание

bool ifx_byteasvarchar ( int $mode )

Sets the default byte mode for all select-queries.

Список параметров

mode

Mode "0" will return a blob id, and mode "1" will return a varchar with text content.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_textasvarchar() - Set the default text mode

ifx_blobinfile_mode
ifx_close
Informix Функции


Close Informix connection

ifx_byteasvarchar
ifx_connect
Informix Функции
PHP Manual

ifx_close

(PHP 4, PHP <=5.2.0)

ifx_close — Close Informix connection

Описание

bool ifx_close ([ resource $link_identifier ] )

ifx_close() closes the link to an Informix database that's associated with the specified link identifier.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

ifx_close() will not close persistent links generated by ifx_pconnect().

Список параметров

link_identifier

The link identifier. If not specified, the last opened link is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Closing a Informix connection

<?php
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
/* ... some queries and stuff ... */
ifx_close($conn_id);
?>

Смотрите также

  • ifx_connect() - Open Informix server connection
  • ifx_pconnect() - Open persistent Informix connection

ifx_byteasvarchar
ifx_connect
Informix Функции


Open Informix server connection

ifx_close
ifx_copy_blob
Informix Функции
PHP Manual

ifx_connect

(PHP 4, PHP <=5.2.0)

ifx_connect — Open Informix server connection

Описание

resource ifx_connect ([ string $database [, string $userid [, string $password ]]] )

ifx_connect() establishes a connection to an Informix server.

In case a second call is made to ifx_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling ifx_close().

Список параметров

All of the arguments are optional, and if they're missing, defaults are taken from values supplied in php.ini (ifx.default_host for the host (Informix libraries will use INFORMIXSERVER environment value if not defined), ifx.default_user for user, ifx.default_password for the password (none if not defined).

database

The database name, as a string.

userid

The username, as a string.

password

The password, as a string.

Возвращаемые значения

Returns a connection identifier on success, or FALSE on error.

Примеры

Пример #1 Connect to a Informix database

<?php
$conn_id = ifx_connect ("mydb@ol_srv1", "imyself", "mypassword");
?>

Смотрите также

  • ifx_pconnect() - Open persistent Informix connection
  • ifx_close() - Close Informix connection

ifx_close
ifx_copy_blob
Informix Функции


Duplicates the given blob object

ifx_connect
ifx_create_blob
Informix Функции
PHP Manual

ifx_copy_blob

(PHP 4, PHP <=5.2.0)

ifx_copy_blob — Duplicates the given blob object

Описание

int ifx_copy_blob ( int $bid )

Duplicates the given blob object.

Список параметров

bid

A BLOB identifier.

Возвращаемые значения

Returns the new blob object-id, or FALSE on errors.

Смотрите также

  • ifx_create_blob() - Creates an blob object
  • ifx_free_blob() - Deletes the blob object

ifx_connect
ifx_create_blob
Informix Функции


Creates an blob object

ifx_copy_blob
ifx_create_char
Informix Функции
PHP Manual

ifx_create_blob

(PHP 4, PHP <=5.2.0)

ifx_create_blob — Creates an blob object

Описание

int ifx_create_blob ( int $type , int $mode , string $param )

Creates a blob object.

Список параметров

type

1 = TEXT, 0 = BYTE

mode

0 = blob-object holds the content in memory, 1 = blob-object holds the content in file.

param

if mode = 0: pointer to the content, if mode = 1: pointer to the filestring.

Возвращаемые значения

Returns the new BLOB object-id, or FALSE on errors.

Смотрите также

  • ifx_copy_blob() - Duplicates the given blob object
  • ifx_free_blob() - Deletes the blob object

ifx_copy_blob
ifx_create_char
Informix Функции


Creates an char object

ifx_create_blob
ifx_do
Informix Функции
PHP Manual

ifx_create_char

(PHP 4, PHP <=5.2.0)

ifx_create_char — Creates an char object

Описание

int ifx_create_char ( string $param )

Creates an char object.

Список параметров

param

The char content.

Возвращаемые значения

Returns the new char object id, or FALSE on errors.

Смотрите также

  • ifx_free_char() - Deletes the char object

ifx_create_blob
ifx_do
Informix Функции


Execute a previously prepared SQL-statement

ifx_create_char
ifx_error
Informix Функции
PHP Manual

ifx_do

(PHP 4, PHP <=5.2.0)

ifx_do — Execute a previously prepared SQL-statement

Описание

bool ifx_do ( resource $result_id )

Executes a previously prepared query or opens a cursor for it.

Does NOT free result_id on error.

Also sets the real number of ifx_affected_rows() for non-select statements for retrieval by ifx_affected_rows().

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

Пример #1 ifx_do() Example

<?php
$conn = fx_connect( "db", "user", "password" );
$result = ifx_prepare("SELECT customer_num, company FROM customer", $conn);
ifx_do($result);
?>

Смотрите также

  • ifx_prepare() - Prepare an SQL-statement for execution

ifx_create_char
ifx_error
Informix Функции


Returns error code of last Informix call

ifx_do
ifx_errormsg
Informix Функции
PHP Manual

ifx_error

(PHP 4, PHP <=5.2.0)

ifx_error — Returns error code of last Informix call

Описание

string ifx_error ([ resource $link_identifier ] )

Returns in a string one character describing the general results of a statement and both SQLSTATE and SQLCODE associated with the most recent SQL statement executed.

Список параметров

link_identifier

The link identifier.

Возвращаемые значения

The Informix error codes (SQLSTATE & SQLCODE) formatted as x [SQLSTATE = aa bbb SQLCODE=cccc].

where x = space : no error

E : error

N : no more data

W : warning

? : undefined

If the "x" character is anything other than space, SQLSTATE and SQLCODE describe the error in more detail.

See the Informix manual for the description of SQLSTATE and SQLCODE

Смотрите также

  • ifx_errormsg() - Returns error message of last Informix call

ifx_do
ifx_errormsg
Informix Функции


Returns error message of last Informix call

ifx_error
ifx_fetch_row
Informix Функции
PHP Manual

ifx_errormsg

(PHP 4, PHP <=5.2.0)

ifx_errormsg — Returns error message of last Informix call

Описание

string ifx_errormsg ([ int $errorcode ] )

Returns the Informix error message associated with the most recent Informix error.

Список параметров

errorcode

If specified, the function will return the message corresponding to the specified code.

Возвращаемые значения

Return the error message, as a string.

Примеры

Пример #1 ifx_errormsg() example

<?php
printf("%s\n<br>", ifx_errormsg(-201));
?>

Смотрите также

  • ifx_error() - Returns error code of last Informix call

ifx_error
ifx_fetch_row
Informix Функции


Get row as an associative array

ifx_errormsg
ifx_fieldproperties
Informix Функции
PHP Manual

ifx_fetch_row

(PHP 4, PHP <=5.2.0)

ifx_fetch_row — Get row as an associative array

Описание

array ifx_fetch_row ( resource $result_id [, mixed $position ] )

Fetches one row of data from the result associated with the specified result identifier.

Subsequent calls to ifx_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

position

An optional parameter for a "fetch" operation on "scroll" cursors: NEXT, PREVIOUS, CURRENT, FIRST, LAST or a number. If you specify a number, an "absolute" row fetch is executed. This parameter is optional, and only valid for SCROLL cursors.

Возвращаемые значения

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

Blob columns are returned as integer blob id values for use in ifx_get_blob() unless you have used ifx_textasvarchar(1) or ifx_byteasvarchar(1), in which case blobs are returned as string values.

Примеры

Пример #1 Informix fetch rows

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do ($rid)) {
   /* ... error ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for (reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row($rid, "NEXT");
}
ifx_free_result ($rid);
?>

ifx_errormsg
ifx_fieldproperties
Informix Функции


List of SQL fieldproperties

ifx_fetch_row
ifx_fieldtypes
Informix Функции
PHP Manual

ifx_fieldproperties

(PHP 4, PHP <=5.2.0)

ifx_fieldproperties — List of SQL fieldproperties

Описание

array ifx_fieldproperties ( resource $result_id )

Returns the Informix SQL fieldproperties of every field in the query as an associative array. Properties are encoded as: "SQLTYPE;length;precision;scale;ISNULLABLE" where SQLTYPE = the Informix type like "SQLVCHAR" etc. and ISNULLABLE = "Y" or "N".

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Returns an associative array with fieldnames as key and the SQL fieldproperties as data for a query with result_id. Returns FALSE on errors.

Примеры

Пример #1 Informix SQL fieldproperties

<?php
$properties = ifx_fieldproperties($resultid);
if (!isset($properties)) {
    /* ... error ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname:\t property = $val\n";
}
?>

Смотрите также

  • ifx_fieldtypes() - List of Informix SQL fields

ifx_fetch_row
ifx_fieldtypes
Informix Функции


List of Informix SQL fields

ifx_fieldproperties
ifx_free_blob
Informix Функции
PHP Manual

ifx_fieldtypes

(PHP 4, PHP <=5.2.0)

ifx_fieldtypes — List of Informix SQL fields

Описание

array ifx_fieldtypes ( resource $result_id )

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for the query associated with result_id.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for query with result_id. Returns FALSE on error.

Примеры

Пример #1 Fieldnames and SQL fieldtypes

<?php
$types = ifx_fieldtypes($resultid);
if (is_array($types)) {
    foreach ($types as $fname => $val) {
        echo "$fname:\t type = $val\n";
    }
}
?>

Смотрите также

  • ifx_fieldproperties() - List of SQL fieldproperties

ifx_fieldproperties
ifx_free_blob
Informix Функции


Deletes the blob object

ifx_fieldtypes
ifx_free_char
Informix Функции
PHP Manual

ifx_free_blob

(PHP 4, PHP <=5.2.0)

ifx_free_blob — Deletes the blob object

Описание

bool ifx_free_blob ( int $bid )

Deletes the blobobject for the given blob object-id.

Список параметров

bid

The BLOB object id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_create_blob() - Creates an blob object

ifx_fieldtypes
ifx_free_char
Informix Функции


Deletes the char object

ifx_free_blob
ifx_free_result
Informix Функции
PHP Manual

ifx_free_char

(PHP 4, PHP <=5.2.0)

ifx_free_char — Deletes the char object

Описание

bool ifx_free_char ( int $bid )

Deletes the charobject for the given char object-id.

Список параметров

bid

The char object id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_create_char() - Creates an char object

ifx_free_blob
ifx_free_result
Informix Функции


Releases resources for the query

ifx_free_char
ifx_get_blob
Informix Функции
PHP Manual

ifx_free_result

(PHP 4, PHP <=5.2.0)

ifx_free_result — Releases resources for the query

Описание

bool ifx_free_result ( resource $result_id )

Releases resources for the query associated with result_id.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_do() - Execute a previously prepared SQL-statement

ifx_free_char
ifx_get_blob
Informix Функции


Return the content of a blob object

ifx_free_result
ifx_get_char
Informix Функции
PHP Manual

ifx_get_blob

(PHP 4, PHP <=5.2.0)

ifx_get_blob — Return the content of a blob object

Описание

string ifx_get_blob ( int $bid )

Returns the content of the blob object.

Список параметров

bid

The BLOB object id.

Возвращаемые значения

The contents of the BLOB as a string, or FALSE on errors.

Смотрите также

  • ifx_get_char() - Return the content of the char object

ifx_free_result
ifx_get_char
Informix Функции


Return the content of the char object

ifx_get_blob
ifx_getsqlca
Informix Функции
PHP Manual

ifx_get_char

(PHP 4, PHP <=5.2.0)

ifx_get_char — Return the content of the char object

Описание

string ifx_get_char ( int $bid )

Returns the content of the char object.

Список параметров

bid

The char object-id.

Возвращаемые значения

Returns the contents as a string, or FALSE on errors.

Смотрите также

  • ifx_get_blob() - Return the content of a blob object

ifx_get_blob
ifx_getsqlca
Informix Функции


Get the contents of sqlca.sqlerrd[0..5] after a query

ifx_get_char
ifx_htmltbl_result
Informix Функции
PHP Manual

ifx_getsqlca

(PHP 4, PHP <=5.2.0)

ifx_getsqlca — Get the contents of sqlca.sqlerrd[0..5] after a query

Описание

array ifx_getsqlca ( resource $result_id )

Returns a pseudo-row with sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] after the query associated with result_id.

For inserts, updates and deletes the values returned are those as set by the server after executing the query. This gives access to the number of affected rows and the serial insert value. For SELECTs the values are those saved after the PREPARE statement. This gives access to the *estimated* number of affected rows. The use of this function saves the overhead of executing a SELECT dbinfo('sqlca.sqlerrdx') query, as it retrieves the values that were saved by the ifx driver at the appropriate moment.

Список параметров

result_id

result_id is a valid result id returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Returns an associative array with the following entries: sqlerrd0, sqlerrd1, sqlerrd2, sqlerrd3, sqlerrd4 and sqlerrd5.

Примеры

Пример #1 Retrieve Informix sqlca.sqlerrd[x] values

<?php
/* assume the first column of 'sometable' is a serial */
$qid = ifx_query("insert into sometable
                  values (0, '2nd column', 'another column') ", $connid);
if (!$qid) {
    /* ... error ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "The serial value of the inserted row is : $serial_value<br />\n";
?>

ifx_get_char
ifx_htmltbl_result
Informix Функции


Formats all rows of a query into a HTML table

ifx_getsqlca
ifx_nullformat
Informix Функции
PHP Manual

ifx_htmltbl_result

(PHP 4, PHP <=5.2.0)

ifx_htmltbl_result — Formats all rows of a query into a HTML table

Описание

int ifx_htmltbl_result ( resource $result_id [, string $html_table_options ] )

Formats and prints all rows of the result_id query into a HTML table.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

html_table_options

This optional argument is a string of <table> tag options.

Возвращаемые значения

Returns the number of fetched rows, or FALSE on errors.

Примеры

Пример #1 Informix results as HTML table

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do($rid)) {
    /* ... error ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

ifx_getsqlca
ifx_nullformat
Informix Функции


Sets the default return value on a fetch row

ifx_htmltbl_result
ifx_num_fields
Informix Функции
PHP Manual

ifx_nullformat

(PHP 4, PHP <=5.2.0)

ifx_nullformat — Sets the default return value on a fetch row

Описание

bool ifx_nullformat ( int $mode )

Sets the default return value of a NULL-value on a fetch row.

Список параметров

mode

Mode "0" returns "", and mode "1" returns "NULL".

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ifx_htmltbl_result
ifx_num_fields
Informix Функции


Returns the number of columns in the query

ifx_nullformat
ifx_num_rows
Informix Функции
PHP Manual

ifx_num_fields

(PHP 4, PHP <=5.2.0)

ifx_num_fields — Returns the number of columns in the query

Описание

int ifx_num_fields ( resource $result_id )

After preparing or executing a query, this call gives you the number of columns in the query.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Returns the number of columns in query for result_id, or FALSE on errors.

Примеры

Пример #1 ifx_num_fields() Example

<?php
$conn_id = ifx_connect("db", "user", "password");
$res_id = ifx_query("select * from systables", $conn_id);
echo ifx_num_fields($res_id);
?>

Смотрите также

  • ifx_num_rows() - Count the rows already fetched from a query

ifx_nullformat
ifx_num_rows
Informix Функции


Count the rows already fetched from a query

ifx_num_fields
ifx_pconnect
Informix Функции
PHP Manual

ifx_num_rows

(PHP 4, PHP <=5.2.0)

ifx_num_rows — Count the rows already fetched from a query

Описание

int ifx_num_rows ( resource $result_id )

Gives the number of rows fetched so far for a query with result_id after a ifx_query() or ifx_do() query.

Список параметров

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

Возвращаемые значения

Returns the number of fetched rows or FALSE on errors.

Смотрите также

  • ifx_num_fields() - Returns the number of columns in the query

ifx_num_fields
ifx_pconnect
Informix Функции


Open persistent Informix connection

ifx_num_rows
ifx_prepare
Informix Функции
PHP Manual

ifx_pconnect

(PHP 4, PHP <=5.2.0)

ifx_pconnect — Open persistent Informix connection

Описание

resource ifx_pconnect ([ string $database [, string $userid [, string $password ]]] )

ifx_pconnect() acts very much like ifx_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ifx_close() will not close links established by ifx_pconnect()).

This type of links is therefore called 'persistent'.

Список параметров

All of the arguments are optional, and if they're missing, defaults are taken from values supplied in php.ini (ifx.default_host for the host (Informix libraries will use INFORMIXSERVER environment value if not defined), ifx.default_user for user, ifx.default_password for the password (none if not defined).

database

The database name, as a string.

userid

The username, as a string.

password

The password, as a string.

Возвращаемые значения

Returns: valid Informix persistent link identifier on success, or FALSE on errors.

Смотрите также

  • ifx_connect() - Open Informix server connection

ifx_num_rows
ifx_prepare
Informix Функции


Prepare an SQL-statement for execution

ifx_pconnect
ifx_query
Informix Функции
PHP Manual

ifx_prepare

(PHP 4, PHP <=5.2.0)

ifx_prepare — Prepare an SQL-statement for execution

Описание

resource ifx_prepare ( string $query , resource $link_identifier [, int $cursor_def ], mixed $blobidarray )

Prepares a query for later use with ifx_do().

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

Список параметров

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

Возвращаемые значения

Returns a valid result identifier for use by ifx_do(), or FALSE on errors.

Смотрите также

  • ifx_do() - Execute a previously prepared SQL-statement

ifx_pconnect
ifx_query
Informix Функции


Send Informix query

ifx_prepare
ifx_textasvarchar
Informix Функции
PHP Manual

ifx_query

(PHP 4, PHP <=5.2.0)

ifx_query — Send Informix query

Описание

resource ifx_query ( string $query , resource $link_identifier [, int $cursor_type [, mixed $blobidarray ]] )

Sends a query to the currently active database on the server that's associated with the specified link identifier.

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

Список параметров

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together. I you omit this parameter the cursor is a normal sequential cursor.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

Возвращаемые значения

Returns valid Informix result identifier on success, or FALSE on errors.

Примеры

Пример #1 Show all rows of the "orders" table as a HTML table

<?php
ifx_textasvarchar(1);      // use "text mode" for blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error(), ifx_errormsg());
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>

Пример #2 Insert some values into the "catalog" table

<?php

// create blob id's for a byte and text column
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");

// store blob id's in a blobid array
$blobidarray[] = $textid;
$blobidarray[] = $byteid;

// launch query
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
    /* ... error ... */
}

// free result id
ifx_free_result($res_id);
?>

Смотрите также

  • ifx_connect() - Open Informix server connection

ifx_prepare
ifx_textasvarchar
Informix Функции


Set the default text mode

ifx_query
ifx_update_blob
Informix Функции
PHP Manual

ifx_textasvarchar

(PHP 4, PHP <=5.2.0)

ifx_textasvarchar — Set the default text mode

Описание

bool ifx_textasvarchar ( int $mode )

Sets the default text mode for all select-queries.

Список параметров

mode

Mode "0" will return a blob id, and mode "1" will return a varchar with text content.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_byteasvarchar() - Set the default byte mode

ifx_query
ifx_update_blob
Informix Функции


Updates the content of the blob object

ifx_textasvarchar
ifx_update_char
Informix Функции
PHP Manual

ifx_update_blob

(PHP 4, PHP <=5.2.0)

ifx_update_blob — Updates the content of the blob object

Описание

bool ifx_update_blob ( int $bid , string $content )

Updates the content of the blob object for the given blob object bid.

Список параметров

bid

A BLOB object identifier.

content

The new data, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_update_char() - Updates the content of the char object

ifx_textasvarchar
ifx_update_char
Informix Функции


Updates the content of the char object

ifx_update_blob
ifxus_close_slob
Informix Функции
PHP Manual

ifx_update_char

(PHP 4, PHP <=5.2.0)

ifx_update_char — Updates the content of the char object

Описание

bool ifx_update_char ( int $bid , string $content )

Updates the content of the char object for the given char object bid.

Список параметров

bid

A char object identifier.

content

The new data, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_update_blob() - Updates the content of the blob object

ifx_update_blob
ifxus_close_slob
Informix Функции


Deletes the slob object

ifx_update_char
ifxus_create_slob
Informix Функции
PHP Manual

ifxus_close_slob

(PHP 4, PHP <=5.2.0)

ifxus_close_slob — Deletes the slob object

Описание

bool ifxus_close_slob ( int $bid )

Deletes the slob object on the given slob object-id bid.

Список параметров

bid

An existing slob id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifxus_open_slob() - Opens an slob object

ifx_update_char
ifxus_create_slob
Informix Функции


Creates an slob object and opens it

ifxus_close_slob
ifxus_free_slob
Informix Функции
PHP Manual

ifxus_create_slob

(PHP 4, PHP <=5.2.0)

ifxus_create_slob — Creates an slob object and opens it

Описание

int ifxus_create_slob ( int $mode )

Creates an slob object and opens it.

Список параметров

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Возвращаемые значения

Return the new slob object-id, or FALSE on errors.

Смотрите также

  • ifxus_close_slob() - Deletes the slob object
  • ifxus_free_slob() - Deletes the slob object

ifxus_close_slob
ifxus_free_slob
Informix Функции


Deletes the slob object

ifxus_create_slob
ifxus_open_slob
Informix Функции
PHP Manual

ifxus_free_slob

(PHP 4, PHP <=5.2.0)

ifxus_free_slob — Deletes the slob object

Описание

bool ifxus_free_slob ( int $bid )

Deletes the slob object.

Список параметров

bid

An existing slob id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifxus_close_slob() - Deletes the slob object

ifxus_create_slob
ifxus_open_slob
Informix Функции


Opens an slob object

ifxus_free_slob
ifxus_read_slob
Informix Функции
PHP Manual

ifxus_open_slob

(PHP 4, PHP <=5.2.0)

ifxus_open_slob — Opens an slob object

Описание

int ifxus_open_slob ( int $bid , int $mode )

Opens an slob object. bid should be an existing slob id.

Список параметров

bid

An existing slob id.

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Возвращаемые значения

Returns the new slob object-id, or FALSE on errors.

Смотрите также

  • ifxus_close_slob() - Deletes the slob object
  • ifxus_free_slob() - Deletes the slob object

ifxus_free_slob
ifxus_read_slob
Informix Функции


Reads nbytes of the slob object

ifxus_open_slob
ifxus_seek_slob
Informix Функции
PHP Manual

ifxus_read_slob

(PHP 4, PHP <=5.2.0)

ifxus_read_slob — Reads nbytes of the slob object

Описание

string ifxus_read_slob ( int $bid , int $nbytes )

Reads nbytes of the slob object.

Список параметров

bid

An existing slob id.

nbytes

The number of bytes to read.

Возвращаемые значения

Returns the slob contents as a string, or FALSE on errors.

Смотрите также

  • ifxus_write_slob() - Writes a string into the slob object

ifxus_open_slob
ifxus_seek_slob
Informix Функции


Sets the current file or seek position

ifxus_read_slob
ifxus_tell_slob
Informix Функции
PHP Manual

ifxus_seek_slob

(PHP 4, PHP <=5.2.0)

ifxus_seek_slob — Sets the current file or seek position

Описание

int ifxus_seek_slob ( int $bid , int $mode , int $offset )

Sets the current file or seek position of an open slob object.

Список параметров

bid

An existing slob id.

mode

0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.

offset

A byte offset.

Возвращаемые значения

Returns the seek position as an integer, or FALSE on errors.

Смотрите также

  • ifxus_tell_slob() - Returns the current file or seek position

ifxus_read_slob
ifxus_tell_slob
Informix Функции


Returns the current file or seek position

ifxus_seek_slob
ifxus_write_slob
Informix Функции
PHP Manual

ifxus_tell_slob

(PHP 4, PHP <=5.2.0)

ifxus_tell_slob — Returns the current file or seek position

Описание

int ifxus_tell_slob ( int $bid )

Returns the current file or seek position of an open slob object

Список параметров

bid

An existing slob id.

Возвращаемые значения

Returns the seek position as an integer, or FALSE on errors.

Смотрите также

  • ifxus_seek_slob() - Sets the current file or seek position

ifxus_seek_slob
ifxus_write_slob
Informix Функции


Writes a string into the slob object

ifxus_tell_slob
Ingres
Informix Функции
PHP Manual

ifxus_write_slob

(PHP 4, PHP <=5.2.0)

ifxus_write_slob — Writes a string into the slob object

Описание

int ifxus_write_slob ( int $bid , string $content )

Writes a string into the slob object.

Список параметров

bid

An existing slob id.

content

The content to write, as a string.

Возвращаемые значения

Returns the bytes written as an integer, or FALSE on errors.

Смотрите также

  • ifxus_read_slob() - Reads nbytes of the slob object

ifxus_tell_slob
Ingres
Informix Функции


Ingres DBMS, EDBC, and Enterprise Access Gateways

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • Ingres Функции
    • ingres_autocommit_state — Test if the connection is using autocommit
    • ingres_autocommit — Switch autocommit on or off
    • ingres_charset — Returns the installation character set
    • ingres_close — Close an Ingres database connection
    • ingres_commit — Commit a transaction
    • ingres_connect — Open a connection to an Ingres database
    • ingres_cursor — Get a cursor name for a given result resource
    • ingres_errno — Get the last Ingres error number generated
    • ingres_error — Get a meaningful error message for the last error generated
    • ingres_errsqlstate — Get the last SQLSTATE error code generated
    • ingres_escape_string — Escape special characters for use in a query
    • ingres_execute — Execute a prepared query
    • ingres_fetch_array — Fetch a row of result into an array
    • ingres_fetch_assoc — Fetch a row of result into an associative array
    • ingres_fetch_object — Fetch a row of result into an object
    • ingres_fetch_proc_return — Get the return value from a procedure call
    • ingres_fetch_row — Fetch a row of result into an enumerated array
    • ingres_field_length — Get the length of a field
    • ingres_field_name — Get the name of a field in a query result
    • ingres_field_nullable — Test if a field is nullable
    • ingres_field_precision — Get the precision of a field
    • ingres_field_scale — Get the scale of a field
    • ingres_field_type — Get the type of a field in a query result
    • ingres_free_result — Free the resources associated with a result identifier
    • ingres_next_error — Get the next Ingres error
    • ingres_num_fields — Get the number of fields returned by the last query
    • ingres_num_rows — Get the number of rows affected or returned by a query
    • ingres_pconnect — Open a persistent connection to an Ingres database
    • ingres_prepare — Prepare a query for later execution
    • ingres_query — Send an SQL query to Ingres
    • ingres_result_seek — Set the row position before fetching data
    • ingres_rollback — Roll back a transaction
    • ingres_set_environment — Set environment features controlling output options
    • ingres_unbuffered_query — Send an unbuffered SQL query to Ingres
ifxus_write_slob
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The Ingres driver for PHP enables you to connect to and query the Ingres DBMS, EDBC, and Enterprise Access Gateways.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Ingres
Установка и настройка
Ingres


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Ingres


Требования

To use or build the PHP extension for Ingres you must have a working Ingres client environment. You can download the client software for Ingres from » http://esd.ingres.com/.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ingres.

You can download the DLL for this PECL extension from » http://esd.ingres.com/product/drivers/PHP/.

To have these functions available, you must » download and compile this extension, enabling Ingres support using the --with-ingres[=DIR] option, where DIR is the Ingres base directory. If the II_SYSTEM environment variable is not set correctly you may need to use --with-ingres=DIR to specify your Ingres installation directory.

PHP code written for version 2.x and later is not backward-compatible with earlier versions of this PHP extension. However, it is possible to run two incompatible releases within the same PHP environment using the --enable-ingres2 option. This configuration option renames the extension to ingres2, changing function names, configuration settings, and constants. For example, with this option enabled, ingres_connect() becomes ingres2_connect().

To use this extension the system environment variable II_SYSTEM must be defined. Linux and UNIX users will also need to define the shared library search path, for example, LD_LIBRARY_PATH. When used with the Apache web server these variables must be set explicitly in the startup script for Apache. In addition, the PassEnv directive is required for the Ingres extension to load the correct shared libraries. For example:

Пример #1 Example usage of PassEnv for Ingres

<IfModule mod_env.c>
    PassEnv II_SYSTEM
    PassEnv LD_LIBRARY_PATH
</IfModule>

Замечание:

For example configurations for different web servers and operating systems see » http://community.ingres.com/wiki/Ingres_Articles#Ingres_and_Web_Servers.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Ingres configuration options
Name | Default | Changeable | Changelog
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.auto | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Available since ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

ingres.allow_persistent boolean

Specifies whether to allow persistent connections to Ingres

ingres.array_index_start integer

Specifies the start value for an integer key for arrays generated by ingres_fetch_row() or ingres_fetch_array(). By default ingres.array_index_start is set to 1. If you wish to make the ingres extension behave like other database extensions set this configuration option to 0.

ingres.auto boolean

Enables or disables autocommit emulation. Ingres cannot have multiple cursors open with autocommit enabled. When enabled, the driver emulates autocommit.

ingres.blob_segment_length integer

Specifies the amount of memory to use when reading BLOB data, in bytes

ingres.cursor_mode integer

Specifies the default mode for cursors opened with ingres_prepare(). Valid values are INGRES_CURSOR_UPDATE or INGRES_CURSOR_READONLY.

ingres.default_database string

Specifies the default database name to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

ingres.default_password string

Specifies the default password to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

ingres.default_user string

Specifies the default user name to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

ingres.describe boolean

Enables the use of DESCRIBE INPUT to determine the expected data types for queries that use parameters. Available with Ingres 9.1.0 and later. When disabled, queries that have parameters passed may need to manually describe the types of those parameters using the types parameter in ingres_query().

Замечание:

Enabling this feature with ingres_query() will cause additional communications traffic between this extension and the server. To minimize this additional traffic, use ingres_prepare() and ingres_execute().

ingres.fetch_buffer_size integer

Specifies the number of pre-fetch rows that ingres_fetch_array(), ingres_fetch_object() and ingres_fetch_row() will try and fetch in one fetch operation.

ingres.max_links integer

Specifies the maximum number of Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

ingres.max_persistent integer

Specifies the maximum number of persistent Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

ingres.reuse_connection boolean

Reuses an existing active connection if connecting to the same database with the same user name

ingres.scrollable boolean

Enables support for scrollable cursors. When fetching CLOB or BLOB data, this should be set to FALSE. Available with Ingres 9.2.0 or later.

ingres.trace boolean

Enables simple tracing using E_NOTICE messages

ingres.trace_connect boolean

Prints E_NOTICE messages during ingres_connect() or ingres_pconnect() calls

ingres.utf8 boolean

Assumes that strings being passed to National Character column types (NVARCHAR or NCHAR) are using UTF8 encoding and converts them to UTF16 for the server

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

ingres_connect() and ingres_pconnect() return an Ingres link identifier.

ingres_query() and ingres_unbuffered_query() return an Ingres result identifier.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

INGRES_ASSOC (integer)
Columns are returned into the array having the fieldname as the array index. Used with ingres_fetch_array().
INGRES_NUM (integer)
Columns are returned into the array having a numerical index to the fields. By default this index starts at 1, the first field in the result. To change this value, see ingres.array_index_start. Used with ingres_fetch_array().
INGRES_BOTH (integer)
Columns are returned into the array having both a numerical index and the fieldname as the array index. Used with ingres_fetch_array().
INGRES_EXT_VERSION (string)
Specifies the version of the Ingres Extension. Available since version 1.2.0 of the PECL extension.
INGRES_API_VERSION (integer)
Specifies the version of Ingres OpenAPI that the extension was built against. Available since version 1.2.0 of the PECL extension.
INGRES_CURSOR_READONLY (integer)
Specifies that Ingres cursors should be opened in "readonly" mode. Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode.
INGRES_CURSOR_UPDATE (integer)
Specifies that Ingres cursors should be opened "for update." Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode.
INGRES_DATE_MULTINATIONAL (integer)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL. Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_DATE_MULTINATIONAL4 (integer)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL4. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_FINNISH (integer)
Equivalent to the II_DATE_FORMAT setting of FINNISH. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_ISO (integer)
Equivalent to the II_DATE_FORMAT setting of ISO. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_ISO4 (integer)
Equivalent to the II_DATE_FORMAT setting of ISO4. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_GERMAN (integer)
Equivalent to the II_DATE_FORMAT setting of GERMAN. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_MDY (integer)
Equivalent to the II_DATE_FORMAT setting of MDY. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_DMY (integer)
Equivalent to the II_DATE_FORMAT setting of DMY. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_DATE_YMD (integer)
Equivalent to the II_DATE_FORMAT setting of YMD. Available since version 1.2.0 of the PECL extension.
Used with
ingres_connect(), ingres_pconnect()
and ingres_set_environment(). See options
in ingres_set_environment().
INGRES_MONEY_LEADING (integer)
Specifies the currency character that should be placed at the start of a money value. Equivalent to setting II_MONEY_FORMAT to "L:". Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_MONEY_TRAILING (integer)
Specifies the currency character that should be placed at the end of a money value. Equivalent to setting II_MONEY_FORMAT to "T:". Available since version 1.2.0 of the PECL extension. Used with ingres_connect(), ingres_pconnect() and ingres_set_environment(). See options in ingres_set_environment().
INGRES_STRUCTURE_BTREE (integer)
Specifies the default table or index structure to BTREE when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CBTREE (integer)
Specifies the default table or index structure to COMPRESSED BTREE when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_HASH (integer)
Specifies the default table or index structure to HASH when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CHASH (integer)
Specifies the default table or index structure to COMPRESSED HASH when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_HEAP (integer)
Specifies the default table structure to HEAP when used in combination with the
options option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CHEAP (integer)
Specifies the default table structure to COMPRESSED HEAP when used in combination with the
options option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_ISAM (integer)
Specifies the default table or index structure to ISAM when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
INGRES_STRUCTURE_CISAM (integer)
Specifies the default table or index structure to COMPRESSED ISAM when used in combination with the
options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
Used with ingres_connect() and
ingres_pconnect(). See options
in ingres_connect().
Типы ресурсов
Примеры
Ingres


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
Ingres


Basic usage

The following simple example shows how to connect to an Ingres database, execute a query, print resulting rows and disconnect from the database.

Пример #1 Simple Ingres Example

<?php
// Connecting, selecting database
$link = ingres_connect("database", "user", "password")
    or die("Could not connect: " . ingres_error($link));
echo "Connected successfully";

// Select from a table that exists in all Ingres databases
$query = "SELECT * FROM iitables";
$result = ingres_query($link,$query) or die("Query failed: " .
ingres_error($link));

// Print results in HTML
// relid - table name
// relowner - table owner
echo "<table>\n";
while ($iitables = ingres_fetch_object($result)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iitables->relid . "</td>\n";
    echo "\t\t<td>" . $iitables->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free results
ingres_free_result($result);

// Commit transaction
ingres_commit($link);

// Closing connection
ingres_close($link);
?>

Примеры
Ingres Функции
Примеры


Ingres Функции

Содержание

  • ingres_autocommit_state — Test if the connection is using autocommit
  • ingres_autocommit — Switch autocommit on or off
  • ingres_charset — Returns the installation character set
  • ingres_close — Close an Ingres database connection
  • ingres_commit — Commit a transaction
  • ingres_connect — Open a connection to an Ingres database
  • ingres_cursor — Get a cursor name for a given result resource
  • ingres_errno — Get the last Ingres error number generated
  • ingres_error — Get a meaningful error message for the last error generated
  • ingres_errsqlstate — Get the last SQLSTATE error code generated
  • ingres_escape_string — Escape special characters for use in a query
  • ingres_execute — Execute a prepared query
  • ingres_fetch_array — Fetch a row of result into an array
  • ingres_fetch_assoc — Fetch a row of result into an associative array
  • ingres_fetch_object — Fetch a row of result into an object
  • ingres_fetch_proc_return — Get the return value from a procedure call
  • ingres_fetch_row — Fetch a row of result into an enumerated array
  • ingres_field_length — Get the length of a field
  • ingres_field_name — Get the name of a field in a query result
  • ingres_field_nullable — Test if a field is nullable
  • ingres_field_precision — Get the precision of a field
  • ingres_field_scale — Get the scale of a field
  • ingres_field_type — Get the type of a field in a query result
  • ingres_free_result — Free the resources associated with a result identifier
  • ingres_next_error — Get the next Ingres error
  • ingres_num_fields — Get the number of fields returned by the last query
  • ingres_num_rows — Get the number of rows affected or returned by a query
  • ingres_pconnect — Open a persistent connection to an Ingres database
  • ingres_prepare — Prepare a query for later execution
  • ingres_query — Send an SQL query to Ingres
  • ingres_result_seek — Set the row position before fetching data
  • ingres_rollback — Roll back a transaction
  • ingres_set_environment — Set environment features controlling output options
  • ingres_unbuffered_query — Send an unbuffered SQL query to Ingres
Basic usage
ingres_autocommit_state
Ingres


Test if the connection is using autocommit

Ingres Функции
ingres_autocommit
Ingres Функции
PHP Manual

ingres_autocommit_state

(PECL ingres >= 2.0.0)

ingres_autocommit_state — Test if the connection is using autocommit

Описание

bool ingres_autocommit_state ( resource $link )

ingres_autocommit_state() is called to determine whether the current link has autocommit enabled or not.

Список параметров

link

The connection link identifier

Возвращаемые значения

Returns TRUE if autocommit is enabled or FALSE when autocommit is disabled

Смотрите также

  • ingres_autocommit() - Switch autocommit on or off
  • ingres_query() - Send an SQL query to Ingres

Ingres Функции
ingres_autocommit
Ingres Функции


Switch autocommit on or off

ingres_autocommit_state
ingres_charset
Ingres Функции
PHP Manual

ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_autocommit — Switch autocommit on or off

Описание

bool ingres_autocommit ( resource $link )

ingres_autocommit() is called before opening a transaction (before the first call to ingres_query() or just after a call to ingres_rollback() or ingres_commit()) to switch the autocommit mode of the server on or off (when the script begins the autocommit mode is off).

When autocommit mode is on, every query is automatically committed by the server, as if ingres_commit() was called after every call to ingres_query(). To see if autocommit is enabled use, ingres_autocommit_state().

By default Ingres will rollback any uncommitted transactions at the end of a request. Use this function or ingres_commit() to ensure your data is committed to the database.

Список параметров

link

The connection link identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ingres_autocommit_state() - Test if the connection is using autocommit
  • ingres_query() - Send an SQL query to Ingres
  • ingres_rollback() - Roll back a transaction
  • ingres_commit() - Commit a transaction

ingres_autocommit_state
ingres_charset
Ingres Функции


Returns the installation character set

ingres_autocommit
ingres_close
Ingres Функции
PHP Manual

ingres_charset

(PECL ingres >= 2.1.0)

ingres_charset — Returns the installation character set

Описание

string ingres_charset ( resource $link )

ingres_charset() is called to determine the character set being used by the Ingres client, from II_CHARSETxx (where xx is the installation code).

Замечание:

You can override the value returned by using the function putenv(). Changing the value of II_CHARSETxx in a running Ingres installation can cause data corruption.

Список параметров

link

The connection link identifier

Возвращаемые значения

Returns a string with the value for II_CHARSETxx or returns NULL if the value could not be determined.

Примеры

Пример #1 ingres_charset() - Get the installation character set

<?php
$link = ingres_connect($database, $user, $password);

echo ingres_charset($link) . "\n";

ingres_close($link);
?>

Смотрите также

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_query() - Send an SQL query to Ingres

ingres_autocommit
ingres_close
Ingres Функции


Close an Ingres database connection

ingres_charset
ingres_commit
Ingres Функции
PHP Manual

ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_close — Close an Ingres database connection

Описание

bool ingres_close ( resource $link )

ingres_close() closes the connection to the Ingres server that is associated with the specified link.

ingres_close() is usually unnecessary, as it will not close persistent connections and all non-persistent connections are automatically closed at the end of the script.

Список параметров

link

The connection link identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_pconnect() - Open a persistent connection to an Ingres database

ingres_charset
ingres_commit
Ingres Функции


Commit a transaction

ingres_close
ingres_connect
Ingres Функции
PHP Manual

ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_commit — Commit a transaction

Описание

bool ingres_commit ( resource $link )

ingres_commit() commits the currently open transaction, making all changes made to the database permanent.

This closes the transaction. A new transaction can be opened by sending a query with ingres_query().

You can also have the server commit automatically after every query by calling ingres_autocommit() before opening the transaction.

By default Ingres will roll back any uncommitted transactions at the end of a request. Use this function or ingres_autocommit() to ensure your that data is committed to the database.

Список параметров

link

The connection link identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off

ingres_close
ingres_connect
Ingres Функции


Open a connection to an Ingres database

ingres_commit
ingres_cursor
Ingres Функции
PHP Manual

ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_connect — Open a connection to an Ingres database

Описание

resource ingres_connect ([ string $database [, string $username [, string $password [, array $options ]]]] )

ingres_connect() opens a connection with the given Ingres database.

The connection is closed when the script ends or when ingres_close() is called on this link.

Список параметров

If some parameters are missing, ingres_connect() uses the values in php.ini for ingres.default_database, ingres.default_user and ingres.default_password.

database

The database name. Must follow the syntax:

[vnode::]dbname[/svr_class]

username

The Ingres user name

password

The password associated with username

options

ingres_connect() options

Option name | Option type | Description | Example
date_century_boundary | integer | The threshold by which a 2-digit year is determined to be in the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY. | 50
group | string | Specifies the group ID of the user, equivalent to the "-G" flag | payroll
role | string | The role ID of the application. If a role password is required, the parameter value should be specified as "role/password"
effective_user | string | The ingres user account being impersonated, equivalent to the "-u" flag | another_user
dbms_password | string | The internal database password for the user connecting to Ingres | s3cr3t
table_structure string

The default structure for new tables. Valid values for table_structure are:

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

 INGRES_STRUCTURE_BTREE
index_structure string

The default structure for new secondary indexes. Valid values for index_structure are:

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

 INGRES_STRUCTURE_HASH
login_local | boolean | Determines how the connection user ID and password are used when a VNODE is included in the target database string. If set to TRUE, the user ID and password are used to locally access the VNODE, and the VNODE login information is used to establish the DBMS connection. If set to FALSE, the process user ID is used to access the VNODE, and the connection user ID and password are used in place of the VNODE login information to establish the DBMS connection. This parameter is ignored if no VNODE is included in the target database string. The default is FALSE. | TRUE
timezone | string | Controls the timezone of the session. If not set it will default to the value defined by II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight Savings) is used.
date_format integer

Sets the allowable input and output format for Ingres dates. Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set the default date format is US, e.g. mm/dd/yy. Valid values for date_format are:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator string The character identifier for decimal data ","
money_lort integer

Leading or trailing currency sign. Valid values for money_lort are:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign string The currency symbol to be used with the MONEY datatype €
money_precision | integer | The precision of the MONEY datatype | 3
float4_precision | integer | Precision of the FLOAT4 datatype | 10
float8_precision | integer | Precision of the FLOAT8 data | 10
blob_segment_length | integer | The amount of data in bytes to fetch at a time when retrieving BLOB or CLOB data, defaults to 4096 bytes when not explicitly set | 8192

Возвращаемые значения

Returns a Ingres link resource on success или FALSE в случае возникновения ошибки

Примеры

Пример #1 Open a connection to an Ingres database

<?php
$link = ingres_connect("mydb", "user", "pass")
    or die("Could not connect");
echo "Connected successfully";
ingres_close($link);
?>

Смотрите также

  • ingres_pconnect() - Open a persistent connection to an Ingres database
  • ingres_close() - Close an Ingres database connection

ingres_commit
ingres_cursor
Ingres Функции


Get a cursor name for a given result resource

ingres_connect
ingres_errno
Ingres Функции
PHP Manual

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Get a cursor name for a given result resource

Описание

string ingres_cursor ( resource $result )

Returns a string with the active cursor name. If no cursor is active then NULL is returned.

Список параметров

result

The query result identifier

Возвращаемые значения

Returns a string containing the active cursor name. If no cursor is active then NULL is returned.

Примеры

Пример #1 Get cursor name for a query resource

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_prepare($link, "select * from table");

$cursor_name = ingres_cursor($result);

echo $cursor_name;

?>

Смотрите также

  • ingres_prepare() - Prepare a query for later execution
  • ingres_execute() - Execute a prepared query

ingres_connect
ingres_errno
Ingres Функции


Get the last Ingres error number generated

ingres_cursor
ingres_error
Ingres Функции
PHP Manual

ingres_errno

(PECL ingres >= 1.1.0)

ingres_errno — Get the last Ingres error number generated

Описание

int ingres_errno ([ resource $link ] )

Returns an integer containing the last error number. If no error was reported 0 is returned.

If a link resource is passed to ingres_errno() it returns the last error recorded for the link. If no link is passed, then ingres_errno() returns the last error reported using the default link.

The function, ingres_errno(), should always be called after executing a database query. Calling another function before ingres_errno() is called will reset or change any error code from the last Ingres function call.

Список параметров

link

The connection link identifier

Возвращаемые значения

Returns an integer containing the last error number. If no error was reported, 0 is returned.

Примеры

Пример #1 Get the last Ingres error number generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "An error occured - " . $error_code;
}
?>

Смотрите также

  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated
  • ingres_next_error() - Get the next Ingres error

ingres_cursor
ingres_error
Ingres Функции


Get a meaningful error message for the last error generated

ingres_errno
ingres_errsqlstate
Ingres Функции
PHP Manual

ingres_error

(PECL ingres >= 1.1.0)

ingres_error — Get a meaningful error message for the last error generated

Описание

string ingres_error ([ resource $link ] )

Returns a string containing the last error, or NULL if no error has occurred.

If a link resource is passed to ingres_error(), it returns the last error recorded for the link. If no link is passed then ingres_error() returns the last error reported using the default link.

The function, ingres_error(), should always be called after executing any database query. Calling another function before ingres_error() is called will reset or change any error message from the last Ingres function call.

Список параметров

link

The connection link identifier

Возвращаемые значения

Returns a string containing the last error, or NULL if no error has occurred.

Примеры

Пример #1 Get a message for the last error generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_text = ingres_error();

if (!is_null($error_text)) {
   echo "An error occured - " . $error_text;
}
?>

Смотрите также

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated
  • ingres_next_error() - Get the next Ingres error

ingres_errno
ingres_errsqlstate
Ingres Функции


Get the last SQLSTATE error code generated

ingres_error
ingres_escape_string
Ingres Функции
PHP Manual

ingres_errsqlstate

(PECL ingres >= 1.1.0)

ingres_errsqlstate — Get the last SQLSTATE error code generated

Описание

string ingres_errsqlstate ([ resource $link ] )

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

If a link resource is passed to ingres_errsqlstate(), it returns the last error recorded for the link. If no link is passed, then ingres_errsqlstate() returns the last error reported using the default link.

The function, ingres_errsqlstate(), should always be called after executing any database query. Calling another function before ingres_errsqlstate() is called will reset or change any error message from the last Ingres function call.

Список параметров

link

The connection link identifier

Возвращаемые значения

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

Примеры

Пример #1 Get the last SQLSTATE error code generated

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_sqlstate = ingres_errsqlstate($link);

if (!is_null($error_sqlstate)) {
   echo "An error occured - " . $error_sqlstate;
}
?>

Смотрите также

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_next_error() - Get the next Ingres error

ingres_error
ingres_escape_string
Ingres Функции


Escape special characters for use in a query

ingres_errsqlstate
ingres_execute
Ingres Функции
PHP Manual

ingres_escape_string

(PECL ingres >= 2.1.0)

ingres_escape_string — Escape special characters for use in a query

Описание

string ingres_escape_string ( resource $link , string $source_string )

ingres_escape_string() is used to escape certain characters within a string before it is sent to the database server.

Список параметров

link

The connection link identifier

source_string

The source string to be parsed

Возвращаемые значения

Returns a string containing the escaped data.

Примеры

Пример #1 Escape special characters for use in a query

<?php
$link = ingres_connect($database, $user, $password);

$last_name = "O'Connor";

$sql = sprintf("select * from user_profile where up_last = '%s'", ingres_escape_string( $link, $last_name));

$result = ingres_query($link, $sql);

while ($user = ingres_fetch_object($result))
{
  echo $user->up_first . '<BR/>';
}

ingres_commit($link);

ingres_close($link);

?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres

ingres_errsqlstate
ingres_execute
Ingres Функции


Execute a prepared query

ingres_escape_string
ingres_fetch_array
Ingres Функции
PHP Manual

ingres_execute

(PECL ingres >= 1.1.0)

ingres_execute — Execute a prepared query

Описание

bool ingres_execute ( resource $result [, array $params [, string $types ]] )

Execute a query prepared using ingres_prepare().

Замечание: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration.

Список параметров

result

The result query identifier

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated

ingres_escape_string
ingres_fetch_array
Ingres Функции


Fetch a row of result into an array

ingres_execute
ingres_fetch_assoc
Ingres Функции
PHP Manual

ingres_fetch_array

( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_array — Fetch a row of result into an array

Описание

array ingres_fetch_array ( resource $result [, int $result_type ] )

This function is an extended version of ingres_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

If two or more columns of the result have the same field names, the last column will take precedence. To access the another column or columns of the same name, you must use the numeric index of the column or make an alias for the column. For example:

<?php

$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];

?>

With regard to speed, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

By default, arrays created by ingres_fetch_array() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Замечание: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Список параметров

result

The query result identifier

result_type

The result type. This result_type can be INGRES_NUM for enumerated array, INGRES_ASSOC for associative array, or INGRES_BOTH (default).

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows

Примеры

Пример #1 Fetch a row of result into an array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_array($result)) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
    echo $row[1];          // using enumerated array
    echo $row[2];
}
?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_execute
ingres_fetch_assoc
Ingres Функции


Fetch a row of result into an associative array

ingres_fetch_array
ingres_fetch_object
Ingres Функции
PHP Manual

ingres_fetch_assoc

(PECL ingres >= 2.2.2)

ingres_fetch_assoc — Fetch a row of result into an associative array

Описание

array ingres_fetch_assoc ( resource $result )

This function is stores the data fetched from a query executed using ingres_query() in an associative array, using the field names as keys.

With regard to speed, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

By default, arrays created by ingres_fetch_assoc() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Замечание: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Список параметров

result

The query result identifier

Возвращаемые значения

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows

Примеры

Пример #1 Fetch a row into an associative array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_assoc($result)) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
}
?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_fetch_array
ingres_fetch_object
Ingres Функции


Fetch a row of result into an object

ingres_fetch_assoc
ingres_fetch_proc_return
Ingres Функции
PHP Manual

ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_object — Fetch a row of result into an object

Описание

object ingres_fetch_object ( resource $result [, int $result_type ] )

This function is similar to ingres_fetch_array(), with one difference - an object is returned instead of an array. Indirectly, this means that you can access the data only by the field names and not by their offsets (numbers are illegal property names).

With regard to speed, the function is identical to ingres_fetch_array(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

Замечание: Related Configurations

See also the ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Список параметров

link

The query result identifier

result_type

(Optional argument.) result_type is a constant and can take the following values: INGRES_ASSOC, INGRES_NUM, and INGRES_BOTH.

Возвращаемые значения

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows

Примеры

Пример #1 Fetch a row into an object

<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_field_name() - Get the name of a field in a query result
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_fetch_assoc
ingres_fetch_proc_return
Ingres Функции


Get the return value from a procedure call

ingres_fetch_object
ingres_fetch_row
Ingres Функции
PHP Manual

ingres_fetch_proc_return

(PECL ingres >= 1.4.0)

ingres_fetch_proc_return — Get the return value from a procedure call

Описание

int ingres_fetch_proc_return ( resource $result )

This function is used to retrieve the return value following the execution of an Ingres database procedure (stored procedure).

Замечание:

If used with a row-producing procedure, this function should be called after all the rows from the procedure have been fetched using ingres_fetch_array(), ingres_fetch_object() or ingres_fetch_row(). This function will eliminate any rows yet to be fetched should there be any left over.

Список параметров

result

The result identifier for a query

Возвращаемые значения

Returns an integer if there is a return value otherwise it will return NULL.

Примеры

Пример #1 Get the return value from a procedure call

<?php

$link = ingres_connect($database);

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

$result = ingres_query($link, "execute procedure php_proc (value = 1000)");

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

echo "return value - " . ingres_fetch_proc_return($result) . "\n";

ingres_close($link);

?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_fetch_object
ingres_fetch_row
Ingres Функции


Fetch a row of result into an enumerated array

ingres_fetch_proc_return
ingres_field_length
Ingres Функции
PHP Manual

ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_row — Fetch a row of result into an enumerated array

Описание

array ingres_fetch_row ( resource $result )

ingres_fetch_row() returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 1.

Subsequent calls to ingres_fetch_row() return the next row in the result set, or FALSE if there are no more rows.

By default, arrays created by ingres_fetch_row() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Замечание: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Список параметров

result

The query result identifier

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows

Примеры

Пример #1 Fetch a row of result into an enumerated array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Смотрите также

  • ingres_num_fields() - Get the number of fields returned by the last query
  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object

ingres_fetch_proc_return
ingres_field_length
Ingres Функции


Get the length of a field

ingres_fetch_row
ingres_field_name
Ingres Функции
PHP Manual

ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_length — Get the length of a field

Описание

int ingres_field_length ( resource $result , int $index )

ingres_field_length() returns the length of a field. This is the number of bytes the server uses to store the field. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the column number whose length will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

Returns the length of a field.

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_fetch_row
ingres_field_name
Ingres Функции


Get the name of a field in a query result

ingres_field_length
ingres_field_nullable
Ingres Функции
PHP Manual

ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_name — Get the name of a field in a query result

Описание

string ingres_field_name ( resource $result , int $index )

ingres_field_name() returns the name of a field in a query result.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the field whose name will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

Returns the name of a field in a query result или FALSE в случае возникновения ошибки

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_field_length
ingres_field_nullable
Ingres Функции


Test if a field is nullable

ingres_field_name
ingres_field_precision
Ingres Функции
PHP Manual

ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_nullable — Test if a field is nullable

Описание

bool ingres_field_nullable ( resource $result , int $index )

Test if a field is nullable.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the field whose nullability will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

ingres_field_nullable() returns TRUE if the field can be set to the NULL value and FALSE if it cannot

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_field_name
ingres_field_precision
Ingres Функции


Get the precision of a field

ingres_field_nullable
ingres_field_scale
Ingres Функции
PHP Manual

ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_precision — Get the precision of a field

Описание

int ingres_field_precision ( resource $result , int $index )

ingres_field_precision() returns the precision of a field. This value is used only for decimal, float, and money SQL data types. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the field whose precision will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

Returns the field precision as an integer

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_field_nullable
ingres_field_scale
Ingres Функции


Get the scale of a field

ingres_field_precision
ingres_field_type
Ingres Функции
PHP Manual

ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_scale — Get the scale of a field

Описание

int ingres_field_scale ( resource $result , int $index )

ingres_field_scale() returns the scale of a field. This value is used only for the decimal SQL data type. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the field whose scale will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

Returns the scale of the field, as an integer

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_field_precision
ingres_field_type
Ingres Функции


Get the type of a field in a query result

ingres_field_scale
ingres_free_result
Ingres Функции
PHP Manual

ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_type — Get the type of a field in a query result

Описание

string ingres_field_type ( resource $result , int $index )

Get the type of a field in a query result.

Замечание: Related Configurations

See ingres.array_index_start in Runtime Configuration

Список параметров

result

The query result identifier

index

index is the field whose type will be retrieved.

The possible values of index depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) then index must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 then index must be between 0 and ingres_num_fields() - 1.

Возвращаемые значения

ingres_field_type() returns the type of a field in a query result или FALSE в случае возникновения ошибки. Examples of types returned are IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE, IIAPI_VCH_TYPE. Some of these types can map to more than one SQL type depending on the length of the field (see ingres_field_length()). For example IIAPI_FLT_TYPE can be a float4 or a float8. For detailed information, see the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres documentation.

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_field_scale
ingres_free_result
Ingres Функции


Free the resources associated with a result identifier

ingres_field_type
ingres_next_error
Ingres Функции
PHP Manual

ingres_free_result

(PECL ingres >= 2.0.0)

ingres_free_result — Free the resources associated with a result identifier

Описание

bool ingres_free_result ( resource $result )

Список параметров

result

The query result identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Free a result resource

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
ingres_free_result($result);

ingres_close($link)

?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres

ingres_field_type
ingres_next_error
Ingres Функции


Get the next Ingres error

ingres_free_result
ingres_num_fields
Ingres Функции
PHP Manual

ingres_next_error

(PECL ingres >= 2.0.0)

ingres_next_error — Get the next Ingres error

Описание

bool ingres_next_error ([ resource $link ] )

Get the next Ingres error for the last executed query. Each call to ingres_next_error() can be followed by a call to ingres_errno(), ingres_error() or ingres_errsqlstate() to get the respective error number, error text, or SQL STATE. While ingres_next_error() returns TRUE, there are more errors to fetch.

Список параметров

link

The connection link identifier

Возвращаемые значения

ingres_next_error() returns TRUE if there is another error to retrieve or FALSE when there are no more errors

Смотрите также

  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated
  • ingres_errsqlstate() - Get the last SQLSTATE error code generated

ingres_free_result
ingres_num_fields
Ingres Функции


Get the number of fields returned by the last query

ingres_next_error
ingres_num_rows
Ingres Функции
PHP Manual

ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_fields — Get the number of fields returned by the last query

Описание

int ingres_num_fields ( resource $result )

ingres_num_fields() returns the number of fields in the results returned by the Ingres server after a call to ingres_query().

Список параметров

result

The query result identifier

Возвращаемые значения

Returns the number of fields

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_next_error
ingres_num_rows
Ingres Функции


Get the number of rows affected or returned by a query

ingres_num_fields
ingres_pconnect
Ingres Функции
PHP Manual

ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_rows — Get the number of rows affected or returned by a query

Описание

int ingres_num_rows ( resource $result )

This function primarily is meant to get the number of rows modified in the database. However, it can be used to retrieve the number of rows to fetch for a SELECT statement.

Замечание:

If scrollable cursors are disabled and this function is called before using ingres_fetch_array(), ingres_fetch_object(), or ingres_fetch_row(), the server will delete the result's data and the script will be unable to get them.

Instead, you should retrieve the result's data using one of these fetch functions in a loop until it returns FALSE, indicating that no more results are available.

Список параметров

result

The result identifier for a query

Возвращаемые значения

For delete, insert, or update queries, ingres_num_rows() returns the number of rows affected by the query. For other queries, ingres_num_rows() returns the number of rows in the query's result.

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_num_fields
ingres_pconnect
Ingres Функции


Open a persistent connection to an Ingres database

ingres_num_rows
ingres_prepare
Ingres Функции
PHP Manual

ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_pconnect — Open a persistent connection to an Ingres database

Описание

resource ingres_pconnect ([ string $database [, string $username [, string $password [, array $options ]]]] )

Open a persistent connection to an Ingres database.

There are only two differences between this function and ingres_connect(): First, when connecting, the function will initially try to find a (persistent) link that is already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection. Second, the connection to the Ingres server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ingres_close() will not close links established by ingres_pconnect()). This type of link is therefore called "persistent".

Список параметров

database

The database name. Must follow the syntax:

[vnode::]dbname[/svr_class]

username

The Ingres user name

password

The password associated with username

options

See ingres_connect() for the list of options that can be passed

Возвращаемые значения

Returns an Ingres link resource on success или FALSE в случае возникновения ошибки

Смотрите также

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_close() - Close an Ingres database connection

ingres_num_rows
ingres_prepare
Ingres Функции


Prepare a query for later execution

ingres_pconnect
ingres_query
Ingres Функции
PHP Manual

ingres_prepare

(PECL ingres >= 1.1.0)

ingres_prepare — Prepare a query for later execution

Описание

mixed ingres_prepare ( resource $link , string $query )

Prepares a query for execution by ingres_execute().

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed.

Замечание: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration.

Список параметров

link

The connection link identifier

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements which cannot be executed using ingres_prepare()

Возвращаемые значения

ingres_prepare() returns a query result identifier that
is used with ingres_execute() to execute the query. To see
if an error occurred, use ingres_errno(),
ingres_error(), or
ingres_errsqlstate().

Смотрите также

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated

ingres_pconnect
ingres_query
Ingres Функции


Send an SQL query to Ingres

ingres_prepare
ingres_result_seek
Ingres Функции
PHP Manual

ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_query — Send an SQL query to Ingres

Описание

mixed ingres_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed.

Замечание: Related Configurations

See also the ingres.describe, ingres.scrollable and ingres.utf8 directives in Runtime Configuration

Список параметров

link

The connection link identifier.

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation.

Data inside the query should be properly escaped.

The following types of SQL queries cannot be sent with this function:

  • close (see ingres_close())
  • commit (see ingres_commit())
  • connect (see ingres_connect())
  • disconnect (see ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (see ingres_rollback())
  • savepoint
  • set autocommit (see ingres_autocommit())
  • all cursor-related queries are unsupported

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. When ingres.describe is enabled, this parameter can be ignored as the driver automatically fetches the expected parameter types from the server.

Type code | Ingres type
a | BOOLEAN
b | BYTE
B | LONG BYTE/BLOB
c | CHAR
d | DATE/ANSIDATE/TIMESTAMP/TIME
f | FLOAT
i | INTEGER
L | LONG TEXT
m | MONEY
M | LONG NVARCHAR
n | NCHAR
N | NVARCHAR
t | TEXT
v | VARCHAR
V | LONG VARCHAR

Возвращаемые значения

ingres_query() returns a query result identifier on
success else it returns FALSE. To see if an error
occurred use ingres_errno(),
ingres_error() or
ingres_errsqlstate().

Примеры

Пример #1 Send a simple select

<?php
$link = ingres_connect("demodb");

$result = ingres_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Пример #2 Passing query parameters to ingres_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Пример #3 Inserting a BLOB with parameter types

<?php
$link = ingres_connect("demodb");

//Open a photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Prepare parameters
$params[] = $blob_data;
$params[] = 1201;

//Define parameter types
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}

ingres_commit($link);

ingres_close($link);
?>

Смотрите также

  • ingres_unbuffered_query() - Send an unbuffered SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated

ingres_prepare
ingres_result_seek
Ingres Функции


Set the row position before fetching data

ingres_query
ingres_rollback
Ingres Функции
PHP Manual

ingres_result_seek

(PECL ingres >= 2.1.0)

ingres_result_seek — Set the row position before fetching data

Описание

bool ingres_result_seek ( resource $result , int $position )

This function is used to position the cursor associated with the result resource before issuing a fetch. If ingres.array_index_start is set to 0 then the first row is 0 else it is 1. ingres_result_seek() can be used only with queries that make use of scrollable cursors. It cannot be used with ingres_unbuffered_query().

Замечание: Related Configurations

See also the ingres.scrollable and ingres.array_index_start directives in Runtime Configuration.

Список параметров

result

The result identifier for a query

position

The row to position the cursor on. If ingres.array_index_start is set to 0, then the first row is 0, else it is 1

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Position the cursor on the 3rd row

<?php

$result=ingres_query($link, "select * from airport where ap_ccode = 'ES' order by ap_place asc");

/* goto row 3 */
if (!ingres_result_seek($result, 3))
{
    echo ingres_errno() . " - " . ingres_error . "\n";
    die("i died");
}
else
{
    $airport = ingres_fetch_object ($result);
    {
        echo $airport->ap_iatacode . " - " .  $airport->ap_name . "\n";
    }
}

ingres_commit($link);

?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array

ingres_query
ingres_rollback
Ingres Функции


Roll back a transaction

ingres_result_seek
ingres_set_environment
Ingres Функции
PHP Manual

ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_rollback — Roll back a transaction

Описание

bool ingres_rollback ( resource $link )

ingres_rollback() rolls back the currently open transaction, actually cancelling all changes made to the database during the transaction.

This closes the transaction. A new transaction can be opened by sending a query with ingres_query().

Список параметров

link

The connection link identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_commit() - Commit a transaction
  • ingres_autocommit() - Switch autocommit on or off

ingres_result_seek
ingres_set_environment
Ingres Функции


Set environment features controlling output options

ingres_rollback
ingres_unbuffered_query
Ingres Функции
PHP Manual

ingres_set_environment

(PECL ingres >= 1.2.0)

ingres_set_environment — Set environment features controlling output options

Описание

bool ingres_set_environment ( resource $link , array $options )

ingres_set_environment() is called to set environmental options that affect the output of certain values from Ingres, such as the timezone, date format, decimal character separator, and float precision.

Список параметров

link

The connection link identifier

options

An enumerated array of option name/value pairs. The following table lists the option name and the expected type

Option name | Option type | Description | Example
date_century_boundary | integer | The threshold by which a 2-digit year is determined to be in the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY | 50
timezone | string | Controls the timezone of the session. If not set, it will default the value defined by II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight Savings) is used. | UNITED-KINGDOM
date_format integer

Sets the allowable input and output format for Ingres dates. Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set, the default date format is US, for example mm/dd/yy. Valid values for date_format are:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_ISO4
decimal_separator string The character identifier for decimal data ","
money_lort integer

Leading or trailing currency sign. Valid values for money_lort are:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_LEADING
money_sign string The currency symbol to be used with the MONEY datatype €
money_precision | integer | The precision of the MONEY datatype | 2
float4_precision | integer | Precision of the FLOAT4 datatype | 10
float8_precision | integer | Precision of the FLOAT8 data | 10
blob_segment_length | integer | The amount of data in bytes to fetch at a time when retrieving BLOB or CLOB data. Defaults to 4096 bytes when not set explicitly | 8192

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Set date_format to ISO4

<?php
$options = array( "date_format" => INGRES_DATE_ISO4 );

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Пример #2 Set timezone to HONG-KONG

<?php

$options = array( "timezone" => "HONG-KONG");

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Смотрите также

  • ingres_connect() - Open a connection to an Ingres database
  • ingres_query() - Send an SQL query to Ingres

ingres_rollback
ingres_unbuffered_query
Ingres Функции


Send an unbuffered SQL query to Ingres

ingres_set_environment
MaxDB
Ingres Функции
PHP Manual

ingres_unbuffered_query

(Информация о версии неизвестна, возможно, только в SVN)

ingres_unbuffered_query — Send an unbuffered SQL query to Ingres

Описание

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_unbuffered_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_unbuffered_query() opens a new transaction. To close the transaction, you can call either ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed. Ingres allows only a single unbuffered statement to be active at any one time. The extension will close any active unbuffered statements before executing any SQL. In addition you cannot use ingres_result_seek() to position the row before fetching.

Замечание: Related Configurations

See also the ingres.describe and ingres.utf8 directives in Runtime Configuration.

Список параметров

link

The connection link identifier

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements that cannot be executed via ingres_unbuffered_query().

Data inside the query should be properly escaped.

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.

Возвращаемые значения

ingres_unbuffered_query() returns a query result identifier when there are rows to fetch; else it returns FALSE when there are no rows, as is the case of an INSERT, UPDATE, or DELETE statement. To see if an error occurred, use ingres_errno(), ingres_error(), or ingres_errsqlstate().

Примеры

Пример #1 Issue a simple un-buffered select

<?php
$link = ingres_connect("demodb");

$result = ingres_unbuffered_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Пример #2 Passing query parameters to ingres_unbuffered_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_unbuffered_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Пример #3 Inserting a BLOB with parameter types

<?php
$link = ingres_connect("demodb");

//Open a photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Prepare parameters
$params[] = $blob_data;
$params[] = 1201;

//Define parameter types
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_unbuffered_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}
?>

Смотрите также

  • ingres_query() - Send an SQL query to Ingres
  • ingres_fetch_array() - Fetch a row of result into an array
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Fetch a row of result into an object
  • ingres_fetch_row() - Fetch a row of result into an enumerated array
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated

ingres_set_environment
MaxDB
Ingres Функции


MaxDB

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • MaxDB Функции
    • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
    • maxdb_autocommit — Turns on or off auto-commiting database modifications
    • maxdb_bind_param — Псевдоним maxdb_stmt_bind_param
    • maxdb_bind_result — Псевдоним maxdb_stmt_bind_result
    • maxdb_change_user — Changes the user of the specified database connection
    • maxdb_character_set_name — Returns the default character set for the database connection
    • maxdb_client_encoding — Псевдоним maxdb_character_set_name
    • maxdb_close_long_data — Псевдоним maxdb_stmt_close_long_data
    • maxdb_close — Closes a previously opened database connection
    • maxdb_commit — Commits the current transaction
    • maxdb_connect_errno — Returns the error code from last connect call
    • maxdb_connect_error — Returns a string description of the last connect error
    • maxdb_connect — Open a new connection to the MaxDB server
    • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
    • maxdb_debug — Performs debugging operations
    • maxdb_disable_reads_from_master — Disable reads from master
    • maxdb_disable_rpl_parse — Disable RPL parse
    • maxdb_dump_debug_info — Dump debugging information into the log
    • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
    • maxdb_enable_reads_from_master — Enable reads from master
    • maxdb_enable_rpl_parse — Enable RPL parse
    • maxdb_errno — Returns the error code for the most recent function call
    • maxdb_error — Returns a string description of the last error
    • maxdb_escape_string — Псевдоним maxdb_real_escape_string
    • maxdb_execute — Псевдоним maxdb_stmt_execute
    • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
    • maxdb_fetch_assoc — Fetch a result row as an associative array
    • maxdb_fetch_field_direct — Fetch meta-data for a single field
    • maxdb_fetch_field — Returns the next field in the result set
    • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
    • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
    • maxdb_fetch_object — Returns the current row of a result set as an object
    • maxdb_fetch_row — Get a result row as an enumerated array
    • maxdb_fetch — Псевдоним maxdb_stmt_fetch
    • maxdb_field_count — Returns the number of columns for the most recent query
    • maxdb_field_seek — Set result pointer to a specified field offset
    • maxdb_field_tell — Get current field offset of a result pointer
    • maxdb_free_result — Frees the memory associated with a result
    • maxdb_get_client_info — Returns the MaxDB client version as a string
    • maxdb_get_client_version — Get MaxDB client info
    • maxdb_get_host_info — Returns a string representing the type of connection used
    • maxdb_get_metadata — Псевдоним maxdb_stmt_result_metadata
    • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
    • maxdb_get_server_info — Returns the version of the MaxDB server
    • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
    • maxdb_info — Retrieves information about the most recently executed query
    • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
    • maxdb_insert_id — Returns the auto generated id used in the last query
    • maxdb_kill — Disconnects from a MaxDB server
    • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
    • maxdb_more_results — Check if there any more query results from a multi query
    • maxdb_multi_query — Performs a query on the database
    • maxdb_next_result — Prepare next result from multi_query
    • maxdb_num_fields — Get the number of fields in a result
    • maxdb_num_rows — Gets the number of rows in a result
    • maxdb_options — Set options
    • maxdb_param_count — Псевдоним maxdb_stmt_param_count
    • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • maxdb_prepare — Prepare an SQL statement for execution
    • maxdb_query — Performs a query on the database
    • maxdb_real_connect — Opens a connection to a MaxDB server
    • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • maxdb_real_query — Execute an SQL query
    • maxdb_report — Enables or disables internal report functions
    • maxdb_rollback — Rolls back current transaction
    • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
    • maxdb_rpl_probe — RPL probe
    • maxdb_rpl_query_type — Returns RPL query type
    • maxdb_select_db — Selects the default database for database queries
    • maxdb_send_long_data — Псевдоним maxdb_stmt_send_long_data
    • maxdb_send_query — Send the query and return
    • maxdb_server_end — Shut down the embedded server
    • maxdb_server_init — Initialize embedded server
    • maxdb_set_opt — Псевдоним maxdb_options
    • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
    • maxdb_ssl_set — Used for establishing secure connections using SSL
    • maxdb_stat — Gets the current system status
    • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
    • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
    • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
    • maxdb_stmt_close — Closes a prepared statement
    • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
    • maxdb_stmt_errno — Returns the error code for the most recent statement call
    • maxdb_stmt_error — Returns a string description for last statement error
    • maxdb_stmt_execute — Executes a prepared Query
    • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
    • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
    • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
    • maxdb_stmt_num_rows — Return the number of rows in statements result set
    • maxdb_stmt_param_count — Returns the number of parameter for the given statement
    • maxdb_stmt_prepare — Prepare an SQL statement for execution
    • maxdb_stmt_reset — Resets a prepared statement
    • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
    • maxdb_stmt_send_long_data — Send data in blocks
    • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
    • maxdb_stmt_store_result — Transfers a result set from a prepared statement
    • maxdb_store_result — Transfers a result set from the last query
    • maxdb_thread_id — Returns the thread ID for the current connection
    • maxdb_thread_safe — Returns whether thread safety is given or not
    • maxdb_use_result — Initiate a result set retrieval
    • maxdb_warning_count — Returns the number of warnings from the last query for the given link
ingres_unbuffered_query
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The MaxDB PHP extension allows you to access the functionality provided by MaxDB 7.5.0 and above. More information about the MaxDB Database server can be found at » http://www.sdn.sap.com/irj/sdn/maxdb.

The MaxDB PHP extension is compatible to the MySQL mysqli extension. There are only minor differences in the behaviour of some functions due to the differences of the underlying database servers, MaxDB and MySQL.

The main differences to mysqli are in the following functions:

  • maxdb_character_set_name() - Returns only ascii or unicode.
  • maxdb_get_client_info() - Returns a different version string.
  • maxdb_get_client_version() - Returns a different version string.
  • maxdb_get_host_info() - Returns localhost or hostname.
  • maxdb_get_server_info() - Returns a different version string.
  • maxdb_get_server_version() - Returns a different version string.
  • maxdb_kill() - Only disconnects the session.
  • maxdb_multi_query() - Can not handle multiple SQL statements.
  • maxdb_next_result() - Function returns always false.
  • maxdb_options() - Supports a different set of options.
  • maxdb_report() - Supports a different report mode.
  • maxdb_stat() - Returns a different system status string.
  • maxdb_stmt_store_result() - Is not necessary for MaxDB.
  • maxdb_store_result() - Is not necessary for MaxDB.

Documentation for MaxDB can be found at » http://maxdb.sap.com/documentation/.

MaxDB
Установка и настройка
MaxDB


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
MaxDB


Требования

In order to have these functions available, you must compile PHP with MaxDB support. Additionally, you must have the MaxDB SQLDBC runtime library available to access the MaxDB server.

Documentation for MaxDB SQLDBC can be found at » http://maxdb.sap.com/documentation/.

Download the MaxDB SQLDBC package from » http://www.sdn.sap.com/irj/sdn/maxdb-downloads.

Установка и настройка
Установка
Установка и настройка


Установка

By using the --with-maxdb[=DIR] configuration option you enable PHP to access MaxDB databases. [DIR] points to the directory that contains the installed MaxDB SQLDBC package.

Windows users will need to enable php_maxdb.dll inside of php.ini.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

MaxDB Configuration Options
Name | Default | Changeable | Changelog
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

maxdb.default_host string

The default server host to use when connecting to the database server if no other host is specified.

maxdb.default_db string

The default server database to use when connecting if no other database is specified.

maxdb.default_user string

The default user name to use when connecting to the database server if no other name is specified.

maxdb.default_pw string

The default password to use when connecting to the database server if no other password is specified.

maxdb.long_readlen integer

The default maximum length of bytes that is transferred to the client if long data is retrieved from the MaxDB database server.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines resources.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following constants to use with maxdb_options() are defined. For further description of these constants see » http://maxdb.sap.com/documentation/.

MaxDB PHP client constants
Constant | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

The function maxdb_fetch_array() uses a constant for the different types of result arrays. The following constants are defined:

MaxDB fetch constants
Constant | Description
MAXDB_ASSOC | Columns are returned into the array having the fieldname as the array index.
MAXDB_ASSOC_UPPER | Columns are returned into the array having the upper case fieldname as the array index.
MAXDB_ASSOC_LOWER | Columns are returned into the array having the lower case fieldname as the array index.
MAXDB_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index.
MAXDB_NUM | Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.

Типы ресурсов
Примеры
MaxDB


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
MaxDB


Basic usage

All examples in the MaxDB PHP documentation use the HOTELDB demo database from MaxDB. More about this database can be found at » http://maxdb.sap.com/doc/7_7/44/d8c25164bb38d0e10000000a1553f7/content.htm.

To use the examples in the MaxDB PHP documentation, you have to load the tutorial data into your database. Then you have to set maxdb.default_db in php.ini to the database that contains the tutorial data.

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a MaxDB database.

Пример #1 MaxDB extension overview example

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$query = "SELECT * FROM hotel.city";
$result = maxdb_query($link, $query) or die("Query failed : " . maxdb_error());

/* Printing results in HTML */
echo "<table>\n";
while ($line = maxdb_fetch_array($result, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($line as $col_value) {
        echo "    <td>$col_value</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Free resultset */
maxdb_free_result($result);

/* Closing connection */
maxdb_close($link);
?>

The following example shows how to bind variables to a SELECT INTO statement.

Пример #2 Example for use of SELECT INTO statements

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$name = "Mbundu";

maxdb_stmt_bind_param($stmt, 'ds', $percentage, $name);
maxdb_stmt_execute($stmt);

printf ("%f\n", $percentage);

maxdb_stmt_close ($stmt);
?>

The following example shows how to use MaxDB database procedures.

Пример #3 Example fore using database procedures

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Примеры
MaxDB Функции
Примеры


Basic usage
maxdb_affected_rows
MaxDB
PHP Manual

MaxDB Функции

Предопределенные классы

maxdb

Represents a connection between PHP and a MaxDB database.

Конструктор

  • maxdb - construct a new maxdb object

Методы

  • autocommit - turns on or off auto-commiting database modifications

  • change_user - changes the user of the specified database connection

  • character_set_name - returns the default character set for the database connection

  • close - closes a previously opened connection

  • commit - commits the current transaction

  • connect - opens a new connection to MaxDB database server

  • debug - performs debugging operations

  • dump_debug_info - dumps debug information

  • get_client_info - returns client version

  • get_host_info - returns type of connection used

  • get_server_info - returns version of the MaxDB server

  • get_server_version - returns version of the MaxDB server

  • init - initializes maxdb object

  • info - retrieves information about the most recently executed query

  • kill - asks the server to kill a MaxDB thread

  • multi_query - performs multiple queries

  • more_results - check if more results exist from currently executed multi-query

  • next_result - reads next result from currently executed multi-query

  • options - set options

  • ping - pings a server connection or reconnects if there is no connection

  • prepare - prepares an SQL query

  • query - performs a query

  • real_connect - attempts to open a connection to MaxDB database server

  • escape_string - escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

  • rollback - rolls back the current transaction

  • select_db - selects the default database

  • ssl_set - sets ssl parameters

  • stat - gets the current system status

  • stmt_init- initializes a statement for use with maxdb_stmt_prepare

  • store_result - transfers a resultset from last query

  • use_result - transfers an unbuffered resultset from last query

  • thread-safe - returns whether thread safety is given or not

Свойства

  • affected_rows - gets the number of affected rows in a previous MaxDB operation

  • client_info - returns the MaxDB client version as a string

  • client_version - returns the MaxDB client version as an integer

  • errno - returns the error code for the most recent function call

  • error - returns the error string for the most recent function call

  • field_count - returns the number of columns for the most recent query

  • host_info - returns a string representing the type of connection used

  • info - retrieves information about the most recently executed query

  • insert_id - returns the auto generated id used in the last query

  • protocol_version - returns the version of the MaxDB protocol used

  • sqlstate - returns a string containing the SQLSTATE error code for the last error

  • thread_id - returns the thread ID for the current connection

  • warning_count - returns the number of warnings generated during execution of the previous SQL statement

maxdb_stmt

Represents a prepared statement.

Методы

  • bind_param - binds variables to a prepared statement

  • bind_result - binds variables to a prepared statement for result storage

  • close - closes a prepared statement

  • data-seek - seeks to an arbitrary row in a statement result set

  • execute - executes a prepared statement

  • fetch - fetches result from a prepared statement into bound variables

  • free_result - frees stored result memory for the given statement handle

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • prepare - prepares an SQL query

  • send_long_data - sends data in chunks

  • close_long_data - end sending long data

  • reset - resets a prepared statement

  • store_result - buffers complete resultset from a prepared statement

Свойства

  • affected_rows - returns affected rows from last statement execution

  • errno - returns errorcode for last statement function

  • errno - returns errormessage for last statement function

  • param_count - returns number of parameter for a given prepare statement

  • sqlstate - returns a string containing the SQLSTATE error code for the last statement function

maxdb_result

Represents the result set obtained from a query against the database.

Методы

  • close - closes resultset

  • data_seek - moves internal result pointer

  • fetch_field - gets column information from a resultset

  • fetch_fields - gets information for all columns from a resulset

  • fetch_field_direct - gets column information for specified column

  • fetch_array - fetches a result row as an associative array, a numeric array, or both.

  • fetch_assoc - fetches a result row as an associative array

  • fetch_object - fetches a result row as an object

  • fetch_row - gets a result row as an enumerated array

  • close - frees result memory

  • field_seek - set result pointer to a specified field offset

Свойства

  • current_field - returns offset of current fieldpointer

  • field_count - returns number of fields in resultset

  • lengths - returns an array of columnlengths

  • num_rows - returns number of rows in resultset

Содержание

  • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
  • maxdb_autocommit — Turns on or off auto-commiting database modifications
  • maxdb_bind_param — Псевдоним maxdb_stmt_bind_param
  • maxdb_bind_result — Псевдоним maxdb_stmt_bind_result
  • maxdb_change_user — Changes the user of the specified database connection
  • maxdb_character_set_name — Returns the default character set for the database connection
  • maxdb_client_encoding — Псевдоним maxdb_character_set_name
  • maxdb_close_long_data — Псевдоним maxdb_stmt_close_long_data
  • maxdb_close — Closes a previously opened database connection
  • maxdb_commit — Commits the current transaction
  • maxdb_connect_errno — Returns the error code from last connect call
  • maxdb_connect_error — Returns a string description of the last connect error
  • maxdb_connect — Open a new connection to the MaxDB server
  • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
  • maxdb_debug — Performs debugging operations
  • maxdb_disable_reads_from_master — Disable reads from master
  • maxdb_disable_rpl_parse — Disable RPL parse
  • maxdb_dump_debug_info — Dump debugging information into the log
  • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
  • maxdb_enable_reads_from_master — Enable reads from master
  • maxdb_enable_rpl_parse — Enable RPL parse
  • maxdb_errno — Returns the error code for the most recent function call
  • maxdb_error — Returns a string description of the last error
  • maxdb_escape_string — Псевдоним maxdb_real_escape_string
  • maxdb_execute — Псевдоним maxdb_stmt_execute
  • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc — Fetch a result row as an associative array
  • maxdb_fetch_field_direct — Fetch meta-data for a single field
  • maxdb_fetch_field — Returns the next field in the result set
  • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
  • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
  • maxdb_fetch_object — Returns the current row of a result set as an object
  • maxdb_fetch_row — Get a result row as an enumerated array
  • maxdb_fetch — Псевдоним maxdb_stmt_fetch
  • maxdb_field_count — Returns the number of columns for the most recent query
  • maxdb_field_seek — Set result pointer to a specified field offset
  • maxdb_field_tell — Get current field offset of a result pointer
  • maxdb_free_result — Frees the memory associated with a result
  • maxdb_get_client_info — Returns the MaxDB client version as a string
  • maxdb_get_client_version — Get MaxDB client info
  • maxdb_get_host_info — Returns a string representing the type of connection used
  • maxdb_get_metadata — Псевдоним maxdb_stmt_result_metadata
  • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
  • maxdb_get_server_info — Returns the version of the MaxDB server
  • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
  • maxdb_info — Retrieves information about the most recently executed query
  • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_insert_id — Returns the auto generated id used in the last query
  • maxdb_kill — Disconnects from a MaxDB server
  • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
  • maxdb_more_results — Check if there any more query results from a multi query
  • maxdb_multi_query — Performs a query on the database
  • maxdb_next_result — Prepare next result from multi_query
  • maxdb_num_fields — Get the number of fields in a result
  • maxdb_num_rows — Gets the number of rows in a result
  • maxdb_options — Set options
  • maxdb_param_count — Псевдоним maxdb_stmt_param_count
  • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • maxdb_prepare — Prepare an SQL statement for execution
  • maxdb_query — Performs a query on the database
  • maxdb_real_connect — Opens a connection to a MaxDB server
  • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • maxdb_real_query — Execute an SQL query
  • maxdb_report — Enables or disables internal report functions
  • maxdb_rollback — Rolls back current transaction
  • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
  • maxdb_rpl_probe — RPL probe
  • maxdb_rpl_query_type — Returns RPL query type
  • maxdb_select_db — Selects the default database for database queries
  • maxdb_send_long_data — Псевдоним maxdb_stmt_send_long_data
  • maxdb_send_query — Send the query and return
  • maxdb_server_end — Shut down the embedded server
  • maxdb_server_init — Initialize embedded server
  • maxdb_set_opt — Псевдоним maxdb_options
  • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
  • maxdb_ssl_set — Used for establishing secure connections using SSL
  • maxdb_stat — Gets the current system status
  • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
  • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
  • maxdb_stmt_close — Closes a prepared statement
  • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
  • maxdb_stmt_errno — Returns the error code for the most recent statement call
  • maxdb_stmt_error — Returns a string description for last statement error
  • maxdb_stmt_execute — Executes a prepared Query
  • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
  • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_num_rows — Return the number of rows in statements result set
  • maxdb_stmt_param_count — Returns the number of parameter for the given statement
  • maxdb_stmt_prepare — Prepare an SQL statement for execution
  • maxdb_stmt_reset — Resets a prepared statement
  • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
  • maxdb_stmt_send_long_data — Send data in blocks
  • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
  • maxdb_stmt_store_result — Transfers a result set from a prepared statement
  • maxdb_store_result — Transfers a result set from the last query
  • maxdb_thread_id — Returns the thread ID for the current connection
  • maxdb_thread_safe — Returns whether thread safety is given or not
  • maxdb_use_result — Initiate a result set retrieval
  • maxdb_warning_count — Returns the number of warnings from the last query for the given link
Basic usage
maxdb_affected_rows
MaxDB
PHP Manual


Gets the number of affected rows in a previous MaxDB operation

MaxDB Функции
maxdb_autocommit
MaxDB Функции
PHP Manual

maxdb_affected_rows

maxdb->affected_rows

(PECL maxdb >= 1.0)

maxdb_affected_rows -- maxdb->affected_rows — Gets the number of affected rows in a previous MaxDB operation

Описание

Процедурный стиль

int maxdb_affected_rows ( resource $link )

Объектно-ориентированный стиль

int $maxdb->affected_rows;

maxdb_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If this number cannot be determined, this function will return -1.

Замечание:

For SELECT statements maxdb_affected_rows() works like maxdb_num_rows().

The maxdb_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the maxdb_num_rows() function instead.

Возвращаемые значения

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the number of rows affected can not be determined.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* delete rows */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* select all rows */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Delete table Language */
$maxdb->query("DROP TABLE mycustomer");

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", maxdb_affected_rows($link));

/* delete rows */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", maxdb_affected_rows($link));

/* select all rows */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Delete table Language */
maxdb_query($link, "DROP TABLE mycustomer");

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

Смотрите также

  • maxdb_num_rows() - Gets the number of rows in a result
  • maxdb_info() - Retrieves information about the most recently executed query

MaxDB Функции
maxdb_autocommit
MaxDB Функции


Turns on or off auto-commiting database modifications

maxdb_affected_rows
maxdb_bind_param
MaxDB Функции
PHP Manual

maxdb_autocommit

maxdb::auto_commit

(PECL maxdb >= 1.0)

maxdb_autocommit -- maxdb::auto_commit — Turns on or off auto-commiting database modifications

Описание

Процедурный стиль

bool maxdb_autocommit ( resource $link , bool $mode )

Объектно-ориентированный стиль

bool maxdb::auto_commit ( bool $mode )

maxdb_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
$maxdb->autocommit(TRUE);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
maxdb_autocommit($link, TRUE);

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • maxdb_commit() - Commits the current transaction
  • maxdb_rollback() - Rolls back current transaction

maxdb_affected_rows
maxdb_bind_param
MaxDB Функции


Псевдоним maxdb_stmt_bind_param

maxdb_autocommit
maxdb_bind_result
MaxDB Функции
PHP Manual

maxdb_bind_param

(PECL maxdb 1.0)

maxdb_bind_param — Псевдоним maxdb_stmt_bind_param()

Описание

Эта функция является псевдонимом: maxdb_stmt_bind_param()

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_autocommit
maxdb_bind_result
MaxDB Функции


Псевдоним maxdb_stmt_bind_result

maxdb_bind_param
maxdb_change_user
MaxDB Функции
PHP Manual

maxdb_bind_result

(PECL maxdb 1.0)

maxdb_bind_result — Псевдоним maxdb_stmt_bind_result()

Описание

Эта функция является псевдонимом: maxdb_stmt_bind_result().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_bind_param
maxdb_change_user
MaxDB Функции


Changes the user of the specified database connection

maxdb_bind_result
maxdb_character_set_name
MaxDB Функции
PHP Manual

maxdb_change_user

maxdb::change_user

(PECL maxdb >= 1.0)

maxdb_change_user -- maxdb::change_user — Changes the user of the specified database connection

Описание

Процедурный стиль

bool maxdb_change_user ( resource $link , string $user , string $password , string $database )

Объектно-ориентированный стиль

bool maxdb::change_user ( string $user , string $password , string $database )

maxdb_change_user() is used to change the user of the specified database connection as given by the link parameter and to set the current database to that specified by the database parameter.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Замечание:

Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php

/* connect database test */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
   $row = $result->fetch_row();
   printf("Result: %s\n", $row[0]);
   $result->free();
}

/* reset all and select a new database */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
   $row = maxdb_fetch_row($result);
   printf("Result: %s\n", $row[0]);
   maxdb_free_result($result);
}

/* reset all and select a new database */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Result: a
Database running

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_select_db() - Selects the default database for database queries

maxdb_bind_result
maxdb_character_set_name
MaxDB Функции


Returns the default character set for the database connection

maxdb_change_user
maxdb_client_encoding
MaxDB Функции
PHP Manual

maxdb_character_set_name

maxdb::character_set_name

(PECL maxdb >= 1.0)

maxdb_character_set_name -- maxdb::character_set_name — Returns the default character set for the database connection

Описание

Процедурный стиль

string maxdb_character_set_name ( resource $link )

Объектно-ориентированный стиль

string maxdb::character_set_name ( void )

Returns the current character set for the database connection specified by the link parameter.

Возвращаемые значения

The default character set for the current connection, either ascii or unicode.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = $maxdb->character_set_name();
printf ("Current character set is %s\n", $charset);

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = maxdb_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Current character set is ascii

Смотрите также

  • maxdb_client_encoding() - Псевдоним maxdb_character_set_name
  • maxdb_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_change_user
maxdb_client_encoding
MaxDB Функции


Псевдоним maxdb_character_set_name

maxdb_character_set_name
maxdb_close_long_data
MaxDB Функции
PHP Manual

maxdb_client_encoding

(PECL maxdb 1.0)

maxdb_client_encoding — Псевдоним maxdb_character_set_name()

Описание

Эта функция является псевдонимом: maxdb_character_set_name().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_character_set_name
maxdb_close_long_data
MaxDB Функции


Псевдоним maxdb_stmt_close_long_data

maxdb_client_encoding
maxdb_close
MaxDB Функции
PHP Manual

maxdb_close_long_data

maxdb->close_long_data

(PECL maxdb >= 1.0)

maxdb_close_long_data -- maxdb->close_long_data — Псевдоним maxdb_stmt_close_long_data()

Описание

Эта функция является псевдонимом: maxdb_stmt_close_long_data().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_client_encoding
maxdb_close
MaxDB Функции


Closes a previously opened database connection

maxdb_close_long_data
maxdb_commit
MaxDB Функции
PHP Manual

maxdb_close

maxdb::close

(PECL maxdb >= 1.0)

maxdb_close -- maxdb::close — Closes a previously opened database connection

Описание

Процедурный стиль

bool maxdb_close ( resource $link )

Объектно-ориентированный стиль

bool maxdb::close ( void )

The maxdb_close() function closes a previously opened database connection specified by the link parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_close_long_data
maxdb_commit
MaxDB Функции


Commits the current transaction

maxdb_close
maxdb_connect_errno
MaxDB Функции
PHP Manual

maxdb_commit

maxdb::commit

(PECL maxdb >= 1.0)

maxdb_commit -- maxdb::commit — Commits the current transaction

Описание

Процедурный стиль

bool maxdb_commit ( resource $link )

Объектно-ориентированный стиль

bool maxdb::commit ( void )

Commits the current transaction for the database connection specified by the link parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
$maxdb->commit();

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
maxdb_commit($link);

/* close connection */
maxdb_close($link);
?>

The above examples produces no output.

Смотрите также

  • maxdb_autocommit() - Turns on or off auto-commiting database modifications
  • maxdb_rollback() - Rolls back current transaction

maxdb_close
maxdb_connect_errno
MaxDB Функции


Returns the error code from last connect call

maxdb_commit
maxdb_connect_error
MaxDB Функции
PHP Manual

maxdb_connect_errno

(PECL maxdb >= 1.0)

maxdb_connect_errno — Returns the error code from last connect call

Описание

int maxdb_connect_errno ( void )

The maxdb_connect_errno() function will return the last error code number for last call to maxdb_connect(). If no errors have occured, this function will return zero.

Возвращаемые значения

An error code value for the last call to maxdb_connect(), if it failed. zero means no error occurred.

Примеры

Пример #1 maxdb_connect_errno sample

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
   printf("Can't connect to localhost. Errorcode: %d\n", maxdb_connect_errno());
}
?>

Результатом выполнения данного примера будет что-то подобное:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Can't connect to localhost. Errorcode: -4008

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_commit
maxdb_connect_error
MaxDB Функции


Returns a string description of the last connect error

maxdb_connect_errno
maxdb_connect
MaxDB Функции
PHP Manual

maxdb_connect_error

(PECL maxdb >= 1.0)

maxdb_connect_error — Returns a string description of the last connect error

Описание

string maxdb_connect_error ( void )

The maxdb_connect_error() function is identical to the corresponding maxdb_connect_errno() function in every way, except instead of returning an integer error code the maxdb_connect_error() function will return a string representation of the last error to occur for the last maxdb_connect() call. If no error has occured, this function will return an empty string.

Возвращаемые значения

A string that describes the error. An empty string if no error occurred.

Примеры

Пример #1 maxdb_connect_error sample

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
}
?>

Результатом выполнения данного примера будет что-то подобное:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Can't connect to localhost. Error: POS(1) Unknown user name/password combination

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_connect_errno
maxdb_connect
MaxDB Функции


Open a new connection to the MaxDB server

maxdb_connect_error
maxdb_data_seek
MaxDB Функции
PHP Manual

maxdb_connect

maxdb::__construct

(PECL maxdb >= 1.0)

maxdb_connect -- maxdb::__construct — Open a new connection to the MaxDB server

Описание

Процедурный стиль

resource maxdb_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Объектно-ориентированный стиль

maxdb::__construct() ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

The maxdb_connect() function attempts to open a connection to the MaxDB Server running on host which can be either a host name or an IP address. Passing the string "localhost" to this parameter, the local host is assumed. If successful, the maxdb_connect() will return an resource representing the connection to the database или FALSE в случае возникновения ошибки.

The username and password parameters specify the username and password under which to connect to the MaxDB server. If the password is not provided (the NULL value is passed), the MaxDB server will attempt to authenticate the user against the maxdb.default_pw in php.ini.

The dbname parameter if provided will specify the default database to be used when performing queries. If not provied, the entry maxdb.default_db in php.ini is used.

The port and socket parameters are ignored for the MaxDB server.

Возвращаемые значения

Returns a resource which represents the connection to a MaxDB Server or FALSE if the connection failed.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Host information: localhost
maxdb_connect_error
maxdb_data_seek
MaxDB Функции


Adjusts the result pointer to an arbitary row in the result

maxdb_connect
maxdb_debug
MaxDB Функции
PHP Manual

maxdb_data_seek

maxdb_result::data_seek

(PECL maxdb >= 1.0)

maxdb_data_seek -- maxdb_result::data_seek — Adjusts the result pointer to an arbitary row in the result

Описание

Процедурный стиль

bool maxdb_data_seek ( resource $result , int $offset )

Объектно-ориентированный стиль

bool maxdb_result::data_seek ( int $offset )

The maxdb_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set represented by result. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_num_rows() - 1).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

   /* seek to row no. 10 */
   $result->data_seek(10);

   /* fetch row */
   $row = $result->fetch_row();

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* seek to row no. 400 */
   maxdb_data_seek($result, 10);

   /* fetch row */
   $row = maxdb_fetch_row($result);

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

City: Irvine  State: CA

Смотрите также

  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_connect
maxdb_debug
MaxDB Функции


Performs debugging operations

maxdb_data_seek
maxdb_disable_reads_from_master
MaxDB Функции
PHP Manual

maxdb_debug

(PECL maxdb >= 1.0)

maxdb_debug — Performs debugging operations

Описание

void maxdb_debug ( string $debug )

The maxdb_debug() can be used to trace the SQLDBC communication. The following strings can be used as a parameter to maxdb_debug():

  • TRACE SHORT ON|OFF - Enables/disables method call trace.
  • TRACE LONG ON|OFF - Enables/disables method argument and detail debug trace.
  • TRACE PACKET ON|OFF|<size> - Enables/disables packet trace, limiting the size of the traced object to the specified number of bytes, or 1000 if no size is specified.
  • TRACE SQL ON|OFF - Enables/disables high level api trace.
  • TRACE TIMESTAMP ON|OFF - Enables/disables a timestamp prefix on each line that is traced.
  • TRACE SIZE <size> - Limits the size of the trace file to <size> bytes, at least 8192 bytes are required.

Возвращаемые значения

maxdb_debug() doesn't return any value.

Примеры

Пример #1 Procedural style

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_data_seek
maxdb_disable_reads_from_master
MaxDB Функции


Disable reads from master

maxdb_debug
maxdb_disable_rpl_parse
MaxDB Функции
PHP Manual

maxdb_disable_reads_from_master

maxdb::disable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_disable_reads_from_master -- maxdb::disable_reads_from_master — Disable reads from master

Описание

Процедурный стиль

bool maxdb_disable_reads_from_master ( resource $link )

Объектно-ориентированный стиль

void maxdb::disable_reads_from_master ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_debug
maxdb_disable_rpl_parse
MaxDB Функции


Disable RPL parse

maxdb_disable_reads_from_master
maxdb_dump_debug_info
MaxDB Функции
PHP Manual

maxdb_disable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_disable_rpl_parse — Disable RPL parse

Описание

bool maxdb_disable_rpl_parse ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_disable_reads_from_master
maxdb_dump_debug_info
MaxDB Функции


Dump debugging information into the log

maxdb_disable_rpl_parse
maxdb_embedded_connect
MaxDB Функции
PHP Manual

maxdb_dump_debug_info

(PECL maxdb >= 1.0)

maxdb_dump_debug_info — Dump debugging information into the log

Описание

bool maxdb_dump_debug_info ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_disable_rpl_parse
maxdb_embedded_connect
MaxDB Функции


Open a connection to an embedded MaxDB server

maxdb_dump_debug_info
maxdb_enable_reads_from_master
MaxDB Функции
PHP Manual

maxdb_embedded_connect

(PECL maxdb >= 1.0)

maxdb_embedded_connect — Open a connection to an embedded MaxDB server

Описание

resource maxdb_embedded_connect ([ string $dbname ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_dump_debug_info
maxdb_enable_reads_from_master
MaxDB Функции


Enable reads from master

maxdb_embedded_connect
maxdb_enable_rpl_parse
MaxDB Функции
PHP Manual

maxdb_enable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_enable_reads_from_master — Enable reads from master

Описание

bool maxdb_enable_reads_from_master ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_embedded_connect
maxdb_enable_rpl_parse
MaxDB Функции


Enable RPL parse

maxdb_enable_reads_from_master
maxdb_errno
MaxDB Функции
PHP Manual

maxdb_enable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_enable_rpl_parse — Enable RPL parse

Описание

bool maxdb_enable_rpl_parse ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_enable_reads_from_master
maxdb_errno
MaxDB Функции


Returns the error code for the most recent function call

maxdb_enable_rpl_parse
maxdb_error
MaxDB Функции
PHP Manual

maxdb_errno

maxdb->errno

(PECL maxdb >= 1.0)

maxdb_errno -- maxdb->errno — Returns the error code for the most recent function call

Описание

Процедурный стиль

int maxdb_errno ( resource $link )

Объектно-ориентированный стиль

int $maxdb->errno;

The maxdb_errno() function will return the last error code for the most recent MaxDB function call that can succeed or fail with respect to the database link defined by the link parameter. If no errors have occured, this function will return zero.

Возвращаемые значения

An error code value for the last call, if it failed. zero means no error occurred.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", $maxdb->errno);
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", maxdb_errno($link));
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Errorcode: -4005

Смотрите также

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_enable_rpl_parse
maxdb_error
MaxDB Функции


Returns a string description of the last error

maxdb_errno
maxdb_escape_string
MaxDB Функции
PHP Manual

maxdb_error

maxdb->error

(PECL maxdb >= 1.0)

maxdb_error -- maxdb->error — Returns a string description of the last error

Описание

Процедурный стиль

string maxdb_error ( resource $link )

Объектно-ориентированный стиль

string $maxdb->error;

The maxdb_error() function is identical to the corresponding maxdb_errno() function in every way, except instead of returning an integer error code the maxdb_error() function will return a string representation of the last error to occur for the database connection represented by the link parameter. If no error has occured, this function will return an empty string.

Возвращаемые значения

A string that describes the error. An empty string if no error occurred.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errormessage: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errormessgae: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Errormessgae: POS(8) Unknown column name:XXX

Смотрите также

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_errno
maxdb_escape_string
MaxDB Функции


Псевдоним maxdb_real_escape_string

maxdb_error
maxdb_execute
MaxDB Функции
PHP Manual

maxdb_escape_string

(PECL maxdb 1.0)

maxdb_escape_string — Псевдоним maxdb_real_escape_string()

Описание

Эта функция является псевдонимом: maxdb_real_escape_string().

maxdb_error
maxdb_execute
MaxDB Функции


Псевдоним maxdb_stmt_execute

maxdb_escape_string
maxdb_fetch_array
MaxDB Функции
PHP Manual

maxdb_execute

(PECL maxdb 1.0)

maxdb_execute — Псевдоним maxdb_stmt_execute()

Описание

Эта функция является псевдонимом: maxdb_stmt_execute().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_escape_string
maxdb_fetch_array
MaxDB Функции


Fetch a result row as an associative, a numeric array, or both

maxdb_execute
maxdb_fetch_assoc
MaxDB Функции
PHP Manual

maxdb_fetch_array

maxdb_result::fetch_array

(PECL maxdb >= 1.0)

maxdb_fetch_array -- maxdb_result::fetch_array — Fetch a result row as an associative, a numeric array, or both

Описание

Процедурный стиль

mixed maxdb_fetch_array ( resource $result [, int $resulttype ] )

Объектно-ориентированный стиль

mixed maxdb_result::fetch_array ([ int $resulttype ] )

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

maxdb_fetch_array() is an extended version of the maxdb_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the maxdb_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

The optional second argument resulttype is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or MAXDB_BOTH. By default the maxdb_fetch_array() function will assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC for this parameter.

By using the MAXDB_ASSOC constant this function will behave identically to the maxdb_fetch_assoc(), while MAXDB_NUM will behave identically to the maxdb_fetch_row() function. The final option MAXDB_BOTH will create a single array with the attributes of both.

By using the MAXDB_ASSOC_UPPER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in upper case.

By using the MAXDB_ASSOC_LOWER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in lower case.

Возвращаемые значения

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* numeric array */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
$result->close();

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* numeric array */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

New York (NY)
New York (NY)
Long Island (NY)

Смотрите также

  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_execute
maxdb_fetch_assoc
MaxDB Функции


Fetch a result row as an associative array

maxdb_fetch_array
maxdb_fetch_field_direct
MaxDB Функции
PHP Manual

maxdb_fetch_assoc

maxdb_result::fetch_assoc

(PECL maxdb >= 1.0)

maxdb_fetch_assoc -- maxdb_result::fetch_assoc — Fetch a result row as an associative array

Описание

Процедурный стиль

array maxdb_fetch_assoc ( resource $result )

Объектно-ориентированный стиль

array maxdb_result::fetch_assoc ( void )

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

The maxdb_fetch_assoc() function is used to return an associative array representing the next row in the result set for the result represented by the result parameter, where each key in the array represents the name of one of the result set's columns.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using maxdb_fetch_row() or add alias names.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Возвращаемые значения

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch associative array */
   while ($row = maxdb_fetch_assoc($result)) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Смотрите также

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_fetch_array
maxdb_fetch_field_direct
MaxDB Функции


Fetch meta-data for a single field

maxdb_fetch_assoc
maxdb_fetch_field
MaxDB Функции
PHP Manual

maxdb_fetch_field_direct

maxdb_result::fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- maxdb_result::fetch_field_direct — Fetch meta-data for a single field

Описание

Процедурный стиль

mixed maxdb_fetch_field_direct ( resource $result , int $fieldnr )

Объектно-ориентированный стиль

mixed maxdb_result::fetch_field_direct ( int $fieldnr )

maxdb_fetch_field_direct() returns an resource which contains field definition information from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

Возвращаемые значения

Returns an resource which contains field definition information or FALSE if no field information for specified fieldnr is available.

Object attributes
Attribute | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

   /* Get field information for column 'SurfaceArea' */
   $finfo = $result->fetch_field_direct(1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for column 'cno' */
   $finfo = maxdb_fetch_field_direct($result, 1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Смотрите также

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set

maxdb_fetch_assoc
maxdb_fetch_field
MaxDB Функции


Returns the next field in the result set

maxdb_fetch_field_direct
maxdb_fetch_fields
MaxDB Функции
PHP Manual

maxdb_fetch_field

maxdb_result::fetch_field

(PECL maxdb >= 1.0)

maxdb_fetch_field -- maxdb_result::fetch_field — Returns the next field in the result set

Описание

Процедурный стиль

mixed maxdb_fetch_field ( resource $result )

Объектно-ориентированный стиль

mixed maxdb_result::fetch_field ( void )

The maxdb_fetch_field() returns the definition of one column of a result set as an resource. Call this function repeatedly to retrieve information about all columns in the result set. maxdb_fetch_field() returns FALSE when no more fields are left.

Возвращаемые значения

Returns an resource which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Смотрите также

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_fetch_field_direct
maxdb_fetch_fields
MaxDB Функции


Returns an array of resources representing the fields in a result set

maxdb_fetch_field
maxdb_fetch_lengths
MaxDB Функции
PHP Manual

maxdb_fetch_fields

maxdb_result::fetch_fields

(PECL maxdb >= 1.0)

maxdb_fetch_fields -- maxdb_result::fetch_fields — Returns an array of resources representing the fields in a result set

Описание

Процедурный стиль

mixed maxdb_fetch_fields ( resource $result )

Объектно-ориентированный стиль

mixed maxdb_result::fetch_fields ( void )

This function serves an identical purpose to the maxdb_fetch_field() function with the single difference that, instead of returning one resource at a time for each field, the columns are returned as an array of resources.

Возвращаемые значения

Returns an array of resources which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   $finfo = $result->fetch_fields();

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all columns */
   $finfo = maxdb_fetch_fields($result);

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Смотрите также

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field

maxdb_fetch_field
maxdb_fetch_lengths
MaxDB Функции


Returns the lengths of the columns of the current row in the result set

maxdb_fetch_fields
maxdb_fetch_object
MaxDB Функции
PHP Manual

maxdb_fetch_lengths

maxdb_result->lengths

(PECL maxdb >= 1.0)

maxdb_fetch_lengths -- maxdb_result->lengths — Returns the lengths of the columns of the current row in the result set

Описание

Процедурный стиль

array maxdb_fetch_lengths ( resource $result )

Объектно-ориентированный стиль

array $maxdb_result->lengths;

The maxdb_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set represented by the result parameter. If successful, a numerically indexed array representing the lengths of each column is returned или FALSE в случае возникновения ошибки.

Возвращаемые значения

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

maxdb_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling maxdb_fetch_row/array/resource or after retrieving all rows in the result.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

   $row = $result->fetch_row();

   /* display column lengths */
   foreach ($result->lengths as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

   $row = maxdb_fetch_row($result);

   /* display column lengths */
   foreach (maxdb_fetch_lengths($result) as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Field  1 has Length  4
Field  2 has Length  3
Field  3 has Length  5
Field  4 has Length  6
Field  5 has Length  5
Field  6 has Length 21
maxdb_fetch_fields
maxdb_fetch_object
MaxDB Функции


Returns the current row of a result set as an object

maxdb_fetch_lengths
maxdb_fetch_row
MaxDB Функции
PHP Manual

maxdb_fetch_object

maxdb_result::fetch_object

(PECL maxdb >= 1.0)

maxdb_fetch_object -- maxdb_result::fetch_object — Returns the current row of a result set as an object

Описание

Процедурный стиль

object maxdb_fetch_object ( object $result )

Объектно-ориентированный стиль

object maxdb_result::fetch_object ( void )

The maxdb_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set. If no more rows exist in the current result set, NULL is returned.

Возвращаемые значения

Returns an object that corresponds to the fetched row or NULL if there are no more rows in resultset.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch object array */
   while ($obj = $result->fetch_object()) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch object array */
   while ($obj = maxdb_fetch_object($result)) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Смотрите также

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array

maxdb_fetch_lengths
maxdb_fetch_row
MaxDB Функции


Get a result row as an enumerated array

maxdb_fetch_object
maxdb_fetch
MaxDB Функции
PHP Manual

maxdb_fetch_row

maxdb_result::fetch_row

(PECL maxdb >= 1.0)

maxdb_fetch_row -- maxdb_result::fetch_row — Get a result row as an enumerated array

Описание

Процедурный стиль

mixed maxdb_fetch_row ( resource $result )

Объектно-ориентированный стиль

mixed maxdb_result::fetch_row ( void )

Returns an array that corresponds to the fetched row, or NULL if there are no more rows.

maxdb_fetch_row() fetches one row of data from the result set represented by result and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to the maxdb_fetch_row() function will return the next row within the result set, or FALSE if there are no more rows.

Возвращаемые значения

maxdb_fetch_row() returns an array that corresponds to the fetched row or NULL if there are no more rows in result set.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch enumerated array */
   while ($row = $result->fetch_row()) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch enumerated array */
   while ($row = maxdb_fetch_row($result)) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Смотрите также

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_resource()

maxdb_fetch_object
maxdb_fetch
MaxDB Функции


Псевдоним maxdb_stmt_fetch

maxdb_fetch_row
maxdb_field_count
MaxDB Функции
PHP Manual

maxdb_fetch

(PECL maxdb 1.0)

maxdb_fetch — Псевдоним maxdb_stmt_fetch()

Описание

Эта функция является псевдонимом: maxdb_stmt_fetch().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_fetch_row
maxdb_field_count
MaxDB Функции


Returns the number of columns for the most recent query

maxdb_fetch
maxdb_field_seek
MaxDB Функции
PHP Manual

maxdb_field_count

maxdb::field_count

(PECL maxdb >= 1.0)

maxdb_field_count -- maxdb::field_count — Returns the number of columns for the most recent query

Описание

Процедурный стиль

int maxdb_field_count ( resource $link )

Объектно-ориентированный стиль

int maxdb::field_count ( void )

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the maxdb_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Возвращаемые значения

An integer representing the number of fields in a result set.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
   /* this was a select/show or describe query */
   $result = $maxdb->store_result();

   /* process resultset */
   $row = $result->fetch_row();

   /* free resultset */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
   /* this was a select/show or describe query */
   $result = maxdb_store_result($link);

   /* process resultset */
   $row = maxdb_fetch_row($result);

   /* free resultset */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_fetch
maxdb_field_seek
MaxDB Функции


Set result pointer to a specified field offset

maxdb_field_count
maxdb_field_tell
MaxDB Функции
PHP Manual

maxdb_field_seek

maxdb_result::field_seek

(PECL maxdb >= 1.0)

maxdb_field_seek -- maxdb_result::field_seek — Set result pointer to a specified field offset

Описание

Процедурный стиль

bool maxdb_field_seek ( resource $result , int $fieldnr )

Объектно-ориентированный стиль

bool maxdb_result::field_seek ( int $fieldnr )

Sets the field cursor to the given offset. The next call to maxdb_fetch_field() will retrieve the field definition of the column associated with that offset.

Замечание:

To seek to the beginning of a row, pass an offset value of zero.

Возвращаемые значения

maxdb_field_seek() returns previuos value of field cursor.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for 2nd column */
   $result->field_seek(1);
   $finfo = $result->fetch_field();

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for 2nd column */
   maxdb_field_seek($result, 1);
   $finfo = maxdb_fetch_field($result);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Смотрите также

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_field_count
maxdb_field_tell
MaxDB Функции


Get current field offset of a result pointer

maxdb_field_seek
maxdb_free_result
MaxDB Функции
PHP Manual

maxdb_field_tell

maxdb_result->current_field

(PECL maxdb >= 1.0)

maxdb_field_tell -- maxdb_result->current_field — Get current field offset of a result pointer

Описание

Процедурный стиль

int maxdb_field_tell ( resource $result )

Объектно-ориентированный стиль

int $maxdb_result->current_field;

Returns the position of the field cursor used for the last maxdb_fetch_field() call. This value can be used as an argument to maxdb_field_seek().

Возвращаемые значения

Returns current offset of field cursor.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       /* get fieldpointer offset */
       $currentfield = $result->current_field;

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       /* get fieldpointer offset */
       $currentfield = maxdb_field_tell($result);

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Column    1:
Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Column    2:
Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Смотрите также

  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_field_seek
maxdb_free_result
MaxDB Функции


Frees the memory associated with a result

maxdb_field_tell
maxdb_get_client_info
MaxDB Функции
PHP Manual

maxdb_free_result

maxdb_result::free

(PECL maxdb >= 1.0)

maxdb_free_result -- maxdb_result::free — Frees the memory associated with a result

Описание

Процедурный стиль

void maxdb_free_result ( resource $result )

Объектно-ориентированный стиль

void maxdb_result::free ( void )

The maxdb_free_result() function frees the memory associated with the result represented by the result parameter, which was allocated by maxdb_query(), maxdb_store_result() or maxdb_use_result().

Замечание:

You should always free your result with maxdb_free_result(), when your result resource is not needed anymore.

Возвращаемые значения

This function doesn't return any value.

Смотрите также

  • maxdb_query() - Performs a query on the database
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_field_tell
maxdb_get_client_info
MaxDB Функции


Returns the MaxDB client version as a string

maxdb_free_result
maxdb_get_client_version
MaxDB Функции
PHP Manual

maxdb_get_client_info

(PECL maxdb >= 1.0)

maxdb_get_client_info — Returns the MaxDB client version as a string

Описание

string maxdb_get_client_info ( void )

The maxdb_get_client_info() function is used to return a string representing the client version being used in the MaxDB extension.

Возвращаемые значения

A string that represents the MaxDB client library version

Примеры

Пример #1 maxdb_get_client_info

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %s\n", maxdb_get_client_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Client library version: libSQLDBC <...>

Смотрите также

  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_free_result
maxdb_get_client_version
MaxDB Функции


Get MaxDB client info

maxdb_get_client_info
maxdb_get_host_info
MaxDB Функции
PHP Manual

maxdb_get_client_version

(PECL maxdb >= 1.0)

maxdb_get_client_version — Get MaxDB client info

Описание

int maxdb_get_client_version ( void )

Returns client version number as an integer.

Возвращаемые значения

A number that represents the MaxDB client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 7.5.0 is returned as 70500.

This is useful to quickly determine the version of the client library to know if some capability exists.

Примеры

Пример #1 maxdb_get_client_version

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %d\n", maxdb_get_client_version());
?>

Результатом выполнения данного примера будет что-то подобное:

Client library version: 7.<...>

Смотрите также

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_client_info
maxdb_get_host_info
MaxDB Функции


Returns a string representing the type of connection used

maxdb_get_client_version
maxdb_get_metadata
MaxDB Функции
PHP Manual

maxdb_get_host_info

maxdb->get_host_info

(PECL maxdb >= 1.0)

maxdb_get_host_info -- maxdb->get_host_info — Returns a string representing the type of connection used

Описание

Процедурный стиль

string maxdb_get_host_info ( resource $link )

Объектно-ориентированный стиль

string $maxdb->host_info;

The maxdb_get_host_info() function returns a string describing the connection represented by the link parameter is using.

Возвращаемые значения

A character string representing the server hostname and the connection type.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Host info: localhost

Смотрите также

  • maxdb_get_proto_info() - Returns the version of the MaxDB protocol used

maxdb_get_client_version
maxdb_get_metadata
MaxDB Функции


Псевдоним maxdb_stmt_result_metadata

maxdb_get_host_info
maxdb_get_proto_info
MaxDB Функции
PHP Manual

maxdb_get_metadata

(PECL maxdb 1.0)

maxdb_get_metadata — Псевдоним maxdb_stmt_result_metadata()

Описание

Эта функция является псевдонимом: maxdb_stmt_result_metadata().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_get_host_info
maxdb_get_proto_info
MaxDB Функции


Returns the version of the MaxDB protocol used

maxdb_get_metadata
maxdb_get_server_info
MaxDB Функции
PHP Manual

maxdb_get_proto_info

maxdb->protocol_version

(PECL maxdb >= 1.0)

maxdb_get_proto_info -- maxdb->protocol_version — Returns the version of the MaxDB protocol used

Описание

Процедурный стиль

int maxdb_get_proto_info ( resource $link )

Объектно-ориентированный стиль

string $maxdb->protocol_version;

Returns an integer representing the MaxDB protocol version used by the connection represented by the link parameter.

Возвращаемые значения

Returns an integer representing the protocol version (constant 10).

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $maxdb->protocol_version);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", maxdb_get_proto_info($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Protocol version: 10

Смотрите также

  • maxdb_get_host_info() - Returns a string representing the type of connection used

maxdb_get_metadata
maxdb_get_server_info
MaxDB Функции


Returns the version of the MaxDB server

maxdb_get_proto_info
maxdb_get_server_version
MaxDB Функции
PHP Manual

maxdb_get_server_info

maxdb->server_info

(PECL maxdb >= 1.0)

maxdb_get_server_info -- maxdb->server_info — Returns the version of the MaxDB server

Описание

Процедурный стиль

string maxdb_get_server_info ( resource $link )

Объектно-ориентированный стиль

string $maxdb->server_info;

Returns a string representing the version of the MaxDB server that the MaxDB extension is connected to (represented by the link parameter).

Возвращаемые значения

A character string representing the server version.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", $maxdb->server_info);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", maxdb_get_server_info($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Server version: Kernel    7<...>

Смотрите также

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_proto_info
maxdb_get_server_version
MaxDB Функции


Returns the version of the MaxDB server as an integer

maxdb_get_server_info
maxdb_info
MaxDB Функции
PHP Manual

maxdb_get_server_version

maxdb->server_version

(PECL maxdb >= 1.0)

maxdb_get_server_version -- maxdb->server_version — Returns the version of the MaxDB server as an integer

Описание

Процедурный стиль

int maxdb_get_server_version ( resource $link )

Объектно-ориентированный стиль

int $maxdb->server_version;

The maxdb_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).

Возвращаемые значения

An integer representing the server version.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", $maxdb->server_version);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", maxdb_get_server_version($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Server version: 7<...>

Смотрите также

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_get_server_info
maxdb_info
MaxDB Функции


Retrieves information about the most recently executed query

maxdb_get_server_version
maxdb_init
MaxDB Функции
PHP Manual

maxdb_info

maxdb->info

(PECL maxdb >= 1.0)

maxdb_info -- maxdb->info — Retrieves information about the most recently executed query

Описание

Процедурный стиль

string maxdb_info ( resource $link )

Объектно-ориентированный стиль

string $maxdb->info;

The maxdb_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible maxdb_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Замечание:

Queries which do not fall into one of the above formats are not supported. In these situations, maxdb_info() will return an empty string.

Возвращаемые значения

A character string representing additional information about the most recently executed query.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Records: 25 Duplicates: 0 Warnings: 0

Смотрите также

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_warning_count() - Returns the number of warnings from the last query for the given link
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_get_server_version
maxdb_init
MaxDB Функции


Initializes MaxDB and returns an resource for use with maxdb_real_connect

maxdb_info
maxdb_insert_id
MaxDB Функции
PHP Manual

maxdb_init

(PECL maxdb >= 1.0)

maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect

Описание

resource maxdb_init ( void )

Allocates or initializes a MaxDB resource suitable for maxdb_options() and maxdb_real_connect().

Замечание:

Any subsequent calls to any maxdb function (except maxdb_options()) will fail until maxdb_real_connect() was called.

Возвращаемые значения

Returns an resource.

Смотрите также

  • maxdb_options() - Set options
  • maxdb_close() - Closes a previously opened database connection
  • maxdb_real_connect() - Opens a connection to a MaxDB server
  • maxdb_connect() - Open a new connection to the MaxDB server

maxdb_info
maxdb_insert_id
MaxDB Функции


Returns the auto generated id used in the last query

maxdb_init
maxdb_kill
MaxDB Функции
PHP Manual

maxdb_insert_id

maxdb->insert_id

(PECL maxdb >= 1.0)

maxdb_insert_id -- maxdb->insert_id — Returns the auto generated id used in the last query

Описание

Процедурный стиль

mixed maxdb_insert_id ( resource $link )

Объектно-ориентированный стиль

mixed $maxdb->insert_id;

The maxdb_insert_id() function returns the ID generated by a query on a table with a column having the DEFAULT SERIAL attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the DEFAULT SERIAL attribute, this function will return zero.

Возвращаемые значения

The value of the DEFAULT SERIAL field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an DEFAULT_SERIAL value.

Замечание:

If the number is greater than maximal int value, maxdb_insert_id() will return a string.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("New Record has id %d.\n", $maxdb->insert_id);

/* drop table */
$maxdb->query("DROP TABLE mycity");

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("New Record has id %d.\n", maxdb_insert_id($link));

/* drop table */
maxdb_query($link, "DROP TABLE mycity");

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

New Record has id 1.
maxdb_init
maxdb_kill
MaxDB Функции


Disconnects from a MaxDB server

maxdb_insert_id
maxdb_master_query
MaxDB Функции
PHP Manual

maxdb_kill

maxdb::kill

(PECL maxdb >= 1.0)

maxdb_kill -- maxdb::kill — Disconnects from a MaxDB server

Описание

Процедурный стиль

bool maxdb_kill ( resource $link , int $processid )

Объектно-ориентированный стиль

bool maxdb::kill ( int $processid )

This function is used to disconnect from a MaxDB server specified by the processid parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Error: Session not connected

Смотрите также

  • maxdb_thread_id() - Returns the thread ID for the current connection

maxdb_insert_id
maxdb_master_query
MaxDB Функции


Enforce execution of a query on the master in a master/slave setup

maxdb_kill
maxdb_more_results
MaxDB Функции
PHP Manual

maxdb_master_query

(PECL maxdb >= 1.0)

maxdb_master_query — Enforce execution of a query on the master in a master/slave setup

Описание

bool maxdb_master_query ( resource $link , string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_kill
maxdb_more_results
MaxDB Функции


Check if there any more query results from a multi query

maxdb_master_query
maxdb_multi_query
MaxDB Функции
PHP Manual

maxdb_more_results

maxdb->more_results

(PECL maxdb >= 1.0)

maxdb_more_results -- maxdb->more_results — Check if there any more query results from a multi query

Описание

bool maxdb_more_results ( resource $link )

maxdb_more_results() indicates if one or more result sets are available from a previous call to maxdb_multi_query().

Возвращаемые значения

Always FALSE.

Примеры

See maxdb_multi_query().

Смотрите также

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_master_query
maxdb_multi_query
MaxDB Функции


Performs a query on the database

maxdb_more_results
maxdb_next_result
MaxDB Функции
PHP Manual

maxdb_multi_query

maxdb::multi_query

(PECL maxdb >= 1.0)

maxdb_multi_query -- maxdb::multi_query — Performs a query on the database

Описание

Процедурный стиль

bool maxdb_multi_query ( resource $link , string $query )

Объектно-ориентированный стиль

bool maxdb::multi_query ( string $query )

The maxdb_multi_query() works like the function maxdb_query(). Multiple queries are not yet supported.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM dual";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->store_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * FROM dual";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_store_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

a

Смотрите также

  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_more_results() - Check if there any more query results from a multi query

maxdb_more_results
maxdb_next_result
MaxDB Функции


Prepare next result from multi_query

maxdb_multi_query
maxdb_num_fields
MaxDB Функции
PHP Manual

maxdb_next_result

maxdb->next_result

(PECL maxdb >= 1.0)

maxdb_next_result -- maxdb->next_result — Prepare next result from multi_query

Описание

bool maxdb_next_result ( resource $link )

Since multiple queries are not yet supported, maxdb_next_result() returns always FALSE.

Возвращаемые значения

Returns FALSE.

Смотрите также

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_more_results() - Check if there any more query results from a multi query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_multi_query
maxdb_num_fields
MaxDB Функции


Get the number of fields in a result

maxdb_next_result
maxdb_num_rows
MaxDB Функции
PHP Manual

maxdb_num_fields

maxdb_result->field_count

(PECL maxdb >= 1.0)

maxdb_num_fields -- maxdb_result->field_count — Get the number of fields in a result

Описание

Процедурный стиль

int maxdb_num_fields ( resource $result )

Объектно-ориентированный стиль

int $maxdb_result->field_count;

maxdb_num_fields() returns the number of fields from specified result set.

Возвращаемые значения

The number of fields from a result set

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = $result->field_count;

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = maxdb_num_fields($result);

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Result set has 3 fields.

Смотрите также

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_next_result
maxdb_num_rows
MaxDB Функции


Gets the number of rows in a result

maxdb_num_fields
maxdb_options
MaxDB Функции
PHP Manual

maxdb_num_rows

maxdb->num_rows

(PECL maxdb >= 1.0)

maxdb_num_rows -- maxdb->num_rows — Gets the number of rows in a result

Описание

Процедурный стиль

int maxdb_num_rows ( resource $result )

Объектно-ориентированный стиль

int $maxdb->num_rows;

Returns the number of rows in the result set.

The use of maxdb_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets maxdb_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

Возвращаемые значения

Returns number of rows in the result set.

Замечание:

If the number of rows is greater than maximal int value, the number will be returned as a string.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = $result->num_rows;

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = maxdb_num_rows($result);

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Result set has 15 rows.

Смотрите также

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_query() - Performs a query on the database

maxdb_num_fields
maxdb_options
MaxDB Функции


Set options

maxdb_num_rows
maxdb_param_count
MaxDB Функции
PHP Manual

maxdb_options

maxdb::options

(PECL maxdb >= 1.0)

maxdb_options -- maxdb::options — Set options

Описание

Процедурный стиль

bool maxdb_options ( resource $link , int $option , mixed $value )

Объектно-ориентированный стиль

bool maxdb::options ( int $option , mixed $value )

maxdb_options() can be used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

maxdb_options() should be called after maxdb_init() and before maxdb_real_connect().

The parameter option is the option that you want to set, the value is the value for the option. For detailed description of the options see » http://maxdb.sap.com/documentation/ The parameter option can be one of the following values:

Valid options
Name | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

See maxdb_real_connect().

Смотрите также

  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_num_rows
maxdb_param_count
MaxDB Функции


Псевдоним maxdb_stmt_param_count

maxdb_options
maxdb_ping
MaxDB Функции
PHP Manual

maxdb_param_count

(PECL maxdb 1.0)

maxdb_param_count — Псевдоним maxdb_stmt_param_count()

Описание

Эта функция является псевдонимом: maxdb_stmt_param_count().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_options
maxdb_ping
MaxDB Функции


Pings a server connection, or tries to reconnect if the connection has gone down

maxdb_param_count
maxdb_prepare
MaxDB Функции
PHP Manual

maxdb_ping

maxdb::ping

(PECL maxdb >= 1.0)

maxdb_ping -- maxdb::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Описание

Процедурный стиль

bool maxdb_ping ( resource $link )

Объектно-ориентированный стиль

bool maxdb::ping ( void )

Checks whether the connection to the server is working. If it has gone down, and global option maxdb.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if ($maxdb->ping()) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if (maxdb_ping($link)) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Our connection is ok!
maxdb_param_count
maxdb_prepare
MaxDB Функции


Prepare an SQL statement for execution

maxdb_ping
maxdb_query
MaxDB Функции
PHP Manual

maxdb_prepare

maxdb::prepare

(PECL maxdb >= 1.0)

maxdb_prepare -- maxdb::prepare — Prepare an SQL statement for execution

Описание

Процедурный стиль

resource maxdb_prepare ( resource $link , string $query )

Объектно-ориентированный стиль

maxdb_stmt maxdb::prepare ( string $query )

maxdb_prepare() prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

Замечание:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Замечание:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Возвращаемые значения

maxdb_prepare() returns a statement resource or FALSE if an error occured.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

  /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Rosemont is in district IL

Смотрите также

  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_ping
maxdb_query
MaxDB Функции


Performs a query on the database

maxdb_prepare
maxdb_real_connect
MaxDB Функции
PHP Manual

maxdb_query

maxdb::query

(PECL maxdb >= 1.0)

maxdb_query -- maxdb::query — Performs a query on the database

Описание

Процедурный стиль

mixed maxdb_query ( resource $link , string $query [, int $resultmode ] )

Объектно-ориентированный стиль

mixed maxdb::query ( string $query )

The maxdb_query() function is used to simplify the act of performing a query against the database represented by the link parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. For SELECT, SHOW, DESCRIBE or EXPLAIN maxdb_query() will return a result resource.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", $result->num_rows);

   /* free result set */
   $result->close();
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   $result->close();
}

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", maxdb_num_rows($result));

   /* free result set */
   maxdb_free_result($result);
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   maxdb_free_result($result);
}

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Table mycity successfully created.
Select returned 25 rows.

Смотрите также

  • maxdb_real_query() - Execute an SQL query
  • maxdb_multi_query() - Performs a query on the database
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_prepare
maxdb_real_connect
MaxDB Функции


Opens a connection to a MaxDB server

maxdb_query
maxdb_real_escape_string
MaxDB Функции
PHP Manual

maxdb_real_connect

maxdb::real_connect

(PECL maxdb >= 1.0)

maxdb_real_connect -- maxdb::real_connect — Opens a connection to a MaxDB server

Описание

Процедурный стиль

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Объектно-ориентированный стиль

bool maxdb::real_connect ([ string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

maxdb_real_connect() attempts to establish a connection to a MaxDB database engine running on hostname.

This function differs from maxdb_connect():

  • maxdb_real_connect() needs a valid resource which has to be created by function maxdb_init()

  • With function maxdb_options() you can set various options for connection.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php

/* create a connection object which is not connected */
$maxdb = maxdb_init();

/* set connection options */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* connect to server */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", $maxdb->host_info);

$maxdb->close();
?>

Пример #2 Procedural style

<?php

/* create a connection object which is not connected */
$link = maxdb_init();

/* set connection options */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* connect to server */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Connection: localhost <...>

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_options() - Set options
  • maxdb_ssl_set() - Used for establishing secure connections using SSL
  • maxdb_close() - Closes a previously opened database connection

maxdb_query
maxdb_real_escape_string
MaxDB Функции


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_real_connect
maxdb_real_query
MaxDB Функции
PHP Manual

maxdb_real_escape_string

maxdb::real_escape_string

(PECL maxdb >= 1.0)

maxdb_real_escape_string -- maxdb::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Описание

Процедурный стиль

string maxdb_real_escape_string ( resource $link , string $escapestr )

Объектно-ориентированный стиль

string maxdb::real_escape_sring ( string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

Возвращаемые значения

Returns an escaped string.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

Смотрите также

  • maxdb_character_set_name() - Returns the default character set for the database connection

maxdb_real_connect
maxdb_real_query
MaxDB Функции


Execute an SQL query

maxdb_real_escape_string
maxdb_report
MaxDB Функции
PHP Manual

maxdb_real_query

maxdb::real_query

(PECL maxdb >= 1.0)

maxdb_real_query -- maxdb::real_query — Execute an SQL query

Описание

Процедурный стиль

bool maxdb_real_query ( resource $link , string $query )

Объектно-ориентированный стиль

bool maxdb::real_query ( string $query )

The maxdb_real_query() is functionally identical with the maxdb_query().

Замечание:

In order to determine if a given query should return a result set or not, see maxdb_field_count().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • maxdb_query() - Performs a query on the database
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_real_escape_string
maxdb_report
MaxDB Функции


Enables or disables internal report functions

maxdb_real_query
maxdb_rollback
MaxDB Функции
PHP Manual

maxdb_report

(PECL maxdb 1.0)

maxdb_report — Enables or disables internal report functions

Описание

bool maxdb_report ( int $flags )

Список параметров

flags

One of the MAXDB_REPORT_XXX constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural style

<?php
/* activate reporting */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* this query should report an error */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>
maxdb_real_query
maxdb_rollback
MaxDB Функции


Rolls back current transaction

maxdb_report
maxdb_rpl_parse_enabled
MaxDB Функции
PHP Manual

maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollback — Rolls back current transaction

Описание

Процедурный стиль

bool maxdb_rollback ( resource $link )

Объектно-ориентированный стиль

bool maxdb::rollback ( void )

Rollbacks the current transaction for the database specified by the link parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
$maxdb->commit();

/* delete all rows */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Drop table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
maxdb_commit($link);

/* delete all rows */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Rollback */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Drop table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

0 rows in table mycity.
25 rows in table mycity (after rollback).

Смотрите также

  • maxdb_commit() - Commits the current transaction
  • maxdb_autocommit() - Turns on or off auto-commiting database modifications

maxdb_report
maxdb_rpl_parse_enabled
MaxDB Функции


Check if RPL parse is enabled

maxdb_rollback
maxdb_rpl_probe
MaxDB Функции
PHP Manual

maxdb_rpl_parse_enabled

(PECL maxdb >= 1.0)

maxdb_rpl_parse_enabled — Check if RPL parse is enabled

Описание

int maxdb_rpl_parse_enabled ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_rollback
maxdb_rpl_probe
MaxDB Функции


RPL probe

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
MaxDB Функции
PHP Manual

maxdb_rpl_probe

(PECL maxdb >= 1.0)

maxdb_rpl_probe — RPL probe

Описание

bool maxdb_rpl_probe ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
MaxDB Функции


Returns RPL query type

maxdb_rpl_probe
maxdb_select_db
MaxDB Функции
PHP Manual

maxdb_rpl_query_type

maxdb::rpl_query_type

(PECL maxdb >= 1.0)

maxdb_rpl_query_type -- maxdb::rpl_query_type — Returns RPL query type

Описание

Процедурный стиль

int maxdb_rpl_query_type ( resource $link )

Объектно-ориентированный стиль

int maxdb::rpl_query_type ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_rpl_probe
maxdb_select_db
MaxDB Функции


Selects the default database for database queries

maxdb_rpl_query_type
maxdb_send_long_data
MaxDB Функции
PHP Manual

maxdb_select_db

maxdb->select_db

(PECL maxdb >= 1.0)

maxdb_select_db -- maxdb->select_db — Selects the default database for database queries

Описание

bool maxdb_select_db ( resource $link , string $dbname )

The maxdb_select_db() function selects the default database (specified by the dbname parameter) to be used when performing queries against the database connection represented by the link parameter.

Замечание:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in maxdb_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

/* change db to non existing db */
$maxdb->select_db("XXXXXXXX");

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

/* change db to non existing db */
maxdb_select_db($link, "XXXXXXXX");

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Default database is <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

Смотрите также

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_rpl_query_type
maxdb_send_long_data
MaxDB Функции


Псевдоним maxdb_stmt_send_long_data

maxdb_select_db
maxdb_send_query
MaxDB Функции
PHP Manual

maxdb_send_long_data

(PECL maxdb >= 1.0)

maxdb_send_long_data — Псевдоним maxdb_stmt_send_long_data()

Описание

Эта функция является псевдонимом: maxdb_stmt_send_long_data().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

maxdb_select_db
maxdb_send_query
MaxDB Функции


Send the query and return

maxdb_send_long_data
maxdb_server_end
MaxDB Функции
PHP Manual

maxdb_send_query

maxdb::send_query

(PECL maxdb >= 1.0)

maxdb_send_query -- maxdb::send_query — Send the query and return

Описание

Процедурный стиль

bool maxdb_send_query ( resource $link , string $query )

Объектно-ориентированный стиль

bool maxdb::send_query ( string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_send_long_data
maxdb_server_end
MaxDB Функции


Shut down the embedded server

maxdb_send_query
maxdb_server_init
MaxDB Функции
PHP Manual

maxdb_server_end

(PECL maxdb >= 1.0)

maxdb_server_end — Shut down the embedded server

Описание

void maxdb_server_end ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_send_query
maxdb_server_init
MaxDB Функции


Initialize embedded server

maxdb_server_end
maxdb_set_opt
MaxDB Функции
PHP Manual

maxdb_server_init

(PECL maxdb >= 1.0)

maxdb_server_init — Initialize embedded server

Описание

bool maxdb_server_init ([ array $server [, array $groups ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_server_end
maxdb_set_opt
MaxDB Функции


Псевдоним maxdb_options

maxdb_server_init
maxdb_sqlstate
MaxDB Функции
PHP Manual

maxdb_set_opt

(PECL maxdb 1.0)

maxdb_set_opt — Псевдоним maxdb_options()

Описание

Эта функция является псевдонимом: maxdb_options().

maxdb_server_init
maxdb_sqlstate
MaxDB Функции


Returns the SQLSTATE error from previous MaxDB operation

maxdb_set_opt
maxdb_ssl_set
MaxDB Функции
PHP Manual

maxdb_sqlstate

maxdb->sqlstate

(PECL maxdb >= 1.0)

maxdb_sqlstate -- maxdb->sqlstate — Returns the SQLSTATE error from previous MaxDB operation

Описание

Процедурный стиль

string maxdb_sqlstate ( resource $link )

Объектно-ориентированный стиль

string $maxdb->sqlstate;

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Замечание:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Возвращаемые значения

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Error - SQLSTATE I6000.

Смотрите также

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error

maxdb_set_opt
maxdb_ssl_set
MaxDB Функции


Used for establishing secure connections using SSL

maxdb_sqlstate
maxdb_stat
MaxDB Функции
PHP Manual

maxdb_ssl_set

maxdb::ssl_set

(PECL maxdb >= 1.0)

maxdb_ssl_set -- maxdb::ssl_set — Used for establishing secure connections using SSL

Описание

Процедурный стиль

bool maxdb_ssl_set ( resource $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Объектно-ориентированный стиль

bool maxdb::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_sqlstate
maxdb_stat
MaxDB Функции


Gets the current system status

maxdb_ssl_set
maxdb_stmt_affected_rows
MaxDB Функции
PHP Manual

maxdb_stat

maxdb::stat

(PECL maxdb >= 1.0)

maxdb_stat -- maxdb::stat — Gets the current system status

Описание

Процедурный стиль

string maxdb_stat ( resource $link )

Объектно-ориентированный стиль

string maxdb::stat ( void )

maxdb_stat() returns a string containing several information about the MaxDB server running.

Возвращаемые значения

A string describing the server status. FALSE if an error occurred.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("System status: %s\n", $maxdb->stat());

$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("System status: %s\n", maxdb_stat($link));

maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

System status: Kernel    7<...>

Смотрите также

  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_ssl_set
maxdb_stmt_affected_rows
MaxDB Функции


Returns the total number of rows changed, deleted, or inserted by the last executed statement

maxdb_stat
maxdb_stmt_bind_param
MaxDB Функции
PHP Manual

maxdb_stmt_affected_rows

maxdb_stmt->affected_rows

(PECL maxdb >= 1.0)

maxdb_stmt_affected_rows -- maxdb_stmt->affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

Описание

Процедурный стиль

int maxdb_stmt_affected_rows ( resource $stmt )

Объектно-ориентированный стиль

int $maxdb_stmt->affected_rows;

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

Возвращаемые значения

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = $maxdb->prepare($query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   $stmt->bind_param("s", $code);

   /* execute statement */
   $stmt->execute();

   printf("rows inserted: %d\n", $stmt->affected_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = maxdb_prepare($link, $query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   maxdb_stmt_bind_param($stmt, "s", $code);

   /* execute statement */
   maxdb_stmt_execute($stmt);

   printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

rows inserted: 4

Смотрите также

  • maxdb_stmt_num_rows() - Return the number of rows in statements result set
  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stat
maxdb_stmt_bind_param
MaxDB Функции


Binds variables to a prepared statement as parameters

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
MaxDB Функции
PHP Manual

maxdb_stmt_bind_param

maxdb_stmt::bind_param

(PECL maxdb >= 1.0)

maxdb_stmt_bind_param -- maxdb_stmt::bind_param — Binds variables to a prepared statement as parameters

Описание

Процедурный стиль

bool maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Объектно-ориентированный стиль

bool maxdb_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Процедурный стиль (extended syntax):

bool maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var )

Объектно-ориентированный стиль (extended syntax):

bool maxdb_stmt::bind_param ( string $types , array &$var )

maxdb_stmt_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to maxdb_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables.

The extended syntax of maxdb_stmt_bind_param() allows to give the parameters as an array instead of a variable list of PHP variables to the function. If the array variable has not been used before calling maxdb_stmt_bind_param(), it has to be initialized as an emtpy array. See the examples how to use maxdb_stmt_bind_param() with extended syntax.

Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param(). Parameters for database procedures can be bound using maxdb_stmt_bind_param(). See the examples how to use maxdb_stmt_bind_param() in this cases.

If a variable bound as INTO variable to an SQL statement was used before, the content of this variable is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output value of the database procedure. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

Type specification chars
Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packages

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
maxdb_stmt_execute($stmt);

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

/* close statement and connection */
maxdb_stmt_close($stmt);

/* Clean up table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", maxdb_affected_rows($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

1 Row inserted.
1 Row deleted.

Пример #3 Procedural style (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

Результатом выполнения данного примера будет что-то подобное:

21.600000

Пример #4 Procedural style (DB procedure)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Результатом выполнения данного примера будет что-то подобное:

a

Пример #5 Object oriented style (extended syntax)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
  while ($row = $result->fetch_row()) {
    printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
  }
}

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Результатом выполнения данного примера будет что-то подобное:

1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.

Смотрите также

  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_send_long_data() - Send data in blocks
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
MaxDB Функции


Binds variables to a prepared statement for result storage

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
MaxDB Функции
PHP Manual

maxdb_stmt_bind_result

maxdb_stmt::bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- maxdb_stmt::bind_result — Binds variables to a prepared statement for result storage

Описание

Процедурный стиль

bool maxdb_stmt_bind_result ( resource $stmt , mixed &$var1 [, mixed &$... ] )

Объектно-ориентированный стиль

bool maxdb_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

maxdb_stmt_bind_result() is used to associate (bind) columns in the result set to variables. When maxdb_stmt_fetch() is called to fetch data, the MaxDB client/server protocol places the data for the bound columns into the specified variables var1, ....

Замечание:

Note that all columns must be bound prior to calling maxdb_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time maxdb_stmt_fetch() is called.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
   $stmt->execute();

   /* bind variables to prepared statement */
   $stmt->bind_result($col1, $col2);

   /* fetch values */
   while ($stmt->fetch()) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   $stmt->close();
}
/* close connection */
$maxdb->close();

?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
   maxdb_stmt_execute($stmt);

   /* bind variables to prepared statement */
   maxdb_stmt_bind_result($stmt, $col1, $col2);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

Смотрите также

  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
MaxDB Функции


Ends a sequence of maxdb_stmt_send_long_data

maxdb_stmt_bind_result
maxdb_stmt_close
MaxDB Функции
PHP Manual

maxdb_stmt_close_long_data

maxdb_stmt::close_long_data

(PECL maxdb 1.0)

maxdb_stmt_close_long_data -- maxdb_stmt::close_long_data — Ends a sequence of maxdb_stmt_send_long_data()

Описание

Процедурный стиль

bool maxdb_stmt_close_long_data ( resource $stmt , int $param_nr )

Объектно-ориентированный стиль

bool maxdb_stmt::close_long_data ( void )

This function has to be called after a sequence of maxdb_stmt_send_long_data(), that was started after maxdb_execute().

param_nr indicates which parameter to associate the end of data with. Parameters are numbered beginning with 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_bind_result
maxdb_stmt_close
MaxDB Функции


Closes a prepared statement

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
MaxDB Функции
PHP Manual

maxdb_stmt_close

maxdb_stmt::close

(PECL maxdb >= 1.0)

maxdb_stmt_close -- maxdb_stmt::close — Closes a prepared statement

Описание

Процедурный стиль

bool maxdb_stmt_close ( resource $stmt )

Объектно-ориентированный стиль

bool maxdb_stmt::close ( void )

Closes a prepared statement. maxdb_stmt_close() also deallocates the statement handle pointed to by stmt. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
MaxDB Функции


Seeks to an arbitray row in statement result set

maxdb_stmt_close
maxdb_stmt_errno
MaxDB Функции
PHP Manual

maxdb_stmt_data_seek

maxdb_stmt::data_seek

(PECL maxdb >= 1.0)

maxdb_stmt_data_seek -- maxdb_stmt::data_seek — Seeks to an arbitray row in statement result set

Описание

Процедурный стиль

bool maxdb_stmt_data_seek ( resource $statement , int $offset )

Объектно-ориентированный стиль

bool maxdb_stmt::data_seek ( int $offset )

The maxdb_stmt_data_seek() function seeks to an arbitrary result pointer specified by the offset in the statement result set represented by statement. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_stmt_num_rows() - 1).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* store result */
   $stmt->store_result();

   /* seek to row no. 5 */
   $stmt->data_seek(5);

   /* fetch values */
   $stmt->fetch();

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* store result */
   maxdb_stmt_store_result($stmt);

   /* seek to row no. 5 */
   maxdb_stmt_data_seek($stmt, 5);

   /* fetch values */
   maxdb_stmt_fetch($stmt);

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

City: Dallas  Zip: 75243

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close
maxdb_stmt_errno
MaxDB Функции


Returns the error code for the most recent statement call

maxdb_stmt_data_seek
maxdb_stmt_error
MaxDB Функции
PHP Manual

maxdb_stmt_errno

maxdb_stmt->errno

(PECL maxdb >= 1.0)

maxdb_stmt_errno -- maxdb_stmt->errno — Returns the error code for the most recent statement call

Описание

Процедурный стиль

int maxdb_stmt_errno ( resource $stmt )

Объектно-ориентированный стиль

int $maxdb_stmt->errno;

For the statement specified by stmt, maxdb_stmt_errno() returns the error code for the most recently invoked statement function that can succeed or fail.

Замечание:

For possible error codes see documentation of SQLDBC: » http://maxdb.sap.com/documentation/.

Возвращаемые значения

An error code value. Zero means no error occurred.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %d.\n", $stmt->errno);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %d.\n", maxdb_stmt_errno($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: -4004.

Смотрите также

  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_data_seek
maxdb_stmt_error
MaxDB Функции


Returns a string description for last statement error

maxdb_stmt_errno
maxdb_stmt_execute
MaxDB Функции
PHP Manual

maxdb_stmt_error

maxdb_stmt->error

(PECL maxdb >= 1.0)

maxdb_stmt_error -- maxdb_stmt->error — Returns a string description for last statement error

Описание

Процедурный стиль

string maxdb_stmt_error ( resource $stmt )

Объектно-ориентированный стиль

string $maxdb_stmt->error;

For the statement specified by stmt, maxdb_stmt_error() returns a containing the error message for the most recently invoked statement function that can succeed or fail.

Возвращаемые значения

A string that describes the error. An empty string if no error occurred.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->error);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_error($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: POS(23) Unknown table name:MYCITY.

Смотрите также

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_errno
maxdb_stmt_execute
MaxDB Функции


Executes a prepared Query

maxdb_stmt_error
maxdb_stmt_fetch
MaxDB Функции
PHP Manual

maxdb_stmt_execute

maxdb_stmt::execute

(PECL maxdb >= 1.0)

maxdb_stmt_execute -- maxdb_stmt::execute — Executes a prepared Query

Описание

Процедурный стиль

bool maxdb_stmt_execute ( resource $stmt )

Объектно-ориентированный стиль

bool maxdb_stmt::execute ( void )

The maxdb_stmt_execute() function executes a query that has been previously prepared using the maxdb_prepare() function represented by the stmt resource. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.

Замечание:

When using maxdb_stmt_execute(), the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
   while ($row = $result->fetch_row()) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   $result->close();
}

/* remove table */
$maxdb->query("DROP TABLE temp.mycity");

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
maxdb_stmt_execute($stmt);

/* close statement */
maxdb_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
   while ($row = maxdb_fetch_row($result)) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   maxdb_free_result($result);
}

/* remove table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_error
maxdb_stmt_fetch
MaxDB Функции


Fetch results from a prepared statement into the bound variables

maxdb_stmt_execute
maxdb_stmt_free_result
MaxDB Функции
PHP Manual

maxdb_stmt_fetch

maxdb_stmt::fetch

(PECL maxdb >= 1.0)

maxdb_stmt_fetch -- maxdb_stmt::fetch — Fetch results from a prepared statement into the bound variables

Описание

Процедурный стиль

bool maxdb_stmt_fetch ( resource $stmt )

Объектно-ориентированный стиль

bool maxdb_stmt::fetch ( void )

maxdb_stmt_fetch() returns row data using the variables bound by maxdb_stmt_bind_result().

Замечание:

Note that all columns must be bound by the application before calling maxdb_stmt_fetch().

Возвращаемые значения

Return values
Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occured
NULL | No more rows/data exists

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

   /* execute statement */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* fetch values */
   while ($stmt->fetch()) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

   /* execute statement */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage

maxdb_stmt_execute
maxdb_stmt_free_result
MaxDB Функции


Frees stored result memory for the given statement handle

maxdb_stmt_fetch
maxdb_stmt_init
MaxDB Функции
PHP Manual

maxdb_stmt_free_result

maxdb_stmt::free_result

(PECL maxdb >= 1.0)

maxdb_stmt_free_result -- maxdb_stmt::free_result — Frees stored result memory for the given statement handle

Описание

Процедурный стиль

void maxdb_stmt_free_result ( resource $stmt )

Объектно-ориентированный стиль

void maxdb_stmt::free_result ( void )

The maxdb_stmt_free_result() function frees the result memory associated with the statement represented by the stmt parameter, which was allocated by maxdb_stmt_store_result().

Возвращаемые значения

This function doesn't return any value.

Смотрите также

  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_fetch
maxdb_stmt_init
MaxDB Функции


Initializes a statement and returns an resource for use with maxdb_stmt_prepare

maxdb_stmt_free_result
maxdb_stmt_num_rows
MaxDB Функции
PHP Manual

maxdb_stmt_init

maxdb->stmt_init

(PECL maxdb >= 1.0)

maxdb_stmt_init -- maxdb->stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare

Описание

Процедурный стиль

resource maxdb_stmt_init ( resource $link )

Объектно-ориентированный стиль

object maxdb::stmt_init ( void )

Allocates and initializes a statement resource suitable for maxdb_stmt_prepare().

Замечание:

Any subsequent calls to any maxdb_stmt function will fail until maxdb_stmt_prepare() was called.

Возвращаемые значения

Returns an resource.

Смотрите также

  • maxdb_stmt_prepare() - Prepare an SQL statement for execution

maxdb_stmt_free_result
maxdb_stmt_num_rows
MaxDB Функции


Return the number of rows in statements result set

maxdb_stmt_init
maxdb_stmt_param_count
MaxDB Функции
PHP Manual

maxdb_stmt_num_rows

maxdb_stmt->num_rows

(PECL maxdb >= 1.0)

maxdb_stmt_num_rows -- maxdb_stmt->num_rows — Return the number of rows in statements result set

Описание

Процедурный стиль

int maxdb_stmt_num_rows ( resource $stmt )

Объектно-ориентированный стиль

int $maxdb_stmt->num_rows;

Returns the number of rows in the result set.

Возвращаемые значения

An integer representing the number of rows in result set.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Number of rows: 25.

Смотрите также

  • maxdb_stmt_affected_rows() - Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_init
maxdb_stmt_param_count
MaxDB Функции


Returns the number of parameter for the given statement

maxdb_stmt_num_rows
maxdb_stmt_prepare
MaxDB Функции
PHP Manual

maxdb_stmt_param_count

maxdb_stmt->param_count

(PECL maxdb >= 1.0)

maxdb_stmt_param_count -- maxdb_stmt->param_count — Returns the number of parameter for the given statement

Описание

Процедурный стиль

int maxdb_stmt_param_count ( resource $stmt )

Объектно-ориентированный стиль

int $maxdb_stmt->param_count;

maxdb_stmt_param_count() returns the number of parameter markers present in the prepared statement.

Возвращаемые значения

returns an integer representing the number of parameters.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = $stmt->param_count;
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = maxdb_stmt_param_count($stmt);
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Statement has 2 markers.

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_num_rows
maxdb_stmt_prepare
MaxDB Функции


Prepare an SQL statement for execution

maxdb_stmt_param_count
maxdb_stmt_reset
MaxDB Функции
PHP Manual

maxdb_stmt_prepare

maxdb_stmt::prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- maxdb_stmt::prepare — Prepare an SQL statement for execution

Описание

Процедурный стиль

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Объектно-ориентированный стиль

mixed maxdb_stmt::prepare ( string $query )

maxdb_stmt_prepare() prepares the SQL query pointed to by the null-terminated string query. The statement resource has to be allocated by maxdb_stmt_init(). The query must consist of a single SQL statement.

Замечание:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Замечание:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Portland is in district OR

Смотрите также

  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_stmt_param_count
maxdb_stmt_reset
MaxDB Функции


Resets a prepared statement

maxdb_stmt_prepare
maxdb_stmt_result_metadata
MaxDB Функции
PHP Manual

maxdb_stmt_reset

maxdb_stmt::reset

(PECL maxdb >= 1.0)

maxdb_stmt_reset -- maxdb_stmt::reset — Resets a prepared statement

Описание

Процедурный стиль

bool maxdb_stmt_reset ( resource $stmt )

Объектно-ориентированный стиль

bool maxdb_stmt::reset ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

maxdb_stmt_prepare
maxdb_stmt_result_metadata
MaxDB Функции


Returns result set metadata from a prepared statement

maxdb_stmt_reset
maxdb_stmt_send_long_data
MaxDB Функции
PHP Manual

maxdb_stmt_result_metadata

maxdb_stmt::result_metadata

(PECL maxdb >= 1.0)

maxdb_stmt_result_metadata -- maxdb_stmt::result_metadata — Returns result set metadata from a prepared statement

Описание

Процедурный стиль

resource maxdb_stmt_result_metadata ( resource $stmt )

Объектно-ориентированный стиль

resource maxdb_stmt::result_metadata ( void )

If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource that can be used to process the meta information such as total number of fields and individual field information.

Замечание:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()

Замечание:

The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().

Возвращаемые значения

maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occured.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Fieldname: ID

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_stmt_reset
maxdb_stmt_send_long_data
MaxDB Функции


Send data in blocks

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
MaxDB Функции
PHP Manual

maxdb_stmt_send_long_data

maxdb_stmt::send_long_data

(PECL maxdb 1.0)

maxdb_stmt_send_long_data -- maxdb_stmt::send_long_data — Send data in blocks

Описание

Процедурный стиль

bool maxdb_stmt_send_long_data ( resource $stmt , int $param_nr , string $data )

Объектно-ориентированный стиль

bool maxdb_stmt::stmt_send_long_data ( int $param_nr , string $data )

Allows to send parameter data to the server in pieces (or chunks). This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

param_nr indicates which parameter to associate the data with. Parameters are numbered beginning with 0. data is a string containing data to be sent.

Замечание:

For efficiency reasons, this function should be used after calling maxdb_execute(). In this case, the data is not stored on the client side. The end of the sequence must end with a call to maxdb_stmt_close_long_data().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
MaxDB Функции


Returns SQLSTATE error from previous statement operation

maxdb_stmt_send_long_data
maxdb_stmt_store_result
MaxDB Функции
PHP Manual

maxdb_stmt_sqlstate

(PECL maxdb >= 1.0)

maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Описание

string maxdb_stmt_sqlstate ( resource $stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Замечание:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Возвращаемые значения

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->sqlstate);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_sqlstate($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: 42000.

Смотрите также

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_send_long_data
maxdb_stmt_store_result
MaxDB Функции


Transfers a result set from a prepared statement

maxdb_stmt_sqlstate
maxdb_store_result
MaxDB Функции
PHP Manual

maxdb_stmt_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_stmt_store_result -- maxdb::store_result — Transfers a result set from a prepared statement

Описание

Процедурный стиль

bool maxdb_stmt_store_result ( resource $stmt )

Объектно-ориентированный стиль

object maxdb::store_result ( void )

maxdb_stmt_store_result() has no functionally effect and should not be used for retrieving data from MaxDB server.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* free result */
   $stmt->free_result();

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* free result */
   maxdb_stmt_free_result($stmt);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Number of rows: 25.

Смотрите также

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • maxdb_fetch() - Псевдоним maxdb_stmt_fetch

maxdb_stmt_sqlstate
maxdb_store_result
MaxDB Функции


Transfers a result set from the last query

maxdb_stmt_store_result
maxdb_thread_id
MaxDB Функции
PHP Manual

maxdb_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_store_result -- maxdb::store_result — Transfers a result set from the last query

Описание

Процедурный стиль

resource maxdb_store_result ( resource $link )

Объектно-ориентированный стиль

object maxdb::store_result ( void )

This function has no functionally effect.

Возвращаемые значения

Returns a result resource or FALSE if an error occurred.

Примеры

See maxdb_multi_query().

Смотрите также

  • maxdb_real_query() - Execute an SQL query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_stmt_store_result
maxdb_thread_id
MaxDB Функции


Returns the thread ID for the current connection

maxdb_store_result
maxdb_thread_safe
MaxDB Функции
PHP Manual

maxdb_thread_id

maxdb->thread_id

(PECL maxdb >= 1.0)

maxdb_thread_id -- maxdb->thread_id — Returns the thread ID for the current connection

Описание

Процедурный стиль

int maxdb_thread_id ( resource $link )

Объектно-ориентированный стиль

int $maxdb->thread_id;

The maxdb_thread_id() function returns the thread ID for the current connection which can then be killed using the maxdb_kill() function. If the connection is lost and you reconnect with maxdb_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Замечание:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

Возвращаемые значения

maxdb_thread_id() returns the Thread ID for the current connection.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_query(): -10821 Session not connected <...>
Error: Session not connected

Смотрите также

  • maxdb_kill() - Disconnects from a MaxDB server

maxdb_store_result
maxdb_thread_safe
MaxDB Функции


Returns whether thread safety is given or not

maxdb_thread_id
maxdb_use_result
MaxDB Функции
PHP Manual

maxdb_thread_safe

(PECL maxdb >= 7.6.06.04)

maxdb_thread_safe — Returns whether thread safety is given or not

Описание

bool maxdb_thread_safe ( void )

maxdb_thread_safe() indicates whether the client library is compiled as thread-safe.

Возвращаемые значения

TRUE if the client library is thread-safe, otherwise FALSE.

maxdb_thread_id
maxdb_use_result
MaxDB Функции


Initiate a result set retrieval

maxdb_thread_safe
maxdb_warning_count
MaxDB Функции
PHP Manual

maxdb_use_result

maxdb::use_result

(PECL maxdb >= 1.0)

maxdb_use_result -- maxdb::use_result — Initiate a result set retrieval

Описание

Процедурный стиль

resource maxdb_use_result ( resource $link )

Объектно-ориентированный стиль

resource maxdb::use_result ( void )

maxdb_use_result() has no effect.

Возвращаемые значения

Returns result или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->use_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_use_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

a

Смотрите также

  • maxdb_real_query() - Execute an SQL query
  • maxdb_store_result() - Transfers a result set from the last query

maxdb_thread_safe
maxdb_warning_count
MaxDB Функции


Returns the number of warnings from the last query for the given link

maxdb_use_result
Mongo
MaxDB Функции
PHP Manual

maxdb_warning_count

maxdb->warning_count

(PECL maxdb >= 1.0)

maxdb_warning_count -- maxdb->warning_count — Returns the number of warnings from the last query for the given link

Описание

Процедурный стиль

int maxdb_warning_count ( resource $link )

Объектно-ориентированный стиль

int $maxdb->warning_count;

maxdb_warning_count() returns the number of warnings from the last query in the connection represented by the link parameter.

Возвращаемые значения

Number of warnings or zero if there are no warnings.

Примеры

Пример #1 Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable city in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Number of warning: %d\n", $maxdb->warning_count);

/* close connection */
$maxdb->close();
?>

Пример #2 Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable long city name in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Number of warning: %d\n", maxdb_warning_count($link));

/* close connection */
maxdb_close($link);
?>

Результатом выполнения данного примера будет что-то подобное:

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
Number of warning: 0

Смотрите также

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_use_result
Mongo
MaxDB Функции


MongoDB Native Driver

  • Manual
    • Установка
    • Tutorial
    • SQL to Mongo Mapping Chart
    • Connecting
    • Writes
    • Querying
    • Updates
    • php.ini Options
    • Security
    • Troubleshooting
    • Running the Driver's Tests
  • Базовые классы
    • Mongo — Класс Mongo
    • MongoDB — The MongoDB class
    • MongoCollection — The MongoCollection class
    • MongoCursor — The MongoCursor class
  • Types
    • MongoId — Класс MongoId
    • MongoCode — The MongoCode class
    • MongoDate — The MongoDate class
    • MongoRegex — The MongoRegex class
    • MongoBinData — The MongoBinData class
    • MongoInt32 — The MongoInt32 class
    • MongoInt64 — The MongoInt64 class
    • MongoDBRef — The MongoDBRef class
    • MongoMinKey — The MongoMinKey class
    • MongoMaxKey — The MongoMaxKey class
    • MongoTimestamp — The MongoTimestamp class
  • Классы GridFS
    • MongoGridFS — The MongoGridFS class
    • MongoGridFSFile — The MongoGridFSFile class
    • MongoGridFSCursor — The MongoGridFSCursor class
  • Дополнительно
    • MongoLog — The MongoLog class
    • MongoPool — The MongoPool class
  • Functions
    • Mongo Функции
  • Exceptions
    • MongoException — The MongoException class
    • MongoCursorException — The MongoCursorException class
    • MongoCursorTimeoutException — The MongoCursorTimeoutException class
    • MongoConnectionException — The MongoConnectionException class
    • MongoGridFSException — The MongoGridFSException class
maxdb_warning_count
Manual
Расширения для работы с базами данных отдельных производителей


Manual

Содержание

  • Установка
  • Tutorial
  • SQL to Mongo Mapping Chart
  • Connecting
  • Writes
  • Querying
  • Updates
  • php.ini Options
  • Security
  • Troubleshooting
  • Running the Driver's Tests

This manual goes into some detail about how to use MongoDB, but it mostly covers using the PHP driver. For information about how to design a schema, what terms means, and setting up the database server, check out the » MongoDB documentation.

Mongo
Установка
Mongo


Установка

The MongoDB PHP driver should work on nearly any system: Windows, Mac OS X, Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP 5.1, 5.2, and 5.3.

Это расширение » PECL не поставляется вместе с PHP. This page gives more specific information on installing on different systems and troubleshooting issues users have run into.

  • » Installing on *NIX

  • » Manual Installation

  • » OS X

  • » Gentoo

  • » Fedora

  • » Installing on Windows

  • » Third-Party Installation Instructions

Installing on *NIX

Run:

$ sudo pecl install mongo

If you are using CentOS or Redhat, Csoke Arpad created » RPMs for these distributions.

Add the following line to your php.ini file:

extension=mongo.so

If pecl runs out of memory while installing, make sure memory_limit in php.ini is set to at least 32MB.

Manual Installation

For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Go to Github and click the "download" button. Then run:

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the location of mongo.so. The build will display where it is installing the PHP driver with output that looks something like:

      Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'
    Make sure that it is the same as the PHP extension directory by runnning:

      $ php -i | grep extension_dir
        extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 =>
      /usr/lib/php/extensions/no-debug-zts-20060613
    If it's not, change the extension_dir in php.ini or move mongo.so.

  • To load the extension on PHP startup, add a line:

      extension=mongo.so

OS X

If your system is unable to find autoconf, you'll need to install Xcode (available on your installation DVD or as a free download from the Apple website).

If you are using XAMPP, you may be able to compile the driver with the following command:

sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

If you are using MAMP (or XAMPP and the above command does not work), precompiled binaries are available from » Github (download the latest one with "osx" in the name that matches your version of PHP). Extract mongo.so from the archive and add it to MAMP or XAMPP's extension directory. Add

      extension=mongo.so
to the php.ini file being used and restart the server.

Gentoo

Gentoo has a package for the PHP driver called dev-php5/mongo, which can be installed with:

$ sudo emerge -va dev-php5/mongo

If you use PECL, you may get an error that libtool is the wrong version. Compiling from source you'll need to run aclocal and autoconf.

$ phpize && aclocal && autoconf && ./configure && make && make install

Red Hat

This includes Fedora and CentOS.

The default Apache settings on these systems do not let requests make network connections, meaning that the driver will get "Permission denied" errors when it tries to connect to the database. If you run into this, try running:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Then restart Apache. (This issue has also occurred with SELinux.)

Installing on Windows

Precompiled binaries for each release are available from » Github for a variety of combinations of versions, thread safety, and VC libraries. Unzip the archive and put php_mongo.dll in your PHP extension directory ("ext" by default).

The latest (non-release) code is compiled into Windows binaries on every commit. The zip consists of a .zip with php_mongo.dll and a version.txt. Please keep the version.txt around so that if you have a question or problem, you can give the developers the exact version you're using. (The number is long and nonsensical, but it will make sense to the developers!)

To get the latest bug fixes (and possibly bugs), download the binary corresponding to the PHP you have installed:

  • » PHP 5.2 VC6 Non-Thread-Safe Mongo extension

  • » PHP 5.2 VC6 Thread-Safe Mongo extension

  • » PHP 5.3 VC6 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC6 Thread-Safe Mongo extension

  • » PHP 5.3 VC8 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC8 Thread-Safe Mongo extension

  • » PHP 5.3 VC9 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC9 Thread-Safe Mongo extension

Add the following line to your php.ini file:

extension=php_mongo.dll

Third-Party Installation Instructions

A number of people have created excellent tutorials on installing the PHP driver.

  • » PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2

    An excellent video that takes you step-by-step through installing Apache, PHP, Xdebug, MongoDB, and Lithium by Jon Adams.

  • » Installing MongoDB and the PHP driver on Ubuntu 9.04

    Spanish article by Javier Aranda (» English translation).

  • » OS X: Installing MongoDB and the PHP Mongo Driver

    By Matt Butcher.

Manual
Tutorial
Manual


Tutorial

Introduction

This is the 10gen-supported PHP driver for MongoDB.

Here's a quick code sample that connects, inserts documents, queries for documents, iterates through query results, and disconnects from MongoDB. There are more details on each step in the tutorial below.

<?php

// connect
$m = new Mongo();

// select a database
$db = $m->comedy;

// select a collection (analogous to a relational database's table)
$collection = $db->cartoons;

// add a record
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);

// add another record, with a different "shape"
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);

// find everything in the collection
$cursor = $collection->find();

// iterate through the results
foreach ($cursor as $obj) {
    echo $obj["title"] . "\n";
}

?>

This would output:

Calvin and Hobbes
XKCD

Making a Connection

To connect to the database server, use one of the following:

<?php

$connection = new Mongo(); // connects to localhost:27017
$connection = new Mongo( "example.com" ); // connect to a remote host (default port: 27017)
$connection = new Mongo( "example.com:65432" ); // connect to a remote host at a given port

?>

You do not have to explicitly disconnect from the database. When $connection goes out of scope, the connection will be closed automatically and any database resources it was using will be freed.

See Also

The chapter on connecting covers different types of connections.

The API documentation on the Mongo class and Mongo::__construct() give a comprehensive look at all possible options with a number of examples.

Getting a Database

To select a database, use:

<?php

$db = $connection->dbname;

?>

The database does not need to be created in advance, you can create new databases by selecting them.

Be careful of typos! You can inadvertently create a new database, which can cause confusing errors:

<?php

$db = $connection->mybiglongdbname;
// do some stuff
$db = $connection->mybiglongdbanme;
// now connected to a different database!

?>

See Also

The API documentation on the MongoDB class contains more information about database objects.

Getting A Collection

Getting a collection has the same syntax as getting a database:

<?php

$db = $connection->baz;
$collection = $db->foobar;

// or, more succinctly
$collection = $connection->baz->foobar;

?>

A collection is analogous to a table (if you are familiar with relational databases).

See Also

The API documentation on the MongoCollection class contains more information about collection objects.

Inserting a Document

Associative arrays are the basic object that can be saved to a collection in the database. A somewhat random "document" might be:

<?php

$doc = array( "name" => "MongoDB",
   "type" => "database",
   "count" => 1,
   "info" => (object)array( "x" => 203, "y" => 102),
   "versions" => array("0.9.7", "0.9.8", "0.9.9")
);

?>

Note that you can have nested arrays and objects.

To insert this document, use MongoCollection::insert():

<?php

$collection->insert( $doc );

?>

See Also

The API documentation on MongoCollection::insert() contains more information about inserting data.

Finding Documents using MongoCollection::findOne()

To show that the document we inserted in the previous step is there, we can do a simple MongoCollection::findOne() operation to get a single document from the collection. This method is useful when there only is one document matching the query or you are only interested in one result.

<?php

$obj = $collection->findOne();
var_dump( $obj );

?>

This should print:

array(6) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "4e2995576803fab768000000"
  }
  ["name"]=>
  string(7) "MongoDB"
  ["type"]=>
  string(8) "database"
  ["count"]=>
  int(1)
  ["info"]=>
  array(2) {
    ["x"]=>
    int(203)
    ["y"]=>
    int(102)
  }
  ["versions"]=>
  array(3) {
    [0]=>
    string(5) "0.9.7"
    [1]=>
    string(5) "0.9.8"
    [2]=>
    string(5) "0.9.9"
  }
}

Note that there is an _id field that has been added automatically to your document. _id is the "primary key" field. If your document does not specify one, the driver will add one automatically.

If you specify your own _id field, it must be unique to the collection. See the example here:

<?php

$db->foo->insert(array("_id" => 1), array("safe" => true));
// this will throw an exception
$db->foo->insert(array("_id" => 1), array("safe" => true));

// this is fine, as it is a different collection
$db->bar->insert(array("_id" => 1), array("safe" => true));

?>

Note that these inserts pass a second array: array("safe" => true). This second field specifies options for the insert. By default, the driver does not wait for a database response for writes, so the driver would not catch the the _id. As we specify that this is a "safe" write, the driver will wait for a database response and see that the write did not go through. In general, all writes should use the "safe" option (it is omitted in previous examples for simplicity).

See Also

MongoCollection::findOne() for more information about finding data.

MongoId goes into more detail on unique ids.

The writes section covers safe
writes in more depth, as do the writing functions such as
MongoCollection::insert(),
MongoCollection::update(), and
MongoCollection::remove().

Adding Multiple Documents

In order to do more interesting things with queries, let's add multiple simple documents to the collection. These documents will just be of the form array( "i" => value ); and we can do this fairly efficiently in a loop:

<?php

for($i=0; $i<100; $i++) {
    $collection->insert( array( "i" => $i ) );
}

?>

Notice that we can insert arrays with different key sets into the same collection. This aspect is what we mean when we say that MongoDB is "schema-free".

Counting Documents in A Collection

Now that we've inserted 101 documents (the 100 we did in the loop, plus the first one), we can check to see if we have them all using the MongoCollection::count() method.

<?php

echo $collection->count();

?>
and it should print 101.

Using a Cursor to Get All of the Documents

In order to get all the documents in the collection, we will use MongoCollection::find(). The find() method returns a MongoCursor object which allows us to iterate over the set of documents that matched our query. So to query all of the documents and print them out:

<?php

$cursor = $collection->find();
foreach ($cursor as $id => $value) {
    echo "$id: ";
    var_dump( $value );
}

?>
and that should print all 101 documents in the collection. $id is the _id field of a document (cast to a string) and $value is the document itself.

See Also

The API documentation on MongoCollection::find() contains more information about finding data.

Setting Criteria for a Query

We can create a query to pass to the MongoCollection::find() method to get a subset of the documents in our collection. For example, if we wanted to find the document for which the value of the "i" field is 71, we would do the following:

<?php

$query = array( "i" => 71 );
$cursor = $collection->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>

and it should just print just one document:

array(2) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["i"]=>
  int(71)
  ["_ns"]=>
  "testCollection"
}

Getting A Set of Documents With a Query

We can use the query to get a set of documents from our collection. For example, if we wanted to get all documents where "i" > 50, we could write:

<?php

$query = array( "i" => array( '$gt' => 50 ) ); //note the single quotes around '$gt'
$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>

which should print the documents where i > 50. We could also get a range, say 20 < i <= 30:

<?php

$query = array( "i" => array( "\$gt" => 20, "\$lte" => 30 ) );
$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>

Remember to always escape the $-symbol or use single quotes. Otherwise PHP will interpret it to be the variable $gt.

Creating An Index

MongoDB supports indexes, and they are very easy to add on a collection. To create an index, you specify the field name and direction: ascending (1) or descending (-1). The following creates an ascending index on the "i" field:

<?php

$coll->ensureIndex( array( "i" => 1 ) );  // create index on "i"
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending

?>

Indexing is critical for good read performance as your data grows. If you are not familiar with indexing, check out the MongoCollection::ensureIndex() documentation and the core » MongoDB indexing documentation.

Установка
SQL to Mongo Mapping Chart
Manual


SQL to Mongo Mapping Chart

This is a PHP-specific version of the » SQL to Mongo mapping chart in the main docs.

SQL Statement | Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) | Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' | $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 10 SKIP 20 | $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users | $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users | $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc => array("a" => 2)));
DELETE FROM users WHERE z="abc" | $db->users->remove(array("z" => "abc"));

Tutorial
Connecting
Manual


Connecting

Connecting to MongoDB can be as easy as new Mongo, but there are many additional options and configurations. The Mongo::__construct() page covers all of the API options, but this page gives some more details and advice for practical use cases.

Logging In on Connection

If MongoDB is started with the --auth or --keyFile options, you must log in before you can do any operations with the driver. You can log in on connection by supplying the username and password in the connection URI:

<?php

$m = new Mongo("mongodb://${username}:${password}@localhost");

?>

If your connection is dropped, the driver will automatically attempt to reconnect and reauthenticate you.

You can also authenticate on a per-database level with MongoDB::authenticate():

<?php

$m = new Mongo();
$db = $m->admin;

$db->authenticate($username, $password);

?>

There is a major disadvantage to this method: if the connection is dropped and then reconnects, the new connection will not be authenticated. If you use the URI format, the PHP driver will automatically authenticate the user whenever a new connection is made.

To authenticate with a different database, specify the database name after the hosts. This example will log the user into the "blog" database:

<?php

$m = new Mongo("mongodb://${username}:${password}@localhost/blog");

?>

Replica Sets

To connect to a replica set, specify one or more members of the set and use the replicaSet option.

<?php

$m = new Mongo("mongodb://localhost:27017", array("replicaSet" => "myReplSetName"));

?>

Version 1.0.9+ of the driver is required to connect to a replica set (earlier versions of the driver will not autodetect the master or reconnect correctly).

The PHP driver will query the database server(s) listed to figure out who is master. So long as it can connect to at least one host listed and find a master, the connection will succeed. If it cannot make a connection to any servers listed or cannot find a master, a MongoConnectionException will be thrown.

If the master becomes unavailable, the slaves will not promote a new master for a few seconds. During that time, this connection will not be able to perform any database operations (connections to slaves will still be able to perform reads). Thus, if you attempt to do any sort of read or write on this connection, it will throw an exception.

Once a master is elected, attempting to perform a read or write will allow the driver to detect the new master. The driver will make this its primary database connection and continue operating normally.

For more information on replica sets, see the » core documentation.

Domain Socket Support

If you are running MongoDB locally and have version 1.0.9 or better of the driver, you can connect to the database via file. MongoDB automatically opens a socket file on startup: /tmp/mongodb-<port>.sock.

To connect to the socket file, specify the path in your MongoDB connection string:

<?php

$m = new Mongo("mongodb:///tmp/mongo-27017.sock");

?>

If you would like to use authentication on connection (as described above) with a socket file, you must specify a port of 0 so that the connection string parser knows where the end of the connection string is.

<?php

$m = new Mongo("mongodb://username:password@/tmp/mongo-27017.sock:0/foo");

?>

Connection Pooling (version 1.2.0+)

Creating connections is one of the most heavyweight things that the driver does. It can take hundreds of milliseconds to set up a connection correctly, even on a fast network. Thus, the driver tries to minimize the number of new connections created by reusing connections from a pool.

When a user creates a new instance of Mongo, all necessary connections will be taken from their pools (replica sets may require multple connections, one for each member of the set). When the Mongo instance goes out of scope, the connections will be returned to the pool. When the PHP process exits, all connections in the pools will be closed.

"Why do I have so many open connections?"

Connection pools can generate a large number of connections. This is expected and, using a little arithmetic, you can figure out how many connections to expect. There are three factors in the total number of connections:

  • connections_per_pool

    Each connection pool will create, by default, an unlimited number of connections. One might assume that this is a problem: if it can create an unlimited number of connections, couldn't it create thousands and the server would run out of file descriptors? In practice, this is unlikely, as unused connections are returned to the pool to be used later, so future connections will use the same connection instead of creating a new one. Unless you create thousands of connections at once without letting any go out of scope, the number of connections open should stay at a reasonable number.

    You can see how many connections you have in a pool using the MongoPool::info() function. Add up the "in use" and "in pool" fields for a given server. That is the total number of connections for that pool.

  • pools_per_process

    Each MongoDB server address you're connecting to gets its own connection pool. For example, if your local hostname is "example.net", connecting to "example.net:27017", "localhost:27017", and "/tmp/mongodb-27017.sock" will create three connection pools. You can see how many connection pools you have open using MongoPool::info().

  • processes

    Each PHP process has a separate set of pools. PHP-FPM and Apache generally create between 6 and a couple dozen PHP worker children. Check your settings to see what the max number of PHP processes is that can be spawned.

    If you are using PHP-FPM, estimating the number of connections can be tricky because it will spawn more PHP-FPM workers under heavy load. To be on the safe side, look at the max_children parameter or add up spare_servers+start_servers (choose whichever number is higher). That's how many PHP processes (and, thus sets of pools) you should plan for.

The three variables above can be multiplied together to give the max number of connections expected: connections_per_pool*pools_per_process*processes. Note that connections_per_pool can be different for different pools, so connections_per_pool should be the max.

For example, suppose we're getting 30 connections per pool, 10 pools per PHP process, and 128 PHP processes. Then we can expect 38400 connections from this machine. Thus, we should set this machine's file descriptor limit to be high enough to handle all of these connections or it may run out of file descriptors.

See MongoPool for more information on connection pooling.

Persistent Connections

Замечание:

This section is not relevant for 1.2.0+. In 1.2.0+, connections are always persistent and managed automatically by the driver. See MongoPool for more information on pooling.

Creating new connection to the database is very slow. To minimize the number of connections that you need to make, you can use persistent connections. A persistent connection is saved by PHP, so you can use the same connection for multiple requests.

For example, this simple program connects to the database 1000 times:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new Mongo();
}

?>

It takes approximately 18 seconds to execute. If we change it to use a persistent connection:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new Mongo("localhost:27017", array("persist" => "x"));
}

?>

...it takes less than .02 seconds to execute, as it only makes one database connection.

Persistent connections need an identifier string (which is "x" in the above example) to uniquely identify them. For a persistent connection to be used, the hostname, port, persist string, and username and password (if given) must match an existing persistent connection. Otherwise, a new connection will be created with this identifying information.

Persistent connections are highly recommended and should always be used in production unless there is a compelling reason not to. Most of the reasons that they are not recommended for relational databases are irrelevant to MongoDB.

SQL to Mongo Mapping Chart
Writes
Manual


Writes

Safe Operations

By default, the driver does not wait for a database response to writes (inserts, updates, and deletes). This means that writes can be performed extremely quickly, but you don't know whether or not they actually succeeded. Writes can fail for a number of reasons: if there are network problems, if a database server goes down, or if the write was simply invalid (e.g., writing to a system collection).

To get a response from the database, use the safe option, available for all types of writes. This option will make sure that the database has the write before returning success. If the write failed, it will throw a MongoCursorException() with an explanation of the failure.

While developing, you should always use safe writes (to protect against inadvertent mistakes, such as duplicate key errors and similar). In production, unsafe writes can be used for "unimportant" data. Unimportant data varies on application, but it's generally automatically (instead of user generated) data, such as click tracking or GPS locations, where you can get thousands of records per second.

To safely perform writes without incurring too large a performance penalty, it is recommended that you do a safe write at the end of a series of writes. For example:

$collection->insert($someDoc);
$collection->update($criteria, $newObj);
$collection->insert($somethingElse);
$collection->remove($something, array("safe" => true));

Then, if the last write throws an exception, you know that there's a problem with your database.

There are a few other options available to ensure the safety of writes. You can specify "fsync" => true to force the database to fsync all writes up to this point to disk (by default, MongoDB fsyncs writes once per minute).

The safest way of doing a write is to use replication and specify the number of servers that must have this write before returning success. (You should always use replication in production, see the Connecting section for more information on replica sets.)

$collection->insert($someDoc, array("safe" => 3));

If you specify "safe" => N, the MongoDB server will make sure that at least N servers have a copy of the write before returning success. So, if N is 3, the master and two slaves must have the write.

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Connecting
Querying
Manual


Querying

Distributing queries to slaves

Замечание: 1.1.0+

If you are using a » replica set and version 1.1.0 or above of the driver, the driver can automatically route reads to slaves. This behavior does not exist in earlier versions of the driver and cannot be used with "normal" master-slave.

By default, the driver will send all queries to the master. If you set the "slaveOkay" option, the driver will send all queries to a non-primary server, if possible. The "slaveOkay" option can be set at every "level": connection, database, collection, and cursor. Each class inherits the "slaveOkay" setting from the class above it, so if you do:

<?php

$db->setSlaveOkay(true);
$c = $db->myCollection;

$cursor = $c->find();

?>

then the query will be executed against a slave (the collection inherited "slaveOkay" from the database and the cursor inherited it from the collection).

How slaves are chosen

Each instance of Mongo chooses its own slave using the available slave with the lowest ping time. So, if we had a PHP client in Europe and one in Australia and we had one secondary in each of these data centers, we could do:

<?php

// P is the primary

// on the Australian client
$m1 = new Mongo("mongodb://P", array("replicaSet" => true));
$m1->foo->bar->find()->slaveOkay()->getNext();
echo "m1's slave is ".$m1->getSlave()."\n";

// on the European client
$m2 = new Mongo("mongodb://P", array("replicaSet" => true));
$m2->foo->bar->find()->slaveOkay()->getNext();
echo "m2's slave is ".$m2->getSlave()."\n";

?>

we'd probably end up with something like:

m1's slave is: australianHost
m2's slave is: europeanHost

Note that we have to do a query before a slave is chosen: slaves are chosen lazily by the driver. Mongo::getSlave() will return NULL until a slave is used.

You can see what the driver thinks is the current status of the set members by running Mongo::getHosts().

If no non-primary server is readable, the driver will send reads to the primary (even if "slaveOkay" is set). A server is considered readable if its state is 2 (SECONDARY) and its health is 1. You can check this with Mongo::getHosts().

If you enjoy twiddling knobs that you probably shouldn't mess with, you can request the driver to use a different slave by calling Mongo::switchSlave(). This may choose a new slave (if one is available) and shouldn't be used unless you know what you're doing.

Random notes

Writes are always sent to the primary. Database commands, even read-only commands, are also always sent to the primary.

The health and state of a slave is checked every 5 seconds or when the next operation occurs after 5 seconds. It will also recheck the configuration when the driver has a problem reaching a server.

Note that a non-primary server may be behind the primary in operations, so your application must be okay with getting out-of-date data (or you must use w for all writes).

Querying by _id

Every object inserted is automatically assigned a unique _id field, which is often a useful field to use in queries.

Suppose that we wish to find the document we just inserted. Inserting adds and _id field to the document, so we can query by that:

<?php

$person = array("name" => "joe");

$people->insert($person);

// now $joe has an _id field
$joe = $people->findOne(array("_id" => $person['_id']));

?>

Unless the user has specified otherwise, the _id field is a MongoId. The most common mistake is attepting to use a string to match a MongoId. Keep in mind that these are two different datatypes, and will not match each other in the same way that the string "array()" is not the same as an empty array. For example:

<?php

$person = array("name" => "joe");

$people->insert($person);

// convert the _id to a string
$pid = $person['_id'] . "";

// FAILS - $pid is a string, not a MongoId
$joe = $people->findOne(array("_id" => $pid));

?>

Arrays

Arrays are special in a couple ways. First, there are two types that MongoDB uses: "normal" arrays and associative arrays. Associative arrays can have any mix of key types and values. "Normal" arrays are defined as arrays with ascending numeric indexes starting at 0 and increasing by one for each element. These are, typically, just your usual PHP array.

For instance, if you want to save a list of awards in a document, you could say:

<?php

$collection->save(array("awards" => array("gold", "silver", "bronze")));

?>

Queries can reach into arrays to search for elements. Suppose that we wish to find all documents with an array element of a given value. For example, documents with a "gold" award, such as:

{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "awards" : ["gold", "silver", "bronze"]}

This can be done with a simple query, ignoring the fact that "awards" is an array:

<?php

  $cursor = $collection->find(array("awards" => "gold"));

?>

Suppose we are querying for a more complex object, if each element of the array were an object itself, such as:

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "awards" :
     [
        {
            "first place" : "gold"
        },
        {
            "second place" : "silver"
        },
        {
            "third place" :  "bronze"
        }
     ]
}

Still ignoring that this is an array, we can use dot notation to query the subobject:

<?php

$cursor = $collection->find(array("awards.first place" => "gold"));

?>

Notice that it doesn't matter that there is a space in the field name (although it may be best not to use spaces, just to make things more readable).

You can also use an array to query for a number of possible values. For instance, if we were looking for documents "gold" or "copper", we could do:

<?php

$cursor = $collection->find(array("awards" => array('$in' => array("gold", "copper"))));

?>
Writes
Updates
Manual


Updates

Updates can be one of the most complicated operation available with MongoDB. They combine a query with an action, modifying documents that match the criteria. They are also extremely powerful, allowing you to change documents quickly and replace them altogether. They are done in-place (when possible) with little overhead.

Modifying vs. replacing documents

There are two types of updates you can use: modifying updates and replacing updates. Modifying updates contain $-operators and change fields in a document: they might increment counters, push new elements onto an array, or change the type of a field.

For example, a modifying update could add a new field to a document.

/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array('$set' => array("twitter" => "@joe4153")));

/** now the document will look like:
 * {"username" : "joe", "password" : "...", "email" : "...", "twitter" : "@joe4153"}
 */

Replacing updates replace the entire matching document with a new document. They are generally not as efficient as using $-modifiers, but can be very usefully for complex operations or updates that can't be expressed in terms of $-operators.

For example, a replacing update can completely change the structure of a document.

/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array("userId" => 12345, "info" => array(
    "name" => "joe", "twitter" => "@joe4153", "email" => "..."), "likes" => array()));

/** now the document will look like:
 * {
 *     "userId" : 12345,
 *     "info" : {
 *         "name" : "joe",
 *         "twitter" : "@joe4153",
 *         "email" : "..."
 *     },
 *     "likes" : []
 * }
 */

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Querying
php.ini Options
Manual


php.ini Options

Поведение этих функций зависит от установок в php.ini.

Mongo Опции настройки
Имя | По умолчанию | Меняемо
mongo.native_long | false* | PHP_INI_ALL
mongo.long_as_object | false | PHP_INI_ALL
mongo.default_host | "localhost" | PHP_INI_ALL
mongo.default_port | 27017 | PHP_INI_ALL
mongo.auto_reconnect | true | PHP_INI_SYSTEM
mongo.allow_persistent | true | PHP_INI_SYSTEM
mongo.chunk_size | 262144 | PHP_INI_SYSTEM
mongo.cmd | "$" | PHP_INI_ALL
mongo.utf8 | "1" | PHP_INI_ALL
mongo.allow_empty_keys | false | PHP_INI_ALL
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mongo.native-long int

The default behavior for this will be changed to TRUE in 2.0.0, so make sure to set this variable to the value you want (probably TRUE) so that the driver's behavior doesn't suddenly change when you upgrade.

On 64-bit platforms, the mongo.native_long setting allows for 64-bit integers to be stored in MongoDB. If it is not set, only 32-bits of the integer will be saved. The MongoDB data type that is used in this case is the BSON LONG, instead of the BSON INT that is used if this setting is turned off.

The setting also changes the way how BSON LONGs behave when they are read back from MongoDB. Without mongo.native_long enabled, the driver would convert every BSON LONG to a PHP double which can result in a loss of precision.

On 32-bit platforms, the mongo.native_log setting changes nothing for storing integers in MongoDB: the integer is stored as a BSON INT as before. However, when the setting is enabled and a BSON LONG is read from MongoDB a MongoCursorException is thrown alerting you that the data could not be read back without losing precision.

On 32-bit systems especially, it is recommended that you combine this with enabling mongo.long_as_object.

mongo.long_as_object string

Return a BSON_LONG as an instance of MongoInt64 (instead of a primitive type).

mongo.default_host string

Default hostname when nothing is passed to the constructor.

mongo.default_port string

The default TCP port number to use when connecting to the database server if no other port is specified. The database's default is 27017.

mongo.auto_reconnect bool

Whether to reconnect to the database if the connection is lost.

mongo.allow_persistent bool

If persistent connections are allowed.

mongo.chunk_size int

The number of bytes-per-chunk. Used in divvying up GridFS files. This number must be at least 100 less than 4 megabytes (max: 4194204) and it is recommended that it be less than that.

mongo.cmd string

A character to be used in place of $ in modifiers and comparisons.

As it is easy to forget to escape the "$", you can also choose your own special character to use instead of '$'. Choose a character that will not occur in your key names, e.g. ":":

mongo.cmd = ":"

Then, to do a comparison, for example:

<?php

$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );

?>

You can also change it in your code using ini_set("mongo.cmd", ":"). Of course, you can also just use single quotes or backslash-escape the $.

mongo.utf8 int

If an exception should be thrown for non-UTF8 strings. Until version 1.0.4, the PHP driver would ignore non-UTF8 strings, even though you're not supposed to insert them. As of 1.0.4, the driver throws a MongoException. To ease the transition for applications that insert non-UTF8 strings, you can turn this option off to emulate the old, non-exception-throwning behavior. This option will be eliminated and exceptions always thrown for non-UTF8 strings starting with version 1.1.0.

mongo.allow_empty_keys int

Added in version 1.0.11.

If empty strings ("") should be allowed as key names. By default, the driver will throw an exception if you attempt to pass the empty string as a key to the database. It is extremely easy to do this inavertently by using double quotes with $-operators, so it is recommended that you leave this setting as default. However, if you need to save keys that are empty strings, you can set this option to true and the driver will allow you to pass empty strings to the database.

Updates
Security
Manual


Security

Request Injection Attacks

If you are passing $_GET parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application does the query $collection->find(array("username" => $_GET['username'])).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $collection->find(array("username" => array('$ne' => "foo"))), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET's parameters are the type you expect before you send them to the database (cast them to strings, in this case).

Note that this type of attack can be used with any databases interation that locates a document, including updates, upserts, find-and-modifies, and removes.

Thanks to » Phil for pointing this out.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.

Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoCode, not interpolated into the JavaScript string. This can come up when using MongoDB::execute(), $where clauses, MapReduces, group-bys, and any other time you may pass JavaScript into the database.

Замечание:

MapReduce ignore the scope field of MongoCode, but there is a scope option on the command that can be used instead.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php

// don't do this!

$username = $_POST['username'];
$db->execute("print('Hello, $username!');");

?>

However, what if a malicious user passes in some JavaScript?

<?php

// don't do this!

// $username is set to "'); db.users.drop(); print('"
$db->execute("print('Hello, $username!');");

?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use scope to pass variables from PHP to JavaScript:

<?php

$scope = array("user" => $username);
$db->execute(new MongoCode("print('Hello, '+user+'!');", $scope));

?>

This adds a variable user to the JavaScript scope. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using scope helps prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! For example, never use the JavaScript eval function on user input:

<?php

// don't do this!

// $jsShellInput is "db.users.drop();"
$scope = array("input" => $jsShellInput);
$db->execute(new MongoCode("eval(input);", $scope));

?>

Always use scope and never allow the database to execute user input as code.

php.ini Options
Troubleshooting
Manual


Troubleshooting

If you're having trouble, there are lots of resources you can turn to.

  • IRC

    The official MongoDB IRC room is irc.freenode.net/#mongodb. This is the fastest way to get help... if there are people around.

  • Mailing List

    » MongoDB's mailing list is a good (and usually very fast) way to get answers to questions.

  • Bug Tracker

    Found a bug? Want a feature? Have a question? File it in the » PHP driver's bug tracker.

You can turn on (very) verbose debugging output by compiling the driver with the debugging flag.

$ ./configure CFLAGS=-DDEBUG

DEBUG turns on all debugging. You can also turn on specific debug flags. In the latest code, these flags are:

  • DEBUG_CONN

    Debugging connections.

Security
Running the Driver's Tests
Manual


Running the Driver's Tests

The PECL package does not come with the tests, but they are available at » Github. There are two types of tests: the PHPUnit tests and the C tests.

PHPUnit Tests

To run the tests, you must download the driver from Github (the tests are in the tests/ directory). You'll also need » PHPUnit to run the tests. PHPUnit can be installed via PEAR (although you should look at the installation instructions, it requires a couple of prerequisites).

Some tests expect warnings or errors, so you must set error_reporting in php.ini to E_STRICT | E_ALL for these tests to pass. If you do not, you will get some failures that say the test was expecting a warning or error.

To run the tests, make sure that there is a MongoDB server running locally on port 27017. Before reporting errors, please try running the tests against the latest development version of MongoDB: often there are tests for features that aren't yet in the stable release.

The test suite uses the "phpunit" database. If you are using a database called "phpunit" in your application, make sure point MongoDB at a different data directory before running the tests.

Make sure you're in the main directory of the driver source you downloaded from Github. Run:

$ phpunit tests/MongoSuite.php

C Tests

The C tests mostly check internal functions that are not exposed through PHP. If you'd like to run these tests, you'll need to compile PHP with the --enable-embed flag. Then switch to the tests directory and run make. This will create a binary called unit. Run unit to execute the tests. These tests do no require a database to be running.

If a test passes, it will print a ".". If a test fails, it will assert and stop the tests. Please report any asserts.

If make cannot find your PHP embedded library (libphp5.so) or header files, you may have to specify the PHP_PATH variable.

Run make clean to remove all testing objects.

If you run these tests with valgrind, you should get no invalid memory access errors and the "no leaks are possible" message at the end.

Reporting Errors

Please report any failures or errors in the » bugtracker. There may be skipped tests, these are normal and can be ignored.

New tests are always welcome! Please feel free to contribute new tests of any type testing any functionality.

Troubleshooting
Базовые классы
Manual


Базовые классы

Содержание

  • Mongo
  • MongoDB
  • MongoCollection
  • MongoCursor

Базовые классы - это основная часть драйвера.

Running the Driver's Tests
Mongo
Mongo


Класс Mongo

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Подключение между PHP и MongoDB.

Данный класс служит для создания и управления подключениями. Обычное использование:

<?php

$m = new Mongo(); // подключаемся
$db = $m->foo; // возвращаем базу данных "foo"

?>

Смотрите Mongo::__construct() и раздел по созданию подключений для более подробной информации по подключению к Mongo.

Обзор классов

Mongo {
/* Константы */
const string VERSION ;
const string DEFAULT_HOST = "localhost" ;
const int DEFAULT_PORT = 27017 ;
/* Fields */
public boolean $Mongo->connected = FALSE ;
public string $status = NULL ;
protected string $server = NULL ;
protected boolean $persistent = NULL ;
/* Методы */
public bool Mongo::close ( void )
public bool Mongo::connect ( void )
protected bool Mongo::connectUtil ( void )
  Mongo::__construct
  ([ string $server = "mongodb://localhost:27017"
 [, array $options = array("connect" => TRUE)
]] )
public array Mongo::dropDB ( mixed $db )
public MongoDB Mongo::__get ( string $dbname )
public array Mongo::getHosts ( void )
public static int Mongo::getPoolSize ( void )
public string Mongo::getSlave ( void )
public bool Mongo::getSlaveOkay ( void )
public array Mongo::listDBs ( void )
public array Mongo::poolDebug ( void )
public MongoCollection Mongo::selectCollection ( string $db , string $collection )
public MongoDB Mongo::selectDB ( string $name )
public static bool Mongo::setPoolSize ( int $size )
public bool Mongo::setSlaveOkay ([ bool $ok = true ] )
public string Mongo::switchSlave ( void )
public string Mongo::__toString ( void )
}

Предопределенные константы

Константы Mongo

Mongo::VERSION
Версия PHP драйвера. Может оканчиваться символом "+" или "-" если это промежуточная версия.
Mongo::DEFAULT_HOST
"localhost"
Адрес сервера Mongo к которому будет происходить подключение, если адрес не указан.
Mongo::DEFAULT_PORT
27017
Порт к которому будет производиться подключиться, если порт не указан.

Параметры

status
Если это постоянное подключение, т.е. оно было создано для данного объекта или используется созданное ранее. Если это не постоянное подключение, данный параметр должен быть NULL.

Смотрите также

MongoDB основная документация о » подключениях.

Содержание

  • Mongo::close — Closes this connection
  • Mongo::connect — Connects to a database server
  • Mongo::connectUtil — Connects with a database server
  • Mongo::__construct — Creates a new database connection object
  • Mongo::dropDB — Drops a database [deprecated]
  • Mongo::__get — Gets a database
  • Mongo::getHosts — Updates status for all hosts associated with this
  • Mongo::getPoolSize — Get pool size for connection pools
  • Mongo::getSlave — Returns the address being used by this for slaveOkay reads
  • Mongo::getSlaveOkay — Get slaveOkay setting for this connection
  • Mongo::listDBs — Lists all of the databases available.
  • Mongo::poolDebug — Returns information about all connection pools.
  • Mongo::selectCollection — Gets a database collection
  • Mongo::selectDB — Gets a database
  • Mongo::setPoolSize — Set the size for future connection pools.
  • Mongo::setSlaveOkay — Change slaveOkay setting for this connection
  • Mongo::switchSlave — Choose a new slave for slaveOkay reads
  • Mongo::__toString — String representation of this connection
Базовые классы
Mongo::close
Базовые классы


Closes this connection

Mongo
Mongo::connect
Mongo
PHP Manual

Mongo::close

(PECL mongo >=0.9.0)

Mongo::close — Closes this connection

Описание

public bool Mongo::close ( void )

This method does not need to be called, except in unusual circumstances. The driver will cleanly close the database connection when this Mongo instance goes out of scope.

If objects do not go out of scope between requests, you may wish to call this method at the end of your program to keep old connections from hanging around. However, it is probably more efficient use a persistent connection, which will automatically create a connection if needed and use it for as many requests as possible.

If you are connected to a replica set, close() will only close the connection to the primary.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns if the connection was successfully closed.

Mongo
Mongo::connect
Mongo


Connects to a database server

Mongo::close
Mongo::connectUtil
Mongo
PHP Manual

Mongo::connect

(PECL mongo >=0.9.0)

Mongo::connect — Connects to a database server

Описание

public bool Mongo::connect ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

If the connection was successful.

Ошибки

Throws MongoConnectionException if it fails to connect to the database.

Mongo::close
Mongo::connectUtil
Mongo


Connects with a database server

Mongo::connect
Mongo::__construct
Mongo
PHP Manual

Mongo::connectUtil

(PECL mongo >=0.9.0)

Mongo::connectUtil — Connects with a database server

Описание

protected bool Mongo::connectUtil ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

If the connection was successful.

Ошибки

Throws MongoConnectionException if it fails to connect to the databases.

Mongo::connect
Mongo::__construct
Mongo


Creates a new database connection object

Mongo::connectUtil
Mongo::dropDB
Mongo
PHP Manual

Mongo::__construct

(PECL mongo >=0.9.0)

Mongo::__construct — Creates a new database connection object

Описание

  Mongo::__construct
  ([ string $server = "mongodb://localhost:27017"
 [, array $options = array("connect" => TRUE)
]] )

If no parameters are passed, this connects to "localhost:27017" (or whatever was specified in php.ini for mongo.default_host and mongo.default_port).

server should have the form:

mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db

The connection string always starts with mongodb://, to indicate it is a connection string in this form.

If username and password are specified, the constructor will attempt to authenticate the connection with the database before returning. Username and password are optional and must be followed by an @, if specified.

At least one host must be given (port optional, always defaulting to 27017) and as many hosts as desired may be connected to. Host names are comma-separated and the constructor will return successfully if it connected to at least one host. If it could not connect to any of the hosts, it will throw a MongoConnectionException.

Finally, if you specified a username and password, you may specify a database to authenticate with. If db is not specified, "admin" will be used.

Список параметров

server

The server name.

options

An array of options for the connection. Currently available options include:

  • "connect"

    If the constructor should connect before returning. Default is TRUE.

  • "timeout"

    For how long the driver should try to connect to the database (in milliseconds).

  • "replicaSet"

    The name of the replica set to connect to. If this is given, the master will be determined by using the ismaster database command on the seeds, so the driver may end up connecting to a server that was not even listed. See the replica set example below for details.

  • "username"

    The username can be specified here, instead of including it in the host list. This is especially useful if a username has a ":" in it. This overrides a username set in the host list.

  • "password"

    The password can be specified here, instead of including it in the host list. This is especially useful if a password has a "@" in it. This overrides a password set in the host list.

  • "db"

    The database to authenticate against can be specified here, instead of including it in the host list. This overrides a database given in the host list.

Возвращаемые значения

Returns a new database connection object.

Ошибки

Throws MongoConnectionException if it tries and fails to connect to the database for all hostnames given. It will also throw a MongoConnnectionException if an invalid username or password is given. See MongoConnectionException documentation for common exceptions and their causes.

Список изменений

Версия | Описание
1.2.0

Removed the persist option, as all connections are now persistent. It can still be used, but it doesn't affect anything.

"persist"

If the connection should be persistent. If set, the connection will be persistent. The string representation of the value is used as an id for the connection, so two instances of Mongo that are initialized with array("persist" => "foobar") will share the same database connection, whereas an instance initialized with array("persist" => "barbaz") will use a different database connection.

The "replicaSet" parameter now takes a string, not a boolean (although boolean is still accepted).

1.0.2 Changed constructor to take an array of options. Pre-1.0.2, the constructor took the following parameters:
server

The server name.

connect

Optional boolean parameter specifying if the constructor should connect to the database before returning. Defaults to TRUE.

persistent

If the connection should be persistent.

paired

If the connection should be paired.

1.0.9 | Added the replicaSet option.
1.2.0 | Added the username and password options.

Примеры

Пример #1 Mongo::__construct() replica set example

This example shows how to connect the driver to a replica set. It assumes that there is a set of three servers: sf1.example.com, sf2.example.com, and ny1.example.com. The master could be any one of these servers.

<?php

// pass a comma-separated list of server names to the constructor
$m1 = new Mongo("mongodb://sf2.example.com,ny1.example.com", array("replicaSet" => "myReplSet"));

// you only need to pass a single seed, the driver will derive the full list and
// find the master from this seed
$m2 = new Mongo("mongodb://ny1.example.com", array("replicaSet" => "myReplSet"));

?>

If the current master fails, the driver will figure out which secondary server became the new master and automatically start using that connection. Automatic failover will not work correctly if replicaSet is not specified.

At least one seed in the seed list must be up for the driver to connect to the replica set.

If you include seeds from two separate replica sets, behavior is undefined.

See the » core documentation on replica sets for more information.

Пример #2 Connecting to a domain socket

In version 1.0.9+, you can use a UNIX domain socket to connect to an instance of MongoDB running locally. This should be slightly faster than using a network connection.

In version 1.5.0, the MongoDB server automatically opens a socket at /tmp/mongodb-<port>.sock. You can connect to this by specifying the path in your connection string:

<?php

// MongoDB server running locally on port 20000
$m = new Mongo("mongodb:///tmp/mongodb-20000.sock");

?>

You can combine this with any other connections you'd like:

<?php

// try to connect to the domain socket, fall back to localhost connection
$m = new MongoDB("mongodb:///tmp/mongodb-27017.sock,localhost:27017");

?>

Пример #3 Mongo::__construct() authentication example

A user must exist in the admin database before attempting to use authentication. You can create one with the Mongo shell by running:

> use admin
switched to db admin
> db.addUser("testUser", "testPass");
{
        "_id" : ObjectId("4b21272fd9ab21611d19095c"),
        "user" : "testUser",
        "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59"
}
>

After creating a user with, in this case, username "testUser" and password "testPass", you can create an authenticated connection:

<?php

$m = new Mongo("mongodb://testUser:testPass@localhost");

?>
Mongo::connectUtil
Mongo::dropDB
Mongo


Drops a database [deprecated]

Mongo::__construct
Mongo::__get
Mongo
PHP Manual

Mongo::dropDB

(PECL mongo >=0.9.0)

Mongo::dropDB — Drops a database [deprecated]

Описание

public array Mongo::dropDB ( mixed $db )
Внимание

Deprecated

Use MongoDB::drop() instead.

Список параметров

db

The database to drop. Can be a MongoDB object or the name of the database.

Возвращаемые значения

Returns the database response.

Mongo::__construct
Mongo::__get
Mongo


Gets a database

Mongo::dropDB
Mongo::getHosts
Mongo
PHP Manual

Mongo::__get

(PECL mongo >=1.0.2)

Mongo::__get — Gets a database

Описание

public MongoDB Mongo::__get ( string $dbname )

This is the cleanest way of getting a database. If the database name has any special characters, Mongo::selectDB() will need to be used. However, in most cases, this should be sufficient.

<?php

$mongo = new Mongo();

// the following two lines are equivalent
$db = $mongo->selectDB("foo");
$db = $mongo->foo;

?>

Список параметров

dbname

The database name.

Возвращаемые значения

Returns a new db object.

Ошибки

Throws a generic exception if the database name is invalid.

Mongo::dropDB
Mongo::getHosts
Mongo


Updates status for all hosts associated with this

Mongo::__get
Mongo::getPoolSize
Mongo
PHP Manual

Mongo::getHosts

(PECL mongo >=1.1.0)

Mongo::getHosts — Updates status for all hosts associated with this

Описание

public array Mongo::getHosts ( void )

This method can only be used with a connection to a replica set. It returns the status of all of the hosts in the set.

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of information about the hosts in the set. Includes each host's hostname, its health (1 is healthy), its state (1 is primary, 2 is secondary, 0 is anything else), the amount of time it took to ping the server, and when the last ping occurred. For example, on a three-member replica set, it might look something like:

array(2) {
  ["A:27017"]=>
  array(4) {
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(369)
    ["lastPing"]=>
    int(1309470644)
  }
  ["B:27017"]=>
  array(4) {
    ["health"]=>
    int(1)
    ["state"]=>
    int(1)
    ["ping"]=>
    int(139)
    ["lastPing"]=>
    int(1309470644)
  }
  ["C:27017"]=>
  array(4) {
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(1012)
    ["lastPing"]=>
    int(1309470644)
  }
}

In the example above, B and C are secondaries (state 2). B is likely to be selected for queries if slaveOkay is set, as it has a lower ping time (and thus is likely closer or handling less load) than C.

Mongo::__get
Mongo::getPoolSize
Mongo


Get pool size for connection pools

Mongo::getHosts
Mongo::getSlave
Mongo
PHP Manual

Mongo::getPoolSize

(Информация о версии неизвестна, возможно, только в SVN)

Mongo::getPoolSize — Get pool size for connection pools

Описание

public static int Mongo::getPoolSize ( void )
Внимание

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::getSize() instead.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current pool size.

Примеры

Пример #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".Mongo::getPoolSize()."\n";

echo "setting pool size to 200\n";

Mongo::setPoolSize(200);

// pool size is 200
echo "pool size is: ".Mongo::getPoolSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Смотрите также

  • Mongo::setPoolSize() - Set the size for future connection pools.
  • Mongo::poolDebug() - Returns information about all connection pools.
  • The connection documentation.

Mongo::getHosts
Mongo::getSlave
Mongo


Returns the address being used by this for slaveOkay reads

Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo
PHP Manual

Mongo::getSlave

(PECL mongo >=1.1.0)

Mongo::getSlave — Returns the address being used by this for slaveOkay reads

Описание

public string Mongo::getSlave ( void )

This finds the address of the slave currently being used for reads. It is a read-only method: it does not change anything about the internal state of the object.

When you create a connection to the database, the driver will not immediately decide on a slave to use. Thus, after you connect, this function will return NULL even if there are slaves available. When you first do a query with slaveOkay set, at that point the driver will choose a slave for this connection. At that point, this function will return the chosen slave.

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The address of the slave this connection is using for reads.

This returns NULL if this is not connected to a replica set or not yet initialized.

Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo


Get slaveOkay setting for this connection

Mongo::getSlave
Mongo::listDBs
Mongo
PHP Manual

Mongo::getSlaveOkay

(PECL mongo >=1.1.0)

Mongo::getSlaveOkay — Get slaveOkay setting for this connection

Описание

public bool Mongo::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the value of slaveOkay for this instance.

Mongo::getSlave
Mongo::listDBs
Mongo


Lists all of the databases available.

Mongo::getSlaveOkay
Mongo::poolDebug
Mongo
PHP Manual

Mongo::listDBs()

(Информация о версии неизвестна, возможно, только в SVN)

— Lists all of the databases available.

Описание

public array Mongo::listDBs ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an associative array containing three fields. The first field is databases, which in turn contains an array. Each element of the array is an associative array corresponding to a database, giving the database's name, size, and if it's empty. The other two fields are totalSize (in bytes) and ok, which is 1 if this method ran successfully.

Примеры

Пример #1 Mongo::listDBs() example

Example demonstrating how to use listDBs and the returned data structure.

<?php

$mongo = new Mongo();
$dbs = $mongo->listDBs();
print_r($dbs);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [databases] => Array
        (
            [0] => Array
                (
                    [name] => doctrine
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
        )

    [totalSize] => 218103808
    [ok] => 1
)
Mongo::getSlaveOkay
Mongo::poolDebug
Mongo


Returns information about all connection pools.

Mongo::listDBs
Mongo::selectCollection
Mongo
PHP Manual

Mongo::poolDebug

(Информация о версии неизвестна, возможно, только в SVN)

Mongo::poolDebug — Returns information about all connection pools.

Описание

public array Mongo::poolDebug ( void )
Внимание

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::info() instead.

Returns an array of information about all connection pools.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by Mongo instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of Mongo before we exhausted this pool (assuming no instances of Mongo went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

Mongo::listDBs
Mongo::selectCollection
Mongo


Gets a database collection

Mongo::poolDebug
Mongo::selectDB
Mongo
PHP Manual

Mongo::selectCollection()

(Информация о версии неизвестна, возможно, только в SVN)

— Gets a database collection

Описание

public MongoCollection Mongo::selectCollection ( string $db , string $collection )

Список параметров

db

The database name.

collection

The collection name.

Возвращаемые значения

Returns a new collection object.

Ошибки

Throws InvalidArgumentException if the database or collection name is invalid.

Примеры

Пример #1 Mongo::selectCollection() example

<?php
$m = new Mongo();

$c1 = $m->selectCollection("foo", "bar.baz");
// which is equivalent to
$c2 = $m->selectDB("foo")->selectCollection("bar.baz");

// $c1 and $c2 now represent the same collection
?>
Mongo::poolDebug
Mongo::selectDB
Mongo


Gets a database

Mongo::selectCollection
Mongo::setPoolSize
Mongo
PHP Manual

Mongo::selectDB

(PECL mongo >=0.9.0)

Mongo::selectDB — Gets a database

Описание

public MongoDB Mongo::selectDB ( string $name )

Список параметров

name

The database name.

Возвращаемые значения

Returns a new db object.

Ошибки

Throws InvalidArgumentException if the database name is invalid.

Mongo::selectCollection
Mongo::setPoolSize
Mongo


Set the size for future connection pools.

Mongo::selectDB
Mongo::setSlaveOkay
Mongo
PHP Manual

Mongo::setPoolSize

(Информация о версии неизвестна, возможно, только в SVN)

Mongo::setPoolSize — Set the size for future connection pools.

Описание

public static bool Mongo::setPoolSize ( int $size )
Внимание

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::setSize() instead.

Sets the max number of connections new pools will be able to create.

Список параметров

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Возвращаемые значения

Returns the former value of pool size.

Примеры

Пример #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
Mongo::setPoolSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

Результатом выполнения данного примера будет что-то подобное:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Смотрите также

  • Mongo::getPoolSize() - Get pool size for connection pools
  • Mongo::poolDebug() - Returns information about all connection pools.
  • The connection documentation.

Mongo::selectDB
Mongo::setSlaveOkay
Mongo


Change slaveOkay setting for this connection

Mongo::setPoolSize
Mongo::switchSlave
Mongo
PHP Manual

Mongo::setSlaveOkay

(PECL mongo >=1.1.0)

Mongo::setSlaveOkay — Change slaveOkay setting for this connection

Описание

public bool Mongo::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

ok

If reads should be sent to secondary members of a replica set for all possible queries using this Mongo instance.

Возвращаемые значения

Returns the former value of slaveOkay for this instance.

Mongo::setPoolSize
Mongo::switchSlave
Mongo


Choose a new slave for slaveOkay reads

Mongo::setSlaveOkay
Mongo::__toString
Mongo
PHP Manual

Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlave — Choose a new slave for slaveOkay reads

Описание

public string Mongo::switchSlave ( void )

This choses a random slave for a connection to read from. It is called automatically by the driver and should not need to be used. It calls Mongo::getHosts() (to refresh the status of hosts) and Mongo::getSlave() (to get the return value).

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The address of the slave this connection is using for reads. This may be the same as the previous address as addresses are randomly chosen. It may return only one address if only one secondary (or only the primary) is available.

For example, if we had a three member replica set with a primary, secondary, and arbiter this method would always return the address of the secondary. If the secondary became unavailable, this method would always return the address of the primary. If the primary also became unavailable, this method would throw an exception, as an arbiter cannot handle reads.

Ошибки

Throws a MongoException (error code 15) if it is called on a non-replica-set connection. It will also throw MongoExceptions if it cannot find anyone (primary or secondary) to read from (error code 16).

Mongo::setSlaveOkay
Mongo::__toString
Mongo


String representation of this connection

Mongo::switchSlave
MongoDB
Mongo
PHP Manual

Mongo::__toString

(PECL mongo >=0.9.0)

Mongo::__toString — String representation of this connection

Описание

public string Mongo::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns hostname and port for this connection.

Mongo::switchSlave
MongoDB
Mongo


The MongoDB class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Instances of this class are used to interact with a database. To get a database:

<?php

$m = new Mongo(); // connect
$db = $m->selectDB("example");

?>
Database names can use almost any character in the ASCII range. However, they cannot contain " ", "." or be the empty string. The name "system" is also reserved.

A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/".

Unlike collection names, database names may contain "$".

Обзор классов

MongoDB {
/* Константы */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Fields */
public integer $MongoDB->w = 1 ;
public integer $wtimeout = 10000 ;
/* Методы */
public array MongoDB::authenticate ( string $username , string $password )
public array MongoDB::command ( array $command [, array $options = array() ] )
MongoDB::__construct ( Mongo $conn , string $name )
public MongoCollection MongoDB::createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )
public array MongoDB::createDBRef ( string $collection , mixed $a )
public array MongoDB::drop ( void )
public array MongoDB::dropCollection ( mixed $coll )
public array MongoDB::execute ( mixed $code [, array $args = array() ] )
public bool MongoDB::forceError ( void )
public MongoCollection MongoDB::__get ( string $name )
public array MongoDB::getDBRef ( array $ref )
public MongoGridFS MongoDB::getGridFS ([ string $prefix = "fs" ] )
public int MongoDB::getProfilingLevel ( void )
public bool MongoDB::getSlaveOkay ( void )
public array MongoDB::lastError ( void )
public array MongoDB::listCollections ( void )
public array MongoDB::prevError ( void )
public array MongoDB::repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )
public array MongoDB::resetError ( void )
public MongoCollection MongoDB::selectCollection ( string $name )
public int MongoDB::setProfilingLevel ( int $level )
public bool MongoDB::setSlaveOkay ([ bool $ok = true ] )
public string MongoDB::__toString ( void )
}

Предопределенные константы

MongoDB Log Levels

MongoDB::PROFILING_OFF
0
Profiling is off.
MongoDB::PROFILING_SLOW
1
Profiling is on for slow operations (>100 ms).
MongoDB::PROFILING_ON
2
Profiling is on for all operations.

Fields

w
1

The number of servers to replicate a change to before returning success. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

w is used whenever you perform a "safe" operation (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), and MongoCollection::ensureIndex() all support safe options). With the default value (1), a safe operation will return once the database server has the operation. If the server goes down before the operation has been replicated to a slave, it is possible to lose the operation forever. Thus, you can specify w to be higher than one and guarantee that at least one slave has the operation before it is considered successful.

For example, if w is 2, the main server and one slave must have a record of the operation or the driver will throw a MongoCursorException. It is tempting to set w to the total number of slaves + master, but then if one slave is down the op will fail and an exception will be thrown, so usually w=2 is safest (master+1 slave).

wtimeout
10000

The number of milliseconds to wait for MongoDB::$w replications to take place. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

Unless wtimeout is set, the server waits forever for replicating to w servers to finish. The driver defaults to waiting for 10 seconds, you can change this value to alter its behavior.

Смотрите также

MongoDB core docs on » databases.

Содержание

  • MongoDB::authenticate — Log in to this database
  • MongoDB::command — Execute a database command
  • MongoDB::__construct — Creates a new database
  • MongoDB::createCollection — Creates a collection
  • MongoDB::createDBRef — Creates a database reference
  • MongoDB::drop — Drops this database
  • MongoDB::dropCollection — Drops a collection [deprecated]
  • MongoDB::execute — Runs JavaScript code on the database server.
  • MongoDB::forceError — Creates a database error
  • MongoDB::__get — Gets a collection
  • MongoDB::getDBRef — Fetches the document pointed to by a database reference
  • MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
  • MongoDB::getProfilingLevel — Gets this database's profiling level
  • MongoDB::getSlaveOkay — Get slaveOkay setting for this database
  • MongoDB::lastError — Check if there was an error on the most recent db operation performed
  • MongoDB::listCollections — Get a list of collections in this database
  • MongoDB::prevError — Checks for the last error thrown during a database operation
  • MongoDB::repair — Repairs and compacts this database
  • MongoDB::resetError — Clears any flagged errors on the database
  • MongoDB::selectCollection — Gets a collection
  • MongoDB::setProfilingLevel — Sets this database's profiling level
  • MongoDB::setSlaveOkay — Change slaveOkay setting for this database
  • MongoDB::__toString — The name of this database
Mongo::__toString
MongoDB::authenticate
Базовые классы


Log in to this database

MongoDB
MongoDB::command
MongoDB
PHP Manual

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticate — Log in to this database

Описание

public array MongoDB::authenticate ( string $username , string $password )

This method causes its connection to be authenticated. If authentication is enabled for the database server (it's not, by default), you need to log in before the database will allow you to do anything.

In general, you should use the authenticate built into Mongo::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.

This method is identical to running:

<?php

$salted = "${username}:mongo:${password}";
$hash = md5($salted);

$nonce = $db->command(array("getnonce" => 1));

$saltedHash = md5($nonce["nonce"]."${username}${hash}");

$result = $db->command(array("authenticate" => 1,
    "user" => $username,
    "nonce" => $nonce["nonce"],
    "key" => $saltedHash
));

?>

Once a connection has been authenticated, it can only be un-authenticated by using the "logout" database command:

<?php

$db->command(array("logout" => 1));

?>

Список параметров

username

The username.

password

The password (in plaintext).

Возвращаемые значения

Returns database response. If the login was successful, it will return

<?php
array("ok" => 1);
?>
If something went wrong, it will return
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
("auth fails" could be another message, depending on database version and what when wrong).

Смотрите также

MongoDB core docs on » authenticate.

MongoDB
MongoDB::command
MongoDB


Execute a database command

MongoDB::authenticate
MongoDB::__construct
MongoDB
PHP Manual

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Execute a database command

Описание

public array MongoDB::command ( array $command [, array $options = array() ] )

Almost everything that is not a CRUD operation can be done with a database command. Need to know the database version? There's a command for that. Need to do aggregation? There's a command for that. Need to turn up logging? You get the idea.

This method is identical to:

<?php

public function command($data) {
    return $this->selectCollection('$cmd')->findOne($data);
}

?>

Список параметров

command

The query to send.

options

This parameter is an associative array of the form array("optionname" => <boolean>, ...). Currently supported options are:

  • "timeout"

    Integer, defaults to Mongo::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Список изменений

Версия | Описание
1.2.0 | Added options parameter with a single option: timeout.

Возвращаемые значения

Returns database response.

Примеры

Пример #1 MongoDB::command() "distinct" example

Finding all of the distinct values for a key.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(array("distinct" => "people", "key" => "age"));

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

4
22
87

Пример #2 MongoDB::command() "distinct" example

Finding all of the distinct values for a key, where the value is larger than or equal to 18.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(
    array(
        "distinct" => "people",
        "key" => "age",
        "query" => array("age" => array('$gte' => 18))
    )
);

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

22
87

Пример #3 MongoDB::command() MapReduce example

Get all users with at least on "sale" event, and how many times each of these users has had a sale.

<?php

// sample event document
$events->insert(array("user_id" => $id,
    "type" => $type,
    "time" => new MongoDate(),
    "desc" => $description));

// construct map and reduce functions
$map = new MongoCode("function() { emit(this.user_id,1); }");
$reduce = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];".
    "}".
    "return sum; }");

$sales = $db->command(array(
    "mapreduce" => "events",
    "map" => $map,
    "reduce" => $reduce,
    "query" => array("type" => "sale"),
    "out" => array("merge" => "eventCounts")));

$users = $db->selectCollection($sales['result'])->find();

foreach ($users as $user) {
    echo "{$user['_id']} had {$user['value']} sale(s).\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

User 47cc67093475061e3d9536d2 had 3 sale(s).
User 49902cde5162504500b45c2c had 14 sale(s).
User 4af467e4fd543cce7b0ea8e2 had 1 sale(s).

Замечание: Using MongoCode

This example uses MongoCode, which can also take a scope argument. However, at the moment, MongoDB does not support using scopes in MapReduce. If you would like to use client-side variables in the MapReduce functions, you can add them to the global scope by using the optional scope field with the database command. See the » MapReduce documentation for more information.

Замечание: The out argument

Before 1.8.0, the out argument was optional. If you did not use it, MapReduce results would be written to a temporary collection, which would be deleted when your connection was closed. In 1.8.0+, the out argument is required. See the » MapReduce documentation for more information.

If you are going to be using MapReduce, Prajwal Tuladhar created an API for Mongo PHP users which provides a nicer interface than the bare command. You can download it from » Github and there is a » blog post on how to use it.

Смотрите также

MongoDB core docs on » database commands and on individual commands: » findAndModify, » getLastError, and » repair (dozens more exist, there are merely a few examples).

MongoDB::authenticate
MongoDB::__construct
MongoDB


Creates a new database

MongoDB::command
MongoDB::createCollection
MongoDB
PHP Manual

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__construct — Creates a new database

Описание

MongoDB::__construct ( Mongo $conn , string $name )

This method is not meant to be called directly. The preferred way to create an instance of MongoDB is through Mongo::__get() or Mongo::selectDB().

If you're ignoring the previous paragraph and want to call it directly you can do so:

<?php

$m = new Mongo();
$db = new MongoDB($m, 'mydbname');

?>

But don't. Isn't this much nicer:

<?php

$m = new Mongo();
$db = $m->mydbname;

// or, if the name contains weird characters:

$db = $m->selectDB('my,db:name');

?>

Список параметров

Mongo conn

Database connection.

name

Database name.

Возвращаемые значения

Returns the database.

Ошибки

Throws default exception if the database name is invalid.

MongoDB::command
MongoDB::createCollection
MongoDB


Creates a collection

MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual

MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — Creates a collection

Описание

public MongoCollection MongoDB::createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )

This method is used to create capped collections and other collections requiring special options. It is identical to running:

<?php

$collection = $db->command(array("create" => $name, "size" => $size, "capped" => $capped, "max" => $max));

?>
See MongoDB::command() for more information about database commands.

Список параметров

name

The name of the collection.

capped

If the collection should be a fixed size.

size

If the collection is fixed size, its size in bytes.

max

If the collection is fixed size, the maximum number of elements to store in the collection.

Возвращаемые значения

Returns a collection object representing the new collection.

Примеры

Пример #1 MongoDB::createCollection() capped collection example

A capped collection is a special type of collection that has either a fixed or a fixed number of elements. Once the collection is "full," the oldest elements will be removed when new elements are added. Capped collections can be very useful for applications like logging, where you may want to reserve a certain amount of space for logs and not worry about them getting too big.

This example creates a very tiny log collection that will keep a maximum of 10 documents.

<?php

$log = $db->createCollection("logger", true, 10*1024, 10);

for ($i = 0; $i < 100; $i++) {
    $log->insert(array("level" => WARN, "msg" => "sample log message #$i", "ts" => new MongoDate()));
}

$msgs = $log->find();

foreach ($msgs as $msg) {
    echo $msg['msg']."\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

sample log message #90
sample log message #91
sample log message #92
sample log message #93
sample log message #94
sample log message #95
sample log message #96
sample log message #97
sample log message #98
sample log message #99
MongoDB::__construct
MongoDB::createDBRef
MongoDB


Creates a database reference

MongoDB::createCollection
MongoDB::drop
MongoDB
PHP Manual

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRef — Creates a database reference

Описание

public array MongoDB::createDBRef ( string $collection , mixed $a )

This method is a flexible interface for creating database refrences (see MongoDBRef).

Список параметров

collection

The collection to which the database reference will point.

a

Object or _id to which to create a reference. If an object or associative array is given, this will create a reference using the _id field.

Возвращаемые значения

Returns a database reference array.

Примеры

Пример #1 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference array from a document.

<?php

$articles = $db->articles;

$article = array(
 'title' => 'Test article',
 'description' => 'Test article description'
);

$articles->insert($article);
$ref = $db->createDBRef('articles', $article);

print_r($article);
print_r($ref);
?>

Результатом выполнения данного примера будет что-то подобное:

     Array
     (
         [title] => Test article
         [description] => Test article description
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articles
         [$id] => MongoId Object
             (
             )

     )

Now the $ref can be stored on another document and retrieved later with MongoDB::getDBRef() or MongoCollection::getDBRef().

Пример #2 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference from just an id.

<?php

$id = new MongoId('47cc67093475061e3d9536d2');
$ref = $db->createDBRef('articles', $id);
?>
MongoDB::createCollection
MongoDB::drop
MongoDB


Drops this database

MongoDB::createDBRef
MongoDB::dropCollection
MongoDB
PHP Manual

MongoDB::drop

(PECL mongo >=0.9.0)

MongoDB::drop — Drops this database

Описание

public array MongoDB::drop ( void )

This drops the database currently being used.

This is identical to running:

<?php

public function drop() {
    $this->command(array("dropDatabase" => 1));
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the database response.

Примеры

Пример #1 MongoDB::drop() example

This example demonstrates how to drop a mongo database and the response to expect.

<?php

$db = $mongo->foo;
$response = $db->drop();
print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [dropped] => foo.$cmd
    [ok] => 1
)
MongoDB::createDBRef
MongoDB::dropCollection
MongoDB


Drops a collection [deprecated]

MongoDB::drop
MongoDB::execute
MongoDB
PHP Manual

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Drops a collection [deprecated]

Описание

public array MongoDB::dropCollection ( mixed $coll )
Внимание

Deprecated

Use MongoCollection::drop() instead.

This function leaks memory in version 1.0.7 and earlier!

Список параметров

coll

MongoCollection or name of collection to drop.

Возвращаемые значения

Returns the database response.

MongoDB::drop
MongoDB::execute
MongoDB


Runs JavaScript code on the database server.

MongoDB::dropCollection
MongoDB::forceError
MongoDB
PHP Manual

MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute — Runs JavaScript code on the database server.

Описание

public array MongoDB::execute ( mixed $code [, array $args = array() ] )

The Mongo database server runs a JavaScript engine. This method allows you to run arbitary JavaScript on the database. This can be useful if you want touch a number of collections lightly, or process some results on the database side to reduce the amount that has to be sent to the client.

Running JavaScript in the database takes a write lock, meaning it blocks other operations. Make sure you consider this before running a long script.

This is a wrapper for a database command. This method is basically:

<?php

public function execute($code, $args) {
    return $this->command(array('$eval' => $code, args => $args));
}

?>

MongoDB implies a return statement if you have a single statement on a single line. This can cause some unintuitive behavior. For example, this returns "foo":

<?php

$db->execute('"foo";');

?>

However, these return NULL:

<?php

$db->execute('"bar"; "foo";'); // more than one statement

$db->execute('db.foo.count(
);'); // more than one line

?>

To avoid surprising behavior, it is best not to depend on MongoDB to decide what to return, but to explicitly state a return value. In the examples above, we can change them to:

<?php

$db->execute('"bar"; return "foo";');

$db->execute('return db.foo.count(
);');

?>

Now the first statement will return "foo" and the second statement will return a count of the "foo" collection.

Список параметров

code

MongoCode or string to execute.

args

Arguments to be passed to code.

Возвращаемые значения

Returns the result of the evaluation.

Примеры

Пример #1 Simple MongoDB::execute() example

<?php

$response = $db->execute("function() { return 'Hello, world!'; }");
echo $response['retval'];

?>

Результатом выполнения данного примера будет что-то подобное:

Hello, world!

Пример #2 Parameter MongoDB::execute() example

The optional array of parameters will be passed to the JavaScript function.

<?php

$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe"));
echo $response['retval'];

?>

Результатом выполнения данного примера будет что-то подобное:

Good bye, Joe!

Пример #3 Scope example

If a MongoCode object is used instead of a string for the first parameter, a scope can be passed in which the JavaScript will be executed.

<?php

$func =
    "function(greeting, name) { ".
        "return greeting+', '+name+', says '+greeter;".
    "}";
$scope = array("greeter" => "Fred");

$code = new MongoCode($func, $scope);

$response = $db->execute($code, array("Goodbye", "Joe"));
echo $response['retval'];

?>

Результатом выполнения данного примера будет что-то подобное:

Goodbye, Joe, says Fred
MongoDB::dropCollection
MongoDB::forceError
MongoDB


Creates a database error

MongoDB::execute
MongoDB::__get
MongoDB
PHP Manual

MongoDB::forceError()

(Информация о версии неизвестна, возможно, только в SVN)

— Creates a database error

Описание

public bool MongoDB::forceError ( void )

This method is not very useful for normal MongoDB use. It forces a database error to occur. This means that MongoDB::lastError() will return a generic database error after running this command.

This command is identical to running:

<?php

public function forceError() {
    return $this->command(array('forceerror' => 1));
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the database response.

MongoDB::execute
MongoDB::__get
MongoDB


Gets a collection

MongoDB::forceError
MongoDB::getDBRef
MongoDB
PHP Manual

MongoDB::__get

(PECL mongo >=1.0.2)

MongoDB::__get — Gets a collection

Описание

public MongoCollection MongoDB::__get ( string $name )

This is the easiest way of getting a collection from a database object. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new Mongo();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar;

?>

Список параметров

name

The name of the collection.

Возвращаемые значения

Returns the collection.

MongoDB::forceError
MongoDB::getDBRef
MongoDB


Fetches the document pointed to by a database reference

MongoDB::__get
MongoDB::getGridFS
MongoDB
PHP Manual

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Fetches the document pointed to by a database reference

Описание

public array MongoDB::getDBRef ( array $ref )

Список параметров

ref

A database reference.

Возвращаемые значения

Returns the document pointed to by the reference.

Примеры

Пример #1 MongoDB::getDBRef() example

Example demonstrating how to get a database reference and what the expected input is.

<?php

 $ref = array(
   '$ref' => 'profiles',
   '$id' => '47cc67093475061e3d9536d2'
 );

 $profile = $db->getDBRef($ref);
 ?>

See MongoDB::createDBRef() for more information about how to programatically create DB references.

MongoDB::__get
MongoDB::getGridFS
MongoDB


Fetches toolkit for dealing with files stored in this database

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB
PHP Manual

MongoDB::getGridFS

(PECL mongo >=0.9.0)

MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database

Описание

public MongoGridFS MongoDB::getGridFS ([ string $prefix = "fs" ] )

Список параметров

prefix

The prefix for the files and chunks collections.

Возвращаемые значения

Returns a new gridfs object for this database.

Примеры

Пример #1 MongoDB::getGridFS() example

This example demonstrates how get a MongoGridFS instance.

<?php

$db = $mongo->my_db;

$prefix = 'files';
$collection = $db->getGridFS($prefix);

?>

Read more about the MongoGridFS to learn how to store files with MongoDB.

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB


Gets this database's profiling level

MongoDB::getGridFS
MongoDB::getSlaveOkay
MongoDB
PHP Manual

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Gets this database's profiling level

Описание

public int MongoDB::getProfilingLevel ( void )

This returns the current database profiling level.

The database profiler tracks query execution times. If you turn it on (say, using MongoDB::setProfilingLevel() or the shell), you can see how many queries took longer than a given number of milliseconds or the timing for all queries.

Note that profiling slows down queries, so it is better to use in development or testing than in a time-sensitive application.

This function is equivalent to running:

<?php

public function getProfilingLevel() {
    return $this->command(array('profile' => -1));
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the profiling level.

Смотрите также

MongoDB core docs on » profiling and MongoDB::setProfilingLevel() - Sets this database's profiling level.

MongoDB::getGridFS
MongoDB::getSlaveOkay
MongoDB


Get slaveOkay setting for this database

MongoDB::getProfilingLevel
MongoDB::lastError
MongoDB
PHP Manual

MongoDB::getSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::getSlaveOkay — Get slaveOkay setting for this database

Описание

public bool MongoDB::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the value of slaveOkay for this instance.

MongoDB::getProfilingLevel
MongoDB::lastError
MongoDB


Check if there was an error on the most recent db operation performed

MongoDB::getSlaveOkay
MongoDB::listCollections
MongoDB
PHP Manual

MongoDB::lastError

(PECL mongo >=0.9.5)

MongoDB::lastError — Check if there was an error on the most recent db operation performed

Описание

public array MongoDB::lastError ( void )

This method is equivalent to:

<?php

public function lastError() {
    return $this->command(array('getlasterror' => 1));
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the error, if there was one.

Примеры

Пример #1 MongoDB::lastError() NULL error example

<?php
$db->resetError();
var_dump($db->lastError());
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["err"]=>
  NULL
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}

Пример #2 MongoDB::lastError() duplicate key example

<?php
$c = $db->selectCollection("foo");

// insert two documents with the same _id
$c->insert(array("_id" => 1));
$c->insert(array("_id" => 1));

var_dump($db->lastError());
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["err"]=>
  string(64) "E11000 duplicate key errorindex: foo.foo.$_id_  dup key: { : 1 }"
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}
MongoDB::getSlaveOkay
MongoDB::listCollections
MongoDB


Get a list of collections in this database

MongoDB::lastError
MongoDB::prevError
MongoDB
PHP Manual

MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollections — Get a list of collections in this database

Описание

public array MongoDB::listCollections ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a list of MongoCollections.

Примеры

Пример #1 MongoDB::listCollections() example

The following example demonstrates dropping each collection in a database.

<?php

$m = new Mongo();
$db = $m->selectDB("sample");

$list = $db->listCollections();
foreach ($list as $collection) {
    echo "removing $collection... ";
    $collection->drop();
    echo "gone\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

removing sample.blog.posts... gone
removing sample.critical.docs... gone
removing sample.taxes... gone
...
MongoDB::lastError
MongoDB::prevError
MongoDB


Checks for the last error thrown during a database operation

MongoDB::listCollections
MongoDB::repair
MongoDB
PHP Manual

MongoDB::prevError

(PECL mongo >=0.9.5)

MongoDB::prevError — Checks for the last error thrown during a database operation

Описание

public array MongoDB::prevError ( void )

MongoDB::lastError() is usually preferred to this. This method returns the last database error that occurred and how many operations ago it occurred. It is mostly deprecated.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the error and the number of operations ago it occurred.

MongoDB::listCollections
MongoDB::repair
MongoDB


Repairs and compacts this database

MongoDB::prevError
MongoDB::resetError
MongoDB
PHP Manual

MongoDB::repair

(PECL mongo >=0.9.0)

MongoDB::repair — Repairs and compacts this database

Описание

public array MongoDB::repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )

This creates a fresh copy of all database data. It will remove any corrupt data and compact and large stretches of free space it finds. This is a very slow operation on a large database.

This is usually run from the shell or the command line, not the driver.

It is equivalent to the function:

<?php

public function repair() {
    return $this->command(array('repairDatabase' => 1));
}

?>

Список параметров

preserve_cloned_files

If cloned files should be kept if the repair fails.

backup_original_files

If original files should be backed up.

Возвращаемые значения

Returns db response.

Смотрите также

MongoDB core docs on » repair.

Примеры

Пример #1 MongoDB::repair() example

This example demonstrates how to repare and compact a database.

<?php

$db = $mongo->foo;

$response = $db->repair();
print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [ok] => 1
)
MongoDB::prevError
MongoDB::resetError
MongoDB


Clears any flagged errors on the database

MongoDB::repair
MongoDB::selectCollection
MongoDB
PHP Manual

MongoDB::resetError

(PECL mongo >=0.9.5)

MongoDB::resetError — Clears any flagged errors on the database

Описание

public array MongoDB::resetError ( void )

This method is not used in normal operations. It resets the database error tracker (which can be incremented with MongoDB::forceError(), also not normally used).

It is equivalent to running:

<?php

public function resetError() {
    return $this->command(array('reseterror' => 1));
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the database response.

MongoDB::repair
MongoDB::selectCollection
MongoDB


Gets a collection

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB
PHP Manual

MongoDB::selectCollection

(PECL mongo >=0.9.0)

MongoDB::selectCollection — Gets a collection

Описание

public MongoCollection MongoDB::selectCollection ( string $name )

Список параметров

name

The name of the collection.

Возвращаемые значения

Returns the collection.

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB


Sets this database's profiling level

MongoDB::selectCollection
MongoDB::setSlaveOkay
MongoDB
PHP Manual

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Sets this database's profiling level

Описание

public int MongoDB::setProfilingLevel ( int $level )

This changes the current database profiling level.

This function is equivalent to running:

<?php

public function setProfilingLevel($level) {
    return $this->command(array('profile' => $level));
}

?>

The options for level are 0 (off), 1 (queries > 100ms), and 2 (all queries). If you would like to profile queries that take longer than another time period, use the database command and pass it a second option, the number of milliseconds. For example, to profile all queries that take longer than one second, run:

<?php

$result = $this->command(array('profile' => 1, 'slowms' => 1000));

?>

Profiled queries will appear in the system.profile collection of this database.

Список параметров

level

Profiling level.

Возвращаемые значения

Returns the previous profiling level.

MongoDB::selectCollection
MongoDB::setSlaveOkay
MongoDB


Change slaveOkay setting for this database

MongoDB::setProfilingLevel
MongoDB::__toString
MongoDB
PHP Manual

MongoDB::setSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::setSlaveOkay — Change slaveOkay setting for this database

Описание

public bool MongoDB::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoDB instance.

Возвращаемые значения

Returns the former value of slaveOkay for this instance.

MongoDB::setProfilingLevel
MongoDB::__toString
MongoDB


The name of this database

MongoDB::setSlaveOkay
MongoCollection
MongoDB
PHP Manual

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — The name of this database

Описание

public string MongoDB::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns this database's name.

MongoDB::setSlaveOkay
MongoCollection
MongoDB


The MongoCollection class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Representations a database collection.

Collection names can use any character in the ASCII set. Some valid collection names are "", "...", "my collection", and "*&#@".

User-defined collection names cannot contain the $ symbol. There are certain system collections which use a $ in their names (e.g., local.oplog.$main), but it is a reserved character. If you attempt to create and use a collection with a $ in the name, MongoDB will assert.

Обзор классов

MongoCollection {
/* Константы */
const int ASCENDING = 1 ;
const int DESCENDING = -1 ;
/* Fields */
public MongoDB $MongoCollection->db = NULL ;
public integer $w ;
public integer $wtimeout ;
/* Методы */
public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )
public MongoCollection::__construct ( MongoDB $db , string $name )
public int MongoCollection::count ([ array $query = array() [, int $limit = 0 [, int $skip = 0 ]]] )
public array MongoCollection::createDBRef ( array $a )
public array MongoCollection::deleteIndex ( string|array $keys )
public array MongoCollection::deleteIndexes ( void )
public array MongoCollection::drop ( void )
public bool MongoCollection::ensureIndex ( array $keys [, array $options = array() ] )
 public MongoCursor MongoCollection::find
  ([ array $query = array()
 [, array $fields = array()
]] )
 public array MongoCollection::findOne
  ([ array $query = array()
 [, array $fields = array()
]] )
public MongoCollection MongoCollection::__get ( string $name )
public array MongoCollection::getDBRef ( array $ref )
public array MongoCollection::getIndexInfo ( void )
public string MongoCollection::getName ( void )
public bool MongoCollection::getSlaveOkay ( void )
public array MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )
public mixed MongoCollection::insert ( array $a [, array $options = array() ] )
 public mixed MongoCollection::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )
public mixed MongoCollection::save ( array $a [, array $options = array() ] )
public bool MongoCollection::setSlaveOkay ([ bool $ok = true ] )
static protected string MongoCollection::toIndexString ( mixed $keys )
public string MongoCollection::__toString ( void )
public bool MongoCollection::update ( array $criteria , array $newobj [, array $options = array() ] )
public array MongoCollection::validate ([ bool $scan_data = FALSE ] )
}

Предопределенные константы

MongoCollection::ASCENDING
1
Ascending direction for sorts and index creation.
MongoCollection::DESCENDING
-1
Descending direction for sorts and index creation.

Fields

db

The "parent" database for this collection.

w

The number of servers to replicate a change to before returning success. Value is inherited from the parent database. The MongoDB class has a more detailed description of how w works.

wtimeout

The number of milliseconds to wait for $this->w replications to take place. Value is inherited from the parent database. The MongoDB class has a more detailed description of how wtimeout works.

Смотрите также

MongoDB core docs on » collections.

Содержание

  • MongoCollection::batchInsert — Inserts multiple documents into this collection
  • MongoCollection::__construct — Creates a new collection
  • MongoCollection::count — Counts the number of documents in this collection
  • MongoCollection::createDBRef — Creates a database reference
  • MongoCollection::deleteIndex — Deletes an index from this collection
  • MongoCollection::deleteIndexes — Delete all indices for this collection
  • MongoCollection::drop — Drops this collection
  • MongoCollection::ensureIndex — Creates an index on the given field(s), or does nothing if the index already exists
  • MongoCollection::find — Querys this collection
  • MongoCollection::findOne — Querys this collection, returning a single element
  • MongoCollection::__get — Gets a collection
  • MongoCollection::getDBRef — Fetches the document pointed to by a database reference
  • MongoCollection::getIndexInfo — Returns an array of index names for this collection
  • MongoCollection::getName — Returns this collection's name
  • MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection
  • MongoCollection::group — Performs an operation similar to SQL's GROUP BY command
  • MongoCollection::insert — Inserts an array into the collection
  • MongoCollection::remove — Remove records from this collection
  • MongoCollection::save — Saves an object to this collection
  • MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection
  • MongoCollection::toIndexString — Converts keys specifying an index to its identifying string
  • MongoCollection::__toString — String representation of this collection
  • MongoCollection::update — Update records based on a given criteria
  • MongoCollection::validate — Validates this collection
MongoDB::__toString
MongoCollection::batchInsert
Базовые классы


Inserts multiple documents into this collection

MongoCollection
MongoCollection::__construct
MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Inserts multiple documents into this collection

Описание

public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )

Список параметров

a

An array of arrays.

options

Options for the inserts.

  • "safe"

    Can be a boolean or integer, defaults to FALSE. If FALSE, the program continues executing without waiting for a database response. If TRUE, the program will wait for the database response and throw a MongoCursorException if the insert did not succeed.

    If safe is an integer, will replicate the insert to that many machines before returning success (or throw an exception if the replication times out, see wtimeout). This overrides the w variable set on the collection.

  • "fsync"

    Boolean, defaults to FALSE. Forces the insert to be synced to disk before returning success. If TRUE, a safe insert is implied and will override setting safe to FALSE.

Возвращаемые значения

If "safe" is set, returns an associative array with the status of the inserts ("ok") and any error that may have occured ("err"). Otherwise, returns TRUE if the batch insert was successfully sent, FALSE otherwise.

Ошибки

Throws MongoCursorException if the "safe" option is set and the insert fails.

Throws MongoCursorTimeoutException if the "safe" option is set to a value greater than one and the database cannot replicate the operation in MongoCollection::$wtimeout milliseconds.

Список изменений

Версия | Описание
1.0.5 | Added "options" parameter.
1.0.9 | Added ability to pass integers to "safe" options (only accepted booleans before) and added "fsync" option.

Примеры

Пример #1 MongoCollection::batchInsert() example

Batch insertion is a quick way to add many elements to the database at once

<?php

$users = array();
for ($i = 0; $i<100; $i++) {
  $users[] = array('username' => 'user'.$i, 'i' => $i);
}

$mongo = new Mongo();
$collection = $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach ($users as $user) {
  echo $user['_id']."\n"; // populated with instanceof MongoId
}

$users = $collection->find()->sort(array('i' => 1));
foreach ($users as $user) {
    var_dump($user['username']);
}

?>

Результатом выполнения данного примера будет что-то подобное:

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...

Смотрите также

  • MongoCollection::insert() - Inserts an array into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Querys this collection
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.
MongoCollection
MongoCollection::__construct
MongoCollection


Creates a new collection

MongoCollection::batchInsert
MongoCollection::count
MongoCollection
PHP Manual

MongoCollection::__construct

(PECL mongo >=0.9.0)

MongoCollection::__construct — Creates a new collection

Описание

public MongoCollection::__construct ( MongoDB $db , string $name )

Список параметров

MongoDB db

Parent database.

name

Name for this collection.

Возвращаемые значения

Returns a new collection object.

Ошибки

Throws default exception if the collection name is invalid.

MongoCollection::batchInsert
MongoCollection::count
MongoCollection


Counts the number of documents in this collection

MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection
PHP Manual

MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::count — Counts the number of documents in this collection

Описание

public int MongoCollection::count ([ array $query = array() [, int $limit = 0 [, int $skip = 0 ]]] )

Список параметров

query

Associative array or object with fields to match.

limit

Specifies an upper limit to the number returned.

skip

Specifies a number of results to skip before starting the count.

Возвращаемые значения

Returns the number of documents matching the query.

Список изменений

Версия | Описание
1.0.7 | Added limit and skip parameters.

Примеры

Пример #1 MongoCollection::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));

?>

Результатом выполнения данного примера будет что-то подобное:

int(3)
int(1)
MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection


Creates a database reference

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection
PHP Manual

MongoCollection::createDBRef

(PECL mongo >=0.9.0)

MongoCollection::createDBRef — Creates a database reference

Описание

public array MongoCollection::createDBRef ( array $a )

Список параметров

a

Object to which to create a reference.

Возвращаемые значения

Returns a database reference array.

Примеры

Пример #1 MongoCollection::createDBRef() example

<?php

$songs = $db->songs;
$playlists = $db->playlists;

// create a reference to a song
$manamana = $songs->findOne(array('title' => 'Ma na ma na'));
$refToSong = $songs->createDBRef($manamana);

// add the reference to my playlist
$playlists->update(array('username' => 'me'), array('$push' => array('songlist' => $refToSong)));

?>

Смотрите также

  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection


Deletes an index from this collection

MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection
PHP Manual

MongoCollection::deleteIndex

(PECL mongo >=0.9.0)

MongoCollection::deleteIndex — Deletes an index from this collection

Описание

public array MongoCollection::deleteIndex ( string|array $keys )

This method is identical to:

<?php

public function deleteIndexes($keys) {
  // toIndexString is a protected method that turns strings, arrays, and objs
  //into index names
  $index = $this->toIndexString($keys);

  return $this->db->command(array("deleteIndexes" => $this->getName(),
    "index" => $index);
}

?>

Each index, when created, is given a unique name. This is generally user-set (with MongoCollection::ensureIndex()'s "name" option) or generated by the driver from a combination of key names and directions. This name is then used by MongoCollection::deleteIndex() to remove the function.

Unfortunately, the MongoCollection::ensureIndex() generates slightly different names than the shell and, due to backwards compatibility issues, MongoCollection::deleteIndex() cannot delete custom-named indexes as well. Thus, the best way to delete indexes created in the shell or with custom names is to directly call the deleteIndexes database command.

Thus, if you named an index "superfast query", you could delete it with:

<?php

$db->command(array("deleteIndexes" => $collection->getName(), "index" => "superfast query");

?>

To find what an index is named, you can query the system.indexes collection of a database and look for the name field.

Список параметров

keys

Field or fields from which to delete the index.

Возвращаемые значения

Returns the database response.

Примеры

Пример #1 MongoCollection::deleteIndex() example

This example passes the function string and array parameters.

<?php
$m = new Mongo();
$c = $m->example->indices;

// create an index
$c->ensureIndex(array("i"=>1));

// remove a simple index
$c->deleteIndex("i");

// create a multi-key index
$c->ensureIndex(array("j" => 1, "k" => 1));

// remove a multi-key index
$c->deleteIndex(array("j" => 1, "k" => 1));
?>
MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection


Delete all indices for this collection

MongoCollection::deleteIndex
MongoCollection::drop
MongoCollection
PHP Manual

MongoCollection::deleteIndexes

(PECL mongo >=0.9.0)

MongoCollection::deleteIndexes — Delete all indices for this collection

Описание

public array MongoCollection::deleteIndexes ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the database response.

Примеры

Пример #1 MongoCollection::deleteIndexes() example

This example demonstrates how to delete all indexes from a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->deleteIndexes();
print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ok] => 1
)
MongoCollection::deleteIndex
MongoCollection::drop
MongoCollection


Drops this collection

MongoCollection::deleteIndexes
MongoCollection::ensureIndex
MongoCollection
PHP Manual

MongoCollection::drop

(PECL mongo >=0.9.0)

MongoCollection::drop — Drops this collection

Описание

public array MongoCollection::drop ( void )

Drops this collection and deletes its indices.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the database response.

Примеры

Пример #1 MongoCollection::drop() example

This example demonstrates how to drop a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->drop();
print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ns] => my_db.articles
    [ok] => 1
)
MongoCollection::deleteIndexes
MongoCollection::ensureIndex
MongoCollection


Creates an index on the given field(s), or does nothing if the index already exists

MongoCollection::drop
MongoCollection::find
MongoCollection
PHP Manual

MongoCollection::ensureIndex

(PECL mongo >=0.9.0)

MongoCollection::ensureIndex — Creates an index on the given field(s), or does nothing if the index already exists

Описание

public bool MongoCollection::ensureIndex ( array $keys [, array $options = array() ] )

A unique index cannot be created on a field if multiple existing documents do not contain the field. The field is effectively NULL for these documents and thus already non-unique.

Список параметров

keys

Field or fields to use as index.

options

This parameter is an associative array of the form array("optionname" => <boolean>, ...). Currently supported options are:

  • "unique"

    Create a unique index.

  • "dropDups"

    If a unique index is being created and duplicate values exist, drop all but one duplicate value.

  • "background"

    If you are using MongoDB version 1.3.2+, you can create indexes in the background while other operations are taking place. By default, index creation happens synchronously. If you specify TRUE with this option, index creation will be asynchronous.

  • "safe"

    Starting with driver version 1.0.4, you can specify a boolean value for checking if the index creation succeeded. The driver will throw a MongoCursorException if index creation failed.

    If you are using replication and the master has changed, using "safe" will make the driver disconnect from the master, throw and exception, and attempt to find a new master on the next operation (your application must decide whether or not to retry the operation on the new master).

    If you do not use "safe" with a replica set and the master changes, there will be no way for the driver to know about the change so it will continuously and silently fail to write.

  • "name"

    After driver version 1.0.4 (NOT including 1.0.4) you can specify an index name. This can be useful if you are indexing many keys and Mongo complains about the index name being too long.

  • "timeout"

    Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Возвращаемые значения

Returns TRUE.

Список изменений

Версия | Описание
1.2.0 | Added timeout option.
1.0.11 | "safe" will trigger master failover, if necessary.
1.0.11 | MongoException will be thrown if index name (either generated or set) is longer than 128 bytes.
1.0.2 | Changed "options" parameter from boolean to array. Pre-1.0.2, the second parameter was an optional boolean value specifying a unique index.

Ошибки

Throws MongoException if the index name is longer than 128 bytes. (Version 1.0.11+)

Throws MongoCursorException if the "safe" option is set and the index creation fails.

Throws MongoCursorTimeoutException if the "safe" option is set and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout.

Примеры

Пример #1 MongoCollection::ensureIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->ensureIndex(array('x' => 1));

// create an index on 'z' ascending and 'zz' descending
$c->ensureIndex(array('z' => 1, 'zz' => -1));

// create a unique index on 'x'
$c->ensureIndex(array('x' => 1), array("unique" => true));

?>

Пример #2 Drop duplicates example

<?php

$collection->insert(array("username" => "joeschmoe"));
$collection->insert(array("username" => "joeschmoe"));

/*
 * index creation fails, you can't create a unique index on a key with
 * non-unique values
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1));

/*
 * index creation succeeds: one of the documents is removed from the collection
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1, "dropDups" => 1));

/*
 * now we have a unique index, more inserts with the same username (such as the
 * one below) will fail
 */
$collection->insert(array("username" => "joeschmoe"));

?>

Пример #3 Geospatial Indexing

Mongo supports geospatial indexes, which allow you to search for documents near a given location or within a shape. For example, to create a geospatial index on the "loc" field:

<?php

$collection->ensureIndex(array("loc" => "2d"));

?>

Смотрите также

MongoDB core docs on » vanilla indexes and » geospatial indexes.

MongoCollection::drop
MongoCollection::find
MongoCollection


Querys this collection

MongoCollection::ensureIndex
MongoCollection::findOne
MongoCollection
PHP Manual

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find — Querys this collection

Описание

 public MongoCursor MongoCollection::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Список параметров

query

The fields for which to search.

fields

Fields of the results to return.

Возвращаемые значения

Returns a cursor for the search results.

Примеры

Пример #1 MongoCollection::find() example

This example demonstrates how to search for a range.

<?php

$m = new Mongo();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

// search for documents where 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $collection->find($rangeQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

Результат выполнения данного примера:

array(2) {
  ["_id"]=>
  object(MongoId)#10 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000000"
  }
  ["x"]=>
  int(12)
}
array(2) {
  ["_id"]=>
  object(MongoId)#11 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000001"
  }
  ["x"]=>
  int(12)
}

See MongoCursor for more information how to work with cursors.

Пример #2 MongoCollection::find() example using $where

This example demonstrates how to search a collection using javascript code to reduce the resultset.

<?php

$m = new Mongo();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$js = "function() {
    return this.name == 'Joe' || this.age == 50;
}";
$cursor = $collection->find(array('$where' => $js));
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

Результат выполнения данного примера:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Пример #3 MongoCollection::find() example using $in

This example demonstrates how to search a collection using the $in operator.

<?php

$m = new Mongo();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find(array(
    'name' => array('$in' => array('Joe', 'Wendy'))
));

?>

Результат выполнения данного примера:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Пример #4 Getting results as an array

This returns a MongoCursor. Often, when people are starting out, they are more comfortable using an array. To turn a cursor into an array, use the iterator_to_array() function.

<?php

$m = new Mongo();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find();
$array = iterator_to_array($cursor);

?>

Результат выполнения данного примера:

array(3) {
  ["4ebc40af10b89f5149000000"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#6 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000000"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000001"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#11 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000001"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000002"]=>
  array(3) {
    ["_id"]=>
    object(MongoId)#12 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000002"
    }
    ["name"]=>
    string(3) "Joe"
    ["age"]=>
    int(20)
  }
}

Using iterator_to_array() forces the driver to load all of the results into memory, so do not do this for result sets that are larger than memory!

Also, certain system collections do not have an _id field. If you are dealing with a collection that might have documents without _ids, pass FALSE as the second argument to iterator_to_array() (so that it will not try to use the non-existent _id values as keys).

Смотрите также

  • MongoCollection::findOne() - Querys this collection, returning a single element
  • MongoCollection::insert() - Inserts an array into the collection
  • MongoDB core docs on » find.
MongoCollection::ensureIndex
MongoCollection::findOne
MongoCollection


Querys this collection, returning a single element

MongoCollection::find
MongoCollection::__get
MongoCollection
PHP Manual

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOne — Querys this collection, returning a single element

Описание

 public array MongoCollection::findOne
  ([ array $query = array()
 [, array $fields = array()
]] )

Список параметров

query

The fields for which to search.

fields

Fields of the results to return.

Возвращаемые значения

Returns record matching the search or NULL.

Ошибки

Throws MongoConnectionException if it cannot reach the database.

Примеры

Пример #1 MongoCollection::findOne() document by its id.

This example demonstrates how to find a single document in a collection by its id.

<?php

$articles = $mongo->my_db->articles;

$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));

?>

Пример #2 MongoCollection::findOne() document by some condition.

This example demonstrates how to find a single document in a collection by some condition and limiting the returned fields.

<?php

$users = $mongo->my_db->users;
$user = $users->findOne(array('username' => 'jwage'), array('password'));
print_r($user);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [_id] => MongoId Object
        (
        )

    [password] => test
)

Notice how even though the document does have a username field, we limited the results to only contain the password field.

MongoCollection::find
MongoCollection::__get
MongoCollection


Gets a collection

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection
PHP Manual

MongoCollection::__get

(PECL mongo >=1.0.2)

MongoCollection::__get — Gets a collection

Описание

public MongoCollection MongoCollection::__get ( string $name )

A concise syntax for getting a collection with a dot-separated name. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new Mongo();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar.baz");
$collection = $mongo->foo->bar->baz;

?>

Список параметров

name

The next string in the collection name.

Возвращаемые значения

Returns the collection.

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection


Fetches the document pointed to by a database reference

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection
PHP Manual

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Fetches the document pointed to by a database reference

Описание

public array MongoCollection::getDBRef ( array $ref )

Список параметров

ref

A database reference.

Возвращаемые значения

Returns the database document pointed to by the reference.

Примеры

Пример #1 MongoCollection::getDBRef() example

<?php

$playlists = $db->playlists;

$myList = $playlists->findOne(array('username' => 'me'));

// fetch each song in the playlist
foreach ($myList['songlist'] as $songRef) {
    $song = $playlists->getDBRef($songRef);
    echo $song['title'] . "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Dazed and Confused
Ma na ma na
Bohemian Rhapsody

In the above example each $songRef looks something like the following:
    Array
    (
        [$ref] => songs
        [$id] => 49902cde5162504500b45c2c
    )

Смотрите также

  • MongoCollection::createDBRef() - Creates a database reference

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection


Returns an array of index names for this collection

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection
PHP Manual

MongoCollection::getIndexInfo

(PECL mongo >=0.9.0)

MongoCollection::getIndexInfo — Returns an array of index names for this collection

Описание

public array MongoCollection::getIndexInfo ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a list of index names.

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection


Returns this collection's name

MongoCollection::getIndexInfo
MongoCollection::getSlaveOkay
MongoCollection
PHP Manual

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Returns this collection's name

Описание

public string MongoCollection::getName ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the name of this collection.

Примеры

Пример #1 MongoCollection::getName() example

<?php

$m = new Mongo();
$c = $m->foo->bar->baz;

echo "Working with collection " . $c->getName() . ".\n";

// the full namespace is given by the MongoCollection::__toString() method
echo "Working in namespace $c.\n";

?>

Результатом выполнения данного примера будет что-то подобное:

Working with collection bar.baz.
Working in namespace foo.bar.baz.

MongoCollection::getIndexInfo
MongoCollection::getSlaveOkay
MongoCollection


Get slaveOkay setting for this collection

MongoCollection::getName
MongoCollection::group
MongoCollection
PHP Manual

MongoCollection::getSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection

Описание

public bool MongoCollection::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the value of slaveOkay for this instance.

MongoCollection::getName
MongoCollection::group
MongoCollection


Performs an operation similar to SQL's GROUP BY command

MongoCollection::getSlaveOkay
MongoCollection::insert
MongoCollection
PHP Manual

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::group — Performs an operation similar to SQL's GROUP BY command

Описание

public array MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )

Список параметров

keys

Fields to group by. If an array or non-code object is passed, it will be the key used to group results.

1.0.4+: If keys is an instance of MongoCode, keys will be treated as a function that returns the key to group by (see the "Passing a keys function" example below).

initial

Initial value of the aggregation counter object.

reduce

A function that takes two arguments (the current document and the aggregation to this point) and does the aggregation.

options

Optional parameters to the group command. Valid options include:

  • "condition"

    Criteria for including a document in the aggregation.

  • "finalize"

    Function called once per unique key that takes the final output of the reduce function.

Возвращаемые значения

Returns an array containing the result.

Примеры

Пример #1 MongoCollection::group() example

This groups documents by category and creates a list of names within that category.

<?php

$collection->insert(array("category" => "fruit", "name" => "apple"));
$collection->insert(array("category" => "fruit", "name" => "peach"));
$collection->insert(array("category" => "fruit", "name" => "banana"));
$collection->insert(array("category" => "veggie", "name" => "corn"));
$collection->insert(array("category" => "veggie", "name" => "broccoli"));

$keys = array("category" => 1);

$initial = array("items" => array());

$reduce = "function (obj, prev) { prev.items.push(obj.name); }";

$g = $collection->group($keys, $initial, $reduce);

echo json_encode($g['retval']);

?>

Результатом выполнения данного примера будет что-то подобное:

[{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}]

Пример #2 MongoCollection::group() example

This example doesn't use any key, so every document will be its own group. It also uses a condition: only documents that match this condition will be processed by the grouping function.

<?php

$collection->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// use all fields
$keys = array();

// set intial values
$initial = array("count" => 0);

// JavaScript function to perform
$reduce = "function (obj, prev) { prev.count++; }";

// only use documents where the "a" field is greater than 1
$condition = array("a" => array( '$gt' => 1));

$g = $collection->group($keys, $initial, $reduce, $condition);

var_dump($g);

?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  ["retval"]=>
  array(1) {
    [0]=>
    array(1) {
      ["count"]=>
      float(1)
    }
  }
  ["count"]=>
  float(1)
  ["keys"]=>
  int(1)
  ["ok"]=>
  float(1)
}

Пример #3 Passing a keys function

If you want to group by something other than a field name, you can pass a function as the first parameter of MongoCollection::group() and it will be run against each document. The return value of the function will be used as its grouping value.

This example demonstrates grouping by the num field modulo 4.

<?php

$c->group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'),
     array("count" => 0),
     new MongoCode('function(current, total) { total.count++; }'));

?>
MongoCollection::getSlaveOkay
MongoCollection::insert
MongoCollection


Inserts an array into the collection

MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Inserts an array into the collection

Описание

public mixed MongoCollection::insert ( array $a [, array $options = array() ] )

All strings sent to the database must be UTF-8. If a string is not UTF-8, a MongoException will be thrown. To insert (or query for) a non-UTF-8 string, use MongoBinData.

Список параметров

a

An array.

options

Options for the insert.

  • "safe"

    Can be a boolean or integer, defaults to FALSE. If FALSE, the program continues executing without waiting for a database response. If TRUE, the program will wait for the database response and throw a MongoCursorException if the insert did not succeed.

    If you are using replication and the master has changed, using "safe" will make the driver disconnect from the master, throw an exception, and attempt to find a new master on the next operation (your application must decide whether or not to retry the operation on the new master).

    If you do not use "safe" with a replica set and the master changes, there will be no way for the driver to know about the change so it will continuously and silently fail to write.

    If safe is an integer, will replicate the insert to that many machines before returning success (or throw an exception if the replication times out, see wtimeout). This overrides the w variable set on the collection.

  • "fsync"

    Boolean, defaults to FALSE. Forces the insert to be synced to disk before returning success. If TRUE, a safe insert is implied and will override setting safe to FALSE.

  • "timeout"

    Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Возвращаемые значения

If safe was set, returns an array containing the status of the insert. Otherwise, returns a boolean representing if the array was not empty (an empty array will not be inserted).

Ошибки

Throws MongoCursorException if the "safe" option is set and the insert fails. (Version 1.0.1+)

Throws MongoCursorTimeoutException if the "safe" option is set and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout.

Список изменений

Версия | Описание
1.0.5 | Changed second parameter to an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "safe" option.
1.0.9 | Added ability to pass integers to "safe" options (only accepted booleans before) and added "fsync" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.2.0 | Added timeout option.

Примеры

Пример #1 MongoCollection::insert() _id example

Inserting an object will add an _id field to it, unless it is passed by reference.

<?php

$m = new Mongo();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$a = array('x' => 12);
$collection->insert($a);
var_dump($a);

$b = array('x' => 12);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["x"]=>
  int(12)
  ["_id"]=>
  object(MongoId)#4 (0) {
  }
}
array(12) {
  ["x"]=>
  int(1)
}

Пример #2 MongoCollection::insert() safe example

This example shows inserting two elements with the same _id, which causes a MongoCursorException to be thrown, as safe was set.

<?php

$person = array("name" => "Joe", "age" => 20);
$collection->insert($person, true);

// now $person has an _id field, so if we save it
// again, we will get an exception
try {
    $collection->insert($person, true);
} catch(MongoCursorException $e) {
    echo "Can't save the same person twice!\n";
}

?>

Смотрите также

  • MongoCollection::batchInsert() - Inserts multiple documents into this collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Querys this collection
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.
MongoCollection::group
MongoCollection::remove
MongoCollection


Remove records from this collection

MongoCollection::insert
MongoCollection::save
MongoCollection
PHP Manual

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::remove — Remove records from this collection

Описание

 public mixed MongoCollection::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Список параметров

criteria

Description of records to remove.

options

Options for remove.

  • "justOne"

    Remove at most one record matching this criteria.

  • "safe"

    Can be a boolean or integer, defaults to FALSE. If FALSE, the program continues executing without waiting for a database response. If TRUE, the program will wait for the database response and throw a MongoCursorException if the update did not succeed.

    If you are using replication and the master has changed, using "safe" will make the driver disconnect from the master, throw and exception, and attempt to find a new master on the next operation (your application must decide whether or not to retry the operation on the new master).

    If you do not use "safe" with a replica set and the master changes, there will be no way for the driver to know about the change so it will continuously and silently fail to write.

    If safe is an integer, will replicate the update to that many machines before returning success (or throw an exception if the replication times out, see wtimeout). This overrides the w variable set on the collection.

  • "fsync"

    Boolean, defaults to FALSE. Forces the update to be synced to disk before returning success. If TRUE, a safe update is implied and will override setting safe to FALSE.

  • "timeout"

    Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Возвращаемые значения

If "safe" is set, returns an associative array with the status of the remove ("ok"), the number of items removed ("n"), and any error that may have occured ("err"). Otherwise, returns TRUE if the remove was successfully sent, FALSE otherwise.

Ошибки

Throws MongoCursorException if the "safe" option is set and the remove fails.

Throws MongoCursorTimeoutException if the "safe" option is set and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout.

Список изменений

Версия | Описание
1.0.9 | Added ability to pass integers to "safe" options (only accepted booleans before) and added "fsync" option.
1.0.5 | Changed second parameter to an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "justOne" option and there was no safe option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.2.0 | Added timeout option.

Примеры

Пример #1 MongoCollection::remove() with justOne example

<?php

$radioactive = $db->radioactive;

// count how much more plutonium there is
$remaining = $radioactive->count(array('type' => 94));

$halflife = $remaining/2;

// remove half of it
while ($halflife > 0) {
    $radioactive->remove(array('type' => 94), array("justOne" => true));
    $halflife--;
}

?>

Смотрите также

  • MongoCollection::insert() - Inserts an array into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoDB core docs on » remove.
MongoCollection::insert
MongoCollection::save
MongoCollection


Saves an object to this collection

MongoCollection::remove
MongoCollection::setSlaveOkay
MongoCollection
PHP Manual

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Saves an object to this collection

Описание

public mixed MongoCollection::save ( array $a [, array $options = array() ] )

If the object is from the database, update the existing database object, otherwise insert this object.

Список параметров

a

Array to save.

options

Options for the save.

  • "safe"

    Can be a boolean or integer, defaults to FALSE. If FALSE, the program continues executing without waiting for a database response. If TRUE, the program will wait for the database response and throw a MongoCursorException if the insert did not succeed.

    If you are using replication and the master has changed, using "safe" will make the driver disconnect from the master, throw and exception, and attempt to find a new master on the next operation (your application must decide whether or not to retry the operation on the new master).

    If you do not use "safe" with a replica set and the master changes, there will be no way for the driver to know about the change so it will continuously and silently fail to write.

    If safe is an integer, will replicate the insert to that many machines before returning success (or throw an exception if the replication times out, see wtimeout). This overrides the w variable set on the collection.

  • "fsync"

    Boolean, defaults to FALSE. Forces the insert to be synced to disk before returning success. If TRUE, a safe insert is implied and will override setting safe to FALSE.

  • "timeout"

    Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Возвращаемые значения

If safe was set, returns an array containing the status of the save. Otherwise, returns a boolean representing if the array was not empty (an empty array will not be inserted).

Ошибки

Throws MongoCursorException if the "safe" option is set and the save fails.

Throws MongoCursorTimeoutException if the "safe" option is set and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout.

Список изменений

Версия | Описание
1.0.5 | Added "options" parameter.
1.0.9 | Added ability to pass integers to "safe" options (only accepted booleans before) and added "fsync" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.2.0 | Added timeout option.

Примеры

Пример #1 MongoCollection::save() example

<?php

$obj = array('x' => 1);

// insert $obj into the db
$collection->save($obj);

// add another field
$obj['foo'] = 'bar';

// $obj cannot be inserted again, causes duplicate _id error
$collection->insert($obj);

// save updates $obj with the new field
$collection->save($obj);

?>
MongoCollection::remove
MongoCollection::setSlaveOkay
MongoCollection


Change slaveOkay setting for this collection

MongoCollection::save
MongoCollection::toIndexString
MongoCollection
PHP Manual

MongoCollection::setSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection

Описание

public bool MongoCollection::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to slaves.

Список параметров

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoCollection instance.

Возвращаемые значения

Returns the former value of slaveOkay for this instance.

MongoCollection::save
MongoCollection::toIndexString
MongoCollection


Converts keys specifying an index to its identifying string

MongoCollection::setSlaveOkay
MongoCollection::__toString
MongoCollection
PHP Manual

MongoCollection::toIndexString

(Информация о версии неизвестна, возможно, только в SVN)

MongoCollection::toIndexString — Converts keys specifying an index to its identifying string

Описание

static protected string MongoCollection::toIndexString ( mixed $keys )

Список параметров

keys

Field or fields to convert to the identifying string

Возвращаемые значения

Returns a string that describes the index.

Примеры

Пример #1 MongoCollection::toIndexString() example

This example shows how you can create an index name out of of keys. Because this is a protected (static) method, you need to overload it in a child class first.

<?php
// Create inheritec class to make the method "public".
class MyCollection extends MongoCollection
{
    static public function toIndexString($a)
    {
        return parent::toIndexString($a);
    }
}

echo MyCollection::toIndexString("foo")), "\n";
// Outputs: foo_1

echo MyCollection::toIndexString(array('name' => 1, 'age' => -1)), "\n";
// Outputs: name_1_age_-1
?>

Смотрите также

MongoDB core docs on » indexes.

MongoCollection::setSlaveOkay
MongoCollection::__toString
MongoCollection


String representation of this collection

MongoCollection::toIndexString
MongoCollection::update
MongoCollection
PHP Manual

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — String representation of this collection

Описание

public string MongoCollection::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the full name of this collection.

Примеры

Пример #1 MongoCollection::__toString() example

<?php

$m = new Mongo();

$c1 = $m->foo->bar->baz;
echo "Working with collection $c1.";

$c2 = $m->selectCollection('[]', '&');
echo "Working with collection $c2.";

?>

Результатом выполнения данного примера будет что-то подобное:

Working with collection foo.bar.baz.
Working with collection [].&.

MongoCollection::toIndexString
MongoCollection::update
MongoCollection


Update records based on a given criteria

MongoCollection::__toString
MongoCollection::validate
MongoCollection
PHP Manual

MongoCollection::update

(PECL mongo >=0.9.0)

MongoCollection::update — Update records based on a given criteria

Описание

public bool MongoCollection::update ( array $criteria , array $newobj [, array $options = array() ] )

Список параметров

criteria

Description of the objects to update.

newobj

The object with which to update the matching records.

options

This parameter is an associative array of the form array("optionname" => <boolean>, ...). Currently supported options are:

  • "upsert"

    If no document matches $criteria, a new document will be created from $criteria and $newobj (see upsert example below).

  • "multiple"

    All documents matching $criteria will be updated. MongoCollection::update() has exactly the opposite behavior of MongoCollection::remove(): it updates one document by default, not all matching documents. It is recommended that you always specify whether you want to update multiple documents or a single document, as the database may change its default behavior at some point in the future.

  • "safe"

    Can be a boolean or integer, defaults to FALSE. If FALSE, the program continues executing without waiting for a database response. If TRUE, the program will wait for the database response and throw a MongoCursorException if the update did not succeed.

    If you are using replication and the master has changed, using "safe" will make the driver disconnect from the master, throw and exception, and attempt to find a new master on the next operation (your application must decide whether or not to retry the operation on the new master).

    If you do not use "safe" with a replica set and the master changes, there will be no way for the driver to know about the change so it will continuously and silently fail to write.

    If safe is an integer, will replicate the update to that many machines before returning success (or throw an exception if the replication times out, see wtimeout). This overrides the w variable set on the collection.

  • "fsync"

    Boolean, defaults to FALSE. Forces the update to be synced to disk before returning success. If TRUE, a safe update is implied and will override setting safe to FALSE.

  • "timeout"

    Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, a MongoCursorTimeoutException will be thrown.

Возвращаемые значения

Returns if the update was successfully sent to the database.

Ошибки

Throws MongoCursorException if the "safe" option is set and the update fails.

Throws MongoCursorTimeoutException if the "safe" option is set and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout.

Список изменений

Версия | Описание
1.0.1 | Changed "options" parameter from boolean to array. Pre-1.0.1, the second parameter was an optional boolean value specifying an upsert.
1.0.5 | Added "safe" option.
1.0.9 | Added ability to pass integers to "safe" options (only accepted booleans before) and added "fsync" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.2.0 | Added timeout option.

Примеры

Пример #1 MongoCollection::update()

Adding an address field to a document.

<?php

$c->insert(array("firstname" => "Bob", "lastname" => "Jones" ));
$newdata = array('$set' => array("address" => "1 Smith Lane"));
$c->update(array("firstname" => "Bob"), $newdata);

var_dump($c->findOne(array("firstname" => "Bob")));

?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["firstname"]=>
  string(3) "Bob"
  ["lastname"]=>
  string(5) "Jones"
  ["address"]=>
  string(12) "1 Smith Lane"
}

Пример #2 MongoCollection::update() upsert example

Upserts can simplify code, as a single line can create the object if it does not exist yet and update it if it does.

<?php

$c->drop();
$c->update(array("uri" => "/summer_pics"), array('$inc' => array("page hits" => 1)), array("upsert" => true));
var_dump($c->findOne());

?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["_id"]=>
  object(MongoId)#9 (0) {
  }
  ["uri"]=>
  string(12) "/summer_pics"
  ["page hits"]=>
  int(1)
}

If newobj does not contain $-operators, an upsert will create a new document from it alone. This matches the behavior of a normal update, where not using $-operators causes the whole document to be overwritten.

<?php

$c->update(array("name" => "joe"), array("username" => "joe312", "createdAt" => new MongoDate()),
    array("upsert" => true));

?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["_id"]=>
  object(MongoId)#10 (0) {
  }
  ["username"]=>
  string(6) "joe312"
  ["createdAt"]=>
  object(MongoDate)#4 (0) {
  }
}

Пример #3 MongoCollection::update() multiple example

By default, MongoCollection::update() will only update the first document matching $criteria that it finds. Using the "multiple" option can override this behavior, if needed.

This example adds a "gift" field to every person whose birthday is in the next day.

<?php

$today = array('$gt' => new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day")));
$people->update(array("birthday" => $today), array('$set' => array('gift' => $surprise)), array("multiple" => true));

?>

Смотрите также

The PHP documentation on updates and the » MongoDB core docs.

MongoCollection::__toString
MongoCollection::validate
MongoCollection


Validates this collection

MongoCollection::update
MongoCursor
MongoCollection
PHP Manual

MongoCollection::validate

(PECL mongo >=0.9.0)

MongoCollection::validate — Validates this collection

Описание

public array MongoCollection::validate ([ bool $scan_data = FALSE ] )

Список параметров

scan_data

Only validate indices, not the base collection.

Возвращаемые значения

Returns the database's evaluation of this object.

MongoCollection::update
MongoCursor
MongoCollection


The MongoCursor class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A cursor is used to iterate through the results of a database query. For example, to query the database and see all results, you could do:

<?php

$cursor = $collection->find();
var_dump(iterator_to_array($cursor));

?>

You don't generally create cursors using the MongoCursor constructor, you get a new cursor by calling MongoCollection::find() (as shown above).

Suppose that, in the example above, $collection was a 50GB collection. We certainly wouldn't want to load that into memory all at once, which is what a cursor is for: allowing the client to access the collection in dribs and drabs.

If we have a large result set, we can iterate through it, loading a few megabytes of results into memory at a time. For example, we could do:

<?php

$cursor = $collection->find();

foreach ($cursor as $doc) {
    // do something to each document
}

?>
This will go through each document in the collection, loading and garbage collecting documents as needed.

Note that this means that a cursor does not "contain" the database results, it just manages them. Thus, if you print a cursor (with, say, var_dump() or print_r()), you'll just get the cursor object, not your documents. To get the documents themselves, you can use one of the methods shown above.

Cursor Stages

A MongoCursor has two "life stages": pre- and post- query. When a cursor is created, it has not yet contacted the database, so it is in its pre-query state. In this state, the client can further specify what they want the query to do, including adding limits, skips, sorts, and more advanced options.

When the client attempts to get a result (by calling MongoCursor::next(), directly or indirectly), the cursor moves into the post-query stage. At this point, the query has been executed by the database and cannot be modified anymore.

<?php

$cursor = $collection->find()->limit(10);

// database has not yet been queried, so more search options can be added
$cursor = $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// now database has been queried and more options cannot be added

// so this will throw an exception:
$cursor->skip(4);
?>

Обзор классов

implements Iterator {
/* Static Fields */
static boolean $MongoCursor->slaveOkay = FALSE ;
static integer $timeout = 20000 ;
/* Методы */
public MongoCursor MongoCursor::addOption ( string $key , mixed $value )
public MongoCursor MongoCursor::batchSize ( int $num )
MongoCursor::__construct ( Mongo $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public int MongoCursor::count ([ bool $foundOnly = FALSE ] )
public array MongoCursor::current ( void )
public bool MongoCursor::dead ( void )
protected void MongoCursor::doQuery ( void )
public array MongoCursor::explain ( void )
public MongoCursor MongoCursor::fields ( array $f )
public array MongoCursor::getNext ( void )
public bool MongoCursor::hasNext ( void )
public MongoCursor MongoCursor::hint ( array $key_pattern )
public MongoCursor MongoCursor::immortal ([ bool $liveForever = true ] )
public array MongoCursor::info ( void )
public string MongoCursor::key ( void )
public MongoCursor MongoCursor::limit ( int $num )
public void MongoCursor::next ( void )
public MongoCursor MongoCursor::partial ([ bool $okay = true ] )
public void MongoCursor::reset ( void )
public void MongoCursor::rewind ( void )
public MongoCursor MongoCursor::skip ( int $num )
public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )
public MongoCursor MongoCursor::snapshot ( void )
public MongoCursor MongoCursor::sort ( array $fields )
public MongoCursor MongoCursor::tailable ([ bool $tail = true ] )
public MongoCursor MongoCursor::timeout ( int $ms )
public bool MongoCursor::valid ( void )
}

Static Variables

MongoCursor::slaveOkay

If the query should have the "slaveOkay" flag set, which allows reads on the slave (slaves are, by default, just for backup and unreadable). Can be overridden with MongoCursor::slaveOkay().

MongoCursor::timeout

Set timeout in milliseconds for all database responses. To wait forever, use -1. Can be overridden with MongoCursor::timeout(). This does not cause the MongoDB server to cancel the operation, it just causes the driver to stop waiting for a response and throw a MongoCursorTimeoutException.

Смотрите также

MongoDB core docs on » cursors.

Содержание

  • MongoCursor::addOption — Adds a top-level key/value pair to a query
  • MongoCursor::batchSize — Sets the number of results returned per result set
  • MongoCursor::__construct — Create a new cursor
  • MongoCursor::count — Counts the number of results for this query
  • MongoCursor::current — Returns the current element
  • MongoCursor::dead — Checks if there are documents that have not been sent yet from the database for this cursor
  • MongoCursor::doQuery — Execute the query.
  • MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging
  • MongoCursor::fields — Sets the fields for a query
  • MongoCursor::getNext — Return the next object to which this cursor points, and advance the cursor
  • MongoCursor::hasNext — Checks if there are any more elements in this cursor
  • MongoCursor::hint — Gives the database a hint about the query
  • MongoCursor::immortal — Sets whether this cursor will timeout
  • MongoCursor::info — Gets the query, fields, limit, and skip for this cursor
  • MongoCursor::key — Returns the current result's _id
  • MongoCursor::limit — Limits the number of results returned
  • MongoCursor::next — Advances the cursor to the next result
  • MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down
  • MongoCursor::reset — Clears the cursor
  • MongoCursor::rewind — Returns the cursor to the beginning of the result set
  • MongoCursor::skip — Skips a number of results
  • MongoCursor::slaveOkay — Sets whether this query can be done on a slave
  • MongoCursor::snapshot — Use snapshot mode for the query
  • MongoCursor::sort — Sorts the results by given fields
  • MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results
  • MongoCursor::timeout — Sets a client-side timeout for this query
  • MongoCursor::valid — Checks if the cursor is reading a valid result.
MongoCollection::validate
MongoCursor::addOption
Базовые классы


Adds a top-level key/value pair to a query

MongoCursor
MongoCursor::batchSize
MongoCursor
PHP Manual

MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOption — Adds a top-level key/value pair to a query

Описание

public MongoCursor MongoCursor::addOption ( string $key , mixed $value )

This is an advanced function and should not be used unless you know what you're doing.

A query can optionally be nested in a "query" field if other options, such as a sort or hint, are given. For instance, adding a sort causes the query to become a subfield of a bigger query object, like:

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

This method is for adding a top-level field to a query. It makes the query a subobject (if it isn't already) and adds the key/value pair of your chosing to the top level.

Внимание

It cannot be used to add extra criteria to a query on the fly. For instance, this will not work:

<?php

// NOT CORRECT
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
This does not query for a user named "joe" with an age of 20.

Список параметров

key

Fieldname to add.

value

Value to add.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

Примеры

Пример #1 MongoCursor::addOption() example

Using MongoCursor::skip() to skip over millions of results can become slow. One way around this is to use $min or $max options for the query. These can be handy, but they require an index on exactly the fields being searched for. This is an example of how to use $min as an alternative to MongoCursor::skip().

<?php

// make sure we have an index
$c->ensureIndex(array("ts" => 1));

// you may have to modify this to run in a reasonable amount of time on slow
// machines (should take about 30 seconds on a good machine)
for ($i = 0; $i < 30000000; $i++) {
    $c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$now = strtotime("now");

// find documents inserted in the last 2 seconds
$cursor = $c->find()->addOption('$min', array("ts" => $now-2));

?>
MongoCursor
MongoCursor::batchSize
MongoCursor


Sets the number of results returned per result set

MongoCursor::addOption
MongoCursor::__construct
MongoCursor
PHP Manual

MongoCursor::batchSize

(PECL mongo >=1.0.11)

MongoCursor::batchSize — Sets the number of results returned per result set

Описание

public MongoCursor MongoCursor::batchSize ( int $num )

This cannot override MongoDB's limit on the amount of data it will return to the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still only return 4-16MB of results).

To ensure consistent behavior, the rules of batchSize and limit behavior a little complex but work "as expected". The rules are: hard limits override soft limits with preference given to MongoCursor::limit() over MongoCursor::batchSize(). After that, whichever is set and lower than the other will take precedence. Some examples:

<?php

// one batch, at most 20 items
$cursor->limit(-20)->batchSize(10);

// one batch, at most 10 items
$cursor->limit(20)->batchSize(-10);

// first batch: at most 10 items
$cursor->limit(10);

// first batch: at most 10 items
$cursor->limit(10)->batchSize(20);

// first batch: at most 10 items
$cursor->limit(20)->batchSize(10);

$cursor->limit(30)->batchSize(7)
// if we iterate through 28 items, the next call to getNext() will contact the
// database and request a batch of 2 documents

?>

Список параметров

num

The number of results to return in the next batch.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating. This will change in 1.0.12, as this should be able to be called at any time.

MongoCursor::addOption
MongoCursor::__construct
MongoCursor


Create a new cursor

MongoCursor::batchSize
MongoCursor::count
MongoCursor
PHP Manual

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Create a new cursor

Описание

MongoCursor::__construct ( Mongo $connection , string $ns [, array $query = array() [, array $fields = array() ]] )

Список параметров

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Возвращаемые значения

Returns the new cursor.

MongoCursor::batchSize
MongoCursor::count
MongoCursor


Counts the number of results for this query

MongoCursor::__construct
MongoCursor::current
MongoCursor
PHP Manual

MongoCursor::count

(PECL mongo >=0.9.2)

MongoCursor::count — Counts the number of results for this query

Описание

public int MongoCursor::count ([ bool $foundOnly = FALSE ] )

This method does not affect the state of the cursor: if you haven't queried yet, you can still apply limits, skips, etc. If you have started iterating through results, it will not move the current position of the cursor. If you have exhasted the cursor, it will not reset it.

Список параметров

foundOnly

Send cursor limit and skip information to the count function, if applicable.

Возвращаемые значения

The number of documents returned by this cursor's query.

Примеры

Пример #1 MongoCursor::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

Результатом выполнения данного примера будет что-то подобное:

int(3)
int(3)
int(3)
int(2)

Ошибки

Throws MongoConnectionException if it cannot reach the database.

MongoCursor::__construct
MongoCursor::current
MongoCursor


Returns the current element

MongoCursor::count
MongoCursor::dead
MongoCursor
PHP Manual

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Returns the current element

Описание

public array MongoCursor::current ( void )

This returns NULL until MongoCursor::next() is called.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current result as an associative array.

MongoCursor::count
MongoCursor::dead
MongoCursor


Checks if there are documents that have not been sent yet from the database for this cursor

MongoCursor::current
MongoCursor::doQuery
MongoCursor
PHP Manual

MongoCursor::dead

(PECL mongo >=0.9.6)

MongoCursor::dead — Checks if there are documents that have not been sent yet from the database for this cursor

Описание

public bool MongoCursor::dead ( void )

The database sends responses in batches of documents, up to 4Mb of documents per response. This method checks if the database has more batches or if the result set has been exhausted.

A cursor being "dead" does not mean that MongoCursor::hasNext() will return FALSE, it only means that the database is done sending results to the client. The client should continue iterating through results until MongoCursor::hasNext() is FALSE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns if there are more results that have not been sent to the client, yet.

MongoCursor::current
MongoCursor::doQuery
MongoCursor


Execute the query.

MongoCursor::dead
MongoCursor::explain
MongoCursor
PHP Manual

MongoCursor::doQuery

(Информация о версии неизвестна, возможно, только в SVN)

MongoCursor::doQuery — Execute the query.

Описание

protected void MongoCursor::doQuery ( void )

This function actually queries the database. All queries and commands go through this function. Thus, this function can be overridden to provide custom query handling.

This handles serializing your query, sending it to the database, receiving a response, and deserializing it. Thus, if you are planning to override this, your code should probably call out to the original to use the existing functionality (see the example below).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

NULL.

Ошибки

Throws MongoConnectionException if it cannot reach the database.

Примеры

Пример #1 MongoCursor::doQuery() example

You could override this function to attempt a query on a slave and, if that fails, try it again on the master.

<?php

class MyCursor extends MongoCursor {

    protected function doQuery() {

        $this->slaveOkay();

        try {
            MongoCursor::doQuery();
        }
        catch(MongoCursorException $e) {
            $this->slaveOkay(false);
            MongoCursor::doQuery();
        }
    }
}

?>

MongoCursor::dead
MongoCursor::explain
MongoCursor


Return an explanation of the query, often useful for optimization and debugging

MongoCursor::doQuery
MongoCursor::fields
MongoCursor
PHP Manual

MongoCursor::explain

(PECL mongo >=0.9.2)

MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging

Описание

public array MongoCursor::explain ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an explanation of the query.

Примеры

Пример #1 MongoCursor::explain() example

<?php

$cursor = $collection->find(array("x"=>1), array("y"));
$cursor->sort(array("z" => 1))->limit(4)->skip(5);

var_dump($cursor->explain());

?>

Результатом выполнения данного примера будет что-то подобное:

array(8) {
  ["cursor"]=>
  string(15) "BtreeCursor x_1"
  ["startKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["endKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["nscanned"]=>
  float(4)
  ["n"]=>
  int(4)
  ["scanAndOrder"]=>
  int(1)
  ["millis"]=>
  int(3)
  ["allPlans"]=>
  array(2) {
    [0]=>
    array(3) {
      ["cursor"]=>
      string(15) "BtreeCursor x_1"
      ["startKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
      ["endKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
    }
    [1]=>
    array(3) {
      ["cursor"]=>
      string(11) "BasicCursor"
      ["startKey"]=>
      array(0) {
      }
      ["endKey"]=>
      array(0) {
      }
    }
  }
}

Ошибки

Throws MongoConnectionException if it cannot reach the database.

Смотрите также

MongoDB core docs on » explain.

MongoCursor::doQuery
MongoCursor::fields
MongoCursor


Sets the fields for a query

MongoCursor::explain
MongoCursor::getNext
MongoCursor
PHP Manual

MongoCursor::fields

(PECL mongo >=1.0.6)

MongoCursor::fields — Sets the fields for a query

Описание

public MongoCursor MongoCursor::fields ( array $f )

Fields are specified by "fieldname" : bool. TRUE indicates that a field should be returned, FALSE indicates that it should not be returned. You can also use 1 and 0 instead of TRUE and FALSE.

Thus, to return only the "summary" field, one could say:

<?php

$cursor->fields(array("summary" => true));

?>

To return all fields except the "hidden" field:

<?php

$cursor->fields(array("hidden" => false));

?>

Список параметров

f

Fields to return (or not return).

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating or a scalar argument is given.

MongoCursor::explain
MongoCursor::getNext
MongoCursor


Return the next object to which this cursor points, and advance the cursor

MongoCursor::fields
MongoCursor::hasNext
MongoCursor
PHP Manual

MongoCursor::getNext

(PECL mongo >=0.9.0)

MongoCursor::getNext — Return the next object to which this cursor points, and advance the cursor

Описание

public array MongoCursor::getNext ( void )

This is identical to the function:

<?php

public function getNext() {
    $this->next();
    return $this->current();
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the next object.

Ошибки

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

MongoCursor::fields
MongoCursor::hasNext
MongoCursor


Checks if there are any more elements in this cursor

MongoCursor::getNext
MongoCursor::hint
MongoCursor
PHP Manual

MongoCursor::hasNext

(PECL mongo >=0.9.0)

MongoCursor::hasNext — Checks if there are any more elements in this cursor

Описание

public bool MongoCursor::hasNext ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns if there is another element.

Ошибки

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

MongoCursor::getNext
MongoCursor::hint
MongoCursor


Gives the database a hint about the query

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor
PHP Manual

MongoCursor::hint

(PECL mongo >=0.9.0)

MongoCursor::hint — Gives the database a hint about the query

Описание

public MongoCursor MongoCursor::hint ( array $key_pattern )

Список параметров

key_pattern

Indexes to use for the query.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor


Sets whether this cursor will timeout

MongoCursor::hint
MongoCursor::info
MongoCursor
PHP Manual

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortal — Sets whether this cursor will timeout

Описание

public MongoCursor MongoCursor::immortal ([ bool $liveForever = true ] )

After remaining idle for some amount of time, cursor, by default, "die." This is generally the behavior one wants. The database cleans up a cursor once all of its results have been sent to the client, but if the client doesn't request all of the results, the cursor will languish there, taking up resources. Thus, after a few minutes, the cursor "times out" and the database assumes the client has gotten everything it needs and cleans up its the cursor's resources.

If, for some reason, you need a cursor to hang around for a long time, you can prevent the database from cleaning it up by using this method. However, if you make a cursor immortal, you need to iterate through all of its results (or at least until Cursor::dead() returns TRUE) or the cursor will hang around the database forever, taking up resources.

Список параметров

liveForever

If the cursor should be immortal.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::hint
MongoCursor::info
MongoCursor


Gets the query, fields, limit, and skip for this cursor

MongoCursor::immortal
MongoCursor::key
MongoCursor
PHP Manual

MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::info — Gets the query, fields, limit, and skip for this cursor

Описание

public array MongoCursor::info ( void )

This can be called before or after the query.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the namespace, limit, skip, query, and fields for this cursor.

Список изменений

Версия | Описание
1.0.10 | Added started_iterating field, a boolean indicating if cursor is pre- or post-query.
1.1.0 | Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with MongoCursor::slaveOkay()).

Примеры

Пример #1 MongoCursor::info() example

<?php

$m = new Mongo();
$cursor = $m->foo->bar->find(array("x" => 4), array("y" => false));
var_dump($cursor->info());

?>

Результатом выполнения данного примера будет что-то подобное:

array(5) {
  ["ns"]=>
  string(7) "foo.bar"
  ["limit"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
}
MongoCursor::immortal
MongoCursor::key
MongoCursor


Returns the current result's _id

MongoCursor::info
MongoCursor::limit
MongoCursor
PHP Manual

MongoCursor::key

(PECL mongo >=0.9.0)

MongoCursor::key — Returns the current result's _id

Описание

public string MongoCursor::key ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current result's _id as a string.

MongoCursor::info
MongoCursor::limit
MongoCursor


Limits the number of results returned

MongoCursor::key
MongoCursor::next
MongoCursor
PHP Manual

MongoCursor::limit

(PECL mongo >=0.9.0)

MongoCursor::limit — Limits the number of results returned

Описание

public MongoCursor MongoCursor::limit ( int $num )

Список параметров

num

The number of results to return.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

Смотрите также

MongoDB core docs on » limit.

MongoCursor::key
MongoCursor::next
MongoCursor


Advances the cursor to the next result

MongoCursor::limit
MongoCursor::partial
MongoCursor
PHP Manual

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Advances the cursor to the next result

Описание

public void MongoCursor::next ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

NULL.

Ошибки

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

MongoCursor::limit
MongoCursor::partial
MongoCursor


If this query should fetch partial results from mongos if a shard is down

MongoCursor::next
MongoCursor::reset
MongoCursor
PHP Manual

MongoCursor::partial

(PECL mongo >=1.2.0)

MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down

Описание

public MongoCursor MongoCursor::partial ([ bool $okay = true ] )

This option allows mongos to send partial query results if a shard is unreachable. This is only applicable when running a sharded MongoDB cluster and connecting to a mongos.

If a shard goes down and a query needs to be sent to that shard, mongos will return the results (if any) from shards it already contacted, then an error message that it could not reach the shard (a MongoCursorException in PHP). If you would like to get whatever results mongos can provide and no exception, you can use this method. Note that this means that you won't have an indication that a shard is down in your query response.

This has no effect on the query if all shards are reachable. This flag was implemented in MongoDB version 1.7.5, so will only work with that version and higher.

Список параметров

okay

If receiving partial results is okay.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::next
MongoCursor::reset
MongoCursor


Clears the cursor

MongoCursor::partial
MongoCursor::rewind
MongoCursor
PHP Manual

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Clears the cursor

Описание

public void MongoCursor::reset ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

NULL.

MongoCursor::partial
MongoCursor::rewind
MongoCursor


Returns the cursor to the beginning of the result set

MongoCursor::reset
MongoCursor::skip
MongoCursor
PHP Manual

MongoCursor::rewind

(PECL mongo >=0.9.0)

MongoCursor::rewind — Returns the cursor to the beginning of the result set

Описание

public void MongoCursor::rewind ( void )

This is identical to the function:

<?php

public function rewind() {
    $this->reset();
    $this->next();
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

NULL.

Ошибки

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

MongoCursor::reset
MongoCursor::skip
MongoCursor


Skips a number of results

MongoCursor::rewind
MongoCursor::slaveOkay
MongoCursor
PHP Manual

MongoCursor::skip

(PECL mongo >=0.9.0)

MongoCursor::skip — Skips a number of results

Описание

public MongoCursor MongoCursor::skip ( int $num )

Список параметров

num

The number of results to skip.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::rewind
MongoCursor::slaveOkay
MongoCursor


Sets whether this query can be done on a slave

MongoCursor::skip
MongoCursor::snapshot
MongoCursor
PHP Manual

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Sets whether this query can be done on a slave

Описание

public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )

Calling this will make the driver route reads to slaves if:

  • You are using a replica set and
  • You created a Mongo instance using the option "replicaSet" => true and
  • There is a healthy slave that can be reached by the driver.
You can check which server was used for this query by calling MongoCursor::info() after running the query. It's server field will show which server the query was sent to.

Note that you should use this function even if you do not use the automatic routing to slaves. If you connect directly to a secondary in a replica set, you still need to call this function, which basically tells the database that you are aware that you might be getting older data and you're okay with that. If you do not call this, you'll get "not master" errors when you try to query.

This method will override the static class variable
MongoCursor::slaveOkay.  It will also override
Mongo::setSlaveOkay(),
MongoDB::setSlaveOkay() and
MongoCollection::setSlaveOkay().

Список параметров

okay

If it is okay to query the slave.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

Примеры

Пример #1 MongoCursor::slaveOkay() example

<?php

MongoCursor::$slaveOkay = false;

// cannot query slave
$cursor = $collection->find();

// can query slave
$cursor = $collection->find()->slaveOkay();

MongoCursor::$slaveOkay = true;

// can query slave
$cursor = $collection->find();

// cannot query slave
$cursor = $collection->find()->slaveOkay(false);

?>
MongoCursor::skip
MongoCursor::snapshot
MongoCursor


Use snapshot mode for the query

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor
PHP Manual

MongoCursor::snapshot

(PECL mongo >=0.9.4)

MongoCursor::snapshot — Use snapshot mode for the query

Описание

public MongoCursor MongoCursor::snapshot ( void )

Use snapshot mode for the query. Snapshot mode assures no duplicates are returned, or objects missed, which were present at both the start and end of the query's execution (if an object is new during the query, or deleted during the query, it may or may not be returned, even with snapshot mode).

Note that short query responses (less than 1MB) are always effectively snapshotted.

Currently, snapshot mode may not be used with sorting or explicit hints.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor


Sorts the results by given fields

MongoCursor::snapshot
MongoCursor::tailable
MongoCursor
PHP Manual

MongoCursor::sort

(PECL mongo >=0.9.0)

MongoCursor::sort — Sorts the results by given fields

Описание

public MongoCursor MongoCursor::sort ( array $fields )

Список параметров

fields

The fields by which to sort.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

Примеры

Пример #1 MongoCursor::sort() example

<?php
// sort x ascending
$cursor->sort(array('x' => 1));

// the associative array is ordered, for instance, these two
// examples might yield different results:

// sort date ascending and age descending
$cursor->sort(array('date' => 1, 'age' => -1));

// sort age descending and date ascending
$cursor->sort(array('age' => -1, 'date' => 1));
?>
MongoCursor::snapshot
MongoCursor::tailable
MongoCursor


Sets whether this cursor will be left open after fetching the last results

MongoCursor::sort
MongoCursor::timeout
MongoCursor
PHP Manual

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results

Описание

public MongoCursor MongoCursor::tailable ([ bool $tail = true ] )

Mongo has a feature known as tailable cursors which are similar to the Unix "tail -f" command.

Tailable means cursor is not closed when the last data is retrieved. Rather, the cursor marks the final object's position. you can resume using the cursor later, from where it was located, if more data were received.

Like any "latent cursor", the cursor may become invalid at some point -- for example if that final object it references were deleted. Thus, you should be prepared to requery if the cursor is MongoCursor::dead().

Список параметров

tail

If the cursor should be tailable.

Возвращаемые значения

Returns this cursor.

Ошибки

Throws MongoCursorException if this cursor has started iterating.

Примеры

Пример #1 MongoCursor::tailable() example

<?php

$cursor = $collection->find()->tailable();

$results = array();

while (1) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
        // read all results so far, wait for more
        sleep(10);
    }
    else {
        $results[] = $cursor->getNext();
    }
}

?>
MongoCursor::sort
MongoCursor::timeout
MongoCursor


Sets a client-side timeout for this query

MongoCursor::tailable
MongoCursor::valid
MongoCursor
PHP Manual

MongoCursor::timeout

(PECL mongo >=1.0.3)

MongoCursor::timeout — Sets a client-side timeout for this query

Описание

public MongoCursor MongoCursor::timeout ( int $ms )

A timeout can be set at any time and will affect subsequent queries on the cursor, including fetching more results from the database. For example, to wait forever for an initial response but timeout after 100 ms for subsequent results, one could say:

<?php

$cursor = $collection->find();

// $cursor->hasNext() executes the query.  No timeout has been set, so the
// program will wait as long as necessary for a response.

while ($cursor->hasNext()) {
    $cursor->timeout(100);

    // now the timeout has been set, so if the cursor needs to get more results
    // from the database, it will only wait 100 ms for the database's reply

    try {
        print_r($cursor->getNext());
    }
    catch(MongoCursorTimeoutException $e) {
        echo "query took too long!";
    }
}

?>

A timeout of 0 (or a negative number) will wait forever so it can be used to reset the cursor if a timeout is no longer needed.

Список параметров

ms

The number of milliseconds for the cursor to wait for a response. By default, the cursor will wait forever.

Возвращаемые значения

This cursor.

Примеры

Пример #1 MongoCursor::timeout() example

A query where the cursor waits for one second for a response.

<?php

$cursor = $collection->find()->timeout(1000);

try {
  foreach ($cursor as $value) {
    print_r($value);
  }
}
catch(MongoCursorTimeoutException $e) {
  echo "query took too long!";
}

?>

Ошибки

Causes methods that fetch results to throw MongoCursorTimeoutExceptions if the query takes longer than the number of milliseconds specified.

MongoCursor::tailable
MongoCursor::valid
MongoCursor


Checks if the cursor is reading a valid result.

MongoCursor::timeout
Types
MongoCursor
PHP Manual

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Checks if the cursor is reading a valid result.

Описание

public bool MongoCursor::valid ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

If the current result is not null.

MongoCursor::timeout
Types
MongoCursor


Types

Содержание

  • MongoId
  • MongoCode
  • MongoDate
  • MongoRegex
  • MongoBinData
  • MongoInt32
  • MongoInt64
  • MongoDBRef
  • MongoMinKey
  • MongoMaxKey
  • MongoTimestamp

MongoDB allows programmers to save and query for data expressed in all of the basic PHP types, compound types (arrays, associative arrays, and objects), and a half-dozen classes provided by the MongoDB PHP driver (for regular expressions, dates, and other specialized applications).

Booleans and NULL

TRUE, FALSE, and NULL can be used as-is.

Numbers

Numbers are distinct from strings in MongoDB: "123" does not match 123. Thus, if you want to make sure numbers are sorted and matched correctly, you must make sure that they are actually saved as numbers.

<?php

$doc = array("a" => 123, "b" => "123");
$collection->insert($doc);

$doc->find(array("a" => 123));   // matches
$doc->find(array("a" => "123")); // doesn't match
$doc->find(array("a" => 123.0)); // matches
$doc->find(array("b" => 123));   // doesn't match
$doc->find(array("b" => "123")); // matches

?>

As noted above, floating point numbers do compare with/match integer numbers as one would expect.

Large Numbers

By default, on a 32-bit system, numbers are sent to the database as 32-bit integers. On a 64-bit system, they are sent as 64-bit integers. For backwards compatibility, all systems deserialize 64-bit integers as floating point numbers. Floating point numbers are not exact. If you need exact values, you must tweak your » php.ini settings.

On a 32-bit system, if mongo.long_as_object is set, 64-bit integers will be returns as MongoInt64 objects. The integer will be stored in the value field with perfect precision (as a string). You can also use MongoInt64 to save 64-bit integers on 32-bit machines.

On 64-bit systems, you can either set mongo.long_as_object or set mongo.native_long. mongo.native_long will return 64-bit integers and "normal" PHP integers. You can use MongoInt32 to save 32-bit integers on 64-bit machines.

You should set the mongo.long_as_object and mongo.native_long behavior that you plan to use, even if it is the default behavior (to protect against future changes to the defaults).

See also: » php.ini Options, MongoInt32, MongoInt64.

Strings

Strings must be UTF-8. Non-UTF-8 strings must either be converted to UTF-8 before being sent to the database or saved as binary data.

Regular expressions can be used to match strings, and are expressed using the MongoRegex class.

Binary Data

Non-UTF-8 strings, images, and any other binary data should be sent to the database using the MongoBinData type.

Dates

Dates can be created using the MongoDate class. They are stored as milliseconds since the epoch.

MongoTimestamp is not for saving dates or timestamps, it is used internally by MongoDB. Unless you are creating a tool that interacts with the internals of replication or sharding, you should use MongoDate, not MongoTimestamp.

Unique Ids

The driver will automatically create an _id field before inserting a document (unless one is specified by the user). This field is an instance of MongoId (called "ObjectId" in most other languages).

These ids are 12 bytes long and composed of:

  • 4 bytes of timestamp

    No two records can have the same id if they were inserted at different times.

  • 3 bytes machine id

    No two records can have the same id if they were inserted on different machines

  • 2 bytes thread id

    No two records can have the same id if they were inserted by different threads running on the same machine.

  • 3 bytes incrementing value

    Each time an id is created, a global counter is incremented and used as the increment value of the next id.

Thus, no two records can have the same id unless a single process on a single machine managed to insert 256^3 (over 16 million) documents in one second, overflowing the increment field.

JavaScript

MongoDB comes with a JavaScript engine, so you can embed JavaScript in queries (using a $where clause), send it directly to the database to be executed, and use it to perform aggregations.

For security, use MongoCode's scope field to use PHP variables in JavaScript. Code that does not require external values can either use MongoCode or just be a string. See the » section on security for more information about sending JavaScript to the database.

Arrays and Objects

Arrays and objects can also be saved to the database. An array with ascending numeric keys will be saved as a an array, anything else will be saved as an object.

<?php

// $scores will be saved as an array
$scores = array(98, 100, 73, 85);
$collection->insert(array("scores" => $scores));

// $scores will be saved as an object
$scores = array("quiz1" => 98, "midterm" => 100, "quiz2" => 73, "final" => 85);
$collection->insert(array("scores" => $scores));

?>

If you query for these objects using the database shell, they will look like:

> db.students.find()
{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "scores" : [ 98, 100, 73, 85 ] }
{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "scores" : { "quiz1" : 98, "midterm" : 100, "quiz2" : 73, "final" : 85 } }

The database can also save arbitrary PHP objects (although they will be returned as associative arrays). The fields are used for the key/value pairs. For example, a blog post might look like:

<?php

  // the blog post class
  class Post {

  var $author;
  var $content;
  var $comments = array();
  var $date;

  public function __construct($author, $content) {
  $this->author = $author;
$this->content = $content;
    $this->date = new MongoDate();
  }

  public function setTitle($title) {
    $this->title = $title;
  }
}

// create a simple blog post and insert it into the database
$post1 = new Post("Adam", "This is a blog post");

$blog->insert($post1);

// there is nothing restricting the type of the "author" field, so we can make
// it a nested object
$author = array("name" => "Fred", "karma" => 42);
$post2 = new Post($author, "This is another blog post.");

// we create an extra field by setting the title
$post2->setTitle("Second Post");

$blog->insert($post2);

?>

From the database shell, this will look something like:

> db.blog.find()
{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "author" : "Adam", "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" }
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "author" : { "name" : "Fred", "karma" : 42 }, "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "title" : "Second Post" }

The driver will not detect reference loops in arrays and objects. For example, this will give a fatal error:

<?php

$collection->insert($GLOBALS);

?>

Fatal error: Nesting level too deep - recursive dependency?
If you need to insert documents that may have recursive dependency, you have to check for it yourself before passing it to the driver.

MongoCursor::valid
MongoId
Mongo


Класс MongoId

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Уникальный идентификатор, созданный для объектов базы данных. При добавлении записи в базу данных без поля _id, такое поле будет автоматически добавлено и инициализировано объектом MongoId. Если хранимые записи предположительно и так будут содержать уникальные поля, (такие как имя пользователя или отметку времени), возможно использовать их вместо поля _id , и это не будет изменено MongoId.

Экземпляры класса MongoId выполняют роль автоинкремента реляционных базах данных: обеспечивает кортеж уникальным ключом в случае отсутствия такового. Однако автоинкремент не очень хорошо работает с секционированными (sharded) базами данных, так как в таком случае невозможно обеспечить быстрый поиск следующего инкремента. Данный класс удовлетворяет требованиям к быстрой генерации значения, уникального в пределах секции.

Каждый MongoId состоит из 12 байт (преобразующихся в 24 шестнадцатеричных символа). Первые 4 байта занимает отметка времени, следующие 3 хеш имени хоста клиента, следующие 2 - последние 2 значащих байта идентификатора процесса исполнения скрипта, и последние 2 байта - автоинкрементное значение.

Объекты MongoIdмогуть быть сериализованы и десериализованы. Пример сериализованного значения:

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Обзор классов

MongoId {
public string $MongoId->$id = NULL ;
/* Методы */
MongoId::__construct ([ string $id = NULL ] )
public static string MongoId::getHostname ( void )
public int MongoId::getInc ( void )
public int MongoId::getPID ( void )
public int MongoId::getTimestamp ( void )
public static MongoId MongoId::__set_state ( array $props )
public string MongoId::__toString ( void )
}

Поля

$id
Поле содержит строчное представление объекта.

Смотрите также

Документация MongoDB об » идентификаторах.

Содержание

  • MongoId::__construct — Creates a new id
  • MongoId::getHostname — Gets the hostname being used for this machine's ids
  • MongoId::getInc — Gets the incremented value to create this id
  • MongoId::getPID — Gets the process id used to create this
  • MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created
  • MongoId::__set_state — Create a dummy MongoId
  • MongoId::__toString — Returns a hexidecimal representation of this id
Types
MongoId::__construct
Types


Creates a new id

MongoId
MongoId::getHostname
MongoId
PHP Manual

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__construct — Creates a new id

Описание

MongoId::__construct ([ string $id = NULL ] )

Список параметров

id

A string to use as the id. Must be 24 hexidecimal characters. If an invalid string is passed to this constructor, the constructor will ignore it and create a new id value.

Возвращаемые значения

Returns a new id.

Примеры

Пример #1 MongoId::__construct() example

This example shows how to create a new id. This is seldom necessary, as the driver adds an id to arrays automatically before storing them in the database.

<?php

  $id1 = new MongoId();
  echo "$id1\n";

  $id2 = new MongoId();
  echo "$id2\n";

  ?>

Результатом выполнения данного примера будет что-то подобное:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Пример #2 Parameter example

This example shows how to use a string parameter to initialize a MongoId with a given value.

<?php
  $id1 = new MongoId();

  // create a new id from $id1
  $id2 = new MongoId("$id1");

  // show that $id1 and $id2 have the same hexidecimal value
  var_dump($id1 == $id2);
  ?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)

Смотрите также

  • MongoId::__toString() - Returns a hexidecimal representation of this id

MongoId
MongoId::getHostname
MongoId


Gets the hostname being used for this machine's ids

MongoId::__construct
MongoId::getInc
MongoId
PHP Manual

MongoId::getHostname

(PECL mongo >= 1.0.8)

MongoId::getHostname — Gets the hostname being used for this machine's ids

Описание

public static string MongoId::getHostname ( void )

This returns the hostname MongoId is using to generate unique ids. This should be the same value gethostname() returns.

It is identical to the function:

<?php

public static function getHostname() {
    return gethostname();
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the hostname.

MongoId::__construct
MongoId::getInc
MongoId


Gets the incremented value to create this id

MongoId::getHostname
MongoId::getPID
MongoId
PHP Manual

MongoId::getInc

(PECL mongo >= 1.0.11)

MongoId::getInc — Gets the incremented value to create this id

Описание

public int MongoId::getInc ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the incremented value used to create this MongoId.

MongoId::getHostname
MongoId::getPID
MongoId


Gets the process id used to create this

MongoId::getInc
MongoId::getTimestamp
MongoId
PHP Manual

MongoId::getPID

(PECL mongo >= 1.0.11)

MongoId::getPID — Gets the process id used to create this

Описание

public int MongoId::getPID ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the PID used to create this MongoId.

MongoId::getInc
MongoId::getTimestamp
MongoId


Gets the number of seconds since the epoch that this id was created

MongoId::getPID
MongoId::__set_state
MongoId
PHP Manual

MongoId::getTimestamp

(PECL mongo >= 1.0.1)

MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created

Описание

public int MongoId::getTimestamp ( void )

This returns the same thing as running time() when the id is created.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of seconds since the epoch that this id was created. There are only four bytes of timestamp stored, so MongoDate is a better choice for storing exact or wide-ranging times.

MongoId::getPID
MongoId::__set_state
MongoId


Create a dummy MongoId

MongoId::getTimestamp
MongoId::__toString
MongoId
PHP Manual

MongoId::__set_state

(PECL mongo >= 1.0.8)

MongoId::__set_state — Create a dummy MongoId

Описание

public static MongoId MongoId::__set_state ( array $props )

This function is only used by PHP internally, it shouldn't need to ever be called by the user.

It is identical to the function:

<?php

public static function __set_state($props) {
    return new MongoId("000000000000000000000000");
}

?>

Список параметров

props

Theoretically, an array of properties used to create the new id. However, as MongoId instances have no properties, this is not used.

Возвращаемые значения

A new id with the value "000000000000000000000000".

MongoId::getTimestamp
MongoId::__toString
MongoId


Returns a hexidecimal representation of this id

MongoId::__set_state
MongoCode
MongoId
PHP Manual

MongoId::__toString

(PECL mongo >= 0.8.0)

MongoId::__toString — Returns a hexidecimal representation of this id

Описание

public string MongoId::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This id.

Примеры

Пример #1 MongoId::__toString() example

<?php

$m = new Mongo();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert(array( "x" => "y" ));
$collection->insert(array( "x" => "y" ));

$cursor = $collection->find();
$r1 = $cursor->next();
$r2 = $cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";

?>

Результатом выполнения данного примера будет что-то подобное:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d
MongoId::__set_state
MongoCode
MongoId


The MongoCode class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents JavaScript code for the database.

MongoCode objects are composed of two parts: a string of code and an optional scope. The string of code must be valid JavaScript. The scope is a associative array of variable name/value pairs.

Обзор классов

MongoCode {
/* Методы */
__construct ( string $code [, array $scope = array() ] )
public string __toString ( void )
}

Содержание

  • MongoCode::__construct — Creates a new code object
  • MongoCode::__toString — Returns this code as a string
MongoId::__toString
MongoCode::__construct
Types


Creates a new code object

MongoCode
MongoCode::__toString
MongoCode
PHP Manual

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — Creates a new code object

Описание

MongoCode::__construct ( string $code [, array $scope = array() ] )

Список параметров

code

A string of code.

scope

The scope to use for the code.

Возвращаемые значения

Returns a new code object.

Примеры

Пример #1 MongoCode::__construct() example

<?php

$code = new MongoCode('function() { '.
    'for(i=0;i<10;i++) {'.
        'db.foo.update({z : i}, {z : x});'.
    '}'.
    'return x-1;'.
 '}', array("x" => 4));
var_dump($code);

?>

Результатом выполнения данного примера будет что-то подобное:

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}

Пример #2 Using MongoCode() with $where

This example queries a collection for elements where the 'x' fields is less than $y. Notice that PHP objects can be passed into the JavaScript scope and that the JavaScript function returns a boolean.

<?php

$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));

?>
MongoCode
MongoCode::__toString
MongoCode


Returns this code as a string

MongoCode::__construct
MongoDate
MongoCode
PHP Manual

MongoCode::__toString

(PECL mongo >= 0.8.3)

MongoCode::__toString — Returns this code as a string

Описание

public string MongoCode::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This code, the scope is not returned.

Примеры

Пример #1 MongoCode::__toString() example

<?php

$code = new MongoCode('return x;', array("x"=>"hi"));
echo "$code\n";

$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }');
echo "$code\n";

?>

Результатом выполнения данного примера будет что-то подобное:

return x;
function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }
MongoCode::__construct
MongoDate
MongoCode


The MongoDate class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represent date objects for the database. This class should be used to save dates to the database and to query for dates. For example:

<?php

// save a date to the database
$collection->save(array("ts" => new MongoDate()));

$start = new MongoDate(strtotime("2010-01-15 00:00:00"));
$end = new MongoDate(strtotime("2010-01-30 00:00:00"));

// find dates between 1/15/2010 and 1/30/2010
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end)));

?>

MongoDB stores dates as milliseconds past the epoch. This means that dates do not contain timezone information. Timezones must be stored in a separate field if needed. Second, this means that any precision beyond milliseconds will be lost when the document is sent to/from the database.

Обзор классов

MongoDate {
/* Fields */
public int $MongoDate->sec ;
public int $usec ;
/* Методы */
MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )
public string MongoDate::__toString ( void )
}

Содержание

  • MongoDate::__construct — Creates a new date.
  • MongoDate::__toString — Returns a string representation of this date
MongoCode::__toString
MongoDate::__construct
Types


Creates a new date.

MongoDate
MongoDate::__toString
MongoDate
PHP Manual

MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__construct — Creates a new date.

Описание

MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

Creates a new date. If no parameters are given, the current time is used.

Список параметров

sec

Number of seconds since January 1st, 1970.

usec

Microseconds.

Возвращаемые значения

Returns this new date.

Примеры

Пример #1 MongoDate::__construct() example

This example demonstrates creating a new date with the current time and a new date with a given time.

<?php

$d = new MongoDate();
echo "$d\n";
$d = new MongoDate(1234567890);
echo "$d\n";
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";

?>

Результатом выполнения данного примера будет что-то подобное:

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Смотрите также

  • MongoDate::__toString() - Returns a string representation of this date

MongoDate
MongoDate::__toString
MongoDate


Returns a string representation of this date

MongoDate::__construct
MongoRegex
MongoDate
PHP Manual

MongoDate::__toString

(PECL mongo >= 0.8.1)

MongoDate::__toString — Returns a string representation of this date

Описание

public string MongoDate::__toString ( void )

Returns a string representation of this date, similar to the representation returned by microtime().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This date.

MongoDate::__construct
MongoRegex
MongoDate


The MongoRegex class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class can be used to create regular expressions. Typically, these expressions will be used to query the database and find matching strings. More unusually, they can be saved to the database and retrieved.

Mongo recognizes six regular expression flags:

  • i

    Case insensitive

  • m

    Multiline

  • x

    Can contain comments

  • l

    locale

  • s

    dotall, "." matches everything, including newlines

  • u

    match unicode

Обзор классов

MongoRegex {
/* Fields */
public string $MongoRegex->regex ;
public string $flags ;
/* Методы */
MongoRegex::__construct ( string $regex )
public string MongoRegex::__toString ( void )
}

Содержание

  • MongoRegex::__construct — Creates a new regular expression
  • MongoRegex::__toString — A string representation of this regular expression
MongoDate::__toString
MongoRegex::__construct
Types


Creates a new regular expression

MongoRegex
MongoRegex::__toString
MongoRegex
PHP Manual

MongoRegex::__construct

(PECL mongo >= 0.8.1)

MongoRegex::__construct — Creates a new regular expression

Описание

MongoRegex::__construct ( string $regex )

Creates a new regular expression.

Список параметров

regex

Regular expression string of the form /expr/flags.

Возвращаемые значения

Returns a new regular expression.

Примеры

Пример #1 MongoRegex::__construct() example

This example uses a regular expression to query for all documents with a username field matching a regular expression.

<?php

$joe_search = new MongoRegex("/j[o0]e/i");
$cursor = $collection->find(array("username" => $joe_search));

?>

Смотрите также

  • MongoRegex::__toString() - A string representation of this regular expression

MongoRegex
MongoRegex::__toString
MongoRegex


A string representation of this regular expression

MongoRegex::__construct
MongoBinData
MongoRegex
PHP Manual

MongoRegex::__toString

(PECL mongo >= 0.8.1)

MongoRegex::__toString — A string representation of this regular expression

Описание

public string MongoRegex::__toString ( void )

Returns a string representation of this regular expression.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This regular expression in the form "/expr/flags".

Примеры

Пример #1 MongoRegex::__toString() example

<?php

$r = new MongoRegex( "/[a-fA-F0-9]{16}/g" );
echo $r->regex . "\n";
echo $r->flags . "\n";
echo "$r\n";

?>

Результатом выполнения данного примера будет что-то подобное:

[a-fA-F0-9]{16}
g
/[a-fA-F0-9]{16}/g

MongoRegex::__construct
MongoBinData
MongoRegex


The MongoBinData class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

An object that can be used to store or retrieve binary data from the database.

The maximum size of a single object that can be inserted into the database is 4Mb. For data that is larger than this (movies, music, Henry Kissinger's autobiography), use MongoGridFS. For data that is smaller than 4Mb, it's probably be easier to just embed it into the document using MongoBinData.

For example, to embed an image in a document, one could write:

<?php

$profile = array("username" => "foobity",
    "pic" => new MongoBinData(file_get_contents("gravatar.jpg"))
);

$users->save($profile);

?>

This class contains a type field, which currently gives no additional functionality in the driver or the database. There are five predefined types (which are the class constants listed below), and the user can create their own (at the risk of the BSON spec catching up with them). By default, the PHP driver always uses type 2: a byte array.

Обзор классов

MongoBinData {
/* Константы */
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Fields */
public string $MongoBinData->bin ;
public int $type = 2 ;
/* Методы */
public MongoBinData::__construct ( string $data [, int $type = 2 ] )
public string MongoBinData::__toString ( void )
}

Предопределенные константы

Binary Data Types

MongoBinData::FUNC
0x01
Function.
MongoBinData::BYTE_ARRAY
0x02
Array of bytes.
MongoBinData::UUID
0x03
Universally unique identifier.
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0xf0
User-defined type.

Содержание

  • MongoBinData::__construct — Creates a new binary data object.
  • MongoBinData::__toString — The string representation of this binary data object.
MongoRegex::__toString
MongoBinData::__construct
Types


Creates a new binary data object.

MongoBinData
MongoBinData::__toString
MongoBinData
PHP Manual

MongoBinData::__construct

(PECL mongo >= 0.8.1)

MongoBinData::__construct — Creates a new binary data object.

Описание

public MongoBinData::__construct ( string $data [, int $type = 2 ] )

Creates a new binary data object.

There are five types of binary data currently recognized by the BSON spec: function (0x01), byte array (0x02), UUID (0x03), MD5 (0x05), and user defined (0x80). The default type is byte array (0x02). There is no particular difference in how the driver or server interpret different types, so by and large they are irrelevant for now. Any number (between 0 and 255) could be used for type, if the user is willing to assume the risk that the database might eventually do something with binary data based on type.

Список параметров

data

Binary data.

type

Data type.

Возвращаемые значения

Returns a new binary data object.

MongoBinData
MongoBinData::__toString
MongoBinData


The string representation of this binary data object.

MongoBinData::__construct
MongoInt32
MongoBinData
PHP Manual

MongoBinData::__toString

(PECL mongo >= 0.8.1)

MongoBinData::__toString — The string representation of this binary data object.

Описание

public string MongoBinData::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the string "<Mongo Binary Data>". To access the contents of a MongoBinData, use the bin field.

MongoBinData::__construct
MongoInt32
MongoBinData


The MongoInt32 class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The class can be used to save 32-bit integers to the database on a 64-bit system.

Обзор классов

MongoInt32 {
/* Fields */
public string $MongoInt32->value ;
/* Методы */
public MongoInt32::__construct ( string $value )
public string MongoInt32::__toString ( void )
}

Fields

value
This is the string value of the 64-bit number. For instance, 123's value would be "123".

Содержание

  • MongoInt32::__construct — Creates a new 32-bit integer.
  • MongoInt32::__toString — Returns the string representation of this 32-bit integer.
MongoBinData::__toString
MongoInt32::__construct
Types


Creates a new 32-bit integer.

MongoInt32
MongoInt32::__toString
MongoInt32
PHP Manual

MongoInt32::__construct

(PECL mongo >= 1.0.9)

MongoInt32::__construct — Creates a new 32-bit integer.

Описание

public MongoInt32::__construct ( string $value )

Creates a new 32-bit number with the given value.

Список параметров

value

A number.

Возвращаемые значения

Returns a new integer.

MongoInt32
MongoInt32::__toString
MongoInt32


Returns the string representation of this 32-bit integer.

MongoInt32::__construct
MongoInt64
MongoInt32
PHP Manual

MongoInt32::__toString

(PECL mongo >= 1.0.9)

MongoInt32::__toString — Returns the string representation of this 32-bit integer.

Описание

public string MongoInt32::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the string representation of this integer.

MongoInt32::__construct
MongoInt64
MongoInt32


The MongoInt64 class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The class can be used to save 64-bit integers to the database on a 32-bit system.

Обзор классов

MongoInt64 {
/* Fields */
public string $MongoInt64->value ;
/* Методы */
public MongoInt64::__construct ( string $value )
public string MongoInt64::__toString ( void )
}

Fields

value
This is the string value of the 64-bit number. For instance, 123's value would be "123".

Содержание

  • MongoInt64::__construct — Creates a new 64-bit integer.
  • MongoInt64::__toString — Returns the string representation of this 64-bit integer.
MongoInt32::__toString
MongoInt64::__construct
Types


Creates a new 64-bit integer.

MongoInt64
MongoInt64::__toString
MongoInt64
PHP Manual

MongoInt64::__construct

(PECL mongo >= 1.0.9)

MongoInt64::__construct — Creates a new 64-bit integer.

Описание

public MongoInt64::__construct ( string $value )

Creates a new 64-bit number with the given value.

Список параметров

value

A number.

Возвращаемые значения

Returns a new integer.

MongoInt64
MongoInt64::__toString
MongoInt64


Returns the string representation of this 64-bit integer.

MongoInt64::__construct
MongoDBRef
MongoInt64
PHP Manual

MongoInt64::__toString

(PECL mongo >= 1.0.9)

MongoInt64::__toString — Returns the string representation of this 64-bit integer.

Описание

public string MongoInt64::__toString ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the string representation of this integer.

MongoInt64::__construct
MongoDBRef
MongoInt64


The MongoDBRef class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class can be used to create lightweight links between objects in different collections.

Motivation: Suppose we need to refer to a document in another collection. The easiest way is to create a field in the current document. For example, if we had a "people" collection and an "addresses" collection, we might want to create a link between each person document and an address document:

<?php

$people = $db->people;
$addresses = $db->addresses;

$myAddress = array("line 1" => "123 Main Street",
    "line 2" => null,
    "city" => "Springfield",
    "state" => "Vermont",
    "country" => "USA");

// save the address
$addresses->insert($myAddress);

// save a person with a reference to the address
$me = array("name" => "Fred", "address" => $myAddress['_id']);
$people->insert($me);

?>

Then, later on, we can find the person's address by querying the "addresses" collection with the MongoId we saved in the "people" collection.

Suppose now that we have a more general case, where we don't know which collection (or even which database) contains the referenced document. MongoDBRef is a good choice for this case, as it is a common format that all of the drivers and the database understand.

If each person had a list of things they liked which could come from multiple collections, such as "hobbies", "sports", "books", etc., we could use MongoDBRefs to keep track of what "like" went with what collection:

<?php

$people = $db->selectCollection("people");

// model trains are in the "hobbies" collection
$trainRef = MongoDBRef::create("hobbies", $modelTrains['_id']);
// soccer is in the "sports" collection
$soccerRef = MongoDBRef::create("sports", $soccer['_id']);

// now we'll know what collections the items in the "likes" array came from when
// we retrieve this document
$people->insert(array("name" => "Fred", "likes" => array($trainRef, $soccerRef)));

?>

Database references can be thought of as hyperlinks: they give the unique address of another document, but they do not load it or automatically follow the link/reference.

A database reference is just a normal associative array, not an instance of MongoDBRef, so this class is a little different than the other data type classes. This class contains exclusively static methods for manipulating database references.

Обзор классов

MongoDBRef {
/* Методы */
public static array create ( string $collection , mixed $id [, string $database ] )
public static array get ( MongoDB $db , array $ref )
public static bool isRef ( mixed $ref )
}

Смотрите также

MongoDB core docs on » databases references.

Содержание

  • MongoDBRef::create — Creates a new database reference
  • MongoDBRef::get — Fetches the object pointed to by a reference
  • MongoDBRef::isRef — Checks if an array is a database reference
MongoInt64::__toString
MongoDBRef::create
Types


Creates a new database reference

MongoDBRef
MongoDBRef::get
MongoDBRef
PHP Manual

MongoDBRef::create

(PECL mongo >= 0.9.0)

MongoDBRef::create — Creates a new database reference

Описание

public static array MongoDBRef::create ( string $collection , mixed $id [, string $database ] )

If no database is given, the current database is used.

Список параметров

collection

Collection name (without the database name).

id

The _id field of the object to which to link.

database

Database name.

Возвращаемые значения

Returns the reference.

Примеры

Пример #1 MongoDBRef::create() example

This creates a database reference to a document in the addresses collection. The MongoCollection::getName() function returns the name of the collection (not including the database name).

<?php
$addresses = $db->addresses;
$people = $db->people;

// save $address so it has an _id
$addresses->insert($address);

// create a reference
$ref = MongoDBRef::create($addresses->getName(), $address['_id']);

// set the field in $person
$person['address'] = $ref;
$people->save($person);
?>

Смотрите также

  • MongoDB::createDBRef() - Creates a database reference
  • MongoCollection::createDBRef() - Creates a database reference

MongoDBRef
MongoDBRef::get
MongoDBRef


Fetches the object pointed to by a reference

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef
PHP Manual

MongoDBRef::get

(PECL mongo >= 0.9.0)

MongoDBRef::get — Fetches the object pointed to by a reference

Описание

public static array MongoDBRef::get ( MongoDB $db , array $ref )

Список параметров

db

Database to use.

ref

Reference to fetch.

Возвращаемые значения

Returns the document to which the reference refers or NULL if the document does not exist (the reference is broken).

Примеры

Пример #1 MongoCollection::createDBRef() example

<?php

// get $person out of the db
$person = $people->findOne();

// dereference the address
$address = MongoDBRef::get($people->db, $person['address']);

?>

Смотрите также

  • MongoDB::getDBRef() - Fetches the document pointed to by a database reference
  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef


Checks if an array is a database reference

MongoDBRef::get
MongoMinKey
MongoDBRef
PHP Manual

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Checks if an array is a database reference

Описание

public static bool MongoDBRef::isRef ( mixed $ref )

This not actually follow the reference, so it does not determine if it is broken or not. It merely checks that ref is in valid database reference format (in that it is an object or array with $ref and $id fields).

Список параметров

ref

Array or object to check.

Возвращаемые значения

Returns if ref is a reference.

MongoDBRef::get
MongoMinKey
MongoDBRef


The MongoMinKey class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

MongoMinKey is a special type used by the database that evaluates to less than any other type. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMinKey as its value will be returned first.

MongoMinKey has no associated fields, methods, or constants. It is merely the "smallest" thing that can be inserted into the database.

Обзор классов

MongoMinKey {
}

Using MongoMinKey as a value

<?php

$collection->insert(array("task" => "lunch", "do by" => new MongoMinKey));
$collection->insert(array("task" => "staff meeting", "do by" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("do by" => 1));

?>

The cursor will contain the lunch document, then the staff meeting document. The lunch document will always be returned first, regardless of what else is added to the collection (unless other documents are added with MongoMinKey in the "do by" field).

MongoDBRef::isRef
MongoMaxKey
Types


The MongoMaxKey class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

MongoMaxKey is a special type used by the database that evaluates to greater than any other type. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMaxKey as its value will be returned last.

MongoMaxKey has no associated fields, methods, or constants. It is merely the "largest" thing that can be inserted into the database.

Обзор классов

MongoMaxKey {
}

Using MongoMaxKey as a value

<?php

$collection->insert(array("task" => "dishes", "do by" => new MongoMaxKey));
$collection->insert(array("task" => "staff meeting", "do by" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("do by" => 1));

?>

The cursor will contain the staff meeting document, then the dishes document. The dishes document will always be returned last, regardless of what else is added to the collection (unless other documents are added with MongoMaxKey in the "do by" field).

MongoMinKey
MongoTimestamp
Types


The MongoTimestamp class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

MongoTimestamp is used by sharding. If you're not looking to write sharding tools, what you probably want is MongoDate.

MongoTimestamp is 4 bytes of timestamp (seconds since the epoch) and 4 bytes of increment.

This class is not for measuring time, creating a timestamp on a document or automatically adding or updating a timestamp on a document. Unless you are writing something that interacts with the sharding internals, stop, go directly to MongoDate, do not pass go, do not collect 200 dollars. This is not the class you are looking for.

If you are writing sharding tools, read on.

Обзор классов

MongoTimestamp {
/* Fields */
public int $MongoTimestamp->sec = 0 ;
public int $inc = 0 ;
/* Методы */
MongoTimestamp::__construct ([ int $sec = time() [, int $inc ]] )
public string MongoTimestamp::__toString ( void )
}

Содержание

  • MongoTimestamp::__construct — Creates a new timestamp.
  • MongoTimestamp::__toString — Returns a string representation of this timestamp
MongoMaxKey
MongoTimestamp::__construct
Types


Creates a new timestamp.

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp
PHP Manual

MongoTimestamp::__construct

(PECL mongo >= 1.0.1)

MongoTimestamp::__construct — Creates a new timestamp.

Описание

MongoTimestamp::__construct ([ int $sec = time() [, int $inc ]] )

Creates a new timestamp. If no parameters are given, the current time is used and the increment is automatically provided. The increment is set to 0 when the module is loaded and is incremented every time this constructor is called (without the $inc parameter passed in).

Список параметров

sec

Number of seconds since January 1st, 1970.

inc

Increment.

Возвращаемые значения

Returns this new timestamp.

Смотрите также

  • MongoTimestamp::__toString() - Returns a string representation of this timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp


Returns a string representation of this timestamp

MongoTimestamp::__construct
Классы GridFS
MongoTimestamp
PHP Manual

MongoTimestamp::__toString

(PECL mongo >= 1.0.1)

MongoTimestamp::__toString — Returns a string representation of this timestamp

Описание

public string MongoTimestamp::__toString ( void )

Returns the "sec" field of this timestamp.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The seconds since epoch represented by this timestamp.

MongoTimestamp::__construct
Классы GridFS
MongoTimestamp


Классы GridFS

Содержание

  • MongoGridFS
  • MongoGridFSFile
  • MongoGridFSCursor
MongoTimestamp::__toString
MongoGridFS
Mongo


The MongoGridFS class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Utilities for storing and retrieving files from the database.

GridFS is a storage specification all supported drivers implement. Basically, it defines two collections: files, for file metadata, and chunks, for file content. If the file is large, it will automatically be split into smaller chunks and each chunk will be saved as a document in the chunks collection.

Each document in the files collection contains the filename, upload date, and md5 hash. It also contains a unique _id field, which can be used to query the chunks collection for the file's content. Each document in the chunks collection contains a chunk of binary data, a files_id field that matches its file's _id, and the position of this chunk in the overall file.

For example, the files document is something like:

<?php
array("_id" => 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12);
?>
and the chunks documents look like:
<?php
array("files_id" => 123456789, "n" => 0, "data" => new MongoBinData("abc"));
array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def"));
array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi"));
array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl"));
?>
Of course, the default chunk size is thousands of bytes, but that makes an unweildy example.

Inter-Language Compatibility

You should be able to use any files created by MongoGridFS with any other drivers, and visa vera. However, some drivers expect that all metadata associated with a file be in a "metadata" field. If you're going to be using other languages, it's a good idea to wrap info you might want them to see in a "metadata" field. For example, instead of:

<?php

$grid->storeFile("somefile.txt", array("date" => new MongoDate()));

?>

use something like:

<?php

$grid->storeFile("somefile.txt", array("metadata" => array("date" => new MongoDate())));

?>

The MongoGridFS Family

MongoGridFS represents the files and chunks collections. MongoGridFS extends MongoCollection, and an instance of MongoGridFS has access to all of MongoCollection methods, which act on the files collection:

<?php

$grid = $db->getGridFS();
$grid->update(array("filename" => "foo"), $newObj); // update on the files collection

?>

Another example of manipulating metadata:

<?php

// save a file
$id = $grid->storeFile("game.tgz");
$game = $grid->findOne();

// add a downloads counter
$game->file['downloads'] = 0;
$grid->save($game->file);

// increment the counter
$grid->update(array("_id" => $id), array('$inc' => array("downloads" => 1)));

?>

You can also access the chunks collection from an instance of MongoGridFS:

<?php

  $chunks = $grid->chunks; // $chunks is a normal MongoCollection
$chunks->insert(array("x" => 4));

?>

There are some methods for MongoGridFS with the same name as MongoCollection methods, that behave slightly differently. For example, MongoGridFS::remove() will remove any objects that match the criteria from the files collection and their content from the chunks collection.

To store something new in GridFS, there are a couple options. If you have a filename, you can say:

<?php

$grid->storeFile($filename, array("whatever" => "metadata", "you" => "want"));

?>

If you have a string of bytes that isn't a file, you can also store that using MongoGridFS::storeBytes():

<?php

$grid->storeBytes($bytes, array("whatever" => "metadata", "you" => "want"));

?>

Querying a MongoGridFS collection returns a MongoGridFSCursor, which behaves like a normal MongoCursor except that it returns MongoGridFSFiles instead of associative arrays.

MongoGridFSFiles can be written back to disc using MongoGridFSFile::write() or retrieved in memory using MongoGridFSFile::getBytes(). There is currently no method that automatically streams chunks, but it would be fairly easy to write by querying the $grid->chunks collection.

MongoGridFSFile objects contain a field file which contains any file metadata.

Обзор классов

extends MongoCollection {
/* Fields */
public MongoCollection $MongoGridFS->chunks = NULL ;
protected string $filesName = NULL ;
protected string $chunksName = NULL ;
/* Методы */
MongoGridFS::__construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )
public bool MongoGridFS::delete ( mixed $id )
public array MongoGridFS::drop ( void )
 public MongoGridFSCursor MongoGridFS::find
  ([ array $query = array()
 [, array $fields = array()
]] )
 public MongoGridFSFile MongoGridFS::findOne
  ([ mixed $query = array()
 [, mixed $fields = array()
]] )
public MongoGridFSFile MongoGridFS::get ( mixed $id )
public mixed MongoGridFS::put ( string $filename [, array $extra = array() ] )
 public bool MongoGridFS::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )
public mixed MongoGridFS::storeBytes ( string $bytes [, array $extra = array() [, array $options = array() ]] )
public mixed MongoGridFS::storeFile ( string $filename [, array $extra = array() [, array $options = array() ]] )
public mixed MongoGridFS::storeUpload ( string $name [, array $metadata ] )
}

Смотрите также

MongoDB core docs on » GridFS. There's also a nice intro to » saving user uploads and » adding metadata at LightCubeSolutions.com.

Содержание

  • MongoGridFS::__construct — Creates new file collections
  • MongoGridFS::delete — Delete a file from the database
  • MongoGridFS::drop — Drops the files and chunks collections
  • MongoGridFS::find — Queries for files
  • MongoGridFS::findOne — Returns a single file matching the criteria
  • MongoGridFS::get — Retrieve a file from the database
  • MongoGridFS::put — Stores a file in the database
  • MongoGridFS::remove — Removes files from the collections
  • MongoGridFS::storeBytes — Chunkifies and stores bytes in the database
  • MongoGridFS::storeFile — Stores a file in the database
  • MongoGridFS::storeUpload — Saves an uploaded file to the database
Классы GridFS
MongoGridFS::__construct
Классы GridFS


Creates new file collections

MongoGridFS
MongoGridFS::delete
MongoGridFS
PHP Manual

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Creates new file collections

Описание

MongoGridFS::__construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )

Files as stored across two collections, the first containing file meta information, the second containing chunks of the actual file. By default, fs.files and fs.chunks are the collection names used.

Use one argument to specify a prefix other than "fs":

$fs = new MongoGridFS($db, "myfiles");
uses myfiles.files and myfiles.chunks collections.

Список параметров

db

Database.

files

Optional collection name prefix.

MongoGridFS
MongoGridFS::delete
MongoGridFS


Delete a file from the database

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS
PHP Manual

MongoGridFS::delete

(PECL mongo >=1.0.8)

MongoGridFS::delete — Delete a file from the database

Описание

public bool MongoGridFS::delete ( mixed $id )

Список параметров

id

_id of the file to remove.

Возвращаемые значения

Returns if the remove was successfully sent to the database.

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS


Drops the files and chunks collections

MongoGridFS::delete
MongoGridFS::find
MongoGridFS
PHP Manual

MongoGridFS::drop

(PECL mongo >=0.9.0)

MongoGridFS::drop — Drops the files and chunks collections

Описание

public array MongoGridFS::drop ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The database response.

MongoGridFS::delete
MongoGridFS::find
MongoGridFS


Queries for files

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS
PHP Manual

MongoGridFS::find

(PECL mongo >=0.9.0)

MongoGridFS::find — Queries for files

Описание

 public MongoGridFSCursor MongoGridFS::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Список параметров

query

The query.

fields

Fields to return.

Возвращаемые значения

A MongoGridFSCursor.

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS


Returns a single file matching the criteria

MongoGridFS::find
MongoGridFS::get
MongoGridFS
PHP Manual

MongoGridFS::findOne

(PECL mongo >=0.9.0)

MongoGridFS::findOne — Returns a single file matching the criteria

Описание

 public MongoGridFSFile MongoGridFS::findOne
  ([ mixed $query = array()
 [, mixed $fields = array()
]] )

Список параметров

query

The filename or criteria for which to search.

Возвращаемые значения

Returns a MongoGridFSFile or NULL.

Примеры

Пример #1 MongoGridFS::findOne() example

Example demonstrating how to find a single file from the MongoGridFS.

<?php

$downloads = $mongo->my_db->getGridFS('downloads');

$downloads->storeFile('filename.tgz');

$download = $downloads->findOne('filename.tgz'); // instance of MongoGridFSFile

print_r($download);
?>

See MongoGridFSFile for more information about how to work with files.

Результатом выполнения данного примера будет что-то подобное:

MongoGridFSFile Object
(
    [file] => Array
        (
            [_id] => MongoId Object
                (
                )

            [filename] => filename.tgz
            [uploadDate] => MongoDate Object
                (
                    [sec] => 1274288014
                    [usec] => 467000
                )

            [chunkSize] => 262144
            [md5] => d41d8cd98f00b204e9800998ecf8427e
        )

    [gridfs:protected] => MongoGridFS Object
        (
            [chunks] => MongoCollection Object
                (
                )

            [filesName:protected] => downloads.files
            [chunksName:protected] => downloads.chunks
        )

)
MongoGridFS::find
MongoGridFS::get
MongoGridFS


Retrieve a file from the database

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS
PHP Manual

MongoGridFS::get

(PECL mongo >=1.0.8)

MongoGridFS::get — Retrieve a file from the database

Описание

public MongoGridFSFile MongoGridFS::get ( mixed $id )

Список параметров

id

_id of the file to find.

Возвращаемые значения

Returns the file, if found, or NULL.

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS


Stores a file in the database

MongoGridFS::get
MongoGridFS::remove
MongoGridFS
PHP Manual

MongoGridFS::put

(PECL mongo >=1.0.8)

MongoGridFS::put — Stores a file in the database

Описание

public mixed MongoGridFS::put ( string $filename [, array $extra = array() ] )

Список параметров

filename

The name of the file.

extra

Other metadata to add to the file saved.

Возвращаемые значения

Returns the _id of the saved object.

MongoGridFS::get
MongoGridFS::remove
MongoGridFS


Removes files from the collections

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS
PHP Manual

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Removes files from the collections

Описание

 public bool MongoGridFS::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Список параметров

query

The filename or criteria for which to search.

options

Options for the remove. Valid options are:

  • "safe"

    Check that the remove succeeded.

Возвращаемые значения

Returns if the removal was successfully sent to the database.

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS


Chunkifies and stores bytes in the database

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS
PHP Manual

MongoGridFS::storeBytes

(PECL mongo >=0.9.2)

MongoGridFS::storeBytes — Chunkifies and stores bytes in the database

Описание

public mixed MongoGridFS::storeBytes ( string $bytes [, array $extra = array() [, array $options = array() ]] )

Список параметров

bytes

A string of bytes to store.

extra

Other metadata to add to the file saved.

options

Options for the store.

  • "safe"

    Check that this store succeeded.

Возвращаемые значения

The _id of the object saved.

Ошибки

Throws MongoCursorException if the "safe" option is set and the insert fails.

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS


Stores a file in the database

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS
PHP Manual

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Stores a file in the database

Описание

public mixed MongoGridFS::storeFile ( string $filename [, array $extra = array() [, array $options = array() ]] )

Список параметров

filename

The name of the file.

extra

Other metadata to add to the file saved.

options

Options for the store.

  • "safe"

    Check that this store succeeded.

Возвращаемые значения

Returns the _id of the saved object.

Ошибки

Throws MongoCursorException if the "safe" option is set and the insert fails.

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS


Saves an uploaded file to the database

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS
PHP Manual

MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUpload — Saves an uploaded file to the database

Описание

public mixed MongoGridFS::storeUpload ( string $name [, array $metadata ] )

Stores files directly from a POST to the database. For example, suppose you had the following HTML form:

<form method="POST" enctype="multipart/form-data">
     Please upload a profile picture: <input type="file" name="pic"/>
     <input type="submit"/>
</form>

If you wanted to store this upload in MongoDB, you could do:

<?php

$grid->storeUpload("pic", array("username" => "joe"));

?>

Note that the "name" field in HTML matches the name parameter.

Список параметров

name

The name field of the uploaded file.

metadata

An array of extra fields for the uploaded file.

Возвращаемые значения

Returns the _id of the uploaded file.

Список изменений

Версия | Описание
1.2.5 | Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS


The MongoGridFSFile class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A database file object.

Обзор классов

MongoGridFSFile {
/* Fields */
public array $MongoGridFSFile->file = NULL ;
protected MongoGridFS $gridfs = NULL ;
/* Методы */
MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public string MongoGridFSFile::getBytes ( void )
public string MongoGridFSFile::getFilename ( void )
public int MongoGridFSFile::getSize ( void )
public int MongoGridFSFile::write ([ string $filename = NULL ] )
}

Содержание

  • MongoGridfsFile::__construct — Create a new GridFS file
  • MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes
  • MongoGridFSFile::getFilename — Returns this file's filename
  • MongoGridFSFile::getSize — Returns this file's size
  • MongoGridFSFile::write — Writes this file to the filesystem
MongoGridFS::storeUpload
MongoGridfsFile::__construct
Классы GridFS


Create a new GridFS file

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile
PHP Manual

MongoGridfsFile::__construct

(PECL mongo >=0.9.0)

MongoGridfsFile::__construct — Create a new GridFS file

Описание

MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )

Список параметров

gridfs

The parent MongoGridFS instance.

file

A file from the database.

Возвращаемые значения

Returns a new MongoGridFSFile.

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile


Returns this file's contents as a string of bytes

MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile
PHP Manual

MongoGridFSFile::getBytes

(PECL mongo >=0.9.0)

MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes

Описание

public string MongoGridFSFile::getBytes ( void )

Warning: this will load the file into memory. If the file is bigger than your memory, this will cause problems!

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string of the bytes in the file.

Примеры

Пример #1 MongoGridFSFile::getBytes() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');

header('Content-type: image/png;');
echo $image->getBytes();
?>
MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile


Returns this file's filename

MongoGridFSFile::getBytes
MongoGridFSFile::getSize
MongoGridFSFile
PHP Manual

MongoGridFSFile::getFilename

(PECL mongo >=0.9.0)

MongoGridFSFile::getFilename — Returns this file's filename

Описание

public string MongoGridFSFile::getFilename ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the filename.

MongoGridFSFile::getBytes
MongoGridFSFile::getSize
MongoGridFSFile


Returns this file's size

MongoGridFSFile::getFilename
MongoGridFSFile::write
MongoGridFSFile
PHP Manual

MongoGridFSFile::getSize

(PECL mongo >=0.9.0)

MongoGridFSFile::getSize — Returns this file's size

Описание

public int MongoGridFSFile::getSize ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns this file's size

MongoGridFSFile::getFilename
MongoGridFSFile::write
MongoGridFSFile


Writes this file to the filesystem

MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile
PHP Manual

MongoGridFSFile::write

(PECL mongo >=0.9.0)

MongoGridFSFile::write — Writes this file to the filesystem

Описание

public int MongoGridFSFile::write ([ string $filename = NULL ] )

Список параметров

filename

The location to which to write the file. If none is given, the stored filename will be used.

Возвращаемые значения

Returns the number of bytes written.

Примеры

Пример #1 MongoGridFSFile::write() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');
$image->write('/path/to/write/jwage.png');
?>
MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile


The MongoGridFSCursor class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Cursor for database file results.

Обзор классов

extends MongoCursor {
/* Fields */
protected MongoGridFS $MongoGridFSCursor->gridfs = NULL ;
/* Методы */
MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )
public MongoGridFSFile MongoGridFSCursor::current ( void )
public MongoGridFSFile MongoGridFSCursor::getNext ( void )
public string MongoGridFSCursor::key ( void )
}

Содержание

  • MongoGridFSCursor::__construct — Create a new cursor
  • MongoGridFSCursor::current — Returns the current file
  • MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor
  • MongoGridFSCursor::key — Returns the current result's filename
MongoGridFSFile::write
MongoGridFSCursor::__construct
Классы GridFS


Create a new cursor

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::__construct

(PECL mongo >=0.9.0)

MongoGridFSCursor::__construct — Create a new cursor

Описание

MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )

Список параметров

gridfs

Related GridFS collection.

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Возвращаемые значения

Returns the new cursor.

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor


Returns the current file

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::current

(PECL mongo >=0.9.0)

MongoGridFSCursor::current — Returns the current file

Описание

public MongoGridFSFile MongoGridFSCursor::current ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current file.

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor


Return the next file to which this cursor points, and advance the cursor

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::getNext

(PECL mongo >=0.9.0)

MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor

Описание

public MongoGridFSFile MongoGridFSCursor::getNext ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the next file.

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor


Returns the current result's filename

MongoGridFSCursor::getNext
Дополнительно
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Returns the current result's filename

Описание

public string MongoGridFSCursor::key ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current result's filename.

MongoGridFSCursor::getNext
Дополнительно
MongoGridFSCursor


Дополнительно

Содержание

  • MongoLog
  • MongoPool
MongoGridFSCursor::key
MongoLog
Mongo


The MongoLog class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Logging can be used to get detailed information about what the driver is doing. With PHP-CLI, log output will be printed to stderr. Under an app server, log messages will generally be printed to an error log.

Logging is turned off, by default. This class allows you to turn on specific levels of logging for specific parts of the driver. Some examples:

<?php

// print every log message possible
MongoLog::setLevel(MongoLog::ALL); // all log levels
MongoLog::setModule(MongoLog::ALL); // all parts of the driver

// print significant events about replica set failover
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// print info- and trace-level events from replica sets and connection pooling
MongoLog::setLevel(MongoLog::INFO|MongoLog::TRACE);
MongoLog::setModule(MongoLog::RS|MongoLog::POOL);

?>

Обзор классов

MongoLog {
/* Константы */
const int NONE ;
const int ALL ;
level constants {
const int WARNING ;
const int INFO ;
const int FINE ;
module constants {
const int RS ;
const int POOL ;
const int IO ;
/* Fields */
public int $MongoLog->level ;
public int $module ;
/* Методы */
MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )
public string MongoDate::__toString ( void )
}

Предопределенные константы

MongoLog Constants

These constants can be used by both MongoLog::setLevel() and MongoLog::setModule().

MongoLog::NONE
Constant for turning logging off.
MongoLog::ALL
Constant for logging everything.

MongoLog Level Constants

These constants can be used by MongoLog::setLevel().

MongoLog::WARNING
This will print log messages about somewhat exceptional but not-quite-exception-worthy happenings.
MongoLog::INFO
Logs events that may be of interest to administrators, but are not particularly noteworthy.
MongoLog::FINE
Logs most events that the driver performs. Depending on the module being logged, this can be extremely noisy and is primarily for debugging.

MongoLog Module Constants

These constants can be used by MongoLog::setModule().

MongoLog::RS
Log replica set activity. Failovers, pinging, chosing secondaries to read from, etc.
MongoLog::POOL
Log connection pool activity. Creating new connections, reusing connections, and closing connections.
MongoLog::IO
Logs traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.

Содержание

  • MongoLog::getLevel — Gets the log level
  • MongoLog::getModule — Gets the modules currently being logged
  • MongoLog::setLevel — Sets logging level
  • MongoLog::setModule — Sets driver functionality to log
Дополнительно
MongoLog::getLevel
Дополнительно


Gets the log level

MongoLog
MongoLog::getModule
MongoLog
PHP Manual

MongoLog::getLevel

(Информация о версии неизвестна, возможно, только в SVN)

MongoLog::getLevel — Gets the log level

Описание

public static int MongoLog::getLevel ( void )

This can be used to see the log level. Use the constants described in the MongoLog section with bitwise operators to check the level.

<?php

if (MongoLog::getLevel() & MongoLog::FINE) {
    echo "lots 'o logs\n";
}

if (MongoLog::getLevel() ^ MongoLog::NONE) {
    echo "logging, at least a little\n";
}

if (MongoLog::getLevel() == MongoLog::ALL) {
    echo "logging at the highest levels\n";
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current level.

MongoLog
MongoLog::getModule
MongoLog


Gets the modules currently being logged

MongoLog::getLevel
MongoLog::setLevel
MongoLog
PHP Manual

MongoLog::getModule

(Информация о версии неизвестна, возможно, только в SVN)

MongoLog::getModule — Gets the modules currently being logged

Описание

public static int MongoLog::getModule ( void )

This function can be used to see which parts of the driver's functionality are being logged. Use the constants described in the MongoLog section with bitwise operators to check if specific modules are being logged.

<?php

if (MongoLog::getModule() & MongoLog::RS) {
    echo "logging replica sets\n";
}

if (MongoLog::getModule() ^ MongoLog::NONE) {
    echo "logging something\n";
}

if ((MongoLog::getModule() & MongoLog::IO) == 0) {
    echo "not logging io\n";
}

?>

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the modules currently being logged.

MongoLog::getLevel
MongoLog::setLevel
MongoLog


Sets logging level

MongoLog::getModule
MongoLog::setModule
MongoLog
PHP Manual

MongoLog::setLevel

(Информация о версии неизвестна, возможно, только в SVN)

MongoLog::setLevel — Sets logging level

Описание

public static void MongoLog::setLevel ( int $level )

This function can be used to set how verbose logging should be and the types of activities that should be logged. Use the constants described in the MongoLog section with bitwise operators to specify levels.

<?php

// first, turning on logging for a module
MongoLog::setModule(MongoLog::POOL);

// log messages of every level
MongoLog::setLevel(MongoLog::ALL);

// log warnings and info
MongoLog::setLevel(MongoLog::WARNING|MongoLog::INFO);

// log everything except fine activity
MongoLog::setLevel(MongoLog::ALL & (~MongoLog::FINE));

?>

Note that you must also call MongoLog::setModule() to choose what part of the driver to log.

Список параметров

level

The levels you would like to log.

MongoLog::getModule
MongoLog::setModule
MongoLog


Sets driver functionality to log

MongoLog::setLevel
MongoPool
MongoLog
PHP Manual

MongoLog::setModule

(Информация о версии неизвестна, возможно, только в SVN)

MongoLog::setModule — Sets driver functionality to log

Описание

public static void MongoLog::setModule ( int $module )

This function can be used to set which parts of the driver's functionality should be logged. Use the constants described in the MongoLog section with bitwise operators to specify modules.

<?php

// first, turning up the logging level
MongoLog::setLevel(MongoLog::ALL);

// log replica set activity
MongoLog::setModule(MongoLog::RS);

// log replica sets and connection pooling
MongoLog::setModule(MongoLog::RS|MongoLog::ALL);

// log everything except IO activity
MongoLog::setModule(MongoLog::ALL & (~MongoLog::IO));

?>

Note that you must also call MongoLog::setLevel() to turn on logging.

Список параметров

module

The module(s) you would like to log.

MongoLog::setLevel
MongoPool
MongoLog


The MongoPool class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

In version 1.2.0 of the driver, built-in connection pooling was introduced. This class gives you some control and information about pooling.

Замечание:

The functions in this class were originally static members of Mongo. It is highly recommended that you use these functions in the future, as the static Mongo functions are considered deprecated.

Обзор классов

MongoPool {
/* Методы */
public static int getSize ( void )
public array info ( void )
public static bool setSize ( int $size )
}

Содержание

  • MongoPool::getSize — Get pool size for connection pools
  • MongoPool::info — Returns information about all connection pools.
  • MongoPool::setSize — Set the size for future connection pools.
MongoLog::setModule
MongoPool::getSize
Дополнительно


Get pool size for connection pools

MongoPool
MongoPool::info
MongoPool
PHP Manual

MongoPool::getSize

(Информация о версии неизвестна, возможно, только в SVN)

MongoPool::getSize — Get pool size for connection pools

Описание

public static int MongoPool::getSize ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current pool size.

Примеры

Пример #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".MongoPool::getSize()."\n";

echo "setting pool size to 200\n";

MongoPool::setSize(200);

// pool size is 200
echo "pool size is: ".MongoPool::getSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Смотрите также

  • MongoPool::setSize() - Set the size for future connection pools.
  • MongoPool::info() - Returns information about all connection pools.
  • The connection documentation.

MongoPool
MongoPool::info
MongoPool


Returns information about all connection pools.

MongoPool::getSize
MongoPool::setSize
MongoPool
PHP Manual

MongoPool::info

(Информация о версии неизвестна, возможно, только в SVN)

MongoPool::info — Returns information about all connection pools.

Описание

public array MongoPool::info ( void )

Returns an array of information about all connection pools.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by Mongo instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of Mongo before we exhausted this pool (assuming no instances of Mongo went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

total

The total number of connections allowed for this pool. This should be greater than or equal to "in use" + "in pool" (or -1).

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

waiting

If you have capped the pool size, workers requesting connections from the pool may block until other workers return their connections. This field shows how many milliseconds workers have blocked for connections to be released. If this number keeps increasing, you may want to use MongoPool::setSize() to add more connections to your pool.

MongoPool::getSize
MongoPool::setSize
MongoPool


Set the size for future connection pools.

MongoPool::info
Functions
MongoPool
PHP Manual

MongoPool::setSize

(Информация о версии неизвестна, возможно, только в SVN)

MongoPool::setSize — Set the size for future connection pools.

Описание

public static bool MongoPool::setSize ( int $size )

Sets the max number of connections new pools will be able to create.

Список параметров

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Возвращаемые значения

Returns the former value of pool size.

Примеры

Пример #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
MongoPool::setSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

Результатом выполнения данного примера будет что-то подобное:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Смотрите также

  • MongoPool::getSize() - Get pool size for connection pools
  • MongoPool::info() - Returns information about all connection pools.
  • The connection documentation.

MongoPool::info
Functions
MongoPool


Functions

Содержание

  • Mongo Функции
MongoPool::setSize
Mongo Функции
Mongo


Mongo Функции

Содержание

  • bson_decode — Преобразовует объект BSON в массив PHP
  • bson_encode — Преобразовует переменную PHP в строку BSON
Functions
bson_decode
Functions


Преобразовует объект BSON в массив PHP

Mongo Функции
bson_encode
Mongo Функции
PHP Manual

bson_decode

(PECL mongo >=1.0.1)

bson_decode — Преобразовует объект BSON в массив PHP

Описание

array bson_decode ( string $bson )

Функция нестабильная и совершенно бесполезна для 99% пользователей. Может быть полезна только в случае если вы пишите что-нибудь странное, как, например, написание собственного драйвера поверх стандартного драйвера PHP.

Список параметров

bson

Преобразуемый BSON объект.

Возвращаемые значения

Возвращает десериализованный BSON объект.

Mongo Функции
bson_encode
Mongo Функции


Преобразовует переменную PHP в строку BSON

bson_decode
Exceptions
Mongo Функции
PHP Manual

bson_encode

(PECL mongo >=1.0.1)

bson_encode — Преобразовует переменную PHP в строку BSON

Описание

string bson_encode ( mixed $anything )

Функция нестабильна и совершенно бесполезна для 99% пользователей. Может быть полезна только в случае если вы пишите что-нибудь странное, как, например, написание собственного драйвера поверх стандартного драйвера PHP.

Список параметров

anything

Преобразуемая переменная.

Возвращаемые значения

Возвращает сериализованную строку.

bson_decode
Exceptions
Mongo Функции


Exceptions

Содержание

  • MongoException
  • MongoCursorException
  • MongoCursorTimeoutException
  • MongoConnectionException
  • MongoGridFSException

VMWare Oddities

If you are running VMWare on Windows and are using CIFS, pausing the VM will cause CIFS to go out of sync and cause weird errors on un-pausing it ("The Mongo object has not been correctly initialized by its constructor"). Permanently mounting the Windows shares will fix this and you'll be able to pause and unpause at will.

To permanently mount the Windows shares, run:

$ sudo update-rc.d -f umountnfs.sh remove
$ sudo update-rc.d umountnfs.sh stop 15 0 6 .

See » the Ubuntu docs for the most up-to-date instructions.

bson_encode
MongoException
Mongo


The MongoException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Default Mongo exception.

This covers a bunch of different error conditions that may eventually be moved to more specific exceptions, but will always extend MongoException.

  • The MongoSomething object has not been correctly initialized by its constructor

    Code: 0

    Probably your Mongo object is not connected to a database server.

  • zero-length keys are not allowed, did you use $ with double quotes?

    Code: 1

    You tried to save "" as a key. You generally should not do this. "" can mess up subobject access and is used by MongoDB internally. However, if you really want, you can set mongo.allow_empty_keys to true in your php.ini file to override this sanity check. If you override this, it is highly recommended that you set error checking to strict to avoid string interpolation errors.

  • '.' not allowed in key: <key>

    Code: 2

    You attempted to write a key with '.' in it, which is prohibited.

  • insert too large: <size>, max: <max>

    Code: 3

    You're attempting to send too much data to the database at once: the database will only accept inserts up to a certain size (currently 16 MB).

  • no elements in doc

    Code: 4

    You're attempting to save a document with no fields.

  • size of BSON doc is <size> bytes, max <max>MB

    Code: 5

    You're attempting to save a document that is larger than MongoDB can save.

  • no documents given

    Code: 6

    You're attempting to batch insert an empty array of documents.

  • MongoCollection::group takes an array, object, or MongoCode key

    Code: 7

    Wrong type parameter send to MongoCollection::group().

  • field names must be strings

    Code: 8

    You should format field selectors as array("field1" => 1, "field2" => 1, ..., "fieldN" => 1).

  • invalid regex

    Code: 8

    The regex passed to MongoRegex is not of the correct form.

  • MongoDBRef::get: $ref field must be a string

    Code: 10

  • MongoDBRef::get: $db field must be a string

    Code: 11

  • non-utf8 string: <str>

    Code: 12

    This error occurs if you attempt to send a non-utf8 string to the database. All strings going into the database should be UTF8. See php.ini options for the transition option of quieting this exception.

  • mutex error: <err>

    Code: 13

    The driver uses mutexes for synchronizing requests and responses in multithreaded environments. This is a fairly serious error and may not have a stack trace. It's unusual and should be reported to maintainers with any system information and steps to reproduce that you can provide.

  • index name too long: <len>, max <max> characters

    Code: 14

    Indexes with names longer than 128 characters cannot be created. If you get this error, you should use MongoCollection::ensureIndex()'s "name" option to create a shorter name for your index.

Обзор классов

extends Exception {
}
Exceptions
MongoCursorException
Exceptions


The MongoCursorException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Caused by accessing a cursor incorrectly or a error receiving a reply. Note that this can be thrown by any database request that receives a reply, not just queries. Writes, commands, and any other operation that sends information to the database and waits for a response can throw a MongoCursorException. The only exception is new Mongo() (creating a new connection), which will only throw MongoConnectionExceptions.

This returns a specific error message to help diagnose the problem and a numeric error code associated with the cause of the exception.

For example, suppose you tried to insert two documents with the same _id:

<?php

try {
    $collection->insert(array("_id" => 1), array("safe" => true));
    $collection->insert(array("_id" => 1), array("safe" => true));
}
catch (MongoCursorException $e) {
    echo "error message: ".$e->getMessage()."\n";
    echo "error code: ".$e->getCode()."\n";
}

?>
This would produce output like:
error message: E11000 duplicate key error index: foo.bar.$_id_  dup key: { : 1 }
error code: 11000
Note that the MongoDB error code (11000) is used for the PHP error code. The PHP driver uses the "native" error code wherever possible.

The following is a list of common errors, codes, and causes. Exact errors are in italics, errors where the message can vary are described in obliques.

  • cannot modify cursor after beginning iteration

    Code: 0

    You are calling a method that sets up the query after executing the query. Reset the cursor and try again.

    An example:

    <?php

    try {
            $cursor = $collection->find();
            var_dump($cursor->getNext());

            // getNext() queried the database, it's too late to set a limit
            $cursor->limit(1);
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    // this will work, though:
    $cursor->getNext();
    $cursor->reset();
    $cursor->limit(1);

    ?>

  • Get next batch send errors

    Code: 1

    Could not send the query to the database. Make sure the database is still up and the network is okay.

  • cursor not found

    Code: 2

    The driver was trying to fetch more results from the database, but the database did not have a record of the query. This usually means that the cursor timed out on the server side: after a few minutes of inactivity, the database will kill a cursor (see MongoCursor::immortal() for information on preventing this).

    An example:

    <?php

    try {
            $cursor = $collection->find();
            $cursor->getNext();

            // sleep for 15 minutes
            sleep(60*15);

        while (    $cursor->hasNext()) {
                $cursor->getNext();
        }
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    ?>

  • cursor->buf.pos is null

    Code: 3

    This may indicate you are out of RAM or some other extraordinary circumstance.

  • couldn't get response header

    Code: 4

    A common error if the database or network goes down. This means that the driver couldn't get a response from the connection.

  • no db response

    Code: 5

    This may not even be an error, for example, the database command "shutdown" returns no response. However, if you were expecting a response, this means the database didn't give one.

  • bad response length: %d, did the db assert?

    Code: 6

    This means that the database said that its response was less than 0. This error probably indicates a network error or database corruption.

  • incomplete header

    Code: 7

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • incomplete response

    Code: 8

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • couldn't find a response

    Code: 9

    If the response was cached and now cannot be located.

  • error getting socket

    Code: 10

    The socket was closed or encountered an error. The driver should automatically reconnect (if possible) on the next operation.

  • couldn't find reply, please try again

    Code: 11

    The driver saves any database responses it cannot immediately match with a request. This exception occurs if the driver has already passed your request's response and cannot find your response in its cache.

  • error getting database response: errstr

    WSA error getting database response: errstr

    "errstr" is an io error reported directly from the C socket subsystem. On Windows, the error message is prefixed with "WSA".

  • Timeout error

    Code: 13

    If there was an error while waiting for a query to complete.

  • couldn't send query: <various>

    Code: 14

    C socket error on send.

  • max number of retries exhausted, couldn't send query

    Code: 19

    The driver will automatically retry "plain" queries (not commands) a couple of times if the first attempt failed for certain reasons. This is to cause fewer exceptions during replica set failover (although you will probably still have to deal with some) and gloss over transient network issues.

    This can also be caused by the driver not being able to reconnect at all to the database (if, for example, the database is unreachable).

    Version 1.2.2+.

Errors passed through by the database

Database errors should always trigger MongoCursorExceptions on queries. Error messages and codes are sent directly from the database and you should be able to see matching errors in the database log.

A few common database errors are listed below:

  • E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }

    Code: 11000

    Database error for duplicate keys.

  • not master

    Codes: 10107, 13435, and 10058

    Not master errors, piped through by the database. Each of these will cause the driver to disconnect and attempt to find a new master. The actual error you get on failover may not be a "not master" error, depending on when the change in master occurs.

Обзор классов

extends MongoException {
}
MongoException
MongoCursorTimeoutException
Exceptions


The MongoCursorTimeoutException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Caused by a query timing out. You can set the length of time to wait before this exception is thrown by calling MongoCursor::timeout() on the cursor or setting MongoCursor::$timeout. The static variable is useful for queries such as database commands and MongoCollection::findOne(), both of which implicitly use cursors.

Обзор классов

extends MongoCursorException {
}
MongoCursorException
MongoConnectionException
Exceptions


The MongoConnectionException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Thrown when the driver fails to connect to the database.

There are a number of possible error messages to help you diagnose the connection problem. These are:

  • No server name given.

    This error occurs if you pass in "" as the server name, probably because of an typo with string interpolation, e.g., "$servr" instead of "$server".

  • failed to get host [hostname] or port [portnum] from [server].

    This indicated that the server string was malformed. "[hostname]" and "[portnum]" will be as much as the driver could dicipher of it.

  • Operation in progress

    Connecting to the database timed out.

  • Transport endpoint is not connected

    Generally means that the connection string isn't correct, the driver couldn't even find the database server.

  • couldn't determine master

    Neither server in a paired connection appeared to be master.

  • couldn't get host info for [server]

    This indicated that DNS could not resolve the server address you gave. This could easily be caused by a typo, for example, "server" instead of "$server".

  • Invalid Argument

    This can be caused by attempting to connect to a machine that is up but that the database isn't actually running on. Make sure that you've started the database server before connecting.

  • Permission denied

    This means that the socket could not be opened due to permissions issues. On Red Hat variants, this can be caused by a default setting that does not allow Apache to create network connections. You can override this setting by running:

    $ /usr/sbin/setsebool -P httpd_can_network_connect 1
    then restarting Apache.

If the error message is not listed above, it is probably an error from the C socket, and you can search the web for its usual cause.

Обзор классов

extends MongoException {
}
MongoCursorTimeoutException
MongoGridFSException
Exceptions


The MongoGridFSException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Thrown when there are errors reading or writing files to or from the database.

Обзор классов

extends MongoException {
}
MongoConnectionException
mSQL
Exceptions


mSQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • mSQL Функции
    • msql_affected_rows — Returns number of affected rows
    • msql_close — Close mSQL connection
    • msql_connect — Open mSQL connection
    • msql_create_db — Create mSQL database
    • msql_createdb — Псевдоним msql_create_db
    • msql_data_seek — Move internal row pointer
    • msql_db_query — Send mSQL query
    • msql_dbname — Псевдоним msql_result
    • msql_drop_db — Drop (delete) mSQL database
    • msql_error — Returns error message of last msql call
    • msql_fetch_array — Fetch row as array
    • msql_fetch_field — Get field information
    • msql_fetch_object — Fetch row as object
    • msql_fetch_row — Get row as enumerated array
    • msql_field_flags — Get field flags
    • msql_field_len — Get field length
    • msql_field_name — Get the name of the specified field in a result
    • msql_field_seek — Set field offset
    • msql_field_table — Get table name for field
    • msql_field_type — Get field type
    • msql_fieldflags — Alias of msql_field_flags
    • msql_fieldlen — Alias of msql_field_len
    • msql_fieldname — Alias of msql_field_name
    • msql_fieldtable — Alias of msql_field_table
    • msql_fieldtype — Alias of msql_field_type
    • msql_free_result — Free result memory
    • msql_list_dbs — List mSQL databases on server
    • msql_list_fields — List result fields
    • msql_list_tables — List tables in an mSQL database
    • msql_num_fields — Get number of fields in result
    • msql_num_rows — Get number of rows in result
    • msql_numfields — Alias of msql_num_fields
    • msql_numrows — Alias of msql_num_rows
    • msql_pconnect — Open persistent mSQL connection
    • msql_query — Send mSQL query
    • msql_regcase — Alias of sql_regcase
    • msql_result — Get result data
    • msql_select_db — Select mSQL database
    • msql_tablename — Alias of msql_result
    • msql — Alias of msql_db_query
MongoGridFSException
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions allow you to access mSQL database servers. More information about mSQL can be found at » http://www.hughes.com.au/.

mSQL
Установка и настройка
mSQL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
mSQL


Установка

Для работы с этими функциями PHP должен быть скомпилирован с поддержкой msql при помощи опции --with-msql[=DIR] , где DIR - это директория установки mSQL, по умолчанию равная /usr/local/msql3.

Замечание: Замечание для пользователей Win32

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: msql.dll

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

mSQL configuration options
Name | Default | Changeable | Changelog
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

msql.allow_persistent boolean

Whether to allow persistent mSQL connections.

msql.max_persistent integer

The maximum number of persistent mSQL connections per process.

msql.max_links integer

The maximum number of mSQL connections per process, including persistent connections.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

There are two resource types used in the mSQL module. The first one is the link identifier for a database connection, the second a resource which holds the result of a query.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MSQL_ASSOC (integer)
MSQL_NUM (integer)
MSQL_BOTH (integer)
Типы ресурсов
Примеры
mSQL


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
mSQL


Basic usage

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a mSQL database.

Пример #1 mSQL usage example

<?php
/* Connecting, selecting database */
$link = msql_connect('localhost', 'username', 'password')
    or die('Could not connect : ' . msql_error($link));

msql_select_db('database', $link)
    or die('Could not select database');

/* Issue SQL query */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Query failed : ' . msql_error());

/* Printing results in HTML */
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($row as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Free result set */
msql_free_result($result);

/* Close connection */
msql_close($link);
?>

Примеры
mSQL Функции
Примеры


mSQL Функции

Содержание

  • msql_affected_rows — Returns number of affected rows
  • msql_close — Close mSQL connection
  • msql_connect — Open mSQL connection
  • msql_create_db — Create mSQL database
  • msql_createdb — Псевдоним msql_create_db
  • msql_data_seek — Move internal row pointer
  • msql_db_query — Send mSQL query
  • msql_dbname — Псевдоним msql_result
  • msql_drop_db — Drop (delete) mSQL database
  • msql_error — Returns error message of last msql call
  • msql_fetch_array — Fetch row as array
  • msql_fetch_field — Get field information
  • msql_fetch_object — Fetch row as object
  • msql_fetch_row — Get row as enumerated array
  • msql_field_flags — Get field flags
  • msql_field_len — Get field length
  • msql_field_name — Get the name of the specified field in a result
  • msql_field_seek — Set field offset
  • msql_field_table — Get table name for field
  • msql_field_type — Get field type
  • msql_fieldflags — Alias of msql_field_flags
  • msql_fieldlen — Alias of msql_field_len
  • msql_fieldname — Alias of msql_field_name
  • msql_fieldtable — Alias of msql_field_table
  • msql_fieldtype — Alias of msql_field_type
  • msql_free_result — Free result memory
  • msql_list_dbs — List mSQL databases on server
  • msql_list_fields — List result fields
  • msql_list_tables — List tables in an mSQL database
  • msql_num_fields — Get number of fields in result
  • msql_num_rows — Get number of rows in result
  • msql_numfields — Alias of msql_num_fields
  • msql_numrows — Alias of msql_num_rows
  • msql_pconnect — Open persistent mSQL connection
  • msql_query — Send mSQL query
  • msql_regcase — Alias of sql_regcase
  • msql_result — Get result data
  • msql_select_db — Select mSQL database
  • msql_tablename — Alias of msql_result
  • msql — Alias of msql_db_query
Basic usage
msql_affected_rows
mSQL


Returns number of affected rows

mSQL Функции
msql_close
mSQL Функции
PHP Manual

msql_affected_rows

(PHP 4, PHP 5)

msql_affected_rows — Returns number of affected rows

Описание

int msql_affected_rows ( resource $result )

Returns number of affected rows by the last SELECT, UPDATE or DELETE query associated with result.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Returns the number of affected rows on success, or FALSE on error.

Смотрите также

  • msql_query() - Send mSQL query

mSQL Функции
msql_close
mSQL Функции


Close mSQL connection

msql_affected_rows
msql_connect
mSQL Функции
PHP Manual

msql_close

(PHP 4, PHP 5)

msql_close — Close mSQL connection

Описание

bool msql_close ([ resource $link_identifier ] )

msql_close() closes the non-persistent connection to the mSQL server that's associated with the specified link identifier.

Using msql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. See also freeing resources.

Список параметров

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_connect() - Open mSQL connection
  • msql_pconnect() - Open persistent mSQL connection

msql_affected_rows
msql_connect
mSQL Функции


Open mSQL connection

msql_close
msql_create_db
mSQL Функции
PHP Manual

msql_connect

(PHP 4, PHP 5)

msql_connect — Open mSQL connection

Описание

resource msql_connect ([ string $hostname ] )

msql_connect() establishes a connection to a mSQL server.

If a second call is made to msql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling msql_close().

Список параметров

hostname

The hostname can also include a port number. e.g. hostname,port.

If not specified, the connection is established by the means of a Unix domain socket, being then more efficient then a localhost TCP socket connection.

Замечание:

While this function will accept a colon (:) as a host/port separator, a comma (,) is the preferred method.

Возвращаемые значения

Returns a positive mSQL link identifier on success, or FALSE on error.

Смотрите также

  • msql_pconnect() - Open persistent mSQL connection
  • msql_close() - Close mSQL connection

msql_close
msql_create_db
mSQL Функции


Create mSQL database

msql_connect
msql_createdb
mSQL Функции
PHP Manual

msql_create_db

(PHP 4, PHP 5)

msql_create_db — Create mSQL database

Описание

bool msql_create_db ( string $database_name [, resource $link_identifier ] )

msql_create_db() attempts to create a new database on the mSQL server.

Список параметров

database_name

The name of the mSQL database.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_drop_db() - Drop (delete) mSQL database

msql_connect
msql_createdb
mSQL Функции


Псевдоним msql_create_db

msql_create_db
msql_data_seek
mSQL Функции
PHP Manual

msql_createdb

(PHP 4, PHP 5)

msql_createdb — Псевдоним msql_create_db()

Описание

Эта функция является псевдонимом: msql_create_db().

msql_create_db
msql_data_seek
mSQL Функции


Move internal row pointer

msql_createdb
msql_db_query
mSQL Функции
PHP Manual

msql_data_seek

(PHP 4, PHP 5)

msql_data_seek — Move internal row pointer

Описание

bool msql_data_seek ( resource $result , int $row_number )

msql_data_seek() moves the internal row pointer of the mSQL result associated with the specified query identifier to point to the specified row number. The next call to msql_fetch_row() would return that row.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

row_number

The seeked row number.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_fetch_array() - Fetch row as array
  • msql_fetch_object() - Fetch row as object
  • msql_fetch_row() - Get row as enumerated array
  • msql_result() - Get result data

msql_createdb
msql_db_query
mSQL Функции


Send mSQL query

msql_data_seek
msql_dbname
mSQL Функции
PHP Manual

msql_db_query

(PHP 4, PHP 5)

msql_db_query — Send mSQL query

Описание

resource msql_db_query ( string $database , string $query [, resource $link_identifier ] )

msql_db_query() selects a database and executes a query on it.

Список параметров

database

The name of the mSQL database.

query

The SQL query.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Returns a positive mSQL query identifier to the query result, or FALSE on error.

Смотрите также

  • msql_query() - Send mSQL query

msql_data_seek
msql_dbname
mSQL Функции


Псевдоним msql_result

msql_db_query
msql_drop_db
mSQL Функции
PHP Manual

msql_dbname

(PHP 4, PHP 5)

msql_dbname — Псевдоним msql_result()

Описание

Эта функция является псевдонимом: msql_result().

msql_db_query
msql_drop_db
mSQL Функции


Drop (delete) mSQL database

msql_dbname
msql_error
mSQL Функции
PHP Manual

msql_drop_db

(PHP 4, PHP 5)

msql_drop_db — Drop (delete) mSQL database

Описание

bool msql_drop_db ( string $database_name [, resource $link_identifier ] )

msql_drop_db() attempts to drop (remove) a database from the mSQL server.

Список параметров

database_name

The name of the database.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_create_db() - Create mSQL database

msql_dbname
msql_error
mSQL Функции


Returns error message of last msql call

msql_drop_db
msql_fetch_array
mSQL Функции
PHP Manual

msql_error

(PHP 4, PHP 5)

msql_error — Returns error message of last msql call

Описание

string msql_error ( void )

msql_error() returns the last issued error by the mSQL server. Note that only the last error message is accessible with msql_error().

Возвращаемые значения

The last error message or an empty string if no error was issued.

msql_drop_db
msql_fetch_array
mSQL Функции


Fetch row as array

msql_error
msql_fetch_field
mSQL Функции
PHP Manual

msql_fetch_array

(PHP 4, PHP 5)

msql_fetch_array — Fetch row as array

Описание

array msql_fetch_array ( resource $result [, int $result_type ] )

msql_fetch_array() is an extended version of msql_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using msql_fetch_array() is NOT significantly slower than using msql_fetch_row(), while it provides a significant added value.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

result_type

A constant that can take the following values: MSQL_ASSOC, MSQL_NUM, and MSQL_BOTH with MSQL_BOTH being the default.

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 msql_fetch_array() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo $row['id'] . ': ' . $row['name'] . "\n";
}

msql_free_result($result);
?>

Список изменений

Версия | Описание
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

Смотрите также

  • msql_fetch_row() - Get row as enumerated array
  • msql_fetch_object() - Fetch row as object
  • msql_data_seek() - Move internal row pointer
  • msql_result() - Get result data

msql_error
msql_fetch_field
mSQL Функции


Get field information

msql_fetch_array
msql_fetch_object
mSQL Функции
PHP Manual

msql_fetch_field

(PHP 4, PHP 5)

msql_fetch_field — Get field information

Описание

object msql_fetch_field ( resource $result [, int $field_offset = 0 ] )

msql_fetch_field() can be used in order to obtain information about fields in a certain query result.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

The field offset. If not specified, the next field that wasn't yet retrieved by msql_fetch_field() is retrieved.

Возвращаемые значения

Returns an object containing field information. The properties of the object are:

  • name - column name

  • table - name of the table the column belongs to

  • not_null - 1 if the column cannot be NULL

  • unique - 1 if the column is a unique key

  • type - the type of the column

Смотрите также

  • msql_field_seek() - Set field offset

msql_fetch_array
msql_fetch_object
mSQL Функции


Fetch row as object

msql_fetch_field
msql_fetch_row
mSQL Функции
PHP Manual

msql_fetch_object

(PHP 4, PHP 5)

msql_fetch_object — Fetch row as object

Описание

object msql_fetch_object ( resource $result )

msql_fetch_object() is similar to msql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to msql_fetch_array(), and almost as quick as msql_fetch_row() (the difference is insignificant).

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 msql_fetch_object() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
    echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>

Список изменений

Версия | Описание
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

Смотрите также

  • msql_fetch_array() - Fetch row as array
  • msql_fetch_row() - Get row as enumerated array
  • msql_data_seek() - Move internal row pointer
  • msql_result() - Get result data

msql_fetch_field
msql_fetch_row
mSQL Функции


Get row as enumerated array

msql_fetch_object
msql_field_flags
mSQL Функции
PHP Manual

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row — Get row as enumerated array

Описание

array msql_fetch_row ( resource $result )

msql_fetch_row() fetches one row of data from the result associated with the specified query identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to msql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 msql_fetch_row() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_row($result)) {
    echo $row[0] . ': ' . $row[1] . "\n";
}

msql_free_result($result);
?>

Список изменений

Версия | Описание
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

Смотрите также

  • msql_fetch_array() - Fetch row as array
  • msql_fetch_object() - Fetch row as object
  • msql_data_seek() - Move internal row pointer
  • msql_result() - Get result data

msql_fetch_object
msql_field_flags
mSQL Функции


Get field flags

msql_fetch_row
msql_field_len
mSQL Функции
PHP Manual

msql_field_flags

(PHP 4, PHP 5)

msql_field_flags — Get field flags

Описание

string msql_field_flags ( resource $result , int $field_offset )

msql_field_flags() returns the field flags of the specified field.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

Returns a string containing the field flags of the specified key. This can be: primary key not null, not null, primary key, unique not null or unique.

msql_fetch_row
msql_field_len
mSQL Функции


Get field length

msql_field_flags
msql_field_name
mSQL Функции
PHP Manual

msql_field_len

(PHP 4, PHP 5)

msql_field_len — Get field length

Описание

int msql_field_len ( resource $result , int $field_offset )

msql_field_len() returns the length of the specified field.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

Returns the length of the specified field or FALSE on error.

msql_field_flags
msql_field_name
mSQL Функции


Get the name of the specified field in a result

msql_field_len
msql_field_seek
mSQL Функции
PHP Manual

msql_field_name

(PHP 4, PHP 5)

msql_field_name — Get the name of the specified field in a result

Описание

string msql_field_name ( resource $result , int $field_offset )

msql_field_name() gets the name of the specified field index.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

The name of the field или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_field_len() - Get field length

msql_field_len
msql_field_seek
mSQL Функции


Set field offset

msql_field_name
msql_field_table
mSQL Функции
PHP Manual

msql_field_seek

(PHP 4, PHP 5)

msql_field_seek — Set field offset

Описание

bool msql_field_seek ( resource $result , int $field_offset )

Seeks to the specified field offset. If the next call to msql_fetch_field() won't include a field offset, this field would be returned.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_fetch_field() - Get field information

msql_field_name
msql_field_table
mSQL Функции


Get table name for field

msql_field_seek
msql_field_type
mSQL Функции
PHP Manual

msql_field_table

(PHP 4, PHP 5)

msql_field_table — Get table name for field

Описание

int msql_field_table ( resource $result , int $field_offset )

Returns the name of the table that the specified field is in.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

The name of the table on success или FALSE в случае возникновения ошибки.

msql_field_seek
msql_field_type
mSQL Функции


Get field type

msql_field_table
msql_fieldflags
mSQL Функции
PHP Manual

msql_field_type

(PHP 4, PHP 5)

msql_field_type — Get field type

Описание

string msql_field_type ( resource $result , int $field_offset )

msql_field_type() gets the type of the specified field index.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

field_offset

Числовое смещение поля. field_offset начинается с 1.

Возвращаемые значения

The type of the field. One of int, char, real, ident, null or unknown. This functions will return FALSE on failure.

msql_field_table
msql_fieldflags
mSQL Функции


Alias of msql_field_flags

msql_field_type
msql_fieldlen
mSQL Функции
PHP Manual

msql_fieldflags

(PHP 4, PHP 5)

msql_fieldflags — Alias of msql_field_flags()

Описание

This function is an alias of msql_field_flags().

msql_field_type
msql_fieldlen
mSQL Функции


Alias of msql_field_len

msql_fieldflags
msql_fieldname
mSQL Функции
PHP Manual

msql_fieldlen

(PHP 4, PHP 5)

msql_fieldlen — Alias of msql_field_len()

Описание

This function is an alias of msql_field_len().

msql_fieldflags
msql_fieldname
mSQL Функции


Alias of msql_field_name

msql_fieldlen
msql_fieldtable
mSQL Функции
PHP Manual

msql_fieldname

(PHP 4, PHP 5)

msql_fieldname — Alias of msql_field_name()

Описание

This function is an alias of msql_field_name().

msql_fieldlen
msql_fieldtable
mSQL Функции


Alias of msql_field_table

msql_fieldname
msql_fieldtype
mSQL Функции
PHP Manual

msql_fieldtable

(PHP 4, PHP 5)

msql_fieldtable — Alias of msql_field_table()

Описание

This function is an alias of msql_field_table().

msql_fieldname
msql_fieldtype
mSQL Функции


Alias of msql_field_type

msql_fieldtable
msql_free_result
mSQL Функции
PHP Manual

msql_fieldtype

(PHP 4, PHP 5)

msql_fieldtype — Alias of msql_field_type()

Описание

This function is an alias of msql_field_type().

msql_fieldtable
msql_free_result
mSQL Функции


Free result memory

msql_fieldtype
msql_list_dbs
mSQL Функции
PHP Manual

msql_free_result

(PHP 4, PHP 5)

msql_free_result — Free result memory

Описание

bool msql_free_result ( resource $result )

msql_free_result() frees the memory associated with query_identifier. When PHP completes a request, this memory is freed automatically, so you only need to call this function when you want to make sure you don't use too much memory while the script is running.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

msql_fieldtype
msql_list_dbs
mSQL Функции


List mSQL databases on server

msql_free_result
msql_list_fields
mSQL Функции
PHP Manual

msql_list_dbs

(PHP 4, PHP 5)

msql_list_dbs — List mSQL databases on server

Описание

resource msql_list_dbs ([ resource $link_identifier ] )

msql_list_tables() lists the databases available on the specified link_identifier.

Список параметров

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

Смотрите также

  • msql_list_tables() - List tables in an mSQL database
  • msql_list_fields() - List result fields

msql_free_result
msql_list_fields
mSQL Функции


List result fields

msql_list_dbs
msql_list_tables
mSQL Функции
PHP Manual

msql_list_fields

(PHP 4, PHP 5)

msql_list_fields — List result fields

Описание

resource msql_list_fields ( string $database , string $tablename [, resource $link_identifier ] )

msql_list_fields() returns information about the given table.

Список параметров

database

The name of the database.

tablename

The name of the table.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

Смотрите также

  • msql_list_tables() - List tables in an mSQL database
  • msql_list_dbs() - List mSQL databases on server

msql_list_dbs
msql_list_tables
mSQL Функции


List tables in an mSQL database

msql_list_fields
msql_num_fields
mSQL Функции
PHP Manual

msql_list_tables

(PHP 4, PHP 5)

msql_list_tables — List tables in an mSQL database

Описание

resource msql_list_tables ( string $database [, resource $link_identifier ] )

msql_list_tables() lists the tables on the specified database.

Список параметров

database

The name of the database.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

Смотрите также

  • msql_list_fields() - List result fields
  • msql_list_dbs() - List mSQL databases on server

msql_list_fields
msql_num_fields
mSQL Функции


Get number of fields in result

msql_list_tables
msql_num_rows
mSQL Функции
PHP Manual

msql_num_fields

(PHP 4, PHP 5)

msql_num_fields — Get number of fields in result

Описание

int msql_num_fields ( resource $result )

msql_num_fields() returns the number of fields in a result set.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Returns the number of fields in the result set.

Смотрите также

  • msql_query() - Send mSQL query
  • msql_fetch_field() - Get field information
  • msql_num_rows() - Get number of rows in result

msql_list_tables
msql_num_rows
mSQL Функции


Get number of rows in result

msql_num_fields
msql_numfields
mSQL Функции
PHP Manual

msql_num_rows

(PHP 4, PHP 5)

msql_num_rows — Get number of rows in result

Описание

int msql_num_rows ( resource $query_identifier )

msql_num_rows() returns the number of rows in a result set.

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

Возвращаемые значения

Returns the number of rows in the result set.

Смотрите также

  • msql_num_fields() - Get number of fields in result

msql_num_fields
msql_numfields
mSQL Функции


Alias of msql_num_fields

msql_num_rows
msql_numrows
mSQL Функции
PHP Manual

msql_numfields

(PHP 4, PHP 5)

msql_numfields — Alias of msql_num_fields()

Описание

This function is an alias of msql_num_fields().

msql_num_rows
msql_numrows
mSQL Функции


Alias of msql_num_rows

msql_numfields
msql_pconnect
mSQL Функции
PHP Manual

msql_numrows

(PHP 4, PHP 5)

msql_numrows — Alias of msql_num_rows()

Описание

This function is an alias of msql_num_rows().

msql_numfields
msql_pconnect
mSQL Функции


Open persistent mSQL connection

msql_numrows
msql_query
mSQL Функции
PHP Manual

msql_pconnect

(PHP 4, PHP 5)

msql_pconnect — Open persistent mSQL connection

Описание

resource msql_pconnect ([ string $hostname ] )

msql_pconnect() acts very much like msql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (msql_close() will not close links established by this function).

Список параметров

hostname

The hostname can also include a port number. e.g. hostname,port.

If not specified, the connection is established by the means of a Unix domain socket, being more efficient than a localhost TCP socket connection.

Замечание: While this function will accept a colon (:) as a host/port separator, a comma (,) is the preferred method.

Возвращаемые значения

Returns a positive mSQL link identifier on success, or FALSE on error.

Смотрите также

  • msql_connect() - Open mSQL connection
  • msql_close() - Close mSQL connection

msql_numrows
msql_query
mSQL Функции


Send mSQL query

msql_pconnect
msql_regcase
mSQL Функции
PHP Manual

msql_query

(PHP 4, PHP 5)

msql_query — Send mSQL query

Описание

resource msql_query ( string $query [, resource $link_identifier ] )

msql_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

Список параметров

query

The SQL query.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Returns a positive mSQL query identifier on success, or FALSE on error.

Примеры

Пример #1 msql_query() example

<?php
$link = msql_connect("dbserver")
   or die("unable to connect to msql server: " . msql_error());
msql_select_db("db", $link)
   or die("unable to select database 'db': " . msql_error());

$result = msql_query("SELECT * FROM table WHERE id=1", $link);
if (!$result) {
   die("query failed: " . msql_error());
}

while ($row = msql_fetch_array($result)) {
    echo $row["id"];
}
?>

Смотрите также

  • msql_db_query() - Send mSQL query
  • msql_select_db() - Select mSQL database
  • msql_connect() - Open mSQL connection

msql_pconnect
msql_regcase
mSQL Функции


Alias of sql_regcase

msql_query
msql_result
mSQL Функции
PHP Manual

msql_regcase

(PHP 4, PHP 5)

msql_regcase — Alias of sql_regcase()

Описание

This function is an alias of sql_regcase().

msql_query
msql_result
mSQL Функции


Get result data

msql_regcase
msql_select_db
mSQL Функции
PHP Manual

msql_result

(PHP 4, PHP 5)

msql_result — Get result data

Описание

string msql_result ( resource $result , int $row [, mixed $field ] )

msql_result() returns the contents of one cell from a mSQL result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they are often much quicker than msql_result().

Recommended high-performance alternatives:
msql_fetch_row(),
msql_fetch_array(), and
msql_fetch_object().

Список параметров

result

Обрабатываемый результат запроса, полученный с помощью функции msql_query().

row

The row offset.

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname.). If the column name has been aliased ('select foo as bar from ...'), use the alias instead of the column name.

Замечание:

Specifying a numeric field offset is much quicker than specifying a fieldname or tablename.fieldname.

Возвращаемые значения

Returns the contents of the cell at the row and offset in the specified mSQL result set.

msql_regcase
msql_select_db
mSQL Функции


Select mSQL database

msql_result
msql_tablename
mSQL Функции
PHP Manual

msql_select_db

(PHP 4, PHP 5)

msql_select_db — Select mSQL database

Описание

bool msql_select_db ( string $database_name [, resource $link_identifier ] )

msql_select_db() sets the current active database on the server that's associated with the specified link_identifier.

Subsequent calls to msql_query() will be made on the active database.

Список параметров

database_name

The database name.

link_identifier

Соединение mSQL. Если не указан, используется последнее соединение, открытое msql_connect(). Если такое соединение не было найдено, функция попытается установить новое, как если бы была вызвана функция msql_connect(), и использовать его.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msql_connect() - Open mSQL connection
  • msql_pconnect() - Open persistent mSQL connection
  • msql_query() - Send mSQL query

msql_result
msql_tablename
mSQL Функции


Alias of msql_result

msql_select_db
msql
mSQL Функции
PHP Manual

msql_tablename

(PHP 4, PHP 5)

msql_tablename — Alias of msql_result()

Описание

This function is an alias of msql_result().

msql_select_db
msql
mSQL Функции


Alias of msql_db_query

msql_tablename
Mssql
mSQL Функции
PHP Manual

msql

(PHP 4, PHP 5)

msql — Alias of msql_db_query()

Описание

This function is an alias of msql_db_query().

msql_tablename
Mssql
mSQL Функции


Microsoft SQL Server

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mssql Функции
    • mssql_bind — Adds a parameter to a stored procedure or a remote stored procedure
    • mssql_close — Close MS SQL Server connection
    • mssql_connect — Open MS SQL server connection
    • mssql_data_seek — Moves internal row pointer
    • mssql_execute — Executes a stored procedure on a MS SQL server database
    • mssql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • mssql_fetch_assoc — Returns an associative array of the current row in the result
    • mssql_fetch_batch — Returns the next batch of records
    • mssql_fetch_field — Get field information
    • mssql_fetch_object — Fetch row as object
    • mssql_fetch_row — Get row as enumerated array
    • mssql_field_length — Get the length of a field
    • mssql_field_name — Get the name of a field
    • mssql_field_seek — Seeks to the specified field offset
    • mssql_field_type — Gets the type of a field
    • mssql_free_result — Free result memory
    • mssql_free_statement — Free statement memory
    • mssql_get_last_message — Returns the last message from the server
    • mssql_guid_string — Converts a 16 byte binary GUID to a string
    • mssql_init — Initializes a stored procedure or a remote stored procedure
    • mssql_min_error_severity — Sets the minimum error severity
    • mssql_min_message_severity — Sets the minimum message severity
    • mssql_next_result — Move the internal result pointer to the next result
    • mssql_num_fields — Gets the number of fields in result
    • mssql_num_rows — Gets the number of rows in result
    • mssql_pconnect — Open persistent MS SQL connection
    • mssql_query — Send MS SQL query
    • mssql_result — Get result data
    • mssql_rows_affected — Returns the number of records affected by the query
    • mssql_select_db — Select MS SQL database
msql
Введение
Расширения для работы с базами данных отдельных производителей


Введение

These functions allow you to access MS SQL Server database.

This extension is not available anymore on Windows with PHP 5.3 or later.

SQLSRV, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Mssql
Установка и настройка
Mssql


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mssql


Требования

Requirements for Win32 platforms.

The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access through named pipes. Configuration of the client will require installation of all the tools.

This extension is not available anymore on Windows with PHP 5.3 or later.

SqlSrv, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Requirements for Unix/Linux platforms.

To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: » http://www.freetds.org/

Замечание:

On Windows, the DBLIB from Microsoft is used. Functions that return a column name are based on the dbcolname() function in DBLIB. DBLIB was developed for SQL Server 6.x where the max identifier length is 30. For this reason, the maximum column length is 30 characters. On platforms where FreeTDS is used (Linux), this is not a problem.

Замечание:

On Windows, if you're using MSSQL 2005 or greater you must copy the ntwdblib.dll into the directory where you have installed php and overwrite the one thats already in there. This is due to the version distributed is old and outdated. Alternatively you can use the » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx, ODBC, PDO_DBLIB or PDO_ODBC extensions, to talk to MSSQL.

Установка и настройка
Установка
Установка и настройка


Установка

The MSSQL extension is enabled by adding extension=php_mssql.dll to php.ini.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR] , where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib .

Внимание

MS SQL functions are aliases to Sybase functions if PHP is compiled with Sybase extension and without MS SQL extension.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

MS SQL Server configuration options
Name | Default | Changeable | Changelog
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
mssql.max_procs | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.
mssql.charset | "" | PHP_INI_ALL | Available since PHP 5.1.2 when built with FreeTDS 7.0 or greater.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

mssql link

A connection link returned by mssql_connect() and mssql_pconnect().

mssql result

A result handle returned by mssql_query() on SELECT queries.

mssql statement

A statement handle returned by mssql_init().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MSSQL_ASSOC (integer)
Return an associative array. Used on mssql_fetch_array()'s result_type parameter.
MSSQL_NUM (integer)
Return an array with numeric keys. Used on mssql_fetch_array()'s result_type parameter.
MSSQL_BOTH (integer)
Return an array with both numeric keys and keys with their field name. This is the default value for mssql_fetch_array()'s result_type parameter.
SQLTEXT (integer)
Indicates the 'TEXT' type in MSSQL, used by mssql_bind()'s type parameter.
SQLVARCHAR (integer)
Indicates the 'VARCHAR' type in MSSQL, used by mssql_bind()'s type parameter.
SQLCHAR (integer)
Indicates the 'CHAR' type in MSSQL, used by mssql_bind()'s type parameter.
SQLINT1 (integer)
Represents one byte, with a range of -128 to 127.
SQLINT2 (integer)
Represents two bytes, with a range of -32768 to 32767.
SQLINT4 (integer)
Represents four bytes, with a range of -2147483648 to 2147483647.
SQLBIT (integer)
Indicates the 'BIT' type in MSSQL, used by mssql_bind()'s type parameter.
SQLFLT4 (integer)
Represents an four byte float.
SQLFLT8 (integer)
Represents an eight byte float.
Типы ресурсов
Mssql Функции
Mssql


Mssql Функции

Содержание

  • mssql_bind — Adds a parameter to a stored procedure or a remote stored procedure
  • mssql_close — Close MS SQL Server connection
  • mssql_connect — Open MS SQL server connection
  • mssql_data_seek — Moves internal row pointer
  • mssql_execute — Executes a stored procedure on a MS SQL server database
  • mssql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • mssql_fetch_assoc — Returns an associative array of the current row in the result
  • mssql_fetch_batch — Returns the next batch of records
  • mssql_fetch_field — Get field information
  • mssql_fetch_object — Fetch row as object
  • mssql_fetch_row — Get row as enumerated array
  • mssql_field_length — Get the length of a field
  • mssql_field_name — Get the name of a field
  • mssql_field_seek — Seeks to the specified field offset
  • mssql_field_type — Gets the type of a field
  • mssql_free_result — Free result memory
  • mssql_free_statement — Free statement memory
  • mssql_get_last_message — Returns the last message from the server
  • mssql_guid_string — Converts a 16 byte binary GUID to a string
  • mssql_init — Initializes a stored procedure or a remote stored procedure
  • mssql_min_error_severity — Sets the minimum error severity
  • mssql_min_message_severity — Sets the minimum message severity
  • mssql_next_result — Move the internal result pointer to the next result
  • mssql_num_fields — Gets the number of fields in result
  • mssql_num_rows — Gets the number of rows in result
  • mssql_pconnect — Open persistent MS SQL connection
  • mssql_query — Send MS SQL query
  • mssql_result — Get result data
  • mssql_rows_affected — Returns the number of records affected by the query
  • mssql_select_db — Select MS SQL database
Предопределенные константы
mssql_bind
Mssql


Adds a parameter to a stored procedure or a remote stored procedure

Mssql Функции
mssql_close
Mssql Функции
PHP Manual

mssql_bind

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_bind — Adds a parameter to a stored procedure or a remote stored procedure

Описание

bool mssql_bind ( resource $stmt , string $param_name , mixed &$var , int $type [, bool $is_output = false [, bool $is_null = false [, int $maxlen = -1 ]]] )

Binds a parameter to a stored procedure or a remote stored procedure.

Список параметров

stmt

Statement resource, obtained with mssql_init().

param_name

The parameter name, as a string.

Замечание:

You have to include the @ character, like in the T-SQL syntax. See the explanation included in mssql_execute().

var

The PHP variable you'll bind the MSSQL parameter to. It is passed by reference, to retrieve OUTPUT and RETVAL values after the procedure execution.

type

One of: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Whether the value is an OUTPUT parameter or not. If it's an OUTPUT parameter and you don't mention it, it will be treated as a normal input parameter and no error will be thrown.

is_null

Whether the parameter is NULL or not. Passing the NULL value as var will not do the job.

maxlen

Used with char/varchar values. You have to indicate the length of the data so if the parameter is a varchar(50), the type must be SQLVARCHAR and this value 50.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_bind() example

<?php
// Connect to MSSQL and select the database
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Create a new stored prodecure
$stmt = mssql_init('NewUserRecord');

// Bind the field names
mssql_bind($stmt, '@username',  'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($stmt, '@name',      'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($stmt, '@age',       19,       SQLINT1,     false,  false,   3);

// Execute
mssql_execute($stmt);

// Free statement
mssql_free_statement($stmt);
?>

Смотрите также

  • mssql_execute() - Executes a stored procedure on a MS SQL server database
  • mssql_free_statement() - Free statement memory
  • mssql_init() - Initializes a stored procedure or a remote stored procedure

Mssql Функции
mssql_close
Mssql Функции


Close MS SQL Server connection

mssql_bind
mssql_connect
Mssql Функции
PHP Manual

mssql_close

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_close — Close MS SQL Server connection

Описание

bool mssql_close ([ resource $link_identifier ] )

Closes the link to a MS SQL Server database that's associated with the specified link identifier. If the link identifier isn't specified, the last opened link is assumed.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

Список параметров

link_identifier

A MS SQL link identifier, returned by mssql_connect().

This function will not close persistent links generated by mssql_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_close() example

<?php
// Connect to MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Do any related operations here

// Close the link to MSSQL
mssql_close($link);
?>

Смотрите также

  • mssql_connect() - Open MS SQL server connection
  • mssql_pconnect() - Open persistent MS SQL connection

mssql_bind
mssql_connect
Mssql Функции


Open MS SQL server connection

mssql_close
mssql_data_seek
Mssql Функции
PHP Manual

mssql_connect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_connect — Open MS SQL server connection

Описание

resource mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_connect() establishes a connection to a MS SQL server.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mssql_close().

Список параметров

servername

The MS SQL server. It can also include a port number, e.g. hostname:port (Linux), or hostname,port (Windows).

username

The username.

password

The password.

new_link

If a second call is made to mssql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. This parameter modifies this behavior and makes mssql_connect() always open a new link, even if mssql_connect() was called before with the same parameters.

Возвращаемые значения

Returns a MS SQL link identifier on success, or FALSE on error.

Список изменений

Версия | Описание
4.4.1 and 5.1.0 | The new_link parameter was added

Примеры

Пример #1 mssql_connect() example

<?php
// Server in the this format: <computer>\<instance name> or
// <server>,<port> when using a non default port number
$server = 'KALLESPC\SQLEXPRESS';

// Connect to MSSQL
$link = mssql_connect($server, 'sa', 'phpfi');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?>

Смотрите также

  • mssql_close() - Close MS SQL Server connection
  • mssql_pconnect() - Open persistent MS SQL connection

mssql_close
mssql_data_seek
Mssql Функции


Moves internal row pointer

mssql_connect
mssql_execute
Mssql Функции
PHP Manual

mssql_data_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_data_seek — Moves internal row pointer

Описание

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() moves the internal row pointer of the MS SQL result associated with the specified result identifier to point to the specified row number, first row being number 0. The next call to mssql_fetch_row() would return that row.

Список параметров

result_identifier

The result resource that is being evaluated.

row_number

The desired row number of the new result pointer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_data_seek() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Select all people
$result = mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!$result) {
    die('Query failed.');
}

// Select every 4th student in the results
for ($i = mssql_num_rows($result) - 1; $i % 4; $i++) {
    if (!mssql_data_seek($result, $i)) {
        continue;
    }

    // Fetch the row ...
}

// Free the query result
mssql_free_result($result);
?>

mssql_connect
mssql_execute
Mssql Функции


Executes a stored procedure on a MS SQL server database

mssql_data_seek
mssql_fetch_array
Mssql Функции
PHP Manual

mssql_execute

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_execute — Executes a stored procedure on a MS SQL server database

Описание

mixed mssql_execute ( resource $stmt [, bool $skip_results = false ] )

Executes a stored procedure on a MS SQL server database

Список параметров

stmt

Statement handle obtained with mssql_init().

skip_results

Whenever to skip the results or not.

Примеры

Пример #1 mssql_execute() example

<?php
// Create a new statement
$stmt = mssql_init('NewBlogEntry');

// Some data strings
$title = 'Test of blogging system';
$content = 'If you can read this, then the new system is compatible with MSSQL';

// Bind values
mssql_bind($stmt, '@author',    'Felipe Pena',  SQLVARCHAR,     false,  false,   60);
mssql_bind($stmt, '@date',      '08/10/2008',   SQLVARCHAR,     false,  false,   20);
mssql_bind($stmt, '@title',     $title,         SQLVARCHAR,     false,  false,   60);
mssql_bind($stmt, '@content',   $content,       SQLTEXT);

// Execute the statement
mssql_execute($stmt);

// And we can free it like so:
mssql_free_statement($stmt);
?>

Примечания

Замечание:

If the stored procedure returns parameters or a return value these will be available after the call to mssql_execute() unless the stored procedure returns more than one result set. In that case use mssql_next_result() to shift through the results. When the last result has been processed the output parameters and return values will be available.

Смотрите также

  • mssql_bind() - Adds a parameter to a stored procedure or a remote stored procedure
  • mssql_free_statement() - Free statement memory
  • mssql_init() - Initializes a stored procedure or a remote stored procedure

mssql_data_seek
mssql_fetch_array
Mssql Функции


Fetch a result row as an associative array, a numeric array, or both

mssql_execute
mssql_fetch_assoc
Mssql Функции
PHP Manual

mssql_fetch_array

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Описание

array mssql_fetch_array ( resource $result [, int $result_type = MSSQL_BOTH ] )

mssql_fetch_array() is an extended version of mssql_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using mssql_fetch_array() is NOT significantly slower than using mssql_fetch_row(), while it provides a significant added value.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

result_type

The type of array that is to be fetched. It's a constant and can take the following values: MSSQL_ASSOC, MSSQL_NUM, and MSSQL_BOTH.

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 mssql_fetch_array() example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Check if there were any records
if (!mssql_num_rows($query)) {
    echo 'No records found';
} else {
    // The following is equal to the code below:
    //
    // while ($row = mssql_fetch_row($query)) {

    while ($row = mssql_fetch_array($query, MSSQL_NUM)) {
        // ...
    }
}

// Free the query result
mssql_free_result($query);
?>

Примечания

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mssql_fetch_row() - Get row as enumerated array

mssql_execute
mssql_fetch_assoc
Mssql Функции


Returns an associative array of the current row in the result

mssql_fetch_array
mssql_fetch_batch
Mssql Функции
PHP Manual

mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_assoc — Returns an associative array of the current row in the result

Описание

array mssql_fetch_assoc ( resource $result_id )

Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mssql_fetch_assoc() is equivalent to calling mssql_fetch_array() with MSSQL_ASSOC for the optional second parameter.

Список параметров

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 mssql_fetch_assoc() example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Check if there were any records
if (!mssql_num_rows($query)) {
    echo 'No records found';
}
else
{
    // Print a nice list of users in the format of:
    // * name (username)

    echo '<ul>';

    while ($row = mssql_fetch_assoc($query)) {
        echo '<li>' . $row['name'] . ' (' . $row['username'] . ')</li>';
    }

    echo '</ul>';
}

// Free the query result
mssql_free_result($query);
?>

mssql_fetch_array
mssql_fetch_batch
Mssql Функции


Returns the next batch of records

mssql_fetch_assoc
mssql_fetch_field
Mssql Функции
PHP Manual

mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_batch — Returns the next batch of records

Описание

int mssql_fetch_batch ( resource $result )

Returns the next batch of records

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns the batch number as an integer.

Примеры

Пример #1 mssql_fetch_batch() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Send a query
$result = mssql_query('SELECT * FROM [php].[dbo].[people]', $link, 100);
$records = 10;

while ($records >= 0) {
    while ($row = mssql_fetch_assoc($result)) {
        // Do stuff ...
    }

    --$records;
}

if ($batchsize = mssql_fetch_batch($result)) {
    // $batchsize is the number of records left
    // in the result, but not shown above
}
?>

mssql_fetch_assoc
mssql_fetch_field
Mssql Функции


Get field information

mssql_fetch_batch
mssql_fetch_object
Mssql Функции
PHP Manual

mssql_fetch_field

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_field — Get field information

Описание

object mssql_fetch_field ( resource $result [, int $field_offset = -1 ] )

mssql_fetch_field() can be used in order to obtain information about fields in a certain query result.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

field_offset

The numerical field offset. If the field offset is not specified, the next field that was not yet retrieved by this function is retrieved. The field_offset starts at 0.

Возвращаемые значения

Returns an object containing field information.

The properties of the object are:

  • name - column name. if the column is a result of a function, this property is set to computed#N, where #N is a serial number.
  • column_source - the table from which the column was taken
  • max_length - maximum length of the column
  • numeric - 1 if the column is numeric
  • type - the column type.

Примеры

Пример #1 mssql_fetch_field() example

<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Send a select query to MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construct table
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';

// Table header
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';

// Dump all fields
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Fetch the field information
    $field = mssql_fetch_field($query, $i);

    // Print the row
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';
}

echo '</tbody>';
echo '</table>';

// Free the query result
mssql_free_result($query);
?>

Смотрите также

  • mssql_field_seek() - Seeks to the specified field offset

mssql_fetch_batch
mssql_fetch_object
Mssql Функции


Fetch row as object

mssql_fetch_field
mssql_fetch_row
Mssql Функции
PHP Manual

mssql_fetch_object

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_object — Fetch row as object

Описание

object mssql_fetch_object ( resource $result )

mssql_fetch_object() is similar to mssql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to mssql_fetch_array(), and almost as quick as mssql_fetch_row() (the difference is insignificant).

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 mssql_fetch_object() example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Check if there were any records
if (!mssql_num_rows($query)) {
    echo 'No records found';
} else {
    // Print a nice list of users in the format of:
    // * name (username)

    echo '<ul>';

    while ($row = mssql_fetch_object($query)) {
        echo '<li>' . $row->name . ' (' . $row->username . ')</li>';
    }

    echo '</ul>';
}

// Free the query result
mssql_free_result($query);
?>

Примечания

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mssql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mssql_fetch_row() - Get row as enumerated array

mssql_fetch_field
mssql_fetch_row
Mssql Функции


Get row as enumerated array

mssql_fetch_object
mssql_field_length
Mssql Функции
PHP Manual

mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_row — Get row as enumerated array

Описание

array mssql_fetch_row ( resource $result )

mssql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to mssql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Примеры

Пример #1 mssql_fetch_row() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Query to execute
$query = mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\'', $link);

// Did the query fail?
if (!$query) {
    die('MSSQL error: ' . mssql_get_last_message());
}

// Fetch the row
$row = mssql_fetch_row($query);

// Print the 'quote'
echo 'Quote #' . $row[0] . ': "' . $row[1] . '"';
?>

Результатом выполнения данного примера будет что-то подобное:

Quote #42: "The answer to everything..."

Примечания

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mssql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mssql_fetch_object() - Fetch row as object
  • mssql_data_seek() - Moves internal row pointer
  • mssql_result() - Get result data

mssql_fetch_object
mssql_field_length
Mssql Функции


Get the length of a field

mssql_fetch_row
mssql_field_name
Mssql Функции
PHP Manual

mssql_field_length

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_length — Get the length of a field

Описание

int mssql_field_length ( resource $result [, int $offset = -1 ] )

Returns the length of field no. offset in result.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Возвращаемые значения

The length of the specified field index on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_field_length() example

<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Send a select query to MSSQL
$query = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Print the field length
echo 'The field \'age\' has a data length of ' . mssql_field_length($query, 1);

// Free the query result
mssql_free_result($query);
?>

Результатом выполнения данного примера будет что-то подобное:

The field 'age' has a data length of 4

Примечания

Замечание: Note to Windows Users

Due to a limitation in the underlying API used by PHP (MS DBLib C API), the length of VARCHAR fields is limited to 255. If you need to store more data, use a TEXT field instead.

Смотрите также

  • mssql_field_name() - Get the name of a field
  • mssql_field_type() - Gets the type of a field

mssql_fetch_row
mssql_field_name
Mssql Функции


Get the name of a field

mssql_field_length
mssql_field_seek
Mssql Функции
PHP Manual

mssql_field_name

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_name — Get the name of a field

Описание

string mssql_field_name ( resource $result [, int $offset = -1 ] )

Returns the name of field no. offset in result.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Возвращаемые значения

The name of the specified field index on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_field_name() example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username], [name], [email] FROM [php].[dbo].[userlist]');

echo 'Result set contains the following field(s):', PHP_EOL;

// Dump all field names in result
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    echo ' - ' . mssql_field_name($query, $i), PHP_EOL;
}

// Free the query result
mssql_free_result($query);
?>

Результатом выполнения данного примера будет что-то подобное:

Result set contains the following field(s):
 - username
 - name
 - email

Смотрите также

  • mssql_field_length() - Get the length of a field
  • mssql_field_type() - Gets the type of a field

mssql_field_length
mssql_field_seek
Mssql Функции


Seeks to the specified field offset

mssql_field_name
mssql_field_type
Mssql Функции
PHP Manual

mssql_field_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_seek — Seeks to the specified field offset

Описание

bool mssql_field_seek ( resource $result , int $field_offset )

Seeks to the specified field offset. If the next call to mssql_fetch_field() won't include a field offset, this field would be returned.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

field_offset

The field offset, starts at 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using mssql_field_seek() on the example for mssql_fetch_field()

<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Send a select query to MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construct table
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';

// Table header
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';

// Dump all fields
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Fetch the field information, notice the
    // field_offset parameter is not set. See
    // the mssql_field_seek call below
    $field = mssql_fetch_field($query);

    // Print the row
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';

    // Move the internal seek pointer to the next
    // row in the result set
    mssql_field_seek($query, $i + 1);
}

echo '</tbody>';
echo '</table>';

// Free the query result
mssql_free_result($query);
?>

Смотрите также

  • mssql_fetch_field() - Get field information

mssql_field_name
mssql_field_type
Mssql Функции


Gets the type of a field

mssql_field_seek
mssql_free_result
Mssql Функции
PHP Manual

mssql_field_type

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_type — Gets the type of a field

Описание

string mssql_field_type ( resource $result [, int $offset = -1 ] )

Returns the type of field no. offset in result.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

Возвращаемые значения

The type of the specified field index on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_field_type() example

<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Send a select query to MSSQL
$query = mssql_query('SELECT [name] FROM [php].[dbo].[persons]');

// Print the field type and length
echo '\'' . mssql_field_name($query, 0) . '\' is a type of ' .
     strtoupper(mssql_field_type($query, 0)) .
     '(' . mssql_field_length($query, 0) . ')';

// Free the query result
mssql_free_result($query);
?>

Результатом выполнения данного примера будет что-то подобное:

'name' is a type of CHAR(50)

Смотрите также

  • mssql_field_length() - Get the length of a field
  • mssql_field_name() - Get the name of a field

mssql_field_seek
mssql_free_result
Mssql Функции


Free result memory

mssql_field_type
mssql_free_statement
Mssql Функции
PHP Manual

mssql_free_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_result — Free result memory

Описание

bool mssql_free_result ( resource $result )

mssql_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script ends. You may call mssql_free_result() with the result identifier as an argument and the associated result memory will be freed.

Список параметров

result

The result resource that is being freed. This result comes from a call to mssql_query().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_free_result() example

<?php
// Select some data from a table
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]', $link);

// Handle query result here

// When we're done we free the result by calling
// mssql_free_result like so:
mssql_free_result($query);
?>

Смотрите также

  • mssql_free_statement() - Free statement memory

mssql_field_type
mssql_free_statement
Mssql Функции


Free statement memory

mssql_free_result
mssql_get_last_message
Mssql Функции
PHP Manual

mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_statement — Free statement memory

Описание

bool mssql_free_statement ( resource $stmt )

mssql_free_statement() only needs to be called if you are worried about using too much memory while your script is running. All statement memory will automatically be freed when the script ends. You may call mssql_free_statement() with the statement identifier as an argument and the associated statement memory will be freed.

Список параметров

stmt

Statement resource, obtained with mssql_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_free_statement() example

<?php
// Create a new statement
$stmt = mssql_init('test');

// Bind values here and execute the statement

// once we're done, we clear it from the memory
// using mssql_free_statement like so:
mssql_free_statement($stmt);
?>

Смотрите также

  • mssql_bind() - Adds a parameter to a stored procedure or a remote stored procedure
  • mssql_execute() - Executes a stored procedure on a MS SQL server database
  • mssql_init() - Initializes a stored procedure or a remote stored procedure
  • mssql_free_result() - Free result memory

mssql_free_result
mssql_get_last_message
Mssql Функции


Returns the last message from the server

mssql_free_statement
mssql_guid_string
Mssql Функции
PHP Manual

mssql_get_last_message

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_get_last_message — Returns the last message from the server

Описание

string mssql_get_last_message ( void )

Gets the last message from the MS-SQL server

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns last error message from server, or an empty string if no error messages are returned from MSSQL.

Примеры

Пример #1 mssql_get_last_message() example

<?php
// Connect to MSSQL and select the database
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Make a query that will fail
$query = @mssql_query('SELECT * FROM [php].[dbo].[not-found]');

if (!$query) {
    // The query has failed, print a nice error message
    // using mssql_get_last_message()
    die('MSSQL error: ' . mssql_get_last_message());
}
?>

Результатом выполнения данного примера будет что-то подобное:

MSSQL error: Invalid object name 'php.dbo.not-found'.

Смотрите также

  • mssql_min_error_severity() - Sets the minimum error severity
  • mssql_min_message_severity() - Sets the minimum message severity

mssql_free_statement
mssql_guid_string
Mssql Функции


Converts a 16 byte binary GUID to a string

mssql_get_last_message
mssql_init
Mssql Функции
PHP Manual

mssql_guid_string

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_guid_string — Converts a 16 byte binary GUID to a string

Описание

string mssql_guid_string ( string $binary [, bool $short_format = false ] )

Converts a 16 byte binary GUID to a string.

Список параметров

binary

A 16 byte binary GUID.

short_format

Whenever to use short format.

Возвращаемые значения

Returns the converted string on success.

Примеры

Пример #1 mssql_guid_string() example

<?php
$binary = '19555081977808608437941339997619274330352755554827939936';

var_dump(mssql_guid_string($binary));
var_dump(mssql_guid_string($binary, true));
?>

Результат выполнения данного примера:

string(36) "35353931-3035-3138-3937-373830383630"
string(32) "31393535353038313937373830383630"

mssql_get_last_message
mssql_init
Mssql Функции


Initializes a stored procedure or a remote stored procedure

mssql_guid_string
mssql_min_error_severity
Mssql Функции
PHP Manual

mssql_init

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_init — Initializes a stored procedure or a remote stored procedure

Описание

resource mssql_init ( string $sp_name [, resource $link_identifier ] )

Initializes a stored procedure or a remote stored procedure.

Список параметров

sp_name

Stored procedure name, like ownew.sp_name or otherdb.owner.sp_name.

link_identifier

A MS SQL link identifier, returned by mssql_connect().

Возвращаемые значения

Returns a resource identifier "statement", used in subsequent calls to mssql_bind() and mssql_execute(), or FALSE on errors.

Примеры

Пример #1 mssql_init() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Create a new statement
$stmt = mssql_init('StatementTest', $link);

// Bind values here

// Once values are binded we execute our statement
// using mssql_execute:
mssql_execute($stmt);

// And we can free it like so:
mssql_free_statement($stmt);
?>

Смотрите также

  • mssql_bind() - Adds a parameter to a stored procedure or a remote stored procedure
  • mssql_execute() - Executes a stored procedure on a MS SQL server database
  • mssql_free_statement() - Free statement memory

mssql_guid_string
mssql_min_error_severity
Mssql Функции


Sets the minimum error severity

mssql_init
mssql_min_message_severity
Mssql Функции
PHP Manual

mssql_min_error_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_error_severity — Sets the minimum error severity

Описание

void mssql_min_error_severity ( int $severity )

Sets the minimum error severity.

Список параметров

severity

The new error severity.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mssql_min_error_severity() example

<?php
// Connect to MSSQL and select the database
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Set the minimum error severity to not include SQL
// syntax errors by setting it to something greater than
// or equal to 1.
mssql_min_error_severity(1);

// Send a query we know that will cause an syntax error, in
// this case we use the MySQL quote signs instead of wrapping
// square brackets around the field and table names.
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');

if (!$query) {
    // Custom error handler ...
}
?>

mssql_init
mssql_min_message_severity
Mssql Функции


Sets the minimum message severity

mssql_min_error_severity
mssql_next_result
Mssql Функции
PHP Manual

mssql_min_message_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_message_severity — Sets the minimum message severity

Описание

void mssql_min_message_severity ( int $severity )

Sets the minimum message severity.

Список параметров

severity

The new message severity.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mssql_min_message_severity() example

<?php
// Connect to MSSQL
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Set the minimum message severity to 17, this
// will not show any messages issued by the underlaying
// API when we select a non-existent database below
mssql_min_message_severity(17);

// Select a non-existent database
mssql_select_db('THIS_DATABASE_DOES_NOT_EXISTS');
?>

Результат выполнения данного примера:

mssql_select_db(): Unable to select database:  THIS_DATABASE_DOES_NOT_EXISTS

mssql_min_error_severity
mssql_next_result
Mssql Функции


Move the internal result pointer to the next result

mssql_min_message_severity
mssql_num_fields
Mssql Функции
PHP Manual

mssql_next_result

(PHP 4 >= 4.0.5, PHP 5, PECL odbtp >= 1.1.1)

mssql_next_result — Move the internal result pointer to the next result

Описание

bool mssql_next_result ( resource $result_id )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results, it will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the rows from the new result set.

Список параметров

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns TRUE if an additional result set was available or FALSE otherwise.

Примеры

Пример #1 mssql_next_result() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Send a query to MSSQL
$sql = 'SELECT [name], [age] FROM [php].[dbo].[persons]';
$query = mssql_query($sql, $link);

// Iterate through returned records
do {
    while ($row = mssql_fetch_row($query)) {
        // Handle record ...
    }
} while (mssql_next_result($query));

// Clean up
mssql_free_result($query);
mssql_close($link);
?>

mssql_min_message_severity
mssql_num_fields
Mssql Функции


Gets the number of fields in result

mssql_next_result
mssql_num_rows
Mssql Функции
PHP Manual

mssql_num_fields

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_fields — Gets the number of fields in result

Описание

int mssql_num_fields ( resource $result )

mssql_num_fields() returns the number of fields in a result set.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns the number of fields, as an integer.

Примеры

Пример #1 mssql_num_fields() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Select some data from our database
$data = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Construct a table
echo '<table border="1">';

$header = false;

// Iterate through returned results
while ($row = mssql_fetch_array($data)) {
    // Build the table header
    if (!$header) {
        echo '<thead>';
        echo '<tr>';

        for ($i = 1; ($i + 1) <= mssql_num_fields($data); ++$i) {
            echo '<td>' . ucfirst($row[$i]) . '</td>';
        }

        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';

        $header = true;
    }

    // Build the row
    echo '<tr>';

    foreach($row as $value) {
        echo '<td>' . $value . '</td>';
    }

    echo '</tr>';
}

// Close table
echo '</tbody>';
echo '</table>';

// Clean up
mssql_free_result($data);
mssql_close($link);
?>

Смотрите также

  • mssql_query() - Send MS SQL query
  • mssql_fetch_field() - Get field information
  • mssql_num_rows() - Gets the number of rows in result

mssql_next_result
mssql_num_rows
Mssql Функции


Gets the number of rows in result

mssql_num_fields
mssql_pconnect
Mssql Функции
PHP Manual

mssql_num_rows

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_rows — Gets the number of rows in result

Описание

int mssql_num_rows ( resource $result )

mssql_num_rows() returns the number of rows in a result set.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Возвращаемые значения

Returns the number of rows, as an integer.

Примеры

Пример #1 mssql_num_rows() example

<?php
// Connect to MSSQL and select the database
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Select all our records from a table
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

echo 'Total records in database: ' . mssql_num_rows($query);

// Clean up
mssql_free_result($query);
?>

Смотрите также

  • mssql_query() - Send MS SQL query
  • mssql_fetch_row() - Get row as enumerated array

mssql_num_fields
mssql_pconnect
Mssql Функции


Open persistent MS SQL connection

mssql_num_rows
mssql_query
Mssql Функции
PHP Manual

mssql_pconnect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_pconnect — Open persistent MS SQL connection

Описание

resource mssql_pconnect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_pconnect() acts very much like mssql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mssql_close() will not close links established by mssql_pconnect()).

This type of links is therefore called 'persistent'.

Список параметров

servername

The MS SQL server. It can also include a port number. e.g. hostname:port.

username

The username.

password

The password.

new_link

If a second call is made to mssql_pconnect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. This parameter modifies this behavior and makes mssql_pconnect() always open a new link, even if mssql_pconnect() was called before with the same parameters.

Возвращаемые значения

Returns a positive MS SQL persistent link identifier on success, or FALSE on error.

Примеры

Пример #1 mssql_pconnect() using the new_link parameter

<?php
// Connect to MSSQL and select the database
$link1 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link1);

// Create a new link
$link2 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi', true);
mssql_select_db('random', $link2);
?>

mssql_num_rows
mssql_query
Mssql Функции


Send MS SQL query

mssql_pconnect
mssql_result
Mssql Функции
PHP Manual

mssql_query

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_query — Send MS SQL query

Описание

mixed mssql_query ( string $query [, resource $link_identifier [, int $batch_size = 0 ]] )

mssql_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

Список параметров

query

An SQL query.

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if mssql_connect() was called, and use it.

batch_size

The number of records to batch in the buffer.

Возвращаемые значения

Returns a MS SQL result resource on success, TRUE if no rows were returned, or FALSE on error.

Примеры

Пример #1 mssql_query() example

<?php
// Connect to MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

if (!$link || !mssql_select_db('php', $link)) {
    die('Unable to connect or select database!');
}

// Do a simple query, select the version of
// MSSQL and print it.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];

// Clean up
mssql_free_result($version);
?>

Примечания

Замечание:

If the query returns multiple results then it is necessary to fetch all results by mssql_next_result() or free the results by mssql_free_result() before executing next query.

Смотрите также

  • mssql_select_db() - Select MS SQL database
  • mssql_connect() - Open MS SQL server connection

mssql_pconnect
mssql_result
Mssql Функции


Get result data

mssql_query
mssql_rows_affected
Mssql Функции
PHP Manual

mssql_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_result — Get result data

Описание

string mssql_result ( resource $result , int $row , mixed $field )

mssql_result() returns the contents of one cell from a MS SQL result set.

Список параметров

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

row

The row number.

field

Can be the field's offset, the field's name or the field's table dot field's name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), it uses the alias instead of the column name.

Замечание:

Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Возвращаемые значения

Returns the contents of the specified cell.

Примеры

Пример #1 mssql_result() example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Check if there were any records
if (!mssql_num_rows($query)) {
    echo 'No records found';
} else {
    for ($i = 0; $i < mssql_num_rows($query); ++$i) {
        echo mssql_result($query, $i, 'username'), PHP_EOL;
    }
}

// Free the query result
mssql_free_result($query);
?>

Результатом выполнения данного примера будет что-то подобное:

Kalle
Felipe
Emil
Ross

Пример #2 Faster alternative to above example

<?php
// Send a select query to MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Check if there were any records
if (!mssql_num_rows($query)) {
    echo 'No records found';
} else {
    while ($row = mssql_fetch_array($query)) {
        echo $row['username'], PHP_EOL;
    }
}

// Free the query result
mssql_free_result($query);
?>

Примечания

Замечание:

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mssql_result().

Смотрите также

Recommended high-performance alternatives:

  • mssql_fetch_row() - Get row as enumerated array
  • mssql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mssql_fetch_assoc() - Returns an associative array of the current row in the result
  • mssql_fetch_object() - Fetch row as object

mssql_query
mssql_rows_affected
Mssql Функции


Returns the number of records affected by the query

mssql_result
mssql_select_db
Mssql Функции
PHP Manual

mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_rows_affected — Returns the number of records affected by the query

Описание

int mssql_rows_affected ( resource $link_identifier )

Returns the number of records affected by the last write query.

Список параметров

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

Возвращаемые значения

Returns the number of records affected by last operation.

Примеры

Пример #1 mssql_rows_affected() example

<?php
// Delete all rows in a table
mssql_query('TRUNCATE TABLE [php].[dbo].[persons]');

echo 'Deleted ' . mssql_rows_affected($link) . ' row(s)';
?>

mssql_result
mssql_select_db
Mssql Функции


Select MS SQL database

mssql_rows_affected
MySQL
Mssql Функции
PHP Manual

mssql_select_db

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_select_db — Select MS SQL database

Описание

bool mssql_select_db ( string $database_name [, resource $link_identifier ] )

mssql_select_db() sets the current active database on the server that's associated with the specified link identifier.

Every subsequent call to mssql_query() will be made on the active database.

Список параметров

database_name

The database name.

To escape the name of a database that contains spaces, hyphens ("-"), or any other exceptional characters, the database name must be enclosed in brackets, as is shown in the example, below. This technique must also be applied when selecting a database name that is also a reserved word (such as primary).

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

If no link identifier is specified, the last opened link is assumed. If no link is open, the function will try to establish a link as if mssql_connect() was called, and use it.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mssql_select_db() example

<?php
// Create a link to MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Select the database 'php'
mssql_select_db('php', $link);
?>

Пример #2 Escaping the database name with square brackets

<?php
// Create a link to MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Select the database 'my.database-name'
mssql_select_db('[my.database-name]', $link);
?>

Смотрите также

  • mssql_connect() - Open MS SQL server connection
  • mssql_pconnect() - Open persistent MS SQL connection
  • mssql_query() - Send MS SQL query

mssql_rows_affected
MySQL
Mssql Функции


MySQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Обзорный пример расширения MySQL
  • MySQL — Функции СУБД MySQL
    • mysql_affected_rows — Возвращает число затронутых прошлой операцией рядов
    • mysql_client_encoding — Возвращает кодировку соединения
    • mysql_close — Закрывает соединение с сервером MySQL
    • mysql_connect — Открывает соединение с сервером MySQL
    • mysql_create_db — Создает базу данных MySQL
    • mysql_data_seek — Перемещает внутренний указатель в результате запроса
    • mysql_db_name — Возвращает название базы данных из вызова к mysql_list_dbs
    • mysql_db_query — Переключается на указанную базу данных и посылает запрос
    • mysql_drop_db — Уничтожает базу данных MySQL
    • mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL
    • mysql_error — Возвращает текст ошибки последней операции с MySQL
    • mysql_escape_string — Экранирует строку для использования в mysql_query
    • mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
    • mysql_fetch_assoc — Возвращает ряд результата запроса в качестве ассоциативного массива
    • mysql_fetch_field — Возвращает информацию о колонке из результата запроса в виде объекта
    • mysql_fetch_lengths — Возвращает длину каждого поля в результате
    • mysql_fetch_object — Обрабатывает ряд результата запроса и возвращает объект
    • mysql_fetch_row — Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
    • mysql_field_flags — Возвращает флаги, связанные с указанным полем результата запроса
    • mysql_field_len — Возвращает длину указанного поля
    • mysql_field_name — Возвращает название указанной колонки результата запроса
    • mysql_field_seek — Устанавливает внутренний указатель результата на переданное смещение поля
    • mysql_field_table — Возвращает название таблицы, которой принадлежит указанное поле
    • mysql_field_type — Возвращает тип указанного поля из результата запроса
    • mysql_free_result — Освобождает память от результата запроса
    • mysql_get_client_info — Возвращает данные о MySQL-клиенте
    • mysql_get_host_info — Возвращает информацию о соединении с MySQL
    • mysql_get_proto_info — Возвращает информацию о протоколе MySQL
    • mysql_get_server_info — Возвращает информацию о сервере MySQL
    • mysql_info — Возвращает информацию о последнем запросе
    • mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
    • mysql_list_dbs — Возвращает список баз данных, доступных на сервере
    • mysql_list_fields — Возвращает список колонок таблицы
    • mysql_list_processes — Возвращает список процессов MySQL
    • mysql_list_tables — Возвращает список таблиц базы данных MySQL
    • mysql_num_fields — Возвращает количество полей результата запроса
    • mysql_num_rows — Возвращает количество рядов результата запроса
    • mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL
    • mysql_ping — Проверяет соединение с сервером и пересоединяется при необходимости
    • mysql_query — Посылает запрос MySQL
    • mysql_real_escape_string — Экранирует специальные символы в строках для использования в выражениях SQL
    • mysql_result — Возвращает данные результата запроса
    • mysql_select_db — Выбирает базу данных MySQL
    • mysql_set_charset — Устанавливает кодировку клиента
    • mysql_stat — Возвращает текущий статус сервера
    • mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
    • mysql_thread_id — Возвращает идентификатор текущего потока
    • mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации
mssql_select_db
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Эти функции позволяют вам работать с MySQL. За информацией о MySQL обращайтесь к » http://www.mysql.com/.

Документация MySQL находится по адресу » http://dev.mysql.com/doc/.

Для обзора продуктов и способов подключения к MySQL, смотрите Overview.

MySQL
Установка и настройка
MySQL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
MySQL


Требования

Для использования этих функций PHP должен быть собран с поддержкой MySQL.

Установка и настройка
Установка
Установка и настройка


Установка

Для компиляции просто используйте опцию конфигурации --with-mysql[=DIR] , где необязательный параметр [DIR] указывает на директорию с установленным MySQL.

Несмотря на то, что это расширение MySQL совместимо с MySQL 4.1.0 и выше, оно не поддерживает дополнительную функциональность, предоставляемую этими версиями. Для получения такой возможности воспользуйтесь расширением MySQLi.

Если вы хотите установить расширение mysql совместо с mysqli, то для избежания каких-либо конфликтов необходимо использовать одну и ту же клиентскую библиотеку.

Установка на Linux-системы

Примечание: [DIR] является путем к файлам клиентской библиотеки MySQL (заголовкам и библиотекам), которые можно скачать с » MySQL.

Таблица компиляции ext/mysql по версиям PHP
PHP Версия | По умолчанию | Опции настройки: mysqlnd | Опции настройки: libmysql | Список изменений
4.x.x | libmysql | Недоступно | --without-mysql для отключения | MySQL включен по умолчанию, клиентские библиотеки MySQL входят в поставку PHP
5.0.x, 5.1.x, 5.2.x | libmysql | Недоступно | --with-mysql=[DIR] | MySQL больше не включен по умолчанию, и клиентские библиотеки MySQL больше не входят в поставку PHP
5.3.x | libmysql | --with-mysql=mysqlnd | --with-mysql=[DIR] | Стал доступен mysqlnd
5.4.x | mysqlnd | --with-mysql | --with-mysql=[DIR] | mysqlnd выбирается по умолчанию

Установка на Windows-системы

PHP 4

PHP скомпилирован с поддержкой расширения MySQL.

PHP 5.0.x, 5.1.x, 5.2.x

Поддержка MySQL больше не включена по умолчанию, поэтому для ее включения необходимо подключить php_mysql.dll DLL внутри php.ini. Кроме этого, PHP понадобится доступ к клиентской библиотеке MySQL. Файл libmysql.dll поставляется в Windows дистрибутиве PHP, и для корректного общения PHP с MySQL, данный файл должен быть доступен в системном пути Windows PATH. О том как это сделать, смотрите FAQ "Как добавить мою PHP директорию в системный PATH на Windows?". Хотя копирование libmysql.dll в системную папку Windows также сработает (потому что системная папка находится по умолчанию в PATH), это не рекомендуется.

Как и при включении любого другого расширения PHP (в том числе и php_mysql.dll), директива extension_dir должна указывать на директорию, содержащую PHP-расширения. Смотрите также Инструкции по ручной установке в Windows . Пример значения extension_dir для PHP 5: c:\php\ext

Замечание:

Если при старте веб-сервера происходит подобная ошибка: "Unable to load dynamic library './php_mysql.dll'", ("Невозможно подгрузить динамическую библиотеку './php_mysql.dll'"), то это случается из-за того, что на вашей системе не может быть найдена php_mysql.dll и/или libmysql.dll.

PHP 5.3.0+

MySQL Native Driver включен по умолчанию. В том числе php_mysql.dll, но без требования и использования libmysql.dll.

Замечания по установке MySQL

Внимание

Сбои в работе PHP могут иметь место при загрузке совместно этого расширения и расширения recode. За дополнительной информацией обращайтесь к разделу о расширении для recode.

Замечание:

Если вам требуется поддержка кодировок отличных от latin, (установленной по умолчанию), вам придётся установить внешнюю библиотеку libmysql, скомпилированную с их поддержкой.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Директивы конфигурации MySQL
Имя | Значение по умолчанию | Область изменения | История изменения
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Доступна с версии PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP <= 4.3.2. Доступна с версии PHP 4.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mysql.allow_local_infile integer

Разрешает доступ к локальным файлам, с точки зрения PHP, с помощью инструкций LOAD DATA

mysql.allow_persistent boolean

Позволять ли постоянные соединения с MySQL.

mysql.max_persistent integer

Максимальное количество постоянных соединений c MySQL на один процесс.

mysql.max_links integer

Максимальное количество соединений с MySQL на один процесс, включая постоянные соединения.

mysql.trace_mode boolean

Режим трассировки. Если включена опция mysql.trace_mode, будут отображаться предупреждения при сканировании таблиц/индексов, непустых результирующих наборов (result sets), а также ошибки SQL. (Добавлено в версии PHP 4.3.0)

mysql.default_port string

TCP-порт, используемый для соединения с базой данных по умолчанию (если не был указан другой). Если эта директива опущена, порт будет взят из переменной среды MYSQL_TCP_PORT, значения mysql-tcp в файле /etc/services или константы MYSQL_PORT, указанной при компиляции, в указанном порядке. Win32 использует только константу MYSQL_PORT.

mysql.default_socket string

Имя сокета по умолчанию, используемого для соединения с локальной базой данных, если не был указан другой.

mysql.default_host string

Адрес сервера по умолчанию, используемый для соединения с сервером базы данных, если не указан другой. Не работает в SQL safe mode.

mysql.default_user string

Имя пользователя по умолчанию, используемое для соединения с сервером базы данных, если не указано другое. Не работает в SQL safe mode.

mysql.default_password string

Пароль по умолчанию, используемый для соединения с сервером базы данных, если не указан другой. Не работает в SQL safe mode.

mysql.connect_timeout integer

Время ожидания ответа до разрыва соединения в секундах. Linux также использует это значение при ожидании первого ответа от сервера.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Есть два типа ресурсов, используемых в модуле MySQL. Первый является идентификатором соединения для подключения к базе данных, а второй ресурс содержит результат выполнения запроса.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Начиная с PHP 4.3.0 можно указать дополнительные клиентские флаги для функций mysql_connect() и mysql_pconnect() functions. Предопределены следующие константы:

Клиентские константы MySQL
Константа | Описание
MYSQL_CLIENT_COMPRESS | Использовать протокол сжатия
MYSQL_CLIENT_IGNORE_SPACE | Разрешает использовать пробелы после имён функций
MYSQL_CLIENT_INTERACTIVE | Позволяет interactive_timeout секунд (вместо wait_timeout ) бездействия до закрытия соединения.
MYSQL_CLIENT_SSL | Использовать SSL-шифрование. Этот флаг доступен только начиная с версии 4.x клиентской библиотеки MySQL. Версия 3.23.x поставляется как в PHP 4, так и с бинарным дистрибутивом Windows в PHP 5.

Функция mysql_fetch_array() использует константы для определения типа возвращаемого массива. Предопределены следующие константы:

Константы выборки MySQL
Константа | Описание
MYSQL_ASSOC | Результат возвращается в ассоциативном массиве с именами колонок в качестве индексов.
MYSQL_BOTH | Результат возвращается в массиве, содержащем как численные индексы, так и имена колонок в качестве индексов.
MYSQL_NUM | Результат возвращается в массиве, содержащем численные индексы. Индексы начинаются с 0 (0 содержит первую колонку).

Типы ресурсов
Примеры
MySQL


Примеры

Содержание

  • Обзорный пример расширения MySQL
Предопределенные константы
Обзорный пример расширения MySQL
MySQL


Обзорный пример расширения MySQL

Этот простой пример показывает, как соединиться с базой данных, выполнить запрос, распечатать результат и отсоединиться.

Пример #1 Пример работы с MySQL

<?php
// Соединяемся, выбираем базу данных
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('Не удалось соединиться: ' . mysql_error());
echo 'Соединение успешно установлено';
mysql_select_db('my_database') or die('Не удалось выбрать базу данных');

// Выполняем SQL-запрос
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Запрос не удался: ' . mysql_error());

// Выводим результаты в html
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Освобождаем память от результата
mysql_free_result($result);

// Закрываем соединение
mysql_close($link);
?>

Примеры
MySQL
Примеры


Функции СУБД MySQL

Примечания

Замечание:

Большинство функций MySQL принимают link_identifier как последний, опциональный параметр. Если он не указан, то используется последнее открытое соединение. Если соединений нет, то модуль пытается открыть соединение используя параметры, указанные в php.ini. В случае неудачи, функции возвращают FALSE. FALSE.

Содержание

  • mysql_affected_rows — Возвращает число затронутых прошлой операцией рядов
  • mysql_client_encoding — Возвращает кодировку соединения
  • mysql_close — Закрывает соединение с сервером MySQL
  • mysql_connect — Открывает соединение с сервером MySQL
  • mysql_create_db — Создает базу данных MySQL
  • mysql_data_seek — Перемещает внутренний указатель в результате запроса
  • mysql_db_name — Возвращает название базы данных из вызова к mysql_list_dbs
  • mysql_db_query — Переключается на указанную базу данных и посылает запрос
  • mysql_drop_db — Уничтожает базу данных MySQL
  • mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL
  • mysql_error — Возвращает текст ошибки последней операции с MySQL
  • mysql_escape_string — Экранирует строку для использования в mysql_query
  • mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_fetch_assoc — Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_fetch_field — Возвращает информацию о колонке из результата запроса в виде объекта
  • mysql_fetch_lengths — Возвращает длину каждого поля в результате
  • mysql_fetch_object — Обрабатывает ряд результата запроса и возвращает объект
  • mysql_fetch_row — Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_field_flags — Возвращает флаги, связанные с указанным полем результата запроса
  • mysql_field_len — Возвращает длину указанного поля
  • mysql_field_name — Возвращает название указанной колонки результата запроса
  • mysql_field_seek — Устанавливает внутренний указатель результата на переданное смещение поля
  • mysql_field_table — Возвращает название таблицы, которой принадлежит указанное поле
  • mysql_field_type — Возвращает тип указанного поля из результата запроса
  • mysql_free_result — Освобождает память от результата запроса
  • mysql_get_client_info — Возвращает данные о MySQL-клиенте
  • mysql_get_host_info — Возвращает информацию о соединении с MySQL
  • mysql_get_proto_info — Возвращает информацию о протоколе MySQL
  • mysql_get_server_info — Возвращает информацию о сервере MySQL
  • mysql_info — Возвращает информацию о последнем запросе
  • mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
  • mysql_list_dbs — Возвращает список баз данных, доступных на сервере
  • mysql_list_fields — Возвращает список колонок таблицы
  • mysql_list_processes — Возвращает список процессов MySQL
  • mysql_list_tables — Возвращает список таблиц базы данных MySQL
  • mysql_num_fields — Возвращает количество полей результата запроса
  • mysql_num_rows — Возвращает количество рядов результата запроса
  • mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL
  • mysql_ping — Проверяет соединение с сервером и пересоединяется при необходимости
  • mysql_query — Посылает запрос MySQL
  • mysql_real_escape_string — Экранирует специальные символы в строках для использования в выражениях SQL
  • mysql_result — Возвращает данные результата запроса
  • mysql_select_db — Выбирает базу данных MySQL
  • mysql_set_charset — Устанавливает кодировку клиента
  • mysql_stat — Возвращает текущий статус сервера
  • mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
  • mysql_thread_id — Возвращает идентификатор текущего потока
  • mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации
Обзорный пример расширения MySQL
mysql_affected_rows
MySQL


Возвращает число затронутых прошлой операцией рядов

MySQL
mysql_client_encoding
MySQL
PHP Manual

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Возвращает число затронутых прошлой операцией рядов

Описание

int mysql_affected_rows ([ resource $link_identifier ] )

Возвращает количество рядов, затронутых последним INSERT, UPDATE, REPLACE или DELETE запросом, связанным с дескриптором link_identifier.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает количество измененных записей в случае успеха, и -1 в случае если последний запрос не удался.

Если последний запрос был DELETE без указания WHERE и, соответственно, таблица была очищена, функция вернёт ноль во всех версиях MySQL до 4.1.2.

При использовании UPDATE, MySQL не обновит колонки, уже содержащие новое значение. Вследствие этого, функция mysql_affected_rows() не всегда возвращает количество рядов, подошедших под условия, только количество рядов, обновлённых запросом.

Запрос REPLACE сначала удаляет запись с указанным первичным ключом, а потом вставляет новую. Данная функция возвращает количество удаленных записей вместе с количеством вставленных.

Примеры

Пример #1 Пример использования mysql_affected_rows()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
mysql_select_db('mydb');

/* здесь функция вернёт корректное число удалённых записей */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Удалено записей: %d\n", mysql_affected_rows());

/* если WHERE всегда возвращает false, то функция возвращает 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Удалено записей: %d\n", mysql_affected_rows());
?>

Результатом выполнения данного примера будет что-то подобное:

Удалено записей: 10
Удалено записей: 0

Пример #2 Пример использования mysql_affected_rows() с транзакциями

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
mysql_select_db('mydb');

/* Обновляем ряды */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Обновлено записей: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

Результатом выполнения данного примера будет что-то подобное:

Обновлено записей: 10

Примечания

Замечание: Транзакции

При использовании транзакций mysql_affected_rows() нужно вызывать после запросов INSERT, UPDATE, DELETE, но не после COMMIT.

Замечание: Запросы SELECT

Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().

Замечание: Каскадные внешние ключи

mysql_affected_rows() не подсчитывает ряды, неявно измененные ограничениями ON DELETE CASCADE и/или ON UPDATE CASCADE.

Смотрите также

  • mysql_num_rows() - Возвращает количество рядов результата запроса
  • mysql_info() - Возвращает информацию о последнем запросе

MySQL
mysql_client_encoding
MySQL


Возвращает кодировку соединения

mysql_affected_rows
mysql_close
MySQL
PHP Manual

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Возвращает кодировку соединения

Описание

string mysql_client_encoding ([ resource $link_identifier ] )

Возвращает значение переменной MySQL character_set.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает используемую по умолчанию кодировку для данного соединения.

Примеры

Пример #1 Пример использования mysql_client_encoding()

<?php
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "Текущая кодировка: $charset\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Текущая кодировка: latin1

Смотрите также

  • mysql_set_charset() - Устанавливает кодировку клиента
  • mysql_real_escape_string() - Экранирует специальные символы в строках для использования в выражениях SQL

mysql_affected_rows
mysql_close
MySQL


Закрывает соединение с сервером MySQL

mysql_client_encoding
mysql_connect
MySQL
PHP Manual

mysql_close

(PHP 4, PHP 5)

mysql_close — Закрывает соединение с сервером MySQL

Описание

bool mysql_close ([ resource $link_identifier ] )

mysql_close() закрывает непостоянное соединение с базой данных MySQL, на которое указывает переданный дескриптор. Если параметр link_identifier не указан, закрывается последнее открытое (текущее) соединение.

В использовании mysql_close() обычно нет надобности для непостоянных соединений, т.к. они автоматически закрываются в конце скрипта. См. также высвобождение ресурсов.

Список параметров

link_identifier

Соединение MySQL. Если не указано, то используется последнее соединение, открытое mysql_connect(). Если соединение не найдено или не установлено, то будет сгенерирована ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_close()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>

Результат выполнения данного примера:

Успешно соединились

Примечания

Замечание:

mysql_close() не закрывает постоянные соединения, созданные функцией mysql_pconnect().

Смотрите также

  • mysql_connect() - Открывает соединение с сервером MySQL
  • mysql_free_result() - Освобождает память от результата запроса

mysql_client_encoding
mysql_connect
MySQL


Открывает соединение с сервером MySQL

mysql_close
mysql_create_db
MySQL
PHP Manual

mysql_connect

(PHP 4, PHP 5)

mysql_connect — Открывает соединение с сервером MySQL

Описание

resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )

Открывает новое соединение с сервером MySQL или использует уже существующее.

Список параметров

server

Сервер MySQL. Может также включать номер порта, например, "hostname:port" или путь к локальному сокету, например, ":/path/to/socket" для локального сервера.

Если PHP-директива mysql.default_host не определена (по умолчанию), то значением по умолчанию является 'localhost:3306'. В SQL safe mode этот параметр игнорируется и всегда используется значение 'localhost:3306'.

username

Имя пользователя. Значение по умолчанию определяется директивой mysql.default_user. В SQL safe mode этот параметр будет проигнорирован и будет использован пользователь, владеющий процессом сервера.

password

Пароль. Значение по умолчанию определяется директивой mysql.default_password. В SQL safe mode этот параметр будет проигнорирован и в качестве пароля будет использована пустая строка.

new_link

Если второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. В SQL safe mode этот параметр игнорируется.

client_flags

Параметр client_flags должен быть комбинацией из следующих констант: 128 (включает обработку LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE. Подробнее читайте в разделе Клиентские константы MySQL. В SQL safe mode этот параметр игнорируется.

Возвращаемые значения

Возвращает дескриптор соединения с MySQL в случае успешного выполнения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | Добавлен параметр client_flags.
4.2.0 | Добавлен параметр new_link.

Примеры

Пример #1 Пример использования mysql_connect()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>

Пример #2 Пример использования mysql_connect() с синтаксисом hostname:port

<?php
// соединяемся с example.com на порту 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);

// соединяемся с localhost на порту 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>

Пример #3 Пример использования mysql_connect() с синтаксисом ":/path/to/socket"

<?php
// соединяемся к localhost по сокету, т.е. /tmp/mysql.sock

// вариант 1: не указываем localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);

// вариант 2: указываем localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>

Примечания

Замечание:

При указании параметру server значения "localhost" или "localhost:port" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом. Если вы всё же хотите использовать TCP/IP, используйте адрес "127.0.0.1" вместо "localhost". Если клиентская библиотека пытается подключиться не к тому локальному сокету, это можно исправить через указание директивы в конфигурации PHP, после чего можно оставлять параметр server пустым.

Замечание:

Соединение с сервером будет закрыто при завершении исполнения скрипта, если только до этого оно не было закрыто с помощью функции mysql_close().

Замечание:

Подавить вывод ошибок можно добавив @ в начало названия функции.

Замечание:

Ошибка "Can't create TCP/IP socket (10106)" (Невозможно создать сокет TCP/IP) обычно означает, что конфигурационная директива variables_order не содержит символ E. В Windows, если в окружение не будет скопирована переменная окружения SYSTEMROOT, то PHP будет испытывать проблемы при загрузке Winsock.

Смотрите также

  • mysql_pconnect() - Устанавливает постоянное соединение с сервером MySQL
  • mysql_close() - Закрывает соединение с сервером MySQL

mysql_close
mysql_create_db
MySQL


Создает базу данных MySQL

mysql_connect
mysql_data_seek
MySQL
PHP Manual

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Создает базу данных MySQL

Описание

bool mysql_create_db ( string $database_name [, resource $link_identifier ] )

mysql_create_db() пытается создать базу данных на сервере, с которым ассоциирован переданный дескриптор соединения.

Список параметров

database_name

Имя создаваемой базы данных.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример создания базы данных MySQL

Функция mysql_create_db() не рекомендуется к использованию. Предпочтительнее использовать mysql_query() с SQL-запросом создания базы данных CREATE DATABASE.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "База my_db успешно создана\n";
} else {
    echo 'Ошибка при создании базы данных: ' . mysql_error() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

База my_db успешно создана

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_createdb()

Замечание:

Данная функция не будет доступна, если расширение MySQL было скомпилировано клиентской библиотекой MySQL версии 4.x.

Смотрите также

  • mysql_query() - Посылает запрос MySQL
  • mysql_select_db() - Выбирает базу данных MySQL

mysql_connect
mysql_data_seek
MySQL


Перемещает внутренний указатель в результате запроса

mysql_create_db
mysql_db_name
MySQL
PHP Manual

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Перемещает внутренний указатель в результате запроса

Описание

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek() перемещает внутренний указатель результата запроса, с которым связан переданный дескриптор, к ряду с указанным номером. Следующий вызов к функции получения данных MySQL, такой как mysql_fetch_assoc(), вернёт именно его.

Нумерация row_number начинается с 0. row_number должен быть значением в диапазоне от 0 до mysql_num_rows() - 1. Однако, если результат пуст (mysql_num_rows() == 0), то попытка сдвига указателя к нулевому ряду завершится неудачей - будет вызвана ошибка уровня E_WARNING и mysql_data_seek() вернет FALSE.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

row_number

Желаемый номер ряда в полученном дескрипторе результата.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_data_seek()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Не удалось выбрать базу данных: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
    die('Ошибка запроса: ' . mysql_error());
}
/* получение рядов в обратном порядке */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Не удалось переместиться к ряду $i: " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Примечания

Замечание:

Функция mysql_data_seek() может быть использована
только с mysql_query(), но не с
mysql_unbuffered_query().

Смотрите также

  • mysql_query() - Посылает запрос MySQL
  • mysql_num_rows() - Возвращает количество рядов результата запроса
  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_fetch_array() - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_fetch_object() - Обрабатывает ряд результата запроса и возвращает объект

mysql_create_db
mysql_db_name
MySQL


Возвращает название базы данных из вызова к mysql_list_dbs

mysql_data_seek
mysql_db_query
MySQL
PHP Manual

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Возвращает название базы данных из вызова к mysql_list_dbs()

Описание

string mysql_db_name ( resource $result , int $row [, mixed $field ] )

Возвращает название базы данных из вызова к mysql_list_dbs().

Список параметров

result

Дескриптор результата, полученный из вызова mysql_list_dbs().

row

Индекс в результате.

field

Имя поля.

Возвращаемые значения

Возвращает название базы данных в случае успеха, или FALSE в случае ошибки. В случае возврата FALSE используйте mysql_error() для определения природы ошибок.

Примеры

Пример #1 Пример использования mysql_db_name()

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs($link);

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
    echo mysql_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_dbname()

Смотрите также

  • mysql_list_dbs() - Возвращает список баз данных, доступных на сервере
  • mysql_tablename() - Возвращает имя таблицы, содержащей указанное поле

mysql_data_seek
mysql_db_query
MySQL


Переключается на указанную базу данных и посылает запрос

mysql_db_name
mysql_drop_db
MySQL
PHP Manual

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Переключается на указанную базу данных и посылает запрос

Описание

resource mysql_db_query ( string $database , string $query [, resource $link_identifier ] )

mysql_db_query() выбирает базу данных и выполняет запрос к ней.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

database

Имя базы данных, на которую произойдет переключение.

query

Запрос MySQL.

Данные в запросе должны быть корректно проэкранированы.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает ресурс результата запроса к MySQL или FALSE в случае ошибки. Функция также возвращает TRUE/FALSE для INSERT/UPDATE/DELETE запросов для индикации успеха/провала.

Список изменений

Версия | Описание
5.3.0 | Функция теперь выдает предупреждение уровня E_DEPRECATED.
4.0.6 | Данная функция устарела, ее не следует больше использовать. Используйте вместо нее mysql_select_db(), а затем mysql_query().

Примеры

Пример #1 Пример использования mysql_db_query()

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Не удалось подключиться к mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Не удалось выбрать базу данных';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "Ошибка DB, запрос не удался\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

Примечания

Замечание:

Учтите, что эта функция НЕ переключает соединение обратно к предыдущей базе данных. Другими словами, вы не можете использовать эту функцию, чтобы временно переключиться на другую базу данных и выполнить запрос. Переключиться обратно вам придётся вручную. Крайне рекомендуется использовать синтаксис database.table в SQL-запросах или функцию mysql_select_db(), вместо использования этой функции.

Смотрите также

  • mysql_query() - Посылает запрос MySQL
  • mysql_select_db() - Выбирает базу данных MySQL

mysql_db_name
mysql_drop_db
MySQL


Уничтожает базу данных MySQL

mysql_db_query
mysql_errno
MySQL
PHP Manual

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Уничтожает базу данных MySQL

Описание

bool mysql_drop_db ( string $database_name [, resource $link_identifier ] )

mysql_drop_db() пытается уничтожить базу данных на сервере, на который ссылается переданный дескриптор соединения. Данная функция устарела, используйте вместо нее mysql_query() с запросом DROP DATABASE.

Список параметров

database_name

Имя удаляемой базы данных.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Альтернативный пример использования mysql_drop_db()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Не удалось подключиться к базе данных: ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "База данных my_db была успешно удалена\n";
} else {
    echo 'Ошибка при удалении базы данных: ' . mysql_error() . "\n";
}
?>

Примечания

Внимание

Эта функция недоступна, если расширение было скомпилировано с клиентской библиотекой MySQL версии 4.x.

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_dropdb()

Смотрите также

  • mysql_query() - Посылает запрос MySQL

mysql_db_query
mysql_errno
MySQL


Возвращает численный код ошибки выполнения последней операции с MySQL

mysql_drop_db
mysql_error
MySQL
PHP Manual

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL

Описание

int mysql_errno ([ resource $link_identifier ] )

Возвращает код ошибки последней функции работы с MySQL.

Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает код ошибки последней функции работы с MySQL, или 0 (ноль), если операция выполнена успешно.

Примеры

Пример #1 Пример использования mysql_errno()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Смотрите также

  • mysql_error() - Возвращает текст ошибки последней операции с MySQL
  • » Коды ошибок MySQL

mysql_drop_db
mysql_error
MySQL


Возвращает текст ошибки последней операции с MySQL

mysql_errno
mysql_escape_string
MySQL
PHP Manual

mysql_error

(PHP 4, PHP 5)

mysql_error — Возвращает текст ошибки последней операции с MySQL

Описание

string mysql_error ([ resource $link_identifier ] )

Возвращает текст ошибки выполнения последней функции MySQL. Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_error(), для получения сообщения об ошибке. Учтите, что функция возвращает текст ошибки только последней выполненной функции MySQL (исключая mysql_error() и mysql_errno()), поэтому убедитесь, что вы вызываете данную функцию до вызова следующей функции MySQL.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает текст ошибки выполнения последней функции MySQL, или '' (пустую строку), если операция выполнена успешно.

Примеры

Пример #1 Пример использования mysql_error()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Смотрите также

  • mysql_errno() - Возвращает численный код ошибки выполнения последней операции с MySQL
  • » Коды ошибок MySQL

mysql_errno
mysql_escape_string
MySQL


Экранирует строку для использования в mysql_query

mysql_error
mysql_fetch_array
MySQL
PHP Manual

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Экранирует строку для использования в mysql_query

Описание

string mysql_escape_string ( string $unescaped_string )

Функция экранирует unescaped_string таким образом, после чего её можно безопасно использовать в mysql_query(). Данная функция устарела.

Функция идентична mysql_real_escape_string(), исключая тот факт, что mysql_real_escape_string() принимает параметром ещё и идентификатор соединения и экранирует строку с учетом текущей кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

unescaped_string

Экранируемая строка.

Возвращаемые значения

Возвращает экранируемую строку.

Список изменений

Версия | Описание
5.3.0 | Данная функция теперь выдает предупреждение уровня E_DEPRECATED.
4.3.0 | Функция помечена как устаревшая, ее не следует больше использовать. Используйте вместо нее mysql_real_escape_string().

Примеры

Пример #1 Пример использования mysql_escape_string()

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

Результат выполнения данного примера:

Escaped string: Zak\'s Laptop

Примечания

Замечание:

mysql_escape_string() не экранирует символы % и _.

Смотрите также

  • mysql_real_escape_string() - Экранирует специальные символы в строках для использования в выражениях SQL
  • addslashes() - Экранирует строку с помощью слэшей
  • Директиву magic_quotes_gpc.

mysql_error
mysql_fetch_array
MySQL


Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба

mysql_escape_string
mysql_fetch_assoc
MySQL
PHP Manual

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба

Описание

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

Возвращает массив, соответствующий обработанному ряду результата запроса и сдвигает внутренний указатель данных вперед.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

result_type

Тип возвращаемого массива. Является константой и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH.

Возвращаемые значения

Возвращает массив строк, соответствующих обработанному ряду результата запроса, или FALSE, если рядов больше нет. Тип возвращаемого массива зависит от значения параметра result_type. При использовании MYSQL_BOTH (по умолчанию), вы получите массив, состоящий как из ассоциативных индексов, так и из численных. MYSQL_ASSOC вернёт только ассоциативные индексы (аналогично функции mysql_fetch_assoc()), а MYSQL_NUM - только численные (аналогично функции mysql_fetch_row()).

Если несколько колонок в результате будут иметь одинаковые названия, то будет возвращена последняя колонка. Чтобы получить доступ к другим колонкам с тем же именем, используйте численные индексы массива или псевдонимы в запросе. В случае псевдонимов используйте именно их - вы не сможете использовать настоящие имена колонок.

Примеры

Пример #1 Запрос с применением псевдонимов для дублирующихся имен колонок

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Пример #2 mysql_fetch_array() с MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Ошибка соединения: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Имя: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Пример #3 mysql_fetch_array() с MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Ошибка соединения: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Имя: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Пример #4 mysql_fetch_array() с MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Ошибка соединения: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Имя: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Примечания

Замечание: Производительность

Важно заметить, что mysql_fetch_array() работает незначительно медленнее, чем mysql_fetch_row(), в то же время предоставляя намного более удобный доступ к данным.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_data_seek() - Перемещает внутренний указатель в результате запроса
  • mysql_query() - Посылает запрос MySQL

mysql_escape_string
mysql_fetch_assoc
MySQL


Возвращает ряд результата запроса в качестве ассоциативного массива

mysql_fetch_array
mysql_fetch_field
MySQL
PHP Manual

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Возвращает ряд результата запроса в качестве ассоциативного массива

Описание

array mysql_fetch_assoc ( resource $result )

Возвращает ассоциативный массив, соответсвующий полученному ряду и сдвигает вперед внутренний указатель результата. Функция mysql_fetch_assoc() аналогична вызову функции mysql_fetch_array() со вторым необязательным параметром, равным MYSQL_ASSOC. Функция возвращает только ассоциативный массив.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Возвращает ассоциативный массив строк, соответствующий полученному ряду, либо FALSE если рядов больше нет.

Если два или более столбцов результата имеют одинаковые имена, приоритет будет иметь последний столбец. Для доступа к другому одноименному столбцу (или столбцам), вам необходимо либо обратиться к результату запроса по числовому индексу с помощью mysql_fetch_row() либо добавить псевдонимы к нужным столбцам. Для более подробной информации о псевдонимах смотрите описание примера mysql_fetch_array().

Примеры

Пример #1 Расширенный пример использования mysql_fetch_assoc()

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("mydbname")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}

$sql = "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// До тех пор, пока в результате содержатся ряды, помещаем их в ассоциативный массив.
// Замечание: если запрос возвращает только один ряд - нет нужды в цикле.
// Замечание: если вы добавите extract($row); в начало цикла, вы сделаете
//            доступными переменные $userid, $fullname и $userstatus
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

mysql_free_result($result);

?>

Примечания

Замечание: Производительность

Важно отметить, что mysql_fetch_assoc() лишь незначительно медленнее, чем mysql_fetch_row(), но в то же время предоставляет важную дополнительную информацию.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_fetch_array() - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_data_seek() - Перемещает внутренний указатель в результате запроса
  • mysql_query() - Посылает запрос MySQL
  • mysql_error() - Возвращает текст ошибки последней операции с MySQL

mysql_fetch_array
mysql_fetch_field
MySQL


Возвращает информацию о колонке из результата запроса в виде объекта

mysql_fetch_assoc
mysql_fetch_lengths
MySQL
PHP Manual

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Возвращает информацию о колонке из результата запроса в виде объекта

Описание

object mysql_fetch_field ( resource $result [, int $field_offset = 0 ] )

Возвращает объект, содержащий информацию о колонке. Эту функцию можно использовать для получения информации о полях в переданном результате запроса.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. Если смещение не указано, функция возвращает информацию о первой колонке, которая ещё не была обработана этой функцией. Нумерация field_offset начинается с 0.

Возвращаемые значения

Возвращает object, содержащий информацию о колонке. Объект содержит следующие свойства:

  • name - название колонки
  • table - название таблицы, которой принадлежит колонка
  • max_length - максимальная длина колонки
  • not_null - 1, если колонка не может быть NULL
  • primary_key - 1, если колонка является первичным индексом
  • unique_key - 1, если колонка является уникальным индексом
  • multiple_key - 1, если колонка является неуникальным индексом
  • numeric - 1, если колонка численная
  • blob - 1, если колонка является BLOB
  • type - тип колонки
  • unsigned - 1, если колонка не содержит знака (unsigned)
  • zerofill - 1, если колонка заполняется нулями (zero-filled)

Примеры

Пример #1 Пример использования mysql_fetch_field()

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
    die('Ошибка при соединении: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
    die('Ошибка в запросе: ' . mysql_error());
}
/* получаем данные о колонке */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Информация о колонке $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "Информация недоступна<br />\n";
    }
    echo "<pre>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</pre>";
    $i++;
}
mysql_free_result($result);
?>

Примечания

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Смотрите также

  • mysql_field_seek() - Устанавливает внутренний указатель результата на переданное смещение поля

mysql_fetch_assoc
mysql_fetch_lengths
MySQL


Возвращает длину каждого поля в результате

mysql_fetch_field
mysql_fetch_object
MySQL
PHP Manual

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Возвращает длину каждого поля в результате

Описание

array mysql_fetch_lengths ( resource $result )

Возвращает массив длин для каждого поля, содержащегося в последнем ряду результата, полученном из MySQL.

mysql_fetch_lengths() возвращает длины каждого поля,
содержащегося в последнем ряду, обработанном функциями
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array() и
mysql_fetch_object() в массиве, начинающемся с 0.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Массив (array) длин в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_fetch_lengths()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Ошибка выполнения запроса: ' . mysql_error();
    exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

Смотрите также

  • mysql_field_len() - Возвращает длину указанного поля
  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • strlen() - Возвращает длину строки

mysql_fetch_field
mysql_fetch_object
MySQL


Обрабатывает ряд результата запроса и возвращает объект

mysql_fetch_lengths
mysql_fetch_row
MySQL
PHP Manual

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Обрабатывает ряд результата запроса и возвращает объект

Описание

object mysql_fetch_object ( resource $result [, string $class_name [, array $params ]] )

Возвращает объект со свойствами, соответствующими колонкам в обработанном ряду и сдвигает внутренний указатель результата вперед.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

class_name

Имя класса. Будет создан экземпляр указанного класса, заполнен свойствами и возвращен. Если не указан, возвращается экземпляр stdClass.

params

Необязательный массив (array) параметров, передаваемых в конструктор создаваемого экземпляра class_name.

Возвращаемые значения

Возвращает объект (object) со строковыми свойствами, соответствующими полученному ряду, или FALSE, если рядов больше нет.

Список изменений

Версия | Описание
5.0.0 | Добавлена возможность возврата результата в виде различных объектов.

Примеры

Пример #1 Пример использования mysql_fetch_object()

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
mysql_free_result($result);
?>

Пример #2 Пример использования mysql_fetch_object()

<?php
class foo {
    public $name;
}

mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");

$result = mysql_query("select name from mytable limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
?>

Примечания

Замечание: Производительность

В плане скорости эта функция аналогична mysql_fetch_array() и почти также быстра, как mysql_fetch_row() (разница незначительна).

Замечание:

mysql_fetch_object() работает аналогично mysql_fetch_array(), с единственным отличием - функция возвращает объект вместо массива. Это, кроме всего прочего, означает, что вы сможете работать с полями только по имени колонок, а не индексов (числа не могут быть свойствами объекта).

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mysql_fetch_array() - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_data_seek() - Перемещает внутренний указатель в результате запроса
  • mysql_query() - Посылает запрос MySQL

mysql_fetch_lengths
mysql_fetch_row
MySQL


Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами

mysql_fetch_object
mysql_field_flags
MySQL
PHP Manual

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами

Описание

array mysql_fetch_row ( resource $result )

Возвращает массив с числовыми индексами, содержащий данные обработанного ряда, и сдвигает внутренний указатель результата вперед.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Возвращает массив строк с числовыми индексами, содержащий данные обработанного ряда, или FALSE, если рядов не осталось.

mysql_fetch_row() обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в виде массива. Каждая колонка располагается в следующей ячейке массива, начиная с нулевого индекса

Примеры

Пример #1 Получение одного ряда с помощью mysql_fetch_row()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Ошибка запроса: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // email
?>

Примечания

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Смотрите также

  • mysql_fetch_array() - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_fetch_object() - Обрабатывает ряд результата запроса и возвращает объект
  • mysql_data_seek() - Перемещает внутренний указатель в результате запроса
  • mysql_fetch_lengths() - Возвращает длину каждого поля в результате
  • mysql_result() - Возвращает данные результата запроса

mysql_fetch_object
mysql_field_flags
MySQL


Возвращает флаги, связанные с указанным полем результата запроса

mysql_fetch_row
mysql_field_len
MySQL
PHP Manual

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Возвращает флаги, связанные с указанным полем результата запроса

Описание

string mysql_field_flags ( resource $result , int $field_offset )

mysql_field_flags() возвращает флаги, связанные с указанным полем. Каждый флаг возвращается как отдельное слово, отделённое от предыдущего пробелом. Полученное значение можно разбить в массив, используя функцию explode().

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает строку с флагами, связанными с результатом или FALSE в случае возникновения ошибки.

Возвращаются следующие флаги, если ваша версия MySQL их уже поддерживает: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" и "timestamp".

Примеры

Пример #1 Пример использования mysql_field_flags()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Ошибка в запросе: ' . mysql_error();
    exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

Результатом выполнения данного примера будет что-то подобное:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_fieldflags()

Смотрите также

  • mysql_field_type() - Возвращает тип указанного поля из результата запроса
  • mysql_field_len() - Возвращает длину указанного поля

mysql_fetch_row
mysql_field_len
MySQL


Возвращает длину указанного поля

mysql_field_flags
mysql_field_name
MySQL
PHP Manual

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Возвращает длину указанного поля

Описание

int mysql_field_len ( resource $result , int $field_offset )

mysql_field_len() возвращает длину указанного поля.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Длина указанного поля в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_field_len()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Не удалось выполнить запрос: ' . mysql_error();
    exit;
}

// Получит длину поля id так, как указано в структуре базы данных
$length = mysql_field_len($result, 0);
echo $length;
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_fieldlen()

Смотрите также

  • mysql_fetch_lengths() - Возвращает длину каждого поля в результате
  • strlen() - Возвращает длину строки

mysql_field_flags
mysql_field_name
MySQL


Возвращает название указанной колонки результата запроса

mysql_field_len
mysql_field_seek
MySQL
PHP Manual

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Возвращает название указанной колонки результата запроса

Описание

string mysql_field_name ( resource $result , int $field_offset )

mysql_field_name() возвращает название колонки с указанным индексом.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Название поля по указанному индексу в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_field_name()

<?php
/* Таблица пользователей состоит из трёх колонок:
 *   user_id
 *   username
 *   password.
 */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения с MySQL: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die("Не удалось выбрать базу $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

Результат выполнения данного примера:

user_id
password

Примечания

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_fieldname()

Смотрите также

  • mysql_field_type() - Возвращает тип указанного поля из результата запроса
  • mysql_field_len() - Возвращает длину указанного поля

mysql_field_len
mysql_field_seek
MySQL


Устанавливает внутренний указатель результата на переданное смещение поля

mysql_field_name
mysql_field_table
MySQL
PHP Manual

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Устанавливает внутренний указатель результата на переданное смещение поля

Описание

bool mysql_field_seek ( resource $result , int $field_offset )

Перемещает указатель к полю с указанным смещением. Если следующий вызов функции mysql_fetch_field() не содержит смещения, то будет возвращено смещение, содержащееся в mysql_field_seek().

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mysql_fetch_field() - Возвращает информацию о колонке из результата запроса в виде объекта

mysql_field_name
mysql_field_table
MySQL


Возвращает название таблицы, которой принадлежит указанное поле

mysql_field_seek
mysql_field_type
MySQL
PHP Manual

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Возвращает название таблицы, которой принадлежит указанное поле

Описание

string mysql_field_table ( resource $result , int $field_offset )

Возвращает название таблицы, которой принадлежит указанное поле.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Имя таблицы в случае успеха.

Примеры

Пример #1 Пример использования mysql_field_table()

<?php

$query = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";

// получаем результат из базы данных
$result = mysql_query($query);

// выводит имя таблицы и имя поля
for ($i = 0; $i < mysql_num_fields($result); ++$i) {
    $table = mysql_field_table($result, $i);
    $field = mysql_field_name($result, $i);

    echo  "$table: $field\n";
}

?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_fieldtable()

Смотрите также

  • mysql_list_tables() - Возвращает список таблиц базы данных MySQL

mysql_field_seek
mysql_field_type
MySQL


Возвращает тип указанного поля из результата запроса

mysql_field_table
mysql_free_result
MySQL
PHP Manual

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Возвращает тип указанного поля из результата запроса

Описание

string mysql_field_type ( resource $result , int $field_offset )

Функция mysql_field_type() аналогична функции mysql_field_name(). Аргументы одинаковы, но вместо имени колонки возвращается её тип.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. The field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Поля могут быть следующих типов: "int", "real", "string", "blob" и других, подробно описанных » документации MySQL.

Примеры

Пример #1 Пример использования mysql_field_type()

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Ваша таблица '" . $table . "' содержит " . $fields . " поля и " . $rows . " запись\n";
echo "В таблице есть следующие поля:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

Результатом выполнения данного примера будет что-то подобное:

Ваша таблица 'func' содержит 4 поля и 1 запись
В таблице есть следующие поля:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_fieldtype()

Смотрите также

  • mysql_field_name() - Возвращает название указанной колонки результата запроса
  • mysql_field_len() - Возвращает длину указанного поля

mysql_field_table
mysql_free_result
MySQL


Освобождает память от результата запроса

mysql_field_type
mysql_get_client_info
MySQL
PHP Manual

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Освобождает память от результата запроса

Описание

bool mysql_free_result ( resource $result )

mysql_free_result() высвободит всю память, занимаемую результатом, на который ссылается переданный дескриптор result.

mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Если в качестве параметра result передан не ресурс, то будет вызвана ошибка уровня E_WARNING. Стоит также заметить, что mysql_query() возвращает resource только для запросов SELECT, SHOW, EXPLAIN и DESCRIBE.

Примеры

Пример #1 Пример использования mysql_free_result()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Не удалось выполнить запрос: ' . mysql_error();
    exit;
}
/* Используем результат, подразумевая, что после этого он нам больше не нужен */
$row = mysql_fetch_assoc($result);

/* Теперь освобождаем результат и продолжаем дальнейшую работу над нашим скриптом */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_freeresult()

Смотрите также

  • mysql_query() - Посылает запрос MySQL
  • is_resource() - Проверяет, является ли переменная ресурсом

mysql_field_type
mysql_get_client_info
MySQL


Возвращает данные о MySQL-клиенте

mysql_free_result
mysql_get_host_info
MySQL
PHP Manual

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — Возвращает данные о MySQL-клиенте

Описание

string mysql_get_client_info ( void )

mysql_get_client_info() возвращает строку, содержащую версию клиентской библиотеки.

Возвращаемые значения

Версия клиентской библиотеки MySQL.

Примеры

Пример #1 Пример использования mysql_get_client_info()

<?php
printf("Версия клиентской библиотеки MySQL: %s\n", mysql_get_client_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Версия клиентской библиотеки MySQL: 3.23.39

Смотрите также

  • mysql_get_host_info() - Возвращает информацию о соединении с MySQL
  • mysql_get_proto_info() - Возвращает информацию о протоколе MySQL
  • mysql_get_server_info() - Возвращает информацию о сервере MySQL

mysql_free_result
mysql_get_host_info
MySQL


Возвращает информацию о соединении с MySQL

mysql_get_client_info
mysql_get_proto_info
MySQL
PHP Manual

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — Возвращает информацию о соединении с MySQL

Описание

string mysql_get_host_info ([ resource $link_identifier ] )

Описывает тип используемого соединения, указанного переданным дескриптором соединения, включая имя хоста.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает строку, описывающую тип используемого соединения, указанного переданным дескриптором соединения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_get_host_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
printf("Тип соединения с MySQL: %s\n", mysql_get_host_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Тип соединения с MySQL: Localhost via UNIX socket

Смотрите также

  • mysql_get_client_info() - Возвращает данные о MySQL-клиенте
  • mysql_get_proto_info() - Возвращает информацию о протоколе MySQL
  • mysql_get_server_info() - Возвращает информацию о сервере MySQL

mysql_get_client_info
mysql_get_proto_info
MySQL


Возвращает информацию о протоколе MySQL

mysql_get_host_info
mysql_get_server_info
MySQL
PHP Manual

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — Возвращает информацию о протоколе MySQL

Описание

int mysql_get_proto_info ([ resource $link_identifier ] )

Возвращает информацию о протоколе MySQL.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает используемый протокол MySQL в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_get_proto_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
printf("Версия протокола MySQL: %s\n", mysql_get_proto_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Версия протокола MySQL: 10

Смотрите также

  • mysql_get_client_info() - Возвращает данные о MySQL-клиенте
  • mysql_get_host_info() - Возвращает информацию о соединении с MySQL
  • mysql_get_server_info() - Возвращает информацию о сервере MySQL

mysql_get_host_info
mysql_get_server_info
MySQL


Возвращает информацию о сервере MySQL

mysql_get_proto_info
mysql_info
MySQL
PHP Manual

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — Возвращает информацию о сервере MySQL

Описание

string mysql_get_server_info ([ resource $link_identifier ] )

Возвращает версию сервера MySQL.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает версию сервера MySQL в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_get_server_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
printf("Версия сервера MySQL: %s\n", mysql_get_server_info());
?>

Результатом выполнения данного примера будет что-то подобное:

Версия сервера MySQL: 4.0.1-alpha

Смотрите также

  • mysql_get_client_info() - Возвращает данные о MySQL-клиенте
  • mysql_get_host_info() - Возвращает информацию о соединении с MySQL
  • mysql_get_proto_info() - Возвращает информацию о протоколе MySQL
  • phpversion() - Gets the current PHP version

mysql_get_proto_info
mysql_info
MySQL


Возвращает информацию о последнем запросе

mysql_get_server_info
mysql_insert_id
MySQL
PHP Manual

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — Возвращает информацию о последнем запросе

Описание

string mysql_info ([ resource $link_identifier ] )

Возвращает подробную информацию о последнем запросе.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает информацию о запросе в случае успеха, или FALSE в случае ошибки. Смотрите пример ниже для каких запросов возвращается информация и как выглядят возвращаемые значения. Для неперечисленных запросов будет возвращено значение FALSE.

Примеры

Пример #1 Корректные виды запросов MySQL

Числа расставлены только для примера -- их значения зависят от результата запроса.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Примечания

Замечание:

mysql_info() возвращает значение не равное FALSE для INSERT ... VALUES только в том случае, если в запросе присутствует несколько списков значений.

Смотрите также

  • mysql_affected_rows() - Возвращает число затронутых прошлой операцией рядов
  • mysql_insert_id() - Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
  • mysql_stat() - Возвращает текущий статус сервера

mysql_get_server_info
mysql_insert_id
MySQL


Возвращает идентификатор, сгенерированный при последнем INSERT-запросе

mysql_info
mysql_list_dbs
MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе

Описание

int mysql_insert_id ([ resource $link_identifier ] )

Возвращает идентификатор, сгенерированный колонкой с AUTO_INCREMENT последним запросом (обычно INSERT).

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Идентификатор, сгенерированный колонкой с AUTO_INCREMENT последним запросом в случае успеха , 0, если последний запрос не генерирует значение AUTO_INCREMENT value, и FALSE, если соединение MySQL не было установлено.

Примеры

Пример #1 Пример использования mysql_insert_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Идентификатор последней вставленной записи %d\n", mysql_insert_id());
?>

Примечания

Предостережение

mysql_insert_id() конвертирует возвращаемый функцией MySQL C API тип значения функции mysql_insert_id() в тип long (называемый int в PHP). Если ваша колонка AUTO_INCREMENT имеет тип BIGINT (64 бита), то значение, возвращаемое функцией в результате преобразования может быть искажено. Используйте вместо данной функции внутреннюю MySQL-функцию LAST_INSERT_ID() в SQL-запросе. Подробнее о максимальных значениях целых чисел смотрите в разделе документации, посвященном целым числам.

Замечание:

Так как mysql_insert_id() работает с последним выполненным запросом, вызывайте mysql_insert_id() сразу же после запроса, генерирующего новое значение.

Замечание:

Значение в SQL функции MySQL LAST_INSERT_ID() всегда содержит последний сгенерированный ID и не обнуляется между запросами.

Смотрите также

  • mysql_query() - Посылает запрос MySQL
  • mysql_info() - Возвращает информацию о последнем запросе

mysql_info
mysql_list_dbs
MySQL


Возвращает список баз данных, доступных на сервере

mysql_insert_id
mysql_list_fields
MySQL
PHP Manual

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Возвращает список баз данных, доступных на сервере

Описание

resource mysql_list_dbs ([ resource $link_identifier ] )

Возвращает указатель на результат, содержащий список баз данных, доступных на указанном сервере.

Внимание

Эта функция УСТАРЕЛА начиная с версии PHP 5.4.0. Пользование этой функцией не рекомендуется.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает resource результата в случае успеха, или FALSE в случае ошибки. Используйте функцию mysql_tablename(), чтобы получить данные из результата, или любую другую функцию, работающую с результатами запросов, например mysql_fetch_array().

Примеры

Пример #1 Пример использования mysql_list_dbs()

<?php
// Без использования mysql_list_dbs()
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$res = mysql_query("SHOW DATABASES");

while ($row = mysql_fetch_assoc($res)) {
    echo $row['Database'] . "\n";
}

// Устарело, начиная с PHP 5.4.0
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

database1
database2
database3

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_listdbs()

Смотрите также

  • mysql_db_name() - Возвращает название базы данных из вызова к mysql_list_dbs
  • mysql_select_db() - Выбирает базу данных MySQL

mysql_insert_id
mysql_list_fields
MySQL


Возвращает список колонок таблицы

mysql_list_dbs
mysql_list_processes
MySQL
PHP Manual

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — Возвращает список колонок таблицы

Описание

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Возвращает информацию о таблице с переданным именем.

Эта функция устарела. Вместо нее рекомендуется использовать mysql_query() с SQL-запросом SHOW COLUMNS FROM table [LIKE 'name'].

Список параметров

database_name

Имя опрашиваемой базы данных.

table_name

Имя опрашиваемой таблицы.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Дескриптор результата (resource) в случае успеха, или FALSE в случае ошибки.

Возвращаемый результат может быть обработан с помощью следующих
функций: mysql_field_flags(),
mysql_field_len(),
mysql_field_name() и
mysql_field_type().

Примеры

Пример #1 Пример использования mysql_list_fields()

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
    echo 'Ошибка при выполнении запроса: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        print_r($row);
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_listfields()

Смотрите также

  • mysql_field_flags() - Возвращает флаги, связанные с указанным полем результата запроса
  • mysql_info() - Возвращает информацию о последнем запросе

mysql_list_dbs
mysql_list_processes
MySQL


Возвращает список процессов MySQL

mysql_list_fields
mysql_list_tables
MySQL
PHP Manual

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — Возвращает список процессов MySQL

Описание

resource mysql_list_processes ([ resource $link_identifier ] )

Возвращает список текущих процессов на сервере MySQL.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Дескриптор результата (resource) в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_list_processes()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
    printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
        $row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

Результатом выполнения данного примера будет что-то подобное:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Смотрите также

  • mysql_thread_id() - Возвращает идентификатор текущего потока
  • mysql_stat() - Возвращает текущий статус сервера

mysql_list_fields
mysql_list_tables
MySQL


Возвращает список таблиц базы данных MySQL

mysql_list_processes
mysql_num_fields
MySQL
PHP Manual

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Возвращает список таблиц базы данных MySQL

Описание

resource mysql_list_tables ( string $database [, resource $link_identifier ] )

Возвращает список имен таблиц базы данных MySQL.

Данная функция устарела. Вместо нее рекомендуется использовать mysql_query() с запросом SHOW TABLES [FROM db_name] [LIKE 'pattern'].

Список параметров

database

Имя базы данных

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Дескриптор результата (resource) в случае успеха или FALSE в случае возникновения ошибки.

Используйте функцию mysql_tablename() для работы с результатом запроса, либо любую другую функцию, способную это делать, например, mysql_fetch_array().

Список изменений

Версия | Описание
4.3.7 | Функция помечена устаревшей.

Примеры

Пример #1 Пример использования mysql_list_tables()

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Ошибка подключения к mysql';
    exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
    echo "Ошибка базы, не удалось получить список таблиц\n";
    echo 'Ошибка MySQL: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Таблица: {$row[0]}\n";
}

mysql_free_result($result);
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_listtables()

Смотрите также

  • mysql_list_dbs() - Возвращает список баз данных, доступных на сервере
  • mysql_tablename() - Возвращает имя таблицы, содержащей указанное поле

mysql_list_processes
mysql_num_fields
MySQL


Возвращает количество полей результата запроса

mysql_list_tables
mysql_num_rows
MySQL
PHP Manual

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Возвращает количество полей результата запроса

Описание

int mysql_num_fields ( resource $result )

Возвращает количество полей в результате запроса.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Возвращает количество полей в результате запроса (resource) в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_num_fields()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Не удалось выполнить запрос: ' . mysql_error();
    exit;
}

/* возвращает 2, так как id,email === двум полям */
echo mysql_num_fields($result);
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_numfields()

Смотрите также

  • mysql_select_db() - Выбирает базу данных MySQL
  • mysql_query() - Посылает запрос MySQL
  • mysql_fetch_field() - Возвращает информацию о колонке из результата запроса в виде объекта
  • mysql_num_rows() - Возвращает количество рядов результата запроса

mysql_list_tables
mysql_num_rows
MySQL


Возвращает количество рядов результата запроса

mysql_num_fields
mysql_pconnect
MySQL
PHP Manual

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Возвращает количество рядов результата запроса

Описание

int mysql_num_rows ( resource $result )

Возвращает количество рядов результата запроса. Эта команда работает только с запросами SELECT или SHOW, возвращающих актуальный результат запроса. Чтобы получить количество рядов, обработанных функцями INSERT, UPDATE, REPLACE и DELETE, используйте функцию mysql_affected_rows().

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

Возвращаемые значения

Количество рядов в результате запроса в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_num_rows()

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "Получено $num_rows рядов\n";

?>

Примечания

Замечание:

При использовании mysql_unbuffered_query() функция mysql_num_rows() не вернёт корректного значения до тех пор, пока все ряды не будут получены.

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_numrows()

Смотрите также

  • mysql_affected_rows() - Возвращает число затронутых прошлой операцией рядов
  • mysql_connect() - Открывает соединение с сервером MySQL
  • mysql_data_seek() - Перемещает внутренний указатель в результате запроса
  • mysql_select_db() - Выбирает базу данных MySQL
  • mysql_query() - Посылает запрос MySQL

mysql_num_fields
mysql_pconnect
MySQL


Устанавливает постоянное соединение с сервером MySQL

mysql_num_rows
mysql_ping
MySQL
PHP Manual

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL

Описание

resource mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags ]]]] )

Устанавливает постоянное соединение с сервером MySQL.

mysql_pconnect() работает аналогично mysql_connect() с двумя важными отличиями.

Во-первых, при соединении функция пытается найти уже открытый (постоянный) указатель на тот же сервер с тем же пользователем и паролем. Если он найден, возвращён функцией будет именно он, вместо открытия нового соединения.

Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения, открытые mysql_pconnect()).

Соединения такого типа называют 'постоянными'.

Список параметров

server

Сервер MySQL. Может также включать номер порта, например, "hostname:port" или путь к локальному сокету, например, ":/path/to/socket" для локального хоста.

Если директива mysql.default_host не определена (по умолчанию), то по умолчанию используется значение 'localhost:3306'

username

Имя пользователя. По умолчанию используется имя пользователя, владеющего серверным процессом.

password

Пароль. По умолчанию используется пустая строка.

client_flags

Параметр client_flags может быть комбинацией следующих констант: 128 (включает обработку LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE и MYSQL_CLIENT_INTERACTIVE.

Возвращаемые значения

Возвращает дескриптор постоянного соединения MySQL в случае успеха, и FALSE в случае ошибки.

Список изменений

Версия | Описание
4.3.0 | Добавлен параметр client_flags.

Примечания

Замечание:

Учтите, что соединения такого типа работают только, если PHP установлен как модуль. За дополнительной информацией обращайтесь к разделу "Постоянные соединения с базами данных".

Внимание

Использование постоянных соединений может потребовать некоторой настройки Apache и MySQL. Убедитесь, что вы не превысите максимальное число дозволенных соединений в MySQL.

Замечание:

Можно подавить сообщение об ошибке при неудачном соединении поставив перед вызовом функции оператор @.

Смотрите также

  • mysql_connect() - Открывает соединение с сервером MySQL
  • "Постоянные соединения с базами данных"

mysql_num_rows
mysql_ping
MySQL


Проверяет соединение с сервером и пересоединяется при необходимости

mysql_pconnect
mysql_query
MySQL
PHP Manual

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Проверяет соединение с сервером и пересоединяется при необходимости

Описание

bool mysql_ping ([ resource $link_identifier ] )

Проверяет работает ли соединение с сервером. Если оно утеряно, автоматически предпринимается попытка пересоединения. Эта функция может быть использована в скриптах, работающих на протяжении долгого времени.

Замечание:

Начиная с версии MySQL 5.0.13, возможность автовосстановления соединения была отключена.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE, если соединение в рабочем состоянии и FALSE в противном случае.

Примеры

Пример #1 Пример использования mysql_ping()

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* Подразумевается что этот запрос будет выполняться достаточно долго */
$result = mysql_query($sql);
if (!$result) {
    echo 'Запрос #1 не удался, выходим.';
    exit;
}

/* Проверяем что соединение еще работает, если нет, соединяемся заново */
if (!mysql_ping($conn)) {
    echo 'Соединение потеряно, выходим после запроса #1';
    exit;
}
mysql_free_result($result);

/* Соединение еще работает, выполняем еще один запрос */
$result2 = mysql_query($sql2);
?>

Смотрите также

  • mysql_thread_id() - Возвращает идентификатор текущего потока
  • mysql_list_processes() - Возвращает список процессов MySQL

mysql_pconnect
mysql_query
MySQL


Посылает запрос MySQL

mysql_ping
mysql_real_escape_string
MySQL
PHP Manual

mysql_query

(PHP 4, PHP 5)

mysql_query — Посылает запрос MySQL

Описание

resource mysql_query ( string $query [, resource $link_identifier ] )

mysql_query() посылает один запрос (посылка нескольких запросов не поддерживается) активной базе данных сервера, на который ссылается переданный дескриптор link_identifier.

Список параметров

query

SQL-запрос

Запрос не должен заканчиваться точкой с запятой. Данные в запросе должны быть корректно проэкранированы.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.

Для других типов SQL-запросов, INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.

Полученный дескриптор результата нужно передать в функцию mysql_fetch_array() или любую другую функцию, работающую с результатами запросов.

Используйте mysql_num_rows() для выяснения количества рядов в результате SELECT-запроса или mysql_affected_rows() для выяснения количества обработанных рядов запросами DELETE, INSERT, REPLACE и UPDATE.

mysql_query() также завершится с ошибкой и вернет FALSE, если у пользователя нет доступа к какой-либо из таблиц, фигурирующих в запросе.

Примеры

Пример #1 Неверный запрос

Следующий запрос составлен неправильно и mysql_query() вернёт FALSE.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Неверный запрос: ' . mysql_error());
}

?>

Пример #2 Верный запрос

Следующий запрос верен, поэтому mysql_query() вернет resource.

<?php
// Эти данные, к примеру, могли быть получены от пользователя
$firstname = 'fred';
$lastname  = 'fox';

// Формируем запрос
// Это лучший способ выполнить SQL-запрос
// Еще примеры можно найти в документации mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends
    WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Выполняем запрос
$result = mysql_query($query);

// Проверяем результат
// Это показывает реальный запрос, посланный к MySQL, а также ошибку. Удобно при отладке.
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}

// Используем результат
// Попытка напечатать $result не выведет информацию, которая в нем хранится
// Необходимо использовать какую-либо mysql-функцию, работающую с результатом запроса
// См. также mysql_result(), mysql_fetch_array(), mysql_fetch_row() и т.п.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Освобождаем ресурсы, ассоциированные с результатом
// Это делается автоматически в конце скрипта
mysql_free_result($result);
?>

Смотрите также

  • mysql_connect() - Открывает соединение с сервером MySQL
  • mysql_error() - Возвращает текст ошибки последней операции с MySQL
  • mysql_real_escape_string() - Экранирует специальные символы в строках для использования в выражениях SQL
  • mysql_result() - Возвращает данные результата запроса
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_unbuffered_query() - Посылает запрос MySQL без авто-обработки результата и его буферизации

mysql_ping
mysql_real_escape_string
MySQL


Экранирует специальные символы в строках для использования в выражениях SQL

mysql_query
mysql_result
MySQL
PHP Manual

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Экранирует специальные символы в строках для использования в выражениях SQL

Описание

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

Экранирует специальные символы в unescaped_string, принимая во внимание кодировку соединения, таким образом, что результат можно безопасно использовать в SQL-запросе в функции mysql_query(). Если вставляются бинарные данные, то к ним так же необходимо применять эту функцию.

mysql_real_escape_string() вызывает библиотечную функцмю MySQL mysql_real_escape_string, которая добавляет обратную косую черту к следующим символам: \x00, \n, \r, \, ', " и \x1a.

Эта функция должна всегда (за несколькими исключениями) использоваться для того, чтобы обезопасить данные, вставляемые в запрос перед отправкой его в MySQL.

Список параметров

unescaped_string

Экранируемая строка.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает строку, в которой экранированы все необходимые символы, или FALSE в случае ошибки.

Примеры

Пример #1 Простой пример использования mysql_real_escape_string()

<?php
// Соединение
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Запрос
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

Пример #2 Пример взлома с использованием SQL-инъекции

<?php
// Мы не никак проверили переменную $_POST['password'],
// а она может содержать совсем не то, что мы ожидали. Например:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// посылаем запрос, чтобы проверить имя и пароль пользователя
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// посмотрим, какой запрос будет отправлен в MySQL:
echo $query;
?>

Запрос, который будет отправлен в MySQL:

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''

Это позволит кому угодно войти в систему без пароля.

Примечания

Замечание:

Функцию mysql_real_escape_string() можно использовать только после того, как установлено соединение с MySQL. В противном случае возникнет ошибка уровня E_WARNING, а функция возвратит FALSE. Если link_identifier не указан, используется последнее открытое соединение.

Замечание:

Если magic_quotes_gpc включены, то сначала данные следует обработать функцией stripslashes(). Если данную функцию применить к уже проэкранированным данным, то данные будут проэкранированы дважды.

Замечание:

Если не пользоваться этой функцией, то запрос становится уязвимым для взлома с помощью SQL-инъекций.

Замечание: mysql_real_escape_string() не экранирует символы % и _. Эти знаки являются масками групп символов в операторах MySQL LIKE, GRANT и REVOKE.

Смотрите также

  • mysql_client_encoding() - Возвращает кодировку соединения
  • addslashes() - Экранирует строку с помощью слэшей
  • stripslashes() - Удаляет экранирование символов
  • Директива magic_quotes_gpc
  • Директива magic_quotes_runtime

mysql_query
mysql_result
MySQL


Возвращает данные результата запроса

mysql_real_escape_string
mysql_select_db
MySQL
PHP Manual

mysql_result

(PHP 4, PHP 5)

mysql_result — Возвращает данные результата запроса

Описание

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )

Возвращает содержимое одного поля из набора результата MySQL.

Работая с большими результатами запросов, следует использовать одну из функций, обрабатывающих сразу целый ряд результата (указаны ниже). Так как эти функции возвращают значение нескольких ячеек сразу, они НАМНОГО быстрее mysql_result(). Кроме того, учтите, что указание численного смещения работает намного быстрее, чем указание колонки, или колонки с таблицей через точку.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

row

Номер получаемого ряда из результата. Нумерация рядов начинается с 0.

field

Имя или смещение получаемого поля.

Может быть как смещением поля, именем поля, так и именем поля вместе с таблицей (таблица.поле). Если для поля был указан псевдоним ('select foo as bar from...'), используйте его вместо имени самого поля. Если не указан, возвращается первое поле.

Возвращаемые значения

Содержимое одного поля из набора результата MySQL в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования mysql_result()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Ошибка соединения: ' . mysql_error());
}
if (!mysql_select_db('database_name')) {
    die('Ошибка выбора базы данных: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Ошибка выполнения запроса:' . mysql_error());
}
echo mysql_result($result, 2); // выведет имя третьего сотрудника

mysql_close($link);
?>

Примечания

Замечание:

Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса.

Смотрите также

  • mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
  • mysql_fetch_array() - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
  • mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_fetch_object() - Обрабатывает ряд результата запроса и возвращает объект

mysql_real_escape_string
mysql_select_db
MySQL


Выбирает базу данных MySQL

mysql_result
mysql_set_charset
MySQL
PHP Manual

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Выбирает базу данных MySQL

Описание

bool mysql_select_db ( string $database_name [, resource $link_identifier ] )

Выбирает для работы указанную базу данных на сервере, на который ссылается переданный дескриптор соединения. Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.

Список параметров

database_name

Имя выбираемой базы данных.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_select_db()

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Не удалось соединиться : ' . mysql_error());
}

// выбираем foo в качестве текущей базы данных
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Не удалось выбрать базу foo: ' . mysql_error());
}
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_selectdb()

Смотрите также

  • mysql_connect() - Открывает соединение с сервером MySQL
  • mysql_pconnect() - Устанавливает постоянное соединение с сервером MySQL
  • mysql_query() - Посылает запрос MySQL

mysql_result
mysql_set_charset
MySQL


Устанавливает кодировку клиента

mysql_select_db
mysql_stat
MySQL
PHP Manual

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Устанавливает кодировку клиента

Описание

bool mysql_set_charset ( string $charset [, resource $link_identifier ] )

Устанавливает кодировку по умолчанию для текущего соединения.

Список параметров

charset

Корректное название кодировки.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Данная функция требует MySQL версии 5.0.7 или выше.

Замечание:

Это наиболее предпочитаемый способ для смены кодировки. Использование mysql_query() с запросом SET NAMES .. не рекомендуется.

Смотрите также

  • mysql_client_encoding() - Возвращает кодировку соединения
  • » Список поддерживаемых MySQL кодировок

mysql_select_db
mysql_stat
MySQL


Возвращает текущий статус сервера

mysql_set_charset
mysql_tablename
MySQL
PHP Manual

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Возвращает текущий статус сервера

Описание

string mysql_stat ([ resource $link_identifier ] )

mysql_stat() возвращает текущий статус сервера.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает строку с данными аптайма, количества потоков, запросов, количеством открытых таблиц и таблиц с сброшенным внутренним кэшем (flush tables), а также количество запросов в секунду. Для получения полного списка других переменных вам необходимо будет использовать SQL-запрос SHOW STATUS. Если передан некорректный link_identifier, то будет возвращен NULL.

Примеры

Пример #1 Пример использования mysql_stat()

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode('  ', mysql_stat($link));
print_r($status);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Пример #2 Альтернативный пример использования mysql_stat()

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW STATUS', $link);
while ($row = mysql_fetch_assoc($result)) {
    echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Смотрите также

  • mysql_get_server_info() - Возвращает информацию о сервере MySQL
  • mysql_list_processes() - Возвращает список процессов MySQL

mysql_set_charset
mysql_tablename
MySQL


Возвращает имя таблицы, содержащей указанное поле

mysql_stat
mysql_thread_id
MySQL
PHP Manual

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Возвращает имя таблицы, содержащей указанное поле

Описание

string mysql_tablename ( resource $result , int $i )

Возвращает имя таблицы из result.

Данная функция устарела. Вместо нее рекомендуется использование mysql_query() с SQL-запросом SHOW TABLES [FROM db_name] [LIKE 'pattern'].

Список параметров

result

Дескриптор результата типа resource, полученный из вызова mysql_list_tables().

i

Целочисленный индекс (номер ряда/таблицы)

Возвращаемые значения

Имя таблицы в случае успеха или FALSE в случае возникновения ошибки.

Используйте функцию mysql_tablename() для работы с результатом запроса, либо любую другую функцию, способную это делать, например, mysql_fetch_array().

Примеры

Пример #1 Пример использования mysql_tablename()

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
    echo "Table: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Примечания

Замечание:

Для определения количества таблиц в результате запроса можно использовать функцию mysql_num_rows().

Смотрите также

  • mysql_list_tables() - Возвращает список таблиц базы данных MySQL
  • mysql_field_table() - Возвращает название таблицы, которой принадлежит указанное поле
  • mysql_db_name() - Возвращает название базы данных из вызова к mysql_list_dbs

mysql_stat
mysql_thread_id
MySQL


Возвращает идентификатор текущего потока

mysql_tablename
mysql_unbuffered_query
MySQL
PHP Manual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Возвращает идентификатор текущего потока

Описание

int mysql_thread_id ([ resource $link_identifier ] )

mysql_thread_id() возвращает идентификатор текущего потока. Если соединение потеряно и вы пересоединились с помощью mysql_ping(), то идентификатор потока изменится. Это означает, что вам не следует получать данный идентификатор и хранить его для дальнейщего использования. Вызывайте функцию тогда, когда он вам нужен.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Идентификатор потока в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysql_thread_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
    printf("Идентификатор текущего потока: %d\n", $thread_id);
}
?>

Результатом выполнения данного примера будет что-то подобное:

Идентификатор текущего потока: 73

Смотрите также

  • mysql_ping() - Проверяет соединение с сервером и пересоединяется при необходимости
  • mysql_list_processes() - Возвращает список процессов MySQL

mysql_tablename
mysql_unbuffered_query
MySQL


Посылает запрос MySQL без авто-обработки результата и его буферизации

mysql_thread_id
mysqli
MySQL
PHP Manual

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Посылает запрос MySQL без авто-обработки результата и его буферизации

Описание

resource mysql_unbuffered_query ( string $query [, resource $link_identifier ] )

mysql_unbuffered_query() посылает запрос MySQL query без автоматической обработки и буферизации её результата, в отличие от функции mysql_query(). Это позволяет сохранить достаточно большое количество памяти для SQL-запросов, возвращающих большое количество данных. Кроме того, вы можете начать работу с полученными данными сразу после того, как первый ряд был получен: вам не приходится ждать до конца SQL-запроса. При использовании mysql_unbuffered_query() с несколькими соединениями MySQL, вы должны указать необязательный параметр link_identifier.

Список параметров

query

Запускаемый SQL-запрос.

Данные в запросе должны быть корректно проэкранированы.

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Для SELECT, SHOW, DESCRIBE и EXPLAIN запросов mysql_unbuffered_query() возвращает resource в случае успеха, или FALSE в случае ошибки.

Для остальных типов SQL-запросов, UPDATE, DELETE, DROP и т.д., mysql_unbuffered_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.

Примечания

Замечание:

Однако, плюсы использования mysql_unbuffered_query() имеют свою цену: вы не можете использовать функции mysql_num_rows() и mysql_data_seek() с результатом запроса, возвращённым этой функцией. Кроме того, вы должны будете обработать все ряды запроса до отправки нового запроса, используя тот же link_identifier.

Смотрите также

  • mysql_query() - Посылает запрос MySQL

mysql_thread_id
mysqli
MySQL


Улучшенный модуль MySQL (Improved)

  • Введение
  • Overview
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • The mysqli Extension and Persistent Connections
  • Предопределенные константы
  • Основная информация о функциях расширения MySQLi
  • MySQLi — The MySQLi class
    • mysqli::affected_rows — Получает число строк, затронутых предыдущей операцией MySQL
    • mysqli::autocommit — Включает или отключает автоматическую фиксацию изменений базы данных
    • mysqli::change_user — Позволяет сменить пользователя подключенного к базе данных
    • mysqli::character_set_name — Возвращает кодировку по умолчанию, установленную для соединения с БД
    • mysqli::client_info — Возвращает версию клиента MySQL в виде строки
    • mysqli::client_version — Получает информацию о клиенте MySQL
    • mysqli::close — Closes a previously opened database connection
    • mysqli::commit — Фиксирует текущую транзакцию
    • mysqli::connect_errno — Возвращает код ошибки последней попытки соединения
    • mysqli::connect_error — Возвращает описание последней ошибки подключения
    • mysqli::__construct — Open a new connection to the MySQL server
    • mysqli::debug — Выполняет процедуры отладки
    • mysqli::dump_debug_info — Журналирование отладочной информации
    • mysqli::errno — Возвращает код ошибки последнего вызова функции
    • mysqli::error — Returns a string description of the last error
    • mysqli::field_count — Возвращает число столбцов, затронутых последним запросом
    • mysqli::get_charset — Returns a character set object
    • mysqli::get_client_info — Возвращает версию клиента MySQL в виде строки
    • mysqli_get_client_stats — Возвращает статистику клиента для каждого процесса
    • mysqli::client_version — Получает информацию о клиенте MySQL
    • mysqli::get_connection_stats — Возвращает статистику соединения с клиентом
    • mysqli::host_info — Возвращает строку, содержащую тип используемого соединения
    • mysqli::protocol_version — Возвращает версию используемого MySQL протокола
    • mysqli::server_info — Возвращает версию MySQL сервера
    • mysqli::server_version — Returns the version of the MySQL server as an integer
    • mysqli::get_warnings — Get result of SHOW WARNINGS
    • mysqli::info — Retrieves information about the most recently executed query
    • mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
    • mysqli::insert_id — Возвращает автоматически генерируемый ID, используя последний запрос
    • mysqli::kill — Asks the server to kill a MySQL thread
    • mysqli::more_results — Check if there are any more query results from a multi query
    • mysqli::multi_query — Performs a query on the database
    • mysqli::next_result — Prepare next result from multi_query
    • mysqli::options — Set options
    • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll — Poll connections
    • mysqli::prepare — Prepare an SQL statement for execution
    • mysqli::query — Performs a query on the database
    • mysqli::real_connect — Opens a connection to a mysql server
    • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query — Execute an SQL query
    • mysqli::reap_async_query — Get result from async query
    • mysqli::rollback — Rolls back current transaction
    • mysqli::select_db — Устанавливает базу данных для выполняемых запросов
    • mysqli::set_charset — Sets the default client character set
    • mysqli::set_local_infile_default — Unsets user defined handler for load local infile command
    • mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command
    • mysqli::sqlstate — Returns the SQLSTATE error from previous MySQL operation
    • mysqli::ssl_set — Used for establishing secure connections using SSL
    • mysqli::stat — Gets the current system status
    • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result — Transfers a result set from the last query
    • mysqli::thread_id — Returns the thread ID for the current connection
    • mysqli::thread_safe — Returns whether thread safety is given or not
    • mysqli::use_result — Initiate a result set retrieval
    • mysqli::warning_count — Returns the number of warnings from the last query for the given link
  • MySQLi_STMT — The MySQLi_STMT class
    • mysqli_stmt::affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • mysqli_stmt::attr_get — Получает текущее значение атрибута запроса
    • mysqli_stmt::attr_set — Изменяет поведение подготовленного запроса
    • mysqli_stmt::bind_param — Binds variables to a prepared statement as parameters
    • mysqli_stmt::bind_result — Binds variables to a prepared statement for result storage
    • mysqli_stmt::close — Закрывает подготовленный запрос
    • mysqli_stmt::data_seek — Seeks to an arbitrary row in statement result set
    • mysqli_stmt::errno — Returns the error code for the most recent statement call
    • mysqli_stmt::error — Returns a string description for last statement error
    • mysqli_stmt::execute — Executes a prepared Query
    • mysqli_stmt::fetch — Связывает результаты подготовленного запроса с переменными
    • mysqli_stmt::field_count — Возвращает число полей в заданном запросе
    • mysqli_stmt::free_result — Освобождает память от результата запроса, указанного дескриптором
    • mysqli_stmt::get_result — Получает результат из подготовленного запроса
    • mysqli_stmt::get_warnings — Получает результат от SHOW WARNINGS
    • mysqli_stmt::insert_id — Получает ID сгенерированный предыдущей операцией INSERT
    • mysqli_stmt::num_rows — Возвращает число строк в результате запроса
    • mysqli_stmt::param_count — Returns the number of parameter for the given statement
    • mysqli_stmt::prepare — Prepare an SQL statement for execution
    • mysqli_stmt::reset — Resets a prepared statement
    • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data — Send data in blocks
    • mysqli_stmt::sqlstate — Returns SQLSTATE error from previous statement operation
    • mysqli_stmt::store_result — Transfers a result set from a prepared statement
  • MySQLi_Result — The MySQLi_Result class
    • mysqli_result::current_field — Получает смещение указателя по отношению к текущему полю
    • mysqli_result::data_seek — Adjusts the result pointer to an arbitary row in the result
    • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива
    • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
    • mysqli_result::fetch_field — Returns the next field in the result set
    • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
    • mysqli_result::fetch_object — Returns the current row of a result set as an object
    • mysqli_result::fetch_row — Get a result row as an enumerated array
    • mysqli_result::field_count — Get the number of fields in a result
    • mysqli_result::field_seek — Установить указатель поля на определенное смещение
    • mysqli_result::free — Frees the memory associated with a result
    • mysqli_result::lengths — Returns the lengths of the columns of the current row in the result set
    • mysqli_result::num_rows — Получает число рядов в результирующей выборке
  • MySQLi_Driver — Класс MySQLi_Driver
    • mysqli_driver::embedded_server_end — Stop embedded server
    • mysqli_driver::embedded_server_start — Initialize and start embedded server
  • MySQLi_Warning — The MySQLi_Warning class
    • mysqli_warning::__construct — The __construct purpose
    • mysqli_warning::next — The next purpose
  • Синонимы и устаревшие Функции Mysqli
    • mysqli_bind_param — Синоним функции mysqli_stmt_bind_param
    • mysqli_bind_result — Синоним функции mysqli_stmt_bind_result
    • mysqli_client_encoding — Синоним функции mysqli_character_set_name
    • mysqli_connect — Псевдоним mysqli::__construct
    • mysqli_disable_reads_from_master — Блокирует чтение с мастера
    • mysqli_disable_rpl_parse — Блокировать разбор RPL
    • mysqli_enable_reads_from_master — Включает чтение с мастера
    • mysqli_enable_rpl_parse — Включает разбор RPL
    • mysqli_escape_string — Псевдоним функции mysqli_real_escape_string
    • mysqli_execute — Синоним для mysqli_stmt_execute
    • mysqli_fetch — Синоним для mysqli_stmt_fetch
    • mysqli_get_cache_stats — Returns client Zval cache statistics
    • mysqli_get_metadata — Синоним для mysqli_stmt_result_metadata
    • mysqli_master_query — Enforce execution of a query on the master in a master/slave setup
    • mysqli_param_count — Синоним для mysqli_stmt_param_count
    • mysqli_report — Enables or disables internal report functions
    • mysqli_rpl_parse_enabled — Check if RPL parse is enabled
    • mysqli_rpl_probe — RPL probe
    • mysqli_rpl_query_type — Returns RPL query type
    • mysqli_send_long_data — Синоним для mysqli_stmt_send_long_data
    • mysqli_send_query — Отправка запроса и возврат
    • mysqli_set_opt — Синоним для mysqli_options
    • mysqli_slave_query — Force execution of a query on a slave in a master/slave setup
mysql_unbuffered_query
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Расширение mysqli позволяет вам получить доступ к функциональности, которую предоставляет MySQL версии 4.1 и выше. Больше информации о сервере баз данных MySQL вы можете получить по адресу » http://www.mysql.com/.

Информация о использовании MySQL из PHP находится по адресу Overview

Документация MySQL находится по адресу » http://dev.mysql.com/doc/.

Некоторые части данной документации включены из руководства по MySQL с разрешения корпорации Oracle.

Примеры

Все примеры, приведенные в документации к mysqli, используют базу данных world. Базу данных world вы можете найти по адресу » http://downloads.mysql.com/docs/world.sql.gz

mysqli
Overview
mysqli


Overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two the latter is usually the preferred interface, as it is more modern and leads to better organised code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term "driver" is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the mysqli extension, and the mysql extension, are implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.

What are the main PHP API offerings for using MySQL?

There are three main API options when considering connecting to a MySQL database server:

  • PHP's MySQL Extension

  • PHP's mysqli Extension

  • PHP Data Objects (PDO)

Each has its own advantages and disadvantages. The following discussion aims to give a brief introduction to the key aspects of each API.

What is PHP's MySQL Extension?

This is the original extension designed to allow you to develop PHP applications that interact with a MySQL database. The mysql extension provides a procedural interface and is intended for use only with MySQL versions older than 4.1.3. This extension can be used with versions of MySQL 4.1.3 or newer, but not all of the latest MySQL server features will be available.

Замечание:

If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use the mysqli extension instead.

The mysql extension source code is located in the PHP extension directory ext/mysql.

For further information on the mysql extension, see MySQL.

What is PHP's mysqli Extension?

The mysqli extension, or as it is sometimes known, the MySQL improved extension, was developed to take advantage of new features found in MySQL systems versions 4.1.3 and newer. The mysqli extension is included with PHP versions 5 and later.

The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:

  • Object-oriented interface

  • Support for Prepared Statements

  • Support for Multiple Statements

  • Support for Transactions

  • Enhanced debugging capabilities

  • Embedded server support

Замечание:

If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use this extension.

As well as the object-oriented interface the extension also provides a procedural interface.

The mysqli extension is built using the PHP extension framework, its source code is located in the directory ext/mysqli.

For further information on the mysqli extension, see mysqli.

What is PDO?

PHP Data Objects, or PDO, is a database abstraction layer specifically for PHP applications. PDO provides a consistent API for your PHP application regardless of the type of database server your application will connect to. In theory, if you are using the PDO API, you could switch the database server you used, from say Firebird to MySQL, and only need to make minor changes to your PHP code.

Other examples of database abstraction layers include JDBC for Java applications and DBI for Perl.

While PDO has its advantages, such as a clean, simple, portable API, its main disadvantage is that it doesn't allow you to use all of the advanced features that are available in the latest versions of MySQL server. For example, PDO does not allow you to use MySQL's support for Multiple Statements.

PDO is implemented using the PHP extension framework, its source code is located in the directory ext/pdo.

For further information on PDO, see the PDO.

What is the PDO MYSQL driver?

The PDO MYSQL driver is not an API as such, at least from the PHP programmer's perspective. In fact the PDO MYSQL driver sits in the layer below PDO itself and provides MySQL-specific functionality. The programmer still calls the PDO API, but PDO uses the PDO MYSQL driver to carry out communication with the MySQL server.

The PDO MYSQL driver is one of several available PDO drivers. Other PDO drivers available include those for the Firebird and PostgreSQL database servers.

The PDO MYSQL driver is implemented using the PHP extension framework. Its source code is located in the directory ext/pdo_mysql. It does not expose an API to the PHP programmer.

For further information on the PDO MYSQL driver, see MySQL (PDO).

What is PHP's MySQL Native Driver?

In order to communicate with the MySQL database server the mysql extension, mysqli and the PDO MYSQL driver each use a low-level library that implements the required protocol. In the past, the only available library was the MySQL Client Library, otherwise known as libmysql.

However, the interface presented by libmysql was not optimized for communication with PHP applications, as libmysql was originally designed with C applications in mind. For this reason the MySQL Native Driver, mysqlnd, was developed as an alternative to libmysql for PHP applications.

The mysql extension, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysql or mysqlnd. As mysqlnd is designed specifically to be utilised in the PHP system it has numerous memory and speed enhancements over libmysql. You are strongly encouraged to take advantage of these improvements.

Замечание:

The MySQL Native Driver can only be used with MySQL server versions 4.1.3 and later.

The MySQL Native Driver is implemented using the PHP extension framework. The source code is located in ext/mysqlnd. It does not expose an API to the PHP programmer.

Comparison of Features

The following table compares the functionality of the three main methods of connecting to MySQL from PHP:

 | PHP's mysqli Extension | PDO (Using PDO MySQL Driver and MySQL Native Driver) | PHP's MySQL Extension
PHP version introduced | 5.0 | 5.0 | Prior to 3.0
Included with PHP 5.x | yes | yes | Yes
MySQL development status | Active development | Active development as of PHP 5.3 | Maintenance only
Recommended by MySQL for new projects | Yes - preferred option | Yes | No
API supports Charsets | Yes | Yes | No
API supports server-side Prepared Statements | Yes | Yes | No
API supports client-side Prepared Statements | No | Yes | No
API supports Stored Procedures | Yes | Yes | No
API supports Multiple Statements | Yes | Most | No
Supports all MySQL 4.1+ functionality | Yes | Most | No
Введение
Установка и настройка
mysqli


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Overview
Требования
mysqli


Требования

Чтобы эти функции были доступны, PHP должен быть собран с поддержкой расширения mysqli.

Замечание:

Расширение mysqli разработано для работы с MySQL версии 4.1.3 и выше или 5.0.7 и выше. Для работы с более старыми версиями, обратитесь к документации расширения MySQL.

Установка и настройка
Установка
Установка и настройка


Установка

Расширение mysqli было представлено с версией PHP 5.0.0. MySQL Native Driver был включен в PHP версии 5.3.0.

Установка для Linux

Большинство дистрибутивов Unix включает бинарные версии PHP, которые в дальнейшем могут быть установлены. Несмортря на то, что бинарные версии, как правило, собраны с включенной поддержкой расширений MySQL, может потребоваться установка дополнительных пакетов с библиотеками расширений. Убедитесь, что менеджер пакетов, идущий с выбранным дистрибутивом, позволяет установить такие пакеты.

В случае, если ваш Unix дистрибутив не поставляется с бинарным пакетом PHP с поддержкой расширения mysqli, то необходимо собрать PHP из исходного кода. Сборка PHP из исходного кода позволяет выделить только те расширения MySQL (а также клиентские библиотеки для каждого из расширений), которые требуется использовать.

Рекомендуется использовать MySQL Native Driver, в результате повышается производительность и имеется доступ к функциям, недоступным при использовании MySQL Client Library. См. Что такое MySQL Native Driver в PHP? для ознакомления с возможностями MySQL Native Driver.

Под /path/to/mysql_config подразумевается расположение программы mysql_config, поставляемой вместе с MySQL Server.

Вспомогательная таблица времени компиляции mysqli
Версия PHP | По умолчанию | Опции настройки: mysqlnd | Опции настройки: libmysql | Список изменений
5.0.x, 5.1.x, 5.2.x | libmysql | Недоступно | --with-mysqli=/path/to/mysql_config |
5.3.x | libmysql | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd поддерживается
5.4.x | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd по умолчанию

Необходимо отметить, что существует возможность свободно перемешивать расширения MySQL и клиентские библиотеки. Например, можно активировать расширение MySQL, позволяющее использовать MySQL Client Library (libmysql), и при этом настроить расширение mysqli для использования MySQL Native Driver. Таким образом, возможны любые перестановки расширений и клиентских библиотек.

Приведенный ниже пример настрваивает расширение MySQL для использования MySQL Client Library, а расширения mysqli и PDO MYSQL для работы с MySQL Native Driver:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[other options]

Установка для Windows

Для Windows PHP в большинстве случаев устанавливается с помощью установщика.

PHP 5.0, 5.1, 5.2

После установки PHP необходимо произвести настройку для включения расширения mysqli и определения используемой им клиентской библиотеки.

Расширение mysqli не включено по умолчанию, а следовательно в php.ini необходимо указать файл DLL php_mysqli.dll. Для этого вам необходимо найти файл php.ini (обычно расположен в c:\php) и убедиться, что вы сняли знак комментирования (";") в начале строки extension=php_mysqli.dll, в разделе [PHP_MYSQLI].

Также, если вы хотите использовать MySQL Client Library с mysqli, то вам необходимо убедиться, что PHP может получить доступ к файлу клиентской библиотеки. MySQL Client Library включен в дистрибутив Windows PHP в виде файла libmysql.dll. Этот файл должен быть доступен в переменной окружения Windows PATH для того, чтобы его можно было успешно загрузить. По ссылке "Как мне добавить мою PHP директорию в Windows PATH" находится статья с информацией о том, как это сделать. Если системная директория Windows прописана в PATH, то можно скопировать libmysql.dll в системную директорию Windows (обычно c:\Windows\system). Однако такой путь не рекомендуется.

При включении любого расширения PHP (например php_mysqli.dll), директива PHP extension_dir должна содержать путь к директории, где находятся расширения PHP. Смотрите также Инструкции по Самостоятельной Установке для Windows. Для примера в PHP 5 значением extension_dir является c:\php\ext.

Замечание:

Если при загрузке сервера появляется следующее сообщение: "Unable to load dynamic library './php_mysqli.dll'", то система не может найти файлы php_mysqli.dll и/или libmysql.dll.

PHP 5.3.0+

Для Windows, в версиях PHP 5.3 и старше, расширение mysqli использует MySQL Native Driver по умолчанию. Это значит, что вам не нужно беспокоиться о настройке доступа к файлу libmysql.dll.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации MySQLi
Имя | Значение по умолчанию | Область изменения | История изменений
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.2.4.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Доступна начиная с версии 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.3.5.
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.

Прочие детали и определения PHP_INI_* констант смотрите в разделе конфигурационные изменения.

Краткое разъяснение конфигурационных директив.

mysqli.allow_local_infile integer

Разрешает доступ к локальным файлам, с точки зрения PHP, с помощью инструкций LOAD DATA

mysqli.allow_persistent integer

Включает возможность создавать постоянные соединения с помощью mysqli_connect().

mysqli.max_persistent integer

Максимально возможное количество постоянных соединений. Для неограниченного количества установите в 0.

mysqli.max_links integer

Максимальное количество соединений MySQL на процесс.

mysqli.default_port integer

TCP порт, используемый по умолчанию для соединения с сервером баз данных, если другое значение явно не указано. Если значение по умолчанию не указано, оно будет получено из переменной среды окружения MYSQL_TCP_PORT, директивы mysql-tcp в файле /etc/services или константы MYSQL_PORT, которая задаётся во время компиляции, в указанном порядке. Win32 использует только константу MYSQL_PORT.

mysqli.default_socket string

Имя сокета по умолчанию, которое используется для соединения с локальной базой данных, если имя сокета не было указано явно.

mysqli.default_host string

Имя сервера, которое используется, если имя не было указано явно. Это имя не используется в безопасном режиме.

mysqli.default_user string

Имя пользователя, используемое по умолчанию, если имя не было указано явно. Игнорируется в безопасном режиме.

mysqli.default_pw string

Пароль, используемый по умолчанию для подключения к БД, если пароль не был явно указан. Игнорируется в безопасном режиме.

mysqli.reconnect integer

Автоматически восстанавливать соединение при его потере.

mysqli.cache_size integer

Доступно только с расширением mysqlnd.

Пользователи не могут устанавливать MYSQL_OPT_READ_TIMEOUT с помощью API-вызовов или установки конфигурационных значений во время работы скрипта. Учтите, что если бы это было возможно, то libmysql и потоки по-разному обрабатывали бы значение MYSQL_OPT_READ_TIMEOUT.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
The mysqli Extension and Persistent Connections
Установка и настройка


The mysqli Extension and Persistent Connections

Persistent connection support was introduced in PHP 5.3 for the mysqli extension. Support was already present in PDO MYSQL and ext/mysql. The idea behind persistent connections is that a connection between a client process and a database can be reused by a client process, rather than being created and destroyed multiple times. This reduces the overhead of creating fresh connections every time one is required, as unused connections are cached and ready to be reused.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

The problem with persistent connections is that they can be left in unpredictable states by clients. For example, a table lock might be activated before a client terminates unexpectedly. A new client process reusing this persistent connection will get the connection "as is". Any cleanup would need to be done by the new client process before it could make good use of the persistent connection, increasing the burden on the programmer.

The persistent connection of the mysqli extension however provides built-in cleanup handling code. The cleanup carried out by mysqli includes:

  • Rollback active transactions

  • Close and drop temporary tables

  • Unlock tables

  • Reset session variables

  • Close prepared statements (always happens with PHP)

  • Close handler

  • Release locks acquired with GET_LOCK()

This ensures that persistent connections are in a clean state on return from the connection pool, before the client process uses them.

The mysqli extension does this cleanup by automatically calling the C-API function mysql_change_user().

The automatic cleanup feature has advantages and disadvantages though. The advantage is that the programmer no longer needs to worry about adding cleanup code, as it is called automatically. However, the disadvantage is that the code could potentially be a little slower, as the code to perform the cleanup needs to run each time a connection is returned from the connection pool.

It is possible to switch off the automatic cleanup code, by compiling PHP with MYSQLI_NO_CHANGE_USER_ON_PCONNECT defined.

Замечание:

The mysqli extension supports persistent connections when using either MySQL Native Driver or MySQL Client Library.

Типы ресурсов
Предопределенные константы
mysqli


Предопределенные константы

MYSQLI_READ_DEFAULT_GROUP

Читать опции из указанной группы в файле my.cnf или файле, указанном с помощью MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE

Читать опции из указанного файла, вместо my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT

Тайм-аут подключения в секундах.

MYSQLI_OPT_LOCAL_INFILE

Включает команду LOAD LOCAL INFILE.

MYSQLI_INIT_COMMAND

Команда, которая будет выполнена при подключении к серверу MySQL. Эта команда будет повторно вызвана при переподключении.

MYSQLI_CLIENT_SSL

Использовать SSL (шифрованый протокол). Эта опция не может быть уставовлена приложениями; она устанавливается внутри библиотеки клиента MySQL.

MYSQLI_CLIENT_COMPRESS

Использовать компрессию.

MYSQLI_CLIENT_INTERACTIVE

Ждать interactive_timeout секунд (вместо wait_timeout) бездействия перед закрытием соединения. Переменная сессии клиента wait_timeout будет установлена в значение переменной сессии interactive_timeout.

MYSQLI_CLIENT_IGNORE_SPACE

Разрешить пробелы после имен функций. Делает все имена функций зарезервированными словами.

MYSQLI_CLIENT_NO_SCHEMA

Запретить синтаксис db_name.tbl_name.col_name.

MYSQLI_CLIENT_MULTI_QUERIES

Разрешить выполнение в одном вызове функции mysqli_query() нескольких запросов, разделенных точкой с запятой.

MYSQLI_STORE_RESULT

Для использования буферизации наборов данных.

MYSQLI_USE_RESULT

Для использования небуферизированных наборов данных.

MYSQLI_ASSOC

Результат возвращается в виде ассоциативного массива с именами полей в качестве индексов.

MYSQLI_NUM

Результат возвращается в виде индексного массива.

MYSQLI_BOTH

Результат возвращается в виде массива, который содержит как числовой, так и ассоциативный индексы.

MYSQLI_NOT_NULL_FLAG

Информирует о том, что поле определено как NOT NULL.

MYSQLI_PRI_KEY_FLAG

Поле является частью первичного индекса.

MYSQLI_UNIQUE_KEY_FLAG

Поле является частью уникального индекса.

MYSQLI_MULTIPLE_KEY_FLAG

Поле является частью индекса.

MYSQLI_BLOB_FLAG

Поле определено как BLOB.

MYSQLI_UNSIGNED_FLAG

Поле определено как UNSIGNED.

MYSQLI_ZEROFILL_FLAG

Поле определено как ZEROFILL.

MYSQLI_AUTO_INCREMENT_FLAG

Поле определено как AUTO_INCREMENT.

MYSQLI_TIMESTAMP_FLAG

Поле определено как TIMESTAMP.

MYSQLI_SET_FLAG

Поле определено как SET.

MYSQLI_NUM_FLAG

Поле определено как NUMERIC.

MYSQLI_PART_KEY_FLAG

Поле является частью мульти-индекса.

MYSQLI_GROUP_FLAG

Поле является частью GROUP BY.

MYSQLI_TYPE_DECIMAL

Поле определено как DECIMAL.

MYSQLI_TYPE_NEWDECIMAL

Математическая точность полей DECIMAL или NUMERIC (MySQL 5.0.3 и выше).

MYSQLI_TYPE_BIT

Поле определено как BIT (MySQL 5.0.3 и выше).

MYSQLI_TYPE_TINY

Поле определено как TINYINT.

MYSQLI_TYPE_SHORT

Поле определено как SMALLINT.

MYSQLI_TYPE_LONG

Поле определено как INT.

MYSQLI_TYPE_FLOAT

Поле определено как FLOAT.

MYSQLI_TYPE_DOUBLE

Поле определено как DOUBLE.

MYSQLI_TYPE_NULL

Поле определено как DEFAULT NULL.

MYSQLI_TYPE_TIMESTAMP

Поле определено как TIMESTAMP.

MYSQLI_TYPE_LONGLONG

Поле определено как BIGINT.

MYSQLI_TYPE_INT24

Поле определено как MEDIUMINT.

MYSQLI_TYPE_DATE

Поле определено как DATE.

MYSQLI_TYPE_TIME

Поле определено как TIME.

MYSQLI_TYPE_DATETIME

Поле определено как DATETIME.

MYSQLI_TYPE_YEAR

Поле определено как YEAR.

MYSQLI_TYPE_NEWDATE

Поле определено как DATE.

MYSQLI_TYPE_INTERVAL

Поле определено как INTERVAL

MYSQLI_TYPE_ENUM

Поле определено как ENUM.

MYSQLI_TYPE_SET

Поле определено как SET.

MYSQLI_TYPE_TINY_BLOB

Поле определено как TINYBLOB.

MYSQLI_TYPE_MEDIUM_BLOB

Поле определено как MEDIUMBLOB.

MYSQLI_TYPE_LONG_BLOB

Поле определено как LONGBLOB.

MYSQLI_TYPE_BLOB

Поле определено как BLOB.

MYSQLI_TYPE_VAR_STRING

Поле определено как VARCHAR.

MYSQLI_TYPE_STRING

Поле определено как STRING

MYSQLI_TYPE_CHAR

Поле определено как CHAR.

MYSQLI_TYPE_GEOMETRY

Поле определено как GEOMETRY.

MYSQLI_NEED_DATA

Имеются еще данные, доступные для связанных переменных.

MYSQLI_NO_DATA

Больше нет доступных данных для связанных переменных.

MYSQLI_DATA_TRUNCATED

Произошло усечение данных. Доступно начиная с PHP 5.1.0 и MySQL 5.0.5.

MYSQLI_ENUM_FLAG

Поле определено как ENUM. Доступно начиная с PHP 5.3.0.

MYSQLI_CURSOR_TYPE_FOR_UPDATE

MYSQLI_CURSOR_TYPE_NO_CURSOR

MYSQLI_CURSOR_TYPE_READ_ONLY

MYSQLI_CURSOR_TYPE_SCROLLABLE

MYSQLI_STMT_ATTR_CURSOR_TYPE

MYSQLI_STMT_ATTR_PREFETCH_ROWS

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

MYSQLI_SET_CHARSET_NAME

MYSQLI_REPORT_INDEX

Уведомлять, если индекс, используемый в запросе, не указан либо превышает максимум.

MYSQLI_REPORT_ERROR

Уведомлять об ошибках вызова функций mysqli.

MYSQLI_REPORT_STRICT

Обрабатывать mysqli_sql_exception как ошибки, а не как предупреждения.

MYSQLI_REPORT_ALL

Включить все уведомления.

MYSQLI_REPORT_OFF

Отключает уведомления.

MYSQLI_DEBUG_TRACE_ENABLED

Установлено в 1 если используется функция mysqli_debug().

MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED

MYSQLI_SERVER_QUERY_NO_INDEX_USED

MYSQLI_REFRESH_GRANT

MYSQLI_REFRESH_LOG

MYSQLI_REFRESH_TABLES

MYSQLI_REFRESH_HOSTS

MYSQLI_REFRESH_STATUS

MYSQLI_REFRESH_THREADS

MYSQLI_REFRESH_SLAVE

MYSQLI_REFRESH_MASTER

The mysqli Extension and Persistent Connections
Основная информация о функциях расширения MySQLi
mysqli


Основная информация о функциях расширения MySQLi

Класс MySQLi
ООП-интерфейс | Процедурный интерфейс | Синоним (не используйте!) | Описание
Свойства
$mysqli::affected_rows | mysqli_affected_rows() | - | Получает число рядов, затронутых предыдущей операцией MySQL
$mysqli::client_info | mysqli_get_client_info() | - | Возвращает информацию о версии клиента MySQL в виде строки (string)
$mysqli::client_version | mysqli_get_client_version() | - | Возвращает информацию о версии клиента MySQL в виде числа (integer)
$mysqli::connect_errno | mysqli_connect_errno() | - | Возвращает код ошибки последнего соединения
$mysqli::connect_error | mysqli_connect_error() | - | Возвращает строковое описание ошибки последнего подключения
$mysqli::errno | mysqli_errno() | - | Возвращает код ошибки последнего вызова функции
$mysqli::error | mysqli_error() | - | Возвращает строковое описание последней ошибки
$mysqli::field_count | mysqli_field_count() | - | Возвращает число столбцов для последнего запроса
$mysqli::host_info | mysqli_get_host_info() | - | Возвращает строку, содержащую тип используемого соединения
$mysqli::protocol_version | mysqli_get_proto_info() | - | Возвращает версию используемого протокола MySQL
$mysqli::server_info | mysqli_get_server_info() | - | Возвращает версию сервера MySQL
$mysqli::server_version | mysqli_get_server_version() | - | Возвращает версию сервера MySQL в виде числа (integer)
$mysqli::info | mysqli_info() | - | Отображает информацию о наиболее часто исполняемом запросе
$mysqli::insert_id | mysqli_insert_id() | - | Возвращает автоматически сгенерированный id, использованный в последнем запросе
$mysqli::sqlstate | mysqli_sqlstate() | - | Возвращает ошибку SQLSTATE предыдущей операции MySQL
$mysqli::warning_count | mysqli_warning_count() | - | Возвращает число предупреждений последнего запроса для заданной ссылки
Методы
mysqli::autocommit() | mysqli_autocommit() | - | Выключает или выключает автоматическое подтверждение изменений базы данных
mysqli::change_user() | mysqli_change_user() | - | Изменяет пользователя (user) для указанного соединения с базой данных
mysqli::character_set_name(), mysqli::client_encoding | mysqli_character_set_name() | mysqli_client_encoding() | Возвращает кодировку, установленную по умолчанию для соединения с базой данных
mysqli::close() | mysqli_close() | - | Закрывает открытое соединение с базой данных
mysqli::commit() | mysqli_commit() | - | Фиксирует текущую транзакцию
mysqli::__construct() | mysqli_connect() | - | Открыть новое соединение с MySQL сервером [Примечание: статический метод (т.е. класс)]
mysqli::debug() | mysqli_debug() | - | Выполняет операции отладки
mysqli::dump_debug_info() | mysqli_dump_debug_info() | - | Сбор отладочной информации в лог
mysqli::get_charset() | mysqli_get_charset() | - | Возвращает объект кодировки
mysqli::get_connection_stats() | mysqli_get_connection_stats() | - | Возвращает статистку соединения клиента. Доступно только с расширением mysqlnd.
mysqli::get_client_info() | mysqli_get_client_info() | - | Возвращает версию клиента MySQL в виде строки
mysqli::get_client_stats() | mysqli_get_client_stats() | - | Возвращает статистку клиента для каждого процесса. Доступно только с расширением mysqlnd.
mysqli::get_cache_stats() | mysqli_get_cache_stats() | - | Возвращает статистику клиента по кэшу Zval. Доступно только с расширением mysqlnd.
mysqli::get_server_info() | mysqli_get_server_info() | - | Не документировано
mysqli::get_warnings() | mysqli_get_warnings() | - | Не документировано
mysqli::init() | mysqli_init() | - | Инициализирует MySQLi и возвращает ресурс для использования с mysqli_real_connect. [Не вызывается из объекта, так как возвращает объект $mysqli.]
mysqli::kill() | mysqli_kill() | - | Создает запрос серверу на уничтожение MySQL потока
mysqli::more_results() | mysqli_more_results() | - | Проверяет на наличие дополнительных результатов запроса из мульти-запроса
mysqli::multi_query() | mysqli_multi_query() | - | Выполняет запрос к базе данных
mysqli::next_result() | mysqli_next_result() | - | Выполняет подготовку следующего результата из multi_query
mysqli::options() | mysqli_options() | mysqli_set_opt() | Устанавливает опции
mysqli::ping() | mysqli_ping() | - | Производит пинг соединения с сервером, либо переподключение, если соединение было сброшено
mysqli::prepare() | mysqli_prepare() | - | Выполняет подготовку SQL оператора для запуска
mysqli::query() | mysqli_query() | - | Выполняет запрос к базе данных
mysqli::real_connect() | mysqli_real_connect() | - | Открывает соединение с сервером MySQL
mysqli::real_escape_string(), mysqli::escape_string() | mysqli_real_escape_string() | mysqli_escape_string() | Экранирует специальные символы в строке, используемой в SQL-запросе, принмимая во внимание кодировку соединения
mysqli::real_query() | mysqli_real_query() | - | Выполняет SQL запрос
mysqli::rollback() | mysqli_rollback() | - | Отменяет текущую транзакцию
mysqli::select_db() | mysqli_select_db() | - | Выбирает базу данных по умолчанию для выполнения запросов
mysqli::set_charset() | mysqli_set_charset() | - | Устанавливает кодировку клиента по умолчанию
mysqli::set_local_infile_default() | mysqli_set_local_infile_default() | - | Сбрасывает пользовательский обработчик для загрузки команды из локального файла
mysqli::set_local_infile_handler() | mysqli_set_local_infile_handler() | - | Установить функцию-обработчик команды LOAD DATA LOCAL INFILE
mysqli::ssl_set() | mysqli_ssl_set() | - | Используется для установления защищенных соединений, используя SSL
mysqli::stat() | mysqli_stat() | - | Получает текущее состояние системы
mysqli::stmt_init() | mysqli_stmt_init() | - | Инициализирует и возвращает объект для использования с mysqli_stmt_prepare
mysqli::store_result() | mysqli_store_result() | - | Передает результат, полученный последним запросом
mysqli::thread_id() | mysqli_thread_id() | - | Возвращает ID потока для текущего соединения
mysqli::thread_safe() | mysqli_thread_safe() | - | Возвращает состояние безопасности потока
mysqli::use_result() | mysqli_use_result() | - | Инициирует получение результата
MySQL_STMT
ООП-интерфейс | Процедурный интерфейс | Синоним (не используйте!) | Описание
Свойства
$mysqli_stmt::affected_rows | mysqli_stmt_affected_rows() | - | Возвращает число рядов, измененных, удаленных или вставленных при выполнении последней инструкции
$mysqli_stmt::errno | mysqli_stmt_errno() | - | Возвращает код ошибки последней вызванной инструкции
$mysqli_stmt::error | mysqli_stmt_error() | - | Возвращает строковое описание ошибки последней инструкции
$mysqli_stmt::field_count | mysqli_stmt_field_count() | - | Возвращает число полей в заданной инструкции - не документировано
$mysqli_stmt::insert_id | mysqli_stmt_insert_id() | - | Получает ID, сгенерированное последней операцией INSERT
$mysqli_stmt::num_rows | mysqli_stmt_num_rows() | - | Возвращает число рядов в результате выполнения инструкции
$mysqli_stmt::param_count | mysqli_stmt_param_count() | mysqli_param_count() | Возвращает число параметров для заданной инструкции
$mysqli_stmt::sqlstate | mysqli_stmt_sqlstate() | - | Возвращает ошибку SQLSTATE для предыдущей операции инструкции
Методы
mysqli_stmt::attr_get() | mysqli_stmt_attr_get() | - | Используется для получения текущего значения атрибута инструкции
mysqli_stmt::attr_set() | mysqli_stmt_attr_set() | - | Используется для модификации поведения подготовленной инструкции
mysqli_stmt::bind_param() | mysqli_stmt_bind_param() | mysqli_bind_param() | Передается переменные в подготовленную инструкцию как параметры
mysqli_stmt::bind_result() | mysqli_stmt_bind_result() | mysqli_bind_result() | Передает переменные в подготовленную инструкцию для хранения результатов
mysqli_stmt::close() | mysqli_stmt_close() | - | Закрывает подготовленную инструкцию
mysqli_stmt::data_seek() | mysqli_stmt_data_seek() | - | Производит поиск произвольной строки в результатах инструкции
mysqli_stmt::execute() | mysqli_stmt_execute() | mysqli_execute() | Исполняет подготовленный запрос
mysqli_stmt::fetch() | mysqli_stmt_fetch() | mysqli_fetch() | Выборка результатов подготовленной инструкции в связанные переменные
mysqli_stmt::free_result() | mysqli_stmt_free_result() | - | Освобождает память, хранящую результаты заданной дескриптором инструкции
mysqli_stmt::get_result() | mysqli_stmt_get_result() | - | Получает результаты подготовленной инструкции. Доступно только с расширением mysqlnd.
mysqli_stmt::get_warnings() | mysqli_stmt_get_warnings() | - | Не документировано
$mysqli_stmt::more_results() | mysqli_stmt_more_results() | - | Не документировано Доступно только с расширением mysqlnd.
$mysqli_stmt::next_result() | mysqli_stmt_next_result() | - | Не документировано Доступно только с расширением mysqlnd.
mysqli_stmt::num_rows() | mysqli_stmt_num_rows() | - | См. также $mysqli_stmt::num_rows
mysqli_stmt::prepare() | mysqli_stmt_prepare() | - | Выполняет подготовку инструкции SQL для запуска
mysqli_stmt::reset() | mysqli_stmt_reset() | - | Сбрасывает подготовленную инструкцию
mysqli_stmt::result_metadata() | mysqli_stmt_result_metadata() | mysqli_get_metadata() | Возвращает метаданные результатов подготовленной инструкции
mysqli_stmt::send_long_data() | mysqli_stmt_send_long_data() | mysqli_send_long_data() | Передача данных блоками
mysqli_stmt::store_result() | mysqli_stmt_store_result() | - | Передает результат из подготовленной инструкции
MySQLi_RESULT
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Свойства
$mysqli_result::current_field | mysqli_field_tell() | - | Получить смещение указателя на результат для текущего поля
$mysqli_result::field_count | mysqli_num_fields() | - | Получить количество полей в результате
$mysqli_result::lengths | mysqli_fetch_lengths() | - | Возвращает длины столбцов текущего ряда в наборе результатов
$mysqli_result::num_rows | mysqli_num_rows() | - | Получает число рядов в результате
Methods
mysqli_result::data_seek() | mysqli_data_seek() | - | Устанавливает указатель результата на произвольную строку в результатах
mysqli_result::fetch_all() | mysqli_fetch_all() | - | Получает все результирующие строки и возвращает массив со строками в виде ассоциативного массива и/или нумерованного массива. Доступно только с расширением mysqlnd.
mysqli_result::fetch_array() | mysqli_fetch_array() | - | Получает результирующую строку в виде ассоциативного массива и/или нумерованного массива
mysqli_result::fetch_assoc() | mysqli_fetch_assoc() | - | Получает результирующую строку в виде ассоциативного массива
mysqli_result::fetch_field_direct() | mysqli_fetch_field_direct() | - | Получает мета-данные для одного поля
mysqli_result::fetch_field() | mysqli_fetch_field() | - | Возвращает из результата следующее поле
mysqli_result::fetch_fields() | mysqli_fetch_fields() | - | Возвращает массив объектов из полей результата
mysqli_result::fetch_object() | mysqli_fetch_object() | - | Возвращает текущую строку результата в виде объекта
mysqli_result::fetch_row() | mysqli_fetch_row() | - | Получает ряд результата как нумерованный массив
mysqli_result::field_seek() | mysqli_field_seek() | - | Устанавливает смещение указателя результата на определенное поле
mysqli_result::free(), mysqli_result::close, mysqli_result::free_result | mysqli_free_result() | - | Освобождает память, определенную под результат
MySQL_Driver
ООП-интерфейс | Процедурный интерфейс | Синоним (не используйте!) | Описание
Свойства
-
Методы
mysqli_driver::embedded_server_end() | mysqli_embedded_server_end() | - | Не документировано
mysqli_driver::embedded_server_start() | mysqli_embedded_server_start() | - | Не документировано

Замечание:

Псевдонимы функций предназначены только для обеспечения обратной совместимости. Не используйте их в новых проектах.

Предопределенные константы
MySQLi
mysqli


The MySQLi class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a connection between PHP and a MySQL database.

Обзор классов

MySQLi {
/* Свойства */
int $MySQLi->affected_rows;
string $client_info;
int $client_version;
string $connect_errno;
string $connect_error;
int $errno;
string $error;
int $field_count;
int $client_version;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
mixed $insert_id;
string $sqlstate;
int $thread_id;
int $warning_count;
/* Методы */
int mysqli_affected_rows ( mysqli $link )
bool mysqli::autocommit ( bool $mode )
bool mysqli::change_user ( string $user , string $password , string $database )
string mysqli::character_set_name ( void )
string mysqli_get_client_info ( mysqli $link )
int mysqli_get_client_version ( mysqli $link )
bool mysqli::close ( void )
bool mysqli::commit ( void )
int mysqli_connect_errno ( void )
string mysqli_connect_error ( void )
 mysqli mysqli_connect
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )
bool mysqli::debug ( string $message )
bool mysqli::dump_debug_info ( void )
int mysqli_errno ( mysqli $link )
string mysqli_error ( mysqli $link )
int mysqli_field_count ( mysqli $link )
object mysqli::get_charset ( void )
string mysqli::get_client_info ( void )
array mysqli_get_client_stats ( void )
int mysqli_get_client_version ( mysqli $link )
bool mysqli::get_connection_stats ( void )
string mysqli_get_host_info ( mysqli $link )
int mysqli_get_proto_info ( mysqli $link )
string mysqli_get_server_info ( mysqli $link )
int mysqli_get_server_version ( mysqli $link )
mysqli_warning mysqli::get_warnings ( void )
string mysqli_info ( mysqli $link )
mysqli mysqli::init ( void )
mixed mysqli_insert_id ( mysqli $link )
bool mysqli::kill ( int $processid )
bool mysqli::more_results ( void )
bool mysqli::multi_query ( string $query )
bool mysqli::next_result ( void )
bool mysqli::options ( int $option , mixed $value )
bool mysqli::ping ( void )
public int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
mysqli_stmt mysqli::prepare ( string $query )
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
string mysqli::escape_string ( string $escapestr )
bool mysqli::real_query ( string $query )
public mysqli_result mysqli::reap_async_query ( void )
bool mysqli::rollback ( void )
bool mysqli::select_db ( string $dbname )
bool mysqli::set_charset ( string $charset )
void mysqli_set_local_infile_default ( mysqli $link )
bool mysqli::set_local_infile_handler ( mysqli $link , callback $read_func )
string mysqli_sqlstate ( mysqli $link )
bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
string mysqli::stat ( void )
mysqli_stmt mysqli::stmt_init ( void )
mysqli_result mysqli::store_result ( void )
int mysqli_thread_id ( mysqli $link )
bool mysqli_thread_safe ( void )
mysqli_result mysqli::use_result ( void )
int mysqli_warning_count ( mysqli $link )
}

Содержание

  • mysqli::affected_rows — Получает число строк, затронутых предыдущей операцией MySQL
  • mysqli::autocommit — Включает или отключает автоматическую фиксацию изменений базы данных
  • mysqli::change_user — Позволяет сменить пользователя подключенного к базе данных
  • mysqli::character_set_name — Возвращает кодировку по умолчанию, установленную для соединения с БД
  • mysqli::client_info — Возвращает версию клиента MySQL в виде строки
  • mysqli::client_version — Получает информацию о клиенте MySQL
  • mysqli::close — Closes a previously opened database connection
  • mysqli::commit — Фиксирует текущую транзакцию
  • mysqli::connect_errno — Возвращает код ошибки последней попытки соединения
  • mysqli::connect_error — Возвращает описание последней ошибки подключения
  • mysqli::__construct — Open a new connection to the MySQL server
  • mysqli::debug — Выполняет процедуры отладки
  • mysqli::dump_debug_info — Журналирование отладочной информации
  • mysqli::errno — Возвращает код ошибки последнего вызова функции
  • mysqli::error — Returns a string description of the last error
  • mysqli::field_count — Возвращает число столбцов, затронутых последним запросом
  • mysqli::get_charset — Returns a character set object
  • mysqli::get_client_info — Возвращает версию клиента MySQL в виде строки
  • mysqli_get_client_stats — Возвращает статистику клиента для каждого процесса
  • mysqli::client_version — Получает информацию о клиенте MySQL
  • mysqli::get_connection_stats — Возвращает статистику соединения с клиентом
  • mysqli::host_info — Возвращает строку, содержащую тип используемого соединения
  • mysqli::protocol_version — Возвращает версию используемого MySQL протокола
  • mysqli::server_info — Возвращает версию MySQL сервера
  • mysqli::server_version — Returns the version of the MySQL server as an integer
  • mysqli::get_warnings — Get result of SHOW WARNINGS
  • mysqli::info — Retrieves information about the most recently executed query
  • mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli::insert_id — Возвращает автоматически генерируемый ID, используя последний запрос
  • mysqli::kill — Asks the server to kill a MySQL thread
  • mysqli::more_results — Check if there are any more query results from a multi query
  • mysqli::multi_query — Performs a query on the database
  • mysqli::next_result — Prepare next result from multi_query
  • mysqli::options — Set options
  • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • mysqli::poll — Poll connections
  • mysqli::prepare — Prepare an SQL statement for execution
  • mysqli::query — Performs a query on the database
  • mysqli::real_connect — Opens a connection to a mysql server
  • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysqli::real_query — Execute an SQL query
  • mysqli::reap_async_query — Get result from async query
  • mysqli::rollback — Rolls back current transaction
  • mysqli::select_db — Устанавливает базу данных для выполняемых запросов
  • mysqli::set_charset — Sets the default client character set
  • mysqli::set_local_infile_default — Unsets user defined handler for load local infile command
  • mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command
  • mysqli::sqlstate — Returns the SQLSTATE error from previous MySQL operation
  • mysqli::ssl_set — Used for establishing secure connections using SSL
  • mysqli::stat — Gets the current system status
  • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli::store_result — Transfers a result set from the last query
  • mysqli::thread_id — Returns the thread ID for the current connection
  • mysqli::thread_safe — Returns whether thread safety is given or not
  • mysqli::use_result — Initiate a result set retrieval
  • mysqli::warning_count — Returns the number of warnings from the last query for the given link
Основная информация о функциях расширения MySQLi
mysqli::affected_rows
mysqli


Получает число строк, затронутых предыдущей операцией MySQL

MySQLi
mysqli::autocommit
MySQLi
PHP Manual

mysqli::affected_rows

mysqli_affected_rows

(PHP 5)

mysqli::affected_rows -- mysqli_affected_rows — Получает число строк, затронутых предыдущей операцией MySQL

Описание

Объектно-ориентированный стиль

int $mysqli->affected_rows;

Процедурный стиль

int mysqli_affected_rows ( mysqli $link )

Возвращает число строк, затронутых последним INSERT, UPDATE, REPLACE или DELETE запросом.

Для запросов вида SELECT mysqli_affected_rows() работает как mysqli_num_rows().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Целое число, большее нуля, означает количество затронутых или полученных строк. Ноль означает, что запросом вида UPDATE не обновлено ни одной записи, или что ни одна строка не соответствует условию WHERE в запросе, или что запрос еще не был выполнен. Значение -1 указывает на то, что запрос вернул ошибку.

Замечание:

Если число затронутых строк больше чем максимальное значение int, то число затронутых строк будет возвращено в строковом виде (string).

Примеры

Пример #1 Пример mysqli->affected_rows

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверка соединения */
if (mysqli_connect_errno()) {
    printf("Подключение не удалось: %s\n", mysqli_connect_error());
    exit();
}

/* Добавление строк (Insert) */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Затронутые строки (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* Обновление строк (Update) */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Затронутые строки (UPDATE): %d\n", $mysqli->affected_rows);

/* Удаление строк (Delete) */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Затронутые строки (DELETE): %d\n", $mysqli->affected_rows);

/* Выбор всех строк (Select) */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Затронутые строки (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Удаление таблицы Language */
$mysqli->query("DROP TABLE Language");

/* Закрытие соединения */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Не могу подключиться к localhost. Ошибка: %s\n", mysqli_connect_error());
    exit();
}

/* Добавление строк (Insert) */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Затронутые строки (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* Обновление строк (Update) */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Затронутые строки (UPDATE): %d\n", mysqli_affected_rows($link));

/* Удаление строк (Delete) */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Затронутые строки (DELETE): %d\n", mysqli_affected_rows($link));

/* Выбор всех строк (Select) */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Затронутые строки (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Удаление таблицы Language */
mysqli_query($link, "DROP TABLE Language");

/* Закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Затронутые строки (INSERT): 984
Затронутые строки (UPDATE): 168
Затронутые строки (DELETE): 815
Затронутые строки (SELECT): 169

Смотрите также

  • mysqli_num_rows() - Получает число рядов в результирующей выборке
  • mysqli_info() - Retrieves information about the most recently executed query

MySQLi
mysqli::autocommit
MySQLi


Включает или отключает автоматическую фиксацию изменений базы данных

mysqli::affected_rows
mysqli::change_user
MySQLi
PHP Manual

mysqli::autocommit

mysqli_autocommit

(PHP 5)

mysqli::autocommit -- mysqli_autocommit — Включает или отключает автоматическую фиксацию изменений базы данных

Описание

Объектно-ориентированный стиль

bool mysqli::autocommit ( bool $mode )

Процедурный стиль

bool mysqli_autocommit ( mysqli $link , bool $mode )

Включает или отключает режим автоматической фиксации изменений для соединения с базой данных.

Чтобы определить текущее состояние режима используйте команду SQL SELECT @@autocommit.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

mode

Включает или отключает режим автоматической фиксации изменений.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Эта функция не работает с таблицами без транзакций (MyISAM или ISAM).

Примеры

Пример #1 Пример использования mysqli::autocommit()

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Включить режим фиксации */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("Autocommit is %s\n", $row[0]);
    $result->free();
}

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Включить режим фиксации */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("Autocommit is %s\n", $row[0]);
    mysqli_free_result($result);
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Autocommit is 1

Смотрите также

  • mysqli_commit() - Фиксирует текущую транзакцию
  • mysqli_rollback() - Rolls back current transaction

mysqli::affected_rows
mysqli::change_user
MySQLi


Позволяет сменить пользователя подключенного к базе данных

mysqli::autocommit
mysqli::character_set_name
MySQLi
PHP Manual

mysqli::change_user

mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Позволяет сменить пользователя подключенного к базе данных

Описание

Объектно-ориентированный стиль

bool mysqli::change_user ( string $user , string $password , string $database )

Процедурный стиль

bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )

Меняет пользователя, от имени которого выполнено подключение к базе данных, и устанавливает текущую базу данных

Для успешной смены пользователя необходимы корректные username и password, а так же наличие достаточных прав для работы с базой. Если смена пользователя закончится ошибкой, сохранится текущая авторизация пользователя, до вызова функции.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

user

Имя пользователя для доступа к MySQL

password

Пароль для доступа к MySQL

database

Имя базы данных

Если требуется сменить пользователя, без выбора базы данных, следует указывать NULL. Для выбора базы данных, необходимо использовать функцию mysqli_select_db().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Всегда вызывается текущее содединение с базой данных, которое ведет себя так, как будто было создано новое соединение. Независимо от результата операции, вызов команды приведет к откату всех активных транзакций, закрытию временных таблиц и разблокировки всех заблокированных таблиц, даже если результат будет успешным.

Примеры

Пример #1 Пример использования mysqli::change_user()

Объектно-ориентированный стиль

<?php

/* создаем подключение к базе данных test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* проверяем соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* устанавливаем переменную a */
$mysqli->query("SET @a:=1");

/* все сбрасываем и выбираем новую базу данных */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}

/* закрываем соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
/* создаем подключение к базе данных test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* проверяем соединение */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* устанавливаем переменную a */
mysqli_query($link, "SET @a:=1");

/* все сбрасываем и выбираем новую базу данных */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* закрываем соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Default database: world
Value of variable a is NULL

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_select_db() - Устанавливает базу данных для выполняемых запросов

mysqli::autocommit
mysqli::character_set_name
MySQLi


Возвращает кодировку по умолчанию, установленную для соединения с БД

mysqli::change_user
mysqli::client_info
MySQLi
PHP Manual

mysqli::character_set_name

mysqli_character_set_name

(PHP 5)

mysqli::character_set_name -- mysqli_character_set_name — Возвращает кодировку по умолчанию, установленную для соединения с БД

Описание

Объектно-ориентированный стиль

string mysqli::character_set_name ( void )

Процедурный стиль

string mysqli_character_set_name ( mysqli $link )

Возвращает текущую кодировку, установленную для соединения с БД.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Кодировка по умолчанию, установленная для текущего соединения

Примеры

Пример #1 mysqli::character_set_name() example

Объектно-ориентированный стиль

<?php
/* Открыть соединение */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Подключение не удалось: %s\n", mysqli_connect_error());
    exit();
}

/* Вывод текущей кодировки */
$charset = $mysqli->character_set_name();
printf ("Текущая кодировка - %s\n", $charset);

$mysqli->close();
?>

Процедурный стиль

<?php
/* Открыть соединение */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (!$link) {
    printf("Подключение не удалось: %s\n", mysqli_connect_error());
    exit();
}

/* Вывод текущей кодировки */
$charset = mysqli_character_set_name($link);
printf ("Текущая кодировка - %s\n",$charset);

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Текущая кодировка - latin1_swedish_ci

Смотрите также

  • mysqli_client_encoding() - Синоним функции mysqli_character_set_name
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::change_user
mysqli::client_info
MySQLi


Возвращает версию клиента MySQL в виде строки

mysqli::character_set_name
mysqli::client_version
MySQLi
PHP Manual

mysqli::client_info

mysqli_get_client_info

(PHP 5)

mysqli::client_info -- mysqli_get_client_info — Возвращает версию клиента MySQL в виде строки

Описание

Объектно-ориентированный стиль

string $mysqli->client_info;

Процедурный стиль

string mysqli_get_client_info ( mysqli $link )

Возвращает строку, содержащую версию библиотеки клиента MySQL.

Возвращаемые значения

Строка, содержащая версию библиотеки клиента MySQL

Примеры

Пример #1 mysqli_get_client_info

<?php

/* Для определения версии библиотеки клиента
   нет необходимсоти в создании подключения */

printf("Версия клиента: %s\n", mysqli_get_client_info());
?>

Смотрите также

  • mysqli_get_client_version() - Получает информацию о клиенте MySQL
  • mysqli_get_server_info() - Возвращает версию MySQL сервера
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::character_set_name
mysqli::client_version
MySQLi


Получает информацию о клиенте MySQL

mysqli::client_info
mysqli::close
MySQLi
PHP Manual

mysqli::client_version

mysqli_get_client_version

(PHP 5)

mysqli::client_version -- mysqli_get_client_version — Получает информацию о клиенте MySQL

Описание

Объектно-ориентированный стиль

int $mysqli->client_version;

Процедурный стиль

int mysqli_get_client_version ( mysqli $link )

Возвращает версию клиента в виде целого числа.

Возвращаемые значения

Число, отражающее версию библиотеки клиента MySQL в формате: main_version*10000 + minor_version *100 + sub_version. К примеру, для версии 4.1.0 будет возвращено 40100.

Это полезно чтобы быстро определить версию клиентской библиотеки и узнать о существующих возможностях.

Примеры

Пример #1 mysqli_get_client_version

<?php

/* Для определения версии клиентской библиотеки
 не требуется подключение*/

printf("Версия клиентской библиотеки: %d\n", mysqli_get_client_version());
?>

Смотрите также

  • mysqli_get_client_info() - Возвращает версию клиента MySQL в виде строки
  • mysqli_get_server_info() - Возвращает версию MySQL сервера
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::client_info
mysqli::close
MySQLi


Closes a previously opened database connection

mysqli::client_version
mysqli::commit
MySQLi
PHP Manual

mysqli::close

mysqli_close

(PHP 5)

mysqli::close -- mysqli_close — Closes a previously opened database connection

Описание

Объектно-ориентированный стиль

bool mysqli::close ( void )

Процедурный стиль

bool mysqli_close ( mysqli $link )

Closes a previously opened database connection.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

See mysqli_connect().

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::client_version
mysqli::commit
MySQLi


Фиксирует текущую транзакцию

mysqli::close
mysqli::connect_errno
MySQLi
PHP Manual

mysqli::commit

mysqli_commit

(PHP 5)

mysqli::commit -- mysqli_commit — Фиксирует текущую транзакцию

Описание

Объектно-ориентированный стиль

bool mysqli::commit ( void )

Процедурный стиль

bool mysqli_commit ( mysqli $link )

Фиксирует транзакцию для установленного соединения с базой данных.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysqli::commit()

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");

/* Откл. автофиксацию изменений */
$mysqli->autocommit(FALSE);

/* Вставить некоторые значения */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Фиксировать транзакцию */
$mysqli->commit();

/* Удалить таблицу */
$mysqli->query("DROP TABLE Language");

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* Проверить соединение */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Откл. автофиксацию изменений */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");

/* Вставить некоторые значения */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Фиксировать транзакцию */
mysqli_commit($link);

/* Закрыть соединение */
mysqli_close($link);
?>

Смотрите также

  • mysqli_autocommit() - Включает или отключает автоматическую фиксацию изменений базы данных
  • mysqli_rollback() - Rolls back current transaction

mysqli::close
mysqli::connect_errno
MySQLi


Возвращает код ошибки последней попытки соединения

mysqli::commit
mysqli::connect_error
MySQLi
PHP Manual

mysqli::connect_errno

mysqli_connect_errno

(PHP 5)

mysqli::connect_errno -- mysqli_connect_errno — Возвращает код ошибки последней попытки соединения

Описание

Объектно-ориентированный стиль

string $mysqli->connect_errno;

Процедурный стиль

int mysqli_connect_errno ( void )

Возвращает код ошибки последнего вызова mysqli_connect().

Замечание:

Номера ошибок клиента MySQL перечислены в файле errmsg.h, номера ошибок сервера перечислены в mysqld_error.h. В исходном пакете MySQL вы можете найти полный список сообщений об ошибках и их номерах в файле Docs/mysqld_error.txt.

Возвращаемые значения

Код ошибки последнего вызова mysqli_connect(). При отсутствие ошибок выводит 0.

Примеры

Пример #1 Пример использования mysqli->connect_errno

Объектно-ориентированный стиль

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Ошибка соединения: ' . $mysqli->connect_errno);
}
?>

Процедурный стиль

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Ошибка соединения: ' . mysqli_connect_errno());
}
?>

Результат выполнения данных примеров:

Ошибка соединения: 1045

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_connect_error() - Возвращает описание последней ошибки подключения
  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::commit
mysqli::connect_error
MySQLi


Возвращает описание последней ошибки подключения

mysqli::connect_errno
mysqli::__construct
MySQLi
PHP Manual

mysqli::connect_error

mysqli_connect_error

(PHP 5)

mysqli::connect_error -- mysqli_connect_error — Возвращает описание последней ошибки подключения

Описание

Объектно-ориентированный стиль

string $mysqli->connect_error;

Процедурный стиль

string mysqli_connect_error ( void )

Возвращает последнее сообщение об ошибке после вызова mysqli_connect().

Возвращаемые значения

Сообщение об ошибке. NULL, если ошибка отсутствует.

Примеры

Пример #1 mysqli->connect_error example

Объектно-ориентированный стиль

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

// Работает в версиях PHP 5.2.9 и 5.3.0.
if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
?>

Процедурный стиль

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_error());
}
?>

Результат выполнения данных примеров:

Connect Error: Access denied for user 'fake_user'@'localhost' (using password: YES)

Примечания

Внимание

mysqli->connect_error() работает в версиях PHP 5.2.9 и 5.3.0. Для совместимости с более ранними версиями следует использовать mysqli_connect_error()

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_connect_errno() - Возвращает код ошибки последней попытки соединения
  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::connect_errno
mysqli::__construct
MySQLi


Open a new connection to the MySQL server

mysqli::connect_error
mysqli::debug
MySQLi
PHP Manual

mysqli::__construct

mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connect — Open a new connection to the MySQL server

Описание

Объектно-ориентированный стиль

  mysqli::__construct()
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Процедурный стиль

 mysqli mysqli_connect
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Opens a connection to the MySQL Server running on.

Список параметров

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

Prepending host by p: opens a persistent connection. mysqli_change_user() is automatically called on connections opened from the connection pool.

username

The MySQL user name.

passwd

If not provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Замечание:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

Возвращаемые значения

Returns an object which represents the connection to a MySQL Server.

Список изменений

Версия | Описание
5.3.0 | Added the ability of persistent connections.

Примеры

Пример #1 mysqli::__construct() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

/*
 * Use this instead of $connect_error if you need to ensure
 * compatibility with PHP versions prior to 5.2.9 and 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Объектно-ориентированный стиль when extending mysqli class

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::__construct($host, $user, $pass, $db);

        if (mysqli_connect_error()) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Результат выполнения данных примеров:

Success... MySQL host info: localhost via TCP/IP

Примечания

Замечание:

MySQLnd всегда подразумевает кодировку, которую использует по умолчанию сервер. Эта кодировка посылается в течение установления соединения/авторизации, используемого mysqlnd.

Libmysql по умолчанию использует кодировку, установленную в my.cnf или специальным вызовом mysqli_options() до использования mysqli_real_connect(), но после mysqli_init().

Замечание:

OO syntax only: If a connection fails an object is still returned. To check if the connection failed then use either the mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.

Замечание:

If it is necessary to set options, such as the connection timeout, mysqli_real_connect() must be used instead.

Замечание:

Calling the constructor with no parameters is the same as calling mysqli_init().

Замечание:

Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

Смотрите также

  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_connect_errno() - Возвращает код ошибки последней попытки соединения
  • mysqli_connect_error() - Возвращает описание последней ошибки подключения
  • mysqli_close() - Closes a previously opened database connection

mysqli::connect_error
mysqli::debug
MySQLi


Выполняет процедуры отладки

mysqli::__construct
mysqli::dump_debug_info
MySQLi
PHP Manual

mysqli::debug

mysqli_debug

(PHP 5)

mysqli::debug -- mysqli_debug — Выполняет процедуры отладки

Описание

Объектно-ориентированный стиль

bool mysqli::debug ( string $message )

Процедурный стиль

bool mysqli_debug ( string $message )

Выполняет процедуры отладки, используя библиотеку Fred Fish.

Список параметров

message

Строка, содержащая выполняемую процедуру отладки

Возвращаемые значения

Возвращает TRUE.

Примечания

Замечание:

Чтобы использовать функцию mysqli_debug() вы должны скомпилировать клиентскую библиотеку MySQL с поддержкой отладки.

Примеры

Пример #1 Generating a Trace File

<?php

/* Создать файл трассировки в '/tmp/client.trace' на локальной машине (клиенте): */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Смотрите также

  • mysqli_dump_debug_info() - Журналирование отладочной информации
  • mysqli_report() - Enables or disables internal report functions

mysqli::__construct
mysqli::dump_debug_info
MySQLi


Журналирование отладочной информации

mysqli::debug
mysqli::errno
MySQLi
PHP Manual

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Журналирование отладочной информации

Описание

Объектно-ориентированный стиль

bool mysqli::dump_debug_info ( void )

Процедурный стиль

bool mysqli_dump_debug_info ( mysqli $link )

Эта функция разработана для запуска от имени пользователя с привелегиями SUPER и используется для сборка отладочной информации в журнал сервера MySQL к которому произведено подключение.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mysqli_debug() - Выполняет процедуры отладки

mysqli::debug
mysqli::errno
MySQLi


Возвращает код ошибки последнего вызова функции

mysqli::dump_debug_info
mysqli::error
MySQLi
PHP Manual

mysqli::errno

mysqli_errno

(PHP 5)

mysqli::errno -- mysqli_errno — Возвращает код ошибки последнего вызова функции

Описание

Объектно-ориентированный стиль

int $mysqli->errno;

Процедурный стиль

int mysqli_errno ( mysqli $link )

Возвращает код ошибки последнего вызова функции MySQLi, завершившейся успехом или провалом.

Номера ошибок клиента MySQL перечислены в файле errmsg.h, номера ошибок сервера перечислены в mysqld_error.h. В исходном пакете MySQL вы можете найти полный список сообщений об ошибках и их номерах в файле Docs/mysqld_error.txt.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Код ошибки последнего вызова функции в случае провала. При отсутствие ошибок выводит 0.

Примеры

Пример #1 Пример использования mysqli->errno

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Errorcode: 1193

Смотрите также

  • mysqli_connect_errno() - Возвращает код ошибки последней попытки соединения
  • mysqli_connect_error() - Возвращает описание последней ошибки подключения
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::dump_debug_info
mysqli::error
MySQLi


Returns a string description of the last error

mysqli::errno
mysqli::field_count
MySQLi
PHP Manual

mysqli::error

mysqli_error

(PHP 5)

mysqli::error -- mysqli_error — Returns a string description of the last error

Описание

Объектно-ориентированный стиль

string $mysqli->error;

Процедурный стиль

string mysqli_error ( mysqli $link )

Returns the last error message for the most recent MySQLi function call that can succeed or fail.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

A string that describes the error. An empty string if no error occurred.

Примеры

Пример #1 mysqli->error example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Errormessage: Unknown system variable 'a'

Смотрите также

  • mysqli_connect_errno() - Возвращает код ошибки последней попытки соединения
  • mysqli_connect_error() - Возвращает описание последней ошибки подключения
  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::errno
mysqli::field_count
MySQLi


Возвращает число столбцов, затронутых последним запросом

mysqli::error
mysqli::get_charset
MySQLi
PHP Manual

mysqli::field_count

mysqli_field_count

(PHP 5)

mysqli::field_count -- mysqli_field_count — Возвращает число столбцов, затронутых последним запросом

Описание

Объектно-ориентированный стиль

int $mysqli_result->field_count;

Процедурный стиль

int mysqli_field_count ( mysqli $link )

Возвращает число столбцов, затронутых последним запросом для соединения, указанного в link. Эта функция может быть полезной при использовании mysqli_store_result() для того, чтобы определить выдан ли непустой результат, или в случае неизвестного назначения запроса.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Целое число, содержащее число полей в результате запроса.

Примеры

Пример #1 Пример использования mysqli->field_count

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query("SELECT * FROM friends");

if ($mysqli->field_count) {
    /* Определить тип запроса (select/show или describe) */
    $result = $mysqli->store_result();

    /* Создать выборку */
    $row = $result->fetch_row();

    /* Очистить выборку */
    $result->close();
}

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, "SELECT * FROM friends");

if (mysqli_field_count($link)) {
    /* Определить тип запроса (select/show или describe) */
    $result = mysqli_store_result($link);

    /* Создать выборку */
    $row = mysqli_fetch_row($result);

    /* Очистить выборку */
    mysqli_free_result($result);
}

/* Закрыть соединение */
mysqli_close($link);
?>
mysqli::error
mysqli::get_charset
MySQLi


Returns a character set object

mysqli::field_count
mysqli::get_client_info
MySQLi
PHP Manual

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0)

mysqli::get_charset -- mysqli_get_charset — Returns a character set object

Описание

Объектно-ориентированный стиль

object mysqli::get_charset ( void )

Процедурный стиль

object mysqli_get_charset ( mysqli $link )

Returns a character set object providing several properties of the current active character set.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

The function returns a character set object with the following properties:

charset

Character set name

collation

Collation name

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Minimum character length in bytes

max_length

Maximum character length in bytes

number

Internal character set number

state

Character set status (?)

Примеры

Пример #1 mysqli::get_charset() example

Объектно-ориентированный стиль

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");
  var_dump($db->get_charset());
?>

Процедурный стиль

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");
  var_dump($db->get_charset());
?>

Результат выполнения данных примеров:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Смотрите также

  • mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД
  • mysqli_set_charset() - Sets the default client character set

mysqli::field_count
mysqli::get_client_info
MySQLi


Возвращает версию клиента MySQL в виде строки

mysqli::get_charset
mysqli_get_client_stats
MySQLi
PHP Manual

mysqli::get_client_info

mysqli_get_client_info

(PHP 5)

mysqli::get_client_info -- mysqli_get_client_info — Возвращает версию клиента MySQL в виде строки

Описание

Объектно-ориентированный стиль

string mysqli::get_client_info ( void )

Процедурный стиль

string mysqli_get_client_info ( mysqli $link )

Возвращает строку, содержащую версию клиентской библиотеки MySQL.

Возвращаемые значения

Строка, содержащая версию клиентской библиотеки MySQL

Примеры

Пример #1 mysqli_get_client_info

<?php

/* Для определения версии клиентской библиотеки MySQL
   нет необходимости в создании соединения */

printf("Версия клиентской библиотеки: %s\n", mysqli_get_client_info());
?>

Смотрите также

  • mysqli_get_client_version() - Получает информацию о клиенте MySQL
  • mysqli_get_server_info() - Возвращает версию MySQL сервера
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::get_charset
mysqli_get_client_stats
MySQLi


Возвращает статистику клиента для каждого процесса

mysqli::get_client_info
mysqli::client_version
MySQLi
PHP Manual

mysqli_get_client_stats

(PHP 5 >= 5.3.0)

mysqli_get_client_stats — Возвращает статистику клиента для каждого процесса

Описание

array mysqli_get_client_stats ( void )

Возвращает статистику клиента для каждого процесса. Доступно только с расширением mysqlnd.

Список параметров

Возвращаемые значения

Возвращает массив со статистикой, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования mysqli_get_client_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Смотрите также

  • Описание статистики

mysqli::get_client_info
mysqli::client_version
MySQLi


Получает информацию о клиенте MySQL

mysqli_get_client_stats
mysqli::get_connection_stats
MySQLi
PHP Manual

mysqli::client_version

mysqli_get_client_version

(PHP 5)

mysqli::client_version -- mysqli_get_client_version — Получает информацию о клиенте MySQL

Описание

Объектно-ориентированный стиль

int $mysqli->client_version;

Процедурный стиль

int mysqli_get_client_version ( mysqli $link )

Возвращает версию клиента в виде целого числа.

Возвращаемые значения

Число, содержащее версию клиентской библиотеки MySQL в следующем формате: main_version*10000 + minor_version *100 + sub_version. К примеру, для версии 4.1.0 выведет 40100.

Целесообразно использовать для быстрого определения версии клиентской библиотеки и возможностей её применения.

Примеры

Пример #1 mysqli_get_client_version

<?php

/* Для определения версии клиентской библиотеки MySQL
 нет необходимости в создании соединения*/

printf("Версия клиентской библиотеки: %d\n", mysqli_get_client_version());
?>

Смотрите также

  • mysqli_get_client_info() - Возвращает версию клиента MySQL в виде строки
  • mysqli_get_server_info() - Возвращает версию MySQL сервера
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli_get_client_stats
mysqli::get_connection_stats
MySQLi


Возвращает статистику соединения с клиентом

mysqli::client_version
mysqli::host_info
MySQLi
PHP Manual

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Возвращает статистику соединения с клиентом

Описание

Объектно-ориентированный стиль

bool mysqli::get_connection_stats ( void )

Процедурный стиль

array mysqli_get_connection_stats ( mysqli $link )

Возвращает статистику соединения с клиентом. Доступно только с расширением mysqlnd.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает массив статистики соединения, либо FALSE при ошибке.

Примеры

Пример #1 Пример использования mysqli_get_connection_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Смотрите также

  • Описание статистики

mysqli::client_version
mysqli::host_info
MySQLi


Возвращает строку, содержащую тип используемого соединения

mysqli::get_connection_stats
mysqli::protocol_version
MySQLi
PHP Manual

mysqli::host_info

mysqli_get_host_info

(PHP 5)

mysqli::host_info -- mysqli_get_host_info — Возвращает строку, содержащую тип используемого соединения

Описание

Объектно-ориентированный стиль

string $mysqli->host_info;

Процедурный стиль

string mysqli_get_host_info ( mysqli $link )

Возвращает строку, описывающую соединение, которое обозначено в параметре link (включая имя хоста сервера).

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Символьная строка, содержащая имя хоста сервера и тип подключения.

Примеры

Пример #1 Пример mysqli->host_info

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* вывод информации о хосте */
printf("Host info: %s\n", $mysqli->host_info);

/* закрытие соединения */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* вывод информации о хосте */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Host info: Localhost via UNIX socket

Смотрите также

  • mysqli_get_proto_info() - Возвращает версию используемого MySQL протокола

mysqli::get_connection_stats
mysqli::protocol_version
MySQLi


Возвращает версию используемого MySQL протокола

mysqli::host_info
mysqli::server_info
MySQLi
PHP Manual

mysqli::protocol_version

mysqli_get_proto_info

(PHP 5)

mysqli::protocol_version -- mysqli_get_proto_info — Возвращает версию используемого MySQL протокола

Описание

Объектно-ориентированный стиль

string $mysqli->protocol_version;

Процедурный стиль

int mysqli_get_proto_info ( mysqli $link )

Возвращает целое число, представляющее собой версию протокола MySQL, используемого для соединения, переданного в link.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает целое число, представляющее версию протокола.

Примеры

Пример #1 Пример использования mysqli->protocol_version

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Вывести версию протокола */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Вывести версию протокола */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Protocol version: 10

Смотрите также

  • mysqli_get_host_info() - Возвращает строку, содержащую тип используемого соединения

mysqli::host_info
mysqli::server_info
MySQLi


Возвращает версию MySQL сервера

mysqli::protocol_version
mysqli::server_version
MySQLi
PHP Manual

mysqli::server_info

mysqli_get_server_info

(PHP 5)

mysqli::server_info -- mysqli_get_server_info — Возвращает версию MySQL сервера

Описание

Объектно-ориентированный стиль

string $mysqli->server_info;

Процедурный стиль

string mysqli_get_server_info ( mysqli $link )

Возвращает строку, содержащую версию сервера MySQL, к которому также подключено расширение MySQLi.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Строка символов, содержащая версию сервера.

Примеры

Пример #1 Пример использования mysqli->server_info

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* вывести версию сервера */
printf("Server version: %s\n", $mysqli->server_info);

/* закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* проверить соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* вывести версию сервера */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Server version: 4.1.2-alpha-debug

Смотрите также

  • mysqli_get_client_info() - Возвращает версию клиента MySQL в виде строки
  • mysqli_get_client_version() - Получает информацию о клиенте MySQL
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::protocol_version
mysqli::server_version
MySQLi


Returns the version of the MySQL server as an integer

mysqli::server_info
mysqli::get_warnings
MySQLi
PHP Manual

mysqli::server_version

mysqli_get_server_version

(PHP 5)

mysqli::server_version -- mysqli_get_server_version — Returns the version of the MySQL server as an integer

Описание

Объектно-ориентированный стиль

int $mysqli->server_version;

Процедурный стиль

int mysqli_get_server_version ( mysqli $link )

The mysqli_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

An integer representing the server version.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 4.1.0 is 40100).

Примеры

Пример #1 mysqli->server_version example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Server version: 40102

Смотрите также

  • mysqli_get_client_info() - Возвращает версию клиента MySQL в виде строки
  • mysqli_get_client_version() - Получает информацию о клиенте MySQL
  • mysqli_get_server_info() - Возвращает версию MySQL сервера

mysqli::server_info
mysqli::get_warnings
MySQLi


Get result of SHOW WARNINGS

mysqli::server_version
mysqli::info
MySQLi
PHP Manual

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0)

mysqli::get_warnings -- mysqli_get_warnings — Get result of SHOW WARNINGS

Описание

Объектно-ориентированный стиль

mysqli_warning mysqli::get_warnings ( void )

Процедурный стиль

mysqli_warning mysqli_get_warnings ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli::server_version
mysqli::info
MySQLi


Retrieves information about the most recently executed query

mysqli::get_warnings
mysqli::init
MySQLi
PHP Manual

mysqli::info

mysqli_info

(PHP 5)

mysqli::info -- mysqli_info — Retrieves information about the most recently executed query

Описание

Объектно-ориентированный стиль

string $mysqli->info;

Процедурный стиль

string mysqli_info ( mysqli $link )

The mysqli_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible mysqli_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Замечание:

Queries which do not fall into one of the preceding formats are not supported. In these situations, mysqli_info() will return an empty string.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

A character string representing additional information about the most recently executed query.

Примеры

Пример #1 mysqli->info example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Records: 150  Duplicates: 0  Warnings: 0

Смотрите также

  • mysqli_affected_rows() - Получает число строк, затронутых предыдущей операцией MySQL
  • mysqli_warning_count() - Returns the number of warnings from the last query for the given link
  • mysqli_num_rows() - Получает число рядов в результирующей выборке

mysqli::get_warnings
mysqli::init
MySQLi


Initializes MySQLi and returns a resource for use with mysqli_real_connect()

mysqli::info
mysqli::insert_id
MySQLi
PHP Manual

mysqli::init

mysqli_init

(PHP 5)

mysqli::init -- mysqli_init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()

Описание

Объектно-ориентированный стиль

mysqli mysqli::init ( void )

Процедурный стиль

mysqli mysqli_init ( void )

Allocates or initializes a MYSQL object suitable for mysqli_options() and mysqli_real_connect().

Замечание:

Any subsequent calls to any mysqli function (except mysqli_options()) will fail until mysqli_real_connect() was called.

Возвращаемые значения

Returns an object.

Примеры

See mysqli_real_connect().

Смотрите также

  • mysqli_options() - Set options
  • mysqli_close() - Closes a previously opened database connection
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_connect() - Псевдоним mysqli::__construct

mysqli::info
mysqli::insert_id
MySQLi


Возвращает автоматически генерируемый ID, используя последний запрос

mysqli::init
mysqli::kill
MySQLi
PHP Manual

mysqli::insert_id

mysqli_insert_id

(PHP 5)

mysqli::insert_id -- mysqli_insert_id — Возвращает автоматически генерируемый ID, используя последний запрос

Описание

Объектно-ориентированный стиль

mixed $mysqli->insert_id;

Процедурный стиль

mixed mysqli_insert_id ( mysqli $link )

Функция mysqli_insert_id() возвращает ID, генерируемый запросом к таблице, которая содержит колонку с атрибутом AUTO_INCREMENT. Если последний запрос не был INSERT или UPDATE или в модифицируемой таблице отсутствует колонка с атрибутом AUTO_INCREMENT, данная функция вернет ноль.

Замечание:

Выполнение выражения INSERT или UPDATE, используя функцию LAST_INSERT_ID(), также изменяет значение, возвращаемое функцией mysqli_insert_id().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Значение поля AUTO_INCREMENT, которое было затронуто предыдущим запросом. Возвращает ноль, если предыдущий запрос не затронул таблицы, сожержащие поле AUTO_INCREMENT.

Замечание:

Если число больше максимального значения int, функция mysqli_insert_id() вернет строку.

Примеры

Пример #1 Пример функции mysqli->insert_id

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не установлено: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("ID новой записи: %d.\n", $mysqli->insert_id);

/* удаление таблицы */
$mysqli->query("DROP TABLE myCity");

/* закрытие соединения */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не установлено: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("ID новой записи: %d.\n", mysqli_insert_id($link));

/* удаление таблицы */
mysqli_query($link, "DROP TABLE myCity");

/* закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данных примеров:

ID новой записи: 1.
mysqli::init
mysqli::kill
MySQLi


Asks the server to kill a MySQL thread

mysqli::insert_id
mysqli::more_results
MySQLi
PHP Manual

mysqli::kill

mysqli_kill

(PHP 5)

mysqli::kill -- mysqli_kill — Asks the server to kill a MySQL thread

Описание

Объектно-ориентированный стиль

bool mysqli::kill ( int $processid )

Процедурный стиль

bool mysqli_kill ( mysqli $link , int $processid )

This function is used to ask the server to kill a MySQL thread specified by the processid parameter. This value must be retrieved by calling the mysqli_thread_id() function.

To stop a running query you should use the SQL command KILL QUERY processid.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mysqli::kill() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: MySQL server has gone away

Смотрите также

  • mysqli_thread_id() - Returns the thread ID for the current connection

mysqli::insert_id
mysqli::more_results
MySQLi


Check if there are any more query results from a multi query

mysqli::kill
mysqli::multi_query
MySQLi
PHP Manual

mysqli::more_results

mysqli_more_results

(PHP 5)

mysqli::more_results -- mysqli_more_results — Check if there are any more query results from a multi query

Описание

Объектно-ориентированный стиль

bool mysqli::more_results ( void )

Процедурный стиль

bool mysqli_more_results ( mysqli $link )

Indicates if one or more result sets are available from a previous call to mysqli_multi_query().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

See mysqli_multi_query().

Смотрите также

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::kill
mysqli::multi_query
MySQLi


Performs a query on the database

mysqli::more_results
mysqli::next_result
MySQLi
PHP Manual

mysqli::multi_query

mysqli_multi_query

(PHP 5)

mysqli::multi_query -- mysqli_multi_query — Performs a query on the database

Описание

Объектно-ориентированный стиль

bool mysqli::multi_query ( string $query )

Процедурный стиль

bool mysqli_multi_query ( mysqli $link , string $query )

Executes one or multiple queries which are concatenated by a semicolon.

To retrieve the resultset from the first query you can use mysqli_use_result() or mysqli_store_result(). All subsequent query results can be processed using mysqli_more_results() and mysqli_next_result().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

query

The query, as a string.

Data inside the query should be properly escaped.

Возвращаемые значения

Returns FALSE if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.

Примеры

Пример #1 mysqli::multi_query() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Результатом выполнения данных примеров будет что-то подобное:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Смотрите также

  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_more_results() - Check if there are any more query results from a multi query

mysqli::more_results
mysqli::next_result
MySQLi


Prepare next result from multi_query

mysqli::multi_query
mysqli::options
MySQLi
PHP Manual

mysqli::next_result

mysqli_next_result

(PHP 5)

mysqli::next_result -- mysqli_next_result — Prepare next result from multi_query

Описание

Объектно-ориентированный стиль

bool mysqli::next_result ( void )

Процедурный стиль

bool mysqli_next_result ( mysqli $link )

Prepares next result set from a previous call to
mysqli_multi_query() which can be retrieved by
mysqli_store_result() or
mysqli_use_result().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

See mysqli_multi_query().

Смотрите также

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_more_results() - Check if there are any more query results from a multi query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::multi_query
mysqli::options
MySQLi


Set options

mysqli::next_result
mysqli::ping
MySQLi
PHP Manual

mysqli::options

mysqli_options

(PHP 5)

mysqli::options -- mysqli_options — Set options

Описание

Объектно-ориентированный стиль

bool mysqli::options ( int $option , mixed $value )

Процедурный стиль

bool mysqli_options ( mysqli $link , int $option , mixed $value )

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after
mysqli_init() and before
mysqli_real_connect().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_OPT_CONNECT_TIMEOUT | connection timeout in seconds (supported on Windows with TCP/IP since PHP 5.3.1)
MYSQLI_OPT_LOCAL_INFILE | enable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | command to execute after when connecting to MySQL server
MYSQLI_READ_DEFAULT_FILE | Read options from named option file instead of my.cnf
MYSQLI_READ_DEFAULT_GROUP | Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE.

value

The value for the option.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

See mysqli_real_connect().

Примечания

Замечание:

MySQLnd всегда подразумевает кодировку, которую использует по умолчанию сервер. Эта кодировка посылается в течение установления соединения/авторизации, используемого mysqlnd.

Libmysql по умолчанию использует кодировку, установленную в my.cnf или специальным вызовом mysqli_options() до использования mysqli_real_connect(), но после mysqli_init().

Смотрите также

  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::next_result
mysqli::ping
MySQLi


Pings a server connection, or tries to reconnect if the connection has gone down

mysqli::options
mysqli::poll
MySQLi
PHP Manual

mysqli::ping

mysqli_ping

(PHP 5)

mysqli::ping -- mysqli_ping — Pings a server connection, or tries to reconnect if the connection has gone down

Описание

Объектно-ориентированный стиль

bool mysqli::ping ( void )

Процедурный стиль

bool mysqli_ping ( mysqli $link )

Checks whether the connection to the server is working. If it has gone down, and global option mysqli.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mysqli::ping() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Our connection is ok!
mysqli::options
mysqli::poll
MySQLi


Poll connections

mysqli::ping
mysqli::prepare
MySQLi
PHP Manual

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0)

mysqli::poll -- mysqli_poll — Poll connections

Описание

Объектно-ориентированный стиль

public int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Процедурный стиль

int mysqli_poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Poll connections. Доступно только с расширением mysqlnd.

Список параметров

read

error

reject

sec

Number of seconds to wait, must be non-negative.

usec

Number of microseconds to wait, must be non-negative.

Возвращаемые значения

Returns number of ready connections in success, FALSE otherwise.

Примеры

Пример #1 A mysqli_poll() example

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
    $links = $errors = $reject = array();
    foreach ($all_links as $link) {
        $links[] = $errors[] = $reject[] = $link;
    }
    if (!mysqli_poll($links, $errors, $reject, 1)) {
        continue;
    }
    foreach ($links as $link) {
        if ($result = $link->reap_async_query()) {
            print_r($result->fetch_row());
            mysqli_free_result($result);
            $processed++;
        }
    }
} while ($processed < count($all_links));
?>

Результат выполнения данного примера:

Array
(
    [0] => test
)

Смотрите также

  • mysqli_query() - Performs a query on the database
  • mysqli_reap_async_query() - Get result from async query

mysqli::ping
mysqli::prepare
MySQLi


Prepare an SQL statement for execution

mysqli::poll
mysqli::query
MySQLi
PHP Manual

mysqli::prepare

mysqli_prepare

(PHP 5)

mysqli::prepare -- mysqli_prepare — Prepare an SQL statement for execution

Описание

Объектно-ориентированный стиль

mysqli_stmt mysqli::prepare ( string $query )

Процедурный стиль

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

Prepares the SQL query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

query

The query, as a string.

Замечание:

You should not add a terminating semicolon or \g to the statement.

This parameter can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Замечание:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement, or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. It's not allowed to compare marker with NULL by ? IS NULL too. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.

Возвращаемые значения

mysqli_prepare() returns a statement object or FALSE if an error occurred.

Примеры

Пример #1 mysqli::prepare() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Amersfoort is in district Utrecht

Смотрите также

  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_close() - Закрывает подготовленный запрос

mysqli::poll
mysqli::query
MySQLi


Performs a query on the database

mysqli::prepare
mysqli::real_connect
MySQLi
PHP Manual

mysqli::query

mysqli_query

(PHP 5)

mysqli::query -- mysqli_query — Performs a query on the database

Описание

Объектно-ориентированный стиль

mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Процедурный стиль

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Performs a query against the database.

Functionally, using this function is identical to calling
mysqli_real_query() followed either by
mysqli_use_result() or
mysqli_store_result().

Замечание:

In the case where you pass a statement to mysqli_query() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysql). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means "got a packet bigger than max_allowed_packet bytes".

  • mysqlnd on Windows returns an error code 2006. This error message means "server has gone away".

  • libmysql on all platforms returns an error code 2006. This error message means "server has gone away".

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

query

The query string.

Data inside the query should be properly escaped.

resultmode

Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result()

With MYSQLI_ASYNC (available with mysqlnd), it is possible to perform query asynchronously. mysqli_poll() is then used to get results from such queries.

Возвращаемые значения

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a MySQLi_Result object. For other successful queries mysqli_query() will return TRUE.

Список изменений

Версия | Описание
5.3.0 | Added the ability of async queries.

Примеры

Пример #1 mysqli::query() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Результат выполнения данных примеров:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Смотрите также

  • mysqli_real_query() - Execute an SQL query
  • mysqli_multi_query() - Performs a query on the database
  • mysqli_free_result() - Frees the memory associated with a result

mysqli::prepare
mysqli::real_connect
MySQLi


Opens a connection to a mysql server

mysqli::query
mysqli::real_escape_string
MySQLi
PHP Manual

mysqli::real_connect

mysqli_real_connect

(PHP 5)

mysqli::real_connect -- mysqli_real_connect — Opens a connection to a mysql server

Описание

Объектно-ориентированный стиль

bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Процедурный стиль

bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Establish a connection to a MySQL database engine.

This function differs from mysqli_connect():

  • mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

  • With the mysqli_options() function you can set various options for connection.

  • There is a flags parameter.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

username

The MySQL user name.

passwd

If provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Замечание:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

flags

With the parameter flags you can set different connection options:

Supported flags
Name | Description
MYSQLI_CLIENT_COMPRESS | Use compression protocol
MYSQLI_CLIENT_FOUND_ROWS | return number of matched rows, not the number of affected rows
MYSQLI_CLIENT_IGNORE_SPACE | Allow spaces after function names. Makes all function names reserved words.
MYSQLI_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection
MYSQLI_CLIENT_SSL | Use SSL (encryption)

Замечание:

For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mysqli::real_connect() example

Объектно-ориентированный стиль

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Объектно-ориентированный стиль when extending mysqli class

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Setting MYSQLI_INIT_COMMAND failed');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
        }

        if (!parent::real_connect($host, $user, $pass, $db)) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Процедурный стиль

<?php

$link = mysqli_init();
if (!$link) {
    die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Результат выполнения данных примеров:

Success... MySQL host info: localhost via TCP/IP

Примечания

Замечание:

MySQLnd всегда подразумевает кодировку, которую использует по умолчанию сервер. Эта кодировка посылается в течение установления соединения/авторизации, используемого mysqlnd.

Libmysql по умолчанию использует кодировку, установленную в my.cnf или специальным вызовом mysqli_options() до использования mysqli_real_connect(), но после mysqli_init().

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_options() - Set options
  • mysqli_ssl_set() - Used for establishing secure connections using SSL
  • mysqli_close() - Closes a previously opened database connection

mysqli::query
mysqli::real_escape_string
MySQLi


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::real_connect
mysqli::real_query
MySQLi
PHP Manual

mysqli::real_escape_string

mysqli_real_escape_string

(PHP 5)

mysqli::real_escape_string -- mysqli_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Описание

Объектно-ориентированный стиль

string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )

Процедурный стиль

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The given string is encoded to an escaped SQL string, taking into account the current character set of the connection.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

escapestr

The string to be escaped.

Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Возвращаемые значения

Returns an escaped string.

Примеры

Пример #1 mysqli::real_escape_string() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: 42000
1 Row inserted.

Примечания

Замечание:

For those accustomed to using mysql_real_escape_string(),
note that the arguments of mysqli_real_escape_string()
differ from what mysql_real_escape_string() expects.
The link identifier comes first in
mysqli_real_escape_string(), whereas the string to be escaped
comes first in mysql_real_escape_string().

Смотрите также

  • mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД

mysqli::real_connect
mysqli::real_query
MySQLi


Execute an SQL query

mysqli::real_escape_string
mysqli::reap_async_query
MySQLi
PHP Manual

mysqli::real_query

mysqli_real_query

(PHP 5)

mysqli::real_query -- mysqli_real_query — Execute an SQL query

Описание

Объектно-ориентированный стиль

bool mysqli::real_query ( string $query )

Процедурный стиль

bool mysqli_real_query ( mysqli $link , string $query )

Executes a single query against the database whose result can then be retrieved or stored using the mysqli_store_result() or mysqli_use_result() functions.

In order to determine if a given query should return a result set or not, see mysqli_field_count().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

query

The query, as a string.

Data inside the query should be properly escaped.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mysqli_query() - Performs a query on the database
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::real_escape_string
mysqli::reap_async_query
MySQLi


Get result from async query

mysqli::real_query
mysqli::rollback
MySQLi
PHP Manual

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0)

mysqli::reap_async_query -- mysqli_reap_async_query — Get result from async query

Описание

Объектно-ориентированный стиль

public mysqli_result mysqli::reap_async_query ( void )

Процедурный стиль

mysqli_result mysqli_reap_async_query ( mysql $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get result from async query. Доступно только с расширением mysqlnd.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Returns mysqli_result in success, FALSE otherwise.

Смотрите также

  • mysqli_poll() - Poll connections

mysqli::real_query
mysqli::rollback
MySQLi


Rolls back current transaction

mysqli::reap_async_query
mysqli::select_db
MySQLi
PHP Manual

mysqli::rollback

mysqli_rollback

(PHP 5)

mysqli::rollback -- mysqli_rollback — Rolls back current transaction

Описание

Объектно-ориентированный стиль

bool mysqli::rollback ( void )

Процедурный стиль

bool mysqli_rollback ( mysqli $link )

Rollbacks the current transaction for the database.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mysqli::rollback() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
$mysqli->commit();

/* delete all rows */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Drop table myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
mysqli_commit($link);

/* delete all rows */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Rollback */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Drop table myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

Результат выполнения данных примеров:

0 rows in table myCity.
50 rows in table myCity (after rollback).

Смотрите также

  • mysqli_commit() - Фиксирует текущую транзакцию
  • mysqli_autocommit() - Включает или отключает автоматическую фиксацию изменений базы данных

mysqli::reap_async_query
mysqli::select_db
MySQLi


Устанавливает базу данных для выполняемых запросов

mysqli::rollback
mysqli::set_charset
MySQLi
PHP Manual

mysqli::select_db

mysqli_select_db

(PHP 5)

mysqli::select_db -- mysqli_select_db — Устанавливает базу данных для выполняемых запросов

Описание

Объектно-ориентированный стиль

bool mysqli::select_db ( string $dbname )

Процедурный стиль

bool mysqli_select_db ( mysqli $link , string $dbname )

Устанавливает базу данных, которая будет использоваться при выполнении запросов к базе данных

Замечание:

Эта функция используется только для смены базы данных во время подключения. Вы можете выбрать базу данных, передав ее четвертым параметром в функции mysqli_connect().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

dbname

Имя базы данных.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysqli::select_db()

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* проверяем соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* возвращаем имя текущей базы данных */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* изменяем текущую базу данных на world */
$mysqli->select_db("world");

/* возвращаем имя текущей базы данных */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* проверяем соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* возвращаем имя текущей базы данных */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* изменяем текущую базу данных на world */
mysqli_select_db($link, "world");

/* возвращаем имя текущей базы данных */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Результат выполнения данных примеров:

Default database is test.
Default database is world.

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::rollback
mysqli::set_charset
MySQLi


Sets the default client character set

mysqli::select_db
mysqli::set_local_infile_default
MySQLi
PHP Manual

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5)

mysqli::set_charset -- mysqli_set_charset — Sets the default client character set

Описание

Объектно-ориентированный стиль

bool mysqli::set_charset ( string $charset )

Процедурный стиль

bool mysqli_set_charset ( mysqli $link , string $charset )

Sets the default character set to be used when sending data from and to the database server.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

charset

The charset to be set as default.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above).

Замечание:

This is the preferred way to change the charset. Using mysqli::query() to execute SET NAMES .. is not recommended.

Примеры

Пример #1 mysqli::set_charset() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($link));
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

Результат выполнения данных примеров:

Current character set: utf8

Смотрите также

  • mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • » List of character sets that MySQL supports

mysqli::select_db
mysqli::set_local_infile_default
MySQLi


Unsets user defined handler for load local infile command

mysqli::set_charset
mysqli::set_local_infile_handler
MySQLi
PHP Manual

mysqli::set_local_infile_default

mysqli_set_local_infile_default

(PHP 5)

mysqli::set_local_infile_default -- mysqli_set_local_infile_default — Unsets user defined handler for load local infile command

Описание

void mysqli_set_local_infile_default ( mysqli $link )

Deactivates a LOAD DATA INFILE LOCAL handler previously set with mysqli_set_local_infile_handler().

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

See mysqli_set_local_infile_handler() examples

Смотрите также

  • mysqli_set_local_infile_handler() - Set callback function for LOAD DATA LOCAL INFILE command

mysqli::set_charset
mysqli::set_local_infile_handler
MySQLi


Set callback function for LOAD DATA LOCAL INFILE command

mysqli::set_local_infile_default
mysqli::sqlstate
MySQLi
PHP Manual

mysqli::set_local_infile_handler

mysqli_set_local_infile_handler

(PHP 5)

mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command

Описание

Объектно-ориентированный стиль

bool mysqli::set_local_infile_handler ( mysqli $link , callback $read_func )

Процедурный стиль

bool mysqli_set_local_infile_handler ( mysqli $link , callback $read_func )

Set callback function for LOAD DATA LOCAL INFILE command

The callbacks task is to read input from the file specified in the LOAD DATA LOCAL INFILE and to reformat it into the format understood by LOAD DATA INFILE.

The returned data needs to match the format specified in the LOAD DATA

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

read_func

A callback function or object method taking the following parameters:

stream

A PHP stream associated with the SQL commands INFILE

&buffer

A string buffer to store the rewritten input into

buflen

The maximum number of characters to be stored in the buffer

&errormsg

If an error occurs you can store an error message in here

The callback function should return the number of characters stored in the buffer or a negative value if an error occurred.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mysqli::set_local_infile_handler() example

Объектно-ориентированный стиль

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convert to upper case and replace "," delimiter with [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Input:\n";

  $db->set_local_infile_handler("callme");
  $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  $db->set_local_infile_default();

  $res = $db->query("SELECT * FROM t1");

  echo "\nResult:\n";
  while ($row = $res->fetch_assoc()) {
    echo join(",", $row)."\n";
  }
?>

Процедурный стиль

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convert to upper case and replace "," delimiter with [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Input:\n";

  mysqli_set_local_infile_handler($db, "callme");
  mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  mysqli_set_local_infile_default($db);

  $res = mysqli_query($db, "SELECT * FROM t1");

  echo "\nResult:\n";
  while ($row = mysqli_fetch_assoc($res)) {
    echo join(",", $row)."\n";
  }
?>

Результат выполнения данных примеров:

Input:
23,foo
42,bar

Output:
23,FOO
42,BAR

Смотрите также

  • mysqli_set_local_infile_default() - Unsets user defined handler for load local infile command

mysqli::set_local_infile_default
mysqli::sqlstate
MySQLi


Returns the SQLSTATE error from previous MySQL operation

mysqli::set_local_infile_handler
mysqli::ssl_set
MySQLi
PHP Manual

mysqli::sqlstate

mysqli_sqlstate

(PHP 5)

mysqli::sqlstate -- mysqli_sqlstate — Returns the SQLSTATE error from previous MySQL operation

Описание

Объектно-ориентированный стиль

string $mysqli->sqlstate;

Процедурный стиль

string mysqli_sqlstate ( mysqli $link )

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Замечание:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Примеры

Пример #1 mysqli->sqlstate example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

Результат выполнения данных примеров:

Error - SQLSTATE 42S01.

Смотрите также

  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysqli_error() - Returns a string description of the last error

mysqli::set_local_infile_handler
mysqli::ssl_set
MySQLi


Used for establishing secure connections using SSL

mysqli::sqlstate
mysqli::stat
MySQLi
PHP Manual

mysqli::ssl_set

mysqli_ssl_set

(PHP 5)

mysqli::ssl_set -- mysqli_ssl_set — Used for establishing secure connections using SSL

Описание

Объектно-ориентированный стиль

bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )

Процедурный стиль

bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Note that MySQL Native Driver does not support SSL before PHP 5.3.3, so calling this function when using MySQL Native Driver will result in an error. MySQL Native Driver is enabled by default on Microsoft Windows from PHP version 5.3 onwards.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Any unused SSL parameters may be given as NULL

Возвращаемые значения

This function always returns TRUE value. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

Смотрите также

  • mysqli_options() - Set options
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::sqlstate
mysqli::stat
MySQLi


Gets the current system status

mysqli::ssl_set
mysqli::stmt_init
MySQLi
PHP Manual

mysqli::stat

mysqli_stat

(PHP 5)

mysqli::stat -- mysqli_stat — Gets the current system status

Описание

Объектно-ориентированный стиль

string mysqli::stat ( void )

Процедурный стиль

string mysqli_stat ( mysqli $link )

mysqli_stat() returns a string containing information similar to that provided by the 'mysqladmin status' command. This includes uptime in seconds and the number of running threads, questions, reloads, and open tables.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

A string describing the server status. FALSE if an error occurred.

Примеры

Пример #1 mysqli::stat() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("System status: %s\n", $mysqli->stat());

$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("System status: %s\n", mysqli_stat($link));

mysqli_close($link);
?>

Результат выполнения данных примеров:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Смотрите также

  • mysqli_get_server_info() - Возвращает версию MySQL сервера

mysqli::ssl_set
mysqli::stmt_init
MySQLi


Initializes a statement and returns an object for use with mysqli_stmt_prepare

mysqli::stat
mysqli::store_result
MySQLi
PHP Manual

mysqli::stmt_init

mysqli_stmt_init

(PHP 5)

mysqli::stmt_init -- mysqli_stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare

Описание

Объектно-ориентированный стиль

mysqli_stmt mysqli::stmt_init ( void )

Процедурный стиль

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Allocates and initializes a statement object suitable for mysqli_stmt_prepare().

Замечание:

Any subsequent calls to any mysqli_stmt function will fail until mysqli_stmt_prepare() was called.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Returns an object.

Смотрите также

  • mysqli_stmt_prepare() - Prepare an SQL statement for execution

mysqli::stat
mysqli::store_result
MySQLi


Transfers a result set from the last query

mysqli::stmt_init
mysqli::thread_id
MySQLi
PHP Manual

mysqli::store_result

mysqli_store_result

(PHP 5)

mysqli::store_result -- mysqli_store_result — Transfers a result set from the last query

Описание

Объектно-ориентированный стиль

mysqli_result mysqli::store_result ( void )

Процедурный стиль

mysqli_result mysqli_store_result ( mysqli $link )

Transfers the result set from the last query on the database connection represented by the link parameter to be used with the mysqli_data_seek() function.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Returns a buffered result object or FALSE if an error occurred.

Замечание:

mysqli_store_result() returns FALSE in case the query didn't return a result set (if the query was, for example an INSERT statement). This function also returns FALSE if the reading of the result set failed. You can check if you have got an error by checking if mysqli_error() doesn't return an empty string, if mysqli_errno() returns a non zero value, or if mysqli_field_count() returns a non zero value. Also possible reason for this function returning FALSE after successful call to mysqli_query() can be too large result set (memory for it cannot be allocated). If mysqli_field_count() returns a non-zero value, the statement should have produced a non-empty result set.

Примечания

Замечание:

Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result() function, when transferring large result sets using the mysqli_store_result() this becomes particularly important.

Примеры

See mysqli_multi_query().

Смотрите также

  • mysqli_real_query() - Execute an SQL query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::stmt_init
mysqli::thread_id
MySQLi


Returns the thread ID for the current connection

mysqli::store_result
mysqli::thread_safe
MySQLi
PHP Manual

mysqli::thread_id

mysqli_thread_id

(PHP 5)

mysqli::thread_id -- mysqli_thread_id — Returns the thread ID for the current connection

Описание

Объектно-ориентированный стиль

int $mysqli->thread_id;

Процедурный стиль

int mysqli_thread_id ( mysqli $link )

The mysqli_thread_id() function returns the thread ID for the current connection which can then be killed using the mysqli_kill() function. If the connection is lost and you reconnect with mysqli_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Замечание:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

To kill a running query you can use the SQL command KILL QUERY processid.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Returns the Thread ID for the current connection.

Примеры

Пример #1 mysqli->thread_id example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: MySQL server has gone away

Смотрите также

  • mysqli_kill() - Asks the server to kill a MySQL thread

mysqli::store_result
mysqli::thread_safe
MySQLi


Returns whether thread safety is given or not

mysqli::thread_id
mysqli::use_result
MySQLi
PHP Manual

mysqli::thread_safe

mysqli_thread_safe

(PHP 5)

mysqli::thread_safe -- mysqli_thread_safe — Returns whether thread safety is given or not

Описание

Процедурный стиль

bool mysqli_thread_safe ( void )

Tells whether the client library is compiled as thread-safe.

Возвращаемые значения

TRUE if the client library is thread-safe, otherwise FALSE.

mysqli::thread_id
mysqli::use_result
MySQLi


Initiate a result set retrieval

mysqli::thread_safe
mysqli::warning_count
MySQLi
PHP Manual

mysqli::use_result

mysqli_use_result

(PHP 5)

mysqli::use_result -- mysqli_use_result — Initiate a result set retrieval

Описание

Объектно-ориентированный стиль

mysqli_result mysqli::use_result ( void )

Процедурный стиль

mysqli_result mysqli_use_result ( mysqli $link )

Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query() function on the database connection.

Either this or the mysqli_store_result() function must be called before the results of a query can be retrieved, and one or the other must be called to prevent the next query on that database connection from failing.

Замечание:

The mysqli_use_result() function does not transfer the entire result set from the database and hence cannot be used functions such as mysqli_data_seek() to move to a particular row within the set. To use this functionality, the result set must be stored using mysqli_store_result(). One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched.

Возвращаемые значения

Returns an unbuffered result object or FALSE if an error occurred.

Примеры

Пример #1 mysqli::use_result() example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Смотрите также

  • mysqli_real_query() - Execute an SQL query
  • mysqli_store_result() - Transfers a result set from the last query

mysqli::thread_safe
mysqli::warning_count
MySQLi


Returns the number of warnings from the last query for the given link

mysqli::use_result
MySQLi_STMT
MySQLi
PHP Manual

mysqli::warning_count

mysqli_warning_count

(PHP 5)

mysqli::warning_count -- mysqli_warning_count — Returns the number of warnings from the last query for the given link

Описание

Объектно-ориентированный стиль

int $mysqli->warning_count;

Процедурный стиль

int mysqli_warning_count ( mysqli $link )

Returns the number of warnings from the last query in the connection.

Замечание:

For retrieving warning messages you can use the SQL command SHOW WARNINGS [limit row_count].

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Number of warnings or zero if there are no warnings.

Примеры

Пример #1 mysqli->warning_count example

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Warning (1264): Data truncated for column 'Name' at row 1

Смотрите также

  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::use_result
MySQLi_STMT
MySQLi


The MySQLi_STMT class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a prepared statement.

Обзор классов

MySQLi_STMT {
/* Свойства */
int $MySQLi_STMT->affected_rows;
int $errno;
string $error;
int $field_count;
int $insert_id;
int $num_rows;
int $param_count;
string $sqlstate;
/* Методы */
int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )
int mysqli_stmt::attr_get ( int $attr )
bool mysqli_stmt::attr_set ( int $attr , int $mode )
bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )
bool mysqli_stmt::close ( void )
void mysqli_stmt::data_seek ( int $offset )
int mysqli_stmt_errno ( mysqli_stmt $stmt )
string mysqli_stmt_error ( mysqli_stmt $stmt )
bool mysqli_stmt::execute ( void )
bool mysqli_stmt::fetch ( void )
int mysqli_stmt_field_count ( mysqli_stmt $stmt )
void mysqli_stmt::free_result ( void )
mysqli_result mysqli_stmt::get_result ( void )
object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )
mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
int mysqli_stmt_num_rows ( mysqli_stmt $stmt )
int mysqli_stmt_param_count ( mysqli_stmt $stmt )
mixed mysqli_stmt::prepare ( string $query )
bool mysqli_stmt::reset ( void )
mysqli_result mysqli_stmt::result_metadata ( void )
bool mysqli_stmt::send_long_data ( int $param_nr , string $data )
string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )
bool mysqli_stmt::store_result ( void )
}

Содержание

  • mysqli_stmt::affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • mysqli_stmt::attr_get — Получает текущее значение атрибута запроса
  • mysqli_stmt::attr_set — Изменяет поведение подготовленного запроса
  • mysqli_stmt::bind_param — Binds variables to a prepared statement as parameters
  • mysqli_stmt::bind_result — Binds variables to a prepared statement for result storage
  • mysqli_stmt::close — Закрывает подготовленный запрос
  • mysqli_stmt::data_seek — Seeks to an arbitrary row in statement result set
  • mysqli_stmt::errno — Returns the error code for the most recent statement call
  • mysqli_stmt::error — Returns a string description for last statement error
  • mysqli_stmt::execute — Executes a prepared Query
  • mysqli_stmt::fetch — Связывает результаты подготовленного запроса с переменными
  • mysqli_stmt::field_count — Возвращает число полей в заданном запросе
  • mysqli_stmt::free_result — Освобождает память от результата запроса, указанного дескриптором
  • mysqli_stmt::get_result — Получает результат из подготовленного запроса
  • mysqli_stmt::get_warnings — Получает результат от SHOW WARNINGS
  • mysqli_stmt::insert_id — Получает ID сгенерированный предыдущей операцией INSERT
  • mysqli_stmt::num_rows — Возвращает число строк в результате запроса
  • mysqli_stmt::param_count — Returns the number of parameter for the given statement
  • mysqli_stmt::prepare — Prepare an SQL statement for execution
  • mysqli_stmt::reset — Resets a prepared statement
  • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
  • mysqli_stmt::send_long_data — Send data in blocks
  • mysqli_stmt::sqlstate — Returns SQLSTATE error from previous statement operation
  • mysqli_stmt::store_result — Transfers a result set from a prepared statement
mysqli::warning_count
mysqli_stmt::affected_rows
mysqli


Returns the total number of rows changed, deleted, or inserted by the last executed statement

MySQLi_STMT
mysqli_stmt::attr_get
MySQLi_STMT
PHP Manual

mysqli_stmt::affected_rows

mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt::affected_rows -- mysqli_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->affected_rows;

Процедурный стиль

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Returns the number of rows affected by INSERT, UPDATE, or DELETE query.

This function only works with queries which update a table. In order to get the number of rows from a SELECT query, use mysqli_stmt_num_rows() instead.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error. NULL indicates an invalid argument was supplied to the function.

Замечание:

If the number of affected rows is greater than maximal PHP int value, the number of affected rows will be returned as a string value.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* execute statement */
    $stmt->execute();

    printf("rows inserted: %d\n", $stmt->affected_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* execute statement */
    mysqli_stmt_execute($stmt);

    printf("rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

rows inserted: 17

Смотрите также

  • mysqli_stmt_num_rows() - Возвращает число строк в результате запроса
  • mysqli_prepare() - Prepare an SQL statement for execution

MySQLi_STMT
mysqli_stmt::attr_get
MySQLi_STMT


Получает текущее значение атрибута запроса

mysqli_stmt::affected_rows
mysqli_stmt::attr_set
MySQLi_STMT
PHP Manual

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Получает текущее значение атрибута запроса

Описание

Объектно-ориентированный стиль

int mysqli_stmt::attr_get ( int $attr )

Процедурный стиль

int mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr )

Используется для получения текущего значения атрибута запроса.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

attr

Атрибут, который необходимо получить.

Возвращаемые значения

Возвращает FALSE если атрибут не найден, либо возвращает текущее значение атрибута.

mysqli_stmt::affected_rows
mysqli_stmt::attr_set
MySQLi_STMT


Изменяет поведение подготовленного запроса

mysqli_stmt::attr_get
mysqli_stmt::bind_param
MySQLi_STMT
PHP Manual

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Изменяет поведение подготовленного запроса

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::attr_set ( int $attr , int $mode )

Процедурный стиль

bool mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode )

Используется для изменения поведения подготовленного запроса. Эта функция может быть вызвана несколько раз для установки нескольких атрибутов.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

attr

Устанавливаемый атрибут. Он может принимать следующие значения:

Значения атрибута
Символ | Описание
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Если равен 1, то mysqli_stmt_store_result() обновляет метаданные значением MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Тип указателя, который надо открыть для запроса при вызове mysqli_stmt_execute(). mode может быть MYSQLI_CURSOR_TYPE_NO_CURSOR (по умолчанию) или MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Число строк, которые необходимо выбрать с сервера при использовании указателя. mode может быть в диапазоне от 1 максимального значения типа unsigned long. По умолчанию равно 1.

Если используется опция MYSQLI_STMT_ATTR_CURSOR_TYPE вместе с MYSQLI_CURSOR_TYPE_READ_ONLY, то указатель будет открыт для запроса когда будет запущена mysqli_stmt_execute(). Если есть уже открытый указатель от предыдущего запуска mysqli_stmt_execute(), то указатель будет закрыт перед открытием нового. mysqli_stmt_reset() также закрывает любой открытый указатель перед подготовкой запроса перед перезапуском. mysqli_stmt_free_result() закрывает любой открытый указатель.

Если вы открываете указатель для подготовленного запроса, то в использовании mysqli_stmt_store_result() нет необходимости..

mode

Значение присваиваемое атрибуту.

mysqli_stmt::attr_get
mysqli_stmt::bind_param
MySQLi_STMT


Binds variables to a prepared statement as parameters

mysqli_stmt::attr_set
mysqli_stmt::bind_result
MySQLi_STMT
PHP Manual

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Binds variables to a prepared statement as parameters

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Процедурный стиль

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Bind variables for the parameter markers in the SQL statement that was passed to mysqli_prepare().

Замечание:

If data size of a variable exceeds max. allowed packet size (max_allowed_packet), you have to specify b in types and use mysqli_stmt_send_long_data() to send the data in packets.

Замечание:

Care must be taken when using mysqli_stmt_bind_param() in conjunction with call_user_func_array(). Note that mysqli_stmt_bind_param() requires parameters to be passed by reference, whereas call_user_func_array() can accept as a parameter a list of variables that can represent references or values.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

types

A string that contains one or more characters which specify the types for the corresponding bind variables:

Type specification chars
Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packets

var1

The number of variables and length of string types must match the parameters in the statement.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

1 Row inserted.
1 Row deleted.

Смотрите также

  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_send_long_data() - Send data in blocks
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::attr_set
mysqli_stmt::bind_result
MySQLi_STMT


Binds variables to a prepared statement for result storage

mysqli_stmt::bind_param
mysqli_stmt::close
MySQLi_STMT
PHP Manual

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Binds variables to a prepared statement for result storage

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

Процедурный стиль

bool mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] )

Binds columns in the result set to variables.

When mysqli_stmt_fetch() is called to fetch data, the MySQL client/server protocol places the data for the bound columns into the specified variables var1, ....

Замечание:

Note that all columns must be bound after mysqli_stmt_execute() and prior to calling mysqli_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time mysqli_stmt_fetch() is called.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

var1

The variable to be bound.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* bind variables to prepared statement */
    $stmt->bind_result($col1, $col2);

    /* fetch values */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    $stmt->close();
}
/* close connection */
$mysqli->close();

?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* bind variables to prepared statement */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Смотрите также

  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::bind_param
mysqli_stmt::close
MySQLi_STMT


Закрывает подготовленный запрос

mysqli_stmt::bind_result
mysqli_stmt::data_seek
MySQLi_STMT
PHP Manual

mysqli_stmt::close

mysqli_stmt_close

(PHP 5)

mysqli_stmt::close -- mysqli_stmt_close — Закрывает подготовленный запрос

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::close ( void )

Процедурный стиль

bool mysqli_stmt_close ( mysqli_stmt $stmt )

Закрывает подготовленный запрос. mysqli_stmt_close() также освобождает дескриптор запроса. Если по текущему запросу получен результат, то эта функция очищает его для того, чтобы мог быть выполнен следующий запрос.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::bind_result
mysqli_stmt::data_seek
MySQLi_STMT


Seeks to an arbitrary row in statement result set

mysqli_stmt::close
mysqli_stmt::errno
MySQLi_STMT
PHP Manual

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Seeks to an arbitrary row in statement result set

Описание

Объектно-ориентированный стиль

void mysqli_stmt::data_seek ( int $offset )

Процедурный стиль

void mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset )

Seeks to an arbitrary result pointer in the statement result set.

mysqli_stmt_store_result() must be called prior to mysqli_stmt_data_seek().

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

offset

Must be between zero and the total number of rows minus one (0.. mysqli_stmt_num_rows() - 1).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* store result */
    $stmt->store_result();

    /* seek to row no. 400 */
    $stmt->data_seek(399);

    /* fetch values */
    $stmt->fetch();

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* store result */
    mysqli_stmt_store_result($stmt);

    /* seek to row no. 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* fetch values */
    mysqli_stmt_fetch($stmt);

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

City: Benin City  Countrycode: NGA

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::close
mysqli_stmt::errno
MySQLi_STMT


Returns the error code for the most recent statement call

mysqli_stmt::data_seek
mysqli_stmt::error
MySQLi_STMT
PHP Manual

mysqli_stmt::errno

mysqli_stmt_errno

(PHP 5)

mysqli_stmt::errno -- mysqli_stmt_errno — Returns the error code for the most recent statement call

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->errno;

Процедурный стиль

int mysqli_stmt_errno ( mysqli_stmt $stmt )

Returns the error code for the most recently invoked statement function that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

An error code value. Zero means no error occurred.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %d.\n", $stmt->errno);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %d.\n", mysqli_stmt_errno($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: 1146.

Смотрите также

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

mysqli_stmt::data_seek
mysqli_stmt::error
MySQLi_STMT


Returns a string description for last statement error

mysqli_stmt::errno
mysqli_stmt::execute
MySQLi_STMT
PHP Manual

mysqli_stmt::error

mysqli_stmt_error

(PHP 5)

mysqli_stmt::error -- mysqli_stmt_error — Returns a string description for last statement error

Описание

Объектно-ориентированный стиль

string $mysqli_stmt->error;

Процедурный стиль

string mysqli_stmt_error ( mysqli_stmt $stmt )

Returns a containing the error message for the most recently invoked statement function that can succeed or fail.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

A string that describes the error. An empty string if no error occurred.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->error);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_error($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: Table 'world.myCountry' doesn't exist.

Смотрите также

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

mysqli_stmt::errno
mysqli_stmt::execute
MySQLi_STMT


Executes a prepared Query

mysqli_stmt::error
mysqli_stmt::fetch
MySQLi_STMT
PHP Manual

mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5)

mysqli_stmt::execute -- mysqli_stmt_execute — Executes a prepared Query

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::execute ( void )

Процедурный стиль

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

Executes a query that has been previously prepared using the mysqli_prepare() function. When executed any parameter markers which exist will automatically be replaced with the appropriate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the mysqli_stmt_affected_rows() function. Likewise, if the query yields a result set the mysqli_stmt_fetch() function is used.

Замечание:

When using mysqli_stmt_execute(), the mysqli_stmt_fetch() function must be used to fetch the data prior to performing any additional queries.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    $result->close();
}

/* remove table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    mysqli_free_result($result);
}

/* remove table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters

mysqli_stmt::error
mysqli_stmt::fetch
MySQLi_STMT


Связывает результаты подготовленного запроса с переменными

mysqli_stmt::execute
mysqli_stmt::field_count
MySQLi_STMT
PHP Manual

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Связывает результаты подготовленного запроса с переменными

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::fetch ( void )

Процедурный стиль

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

Связывает результаты подготовленного запроса с переменными, определенными с помощью mysqli_stmt_bind_result().

Замечание:

Необходимо отметить, что все столбцы должны быть связаны перед вызовом mysqli_stmt_fetch().

Замечание:

Данные не буфферизуются при передаче когда вызывается mysqli_stmt_store_result(), что снижает производительность (но также снижает затраты памяти).

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращаемые значения
Значение | Описание
TRUE | Успех. Данные были выбраны
FALSE | Произошла ошибка
NULL | Больше нет строк/данных или произошло усечение данных

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Попытка соединения не удалась: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* Запустить запрос */
    $stmt->execute();

    /* Определить переменные для результата */
    $stmt->bind_result($name, $code);

    /* Выбрать значения */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Завершить запрос */
    $stmt->close();
}

/* Закрыть соединение */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Попытка соединения не удалась: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* Запустить запрос */
    mysqli_stmt_execute($stmt);

    /* Определить переменные для результата */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* Выбрать значения */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Завершить запрос */
    mysqli_stmt_close($stmt);
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage

mysqli_stmt::execute
mysqli_stmt::field_count
MySQLi_STMT


Возвращает число полей в заданном запросе

mysqli_stmt::fetch
mysqli_stmt::free_result
MySQLi_STMT
PHP Manual

mysqli_stmt::field_count

mysqli_stmt_field_count

(PHP 5)

mysqli_stmt::field_count -- mysqli_stmt_field_count — Возвращает число полей в заданном запросе

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->field_count;

Процедурный стиль

int mysqli_stmt_field_count ( mysqli_stmt $stmt )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli_stmt::fetch
mysqli_stmt::free_result
MySQLi_STMT


Освобождает память от результата запроса, указанного дескриптором

mysqli_stmt::field_count
mysqli_stmt::get_result
MySQLi_STMT
PHP Manual

mysqli_stmt::free_result

mysqli_stmt_free_result

(PHP 5)

mysqli_stmt::free_result -- mysqli_stmt_free_result — Освобождает память от результата запроса, указанного дескриптором

Описание

Объектно-ориентированный стиль

void mysqli_stmt::free_result ( void )

Процедурный стиль

void mysqli_stmt_free_result ( mysqli_stmt $stmt )

Освобождает от результата запроса память, которая была зарезервированна с помощью mysqli_stmt_store_result().

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement

mysqli_stmt::field_count
mysqli_stmt::get_result
MySQLi_STMT


Получает результат из подготовленного запроса

mysqli_stmt::free_result
mysqli_stmt::get_warnings
MySQLi_STMT
PHP Manual

mysqli_stmt::get_result

mysqli_stmt_get_result

(Информация о версии неизвестна, возможно, только в SVN)

mysqli_stmt::get_result -- mysqli_stmt_get_result — Получает результат из подготовленного запроса

Описание

Объектно-ориентированный стиль

mysqli_result mysqli_stmt::get_result ( void )

Процедурный стиль

mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )

Получает результат из подготовленного запроса.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращает результат или FALSE в случае возникновения ошибки.

Примеры

Объектно-ориентированный стиль

<?php

$mysqli = new mysqli("127.0.0.1", "user", "password", "world");

if($mysqli->connect_error)
{
    die("$mysqli->connect_errno: $myslqi->connect_error");
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query))
{
    print "Ошибка подготовки запроса\n";
}
else
{
    $stmt->bind_param("s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        $stmt->execute();
        $result = $stmt->get_result();
        while ($row = $result->fetch_array(MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}

$stmt->close();
$mysqli->close();
?>

Процедурный стиль

<?php

$link = mysqli_connect("127.0.0.1", "user", "password", "world");

if (!$link)
{
    $error = mysqli_connect_error();
    $errno = mysqli_connect_errno();
    print "$errno: $error\n";
    exit();
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = mysqli_stmt_init($link);
if(!mysqli_stmt_prepare($stmt, $query))
{
    print "Ошибка подготовки запроса\n";
}
else
{
    mysqli_stmt_bind_param($stmt, "s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}
mysqli_stmt_close($stmt);
mysqli_close($link);
?>

Результат выполнения данных примеров:

Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными
  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement

mysqli_stmt::free_result
mysqli_stmt::get_warnings
MySQLi_STMT


Получает результат от SHOW WARNINGS

mysqli_stmt::get_result
mysqli_stmt::insert_id
MySQLi_STMT
PHP Manual

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings — Получает результат от SHOW WARNINGS

Описание

Объектно-ориентированный стиль

object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )

Процедурный стиль

object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli_stmt::get_result
mysqli_stmt::insert_id
MySQLi_STMT


Получает ID сгенерированный предыдущей операцией INSERT

mysqli_stmt::get_warnings
mysqli_stmt::num_rows
MySQLi_STMT
PHP Manual

mysqli_stmt::insert_id

mysqli_stmt_insert_id

(PHP 5)

mysqli_stmt::insert_id -- mysqli_stmt_insert_id — Получает ID сгенерированный предыдущей операцией INSERT

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->insert_id;

Процедурный стиль

mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli_stmt::get_warnings
mysqli_stmt::num_rows
MySQLi_STMT


Возвращает число строк в результате запроса

mysqli_stmt::insert_id
mysqli_stmt::param_count
MySQLi_STMT
PHP Manual

mysqli_stmt::num_rows

mysqli_stmt_num_rows

(PHP 5)

mysqli_stmt::num_rows -- mysqli_stmt_num_rows — Возвращает число строк в результате запроса

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->num_rows;

Процедурный стиль

int mysqli_stmt_num_rows ( mysqli_stmt $stmt )

Возвращает число строк в результате запроса. Результат выполнения mysqli_stmt_num_rows() зависит от того использовалась ли mysqli_stmt_store_result() для буферизации результата выборки в дескрипторе.

Если используется mysqli_stmt_store_result(), mysqli_stmt_num_rows() может быть вызвана в тот же момент.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Целое число, отражающее число строк в результате запроса.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
/* Открыть соединение */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* Выполнить запрос */
    $stmt->execute();

    /* Сохранить результат */
    $stmt->store_result();

    printf("Число строк: %d.\n", $stmt->num_rows);

    /* Закрыть выражение */
    $stmt->close();
}

/* Закрыть соединение */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
/* Открыть соединение */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Выполнить запрос */
    mysqli_stmt_execute($stmt);

    /* Сохранить результат */
    mysqli_stmt_store_result($stmt);

    printf("Число строк: %d.\n", mysqli_stmt_num_rows($stmt));

    /* Закрыть выражение */
    mysqli_stmt_close($stmt);
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Число строк: 20.

Смотрите также

  • mysqli_stmt_affected_rows() - Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement

mysqli_stmt::insert_id
mysqli_stmt::param_count
MySQLi_STMT


Returns the number of parameter for the given statement

mysqli_stmt::num_rows
mysqli_stmt::prepare
MySQLi_STMT
PHP Manual

mysqli_stmt::param_count

mysqli_stmt_param_count

(PHP 5)

mysqli_stmt::param_count -- mysqli_stmt_param_count — Returns the number of parameter for the given statement

Описание

Объектно-ориентированный стиль

int $mysqli_stmt->param_count;

Процедурный стиль

int mysqli_stmt_param_count ( mysqli_stmt $stmt )

Returns the number of parameter markers present in the prepared statement.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Returns an integer representing the number of parameters.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Statement has 2 markers.

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::num_rows
mysqli_stmt::prepare
MySQLi_STMT


Prepare an SQL statement for execution

mysqli_stmt::param_count
mysqli_stmt::reset
MySQLi_STMT
PHP Manual

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Prepare an SQL statement for execution

Описание

Объектно-ориентированный стиль

mixed mysqli_stmt::prepare ( string $query )

Процедурный стиль

bool mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query )

Prepares the SQL query pointed to by the null-terminated string query.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

Замечание:

In the case where you pass a statement to mysqli_stmt_prepare() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysql). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means "got a packet bigger than max_allowed_packet bytes".

  • mysqlnd on Windows returns an error code 2006. This error message means "server has gone away".

  • libmysql on all platforms returns an error code 2006. This error message means "server has gone away".

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

query

The query, as a string. It must consist of a single SQL statement.

You can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Замечание:

You should not add a terminating semicolon or \g to the statement.

Замечание:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT District FROM City WHERE Name=?')) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Amersfoort is in district Utrecht

Смотрите также

  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_close() - Закрывает подготовленный запрос

mysqli_stmt::param_count
mysqli_stmt::reset
MySQLi_STMT


Resets a prepared statement

mysqli_stmt::prepare
mysqli_stmt::result_metadata
MySQLi_STMT
PHP Manual

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5)

mysqli_stmt::reset -- mysqli_stmt_reset — Resets a prepared statement

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::reset ( void )

Процедурный стиль

bool mysqli_stmt_reset ( mysqli_stmt $stmt )

Resets a prepared statement on client and server to state after prepare.

It resets the statement on the server, data sent using mysqli_stmt_send_long_data(), unbuffered result sets and current errors. It does not clear bindings or stored result sets. Stored result sets will be cleared when executing the prepared statement (or closing it).

To prepare a statement with another query use function mysqli_stmt_prepare().

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::prepare
mysqli_stmt::result_metadata
MySQLi_STMT


Returns result set metadata from a prepared statement

mysqli_stmt::reset
mysqli_stmt::send_long_data
MySQLi_STMT
PHP Manual

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Returns result set metadata from a prepared statement

Описание

Объектно-ориентированный стиль

mysqli_result mysqli_stmt::result_metadata ( void )

Процедурный стиль

mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )

If a statement passed to mysqli_prepare() is one that produces a result set, mysqli_stmt_result_metadata() returns the result object that can be used to process the meta information such as total number of fields and individual field information.

Замечание:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result()

Замечание:

The result set returned by mysqli_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with mysqli_stmt_fetch().

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Returns a result object or FALSE if an error occurred.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

Пример #2 Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_free_result() - Frees the memory associated with a result

mysqli_stmt::reset
mysqli_stmt::send_long_data
MySQLi_STMT


Send data in blocks

mysqli_stmt::result_metadata
mysqli_stmt::sqlstate
MySQLi_STMT
PHP Manual

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Send data in blocks

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )

Процедурный стиль

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packet. This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

param_nr

Indicates which parameter to associate the data with. Parameters are numbered beginning with 0.

data

A string containing data to be sent.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Объектно-ориентированный стиль

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters

mysqli_stmt::result_metadata
mysqli_stmt::sqlstate
MySQLi_STMT


Returns SQLSTATE error from previous statement operation

mysqli_stmt::send_long_data
mysqli_stmt::store_result
MySQLi_STMT
PHP Manual

mysqli_stmt::sqlstate

mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt::sqlstate -- mysqli_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Описание

Объектно-ориентированный стиль

string $mysqli_stmt->sqlstate;

Процедурный стиль

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Примечания

Замечание:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Примеры

Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Error: 42S02.

Смотрите также

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::send_long_data
mysqli_stmt::store_result
MySQLi_STMT


Transfers a result set from a prepared statement

mysqli_stmt::sqlstate
MySQLi_Result
MySQLi_STMT
PHP Manual

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Transfers a result set from a prepared statement

Описание

Объектно-ориентированный стиль

bool mysqli_stmt::store_result ( void )

Процедурный стиль

bool mysqli_stmt_store_result ( mysqli_stmt $stmt )

You must call mysqli_stmt_store_result() for every query that successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN), and only if you want to buffer the complete result set by the client, so that the subsequent mysqli_stmt_fetch() call returns buffered data.

Замечание:

It is unnecessary to call mysqli_stmt_store_result() for other queries, but if you do, it will not harm or cause any notable performance in all cases. You can detect whether the query produced a result set by checking if mysqli_stmt_result_metadata() returns NULL.

Список параметров

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* free result */
    $stmt->free_result();

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* free result */
    mysqli_stmt_free_result($stmt);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Number of rows: 20.

Смотрите также

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными

mysqli_stmt::sqlstate
MySQLi_Result
MySQLi_STMT


The MySQLi_Result class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents the result set obtained from a query against the database.

Обзор классов

MySQLi_Result {
/* Свойства */
int $MySQLi_Result->current_field ;
int $field_count;
array $lengths;
int $num_rows;
/* Методы */
int mysqli_field_tell ( mysqli_result $result )
bool mysqli_result::data_seek ( int $offset )
mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
array mysqli_result::fetch_assoc ( void )
object mysqli_result::fetch_field_direct ( int $fieldnr )
object mysqli_result::fetch_field ( void )
array mysqli_result::fetch_fields ( void )
object mysqli_result::fetch_object ([ string $class_name [, array $params ]] )
mixed mysqli_result::fetch_row ( void )
int mysqli_num_fields ( mysqli_result $result )
bool mysqli_result::field_seek ( int $fieldnr )
void mysqli_result::free ( void )
array mysqli_fetch_lengths ( mysqli_result $result )
int mysqli_num_rows ( mysqli_result $result )
}

Содержание

  • mysqli_result::current_field — Получает смещение указателя по отношению к текущему полю
  • mysqli_result::data_seek — Adjusts the result pointer to an arbitary row in the result
  • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
  • mysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or both
  • mysqli_result::fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива
  • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
  • mysqli_result::fetch_field — Returns the next field in the result set
  • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
  • mysqli_result::fetch_object — Returns the current row of a result set as an object
  • mysqli_result::fetch_row — Get a result row as an enumerated array
  • mysqli_result::field_count — Get the number of fields in a result
  • mysqli_result::field_seek — Установить указатель поля на определенное смещение
  • mysqli_result::free — Frees the memory associated with a result
  • mysqli_result::lengths — Returns the lengths of the columns of the current row in the result set
  • mysqli_result::num_rows — Получает число рядов в результирующей выборке
mysqli_stmt::store_result
mysqli_result::current_field
mysqli


Получает смещение указателя по отношению к текущему полю

MySQLi_Result
mysqli_result::data_seek
MySQLi_Result
PHP Manual

mysqli_result::current_field

mysqli_field_tell

(PHP 5)

mysqli_result::current_field -- mysqli_field_tell — Получает смещение указателя по отношению к текущему полю

Описание

Объектно-ориентированный стиль

int $mysqli_result->current_field ;

Процедурный стиль

int mysqli_field_tell ( mysqli_result $result )

Возвращает позицию указателя поля, используемую при последнем вызове mysqli_fetch_field(). Это значение может быть использовано как аргумент для mysqli_field_seek().

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Возвращает текущее смещение указателя поля.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Получить информацию о поле для всех столбцов */
    while ($finfo = $result->fetch_field()) {

        /* Получить смещение указателя поля */
        $currentfield = $result->current_field;

        printf("Столбец %d:\n", $currentfield);
        printf("Имя:     %s\n", $finfo->name);
        printf("Таблица:    %s\n", $finfo->table);
        printf("макс. Длина: %d\n", $finfo->max_length);
        printf("Флаги:    %d\n", $finfo->flags);
        printf("Тип:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Получить информацию о поле для всех столбцов */
    while ($finfo = mysqli_fetch_field($result)) {

        /* Получить смещение указателя поля */
        $currentfield = mysqli_field_tell($result);

        printf("Столбец %d:\n", $currentfield);
        printf("Имя:     %s\n", $finfo->name);
        printf("Таблица:    %s\n", $finfo->table);
        printf("макс. Длина: %d\n", $finfo->max_length);
        printf("Флаги:    %d\n", $finfo->flags);
        printf("Тип:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Столбец 1:
Имя:     Name
Таблица:    Country
макс. Длина: 11
Флаги:    1
Тип:     254

Столбец 2:
Имя:     SurfaceArea
Таблица:    Country
макс. Длина: 10
Флаги:    32769
Тип:     4

Смотрите также

  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_field_seek() - Установить указатель поля на определенное смещение

MySQLi_Result
mysqli_result::data_seek
MySQLi_Result


Adjusts the result pointer to an arbitary row in the result

mysqli_result::current_field
mysqli_result::fetch_all
MySQLi_Result
PHP Manual

mysqli_result::data_seek

mysqli_data_seek

(PHP 5)

mysqli_result::data_seek -- mysqli_data_seek — Adjusts the result pointer to an arbitary row in the result

Описание

Объектно-ориентированный стиль

bool mysqli_result::data_seek ( int $offset )

Процедурный стиль

bool mysqli_data_seek ( mysqli_result $result , int $offset )

The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

offset

The field offset. Must be between zero and the total number of rows minus one (0..mysqli_num_rows() - 1).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

This function can only be used with buffered results attained from the use of the mysqli_store_result() or mysqli_query() functions.

Примеры

Объектно-ориентированный стиль

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* seek to row no. 400 */
    $result->data_seek(399);

    /* fetch row */
    $row = $result->fetch_row();

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

City: Benin City  Countrycode: NGA

Смотрите также

  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Извлекает результирующий ряд в виде ассоциативного массива
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_num_rows() - Получает число рядов в результирующей выборке

mysqli_result::current_field
mysqli_result::fetch_all
MySQLi_Result


Fetches all result rows as an associative array, a numeric array, or both

mysqli_result::data_seek
mysqli_result::fetch_array
MySQLi_Result
PHP Manual

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0)

mysqli_result::fetch_all -- mysqli_fetch_all — Fetches all result rows as an associative array, a numeric array, or both

Описание

Объектно-ориентированный стиль

mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )

Процедурный стиль

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

mysqli_fetch_all() fetches all result rows and returns the result set as an associative array, a numeric array, or both.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

Возвращаемые значения

Returns an array of associative or numeric arrays holding result rows.

Только для MySQL Native Driver

Доступно только с расширением mysqlnd.

As mysqli_fetch_all() returns all the rows as an array in a single step, it may consume more memory than some similar functions such as mysqli_fetch_array(), which only returns one row at a time from the result set. Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance. For these reasons mysqli_fetch_all() should only be used in those situations where the fetched result set will be sent to another layer for processing.

Смотрите также

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_query() - Performs a query on the database

mysqli_result::data_seek
mysqli_result::fetch_array
MySQLi_Result


Fetch a result row as an associative, a numeric array, or both

mysqli_result::fetch_all
mysqli_result::fetch_assoc
MySQLi_Result
PHP Manual

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5)

mysqli_result::fetch_array -- mysqli_fetch_array — Fetch a result row as an associative, a numeric array, or both

Описание

Объектно-ориентированный стиль

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

Процедурный стиль

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

mysqli_fetch_array() is an extended version of the mysqli_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the mysqli_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

By using the MYSQLI_ASSOC constant this function will behave identically to the mysqli_fetch_assoc(), while MYSQLI_NUM will behave identically to the mysqli_fetch_row() function. The final option MYSQLI_BOTH will create a single array with the attributes of both.

Возвращаемые значения

Returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in resultset.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result->close();

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Смотрите также

  • mysqli_fetch_assoc() - Извлекает результирующий ряд в виде ассоциативного массива
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitary row in the result

mysqli_result::fetch_all
mysqli_result::fetch_assoc
MySQLi_Result


Извлекает результирующий ряд в виде ассоциативного массива

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
MySQLi_Result
PHP Manual

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива

Описание

Объектно-ориентированный стиль

array mysqli_result::fetch_assoc ( void )

Процедурный стиль

array mysqli_fetch_assoc ( mysqli_result $result )

Возвращает ассоциативный массив, соответствующий результирующей выборке или NULL, если других рядов не существует.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Возвращает ассоциативный массив строк, соотвествующий результирующей выборке, где каждый ключ в массиве соответствует имени одного из столбцов выборки или NULL, если других рядов не существует.

Если два или более столбца в выборке имеют одинаковое название полей, то приоритет отдается последнему столбцу. Для доступа к другому столбцу с таким же именем вам необходимо произвести нумерованную выборку с помощью функцию mysqli_fetch_row() или добавить псеводнимы.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не удалось: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* извлечение ассоциативного массива */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* удаление выборки */
    $result->free();
}

/* закрытие соединения */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не удалось: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* извлечение ассоциативного массива */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* удаление выборки */
    mysqli_free_result($result);
}

/* закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Смотрите также

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitary row in the result

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
MySQLi_Result


Fetch meta-data for a single field

mysqli_result::fetch_assoc
mysqli_result::fetch_field
MySQLi_Result
PHP Manual

mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Fetch meta-data for a single field

Описание

Объектно-ориентированный стиль

object mysqli_result::fetch_field_direct ( int $fieldnr )

Процедурный стиль

object mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr )

Returns an object which contains field definition information from the specified result set.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

fieldnr

The field number. This value must be in the range from 0 to number of fields - 1.

Возвращаемые значения

Returns an object which contains field definition information or FALSE if no field information for specified fieldnr is available.

Object attributes
Attribute | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Смотрите также

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set

mysqli_result::fetch_assoc
mysqli_result::fetch_field
MySQLi_Result


Returns the next field in the result set

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
MySQLi_Result
PHP Manual

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5)

mysqli_result::fetch_field -- mysqli_fetch_field — Returns the next field in the result set

Описание

Объектно-ориентированный стиль

object mysqli_result::fetch_field ( void )

Процедурный стиль

object mysqli_fetch_field ( mysqli_result $result )

Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Returns an object which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | Reserved for default value, currently always ""
db | Database (since PHP 5.3.6)
catalog | The catalog name, always "def" (since PHP 5.3.6)
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Смотрите также

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set
  • mysqli_field_seek() - Установить указатель поля на определенное смещение

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
MySQLi_Result


Returns an array of objects representing the fields in a result set

mysqli_result::fetch_field
mysqli_result::fetch_object
MySQLi_Result
PHP Manual

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Returns an array of objects representing the fields in a result set

Описание

Объектно-ориентированный стиль

array mysqli_result::fetch_fields ( void )

Процедурный стиль

array mysqli_fetch_fields ( mysqli_result $result )

This function serves an identical purpose to the mysqli_fetch_field() function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Returns an array of objects which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all columns */
    $finfo = mysqli_fetch_fields($result);

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Смотрите также

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::fetch_field
mysqli_result::fetch_object
MySQLi_Result


Returns the current row of a result set as an object

mysqli_result::fetch_fields
mysqli_result::fetch_row
MySQLi_Result
PHP Manual

mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5)

mysqli_result::fetch_object -- mysqli_fetch_object — Returns the current row of a result set as an object

Описание

Объектно-ориентированный стиль

object mysqli_result::fetch_object ([ string $class_name [, array $params ]] )

Процедурный стиль

object mysqli_fetch_object ( mysqli_result $result [, string $class_name [, array $params ]] )

The mysqli_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set.

Note that mysqli_fetch_object() sets the properties of the object before calling the object constructor.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

class_name

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

Возвращаемые значения

Returns an object with string properties that corresponds to the fetched row or NULL if there are no more rows in resultset.

Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список изменений

Версия | Описание
5.0.0 | Added the ability to return as a different object.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Смотрите также

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Извлекает результирующий ряд в виде ассоциативного массива
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitary row in the result

mysqli_result::fetch_fields
mysqli_result::fetch_row
MySQLi_Result


Get a result row as an enumerated array

mysqli_result::fetch_object
mysqli_result::field_count
MySQLi_Result
PHP Manual

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5)

mysqli_result::fetch_row -- mysqli_fetch_row — Get a result row as an enumerated array

Описание

Объектно-ориентированный стиль

mixed mysqli_result::fetch_row ( void )

Процедурный стиль

mixed mysqli_fetch_row ( mysqli_result $result )

Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or NULL if there are no more rows.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

mysqli_fetch_row() returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in result set.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Смотрите также

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Извлекает результирующий ряд в виде ассоциативного массива
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitary row in the result

mysqli_result::fetch_object
mysqli_result::field_count
MySQLi_Result


Get the number of fields in a result

mysqli_result::fetch_row
mysqli_result::field_seek
MySQLi_Result
PHP Manual

mysqli_result::field_count

mysqli_num_fields

(PHP 5)

mysqli_result::field_count -- mysqli_num_fields — Get the number of fields in a result

Описание

Объектно-ориентированный стиль

int $mysqli_result->field_count;

Процедурный стиль

int mysqli_num_fields ( mysqli_result $result )

Returns the number of fields from specified result set.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

The number of fields from a result set.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = $result->field_count;

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = mysqli_num_fields($result);

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Result set has 5 fields.

Смотрите также

  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::fetch_row
mysqli_result::field_seek
MySQLi_Result


Установить указатель поля на определенное смещение

mysqli_result::field_count
mysqli_result::free
MySQLi_Result
PHP Manual

mysqli_result::field_seek

mysqli_field_seek

(PHP 5)

mysqli_result::field_seek -- mysqli_field_seek — Установить указатель поля на определенное смещение

Описание

Объектно-ориентированный стиль

bool mysqli_result::field_seek ( int $fieldnr )

Процедурный стиль

bool mysqli_field_seek ( mysqli_result $result , int $fieldnr )

Устанавливает указатель поля на заданное смещение. Следующий вызов mysqli_fetch_field() позволит получить информацию о столбце с позицией смещения.

Замечание:

Для поиска с начала строки необходимо установить нулевое значение смещения.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

fieldnr

Номер поля. Это значение должно быть в следующем диапазоне: от 0 до число полей - 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Получить информацию о поле во втором столбце */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Имя:     %s\n", $finfo->name);
    printf("Таблица:    %s\n", $finfo->table);
    printf("макс. Длина: %d\n", $finfo->max_length);
    printf("Флаги:    %d\n", $finfo->flags);
    printf("Тип:     %d\n\n", $finfo->type);

    $result->close();
}

/* Закрыть соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if (mysqli_connect_errno()) {
    printf("Ошибка соединения: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Получить информацию о поле во втором столбце */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Имя:     %s\n", $finfo->name);
    printf("Таблица:    %s\n", $finfo->table);
    printf("макс. Длина: %d\n", $finfo->max_length);
    printf("Флаги:    %d\n", $finfo->flags);
    printf("Тип:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* Закрыть соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Имя:     SurfaceArea
Таблица:    Country
макс. Длина: 10
Флаги:    32769
Тип:     4

Смотрите также

  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::field_count
mysqli_result::free
MySQLi_Result


Frees the memory associated with a result

mysqli_result::field_seek
mysqli_result::lengths
MySQLi_Result
PHP Manual

mysqli_result::free

mysqli_free_result

(PHP 5)

mysqli_result::free -- mysqli_free_result — Frees the memory associated with a result

Описание

Объектно-ориентированный стиль

void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )

Процедурный стиль

void mysqli_free_result ( mysqli_result $result )

Frees the memory associated with the result.

Замечание:

You should always free your result with mysqli_free_result(), when your result object is not needed anymore.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • mysqli_query() - Performs a query on the database
  • mysqli_stmt_store_result() - Transfers a result set from a prepared statement
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli_result::field_seek
mysqli_result::lengths
MySQLi_Result


Returns the lengths of the columns of the current row in the result set

mysqli_result::free
mysqli_result::num_rows
MySQLi_Result
PHP Manual

mysqli_result::lengths

mysqli_fetch_lengths

(PHP 5)

mysqli_result::lengths -- mysqli_fetch_lengths — Returns the lengths of the columns of the current row in the result set

Описание

Объектно-ориентированный стиль

array $mysqli_result->lengths;

Процедурный стиль

array mysqli_fetch_lengths ( mysqli_result $result )

The mysqli_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

mysqli_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling mysqli_fetch_row/array/object or after retrieving all rows in the result.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* display column lengths */
    foreach ($result->lengths as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* display column lengths */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2
mysqli_result::free
mysqli_result::num_rows
MySQLi_Result


Получает число рядов в результирующей выборке

mysqli_result::lengths
MySQLi_Driver
MySQLi_Result
PHP Manual

mysqli_result::num_rows

mysqli_num_rows

(PHP 5)

mysqli_result::num_rows -- mysqli_num_rows — Получает число рядов в результирующей выборке

Описание

Объектно-ориентированный стиль

int $mysqli_result->num_rows;

Процедурный стиль

int mysqli_num_rows ( mysqli_result $result )

Возвращает число рядов в результирующей выборке.

Поведение функции mysqli_num_rows() зависит от того, используется ли буферизованная или небуферизованная результирующая выборка. Для небуферизованной выборки mysqli_num_rows() не вернет правильное число рядов пока все ряды не будут получены и обработаны.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

Возвращаемые значения

Возвращает число рядов в результирующей выборке.

Замечание:

Если число рядов больше чем MAXINT, то число будет возвращено в виде строки.

Примеры

Объектно-ориентированный стиль

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не удалось: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* определение числа рядов в выборке */
    $row_cnt = $result->num_rows;

    printf("В выборке %d рядов.\n", $row_cnt);

    /* закрытие выборки */
    $result->close();
}

/* закрытие соединения */
$mysqli->close();
?>

Процедурный стиль

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    printf("Соединение не удалось: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* определение числа рядов в выборке */
    $row_cnt = mysqli_num_rows($result);

    printf("В выборке %d рядов.\n", $row_cnt);

    /* закрытие выборки */
    mysqli_free_result($result);
}

/* закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данных примеров:

В выборке 239 рядов.

Смотрите также

  • mysqli_affected_rows() - Получает число строк, затронутых предыдущей операцией MySQL
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_query() - Performs a query on the database

mysqli_result::lengths
MySQLi_Driver
MySQLi_Result


Класс MySQLi_Driver

(Информация о версии неизвестна, возможно, только в SVN)

Введение

MySQLi Driver.

Обзор классов

MySQLi_Driver {
/* Свойства */
public readonly string $MySQLi_Driver->client_info ;
public readonly string $client_version ;
public readonly string $driver_version ;
public readonly string $embedded ;
public bool $reconnect ;
public int $report_mode ;
/* Методы */
void mysqli_driver::embedded_server_end ( void )
bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )
}

Свойства

client_info

Версия заголовка Client API

client_version

Версия Client

driver_version

Версия MySQLi Driver

embedded

Статус поддержки MySQLi Embedded

reconnect

Разрешить или запретить переподключение (см. mysqli.reconnect INI директиву)

report_mode

Установить MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL или любую комбинацию из MYSQLI_REPORT_STRICT (вызов исключений для ошибок), MYSQLI_REPORT_ERROR (сообщение об ошибках) и MYSQLI_REPORT_INDEX (ошибки, связанные с индексами). Смотрите также mysqli_report().

Содержание

  • mysqli_driver::embedded_server_end — Stop embedded server
  • mysqli_driver::embedded_server_start — Initialize and start embedded server
mysqli_result::num_rows
mysqli_driver::embedded_server_end
mysqli


Stop embedded server

MySQLi_Driver
mysqli_driver::embedded_server_start
MySQLi_Driver
PHP Manual

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Stop embedded server

Описание

Объектно-ориентированный стиль

void mysqli_driver::embedded_server_end ( void )

Процедурный стиль

void mysqli_embedded_server_end ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

MySQLi_Driver
mysqli_driver::embedded_server_start
MySQLi_Driver


Initialize and start embedded server

mysqli_driver::embedded_server_end
MySQLi_Warning
MySQLi_Driver
PHP Manual

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Initialize and start embedded server

Описание

Объектно-ориентированный стиль

bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )

Процедурный стиль

bool mysqli_embedded_server_start ( bool $start , array $arguments , array $groups )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli_driver::embedded_server_end
MySQLi_Warning
MySQLi_Driver


The MySQLi_Warning class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a MySQL warning.

Обзор классов

mysqli_warning {
/* Свойства */
public $mysqli_warning->message ;
public $sqlstate ;
public $errno ;
/* Методы */
mysqli_warning::__construct ( void )
public void mysqli_warning::next ( void )
}

Свойства

message

Message string

sqlstate

SQL state

errno

Error number

Содержание

  • mysqli_warning::__construct — The __construct purpose
  • mysqli_warning::next — The next purpose
mysqli_driver::embedded_server_start
mysqli_warning::__construct
mysqli


The __construct purpose

MySQLi_Warning
mysqli_warning::next
MySQLi_Warning
PHP Manual

mysqli_warning::__construct

(Информация о версии неизвестна, возможно, только в SVN)

mysqli_warning::__construct — The __construct purpose

Описание

mysqli_warning::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

MySQLi_Warning
mysqli_warning::next
MySQLi_Warning


The next purpose

mysqli_warning::__construct
Синонимы и устаревшие Функции Mysqli
MySQLi_Warning
PHP Manual

mysqli_warning::next

(Информация о версии неизвестна, возможно, только в SVN)

mysqli_warning::next — The next purpose

Описание

public void mysqli_warning::next ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

mysqli_warning::__construct
Синонимы и устаревшие Функции Mysqli
MySQLi_Warning


Синонимы и устаревшие Функции Mysqli

Содержание

  • mysqli_bind_param — Синоним функции mysqli_stmt_bind_param
  • mysqli_bind_result — Синоним функции mysqli_stmt_bind_result
  • mysqli_client_encoding — Синоним функции mysqli_character_set_name
  • mysqli_connect — Псевдоним mysqli::__construct
  • mysqli_disable_reads_from_master — Блокирует чтение с мастера
  • mysqli_disable_rpl_parse — Блокировать разбор RPL
  • mysqli_enable_reads_from_master — Включает чтение с мастера
  • mysqli_enable_rpl_parse — Включает разбор RPL
  • mysqli_escape_string — Псевдоним функции mysqli_real_escape_string
  • mysqli_execute — Синоним для mysqli_stmt_execute
  • mysqli_fetch — Синоним для mysqli_stmt_fetch
  • mysqli_get_cache_stats — Returns client Zval cache statistics
  • mysqli_get_metadata — Синоним для mysqli_stmt_result_metadata
  • mysqli_master_query — Enforce execution of a query on the master in a master/slave setup
  • mysqli_param_count — Синоним для mysqli_stmt_param_count
  • mysqli_report — Enables or disables internal report functions
  • mysqli_rpl_parse_enabled — Check if RPL parse is enabled
  • mysqli_rpl_probe — RPL probe
  • mysqli_rpl_query_type — Returns RPL query type
  • mysqli_send_long_data — Синоним для mysqli_stmt_send_long_data
  • mysqli_send_query — Отправка запроса и возврат
  • mysqli_set_opt — Синоним для mysqli_options
  • mysqli_slave_query — Force execution of a query on a slave in a master/slave setup
mysqli_warning::next
mysqli_bind_param
mysqli


Синоним функции mysqli_stmt_bind_param

Синонимы и устаревшие Функции Mysqli
mysqli_bind_result
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_bind_param

(PHP 5)

mysqli_bind_param — Синоним функции mysqli_stmt_bind_param()

Описание

Эта функция является синонимом функции mysqli_stmt_bind_param().

Примечания

Замечание:

Функция mysqli_bind_param() не представляет ценности и будет удалена.

Смотрите также

  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters

Синонимы и устаревшие Функции Mysqli
mysqli_bind_result
Синонимы и устаревшие Функции Mysqli


Синоним функции mysqli_stmt_bind_result

mysqli_bind_param
mysqli_client_encoding
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_bind_result

(PHP 5)

mysqli_bind_result — Синоним функции mysqli_stmt_bind_result()

Описание

Эта функция является синонимом функции mysqli_stmt_bind_result().

Примечания

Замечание:

Функция mysqli_bind_result() не представляет ценности и будет удалена.

Смотрите также

  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage

mysqli_bind_param
mysqli_client_encoding
Синонимы и устаревшие Функции Mysqli


Синоним функции mysqli_character_set_name

mysqli_bind_result
mysqli_connect
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_client_encoding

(PHP 5)

mysqli_client_encoding — Синоним функции mysqli_character_set_name()

Описание

Эта функция является синонимом функции mysqli_character_set_name().

Смотрите также

  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli_bind_result
mysqli_connect
Синонимы и устаревшие Функции Mysqli


Псевдоним mysqli::__construct

mysqli_client_encoding
mysqli_disable_reads_from_master
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_connect

(PHP 5)

mysqli_connect — Псевдоним mysqli::__construct()

Описание

Эта функция является псевдонимом: mysqli::__construct()

mysqli_client_encoding
mysqli_disable_reads_from_master
Синонимы и устаревшие Функции Mysqli


Блокирует чтение с мастера

mysqli_connect
mysqli_disable_rpl_parse
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_disable_reads_from_master

mysqli::disable_reads_from_master

(PHP 5)

mysqli_disable_reads_from_master -- mysqli::disable_reads_from_master — Блокирует чтение с мастера

Описание

Объектно-ориентированный стиль

void mysqli::disable_reads_from_master ( void )

Процедурный стиль

bool mysqli_disable_reads_from_master ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_connect
mysqli_disable_rpl_parse
Синонимы и устаревшие Функции Mysqli


Блокировать разбор RPL

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_disable_rpl_parse

(PHP 5)

mysqli_disable_rpl_parse — Блокировать разбор RPL

Описание

bool mysqli_disable_rpl_parse ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Синонимы и устаревшие Функции Mysqli


Включает чтение с мастера

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_enable_reads_from_master

(PHP 5)

mysqli_enable_reads_from_master — Включает чтение с мастера

Описание

bool mysqli_enable_reads_from_master ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Синонимы и устаревшие Функции Mysqli


Включает разбор RPL

mysqli_enable_reads_from_master
mysqli_escape_string
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_enable_rpl_parse

(PHP 5)

mysqli_enable_rpl_parse — Включает разбор RPL

Описание

bool mysqli_enable_rpl_parse ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_enable_reads_from_master
mysqli_escape_string
Синонимы и устаревшие Функции Mysqli


Псевдоним функции mysqli_real_escape_string

mysqli_enable_rpl_parse
mysqli_execute
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_escape_string

(PHP 5)

mysqli_escape_string — Псевдоним функции mysqli_real_escape_string()

Описание

Эта функция является псевдонимом: mysqli_real_escape_string().

mysqli_enable_rpl_parse
mysqli_execute
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_stmt_execute

mysqli_escape_string
mysqli_fetch
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_execute

(PHP 5)

mysqli_execute — Синоним для mysqli_stmt_execute()

Описание

Эта функция является синонимом mysqli_stmt_execute().

Примечания

Замечание:

Функция mysqli_execute() устарела и будет удалена.

Смотрите также

  • mysqli_stmt_execute() - Executes a prepared Query

mysqli_escape_string
mysqli_fetch
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_stmt_fetch

mysqli_execute
mysqli_get_cache_stats
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_fetch

(PHP 5)

mysqli_fetch — Синоним для mysqli_stmt_fetch()

Описание

Функция является синонимом mysqli_stmt_fetch().

Примечания

Замечание:

Функция mysqli_fetch() устарела и будет удалена.

Смотрите также

  • mysqli_stmt_fetch() - Связывает результаты подготовленного запроса с переменными

mysqli_execute
mysqli_get_cache_stats
Синонимы и устаревшие Функции Mysqli


Returns client Zval cache statistics

mysqli_fetch
mysqli_get_metadata
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_get_cache_stats

(PHP 5 >= 5.3.0)

mysqli_get_cache_stats — Returns client Zval cache statistics

Описание

array mysqli_get_cache_stats ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns client Zval cache statistics. Доступно только с расширением mysqlnd.

Список параметров

Возвращаемые значения

Returns an array with client Zval cache stats if success, FALSE otherwise.

Примеры

Пример #1 A mysqli_get_cache_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_cache_stats());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Смотрите также

  • Stats description

mysqli_fetch
mysqli_get_metadata
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_stmt_result_metadata

mysqli_get_cache_stats
mysqli_master_query
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_get_metadata

(PHP 5)

mysqli_get_metadata — Синоним для mysqli_stmt_result_metadata()

Описание

Функция является синонимом mysqli_stmt_result_metadata().

Примечания

Замечание:

Функция mysqli_get_metadata() устарела и будет удалена.

Смотрите также

  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement

mysqli_get_cache_stats
mysqli_master_query
Синонимы и устаревшие Функции Mysqli


Enforce execution of a query on the master in a master/slave setup

mysqli_get_metadata
mysqli_param_count
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_master_query

(PHP 5)

mysqli_master_query — Enforce execution of a query on the master in a master/slave setup

Описание

bool mysqli_master_query ( mysqli $link , string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_get_metadata
mysqli_param_count
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_stmt_param_count

mysqli_master_query
mysqli_report
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_param_count

(PHP 5)

mysqli_param_count — Синоним для mysqli_stmt_param_count()

Описание

Функция является синонимом mysqli_stmt_param_count().

Примечания

Замечание:

Функция mysqli_param_count() устарела и будет удалена.

Смотрите также

  • mysqli_stmt_param_count() - Returns the number of parameter for the given statement

mysqli_master_query
mysqli_report
Синонимы и устаревшие Функции Mysqli


Enables or disables internal report functions

mysqli_param_count
mysqli_rpl_parse_enabled
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_report

(PHP 5)

mysqli_report — Enables or disables internal report functions

Описание

bool mysqli_report ( int $flags )

mysqli_report() is a powerful function to improve your queries and code during development and testing phase. Depending on the flags it reports errors from mysqli function calls or queries which don't use an index (or use a bad index).

Список параметров

flags

Supported flags
Name | Description
MYSQLI_REPORT_OFF | Turns reporting off
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls
MYSQLI_REPORT_STRICT | Throw mysqli_sql_exception for errors instead of warnings
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query
MYSQLI_REPORT_ALL | Set all options (report all)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.15 & 5.3.4 | Changing the reporting mode is now be per-request, rather than per-process.

Примеры

Объектно-ориентированный стиль

<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a bad index */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();

$mysqli->close();
?>

Смотрите также

  • MySQLi_Driver::$report_mode
  • mysqli_debug() - Выполняет процедуры отладки
  • mysqli_dump_debug_info() - Журналирование отладочной информации

mysqli_param_count
mysqli_rpl_parse_enabled
Синонимы и устаревшие Функции Mysqli


Check if RPL parse is enabled

mysqli_report
mysqli_rpl_probe
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_rpl_parse_enabled

(PHP 5)

mysqli_rpl_parse_enabled — Check if RPL parse is enabled

Описание

int mysqli_rpl_parse_enabled ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_report
mysqli_rpl_probe
Синонимы и устаревшие Функции Mysqli


RPL probe

mysqli_rpl_parse_enabled
mysqli_rpl_query_type
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_rpl_probe

(PHP 5)

mysqli_rpl_probe — RPL probe

Описание

bool mysqli_rpl_probe ( mysqli $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_rpl_parse_enabled
mysqli_rpl_query_type
Синонимы и устаревшие Функции Mysqli


Returns RPL query type

mysqli_rpl_probe
mysqli_send_long_data
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_rpl_query_type

mysqli::rpl_query_type

(PHP 5)

mysqli_rpl_query_type -- mysqli::rpl_query_type — Returns RPL query type

Описание

Объектно-ориентированный стиль

int mysqli::rpl_query_type ( string $query )

Процедурный стиль

int mysqli_rpl_query_type ( mysqli $link , string $query )

Returns MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE or MYSQLI_RPL_ADMIN depending on a query type. INSERT, UPDATE and similar are master queries, SELECT is slave, and FLUSH, REPAIR and similar are admin.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_rpl_probe
mysqli_send_long_data
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_stmt_send_long_data

mysqli_rpl_query_type
mysqli_send_query
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_send_long_data

(PHP 5)

mysqli_send_long_data — Синоним для mysqli_stmt_send_long_data()

Описание

Функция является синонимом mysqli_stmt_send_long_data().

Примечания

Замечание:

Функция mysqli_send_long_data() устарела и будет удалена.

Смотрите также

  • mysqli_stmt_send_long_data() - Send data in blocks

mysqli_rpl_query_type
mysqli_send_query
Синонимы и устаревшие Функции Mysqli


Отправка запроса и возврат

mysqli_send_long_data
mysqli_set_opt
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_send_query

mysqli::send_query

(PHP 5)

mysqli_send_query -- mysqli::send_query — Отправка запроса и возврат

Описание

Объектно-ориентированный стиль

bool mysqli::send_query ( string $query )

Процедурный стиль

bool mysqli_send_query ( mysqli $link , string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_send_long_data
mysqli_set_opt
Синонимы и устаревшие Функции Mysqli


Синоним для mysqli_options

mysqli_send_query
mysqli_slave_query
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_set_opt

(PHP 5)

mysqli_set_opt — Синоним для mysqli_options()

Описание

Функция является синонимом mysqli_options().

mysqli_send_query
mysqli_slave_query
Синонимы и устаревшие Функции Mysqli


Force execution of a query on a slave in a master/slave setup

mysqli_set_opt
Mysqlnd
Синонимы и устаревшие Функции Mysqli
PHP Manual

mysqli_slave_query

(PHP 5)

mysqli_slave_query — Force execution of a query on a slave in a master/slave setup

Описание

bool mysqli_slave_query ( mysqli $link , string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.

mysqli_set_opt
Mysqlnd
Синонимы и устаревшие Функции Mysqli


Встроенный драйвер MySQL

  • Введение
  • Обзор
  • Установка
  • Настройка во время выполнения
  • Persistent Connections
  • Statistics
  • Записки
  • MySQL Native Driver Plugin API
    • A comparison of mysqlnd plugins with MySQL Proxy
    • Obtaining the mysqlnd plugin API
    • MySQL Native Driver Plugin Architecture
    • The mysqlnd plugin API
    • Getting started building a mysqlnd plugin
mysqli_slave_query
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Этот раздел документации является обзором встроенного драйвера MySQL.

Mysqlnd
Обзор
Mysqlnd


Обзор

Встроенный драйвер MySQL является заменой клиентской библиотеки MySQL (libmysql). Встроенный драйвер MySQL является частью официальной версии PHP начиная с 5.3.0.

Все расширения для работы с базой данных MySQL - MySQL, mysqli и PDO MYSQL - взаимодействуют с сервером MySQL. В прошлом это было реализовано через расширение, использующее возможности, предоставленные клиентской библиотекой MySQL. Расширения компилировались с поддержкой клиентской библиотеки MySQL, чтобы использовать ее клиент-серверный протокол.

С появлением встроенного драйвера MySQL появилась альтернатива, и расширения, работающие с MySQL, могут быть скомпилированы для использования встроенного драйвера MySQL вместо клиентской библиотеки MySQL.

Встроенный драйвер MySQL написан на C как расширение PHP.

Чем он не является

Хотя встроенный драйвер MySQL написан как расширение PHP, важно понимать, что он не предоставляет программисту PHP нового API. API к базе данных MySQL для программиста предоставляются расширениями MySQL, mysqli и PDO MYSQL. Эти расширения могут использовать возможности встроенного драйвера MySQL для общения с сервером MySQL. Таким образом, вы не должны думать о встроенном драйвере MySQL как об API.

Зачем его использовать?

Использование встроенного драйвера MySQL дает некоторые плюсы относительно клиентской библиотеки MySQL.

Более старая клиентская библиотека MySQL была написана MySQL AB (сейчас Oracle Corporation) и выпускалась под лицензией MySQL. В конечном итоге это привело к тому, что поддержка MySQL в PHP была по умолчанию выключена. С другой стороны, встроенный драйвер MySQL был разработан как часть проекта PHP, и выпущет под лицензией PHP. Это убирает вопросы с лицензированием, бывшие проблемными в прошлом.

Также, в прошлом вам требовалось собирать расширения, работающие с базой данных MySQL, рядом с клиентской библиотекой MySQL. Обычно это означало, что на машине, на которой вы разрабатывали PHP-код, требовался установленный MySQL. К тому же, когда PHP-приложение работало, расширения, работающие с MySQL, могли обращаться к клиентской библиотеке MySQL во время работы, так что ее файл должен был быть установлен в вашей системе. Со встроенным драйвером MySQL эта проблема исчезла, поскольку он является частью стандартного дистрибутива. Таким образом, вам не потребуется установленный MySQL, чтобы собирать PHP или использовать работающие с базой данных PHP-приложения.

Поскольку встроенный драйвер MySQL написан как расширение PHP, он тесно связан с работой PHP. Это приводит к приросту эффективности, особенно в плане использования оперативной памяти, поскольку драйвер использует систему управления памятью PHP. Он также поддерживает настройки лимита памяти PHP. Использование встроенного драйвера MySQL приводит к сопоставимой или даже лучшей производительности, чем в случае клиентской библиотеки MySQL, поскольку всегда гарантируется наиболее эффективное использование памяти. Одним из примеров эффективности работы с памятью является то, что при использовании клиентской библиотеки MySQL каждая строка хранится в памяти дважды, тогда как в случае встроенного драйвера MySQL каждая строка хранится в памяти только один раз.

Особые возможности

Встроенный драйвер MySQL также предоставляет некоторые особые возможности, недоступные при использовании расширениями клиентской библиотеки MySQL. Список этих возможностей приведен ниже:

  • Улучшены постоянные соединения

  • Особая функция mysqli_fetch_all()

  • Вызов статистики производительности:
mysqli_get_cache_stats(),
mysqli_get_client_stats(),
mysqli_get_connection_stats()

Статистика производительности может быть очень полезна для нахождения узких мест в производительности.

Встроенный драйвер MySQL также поддерживает постоянные соединения при использовании расширения mysqli.

Поддержка SSL

Встроенный драйвер MySQL поддерживает SSL с версии PHP 5.3.3

Поддержка протокола с использованием сжатия

Начиная с PHP 5.3.2, встроенный драйвер MySQL поддерживает клиент-серверный протокол с использованием сжатия. Этой поддержки нет в версиях 5.3.0 и 5.3.1. Расширения, например ext/mysql или ext/mysqli, настроенные на использование встроенного драйвера MySQL, могут также воспользоваться этой возможностью. Обратите внимание, что PDO_MYSQL НЕ поддерживает сжатие при использовании совместно с mysqlnd.

Поддержка именованных каналов

Поддержка именованных каналов для Windows была добавлена в PHP версии 5.4.0.

Введение
Установка
Mysqlnd


Установка

Список изменений

Список изменений
Версия | Описание
5.3.0 | Был добавлен встроенный драйвер MySQL, поддерживающий все MySQL-расширения (то есть mysql, mysqli и PDO_MYSQL). Указание параметра mysqlnd в соответствующий параметр конфигурации включает эту поддержку.
5.4.0 | Встроенный драйвер MySQL теперь по умолчанию работает для всех MySQL-расширений (то есть mysql, mysqli и PDO_MYSQL). Указание параметра mysqlnd при конфигурации теперь необязательно.

Установка в Unix

Расширения для работы с MySQL должны быть сконфигурированы для использования клиентской библиотеки MySQL. Для работы встроенного драйвере MySQL требуется собрать PHP, указав, что расширения для работы с MySQL должны быть скомпилированы с поддержкой встроенного драйвера MySQL. Это делается с помощью параметров конфигурации перед сборкой PHP из исходного кода.

Например, чтобы собрать расширения MySQL mysqli и PDO MYSQL, использующие встроенный драйвер MySQL, должна быть выполнена следующая команда:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

Установка в Windows

В официальных Windows-дистрибутивах PHP 5.3 и выше встроенный драйвер MySQl включен по умолчанию, так что никаких дополнительных настроек для его использования не требуется. В этом случае все расширения для работы с MySQL будут использовать встроенный драйвер MySQL.

Обзор
Настройка во время выполнения
Mysqlnd


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации встроенного драйвера MySQL
Название | Значение по умолчанию | Изменяем | Список изменений
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
mysqlnd.debug | "0" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
mysqlnd.net_read_timeout | "31536000" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
mysqlnd.net_cmd_buffer_size | 5.3.0 - "2048", 5.3.1 - "4096" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM | Доступен с PHP 5.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mysqlnd.collect_statistics boolean

   Включает сбор различной статистики клиента, доступ к которой можно
получить с помощью mysqli_get_client_stats(),
   mysqli_get_connection_stats(),
   mysqli_get_cache_stats() и которая отображается
   в разделе mysqlnd вывода функции
   phpinfo().

Этот параметр конфигурации включает всю статистику встроенного драйвера MySQL, кроме относящейся к работе с оперативной памятью.

mysqlnd.collect_memory_statistics boolean

Включает сбор различной статистики оперативной памяти, доступ к
которой можно получить с помощью mysqli_get_client_stats(),
mysqli_get_connection_stats(),
mysqli_get_cache_stats() и которая отображается
в разделе mysqlnd вывода функции
phpinfo().

Этот параметр конфигурации включает всю статистику, относящуюся к работе с оперативной памятью, в общий набор данных статистики встроенного драйвера MySQL.

mysqlnd.debug string

Записывает команды из всех расширений, использующих mysqlnd, в указанный файл с логами.

Формат параметра следующий: mysqlnd.debug = "option1[,parameter_option1][:option2[,parameter_option2]]".

Возможны нижеуказанные значения для строки форматирования:

  • A[,file] - добавляет вывод трассировки в указанный файл. Также каждый раз проверяет успешность записи данных. Это реализовано путем закрытия и повторного открытия файла (что достаточно медленно)ю Дает гарантию целостности файла с логами в случае ошибки приложения.

  • a[,file] - добавляет вывод трассировки в указанный файл.

  • d - Включает вывод из макроса DBUG_<N> для текущего состояния. Может быть дополнено списком ключевых слов, чтобы выбрать вывод только содержащего эти ключевые слова макросов DBUG. Пустой список ключевых слов подразумевает вывод всех для макросов.

  • f[,functions] - ограничивает действия отладчика указанным списком функций. Пустой список функций подразумевает выбор всех функций.

  • F - помечает вывод каждой строчки отладчика названием исходного файла, содержащего код, вызвавший вывод.

  • i - помечает вывод каждой строчки отладчика PID текущего процесса.

  • L - помечает вывод каждой строчки отладчика названием исходного файла, вызвавшего вывод, и номером строки в ней.

  • n - помечает вывод каждой строчки отладчика уровнем вложенности текущей функции.

  • o[,file] - сходно с a[,file], но перезаписывает старый файл, а не дописывает его.

  • O[,file] - сходно с A[,file] но перезаписывает старый файл, а не дописывает его.

  • t[,N] - включает контроль функций во время трассировки. Максимальный уровень вложенности определен N и по умолчанию равен 200.

  • x - этот параметр активирует профилирование.

Example:

d:t:x:O,/tmp/mysqlnd.trace

Замечание:

Эта возможность доступна только для отладочной сборки PHP. Работает на Microsoft Windows при использовании отладочной сборки PHP, если PHP был собран с помощью Microsoft Visual C версии 9 и выше.

mysqlnd.net_read_timeout integer

mysqlnd и клиентская библиотека MySQL, libmysql, используют разные сетевые API. mysqlnd использует потоки PHP, тогда как libmysql - собственную обертку над сетевыми вызовами операционной системы. В PHP по умолчанию выставлен 60-секундный таймаут для потоков. Этот параметр выставляется в php.ini директивой default_socket_timeout. По умолчанию это относится ко всем потокам, которым не установлено другое значение таймаута. mysqlnd не устанавливал других значений, поэтому подключения долго выполняющихся запросов могут быть отключены после default_socket_timeout секунд с ошибкой "2006 - MySQL Server has gone away". Клиентская библиотека MySQL устанавливает таймаут по умолчанию равным 365 * 24 * 3600 секунд (1 год) и ждет возникновения других таймаутов, таких как таймаут TCP/IP. Теперь mysqlnd использует такой же очень долгий таймаут. Это значение можно изменить через новую директиву php.ini - mysqlnd.net_read_timeout. mysqlnd.net_read_timeout будет использоваться любым расширением (ext/mysql, ext/mysqli, PDO_MySQL), использующим mysqlnd. mysqlnd указывает потокам PHP использовать mysqlnd.net_read_timeout. Пожалуйста, обратите внимание, что могут быть небольшие различия между MYSQL_OPT_READ_TIMEOUT в клиентской библиотеке MySQL и потоках PHP, например, судя по документации, MYSQL_OPT_READ_TIMEOUT работает только для TCP/IP-подключений и, вплоть до MySQL 5.1.2, только под Windows. Потоки PHP могут не иметь подобных ограничений. В случае сомнений просьба сверяться с документацией потоков.

mysqlnd.net_cmd_buffer_size long

mysqlnd резервирует внутренний командно-сетевой буфер размером mysqlnd.net_cmd_buffer_size (в php.ini) байт для каждого соединения. Если команда клиент-серверного протокола MySQL, например, COM_QUERY ("обычный" запрос), не умещается в буфер, mysqlnd увеличит буфер до размера, необходимого для отправки команды. Каждый раз, когда буфер был увеличен, переменная статистики command_buffer_too_small будет увеличена на один.

Если mysqlnd приходится увеличивать буфер сверх его заданного размера в mysqlnd.net_cmd_buffer_size байт для большинства соединений, вам следует обдумать необходимость увеличения размера по-умолчанию, чтобы избежать повторных резерваций буфера.

Размер буфера по умолчанию равен 2048 байт в PHP 5.3.0. В дальнейших версиях значение по умолчанию изменено на 4096 байт. Вручную его можно изменить либо в php.ini, установив параметр mysqlnd.net_cmd_buffer_size, или с помощью функции mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

Рекомендуется устанавливать размер буфера не менее 4096 байт, поскольку mysqlnd также использует его при считывании определенных пакетов данных из MySQL. В PHP 5.3.0 mysqlnd не станет увеличивать размер буфера, если MySQL пришлет пакет большего размера, чем текущий размер буфера. Как следствие, mysqlnd будет не в состоянии расшифровать пакет и клиентское приложение получит ошибку. В PHP 5.3.0 есть только два случая, в которых пакет может быть больше указанных по умолчанию в mysqlnd.net_cmd_buffer_size 2048 байт: в пакете передается очень длинное сообщение об ошибке или пакет содержит метаданные из COM_LIST_FIELD (mysql_list_fields()) и эти данные получаются из строкового столбца с очень длинным значением по умолчанию (более 1900 байт).

Начиная с PHP 5.3.2 mysqlnd не дает установить значение буфера менее 4096 байт.

Это значение также может быть установлено функцией mysqli_option(link, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size).

mysqlnd.net_read_buffer_size long

Максимальный размер части данных при считывании, в байтах, при обработке тела командного пакета MySQL. Клиент-серверный протокол MySQL оборачивает все свои команды в пакеты. Пакет состоит из небольшого заголовка и тела, содержащего непосредственно данные команды. Размер тела закодирован в заголовке. mysqlnd считывает тело частями по MIN(header.size, mysqlnd.net_read_buffer_size) байт. Если размер тела пакета больше, чем mysqlnd.net_read_buffer_size байт, mysqlnd будет вызывать read() несколько раз.

Это значение также может быть установлено функцией mysqli_optionS(link, MYSQLI_OPT_NET_READ_BUFFER_SIZE, size).

Установка
Persistent Connections
Mysqlnd


Persistent Connections

Использование постоянных соединений

Если mysqli используется с mysqlnd,\ при создании постоянного соединения оно генерирует на сервере запрос COM_CHANGE_USER (mysql_change_user()). Это гарантирует, что при подключении будет повторно произведена авторизация.

Поскольку из-за вызовов COM_CHANGE_USER увеличиваются накладные расходы, возможно отключить такое поведение во время компиляции. В таком случае повторное использование постоянного соединения будет генерировать вызов COM_PING (mysql_ping), для проверки возможности повторного использования соединения.

Генерация вызова COM_CHANGE_USER может быть отключена флагом компиляции MYSQLI_NO_CHANGE_USER_ON_PCONNECT. Например:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

Or alternatively:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Обратите внимание, что только mysqli совместно с mysqlnd используют COM_CHANGE_USER. Остальные комбинации расширение-драйвер используют COM_PING при инициации постоянного соединения.

Настройка во время выполнения
Statistics
Mysqlnd


Statistics

Using Statistical Data

MySQL Native Driver contains support for gathering statistics on the communication between the client and the server. The statistics gathered are of three main types:

  • Client statistics

  • Connection statistics

  • Zval cache statistics

If you are using the mysqli extension, these statistics can be obtained through three API calls:

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

  • mysqli_get_cache_stats()

Замечание:

Statistics are aggregated among all extensions that use MySQL Native Driver. For example, when compiling both ext/mysql and ext/mysqli against MySQL Native Driver, both function calls of ext/mysql and ext/mysqli will change the statistics. There is no way to find out how much a certain API call of any extension that has been compiled against MySQL Native Driver has impacted a certain statistic. You can configure the PDO MySQL Driver, ext/mysql and ext/mysqli to optionally use the MySQL Native Driver. When doing so, all three extensions will change the statistics.

Accessing Client Statistics

To access client statistics, you need to call mysqli_get_client_stats(). The function call does not require any parameters.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Client statistics can also be accessed by calling the phpinfo() function.

Accessing Connection Statistics

To access connection statistics call mysqli_get_connection_stats(). This takes the database connection handle as the parameter.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Accessing Zval Cache Statistics

The MySQL Native Driver also collects statistics from its internal Zval cache. These statistics can be accessed by calling mysqli_get_cache_stats().

The Zval cache statistics obtained may lead to a tweaking of php.ini settings related to the Zval cache, resulting in better performance.

Buffered and Unbuffered Result Sets

Result sets can be buffered or unbuffered. Using default settings, ext/mysql and ext/mysqli work with buffered result sets for normal (non prepared statement) queries. Buffered result sets are cached on the client. After the query execution all results are fetched from the MySQL Server and stored in a cache on the client. The big advantage of buffered result sets is that they allow the server to free all resources allocated to a result set, once the results have been fetched by the client.

Unbuffered result sets on the other hand are kept much longer on the server. If you want to reduce memory consumption on the client, but increase load on the server, use unbuffered results. If you experience a high server load and the figures for unbuffered result sets are high, you should consider moving the load to the clients. Clients typically scale better than servers. "Load" does not only refer to memory buffers - the server also needs to keep other resources open, for example file handles and threads, before a result set can be freed.

Prepared Statements use unbuffered result sets by default. However, you can use mysqli_stmt_store_result() to enable buffered result sets.

Statistics returned by MySQL Native Driver

The following tables show a list of statistics returned by the
mysqli_get_client_stats(),
mysqli_get_connection_stats() and
mysqli_get_cache_stats() functions.

Network

Statistic | Scope | Description | Notes
bytes_sent | Connection | Number of bytes sent from PHP to the MySQL server | Can be used to check the efficiency of the compression protocol
bytes_received | Connection | Number of bytes received from MySQL server | Can be used to check the efficiency of the compression protocol
packets_sent | Connection | Number of MySQL Client Server protocol packets sent | Used for debugging Client Server protocol implementation
packets_received | Connection | Number of MySQL Client Server protocol packets received | Used for debugging Client Server protocol implementation
protocol_overhead_in | Connection | MySQL Client Server protocol overhead in bytes for incoming traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_in = packets_received * 4 | Used for debugging Client Server protocol implementation
protocol_overhead_out | Connection | MySQL Client Server protocol overhead in bytes for outgoing traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_out = packets_sent * 4 | Used for debugging Client Server protocol implementation
bytes_received_ok_packet | Connection | Total size of bytes of MySQL Client Server protocol OK packets received. OK packets can contain a status message. The length of the status message can vary and thus the size of an OK packet is not fixed. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_ok | Connection | Number of MySQL Client Server protocol OK packets received. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_eof_packet | Connection | Total size in bytes of MySQL Client Server protocol EOF packets received. EOF can vary in size depending on the server version. Also, EOF can transport an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_eof | Connection | Number of MySQL Client Server protocol EOF packets. Like with other packet statistics the number of packets will be increased even if PHP does not receive the expected packet but, for example, an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_header_packet | Connection | Total size in bytes of MySQL Client Server protocol result set header packets. The size of the packets varies depending on the payload (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, error message). | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_header | Connection | Number of MySQL Client Server protocol result set header packets. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_field_meta_packet | Connection | Total size in bytes of MySQL Client Server protocol result set meta data (field information) packets. Of course the size varies with the fields in the result set. The packet may also transport an error or an EOF packet in case of COM_LIST_FIELDS. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_field_meta | Connection | Number of MySQL Client Server protocol result set meta data (field information) packets. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_row_packet | Connection | Total size in bytes of MySQL Client Server protocol result set row data packets. The packet may also transport an error or an EOF packet. You can reverse engineer the number of error and EOF packets by substracting rows_fetched_from_server_normal and rows_fetched_from_server_ps from bytes_received_rset_row_packet. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_row | Connection | Number of MySQL Client Server protocol result set row data packets and their total size in bytes. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_prepare_response_packet | Connection | Total size in bytes of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). The packet may also transport an error. The packet size depends on the MySQL version: 9 bytes with MySQL 4.1 and 12 bytes from MySQL 5.0 on. There is no safe way to know how many errors happened. You may be able to guess that an error has occurred if, for example, you always connect to MySQL 5.0 or newer and, bytes_received_prepare_response_packet != packets_received_prepare_response * 12. See also ps_prepared_never_executed, ps_prepared_once_executed. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_prepare_response | Connection | Number of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_change_user_packet | Connection | Total size in bytes of MySQL Client Server protocol COM_CHANGE_USER packets. The packet may also transport an error or EOF. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_change_user | Connection | Number of MySQL Client Server protocol COM_CHANGE_USER packets | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_sent_command | Connection | Number of MySQL Client Server protocol commands sent from PHP to MySQL. There is no way to know which specific commands and how many of them have been sent. At its best you can use it to check if PHP has sent any commands to MySQL to know if you can consider to disable MySQL support in your PHP binary. There is also no way to reverse engineer the number of errors that may have occurred while sending data to MySQL. The only error recoded is command_buffer_too_small (see below). | Only useful for debugging CS protocol implementation.
bytes_received_real_data_normal Connection Number of bytes of payload fetched by the PHP client from mysqlnd using the text protocol. This is the size of the actual data contained in result sets that do not originate from prepared statements and which have been fetched by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. An example of a code sequence that will increase the value is as follows:
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();

Every fetch operation will increase the value.

The statistic will not be increased if the result set is only buffered on the client, but not fetched, such as in the following example:

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();

This statistic is available as of PHP version 5.3.4.

bytes_received_real_data_ps | Connection | Number of bytes of the payload fetched by the PHP client from mysqlnd using the prepared statement protocol. | This is the size of the actual data contained in result sets that originate from prepared statements and which has been fetched by the PHP client. The value will not be increased if the result set is not subsequently read by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. See also bytes_received_real_data_normal. This statistic is available as of PHP version 5.3.4.

Result Set

Statistic | Scope | Description | Notes
result_set_queries | Connection | Number of queries that have generated a result set. Examples of queries that generate a result set: SELECT, SHOW. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
non_result_set_queries | Connection | Number of queries that did not generate a result set. Examples of queries that do not generate a result set: INSERT, UPDATE, LOAD DATA, SHOW. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
no_index_used | Connection | Number of queries that have generated a result set but did not use an index (see also mysqld start option –log-queries-not-using-indexes). If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Connection | Number of queries that have generated a result set and did not use a good index (see also mysqld start option –log-slow-queries). | If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT)
slow_queries | Connection | SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. | Not reported through mysqli_report()
buffered_sets | Connection | Number of buffered result sets returned by "normal" queries. "Normal" means "not prepared statement" in the following notes. | Examples of API calls that will buffer result sets on the client: mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Buffering result sets on the client ensures that server resources are freed as soon as possible and it makes result set scrolling easier. The downside is the additional memory consumption on the client for buffering data. Note that mysqlnd (unlike the MySQL Client Library) respects the PHP memory limit because it uses PHP internal memory management functions to allocate memory. This is also the reason why memory_get_usage() reports a higer memory consumption when using mysqlnd instead of the MySQL Client Library. memory_get_usage() does not measure the memory consumption of the MySQL Client Library at all because the MySQL Client Library does not use PHP internal memory management functions monitored by the function!
unbuffered_sets | Connection | Number of unbuffered result sets returned by normal (non prepared statement) queries. | Examples of API calls that will not buffer result sets on the client: mysqli_use_result()
ps_buffered_sets | Connection | Number of buffered result sets returned by prepared statements. By default prepared statements are unbuffered. | Examples of API calls that will not buffer result sets on the client: mysqli_stmt_store_result
ps_unbuffered_sets | Connection | Number of unbuffered result sets returned by prepared statements. | By default prepared statements are unbuffered.
flushed_normal_sets Connection Number of result sets from normal (non prepared statement) queries with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

flushed_ps_sets Connection Number of result sets from prepared statements with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

ps_prepared_never_executed | Connection | Number of statements prepared but never executed. | Prepared statements occupy server resources. You should not prepare a statement if you do not plan to execute it.
ps_prepared_once_executed | Connection | Number of prepared statements executed only one. | One of the ideas behind prepared statements is that the same query gets executed over and over again (with different parameters) and some parsing and other preparation work can be saved, if statement execution is split up in separate prepare and execute stages. The idea is to prepare once and "cache" results, for example, the parse tree to be reused during multiple statement executions. If you execute a prepared statement only once the two stage processing can be inefficient compared to "normal" queries because all the caching means extra work and it takes (limited) server resources to hold the cached information. Consequently, prepared statements that are executed only once may cause performance hurts.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Connection | Total number of result set rows successfully fetched from MySQL regardless if the client application has consumed them or not. Some of the rows may not have been fetched by the client application but have been flushed implicitly. | See also packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Connection | Total number of succesfully buffered rows originating from a "normal" query or a prepared statement. This is the number of rows that have been fetched from MySQL and buffered on client. Note that there are two distinct statistics on rows that have been buffered (MySQL to mysqlnd internal buffer) and buffered rows that have been fetched by the client application (mysqlnd internal buffer to client application). If the number of buffered rows is higher than the number of fetched buffered rows it can mean that the client application runs queries that cause larger result sets than needed resulting in rows not read by the client. | Examples of queries that will buffer results: mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Connection | Total number of rows fetched by the client from a buffered result set created by a normal query or a prepared statement.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Connection | Total number of rows fetched by the client from a unbuffered result set created by a "normal" query or a prepared statement.
rows_fetched_from_client_ps_cursor | Connection | Total number of rows fetch by the client from a cursor created by a prepared statement.
rows_skipped_normal, rows_skipped_ps | Connection | Reserved for future use (currently not supported)
copy_on_write_saved, copy_on_write_performed | Process | With mysqlnd, variables returned by the extensions point into mysqlnd internal network result buffers. If you do not change the variables, fetched data will be kept only once in memory. If you change the variables, mysqlnd has to perform a copy-on-write to protect the internal network result buffers from being changed. With the MySQL Client Library you always hold fetched data twice in memory. Once in the internal MySQL Client Library buffers and once in the variables returned by the extensions. In theory mysqlnd can save up to 40% memory. However, note that the memory saving cannot be measured using memory_get_usage().
explicit_free_result, implicit_free_result | Connection, Process (only during prepared statement cleanup) | Total number of freed result sets. | The free is always considered explicit but for result sets created by an init command, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Connection Total number of columns of a certain type fetched from a normal query (MySQL text protocol). Mapping from C API / MySQL meta data type to statistics name:

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • Any MYSQL_TYPE_* not listed before (there should be none) - proto_text_fetched_other

Note that the MYSQL_*-type constants may not be associated with the very same SQL column types in every version of MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Connection | Total number of columns of a certain type fetched from a prepared statement (MySQL binary protocol). | For type mapping see proto_text_* described in the preceding text.

Connection

Statistic | Scope | Description | Notes
connect_success, connect_failure | Connection | Total number of successful / failed connection attempt. | Reused connections and all other kinds of connections are included.
reconnect | Process | Total number of (real_)connect attempts made on an already opened connection handle. | The code sequence $link = new mysqli(...); $link->real_connect(...) will cause a reconnect. But $link = new mysqli(...); $link->connect(...) will not because $link->connect(...) will explicitly close the existing connection before a new connection is established.
pconnect_success | Connection | Total number of successful persistent connection attempts. | Note that connect_success holds the sum of successful persistent and non-persistent connection attempts. The number of successful non-persistent connection attempts is connect_success - pconnect_success.
active_connections | Connection | Total number of active persistent and non-persistent connections.
active_persistent_connections | Connection | Total number of active persistent connections. | The total number of active non-persistent connections is active_connections - active_persistent_connections.
explicit_close Connection Total number of explicitly closed connections (ext/mysqli only). Examples of code snippets that cause an explicit close :
$link = new mysqli(...); $link->close(...)
$link = new mysqli(...); $link->connect(...)
implicit_close Connection Total number of implicitly closed connections (ext/mysqli only). Examples of code snippets that cause an implicit close :

  • $link = new mysqli(...); $link->real_connect(...)

  • unset($link)

  • Persistent connection: pooled connection has been created with real_connect and there may be unknown options set - close implicitly to avoid returning a connection with unknown options

  • Persistent connection: ping/change_user fails and ext/mysqli closes the connection

  • end of script execution: close connections that have not been closed by the user

disconnect_close | Connection | Connection failures indicated by the C API call mysql_real_connect() during an attempt to establish a connection. | It is called disconnect_close because the connection handle passed to the C API call will be closed.
in_middle_of_command_close | Process | A connection has been closed in the middle of a command execution (outstanding result sets not fetched, after sending a query and before retrieving an answer, while fetching data, while transferring data with LOAD DATA). | Unless you use asynchronous queries this should only happen if your script stops unexpectedly and PHP shuts down the connections for you.
init_command_executed_count | Connection | Total number of init command executions, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...). | The number of successful executions is init_command_executed_count - init_command_failed_count.
init_command_failed_count | Connection | Total number of failed init commands.

COM_* Commands

Statistic Scope Description Notes
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Connection Total number of attempts to send a certain COM_* command from PHP to MySQL.

The statistics are incremented after checking the line and immediately before sending the corresponding MySQL client server protocol packet. If mysqlnd fails to send the packet over the wire the statistics will not be decremented. In case of a failure mysqlnd emits a PHP warning "Error while sending %s packet. PID=%d."

Usage examples:

  • Check if PHP sends certain commands to MySQL, for example, check if a client sends COM_PROCESS_KILL

  • Calculate the average number of prepared statement executions by comparing COM_EXECUTE with COM_PREPARE

  • Check if PHP has run any non-prepared SQL statements by checking if COM_QUERY is zero

  • Identify PHP scripts that run an excessive number of SQL statements by checking COM_QUERY and COM_EXECUTE

Miscellaneous

Statistic | Scope | Description | Notes
explicit_stmt_close, implicit_stmt_close | Process | Total number of close prepared statements. | A close is always considered explicit but for a failed prepare.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Process | Memory management calls. | Development only.
command_buffer_too_small Connection Number of network command buffer extensions while sending commands from PHP to MySQL.

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to what is needed for sending the command. Whenever the buffer gets extended for one connection command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size (php.ini) bytes for almost every connection, you should consider to increase the default size to avoid re-allocations.

The default buffer size is 2048 bytes in PHP 5.3.0. In future versions the default will be 4kB or larger. The default can changed either through the php.ini setting mysqlnd.net_cmd_buffer_size or using mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

It is recommended to set the buffer size to no less than 4096 bytes because mysqlnd also uses it when reading certain communication packet from MySQL. In PHP 5.3.0, mysqlnd will not grow the buffer if MySQL sends a packet that is larger than the current size of the buffer. As a consequence mysqlnd is unable to decode the packet and the client application will get an error. There are only two situations when the packet can be larger than the 2048 bytes default of mysqlnd.net_cmd_buffer_size in PHP 5.3.0: the packet transports a very long error message or the packet holds column meta data from COM_LIST_FIELD (mysql_list_fields()) and the meta data comes from a string column with a very long default value (>1900 bytes). No bug report on this exists - it should happen rarely.

As of PHP 5.3.2 mysqlnd does not allow setting buffers smaller than 4096 bytes.

connection_reused
Persistent Connections
Записки
Mysqlnd


Записки

Этот раздел содержит набор различных записок по поводу использования встроенного драйвера MySQL.

  • Использование mysqlnd подразумевает использование потоков PHP как основу для подключений. При работе с mysqlnd следует обращаться к документации потоков PHP (Streams), а не к документации клиентской библиотеки MySQL, по поводу таких вещей, как, например, настройка таймаута.

Statistics
MySQL Native Driver Plugin API
Mysqlnd


MySQL Native Driver Plugin API

Содержание

  • A comparison of mysqlnd plugins with MySQL Proxy
  • Obtaining the mysqlnd plugin API
  • MySQL Native Driver Plugin Architecture
  • The mysqlnd plugin API
  • Getting started building a mysqlnd plugin

The MySQL Native Driver Plugin API is a feature of MySQL Native Driver, or mysqlnd. Mysqlnd plugins operate in the layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Mysqlnd plugins can undertake typical MySQL Proxy tasks such as load balancing, monitoring and performance optimizations. Due to the different architecture and location, mysqlnd plugins do not have some of MySQL Proxy's disadvantages. For example, with plugins, there is no single point of failure, no dedicated proxy server to deploy, and no new programming language to learn (Lua).

A mysqlnd plugin can be thought of as an extension to mysqlnd. Plugins can intercept the majority of mysqlnd functions. The mysqlnd functions are called by the PHP MySQL extensions such as ext/mysql, ext/mysqli, and PDO_MYSQL. As a result, it is possible for a mysqlnd plugin to intercept all calls made to these extensions from the client application.

Internal mysqlnd function calls can also be intercepted, or replaced. There are no restrictions on manipulating mysqlnd internal function tables. It is possible to set things up so that when certain mysqlnd functions are called by the extensions that use mysqlnd, the call is directed to the appropriate function in the mysqlnd plugin. The ability to manipulate mysqlnd internal function tables in this way allows maximum flexibility for plugins.

Mysqlnd plugins are in fact PHP Extensions, written in C, that use the mysqlnd plugin API (which is built into MySQL Native Driver, mysqlnd). Plugins can be made 100% transparent to PHP applications. No application changes are needed because plugins operate on a different layer. The mysqlnd plugin can be thought of as operating in a layer below mysqlnd.

The following list represents some possible applications of mysqlnd plugins.

  • Load Balancing

    • Read/Write Splitting. An example of this is the PECL/mysqlnd_ms (Master Slave) extension. This extension splits read/write queries for a replication setup.

    • Failover

    • Round-Robin, least loaded

  • Monitoring

    • Query Logging

    • Query Analysis

    • Query Auditing. An example of this is the PECL/mysqlnd_sip (SQL Injection Protection) extension. This extension inspects queries and executes only those that are allowed according to a ruleset.

  • Performance

    • Caching. An example of this is the PECL/mysqlnd_qc (Query Cache) extension.

    • Throttling

    • Sharding. An example of this is the PECL/mysqlnd_mc (Multi Connect) extension. This extension will attempt to split a SELECT statement into n-parts, using SELECT ... LIMIT part_1, SELECT LIMIT part_n. It sends the queries to distinct MySQL servers and merges the result at the client.

MySQL Native Driver Plugins Available

There are a number of mysqlnd plugins already available. These include:

  • PECL/mysqlnd_mc - Multi Connect plugin.

  • PECL/mysqlnd_ms - Master Slave plugin.

  • PECL/mysqlnd_qc - Query Cache plugin.

  • PECL/mysqlnd_pscache - Prepared Statement Handle Cache plugin.

  • PECL/mysqlnd_sip - SQL Injection Protection plugin.

  • PECL/mysqlnd_uh - User Handler plugin.

Записки
A comparison of mysqlnd plugins with MySQL Proxy
Mysqlnd


A comparison of mysqlnd plugins with MySQL Proxy

Mysqlnd plugins and MySQL Proxy are different technologies using different approaches. Both are valid tools for solving a variety of common tasks such as load balancing, monitoring, and performance enhancements. An important difference is that MySQL Proxy works with all MySQL clients, whereas mysqlnd plugins are specific to PHP applications.

As a PHP Extension, a mysqlnd plugin gets installed on the PHP application server, along with the rest of PHP. MySQL Proxy can either be run on the PHP application server or can be installed on a dedicated machine to handle multiple PHP application servers.

Deploying MySQL Proxy on the application server has two advantages:

  1. No single point of failure

  2. Easy to scale out (horizontal scale out, scale by client)

MySQL Proxy (and mysqlnd plugins) can solve problems easily which otherwise would have required changes to existing applications.

However, MySQL Proxy does have some disadvantages:

  • MySQL Proxy is a new component and technology to master and deploy.

  • MySQL Proxy requires knowledge of the Lua scripting language.

MySQL Proxy can be customized with C and Lua programming. Lua is the preferred scripting language of MySQL Proxy. For most PHP experts Lua is a new language to learn. A mysqlnd plugin can be written in C. It is also possible to write plugins in PHP using » PECL/mysqlnd_uh.

MySQL Proxy runs as a daemon - a background process. MySQL Proxy can recall earlier decisions, as all state can be retained. However, a mysqlnd plugin is bound to the request-based lifecycle of PHP. MySQL Proxy can also share one-time computed results among multiple application servers. A mysqlnd plugin would need to store data in a persistent medium to be able to do this. Another daemon would need to be used for this purpose, such as Memcache. This gives MySQL Proxy an advantage in this case.

MySQL Proxy works on top of the wire protocol. With MySQL Proxy you have to parse and reverse engineer the MySQL Client Server Protocol. Actions are limited to those that can be achieved by manipulating the communication protocol. If the wire protocol changes (which happens very rarely) MySQL Proxy scripts would need to be changed as well.

Mysqlnd plugins work on top of the C API, which mirrors the libmysql client and Connector/C APIs. This C API is basically a wrapper around the MySQL Client Server protocol, or wire protocol, as it is sometimes called. You can intercept all C API calls. PHP makes use of the C API, therefore you can hook all PHP calls, without the need to program at the level of the wire protocol.

Mysqlnd implements the wire protocol. Plugins can therefore parse, reverse engineer, manipulate and even replace the communication protocol. However, this is usually not required.

As plugins allow you to create implementations that use two levels (C API and wire protocol), they have greater flexibility than MySQL Proxy. If a mysqlnd plugin is implemented using the C API, any subsequent changes to the wire protocol do not require changes to the plugin itself.

MySQL Native Driver Plugin API
Obtaining the mysqlnd plugin API
MySQL Native Driver Plugin API


Obtaining the mysqlnd plugin API

The mysqlnd plugin API is simply part of the MySQL Native Driver PHP extension, ext/mysqlnd. Development started on the mysqlnd plugin API in December 2009. It is developed as part of the PHP source repository, and as such is available to the public either via SVN, or through source snapshot downloads.

The following table shows PHP versions and the corresponding mysqlnd version contained within.

PHP Version | MySQL Native Driver version
5.3.0 | 5.0.5
5.3.1 | 5.0.5
5.3.2 | 5.0.7
5.3.3 | 5.0.7
5.3.4 | 5.0.7

Plugin developers can determine the mysqlnd version through accessing MYSQLND_VERSION, which is a string of the format "mysqlnd 5.0.7-dev - 091210 - $Revision: 300535", or through MYSQLND_VERSION_ID, which is an integer such as 50007. Developers can calculate the version number as follows:

Version (part) | Example
Major*10000 | 5*10000 = 50000
Minor*100 | 0*100 = 0
Patch | 7 = 7
MYSQLND_VERSION_ID | 50007

During development, developers should refer to the mysqlnd version number for compatibility and version tests, as several iterations of mysqlnd could occur during the lifetime of a PHP development branch with a single PHP version number.

A comparison of mysqlnd plugins with MySQL Proxy
MySQL Native Driver Plugin Architecture
MySQL Native Driver Plugin API


MySQL Native Driver Plugin Architecture

This section provides an overview of the mysqlnd plugin architecture.

MySQL Native Driver Overview

Before developing mysqlnd plugins, it is useful to know a little of how mysqlnd itself is organized. Mysqlnd consists of the following modules:

Modules Statistics | mysqlnd_statistics.c
Connection | mysqlnd.c
Resultset | mysqlnd_result.c
Resultset Metadata | mysqlnd_result_meta.c
Statement | mysqlnd_ps.c
Network | mysqlnd_net.c
Wire protocol | mysqlnd_wireprotocol.c

C Object Oriented Paradigm

At the code level, mysqlnd uses a C pattern for implementing object orientation.

In C you use a struct to represent an object. Members of the struct represent object properties. Struct members pointing to functions represent methods.

Unlike with other languages such as C++ or Java, there are no fixed rules on inheritance in the C object oriented paradigm. However, there are some conventions that need to be followed that will be discussed later.

The PHP Life Cycle

When considering the PHP life cycle there are two basic cycles:

  • PHP engine startup and shutdown cycle

  • Request cycle

When the PHP engine starts up it will call the module initialization (MINIT) function of each registered extension. This allows each module to setup variables and allocate resources that will exist for the lifetime of the PHP engine process. When the PHP engine shuts down it will call the module shutdown (MSHUTDOWN) function of each extension.

During the lifetime of the PHP engine it will receive a number of requests. Each request constitutes another life cycle. On each request the PHP engine will call the request initialization function of each extension. The extension can perform any variable setup and resource allocation required for request processing. As the request cycle ends the engine calls the request shutdown (RSHUTDOWN) function of each extension so the extension can perform any cleanup required.

How a plugin works

A mysqlnd plugin works by intercepting calls made to mysqlnd by extensions that use mysqlnd. This is achieved by obtaining the mysqlnd function table, backing it up, and replacing it by a custom function table, which calls the functions of the plugin as required.

The following code shows how the mysqlnd function table is replaced:

/* a place to store orginal function table */
struct st_mysqlnd_conn_methods org_methods;

void minit_register_hooks(TSRMLS_D) {
  /* active function table */
  struct st_mysqlnd_conn_methods * current_methods
    = mysqlnd_conn_get_methods();

  /* backup original function table */
  memcpy(&org_methods, current_methods,
    sizeof(struct st_mysqlnd_conn_methods);

  /* install new methods */
  current_methods->query = MYSQLND_METHOD(my_conn_class, query);
}

Connection function table manipulations must be done during Module Initialization (MINIT). The function table is a global shared resource. In an multi-threaded environment, with a TSRM build, the manipulation of a global shared resource during the request processing will almost certainly result in conflicts.

Замечание:

Do not use any fixed-size logic when manipulating the mysqlnd function table: new methods may be added at the end of the function table. The function table may change at any time in the future.

Calling parent methods

If the original function table entries are backed up, it is still possible to call the original function table entries - the parent methods.

In some cases, such as for Connection::stmt_init(), it is vital to call the parent method prior to any other activity in the derived method.

MYSQLND_METHOD(my_conn_class, query)(MYSQLND *conn,
  const char *query, unsigned int query_len TSRMLS_DC) {

  php_printf("my_conn_class::query(query = %s)\n", query);

  query = "SELECT 'query rewritten' FROM DUAL";
  query_len = strlen(query);

  return org_methods.query(conn, query, query_len); /* return with call to parent */
}

Extending properties

A mysqlnd object is represented by a C struct. It is not possible to add a member to a C struct at run time. Users of mysqlnd objects cannot simply add properties to the objects.

Arbitrary data (properties) can be added to a mysqlnd objects using an appropriate function of the mysqlnd_plugin_get_plugin_<object>_data() family. When allocating an object mysqlnd reserves space at the end of the object to hold a void * pointer to arbitrary data. mysqlnd reserves space for one void * pointer per plugin.

The following table shows how to calculate the position of the pointer for a specific plugin:

Memory address | Contents
0 | Beginning of the mysqlnd object C struct
n | End of the mysqlnd object C struct
n + (m x sizeof(void*)) | void* to object data of the m-th plugin

If you plan to subclass any of the mysqlnd object constructors, which is allowed, you must keep this in mind!

The following code shows extending properties:

/* any data we want to associate */
typedef struct my_conn_properties {
  unsigned long query_counter;
} MY_CONN_PROPERTIES;

/* plugin id */
unsigned int my_plugin_id;

void minit_register_hooks(TSRMLS_D) {
  /* obtain unique plugin ID */
  my_plugin_id = mysqlnd_plugin_register();
  /* snip - see Extending Connection: methods */
}

static MY_CONN_PROPERTIES** get_conn_properties(const MYSQLND *conn TSRMLS_DC) {
  MY_CONN_PROPERTIES** props;
  props = (MY_CONN_PROPERTIES**)mysqlnd_plugin_get_plugin_connection_data(
    conn, my_plugin_id);
  if (!props || !(*props)) {
    *props = mnd_pecalloc(1, sizeof(MY_CONN_PROPERTIES), conn->persistent);
    (*props)->query_counter = 0;
  }
  return props;
}

The plugin developer is responsible for the management of plugin data memory.

Use of the mysqlnd memory allocator is recommended for plugin data. These functions are named using the convention: mnd_*loc(). The mysqlnd allocator has some useful features, such as the ability to use a debug allocator in a non-debug build.

When and how to subclass

 | When to subclass? | Each instance has its own private function table? | How to subclass?
Connection (MYSQLND) | MINIT | No | mysqlnd_conn_get_methods()
Resultset (MYSQLND_RES) | MINIT or later | Yes | mysqlnd_result_get_methods() or object method function table manipulation
Resultset Meta (MYSQLND_RES_METADATA) | MINIT | No | mysqlnd_result_metadata_get_methods()
Statement (MYSQLND_STMT) | MINIT | No | mysqlnd_stmt_get_methods()
Network (MYSQLND_NET) | MINIT or later | Yes | mysqlnd_net_get_methods() or object method function table manipulation
Wire protocol (MYSQLND_PROTOCOL) | MINIT or later | Yes | mysqlnd_protocol_get_methods() or object method function table manipulation

You must not manipulate function tables at any time later than MINIT if it is not allowed according to the above table.

Some classes contain a pointer to the method function table. All instances of such a class will share the same function table. To avoid chaos, in particular in threaded environments, such function tables must only be manipulated during MINIT.

Other classes use copies of a globally shared function table. The class function table copy is created together with the object. Each object uses its own function table. This gives you two options: you can manipulate the default function table of an object at MINIT, and you can additionally refine methods of an object without impacting other instances of the same class.

The advantage of the shared function table approach is performance. There is no need to copy a function table for each and every object.

Constructors

Allocation, construction, reset | Can be modified? | Caller
Connection (MYSQLND) | mysqlnd_init() | No | mysqlnd_connect()
Resultset(MYSQLND_RES)

Allocation:

  • Connection::result_init()

Reset and re-initialized during:

  • Result::use_result()

  • Result::store_result

Yes, but call parent!

  • Connection::list_fields()

  • Statement::get_result()

  • Statement::prepare() (Metadata only)

  • Statement::resultMetaData()

Resultset Meta (MYSQLND_RES_METADATA) | Connection::result_meta_init() | Yes, but call parent! | Result::read_result_metadata()
Statement (MYSQLND_STMT) | Connection::stmt_init() | Yes, but call parent! | Connection::stmt_init()
Network (MYSQLND_NET) | mysqlnd_net_init() | No | Connection::init()
Wire protocol (MYSQLND_PROTOCOL) | mysqlnd_protocol_init() | No | Connection::init()

It is strongly recommended that you do not entirely replace a constructor. The constructors perform memory allocations. The memory allocations are vital for the mysqlnd plugin API and the object logic of mysqlnd. If you do not care about warnings and insist on hooking the constructors, you should at least call the parent constructor before doing anything in your constructor.

Regardless of all warnings, it can be useful to subclass constructors. Constructors are the perfect place for modifying the function tables of objects with non-shared object tables, such as Resultset, Network, Wire Protocol.

Destruction

 | Derived method must call parent? | Destructor
Connection | yes, after method execution | free_contents(), end_psession()
Resultset | yes, after method execution | free_result()
Resultset Meta | yes, after method execution | free()
Statement | yes, after method execution | dtor(), free_stmt_content()
Network | yes, after method execution | free()
Wire protocol | yes, after method execution | free()

The destructors are the appropriate place to free properties, mysqlnd_plugin_get_plugin_<object>_data().

The listed destructors may not be equivalent to the actual mysqlnd method freeing the object itself. However, they are the best possible place for you to hook in and free your plugin data. As with constructors you may replace the methods entirely but this is not recommended. If multiple methods are listed in the above table you will need to hook all of the listed methods and free your plugin data in whichever method is called first by mysqlnd.

The recommended method for plugins is to simply hook the methods, free your memory and call the parent implementation immediately following this.

Предостережение

Due to a bug in PHP versions 5.3.0 to 5.3.3, plugins do not associate plugin data with a persistent connection. This is because ext/mysql and ext/mysqli do not trigger all the necessary mysqlnd end_psession() method calls and the plugin may therefore leak memory. This has been fixed in PHP 5.3.4.

Obtaining the mysqlnd plugin API
The mysqlnd plugin API
MySQL Native Driver Plugin API


The mysqlnd plugin API

The following is a list of functions provided in the mysqlnd plugin API:

  • mysqlnd_plugin_register()

  • mysqlnd_plugin_count()

  • mysqlnd_plugin_get_plugin_connection_data()

  • mysqlnd_plugin_get_plugin_result_data()

  • mysqlnd_plugin_get_plugin_stmt_data()

  • mysqlnd_plugin_get_plugin_net_data()

  • mysqlnd_plugin_get_plugin_protocol_data()

  • mysqlnd_conn_get_methods()

  • mysqlnd_result_get_methods()

  • mysqlnd_result_meta_get_methods()

  • mysqlnd_stmt_get_methods()

  • mysqlnd_net_get_methods()

  • mysqlnd_protocol_get_methods()

There is no formal definition of what a plugin is and how a plugin mechanism works.

Components often found in plugins mechanisms are:

  • A plugin manager

  • A plugin API

  • Application services (or modules)

  • Application service APIs (or module APIs)

The mysqlnd plugin concept employs these features, and additionally enjoys an open architecture.

No Restrictions

A plugin has full access to the inner workings of mysqlnd. There are no security limits or restrictions. Everything can be overwritten to implement friendly or hostile algorithms. It is recommended you only deploy plugins from a trusted source.

As discussed previously, plugins can use pointers freely. These pointers are not restricted in any way, and can point into another plugin's data. Simple offset arithmetic can be used to read another plugin's data.

It is recommended that you write cooperative plugins, and that you always call the parent method. The plugins should always cooperate with mysqlnd itself.

Issues: an example of chaining and cooperation

Extension | mysqlnd.query() pointer | call stack if calling parent
ext/mysqlnd | mysqlnd.query() | mysqlnd.query
ext/mysqlnd_cache mysqlnd_cache.query()

  1. mysqlnd_cache.query()

  2. mysqlnd.query

ext/mysqlnd_monitor mysqlnd_monitor.query()

  1. mysqlnd_monitor.query()

  2. mysqlnd_cache.query()

  3. mysqlnd.query

In this scenario, a cache (ext/mysqlnd_cache) and a monitor (ext/mysqlnd_monitor) plugin are loaded. Both subclass Connection::query(). Plugin registration happens at MINIT using the logic shown previously. PHP calls extensions in alphabetical order by default. Plugins are not aware of each other and do not set extension dependencies.

By default the plugins call the parent implementation of the query method in their derived version of the method.

PHP Extension Recap

This is a recap of what happens when using an example plugin, ext/mysqlnd_plugin, which exposes the mysqlnd C plugin API to PHP:

  • Any PHP MySQL application tries to establish a connection to 192.168.2.29

  • The PHP application will either use ext/mysql, ext/mysqli or PDO_MYSQL. All three PHP MySQL extensions use mysqlnd to establish the connection to 192.168.2.29.

  • Mysqlnd calls its connect method, which has been subclassed by ext/mysqlnd_plugin.

  • ext/mysqlnd_plugin calls the userspace hook proxy::connect() registered by the user.

  • The userspace hook changes the connection host IP from 192.168.2.29 to 127.0.0.1 and returns the connection established by parent::connect().

  • ext/mysqlnd_plugin performs the equivalent of parent::connect(127.0.0.1) by calling the original mysqlnd method for establishing a connection.

  • ext/mysqlnd establishes a connection and returns to ext/mysqlnd_plugin. ext/mysqlnd_plugin returns as well.

  • Whatever PHP MySQL extension had been used by the application, it receives a connection to 127.0.0.1. The PHP MySQL extension itself returns to the PHP application. The circle is closed.

MySQL Native Driver Plugin Architecture
Getting started building a mysqlnd plugin
MySQL Native Driver Plugin API


Getting started building a mysqlnd plugin

It is important to remember that a mysqlnd plugin is itself a PHP extension.

The following code shows the basic structure of the MINIT function that will be used in the typical mysqlnd plugin:

/* my_php_mysqlnd_plugin.c */

 static PHP_MINIT_FUNCTION(mysqlnd_plugin) {
  /* globals, ini entries, resources, classes */

  /* register mysqlnd plugin */
  mysqlnd_plugin_id = mysqlnd_plugin_register();

  conn_m = mysqlnd_get_conn_methods();
  memcpy(org_conn_m, conn_m,
    sizeof(struct st_mysqlnd_conn_methods));

  conn_m->query = MYSQLND_METHOD(mysqlnd_plugin_conn, query);
  conn_m->connect = MYSQLND_METHOD(mysqlnd_plugin_conn, connect);
}

/* my_mysqlnd_plugin.c */

 enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, query)(/* ... */) {
  /* ... */
}
enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, connect)(/* ... */) {
  /* ... */
}

Task analysis: from C to userspace

 class proxy extends mysqlnd_plugin_connection {
  public function connect($host, ...) { .. }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Process:

  1. PHP: user registers plugin callback

  2. PHP: user calls any PHP MySQL API to connect to MySQL

  3. C: ext/*mysql* calls mysqlnd method

  4. C: mysqlnd ends up in ext/mysqlnd_plugin

  5. C: ext/mysqlnd_plugin

    1. Calls userspace callback

    2. Or orginal mysqlnd method, if userspace callback not set

You need to carry out the following:

  1. Write a class "mysqlnd_plugin_connection" in C

  2. Accept and register proxy object through "mysqlnd_plugin_set_conn_proxy()"

  3. Call userspace proxy methods from C (optimization - zend_interfaces.h)

Userspace object methods can either be called using call_user_function() or you can operate at a level closer to the Zend Engine and use zend_call_method().

Optimization: calling methods from C using zend_call_method

The following code snippet shows the prototype for the zend_call_method function, taken from zend_interfaces.h.

 ZEND_API zval* zend_call_method(
  zval **object_pp, zend_class_entry *obj_ce,
  zend_function **fn_proxy, char *function_name,
  int function_name_len, zval **retval_ptr_ptr,
  int param_count, zval* arg1, zval* arg2 TSRMLS_DC
);

Zend API supports only two arguments. You may need more, for example:

 enum_func_status (*func_mysqlnd_conn__connect)(
  MYSQLND *conn, const char *host,
  const char * user, const char * passwd,
  unsigned int passwd_len, const char * db,
  unsigned int db_len, unsigned int port,
  const char * socket, unsigned int mysql_flags TSRMLS_DC
);

To get around this problem you will need to make a copy of zend_call_method() and add a facility for additional parameters. You can do this by creating a set of MY_ZEND_CALL_METHOD_WRAPPER macros.

Calling PHP userspace

This code snippet shows the optimized method for calling a userspace function from C:

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class,connect)(
  MYSQLND *conn, const char *host /* ... */ TSRMLS_DC) {
  enum_func_status ret = FAIL;
  zval * global_user_conn_proxy = fetch_userspace_proxy();
  if (global_user_conn_proxy) {
    /* call userspace proxy */
    ret = MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, host, /*...*/);
  } else {
    /* or original mysqlnd method = do nothing, be transparent */
    ret = org_methods.connect(conn, host, user, passwd,
          passwd_len, db, db_len, port,
          socket, mysql_flags TSRMLS_CC);
  }
  return ret;
}

Calling userspace: simple arguments

/* my_mysqlnd_plugin.c */

 MYSQLND_METHOD(my_conn_class,connect)(
  /* ... */, const char *host, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_host;
    MAKE_STD_ZVAL(zv_host);
    ZVAL_STRING(zv_host, host, 1);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_host);
    /* ... */
  }
  /* ... */
}

Calling userspace: structs as arguments

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class, connect)(
  MYSQLND *conn, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_conn;
    ZEND_REGISTER_RESOURCE(zv_conn, (void *)conn, le_mysqlnd_plugin_conn);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_conn, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_conn);
    /* ... */
  }
  /* ... */
}

The first argument of many mysqlnd methods is a C "object". For example, the first argument of the connect() method is a pointer to MYSQLND. The struct MYSQLND represents a mysqlnd connection object.

The mysqlnd connection object pointer can be compared to a standard I/O file handle. Like a standard I/O file handle a mysqlnd connection object shall be linked to the userspace using the PHP resource variable type.

From C to userspace and back

 class proxy extends mysqlnd_plugin_connection {
  public function connect($conn, $host, ...) {
    /* "pre" hook */
    printf("Connecting to host = '%s'\n", $host);
    debug_print_backtrace();
    return parent::connect($conn);
  }

  public function query($conn, $query) {
    /* "post" hook */
    $ret = parent::query($conn, $query);
    printf("Query = '%s'\n", $query);
    return $ret;
  }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

PHP users must be able to call the parent implementation of an overwritten method.

As a result of subclassing it is possible to refine only selected methods and you can choose to have "pre" or "post" hooks.

Buildin class: mysqlnd_plugin_connection::connect()

/*  my_mysqlnd_plugin_classes.c */

 PHP_METHOD("mysqlnd_plugin_connection", connect) {
  /* ... simplified! ... */
  zval* mysqlnd_rsrc;
  MYSQLND* conn;
  char* host; int host_len;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs",
    &mysqlnd_rsrc, &host, &host_len) == FAILURE) {
    RETURN_NULL();
  }
  ZEND_FETCH_RESOURCE(conn, MYSQLND* conn, &mysqlnd_rsrc, -1,
    "Mysqlnd Connection", le_mysqlnd_plugin_conn);
  if (PASS == org_methods.connect(conn, host, /* simplified! */ TSRMLS_CC))
    RETVAL_TRUE;
  else
    RETVAL_FALSE;
}
The mysqlnd plugin API
mysqlnd_ms
MySQL Native Driver Plugin API


Mysqlnd replication and load balancing plugin

  • Введение
  • Quickstart and Examples
    • Setup
    • Running statements
    • Connection state
    • SQL Hints
    • Transactions
  • Concepts
    • Architecture
    • Connection pooling and switching
    • Transaction handling
    • Error handling
    • Failover
    • Load balancing
    • Read-write splitting
    • Filter
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Plugin configuration file (>=1.1.x)
    • Plugin configuration file (<= 1.0.x)
    • Testing
    • Debugging and Tracing
  • Предопределенные константы
  • Mysqlnd_ms Функции
    • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
    • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
    • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
    • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
    • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
  • Change History
    • PECL/mysqlnd_ms 1.1 series
    • PECL/mysqlnd_ms 1.0 series
Getting started building a mysqlnd plugin
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The mysqlnd replication and load balancing plugin (mysqlnd_ms) adds easy to use MySQL replication support to all PHP MySQL extensions that use mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the replication and load balancing plugin, can extend the functionality of mysqlnd.

The MySQL native driver for PHP is a C library that ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (libmysql/libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

Mysqlnd plugins like mysqlnd_ms operate, for the most part, transparently from a user perspective. The replication and load balancing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Замечание:

The mysqlnd replication and load balancing plugin is a beta plugin, and is not feature complete.

Key Features

The key features of PECL/mysqlnd_ms are as follows.

  • Transparent and therefore easy to use.

    • Supports all of the PHP MySQL extensions.

    • A consistent API.

    • Little to no application changes required, dependent on the required usage scenario.

    • Lazy connections: connections to master and slave servers are not opened before a SQL statement is executed.

    • Optional: automatic use of master after the first write in a web request, to lower the possible impact of replication lag.

  • Featured read-write split strategies

    • Automatic detection of SELECT.

    • Supports SQL hints to overrule automatism.

    • User-defined.

  • Featured load balancing strategies

    • Round Robin: choose a different slave in round-robin fashion for every slave request.

    • Random: choose a random slave for every slave request.

    • Random once (sticky): choose a random slave once to run all slave requests for the duration of a web request.

    • User-defined. The application can register callbacks with mysqlnd_ms.

Limitations

The plugin does not support MySQL replication setups with more than one master server. The experimental configuration setting mysqlnd_ms.multi_master was introduced in version 1.1.0-beta, to help find ways to remove this limitation.

The built-in read/write-split mechanism is very basic. Every query which starts with SELECT is considered a read request to be sent to a MySQL slave server. All other queries (such as SHOW statements) are considered as write requests that are sent to the MySQL master server. The build-in behavior can be overruled using SQL hints, or a user-defined callback function.

The read/write splitter is not aware of multi-statements. Multi-statements are considered as one statement. The decision of where to run the statement will be based on the beginning of the statement string. For example, if using mysqli_multi_query() to execute the multi-statement SELECT id FROM test ; INSERT INTO test(id) VALUES (1), the statement will be redirected to a slave server because it begins with SELECT. The INSERT statement, which is also part of the multi-statement, will not be redirected to a master server.

Prior to version 1.1.0-beta, the plugin did not support native prepared statements. Please note that PDO_MySQL uses client-side prepared statement emulation by default. Client-side emulated prepared statements are fully supported by any version of the replication and load balancing plugin because the emulation is not using native prepared statements. If you are using PHP based database abstraction, please consult the vendor manual to learn if a client-side prepared statement emulation is used.

Замечание:

Applications must be aware of the consequences of connection switches that are performed for load balancing purposes. Please check the documentation on connection pooling and switching, transaction handling, failover load balancing и read-write splitting.

On the name

The shortcut mysqlnd_ms stands for mysqlnd master slave plugin. The name was chosen for a quick-and-dirty proof-of-concept. In the beginning the developers did not expect to continue using the code base.

mysqlnd_ms
Quickstart and Examples
mysqlnd_ms


Quickstart and Examples

Содержание

  • Setup
  • Running statements
  • Connection state
  • SQL Hints
  • Transactions

The mysqlnd replication load balancing plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

Замечание:

The documentation has been updated to show the syntax used as of version 1.1.0-beta. PECL/mysqlnd_ms 1.1.0-beta introduces many changes. Among others, it is using a new JSON based plugin configuration file format.

Введение
Setup
mysqlnd_ms


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install the » PECL/mysqlnd_ms extension. Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_ms.enable.

The plugin uses its own configuration file. Use the PHP configuration directive mysqlnd_ms.ini_file to set the full file path to the plugin-specific configuration file. This file must be readable by PHP (e.g., the web server user).

Пример #1 Enabling the plugin (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.ini_file=/path/to/mysqlnd_ms_plugin.ini

Create a plugin-specific configuration file. Save the file to the path set by the PHP configuration directive mysqlnd_ms.ini_file.

The plugins configuration file is JSON based. It is divided into one or more sections. Each section has a name, for example, myapp. Every section makes its own set of configuration settings.

A section must, at a minimum, list the MySQL replication master server, and set a list of slaves. The plugin supports using only one master server per section. Multi-master MySQL replication setups are not yet fully supported. Use the configuration setting master to set the hostname, and the port or socket of the MySQL master server. MySQL slave servers are configured using the slave keyword.

Пример #2 Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": [

        ]
    }
}

Configuring a MySQL slave server list is required, although it may contain an empty list. It is recommended to always configure at least one slave server.

Server lists can use anonymous or non-anonymous syntax. Non-anonymous lists include alias names for the servers, such as master_0 for the master in the above example. The quickstart uses the more verbose non-anonymous syntax.

Пример #3 Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

If there are at least two servers in total, the plugin can start to load balance and switch connections. Switching connections is not always transparent and can cause issues in certain cases. The reference sections about connection pooling and switching, transaction handling, fail over load balancing and read-write splitting all provide more details. And potential pitfalls are described later in this guide.

It is the responsibility of the application to handle potential issues caused by connection switches, by configuring a master with at least one slave server, which allows switching to work therefore related problems can be found.

The MySQL master and MySQL slave servers, which you configure, do not need to be part of MySQL replication setup. For testing purpose you can use single MySQL server and make it known to the plugin as a master and slave server as shown below. This could help you to detect many potential issues with connection switches. However, such a setup will not be prone to the issues caused by replication lag.

Пример #4 Using one server as a master and as a slave (testing only!)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Quickstart and Examples
Running statements
Quickstart and Examples


Running statements

The plugin can be used with any PHP MySQL extension (mysqli, mysql, and PDO_MYSQL) that is compiled to use the mysqlnd library. PECL/mysqlnd_ms plugs into the mysqlnd library. It does not change the API or behavior of those extensions.

Whenever a connection to MySQL is being opened, the plugin compares the host parameter value of the connect call, with the section names from the plugin specific configuration file. If, for example, the plugin specific configuration file has a section myapp then the section should be referenced by opening a MySQL connection to the host myapp

Пример #1 Plugin specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Пример #2 Opening a load balanced connection

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");
?>

The connection examples above will be load balanced. The plugin will send read-only statements to the MySQL slave server with the IP 192.168.2.27 and will listen on port 3306 for the MySQL client connection. All other statements will be directed to the MySQL master server running on the host localhost. If on Unix like operating systems, the master on localhost will be accepting MySQL client connections on the Unix domain socket /tmp/mysql.sock, while TCP/IP is the default port on Windows. The plugin will use the user name username and the password password to connect to any of the MySQL servers listed in the section myapp of the plugins configuration file. Upon connect, the plugin will select database as the current schemata.

The username, password and schema name are taken from the connect API calls and used for all servers. In other words: you must use the same username and password for every MySQL server listed in a plugin configuration file section. The is not a general limitation. As of PECL/mysqlnd_ms 1.1.0, it is possible to set the username and password for any server in the plugins configuration file, to be used instead of the credentials passed to the API call.

The plugin does not change the API for running statements. Read-write splitting works out of the box. The following example assumes that there is no significant replication lag between the master and the slave.

Пример #3 Executing statements

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Statements will be run on the master */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* read-only: statement will be run on a slave */
if (!($res = $mysqli->query("SELECT id FROM test")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("Slave returns id = '%s'\n", $row['id'];
}
$mysqli->close();
?>

Результатом выполнения данного примера будет что-то подобное:

Slave returns id = '1'

Setup
Connection state
Quickstart and Examples


Connection state

The plugin changes the semantics of a PHP MySQL connection handle. A new connection handle represents a connection pool, instead of a single MySQL client-server network connection. The connection pool consists of a master connection, and optionally any number of slave connections.

Every connection from the connection pool has its own state. For example, SQL user variables, temporary tables and transactions are part of the state. For a complete list of items that belong to the state of a connection, see the connection pooling and switching concepts documentation. If the plugin decides to switch connections for load balancing, the application could be given a connection which has a different state. Applications must be made aware of this.

Пример #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Пример #2 Pitfall: connection state and SQL user variables

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Результат выполнения данного примера:

@myrole = ''

The example opens a load balanced connection and executes two statements. The first statement SET @myrole='master' does not begin with the string SELECT. Therefore the plugin does not recognize it as a read-only query which shall be run on a slave. The plugin runs the statement on the connection to the master. The statement sets a SQL user variable which is bound to the master connection. The state of the master connection has been changed.

The next statement is SELECT @myrole AS _role. The plugin does recognize it as a read-only query and sends it to the slave. The statement is run on a connection to the slave. This second connection does not have any SQL user variables bound to it. It has a different state than the first connection to the master. The requested SQL user variable is not set. The example script prints @myrole = ''.

It is the responsibility of the application developer to take care of the connection state. The plugin does not monitor all connection state changing activities. Monitoring all possible cases would be a very CPU intensive task, if it could be done at all.

The pitfalls can easily be worked around using SQL hints.

Running statements
SQL Hints
Quickstart and Examples


SQL Hints

SQL hints can force a query to choose a specific server from the connection pool. It gives the plugin a hint to use a designated server, which can solve issues caused by connection switches and connection state.

SQL hints are standard compliant SQL comments. Because SQL comments are supposed to be ignored by SQL processing systems, they do not interfere with other programs such as the MySQL Server, the MySQL Proxy, or a firewall.

Three SQL hints are supported by the plugin: The MYSQLND_MS_MASTER_SWITCH hint makes the plugin run a statement on the master, MYSQLND_MS_SLAVE_SWITCH enforces the use of the slave, and MYSQLND_MS_MASTER_SWITCH will run a statement on the same server that was used for the previous statement.

The plugin scans the beginning of a statement for the existence of an SQL hint. SQL hints are only recognized if they appear at the beginning of the statement.

Пример #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Пример #2 SQL hints to prevent connection switches

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 1, run on master because of SQL hint */
if (!($res = $mysqli->query(sprintf("/*%s*/SELECT @myrole AS _role", MYSQLND_MS_LAST_USED_SWITCH)))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Результат выполнения данного примера:

@myrole = 'master'

In the above example, using MYSQLND_MS_LAST_USED_SWITCH prevents session switching from the master to a slave when running the SELECT statement.

SQL hints can also be used to run SELECT statements on the MySQL master server. This may be desired if the MySQL slave servers are typically behind the master, but you need current data from the database.

Пример #3 Fighting replication lag

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Force use of master, master has always fresh and current data */
if (!$mysqli->query(sprintf("/*%s*/SELECT critical_data FROM important_table", MYSQLND_MS_MASTER_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

A use case may include the creation of tables on a slave. If an SQL hint is not given, then the plugin will send CREATE and INSERT statements to the master. Use the SQL hint MYSQLND_MS_SLAVE_SWITCH if you want to run any such statement on a slave, for example, to build temporary reporting tables.

Пример #4 Table creation on a slave

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Force use of slave */
if (!$mysqli->query(sprintf("/*%s*/CREATE TABLE slave_reporting(id INT)", MYSQLND_MS_SLAVE_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Continue using this particular slave connection */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO slave_reporting(id) VALUES (1), (2), (3)", MYSQLND_MS_LAST_USED_SWITCH))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Don't use MYSQLND_MS_SLAVE_SWITCH which would allow switching to another slave! */
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM slave_reporting", MYSQLND_MS_LAST_USED_SWITCH))) {
  $row = $res->fetch_assoc();
  $res->close();
  printf("There are %d rows in the table 'slave_reporting'", $row['_num']);
} else {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
$mysqli->close();
?>

The SQL hint MYSQLND_MS_LAST_USED forbids switching a connection, and forces use of the previously used connection.

Connection state
Transactions
Quickstart and Examples


Transactions

The current version of the plugin is not transaction safe, because it is not transaction aware. SQL transactions are units of work to be run on a single server. The plugin does not know when the unit of work starts and when it ends. Therefore, the plugin may decide to switch connections in the middle of a transaction.

You must use SQL hints to work around this limitation.

Пример #1 Plugin config with one slave and one master

[myapp]
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Пример #2 Using SQL hints for transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Not a SELECT, will use master */
if (!$mysqli->query("START TRANSACTION")) {
 /* Please use better error handling in your code */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Prevent connection switch! */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO test(id) VALUES (1)", MYSQLND_MS_LAST_USED_SWITCH)))) {
 /* Please do proper ROLLBACK in your code, don't just die */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM test", MYSQLND_MS_LAST_USED_SWITCH)))) {
  $row = $res->fetch_assoc();
  $res->close();
  if ($row['_num'] > 1000) {
   if (!$mysqli->query(sprintf("/*%s*/INSERT INTO events(task) VALUES ('cleanup')", MYSQLND_MS_LAST_USED_SWITCH)))) {
     die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
   }
  }
} else {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/UPDATE log SET last_update = NOW()", MYSQLND_MS_LAST_USED_SWITCH)))) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/COMMIT", MYSQLND_MS_LAST_USED_SWITCH)))) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

$mysqli->close();
?>

Starting with PHP 5.4.0, the mysqlnd library allows the plugin to monitor the status of the autocommit mode, if the mode is set by API calls instead of using SQL statements such as SET AUTOCOMMIT=0. This makes it possible for the plugin to become transaction aware.

If using PHP 5.4.0 or newer, API calls that enable autocommit mode, and when setting the experimental plugin configuration option trx_stickiness=master, the plugin can automatically disable load balancing and connection switches for SQL transactions. In this configuration, the plugin stops load balancing if autocommit is disabled and directs all statements to the master. This prevents connection switches in the middle of a transaction. Once autocommit is re-enabled, the plugin starts to load balance statements again.

Пример #3 Experimental trx_stickiness setting

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Пример #4 Outlook: transaction aware

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Disable autocommit, plugin will run all statements on the master */
$mysqli->autocommit(FALSE);

if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
 /* Please do proper ROLLBACK in your code, don't just die */
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query("SELECT COUNT(*) AS _num FROM test")) {
  $row = $res->fetch_assoc();
  $res->close();
  if ($row['_num'] > 1000) {
   if (!$mysqli->query("INSERT INTO events(task) VALUES ('cleanup')")) {
     die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
   }
  }
} else {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query("UPDATE log SET last_update = NOW()")) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->commit()) {
 die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin assumes that the transaction has ended and starts load balancing again */
$mysqli->autocommit(TRUE);
$mysqli->close();
?>

Замечание: Experimental PHP 5.4.0+ feature

The plugin configuration option trx_stickiness=master is an experimental feature, and requires PHP 5.4.0 or newer.

SQL Hints
Concepts
Quickstart and Examples


Concepts

Содержание

  • Architecture
  • Connection pooling and switching
  • Transaction handling
  • Error handling
  • Failover
  • Load balancing
  • Read-write splitting
  • Filter

This explains the architecture and related concepts for this plugin, and describes the impact that MySQL replication and this plugin have on developmental tasks while using a database cluster. Reading and understanding these concepts is required, in order to use this plugin with success.

Transactions
Architecture
mysqlnd_ms


Architecture

The mysqlnd replication and load balancing plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, in the module init phase of the PHP engine, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods.

At PHP runtime, it inspects queries sent from mysqlnd (PHP) to the MySQL server. If a query is recognized as read-only, it will be sent to one of the configured slave servers. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/ or a slave had been chosen for running the previous query, and the query started with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server.

For better portability, applications should use the MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, and MYSQLND_MS_LAST_USED_SWITCH predefined mysqlnd_ms constants, instead of their literal values, such as /*ms=slave*/.

The plugin handles the opening and closing of database connections to both master and slave servers. From an application point of view, there continues to be only one connection handle. However, internally, this one public connection handle represents a pool of network connections that are managed by the plugin. The plugin proxies queries to the master server, and to the slaves using multiple connections.

Database connections have a state consisting of, for example, transaction status, transaction settings, character set settings, and temporary tables. The plugin will try to maintain the same state among all internal connections, whenever this can be done in an automatic and transparent way. In cases where it is not easily possible to maintain state among all connections, such as when using BEGIN TRANSACTION, the plugin leaves it to the user to handle.

Concepts
Connection pooling and switching
Concepts


Connection pooling and switching

The replication and load balancing plugin changes the semantics of a PHP MySQL connection handle. The existing API of the PHP MySQL extensions (mysqli, mysql, and PDO_MYSQL) are not changed in a way that functions are added or removed. But their behaviour changes when using the plugin. Existing applications do not need to be adapted to a new API, but they may need to be modified because of the behaviour changes.

The plugin breaks the one-by-one relationship between a mysqli, mysql, and PDO_MYSQL connection handle and a MySQL network connection. And a mysqli, mysql, and PDO_MYSQL connection handle represents a local pool of connections to the configured MySQL replication master and MySQL replication slave servers. The plugin redirects queries to the master and slave servers. At some point in time one and the same PHP connection handle may point to the MySQL master server. Later on, it may point to one of the slave servers or still the master. Manipulating and replacing the network connection referenced by a PHP MySQL connection handle is not a transparent operation.

Every MySQL connection has a state. The state of the connections in the connection pool of the plugin can differ. Whenever the plugin switches from one wire connection to another, the current state of the user connection may change. The applications must be aware of this.

The following list shows what the connection state consists of. The list may not be complete.

  • Transaction status
  • Temporary tables
  • Table locks
  • Session system variables and session user variables
  • The current database set using USE and other state chaining SQL commands
  • Prepared statements
  • HANDLER variables
  • Locks acquired with GET_LOCK()

Connection switches happen right before queries are executed. The plugin does not switch the current connection until the next statement is executed.

Замечание: Replication issues

See also the MySQL reference manual chapter about » replication features and related issues. Some restrictions may not be related to the PHP plugin, but are properties of the MySQL replication system.

Broadcasted messages

The plugins philosophy is to align the state of connections in the pool only if the state is under full control of the plugin, or if it is necessary for security reasons. Just a few actions that change the state of the connection fall into this category.

The following is a list of connection client library calls that change state, and are broadcasted to all open connections in the connection pool.

If any of the listed calls below are to be executed, the plugin loops over all open master and slave connections. The loop continues until all servers have been contacted, and the loop does not break if a server indicates a failure. If possible, the failure will propagate to the called user API function, which may be detected depending on which underlying library function was triggered.

Library call | Notes | Version
change_user() | Called by the mysqli_change_user() user API call. Also triggered upon reuse of a persistent mysqli connection. | Since 1.0.0.
select_db | Called by the following user API calls: mysql_select_db(), mysql_list_tables(), mysql_db_query(), mysql_list_fields(), mysqli_select_db(). Note, that SQL USE is not monitored. | Since 1.0.0.
set_charset() | Called by the following user API calls: mysql_set_charset(). mysqli_set_charset(). Note, that SQL SET NAMES is not monitored. | Since 1.0.0.
set_server_option() | Called by the following user API calls: mysqli_multi_query(), mysqli_real_query(), mysqli_query(), mysql_query(). | Since 1.0.0.
set_client_option() | Called by the following user API calls: mysqli_options(), mysqli_ssl_set(), mysqli_connect(), mysql_connect(), mysql_pconnect(). | Since 1.0.0.
set_autocommit() | Called by the following user API calls: mysqli_autocommit(), PDO::setAttribute(PDO::ATTR_AUTOCOMMIT). | Since 1.0.0. PHP >= 5.4.0.
ssl_set() | Called by the following user API calls: mysqli_ssl_set(). | Since 1.1.0.

Broadcasting and lazy connections

The plugin does not proxy or "remember" all settings to apply them on connections opened in the future. This is important to remember, if using lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Use of lazy connections is the default plugin action.

The following connection library calls each changed state, and their execution is recorded for later use when lazy connections are opened. This helps ensure that the connection state of all connections in the connection pool are comparable.

Library call | Notes | Version
change_user() | User, password and database recorded for future use. | Since 1.1.0.
select_db | Database recorded for future use. | Since 1.1.0.
set_charset() | Calls set_client_option(MYSQL_SET_CHARSET_NAME, charset) on lazy connection to ensure charset will be used upon opening the lazy connection. | Since 1.1.0.
set_autocommit() | Adds SET AUTOCOMMIT=0|1 to the list of init commands of a lazy connection using set_client_option(MYSQL_INIT_COMMAND, "SET AUTOCOMMIT=...%quot;). | Since 1.1.0. PHP >= 5.4.0.
Предостережение

Connection state

The connection state is not only changed by API calls. Thus, even if PECL mysqlnd_ms monitors all API calls, the application must still be aware. Ultimately, it is the applications responsibility to maintain the connection state, if needed.

Architecture
Transaction handling
Concepts


Transaction handling

Transaction handling is fundamentally changed. An SQL transaction is a unit of work that is run on one database server. The unit of work consists of one or more SQL statements.

By default the plugin is not aware of SQL transactions. The plugin may switch connections for load balancing at any point in time. Connection switches may happen in the middle of a transaction. This is against the nature of an SQL transaction. By default, the plugin is not transaction safe.

At the time of writing, applications using SQL transactions together with the plugin must use SQL hints to disable connection switches in the middle of a SQL transaction. See also the examples section.

Замечание: Added features as of PHP 5.4.0

The mysqlnd library allows this plugin to subclass the library C API call set_autocommit(), to detect the status of autocommit mode.

Added support for for trx_stickiness=master

The PHP MySQL extensions either issue a query (such as SET AUTOCOMMIT=0|1), or use the mysqlnd library call set_autcommit() to control the autocommit setting. If an extension makes use of set_autocommit(), the plugin can be made transaction aware. Transaction awareness cannot be achieved if using SQL to set the autocommit mode. The library function set_autocommit() is called by the mysqli_autocommit() and PDO::setAttribute(PDO::ATTR_AUTOCOMMIT) user API calls.

The plugin configuration option trx_stickiness=master can be used to make the plugin transactional aware. In this mode, the plugin stops load balancing if autocommit becomes disabled, and directs all statements to the master until autocommit gets enabled.

Connection pooling and switching
Error handling
Concepts


Error handling

Applications using PECL/mysqlnd_ms should implement proper error handling for all user API calls. And because the plugin changes the semantics of a connection handle, API calls may return unexpected errors. If using the plugin on a connection handle that no longer represents an individual network connection, but a connection pool, an error code and error message will be set on the connection handle whenever an error occurs on any of the network connections behind.

If using lazy connections, which is the default, connections are not opened until they are needed for query execution. Therefore, an API call for a statement execution may return a connection error. In the example below, an error is provoked when trying to run a statement on a slave. Opening a slave connection fails because the plugin configuration file lists an invalid host name for the slave.

Пример #1 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name",
            }
        },
        "lazy_connections": 1
    }
}

The explicit activation of lazy connections is for demonstration purpose only.

Пример #2 Connection error on query execution

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT, provoke connection error */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Результатом выполнения данного примера будет что-то подобное:

PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
[2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Applications are expected to handle possible connection errors by implementing proper error handling.

Depending on the use case, applications may want to handle connection errors differently from other errors. Typical connection errors are 2002 (CR_CONNECTION_ERROR) - Can't connect to local MySQL server through socket '%s' (%d), 2003 (CR_CONN_HOST_ERROR) - Can't connect to MySQL server on '%s' (%d) and 2005 (CR_UNKNOWN_HOST) - Unknown MySQL server host '%s' (%d). For example, the application may test for the error codes and manually perform a fail over. The plugins philosophy is not to offer automatic fail over, beyond master fail over, because fail over is not a transparent operation.

Пример #3 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name"
            },
            "slave_1": {
                "host": "192.168.78.136"
            }
        },
        "lazy_connections": 1,
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

Explicitly activating lazy connections is done for demonstration purposes, as is round robin load balancing as opposed to the default random once type.

Пример #4 Most basic failover

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, first slave */
$res = $mysqli->query("SELECT VERSION() AS _version");
/* Hackish manual fail over */
if (2002 == $mysqli->errno || 2003 == $mysqli->errno || 2004 == $mysqli->errno) {
  /* Connection 3, first slave connection failed, trying next slave */
  $res = $mysqli->query("SELECT VERSION() AS _version");
}

if (!$res) {
  printf("ERROR, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
} else {
 /* Error messages are taken from connection 3, thus no error */
 printf("SUCCESS, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
 $row = $res->fetch_assoc();
 $res->close();
 printf("version = %s\n", $row['_version']);
}
$mysqli->close();
?>

Результатом выполнения данного примера будет что-то подобное:

[1045] Access denied for user 'username'@'localhost' (using password: YES)
PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
SUCCESS, [0] ''
version = 5.6.2-m5-log

In some cases, it may not be easily possible to retrieve all errors that occur on all network connections through a connection handle. For example, let's assume a connection handle represents a pool of three open connections. One connection to a master and two connections to the slaves. The application changes the current database using the user API call mysqli_select_db(), which then calls the mysqlnd library function to change the schemata. mysqlnd_ms monitors the function, and tries to change the current database on all connections to harmonize their state. Now, assume the master succeeds in changing the database, and both slaves fail. Upon the initial error from the first slave, the plugin will set an appropriate error on the connection handle. The same is done when the second slave fails to change the database. The error message from the first slave is lost.

Such cases can be debugged by either checking for errors of the type E_WARNING (see above) or, if no other option, investigation of the mysqlnd_ms debug and trace log.

Transaction handling
Failover
Concepts


Failover

Connection failover handling is left to the user. The application is responsible for checking return values of the database functions it calls and reacting to possible errors. If, for example, the plugin recognizes a query as a read-only query to be sent to the slave servers, and the slave server selected by the plugin is not available, the plugin will raise an error after not executing the statement.

It is up to the application to handle the error and, if required, re-issue the query to trigger the selection of another slave server for statement execution. The plugin will make no attempts to failover automatically, because the plugin cannot ensure that an automatic failover will not change the state of the connection. For example, the application may have issued a query which depends on SQL user variables which are bound to a specific connection. Such a query might return incorrect results if the plugin would switch the connection implicitly as part of automatic failover. To ensure correct results, the application must take care of the failover, and rebuild the required connection state. Therefore, by default, no automatic failover is performed by the plugin.

A user that does not change the connection state after opening a connection may activate automatic master failover.

The failover policy is configured in the plugins configuration file, by using the failover configuration directive.

A basic manual failover example is provided within the error handling section.

Error handling
Load balancing
Concepts


Load balancing

Four load balancing strategies are supported to distribute read-only statements over the configured MySQL slave servers:

random

Chooses a random server whenever a statement is executed.

random once (default)

Chooses a random server after the first statement is executed, and uses the decision for the rest of the PHP request.

It is the default, and the lowest impact on the connection state.

round robin

Iterates over the list of configured servers.

user-defined via callback

Is used to implement any other strategy.

The load balancing policy is configured in the plugins configuration file using the random, roundrobin, and user filters.

Failover
Read-write splitting
Concepts


Read-write splitting

The plugin executes read-only statements on the configured MySQL slaves, and all other queries on the MySQL master. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/, or if a slave had been chosen for running the previous query and the query starts with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server. It is recommended to use the constants MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_MASTER_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of /*ms=slave*/. See also the list of mysqlnd_ms constants.

SQL hints are a special kind of standard compliant SQL comments. The plugin does check every statement for certain SQL hints. The SQL hints are described within the mysqlnd_ms constants documentation, constants that are exported by the extension. Other systems involved with the statement processing, such as the MySQL server, SQL firewalls, and SQL proxies, are unaffected by the SQL hints, because those systems are designed to ignore SQL comments.

The built-in read-write splitter can be replaced by a user-defined filter, see also the user filter documentation.

A user-defined read-write splitter can request the built-in logic to send a statement to a specific location, by invoking mysqlnd_ms_is_select().

Замечание:

The built-in read-write splitter is not aware of multi-statements. Multi-statements are seen as one statement. The splitter will check the beginning of the statement to decide where to run the statement. If, for example, a multi-statement begins with SELECT 1 FROM DUAL; INSERT INTO test(id) VALUES (1); ... the plugin will run it on a slave although the statement is not read-only.

Load balancing
Filter
Concepts


Filter

Замечание: Version requirement

Filters exist as of mysqlnd_ms version 1.1.0-beta.

filters. PHP applications that implement a MySQL replication cluster must first identify a group of servers in the cluster which could execute a statement before the statement is executed by one of the candidates. In other words: a defined list of servers must be filtered until only one server is available.

The process of filtering may include using one or more filters, and filters can be chained. And they are executed in the order they are defined in the plugins configuration file.

Замечание: Explanation: comparing filter chaining to pipes

The concept of chained filters can be compared to using pipes to connect command line utilities on an operating system command shell. For example, an input stream is passed to a processor, filtered, and then transferred to be output. Then, the output is passed as input to the next command, which is connected to the previous using the pipe operator.

Available filters:

  • Load balancing filters: random and roundrobin.
  • Selection filter: user.

Замечание: pick[] versus filters

The random and roundrobin filters replace the pick[] configuration directive found in mysqlnd_ms versions prior to 1.1.0-beta.

And the user filter replaces the mysqlnd_ms_set_user_pick_server() function, which was previously used for this purpose.

The random filter implements the 'random' and 'random once' load balancing policies. The 'round robin' load balancing can be configured through the roundrobin filter. Setting a 'user defined callback' for server selection is possible with the user filter.

Filters can accept parameters to change their behaviour. The random filter accepts an optional sticky parameter. If set to true, the filter changes load balancing from random to random once. Random picks a random server every time a statement is to be executed. Random once picks a random server when the first statement is to be executed and uses the same server for the rest of the PHP request.

One of the biggest strength of the filter concept is the possibility to chain filters. This strength does not become immediately visible with the filters provided by version 1.1.0-beta because all of the above filters are supposed to output no more than one server. If a filter reduces the list of candidates for running a statement to only one server, it makes little sense to use that one server as input for another filter for further reduction of the list of candidates.

A filter sequence that will fail:

  • Statement to be executed: SELECT 1 FROM DUAL. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes:slave_0, slave_1
  • Filter: random, argument sticky=1. Picks a random slave once to be used for the rest of the PHP request. Output: slave_0.
  • Output of slave_0 and the statement to be executed is passed as input to the next filter. Here: roundrobin, server list passed to filter is: slave_0.
  • Filter: roundrobin. Server list consists of one server only, round robin will always return the same server.
If trying to use such a filter sequence, the plugin may emit a warning like (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Furthermore, an appropriate error on the connection handle may be set.

Замечание: Speculation towards the future: MySQL replication filtering

In future versions, there may be filters which return more than one candidate for statement execution. For example, there may be a table filter to support MySQL replication filtering. This would allow you to define rules for which database or table is to be replicated to which node of a replication cluster. Assume your replication cluster consists of four slaves (slave_0, slave_1, slave_2, slave_3) two of which replicate a database named sales (slave_0, slave_1). If the application queries the database slaves, the hypothetical table filter reduces the list of possible servers to slave_0 and slave_1. Because the output and list of candidates consists of more than one server, it is necessary and possible to add additional filters to the candidate list, for example, using a load balancing filter to identify a server for statement execution.

A hypothetical filter sequence, assuming the existence of a table filter to support MySQL replication filtering (client-side partitioning).

  • Statement to be executed: SELECT col FROM sales.reports. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes: slave_0, slave_1, slave_2, slave_3
  • Filter: table, rules set for database sales. Output: slave_0, slave_1.
  • Output of slave_0, slave_1 and the statement to be executed is passed as input to the next filter, which is roundrobin.
  • Filter: roundrobin. Server list consists of two servers. Round robin selects slave_0. Upon subsequent execution, if the same server list is given as input, the filter will return slave_1 followed by slave_0, slave_1, slave_0 and so forth.

Замечание:

The example aims to illustrate the strength of the filter concept. It does not make any promises on future features.

Read-write splitting
Установка и настройка
Concepts


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Plugin configuration file (>=1.1.x)
  • Plugin configuration file (<= 1.0.x)
  • Testing
  • Debugging and Tracing
Filter
Требования
mysqlnd_ms


Требования

PHP 5.3.6 or newer.

The mysqlnd_ms replication and load balancing plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_ms plugin for mysqlnd.

Установка и настройка
Установка
Установка и настройка


Установка

Замечание:

The mysqlnd replication and load balancing plugin is in beta status.

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mysqlnd_ms

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mysqlnd_ms Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

mysqlnd_ms.enable integer

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_ms.force_config_usage integer

If enabled, the plugin checks if the host (server) parameters value of any MySQL connection attempt, matches a section name from the plugin configuration file. If not, the connection attempt is blocked.

mysqlnd_ms.ini_file string

Plugin specific configuration file.

mysqlnd_ms.collect_statistics integer

Enables or disables the collection of statistics. The collection of statistics is disabled by default for performance reasons. Statistics are returned by the function mysqlnd_ms_get_stats().

mysqlnd_ms.multi_master integer

Enables or disables support of MySQL multi master replication setups.

Предостережение

Experimental

This feature is experimental. It will not be documented before reasonable stability has been achieved. It is meant for development only.

mysqlnd_ms.disable_rw_split integer

Enables or disables built-in read write splitting.

Controls whether load balancing and lazy connection functionality can be used independently of read write splitting. If read write splitting is disabled, only servers from the master list will be used for statement execution. All configured slave servers will be ignored.

The SQL hint MYSQLND_MS_USE_SLAVE will not be recognized. If found, the statement will be redirected to a master.

Disabling read write splitting impacts the return value of mysqlnd_ms_query_is_select(). The function will no longer propose query execution on slave servers.

Замечание: Multiple master servers

Setting mysqlnd_ms.multi_master=1 allows the plugin to use multiple master servers, instead of only the first master server of the master list.

Установка
Plugin configuration file (>=1.1.x)
Установка и настройка


Plugin configuration file (>=1.1.x)

Замечание: Changelog: Feature was added in PECL/mysqlnd_ms 1.1.0-beta

The below description applies to PECL/mysqlnd_ms >= 1.1.0-beta. It is not valid for prior versions.

The plugin uses its own configuration file. The configuration file holds information about the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy, and the use of lazy connections.

The PHP configuration directive mysqlnd_ms.ini_file is used to set the plugins configuration file.

Using and parsing JSON is efficient, and using JSON makes it easier to express hierarchical data structures than the standard php.ini format.

Пример #1 Converting a PHP array (hash) into JSON format

Or alternatively, a developer may be more familiar with the PHP array syntax, and prefer it. This example demonstrates how a developer might convert a PHP array to JSON.

<?php
$config = array(
  "myapp" => array(
    "master" => array(
      "master_0" => array(
        "host"   => "localhost",
        "socket" => "/tmp/mysql.sock",
      ),
    ),
    "slave" => array(),
  ),
);

file_put_contents("mysqlnd_ms.ini", json_encode($config, JSON_PRETTY_PRINT));
printf("mysqlnd_ms.ini file created...\n");
printf("Dumping file contents...\n");
printf("%s\n", str_repeat("-", 80));
echo file_get_contents("mysqlnd_ms.ini");
printf("\n%s\n", str_repeat("-", 80));
?>

Результат выполнения данного примера:

mysqlnd_ms.ini file created...
Dumping file contents...
--------------------------------------------------------------------------------
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": [

        ]
    }
}
--------------------------------------------------------------------------------

A plugin configuration file consists of one or more sections. Sections are represented by the top-level object properties of the object encoded in the JSON file. Sections could also be called configuration names.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect, the mysqlnd plugin compares the hostname with all of the section names from the plugin configuration file. If the hostname and section name match, then the plugin will load the settings for that section.

Пример #2 Using section names example

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27"
            },
            "slave_1": {
                "host": "192.168.2.27",
                "port": 3306
            }
        }
    },
    "localhost": {
        "master": [
            {
                "host": "localhost",
                "socket": "\/path\/to\/mysql.sock"
            }
        ],
        "slave": [
            {
                "host": "192.168.3.24",
                "port": "3305"
            },
            {
                "host": "192.168.3.65",
                "port": "3309"
            }
        ]
    }
}
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section localhost exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost, but the plugin will start to load balance MySQL queries following the rules from the localhost configuration section. This way you can load balance queries from an application without changing the applications source code. Please keep in mind, that such a configuration may not contribute to overall readability of your applications source code. Using section names that can be mixed up with host names should be seen as a last resort.

Each configuration section contains, at a minimum, a list of master servers and a list of slave servers. The master list is configured with the keyword master, while the slave list is configured with the slave keyword. Failing to provide a slave list will result in a fatal E_WRROR level error, although a slave list may be empty.

The master and slave server lists can be optionally indexed by symbolic names for the servers they describe. Alternatively, an array of descriptions for slave and master servers may be used.

Пример #3 List of anonymous slaves

"slave": [
    {
        "host": "192.168.3.24",
        "port": "3305"
    },
    {
        "host": "192.168.3.65",
        "port": "3309"
    }
]

An anonymous server list is encoded by the JSON array type. Optionally, symbolic names may be used for indexing the slave or master servers of a server list, and done so using the JSON object type.

Пример #4 Master list using symbolic names

"master": {
    "master_0": {
        "host": "localhost"
    }
}

It is recommended to index the server lists with symbolic server names. The alias names will be shown in error messages.

The order of servers is preserved and taken into account by mysqlnd_ms. If, for example, you configure round robin load balancing strategy, the first SELECT statement will be executed on the slave that appears first in the slave server list.

A configured server can be described with the host, port, socket, db, user, password and connect_flags. It is mandatory to set the database server host using the host keyword. All other settings are optional.

Пример #5 Keywords to configure a server

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket",
                "db": "database_resp_schema",
                "user": "user",
                "password": "password",
                "connect_flags": 0
            }
        },
        "slave": {
            "slave_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket"
            }
        }
    }
}

If a setting is omitted, the plugin will use the value provided by the user API call used to open a connection. Please, see the using section names example above.

The configuration file format has been changed in version 1.1.0-beta to allow for chained filters. Filters are responsible for filtering the configured list of servers to identify a server for execution of a given statement. Filters are configured with the filter keyword. Filters are executed by mysqlnd_ms in the order of their appearance. Defining filters is optional. A configuration section in the plugins configuration file does not need to have a filters entry.

Filters replace the pick[] setting from prior versions. The new random and roundrobin provide the same functionality.

Пример #6 New roundrobin filter, old functionality

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

The function mysqlnd_ms_set_user_pick_server() has been removed. Setting a callback is now done with the user filter. Some filters accept parameters. The user filter requires and accepts a mandatory callback parameter to set the callback previously set through the function mysqlnd_ms_set_user_pick_server().

Пример #7 The user filter replaces mysqlnd_ms_set_user_pick_server()

"filters": {
    "user": {
        "callback": "pick_server"
    }
}

Here is a short explanation of the configuration directives that can be used.

master array or object

List of MySQL replication master servers. The list of either of the JSON type array to declare an anonymous list of servers or of the JSON type object. Please, see above for examples.

Setting at least one master server is mandatory. The plugin will issue an error of type E_ERROR if the user has failed to provide a master server list for a configuration section. The fatal error may read (mysqlnd_ms) Section [master] doesn't exist for host [name_of_a_config_section] in %s on line %d.

A server is described with the host, port, socket, db, user, password and connect_flags. It is mandatory to provide at a value for host. If any of the other values is not given, it will be taken from the user API connect call, please, see also: using section names example.

Table of server configuration keywords.

Keyword Description Version
host

Database server host. This is a mandatory setting. Failing to provide, will cause an error of type E_RECOVERABLE_ERROR when the plugin tries to connect to the server. The error message may read (mysqlnd_ms) Cannot find [host] in [%s] section in config in %s on line %d.

Since 1.1.0.
port

Database server TCP/IP port.

Since 1.1.0.
socket

Database server Unix domain socket.

Since 1.1.0.
db

Database (schemata).

Since 1.1.0.
user

MySQL database user.

Since 1.1.0.
password

MySQL database user password.

Since 1.1.0.
connect_flags

Connection flags.

Since 1.1.0.

The plugin supports using only one master server. An experimental setting exists to enable multi-master support. The details are not documented. The setting is meant for development only.

slave array or object

List of one or more MySQL replication slave servers. The syntax is identical to setting master servers, please, see master above for details.

The plugin supports using one or more slave servers.

Setting a list of slave servers is mandatory. The plugin will report an error of the type E_ERROR if slave is not given for a configuration section. The fatal error message may read (mysqlnd_ms) Section [slave] doesn't exist for host [%s] in %s on line %d. Note, that it is valid to use an empty slave server list. The error has been introduced to prevent accidently setting no slaves by forgetting about the slave setting. A master-only setup is still possible using an empty slave server list.

If an empty slave list is configured and an attempt is made to execute a statement on a slave the plugin may emit a warning like mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. upon statement execution. It is possible that another warning follows such as (mysqlnd_ms) No connection selected by the last filter.

filters object

List of filters. A filter is responsible to filter the list of available servers for executing a given statement. Filters can be chained. The random and roundrobin filter replace the pick[] directive used in prior version to select a load balancing policy. The user filter replaces the mysqlnd_ms_set_user_pick_server() function.

Filters may accept parameters to refine their actions.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends. No load balancing policy is set and thus, defaulting takes place, if neither the random nor the roundrobin are part of a configuration section.

If a filter chain is configured so that a filter which output no more than once server is used as input for a filter which should be given more than one server as input, the plugin may emit a warning upon opening a connection. The warning may read: (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Futhermore an error of the error code 2000, the sql state HY000 and an error message similar to the warning may be set on the connection handle.

Пример #8 Invalid filter sequence

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin",
            "random"
        ]
    }
}
<?php
$link = new mysqli("myapp", "root", "", "test");
printf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
$link->query("SELECT 1 FROM DUAL");
?>

Результат выполнения данного примера:

PHP Warning:  mysqli::mysqli(): (HY000/2000): (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping in filter_warning.php on line 1
[2000] (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in filter_warning.php on line 3

Filter: random object

The random filter features the random and random once load balancing policies, set through the pick[] directive in older versions.

The random policy will pick a random server whenever a read-only statement is to be executed. The random once strategy picks a random slave server once and continues using the slave for the rest of the PHP web request. Random once is a default, if load balancing is not configured through a filter.

If the random filter is not given any arguments, it stands for random load balancing policy.

Пример #9 Random load balancing with random filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": [
            "random"
        ]
    }
}

Optionally, the sticky argument can be passed to the filter. If the parameter sticky is set to the string 1, the filter follows the random once load balancing strategy.

Пример #10 Random once load balancing with random filter

{
    "filters": {
        "random": {
            "sticky": "1"
        }
    }
}

Unknown arguments are ignored. No warning or error is given.

Expects one or more servers as input. Outputs one server. A filter sequence such as random, roundrobin may cause a warning and an error message to be set on the connection handle when executing a statement.

Filter: roundrobin object

If using the roundrobin filter, the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Пример #11 roundrobin filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin"
        ]
    }
}

Expects one or more servers as input. Outputs one server. A filter sequence such as roundrobin, random may cause a warning and an error message to be set on the connection handle when executing a statement.

Filter: user object

The user replaces mysqlnd_ms_set_user_pick_server() function, which was removed in 1.1.0-beta. The filter sets a callback for user-defined read/write splitting and server selection.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend a query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback choses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Пример #12 Setting a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}

The callback is supposed to return a host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will emit an error of the type E_RECOVERABLE_ERROR The error may read like (mysqlnd_ms) User filter callback has returned an unknown server. The server 'server that is not in master or slave list' can neither be found in the master list nor in the slave list. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) No connection selected by the last filter with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

Referencing a non-existing function as a callback will result in any error of the type E_RECOVERABLE_ERROR whenever the plugin tries to callback function. The error message may reads like: (mysqlnd_ms) Specified callback (pick_server) is not a valid callback. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) Specified callback (pick_server) is not a valid callback with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

The following parameters are passed from the plugin to the callback.

Parameter Description Version
connected_host

URI of the currently connected database server.

Since 1.1.0.
query

Query string of the statement for which a server needs to be picked.

Since 1.1.0.
masters

List of master servers to choose from. Note, that the list of master servers may not be identical to the list of configured master servers if the filter is not the first in the filter chain. Previously run filters may have reduced the master list already.

Since 1.1.0.
slaves

List of slave servers to choose from. Note, that the list of master servers may not be identical to the list of configured master servers if the filter is not the first in the filter chain. Previously run filters may have reduced the master list already.

Since 1.1.0.
last_used_connection

URI of the server of the connection used to execute the previous statement on.

Since 1.1.0.
in_transaction

Boolean flag indicating wheter the statement is part of an open transaction. If autocommit mode is turned off, this will be set to TRUE. Otherwise it is set to FALSE.

Transaction detection is based on monitoring the mysqlnd library call set_autocommit. Monitoring is not possible beofre PHP 5.4.0. Please, see connection pooling and switching concepts discussion for further details.

Since 1.1.0.

Пример #13 Using a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}
<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $masters[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used_connection;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

$mysqli = new mysqli("myapp", "root", "", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

Результат выполнения данного примера:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

failover string

Failover policy. Supported policies: disabled (default), master.

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

If using failover=master the plugin will implicitly failover to a slave, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

Пример #14 Optional master failover when failing to connect to slave

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": "master"
    }
}

Setting failover to any other value but disabled or master will not emit any warning or error.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Lazy connections are a default.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. Only some settings are "remembered" and applied when lazy connections are opened.

Пример #15 Disabling lazy connection

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 0
    }
}

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

Пример #16 Master on write for consistent reads

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "master_on_write": 1
    }
}

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

Experimental feature.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries set_autocommit() function. If setting set_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call set_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call set_autocommit() is mysqli_autocommit().

Although setting ser_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0.

Пример #17 Using master to execute transactions

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Настройка во время выполнения
Plugin configuration file (<= 1.0.x)
Установка и настройка


Plugin configuration file (<= 1.0.x)

Замечание:

The below description applies to PECL/mysqlnd_ms < 1.1.0-beta. It is not valid for later versions.

The plugin is using its own configuration file. The configuration file holds information on the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy and the use of lazy connections.

The PHP configuration directive mysqlnd_ms.ini_file is used to set the plugins configuration file.

The configuration file mimics standard the php.ini format. It consists of one or more sections. Every section defines its own unit of settings. There is no global section for setting defaults.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect the mysqlnd plugin compares the hostname with all section names from the plugin configuration file. If hostname and section name match, the plugin will load the sections settings.

Пример #1 Using section names example

[myapp]
master[] = localhost
slave[] = 192.168.2.27
slave[] = 192.168.2.28:3306
[localhost]
master[] = localhost:/tmp/mysql/mysql.sock
slave[] = 192.168.3.24:3305
slave[] = 192.168.3.65:3309
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section [localhost] exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost but the plugin will start to load balance MySQL queries following the rules from the [localhost] configuration section. This way you can load balance queries from an application without changing the applications source code.

The master[], slave[] and pick[] configuration directives use a list-like syntax. Configuration directives supporting list-like syntax may appear multiple times in a configuration section. The plugin maintains the order in which entries appear when interpreting them. For example, the below example shows two slave[] configuration directives in the configuration section [myapp]. If doing round-robin load balancing for read-only queries, the plugin will send the first read-only query to the MySQL server mysql_slave_1 because it is the first in the list. The second read-only query will be send to the MySQL server mysql_slave_2 because it is the second in the list. Configuration directives supporting list-like syntax result are ordered from top to bottom in accordance to their appearance within a configuration section.

Пример #2 List-like syntax

[myapp]
master[] = mysql_master_server
slave[] = mysql_slave_1
slave[] = mysql_slave_2

Here is a short explanation of the configuration directives that can be used.

master[] string

URI of a MySQL replication master server. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using only one master server.

Setting a master server is mandatory. The plugin will report a warning upon connect if the user has failed to provide a master server for a configuration section. The warning may read (mysqlnd_ms) Cannot find master section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

slave[] string

URI of one or more MySQL replication slave servers. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using one or more slave servers.

Setting a slave server is mandatory. The plugin will report a warning upon connect if the user has failed to provide at least one slave server for a configuration section. The warning may read (mysqlnd_ms) Cannot find slaves section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

pick[] string

Load balancing (server picking) policy. Supported policies: random, random_once (default), roundrobin, user.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends.

The random policy will pick a random server whenever a read-only statement is to be executed.

If using roundrobin the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Setting more than one load balancing policy for a configuration section makes only sense in conjunction with user and mysqlnd_ms_set_user_pick_server(). If the user defined callback fails to pick a server, the plugin falls back to the second configured load balancing policy.

failover string

Failover policy. Supported policies: disabled (default), master.

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

If using failover=master the plugin will implicitly failover to a slave, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. If, for example, the connection character set is changed using a PHP MySQL API call, the plugin will change the character set of all currently opened connection. It will not remember the character set change to apply it on lazy connections opened in the future. As a result the internal connection pool would hold connections using different character sets. This is not desired. Remember that character sets are taken into account for escaping.

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

Experimental feature.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries trx_autocommit() function. If setting trx_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call trx_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call trx_autocommit() is mysqli_autocommit().

Although setting trx_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0.

Plugin configuration file (>=1.1.x)
Testing
Установка и настройка


Testing

Замечание:

The section applies to myslqnd_ms 1.1.0 or newer, not the 1.0 series.

The PECL/mysqlnd_ms test suite is in the tests/ directory of the source distribution. The test suite consists of standard phpt tests, which are described on the PHP Quality Assurance Teams website.

Before running the tests, edit tests/config.inc to configure the MySQL servers to be used for testing. You will need at least one MySQL server to run the tests. However, configuring two distinct MySQL servers is better. If two distinct servers are configured, the tests can use one of them as a logical master and the other one as a logical slave. Those two servers do not need to be part of a MySQL replication cluster. Tests are written in a way that they can be successfully executed without having to setup a MySQL replication cluster. If two servers are configured they must allow login to a test database using the same username and password on both servers.

The most basic configuration is as follows.

 putenv("MYSQL_TEST_HOST=localhost");
 putenv("MYSQL_TEST_PORT=3306");
 putenv("MYSQL_TEST_USER=root");
 putenv("MYSQL_TEST_PASSWD=");
 putenv("MYSQL_TEST_DB=test");
 putenv("MYSQL_TEST_ENGINE=MyISAM");
 putenv("MYSQL_TEST_SOCKET=");

 putenv("MYSQL_TEST_SKIP_CONNECT_FAILURE=1");
 putenv("MYSQL_TEST_CONNECT_FLAGS=0");
 putenv("MYSQL_TEST_EXPERIMENTAL=0");

 putenv("MYSQL_TEST_MASTER_HOST=". getenv("MYSQL_TEST_HOST"));
 putenv("MYSQL_TEST_SLAVE_HOST=". getenv("MYSQL_TEST_HOST"));

MYSQL_TEST_HOST, MYSQL_TEST_PORT and MYSQL_TEST_SOCKET define the hostname, TCP/IP port and Unix domain socket of the default database server. MYSQL_TEST_USER and MYSQL_TEST_PASSWD contain the user and password needed to connect to the database/schema configured with MYSQL_TEST_DB. If using two distinct servers, a logical master and a logical slave server, both of them must have the same database user configured to give access to the test database.

Some tests require availability of two distinct MySQL test servers. Those tests will be skipped, if only one server is configured. To configure a logical slave server that runs on a different host and/or listens to a different port or socket than the default server, set MYSQL_TEST_SLAVE_HOST. Using host, host:port or host:/path/to/socket syntax for MYSQL_TEST_SLAVE_HOST you can set an alternate host, host and port or host and socket for the logical slave host. The same syntax can be used to set MYSQL_TEST_MASTER_HOST.

putenv("MYSQL_TEST_SLAVE_HOST=192.168.78.136:3307"));
putenv("MYSQL_TEST_SLAVE_HOST=myserver_hostname:/path/to/socket"));

Plugin configuration file (<= 1.0.x)
Debugging and Tracing
Установка и настройка


Debugging and Tracing

The mysqlnd debug log can be used to debug and trace the actitivities of PECL/mysqlnd_ms. As a mysqlnd PECL/mysqlnd_ms adds trace information to the mysqlnd library debug file. Please, see the mysqlnd.debug PHP configuration directive documentation for a detailed description on how to configure the debug log.

Configuration setting example to activate the debug log:

mysqlnd.debug=d:t:x:O,/tmp/mysqlnd.trace

Замечание:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

The debug log shows mysqlnd library and PECL/mysqlnd_ms plugin function calls, similar to a trace log. Mysqlnd library calls are usually prefixed with mysqlnd_. PECL/mysqlnd internal calls begin with mysqlnd_ms.

Example excerpt from the debug log (connect):

[...]
>mysqlnd_connect
| info : host=myapp user=root db=test port=3306 flags=131072
| >mysqlnd_ms::connect
| | >mysqlnd_ms_config_json_section_exists
| | | info : section=[myapp] len=[5]
| | | >mysqlnd_ms_config_json_sub_section_exists
| | | | info : section=[myapp] len=[5]
| | | | info : ret=1
| | | <mysqlnd_ms_config_json_sub_section_exists
| | | info : ret=1
| | <mysqlnd_ms_config_json_section_exists
[...]

The debug log is not only useful for plugin developers but also to find the cause of user errors. For example, if your application does not do proper error handling and fails to record error messages, checking the debug and trace log may help finding the cause. Use of the debug log to debug application issues should be considered only if no other option is available. Writing the debug log to disk is a slow operation and may have negative impact on the application performance.

Example excerpt from the debug log (connection failure):

[...]
| | | | | | | info : adding error [Access denied for user 'root'@'localhost' (using password: YES)] to the list
| | | | | | | info : PACKET_FREE(0)
| | | | | | | info : PACKET_FREE(0x7f3ef6323f50)
| | | | | | | info : PACKET_FREE(0x7f3ef6324080)
| | | | | | <mysqlnd_auth_handshake
| | | | | | info : switch_to_auth_protocol=n/a
| | | | | | info : conn->error_info.error_no = 1045
| | | | | <mysqlnd_connect_run_authentication
| | | | | info : PACKET_FREE(0x7f3ef63236d8)
| | | | | >mysqlnd_conn::free_contents
| | | | | | >mysqlnd_net::free_contents
| | | | | | <mysqlnd_net::free_contents
| | | | | | info : Freeing memory of members
| | | | | | info : scheme=unix:///tmp/mysql.sock
| | | | | | >mysqlnd_error_list_pdtor
| | | | | | <mysqlnd_error_list_pdtor
| | | | | <mysqlnd_conn::free_contents
| | | | <mysqlnd_conn::connect
[...]

The trace log can also be used to verify correct behaviour of PECL/mysqlnd_ms itself, for example, to check which server has been selected for query execution and why.

Example excerpt from the debug log (plugin decision):

[...]
>mysqlnd_ms::query
| info : query=DROP TABLE IF EXISTS test
| >_mysqlnd_plugin_get_plugin_connection_data
| | info : plugin_id=5
| <_mysqlnd_plugin_get_plugin_connection_data
| >mysqlnd_ms_pick_server_ex
| | info : conn_data=0x7fb6a7d3e5a0 *conn_data=0x7fb6a7d410d0
| | >mysqlnd_ms_select_servers_all
| | <mysqlnd_ms_select_servers_all
| | >mysqlnd_ms_choose_connection_rr
| | | >mysqlnd_ms_query_is_select
[...]
| | | <mysqlnd_ms_query_is_select
[...]
| | | info : Init the master context
| | | info : list(0x7fb6a7d3f598) has 1
| | | info : Using master connection
| | | >mysqlnd_ms_advanced_connect
| | | | >mysqlnd_conn::connect
| | | | | info : host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0

In this case the statement DROP TABLE IF EXISTS test has been executed. Note that the statement string is shown in the log file. You may want to take measures to restrict access to the log for security considerations.

The statement has been load balanced using round robin policy, as you can easily guess from the functions name >mysqlnd_ms_choose_connection_rr. It has been sent to a master server running on host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0.

Testing
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SQL hint related

The mysqlnd replication and load balancing plugin (mysqlnd_ms) performs read/write splitting. This directs write queries to a MySQL master server, and read-only queries to the MySQL slave servers. The plugin has a built-in read/write split logic. All queries which start with SELECT are considered read-only queries, which are then sent to a MySQL slave server that is listed in the plugin configuration file. All other queries are directed to the MySQL master server that is also specified in the plugin configuration file.

User supplied SQL hints can be used to overrule automatic read/write splitting, to gain full control on the process. SQL hints are standards compliant SQL comments. The plugin will scan the beginning of a query string for an SQL comment for certain commands, which then control query redirection. Other systems involved in the query processing are unaffected by the SQL hints because other systems will ignore the SQL comments.

The plugin supports three SQL hints to direct queries to either the MySQL slave servers, the MySQL master server, or the last used MySQL server. SQL hints must be placed at the beginning of a query to be recognized by the plugin.

For better portability, it is recommended to use the string constants MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of their literal values.

<?php
/* Use constants for maximum portability */
$master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: using literal instead of constant */
$slave_query = "/*ms=slave*/SHOW TABLES";

printf("master_query = '%s'\n", $master_query);
printf("slave_query = '%s'\n", $slave_query);
?>

Результат выполнения данных примеров:

master_query = /*ms=master*/SELECT id FROM test
slave_query = /*ms=slave*/SHOW TABLES

MYSQLND_MS_MASTER_SWITCH (string)
SQL hint used to send a query to the MySQL replication master server.
MYSQLND_MS_SLAVE_SWITCH (string)
SQL hint used to send a query to one of the MySQL replication slave servers.
MYSQLND_MS_LAST_USED_SWITCH (string)
SQL hint used to send a query to the last used MySQL server. The last used MySQL server can either be a master or a slave server in a MySQL replication setup.

mysqlnd_ms_is_select() related

MYSQLND_MS_QUERY_USE_MASTER (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_MASTER for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication master server.
MYSQLND_MS_QUERY_USE_SLAVE (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_SLAVE for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication slave server.
MYSQLND_MS_QUERY_USE_LAST_USED (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_LAST_USED for a given query, the built-in read/write split mechanism recommends sending the query to the last used server.

Other

The plugins version number can be obtained using MYSQLND_MS_VERSION or MYSQLND_MS_VERSION_ID. MYSQLND_MS_VERSION is the string representation of the numerical version number MYSQLND_MS_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MS_VERSION_ID | 10000

MYSQLND_MS_VERSION (string)
Plugin version string, for example, "1.0.0-prototype".
MYSQLND_MS_VERSION_ID (integer)
Plugin version number, for example, 10000.

Debugging and Tracing
Mysqlnd_ms Функции
mysqlnd_ms


Mysqlnd_ms Функции

Содержание

  • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
  • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
  • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
  • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
  • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
Предопределенные константы
mysqlnd_ms_get_last_used_connection
mysqlnd_ms


Returns an array which describes the last used connection

Mysqlnd_ms Функции
mysqlnd_ms_get_stats
Mysqlnd_ms Функции
PHP Manual

mysqlnd_ms_get_last_used_connection

(PHP >= 5.4.0, PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection

Описание

array mysqlnd_ms_get_last_used_connection ( mixed $connection )

Returns an array which describes the last used connection from the plugins connection pool currently pointed to by the user connection handle. If using the plugin, a user connection handle represents a pool of database connections. It is not possible to tell from the user connection handles properties to which database server from the pool the user connection handle points.

The function can be used to debug or monitor PECL mysqlnd_ms.

Список параметров

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Возвращаемые значения

FALSE on error. Otherwise, an array which describes the connection used to execute the last statement on.

Array which describes the connection.

Property | Description | Version
scheme | Connection scheme. Either tcp://host:port or unix://host:socket. If you want to distinguish connections from each other use a combination of scheme and thread_id as a unique key. Neither scheme nor thread_id alone are sufficient to distinguish two connections from each other. Two servers may assign the same thread_id to two different connections. Thus, connections in the pool may have the same thread_id. Also, do not rely on uniqueness of scheme in a pool. Your QA engineers may use the same MySQL server instance for two distinct logical roles and add it multiple times to the pool. This hack is used, for example, in the test suite. | Since 1.1.0.
host | Database server host used with the connection. The host is only set with TCP/IP connections. It is empty with Unix domain or Windows named pipe connections, | Since 1.1.0.
host_info | A character string representing the server hostname and the connection type. | Since 1.1.2.
port | Database server port used with the connection. | Since 1.1.0.
socket_or_pipe | Unix domain socket or Windows named pipe used with the connection. The value is empty for TCP/IP connections. | Since 1.1.2.
thread_id | Connection thread id. | Since 1.1.0.
last_message | Info message obtained from the MySQL C API function mysql_info(). Pleae, see mysqli_info() for a description. | Since 1.1.0.
errno | Error code. | Since 1.1.0.
error | Error message. | Since 1.1.0.
sqlstate | Error SQLstate code. | Since 1.1.0.

Примечания

Замечание:

mysqlnd_ms_get_last_used_connection() requires PHP >= 5.4.0 and PECL mysqlnd_ms >> 1.1.0. Internally, it is using a mysqlnd library C call not available with PHP 5.3.

Примеры

The example assumes that myapp refers to a plugin configuration file section and represents a connection pool.

Пример #1 mysqlnd_ms_get_last_used_connection() example

<?php
$link = new mysqli("myapp", "user", "password", "database");
$res = $link->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($link));
?>

Результат выполнения данного примера:

array(10) {
  ["scheme"]=>
  string(22) "unix:///tmp/mysql.sock"
  ["host_info"]=>
  string(25) "Localhost via UNIX socket"
  ["host"]=>
  string(0) ""
  ["port"]=>
  int(3306)
  ["socket_or_pipe"]=>
  string(15) "/tmp/mysql.sock"
  ["thread_id"]=>
  int(46253)
  ["last_message"]=>
  string(0) ""
  ["errno"]=>
  int(0)
  ["error"]=>
  string(0) ""
  ["sqlstate"]=>
  string(5) "00000"
}

Mysqlnd_ms Функции
mysqlnd_ms_get_stats
Mysqlnd_ms Функции


Returns query distribution and connection statistics

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Mysqlnd_ms Функции
PHP Manual

mysqlnd_ms_get_stats

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_get_stats — Returns query distribution and connection statistics

Описание

array mysqlnd_ms_get_stats ( void )

Returns an array of statistics collected by the replication and load balancing plugin.

The PHP configuration setting mysqlnd_ms.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons.

The scope of the statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all connections. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns NULL if the PHP configuration directive mysqlnd_ms.enable has disabled the plugin. Otherwise, returns array of statistics.

Array of statistics

Statistic | Description | Version
use_slave

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of slave nor statements directed to a slave by an user-defined callback are included. The total number of statements sent to the slaves is use_slave + use_slave_sql_hint + use_slave_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statictics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the satement, whichs increments use_slave, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the slaves. Statements directed to a slave by the user filter (an user-defined callback) are not included. The latter are counted by use_slave_callback.

Since 1.0.0.
use_master

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements not considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of master nor statements directed to a master by an user-defined callback are included. The total number of statements sent to the master is use_master + use_master_sql_hint + use_master_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statictics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the satement, whichs increments use_master, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the masters. Statements directed to a master by the user filter (an user-defined callback) are not included. The latter are counted by use_master_callback.

Since 1.0.0.
use_slave_guess | Number of statements the built-in query analyzer recommends sending to a slave because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be excuted on a slave or not. This is how often the internal is_select function has guessed that a slave shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_master_guess | Number of statements the built-in query analyzer recommends sending to a master because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be excuted on a slave or not. This is how often the internal is_select function has guessed that a master shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_slave_sql_hint | Number of statements sent to a slave because statement begins with the SQL hint to force use of slave. | Since 1.0.0.
use_master_sql_hint | Number of statements sent to a master because statement begins with the SQL hint to force use of master. | Since 1.0.0.
use_last_used_sql_hint | Number of statements sent to server which has run the previous statement, because statement begins with the SQL hint to force use of previously used server. | Since 1.0.0.
use_slave_callback | Number of statements sent to a slave because an user-defined callback has chosen a slave server for statement execution. | Since 1.0.0.
use_master_callback | Number of statements sent to a master because an user-defined callback has chosen a master server for statement execution. | Since 1.0.0.
non_lazy_connections_slave_success | Number of successfully opened slave connections from configurations not using lazy connections. The total number of successfully opened slave connections is non_lazy_connections_slave_success + lazy_connections_slave_success | Since 1.0.0.
non_lazy_connections_slave_failure | Number of failed slave connection attempts from configurations not using lazy connections. The total number of failed slave connection attempts is non_lazy_connections_slave_failure + lazy_connections_slave_failure | Since 1.0.0.
non_lazy_connections_master_success | Number of successfully opened master connections from configurations not using lazy connections. The total number of successfully opened master connections is non_lazy_connections_master_success + lazy_connections_master_success | Since 1.0.0.
non_lazy_connections_master_failure | Number of failed master connection attempts from configurations not using lazy connections. The total number of failed master connection attempts is non_lazy_connections_master_failure + lazy_connections_master_failure | Since 1.0.0.
lazy_connections_slave_success | Number of successfully opened slave connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_slave_failure | Number of failed slave connection attempts from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_success | Number of successfully opened master connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_failure | Number of failed master connection attempts from configurations using lazy connections. | Since 1.0.0.
trx_autocommit_on | Number of autocommit mode activations via API calls. This figure may be used to monitor activity related to the plugin configuration setting trx_stickiness. If, for example, you want to know if a certain API call invokes the mysqlnd library function trx_autocommit(), which is a requirement for trx_stickiness, you may call the user API function in question and check if the statistic has changed. The statistic is modified only by the plugins internal subclassed trx_autocommit() method. | Since 1.0.0.
trx_autocommit_off | Number of autocommit mode deactivations via API calls. | Since 1.0.0.
trx_master_forced | Number of statemens redirected to the master while trx_stickiness=master and autocommit mode is disabled. | Since 1.0.0.

Примеры

Пример #1 mysqlnd_ms_get_stats() example

<?php
printf("mysqlnd_ms.enable = %d\n", ini_get("mysqlnd_ms.enable"));
printf("mysqlnd_ms.collect_statistics = %d\n", ini_get("mysqlnd_ms.collect_statistics"));
var_dump(mysqlnd_ms_get_stats());
?>

Результат выполнения данного примера:

mysqlnd_ms.enable = 1
mysqlnd_ms.collect_statistics = 1
array(20) {
  ["use_slave"]=>
  string(1) "0"
  ["use_master"]=>
  string(1) "0"
  ["use_slave_guess"]=>
  string(1) "0"
  ["use_master_guess"]=>
  string(1) "0"
  ["use_slave_sql_hint"]=>
  string(1) "0"
  ["use_master_sql_hint"]=>
  string(1) "0"
  ["use_last_used_sql_hint"]=>
  string(1) "0"
  ["use_slave_callback"]=>
  string(1) "0"
  ["use_master_callback"]=>
  string(1) "0"
  ["non_lazy_connections_slave_success"]=>
  string(1) "0"
  ["non_lazy_connections_slave_failure"]=>
  string(1) "0"
  ["non_lazy_connections_master_success"]=>
  string(1) "0"
  ["non_lazy_connections_master_failure"]=>
  string(1) "0"
  ["lazy_connections_slave_success"]=>
  string(1) "0"
  ["lazy_connections_slave_failure"]=>
  string(1) "0"
  ["lazy_connections_master_success"]=>
  string(1) "0"
  ["lazy_connections_master_failure"]=>
  string(1) "0"
  ["trx_autocommit_on"]=>
  string(1) "0"
  ["trx_autocommit_off"]=>
  string(1) "0"
  ["trx_master_forced"]=>
  string(1) "0"
}

Смотрите также

  • Runtime configuration
  • mysqlnd_ms.collect_statistics
  • mysqlnd_ms.enable

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Mysqlnd_ms Функции


Finds whether a table name matches a wildcard pattern or not

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Mysqlnd_ms Функции
PHP Manual

mysqlnd_ms_match_wild

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not

Описание

bool mysqlnd_ms_match_wild ( string $table_name , string $wildcard )

Finds whether a table name matches a wildcard pattern or not.

This function is not of much practical relevance with PECL mysqlnd_ms 1.1.0 because the plugin does not support MySQL replication table filtering yet.

Список параметров

table_name

The table name to check if it is matched by the wildcard.

wildcard

The wildcard pattern to check against the table name. The wildcard pattern supports the same placeholders as MySQL replication filters do.

MySQL replication filters can be configured by using the MySQL Server configuration options --replicate-wild-do-table and --replicate-wild-do-db. Please, consult the MySQL Reference Manual to learn more about this MySQL Server feature.

The supported placeholders are:

  • % - zero or more literals
  • % - one literal

Placeholders can be escaped using \.

Возвращаемые значения

Returns TRUE table_name is matched by wildcard. Otherwise, returns FALSE

Примеры

Пример #1 mysqlnd_ms_match_wild() example

<?php
var_dump(mysqlnd_ms_match_wild("schema_name.table_name", "schema%"));
var_dump(mysqlnd_ms_match_wild("abc", "_"));
var_dump(mysqlnd_ms_match_wild("table1", "table_"));
var_dump(mysqlnd_ms_match_wild("asia_customers", "%customers"));
var_dump(mysqlnd_ms_match_wild("funny%table","funny\%table"));
var_dump(mysqlnd_ms_match_wild("funnytable", "funny%table"));
?>

Результат выполнения данного примера:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Mysqlnd_ms Функции


Find whether to send the query to the master, the slave or the last used MySQL server

mysqlnd_ms_match_wild
mysqlnd_ms_set_user_pick_server
Mysqlnd_ms Функции
PHP Manual

mysqlnd_ms_query_is_select

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server

Описание

int mysqlnd_ms_query_is_select ( string $query )

Finds whether to send the query to the master, the slave or the last used MySQL server.

The plugins built-in read/write split mechanism will be used to analyze the query string to make a recommendation where to send the query. The built-in read/write split mechanism is very basic and simple. The plugin will recommend sending all queries to the MySQL replication master server but those which begin with SELECT, or begin with a SQL hint which enforces sending the query to a slave server. Due to the basic but fast algorithm the plugin may propose to run some read-only statements such as SHOW TABLES on the replication master.

Список параметров

query

Query string to test.

Возвращаемые значения

A return value of MYSQLND_MS_QUERY_USE_MASTER indicates that the query should be send to the MySQL replication master server. The function returns a value of MYSQLND_MS_QUERY_USE_SLAVE if the query can be run on a slave because it is considered read-only. A value of MYSQLND_MS_QUERY_USE_LAST_USED is returned to recommend running the query on the last used server. This can either be a MySQL replication master server or a MySQL replication slave server.

If read write splitting has been disabled by setting mysqlnd_ms.disable_rw_split, the fucntion will always return MYSQLND_MS_QUERY_USE_MASTER or MYSQLND_MS_QUERY_USE_LAST_USED.

Примеры

Пример #1 mysqlnd_ms_query_is_select() example

<?php
function is_select($query)
{
 switch (mysqlnd_ms_query_is_select($query))
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("'%s' should be run on the master.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   printf("'%s' should be run on a slave.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_LAST_USED:
   printf("'%s' should be run on the server that has run the previous query\n", $query);
   break;
  default:
   printf("No suggestion where to run the '%s', fallback to master recommended\n", $query);
   break;
 }
}

is_select("INSERT INTO test(id) VALUES (1)");
is_select("SELECT 1 FROM DUAL");
is_select("/*" . MYSQLND_MS_LAST_USED_SWITCH . "*/SELECT 2 FROM DUAL");
?>

Результат выполнения данного примера:

INSERT INTO test(id) VALUES (1) should be run on the master.
SELECT 1 FROM DUAL should be run on a slave.
/*ms=last_used*/SELECT 2 FROM DUAL should be run on the server that has run the previous query

Смотрите также

  • Predefined Constants
  • user filter
  • Runtime configuration
  • mysqlnd_ms.disable_rw_split
  • mysqlnd_ms.enable

mysqlnd_ms_match_wild
mysqlnd_ms_set_user_pick_server
Mysqlnd_ms Функции


Sets a callback for user-defined read/write splitting

mysqlnd_ms_query_is_select
Change History
Mysqlnd_ms Функции
PHP Manual

mysqlnd_ms_set_user_pick_server

(PECL mysqlnd_ms < 1.1.0)

mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting

Описание

bool mysqlnd_ms_set_user_pick_server ( string $function )

Sets a callback for user-defined read/write splitting. The plugin will call the callback only if pick[]=user is the default rule for server picking in the relevant section of the plugins configuration file.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend the query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback choses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Список параметров

function

The function to be called. Class methods may also be invoked statically using this function by passing array($classname, $methodname) to this parameter. Additionally class methods of an object instance may be called by passing array($objectinstance, $methodname) to this parameter.

Возвращаемые значения

Host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will fallback to the second pick method configured via the pick[] setting in the plugin configuration file. If not second pick method is given, the plugin falls back to the build-in default pick method for server selection.

Примечания

Замечание:

mysqlnd_ms_set_user_pick_server() is available with PECL mysqlnd_ms < 1.1.0. It has been replaced by the user filter. Please, check the Change History for upgrade notes.

Примеры

Пример #1 mysqlnd_ms_set_user_pick_server() example

[myapp]
master[] = localhost
slave[] = 192.168.2.27:3306
slave[] = 192.168.78.136:3306
pick[] = user
<?php

function pick_server($connected, $query, $master, $slaves, $last_used)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $master[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

mysqlnd_ms_set_user_pick_server("pick_server");

$mysqli = new mysqli("myapp", "root", "root", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

Результат выполнения данного примера:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Смотрите также

  • mysqlnd_ms_query_is_select() - Find whether to send the query to the master, the slave or the last used MySQL server
  • Filter concept
  • user filter

mysqlnd_ms_query_is_select
Change History
Mysqlnd_ms Функции


Change History

Содержание

  • PECL/mysqlnd_ms 1.1 series
  • PECL/mysqlnd_ms 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

mysqlnd_ms_set_user_pick_server
PECL/mysqlnd_ms 1.1 series
mysqlnd_ms


PECL/mysqlnd_ms 1.1 series

1.1.0-beta

  • Release date: no released yet, planned for Q4 2011
  • Motto/theme: Cover replication basics with production quality

The 1.1 and 1.0 series expose a similar feature set. Internally, the 1.1 series has been refactored to plan for future feature additions. A new configuration file format has been introduced, and limitations have been lifted. And the code quality and quality assurance has been improved.

Feature changes

  • Added the (chainable) filter concept:

    • BC break: mysqlnd_ms_set_user_pick_server() has been removed. The user filter has been introduced to replace it. The filter offers similar functionality, but see below for an explanation of the differences.

  • New powerful JSON based configuration syntax.
  • Lazy connections improved: security relevant, and state changing commands are covered.
  • Support for (native) prepared statements.

  • New statistics: use_master_guess, use_slave_guess.

    • BC break: Semantics of statistics changed for use_slave, use_master. Future changes are likely. Please see, mysqlnd_ms_get_stats().

  • List of broadcasted messages extended by ssl_set.
  • Library calls now monitored to remember settings for lazy connections: change_user, select_db, set_charset, set_autocommit.
  • Introduced mysqlnd_ms.disable_rw_split. The configuration setting allows using the load balancing and lazy connection functionality independently of read write splitting.

Bug fixes

  • Fixed PECL #22724 - Server switching (mysqlnd_ms_query_is_select() case sensitive)
  • Fixed PECL #22784 - Using mysql_connect and mysql_select_db did not work
  • Fixed PECL #59982 - Unusable extension with --enable-mysqlnd-ms-table-filter. Use of the option is NOT supported. You must not used it. Added note to m4.
  • Fixed Bug #60119 - host="localhost" lost in mysqlnd_ms_get_last_used_connection()

The mysqlnd_ms_set_user_pick_server() function was removed, and replaced in favor of a new user filter. You can no longer set a callback function using mysqlnd_ms_set_user_pick_server() at runtime, but instead have to configure it in the plugins configuration file. The user filter will pass the same arguments to the callback as before. Therefore, you can continue to use the same procedural function as a callback.callback It is no longer possible to use static class methods, or class methods of an object instance, as a callback. Doing so will cause the function executing a statement handled by the plugin to emit an E_RECOVERABLE_ERROR level error, which might look like: "(mysqlnd_ms) Specified callback (picker) is not a valid callback." Note: this may halt your application.

Change History
PECL/mysqlnd_ms 1.0 series
Change History


PECL/mysqlnd_ms 1.0 series

1.0.1-alpha

  • Release date: 04/2011
  • Motto/theme: bug fix release

1.0.0-alpha

  • Release date: 04/2011
  • Motto/theme: Cover replication basics to test user feedback

The first release of practical use. It features basic automatic read-write splitting, SQL hints to overrule automatic redirection, load balancing of slave requests, lazy connections, and optional, automatic use of the master after the first write.

The public feature set is close to that of the 1.1 release.

1.0.0-pre-alpha

  • Release date: 09/2010
  • Motto/theme: Proof of concept

Initial check-in. Essentially a demo of the mysqlnd plugin API.

PECL/mysqlnd_ms 1.1 series
mysqlnd_qc
Change History


Mysqlnd query result cache plugin

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
  • Предопределенные константы
  • Примеры
    • Basic usage
    • Setting the TTL
    • Cache by default
    • Procedural user-defined storage handler
  • mysqlnd_qc Функции
    • mysqlnd_qc_change_handler — Change current storage handler
    • mysqlnd_qc_clear_cache — Flush all cache contents
    • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
    • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
    • mysqlnd_qc_get_handler — Returns a list of available storage handler
    • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
    • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler
PECL/mysqlnd_ms 1.0 series
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The mysqlnd query result cache plugin adds easy to use client-side query caching to all PHP MySQL extensions using mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP ( mysqlnd) features an internal plugin C API. C plugins, such as the query cache plugin, can extend the functionality of mysqlnd.

The MySQL native driver for PHP is a C library which ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (AKA libmysql/libmysqlclient). Using mysqlnd has several advantages: no extra downloads because it comes with PHP, PHP license, lower memory consumption in certain cases, new functionality such as asynchronous queries.

Mysqlnd plugins such as the query cache plugin operate transparent from a user perspective. The cache plugin supports all PHP applications and all PHP MySQL extensions ( mysqli, mysql, PDO_MYSQL). It does not change existing APIs.

No significant application changes are required to cache a query. The cache has two operation modes. It will either cache all queries (not recommended) or only those queries marked with a certain SQL hint (recommended).

Key Features

  • Transparent and therefore easy to use

    • supports all PHP MySQL extensions

    • no API changes

    • very little application changes required

  • Flexible invalidation strategy

    • Time-to-Live (TTL)

    • user-defined

  • Storage with different scope and life-span

    • Default (Hash)

    • APC

    • MEMCACHE

    • sqlite

    • user-defined

Limitations

The query cache plugin prototype will not cache unbuffered queries or results from prepared statements. This limitation is likely to be lifted soon.

The following popular user API calls use buffered queries which can be cached:

  • mysqli

    • mysqli_query()

    • mysqli_real_query() + mysqli_store_result()

  • PDO_MYSQL

    • PDO::query() if PDO::ATTR_EMULATE_PREPARES = 1 (default setting)

  • mysql

    • mysql_query()

Architecture

The query cache is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods.

At PHP run time it proxies queries send from mysqlnd (PHP) to the MySQL server. If a query string starts with the SQL hint ( /*qc=on*/) to enable caching of it and the query is not cached (cache miss), the query cache plugin will record the raw wire protocol data send from MySQL to PHP to answer the query. The query cache records the wire protocol data in its cache and replays it, if still valid, on a cache hit.

Note that the query cache does not hold decoded result sets consisting of zvals (C struct representing a PHP variable). It stores the raw wire data of the MySQL client server protocol. In case of a cache hits, mysqlnd still needs to decode the cached raw wire data into PHP variables before passing the result to the user space. This approach has one major advantage: simplicity. Furthermore this approach eliminates the need for serializing data for cache storage.

mysqlnd_qc
Установка и настройка
mysqlnd_qc


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
Введение
Требования
mysqlnd_qc


Требования

PHP 5.3.3 or newer.

For using APC storage handler: APC 3.1.3p1-beta or newer.

For using MEMCACHE storage handler: libmemcache 0.38 or newer.

For using sqlite storage handler: sqlite3 bundled with PHP.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mysqlnd_qc

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

mysqlnd_qc Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

mysqlnd_qc.enable_qc integer

Enables or disables the plugin. If disabled the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_qc.ttl integer

Default Time-to-Live (TTL) for cache entries in seconds.

mysqlnd_qc.cache_by_default integer

Cache all queries regardless if they begin with the SQL hint that enables caching of a query or not. Storage handler cannot overrule the setting. It is evaluated by the core of the plugin.

mysqlnd_qc.cache_no_table integer

Cache queries with no table name in any of columns meta data of their result set, e.g. SELECT SLEEP(1)?

mysqlnd_qc.use_request_time integer

Use PHP global request time to avoid gettimeofday() system calls? If using APC storage handler it should be set to the value of apc.use_request_time , if not warnings will be generated.

mysqlnd_qc.time_statistics integer

Collect run time and store time statistics using gettimeofday() system call? Data will be collected only if you also set mysqlnd_qc.collect_statistics = 1,

mysqlnd_qc.collect_statistics integer

Collect statistics for mysqlnd_qc_get_core_stats()? Does not influence storage handler statistics! Handler statistics can be an integral part of the handler internal storage format. Thereofore, collection of some handler statistics cannot be disabled.

mysqlnd_qc.collect_query_trace integer

Collect query back traces?

mysqlnd_qc.query_trace_bt_depth integer

Maximum depth/level of a query code backtrace.

mysqlnd_qc.slam_defense integer

Activates handler based slam defense if available. Supported by Default and APC storage handler

mysqlnd_qc.slam_defense_ttl integer

TTL for stale cache entries which are served while another client updates the entries. Supported by APC storage handler.

mysqlnd_qc.collect_normalized_query_trace integer

Collect aggregated normalized query traces? The setting has no effect by default. You compile the extension using the define NORM_QUERY_TRACE_LOG to make use of the setting.

mysqlnd_qc.std_data_copy integer

Default storage handler: copy cached wire data? EXPERIMENTAL – use default setting!

mysqlnd_qc.apc_prefix string

The APC storage handler stores data in the APC user cache. The setting sets a prefix to be used for cache entries.

mysqlnd_qc.memc_server string

MEMCACHE storage handler: memcache server host.

mysqlnd_qc.memc_port integer

MEMCACHE storage handler: memcached server port.

mysqlnd_qc.sqlite_data_file string

sqlite storage handler: data file. Any setting but :memory: may be of little practical value.

Установка
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SQL hint related

The query cache is controled by SQL hints. SQL hints are used to enable and disable caching. SQL hints can be used to set the TTL of a query.

The SQL hints recognized by the query cache can be manually changed at compile time. This makes it possible to use mysqlnd_qc in environments in which the default SQL hints are already taken and interpreted by other systems. Therefore it is recommended to use the SQL hint string constants instead of manually adding the default SQL hints to the query string.

<?php
/* Use constants for maximum portability */
$query = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: default TTL */
$query = "/*qc=on*/SELECT id FROM test";

/* Valid but less portable: per statement TTL */
$query = "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n", MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n", MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n", MYSQLND_QC_TTL_SWITCH);
?>

Результат выполнения данных примеров:

MYSQLND_QC_ENABLE_SWITCH: qc=on
MYSQLND_QC_DISABLE_SWITCH: qc=off
MYSQLND_QC_TTL_SWITCH: qc_ttl=

MYSQLND_QC_ENABLE_SWITCH ( string)
SQL hint used to enable caching of a query.
MYSQLND_QC_DISABLE_SWITCH ( string)
SQL hint used to disable caching of a query if mysqlnd_qc.cache_by_default = 1.
MYSQLND_QC_TTL_SWITCH ( string)
SQL hint used to set the TTL of a result set.

Настройка во время выполнения
Примеры
mysqlnd_qc


Примеры

Содержание

  • Basic usage
  • Setting the TTL
  • Cache by default
  • Procedural user-defined storage handler
Предопределенные константы
Basic usage
mysqlnd_qc


Basic usage

The Query Cache plugin supports caching of queries issued by the following user API calls:

  • mysqli

    • mysqli_query()

    • mysqli_real_query() + mysqli_store_result()

  • PDO_MYSQL

    • PDO::query() if PDO::ATTR_EMULATE_PREPARES = 1 (default setting)

  • mysql

    • mysql_query()

A query which shall be cached must begin with the SQL hint /*qc=on*/. It is recommended to use the PHP constant MYSQLND_QC_ENABLE_SWITCH instead of using the string value.

  • uncached: SELECT id FROM test

  • cached: /*qc=on*/SELECT id FROM test

Example using the most advanced PHP MySQL API, which is mysqli :

<?php
/* Enable collection of query cache statistics */
ini_set("mysqlnd_qc.collect_statistics", 1);

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached because of the SQL hint: cache put and cache_miss */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Will NOT be cached and will NOT hit the cache: no SQL hint */
$res = $mysqli->query("SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* Display cache statistics */
$stats = mysqlnd_qc_get_core_stats();
printf("Cache hit\t: %d\n",  $stats['cache_hit']);
printf("Cache miss\t: %d\n", $stats['cache_miss']);
printf("Cache put\t: %d\n",  $stats['cache_put']);

?>

Результат выполнения данных примеров:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
Cache hit       : 0
Cache miss      : 1
Cache put       : 1

The default invalidation strategy of the cache is Time-to-Live ( TTL). Cache entries are valid for a certain duration. The default duration is set by the PHP configuration directive mysqlnd_qc.tll

Примеры
Setting the TTL
Примеры


Setting the TTL

The default invalidation strategy of the query cache plugin is Time-to-Live ( TTL). The built-in storage handler will use the default TTL defined by the PHP configuration value mysqlnd_qc.ttl unless the query string contains a hint for setting a different TTL. The TTL is specified in seconds.

Any TTL based cache can serve stale data. Cache entries are not automatically invalidated, if underlying data changes.

User-defined cache storage handler can implement any invalidation strategy to work around this limitation.

<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("Default TTL\t: %d seconds\n", ini_get("mysqlnd_qc.ttl"));

/* Will be cached because of the SQL hint */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");

/* Cache hit - no automatic invalidation! */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

sleep(ini_get("mysqlnd_qc.ttl"));

/* Cache miss - cache entry has expired */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

?>

Результат выполнения данных примеров:

Default TTL:    : 30 seconds
array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL

The default TTL can be overruled using the SQL hint /*qc_tt=seconds*/. The SQL hint must be appear immediately after the SQL hint which enables caching. It is recommended to use the PHP constant MYSQLND_QC_TTL_SWITCH instead of using the string value.

<?php
$start = microtime(true);

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("Default TTL\t: %d seconds\n", ini_get("mysqlnd_qc.ttl"));

/* Will be cached for 2 seconds */
$sql = sprintf("/*%s*//*%s%d*/SELECT id FROM test WHERE id = 1",
 MYSQLND_QC_ENABLE_SWITCH,
 MYSQLND_QC_TTL_SWITCH,
 2);
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");
sleep(1);

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

sleep(2);

/* Cache miss - cache entry has expired */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

printf("Script runtime\t: %d seconds\n", microtime(true) - $start);

?>

Результат выполнения данных примеров:

Default TTL     : 30 seconds
array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL
Script runtime  : 3 seconds

Basic usage
Cache by default
Примеры


Cache by default

The query cache plugin will cache all queries regardless if the query string begins with the SQL hint which enables caching or not, if the PHP configuration directive mysqlnd_qc.cache_by_default is set to 1. The setting mysqlnd_qc.cache_by_default is evaluated by the core of the query cache plugins. Neither the built-in nor user-defined storage handler can overrule the setting.

The SQL hint /*qc=off*/ can be used to disable caching of individual queries if mysqlnd_qc.cache_by_default = 1 It is recommended to use the PHP constant MYSQLND_QC_DISABLE_SWITCH instead of using the string value.

<?php
/* Enable default caching of all statements */
ini_set("mysqlnd_qc.cache_by_default", 1);

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached although no SQL hint is present because of mysqlnd_qc.cache_by_default = 1*/
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Cache miss - query must not be cached or served from cache because of the SQL hint */
$res = $mysqli->query("/*" . MYSQLND_QC_DISABLE_SWITCH . "*/SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

?>

Результат выполнения данных примеров:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL

Setting the TTL
Procedural user-defined storage handler
Примеры


Procedural user-defined storage handler

The query cache plugin supports the use of user-defined storage handler. User-defined storage handler can use arbitrarily complex invalidation algorithms and support arbitrary storage media.

All user-defined storage handlers have to provide a certain interface. The functions of the user-defined storage handler will be called by the core of the cache plugin. The necessary interface consists of seven public functions. Both procedural and object oriented user-defined storage handler must implement the same set of functions.

Please check the example for details.

<?php
/* Enable default caching of all statements */
ini_set("mysqlnd_qc.cache_by_default", 1);

/* Procedural user defined storage handler functions */

$__cache = array();

function get_hash($host_info, $port, $user, $db, $query) {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  return md5(sprintf("%s%s%s%s%s", $host_info, $port, $user, $db, $query));
}

function find_query_in_cache($key) {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  if (isset($__cache[$key])) {
    $tmp = $__cache[$key];
    if ($tmp["valid_until"] < time()) {
      unset($__cache[$key]);
      $ret = NULL;
    } else {
      $ret = $__cache[$key]["data"];
    }
  } else {
    $ret = NULL;
  }

  return $ret;
}

function return_to_cache($key) {
  /*
     Called on cache hit after cached data has been processed,
     may be used for reference counting
  */
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());
}

function add_query_to_cache_if_not_exists($key, $data, $ttl, $run_time, $store_time, $row_count) {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  $__cache[$key] = array(
    "data"               => $data,
    "row_count"          => $row_count,
    "valid_until"        => time() + $ttl,
    "hits"               => 0,
    "run_time"           => $run_time,
    "store_time"         => $store_time,
    "cached_run_times"   => array(),
    "cached_store_times" => array(),
  );

  return TRUE;
}

function query_is_select($query) {
  printf("\t%s('%s'): ", __FUNCTION__, $query);

  $ret = FALSE;
  if (stristr($query, "SELECT") !== FALSE) {
    /* cache for 5 seconds */
    $ret = 5;
  }

  printf("%s\n", (FALSE === $ret) ? "FALSE" : $ret);
  return $ret;
}

function update_query_run_time_stats($key, $run_time, $store_time) {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  if (isset($__cache[$key])) {
    $__cache[$key]['hits']++;
    $__cache[$key]["cached_run_times"][] = $run_time;
    $__cache[$key]["cached_store_times"][] = $store_time;
  }
}

function get_stats($key = NULL) {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  if ($key && isset($__cache[$key])) {
    $stats = $__cache[$key];
  } else {
    $stats = array();
    foreach ($__cache as $key => $details) {
      $stats[$key] = array(
        'hits'              => $details['hits'],
        'bytes'             => strlen($details['data']),
        'uncached_run_time' => $details['run_time'],
        'cached_run_time'   => (count($details['cached_run_times']))
                                  ? array_sum($details['cached_run_times']) / count($details['cached_run_times'])
                                  : 0,
      );
    }
  }

  return $stats;
}

function clear_cache() {
  global $__cache;
  printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

  $__cache = array();
  return TRUE;
}

/* Install procedural user-defined storage handler */
if (!mysqlnd_qc_set_user_handlers("get_hash", "find_query_in_cache",
      "return_to_cache", "add_query_to_cache_if_not_exists",
      "query_is_select", "update_query_run_time_stats",
       "get_stats", "clear_cache")) {
  printf("Failed to install user-defined storage handler\n");
}

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("\nCache put/cache miss\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Delete record to verify we get our data from the cache */
$mysqli->query("DELETE FROM test WHERE id = 1");

printf("\nCache hit\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

printf("\nDisplay cache statistics\n");
var_dump(mysqlnd_qc_get_cache_info());

printf("\nFlushing cache, cache put/cache miss");
var_dump(mysqlnd_qc_clear_cache());

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

Результат выполнения данных примеров:

        query_is_select('DROP TABLE IF EXISTS test'): FALSE
        query_is_select('CREATE TABLE test(id INT)'): FALSE
        query_is_select('INSERT INTO test(id) VALUES (1), (2)'): FALSE

Cache put/cache miss
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
array(1) {
  ["id"]=>
  string(1) "1"
}
        query_is_select('DELETE FROM test WHERE id = 1'): FALSE

Cache hit
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        return_to_cache(1)
        update_query_run_time_stats(3)
array(1) {
  ["id"]=>
  string(1) "1"
}

Display cache statistics
        get_stats(0)
array(4) {
  ["num_entries"]=>
  int(1)
  ["handler"]=>
  string(4) "user"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(1) {
    ["18683c177dc89bb352b29965d112fdaa"]=>
    array(4) {
      ["hits"]=>
      int(1)
      ["bytes"]=>
      int(71)
      ["uncached_run_time"]=>
      int(398)
      ["cached_run_time"]=>
      int(4)
    }
  }
}

Flushing cache, cache put/cache miss    clear_cache(0)
bool(true)
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
NULL

Cache by default
mysqlnd_qc Функции
Примеры


mysqlnd_qc Функции

Содержание

  • mysqlnd_qc_change_handler — Change current storage handler
  • mysqlnd_qc_clear_cache — Flush all cache contents
  • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
  • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
  • mysqlnd_qc_get_handler — Returns a list of available storage handler
  • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
  • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler
Procedural user-defined storage handler
mysqlnd_qc_change_handler
mysqlnd_qc


Change current storage handler

mysqlnd_qc Функции
mysqlnd_qc_clear_cache
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_change_handler

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_change_handler — Change current storage handler

Описание

bool mysqlnd_qc_change_handler ( mixed $handler )

Sets the storage handler used by the query cache. A list of available storage handler can be obtained from mysqlnd_qc_get_handler(). Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Список параметров

handler

Handler can be of type string representing the name of a built-in storage handler or an object of type mysqlnd_qc_handler_default. The names of the built-in storage handler are default, APC, MEMCACHE, sqlite.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If changing the storage handler fails a catchable fatal error will be thrown. The query cache cannot operate if the previous storage handler has been shutdown but no new storage handler has been installed.

Примеры

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
var_dump(mysqlnd_qc_change_handler("memcache"));

if (true === mysqlnd_qc_change_handler("default"))
  printf("Default storage handler activated");

/* Catchable fatal error */
var_dump(mysqlnd_qc_change_handler("unknown"));
?>

Результат выполнения данных примеров:

bool(true)
Default storage handler activated
Catchable fatal error: mysqlnd_qc_change_handler(): Unknown handler 'unknown' in (file) on line (line)

Смотрите также

  • Installation
  • mysqlnd_qc_get_handler() - Returns a list of available storage handler

mysqlnd_qc Функции
mysqlnd_qc_clear_cache
mysqlnd_qc Функции


Flush all cache contents

mysqlnd_qc_change_handler
mysqlnd_qc_get_cache_info
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_clear_cache

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_clear_cache — Flush all cache contents

Описание

bool mysqlnd_qc_clear_cache ( void )

Flush all cache contents.

Flushing the cache is a storage handler responsibility. All built-in storage handler but the memcache storage handler support flushing the cache. The memcache storage handler cannot flush its cache contents.

User-defined storage handler may or may not support the operation.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

A return value of FALSE indicates that flushing all cache contents has failed or the operation is not supported by the active storage handler. Applications must not expect that calling the function will always flush the cache.

mysqlnd_qc_change_handler
mysqlnd_qc_get_cache_info
mysqlnd_qc Функции


Returns information on the current handler, the number of cache entries and cache entries, if available

mysqlnd_qc_clear_cache
mysqlnd_qc_get_core_stats
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_get_cache_info

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available

Описание

array mysqlnd_qc_get_cache_info ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns information on the current handler, the number of cache entries and cache entries, if available. If and what data will be returned for the cache entries is subject to the active storage handler. Storage handler are free to return any data. Storage handler are recommended to return at least the data provided by the default handler, if technically possible.

Примеры

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli("host", "user", "password", "schema");
$mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test");

/* Display cache information */
var_dump(mysqlnd_qc_get_cache_info());
?>

Результат выполнения данных примеров:

array(4) {
 ["num_entries"]=>
 int(1)
 ["handler"]=>
 string(7) "default"
 ["handler_version"]=>
 string(5) "1.0.0"
 ["data"]=>
 array(1) {
   ["Localhost via UNIX socket 3306 user schema|/*qc=on*/SELECT id FROM test"]=>
   array(2) {
     ["statistics"]=>
     array(11) {
       ["rows"]=>
       int(6)
       ["stored_size"]=>
       int(101)
       ["cache_hits"]=>
       int(0)
       ["run_time"]=>
       int(471)
       ["store_time"]=>
       int(27)
       ["min_run_time"]=>
       int(0)
       ["max_run_time"]=>
       int(0)
       ["min_store_time"]=>
       int(0)
       ["max_store_time"]=>
       int(0)
       ["avg_run_time"]=>
       int(0)
       ["avg_store_time"]=>
       int(0)
     }
     ["metadata"]=>
     array(1) {
       [0]=>
       array(8) {
         ["name"]=>
         string(2) "id"
         ["orig_name"]=>
         string(2) "id"
         ["table"]=>
         string(4) "test"
         ["orig_table"]=>
         string(4) "test"
         ["db"]=>
         string(4) "schema"
         ["max_length"]=>
         int(1)
         ["length"]=>
         int(11)
         ["type"]=>
         int(3)
       }
     }
   }
 }
}
mysqlnd_qc_clear_cache
mysqlnd_qc_get_core_stats
mysqlnd_qc Функции


Statistics collected by the core of the query cache

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_handler
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_get_core_stats

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache

Описание

array mysqlnd_qc_get_core_stats ( void )

Returns an array of statistics collected by the core of the cache plugin. The same data fields will be reported for any storage handler because the data is collected by the core.

The PHP configuration setting mysqlnd_qc.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons. Disabling the collection of statistics will also disable the collection of time related statistics.

The PHP configuration setting mysqlnd_qc.collect_time_statistics controls the collection of time related statistics.

The scope of the core statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all cache entries. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array of core statistics

Statistic | Description | Version
cache_hit | Statement is considered cacheable and cached data has been reused. Statement is considered cacheable and a cache miss happened but the statement got cached by someone else while we process it and thus we can fetch the result from the refreshed cache. | Since 1.0.0.
cache_miss Statement is considered cacheable...

  • ... and has been added to the cache

  • ... but the PHP configuration directive setting of mysqlnd_qc.cache_no_table = 1 has prevented caching.

  • ... but an unbuffered result set is requested.

  • ... but a buffered result set was empty.

Since 1.0.0.
cache_put | Statement is considered cacheable and has been added to the cache. Take care when calculating derived statistics. Storage handler with a storage life time beyond process scope may report cache_put = 0 together with cache_hit > 0, if another process has filled the cache. You may want to use num_entries from mysqlnd_qc_get_cache_info() if the handler supports it ( default, APC). | Since 1.0.0.
query_should_cache | Statement is considered cacheable based on query string analysis. The statement may or may not be added to the cache. See also cache_put. | Since 1.0.0.
query_should_not_cache | Statement is considered not cacheable based on query string analysis. | Since 1.0.0.
query_not_cached | Statement is considered not cacheable or it is considered cachable but the storage handler has not returned a hash key for it. | Since 1.0.0.
query_could_cache Statement is considered cacheable...

  • ... and statement has been run without errors

  • ... and meta data shows at least one column in the result set

The statement may or may not be in the cache already. It may or may not be added to the cache later on. 		Since 1.0.0.
query_found_in_cache | Statement is considered cacheable and we have found it in the cache but we have not replayed the cached data yet and we have not send the result set to the client yet. This is not considered a cache hit because the client might not fetch the result or the cached data may be faulty. | Since 1.0.0.
query_uncached_other | Statement is considered cacheable and it may or may not be in the cache already but either replaying cached data has failed, no result set is available or some other error has happened.
query_uncached_no_table | Statement has not been cached because the result set has at least one column which has no table name in its meta data. An example of such a query is SELECT SLEEP(1). To cache those statements you have to change default value of the PHP configuration directive mysqlnd_qc.cache_no_table and set mysqlnd_qc.cache_no_table = 1. Often, it is not desired to cache such statements. | Since 1.0.0.
query_uncached_use_result | Statement would have been cached if a buffered result set had been used. The situation is also consiered as a cache miss and cache_miss will be incremented as well. | Since 1.0.0.
query_aggr_run_time_cache_hit | Aggregated run time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_run_time_cache_put | Aggregated run time (ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_run_time_total | Aggregated run time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
query_aggr_store_time_cache_hit | Aggregated store time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_store_time_cache_put | Aggregated store time ( ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_store_time_total | Aggregated store time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
receive_bytes_recorded | Recorded incoming network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
receive_bytes_replayed | Network traffic replayed during cache. This is the total amount of incoming traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
send_bytes_recorded | Recorded outgoing network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
send_bytes_replayed | Network traffic replayed during cache. This is the total amount of outgoing traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
slam_stale_refresh | Number of cache misses which triggered serving stale data until the client causing the cache miss has refreshed the cache entry. | Since 1.0.0.
slam_stale_hit | Number of cache hits while a stale cache entry gets refreshed. | Since 1.0.0.

Примеры

<?php
/* Enable collection of statistics - default: disabled */
ini_set("mysqlnd_qc.collect_statistics", 1);

/* Enable collection of all timing related statistics -
default: enabled but overruled by mysqlnd_qc.collect_statistics = 0 */
ini_set("mysqlnd_qc.collect_time_statistics", 1);

/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli('host', 'user', 'password', 'schema');

/* Cache miss and cache put */
$mysqli->query("/*qc=on*/SELECT id FROM test");
/* Cache hit */
$mysqli->query("/*qc=on*/SELECT id FROM test");

/* Display core statstics */
var_dump(mysqlnd_qc_get_core_stats());
?>

Результат выполнения данных примеров:

array(26) {
  ["cache_hit"]=>
  string(1) "1"
  ["cache_miss"]=>
  string(1) "1"
  ["cache_put"]=>
  string(1) "1"
  ["query_should_cache"]=>
  string(1) "2"
  ["query_should_not_cache"]=>
  string(1) "0"
  ["query_not_cached"]=>
  string(1) "0"
  ["query_could_cache"]=>
  string(1) "2"
  ["query_found_in_cache"]=>
  string(1) "1"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(1) "4"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "395"
  ["query_aggr_run_time_total"]=>
  string(3) "399"
  ["query_aggr_store_time_cache_hit"]=>
  string(1) "2"
  ["query_aggr_store_time_cache_put"]=>
  string(1) "8"
  ["query_aggr_store_time_total"]=>
  string(2) "10"
  ["receive_bytes_recorded"]=>
  string(2) "65"
  ["receive_bytes_replayed"]=>
  string(2) "65"
  ["send_bytes_recorded"]=>
  string(2) "29"
  ["send_bytes_replayed"]=>
  string(2) "29"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(3547549858)
}

Смотрите также

  • Runtime configuration
  • mysqlnd_qc.collect_statistics
  • mysqlnd_qc.time_statistics

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_handler
mysqlnd_qc Функции


Returns a list of available storage handler

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_get_handler

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_get_handler — Returns a list of available storage handler

Описание

array mysqlnd_qc_get_handler ( void )

Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of available built-in storage handler. For each storage handler the version number and version string is given.

Примеры

<?php
var_dump(mysqlnd_qc_get_handler());
?>

Результат выполнения данных примеров:

array(5) {
  ["default"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["user"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["APC"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["MEMCACHE"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["sqlite"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
}

Смотрите также

  • Installation
  • mysqlnd_qc_change_handler() - Change current storage handler

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
mysqlnd_qc Функции


Returns a backtrace for each query inspected by the query cache

mysqlnd_qc_get_handler
mysqlnd_qc_set_user_handlers
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_get_query_trace_log

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache

Описание

array mysqlnd_qc_get_query_trace_log ( void )

Returns a backtrace for each query inspected by the query cache. The collection of the backtrace is disabled by default. To collect the backtrace you have to set the PHP configuration directive mysqlnd_qc.collect_query_trace to 1

The maximum depth of the backtrace is limited to the depth set with the PHP configuration directive mysqlnd_qc.query_trace_bt_depth.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of query backtrace. Every list entry contains the query string, a backtrace and further detail information.

Key | Description
query | Query string.
origin | Code backtrace.
run_time | Query run time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
store_time | Query result set store time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
eligible_for_caching | TRUE if query is cacheble otherwise FALSE.
no_table | TRUE if the query has generated a result set and at least one column from the result set has no table name set in its metadata. This is usually the case with queries which one probably do not want to cache such as SELECT SLEEP(1). By default any such query will not be added to the cache. See also PHP configuration directive mysqlnd_qc.cache_no_table.
was_added | TRUE if the query result has been put into the cache, otherwise FALSE.
was_already_in_cache | TRUE if the query result would have been added to the cache if it was not already in the cache (cache hit). Otherwise FALSE.

Примеры

<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();
?>

Результат выполнения данных примеров:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(6) {
  [0]=>
  array(8) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["origin"]=>
    string(85) "#0 /home/nixnutz/php/phpdoc/foo.php(7): mysqli->query('DROP TABLE IF E...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(25) "CREATE TABLE test(id INT)"
    ["origin"]=>
    string(85) "#0 /home/nixnutz/php/phpdoc/foo.php(8): mysqli->query('CREATE TABLE te...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [2]=>
  array(8) {
    ["query"]=>
    string(36) "INSERT INTO test(id) VALUES (1), (2)"
    ["origin"]=>
    string(85) "#0 /home/nixnutz/php/phpdoc/foo.php(9): mysqli->query('INSERT INTO tes...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [3]=>
  array(8) {
    ["query"]=>
    string(32) "SELECT id FROM test WHERE id = 1"
    ["origin"]=>
    string(86) "#0 /home/nixnutz/php/phpdoc/foo.php(11): mysqli->query('SELECT id FROM ...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(15)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [4]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(86) "#0 /home/nixnutz/php/phpdoc/foo.php(15): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(340)
    ["store_time"]=>
    int(3)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(true)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [5]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(86) "#0 /home/nixnutz/php/phpdoc/foo.php(19): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(4)
    ["store_time"]=>
    int(2)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(true)
  }
}

Смотрите также

  • Runtime configuration
  • mysqlnd_qc.collect_query_trace
  • mysqlnd_qc.query_trace_bt_depth
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc.cache_no_table

mysqlnd_qc_get_handler
mysqlnd_qc_set_user_handlers
mysqlnd_qc Функции


Sets the callback functions for a user-defined procedural storage handler

mysqlnd_qc_get_query_trace_log
mysqlnd_uh
mysqlnd_qc Функции
PHP Manual

mysqlnd_qc_set_user_handlers

(Информация о версии неизвестна, возможно, только в SVN)

mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler

Описание

bool mysqlnd_qc_set_user_handlers ( string $get_hash , string $find_query_in_cache , string $return_to_cache , string $add_query_to_cache_if_not_exists , string $query_is_select , string $update_query_run_time_stats , string $get_stats , string $clear_cache )

Sets the callback functions for a user-defined procedural storage handler.

Список параметров

get_hash

Name of the user function implementing the storage handler get_hash functionality.

find_query_in_cache

Name of the user function implementing the storage handler find_in_cache functionality.

return_to_cache

Name of the user function implementing the storage handler return_to_cache functionality.

add_query_to_cache_if_not_exists

Name of the user function implementing the storage handler add_query_to_cache_if_not_exists functionality.

query_is_select

Name of the user function implementing the storage handler query_is_select functionality.

update_query_run_time_stats

Name of the user function implementing the storage handler update_query_run_time_stats functionality.

get_stats

Name of the user function implementing the storage handler get_stats functionality.

clear_cache

Name of the user function implementing the storage handler clear_cache functionality.

Возвращаемые значения

Returns TRUE on success or FALSE on FAILURE.

Смотрите также

  • Procedural user-defined storage handler example

mysqlnd_qc_get_query_trace_log
mysqlnd_uh
mysqlnd_qc Функции


Mysqlnd user handler plugin

  • Введение
  • Quickstart and Examples
    • Setup
    • How it works
    • Installing a proxy
    • Basic query monitoring
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mysqlnd_uh Функции
    • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
    • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
    • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements
    • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
    • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
    • MysqlndUhConnection::close — Closes a previously opened database connection
    • MysqlndUhConnection::connect — Open a new connection to the MySQL server
    • MysqlndUhConnection::__construct — The __construct purpose
    • MysqlndUhConnection::endPSession — End a persistent connection
    • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
    • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
    • MysqlndUhConnection::getErrorString — Returns a string description of the last error
    • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
    • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
    • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.
    • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
    • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
    • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
    • MysqlndUhConnection::getServerStatistics — Gets the current system status
    • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
    • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
    • MysqlndUhConnection::getStatistics — Returns statistics about the client connection.
    • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
    • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
    • MysqlndUhConnection::init — Initialize mysqlnd connection
    • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
    • MysqlndUhConnection::listFields — List MySQL table fields
    • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
    • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
    • MysqlndUhConnection::nextResult — Prepare next result from multi_query
    • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • MysqlndUhConnection::query — Performs a query on the database
    • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
    • MysqlndUhConnection::reapQuery — Get result from async query
    • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
    • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
    • MysqlndUhConnection::selectDb — Selects the default database for database queries
    • MysqlndUhConnection::sendClose — Sends a close command to MySQL
    • MysqlndUhConnection::sendQuery — Sends a query to MySQL
    • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
    • MysqlndUhConnection::setAutocommit — Turns on or off auto-commiting database modifications
    • MysqlndUhConnection::setCharset — Sets the default client character set
    • MysqlndUhConnection::setClientOption — Sets a client option
    • MysqlndUhConnection::setServerOption — Sets a server option
    • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
    • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
    • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
    • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
    • MysqlndUhConnection::storeResult — Transfers a result set from the last query
    • MysqlndUhConnection::txCommit — Commits the current transaction
    • MysqlndUhConnection::txRollback — Rolls back current transaction
    • MysqlndUhConnection::useResult — Initiate a result set retrieval
    • MysqlndUhPreparedStatement::__construct — The __construct purpose
    • MysqlndUhPreparedStatement::execute — Executes a prepared Query
    • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
  • Change History
    • PECL/mysqlnd_uh 1.0 series
mysqlnd_qc_set_user_handlers
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The mysqlnd user handler plugin (mysqlnd_uh) allows users to set hooks for most internal calls of the MySQL native driver for PHP (mysqlnd). Mysqlnd and its plugins, including PECL/mysqlnd_uh, operate on a layer beneath the PHP MySQL extensions. A mysqlnd plugin can be considered as a proxy between the PHP MySQL extensions and the MySQL server as part of the PHP executable on the client-side. Because the plugins operates on their own layer below the PHP MySQL extensions, they can monitor and change application actions without requiring application changes. If the PHP MySQL extensions (mysqli, mysql, PDO_MYSQL) are compiled to use mysqlnd this can be used for:

  • Monitoring

    • Queries run by any of the PHP MySQL extensions

    • Prepared statements run by any of the PHP MySQL extensions

  • Auditing

    • Detection of databases uses

    • SQL Injection protection using black-/whitelists

  • Assorted

    • Load Balancing connections

As of version PHP 5.3.3 the MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the mysqlnd user handler plugin, can extend the functionality of mysqlnd. PECL/mysqlnd_uh makes parts of the internal plugin C API available to the PHP user for plugin development with PHP.

The MySQL native driver for PHP is a C library which ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (AKA libmysql/libmysqlclient). As of PHP 5.4.0, mysqlnd is the compile time default library used by all PHP MySQL extensions.

Security considerations

PECL/mysqlnd_uh gives users access to MySQL user names, MySQL password used by any of the PHP MySQL extensions to connect to MySQL. It allows monitoring of all queries and prepared statements exposing the statement string to the user. Therefore, the extension should be installed with care. The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable can be used to prevent users from hooking mysqlnd calls.

Code obfuscators and similar technologies are not suitable to prevent monitoring of mysqlnd library activities if PECL/mysqlnd_uh is made available and the user can install a proxy, for example, using auto_prepend_file.

Documentation note

Many of the extensions functions are described very briefly. This is done intentionally to avoid content duplication. The mysqli extension is often only a thin abstraction layer on top of the MySQL C API, which the mysqlnd library provides. Therefore, the corresponding mysqli documentation respectively the MySQL reference manual can be consulted to get more information on a particular function.

On the name

The shortcut mysqlnd_uh stands for mysqlnd user handler. There may be better names. However, this was the initial choice when development started. Meanwhile, non speaking names have almost become a tradition.

Замечание:

The mysqlnd user handler plugin is in alpha status. Take appropriate care before using it in production environments.

mysqlnd_uh
Quickstart and Examples
mysqlnd_uh


Quickstart and Examples

Содержание

  • Setup
  • How it works
  • Installing a proxy
  • Basic query monitoring

The mysqlnd user handler plugin can be understood as a client-side proxy for all PHP MySQL extensions (mysqli, mysql, PDO_MYSQL), if they are compiled to use the mysqlnd library. The extensions use the mysqlnd library internally, at the C level, to communicate with the MySQL server. PECL/mysqlnd_uh allows it to hook many mysqlnd calls. Therefore, most activities of the PHP MySQL extensions can be monitored.

Because monitoring happens at the level of the library, at a layer below the application, it is possible to monitor applications without changing them.

On the C level, the mysqlnd library is structured in modules or classes. The extension hooks almost all methods of the mysqlnd internal connection class and exposes them through the user space class MysqlndUhConnection. Some few methods of the mysqlnd internal statement class are made available to the PHP user with the class MysqlndUhPreparedStatement. By subclassing the classes MysqlndUhConnection and MysqlndUhPreparedStatement users get access to mysqlnd internal function calls.

Замечание:

None of the mysqlnd internal function calls has been designed to ever by exposed to the PHP user. Manipulating their activities may cause PHP to crash or leak memory. Often, this is not considered a bug. Please, keep in mind that you are accessing C library functions through PHP which are expected to take certain actions, which you may not be able to emulate in user space. Therefore, it is strongly recommended to always call the parent method implementation when subclassing MysqlndUhConnection or MysqlndUhPreparedStatement. To prevent the worst case, the extension performs some sanity checks. Please, see also Mysqlnd_uh Опции настройки.

Введение
Setup
mysqlnd_uh


Setup

The plugin is implemented as a PHP extension. Please, follow the installation instructions to install the » PECL/mysqlnd_uh extension. Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_uh.enable. The below example shows the default settings of the extension.

Пример #1 Enabling the plugin (php.ini)

mysqlnd_uh.enable=1
mysqlnd_uh.report_wrong_types=1

Quickstart and Examples
How it works
Quickstart and Examples


How it works

Замечание:

You can skip the following and move on to the examples for now, if you are not interested in the inner workings. Please, get back to the background information and read it carefully, if you plan to use PECL/mysqlnd_uh intensively in the future.

Two classes are provided by the extension: MysqlndUhConnection and MysqlndUhPreparedStatement. The first one lets you access almost all methods of the mysqlnd internal connection class. The latter exposes some, selected methods of the mysqlnd internal statement class. For example, MysqlndUhConnection::connect() maps to the mysqlnd library C function mysqlnd_conn__connect.

As a mysqlnd plugin, the PECL/mysqlnd_uh extensions replaces mysqlnd library C functions with its own functions. Whenever a PHP MySQL extension compiled to use mysqlnd, calls a mysqlnd function, the functions installed by the plugin are executed instead of the original mysqlnd ones. If, for example, mysqli_connect() invokes mysqlnd_conn__connect, the connect function installed by PECL/mysqlnd_uh will be called. The functions installed by PECL/mysqlnd_uh are the methods of the built-in classes.

The built-in PHP classes and their methods do nothing but call their mysqlnd C library counterparts, to behave exaclty like the original mysqlnd function they replace. The code below illustrates in pseudo-code what the extension does.

Пример #1 Pseudo-code: what a built-in class does

class MysqlndUhConnection {
  public function connect(($conn, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
    MYSQLND* c_mysqlnd_connection = convert_from_php_to_c($conn);
    ...
    return call_c_function(mysqlnd_conn__connect(c_mysqlnd_connection, ...));
  }
}

The build-in classes behave like a transparent proxy. It is possible for you to replace the proxy with your own. This is done by subclassing MysqlndUhConnection or MysqlndUhPreparedStatement to extend the functionality of the proxy, followed by registering a new proxy object. Proxy objects are installed by mysqlnd_uh_set_connection_proxy() and mysqlnd_uh_set_statement_proxy().

Пример #2 Installing a proxy

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Результат выполнения данного примера:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Setup
Installing a proxy
Quickstart and Examples


Installing a proxy

The extension provides two built-in classes: MysqlndUhConnection and MysqlndUhPreparedStatement. The classes are used for hooking mysqlnd library calls. Their methods correspond to mysqlnd internal functions. By default they act like a transparent proxy and do nothing but call their mysqlnd counterparts. By subclassing the classes you can install your own proxy to monitor mysqlnd.

Please, see How it works for details. However, to get started you do not need to look at the details. Copy the patterns shown in the quickstart instead.

Connections proxies are objects of the type MysqlndUhConnection. Connection proxy objects are installed by mysqlnd_uh_set_connection_proxy(). If you install the built-in class MysqlndUhConnection as a proxy, nothing happens. It behaves like a transparent proxy.

Пример #1 Proxy registration, mysqlnd_uh.enable=1

<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable setting controls whether a proxy may be set. If disabled, the extension will throw errors of type E_WARNING

Пример #2 Proxy installation disabled

mysqlnd_uh.enable=0
<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

Результат выполнения данного примера:

PHP Warning:  MysqlndUhConnection::__construct(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enabled = false.  You must not use any of the base classes in %s on line %d
PHP Warning:  mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed  in %s on line %d

To monitor mysqlnd you have to write your own proxy object subclassing MysqlndUhConnection. Please, see the function reference for a the list of methods that can be subclassed. Alternatively, you can use reflection to inspect the built-in MysqlndUhConnection.

Create a new class proxy. Derive it from the built-in class MysqlndUhConnection. Replace the MysqlndUhConnection::connect(). method. Print out the host parameter value passed to the method. Make sure that you call the parent implementation of the connect method. Failing to do so may give unexpected and undesired results, including memory leaks and crashes.

Register your proxy and open three connections using the PHP MySQL extensions mysqli, mysql, PDO_MYSQL. If the extensions have been compiled to use the mysqlnd library, the proxy::connect method will be called three times, once for each connection opened.

Пример #3 Connection proxy

<?php
class proxy extends MysqlndUhConnection {
  public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("Connection opened to '%s'\n", $host);
   /* Always call the parent implementation! */
   return parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
  }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysql = mysql_connect("localhost", "root", "");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
?>

Результат выполнения данного примера:

Connection opened to 'localhost'
Connection opened to 'localhost'
Connection opened to 'localhost'

The use of prepared statement proxies follows the same pattern: create a proxy object of the type MysqlndUhPreparedStatement and install the proxy using mysqlnd_uh_set_statement_proxy().

Пример #4 Prepared statement proxy

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, $query);
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL");
?>

Результат выполнения данного примера:

stmt_proxy::prepare(SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL)

How it works
Basic query monitoring
Quickstart and Examples


Basic query monitoring

Basic monitoring of a query statement is easy with PECL/mysqlnd_uh. Combined with debug_print_backtrace() it can become a powerful tool, for example, to find the origin of certain statement. This may be desired when searching for slow queries but also after database refactorings to find code still accessing deprecated databases or tables. The latter may be a complicated matter to do otherwise, if the application uses auto-generated queries.

Пример #1 Basic Monitoring

<?php
class conn_proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  debug_print_backtrace();
  return parent::query($res, $query);
 }
}
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  debug_print_backtrace();
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_connection_proxy(new conn_proxy());
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

printf("Proxies installed...\n");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
var_dump($pdo->query("SELECT 1 AS _one FROM DUAL")->fetchAll(PDO::FETCH_ASSOC));

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->prepare("SELECT 1 AS _two FROM DUAL");
?>

Результат выполнения данного примера:

#0  conn_proxy->query(Resource id #19, SELECT 1 AS _one FROM DUAL)
#1  PDO->query(SELECT 1 AS _one FROM DUAL) called at [example.php:19]
array(1) {
  [0]=>
  array(1) {
    ["_one"]=>
    string(1) "1"
  }
}
#0  stmt_proxy->prepare(Resource id #753, SELECT 1 AS _two FROM DUAL)
#1  mysqli->prepare(SELECT 1 AS _two FROM DUAL) called at [example.php:22]

For basic query monitoring you should install a connection and a prepared statement proxy. The connection proxy should subclass MysqlndUhConnection::query(). All database queries not using native prepared statements will call this method. In the example the query function is invoked by a PDO call. By default, PDO_MySQL is using prepared statement emulation.

All native prepared statements are prepared with the prepare method of mysqlnd exported through MysqlndUhPreparedStatement::prepare(). Subclass MysqlndUhPreparedStatement and overwrite prepare for native prepared statement monitoring.

Installing a proxy
Установка и настройка
Quickstart and Examples


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Basic query monitoring
Требования
mysqlnd_uh


Требования

PHP 5.3.3 or later. It is recommended to use PHP 5.4.0 or later to get access to the latest mysqlnd features.

The mysqlnd_uh user handler plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_uh plugin for mysqlnd.

The alpha versions makes use of some mysqli features. You must enable mysqli to compile the plugin. This requirement may be removed in the future. Note, that this requirement does not restrict you to use the plugin only with mysqli. You can use the plugin to monitor mysql, mysqli and PDO_MYSQL.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mysqlnd-uh

PECL/mysqlnd_uh is currently not available on Windows. The source code of the extension makes use of C99 constructs not allowed with PHP Windows builds.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mysqlnd_uh Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

mysqlnd_uh.enable integer

Enables or disables the plugin. If set to disabled, the extension will not allow users to plug into mysqlnd to hook mysqlnd calls.

mysqlnd_uh.report_wrong_types integer

Wheter to report wrong return value types of user hooks as error of the type E_WARNING. It is strongly recommended to use this setting for detecting possible issues.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Most of the constants refer to details of the MySQL Client Server Protocol. Please, refer to the MySQL reference manual to learn about their meaning. To avoid content duplication, only short descriptions are given.

MysqlndUhConnection::simpleCommand() related

The following constants can be used to detect what command is to be send through MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_COM_SLEEP (integer)
MySQL Client Server protocol command: COM_SLEEP.
MYSQLND_UH_MYSQLND_COM_QUIT (integer)
MySQL Client Server protocol command: COM_QUIT.
MYSQLND_UH_MYSQLND_COM_INIT_DB (integer)
MySQL Client Server protocol command: COM_INIT_DB.
MYSQLND_UH_MYSQLND_COM_QUERY (integer)
MySQL Client Server protocol command: COM_QUERY.
MYSQLND_UH_MYSQLND_COM_FIELD_LIST (integer)
MySQL Client Server protocol command: COM_FIELD_LIST.
MYSQLND_UH_MYSQLND_COM_CREATE_DB (integer)
MySQL Client Server protocol command: COM_CREATE_DB.
MYSQLND_UH_MYSQLND_COM_DROP_DB (integer)
MySQL Client Server protocol command: COM_DROP_DB.
MYSQLND_UH_MYSQLND_COM_REFRESH (integer)
MySQL Client Server protocol command: COM_REFRESH.
MYSQLND_UH_MYSQLND_COM_SHUTDOWN (integer)
MySQL Client Server protocol command: COM_SHUTDOWN.
MYSQLND_UH_MYSQLND_COM_STATISTICS (integer)
MySQL Client Server protocol command: COM_STATISTICS.
MYSQLND_UH_MYSQLND_COM_PROCESS_INFO (integer)
MySQL Client Server protocol command: COM_PROCESS_INFO.
MYSQLND_UH_MYSQLND_COM_CONNECT (integer)
MySQL Client Server protocol command: COM_CONNECT.
MYSQLND_UH_MYSQLND_COM_PROCESS_KILL (integer)
MySQL Client Server protocol command: COM_PROCESS_KILL.
MYSQLND_UH_MYSQLND_COM_DEBUG (integer)
MySQL Client Server protocol command: COM_DEBUG.
MYSQLND_UH_MYSQLND_COM_PING (integer)
MySQL Client Server protocol command: COM_PING.
MYSQLND_UH_MYSQLND_COM_TIME (integer)
MySQL Client Server protocol command: COM_TIME.
MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT (integer)
MySQL Client Server protocol command: COM_DELAYED_INSERT.
MYSQLND_UH_MYSQLND_COM_CHANGE_USER (integer)
MySQL Client Server protocol command: COM_CHANGE_USER.
MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP (integer)
MySQL Client Server protocol command: COM_BINLOG_DUMP.
MYSQLND_UH_MYSQLND_COM_TABLE_DUMP (integer)
MySQL Client Server protocol command: COM_TABLE_DUMP.
MYSQLND_UH_MYSQLND_COM_CONNECT_OUT (integer)
MySQL Client Server protocol command: COM_CONNECT_OUT.
MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED (integer)
MySQL Client Server protocol command: COM_REGISTER_SLAVED.
MYSQLND_UH_MYSQLND_COM_STMT_PREPARE (integer)
MySQL Client Server protocol command: COM_STMT_PREPARE.
MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE (integer)
MySQL Client Server protocol command: COM_STMT_EXECUTE.
MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA (integer)
MySQL Client Server protocol command: COM_STMT_SEND_LONG_DATA.
MYSQLND_UH_MYSQLND_COM_STMT_CLOSE (integer)
MySQL Client Server protocol command: COM_STMT_CLOSE.
MYSQLND_UH_MYSQLND_COM_STMT_RESET (integer)
MySQL Client Server protocol command: COM_STMT_RESET.
MYSQLND_UH_MYSQLND_COM_SET_OPTION (integer)
MySQL Client Server protocol command: COM_SET_OPTION.
MYSQLND_UH_MYSQLND_COM_STMT_FETCH (integer)
MySQL Client Server protocol command: COM_STMT_FETCH.
MYSQLND_UH_MYSQLND_COM_DAEMON (integer)
MySQL Client Server protocol command: COM_DAEMON.
MYSQLND_UH_MYSQLND_COM_END (integer)
MySQL Client Server protocol command: COM_END.

The following constants can be used to analyze the ok_packet argument of MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_PROT_GREET_PACKET (integer)
MySQL Client Server protocol packet: greeting.
MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET (integer)
MySQL Client Server protocol packet: authentification.
MYSQLND_UH_MYSQLND_PROT_OK_PACKET (integer)
MySQL Client Server protocol packet: OK.
MYSQLND_UH_MYSQLND_PROT_EOF_PACKET (integer)
MySQL Client Server protocol packet: EOF.
MYSQLND_UH_MYSQLND_PROT_CMD_PACKET (integer)
MySQL Client Server protocol packet: command.
MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET (integer)
MySQL Client Server protocol packet: result set header.
MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET (integer)
MySQL Client Server protocol packet: resultset field.
MYSQLND_UH_MYSQLND_PROT_ROW_PACKET (integer)
MySQL Client Server protocol packet: row.
MYSQLND_UH_MYSQLND_PROT_STATS_PACKET (integer)
MySQL Client Server protocol packet: stats.
MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET (integer)
MySQL Client Server protocol packet: prepare response.
MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET (integer)
MySQL Client Server protocol packet: change user response.
MYSQLND_UH_MYSQLND_PROT_LAST (integer)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::close() related

The following constants can be used to detect why a connection has been closed through MysqlndUhConnection::close().

MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT (integer)
User has called mysqlnd to close the connection.
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT (integer)
Implicity close, for example, during garbage connection.
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED (integer)
Connection error.
MYSQLND_UH_MYSQLND_CLOSE_LAST (integer)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::setServerOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setServerOption().

MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON (integer)
Option: enables multi statement support.
MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF (integer)
Option: disables multi statement support.

MysqlndUhConnection::setClientOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setClientOption().

MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT (integer)
Option: connection timeout.
MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS (integer)
Option: wheter the MySQL compressed protocol is to be used.
MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE (integer)
Option: named pipe to use for connection (Windows).
MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND (integer)
Option: init command to execute upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE (integer)
Option: MySQL server default file to read upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP (integer)
Option: MySQL server default file group to read upon connect.
MYSQLND_UH_MYSQLND_SET_CHARSET_DIR (integer)
Option: charset description files directory.
MYSQLND_UH_MYSQLND_SET_CHARSET_NAME (integer)
Option: charset name.
MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE (integer)
Option: Wheter to allow LOAD DATA LOCAL INFILE use.
MYSQLND_UH_MYSQLND_OPT_PROTOCOL (integer)
Option: supported protocol version.
MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME (integer)
Option: shared memory base name for shared memory connections.
MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT (integer)
Option: connection read timeout.
MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT (integer)
Option: connection write timeout.
MYSQLND_UH_MYSQLND_OPT_USE_RESULT (integer)
Option: unbuffered result sets.
MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION (integer)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION (integer)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION (integer)
TODO
MYSQLND_UH_MYSQLND_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_SECURE_AUTH (integer)
TODO
MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION (integer)
Option: Wheter to report data truncation.
MYSQLND_UH_MYSQLND_OPT_RECONNECT (integer)
Option: Wheter to reconnect automatically.
MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT (integer)
Option: TODO
MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE (integer)
Option: mysqlnd network buffer size for commands.
MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE (integer)
Option: mysqlnd network buffer size for reading from the server.
MYSQLND_UH_MYSQLND_OPT_SSL_KEY (integer)
Option: SSL key.
MYSQLND_UH_MYSQLND_OPT_SSL_CERT (integer)
Option: SSL certificate.
MYSQLND_UH_MYSQLND_OPT_SSL_CA (integer)
Option: SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH (integer)
Option: Path to SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER (integer)
Option: SSL cipher.
MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE (integer)
Option: SSL passphrase.
MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR (integer)
Option: server plugin directory.
MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH (integer)
Option: default authentification method.
MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET (integer)
Option: maximum allowd packet size. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL (integer)
Option: TODO. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE (integer)
Option: make mysqlnd return integer and float columns as long even when using the MySQL Client Server text protocol. Only available with a custom build of mysqlnd.

Other

The plugins version number can be obtained using MYSQLND_UH_VERSION or MYSQLND_UH_VERSION_ID. MYSQLND_UH_VERSION is the string representation of the numerical version number MYSQLND_UH_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_UH_VERSION_ID | 10000

MYSQLND_UH_VERSION (string)
Plugin version string, for example, "1.0.0-alpha".
MYSQLND_UH_VERSION_ID (integer)
Plugin version number, for example, 10000.

Типы ресурсов
Mysqlnd_uh Функции
mysqlnd_uh


Mysqlnd_uh Функции

Содержание

  • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
  • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
  • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements
  • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
  • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
  • MysqlndUhConnection::close — Closes a previously opened database connection
  • MysqlndUhConnection::connect — Open a new connection to the MySQL server
  • MysqlndUhConnection::__construct — The __construct purpose
  • MysqlndUhConnection::endPSession — End a persistent connection
  • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
  • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
  • MysqlndUhConnection::getErrorString — Returns a string description of the last error
  • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
  • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
  • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.
  • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
  • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
  • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
  • MysqlndUhConnection::getServerStatistics — Gets the current system status
  • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
  • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
  • MysqlndUhConnection::getStatistics — Returns statistics about the client connection.
  • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
  • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
  • MysqlndUhConnection::init — Initialize mysqlnd connection
  • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
  • MysqlndUhConnection::listFields — List MySQL table fields
  • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
  • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
  • MysqlndUhConnection::nextResult — Prepare next result from multi_query
  • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • MysqlndUhConnection::query — Performs a query on the database
  • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
  • MysqlndUhConnection::reapQuery — Get result from async query
  • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
  • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
  • MysqlndUhConnection::selectDb — Selects the default database for database queries
  • MysqlndUhConnection::sendClose — Sends a close command to MySQL
  • MysqlndUhConnection::sendQuery — Sends a query to MySQL
  • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
  • MysqlndUhConnection::setAutocommit — Turns on or off auto-commiting database modifications
  • MysqlndUhConnection::setCharset — Sets the default client character set
  • MysqlndUhConnection::setClientOption — Sets a client option
  • MysqlndUhConnection::setServerOption — Sets a server option
  • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
  • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
  • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
  • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
  • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
  • MysqlndUhConnection::storeResult — Transfers a result set from the last query
  • MysqlndUhConnection::txCommit — Commits the current transaction
  • MysqlndUhConnection::txRollback — Rolls back current transaction
  • MysqlndUhConnection::useResult — Initiate a result set retrieval
  • MysqlndUhPreparedStatement::__construct — The __construct purpose
  • MysqlndUhPreparedStatement::execute — Executes a prepared Query
  • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
Предопределенные константы
mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh


Converts a MySQL connection handle into a mysqlnd connection handle

Mysqlnd_uh Функции
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Функции
PHP Manual

mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle

Описание

mysqlnd_connection mysqlnd_uh_convert_to_mysqlnd ( resource $mysql_connection )

Converts a MySQL connection handle into a mysqlnd connection handle. After conversion you can execute mysqlnd library calls on the connection handle. This can be used to access mysqlnd functionality not made available through user space API calls.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. You are not allowed to call this function [...].

Список параметров

MySQL connection handle

A MySQL connection handle of type mysql, mysqli or PDO_MySQL.

Замечание:

The MySQL connection handle can be of no other type but mysqli if using PHP < 5.4.0.

Возвращаемые значения

A mysqlnd connection handle.

Примеры

Пример #1 mysqlnd_uh_convert_to_mysqlnd() example

<?php
/* PDO user API gives no access to connection thread id */
$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");

/* Convert PDO MySQL handle to mysqlnd handle */
$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);

/* Create Proxy to call mysqlnd connection class methods */
$obj = new MySQLndUHConnection();
/* Call mysqlnd_conn::get_thread_id */
var_dump($obj->getThreadId($mysqlnd));

/* Use SQL to fetch connection thread id */
var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());
?>

Результат выполнения данного примера:

int(27054)
array(1) {
  [0]=>
  array(2) {
    ["CONNECTION_ID()"]=>
    string(5) "27054"
    [0]=>
    string(5) "27054"
  }
}

Смотрите также

  • mysqlnd_uh.enable

Mysqlnd_uh Функции
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Функции


Installs a proxy for mysqlnd connections

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Mysqlnd_uh Функции
PHP Manual

mysqlnd_uh_set_connection_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections

Описание

bool mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection object &$connection_proxy [, mysqli &$mysqli_connection ] )

Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Список параметров

connection_proxy

A proxy object of type MysqlndUhConnection.

mysqli_connection

Object of type mysqli. If given, the proxy will be set for this particular connection only.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 mysqlnd_uh_set_connection_proxy() example

<?php
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 'No proxy installed, yet'");

class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::query($res, $query);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql = mysql_connect("localhost", "root", "", "test");
mysql_query("SELECT 'Ahoy Andrey!'", $mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
$pdo->query("SELECT 'Moin Johannes!'");
?>

Результат выполнения данного примера:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
))
proxy::query returns true

Смотрите также

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqlnd_uh.enable

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Mysqlnd_uh Функции


Installs a proxy for mysqlnd statements

mysqlnd_uh_set_connection_proxy
MysqlndUhConnection::changeUser
Mysqlnd_uh Функции
PHP Manual

mysqlnd_uh_set_statement_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements

Описание

bool mysqlnd_uh_set_statement_proxy ( MysqlndUhStatement object &$statement_proxy )

Installs a proxy for mysqlnd statements. The proxy object will be used for all mysqlnd prepared statement objects, regardless which PHP MySQL extension (mysqli, mysql, PDO_MYSQL) has created them as long as the extension is compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Список параметров

statement_proxy

The mysqlnd statement proxy object of type MysqlndUhStatement

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqlnd_uh.enable

mysqlnd_uh_set_connection_proxy
MysqlndUhConnection::changeUser
Mysqlnd_uh Функции


Changes the user of the specified mysqlnd database connection

mysqlnd_uh_set_statement_proxy
MysqlndUhConnection::charsetName
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::changeUser

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection

Описание

public bool MysqlndUhConnection::changeUser ( mysqlnd_onnection $connection , string $user , string $password , string $database , bool $silent , integer $passwd_len )

Changes the user of the specified mysqlnd database connection

Список параметров

connection

Mysqlnd connection handle. Do not modify!

user

The MySQL user name.

password

The MySQL password.

database

The MySQL database to change to.

silent

Controls if mysqlnd is allowed to emit errors or not.

passwd_len

Length of the MySQL password.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::changeUser() example

<?php
class proxy extends MysqlndUhConnection {
 /* Hook mysqlnd's connection::change_user call */
 public function changeUser($res, $user, $passwd, $db, $silent, $passwd_len) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::changeUser($res, $user, $passwd, $db, $silent, $passwd_len);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
/* Install proxy/hooks to be used with all future mysqlnd connection */
mysqlnd_uh_set_connection_proxy(new proxy());

/* Create mysqli connection which is using the mysqlnd library */
$mysqli = new mysqli("localhost", "root", "", "test");

/* Example of a user API call which triggers the hooked mysqlnd call */
var_dump($mysqli->change_user("root", "bar", "test"));
?>

Результат выполнения данного примера:

proxy::changeUser(array (
  0 => NULL,
  1 => 'root',
  2 => 'bar',
  3 => 'test',
  4 => false,
  5 => 3,
))
proxy::changeUser returns false
bool(false)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_change_user() - Позволяет сменить пользователя подключенного к базе данных

mysqlnd_uh_set_statement_proxy
MysqlndUhConnection::charsetName
Mysqlnd_uh Функции


Returns the default character set for the database connection

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::charsetName

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::charsetName — Returns the default character set for the database connection

Описание

public string MysqlndUhConnection::charsetName ( mysqlnd_connection $connection )

Returns the default character set for the database connection.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The default cahracter set.

Примеры

Пример #1 MysqlndUhConnection::charsetName() example

<?php
class proxy extends MysqlndUhConnection {
  public function charsetName($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::charsetName($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_character_set_name($mysqli));
?>

Результат выполнения данного примера:

proxy::charsetName(array (
  0 => NULL,
))
proxy::charsetName returns 'latin1'
string(6) "latin1"

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
Mysqlnd_uh Функции


Closes a previously opened database connection

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::close — Closes a previously opened database connection

Описание

public bool MysqlndUhConnection::close ( mysqlnd_connection $connection , integer $close_type )

Closes a previously opened database connection.

Замечание:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Список параметров

connection

The connection to be closed. Do not modify!

close_type

Why the connection is to be closed. The value of close_type is one of MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED or MYSQLND_UH_MYSQLND_CLOSE_LAST. The latter should never be seen, unless the default behaviour of the mysqlnd library has been changed by a plugin.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::close() example

<?php
function close_type_to_string($close_type) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED => "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED",
  MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT"
 );
 return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown';
}

class proxy extends MysqlndUhConnection {
  public function close($res, $close_type) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   printf("close_type = %s\n", close_type_to_string($close_type));
   /* WARNING: you must call the parent */
   $ret = parent::close($res, $close_type);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

Результат выполнения данного примера:

proxy::close(array (
  0 => NULL,
  1 => 0,
))
close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
proxy::close returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_close() - Closes a previously opened database connection
  • mysql_close() - Закрывает соединение с сервером MySQL

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
Mysqlnd_uh Функции


Open a new connection to the MySQL server

MysqlndUhConnection::close
MysqlndUhConnection::__construct
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::connect

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::connect — Open a new connection to the MySQL server

Описание

public bool MysqlndUhConnection::connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , integer $port , string $socket , integer $"mysql_flags" )

Open a new connection to the MySQL server.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

user

The MySQL user name.

password

If not provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

database

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used. If NULL, mysqlnd will default to /tmp/mysql.sock.

mysql_flags

Connection options.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::connect() example

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Результат выполнения данного примера:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysql_connect() - Открывает соединение с сервером MySQL

MysqlndUhConnection::close
MysqlndUhConnection::__construct
Mysqlnd_uh Функции


The __construct purpose

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::__construct — The __construct purpose

Описание

MysqlndUhConnection::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
Mysqlnd_uh Функции


End a persistent connection

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::endPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::endPSession — End a persistent connection

Описание

public bool MysqlndUhConnection::endPSession ( mysqlnd_connection $connection )

End a persistent connection

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::endPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function endPSession($conn) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::endPSession($conn);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("p:localhost", "root", "", "test");
$mysqli->close();
?>

Результат выполнения данного примера:

proxy::endPSession(array (
  0 => NULL,
))
proxy::endPSession returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
Mysqlnd_uh Функции


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::escapeString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Описание

public string MysqlndUhConnection::escapeString ( mysqlnd_connection $connection , string $escape_string )

Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection.

Список параметров

MYSQLND_UH_RES_MYSQLND_NAME

Mysqlnd connection handle. Do not modify!

escape_string

The string to be escaped.

Возвращаемые значения

The escaped string.

Примеры

Пример #1 MysqlndUhConnection::escapeString() example

<?php
class proxy extends MysqlndUhConnection {
 public function escapeString($res, $string) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::escapeString($res, $string);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
$mysqli->real_escape_string("test0'test");
?>

Результат выполнения данного примера:

proxy::escapeString(array (
  0 => NULL,
  1 => 'test0\'test',
))
proxy::escapeString returns 'test0\\\'test'

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysql_real_escape_string() - Экранирует специальные символы в строках для использования в выражениях SQL

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
Mysqlnd_uh Функции


Gets the number of affected rows in a previous MySQL operation

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getAffectedRows

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation

Описание

public integer MysqlndUhConnection::getAffectedRows ( mysqlnd_connection $connection )

Gets the number of affected rows in a previous MySQL operation.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Number of affected rows.

Примеры

Пример #1 MysqlndUhConnection::getAffectedRows() example

<?php
class proxy extends MysqlndUhConnection {
 public function getAffectedRows($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getAffectedRows($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");
var_dump($mysqli->affected_rows);
?>

Результат выполнения данного примера:

proxy::getAffectedRows(array (
  0 => NULL,
))
proxy::getAffectedRows returns 1
int(1)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_affected_rows() - Получает число строк, затронутых предыдущей операцией MySQL
  • mysql_affected_rows() - Возвращает число затронутых прошлой операцией рядов

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
Mysqlnd_uh Функции


Returns the error code for the most recent function call

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getErrorNumber

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call

Описание

public integer MysqlndUhConnection::getErrorNumber ( mysqlnd_connection $connection )

Returns the error code for the most recent function call.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Error code for the most recent function call.

Примеры

MysqlndUhConnection::getErrorNumber() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Пример #1 MysqlndUhConnection::getErrorNumber() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorNumber($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorNumber($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("PLEASE_LET_THIS_BE_INVALID_SQL");
printf("errno...\n");
var_dump($mysqli->errno);
printf("close...\n");
$mysqli->close();
?>

Результат выполнения данного примера:

connect...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 0
query...
errno...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 1064
int(1064)
close...

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorString() - Returns a string description of the last error
  • mysqli_errno() - Возвращает код ошибки последнего вызова функции
  • mysql_errno() - Возвращает численный код ошибки выполнения последней операции с MySQL

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
Mysqlnd_uh Функции


Returns a string description of the last error

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getErrorString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorString — Returns a string description of the last error

Описание

public string MysqlndUhConnection::getErrorString ( mysqlnd_connection $connection )

Returns a string description of the last error.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Error string for the most recent function call.

Примеры

MysqlndUhConnection::getErrorString() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Пример #1 MysqlndUhConnection::getErrorString() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorString($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorString($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
printf("errno...\n");
var_dump($mysqli->error);
printf("close...\n");
$mysqli->close();
?>

Результат выполнения данного примера:

connect...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns ''
query...
errno...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'WILL_I_EVER_LEARN_SQL?\' at line 1'
string(168) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WILL_I_EVER_LEARN_SQL?' at line 1"
close...

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorNumber() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysql_error() - Возвращает текст ошибки последней операции с MySQL

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
Mysqlnd_uh Функции


Returns the number of columns for the most recent query

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getFieldCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query

Описание

public integer MysqlndUhConnection::getFieldCount ( mysqlnd_connection $connection )

Returns the number of columns for the most recent query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Number of columns.

Примеры

MysqlndUhConnection::getFieldCount() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Пример #1 MysqlndUhConnection::getFieldCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getFieldCount($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getFieldCount($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
var_dump($mysqli->field_count);
$mysqli->query("SELECT 1, 2, 3 FROM DUAL");
var_dump($mysqli->field_count);
?>

Результат выполнения данного примера:

proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 0
int(0)
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
int(3)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_field_count() - Возвращает число столбцов, затронутых последним запросом

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
Mysqlnd_uh Функции


Returns a string representing the type of connection used

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getHostInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used

Описание

public string MysqlndUhConnection::getHostInformation ( mysqlnd_connection $connection )

Returns a string representing the type of connection used.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Connection description.

Примеры

Пример #1 MysqlndUhConnection::getHostInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getHostInformation($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getHostInformation($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->host_info);
?>

Результат выполнения данного примера:

proxy::getHostInformation(array (
  0 => NULL,
))
proxy::getHostInformation returns 'Localhost via UNIX socket'
string(25) "Localhost via UNIX socket"

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_host_info() - Возвращает строку, содержащую тип используемого соединения
  • mysql_get_host_info() - Возвращает информацию о соединении с MySQL

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
Mysqlnd_uh Функции


Returns the auto generated id used in the last query.

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getLastInsertId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.

Описание

public integer MysqlndUhConnection::getLastInsertId ( mysqlnd_connection $connection )

Returns the auto generated id used in the last query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Last insert id.

Примеры

Пример #1 MysqlndUhConnection::getLastInsertId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastInsertId($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastInsertId($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT AUTO_INCREMENT PRIMARY KEY, col VARCHAR(255))");
$mysqli->query("INSERT INTO test(col) VALUES ('a')");
var_dump($mysqli->insert_id);
?>

Результат выполнения данного примера:

proxy::getLastInsertId(array (
  0 => NULL,
))
proxy::getLastInsertId returns 1
int(1)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_insert_id() - Возвращает автоматически генерируемый ID, используя последний запрос
  • mysql_insert_id() - Возвращает идентификатор, сгенерированный при последнем INSERT-запросе

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
Mysqlnd_uh Функции


Retrieves information about the most recently executed query

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getLastMessage

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query

Описание

public void MysqlndUhConnection::getLastMessage ( mysqlnd_connection $connection )

Retrieves information about the most recently executed query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Last message. Trying to return a string longer than 511 bytes will cause an error of the type E_WARNING and result in the string being truncated.

Примеры

Пример #1 MysqlndUhConnection::getLastMessage() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastMessage($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastMessage($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->info);
$mysqli->query("DROP TABLE IF EXISTS test");
var_dump($mysqli->info);
?>

Результат выполнения данного примера:

proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""
proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_info() - Retrieves information about the most recently executed query
  • mysql_info() - Возвращает информацию о последнем запросе

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
Mysqlnd_uh Функции


Returns the version of the MySQL protocol used

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getProtocolInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used

Описание

public string MysqlndUhConnection::getProtocolInformation ( mysqlnd_connection $connection )

Returns the version of the MySQL protocol used.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The protocol version.

Примеры

Пример #1 MysqlndUhConnection::getProtocolInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getProtocolInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getProtocolInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->protocol_version);
?>

Результат выполнения данного примера:

proxy::getProtocolInformation(array (
  0 => NULL,
))
proxy::getProtocolInformation returns 10
int(10)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_proto_info() - Возвращает версию используемого MySQL протокола
  • mysql_get_proto_info() - Возвращает информацию о протоколе MySQL

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
Mysqlnd_uh Функции


Returns the version of the MySQL server

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getServerInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server

Описание

public string MysqlndUhConnection::getServerInformation ( mysqlnd_connection $connection )

Returns the version of the MySQL server.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The server version.

Примеры

Пример #1 MysqlndUhConnection::getServerInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_info);
?>

Результат выполнения данного примера:

proxy::getServerInformation(array (
  0 => NULL,
))
proxy::getServerInformation returns '5.1.45-debug-log'
string(16) "5.1.45-debug-log"

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_info() - Возвращает версию MySQL сервера
  • mysql_get_server_info() - Возвращает информацию о сервере MySQL

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
Mysqlnd_uh Функции


Gets the current system status

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getServerStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerStatistics — Gets the current system status

Описание

public string MysqlndUhConnection::getServerStatistics ( mysqlnd_connection $connection )

Gets the current system status.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The system status message.

Примеры

Пример #1 MysqlndUhConnection::getServerStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_stat($mysqli));
?>

Результат выполнения данного примера:

proxy::getServerStatistics(array (
  0 => NULL,
))
proxy::getServerStatistics returns 'Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61'
string(140) "Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61"

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stat() - Gets the current system status
  • mysql_stat() - Возвращает текущий статус сервера

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
Mysqlnd_uh Функции


Returns the version of the MySQL server as an integer

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getServerVersion

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer

Описание

public integer MysqlndUhConnection::getServerVersion ( mysqlnd_connection $connection )

Returns the version of the MySQL server as an integer.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The MySQL version.

Примеры

Пример #1 MysqlndUhConnection::getServerVersion() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerVersion($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerVersion($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_version);
?>

Результат выполнения данного примера:

proxy::getServerVersion(array (
  0 => NULL,
))
proxy::getServerVersion returns 50145
int(50145)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer
  • mysql_get_server_version()

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
Mysqlnd_uh Функции


Returns the SQLSTATE error from previous MySQL operation

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getSqlstate

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation

Описание

public string MysqlndUhConnection::getSqlstate ( mysqlnd_connection $connection )

Returns the SQLSTATE error from previous MySQL operation.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

The SQLSTATE code.

Примеры

Пример #1 MysqlndUhConnection::getSqlstate() example

<?php
class proxy extends MysqlndUhConnection {
 public function getSqlstate($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getSqlstate($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->sqlstate);
$mysqli->query("AN_INVALID_REQUEST_TO_PROVOKE_AN_ERROR");
var_dump($mysqli->sqlstate);
?>

Результат выполнения данного примера:

proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '00000'
string(5) "00000"
proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '42000'
string(5) "42000"

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_sql_state()

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
Mysqlnd_uh Функции


Returns statistics about the client connection.

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getStatistics — Returns statistics about the client connection.

Описание

public array MysqlndUhConnection::getStatistics ( mysqlnd_connection $connection )

Returns statistics about the client connection.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Connection statistics collected by mysqlnd.

Примеры

Пример #1 MysqlndUhConnection::getStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->get_connection_stats());
?>

Результат выполнения данного примера:

proxy::getStatistics(array (
  0 => NULL,
))
proxy::getStatistics returns array (
  'bytes_sent' => '73',
  'bytes_received' => '77',
  'packets_sent' => '2',
  'packets_received' => '2',
  'protocol_overhead_in' => '8',
  'protocol_overhead_out' => '8',
  'bytes_received_ok_packet' => '0',
  'bytes_received_eof_packet' => '0',
  'bytes_received_rset_header_packet' => '0',
  'bytes_received_rset_field_meta_packet' => '0',
  'bytes_received_rset_row_packet' => '0',
  'bytes_received_prepare_response_packet' => '0',
  'bytes_received_change_user_packet' => '0',
  'packets_sent_command' => '0',
  'packets_received_ok' => '0',
  'packets_received_eof' => '0',
  'packets_received_rset_header' => '0',
  'packets_received_rset_field_meta' => '0',
  'packets_received_rset_row' => '0',
  'packets_received_prepare_response' => '0',
  'packets_received_change_user' => '0',
  'result_set_queries' => '0',
  'non_result_set_queries' => '0',
  'no_index_used' => '0',
  'bad_index_used' => '0',
  'slow_queries' => '0',
  'buffered_sets' => '0',
  'unbuffered_sets' => '0',
  'ps_buffered_sets' => '0',
  'ps_unbuffered_sets' => '0',
  'flushed_normal_sets' => '0',
  'flushed_ps_sets' => '0',
  'ps_prepared_never_executed' => '0',
  'ps_prepared_once_executed' => '0',
  'rows_fetched_from_server_normal' => '0',
  'rows_fetched_from_server_ps' => '0',
  'rows_buffered_from_client_normal' => '0',
  'rows_buffered_from_client_ps' => '0',
  'rows_fetched_from_client_normal_buffered' => '0',
  'rows_fetched_from_client_normal_unbuffered' => '0',
  'rows_fetched_from_client_ps_buffered' => '0',
  'rows_fetched_from_client_ps_unbuffered' => '0',
  'rows_fetched_from_client_ps_cursor' => '0',
  'rows_affected_normal' => '0',
  'rows_affected_ps' => '0',
  'rows_skipped_normal' => '0',
  'rows_skipped_ps' => '0',
  'copy_on_write_saved' => '0',
  'copy_on_write_performed' => '0',
  'command_buffer_too_small' => '0',
  'connect_success' => '1',
  'connect_failure' => '0',
  'connection_reused' => '0',
  'reconnect' => '0',
  'pconnect_success' => '0',
  'active_connections' => '1',
  'active_persistent_connections' => '0',
  'explicit_close' => '0',
  'implicit_close' => '0',
  'disconnect_close' => '0',
  'in_middle_of_command_close' => '0',
  'explicit_free_result' => '0',
  'implicit_free_result' => '0',
  'explicit_stmt_close' => '0',
  'implicit_stmt_close' => '0',
  'mem_emalloc_count' => '0',
  'mem_emalloc_amount' => '0',
  'mem_ecalloc_count' => '0',
  'mem_ecalloc_amount' => '0',
  'mem_erealloc_count' => '0',
  'mem_erealloc_amount' => '0',
  'mem_efree_count' => '0',
  'mem_efree_amount' => '0',
  'mem_malloc_count' => '0',
  'mem_malloc_amount' => '0',
  'mem_calloc_count' => '0',
  'mem_calloc_amount' => '0',
  'mem_realloc_count' => '0',
  'mem_realloc_amount' => '0',
  'mem_free_count' => '0',
  'mem_free_amount' => '0',
  'mem_estrndup_count' => '0',
  'mem_strndup_count' => '0',
  'mem_estndup_count' => '0',
  'mem_strdup_count' => '0',
  'proto_text_fetched_null' => '0',
  'proto_text_fetched_bit' => '0',
  'proto_text_fetched_tinyint' => '0',
  'proto_text_fetched_short' => '0',
  'proto_text_fetched_int24' => '0',
  'proto_text_fetched_int' => '0',
  'proto_text_fetched_bigint' => '0',
  'proto_text_fetched_decimal' => '0',
  'proto_text_fetched_float' => '0',
  'proto_text_fetched_double' => '0',
  'proto_text_fetched_date' => '0',
  'proto_text_fetched_year' => '0',
  'proto_text_fetched_time' => '0',
  'proto_text_fetched_datetime' => '0',
  'proto_text_fetched_timestamp' => '0',
  'proto_text_fetched_string' => '0',
  'proto_text_fetched_blob' => '0',
  'proto_text_fetched_enum' => '0',
  'proto_text_fetched_set' => '0',
  'proto_text_fetched_geometry' => '0',
  'proto_text_fetched_other' => '0',
  'proto_binary_fetched_null' => '0',
  'proto_binary_fetched_bit' => '0',
  'proto_binary_fetched_tinyint' => '0',
  'proto_binary_fetched_short' => '0',
  'proto_binary_fetched_int24' => '0',
  'proto_binary_fetched_int' => '0',
  'proto_binary_fetched_bigint' => '0',
  'proto_binary_fetched_decimal' => '0',
  'proto_binary_fetched_float' => '0',
  'proto_binary_fetched_double' => '0',
  'proto_binary_fetched_date' => '0',
  'proto_binary_fetched_year' => '0',
  'proto_binary_fetched_time' => '0',
  'proto_binary_fetched_datetime' => '0',
  'proto_binary_fetched_timestamp' => '0',
  'proto_binary_fetched_string' => '0',
  'proto_binary_fetched_blob' => '0',
  'proto_binary_fetched_enum' => '0',
  'proto_binary_fetched_set' => '0',
  'proto_binary_fetched_geometry' => '0',
  'proto_binary_fetched_other' => '0',
  'init_command_executed_count' => '0',
  'init_command_failed_count' => '0',
  'com_quit' => '0',
  'com_init_db' => '0',
  'com_query' => '0',
  'com_field_list' => '0',
  'com_create_db' => '0',
  'com_drop_db' => '0',
  'com_refresh' => '0',
  'com_shutdown' => '0',
  'com_statistics' => '0',
  'com_process_info' => '0',
  'com_connect' => '0',
  'com_process_kill' => '0',
  'com_debug' => '0',
  'com_ping' => '0',
  'com_time' => '0',
  'com_delayed_insert' => '0',
  'com_change_user' => '0',
  'com_binlog_dump' => '0',
  'com_table_dump' => '0',
  'com_connect_out' => '0',
  'com_register_slave' => '0',
  'com_stmt_prepare' => '0',
  'com_stmt_execute' => '0',
  'com_stmt_send_long_data' => '0',
  'com_stmt_close' => '0',
  'com_stmt_reset' => '0',
  'com_stmt_set_option' => '0',
  'com_stmt_fetch' => '0',
  'com_deamon' => '0',
  'bytes_received_real_data_normal' => '0',
  'bytes_received_real_data_ps' => '0',
)
array(160) {
  ["bytes_sent"]=>
  string(2) "73"
  ["bytes_received"]=>
  string(2) "77"
  ["packets_sent"]=>
  string(1) "2"
  ["packets_received"]=>
  string(1) "2"
  ["protocol_overhead_in"]=>
  string(1) "8"
  ["protocol_overhead_out"]=>
  string(1) "8"
  ["bytes_received_ok_packet"]=>
  string(1) "0"
  ["bytes_received_eof_packet"]=>
  string(1) "0"
  ["bytes_received_rset_header_packet"]=>
  string(1) "0"
  ["bytes_received_rset_field_meta_packet"]=>
  string(1) "0"
  ["bytes_received_rset_row_packet"]=>
  string(1) "0"
  ["bytes_received_prepare_response_packet"]=>
  string(1) "0"
  ["bytes_received_change_user_packet"]=>
  string(1) "0"
  ["packets_sent_command"]=>
  string(1) "0"
  ["packets_received_ok"]=>
  string(1) "0"
  ["packets_received_eof"]=>
  string(1) "0"
  ["packets_received_rset_header"]=>
  string(1) "0"
  ["packets_received_rset_field_meta"]=>
  string(1) "0"
  ["packets_received_rset_row"]=>
  string(1) "0"
  ["packets_received_prepare_response"]=>
  string(1) "0"
  ["packets_received_change_user"]=>
  string(1) "0"
  ["result_set_queries"]=>
  string(1) "0"
  ["non_result_set_queries"]=>
  string(1) "0"
  ["no_index_used"]=>
  string(1) "0"
  ["bad_index_used"]=>
  string(1) "0"
  ["slow_queries"]=>
  string(1) "0"
  ["buffered_sets"]=>
  string(1) "0"
  ["unbuffered_sets"]=>
  string(1) "0"
  ["ps_buffered_sets"]=>
  string(1) "0"
  ["ps_unbuffered_sets"]=>
  string(1) "0"
  ["flushed_normal_sets"]=>
  string(1) "0"
  ["flushed_ps_sets"]=>
  string(1) "0"
  ["ps_prepared_never_executed"]=>
  string(1) "0"
  ["ps_prepared_once_executed"]=>
  string(1) "0"
  ["rows_fetched_from_server_normal"]=>
  string(1) "0"
  ["rows_fetched_from_server_ps"]=>
  string(1) "0"
  ["rows_buffered_from_client_normal"]=>
  string(1) "0"
  ["rows_buffered_from_client_ps"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_cursor"]=>
  string(1) "0"
  ["rows_affected_normal"]=>
  string(1) "0"
  ["rows_affected_ps"]=>
  string(1) "0"
  ["rows_skipped_normal"]=>
  string(1) "0"
  ["rows_skipped_ps"]=>
  string(1) "0"
  ["copy_on_write_saved"]=>
  string(1) "0"
  ["copy_on_write_performed"]=>
  string(1) "0"
  ["command_buffer_too_small"]=>
  string(1) "0"
  ["connect_success"]=>
  string(1) "1"
  ["connect_failure"]=>
  string(1) "0"
  ["connection_reused"]=>
  string(1) "0"
  ["reconnect"]=>
  string(1) "0"
  ["pconnect_success"]=>
  string(1) "0"
  ["active_connections"]=>
  string(1) "1"
  ["active_persistent_connections"]=>
  string(1) "0"
  ["explicit_close"]=>
  string(1) "0"
  ["implicit_close"]=>
  string(1) "0"
  ["disconnect_close"]=>
  string(1) "0"
  ["in_middle_of_command_close"]=>
  string(1) "0"
  ["explicit_free_result"]=>
  string(1) "0"
  ["implicit_free_result"]=>
  string(1) "0"
  ["explicit_stmt_close"]=>
  string(1) "0"
  ["implicit_stmt_close"]=>
  string(1) "0"
  ["mem_emalloc_count"]=>
  string(1) "0"
  ["mem_emalloc_amount"]=>
  string(1) "0"
  ["mem_ecalloc_count"]=>
  string(1) "0"
  ["mem_ecalloc_amount"]=>
  string(1) "0"
  ["mem_erealloc_count"]=>
  string(1) "0"
  ["mem_erealloc_amount"]=>
  string(1) "0"
  ["mem_efree_count"]=>
  string(1) "0"
  ["mem_efree_amount"]=>
  string(1) "0"
  ["mem_malloc_count"]=>
  string(1) "0"
  ["mem_malloc_amount"]=>
  string(1) "0"
  ["mem_calloc_count"]=>
  string(1) "0"
  ["mem_calloc_amount"]=>
  string(1) "0"
  ["mem_realloc_count"]=>
  string(1) "0"
  ["mem_realloc_amount"]=>
  string(1) "0"
  ["mem_free_count"]=>
  string(1) "0"
  ["mem_free_amount"]=>
  string(1) "0"
  ["mem_estrndup_count"]=>
  string(1) "0"
  ["mem_strndup_count"]=>
  string(1) "0"
  ["mem_estndup_count"]=>
  string(1) "0"
  ["mem_strdup_count"]=>
  string(1) "0"
  ["proto_text_fetched_null"]=>
  string(1) "0"
  ["proto_text_fetched_bit"]=>
  string(1) "0"
  ["proto_text_fetched_tinyint"]=>
  string(1) "0"
  ["proto_text_fetched_short"]=>
  string(1) "0"
  ["proto_text_fetched_int24"]=>
  string(1) "0"
  ["proto_text_fetched_int"]=>
  string(1) "0"
  ["proto_text_fetched_bigint"]=>
  string(1) "0"
  ["proto_text_fetched_decimal"]=>
  string(1) "0"
  ["proto_text_fetched_float"]=>
  string(1) "0"
  ["proto_text_fetched_double"]=>
  string(1) "0"
  ["proto_text_fetched_date"]=>
  string(1) "0"
  ["proto_text_fetched_year"]=>
  string(1) "0"
  ["proto_text_fetched_time"]=>
  string(1) "0"
  ["proto_text_fetched_datetime"]=>
  string(1) "0"
  ["proto_text_fetched_timestamp"]=>
  string(1) "0"
  ["proto_text_fetched_string"]=>
  string(1) "0"
  ["proto_text_fetched_blob"]=>
  string(1) "0"
  ["proto_text_fetched_enum"]=>
  string(1) "0"
  ["proto_text_fetched_set"]=>
  string(1) "0"
  ["proto_text_fetched_geometry"]=>
  string(1) "0"
  ["proto_text_fetched_other"]=>
  string(1) "0"
  ["proto_binary_fetched_null"]=>
  string(1) "0"
  ["proto_binary_fetched_bit"]=>
  string(1) "0"
  ["proto_binary_fetched_tinyint"]=>
  string(1) "0"
  ["proto_binary_fetched_short"]=>
  string(1) "0"
  ["proto_binary_fetched_int24"]=>
  string(1) "0"
  ["proto_binary_fetched_int"]=>
  string(1) "0"
  ["proto_binary_fetched_bigint"]=>
  string(1) "0"
  ["proto_binary_fetched_decimal"]=>
  string(1) "0"
  ["proto_binary_fetched_float"]=>
  string(1) "0"
  ["proto_binary_fetched_double"]=>
  string(1) "0"
  ["proto_binary_fetched_date"]=>
  string(1) "0"
  ["proto_binary_fetched_year"]=>
  string(1) "0"
  ["proto_binary_fetched_time"]=>
  string(1) "0"
  ["proto_binary_fetched_datetime"]=>
  string(1) "0"
  ["proto_binary_fetched_timestamp"]=>
  string(1) "0"
  ["proto_binary_fetched_string"]=>
  string(1) "0"
  ["proto_binary_fetched_blob"]=>
  string(1) "0"
  ["proto_binary_fetched_enum"]=>
  string(1) "0"
  ["proto_binary_fetched_set"]=>
  string(1) "0"
  ["proto_binary_fetched_geometry"]=>
  string(1) "0"
  ["proto_binary_fetched_other"]=>
  string(1) "0"
  ["init_command_executed_count"]=>
  string(1) "0"
  ["init_command_failed_count"]=>
  string(1) "0"
  ["com_quit"]=>
  string(1) "0"
  ["com_init_db"]=>
  string(1) "0"
  ["com_query"]=>
  string(1) "0"
  ["com_field_list"]=>
  string(1) "0"
  ["com_create_db"]=>
  string(1) "0"
  ["com_drop_db"]=>
  string(1) "0"
  ["com_refresh"]=>
  string(1) "0"
  ["com_shutdown"]=>
  string(1) "0"
  ["com_statistics"]=>
  string(1) "0"
  ["com_process_info"]=>
  string(1) "0"
  ["com_connect"]=>
  string(1) "0"
  ["com_process_kill"]=>
  string(1) "0"
  ["com_debug"]=>
  string(1) "0"
  ["com_ping"]=>
  string(1) "0"
  ["com_time"]=>
  string(1) "0"
  ["com_delayed_insert"]=>
  string(1) "0"
  ["com_change_user"]=>
  string(1) "0"
  ["com_binlog_dump"]=>
  string(1) "0"
  ["com_table_dump"]=>
  string(1) "0"
  ["com_connect_out"]=>
  string(1) "0"
  ["com_register_slave"]=>
  string(1) "0"
  ["com_stmt_prepare"]=>
  string(1) "0"
  ["com_stmt_execute"]=>
  string(1) "0"
  ["com_stmt_send_long_data"]=>
  string(1) "0"
  ["com_stmt_close"]=>
  string(1) "0"
  ["com_stmt_reset"]=>
  string(1) "0"
  ["com_stmt_set_option"]=>
  string(1) "0"
  ["com_stmt_fetch"]=>
  string(1) "0"
  ["com_deamon"]=>
  string(1) "0"
  ["bytes_received_real_data_normal"]=>
  string(1) "0"
  ["bytes_received_real_data_ps"]=>
  string(1) "0"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_connection_stats() - Возвращает статистику соединения с клиентом

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
Mysqlnd_uh Функции


Returns the thread ID for the current connection

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getThreadId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection

Описание

public integer MysqlndUhConnection::getThreadId ( mysqlnd_connection $connection )

Returns the thread ID for the current connection.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Connection thread id.

Примеры

Пример #1 MysqlndUhConnection::getThreadId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getThreadId($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getThreadId($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->thread_id);
?>

Результат выполнения данного примера:

proxy::getThreadId(array (
  0 => NULL,
))
proxy::getThreadId returns 27646
int(27646)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_thread_id() - Returns the thread ID for the current connection
  • mysql_thread_id() - Возвращает идентификатор текущего потока

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
Mysqlnd_uh Функции


Returns the number of warnings from the last query for the given link

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::getWarningCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link

Описание

public integer MysqlndUhConnection::getWarningCount ( mysqlnd_connection $connection )

Returns the number of warnings from the last query for the given link.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Number of warnings.

Примеры

Пример #1 MysqlndUhConnection::getWarningCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getWarningCount($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getWarningCount($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->warning_count);
?>

Результат выполнения данного примера:

proxy::getWarningCount(array (
  0 => NULL,
))
proxy::getWarningCount returns 0
int(0)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_warning_count() - Returns the number of warnings from the last query for the given link

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
Mysqlnd_uh Функции


Initialize mysqlnd connection

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::init

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::init — Initialize mysqlnd connection

Описание

public bool MysqlndUhConnection::init ( mysqlnd_connection $connection )

Initialize mysqlnd connection. This is an mysqlnd internal call to initialize the connection object.

Замечание:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::init() example

<?php
class proxy extends MysqlndUhConnection {
 public function init($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::init($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Результат выполнения данного примера:

proxy::init(array (
  0 => NULL,
))
proxy::init returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
Mysqlnd_uh Функции


Asks the server to kill a MySQL thread

MysqlndUhConnection::init
MysqlndUhConnection::listFields
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::killConnection

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread

Описание

public bool MysqlndUhConnection::killConnection ( mysqlnd_connection $connection , integer $pid )

Asks the server to kill a MySQL thread.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

pid

Thread Id of the connection to be killed.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::kill() example

<?php
class proxy extends MysqlndUhConnection {
 public function killConnection($res, $pid) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::killConnection($res, $pid);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->kill($mysqli->thread_id);
?>

Результат выполнения данного примера:

proxy::killConnection(array (
  0 => NULL,
  1 => 27650,
))
proxy::killConnection returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_kill() - Asks the server to kill a MySQL thread

MysqlndUhConnection::init
MysqlndUhConnection::listFields
Mysqlnd_uh Функции


List MySQL table fields

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::listFields

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listFields — List MySQL table fields

Описание

public array MysqlndUhConnection::listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild )

List MySQL table fields.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

table

The name of the table that's being queried.

pattern

Name pattern.

Возвращаемые значения

Примеры

Пример #1 MysqlndUhConnection::listFields() example

<?php
class proxy extends MysqlndUhConnection {
 public function listFields($res, $table, $pattern) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listFields($res, $table, $pattern);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
mysql_select_db("test", $mysql);
mysql_query("DROP TABLE IF EXISTS test_a", $mysql);
mysql_query("CREATE TABLE test_a(id INT, col1 VARCHAR(255))", $mysql);
$res = mysql_list_fields("test", "test_a", $mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

Результат выполнения данного примера:

proxy::listFields(array (
  0 => NULL,
  1 => 'test_a',
  2 => '',
))
proxy::listFields returns NULL
num_rows = 0

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_fields() - Возвращает список колонок таблицы

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
Mysqlnd_uh Функции


Wrapper for assorted list commands

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::listMethod

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listMethod — Wrapper for assorted list commands

Описание

public void MysqlndUhConnection::listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 )

Wrapper for assorted list commands.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

query

SHOW command to be executed.

achtung_wild

par1

Возвращаемые значения

Возвращаемые значения

TODO

Примеры

Пример #1 MysqlndUhConnection::listMethod() example

<?php
class proxy extends MysqlndUhConnection {
 public function listMethod($res, $query, $pattern, $par1) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listMethod($res, $query, $pattern, $par1);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
$res = mysql_list_dbs($mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

Результат выполнения данного примера:

proxy::listMethod(array (
  0 => NULL,
  1 => 'SHOW DATABASES',
  2 => '',
  3 => '',
))
proxy::listMethod returns NULL
num_rows = 6
array(1) {
  ["Database"]=>
  string(18) "information_schema"
}
array(1) {
  ["Database"]=>
  string(5) "mysql"
}
array(1) {
  ["Database"]=>
  string(8) "oxid_new"
}
array(1) {
  ["Database"]=>
  string(7) "phptest"
}
array(1) {
  ["Database"]=>
  string(7) "pushphp"
}
array(1) {
  ["Database"]=>
  string(4) "test"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_dbs() - Возвращает список баз данных, доступных на сервере

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
Mysqlnd_uh Функции


Check if there are any more query results from a multi query

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::moreResults

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query

Описание

public bool MysqlndUhConnection::moreResults ( mysqlnd_connection $connection )

Check if there are any more query results from a multi query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::moreResults() example

<?php
class proxy extends MysqlndUhConnection {
 public function moreResults($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::moreResults($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Результат выполнения данного примера:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns false

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_more_results() - Check if there are any more query results from a multi query

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
Mysqlnd_uh Функции


Prepare next result from multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::nextResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::nextResult — Prepare next result from multi_query

Описание

public bool MysqlndUhConnection::nextResult ( mysqlnd_connection $connection )

Prepare next result from multi_query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::nextResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function nextResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::nextResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Результат выполнения данного примера:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::nextResult(array (
  0 => NULL,
))
proxy::nextResult returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_next_result() - Prepare next result from multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
Mysqlnd_uh Функции


Pings a server connection, or tries to reconnect if the connection has gone down

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::ping

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Описание

public bool MysqlndUhConnection::ping ( mysqlnd_connection $connection )

Pings a server connection, or tries to reconnect if the connection has gone down.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::ping() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

Результат выполнения данного примера:

proxy::ping(array (
  0 => NULL,
))
proxy::ping returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ping() - Pings a server connection, or tries to reconnect if the connection has gone down
  • mysql_ping() - Проверяет соединение с сервером и пересоединяется при необходимости

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
Mysqlnd_uh Функции


Performs a query on the database

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::query

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::query — Performs a query on the database

Описание

public bool MysqlndUhConnection::query ( mysqlnd_connection $connection , string $query )

Performs a query on the database (COM_QUERY).

Список параметров

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::query() example

<?php
class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'How about query rewriting?'";
  $ret = parent::query($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

Результат выполнения данного примера:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Welcome mysqlnd_uh!\' FROM DUAL',
))
proxy::query returns true
array(1) {
  ["How about query rewriting?"]=>
  string(26) "How about query rewriting?"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_query() - Performs a query on the database
  • mysql_query() - Посылает запрос MySQL

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
Mysqlnd_uh Функции


Read a result set header

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::queryReadResultsetHeader

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::queryReadResultsetHeader — Read a result set header

Описание

public bool MysqlndUhConnection::queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt )

Read a result set header.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

mysqlnd_stmt

Mysqlnd statement handle. Do not modify! Set to NULL, if function is not used in the context of a prepared statement.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::queryReadResultsetHeader() example

<?php
class proxy extends MysqlndUhConnection {
 public function queryReadResultsetHeader($res, $stmt) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::queryReadResultsetHeader($res, $stmt);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

Результат выполнения данного примера:

proxy::queryReadResultsetHeader(array (
  0 => NULL,
  1 => NULL,
))
proxy::queryReadResultsetHeader returns true
array(1) {
  ["Welcome mysqlnd_uh!"]=>
  string(19) "Welcome mysqlnd_uh!"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
Mysqlnd_uh Функции


Get result from async query

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::reapQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::reapQuery — Get result from async query

Описание

public bool MysqlndUhConnection::reapQuery ( mysqlnd_connection $connection )

Get result from async query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::reapQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function reapQuery($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::reapQuery($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$conn1 = new mysqli("localhost", "root", "", "test");
$conn2 = new mysqli("localhost", "root", "", "test");

$conn1->query("SELECT 1 as 'one', SLEEP(1) AS _sleep FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);
$conn2->query("SELECT 1.1 as 'one dot one' FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);

$links = array(
 $conn1->thread_id => array('link' => $conn1, 'processed' => false),
 $conn2->thread_id => array('link' => $conn2, 'processed' => false)
);

$saved_errors = array();
do {
 $poll_links = $poll_errors = $poll_reject = array();
 foreach ($links as $thread_id => $link) {
  if (!$link['processed']) {
   $poll_links[] = $link['link'];
   $poll_errors[] = $link['link'];
   $poll_reject[] = $link['link'];
  }
 }
 if (0 == count($poll_links))
  break;

 if (0 == ($num_ready = mysqli_poll($poll_links, $poll_errors, $poll_reject, 0, 200000)))
  continue;

 if (!empty($poll_errors)) {
  die(var_dump($poll_errors));
 }

 foreach ($poll_links as $link) {
  $thread_id = mysqli_thread_id($link);
  $links[$thread_id]['processed'] = true;

  if (is_object($res = mysqli_reap_async_query($link))) {
   // result set object
   while ($row = mysqli_fetch_assoc($res)) {
    // eat up all results
    var_dump($row);
   }
   mysqli_free_result($res);
  } else {
   // either there is no result (no SELECT) or there is an error
   if (mysqli_errno($link) > 0) {
    $saved_errors[$thread_id] = mysqli_errno($link);
    printf("'%s' caused %d\n", $links[$thread_id]['query'],     mysqli_errno($link));
   }
  }
 }
} while (true);
?>

Результат выполнения данного примера:

proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(1) {
  ["one dot one"]=>
  string(3) "1.1"
}
proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(2) {
  ["one"]=>
  string(1) "1"
  ["_sleep"]=>
  string(1) "0"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_async_query()

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
Mysqlnd_uh Функции


Flush or reset tables and caches

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::refreshServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::refreshServer — Flush or reset tables and caches

Описание

public bool MysqlndUhConnection::refreshServer ( mysqlnd_connection $connection , integer $options )

Flush or reset tables and caches.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

options

What to refresh.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::refreshServer() example

<?php
class proxy extends MysqlndUhConnection {
 public function refreshServer($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::refreshServer($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
mysqli_refresh($mysqli, 1);
?>

Результат выполнения данного примера:

proxy::refreshServer(array (
  0 => NULL,
  1 => 1,
))
proxy::refreshServer returns false

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
Mysqlnd_uh Функции


Restart a persistent mysqlnd connection

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::restartPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection

Описание

public bool MysqlndUhConnection::restartPSession ( mysqlnd_connection $connection )

Restart a persistent mysqlnd connection.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::restartPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

Результат выполнения данного примера:

proxy::restartPSession(array (
  0 => NULL,
))
proxy::restartPSession returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
Mysqlnd_uh Функции


Selects the default database for database queries

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::selectDb

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::selectDb — Selects the default database for database queries

Описание

public bool MysqlndUhConnection::selectDb ( mysqlnd_connection $connection , string $database )

Selects the default database for database queries.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

database

The database name.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::selectDb() example

<?php
class proxy extends MysqlndUhConnection {
 public function selectDb($res, $database) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::selectDb($res, $database);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->select_db("mysql");
?>

Результат выполнения данного примера:

proxy::selectDb(array (
  0 => NULL,
  1 => 'mysql',
))
proxy::selectDb returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_select_db() - Устанавливает базу данных для выполняемых запросов
  • mysql_select_db() - Выбирает базу данных MySQL

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
Mysqlnd_uh Функции


Sends a close command to MySQL

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::sendClose

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendClose — Sends a close command to MySQL

Описание

public bool MysqlndUhConnection::sendClose ( mysqlnd_connection $connection )

Sends a close command to MySQL.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::sendClose() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendClose($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendClose($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

Результат выполнения данного примера:

proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true
proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
Mysqlnd_uh Функции


Sends a query to MySQL

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::sendQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendQuery — Sends a query to MySQL

Описание

public bool MysqlndUhConnection::sendQuery ( mysqlnd_connection $connection , string $query )

Sends a query to MySQL.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::sendQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendQuery($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendQuery($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

Результат выполнения данного примера:

proxy::sendQuery(array (
  0 => NULL,
  1 => 'SELECT 1',
))
proxy::sendQuery returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
Mysqlnd_uh Функции


Dump debugging information into the log for the MySQL server

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::serverDumpDebugInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server

Описание

public bool MysqlndUhConnection::serverDumpDebugInformation ( mysqlnd_connection $connection )

Dump debugging information into the log for the MySQL server.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::serverDumpDebugInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function serverDumpDebugInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::serverDumpDebugInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->dump_debug_info();
?>

Результат выполнения данного примера:

proxy::serverDumpDebugInformation(array (
  0 => NULL,
))
proxy::serverDumpDebugInformation returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_dump_debug_info() - Журналирование отладочной информации

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
Mysqlnd_uh Функции


Turns on or off auto-commiting database modifications

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::setAutocommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::setAutocommit — Turns on or off auto-commiting database modifications

Описание

public bool MysqlndUhConnection::setAutocommit ( mysqlnd_connection $connection , integer $mode )

Turns on or off auto-commiting database modifications

Список параметров

connection

Mysqlnd connection handle. Do not modify!

mode

Whether to turn on auto-commit or not.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::setAutocommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function setAutocommit($res, $mode) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setAutocommit($res, $mode);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->autocommit(false);
$mysqli->autocommit(true);
?>

Результат выполнения данного примера:

proxy::setAutocommit(array (
  0 => NULL,
  1 => 0,
))
proxy::setAutocommit returns true
proxy::setAutocommit(array (
  0 => NULL,
  1 => 1,
))
proxy::setAutocommit returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_autocommit() - Включает или отключает автоматическую фиксацию изменений базы данных

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
Mysqlnd_uh Функции


Sets the default client character set

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::setCharset

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setCharset — Sets the default client character set

Описание

public bool MysqlndUhConnection::setCharset ( mysqlnd_connection $connection , string $charset )

Sets the default client character set.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

charset

The charset to be set as default.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::setCharset() example

<?php
class proxy extends MysqlndUhConnection {
 public function setCharset($res, $charset) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setCharset($res, $charset);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
?>

Результат выполнения данного примера:

proxy::setCharset(array (
  0 => NULL,
  1 => 'latin1',
))
proxy::setCharset returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_set_charset() - Sets the default client character set

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
Mysqlnd_uh Функции


Sets a client option

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::setClientOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setClientOption — Sets a client option

Описание

public bool MysqlndUhConnection::setClientOption ( mysqlnd_connection $connection , integer $option , integer $value )

Sets a client option.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

value

Optional option value, if required.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::setClientOption() example

<?php
function client_option_to_string($option) {
 static $mapping = array(
  MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT => "MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS => "MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS",
  MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE => "MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE",
  MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND => "MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE => "MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP => "MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP",
  MYSQLND_UH_MYSQLND_SET_CHARSET_DIR => "MYSQLND_UH_MYSQLND_SET_CHARSET_DIR",
  MYSQLND_UH_MYSQLND_SET_CHARSET_NAME => "MYSQLND_UH_MYSQLND_SET_CHARSET_NAME",
  MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE => "MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE",
  MYSQLND_UH_MYSQLND_OPT_PROTOCOL => "MYSQLND_UH_MYSQLND_OPT_PROTOCOL",
  MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME => "MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME",
  MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_USE_RESULT => "MYSQLND_UH_MYSQLND_OPT_USE_RESULT",
  MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION",
  MYSQLND_UH_MYSQLND_SET_CLIENT_IP => "MYSQLND_UH_MYSQLND_SET_CLIENT_IP",
  MYSQLND_UH_MYSQLND_SECURE_AUTH => "MYSQLND_UH_MYSQLND_SECURE_AUTH",
  MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION => "MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION",
  MYSQLND_UH_MYSQLND_OPT_RECONNECT => "MYSQLND_UH_MYSQLND_OPT_RECONNECT",
  MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT",
  MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_SSL_KEY => "MYSQLND_UH_MYSQLND_OPT_SSL_KEY",
  MYSQLND_UH_MYSQLND_OPT_SSL_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_CERT",
  MYSQLND_UH_MYSQLND_OPT_SSL_CA => "MYSQLND_UH_MYSQLND_OPT_SSL_CA",
  MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH => "MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH",
  MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER => "MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER",
  MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE => "MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE",
  MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR => "MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR",
  MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH => "MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH",
  MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP => "MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP"
 );
 if (version_compare(PHP_VERSION, '5.3.99-dev', '>')) {
  $mapping[MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET] = "MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET";
  $mapping[MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL] = "MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL";
 }
 if (defined("MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE")) {
  /* special mysqlnd build */
  $mapping["MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"] = "MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE";
 }
 return (isset($mapping[$option])) ? $mapping[$option] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function setClientOption($res, $option, $value) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set to %s\n", client_option_to_string($option), var_export($value, true));
  $ret = parent::setClientOption($res, $option, $value);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

Результат выполнения данного примера:

proxy::setClientOption(array (
  0 => NULL,
  1 => 210,
  2 => 3221225472,
))
Option 'MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET' set to 3221225472
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 211,
  2 => 'mysql_native_password',
))
Option 'MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL' set to 'mysql_native_password'
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 8,
  2 => 1,
))
Option 'MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE' set to 1
proxy::setClientOption returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
Mysqlnd_uh Функции


Sets a server option

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::setServerOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setServerOption — Sets a server option

Описание

public void MysqlndUhConnection::setServerOption ( mysqlnd_connection $connection , integer $option )

Sets a server option.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::setServerOption() example

<?php
function server_option_to_string($option) {
 $ret = 'unknown';
 switch ($option) {
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
 }
 return $ret;
}

class proxy extends MysqlndUhConnection {
 public function setServerOption($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set\n", server_option_to_string($option));
  $ret = parent::setServerOption($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1; SELECT 2");
?>

Результат выполнения данного примера:

proxy::setServerOption(array (
  0 => NULL,
  1 => 0,
))
Option 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON' set
proxy::setServerOption returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_multi_query() - Performs a query on the database

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
Mysqlnd_uh Функции


The shutdownServer purpose

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::shutdownServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::shutdownServer — The shutdownServer purpose

Описание

public void MysqlndUhConnection::shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $"level" )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

MYSQLND_UH_RES_MYSQLND_NAME

"level"

Возвращаемые значения

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
Mysqlnd_uh Функции


Sends a basic COM_* command

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::simpleCommand

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommand — Sends a basic COM_* command

Описание

public bool MysqlndUhConnection::simpleCommand ( mysqlnd_connection $connection , integer $command , string $arg , integer $ok_packet , bool $silent , bool $ignore_upsert_status )

Sends a basic COM_* command to MySQL.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

command

The COM command to be send.

arg

Optional COM command arguments.

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::simpleCommand() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

Результат выполнения данного примера:

proxy::simpleCommand(array (
  0 => NULL,
  1 => 3,
  2 => 'SELECT 1',
  3 => 13,
  4 => false,
  5 => false,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUERY'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true
:)proxy::simpleCommand(array (
  0 => NULL,
  1 => 1,
  2 => '',
  3 => 13,
  4 => true,
  5 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUIT'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
Mysqlnd_uh Функции


Process a response for a basic COM_* command send to the client

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::simpleCommandHandleResponse

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client

Описание

public bool MysqlndUhConnection::simpleCommandHandleResponse ( mysqlnd_connection $connection , integer $ok_packet , bool $silent , integer $command , bool $ignore_upsert_status )

Process a response for a basic COM_* command send to the client.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

command

The COM command to process results from.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::simpleCommandHandleResponse() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysql = mysql_connect("localhost", "root", "");
mysql_query("SELECT 1 FROM DUAL", $mysql);
?>

Результат выполнения данного примера:

proxy::simpleCommandHandleResponse(array (
  0 => NULL,
  1 => 5,
  2 => false,
  3 => 27,
  4 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_SET_OPTION'
OK packet 'MYSQLND_UH_MYSQLND_PROT_EOF_PACKET'
proxy::simpleCommandHandleResponse returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
Mysqlnd_uh Функции


Used for establishing secure connections using SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::sslSet

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL

Описание

public bool MysqlndUhConnection::sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher )

Used for establishing secure connections using SSL.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::sslSet() example

<?php
class proxy extends MysqlndUhConnection {
 public function sslSet($conn, $key, $cert, $ca, $capth, $cipher) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sslSet($conn, $key, $cert, $ca, $capth, $cipher);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ssl_set("key", "cert", "ca", "capath", "cipher");
?>

Результат выполнения данного примера:

proxy::sslSet(array (
  0 => NULL,
  1 => 'key',
  2 => 'cert',
  3 => 'ca',
  4 => 'capath',
  5 => 'cipher',
))
proxy::sslSet returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ssl_set() - Used for establishing secure connections using SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
Mysqlnd_uh Функции


Initializes a statement and returns a resource for use with mysqli_statement::prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::stmtInit

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare

Описание

public resource MysqlndUhConnection::stmtInit ( mysqlnd_connection $connection )

Initializes a statement and returns a resource for use with mysqli_statement::prepare.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_prepared_statement.

Примеры

Пример #1 MysqlndUhConnection::stmtInit() example

<?php
class proxy extends MysqlndUhConnection {
 public function stmtInit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  var_dump($res);
  $ret = parent::stmtInit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 1 AS _one FROM DUAL");
$stmt->execute();
$one = NULL;
$stmt->bind_result($one);
$stmt->fetch();
var_dump($one);
?>

Результат выполнения данного примера:

proxy::stmtInit(array (
  0 => NULL,
))
resource(19) of type (Mysqlnd Connection)
proxy::stmtInit returns NULL
resource(246) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
int(1)

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
Mysqlnd_uh Функции


Transfers a result set from the last query

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::storeResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::storeResult — Transfers a result set from the last query

Описание

public resource MysqlndUhConnection::storeResult ( mysqlnd_connection $connection )

Transfers a result set from the last query.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Примеры

Пример #1 MysqlndUhConnection::storeResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function storeResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::storeResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Also called buffered result' AS _msg FROM DUAL");
var_dump($res->fetch_assoc());

$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->store_result();
var_dump($res->fetch_assoc());
?>

Результат выполнения данного примера:

proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(475) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(27) "Also called buffered result"
}
proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(730) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_real_query() - Execute an SQL query

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
Mysqlnd_uh Функции


Commits the current transaction

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::txCommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txCommit — Commits the current transaction

Описание

public bool MysqlndUhConnection::txCommit ( mysqlnd_connection $connection )

Commits the current transaction.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::txCommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function txCommit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txCommit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->commit();
?>

Результат выполнения данного примера:

proxy::txCommit(array (
  0 => NULL,
))
proxy::txCommit returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Фиксирует текущую транзакцию

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
Mysqlnd_uh Функции


Rolls back current transaction

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::txRollback

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txRollback — Rolls back current transaction

Описание

public bool MysqlndUhConnection::txRollback ( mysqlnd_connection $connection )

Rolls back current transaction.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhConnection::txRollback() example

<?php
class proxy extends MysqlndUhConnection {
 public function txRollback($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txRollback($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->rollback();
?>

Результат выполнения данного примера:

proxy::txRollback(array (
  0 => NULL,
))
proxy::txRollback returns true

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Фиксирует текущую транзакцию

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
Mysqlnd_uh Функции


Initiate a result set retrieval

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement::__construct
Mysqlnd_uh Функции
PHP Manual

MysqlndUhConnection::useResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::useResult — Initiate a result set retrieval

Описание

public resource MysqlndUhConnection::useResult ( mysqlnd_connection $connection )

Initiate a result set retrieval.

Список параметров

connection

Mysqlnd connection handle. Do not modify!

Возвращаемые значения

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Примеры

Пример #1 MysqlndUhConnection::useResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function useResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::useResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->use_result();
var_dump($res->fetch_assoc());
?>

Результат выполнения данного примера:

proxy::useResult(array (
  0 => NULL,
))
proxy::useResult returns NULL
resource(425) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Смотрите также

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_real_query() - Execute an SQL query

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement::__construct
Mysqlnd_uh Функции


The __construct purpose

MysqlndUhConnection::useResult
MysqlndUhPreparedStatement::execute
Mysqlnd_uh Функции
PHP Manual

MysqlndUhPreparedStatement::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::__construct — The __construct purpose

Описание

MysqlndUhPreparedStatement::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

MysqlndUhConnection::useResult
MysqlndUhPreparedStatement::execute
Mysqlnd_uh Функции


Executes a prepared Query

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
Mysqlnd_uh Функции
PHP Manual

MysqlndUhPreparedStatement::execute

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::execute — Executes a prepared Query

Описание

public bool MysqlndUhPreparedStatement::execute ( mysqlnd_prepared_statement $statement )

Executes a prepared Query.

Список параметров

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhPreparedStatement::execute() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function execute($res) {
  printf("%s(", __METHOD__);
  var_dump($res);
  printf(")\n");
  $ret = parent::execute($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

Результат выполнения данного примера:

stmt_proxy::execute(resource(256) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
)
stmt_proxy::execute returns true
bool(true)
string(8) "Labskaus"

Смотрите также

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_execute() - Executes a prepared Query

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
Mysqlnd_uh Функции


Prepare an SQL statement for execution

MysqlndUhPreparedStatement::execute
Change History
Mysqlnd_uh Функции
PHP Manual

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution

Описание

public bool MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $statement , string $query )

Prepare an SQL statement for execution.

Список параметров

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

query

The query to be prepared.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 MysqlndUhPreparedStatement::prepare() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'No more you-know-what-I-mean for lunch, please' AS _msg FROM DUAL";
  $ret = parent::prepare($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

Результат выполнения данного примера:

stmt_proxy::prepare(array (
  0 => NULL,
  1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL',
))
stmt_proxy::prepare returns true
bool(true)
string(46) "No more you-know-what-I-mean for lunch, please"

Смотрите также

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_prepare() - Prepare an SQL statement for execution
  • mysqli_prepare() - Prepare an SQL statement for execution

MysqlndUhPreparedStatement::execute
Change History
Mysqlnd_uh Функции


Change History

Содержание

  • PECL/mysqlnd_uh 1.0 series

The Change History lists major changes users need to be aware if upgrading from one version to another. It is a high level summary of selected changes that may impact applications or might even break backwards compatibility. Please, consult the CHANGES file contained in the source distribution for a more complete list of changes. If you are eager to learn about all changes, even smaller ones that do not make it into the CHANGES file, you may want to monitor PECL commit messages. To do you, you could, for example, subscribe to the PECL commit message mailing list.

MysqlndUhPreparedStatement::prepare
PECL/mysqlnd_uh 1.0 series
mysqlnd_uh


PECL/mysqlnd_uh 1.0 series

1.0.1-alpha

  • Release date: TBD
  • Motto/theme: bug fix release

Feature changes

  • Support of PHP 5.4.0 or later.
  • BC break: MysqlndUhConnection::changeUser() requires additional passwd_len parameter.
  • BC break: MYSQLND_UH_VERSION_STR renamed to MYSQLND_UH_VERSION. MYSQLND_UH_VERSION renamed to MYSQLND_UH_VERSION_ID.
  • BC break: mysqlnd_uh.enabled configuration setting renamed to mysqlnd_uh.enable.

1.0.0-alpha

  • Release date: 08/2010
  • Motto/theme: Initial release

Change History
OCI8
Change History


Oracle OCI8

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Testing
    • Настройка во время выполнения
  • Предопределенные константы
  • Примеры
  • Работа с соединениями
  • Поддерживаемые типы данных
  • OCI8 (Oracle)
    • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
    • oci_bind_by_name — Прикрепляет переменную PHP к соответствующей метке в SQL-выражении
    • oci_cancel — Заканчивает процесс чтения из курсора
    • oci_client_version — Returns the Oracle client library version
    • oci_close — Закрывает соединение с сервером Oracle
    • OCI-Collection->append — Добавляет элемент в коллекцию
    • OCI-Collection->assign — Присваивает коллекции значение другой, уже существующей коллекции
    • OCI-Collection->assignElem — Assigns a value to the element of the collection
    • OCI-Collection->free — Frees the resources associated with the collection object
    • OCI-Collection->getElem — Returns value of the element
    • OCI-Collection->max — Возвращает максимальное количество элементов в коллекции
    • OCI-Collection->size — Возвращает количество элементов в коллекции
    • OCI-Collection->trim — Отсекает элементы с конца коллекции
    • oci_commit — Фиксирует транзакцию базы данных
    • oci_connect — Устанавливает соединение с базой данных Oracle
    • oci_define_by_name — Сопоставляет переменную PHP столбцу результата запроса
    • oci_error — Возвращает последнюю ошибку
    • oci_execute — Выполняет подготовленное выражение
    • oci_fetch_all — Выбирает все строки из результата запроса в двумерный массив
    • oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
    • oci_fetch_assoc — Возвращает следующую строку из результата запроса в виде ассоциативного массива
    • oci_fetch_object — Возвращает следующую строку из результата запроса в виде объекта
    • oci_fetch_row — Возвращает следующую строку из результата запроса в виде нумерованного массива
    • oci_fetch — Выбирает следующую строку из результата в буфер
    • oci_field_is_null — Проверяет, равняется ли поле NULL
    • oci_field_name — Возвращает имя поля из результата запроса
    • oci_field_precision — Возвращает точность поля
    • oci_field_scale — Возвращает масштаб поля
    • oci_field_size — Возвращает размер поля
    • oci_field_type_raw — Возвращает исходный Oracle тип поля
    • oci_field_type — Возвращает тип поля
    • oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением
    • oci_internal_debug — Включает и выключает внутреннюю отладку
    • OCI-Lob->append — Добавляет данные из объекта LOB в конец другого объекта
    • OCI-Lob->close — Закрывает дескриптор объекта LOB
    • oci_lob_copy — Копирует объект LOB
    • OCI-Lob->eof — Проверяет, находится ли указатель LOB на конце файла
    • OCI-Lob->erase — Очищает указанную часть объекта LOB
    • OCI-Lob->export — Сохраняет содержимое объекта LOB в файл
    • OCI-Lob->flush — Очищает и записывает буфер объекта LOB на сервер
    • OCI-Lob->free — Frees resources associated with the LOB descriptor
    • OCI-Lob->getBuffering — Returns current state of buffering for the large object
    • OCI-Lob->import — Записывает содержимое файла в объект LOB
    • oci_lob_is_equal — Сравнивает два объекта LOB/FILE
    • OCI-Lob->load — Возвращает содержимое объекта LOB
    • OCI-Lob->read — Возвращает часть объекта LOB
    • OCI-Lob->rewind — Переводит указатель объекта в начало
    • OCI-Lob->save — Сохраняет данные в LOB
    • OCI-Lob->saveFile — Псевдоним OCI-Lob->import
    • OCI-Lob->seek — Устанавливает позицию внутреннего указателя LOB
    • OCI-Lob->setBuffering — Changes current state of buffering for the large object
    • OCI-Lob->size — Возвращает размер объекта LOB
    • OCI-Lob->tell — Возвращает текущую позицию внутреннего указателя объекта
    • OCI-Lob->truncate — Обрезает LOB до указанной длины
    • OCI-Lob->write — Записывает данные в объект LOB
    • OCI-Lob->writeTemporary — Writes a temporary large object
    • OCI-Lob->writeToFile — Псевдоним OCI-Lob->export
    • oci_new_collection — Создает новый объект коллекции
    • oci_new_connect — Устанавливает новое соединение с сервером Oracle
    • oci_new_cursor — Возвращает идентификатор созданного курсора
    • oci_new_descriptor — Инициализирует новый дескриптор объекта LOB или FILE
    • oci_num_fields — Возвращает количество полей в результате запроса
    • oci_num_rows — Возвращает количество строк, измененных в процессе выполнения запроса
    • oci_parse — Подготавливает запрос к выполнению
    • oci_password_change — Изменяет пароль пользователя Oracle
    • oci_pconnect — Устанавливает постоянное соединение с сервером Oracle
    • oci_result — Возвращает значение поля из результата запроса
    • oci_rollback — Откатывает транзакции, ожидающие обработки
    • oci_server_version — Возвращает версию сервера Oracle
    • oci_set_action — Sets the action name
    • oci_set_client_identifier — Sets the client identifier
    • oci_set_client_info — Sets the client information
    • oci_set_edition — Sets the database edition
    • oci_set_module_name — Sets the module name
    • oci_set_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер
    • oci_statement_type — Возвращает тип выражения
  • OCI8 Obsolete Aliases and Functions
    • ocibindbyname — Псевдоним oci_bind_by_name
    • ocicancel — Псевдоним oci_cancel
    • ocicloselob — Псевдоним OCI-Lob->close
    • ocicollappend — Псевдоним OCI-Collection->append
    • ocicollassign — Псевдоним OCI-Collection->assign
    • ocicollassignelem — Псевдоним OCI-Collection->assignElem
    • ocicollgetelem — Псевдоним OCI-Collection->getElem
    • ocicollmax — Псевдоним OCI-Collection->max
    • ocicollsize — Псевдоним OCI-Collection->size
    • ocicolltrim — Псевдоним OCI-Collection->trim
    • ocicolumnisnull — Псевдоним oci_field_is_null
    • ocicolumnname — Псевдоним oci_field_name
    • ocicolumnprecision — Псевдоним oci_field_precision
    • ocicolumnscale — Псевдоним oci_field_scale
    • ocicolumnsize — Псевдоним oci_field_size
    • ocicolumntype — Псевдоним oci_field_type
    • ocicolumntyperaw — Псевдоним oci_field_type_raw
    • ocicommit — Псевдоним oci_commit
    • ocidefinebyname — Псевдоним oci_define_by_name
    • ocierror — Псевдоним oci_error
    • ociexecute — Псевдоним oci_execute
    • ocifetch — Псевдоним oci_fetch
    • ocifetchinto — Возвращает следующий ряд в массив (устарела)
    • ocifetchstatement — Псевдоним oci_fetch_all
    • ocifreecollection — Псевдоним OCI-Collection->free
    • ocifreecursor — Псевдоним oci_free_statement
    • ocifreedesc — Псевдоним OCI-Lob->free
    • ocifreestatement — Псевдоним oci_free_statement
    • ociinternaldebug — Псевдоним oci_internal_debug
    • ociloadlob — Псевдоним OCI-Lob->load
    • ocilogoff — Псевдоним oci_close
    • ocilogon — Псевдоним oci_connect
    • ocinewcollection — Псевдоним oci_new_collection
    • ocinewcursor — Псевдоним oci_new_cursor
    • ocinewdescriptor — Псевдоним oci_new_descriptor
    • ocinlogon — Псевдоним oci_new_connect
    • ocinumcols — Псевдоним oci_num_fields
    • ociparse — Псевдоним oci_parse
    • ociplogon — Псевдоним oci_pconnect
    • ociresult — Псевдоним oci_result
    • ocirollback — Псевдоним oci_rollback
    • ocirowcount — Псевдоним oci_num_rows
    • ocisavelob — Псевдоним OCI-Lob->save
    • ocisavelobfile — Псевдоним OCI-Lob->import
    • ociserverversion — Псевдоним oci_server_version
    • ocisetprefetch — Псевдоним oci_set_prefetch
    • ocistatementtype — Псевдоним oci_statement_type
    • ociwritelobtofile — Псевдоним OCI-Lob->export
    • ociwritetemporarylob — Псевдоним OCI-Lob->writeTemporary
PECL/mysqlnd_uh 1.0 series
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Эти функции позволяют работать с базой данных Oracle 11g, 10g, 9i и 8i. Поддерживаются SQL и PL/SQL-выражения. Основной функционал представляет собой поддержку транзакций, привязку переменных PHP к соответствующим плейсхолдерам Oracle, расширенную поддержку больших объектов (LOB) и коллекций. Также поддерживаются кэширование результатов и такие возможности маштабирования Oracle как пул постоянных соединений базы данных (Database Resident Connection Pooling, DRCP).

OCI8
Установка и настройка
OCI8


Установка и настройка

Содержание

  • Требования
  • Установка
  • Testing
  • Настройка во время выполнения
Введение
Требования
OCI8


Требования

Расширению OCI8 требуются клиентские библиотеки Oracle 9iR2, 10g или 11g. Если база данных Oracle установлена на одной машине с PHP, то база данных уже содержит все необходимые библиотеки для установки. Если PHP находится на другой машине, используйте библиотеки » Oracle Instant Client.

Для использования Oracle Instant Client, установите basic или basiclite zip-архив Oracle Instant Client или RPM-пакет. При сборке PHP из исходного кода, также установите zip-архив sdk или devel RPM-пакет.

В Windows, DLL-библиотеке php_oci8 необходимы библиотеки из версии 10gR2 или выше. В версиях PHP от 5.3 и до 5.3.5 включительно, DLL-библиотеке необходимы клиентские библиотеки версии Oracle 11gR1 и выше. Начиная с версии PHP 5.3.6 DLL-библиотеке php_oci8_11g требуются клиентские библиотеки версии Oracle 11gR2 и выше. В некоторых версиях Instant Client вам также могут дополнительно потребоваться библиотеки mfc71.dll и msvcr71.dll.

Необходимо использовать PHP с теми же или более свежими версиями библиотек Oracle, чем те, с которыми было собрано расширение OCI8.

Замечание:

Если OCI8 использует клиентские библиотеки 9iR2 или 10g, то PHP сможет соединиться с базой данных Oracle 8i, 9iR2, 10g или 11g. Если OCI8 использует клиентские библиотеки 11g, то база данных может иметь версии 9iR2, 10g и 11g.

Замечание:

Полный набор возможностей OCI8 возможен только при использовании новейших версий клиентских библиотек и базы данных.

Установка и настройка
Установка
Установка и настройка


Установка

Сборка PHP совместно с OCI8

Перед сборкой OCI8 изучите предыдущий раздел "Требования".

Для работы расширения OCI8, укажите при настройке PHP опцию --with-oci8 .

Перед стартом веб-сервера, OCI8 обычно требуется несколько переменных окружения Oracle (см. ниже) для обнаружения библиотек, конфигурационных файлов и установки некоторых базовых свойств, таких как кодировка, используемая библиотеками Oracle. Эти переменные должны быть установлены перед запуском любого PHP-процесса.

PHP должен использовать ту же, или более свежую основную версию библиотек Oracle, чем ту, с которой он был собран. Например, если вы собрали OCI8 с библиотеками Oracle 11.2, то PHP также должен работать с библиотеками Oracle 11.2.

Установка OCI8 в виде подгружаемого (shared) расширения

Указание опции конфигурации shared позволяет собрать OCI8 в виде динамически подгружаемой библиотеки. Сборка в виде подгружаемого расширения позволяет легко обновлять OCI8 без пересборки всего PHP.

Соберите OCI8 с помощью одной из следующих опций.

  • При использовании Oracle Instant Client:

    ./configure --with-oci8=shared,instantclient,/путь/к/instant/client/lib

    Если Instant Client установлен из ZIP-архива, не забудьте создать символическую ссылку на библиотеку, например, так: ln -s libclntsh.so.11.1 libclntsh.so.

    Если Oracle Instant Client был установлен с помощью RPM, команда конфигурации будет выглядеть так:

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

    Например, --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib .

    Учтите, что поддержка Oracle Instant Client появилась только начиная с версий PHP 4.3.11 и 5.0.4 и ранее использовалась с опцией --with-oci8-instant-client .

  • При использовании базы данных Oracle database или полной установке Oracle Client:

    ./configure --with-oci8=shared,$ORACLE_HOME

    Убедитесь, что пользователь, под которым запущен веб-сервер, (nobody, www) имеет доступ к библиотекам, файлам инициализации и tnsnames.ora (если используется) в папке $ORACLE_HOME. При использовании Oracle 10gR2, может понадобиться запуск утилиты $ORACLE_HOME/install/changePerm.sh для получения доступа к этой папке.

После настройки следуйте обычной процедуре сборки PHP, например, make install, после чего будет создано подгружаемая библиотека oci8.so. Возможно, вам потребуется вручную перенести ее в папку расширений PHP, указанную опцией extension_dir вашего php.ini.

Для завершения установки OCI8 добавьте следующую строку в php.ini:

extension=oci8.so

Установка OCI8 в виде статически скомпилированного расширения

Соберите OCI8 с помощью одной из следующих опций.

  • При использовании Oracle Instant Client:

    ./configure --with-oci8=instantclient,/путь/к/instant/client/lib

  • При использовании базы данных Oracle или полной установки Oracle Client:

    ./configure --with-oci8=$ORACLE_HOME

После настройки следуйте обычной процедуре установки PHP, например, make install. После успешной сборки нет необходимости добавлять oci8.so в файл php.ini. Никаких дополнительных шагов сборки больше не требуется.

Установка OCI8 из PECL

Расширение OCI8 может быть включено в текущую установку PHP как автоматически, так и вручную с помощью » http://pecl.php.net/. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/oci8.

Для автоматической установки следуйте данным инструкциям:

  • Если ваш компьютер находится за файрволлом, установите прокси для PEAR, например:

    pear config-set http_proxy http://my-proxy.example.com:80/

  • Запустите

    pecl install oci8

    При запросе введите либо значение $ORACLE_HOME, либо instantclient,/path/to/instant/client/lib.

    Обратите внимание: Не вводите переменную $ORACLE_HOME, т.к. она не будет развернута. Вместо этого, введите реальный путь к домашней папке Oracle.

Для установки вручную, скачайте пакет установки PECL OCI8, например, oci8-1.3.5.tgz.

  • Разархивируйте пакет:

    tar -zxf oci8-1.3.5.tgz
cd oci8-1.3.5

  • Подготовьте к установке:

    phpize

  • Настройте пакет, указав $ORACLE_HOME или Instant Client:

    ./configure -with-oci8=shared,$ORACLE_HOME

    или

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib

  • Установите пакет:

    make install

После автоматической или ручной установки отредактируйте ваш php.ini, добавив в него следующую строку:

extension=oci8.so

Убедитесь, что директива php.ini extension_dir установлена на ту самую папку, в которую была установлена библиотека oci8.so.

Установка OCI8 в Windows

В Windows, при использовании клиентских библиотек Oracle 10gR2, раскомментируйте строку php.ini extension=php_oci8.dll. При использовании клиентских библиотек Oracle 11g, раскомментируйте строку extension=php_oci8_11g.dll. Эти две DLL-библиотеки содержат одинаковый функционал, и могут быть включены только по отдельности. Убедитесь, что extension_dir установлена на папку, содержащую DLL-библиотеки расширений PHP.

При использовании Instant Client, установите системную переменную окружения PATH на папку с библиотекой Oracle.

Установка окружения Oracle

Перед использованием данного расширения, убедитесь, что переменные окружения Oracle правильно настроены для пользователя, под которым работает веб-сервер. Если ваш веб-сервер автоматически стартует при загрузке, то убедитесь, что окружение при загрузке также настроено корректно.

Замечание:

Не устанавливайте переменные окружения Oracle через putenv() в PHP-скрипте, потому что библиотеки Oracle могут быть загружены и проинициализированы до запуска вашего скрипта. Переменные, установленные через putenv() могут затем вызывать конфликты, падения и прочее непредсказуемое поведение. Некоторые функции могут работать, в то время как другие давать мелкие ошибки. Необходимо устанавливать эти переменные до запуска веб-сервера.

В Red Hat Linux и его вариантах, экспортируйте переменные в конце файла /etc/sysconfig/httpd. Другие системы с Apache 2 могут использовать скрипт envvars из папки bin в дистрибутиве Apache. Третьим вариантом является директива Apache SetEnv в файле httpd.conf, на каких-то системах она может работать, однако, известно, что на некоторых ее недостаточно.

Чтобы удостовериться в корректной настройке переменных окружения, используйте функцию phpinfo() и проверьте, что раздел Environment (не Apache Environment) содержит ожидаемые переменные.

Следующая таблица содержит переменные, которые могут вам потребоваться. За подробностями обо всех переменных обращайтесь к документации Oracle.

Общие переменные окружения Oracle
Название | Цель
ORACLE_HOME | Указывает на папку, с полностью установленной базой данных Oracle. Не устанавливайте эту переменную при использовании Oracle Instant Client, т.к. в этом нет необходимости и может вызвать проблемы при установке.
ORACLE_SID | Содержит имя базы данных на локальной машине, к которой идет подключение. Нет необходимости устанавливать эту переменную при использовании Oracle Instant Client, или всегда передавать в параметрах соединения в функцию oci_connect().
LD_LIBRARY_PATH | Установите эту переменную (или ее эквивалент на используемой платформе, например, DYLD_LIBRARY_PATH, LIBPATH или SHLIB_PATH) в местоположение библиотек Oracle, например, $ORACLE_HOME/lib или /usr/lib/oracle/11.1/client/lib. В этой переменной нет необходимости, если библиотеки указываются другим механизмом поиска, например, ldconfig или LD_PRELOAD.
NLS_LANG | Это основная переменная, используемая для указания кодировки и настроек глобализации в библиотеках Oracle.
ORA_SDTZ | Устанавливает временную зону сессии Oracle.
TNS_ADMIN | Содержит папку, в которой хранятся конфигурационные файлы Oracle Net Services, такие как tnsnames.ora и sqlnet.ora. В ней нет необходимости, если строка соединения в функции oci_connect() использует синтаксис Easy Connect, такой как, например, localhost/XE. В ней также нет необходимости, если сетевые конфигурационные файлы содержатся в местах хранения по умолчанию, таких как $ORACLE_HOME/network/admin или /etc.
Менее используемые переменные окружения Oracle включают в себя TWO_TASK, ORA_TZFILE, а также различные установки глобализации Oracle наподобие переменных NLS* и ORA_NLS_*.

Решение проблем

Самой частой проблемой при установке OCI8 является неправильная установка окружения Oracle. Обычно это выражается в проблеме при использовании функций oci_connect() или oci_pconnect(). Ошибка может проявляться в виде ошибок PHP, например, Call to undefined function oci_connect(), ошибок Oracle, таких как ORA-12705, или даже крушения Apache. Проверьте лог-файлы Apache на наличие ошибок запуска и вышеописанные разделы для разрешения этой проблемы.

Несмотря на то, что сетевые ошибки, наподобие ORA-12154 или ORA-12514 сигнализируют ошибку в именовании или конфигурации сети Oracle, реальной причиной может быть некорректно установленное окружение PHP, из-за чего библиотеки Oracle не могут найти конфигурационный файл tnsnames.ora.

В Windows, использование нескольких версий Oracle на одной машине может легко вызвать их конфликты, которых можно избежать при соблюдении особых мер предосторожности, предусматривающих, что PHP использует корректную версию Oracle.

Утилита, помогающая определить искомые и загруженные в итоге библиотеки, может помочь в случае проблем при отсутствующих или конфликтующих библиотеках, особенно в Windows.

Замечание: Если веб-сервер не стартует или падает при старте

Проверьте, что Apache слинкован с библиотекой pthread:

# ldd /www/apache/bin/httpd
  libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
  libm.so.6 => /lib/libm.so.6 (0x4002f000)
  libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
  libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
  libc.so.6 => /lib/libc.so.6 (0x4007e000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Если libpthread нет в списке, переустановите Apache:

# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

Имейте в виду, что на некоторых системах, наподобие UnixWare, libpthread называется libthread. Таким образом, PHP и Apache должны быть настроены с помощью EXTRA_LIBS=-lthread.

Требования
Testing
Установка и настройка


Testing

The OCI8 test suite is in ext/oci8/tests. After OCI8 tests are run this directory will also contain logs of any failures.

Before running PHP's tests, edit details.inc and set $user, $password and the $dbase connection string. The OCI8 test suite has been developed using the SYSTEM account. Some tests will fail if the test user does not have equivalent permissions.

If Oracle 11g Database Resident Connection Pooling is being tested, set $test_drcp to TRUE and ensure the connection string uses an appropriate DRCP pooled server.

An alternative to editing details.inc is the set environment variables, for example:

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Note in some shells these variables are not propagated correctly to the PHP process and tests will fail to connect if this method is used.

Next, set any necessary environment for the Oracle database. With Oracle 10gR2 XE do:

    $ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

With Oracle 11gR2 XE do:

    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

For other versions of the Oracle database do:

    $ . /usr/local/bin/oraenv

Some shells require that php.ini has E in the variables_order parameter, for example:

    variables_order = "EGPCS"

Run all the PHP tests with:

    $ cd your_php_src_directory
    $ make test
or run only the OCI8 tests with
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

When the tests have completed, review any test failures. On slow systems, some tests may take longer than the default test timeout in run-tests.php. To correct this, set the environment variable TEST_TIMEOUT to a larger number of seconds.

On fast machines with a local database configured for light load (e.g. Oracle 11gR2 XE) some tests might fail with ORA-12516 or ORA-12520 errors. To prevent this, increase the database PROCESSES parameter using the following steps:

Connect as the oracle software owner:

    $ su - oracle

Set the necessary Oracle environment with oracle_env.sh or oraenv, as described above.

Start the SQL*Plus command line tool and increase PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Restart the database:

    SQL> startup force

Установка
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации OCI8
Название | Значение по умолчанию | Область изменения | История изменений
oci8.connection_class | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2 (PECL OCI8 1.1).

Краткое разъяснение конфигурационных директив.

oci8.connection_class string

Этот определяемый пользователем текст используется соединениями Oracle 11g Резидентного Пула Соединений Базы данных (Oracle 11g Database Resident Connection Pooling (DRCP)) для подразделения пула соединений. Это позволяет постоянным соединениям OCI8 из приложения заново использовать сессии базы данных от предыдущего PHP-скрипта, улучшая масштабируемость. Если приложение использует процесс из пула базы данных, ранее используемый с другим классом соединений, настройки сессии, такие как формат даты Oracle, будут сброшены. Это предотвращает случайное деление информации между различными приложениями.

Значение может быть установлено во время выполнения скрипта с помощью ini_set() до установки соединения.

Для использования DRCP, OCI8 должна быть слинкована с библиотеками Oracle 11g и база данных должна быть Oracle 11g. Пул соединений в базе данных должен быть включен, oci8.connection_class должно быть установлено в одно и то же строковое значение для всех веб-серверов, выполняющих одно и то же приложение, а строка соединения OCI8 должна указывать на сервер из пула.

oci8.default_prefetch int

Эта опция устанавливает значение по умолчанию для количества экстра рядов, которые будут возвращены и автоматически закэшированы при низкоуровневом запросе данных из базы данных. Установка значения в 0 выключает предварительную выборку (prefetching).

Значение предварительной выборки не меняет количество возвращаемых пользователю рядов такими функциями как oci_fetch_array(); OCI8 внутренне обрабатывает предварительную выборку и кэширование рядов.

Значение может быть установлено отдельно для каждого выражения (per-statement) с помощью oci_set_prefetch() до выполнения самого выражения.

В PHP 5.3 (PECL OCI8 1.3.4) значение по умолчанию было увеличено с 10 до 100.

В PHP 5.3.2 (PECL OCI8 1.4) минимально устанавливаемое значение было уменьшено с 1 до 0, разрешая таким образом выключение предварительной выборки.

Замечание: Большая предварительная выборка может улучшить производительность за счет некоторого увеличенного использования памяти. Для запросов, возвращающих большие массивы данных, выгода в производительности будет значительной.

oci8.events boolean

Включение (On) позволяет уведомить PHP о событиях Быстрого Уведомления Приложений базы данных (Fast Application Notification (FAN)).

Без FAN, если экземпляр базы данных или узел машины неожиданно даст сбой, PHP приложения могут быть заблокированы, ожидая ответа от базы данных до истечения таймаута TCP. С помощью событий FAN PHP приложения быстро будут уведомлены о сбоях, которые влияют на установленные ими соединения к базе данных. Расширение OCI8 подчистит неиспользуемые соединения в кэше постоянных соединений.

При использовании директивы (On), база данных также должна быть настроена на отправку FAN событий.

Поддержка FAN доступна, если OCI8 была слинкована с библиотеками Oracle 10gR2 (или более поздними) и соединение было осуществлено к Oracle Database 10gR2 (или более поздней версии).

oci8.max_persistent int

Максимальное количество постоянных соединений OCI8 на один PHP процесс. Установка этой опции в -1 означает отсутствие лимита.

oci8.old_oci_close_semantics boolean

Эта опция контролирует поведение функции oci_close(). Ее включение означает, что oci_close() не делает ничего; соединение не будет закрыто, пока не закончится выполнение скрипта. Это сделано только в целях обратной совместимости. Если вы ощущаете потребность в этой настройке, строго рекомендуется настроить вызовы oci_close() в ваших скриптах вместо включения этой опции.

oci8.persistent_timeout int

Максимальное количество секунд, которое разрешается PHP-процессу держать неиспользуемое постоянное соединение открытым. Установка этой опции в -1 означает, что неиспользуемые соединения будут удержаны, пока PHP-процесс не завершит свое выполнение или соединение не будет принудительно закрыто с помощью функции oci_close().

Замечание: В PHP истечение срока действия неиспользуемых ресурсов не основано на уведомлениях. Оно случается когда PHP завершает обработку скрипта и проверяет отметку времени последних использованных ресурсов. Отсюда возникает следующий парадокс: неиспользуемые соединения могут быть закрыты только когда есть некоторая активность (хотя и не обязательно связанная с OCI8) в PHP-процессе. Введение Резидентного Пула Соединений Базы данных DRCP) в Oracle 11g разрешает проблемы с памятью и ресурсами, которые ранее пытались решить oci8.max_persistent и oci8.persistent_timeout.

Замечание: В PHP 5.3 (PECL OCI8 1.3), постоянные соединения могут быть закрыты с помощью oci_close().

oci8.ping_interval int

Количество секунд, которое должно пройти до совершения пинга в течение выполнения oci_pconnect(). Пинг обеспечивает корректность соединения базы данных. Если установлена в 0, постоянные соединения будут пинговаться при каждом вызове oci_pconnect(). Для полного отключения пингов установите эту опцию в -1.

Замечание: Отключение пингов позволяет oci_pconnect() действовать с максимальной эффективностью, но PHP может быть неспособен определить непригодные соединения, например, при обрыве сети или при отключении базы данных Oracle после того, как PHP установил соединение, пока соединение вновь не будет использовано в скрипте. Проконсультируйтесь с документацией функции oci_pconnect() для более подробной информации.

oci8.privileged_connect boolean

Эта опция позволяет соединениям использовать привилегированные внешние учетные записи OCI_SYSOPER или OCI_SYSDBA.

Замечание: Установка этой директивы в On позволит скриптам, запущенных с соответствующими пользовательскими привилегиями операционной системы, соединяться с базой данных в качестве привилегированных пользователей базы данных без требования пароля. Это может быть брешью системы безопасности.

oci8.statement_cache_size int

Эта опция включает кэширование выражений, а также указывает сколько выражений необходимо кэшировать. Для отключения кэширования выражений просто установите значение этой опции в 0.

Кэширование выражений убирает необходимость передавать текст выражения к базе данных, а также обратную передачу различных метаданных об этом выражении обратно к PHP. Это может значительно улучшить общую производительность системы в приложениях, повторно использующих выражения в течение жизни одного соединения. Некоторые дополнительные "курсоры" баз данных могут остаться открытыми, подразумевая, что данные выражения будут использованы повторно.

Установите это значение размером рабочего набора выражений, используемых вашим приложением. Установка слишком малого значения может повлечь выброс выражений из кэша до их повторного использования.

Эта опция чаще всего используется с постоянными соединениями.

Testing
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

OCI8 Function and Method Modes
Константа | Описание
OCI_ASSOC | Используется функциями oci_fetch_all() и oci_fetch_array() для получения результатов в виде ассоциативного массива.
OCI_BOTH | Используется функциями oci_fetch_all() и oci_fetch_array() для получения результатов в виде массива с ассоциативными и числовыми индексами.
OCI_COMMIT_ON_SUCCESS | Режим выполнения выражений для oci_execute(). Автоматически завершает транзакцию опператором COMMIT при успешном выполнении выражения.
OCI_CRED_EXT | Используется функцией oci_connect() для внешней или системной аутентификации. Добавлена Introduced в PHP 5.3 и PECL OCI8 1.3.4.
OCI_DEFAULT | Режим выполнения выражений для oci_execute(). В этом режиме транзакция не завершается автоматически оператором COMMIT. Начиная с PHP 5.3.2 (PECL OCI8 1.4), OCI_NO_AUTO_COMMIT предпочтительней OCI_DEFAULT.
OCI_DESCRIBE_ONLY | Режим выполнения выражений для oci_execute(). Используйте этот режим, если вы хотите получить данные о выполнении запроса, а не выполнить сам запрос.
OCI_EXACT_FETCH | Устарело. Режим получения результатов запроса. Используется в том случае, если приложению известно заранее сколько строк будет получено в результате. Oracle 8 и более поздние версии не используют выборку результатов с упреждением в этом режиме, а курсоры уничтожаются автоматически после выборки ожидаемого количества строк, что может уменьшить требования сервера к ресурсам.
OCI_FETCHSTATEMENT_BY_COLUMN | Режим oci_fetch_all() по умолчанию.
OCI_FETCHSTATEMENT_BY_ROW | Альтернативный режим oci_fetch_all().
OCI_LOB_BUFFER_FREE | Используется функцией OCI-Lob->flush для освобождения используемых буфферов.
OCI_NO_AUTO_COMMIT | Режим выполнения выражений для oci_execute(). В этом режиме транзакция не завершается автоматически оператором COMMIT. Для повышения читаемости в используйте в новом коде эту константу вместо устаревшей константы OCI_DEFAULT. Добавлена в PHP 5.3.2 (PECL OCI8 1.4).
OCI_NUM | Используется с oci_fetch_all() и oci_fetch_array() для получения массива с числовыми индексами.
OCI_RETURN_LOBS | Используется oci_fetch_array() для получения содержания объекта LOB вместо дескриптора.
OCI_RETURN_NULLS | Используется с oci_fetch_array() для получения пустых элементов массива, если соответствующее поле в результате равно NULL.
OCI_SEEK_CUR | Используется OCI-Lob->seek для задания позиции смещения.
OCI_SEEK_END | Используется OCI-Lob->seek для задания позиции смещения.
OCI_SEEK_SET | Используется OCI-Lob->seek для задания позиции смещения.
OCI_SYSDATE | Больше не используется.
OCI_SYSDBA | Используется функцией oci_connect() для соединения с привилегиями SYSOPER. Опция php.ini oci8.privileged_connect должна быть включена.
OCI_SYSOPER | Используется функцией oci_connect() для соединения с привилегиями SYSOPER. Опция php.ini oci8.privileged_connect должна быть включена.
OCI_TEMP_BLOB | Используется функцией OCI-Lob->writeTemporary для создания временного BLOB.
OCI_TEMP_CLOB | Используется функцией OCI-Lob->writeTemporary для создания временного CLOB.
OCI8 привязка переменных и определение типов
Константа | Описание
OCI_B_BFILE | Используется функцией oci_bind_by_name() для привязки переменных типа BFILE.
OCI_B_BIN | Используется совместно с функцией oci_bind_by_name() для привязки необработанных (RAW) данных.
OCI_B_BLOB | Используется функцией oci_bind_by_name() для привязки переменных типа BLOB.
OCI_B_CFILEE | Используется функцией oci_bind_by_name() для привязки переменных типа CFILE.
OCI_B_CLOB | Используется функцией oci_bind_by_name() для привязки переменных типа CLOB.
OCI_B_CURSOR | Используется функцией oci_bind_by_name() для привязки курсоров, ранее полученных из oci_new_descriptor().
OCI_B_INT | Используется функцией oci_bind_array_by_name() для привязки массивов элементов типа INTEGER.
OCI_B_NTY | Используется функцией oci_bind_by_name() для привязки именованных типов данных. Обратите внимание: в PHP < 5.0 константа называлась OCI_B_SQLT_NTY.
OCI_B_NUM | Используется функцией oci_bind_array_by_name() для привязки массивов элементов типа NUMBER.
OCI_B_ROWID | Используется функцией oci_bind_by_name() для привязки переменных типа ROWID.
SQLT_AFC | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа CHAR.
SQLT_AVC | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа VARCHAR2.
SQLT_BDOUBLE | Не поддерживается.
SQLT_BFILEE | То же, что и OCI_B_BFILE.
SQLT_BFLOAT | Не поддерживается.
SQLT_BIN | То же, что и OCI_B_BIN.
SQLT_BLOB | То же, что и OCI_B_BLOB.
SQLT_CFILEE | То же, что и OCI_B_CFILEE.
SQLT_CHR | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа VARCHAR2. Также используется функцией oci_bind_by_name().
SQLT_CLOB | То же, что и OCI_B_CLOB.
SQLT_FLT | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа FLOAT.
SQLT_INT | То же, что и OCI_B_INT.
SQLT_LBI | Используется функцией oci_bind_by_name() для привязки переменных типа LONG RAW.
SQLT_LNG | Используется функцией oci_bind_by_name() для привязки переменных типа LONG.
SQLT_LVC | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа LONG VARCHAR.
SQLT_NTY | То же, что и OCI_B_NTY.
SQLT_NUM | То же, что и OCI_B_NUM.
SQLT_ODT | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа LONG.
SQLT_RDD | То же, что и OCI_B_ROWID.
SQLT_RSET | То же, что и OCI_B_CURSOR.
SQLT_STR | Используется функцией oci_bind_array_by_name() для привязки массивов с элементами типа STRING.
SQLT_UIN | Не поддерживается.
SQLT_VCS | Используется совместно с oci_bind_array_by_name() для привязки массивов VARCHAR.
Типы дескрипторов OCI8
Константа | Описание
OCI_DTYPE_FILE | Флаг используется oci_new_descriptor() для инициализации дескриптора типа FILE.
OCI_DTYPE_LOB | Флаг используется oci_new_descriptor() для инициализации дескриптора типа LOB.
OCI_DTYPE_ROWID | Флаг используется oci_new_descriptor() для инициализации дескриптора типа ROWID.
OCI_D_FILE | То же, что и OCI_DTYPE_FILE.
OCI_D_LOB | То же, что и OCI_DTYPE_LOB.
OCI_D_ROWID | То же, что и OCI_DTYPE_ROWID.
Настройка во время выполнения
Примеры
OCI8


Примеры

Эти примеры выполняются под пользователем HR, который является образцом из "Human Resources" схемы, поставляемой вместе с базой данных Oracle. Возможно потребуется разблокировать этот аккаунт и переустановить для него пароль, чтобы использовать его.

Примеры подключаются к базе данных XE на вашем компьютере. Вы можете заменить строки с подключением для использования своих баз данных.

Пример #1 Простой запрос

Данный пример показывает запрос и результат. Выражения в OCI8 используют последовательность из шагов подготовка-выполнение-выборка.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Подготовка выражения
$stid = oci_parse($conn, 'SELECT * FROM departments');
if (!$stid) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Выполним логику запроса
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Получим результат запроса
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print "<tr>\n";
    foreach ($row as $item) {
        print "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    print "</tr>\n";
}
print "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Вставка с использованием привязанных переменных

Привязывание переменных повышают производительность за счет повторного использования контекста запроса и кеширования. Также они повышают безопасность блокируя некоторые типы SQL-инъекций.

<?php

// Создайте таблицу перед выполнением:
//   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO MYTABLE (mid, myd) VALUES(:myid, :mydata)');

$id = 60;
$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);
oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);  // выполнение и фиксация

if ($r) {
    print "Была вставлена одна строка";
}

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 Вставка данных в поле типа CLOB

Для больших данных используйте длинные двоичные объекты (BLOB) или длинные символьные объекты (CLOB). Данный пример использует тип данных CLOB.

<?php

// Создайте таблицу перед выполнением:
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$mykey = 12343;  // произвольный ключ для данного примера;

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT); // используйте OCI_DEFAULT для PHP <= 5.3.1
$clob->save("A very long string");

oci_commit($conn);

// Получение CLOB данных

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
    $result = $row['MYCLOB']->load();
    print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

Пример #4 Использование PL/SQL хранимых процедур

Вы должны привязывать переменную для каждого возвращаемого значения и опционально для каждого аргумента функции.

<?php

/*
  До выполнения PHP скрипта сойздайте хранимую процедуру в
  SQL*Plus или SQL Developer:

  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
  BEGIN
      RETURN p * 3;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // выведет 24

oci_free_statement($stid);
oci_close($conn);

?>

Пример #5 Использование PL/SQL хранимых процедур

При использовании хранимых процедур желательно привязывать переменные к каждому аргументу.

<?php

/*
  До выполнения PHP скрипта сойздайте хранимую процедуру в
  SQL*Plus или SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // выведет 16

oci_free_statement($stid);
oci_close($conn);

?>

Пример #6 Вызов PL/SQL процедур, возвращающих REF CURSOR

Каждое возвращаемое значение из запроса является REF CURSOR.

<?php
/*
  Создайте PL/SQL хранимую процедуру:

  CREATE OR REPLACE FUNCTION myfunc(p1 IN NUMBER) RETURN SYS_REFCURSOR AS
      rc SYS_REFCURSOR;
  BEGIN
      OPEN rc FOR SELECT city FROM locations WHERE ROWNUM < p1;
      RETURN rc;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT myfunc(5) AS mfrc FROM dual');
oci_execute($stid);

echo "<table border='1'>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo "<tr>\n";
    $rc = $row['MFRC'];
    oci_execute($rc);  // возвращает значение поля из запроса в виде указателя
    while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) {
        echo "    <td>" . $rc_row['CITY'] . "</td>\n";
    }
    oci_free_statement($rc);
    echo "</tr>\n";
}
echo "</table>\n";

// Выведет:
//   Beijing
//   Bern
//   Bombay
//   Geneva

oci_free_statement($stid);
oci_close($conn);

?>
Предопределенные константы
Работа с соединениями
OCI8


Работа с соединениями

Функции подключения

Расширение OCI8 предоставляет три различных функции для подключения к серверу Oracle. Стандартная функция соединения - это oci_connect(). Она создает соединение к базе данных Oracle и возвращает ресурс, который используется при последующих обращениях к БД.

Подключение к серверу Oracle является достаточно дорогостоящей операцией с точки зрения времени, которое требуется для выполнения. Функция oci_pconnect() использует постоянный кэш соединений, которые могут быть повторно использованы различными запросами скриптов. Это означает, что затраты на установку соединения, как правило, происходят только единожды на один процесс PHP (или на потомка Apache).

Если приложение соединяется к серверу Oracle, используя особый набор данных для каждого веб-пользователя, то постоянный кэш соединений, используемый функцией oci_pconnect() будет менее полезным, т.к. количество одновременных пользователей вырастает до того уровня, где он может начать оказывать негативное влияние на общую производительность сервера Oracle из-за поддержания слишком большого количества простаивающих соединений. Если приложение настроено таким образом, то рекомендуется либо настроить его с помощью параметров конфигурации oci8.max_persistent и oci8.persistent_timeout (это даст возможность управления размером кэша постоянных соединений и их время жизни), либо использовать Oracle 11g Database Resident Connection Pooling, либо использовать функцию oci_connect() вместо нее.

Вместе oci_connect() и oci_pconnect() используют кэш подключений; если множество вызовов oci_connect() использует одинаковые параметры в данном скрипте, второй и последующие вызовы вернут существующий дескриптор соединения. Кэш, используемый функцией oci_connect(), очищается по завершению выполнения скрипта, или когда соединение неявно закрывается. У функции oci_pconnect() похожее поведение, хотя ее кэш обрабатывается отдельно и остается действующим между запросами HTTP.

Эта возможность кеширования означает, что два дескриптора не изолированы транзакционно (они на самом деле являются одним и тем же дескриптором, поэтому здесь нет никакой изоляции). Если приложению необходимы два отдельных транзакционно изолированных соединения, то необходимо использовать функцию oci_new_connect().

Кеш функции oci_pconnect() очищается и закрываются все соединения к БД, когда завершается процесс PHP. Поэтому эффективное использование постоянных соединений требует, чтобы PHP был модулем Apache или использовался с FCGI или подобным. Постоянные соединения не будут иметь никаких преимуществ перед oci_connect(), когда PHP используется с CGI или через командную строку.

Функция oci_new_connect() всегда создает новое соединение с сервером Oracle, невзирая на то, что другие соединения могут уже существовать. Высоконагруженным веб-приложениям следует избегать использования oci_new_connect(), особенно в самых загруженных частях приложения.

Создание пула соединений DRCP

PHP 5.3 (PECL OCI8 1.3) поддерживает постоянный пул соединений Oracle 11g (DRCP). DRCP позволяет более эффективно изпользовать память СУБД и предоставляет высокую масштабируемость. Изменять код приложения для использования DRCP либо нет необходимости, либо требуются минимальные изменения.

DRCP подходит для приложений, которые подключаются используя несколько схем БД и сохраняют соединения к БД открытыми короткий промежуток времени. Другим приложениям следует использовать доступные по умолчанию Dedicated серверные процессы или использовать Shared сервера.

DRCP приносит пользу всем трем функциям подключения, однако предоставляет самую высокую масштабируемость, когда соединения создаются с помощью функции oci_pconnect().

Чтобы функционал DRCP был доступен в OCI8, клиентские библиотеки Oracle, используемые в PHP, и версия сервера баз данных должны быть 11g.

Документация по DRCP находится в нескольких руководствах Oracle. К примеру, см. » Конфигурирование пула постоянных соединений базы данных в документации Oracle для информации по использованию. Документ » техническое описание DRCP содержит дополнительную информацию по DRCP.

Для использования DRCP, скомпилируйте PHP с расширением OCI8 1.3 и библиотеками Oracle 11g и затем выполните следующие действия:

  • Как привилегированный администратор БД воспользуйтесь программой наподобие SQL*Plus, чтобы запустить пул соединений в СУБД:

        SQL> execute dbms_connection_pool.start_pool;

  • Дополнительно можно использовать dbms_connection_pool.alter_param(), чтобы конфигурировать параметры DRPC. Текущие настройки пула могут быть получени из представления DBA_CPOOL_INFO.

  • Обновите используемую строку соединения. К примеру, для приложений PHP, которые сейчас соединяются, используя Network Connect Name MYDB:

        $c = oci_pconnect("myuser", "mypassword", "MYDB");

    измените файл tnsnames.ora и добавьте оператор (SERVER=POOLED), например:

        MYDB = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com)
           (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales)
           (SERVER=POOLED)))

    В качестве альтернативы можно изменить синтаксис упрощенного соединения в PHP и добавить туда :POOLED после имени сервиса:

        $c = oci_pconnect("myuser", "mypassword", "myhost.dom.com:1521/sales:POOLED");

  • Отредактируйте php.ini и выберите имя класса соединения. Это имя устанавливает логическое разделение пула соединений и может использоваться, чтобы изолировать пул для отдельных приложений. Любое PHP-приложение с одинаковым именем пользователя и классом для соединения будет иметь возможность совместно использовать соединения в пуле, получая бОльшую масштабируемость.

        oci8.connection_class = "MY_APPLICATION_NAME"

  • Запустите приложение, соединяющееся с базой 11g.

Замечание:

Приложения, использующие Oracle 10g, которые требуют производительности от постоянных соединений, могут уменьшить количество памяти сервера БД, которое используется Shared-серверами Oracle (ранее известные как многопоточные сервера). Обратитесь к документации Oracle для более подробной информации.

Рекомендации по DRCP и известные ограничения

При изменении пароля через DRCP-соединение будет выдаваться ошибка ORA-56609: Usage not supported with DRCP. Это документированное ограничение of Oracle Database 11g.

C расширением OCI8 версии 1.3 постоянные соединения теперь могут быть закрыты пользователем. Это позволяет получить больший контроль над использованием ресурсов соединений. Постоянные соединения теперь будут также закрываться автоматически, когда отсутствует указывающая на них переменная PHP, например, в таких случаях, как в конце области видимости пользовательской функции PHP. Это откатит любую незавершенную транзакцию. Эти изменения в постоянных соединениях делают их поведение похожим на поведение непостоянных соединений, упрощая интерфейс и позволяя приложениям быть более логичными и предсказуемыми. Для сохранения предыдущего поведения используйте директиву oci8.old_oci_close_semantics, принимающую значение On .

Если СУБД Oracle версии 11.1.0.6, то для использования DRCP должен быть применен патч для СУБД Oracle для устранения ошибки 6474441. Без этого патча могут происходить ошибки, такие как ORA-01000: maximum open cursors exceeded, ORA-01001 invalid cursor или ORA-01002 fetch out of sequence. Эти ошибки исправлены в Oracle версии 11.1.0.7 и более поздних.

Если патч для СУБД Oracle 11.1.0.6 не может быть применен, тогда вместо этого можно воспользоваться тремя методами:

  • Соединение используя Oracle Dedicated или Shared сервера вместо DRCP.
  • Установить директиву PHP oci8.statement_cache_size в 0.
  • Установить событие в файле параметров инициализации базы: event="56699 trace name context forever, level 128".

Патч 6474441 для БД Oracle версий 11.1.0.7 и 11.1.0.6 позволяет приложениям на PHP с DRCP-соединением использовать триггер базы LOGON для установки параметров сессии в момент ее создания. Примерами таких параметров являются язык NLS и формат даты.

Если патч к БД Oracle 11.1.0.6 не может быть установлен, то можно использовать несколько методов вместо использования триггеров LOGON:

  • После авторизации, явно установите свойства сессии используя код приложения PHP.
  • Соединитесь, используя Oracle Dedicated или Shared сервера вместо DRCP.

Автоматическое повторное установление постоянного соединения PHP после порождения нового процесса Apache или FGCI означает, что использование триггеров LOGON в PHP рекомендуется только для установки атрибутов сессии, а не для пользовательских запросов на соединение для каждого приложения. Это даже более проявляется с DRCP за счет автоматического изменения размера буфера соединений и со способом триггеров LOGON конфликтующим с DRCP аутентификацией.

Поддержка быстрого оповещение приложения (FAN)

Поддержка FAN дает быструю обработку ситуации отказа соединения и высокую доступность. Это посволяет скриптам PHP OCI8 быть уведомленными когда компьютер или экземпляр базы данных становится недоступным. Без FAN, OCI8 может зависнуть до тех пор, пока не пройдет таймаут TCP и не возвратится ошибка, что может занимать несколько минут. Включение FAN в OCI8 позволяет приложениям определять ошибки и подсоединяться заново к доступному экземпляру базы данных без уведомления веб-пользователя о перебое в работе.

Поддержка FAN доступна, когда клиентские библиотеки Oracle, с которыми был собран PHP и СУБД Oracle, вместе имеют версию 10gR2 или 11g.

FAN приносит пользу пользователям кластерной технологии Oracle (RAC), потому что соединения к оставшимся работоспособными экземплярам базы может быть осуществлено незамедлительно. Пользователи Oracle Data Guard с брокером будут видеть сгенерированные события FAN, когда резервная база данных становится доступной. Автономные базы данных будут посылать FAN-события, когда база будет перезагружена.

Для активных соединений, когда машина или экземпляр базы данных становится недоступным, будет возвращена функцией ошибка соединения OCI8, которая в данный момент вызывается. При последующих попытках соединение будет установлено к работоспособному экземпляру базы данных. Расширение OCI8 также прозрачно обновляет все неиспользуемые соединения, которые повредились из-за ошибок сервера БД или экземпляра соединения. Таким образом, вызов функции соединения в PHP обновит соединение без уведобления скрипта о каких бы то ни было нарушениях сервиса.

Когда директива oci8.events принимает значение On, рекомендуется установить oci8.ping_interval в -1 для выключения пинга, так как включение FAN-событий, предоставляющих упреждающее управление неиспользуемыми соединениями, сделает его невозможным из-за нарушения обслуживания.

Для включения поддержки FAN в PHP необходимо собрать PHP с библиотеками Oracle 10gR2 или 11g и затем следовать следующим инструкциям:

  • Как привилегированный администратор баз данных, используйте программу, подобную SQL*Plus, для включения сервиса БД по отправке FAN-событий. Например:

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Отредактируйте php.ini и добавьте

        oci8.events = On

  • Если приложение не обрабатывает ошибочные состояния OCI8, модифицируйте его, чтобы определить ошибки и принять соответствующие действия. Это может включать повторное соединение и повторное выполнение выражений.
  • Запустите приложение, соединяющееся к базе Oracle 10gR2 или 11g.

Примеры
Поддерживаемые типы данных
OCI8


Поддерживаемые типы данных

Данный драйвер поддерживает следующие типы данных при использовании функции oci_bind_by_name() для связки параметров:
Тип | Отображение
SQLT_NTY | Связывает оригинальный тип коллекции из объекта коллекции PHP, например, создаваемых функцией oci_new_collection().
SQLT_BFILEE | Связывает оригинальный дескриптор, например, полученный с помощью функции oci_new_descriptor().
SQLT_CFILEE | Связывает оригинальный дескриптор, например, полученный с помощью функции oci_new_descriptor().
SQLT_CLOB | Связывает оригинальный дескриптор, например, полученный с помощью функции oci_new_descriptor().
SQLT_BLOB | Связывает оригинальный дескриптор, например, полученный с помощью функции oci_new_descriptor().
SQLT_RDD | Связывает оригинальный дескриптор, например, полученный с помощью функции oci_new_descriptor().
SQLT_NUM | Конвертирует параметр PHP в тип long языка 'C', и привязывает к этому значению.
SQLT_RSET | Связывает оригинальный дескриптор выражения, например, полученный из функции oci_parse() или из других запросов OCI.
SQLT_CHR и любой другой тип | Преобразует параметр PHP к строковому типу и привязывает его в виде строки.
Поддерживаются следующие типы при извлечении столбцов из набора данных:
Тип | Отображение
SQLT_RSET | Создает ресурс выражения oci для представления курсора.
SQLT_RDD | Создает объект ROWID.
SQLT_BLOB | Создает объект LOB.
SQLT_CLOB | Создает объект LOB.
SQLT_BFILE | Создает объект LOB.
SQLT_LNG | Связывает в виде SQLT_CHR, возвращается в виде строки
SQLT_LBI | Связывает в виде SQLT_BIN, возвращается в виде строки
Любой другой тип | Связывает в виде SQLT_CHR, возвращается в виде строки
Работа с соединениями
OCI8 (Oracle)
OCI8


OCI8 (Oracle)

Содержание

  • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_bind_by_name — Прикрепляет переменную PHP к соответствующей метке в SQL-выражении
  • oci_cancel — Заканчивает процесс чтения из курсора
  • oci_client_version — Returns the Oracle client library version
  • oci_close — Закрывает соединение с сервером Oracle
  • OCI-Collection->append — Добавляет элемент в коллекцию
  • OCI-Collection->assign — Присваивает коллекции значение другой, уже существующей коллекции
  • OCI-Collection->assignElem — Assigns a value to the element of the collection
  • OCI-Collection->free — Frees the resources associated with the collection object
  • OCI-Collection->getElem — Returns value of the element
  • OCI-Collection->max — Возвращает максимальное количество элементов в коллекции
  • OCI-Collection->size — Возвращает количество элементов в коллекции
  • OCI-Collection->trim — Отсекает элементы с конца коллекции
  • oci_commit — Фиксирует транзакцию базы данных
  • oci_connect — Устанавливает соединение с базой данных Oracle
  • oci_define_by_name — Сопоставляет переменную PHP столбцу результата запроса
  • oci_error — Возвращает последнюю ошибку
  • oci_execute — Выполняет подготовленное выражение
  • oci_fetch_all — Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_assoc — Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object — Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row — Возвращает следующую строку из результата запроса в виде нумерованного массива
  • oci_fetch — Выбирает следующую строку из результата в буфер
  • oci_field_is_null — Проверяет, равняется ли поле NULL
  • oci_field_name — Возвращает имя поля из результата запроса
  • oci_field_precision — Возвращает точность поля
  • oci_field_scale — Возвращает масштаб поля
  • oci_field_size — Возвращает размер поля
  • oci_field_type_raw — Возвращает исходный Oracle тип поля
  • oci_field_type — Возвращает тип поля
  • oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением
  • oci_internal_debug — Включает и выключает внутреннюю отладку
  • OCI-Lob->append — Добавляет данные из объекта LOB в конец другого объекта
  • OCI-Lob->close — Закрывает дескриптор объекта LOB
  • oci_lob_copy — Копирует объект LOB
  • OCI-Lob->eof — Проверяет, находится ли указатель LOB на конце файла
  • OCI-Lob->erase — Очищает указанную часть объекта LOB
  • OCI-Lob->export — Сохраняет содержимое объекта LOB в файл
  • OCI-Lob->flush — Очищает и записывает буфер объекта LOB на сервер
  • OCI-Lob->free — Frees resources associated with the LOB descriptor
  • OCI-Lob->getBuffering — Returns current state of buffering for the large object
  • OCI-Lob->import — Записывает содержимое файла в объект LOB
  • oci_lob_is_equal — Сравнивает два объекта LOB/FILE
  • OCI-Lob->load — Возвращает содержимое объекта LOB
  • OCI-Lob->read — Возвращает часть объекта LOB
  • OCI-Lob->rewind — Переводит указатель объекта в начало
  • OCI-Lob->save — Сохраняет данные в LOB
  • OCI-Lob->saveFile — Псевдоним OCI-Lob->import
  • OCI-Lob->seek — Устанавливает позицию внутреннего указателя LOB
  • OCI-Lob->setBuffering — Changes current state of buffering for the large object
  • OCI-Lob->size — Возвращает размер объекта LOB
  • OCI-Lob->tell — Возвращает текущую позицию внутреннего указателя объекта
  • OCI-Lob->truncate — Обрезает LOB до указанной длины
  • OCI-Lob->write — Записывает данные в объект LOB
  • OCI-Lob->writeTemporary — Writes a temporary large object
  • OCI-Lob->writeToFile — Псевдоним OCI-Lob->export
  • oci_new_collection — Создает новый объект коллекции
  • oci_new_connect — Устанавливает новое соединение с сервером Oracle
  • oci_new_cursor — Возвращает идентификатор созданного курсора
  • oci_new_descriptor — Инициализирует новый дескриптор объекта LOB или FILE
  • oci_num_fields — Возвращает количество полей в результате запроса
  • oci_num_rows — Возвращает количество строк, измененных в процессе выполнения запроса
  • oci_parse — Подготавливает запрос к выполнению
  • oci_password_change — Изменяет пароль пользователя Oracle
  • oci_pconnect — Устанавливает постоянное соединение с сервером Oracle
  • oci_result — Возвращает значение поля из результата запроса
  • oci_rollback — Откатывает транзакции, ожидающие обработки
  • oci_server_version — Возвращает версию сервера Oracle
  • oci_set_action — Sets the action name
  • oci_set_client_identifier — Sets the client identifier
  • oci_set_client_info — Sets the client information
  • oci_set_edition — Sets the database edition
  • oci_set_module_name — Sets the module name
  • oci_set_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер
  • oci_statement_type — Возвращает тип выражения
Поддерживаемые типы данных
oci_bind_array_by_name
OCI8


Binds a PHP array to an Oracle PL/SQL array parameter

OCI8 (Oracle)
oci_bind_by_name
OCI8 (Oracle)
PHP Manual

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter

Описание

bool oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC ]] )

Binds the PHP array var_array to the Oracle placeholder name, which points to an Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time.

Список параметров

statement

A valid OCI statement identifier.

name

The Oracle placeholder.

var_array

An array.

max_table_length

Sets the maximum length both for incoming and result arrays.

max_item_length

Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name() will find the longest element in the incoming array and will use it as the maximum length.

type

Should be used to set the type of PL/SQL array items. See list of available types below:

  • SQLT_NUM - for arrays of NUMBER.

  • SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms).

  • SQLT_FLT - for arrays of FLOAT.

  • SQLT_AFC - for arrays of CHAR.

  • SQLT_CHR - for arrays of VARCHAR2.

  • SQLT_VCS - for arrays of VARCHAR.

  • SQLT_AVC - for arrays of CHARZ.

  • SQLT_STR - for arrays of STRING.

  • SQLT_LVC - for arrays of LONG VARCHAR.

  • SQLT_ODT - for arrays of DATE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 oci_bind_array_by_name() example

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$statement = oci_parse($c, $create);
oci_execute($statement);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg);
oci_execute($statement);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_example VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg_body);
oci_execute($statement);

$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("one", "two", "three", "four", "five");

oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($statement);

var_dump($array);

?>

OCI8 (Oracle)
oci_bind_by_name
OCI8 (Oracle)


Прикрепляет переменную PHP к соответствующей метке в SQL-выражении

oci_bind_array_by_name
oci_cancel
OCI8 (Oracle)
PHP Manual

oci_bind_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Прикрепляет переменную PHP к соответствующей метке в SQL-выражении

Описание

bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )

Прикрепляет переменную variable к метке bv_name. Такое прикрепеление позволяет повысить производительность и избежать SQL-инъекций.

Прикрепление переменной позволяет базе данных повторно использовать кэшированные контекстные выражения от предыдущих запросов, даже если они первоначально были запущены другим пользователем или процессом. Это также снижает риск SQL-инъекций, поскольку данные в таком случае никогда не рассматриваются как инструкции SQL. Данные не требуется экранировать или заключать в кавычки.

Прикрепленные PHP-переменные могут быть изменены и снова выполнены без необходимости повторной обработки запроса или повторного прикрепления.

В Oracle, прикрепление переменных обычно разделяют на IN (прикрепляет значения, передаваемые в базу данных) и OUT (прикрепляет значения, возвращаемые PHP). Переменная может быть одновременно IN и OUT. Независимо от этого, характер прикрепленния переменных будет определен во время выполнения.

Необходимо указать maxlength при использовании OUT-привязки, что позволяет PHP зарезервировать больше памяти для хранения возвращаемого значения

Для IN-привязки рекомендуется также указать параметр maxlength, если выражение выполняется несколько раз с раздичными значениями PHP-переменной. В противном случае, Oracle может урезать размер данных до размера первоначального значения переменной PHP. Если максимальная длина значения неизвестна, рекомендуется вызывать oci_bind_by_name() перед каждым вызовом oci_execute(). Прикрепление неоправданно большой переменной повлияет на процесс сохранения базы данных.

Вид прикрепления указывает Oracle как работать с памятью при чтении данных. Для IN-прикрепления адрес в памяти должен содержать допустимые данные при вызове oci_execute(). Это значит, что значение переменной должно находиться в памяти во время исполнения. Если это не так, возможны некорректные результаты или ошибки наподобие "ORA-01460: unimplemented or unreasonable conversion requested" (запрошены невыполнимые или некорректные преобразования) Для OUT-прикрепления основным признаком является установка значения в переменную PHP.

Для многократно выполняемого выражения, привязка одних и тех же значений может уменьшить возможности оптимизатора Oracle по выработке наилучшего варианта выполнения инструкции. Длительное прикрепление выражений, которые редко исполняются, может также не принести пользы. Тем не менее, в обоих случаях, прикрепление является более безопасным, чем конкатенация строки запроса и непроверенных пользовательских данных.

Список параметров

statement

Допустимый идентификатор выражения OCI8.

bv_name

Метка с префиксом в виде двоеточия, используемая в выражении. Двоеточие опционально в bv_name. Oracle не использует знак вопроса для меток.

variable

Переменная PHP, ассоциированная с bv_name

maxlength

Устанавливает максимальный размер данных. Если указать -1, функция будет использовать текущий размер переменной variable в качестве максимального. При этом переменная variable должна существовать и содержать данные во время вызова oci_bind_by_name().

type

Тип данных, к которому Oracle будет приводить значения. По умолчанию type имеет значение SQLT_CHR. Oracle приводит данные от данного типа к типу поля (или типу переменной PL/SQL), если это возможно.

Если необходимо прикрепить переменную абстрактного типа (LOB/ROWID/BFILE), следует предварительно использовать oci_new_descriptor(). Параметр length не используется для абстрактных типов и должен быть установлен в -1.

Допустимые значения параметра type:

  • SQLT_BFILEE или OCI_B_BFILE - для BFILE-объектов;

  • SQLT_CFILEE или OCI_B_CFILEE - для CFILE-объектов;

  • SQLT_CLOB или OCI_B_CLOB - для CLOB-объектов;

  • SQLT_BLOB или OCI_B_BLOB - для BLOB-объектов;

  • SQLT_RDD или OCI_B_ROWID - для ROWID-объектов;

  • SQLT_NTY или OCI_B_NTY - для именованных типов даты;

  • SQLT_INT или OCI_B_INT - для целых чисел;

  • SQLT_CHR - для символов VARCHAR;

  • SQLT_BIN или OCI_B_BIN - для RAW-полей;

  • SQLT_LNG - для LONG-полей;

  • SQLT_LBI - для LONG RAW полей;

  • SQLT_RSET - для курсоров, созданных функцией oci_new_cursor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Добавление данных с использованием oci_bind_by_name()

<?php

// Создание таблицы:
//   CREATE TABLE mytab (id NUMBER, text VARCHAR2(40));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");

$id = 1;
$text = "Data to insert     ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $text);
oci_execute($stid);

// В таблице содержится: 1, 'Data to insert     '

?>

Пример #2 Одна привязка для многократного использования

<?php

// Создание таблицы:
//   CREATE TABLE mytab (id NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$a = array(1,3,5,7,11);  // данные для вставки

$stid = oci_parse($conn, 'INSERT INTO mytab (id) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $v, 20);
foreach ($a as $v) {
    $r = oci_execute($stid, OCI_DEFAULT);  // не использовать автоматическое завершение транзакции
}
oci_commit($conn); // завершение транзакции

// Таблица содержит пять записей: 1, 3, 5, 7, 11

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 Прикрепление в цикле foreach()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT * FROM departments WHERE department_name = :dname AND location_id = :loc';
$stid = oci_parse($conn, $sql);

$ba = array(':dname' => 'IT Support', ':loc' => 1700);

foreach ($ba as $key => $val) {

    // oci_bind_by_name($stid, $key, $val) не работает,
    // потому что прикрепляет каждое значение в одно место: $val
    // Вместо этого следует указывать конкретное место: $ba[$key]
    oci_bind_by_name($stid, $key, $ba[$key]);
}

oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
foreach ($row as $item) {
    print $item."<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Пример #4 Прикрепление в выражение WHERE

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id = :eidbv';
$stid = oci_parse($conn, $sql);
$myeid = 101;
oci_bind_by_name($stid, ':eidbv', $myeid);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['LAST_NAME'] ."<br>\n";

// Выводом будет
//    Kochhar

oci_free_statement($stid);
oci_close($conn);

?>

Пример #5 Прикрепление в выражение LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Поиск всех городов, начинающихся на 'South'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE city LIKE :bv");
$city = 'South%';  // '%' - это знак шаблона SQL
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Выводом будет:
//   South Brunswick
//   South San Francisco
//   Southlake

oci_free_statement($stid);
oci_close($conn);

?>

Пример #6 Прикрепление в выражение REGEXP_LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Поиск названий городов, содержащих 'ing'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE REGEXP_LIKE(city, :bv)");
$city = '.*ing.*';
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Выводом будет:
//   Beijing
//   Singapore

oci_free_statement($stid);
oci_close($conn);

?>

Для небольшого, фиксированного количества условий в выражении IN, используются индивидуальные имена переменных. Неизвестные значения при исполнении могут быть установлены в NULL. Это позволяет использовать одно выражение нескольким пользователям, что повышает эффективность кэширования Oracle DB.

Пример #7 Прикрепление нескольких значений в выржаение IN

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
$stid = oci_parse($conn, $sql);
$mye1 = 103;
$mye2 = 104;
$mye3 = NULL; // притворимся, что не получили это значение
oci_bind_by_name($stid, ':e1', $mye1);
oci_bind_by_name($stid, ':e2', $mye2);
oci_bind_by_name($stid, ':e3', $mye3);
oci_execute($stid);
oci_fetch_all($stid, $res);
foreach ($res['LAST_NAME'] as $name) {
    print $name ."<br>\n";
}

// Выводом будет:
//   Ernst
//   Hunold

oci_free_statement($stid);
oci_close($conn);

?>

Пример #8 Прикрепеление ROWID, возвращаемое запросом

<?php

// Создадим и наполним таблицу:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//   INSERT INTO mytab (id, salary, name) VALUES (1, 100, 'Chris');
//   COMMIT;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT ROWID, name FROM mytab WHERE id = :id_bv FOR UPDATE');
$id = 1;
oci_bind_by_name($stid, ':id_bv', $id);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
$rid = $row['ROWID'];
$name = $row['NAME'];

// Переведем имя в верхний регистр и зафиксируем изменения
$name = strtoupper($name);
$stid = oci_parse($conn, 'UPDATE mytab SET name = :n_bv WHERE ROWID = :r_bv');
oci_bind_by_name($stid, ':n_bv', $name);
oci_bind_by_name($stid, ':r_bv', $rid, -1, OCI_B_ROWID);
oci_execute($stid);

// Теперь таблица содержит: 1, 100, CHRIS

oci_free_statement($stid);
oci_close($conn);

?>

Пример #9 OUT-прикрепление ROWID, возвращаемое при INSERT

<?php

// В данном примере добавляется запись с идентификатором и именем,
// после чего увеличивается заработная плата
// Создание таблицы:
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//
// На основе собственных ROWID на примере thies[at]thieso.net (980221)

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = "INSERT INTO mytab (id, name) VALUES(:id_bv, :name_bv)
        RETURNING ROWID INTO :rid";

$ins_stid = oci_parse($conn, $sql);

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_bind_by_name($ins_stid, ":id_bv",   $id,    10);
oci_bind_by_name($ins_stid, ":name_bv", $name,  32);
oci_bind_by_name($ins_stid, ":rid",     $rowid, -1, OCI_B_ROWID);

$sql = "UPDATE mytab SET salary = :salary WHERE ROWID = :rid";
$upd_stid = oci_parse($conn, $sql);
oci_bind_by_name($upd_stid, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($upd_stid, ":salary", $salary,   32);

// идентификаторы и имена для вставки
$data = array(1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim");

// Заработная плата для каждого сотрудника
$salary = 10000;

// Вставка и немедленное обновление каждой строки
foreach ($data as $id => $name) {
    oci_execute($ins_stid);
    oci_execute($upd_stid);
}

$rowid->free();
oci_free_statement($upd_stid);
oci_free_statement($ins_stid);

// Показать новые записи
$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    var_dump($row);
}

oci_free_statement($stid);
oci_close($conn);

?>

Пример #10 Прикрепление для хранимой функции PL/SQL

<?php

//  Перед запуском PHP-сценария, создайте хранимую функцию в
//  SQL*Plus или SQL Developer:
//
//  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
//  BEGIN
//      RETURN p * 3;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);

// Возвращаемое значение OUT-прикреплено. По умолчаннию типом данных будет строка.
// Прикрепление со значением 40 означает, что будет возвращено 40 символов.
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // выведет 24

oci_free_statement($stid);
oci_close($conn);

?>

Пример #11 Прикрепление параметров для PL/SQL хранимой процедуры

<?php

//  Перед запуском PHP-сценария, создайте хранимую процедуру в
//  SQL*Plus или SQL Developer:
//
//  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
//  BEGIN
//      p2 := p1 * 2;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);

// Второй параметр процедуры OUT-прикреплен. По умолчаннию типом данных будет строка.
// Прикрепление со значением 40 означает, что будет возвращено 40 символов.
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // выведет 16

oci_free_statement($stid);
oci_close($conn);

?>

Пример #12 Прикрепление CLOB-объекта

<?php

// Создаем таблицу:
//     CREATE TABLE mytab (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$mykey = 12343;  // произвольный ключ для примера

$sql = "INSERT INTO mytab (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Получение CLOB-данных

$query = 'SELECT myclob FROM mytab WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
  $result = $row['MYCLOB']->load();
  print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Не используйте magic_quotes_gpc или addslashes() одновременно с oci_bind_by_name(), так как кавычек быть не должно. Все указанные кавычки будут записаны в базу данных, потому что oci_bind_by_name() вставляет данные дословно и не удаляет кавычки или символы экранирования.

Замечание:

Если прикрепляется строка к CHAR-полю в выражении WHERE, помните, что Oracle использует при сравнении значения CHAR, дополненные пробелами. Переменная PHP должна быть дополнена пробелами до того же размера, что и поле, чтобы выражение WHERE выполнялось верно.

Замечание:

Переменная PHP variable является ссылкой. Некоторые виды циклов могут работать не так, как ожидается:

<?php
foreach ($myarray as $key => $value)  {
    oci_bind_by_name($stid, $key, $value);
}
?>

В этом случае каждый ключ прикрепляется к $value, поэтому все прикрепленные переменные указывают на значение в последней итерации цикла. Вместо этого следует использовать:

<?php
foreach ($myarray as $key => $value) {
    oci_bind_by_name($stid, $key, $myarray[$key]);
}
?>

Замечание:

В версиях PHP ниже 5.0.0 следует использовать функцию ocibindbyname(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_bind_array_by_name() - Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_parse() - Подготавливает запрос к выполнению

oci_bind_array_by_name
oci_cancel
OCI8 (Oracle)


Заканчивает процесс чтения из курсора

oci_bind_by_name
oci_client_version
OCI8 (Oracle)
PHP Manual

oci_cancel

(PHP 5, PECL OCI8 >= 1.1.0)

oci_cancel — Заканчивает процесс чтения из курсора

Описание

bool oci_cancel ( resource $statement )

Сбрасывает курсор, освобождая все связанные ресурсы и отменяет возможность читать из него.

Список параметров

statement

Запрос OCI.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_bind_by_name
oci_client_version
OCI8 (Oracle)


Returns the Oracle client library version

oci_cancel
oci_close
OCI8 (Oracle)
PHP Manual

oci_client_version

(PHP 5.3.7, PECL OCI8 >= 1.4.6)

oci_client_version — Returns the Oracle client library version

Описание

string oci_client_version ( void )

Returns a string containing the version number of the Oracle C client library that PHP is linked with.

Список параметров

None

Возвращаемые значения

Returns the version number as a string.

Примеры

Пример #1 oci_client_version() example

<?php
    echo "Client Version: " . oci_client_version(); // Client version: 11.2.0.2
?>

Примечания

Замечание:

Oracle libraries before 10gR2 do not have the underlying functionality to get the client library version number. The string "Unknown" will be returned in this case.

Смотрите также

  • oci_server_version() - Возвращает версию сервера Oracle

oci_cancel
oci_close
OCI8 (Oracle)


Закрывает соединение с сервером Oracle

oci_client_version
OCI-Collection->append
OCI8 (Oracle)
PHP Manual

oci_close

(PHP 5, PECL OCI8 >= 1.1.0)

oci_close — Закрывает соединение с сервером Oracle

Описание

bool oci_close ( resource $connection )

Освобождает connection. Соответствующее ему соединение с базой данных будет закрыто при отсутствии использующих его ресурсов и если оно было получено из функции oci_connect() или oci_new_connect().

Рекомендуется закрывать неиспользуемые более соединения, т.к. это освобождает ресурсы базы данных для других пользователей.

Список параметров

connection

Идентификатор соединения Oracle, полученный и функций oci_connect(), oci_pconnect() или oci_new_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Закрытие соединения

Сопутствующие соединению ресурсы должны быть закрыты для обеспечения корректного завершения соединения с базой данных и освобождения ее ресурсов.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Освобождаем идентификатор выражения при закрытии соединения
oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Соединение базы данных не закрывается до тех пор, пока не будут закрыты все его ссылки

Внутренний счетчик ссылок (refcount) идентификатора соединения должен равняться нулю перед непосредственным закрытием соединения к базе данных.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');  // это увеличивает refcount на $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conn);

// $conn больше не может использоваться в данном скрипте, но реальное
// соединение с базой данных будет открыто, пока не будет освобождена $stid.
var_dump($conn);  // выводит NULL

// Пока PHP спит, запрос к виду Oracle V$SESSION в окне терминала
// покажет, что пользователь базы данных все еще подключен.
sleep(10);

// Как только $stid освобождается, соединение к базе данных физически закрывается
oci_free_statement($stid);

// Пока PHP спит, запрос к виду Oracle V$SESSION в окне терминала
// покажет, что пользователь базы данных уже отключился.
sleep(10);

?>

Пример #3 Закрытие соединения, открытого несколько раз

При повторном использовании учетных данных пользователя оба соединения должны быть закрыты перед непосредственным закрытием соединения к базе данных.

<?php

$conn1 = oci_connect('hr', 'welcome', 'localhost/XE');

// Использование тех же учетных данных повторно использует одно и то же
// соединение с базой данных. Любые незафиксированные изменения в
// $conn1 будут видны в $conn2
$conn2 = oci_connect('hr', 'welcome', 'localhost/XE');

// Пока PHP спит, запрос к виду Oracle V$SESSION в окне терминала
// покажет, что подключен только один пользователь базы данных.
sleep(10);

oci_close($conn1); // не закрывает реальное соединение с базой данных
var_dump($conn1);  // выводит NULL, т.к. $conn1 теперь бесполезна
var_dump($conn2);  // показывает, что $conn2 все еще является корректным ресурсом соединения

?>

Пример #4 Соединение закрывается при уходе переменных из области видимости

Когда все переменные, ссылающиеся на соединение, уходят из области видимости и освобождаются PHP, происходит откат транзакции (если необходимо) и соединение с базой закрывается.

<?php

function myfunc() {
    $conn = oci_connect('hr', 'hrpwd', 'localhost/XE');
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conn, 'UPDATE mytab SET id = 100');
    oci_execute($stid, OCI_NO_AUTO_COMMIT);
    return "Закончили!";
}

$r = myfunc();
// В этой точке происходит откат транзакции и закрывается соответствующее
// соединение с базой данных

print $r;  // отображает возвращенное функцией значение "Закончили!"

?>

Примечания

Замечание:

Переменные, зависящие от идентификатора соединений, такие как идентификаторы выражений, полученные из oci_parse(), должны быть также освобождены до закрытия соединения с базой данных.

Замечание:

До версии PHP 5.1.2 (PECL OCI8 1.1) oci_close() не выполняла никаких действий. В более свежих версиях она уже корректно закрывает соединение. Используйте директиву oci8.old_oci_close_semantics для восстановления старого поведения этой функции.

Замечание:

Функция oci_close() не закрывает соединения с базой данных, созданные функцией oci_pconnect().

Замечание:

В версиях PHP до 5.0.0 необходимо использовать ocilogoff() вместо этой функции. Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_connect() - Устанавливает соединение с базой данных Oracle
  • oci_free_statement() - Освобождает ресурсы, занимаемые курсором или SQL-выражением

oci_client_version
OCI-Collection->append
OCI8 (Oracle)


Добавляет элемент в коллекцию

oci_close
OCI-Collection->assign
OCI8 (Oracle)
PHP Manual

OCI-Collection->append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->append — Добавляет элемент в коллекцию

Описание

bool OCI-Collection::append ( mixed $value )

Добавляет элемент в конец коллекции.

Список параметров

value

Добавляемое значение может быть строкой или числом.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Collection->assign

oci_close
OCI-Collection->assign
OCI8 (Oracle)


Присваивает коллекции значение другой, уже существующей коллекции

OCI-Collection->append
OCI-Collection->assignElem
OCI8 (Oracle)
PHP Manual

OCI-Collection->assign

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->assign — Присваивает коллекции значение другой, уже существующей коллекции

Описание

bool OCI-Collection::assign ( OCI-Collection $from )

Присваивает коллекции значение другой, ранее созданной коллекции. Обе коллекции должны быть созданы ранее с помощью oci_new_collection().

Список параметров

from

Экземпляр OCI-Collection.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Collection->append

OCI-Collection->append
OCI-Collection->assignElem
OCI8 (Oracle)


Assigns a value to the element of the collection

OCI-Collection->assign
OCI-Collection->free
OCI8 (Oracle)
PHP Manual

OCI-Collection->assignElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->assignElem — Assigns a value to the element of the collection

Описание

bool OCI-Collection::assignElem ( int $index , mixed $value )

Assigns a value to the element with index index.

Список параметров

index

The element index. First index is 1.

value

Can be a string or a number.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Collection->getElem

OCI-Collection->assign
OCI-Collection->free
OCI8 (Oracle)


Frees the resources associated with the collection object

OCI-Collection->assignElem
OCI-Collection->getElem
OCI8 (Oracle)
PHP Manual

OCI-Collection->free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->free — Frees the resources associated with the collection object

Описание

bool OCI-Collection::free ( void )

Frees the resources associated with the collection object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • oci_new_collection

OCI-Collection->assignElem
OCI-Collection->getElem
OCI8 (Oracle)


Returns value of the element

OCI-Collection->free
OCI-Collection->max
OCI8 (Oracle)
PHP Manual

OCI-Collection->getElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->getElem — Returns value of the element

Описание

mixed OCI-Collection::getElem ( int $index )

Returns element's value with the index index (1-based).

Список параметров

index

The element index. First index is 1.

Возвращаемые значения

Returns FALSE if such element doesn't exist; NULL if element is NULL; string if element is column of a string datatype or number if element is numeric field.

Смотрите также

  • OCI-Collection->assignElem

OCI-Collection->free
OCI-Collection->max
OCI8 (Oracle)


Возвращает максимальное количество элементов в коллекции

OCI-Collection->getElem
OCI-Collection->size
OCI8 (Oracle)
PHP Manual

OCI-Collection->max

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->max — Возвращает максимальное количество элементов в коллекции

Описание

int OCI-Collection::max ( void )

Возвращает максимальное количество элементов в коллекции

Возвращаемые значения

Возвращает максимальное количество как целое число или FALSE в случае ошибки.

Если будет возвращен 0, то количество элементов не ограничено.

Смотрите также

  • OCI-Collection->size

OCI-Collection->getElem
OCI-Collection->size
OCI8 (Oracle)


Возвращает количество элементов в коллекции

OCI-Collection->max
OCI-Collection->trim
OCI8 (Oracle)
PHP Manual

OCI-Collection->size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->size — Возвращает количество элементов в коллекции

Описание

int OCI-Collection::size ( void )

Возвращает количество элементов в коллекции.

Возвращаемые значения

Возвращает количество элементов в коллекции или FALSE в случае ошибки.

Смотрите также

  • OCI-Collection->max

OCI-Collection->max
OCI-Collection->trim
OCI8 (Oracle)


Отсекает элементы с конца коллекции

OCI-Collection->size
oci_commit
OCI8 (Oracle)
PHP Manual

OCI-Collection->trim

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->trim — Отсекает элементы с конца коллекции

Описание

bool OCI-Collection::trim ( int $num )

Отсекает num элементов с конца коллекции.

Список параметров

num

Количество элементов для отсечения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Collection->size

OCI-Collection->size
oci_commit
OCI8 (Oracle)


Фиксирует транзакцию базы данных

OCI-Collection->trim
oci_connect
OCI8 (Oracle)
PHP Manual

oci_commit

(PHP 5, PECL OCI8 >= 1.1.0)

oci_commit — Фиксирует транзакцию базы данных

Описание

bool oci_commit ( resource $connection )

Фиксирует транзакцию соединения connection. Фиксация завершает текущую транзакцию и делает все изменения постоянными. Она также освобождает все установленные блокировки.

Транзакция начинается при первом SQL-запросе, изменяющим данные, который был запущен с помощью функции oci_execute() и флага OCI_NO_AUTO_COMMIT. Последующие изменения данных от других запросов также становятся частью данной транзакции. Изменения, сделанные в транзакции, являются временными до тех пор, пока транзакция не будет зафиксирована или будет произведен ее откат. Другие пользователи базы данных не смогут увидеть изменения до их фиксации.

При вставке или обновлении данных рекомендуется использовать транзакции для сохранения целостности данных и увеличения производительности.

Список параметров

connection

Идентификатор соединения Oracle, полученный из функций oci_connect(), oci_pconnect() или oci_new_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования oci_commit()

<?php

// Вставка в несколько таблиц, откат изменений в случае ошибки

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// Флаг OCI_NO_AUTO_COMMIT сообщает Oracle не фиксировать запрос INSERT при его поступлении
// Для PHP <= 5.3.1 используйте OCI_DEFAULT, эти два флага эквивалентны
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // откат изменений из обоих таблиц
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Фиксация изменений в обоих таблицах
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Примечания

Замечание:

Транзакции будут автоматически откачены при закрытии соединения или окончании скрипта (в зависимости от того, что случится раньше). Для фиксации транзакции необходимо явно вызвать функцию oci_commit().

Все вызовы oci_execute(), явно или по умолчанию использующие режим OCI_COMMIT_ON_SUCCESS зафиксируют любую предыдущую незафиксированную транзакцию.

Любой DDL-запрос Oracle, такой как CREATE или DROP автоматически фиксирует любую незафиксированную транзакцию.

Замечание:

В версиях PHP до 5.0.0 необходимо использовать ocicommit() вместо данной функции. Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_execute() - Выполняет подготовленное выражение
  • oci_rollback() - Откатывает транзакции, ожидающие обработки

OCI-Collection->trim
oci_connect
OCI8 (Oracle)


Устанавливает соединение с базой данных Oracle

oci_commit
oci_define_by_name
OCI8 (Oracle)
PHP Manual

oci_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_connect — Устанавливает соединение с базой данных Oracle

Описание

resource oci_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Возвращает идентификатор соединения, который используется большинством функций данного модуля.

См. Управление соединением для более детальной информации по управлению соединениями.

Начиная с PHP 5.1.2 (PECL OCI8 1.1) функция oci_close() может использоваться для завершения соединения.

Второй и последующие вызовы функции oci_connect() с теми же параметрами вернут идентификатор уже открытого соединения. Это означает, что транзакции используют одно и то же базовое соединение с базой данных. При необходимости разделения транзакций рекомендуется использовать функцию oci_new_connect().

Список параметров

username

Имя пользователя Oracle.

password

Пароль username.

connection_string

Содержит соединяемую Oracle instance. Это может быть » Easy Connect string, или Connect Name из файла tnsnames.ora, или имя локальной Oracle instance.

Если не указано отдельно, PHP использует переменные окружения, такие как TWO_TASK (на Linux) или LOCAL (на Windows) и ORACLE_SID для определения соединяемой Oracle instance.

Для использования метода Easy Connect, PHP должен быть слинкован с клиентскими библиотеками версии Oracle 10g или старше. Easy Connect string для Oracle 10g принимает следующую форму: [//]host_name[:port][/service_name]. Для Oracle 11g синтаксис таков: [//]host_name[:port][/service_name][:server_type][/instance_name]. Названия служб могут быть определены с помощью запуска Oracle утилиты lsnrctl status на сервере базы данных.

Файл tnsnames.ora может находиться в поисковом пути Oracle Net, который включает $ORACLE_HOME/network/admin и /etc. В качестве альтернативного варианта можно установить TNS_ADMIN таким образом, чтобы путь $TNS_ADMIN/tnsnames.ora был читаемым. Убедитесь, что веб-сервер имеет доступ к этому файлу.

character_set

Определяет кодировку, используемую клиентскими библиотеками Oracle. Данная кодировка необязательно должна совпадать с кодировкой, используемой в самой базе данных. Если она не совпадает, Oracle сделает все возможное для конвертирования данных из- и в данную кодировку. В зависимости от используемых кодировок это может не всегда давать приемлемые результаты. Преобразование также создает некоторые дополнительные временные затраты.

Если кодировка не указана, клиентские библиотеки Oracle будут определять ее из переменной окружения NLS_LANG.

Передача этого параметра может сократить время соединения.

session_mode

Этот параметр доступен начиная с версии PHP 5 (PECL OCI8 1.1) и принимает следующие значения: OCI_DEFAULT, OCI_SYSOPER и OCI_SYSDBA. Если были указаны OCI_SYSOPER или OCI_SYSDBA, данная функция попытается установить привилегированное соединение, используя внешние данные авторизации. По умолчанию привилегированные соединения отключены. Чтобы их включить, необходимо установить oci8.privileged_connect в On.

В версии PHP 5.3 (PECL OCI8 1.3.4) появилось значение OCI_CRED_EXT. Оно указывает Oracle использовать внешнюю аутентификацию или аутентификацию с помощщью операционной системы, что должно быть настроено в базе данных. Флаг OCI_CRED_EXT может быть использован только с именем пользователя "/" и пустым паролем. oci8.privileged_connect может принимать значение On или Off.

OCI_CRED_EXT может использоваться совместно с режимами OCI_SYSOPER и OCI_SYSDBA.

OCI_CRED_EXT не поддерживается в Windows по причинам безопасности.

Возвращаемые значения

Возвращает идентификатор соединения или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования oci_connect() с синтаксисом Easy Connect

<?php

// Подключается к XE сервису (т.е. к базе данных) на "localhost"
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Пример #2 Пример использования oci_connect() используя имя Network Connect

<?php

// Соединяется с базой данных MYDB описанной в файле tnsnames.ora,
// Пример записи в tnsnames.ora для MYDB:
//   MYDB =
//     (DESCRIPTION =
//       (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
//       (CONNECT_DATA =
//         (SERVER = DEDICATED)
//         (SERVICE_NAME = XE)
//       )
//     )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Пример #3 Пример использования oci_connect() с использованием определенного набора символов

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Пример #4 Пример использования многократных вызовов oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// $c1 и $c2 содержат одинаковый PHP id ресурса, что означает, что
// они используют одинаковое базовое соединение
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
    $stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
    oci_execute($stmt);
    echo "Created table<br>\n";
}

function drop_table($conn)
{
    $stmt = oci_parse($conn, "drop table hallo");
    oci_execute($stmt);
    echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
    $stmt = oci_parse($conn, "insert into hallo
              values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
    oci_rollback($conn);
    echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
    $stmt = oci_parse($conn, "select * from hallo");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname ----selecting<br>\n";
    while (oci_fetch($stmt)) {
        echo "    " . oci_result($stmt, "TEST") . "<br>\n";
    }
    echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1);   // Вставить строку используя c1
sleep(2);                 // остановиться для записи другой временной метки для следующей строки
insert_data('c2', $c2);   // Вставить строку используя c2

select_data('c1', $c1);   // Возврат результата обоих вставок
select_data('c2', $c2);   // Возврат результата обоих вставок

rollback('c1', $c1);      // Откат используя c1

select_data('c1', $c1);   // Откат был произведен для обоих вставок
select_data('c2', $c2);

drop_table($c1);

// Закрытие одного из соединений делает переменную PHP недоступной, но
// другие могут быть использованы
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// Вывод is:
//    c1 is Resource id #5
//    c2 is Resource id #5
//    Created table
//    c1 inserted row without committing
//    c2 inserted row without committing
//    c1 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c1 ----done
//    c2 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c2 ----done
//    c1 rollback
//    c1 ----selecting
//    c1 ----done
//    c2 ----selecting
//    c2 ----done
//    Dropped table
//    c1 is
//    c2 is Resource id #5

?>

Примечания

Замечание:

Некорректно установленное или настроенное расширение OCI8 будет часто сообщать о проблемах соединения или ошибках. См. Установка/Настройка для решения проблем.

Замечание:

В PHP версиях до 5.0.0 рекомендуется использовать ocilogon(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_pconnect() - Устанавливает постоянное соединение с сервером Oracle
  • oci_new_connect() - Устанавливает новое соединение с сервером Oracle
  • oci_close() - Закрывает соединение с сервером Oracle

oci_commit
oci_define_by_name
OCI8 (Oracle)


Сопоставляет переменную PHP столбцу результата запроса

oci_connect
oci_error
OCI8 (Oracle)
PHP Manual

oci_define_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_define_by_name — Сопоставляет переменную PHP столбцу результата запроса

Описание

bool oci_define_by_name ( resource $statement , string $column_name , mixed &$variable [, int $type = SQLT_CHR ] )

Сопоставляет переменную PHP столбцу результата запроса, полученного с помощью oci_fetch().

Вызов oci_define_by_name() должен производиться до запуска oci_execute().

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

column_name

Имя столбца использованного в запросе.

Используйте верхний регистр для стандартных регистронезависимых имен столбцов Oracle. Используйте точное написание имени столбца для регистрозависимых имен.

variable

Переменная PHP, предназначенная для хранения возвращенного значения.

type

Тип возвращаемых данных. Обычно не требуется. Имейте ввиду, что преобразования Oracle-данных не производятся. К примеру, SQLT_INT будет проигнорировано и возвращенные данные будут по прежнему в виде SQLT_CHR.

Если вам нужно назначить переменную абстрактного дипа данных (LOB/ROWID/BFILE), то ее необходимо сначала создать с помощью oci_new_descriptor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования oci_define_by_name()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// Переменные ДОЛЖНЫ быть определены перед запуском
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

//  Каждый результат запроса помещает в заранее определенную переменную следующую строку данных
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Выведет:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Пример использования oci_define_by_name() с регистрозависимыми именами столбцов

<?php

/*
  До запуска, создается таблица со столбцом, имеющим регистрозависимое имя
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Используется верхний регистр для регистронезависимых имен столбцов
oci_define_by_name($stid, 'ID', $id);

// Используется точное написание для регистрозависимых имен столбцов
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo "id $id is $mydesc<br>\n";
}

// Выведет:
//   id 1 is Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 Пример использования oci_define_by_name() со столбцами типа LOB

<?php

/*
  Перед запуском создаются таблицы:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Переменные ДОЛЖНЫ быть определены перед запуском
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruit);  // $fruit will become a LOB descriptor

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Выведет:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Пример #4 Пример использования oci_define_by_name() с приведенными типами

<?php

/*
  Перед запуском создается таблица:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Переменные ДОЛЖНЫ быть определены перед запуском
oci_define_by_name($stid, 'ID', $id);

$fruit = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruit, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Выведет:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

В версиях PHP до 5.0.0 рекомендуется использование ocidefinebyname(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_new_descriptor() - Инициализирует новый дескриптор объекта LOB или FILE

oci_connect
oci_error
OCI8 (Oracle)


Возвращает последнюю ошибку

oci_define_by_name
oci_execute
OCI8 (Oracle)
PHP Manual

oci_error

(PHP 5, PECL OCI8 >= 1.1.0)

oci_error — Возвращает последнюю ошибку

Описание

array oci_error ([ resource $resource ] )

Возвращает последнюю найденную ошибку.

Функция должны вызваться сразу же после появления ошибки. Ошибки очищаются при произведении правильного запроса.

Список параметров

resource

Для большинства ошибок параметром resource является соответствующий идентификатор соединения или выражения. Для ошибок во время выполнения функций oci_connect(), oci_new_connect() и oci_pconnect() параметр resource указывать не следует.

Возвращаемые значения

Если ошибок не найдено, то oci_error() возвращает FALSE. В другом случае, oci_error() возвращает информацию об ошибке в виде ассоциативного массива.

Описание массива вывода oci_error()
Ключ массива | Тип | Описание
code | integer | Номер ошибки Oracle.
message | string | Текст ошибки Oracle.
offset | integer | Позиция ошибки в запросе SQL. Если нет запроса, то равна 0
sqltext | string | Текст запроса SQL. Если нет запроса, то строка пуста.

Список изменений

Версия | Описание
4.3.0 | Добавлены позиции offset и sqltext.

Примеры

Пример #1 Вывод сообщения об ошибке Oracle после ошибки соединения

<?php
$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
    $e = oci_error();   // Для обработки ошибок oci_connect
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Пример #2 Вывод сообщения об ошибке Oracle после ошибки разбора

<?php
$stid = oci_parse($conn, "select ' from dual");  // пропущенные кавычки
if (!$stid) {
    $e = oci_error($conn);  // Для обработки ошибок oci_parse
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Пример #3 Вывод сообщения об ошибке Oracle, ошибочного запроса и позиции ошибки запуска запроса

<?php
$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);  // Для обработки ошибок oci_execute
    print htmlentities($e['message']);
    print "\n<pre>\n";
    print htmlentities($e['sqltext']);
    printf("\n%".($e['offset']+1)."s", "^");
    print  "\n</pre>\n";
}
?>

Примечания

Замечание:

В версиях PHP до 5.0.0 необходимо взамен использовать функцию ocierror(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

oci_define_by_name
oci_execute
OCI8 (Oracle)


Выполняет подготовленное выражение

oci_error
oci_fetch_all
OCI8 (Oracle)
PHP Manual

oci_execute

(PHP 5, PECL OCI8 >= 1.1.0)

oci_execute — Выполняет подготовленное выражение

Описание

bool oci_execute ( resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ] )

Выполняет подготовленное выражение statement, созданное с помощью функции oci_parse().

Сразу после выполнения выражения подобного INSERT, по умолчанию все данные сразу будут сохранены в базе данных. Для выражений подобных SELECT, выполняется только логика запроса. Результат же запроса можно получить позже в PHP с помощью функций подобных oci_fetch_array().

Каждое подготовленное выражение может быть выполнено несколько раз для экономии на издержках от повторной подготовки запроса. Это чаще всего применяется для выражений INSERT, когда к ним привязанны данные с помощью oci_bind_by_name().

Список параметров

statement

Правильное подготовленное выражение OCI.

mode

Необязательный второй параметр с одним из следующих значений:

Режим выполнения
Константа | Описание
OCI_COMMIT_ON_SUCCESS | Автоматически сохранять все несохраненные изменения, произведенные за текущую сессию при успешном выполнении выражения. Этот режим установлен по умолчанию.
OCI_DEFAULT | Устаревшая начиная с PHP 5.3.2 (PECL OCI8 1.4), но все еще доступная для обратной совместимости. Используйте ее эквивалент OCI_NO_AUTO_COMMIT в новых приложениях.
OCI_DESCRIBE_ONLY | Делает доступными метаданные запроса для функций подобных oci_field_name(), но не создает результат выполнения выражения. Любое последующее получение данных, например с помощью oci_fetch_array() не будет произведено.
OCI_NO_AUTO_COMMIT | Не сохранять автоматически изменения. Для PHP 5.3.2 (PECL OCI8 1.4) используйте OCI_DEFAULT, которая является эквивалентом для OCI_NO_AUTO_COMMIT.

Использование режима OCI_NO_AUTO_COMMIT открывает транзакцию. Эта транзакция автоматически откатывается при закрытии соединения или завершении скрипта. Используйте oci_commit() для завершения транзакции и oci_rollback() для ее отмены.

При вставке и обновлении данных рекомендуется использование транзакций для реляционной целостности данных и для улучшения производительности.

Если для какого-нибудь выражения используется режим OCI_NO_AUTO_COMMIT, и впоследствии не используются oci_commit() или oci_rollback(), то OCI8 будет выполнять откат при завершении скрипта даже если данные не были изменены. Для избежания ненужных откатов большинство скриптов не используют режим OCI_NO_AUTO_COMMIT для запросов или PL/SQL. Будьте внимательны, чтобы обеспечить надлежащую согласованность транзакций при использовании oci_execute() с различными режимами в одном скрипте.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 oci_execute() при выолнении запросов

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Пример #2 oci_execute() без указания определенного режима

<?php

// Перед выполнением создайте таблицу:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // Строка сохранена и становится видимой для других пользователей

?>

Пример #3 oci_execute() с OCI_NO_AUTO_COMMIT

<?php

// Перед выполнением создайте таблицу:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
    oci_execute($stid, OCI_NO_AUTO_COMMIT);  // use OCI_DEFAULT for PHP <= 5.3.1
}
oci_commit($conn);  // сохранение все новых значений: 1, 2, 3, 4, 5

?>

Пример #4 oci_execute() с различными режимами

<?php

// Перед выполнением создайте таблицу:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT);  // data not committed

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid);  // commits both 123 and 456 values

?>

Пример #5 oci_execute() с OCI_DESCRIBE_ONLY

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
    echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Примечания

Замечание:

Транзакции автоматически откатываются при закрытии соединения или завершении выполнения скрипта. Принудительно вызывайте oci_commit() для завершения транзакции.

Любой вызов oci_execute(), который принудительно использует OCI_COMMIT_ON_SUCCESS или по умолчанию будет завершать любую предыдущую незакрытую транзакцию.

Любое выражение Oracle DDL подобное CREATE или DROP будет автоматически завершать любу. незакрытую транзакцию.

Замечание:

Так как функция oci_execute() обычно отправляет выражения в базу данных, то oci_execute() может найти некоторые незначительные синтаксические ошибки, когда локальная oci_parse() их не находит.

Замечание:

В PHP до версии 5.0.0 используйте ociexecute(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_parse() - Подготавливает запрос к выполнению

oci_error
oci_fetch_all
OCI8 (Oracle)


Выбирает все строки из результата запроса в двумерный массив

oci_execute
oci_fetch_array
OCI8 (Oracle)
PHP Manual

oci_fetch_all

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_all — Выбирает все строки из результата запроса в двумерный массив

Описание

int oci_fetch_all ( resource $statement , array &$output [, int $skip = 0 [, int $maxrows = -1 [, int $flags = OCI_FETCHSTATEMENT_BY_COLUMN + OCI_ASSOC ]]] )

Выбирает все строки из результата запроса в двумерный массив. По умолчанию возвращает все строки.

Эта функция может быть вызваться только один раз для каждого запроса запущенного с помощью oci_execute().

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

output

Переменная, содержащая возвращенные строки.

LOB столбцы возвращаются в виде строк, для которых поддерживается Oracle преобразования.

См. oci_fetch_array() для более детальной информации о том, как производится выборка данных и типов.

skip

Число строк, которых необходимо исключить из выборки. По умолчанию равно 0, выборка возвращается со следующего за первым ряда.

maxrows

Число возвращаемых строк. По умолчанию равно -1, что означает возврат всех строк, начиная с указанных в skip + 1 предыдущая строка.

flags

Параметр flags содержит структуру массива отражает необходимость использования ассоциативных массивов.

Структура массива oci_fetch_all()
Константа | Описание
OCI_FETCHSTATEMENT_BY_ROW | Массив будет содержать по одному под-массиву на каждую строку запроса.
OCI_FETCHSTATEMENT_BY_COLUMN | Массив будет содержать по одному под-массиву на каждый столбец. Используется по умолчанию.

Массивы могут быть проиндексированы заголовками столбцов или пронумерованы.

Индексация массива oci_fetch_all()
Константа | Описание
OCI_NUM | Для массива каждого столбца используются числовые индексы.
OCI_ASSOC | Для массива каждого столбца используется ассоциативные индексы. По умолчанию.

Используйте оператор сложения "+" для выбора определенной комбинации структуры и индексации массива.

Регистронезависимые (по умолчанию в Oracle) имена полей в результирующем массиве будут иметь ассоциативные индексы в верхнем регистре. Регистрозависимые имена полей будут иметь индексы с теми же регистрами символов, что и само поле. Используйте var_dump() на on output, чтобы проверить соответствие регистров символов для каждого запроса.

В запросах в которых имеется несколько столбцов с одинаковыми именами необходимо использовать псевдонимы. Иначе только один из столбцов появится в ассоциативном массиве.

Возвращаемые значения

Возвращает число столбцов в output, который может принимать значение 0 или более, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования oci_fetch_all()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Вывод var_dump:
//    2 rows fetched
//    array(2) {
//      ["POSTAL_CODE"]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(6) "10934x"
//      }
//      ["CITY"]=>
//      array(2) {
//        [0]=>
//        string(4) "Roma"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

// Форматирование результатов
echo "<table border='1'>\n";
foreach ($res as $col) {
    echo "<tr>\n";
    foreach ($col as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Пример использования oci_fetch_all() с OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Выведет:
//    2 rows fetched
//    array(2) {
//      [0]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "00989x"
//        ["CITY"]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "10934x"
//        ["CITY"]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 Пример использования oci_fetch_all() с OCI_NUM

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Выведет:
//    2 rows fetched
//    array(2) {
//      [0]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        [0]=>
//        string(6) "10934x"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

Использование skip неэффективно. Все пропускаемые ряды включаются в результат запроса возвращаемый базой данных к PHP. После этого они исключаются. Более эффективно использовать SQL для отступа и ограничения рядов в запросе. См. oci_fetch_array() для примеров.

Замечание:

Запросы, возвращающие большое число рядов, могут быть более эффективными если используется однорядная функция выборки, такая как oci_fetch_array().

Замечание:

Для запросов, возвращающих большое количество рядов, производительность может быть значительно увеличена с помощью увеличения опции oci8.default_prefetch или использования oci_set_prefetch().

Замечание:

В версиях PHP до 5.0.0 необходимо использовать ocifetchstatement(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива
  • oci_set_prefetch() - Устанавливает количество строк, которые будут автоматически выбраны в буфер

oci_execute
oci_fetch_array
OCI8 (Oracle)


Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива

oci_fetch_all
oci_fetch_assoc
OCI8 (Oracle)
PHP Manual

oci_fetch_array

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива

Описание

array oci_fetch_array ( resource $statement [, int $mode ] )

Возвращает массив, содержащий следующую строку результата запроса. Каждый элемент массива соответствует одному полю из строки. Эта функция обычно вызывается в цикле, пока она не вернет FALSE, который указывает на отсутствие последующих строк.

За подробностями по операции отображения типов данных, осуществляемым расширением OCI8 обратитесь к типам данных, поддерживаемые драйвером

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

mode

Необязательный второй параметр может состоять из любой комбинации следующих констант:

oci_fetch_array() Modes
Константа | Описание
OCI_BOTH | Возвращает массив как с ассоциативными и числовыми индексами. Эта константа то же самое что и OCI_ASSOC + OCI_NUM, и она используется по умолчанию.
OCI_ASSOC | Возвращает ассоциативный массив.
OCI_NUM | Возвращает нумерованный массив.
OCI_RETURN_NULLS | Создает элементы для полей равных NULL. Значение элемента будет равно PHP NULL.
OCI_RETURN_LOBS | Возвращает содержимое полей типа LOB, вместо LOB указателя.

По умолчанию mode равен OCI_BOTH.

Используйте оператор сложения "+" для указания более одного режима.

Возвращаемые значения

Возвращает массив с ассоциативными и/или числовыми ключами. Если больше нет строк в statement, то возвращается FALSE.

По умолчанию, поля LOB возвращаются как указатели LOB.

Поля типа DATE возвращаются в формате строк, соответствующем текущему формату даты. Формат по умолчанию может быть изменен с помощью переменных окружения Oracle, таких как NLS_LANG, или предварительным выполнением комманды ALTER SESSION SET NLS_DATE_FORMAT.

Регистронезависимые (по умолчанию в Oracle) имена полей будут иметь ассоциативные индексы в верхнем регистре в результирующем массиве. Регистрозависимые имена полей будут иметь индексы с теми же регистрами символов, что и само поле. Используйте var_dump() для результирующего массива, чтобы проверить соответствие регистров символов для каждого запроса.

Примеры

Пример #1 oci_fetch_array() с OCI_BOTH

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH))) {
    // Используйте название полей в верхнем регистре для ассоциативных индексов
    echo $row[0] . " и " . $row['DEPARTMENT_ID']   . " идентичны<br>\n";
    echo $row[1] . " и " . $row['DEPARTMENT_NAME'] . " идентичны<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 oci_fetch_array() с OCI_NUM

<?php

/*
  Перед выполнением создайте таблицу:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_NUM))) {
    echo $row[0] . "<br>\n";
    echo $row[1]->read(11) . "<br>\n"; // это выведет первые 11 байт DESCRIPTION
}

// Выведет:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 oci_fetch_array() с OCI_ASSOC

<?php

/*
  Перед выполнением создайте таблицу:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION']->read(11) . "<br>\n"; // это выведет первые 11 байт DESCRIPTION
}

// Выведет:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Пример #4 oci_fetch_array() с OCI_RETURN_NULLS

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC))) { // Игнорирует NULL значения
    var_dump($row);
}

/*
Вышеуказанный код выведет:
  array(1) {
    [1]=>
    string(1) "1"
  }
*/

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC+OCI_RETURN_NULLS))) { // Получает NULL значения
    var_dump($row);
}

/*
Вышеуказанный код выведет:
  array(2) {
    [1]=>
    string(1) "1"
    ["NULL"]=>
    NULL
  }
*/

?>

Пример #5 oci_fetch_array() с OCI_RETURN_LOBS

<?php

/*
  Перед выполнением создайте таблицу:
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS))) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION'] . "<br>\n"; // содержит весь DESCRIPTION
}

// Выведет:
//    1
//    A very long string

oci_free_statement($stid);
oci_close($conn);

?>

Пример #6 oci_fetch_array() с регистрозависимыми названиями полей

<?php

/*
   Перед выполнением создайте таблицу:
      CREATE TABLE mytab ("Name" VARCHAR2(20), city VARCHAR2(20));
      INSERT INTO mytab ("Name", city) values ('Chris', 'Melbourne');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

// Так как 'Name' было создан как регистрозависимое поле, то
// те же регисты символов используются для индексов массива.
// Тем не менее для 'CITY' должен использоваться индекс в верхнем регистре.
print $row['Name'] . "<br>\n";   //  выведет Chris
print $row['CITY'] . "<br>\n";   //  выведет Melbourne

oci_free_statement($stid);
oci_close($conn);

?>

Пример #7 oci_fetch_array() с полями с одинаковыми названиями

<?php

/*
  Перед выполнением создайте таблицу:
      CREATE TABLE mycity (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycity (id, name) values (1, 'Melbourne');
      CREATE TABLE mycountry (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycountry (id, name) values (1, 'Australia');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT mycity.name, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Выведет только одну записаь "NAME":
//    array(1) {
//      ["NAME"]=>
//      string(9) "Australia"
//    }

// Для получения полей с повторяющимся названием используйте SQL псевдонимы (alias) для полей. Например "AS ctnm":
$sql = 'SELECT mycity.name AS ctnm, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Выведет записи из обоих полей:
//    array(2) {
//      ["CTNM"]=>
//      string(9) "Melbourne"
//      ["NAME"]=>
//      string(9) "Australia"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Пример #8 oci_fetch_array() с полями DATE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Устанавливаем формат даты для данного соединения.
// Для повышения производительности вместо этого
// используйте изменение формата в триггере или переменной окружения.
$stid = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'");
oci_execute($stid);

$stid = oci_parse($conn, 'SELECT hire_date FROM employees WHERE employee_id = 188');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['HIRE_DATE'] . "<br>\n";  // выведет 1997-06-14

oci_free_statement($stid);
oci_close($conn);

?>

Пример #9 oci_fetch_array() с REF CURSOR

<?php
/*
  Создайте PL/SQL хранимую процедуру:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Выполняет вовзращенный REF CURSOR и получает его в виде идентификатора выражения
oci_execute($refcur);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Пример #10 oci_fetch_array() с LIMIT-подобным запросом

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Запрос, который необходимо выполнить
$sql = 'SELECT city, postal_code FROM locations ORDER BY city';

// Этот вложенный выбирает часть строк из $sql.
// При реальной разработке будьте внимательны и избегайте
// возможности SQL-инъекции при объединении SQL выражений.
$limit_sql =
   'select *
    from ( select a.*, rownum as rnum
        from (' . $sql . ') a
        where rownum < :FIRST_ROW + :NUM_ROWS )
    where rnum >= :FIRST_ROW';

$first = 1;  // start with the first row
$num   = 5;  // return 5 rows
$stid = oci_parse($conn, $limit_sql);
oci_bind_by_name($stid, ':FIRST_ROW', $first);
oci_bind_by_name($stid, ':NUM_ROWS', $num);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo $row['CITY'] . " " . $row['POSTAL_CODE'] . "<br>\n";
}

// Выведет:
//    Beijing 190518x
//    Bern 3095x
//    Bombay 490231x
//    Geneva 1730x
//    Hiroshima 6823x

oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

Индексы ассоциативного массива необходимо приводить в верхний регистр для стандартных полей Oracle, созданных с регистронезависимыми названиями.

Замечание:

Для запросов, возвращающих большое количество рядов, производительность может быть значительно увеличена с помощью увеличения опции oci8.default_prefetch или использования oci_set_prefetch().

Замечание:

Функция oci_fetch_array() немного медленней oci_fetch_assoc() или oci_fetch_row(), но более гибкая.

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива
  • oci_set_prefetch() - Устанавливает количество строк, которые будут автоматически выбраны в буфер

oci_fetch_all
oci_fetch_assoc
OCI8 (Oracle)


Возвращает следующую строку из результата запроса в виде ассоциативного массива

oci_fetch_array
oci_fetch_object
OCI8 (Oracle)
PHP Manual

oci_fetch_assoc

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Возвращает следующую строку из результата запроса в виде ассоциативного массива

Описание

array oci_fetch_assoc ( resource $statement )

Возвращает ассоциативный массив, содержащий следующую строку из результата выполнения запроса. Каждый элемент массива соответствует столбцу текущей строки. Эта функция обычно вызывается в цикле, пока не возвращает FALSE, если больше нет строк.

Результат выполнения oci_fetch_assoc() идентичен выполнению oci_fetch_array() with OCI_ASSOC + OCI_RETURN_NULLS.

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

Возвращаемые значения

Возвращает ассоциативный массив. Если в результате запроса строк больше нет, возвращает FALSE.

Примечания

Замечание:

См. oci_fetch_array() для примеров получаемых строк.

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива

oci_fetch_array
oci_fetch_object
OCI8 (Oracle)


Возвращает следующую строку из результата запроса в виде объекта

oci_fetch_assoc
oci_fetch_row
OCI8 (Oracle)
PHP Manual

oci_fetch_object

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_object — Возвращает следующую строку из результата запроса в виде объекта

Описание

object oci_fetch_object ( resource $statement )

Возвращает объект, содержащий следующую строку из результата запроса. Имена свойств объекта соответствуют именам столбцов в строке. Эта функция обычно вызывается в цикле пока не возвращает FALSE когда больше нет рядов.

За подробностями по операции отображения типов данных, осуществляемым расширением OCI8 обратитесь к типам данных, поддерживаемые драйвером

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

Возвращаемые значения

Возвращает объект. Каждое свойство объекта соответствуют именам столбцов в строке. Если в результате запроса больше нет рядов, то возвращает FALSE.

Любой столбец LOB возвращается как дескриптор LOB.

Столбцы DATE возвращаются в виде строк, форматированных в соответствии с текущим форматов даты. Стандартный формат может быть изменен с помощью переменных окружения Oracle, таких как NLS_LANG или с помощью предварительно запущенной ALTER SESSION SET NLS_DATE_FORMAT команды.

Вам не следует забывать о том, что Oracle возвращает имена полей в ВЕРХНЕМ регистре, поэтому имена атрибутов объекта будут также в ВЕРХНЕМ регистре. Используйте функцию var_dump() по отношению к полученному объекту для определения регистра для каждого запроса.

Значения атрибутов соответствуют NULL для любых NULL полей.

Примеры

Пример #1 Пример использования oci_fetch_object()

<?php

/*
  Перед запуском создайте таблицу:
    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    // Используйте имена атрибутов в верхнем регистре
для каждого столбца Oracle
    echo $row->ID . "<br>\n";
    echo $row->DESCRIPTION . "<br>\n";
}

// Выведет:
//    1
//    Fish and Chips

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Пример использования oci_fetch_object() с названиями столбцов в различных регистрах

<?php

/*
Перед запуском создайте таблицу с именем столбца в различных регистрах:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    // Использование имён атрибутов в верхнем регистре для каждого столбца Oracle
    echo $row->ID . "<br>\n";
    // Использование точного написания для имени столбца с различными регистрами
    echo $row->MyDescription . "<br>\n";
}

// Выведет:
//    1
//    Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 Пример использования oci_fetch_object() с LOB

<?php

/*
  Перед запуском создайте таблицу
    CREATE TABLE mytab (id NUMBER, description CLOB);
    INSERT INTO mytab (id, description) values (1, 'A very long string');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    echo $row->ID . "<br>\n";
    // Таким образом будет выведено первые 11 байт из DESCRIPTION
    echo $row->DESCRIPTION->read(11) . "<br>\n";
}

// Выведет:
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива

oci_fetch_assoc
oci_fetch_row
OCI8 (Oracle)


Возвращает следующую строку из результата запроса в виде нумерованного массива

oci_fetch_object
oci_fetch
OCI8 (Oracle)
PHP Manual

oci_fetch_row

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_row — Возвращает следующую строку из результата запроса в виде нумерованного массива

Описание

array oci_fetch_row ( resource $statement )

Возвращает нумерованный массив, содержащий следующую строку из результата запроса. Каждый массив соответствует столбцу строки. Эта функция обычно вызывается в цикле пока не возвращает FALSE, если в результате запроса больше нет строк.

Вызов oci_fetch_row() аналогичен вызову oci_fetch_array() с флагом OCI_NUM + OCI_RETURN_NULLS.

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

Возвращаемые значения

Возвращает нумерованный массив. Если в statement больше нет срок возвращает FALSE.

Примечания

Замечание:

См. oci_fetch_array() для примеров результатов запросов.

Смотрите также

  • oci_fetch() - Выбирает следующую строку из результата в буфер
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта

oci_fetch_object
oci_fetch
OCI8 (Oracle)


Выбирает следующую строку из результата в буфер

oci_fetch_row
oci_field_is_null
OCI8 (Oracle)
PHP Manual

oci_fetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch — Выбирает следующую строку из результата в буфер

Описание

bool oci_fetch ( resource $statement )

Выбирает следующую строку из результата запроса во внутренний буфер, доступный с помощью oci_result() или через переменные, заранее определенные с помощью oci_define_by_name().

См. oci_fetch_array() для более детальной информации о выборе данных.

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

Возвращаемые значения

Возвращает TRUE при успехе или FALSE в результате запроса больше нет рядов.

Примеры

Пример #1 Пример использования oci_fetch() с определенными переменными

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// Определение переменных ДОЛЖНО быть произведено до запуска
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// С каждой выборкой переменные заполняются данными следующего ряда
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Выведет:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Пример использования oci_fetch() с oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " is ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Выведет:
//   1000 is Roma
//   1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

В версиях PHP до 5.0.0 используйте ocifetch(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_define_by_name() - Сопоставляет переменную PHP столбцу результата запроса
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив
  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива
  • oci_result() - Возвращает значение поля из результата запроса

oci_fetch_row
oci_field_is_null
OCI8 (Oracle)


Проверяет, равняется ли поле NULL

oci_fetch
oci_field_name
OCI8 (Oracle)
PHP Manual

oci_field_is_null

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_is_null — Проверяет, равняется ли поле NULL

Описание

bool oci_field_is_null ( resource $statement , mixed $field )

Проверяет, является ли значение, переданное в поле field из запроса statement равным NULL.

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть порядковый номер поля или имя поля (в верхнем регистре).

Возвращаемые значения

Возвращает TRUE, если field равен NULL, и FALSE если нет.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnisnull(). В PHP 5.0.0 и выше ocicolumnisnull() является алиасом oci_field_is_null(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_fetch
oci_field_name
OCI8 (Oracle)


Возвращает имя поля из результата запроса

oci_field_is_null
oci_field_precision
OCI8 (Oracle)
PHP Manual

oci_field_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_name — Возвращает имя поля из результата запроса

Описание

string oci_field_name ( resource $statement , int $field )

Возвращает имя поля field из результата запроса.

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает имя в виде строки, или FALSE при ошибках.

Примеры

Пример #1 Пример использования oci_field_name()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnname(). В PHP 5.0.0 и выше ocicolumnname() является алиасом oci_field_name(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_num_fields() - Возвращает количество полей в результате запроса
  • oci_field_type() - Возвращает тип поля
  • oci_field_size() - Возвращает размер поля

oci_field_is_null
oci_field_precision
OCI8 (Oracle)


Возвращает точность поля

oci_field_name
oci_field_scale
OCI8 (Oracle)
PHP Manual

oci_field_precision

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_precision — Возвращает точность поля

Описание

int oci_field_precision ( resource $statement , int $field )

Возвращает точность поля field.

Для полей типа FLOAT точность больше нуля, а масштаб равен -127. Если точность поля равна нулю, то тип поля - NUMBER. Иначе же, тип поля может быть описан как NUMBER(precision, scale).

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает точность в виде числа, или FALSE при ошибках.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnprecision(). В PHP 5.0.0 и выше ocicolumnprecision() является алиасом oci_field_scale(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_field_scale() - Возвращает масштаб поля
  • oci_field_type() - Возвращает тип поля

oci_field_name
oci_field_scale
OCI8 (Oracle)


Возвращает масштаб поля

oci_field_precision
oci_field_size
OCI8 (Oracle)
PHP Manual

oci_field_scale

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_scale — Возвращает масштаб поля

Описание

int oci_field_scale ( resource $statement , int $field )

Возвращает масштаб поля под номером field.

Для полей типа FLOAT точность, получаемая с помощью oci_field_precision(), больше нуля, а масштаб равен -127. Если точность поля равна нулю, то тип поля - NUMBER. Иначе же, тип поля может быть описан как NUMBER(precision, scale).

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает масштаб в виде числа, или FALSE при ошибке.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnscale(). В PHP 5.0.0 и выше ocicolumnscale() является алиасом oci_field_scale(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_field_precision() - Возвращает точность поля
  • oci_field_type() - Возвращает тип поля

oci_field_precision
oci_field_size
OCI8 (Oracle)


Возвращает размер поля

oci_field_scale
oci_field_type_raw
OCI8 (Oracle)
PHP Manual

oci_field_size

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_size — Возвращает размер поля

Описание

int oci_field_size ( resource $statement , mixed $field )

Возвращает размер поля field.

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает размер поля field в байтах, или FALSE при ошибках.

Примеры

Пример #1 Пример использования oci_field_size()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);
    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>";

oci_free_statement($stmt);
oci_close($conn);
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnsize(). В PHP 5.0.0 и выше ocicolumnsize() является алиасом oci_field_size(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_num_fields() - Возвращает количество полей в результате запроса
  • oci_field_name() - Возвращает имя поля из результата запроса

oci_field_scale
oci_field_type_raw
OCI8 (Oracle)


Возвращает исходный Oracle тип поля

oci_field_size
oci_field_type
OCI8 (Oracle)
PHP Manual

oci_field_type_raw

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Возвращает исходный Oracle тип поля

Описание

int oci_field_type_raw ( resource $statement , int $field )

Возвращает тип Oracle поля field.

Однако, если вы хотите получить тип поля, то oci_field_type() подойдет вам больше.

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает исходный Oracle тип в виде строки, или FALSE при ошибках.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumntyperaw(). В PHP 5.0.0 и выше ocicolumntyperaw() является алиасом oci_field_type_raw(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_field_size
oci_field_type
OCI8 (Oracle)


Возвращает тип поля

oci_field_type_raw
oci_free_statement
OCI8 (Oracle)
PHP Manual

oci_field_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type — Возвращает тип поля

Описание

mixed oci_field_type ( resource $statement , int $field )

Возвращает тип поля.

Список параметров

statement

Допустимый идентификатор OCI-выражения.

field

Может быть задано индексом (начиная с 1) или по имени.

Возвращаемые значения

Возвращает тип поля как строку или FALSE в случае ошибки.

Возвращаемые значения

Пример #1 Пример использования oci_field_type()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumntype(). В PHP 5.0.0 и выше ocicolumntype() является алиасом oci_field_type(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_num_fields() - Возвращает количество полей в результате запроса
  • oci_field_name() - Возвращает имя поля из результата запроса
  • oci_field_size() - Возвращает размер поля

oci_field_type_raw
oci_free_statement
OCI8 (Oracle)


Освобождает ресурсы, занимаемые курсором или SQL-выражением

oci_field_type
oci_internal_debug
OCI8 (Oracle)
PHP Manual

oci_free_statement

(PHP 5, PECL OCI8 >= 1.1.0)

oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением

Описание

bool oci_free_statement ( resource $statement )

Освобождает все ресурсы, занимаемые курсором или SQL-выражением, которое было возвращено функцией oci_parse() или получено от сервера Oracle.

Список параметров

statement

Допустимый идентификатор OCI-выражения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_field_type
oci_internal_debug
OCI8 (Oracle)


Включает и выключает внутреннюю отладку

oci_free_statement
OCI-Lob->append
OCI8 (Oracle)
PHP Manual

oci_internal_debug

(PHP 5, PECL OCI8 >= 1.1.0)

oci_internal_debug — Включает и выключает внутреннюю отладку

Описание

void oci_internal_debug ( bool $onoff )

Включает и выключает внутреннюю отладку

Список параметров

onoff

Значение FALSE выключает отладку, а TRUE - включает.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ociinternaldebug(). В PHP 5.0.0 и выше ociinternaldebug() является алиасом oci_internal_debug(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_free_statement
OCI-Lob->append
OCI8 (Oracle)


Добавляет данные из объекта LOB в конец другого объекта

oci_internal_debug
OCI-Lob->close
OCI8 (Oracle)
PHP Manual

OCI-Lob->append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->append — Добавляет данные из объекта LOB в конец другого объекта

Описание

bool OCI-Lob::append ( OCI-Lob $lob_from )

Добавляет в конец объекта LOB данные из другого объекта LOB.

Запись в LOB с помощью OCI-Lob->append() вызовет ошибку, если у объекта включен режим буферизации. Поэтому вы должны выключить буферизацию перед применением. Перед выключением буферизации вам необходимо использовать OCI-Lob->flush для очистки буфера.

Список параметров

lob_from

Копируемый LOB.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->flush
  • OCI-Lob->setBuffering
  • OCI-Lob->getBuffering

oci_internal_debug
OCI-Lob->close
OCI8 (Oracle)


Закрывает дескриптор объекта LOB

OCI-Lob->append
oci_lob_copy
OCI8 (Oracle)
PHP Manual

OCI-Lob->close

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->close — Закрывает дескриптор объекта LOB

Описание

bool OCI-Lob::close ( void )

Закрывает дескриптор объекта LOB или FILE. Эту функцию следует использовать только вместе с OCI-Lob->writeTemporary.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->writeTemporary

OCI-Lob->append
oci_lob_copy
OCI8 (Oracle)


Копирует объект LOB

OCI-Lob->close
OCI-Lob->eof
OCI8 (Oracle)
PHP Manual

oci_lob_copy

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_copy — Копирует объект LOB

Описание

bool oci_lob_copy ( OCI-Lob $lob_to , OCI-Lob $lob_from [, int $length = 0 ] )

Копирует содержание или часть содержания объекта LOB в другой объект LOB. Содержимое объекта LOB, в который производится копирование, перезаписывается.

Если необходимо скопировать определенную часть объекта, то для этого можно использовать OCI-Lob->seek, чтобы передвинуть внутренние указатели объектов на нужные позиции.

Список параметров

lob_to

LOB объект назначения.

lob_from

Копируемый объект LOB.

length

Длина участка содержимого для копирования.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

OCI-Lob->close
OCI-Lob->eof
OCI8 (Oracle)


Проверяет, находится ли указатель LOB на конце файла

oci_lob_copy
OCI-Lob->erase
OCI8 (Oracle)
PHP Manual

OCI-Lob->eof

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->eof — Проверяет, находится ли указатель LOB на конце файла

Описание

bool OCI-Lob::eof ( void )

Сообщает об определении достижения конца объекта внутренним указателем LOB.

Возвращаемые значения

Возвращает TRUE, если внутренний указатель объекта LOB находится на конце файла. В ином случае возвращает FALSE.

Смотрите также

  • OCI-Lob->size

oci_lob_copy
OCI-Lob->erase
OCI8 (Oracle)


Очищает указанную часть объекта LOB

OCI-Lob->eof
OCI-Lob->export
OCI8 (Oracle)
PHP Manual

OCI-Lob->erase

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->erase — Очищает указанную часть объекта LOB

Описание

int OCI-Lob::erase ([ int $offset [, int $length ]] )

Очищает конкретную часть объекта LOB, начиная с позиции, определенной в параметре offset. По умолчанию LOB очищается полностью.

Для объектов типа BLOB очищение означает заполнение нулевыми байтами. Объекты типа CLOB заполняются пробелами.

Список параметров

offset

length

Возвращаемые значения

Возвращает число очищенных символов/байт или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->truncate

OCI-Lob->eof
OCI-Lob->export
OCI8 (Oracle)


Сохраняет содержимое объекта LOB в файл

OCI-Lob->erase
OCI-Lob->flush
OCI8 (Oracle)
PHP Manual

OCI-Lob->export

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->export — Сохраняет содержимое объекта LOB в файл

Описание

bool OCI-Lob::export ( string $filename [, int $start [, int $length ]] )

Сохраняет содержимое объекта LOB в файл.

Список параметров

filename

Путь к файлу.

start

Начальная позиция экспорта.

length

Длина экспортируемой части LOB.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->import

OCI-Lob->erase
OCI-Lob->flush
OCI8 (Oracle)


Очищает и записывает буфер объекта LOB на сервер

OCI-Lob->export
OCI-Lob->free
OCI8 (Oracle)
PHP Manual

OCI-Lob->flush

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->flush — Очищает и записывает буфер объекта LOB на сервер

Описание

bool OCI-Lob::flush ([ int $flag ] )

OCI-Lob->flush() непосредственно записывает данные на сервер.

Список параметров

flag

По умолчанию ресурсы не освобождаются, но используя флаг OCI_LOB_BUFFER_FREE вы можете сделать это принудительно. Однако, вы должны быть точно уверены в том, что вы делаете, так как следующее чтение из объекта будет более ресурсоемко, чем предыдущие из-за необходимости обращения к серверу. Поэтому использовать флаг OCI_LOB_BUFFER_FREE рекомендуется только после того, как работа с объектом уже закончена.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Вернет FALSE в том случае ошибки или, если буферизация объекта не была включена.

Смотрите также

  • OCI-Lob->getBuffering
  • OCI-Lob->setBuffering

OCI-Lob->export
OCI-Lob->free
OCI8 (Oracle)


Frees resources associated with the LOB descriptor

OCI-Lob->flush
OCI-Lob->getBuffering
OCI8 (Oracle)
PHP Manual

OCI-Lob->free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->free — Frees resources associated with the LOB descriptor

Описание

bool OCI-Lob::free ( void )

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

OCI-Lob->flush
OCI-Lob->getBuffering
OCI8 (Oracle)


Returns current state of buffering for the large object

OCI-Lob->free
OCI-Lob->import
OCI8 (Oracle)
PHP Manual

OCI-Lob->getBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->getBuffering — Returns current state of buffering for the large object

Описание

bool OCI-Lob::getBuffering ( void )

Tells whether the buffering for the large object is on or off.

Возвращаемые значения

Returns FALSE if buffering for the large object is off and TRUE if buffering is used.

Смотрите также

  • OCI-Lob->setBuffering

OCI-Lob->free
OCI-Lob->import
OCI8 (Oracle)


Записывает содержимое файла в объект LOB

OCI-Lob->getBuffering
oci_lob_is_equal
OCI8 (Oracle)
PHP Manual

OCI-Lob->import

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->import — Записывает содержимое файла в объект LOB

Описание

bool OCI-Lob::import ( string $filename )

Записывает содержимое файла filename в текущую позицию объекта LOB.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->export
  • OCI-Lob->write

OCI-Lob->getBuffering
oci_lob_is_equal
OCI8 (Oracle)


Сравнивает два объекта LOB/FILE

OCI-Lob->import
OCI-Lob->load
OCI8 (Oracle)
PHP Manual

oci_lob_is_equal

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Сравнивает два объекта LOB/FILE

Описание

bool oci_lob_is_equal ( OCI-Lob $lob1 , OCI-Lob $lob2 )

Сравнивает два объекта LOB/FILE.

Список параметров

lob1

Идентификатор LOB.

lob2

Идентификатор LOB.

Возвращаемые значения

Возвращает TRUE, если объекты идентичны, и FALSE в обратном случае или в случае ошибки.

OCI-Lob->import
OCI-Lob->load
OCI8 (Oracle)


Возвращает содержимое объекта LOB

oci_lob_is_equal
OCI-Lob->read
OCI8 (Oracle)
PHP Manual

OCI-Lob->load

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->load — Возвращает содержимое объекта LOB

Описание

string OCI-Lob::load ( void )

Возвращает содержимое объекта LOB. Помните о том, что не всякий LOB может уместиться в переменной, на это влияет директива memory_limit. Поэтому, в большинстве случаев этот метод может быть заменен OCI-Lob->read.

Возвращаемые значения

Возвращает содержимое объекта, или FALSE при ошибках.

Смотрите также

  • OCI-Lob->read

oci_lob_is_equal
OCI-Lob->read
OCI8 (Oracle)


Возвращает часть объекта LOB

OCI-Lob->load
OCI-Lob->rewind
OCI8 (Oracle)
PHP Manual

OCI-Lob->read

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->read — Возвращает часть объекта LOB

Описание

string OCI-Lob::read ( int $length )

Читает и возвращает length байт данных с текущей позиции объекта LOB.

Чтение останавливается, если длина прочтенных данных равна length или если достигнут конец объекта. Внутренний указатель перемещается на столько байт, сколько было прочитано.

Список параметров

length

Длина считываемых данных, в байтах.

Возвращаемые значения

Возвращает содержимое в виде строки, или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->load
  • OCI-Lob->write

OCI-Lob->load
OCI-Lob->rewind
OCI8 (Oracle)


Переводит указатель объекта в начало

OCI-Lob->read
OCI-Lob->save
OCI8 (Oracle)
PHP Manual

OCI-Lob->rewind

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->rewind — Переводит указатель объекта в начало

Описание

bool OCI-Lob::rewind ( void )

Устанавливает внутренний указатель в начало объекта LOB.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->seek
  • OCI-Lob->tell

OCI-Lob->read
OCI-Lob->save
OCI8 (Oracle)


Сохраняет данные в LOB

OCI-Lob->rewind
OCI-Lob->saveFile
OCI8 (Oracle)
PHP Manual

OCI-Lob->save

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->save — Сохраняет данные в LOB

Описание

bool OCI-Lob::save ( string $data [, int $offset ] )

Сохраняет данные из параметра data в объект LOB.

Список параметров

data

Данные для сохранения.

offset

Может использоваться для указания отступа от начала LOB.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->write
  • OCI-Lob->import

OCI-Lob->rewind
OCI-Lob->saveFile
OCI8 (Oracle)


Псевдоним OCI-Lob->import

OCI-Lob->save
OCI-Lob->seek
OCI8 (Oracle)
PHP Manual

OCI-Lob->saveFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->saveFile — Псевдоним OCI-Lob->import

Описание

Эта функция является псевдонимом: OCI-Lob->import.

OCI-Lob->save
OCI-Lob->seek
OCI8 (Oracle)


Устанавливает позицию внутреннего указателя LOB

OCI-Lob->saveFile
OCI-Lob->setBuffering
OCI8 (Oracle)
PHP Manual

OCI-Lob->seek

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->seek — Устанавливает позицию внутреннего указателя LOB

Описание

bool OCI-Lob::seek ( int $offset [, int $whence = OCI_SEEK_SET ] )

Устанавливает позицию внутреннего указателя объекта LOB.

Список параметров

offset

Указывает количество байтов, на которые следует переместиться от позиции, определяемой параметром whence:

whence

May be one of:

  • OCI_SEEK_SET - установить позицию, равную offset
  • OCI_SEEK_CUR - прибавить к текущей позиции offset байт
  • OCI_SEEK_END - прибавить к концу файла offset байт (чтобы переместить указатель в начало - укажите отрицательный offset)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->rewind
  • OCI-Lob->tell
  • OCI-Lob->eof

OCI-Lob->saveFile
OCI-Lob->setBuffering
OCI8 (Oracle)


Changes current state of buffering for the large object

OCI-Lob->seek
OCI-Lob->size
OCI8 (Oracle)
PHP Manual

OCI-Lob->setBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->setBuffering — Changes current state of buffering for the large object

Описание

bool OCI-Lob::setBuffering ( bool $on_off )

Sets the buffering for the large object, depending on the value of the on_off parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. OCI-Lob->flush should be used to flush buffers, when you have finished working with the large object.

Список параметров

on_off

TRUE for on and FALSE for off.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Repeated calls to this method with the same flag will return TRUE.

Смотрите также

  • OCI-Lob->getBuffering

OCI-Lob->seek
OCI-Lob->size
OCI8 (Oracle)


Возвращает размер объекта LOB

OCI-Lob->setBuffering
OCI-Lob->tell
OCI8 (Oracle)
PHP Manual

OCI-Lob->size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->size — Возвращает размер объекта LOB

Описание

int OCI-Lob::size ( void )

Возвращает размер объекта LOB

Возвращаемые значения

Возвращает длину объекта LOB или FALSE в случае возникновения ошибки. Для пустых объектов длина равняется нулю.

OCI-Lob->setBuffering
OCI-Lob->tell
OCI8 (Oracle)


Возвращает текущую позицию внутреннего указателя объекта

OCI-Lob->size
OCI-Lob->truncate
OCI8 (Oracle)
PHP Manual

OCI-Lob->tell

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->tell — Возвращает текущую позицию внутреннего указателя объекта

Описание

int OCI-Lob::tell ( void )

Возвращает текущую позицию внутреннего указателя объекта LOB.

Возвращаемые значения

Возвращает текущую позицию внутреннего указателя объекта LOB или FALSE в случае ошибки.

Смотрите также

  • OCI-Lob->rewind
  • OCI-Lob->size
  • OCI-Lob->eof

OCI-Lob->size
OCI-Lob->truncate
OCI8 (Oracle)


Обрезает LOB до указанной длины

OCI-Lob->tell
OCI-Lob->write
OCI8 (Oracle)
PHP Manual

OCI-Lob->truncate

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->truncate — Обрезает LOB до указанной длины

Описание

bool OCI-Lob::truncate ([ int $length = 0 ] )

Обрезает объект LOB.

Список параметров

length

Если указан, то LOB обрезается до указанной в length длины в байтах. Иначе LOB очищается полностью.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->erase

OCI-Lob->tell
OCI-Lob->write
OCI8 (Oracle)


Записывает данные в объект LOB

OCI-Lob->truncate
OCI-Lob->writeTemporary
OCI8 (Oracle)
PHP Manual

OCI-Lob->write

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->write — Записывает данные в объект LOB

Описание

int OCI-Lob::write ( string $data [, int $length ] )

Записывает данные из параметра data в текущую позицию объекта.

Список параметров

data

Записываемые данные.

length

Если указан параметр length, запись остановится после того, как length байт будет записано или закончатся данные из параметра data.

Возвращаемые значения

Возвращает количество записанных байт или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->read

OCI-Lob->truncate
OCI-Lob->writeTemporary
OCI8 (Oracle)


Writes a temporary large object

OCI-Lob->write
OCI-Lob->writeToFile
OCI8 (Oracle)
PHP Manual

OCI-Lob->writeTemporary

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->writeTemporary — Writes a temporary large object

Описание

bool OCI-Lob::writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )

Creates a temporary large object and writes data to it.

You should use OCI-Lob->close when you are done with this object.

Список параметров

data

The data to write.

lob_type

Can be one of the following:

  • OCI_TEMP_BLOB is used to create temporary BLOBs
  • OCI_TEMP_CLOB is used to create temporary CLOBs

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OCI-Lob->close

OCI-Lob->write
OCI-Lob->writeToFile
OCI8 (Oracle)


Псевдоним OCI-Lob->export

OCI-Lob->writeTemporary
oci_new_collection
OCI8 (Oracle)
PHP Manual

OCI-Lob->writeToFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->writeToFile — Псевдоним OCI-Lob->export

Описание

Эта функция является псевдонимом: OCI-Lob->export.

OCI-Lob->writeTemporary
oci_new_collection
OCI8 (Oracle)


Создает новый объект коллекции

OCI-Lob->writeToFile
oci_new_connect
OCI8 (Oracle)
PHP Manual

oci_new_collection

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_collection — Создает новый объект коллекции

Описание

OCI-Collection oci_new_collection ( resource $connection , string $tdo [, string $schema = NULL ] )

Создает новый объект коллекции.

Список параметров

connection

Идентификатор соединения с сервером Oracle, возвращаемый функцией oci_connect() или oci_pconnect().

tdo

Должен быть корректным именем типа (в верхнем регистре).

schema

Должна быть указана схема данных, где создан именованный тип. По умолчанию, указывается имя пользователя в качестве имени схемы.

Возвращаемые значения

Returns a new OCICollection object or FALSE on error.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocinewcollection(). В PHP 5.0.0 и выше ocinewcollection() является алиасом oci_new_collection(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

OCI-Lob->writeToFile
oci_new_connect
OCI8 (Oracle)


Устанавливает новое соединение с сервером Oracle

oci_new_collection
oci_new_cursor
OCI8 (Oracle)
PHP Manual

oci_new_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_connect — Устанавливает новое соединение с сервером Oracle

Описание

resource oci_new_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Создает новое соединение с сервером Oracle и выполняет вход.

В отличие от oci_connect() и oci_pconnect(), функция oci_new_connect() не кэширует содеинения и при каждом вызове устанавливает новое соединение. Это полезно если приложению необходима транзакционная изоляция двух наборов запросов.

Список параметров

username

Имя пользователя Oracle.

password

Пароль пользователя username.

connection_string

Содержит соединяемую Oracle instance. Это может быть » Easy Connect string, или Connect Name из файла tnsnames.ora, или имя локальной Oracle instance.

Если не указано отдельно, PHP использует переменные окружения, такие как TWO_TASK (на Linux) или LOCAL (на Windows) и ORACLE_SID для определения соединяемой Oracle instance.

Для использования метода Easy Connect, PHP должен быть слинкован с клиентскими библиотеками версии Oracle 10g или старше. Easy Connect string для Oracle 10g принимает следующую форму: [//]host_name[:port][/service_name]. Для Oracle 11g синтаксис таков: [//]host_name[:port][/service_name][:server_type][/instance_name]. Названия служб могут быть определены с помощью запуска Oracle утилиты lsnrctl status на сервере базы данных.

Файл tnsnames.ora может находиться в поисковом пути Oracle Net, который включает $ORACLE_HOME/network/admin и /etc. В качестве альтернативного варианта можно установить TNS_ADMIN таким образом, чтобы путь $TNS_ADMIN/tnsnames.ora был читаемым. Убедитесь, что веб-сервер имеет доступ к этому файлу.

character_set

Определяет кодировку, используемую клиентскими библиотеками Oracle. Данная кодировка необязательно должна совпадать с кодировкой, используемой в самой базе данных. Если она не совпадает, Oracle сделает все возможное для конвертирования данных из- и в данную кодировку. В зависимости от используемых кодировок это может не всегда давать приемлемые результаты. Преобразование также создает некоторые дополнительные временные затраты.

Если кодировка не указана, клиентские библиотеки Oracle будут определять ее из переменной окружения NLS_LANG.

Передача этого параметра может сократить время соединения.

session_mode

Этот параметр доступен начиная с версии PHP 5 (PECL OCI8 1.1) и принимает следующие значения: OCI_DEFAULT, OCI_SYSOPER и OCI_SYSDBA. Если были указаны OCI_SYSOPER или OCI_SYSDBA, данная функция попытается установить привилегированное соединение, используя внешние данные авторизации. По умолчанию привилегированные соединения отключены. Чтобы их включить, необходимо установить oci8.privileged_connect в On.

В версии PHP 5.3 (PECL OCI8 1.3.4) появилось значение OCI_CRED_EXT. Оно указывает Oracle использовать внешнюю аутентификацию или аутентификацию с помощщью операционной системы, что должно быть настроено в базе данных. Флаг OCI_CRED_EXT может быть использован только с именем пользователя "/" и пустым паролем. oci8.privileged_connect может принимать значение On или Off.

OCI_CRED_EXT может использоваться совместно с режимами OCI_SYSOPER и OCI_SYSDBA.

OCI_CRED_EXT не поддерживается в Windows по причинам безопасности.

Возвращаемые значения

Возвращает идентификатор соединения или FALSE в случае ошибки.

Примеры

Приведенный ниже пример иллюстрирует как использовать обособленные соединения.

Пример #1 Пример использованияoci_new_connect()

<?php
echo "<html><pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_new_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test
varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . "----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " <" . oci_result($stmt, "TEST") . ">\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
echo "</pre></html>";
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 необходимо использовать функцию ocinlogon(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_connect() - Устанавливает соединение с базой данных Oracle
  • oci_pconnect() - Устанавливает постоянное соединение с сервером Oracle

oci_new_collection
oci_new_cursor
OCI8 (Oracle)


Возвращает идентификатор созданного курсора

oci_new_connect
oci_new_descriptor
OCI8 (Oracle)
PHP Manual

oci_new_cursor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_cursor — Возвращает идентификатор созданного курсора

Описание

resource oci_new_cursor ( resource $connection )

Создает новый курсор для указанного соединения и возвращает его идентификатор.

Список параметров

connection

Идентификатор соединения с сервером Oracle, возвращаемый функцией oci_connect() или oci_pconnect().

Возвращаемые значения

Возвращает указатель на новое выражение или FALSE в случае ошибки.

Примеры

Пример #1 Использование REF CURSOR в хранимых процедурах Oracle

<?php
// предположим, что хранимая процедура info.output возвращает ссылочный курсор в
:data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
    var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

Пример #2 Использование REF CURSOR в запросах Oracle

<?php
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>DEPT NAME</th>";
echo "<th>DEPT #</th>";
echo "<th># EMPLOYEES</th>";
echo "</tr>";

while ($data = oci_fetch_assoc($stmt)) {
    echo "<tr>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    echo "<td>$dname</td>";
    echo "<td>$deptno</td>";
    oci_execute($data["EMPCNT"]);
    while ($subdata = oci_fetch_assoc($data["EMPCNT"])) {
        $num_emps = $subdata["NUM_EMPS"];
        echo  "<td>$num_emps</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocinewcursor(). В PHP 5.0.0 и выше ocinewcursor() является алиасом oci_new_cursor(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_new_connect
oci_new_descriptor
OCI8 (Oracle)


Инициализирует новый дескриптор объекта LOB или FILE

oci_new_cursor
oci_num_fields
OCI8 (Oracle)
PHP Manual

oci_new_descriptor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Инициализирует новый дескриптор объекта LOB или FILE

Описание

OCI-Lob oci_new_descriptor ( resource $connection [, int $type = OCI_DTYPE_LOB ] )

Резервирует ресурсы, необходимые для хранения дескриптора объекта или LOB-локатора.

Список параметров

connection

Идентификатор соединения с сервером Oracle, возвращаемый функцией oci_connect() или oci_pconnect().

type

Допустимые значения параметра type: OCI_DTYPE_FILE, OCI_DTYPE_LOB и OCI_DTYPE_ROWID.

Возвращаемые значения

Возвращает новый LOB или дескриптор FILE в случае успеха или FALSE при ошибке.

Примеры

Пример #1 Пример использования oci_new_descriptor()

<?php
/* Приведенный скрипт разработан для использования с HTML формами.
 * Это подразумевает, что $user, $password, $table, $where, и $commitsize
 * получены из формы. Скрипт удаляет записи с использованием
 * ROWID и закрывает транзакцию после каждого
 * $commitsize записей. (Используйте осторожно, откат изменений невозможен)
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    /* Данный скрипт реализует загрузку файлов в LOB-столбцы
     * HTML-форма для скрипта выглядит примерно так:
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload содержит временное имя загруженного файла

     // см. также раздел особенностей загрузки файлов,
     // если необходимо реализовать безопасную загрузку

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     oci_free_descriptor($lob);
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Пример #2 Пример использования oci_new_descriptor()

<?php
/* Вызов хранимой процедуры PL/SQL, параметрами которой являются объекты CLOB
 * (PHP 4 >= 4.0.6).
 * Пример PL/SQL процедуры:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocinewdescriptor(). В PHP 5.0.0 и выше ocinewdescriptor() является алиасом oci_new_descriptor(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_bind_by_name() - Прикрепляет переменную PHP к соответствующей метке в SQL-выражении

oci_new_cursor
oci_num_fields
OCI8 (Oracle)


Возвращает количество полей в результате запроса

oci_new_descriptor
oci_num_rows
OCI8 (Oracle)
PHP Manual

oci_num_fields

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_fields — Возвращает количество полей в результате запроса

Описание

int oci_num_fields ( resource $statement )

Получает число столбцов в запросе, заданном в statement.

Список параметров

statement

Идентификатор допустимого OCI запроса.

Возвращаемые значения

Возвращает число затронутых строк в виде integer, либо FALSE при ошибке.

Примеры

Пример #1 Пример использования oci_num_fields()

<?php
    echo "<pre>\n";
    $conn = oci_connect("scott", "tiger");
    $stmt = oci_parse($conn, "select * from emp");

    oci_execute($stmt);

    while (oci_fetch($stmt)) {
        echo "\n";
        $ncols = oci_num_fields($stmt);
        for ($i = 1; $i <= $ncols; $i++) {
            $column_name  = oci_field_name($stmt, $i);
            $column_value = oci_result($stmt, $i);
            echo $column_name . ': ' . $column_value . "\n";
        }
        echo "\n";
    }

    oci_free_statement($stmt);
    oci_close($conn);

    echo "</pre>";
?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocinumcols(). В PHP 5.0.0 и выше ocinumcols() является алиасом oci_num_fields(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_new_descriptor
oci_num_rows
OCI8 (Oracle)


Возвращает количество строк, измененных в процессе выполнения запроса

oci_num_fields
oci_parse
OCI8 (Oracle)
PHP Manual

oci_num_rows

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_rows — Возвращает количество строк, измененных в процессе выполнения запроса

Описание

int oci_num_rows ( resource $statement )

Возвращает число строк, затронутых в процессе выполнения запроса.

Список параметров

statement

Идентификатор допустимого OCI запроса.

Возвращаемые значения

Возвращает число затронутых строк в виде integer, либо FALSE при ошибке.

Примеры

Пример #1 Пример использования oci_num_rows()

<?php
    echo "<pre>";
    $conn = oci_connect("scott", "tiger");

    $stmt = oci_parse($conn, "create table emp2 as select * from emp");
    oci_execute($stmt);
    echo oci_num_rows($stmt) . " rows inserted.<br />";
    oci_free_statement($stmt);

    $stmt = oci_parse($conn, "delete from emp2");
    oci_execute($stmt, OCI_DEFAULT);
    echo oci_num_rows($stmt) . " rows deleted.<br />";
    oci_commit($conn);
    oci_free_statement($stmt);

    $stmt = oci_parse($conn, "drop table emp2");
    oci_execute($stmt);
    oci_free_statement($stmt);

    oci_close($conn);
    echo "</pre>";
?>

Примечания

Замечание:

Эта функция не возвращает количество строк в результате выражения SELECT! Для запросов SELECT oci_num_rows() вернет количество строк, которые были считаны в буфер с помощью функций oci_fetch*().

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocirowcount(). В PHP 5.0.0 и выше ocirowcount() является алиасом oci_num_rows(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_num_fields
oci_parse
OCI8 (Oracle)


Подготавливает запрос к выполнению

oci_num_rows
oci_password_change
OCI8 (Oracle)
PHP Manual

oci_parse

(PHP 5, PECL OCI8 >= 1.1.0)

oci_parse — Подготавливает запрос к выполнению

Описание

resource oci_parse ( resource $connection , string $sql_text )

Подготавливает sql_text к выполнению, используя соединение connection и возвращает идентификатор выражения, который может быть далее использован функциямиoci_bind_by_name(),oci_execute() и другими.

Идентификаторы выражений могут быть освобождены функцией oci_free_statement() или установкой переменной в NULL.

Список параметров

connection

Идентификатор соединения Oracle, полученный из функций oci_connect(), oci_pconnect() или oci_new_connect().

sql_text

Запрос SQL или PL/SQL.

SQL-запросы не должны заканчиваться точкой с запятой (";"). PL/SQL-запросы должны оканчиваться точкой с запятой (";").

Возвращаемые значения

Возвращает дескриптор выражения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования oci_parse() с SQL-запросами

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Парсинг запроса. Обратите внимание на отсутствие точки запятой в конце SQL-запроса
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Пример #2 Пример использования oci_parse() с PL/SQL-запросами

<?php

/*
  Перед запуском PHP-скрипта, создайте хранимую процедуру в
  SQL*Plus или SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// При парсинге PL/SQL запросов необходимо наличие точки с запятой в конце строки
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

Эта функция не проверяет синтаксис запроса sql_text. Единственный способ проверить правильность SQL или PL/SQL-запроса sql_text - это выполнить его.

Замечание:

В версиях PHP ниже 5.0.0 необходимо использовать ociparse() вместо этой функции.

Смотрите также

  • oci_execute() - Выполняет подготовленное выражение
  • oci_free_statement() - Освобождает ресурсы, занимаемые курсором или SQL-выражением

oci_num_rows
oci_password_change
OCI8 (Oracle)


Изменяет пароль пользователя Oracle

oci_parse
oci_pconnect
OCI8 (Oracle)
PHP Manual

oci_password_change

(PHP 5, PECL OCI8 >= 1.1.0)

oci_password_change — Изменяет пароль пользователя Oracle

Описание

bool oci_password_change ( resource $connection , string $username , string $old_password , string $new_password )
resource oci_password_change ( string $dbname , string $username , string $old_password , string $new_password )

Изменяет пароль пользователя, указанного в username.

Функция oci_password_change() особенно полезна для скриптов PHP командной строки, или при использовании непостоянных соединений во всем приложении PHP.

Список параметров

connection

Идентификатор соединения, возвращаемый функцией oci_connect() или oci_pconnect().

username

Имя пользователя Oracle.

old_password

Старый пароль.

new_password

Новый пароль.

dbname

Имя базы данных.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Изменение пароля с помощью этой функции или непосредственно в Oracle должно выполняться аккуратно, поскольку PHP-приложение может продолжать использовать в постоянных соединениях данные аутентификации последнего удачного подключения, которые уже устарели. Наилучшим решением может быть перезапуск всех веб-серверов после смены пароля.

Замечание:

При обновлении библиотки клиента Oracle или базы данных от версии установки до версии 11.2.0.3 и выше функция oci_password_change() может вернуть ошибку "ORA-1017: invalid username/password" (Неверные имя пользователя/пароль) если версии и клиента и сервера обновлены в одно время.

Замечание: Второй набор параметров функции oci_password_change() доступен начиная с версии OCI8 1.1.

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocipasswordchange(). В PHP 5.0.0 и выше ocipasswordchange() является алиасом oci_password_change() для обратной совместимости, вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_parse
oci_pconnect
OCI8 (Oracle)


Устанавливает постоянное соединение с сервером Oracle

oci_password_change
oci_result
OCI8 (Oracle)
PHP Manual

oci_pconnect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_pconnect — Устанавливает постоянное соединение с сервером Oracle

Описание

resource oci_pconnect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Создает постоянное соединение с сервером Oracle и выполняет аутентификацию.

Постоянные соединения кэшируются и повторно используются при следующих запросах, в результате снижаются накладные расходы при каждой загрузке страницы; типичное приложение PHP имеет одно постоянное подключение к серверу PHP, реализованное дочерним процессом Apache (или PHP FastCGI/CGI). Для получения подробной информации см. раздел Постоянные соединения с БД.

Список параметров

username

Имя пользователя Oracle.

password

Пароль пользователя username.

connection_string

Содержит соединяемую Oracle instance. Это может быть » Easy Connect string, или Connect Name из файла tnsnames.ora, или имя локальной Oracle instance.

Если не указано отдельно, PHP использует переменные окружения, такие как TWO_TASK (на Linux) или LOCAL (на Windows) и ORACLE_SID для определения соединяемой Oracle instance.

Для использования метода Easy Connect, PHP должен быть слинкован с клиентскими библиотеками версии Oracle 10g или старше. Easy Connect string для Oracle 10g принимает следующую форму: [//]host_name[:port][/service_name]. Для Oracle 11g синтаксис таков: [//]host_name[:port][/service_name][:server_type][/instance_name]. Названия служб могут быть определены с помощью запуска Oracle утилиты lsnrctl status на сервере базы данных.

Файл tnsnames.ora может находиться в поисковом пути Oracle Net, который включает $ORACLE_HOME/network/admin и /etc. В качестве альтернативного варианта можно установить TNS_ADMIN таким образом, чтобы путь $TNS_ADMIN/tnsnames.ora был читаемым. Убедитесь, что веб-сервер имеет доступ к этому файлу.

character_set

Определяет кодировку, используемую клиентскими библиотеками Oracle. Данная кодировка необязательно должна совпадать с кодировкой, используемой в самой базе данных. Если она не совпадает, Oracle сделает все возможное для конвертирования данных из- и в данную кодировку. В зависимости от используемых кодировок это может не всегда давать приемлемые результаты. Преобразование также создает некоторые дополнительные временные затраты.

Если кодировка не указана, клиентские библиотеки Oracle будут определять ее из переменной окружения NLS_LANG.

Передача этого параметра может сократить время соединения.

session_mode

Этот параметр доступен начиная с версии PHP 5 (PECL OCI8 1.1) и принимает следующие значения: OCI_DEFAULT, OCI_SYSOPER и OCI_SYSDBA. Если были указаны OCI_SYSOPER или OCI_SYSDBA, данная функция попытается установить привилегированное соединение, используя внешние данные авторизации. По умолчанию привилегированные соединения отключены. Чтобы их включить, необходимо установить oci8.privileged_connect в On.

В версии PHP 5.3 (PECL OCI8 1.3.4) появилось значение OCI_CRED_EXT. Оно указывает Oracle использовать внешнюю аутентификацию или аутентификацию с помощщью операционной системы, что должно быть настроено в базе данных. Флаг OCI_CRED_EXT может быть использован только с именем пользователя "/" и пустым паролем. oci8.privileged_connect может принимать значение On или Off.

OCI_CRED_EXT может использоваться совместно с режимами OCI_SYSOPER и OCI_SYSDBA.

OCI_CRED_EXT не поддерживается в Windows по причинам безопасности.

Возвращаемые значения

Возвращает идентификатор подключения или FALSE в случае ошибки.

Примечания

Замечание: Начиная с версии PHP 5.1.2 и PECL oci8 1.1, продолжительность и максимальное количество постоянных соединений к серверу Oracle может быть изменено в следующих диррективах: oci8.persistent_timeout, oci8.ping_interval и oci8.max_persistent.

Замечание:

В версиях PHP ниже 5.0.0 следует использовать ociplogon(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_connect() - Устанавливает соединение с базой данных Oracle
  • oci_new_connect() - Устанавливает новое соединение с сервером Oracle

oci_password_change
oci_result
OCI8 (Oracle)


Возвращает значение поля из результата запроса

oci_pconnect
oci_rollback
OCI8 (Oracle)
PHP Manual

oci_result

(PHP 5, PECL OCI8 >= 1.1.0)

oci_result — Возвращает значение поля из результата запроса

Описание

mixed oci_result ( resource $statement , mixed $field )

Возвращает данные поля field текущей строки, возвращаемой функцией oci_fetch().

За подробностями по операции отображения типов данных, осуществляемым расширением OCI8 обратитесь к типам данных, поддерживаемые драйвером

Список параметров

statement

field

Может быть задано номером поля (начиная с 1), либо по имени (в верхнем регистре).

Возвращаемые значения

Возвращает все значения в виде строки за исключением абстрактных типов (ROWIDs, LOBs и FILEs). Возвращает FALSE в случае ошибки.

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ociresult(). В PHP 5.0.0 и выше ociresult() является алиасом oci_result() в целях обратной совметимости. Вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного или нумерованного массива
  • oci_fetch_assoc() - Возвращает следующую строку из результата запроса в виде ассоциативного массива
  • oci_fetch_object() - Возвращает следующую строку из результата запроса в виде объекта
  • oci_fetch_row() - Возвращает следующую строку из результата запроса в виде нумерованного массива
  • oci_fetch_all() - Выбирает все строки из результата запроса в двумерный массив

oci_pconnect
oci_rollback
OCI8 (Oracle)


Откатывает транзакции, ожидающие обработки

oci_result
oci_server_version
OCI8 (Oracle)
PHP Manual

oci_rollback

(PHP 5, PECL OCI8 >= 1.1.0)

oci_rollback — Откатывает транзакции, ожидающие обработки

Описание

bool oci_rollback ( resource $connection )

Данная функция откатывает все незафиксированные изменения соединения Oracle connection и завершает транзакцию. Она также освобождает все установленные блокировки. Удаляются все Oracle SAVEPOINTS.

Транзакция начинается при первом SQL-запросе, изменяющим данные, который был запущен с помощью функции oci_execute() и флага OCI_NO_AUTO_COMMIT. Последующие изменения данных от других запросов также становятся частью данной транзакции. Изменения, сделанные в транзакции, являются временными до тех пор, пока транзакция не будет зафиксирована или будет произведен ее откат. Другие пользователи базы данных не смогут увидеть изменения до их фиксации.

При вставке или обновлении данных рекомендуется использовать транзакции для сохранения целостности данных и увеличения производительности.

Список параметров

connection

Идентификатор соединения Oracle, полученный из функций oci_connect(), oci_pconnect() или oci_new_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования oci_rollback()

<?php

// Вставка в несколько таблиц, откат изменений в случае ошибки

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// Флаг OCI_NO_AUTO_COMMIT сообщает Oracle не фиксировать запрос INSERT при его поступлении
// Для PHP <= 5.3.1 используйте OCI_DEFAULT, эти два флага эквивалентны
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // откат изменений из обоих таблиц
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Фиксация изменений в обоих таблицах
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Пример #2 Пример использования отката до SAVEPOINT

<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Создаем точку сохранения
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Явно используем SQL-запрос для отката к точке сохранения
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn);  // mytab теперь содержит id равные 1111
?>

Примечания

Замечание:

Транзакции будут автоматически откачены при закрытии соединения или окончании скрипта (в зависимости от того, что случится раньше). Для фиксации транзакции необходимо явно вызвать функцию oci_commit().

Все вызовы oci_execute(), явно или по умолчанию использующие режим OCI_COMMIT_ON_SUCCESS зафиксируют любую предыдущую незафиксированную транзакцию.

Любой DDL-запрос Oracle, такой как CREATE или DROP автоматически фиксирует любую незафиксированную транзакцию.

Замечание:

В версиях PHP до 5.0.0 необходимо использовать ocirollback() вместо данной функции. Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • oci_commit() - Фиксирует транзакцию базы данных
  • oci_execute() - Выполняет подготовленное выражение

oci_result
oci_server_version
OCI8 (Oracle)


Возвращает версию сервера Oracle

oci_rollback
oci_set_action
OCI8 (Oracle)
PHP Manual

oci_server_version

(PHP 5, PECL OCI8 >= 1.1.0)

oci_server_version — Возвращает версию сервера Oracle

Описание

string oci_server_version ( resource $connection )

Возвращает строку с информацией о версии сервера Oracle и доступных опциях

Список параметров

connection

Возвращаемые значения

Возвращает в виде строки информацию о версии или FALSE при ошибке.

Примеры

Пример #1 Пример использования oci_server_version()

<?php
    $conn = oci_connect("scott", "tiger");
    echo "Версия Сервера: " . oci_server_version($conn);

    // Выводит:
    // Версия сервера: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    // With the Partitioning, OLAP, Data Mining and Real Application Testing option

    oci_close($conn);

?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ociserverversion(). В PHP 5.0.0 и выше ociserverversion() является алиасом oci_server_version(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_client_version() - Returns the Oracle client library version

oci_rollback
oci_set_action
OCI8 (Oracle)


Sets the action name

oci_server_version
oci_set_client_identifier
OCI8 (Oracle)
PHP Manual

oci_set_action

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_action — Sets the action name

Описание

bool oci_set_action ( resource $connection , string $action_name )

Sets the action name for Oracle tracing.

The action name is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The action name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Список параметров

connection

Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().

action_name

User chosen string up to 32 bytes long.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting the action

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the action
oci_set_action($c, 'Friend Lookup');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the actions
// being performed:

sqlplus system/welcome
SQL> select action from v$session;

Примечания

Замечание: Обеспечение нужной версии Oracle

Эта функция доступна если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.

Подсказка

Производительность

В старых версиях OCI8 или базы данных Oracle было возможно установить информацию о клиенте с помощью пакета DBMS_APPLICATION_INFO. Для этой цели более эффективно использование функции oci_set_client_info().

Предостережение

Совет по полному сканированию таблицы (roundtrip)

Некоторые, но не все OCI8-функции вызывают полное сканирование таблицы (roundtrip). Полное сканирование таблиц не происходит для тех запросов, в которых включено кэширование результатов в базе данных.

Смотрите также

  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier

oci_server_version
oci_set_client_identifier
OCI8 (Oracle)


Sets the client identifier

oci_set_action
oci_set_client_info
OCI8 (Oracle)
PHP Manual

oci_set_client_identifier

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Sets the client identifier

Описание

bool oci_set_client_identifier ( resource $connection , string $client_identifier )

Sets the client identifier used by various database components to identify lightweight application users who authenticate as the same database user.

The client identifier is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The identifier can subsequently be queried from database administration views such as V$SESSION. It can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing. It can be used for auditing.

The value may be retained across persistent connections.

Список параметров

connection

Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().

client_identifier

User chosen string up to 64 bytes long.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting the client identifier to the application user

<?php

// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c, $un);

// The next roundtrip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>

Примечания

Предостережение

Совет по полному сканированию таблицы (roundtrip)

Некоторые, но не все OCI8-функции вызывают полное сканирование таблицы (roundtrip). Полное сканирование таблиц не происходит для тех запросов, в которых включено кэширование результатов в базе данных.

Смотрите также

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information

oci_set_action
oci_set_client_info
OCI8 (Oracle)


Sets the client information

oci_set_client_identifier
oci_set_edition
OCI8 (Oracle)
PHP Manual

oci_set_client_info

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_info — Sets the client information

Описание

bool oci_set_client_info ( resource $connection , string $client_info )

Sets the client information for Oracle tracing.

The client information is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The client information can subsequently be queried from database administration views such as V$SESSION.

The value may be retained across persistent connections.

Список параметров

Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().

User chosen string up to 64 bytes long.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting the client information

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the client information
oci_set_client_info($c, 'My Application Version 2');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the client
// information:

sqlplus system/welcome
SQL> select client_info from v$session;

Примечания

Замечание: Обеспечение нужной версии Oracle

Эта функция доступна если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.

Подсказка

Производительность

В старых версиях OCI8 или базы данных Oracle было возможно установить информацию о клиенте с помощью пакета DBMS_APPLICATION_INFO. Для этой цели более эффективно использование функции oci_set_client_info().

Предостережение

Совет по полному сканированию таблицы (roundtrip)

Некоторые, но не все OCI8-функции вызывают полное сканирование таблицы (roundtrip). Полное сканирование таблиц не происходит для тех запросов, в которых включено кэширование результатов в базе данных.

Смотрите также

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_identifier() - Sets the client identifier

oci_set_client_identifier
oci_set_edition
OCI8 (Oracle)


Sets the database edition

oci_set_client_info
oci_set_module_name
OCI8 (Oracle)
PHP Manual

oci_set_edition

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_edition — Sets the database edition

Описание

bool oci_set_edition ( string $edition )

Sets the database "edition" of objects to be used by a subsequent connections.

Oracle Editions allow concurrent versions of applications to run using the same schema and object names. This is useful for upgrading live systems.

Call oci_set_edition() before calling
oci_connect(), oci_pconnect()
or oci_new_connect().

If an edition is set that is not valid in the database, connection will fail even if oci_set_edition() returns success.

When using persistent connections, if a connection with the requested edition setting already exists, it is reused. Otherwise, a different persistent connection is created

Список параметров

edition

Oracle Database edition name previously created with the SQL "CREATE EDITION" command.

Примечания

Замечание: Oracle version requirement

This function is available from Oracle 11gR2 onwards.

Предостережение

Persistent connections

To avoid inconsistencies and unexpected errors, do not use ALTER SESSION SET EDITION to change the edition on persistent connections.

Предостережение

DRCP Connection Pooling

To avoid inconsistencies and unexpected errors when using editions and DRCP with Oracle 11.2.0.1, keep a one-to-one correspondence between the oci8.connection_class and the edition name used by applications. Each pooled server of a given connection class should only be used with one edition. This restriction has been removed with Oracle 11.2.0.2.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Two scripts can use different versions of myfunc() at the same time

<?php

// File 1

echo "Version 1 of application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
<?php

// File 2

echo "Version 2 of application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>

oci_set_client_info
oci_set_module_name
OCI8 (Oracle)


Sets the module name

oci_set_edition
oci_set_prefetch
OCI8 (Oracle)
PHP Manual

oci_set_module_name

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_module_name — Sets the module name

Описание

bool oci_set_module_name ( resource $connection , string $module_name )

Sets the module name for Oracle tracing.

The module name is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Список параметров

connection

Идентификатор соединения Oracle, возвращаемый oci_connect(), oci_pconnect(), или oci_new_connect().

module_name

User chosen string up to 48 bytes long.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Обеспечение нужной версии Oracle

Эта функция доступна если PHP слинкован с библиотеками Oracle Database начиная с версии 10g и выше.

Подсказка

Производительность

В старых версиях OCI8 или базы данных Oracle было возможно установить информацию о клиенте с помощью пакета DBMS_APPLICATION_INFO. Для этой цели более эффективно использование функции oci_set_client_info().

Предостережение

Совет по полному сканированию таблицы (roundtrip)

Некоторые, но не все OCI8-функции вызывают полное сканирование таблицы (roundtrip). Полное сканирование таблиц не происходит для тех запросов, в которых включено кэширование результатов в базе данных.

Примеры

Пример #1 Setting the module name

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the module
oci_set_module_name($c, 'Home Page');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// While the script is running, the administrator can see the
// modules in use:

sqlplus system/welcome
SQL> select module from v$session;

Смотрите также

  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier

oci_set_edition
oci_set_prefetch
OCI8 (Oracle)


Устанавливает количество строк, которые будут автоматически выбраны в буфер

oci_set_module_name
oci_statement_type
OCI8 (Oracle)
PHP Manual

oci_set_prefetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер

Описание

bool oci_set_prefetch ( resource $statement , int $rows )

Устанавливает количество рядов, которые будут выбраны в буфер клиентскими библиотеками Oracle сразу после удачного вызова oci_execute() и для каждого последующего внутреннего запроса данных к базе. Производительность может быть значительно увеличена для запросов, возвращающих большое количество рядов, с помощью установки значения предварительной выборки больше значения по умолчанию oci8.default_prefetch.

Предварительная выборка - это эффективный механизм Oracle, позволяющий возвращать больше одного ряда результата из базы данных за каждый сетевой запрос. Это дает более рациональное использование сети и процессора. Буферизация рядов происходит внутри OCI8, поэтому поведение функций выборки OCI8 никак не зависит от размера предварительной выборки. Например, oci_fetch_row() всегда возвращает один ряд. Буфер предварительной выборки резервируется отдельно на каждый запрос и не используется второй раз в повторно запущенных запросахили в других соединениях.

Перед вызовом oci_execute() вызовите oci_set_prefetch().

Смысл настройки размера предварительной выборки состоит в подборе удобного значения для передачи в сети и обработки в базе данных. Для запросов, возвращающих очень большое количество рядов, общая производительность системы может быть лучше, если ряды будут возвращаться в несколько приемов (т.е. установить размер предварительной выборки меньше количества рядов). Это позволит базе данных обрабатывать запросы других пользователей в течение обработки PHP-скриптом текущего результата запроса.

Предварительная выборка запросов появилась в Oracle 8i. Предварительная выборка REF CURSOR появилась в Oracle 11gR2 и может быть применена в случае, если PHP слинкован с клиентскими библиотеками Oracle 11gR2 и работает с 11gR2 или предыдущими версиями базы данных. Предварительная выборка вложенных курсоров была добавлена в Oracle 11gR2 и требует наличия версии 11gR2 как для клиентских библиотек Oracle, так и для используемой базы данных.

Предварительная выборка не поддерживается, если запросы содержат LONG или LOB столбцы. Значение предварительной выборки игнорируется и во всех ситуациях, не поддерживающих предварительную выборку, будет использована построчная выборка.

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

rows

Количество рядов предварительной выборки, >= 0

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.3.2 (PECL OCI8 1.4) | До этой версии rows должен был быть >= 1.
PHP 5.3 (PECL OCI8 1.3.4) | До этой версии предварительная выборка была ограничена к меньшему из значений rows рядов и 1024 * rows байт. Теперь ограничение по размеру байт снято.

Примеры

Пример #1 Смена значения предворительной выборки по умолчанию для запроса

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300);  // Устанавливаем перед вызовом oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 Смена значения предварительной выборки по умолчанию для выборки REF CURSOR

<?php
/*
  Создайте хранимую процедуру PL/SQL следующим образом:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Меняем размер предварительной выборки перед запуском курсора.
// Предварительная выборка REF CURSOR работает в случае линковки PHP
// с клиентскими библиотеками Oracle 11gR2
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Если PHP OCI8 производит выборку из REF CURSOR, а затем передает REF CURSOR обратно в другую PL/SQL-процедуру для дальнейшей обработки, необходимо установить размер предварительной выборки REF CURSOR в 0, чтобы избежать "потери" рядов из результата. Значение предварительной выборки - это количество "лишних" рядов, полученных каждым внутренним запросом OCI8 к базе данных, поэтому установка его в 0 означает выборку только одного ряда за один раз.

Пример #3 Установка значения предварительной выборки при передаче REF CURSOR обратно в Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// получение REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Отображаем два ряда, но больше не предвыбираем других рядов, иначе
// эти ряды не будут переданы обратно в  myproc_use_rc().
// Нулевое значение предварительной выборки было разрешено в версии PHP 5.3.2 и PECL OCI8 1.4
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// передаем REF CURSOR в myproc_use_rc() для дальнейшей обработки результата
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Примечания

Замечание:

В версиях PHP до 5.0.0 необходимо использовать ocisetprefetch() вместо этой функции. Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

Смотрите также

  • Директива oci8.default_prefetch

oci_set_module_name
oci_statement_type
OCI8 (Oracle)


Возвращает тип выражения

oci_set_prefetch
OCI8 Obsolete Aliases and Functions
OCI8 (Oracle)
PHP Manual

oci_statement_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_statement_type — Возвращает тип выражения

Описание

string oci_statement_type ( resource $statement )

Возвращает выражение, соответствующее одному из типов параметра statement OCI8.

Список параметров

statement

Допустимый идентификатор оператора OCI8, возвращаемый oci_parse().

Возвращаемые значения

Возвращает тип параметра statement, который может быть одним из нижеследующих значений:

Тип оператора
Возвращаемое значение | Примечание
ALTER |
BEGIN |
CALL | Представлено в PHP 5.2.1 (PECL OCI8 1.2.3)
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Возвращает FALSE в случае ошибки.

Примеры

Пример #1 Пример использования oci_statement_type()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
    trigger_error('Вы не имеете прав для удаления записей из таблицы', E_USER_ERROR);
}
else {
    oci_execute($stid);  // удалить запись
}

oci_free_statement($stid);
oci_close($conn);

?>

Примечания

Замечание:

В PHP до версии 5.0.0 необходимо использовать метод ocistatementtype(). Старое имя функции также может быть использовано в текущих версиях, хотя оно уже устарело и не рекомендуется.

oci_set_prefetch
OCI8 Obsolete Aliases and Functions
OCI8 (Oracle)


OCI8 Obsolete Aliases and Functions

Содержание

  • ocibindbyname — Псевдоним oci_bind_by_name
  • ocicancel — Псевдоним oci_cancel
  • ocicloselob — Псевдоним OCI-Lob->close
  • ocicollappend — Псевдоним OCI-Collection->append
  • ocicollassign — Псевдоним OCI-Collection->assign
  • ocicollassignelem — Псевдоним OCI-Collection->assignElem
  • ocicollgetelem — Псевдоним OCI-Collection->getElem
  • ocicollmax — Псевдоним OCI-Collection->max
  • ocicollsize — Псевдоним OCI-Collection->size
  • ocicolltrim — Псевдоним OCI-Collection->trim
  • ocicolumnisnull — Псевдоним oci_field_is_null
  • ocicolumnname — Псевдоним oci_field_name
  • ocicolumnprecision — Псевдоним oci_field_precision
  • ocicolumnscale — Псевдоним oci_field_scale
  • ocicolumnsize — Псевдоним oci_field_size
  • ocicolumntype — Псевдоним oci_field_type
  • ocicolumntyperaw — Псевдоним oci_field_type_raw
  • ocicommit — Псевдоним oci_commit
  • ocidefinebyname — Псевдоним oci_define_by_name
  • ocierror — Псевдоним oci_error
  • ociexecute — Псевдоним oci_execute
  • ocifetch — Псевдоним oci_fetch
  • ocifetchinto — Возвращает следующий ряд в массив (устарела)
  • ocifetchstatement — Псевдоним oci_fetch_all
  • ocifreecollection — Псевдоним OCI-Collection->free
  • ocifreecursor — Псевдоним oci_free_statement
  • ocifreedesc — Псевдоним OCI-Lob->free
  • ocifreestatement — Псевдоним oci_free_statement
  • ociinternaldebug — Псевдоним oci_internal_debug
  • ociloadlob — Псевдоним OCI-Lob->load
  • ocilogoff — Псевдоним oci_close
  • ocilogon — Псевдоним oci_connect
  • ocinewcollection — Псевдоним oci_new_collection
  • ocinewcursor — Псевдоним oci_new_cursor
  • ocinewdescriptor — Псевдоним oci_new_descriptor
  • ocinlogon — Псевдоним oci_new_connect
  • ocinumcols — Псевдоним oci_num_fields
  • ociparse — Псевдоним oci_parse
  • ociplogon — Псевдоним oci_pconnect
  • ociresult — Псевдоним oci_result
  • ocirollback — Псевдоним oci_rollback
  • ocirowcount — Псевдоним oci_num_rows
  • ocisavelob — Псевдоним OCI-Lob->save
  • ocisavelobfile — Псевдоним OCI-Lob->import
  • ociserverversion — Псевдоним oci_server_version
  • ocisetprefetch — Псевдоним oci_set_prefetch
  • ocistatementtype — Псевдоним oci_statement_type
  • ociwritelobtofile — Псевдоним OCI-Lob->export
  • ociwritetemporarylob — Псевдоним OCI-Lob->writeTemporary
oci_statement_type
ocibindbyname
OCI8


Псевдоним oci_bind_by_name

OCI8 Obsolete Aliases and Functions
ocicancel
OCI8 Obsolete Aliases and Functions
PHP Manual

ocibindbyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocibindbyname — Псевдоним oci_bind_by_name()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

OCI8 Obsolete Aliases and Functions
ocicancel
OCI8 Obsolete Aliases and Functions


Псевдоним oci_cancel

ocibindbyname
ocicloselob
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicancel

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicancel — Псевдоним oci_cancel()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocibindbyname
ocicloselob
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->close

ocicancel
ocicollappend
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicloselob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicloselob — Псевдоним OCI-Lob->close

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicancel
ocicollappend
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->append

ocicloselob
ocicollassign
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollappend — Псевдоним OCI-Collection->append

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicloselob
ocicollassign
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->assign

ocicollappend
ocicollassignelem
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollassign

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicollassign — Псевдоним OCI-Collection->assign

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollappend
ocicollassignelem
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->assignElem

ocicollassign
ocicollgetelem
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollassignelem — Псевдоним OCI-Collection->assignElem

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollassign
ocicollgetelem
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->getElem

ocicollassignelem
ocicollmax
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollgetelem — Псевдоним OCI-Collection->getElem

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollassignelem
ocicollmax
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->max

ocicollgetelem
ocicollsize
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollmax — Псевдоним OCI-Collection->max

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollgetelem
ocicollsize
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->size

ocicollmax
ocicolltrim
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollsize — Псевдоним OCI-Collection->size

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollmax
ocicolltrim
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->trim

ocicollsize
ocicolumnisnull
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicolltrim — Псевдоним OCI-Collection->trim

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicollsize
ocicolumnisnull
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_is_null

ocicolltrim
ocicolumnname
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumnisnull

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Псевдоним oci_field_is_null()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolltrim
ocicolumnname
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_name

ocicolumnisnull
ocicolumnprecision
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumnname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnname — Псевдоним oci_field_name()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumnisnull
ocicolumnprecision
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_precision

ocicolumnname
ocicolumnscale
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumnprecision

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Псевдоним oci_field_precision()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumnname
ocicolumnscale
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_scale

ocicolumnprecision
ocicolumnsize
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumnscale

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnscale — Псевдоним oci_field_scale()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumnprecision
ocicolumnsize
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_size

ocicolumnscale
ocicolumntype
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumnsize

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnsize — Псевдоним oci_field_size()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumnscale
ocicolumntype
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_type

ocicolumnsize
ocicolumntyperaw
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumntype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntype — Псевдоним oci_field_type()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumnsize
ocicolumntyperaw
OCI8 Obsolete Aliases and Functions


Псевдоним oci_field_type_raw

ocicolumntype
ocicommit
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicolumntyperaw

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Псевдоним oci_field_type_raw()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumntype
ocicommit
OCI8 Obsolete Aliases and Functions


Псевдоним oci_commit

ocicolumntyperaw
ocidefinebyname
OCI8 Obsolete Aliases and Functions
PHP Manual

ocicommit

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicommit — Псевдоним oci_commit()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicolumntyperaw
ocidefinebyname
OCI8 Obsolete Aliases and Functions


Псевдоним oci_define_by_name

ocicommit
ocierror
OCI8 Obsolete Aliases and Functions
PHP Manual

ocidefinebyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocidefinebyname — Псевдоним oci_define_by_name()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocicommit
ocierror
OCI8 Obsolete Aliases and Functions


Псевдоним oci_error

ocidefinebyname
ociexecute
OCI8 Obsolete Aliases and Functions
PHP Manual

ocierror

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocierror — Псевдоним oci_error()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocidefinebyname
ociexecute
OCI8 Obsolete Aliases and Functions


Псевдоним oci_execute

ocierror
ocifetch
OCI8 Obsolete Aliases and Functions
PHP Manual

ociexecute

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociexecute — Псевдоним oci_execute()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocierror
ocifetch
OCI8 Obsolete Aliases and Functions


Псевдоним oci_fetch

ociexecute
ocifetchinto
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetch — Псевдоним oci_fetch()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociexecute
ocifetchinto
OCI8 Obsolete Aliases and Functions


Возвращает следующий ряд в массив (устарела)

ocifetch
ocifetchstatement
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifetchinto

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchinto — Возвращает следующий ряд в массив (устарела)

Описание

int ocifetchinto ( resource $statement , array &$result [, int $mode = OCI_ASSOC + OCI_NUM ] )

Данная функция устарела. Рекомендуемые альтернативы:
oci_fetch_array(), oci_fetch_object(),
oci_fetch_assoc() и
oci_fetch_row().

Внимание

Эта функция УСТАРЕЛА начиная с версии PHP 5.4.0. Пользование этой функцией не рекомендуется.

ocifetch
ocifetchstatement
OCI8 Obsolete Aliases and Functions


Псевдоним oci_fetch_all

ocifetchinto
ocifreecollection
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifetchstatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchstatement — Псевдоним oci_fetch_all()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifetchinto
ocifreecollection
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Collection->free

ocifetchstatement
ocifreecursor
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecollection — Псевдоним OCI-Collection->free

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifetchstatement
ocifreecursor
OCI8 Obsolete Aliases and Functions


Псевдоним oci_free_statement

ocifreecollection
ocifreedesc
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifreecursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecursor — Псевдоним oci_free_statement()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifreecollection
ocifreedesc
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->free

ocifreecursor
ocifreestatement
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifreedesc

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreedesc — Псевдоним OCI-Lob->free

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifreecursor
ocifreestatement
OCI8 Obsolete Aliases and Functions


Псевдоним oci_free_statement

ocifreedesc
ociinternaldebug
OCI8 Obsolete Aliases and Functions
PHP Manual

ocifreestatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreestatement — Псевдоним oci_free_statement()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifreedesc
ociinternaldebug
OCI8 Obsolete Aliases and Functions


Псевдоним oci_internal_debug

ocifreestatement
ociloadlob
OCI8 Obsolete Aliases and Functions
PHP Manual

ociinternaldebug

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociinternaldebug — Псевдоним oci_internal_debug()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocifreestatement
ociloadlob
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->load

ociinternaldebug
ocilogoff
OCI8 Obsolete Aliases and Functions
PHP Manual

ociloadlob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociloadlob — Псевдоним OCI-Lob->load

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociinternaldebug
ocilogoff
OCI8 Obsolete Aliases and Functions


Псевдоним oci_close

ociloadlob
ocilogon
OCI8 Obsolete Aliases and Functions
PHP Manual

ocilogoff

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogoff — Псевдоним oci_close()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociloadlob
ocilogon
OCI8 Obsolete Aliases and Functions


Псевдоним oci_connect

ocilogoff
ocinewcollection
OCI8 Obsolete Aliases and Functions
PHP Manual

ocilogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogon — Псевдоним oci_connect()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocilogoff
ocinewcollection
OCI8 Obsolete Aliases and Functions


Псевдоним oci_new_collection

ocilogon
ocinewcursor
OCI8 Obsolete Aliases and Functions
PHP Manual

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcollection — Псевдоним oci_new_collection()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocilogon
ocinewcursor
OCI8 Obsolete Aliases and Functions


Псевдоним oci_new_cursor

ocinewcollection
ocinewdescriptor
OCI8 Obsolete Aliases and Functions
PHP Manual

ocinewcursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcursor — Псевдоним oci_new_cursor()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocinewcollection
ocinewdescriptor
OCI8 Obsolete Aliases and Functions


Псевдоним oci_new_descriptor

ocinewcursor
ocinlogon
OCI8 Obsolete Aliases and Functions
PHP Manual

ocinewdescriptor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Псевдоним oci_new_descriptor()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocinewcursor
ocinlogon
OCI8 Obsolete Aliases and Functions


Псевдоним oci_new_connect

ocinewdescriptor
ocinumcols
OCI8 Obsolete Aliases and Functions
PHP Manual

ocinlogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinlogon — Псевдоним oci_new_connect()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocinewdescriptor
ocinumcols
OCI8 Obsolete Aliases and Functions


Псевдоним oci_num_fields

ocinlogon
ociparse
OCI8 Obsolete Aliases and Functions
PHP Manual

ocinumcols

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinumcols — Псевдоним oci_num_fields()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocinlogon
ociparse
OCI8 Obsolete Aliases and Functions


Псевдоним oci_parse

ocinumcols
ociplogon
OCI8 Obsolete Aliases and Functions
PHP Manual

ociparse

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociparse — Псевдоним oci_parse()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocinumcols
ociplogon
OCI8 Obsolete Aliases and Functions


Псевдоним oci_pconnect

ociparse
ociresult
OCI8 Obsolete Aliases and Functions
PHP Manual

ociplogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociplogon — Псевдоним oci_pconnect()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociparse
ociresult
OCI8 Obsolete Aliases and Functions


Псевдоним oci_result

ociplogon
ocirollback
OCI8 Obsolete Aliases and Functions
PHP Manual

ociresult

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociresult — Псевдоним oci_result()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociplogon
ocirollback
OCI8 Obsolete Aliases and Functions


Псевдоним oci_rollback

ociresult
ocirowcount
OCI8 Obsolete Aliases and Functions
PHP Manual

ocirollback

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirollback — Псевдоним oci_rollback()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociresult
ocirowcount
OCI8 Obsolete Aliases and Functions


Псевдоним oci_num_rows

ocirollback
ocisavelob
OCI8 Obsolete Aliases and Functions
PHP Manual

ocirowcount

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirowcount — Псевдоним oci_num_rows()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocirollback
ocisavelob
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->save

ocirowcount
ocisavelobfile
OCI8 Obsolete Aliases and Functions
PHP Manual

ocisavelob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelob — Псевдоним OCI-Lob->save

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocirowcount
ocisavelobfile
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->import

ocisavelob
ociserverversion
OCI8 Obsolete Aliases and Functions
PHP Manual

ocisavelobfile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelobfile — Псевдоним OCI-Lob->import

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocisavelob
ociserverversion
OCI8 Obsolete Aliases and Functions


Псевдоним oci_server_version

ocisavelobfile
ocisetprefetch
OCI8 Obsolete Aliases and Functions
PHP Manual

ociserverversion

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociserverversion — Псевдоним oci_server_version()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocisavelobfile
ocisetprefetch
OCI8 Obsolete Aliases and Functions


Псевдоним oci_set_prefetch

ociserverversion
ocistatementtype
OCI8 Obsolete Aliases and Functions
PHP Manual

ocisetprefetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisetprefetch — Псевдоним oci_set_prefetch()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociserverversion
ocistatementtype
OCI8 Obsolete Aliases and Functions


Псевдоним oci_statement_type

ocisetprefetch
ociwritelobtofile
OCI8 Obsolete Aliases and Functions
PHP Manual

ocistatementtype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocistatementtype — Псевдоним oci_statement_type()

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocisetprefetch
ociwritelobtofile
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->export

ocistatementtype
ociwritetemporarylob
OCI8 Obsolete Aliases and Functions
PHP Manual

ociwritelobtofile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Псевдоним OCI-Lob->export

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ocistatementtype
ociwritetemporarylob
OCI8 Obsolete Aliases and Functions


Псевдоним OCI-Lob->writeTemporary

ociwritelobtofile
Ovrimos SQL
OCI8 Obsolete Aliases and Functions
PHP Manual

ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ociwritetemporarylob — Псевдоним OCI-Lob->writeTemporary

Описание

Внимание

Этот псевдоним функции УСТАРЕЛ начиная с версии PHP 5.4.0. Использование этого псевдонима крайне не рекомендуется.

ociwritelobtofile
Ovrimos SQL
OCI8 Obsolete Aliases and Functions


Ovrimos SQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • Ovrimos SQL Функции
    • ovrimos_close — Closes the connection to ovrimos
    • ovrimos_commit — Commits the transaction
    • ovrimos_connect — Connect to the specified database
    • ovrimos_cursor — Returns the name of the cursor
    • ovrimos_exec — Executes an SQL statement
    • ovrimos_execute — Executes a prepared SQL statement
    • ovrimos_fetch_into — Fetches a row from the result set
    • ovrimos_fetch_row — Fetches a row from the result set
    • ovrimos_field_len — Returns the length of the output column
    • ovrimos_field_name — Returns the output column name
    • ovrimos_field_num — Returns the (1-based) index of the output column
    • ovrimos_field_type — Returns the type of the output column
    • ovrimos_free_result — Frees the specified result_id
    • ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes
    • ovrimos_num_fields — Returns the number of columns
    • ovrimos_num_rows — Returns the number of rows affected by update operations
    • ovrimos_prepare — Prepares an SQL statement
    • ovrimos_result_all — Prints the whole result set as an HTML table
    • ovrimos_result — Retrieves the output column
    • ovrimos_rollback — Rolls back the transaction
ociwritetemporarylob
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Ovrimos SQL Server, is a client/server, transactional RDBMS combined with Web capabilities and fast transactions.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 4.4.5 and PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

Ovrimos SQL
Установка и настройка
Ovrimos SQL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Ovrimos SQL


Требования

You'll need to install the sqlcli library available in the Ovrimos SQL Server distribution.

Установка и настройка
Установка
Установка и настройка


Установка

To enable Ovrimos support in PHP just compile PHP with the --with-ovrimos[=DIR] parameter to your configure line. DIR is the Ovrimos' libsqlcli install directory.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Ovrimos SQL


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
Ovrimos SQL


Basic usage

Пример #1 Connect to Ovrimos SQL Server and select from a system table

<?php
$conn = ovrimos_connect("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Примеры
Ovrimos SQL Функции
Примеры


Ovrimos SQL Функции

Содержание

  • ovrimos_close — Closes the connection to ovrimos
  • ovrimos_commit — Commits the transaction
  • ovrimos_connect — Connect to the specified database
  • ovrimos_cursor — Returns the name of the cursor
  • ovrimos_exec — Executes an SQL statement
  • ovrimos_execute — Executes a prepared SQL statement
  • ovrimos_fetch_into — Fetches a row from the result set
  • ovrimos_fetch_row — Fetches a row from the result set
  • ovrimos_field_len — Returns the length of the output column
  • ovrimos_field_name — Returns the output column name
  • ovrimos_field_num — Returns the (1-based) index of the output column
  • ovrimos_field_type — Returns the type of the output column
  • ovrimos_free_result — Frees the specified result_id
  • ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes
  • ovrimos_num_fields — Returns the number of columns
  • ovrimos_num_rows — Returns the number of rows affected by update operations
  • ovrimos_prepare — Prepares an SQL statement
  • ovrimos_result_all — Prints the whole result set as an HTML table
  • ovrimos_result — Retrieves the output column
  • ovrimos_rollback — Rolls back the transaction
Basic usage
ovrimos_close
Ovrimos SQL


Closes the connection to ovrimos

Ovrimos SQL Функции
ovrimos_commit
Ovrimos SQL Функции
PHP Manual

ovrimos_close

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_close — Closes the connection to ovrimos

Описание

void ovrimos_close ( int $connection )

Closes the specified connection to Ovrimos. This has the effect of rolling back uncommitted transactions.

Список параметров

connection

The Ovrimos connection identifier, returned by ovrimos_connect().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ovrimos_connect() - Connect to the specified database

Ovrimos SQL Функции
ovrimos_commit
Ovrimos SQL Функции


Commits the transaction

ovrimos_close
ovrimos_connect
Ovrimos SQL Функции
PHP Manual

ovrimos_commit

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_commit — Commits the transaction

Описание

bool ovrimos_commit ( int $connection_id )

Commits the transaction.

Список параметров

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ovrimos_rollback() - Rolls back the transaction

ovrimos_close
ovrimos_connect
Ovrimos SQL Функции


Connect to the specified database

ovrimos_commit
ovrimos_cursor
Ovrimos SQL Функции
PHP Manual

ovrimos_connect

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_connect — Connect to the specified database

Описание

int ovrimos_connect ( string $host , string $dborport , string $user , string $password )

Connects to the specified database.

Список параметров

host

A host name or IP address.

dborport

Either a database name, or the port number to connect to.

user

The user name.

password

Password associated with user.

Возвращаемые значения

Returns a connection identifier (greater than 0) on success, or 0 on failure.

Примеры

Пример #1 ovrimos_connect() Example

<?php
$conn = ovrimos_connect("server.example.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Смотрите также

  • ovrimos_close() - Closes the connection to ovrimos

ovrimos_commit
ovrimos_cursor
Ovrimos SQL Функции


Returns the name of the cursor

ovrimos_connect
ovrimos_exec
Ovrimos SQL Функции
PHP Manual

ovrimos_cursor

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_cursor — Returns the name of the cursor

Описание

string ovrimos_cursor ( int $result_id )

Gets the name of the cursor. Useful when wishing to perform positioned updates or deletes.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Возвращаемые значения

Returns the name as a string, or FALSE on error.

ovrimos_connect
ovrimos_exec
Ovrimos SQL Функции


Executes an SQL statement

ovrimos_cursor
ovrimos_execute
Ovrimos SQL Функции
PHP Manual

ovrimos_exec

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_exec — Executes an SQL statement

Описание

int ovrimos_exec ( int $connection_id , string $query )

Executes an SQL statement (query or update) and returns a result identifier.

Список параметров

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

query

The SQL statement. Evidently, it should not contain parameters. Use ovrimos_prepare() for prepared statements.

Возвращаемые значения

Returns the result identifier as an integer, or FALSE on error.

Смотрите также

  • ovrimos_execute() - Executes a prepared SQL statement
  • ovrimos_prepare() - Prepares an SQL statement

ovrimos_cursor
ovrimos_execute
Ovrimos SQL Функции


Executes a prepared SQL statement

ovrimos_exec
ovrimos_fetch_into
Ovrimos SQL Функции
PHP Manual

ovrimos_execute

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_execute — Executes a prepared SQL statement

Описание

bool ovrimos_execute ( int $result_id [, array $parameters_array ] )

Executes a prepared statement.

Список параметров

result_id

An Ovrimos result identifier prepared with ovrimos_prepare().

parameters_array

If the prepared statement contained parameters (question marks in the statement), the correct number of parameters should be passed in an array.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ovrimos_prepare() - Prepares an SQL statement

ovrimos_exec
ovrimos_fetch_into
Ovrimos SQL Функции


Fetches a row from the result set

ovrimos_execute
ovrimos_fetch_row
Ovrimos SQL Функции
PHP Manual

ovrimos_fetch_into

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_into — Fetches a row from the result set

Описание

bool ovrimos_fetch_into ( int $result_id , array &$result_array [, string $how [, int $rownumber ]] )

Fetches a row from the given result set, into result_array.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

result_array

You must provide an array by reference. It will be filled with the fetched values.

how

Determines how the rows are fetched. This can be one of the following strings (case is not significant):

Option | Notes
Next | Forward direction from current position. This is the default value.
Prev | Backward direction from current position.
First | Forward direction from the start.
Last | Backward direction from the end.
Absolute | Absolute position from the start. Requires rownumber.

rownumber

The row number, first one is 0. Only needed when how is set to Absolute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A fetch into example

<?php
$conn=ovrimos_connect("neptune", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_into($res, $row)) {
            list($table_id, $table_name) = $row;
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_into($res, $row)) {
                list($table_id, $table_name) = $row;
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Смотрите также

  • ovrimos_fetch_row() - Fetches a row from the result set

ovrimos_execute
ovrimos_fetch_row
Ovrimos SQL Функции


Fetches a row from the result set

ovrimos_fetch_into
ovrimos_field_len
Ovrimos SQL Функции
PHP Manual

ovrimos_fetch_row

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_row — Fetches a row from the result set

Описание

bool ovrimos_fetch_row ( int $result_id [, int $how [, int $row_number ]] )

Fetches a row from the result set. Column values should be retrieved with other calls.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

how

Determines how the rows are fetched. This can be one of the following strings (case is not significant):

Option | Notes
Next | Forward direction from current position. This is the default value.
Prev | Backward direction from current position.
First | Forward direction from the start.
Last | Backward direction from the end.
Absolute | Absolute position from the start. Requires rownumber.

rownumber

The row number, first one is 0. Only needed when how is set to Absolute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A fetch row example

<?php
$conn = ovrimos_connect("remote.host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_row($res, "First")) {
            $table_id = ovrimos_result($res, 1);
            $table_name = ovrimos_result($res, 2);
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_row($res, "Next")) {
                $table_id = ovrimos_result($res, "table_id");
                $table_name = ovrimos_result($res, "table_name");
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>
This will fetch a row and print the result.

Смотрите также

  • ovrimos_fetch_into() - Fetches a row from the result set

ovrimos_fetch_into
ovrimos_field_len
Ovrimos SQL Функции


Returns the length of the output column

ovrimos_fetch_row
ovrimos_field_name
Ovrimos SQL Функции
PHP Manual

ovrimos_field_len

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_len — Returns the length of the output column

Описание

int ovrimos_field_len ( int $result_id , int $field_number )

Gets the length of the specified output column.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

Возвращаемые значения

Returns the length as an integer, or FALSE on error.

Смотрите также

  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_num() - Returns the (1-based) index of the output column
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_fetch_row
ovrimos_field_name
Ovrimos SQL Функции


Returns the output column name

ovrimos_field_len
ovrimos_field_num
Ovrimos SQL Функции
PHP Manual

ovrimos_field_name

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_name — Returns the output column name

Описание

string ovrimos_field_name ( int $result_id , int $field_number )

Returns the output column name at the index specified.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

Возвращаемые значения

Returns the field name as a string, or FALSE on error.

Смотрите также

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_num() - Returns the (1-based) index of the output column
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_field_len
ovrimos_field_num
Ovrimos SQL Функции


Returns the (1-based) index of the output column

ovrimos_field_name
ovrimos_field_type
Ovrimos SQL Функции
PHP Manual

ovrimos_field_num

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_num — Returns the (1-based) index of the output column

Описание

int ovrimos_field_num ( int $result_id , string $field_name )

Returns the 1-based index of the specified output column.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_name

The field name.

Возвращаемые значения

Returns the index, starting at 1, or FALSE on error.

Смотрите также

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_type() - Returns the type of the output column

ovrimos_field_name
ovrimos_field_type
Ovrimos SQL Функции


Returns the type of the output column

ovrimos_field_num
ovrimos_free_result
Ovrimos SQL Функции
PHP Manual

ovrimos_field_type

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_type — Returns the type of the output column

Описание

int ovrimos_field_type ( int $result_id , int $field_number )

Returns the type of the output column

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

A 1-based index.

Возвращаемые значения

Returns the field type as an integer, or FALSE on error.

Смотрите также

  • ovrimos_field_len() - Returns the length of the output column
  • ovrimos_field_name() - Returns the output column name
  • ovrimos_field_num() - Returns the (1-based) index of the output column

ovrimos_field_num
ovrimos_free_result
Ovrimos SQL Функции


Frees the specified result_id

ovrimos_field_type
ovrimos_longreadlen
Ovrimos SQL Функции
PHP Manual

ovrimos_free_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_free_result — Frees the specified result_id

Описание

bool ovrimos_free_result ( int $result_id )

Frees the specified result identifier.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Возвращаемые значения

Returns TRUE.

ovrimos_field_type
ovrimos_longreadlen
Ovrimos SQL Функции


Specifies how many bytes are to be retrieved from long datatypes

ovrimos_free_result
ovrimos_num_fields
Ovrimos SQL Функции
PHP Manual

ovrimos_longreadlen

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_longreadlen — Specifies how many bytes are to be retrieved from long datatypes

Описание

bool ovrimos_longreadlen ( int $result_id , int $length )

Specifies how many bytes are to be retrieved from long datatypes (long varchar and long varbinary).

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

length

The number of bytes to retrieve. Default is zero.

Возвращаемые значения

Returns TRUE.

ovrimos_free_result
ovrimos_num_fields
Ovrimos SQL Функции


Returns the number of columns

ovrimos_longreadlen
ovrimos_num_rows
Ovrimos SQL Функции
PHP Manual

ovrimos_num_fields

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_fields — Returns the number of columns

Описание

int ovrimos_num_fields ( int $result_id )

Returns the number of columns in the specified result identifier.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Возвращаемые значения

Returns the number of columns as an integer, or FALSE on error.

Смотрите также

  • ovrimos_num_rows() - Returns the number of rows affected by update operations

ovrimos_longreadlen
ovrimos_num_rows
Ovrimos SQL Функции


Returns the number of rows affected by update operations

ovrimos_num_fields
ovrimos_prepare
Ovrimos SQL Функции
PHP Manual

ovrimos_num_rows

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_rows — Returns the number of rows affected by update operations

Описание

int ovrimos_num_rows ( int $result_id )

Gets the number of rows affected by update operations.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

Возвращаемые значения

Returns the number of rows as an integer, or FALSE on error.

Смотрите также

  • ovrimos_num_fields() - Returns the number of columns

ovrimos_num_fields
ovrimos_prepare
Ovrimos SQL Функции


Prepares an SQL statement

ovrimos_num_rows
ovrimos_result_all
Ovrimos SQL Функции
PHP Manual

ovrimos_prepare

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_prepare — Prepares an SQL statement

Описание

int ovrimos_prepare ( int $connection_id , string $query )

Prepares an SQL statement.

Список параметров

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

query

The SQL statement.

Возвращаемые значения

Returns a result identifier on success, or FALSE on error.

Примеры

Пример #1 ovrimos_prepare() Example

<?php
$conn=ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";

    // Prepare the statement
    $res=ovrimos_prepare($conn, "select table_id, table_name
                                  from sys.tables where table_id=1");
    if ($res != 0) {
        echo "Prepare ok!";
        // Execute the prepared statement
        if (ovrimos_execute($res)) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

ovrimos_num_rows
ovrimos_result_all
Ovrimos SQL Функции


Prints the whole result set as an HTML table

ovrimos_prepare
ovrimos_result
Ovrimos SQL Функции
PHP Manual

ovrimos_result_all

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result_all — Prints the whole result set as an HTML table

Описание

int ovrimos_result_all ( int $result_id [, string $format ] )

Prints the whole result set as an HTML table.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

format

Optional HTML attributes for the generated table element.

Возвращаемые значения

Returns the number of rows in the generated table.

Примеры

This will execute an SQL statement and print the result in an HTML table.

Пример #1 Prepare a statement, execute, and view the result

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_prepare($conn, "select table_id, table_name
                                    from sys.tables where table_id = 7");
    if ($res != 0) {
        echo "Prepare ok!";
        if (ovrimos_execute($res, array(3))) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

Пример #2 ovrimos_result_all() with meta-information

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name
                                 from sys.tables where table_id = 1");
    if ($res != 0) {
        echo "Statement ok! cursor=" . ovrimos_cursor($res) . "\n";
        $colnb = ovrimos_num_fields($res);
        echo "Output columns=" . $colnb . "\n";
        for ($i=1; $i <= $colnb; $i++) {
            $name = ovrimos_field_name($res, $i);
            $type = ovrimos_field_type($res, $i);
            $len = ovrimos_field_len($res, $i);
            echo "Column " . $i . " name=" . $name . " type=" . $type . " len=" . $len . "\n";
        }
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

ovrimos_prepare
ovrimos_result
Ovrimos SQL Функции


Retrieves the output column

ovrimos_result_all
ovrimos_rollback
Ovrimos SQL Функции
PHP Manual

ovrimos_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result — Retrieves the output column

Описание

string ovrimos_result ( int $result_id , mixed $field )

Retrieves the output column specified by field.

Список параметров

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field

Either as a string with the field name or as an 1-based index.

Возвращаемые значения

Returns the column as a string, FALSE on failure.

ovrimos_result_all
ovrimos_rollback
Ovrimos SQL Функции


Rolls back the transaction

ovrimos_result
Paradox
Ovrimos SQL Функции
PHP Manual

ovrimos_rollback

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_rollback — Rolls back the transaction

Описание

bool ovrimos_rollback ( int $connection_id )

Rolls back the transaction.

Список параметров

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ovrimos_commit() - Commits the transaction

ovrimos_result
Paradox
Ovrimos SQL Функции


Paradox File Access

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Paradox Функции
    • px_close — Closes a paradox database
    • px_create_fp — Create a new paradox database
    • px_date2string — Converts a date into a string.
    • px_delete_record — Deletes record from paradox database
    • px_delete — Deletes resource of paradox database
    • px_get_field — Returns the specification of a single field
    • px_get_info — Return lots of information about a paradox file
    • px_get_parameter — Gets a parameter
    • px_get_record — Returns record of paradox database
    • px_get_schema — Returns the database schema
    • px_get_value — Gets a value
    • px_insert_record — Inserts record into paradox database
    • px_new — Create a new paradox object
    • px_numfields — Returns number of fields in a database
    • px_numrecords — Returns number of records in a database
    • px_open_fp — Open paradox database
    • px_put_record — Stores record into paradox database
    • px_retrieve_record — Returns record of paradox database
    • px_set_blob_file — Sets the file where blobs are read from
    • px_set_parameter — Sets a parameter
    • px_set_tablename — Sets the name of a table (deprecated)
    • px_set_targetencoding — Sets the encoding for character fields (deprecated)
    • px_set_value — Sets a value
    • px_timestamp2string — Converts the timestamp into a string.
    • px_update_record — Updates record in paradox database
ovrimos_rollback
Введение
Расширения для работы с базами данных отдельных производителей


Введение

This module allows to read and write Paradox databases, primary index files and blob files. Write support has been proven to be quite reliable, though due to lack of documentation the produced files may not in any case be readable by other applications. Encrypted databases can be read without specifying a password if pxlib >= 0.5.0 is used.

Замечание:

This module is also in development and may change, though major changes to the API are not expected.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Paradox
Установка и настройка
Paradox


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Paradox


Требования

You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set of functions. Some newer functions are only available with pxlib >= 0.6.0. Reading and writing of encrypted databases requires at least pxlib >= 0.5.0. The paradox library (pxlib) is available at » http://pxlib.sourceforge.net.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/paradox

Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

px_new() creates a new Paradox object required by all Paradox functions.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following two tables lists all constants defined by the paradox extension.

Contants for field types
Name | Meaning
PX_FIELD_ALPHA | Character data with fixed length
PX_FIELD_DATE | Date, number of days since 1.1.0000
PX_FIELD_SHORT | Short integer (2 Bytes)
PX_FIELD_LONG | Long integer (4 Bytes)
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Boolean
PX_FIELD_MEMOBLOB | Binary large object
PX_FIELD_BLOB | Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB | Binary large object
PX_FIELD_OLE | OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported)
PX_FIELD_TIME | time, number of milli seconds since midnight
PX_FIELD_TIMESTAMP | timestamp, number of milli seconds since 1.1.0000
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD | Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER | Turn all field names into lower case
PX_KEYTOUPPER | Turn all field names into upper case
Contants for file types
Name | Meaning
PX_FILE_INDEX_DB | Indexed database
PX_FILE_PRIM_INDEX | Primary index
PX_FILE_NON_INDEX_DB | None indexed database
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index
PX_FILE_SEC_INDEX | Secondary index
PX_FILE_INC_SEC_INDEX | Incremental secondary index
PX_FILE_NON_INC_SEC_INDEX_G | Non incremental secondary index
PX_FILE_SEC_INDEX_G | Secondary index
PX_FILE_INC_SEC_INDEX_G | Non incremental secondary index

Типы ресурсов
Paradox Функции
Paradox


Paradox Функции

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_db. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

Methods of class paradox_db
Name of method | Equivalent function
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Содержание

  • px_close — Closes a paradox database
  • px_create_fp — Create a new paradox database
  • px_date2string — Converts a date into a string.
  • px_delete_record — Deletes record from paradox database
  • px_delete — Deletes resource of paradox database
  • px_get_field — Returns the specification of a single field
  • px_get_info — Return lots of information about a paradox file
  • px_get_parameter — Gets a parameter
  • px_get_record — Returns record of paradox database
  • px_get_schema — Returns the database schema
  • px_get_value — Gets a value
  • px_insert_record — Inserts record into paradox database
  • px_new — Create a new paradox object
  • px_numfields — Returns number of fields in a database
  • px_numrecords — Returns number of records in a database
  • px_open_fp — Open paradox database
  • px_put_record — Stores record into paradox database
  • px_retrieve_record — Returns record of paradox database
  • px_set_blob_file — Sets the file where blobs are read from
  • px_set_parameter — Sets a parameter
  • px_set_tablename — Sets the name of a table (deprecated)
  • px_set_targetencoding — Sets the encoding for character fields (deprecated)
  • px_set_value — Sets a value
  • px_timestamp2string — Converts the timestamp into a string.
  • px_update_record — Updates record in paradox database
Предопределенные константы
px_close
Paradox


Closes a paradox database

Paradox Функции
px_create_fp
Paradox Функции
PHP Manual

px_close

(PECL paradox >= 1.0.0)

px_close — Closes a paradox database

Описание

bool px_close ( resource $pxdoc )

Closes the paradox database. This function will not close the file. You will have to call fclose() afterwards.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • px_open_fp() - Open paradox database
  • The example at px_new() - Create a new paradox object

Paradox Функции
px_create_fp
Paradox Функции


Create a new paradox database

px_close
px_date2string
Paradox Функции
PHP Manual

px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp — Create a new paradox database

Описание

bool px_create_fp ( resource $pxdoc , resource $file , array $fielddesc )

Create a new paradox database file. The actual file has to be opened before with fopen(). Make sure the file is writable.

Замечание:

Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter().

Замечание:

This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp() and has been successfully opened by the Paradox software, but your milage may vary.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

File handle as returned by fopen().

fielddesc

fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file() for storing the blobs. If this is not done the field data is truncated.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating a Paradox database with two fields

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Смотрите также

  • px_new() - Create a new paradox object
  • px_put_record() - Stores record into paradox database
  • fopen() - Открывает файл или URL

px_close
px_date2string
Paradox Функции


Converts a date into a string.

px_create_fp
px_delete_record
Paradox Функции
PHP Manual

px_date2string

(PECL paradox >= 1.4.0)

px_date2string — Converts a date into a string.

Описание

string px_date2string ( resource $pxdoc , int $value , string $format )

Turns a date as it stored in the paradox file into human readable format. Paradox dates are the number of days since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the example below.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

value

Value as stored in paradox database field of type PX_FIELD_DATE.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, L).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Turn a paradox date into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() outputs the same */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

Результат выполнения данного примера:

7/15/1917
7/15/1917

Смотрите также

  • px_timestamp2string() - Converts the timestamp into a string.
  • jdtogregorian() - Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю

px_create_fp
px_delete_record
Paradox Функции


Deletes record from paradox database

px_date2string
px_delete
Paradox Функции
PHP Manual

px_delete_record

(PECL paradox >= 1.4.0)

px_delete_record — Deletes record from paradox database

Описание

bool px_delete_record ( resource $pxdoc , int $num )

This function deletes a record from the database. It does not free the space in the database file but just marks it as deleted. Inserting a new record afterwards will reuse the space.

Замечание:

This function is only available if pxlib >= 0.6.0 is used.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

px_date2string
px_delete
Paradox Функции


Deletes resource of paradox database

px_delete_record
px_get_field
Paradox Функции
PHP Manual

px_delete

(PECL paradox >= 1.0.0)

px_delete — Deletes resource of paradox database

Описание

bool px_delete ( resource $pxdoc )

Deletes the resource of the paradox file and frees all memory.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

px_delete_record
px_get_field
Paradox Функции


Returns the specification of a single field

px_delete
px_get_info
Paradox Функции
PHP Manual

px_get_field

(PECL paradox >= 1.0.0)

px_get_field — Returns the specification of a single field

Описание

array px_get_field ( resource $pxdoc , int $fieldno )

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

fieldno

Number of the field. The first field has number 0. Specifying a field number less than 0 and greater or equal the number of fields will trigger an error.

Возвращаемые значения

Returns the specification of the fieldno 'th database field as an associated array. The array contains three fields named name, type, and size.

px_delete
px_get_info
Paradox Функции


Return lots of information about a paradox file

px_get_field
px_get_parameter
Paradox Функции
PHP Manual

px_get_info

(PECL paradox >= 1.0.0)

px_get_info — Return lots of information about a paradox file

Описание

array px_get_info ( resource $pxdoc )

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

Возвращаемые значения

Returns an associated array with lots of information about a paradox file. This array is likely to be extended in the future.

fileversion

Version of file multiplied by 10, e.g. 70.

tablename

Name of table as stored in the file. If the database was created by pxlib, then this will be the name of the file without the extension.

numrecords

Number of records in this table.

numfields

Number of fields in this table.

headersize

Number of bytes used for the header. This is usually 0x800.

recordsize

Number of bytes used for each record. This is the sum of all field sizes (available since version 1.4.2).

maxtablesize

This value multiplied by 0x400 is the size of a data block in bytes. The maximum number of records in a datablock is the integer part of (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

The number of data blocks in the file. Each data block contains a certain number of records which depends on the record size and the data block size (maxtablesize). Data blocks may not necessarily be completely filled.

numindexfields

Number of fields used for the primary index. The fields do always start with field number 1.

codepage

The DOS codepage which was used for encoding fields with character data. If the target encoding is not set with px_set_targetencoding() this will be the encoding for character fields when records are being accessed with px_get_record() or px_retrieve_record().

Смотрите также

  • px_numfields() - Returns number of fields in a database
  • px_numrecords() - Returns number of records in a database

px_get_field
px_get_parameter
Paradox Функции


Gets a parameter

px_get_info
px_get_record
Paradox Функции
PHP Manual

px_get_parameter

(PECL paradox >= 1.1.0)

px_get_parameter — Gets a parameter

Описание

string px_get_parameter ( resource $pxdoc , string $name )

Gets various parameters.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

The name can be one of the following:

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields with px_get_record() or px_retrieve_record() is recoded into the targetencoding. If it is not set, then the data will be delivered as stored in the database file.

inputencoding

The encoding of the input data which is to be stored into the database. When storing data of character fields in the database, the data is expected to be delivered in this encoding.

Возвращаемые значения

Returns the value of the parameter или FALSE в случае возникновения ошибки.

px_get_info
px_get_record
Paradox Функции


Returns record of paradox database

px_get_parameter
px_get_schema
Paradox Функции
PHP Manual

px_get_record

(PECL paradox >= 1.0.0)

px_get_record — Returns record of paradox database

Описание

array px_get_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys of the returned array into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP) and date (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting at the beginning of julian calendar. Use the functions px-timestamp2string() and px-date2string() to convert them into a character representation.

Возвращаемые значения

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Смотрите также

  • px_retrieve_record() - Returns record of paradox database

px_get_parameter
px_get_schema
Paradox Функции


Returns the database schema

px_get_record
px_get_value
Paradox Функции
PHP Manual

px_get_schema

(PECL paradox >= 1.0.0)

px_get_schema — Returns the database schema

Описание

array px_get_schema ( resource $pxdoc [, int $mode = 0 ] )

px_get_schema() returns the database schema.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

mode

If the optional mode is PX_KEYTOLOWER or PX_KEYTOUPPER the keys of the returned array will be converted to lower or upper case. If mode is 0 or not passed at all, then the key name will be identical to the field name.

Возвращаемые значения

Returns the schema of a database file as an associated array. The key name is equal to the field name. Each array element is itself an associated array containing the two fields type and size. type is one of the constants in table Constants for field types. size is the number of bytes this field consumes in the record. The total of all field sizes is equal to the record size as it can be retrieved with px-get-info().

px_get_record
px_get_value
Paradox Функции


Gets a value

px_get_schema
px_insert_record
Paradox Функции
PHP Manual

px_get_value

(PECL paradox >= 1.1.0)

px_get_value — Gets a value

Описание

float px_get_value ( resource $pxdoc , string $name )

Gets various values.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

Возвращаемые значения

Returns the value of the parameter или FALSE в случае возникновения ошибки.

px_get_schema
px_insert_record
Paradox Функции


Inserts record into paradox database

px_get_value
px_new
Paradox Функции
PHP Manual

px_insert_record

(PECL paradox >= 1.4.0)

px_insert_record — Inserts record into paradox database

Описание

int px_insert_record ( resource $pxdoc , array $data )

Inserts a new record into the database. The record is not necessarily inserted at the end of the database, but may be inserted at any position depending on where the first free slot is found.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Most field values can be passed as its equivalent php type e.g. a long value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and PX_FIELD_AUTOINC, a double values is used for fields of type PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha fields are passed as strings.

Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long value. In the first case this is the number of milliseconds since midnight. In the second case this is the number of days since 1.1.0000. Below there are two examples to convert the current date or timestamp into a value suitable for one of paradox's date/time fields.

Замечание:

This function is only available if pxlib >= 0.6.0 is used.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

Возвращаемые значения

Returns FALSE on failure or the record number in case of success.

Примеры

Пример #1 Set the date/time fields in a paradox database to the current date/time

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

Результат выполнения данного примера:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

Смотрите также

px_update_record() - Updates record in paradox database

px_get_value
px_new
Paradox Функции


Create a new paradox object

px_insert_record
px_numfields
Paradox Функции
PHP Manual

px_new

(PECL paradox >= 1.0.0)

px_new — Create a new paradox object

Описание

resource px_new ( void )

Create a new paradox object. You will have to call this function before any further functions. px_new() does not create any file on the disk, it just creates an instance of a paradox object. This function must not be called if the object oriented interface is used. Use new paradox_db() instead.

Возвращаемые значения

Returns FALSE on failure.

Примеры

Пример #1 Opening a Paradox database

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

If you prefer the object oriented API, then the above example will look like the following.

Пример #2 Opening a Paradox database

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Смотрите также

  • px_delete() - Deletes resource of paradox database
  • px_open_fp() - Open paradox database

px_insert_record
px_numfields
Paradox Функции


Returns number of fields in a database

px_new
px_numrecords
Paradox Функции
PHP Manual

px_numfields

(PECL paradox >= 1.0.0)

px_numfields — Returns number of fields in a database

Описание

int px_numfields ( resource $pxdoc )

Get the number of fields in a database file.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

Возвращаемые значения

Returns the number of fields in a database file. The return value of this function is identical to the element numfields in the array returned by px_get_info().

px_new
px_numrecords
Paradox Функции


Returns number of records in a database

px_numfields
px_open_fp
Paradox Функции
PHP Manual

px_numrecords

(PECL paradox >= 1.0.0)

px_numrecords — Returns number of records in a database

Описание

int px_numrecords ( resource $pxdoc )

Get the number of records in a database file.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

Возвращаемые значения

Returns the number of records in a database file. The return value of this function is identical to the element numrecords in the array returned by px_get_info().

px_numfields
px_open_fp
Paradox Функции


Open paradox database

px_numrecords
px_put_record
Paradox Функции
PHP Manual

px_open_fp

(PECL paradox >= 1.0.0)

px_open_fp — Open paradox database

Описание

bool px_open_fp ( resource $pxdoc , resource $file )

Open an existing paradox database file. The actual file has to be opened before with fopen(). This function can also be used to open primary index files and tread them like a paradox database. This is supported for those who would like to investigate a primary index. It cannot be used to accelerate access to a database file.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

file is the return value from fopen() with the actual database file as parameter. Make sure the database is writable if you plan to update or insert records.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fopen() - Открывает файл или URL
  • The example at px_new() - Create a new paradox object

px_numrecords
px_put_record
Paradox Функции


Stores record into paradox database

px_open_fp
px_retrieve_record
Paradox Функции
PHP Manual

px_put_record

(PECL paradox >= 1.0.0)

px_put_record — Stores record into paradox database

Описание

bool px_put_record ( resource $pxdoc , array $record [, int $recpos = -1 ] )

Stores a record into a paradox database. The record is always added at the end of the database, regardless of any free slots. Use px_insert_record() to add a new record into the first free slot found in the database.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

record

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

recpos

This optional parameter may be used to specify a record number greater than the current number of records in the database. The function will add as many empty records as needed. There is hardly any need for this parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

px_open_fp
px_retrieve_record
Paradox Функции


Returns record of paradox database

px_put_record
px_set_blob_file
Paradox Функции
PHP Manual

px_retrieve_record

(PECL paradox >= 1.4.0)

px_retrieve_record — Returns record of paradox database

Описание

array px_retrieve_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

This function is very similar to px_get_record() but uses internally a different approach to retrieve the data. It relies on pxlib for reading each single field value, which usually results in support for more field types.

Замечание:

This function is only available if pxlib >= 0.6.0 is used.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp is a floating point value also counting milliseconds starting at the beginning of julian calendar.

Возвращаемые значения

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Смотрите также

  • px_get_record() - Returns record of paradox database

px_put_record
px_set_blob_file
Paradox Функции


Sets the file where blobs are read from

px_retrieve_record
px_set_parameter
Paradox Функции
PHP Manual

px_set_blob_file

(PECL paradox >= 1.3.0)

px_set_blob_file — Sets the file where blobs are read from

Описание

bool px_set_blob_file ( resource $pxdoc , string $filename )

Sets the name of the file where blobs are going to be read from or written into. Without calling this function, px_get_record() or px_retrieve_record() will only return data in blob fields if the data is part of the record and not stored in the blob file. Blob data is stored in the record if it is small enough to fit in the size of the blob field.

Calling px_put_record(),
px_insert_record(), or
px_update_record() without calling
px_set_blob_file() will result in truncated blob fields
unless the data fits into the database file.

Calling this function twice will close the first blob file and open the new one.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

filename

The name of the file. Its extension should be .MB.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

px_retrieve_record
px_set_parameter
Paradox Функции


Sets a parameter

px_set_blob_file
px_set_tablename
Paradox Функции
PHP Manual

px_set_parameter

(PECL paradox >= 1.1.0)

px_set_parameter — Sets a parameter

Описание

bool px_set_parameter ( resource $pxdoc , string $name , string $value )

Sets various parameters.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

Depending on the parameter you want to set, name can be one of the following.

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

inputencoding

The encoding of the input data which is to be stored into the database.

value

The value of parameter to set. For inputencoding and targetencoding this must be the name of the encoding as understood by iconv or recode, e.g. iso-8859-1, utf-8, cp850.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • px_get_info() - Return lots of information about a paradox file to determine the DOS code page.

px_set_blob_file
px_set_tablename
Paradox Функции


Sets the name of a table (deprecated)

px_set_parameter
px_set_targetencoding
Paradox Функции
PHP Manual

px_set_tablename

(PECL paradox >= 1.0.0)

px_set_tablename — Sets the name of a table (deprecated)

Описание

void px_set_tablename ( resource $pxdoc , string $name )

Sets the table name of a paradox database, which was created with px_create_fp(). This function is deprecated use px_set_parameter() instead.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

tablename

The name of the table. If it is not set explicitly it will be set to the name of the database file.

Возвращаемые значения

Returns NULL on success или FALSE в случае возникновения ошибки.

Смотрите также

px_set_parameter() - Sets a parameter

px_set_parameter
px_set_targetencoding
Paradox Функции


Sets the encoding for character fields (deprecated)

px_set_tablename
px_set_value
Paradox Функции
PHP Manual

px_set_targetencoding

(PECL paradox >= 1.0.0)

px_set_targetencoding — Sets the encoding for character fields (deprecated)

Описание

bool px_set_targetencoding ( resource $pxdoc , string $encoding )

Set the encoding for data retrieved from a character field. All character fields will be recoded to the encoding set by this function. If the encoding is not set, the character data will be returned in the DOS code page encoding as specified in the database file. The encoding can be any string identifier known to iconv or recode. On Unix systems run iconv -l for a list of available encodings.

This function is deprecated and should be replaced by calling px_set_parameter().

See also px_get_info() to determine the DOS code page as stored in the database file.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

encoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

Возвращаемые значения

Returns FALSE if the encoding could not be set, e.g. the encoding is unknown, or pxlib does not support recoding at all. In the second case a warning will be issued.

Смотрите также

px_set_parameter() - Sets a parameter

px_set_tablename
px_set_value
Paradox Функции


Sets a value

px_set_targetencoding
px_timestamp2string
Paradox Функции
PHP Manual

px_set_value

(PECL paradox >= 1.1.0)

px_set_value — Sets a value

Описание

bool px_set_value ( resource $pxdoc , string $name , float $value )

Sets various values.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

value

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

px_set_parameter() - Sets a parameter

px_set_targetencoding
px_timestamp2string
Paradox Функции


Converts the timestamp into a string.

px_set_value
px_update_record
Paradox Функции
PHP Manual

px_timestamp2string

(PECL paradox >= 1.4.0)

px_timestamp2string — Converts the timestamp into a string.

Описание

string px_timestamp2string ( resource $pxdoc , float $value , string $format )

Turns a timestamp as it stored in the paradox file into human readable format. Paradox timestamps are the number of miliseconds since 0001-01-02. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the following example.

Список параметров

pxdoc

Resource identifier of the paradox database.

value

Value as stored in paradox database field of type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Turn a paradox timestamp into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";

/* Turn it into a timestamp as it stored in a paradox database */
/* Timestamps are stored in miliseconds since 0001-01-02 */
$stamp = $days * 86400.0 * 1000.0;
/* Add one hour */
$stamp += 3600000.0;
/* The following will output '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

Результат выполнения данного примера:

7/15/1917
7/15/1917 01:00:00

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain miliseconds.

Смотрите также

  • px_date2string() - Converts a date into a string.
  • jdtogregorian() - Переводит число дней в Юлианском летоисчислении в дату по Григорианскому календарю

px_set_value
px_update_record
Paradox Функции


Updates record in paradox database

px_timestamp2string
PostgreSQL
Paradox Функции
PHP Manual

px_update_record

(PECL paradox >= 1.4.0)

px_update_record — Updates record in paradox database

Описание

bool px_update_record ( resource $pxdoc , array $data , int $num )

Updates an exiting record in the database. The record starts at 0.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Замечание:

This function is only available if pxlib >= 0.6.0 is used.

Список параметров

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated array containing the field values as returned by px_retrieve_record().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

px_insert_record() - Inserts record into paradox database

px_timestamp2string
PostgreSQL
Paradox Функции


PostgreSQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • PostgreSQL
    • pg_affected_rows — Возвращает количество затронутых запросом записей (кортежей)
    • pg_cancel_query — Остановка асинхронного запроса.
    • pg_client_encoding — Получение кодировки клиента.
    • pg_close — Закрывает соединение с базой данных PostgreSQL
    • pg_connect — Открывает соединение с базой данных PostgreSQL
    • pg_connection_busy — Проверяет, занято ли соединение в данный момент.
    • pg_connection_reset — Сброс подключение (переподключение)
    • pg_connection_status — Определяет состояние подключения
    • pg_convert — Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах
    • pg_copy_from — Вставляет записи из массива в таблицу
    • pg_copy_to — Копирует данные из таблицы в массив
    • pg_dbname — Определяет имя базы данных
    • pg_delete — Удаляет записи
    • pg_end_copy — Синхронизирует с бэкендом PostgreSQL
    • pg_escape_bytea — Экранирует спецсимволы в строке для вставки в поле типа bytea
    • pg_escape_string — Экранирование спецсимволов в строке для вставки в текстовое поле
    • pg_execute — Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
    • pg_fetch_all_columns — Выбирает все записи из одной колонки результата запроса и помещает их в массив
    • pg_fetch_all — Выбирает все данные из результата запроса и помещает их в массив
    • pg_fetch_array — Возвращает строку результата в виде массива
    • pg_fetch_assoc — Выбирает строку результата запроса и помещает данные в ассоциативный массив
    • pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта
    • pg_fetch_result — Возвращает запись из результата запроса
    • pg_fetch_row — Выбирает строку результата запроса и помещает данные в массив
    • pg_field_is_null — Проверка поля на значение SQL NULL
    • pg_field_name — Возвращает наименование поля
    • pg_field_num — Возвращает порядковый номер именованного поля
    • pg_field_prtlen — Возвращает количество печатаемых символов
    • pg_field_size — Возвращает размер поля
    • pg_field_table — Возвращает наименование или идентификатор таблицы, содержащей заданное поле
    • pg_field_type_oid — Возвращает идентификатор типа заданного поля
    • pg_field_type — Возвращает имя типа заданного поля
    • pg_free_result — Очистка результата запроса и освобождение памяти
    • pg_get_notify — Получение SQL NOTIFY сообщения
    • pg_get_pid — Получает ID процесса сервера БД
    • pg_get_result — Получение результата асинхронного запроса
    • pg_host — Возвращает имя хоста, соответствующего подключению
    • pg_insert — Заносит данные из массива в таблицу базы данных
    • pg_last_error — Получает сообщение о последней произошедшей ошибке на соединении с базой данных
    • pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL
    • pg_last_oid — Возвращает OID последней добавленной в базу строки
    • pg_lo_close — Закрывает большой объект
    • pg_lo_create — Создает большой объект
    • pg_lo_export — Вывод большого объекта в файл
    • pg_lo_import — Импорт большого объекта из файла
    • pg_lo_open — Открывает большой объект базы данных
    • pg_lo_read_all — Читает содержимое большого объекта и посылает напрямую в броузер
    • pg_lo_read — Читает данные большого объекта
    • pg_lo_seek — Перемещает внутренний указатель большого объекта
    • pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
    • pg_lo_unlink — Удаление большого объекта
    • pg_lo_write — Записывает данные в большой объект
    • pg_meta_data — Получение метаданных таблицы
    • pg_num_fields — Возвращает количество полей в выборке
    • pg_num_rows — Возвращает количество строк в выборке
    • pg_options — Получение параметров соединения с сервером баз данных
    • pg_parameter_status — Просмотр текущих значений параметров сервера
    • pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL
    • pg_ping — Проверка соединения с базой данных
    • pg_port — Возвращает номер порта, соответствующий заданному соединению
    • pg_prepare — Посылает запрос на создание параметризованного SQL выражения и ждет его завершения
    • pg_put_line — Передает на PostgreSQL сервер строку с завершающим нулем
    • pg_query_params — Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
    • pg_query — Выполняет запрос
    • pg_result_error_field — Возвращает конкретное поле из отчета об ошибках
    • pg_result_error — Возвращает сообщение об ошибке, связанной с запросом результата
    • pg_result_seek — Смещает указатель на строку выборки в ресурсе результата запроса
    • pg_result_status — Возвращает состояние результата запроса
    • pg_select — Выбирает записи из базы данных
    • pg_send_execute — Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата
    • pg_send_prepare — Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения
    • pg_send_query_params — Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата
    • pg_send_query — Отправляет асинхронный запрос
    • pg_set_client_encoding — Устанавливает клиентскую кодировку
    • pg_set_error_verbosity — Определяет объем текста сообщений, возвращаемых функциями pg_last_error и pg_result_error
    • pg_trace — Включает трассировку подключения PostgreSQL
    • pg_transaction_status — Возвращает текущее состояние транзакции на сервере
    • pg_tty — Возвращает имя терминала TTY, связанное с соединением
    • pg_unescape_bytea — Убирает экранирование двоичных данных типа bytea
    • pg_untrace — Отключает трассировку соединения с PostgreSQL
    • pg_update — Обновление данных в таблице
    • pg_version — Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)
px_update_record
Введение
Расширения для работы с базами данных отдельных производителей


Введение

База данных PostgreSQL - это свободно доступный продукт с открытым исходным кодом. Изначально Postgres разрабатывался в Университете Компьютерных Наук Беркли и инициировал многие объектно-реляционные идеи, которые на данный момент доступны в некоторых коммерческих базах данных. В частности, это поддержка языка SQL92/SQL99, транзакции, ссылочная целостность, хранимые процедуры и расширение типов. PostgreSQL - это потомок своего первоисточника из Беркли с открытым исходным кодом.

PostgreSQL
Установка и настройка
PostgreSQL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PostgreSQL


Требования

Для использования PostgreSQL в PHP, у вас должен быть установлен PostgreSQL версии 6.5 или выше, либо PostgreSQL версии 8.0 для использования всех особенностей модуля PostgreSQL. В PostgreSQL есть поддержка различных кодировок символов, включая многобайтную кодировку. Последняя версия и полная информация о PostgreSQL доступна на » http://www.postgresql.org/ и » документация PostgreSQL.

Установка и настройка
Установка
Установка и настройка


Установка

Для того, чтобы включить поддержку PostgreSQL необходимо скомпилировать PHP с директивой --with-pgsql[=DIR] . Параметр DIR определяет путь к установочной директории PostgreSQL, по умолчанию это /usr/local/pgsql. Если доступен динамический модуль, то он может быть включен директивой extension в php.ini, либо функцией dl().

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации PostgreSQL
Имя | Значение по умолчанию | Возможные значения | Changelog
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Доступно с версии PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Доступно с версии PHP 4.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

pgsql.allow_persistent boolean

Следует ли разрешить постоянное соединение с Postgres.

pgsql.max_persistent integer

Максимальное количество постоянных соединений на один процесс.

pgsql.max_links integer

Максимальное количество соединений Postgres на один процесс, включая постоянные соединения.

pgsql.auto_reset_persistent integer

Определять разорванные постоянные ссылки с pg_pconnect(). Требуются небольшие дополнительные ресурсы.

pgsql.ignore_notice integer

Игнорировать или нет уведомления от PostgreSQL.

pgsql.log_notice integer

Записывать ли в лог уведомления от PostgreSQL. Для записи в лог уведомлений также необходимо отключить директиву PHP pgsql.ignore_notice.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Существует два типа ресурсов используемых в модуле PostgreSQL. Первый из них представляет собой идентификатор соединения с базой данных, а второй ресурс необходим для хранения результата запроса.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

PGSQL_ASSOC (integer)
Передается в функцию pg_fetch_array(). Возвращает ассоциативный массив 'имя поля' => 'значение поля'.
PGSQL_NUM (integer)
Передается в функцию pg_fetch_array(). Возвращает нумерованный массив 'номер поля' => 'знаечение поля'.
PGSQL_BOTH (integer)
Передается в функцию pg_fetch_array(). Возвращает массив значений поля, нумерованный (по номеру поля) и ассоциативный (по имени поля).
PGSQL_CONNECT_FORCE_NEW (integer)
Передается в функцию pg_connect() для принудительного создания нового подключения вместо использования идентичного существующего.
PGSQL_CONNECTION_BAD (integer)
Возвращается функцией pg_connection_status(), указывает на неработоспособность соединения с базой данных.
PGSQL_CONNECTION_OK (integer)
Возвращается функцией pg_connection_status(), указывает на нормальное (рабочее) состояние соединения с базой данных.
PGSQL_SEEK_SET (integer)
Передается в функцию pg_lo_seek(). Операция поиска начнет работу с начала объекта.
PGSQL_SEEK_CUR (integer)
Передается в функцию pg_lo_seek(). Операция поиска начнет работу с текущей позиции.
PGSQL_SEEK_END (integer)
Передается в функцию pg_lo_seek(). Операция поиска начнет работу с конца объекта.
PGSQL_EMPTY_QUERY (integer)
Возвращается функцией pg_result_status(). Означает, что отправленная на сервер строка была пустой.
PGSQL_COMMAND_OK (integer)
Возвращается функцией pg_result_status(). Означает успешное завершение команды, не возвращающей данных.
PGSQL_TUPLES_OK (integer)
Возвращается функцией pg_result_status(). Означает успешное завершение команды, возвращающей какие-либо данные (например, SELECT или SHOW).
PGSQL_COPY_OUT (integer)
Возвращается функцией pg_result_status(). Сообщает, что было начато копирование данных с сервера.
PGSQL_COPY_IN (integer)
Возвращается функцией pg_result_status(). Сообщает, что было начато копирование данных на сервер.
PGSQL_BAD_RESPONSE (integer)
Возвращается функцией pg_result_status(). Сообщает, что ответ от сервера не был распознан.
PGSQL_NONFATAL_ERROR (integer)
Возвращается функцией pg_result_status(). Сообщает, что произошла некритическая (уведомление или предупреждение) ошибка.
PGSQL_FATAL_ERROR (integer)
Возвращается функцией pg_result_status(). Сообщает, что произошла критическая ошибка.
PGSQL_TRANSACTION_IDLE (integer)
Возвращается функцией pg_transaction_status(). Означает, что соединение на данный момент бездействует и не находится в рамках транзакции.
PGSQL_TRANSACTION_ACTIVE (integer)
Возвращается функцией pg_transaction_status(). Означает состояние, когда команда находится в процессе выполнения. Запрос через соединение отправлен, но выполнение еще не завершено.
PGSQL_TRANSACTION_INTRANS (integer)
Возвращается функцией pg_transaction_status(). Означает, что соединение простаивает и находится в рамках транзакции.
PGSQL_TRANSACTION_INERROR (integer)
Возвращается функцией pg_transaction_status(). Означает, что соединение простаивает и находится в рамках транзакции потерпевшей неудачу при выполнении.
PGSQL_TRANSACTION_UNKNOWN (integer)
Возвращается функцией pg_transaction_status(). Означает, что соединение разорвано.
PGSQL_DIAG_SEVERITY (integer)
Передается в функцю pg_result_error_field(). Сообщает о затруднении. Возможны лишь перечисленные значения: ERROR, FATAL, или PANIC (в сообщении об ошибке), либо WARNING, NOTICE, DEBUG, INFO, или LOG (в уведомлении), либо перевод перечисленных значений в соответствии с используемой локализацией. Поле всегда определено.
PGSQL_DIAG_SQLSTATE (integer)
Передается в pg_result_error_field(). SQLSTATE код ошибки. SQLSTATE код определяет тип произошедшей ошибки; он может быть использован прикладной программой при выполнении специфических операций (таких как обработка ошибки) в ответ на ошибку базы данных. Это поле всегда определено и его значение не зависит от локализации.
PGSQL_DIAG_MESSAGE_PRIMARY (integer)
Передается в pg_result_error_field(). Основное удобочитаемое сообщение об ошибке (обычно одна строка). Поле всегда определено.
PGSQL_DIAG_MESSAGE_DETAIL (integer)
Передается в pg_result_error_field(). Детализация: дополнительное сообщение об ошибке, содержащее более детальную информацию о проблеме. Может содержать несколько строк.
PGSQL_DIAG_MESSAGE_HINT (integer)
Передается в pg_result_error_field(). Подсказка: указание на возможные пути устранения ошибки. Отличается от детализации ошибки тем, что это просто предложения (возможно ошибочные), а не точная информация. Может содержать несколько строк.
PGSQL_DIAG_STATEMENT_POSITION (integer)
Передается в pg_result_error_field(). Строка содержащая десятичное целое число, указывающее на позицию курсора в исходном выражении, где произошла ошибка. Первый символ имеет индекс 1, позиции исчисляются в символах, а не в байтах.
PGSQL_DIAG_INTERNAL_POSITION (integer)
Передается в pg_result_error_field(). Определение тоже, что и для поля PG_DIAG_STATEMENT_POSITION, но используется в случаях, когда курсор указывает на команду, сгенерированную сервером БД. В таких случаях всегда появляется поле PG_DIAG_INTERNAL_QUERY.
PGSQL_DIAG_INTERNAL_QUERY (integer)
Передается в pg_result_error_field(). Текст ошибки, сгенерированной внутренней командой СУБД, в которой произошла ошибка. Это может быть, например, SQL запрос, сформированный PL/pgSQL функцией.
PGSQL_DIAG_CONTEXT (integer)
Передается в pg_result_error_field(). Указание на контекст, где произошла ошибка. В основном содержит трассировку запрограммированных функций и автоматически сгенерированных запросов. Трассировка выводится построчно, начиная с последней строки.
PGSQL_DIAG_SOURCE_FILE (integer)
Передается в pg_result_error_field(). Имя файла исходного кода PostgreSQL, в котором отмечена ошибка.
PGSQL_DIAG_SOURCE_LINE (integer)
Передается в pg_result_error_field(). Номер строки файла исходного кода PostgreSQL, где отмечена ошибка.
PGSQL_DIAG_SOURCE_FUNCTION (integer)
Передается в pg_result_error_field(). Имя функции в исходном коде PostgreSQL, сообщающей об ошибке.
PGSQL_ERRORS_TERSE (integer)
Передается в pg_set_error_verbosity(). Дает предписание, что выдаваемые сообщения будут содержать только важность ошибки, основной текст и указатель на место, где она произошла; эта информация обычно умещается в одну строку.
PGSQL_ERRORS_DEFAULT (integer)
Передается в pg_set_error_verbosity(). В режиме по умолчанию сообщения об ошибках содержат описанную выше информацию, а также детализацию, подсказку, или поля с контекстом ошибки (могут занимать несколько строк).
PGSQL_ERRORS_VERBOSE (integer)
Передается в pg_set_error_verbosity(). Задает режим, в котором в сообщения будут включены все возможные поля.
PGSQL_STATUS_LONG (integer)
Передается в pg_result_status(). Указывает на то, что в качестве возвращаемого значения ожидается числовой код.
PGSQL_STATUS_STRING (integer)
Передается в pg_result_status(). Указывает на то, что в качестве возвращаемого значения ожидается текстовое представление статуса.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Передается в pg_convert(). Игнорировать значения по умолчанию в таблице в процессе преобразования.
PGSQL_CONV_FORCE_NULL (integer)
Передается в pg_convert(). Заменять пустые строки string на SQL NULL при преобразовании.
PGSQL_CONV_IGNORE_NOT_NULL (integer)
Передается в pg_convert(). Указывает, что не нужно конвертировать NULL при записи в SQL NOT NULL колонки таблиц.
Типы ресурсов
Примеры
PostgreSQL


Примеры

Содержание

  • Базовое использование
Предопределенные константы
Базовое использование
PostgreSQL


Базовое использование

Этот простой пример показывает как выполнить соединение с БД, отправить запрос, вывести его результат и закрыть соединение с PostgreSQL.

Пример #1 Пример работы с расширением PostgreSQL

<?php
// Соединение, выбор базы данных
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('Could not connect: ' . pg_last_error());

// Выполнение SQL запроса
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Ошибка запроса: ' . pg_last_error());

// Вывод результатов в HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Очистка результата
pg_free_result($result);

// Закрытие соединения
pg_close($dbconn);
?>

Примеры
PostgreSQL
Примеры


PostgreSQL
PHP Manual

PostgreSQL

Примечания

Замечание:

Не все функции могут поддерживаться в собранном модуле. Это зависит от версии вашей libpq (клиентская библиотека PostgreSQL) и как libpq была собрана. Если расширение PostgreSQL для PHP отсутствует, то это значит, что версия вашей libpq не поддерживается.

Замечание:

Большинство функций PostgreSQL принимают connection в качестве первого необязательного параметра. Если параметр отсутствует, то используется последнее открытое соединение. Если же такого не существует, то функция возвращает FALSE.

Замечание:

PostgreSQL автоматически переводит все идентификаторы (такие, как имена таблиц/столбцов) в нижний регистр во время создания объекта и выполнения запроса. Для того, чтобы заставить использовать идентификаторы в обоих или только в верхнем регистрах, вы должны экранировать идентификатор с помощью двойные кавычки ("").

Замечание:

В PostgreSQL нет специальных команд для получения информации о схеме БД (к примеру, всех таблиц выбранной базы данных). Но вместо этого в версиях PostgreSQL 7.4 и выше существует стандартная схема, которая называется information_schema. Она содержит системные представления (view) со всей необходимой информацией в легкодоступной форме. Для дополнительной информации см. » документацию PostgreSQL

Содержание

  • pg_affected_rows — Возвращает количество затронутых запросом записей (кортежей)
  • pg_cancel_query — Остановка асинхронного запроса.
  • pg_client_encoding — Получение кодировки клиента.
  • pg_close — Закрывает соединение с базой данных PostgreSQL
  • pg_connect — Открывает соединение с базой данных PostgreSQL
  • pg_connection_busy — Проверяет, занято ли соединение в данный момент.
  • pg_connection_reset — Сброс подключение (переподключение)
  • pg_connection_status — Определяет состояние подключения
  • pg_convert — Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах
  • pg_copy_from — Вставляет записи из массива в таблицу
  • pg_copy_to — Копирует данные из таблицы в массив
  • pg_dbname — Определяет имя базы данных
  • pg_delete — Удаляет записи
  • pg_end_copy — Синхронизирует с бэкендом PostgreSQL
  • pg_escape_bytea — Экранирует спецсимволы в строке для вставки в поле типа bytea
  • pg_escape_string — Экранирование спецсимволов в строке для вставки в текстовое поле
  • pg_execute — Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
  • pg_fetch_all_columns — Выбирает все записи из одной колонки результата запроса и помещает их в массив
  • pg_fetch_all — Выбирает все данные из результата запроса и помещает их в массив
  • pg_fetch_array — Возвращает строку результата в виде массива
  • pg_fetch_assoc — Выбирает строку результата запроса и помещает данные в ассоциативный массив
  • pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result — Возвращает запись из результата запроса
  • pg_fetch_row — Выбирает строку результата запроса и помещает данные в массив
  • pg_field_is_null — Проверка поля на значение SQL NULL
  • pg_field_name — Возвращает наименование поля
  • pg_field_num — Возвращает порядковый номер именованного поля
  • pg_field_prtlen — Возвращает количество печатаемых символов
  • pg_field_size — Возвращает размер поля
  • pg_field_table — Возвращает наименование или идентификатор таблицы, содержащей заданное поле
  • pg_field_type_oid — Возвращает идентификатор типа заданного поля
  • pg_field_type — Возвращает имя типа заданного поля
  • pg_free_result — Очистка результата запроса и освобождение памяти
  • pg_get_notify — Получение SQL NOTIFY сообщения
  • pg_get_pid — Получает ID процесса сервера БД
  • pg_get_result — Получение результата асинхронного запроса
  • pg_host — Возвращает имя хоста, соответствующего подключению
  • pg_insert — Заносит данные из массива в таблицу базы данных
  • pg_last_error — Получает сообщение о последней произошедшей ошибке на соединении с базой данных
  • pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL
  • pg_last_oid — Возвращает OID последней добавленной в базу строки
  • pg_lo_close — Закрывает большой объект
  • pg_lo_create — Создает большой объект
  • pg_lo_export — Вывод большого объекта в файл
  • pg_lo_import — Импорт большого объекта из файла
  • pg_lo_open — Открывает большой объект базы данных
  • pg_lo_read_all — Читает содержимое большого объекта и посылает напрямую в броузер
  • pg_lo_read — Читает данные большого объекта
  • pg_lo_seek — Перемещает внутренний указатель большого объекта
  • pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
  • pg_lo_unlink — Удаление большого объекта
  • pg_lo_write — Записывает данные в большой объект
  • pg_meta_data — Получение метаданных таблицы
  • pg_num_fields — Возвращает количество полей в выборке
  • pg_num_rows — Возвращает количество строк в выборке
  • pg_options — Получение параметров соединения с сервером баз данных
  • pg_parameter_status — Просмотр текущих значений параметров сервера
  • pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL
  • pg_ping — Проверка соединения с базой данных
  • pg_port — Возвращает номер порта, соответствующий заданному соединению
  • pg_prepare — Посылает запрос на создание параметризованного SQL выражения и ждет его завершения
  • pg_put_line — Передает на PostgreSQL сервер строку с завершающим нулем
  • pg_query_params — Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
  • pg_query — Выполняет запрос
  • pg_result_error_field — Возвращает конкретное поле из отчета об ошибках
  • pg_result_error — Возвращает сообщение об ошибке, связанной с запросом результата
  • pg_result_seek — Смещает указатель на строку выборки в ресурсе результата запроса
  • pg_result_status — Возвращает состояние результата запроса
  • pg_select — Выбирает записи из базы данных
  • pg_send_execute — Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата
  • pg_send_prepare — Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения
  • pg_send_query_params — Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата
  • pg_send_query — Отправляет асинхронный запрос
  • pg_set_client_encoding — Устанавливает клиентскую кодировку
  • pg_set_error_verbosity — Определяет объем текста сообщений, возвращаемых функциями pg_last_error и pg_result_error
  • pg_trace — Включает трассировку подключения PostgreSQL
  • pg_transaction_status — Возвращает текущее состояние транзакции на сервере
  • pg_tty — Возвращает имя терминала TTY, связанное с соединением
  • pg_unescape_bytea — Убирает экранирование двоичных данных типа bytea
  • pg_untrace — Отключает трассировку соединения с PostgreSQL
  • pg_update — Обновление данных в таблице
  • pg_version — Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)
Базовое использование
pg_affected_rows
PostgreSQL
PHP Manual


Возвращает количество затронутых запросом записей (кортежей)

PostgreSQL
pg_cancel_query
PostgreSQL
PHP Manual

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows — Возвращает количество затронутых запросом записей (кортежей)

Описание

int pg_affected_rows ( resource $result )

pg_affected_rows() возвращает количество кортежей (сущностей/записей/рядов) затронутых запросом INSERT, UPDATE, и DELETE queries.

Замечание:

Ранее данная функция называлась pg_cmdtuples().

Список параметров

result

Результат запроса к PostgreSQL , значение типа resource, возвращаемое функцией pg_query(), pg_query_params() или pg_execute() (среди прочих).

Возвращаемые значения

Количество записей, затронутых запросом. Если ни один кортеж не был затронут, функция вернет 0.

Примеры

Пример #1 Пример использования pg_affected_rows()

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " кортежей затронуто.\n";
?>

Результат выполнения данного примера:

1 кортежей затронуто.

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_query_params() - Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
  • pg_execute() - Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
  • pg_num_rows() - Возвращает количество строк в выборке

PostgreSQL
pg_cancel_query
PostgreSQL


Остановка асинхронного запроса.

pg_affected_rows
pg_client_encoding
PostgreSQL
PHP Manual

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query — Остановка асинхронного запроса.

Описание

bool pg_cancel_query ( resource $connection )

pg_cancel_query() отменяет выполнение асинхронного запроса, отправленного функциями pg_send_query(), pg_send_query_params() или pg_send_execute(). Невозможно завершить выполнение запроса, запущенное функцией pg_query().

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_cancel_query()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Первый запрос к pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 получил $rows1 записей\n\n";

  // Остановка выполняющегося в данный момент запроса.
  // Последует второй запрос, если, конечно, он еще выполняется.
  pg_cancel_query($dbconn);
?>

Результат выполнения данного примера:

Первый запрос к pg_get_result(): Resource id #3
Resource id #3 получил 3 записей

Смотрите также

  • pg_send_query() - Отправляет асинхронный запрос
  • pg_connection_busy() - Проверяет, занято ли соединение в данный момент.

pg_affected_rows
pg_client_encoding
PostgreSQL


Получение кодировки клиента.

pg_cancel_query
pg_close
PostgreSQL
PHP Manual

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding — Получение кодировки клиента.

Описание

string pg_client_encoding ([ resource $connection ] )

PostgreSQL поддерживает автоматическое преобразование наборов символов между сервером и клиентом для некоторых кодировок. pg_client_encoding() возвращает клиентскую кодировку в виде строки, представляющей собой стандартный идентификатор кодировки PostgreSQL.

Замечание:

Функция поддерживается PHP версии 4.0.3 или выше и PostgreSQL версии 7.0 или выше. В случае, если libpg скомпилирована без поддержки многобайтных кодировок, pg_client_encoding() всегда возвращает SQL_ASCII. Набор поддерживаемых кодировок зависит от версии сервера БД и описан в документации PostgreSQL.

Функция, используемая для вызова: pg_clientencoding().

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL. Если connection не задан, будет использовано соединение по-умолчанию - последнее соединение созданное функциями pg_connect() или pg_pconnect().

Возвращаемые значения

Клиентская кодировка, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_client_encoding()

<?php
// Допустим, что $conn - соединение с базой данных, поддерживающей стандарт ISO-8859-1
$encoding = pg_client_encoding($conn);

echo "Кодировка клиента: ", $encoding, "\n";
?>

Результат выполнения данного примера:

Кодировка клиента: ISO-8859-1

Смотрите также

  • pg_set_client_encoding() - Устанавливает клиентскую кодировку

pg_cancel_query
pg_close
PostgreSQL


Закрывает соединение с базой данных PostgreSQL

pg_client_encoding
pg_connect
PostgreSQL
PHP Manual

pg_close

(PHP 4, PHP 5)

pg_close — Закрывает соединение с базой данных PostgreSQL

Описание

bool pg_close ([ resource $connection ] )

pg_close() закрывает обычное (непостоянное) соединение с базой данных PostgreSQL, соответствующее ресурсу connection.

Замечание:

Использование pg_close(), как правило, необязательно, так как непостоянные соединения закрываются автоматически при завершении работы скрипта.

Если с соединением работают ресурсы "больших" объектов, то перед закрытием соединения необходимо закрыть эти ресурсы.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL. В случае, если connection не задан, будет закрыто последнее соединение открытое функциями pg_connect() или pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_close()

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
   or die("Невозможно подключиться к БД");
echo "Успешно подключено к БД";
pg_close($dbconn);
?>

Результат выполнения данного примера:

Успешно подключено к БД

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL

pg_client_encoding
pg_connect
PostgreSQL


Открывает соединение с базой данных PostgreSQL

pg_close
pg_connection_busy
PostgreSQL
PHP Manual

pg_connect

(PHP 4, PHP 5)

pg_connect — Открывает соединение с базой данных PostgreSQL

Описание

resource pg_connect ( string $connection_string [, int $connect_type ] )

pg_connect() открывает соединение с базой данных PostgreSQL, определенное строкой connection_string.

При повторном вызове функции pg_connect() с теми же значениями параметров в connection_string функция вернет существующее подключение. Чтобы принудительно создать новое соединение, необходимо передать строку подключения функции PGSQL_CONNECT_FORCE_NEW в качестве параметра connect_type.

Прежний синтаксис с множеством параметров $conn = pg_connect("host", "port", "options", "tty", "dbname") считается устаревшим.

Список параметров

connection_string

Строка connection_string может быть пустой строкой, или содержать несколько параметров разделенных пробелами. Каждый параметр указывается как keyword = value. Пробелы вокруг знака равно необязательны. Пустые строки в качестве значения или значения, содержащие пробелы отделяются одинарными кавычками, как например, keyword = 'a value'. Для задания одинарных кавычек и обратных слешей в качестве значений их необходимо экранировать обратным слешем, то есть \' и \\.

Список основных ключевых слов: host, hostaddr, port, dbname (значение по умолчанию для параметра user), user, password, connect_timeout, options, tty (игнорируется), sslmode, requiressl (устарело в связи с использованием параметра sslmode), и service. Какие из этих аргументов будут обработаны, зависит от версии PostgreSQL.

Параметр options служит для установки параметров командной строки, которые обработаны сервером.

connect_type

Если в функцию передана константа PGSQL_CONNECT_FORCE_NEW, будет создаваться новое подключение, даже если connection_string идентична строке существующего подключения.

Возвращаемые значения

Ресурс соединения с базой данных PostgreSQL либо FALSE, если подключиться не удалось.

Примеры

Пример #1 Использование функции pg_connect()

<?php
$dbconn = pg_connect("dbname=mary");
//подключиться к базе "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
//подключиться к базе "mary" на хосте "localhost", порт "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//подключиться к базе "mary" на хосте "sheep", используя имя пользователя и пароль

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//подключиться к базе "test" на хосте "sheep", используя имя пользователя и пароль

$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
//подключиться к базе на хосте "localhost" и передать параметр командной строки, задающий кодировку UTF-8
?>

Смотрите также

  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_close() - Закрывает соединение с базой данных PostgreSQL
  • pg_host() - Возвращает имя хоста, соответствующего подключению
  • pg_port() - Возвращает номер порта, соответствующий заданному соединению
  • pg_tty() - Возвращает имя терминала TTY, связанное с соединением
  • pg_options() - Получение параметров соединения с сервером баз данных
  • pg_dbname() - Определяет имя базы данных

pg_close
pg_connection_busy
PostgreSQL


Проверяет, занято ли соединение в данный момент.

pg_connect
pg_connection_reset
PostgreSQL
PHP Manual

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy — Проверяет, занято ли соединение в данный момент.

Описание

bool pg_connection_busy ( resource $connection )

pg_connection_busy() определяет, занято соединение в данный момент или нет. Соединение занято, когда предыдущий запрос еще выполняется. Функция pg_get_result() также блокирует соединение на время своего выполнения.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

Возвращает TRUE, когда соединение занято, иначе FALSE.

Примеры

Пример #1 Пример использования pg_connection_busy()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $bs = pg_connection_busy($dbconn);
  if ($bs) {
      echo 'connection is busy';
  } else {
     echo 'connection is not busy';
  }
?>

Смотрите также

  • pg_connection_status() - Определяет состояние подключения
  • pg_get_result() - Получение результата асинхронного запроса

pg_connect
pg_connection_reset
PostgreSQL


Сброс подключение (переподключение)

pg_connection_busy
pg_connection_status
PostgreSQL
PHP Manual

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset — Сброс подключение (переподключение)

Описание

bool pg_connection_reset ( resource $connection )

pg_connection_reset() сбрасывает подключение. Может быть использована для устранения ошибок.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_connection_reset()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $dbconn2 = pg_connection_reset($dbconn);
  if ($dbconn2) {
      echo "reset successful\n";
  } else {
      echo "reset failed\n";
  }
?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_connection_status() - Определяет состояние подключения

pg_connection_busy
pg_connection_status
PostgreSQL


Определяет состояние подключения

pg_connection_reset
pg_convert
PostgreSQL
PHP Manual

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status — Определяет состояние подключения

Описание

int pg_connection_status ( resource $connection )

pg_connection_status() возвращает состояние переданного в качестве аргумента соединения connection.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

PGSQL_CONNECTION_OK либо PGSQL_CONNECTION_BAD.

Примеры

Пример #1 Пример использования pg_connection_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Статус соединения: доступно';
  } else {
      echo 'Статус соединения: разорвано';
  }
?>

Смотрите также

  • pg_connection_busy() - Проверяет, занято ли соединение в данный момент.

pg_connection_reset
pg_convert
PostgreSQL


Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_connection_status
pg_copy_from
PostgreSQL
PHP Manual

pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert — Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

Описание

array pg_convert ( resource $connection , string $table_name , array $assoc_array [, int $options = 0 ] )

pg_convert() проверяет и преобразовывает значения из assoc_array в приемлемые для SQL сервера. Необходимо, чтобы существовала таблица table_name, а количество колонок в ней должно быть не меньше, чем значений в массиве assoc_array. Имена колонок в таблице table_name должны совпадать с ключами массива assoc_array, типы данных значений массива также должны совпадать с типами данных соответствующих колонок. В случае удачной конвертации функция возвращает массив преобразованных значений, иначе возвращает FALSE.

Замечание:

Если таблица table_name содержит поля типа boolean, не используйте константу TRUE в качестве значения массива table_name для этих полей. Она будет преобразована в строку 'TRUE', которая является недопустимым значением для boolean полей в PostgreSQL. Используйте значения t, true, 1, y, yes.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы базы данных.

assoc_array

Данные для преобразования.

options

Одна из констант PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL или PGSQL_CONV_IGNORE_NOT_NULL, либо их комбинация.

Возвращаемые значения

Массив (array), содержащий преобразованные данные, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_convert()

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, by Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

Смотрите также

  • pg_meta_data() - Получение метаданных таблицы

pg_connection_status
pg_copy_from
PostgreSQL


Вставляет записи из массива в таблицу

pg_convert
pg_copy_to
PostgreSQL
PHP Manual

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from — Вставляет записи из массива в таблицу

Описание

bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

pg_copy_from() вставляет записи в таблицу из массива rows. В ходе выполнения вызывает SQL команду COPY FROM для вставки записей.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы, в которую копируются значения из rows.

rows

Массив (array) данных для копирования в table_name. Каждое значение в rows становится строкой в table_name. Каждое значение массива rows должно быть строкой с разделителем, содержащей значения для вставки в каждое поле таблицы. Значения должны заканчиваться символом перевода строки.

delimiter

Символ, отделяющий значения друг от друга в каждом элементе массива rows. По-умолчанию TAB.

null_as

Определяет, каким образом значения SQL NULL представлены в массиве rows. По-умолчанию \N ("\\N").

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_copy_from()

<?php
   $db = pg_connect("dbname=publisher") or die("Не удается создать подключение");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Смотрите также

  • pg_copy_to() - Копирует данные из таблицы в массив

pg_convert
pg_copy_to
PostgreSQL


Копирует данные из таблицы в массив

pg_copy_from
pg_dbname
PostgreSQL
PHP Manual

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to — Копирует данные из таблицы в массив

Описание

array pg_copy_to ( resource $connection , string $table_name [, string $delimiter [, string $null_as ]] )

pg_copy_to() копирует данные из таблицы в массив. Для получения записей посылает серверу команду SQL COPY TO.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы, из которой данные копируются в массив rows.

delimiter

Символ-разделитель, отделяющий значения полей в элементах массива rows. По умолчанию TAB.

null_as

Этот параметр отвечает за то, как значения SQL NULL будут представлены в массиве rows. По-умолчанию \N ("\\N").

Возвращаемые значения

Массив array, в котором каждый элемент - строка, полученная с помощью COPY. В случае ошибки возвращает FALSE.

Примеры

Пример #1 Пример использования pg_copy_to()

<?php
   $db = pg_connect("dbname=publisher") or die("Невозможно подключиться");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Смотрите также

  • pg_copy_from() - Вставляет записи из массива в таблицу

pg_copy_from
pg_dbname
PostgreSQL


Определяет имя базы данных

pg_copy_to
pg_delete
PostgreSQL
PHP Manual

pg_dbname

(PHP 4, PHP 5)

pg_dbname — Определяет имя базы данных

Описание

string pg_dbname ([ resource $connection ] )

pg_dbname() возвращает имя базы данных, соответствующей ресурсу PostgreSQL connection.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Строка, содержащая имя базы данных, соответствующей ресурсу connection, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_dbname()

<?php
  error_reporting(E_ALL);

  pg_connect("host=localhost port=5432 dbname=mary");
  echo pg_dbname(); // mary
?>

pg_copy_to
pg_delete
PostgreSQL


Удаляет записи

pg_dbname
pg_end_copy
PostgreSQL
PHP Manual

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete — Удаляет записи

Описание

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_delete() удаляет из таблицы записи, соответствующие ключам и значениям массива assoc_array. Если задан аргумент options, то массив assoc_array будет предварительно обработан функцией pg_convert(), вызванной с указанными параметрами.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы, из которой удаляются записи.

assoc_array

Ассоциативный массив, ключи которого соответствуют именам полей таблицы table_name, а значения соответствуют удаляемым значениям в этих колонках.

options

Комбинация констант PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC или PGSQL_DML_STRING. Если константа PGSQL_DML_STRING присутствует в аргументе options, то функция вернет строку, содержащую запрос.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Возвращает строку, если в аргументе options передана константа PGSQL_DML_STRING.

Примеры

Пример #1 Пример использования pg_delete()

<?php
  $db = pg_connect('dbname=foo');
  // Это безопасно, поскольку $_POST автоматически конвертируется
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "Данные из POST удалены: $res\n";
  } else {
      echo "Пользователь отправил неверные входные данные\n";
  }
?>

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • pg_convert() - Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_dbname
pg_end_copy
PostgreSQL


Синхронизирует с бэкендом PostgreSQL

pg_delete
pg_escape_bytea
PostgreSQL
PHP Manual

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy — Синхронизирует с бэкендом PostgreSQL

Описание

bool pg_end_copy ([ resource $connection ] )

pg_end_copy() синхронизирует данные между фронтендом PostgreSQL (обычно процессом веб-сервера) и сервером PostgreSQL после завершения копирования данных, совершенных с помощью функции pg_put_line(). Использование pg_end_copy() необходимо, чтобы избежать рассинхронизации сервера PostgreSQL с фронтендом и сообщений об ошибках.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_end_copy()

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Смотрите также

  • pg_put_line() - Передает на PostgreSQL сервер строку с завершающим нулем

pg_delete
pg_escape_bytea
PostgreSQL


Экранирует спецсимволы в строке для вставки в поле типа bytea

pg_end_copy
pg_escape_string
PostgreSQL
PHP Manual

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea — Экранирует спецсимволы в строке для вставки в поле типа bytea

Описание

string pg_escape_bytea ([ resource $connection ], string $data )

pg_escape_bytea() экранирует спецсимволы в строке с данными типа bytea. Возвращает экранированную строку.

Замечание:

При выборке SQL функцией SELECT данных типа bytea PostgreSQL возвращает значения в восьмеричной системе счисления с префиксом '\' (такие как \032). Пользователю необходимо вручную преобразовывать их в двоичный формат.

Функция поддерживается PostgreSQL версии 7.2 и выше. Для версий 7.2.0 и 7.2.1 значения должны быть преобразованы к типу bytea, когда включена мультибайтовая поддержка. Тогда как INSERT INTO test_table (image)VALUES ('$image_escaped'::bytea); в PostgreSQL 7.2.2 и выше не требует каких-либо преобразований. Исключение составляет случай, когда клиентская (frontend) кодировка не соответствует серверной (backend). При этом возникает ошибка мультибайтового потока, и пользователь должен привести данные к типу bytea, чтобы ее избежать.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

data

Строка, содержащая двоичные данные в виде текста, которые требуется поместить в поле типа bytea.

Возвращаемые значения

Возвращает строку, в которой экранированы все необходимые символы.

Список изменений

Версия | Описание
5.2.0 | Добавлен аргумент connection

Примеры

Пример #1 Пример использования pg_escape_bytea()

<?php
  // Подключение к базе данных
  $dbconn = pg_connect('dbname=foo');

  // Чтение бинарного файла
  $data = file_get_contents('image1.jpg');

  // Экранирование спецсимволов в строке с двоичными данными
  $escaped = pg_escape_bytea($data);

  // Вставка в таблицу базы данных
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Смотрите также

  • pg_unescape_bytea() - Убирает экранирование двоичных данных типа bytea
  • pg_escape_string() - Экранирование спецсимволов в строке для вставки в текстовое поле

pg_end_copy
pg_escape_string
PostgreSQL


Экранирование спецсимволов в строке для вставки в текстовое поле

pg_escape_bytea
pg_execute
PostgreSQL
PHP Manual

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string — Экранирование спецсимволов в строке для вставки в текстовое поле

Описание

string pg_escape_string ([ resource $connection ], string $data )

pg_escape_string() экранирует спецсимволы в строке для безопасной вставки в базу данных. Возвращает экранированную строку в формате PostgreSQL. Рекомендуется пользоваться этой функцией вместо addslashes(). Если колонка таблицы содержит данные типа bytea, используйте функцию pg_escape_bytea().

Замечание:

Функция поддерживается PostgreSQL версии 7.2 и выше.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

data

Исходная экранируемая строка.

Возвращаемые значения

Возвращает строку, в которой экранированы все необходимые символы.

Список изменений

Версия | Описание
5.2.0 | Добавлен аргумент connection

Примеры

Пример #1 Пример использования pg_escape_string()

<?php
  // Подключение к базе данных
  $dbconn = pg_connect('dbname=foo');

  // Чтение текстового файла (содержащего апострофы и обратные слеши)
  $data = file_get_contents('letter.txt');

  // Экранирование спецсимволов в строке
  $escaped = pg_escape_string($data);

  // Вставка в таблицу базы данных
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Смотрите также

  • pg_escape_bytea() - Экранирует спецсимволы в строке для вставки в поле типа bytea

pg_escape_bytea
pg_execute
PostgreSQL


Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат

pg_escape_string
pg_fetch_all_columns
PostgreSQL
PHP Manual

pg_execute

(PHP 5 >= 5.1.0)

pg_execute — Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат

Описание

resource pg_execute ([ resource $connection ], string $stmtname , array $params )

Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат.

pg_execute() аналог функции pg_query_params(), только вместо строки с запросом принимает имя предварительно подготовленного SQL запроса. Это позволяет многократно выполнять единожды созданные запросы с различными параметрами. Сам запрос должен быть заранее подготовлен в текущей сессии. pg_execute() поддерживается PostgreSQL версии 7.4 и выше. Функция не будет работать на соединениях с сервером ранних версий.

Аргументы функции те же, что и у pg_query_params(), за исключением имени предварительно составленного запроса, который передается вместо строки с запросом.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

stmtname

Имя подготовленного к исполнению запроса. Если передана пустая строка "", будет выполнен безымянный запрос. Имя и содержимое запроса должны быть подготовлены функцией pg_prepare(), pg_send_prepare() либо с помощью SQL-команды PREPARE.

params

Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д. в исходной строке запроса. Количество элементов массива должно точно совпадать с количеством псевдопеременных.

Внимание

Элементы массива будут преобразованы в строки.

Возвращаемые значения

Ресурс результата выполнения запроса при успешном выполнении. или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_execute()

<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");

// Подготовка запроса
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
// спецсимволы в строке "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Запуск на выполнение того же запроса, но с другим параметром
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Смотрите также

  • pg_prepare() - Посылает запрос на создание параметризованного SQL выражения и ждет его завершения
  • pg_send_prepare() - Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения
  • pg_query_params() - Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса

pg_escape_string
pg_fetch_all_columns
PostgreSQL


Выбирает все записи из одной колонки результата запроса и помещает их в массив

pg_execute
pg_fetch_all
PostgreSQL
PHP Manual

pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columns — Выбирает все записи из одной колонки результата запроса и помещает их в массив

Описание

array pg_fetch_all_columns ( resource $result [, int $column = 0 ] )

pg_fetch_all_columns() возвращает массив, содержащий все записи одной колонки результата запроса.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

column

Номер колонки результата запроса, начиная с нуля, данные из которой будут помещены в массив. Если параметр не задан, будет обработана первая (нулевая) колонка.

Возвращаемые значения

Массив значений колонки результата запроса.

FALSE, если аргумент column больше количества колонок в результате запроса, а также при прочих ошибках.

Примеры

Пример #1 Пример использования pg_fetch_all_columns()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

// Получить массив имен всех авторов
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Смотрите также

  • pg_fetch_all() - Выбирает все данные из результата запроса и помещает их в массив

pg_execute
pg_fetch_all
PostgreSQL


Выбирает все данные из результата запроса и помещает их в массив

pg_fetch_all_columns
pg_fetch_array
PostgreSQL
PHP Manual

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all — Выбирает все данные из результата запроса и помещает их в массив

Описание

array pg_fetch_all ( resource $result )

pg_fetch_all() возвращает массив содержащий все записи из результата запроса.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

Возвращаемые значения

Многомерный массив данных результата запроса. Каждая строка результата представляется массивом значений полей, индексированным именами этих полей.

FALSE, когда в результате больше нет строк и при прочих ошибках.

Примеры

Пример #1 Пример использования

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
    echo "Произошла ошибка.\n";
    exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
    echo "Произошла ошибка.\n";
    exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

Смотрите также

  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_fetch_all_columns
pg_fetch_array
PostgreSQL


Возвращает строку результата в виде массива

pg_fetch_all
pg_fetch_assoc
PostgreSQL
PHP Manual

pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array — Возвращает строку результата в виде массива

Описание

array pg_fetch_array ( resource $result [, int $row [, int $result_type = PGSQL_BOTH ]] )

pg_fetch_array() возвращает массив, соответствующий выбранной строке (записи).

pg_fetch_array() расширенная версия функции pg_fetch_row(). Эта функция способна сохранить данные не только с цифровыми индексами, но и с ассоциативными (имя поля). По умолчанию хранит и те и другие.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

pg_fetch_array() выполняется незначительно медленнее чем pg_fetch_row(), но значительно проще в использовании.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращенный функцией pg_query(), pg_query_params() или pg_execute() (и прочих).

row

Номер строки в result для выборки. Строки пронумерованы с 0 по возрастанию. Если параметр опущен или передан NULL будет выбрана следующая строка.

result_type

Необязательный параметр для управления типом индексации возвращаемого массива (array). Параметр result_type обязателен и может принимать следующие значения: PGSQL_ASSOC, PGSQL_NUM и PGSQL_BOTH. При указании PGSQL_NUM, pg_fetch_array() вернет массив с цифровыми индексами, в случае PGSQL_ASSOC вернет только ассоциативные индексы, а в случае PGSQL_BOTH (используется по умолчанию) -- цифровые и ассоциативные индексы.

Возвращаемые значения

Массив (array) с цифровыми индексами (начиная с 0), либо ассоциативнми (по имени поля), либо с обеими типами индексов. Каждое значение в массиве (array) представлено как строка (string). Значение NULL возвращается как NULL.

Функция возвращает FALSE если row выходит за рамки количества строк в выборке, или отсутствия строк, или в случае любой другой ошибки.

Список изменений

Версия | Описание
4.1.0 | Параметр row стал необязательным.

Примеры

Пример #1 Пример использования pg_fetch_array()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";

// С версии PHP 4.1.0 параметр row стал опциональным,
// для передечи result_type вместо row можно передать NULL.
// Успешные вызовы pg_fetch_array вернут следующий ряд.

$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";

?>

Смотрите также

  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_fetch_all
pg_fetch_assoc
PostgreSQL


Выбирает строку результата запроса и помещает данные в ассоциативный массив

pg_fetch_array
pg_fetch_object
PostgreSQL
PHP Manual

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc — Выбирает строку результата запроса и помещает данные в ассоциативный массив

Описание

array pg_fetch_assoc ( resource $result [, int $row ] )

pg_fetch_assoc() возвращает ассоциативный массив содержащий записи из строки результата запроса.

Результат выполнения pg_fetch_assoc() тот же, что и у pg_fetch_array() с параметром PGSQL_ASSOC. Функция возвращает только ассоциативный массив. Если нужен численно индексированный массив, используйте функцию pg_fetch_row().

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

pg_fetch_assoc() не намного медленней и значительно проще в использовании, чем pg_fetch_row().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер выбираемой из результата запроса строки. Нумерация начинается с нуля. Если аргумент опущен или равен NULL, берется следующая по очереди строка.

Возвращаемые значения

Ассоциативный массив, индексированный именами полей выборки. Значения массива представляются в виде текстовых строк. Значения NULL базы данных преобразуются в PHP NULL.

FALSE, когда row превышает число строк в результате запроса, когда строк в результате не осталось, и при прочих ошибках.

Список изменений

Версия | Описание
4.1.0 | Аргумент row стал необязательным.

Примеры

Пример #1 Пример использования pg_fetch_assoc()

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

Смотрите также

  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_fetch_array
pg_fetch_object
PostgreSQL


Выбирает строку результата запроса и возвращает данные в виде объекта

pg_fetch_assoc
pg_fetch_result
PostgreSQL
PHP Manual

pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта

Описание

object pg_fetch_object ( resource $result [, int $row [, int $result_type = PGSQL_ASSOC ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() возвращает объект, свойства которого соответствуют именам полей выборки. Также функция может создать экземпляр конкретного класса и передать параметры его конструктору.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

По скорости функция идентична pg_fetch_array() и немного медленней pg_fetch_row() (разница незначительна).

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер выбираемой из результата запроса строки. Нумерация начинается с нуля. Если аргумент опущен или равен NULL, берется следующая по очереди строка.

result_type

Устарел и не используется.

class_name

Имя класса создаваемого и возвращаемого объекта. Если не задано, функция создаст экземпляр класса stdClass.

params

Необязательный аргумент. Массив параметров для передачи в конструктор создаваемого объекта.

Возвращаемые значения

object, имена и значения свойств которого соответствуют именам и значениям полей результата запроса. Значения NULL базы данных преобразуются в PHP NULL.

FALSE, когда row превышает число строк в результате запроса, когда строк в результате не осталось, и при прочих ошибках.

Список изменений

Версия | Описание
5.0.0 | Добавлены аргументы class_name и params. Устаревший вариант с result_type оставлен для обратной совместимости.
4.3.0 | Значение по-умолчанию аргумента result_type изменено с PGSQL_BOTH на PGSQL_ASSOC с тех пор как перестали использоваться численно индексированные массивы.
4.1.0 | Аргумент row стал необязательным.

Примеры

Пример #1 Пример использования pg_fetch_object()

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
  echo "Невозможно соединиться с postgres базой $database\n";
  exit;
}

$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");

while ($data = pg_fetch_object($qu)) {
  echo $data->author . " (";
  echo $data->year . "): ";
  echo $data->title . "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_assoc() - Выбирает строку результата запроса и помещает данные в ассоциативный массив
  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_fetch_assoc
pg_fetch_result
PostgreSQL


Возвращает запись из результата запроса

pg_fetch_object
pg_fetch_row
PostgreSQL
PHP Manual

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result — Возвращает запись из результата запроса

Описание

string pg_fetch_result ( resource $result , int $row , mixed $field )
string pg_fetch_result ( resource $result , mixed $field )

pg_fetch_result() возвращает значение ячейки таблицы результата запроса.

Замечание:

Прежнее наименование функции: pg_result().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер выбираемой из результата запроса строки. Нумерация начинается с нуля. Если аргумент опущен, берется следующая по очереди строка.

field

Имя или номер поля выбираемого значения. Поля нумеруются с нуля.

Возвращаемые значения

Логические значения возвращаются как "t" или "f". Остальные типы, включая массивы, возвращаются в виде строк в стандартном формате PostgreSQL, аналогично выводу программы psql. Значения NULL базы данных преобразуются в PHP NULL.

FALSE, когда row превышает число строк в результате запроса, и при прочих ошибках.

Примеры

Пример #1 Пример использования pg_fetch_result()

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Первое поле во второй строчке результата это: ", $val, "\n";
?>

Результат выполнения данного примера:

Первое поле во второй строчке результата это: 2

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_fetch_array() - Возвращает строку результата в виде массива

pg_fetch_object
pg_fetch_row
PostgreSQL


Выбирает строку результата запроса и помещает данные в массив

pg_fetch_result
pg_field_is_null
PostgreSQL
PHP Manual

pg_fetch_row

(PHP 4, PHP 5)

pg_fetch_row — Выбирает строку результата запроса и помещает данные в массив

Описание

array pg_fetch_row ( resource $result [, int $row ] )

pg_fetch_row() выбирает одну строку из результата запроса result.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер выбираемой из результата запроса строки. Нумерация начинается с нуля. Если аргумент опущен или равен NULL, берется следующая по очереди строка.

Возвращаемые значения

Численно индексированный массив значений из строки результата запроса. Индексация начинается с нуля. Значения представляются в виде строк. Значения NULL базы данных преобразуются в PHP NULL.

FALSE, когда row превышает число строк в результате запроса, когда строк в результате не осталось, и при прочих ошибках.

Список изменений

Версия | Описание
4.1.0 | Аргумент row стал необязательным.

Примеры

Пример #1 Пример использования pg_fetch_row()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_fetch_result
pg_field_is_null
PostgreSQL


Проверка поля на значение SQL NULL

pg_fetch_row
pg_field_name
PostgreSQL
PHP Manual

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5)

pg_field_is_null — Проверка поля на значение SQL NULL

Описание

int pg_field_is_null ( resource $result , int $row , mixed $field )
int pg_field_is_null ( resource $result , mixed $field )

pg_field_is_null() проверяет, содержит ли ячейка результата запроса значение SQL NULL.

Замечание:

Прежнее наименование функции: pg_fieldisnull().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер строки результата запроса с нужным полем. Нумерация строк начинается с нуля. Если аргумент не задан, будет выбрана текущая строка.

field

Номер поля (начиная с нуля) как integer или имя поля как string.

Возвращаемые значения

Возвращает 1, если выбранное значение SQL NULL, 0 для других значений. Функция вернет FALSE, если номер строки будет вне допустимого диапазона, и при прочих ошибках.

Примеры

Пример #1 Пример использования pg_field_is_null()

<?php
  $dbconn = pg_connect("dbname=publisher") or die ("Невозможно соединиться с базой");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "Значение поля year null.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "Значение поля year не null.\n";
    }
 }
?>

pg_fetch_row
pg_field_name
PostgreSQL


Возвращает наименование поля

pg_field_is_null
pg_field_num
PostgreSQL
PHP Manual

pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name — Возвращает наименование поля

Описание

string pg_field_name ( resource $result , int $field_number )

pg_field_name() возвращает имя поля результата запроса result с порядковым номером field_number. Нумерация полей начинается с нуля.

Замечание:

Прежнее название функции: pg_fieldname().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_number

Номер поля, начиная с нуля.

Возвращаемые значения

Наименование поля, либо FALSE в случае ошибки.

Примеры

Пример #1 Получение информации о полях выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Результат выполнения данного примера:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Смотрите также

  • pg_field_num() - Возвращает порядковый номер именованного поля

pg_field_is_null
pg_field_num
PostgreSQL


Возвращает порядковый номер именованного поля

pg_field_name
pg_field_prtlen
PostgreSQL
PHP Manual

pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num — Возвращает порядковый номер именованного поля

Описание

int pg_field_num ( resource $result , string $field_name )

pg_field_num() вернет порядковый номер поля с именем field_name в результате запроса result.

Замечание:

Прежнее название функции: pg_fieldnum().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_name

Наименование поля.

Возвращаемые значения

Номер поля (начиная с нуля), либо -1 в случае ошибки.

Примеры

Пример #1 Получение информации о полях выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Столбец 'title' - это поле с номером: ", pg_field_num($res, 'title');
?>

Результат выполнения данного примера:

Столбец 'title' - это поле с номером: 2

Смотрите также

  • pg_field_name() - Возвращает наименование поля

pg_field_name
pg_field_prtlen
PostgreSQL


Возвращает количество печатаемых символов

pg_field_num
pg_field_size
PostgreSQL
PHP Manual

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen — Возвращает количество печатаемых символов

Описание

int pg_field_prtlen ( resource $result , int $row_number , mixed $field_name_or_number )
int pg_field_prtlen ( resource $result , mixed $field_name_or_number )

pg_field_prtlen() возвращает длину строки (количество символов) значения поля при выводе результата result. Строки нумеруются с нуля. Функция вернет FALSE в случае ошибки.

field_name_or_number Номер или имя выбранного поля. Может передаваться либо как integer, либо как string. Если передается значение типа integer, PHP распознает его как номер, в противном случае как наименование поля.

Ознакомьтесь с примерами на странице с описанием функции pg_field_name().

Замечание:

Прежнее название функции: pg_fieldprtlen().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

row

Номер строки результата запроса с нужным полем. Нумерация строк начинается с нуля. Если аргумент не задан, будет выбрана текущая строка.

Возвращаемые значения

Длина строки при выводе значения поля, либо FALSE в случае ошибки.

Примеры

Пример #1 Получение информации о полях выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Результат выполнения данного примера:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Смотрите также

  • pg_field_size() - Возвращает размер поля

pg_field_num
pg_field_size
PostgreSQL


Возвращает размер поля

pg_field_prtlen
pg_field_table
PostgreSQL
PHP Manual

pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size — Возвращает размер поля

Описание

int pg_field_size ( resource $result , int $field_number )

pg_field_size() возвращает объем памяти (в байтах), занимаемый значением поля результата запроса PostgreSQL result.

Замечание:

Прежнее название функции: pg_fieldsize().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_number

Порядковый номер поля результата запроса, начиная с нуля.

Возвращаемые значения

Требуемый объем памяти (в байтах) для хранения значения поля. -1 указывает на переменный размер поля. FALSE в случае ошибки.

Примеры

Пример #1 Получение информации о полях выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Результат выполнения данного примера:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Смотрите также

  • pg_field_prtlen() - Возвращает количество печатаемых символов
  • pg_field_type() - Возвращает имя типа заданного поля

pg_field_prtlen
pg_field_table
PostgreSQL


Возвращает наименование или идентификатор таблицы, содержащей заданное поле

pg_field_size
pg_field_type_oid
PostgreSQL
PHP Manual

pg_field_table

(PHP 5 >= 5.2.0)

pg_field_table — Возвращает наименование или идентификатор таблицы, содержащей заданное поле

Описание

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only = false ] )

pg_field_table() возвращает имя таблицы, которой принадлежит заданное поле. Если в качестве аргумента oid_only передается TRUE, функция вернет oid-идентификатор таблицы.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_number

Порядковый номер поля результата запроса, начиная с нуля.

oid_only

По-умолчанию функция возвращает название таблицы, содержащей заданное поле. Если параметр oid_only равен TRUE, то функция вернет oid таблицы.

Возвращаемые значения

При успешном завершении название таблицы или ее oid. Либо FALSE при неудаче.

Примеры

Пример #1 Получение информации о поле выборки

<?php
$dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

Результатом выполнения данного примера будет что-то подобное:

foo
14379580

bool(false)

Примечания

Замечание:

Возврат oid таблицы значительно быстрее, чем ее названия, потому как определение названия требует выполнения дополнительного запроса к системной таблице базы данных.

Смотрите также

  • pg_field_name() - Возвращает наименование поля
  • pg_field_type() - Возвращает имя типа заданного поля

pg_field_size
pg_field_type_oid
PostgreSQL


Возвращает идентификатор типа заданного поля

pg_field_table
pg_field_type
PostgreSQL
PHP Manual

pg_field_type_oid

(PHP 5 >= 5.1.0)

pg_field_type_oid — Возвращает идентификатор типа заданного поля

Описание

int pg_field_type_oid ( resource $result , int $field_number )

pg_field_type_oid() возвращает целочисленный идентификатор базового типа (OID) значений колонки результата запроса result с номером field_number.

Более подробную информацию о типе значений можно получить, отправив запрос с полученным OID к системной таблице PostgreSQL pg_type. Функция PostgreSQL format_type() преобразует OID в стандартное имя типа SQL.

Замечание:

Если в качестве типа значений используется PostgreSQL домен (вместо базового типа), функция вернет OID типа внутри домена, а не OID самого домена.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_number

Порядковый номер поля, начиная с нуля.

Возвращаемые значения

OID базового типа значений поля, либо FALSE в случае ошибки.

Примеры

Пример #1 Получение информации о полях выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  // Допустим, 'title' имеет тип varchar
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

Результат выполнения данного примера:

Title field type OID: 1043

Смотрите также

  • pg_field_type() - Возвращает имя типа заданного поля
  • pg_field_prtlen() - Возвращает количество печатаемых символов
  • pg_field_name() - Возвращает наименование поля

pg_field_table
pg_field_type
PostgreSQL


Возвращает имя типа заданного поля

pg_field_type_oid
pg_free_result
PostgreSQL
PHP Manual

pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type — Возвращает имя типа заданного поля

Описание

string pg_field_type ( resource $result , int $field_number )

pg_field_type() возвращает строку, содержащую имя базового типа значений колонки результата запроса result с номером field_number.

Замечание:

Если в качестве типа значений используется PostgreSQL домен (вместо базового типа), функция вернет имя типа внутри домена, а не имя самого домена.

Замечание:

Прежнее название функции: pg_fieldtype().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

field_number

Порядковый номер поля, начиная с нуля.

Возвращаемые значения

Строка, содержащая имя базового типа значений поля, либо FALSE в случае ошибки.

Примеры

Пример #1 Получение информации о поле выборки

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с базой");

  // Положим, 'title' имеет тип varchar
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type: ", pg_field_type($res, 0);
?>

Результат выполнения данного примера:

Title field type: varchar

Смотрите также

  • pg_field_prtlen() - Возвращает количество печатаемых символов
  • pg_field_name() - Возвращает наименование поля
  • pg_field_type_oid() - Возвращает идентификатор типа заданного поля

pg_field_type_oid
pg_free_result
PostgreSQL


Очистка результата запроса и освобождение памяти

pg_field_type
pg_get_notify
PostgreSQL
PHP Manual

pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result — Очистка результата запроса и освобождение памяти

Описание

bool pg_free_result ( resource $result )

pg_free_result() освобождает память, занятую результатом запроста PostgreSQL resource.

Вызывать эту функцию следует только в случае нехватки памяти при выполнении скрипта. В любом случае память будет освобождена автоматически по окончании работы скрипта.

Замечание:

Прежнее название функции: pg_freeresult().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_free_result()

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Первое поле во второй строчке: ", $val, "\n";

pg_free_result($res);
?>

Результат выполнения данного примера:

Первое поле во второй строчке: 2

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_query_params() - Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
  • pg_execute() - Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат

pg_field_type
pg_get_notify
PostgreSQL


Получение SQL NOTIFY сообщения

pg_free_result
pg_get_pid
PostgreSQL
PHP Manual

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify — Получение SQL NOTIFY сообщения

Описание

array pg_get_notify ( resource $connection [, int $result_type ] )

pg_get_notify() получает уведомления, сгенерированные командой SQL NOTIFY. Для получения уведомлений используйте команду SQL LISTEN.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

result_type

Необязательный аргумент, указывающий, каким образом возвращаемый массив (array) будет проиндексирован.result_type - константа, и может принимать следующие значения: PGSQL_ASSOC, PGSQL_NUM или PGSQL_BOTH. При передаче PGSQL_ASSOC функция pg_get_notify() вернет ассоциативный массив, при передаче PGSQL_NUM - численно индексированный, в случае PGSQL_BOTH (по умолчанию) будут возвращены оба массива.

Возвращаемые значения

Массив(array), содержащий NOTIFY сообщение и PID сервера БД. Если никаких уведомлений не ожидается, функция вернет FALSE.

Примеры

Пример #1 PostgreSQL NOTIFY сообщение

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

// Слушаем сообщение 'author_updated' из другого процесса
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "Нет сообщений\n";
} else {
  print_r($notify);
}
?>

Смотрите также

  • pg_get_pid() - Получает ID процесса сервера БД

pg_free_result
pg_get_pid
PostgreSQL


Получает ID процесса сервера БД

pg_get_notify
pg_get_result
PostgreSQL
PHP Manual

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid — Получает ID процесса сервера БД

Описание

int pg_get_pid ( resource $connection )

pg_get_pid() получает PID сервера базы данных. PID полезен, когда требуется определить, какой процесс отправил NOTIFY сообщение, принятое функцией pg_get_notify() (точнее узнать, сервер его отправил или какой-то другой процесс).

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

ID процесса сервера баз данных.

Примеры

Пример #1 PID сервера PostgreSQL

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

// PID сервера БД. Сравните его с PID возвращаемым pg_get_notify()
$pid = pg_get_pid($conn);
?>

Смотрите также

  • pg_get_notify() - Получение SQL NOTIFY сообщения

pg_get_notify
pg_get_result
PostgreSQL


Получение результата асинхронного запроса

pg_get_pid
pg_host
PostgreSQL
PHP Manual

pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result — Получение результата асинхронного запроса

Описание

resource pg_get_result ([ resource $connection ] )

pg_get_result() получает ресурс результата асинхронного
запроса, запущенного функциями pg_send_query(),
pg_send_query_params() или pg_send_execute().

pg_send_query() и другие функции, посылающие асинхронные запросы, может посылать сразу несколько запросов на сервер. Функция pg_get_result() получит результаты всех запросов по очереди.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

Ресурс результата запроса, либо FALSE, когда доступных результатов больше нет.

Примеры

Пример #1 Пример использования pg_get_result()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с сервером");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Первый вызов pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 имеет $rows1 записей\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Второй вызов pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 имеет $rows2 записей\n";
?>

Результат выполнения данного примера:

Первый вызов pg_get_result(): Resource id #3
Resource id #3 имеет 3 записей

Второй вызов pg_get_result(): Resource id #4
Resource id #4 имеет 1 записей

Смотрите также

  • pg_send_query() - Отправляет асинхронный запрос

pg_get_pid
pg_host
PostgreSQL


Возвращает имя хоста, соответствующего подключению

pg_get_result
pg_insert
PostgreSQL
PHP Manual

pg_host

(PHP 4, PHP 5)

pg_host — Возвращает имя хоста, соответствующего подключению

Описание

string pg_host ([ resource $connection ] )

pg_host() возвращает имя хоста, с которым установлено заданное PostgreSQL соединение connection.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Строка, содержащая имя подключенного через connection хоста, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_host()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Успешно подключились к : " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL

pg_get_result
pg_insert
PostgreSQL


Заносит данные из массива в таблицу базы данных

pg_host
pg_last_error
PostgreSQL
PHP Manual

pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert — Заносит данные из массива в таблицу базы данных

Описание

mixed pg_insert ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_insert() вставляет записи из массива assoc_array в таблицу table_name. Если задан аргумент options, значения массива будут преобразованы функцией pg_convert() соответствии с параметрами из этого аргумента.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы для вставки данных. Количество колонок в таблице table_name должно быть не меньше, чем элементов в массиве assoc_array.

assoc_array

Ассоциативный массив(array), в котором ключи являются названиями колонок таблицы table_name, а значения - записи, которые необходимо вставить в эти колонки.

options

Комбинация констант PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC и PGSQL_DML_STRING. Если в числе прочих передается PGSQL_DML_STRING в параметре options, функция вернет строку запроса.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Возвращает строку(string), если PGSQL_DML_STRING включена в список параметров аргумента options.

Примеры

Пример #1 Пример использования pg_insert()

<?php
  $dbconn = pg_connect('dbname=foo');
  // Это безопасно с тех пор как $_POST преобразуется автоматически
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "Данные из POST успешно внесены в журнал\n";
  } else {
      echo "Пользователь прислал неверные данные\n";
  }
?>

Смотрите также

  • pg_convert() - Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_host
pg_last_error
PostgreSQL


Получает сообщение о последней произошедшей ошибке на соединении с базой данных

pg_insert
pg_last_notice
PostgreSQL
PHP Manual

pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error — Получает сообщение о последней произошедшей ошибке на соединении с базой данных

Описание

string pg_last_error ([ resource $connection ] )

pg_last_error() возвращает сообщение о последней ошибке на заданном соединении connection.

Сообщения об ошибках могут перезаписываться при внутренних вызовах PostgreSQL (libpq) функций. Если внутри модуля PostgreSQL произойдет несколько ошибок, сообщение может оказаться неинформативным.

Для обработки ошибок лучше использовать функции pg_result_error(), pg_result_error_field(), pg_result_status() и pg_connection_status().

Замечание:

Прежнее название функции: pg_errormessage().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Строка, содержащая сообщение о последней ошибке, произошедшей на соединении connection, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_last_error()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с сервером");

  // Неудачный запрос
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Смотрите также

  • pg_result_error() - Возвращает сообщение об ошибке, связанной с запросом результата
  • pg_result_error_field() - Возвращает конкретное поле из отчета об ошибках

pg_insert
pg_last_notice
PostgreSQL


Возвращает последнее уведомление от сервера PostgreSQL

pg_last_error
pg_last_oid
PostgreSQL
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL

Описание

string pg_last_notice ( resource $connection )

pg_last_notice() возвращает последнее уведомление сгенерированное сервером PostgreSQL на заданном соединении connection. В некоторых случаях сервер посылает уведомления, например при создании в таблице колонки типа SERIAL.

Благодаря pg_last_notice() не требуется делать лишних запросов, чтобы узнать посылала ваша транзакция уведомления или нет.

Можно отключить отслеживание уведомлений установкой в 1 параметра pgsql.ignore_notice в файле php.ini.

Можно отключить журналирование уведомлений установкой в 0 параметра pgsql.log_notice в файле php.ini. Пока этот параметр установлен в 0, уведомления невозможно записать в журнал выполнения.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

Строка, содержащая последнее уведомление на заданном соединении, либо FALSE в случае ошибки.

Список изменений

Версия | Описание
4.3.0 | Функция реализована полностью. Ранние версии не использовали параметр соединения.
4.3.0 | В php.ini добавлены директивы pgsql.ignore_notice и pgsql.log_notice.
4.0.6 | В PHP 4.0.6 были проблемы с обработкой уведомлений. Использование модуля PostgreSQL с PHP 4.0.6 не рекомендуется даже если вы не используете функцию pg_last_notice().

Примеры

Пример #1 Пример использования pg_last_notice()

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res = pg_query("CREATE TABLE test (id SERIAL)");

  $notice = pg_last_notice($pgsql_conn);

  echo $notice;
?>

Результат выполнения данного примера:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_last_error() - Получает сообщение о последней произошедшей ошибке на соединении с базой данных

pg_last_error
pg_last_oid
PostgreSQL


Возвращает OID последней добавленной в базу строки

pg_last_notice
pg_lo_close
PostgreSQL
PHP Manual

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid — Возвращает OID последней добавленной в базу строки

Описание

string pg_last_oid ( resource $result )

pg_last_oid() используется для определения OID, соответствующего вставленной в таблицу строке.

Поле OID таблиц баз данных стало необязательным, начиная с версии PostgreSQL 7.2, а с версии 8.1 перестанет добавляться в таблицы по-умолчанию. Если поле OID таблицы не задано, используйте функцию pg_result_status() для проверки успешности вставки записей в таблицу.

Чтобы получить значение SERIAL поля после вставки строки в таблицу, используйте функцию PostgreSQL CURRVAL, передав ей имя последовательности, значение которой нужно получить. Чтобы узнать имя последовательности, необходимо использовать функцию pg_get_serial_sequence (PostgreSQL 8.0).

В PostgreSQL 8.1 есть функция LASTVAL, возвращающая значение наиболее часто используемой за сессию последовательности. Так можно избежать необходимость задавать название последовательности, таблицы или колонки.

Замечание:

Прежнее название функции: pg_getlastoid().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

Возвращаемые значения

Строка, содержащая OID последней вставленной строки на соединении connection, либо FALSE, если произошла ошибка или поле OID недоступно.

Примеры

Пример #1 Пример использования pg_last_oid()

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  $res2 = pg_query("INSERT INTO test VALUES (1)");

  $oid = pg_last_oid($res2);
?>

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_result_status() - Возвращает состояние результата запроса

pg_last_notice
pg_lo_close
PostgreSQL


Закрывает большой объект

pg_last_oid
pg_lo_create
PostgreSQL
PHP Manual

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close — Закрывает большой объект

Описание

bool pg_lo_close ( resource $large_object )

pg_lo_close() закрывает большой объект. large_object - ресурс большого объекта, созданный функцией pg_lo_open().

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_loclose().

Список параметров

result

Ресурс большого объекта PostgreSQL (large object, LOB) возвращаемый функцией pg_lo_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_lo_close()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_open() - Открывает большой объект базы данных
  • pg_lo_create() - Создает большой объект
  • pg_lo_import() - Импорт большого объекта из файла

pg_last_oid
pg_lo_create
PostgreSQL


Создает большой объект

pg_lo_close
pg_lo_export
PostgreSQL
PHP Manual

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create — Создает большой объект

Описание

int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )

pg_lo_create() создает большой объект и возвращает его OID. Режимы доступа PostgreSQL INV_READ, INV_WRITE, и INV_ARCHIVE не поддерживаются, объект всегда создается с доступом на чтение и запись. Режим INV_ARCHIVE убран из PostgreSQL версий 6.3 и выше.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Вместо использования интерфейса больших объектов (который не имеет контроля доступа и весьма громоздкий сам по себе) пользуйтесь полями PostgreSQL типа bytea для хранения двоичных данных и функцией pg_escape_bytea() для их экранирования.

Замечание:

Прежнее название функции: pg_locreate().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

object_id

Если задан аргумент object_id, функция попытается создать объект с этим идентификатором, в противном случае будет использован свободный идентификатор, назначенный сервером. Этот аргумент появился в PHP 5.3 и основан на функционале, впервые реализованном в PostgreSQL 8.1.

Возвращаемые значения

OID большого объекта, либо FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный параметр object_id.

Примеры

Пример #1 Пример использования pg_lo_create()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

pg_lo_close
pg_lo_export
PostgreSQL


Вывод большого объекта в файл

pg_lo_create
pg_lo_import
PostgreSQL
PHP Manual

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export — Вывод большого объекта в файл

Описание

bool pg_lo_export ([ resource $connection ], int $oid , string $pathname )

pg_lo_export() выбирает большой объект из базы данных и сохраняет его данные локально в файловой системе.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_loexport().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

oid

OID большого объекта в базе данных.

pathname

Полный путь и имя файла в клиентской файловой системе для записи данных большого объекта.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_lo_export()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_import() - Импорт большого объекта из файла

pg_lo_create
pg_lo_import
PostgreSQL


Импорт большого объекта из файла

pg_lo_export
pg_lo_open
PostgreSQL
PHP Manual

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import — Импорт большого объекта из файла

Описание

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() создает большой объект в базе данных, используя локальный файл в качестве источника данных.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание:

Прежнее название функции: pg_loimport().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

pathname

Полный путь и имя файла в клиентской файловой системе для чтения данных большого объекта.

object_id

Если задан аргумент object_id, функция попытается создать объект с этим идентификатором, в противном случае будет использован свободный идентификатор, назначенный сервером. Этот аргумент появился в PHP 5.3 и основан на функционале, впервые реализованном в PostgreSQL 8.1.

Возвращаемые значения

OID созданного большого объекта, либо FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный аргумент object_id.
4.2.0 | Определение функции изменено. Прежнее определение: int pg_lo_import ( string $pathname [, resource $connection ] )

Примеры

Пример #1 Пример использования pg_lo_import()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_export() - Вывод большого объекта в файл
  • pg_lo_open() - Открывает большой объект базы данных

pg_lo_export
pg_lo_open
PostgreSQL


Открывает большой объект базы данных

pg_lo_import
pg_lo_read_all
PostgreSQL
PHP Manual

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open — Открывает большой объект базы данных

Описание

resource pg_lo_open ( resource $connection , int $oid , string $mode )

pg_lo_open() открывает большой объект базы данных и возвращает его ресурс.

Внимание

Не следует закрывать соединение с базой данных до того, как завершится работа с большим объектом.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_loopen().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

oid

OID большого объекта в базе данных.

mode

Режим доступа к объекту. Возможные значения: "r" - только для чтения, "w" - только для записи, "rw" - для чтения и записи.

Возвращаемые значения

Ресурс большого объекта, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_lo_open()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_close() - Закрывает большой объект
  • pg_lo_create() - Создает большой объект

pg_lo_import
pg_lo_read_all
PostgreSQL


Читает содержимое большого объекта и посылает напрямую в броузер

pg_lo_open
pg_lo_read
PostgreSQL
PHP Manual

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all — Читает содержимое большого объекта и посылает напрямую в броузер

Описание

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() читает большой объект и посылает данные напрямую в броузер после отправки всех необходимых заголовков. Используется в основном для пересылки двоичных данных, таких как изображения или звук.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_loreadall().

Список параметров

large_object

Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().

Возвращаемые значения

Количество прочитанных байт, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_lo_read_all()

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_read() - Читает данные большого объекта

pg_lo_open
pg_lo_read
PostgreSQL


Читает данные большого объекта

pg_lo_read_all
pg_lo_seek
PostgreSQL
PHP Manual

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read — Читает данные большого объекта

Описание

string pg_lo_read ( resource $large_object [, int $len = 8192 ] )

pg_lo_read() читает len байт большого объекта и возвращает их в виде строки.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_loread().

Список параметров

large_object

Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().

len

Необязательный аргумент. Количество байт, которые необходимо прочитать.

Возвращаемые значения

Строка(string), содержащая len байт большого объекта, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_lo_read()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

Смотрите также

  • pg_lo_read_all() - Читает содержимое большого объекта и посылает напрямую в броузер

pg_lo_read_all
pg_lo_seek
PostgreSQL


Перемещает внутренний указатель большого объекта

pg_lo_read
pg_lo_tell
PostgreSQL
PHP Manual

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek — Перемещает внутренний указатель большого объекта

Описание

bool pg_lo_seek ( resource $large_object , int $offset [, int $whence = PGSQL_SEEK_CUR ] )

pg_lo_seek() перемещает внутренний указатель большого объекта.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Список параметров

large_object

Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().

offset

Количество байт, на сколько требуется переместить указатель.

whence

Одна из констант: PGSQL_SEEK_SET (перемещать от начала объекта), PGSQL_SEEK_CUR (перемещать с текущей позиции) или PGSQL_SEEK_END (отступать от конца объекта).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_lo_seek()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Пропустить первые 50000 байт
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Прочитать следующие 10000 байт
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Смотрите также

  • pg_lo_tell() - Возвращает текущее положение внутреннего указателя большого объекта

pg_lo_read
pg_lo_tell
PostgreSQL


Возвращает текущее положение внутреннего указателя большого объекта

pg_lo_seek
pg_lo_unlink
PostgreSQL
PHP Manual

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта

Описание

int pg_lo_tell ( resource $large_object )

pg_lo_tell() возвращает текущую позицию (отступ от начала) внутреннего указателя большого объекта.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Список параметров

large_object

Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().

Возвращаемые значения

Текущая позиция внутреннего указателя (количество байт от начала) большого объекта. В случае ошибки функция вернет отрицательное значение.

Примеры

Пример #1 Пример использования pg_lo_tell()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Пропустить первые 50000 байт
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Проверим, на сколько мы отступили
   $offset = pg_lo_tell($handle);
   echo "Seek position is: $offset";
   pg_query($database, "commit");
?>

Результат выполнения данного примера:

Seek position is: 50000

Смотрите также

  • pg_lo_seek() - Перемещает внутренний указатель большого объекта

pg_lo_seek
pg_lo_unlink
PostgreSQL


Удаление большого объекта

pg_lo_tell
pg_lo_write
PostgreSQL
PHP Manual

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink — Удаление большого объекта

Описание

bool pg_lo_unlink ( resource $connection , int $oid )

pg_lo_unlink() удаляет большой объект с идентификатором oid.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_lounlink().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

oid

OID большого объекта в базе данных.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_lo_unlink()

<?php
   // OID удаляемого объекта
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_create() - Создает большой объект
  • pg_lo_import() - Импорт большого объекта из файла

pg_lo_tell
pg_lo_write
PostgreSQL


Записывает данные в большой объект

pg_lo_unlink
pg_meta_data
PostgreSQL
PHP Manual

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write — Записывает данные в большой объект

Описание

int pg_lo_write ( resource $large_object , string $data [, int $len ] )

pg_lo_write() записывает данные в большой объект, начиная с текущей позиции внутреннего указателя.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание:

Прежнее название функции: pg_lowrite().

Список параметров

large_object

Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().

data

Данные для записи в большой объект. Если аргумент len задан и меньше размера data, то записаны будут только len байт.

len

Необязательный аргумент. Максимальное количество записываемых байт. Должен быть больше нуля и не превышать размер data. По умолчанию принимается равным размеру data.

Возвращаемые значения

Количество записанных в большой объект байт, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_lo_write()

<?php
   $doc_oid = 189762345;
   $data = "This will overwrite the start of the large object.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

Смотрите также

  • pg_lo_create() - Создает большой объект
  • pg_lo_open() - Открывает большой объект базы данных

pg_lo_unlink
pg_meta_data
PostgreSQL


Получение метаданных таблицы

pg_lo_write
pg_num_fields
PostgreSQL
PHP Manual

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data — Получение метаданных таблицы

Описание

array pg_meta_data ( resource $connection , string $table_name )

pg_meta_data() возвращает определение таблицы table_name в виде массива.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Название таблицы.

Возвращаемые значения

Массив, содержащий определение таблицы, либо FALSE в случае ошибки.

Примеры

Пример #1 Получение метаданных таблицы

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с сервером");

  $meta = pg_meta_data($dbconn, 'authors');
  if (is_array($meta)) {
      echo '<pre>';
      var_dump($meta);
      echo '</pre>';
  }
?>

Результат выполнения данного примера:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Смотрите также

  • pg_convert() - Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_lo_write
pg_num_fields
PostgreSQL


Возвращает количество полей в выборке

pg_meta_data
pg_num_rows
PostgreSQL
PHP Manual

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields — Возвращает количество полей в выборке

Описание

int pg_num_fields ( resource $result )

pg_num_fields() возвращает количество полей (столбцов) в результате запроса PostgreSQL.

Замечание:

Ранее функция называлась pg_numfields().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (и прочих).

Возвращаемые значения

Количество полей (столбцов) в выборке. В случае ошибки возвращает -1.

Примеры

Пример #1 Пример использования pg_num_fields()

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo "Возвращено полей: " . $num . ".\n";
?>

Результат выполнения данного примера:

Возвращено полей: 2.

Смотрите также

  • pg_num_rows() - Возвращает количество строк в выборке
  • pg_affected_rows() - Возвращает количество затронутых запросом записей (кортежей)

pg_meta_data
pg_num_rows
PostgreSQL


Возвращает количество строк в выборке

pg_num_fields
pg_options
PostgreSQL
PHP Manual

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows — Возвращает количество строк в выборке

Описание

int pg_num_rows ( resource $result )

pg_num_rows() возвращает количество строк в результате запроса PostgreSQL.

Замечание:

Ранее функция называлась pg_numrows().

Список параметров

result

Результат запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (и прочими).

Возвращаемые значения

Количество строк в выборке. В случае ошибки возвращает -1.

Примеры

Пример #1 Пример использования pg_num_rows()

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo "Возвращено строк: " . $rows . ".\n";
?>

Результат выполнения данного примера:

Возвращено строк: 1.

Смотрите также

  • pg_num_fields() - Возвращает количество полей в выборке
  • pg_affected_rows() - Возвращает количество затронутых запросом записей (кортежей)

pg_num_fields
pg_options
PostgreSQL


Получение параметров соединения с сервером баз данных

pg_num_rows
pg_parameter_status
PostgreSQL
PHP Manual

pg_options

(PHP 4, PHP 5)

pg_options — Получение параметров соединения с сервером баз данных

Описание

string pg_options ([ resource $connection ] )

pg_options() возвращает строку, содержащую параметры соединения PostgreSQL connection.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Строка, содержащая параметры соединения connection, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_options()

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL

pg_num_rows
pg_parameter_status
PostgreSQL


Просмотр текущих значений параметров сервера

pg_options
pg_pconnect
PostgreSQL
PHP Manual

pg_parameter_status

(PHP 5)

pg_parameter_status — Просмотр текущих значений параметров сервера

Описание

string pg_parameter_status ([ resource $connection ], string $param_name )

Получает текущее значение заданного параметра сервера.

Значения некоторых параметров сервер сообщает автоматически при установлении подключения или при изменении данных значений. Функция pg_parameter_status() может запрашивать подобные значения. Она возвращает значение параметра, если оно определено, либо FALSE в случае ошибки.

Список параметров серверов PostgreSQL версий 8.0 и выше: server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, и integer_datetimes. (server_encoding, TimeZone, и integer_datetimes не определяются для версий ниже 8.0.) Стоит отметить, что значения server_version, server_encoding и integer_datetimes нельзя изменить после запуска PostgreSQL.

Несмотря на то, что PostgreSQL версий 7.3 и ниже не сообщают значений своих параметров, pg_parameter_status() позволяет определить значения параметров server_version и client_encoding. Для определения значений этих параметров предпочтительней использовать pg_parameter_status(), нежели специально разрабатывать другие функции.

Предостережение

Если при использовании сервера PostgreSQL версий 7.4 и ниже изменить параметр client_encoding посредством команды сервера SET уже после установки соединения, функция pg_parameter_status() не сможет отразить этот факт.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

param_name

Допустимые значения аргумента: server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone и integer_datetimes.

Возвращаемые значения

Значение запрашиваемого параметра в виде строки, либо FALSE, если передан недопустимый параметр.

Примеры

Пример #1 Пример использования pg_parameter_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно соединиться с сервером");

  echo "Кодировка сервера: ", pg_parameter_status($dbconn, "server_encoding");
?>

Результат выполнения данного примера:

Кодировка сервера: SQL_ASCII

pg_options
pg_pconnect
PostgreSQL


Открывает постоянное соединение с сервером PostgreSQL

pg_parameter_status
pg_ping
PostgreSQL
PHP Manual

pg_pconnect

(PHP 4, PHP 5)

pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL

Описание

resource pg_pconnect ( string $connection_string [, int $connect_type ] )

pg_pconnect() устанавливает соединение с базой данных PostgreSQL. Возвращает ресурс соединения необходимый для работы большинства функций PostgreSQL.

При повторном вызове функции pg_pconnect() с теми же значениями параметров в connection_string функция вернет существующее подключение. Чтобы принудительно создать новое соединение, необходимо передать строку подключения функции PGSQL_CONNECT_FORCE_NEW в качестве параметра connect_type.

Возможность создавать постоянные подключения регулируется директивой pgsql.allow_persistent файла php.ini. Для включения, установите значение в "On" (является значением по умолчанию). Максимальное количество постоянных соединений задается директивой pgsql.max_persistent файла php.ini (по умолчанию -1, не ограничено). Количество любых возможных подключений устанавливается директивой pgsql.max_links файла php.ini.

pg_close() не закрывает соединения, открытые функцией pg_pconnect().

Список параметров

connection_string

Строка connection_string может быть пустой строкой, или содержать несколько параметров разделенных пробелами. Каждый параметр указывается как keyword = value. Пробелы вокруг знака равно необязательны. Пустые строки в качестве значения или значения, содержащие пробелы отделяются одинарными кавычками, как например, keyword = 'a value'. Для задания одинарных кавычек и обратных слешей в качестве значений их необходимо экранировать обратным слешем, то есть \' и \\.

Список основных ключевых слов: host, hostaddr, port, dbname (значение по умолчанию для параметра user), user, password, connect_timeout, options, tty (игнорируется), sslmode, requiressl (устарело в связи с использованием параметра sslmode), и service. Какие из этих аргументов будут обработаны, зависит от версии PostgreSQL.

connect_type

Если в функцию передана константа PGSQL_CONNECT_FORCE_NEW, будет создаваться новое подключение, даже если connection_string идентична строке существующего подключения.

Возвращаемые значения

Ресурс соединения с базой данных PostgreSQL либо FALSE, если подключиться не удалось.

Примеры

Пример #1 Пример использования pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=mary");
//подключиться к базе "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// подключиться к базе "mary" на хосте "localhost", порт "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//подключиться к базе "mary" на хосте "sheep", используя имя пользователя и пароль

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//подключиться к базе "test" на хосте "sheep", используя имя пользователя и пароль
?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • Постоянные соединения с базой данных

pg_parameter_status
pg_ping
PostgreSQL


Проверка соединения с базой данных

pg_pconnect
pg_port
PostgreSQL
PHP Manual

pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping — Проверка соединения с базой данных

Описание

bool pg_ping ([ resource $connection ] )

pg_ping() проверяет соединение с базой данных и переподключается, если оно нарушено.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_ping()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

if (!pg_ping($conn))
  die("Соединение нарушено\n");
?>

Смотрите также

  • pg_connection_status() - Определяет состояние подключения
  • pg_connection_reset() - Сброс подключение (переподключение)

pg_pconnect
pg_port
PostgreSQL


Возвращает номер порта, соответствующий заданному соединению

pg_ping
pg_prepare
PostgreSQL
PHP Manual

pg_port

(PHP 4, PHP 5)

pg_port — Возвращает номер порта, соответствующий заданному соединению

Описание

int pg_port ([ resource $connection ] )

pg_port() возвращает номер порта, соответствующего заданному соединению PostgreSQL connection.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Число типа int соответствующее номеру порта, либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_port()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Успешно соединено с портом : " . pg_port($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_ping
pg_prepare
PostgreSQL


Посылает запрос на создание параметризованного SQL выражения и ждет его завершения

pg_port
pg_put_line
PostgreSQL
PHP Manual

pg_prepare

(PHP 5 >= 5.1.0)

pg_prepare — Посылает запрос на создание параметризованного SQL выражения и ждет его завершения

Описание

resource pg_prepare ([ resource $connection ], string $stmtname , string $query )

pg_prepare() создает заготовку SQL выражения на сервере для последующего запуска функциями pg_execute() или pg_send_execute(). Это позволяет многократно выполнять единожды созданные запросы с различными параметрами. pg_prepare() поддерживается PostgreSQL версии 7.4 и выше. Функция не будет работать c серверами ранних версий.

Функция создает заготовку SQL запроса с названием stmtname и телом query, которое должно содержать одно SQL выражение. stmtname может быть пустой строкой, тогда будет создана безымянная заготовка. Если какая-либо безымянная заготовка уже определена, она будет заменена на новую автоматически. В остальных случаях совпадение имен новой и существующей в данной сессии заготовок приведет к ошибке. Если в query будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д. при передаче запроса.

Подобные заготовки запросов также можно делать с помощью SQL команды PREPARE (но pg_prepare() более гибкая, так как не требует строгой типизации своих параметров). Важно отметить, что в PHP нет функций для удаления подготовленных SQL выражений, для этого используйте команду SQL DEALLOCATE.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

stmtname

Имя создаваемой заготовки. Должно быть уникальным в пределах сессии. Если задана пустая строка, будет создано безымянное SQL выражение. При этом оно перезапишет уже существующее безымянное выражение, определенное ранее.

query

Параметризованный SQL запрос. Должен содержать только одно выражение (несколько выражений разделенных точкой с запятой не поддерживаются). Если в запрос будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д.

Возвращаемые значения

Ресурс результата запроса или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_prepare()

<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");

// Подготовка запроса
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
// спецсимволы в строке "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Запуск на выполнение того же запроса, но с другим параметром
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Смотрите также

  • pg_execute() - Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
  • pg_send_execute() - Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата

pg_port
pg_put_line
PostgreSQL


Передает на PostgreSQL сервер строку с завершающим нулем

pg_prepare
pg_query_params
PostgreSQL
PHP Manual

pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line — Передает на PostgreSQL сервер строку с завершающим нулем

Описание

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() передает на PostgreSQL сервер строку с завершающим нулем. Завершение строки значением NULL необходимо при ее объединении с командой PostgreSQL COPY FROM.

COPY является высокоскоростным интерфейсом передачи данных, поддерживаемым PostgreSQL. Данные передаются одной транзакцией и не разбираются парсером.

В качестве альтернативы можно использовать функцию pg_copy_from(). Она значительно проще в использовании.

Замечание:

Перед запуском функции pg_end_copy() приложение должно сообщить о серверу о завершении передачи данных, добавив в конец последней строки символы "\.".

Внимание

Использование pg_put_line() может привести к
отказу операций с большими объектами, включающих функции
pg_lo_read() и pg_lo_tell().
Для этих целей используйте функции pg_copy_from()
и pg_copy_to().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

data

Текстовая строка для прямой пересылки на сервер. Завершающий NULL добавляется автоматически.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_put_line()

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Смотрите также

  • pg_end_copy() - Синхронизирует с бэкендом PostgreSQL

pg_prepare
pg_query_params
PostgreSQL


Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса

pg_put_line
pg_query
PostgreSQL
PHP Manual

pg_query_params

(PHP 5 >= 5.1.0)

pg_query_params — Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса

Описание

resource pg_query_params ([ resource $connection ], string $query , array $params )

Посылает параметризованный запрос на сервер и ждет результат. Параметры передаются отдельно от строки запроса.

pg_query_params() подобна функции pg_query(), но предоставляет дополнительный функционал: параметры запроса можно передавать отдельно от строки запроса. pg_query_params() поддерживается на соединениях с серверами PostgreSQL версий 7.4 и выше. Функция не будет работать с серверами ранних версий.

Если используются параметры params, они заменяют псевдопеременные $1, $2 и т.д. в строке запроса query. Значение NULL в массиве параметров будет означать SQL NULL в запросе.

Главное преимущество pg_query_params() перед pg_query() заключается в том, что значения параметров могут передаваться отдельно от строки запроса query. Это дает возможность избежать утомительную и подверженную ошибкам процедуру экранирования спецсимволов и заключения значений в кавычки. Однако, в отличие от pg_query(), эта функция поддерживает только один SQL запрос в передаваемой строке. (Он может содержать точку с запятой, но не более одной непустой SQL команды.)

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

query

Параметризованный SQL запрос. Должен содержать только одно выражение (несколько выражений разделенных точкой с запятой не поддерживаются). Если в запрос будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д.

params

Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д. в исходной строке запроса. Количество элементов массива должно точно совпадать с количеством псевдопеременных.

Возвращаемые значения

Ресурс результата запроса или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_query_params()

<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");

// Найдем все магазины с названием "Joe's Widgets". Стоит отметить, что нет необходимости экранировать
// спецсимволы в строке "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Для сравнения то же самое, используя функцию pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Смотрите также

  • pg_query() - Выполняет запрос

pg_put_line
pg_query
PostgreSQL


Выполняет запрос

pg_query_params
pg_result_error_field
PostgreSQL
PHP Manual

pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query — Выполняет запрос

Описание

resource pg_query ([ resource $connection ], string $query )

pg_query() выполняет запрос query в заданной БД connection.

В случае ошибка функция возвращает FALSE, детали ошибки можно получить с помощью функции pg_last_error() если соединение с БД не нарушено.

Замечание: Несмотря на то, что параметр connection может быть опущен, делать так не рекомендуется, так как это может привести к трудно находимым ошибкам в скриптах.

Замечание:

Ранее данная функция называлась pg_exec(). pg_exec() все еще доступна в целях обеспечения совместимости, но лучше использовать новое имя.

Список параметров

connection

Ресурс соединения с БД PostgreSQL. Если не передать параметр connection используется соединение по умолчанию. Соединение по умолчанию -- это последнее соединение, созданное функцией pg_connect() или pg_pconnect().

query

Выражение или выражения SQL для выполнения. Если передано несколько выражений они автоматически выполняются как одна транзакция если явно не указаны команды BEGIN/COMMIT внутри выражения. Тем не менее, использовать несколько транзакий в одном вызове функции не рекомендуется.

Данные внутри запроса должны быть хорошо экранированы.

Возвращаемые значения

Ресурс результата запроса в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_query()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Автор: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Пример #2 Использование нескольких выражений в pg_query()

<?php

$conn = pg_pconnect("dbname=publisher");

// эти выражения будут исполнены в одной транзакции

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_num_rows() - Возвращает количество строк в выборке
  • pg_affected_rows() - Возвращает количество затронутых запросом записей (кортежей)

pg_query_params
pg_result_error_field
PostgreSQL


Возвращает конкретное поле из отчета об ошибках

pg_query
pg_result_error
PostgreSQL
PHP Manual

pg_result_error_field

(PHP 5 >= 5.1.0)

pg_result_error_field — Возвращает конкретное поле из отчета об ошибках

Описание

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() возвращает одно из полей отчета об ошибках, связанного с ресурсом result. Функция поддерживается серверами PostgreSQL версий 7.4 и выше. Нужное поле задается аргументом fieldcode.

Функции pg_query() и pg_query_params() в случае ошибок возвращают FALSE вместо ресурса. Чтобы иметь возможность обрабатывать ошибки, пользуйтесь функциями pg_send_query() и pg_get_result().

Для получения дополнительной информации о ходе выполнения отказавшей
функции pg_query() используйте функции
pg_set_error_verbosity() и
pg_last_error() и обрабатывайте результат
их выполнения.

Список параметров

result

Ресурс результата предыдущего запроса PostgreSQL.

fieldcode

Возможные значения аргумента fieldcode: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (для версий PostgreSQL 8.0 и выше), PGSQL_DIAG_INTERNAL_QUERY (для версий PostgreSQL 8.0 и выше), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE, PGSQL_DIAG_SOURCE_FUNCTION.

Возвращаемые значения

Сообщение об ошибке из заданного поля в виде строки (string); NULL, если заданное поле не существует; FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_result_error_field()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Смотрите также

  • pg_result_error() - Возвращает сообщение об ошибке, связанной с запросом результата

pg_query
pg_result_error
PostgreSQL


Возвращает сообщение об ошибке, связанной с запросом результата

pg_result_error_field
pg_result_seek
PostgreSQL
PHP Manual

pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error — Возвращает сообщение об ошибке, связанной с запросом результата

Описание

string pg_result_error ( resource $result )

pg_result_error() возвращает сообщение о любой ошибке, связанной с ресурсом result. Таким образом, возможно получить более верное сообщение об ошибке, чем при использовании pg_last_error().

Функция pg_result_error_field() может дать гораздо более детальную информацию об ошибке, чем pg_result_error().

Так как pg_query() возвращает FALSE в случае ошибки запроса, необходимо использовать pg_send_query() и pg_get_result() для получения дескриптора результата.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращенный pg_query(), pg_query_params() или pg_execute() (и прочими).

Возвращаемые значения

Возвращает строку (string) если есть ошибка, связанная с параметром result, иначе FALSE.

Примеры

Пример #1 Пример использования pg_result_error()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Смотрите также

  • pg_result_error_field() - Возвращает конкретное поле из отчета об ошибках
  • pg_query() - Выполняет запрос
  • pg_send_query() - Отправляет асинхронный запрос
  • pg_get_result() - Получение результата асинхронного запроса
  • pg_last_error() - Получает сообщение о последней произошедшей ошибке на соединении с базой данных
  • pg_last_notice() - Возвращает последнее уведомление от сервера PostgreSQL

pg_result_error_field
pg_result_seek
PostgreSQL


Смещает указатель на строку выборки в ресурсе результата запроса

pg_result_error
pg_result_status
PostgreSQL
PHP Manual

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek — Смещает указатель на строку выборки в ресурсе результата запроса

Описание

bool pg_result_seek ( resource $result , int $offset )

pg_result_seek() устанавливает смещение внутреннего указателя на строку результата запроса.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

offset

Количество строк, на которое требуется сместить внутренний указатель ресурса result. Строки нумеруются с нуля.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_result_seek()

<?php

// Подключение к базе данных
$conn = pg_pconnect("dbname=publisher");

// Выполнение запроса
$result = pg_query($conn, "SELECT author, email FROM authors");

// Перемещаемся сразу на третью строку
// (допускаем, что в результате есть хотя бы три строки)
pg_result_seek($result, 2);

// Выбираем третью строку из результата
$row = pg_fetch_row($result);

?>

Смотрите также

  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_assoc() - Выбирает строку результата запроса и помещает данные в ассоциативный массив
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса

pg_result_error
pg_result_status
PostgreSQL


Возвращает состояние результата запроса

pg_result_seek
pg_select
PostgreSQL
PHP Manual

pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status — Возвращает состояние результата запроса

Описание

mixed pg_result_status ( resource $result [, int $type = PGSQL_STATUS_LONG ] )

pg_result_status() возвращает текущее состояние ресурса результата запроса, либо тэг завершения сервером работы с с этим ресурсом.

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

type

Принимает одно из двух значений: PGSQL_STATUS_LONG для получения числового обозначения состояния result, либо PGSQL_STATUS_STRING для получения тэга состаяния в виде строки. По умолчанию используется PGSQL_STATUS_LONG.

Возвращаемые значения

Если в качестве аргумента передается PGSQL_STATUS_LONG, то возвращается одна из перечисленных констант: PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR, PGSQL_FATAL_ERROR. В противном случае функция вернет строковое представление состояния результата запроса.

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент type.

Примеры

Пример #1 Пример использования pg_result_status()

<?php

// Подключаемся к базе данных
$conn = pg_pconnect("dbname=publisher");

// Выполняем команду COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Получаем состояние результата запроса
$status = pg_result_status($result);

// Разбираем полученные данные
if ($status == PGSQL_COPY_IN)
   echo "Copy began.";
else
   echo "Copy failed.";

?>

Результат выполнения данного примера:

Copy began.

Смотрите также

  • pg_connection_status() - Определяет состояние подключения

pg_result_seek
pg_select
PostgreSQL


Выбирает записи из базы данных

pg_result_status
pg_send_execute
PostgreSQL
PHP Manual

pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select — Выбирает записи из базы данных

Описание

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_select() выбирает записи из базы данных, удовлетворяющие условиям field=>value, заданным в массиве assoc_array.

Если задан аргумент options, то к массиву assoc_array будет применена функция pg_convert() с параметрами, заданными в качестве аргумента.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Название таблицы, из которой выбираются данные.

assoc_array

Массив (array), ключи которого соответствуют именам колонок таблицы table_name. Будут выбраны только те строки, значения полей которых совпадут со значениями массива.

options

Одна из констант PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC, PGSQL_DML_STRING или их комбинация. Если options содержит PGSQL_DML_STRING, функция вернет строку.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Функция вернет строку, если options содержит PGSQL_DML_STRING.

Примеры

Пример #1 Пример использования pg_select()

<?php
  $db = pg_connect('dbname=foo');
  // Это безопасно с тех пор как $_POST преобразуется автоматически
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Records selected\n";
      var_dump($rec);
  } else {
      echo "Должно быть переданы неверные данные\n";
  }
?>

Смотрите также

  • pg_convert() - Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_result_status
pg_send_execute
PostgreSQL


Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата

pg_select
pg_send_prepare
PostgreSQL
PHP Manual

pg_send_execute

(PHP 5 >= 5.1.0)

pg_send_execute — Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата

Описание

bool pg_send_execute ( resource $connection , string $stmtname , array $params )

Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата.

Работает аналогично функции pg_send_query_params(), только вместо строки с запросом принимает имя предварительно подготовленного SQL запроса. Аргументы функции обрабатываются так же, как и в функции pg_execute(). Как и pg_execute() эта функция не будет работать на соединениях с серверами PostgreSQL версий ниже 7.4.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

stmtname

Имя подготовленного к исполнению запроса. Если передана пустая строка "", будет выполнен безымянный запрос. Имя и содержимое запроса должны быть подготовлены функцией pg_prepare(), pg_send_prepare() либо с помощью SQL-команды PREPARE.

params

Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д. в исходной строке запроса. Количество элементов массива должно точно совпадать с количеством псевдопеременных.

Возвращаемые значения

Возвращает TRUE в случае успешной передачи запроса, FALSE в случае ошибки. Для получения результата запроса используйте функцию pg_get_result().

Примеры

Пример #1 Пример использования pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Подготовка запроса
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
  // спецсимволы в строке "Joe's Widgets"
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Запуск на выполнение того же запроса, но с другим параметром
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Смотрите также

  • pg_prepare() - Посылает запрос на создание параметризованного SQL выражения и ждет его завершения
  • pg_send_prepare() - Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения
  • pg_execute() - Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат

pg_select
pg_send_prepare
PostgreSQL


Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения

pg_send_execute
pg_send_query_params
PostgreSQL
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare — Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения

Описание

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

Посылает запрос на создание параметризованного SQL выражения и не ждет его завершения.

Это асинхронная версия функции pg_prepare(): она возвращает TRUE, если удалось отправить запрос, FALSE в противном случае. После успешной отправки, воспользуйтесь функцией pg_get_result(), чтобы узнать, создалось ли требуемое SQL выражение. Аргументы функции обрабатываются так же, как в pg_prepare(). Функция не будет работать с серверами PostgreSQL версий ниже 7.4.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

stmtname

Имя создаваемой заготовки. Должно быть уникальным в пределах сессии. Если задана пустая строка, будет создано безымянное SQL выражение. При этом оно перезапишет уже существующее безымянное выражение, определенное ранее.

query

Параметризованный SQL запрос. Должен содержать только одно выражение (несколько выражений разделенных точкой с запятой не поддерживаются). Если в запрос будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д.

Возвращаемые значения

TRUE, если удалось отправить запрос, FALSE в противном случае. После успешной отправки, воспользуйтесь функцией pg_get_result(), чтобы узнать, создалось ли требуемое SQL выражение.

Примеры

Пример #1 Пример использования pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Подготовка запроса
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
  // спецсимволы в строке "Joe's Widgets"
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Запуск на выполнение того же запроса, но с другим параметром
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_execute() - Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
  • pg_send_execute() - Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата
  • pg_send_query_params() - Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата

pg_send_execute
pg_send_query_params
PostgreSQL


Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата

pg_send_prepare
pg_send_query
PostgreSQL
PHP Manual

pg_send_query_params

(PHP 5 >= 5.1.0)

pg_send_query_params — Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата

Описание

bool pg_send_query_params ( resource $connection , string $query , array $params )

Отправляет параметризованный запрос на выполнение и не ждет его завершения. Параметры передаются отдельно от текста SQL запроса.

Функция является аналогом pg_send_query() за одним исключением: параметры запроса можно передавать отдельно от строки запроса. Аргументы функции обрабатываются так же, как и в pg_query_params(). pg_send_query() поддерживается на соединениях с серверами PostgreSQL версий 7.4 и выше. Функция не будет работать с серверами ранних версий. Также она поддерживает только одну SQL команду в выражении.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

query

Параметризованный SQL запрос. Должен содержать только одно выражение (несколько выражений разделенных точкой с запятой не поддерживаются). Если в запрос будут передаваться параметры, то они заменят псевдопеременные $1, $2 и т.д.

params

Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д. в исходной строке запроса. Количество элементов массива должно точно совпадать с количеством псевдопеременных.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пользуйтесь функцией pg_get_result() для получения результата запроса.

Примеры

Пример #1 Пример использования pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Использование параметров. Стоит заметить, что нет необходимости
  // заключать в кавычки и экранировать параметр.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // В сравнении с pg_send_query
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Смотрите также

  • pg_send_query() - Отправляет асинхронный запрос

pg_send_prepare
pg_send_query
PostgreSQL


Отправляет асинхронный запрос

pg_send_query_params
pg_set_client_encoding
PostgreSQL
PHP Manual

pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query — Отправляет асинхронный запрос

Описание

bool pg_send_query ( resource $connection , string $query )

pg_send_query() отправляет на выполнение асинхронный запрос. В отличие от pg_query() запрос может содержать несколько SQL выражений, разделенных точкой с запятой. Для получения результата запроса используйте функцию pg_get_result().

Выполнение запроса не прерывает работу скрипта. Для определения занятости соединения (когда запрос еще выполняется) используйте функцию pg_connection_busy(). Выполнение запроса можно прервать функцией pg_cancel_query().

Несмотря на то, что можно отправить несколько запросов за раз, их нельзя посылать, пока соединение занято. В противном случае, посланный запрос дождется завершения предыдущего, сотрет его результат и запустится сам. Таким образом вы потеряете данные результата предыдущего запроса.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

query

Одно или несколько SQL выражений, разделенных точкой с запятой.

Спецсимволы в строке запроса должны быть экранированы.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Для получения результата запроса используйте функцию pg_get_result().

Примеры

Пример #1 Пример использования pg_send_query()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Невозможно подключиться");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Первый вызов pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 содержит $rows1 записей\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Второй вызов pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 содержит $rows2 записей\n";
?>

Результат выполнения данного примера:

Первый вызов pg_get_result(): Resource id #3
Resource id #3 содержит 3 записей

Второй вызов pg_get_result(): Resource id #4
Resource id #4 содержит 1 записей

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_cancel_query() - Остановка асинхронного запроса.
  • pg_get_result() - Получение результата асинхронного запроса
  • pg_connection_busy() - Проверяет, занято ли соединение в данный момент.

pg_send_query_params
pg_set_client_encoding
PostgreSQL


Устанавливает клиентскую кодировку

pg_send_query
pg_set_error_verbosity
PostgreSQL
PHP Manual

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_set_client_encoding — Устанавливает клиентскую кодировку

Описание

int pg_set_client_encoding ([ resource $connection ], string $encoding )

pg_set_client_encoding() устанавливает клиентскую кодировку и возвращает 0 при успехе, -1 в случае ошибки.

PostgreSQL автоматически конвертирует данные из кодировки базы данных в кодировку клиентского приложения.

Замечание:

Прежнее название функции: pg_setclientencoding().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

encoding

Требуемая клиентская кодировка. Список возможных значений: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

Список доступных кодировок зависит от версии PostgreSQL. Смотрите документацию к вашей версии сервера.

Возвращаемые значения

Возвращает 0 в случае успеха, либо -1 в случае ошибки.

Примеры

Пример #1 Пример использования pg_set_client_encoding()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Произошла ошибка.\n";
  exit;
}

// Установка кодировки в UNICODE. Данные будут автоматически
// преобразованы из кодировки в базе данных к клиентской.
pg_set_client_encoding($conn, "UNICODE");

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}

// Выводим UTF-8 данные
while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Смотрите также

  • pg_client_encoding() - Получение кодировки клиента.

pg_send_query
pg_set_error_verbosity
PostgreSQL


Определяет объем текста сообщений, возвращаемых функциями pg_last_error и pg_result_error

pg_set_client_encoding
pg_trace
PostgreSQL
PHP Manual

pg_set_error_verbosity

(PHP 5 >= 5.1.0)

pg_set_error_verbosity — Определяет объем текста сообщений, возвращаемых функциями pg_last_error() и pg_result_error()

Описание

int pg_set_error_verbosity ([ resource $connection ], int $verbosity )

Определяет объем текста сообщений, возвращаемых функциями pg_last_error() и pg_result_error().

pg_set_error_verbosity() устанавливает режим, отвечающий за полноту сообщений об ошибках. В режиме PGSQL_ERRORS_TERSE сообщения будут содержать только важность ошибки, основной текст и место возникновения; эта информация обычно умещается в одну строку. В режиме по умолчанию PGSQL_ERRORS_DEFAULT в сообщения будут добавлены детали ошибки, подсказка или поля контекста (это может занять несколько строк). В режиме PGSQL_ERRORS_VERBOSE сообщения будут содержать все возможные поля. Изменение режима не затронет сообщения уже существующих ресурсов. Новый режим будет применяться только к вновь создаваемым.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

verbosity

Требуемый режим: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT или PGSQL_ERRORS_VERBOSE.

Возвращаемые значения

Предыдущий режим действовавший до запуска функции: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT или PGSQL_ERRORS_VERBOSE.

Примеры

Пример #1 Пример использования pg_set_error_verbosity()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Смотрите также

  • pg_last_error() - Получает сообщение о последней произошедшей ошибке на соединении с базой данных
  • pg_result_error() - Возвращает сообщение об ошибке, связанной с запросом результата

pg_set_client_encoding
pg_trace
PostgreSQL


Включает трассировку подключения PostgreSQL

pg_set_error_verbosity
pg_transaction_status
PostgreSQL
PHP Manual

pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace — Включает трассировку подключения PostgreSQL

Описание

bool pg_trace ( string $pathname [, string $mode = "w" [, resource $connection ]] )

pg_trace() включает трассировку соединения с PostgreSQL сервером во внешний файл. Чтобы понимать содержимое таких файлов, необходимо хорошо разбираться во внутреннем устройстве клиент-серверного взаимодействия.

Для тех, кто не обладает подобными навыками, трассировка все же может оказаться полезной для поиска ошибок при отправке запросов на сервер. Например, можно выполнить команду grep '^To backend' trace.log и посмотреть, какие запросы реально отправлены на сервер. Дополнительную информацию можно почерпнуть из » документации PostgreSQL.

Список параметров

pathname

Полный путь и имя файла для записи журнала трассировки. Аналогично fopen().

pathname

Необязательный аргумент. Режим доступа к файлу. Аналогично fopen().

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_trace()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Теперь /tmp/trace.log будет хранить информацию о взаимодействии с сервером
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • fopen() - Открывает файл или URL
  • pg_untrace() - Отключает трассировку соединения с PostgreSQL

pg_set_error_verbosity
pg_transaction_status
PostgreSQL


Возвращает текущее состояние транзакции на сервере

pg_trace
pg_tty
PostgreSQL
PHP Manual

pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_status — Возвращает текущее состояние транзакции на сервере

Описание

int pg_transaction_status ( resource $connection )

Возвращает текущее состояние транзакции на сервере.

Предостережение

pg_transaction_status() выдает некорректный результат при работе с сервером PostgreSQL 7.3, на котором выключена опция autocommit. Автоматическое завершение транзакций на стороне сервера устарело и не используется в более поздних версиях.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

Возвращаемые значения

Список возможных состояний: PGSQL_TRANSACTION_IDLE (сервер бездействует), PGSQL_TRANSACTION_ACTIVE (выполняется запрос), PGSQL_TRANSACTION_INTRANS (сервер бездействует, работа в режиме транзакции), или PGSQL_TRANSACTION_INERROR (сервер бездействует, транзакция потерпела неудачу). PGSQL_TRANSACTION_UNKNOWN - ошибка подключения. PGSQL_TRANSACTION_ACTIVE возвращается только когда запрос уже отправлен на сервер, но еще не обработан.

Примеры

Пример #1 Пример использования pg_transaction_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Подключиться не удалось");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Соединение не удалось';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Соединение свободно и простаивает';
  } else {
      echo 'Соединение в режиме транзакции';
  }
?>

pg_trace
pg_tty
PostgreSQL


Возвращает имя терминала TTY, связанное с соединением

pg_transaction_status
pg_unescape_bytea
PostgreSQL
PHP Manual

pg_tty

(PHP 4, PHP 5)

pg_tty — Возвращает имя терминала TTY, связанное с соединением

Описание

string pg_tty ([ resource $connection ] )

pg_tty() возвращает имя терминала, связанного с подключением PostgreSQL connection, на который выводится отладочная информация.

Замечание:

pg_tty() устарела, но оставлена для обратной совместимости.

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Имя TTY для подключения connection в виде строки (string) либо FALSE в случае ошибки.

Примеры

Пример #1 Пример использования pg_tty()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Server debug TTY is: " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_transaction_status
pg_unescape_bytea
PostgreSQL


Убирает экранирование двоичных данных типа bytea

pg_tty
pg_untrace
PostgreSQL
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea — Убирает экранирование двоичных данных типа bytea

Описание

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() убирает экранирование спецсимволов в значениях типа PostgreSQL bytea. Возвращает неэкранированную строку, содержащую двоичные данные.

Замечание:

При выборке SQL функцией SELECT данных типа bytea PostgreSQL возвращает значения в восьмеричной системе счисления с префиксом '\' (такие как \032). Пользователю необходимо вручную преобразовывать их в двоичный формат.

Функция поддерживается PostgreSQL версии 7.2 и выше. Для версий 7.2.0 и 7.2.1 значения должны быть преобразованы к типу bytea, когда включена мультибайтовая поддержка. Тогда как INSERT INTO test_table (image)VALUES ('$image_escaped'::bytea); в PostgreSQL 7.2.2 и выше не требует каких-либо преобразований. Исключение составляет случай, когда клиентская (frontend) кодировка не соответствует серверной (backend). При этом возникает ошибка мультибайтового потока, и пользователь должен привести данные к типу bytea, чтобы ее избежать.

Список параметров

data

Строка (string), содержащая данные типа PostgreSQL bytea и подлежащая преобразованию в двоичную строку PHP.

Возвращаемые значения

Строка (string) с неэкранированными спецсимволами.

Примеры

Пример #1 Пример использования pg_unescape_bytea()

<?php
  // Подключение к базе данных
  $dbconn = pg_connect('dbname=foo');

  // Получение bytea данных
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // Преобразование в двоичный формат и отправка в броузер
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Смотрите также

  • pg_escape_bytea() - Экранирует спецсимволы в строке для вставки в поле типа bytea
  • pg_escape_string() - Экранирование спецсимволов в строке для вставки в текстовое поле

pg_tty
pg_untrace
PostgreSQL


Отключает трассировку соединения с PostgreSQL

pg_unescape_bytea
pg_update
PostgreSQL
PHP Manual

pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace — Отключает трассировку соединения с PostgreSQL

Описание

bool pg_untrace ([ resource $connection ] )

Останавливает трассировку, запущенную функцией pg_trace().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Всегда возвращает TRUE.

Примеры

Пример #1 Пример использования pg_untrace()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Теперь трассировка взаимодействия с сервером отключена
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • pg_trace() - Включает трассировку подключения PostgreSQL

pg_unescape_bytea
pg_update
PostgreSQL


Обновление данных в таблице

pg_untrace
pg_version
PostgreSQL
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update — Обновление данных в таблице

Описание

mixed pg_update ( resource $connection , string $table_name , array $data , array $condition [, int $options = PGSQL_DML_EXEC ] )

pg_update() заменяет записи в таблице, удовлетворяющие условиям condition данными data. Если задан аргумент options, данные будут преобразованы функцией pg_convert(), которой будут переданы параметры из этого аргумента.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

connection

Ресурс соединения с базой данных PostgreSQL.

table_name

Имя таблицы, в которой обновляются записи.

data

Массив (array), ключи которого соответствуют именам колонок таблицы table_name, а значения заменят данные в этих колонках.

condition

Массив (array), ключи которого соответствуют именам колонок таблицы table_name. Будут обновлены только те строки, значения полей которых совпадут со значениями массива.

options

Одна из констант PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_STRING, либо их комбинация. Если options содержит PGSQL_DML_STRING, функция вернет строку.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Функция вернет строку (string), если константа PGSQL_DML_STRING содержится в options.

Примеры

Пример #1 Пример использования pg_update()

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // Это безопасно с тех пор как $_POST преобразуется автоматически
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Данные обновлены: $res\n";
  } else {
      echo "Должно быть переданы неверные данные\n";
  }
?>

Смотрите также

  • pg_convert() - Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах

pg_untrace
pg_version
PostgreSQL


Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)

pg_update
SQLite
PostgreSQL
PHP Manual

pg_version

(PHP 5)

pg_version — Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)

Описание

array pg_version ([ resource $connection ] )

pg_version() возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера. Версии протокола и сервера доступны, только если PHP-расширение скомпилировано для PostgreSQL версии 7.4 или выше.

Для получения детальной информации о сервере используйте функцию pg_parameter_status().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

Возвращаемые значения

Возвращает массив с ключами client, protocol и server и соответствующими значениями версий, либо FALSE в случае ошибки или некорректно работающего соединения.

Примеры

Пример #1 Пример использования pg_version()

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("Could not connect");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

Результат выполнения данного примера:

7.4

Смотрите также

  • pg_parameter_status() - Просмотр текущих значений параметров сервера

pg_update
SQLite
PostgreSQL


SQLite

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SQLite
    • sqlite_array_query — Выполняет запрос к базе данных и возвращает результат в виде массива
    • sqlite_busy_timeout — Устанавливает или полностью отключает время ожидания
    • sqlite_changes — Возвращает количество записей, которые были изменены последним SQL-запросом
    • sqlite_close — Закрывает открытую базу данных SQLite
    • sqlite_column — Выбирает столбец из текущей записи результата запроса
    • sqlite_create_aggregate — Регистрирует агрегирующую функцию для использования в SQL-запросах
    • sqlite_create_function — Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
    • sqlite_current — Возвращает текущую запись из результирующего набора в виде массива
    • sqlite_error_string — Возвращает строку с описанием ошибки
    • sqlite_escape_string — Экранирует спецсимволы в строке для использования в запросе
    • sqlite_exec — Выполняет запрос, не возвращающий записей
    • sqlite_factory — Открывает базу данных SQLite и возвращает объект
    • sqlite_fetch_all — Выбирает все записи из результата запроса и возвращает многомерный массив
    • sqlite_fetch_array — Выбирает следующую запись из результата запроса и возвращает массив
    • sqlite_fetch_column_types — Возвращает массив, содержащий информацию о типах полей в таблице
    • sqlite_fetch_object — Выбирает следующую запись из результата запроса и возвращает объект
    • sqlite_fetch_single — Выбирает значение первого поля из результата запроса и возвращает в виде строки
    • sqlite_fetch_string — Псевдоним sqlite_fetch_single
    • sqlite_field_name — Возвращает имя указанного поля
    • sqlite_has_more — Определяет, есть ли еще записи в результате запроса
    • sqlite_has_prev — Определяет, доступна ли предыдущая запись
    • sqlite_key — Возвращает текущую позицию указателя
    • sqlite_last_error — Возвращает код ошибки последней операции с SQLite
    • sqlite_last_insert_rowid — Возвращает идентификатор последней вставленной записи
    • sqlite_libencoding — Возвращает кодировку, используемую подключенной библиотекой SQLite
    • sqlite_libversion — Возвращает версию подключенной библиотеки SQLite
    • sqlite_next — Переходит на следующую запись
    • sqlite_num_fields — Возвращает количество полей в результате запроса
    • sqlite_num_rows — Возвращает количество записей в результате запроса
    • sqlite_open — Открывает базу данных SQLite или создает ее, если она не существует
    • sqlite_popen — Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует
    • sqlite_prev — Переходит на предыдущую запись
    • sqlite_query — Выполняет запрос к базе данных и возвращает идентификатор результата
    • sqlite_rewind — Переходит к первой записи
    • sqlite_seek — Переходит к определенному номеру записи в буферизованном результирующем наборе
    • sqlite_single_query — Выполняет запрос и возвращает массив со значениями одного поля или первую запись
    • sqlite_udf_decode_binary — Декодирует бинарные данные, переданные в качестве параметров в UDF
    • sqlite_udf_encode_binary — Кодирует бинарные данные перед тем как вернуть их из UDF
    • sqlite_unbuffered_query — Выполняет запрос без буферизации результатов
    • sqlite_valid — Проверяет, есть ли еще доступные ряды
pg_version
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Этот модуль обеспечивает доступ к встраиваемой системе управления базами данных SQLite. SQLite - это библиотека на языке C, реализующая встраиваемый движок SQL базы данных. Программы, использующие библиотеку SQLite, могут использовать SQL базы данных без использования внешнего процесса реляционной системы управления базами данных (RDBMS).

SQLite не является клиентской библиотекой, подключающейся к большому серверу базы данных, SQLite сама является сервером и напрямую оперирует файлами базы данных на диске.

Замечание:

Более подробную информацию можно получить на сайте SQLite (» http://sqlite.org/).

SQLite
Установка и настройка
SQLite


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SQLite


Требования

Начиная с версии PHP 5 расширение SQLite доступно по умолчанию. До этого времени требовалась библиотека SQLite.

Установка и настройка
Установка
Установка и настройка


Установка

Начиная с версии PHP 5 это расширение доступно по умолчанию, поэтому для работы с ним просто не отключайте его.

Предостережение

Не используйте PECL-версию этого расширения, так как она больше не поддерживается. Всегда используйте расширение SQLite, поставляемое вместе с исходниками PHP, даже если вы компилируете это расширение в отдельный файл. В данном случае исходники находятся в php-src-dir/ext/sqlite, скомплиировать которые можно с помощью обычного метода phpize.

Для использования этих функций пользователи Windows должны включить php_sqlite.dll в php.ini DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

В сборках Windows необходимо также включить PDO, так как начиная с версии PHP 5.1.0 модуль SQLite также зависит от него. В итоге php.ini будет выглядеть примерно так:

extension=php_pdo.dll
extension=php_sqlite.dll
Если вы собираете PDO в качестве подгружаемого модуля в операционных системах Unix или Linux, для SQLite необходимо использовать конфигурационную опцию --with-sqlite=shared.

Серия Windows сборок версии PHP 5.0.x включала это расширение по умолчанию, без необходимости подключать какие-либо DLL-файлы.

SQLite 3 поддерживается с помощью модуля PDO SQLite.

Замечание: Установка в Windows для непривилегированных аккаунтов

В операционной системе Windows в непривилегированных аккаунтах не переменная окружения TMP по умолчанию не устанавливается. Это вынуждает sqlite создавать временные файлы в папке windows, что не очень хорошо. Для решения этой проблемы необходимо установить переменную окружения TMP для веб-сервера или для того пользовательского аккаунта, под которым он запущен. Если вы используете Apache, то этого можно достигнуть установкой директивы SetEnv в файле httpd.conf. Например:

SetEnv TMP c:/temp
Если вы не можете установить эту переменную на серверном уровне, можно реализовать эту установку с помощью скрипта:
<?php
putenv('TMP=C:/temp');
?>
Опция должна указывать на директорию, в которой веб-сервер может создавать файлы, последовательно писать в них и, соответственно, удалять. Иначе, вы получите следующее сообщение об ошибке: malformed database schema - unable to open a temporary database file for storing temporary tables (поврежденная схема базы данных - невозможно открыть временный файл с базой данных для хранения временных таблиц)

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

SQLite Опции настройки
Имя | По умолчанию | Меняемо | История изменений
sqlite.assoc_case | "0" | PHP_INI_ALL | Доступна, начиная с версии PHP 5.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

sqlite.assoc_case int

Использовать смешанный регистр (0), верхний регистр (1) или нижний регистр (2) в индексах ключей.

Эта опция обычно полезна, если вам нужна совместимость с другими базами данных, в которых имена полей всегда возвращаются в верхнем или нижнем регистре, вне зависимости от реально используемого имени в схеме базы данных.

Библиотека SQLite возвращает имена полей в натуральном регистре (т.е. так, как они были определены в схеме вашей базы данных). Если параметр sqlite.assoc_case установлен в 0, то натуральный регистр будет сохранен. При установке параметра в 1 или 2, PHP преобразует индексы ключей в верхний или нижний регистр, соответственно.

Использование этой опции привносит небольшое уменьшение производительности, но является НАМНОГО более быстрым решением, чем осуществление смены регистра вручную в PHP-скрипте.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Модуль SQLite определяет два типа ресурсов: соединение с базой данных и результат запроса.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Функции sqlite_fetch_array() и sqlite_current() могут принимать аргумент, задающий вид возвращаемого массива. В качестве значения этого аргумента используются следующие константы:

Константы выборки SQLite
SQLITE_ASSOC (int)
Индексами массива являются имена полей.
SQLITE_BOTH (int)
Каждому полю соответствуют два элемента массива: с числовым индексом, являющимся порядковым номером поля, и строковым индексом - именем поля.
SQLITE_NUM (int)
Индексами массива являются порядковые номера полей, начиная с 0.

Некоторые функции возвращают коды статусов. Ими являются следующие константы:

Константы статус-кодов SQLite
SQLITE_OK (int)
Успешный результат.
SQLITE_ERROR (int)
Ошибка SQL или отсутствующая база данных.
SQLITE_INTERNAL (int)
Внутренняя логическая ошибка SQLite.
SQLITE_PERM (int)
Доступ запрещен.
SQLITE_ABORT (int)
Callback-процедура запросила прерывание операции.
SQLITE_BUSY (int)
Файл с базой данных заблокирован.
SQLITE_LOCKED (int)
Таблица в базе данных заблокирована.
SQLITE_NOMEM (int)
Не удалось выделить память.
SQLITE_READONLY (int)
Попытка записи в базу данных, доступную только для чтения.
SQLITE_INTERRUPT (int)
Операция была прервана изнутри.
SQLITE_IOERR (int)
На диске произошла ошибка ввода/вывода.
SQLITE_NOTADB (int)
Открытый файл не является файлом базы данных.
SQLITE_CORRUPT (int)
Образ файла базы данных на диске поврежден.
SQLITE_FORMAT (int)
Ошибка вспомогательного форматирования базы данных.
SQLITE_NOTFOUND (int)
(Внутренняя) Таблица или запись не найдена.
SQLITE_FULL (int)
Вставка не удалась из-за переполнения базы данных.
SQLITE_CANTOPEN (int)
Не удалось открыть файл базы данных.
SQLITE_PROTOCOL (int)
Ошибка протокола блокирования базы данных.
SQLITE_EMPTY (int)
(Внутренняя) Таблица базы данных пуста.
SQLITE_SCHEMA (int)
Схема базы данных изменилась.
SQLITE_TOOBIG (int)
Слишком много данных для одного ряда таблицы.
SQLITE_CONSTRAINT (int)
Прерывание в связи с нарушением ограничения.
SQLITE_MISMATCH (int)
Несовпадение типа данных.
SQLITE_MISUSE (int)
Библиотека была использована некорректно.
SQLITE_NOLFS (int)
Использование возможностей ОС не поддерживается хостом.
SQLITE_AUTH (int)
Авторизация не удалась.
SQLITE_ROW (int)
Внутренний процесс получил еще один готовый ряд.
SQLITE_DONE (int)
Внутренний процесс закончил выполнение.
Типы ресурсов
SQLite
SQLite


SQLite
PHP Manual

SQLite

Предопределенные классы

SQLiteDatabase

Представляет собой открытую базу данных SQLite.

Конструктор

  • __construct - Создает новый объект SQLiteDatabase

Методы

  • query - Выполняет запрос
  • queryExec - Выполняет запрос без возврата результата
  • arrayQuery - Выполняет запрос и возвращает результат в виде массива
  • singleQuery - Выполняет запрос и возвращает либо массив значений для одного столбца либо значение первого ряда
  • unbufferedQuery - Выполняет небуферизованный запрос
  • lastInsertRowid - Возвращает идентификатор последнего вставленного ряда
  • changes - Возвращает количество рядов, измененных последним запросом
  • createAggregate - Регистрирует агрегирующую UDF для использования в SQL-выражениях
  • createFunction - Регистрирует UDF для использования в SQL-выражениях
  • busyTimeout - Устанавливает или отключает таймаут при ожидании разблокировки
  • lastError - Возвращает код последней ошибки
  • fetchColumnTypes - Возвращает массив типов столбцов из определенной таблицы

SQLiteResult

Представляет собой буферизованный результирующий набор SQLite.

Методы

  • fetch - Возвращает следующий ряд из результирующего набора в виде массива
  • fetchObject - Возвращает следующий ряд из результирующего набора в виде объекта
  • fetchSingle - Возвращает первый столбец из результирующего набора в виде строки
  • fetchAll - Возвращает все ряды из результирующего набора в виде многомерного массива
  • column - Возвращает столбец из текущего ряда результирующего набора
  • numFields - Возвращает количество полей в результирующем наборе
  • fieldName - Возвращает имя определенного поля в результирующем наборе
  • current - Возвращает текущий ряд из результирующего набора в виде массива
  • key - Возвращает индекс текущего ряда
  • next - Передвигает указатель к следующему ряду
  • valid - Проверяет, есть ли еще ряды в результирующем наборе
  • rewind - Сбрасывает указатель к первому ряду результирующего набора
  • prev - Передвигает указатель к предыдущему ряду результирующего набора
  • hasPrev - Проверяет, доступен ли предыдущий ряд
  • numRows - Возвращает количество рядов в результирующем наборе
  • seek - Передвигает указатель на определенный ряд

SQLiteUnbuffered

Представляет собой небуферизованный результирующий набор SQLite. Небуферизованные результаты являются последовательными и разрешают передвигать указатель только вперед.

Методы

  • fetch - Возвращает следующий ряд из результирующего набора в виде массива
  • fetchObject - Возвращает следующий ряд из результирующего набора в виде массива
  • fetchSingle - Возвращает первый столбец из результирующего набора в виде строки
  • fetchAll - Возвращает все ряды из результирующего набора в виде многомерного массива
  • column - Возвращает столбец из текущего ряда результирующего набора
  • numFields - Возвращает количество полей в результирующем наборе
  • fieldName - Возвращает имя определенного поля в результирующем наборе
  • current - Возвращает текущий ряд из результирующего набора в виде массива
  • next - Передвигает указатель к следующему ряду
  • valid - Проверяет, есть ли еще ряды в результирующем наборе

Содержание

  • sqlite_array_query — Выполняет запрос к базе данных и возвращает результат в виде массива
  • sqlite_busy_timeout — Устанавливает или полностью отключает время ожидания
  • sqlite_changes — Возвращает количество записей, которые были изменены последним SQL-запросом
  • sqlite_close — Закрывает открытую базу данных SQLite
  • sqlite_column — Выбирает столбец из текущей записи результата запроса
  • sqlite_create_aggregate — Регистрирует агрегирующую функцию для использования в SQL-запросах
  • sqlite_create_function — Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_current — Возвращает текущую запись из результирующего набора в виде массива
  • sqlite_error_string — Возвращает строку с описанием ошибки
  • sqlite_escape_string — Экранирует спецсимволы в строке для использования в запросе
  • sqlite_exec — Выполняет запрос, не возвращающий записей
  • sqlite_factory — Открывает базу данных SQLite и возвращает объект
  • sqlite_fetch_all — Выбирает все записи из результата запроса и возвращает многомерный массив
  • sqlite_fetch_array — Выбирает следующую запись из результата запроса и возвращает массив
  • sqlite_fetch_column_types — Возвращает массив, содержащий информацию о типах полей в таблице
  • sqlite_fetch_object — Выбирает следующую запись из результата запроса и возвращает объект
  • sqlite_fetch_single — Выбирает значение первого поля из результата запроса и возвращает в виде строки
  • sqlite_fetch_string — Псевдоним sqlite_fetch_single
  • sqlite_field_name — Возвращает имя указанного поля
  • sqlite_has_more — Определяет, есть ли еще записи в результате запроса
  • sqlite_has_prev — Определяет, доступна ли предыдущая запись
  • sqlite_key — Возвращает текущую позицию указателя
  • sqlite_last_error — Возвращает код ошибки последней операции с SQLite
  • sqlite_last_insert_rowid — Возвращает идентификатор последней вставленной записи
  • sqlite_libencoding — Возвращает кодировку, используемую подключенной библиотекой SQLite
  • sqlite_libversion — Возвращает версию подключенной библиотеки SQLite
  • sqlite_next — Переходит на следующую запись
  • sqlite_num_fields — Возвращает количество полей в результате запроса
  • sqlite_num_rows — Возвращает количество записей в результате запроса
  • sqlite_open — Открывает базу данных SQLite или создает ее, если она не существует
  • sqlite_popen — Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует
  • sqlite_prev — Переходит на предыдущую запись
  • sqlite_query — Выполняет запрос к базе данных и возвращает идентификатор результата
  • sqlite_rewind — Переходит к первой записи
  • sqlite_seek — Переходит к определенному номеру записи в буферизованном результирующем наборе
  • sqlite_single_query — Выполняет запрос и возвращает массив со значениями одного поля или первую запись
  • sqlite_udf_decode_binary — Декодирует бинарные данные, переданные в качестве параметров в UDF
  • sqlite_udf_encode_binary — Кодирует бинарные данные перед тем как вернуть их из UDF
  • sqlite_unbuffered_query — Выполняет запрос без буферизации результатов
  • sqlite_valid — Проверяет, есть ли еще доступные ряды
Предопределенные константы
sqlite_array_query
SQLite
PHP Manual


Выполняет запрос к базе данных и возвращает результат в виде массива

SQLite
sqlite_busy_timeout
SQLite
PHP Manual

sqlite_array_query

SQLiteDatabase->arrayQuery

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_array_query -- SQLiteDatabase->arrayQuery — Выполняет запрос к базе данных и возвращает результат в виде массива

Описание

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Объектно-ориентированный стиль (метод):

array SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_array_query() выполняет указанный запрос
и возвращает массив с полным результирующим набором. Использование
sqlite_array_query() идентично
использованию sqlite_query() с последующим вызовом
sqlite_fetch_array() для каждой записи результата
запроса с сохранением записей в массиве, как показано в приведенном ниже
примере. sqlite_array_query() выполняется значительно
быстрее, чем вышеупомянутая последовательность.

Подсказка

sqlite_array_query() наилучшим образом подходит для запросов, возвращающих до 45 записей. Для запросов, возвращающих большие наборы записей, оптимальным с точки зрения быстродействия является использование функции sqlite_unbuffered_query().

Список параметров

query

Выполняемый запрос.

Данные, используемые в запросе, должны быть корректно экранированы.

dbhandle

Ресурс базы данных SQLite, возвращенный из sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

Возвращаемые значения

Возвращает массив с полным результирующим набором, иначе возвращается FALSE.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Смотрите также

  • sqlite_query() - Выполняет запрос к базе данных и возвращает идентификатор результата
  • sqlite_fetch_array() - Выбирает следующую запись из результата запроса и возвращает массив
  • sqlite_fetch_string() - Псевдоним sqlite_fetch_single

SQLite
sqlite_busy_timeout
SQLite


Устанавливает или полностью отключает время ожидания

sqlite_array_query
sqlite_changes
SQLite
PHP Manual

sqlite_busy_timeout

SQLiteDatabase->busyTimeout

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_busy_timeout -- SQLiteDatabase->busyTimeout — Устанавливает или полностью отключает время ожидания

Описание

void sqlite_busy_timeout ( resource $dbhandle , int $milliseconds )

Объектно-ориентированный стиль (метод):

void SQLiteDatabase::busyTimeout ( int $milliseconds )

Устанавливает максимальное время, в миллисекундах, в течение которого SQLite ожидает готовности базы данных, заданной аргументом dbhandle.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

milliseconds

Количество миллисекунд. Если равен 0, то в случае, то функции-обработчики, вызываемые при блокировке базы данных, будут отключены и SQLITE немедленно вернет статус-код SQLITE_BUSY, если другой процесс/нить заблокировал базу данных для обновления.

По умолчанию, при открытии базы данных, PHP устанавливает время ожидания в 60 секунд.

Замечание:

В одной секунде содержится одна тысяча (1000) миллисекунд.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // установка таймаута в 10 секунд
sqlite_busy_timeout($dbhandle, 0); // отключение функции-обработчика
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // 10 секунд
$dbhandle->busyTimeout(0); // отключение
?>

Смотрите также

  • sqlite_open() - Открывает базу данных SQLite или создает ее, если она не существует

sqlite_array_query
sqlite_changes
SQLite


Возвращает количество записей, которые были изменены последним SQL-запросом

sqlite_busy_timeout
sqlite_close
SQLite
PHP Manual

sqlite_changes

SQLiteDatabase->changes

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase->changes — Возвращает количество записей, которые были изменены последним SQL-запросом

Описание

int sqlite_changes ( resource $dbhandle )

Объектно-ориентированный стиль (метод):

int SQLiteDatabase::changes ( void )

Возвращает количество записей, которые были изменены последним SQL-запросом к базе данных dbhandle.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

Возвращаемые значения

Возвращает количество измененных записей.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_query($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Ошибка в запросе.');
} else {
    echo 'Количество измененных записей: ', sqlite_changes($dbhandle);
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Ошибка в запросе.');
} else {
    echo 'Количество измененных записей: ', $dbhandle->changes();
}
?>

Смотрите также

  • sqlite_open() - Открывает базу данных SQLite или создает ее, если она не существует

sqlite_busy_timeout
sqlite_close
SQLite


Закрывает открытую базу данных SQLite

sqlite_changes
sqlite_column
SQLite
PHP Manual

sqlite_close

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_close — Закрывает открытую базу данных SQLite

Описание

void sqlite_close ( resource $dbhandle )

Закрывает базу данных, идентификатор соединения с которой передан через аргумент dbhandle. Если соединение с базой данных было постоянным, также удаляет это соединение из списка постоянных.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования sqlite_close()

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_close($dbhandle);
?>

Смотрите также

  • sqlite_open() - Открывает базу данных SQLite или создает ее, если она не существует
  • sqlite_popen() - Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует

sqlite_changes
sqlite_column
SQLite


Выбирает столбец из текущей записи результата запроса

sqlite_close
sqlite_create_aggregate
SQLite
PHP Manual

sqlite_column

SQLiteResult->column

SQLiteUnbuffered->column

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_column -- SQLiteResult->column -- SQLiteUnbuffered->column — Выбирает столбец из текущей записи результата запроса

Описание

mixed sqlite_column ( resource $result , mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteResult::column ( mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteUnbuffered::column ( mixed $index_or_name [, bool $decode_binary = true ] )

Выбирает значение столбца с именем index_or_name (если это строка) или его порядковый номер index_or_name (если это целое число) из текущей записи результата запроса result.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

index_or_name

Индекс или имя возвращаемого столбца.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает значение столбца.

Примечания

Замечание:

Используйте эту функцию с запросами, возвращающими большие наборы данных с большим количеством полей, либо если поля содержат большие объемы данных.

Смотрите также

  • sqlite_fetch_string() - Псевдоним sqlite_fetch_single

sqlite_close
sqlite_create_aggregate
SQLite


Регистрирует агрегирующую функцию для использования в SQL-запросах

sqlite_column
sqlite_create_function
SQLite
PHP Manual

sqlite_create_aggregate

SQLiteDatabase->createAggregate

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_create_aggregate -- SQLiteDatabase->createAggregate — Регистрирует агрегирующую функцию для использования в SQL-запросах

Описание

void sqlite_create_aggregate ( resource $dbhandle , string $function_name , callback $step_func , callback $finalize_func [, int $num_args = -1 ] )

Объектно-ориентированный стиль (метод):

void SQLiteDatabase::createAggregate ( string $function_name , callback $step_func , callback $finalize_func [, int $num_args = -1 ] )

sqlite_create_aggregate() похожа на sqlite_create_function(), за исключением того, что регистрирует функцию, которая может быть использована для вычисления результата на основе всех записей результата запроса.

Главное отличие этой функции от sqlite_create_function() состоит в том, что для работы агрегирующей функции неоходимы 2 функции; step_func вызывается для каждой записи из результата запроса. Эта функция должна аккумулировать результат и сохранять его в контекстной переменной. После обработки всех записей, вызывается finalize_func, которая должна обработать данные из контекстной переменной и вернуть результат. Callback-функции должны возвращать тип, который сможет понять SQLite (т.е. скалярный).

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

function_name

Имя функции, используемой в SQL-запросах.

step_func

Callback-функция, вызываемая для каждого ряда результирующего набора. Функция принимает параметры &$context, $value, ....

finalize_func

Callback-функция для агрегации собранных данных из каждого ряда. Функция принимает параметр &$context и должна вернуть итоговый результат агрегации.

num_args

Подсказка парсеру SQLite, если callback-функция принимает известное количество параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример агрегирующей функции max_length

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$dbhandle = sqlite_open(':memory:');
sqlite_query($dbhandle, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($dbhandle, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($dbhandle, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($dbhandle, 'SELECT max_len(a) from strings'));

?>

В этом примере, мы создаем агрегирующую функцию, коорая возвращает длину самой длинной строки в одном из полей результата запроса. Для каждой записи, вызывается функция max_len_step, которой помимо строки передается контекстная переменная context. Эту переменню вы можете использовать по своему усмотрению для накопления результатов вычислений. В нашем примере, в этой переменной хранится максимальная длина строки; если длина строки string больше, чем значение, сохраненное в контекстной переменной, контекстной переменной присваивается новое значение.

После обработки всех записей, SQLite вызовет функцию max_len_finalize для определения результата агрегирующей функции. Здесь можно было бы провести вычисления, основанные на значении контекстной переменной context, но в этом простейшем примере, все вычисления были произведены в процессе обработки запроса, и остается только вернуть полученное значение.

Замечание:

Приведенный выше пример будет работать некорректно, если прменить созданную функцию к бинарным данным. Описание функции sqlite_udf_decode_binary() объясняет, почему это происходит и как этого избежать.

Подсказка

НЕ РЕКОМЕНДУЕТСЯ сохранять все полученные значения в контекстной переменной и затем производить все вычисления на последнем шаге, так как при этом SQLite может израсходовать большое количество памяти в процессе обработки запроса - представьте, сколько памяти потребуется, чтобы сохранить в памяти миллион записей, по 32 байта каждая.

Подсказка

sqlite_create_function() и sqlite_create_aggregate() могут быть использованы для переопределения встроенных функций SQLite.

Смотрите также

  • sqlite_create_function() - Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_udf_encode_binary() - Кодирует бинарные данные перед тем как вернуть их из UDF
  • sqlite_udf_decode_binary() - Декодирует бинарные данные, переданные в качестве параметров в UDF

sqlite_column
sqlite_create_function
SQLite


Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах

sqlite_create_aggregate
sqlite_current
SQLite
PHP Manual

sqlite_create_function

SQLiteDatabase->createFunction

(PHP 5, sqlite >= 1.0.0)

sqlite_create_function -- SQLiteDatabase->createFunction — Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах

Описание

void sqlite_create_function ( resource $dbhandle , string $function_name , callback $callback [, int $num_args = -1 ] )

Объектно-ориентированный стиль (метод):

void SQLiteDatabase::createFunction ( string $function_name , callback $callback [, int $num_args = -1 ] )

sqlite_create_function() позволяет зарегистрировать PHP функцию для использования в SQLite в качестве UDF (User Defined Function - функция, определенная пользователем), что позволяет использовать эту функцию в SQL-запросах.

Определенная таким образом функция может быть использована в любом SQL-запросе, допускающем использование функций, например SELECT и UPDATE, а также в триггерах.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

function_name

Имя функции, используемой в SQL-запросах.

callback

Callback-функция, обрабатывающая указанную SQL-функцию.

Замечание: Callback-функции должны возвращать тип, понятный SQLite (т.е. скалярный).

num_args

Подсказка парсеру SQLite, если callback-функция принимает известное количество аргументов.

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования sqlite_create_function()

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    sqlite_create_function($dbhandle, 'md5rev', 'md5_and_reverse', 1);

    $sql  = 'SELECT md5rev(filename) FROM files';
    $rows = sqlite_array_query($dbhandle, $sql);
} else {
    echo 'Ошибка открытия базы sqlite: ' . $sqliteerror;
    exit;
}
?>

В этом примере мы определяем функцию, которая вычисляет MD5-хэш строки, а затем обращает полученную строку. При выполнении SQL-запроса, значение поля filename преобразуется нашей функцией. Массив $rows содержит обработанный результат.

Достоинство этой техники в том, что нет необходимости обрабатывать полученный результат в цикле.

При открытии базы данных, регистрируется функция с именем php. Эта функция может быть использована для вызова любой функции PHP без регистрации.

Пример #2 Пример использования функции php

<?php
$rows = sqlite_array_query($dbhandle, "SELECT php('md5', filename) from files");
?>

В этом примере, функция md5() будет вызвана для поля filename в каждой записи.

Замечание:

Для повышения производительности, PHP не кодирует и не декодирует бинарные данные, передаваемые в UDF и возвращаемые из нее. Вы должны позаботиться о кодировании/раскодировании самостоятельно, если есть необходимость обрабатывать бинарные данные. Смотрите описания функций sqlite_udf_encode_binary() и sqlite_udf_decode_binary().

Подсказка

Не рекомендуется использовать UDF для обработки бинарных данных, за исключением случаев, когда нет необходимости достичь высокого быстродействия.

Подсказка

sqlite_create_function() и sqlite_create_aggregate() могут быть использованы для переопределения встроенных функций SQLite.

Смотрите также

  • sqlite_create_aggregate() - Регистрирует агрегирующую функцию для использования в SQL-запросах

sqlite_create_aggregate
sqlite_current
SQLite


Возвращает текущую запись из результирующего набора в виде массива

sqlite_create_function
sqlite_error_string
SQLite
PHP Manual

sqlite_current

SQLiteResult->current

SQLiteUnbuffered->current

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_current -- SQLiteResult->current -- SQLiteUnbuffered->current — Возвращает текущую запись из результирующего набора в виде массива

Описание

array sqlite_current ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Объектно-ориентированный стиль (метод):

array SQLiteResult::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_current() аналогична sqlite_fetch_array() за исключением того, что она не переходит к следующей записи до выборки данных, а просто возвращает данные из текущий позиции.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает текущую запись из результирующего набора в виде массива. Если текущая позиция в результате запроса находится за последней записью, эта функция возвращает FALSE.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Смотрите также

  • sqlite_seek() - Переходит к определенному номеру записи в буферизованном результирующем наборе
  • sqlite_next() - Переходит на следующую запись
  • sqlite_fetch_array() - Выбирает следующую запись из результата запроса и возвращает массив

sqlite_create_function
sqlite_error_string
SQLite


Возвращает строку с описанием ошибки

sqlite_current
sqlite_escape_string
SQLite
PHP Manual

sqlite_error_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_error_string — Возвращает строку с описанием ошибки

Описание

string sqlite_error_string ( int $error_code )

Возвращает читабельное описание ошибки с кодом error_code, полученного из функции sqlite_last_error().

Список параметров

error_code

Код ошибки, полученный из sqlite_last_error().

Возвращаемые значения

Возвращает читабельное описание ошибки с кодом error_code в виде string.

Смотрите также

  • sqlite_last_error() - Возвращает код ошибки последней операции с SQLite

sqlite_current
sqlite_escape_string
SQLite


Экранирует спецсимволы в строке для использования в запросе

sqlite_error_string
sqlite_exec
SQLite
PHP Manual

sqlite_escape_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_escape_string — Экранирует спецсимволы в строке для использования в запросе

Описание

string sqlite_escape_string ( string $item )

sqlite_escape_string() экранирует спецсимволы в строке item для использования в запросе SQLite. Одиночные кавычки (') будут удвоены, а также будет произведена проверка на наличие небезопасных бинарных данных в строке.

Хотя кодирование и позволяет вставлять бинарные данные, операторы сравнения и LIKE для полей, содержащих такие данные, будут работать некорректно. На практике, однако, это не создает проблем, так как база данных должна быть спроектирована таким образом, чтобы не было необходимости использовать операции сравнения с бинарными данными. Фактически, для хранения таких данных лучше подходят другие способы, например, файлы.

Список параметров

item

Экранируемая строка (string).

Если item содержит символ NUL или начинается с символа с кодом 0x01, будет примененена специальная схема кодирования, позволяющая безопасно хранить бинарные данные.

Возвращаемые значения

Возвращает экранируемую строку (string) пригодную для использования в SQL-запросе SQLite.

Примечания

Замечание:

    Не применяйте эту функцию к значениям, возвращаемым UDF, созданных с
    использованием sqlite_create_function() или
    sqlite_create_aggregate() - используйте
    вместо этого sqlite_udf_encode_binary().

Внимание

Функцию addslashes() НЕЛЬЗЯ использовать для экранирования строк для запросов к SQLite. Это приведет к неожиданным результатам при выборке данных.

Смотрите также

  • sqlite_udf_encode_binary() - Кодирует бинарные данные перед тем как вернуть их из UDF

sqlite_error_string
sqlite_exec
SQLite


Выполняет запрос, не возвращающий записей

sqlite_escape_string
sqlite_factory
SQLite
PHP Manual

sqlite_exec

SQLiteDatabase->exec

(PHP 5, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase->exec — Выполняет запрос, не возвращающий записей

Описание

bool sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] )
bool sqlite_exec ( string $query , resource $dbhandle )

Объектно-ориентированный стиль (метод):

bool SQLiteDatabase::queryExec ( string $query [, string &$error_msg ] )

Выполняет запрос query к базе данных, идентификатор которой задан аргументом dbhandle.

Внимание

SQLite выполнит несколько запросов, разделенных точкой с запятой, за один вызов функции. Это можно использовать, например, для выполнения запросов, прочитанных из файла.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

query

Выполняемый запрос.

Данные в запросе должны быть корректно проэкранированы.

error_msg

Данная переменная будет заполнена текстом ошибки, если таковая произойдет. Это особенно важно, потому что синтаксические ошибки SQL не могут быть получены из функции sqlite_last_error().

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

Возвращаемые значения

Это функция возвращает булевый результат: TRUE в случае успеха и FALSE в случае ошибки. Если вам необходимо запустить запрос, возвращающий результат, используйте функцию sqlite_query().

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр error_msg

Примеры

Пример #1 Пример с использованием процедурного стиля

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Ошибка в запросе: '$error'");
} else {
    echo 'Количество затронутых рядов: ', sqlite_changes($dbhandle);
}
?>

Пример #2 Object-oriented example

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Ошибка в запросе: '$error'");
} else {
    echo 'Количество затронутых рядов: ', $dbhandle->changes();
}
?>

Смотрите также

  • sqlite_query() - Выполняет запрос к базе данных и возвращает идентификатор результата
  • sqlite_unbuffered_query() - Выполняет запрос без буферизации результатов
  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива

sqlite_escape_string
sqlite_factory
SQLite


Открывает базу данных SQLite и возвращает объект

sqlite_exec
sqlite_fetch_all
SQLite
PHP Manual

sqlite_factory

(PHP 5)

sqlite_factory — Открывает базу данных SQLite и возвращает объект

Описание

SQLiteDatabase sqlite_factory ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

sqlite_factory() похожа на sqlite_open() в том, что она открывает базу данных SQLite database или пытается создать ее, если она не существует. Однако, в качестве результата возвращается объект SQLiteDatabase, а не ресурс. Для дальнейшего использования и замечаний смотрите страницу sqlite_open().

Список параметров

filename

Путь к базе данных SQLite.

mode

Режим файла. Предназначется для открытия базы данных в режиме только для чтения. На данный момент этот параметр игнорируется библиотекой sqlite. Значением по умолчанию является 0666, рекомендуется использовать именно это значение.

error_message

Передается по ссылке и устанавливается в понятное сообщение об ошибке, разъясняющее, почему база данных не может быть открыта, в случае возникновения ошибки.

Возвращаемые значения

Возвращает объект SQLiteDatabase в случае успеха, или NULL в случае ошибки.

Примеры

Пример #1 Пример использования sqlite_factory()

<?php
$dbhandle = sqlite_factory('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

/* процедурный эквивалент: */

$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

?>

Смотрите также

  • sqlite_open() - Открывает базу данных SQLite или создает ее, если она не существует
  • sqlite_popen() - Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует

sqlite_exec
sqlite_fetch_all
SQLite


Выбирает все записи из результата запроса и возвращает многомерный массив

sqlite_factory
sqlite_fetch_array
SQLite
PHP Manual

sqlite_fetch_all

SQLiteResult->fetchAll

SQLiteUnbuffered->fetchAll

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_all -- SQLiteResult->fetchAll -- SQLiteUnbuffered->fetchAll — Выбирает все записи из результата запроса и возвращает многомерный массив

Описание

array sqlite_fetch_all ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Объектно-ориентированный стиль (метод):

array SQLiteResult::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_fetch_all() возвращает массив с полным результирующим набором из ресурса result. Она похожа на вызов функци sqlite_query() (или sqlite_unbuffered_query()), а затем sqlite_fetch_array() для каждого ряда результирующего набора.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает массив с оставшимися рядами в результиующем наборе. Возвращает все ряды при вызове сразу после sqlite_query(). При вызове после sqlite_fetch_array(), функция вернет оставшиеся ряды. Если в результирующем наборе больше нет рядов, то будет возвращен пустой массив.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // буферизованный результирующий набор
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // небуферизованный результирующий набор

$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Смотрите также

  • sqlite_fetch_array() - Выбирает следующую запись из результата запроса и возвращает массив

sqlite_factory
sqlite_fetch_array
SQLite


Выбирает следующую запись из результата запроса и возвращает массив

sqlite_fetch_all
sqlite_fetch_column_types
SQLite
PHP Manual

sqlite_fetch_array

SQLiteResult->fetch

SQLiteUnbuffered->fetch

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_array -- SQLiteResult->fetch -- SQLiteUnbuffered->fetch — Выбирает следующую запись из результата запроса и возвращает массив

Описание

array sqlite_fetch_array ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Объектно-ориентированный стиль (метод):

array SQLiteResult::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Выбирает следующую запись из результата запроса, заданного аргументом result. Если результат больше не содержит данных, возвращает FALSE, иначе возвращает массив, содержащий данные.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает массив со следующей записью в результирующем наборе, или FALSE, если следующая позиция находится за последней записью.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
while ($entry = sqlite_fetch_array($query, SQLITE_ASSOC)) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // буферизованный результирующий набор
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // небуферизованный результирующий набор

while ($entry = $query->fetch(SQLITE_ASSOC)) {
    echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Смотрите также

  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива
  • sqlite_fetch_string() - Псевдоним sqlite_fetch_single

sqlite_fetch_all
sqlite_fetch_column_types
SQLite


Возвращает массив, содержащий информацию о типах полей в таблице

sqlite_fetch_array
sqlite_fetch_object
SQLite
PHP Manual

sqlite_fetch_column_types

SQLiteDatabase->fetchColumnTypes

(PHP 5)

sqlite_fetch_column_types -- SQLiteDatabase->fetchColumnTypes — Возвращает массив, содержащий информацию о типах полей в таблице

Описание

array sqlite_fetch_column_types ( string $table_name , resource $dbhandle [, int $result_type = SQLITE_ASSOC ] )

Объектно-ориентированный стиль (метод):

array SQLiteDatabase::fetchColumnTypes ( string $table_name [, int $result_type = SQLITE_ASSOC ] )

sqlite_fetch_column_types() возвращает массив, содержащий информацию о типах полей в указанной таблице table_name.

Список параметров

table_name

Название опрашиваемой таблицы.

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() при использовании процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

result_type

Необязательный параметр result_type принимает константу в качестве значения и определяет способ индексации возвращаемого массива. Использование константы SQLITE_ASSOC вернет только ассоциативные индексы (именованные поля), тогда как использование SQLITE_NUM вернет только числовые индексы (порядковые номера полей). По умолчанию используется SQLITE_ASSOC.

Возвращаемые значения

Возвращает массив с типами полей, или FALSE в случае ошибки.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр result_type

Примеры

Пример #1 Процедурный стиль

<?php
$db = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
$cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Поле: $column  Тип: $type\n";
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$db = new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Поле: $column  Тип: $type\n";
}
?>

Результат выполнения данного примера:

Поле: bar  Тип: VARCHAR
Поле: arf  Тип: TEXT

sqlite_fetch_array
sqlite_fetch_object
SQLite


Выбирает следующую запись из результата запроса и возвращает объект

sqlite_fetch_column_types
sqlite_fetch_single
SQLite
PHP Manual

sqlite_fetch_object

SQLiteResult->fetchObject

SQLiteUnbuffered->fetchObject

(PHP 5)

sqlite_fetch_object -- SQLiteResult->fetchObject -- SQLiteUnbuffered->fetchObject — Выбирает следующую запись из результата запроса и возвращает объект

Описание

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )

Объектно-ориентированный стиль (метод):

object SQLiteResult::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
object SQLiteUnbuffered::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_fetch_column_types
sqlite_fetch_single
SQLite


Выбирает значение первого поля из результата запроса и возвращает в виде строки

sqlite_fetch_object
sqlite_fetch_string
SQLite
PHP Manual

sqlite_fetch_single

SQLiteResult->fetchSingle

SQLiteUnbuffered->fetchSingle

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_fetch_single -- SQLiteResult->fetchSingle -- SQLiteUnbuffered->fetchSingle — Выбирает значение первого поля из результата запроса и возвращает в виде строки

Описание

string sqlite_fetch_single ( resource $result [, bool $decode_binary = true ] )

Объектно-ориентированный стиль (метод):

string SQLiteResult::fetchSingle ([ bool $decode_binary = true ] )
string SQLiteUnbuffered::fetchSingle ([ bool $decode_binary = true ] )

sqlite_fetch_single() идентична sqlite_fetch_array() за исключением того, что возвращается значение только первого поля.

Использование этой функции является оптимальным способом получения данных, когда нужно получить значение только одного поля.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарную кодировку, применённую к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает значение первого поля в виде строки.

Примеры

Пример #1 Пример использования sqlite_fetch_single()

<?php
if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    $sql = "SELECT id FROM sometable WHERE id = 42";
    $res = sqlite_query($dbhandle, $sql);

    if (sqlite_num_rows($res) > 0) {
        echo sqlite_fetch_single($res); // 42
    }

    sqlite_close($dbhandle);
}
?>

Смотрите также

  • sqlite_fetch_array() - Выбирает следующую запись из результата запроса и возвращает массив

sqlite_fetch_object
sqlite_fetch_string
SQLite


Псевдоним sqlite_fetch_single

sqlite_fetch_single
sqlite_field_name
SQLite
PHP Manual

sqlite_fetch_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_string — Псевдоним sqlite_fetch_single()

Описание

Эта функция является псевдонимом: sqlite_fetch_single().

sqlite_fetch_single
sqlite_field_name
SQLite


Возвращает имя указанного поля

sqlite_fetch_string
sqlite_has_more
SQLite
PHP Manual

sqlite_field_name

SQLiteResult->fieldName

SQLiteUnbuffered->fieldName

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_field_name -- SQLiteResult->fieldName -- SQLiteUnbuffered->fieldName — Возвращает имя указанного поля

Описание

string sqlite_field_name ( resource $result , int $field_index )

Объектно-ориентированный стиль (метод):

string SQLiteResult::fieldName ( int $field_index )
string SQLiteUnbuffered::fieldName ( int $field_index )

При передаче номера поля field_index функция sqlite_field_name() возвращает имя это поля из результата запроса result.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

field_index

Порядковый номер поля в результирующем наборе.

Возвращаемые значения

Возвращает имя поля в результирующем наборе SQLite по указанному порядковому номеру поля, или FALSE в случае ошибки.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению концфигурационной опции sqlite.assoc_case.

sqlite_fetch_string
sqlite_has_more
SQLite


Определяет, есть ли еще записи в результате запроса

sqlite_field_name
sqlite_has_prev
SQLite
PHP Manual

sqlite_has_more

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_has_more — Определяет, есть ли еще записи в результате запроса

Описание

bool sqlite_has_more ( resource $result )

Определяет, есть ли еще записи в результате запроса.

Список параметров

result

Ресурс результата SQLite.

Возвращаемые значения

sqlite_has_more() возвращает TRUE если результат запроса result содержит записи, доступные для выборки, иначе возвращает FALSE.

Смотрите также

  • sqlite_num_rows() - Возвращает количество записей в результате запроса
  • sqlite_changes() - Возвращает количество записей, которые были изменены последним SQL-запросом

sqlite_field_name
sqlite_has_prev
SQLite


Определяет, доступна ли предыдущая запись

sqlite_has_more
sqlite_key
SQLite
PHP Manual

sqlite_has_prev

SQLiteResult->hasPrev

(PHP 5)

sqlite_has_prev -- SQLiteResult->hasPrev — Определяет, доступна ли предыдущая запись

Описание

bool sqlite_has_prev ( resource $result )

Объектно-ориентированный стиль (метод):

bool SQLiteResult::hasPrev ( void )

Определяет, доступны ли предыдущие записи в указанном результате.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает TRUE если предыдущая запись результата запроса result доступна, иначе возвращает FALSE.

Смотрите также

  • sqlite_prev() - Переходит на предыдущую запись
  • sqlite_has_more() - Определяет, есть ли еще записи в результате запроса
  • sqlite_num_rows() - Возвращает количество записей в результате запроса

sqlite_has_more
sqlite_key
SQLite


Возвращает текущую позицию указателя

sqlite_has_prev
sqlite_last_error
SQLite
PHP Manual

sqlite_key

SQLiteResult->key

(PHP 5 >= 5.1.0)

sqlite_key -- SQLiteResult->key — Возвращает текущую позицию указателя

Описание

int sqlite_key ( resource $result )

Объектно-ориентированный стиль (метод):

int SQLiteResult::key ( void )

sqlite_key() возвращает текущую позицию указателя в буферизованном результирующем наборе result.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает текущую позицию указателя в буферизованном результирующем наборе result.

Список изменений

Версия | Описание
5.0.4 | До версии PHP 5.0.4 sqlite_key() можно было вызывать только в качестве метода объекта SQLiteResult, процедурная альтернатива не существовала.

Смотрите также

  • sqlite_next() - Переходит на следующую запись
  • sqlite_current() - Возвращает текущую запись из результирующего набора в виде массива
  • sqlite_rewind() - Переходит к первой записи

sqlite_has_prev
sqlite_last_error
SQLite


Возвращает код ошибки последней операции с SQLite

sqlite_key
sqlite_last_insert_rowid
SQLite
PHP Manual

sqlite_last_error

SQLiteDatabase->lastError

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_error -- SQLiteDatabase->lastError — Возвращает код ошибки последней операции с SQLite

Описание

int sqlite_last_error ( resource $dbhandle )

Объектно-ориентированный стиль (метод):

int SQLiteDatabase::lastError ( void )

Возвращает код ошибки последней операции с базой данных с идентификатором dbhandle, или 0 в случае отсутствия ошибок. Описание ошибки можно получить с помощью функции sqlite_error_string().

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

Возвращаемые значения

Возвращает код ошибки, или 0 в случае ее отсутствия.

Смотрите также

  • sqlite_error_string() - Возвращает строку с описанием ошибки

sqlite_key
sqlite_last_insert_rowid
SQLite


Возвращает идентификатор последней вставленной записи

sqlite_last_error
sqlite_libencoding
SQLite
PHP Manual

sqlite_last_insert_rowid

SQLiteDatabase->lastInsertRowid

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_insert_rowid -- SQLiteDatabase->lastInsertRowid — Возвращает идентификатор последней вставленной записи

Описание

int sqlite_last_insert_rowid ( resource $dbhandle )

Объектно-ориентированный стиль (метод):

int SQLiteDatabase::lastInsertRowid ( void )

Возвращает идентификатор последней записи, вставленной в базу данных dbhandle, если таблица, в которую была вставлена запись, содержит поле с автоинкрементом.

Подсказка

Поля с автоинкрементом в SQLite объявляются как INTEGER PRIMARY KEY.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

Возвращаемые значения

Возвращает идентификатор записи в виде целого числа.

sqlite_last_error
sqlite_libencoding
SQLite


Возвращает кодировку, используемую подключенной библиотекой SQLite

sqlite_last_insert_rowid
sqlite_libversion
SQLite
PHP Manual

sqlite_libencoding

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_libencoding — Возвращает кодировку, используемую подключенной библиотекой SQLite

Описание

string sqlite_libencoding ( void )

SQLite может быть скомпилирована либо в режиме совместимости ISO-8859-1, либо UTF-8. Эта функция позволяет определить, какую кодировку использует подключенная библиотека.

Внимание

По умолчанию, PHP компилирует libsqlite в режиме совместимости с кодировкой ISO-8859-1. Однако, это неверное название; вместо использования ISO-8859-1, библиотека работает в соответствии с установками текущей локали для сравнения и сортировки строк. Поэтому следует считать, что используется не ISO-8859-1, а кодировка '8-bit'.

При компиляции с поддержкой UTF-8 sqlite корректно распознает многобайтные символы UTF-8, однако поддержка этой кодировки все же неполная (например, не производится нормализация); кроме того, некоторые операции сравнения все еще выполняются некорректно.

Внимание

В веб-окружении не рекомендуется использовать PHP и SQLite с поддержкой UTF-8, так как libsqlite завершает процесс при обнаружении проблем с кодировкой UTF-8.

Возвращаемые значения

Возвращает кодировку, используемую библиотекой.

Смотрите также

  • sqlite_lib_version()

sqlite_last_insert_rowid
sqlite_libversion
SQLite


Возвращает версию подключенной библиотеки SQLite

sqlite_libencoding
sqlite_next
SQLite
PHP Manual

sqlite_libversion

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_libversion — Возвращает версию подключенной библиотеки SQLite

Описание

string sqlite_libversion ( void )

Возвращает версию подключенной библиотеки SQLite.

Возвращаемые значения

Возвращает версию библиотеки в виде строки.

Смотрите также

  • sqlite_libencoding() - Возвращает кодировку, используемую подключенной библиотекой SQLite

sqlite_libencoding
sqlite_next
SQLite


Переходит на следующую запись

sqlite_libversion
sqlite_num_fields
SQLite
PHP Manual

sqlite_next

SQLiteResult->next

SQLiteUnbuffered->next

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_next -- SQLiteResult->next -- SQLiteUnbuffered->next — Переходит на следующую запись

Описание

bool sqlite_next ( resource $result )

Объектно-ориентированный стиль (метод):

bool SQLiteResult::next ( void )
bool SQLiteUnbuffered::next ( void )

sqlite_next() перемещает внутренний указатель результата запроса result на следующую запись.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Возвращаемые значения

Возвращает TRUE в случае успеха, или FALSE, если записей больше нет.

Смотрите также

  • sqlite_seek() - Переходит к определенному номеру записи в буферизованном результирующем наборе
  • sqlite_current() - Возвращает текущую запись из результирующего набора в виде массива
  • sqlite_rewind() - Переходит к первой записи

sqlite_libversion
sqlite_num_fields
SQLite


Возвращает количество полей в результате запроса

sqlite_next
sqlite_num_rows
SQLite
PHP Manual

sqlite_num_fields

SQLiteResult->numFields

SQLiteUnbuffered->numFields

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_fields -- SQLiteResult->numFields -- SQLiteUnbuffered->numFields — Возвращает количество полей в результате запроса

Описание

int sqlite_num_fields ( resource $result )

Объектно-ориентированный стиль (метод):

int SQLiteResult::numFields ( void )
int SQLiteUnbuffered::numFields ( void )

Возвращает количество полей в результате запроса result.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Возвращаемые значения

Возвращает количество полей в виде целого числа.

Смотрите также

  • sqlite_changes() - Возвращает количество записей, которые были изменены последним SQL-запросом
  • sqlite_num_rows() - Возвращает количество записей в результате запроса

sqlite_next
sqlite_num_rows
SQLite


Возвращает количество записей в результате запроса

sqlite_num_fields
sqlite_open
SQLite
PHP Manual

sqlite_num_rows

SQLiteResult->numRows

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_rows -- SQLiteResult->numRows — Возвращает количество записей в результате запроса

Описание

int sqlite_num_rows ( resource $result )

Объектно-ориентированный стиль (метод):

int SQLiteResult::numRows ( void )

Возвращает количество записей в буферизованном результирующем наборе result.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает количество рядов в виде целого числа.

Примеры

Пример #1 Процедурный стиль

<?php
$db = sqlite_open('mysqlitedb');
$result = sqlite_query($db, "SELECT * FROM mytable WHERE name='John Doe'");
$rows = sqlite_num_rows($result);

echo "Количество рядов: $rows";
?>

Пример #2 Объектно-ориентированнный стиль

<?php
$db = new SQLiteDatabase('mysqlitedb');
$result = $db->query("SELECT * FROM mytable WHERE name='John Doe'");
$rows = $result->numRows();

echo "Количество рядов: $rows";
?>

Смотрите также

  • sqlite_changes() - Возвращает количество записей, которые были изменены последним SQL-запросом
  • sqlite_query() - Выполняет запрос к базе данных и возвращает идентификатор результата
  • sqlite_num_fields() - Возвращает количество полей в результате запроса

sqlite_num_fields
sqlite_open
SQLite


Открывает базу данных SQLite или создает ее, если она не существует

sqlite_num_rows
sqlite_popen
SQLite
PHP Manual

sqlite_open

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_open — Открывает базу данных SQLite или создает ее, если она не существует

Описание

resource sqlite_open ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Объектно-ориентированный стиль (конструктор):

SQLiteDatabase::__construct ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Открывает базу данных SQLite или создает ее, если она не существует.

Список параметров

filename

Имя файла базы данных SQLite. Если файл не существует, SQLite попытается создать его. PHP должен владеть правами записи на файл в случае вставки данных, изменения схемы базы данных или создания файла с базой данных, если он не существует.

mode

Режим прав доступа на файл. Предназначется для открытия базы данных в режиме только для чтения, однако в настоящее время этот аргумент не используется библиотекой sqlite. Значением по умолчанию (и рекомендуемым к использованию) является восьмеричное 0666.

error_message

Передается по ссылке и устанавливается в читабельное сообщение об ошибке, объясняющее почему не удалось открыть базу данных, в случае возникновения таковой ошибки.

Возвращаемые значения

Возвращает ресурс (идентификатор базы данных) при успешном завершении, FALSE при возникновении ошибки.

Примеры

Пример #1 Пример использованияsqlite_open()

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}
?>

Примечания

Подсказка

На платформах Unix, SQLite может работать некорректно в программах, использующих вызов fork(). В таких программах рекомендуется закрывать базу данных перед запуском дочернего процесса и затем заново открывать ее в дочернем и/или родительском процессе. Дополнительная информация о проблеме содержится в » описании интерфейса SQLite на языке C в разделе "Multi-Threading And SQLite".

Подсказка

Не рекомендуется работать с базами данных SQLite, смонтированных на NFS разделах. Общеизвестна плохая реализация блокировок в NFS, поэтому вам может даже не удастся открыть базу данных вообще, а если все-таки это произойдет, то поведение данной блокировки будет неопределенным.

Замечание: Начиная с SQLite версии 2.8.2, можно указывать :memory: в качестве значения аргумента filename для создания базы данных в памяти. Это может быть полезно в тех случаях, когда необходимо создание временной базы данных, которая должна быть уничтожена при завершении процесса. Также это может использоваться совместно с командой ATTACH DATABASE для загрузки других баз данных и выполнения операций с ними.

Замечание: Модуль SQLite учитывает опции безопасный режим и open_basedir.

Смотрите также

  • sqlite_popen() - Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует
  • sqlite_close() - Закрывает открытую базу данных SQLite
  • sqlite_factory() - Открывает базу данных SQLite и возвращает объект

sqlite_num_rows
sqlite_popen
SQLite


Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует

sqlite_open
sqlite_prev
SQLite
PHP Manual

sqlite_popen

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_popen — Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует

Описание

resource sqlite_popen ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Эта функция идентична sqlite_open(), за исключением того, что она использует механизм постоянных соединений PHP. Описание аргументов находится в описании функции sqlite_open().

sqlite_popen() пытается найти уже открытый дескриптор постоянного подключения к файлу filename. Если такой дескриптор уже есть, функция возвращает его, иначе он открывается заново.

Выгода от использования постоянного подключения заключается в том, что не тратится время на открытие файла и чтение структуры данных при каждом запросе. Это справедливо только в случае использования PHP в качестве SAPI веб-сервера (любой SAPI, кроме CGI и CLI).

Замечание: При использовании постоянных подключений необходимо следить за тем, чтобы файл базы данных не перезаписывался внешними процессами (например, программой, запущенной с помощью crontab), которые пересоздают файл с базой данных (например, с помощью удаления и создания заново или при замене старой версии обновленной версией из другого файла), так как это вызовет непредсказуемые последствия при удалении старой версии базы данных. Для избежания этой ситуации, убедитесь что ваши фоновые процессы открывают нужный файл с базой данных и выполняют обновления с помощью транзакций.

Список параметров

filename

Имя файла базы данных SQLite. Если файл не существует, SQLite попытается создать его. PHP должен владеть правами записи на файл в случае вставки данных, изменения схемы базы данных или создания файла с базой данных, если он не существует.

mode

Режим прав доступа на файл. Предназначется для открытия базы данных в режиме только для чтения, однако в настоящее время этот аргумент не используется библиотекой sqlite. Значением по умолчанию (и рекомендуемым к использованию) является восьмеричное 0666.

error_message

Передается по ссылке и устанавливается в читабельное сообщение об ошибке, объясняющее почему не удалось открыть базу данных, в случае возникновения таковой ошибки.

Возвращаемые значения

Возвращает ресурс (дескриптор базы данных) в случае успеха, или FALSE в случае ошибки.

Смотрите также

  • sqlite_open() - Открывает базу данных SQLite или создает ее, если она не существует
  • sqlite_close() - Закрывает открытую базу данных SQLite
  • sqlite_factory() - Открывает базу данных SQLite и возвращает объект

sqlite_open
sqlite_prev
SQLite


Переходит на предыдущую запись

sqlite_popen
sqlite_query
SQLite
PHP Manual

sqlite_prev

SQLiteResult->prev

(PHP 5)

sqlite_prev -- SQLiteResult->prev — Переходит на предыдущую запись

Описание

bool sqlite_prev ( resource $result )

Object oriented style (method):

bool SQLiteResult::prev ( void )

sqlite_prev() перемещает внутренний указатель в дескрипторе результирующего набора result на предыдущую запись.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает TRUE в случае успеха, или FALSE, если предыдущих записей больше нет.

Смотрите также

  • sqlite_has_prev() - Определяет, доступна ли предыдущая запись
  • sqlite_rewind() - Переходит к первой записи
  • sqlite_next() - Переходит на следующую запись

sqlite_popen
sqlite_query
SQLite


Выполняет запрос к базе данных и возвращает идентификатор результата

sqlite_prev
sqlite_rewind
SQLite
PHP Manual

sqlite_query

SQLiteDatabase->query

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase->query — Выполняет запрос к базе данных и возвращает идентификатор результата

Описание

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Объектно-ориентированный стиль (метод):

SQLiteResult SQLiteDatabase::query ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Выполняет SQL-запрос query к указанному дескриптору базы данных.

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

query

Выполняемый запрос.

Данные в запросе должны быть корректно экранированы.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

error_msg

Указанная переменная будет заполнена в случае возникновения ошибки. Это особенно важно, так как ошибки синтаксиса SQL не возращаются функцией sqlite_last_error().

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

Возвращаемые значения

Эта функция возвращает идентификатор результата запроса или FALSE в случае возникновения ошибки. Для запросов, возвращающих данные, этот идентификатор может использоваться в качестве аргумента таких функций как sqlite_fetch_array() и sqlite_seek().

Независимо от типа запроса, в случае возникновения ошибки эта функция возвращает FALSE.

sqlite_query() возвращает буферизованный результирующий набор, по котому также можно перемещаться в различных направлениях. Её следует использовать для запросов, возвращающих относительно небольшое количество записей, если вам необходим случайный доступ к записям. Дескриптор буферизованного результата выделит память для всего возвращаемого результата и не возвратит ее, пока весь результат не будет полностью получен. Если вам необходим только последовательный доступ к записям, рекомендуется использовать намного более производительную функцию sqlite_unbuffered_query().

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр error_msg

Примечания

Внимание

SQLite выполнит несколько запросов, разделенных точкой с запятой, что можно использовать, например, для выполнения запросов, прочитанных из файла. Однако, это работает только в случае, если результат функции не используется - если он используется, то будет выполнен только первый запрос. Функция sqlite_exec() всегда выполняет все запросы.

При выполнении нескольких запросов, эта функция возвращает FALSE в случае ошибки, иначе возвращаемое значение будет неопределенным (оно может быть как TRUE, так и идентификатором результата запроса).

Смотрите также

  • sqlite_unbuffered_query() - Выполняет запрос без буферизации результатов
  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива

sqlite_prev
sqlite_rewind
SQLite


Переходит к первой записи

sqlite_query
sqlite_seek
SQLite
PHP Manual

sqlite_rewind

SQLiteResult->rewind

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_rewind -- SQLiteResult->rewind — Переходит к первой записи

Описание

bool sqlite_rewind ( resource $result )

Объектно-ориентированный стиль (метод):

bool SQLiteResult::rewind ( void )

sqlite_rewind() перемещает внутренний указатель в результирующем наборе на первую запись.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает FALSE, если результат запроса не содержит записей, иначе возвращается TRUE.

Смотрите также

  • sqlite_next() - Переходит на следующую запись
  • sqlite_current() - Возвращает текущую запись из результирующего набора в виде массива
  • sqlite_seek() - Переходит к определенному номеру записи в буферизованном результирующем наборе

sqlite_query
sqlite_seek
SQLite


Переходит к определенному номеру записи в буферизованном результирующем наборе

sqlite_rewind
sqlite_single_query
SQLite
PHP Manual

sqlite_seek

SQLiteResult->seek

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_seek -- SQLiteResult->seek — Переходит к определенному номеру записи в буферизованном результирующем наборе

Описание

bool sqlite_seek ( resource $result , int $rownum )

Объектно-ориентированный стиль (метод):

bool SQLiteResult::seek ( int $rownum )

sqlite_seek() перемещает внутренний указатель к записи с порядковым номером, заданным аргументом rownum.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

rownum

Порядковый номер записи, к которой производится перемещение. Нумерация начинается с нуля (0 указывает на первую запись).

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает FALSE, если запись не существует, иначе возвращается TRUE.

Смотрите также

  • sqlite_next() - Переходит на следующую запись
  • sqlite_current() - Возвращает текущую запись из результирующего набора в виде массива
  • sqlite_rewind() - Переходит к первой записи

sqlite_rewind
sqlite_single_query
SQLite


Выполняет запрос и возвращает массив со значениями одного поля или первую запись

sqlite_seek
sqlite_udf_decode_binary
SQLite
PHP Manual

sqlite_single_query

SQLiteDatabase->singleQuery

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_single_query -- SQLiteDatabase->singleQuery — Выполняет запрос и возвращает массив со значениями одного поля или первую запись

Описание

array sqlite_single_query ( resource $db , string $query [, bool $first_row_only [, bool $decode_binary ]] )

Объектно-ориентированный стиль (метод):

array SQLiteDatabase::singleQuery ( string $query [, bool $first_row_only [, bool $decode_binary ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_seek
sqlite_udf_decode_binary
SQLite


Декодирует бинарные данные, переданные в качестве параметров в UDF

sqlite_single_query
sqlite_udf_encode_binary
SQLite
PHP Manual

sqlite_udf_decode_binary

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_udf_decode_binary — Декодирует бинарные данные, переданные в качестве параметров в UDF

Описание

string sqlite_udf_decode_binary ( string $data )

Декодирует бинарные данные, переданные в качестве параметров в UDF.

Эту функцию следует применять к аргументам, переданным в UDF, если в этих аргументах могут содержаться бинарные данные.

PHP не осуществляет данные операции кодирования и декодирования автоматически, так как это негативно сказывается на производительности.

Список параметров

data

Закодированные данные, которые будут раскодированы. Кодирование должно было быть осуществлено с помощью функций sqlite_udf_encode_binary() или sqlite_escape_string().

Возвращаемые значения

The decoded string.

Примеры

Пример #1 Пример реализации агрегирующей функции max_length, способной работать с бинарными данными

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    $string = sqlite_udf_decode_binary($string);
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

Смотрите также

  • sqlite_udf_encode_binary() - Кодирует бинарные данные перед тем как вернуть их из UDF
  • sqlite_create_function() - Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_create_aggregate() - Регистрирует агрегирующую функцию для использования в SQL-запросах

sqlite_single_query
sqlite_udf_encode_binary
SQLite


Кодирует бинарные данные перед тем как вернуть их из UDF

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite
PHP Manual

sqlite_udf_encode_binary

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_udf_encode_binary — Кодирует бинарные данные перед тем как вернуть их из UDF

Описание

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() кодирует бинарные данные data таким образом, что они могут быть возвращены в качестве результата запроса (так как библиотека libsqlite небезопасна для обработки бинарных данных).

Если данные могут быть бинарно-небезопасными (например, содержать NUL в середине строки или байт 0x01 в начале строки), то такие данные следует закодировать этой функцией перед тем, как возвращать их из вашей UDF.

PHP не осуществляет данные операции кодирования и декодирования автоматически, так как это негативно сказывается на производительности.

Замечание:

Не используйте функцию sqlite_escape_string() для экранирования строк, возвращаемых из UDF, так как это приведет к двойному экранированию. Используйте вместо этого sqlite_udf_encode_binary() !

Список параметров

data

Кодируемая строка (string).

Возвращаемые значения

Закодированная строка (string).

Смотрите также

  • sqlite_udf_decode_binary() - Декодирует бинарные данные, переданные в качестве параметров в UDF
  • sqlite_escape_string() - Экранирует спецсимволы в строке для использования в запросе
  • sqlite_create_function() - Регистрирует "стандартную" функцию (UDF) для использования в SQL-запросах
  • sqlite_create_aggregate() - Регистрирует агрегирующую функцию для использования в SQL-запросах

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite


Выполняет запрос без буферизации результатов

sqlite_udf_encode_binary
sqlite_valid
SQLite
PHP Manual

sqlite_unbuffered_query

SQLiteDatabase->unbufferedQuery

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase->unbufferedQuery — Выполняет запрос без буферизации результатов

Описание

resource sqlite_unbuffered_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_unbuffered_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Объектно-ориентированный стиль (метод):

SQLiteUnbuffered SQLiteDatabase::unbufferedQuery ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

sqlite_unbuffered_query() идентична функции sqlite_query() за исключением того, что записи из возвращаемого результата можно получать только последовательно, одну за другой.

Эта функция идеально подходит для тех случаев, когда нужно последовательно обработать записи из результата запроса и нет необходимости в доступе к произвольной записи результата запроса, например при выводе данных из базы данных в виде HTML таблицы.

Замечание:

Функции  sqlite_seek(),
sqlite_rewind(), sqlite_next(),
sqlite_current() и
sqlite_num_rows() не работают с результатами,
возвращаемыми функцией sqlite_unbuffered_query().

Список параметров

dbhandle

Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.

query

Выполняемый запрос.

Данные в запросе должны быть корректно экранированы.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращён ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернёт массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

error_msg

Указанная переменная будет заполнена в случае возникновения ошибки. Это особенно важно, так как ошибки синтаксиса SQL не возращаются функцией sqlite_last_error().

Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр dbhandle является первым параметром функции.

Возвращаемые значения

Возвращает дескриптор результата или FALSE в случае возникновения ошибки.

sqlite_unbuffered_query() возвращает последовательный результирующий набор, записи из которого можно читать только вперед, одну за другой.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр error_msg

Смотрите также

  • sqlite_query() - Выполняет запрос к базе данных и возвращает идентификатор результата

sqlite_udf_encode_binary
sqlite_valid
SQLite


Проверяет, есть ли еще доступные ряды

sqlite_unbuffered_query
SQLite3
SQLite
PHP Manual

sqlite_valid

SQLiteResult->valid

SQLiteUnbuffered->valid

(PHP 5)

sqlite_valid -- SQLiteResult->valid -- SQLiteUnbuffered->valid — Проверяет, есть ли еще доступные ряды

Описание

bool sqlite_valid ( resource $result )

Объектно-ориентированный стиль (метод):

bool SQLiteResult::valid ( void )
bool SQLiteUnbuffered::valid ( void )

Проверяет, есть ли еще доступные ряды в указанном результирующем наборе.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

Замечание:

Эта функция не может быть использована с идентификаторами результатов небуферизированных запросов.

Возвращаемые значения

Возвращает TRUE, если в результирующем наборе result еще есть доступные ряды, иначе возвращается FALSE.

Смотрите также

  • sqlite_num_rows() - Возвращает количество записей в результате запроса
  • sqlite_changes() - Возвращает количество записей, которые были изменены последним SQL-запросом

sqlite_unbuffered_query
SQLite3
SQLite


SQLite3

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SQLite3 — Класс SQLite3
    • SQLite3::busyTimeout — Sets the busy connection handler
    • SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement
    • SQLite3::close — Closes the database connection
    • SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database
    • SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function
    • SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function
    • SQLite3::escapeString — Returns a string that has been properly escaped
    • SQLite3::exec — Executes a result-less query against a given database
    • SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request
    • SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request
    • SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database
    • SQLite3::loadExtension — Attempts to load an SQLite extension library
    • SQLite3::open — Opens an SQLite database
    • SQLite3::prepare — Prepares an SQL statement for execution
    • SQLite3::query — Executes an SQL query
    • SQLite3::querySingle — Executes a query and returns a single result
    • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number
  • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
    • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
    • SQLite3Stmt::clear — Clears all current bound parameters
    • SQLite3Stmt::close — Closes the prepared statement
    • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
    • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
    • SQLite3Stmt::reset — Resets the prepared statement
  • SQLite3Result — The SQLite3Result class
    • SQLite3Result::columnName — Returns the name of the nth column
    • SQLite3Result::columnType — Returns the type of the nth column
    • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
    • SQLite3Result::finalize — Closes the result set
    • SQLite3Result::numColumns — Returns the number of columns in the result set
    • SQLite3Result::reset — Resets the result set back to the first row
sqlite_valid
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Обеспечение поддержки баз данных SQLite версии 3.

SQLite3
Установка и настройка
SQLite3


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SQLite3


Установка

Расширение SQLite3 доступно по умолчанию начиная с версии PHP 5.3.0. Расширение можно отключить помощью --without-sqlite3 во время компиляции.

Пользователи Windows должны включить поддержку php_sqlite3.dll для того, чтобы использовать это расширение. Эта DLL входит в состав Windows-дистрибутивов РНР начиная с версии PHP 5.3.0.

Замечание:

Некоторое время данное расширение было так называемым PECL-расширением, версии которого рекомендуется использовать только в целях эксперимента.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки SQLite3
Имя | По умолчанию | Меняемо | Изменения
sqlite3.extension_dir | NULL | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

sqlite3.extension_dir string

Путь к каталогу, в котором находятся файлы расширения SQLite.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SQLITE3_ASSOC (integer)
Указывает на то, что Sqlite3Result::fetchArray() метод должен вернуть массив, индексированный по имени столбца в соответствующий набор результатов.
SQLITE3_NUM (integer)
Указывает на то, что Sqlite3Result::fetchArray() метод должен вернуть массив, индексированный по номеру столбца в соответствующий набор результатов, начиная со столбца 0.
SQLITE3_BOTH (integer)
Указывает на то, что Sqlite3Result::fetchArray() метод должен вернуть массив, индексированный по имени столбца и его номеру в соответствующий набор результатов, начиная со столбца 0.
SQLITE3_INTEGER (integer)
Представляет класс хранения типа SQLite3 INTEGER.
SQLITE3_FLOAT (integer)
Представляет класс хранения типа SQLite3 REAL (FLOAT).
SQLITE3_TEXT (integer)
Представляет класс хранения типа SQLite3 TEXT.
SQLITE3_BLOB (integer)
Представляет класс хранения типа SQLite3 BLOB.
SQLITE3_NULL (integer)
Представляет класс хранения типа SQLite3 NULL.
SQLITE3_OPEN_READONLY (integer)
Указывает на то, что база данных SQLite3 доступна только для чтения.
SQLITE3_OPEN_READWRITE (integer)
Указывает на то, что база данных SQLite3 доступна как для для чтения, так и для записи.
SQLITE3_OPEN_CREATE (integer)
Указывает на то, что файл базы данных SQLite3 будет создан в том случае, если он еще не существует.

Типы ресурсов
SQLite3
SQLite3


Класс SQLite3

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс предоставляющий доступ к API SQLite 3 базе данных.

Обзор классов

SQLite3 {
/* Методы */
public bool busyTimeout ( int $msecs )
public int changes ( void )
public bool close ( void )
__construct ( string $filename [, int $flags [, string $encryption_key ]] )
public bool createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )
public bool createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )
public string escapeString ( string $value )
public bool exec ( string $query )
public int lastErrorCode ( void )
public string lastErrorMsg ( void )
public int lastInsertRowID ( void )
public bool loadExtension ( string $shared_library )
public void open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
public SQLite3Stmt prepare ( string $query )
public SQLite3Result query ( string $query )
public mixed querySingle ( string $query [, bool $entire_row = false ] )
public array version ( void )
}

Содержание

  • SQLite3::busyTimeout — Sets the busy connection handler
  • SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement
  • SQLite3::close — Closes the database connection
  • SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database
  • SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function
  • SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function
  • SQLite3::escapeString — Returns a string that has been properly escaped
  • SQLite3::exec — Executes a result-less query against a given database
  • SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request
  • SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request
  • SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database
  • SQLite3::loadExtension — Attempts to load an SQLite extension library
  • SQLite3::open — Opens an SQLite database
  • SQLite3::prepare — Prepares an SQL statement for execution
  • SQLite3::query — Executes an SQL query
  • SQLite3::querySingle — Executes a query and returns a single result
  • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number
Предопределенные константы
SQLite3::busyTimeout
SQLite3


Sets the busy connection handler

SQLite3
SQLite3::changes
SQLite3
PHP Manual

SQLite3::busyTimeout

(PHP 5 >= 5.3.3)

SQLite3::busyTimeout — Sets the busy connection handler

Описание

public bool SQLite3::busyTimeout ( int $msecs )

Sets a busy handler that will sleep until the database is not locked or the timeout is reached.

Список параметров

msecs

The milliseconds to sleep. Setting this value to a value less than or equal to zero, will turn off an already set timeout handler.

Возвращаемые значения

Returns TRUE on success, FALSE on failure.

SQLite3
SQLite3::changes
SQLite3


Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

SQLite3::busyTimeout
SQLite3::close
SQLite3
PHP Manual

SQLite3::changes

(PHP 5 >= 5.3.0)

SQLite3::changes — Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

Описание

public int SQLite3::changes ( void )

Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer value corresponding to the number of database rows changed (or inserted or deleted) by the most recent SQL statement.

Примеры

Пример #1 SQLite3::changes() example

<?php
$db = new SQLite3('mysqlitedb.db');

$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
    echo 'Number of rows modified: ', $db->changes();
}
?>

SQLite3::busyTimeout
SQLite3::close
SQLite3


Closes the database connection

SQLite3::changes
SQLite3::__construct
SQLite3
PHP Manual

SQLite3::close

(PHP 5 >= 5.3.0)

SQLite3::close — Closes the database connection

Описание

public bool SQLite3::close ( void )

Closes the database connection.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success, FALSE on failure.

Примеры

Пример #1 SQLite3::close() example

<?php
$db = new SQLite3('mysqlitedb.db');
$db->close();
?>

SQLite3::changes
SQLite3::__construct
SQLite3


Instantiates an SQLite3 object and opens an SQLite 3 database

SQLite3::close
SQLite3::createAggregate
SQLite3
PHP Manual

SQLite3::__construct

(PHP 5 >= 5.3.0)

SQLite3::__construct — Instantiates an SQLite3 object and opens an SQLite 3 database

Описание

SQLite3::__construct ( string $filename [, int $flags [, string $encryption_key ]] )

Instantiates an SQLite3 object and opens a connection to an SQLite 3 database. If the build includes encryption, then it will attempt to use the key.

Список параметров

filename

Path to the SQLite database, or :memory: to use in-memory database.

flags

Optional flags used to determine how to open the SQLite database. By default, open uses SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Open the database for reading only.

  • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

  • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

encryption_key

An optional encryption key used when encrypting and decrypting an SQLite database.

Возвращаемые значения

Returns an SQLite3 object on success.

Примеры

Пример #1 SQLite3::__construct() example

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::close
SQLite3::createAggregate
SQLite3


Registers a PHP function for use as an SQL aggregate function

SQLite3::__construct
SQLite3::createFunction
SQLite3
PHP Manual

SQLite3::createAggregate

(PHP 5 >= 5.3.0)

SQLite3::createAggregate — Registers a PHP function for use as an SQL aggregate function

Описание

public bool SQLite3::createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )

Registers a PHP function or user-defined function for use as an SQL aggregate function for use within SQL statements.

Список параметров

name

Name of the SQL aggregate to be created or redefined.

step_callback

The name of a PHP function or user-defined function to apply as a callback for every item in the aggregate.

final_callback

The name of a PHP function or user-defined function to apply as a callback at the end of the aggregate data.

argument_count

The number of arguments that the SQL aggregate takes. If this parameter is negative, then the SQL aggregate may take any number of arguments.

Возвращаемые значения

Returns TRUE upon successful creation of the aggregate, FALSE on failure.

SQLite3::__construct
SQLite3::createFunction
SQLite3


Registers a PHP function for use as an SQL scalar function

SQLite3::createAggregate
SQLite3::escapeString
SQLite3
PHP Manual

SQLite3::createFunction

(PHP 5 >= 5.3.0)

SQLite3::createFunction — Registers a PHP function for use as an SQL scalar function

Описание

public bool SQLite3::createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )

Registers a PHP function or user-defined function for use as an SQL scalar function for use within SQL statements.

Список параметров

name

Name of the SQL function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the SQL function.

argument_count

The number of arguments that the SQL function takes. If this parameter is negative, then the SQL function may take any number of arguments.

Возвращаемые значения

Returns TRUE upon successful creation of the function, FALSE on failure.

Примеры

Пример #1 SQLite3::createFunction() example

<?php
function my_udf_md5($string) {
    return md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

Результатом выполнения данного примера будет что-то подобное:

string(32) "098f6bcd4621d373cade4e832627b4f6"

SQLite3::createAggregate
SQLite3::escapeString
SQLite3


Returns a string that has been properly escaped

SQLite3::createFunction
SQLite3::exec
SQLite3
PHP Manual

SQLite3::escapeString

(PHP 5 >= 5.3.0)

SQLite3::escapeString — Returns a string that has been properly escaped

Описание

public string SQLite3::escapeString ( string $value )

Returns a string that has been properly escaped for safe inclusion in an SQL statement.

Список параметров

value

The string to be escaped.

Возвращаемые значения

Returns a properly escaped string that may be used safely in an SQL statement.

Примечания

Внимание

addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data.

SQLite3::createFunction
SQLite3::exec
SQLite3


Executes a result-less query against a given database

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3
PHP Manual

SQLite3::exec

(PHP 5 >= 5.3.0)

SQLite3::exec — Executes a result-less query against a given database

Описание

public bool SQLite3::exec ( string $query )

Executes a result-less query against a given database.

Список параметров

query

The SQL query to execute (typically an INSERT, UPDATE, or DELETE query).

Возвращаемые значения

Returns TRUE if the query succeeded, FALSE on failure.

Примеры

Пример #1 SQLite3::exec() example

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar STRING)');
?>

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3


Returns the numeric result code of the most recent failed SQLite request

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3
PHP Manual

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0)

SQLite3::lastErrorCode — Returns the numeric result code of the most recent failed SQLite request

Описание

public int SQLite3::lastErrorCode ( void )

Returns the numeric result code of the most recent failed SQLite request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer value representing the numeric result code of the most recent failed SQLite request.

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3


Returns English text describing the most recent failed SQLite request

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3
PHP Manual

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0)

SQLite3::lastErrorMsg — Returns English text describing the most recent failed SQLite request

Описание

public string SQLite3::lastErrorMsg ( void )

Returns English text describing the most recent failed SQLite request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an English string describing the most recent failed SQLite request.

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3


Returns the row ID of the most recent INSERT into the database

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3
PHP Manual

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0)

SQLite3::lastInsertRowID — Returns the row ID of the most recent INSERT into the database

Описание

public int SQLite3::lastInsertRowID ( void )

Returns the row ID of the most recent INSERT into the database.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the row ID of the most recent INSERT into the database

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3


Attempts to load an SQLite extension library

SQLite3::lastInsertRowID
SQLite3::open
SQLite3
PHP Manual

SQLite3::loadExtension

(PHP 5 >= 5.3.0)

SQLite3::loadExtension — Attempts to load an SQLite extension library

Описание

public bool SQLite3::loadExtension ( string $shared_library )

Attempts to load an SQLite extension library.

Список параметров

shared_library

The name of the library to load. The library must be located in the directory specified in the configure option sqlite3.extension_dir.

Возвращаемые значения

Returns TRUE if the extension is successfully loaded, FALSE on failure.

Примеры

Пример #1 SQLite3::loadExtension() example

<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('libagg.so');
?>

SQLite3::lastInsertRowID
SQLite3::open
SQLite3


Opens an SQLite database

SQLite3::loadExtension
SQLite3::prepare
SQLite3
PHP Manual

SQLite3::open

(PHP 5 >= 5.3.0)

SQLite3::open — Opens an SQLite database

Описание

public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )

Opens an SQLite 3 Database. If the build includes encryption, then it will attempt to use the key.

Список параметров

filename

Path to the SQLite database, or :memory: to use in-memory database.

flags

Optional flags used to determine how to open the SQLite database. By default, open uses SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY: Open the database for reading only.

  • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

  • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

encryption_key

An optional encryption key used when encrypting and decrypting an SQLite database.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SQLite3::open() example

<?php
/**
 * Simple example of extending the SQLite3 class and changing the __construct
 * parameters, then using the open method to initialize the DB.
 */
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('mysqlitedb.db');
    }
}

$db = new MyDB();

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::loadExtension
SQLite3::prepare
SQLite3


Prepares an SQL statement for execution

SQLite3::open
SQLite3::query
SQLite3
PHP Manual

SQLite3::prepare

(PHP 5 >= 5.3.0)

SQLite3::prepare — Prepares an SQL statement for execution

Описание

public SQLite3Stmt SQLite3::prepare ( string $query )

Prepares an SQL statement for execution and returns an SQLite3Stmt object.

Список параметров

query

The SQL query to prepare.

Возвращаемые значения

Returns an SQLite3Stmt object on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SQLite3::prepare() example

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3::open
SQLite3::query
SQLite3


Executes an SQL query

SQLite3::prepare
SQLite3::querySingle
SQLite3
PHP Manual

SQLite3::query

(PHP 5 >= 5.3.0)

SQLite3::query — Executes an SQL query

Описание

public SQLite3Result SQLite3::query ( string $query )

Executes an SQL query, returning an SQLite3Result object if the query returns results.

Список параметров

query

The SQL query to execute.

Возвращаемые значения

Returns an SQLite3Result object if the query returns results. Otherwise, returns TRUE if the query succeeded, FALSE on failure.

Примеры

Пример #1 SQLite3::query() example

<?php
$db = new SQLite3('mysqlitedb.db');

$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>

SQLite3::prepare
SQLite3::querySingle
SQLite3


Executes a query and returns a single result

SQLite3::query
SQLite3::version
SQLite3
PHP Manual

SQLite3::querySingle

(PHP 5 >= 5.3.0)

SQLite3::querySingle — Executes a query and returns a single result

Описание

public mixed SQLite3::querySingle ( string $query [, bool $entire_row = false ] )

Executes a query and returns a single result.

Список параметров

query

The SQL query to execute.

entire_row

By default, querySingle() returns the value of the first column returned by the query. If entire_row is TRUE, then it returns an array of the entire first row.

Возвращаемые значения

Returns the value of the first column of results or an array of the entire first row (if entire_row is TRUE).

If the query is valid but no results are returned, then NULL will be returned if entire_row is FALSE, otherwise an empty array is returned.

Invalid or failing queries will return FALSE.

Примеры

Пример #1 SQLite3::querySingle() example

<?php
$db = new SQLite3('mysqlitedb.db');

var_dump($db->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($db->querySingle('SELECT username, email FROM user WHERE userid=1', true));
?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)

SQLite3::query
SQLite3::version
SQLite3


Returns the SQLite3 library version as a string constant and as a number

SQLite3::querySingle
SQLite3Stmt
SQLite3
PHP Manual

SQLite3::version

(PHP 5 >= 5.3.0)

SQLite3::version — Returns the SQLite3 library version as a string constant and as a number

Описание

public array SQLite3::version ( void )

Returns the SQLite3 library version as a string constant and as a number.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an associative array with the keys "versionString" and "versionNumber".

Примеры

Пример #1 SQLite3::version() example

<?php
print_r(SQLite3::version());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)

SQLite3::querySingle
SQLite3Stmt
SQLite3


The SQLite3Stmt class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс предоставляющий доступ к подготовленным запросам в SQLite 3 расширении.

Обзор классов

SQLite3Stmt {
/* Методы */
public bool bindParam ( string $sql_param , mixed &$param [, int $type ] )
public bool bindValue ( string $sql_param , mixed $value [, int $type ] )
public bool clear ( void )
public bool close ( void )
public SQLite3Result execute ( void )
public int paramCount ( void )
public bool reset ( void )
}

Содержание

  • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
  • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
  • SQLite3Stmt::clear — Clears all current bound parameters
  • SQLite3Stmt::close — Closes the prepared statement
  • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
  • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
  • SQLite3Stmt::reset — Resets the prepared statement
SQLite3::version
SQLite3Stmt::bindParam
SQLite3


Binds a parameter to a statement variable

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindParam — Binds a parameter to a statement variable

Описание

public bool SQLite3Stmt::bindParam ( string $sql_param , mixed &$param [, int $type ] )

Binds a parameter to a statement variable.

Список параметров

sql_param

An string identifying the statement variable to which the parameter should be bound.

param

The parameter to bind to a statement variable.

type

The data type of the parameter to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

Возвращаемые значения

Returns TRUE if the parameter is bound to the statement variable, FALSE on failure.

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt


Binds the value of a parameter to a statement variable

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable

Описание

public bool SQLite3Stmt::bindValue ( string $sql_param , mixed $value [, int $type ] )

Binds the value of a parameter to a statement variable.

Список параметров

sql_param

An string identifying the statement variable to which the value should be bound.

value

The value to bind to a statement variable.

type

The data type of the value to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

Возвращаемые значения

Returns TRUE if the value is bound to the statement variable, FALSE on failure.

Примеры

Пример #1 SQLite3Stmt::bindValue() example

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt


Clears all current bound parameters

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt
PHP Manual

SQLite3Stmt::clear

(PHP 5 >= 5.3.0)

SQLite3Stmt::clear — Clears all current bound parameters

Описание

public bool SQLite3Stmt::clear ( void )

Clears all current bound parameters.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on successful clearing of bound parameters, FALSE on failure.

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt


Closes the prepared statement

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt
PHP Manual

SQLite3Stmt::close

(PHP 5 >= 5.3.0)

SQLite3Stmt::close — Closes the prepared statement

Описание

public bool SQLite3Stmt::close ( void )

Closes the prepared statement.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt


Executes a prepared statement and returns a result set object

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt
PHP Manual

SQLite3Stmt::execute

(PHP 5 >= 5.3.0)

SQLite3Stmt::execute — Executes a prepared statement and returns a result set object

Описание

public SQLite3Result SQLite3Stmt::execute ( void )

Executes a prepared statement and returns a result set object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an SQLite3Result object on successful execution of the prepared statement, FALSE on failure.

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt


Returns the number of parameters within the prepared statement

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt
PHP Manual

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0)

SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement

Описание

public int SQLite3Stmt::paramCount ( void )

Returns the number of parameters within the prepared statement.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of parameters within the prepared statement.

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt


Resets the prepared statement

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt
PHP Manual

SQLite3Stmt::reset

(PHP 5 >= 5.3.0)

SQLite3Stmt::reset — Resets the prepared statement

Описание

public bool SQLite3Stmt::reset ( void )

Resets the prepared statement to its state prior to execution. All bindings remain intact after reset.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the statement is successfully reset, FALSE on failure.

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt


The SQLite3Result class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс предоставляющий доступ к результирующему набору расширения SQLite 3.

Обзор классов

SQLite3Result {
/* Методы */
public string columnName ( int $column_number )
public int columnType ( int $column_number )
public array fetchArray ([ int $mode = SQLITE3_BOTH ] )
public bool finalize ( void )
public int numColumns ( void )
public bool reset ( void )
}

Содержание

  • SQLite3Result::columnName — Returns the name of the nth column
  • SQLite3Result::columnType — Returns the type of the nth column
  • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
  • SQLite3Result::finalize — Closes the result set
  • SQLite3Result::numColumns — Returns the number of columns in the result set
  • SQLite3Result::reset — Resets the result set back to the first row
SQLite3Stmt::reset
SQLite3Result::columnName
SQLite3


Returns the name of the nth column

SQLite3Result
SQLite3Result::columnType
SQLite3Result
PHP Manual

SQLite3Result::columnName

(PHP 5 >= 5.3.0)

SQLite3Result::columnName — Returns the name of the nth column

Описание

public string SQLite3Result::columnName ( int $column_number )

Returns the name of the column specified by the column_number.

Список параметров

column_number

The numeric zero-based index of the column.

Возвращаемые значения

Returns the string name of the column identified by column_number.

SQLite3Result
SQLite3Result::columnType
SQLite3Result


Returns the type of the nth column

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result
PHP Manual

SQLite3Result::columnType

(PHP 5 >= 5.3.0)

SQLite3Result::columnType — Returns the type of the nth column

Описание

public int SQLite3Result::columnType ( int $column_number )

Returns the type of the column identified by column_number.

Список параметров

column_number

The numeric zero-based index of the column.

Возвращаемые значения

Returns the data type index of the column identified by column_number (one of SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, or SQLITE3_NULL).

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result


Fetches a result row as an associative or numerically indexed array or both

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result
PHP Manual

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0)

SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both

Описание

public array SQLite3Result::fetchArray ([ int $mode = SQLITE3_BOTH ] )

Fetches a result row as an associative or numerically indexed array or both. By default, fetches as both.

Список параметров

mode

Controls how the next row will be returned to the caller. This value must be one of either SQLITE3_ASSOC, SQLITE3_NUM, or SQLITE3_BOTH.

  • SQLITE3_ASSOC: returns an array indexed by column name as returned in the corresponding result set

  • SQLITE3_NUM: returns an array indexed by column number as returned in the corresponding result set, starting at column 0

  • SQLITE3_BOTH: returns an array indexed by both column name and number as returned in the corresponding result set, starting at column 0

Возвращаемые значения

Returns a result row as an associatively or numerically indexed array or both.

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result


Closes the result set

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result
PHP Manual

SQLite3Result::finalize

(PHP 5 >= 5.3.0)

SQLite3Result::finalize — Closes the result set

Описание

public bool SQLite3Result::finalize ( void )

Closes the result set.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE.

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result


Returns the number of columns in the result set

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result
PHP Manual

SQLite3Result::numColumns

(PHP 5 >= 5.3.0)

SQLite3Result::numColumns — Returns the number of columns in the result set

Описание

public int SQLite3Result::numColumns ( void )

Returns the number of columns in the result set.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of columns in the result set.

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result


Resets the result set back to the first row

SQLite3Result::numColumns
SQLSRV
SQLite3Result
PHP Manual

SQLite3Result::reset

(PHP 5 >= 5.3.0)

SQLite3Result::reset — Resets the result set back to the first row

Описание

public bool SQLite3Result::reset ( void )

Resets the result set back to the first row.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the result set is successfully reset back to the first row, FALSE on failure.

SQLite3Result::numColumns
SQLSRV
SQLite3Result


Microsoft SQL Server Driver for PHP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SQLSRV Функции
    • sqlsrv_begin_transaction — Begins a database transaction
    • sqlsrv_cancel — Cancels a statement
    • sqlsrv_client_info — Returns information about the client and specified connection
    • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure — Changes the driver error handling and logging configurations
    • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch_array — Returns a row as an array
    • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
    • sqlsrv_fetch — Makes the next row in a result set available for reading
    • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt — Frees all resources for the specified statement
    • sqlsrv_get_config — Returns the value of the specified configuration setting
    • sqlsrv_get_field — Gets field data from the currently selected row
    • sqlsrv_has_rows — Indicates whether the specified statement has rows
    • sqlsrv_next_result — Makes the next result of the specified statement active
    • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows — Retrieves the number of rows in a result set
    • sqlsrv_prepare — Prepares a query for execution
    • sqlsrv_query — Prepares and executes a query.
    • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data — Sends data from parameter streams to the server
    • sqlsrv_server_info — Returns information about the server
SQLite3Result::reset
Введение
Расширения для работы с базами данных отдельных производителей


Введение

The SQLSRV extension allows you to access Microsoft SQL Server and SQL Azure databases when running PHP on Windows.

The SQLSRV extension is supported by Microsoft and available for download here: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

SQLSRV
Установка и настройка
SQLSRV


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SQLSRV


Требования

The SQLSRV extension can be used on the following operating systems:

  • Windows Server 2003 Service Pack 1
  • Windows XP Service Pack 3
  • Windows Vista Service Pack 1 or later
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows 7

The SQLSRV extension requires that the Microsoft SQL Server 2008 R2 Native Client be installed on the same computer that is running PHP. If the Microsoft SQL Server 2008 R2 is not already installed, click the appropriate link below to download it:

  • » Download the x86 package
  • » Download the x64 package

The SQLSRV download comes with several driver files. Which driver file you use will depend on 3 factors: the PHP version you are using, whether you are using thread-safe or non-thread-safe PHP, and whether your PHP installation was compiled with the VC6 or VC9 compiler. For example, if you are running PHP 5.3, you are using non-thread-safe PHP, and your PHP installation was compiled with the VC9 compiler, you should use the php_sqlsrv_53_nts_vc9.dll file. (You should use a non-thread-safe version compiled with the VC9 compiler if you are using IIS as your web server). If you are running PHP 5.2, you are using thread-safe PHP, and your PHP installation was compiled with the VC6 compiler, you should use the php_sqlsrv_52_ts_vc6.dll file.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

Установка и настройка
Установка
Установка и настройка


Установка

The SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The SQLSRV download comes with several driver files. Which driver file you use will depend on 3 factors: the PHP version you are using, whether you are using thread-safe or non-thread-safe PHP, and whether your PHP installation was compiled with the VC6 or VC9 compiler. For example, if you are running PHP 5.3, you are using non-thread-safe PHP, and your PHP installation was compiled with the VC9 compiler, you should use the php_sqlsrv_53_nts_vc9.dll file. (You should use a non-thread-safe version compiled with the VC9 compiler if you are using IIS as your web server). If you are running PHP 5.2, you are using thread-safe PHP, and your PHP installation was compiled with the VC6 compiler, you should use the php_sqlsrv_52_ts_vc6.dll file.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

The SQLSRV extension is only compatible with PHP running on Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

The following table lists the configuration options available in the SQLSRV extension. For more information about these options, see » Handling SQLSRV Warnings and Errors.

SQLSRV Опции настройки
Имя | По умолчанию | Меняемо | Changelog
sqlsrv.WarningsReturnAsErrors | 1 (TRUE) | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSubsystems | 0 | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSeverity | 1 | PHP_INI_ALL | Available since SQLSRV 1.0

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Connection resource

A connection resource returned by sqlsrv_connect().

Statement resource

A statement resource returned by sqlsrv_query() or by sqlsrv_prepare().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SQLSRV_FETCH_ASSOC (integer)
Forces sqlsrv_fetch_array() to return an associative array when passed as a parameter.
SQLSRV_FETCH_NUMERIC (integer)
Forces sqlsrv_fetch_array() to return an array with numeric when passed as a parameter.
SQLSRV_FETCH_BOTH (integer)
Forces sqlsrv_fetch_array() to return an array with both associative and numeric keys when passed as a parameter (the default behavior).
SQLSRV_ERR_ALL (integer)
Forces sqlsrv_errors() to return both errors and warings when passed as a parameter (the default behavior).
SQLSRV_ERR_ERRORS (integer)
Forces sqlsrv_errors() to return errors only (no warnings) when passed as a parameter.
SQLSRV_ERR_WARNINGS (integer)
Forces sqlsrv_errors() to return warnings only (no errors) when passed as a parameter.
SQLSRV_LOG_SYSTEM_ALL (integer)
Turns on logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_CONN (integer)
Turns on logging of connection activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_INIT (integer)
Turns on logging of initialization activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_OFF (integer)
Turns off logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_STMT (integer)
Turns on logging of statement activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_UTIL (integer)
Turns on logging of error function activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ALL (integer)
Specifies that errors, warnings, and notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ERROR (integer)
Specifies that errors will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_NOTICE (integer)
Specifies that notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_WARNING (integer)
Specifies that warnings will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_NULLABLE_YES (integer)
Indicates that a column is nullable.
SQLSRV_NULLABLE_NO (integer)
Indicates that a column is not nullable.
SQLSRV_NULLABLE_UNKNOWN (integer)
Indicates that it is not known if a column is nullable.
SQLSRV_PARAM_IN (integer)
Indicates an input parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_INOUT (integer)
Indicates a bidirectional parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_OUT (integer)
Indicates an output parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PHPTYPE_INT (integer)
Specifies an integer PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_DATETIME (integer)
Specifies a datetime PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_FLOAT (integer)
Specifies a float PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STREAM (integer)
Specifies a PHP stream. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STRING (integer)
Specifies a string PHP data type. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_BINARY (integer)
Specifies that data is returned as a raw byte stream from the server without performing encoding or translation. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_CHAR (integer)
Data is returned in 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This is the default encoding. For usage information, see » How to: Specify PHP Types.
UTF-8 (integer)
Specifies that data is returned with UTF-8 encoding. For usage information, see » How to: Specify PHP Types.
SQLSRV_SQLTYPE_BIGINT (integer)
Describes the bigint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BINARY (integer)
Describes the binary SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BIT (integer)
Describes the bit SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_CHAR (integer)
Describes the char SQL Server data type. This constant works like a function and accepts a parameter indicating the number characters. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATE (integer)
Describes the date SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME (integer)
Describes the datetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME2 (integer)
Describes the datetime2 SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIMEOFFSET (integer)
Describes the datetimeoffset SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DECIMAL (integer)
Describes the decimal SQL Server data type. This constant works like a function and accepts two parameters indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_FLOAT (integer)
Describes the float SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_IMAGE (integer)
Describes the image SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_INT (integer)
Describes the int SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_MONEY (integer)
Describes the money SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NCHAR (integer)
Describes the nchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NUMERIC (integer)
Describes the numeric SQL Server data type. This constant works like a function and accepts two parameter indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR (integer)
Describes the nvarchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR('max') (integer)
Describes the nvarchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NTEXT (integer)
Describes the ntext SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_REAL (integer)
Describes the real SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLDATETIME (integer)
Describes the smalldatetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLINT (integer)
Describes the smallint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLMONEY (integer)
Describes the smallmoney SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TEXT (integer)
Describes the text SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIME (integer)
Describes the time SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIMESTAMP (integer)
Describes the timestamp SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TINYINT (integer)
Describes the tinyint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER (integer)
Describes the uniqueidentifier SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UDT (integer)
Describes the UDT SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY (integer)
Describes the varbinary SQL Server data type. This constant works like a function and accepts a single parameter indicating the byte count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY('max') (integer)
Describes the varbinary(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR (integer)
Describes the varchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR('max') (integer)
Describes the varchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_XML (integer)
Describes the XML SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_TXN_READ_UNCOMMITTED (integer)
Inidicates a transaction isolation level of READ UNCOMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_READ_COMMITTED (integer)
Inidicates a transaction isolation level of READ COMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_REPEATABLE_READ (integer)
Inidicates a transaction isolation level of REPEATABLE READ. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_SNAPSHOT (integer)
Inidicates a transaction isolation level of SNAPSHOT. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_READ_SERIALIZABLE (integer)
Inidicates a transaction isolation level of SERIALIZABLE. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_CURSOR_FORWARD (integer)
Inidicates a forward-only cursor. For usage information, see » How to: Specify a Cursor Type.
SQLSRV_CURSOR_STATIC (integer)
Inidicates a static cursor. For usage information, see » How to: Specify a Cursor Type.
SQLSRV_DYNAMIC (integer)
Inidicates a dynamic cursor. For usage information, see » How to: Specify a Cursor Type.
SQLSRV_CURSOR_KEYSET (integer)
Inidicates a keyset cursor. For usage information, see » How to: Specify a Cursor Type.
SQLSRV_SCROLL_NEXT (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.
SQLSRV_SCROLL_PRIOR (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.
SQLSRV_SCROLL_FIRST (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.
SQLSRV_SCROLL_LAST (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.
SQLSRV_SCROLL_ABSOLUTE (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.
SQLSRV_SCROLL_RELATIVE (integer)
Specifies which row to select in a result set. For usage information, see » How to: Specify a Cursor Type and Select Rows.

Типы ресурсов
SQLSRV Функции
SQLSRV


SQLSRV Функции

Содержание

  • sqlsrv_begin_transaction — Begins a database transaction
  • sqlsrv_cancel — Cancels a statement
  • sqlsrv_client_info — Returns information about the client and specified connection
  • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
  • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_configure — Changes the driver error handling and logging configurations
  • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
  • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_fetch_array — Returns a row as an array
  • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
  • sqlsrv_fetch — Makes the next row in a result set available for reading
  • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_free_stmt — Frees all resources for the specified statement
  • sqlsrv_get_config — Returns the value of the specified configuration setting
  • sqlsrv_get_field — Gets field data from the currently selected row
  • sqlsrv_has_rows — Indicates whether the specified statement has rows
  • sqlsrv_next_result — Makes the next result of the specified statement active
  • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
  • sqlsrv_num_rows — Retrieves the number of rows in a result set
  • sqlsrv_prepare — Prepares a query for execution
  • sqlsrv_query — Prepares and executes a query.
  • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
  • sqlsrv_send_stream_data — Sends data from parameter streams to the server
  • sqlsrv_server_info — Returns information about the server
Предопределенные константы
sqlsrv_begin_transaction
SQLSRV


Begins a database transaction

SQLSRV Функции
sqlsrv_cancel
SQLSRV Функции
PHP Manual

sqlsrv_begin_transaction

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_begin_transaction — Begins a database transaction

Описание

bool sqlsrv_begin_transaction ( resource $conn )

The transaction begun by sqlsrv_begin_transaction() includes all statements that were executed after the call to sqlsrv_begin_transaction() and before calls to sqlsrv_rollback() or sqlsrv_commit(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see » SQLSRV Transactions.

Список параметров

conn

The connection resource returned by a call to sqlsrv_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_begin_transaction() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
          VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
          SET Quantity = (Quantity - ?)
          WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

SQLSRV Функции
sqlsrv_cancel
SQLSRV Функции


Cancels a statement

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Функции
PHP Manual

sqlsrv_cancel

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_cancel — Cancels a statement

Описание

bool sqlsrv_cancel ( resource $stmt )

Cancels a statement. Any results associated with the statement that have not been consumed are deleted. After sqlsrv_cancel() has been called, the specified statement can be re-executed if it was created with sqlsrv_prepare(). Calling sqlsrv_cancel() is not necessary if all the results associated with the statement have been consumed.

Список параметров

stmt

The statement resource to be cancelled.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_cancel() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Sales FROM Table_1";

$stmt = sqlsrv_prepare( $conn, $sql);

if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

if( sqlsrv_execute( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

$salesTotal = 0;
$count = 0;

while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
     $qty = $row[0];
     $price = $row[1];
     $salesTotal += ( $price * $qty);
     $count++;
}

echo "$count sales accounted for the first $$salesTotal in revenue.<br />";

// Cancel the pending results. The statement can be reused.
sqlsrv_cancel( $stmt);
?>

Примечания

The main difference between sqlsrv_cancel() and sqlsrv_free_stmt() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Смотрите также

  • sqlsrv_free_stmt() - Frees all resources for the specified statement
  • sqlsrv_prepare() - Prepares a query for execution

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Функции


Returns information about the client and specified connection

sqlsrv_cancel
sqlsrv_close
SQLSRV Функции
PHP Manual

sqlsrv_client_info

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_client_info — Returns information about the client and specified connection

Описание

array sqlsrv_client_info ( resource $conn )

Returns information about the client and specified connection

Список параметров

conn

The connection about which information is returned.

Возвращаемые значения

Returns an associative array with keys described in the table below. Returns FALSE otherwise.

Array returned by sqlsrv_client_info
Key | Description
DriverDllName | SQLNCLI10.DLL
DriverODBCVer | ODBC version (xx.yy)
DriverVer | SQL Server Native Client DLL version (10.5.xxx)
ExtensionVer | php_sqlsrv.dll version (2.0.xxx.x)

Примеры

Пример #1 sqlsrv_client_info() example

<?php
$serverName = "serverName\sqlexpress";
$connOptions = array("UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connOptions );

if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn)) {
    foreach( $client_info as $key => $value) {
        echo $key.": ".$value."<br />";
    }
} else {
    echo "Error in retrieving client info.<br />";
}
?>

Смотрите также

  • sqlsrv_server_info() - Returns information about the server

sqlsrv_cancel
sqlsrv_close
SQLSRV Функции


Closes an open connection and releases resourses associated with the connection

sqlsrv_client_info
sqlsrv_commit
SQLSRV Функции
PHP Manual

sqlsrv_close

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_close — Closes an open connection and releases resourses associated with the connection

Описание

bool sqlsrv_close ( resource $conn )

Closes an open connection and releases resourses associated with the connection.

Список параметров

conn

The connection to be closed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_close() example

<?php
$serverName = "serverName\sqlexpres";
$connOptions = array("UID"=>"username", "PWD"=>"password", "Database"=>"dbname");
$conn = sqlsrv_connect( $serverName, $connOptions );
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

//-------------------------------------
// Perform database operations here.
//-------------------------------------

// Close the connection.
sqlsrv_close( $conn );
?>

Смотрите также

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database

sqlsrv_client_info
sqlsrv_commit
SQLSRV Функции


Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Функции
PHP Manual

sqlsrv_commit

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction()

Описание

bool sqlsrv_commit ( resource $conn )

Commits a transaction that was begun with sqlsrv_begin_transaction(). The connection is returned to auto-commit mode after sqlsrv_commit() is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transaction(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see » SQLSRV Transactions.

Список параметров

conn

The connection on which the transaction is to be committed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_commit() example

The following example demonstrates how to use sqlsrv_commit() together with sqlsrv_begin_transaction() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Смотрите также

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Функции


Changes the driver error handling and logging configurations

sqlsrv_commit
sqlsrv_connect
SQLSRV Функции
PHP Manual

sqlsrv_configure

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_configure — Changes the driver error handling and logging configurations

Описание

bool sqlsrv_configure ( string $setting , mixed $value )

Changes the driver error handling and logging configurations.

Список параметров

setting

The name of the setting to set. The possible values are "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".

value

The value of the specified setting. The following table shows possible values:

Error and Logging Setting Options
Setting | Options
WarningsReturnAsErrors | 1 (TRUE) or 0 (FALSE)
LogSubsystems | SQLSRV_LOG_SYSTEM_ALL (-1) SQLSRV_LOG_SYSTEM_CONN (2) SQLSRV_LOG_SYSTEM_INIT (1) SQLSRV_LOG_SYSTEM_OFF (0) SQLSRV_LOG_SYSTEM_STMT (4) SQLSRV_LOG_SYSTEM_UTIL (8)
LogSeverity | SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1) SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • » SQLSRV Error Handling.
  • » Logging SQLSRV Activity.

sqlsrv_commit
sqlsrv_connect
SQLSRV Функции


Opens a connection to a Microsoft SQL Server database

sqlsrv_configure
sqlsrv_errors
SQLSRV Функции
PHP Manual

sqlsrv_connect

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_connect — Opens a connection to a Microsoft SQL Server database

Описание

resource sqlsrv_connect ( string $serverName [, array $connectionInfo ] )

Opens a connection to a Microsoft SQL Server database. By default, the connection is attempted using Windows Authentication. To connect using SQL Server Authentication, include "UID" and "PWD" in the connection options array.

Список параметров

serverName

The name of the server to which a connection is established. To connect to a specific instance, follow the server name with a forward slash and the instance name (e.g. serverName\sqlexpress).

connectionInfo

An associative array that specifies options for connecting to the server. If values for the UID and PWD keys are not specified, the connection will be attempted using Windows Authentication. For a complete list of supported keys, see » SQLSRV Connection Options.

Возвращаемые значения

A connection resource. If a connection cannot be successfully opened, FALSE is returned.

Примеры

Пример #1 Connect using Windows Authentication.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName

// Since UID and PWD are not specified in the $connectionInfo array,
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Пример #2 Connect by specifying a user name and password.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Пример #3 Connect on a specifed port.

<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Примечания

By default, the sqlsrv_connect() uses connection pooling to improve connection performance. To turn off connection pooling (i.e. force a new connection on each call), set the "ConnectionPooling" option in the $connectionOptions array to 0 (or FALSE). For more information, see » SQLSRV Connection Pooling.

The SQLSRV extension does not have a dedicated function for changing which database is connected to. The target database is specified in the $connectionOptions array that is passed to sqlsrv_connect. To change the database on an open connection, execute the following query "USE dbName" (e.g. sqlsrv_query($conn, "USE dbName")).

Смотрите также

  • sqlsrv_close() - Closes an open connection and releases resourses associated with the connection
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_configure
sqlsrv_errors
SQLSRV Функции


Returns error and warning information about the last SQLSRV operation performed

sqlsrv_connect
sqlsrv_execute
SQLSRV Функции
PHP Manual

sqlsrv_errors

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed

Описание

mixed sqlsrv_errors ([ int $errorsOrWarnings ] )

Returns error and warning information about the last SQLSRV operation performed.

Список параметров

errorsOrWarnings

Determines whether error information, warning information, or both are returned. If this parameter is not supplied, both error information and warning information are returned. The following are the supported values for this parameter: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Возвращаемые значения

If errors and/or warnings occured on the last sqlsrv operation, and array of arrays containing error information is returned. If no errors and/or warnings occured on the last sqlsrv operation, NULL is returned. The following table describes the structure of the returned arrays:

Array returned by sqlsrv_errors
Key | Description
SQLSTATE | For errors that originate from the ODBC driver, the SQLSTATE returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of IMSSP. For warnings that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of 01SSP.
code | For errors that originate from SQL Server, the native SQL Server error code. For errors that originate from the ODBC driver, the error code returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, the Microsoft Drivers for PHP for SQL Server error code.
message | A description of the error.

Примеры

Пример #1 functionname() example

<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/* Set up a query to select an invalid column name. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Execution of the query will fail because of the bad column name. */
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
?>

Примечания

By default, warnings generated on a call to any SQLSRV function are treated as errors. This means that if a warning occurs on a call to a SQLSRV function, the function returns FALSE. However, warnings that correspond to SQLSTATE values 01000, 01001, 01003, and 01S02 are never treated as errors. For information about changing this behavior, see sqlsrv_configure() and the WarningsReturnAsErrors setting.

Смотрите также

  • sqlsrv_configure() - Changes the driver error handling and logging configurations

sqlsrv_connect
sqlsrv_execute
SQLSRV Функции


Executes a statement prepared with sqlsrv_prepare

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Функции
PHP Manual

sqlsrv_execute

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare()

Описание

bool sqlsrv_execute ( resource $stmt )

Executes a statement prepared with sqlsrv_prepare(). This function is ideal for executing a prepared statement multiple times with different parameter values.

Список параметров

stmt

A statement resource returned by sqlsrv_prepare().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_execute() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Примечания

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Смотрите также

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Функции


Returns a row as an array

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Функции
PHP Manual

sqlsrv_fetch_array

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_fetch_array — Returns a row as an array

Описание

array sqlsrv_fetch_array ( resource $stmt [, int $fetchType [, int $row [, int $offset ]]] )

Returns the next available row of data as an associative array, a numeric array, or both (the default).

Список параметров

stmt

A statement resource returned by sqlsrv_query or sqlsrv_execute.

fetchType

A predefined constant specifying the type of array to return. Possible values are SQLSRV_FETCH_ASSOC, SQLSRV_FETCH_NUMERIC, and SQLSRV_FETCH_BOTH (the default).

A fetch type of SQLSRV_FETCH_ASSOC should not be used when consuming a result set with multiple columns of the same name.

row

Specifies the row to access in a result set that uses a scrollable cursor. Possible values are SQLSRV_SCROLL_NEXT, SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST, SQLSRV_SCROLL_ABSOLUTE and, SQLSRV_SCROLL_RELATIVE (the default). When this parameter is specified, the fetchType must be explicitly defined.

Возвращаемые значения

Returns an array on success, NULL if there are no more rows to return, and FALSE if an error occurs.

Примеры

Пример #1 Retrieving an associative array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      echo $row['LastName'].", ".$row['FirstName']."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Пример #2 Retrieving a numeric array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
      echo $row[0].", ".$row[1]."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Примечания

Not specifying the fetchType or explicity using the SQLSRV_FETCH_TYPE constant in the examples above will return an array that has both associative and numeric keys.

If more than one column is returned with the same name, the last column will take precedence. To avoid field name collisions, use aliases.

If a column with no name is returned, the associative key for the array element will be an empty string ("").

Смотрите также

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database
  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_fetch() - Makes the next row in a result set available for reading

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Функции


Retrieves the next row of data in a result set as an object

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Функции
PHP Manual

sqlsrv_fetch_object

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object

Описание

mixed sqlsrv_fetch_object ( resource $stmt [, string $className [, array $ctorParams [, int $row [, int $offset ]]]] )

Retrieves the next row of data in a result set as an instance of the specified class with properties that match the row field names and values that correspond to the row field values.

Список параметров

stmt

A statement resource created by sqlsrv_query() or sqlsrv_execute().

className

The name of the class to instantiate. If no class name is specified, stdClass is instantiated.

ctorParams

Values passed to the constructor of the specified class. If the constructor of the specified class takes parameters, the ctorParams array must be supplied.

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Возвращаемые значения

Returns an object on success, NULL if there are no more rows to return, and FALSE if an error occurs or if the specified class does not exist.

Примеры

Пример #1 sqlsrv_fetch_object() example

The following example demonstrates how to retrieve a row as a stdClass object.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Retrieve each row as an object.
// Because no class is specified, each row will be retrieved as a stdClass object.
// Property names correspond to field names.
while( $obj = sqlsrv_fetch_object( $stmt)) {
      echo $obj->fName.", ".$obj->lName."<br />";
}
?>

Примечания

If a class name is specified with the optional $className parameter and the class has properties whose names match the result set field names, the corresponding result set values are applied to the properties. If a result set field name does not match a class property, a property with the result set field name is added to the object and the result set value is applied to the property. The following rules apply when using the $className parameter:

  • Field-property name matching is case-sensitive.
  • Field-property matching occurs regardless of access modifiers.
  • Class property data types are ignored when applying a field value to a property.
  • If the class does not exist, the function returns FALSE and adds an error to the error collection.
Regardless of whether the $className parameter is supplied, if a field with no name is returned, the field value will be ignored and a warning will be added to the error collection.

When consuming a result set that has multiple columns with the same name, it may be better to use sqlsrv_fetch_array() or the combination of sqlsrv_fetch() and sqlsrv_get_field().

Смотрите также

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Функции


Makes the next row in a result set available for reading

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Функции
PHP Manual

sqlsrv_fetch

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_fetch — Makes the next row in a result set available for reading

Описание

mixed sqlsrv_fetch ( resource $stmt [, int $row [, int $offset ]] )

Makes the next row in a result set available for reading. Use sqlsrv_get_field() to read the fields of the row.

Список параметров

stmt

A statement resource created by executing sqlsrv_query() or sqlsrv_execute().

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Возвращаемые значения

Returns TRUE if the next row of a result set was successfully retrieved, FALSE if an error occurs, and NULL if there are no more rows in the result set.

Примеры

Пример #1 sqlsrv_fetch() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Смотрите также

  • sqlsrv_get_field() - Gets field data from the currently selected row
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Функции


Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Функции
PHP Manual

sqlsrv_field_metadata

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query()

Описание

mixed sqlsrv_field_metadata ( resource $stmt )

Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query(). sqlsrv_field_metadata() can be called on a statement before or after statement execution.

Список параметров

stmt

The statment resource for which metadata is returned.

Возвращаемые значения

Returns an array of arrays is returned on success. Otherwise, FALSE is returned. Each returned array is described by the following table:

Array returned by sqlsrv_field_metadata
Key | Description
Name | The name of the field.
Type | The numeric value for the SQL type.
Size | The number of characters for fields of character type, the number of bytes for fields of binary type, or NULL for other types.
Precision | The precision for types of variable precision, NULL for other types.
Scale | The scale for types of variable scale, NULL for other types.
Nullable | An enumeration indicating whether the column is nullable, not nullable, or if it is not known.
For more information, see » sqlsrv_field_metadata in the Microsoft SQLSRV documentation.

Примеры

Пример #1 sqlsrv_field_metadata() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"AdventureWorks", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql );

foreach( sqlsrv_field_metadata( $stmt ) as $fieldMetadata ) {
    foreach( $fieldMetadata as $name => $value) {
       echo "$name: $value<br />";
    }
      echo "<br />";
}
?>

Смотрите также

  • sqlsrv_client_info() - Returns information about the client and specified connection

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Функции


Frees all resources for the specified statement

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Функции
PHP Manual

sqlsrv_free_stmt

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_free_stmt — Frees all resources for the specified statement

Описание

bool sqlsrv_free_stmt ( resource $stmt )

Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.

Список параметров

stmt

The statment for which resources are freed. Note that NULL is a valid parameter value. This allows the function to be called multiple times in a script.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_free_stmt() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/*-------------------------------
     Process query results here.
-------------------------------*/

/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);

?>

Примечания

The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Смотрите также

  • sqlsrv_cancel() - Cancels a statement

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Функции


Returns the value of the specified configuration setting

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Функции
PHP Manual

sqlsrv_get_config

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_get_config — Returns the value of the specified configuration setting

Описание

mixed sqlsrv_get_config ( string $setting )

Returns the value of the specified configuration setting.

Список параметров

setting

The name of the setting for which the value is returned. For a list of configurable settings, see sqlsrv_configure().

Возвращаемые значения

Returns the value of the specified setting. If an invalid setting is specified, FALSE is returned.

Смотрите также

  • sqlsrv_configure() - Changes the driver error handling and logging configurations

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Функции


Gets field data from the currently selected row

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Функции
PHP Manual

sqlsrv_get_field

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_get_field — Gets field data from the currently selected row

Описание

mixed sqlsrv_get_field ( resource $stmt , int $fieldIndex [, int $getAsType ] )

Gets field data from the currently selected row. Fields must be accessed in order. Field indices start at 0.

Список параметров

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

fieldIndex

The index of the field to be retrieved. Field indices start at 0. Fields must be accessed in order. i.e. If you access field index 1, then field index 0 will not be available.

getAsType

The PHP data type for the returned field data. If this parameter is not set, the field data will be returned as its default PHP data type. For information about default PHP data types, see » Default PHP Data Types in the Microsoft SQLSRV documentation.

Возвращаемые значения

Returns data from the specified field on success. Returns FALSE otherwise.

Примеры

Пример #1 sqlsrv_get_field() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Смотрите также

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Функции


Indicates whether the specified statement has rows

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Функции
PHP Manual

sqlsrv_has_rows

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_has_rows — Indicates whether the specified statement has rows

Описание

bool sqlsrv_has_rows ( resource $stmt )

Indicates whether the specified statement has rows.

Список параметров

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Возвращаемые значения

Returns TRUE if the specified statement has rows and FALSE if the statement does not have rows or if an error occured.

Примеры

Пример #1 sqlsrv_has_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" )
$conn = sqlsrv_connect( $server, $connectionInfo );

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");

if ($stmt) {
   $rows = sqlsrv_has_rows( $stmt );
   if ($rows === true)
      echo "There are rows. <br />";
   else
      echo "There are no rows. <br />";
}
?>

Смотрите также

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Функции


Makes the next result of the specified statement active

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Функции
PHP Manual

sqlsrv_next_result

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_next_result — Makes the next result of the specified statement active

Описание

mixed sqlsrv_next_result ( resource $stmt )

Makes the next result of the specified statement active. Results include result sets, row counts, and output parameters.

Список параметров

stmt

The statment on which the next result is being called.

Возвращаемые значения

Returns TRUE if the next result was successfully retrieved, FALSE if an error occurred, and NULL if there are no more results to retrieve.

Примеры

Пример #1 sqlsrv_next_result() example

The following example executes a batch query that inserts into a table and then selects from the table. This produces two results on the statement: one for the rows affected by the INSERT and one for the rows returned by the SELECT. To get to the rows returned by the SELECT, sqlsrv_next_result() must be called to move past the first result.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
$params = array(1, "some data");
$stmt = sqlsrv_query($conn, $query, $params);

// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";

// Move to the next result and display results.
$next_result = sqlsrv_next_result($stmt);
if( $next_result ) {
   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
      echo $row['id'].": ".$row['data']."<br />";
   }
} elseif( is_null($next_result)) {
     echo "No more results.<br />";
} else {
     die(print_r(sqlsrv_errors(), true));
}
?>

Смотрите также

  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Функции


Retrieves the number of fields (columns) on a statement

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Функции
PHP Manual

sqlsrv_num_fields

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement

Описание

mixed sqlsrv_num_fields ( resource $stmt )

Retrieves the number of fields (columns) on a statement.

Список параметров

stmt

The statment for which the number of fields is returned. sqlsrv_num_fields() can be called on a statement before or after statement execution.

Возвращаемые значения

Returns the number of fields on success. Returns FALSE otherwise.

Примеры

Пример #1 sqlsrv_num_fields() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_query($conn, $sql);
if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true));
}

$numFields = sqlsrv_num_fields( $stmt );

while( sqlsrv_fetch( $stmt )) {
   // Iterate through the fields of each row.
   for($i = 0; $i < $numFields; $i++) {
   {
      echo sqlsrv_get_field($stmt, $i)." ";
     }
     echo "<br />";
}
?>

Смотрите также

  • sqlsrv_field_metadata() - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_get_field() - Gets field data from the currently selected row

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Функции


Retrieves the number of rows in a result set

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Функции
PHP Manual

sqlsrv_num_rows

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_num_rows — Retrieves the number of rows in a result set

Описание

mixed sqlsrv_num_rows ( resource $stmt )

Retrieves the number of rows in a result set. This function requires that the statment resource be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Список параметров

stmt

The statement for which the row count is returned. The statment resource must be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Возвращаемые значения

Returns the number of rows retrieved on success and FALSE if an error occured. If a forward cursor (the default) or dynamic cursor is used, FALSE is returned.

Примеры

Пример #1 sqlsrv_num_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if ($row_count === false)
   echo "Error in retrieveing row count.";
else
   echo $row_count;
?>

Смотрите также

  • sqlsrv_has_rows() - Indicates whether the specified statement has rows
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Функции


Prepares a query for execution

sqlsrv_num_rows
sqlsrv_query
SQLSRV Функции
PHP Manual

sqlsrv_prepare

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_prepare — Prepares a query for execution

Описание

mixed sqlsrv_prepare ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

Список параметров

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Возвращаемые значения

Returns a statement resource on success and FALSE if an error occurred.

Примеры

Пример #1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Примечания

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Смотрите также

  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_num_rows
sqlsrv_query
SQLSRV Функции


Prepares and executes a query.

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Функции
PHP Manual

sqlsrv_query

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_query — Prepares and executes a query.

Описание

mixed sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares and executes a query.

Список параметров

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Возвращаемые значения

Returns a statement resource on success and FALSE if an error occurred.

Примеры

Пример #1 sqlsrv_query() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}
?>

Примечания

For statements that you plan to execute only once, use sqlsrv_query(). If you intend to re-execute a statement with different parameter values, use the combination of sqlsrv_prepare() and sqlsrv_execute().

Смотрите также

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Функции


Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Функции
PHP Manual

sqlsrv_rollback

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction()

Описание

bool sqlsrv_rollback ( resource $conn )

Rolls back a transaction that was begun with sqlsrv_begin_transaction() and returns the connection to auto-commit mode.

Список параметров

conn

The connection resource returned by a call to sqlsrv_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 sqlsrv_rollback() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Смотрите также

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Функции


Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Функции
PHP Manual

sqlsrv_rows_affected

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

Описание

int sqlsrv_rows_affected ( resource $stmt )

Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed. For information about the number of rows returned by a SELECT query, see sqlsrv_num_rows().

Список параметров

stmt

The executed statement resource for which the number of affected rows is returned.

Возвращаемые значения

Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query. If no rows were affected, 0 is returned. If the number of affected rows cannot be determined, -1 is returned. If an error occured, FALSE is returned.

Примеры

Пример #1 sqlsrv_rows_affected() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ? WHERE id = ?";

$params = array("updated data", 1);

$stmt = sqlsrv_query( $conn, $sql, $params);

$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false) {
     die( print_r( sqlsrv_errors(), true));
} elseif( $rows_affected == -1) {
      echo "No information available.<br />";
} else {
      echo $rows_affected." rows were updated.<br />";
}
?>

Смотрите также

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Функции


Sends data from parameter streams to the server

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Функции
PHP Manual

sqlsrv_send_stream_data

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_send_stream_data — Sends data from parameter streams to the server

Описание

bool sqlsrv_send_stream_data ( resource $stmt )

Send data from parameter streams to the server. Up to 8 KB of data is sent with each call.

Список параметров

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Возвращаемые значения

Returns TRUE if there is more data to send and FALSE if there is not.

Примеры

Пример #1 sqlsrv_send_stream_data() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ( ?) WHERE id = 100";

// Open parameter data as a stream and put it in the $params array.
$data = fopen( "data://text/plain,[ Lengthy content here. ]", "r");
$params = array( &$data);

// Prepare the statement. Use the $options array to turn off the
// default behavior, which is to send all stream data at the time of query
// execution.
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $sql, $params, $options);

sqlsrv_execute( $stmt);

// Send up to 8K of parameter data to the server
// with each call to sqlsrv_send_stream_data.
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) {
      $i++;
}
echo "$i calls were made.";
?>

Смотрите также

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Функции


Returns information about the server

sqlsrv_send_stream_data
Sybase
SQLSRV Функции
PHP Manual

sqlsrv_server_info

(Информация о версии неизвестна, возможно, только в SVN)

sqlsrv_server_info — Returns information about the server

Описание

array sqlsrv_server_info ( resource $conn )

Returns information about the server.

Список параметров

conn

The connection resource that connects the client and the server.

Возвращаемые значения

Returns an array as described in the following table:

Returned Array
CurrentDatabase | The connected-to database.
SQLServerVersion | The SQL Server version.
SQLServerName | The name of the server.

Примеры

Пример #1 sqlsrv_server_info() example

<?php
$serverName = "serverName\sqlexpress";
$conn = sqlsrv_connect( $serverName);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
    foreach( $server_info as $key => $value) {
       echo $key.": ".$value."<br />";
    }
} else {
      die( print_r( sqlsrv_errors(), true));
}
?>

Смотрите также

  • sqlsrv_client_info() - Returns information about the client and specified connection

sqlsrv_send_stream_data
Sybase
SQLSRV Функции


Sybase

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Sybase Функции
    • sybase_affected_rows — Gets number of affected rows in last query
    • sybase_close — Closes a Sybase connection
    • sybase_connect — Opens a Sybase server connection
    • sybase_data_seek — Moves internal row pointer
    • sybase_deadlock_retry_count — Sets the deadlock retry count
    • sybase_fetch_array — Fetch row as array
    • sybase_fetch_assoc — Fetch a result row as an associative array
    • sybase_fetch_field — Get field information from a result
    • sybase_fetch_object — Fetch a row as an object
    • sybase_fetch_row — Get a result row as an enumerated array
    • sybase_field_seek — Sets field offset
    • sybase_free_result — Frees result memory
    • sybase_get_last_message — Returns the last message from the server
    • sybase_min_client_severity — Sets minimum client severity
    • sybase_min_error_severity — Sets minimum error severity
    • sybase_min_message_severity — Sets minimum message severity
    • sybase_min_server_severity — Sets minimum server severity
    • sybase_num_fields — Gets the number of fields in a result set
    • sybase_num_rows — Get number of rows in a result set
    • sybase_pconnect — Open persistent Sybase connection
    • sybase_query — Sends a Sybase query
    • sybase_result — Get result data
    • sybase_select_db — Selects a Sybase database
    • sybase_set_message_handler — Sets the handler called when a server message is raised
    • sybase_unbuffered_query — Send a Sybase query and do not block
sqlsrv_server_info
Введение
Расширения для работы с базами данных отдельных производителей


Введение

Sybase
Установка и настройка
Sybase


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Sybase


Установка

To enable Sybase-DB support configure PHP --with-sybase[=DIR] . DIR is the Sybase home directory, defaults to /home/sybase. To enable Sybase-CT support configure PHP --with-sybase-ct[=DIR] . DIR is the Sybase home directory, defaults to /home/sybase.

Замечание:

As of PHP 5.3.0, the Sybase extension has been superseded by the sybase_ct extension and is no longer maintained. To continue using sybase you must use the sybase_ct extension.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Sybase configuration options
Name | Default | Changeable | Changelog
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Deprecated in PHP 5.3.0. Эта устаревшая возможность будет обязательно удалена в будущем.

Краткое разъяснение конфигурационных директив.

sybase.allow_persistent boolean

Whether to allow persistent Sybase connections.

sybase.max_persistent integer

The maximum number of persistent Sybase connections per process. -1 means no limit.

sybase.max_links integer

The maximum number of Sybase connections per process, including persistent connections. -1 means no limit.

sybase.min_error_severity integer

Minimum error severity to display.

sybase.min_message_severity integer

Minimum message severity to display.

magic_quotes_sybase boolean

If magic_quotes_sybase is on, a single-quote is escaped with a single-quote instead of a backslash if magic_quotes_gpc or magic_quotes_runtime are enabled. This setting is also respected by addslashes() and stripslashes().

Замечание:

Note that when magic_quotes_sybase is ON it completely overrides magic_quotes_gpc . In this case even when magic_quotes_gpc is enabled neither double quotes, backslashes or NUL's will be escaped.

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Sybase-CT configuration options
Name | Default | Changeable | Changelog
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.hostname | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Available since PHP 4.3.0.

Краткое разъяснение конфигурационных директив.

sybct.allow_persistent boolean

Whether to allow persistent Sybase-CT connections. The default is on.

sybct.max_persistent integer

The maximum number of persistent Sybase-CT connections per process. The default is -1 meaning unlimited.

sybct.max_links integer

The maximum number of Sybase-CT connections per process, including persistent connections. The default is -1 meaning unlimited.

sybct.min_server_severity integer

Server messages with severity greater than or equal to sybct.min_server_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_server_severity(). The default is 10 which reports errors of information severity or greater.

sybct.min_client_severity integer

Client library messages with severity greater than or equal to sybct.min_client_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_client_severity(). The default is 10 which effectively disables reporting.

sybct.login_timeout integer

The maximum time in seconds to wait for a connection attempt to succeed before returning failure. Note that if max_execution_time has been exceeded when a connection attempt times out, your script will be terminated before it can take action on failure. The default is one minute.

sybct.timeout integer

The maximum time in seconds to wait for a select_db or query operation to succeed before returning failure. Note that if max_execution_time has been exceeded when an operation times out, your script will be terminated before it can take action on failure. The default is no limit.

sybct.hostname string

The name of the host you claim to be connecting from, for display by sp_who. The default is none.

sybct.deadlock_retry_count int

Allows you to define how often deadlocks are to be retried. The default is 0, value -1 means "forever".

Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Sybase Функции
Sybase


Sybase Функции

Содержание

  • sybase_affected_rows — Gets number of affected rows in last query
  • sybase_close — Closes a Sybase connection
  • sybase_connect — Opens a Sybase server connection
  • sybase_data_seek — Moves internal row pointer
  • sybase_deadlock_retry_count — Sets the deadlock retry count
  • sybase_fetch_array — Fetch row as array
  • sybase_fetch_assoc — Fetch a result row as an associative array
  • sybase_fetch_field — Get field information from a result
  • sybase_fetch_object — Fetch a row as an object
  • sybase_fetch_row — Get a result row as an enumerated array
  • sybase_field_seek — Sets field offset
  • sybase_free_result — Frees result memory
  • sybase_get_last_message — Returns the last message from the server
  • sybase_min_client_severity — Sets minimum client severity
  • sybase_min_error_severity — Sets minimum error severity
  • sybase_min_message_severity — Sets minimum message severity
  • sybase_min_server_severity — Sets minimum server severity
  • sybase_num_fields — Gets the number of fields in a result set
  • sybase_num_rows — Get number of rows in a result set
  • sybase_pconnect — Open persistent Sybase connection
  • sybase_query — Sends a Sybase query
  • sybase_result — Get result data
  • sybase_select_db — Selects a Sybase database
  • sybase_set_message_handler — Sets the handler called when a server message is raised
  • sybase_unbuffered_query — Send a Sybase query and do not block
Предопределенные константы
sybase_affected_rows
Sybase


Gets number of affected rows in last query

Sybase Функции
sybase_close
Sybase Функции
PHP Manual

sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows — Gets number of affected rows in last query

Описание

int sybase_affected_rows ([ resource $link_identifier ] )

sybase_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query on the server associated with the specified link identifier.

This command is not effective for SELECT statements, only on statements which modify records. To retrieve the number of rows returned from a SELECT, use sybase_num_rows().

Список параметров

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Возвращаемые значения

Returns the number of affected rows, as an integer.

Примеры

Пример #1 Delete-Query

<?php
/* connect to database */
sybase_connect('SYBASE', '', '') or
die("Could not connect");
sybase_select_db("db");

sybase_query("DELETE FROM sometable WHERE id < 10");
printf("Records deleted: %d\n", sybase_affected_rows());
?>

Результат выполнения данного примера:

Records deleted: 10

Смотрите также

  • sybase_num_rows() - Get number of rows in a result set

Sybase Функции
sybase_close
Sybase Функции


Closes a Sybase connection

sybase_affected_rows
sybase_connect
Sybase Функции
PHP Manual

sybase_close

(PHP 4, PHP 5)

sybase_close — Closes a Sybase connection

Описание

bool sybase_close ([ resource $link_identifier ] )

sybase_close() closes the link to a Sybase database that's associated with the specified link link_identifier.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

sybase_close() will not close persistent links generated by sybase_pconnect().

Список параметров

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sybase_connect() - Opens a Sybase server connection
  • sybase_pconnect() - Open persistent Sybase connection

sybase_affected_rows
sybase_connect
Sybase Функции


Opens a Sybase server connection

sybase_close
sybase_data_seek
Sybase Функции
PHP Manual

sybase_connect

(PHP 4, PHP 5)

sybase_connect — Opens a Sybase server connection

Описание

resource sybase_connect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname [, bool $new = false ]]]]]] )

sybase_connect() establishes a connection to a Sybase server.

In case a second call is made to sybase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling sybase_close().

Список параметров

servername

The servername argument has to be a valid servername that is defined in the 'interfaces' file.

username

Sybase user name

password

Password associated with username.

charset

Specifies the charset for the connection

appname

Specifies an appname for the Sybase connection. This allow you to make separate connections in the same script to the same database. This may come handy when you have started a transaction in your current connection, and you need to be able to do a separate query which cannot be performed inside this transaction.

new

Whether to open a new connection or use the existing one.

Возвращаемые значения

Returns a positive Sybase link identifier on success, or FALSE on failure.

Список изменений

Версия | Описание
5.3.0 | The new parameter was added.
4.2.0 | The appname parameter was added.
4.0.2 | The charset parameter was added.

Примеры

Пример #1 sybase_connect() example

<?php
$link = sybase_connect('SYBASE', '', '')
        or die("Could not connect !");
echo "Connected successfully";
sybase_close($link);
?>

Смотрите также

  • sybase_pconnect() - Open persistent Sybase connection
  • sybase_close() - Closes a Sybase connection

sybase_close
sybase_data_seek
Sybase Функции


Moves internal row pointer

sybase_connect
sybase_deadlock_retry_count
Sybase Функции
PHP Manual

sybase_data_seek

(PHP 4, PHP 5)

sybase_data_seek — Moves internal row pointer

Описание

bool sybase_data_seek ( resource $result_identifier , int $row_number )

sybase_data_seek() moves the internal row pointer of the Sybase result associated with the specified result identifier to pointer to the specified row number. The next call to sybase_fetch_row() would return that row.

Список параметров

result_identifier

row_number

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_connect
sybase_deadlock_retry_count
Sybase Функции


Sets the deadlock retry count

sybase_data_seek
sybase_fetch_array
Sybase Функции
PHP Manual

sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count — Sets the deadlock retry count

Описание

void sybase_deadlock_retry_count ( int $retry_count )

Using sybase_deadlock_retry_count(), the number of retries can be defined in cases of deadlocks. By default, every deadlock is retried an infinite number of times or until the process is killed by Sybase, the executing script is killed (for instance, by set_time_limit()) or the query succeeds.

Список параметров

retry_count

Values for retry_count
-1 | Retry forever (default)
0 | Do not retry
n | Retry n times

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

sybase_data_seek
sybase_fetch_array
Sybase Функции


Fetch row as array

sybase_deadlock_retry_count
sybase_fetch_assoc
Sybase Функции
PHP Manual

sybase_fetch_array

(PHP 4, PHP 5)

sybase_fetch_array — Fetch row as array

Описание

array sybase_fetch_array ( resource $result )

sybase_fetch_array() is an extended version of sybase_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using sybase_fetch_array() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value.

Список параметров

result

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Замечание:

When selecting fields with identical names (for instance, in a join), the associative indices will have a sequential number prepended. See the example for details.

Примеры

Пример #1 Identical fieldnames

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_query('SELECT * FROM p, a WHERE p.person_id= a.person_id');
var_dump(sybase_fetch_array($q));
sybase_close($dbh);
?>

The above example would produce the following output (assuming the two tables only have each one column called "person_id"):

array(4) {
  [0]=>
  int(1)
  ["person_id"]=>
  int(1)
  [1]=>
  int(1)
  ["person_id1"]=>
  int(1)
}

Смотрите также

  • sybase_fetch_row() - Get a result row as an enumerated array
  • sybase_fetch_assoc() - Fetch a result row as an associative array
  • sybase_fetch_object() - Fetch a row as an object

sybase_deadlock_retry_count
sybase_fetch_assoc
Sybase Функции


Fetch a result row as an associative array

sybase_fetch_array
sybase_fetch_field
Sybase Функции
PHP Manual

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc — Fetch a result row as an associative array

Описание

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() is a version of sybase_fetch_row() that uses column names instead of integers for indices in the result array. Columns from different tables with the same names are returned as name, name1, name2, ..., nameN.

An important thing to note is that using sybase_fetch_assoc() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value.

Список параметров

result

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

Смотрите также

  • sybase_fetch_row() - Get a result row as an enumerated array
  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_object() - Fetch a row as an object

sybase_fetch_array
sybase_fetch_field
Sybase Функции


Get field information from a result

sybase_fetch_assoc
sybase_fetch_object
Sybase Функции
PHP Manual

sybase_fetch_field

(PHP 4, PHP 5)

sybase_fetch_field — Get field information from a result

Описание

object sybase_fetch_field ( resource $result [, int $field_offset = -1 ] )

sybase_fetch_field() can be used in order to obtain information about fields in a certain query result.

Список параметров

result

field_offset

If the field offset isn't specified, the next field that wasn't yet retrieved by sybase_fetch_field() is retrieved.

Возвращаемые значения

Returns an object containing field information.

The properties of the object are:

  • name - column name. if the column is a result of a function, this property is set to computed#N, where #N is a serial number.
  • column_source - the table from which the column was taken
  • max_length - maximum length of the column
  • numeric - 1 if the column is numeric
  • type - datatype of the column

Смотрите также

  • sybase_field_seek() - Sets field offset

sybase_fetch_assoc
sybase_fetch_object
Sybase Функции


Fetch a row as an object

sybase_fetch_field
sybase_fetch_row
Sybase Функции
PHP Manual

sybase_fetch_object

(PHP 4, PHP 5)

sybase_fetch_object — Fetch a row as an object

Описание

object sybase_fetch_object ( resource $result [, mixed $object ] )

sybase_fetch_object() is similar to sybase_fetch_assoc(), with one difference - an object is returned, instead of an array.

Speed-wise, the function is identical to sybase_fetch_array(), and almost as quick as sybase_fetch_row() (the difference is insignificant).

Список параметров

result

object

Use the second object to specify the type of object you want to return. If this parameter is omitted, the object will be of type stdClass.

Возвращаемые значения

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Список изменений

Версия Описание
4.3.0

This function will no longer return numeric object members. Old behaviour:

object(stdclass)(3) {
  [0]=>
  string(3) "foo"
  ["foo"]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
}
New behaviour:
object(stdclass)(3) {
  ["foo"]=>
  string(3) "foo"
  ["bar"]=>
  string(3) "bar"
}

Примеры

Пример #1 sybase_fetch_object() return as Foo

<?php
    class Foo {
        var $foo, $bar, $baz;
    }

    // {...]
    $qrh= sybase_query('SELECT foo, bar, baz FROM example');
    $foo= sybase_fetch_object($qrh, 'Foo');
    $bar= sybase_fetch_object($qrh, new Foo());
    // {...]
?>

Смотрите также

  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_fetch_field
sybase_fetch_row
Sybase Функции


Get a result row as an enumerated array

sybase_fetch_object
sybase_field_seek
Sybase Функции
PHP Manual

sybase_fetch_row

(PHP 4, PHP 5)

sybase_fetch_row — Get a result row as an enumerated array

Описание

array sybase_fetch_row ( resource $result )

sybase_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to sybase_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Список параметров

result

Возвращаемые значения

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 0.

Data types
PHP | Sybase
string | VARCHAR, TEXT, CHAR, IMAGE, BINARY, VARBINARY, DATETIME
int | NUMERIC (w/o precision), DECIMAL (w/o precision), INT, BIT, TINYINT, SMALLINT
float | NUMERIC (w/ precision), DECIMAL (w/ precision), REAL, FLOAT, MONEY
NULL | NULL

Смотрите также

  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_assoc() - Fetch a result row as an associative array
  • sybase_fetch_object() - Fetch a row as an object
  • sybase_data_seek() - Moves internal row pointer
  • sybase_result() - Get result data

sybase_fetch_object
sybase_field_seek
Sybase Функции


Sets field offset

sybase_fetch_row
sybase_free_result
Sybase Функции
PHP Manual

sybase_field_seek

(PHP 4, PHP 5)

sybase_field_seek — Sets field offset

Описание

bool sybase_field_seek ( resource $result , int $field_offset )

Seeks to the specified field offset. If the next call to sybase_fetch_field() won't include a field offset, this field would be returned.

Список параметров

result

field_offset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sybase_fetch_field() - Get field information from a result

sybase_fetch_row
sybase_free_result
Sybase Функции


Frees result memory

sybase_field_seek
sybase_get_last_message
Sybase Функции
PHP Manual

sybase_free_result

(PHP 4, PHP 5)

sybase_free_result — Frees result memory

Описание

bool sybase_free_result ( resource $result )

sybase_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script ends. You may call sybase_free_result() with the result identifier as an argument and the associated result memory will be freed.

Список параметров

result

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

sybase_field_seek
sybase_get_last_message
Sybase Функции


Returns the last message from the server

sybase_free_result
sybase_min_client_severity
Sybase Функции
PHP Manual

sybase_get_last_message

(PHP 4, PHP 5)

sybase_get_last_message — Returns the last message from the server

Описание

string sybase_get_last_message ( void )

sybase_get_last_message() returns the last message reported by the server.

Возвращаемые значения

Returns the message as a string.

Смотрите также

  • sybase_min_message_severity() - Sets minimum message severity

sybase_free_result
sybase_min_client_severity
Sybase Функции


Sets minimum client severity

sybase_get_last_message
sybase_min_error_severity
Sybase Функции
PHP Manual

sybase_min_client_severity

(PHP 4, PHP 5)

sybase_min_client_severity — Sets minimum client severity

Описание

void sybase_min_client_severity ( int $severity )

sybase_min_client_severity() sets the minimum client severity level.

Список параметров

severity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

Смотрите также

  • sybase_min_server_severity() - Sets minimum server severity

sybase_get_last_message
sybase_min_error_severity
Sybase Функции


Sets minimum error severity

sybase_min_client_severity
sybase_min_message_severity
Sybase Функции
PHP Manual

sybase_min_error_severity

(PHP 4, PHP 5)

sybase_min_error_severity — Sets minimum error severity

Описание

void sybase_min_error_severity ( int $severity )

sybase_min_error_severity() sets the minimum error severity level.

Список параметров

severity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

Смотрите также

  • sybase_min_message_severity() - Sets minimum message severity

sybase_min_client_severity
sybase_min_message_severity
Sybase Функции


Sets minimum message severity

sybase_min_error_severity
sybase_min_server_severity
Sybase Функции
PHP Manual

sybase_min_message_severity

(PHP 4, PHP 5)

sybase_min_message_severity — Sets minimum message severity

Описание

void sybase_min_message_severity ( int $severity )

sybase_min_message_severity() sets the minimum message severity level.

Список параметров

severity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки DB, но не библиотеки CT.

Смотрите также

  • sybase_min_error_severity() - Sets minimum error severity

sybase_min_error_severity
sybase_min_server_severity
Sybase Функции


Sets minimum server severity

sybase_min_message_severity
sybase_num_fields
Sybase Функции
PHP Manual

sybase_min_server_severity

(PHP 4, PHP 5)

sybase_min_server_severity — Sets minimum server severity

Описание

void sybase_min_server_severity ( int $severity )

sybase_min_server_severity() sets the minimum server severity level.

Список параметров

severity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

Смотрите также

  • sybase_min_client_severity() - Sets minimum client severity

sybase_min_message_severity
sybase_num_fields
Sybase Функции


Gets the number of fields in a result set

sybase_min_server_severity
sybase_num_rows
Sybase Функции
PHP Manual

sybase_num_fields

(PHP 4, PHP 5)

sybase_num_fields — Gets the number of fields in a result set

Описание

int sybase_num_fields ( resource $result )

sybase_num_fields() returns the number of fields in a result set.

Список параметров

result

Возвращаемые значения

Returns the number of fields as an integer.

Смотрите также

  • sybase_query() - Sends a Sybase query
  • sybase_fetch_field() - Get field information from a result
  • sybase_num_rows() - Get number of rows in a result set

sybase_min_server_severity
sybase_num_rows
Sybase Функции


Get number of rows in a result set

sybase_num_fields
sybase_pconnect
Sybase Функции
PHP Manual

sybase_num_rows

(PHP 4, PHP 5)

sybase_num_rows — Get number of rows in a result set

Описание

int sybase_num_rows ( resource $result )

sybase_num_rows() returns the number of rows in a result set.

Список параметров

result

Возвращаемые значения

Returns the number of rows as an integer.

Смотрите также

  • sybase_num_fields() - Gets the number of fields in a result set
  • sybase_query() - Sends a Sybase query
  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_num_fields
sybase_pconnect
Sybase Функции


Open persistent Sybase connection

sybase_num_rows
sybase_query
Sybase Функции
PHP Manual

sybase_pconnect

(PHP 4, PHP 5)

sybase_pconnect — Open persistent Sybase connection

Описание

resource sybase_pconnect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname ]]]]] )

sybase_pconnect() acts very much like sybase_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (sybase_close() will not close links established by sybase_pconnect()).

This type of links is therefore called 'persistent'.

Список параметров

servername

The servername argument has to be a valid servername that is defined in the 'interfaces' file.

username

Sybase user name

password

Password associated with username.

charset

Specifies the charset for the connection

appname

Specifies an appname for the Sybase connection. This allow you to make separate connections in the same script to the same database. This may come handy when you have started a transaction in your current connection, and you need to be able to do a separate query which cannot be performed inside this transaction.

Возвращаемые значения

Returns a positive Sybase persistent link identifier on success, or FALSE on error.

Список изменений

Версия | Описание
4.2.0 | The appname parameter was added.
4.0.2 | The charset parameter was added.

Смотрите также

  • sybase_connect() - Opens a Sybase server connection

sybase_num_rows
sybase_query
Sybase Функции


Sends a Sybase query

sybase_pconnect
sybase_result
Sybase Функции
PHP Manual

sybase_query

(PHP 4, PHP 5)

sybase_query — Sends a Sybase query

Описание

mixed sybase_query ( string $query [, resource $link_identifier ] )

sybase_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

Список параметров

query

link_identifier

If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if sybase_connect() was called, and use it.

Возвращаемые значения

Returns a positive Sybase result identifier on success, FALSE on error, or TRUE if the query was successful but didn't return any columns.

Смотрите также

  • sybase_select_db() - Selects a Sybase database
  • sybase_connect() - Opens a Sybase server connection

sybase_pconnect
sybase_result
Sybase Функции


Get result data

sybase_query
sybase_select_db
Sybase Функции
PHP Manual

sybase_result

(PHP 4, PHP 5)

sybase_result — Get result data

Описание

string sybase_result ( resource $result , int $row , mixed $field )

Returns the contents of the cell at the row and offset in the specified Sybase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than sybase_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Recommended high-performance alternatives:
sybase_fetch_row(),
sybase_fetch_array() and
sybase_fetch_object().

Список параметров

result

row

field

The field argument can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

Возвращаемые значения

sybase_result() returns the contents of one cell from a Sybase result set.

sybase_query
sybase_select_db
Sybase Функции


Selects a Sybase database

sybase_result
sybase_set_message_handler
Sybase Функции
PHP Manual

sybase_select_db

(PHP 4, PHP 5)

sybase_select_db — Selects a Sybase database

Описание

bool sybase_select_db ( string $database_name [, resource $link_identifier ] )

sybase_select_db() sets the current active database on the server that's associated with the specified link identifier.

Every subsequent call to sybase_query() will be made on the active database.

Список параметров

database_name

link_identifier

If no link identifier is specified, the last opened link is assumed. If no link is open, the function will try to establish a link as if sybase_connect() was called, and use it.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sybase_connect() - Opens a Sybase server connection
  • sybase_pconnect() - Open persistent Sybase connection
  • sybase_query() - Sends a Sybase query

sybase_result
sybase_set_message_handler
Sybase Функции


Sets the handler called when a server message is raised

sybase_select_db
sybase_unbuffered_query
Sybase Функции
PHP Manual

sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler — Sets the handler called when a server message is raised

Описание

bool sybase_set_message_handler ( callback $handler [, resource $link_identifier ] )

sybase_set_message_handler() sets a user function to handle messages generated by the server. You may specify the name of a global function, or use an array to specify an object reference and a method name.

Список параметров

handler

The handler expects five arguments in the following order: message number, severity, state, line number and description. The first four are integers. The last is a string. If the function returns FALSE, PHP generates an ordinary error message.

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.5 | The link_identifier parameter was added.

Примеры

Пример #1 sybase_set_message_handler() callback function

<?php
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Пример #2 sybase_set_message_handler() callback to a class

<?php
    class Sybase {
        function handler($msgnumber, $severity, $state, $line, $text)
        {
            var_dump($msgnumber, $severity, $state, $line, $text);
        }
    }

    $sybase= new Sybase();
    sybase_set_message_handler(array($sybase, 'handler'));
?>

Пример #3 sybase_set_message_handler() unhandled messages

<?php
    // Return FALSE from this function to indicate you can't handle
    // this. The error is printed out as a warning, the way you're used
    // to it if there is no handler installed.
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        if (257 == $msgnumber) {
            return false;
        }
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

sybase_select_db
sybase_unbuffered_query
Sybase Функции


Send a Sybase query and do not block

sybase_set_message_handler
tokyo_tyrant
Sybase Функции
PHP Manual

sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query — Send a Sybase query and do not block

Описание

resource sybase_unbuffered_query ( string $query , resource $link_identifier [, bool $store_result ] )

sybase_unbuffered_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if sybase_connect() was called, and use it.

Unlike sybase_query(), sybase_unbuffered_query() reads only the first row of the result set. sybase_fetch_array() and similar function read more rows as needed. sybase_data_seek() reads up to the target row. The behavior may produce better performance for large result sets.

sybase_num_rows() will only return the correct number of rows if all result sets have been read. To Sybase, the number of rows is not known and is therefore computed by the client implementation.

Замечание:

If you don't read all of the resultsets prior to executing the next query, PHP will raise a warning and cancel all of the pending results. To get rid of this, use sybase_free_result() which will cancel pending results of an unbuffered query.

Список параметров

query

link_identifier

store_result

The optional store_result can be FALSE to indicate the resultsets shouldn't be fetched into memory, thus minimizing memory usage which is particularly interesting with very large resultsets.

Возвращаемые значения

Returns a positive Sybase result identifier on success, or FALSE on error.

Примеры

Пример #1 sybase_unbuffered_query() example

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
sybase_data_seek($q, 10000);
$i = 0;

while ($row = sybase_fetch_row($q)) {
    echo $row[0], ' ', $row[1], '<br />';
    if ($i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

Примечания

Замечание: Эта функция доступна только при использовании интерфейса к Sybase библиотеки CT, но не библиотеки DB.

Смотрите также

  • sybase_query() - Sends a Sybase query

sybase_set_message_handler
tokyo_tyrant
Sybase Функции


tokyo_tyrant

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrant::add — Adds to a numeric key
    • TokyoTyrant::connect — Connect to a database
    • TokyoTyrant::connectUri — Connects to a database
    • TokyoTyrant::__construct — Construct a new TokyoTyrant object
    • TokyoTyrant::copy — Copies the database
    • TokyoTyrant::ext — Execute a remote script
    • TokyoTyrant::fwmKeys — Returns the forward matching keys
    • TokyoTyrant::get — The get purpose
    • TokyoTyrant::getIterator — Get an iterator
    • TokyoTyrant::num — Number of records in the database
    • TokyoTyrant::out — Removes records
    • TokyoTyrant::put — Puts values
    • TokyoTyrant::putCat — Concatenates to a record
    • TokyoTyrant::putKeep — Puts a record
    • TokyoTyrant::putNr — Puts value
    • TokyoTyrant::putShl — Concatenates to a record
    • TokyoTyrant::restore — Restore the database
    • TokyoTyrant::setMaster — Set the replication master
    • TokyoTyrant::size — Returns the size of the value
    • TokyoTyrant::stat — Get statistics
    • TokyoTyrant::sync — Synchronize the database
    • TokyoTyrant::tune — Tunes connection values
    • TokyoTyrant::vanish — Empties the database
  • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantTable::add — Adds a record
    • TokyoTyrantTable::genUid — Generate unique id
    • TokyoTyrantTable::get — Get a row
    • TokyoTyrantTable::getIterator — Get an iterator
    • TokyoTyrantTable::getQuery — Get a query object
    • TokyoTyrantTable::out — Remove records
    • TokyoTyrantTable::put — Store a row
    • TokyoTyrantTable::putCat — Concatenates to a row
    • TokyoTyrantTable::putKeep — Put a new record
    • TokyoTyrantTable::putNr — Puts value
    • TokyoTyrantTable::putShl — Concatenates to a record
    • TokyoTyrantTable::setIndex — Sets index
  • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantQuery::addCond — Adds a condition to the query
    • TokyoTyrantQuery::__construct — Construct a new query
    • TokyoTyrantQuery::count — Counts records
    • TokyoTyrantQuery::current — Returns the current element
    • TokyoTyrantQuery::hint — Get the hint string of the query
    • TokyoTyrantQuery::key — Returns the current key
    • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
    • TokyoTyrantQuery::next — Moves the iterator to next entry
    • TokyoTyrantQuery::out — Removes records based on query
    • TokyoTyrantQuery::rewind — Rewinds the iterator
    • TokyoTyrantQuery::search — Searches records
    • TokyoTyrantQuery::setLimit — Limit results
    • TokyoTyrantQuery::setOrder — Orders results
    • TokyoTyrantQuery::valid — Checks the validity of current item
sybase_unbuffered_query
Введение
Расширения для работы с базами данных отдельных производителей


Введение

tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension contains the normal key-value API and the table API.

"Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation

Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License.

tokyo_tyrant
Установка и настройка
tokyo_tyrant


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
tokyo_tyrant


Требования

Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/tokyo_tyrant

Configure options

  • --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation
  • --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation
  • --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support

Enabling the extension

The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration

Running Tokyo Tyrant for the session handler

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Замечание: expire.lua is included in the tokyo_tyrant extension source distribution

Configuring session handler

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Замечание: It is important to make sure that tokyo_tyrant.session_salt matches on all servers.

How it works?

The session handler creates a session id like the following: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

The parts from left to right:

  • Session id - Generated session id
  • Checksum - Checksum of session salt, session id, node id and primary key
  • Node id - The id of the node where the session maps to
  • Primary key - The primary key of the row where the session is stored

The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant.

In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

tokyo_tyrant Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
tokyo_tyrant.default_timeout | 2.0 | PHP_INI_ALL |
tokyo_tyrant.session_salt | NULL | PHP_INI_ALL |
tokyo_tyrant.key_prefix | NULL | PHP_INI_ALL |
tokyo_tyrant.allow_failover | 1 | PHP_INI_ALL |
tokyo_tyrant.fail_threshold | 5 | PHP_INI_ALL |
tokyo_tyrant.health_check_divisor | 1000 | PHP_INI_ALL |
tokyo_tyrant.php_expiration | 0 | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

tokyo_tyrant.default_timeout integer

Default timeout when connecting to databases

tokyo_tyrant.session_salt string

The secret that is used to salt session id

tokyo_tyrant.key_prefix string

Prefix all keys with this string. The prefix is transparent to the developer but helps making sure that keys won't collide if multiple applications are using the same database.

tokyo_tyrant.allow_failover integer

Whether to allow session failover in case a server dies.

tokyo_tyrant.fail_threshold integer

How many read/write or connection failures is allowed before server is marked as failed.

tokyo_tyrant.health_check_divisor integer

Defines the divisor for the health check probability. If there are failed servers and the probability matches, the servers are health checked and in case the server seems healthy, it will be added back to the pool.

tokyo_tyrant.php_expiration integer

Whether to use built in session expiration mechanism or delegate the expiration to a lua-script on the server-side.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

TokyoTyrant constants

Типы ресурсов
Примеры
tokyo_tyrant


Примеры

Basic usage

Пример #1 Putting and getting a key-value pair

<?php
$tt = new TokyoTyrant("localhost");
$tt->put("key", "value");
echo $tt->get("key");
?>

Результат выполнения данного примера:

value
Предопределенные константы
TokyoTyrant
tokyo_tyrant


The TokyoTyrant class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The main Tokyo Tyrant class

Обзор классов

TokyoTyrant {
/* Константы */
const integer RDBDEF_PORT = 1978 ;
const integer RDBQC_STREQ = 0 ;
const integer RDBQC_STRINC = 1 ;
const integer RDBQC_STRBW = 2 ;
const integer RDBQC_STREW = 3 ;
const integer RDBQC_STRAND = 4 ;
const integer RDBQC_STROR = 5 ;
const integer RDBQC_STROREQ = 6 ;
const integer RDBQC_STRRX = 7 ;
const integer RDBQC_NUMEQ = 8 ;
const integer RDBQC_NUMGT = 9 ;
const integer RDBQC_NUMGE = 10 ;
const integer RDBQC_NUMLT = 11 ;
const integer RDBQC_NUMLE = 12 ;
const integer RDBQC_NUMBT = 13 ;
const integer RDBQC_NUMOREQ = 14 ;
const integer RDBQC_NEGATE = 16777216 ;
const integer RDBQC_NOIDX = 33554432 ;
const integer RDBQO_STRASC = 0 ;
const integer RDBQO_STRDESC = 1 ;
const integer RDBQO_NUMASC = 2 ;
const integer RDBQO_NUMDESC = 3 ;
const integer RDBIT_LEXICAL = 0 ;
const integer RDBIT_DECIMAL = 1 ;
const integer RDBIT_TOKEN = 2 ;
const integer RDBIT_QGRAM = 3 ;
const integer RDBIT_OPT = 9998 ;
const integer RDBIT_VOID = 9999 ;
const integer RDBIT_KEEP = 16777216 ;
const integer RDBQCFTS_PH = 15 ;
const integer RDBQCFTS_AND = 16 ;
const integer RDBQCFTS_OR = 17 ;
const integer RDBQCFTS_EX = 18 ;
const integer RDBXO_LCKREC = 1 ;
const integer RDBXOLCK_GLB = 2 ;
const integer RDBREC_INT = 1 ;
const integer RDBREC_DBL = 2 ;
const integer RDBMS_UNION = 0 ;
const integer RDBMS_ISECT = 1 ;
const integer RDBMS_DIFF = 2 ;
const integer RDBT_RECON = 1 ;
/* Методы */
public number add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant connectUri ( string $uri )
__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant copy ( string $path )
public string ext ( string $name , int $options , string $key , string $value )
public array fwmKeys ( string $prefix , int $max_recs )
public mixed get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed $keys )
public TokyoTyrant put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant putCat ( mixed $keys [, string $value ] )
public TokyoTyrant putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant putNr ( mixed $keys [, string $value = NULL ] )
public mixed putShl ( string $key , string $value , int $width )
public mixed restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int size ( string $key )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

Предопределенные константы

TokyoTyrant Constants

TokyoTyrant::RDBDEF_PORT

The default port of the Tokyo Tyrant database

TokyoTyrant::RDBQC_STREQ

string is equal to

TokyoTyrant::RDBQC_STRINC

string is included in

TokyoTyrant::RDBQC_STRBW

string begins with

TokyoTyrant::RDBQC_STREW

string ends with

TokyoTyrant::RDBQC_STRAND

string includes all tokens in

TokyoTyrant::RDBQC_STROR

string includes at least one token in

TokyoTyrant::RDBQC_STROREQ

string is equal to at least one token in

TokyoTyrant::RDBQC_STRRX

string matches regular expressions of

TokyoTyrant::RDBQC_NUMEQ

number is equal to

TokyoTyrant::RDBQC_NUMGT

number is greater than

TokyoTyrant::RDBQC_NUMGE

number is greater than or equal to

TokyoTyrant::RDBQC_NUMLT

number is less than

TokyoTyrant::RDBQC_NUMLE

number is less than or equal to

TokyoTyrant::RDBQC_NUMBT

number is between two tokens of

TokyoTyrant::RDBQC_NUMOREQ

number is equal to at least one token in

TokyoTyrant::RDBQC_NEGATE

negation flag

TokyoTyrant::RDBQC_NOIDX

no index flag

TokyoTyrant::RDBQO_STRASC

string ascending

TokyoTyrant::RDBQO_STRDESC

string descending

TokyoTyrant::RDBQO_NUMASC

number ascending

TokyoTyrant::RDBQO_NUMDESC

number descending

TokyoTyrant::RDBIT_LEXICAL

lexical string

TokyoTyrant::RDBIT_DECIMAL

decimal string

TokyoTyrant::RDBIT_TOKEN

token inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimize

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

keep existing index

TokyoTyrant::RDBQCFTS_PH

full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Metasearch union between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

TokyoTyrant::RDBXOLCK_REC

record locking

TokyoTyrant::RDBXOLCK_GLB

global locking

TokyoTyrant::RDBREC_INT

record type int

TokyoTyrant::RDBREC_DBL

record type float (double)

TokyoTyrant::TTE_SUCCESS

success

TokyoTyrant::TTE_INVALID

invalid operation

TokyoTyrant::TTE_NOHOST

host not found

TokyoTyrant::TTE_REFUSED

connection refused

TokyoTyrant::TTE_SEND

send error

TokyoTyrant::TTE_RECV

recv error

TokyoTyrant::TTE_KEEP

record exist

TokyoTyrant::TTE_NOREC

no record found

TokyoTyrant::TTE_MISC

miscellaneous error

Содержание

  • TokyoTyrant::add — Adds to a numeric key
  • TokyoTyrant::connect — Connect to a database
  • TokyoTyrant::connectUri — Connects to a database
  • TokyoTyrant::__construct — Construct a new TokyoTyrant object
  • TokyoTyrant::copy — Copies the database
  • TokyoTyrant::ext — Execute a remote script
  • TokyoTyrant::fwmKeys — Returns the forward matching keys
  • TokyoTyrant::get — The get purpose
  • TokyoTyrant::getIterator — Get an iterator
  • TokyoTyrant::num — Number of records in the database
  • TokyoTyrant::out — Removes records
  • TokyoTyrant::put — Puts values
  • TokyoTyrant::putCat — Concatenates to a record
  • TokyoTyrant::putKeep — Puts a record
  • TokyoTyrant::putNr — Puts value
  • TokyoTyrant::putShl — Concatenates to a record
  • TokyoTyrant::restore — Restore the database
  • TokyoTyrant::setMaster — Set the replication master
  • TokyoTyrant::size — Returns the size of the value
  • TokyoTyrant::stat — Get statistics
  • TokyoTyrant::sync — Synchronize the database
  • TokyoTyrant::tune — Tunes connection values
  • TokyoTyrant::vanish — Empties the database
Примеры
TokyoTyrant::add
tokyo_tyrant


Adds to a numeric key

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant
PHP Manual

TokyoTyrant::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::add — Adds to a numeric key

Описание

public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )

Adds to an int or double value. This increments the value by the given amount and returns the new value. If the key does not exist a new key is created with initial value of the increment parameter.

Список параметров

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Возвращаемые значения

Returns the new value on success

Примеры

Пример #1 TokyoTyrant::add() example

<?php
$tt = new TokyoTyrant("localhost", TokyoTyrant::RDBDEF_PORT);
/* Adds integer 3 to key and creates a new key */
$tt->add("test", 3);

/* String value is converted to double */
echo $tt->add("test", "3.5", TokyoTyrant::RDBREC_DBL);
?>

Результатом выполнения данного примера будет что-то подобное:

6.5

Смотрите также

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putcat() - Concatenates to a record
  • TokyoTyrant::putkeep() - Puts a record

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant


Connect to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant
PHP Manual

TokyoTyrant::connect

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connect — Connect to a database

Описание

public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )

Connects to a remote database

Список параметров

host

The hostname

port

The port. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::connect() example

<?php
$tt = new TokyoTyrant();
$tt->connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value");
?>

Смотрите также

  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant


Connects to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant
PHP Manual

TokyoTyrant::connectUri

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connectUri — Connects to a database

Описание

public TokyoTyrant TokyoTyrant::connectUri ( string $uri )

Connects to a database using an uri

Список параметров

uri

An URI to the database. For example tcp://localhost:1979/

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::connectUri() example

<?php
$tt = new TokyoTyrant();
$tt->connectUri("tcp://localhost:1978/")->put("test", "hi");
?>

Смотрите также

  • TokyoTyrant::connect() - Connect to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant


Construct a new TokyoTyrant object

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant
PHP Manual

TokyoTyrant::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::__construct — Construct a new TokyoTyrant object

Описание

TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )

Constructs a new TokyoTyrant object and optionally connects to the database

Список параметров

host

The hostname. Default: NULL

port

port number. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Возвращаемые значения

Throws TokyoTyrantException if connection to database fails

Смотрите также

  • TokyoTyrant::connect() - Connect to a database
  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant


Copies the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant
PHP Manual

TokyoTyrant::copy

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::copy — Copies the database

Описание

public TokyoTyrant TokyoTyrant::copy ( string $path )

Makes a copy of the current database

Список параметров

path

Path to where to copy the database. The user running the remote database must have a write access to the directory.

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::copy() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->copy("/tmp/foobar.tct");
?>

Смотрите также

  • TokyoTyrant::restore() - Restore the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant


Execute a remote script

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant
PHP Manual

TokyoTyrant::ext

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::ext — Execute a remote script

Описание

public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )

Executes a remote script extension.

Список параметров

name

Name of the function to execute

options

Either TokyoTyrant::RDBXO_LCKREC for record locking and TokyoTyrant::RDBXO_LCKGLB for global locking.

key

The key to pass to the function

value

The value to pass to the function

Возвращаемые значения

Returns the result of the script function

Примеры

Пример #1 TokyoTyrant::ext() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
echo $tt->ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value");
?>

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant


Returns the forward matching keys

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant
PHP Manual

TokyoTyrant::fwmKeys

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::fwmKeys — Returns the forward matching keys

Описание

public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )

Returns the forward matching keys from the database

Список параметров

prefix

Prefix of the keys

max_recs

Maximum records to return

Возвращаемые значения

Returns an array of matching keys. The values are not returned

Примеры

Пример #1 TokyoTyrant::fwmKeys() example

<?php

$tt = new TokyoTyrant("localhost");

/* Create 20 macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("key_" . $i, "value_" . $i);
}

/* Create 20 non-macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("something_" . $i, "data_" . $i);
}

/* Get five matching keys */
var_dump($tt->fwmKeys("key_", 5));
?>

Результатом выполнения данного примера будет что-то подобное:

array(5) {
  [0]=>
  string(5) "key_5"
  [1]=>
  string(6) "key_14"
  [2]=>
  string(5) "key_6"
  [3]=>
  string(6) "key_15"
  [4]=>
  string(5) "key_7"
}

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant


The get purpose

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant
PHP Manual

TokyoTyrant::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::get — The get purpose

Описание

public mixed TokyoTyrant::get ( mixed $keys )

This method is used to return a value or multiple values. This method accepts a string or an array as a value.

Список параметров

keys

A string key or an array of string keys

Возвращаемые значения

Returns a string or an array based on the given parameters. Throws a TokyoTyrantException on error. If string is passed null is returned if the key is not found. In case an array is given as an parameter only existing keys will be returned. It is not an error to pass a key that does not exist.

Примеры

Пример #1 TokyoTyrant::get() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->put("key1", "value1");
$tt->put("key2", "value2");
var_dump($tt->get(array("key1", "key2")));
var_dump($tt->get("key1"));
?>

Результат выполнения данного примера:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
string(6) "value1"

Смотрите также

  • TokyoTyrant::put() - Puts values

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant


Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant
PHP Manual

TokyoTyrant::getIterator

(Информация о версии неизвестна, возможно, только в SVN)

TokyoTyrant::getIterator — Get an iterator

Описание

public TokyoTyrantIterator TokyoTyrant::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::getIterator() example

<?php
$tt = new TokyoTyrant("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {

}
?>

Смотрите также

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrantTable::getIterator() - Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant


Number of records in the database

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant
PHP Manual

TokyoTyrant::num

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::num — Number of records in the database

Описание

public int TokyoTyrant::num ( void )

Returns the number of records in the database

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns number of records in the database

Примеры

Пример #1 TokyoTyrant::num() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Echo the number of records */
echo $tt->num();
?>

Результатом выполнения данного примера будет что-то подобное:

1234

Смотрите также

  • TokyoTyrant::stat() - Get statistics

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant


Removes records

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant
PHP Manual

TokyoTyrant::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::out — Removes records

Описание

public TokyoTyrant TokyoTyrant::out ( mixed $keys )

Removes a record or multiple records. This method accepts a string for a single key or an array of keys for multiple records.

Список параметров

keys

A string key or an array of string keys

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::out() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

$tt->put("test1", "value1");
$tt->put("test2", "value2");

$tt->out(array("test1", "test2"));
?>

Смотрите также

  • TokyoTyrant::put() - Puts values

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant


Puts values

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant
PHP Manual

TokyoTyrant::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::put — Puts values

Описание

public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key exists the value will be replaced with new value.

Список параметров

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::put() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->put("key", "value");

/* Put key-value pairs, new value overwrites the old */
$tt->put(array("key1" => "value1", "key" => "value2"));

/* Get back one key */
echo $tt->get("key");
?>

Результат выполнения данного примера:

value2

Смотрите также

  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant


Concatenates to a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant
PHP Manual

TokyoTyrant::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putCat — Concatenates to a record

Описание

public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )

Appends a value into existing key or multiple values if keys is an array. The second parameter is mandatory if keys is a string. If the record does not exist a new record is created.

Список параметров

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::putCat() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

/* Concatenate single key-value pair */
$tt->putCat("key", " has more data");

/* Echo the key */
echo $tt->get("key");
?>

Результат выполнения данного примера:

value has more data

Смотрите также

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant


Puts a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant
PHP Manual

TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

Описание

public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key already exists this method throws an exception indicating that the records exists.

Список параметров

keys

A string key or an array of key-value pairs

value

The string value

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 tokyotyrant::putKeep() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

try {
    $tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}
echo $tt->get("key");
?>

Результат выполнения данного примера:

Existing record! Not modified
value

Смотрите также

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant


Puts value

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant
PHP Manual

TokyoTyrant::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putNr — Puts value

Описание

public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. This method does not wait for the response from the server.

Список параметров

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::putNr() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->putNr("key", "value");

/* Put key-value pairs */
$tt->putNr(array("key1" => "value1", "key2" => "value2"));

/* Get back one key */
echo $tt->get("key1");
?>

Результат выполнения данного примера:

value1

Смотрите также

  • TokyoTyrant::putNr()
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant


Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant
PHP Manual

TokyoTyrant::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putShl — Concatenates to a record

Описание

public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )

Concatenate to a record and shift to left.

Список параметров

key

A string key

value

The value to concatenate

width

The width of the record

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::putShl() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "just a long piece of data");

/* Concatenate and shift to left */
$tt->putShl("key", " and string", 15);

/* Echo the key */
echo $tt->get("key");
?>

Результат выполнения данного примера:

data and string

Смотрите также

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant


Restore the database

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant
PHP Manual

TokyoTyrant::restore

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::restore — Restore the database

Описание

public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )

Restore the database from the update log.

Внимание

This method is not supported on 32bit platforms.

Список параметров

log_dir

Directory where the log is

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency: Default: TRUE

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant


Set the replication master

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant
PHP Manual

TokyoTyrant::setMaster

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::setMaster — Set the replication master

Описание

public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )

Sets the replication master of the database

Внимание

This method is not supported on 32bit platforms.

Список параметров

host

Hostname of the replication master. If NULL the replication is disabled.

port

Port of the replication master

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency.

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::setMaster() example

<?php
/* Connect to a database */
$tt = new TokyoTyrant("tokyotyrant.example.com");

/* Disable the replication */
$tt->setMaster(NULL, 0, 0);
?>

Смотрите также

  • Classname::Method()

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant


Returns the size of the value

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant
PHP Manual

TokyoTyrant::size

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::size — Returns the size of the value

Описание

public int TokyoTyrant::size ( string $key )

Returns the size of a value by key

Список параметров

key

The key of which size to fetch

Возвращаемые значения

Returns the size of the key or throw TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrant::size() example

<?php
$tt = new TokyoTyrant("localhost");

$tt->put("test_key", "12345");

echo $tt->size("test_key");
?>

Результат выполнения данного примера:

5

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant


Get statistics

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant
PHP Manual

TokyoTyrant::stat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::stat — Get statistics

Описание

public array TokyoTyrant::stat ( void )

Returns statistics of the remote database

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of key value pairs describing the statistics

Примеры

Пример #1 TokyoTyrant::stat() example

<?php
$tt = new TokyoTyrant("localhost");

var_dump($tt->stat());
?>

Результатом выполнения данного примера будет что-то подобное:

array(19) {
  ["version"]=>
  string(6) "1.1.28"
  ["libver"]=>
  string(3) "311"
  ["protver"]=>
  string(4) "0.91"
  ["os"]=>
  string(5) "Linux"
  ["time"]=>
  string(17) "1247358357.665630"
  ["pid"]=>
  string(5) "14348"
  ["sid"]=>
  string(8) "59025947"
  ["type"]=>
  string(9) "on-memory"
  ["path"]=>
  string(1) "*"
  ["rnum"]=>
  string(1) "4"
  ["size"]=>
  string(6) "262856"
  ["bigend"]=>
  string(1) "0"
  ["fd"]=>
  string(1) "5"
  ["loadavg"]=>
  string(8) "0.000000"
  ["memsize"]=>
  string(8) "77328384"
  ["memrss"]=>
  string(7) "1183744"
  ["ru_real"]=>
  string(13) "162776.042152"
  ["ru_user"]=>
  string(8) "0.476029"
  ["ru_sys"]=>
  string(8) "8.652540"
}

Смотрите также

  • Classname::Method()

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant


Synchronize the database

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant
PHP Manual

TokyoTyrant::sync

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::sync — Synchronize the database

Описание

public mixed TokyoTyrant::sync ( void )

Synchronizes the database on to the physical device

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant


Tunes connection values

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant
PHP Manual

TokyoTyrant::tune

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrant::tune — Tunes connection values

Описание

public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )

Tunes database connection options.

Список параметров

timeout

The objects timeout value (default: 5.0)

options

Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. It is recommended not to change the second parameter.

Возвращаемые значения

This method returns a reference to the current object and throws TokyoTyrantException on failure.

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant


Empties the database

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant
PHP Manual

TokyoTyrant::vanish

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::vanish — Empties the database

Описание

public mixed TokyoTyrant::vanish ( void )

Empties a remote database

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrant::vanish() example

<?php
$tt = new TokyoTyrant("localhost");
$tt->vanish();
?>

Смотрите также

  • TokyoTyrant::out() - Removes records

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant


The TokyoTyrantTable class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

Обзор классов

TokyoTyrantTable extends TokyoTyrant {
/* Методы */
public void add ( string $key , mixed $increment [, string $type ] )
public int genUid ( void )
public void get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public TokyoTyrantQuery getQuery ( void )
public void out ( mixed $keys )
public int put ( string $key , array $columns )
public void putCat ( string $key , array $columns )
public void putKeep ( string $key , array $columns )
public void putNr ( mixed $keys [, string $value ] )
public void putShl ( string $key , string $value , int $width )
public mixed setIndex ( string $column , int $type )
/* Наследуемые методы */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Содержание

  • TokyoTyrantTable::add — Adds a record
  • TokyoTyrantTable::genUid — Generate unique id
  • TokyoTyrantTable::get — Get a row
  • TokyoTyrantTable::getIterator — Get an iterator
  • TokyoTyrantTable::getQuery — Get a query object
  • TokyoTyrantTable::out — Remove records
  • TokyoTyrantTable::put — Store a row
  • TokyoTyrantTable::putCat — Concatenates to a row
  • TokyoTyrantTable::putKeep — Put a new record
  • TokyoTyrantTable::putNr — Puts value
  • TokyoTyrantTable::putShl — Concatenates to a record
  • TokyoTyrantTable::setIndex — Sets index
TokyoTyrant::vanish
TokyoTyrantTable::add
tokyo_tyrant


Adds a record

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::add — Adds a record

Описание

public void TokyoTyrantTable::add ( string $key , mixed $increment [, string $type ] )

This method is not supported with table databases.

Список параметров

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Возвращаемые значения

This method throws an TokyoTyrantException if used through this class.

Смотрите также

  • TokyoTyrant::add() - Adds to a numeric key

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable


Generate unique id

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::genUid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::genUid — Generate unique id

Описание

public int TokyoTyrantTable::genUid ( void )

Generates an unique id inside the table database. In table databases rows are referenced using a numeric primary key.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an unique id or throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantTable::genUid() example

<?php
$tt = new TokyoTyrantTable("localhost", 1122);

echo $tt->genUid();
?>

Результатом выполнения данного примера будет что-то подобное:

4

Смотрите также

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable


Get a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::get — Get a row

Описание

public void TokyoTyrantTable::get ( mixed $keys )

Gets a row from table database. keys is a single integer for the primary key of the row or an array of integers for multiple rows.

Список параметров

keys

The primary key, can be a string or an integer

Возвращаемые значения

Returns the row as an array

Примеры

Пример #1 TokyoTyrantTable::get() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Результат выполнения данного примера:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Примечания

Замечание:

Starting from version 0.3.0 this method accepts array as parameter. Please note that multi-get on tables is not binary-safe.

Смотрите также

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable


Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getIterator

(Информация о версии неизвестна, возможно, только в SVN)

TokyoTyrantTable::getIterator — Get an iterator

Описание

public TokyoTyrantIterator TokyoTyrantTable::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrantTable::getIterator() example

<?php
$tt = new TokyoTyrantTable("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {
  var_dump($k, $v);
}
?>

Смотрите также

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrant::getIterator() - Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable


Get a query object

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getQuery

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::getQuery — Get a query object

Описание

public TokyoTyrantQuery TokyoTyrantTable::getQuery ( void )

Get a query object to execute searches on the database

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantTable::getQuery() example

<?php
/* Connect to a table database */
$table = new TokyoTyrantTable("localhost", 1979);

/* Put a few rows */
$table->put(null, array("column1" => "some data", "column2" => "more data"));
$table->put(null, array("something" => "value", "data" => "good data"));

/* Get query object */
$query = $table->getQuery();

/* Add condition to query */
$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data');

/* Get matching rows */
var_dump($query->search());
?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [11]=>
  array(2) {
    ["something"]=>
    string(5) "value"
    ["data"]=>
    string(9) "good data"
  }
}

Смотрите также

  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::out() - Removes records based on query

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable


Remove records

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::out — Remove records

Описание

public void TokyoTyrantTable::out ( mixed $keys )

Removes records from a table database.

Список параметров

keys

A single integer key or an array of integers

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrantTable::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Delete the row */
$tt->out($index);
?>

Смотрите также

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable


Store a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::put — Store a row

Описание

public int TokyoTyrantTable::put ( string $key , array $columns )

Puts a new row into the database. This method parameters are key which is the primary key of the row, passing NULL will generate a new unique id. value is an array containing the row contents which is usually key value pairs.

Список параметров

key

The primary key of the row

columns

The row contents

Возвращаемые значения

Returns the primary key on success and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantTable::put() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->put($index, array("column1" => "other data", "column2" => "better data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Результат выполнения данного примера:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(2) {
  ["column1"]=>
  string(10) "other data"
  ["column2"]=>
  string(11) "better data"
}

Смотрите также

  • TokyoTyrantTable::get() - Get a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable


Concatenates to a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putCat — Concatenates to a row

Описание

public void TokyoTyrantTable::putCat ( string $key , array $columns )

This method can be used to add new columns to existing records. Existing keys will be left unmodified but any new columns will be appended to the row. Passing null as key will generate a new row.

Список параметров

key

The primary key of the row or NULL

columns

Array of row contents

Возвращаемые значения

Returns the primary key and throws TokyoTyrantException on error.

Примеры

Пример #1 TokyoTyrantTable::putCat() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->putcat($index, array("column1" => "something new", "new_column" => "other data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Результат выполнения данного примера:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(3) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
  ["new_column"]=>
  string(10) "other data"
}

Смотрите также

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable


Put a new record

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

Описание

public void TokyoTyrantTable::putKeep ( string $key , array $columns )

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

Список параметров

key

The primary key of the row or NULL

columns

Array of the row contents

Возвращаемые значения

Returns the primary key and throws TokyoTyrantException on error.

Примеры

Пример #1 TokyoTyrantTable::putKeep() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

try {
    $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}

/* Get the row back */
var_dump($tt->get($index));
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
Existing record! Not modified
array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Смотрите также

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable


Puts value

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putNr — Puts value

Описание

public void TokyoTyrantTable::putNr ( mixed $keys [, string $value ] )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Список параметров

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Возвращаемые значения

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Смотрите также

  • TokyoTyrant::putNr() - Puts value
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable


Concatenates to a record

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putShl — Concatenates to a record

Описание

public void TokyoTyrantTable::putShl ( string $key , string $value , int $width )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Список параметров

key

A string key

value

The value to concatenate

width

The width of the record

Возвращаемые значения

This method is not supported on table databases.

Смотрите также

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record
  • TokyoTyrantTable::put() - Store a row
  • TokyoTyrantTable::putKeep() - Put a new record
  • TokyoTyrantTable::putCat() - Concatenates to a row

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable


Sets index

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::setIndex

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::setIndex — Sets index

Описание

public mixed TokyoTyrantTable::setIndex ( string $column , int $type )

Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID removes the index.

Список параметров

column

The name of the column

type

The index type

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable


The TokyoTyrantQuery class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class is used to query the table databases

Обзор классов

TokyoTyrantQuery implements Iterator , Traversable {
/* Методы */
public mixed addCond ( string $name , int $op , string $expr )
__construct ( TokyoTyrantTable $table )
public int count ( void )
public array current ( void )
public string hint ( void )
public string key ( void )
public array metaSearch ( array $queries , int $type )
public array next ( void )
public TokyoTyrantQuery out ( void )
public bool rewind ( void )
public array search ( void )
public mixed setLimit ([ int $max [, int $skip ]] )
public mixed setOrder ( string $name , int $type )
public bool valid ( void )
}

Содержание

  • TokyoTyrantQuery::addCond — Adds a condition to the query
  • TokyoTyrantQuery::__construct — Construct a new query
  • TokyoTyrantQuery::count — Counts records
  • TokyoTyrantQuery::current — Returns the current element
  • TokyoTyrantQuery::hint — Get the hint string of the query
  • TokyoTyrantQuery::key — Returns the current key
  • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  • TokyoTyrantQuery::next — Moves the iterator to next entry
  • TokyoTyrantQuery::out — Removes records based on query
  • TokyoTyrantQuery::rewind — Rewinds the iterator
  • TokyoTyrantQuery::search — Searches records
  • TokyoTyrantQuery::setLimit — Limit results
  • TokyoTyrantQuery::setOrder — Orders results
  • TokyoTyrantQuery::valid — Checks the validity of current item
TokyoTyrantTable::setIndex
TokyoTyrantQuery::addCond
tokyo_tyrant


Adds a condition to the query

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::addCond

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::addCond — Adds a condition to the query

Описание

public mixed TokyoTyrantQuery::addCond ( string $name , int $op , string $expr )

Adds a condition to the query. Condition can be something like: get all keys which value matches expr.

Список параметров

name

Name of the column in the condition

op

The operator. One of the TokyoTyrant::RDBQC_* constants

expr

The expression

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrantQuery::addCond() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

Результат выполнения данного примера:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Смотрите также

  • Classname::Method()

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery


Construct a new query

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::__construct — Construct a new query

Описание

TokyoTyrantQuery::__construct ( TokyoTyrantTable $table )

Construct a new query object

Список параметров

table

TokyoTyrantTable object with active database connection

Возвращаемые значения

Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantQuery::__construct() example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);

$query = new TokyoTyrantQuery($tt);

/* Work with $query */
?>

Смотрите также

  • TokyoTyrantTable::getQuery() - Get a query object

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery


Counts records

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::count

(Информация о версии неизвестна, возможно, только в SVN)

TokyoTyrantQuery::count — Counts records

Описание

public int TokyoTyrantQuery::count ( void )

Returns a count of how many records a query returns.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a count of matching rows and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantQuery::count() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Count the results */
var_dump($query->count());
?>

Результат выполнения данного примера:

int(2)

Смотрите также

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery


Returns the current element

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::current

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::current — Returns the current element

Описание

public array TokyoTyrantQuery::current ( void )

Returns the current element. Part of Iterator interface

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current row

Примеры

Пример #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

pk: 1, columns: 2
pk: 4, columns: 2

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery


Get the hint string of the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::hint

(Информация о версии неизвестна, возможно, только в SVN)

TokyoTyrantQuery::hint — Get the hint string of the query

Описание

public string TokyoTyrantQuery::hint ( void )

Get the hint string of the query. The hint string contains information about an executed query and it could be compared to for example MySQL EXPLAIN statement.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method always returns a string

Примеры

Пример #1 TokyoTyrantQuery::hint example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);
$tt->vanish();

for ($i = 0; $i < 11; $i++) {
     $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i));
}

$query = $tt->getQuery();
$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a');

$query->search();
var_dump($query->hint());
?>

Результатом выполнения данного примера будет что-то подобное:

string(72) "
scanning the whole table
result set size: 11
leaving the natural order
"

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery


Returns the current key

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::key

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::key — Returns the current key

Описание

public string TokyoTyrantQuery::key ( void )

Returns the current key. Part of the Iterator interface

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current key and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

pk: 1, columns: 2
pk: 4, columns: 2

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery


Retrieve records with multiple queries

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::metaSearch

(Информация о версии неизвестна, возможно, только в SVN)

TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries

Описание

public array TokyoTyrantQuery::metaSearch ( array $queries , int $type )

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Список параметров

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Возвращаемые значения

Returns the matching rows and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantQuery::metaSearch() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

Результат выполнения данного примера:

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

Смотрите также

  • TokyoTyrantQuery::search() - Searches records

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery


Moves the iterator to next entry

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::next

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::next — Moves the iterator to next entry

Описание

public array TokyoTyrantQuery::next ( void )

Returns the next result in the resultset. Part of the Iterator interface.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the next row and throws TokyoTyrantException on error.

Примеры

Пример #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

pk: 1, columns: 2
pk: 4, columns: 2

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery


Removes records based on query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::out — Removes records based on query

Описание

public TokyoTyrantQuery TokyoTyrantQuery::out ( void )

Removes all records that match the query. Works exactly like search but removes the records instead of returning them.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

Примеры

Пример #1 TokyoTyrantQuery::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Remove matching records */
$query->out();
?>

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery


Rewinds the iterator

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::rewind

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::rewind — Rewinds the iterator

Описание

public bool TokyoTyrantQuery::rewind ( void )

Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE

Примеры

Пример #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

pk: 1, columns: 2
pk: 4, columns: 2

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery


Searches records

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::search

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::search — Searches records

Описание

public array TokyoTyrantQuery::search ( void )

Executes a search on the table database. Returns an array of arrays containing the matching records. In the returned array the first level is the primary key of the data and the second level is the row data.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the matching rows and throws TokyoTyrantException on error

Примеры

Пример #1 TokyoTyrantQuery::search() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

Результат выполнения данного примера:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Смотрите также

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery


Limit results

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setLimit

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setLimit — Limit results

Описание

public mixed TokyoTyrantQuery::setLimit ([ int $max [, int $skip ]] )

Set the maximum amount of records to return on a query.

Список параметров

max

Maximum amount of records. Default: -1

skip

How many records to skip from the start. Default: -1

Возвращаемые значения

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery


Orders results

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setOrder

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setOrder — Orders results

Описание

public mixed TokyoTyrantQuery::setOrder ( string $name , int $type )

Sets the order of a query

Список параметров

name

The column name to apply the ordering on.

type

The type can be one of the following constants:

  • TokyoTyrant::RDBQO_STRASC - String ascending
  • TokyoTyrant::RDBQO_STRDESC - String descending
  • TokyoTyrant::RDBQO_NUMASC - Numberic ascending
  • TokyoTyrant::RDBQO_NUMDESC - String descending

Возвращаемые значения

This method returns the current object.

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery


Checks the validity of current item

TokyoTyrantQuery::setOrder
Расширения для работы с файловой системой
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::valid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::valid — Checks the validity of current item

Описание

public bool TokyoTyrantQuery::valid ( void )

Checks if the current item is valid. Part of the Iterator interface

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current item is valid and FALSE if not.

Примеры

Пример #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

pk: 1, columns: 2
pk: 4, columns: 2

Смотрите также

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::setOrder
Расширения для работы с файловой системой
TokyoTyrantQuery


Расширения для работы с файловой системой

  • Direct IO
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Direct IO Функции
  • Каталоги
    • Установка и настройка
    • Предопределенные константы
    • Функции для работы с каталогами
  • Fileinfo — File Information
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Fileinfo Функции
  • Функции для работы с файловой системой
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Файловая система
  • Inotify
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Inotify Функции
  • Mimetype
    • Введение
    • Установка и настройка
    • Предопределенные константы
  • Proctitle
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Proctitle Функции
  • xattr
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • xattr Функции
  • xdiff
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • xdiff Функции
TokyoTyrantQuery::valid
Direct IO
Справочник функций


Direct IO

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Direct IO Функции
    • dio_close — Closes the file descriptor given by fd
    • dio_fcntl — Performs a c library fcntl on fd
    • dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow.
    • dio_read — Reads bytes from a file descriptor
    • dio_seek — Seeks to pos on fd from whence
    • dio_stat — Gets stat information about the file descriptor fd
    • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
    • dio_truncate — Truncates file descriptor fd to offset bytes
    • dio_write — Writes data to fd with optional truncation at length
Расширения для работы с файловой системой
Введение
Расширения для работы с файловой системой


Введение

PHP supports the direct io functions as described in the Posix Standard (Section 6) for performing I/O functions at a lower level than the C-Language stream I/O functions (fopen(), fread(),..). The use of the DIO functions should be considered only when direct control of a device is needed. In all other cases, the standard filesystem functions are more than adequate.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

This extension is only available on Windows Platforms as of PHP 5.0.0

Direct IO
Установка и настройка
Direct IO


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Direct IO


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/dio.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

One resource type is defined by this extension: a file descriptor returned by dio_open().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

F_DUPFD (integer)

F_GETFD (integer)

F_GETFL (integer)

F_GETLK (integer)

F_GETOWN (integer)

F_RDLCK (integer)

F_SETFL (integer)

F_SETLK (integer)

F_SETLKW (integer)

F_SETOWN (integer)

F_UNLCK (integer)

F_WRLCK (integer)

O_APPEND (integer)

O_ASYNC (integer)

O_CREAT (integer)

O_EXCL (integer)

O_NDELAY (integer)

O_NOCTTY (integer)

O_NONBLOCK (integer)

O_RDONLY (integer)

O_RDWR (integer)

O_SYNC (integer)

O_TRUNC (integer)

O_WRONLY (integer)

S_IRGRP (integer)

S_IROTH (integer)

S_IRUSR (integer)

S_IRWXG (integer)

S_IRWXO (integer)

S_IRWXU (integer)

S_IWGRP (integer)

S_IWOTH (integer)

S_IWUSR (integer)

S_IXGRP (integer)

S_IXOTH (integer)

S_IXUSR (integer)

Типы ресурсов
Direct IO Функции
Direct IO


Direct IO Функции

Содержание

  • dio_close — Closes the file descriptor given by fd
  • dio_fcntl — Performs a c library fcntl on fd
  • dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow.
  • dio_read — Reads bytes from a file descriptor
  • dio_seek — Seeks to pos on fd from whence
  • dio_stat — Gets stat information about the file descriptor fd
  • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
  • dio_truncate — Truncates file descriptor fd to offset bytes
  • dio_write — Writes data to fd with optional truncation at length
Предопределенные константы
dio_close
Direct IO


Closes the file descriptor given by fd

Direct IO Функции
dio_fcntl
Direct IO Функции
PHP Manual

dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_close — Closes the file descriptor given by fd

Описание

void dio_close ( resource $fd )

The function dio_close() closes the file descriptor fd.

Список параметров

fd

The file descriptor returned by dio_open().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Closing an open file descriptor

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Смотрите также

  • dio_open() - Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow.

Direct IO Функции
dio_fcntl
Direct IO Функции


Performs a c library fcntl on fd

dio_close
dio_open
Direct IO Функции
PHP Manual

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_fcntl — Performs a c library fcntl on fd

Описание

mixed dio_fcntl ( resource $fd , int $cmd [, mixed $args ] )

The dio_fcntl() function performs the operation specified by cmd on the file descriptor fd. Some commands require additional arguments args to be supplied.

Список параметров

fd

The file descriptor returned by dio_open().

cmd

Can be one of the following operations:

  • F_SETLK - Lock is set or cleared. If the lock is held by someone else dio_fcntl() returns -1.

  • F_SETLKW - like F_SETLK, but in case the lock is held by someone else, dio_fcntl() waits until the lock is released.

  • F_GETLK - dio_fcntl() returns an associative array (as described above) if someone else prevents lock. If there is no obstruction key "type" will set to F_UNLCK.

  • F_DUPFD - finds the lowest numbered available file descriptor greater than or equal to args and returns them.

  • F_SETFL - Sets the file descriptors flags to the value specified by args, which can be O_APPEND, O_NONBLOCK or O_ASYNC. To use O_ASYNC you will need to use the PCNTL extension.

args

args is an associative array, when cmd is F_SETLK or F_SETLLW, with the following keys:

  • "start" - offset where lock begins

  • "length" - size of locked area. zero means to end of file

  • "wenth" - Where l_start is relative to: can be SEEK_SET, SEEK_END and SEEK_CUR

  • "type" - type of lock: can be F_RDLCK (read lock), F_WRLCK (write lock) or F_UNLCK (unlock)

Возвращаемые значения

Returns the result of the C call.

Примеры

Пример #1 Setting and clearing a lock

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // the file descriptor appears locked
   echo "The lock can not be cleared. It is held by someone else.";
} else {
   echo "Lock succesfully set/cleared";
}

dio_close($fd);
?>

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

dio_close
dio_open
Direct IO Функции


Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow.

dio_fcntl
dio_read
Direct IO Функции
PHP Manual

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow.

Описание

resource dio_open ( string $filename , int $flags [, int $mode = 0 ] )

dio_open() opens a file and returns a new file descriptor for it.

Список параметров

filename

The pathname of the file to open.

flags

The flags parameter is a bitwise-ORed value comprising flags from the following list. This value must include one of O_RDONLY, O_WRONLY, or O_RDWR. Additionally, it may include any combination of the other flags from this list.

  • O_RDONLY - opens the file for read access.

  • O_WRONLY - opens the file for write access.

  • O_RDWR - opens the file for both reading and writing.

  • O_CREAT - creates the file, if it doesn't already exist.

  • O_EXCL - if both O_CREAT and O_EXCL are set and the file already exists, causes dio_open() to fail.

  • O_TRUNC - if the file exists and is opened for write access, the file will be truncated to zero length.

  • O_APPEND - write operations write data at the end of the file.

  • O_NONBLOCK - sets non blocking mode.

  • O_NOCTTY - prevent the OS from assigning the opened file as the process's controlling terminal when opening a TTY device file.

mode

If flags contains O_CREAT, mode will set the permissions of the file (creation permissions). Mode is required for correct operation when O_CREAT is specified in mode and is ignored otherwise.

The actual permissions assigned to the created file will be affected by the process's umask setting as per usual.

Возвращаемые значения

A file descriptor or FALSE on error.

Примеры

Пример #1 Opening a file descriptor

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Смотрите также

  • dio_close() - Closes the file descriptor given by fd

dio_fcntl
dio_read
Direct IO Функции


Reads bytes from a file descriptor

dio_open
dio_seek
Direct IO Функции
PHP Manual

dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_read — Reads bytes from a file descriptor

Описание

string dio_read ( resource $fd [, int $len = 1024 ] )

The function dio_read() reads and returns len bytes from file with descriptor fd.

Список параметров

fd

The file descriptor returned by dio_open().

len

The number of bytes to read. If not specified, dio_read() reads 1K sized block.

Возвращаемые значения

The bytes read from fd.

Смотрите также

  • dio_write() - Writes data to fd with optional truncation at length

dio_open
dio_seek
Direct IO Функции


Seeks to pos on fd from whence

dio_read
dio_stat
Direct IO Функции
PHP Manual

dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_seek — Seeks to pos on fd from whence

Описание

int dio_seek ( resource $fd , int $pos [, int $whence = SEEK_SET ] )

The function dio_seek() is used to change the file position of the given file descriptor.

Список параметров

fd

The file descriptor returned by dio_open().

pos

The new position.

whence

Specifies how the position pos should be interpreted:

  • SEEK_SET (default) - specifies that pos is specified from the beginning of the file.

  • SEEK_CUR - Specifies that pos is a count of characters from the current file position. This count may be positive or negative.

  • SEEK_END - Specifies that pos is a count of characters from the end of the file. A negative count specifies a position within the current extent of the file; a positive count specifies a position past the current end. If you set the position past the current end, and actually write data, you will extend the file with zeros up to that position.

Возвращаемые значения

Примеры

Пример #1 Positioning in a file

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// position is now at 10 characters from the start of the file

dio_seek($fd, -2, SEEK_CUR);
// position is now at 8 characters from the start of the file

dio_seek($fd, -5, SEEK_END);
// position is now at 5 characters from the end of the file

dio_seek($fd, 10, SEEK_END);
// position is now at 10 characters past the end of the file.
// The 10 characters between the end of the file and the current
// position are filled with zeros.

dio_close($fd);
?>

dio_read
dio_stat
Direct IO Функции


Gets stat information about the file descriptor fd

dio_seek
dio_tcsetattr
Direct IO Функции
PHP Manual

dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_stat — Gets stat information about the file descriptor fd

Описание

array dio_stat ( resource $fd )

dio_stat() returns information about the given file descriptor.

Список параметров

fd

The file descriptor returned by dio_open().

Возвращаемые значения

Returns an associative array with the following keys:

  • "device" - device

  • "inode" - inode

  • "mode" - mode

  • "nlink" - number of hard links

  • "uid" - user id

  • "gid" - group id

  • "device_type" - device type (if inode device)

  • "size" - total size in bytes

  • "blocksize" - blocksize

  • "blocks" - number of blocks allocated

  • "atime" - time of last access

  • "mtime" - time of last modification

  • "ctime" - time of last change

On error dio_stat() returns NULL.

dio_seek
dio_tcsetattr
Direct IO Функции


Sets terminal attributes and baud rate for a serial port

dio_stat
dio_truncate
Direct IO Функции
PHP Manual

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)

dio_tcsetattr — Sets terminal attributes and baud rate for a serial port

Описание

bool dio_tcsetattr ( resource $fd , array $options )

dio_tcsetattr() sets the terminal attributes and baud rate of the open fd.

Список параметров

fd

The file descriptor returned by dio_open().

options

The currently available options are:

  • 'baud' - baud rate of the port - can be 38400,19200,9600,4800,2400,1800, 1200,600,300,200,150,134,110,75 or 50, default value is 9600.

  • 'bits' - data bits - can be 8,7,6 or 5. Default value is 8.

  • 'stop' - stop bits - can be 1 or 2. Default value is 1.

  • 'parity' - can be 0,1 or 2. Default value is 0.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Setting the baud rate on a serial port

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  => 1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

?>

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

dio_stat
dio_truncate
Direct IO Функции


Truncates file descriptor fd to offset bytes

dio_tcsetattr
dio_write
Direct IO Функции
PHP Manual

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_truncate — Truncates file descriptor fd to offset bytes

Описание

bool dio_truncate ( resource $fd , int $offset )

dio_truncate() truncates a file to at most offset bytes in size.

If the file previously was larger than this size, the extra data is lost. If the file previously was shorter, it is unspecified whether the file is left unchanged or is extended. In the latter case the extended part reads as zero bytes.

Список параметров

fd

The file descriptor returned by dio_open().

offset

The offset in bytes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

dio_tcsetattr
dio_write
Direct IO Функции


Writes data to fd with optional truncation at length

dio_truncate
Каталоги
Direct IO Функции
PHP Manual

dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_write — Writes data to fd with optional truncation at length

Описание

int dio_write ( resource $fd , string $data [, int $len = 0 ] )

dio_write() writes up to len bytes from data to file fd.

Список параметров

fd

The file descriptor returned by dio_open().

data

The written data.

len

The length of data to write in bytes. If not specified, the function writes all the data to the specified file.

Возвращаемые значения

Returns the number of bytes written to fd.

Смотрите также

  • dio_read() - Reads bytes from a file descriptor

dio_truncate
Каталоги
Direct IO Функции


Каталоги

  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции для работы с каталогами
    • chdir — Изменяет каталог
    • chroot — Изменяет корневой каталог
    • dir — Возвращает экземпляр класса Directory
    • closedir — Освобождает дескриптор каталога
    • getcwd — Получает имя текущего рабочего каталога
    • opendir — Открывает дескриптор каталога
    • readdir — Получает элемент каталога по его дескриптору
    • rewinddir — Сбросить дескриптор каталога
    • scandir — Получает список файлов и каталогов, расположенных по указанному пути
dio_write
Установка и настройка
Расширения для работы с файловой системой


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Каталоги
Требования
Каталоги


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)
Доступна начиная с версии PHP 4.3.0. Точка с запятой в Windows, двоеточие в других системах.
SCANDIR_SORT_ASCENDING (integer)
Доступна начиная с версии PHP 5.4.0.
SCANDIR_SORT_DESCENDING (integer)
Доступна начиная с версии PHP 5.4.0.
SCANDIR_SORT_NONE (integer)
Доступна начиная с версии PHP 5.4.0.
Типы ресурсов
Функции для работы с каталогами
Каталоги


Функции для работы с каталогами

Смотрите также

За описанием сопутствующих функций, таких как dirname(), is_dir(), mkdir() и rmdir(), обратитесь к главе Файловая система.

Содержание

  • chdir — Изменяет каталог
  • chroot — Изменяет корневой каталог
  • dir — Возвращает экземпляр класса Directory
  • closedir — Освобождает дескриптор каталога
  • getcwd — Получает имя текущего рабочего каталога
  • opendir — Открывает дескриптор каталога
  • readdir — Получает элемент каталога по его дескриптору
  • rewinddir — Сбросить дескриптор каталога
  • scandir — Получает список файлов и каталогов, расположенных по указанному пути
Предопределенные константы
chdir
Каталоги


Изменяет каталог

Функции для работы с каталогами
chroot
Функции для работы с каталогами
PHP Manual

chdir

(PHP 4, PHP 5)

chdir — Изменяет каталог

Описание

bool chdir ( string $directory )

Изменяет текущий каталог PHP на указанный в качестве параметра directory.

Список параметров

directory

Новый текущий каталог

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

В случае ошибки создает исключение уровня E_WARNING.

Примеры

Пример #1 Пример использования chdir()

<?php

// текущий каталог
echo getcwd() . "\n";

chdir('public_html');

// текущий каталог
echo getcwd() . "\n";

?>

Результатом выполнения данного примера будет что-то подобное:

/home/vincent
/home/vincent/public_html

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • getcwd() - Получает имя текущего рабочего каталога

Функции для работы с каталогами
chroot
Функции для работы с каталогами


Изменяет корневой каталог

chdir
dir
Функции для работы с каталогами
PHP Manual

chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot — Изменяет корневой каталог

Описание

bool chroot ( string $directory )

Изменяет корневой каталог текущего процесса на переданный в качестве параметра directory и меняет текущий каталог на "/".

Данная функция доступна только на GNU и BSD системах, а также только при использовании CLI, CGI или Embed SAPI. Кроме того, данная функция требует суперпользовательских привилегий.

Список параметров

directory

Путь для смены корневой директории.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования chroot()

<?php
chroot("/path/to/your/chroot/");
echo getcwd();
?>

Результат выполнения данного примера:

/

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

chdir
dir
Функции для работы с каталогами


Возвращает экземпляр класса Directory

chroot
closedir
Функции для работы с каталогами
PHP Manual

dir

(PHP 4, PHP 5)

dir — Возвращает экземпляр класса Directory

Описание

Directory {
string $Directory->path ;
resource $handle ;
string Directory::read ( void )
void Directory::rewind ( void )
void Directory::close ( void )
}

Псевдо-объектно-ориентированный механизм для чтения каталога. В начале открывается каталог, переданный в параметре directory. С момента открытия каталога становятся доступными два свойства класса. Свойство "handle" может быть использовано с другими функциями для работы с каталогами, например, с функциями readdir(), rewinddir() и closedir(). Свойство "path" содержит путь к открытому каталогу. Доступны три метода: read, rewind and close.

Примеры

Пример #1 Пример использования класса dir()

Пожалуйста, обратите внимание на способ, которым осуществляется проверка значения, возвращаемого dir::read() в примере, приведенном ниже. В этом примере явно проводится проверка значения на идентичность (выражения идентичны, когда они равны и являются одного типа - за более подробной информацией обратитесь к главе Операторы сравнения) значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть выражено как FALSE, остановит цикл.

<?php
$d = dir("/etc/php5");
echo "Дескриптор: " . $d->handle . "\n";
echo "Путь: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?>

Результатом выполнения данного примера будет что-то подобное:

Дескриптор: Resource id #2
Путь: /etc/php5
.
..
apache
cgi
cli

Примечания

Замечание:

Порядок, в котором метод "read" возвращает элементы каталога, зависит от операционной системы.

chroot
closedir
Функции для работы с каталогами


Освобождает дескриптор каталога

dir
getcwd
Функции для работы с каталогами
PHP Manual

closedir

(PHP 4, PHP 5)

closedir — Освобождает дескриптор каталога

Описание

void closedir ([ resource $dir_handle ] )

Закрывает поток, связанный с каталогом и переданный в качестве параметра dir_handle. Перед использованием данной функции, поток должен быть открыт с помощью функции opendir().

Список параметров

dir_handle

Дескриптор каталога (resource) предварительно открытый с помощью opendir(). Если дескриптор каталога не указан, используется последний дескриптор, открытый функцией opendir().

Примеры

Пример #1 Пример использования closedir()

<?php
$dir = "/etc/php5/";

// Открываем известную директорию, читаем ее в переменную и закрываем
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>

dir
getcwd
Функции для работы с каталогами


Получает имя текущего рабочего каталога

closedir
opendir
Функции для работы с каталогами
PHP Manual

getcwd

(PHP 4, PHP 5)

getcwd — Получает имя текущего рабочего каталога

Описание

string getcwd ( void )

Возвращает имя текущего рабочего каталога.

Возвращаемые значения

Возвращает текущий рабочий каталог в случае успеха или FALSE в случае ошибки.

На некоторых вариантах Unix getcwd() вернет FALSE, если на каком-либо из родительских каталогов не установлен режим чтения или поиска, даже если он установлен на текущем каталоге. Больше информации о режимах доступа смотрите в документации функции chmod().

Примеры

Пример #1 Пример использования getcwd()

<?php

// текущий каталог
echo getcwd() . "\n";

chdir('cvs');

// текущий каталог
echo getcwd() . "\n";

?>

Результатом выполнения данного примера будет что-то подобное:

/home/didou
/home/didou/cvs

Смотрите также

  • chdir() - Изменяет каталог
  • chmod() - Изменяет режим доступа к файлу

closedir
opendir
Функции для работы с каталогами


Открывает дескриптор каталога

getcwd
readdir
Функции для работы с каталогами
PHP Manual

opendir

(PHP 4, PHP 5)

opendir — Открывает дескриптор каталога

Описание

resource opendir ( string $path [, resource $context ] )

Открывает дескриптор каталога для последующего использования с функциями closedir(), readdir() и rewinddir().

Список параметров

path

Путь к открываемому каталогу

context

Для описания параметра context обратитесь к разделу "Потоки".

Возвращаемые значения

Возвращает дескриптор каталога (resource) в случае успеха или FALSE в случае ошибки.

Если path не существует или каталог, расположенный по указанному пути, не может быть открыт вследствие правовых ограничений или ошибок файловой системы, функция opendir() вернет значение FALSE и сгенерирует сообщение PHP об ошибке уровня E_WARNING. Вы можете запретить вывод сообщения об ошибке, предварив имя функции opendir() символом '@'.

Список изменений

Версия | Описание
5.0.0 | path теперь поддерживает обертку ftp://.
4.3.0 | Параметр path теперь может являться любым URL, поддерживающим передачу списка файлов, однако в PHP 4 поддерживается только обертка file://

Примеры

Пример #1 Пример использования функции opendir()

<?php
$dir = "/etc/php5/";

// Открыть известный каталог и начать считывать его содержимое
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "файл: $file : тип: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

файл: . : тип: dir
файл: .. : тип: dir
файл: apache : тип: dir
файл: cgi : тип: dir
файл: cli : тип: dir

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • readdir() - Получает элемент каталога по его дескриптору
  • Dir

getcwd
readdir
Функции для работы с каталогами


Получает элемент каталога по его дескриптору

opendir
rewinddir
Функции для работы с каталогами
PHP Manual

readdir

(PHP 4, PHP 5)

readdir — Получает элемент каталога по его дескриптору

Описание

string readdir ([ resource $dir_handle ] )

Возвращает имя следующего по порядку элемента каталога. Имена элементов возвращаются в порядке, в котором они хранятся на файловой системе.

Список параметров

dir_handle

Дескриптор каталога (resource), ранее открытый функцией opendir(). Если дескриптор каталога не указан, используется последний дескриптор открытый функцией opendir().

Возвращаемые значения

Возвращает имя файла в случае успеха или FALSE в случае возникновения ошибки.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Вывести список всех файлов в каталоге

Обратите внимание на способ проверки значения, возвращаемого функцией readdir() в приведенном ниже примере. В этом примере осуществляется явная проверка значения на идентичность (выражения идентичны, когда они равны и являются значениями одного типа - за более подробной информацией обратитесь к главе " Операторы сравнения") значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть преобразовано к FALSE, остановит цикл (например, элемент с именем "0").

<?php

if ($handle = opendir('/path/to/files')) {
    echo "Дескриптор каталога: $handle\n";
    echo "Файлы:\n";

    /* Именно этот способ чтения элементов каталога является правильным. */
    while (false !== ($file = readdir($handle))) {
        echo "$file\n";
    }

    /* Это НЕВЕРНЫЙ способ обхода каталога. */
    while ($file = readdir($handle)) {
        echo "$file\n";
    }

    closedir($handle);
}
?>

Пример #2 Получить список файлов в текущем каталоге и отбросить элементы с именами . и ..

<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • glob() - Находит файловые пути, совпадающие с шаблоном
  • opendir() - Открывает дескриптор каталога
  • scandir() - Получает список файлов и каталогов, расположенных по указанному пути

opendir
rewinddir
Функции для работы с каталогами


Сбросить дескриптор каталога

readdir
scandir
Функции для работы с каталогами
PHP Manual

rewinddir

(PHP 4, PHP 5)

rewinddir — Сбросить дескриптор каталога

Описание

void rewinddir ([ resource $dir_handle ] )

Сбрасывает поток каталога, переданный в параметре dir_handle таким образом, чтобы тот указывал на начало каталога.

Список параметров

dir_handle

Ресурс resource дескриптора каталога, ранее открытый с помощью функции opendir(). Если дескриптор каталога не указан, подразумевается последний дескриптор, который был открыт с помощью opendir().

readdir
scandir
Функции для работы с каталогами


Получает список файлов и каталогов, расположенных по указанному пути

rewinddir
Fileinfo
Функции для работы с каталогами
PHP Manual

scandir

(PHP 5)

scandir — Получает список файлов и каталогов, расположенных по указанному пути

Описание

array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

Возвращает array, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре directory.

Список параметров

directory

Сканируемый каталог.

sorting_order

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если необязательный параметр sorting_order установлен в значение SCANDIR_SORT_DESCENDING, сортировка производится в алфавитном порядке по убыванию. Если же он установлен в значение SCANDIR_SORT_NONE, то сортировка не производится.

context

За описанием параметра context обратитесь к разделу "Потоки" данного руководства.

Возвращаемые значения

Возвращает array имен файлов в случае успеха или FALSE в случае ошибки. Если directory не является каталогом, возвращается FALSE и генерируется сообщение об ошибке уровня E_WARNING.

Список изменений

Версия | Описание
5.4.0 | sorting_order стал задаваться константами. В предыдущих версиях любое ненулевое значение задавало сортировку по убыванию.

Примеры

Пример #1 Простой пример использования функции scandir()

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Пример #2 Альтернативный вариант функции scandir() для PHP 4

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Примечания

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • opendir() - Открывает дескриптор каталога
  • readdir() - Получает элемент каталога по его дескриптору
  • glob() - Находит файловые пути, совпадающие с шаблоном
  • is_dir() - Определяет, является ли имя файла директорией
  • sort() - Сортирует массив

rewinddir
Fileinfo
Функции для работы с каталогами


File Information

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Fileinfo Функции
    • finfo_buffer — Return information about a string buffer
    • finfo_close — Close fileinfo resource
    • finfo_file — Return information about a file
    • finfo_open — Create a new fileinfo resource
    • finfo_set_flags — Set libmagic configuration options
    • mime_content_type — Detect MIME Content-type for a file (deprecated)
scandir
Введение
Расширения для работы с файловой системой


Введение

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

Fileinfo
Установка и настройка
Fileinfo


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Fileinfo


Требования

Before PHP 5.3.0, the magic_open library is needed to build this extension.

Установка и настройка
Установка
Установка и настройка


Установка

This extension is enabled by default as of PHP 5.3.0. Before this time, fileinfo was a PECL extension but is no longer maintained there. However, versions prior to 5.3+ may use the » discontinued PECL extension.

Windows users must include the bundled php_fileinfo.dll DLL file in php.ini to enable this extension.

The libmagic library is bundled with PHP, but includes PHP specific changes. A patch against libmagic named libmagic.patch is maintained and may be found within the PHP fileinfo extensions source.

Upgrade history of the bundled libmagic library
PHP Версия | Updated libmagic Версия | Notes
5.3.2 | 5.03 |
5.3.0 | 5.02 |

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There is one resource used in Fileinfo extension: a magic database descriptor returned by finfo_open().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FILEINFO_NONE (integer)
No special handling.
FILEINFO_SYMLINK (integer)
Follow symlinks.
FILEINFO_MIME_TYPE (integer)
Return the mime type. Available since PHP 5.3.0.
FILEINFO_MIME_ENCODING (integer)
Return the mime encoding of the file. Available since PHP 5.3.0.
FILEINFO_MIME (integer)
Return the mime type and mime encoding as defined by RFC 2045.
FILEINFO_COMPRESS (integer)
Decompress compressed files. Disabled since PHP 5.3.0 due to thread safety issues.
FILEINFO_DEVICES (integer)
Look at the contents of blocks or character special devices.
FILEINFO_CONTINUE (integer)
Return all matches, not just the first.
FILEINFO_PRESERVE_ATIME (integer)
If possible preserve the original access time.
FILEINFO_RAW (integer)
Don't translate unprintable characters to a \ooo octal representation.
Типы ресурсов
Fileinfo Функции
Fileinfo


Fileinfo Функции

Содержание

  • finfo_buffer — Return information about a string buffer
  • finfo_close — Close fileinfo resource
  • finfo_file — Return information about a file
  • finfo_open — Create a new fileinfo resource
  • finfo_set_flags — Set libmagic configuration options
  • mime_content_type — Detect MIME Content-type for a file (deprecated)
Предопределенные константы
finfo_buffer
Fileinfo


Return information about a string buffer

Fileinfo Функции
finfo_close
Fileinfo Функции
PHP Manual

finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::buffer — Return information about a string buffer

Описание

Процедурный стиль

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Объектно-ориентированный стиль

string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

This function is used to get information about binary data in a string.

Список параметров

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

Возвращаемые значения

Returns a textual description of the string argument, or FALSE if an error occurred.

Примеры

Пример #1 A finfo_buffer() example

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

application/x-sh; charset=us-ascii

Смотрите также

  • finfo_file() - Return information about a file

Fileinfo Функции
finfo_close
Fileinfo Функции


Close fileinfo resource

finfo_buffer
finfo_file
Fileinfo Функции
PHP Manual

finfo_close

finfo::__destruct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_close -- finfo::__destruct — Close fileinfo resource

Описание

Процедурный стиль

bool finfo_close ( resource $finfo )

Объектно-ориентированный стиль

finfo::__destruct ( void )

This function closes the resource opened by finfo_open().

Список параметров

finfo

Fileinfo resource returned by finfo_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

finfo_buffer
finfo_file
Fileinfo Функции


Return information about a file

finfo_close
finfo_open
Fileinfo Функции
PHP Manual

finfo_file

finfo::file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Return information about a file

Описание

Процедурный стиль

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Объектно-ориентированный стиль

string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

This function is used to get information about a file.

Список параметров

finfo

Fileinfo resource returned by finfo_open().

file_name

Name of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

For a description of contexts, refer to Stream Функции.

Возвращаемые значения

Returns a textual description of the contents of the filename argument, or FALSE if an error occurred.

Примеры

Пример #1 A finfo_file() example

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

Результатом выполнения данного примера будет что-то подобное:

text/html
image/gif
application/vnd.ms-excel

Смотрите также

  • finfo_buffer() - Return information about a string buffer

finfo_close
finfo_open
Fileinfo Функции


Create a new fileinfo resource

finfo_file
finfo_set_flags
Fileinfo Функции
PHP Manual

finfo_open

finfo->__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo->__construct — Create a new fileinfo resource

Описание

Процедурный стиль

resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Объектно-ориентированный стиль (constructor):

finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

This function opens a magic database and returns its resource.

Список параметров

options

One or disjunction of more Fileinfo constants.

magic_file

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, the MAGIC environment variable is used. If this variable is not set either, /usr/share/misc/magic is used by default. A .mime and/or .mgc suffix is added if needed.

Passing NULL or an empty string will be equivalent to the default value.

Возвращаемые значения

Returns a magic database resource on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);

?>

Пример #2 Procedural style

<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* close connection */
finfo_close($finfo);
?>

Результат выполнения данного примера:

text/plain; charset=us-ascii

Смотрите также

  • finfo_close() - Close fileinfo resource

finfo_file
finfo_set_flags
Fileinfo Функции


Set libmagic configuration options

finfo_open
mime_content_type
Fileinfo Функции
PHP Manual

finfo_set_flags

finfo::set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_set_flags -- finfo::set_flags — Set libmagic configuration options

Описание

Процедурный стиль

bool finfo_set_flags ( resource $finfo , int $options )

Объектно-ориентированный стиль

bool finfo::set_flags ( int $options )

This function sets various Fileinfo options. Options can be set also directly in finfo_open() or other Fileinfo functions.

Список параметров

finfo

Fileinfo resource returned by finfo_open().

options

One or disjunction of more Fileinfo constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

finfo_open
mime_content_type
Fileinfo Функции


Detect MIME Content-type for a file (deprecated)

finfo_set_flags
Функции для работы с файловой системой
Fileinfo Функции
PHP Manual

mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

mime_content_type — Detect MIME Content-type for a file (deprecated)

Описание

string mime_content_type ( string $filename )

Returns the MIME content type for a file as determined by using information from the magic.mime file.

Список параметров

filename

Path to the tested file.

Возвращаемые значения

Returns the content type in MIME format, like text/plain or application/octet-stream.

Примечания

Внимание

This function has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

Примеры

Пример #1 mime_content_type() Example

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

Результат выполнения данного примера:

image/gif
text/plain

Смотрите также

  • Fileinfo for a replacement

finfo_set_flags
Функции для работы с файловой системой
Fileinfo Функции


Функции для работы с файловой системой

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Файловая система
    • basename — Возвращает последний компонент имени из указанного пути
    • chgrp — Изменяет группу владельцев файла
    • chmod — Изменяет режим доступа к файлу
    • chown — Изменяет владельца файла
    • clearstatcache — Очищает кэш состояния файлов
    • copy — Копирует файл
    • delete — См.описание функции unlink или unset
    • dirname — Возвращает имя родительского каталога из указанного пути
    • disk_free_space — Возвращает размер доступного пространства в каталоге или в файловой системе
    • disk_total_space — Возвращает общий размер каталога или раздела файловой системы
    • diskfreespace — Псевдоним disk_free_space
    • fclose — Закрывает открытый дескриптор файла
    • feof — Проверяет, достигнут ли конец файла
    • fflush — Сбрасывает буфер вывода в файл
    • fgetc — Считывает символ из файла
    • fgetcsv — Читает строку из файла и производит разбор данных CSV
    • fgets — Читает строку из файла
    • fgetss — Прочитать строку из файла и отбросить HTML-теги
    • file_exists — Проверяет наличие указанного файла или каталога
    • file_get_contents — Читает содержимое файла в строку
    • file_put_contents — Пишет строку в файл
    • file — Читает содержимое файла и помещает его в массив
    • fileatime — Возвращает время последнего доступа к файлу
    • filectime — Возвращает время изменения индексного дескриптора файла
    • filegroup — Получает идентификатор группы файла
    • fileinode — Возвращает индексный дескриптор файла
    • filemtime — Возвращает время последнего изменения файла
    • fileowner — Возвращает идентификатор владельца файла
    • fileperms — Возвращает информацию о правах на файл
    • filesize — Возвращает размер файла
    • filetype — Возвращает тип файла
    • flock — Портируемая консультативная блокировка файлов
    • fnmatch — Проверяет совпадение имени файла с шаблоном
    • fopen — Открывает файл или URL
    • fpassthru — Выводит все оставшиеся данные из файлового указателя
    • fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
    • fputs — Псевдоним fwrite
    • fread — Бинарно-безопасное чтение файла
    • fscanf — Обрабатывает данные из файла в соответствии с форматом
    • fseek — Устанавливает смещение в файловом указателе
    • fstat — Получает информацию о файле используя открытый файловый указатель
    • ftell — Сообщает текущую позицию чтения/записи файла
    • ftruncate — Урезает файл до указанной длинны
    • fwrite — Бинарно-безопасная запись в файл
    • glob — Находит файловые пути, совпадающие с шаблоном
    • is_dir — Определяет, является ли имя файла директорией
    • is_executable — Определяет, является ли файл исполняемым
    • is_file — Определяет, является ли файл обычным файлом
    • is_link — Определяет, является ли файл символической ссылкой
    • is_readable — Определяет существование файла и доступен ли он для чтения
    • is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST
    • is_writable — Определяет, доступен ли файл для записи
    • is_writeable — Псевдоним is_writable
    • lchgrp — Изменяет группу, которой принадлежит символическая ссылка
    • lchown — Изменяет владельца символической ссылки
    • link — Создаёт жёсткую ссылку
    • linkinfo — Возвращает информацию о ссылке
    • lstat — Возвращает информацию о файле или символической ссылке
    • mkdir — Создаёт директорию
    • move_uploaded_file — Перемещает загруженный файл в новое место
    • parse_ini_file — Обрабатывает конфигурационный файл
    • parse_ini_string — Разбирает строку конфигурации
    • pathinfo — Возвращает информацию о пути к файлу
    • pclose — Закрывает файловый указатель процесса
    • popen — Открывает файловый указатель процесса
    • readfile — Выводит файл
    • readlink — Возвращает файл, на который указывает символическая ссылка
    • realpath_cache_get — Получает записи из кэша реального пути
    • realpath_cache_size — Получает размер кэша реального пути
    • realpath — Возвращает канонизированный абсолютный путь к файлу
    • rename — Переименовывает файл или директорию
    • rewind — Сбрасывает курсор у файлового указателя
    • rmdir — Удаляет директорию
    • set_file_buffer — Псевдоним stream_set_write_buffer
    • stat — Возвращает информацию о файле
    • symlink — Создаёт символическую ссылку
    • tempnam — Создаёт файл с уникальным именем
    • tmpfile — Создаёт временный файл
    • touch — Устанавливает время доступа и модификации файла
    • umask — Изменяет текущую umask
    • unlink — Удаляет файл
mime_content_type
Введение
Расширения для работы с файловой системой


Введение

Этот модуль не требует установки никаких внешних библиотек, но если вам нужна поддержа LFS (больших файлов) в Linux, то вам потребуется современная версия glibc и вам следует собирать PHP с включением следующих флагов в CFLAGS: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Функции для работы с файловой системой
Установка и настройка
Функции для работы с файловой системой


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Функции для работы с файловой системой


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Директивы конфигурации файловой системы и потоков
Имя | Значение по умолчанию | Область изменения | История изменения
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.3.4. PHP_INI_SYSTEM в PHP < 6. Доступна начиная с версии PHP 4.0.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP 5. Доступна начиная с версии PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.

Краткое разъяснение конфигурационных директив.

allow_url_fopen boolean

Данная директива включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL как с обычными файлами. Обертки, доступные по умолчанию, служат для работы с удаленными файлами с использованием ftp или http протокола. Некоторые расширения, например, zlib, могут регистрировать собственные обертки.

Замечание:

Из соображений безопасности эта директива может быть установлена только в php.ini.

Замечание:

Эта директива была представлена сразу же после выхода PHP версии 4.0.3. В этой и в последующих версиях эта функциональность может быть отключена только во время компиляции PHP с помощью ключа --disable-url-fopen-wrapper.

Внимание

В версиях PHP для платформ Windows, более ранних, чем 4.3.0, поддержка работы с удаленными файлами отсутствует для следующих функций: include(), include_once(), require(), require_once() и функции imagecreatefromXXX расширения GD и функции для работы с изображениями Функции.

allow_url_include boolean

Эта опция позволяет использование оберток fopen, которые поддерживают работу с URL, в функциях include(), include_once(), require(), require_once().

Замечание:

Эта опция требует включения опции allow_url_fopen.

user_agent string

Устанавливает отсылаемую PHP строку "User-Agent".

default_socket_timeout integer

Значение таймаута по умолчанию (в секундах) для потоков, использующих сокеты.

Замечание: Данная директива стала доступна с версии PHP 4.3.0

from string

Адрес email, используемый в соединениях FTP без авторизации, а также в качестве значения заголовка From в HTTP соединениях при использовании ftp и http оберток, соответственно.

auto_detect_line_endings boolean

Когда данная директива включена, PHP проверяет данные, получаемые функциями fgets() и file() с тем, чтобы определить способ завершения строк (Unix, MS-Dos или Macintosh).

Данная директива позволяет PHP взаимодействовать с системами Macintosh, однако, по умолчанию эта директива выключена, поскольку при ее использовании возникает (несущественная) потребность в дополнительных ресурсах для определения символа окончания первой строки, а также потому, что программисты, использующие в системах Unix символы возврата каретки в качестве разделителей, столкнутся с обратно-несовместимым поведением PHP.

Замечание: Эта директива стала доступна с версии PHP 4.3.0

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Файловая система использует потоки (streams) в качестве собственного типа ресурсов. Документация по потокам доступна в своей собственной главе: "Потоки".

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
GLOB_AVAILABLE_FLAGS (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATHINFO_FILENAME (integer)
Начиная с версии PHP 5.2.0.
FILE_USE_INCLUDE_PATH (integer)
Ищет filename include_path (начиная с PHP 5).
FILE_NO_DEFAULT_CONTEXT (integer)
FILE_APPEND (integer)
Добавляет данные к существующему файлу.
FILE_IGNORE_NEW_LINES (integer)
Вырезаются концы строк (EOL) (начиная с PHP 5).
FILE_SKIP_EMPTY_LINES (integer)
Пропускаются пустые строки (начиная с PHP 5).
FILE_BINARY (integer)

Бинарный режим (начиная с версии PHP 5.2.7).

Замечание:

Данная константа ни на что не влияет и доступна только для последующей совместимости (forward compatibility).

FILE_TEXT (integer)

Текстовый режим (начиная с версии PHP 5.2.7).

Замечание:

Данная константа ни на что не влияет и доступна только для последующей совместимости (forward compatibility).

INI_SCANNER_NORMAL (integer)
Обычный режим сканирования INI (начиная с версии PHP 5.3).
INI_SCANNER_RAW (integer)
Режим необработанного сканирования INI (начиная с версии PHP 5.3).
FNM_NOESCAPE (integer)
Отключает экранирование обратных слэшей.
FNM_PATHNAME (integer)
Слэши в строках совпадают только со слэшами в указанном шаблоне.
FNM_PERIOD (integer)
Ведущая точка в строке должна точно совпадать с точкой в указанном шаблоне.
FNM_CASEFOLD (integer)
Совпадение без учета регистра. Часть расширения GNU.
Типы ресурсов
Файловая система
Функции для работы с файловой системой


Файловая система

Смотрите также

Описание родственных функций вы сможете найти в разделах Каталоги и Выполнение программ.

За списком оберток URL для работы с удаленными файлами и пояснениями обращайтесь к главе Поддерживаемые протоколы и обработчики (wrappers).

Содержание

  • basename — Возвращает последний компонент имени из указанного пути
  • chgrp — Изменяет группу владельцев файла
  • chmod — Изменяет режим доступа к файлу
  • chown — Изменяет владельца файла
  • clearstatcache — Очищает кэш состояния файлов
  • copy — Копирует файл
  • delete — См.описание функции unlink или unset
  • dirname — Возвращает имя родительского каталога из указанного пути
  • disk_free_space — Возвращает размер доступного пространства в каталоге или в файловой системе
  • disk_total_space — Возвращает общий размер каталога или раздела файловой системы
  • diskfreespace — Псевдоним disk_free_space
  • fclose — Закрывает открытый дескриптор файла
  • feof — Проверяет, достигнут ли конец файла
  • fflush — Сбрасывает буфер вывода в файл
  • fgetc — Считывает символ из файла
  • fgetcsv — Читает строку из файла и производит разбор данных CSV
  • fgets — Читает строку из файла
  • fgetss — Прочитать строку из файла и отбросить HTML-теги
  • file_exists — Проверяет наличие указанного файла или каталога
  • file_get_contents — Читает содержимое файла в строку
  • file_put_contents — Пишет строку в файл
  • file — Читает содержимое файла и помещает его в массив
  • fileatime — Возвращает время последнего доступа к файлу
  • filectime — Возвращает время изменения индексного дескриптора файла
  • filegroup — Получает идентификатор группы файла
  • fileinode — Возвращает индексный дескриптор файла
  • filemtime — Возвращает время последнего изменения файла
  • fileowner — Возвращает идентификатор владельца файла
  • fileperms — Возвращает информацию о правах на файл
  • filesize — Возвращает размер файла
  • filetype — Возвращает тип файла
  • flock — Портируемая консультативная блокировка файлов
  • fnmatch — Проверяет совпадение имени файла с шаблоном
  • fopen — Открывает файл или URL
  • fpassthru — Выводит все оставшиеся данные из файлового указателя
  • fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
  • fputs — Псевдоним fwrite
  • fread — Бинарно-безопасное чтение файла
  • fscanf — Обрабатывает данные из файла в соответствии с форматом
  • fseek — Устанавливает смещение в файловом указателе
  • fstat — Получает информацию о файле используя открытый файловый указатель
  • ftell — Сообщает текущую позицию чтения/записи файла
  • ftruncate — Урезает файл до указанной длинны
  • fwrite — Бинарно-безопасная запись в файл
  • glob — Находит файловые пути, совпадающие с шаблоном
  • is_dir — Определяет, является ли имя файла директорией
  • is_executable — Определяет, является ли файл исполняемым
  • is_file — Определяет, является ли файл обычным файлом
  • is_link — Определяет, является ли файл символической ссылкой
  • is_readable — Определяет существование файла и доступен ли он для чтения
  • is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST
  • is_writable — Определяет, доступен ли файл для записи
  • is_writeable — Псевдоним is_writable
  • lchgrp — Изменяет группу, которой принадлежит символическая ссылка
  • lchown — Изменяет владельца символической ссылки
  • link — Создаёт жёсткую ссылку
  • linkinfo — Возвращает информацию о ссылке
  • lstat — Возвращает информацию о файле или символической ссылке
  • mkdir — Создаёт директорию
  • move_uploaded_file — Перемещает загруженный файл в новое место
  • parse_ini_file — Обрабатывает конфигурационный файл
  • parse_ini_string — Разбирает строку конфигурации
  • pathinfo — Возвращает информацию о пути к файлу
  • pclose — Закрывает файловый указатель процесса
  • popen — Открывает файловый указатель процесса
  • readfile — Выводит файл
  • readlink — Возвращает файл, на который указывает символическая ссылка
  • realpath_cache_get — Получает записи из кэша реального пути
  • realpath_cache_size — Получает размер кэша реального пути
  • realpath — Возвращает канонизированный абсолютный путь к файлу
  • rename — Переименовывает файл или директорию
  • rewind — Сбрасывает курсор у файлового указателя
  • rmdir — Удаляет директорию
  • set_file_buffer — Псевдоним stream_set_write_buffer
  • stat — Возвращает информацию о файле
  • symlink — Создаёт символическую ссылку
  • tempnam — Создаёт файл с уникальным именем
  • tmpfile — Создаёт временный файл
  • touch — Устанавливает время доступа и модификации файла
  • umask — Изменяет текущую umask
  • unlink — Удаляет файл
Предопределенные константы
basename
Функции для работы с файловой системой


Возвращает последний компонент имени из указанного пути

Файловая система
chgrp
Файловая система
PHP Manual

basename

(PHP 4, PHP 5)

basename — Возвращает последний компонент имени из указанного пути

Описание

string basename ( string $path [, string $suffix ] )

При передаче строки с путем к файлу или каталогу, данная функция вернет последний компонент имени из данного пути.

Список параметров

path

Путь.

На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).

suffix

Если компонент имени заканчивается на suffix, то он также будет отброшен.

Возвращаемые значения

Возвращает базовое имя указанного пути path.

Список изменений

Версия | Описание
4.1.0 | Добавлен параметр suffix

Примеры

Пример #1 Пример использования функции basename()

<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/passwd").PHP_EOL;
echo "3) ".basename("/etc/").PHP_EOL;
echo "4) ".basename(".").PHP_EOL;
echo "5) ".basename("/");
?>

Результат выполнения данного примера:

1) sudoers
2) passwd
3) etc
4) .
5)

Примечания

Замечание:

basename() наивно оперирует исключительно исходной строкой и не учитывает реальную файловую систему или компоненты пути типа "..".

Замечание:

basename() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale() function.

Смотрите также

  • dirname() - Возвращает имя родительского каталога из указанного пути
  • pathinfo() - Возвращает информацию о пути к файлу

Файловая система
chgrp
Файловая система


Изменяет группу владельцев файла

basename
chmod
Файловая система
PHP Manual

chgrp

(PHP 4, PHP 5)

chgrp — Изменяет группу владельцев файла

Описание

bool chgrp ( string $filename , mixed $group )

Осуществляет попытку смены группы файла filename на группу group.

Только суперпользователь может произвольно менять группу файла; остальные пользователи могут менять группу файла только на те группы, членами которых они являются.

Список параметров

filename

Путь к файлу.

group

Название или номер группы.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Изменение группы файла

<?php
$filename = 'shared_file.txt';
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, 8);
clearstatcache(); // сбрасываем кэш filegroup()
printf($format, $filename, date('r'), filegroup($filename));
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • chown() - Изменяет владельца файла
  • chmod() - Изменяет режим доступа к файлу

basename
chmod
Файловая система


Изменяет режим доступа к файлу

chgrp
chown
Файловая система
PHP Manual

chmod

(PHP 4, PHP 5)

chmod — Изменяет режим доступа к файлу

Описание

bool chmod ( string $filename , int $mode )

Осуществляет попытку изменения режима доступа указанного файла на режим, переданный в параметре mode.

Список параметров

filename

Путь к файлу.

mode

Обратите внимание, что значение параметра mode не переводится автоматически в восьмеричную систему счисления, поэтому строки (такие, как, например, "g+w") не будут работать должным образом. Чтобы удостовериться в том, что режим был установлен верно, предваряйте нулем (0) значение, передаваемое в параметре mode:

<?php
chmod("/somedir/somefile", 755);   // десятичное, скорее всего, указано неверно
chmod("/somedir/somefile", "u+rwx,go+rx"); // строка, неверный способ
chmod("/somedir/somefile", 0755);  // восьмеричное, верный способ
?>

Значение параметра mode состоит из трех восьмеричных чисел, определяющих уровень доступа для владельца файла, для группы, в которую входит владелец, и для других пользователей, соответственно. Число, определяющее уровень пользователя, может быть вычислено путем суммирования значений, определяющих права: 1 - доступ на выполнение, 2 - доступ на запись, 4 - доступ на чтение. Сложите эти числа для указания нужного права доступа. Более подробно о системе прав в системах Unix вы можете узнать с помощью команд 'man 1 chmod' и 'man 2 chmod'.

<?php
// Доступ на запись и чтение для владельца, нет доступа для других
chmod("/somedir/somefile", 0600);

// Доступ на запись и чтение для владельца, доступ на чтение для других
chmod("/somedir/somefile", 0644);

// Полный доступ для владельца, доступ на чтение и выполнение для других
chmod("/somedir/somefile", 0755);

// Полный доступ для владельца, доступ на чтение и выполнение для группы владельца
chmod("/somedir/somefile", 0750);
?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Текущим пользователем является пользователь, от имени которого выполняется PHP. Возможно, что это будет не тот пользователь, под именем которого вы получаете доступ к командной оболочке или учетной записи FTP. На большинстве систем режим доступа к файлу может быть изменен только его владельцем.

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание:

При включенном безопасный режим PHP проверяет имеет ли файл или директория, с которой вы работаете, такой же UID (id владельца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать SUID, SGID и "липкие" (sticky) биты.

Смотрите также

  • chown() - Изменяет владельца файла
  • chgrp() - Изменяет группу владельцев файла
  • fileperms() - Возвращает информацию о правах на файл
  • stat() - Возвращает информацию о файле

chgrp
chown
Файловая система


Изменяет владельца файла

chmod
clearstatcache
Файловая система
PHP Manual

chown

(PHP 4, PHP 5)

chown — Изменяет владельца файла

Описание

bool chown ( string $filename , mixed $user )

Осуществляет попытку изменения владельца файла с именем filename на владельца, чье имя передано в параметре user (в виде числа или строки). Только суперпользователь может изменять владельца файла.

Список параметров

filename

Путь к файлу.

user

Имя пользователя или число.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример простого использования chown()

<?php

// Используемое имя файла и имя пользователя
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "root";

// Устанавливаем пользователя
chown($path, $user_name);

// Проверяем результат
$stat = stat($path);
print_r(posix_getpwuid($stat['uid']));

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • chmod() - Изменяет режим доступа к файлу

chmod
clearstatcache
Файловая система


Очищает кэш состояния файлов

chown
copy
Файловая система
PHP Manual

clearstatcache

(PHP 4, PHP 5)

clearstatcache — Очищает кэш состояния файлов

Описание

void clearstatcache ([ bool $clear_realpath_cache = false [, string $filename ]] )

Для обеспечения большей производительности при использовании функций stat(), lstat() или любой другой функции, перечисленных в приведенном ниже списке, PHP кеширует результаты их выполнения. Однако, в некоторых случаях вам может потребоваться очистка этого кэша. Например, когда ваш скрипт несколько раз проверяет состояние одного и того же файла, который может быть изменен или удален во время выполнения скрипта, вы можете захотеть очистить кэш состояния. В этом случае необходимо использовать функцию clearstatcache() для очистки в PHP кэшированной информации об указанном файле.

Обратите внимание, что PHP не кэширует информацию о несуществующих файлах. Так что если вы вызовите file_exists() на несуществующем файле, она будет возвращать FALSE до тех пор, пока вы не создадите этот файл. Если же вы создадите файл, она будет возвращать TRUE даже если затем вы его удалите. Однако, функция unlink() очистит данный кэш автоматически.

Замечание:

Данная фукнция кэширует информацию об определенных файлах, поэтому имеет смысл вызывать clearstatcache() только в том случае, если вы совершаете несколько операций с одним и тем же файлом и не хотите получать кэшированную информацию об этом файле.

Список функций, результаты выполнения которых кешируются:
stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype() и
fileperms().

Список параметров

clear_realpath_cache

Очищать кэш realpath или нет.

filename

Очистить кэш realpath для определенного файла, используется только если параметр clear_realpath_cache установлен в TRUE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.3.0 | Добавлены необязательные параметры clear_realpath_cache и filename.

Примеры

Пример #1 Пример использования clearstatcache()

<?php
$file = 'output_log.txt';

function get_owner($file)
{
    $stat = stat($file);
    $user = posix_getpwuid($stat['uid']);
    return $user['name'];
}

$format = "UID @ %s: %s\n";

printf($format, date('r'), get_owner($file));

chown($file, 'ross');
printf($format, date('r'), get_owner($file));

clearstatcache();
printf($format, date('r'), get_owner($file));
?>

Результатом выполнения данного примера будет что-то подобное:

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross

chown
copy
Файловая система


Копирует файл

clearstatcache
delete
Файловая система
PHP Manual

copy

(PHP 4, PHP 5)

copy — Копирует файл

Описание

bool copy ( string $source , string $dest [, resource $context ] )

Копирует файл source в файл с именем dest.

Если вы хотите переместить файл, используйте функцию rename().

Список параметров

source

Путь к исходному файлу.

dest

Путь к целевому файлу. Если dest является URL, то операция копирования может завершиться ошибкой, если обертка URL не поддерживает перезаписывание существующих файлов.

Внимание

Если целевой файл уже существует, то он будет перезаписан.

context

Корректный ресурс контекста, созданный функцией stream_context_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Добавлена поддержка контекста.
4.3.0 | Оба параметра source и dest теперь могут быть URL, если включены "обертки fopen". Подробнее смотрите функцию fopen().

Примеры

Пример #1 Пример использования функции copy()

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "не удалось скопировать $file...\n";
}
?>

Смотрите также

  • move_uploaded_file() - Перемещает загруженный файл в новое место
  • rename() - Переименовывает файл или директорию
  • Раздел руководства "Загрузка файлов"

clearstatcache
delete
Файловая система


См.описание функции unlink или unset

copy
dirname
Файловая система
PHP Manual

delete

delete — См.описание функции unlink() или unset()

Описание

void delete ( void )

Это фиктивная секция руководства, которая помогает программистам, ищущим описание unlink() или unset() в неверном месте.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • unlink() - Удаляет файл
  • unset() - Удаляет переменную

copy
dirname
Файловая система


Возвращает имя родительского каталога из указанного пути

delete
disk_free_space
Файловая система
PHP Manual

dirname

(PHP 4, PHP 5)

dirname — Возвращает имя родительского каталога из указанного пути

Описание

string dirname ( string $path )

Получив строку, содержащую путь к файлу или каталогу, данная функция возвратит родительский каталог данного пути.

Список параметров

path

Путь.

На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).

Возвращаемые значения

Возвращает путь к родительской директории. Если в параметре path не содержится слэшей, будет возвращена точка ('.'), обозначающая текущую директорию. В другом случае будет возвращен path без последнего компонента /component.

Список изменений

Версия | Описание
5.0.0 | dirname() теперь безопасна для обработки бинарных данных.
4.0.3 | dirname() теперь совместима со стандартом POSIX.

Примеры

Пример #1 Пример использования функции dirname()

<?php
echo "1) " . dirname("/etc/passwd") . PHP_EOL; // 1) /etc
echo "2) " . dirname("/etc/") . PHP_EOL; // 2) / (или \ на Windows)
echo "3) " . dirname("."); // 3) .
?>

Примечания

Замечание:

Функция dirname() наивно оперирует исключительно исходной строкой и не учитывает реальную файловую систему или компоненты пути типа "..".

Замечание:

dirname() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale().

Замечание:

Начиная с версии PHP 4.0.3, функция dirname() вернет слэш или точку там, где ранее возвращалась бы пустая строка.

Посмотрите следующий пример, иллюстрирующий эти изменения:

<?php

//до PHP 4.3.0
dirname('c:/'); // возвращала '.'

//после PHP 4.3.0
dirname('c:/x'); // возвращает 'c:\'
dirname('c:/Temp/x'); // возвращает 'c:/Temp'
dirname('/x'); // возвращает '\'

?>

Смотрите также

  • basename() - Возвращает последний компонент имени из указанного пути
  • pathinfo() - Возвращает информацию о пути к файлу
  • realpath() - Возвращает канонизированный абсолютный путь к файлу

delete
disk_free_space
Файловая система


Возвращает размер доступного пространства в каталоге или в файловой системе

dirname
disk_total_space
Файловая система
PHP Manual

disk_free_space

(PHP 4 >= 4.1.0, PHP 5)

disk_free_space — Возвращает размер доступного пространства в каталоге или в файловой системе

Описание

float disk_free_space ( string $directory )

Функция возвращает размер свободного пространства в байтах, доступного для использования в указанном каталоге или файловой системе.

Список параметров

directory

Директория или раздел диска.

Замечание:

Если вместо директории будет передано имя файла, то поведение данной функции неизвестно и может отличаться на разных операционных системах и версиях PHP.

Возвращаемые значения

Возвращает количество свободных байт в виде вещественного числа или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции disk_free_space()

<?php
// $df содержит размер свободного места в каталоге "/"
$df = disk_free_space("/");

// Под Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Смотрите также

  • disk_total_space() - Возвращает общий размер каталога или раздела файловой системы

dirname
disk_total_space
Файловая система


Возвращает общий размер каталога или раздела файловой системы

disk_free_space
diskfreespace
Файловая система
PHP Manual

disk_total_space

(PHP 4 >= 4.1.0, PHP 5)

disk_total_space — Возвращает общий размер каталога или раздела файловой системы

Описание

float disk_total_space ( string $directory )

Функция возвращает общий размер в байтах указанного раздела диска или каталога.

Список параметров

directory

Директория файловой системы или раздел диска.

Возвращаемые значения

Возвращает общий размер в байтах в виде вещественного числа или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования disk_total_space()

<?php
// $df содержит общий размер диска "/" в байтах
$ds = disk_total_space("/");

// Под Windows:
$ds = disk_total_space("C:");
$ds = disk_total_space("D:");
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Смотрите также

  • disk_free_space() - Возвращает размер доступного пространства в каталоге или в файловой системе

disk_free_space
diskfreespace
Файловая система


Псевдоним disk_free_space

disk_total_space
fclose
Файловая система
PHP Manual

diskfreespace

(PHP 4, PHP 5)

diskfreespace — Псевдоним disk_free_space()

Описание

Эта функция является псевдонимом: disk_free_space().

disk_total_space
fclose
Файловая система


Закрывает открытый дескриптор файла

diskfreespace
feof
Файловая система
PHP Manual

fclose

(PHP 4, PHP 5)

fclose — Закрывает открытый дескриптор файла

Описание

bool fclose ( resource $handle )

Функция закрывает файл, на который указывает дескриптор handle.

Список параметров

handle

Дескриптор должен быть корректным и указывать на файл, открытый ранее с помощью функции fopen() или fsockopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой пример использования функции fclose()

<?php

$handle = fopen('somefile.txt', 'r');

fclose($handle);

?>

Смотрите также

  • fopen() - Открывает файл или URL
  • fsockopen() - Open Internet or Unix domain socket connection

diskfreespace
feof
Файловая система


Проверяет, достигнут ли конец файла

fclose
fflush
Файловая система
PHP Manual

feof

(PHP 4, PHP 5)

feof — Проверяет, достигнут ли конец файла

Описание

bool feof ( resource $handle )

Проверяет, достигнут ли конец файла.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

Возвращаемые значения

Возвращает TRUE, если указатель файла указывает на EOF или произошла ошибка (в том числе таймаут сокета), иначе возвращает FALSE.

Примечания

Внимание

Если подключение, открытое при помощи fsockopen() не было закрыто сервером, feof() повиснет. Для варианта обхода этого поведения смотрите следующий пример:

Пример #1 Обработка таймаутов с функцией feof()

<?php
function safe_feof($fp, &$start = NULL) {
 $start = microtime(true);

 return feof($fp);
}

/* Предположим, что $fp был ранее открыт с помощью fsockopen() */

$start = NULL;
$timeout = ini_get('default_socket_timeout');

while(!safe_feof($fp, $start) && (microtime(true) - $start) < $timeout)
{
 /* Обработка */
}
?>

Внимание

Если передан неверный файловый указатель, то вы можете получить бесконечный цикл, так как feof() не сможет вернуть TRUE.

Пример #2 Пример feof() с неверным файловым указателем

<?php
// если файл не может быть прочтен или не существует, fopen вернет FALSE
$file = @fopen("no_such_file", "r");

// FALSE от fopen вызовет предупреждение и следующий цикл станет бесконечным
while (!feof($file)) {
}

fclose($file);
?>

fclose
fflush
Файловая система


Сбрасывает буфер вывода в файл

feof
fgetc
Файловая система
PHP Manual

fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush — Сбрасывает буфер вывода в файл

Описание

bool fflush ( resource $handle )

Данная функция осуществляет сброс буферизованных данных в файл, на который указывает handle.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример записи файла с помощью fflush()

<?php
$filename = 'bar.txt';

$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>

Смотрите также

  • clearstatcache() - Очищает кэш состояния файлов
  • fwrite() - Бинарно-безопасная запись в файл

feof
fgetc
Файловая система


Считывает символ из файла

fflush
fgetcsv
Файловая система
PHP Manual

fgetc

(PHP 4, PHP 5)

fgetc — Считывает символ из файла

Описание

string fgetc ( resource $handle )

Считывает символ из переданного указателя на файл.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

Возвращаемые значения

Возвращает строку с одним символом, прочтенным из файла, на который указывает handle. Возвращает FALSE при достижении EOF.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования функции fgetc()

<?php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
    echo 'Ошибка при открытии файла somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Open Internet or Unix domain socket connection
  • fgets() - Читает строку из файла

fflush
fgetcsv
Файловая система


Читает строку из файла и производит разбор данных CSV

fgetc
fgets
Файловая система
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsv — Читает строку из файла и производит разбор данных CSV

Описание

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )

Данная функция похожа на функцию fgets(), с той разницей, что она производит анализ строки на наличие записей в формате CSV и возвращает найденные поля в качестве массива.

Список параметров

handle

Корректный файловый указатель на файл, успешно открытый при помощи fopen(), popen() или fsockopen().

length

Должен быть больше самой длинной строки (в символах), найденной в CSV-файле (включая завершающий символ конца строки). Данный параметр стал необязательным в PHP 5. Если этот аргумент не указан (или равен 0 в версиях PHP 5.0.4 и выше), максимальная длина строки не ограничена, но функция работает немного медленнее.

delimiter

Устанавливает разделитель поля (только один символ).

enclosure

Устанавливает символ ограничителя поля (только один символ).

escape

Устанавливает экранирующий символ (только один символ). По умолчанию равен обратному слэшу.

Возвращаемые значения

Возвращает индексированный массив с прочтенными полями.

Замечание:

Пустая строка CSV-файла будет возвращена в качестве массива, содержащего единственный элемент null, ошибки в данном случае не возникнет.

Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

fgetcsv() возвращает NULL, если передаётся неверный параметр handle или FALSE при других ошибках, в том числе и по достижению конца файла.

Список изменений

Версия | Описание
5.3.0 | Добавлен параметр escape
4.3.5 | fgetcsv() теперь безопасна для обработки бинарных данных
4.3.0 | Добавлен параметр enclosure

Примеры

Пример #1 Чтение и вывод на экран содержимого CSV-файла

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num полей в строке $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

Примечания

Замечание:

Эта функция принимает во внимание настройки локали. К примеру, если LANG установлена в en_US.UTF-8, то файлы в однобайтовой кодировке будут неправильно прочитаны этой функцией.

Смотрите также

  • str_getcsv() - Выполняет разбор CSV-строки в массив
  • explode() - Разбивает строку с помощью разделителя
  • file() - Читает содержимое файла и помещает его в массив
  • pack() - Pack data into binary string
  • fputcsv() - Форматирует строку в виде CSV и записывает её в файловый указатель

fgetc
fgets
Файловая система


Читает строку из файла

fgetcsv
fgetss
Файловая система
PHP Manual

fgets

(PHP 4, PHP 5)

fgets — Читает строку из файла

Описание

string fgets ( resource $handle [, int $length ] )

Читает строку из файлового указателя.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

length

Чтения заканчивается по достижении length - 1 байт, если встретилась новая строка (которая включается в возвращаемый результат) или конец файла (что встретилось первым). Если длина не указана, чтение из потока будет продолжаться до тех пор, пока не достигнет конца строки.

Замечание:

До версии PHP 4.3.0, опущение этого параметра означало, что длина строки будет равна 1024 символам. Если большинство строк в файле больше 8 килобайт, в целях производительности вашего скрипта стоит указать максимальную длину строки.

Возвращаемые значения

Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр handle. Если данных для чтения больше нет, то возвращает FALSE.

В случае возникновения ошибки возвращает FALSE.

Список изменений

Версия | Описание
4.3.0 | fgets() теперь безопасна для обработки бинарных данных
4.2.0 | Параметр length стал необязательным

Примеры

Пример #1 Построчное чтение файла

<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}
?>

Примечания

Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

Замечание:

Программисты, привыкшие к семантике 'C' функции fgets(), должны принимать во внимание разницу в том, каким образом возвращается признак достижения конца файла (EOF).

Смотрите также

  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fread() - Бинарно-безопасное чтение файла
  • fgetc() - Считывает символ из файла
  • stream_get_line() - Получает строку из потокового ресурса до указанного разделителя
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Open Internet or Unix domain socket connection
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке

fgetcsv
fgetss
Файловая система


Прочитать строку из файла и отбросить HTML-теги

fgets
file_exists
Файловая система
PHP Manual

fgetss

(PHP 4, PHP 5)

fgetss — Прочитать строку из файла и отбросить HTML-теги

Описание

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

Данная функция идентична функции fgets() с той только разницей, что fgetss() осуществляет отбрасывание любых HTML и PHP-тегов из прочитанной строки.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

length

Длина получаемых данных.

allowable_tags

Можно использовать третий небязательный параметр для указания тегов, которые не нужно вырезать.

Возвращаемые значения

Возвращает строку из length - 1 байт, прочтенных из файла, на который указывает дескриптор handle, с вырезанными HTML и PHP тегами.

В случае возникновения ошибки возвращает FALSE.

Список изменений

Версия | Описание
5.0.0 | Параметр length стал необязательным

Пример #1 Построчное чтение PHP-файла

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents('sample.php', $str);

$handle = @fopen("sample.php", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgetss($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

Результатом выполнения данного примера будет что-то подобное:

 Welcome! Today is the  of .

Text outside of the HTML block.

Примечания

Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

Смотрите также

  • fgets() - Читает строку из файла
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Open Internet or Unix domain socket connection
  • strip_tags() - Удаляет HTML и PHP-теги из строки

fgets
file_exists
Файловая система


Проверяет наличие указанного файла или каталога

fgetss
file_get_contents
Файловая система
PHP Manual

file_exists

(PHP 4, PHP 5)

file_exists — Проверяет наличие указанного файла или каталога

Описание

bool file_exists ( string $filename )

Проверяет наличие указанного файла или каталога.

Список параметров

filename

Путь к файлу или каталогу.

На платформах Windows, для проверки наличия файлов на сетевых ресурсах, используйте имена, подобные //computername/share/filename или \\computername\share\filename.

Возвращаемые значения

Возвращает TRUE, если файл или каталог, указанный параметром filename, существует, иначе возвращает FALSE.

Замечание:

Данная функция возвращает FALSE для символических ссылок, указывающих на несуществующие файлы.

Внимание

Если файлы недоступны из-за ограничений, налагаемых безопасным режимом, то данная функция вернет FALSE. Однако, эти файлы все еще могут быть подключены, если они располагаются в каталоге safe_mode_include_dir.

Замечание:

Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Примеры

Пример #1 Проверка существования файла

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "Файл $filename существует";
} else {
    echo "Файл $filename не существует";
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_readable() - Определяет существование файла и доступен ли он для чтения
  • is_writable() - Определяет, доступен ли файл для записи
  • is_file() - Определяет, является ли файл обычным файлом
  • file() - Читает содержимое файла и помещает его в массив

fgetss
file_get_contents
Файловая система


Читает содержимое файла в строку

file_exists
file_put_contents
Файловая система
PHP Manual

file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Читает содержимое файла в строку

Описание

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

Данная функция похожа на функцию file() с той только разницей, что file_get_contents() возвращает содержимое файла в строке, начиная с указанного смещения offset и до maxlen байт. В случае неудачи, file_get_contents() вернёт FALSE.

Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует технику отображения файла в память (memory mapping), если она поддерживается вашей операционной системой.

Замечание:

Если вы открываете URI содержащий спецсимволы, такие как пробел, вам нужно закодировать URI при помощи urlencode().

Список параметров

filename

Имя читаемого файла.

use_include_path

Замечание:

Начиная с версии PHP 5 можно использовать константу FILE_USE_INCLUDE_PATH для поиска файла в include path.

context

Корректный ресурс контекста, созданный с помощью функции stream_context_create(). Если в использовании особого контекста нет необходимости, можно пропустить этот параметр передав в него значение NULL.

offset

Смещение, с которого начнется чтение оригинального потока.

Поиск смещения (offset) не поддерживается при работе с удаленными файлами. Попытка поиска смещения на нелокальных файлах может работать при небольших смещениях, но этот результат является непредсказуемым, так как он работает на буферизованном потоке.

maxlen

Максимальный размер читаемых данных. По умолчанию чтение осуществляется пока не будет достигнут конец файла. Учтите, что этот параметр применяется и к потоку с фильтрами.

Возвращаемые значения

Функция возвращает прочтенные данные или FALSE в случае возникновения ошибки.

Ошибки

Будет сгенерирована ошибка уровня E_WARNING, если параметр maxlength меньше нуля или offset превышает длину потока.

Примеры

Пример #1 Получить и вывести исходный код домашней страницы вебсайта

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

Пример #2 Поиск файлов в include_path

<?php
// <= PHP 5
$file = file_get_contents('./people.txt', true);
// > PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>

Пример #3 Чтение секции файла

<?php
// Читаем 14 символов, начиная с 21 символа
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14);
var_dump($section);
?>

Результатом выполнения данного примера будет что-то подобное:

string(14) "lle Bjori Ro"

Пример #4 Использование потоковых контекстов

<?php
// Создаем поток
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Открываем файл с помощью установленных выше HTTP-заголовков
$file = file_get_contents('http://www.example.com/', false, $context);
?>

Список изменений

Версия | Описание
5.1.0 | Добавлены аргументы offset и maxlen.
5.0.0 | Добавлена поддержка контекста.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS при открытии потока с помощью обертки https:// и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Смотрите также

  • file() - Читает содержимое файла и помещает его в массив
  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • readfile() - Выводит файл
  • file_put_contents() - Пишет строку в файл
  • stream_get_contents() - Читает оставшуюся часть потока в строку
  • stream_context_create() - Создаёт контекст потока
  • $http_response_header

file_exists
file_put_contents
Файловая система


Пишет строку в файл

file_get_contents
file
Файловая система
PHP Manual

file_put_contents

(PHP 5)

file_put_contents — Пишет строку в файл

Описание

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Функция идентична последовательным успешным вызовам функций fopen(), fwrite() и fclose().

Если filename не существует, файл будет создан. Иначе, существующий файл будет перезаписан, за исключением случая, если указан флаг FILE_APPEND.

Список параметров

filename

Путь к записываемому файлу.

data

Записываемые данные. Может быть string, array или ресурсом stream.

Если data является ресурсом stream, оставшийся буфер этого потока будет скопирован в указанный файл. Это похоже на использование функции stream_copy_to_stream().

Также вы можете передать одномерный массив в качестве параметра data. Это будет эквивалентно вызову file_put_contents($filename, implode('', $array)).

flags

Значением параметра flags может быть любая комбинация следующих флагов, соединенных бинарным оператором ИЛИ (|).

Доступные флаги
Флаг | Описание
FILE_USE_INCLUDE_PATH | Ищет filename в подключаемых директориях. Подробнее смотрите директиву include_path.
FILE_APPEND | Если файл filename уже существует, данные будут дописаны в конец файла вместо того, чтобы его перезаписать.
LOCK_EX | Получить эксклюзивную блокировку на файл на время записи.

context

Корректный ресурс контекста, созданный с помощью функции stream_context_create().

Возвращаемые значения

Функция возвращает количество записанных байт в файл, или FALSE в случае ошибки.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример простого использования

<?php
$file = 'people.txt';
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
$current .= "John Smith\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
?>

Пример #2 Использование флагов

<?php
$file = 'people.txt';
// Новый человек, которого нужно добавить в файл
$person = "John Smith\n";
// Пишем содержимое в файл,
// используя флаг FILE_APPEND flag для дописывания содержимого в конец файла
// и флаг LOCK_EX для предотвращения записи данного файла кем-нибудь другим в данное время
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>

Список изменений

Версия | Описание
5.0.0 | Добавлена поддержка контекста
5.1.0 | Добавлена поддержка LOCK_EX и возможность передачи потокового ресурса в параметр data

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • fopen() - Открывает файл или URL
  • fwrite() - Бинарно-безопасная запись в файл
  • file_get_contents() - Читает содержимое файла в строку
  • stream_context_create() - Создаёт контекст потока

file_get_contents
file
Файловая система


Читает содержимое файла и помещает его в массив

file_put_contents
fileatime
Файловая система
PHP Manual

file

(PHP 4, PHP 5)

file — Читает содержимое файла и помещает его в массив

Описание

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

Читает содержимое файла и помещает его в массив.

Замечание:

Можно также использовать функцию file_get_contents() для получения файла в виде строки.

Список параметров

filename

Путь к файлу.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

flags

В качестве необязательного параметра flags может можно указать одну или более следующих констант:

FILE_USE_INCLUDE_PATH
Ищет файл в include_path.
FILE_IGNORE_NEW_LINES
Не добавлять новую строку к концу каждого элемента массива
FILE_SKIP_EMPTY_LINES
Пропускать пустые строки

context

Ресурс контекста, созданный функцией stream_context_create().

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает файл в виде массива. Каждый элемент массива соответствует строке файла, с символами новой строки включительно. В случае ошибки file() возвращает FALSE.

Замечание:

Каждая строка в полученном массиве будет завершаться символами конца строки (если вы не указали флаг FILE_IGNORE_NEW_LINES), поэтому, если вам будет нужно избавиться от этих символов, вы можете использовать функцию rtrim().

Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр context
5.0.0 | До версии PHP 5.0.0 параметр flags использовал только include_path и для его включения необходимо было передать 1
4.3.0 | file() стала безопасной для обработки бинарных данных

Примеры

Пример #1 Пример использования file()

<?php
// Получает содержимое файла в виде массива. В данном примере мы используем
// обращение по протоколу HTTP для получения HTML-кода с удаленного сервера.
$lines = file('http://www.example.com/');

// Осуществим проход массива и выведем содержимое в виде HTML-кода вместе с номерами строк.
foreach ($lines as $line_num => $line) {
    echo "Строка #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

// Второй пример. Получим содержание web-страницы в виде одной строки.
// См.также описание функции file_get_contents().
$html = implode('', file('http://www.example.com/'));

// Используем необязательный параметр flags (начиная с PHP 5)
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Примечания

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS при открытии потока с помощью обертки https:// и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Смотрите также

  • readfile() - Выводит файл
  • fopen() - Открывает файл или URL
  • fsockopen() - Open Internet or Unix domain socket connection
  • popen() - Открывает файловый указатель процесса
  • file_get_contents() - Читает содержимое файла в строку
  • include()
  • stream_context_create() - Создаёт контекст потока

file_put_contents
fileatime
Файловая система


Возвращает время последнего доступа к файлу

file
filectime
Файловая система
PHP Manual

fileatime

(PHP 4, PHP 5)

fileatime — Возвращает время последнего доступа к файлу

Описание

int fileatime ( string $filename )

Возвращает время последнего доступа к файлу.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу, или FALSE в случае возникновения ошибки. Время возвращается в виде временной метки Unix.

Примеры

Пример #1 Пример использования функции fileatime()

<?php

// Пример вывода: В последний раз обращение к файлу somefile.txt было произведено: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "В последний раз обращение к файлу $filename было произведено: " . date("F d Y H:i:s.", fileatime($filename));
}

?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание:

Предполагается, что время последнего доступа файла изменяется во время чтения блоков файла. Это может потребовать значительного количества системных ресурсов, особенно когда приложение обращается к большому числу файлов или каталогов.

С целью увеличения производительности некоторые файловые системы на платформах Unix могут быть примонтированы с отключенной возможностью обновления времени последнего доступа к файлам, примером этого могут служить каталоги для хранения сообщений USENET. В подобных случаях использование данной функции бессмысленно.

Замечание:

Учтите, что обработка времени может отличаться в различных файловых системах.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • filemtime() - Возвращает время последнего изменения файла
  • fileinode() - Возвращает индексный дескриптор файла
  • date() - Форматирует вывод системной даты/времени

file
filectime
Файловая система


Возвращает время изменения индексного дескриптора файла

fileatime
filegroup
Файловая система
PHP Manual

filectime

(PHP 4, PHP 5)

filectime — Возвращает время изменения индексного дескриптора файла

Описание

int filectime ( string $filename )

Возвращает время изменения индексного дескриптора (inode) файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает время последнего изменения файла, или FALSE в случае возникновения ошибки. Время возвращается в формате временной метки Unix.

Примеры

Пример #1 Пример использования функции filectime()

<?php

// Пример вывода: Файл somefile.txt в последний раз был изменен: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "Файл $filename в последний раз был изменен: " . date("F d Y H:i:s.", filectime($filename));
}

?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание:

Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. Обратитесь также к описаниям функций filemtime() (данная функция полезна для создания сообщений типа: "Последнее обновление от..." на web-страницах) и fileatime().

Замечание:

Учтите также, что в некоторых описаниях работы Unix ctime представляется как время создания файла. Это неверно. В большинстве файловых систем Unix понятие времени создания файла отсутствует.

Замечание:

Учтите, что обработка времени может отличаться в различных файловых системах.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • filemtime() - Возвращает время последнего изменения файла

fileatime
filegroup
Файловая система


Получает идентификатор группы файла

filectime
fileinode
Файловая система
PHP Manual

filegroup

(PHP 4, PHP 5)

filegroup — Получает идентификатор группы файла

Описание

int filegroup ( string $filename )

Возвращает идентификатор группы файла в виде числа. Для получения имени группы в виде строки используйте функцию posix_getgrgid().

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает идентификатор группы файла или FALSE в случае ошибки. Идентификатор группы возвращается в виде числа, для получения имени группы в виде строки используйте функцию posix_getgrgid(). В случае возникновения ошибки возвращается FALSE.

Примеры

Пример #1 Поиск группы файла

<?php
$filename = 'index.php';
print_r(posix_getgrgid(filegroup($filename)));
?>

Ошибки

В случае возникновения ошибки будет сгенерирована ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • fileowner() - Возвращает идентификатор владельца файла
  • posix_getgrgid() - Return info about a group by group id
  • safe_mode_gid

filectime
fileinode
Файловая система


Возвращает индексный дескриптор файла

filegroup
filemtime
Файловая система
PHP Manual

fileinode

(PHP 4, PHP 5)

fileinode — Возвращает индексный дескриптор файла

Описание

int fileinode ( string $filename )

Возвращает индексный дескриптор файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает номер индексного дескриптора файла, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Сравнение индексного дескриптора файла с текущим файлом

<?php
$filename = 'index.php';
if (getmyinode() == fileinode($filename)) {
    echo 'Вы проверяете текущий файл.';
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • getmyinode() - Gets the inode of the current script
  • stat() - Возвращает информацию о файле

filegroup
filemtime
Файловая система


Возвращает время последнего изменения файла

fileinode
fileowner
Файловая система
PHP Manual

filemtime

(PHP 4, PHP 5)

filemtime — Возвращает время последнего изменения файла

Описание

int filemtime ( string $filename )

Данная функция возвращает время последней записи блоков файла, иначе говоря, изменения содержания файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает время последнего изменения указанного файла, или FALSE в случае возникновения ошибки. Время возвращается в формате временной метки Unix, который подходит для передачи в качестве аргумента функции date().

Примеры

Пример #1 Пример использования функции filemtime()

<?php
// Пример вывода: В последний раз файл somefile.txt был изменен: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "В последний раз файл $filename был изменен: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание:

Учтите, что обработка времени может отличаться в различных файловых системах.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • filectime() - Возвращает время изменения индексного дескриптора файла
  • stat() - Возвращает информацию о файле
  • touch() - Устанавливает время доступа и модификации файла
  • getlastmod() - Gets time of last page modification

fileinode
fileowner
Файловая система


Возвращает идентификатор владельца файла

filemtime
fileperms
Файловая система
PHP Manual

fileowner

(PHP 4, PHP 5)

fileowner — Возвращает идентификатор владельца файла

Описание

int fileowner ( string $filename )

Возвращает идентификатор владельца файла

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает числовой идентификатор владельца указанного файла, или FALSE в случае возникновения ошибки. Чтобы получить имя владельца в виде строки, используйте функцию posix_getpwuid().

Примеры

Пример #1 Находим владельца файла

<?php
$filename = 'index.php';
print_r(posix_getpwuid(fileowner($filename)));
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • filegroup() - Получает идентификатор группы файла
  • stat() - Возвращает информацию о файле
  • posix_getpwuid() - Return info about a user by user id

filemtime
fileperms
Файловая система


Возвращает информацию о правах на файл

fileowner
filesize
Файловая система
PHP Manual

fileperms

(PHP 4, PHP 5)

fileperms — Возвращает информацию о правах на файл

Описание

int fileperms ( string $filename )

Возвращает информацию о правах доступа на файл.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает права доступа на указанный файл в числовом виде, который также подходит для использования в функции chmod(), или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Отображение прав доступа в виде восьмеричного числа

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

Результат выполнения данного примера:

1777
0644

Пример #2 Отображение полных прав доступа

<?php
$perms = fileperms('/etc/passwd');

if (($perms & 0xC000) == 0xC000) {
    // Сокет
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Символическая ссылка
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Обычный
    $info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
    // Специальный блок
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Директория
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Специальный символ
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // Поток FIFO
    $info = 'p';
} else {
    // Неизвестный
    $info = 'u';
}

// Владелец
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Группа
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Мир
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

Результат выполнения данного примера:

-rw-r--r--

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • chmod() - Изменяет режим доступа к файлу
  • is_readable() - Определяет существование файла и доступен ли он для чтения
  • stat() - Возвращает информацию о файле

fileowner
filesize
Файловая система


Возвращает размер файла

fileperms
filetype
Файловая система
PHP Manual

filesize

(PHP 4, PHP 5)

filesize — Возвращает размер файла

Описание

int filesize ( string $filename )

Возвращает размер указанного файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает размер указанного файла в байтах или FALSE (и генерирует ошибку уровня E_WARNING) в случае возникновения ошибки.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Примеры

Пример #1 Пример использования функции filesize()

<?php

// Пример вывода: Размер файла somefile.txt: 1024 байта

$filename = 'somefile.txt';
echo 'Размер файла ' . $filename . ': ' . filesize($filename) . ' байт';

?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • file_exists() - Проверяет наличие указанного файла или каталога

fileperms
filetype
Файловая система


Возвращает тип файла

filesize
flock
Файловая система
PHP Manual

filetype

(PHP 4, PHP 5)

filetype — Возвращает тип файла

Описание

string filetype ( string $filename )

Возвращает тип указанного файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает тип файла. Возможными значениями являются fifo, char, dir, block, link, file, socket и unknown.

Возвращает FALSE в случае ошибки. filetype() также вызовет ошибку уровня E_NOTICE, если системный вызов stat завершится ошибкой или тип файла неизвестен.

Примеры

Пример #1 Пример использования функции filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • is_file() - Определяет, является ли файл обычным файлом
  • is_link() - Определяет, является ли файл символической ссылкой
  • file_exists() - Проверяет наличие указанного файла или каталога
  • stat() - Возвращает информацию о файле
  • mime_content_type() - Detect MIME Content-type for a file (deprecated)

filesize
flock
Файловая система


Портируемая консультативная блокировка файлов

filetype
fnmatch
Файловая система
PHP Manual

flock

(PHP 4, PHP 5)

flock — Портируемая консультативная блокировка файлов

Описание

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() позволяет осуществить простую модель чтения/записи, которая может быть использована практически на любой платформе (включая большинство вариантов Unix и даже Windows).

В версиях PHP до 5.3.2 блокировка освобождалась также вызовом функции fclose() (которая также вызывается автоматически по завершении скрипта).

PHP поддерживает портируемый способ консультативной блокировки (adviosory locking) полностью всего файла (что означает, что все программы, осуществляющие доступ к файлу, должны использовать один и тот же способ блокировки, иначе блокировка не будет работать). По умолчанию, данная функция будет ждать получения блокировки; это поведение можно изменить (на платформах отличных от Windows) с помощью описанного ниже параметра LOCK_NB.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

operation

operation может принимать следующие значения:

  • LOCK_SH для получения разделяемой блокировки (чтение).
  • LOCK_EX для получения эксклюзивной блокировки (запись).
  • LOCK_UN для снятия блокировки (разделяемой или эксклюзивной).

Также возможно добавить константу LOCK_NB в качестве битовой маски к любой из вышеуказанных операций, если вы не хотите ждать пока flock() получит блокировку. (не поддерживается в Windows)

wouldblock

Необязательный третий параметр будет установлен в TRUE, если блокировка будет блокирующей (код ошибки EWOULDBLOCK). (не поддерживается на Windows)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.2 | Автоматическое снятие блокировки при закрытии было удалено. Снятие блокировки теперь всегда должно осуществляться вручную.
4.0.1 | Добавлены константы LOCK_XXX. Ранее необходимо было использовать 1 вместо LOCK_SH, 2 вместо LOCK_EX, 3 вместо LOCK_UN и 4 вместо LOCK_NB

Примеры

Пример #1 Пример использования функции flock()

<?php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) { // выполняем эксклюзивную блокировку
    ftruncate($fp, 0); // очищаем файл
    fwrite($fp, "Что-нибудь пишем сюда\n");
    flock($fp, LOCK_UN); // отпираем файл
} else {
    echo "Не удалось получить блокировку !";
}

fclose($fp);

?>

Пример #2 Использование flock() с параметром LOCK_NB

<?php
$fp = fopen('/tmp/lock.txt', 'r+');

/* Включаем параметр LOCK_NB в операции LOCK_EX */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
    echo 'Не удалось получить блокировку';
    exit(-1);
}

/* ... */

fclose($fp);
?>

Примечания

Замечание:

В Windows flock() использует обязательную (mandatory) блокировку вместо консультативной. Обязательная блокировка также поддерживается на Linux и операционных системах, основанных на System V с помощью стандартного механизма, который предоставляет системный вызов fcntl(): т.е. искомый файл должен иметь установленный бит доступа setgid и неустановленный бит группового выполнения. Для корректной работы этой схемы в Linux, файловая система также должна быть смонтирована с опцией mand.

Замечание:

Из-за того, что функции flock() необходим указатель на файл, вам может понадобиться воспользоваться специальным запирающим файлом для того, чтобы ограничить доступ к файлу, который вы намерены очищать, путём его открытия в режиме записи (используя "w" или "w+" в качестве аргумента функции fopen()).

Замечание:

Может быть использована только на дескрипторах локальных файлов, возвращенных функцией fopen(), или файловых дескрипторах пользовательских потоков, реализующих метод streamWrapper::stream_lock().

Внимание

Присвоение другого значения аргументу handle в последующем коде отменит существующую блокировку.

Внимание

В некоторых операционных системах flock() реализован на уровне процессов. При использовании многопоточных серверных API, таких как ISAPI, вы не можете полагаться на flock() для защиты ваших файлов от других PHP-скриптов, которые работают в параллельном потоке на том же сервере!

flock() не поддерживается на старых файловых системах вроде FAT и ее производных, так что всегда будет возвращать FALSE в этом окружении (это особенно касается пользователей Windows 98).

filetype
fnmatch
Файловая система


Проверяет совпадение имени файла с шаблоном

flock
fopen
Файловая система
PHP Manual

fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch — Проверяет совпадение имени файла с шаблоном

Описание

bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )

fnmatch() проверяет, совпадает ли переданный параметр string с указанным шаблоном подстановок оболочки pattern.

Список параметров

pattern

Шаблон подстановки оболочки операционной системы.

string

Проверяемая строка. Данная функция особенно полезна для имен файлов, но также может быть использована с обычными строками.

Среднестатистический пользователь знаком с подстановками оболочки, как минимум с самыми простыми из них - '?' и '*', так что использование fnmatch() вместо preg_match() для поиска в пользовательской части сайта может быть намного удобнее для пользователей, не являющихся программистами.

flags

Значением параметра flags может быть любая комбинация следующих флагов, объединенных с помощью бинарного оператора ИЛИ (|).

Перечень возможных флагов для функции fnmatch()
Flag | Описание
FNM_NOESCAPE | Отключить экранирование обратных слэшей.
FNM_PATHNAME | Слэш в строке совпадает только со слэшем в указанном шаблоне.
FNM_PERIOD | Ведущая точка в строке должна точно совпадать с точкой в указанном шаблоне.
FNM_CASEFOLD | Совпадение без учета регистра. Является частью расширения GNU.

Возвращаемые значения

При совпадении возвращает TRUE, иначе возвращает FALSE.

Список изменений

Версия | Описание
5.3.0 | Данная функция стала доступной на платформе Windows.

Примеры

Пример #1 Проверяет соответствие цвета шаблону подстановки

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "какая-то форма серого цвета ...";
}
?>

Примечания

Внимание

На данный момент эта функция недоступна на POSIX-несовместимых системах.

Смотрите также

  • glob() - Находит файловые пути, совпадающие с шаблоном
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку

flock
fopen
Файловая система


Открывает файл или URL

fnmatch
fpassthru
Файловая система
PHP Manual

fopen

(PHP 4, PHP 5)

fopen — Открывает файл или URL

Описание

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

fopen() закрепляет именованный ресурс, указанный в аргументе filename, за потоком.

Список параметров

filename

Если filename передан в форме "scheme://...", он считается URL'ом и PHP проведёт поиск обработчика протокола (также известного как "обертка") для этой схемы. Если ни одна обёртка не закреплена за протоколом, PHP выдаст замечание, чтобы помочь вам отследить потенциальную проблему в вашем скрипте и затем продолжит выполнение, как если бы filename указывал на обыкновенный файл.

Если PHP установлено, что filename указывает на локальный файл, тогда выполняется попытка открыть поток к этому файлу. Файл должен быть доступен PHP, так что вам следует убедиться, что права доступа на файл это разрешают. Если вы включили безопасный режим или open_basedir, то накладываются дальнейшие ограничения.

Если PHP установлено, что filename указывает на зарегистрированный протокол и этот протокол зарегистрирован как сетевой URL, PHP выполняет проверку состояния директивы allow_url_fopen. Если она выключена, PHP выдаст предупреждение и вызов fopen закончится неудачей.

Замечание:

Список поддерживаемых протоколов доступен в разделе Поддерживаемые протоколы и обработчики (wrappers). Некоторые протоколы (обертки) поддерживают контекст и/или опции php.ini. Обратитесь к соответствующей странице с описанием используемого протокола для получения списка опций, которые могут быть установлены. (например, значение php.ini user_agent используется оберткой http).

На платформе Windows, необходимо экранировать все обратные слеши в пути к файлу или использовать прямые слеши.

<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>

mode

Параметр mode указывает тип доступа, который вы запрашиваете у потока. Он может быть одним из следующих вариантов:

Список возможных режимов для fopen() используя mode
mode | Описание
'r' | Открывает файл только для чтения; помещает указатель в начало файла.
'r+' | Открывает файл для чтения и записи; помещает указатель в начало файла.
'w' | Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать.
'w+' | Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пытается его создать.
'a' | Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'a+' | Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'x' | Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст ошибку уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2).
'x+' | Создаёт и открывает для чтения и записи; иначе имеет то же поведение что и'x'.
'c' | Открывает файл только для записи. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от 'w'), и вызов к этой функции не вызывает ошибку (также как и в случае с 'x'). Указатель на файл будет установлен на начало файла. Это может быть полезно при желании заблокировать файл (смотри flock()) перед изменением, так как использование 'w' может обрезать файл еще до того как была получена блокировка (если вы желаете обрезать файл, можно использовать функцию ftruncate() после запроса на блокировку).
'c+' | Открывает файл для чтения и записи; иначе имеет то же поведение, что и 'c'.

Замечание:

Разные семейства операционных систем имеют разные соглашения относительно окончания строк. Когда вы пишете текст и хотите вставить разрыв строки, вы должны использовать правильные символы (или символ) для вашей операционной системы. Системы семейства Unix используют \n в качестве символа конца строки, системы семейства Windows используют \r\n в качестве символов окончания строки и системы семейства Macintosh используют \r в качестве символа конца строки.

Если вы используете неверный символ конца строки при редактировании файлов, вы можете обнаружить, что при открытии эти файлы "странно выглядят".

Windows предлагает флаг режима текстовой трансляции ('t'), который автоматически переведёт \n в \r\n во время работы с файлом. И наоборот - вы также можете использовать 'b', чтобы принудительно включить бинарный режим, в котором ваши данные не будут преобразовываться. Чтобы использовать эти режимы, укажите 'b' или 't' последней буквой параметра mode.

Так как установка флага трансляции по умолчанию зависит от SAPI и используемой версии PHP, рекомендуем явно задавать указанный флаг из соображений портируемости. Вы должны использовать режим 't', если вы работаете с текстовым файлом и использовать \n для обозначения конца строки в вашем скрипте, при этом не беспокоясь за читаемость ваших файлов в других приложениях типа "Блокнота". Во всех остальных случаях используйте флаг 'b'.

Если вы явно не укажете флаг 'b' во время работы с бинарными файлами, вы можете столкнуться со странной порчей ваших данных, включая испорченные файлы изображений и странные проблемы с символами \r\n.

Замечание:

Из соображений портируемости, настоятельно рекомендуется всегда использовать флаг 'b' при открытии файлов с помощью fopen().

Замечание:

Кроме того, из соображений портируемости, также настойчиво рекомендуется переписать старый код, который полагается на режим 't', чтобы вместо этого он использовал правильные концы строк и режим 'b'.

use_include_path

Необязательный третий параметр use_include_path может быть установлен в '1' или TRUE, если вы также хотите провести поиск файла в include_path.

context

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает указатель на файл в случае успешной работы, или FALSE в случае ошибки.

Ошибки

Если открыть файл не удалось, будет сгенерирована ошибка уровня E_WARNING. Вы можете использовать оператор @ для подавления этой ошибки.

Список изменений

Версия | Описание
4.3.2 | С версии PHP 4.3.2, по умолчанию устанавливается бинарный режим для всех платформ, различающих бинарный и текстовый режимы. Если у вас появились проблемы после обновления, попытайтесь использовать в качестве обхода проблемы флаг 't', пока вы не сделаете ваш скрипт более портируемым, как это было указано выше.
4.3.2 | Добавлены опции 'x' и 'x+'
5.2.6 | Добавлены опции 'c' и 'c+'

Примеры

Пример #1 Примеры использования fopen()

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Примечания

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS при открытии потока с помощью обертки https:// и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Если вы сталкиваетесь с проблемами во время чтения или записи файлов, и вы используете PHP в виде серверного модуля, убедитесь в том, что процесс сервера имеет доступ к используемым вами файлам и директориям.

Смотрите также

  • Поддерживаемые протоколы и обработчики (wrappers)
  • fclose() - Закрывает открытый дескриптор файла
  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • fwrite() - Бинарно-безопасная запись в файл
  • fsockopen() - Open Internet or Unix domain socket connection
  • file() - Читает содержимое файла и помещает его в массив
  • file_exists() - Проверяет наличие указанного файла или каталога
  • is_readable() - Определяет существование файла и доступен ли он для чтения
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • popen() - Открывает файловый указатель процесса
  • stream_context_create() - Создаёт контекст потока
  • umask() - Изменяет текущую umask

fnmatch
fpassthru
Файловая система


Выводит все оставшиеся данные из файлового указателя

fopen
fputcsv
Файловая система
PHP Manual

fpassthru

(PHP 4, PHP 5)

fpassthru — Выводит все оставшиеся данные из файлового указателя

Описание

int fpassthru ( resource $handle )

Читает указанный файловый указатель с текущей позиции до EOF (конца файла) и записывает результат в буфер вывода.

Вам может понадобиться вызвать rewind() чтобы сбросить файловый указатель на начало файла, если вы уже записывали данные в файл.

Если вы хотите просто сбросить содержимое файла в буфер вывода, предварительно не модифицируя его и не начиная с определённого смещения, вы можете воспользоваться readfile(), которая избавит вас от лишнего вызова fopen().

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

Возвращаемые значения

В случае возникновения ошибки fpassthru() возвращает FALSE. Иначе, fpassthru() возвращает количество символов, прочтенных из handle и переданных на вывод.

Примеры

Пример #1 Использование fpassthru() с бинарными файлами

<?php

// открываем файл в бинарном режиме
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// отправляем нужные заголовки
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// скидываем картинку и останавливаем выполнение скрипта
fpassthru($fp);
exit;

?>

Примечания

Замечание:

При использовании fpassthru() на бинарном файле в Windows, вы должны убедиться в том, что открыли файл в бинарном режиме при помощи добавления b к режиму открытия файла, использованному в fopen().

Рекомендуется использовать флаг b при работе с бинарными файлами даже если ваша система этого не требует, чтобы обеспечить более высокую портируемость скриптов.

Смотрите также

  • readfile() - Выводит файл
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Open Internet or Unix domain socket connection

fopen
fputcsv
Файловая система


Форматирует строку в виде CSV и записывает её в файловый указатель

fpassthru
fputs
Файловая система
PHP Manual

fputcsv

(PHP 5 >= 5.1.0)

fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель

Описание

int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )

fputcsv() форматирует строку (переданную в виде массива fields) в виде CSV и записывает её (заканчивая переводом строки) в указанный файл handle.

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

fields

Массив значений.

delimiter

Дополнительный параметр delimiter устанавливает разделитель полей (только один символ).

enclosure

Дополнительный параметр enclosure устанавливает ограничитель полей (только один символ).

Возвращаемые значения

Возвращает длину записанной строки или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования fputcsv()

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

Вышеуказаный пример запишет в файл file.csv следующее:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Примечания

Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

Смотрите также

  • fgetcsv() - Читает строку из файла и производит разбор данных CSV

fpassthru
fputs
Файловая система


Псевдоним fwrite

fputcsv
fread
Файловая система
PHP Manual

fputs

(PHP 4, PHP 5)

fputs — Псевдоним fwrite()

Описание

Эта функция является псевдонимом: fwrite().

fputcsv
fread
Файловая система


Бинарно-безопасное чтение файла

fputs
fscanf
Файловая система
PHP Manual

fread

(PHP 4, PHP 5)

fread — Бинарно-безопасное чтение файла

Описание

string fread ( resource $handle , int $length )

fread() читает до length байт из файлового указателя handle. Чтение останавливается как только было достигнуто одно из следующих условий:

  • было прочитано length байт
  • достигнут EOF (конец файла)
  • стал доступен пакет или произошел таймаут сокета (для сетевых потоков)
  • если читаемый поток является буферизованным и не представляет собой обычный файл, то за один раз максимум читается количество байт, равное размеру одной порции данных (обычно это 8192), однако, в зависимости от ранее буферизованных данных размер возвращаемых данных может быть больше размера одной порции данных.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

length

length указывает размер прочитанных данных в байтах.

Возвращаемые значения

Возвращает прочтенную строку или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой пример использования fread()

<?php
// получает содержимое файла в строку
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Пример #2 Пример бинарного чтения с помощью fread()

Внимание

На системах, которые различают бинарные и текстовые файлы (к примеру, Windows), файл должен быть открыт с использованием буквы 'b' в параметре mode функции fopen().

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Пример #3 Примеры удаленного чтения с помощью fread()

Внимание

При чтении чего-либо отличного от локальных файлов, например потоков, возвращаемых при чтении удаленных файлов или из popen() и fsockopen(), чтение остановится после того, как пакет станет доступным. Это означает, что вы должны собирать данные вместе по кусочкам, как показано на примере ниже.

<?php
// Для PHP 5 и выше
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

Примечания

Замечание:

Если вы просто хотите получить содержимое файла в виде строки, используйте file_get_contents(), так как эта функция намного производительнее, чем код описанный выше.

Замечание:

Учтите, что fread() читает начиная с текущей позиции файлового указателя. Используйте функцию ftell() для нахождения текущей позиции указателя и функцию rewind() для перемотки позиции указателя в начало.

Смотрите также

  • fwrite() - Бинарно-безопасная запись в файл
  • fopen() - Открывает файл или URL
  • fsockopen() - Open Internet or Unix domain socket connection
  • popen() - Открывает файловый указатель процесса
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • file() - Читает содержимое файла и помещает его в массив
  • fpassthru() - Выводит все оставшиеся данные из файлового указателя
  • ftell() - Сообщает текущую позицию чтения/записи файла
  • rewind() - Сбрасывает курсор у файлового указателя

fputs
fscanf
Файловая система


Обрабатывает данные из файла в соответствии с форматом

fread
fseek
Файловая система
PHP Manual

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Обрабатывает данные из файла в соответствии с форматом

Описание

mixed fscanf ( resource $handle , string $format [, mixed &$... ] )

Функция fscanf() похожа на sscanf(), но берёт данные для обработки из файла, ассоциируемого с handle, и интерпретирует их согласно формату format, который описан в документации функции sprintf().

Любой пробельный символ в строке формата эквивалентен любому пробельному символу во входящем потоке. Это означает, что даже табуляция \t в строке формата может быть сопоставлена одному символу пробела во входящем потоке данных.

Каждый вызов fscanf() читает одну строку из файла.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

format

Указанный формат в соответствии с документацией sprintf().

...

Необязательные присваиваемые значения.

Возвращаемые значения

Если в функцию переданы только два аргумента, обработанные значения будут возвращены в виде массива. В ином случае, если были переданы необязательные аргументы, функция вернёт количество присвоенных значений. Необязательные аргументы должны быть переданы по ссылке.

Список изменений

Версия | Описание
4.3.0 | До этого релиза максимальное количество символов, которые считывались из файла, составляло 512 (или до первого символа \n - смотря что встретится первым). Теперь длинные строки также будут прочитаны и обработаны.

Примеры

Пример #1 Пример использования функции fscanf()

<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
    list ($name, $profession, $countrycode) = $userinfo;
    //... совершаем какие-либо действия над значениями
}
fclose($handle);
?>

Пример #2 Содержимое файла users.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку

fread
fseek
Файловая система


Устанавливает смещение в файловом указателе

fscanf
fstat
Файловая система
PHP Manual

fseek

(PHP 4, PHP 5)

fseek — Устанавливает смещение в файловом указателе

Описание

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

Устанавливает смещение в файле, на который ссылается handle. Новое смещение, измеряемое в байтах от начала файла, получается путём прибавления параметра offset к позиции, указанной в параметре whence.

В общей сложности, разрешается указывать смещение за пределами конца файла, если данные потом будут записаны в этой позиции, чтение любого незаписанного региона между концом файла и указанной позицией возвратит нулевые байты. Однако, определенные потоки могут не поддерживать это поведение, особенно если они оперируют над хранилищем фиксированного размера.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

offset

Смещение.

Для смещения позиции перед концом файла необходимо передать отрицательное значение offset и установить параметр whence в SEEK_END.

whence

Значениями whence являются:

  • SEEK_SET - Устанавливает смещение в offset байт.
  • SEEK_CUR - Устанавливает смещение в текущее положение плюс offset.
  • SEEK_END - Устанавливает смещение в конец файла плюс offset.

Возвращаемые значения

В случае успеха возвращает 0; в противном сучае возвращает -1.

Примеры

Пример #1 Пример использования функции fseek()

<?php

$fp = fopen('somefile.txt', 'r');

// читаем немного данных
$data = fgets($fp, 4096);

// перемещаемся назад к началу файла
// то же самое, что и rewind($fp);
fseek($fp, 0);

?>

Примечания

Замечание:

Если файл открыт в режими "записи в конец" (a или a+), любые записываемые в файл данные будут записываться в конец, вне зависимости от позиции файла, а результат вызова fseek() будет не определен.

Замечание:

Не все потоки поддерживают смещение указателя. Для потоков, неподдерживающих эту операцию, смещение вперед осуществляется чтением и отбрасыванием данных, другие формы смещения закончатся ошибкой.

Смотрите также

  • ftell() - Сообщает текущую позицию чтения/записи файла
  • rewind() - Сбрасывает курсор у файлового указателя

fscanf
fstat
Файловая система


Получает информацию о файле используя открытый файловый указатель

fseek
ftell
Файловая система
PHP Manual

fstat

(PHP 4, PHP 5)

fstat — Получает информацию о файле используя открытый файловый указатель

Описание

array fstat ( resource $handle )

Собирает статистическую информацию об открытом файле по файловому указателю handle. Эта функция похожа на stat(), за исключением того, что она работает с открытым файловым указателем, а не именем файла.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

Возвращаемые значения

Возвращает массив со статистической информацией файла; формат массива подробно описан на странице описания функции stat().

Примеры

Пример #1 Пример использования функции fstat()

<?php

// открываем файл
$fp = fopen("/etc/passwd", "r");

// собираем статистику
$fstat = fstat($fp);

// закрываем файл
fclose($fp);

// отображаем только ассоциативную часть
print_r(array_slice($fstat, 13));

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

fseek
ftell
Файловая система


Сообщает текущую позицию чтения/записи файла

fstat
ftruncate
Файловая система
PHP Manual

ftell

(PHP 4, PHP 5)

ftell — Сообщает текущую позицию чтения/записи файла

Описание

int ftell ( resource $handle )

Возвращает позицию файлового указателя handle.

Список параметров

handle

Файловый указатель должен быть действующим указателем на поток, открытый функциями fopen() или popen(). ftell() возвращает неопределённые результаты для потоков, разрешающих только запись в конец (открытых с флагом "a").

Возвращаемые значения

Возвращает позицию файлового указателя handle в виде целого числа, т.е. его смещение в файловом потоке.

При возникновении ошибки возвращает FALSE.

Примеры

Пример #1 Пример использования функции ftell()

<?php

// открываем файл и читаем немного данных
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// где же мы ?
echo ftell($fp); // 11

fclose($fp);

?>

Смотрите также

  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fseek() - Устанавливает смещение в файловом указателе
  • rewind() - Сбрасывает курсор у файлового указателя

fstat
ftruncate
Файловая система


Урезает файл до указанной длинны

ftell
fwrite
Файловая система
PHP Manual

ftruncate

(PHP 4, PHP 5)

ftruncate — Урезает файл до указанной длинны

Описание

bool ftruncate ( resource $handle , int $size )

Принимает файловый указатель handle и урезает соответствующий файл до размера size.

Список параметров

handle

Файловый указатель.

Замечание:

handle должен быть открыт для записи.

size

Размер файла, до которого он будет обрезан.

Замечание:

Если size больше текущего размера файла, то файл будет дополнен null байтами.

Если size меньше текущего размера файла, то файл будет обрезан до этого размера.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 4.3.3 | До этого релиза ftruncate() в случае успеха возвращал значение integer 1, вместо boolean TRUE.

Примеры

Пример #1 Пример обрезания файла

<?php
$filename = 'lorem_ipsum.txt';

$handle = fopen($filename, 'r+');
ftruncate($handle, rand(1, filesize($filename)));
rewind($handle);
echo fread($handle, filesize($filename));
fclose($handle);
?>

Примечания

Замечание:

Файловый указатель не меняется.

Смотрите также

  • fopen() - Открывает файл или URL
  • fseek() - Устанавливает смещение в файловом указателе

ftell
fwrite
Файловая система


Бинарно-безопасная запись в файл

ftruncate
glob
Файловая система
PHP Manual

fwrite

(PHP 4, PHP 5)

fwrite — Бинарно-безопасная запись в файл

Описание

int fwrite ( resource $handle , string $string [, int $length ] )

fwrite() записывает содержимое string в файловый поток handle.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

string

Записываемая строка.

length

Если передан аргумент length, запись остановится после того, как length байтов будут записаны или будет достигнут конец строки string, смотря что произойдёт первым.

Учтите, что если указан аргумент length, то директива magic_quotes_runtime будет проигнорирована и строка string не будет очищена от слэшей.

Возвращаемые значения

fwrite() возвращает количество записанных байт или FALSE в случае ошибки.

Примечания

Замечание:

Запись в сетевой поток может прекратиться до того, как будут записаны все данные. Это можно контролировать с помощью проверки возвращаемого значения функции fwrite():

<?php
function fwrite_stream($fp, $string) {
    for ($written = 0; $written < strlen($string); $written += $fwrite) {
        $fwrite = fwrite($fp, substr($string, $written));
        if ($fwrite === false) {
            return $written;
        }
    }
    return $written;
}
?>

Замечание:

В системах, различающих двоичные и текстовые файлы (к примеру, Windows), файл должен быть открыт используя флаг 'b' в конце аргумента mode функции fopen().

Замечание:

Если дескриптор handle был открыт функцией fopen() в режиме "записи в конец", то вызовы fwrite() будут атомарными (за исключением случая, если string размер блока файловой системы, на некоторых платформах, и пока файл хранится на локальной файловой системе). Т.е. нет необходимости блокировать ресурс с помощью flock() перед вызовом fwrite() - все данные будут записаны без прерываний.

Замечание:

При повторной записи в файловый указатель данные будут добавлены в конец содержимого файла:

<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// содержимое 'data.txt' теперь 123, а не 23!
?>

Примеры

Пример #1 Простой пример использования fwrite()

<?php
$filename = 'test.txt';
$somecontent = "Добавить это к файлу\n";

// Вначале давайте убедимся, что файл существует и доступен для записи.
if (is_writable($filename)) {

    // В нашем примере мы открываем $filename в режиме "записи в конец".
    // Таким образом, смещение установлено в конец файла и
    // наш $somecontent допишется в конец при использовании fwrite().
    if (!$handle = fopen($filename, 'a')) {
         echo "Не могу открыть файл ($filename)";
         exit;
    }

    // Записываем $somecontent в наш открытый файл.
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "Не могу произвести запись в файл ($filename)";
        exit;
    }

    echo "Ура! Записали ($somecontent) в файл ($filename)";

    fclose($handle);

} else {
    echo "Файл $filename недоступен для записи";
}
?>

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fopen() - Открывает файл или URL
  • fsockopen() - Open Internet or Unix domain socket connection
  • popen() - Открывает файловый указатель процесса
  • file_get_contents() - Читает содержимое файла в строку

ftruncate
glob
Файловая система


Находит файловые пути, совпадающие с шаблоном

fwrite
is_dir
Файловая система
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Находит файловые пути, совпадающие с шаблоном

Описание

array glob ( string $pattern [, int $flags = 0 ] )

Функция glob() ищет все пути, совпадающие с шаблоном pattern согласно правилам, используемым в функции glob() библиотеки libc, которые похожи на правила, используемые большинством распространённых оболочек.

Список параметров

pattern

Шаблон. Не происходит раскрытие тильды и подстановка параметров.

flags

Допустимые флаги:

  • GLOB_MARK - Добавляет слэш к каждой возвращаемой директории.
  • GLOB_NOSORT - Возвращает файлы в том виде, в котором они содержатся в директории (без сортировки)
  • GLOB_NOCHECK - Возвращает шаблон поиска, если с его помощью не был найден ни один файл.
  • GLOB_NOESCAPE - Обратные слэши не экранируют метасимволы.
  • GLOB_BRACE - Раскрывает {a,b,c} для совпадения с 'a', 'b' или 'c'.
  • GLOB_ONLYDIR - Возвращает только директории, совпадающие с шаблоном.
  • GLOB_ERR - Останавливается при ошибках чтения (например, директории без права чтения), по умолчанию ошибки игнорируются.

Возвращаемые значения

Возвращает массив, который содержит совпадающие файлы/директории, пустой массив в случае отсутствия совпадения или FALSE в случае ошибки.

Замечание:

На некоторых системах невозможно отличить отсутствие совпадения и ошибку.

Список изменений

Версия | Описание
5.1.0 | Добавлена константа GLOB_ERR
4.3.3 | Константа GLOB_ONLYDIR стала доступна на Windows и других системах, не использующих библиотеку GNU C

Примеры

Пример #1 Удобный способ, как при помощи glob() можно заменить opendir() и её друзей.

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename размер " . filesize($filename) . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

funclist.txt размер 44686
funcsummary.txt размер 267625
quickref.txt размер 137820

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание: Эта функция недоступна на некоторых системах (например, старой Sun OS).

Замечание: Флаг GLOB_BRACE недоступен на некоторых не GNU-системах, например, Solaris.

Смотрите также

  • opendir() - Открывает дескриптор каталога
  • readdir() - Получает элемент каталога по его дескриптору
  • closedir() - Освобождает дескриптор каталога
  • fnmatch() - Проверяет совпадение имени файла с шаблоном

fwrite
is_dir
Файловая система


Определяет, является ли имя файла директорией

glob
is_executable
Файловая система
PHP Manual

is_dir

(PHP 4, PHP 5)

is_dir — Определяет, является ли имя файла директорией

Описание

bool is_dir ( string $filename )

Определяет, является ли имя файла директорией.

Список параметров

filename

Путь к файлу. Если filename является относительным именем, он будет проверяться относительно текущей рабочей директории. Если filename является символической или жесткой ссылкой, то ссылка будет раскрыта и проверена. При включенном безопасный режим или open_basedir могут применяться дальнейшие ограничения.

Возвращаемые значения

Возвращает TRUE, если файл существует и является директорией, иначе возвращается FALSE.

Примеры

Пример #1 Пример использования функции is_dir()

<?php
var_dump(is_dir('a_file.txt'));
var_dump(is_dir('bogus_dir/abc'));

var_dump(is_dir('..')); // на одну директорию выше
?>

Результат выполнения данного примера:

bool(false)
bool(false)
bool(true)

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • chdir() - Изменяет каталог
  • dir
  • opendir() - Открывает дескриптор каталога
  • is_file() - Определяет, является ли файл обычным файлом
  • is_link() - Определяет, является ли файл символической ссылкой

glob
is_executable
Файловая система


Определяет, является ли файл исполняемым

is_dir
is_file
Файловая система
PHP Manual

is_executable

(PHP 4, PHP 5)

is_executable — Определяет, является ли файл исполняемым

Описание

bool is_executable ( string $filename )

Определяет, является ли файл исполняемым.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает TRUE, если файл существует и является исполняемым, или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.0.0 | is_executable() стала доступной на Windows

Примеры

Пример #1 Пример использования функции is_executable()

<?php

$file = '/home/vincent/somefile.sh';

if (is_executable($file)) {
    echo $file.' является исполняемым';
} else {
    echo $file.' не является исполняемым';
}

?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_file() - Определяет, является ли файл обычным файлом
  • is_link() - Определяет, является ли файл символической ссылкой

is_dir
is_file
Файловая система


Определяет, является ли файл обычным файлом

is_executable
is_link
Файловая система
PHP Manual

is_file

(PHP 4, PHP 5)

is_file — Определяет, является ли файл обычным файлом

Описание

bool is_file ( string $filename )

Определяет, является ли файл обычным файлом.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает TRUE, если файл существует и является обычным файлом, иначе возвращает FALSE.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Примеры

Пример #1 Пример использования is_file()

<?php
var_dump(is_file('a_file.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

Результат выполнения данного примера:

bool(true)
bool(false)

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • is_link() - Определяет, является ли файл символической ссылкой

is_executable
is_link
Файловая система


Определяет, является ли файл символической ссылкой

is_file
is_readable
Файловая система
PHP Manual

is_link

(PHP 4, PHP 5)

is_link — Определяет, является ли файл символической ссылкой

Описание

bool is_link ( string $filename )

Определяет, является ли файл символической ссылкой.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает TRUE, если файл существует и является символической ссылкой, иначе возвращает FALSE.

Примеры

Пример #1 Создаем файл и подтверждаем, что он является символической ссылкой

<?php
$link = 'uploads';

if (is_link($link)) {
    echo(readlink($link));
} else {
    symlink('uploads.php', $link);
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • is_file() - Определяет, является ли файл обычным файлом
  • readlink() - Возвращает файл, на который указывает символическая ссылка

is_file
is_readable
Файловая система


Определяет существование файла и доступен ли он для чтения

is_link
is_uploaded_file
Файловая система
PHP Manual

is_readable

(PHP 4, PHP 5)

is_readable — Определяет существование файла и доступен ли он для чтения

Описание

bool is_readable ( string $filename )

Возвращает TRUE, если файл существует и доступен для чтения.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает TRUE, если файл или директория, указанная в filename существует и доступна для чтения, иначе возвращает FALSE.

Примеры

Пример #1 is_readable() example

<?php
$filename = 'test.txt';
if (is_readable($filename)) {
    echo 'Файл доступен для чтения';
} else {
    echo 'Файл недоступен для чтения';
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Не забывайте, что PHP может обращаться к файлам от имени пользователя, от которого запущен веб-сервер (часто 'nobody'). До версии PHP 5.1.5 ограничения безопасного режима не принимались во внимание.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Замечание:

Проверка производится с использованием реальных UID/GID вместо эффективных.

Смотрите также

  • is_writable() - Определяет, доступен ли файл для записи
  • file_exists() - Проверяет наличие указанного файла или каталога
  • fgets() - Читает строку из файла

is_link
is_uploaded_file
Файловая система


Определяет, был ли файл загружен при помощи HTTP POST

is_readable
is_writable
Файловая система
PHP Manual

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST

Описание

bool is_uploaded_file ( string $filename )

Возвращает TRUE, если файл filename был загружен при помощи HTTP POST. Это полезно для удостоверения того, что злонамеренный пользователь не пытается обмануть скрипт так, чтобы он работал с файлами, с которыми работать не должен - к примеру, /etc/passwd.

Такие проверки особенно полезны, если существует вероятность того, что операции над файлом могут показать его содержимое пользователю или даже другим пользователям той же системы.

Для правильной работы, функции is_uploaded_file() нужен аргумент вида $_FILES['userfile']['tmp_name'], - имя закачиваемого файла на клиентской машине $_FILES['userfile']['name'] не подходит.

Список параметров

filename

Имя проверяемого файла.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo "Файл ". $_FILES['userfile']['name'] ." успешно загружен.\n";
   echo "Отображаем содержимое\n";
   readfile($_FILES['userfile']['tmp_name']);
} else {
   echo "Возможная атака с участием загрузки файла: ";
   echo "файл '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>

Смотрите также

  • move_uploaded_file() - Перемещает загруженный файл в новое место
  • $_FILES
  • Простой пример использования можно найти в разделе "Загрузка файлов на сервер".

is_readable
is_writable
Файловая система


Определяет, доступен ли файл для записи

is_uploaded_file
is_writeable
Файловая система
PHP Manual

is_writable

(PHP 4, PHP 5)

is_writable — Определяет, доступен ли файл для записи

Описание

bool is_writable ( string $filename )

Возвращает TRUE, если файл filename существует и доступен для записи. Аргумент filename может быть именем директории, что позволяет вам проверять директории на доступность для записи.

Не забывайте, что PHP может обращаться к файлу от имени того пользователя, от которого запущен веб-сервер (обычно 'nobody'). Ограничения безопасного режима не принимаются во внимание.

Список параметров

filename

Проверяемый файл.

Возвращаемые значения

Возвращает TRUE, если filename существует и доступен для записи.

Примеры

Пример #1 Пример использования is_writable()

<?php
$filename = 'test.txt';
if (is_writable($filename)) {
    echo 'Файл доступен для записи';
} else {
    echo 'Файл недоступен для записи';
}
?>

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_readable() - Определяет существование файла и доступен ли он для чтения
  • file_exists() - Проверяет наличие указанного файла или каталога
  • fwrite() - Бинарно-безопасная запись в файл

is_uploaded_file
is_writeable
Файловая система


Псевдоним is_writable

is_writable
lchgrp
Файловая система
PHP Manual

is_writeable

(PHP 4, PHP 5)

is_writeable — Псевдоним is_writable()

Описание

Эта функция является псевдонимом: is_writable().

is_writable
lchgrp
Файловая система


Изменяет группу, которой принадлежит символическая ссылка

is_writeable
lchown
Файловая система
PHP Manual

lchgrp

(PHP 5 >= 5.1.2)

lchgrp — Изменяет группу, которой принадлежит символическая ссылка

Описание

bool lchgrp ( string $filename , mixed $group )

Пытается изменить группу, которой принадлежит символическая ссылка filename на указанную в group.

Только суперпользователь может изменять группу символической ссылки произвольно, другие пользователи могут изменять группу символической ссылки на какую-либо, в которой пользователь является членом.

Список параметров

filename

Путь к ссылке.

group

Группа, указанная по имени или номеру.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример изменения группы символической ссылки

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchgrp($link, 8);
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание: Для Windows-платформ эта функция не реализована.

Смотрите также

  • chgrp() - Изменяет группу владельцев файла
  • lchown() - Изменяет владельца символической ссылки
  • chown() - Изменяет владельца файла
  • chmod() - Изменяет режим доступа к файлу

is_writeable
lchown
Файловая система


Изменяет владельца символической ссылки

lchgrp
link
Файловая система
PHP Manual

lchown

(PHP 5 >= 5.1.2)

lchown — Изменяет владельца символической ссылки

Описание

bool lchown ( string $filename , mixed $user )

Пытается изменить владельца символической ссылки filename на указанного в user пользователя.

Только суперпользователь может изменять владельца символической ссылки.

Список параметров

filename

Путь к файлу.

user

Имя пользователя или номер.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Изменение владельца символической ссылки

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchown($link, 8);
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание: Для Windows-платформ эта функция не реализована.

Смотрите также

  • chown() - Изменяет владельца файла
  • lchgrp() - Изменяет группу, которой принадлежит символическая ссылка
  • chgrp() - Изменяет группу владельцев файла
  • chmod() - Изменяет режим доступа к файлу

lchgrp
link
Файловая система


Создаёт жёсткую ссылку

lchown
linkinfo
Файловая система
PHP Manual

link

(PHP 4, PHP 5)

link — Создаёт жёсткую ссылку

Описание

bool link ( string $target , string $link )

link() создаёт жесткую ссылку.

Список параметров

target

Цель ссылки.

link

Имя ссылки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Только для Windows: Для данной функции необходимо, чтобы PHP был запущен в привилегированном режиме или с отключенным UAC.

Список изменений

Версия | Описание
5.3.0 | Эта функция стала доступна на Windows системах (Vista, Server 2008 и выше).

Примеры

Пример #1 Создание простой жесткой ссылки

<?php
$target = 'source.ext'; // Это уже существующий файл
$link = 'newfile.ext'; // Это файл, который вы хотите привязать к первому

link($target, $link);
?>

Примечания

Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Смотрите также

  • symlink() - Создаёт символическую ссылку
  • readlink() - Возвращает файл, на который указывает символическая ссылка
  • linkinfo() - Возвращает информацию о ссылке

lchown
linkinfo
Файловая система


Возвращает информацию о ссылке

link
lstat
Файловая система
PHP Manual

linkinfo

(PHP 4, PHP 5)

linkinfo — Возвращает информацию о ссылке

Описание

int linkinfo ( string $path )

Возвращает информацию о ссылке.

Эта функция используется для определения, существует ли ссылка (на которую указывает path) на самом деле (используя тот же метод, что и макрос S_ISLNK, определённый в stat.h).

Список параметров

path

Путь к ссылке.

Возвращаемые значения

linkinfo() возвращает поле st_dev структуры stat из Unix C, которую возвращает системный вызов lstat. Возвращает 0 или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь доступна и на Windows платформах (Vista, Server 2008 и выше).

Примеры

Пример #1 Пример использования функции linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Смотрите также

  • symlink() - Создаёт символическую ссылку
  • link() - Создаёт жёсткую ссылку
  • readlink() - Возвращает файл, на который указывает символическая ссылка

link
lstat
Файловая система


Возвращает информацию о файле или символической ссылке

linkinfo
mkdir
Файловая система
PHP Manual

lstat

(PHP 4, PHP 5)

lstat — Возвращает информацию о файле или символической ссылке

Описание

array lstat ( string $filename )

Собирает статистику на файл или символическую ссылку с именем filename.

Список параметров

filename

Путь к файлу или символической ссылке.

Возвращаемые значения

Обратитесь к странице руководства функции stat() для получения информации о структуре массива, который возвращает lstat(). Эта функция идентична функции stat(), за исключением того, что если filename является символической ссылкой, возвращается статус символической ссылки, а не того файла, на который она указывает.

Примеры

Пример #1 Сравнение функций stat() и lstat()

<?php
symlink('uploads.php', 'uploads');

// Отличия между uploads.php и uploads
array_diff(stat('uploads'), lstat('uploads'));
?>

Результатом выполнения данного примера будет что-то подобное:

Отличия в возращаемых результатах между этими файлами.

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Ошибки

В случае неудачного завершения работы, генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • stat() - Возвращает информацию о файле

linkinfo
mkdir
Файловая система


Создаёт директорию

lstat
move_uploaded_file
Файловая система
PHP Manual

mkdir

(PHP 4, PHP 5)

mkdir — Создаёт директорию

Описание

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

Пытается создать директорию, заданную в pathname.

Список параметров

pathname

Путь к директории.

mode

По умолчанию принимает значение 0777, что означает самые широкие права. Больше информации о режимах доступа можно узнать на странице руководства функции chmod().

Замечание:

Аргумент mode игнорируется в Windows.

Обратите внимание, что аргумент mode необходимо задавать в виде восьмиричного числа (первой цифрой должен быть ноль). На аргумент mode также влияет текущее значение umask, которое можно изменить при помощи umask().

recursive

Разрешает создание вложенных директорий, указанных в pathname. По умолчанию равен FALSE.

context

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр recursive
5.0.0 | Начиная с версии PHP 5.0.0 mkdir() также может быть использована с некоторыми обертками URL. Обратитесь к Поддерживаемые протоколы и обработчики (wrappers) для полного списка оберток, поддерживающих mkdir().
4.2.0 | Параметр mode стал необязательным.

Примеры

Пример #1 Пример использования функции mkdir()

<?php
mkdir("/path/to/my/dir", 0700);
?>

Пример #2 Использование mkdir() с параметром recursive

<?php
// Желаемая структура папок
$structure = './depth1/depth2/depth3/';

// Для создания вложенной структуры необходимо указать параметр
// $recursive в mkdir() .

if (!mkdir($structure, 0, true)) {
    die('Не удалось создать директории...');
}

// ...
?>

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • rmdir() - Удаляет директорию

lstat
move_uploaded_file
Файловая система


Перемещает загруженный файл в новое место

mkdir
parse_ini_file
Файловая система
PHP Manual

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file — Перемещает загруженный файл в новое место

Описание

bool move_uploaded_file ( string $filename , string $destination )

Эта функция проверяет, является ли файл filename загруженным на сервер (переданным по протоколу HTTP POST). Если файл действительно загружен на сервер, он будет перемещён в место, указанное в аргументе destination.

Такая проверка особенно важна в том случае, если существует шанс того, что какие-либо действия, производимые над загруженным файлом, могут открыть его содержимое пользователю или даже другим пользователям системы.

Список параметров

filename

Путь к загруженному файлу.

destination

Назначение перемещаемого файла.

Возвращаемые значения

В случае успеха возвращает TRUE.

Если filename не является загруженным файлом, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE.

Если filename является загруженным файлом, но не может быть перемещён по каким-либо причинам, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE. Кроме того, отображается предупреждение.

Примеры

Пример #1 Загрузка нескольких файлов

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

Примечания

Замечание:

Функция move_uploaded_file() принимает во внимание как безопасный режим, так и open_basedir. Тем не менее, ограничения накладываются лишь на параметр destination, чтобы разрешить перемещение загруженных файлов, так как параметр filename может конфликтовать с этими ограничениями. move_uploaded_file() гарантирует безопасность этой операции, работая лишь с теми файлами, которые были загружены через PHP.

Внимание

Если результирующий файл уже существует, он будет перезаписан.

Смотрите также

  • is_uploaded_file() - Определяет, был ли файл загружен при помощи HTTP POST
  • rename() - Переименовывает файл или директорию
  • Простой пример использования этой функции можно найти в разделе "Загрузка файлов на сервер"

mkdir
parse_ini_file
Файловая система


Обрабатывает конфигурационный файл

move_uploaded_file
parse_ini_string
Файловая система
PHP Manual

parse_ini_file

(PHP 4, PHP 5)

parse_ini_file — Обрабатывает конфигурационный файл

Описание

array parse_ini_file ( string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_file() загружает ini-файл, указанный в аргументе filename, и возвращает его настройки в виде ассоциативного массива.

Структура ini-файла похожа на структуру php.ini.

Список параметров

filename

Имя обрабатываемого ini-файла.

process_sections

Установив параметр process_sections в TRUE, вы получаете многомерный массив, который включает как название отдельных настроек, так и секции. По умолчанию process_sections равен FALSE

scanner_mode

Может принимать следующие значения: INI_SCANNER_NORMAL (по умолчанию) или INI_SCANNER_RAW. Если указано значение INI_SCANNER_RAW, то значения опций не будут обрабатываться.

Возвращаемые значения

В случае успеха настройки возвращаются в виде ассоциативного array. В случае ошибки возвращается FALSE.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный параметр scanner_mode. Одинарные кавычки теперь также могут быть использованы в присвоениях переменных. Символ решетки (#) теперь больше не может быть использован в качестве комментария и будет выбрасывать предупреждение о том, что данная возможность считается устаревшей.
5.2.7 | В случае ошибки синтаксиса данная функция теперь вернет FALSE, а не пустой массив.
5.2.4 | Ключи и имена секций, состоящие из цифр, будут обработаны в PHP как целые числа, поэтому числа, начинающиеся с 0 будут считаться восьмиричными, а начинающиеся с 0x - шестнадцатиричными.
5.0.0 | Значения, заключенные в двойные кавычки, теперь могут содержать переводы строк.
4.2.1 | На поведение этой функции теперь влияет безопасный режим и open_basedir.

Примеры

Пример #1 Содержимое sample.ini

; Это пример файла настроек
; Комментарии начинаются с ';', как в php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

Пример #2 Пример использования функции parse_ini_file()

Константы также могут обрабатываться в ini-файлах, так что если вы объявите константу в виде значения для ini-файла до вызова parse_ini_file(), то константа будет корректно обработана. Таким образом обрабатываются только значения опций. Например:

<?php

define('BIRD', 'Dodo bird');

// Обрабатываем без секций
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Обрабатываем с секциями
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [one] => 1
    [five] => 5
    [animal] => Dodo bird
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] => Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [third_section] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

        )

)

Пример #3 Обработка php.ini файла функцией parse_ini_file()

<?php
// Простая функция для сравнения результатов
function yesno($expression)
{
    return($expression ? 'Yes' : 'No');
}

// Получаем путь к php.ini с помощью функции php_ini_loaded_file()
// функция доступна начиная с версии PHP 5.2.4
$ini_path = php_ini_loaded_file();

// Обрабатываем php.ini
$ini = parse_ini_file($ini_path);

// Выводим и сравниваем значения, учтите, что использование get_cfg_var()
// даст одинаковые результаты для используемых здесь значений parsed (загруженное из файла) и loaded (используемое в данный момент)
echo '(parsed) magic_quotes_gpc = ' . yesno($ini['magic_quotes_gpc']) . PHP_EOL;
echo '(loaded) magic_quotes_gpc = ' . yesno(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

Результатом выполнения данного примера будет что-то подобное:

(parsed) magic_quotes_gpc = Yes
(loaded) magic_quotes_gpc = Yes

Примечания

Замечание:

Эта функция не имеет никакого отношения к файлу php.ini. К моменту выполнения вашего скрипта, он уже обработан. Эта функция может быть использована для загрузки настроек вашего собственного приложения.

Замечание:

Если значение в ini-файле содержит прочие символы, кроме букв и цифр, оно должно заключаться в двойные кавычки (").

Замечание: Существует зарезервированные слова, которые нельзя использовать в качестве ключей в ini-файлах. Такими словами являются: null, yes, no, true, false, on, off, none. Значения null, no и false преобразуются в "", yes и true преобразуются в "1". Символы ?{}|&~![()^" не должны использоваться в ключах и иметь какой-либо особый смысл в значениях.

Смотрите также

  • parse_ini_string() - Разбирает строку конфигурации

move_uploaded_file
parse_ini_string
Файловая система


Разбирает строку конфигурации

parse_ini_file
pathinfo
Файловая система
PHP Manual

parse_ini_string

(PHP 5 >= 5.3.0)

parse_ini_string — Разбирает строку конфигурации

Описание

array parse_ini_string ( string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_string() возвращает настройки из строки ini в виде ассоциативного массива.

Структура INI строки такая же, как и в php.ini.

Список параметров

ini

Содержимое разбираемого INI файла.

process_sections

Установив в параметр process_sections TRUE, можно получить многомерный массив, который включает названия секций и настроек. По умолчанию process_sections равен FALSE

scanner_mode

Может принимать следующие значения: INI_SCANNER_NORMAL (по умолчанию) или INI_SCANNER_RAW. Если указано значение INI_SCANNER_RAW, то значения опций не будут обрабатываться.

Возвращаемые значения

В случае успеха, настройки возвращаются в виде ассоциативного массива (array). В случае ошибки, возвращается FALSE.

Примечания

Замечание: Существуют зарезервированные слова, которые нельзя использовать в качестве ключей в ini-файлах. Такими словами являются: null, yes, no, true, false, on, off, none. Значения null, no и false преобразуются в "", yes и true преобразуются в "1". Символы ?{}|&~![()^" не должны использоваться в ключах и иметь какой-либо особый смысл в значениях.

Смотрите также

  • parse_ini_file() - Обрабатывает конфигурационный файл

parse_ini_file
pathinfo
Файловая система


Возвращает информацию о пути к файлу

parse_ini_string
pclose
Файловая система
PHP Manual

pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo — Возвращает информацию о пути к файлу

Описание

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

pathinfo() возвращает информацию о path в виде ассоциативного массива или строки в зависимости от options.

Список параметров

path

Анализируемый путь.

options

Если указан, то задает для возврата отдельный элемент: один из следующих PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME.

Если options не указан, то возвращаются все доступные элементы.

Возвращаемые значения

Если параметр options не передан, то возвращаемый ассоциативный массив (array) будет содержать следующие элементы: dirname, basename, extension (если есть) и filename.

Замечание:

Если path не содержит расширения, то не будет возвращен элемент extension (см. ниже второй пример).

Если указан параметр options, будет возвращена строка (string), содержащая указанный элемент.

Список изменений

Версия | Описание
5.2.0 | Добавлена константа PATHINFO_FILENAME.

Примеры

Пример #1 Пример использования функции pathinfo()

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // начиная с PHP 5.2.0
?>

Результат выполнения данного примера:

/www/htdocs/inc
lib.inc.php
php
lib.inc

Пример #2 Пример с pathinfo(), показывающий разницу между null и отсутствием расширения.

<?php
$path_parts = pathinfo('/path/nullextension.');
var_dump($path_parts['extension']);

$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>

Результатом выполнения данного примера будет что-то подобное:

string(0) ""

Notice:  Undefined index:  extension in /test.php on line 6

Примечания

Замечание:

Подробнее о получении информации о текущем пути, обратитесь к секции " Предопределенные зарезервированные переменные".

Замечание:

pathinfo() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale().

Смотрите также

  • dirname() - Возвращает имя родительского каталога из указанного пути
  • basename() - Возвращает последний компонент имени из указанного пути
  • parse_url() - Разбирает URL и возвращает его компоненты
  • realpath() - Возвращает канонизированный абсолютный путь к файлу

parse_ini_string
pclose
Файловая система


Закрывает файловый указатель процесса

pathinfo
popen
Файловая система
PHP Manual

pclose

(PHP 4, PHP 5)

pclose — Закрывает файловый указатель процесса

Описание

int pclose ( resource $handle )

Закрывает файловый указатель на канал, открытый при помощи popen().

Список параметров

handle

Файловый указатель должен быть действующим и должен быть получен успешным вызовом функции popen().

Возвращаемые значения

Возвращает статус выхода завершающегося процесса. В случае ошибки возвращается -1.

Примеры

Пример #1 Пример использования pclose()

<?php
$handle = popen('/bin/ls', 'r');
pclose($handle);
?>

Примечания

Замечание: Только для Unix:

proc_close() внутренне реализована с помощью системного вызова waitpid(3). Для получения реального кода выхода используйте вместо этого функцию pcntl_wexitstatus().

Смотрите также

  • popen() - Открывает файловый указатель процесса

pathinfo
popen
Файловая система


Открывает файловый указатель процесса

pclose
readfile
Файловая система
PHP Manual

popen

(PHP 4, PHP 5)

popen — Открывает файловый указатель процесса

Описание

resource popen ( string $command , string $mode )

Открывает поток к процессу, выполняемую при помощи форка команды, заданной в параметре command.

Список параметров

command

Команда

mode

Режим

Возвращаемые значения

Возвращает файловый указатель, идентичный возвращаемому функцией fopen(), за исключением того, что он односторонний (может быть использован только для чтения или записи) и должен быть закрыт при помощи pclose(). Этот указатель может быть использован с fgets(), fgetss() и fwrite(). Если в качестве режима указано 'r', файловый указатель аналогичен потоку вывода (STDOUT) команды, если же указано 'w', то файловый указатель аналогичен потоку ввода (STDIN) команды.

В случае возникновения ошибки возвращает FALSE.

Примеры

Пример #1 Пример использования функции popen()

<?php
$handle = popen("/bin/ls", "r");
?>

Если команда для выполнения не может быть найдена, будет возвращён корректный ресурс. Это может выглядить странно, но имеет смысл; это даёт вам возможность получить доступ к любому сообщению об ошибке, которое вернёт оболочка:

Пример #2 popen() example

<?php
error_reporting(E_ALL);

/* Добавляем перенаправление, чтобы прочитать stderr. */
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

Примечания

Замечание:

Если вам нужна двухсторонняя передача (в обе стороны одновременно), используйте proc_open().

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время по практическим причинам запрещено использование .. в качестве компонента пути к исполняемому файлу.

Внимание

В случае работы в безопасном режиме, строка с командой экранируется с помощью escapeshellcmd(). Таким образом echo y | echo x становится echo y \| echo x.

Смотрите также

  • pclose() - Закрывает файловый указатель процесса
  • fopen() - Открывает файл или URL
  • proc_open() - Execute a command and open file pointers for input/output

pclose
readfile
Файловая система


Выводит файл

popen
readlink
Файловая система
PHP Manual

readfile

(PHP 4, PHP 5)

readfile — Выводит файл

Описание

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Читает файл и записывает его в буфер вывода.

Список параметров

filename

Имя читаемого файла.

use_include_path

Вы можете установить в TRUE необязательный второй аргумент, если вы также хотите попытаться найти файл в include_path.

context

Ресурс (resource) с контекстом потока.

Возвращаемые значения

Возвращает количество прочитанных из файла байт. В случае возникновения ошибки вернёт FALSE, если только функция не была вызвана как @readfile(), и выведет сообщение об ошибке.

Примеры

Пример #1 Форсирование скачки с помощью readfile()

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Диалог открытия / сохранения файла

Примечания

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Смотрите также

  • fpassthru() - Выводит все оставшиеся данные из файлового указателя
  • file() - Читает содержимое файла и помещает его в массив
  • fopen() - Открывает файл или URL
  • include()
  • require()
  • virtual() - Выполняет подзапрос Apache
  • file_get_contents() - Читает содержимое файла в строку
  • Поддерживаемые протоколы и обработчики (wrappers)

popen
readlink
Файловая система


Возвращает файл, на который указывает символическая ссылка

readfile
realpath_cache_get
Файловая система
PHP Manual

readlink

(PHP 4, PHP 5)

readlink — Возвращает файл, на который указывает символическая ссылка

Описание

string readlink ( string $path )

readlink() делает то же самое, что и функция C readlink.

Список параметров

path

Путь к символической ссылке.

Список изменений

Версия | Описание
5.3.0 | Данная функция теперь доступна на платформах Windows (Vista, Server 2008 и выше).

Возвращаемые значения

Возвращает содержимое пути символической ссылки или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования функции readlink()

<?php

// выведет что-то вроде /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

Смотрите также

  • is_link() - Определяет, является ли файл символической ссылкой
  • symlink() - Создаёт символическую ссылку
  • linkinfo() - Возвращает информацию о ссылке

readfile
realpath_cache_get
Файловая система


Получает записи из кэша реального пути

readlink
realpath_cache_size
Файловая система
PHP Manual

realpath_cache_get

(PHP 5 >= 5.3.2)

realpath_cache_get — Получает записи из кэша реального пути

Описание

array realpath_cache_get ( void )

Получает содержимое кэша реального пути.

Возвращаемые значения

Возвращает массив записей из кэша реального пути. Ключи являются записями реального пути, а значения являются массивами данных, содержащих вычисленный путь, время жизни кэша и других данных, хранящихся в кэше.

Примеры

Пример #1 Пример использования realpath_cache_get()

<?php
var_dump(realpath_cache_get());
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["/test"] => array(4) {
    ["key"] => int(123456789)
    ["is_dir"] => bool(true)
    ["realpath"] => string(5) "/test"
    ["expires"] => int(1260318939)
  }
  ["/test/test.php"] => array(4) {
    ["key"] => int(987654321)
    ["is_dir"] => bool(false)
    ["realpath"] => string(12) "/root/test.php"
    ["expires"] => int(1260318939)
  }
}

Смотрите также

  • realpath_cache_size() - Получает размер кэша реального пути

readlink
realpath_cache_size
Файловая система


Получает размер кэша реального пути

realpath_cache_get
realpath
Файловая система
PHP Manual

realpath_cache_size

(PHP 5 >= 5.3.2)

realpath_cache_size — Получает размер кэша реального пути

Описание

int realpath_cache_size ( void )

Получает объем памяти, используемой при кэшировании реального пути.

Возвращаемые значения

Возвращает объем использованной памяти для кэширования реального пути.

Примеры

Пример #1 Пример использования realpath_cache_size()

<?php
var_dump(realpath_cache_size());
?>

Результатом выполнения данного примера будет что-то подобное:

int(412)

Смотрите также

  • realpath_cache_get() - Получает записи из кэша реального пути

realpath_cache_get
realpath
Файловая система


Возвращает канонизированный абсолютный путь к файлу

realpath_cache_size
rename
Файловая система
PHP Manual

realpath

(PHP 4, PHP 5)

realpath — Возвращает канонизированный абсолютный путь к файлу

Описание

string realpath ( string $path )

realpath() раскрывает все символические ссылки, переходы типа '/./', '/../' и лишние символы '/' в пути path, возвращая канонизированный абсолютный путь к файлу.

Список параметров

path

Проверяемый путь.

Замечание:

Несмотря на то, что путь должен быть указан, переданное значение может быть пустой строкой или NULL. В этих случаях оно будет интерпретировано в качестве текущей директории.

Возвращаемые значения

В случае успеха возвращает канонизированный абсолютный путь. Результирующий путь не содержит символических ссылок и компонентов наподобие '/./' или '/../'.

realpath() возвращает FALSE при неудаче, например если файл не существует.

Замечание:

Запускаемый скрипт должен иметь права запуска на всех директориях в проверяемой иерархии, иначе realpath() вернет FALSE.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Список изменений

Версия | Описание
5.3.0 | До этого релиза realpath() не терпела неудачу на системах *BSD только в случае отсутствия последнего компонента пути path. Теперь realpath() не срабатывает также и в этом случае.
5.0.0 | До этой версии при передаче пустой строки или NULL в path realpath() возвращала имя директории, вызываемого скрипта.

Примеры

Пример #1 Пример использования функции realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

Результат выполнения данного примера:

/etc/passwd

Пример #2 realpath() на Windows

На Windows realpath() изменит пути стиля Unix на стиль Windows.

<?php
echo realpath('/windows/system32');
?>

Результат выполнения данного примера:

C:\WINDOWS\System32

Смотрите также

  • basename() - Возвращает последний компонент имени из указанного пути
  • dirname() - Возвращает имя родительского каталога из указанного пути
  • pathinfo() - Возвращает информацию о пути к файлу

realpath_cache_size
rename
Файловая система


Переименовывает файл или директорию

realpath
rewind
Файловая система
PHP Manual

rename

(PHP 4, PHP 5)

rename — Переименовывает файл или директорию

Описание

bool rename ( string $oldname , string $newname [, resource $context ] )

Пытается переименовать oldname в newname.

Список параметров

oldname

Замечание:

Старое имя. Обёртка, используемая в oldname должна совпадать с обёрткой, используемой в newname.

newname

Новое имя.

context

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.1 | rename() теперь может переименовывать файлы между дисками в Windows.
5.0.0 | rename() теперь также может быть использована с некоторыми обёртками URL. Обратитесь к Поддерживаемые протоколы и обработчики (wrappers) для получения списка обёрток, которые поддерживают rename().
4.3.3 | rename() теперь может переименовать файлы, находящиеся на другом разделе в ОС, основанных на *nix, подразумевая, что предоставлены соответствующие права на эти файлы. Могут быть сгенерировано предупреждение, если результирующая файловая система не позволяет совершать на файлах системные вызовы chown() или chmod() — например, если результирующей файловой системой является FAT.

Примеры

Пример #1 Пример использования функции rename()

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Смотрите также

  • copy() - Копирует файл
  • unlink() - Удаляет файл
  • move_uploaded_file() - Перемещает загруженный файл в новое место

realpath
rewind
Файловая система


Сбрасывает курсор у файлового указателя

rename
rmdir
Файловая система
PHP Manual

rewind

(PHP 4, PHP 5)

rewind — Сбрасывает курсор у файлового указателя

Описание

bool rewind ( resource $handle )

Сбрасывает курсор файлового указателя handle на начало файлового потока.

Замечание:

Если вы открыли файл в режиме "записи в конец" ("a" или "a+"), любые данные, которые вы записываете, будут дописаны в конец файла, независимо от положения курсора.

Список параметров

handle

Файловый указатель должен быть доступным и ссылаться на файл, успешно открытый при помощи fopen().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример перезаписи rewind()

<?php
$handle = fopen('output.txt', 'r+');

fwrite($handle, 'Ужасно длинное предложение.');
rewind($handle);
fwrite($handle, 'Оп');
rewind($handle);

echo fread($handle, filesize('output.txt'));

fclose($handle);
?>

Результатом выполнения данного примера будет что-то подобное:

Опасно длинное предложение.

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fseek() - Устанавливает смещение в файловом указателе
  • ftell() - Сообщает текущую позицию чтения/записи файла
  • fwrite() - Бинарно-безопасная запись в файл

rename
rmdir
Файловая система


Удаляет директорию

rewind
set_file_buffer
Файловая система
PHP Manual

rmdir

(PHP 4, PHP 5)

rmdir — Удаляет директорию

Описание

bool rmdir ( string $dirname [, resource $context ] )

Пытается удалить директорию с именем dirname. Директория должна быть пустой и должны иметься необходимые для этого права. В случае ошибки будет сгенерирована ошибка уровня E_WARNING.

Список параметров

dirname

Путь к директории.

context

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | Начиная с версии PHP 5.0.0, функция rmdir() также может быть использована с некоторыми обёртками URL. Обратитесь к Поддерживаемые протоколы и обработчики (wrappers) для получения списка обёрток, которые поддерживают rmdir().

Примеры

Пример #1 Пример использования rmdir()

<?php
if (!is_dir('examples')) {
    mkdir('examples');
}

rmdir('examples');
?>

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • is_dir() - Определяет, является ли имя файла директорией
  • mkdir() - Создаёт директорию
  • unlink() - Удаляет файл

rewind
set_file_buffer
Файловая система


Псевдоним stream_set_write_buffer

rmdir
stat
Файловая система
PHP Manual

set_file_buffer

(PHP 4, PHP 5)

set_file_buffer — Псевдоним stream_set_write_buffer()

Описание

Эта функция является псевдонимом: stream_set_write_buffer().

rmdir
stat
Файловая система


Возвращает информацию о файле

set_file_buffer
symlink
Файловая система
PHP Manual

stat

(PHP 4, PHP 5)

stat — Возвращает информацию о файле

Описание

array stat ( string $filename )

Собирает статистическую информацию о файле filename. Если filename является символической ссылкой, информация собирается о самом файле, а не ссылке.

Функция lstat() индентична функции stat() за исключением того, что в данном случае она вернёт информацию о самой символической ссылке.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Формат результата работы функций stat() и fstat()
Числовой | Ассоциативный (начиная с PHP 4.0.6) | Описание
0 | dev | номер устройства
1 | ino | номер inode *
2 | mode | режим защиты inode
3 | nlink | количество ссылок
4 | uid | userid владельца *
5 | gid | groupid владельца *
6 | rdev | тип устройства, если устройство inode
7 | size | размер в байтах
8 | atime | время последнего доступа (временная метка Unix)
9 | mtime | время последней модификации (временная метка Unix)
10 | ctime | время последнего изменения inode (временная метка Unix)
11 | blksize | размер блока ввода-вывода файловой системы **
12 | blocks | количество используемых 512-байтных блоков **
* В Windows это всегда будет 0.

** Доступен только на системах, поддерживающих тип st_blksize - другие системы (например, Windows) вернут -1.

В случае ошибки stat() возвращает FALSE.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Ошибки

В случае ошибки будет сгенерирована ошибка уровня E_WARNING.

Список изменений

Версия | Описание
4.0.6 | Кроме возможности получения доступа к любому атрибуту в числовом массиве, его можно также получить по ассоциативному ключу, который указан напротив каждого параметра.

Примеры

Пример #1 Пример использования stat()

<?php
/* Получаем статистику файла */
$stat = stat('C:\php\php.exe');

/*
 * Выводим последнее время доступа к файлу, это тоже самое, что и
 * вызов fileatime()
 */
echo 'Последнее время доступа: ' . $stat['atime'];

/*
 * Выводим время изменения файла, это тоже самое, что и
 * вызов filemtime()
 */
echo 'Время изменения: ' . $stat['mtime'];

/* Выводим номер устройства */
echo 'Номер устройства: ' . $stat['dev'];
?>

Пример #2 Использование информации из stat() вместе с touch()

<?php
/* Получаем статистику файла */
$stat = stat('C:\php\php.exe');

/* Удалось получить эту статистику? */
if (!$stat) {
    echo 'вызов stat() не удался...';
} else {
    /*
     * Мы хотим увеличить время последнего доступа к файлу
     * на 1 неделю вперед.
     */
    $atime = $stat['atime'] + 604800;

    /* Касаемся файла */
    if (!touch('some_file.txt', time(), $atime)) {
        echo 'Не удалось коснуться файла...';
    } else {
        echo 'touch() выполнился успешно...';
    }
}
?>

Примечания

Замечание:

Учтите, что обработка времени может отличаться в различных файловых системах.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • lstat() - Возвращает информацию о файле или символической ссылке
  • fstat() - Получает информацию о файле используя открытый файловый указатель
  • filemtime() - Возвращает время последнего изменения файла
  • filegroup() - Получает идентификатор группы файла

set_file_buffer
symlink
Файловая система


Создаёт символическую ссылку

stat
tempnam
Файловая система
PHP Manual

symlink

(PHP 4, PHP 5)

symlink — Создаёт символическую ссылку

Описание

bool symlink ( string $target , string $link )

symlink() создаёт символическую ссылку на существующий файл target с именем link.

Список параметров

target

Цель ссылки.

link

Имя ссылки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь доступна на Windows платформах (Vista, Server 2008 и выше).

Примеры

Пример #1 Создание символической ссылки

<?php
$target = 'uploads.php';
$link = 'uploads';
symlink($target, $link);

echo readlink($link);
?>

Примечания

Замечание: Только для Windows: Эта функция будет работать только на Windows Vista/Windows Server 2008 и выше. Более ранние версии Windows не поддерживают символические ссылки.

Смотрите также

  • link() - Создаёт жёсткую ссылку
  • readlink() - Возвращает файл, на который указывает символическая ссылка
  • linkinfo() - Возвращает информацию о ссылке

stat
tempnam
Файловая система


Создаёт файл с уникальным именем

symlink
tmpfile
Файловая система
PHP Manual

tempnam

(PHP 4, PHP 5)

tempnam — Создаёт файл с уникальным именем

Описание

string tempnam ( string $dir , string $prefix )

Создаёт файл с уникальным именем в определённой директории с правами 0600. Если эта директория не существует, tempnam() может создать файл во временной директории системы и вернуть его имя.

Список параметров

dir

Директория, где будет создан временный файл.

prefix

Префикс имени генерируемого файла.

Замечание: Windows использует только первые три символа из указанного префикса.

Возвращаемые значения

Возвращает имя нового временного файла или FALSE в случае неудачи.

Список изменений

Версия | Описание
4.0.6 | В версиях PHP ниже 4.0.6, поведение функции tempnam() было платформозависимым. В Windows переменная окружения TMP была приоритетнее аргумента dir, в Linux приоритетнее была переменная окружения TMPDIR, а SVR4 всегда использовал ваш аргумент dir, если указанная директория существовала. Обратитесь к документации вашей системы по функции tempnam(3), если у вас возникнут сомнения.
4.0.3 | Поведение функции изменилось начиная с версии PHP 4.0.3. Временный файл также создаётся чтобы избежать состояния гонки, когда файл может появится в файловой системе между моментом генерации строки и моментом, когда скрипт начнёт его создавать. Обратите внимание, что вы должны удалить файл вручную, если он больше вам не нужен - этот процесс не автоматизирован.

Примеры

Пример #1 Пример использования функции tempnam()

<?php
$tmpfname = tempnam("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "записываем в во временный файл");
fclose($handle);

// здесь мы чего-нибудь делаем

unlink($tmpfname);
?>

Примечания

Замечание: Если PHP не может создать файл в указанной директории dir, он возвращается к директории по умолчанию вашей системы. На NTFS это также происходит в случае если указанная директория dir содержит более 65534 файлов.

Смотрите также

  • tmpfile() - Создаёт временный файл
  • sys_get_temp_dir() - Returns directory path used for temporary files
  • unlink() - Удаляет файл

symlink
tmpfile
Файловая система


Создаёт временный файл

tempnam
touch
Файловая система
PHP Manual

tmpfile

(PHP 4, PHP 5)

tmpfile — Создаёт временный файл

Описание

resource tmpfile ( void )

Создаёт временный файл с уникальным именем, открывая его в режиме чтения и записи (w+), и возвращает файловый указатель.

Этот файл автоматически удаляется после закрытия (использования fclose()) или после завершения работы скрипта.

Для дополнительной информации, обратитесь к документации вашей системы по функции tmpfile(3), а также к заголовочному файлу stdio.h.

Возвращаемые значения

Возвращает дескриптор файла, аналогичный тому, который возращает функция fopen() для новых файлов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "записываем во временный файл");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // происходит удаление файла
?>

Результат выполнения данного примера:

записываем во временный файл

Смотрите также

  • tempnam() - Создаёт файл с уникальным именем
  • sys_get_temp_dir() - Returns directory path used for temporary files

tempnam
touch
Файловая система


Устанавливает время доступа и модификации файла

tmpfile
umask
Файловая система
PHP Manual

touch

(PHP 4, PHP 5)

touch — Устанавливает время доступа и модификации файла

Описание

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

Пытается установить время доступа и модификации файла с именем filename в значение time. Обратите внимание, что время доступа изменяется всегда, независимо от количества аргументов.

Если файл не существует, он будет создан.

Список параметров

filename

Имя касаемого файла.

time

Время касания. Если аргумент time не указан, используется текущее время.

atime

Если передан, время доступа указанного файла будет установлено в значение atime. В обратном случае оно будет установлено в значение параметра time. Если же ни один из этих параметров не был указан, то будет использовано текущее системное время.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Стало возможным изменять время модификации директории в Windows.

Примеры

Пример #1 Пример использования функции touch()

<?php
if (touch($filename)) {
    echo "Время модификации файла $filename было изменено на текущее";
} else {
    echo "Простите, не удалось изменить время модификации файла ' . $filename;
}
?>

Пример #2 Использование touch() с параметром time

<?php
// Это время касания, установим его на час назад.
$time = time() - 3600;

// Трогаем файл
if (!touch('some_file.txt', $time)) {
    echo 'Упс, что-то пошло не так...';
} else {
    echo 'Касание файла прошло успешно';
}
?>

Примечания

Замечание:

Учтите, что обработка времени может отличаться в различных файловых системах.

Внимание

До версии PHP 5.3.0 было невозможно менять время модификации директории под Windows с помощью этой функции.

tmpfile
umask
Файловая система


Изменяет текущую umask

touch
unlink
Файловая система
PHP Manual

umask

(PHP 4, PHP 5)

umask — Изменяет текущую umask

Описание

int umask ([ int $mask ] )

umask() устанавливает PHP umask в значение mask & 0777 и возвращает старую umask. Если PHP используется в качестве серверного модуля, umask будет восстанавливаться после окончания каждого запроса.

Список параметров

mask

Новая umask.

Возвращаемые значения

Вызов umask() без аргументов вернёт текущую umask, иначе будет возвращена старая umask.

Примеры

Пример #1 Пример использования umask()

<?php
$old = umask(0);
chmod("/path/some_dir/some_file.txt", 0755);
umask($old);

// Checking
if ($old != umask()) {
    die('При восстановлении umask произошла ошибка');
}
?>

Примечания

Замечание:

Избегайте использования этой функции в многопоточных веб-серверах. Лучше изменить права файла с помощью функции chmod() после его создания. Использование umask() может привести к неожиданному поведению одновременно работающих скриптов и самого веб-сервера, т.к. они все будут использовать одну и ту же umask.

touch
unlink
Файловая система


Удаляет файл

umask
Inotify
Файловая система
PHP Manual

unlink

(PHP 4, PHP 5)

unlink — Удаляет файл

Описание

bool unlink ( string $filename [, resource $context ] )

Удаляет файл filename. Функция похожа на функцию unlink() Unix C. В случае ошибки будет сгенерирована ошибка уровня E_WARNING.

Список параметров

filename

Путь к файлу.

context

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Stream Функции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | Начиная с версии PHP 5.0.0, функция unlink() также может быть использована с некоторыми обёртками URL. Обратитесь к Поддерживаемые протоколы и обработчики (wrappers) для получения списка обёрток, которые поддерживают unlink().

Примеры

Пример #1 Пример простого использования unlink()

<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '<h1>Hello world!</h1>');
fclose($fh);

unlink('test.html');
?>

Смотрите также

  • rmdir() - Удаляет директорию

umask
Inotify
Файловая система


Inotify

  • Введение
  • Установка и настройка
    • Требования
    • Установка и настройка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Inotify Функции
    • inotify_add_watch — Add a watch to an initialized inotify instance
    • inotify_init — Initialize an inotify instance
    • inotify_queue_len — Return a number upper than zero if there are pending events
    • inotify_read — Read events from an inotify instance
    • inotify_rm_watch — Remove an existing watch from an inotify instance
unlink
Введение
Расширения для работы с файловой системой


Введение

The inotify extension exposes the inotify functions inotify_init(), inotify_add_watch() and inotify_rm_watch().

As the C inotify_init() function returns a file descriptor, PHP's inotify_init() returns a stream resource, usable with standard stream functions, like stream_select(), stream_set_blocking() and fclose(). inotify_read() replaces the C way of reading inotify events.

Inotify
Установка и настройка
Inotify


Установка и настройка

Содержание

  • Требования
  • Установка и настройка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Inotify


Требования

This extension requires Linux 2.6.13 or newer, and a recent libC.

Установка и настройка
Установка и настройка
Установка и настройка


Установка и настройка
PHP Manual

Установка и настройка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/inotify.

Требования
Настройка во время выполнения
Установка и настройка
PHP Manual


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка и настройка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines a stream resource returned by inotify_init().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Константы Inotify используются с функцией inotify_add_watch() и/или возвращаются inotify_read()
IN_ACCESS (integer)
К файлу произведен доступ (чтение) (*)
IN_MODIFY (integer)
Файл был изменен (*)
IN_ATTRIB (integer)
Изменены метаданные (такие как permissions, mtime, и т.д.) (*)
IN_CLOSE_WRITE (integer)
Файл, открытый для записи, был закрыт (*)
IN_CLOSE_NOWRITE (integer)
Файл, недоступный для записи, был закрыт (*)
IN_OPEN (integer)
Файл был открыт (*)
IN_MOVED_TO (integer)
Файл перемещен в указанную директорию (*)
IN_MOVED_FROM (integer)
Файл перемещен из указанной директории (*)
IN_CREATE (integer)
Файл или директория созданы в указанной директории (*)
IN_DELETE (integer)
Файл или директория удалена из указанной директории (*)
IN_DELETE_SELF (integer)
Указанный файл или директория удалены
IN_MOVE_SELF (integer)
Указанный файл или директория перемещены
IN_CLOSE (integer)
Эквивалентно IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (integer)
Эквивалентно IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (integer)
Битовая маска указанных выше констант
IN_UNMOUNT (integer)
Файловая система, содержащая файл была размонтирована
IN_Q_OVERFLOW (integer)
Очередь событий переполнена (wd(дескриптор наблюдения) равно -1 для этого события)
IN_IGNORED (integer)
Наблюдение было отключено вручную (поясняется inotify_rm_watch()) либо из-за отсутствия файла либо из-за размонтирования файловой системы.
IN_ISDIR (integer)
Объектом события является директория
IN_ONLYDIR (integer)
Использовать только указанную директорию в качестве конечного пути (Начиная с Linux 2.6.15)
IN_DONT_FOLLOW (integer)
Не разыменовывать путь, если это символическая ссылка (Начиная с Linux 2.6.15)
IN_MASK_ADD (integer)
Добавить события в маску событий для этого пути, если она уже существует (вместо замещения маски).
IN_ONESHOT (integer)
Отслеживать путь для одного события, затем удалить его из списка наблюдения.

Замечание: События, помеченные звездочкой (*), могут происходить с файлами в наблюдаемых директориях.

Типы ресурсов
Inotify Функции
Inotify


Inotify Функции

Содержание

  • inotify_add_watch — Add a watch to an initialized inotify instance
  • inotify_init — Initialize an inotify instance
  • inotify_queue_len — Return a number upper than zero if there are pending events
  • inotify_read — Read events from an inotify instance
  • inotify_rm_watch — Remove an existing watch from an inotify instance
Предопределенные константы
inotify_add_watch
Inotify


Add a watch to an initialized inotify instance

Inotify Функции
inotify_init
Inotify Функции
PHP Manual

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Add a watch to an initialized inotify instance

Описание

int inotify_add_watch ( resource $inotify_instance , string $pathname , int $mask )

inotify_add_watch() adds a new watch or modify an existing watch for the file or directory specified in pathname.

Using inotify_add_watch() on a watched object replaces the existing watch. Using the IN_MASK_ADD constant adds (OR) events to the existing watch.

Список параметров

inotify_instance

Ресурс, возвращаемый inotify_init()

pathname

File or directory to watch

mask

Events to watch for. See Предопределенные константы.

Возвращаемые значения

The return value is a unique (inotify instance wide) watch descriptor.

Смотрите также

  • inotify_init() - Initialize an inotify instance

Inotify Функции
inotify_init
Inotify Функции


Initialize an inotify instance

inotify_add_watch
inotify_queue_len
Inotify Функции
PHP Manual

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Initialize an inotify instance

Описание

resource inotify_init ( void )

Initialize an inotify instance for use with inotify_add_watch()

Возвращаемые значения

A stream resource or FALSE on error.

Примеры

Пример #1 Example usage of inotify

<?php
// Open an inotify instance
$fd = inotify_init();

// Watch __FILE__ for metadata changes (e.g. mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// generate an event
touch(__FILE__);

// Read events
$events = inotify_read($fd);
print_r($events);

// The following methods allows to use inotify functions without blocking on inotify_read():

// - Using stream_select() on $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Using stream_set_blocking() on $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // Does no block, and return false if no events are pending

// - Using inotify_queue_len() to check if event queue is not empty
$queue_len = inotify_queue_len($fd); // If > 0, inotify_read() will not block

// Stop watching __FILE__ for metadata changes
inotify_rm_watch($fd, $watch_descriptor);

// Close the inotify instance
// This may have closed all watches if this was not already done
fclose($fd);

?>

Результатом выполнения данного примера будет что-то подобное:

array(
  array(
    'wd' => 1,     // Equals $watch_descriptor
    'mask' => 4,   // IN_ATTRIB bit is set
    'cookie' => 0, // unique id to connect related events (e.g.
                   // IN_MOVE_FROM and IN_MOVE_TO events)
    'name' => '',  // the name of a file (e.g. if we monitored changes
                   // in a directory)
  ),
);

Смотрите также

  • inotify_add_watch() - Add a watch to an initialized inotify instance
  • inotify_rm_watch() - Remove an existing watch from an inotify instance
  • inotify_queue_len() - Return a number upper than zero if there are pending events
  • inotify_read() - Read events from an inotify instance
  • fclose() - Закрывает открытый дескриптор файла

inotify_add_watch
inotify_queue_len
Inotify Функции


Return a number upper than zero if there are pending events

inotify_init
inotify_read
Inotify Функции
PHP Manual

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Return a number upper than zero if there are pending events

Описание

int inotify_queue_len ( resource $inotify_instance )

This function allows to know if inotify_read() will block or not. If a number upper than zero is returned, there are pending events and inotify_read() will not block.

Список параметров

inotify_instance

Ресурс, возвращаемый inotify_init()

Возвращаемые значения

Returns a number upper than zero if there are pending events.

Смотрите также

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке

inotify_init
inotify_read
Inotify Функции


Read events from an inotify instance

inotify_queue_len
inotify_rm_watch
Inotify Функции
PHP Manual

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Read events from an inotify instance

Описание

array inotify_read ( resource $inotify_instance )

Read inotify events from an inotify instance.

Список параметров

inotify_instance

Ресурс, возвращаемый inotify_init()

Возвращаемые значения

An array of inotify events or FALSE if no events was pending and inotify_instance is non-blocking. Each event is an array with the following keys:

  • wd is a watch descriptor returned by inotify_add_watch()
  • mask is a bit mask of events
  • cookie is a unique id to connect related events (e.g. IN_MOVE_FROM and IN_MOVE_TO)
  • name is the name of a file (e.g. if a file was modified in a watched directory)

Смотрите также

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • inotify_queue_len() - Return a number upper than zero if there are pending events

inotify_queue_len
inotify_rm_watch
Inotify Функции


Remove an existing watch from an inotify instance

inotify_read
Mimetype
Inotify Функции
PHP Manual

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Remove an existing watch from an inotify instance

Описание

bool inotify_rm_watch ( resource $inotify_instance , int $watch_descriptor )

inotify_rm_watch() removes the watch watch_descriptor from the inotify instance inotify_instance.

Список параметров

inotify_instance

Ресурс, возвращаемый inotify_init()

watch_descriptor

Watch to remove from the instance

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • inotify_init() - Initialize an inotify instance

inotify_read
Mimetype
Inotify Функции


Mimetype

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
inotify_rm_watch
Введение
Расширения для работы с файловой системой


Введение

Внимание

This extension has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

This extension is derived from Apache mod_mime_magic, which is itself based on the file command maintained by Ian F. Darwin. See the source code for further historic and copyright information.

Mimetype
Установка и настройка
Mimetype


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mimetype


Установка

Внимание

Mimetype extensions has been removed from PHP 5.3.0 in favor of Fileinfo.

You must compile PHP with the configure switch --with-mime-magic to get support for mime-type functions. The extension needs a copy of the simplified magic file that is distributed with the Apache httpd.

Замечание:

The configure option has been changed from --enable-mime-magic to --with-mime-magic since PHP 4.3.2

Замечание:

This extension is not capable of handling the fully decorated magic file that generally comes with standard Linux distro's and is supposed to be used with recent versions of file command.

Замечание: Note to Win32 Users

In order to use this module on a Windows environment, you must set the path to the bundled magic.mime file in your php.ini.

Пример #1 Setting the path to magic.mime

mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"

Remember to substitute the $PHP_INSTALL_DIR for your actual path to PHP in the above example. e.g. c:\php

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mimetype configuration options
Name | Default | Changeable | Changelog
mime_magic.debug | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mime_magic.debug bool

Enable/disable debugging.

mime_magic.magicfile string

The path to the magic.mime file.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Proctitle
Mimetype


Proctitle

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Proctitle Функции
    • setproctitle — Set the process title
    • setthreadtitle — Set the thread title
Предопределенные константы
Введение
Расширения для работы с файловой системой


Введение

This extension allows changing the current process', and thread, name on Linux and *BSD systems. This is useful when using pcntl_fork() to identify running processes in process list

Proctitle
Установка и настройка
Proctitle


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Proctitle


Требования

Nothing special.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/proctitle.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Proctitle Функции
Proctitle


Proctitle Функции

Содержание

  • setproctitle — Set the process title
  • setthreadtitle — Set the thread title
Предопределенные константы
setproctitle
Proctitle


Set the process title

Proctitle Функции
setthreadtitle
Proctitle Функции
PHP Manual

setproctitle

(PECL proctitle >= 0.1.0)

setproctitle — Set the process title

Описание

void setproctitle ( string $title )

Sets the process title of the current process.

Список параметров

title

The title to use as the process title.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 setproctitle() example

Running the example below will change the process title (visible with ps a for example).

<?php
setproctitle("myscript");
?>

Результатом выполнения данного примера будет что-то подобное:

$ ps a
  PID TTY      STAT   TIME COMMAND
 1168 pts/3    S      0:00 myscript

Смотрите также

  • pcntl_fork() - Forks the currently running process
  • setthreadtitle() - Set the thread title
Proctitle Функции
setthreadtitle
Proctitle Функции


Set the thread title

setproctitle
xattr
Proctitle Функции
PHP Manual

setthreadtitle

(PECL proctitle >= 0.1.2)

setthreadtitle — Set the thread title

Описание

bool setthreadtitle ( string $title )

Sets the thread title.

Список параметров

title

The title to use as the thread title.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 setthreadtitle() example

Running the example below will change the thread title (visible with ps c for example).

<?php
setthreadtitle("myscript");
?>

Результатом выполнения данного примера будет что-то подобное:

$ ps c
  PID TTY      STAT   TIME COMMAND
 1178 pts/3    S      0:00 myscript

Смотрите также

  • pcntl_fork() - Forks the currently running process
  • setproctitle() - Set the process title
setproctitle
xattr
Proctitle Функции


xattr

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • xattr Функции
    • xattr_get — Получение расширенных атрибутов файла
    • xattr_list — Просмотр списка расширенных атрибутов файла
    • xattr_remove — Удаление расширенных атрибутов файла
    • xattr_set — Установка расширенных атрибутов файла
    • xattr_supported — Проверка поддержки расширенных атрибутов
setthreadtitle
Введение
Расширения для работы с файловой системой


Введение

Расширение xattr позволяет производить манипуляции с раширенными атрибутами в файловой системе.

xattr
Установка и настройка
xattr


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
xattr


Требования

Для использования xattr должна быть установлена библиотека libattr. Она доступна здесь » http://oss.sgi.com/projects/xfs/.

Замечание:

Эти фунуции работают только с файловыми системами, поддерживающими расширенные атрибуты, и смонтированными в текущий момент. Вот некоторые файловые системы, которые поддерживают раширенные атрибуты: ext2, ext3, reiserfs, jfs и xfs.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/xattr.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XATTR_ROOT (integer)
Установить атрибут в корневом (доверенном) пространстве имён. Требует привилегий суперпользователя.
XATTR_DONTFOLLOW (integer)
Не разыменовывать символические ссылки, работать с самими ссылками.
XATTR_CREATE (integer)
Функция завершится ошибкой, если расширенный атрибут уже существует.
XATTR_REPLACE (integer)
Функция завершится ошибкой, если расширенный атрибут отсутствует.
Типы ресурсов
xattr Функции
xattr


xattr Функции

Содержание

  • xattr_get — Получение расширенных атрибутов файла
  • xattr_list — Просмотр списка расширенных атрибутов файла
  • xattr_remove — Удаление расширенных атрибутов файла
  • xattr_set — Установка расширенных атрибутов файла
  • xattr_supported — Проверка поддержки расширенных атрибутов
Предопределенные константы
xattr_get
xattr


Получение расширенных атрибутов файла

xattr Функции
xattr_list
xattr Функции
PHP Manual

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Получение расширенных атрибутов файла

Описание

string xattr_get ( string $filename , string $name [, int $flags = 0 ] )

Эта функция возвращает значение расширенного атрибута файла.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags.

Список параметров

filename

Файл, атрибут которого нужно прочитать.

name

Имя атрибута.

flags

Поддерживаемые xattr-флаги
XATTR_DONTFOLLOW | Не разыменовывать символические ссылки, работать с самой ссылкой.
XATTR_ROOT | Установить атрибут корневого каталога (доверенного) пространства имён. Требуются права суперпользователя.

Возвращаемые значения

Функция возвращает строку, содержащую значение FALSE, если атрибут не существует.

Примеры

Пример #1 Проверить, подписан ли файл системным администратором

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... check if $signature is valid ... */

?>

Смотрите также

  • xattr_list() - Просмотр списка расширенных атрибутов файла
  • xattr_set() - Установка расширенных атрибутов файла
  • xattr_remove() - Удаление расширенных атрибутов файла

xattr Функции
xattr_list
xattr Функции


Просмотр списка расширенных атрибутов файла

xattr_get
xattr_remove
xattr Функции
PHP Manual

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Просмотр списка расширенных атрибутов файла

Описание

array xattr_list ( string $filename [, int $flags = 0 ] )

Эта функция возвращает список имён расширенных атрибутов файла.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags.

Список параметров

filename

Файл, список атрибутов которого нужно прочитать.

flags

Поддерживаемые xattr-флаги
XATTR_DONTFOLLOW | Не разыменовывать символические ссылки, работать с самой ссылкой.
XATTR_ROOT | Установить атрибут корневого каталога (доверенного) пространства имён. Требуются права суперпользователя.

Возвращаемые значения

Функция возвращает массив, содержащий имена расширенных атрибутов.

Примеры

Пример #1 Вывести имена всех расширенных атрибутов файла

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Root-атрибуты: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n Пользовательские атрибуты: \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

Смотрите также

  • xattr_get() - Получение расширенных атрибутов файла

xattr_get
xattr_remove
xattr Функции


Удаление расширенных атрибутов файла

xattr_list
xattr_set
xattr Функции
PHP Manual

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Удаление расширенных атрибутов файла

Описание

bool xattr_remove ( string $filename , string $name [, int $flags = 0 ] )

Эта функция удаляет расширенный атрибут файла.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags.

Список параметров

filename

Файл, атрибут которого нужно удалить.

name

Имя удаляемого атрибута.

flags

Поддерживаемые xattr-флаги
XATTR_DONTFOLLOW | Не разыменовывать символические ссылки, работать с самой ссылкой.
XATTR_ROOT | Установить атрибут корневого каталога (доверенного) пространства имён. Требуются права суперпользователя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Удалить все расширенные атрибуты файла

<?php
$file = 'some_file';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

Смотрите также

  • xattr_list() - Просмотр списка расширенных атрибутов файла
  • xattr_set() - Установка расширенных атрибутов файла
  • xattr_get() - Получение расширенных атрибутов файла

xattr_list
xattr_set
xattr Функции


Установка расширенных атрибутов файла

xattr_remove
xattr_supported
xattr Функции
PHP Manual

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Установка расширенных атрибутов файла

Описание

bool xattr_set ( string $filename , string $name , string $value [, int $flags = 0 ] )

Эта функция устанавливает расширенный атрибут файла.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags.

Список параметров

filename

Имя файла, атрибут которого нужно установить.

name

Имя расширенного атрибута. При его отсутствии атрибут создаётся, в противном случае - перезаписывается. Вы можете изменить поведение, используя флаги (flags).

value

Значение атрибута.

flags

Поддерживаемые xattr-флаги
XATTR_CREATE | Функция вернёт ошибку, если атрибут существует.
XATTR_REPLACE | Функция вернёт ошибку, если атрибут не существует.
XATTR_DONTFOLLOW | Не разыменовывать символические ссылки, работать с самой ссылкой.
XATTR_ROOT | Установить атрибут корневого каталога (доверенного) пространства имён. Требуются права суперпользователя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Установить расширенные атрибуты .wav файла

<?php
$file = 'my_favourite_song.wav';
xattr_set($file, 'Artist', 'Someone');
xattr_set($file, 'My ranking', 'Good');
xattr_set($file, 'Listen count', '34');

/* ... other code ... */

printf("You've played this song %d times", xattr_get($file, 'Listen count'));
?>

Смотрите также

  • xattr_get() - Получение расширенных атрибутов файла
  • xattr_remove() - Удаление расширенных атрибутов файла

xattr_remove
xattr_supported
xattr Функции


Проверка поддержки расширенных атрибутов

xattr_set
xdiff
xattr Функции
PHP Manual

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Проверка поддержки расширенных атрибутов

Описание

bool xattr_supported ( string $filename [, int $flags = 0 ] )

Эта функция проверяет поддерживает ли файловая система, содержащая файл, расширенные атрибуты. Требуется право на чтение файла.

Список параметров

filename

Путь к проверяемому файлу.

flags

Поддерживаемые xattr-флаги
XATTR_DONTFOLLOW Не разыменовывать символические ссылки, работать с самой ссылкой.

Возвращаемые значения

Функция возвращает TRUE, если файловая система поддерживает расширенные атрибуты, FALSE, если это не так и NULL, если невозможно определить (на пример неверный путь к файлу, или нет разрешения на чтение файла).

Примеры

Пример #1 xattr_supported() example

Проверить, можно ли использовать расширенные атрибуты.

<?php
$file = 'some_file';

if (xattr_supported($file)) {
    /* ... make use of some xattr_* functions ... */
}

?>

Смотрите также

  • xattr_get() - Получение расширенных атрибутов файла
  • xattr_list() - Просмотр списка расширенных атрибутов файла

xattr_set
xdiff
xattr Функции


xdiff

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • xdiff Функции
    • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_file_bdiff — Make binary diff of two files
    • xdiff_file_bpatch — Patch a file with a binary diff
    • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
    • xdiff_file_diff — Make unified diff of two files
    • xdiff_file_merge3 — Merge 3 files into one
    • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
    • xdiff_file_patch — Patch a file with an unified diff
    • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
    • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_string_bdiff — Make binary diff of two strings
    • xdiff_string_bpatch — Patch a string with a binary diff
    • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
    • xdiff_string_diff — Make unified diff of two strings
    • xdiff_string_merge3 — Merge 3 strings into one
    • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
    • xdiff_string_patch — Patch a string with an unified diff
    • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
xattr_supported
Введение
Расширения для работы с файловой системой


Введение

xdiff extension enables you to create and apply patch files containing differences between different revisions of files.

This extension supports two modes of operation - on strings and on files, as well as two different patch formats - unified and binary. Unified patches are excellent for text files as they are human-readable and easy to review. For binary files like archives or images, binary patches will be adequate choice as they are binary safe and handle non-printable characters well.

Starting from version 1.5.0 there are two different sets of functions for generating binary patches. New functions - xdiff_string_rabdiff() and xdiff_file_rabdiff() generate output compatible with older functions but are typically faster and generate smaller results. For more details about methods of generating binary patches and differences between them, please check » libxdiff website.

This extension uses libxdiff to implement these functions. Please see » http://www.xmailserver.org/xdiff-lib.html for more information.

xdiff
Установка и настройка
xdiff


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
xdiff


Требования

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage » http://www.xmailserver.org/xdiff-lib.html.

Замечание:

You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/xdiff.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XDIFF_PATCH_NORMAL (integer)
This flag indicates that xdiff_string_patch() and xdiff_file_patch() functions should create result by applying patch to original content thus creating newer version of file. This is the default mode of operation.
XDIFF_PATCH_REVERSE (integer)
This flag indicated that xdiff_string_patch() and xdiff_file_patch() functions should create result by reversing patch changed from newer content thus creating original version.
Типы ресурсов
xdiff Функции
xdiff


xdiff Функции

Содержание

  • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_file_bdiff — Make binary diff of two files
  • xdiff_file_bpatch — Patch a file with a binary diff
  • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
  • xdiff_file_diff — Make unified diff of two files
  • xdiff_file_merge3 — Merge 3 files into one
  • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
  • xdiff_file_patch — Patch a file with an unified diff
  • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_string_bdiff — Make binary diff of two strings
  • xdiff_string_bpatch — Patch a string with a binary diff
  • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
  • xdiff_string_diff — Make unified diff of two strings
  • xdiff_string_merge3 — Merge 3 strings into one
  • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
  • xdiff_string_patch — Patch a string with an unified diff
  • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
Предопределенные константы
xdiff_file_bdiff_size
xdiff


Read a size of file created by applying a binary diff

xdiff Функции
xdiff_file_bdiff
xdiff Функции
PHP Manual

xdiff_file_bdiff_size

(PECL xdiff >= 0.2.0)

xdiff_file_bdiff_size — Read a size of file created by applying a binary diff

Описание

int xdiff_file_bdiff_size ( string $file )

Returns a size of a result file that would be created after applying binary patch from file file to the original file.

Список параметров

file

The path to the binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Возвращаемые значения

Returns the size of file that would be created.

Примеры

Пример #1 xdiff_file_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "Resulting file will be $length bytes long";
?>

Смотрите также

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff Функции
xdiff_file_bdiff
xdiff Функции


Make binary diff of two files

xdiff_file_bdiff_size
xdiff_file_bpatch
xdiff Функции
PHP Manual

xdiff_file_bdiff

(PECL xdiff >= 0.2.0)

xdiff_file_bdiff — Make binary diff of two files

Описание

bool xdiff_file_bdiff ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

Список параметров

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_bdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Примечания

Замечание:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Смотрите также

  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_bdiff_size
xdiff_file_bpatch
xdiff Функции


Patch a file with a binary diff

xdiff_file_bdiff
xdiff_file_diff_binary
xdiff Функции
PHP Manual

xdiff_file_bpatch

(PECL xdiff >= 0.2.0)

xdiff_file_bpatch — Patch a file with a binary diff

Описание

bool xdiff_file_bpatch ( string $file , string $patch , string $dest )

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() and xdiff_file_rabdiff() functions or their string counterparts.

Список параметров

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_bpatch() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Примечания

Замечание:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Смотрите также

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

xdiff_file_bdiff
xdiff_file_diff_binary
xdiff Функции


Alias of xdiff_file_bdiff

xdiff_file_bpatch
xdiff_file_diff
xdiff Функции
PHP Manual

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — Alias of xdiff_file_bdiff

Описание

bool xdiff_file_diff_binary ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_file_bdiff().

Список параметров

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_diff_binary() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Примечания

Замечание:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Смотрите также

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_bpatch
xdiff_file_diff
xdiff Функции


Make unified diff of two files

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Функции
PHP Manual

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Make unified diff of two files

Описание

bool xdiff_file_diff ( string $old_file , string $new_file , string $dest [, int $context = 3 [, bool $minimal = false ]] )

Makes an unified diff containing differences between old_file and new_file and stores it in dest file. The resulting file is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Список параметров

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file.

context

Indicates how many lines of context you want to include in diff result.

minimal

Set this parameter to TRUE if you want to minimalize size of the result (can take a long time).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_diff() example

The following code makes unified diff of two php files with context length of 2.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Примечания

Замечание:

This function doesn't work well with binary files. To make diff of binary files use xdiff_file_bdiff()/xdiff_file_rabdiff() function.

Смотрите также

  • xdiff_file_patch() - Patch a file with an unified diff

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Функции


Merge 3 files into one

xdiff_file_diff
xdiff_file_patch_binary
xdiff Функции
PHP Manual

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Merge 3 files into one

Описание

mixed xdiff_file_merge3 ( string $old_file , string $new_file1 , string $new_file2 , string $dest )

Merges three files into one and stores the result in a file dest. The old_file is an original version while new_file1 and new_file2 are modified versions of an original.

Список параметров

old_file

Path to the first file. It acts as "old" file.

new_file1

Path to the second file. It acts as modified version of old_file.

new_file2

Path to the third file. It acts as modified version of old_file.

dest

Path of the resulting file, containing merged changed from both new_file1 and new_file2.

Возвращаемые значения

Returns TRUE if merge was successful, string with rejected chunks if it was not or FALSE if an internal error happened.

Примеры

Пример #1 xdiff_file_merge3() example

The following code merges three files into one.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

Смотрите также

  • xdiff_string_merge3() - Merge 3 strings into one

xdiff_file_diff
xdiff_file_patch_binary
xdiff Функции


Alias of xdiff_file_bpatch

xdiff_file_merge3
xdiff_file_patch
xdiff Функции
PHP Manual

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — Alias of xdiff_file_bpatch

Описание

bool xdiff_file_patch_binary ( string $file , string $patch , string $dest )

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() or xdiff_file_rabdiff() functions or their string counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_file_bpatch().

Список параметров

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_patch_binary() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Примечания

Замечание:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Смотрите также

  • xdiff_string_patch_binary() - Alias of xdiff_string_bpatch

xdiff_file_merge3
xdiff_file_patch
xdiff Функции


Patch a file with an unified diff

xdiff_file_patch_binary
xdiff_file_rabdiff
xdiff Функции
PHP Manual

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Patch a file with an unified diff

Описание

mixed xdiff_file_patch ( string $file , string $patch , string $dest [, int $flags = DIFF_PATCH_NORMAL ] )

Patches a file with a patch and stores the result in a file. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation.

Список параметров

file

The original file.

patch

The unified patch file. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

Возвращаемые значения

Returns FALSE if an internal error happened, string with rejected chunks if patch couldn't be applied or TRUE if patch has been successfully applied.

Примеры

Пример #1 xdiff_file_patch() example

The following code applies unified diff to a file.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Пример #2 Patch reversing example

The following code reverses a patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Смотрите также

  • xdiff_file_diff() - Make unified diff of two files

xdiff_file_patch_binary
xdiff_file_rabdiff
xdiff Функции


Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

xdiff_file_patch
xdiff_string_bdiff_size
xdiff Функции
PHP Manual

xdiff_file_rabdiff

(PECL xdiff >= 0.2.0)

xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

Описание

bool xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. The difference between this function and xdiff_file_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Список параметров

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xdiff_file_rabdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Примечания

Замечание:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Смотрите также

  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_patch
xdiff_string_bdiff_size
xdiff Функции


Read a size of file created by applying a binary diff

xdiff_file_rabdiff
xdiff_string_bdiff
xdiff Функции
PHP Manual

xdiff_string_bdiff_size

(PECL xdiff >= 0.2.0)

xdiff_string_bdiff_size — Read a size of file created by applying a binary diff

Описание

int xdiff_string_bdiff_size ( string $patch )

Returns a size of a result file that would be created after applying binary patch to the original file.

Список параметров

patch

The binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Возвращаемые значения

Returns the size of file that would be created.

Примеры

Пример #1 xdiff_string_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "Resulting file will be $length bytes long";
?>

Смотрите также

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_file_rabdiff
xdiff_string_bdiff
xdiff Функции


Make binary diff of two strings

xdiff_string_bdiff_size
xdiff_string_bpatch
xdiff Функции
PHP Manual

xdiff_string_bdiff

(PECL xdiff >= 0.2.0)

xdiff_string_bdiff — Make binary diff of two strings

Описание

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Список параметров

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Возвращаемые значения

Returns string with binary diff containing differences between "old" and "new" data or FALSE if an internal error occurred.

Смотрите также

  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_bdiff_size
xdiff_string_bpatch
xdiff Функции


Patch a string with a binary diff

xdiff_string_bdiff
xdiff_string_diff_binary
xdiff Функции
PHP Manual

xdiff_string_bpatch

(PECL xdiff >= 0.2.0)

xdiff_string_bpatch — Patch a string with a binary diff

Описание

string xdiff_string_bpatch ( string $str , string $patch )

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Список параметров

str

The original binary string.

patch

The binary patch string.

Возвращаемые значения

Returns the patched string, or FALSE on error.

Смотрите также

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_bdiff
xdiff_string_diff_binary
xdiff Функции


Alias of xdiff_string_bdiff

xdiff_string_bpatch
xdiff_string_diff
xdiff Функции
PHP Manual

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — Alias of xdiff_string_bdiff

Описание

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_string_bdiff().

Список параметров

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Возвращаемые значения

Returns string with result or FALSE if an internal error happened.

Смотрите также

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_bpatch
xdiff_string_diff
xdiff Функции


Make unified diff of two strings

xdiff_string_diff_binary
xdiff_string_merge3
xdiff Функции
PHP Manual

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — Make unified diff of two strings

Описание

string xdiff_string_diff ( string $old_data , string $new_data [, int $context = 3 [, bool $minimal = false ]] )

Makes an unified diff containing differences between old_data string and new_data string and returns it. The resulting diff is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Список параметров

old_data

First string with data. It acts as "old" data.

new_data

Second string with data. It acts as "new" data.

context

Indicates how many lines of context you want to include in the diff result.

minimal

Set this parameter to TRUE if you want to minimalize the size of the result (can take a long time).

Возвращаемые значения

Returns string with resulting diff or FALSE if an internal error happened.

Примеры

Пример #1 xdiff_string_diff() example

The following code makes unified diff of two articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article to html form */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Differences between two articles:\n";
    echo $diff;
}

?>

Примечания

Замечание:

This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_bdiff()/xdiff_string_rabdiff().

Смотрите также

  • xdiff_string_patch() - Patch a string with an unified diff

xdiff_string_diff_binary
xdiff_string_merge3
xdiff Функции


Merge 3 strings into one

xdiff_string_diff
xdiff_string_patch_binary
xdiff Функции
PHP Manual

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Merge 3 strings into one

Описание

mixed xdiff_string_merge3 ( string $old_data , string $new_data1 , string $new_data2 [, string &$error ] )

Merges three strings into one and returns the result. The old_data is an original version of data while new_file1 and new_file2 are modified versions of an original. An optional error is used to pass any rejected parts during merging process.

Список параметров

old_data

First string with data. It acts as "old" data.

new_data1

Second string with data. It acts as modified version of old_data.

new_data2

Third string with data. It acts as modified version of old_data.

error

If provided then rejected parts are stored inside this variable.

Возвращаемые значения

Returns the merged string, FALSE if an internal error happened, or TRUE if merged string is empty.

Смотрите также

  • xdiff_file_merge3() - Merge 3 files into one

xdiff_string_diff
xdiff_string_patch_binary
xdiff Функции


Alias of xdiff_string_bpatch

xdiff_string_merge3
xdiff_string_patch
xdiff Функции
PHP Manual

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — Alias of xdiff_string_bpatch

Описание

string xdiff_string_patch_binary ( string $str , string $patch )

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_string_bpatch().

Список параметров

str

The original binary string.

patch

The binary patch string.

Возвращаемые значения

Returns the patched string, or FALSE on error.

Смотрите также

  • xdiff_string_bpatch() - Patch a string with a binary diff
  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_merge3
xdiff_string_patch
xdiff Функции


Patch a string with an unified diff

xdiff_string_patch_binary
xdiff_string_rabdiff
xdiff Функции
PHP Manual

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Patch a string with an unified diff

Описание

string xdiff_string_patch ( string $str , string $patch [, int $flags [, string &$error ]] )

Patches a str string with an unified patch in patch parameter and returns the result. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation. Any rejected parts of the patch will be stored inside error variable if it is provided.

Список параметров

str

The original string.

patch

The unified patch string. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

flags

flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

error

If provided then rejected parts are stored inside this variable.

Возвращаемые значения

Returns the patched string, or FALSE on error.

Примеры

Пример #1 xdiff_string_patch() example

The following code applies changes to some article.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "New article:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejects: \n";
    echo $errors;
}

?>

Смотрите также

  • xdiff_string_diff() - Make unified diff of two strings

xdiff_string_patch_binary
xdiff_string_rabdiff
xdiff Функции


Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_patch
Поддержка языков и кодировок
xdiff Функции
PHP Manual

xdiff_string_rabdiff

(PECL xdiff >= 0.2.0)

xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

Описание

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. The difference between this function and xdiff_string_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Список параметров

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Возвращаемые значения

Returns string with binary diff containing differences between "old" and "new" data or FALSE if an internal error occurred.

Смотрите также

  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_patch
Поддержка языков и кодировок
xdiff Функции


Поддержка языков и кодировок

  • Enchant — Enchant spelling library
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Enchant Функции
  • FriBiDi
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FriBiDi Функции
  • Gettext
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции gettext
  • iconv
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • iconv
  • intl — Internationalization Functions
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Collator — The Collator class
    • NumberFormatter — The NumberFormatter class
    • Locale — The Locale class
    • Normalizer — The Normalizer class
    • MessageFormatter — The MessageFormatter class
    • IntlDateFormatter — The IntlDateFormatter class
    • ResourceBundle — The ResourceBundle class
    • Spoofchecker — The Spoofchecker class
    • Transliterator — The Transliterator class
    • Grapheme Функции
    • IDN Функции
    • intl Функции
  • Multibyte String
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Summaries of supported encodings
    • Basics of Japanese multi-byte encodings
    • HTTP Input and Output
    • Supported Character Encodings
    • Function Overloading Feature
    • PHP Character Encoding Requirements
    • Multibyte String Функции
  • Pspell
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Pspell Функции
  • Recode — GNU Recode
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Recode Функции
xdiff_string_rabdiff
Enchant
Справочник функций


Enchant spelling library

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Enchant Функции
    • enchant_broker_describe — Enumerates the Enchant providers
    • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free_dict — Free a dictionary resource
    • enchant_broker_free — Free the broker resource and its dictionnaries
    • enchant_broker_get_error — Returns the last error of the broker
    • enchant_broker_init — create a new broker object capable of requesting
    • enchant_broker_list_dicts — Returns a list of available dictionaries
    • enchant_broker_request_dict — create a new dictionary using a tag
    • enchant_broker_request_pwl_dict — creates a dictionary using a PWL file
    • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
    • enchant_dict_add_to_personal — add a word to personal word list
    • enchant_dict_add_to_session — add 'word' to this spell-checking session
    • enchant_dict_check — Check whether a word is correctly spelled or not
    • enchant_dict_describe — Describes an individual dictionary
    • enchant_dict_get_error — Returns the last error of the current spelling-session
    • enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session
    • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement — Add a correction for a word
    • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
Поддержка языков и кодировок
Введение
Поддержка языков и кодировок


Введение

Enchant is the PHP binding for the » Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchat supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)

Enchant
Установка и настройка
Enchant


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Enchant


Требования

This version uses the functions of the » Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later.

Enchant also requires » Glib 2.6 or greater. Pre-compiled Windows libraries are available from » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.

Установка и настройка
Установка
Установка и настройка


Установка

This extension is bundled with PHP as of PHP 5.3.0. Before this time, enchant was a PECL extension. Users of versions prior to 5.3.0 may use the » PECL extension.

Provided the required libraries are installed, users of PHP 5.3.0 or later may enable enchant by adding the --with-enchant[=dir] option when compiling PHP.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Enchant


Примеры

Пример #1 Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $wordcorrect = enchant_dict_check($d, "soong");
    print_r($dprovides);
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
Предопределенные константы
Enchant Функции
Enchant


Enchant Функции

Содержание

  • enchant_broker_describe — Enumerates the Enchant providers
  • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict — Free a dictionary resource
  • enchant_broker_free — Free the broker resource and its dictionnaries
  • enchant_broker_get_error — Returns the last error of the broker
  • enchant_broker_init — create a new broker object capable of requesting
  • enchant_broker_list_dicts — Returns a list of available dictionaries
  • enchant_broker_request_dict — create a new dictionary using a tag
  • enchant_broker_request_pwl_dict — creates a dictionary using a PWL file
  • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
  • enchant_dict_add_to_personal — add a word to personal word list
  • enchant_dict_add_to_session — add 'word' to this spell-checking session
  • enchant_dict_check — Check whether a word is correctly spelled or not
  • enchant_dict_describe — Describes an individual dictionary
  • enchant_dict_get_error — Returns the last error of the current spelling-session
  • enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session
  • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
  • enchant_dict_store_replacement — Add a correction for a word
  • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
Примеры
enchant_broker_describe
Enchant


Enumerates the Enchant providers

Enchant Функции
enchant_broker_dict_exists
Enchant Функции
PHP Manual

enchant_broker_describe

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0)

enchant_broker_describe — Enumerates the Enchant providers

Описание

array enchant_broker_describe ( resource $broker )

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

Список параметров

broker

Broker resource

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

Результатом выполнения данного примера будет что-то подобное:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Enchant Функции
enchant_broker_dict_exists
Enchant Функции


Whether a dictionary exists or not. Using non-empty tag

enchant_broker_describe
enchant_broker_free_dict
Enchant Функции
PHP Manual

enchant_broker_dict_exists

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag

Описание

bool enchant_broker_dict_exists ( resource $broker , string $tag )

Tells if a dictionary exists or not, using a non-empty tags

Список параметров

broker

Broker resource

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

Возвращаемые значения

Returns TRUE when the tag exist or FALSE when not.

Примеры

Пример #1 A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

Смотрите также

  • enchant_broker_describe() - Enumerates the Enchant providers

enchant_broker_describe
enchant_broker_free_dict
Enchant Функции


Free a dictionary resource

enchant_broker_dict_exists
enchant_broker_free
Enchant Функции
PHP Manual

enchant_broker_free_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Free a dictionary resource

Описание

bool enchant_broker_free_dict ( resource $dict )

Free a dictionary resource.

Список параметров

dict

Dictionary resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • enchant_broker_request_dict() - create a new dictionary using a tag
  • enchant_broker_request_pwl_dict() - creates a dictionary using a PWL file

enchant_broker_dict_exists
enchant_broker_free
Enchant Функции


Free the broker resource and its dictionnaries

enchant_broker_free_dict
enchant_broker_get_error
Enchant Функции
PHP Manual

enchant_broker_free

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_free — Free the broker resource and its dictionnaries

Описание

bool enchant_broker_free ( resource $broker )

Free a broker resource with all its dictionaries.

Список параметров

broker

Broker resource

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • enchant_broker_init() - create a new broker object capable of requesting

enchant_broker_free_dict
enchant_broker_get_error
Enchant Функции


Returns the last error of the broker

enchant_broker_free
enchant_broker_init
Enchant Функции
PHP Manual

enchant_broker_get_error

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_get_error — Returns the last error of the broker

Описание

string enchant_broker_get_error ( resource $broker )

Returns the last error which occurred in this broker.

Список параметров

broker

Broker resource.

Возвращаемые значения

Return the msg string if an error was found or FALSE

enchant_broker_free
enchant_broker_init
Enchant Функции


create a new broker object capable of requesting

enchant_broker_get_error
enchant_broker_list_dicts
Enchant Функции
PHP Manual

enchant_broker_init

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_init — create a new broker object capable of requesting

Описание

resource enchant_broker_init ( void )

Список параметров

Возвращаемые значения

Returns a broker resource on success or FALSE.

Смотрите также

  • enchant_broker_free() - Free the broker resource and its dictionnaries

enchant_broker_get_error
enchant_broker_list_dicts
Enchant Функции


Returns a list of available dictionaries

enchant_broker_init
enchant_broker_request_dict
Enchant Функции
PHP Manual

enchant_broker_list_dicts

(PHP 5 >= 5.3.0, PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Returns a list of available dictionaries

Описание

mixed enchant_broker_list_dicts ( resource $broker )

Returns a list of available dictionaries with their details.

Список параметров

broker

Broker resource

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Смотрите также

  • enchant_broker_describe() - Enumerates the Enchant providers

enchant_broker_init
enchant_broker_request_dict
Enchant Функции


create a new dictionary using a tag

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Enchant Функции
PHP Manual

enchant_broker_request_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_request_dict — create a new dictionary using a tag

Описание

resource enchant_broker_request_dict ( resource $broker , string $tag )

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

Список параметров

broker

Broker resource

tag

A tag describing the locale, for example en_US, de_DE

Возвращаемые значения

Returns a dictionary resource on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

Смотрите также

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Enchant Функции


creates a dictionary using a PWL file

enchant_broker_request_dict
enchant_broker_set_ordering
Enchant Функции
PHP Manual

enchant_broker_request_pwl_dict

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — creates a dictionary using a PWL file

Описание

resource enchant_broker_request_pwl_dict ( resource $broker , string $filename )

Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Список параметров

broker

Broker resource

filename

Path to the PWL file.

Возвращаемые значения

Returns a dictionary resource on success или FALSE в случае возникновения ошибки.

Смотрите также

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource

enchant_broker_request_dict
enchant_broker_set_ordering
Enchant Функции


Declares a preference of dictionaries to use for the language

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Enchant Функции
PHP Manual

enchant_broker_set_ordering

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language

Описание

bool enchant_broker_set_ordering ( resource $broker , string $tag , string $ordering )

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

Список параметров

broker

Broker resource

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Enchant Функции


add a word to personal word list

enchant_broker_set_ordering
enchant_dict_add_to_session
Enchant Функции
PHP Manual

enchant_dict_add_to_personal

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — add a word to personal word list

Описание

void enchant_dict_add_to_personal ( resource $dict , string $word )

Add a word to personal word list of the given dictionary.

Список параметров

dict

Dictionary resource

word

The word to add

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • enchant_broker_request_pwl_dict() - creates a dictionary using a PWL file
  • enchant_broker_request_dict() - create a new dictionary using a tag

enchant_broker_set_ordering
enchant_dict_add_to_session
Enchant Функции


add 'word' to this spell-checking session

enchant_dict_add_to_personal
enchant_dict_check
Enchant Функции
PHP Manual

enchant_dict_add_to_session

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — add 'word' to this spell-checking session

Описание

void enchant_dict_add_to_session ( resource $dict , string $word )

Add a word to the given dictionary. It will be added only for the active spell-checking session.

Список параметров

dict

Dictionary resource

word

The word to add

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • enchant_broker_request_dict() - create a new dictionary using a tag

enchant_dict_add_to_personal
enchant_dict_check
Enchant Функции


Check whether a word is correctly spelled or not

enchant_dict_add_to_session
enchant_dict_describe
Enchant Функции
PHP Manual

enchant_dict_check

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_check — Check whether a word is correctly spelled or not

Описание

bool enchant_dict_check ( resource $dict , string $word )

If the word is correctly spelled return TRUE, otherwise return FALSE

Список параметров

dict

Dictionary resource

word

The word to check

Возвращаемые значения

Returns TRUE if the word is spelled correctly, FALSE if not.

enchant_dict_add_to_session
enchant_dict_describe
Enchant Функции


Describes an individual dictionary

enchant_dict_check
enchant_dict_get_error
Enchant Функции
PHP Manual

enchant_dict_describe

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_describe — Describes an individual dictionary

Описание

mixed enchant_dict_describe ( resource $dict )

Returns the details of the dictionary.

Список параметров

dict

Dictinaray resource

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

enchant_dict_check
enchant_dict_get_error
Enchant Функции


Returns the last error of the current spelling-session

enchant_dict_describe
enchant_dict_is_in_session
Enchant Функции
PHP Manual

enchant_dict_get_error

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_get_error — Returns the last error of the current spelling-session

Описание

string enchant_dict_get_error ( resource $dict )

Returns the last error of the current spelling-session

Список параметров

dict

Dictinaray resource

Возвращаемые значения

Returns the error message as string or FALSE if no error occurred.

enchant_dict_describe
enchant_dict_is_in_session
Enchant Функции


whether or not 'word' exists in this spelling-session

enchant_dict_get_error
enchant_dict_quick_check
Enchant Функции
PHP Manual

enchant_dict_is_in_session

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session

Описание

bool enchant_dict_is_in_session ( resource $dict , string $word )

Tells whether or not a word already exists in the current session.

Список параметров

dict

Dictionary resource

word

The word to lookup

Возвращаемые значения

Returns TRUE if the word exists or FALSE

Смотрите также

  • enchant_dict_add_to_session() - add 'word' to this spell-checking session

enchant_dict_get_error
enchant_dict_quick_check
Enchant Функции


Check the word is correctly spelled and provide suggestions

enchant_dict_is_in_session
enchant_dict_store_replacement
Enchant Функции
PHP Manual

enchant_dict_quick_check

(PHP 5 >= 5.3.0, PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions

Описание

bool enchant_dict_quick_check ( resource $dict , string $word [, array &$suggestions ] )

If the word is correctly spelled return TRUE, otherwise return FALSE, if suggestions variable is provided, fill it with spelling alternatives.

Список параметров

dict

Dictionary resource

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

Возвращаемые значения

Returns TRUE if the word is correctly spelled or FALSE

Примеры

Пример #1 A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Смотрите также

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_suggest() - Will return a list of values if any of those pre-conditions are not met

enchant_dict_is_in_session
enchant_dict_store_replacement
Enchant Функции


Add a correction for a word

enchant_dict_quick_check
enchant_dict_suggest
Enchant Функции
PHP Manual

enchant_dict_store_replacement

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Add a correction for a word

Описание

void enchant_dict_store_replacement ( resource $dict , string $mis , string $cor )

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

Список параметров

dict

Dictionary resource

mis

The work to fix

cor

The correct word

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

enchant_dict_quick_check
enchant_dict_suggest
Enchant Функции


Will return a list of values if any of those pre-conditions are not met

enchant_dict_store_replacement
FriBiDi
Enchant Функции
PHP Manual

enchant_dict_suggest

(PHP 5 >= 5.3.0, PECL enchant >= 0.1.0 )

enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met

Описание

array enchant_dict_suggest ( resource $dict , string $word )

Список параметров

dict

Dictionary resource

word

Word to use for the suggestions.

Возвращаемые значения

Will returns an array of suggestions if the word is bad spelled.

Примеры

Пример #1 A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $wordcorrect = enchant_dict_check($d, "soong");
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Смотрите также

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_quick_check() - Check the word is correctly spelled and provide suggestions

enchant_dict_store_replacement
FriBiDi
Enchant Функции


FriBiDi

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • FriBiDi Функции
    • fribidi_log2vis — Convert a logical string to a visual one
enchant_dict_suggest
Введение
Поддержка языков и кодировок


Введение

FriBiDi is a free implementation of the » Unicode Bidirectional Algorithm.

FriBiDi
Установка и настройка
FriBiDi


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FriBiDi


Требования

You must download and install the » FriBiDi package.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/fribidi.

In order to use these functions you must compile PHP with Fribidi support by using the --with-fribidi[=DIR] configure option.

Windows users will enable php_fribidi.dll inside of php.ini in order to use these functions. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FRIBIDI_CHARSET_UTF8 (integer)
Unicode
FRIBIDI_CHARSET_8859_6 (integer)
Arabic
FRIBIDI_CHARSET_8859_8 (integer)
Hebrew
FRIBIDI_CHARSET_CP1255 (integer)
Hebrew/Yiddish
FRIBIDI_CHARSET_CP1256 (integer)
Arabic
FRIBIDI_CHARSET_ISIRI_3342 (integer)
Persian
FRIBIDI_CHARSET_CAP_RTL (integer)
Used for test purposes, will treat CAPS as non-English letters
FRIBIDI_RTL (integer)
Right to left
FRIBIDI_LTR (integer)
Left to right
FRIBIDI_AUTO (integer)
Autodetect the base direction
Типы ресурсов
FriBiDi Функции
FriBiDi


FriBiDi Функции

Содержание

  • fribidi_log2vis — Convert a logical string to a visual one
Предопределенные константы
fribidi_log2vis
FriBiDi


Convert a logical string to a visual one

FriBiDi Функции
Gettext
FriBiDi Функции
PHP Manual

fribidi_log2vis

(PHP 4 >= 4.0.4 and PHP 4 <= 4.1.0, PECL fribidi >= 1.0)

fribidi_log2vis — Convert a logical string to a visual one

Описание

string fribidi_log2vis ( string $str , string $direction , int $charset )

Converts a logical string to a visual one.

Список параметров

str

The logical string.

direction

One of FRIBIDI_RTL, FRIBIDI_LTR or FRIBIDI_AUTO.

charset

One of the FRIBIDI_CHARSET_XXX constants.

Возвращаемые значения

Returns the visual string on success или FALSE в случае возникновения ошибки.

FriBiDi Функции
Gettext
FriBiDi Функции


Gettext

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции gettext
    • bind_textdomain_codeset — Устанавливает кодировку, в которой будут возвращаться сообщения из каталога сообщений домена
    • bindtextdomain — Устанавливает путь для домена
    • dcgettext — Переопределяет одно сообщение в домене
    • dcngettext — Версия dcgettext для множественного числа
    • dgettext — Позволяет переопределить текущий домен
    • dngettext — Версия dgettext для множественного числа
    • gettext — Ищет сообщение в текущем домене
    • ngettext — Версия gettext для сообщений во множественном числе
    • textdomain — Устанавливает домен по умолчанию
fribidi_log2vis
Введение
Поддержка языков и кодировок


Введение

Функции gettext реализуют NLS (Native Language Support) API, который может использоваться для интернационализации ваших PHP-приложений. Обратитесь к документации gettext для вашей системы или откройте её по адресу » http://www.gnu.org/software/gettext/manual/gettext.html.

Gettext
Установка и настройка
Gettext


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Gettext


Требования

Для использования функций данного модуля требуется установка пакета GNU gettext, который можно скачать по ссылке: » http://www.gnu.org/software/gettext/gettext.html.

Установка и настройка
Установка
Установка и настройка


Установка

Чтобы включить поддержку GNU gettext в вашу сборку PHP, добавьте в конфигурацию ключ --with-gettext[=DIR] , где DIR - папка установки gettext, обычно это /usr/local.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Функции gettext
Gettext


Функции gettext

Содержание

  • bind_textdomain_codeset — Устанавливает кодировку, в которой будут возвращаться сообщения из каталога сообщений домена
  • bindtextdomain — Устанавливает путь для домена
  • dcgettext — Переопределяет одно сообщение в домене
  • dcngettext — Версия dcgettext для множественного числа
  • dgettext — Позволяет переопределить текущий домен
  • dngettext — Версия dgettext для множественного числа
  • gettext — Ищет сообщение в текущем домене
  • ngettext — Версия gettext для сообщений во множественном числе
  • textdomain — Устанавливает домен по умолчанию
Предопределенные константы
bind_textdomain_codeset
Gettext


Устанавливает кодировку, в которой будут возвращаться сообщения из каталога сообщений домена

Функции gettext
bindtextdomain
Функции gettext
PHP Manual

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5)

bind_textdomain_codeset — Устанавливает кодировку, в которой будут возвращаться сообщения из каталога сообщений домена

Описание

string bind_textdomain_codeset ( string $domain , string $codeset )

Функция bind_textdomain_codeset() устанавливает кодировку, в которой будут возвращаться сообщения из domain, такими функциями как gettext().

Список параметров

domain

Домен.

codeset

Кодировка.

Возвращаемые значения

Строка в случае успеха.

Функции gettext
bindtextdomain
Функции gettext


Устанавливает путь для домена

bind_textdomain_codeset
dcgettext
Функции gettext
PHP Manual

bindtextdomain

(PHP 4, PHP 5)

bindtextdomain — Устанавливает путь для домена

Описание

string bindtextdomain ( string $domain , string $directory )

Функция bindtextdomain() устанавливает путь для домена.

Список параметров

domain

Домен

directory

Путь к директории

Возвращаемые значения

Полный путь для домена, установленного параметром domain.

Примеры

Пример #1 Пример использования bindtextdomain()

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

Результат выполнения данного примера:

/usr/share/myapp/locale

bind_textdomain_codeset
dcgettext
Функции gettext


Переопределяет одно сообщение в домене

bindtextdomain
dcngettext
Функции gettext
PHP Manual

dcgettext

(PHP 4, PHP 5)

dcgettext — Переопределяет одно сообщение в домене

Описание

string dcgettext ( string $domain , string $message , int $category )

Данная функция позволяет переопределить текущий домен для одного сообщения.

Список параметров

domain

Домен

message

Сообщение

category

Категория

Возвращаемые значения

В случае успеха возвращает значение типа string.

Смотрите также

  • gettext() - Ищет сообщение в текущем домене

bindtextdomain
dcngettext
Функции gettext


Версия dcgettext для множественного числа

dcgettext
dgettext
Функции gettext
PHP Manual

dcngettext

(PHP 4 >= 4.2.0, PHP 5)

dcngettext — Версия dcgettext для множественного числа

Описание

string dcngettext ( string $domain , string $msgid1 , string $msgid2 , int $n , int $category )

Данная функция позволяет переопределить одно сообщение с использованием множественного числа в текущем домене.

Список параметров

domain

Домен.

msgid1

msgid2

n

category

Возвращаемые значения

В случае успеха возвращает значение типа string.

Смотрите также

  • ngettext() - Версия gettext для сообщений во множественном числе

dcgettext
dgettext
Функции gettext


Позволяет переопределить текущий домен

dcngettext
dngettext
Функции gettext
PHP Manual

dgettext

(PHP 4, PHP 5)

dgettext — Позволяет переопределить текущий домен

Описание

string dgettext ( string $domain , string $message )

Функция dgettext() позволяет переопределить текущий домен domain для одного сообщения.

Список параметров

domain

Домен.

message

Сообщение.

Возвращаемые значения

В случае успеха возвращает значение типа string.

Смотрите также

  • gettext() - Ищет сообщение в текущем домене

dcngettext
dngettext
Функции gettext


Версия dgettext для множественного числа

dgettext
gettext
Функции gettext
PHP Manual

dngettext

(PHP 4 >= 4.2.0, PHP 5)

dngettext — Версия dgettext для множественного числа

Описание

string dngettext ( string $domain , string $msgid1 , string $msgid2 , int $n )

Функция dngettext() позволяет переопределить текущий домен domain для одного сообщения во множественном числе.

Список параметров

domain

Домен.

msgid1

msgid2

n

Возвращаемые значения

В случае успеха возвращает значение типа string.

Смотрите также

  • ngettext() - Версия gettext для сообщений во множественном числе

dgettext
gettext
Функции gettext


Ищет сообщение в текущем домене

dngettext
ngettext
Функции gettext
PHP Manual

gettext

(PHP 4, PHP 5)

gettext — Ищет сообщение в текущем домене

Описание

string gettext ( string $message )

Ищет сообщение в текущем домене.

Список параметров

message

Переводимое сообщение.

Возвращаемые значения

Возвращает переведённую строку (string), если она найдена в таблице перевода, иначе - переданное сообщение.

Примеры

Пример #1 gettext()-check

<?php
// Устанавливаем русский язык
putenv('LC_ALL=ru_RU');
setlocale(LC_ALL, 'ru_RU');

// Указываем путь к таблицам переводов
bindtextdomain("myPHPApp", "./locale");

// Выбираем домен
textdomain("myPHPApp");

// Теперь поиск переводов будет идти в ./locale/ru_RU/LC_MESSAGES/myPHPApp.mo

// Выводим тестовое сообщение
echo gettext("Welcome to My PHP Application");

// Или с использованием псевдонима _()
echo _("Have a nice day");
?>

Примечания

Замечание:

Можно использовать символ подчёркивания '_' в качестве псевдонима этой функции.

Замечание:

На некоторых системах может быть недостаточно указания языка, в таких случаях используйте putenv() для указания текущей локали.

Смотрите также

  • setlocale() - Устанавливает настройки локали

dngettext
ngettext
Функции gettext


Версия gettext для сообщений во множественном числе

gettext
textdomain
Функции gettext
PHP Manual

ngettext

(PHP 4 >= 4.2.0, PHP 5)

ngettext — Версия gettext для сообщений во множественном числе

Описание

string ngettext ( string $msgid1 , string $msgid2 , int $n )

Версия gettext() для сообщений во множественном числе. Некоторые языки имеют больше одной формы сообщения для разных значений количества.

Список параметров

msgid1

msgid2

n

Возвращаемые значения

Возвращает корректную форму сообщения во множественном числе, идентифицируемых по параметрам msgid1 и msgid2 для количества n.

Примеры

Пример #1 Пример использования ngettext()

<?php

setlocale(LC_ALL, 'ru_RU');
printf(ngettext("%d window", "%d windows", 21), 21); // 21 окно
printf(ngettext("%d window", "%d windows", 22), 22); // 22 окна
printf(ngettext("%d window", "%d windows", 25), 25); // 25 окон

?>

gettext
textdomain
Функции gettext


Устанавливает домен по умолчанию

ngettext
iconv
Функции gettext
PHP Manual

textdomain

(PHP 4, PHP 5)

textdomain — Устанавливает домен по умолчанию

Описание

string textdomain ( string $text_domain )

Данная функция устанавливает домен, в котором будет производиться поиск при вызове функции gettext(), обычно называется именем приложения.

Список параметров

text_domain

Новый домен сообщений, или NULL для получения текущего значения без его изменения.

Возвращаемые значения

В случае успеха данная функция возвращает текущее домен сообщений, после возможного его изменения.

ngettext
iconv
Функции gettext


iconv

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • iconv
    • iconv_get_encoding — Получает текущее значение настроек преобразования кодировок
    • iconv_mime_decode_headers — Декодирует несколько полей заголовка MIME
    • iconv_mime_decode — Decodes a MIME header field
    • iconv_mime_encode — Composes a MIME header field
    • iconv_set_encoding — Устанавливает значение одной из внутренних переменных
    • iconv_strlen — Возвращает количество символов в строке
    • iconv_strpos — Возвращает позицию первого вхождения подстроки
    • iconv_strrpos — Возвращает позицию последнего вхождения подстроки
    • iconv_substr — Получение части строки
    • iconv — Преобразование строки в требуемую кодировку
    • ob_iconv_handler — Convert character encoding as output buffer handler
textdomain
Введение
Поддержка языков и кодировок


Введение

Это расширение предоставляет интерфейс к библиотеке преобразования кодировок iconv. При помощи данного модуля возможно изменение кодировки строки на другую поддерживаемую. Набор поддерживаемых кодировок зависит от реализации iconv в вашей системе. На некоторых платформах iconv может работать неправильно, в таких случаях рекомендуется установить библиотеку » GNU libiconv Она лучше преобразует строки.

Начиная с PHP 5.0.0, в расширение добавлены некоторые вспомогательные функции, удобные при работе с несколькими языками. Обратите внимание на следующие разделы для изучения новых особенностей.

iconv
Установка и настройка
iconv


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
iconv


Требования

Операционные системы, отвечающие стандартам POSIX, поставляются с C-библиотеками, предоставляющими функциональность iconv. Если ваша система в этот список не входит, вам придётся установить библиотеку » libiconv.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение по умолчанию включено, чтобы его отключить используйте опцию --without-iconv .

Также может быть указана необязательная директива --with-iconv-dir для альтернативного расположения iconv в системе, в которой компилируется PHP, иначе будет использовано расположение по умолчанию.

Замечание: Примечание для пользователей PHP 4
Включение этого расширения требует сборки --with-iconv=[DIR] , Windows-пользователи могут также включить его, разместив iconv.dll в системном пути (PATH), а также включив php_iconv.dll в php.ini.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки Iconv
Имя | По умолчанию | Меняемо | Список изменений
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Поддерживается начиная с PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Поддерживается начиная с PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Поддерживается начиная с PHP 4.0.5.

Краткое разъяснение конфигурационных директив.

Внимание

Некоторые системы (например IBM AIX) используют "ISO8859-1" вместо "ISO-8859-1", поэтому это значение должно быть указано в настройках и параметрах функции.

iconv.input_encoding string

В настоящее время эта опция не используется.

iconv.output_encoding string

iconv.internal_encoding string

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Начиная с PHP 4.3.0 возможно узнать во время выполнения, какая реализация iconv используется расширением.

Константы iconv
Имя | Тип | Описание
ICONV_IMPL | string | Реализация
ICONV_VERSION | string | Версия реализации

Замечание:

Используйте эти константы для написания сценариев, независимых от реализации.

Начиная с PHP 5.0.0, доступны также следующие константы:

Константы iconv, доступные начиная с PHP 5.0.0
Имя | Тип | Описание
ICONV_MIME_DECODE_STRICT | integer | Битовая маска, используемая в iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | Битовая маска, используемая в iconv_mime_decode()

Типы ресурсов
iconv
iconv


iconv
PHP Manual

iconv

Смотрите также

См. также Функции GNU Recode.

Содержание

  • iconv_get_encoding — Получает текущее значение настроек преобразования кодировок
  • iconv_mime_decode_headers — Декодирует несколько полей заголовка MIME
  • iconv_mime_decode — Decodes a MIME header field
  • iconv_mime_encode — Composes a MIME header field
  • iconv_set_encoding — Устанавливает значение одной из внутренних переменных
  • iconv_strlen — Возвращает количество символов в строке
  • iconv_strpos — Возвращает позицию первого вхождения подстроки
  • iconv_strrpos — Возвращает позицию последнего вхождения подстроки
  • iconv_substr — Получение части строки
  • iconv — Преобразование строки в требуемую кодировку
  • ob_iconv_handler — Convert character encoding as output buffer handler
Предопределенные константы
iconv_get_encoding
iconv
PHP Manual


Получает текущее значение настроек преобразования кодировок

iconv
iconv_mime_decode_headers
iconv
PHP Manual

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_get_encoding — Получает текущее значение настроек преобразования кодировок

Описание

mixed iconv_get_encoding ([ string $type = "all" ] )

Возвращает текущее значение указанной внутренней переменной расширения iconv.

Список параметров

type

Возможные значения необязательного параметра type:

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Возвращаемые значения

Возвращает текущее значение указанной внутренней переменной и FALSE в случае ошибки.

Если type не указан, или равен "all", iconv_get_encoding() вернёт массив со значениями всех внутренних переменных.

Примеры

Пример #1 Пример использования iconv_get_encoding()

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("input_encoding", "WINDOWS-1251");
iconv_set_encoding("output_encoding", "KOI8-U");
var_dump(iconv_get_encoding('all'));
?>
</pre>

Результат выполнения данного примера:

Array
(
    [input_encoding] => WINDOWS-1251
    [output_encoding] => KOI8-U
    [internal_encoding] => UTF-8
)

Смотрите также

  • iconv_set_encoding() - Устанавливает значение одной из внутренних переменных
  • ob_iconv_handler() - Convert character encoding as output buffer handler

iconv
iconv_mime_decode_headers
iconv


Декодирует несколько полей заголовка MIME

iconv_get_encoding
iconv_mime_decode
iconv
PHP Manual

iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers — Декодирует несколько полей заголовка MIME

Описание

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Декодирует несколько полей заголовка MIME за один раз.

Список параметров

encoded_headers

Нераскодированные заголовки в виде строки.

mode

Параметр mode определяет поведение, если iconv_mime_decode_headers() обнаружит неправильное поле заголовка MIME. Можно указать любую комбинацию следующих битовых масок.

Битовые маски iconv_mime_decode_headers()
Значение | Константа | Описание
1 | ICONV_MIME_DECODE_STRICT | Строго следовать стандартам, определённым в » RFC2047. Эта опция по умолчанию отключена, так как, к сожалению, много проприетарных программ электронной почты не следуют стандартам, и генерируют некорректные заголовки MIME.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Если установлена, iconv_mime_decode_headers() будет пытаться игнорировать любые ошибки и продолжать обработку текущего заголовка.

charset

Необязательный параметр charset указывает кодировку, в которой будет представлен результат. Если опущен, будет использовано значение директивы iconv.internal_encoding.

Возвращаемые значения

В случае успеха возвращает ассоциативный массив с полями MIME-заголовков, указанных параметром encoded_headers, или FALSE в случае ошибки.

Каждый ключ элемента возвращаемого массива представляет собой отдельное имя поля, а сам элемент - его значение. Если в заголовке существует несколько полей с одинаковым именем, iconv_mime_decode_headers() автоматически помещает их в подмассив с числовыми индексами в порядке их обработки.

Примеры

Пример #1 Пример использования iconv_mime_decode_headers()

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

Результат выполнения данного примера:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Смотрите также

  • iconv_mime_decode() - Decodes a MIME header field
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Decode MIME header elements
  • imap_base64() - Decode BASE64 encoded text
  • imap_qprint() - Convert a quoted-printable string to an 8 bit string

iconv_get_encoding
iconv_mime_decode
iconv


Decodes a MIME header field

iconv_mime_decode_headers
iconv_mime_encode
iconv
PHP Manual

iconv_mime_decode

(PHP 5)

iconv_mime_decode — Decodes a MIME header field

Описание

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodes a MIME header field.

Список параметров

encoded_header

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Bitmasks acceptable to iconv_mime_decode()
Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

Возвращаемые значения

Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.

Примеры

Пример #1 iconv_mime_decode() example

<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Смотрите также

  • iconv_mime_decode_headers() - Декодирует несколько полей заголовка MIME
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Decode MIME header elements
  • imap_base64() - Decode BASE64 encoded text
  • imap_qprint() - Convert a quoted-printable string to an 8 bit string

iconv_mime_decode_headers
iconv_mime_encode
iconv


Composes a MIME header field

iconv_mime_decode
iconv_set_encoding
iconv
PHP Manual

iconv_mime_encode

(PHP 5)

iconv_mime_encode — Composes a MIME header field

Описание

string iconv_mime_encode ( string $field_name , string $field_value [, array $preferences = NULL ] )

Composes and returns a string that represents a valid MIME header field, which looks like the following:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
In the above example, "Subject" is the field name and the portion that begins with "=?ISO-8859-1?..." is the field value.

Список параметров

field_name

The field name.

field_value

The field value.

preferences

You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter preferences. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.

Configuration items supported by iconv_mime_encode()
Item | Type | Description | Default value | Example
scheme | string | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B
input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_encoding ini setting. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Specifies the character set to use to compose the MIME header. | iconv.internal_encoding | UTF-8
line-length | integer | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter, according to » RFC2822 - Internet Message Format. If not given, the length will be limited to 76 characters. | 76 | 996
line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n

Возвращаемые значения

Returns an encoded MIME field on success, or FALSE if an error occurs during the encoding.

Примеры

Пример #1 iconv_mime_encode() example

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Смотрите также

  • imap_binary() - Convert an 8bit string to a base64 string
  • mb_encode_mimeheader() - Encode string for MIME header
  • imap_8bit() - Конвертирует 8-битную строку в quoted-printable строку
  • quoted_printable_encode() - Кодирует 8-битную строку в с помощью метода quoted-printable

iconv_mime_decode
iconv_set_encoding
iconv


Устанавливает значение одной из внутренних переменных

iconv_mime_encode
iconv_strlen
iconv
PHP Manual

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_set_encoding — Устанавливает значение одной из внутренних переменных

Описание

bool iconv_set_encoding ( string $type , string $charset )

Изменяет значение внутренней переменной, указанной параметром type, на charset.

Список параметров

type

Возможные значения параметра type:

  • input_encoding
  • output_encoding
  • internal_encoding

charset

Кодировка.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования iconv_set_encoding()

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "WINDOWS-1251");
?>

Смотрите также

  • iconv_get_encoding() - Получает текущее значение настроек преобразования кодировок
  • ob_iconv_handler() - Convert character encoding as output buffer handler

iconv_mime_encode
iconv_strlen
iconv


Возвращает количество символов в строке

iconv_set_encoding
iconv_strpos
iconv
PHP Manual

iconv_strlen

(PHP 5)

iconv_strlen — Возвращает количество символов в строке

Описание

int iconv_strlen ( string $str [, string $charset = ini_get("iconv.internal_encoding") ] )

В отличие от strlen(), iconv_strlen() учитывает кодировку строки. Длина строки не обязательно будет соответствовать количеству байт в ней, так как в различных кодировках различные символы кодируются различным количеством байт, например, юникод может быть и двух-, и четырёхбайтным.

Список параметров

str

Строка.

charset

Если параметр charset опущен, предполагается, что кодировка строки str эквивалентна значению iconv.internal_encoding.

Возвращаемые значения

Возвращает количество символов в str как целое число.

Смотрите также

  • strlen() - Возвращает длину строки
  • mb_strlen() - Get string length

iconv_set_encoding
iconv_strpos
iconv


Возвращает позицию первого вхождения подстроки

iconv_strlen
iconv_strrpos
iconv
PHP Manual

iconv_strpos

(PHP 5)

iconv_strpos — Возвращает позицию первого вхождения подстроки

Описание

int iconv_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Возвращает позицию первого вхождения подстроки needle в строке haystack.

В отличие от strpos(), iconv_strpos() возвращает смещение перед искомой строкой в символах, а не в байтах. Количество символов трактуется в зависимости от указанной параметром charset кодировки.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Искомая подстрока.

offset

Необязательный параметр offset позволяет указать, с какого по счёту символа строки начинать поиск.

charset

Если параметр charset не указан, то подразумевается, что string имеет кодировку iconv.internal_encoding.

Если haystack или needle не являются строками, они будут преобразованы в строку и применены как код символа.

Возвращаемые значения

Возвращает номер позиции первого вхождения строки needle в haystack.

Если строка needle не найдена, iconv_strpos() возвращает FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Смотрите также

  • strpos() - Возвращает позицию первого вхождения подстроки
  • iconv_strrpos() - Возвращает позицию последнего вхождения подстроки
  • mb_strpos() - Find position of first occurrence of string in a string

iconv_strlen
iconv_strrpos
iconv


Возвращает позицию последнего вхождения подстроки

iconv_strpos
iconv_substr
iconv
PHP Manual

iconv_strrpos

(PHP 5)

iconv_strrpos — Возвращает позицию последнего вхождения подстроки

Описание

int iconv_strrpos ( string $haystack , string $needle [, string $charset = ini_get("iconv.internal_encoding") ] )

Находит последнюю позицию подстроки needle в строке haystack.

В отличие от strrpos(), iconv_strrpos() возвращает смещение перед искомой строкой в символах, а не в байтах. Количество символов трактуется в зависимости от указанной параметром charset кодировки.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Искомая подстрока.

charset

Если параметр charset не указан, то подразумевается, что string имеет кодировку iconv.internal_encoding.

Если haystack или needle не являются строками, они будут преобразованы в строку и применены как код символа.

Возвращаемые значения

Возвращает номер позиции последнего вхождения строки needle в haystack.

Если строка needle не найдена, iconv_strrpos() возвращает FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Смотрите также

  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • iconv_strpos() - Возвращает позицию первого вхождения подстроки
  • mb_strrpos() - Find position of last occurrence of a string in a string

iconv_strpos
iconv_substr
iconv


Получение части строки

iconv_strrpos
iconv
iconv
PHP Manual

iconv_substr

(PHP 5)

iconv_substr — Получение части строки

Описание

string iconv_substr ( string $str , int $offset [, int $length = iconv_strlen($str, $charset) [, string $charset = ini_get("iconv.internal_encoding") ]] )

Получает часть строки str, определенную параметрами offset и length.

Список параметров

str

Изначальная строка.

offset

Если offset неотрицателен, iconv_substr() получает часть строки str начиная с символа с порядковым номером offset (нумерация начинается с нуля).

Если offset отрицателен, iconv_substr() получает часть строки начиная с позиции, отстоящую от конца строки str на offset символов.

length

Если length задан и положителен, возвращаемое значение содержит не более length символов, начиная с offset (зависит от длины строки string).

Если указан отрицательный length, iconv_substr() получает часть строки str начиная с offset символа и до символа, отстоящего от конца строки на length символов. В случае, если offset также отрицателен, стартовая позиция вычисляется заранее в соответствии с вышеописанным правилом.

charset

Если параметр charset не указан, предполагается, что строка string имеет кодировку iconv.internal_encoding.

Обратите внимание, что и offset, и length основываются на размере символа, рассчитанного исходя из кодировки текста, в то время как схожая функция substr() всегда рассматривает их побайтовое смещение.

Возвращаемые значения

Возвращает часть строки str, определенную параметрами offset и length.

Если строка str имеет меньшую длину, чем параметр offset, будет возвращено FALSE.

Смотрите также

  • substr() - Возвращает подстроку
  • mb_substr() - Возвращает часть строки
  • mb_strcut() - Get part of string

iconv_strrpos
iconv
iconv


Преобразование строки в требуемую кодировку

iconv_substr
ob_iconv_handler
iconv
PHP Manual

iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Преобразование строки в требуемую кодировку

Описание

string iconv ( string $in_charset , string $out_charset , string $str )

Преобразует набор символов строки str из кодировки in_charset в out_charset.

Список параметров

in_charset

Кодировка входной строки.

out_charset

Требуемая на выходе кодировка.

Если добавить к out_charset строку //TRANSLIT, включается режим транслитерации. Это значит, что в случае, если символ не может быть представлен в требуемой кодировке, он будет заменен на один или несколько нескольких наиболее близких по внешнему виду символов. Если добавить строку //IGNORE, то символы, которые не могут быть представлены в требуемой кодировке, будут удалены. В случае отсутствия вышеуказанных параметров при наличии некорректных символов строка str будет обрезана до первого такого символа, и будет сгенерирована ошибка уровня E_NOTICE.

str

Строка, которую необходимо преобразовать.

Возвращаемые значения

Возвращает преобразованную строку или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования iconv()

<?php
$text = "This is the Euro symbol '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>

Результатом выполнения данного примера будет что-то подобное:

Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE   : This is the Euro symbol ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
This is the Euro symbol '

iconv_substr
ob_iconv_handler
iconv
PHP Manual


Convert character encoding as output buffer handler

iconv
intl
iconv
PHP Manual

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler — Convert character encoding as output buffer handler

Описание

string ob_iconv_handler ( string $contents , int $status )

Converts the string encoded in internal_encoding to output_encoding.

internal_encoding and output_encoding should be defined in the php.ini file or in iconv_set_encoding().

Список параметров

See ob_start() for information about this handler parameters.

Возвращаемые значения

See ob_start() for information about this handler return values.

Примеры

Пример #1 ob_iconv_handler() example:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // start output buffering
?>

Смотрите также

  • iconv_get_encoding() - Получает текущее значение настроек преобразования кодировок
  • iconv_set_encoding() - Устанавливает значение одной из внутренних переменных
  • output-control functions

iconv
intl
iconv


Internationalization Functions

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage of this extension
  • Collator — The Collator class
    • Collator::asort — Sort array maintaining index association
    • Collator::compare — Compare two Unicode strings
    • Collator::__construct — Create a collator
    • Collator::create — Create a collator
    • Collator::getAttribute — Get collation attribute value
    • Collator::getErrorCode — Get collator's last error code
    • Collator::getErrorMessage — Get text for collator's last error code
    • Collator::getLocale — Get the locale name of the collator
    • Collator::getSortKey — Get sorting key for a string
    • Collator::getStrength — Get current collation strength
    • Collator::setAttribute — Set collation attribute
    • Collator::setStrength — Set collation strength
    • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
    • Collator::sort — Sort array using specified collator
  • NumberFormatter — The NumberFormatter class
    • NumberFormatter::create — Create a number formatter
    • NumberFormatter::formatCurrency — Format a currency value
    • NumberFormatter::format — Format a number
    • NumberFormatter::getAttribute — Get an attribute
    • NumberFormatter::getErrorCode — Get formatter's last error code.
    • NumberFormatter::getErrorMessage — Get formatter's last error message.
    • NumberFormatter::getLocale — Get formatter locale
    • NumberFormatter::getPattern — Get formatter pattern
    • NumberFormatter::getSymbol — Get a symbol value
    • NumberFormatter::getTextAttribute — Get a text attribute
    • NumberFormatter::parseCurrency — Parse a currency number
    • NumberFormatter::parse — Parse a number
    • NumberFormatter::setAttribute — Set an attribute
    • NumberFormatter::setPattern — Set formatter pattern
    • NumberFormatter::setSymbol — Set a symbol value
    • NumberFormatter::setTextAttribute — Set a text attribute
  • Locale — The Locale class
    • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
    • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
    • Locale::filterMatches — Checks if a language tag filter matches with locale
    • Locale::getAllVariants — Gets the variants for the input locale
    • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
    • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
    • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
    • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
    • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
    • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
    • Locale::getKeywords — Gets the keywords for the input locale
    • Locale::getPrimaryLanguage — Gets the primary language for the input locale
    • Locale::getRegion — Gets the region for the input locale
    • Locale::getScript — Gets the script for the input locale
    • Locale::lookup — Searches the language tag list for the best match to the language
    • Locale::parseLocale — Returns a key-value array of locale ID subtag elements.
    • Locale::setDefault — sets the default runtime locale
  • Normalizer — The Normalizer class
    • Normalizer::isNormalized — Checks if the provided string is already in the specified normalization form.
    • Normalizer::normalize — Normalizes the input provided and returns the normalized string
  • MessageFormatter — The MessageFormatter class
    • MessageFormatter::create — Constructs a new Message Formatter
    • MessageFormatter::formatMessage — Quick format message
    • MessageFormatter::format — Format the message
    • MessageFormatter::getErrorCode — Get the error code from last operation
    • MessageFormatter::getErrorMessage — Get the error text from the last operation
    • MessageFormatter::getLocale — Get the locale for which the formatter was created.
    • MessageFormatter::getPattern — Get the pattern used by the formatter
    • MessageFormatter::parseMessage — Quick parse input string
    • MessageFormatter::parse — Parse input string according to pattern
    • MessageFormatter::setPattern — Set the pattern used by the formatter
  • IntlDateFormatter — The IntlDateFormatter class
    • IntlDateFormatter::create — Create a date formatter
    • IntlDateFormatter::format — Format the date/time value as a string
    • IntlDateFormatter::getCalendar — Get the calendar used for the IntlDateFormatter
    • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
    • IntlDateFormatter::getErrorCode — Get the error code from last operation
    • IntlDateFormatter::getErrorMessage — Get the error text from the last operation.
    • IntlDateFormatter::getLocale — Get the locale used by formatter
    • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
    • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
    • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
    • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
    • IntlDateFormatter::localtime — Parse string to a field-based time value
    • IntlDateFormatter::parse — Parse string to a timestamp value
    • IntlDateFormatter::setCalendar — sets the calendar used to the appropriate calendar, which must be
    • IntlDateFormatter::setLenient — Set the leniency of the parser
    • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
    • IntlDateFormatter::setTimeZoneId — Sets the time zone to use
  • ResourceBundle — The ResourceBundle class
    • ResourceBundle::count — Get number of elements in the bundle
    • ResourceBundle::create — Create a resource bundle
    • ResourceBundle::getErrorCode — Get bundle's last error code.
    • ResourceBundle::getErrorMessage — Get bundle's last error message.
    • ResourceBundle::get — Get data from the bundle
    • ResourceBundle::getLocales — Get supported locales
  • Spoofchecker — The Spoofchecker class
    • Spoofchecker::areConfusable — Checks if a given text contains any confusable characters
    • Spoofchecker::__construct — Constructor
    • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales — Locales to use when running checks
    • Spoofchecker::setChecks — Set the checks to run
  • Transliterator — The Transliterator class
    • Transliterator::__construct — Construct a Transliterator object
    • Transliterator::create — Create a transliterator
    • Transliterator::createFromRules — Create transliterator from rules
    • Transliterator::createInverse — Create an inverse transliterator
    • Transliterator::getErrorCode — Get last error code
    • Transliterator::getErrorMessage — Get last error message
    • Transliterator::listIDs — Get transliterator IDs
    • Transliterator::transliterate — Transliterate a string
  • Grapheme Функции
    • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
    • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
    • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
    • grapheme_strlen — Get string length in grapheme units
    • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
    • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
    • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
    • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.
    • grapheme_substr — Return part of a string
  • IDN Функции
    • idn_to_ascii — Convert domain name to IDNA ASCII form.
    • idn_to_unicode — Псевдоним idn_to_utf8
    • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.
  • intl Функции
    • intl_error_name — Get symbolic name for a given error code
    • intl_get_error_code — Get the last error code
    • intl_get_error_message — Get description of the last error
    • intl_is_failure — Check whether the given error code indicates failure
ob_iconv_handler
Введение
Поддержка языков и кодировок


Введение

Internationalization extension (further is referred as Intl) is a wrapper for » ICU library, enabling PHP programmers to perform » UCA-conformant collation and date/time/number/currency formatting in their scripts.

It tends to closely follow ICU APIs, so that people having experience working with ICU in either C/C++ or Java could easily use the PHP API. Also, this way ICU documentation would be useful to understand various ICU functions.

Intl consists of several modules, each of them exposes the corresponding ICU API:

  • Collator: provides string comparison capability with support for appropriate locale-sensitive sort orderings.
  • Number Formatter: allows to display number according to the localized format or given pattern or set of rules, and to parse strings into numbers.
  • Message Formatter: allows to create messages incorporating data (such as numbers or dates) formatted according to given pattern and locale rules, and parse messages extracting data from them.
  • Normalizer: provides a function to transform text into one of the Unicode normalization forms, and provides a routine to test if a given string is already normalized.
  • Locale: provides interaction with locale identifiers in the form of functions to get subtags from locale identifier; parse, compose, match(lookup and filter) locale identifiers.

Links

  • » Miscellaneous ICU docs

  • » ICU User Guide

  • » Unicode Collation Algorithm

intl
Установка и настройка
intl


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
intl


Требования

To build the extension you need to install the » ICU library of version 3.6+.

This extension is bundled with PHP as of PHP version 5.3.0. Alternatively, the PECL version of this extension may be used with all PHP versions greater than 5.2.0 (5.2.4+ recommended).

Установка и настройка
Установка
Установка и настройка


Установка

This extension may be installed using the bundled version as of PHP 5.3.0, or as a PECL extension as of PHP 5.2.0. In other words, there are two methods to install the intl extension.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/intl.

Alternatively, --enable-intl will enable the bundled version while compiling PHP.

If your ICU is installed to a non-standard directory then you might want to specify its location in LD_LIBRARY_PATH environment variable so that dynamic linker can find it:

$ export LD_LIBRARY_PATH=/opt/icu/lib

Otherwise, if PHP and ICU are installed to their default locations, then the additional options to `configure' are not needed.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Intl Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
intl.default_locale |  | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

intl.default_locale string

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

INTL_MAX_LOCALE_LEN (integer)
Limit on locale length, set to 80 in PHP code. Locale names longer than this limit will not be accepted.
IDNA_DEFAULT (integer)
Prohibit processing of unassigned codepoints in the input for IDN functions and do not check if the input conforms to domain name ASCII rules.
IDNA_ALLOW_UNASSIGNED (integer)
Allow processing of unassigned codepoints in the input for IDN functions.
IDNA_USE_STD3_RULES (integer)
Check if the input for IDN functions conforms to domain name ASCII rules.

Типы ресурсов
Примеры
intl


Примеры

Содержание

  • Basic usage of this extension
Предопределенные константы
Basic usage of this extension
intl


Basic usage of this extension

Each module provides two kind of APIs: a procedural one and an object oriented one. Both are actually identical and described in the corresponding document.

Замечание:

All input strings must be in UTF-8 encoding. All output strings are also in UTF-8.

Пример #1 Example of using the procedural API

<?php
$coll  = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");
?>

Пример #2 Example of using the object-oriented API

<?php
$coll = new Collator('en_US');
$al   = $coll->getLocale(Locale::ACTUAL_LOCALE);
echo "Actual locale: $al\n";

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->format(1234567);
?>
Примеры
Collator
Примеры


The Collator class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Provides string comparison capability with support for appropriate locale-sensitive sort orderings.

Обзор классов

Collator {
/* Методы */
__construct ( string $locale )
bool asort ( array &$arr [, int $sort_flag ] )
int compare ( string $str1 , string $str2 )
static Collator create ( string $locale )
int getAttribute ( int $attr )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $type ] )
string getSortKey ( string $str )
int getStrength ( void )
bool setAttribute ( int $attr , int $val )
bool setStrength ( int $strength )
bool sortWithSortKeys ( array &$arr )
bool sort ( array &$arr [, int $sort_flag ] )
}

Предопределенные константы

Collator::FRENCH_COLLATION (integer)

Sort strings with different accents from the back of the string. This attribute is automatically set to On for the French locales and a few others. Users normally would not need to explicitly set this attribute. There is a string comparison performance cost when it is set On, but sort key length is unaffected. Possible values are:

  • Collator::ON
  • Collator::OFF(default)
  • Collator::DEFAULT_VALUE

Пример #1 FRENCH_COLLATION rules

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (integer)

The Alternate attribute is used to control the handling of the so called variable characters in the UCA: whitespace, punctuation and symbols. If Alternate is set to NonIgnorable (N), then differences among these characters are of the same importance as differences among letters. If Alternate is set to Shifted (S), then these characters are of only minor importance. The Shifted value is often used in combination with Strength set to Quaternary. In such a case, whitespace, punctuation, and symbols are considered when comparing strings, but only if all other aspects of the strings (base letters, accents, and case) are identical. If Alternate is not set to Shifted, then there is no difference between a Strength of 3 and a Strength of 4. For more information and examples, see Variable_Weighting in the » UCA. The reason the Alternate values are not simply On and Off is that additional Alternate values may be added in the future. The UCA option Blanked is expressed with Strength set to 3, and Alternate set to Shifted. The default for most locales is NonIgnorable. If Shifted is selected, it may be slower if there are many strings that are the same except for punctuation; sort key length will not be affected unless the strength level is also increased.

Possible values are:

  • Collator::NON_IGNORABLE(default)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Пример #2 ALTERNATE_HANDLING rules

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (integer)

The Case_First attribute is used to control whether uppercase letters come before lowercase letters or vice versa, in the absence of other differences in the strings. The possible values are Uppercase_First (U) and Lowercase_First (L), plus the standard Default and Off. There is almost no difference between the Off and Lowercase_First options in terms of results, so typically users will not use Lowercase_First: only Off or Uppercase_First. (People interested in the detailed differences between X and L should consult the Collation Customization). Specifying either L or U won't affect string comparison performance, but will affect the sort key length.

Possible values are:

  • Collator::OFF(default)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Пример #3 CASE_FIRST rules

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (integer)

The Case_Level attribute is used when ignoring accents but not case. In such a situation, set Strength to be Primary, and Case_Level to be On. In most locales, this setting is Off by default. There is a small string comparison performance and sort key impact if this attribute is set to be On.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Пример #4 CASE_LEVEL rules

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (integer)

The Normalization setting determines whether text is thoroughly normalized or not in comparison. Even if the setting is off (which is the default for many locales), text as represented in common usage will compare correctly (for details, see UTN #5). Only if the accent marks are in noncanonical order will there be a problem. If the setting is On, then the best results are guaranteed for all possible text input. There is a medium string comparison performance cost if this attribute is On, depending on the frequency of sequences that require normalization. There is no significant effect on sort key length. If the input text is known to be in NFD or NFKD normalization forms, there is no need to enable this Normalization option.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (integer)

The ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions. For more detailed information, see collator_set_strength() chapter.

Possible values are:

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(default)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (integer)

Compatibility with JIS x 4061 requires the introduction of an additional level to distinguish Hiragana and Katakana characters. If compatibility with that standard is required, then this attribute should be set On, and the strength set to Quaternary. This will affect sort key length and string comparison string comparison performance.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (integer)

When turned on, this attribute generates a collation key for the numeric value of substrings of digits. This is a way to get '100' to sort AFTER '2'.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (integer)
Collator::PRIMARY (integer)
Collator::SECONDARY (integer)
Collator::TERTIARY (integer)
Collator::DEFAULT_STRENGTH (integer)
Collator::QUATERNARY (integer)
Collator::IDENTICAL (integer)
Collator::OFF (integer)
Collator::ON (integer)
Collator::SHIFTED (integer)
Collator::NON_IGNORABLE (integer)
Collator::LOWER_FIRST (integer)
Collator::UPPER_FIRST (integer)

Содержание

  • Collator::asort — Sort array maintaining index association
  • Collator::compare — Compare two Unicode strings
  • Collator::__construct — Create a collator
  • Collator::create — Create a collator
  • Collator::getAttribute — Get collation attribute value
  • Collator::getErrorCode — Get collator's last error code
  • Collator::getErrorMessage — Get text for collator's last error code
  • Collator::getLocale — Get the locale name of the collator
  • Collator::getSortKey — Get sorting key for a string
  • Collator::getStrength — Get current collation strength
  • Collator::setAttribute — Set collation attribute
  • Collator::setStrength — Set collation strength
  • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
  • Collator::sort — Sort array using specified collator
Basic usage of this extension
Collator::asort
intl


Sort array maintaining index association

Collator
Collator::compare
Collator
PHP Manual

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Sort array maintaining index association

Описание

Object oriented style

bool Collator::asort ( array &$arr [, int $sort_flag ] )

Procedural style

bool collator_asort ( Collator $coll , array &$arr [, int $sort_flag ] )

This function sorts an array such that array indices maintain their correlation with the array elements they are associated with. This is used mainly when sorting associative arrays where the actual element order is significant. Array elements will have sort order according to current locale rules.

Equivalent to standard PHP asort().

Список параметров

coll

Collator object.

arr

Array of strings to sort.

sort_flag

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default $sort_flag value is Collator::SORT_REGULAR. It is also used if an invalid $sort_flag value has been specified.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 collator_asort()example

<?php
$coll = collator_create( 'en_US' );
$arr = array(
     'a' => '100',
     'b' => '50',
     'c' => '7'
);
collator_asort( $coll, $arr, Collator::SORT_NUMERIC );
var_export( $arr );

collator_asort( $coll, $arr, Collator::SORT_STRING );
var_export( $arr );
?>

Результат выполнения данного примера:

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Смотрите также

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator
Collator::compare
Collator


Compare two Unicode strings

Collator::asort
Collator::__construct
Collator
PHP Manual

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — Compare two Unicode strings

Описание

Object oriented style

int Collator::compare ( string $str1 , string $str2 )

Procedural style

int collator_compare ( Collator $coll , string $str1 , string $str2 )

Compare two Unicode strings according to collation rules.

Список параметров

coll

Collator object.

str1

The first string to compare.

str2

The second string to compare.

Возвращаемые значения

Return comparison result:

  • 1 if str1 is greater than str2 ;

  • 0 if str1 is equal to str2;

  • -1 if str1 is less than str2 .

On error boolean FALSE is returned.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 collator_compare()example

<?php
$s1 = 'Hello';
$s2 = 'hello';

$coll = collator_create( 'en_US' );
$res  = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
    echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
    echo "s1 is greater than s2\n";
} else if( $res < 0 ) {
    echo "s1 is less than s2\n";
} else {
    echo "s1 is equal to s2\n";
}
?>

Результат выполнения данного примера:

s1 is greater than s2

Смотрите также

  • collator_sort() - Sort array using specified collator

Collator::asort
Collator::__construct
Collator


Create a collator

Collator::compare
Collator::create
Collator
PHP Manual

Collator::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::__construct — Create a collator

Описание

Collator::__construct() ( string $locale )

Creates a new instance of Collator.

Список параметров

locale

The locale whose collation rules should be used. Special values for locales can be passed in - if null is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, UCA rules will be used.

The Locale attribute is typically the most important attribute for correct sorting and matching, according to the user expectations in different countries and regions. The default » UCA ordering will only sort a few languages such as Dutch and Portuguese correctly ("correctly" meaning according to the normal expectations for users of the languages). Otherwise, you need to supply the locale to UCA in order to properly collate text for a given language. Thus a locale needs to be supplied so as to choose a collator that is correctly tailored for that locale. The choice of a locale will automatically preset the values for all of the attributes to something that is reasonable for that locale. Thus most of the time the other attributes do not need to be explicitly set. In some cases, the choice of locale will make a difference in string comparison performance and/or sort key length.

Возвращаемые значения

Returns Collator instance.

Ошибки

Returns an "empty" object on error. You can use intl_get_error_code() and/or intl_get_error_message() to know what happened.

Примеры

Пример #1 Collator::__construct() example

<?php
$coll = new Collator( 'en_CA' );
?>

Смотрите также

  • Collator::create() - Create a collator
  • collator_create() - Create a collator

Collator::compare
Collator::create
Collator


Create a collator

Collator::__construct
Collator::getAttribute
Collator
PHP Manual

Collator::create

collator_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::create -- collator_create — Create a collator

Описание

Object oriented style

static Collator Collator::create ( string $locale )

Procedural style

Collator collator_create ( string $locale )

The strings will be compared using the options already specified.

Список параметров

locale

The locale containing the required collation rules. Special values for locales can be passed in - if null is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, » UCA rules will be used.

Возвращаемые значения

Return new instance of Collator object, or NULL on error.

Примеры

Пример #1 collator_create() example

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
    printf( "Collator creation failed: %s\n", intl_get_error_message() );
    exit( 1 );
}
?>

Смотрите также

  • Collator::__construct() - Create a collator

Collator::__construct
Collator::getAttribute
Collator


Get collation attribute value

Collator::create
Collator::getErrorCode
Collator
PHP Manual

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Get collation attribute value

Описание

Object oriented style

int Collator::getAttribute ( int $attr )

Procedural style

int collator_get_attribute ( Collator $coll , int $attr )

Get a value of an integer collator attribute.

Список параметров

coll

Collator object.

attr

Attribute to get value for.

Возвращаемые значения

Attribute value, or boolean FALSE on error.

Примеры

Пример #1 collator_get_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
    // Handle error.
}
?>

Смотрите также

  • Collator constants
  • collator_set_attribute() - Set collation attribute
  • collator_get_strength() - Get current collation strength

Collator::create
Collator::getErrorCode
Collator


Get collator's last error code

Collator::getAttribute
Collator::getErrorMessage
Collator
PHP Manual

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Get collator's last error code

Описание

Object oriented style

int Collator::getErrorCode ( void )

Procedural style

int collator_get_error_code ( Collator $coll )

Список параметров

coll

Collator object.

Возвращаемые значения

Error code returned by the last Collator API function call.

Примеры

Пример #1 collator_get_error_code() example

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
        handle_error( collator_get_error_code() );
?>

Смотрите также

  • collator_get_error_message() - Get text for collator's last error code

Collator::getAttribute
Collator::getErrorMessage
Collator


Get text for collator's last error code

Collator::getErrorCode
Collator::getLocale
Collator
PHP Manual

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Get text for collator's last error code

Описание

Object oriented style

string Collator::getErrorMessage ( void )

Procedural style

string collator_get_error_message ( Collator $coll )

Retrieves the message for the last error.

Список параметров

coll

Collator object.

Возвращаемые значения

Description of an error occurred in the last Collator API function call.

Примеры

Пример #1 collator_get_error_message() example

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
    echo collator_get_error_message( $coll );
}
?>

Смотрите также

  • collator_get_error_code() - Get collator's last error code

Collator::getErrorCode
Collator::getLocale
Collator


Get the locale name of the collator

Collator::getErrorMessage
Collator::getSortKey
Collator
PHP Manual

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Get the locale name of the collator

Описание

Object oriented style

string Collator::getLocale ([ int $type ] )

Procedural style

string collator_get_locale ( Collator $coll , int $type )

Get collector locale name.

Список параметров

coll

Collator object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE and Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Возвращаемые значения

Real locale name from which the collation data comes. If the collator was instantiated from rules or an error occurred, returns boolean FALSE.

Примеры

Пример #1 collator_get_locale() example

<?php
$coll    = collator_create( 'en_US_California' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
printf( "Valid locale name: %s\nActual locale name: %s\n",
         $res_req, $res_val, $res_act );
?>

Результат выполнения данного примера:

Requested locale name: en_US_California
Valid locale name: en_US
Actual locale name: en

Смотрите также

  • collator_create() - Create a collator

Collator::getErrorMessage
Collator::getSortKey
Collator


Get sorting key for a string

Collator::getLocale
Collator::getStrength
Collator
PHP Manual

Collator::getSortKey

collator_get_sort_key

(Информация о версии неизвестна, возможно, только в SVN)

Collator::getSortKey -- collator_get_sort_key — Get sorting key for a string

Описание

Object oriented style

string Collator::getSortKey ( string $str )

Procedural style

string collator_get_sort_key ( Collator $coll , string $str )

Return collation key for a string.

Список параметров

coll

Collator object.

str

The string to produce the key from.

Возвращаемые значения

Returns the collation key for the string. Collation keys can be compared directly instead of strings.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 collator_get_sort_key()example

<?php
$s1 = 'Hello';

$coll = collator_create( 'en_US' );
$res  = collator_get_sort_key( $coll, $s1);

echo urlencode($res);
?>

Результат выполнения данного примера:

71%3F%3FE%01%09%01%8F%08%00

Смотрите также

  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator::getLocale
Collator::getStrength
Collator


Get current collation strength

Collator::getSortKey
Collator::setAttribute
Collator
PHP Manual

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Get current collation strength

Описание

Object oriented style

int Collator::getStrength ( void )

Procedural style

int collator_get_strength ( Collator $coll )

Список параметров

coll

Collator object.

Возвращаемые значения

Returns current collation strength, or boolean FALSE on error.

Примеры

Пример #1 collator_get_strength() example

<?php
$coll     = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Смотрите также

  • Collator constants
  • collator_set_strength() - Set collation strength
  • collator_get_attribute() - Get collation attribute value

Collator::getSortKey
Collator::setAttribute
Collator


Set collation attribute

Collator::getStrength
Collator::setStrength
Collator
PHP Manual

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Set collation attribute

Описание

Object oriented style

bool Collator::setAttribute ( int $attr , int $val )

Procedural style

bool collator_set_attribute ( Collator $coll , int $attr , int $val )

Список параметров

coll

Collator object.

attr

Attribute.

val

Attribute value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 collator_set_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val  = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if ($val === false) {
    // Handle error.
} elseif ($val === Collator::ON) {
    // Do something useful.
}
?>

Смотрите также

  • Collator constants
  • collator_get_attribute() - Get collation attribute value
  • collator_set_strength() - Set collation strength

Collator::getStrength
Collator::setStrength
Collator


Set collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator
PHP Manual

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Set collation strength

Описание

Object oriented style

bool Collator::setStrength ( int $strength )

Procedural style

bool collator_set_strength ( Collator $coll , int $strength )

The » ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions.

  1. Primary Level: Typically, this is used to denote differences between base characters (for example, "a" < "b"). It is the strongest difference. For example, dictionaries are divided into different sections by base character. This is also called the level1 strength.

  2. Secondary Level: Accents in the characters are considered secondary differences (for example, "as" < "às" < "at"). Other differences between letters can also be considered secondary differences, depending on the language. A secondary difference is ignored when there is a primary difference anywhere in the strings. This is also called the level2 strength.

    Замечание:

    Note: In some languages (such as Danish), certain accented letters are considered to be separate base characters. In most languages, however, an accented letter only has a secondary difference from the unaccented version of that letter.

  3. Tertiary Level: Upper and lower case differences in characters are distinguished at the tertiary level (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base form on the tertiary level (such as "A" and " "). Another example is the difference between large and small Kana. A tertiary difference is ignored when there is a primary or secondary difference anywhere in the strings. This is also called the level3 strength.

  4. Quaternary Level: When punctuation is ignored (see Ignoring Punctuations ) at level 13, an additional level can be used to distinguish words with and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored when there is a primary, secondary or tertiary difference. This is also known as the level4 strength. The quaternary level should only be used if ignoring punctuation is required or when processing Japanese text (see Hiragana processing).

  5. Identical Level: When all other levels are equal, the identical level is used as a tiebreaker. The Unicode code point values of the NFD form of each string are compared at this level, just in case there is no difference at levels 14. For example, Hebrew cantillation marks are only distinguished at this level. This level should be used sparingly, as only code point values differences between two strings is an extremely rare occurrence. Using this level substantially decreases the performance for both incremental comparison and sort key generation (as well as increasing the sort key length). It is also known as level 5 strength.

For example, people may choose to ignore accents or ignore accents and case when searching for text. Almost all characters are distinguished by the first three levels, and in most locales the default value is thus Tertiary. However, if Alternate is set to be Shifted, then the Quaternary strength can be used to break ties among whitespace, punctuation, and symbols that would otherwise be ignored. If very fine distinctions among characters are required, then the Identical strength can be used (for example, Identical Strength distinguishes between the Mathematical Bold Small A and the Mathematical Italic Small A.). However, using levels higher than Tertiary the Identical strength result in significantly longer sort keys, and slower string comparison performance for equal strings.

Список параметров

coll

Collator object.

strength

Strength to set.

Possible values are:

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 collator_set_strength() example

<?php
$arr  = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Sort array using default strength.
collator_sort( $coll, $arr );
var_export( $arr );

// Sort array using primary strength.
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Результат выполнения данного примера:

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Смотрите также

  • Collator constants
  • collator_get_strength() - Get current collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator


Sort array using specified collator and sort keys

Collator::setStrength
Collator::sort
Collator
PHP Manual

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Sort array using specified collator and sort keys

Описание

Object oriented style

bool Collator::sortWithSortKeys ( array &$arr )

Procedural style

bool collator_sort_with_sort_keys ( Collator $coll , array &$arr )

Similar to collator_sort() but uses ICU sorting keys produced by ucol_getSortKey() to gain more speed on large arrays.

Список параметров

coll

Collator object.

arr

Array of strings to sort

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 collator_sort_with_sort_keys() example

<?php
$arr  = array( 'Köpfe', 'Kypper', 'Kopfe' );
$coll = collator_create( 'sv' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

Результат выполнения данного примера:

array (
  0 => 'Kopfe',
  1 => 'Kypper',
  2 => 'Köpfe',
)

Смотрите также

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_asort() - Sort array maintaining index association

Collator::setStrength
Collator::sort
Collator


Sort array using specified collator

Collator::sortWithSortKeys
NumberFormatter
Collator
PHP Manual

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Sort array using specified collator

Описание

Object oriented style

bool Collator::sort ( array &$arr [, int $sort_flag ] )

Procedural style

bool collator_sort ( Collator $coll , array &$arr [, int $sort_flag ] )

This function sorts an array according to current locale rules.

Equivalent to standard PHP sort() .

Список параметров

coll

Collator object.

arr

Array of strings to sort.

sort_flag

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid sort_flag value has been specified.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 collator_sort() example

<?php
$coll = collator_create( 'en_US' );
$arr  = array( 'at', 'às', 'as' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Результат выполнения данного примера:

array (
  0 => 'at',
  1 => 'às',
  2 => 'as',
)array (
  0 => 'as',
  1 => 'às',
  2 => 'at',
)

Смотрите также

  • Collator constants
  • collator_asort() - Sort array maintaining index association
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator::sortWithSortKeys
NumberFormatter
Collator


The NumberFormatter class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Programs store and operate on numbers using a locale-independent binary representation. When displaying or printing a number it is converted to a locale-specific string. For example, the number 12345.67 is "12,345.67" in the US, "12 345,67" in France and "12.345,67" in Germany.

By invoking the methods provided by the NumberFormatter class, you can format numbers, currencies, and percentages according to the specified or default locale. NumberFormatter is locale-sensitive so you need to create a new NumberFormatter for each locale. NumberFormatter methods format primitive-type numbers, such as double and output the number as a locale-specific string.

For currencies you can use currency format type to create a formatter that returns a string with the formatted number and the appropriate currency sign. Of course, the NumberFormatter class is unaware of exchange rates so, the number output is the same regardless of the specified currency. This means that the same number has different monetary values depending on the currency locale. If the number is 9988776.65 the results will be:

  • 9 988 776,65 € in France
  • 9.988.776,65 € in Germany
  • $9,988,776.65 in the United States

In order to format percentages, create a locale-specific formatter with percentage format type. With this formatter, a decimal fraction such as 0.75 is displayed as 75%.

For more complex formatting, like spelled-out numbers, the rule-based number formatters are used.

Обзор классов

NumberFormatter {
/* Методы */
__construct ( string $locale , int $style [, string $pattern ] )
static NumberFormatter create ( string $locale , int $style [, string $pattern ] )
string formatCurrency ( float $value , string $currency )
string format ( number $value [, int $type ] )
int getAttribute ( int $attr )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $type ] )
string getPattern ( void )
string getSymbol ( int $attr )
string getTextAttribute ( int $attr )
float parseCurrency ( string $value , string &$currency [, int &$position ] )
mixed parse ( string $value [, int $type [, int &$position ]] )
bool setAttribute ( int $attr , int $value )
bool setPattern ( string $pattern )
bool setSymbol ( int $attr , string $value )
bool setTextAttribute ( int $attr , string $value )
}

Предопределенные константы

These styles are used by the numfmt_create() to define the type of the formatter.

NumberFormatter::PATTERN_DECIMAL (integer)
Decimal format defined by pattern
NumberFormatter::DECIMAL (integer)
Decimal format
NumberFormatter::CURRENCY (integer)
Currency format
NumberFormatter::PERCENT (integer)
Percent format
NumberFormatter::SCIENTIFIC (integer)
Scientific format
NumberFormatter::SPELLOUT (integer)
Spellout rule-based format
NumberFormatter::ORDINAL (integer)
Ordinal rule-based format
NumberFormatter::DURATION (integer)
Duration rule-based format
NumberFormatter::PATTERN_RULEBASED (integer)
Rule-based format defined by pattern
NumberFormatter::DEFAULT_STYLE (integer)
Default format for the locale
NumberFormatter::IGNORE (integer)
Alias for PATTERN_DECIMAL

These constants define how the numbers are parsed or formatted. They should be used as arguments to numfmt_format() and numfmt_parse().

NumberFormatter::TYPE_DEFAULT (integer)
Derive the type from variable type
NumberFormatter::TYPE_INT32 (integer)
Format/parse as 32-bit integer
NumberFormatter::TYPE_INT64 (integer)
Format/parse as 64-bit integer
NumberFormatter::TYPE_DOUBLE (integer)
Format/parse as floating point value
NumberFormatter::TYPE_CURRENCY (integer)
Format/parse as currency value

Number format attribute used by numfmt_get_attribute() and numfmt_set_attribute().

NumberFormatter::PARSE_INT_ONLY (integer)
Parse integers only.
NumberFormatter::GROUPING_USED (integer)
Use grouping separator.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (integer)
Always show decimal point.
NumberFormatter::MAX_INTEGER_DIGITS (integer)
Maximum integer digits.
NumberFormatter::MIN_INTEGER_DIGITS (integer)
Minimum integer digits.
NumberFormatter::INTEGER_DIGITS (integer)
Integer digits.
NumberFormatter::MAX_FRACTION_DIGITS (integer)
Maximum fraction digits.
NumberFormatter::MIN_FRACTION_DIGITS (integer)
Minimum fraction digits.
NumberFormatter::FRACTION_DIGITS (integer)
Fraction digits.
NumberFormatter::MULTIPLIER (integer)
Multiplier.
NumberFormatter::GROUPING_SIZE (integer)
Grouping size.
NumberFormatter::ROUNDING_MODE (integer)
Rounding Mode.
NumberFormatter::ROUNDING_INCREMENT (integer)
Rounding increment.
NumberFormatter::FORMAT_WIDTH (integer)
The width to which the output of format() is padded.
NumberFormatter::PADDING_POSITION (integer)
The position at which padding will take place. See pad position constants for possible argument values.
NumberFormatter::SECONDARY_GROUPING_SIZE (integer)
Secondary grouping size.
NumberFormatter::SIGNIFICANT_DIGITS_USED (integer)
Use significant digits.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (integer)
Minimum significant digits.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (integer)
Maximum significant digits.
NumberFormatter::LENIENT_PARSE (integer)
Lenient parse mode used by rule-based formats.

Number format text attribute used by numfmt_get_text_attribute() and numfmt_set_text_attribute().

NumberFormatter::POSITIVE_PREFIX (integer)
Positive prefix.
NumberFormatter::POSITIVE_SUFFIX (integer)
Positive suffix.
NumberFormatter::NEGATIVE_PREFIX (integer)
Negative prefix.
NumberFormatter::NEGATIVE_SUFFIX (integer)
Negative suffix.
NumberFormatter::PADDING_CHARACTER (integer)
The character used to pad to the format width.
NumberFormatter::CURRENCY_CODE (integer)
The ISO currency code.
NumberFormatter::DEFAULT_RULESET (integer)
The default rule set. This is only available with rule-based formatters.
NumberFormatter::PUBLIC_RULESETS (integer)
The public rule sets. This is only available with rule-based formatters. This is a read-only attribute. The public rulesets are returned as a single string, with each ruleset name delimited by ';' (semicolon).

Number format symbols used by numfmt_get_symbol() and numfmt_set_symbol().

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (integer)
The decimal separator.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (integer)
The grouping separator.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (integer)
The pattern separator.
NumberFormatter::PERCENT_SYMBOL (integer)
The percent sign.
NumberFormatter::ZERO_DIGIT_SYMBOL (integer)
Zero.
NumberFormatter::DIGIT_SYMBOL (integer)
Character representing a digit in the pattern.
NumberFormatter::MINUS_SIGN_SYMBOL (integer)
The minus sign.
NumberFormatter::PLUS_SIGN_SYMBOL (integer)
The plus sign.
NumberFormatter::CURRENCY_SYMBOL (integer)
The currency symbol.
NumberFormatter::INTL_CURRENCY_SYMBOL (integer)
The international currency symbol.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (integer)
The monetary separator.
NumberFormatter::EXPONENTIAL_SYMBOL (integer)
The exponential symbol.
NumberFormatter::PERMILL_SYMBOL (integer)
Per mill symbol.
NumberFormatter::PAD_ESCAPE_SYMBOL (integer)
Escape padding character.
NumberFormatter::INFINITY_SYMBOL (integer)
Infinity symbol.
NumberFormatter::NAN_SYMBOL (integer)
Not-a-number symbol.
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (integer)
Significant digit symbol.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (integer)
The monetary grouping separator.

Rounding mode values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::ROUNDING_MODE attribute.

NumberFormatter::ROUND_CEILING (integer)
Rounding mode to round towards positive infinity.
NumberFormatter::ROUND_DOWN (integer)
Rounding mode to round towards zero.
NumberFormatter::ROUND_FLOOR (integer)
Rounding mode to round towards negative infinity.
NumberFormatter::ROUND_HALFDOWN (integer)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
NumberFormatter::ROUND_HALFEVEN (integer)
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
NumberFormatter::ROUND_HALFUP (integer)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
NumberFormatter::ROUND_UP (integer)
Rounding mode to round away from zero.

Pad position values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::PADDING_POSITION attribute.

NumberFormatter::PAD_AFTER_PREFIX (integer)
Pad characters inserted after the prefix.
NumberFormatter::PAD_AFTER_SUFFIX (integer)
Pad characters inserted after the suffix.
NumberFormatter::PAD_BEFORE_PREFIX (integer)
Pad characters inserted before the prefix.
NumberFormatter::PAD_BEFORE_SUFFIX (integer)
Pad characters inserted before the suffix.

Смотрите также

  • » ICU formatting documentation
  • » ICU number formatters
  • » ICU decimal formatters
  • » ICU rule-based number formatters

Содержание

  • NumberFormatter::create — Create a number formatter
  • NumberFormatter::formatCurrency — Format a currency value
  • NumberFormatter::format — Format a number
  • NumberFormatter::getAttribute — Get an attribute
  • NumberFormatter::getErrorCode — Get formatter's last error code.
  • NumberFormatter::getErrorMessage — Get formatter's last error message.
  • NumberFormatter::getLocale — Get formatter locale
  • NumberFormatter::getPattern — Get formatter pattern
  • NumberFormatter::getSymbol — Get a symbol value
  • NumberFormatter::getTextAttribute — Get a text attribute
  • NumberFormatter::parseCurrency — Parse a currency number
  • NumberFormatter::parse — Parse a number
  • NumberFormatter::setAttribute — Set an attribute
  • NumberFormatter::setPattern — Set formatter pattern
  • NumberFormatter::setSymbol — Set a symbol value
  • NumberFormatter::setTextAttribute — Set a text attribute
Collator::sort
NumberFormatter::create
intl


Create a number formatter

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter
PHP Manual

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Create a number formatter

Описание

Object oriented style (method)

static NumberFormatter NumberFormatter::create ( string $locale , int $style [, string $pattern ] )

Procedural style

NumberFormatter numfmt_create ( string $locale , int $style [, string $pattern ] )

Object oriented style (constructor):

NumberFormatter::__construct() ( string $locale , int $style [, string $pattern ] )

Creates a number formatter.

Список параметров

locale

Locale in which the number would be formatted (locale name, e.g. en_CA).

style

Style of the formatting, one of the format style constants. If NumberFormatter::PATTERN_DECIMAL or NumberFormatter::PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in » ICU DecimalFormat documentation or » ICU RuleBasedNumberFormat documentation, respectively.

pattern

Pattern string if the chosen style requires a pattern.

Возвращаемые значения

Returns NumberFormatter object or FALSE on error.

Примеры

Пример #1 numfmt_create() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Пример #2 NumberFormatter::create() example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

Результат выполнения данного примера:

1.234.567,891
millicentoquarantadue

Смотрите также

  • numfmt_format() - Format a number
  • numfmt_parse() - Parse a number

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter


Format a currency value

NumberFormatter::create
NumberFormatter::format
NumberFormatter
PHP Manual

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Format a currency value

Описание

Object oriented style

string NumberFormatter::formatCurrency ( float $value , string $currency )

Procedural style

string numfmt_format_currency ( NumberFormatter $fmt , float $value , string $currency )

Format the currency value according to the formatter rules.

Список параметров

fmt

NumberFormatter object.

value

The numeric currency value.

currency

The 3-letter ISO 4217 currency code indicating the currency to use.

Возвращаемые значения

String representing the formatted currency value.

Примеры

Пример #1 numfmt_format_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>

Результат выполнения данного примера:

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number

NumberFormatter::create
NumberFormatter::format
NumberFormatter


Format a number

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter
PHP Manual

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Format a number

Описание

Object oriented style

string NumberFormatter::format ( number $value [, int $type ] )

Procedural style

string numfmt_format ( NumberFormatter $fmt , number $value [, int $type ] )

Format a numeric value according to the formatter rules.

Список параметров

fmt

NumberFormatter object.

value

The value to format. Can be integer or double, other values will be converted to a numeric value.

type

The formatting type to use.

Возвращаемые значения

Returns the string containing formatted value, or FALSE on error.

Примеры

Пример #1 numfmt_format() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Formatter error");
}
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Результат выполнения данного примера:

1.234.567,891

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format_currency() - Format a currency value
  • numfmt_parse() - Parse a number

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter


Get an attribute

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter
PHP Manual

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Get an attribute

Описание

Object oriented style

int NumberFormatter::getAttribute ( int $attr )

Procedural style

int numfmt_get_attribute ( NumberFormatter $fmt , int $attr )

Get a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Список параметров

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

Возвращаемые значения

Return attribute value on success, or FALSE on error.

Примеры

Пример #1 numfmt_get_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter


Get formatter's last error code.

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter
PHP Manual

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Get formatter's last error code.

Описание

Object oriented style

int NumberFormatter::getErrorCode ( void )

Procedural style

int numfmt_get_error_code ( NumberFormatter $fmt )

Get error code from the last function performed by the formatter.

Список параметров

fmt

NumberFormatter object.

Возвращаемые значения

Returns error code from last formatter call.

Примеры

Пример #1 numfmt_get_error_code() example

<?php
$fmt  = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Смотрите также

  • numfmt_get_error_message() - Get formatter's last error message.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter


Get formatter's last error message.

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter
PHP Manual

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Get formatter's last error message.

Описание

Object oriented style

string NumberFormatter::getErrorMessage ( void )

Procedural style

string numfmt_get_error_message ( NumberFormatter $fmt )

Get error message from the last function performed by the formatter.

Список параметров

fmt

NumberFormatter object.

Возвращаемые значения

Returns error message from last formatter call.

Примеры

Пример #1 numfmt_get_error_message() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter


Get formatter locale

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter
PHP Manual

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Get formatter locale

Описание

Object oriented style

string NumberFormatter::getLocale ([ int $type ] )

Procedural style

string numfmt_get_locale ( NumberFormatter $fmt [, int $type ] )

Get formatter locale name.

Список параметров

fmt

NumberFormatter object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Возвращаемые значения

The locale name used to create the formatter.

Примеры

Пример #1 numfmt_get_locale() example

<?php
$req     = 'fr_FR_PARIS';
$fmt     = numfmt_create( $req,  NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "Requested locale name: %s\nValid locale name: %s\nActual locale name: %s\n",
         $req, $res_val, $res_act );
?>

Результат выполнения данного примера:

Requested locale name: fr_FR_PARIS
Valid locale name: fr_FR
Actual locale name: fr

Смотрите также

  • numfmt_create() - Create a number formatter
  • numfmt_get_error_code() - Get formatter's last error code.

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter


Get formatter pattern

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter
PHP Manual

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Get formatter pattern

Описание

Object oriented style

string NumberFormatter::getPattern ( void )

Procedural style

string numfmt_get_pattern ( NumberFormatter $fmt )

Extract pattern used by the formatter.

Список параметров

fmt

NumberFormatter object.

Возвращаемые значения

Pattern string that is used by the formatter, or FALSE if an error happens.

Примеры

Пример #1 numfmt_get_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_set_pattern() - Set formatter pattern
  • numfmt_create() - Create a number formatter

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter


Get a symbol value

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Get a symbol value

Описание

Object oriented style

string NumberFormatter::getSymbol ( int $attr )

Procedural style

string numfmt_get_symbol ( NumberFormatter $fmt , int $attr )

Get a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Список параметров

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

Возвращаемые значения

The symbol string or FALSE on error.

Примеры

Пример #1 numfmt_get_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_set_symbol() - Set a symbol value

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter


Get a text attribute

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter
PHP Manual

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Get a text attribute

Описание

Object oriented style

string NumberFormatter::getTextAttribute ( int $attr )

Procedural style

string numfmt_get_text_attribute ( NumberFormatter $fmt , int $attr )

Get a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Список параметров

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

Возвращаемые значения

Return attribute value on success, or FALSE on error.

Примеры

Пример #1 numfmt_get_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter


Parse a currency number

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter
PHP Manual

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Parse a currency number

Описание

Object oriented style

float NumberFormatter::parseCurrency ( string $value , string &$currency [, int &$position ] )

Procedural style

float numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency [, int &$position ] )

Parse a string into a double and a currency using the current formatter.

Список параметров

fmt

NumberFormatter object.

currency

Parameter to receive the currency name (3-letter ISO 4217 currency code).

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Возвращаемые значения

The parsed numeric value or FALSE on error.

Примеры

Пример #1 numfmt_parse_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";
?>

Результат выполнения данного примера:

We have 1234567.89 in USD

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_parse() - Parse a number
  • numfmt_format_currency() - Format a currency value

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter


Parse a number

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter
PHP Manual

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Parse a number

Описание

Object oriented style

mixed NumberFormatter::parse ( string $value [, int $type [, int &$position ]] )

Procedural style

mixed numfmt_parse ( NumberFormatter $fmt , string $value [, int $type [, int &$position ]] )

Parse a string into a number using the current formatter rules.

Список параметров

fmt

NumberFormatter object.

type

The formatting type to use. By default, NumberFormatter::TYPE_DOUBLE is used.

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Возвращаемые значения

The value of the parsed number or FALSE on error.

Примеры

Пример #1 numfmt_parse() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

Результат выполнения данного примера:

1234567.891
1234567

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter


Set an attribute

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter
PHP Manual

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Set an attribute

Описание

Object oriented style

bool NumberFormatter::setAttribute ( int $attr , int $value )

Procedural style

bool numfmt_set_attribute ( NumberFormatter $fmt , int $attr , int $value )

Set a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Список параметров

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

value

The attribute value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 numfmt_set_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter


Set formatter pattern

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter
PHP Manual

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Set formatter pattern

Описание

Object oriented style

bool NumberFormatter::setPattern ( string $pattern )

Procedural style

bool numfmt_set_pattern ( NumberFormatter $fmt , string $pattern )

Set the pattern used by the formatter. Can not be used on a rule-based formatter.

Список параметров

fmt

NumberFormatter object.

pattern

Pattern in syntax described in » ICU DecimalFormat documentation.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 numfmt_set_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_create() - Create a number formatter
  • numfmt_get_pattern() - Get formatter pattern

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter


Set a symbol value

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Set a symbol value

Описание

Object oriented style

bool NumberFormatter::setSymbol ( int $attr , string $value )

Procedural style

bool numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value )

Set a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Список параметров

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

value

Text for the symbol.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 numfmt_set_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_symbol() - Get a symbol value

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter


Set a text attribute

NumberFormatter::setSymbol
Locale
NumberFormatter
PHP Manual

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Set a text attribute

Описание

Object oriented style

bool NumberFormatter::setTextAttribute ( int $attr , string $value )

Procedural style

bool numfmt_set_text_attribute ( NumberFormatter $fmt , int $attr , string $value )

Set a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Список параметров

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

value

Text for the attribute value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 numfmt_set_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Пример #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Результат выполнения данного примера:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Смотрите также

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute

NumberFormatter::setSymbol
Locale
NumberFormatter


The Locale class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A "Locale" is an identifier used to get language, culture, or regionally-specific behavior from an API. PHP locales are organized and identified the same way that the CLDR locales used by ICU (and many vendors of Unix-like operating systems, the Mac, Java, and so forth) use. Locales are identified using RFC 4646 language tags (which use hyphen, not underscore) in addition to the more traditional underscore-using identifiers. Unless otherwise noted the functions in this class are tolerant of both formats.

Examples of identifiers include:

  • en-US (English, United States)
  • zh-Hant-TW (Chinese, Traditional Script, Taiwan)
  • fr-CA, fr-FR (French for Canada and France respectively)

The Locale class (and related procedural functions) are used to interact with locale identifiers--to verify that an ID is well-formed, valid, etc. The extensions used by CLDR in UAX #35 (and inherited by ICU) are valid and used wherever they would be in ICU normally.

Locales cannot be instantiated as objects. All of the functions/methods provided are static.

The null or empty string obtains the "root" locale. The "root" locale is equivalent to "en_US_POSIX" in CLDR. Language tags (and thus locale identifiers) are case insensitive. There exists a canonicalization function to make case match the specification.

Обзор классов

Locale {
/* Методы */
static string acceptFromHttp ( string $header )
static string composeLocale ( array $subtags )
static bool filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )
static array getAllVariants ( string $locale )
static string getDefault ( void )
static string getDisplayLanguage ( string $locale [, string $in_locale ] )
static string getDisplayName ( string $locale [, string $in_locale ] )
static string getDisplayRegion ( string $locale [, string $in_locale ] )
static string getDisplayScript ( string $locale [, string $in_locale ] )
static string getDisplayVariant ( string $locale [, string $in_locale ] )
static array getKeywords ( string $locale )
static string getPrimaryLanguage ( string $locale )
static string getRegion ( string $locale )
static string getScript ( string $locale )
static string lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )
static array parseLocale ( string $locale )
static bool setDefault ( string $locale )
}

Предопределенные константы

Locale::DEFAULT_LOCALE (null)
Used as locale parameter with the methods of the various locale affected classes, such as NumberFormatter. This constant would make the methods to use default locale.

These constants describe the choice of the locale for getLocalte method of different classes.

Locale::ACTUAL_LOCALE (string)
This is locale the data actually comes from.
Locale::VALID_LOCALE (string)
This is the most specific locale supported by ICU.

These constants define how the Locales are parsed or composed. They should be used as keys in the argument array to locale_compose() and are returned from locale_parse() as keys of the returned associative array.

Locale::LANG_TAG (string)
Language subtag
Locale::EXTLANG_TAG (string)
Extended language subtag
Locale::SCRIPT_TAG (string)
Script subtag
Locale::REGION_TAG (string)
Region subtag
Locale::VARIANT_TAG (string)
Variant subtag
Locale::GRANDFATHERED_LANG_TAG (string)
Grandfathered Language subtag
Locale::PRIVATE_TAG (string)
Private subtag

Смотрите также

  • » RFC 4646 - Tags for Identifying Languages
  • » RFC 4647 - Matching of Language Tags
  • » Unicode CLDR Project:Common Locale Data Repository
  • » IANA Language Subtags Registry
  • » ICU User Guide - Locale
  • » ICU Locale api

Содержание

  • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
  • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
  • Locale::filterMatches — Checks if a language tag filter matches with locale
  • Locale::getAllVariants — Gets the variants for the input locale
  • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
  • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
  • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
  • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
  • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
  • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
  • Locale::getKeywords — Gets the keywords for the input locale
  • Locale::getPrimaryLanguage — Gets the primary language for the input locale
  • Locale::getRegion — Gets the region for the input locale
  • Locale::getScript — Gets the script for the input locale
  • Locale::lookup — Searches the language tag list for the best match to the language
  • Locale::parseLocale — Returns a key-value array of locale ID subtag elements.
  • Locale::setDefault — sets the default runtime locale
NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl


Tries to find out best available locale based on HTTP "Accept-Language" header

Locale
Locale::composeLocale
Locale
PHP Manual

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — Tries to find out best available locale based on HTTP "Accept-Language" header

Описание

Object oriented style

static string Locale::acceptFromHttp ( string $header )

Procedural style

string locale_accept_from_http ( string $header )

Tries to find locale that can satisfy the language list that is requested by the HTTP "Accept-Language" header.

Список параметров

header

The string containing the "Accept-Language" header according to format in RFC 2616.

Возвращаемые значения

The corresponding locale identifier.

Примеры

Пример #1 locale_accept_from_http() example

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Пример #2 OO example

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Результат выполнения данного примера:

en_US

Смотрите также

  • locale_lookup() - Searches the language tag list for the best match to the language

Locale
Locale::composeLocale
Locale


Returns a correctly ordered and delimited locale ID

Locale::acceptFromHttp
Locale::filterMatches
Locale
PHP Manual

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Returns a correctly ordered and delimited locale ID

Описание

Object oriented style

static string Locale::composeLocale ( array $subtags )

Procedural style

string locale_compose ( array $subtags )

Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Список параметров

subtags

an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Замечание:

The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array can be variant0, variant1, ...,variant14. In the returned locale id, the subtag is ordered by suffix resulting in variant0 followed by variant1 followed by variant2 and so on.

The 'variant', 'private' and 'extlang' multiple values can be specified both as array under specific key (e.g. 'variant') and as multiple numbered keys (e.g. 'variant0', 'variant1', etc.).

Возвращаемые значения

The corresponding locale identifier.

Примеры

Пример #1 locale_compose() example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo locale_compose( $arr );
?>

Пример #2 OO example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>

Результат выполнения данного примера:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Смотрите также

  • locale_parse() - Returns a key-value array of locale ID subtag elements.

Locale::acceptFromHttp
Locale::filterMatches
Locale


Checks if a language tag filter matches with locale

Locale::composeLocale
Locale::getAllVariants
Locale
PHP Manual

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Checks if a language tag filter matches with locale

Описание

Object oriented style

static bool Locale::filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Procedural style

bool locale_filter_matches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Checks if a $langtag filter matches with $locale according to RFC 4647's basic filtering algorithm

Список параметров

langtag

The language tag to check

locale

The language range to check against

canonicalize

If true, the arguments will be converted to canonical form before matching.

Возвращаемые значения

TRUE if $locale matches $langtag FALSE otherwise.

Примеры

Пример #1 locale_filter_matches() example

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Matches" : "Does not match";
?>

Пример #2 OO example

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Matches" : "Does not match";
?>

Результат выполнения данного примера:

Does not match; Matches

Смотрите также

  • locale_lookup() - Searches the language tag list for the best match to the language

Locale::composeLocale
Locale::getAllVariants
Locale


Gets the variants for the input locale

Locale::filterMatches
Locale::getDefault
Locale
PHP Manual

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Gets the variants for the input locale

Описание

Object oriented style

static array Locale::getAllVariants ( string $locale )

Procedural style

array locale_get_all_variants ( string $locale )

Gets the variants for the input locale

Список параметров

locale

The locale to extract the variants from

Возвращаемые значения

The array containing the list of all variants subtag for the locale or NULL if not present

Примеры

Пример #1 locale_get_all_variants() example

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Пример #2 OO example

<?php
 $arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
 var_export( $arr );
?>

Результат выполнения данного примера:

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Смотрите также

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale

Locale::filterMatches
Locale::getDefault
Locale


Gets the default locale value from the INTL global 'default_locale'

Locale::getAllVariants
Locale::getDisplayLanguage
Locale
PHP Manual

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Gets the default locale value from the INTL global 'default_locale'

Описание

Object oriented style

static string Locale::getDefault ( void )

Procedural style

string locale_get_default ( void )

Gets the default locale value. At the PHP initialization this value is set to 'intl.default_locale' value from php.ini if that value exists or from ICU's function uloc_getDefault().

Список параметров

Возвращаемые значения

The current runtime locale

Примеры

Пример #1 locale_get_default() example

<?php
ini_set('intl.default_locale', 'de-DE');
echo locale_get_default();
echo '; ';
locale_set_default('fr');
echo locale_get_default();
?>

Пример #2 OO example

<?php
ini_set('intl.default_locale', 'de-DE');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('fr');
echo Locale::getDefault();
?>

Результат выполнения данного примера:

de-DE; fr

Смотрите также

  • locale_set_default() - sets the default runtime locale

Locale::getAllVariants
Locale::getDisplayLanguage
Locale


Returns an appropriately localized display name for language of the inputlocale

Locale::getDefault
Locale::getDisplayName
Locale
PHP Manual

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Returns an appropriately localized display name for language of the inputlocale

Описание

Object oriented style

static string Locale::getDisplayLanguage ( string $locale [, string $in_locale ] )

Procedural style

string locale_get_display_language ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for language of the input locale. If is NULL then the default locale is used.

Список параметров

locale

The locale to return a display language for

in_locale

Optional format locale to use to display the language name

Возвращаемые значения

display name of the language for the $locale in the format appropriate for $in_locale.

Примеры

Пример #1 locale_get_display_language() example

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'de');
?>

Пример #2 OO example

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'de');
?>

Результат выполнения данного примера:

Slovenian;
slov\xc3\xa8ne;
Slowenisch

Смотрите также

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDefault
Locale::getDisplayName
Locale


Returns an appropriately localized display name for the input locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale
PHP Manual

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Returns an appropriately localized display name for the input locale

Описание

Object oriented style

static string Locale::getDisplayName ( string $locale [, string $in_locale ] )

Procedural style

string locale_get_display_name ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for the input locale. If is NULL then the default locale is used.

Список параметров

locale

The locale to return a display name for.

in_locale

optional format locale

Возвращаемые значения

Display name of the locale in the format appropriate for $in_locale.

Примеры

Пример #1 locale_get_display_name() example

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'de');
?>

Пример #2 OO example

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'de');
?>

Результат выполнения данного примера:

Slovenian (Latin, Italy, Natisone dialect);
slov\xc3\xa8ne (latin, Italie, dialecte de Natisone;
Slowenisch (Lateinisch, Italien, NEDIS)

Смотрите также

  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale


Returns an appropriately localized display name for region of the input locale

Locale::getDisplayName
Locale::getDisplayScript
Locale
PHP Manual

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Returns an appropriately localized display name for region of the input locale

Описание

Object oriented style

static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )

Procedural style

string locale_get_display_region ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for region of the input locale. If is NULL then the default locale is used.

Список параметров

locale

The locale to return a display region for.

in_locale

Optional format locale to use to display the region name

Возвращаемые значения

display name of the region for the $locale in the format appropriate for $in_locale.

Примеры

Пример #1 locale_get_display_region() example

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'de');
?>

Пример #2 OO example

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'de');
?>

Результат выполнения данного примера:

Italy;
Italie;
Italien

Смотрите также

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayName
Locale::getDisplayScript
Locale


Returns an appropriately localized display name for script of the input locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale
PHP Manual

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Returns an appropriately localized display name for script of the input locale

Описание

Object oriented style

static string Locale::getDisplayScript ( string $locale [, string $in_locale ] )

Procedural style

string locale_get_display_script ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for script of the input locale. If is NULL then the default locale is used.

Список параметров

locale

The locale to return a display script for

in_locale

Optional format locale to use to display the script name

Возвращаемые значения

Display name of the script for the $locale in the format appropriate for $in_locale.

Примеры

Пример #1 locale_get_display_script() example

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
?>

Пример #2 OO example

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
?>

Результат выполнения данного примера:

Latin;
latin;
Lateinisch

Смотрите также

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale


Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayScript
Locale::getKeywords
Locale
PHP Manual

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Returns an appropriately localized display name for variants of the input locale

Описание

Object oriented style

static string Locale::getDisplayVariant ( string $locale [, string $in_locale ] )

Procedural style

string locale_get_display_variant ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for variants of the input locale. If is NULL then the default locale is used.

Список параметров

locale

The locale to return a display variant for

in_locale

Optional format locale to use to display the variant name

Возвращаемые значения

Display name of the variant for the $locale in the format appropriate for $in_locale.

Примеры

Пример #1 locale_get_display_variant() example

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'de');
?>

Пример #2 OO example

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'de');
?>

Результат выполнения данного примера:

Natisone dialect;
dialecte de Natisone;
NEDIS

Смотрите также

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale

Locale::getDisplayScript
Locale::getKeywords
Locale


Gets the keywords for the input locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale
PHP Manual

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Gets the keywords for the input locale

Описание

Object oriented style

static array Locale::getKeywords ( string $locale )

Procedural style

array locale_get_keywords ( string $locale )

Gets the keywords for the input locale.

Список параметров

locale

The locale to extract the keywords from

Возвращаемые значения

Associative array containing the keyword-value pairs for this locale

Примеры

Пример #1 locale_get_keywords() example

<?php
$keywords_arr = locale_get_keywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value\n";
    }
}
?>

Пример #2 OO example

<?php
$keywords_arr = Locale::getKeywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach( $keywords_arr as $key => $value){
        echo "$key = $value\n";
    }
}
?>

Результат выполнения данного примера:

collation = PHONEBOOK
currency = EUR

Смотрите также

  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale


Gets the primary language for the input locale

Locale::getKeywords
Locale::getRegion
Locale
PHP Manual

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Gets the primary language for the input locale

Описание

Object oriented style

static string Locale::getPrimaryLanguage ( string $locale )

Procedural style

string locale_get_primary_language ( string $locale )

Gets the primary language for the input locale

Список параметров

locale

The locale to extract the primary language code from

Возвращаемые значения

The language code associated with the language or NULL in case of error.

Примеры

Пример #1 locale_get_primary_language() example

<?php
echo locale_get_primary_language('zh-Hant');
?>

Пример #2 OO example

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

Результат выполнения данного примера:

zh

Смотрите также

  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getKeywords
Locale::getRegion
Locale


Gets the region for the input locale

Locale::getPrimaryLanguage
Locale::getScript
Locale
PHP Manual

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Gets the region for the input locale

Описание

Object oriented style

static string Locale::getRegion ( string $locale )

Procedural style

string locale_get_region ( string $locale )

Gets the region for the input locale.

Список параметров

locale

The locale to extract the region code from

Возвращаемые значения

The region subtag for the locale or NULL if not present

Примеры

Пример #1 locale_get_region() example

<?php
echo locale_get_region('de-CH-1901');
?>

Пример #2 OO example

<?php
echo Locale::getRegion('de-CH-1901');
?>

Результат выполнения данного примера:

CH

Смотрите также

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getPrimaryLanguage
Locale::getScript
Locale


Gets the script for the input locale

Locale::getRegion
Locale::lookup
Locale
PHP Manual

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Gets the script for the input locale

Описание

Object oriented style

static string Locale::getScript ( string $locale )

Procedural style

string locale_get_script ( string $locale )

Gets the script for the input locale.

Список параметров

locale

The locale to extract the script code from

Возвращаемые значения

The script subtag for the locale or NULL if not present

Примеры

Пример #1 locale_get_script() example

<?php
echo locale_get_script('sr-Cyrl');
?>

Пример #2 OO example

<?php
echo Locale::getScript('sr-Cyrl');
?>

Результат выполнения данного примера:

Cyrl

Смотрите также

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getRegion
Locale::lookup
Locale


Searches the language tag list for the best match to the language

Locale::getScript
Locale::parseLocale
Locale
PHP Manual

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Searches the language tag list for the best match to the language

Описание

Object oriented style

static string Locale::lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Procedural style

string locale_lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Searches the items in langtag for the best match to the language range specified in locale according to RFC 4647's lookup algorithm.

Список параметров

langtag

An array containing a list of language tags to compare to locale. Maximum 100 items allowed.

locale

The locale to use as the language range when matching.

canonicalize

If true, the arguments will be converted to canonical form before matching.

default

The locale to use if no match is found.

Возвращаемые значения

The closest matching language tag or default value.

Примеры

Пример #1 locale_lookup() example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', 'en_US');
?>

Пример #2 OO example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', 'en_US');
?>

Результат выполнения данного примера:

de_de_1996

Смотрите также

  • locale_filter_matches() - Checks if a language tag filter matches with locale

Locale::getScript
Locale::parseLocale
Locale


Returns a key-value array of locale ID subtag elements.

Locale::lookup
Locale::setDefault
Locale
PHP Manual

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Returns a key-value array of locale ID subtag elements.

Описание

Object oriented style

static array Locale::parseLocale ( string $locale )

Procedural style

array locale_parse ( string $locale )

Returns a key-value array of locale ID subtag elements.

Список параметров

locale

The locale to extract the subtag array from. Note: The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.

Возвращаемые значения

Returns an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values. The array will be ordered as the locale id subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the returned array will have variant0=>varX , variant1=>varY , variant2=>varZ

Примеры

Пример #1 locale_parse() example

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Пример #2 OO example

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Результат выполнения данного примера:

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Смотрите также

  • locale_compose() - Returns a correctly ordered and delimited locale ID

Locale::lookup
Locale::setDefault
Locale


sets the default runtime locale

Locale::parseLocale
Normalizer
Locale
PHP Manual

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — sets the default runtime locale

Описание

Object oriented style

static bool Locale::setDefault ( string $locale )

Procedural style

bool locale_set_default ( string $locale )

Sets the default runtime locale to $locale. This changes the value of INTL global 'default_locale' locale identifier. UAX #35 extensions are accepted.

Список параметров

locale

Is a BCP 47 compliant language tag containing the

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 locale_set_default() example

<?php
locale_set_default('de-DE');
echo locale_get_default();
?>

Пример #2 OO example

<?php
Locale::setDefault('de-DE');
echo Locale::getDefault();
?>

Результат выполнения данного примера:

de-DE

Смотрите также

  • locale_get_default() - Gets the default locale value from the INTL global 'default_locale'

Locale::parseLocale
Normalizer
Locale


The Normalizer class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Normalization is a process that involves transforming characters and sequences of characters into a formally-defined underlying representation. This process is most important when text needs to be compared for sorting and searching, but it is also used when storing text to ensure that the text is stored in a consistent representation.

The Unicode Consortium has defined a number of normalization forms reflecting the various needs of applications:

  • Normalization Form D (NFD) - Canonical Decomposition
  • Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
  • Normalization Form KD (NFKD) - Compatibility Decomposition
  • Normalization Form KC (NFKC) - Compatibility Decomposition followed by Canonical Composition
The different forms are defined in terms of a set of transformations on the text, transformations that are expressed by both an algorithm and a set of data files.

Обзор классов

Normalizer {
/* Методы */
static bool isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )
static string normalize ( string $input [, string $form = Normalizer::FORM_C ] )
}

Предопределенные константы

The following constants define the normalization form used by the normalizer:

Normalizer::FORM_C (string)
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D (string)
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC (string)
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD (string)
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE (string)
No decomposition/composition
Normalizer::OPTION_DEFAULT (string)
Default normalization options

Смотрите также

  • » Unicode Normalization
  • » Unicode Normalization FAQ
  • » ICU User Guide - Normalization
  • » ICU API Reference - Normalization

Содержание

  • Normalizer::isNormalized — Checks if the provided string is already in the specified normalization form.
  • Normalizer::normalize — Normalizes the input provided and returns the normalized string
Locale::setDefault
Normalizer::isNormalized
intl


Checks if the provided string is already in the specified normalization form.

Normalizer
Normalizer::normalize
Normalizer
PHP Manual

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Checks if the provided string is already in the specified normalization form.

Описание

Object oriented style

static bool Normalizer::isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )

Procedural style

bool normalizer_is_normalized ( string $input [, string $form = Normalizer::FORM_C ] )

Checks if the provided string is already in the specified normalization form.

Список параметров

input

The input string to normalize

form

One of the normalization forms.

Возвращаемые значения

TRUE if normalized, FALSE otherwise or if there an error

Примеры

Пример #1 normalizer_is_normalized() example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Пример #2 OO example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Результат выполнения данного примера:

not normalized; normalized

Смотрите также

  • normalizer_normalize() - Normalizes the input provided and returns the normalized string

Normalizer
Normalizer::normalize
Normalizer


Normalizes the input provided and returns the normalized string

Normalizer::isNormalized
MessageFormatter
Normalizer
PHP Manual

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Normalizes the input provided and returns the normalized string

Описание

Object oriented style

static string Normalizer::normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Procedural style

string normalizer_normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Normalizes the input provided and returns the normalized string

Список параметров

input

The input string to normalize

form

One of the normalization forms.

Возвращаемые значения

The normalized string or NULL if an error occurred.

Примеры

Пример #1 normalizer_normalize() example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Пример #2 OO example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Результат выполнения данного примера:

%C3%85 %C3%85

Смотрите также

  • normalizer_is_normalized() - Checks if the provided string is already in the specified normalization form.

Normalizer::isNormalized
MessageFormatter
Normalizer


The MessageFormatter class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

MessageFormatter is a concrete class that enables users to produce concatenated, language-neutral messages. The methods supplied in this class are used to build all the messages that are seen by end users.

The MessageFormatter class assembles messages from various fragments (such as text fragments, numbers, and dates) supplied by the program. Because of the MessageFormatter class, the program does not need to know the order of the fragments. The class uses the formatting specifications for the fragments to assemble them into a message that is contained in a single string within a resource bundle. For example, MessageFormatter enables you to print the phrase "Finished printing x out of y files..." in a manner that still allows for flexibility in translation.

Previously, an end user message was created as a sentence and handled as a string. This procedure created problems for localizers because the sentence structure, word order, number format and so on are very different from language to language. The language-neutral way to create messages keeps each part of the message separate and provides keys to the data. Using these keys, the MessageFormatter class can concatenate the parts of the message, localize them, and display a well-formed string to the end user.

MessageFormatter takes a set of objects, formats them, and then inserts the formatted strings into the pattern at the appropriate places. Choice formats can be used in conjunction with MessageFormatter to handle plurals, match numbers, and select from an array of items. Typically, the message format will come from resources and the arguments will be dynamically set at runtime.

Обзор классов

MessageFormatter {
/* Методы */
__construct ( string $locale , string $pattern )
MessageFormatter create ( string $locale , string $pattern )
static string formatMessage ( string $locale , string $pattern , array $args )
string format ( array $args )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ( void )
string getPattern ( void )
static array parseMessage ( string $locale , string $pattern , string $source )
array parse ( string $value )
bool setPattern ( string $pattern )
}

Смотрите также

  • » ICU formatting documentation
  • » ICU message formatting description
  • » ICU message formatters
  • » ICU choice formatters

Содержание

  • MessageFormatter::create — Constructs a new Message Formatter
  • MessageFormatter::formatMessage — Quick format message
  • MessageFormatter::format — Format the message
  • MessageFormatter::getErrorCode — Get the error code from last operation
  • MessageFormatter::getErrorMessage — Get the error text from the last operation
  • MessageFormatter::getLocale — Get the locale for which the formatter was created.
  • MessageFormatter::getPattern — Get the pattern used by the formatter
  • MessageFormatter::parseMessage — Quick parse input string
  • MessageFormatter::parse — Parse input string according to pattern
  • MessageFormatter::setPattern — Set the pattern used by the formatter
Normalizer::normalize
MessageFormatter::create
intl


Constructs a new Message Formatter

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter
PHP Manual

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Constructs a new Message Formatter

Описание

Object oriented style (method)

MessageFormatter MessageFormatter::create ( string $locale , string $pattern )

Object oriented style (constructor):

MessageFormatter::__construct() ( string $locale , string $pattern )

Procedural style

MessageFormatter msgfmt_create ( string $locale , string $pattern )

Constructs a new Message Formatter

Список параметров

locale

The locale to use when formatting arguments

pattern

The pattern string to stick arguments into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Возвращаемые значения

The formatter object

Примеры

Пример #1 msgfmt_create() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

Результат выполнения данного примера:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Смотрите также

  • msgfmt_format() - Format the message
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter


Quick format message

MessageFormatter::create
MessageFormatter::format
MessageFormatter
PHP Manual

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — Quick format message

Описание

Object oriented style

static string MessageFormatter::formatMessage ( string $locale , string $pattern , array $args )

Procedural style

string msgfmt_format_message ( string $locale , string $pattern , array $args )

Quick formatting function that formats the string without having to explicitly create the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Список параметров

locale

The locale to use for formatting locale-dependent parts

pattern

The pattern string to insert things into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

args

The array of values to insert into the format string

Возвращаемые значения

The formatted pattern string or FALSE if an error occurred

Примеры

Пример #1 msgfmt_format_message() example

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum", array(4560, 123, 4560/123));
?>

Пример #2 OO example

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum", array(4560, 123, 4560/123));
?>

Результат выполнения данного примера:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter::create
MessageFormatter::format
MessageFormatter


Format the message

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter
PHP Manual

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — Format the message

Описание

Object oriented style

string MessageFormatter::format ( array $args )

Procedural style

string msgfmt_format ( MessageFormatter $fmt , array $args )

Format the message by substituting the data into the format string according to the locale rules

Список параметров

fmt

The message formatter

args

Arguments to insert into the format string

Возвращаемые значения

The formatted string, or FALSE if an error occurred

Примеры

Пример #1 msgfmt_format() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

Результат выполнения данного примера:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_format_message() - Quick format message
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter


Get the error code from last operation

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter
PHP Manual

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Get the error code from last operation

Описание

Object oriented style

int MessageFormatter::getErrorCode ( void )

Procedural style

int msgfmt_get_error_code ( MessageFormatter $fmt )

Get the error code from last operation.

Список параметров

fmt

The message formatter

Возвращаемые значения

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Примеры

Пример #1 msgfmt_get_error_code() example

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

Результат выполнения данного примера:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Смотрите также

  • msgfmt_get_error_message() - Get the error text from the last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter


Get the error text from the last operation

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter
PHP Manual

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Get the error text from the last operation

Описание

Object oriented style

string MessageFormatter::getErrorMessage ( void )

Procedural style

string msgfmt_get_error_message ( MessageFormatter $fmt )

Get the error text from the last operation.

Список параметров

fmt

The message formatter

Возвращаемые значения

Description of the last error.

Примеры

Пример #1 msgfmt_get_error_message() example

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

Результат выполнения данного примера:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Смотрите также

  • msgfmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter


Get the locale for which the formatter was created.

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter
PHP Manual

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Get the locale for which the formatter was created.

Описание

Object oriented style

string MessageFormatter::getLocale ( void )

Procedural style

string msgfmt_get_locale ( NumberFormatter $formatter )

Get the locale for which the formatter was created.

Список параметров

formatter

The formatter resource

Возвращаемые значения

The locale name

Примеры

Пример #1 msgfmt_get_locale() example

<?php
$fmt = msgfmt_create('en_US', "Number {0,number}");
echo msgfmt_get_locale($fmt);
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "Number {0,number}");
echo $fmt->getLocale();
?>

Результат выполнения данного примера:

en_US

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter


Get the pattern used by the formatter

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter
PHP Manual

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Get the pattern used by the formatter

Описание

Object oriented style

string MessageFormatter::getPattern ( void )

Procedural style

string msgfmt_get_pattern ( MessageFormatter $fmt )

Get the pattern used by the formatter

Список параметров

fmt

The message formatter

Возвращаемые значения

The pattern string for this message formatter

Примеры

Пример #1 msgfmt_get_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

Результат выполнения данного примера:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_set_pattern() - Set the pattern used by the formatter

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter


Quick parse input string

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter
PHP Manual

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Quick parse input string

Описание

Object oriented style

static array MessageFormatter::parseMessage ( string $locale , string $pattern , string $source )

Procedural style

array msgfmt_parse_message ( string $locale , string $pattern , string $value )

Parses input string without explicitly creating the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Список параметров

locale

The locale to use for parsing locale-dependent parts

pattern

The pattern with which to parse the value.

source

The string to parse, conforming to the pattern.

Возвращаемые значения

An array containing items extracted, or FALSE on error

Примеры

Пример #1 msgfmt_parse_message() example

<?php
$fmt = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = msgfmt_parse_message('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

Пример #2 OO example

<?php
$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = MessageFormatter::parseMessage('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

Результат выполнения данного примера:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format_message() - Quick format message
  • msgfmt_parse() - Parse input string according to pattern

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter


Parse input string according to pattern

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Parse input string according to pattern

Описание

Object oriented style

array MessageFormatter::parse ( string $value )

Procedural style

array msgfmt_parse ( MessageFormatter $fmt , string $value )

Parses input string and return any extracted items as an array.

Список параметров

fmt

The message formatter

value

The string to parse

Возвращаемые значения

An array containing the items extracted, or FALSE on error

Примеры

Пример #1 msgfmt_parse() example

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

Результат выполнения данного примера:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format() - Format the message
  • msgfmt_parse_message() - Quick parse input string

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter


Set the pattern used by the formatter

MessageFormatter::parse
IntlDateFormatter
MessageFormatter
PHP Manual

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Set the pattern used by the formatter

Описание

Object oriented style

bool MessageFormatter::setPattern ( string $pattern )

Procedural style

bool msgfmt_set_pattern ( MessageFormatter $fmt , string $pattern )

Set the pattern used by the formatter

Список параметров

fmt

The message formatter

pattern

The pattern string to use in this message formatter. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 msgfmt_set_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Пример #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

Результат выполнения данного примера:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Смотрите также

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_get_pattern() - Get the pattern used by the formatter

MessageFormatter::parse
IntlDateFormatter
MessageFormatter


The IntlDateFormatter class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Date Formatter is a concrete class that enables locale-dependent formatting/parsing of dates using pattern strings and/or canned patterns.

This class represents the ICU date formatting functionality. It allows users to display dates in a localized format or to parse strings into PHP date values using pattern strings and/or canned patterns.

Class synopsis

IntlDateFormatter {
/* Методы */
__construct ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )
static IntlDateFormatter create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )
string format ( mixed $value )
int getCalendar ( void )
int getDateType ( void )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $which ] )
string getPattern ( void )
int getTimeType ( void )
string getTimeZoneId ( void )
bool isLenient ( void )
array localtime ( string $value [, int &$position ] )
int parse ( string $value [, int &$position ] )
bool setCalendar ( int $which )
bool setLenient ( bool $lenient )
bool setPattern ( string $pattern )
bool setTimeZoneId ( string $zone )
}

Смотрите также

  • » ICU Date formatter
  • » ICU Date formats

Предопределенные константы

These constants are used to specify different formats in the constructor for DateType and TimeType.

IntlDateFormatter::NONE (integer)
Do not include this element
IntlDateFormatter::FULL (integer)
Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (integer)
Long style (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (integer)
Medium style (Jan 12, 1952)
IntlDateFormatter::SHORT (integer)
Most abbreviated style, only essential data (12/13/52 or 3:30pm)

The following int constants are used to specify the calendar. These calendars are all based directly on the Gregorian calendar. Non-Gregorian calendars need to be specified in locale. Examples might include locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL (integer)
Non-Gregorian Calendar
IntlDateFormatter::GREGORIAN (integer)
Gregorian Calendar

Содержание

  • IntlDateFormatter::create — Create a date formatter
  • IntlDateFormatter::format — Format the date/time value as a string
  • IntlDateFormatter::getCalendar — Get the calendar used for the IntlDateFormatter
  • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
  • IntlDateFormatter::getErrorCode — Get the error code from last operation
  • IntlDateFormatter::getErrorMessage — Get the error text from the last operation.
  • IntlDateFormatter::getLocale — Get the locale used by formatter
  • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
  • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
  • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
  • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
  • IntlDateFormatter::localtime — Parse string to a field-based time value
  • IntlDateFormatter::parse — Parse string to a timestamp value
  • IntlDateFormatter::setCalendar — sets the calendar used to the appropriate calendar, which must be
  • IntlDateFormatter::setLenient — Set the leniency of the parser
  • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
  • IntlDateFormatter::setTimeZoneId — Sets the time zone to use
MessageFormatter::setPattern
IntlDateFormatter::create
intl


Create a date formatter

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter

Описание

Object oriented style

static IntlDateFormatter IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Object oriented style (constructor)

IntlDateFormatter::__construct() ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Procedural style

IntlDateFormatter datefmt_create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Create a date formatter

Список параметров

locale

Locale to use when formatting or parsing.

datetype

Date type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants.

timetype

Time type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants.

timezone

Time zone ID, default is system default.

calendar

Calendar to use for formatting or parsing; default is Gregorian. This is one of the IntlDateFormatter calendar constants.

pattern

Optional pattern to use when formatting or parsing. Possible patterns are documented at » http://userguide.icu-project.org/formatparse/datetime.

Возвращаемые значения

Примеры

Пример #1 datefmt_create() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
      'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>

Результат выполнения данного примера:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Смотрите также

  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter


Format the date/time value as a string

IntlDateFormatter::create
IntlDateFormatter::getCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Format the date/time value as a string

Описание

Object oriented style

string IntlDateFormatter::format ( mixed $value )

Procedural style

string datefmt_format ( IntlDateFormatter $fmt , mixed $value )

Formats the time value as a string.

Список параметров

fmt

The date formatter resource.

value

Value to format. This may be a DateTime object, an integer representing a Unix timestamp value (seconds since epoch, UTC) or an array in the format output by localtime().

Возвращаемые значения

The formatted string or, if an error occurred, FALSE.

Список изменений

Версия | Описание
5.3.4 | Support for providing DateTime objects to the value parameter was added.

Примеры

Пример #1 datefmt_format() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>

Результат выполнения данного примера:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Смотрите также

  • datefmt_create() - Create a date formatter
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter::create
IntlDateFormatter::getCalendar
IntlDateFormatter


Get the calendar used for the IntlDateFormatter

IntlDateFormatter::format
IntlDateFormatter::getDateType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — Get the calendar used for the IntlDateFormatter

Описание

Object oriented style

int IntlDateFormatter::getCalendar ( void )

Procedural style

int datefmt_get_calendar ( IntlDateFormatter $fmt )

Список параметров

fmt

The formatter resource

Возвращаемые значения

The calendar being used by the formatter.

Примеры

Пример #1 datefmt_get_calendar() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo "Now calendar of the formatter is : ".datefmt_get_calendar($fmt);
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "Now calendar of the formatter is : ".$fmt->getCalendar();

?>

Результат выполнения данного примера:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Смотрите также

  • datefmt_set_calendar() - sets the calendar used to the appropriate calendar, which must be
  • datefmt_create() - Create a date formatter

IntlDateFormatter::format
IntlDateFormatter::getDateType
IntlDateFormatter


Get the datetype used for the IntlDateFormatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter
PHP Manual

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — Get the datetype used for the IntlDateFormatter

Описание

Object oriented style

int IntlDateFormatter::getDateType ( void )

Procedural style

int datefmt_get_datetype ( IntlDateFormatter $fmt )

Returns date type used by the formatter.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

The current date type value of the formatter.

Примеры

Пример #1 datefmt_get_datetype() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "datetype of the formatter is : ".datefmt_get_datetype($fmt);
echo "First Formatted output with datetype is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::SHORT,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Now datetype of the formatter is : ".datefmt_get_datetype($fmt);
echo "Second Formatted output with datetype is ".datefmt_format( $fmt , 0);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "datetype of the formatter is : ".$fmt->getDateType();
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::SHORT,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Now datetype of the formatter is : ".$fmt->getDateType();
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

?>

Результат выполнения данного примера:

datetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now datetype of the formatter is : 2
Second Formatted output is 12/31/69 4:00:00 PM PT

Смотрите также

  • datefmt_get_timetype() - Get the timetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter


Get the error code from last operation

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Get the error code from last operation

Описание

Object oriented style

int IntlDateFormatter::getErrorCode ( void )

Procedural style

int datefmt_get_error_code ( IntlDateFormatter $fmt )

Get the error code from last operation. Returns error code from the last number formatting operation.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Примеры

Пример #1 datefmt_get_error_code() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = datefmt_format($fmt);
if(!$str) {
    echo "ERROR: ".datefmt_get_error_message($fmt) . " (" . datefmt_get_error_code($fmt) . ")\n";
}
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = $fmt->format();
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

Результат выполнения данного примера:

ERROR: U_ZERO_ERROR (0)

Смотрите также

  • datefmt_get_error_message() - Get the error text from the last operation.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter


Get the error text from the last operation.

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Get the error text from the last operation.

Описание

Object oriented style

string IntlDateFormatter::getErrorMessage ( void )

Procedural style

string datefmt_get_error_message ( IntlDateFormatter $fmt )

Get the error text from the last operation.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

Description of the last error.

Примеры

Пример #1 datefmt_get_error_message() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = datefmt_format($fmt);
if(!$str) {
    echo "ERROR: ".datefmt_get_error_message($fmt) . " (" . datefmt_get_error_code($fmt) . ")\n";
}
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = $fmt->format();
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}

?>

Результат выполнения данного примера:

ERROR: U_ZERO_ERROR (0)

Смотрите также

  • datefmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter


Get the locale used by formatter

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Get the locale used by formatter

Описание

Object oriented style

string IntlDateFormatter::getLocale ([ int $which ] )

Procedural style

string datefmt_get_locale ( IntlDateFormatter $fmt [, int $which ] )

Get locale used by the formatter.

Список параметров

fmt

The formatter resource

hich

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Возвращаемые значения

the locale of this formatter or 'false' if error

Примеры

Пример #1 datefmt_get_locale() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "locale of the formatter is : ".datefmt_get_locale($fmt);
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "locale of the formatter is : ".datefmt_get_locale($fmt);
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "locale of the formatter is : ".$fmt->getLocale();
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "locale of the formatter is : ".$fmt->getLocale();
echo "Second Formatted output is ".$fmt->format(0);

?>

Результат выполнения данного примера:

locale of the formatter is : en
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
locale of the formatter is : de
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

Смотрите также

  • datefmt_create() - Create a date formatter

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter


Get the pattern used for the IntlDateFormatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — Get the pattern used for the IntlDateFormatter

Описание

Object oriented style

string IntlDateFormatter::getPattern ( void )

Procedural style

string datefmt_get_pattern ( IntlDateFormatter $fmt )

Get pattern used by the formatter.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

The pattern string being used to format/parse.

Примеры

Пример #1 datefmt_get_pattern() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "pattern of the formatter is : ".datefmt_get_pattern($fmt);
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo "Now pattern of the formatter is : ".datefmt_get_pattern($fmt);
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN,"MM/dd/yyyy"  );
echo "pattern of the formatter is : ".$fmt->getPattern();
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo "Now pattern of the formatter is : ".$fmt->getPattern();
echo "Second Formatted output is ".datefmt_format( $fmt , 0);
?>

Результат выполнения данного примера:

pattern of the formatter is : MM/dd/yyyy
First Formatted output is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output is 19690031 04:00:00 PST

Смотрите также

  • datefmt_set_pattern() - Set the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter


Get the timetype used for the IntlDateFormatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — Get the timetype used for the IntlDateFormatter

Описание

Object oriented style

int IntlDateFormatter::getTimeType ( void )

Procedural style

int datefmt_get_timetype ( IntlDateFormatter $fmt )

Return time type used by the formatter.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

The current date type value of the formatter.

Примеры

Пример #1 datefmt_get_timetype() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "timetype of the formatter is : ".datefmt_get_timetype($fmt);
echo "First Formatted output with timetype is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::SHORT,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Now timetype of the formatter is : ".datefmt_get_timetype($fmt);
echo "Second Formatted output with timetype is ".datefmt_format( $fmt , 0);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "timetype of the formatter is : ".$fmt->getTimeType();
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::SHORT,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Now timetype of the formatter is : ".$fmt->getTimeType();
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

?>

Результат выполнения данного примера:

timetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now timetype of the formatter is : 3
Second Formatted output is Wednesday, December 31, 1969 4:00 PM

Смотрите также

  • datefmt_get_datetype() - Get the datetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter


Get the timezone-id used for the IntlDateFormatter

IntlDateFormatter::getTimeType
IntlDateFormatter::isLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — Get the timezone-id used for the IntlDateFormatter

Описание

Object oriented style

string IntlDateFormatter::getTimeZoneId ( void )

Procedural style

string datefmt_get_timezone_id ( IntlDateFormatter $fmt )

Get the timezone-id used for the IntlDateFormatter.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

ID string for the time zone used by this formatter.

Примеры

Пример #1 datefmt_get_timezone_id() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "timezone_id of the formatter is : ".datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo "Now timezone_id of the formatter is : ".datefmt_get_timezone_id($fmt);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "timezone_id of the formatter is : ".$fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo "Now timezone_id of the formatter is : ".$fmt->getTimezoneId();

?>

Результат выполнения данного примера:

timezone_id of the formatter is : America/Los_Angeles
Now timezone_id of the formatter is : CN

Смотрите также

  • datefmt_set_timezone_id() - Sets the time zone to use
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getTimeType
IntlDateFormatter::isLenient
IntlDateFormatter


Get the lenient used for the IntlDateFormatter

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::localtime
IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — Get the lenient used for the IntlDateFormatter

Описание

Object oriented style

bool IntlDateFormatter::isLenient ( void )

Procedural style

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Check if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly.

Список параметров

fmt

The formatter resource.

Возвращаемые значения

TRUE if parser is lenient, FALSE if parser is strict. By default the parser is strict.

Примеры

Пример #1 datefmt_is_lenient() example

<?php
$fmt = datefmt_create( "en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "Now lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy"  );
echo "lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "Now lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

?>

Результат выполнения данного примера:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : -2147483
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is : Error_msg is : Date parsing failed: U_PARSE_ERROR Error_code is : 9

Смотрите также

  • datefmt_set_lenient() - Set the leniency of the parser
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::localtime
IntlDateFormatter


Parse string to a field-based time value

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter
PHP Manual

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Parse string to a field-based time value

Описание

Object oriented style

array IntlDateFormatter::localtime ( string $value [, int &$position ] )

Procedural style

array datefmt_localtime ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Converts string $value to a field-based time value ( an array of various fields), starting at $parse_pos and consuming as much of the input value as possible.

Список параметров

fmt

The formatter resource

value

string to convert to a time

position

Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended . If $parse_pos > strlen($value), the parse fails immediately.

Возвращаемые значения

Localtime compatible array of integers : contains 24 hour clock value in tm_hour field

Примеры

Пример #1 datefmt_localtime() example

<?php

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$arr = datefmt_localtime( $fmt, "Wednesday, December 31, 1969 4:00:00 PM PT",0);
echo "First parsed output is ";
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$arr = $fmt->localtime( "Wednesday, December 31, 1969 4:00:00 PM PT",0);
echo "First parsed output is ";
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

Результат выполнения данного примера:

First parsed output is tm_sec : 0 , tm_min : 0 , tm_hour : 16 , tm_year : 1969 ,
tm_mday : 31 , tm_wday : 4 , tm_yday : 365 , tm_mon : 11 , tm_isdst : 0 ,

Смотрите также

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter


Parse string to a timestamp value

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Parse string to a timestamp value

Описание

Object oriented style

int IntlDateFormatter::parse ( string $value [, int &$position ] )

Procedural style

int datefmt_parse ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Converts string $value to an incremental time value, starting at $parse_pos and consuming as much of the input value as possible.

Список параметров

fmt

The formatter resource

value

string to convert to a time

position

Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended (and the error occurred). This variable will contain the end position if the parse fails. If $parse_pos > strlen($value), the parse fails immediately.

Возвращаемые значения

timestamp parsed value

Примеры

Пример #1 datefmt_parse() example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First parsed output is ".$fmt->parse("Wednesday, December 20, 1989 4:00:00 PM PT");
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second parsed output is ".$fmt->parse("Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00");
?>

Пример #2 OO example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First parsed output is ".datefmt_parse( $fmt ,  "Wednesday, December 20, 1989 4:00:00 PM PT");
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second parsed output is ".datefmt_parse( $fmt , "Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00");
?>

Результат выполнения данного примера:

First parsed output is 630201600
Second parsed output is 630201600

Смотрите также

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_localtime() - Parse string to a field-based time value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter


sets the calendar used to the appropriate calendar, which must be

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — sets the calendar used to the appropriate calendar, which must be

Описание

Object oriented style

bool IntlDateFormatter::setCalendar ( int $which )

Procedural style

bool datefmt_set_calendar ( IntlDateFormatter $fmt , int $which )

Sets the calendar used by the formatter.

Список параметров

fmt

The formatter resource.

which

The calendar to use. Default is IntlDateFormatter::GREGORIAN.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 datefmt_set_calendar() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo "Now calendar of the formatter is : ".datefmt_get_calendar($fmt);
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "Now calendar of the formatter is : ".$fmt->getCalendar();
?>

Результат выполнения данного примера:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Смотрите также

  • datefmt_get_calendar() - Get the calendar used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter


Set the leniency of the parser

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Set the leniency of the parser

Описание

Object oriented style

bool IntlDateFormatter::setLenient ( bool $lenient )

Procedural style

bool datefmt_set_lenient ( IntlDateFormatter $fmt , bool $lenient )

Define if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly. Enabling lenient parsing allows the parser to accept otherwise flawed date or time patterns, parsing as much as possible to obtain a value. Extra space, unrecognized tokens, or invalid values ("February 30th") are not accepted.

Список параметров

fmt

The formatter resource

lenient

Sets whether the parser is lenient or not, default is FALSE (strict).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 datefmt_set_lenient() example

<?php
$fmt = datefmt_create("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "Now lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "Now lenient of the formatter is : ";
if( $fmt->isLenient() ){
        echo('TRUE');
}else{
        echo('FALSE');
}
$fmt->parse("35/13/1971");
echo "\n Trying to do parse('35/13/1971').Result is : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg is : ".intl_get_error_message();
        echo "Error_code is : ".intl_get_error_code();
}

?>

Результат выполнения данного примера:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : -2147483
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is : Error_msg is : Date parsing failed: U_PARSE_ERROR Error_code is : 9

Смотрите также

  • datefmt_is_lenient() - Get the lenient used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter


Set the pattern used for the IntlDateFormatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — Set the pattern used for the IntlDateFormatter

Описание

Object oriented style

bool IntlDateFormatter::setPattern ( string $pattern )

Procedural style

bool datefmt_set_pattern ( IntlDateFormatter $fmt , string $pattern )

Set the pattern used for the IntlDateFormatter.

Список параметров

fmt

The formatter resource.

pattern

New pattern string to use. Possible patterns are documented at » http://userguide.icu-project.org/formatparse/datetime.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Bad formatstrings are usually the cause of the failure.

Примеры

Пример #1 datefmt_set_pattern() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "pattern of the formatter is : ".datefmt_get_pattern($fmt);
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo "Now pattern of the formatter is : ".datefmt_get_pattern($fmt);
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);

?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN,"MM/dd/yyyy"  );
echo "pattern of the formatter is : ".$fmt->getPattern();
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo "Now pattern of the formatter is : ".$fmt->getPattern();
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

?>

Результат выполнения данного примера:

pattern of the formatter is : MM/dd/yyyy
First Formatted output with pattern is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output with pattern is 19690031 04:00:00 PST

Смотрите также

  • datefmt_get_pattern() - Get the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter


Sets the time zone to use

IntlDateFormatter::setPattern
ResourceBundle
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZoneId

datefmt_set_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setTimeZoneId -- datefmt_set_timezone_id — Sets the time zone to use

Описание

Object oriented style

bool IntlDateFormatter::setTimeZoneId ( string $zone )

Procedural style

bool datefmt_set_timezone_id ( IntlDateFormatter $fmt , string $zone )

Sets the time zone to use.

Список параметров

fmt

The formatter resource.

zone

The time zone ID string of the time zone to use. If NULL or the empty string, the default time zone for the runtime is used.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 datefmt_set_timezone_id() example

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "timezone_id of the formatter is : ".datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo "Now timezone_id of the formatter is : ".datefmt_get_timezone_id($fmt);
?>

Пример #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "timezone_id of the formatter is : ".$fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo "Now timezone_id of the formatter is : ".$fmt->getTimezoneId();

?>

Результат выполнения данного примера:

timezone_id of the formatter is : America/Los_Angeles
Now timezone_id of the formatter is : CN

Смотрите также

  • datefmt_get_timezone_id() - Get the timezone-id used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setPattern
ResourceBundle
IntlDateFormatter


The ResourceBundle class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Localized software products often require sets of data that are to be customized depending on current locale, e.g.: messages, labels, formatting patterns. ICU resource mechanism allows to define sets of resources that the application can load on locale basis, while accessing them in unified locale-independent fashion.

This class implements access to ICU resource data files. These files are binary data arrays which ICU uses to store the localized data.

ICU resource bundle can hold simple resources and complex resources. Complex resources are containers which can be either integer-indexed or string-indexed (just like PHP arrays). Simple resources can be of the following typos: string, integer, binary data field or integer array.

ResourceBundle supports direct access to the data through array access pattern and iteration via foreach, as well as access via class methods. The result will be PHP value for simple resources and ResourceBundle object for complex ones. All resources are read-only.

Обзор классов

ResourceBundle {
/* Methods */
__construct ( string $locale , string $bundlename [, bool $fallback ] )
int count ( void )
static ResourceBundle create ( string $locale , string $bundlename [, bool $fallback ] )
int getErrorCode ( void )
string getErrorMessage ( void )
mixed get ( string|int $index )
array getLocales ( void )
}

Смотрите также

  • » ICU Resource Management
  • » ICU Data

Содержание

  • ResourceBundle::count — Get number of elements in the bundle
  • ResourceBundle::create — Create a resource bundle
  • ResourceBundle::getErrorCode — Get bundle's last error code.
  • ResourceBundle::getErrorMessage — Get bundle's last error message.
  • ResourceBundle::get — Get data from the bundle
  • ResourceBundle::getLocales — Get supported locales
IntlDateFormatter::setTimeZoneId
ResourceBundle::count
intl


Get number of elements in the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle
PHP Manual

ResourceBundle::count

resourcebundle_count

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::count -- resourcebundle_count — Get number of elements in the bundle

Описание

Object oriented style

int ResourceBundle::count ( void )

Procedural style

int resourcebundle_count ( ResourceBundle $r )

Get the number of elements in the bundle.

Список параметров

r

ResourceBundle object.

Возвращаемые значения

Returns number of elements in the bundle.

Примеры

Пример #1 resourcebundle_count() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_count($r);
?>

Пример #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->count();
?>

Результат выполнения данного примера:

42

Смотрите также

  • resourcebundle_get() - Get data from the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle


Create a resource bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle
PHP Manual

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Create a resource bundle

Описание

Object oriented style (method)

static ResourceBundle ResourceBundle::create ( string $locale , string $bundlename [, bool $fallback ] )

Procedural style

ResourceBundle resourcebundle_create ( string $locale , string $bundlename [, bool $fallback ] )

Object oriented style (constructor):

ResourceBundle::__construct() ( string $locale , string $bundlename [, bool $fallback ] )

Creates a resource bundle.

Список параметров

locale

Locale for which the resources should be loaded (locale name, e.g. en_CA).

bundlename

The directory where the data is stored or the name of the .dat file.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

Возвращаемые значения

Returns ResourceBundle object or FALSE on error.

Примеры

Пример #1 resourcebundle_create() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Пример #2 ResourceBundle::create() example

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Результат выполнения данного примера:

¡Hola, mundo!

Смотрите также

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle


Get bundle's last error code.

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle
PHP Manual

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Get bundle's last error code.

Описание

Object oriented style

int ResourceBundle::getErrorCode ( void )

Procedural style

int resourcebundle_get_error_code ( ResourceBundle $r )

Get error code from the last function performed by the bundle object.

Список параметров

r

ResourceBundle object.

Возвращаемые значения

Returns error code from last bundle object call.

Примеры

Пример #1 resourcebundle_get_error_code() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error");
}
?>

Пример #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error");
}
?>

Смотрите также

  • resourcebundle_get_error_message() - Get bundle's last error message.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle


Get bundle's last error message.

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle
PHP Manual

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Get bundle's last error message.

Описание

Object oriented style

string ResourceBundle::getErrorMessage ( void )

Procedural style

string resourcebundle_get_error_message ( ResourceBundle $r )

Get error message from the last function performed by the bundle object.

Список параметров

r

ResourceBundle object.

Возвращаемые значения

Returns error message from last bundle object's call.

Примеры

Пример #1 resourcebundle_get_error_message() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error: ".resourcebundle_get_error_message($r));
}
?>

Пример #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error: ".ResourceBundle::getErrorMessage($r));
}
?>

Смотрите также

  • resourcebundle_get_error_code() - Get bundle's last error code.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle


Get data from the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle
PHP Manual

ResourceBundle::get

resourcebundle_get

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::get -- resourcebundle_get — Get data from the bundle

Описание

Object oriented style

mixed ResourceBundle::get ( string|int $index )

Procedural style

mixed resourcebundle_get ( ResourceBundle $r , string|int $index )

Get the data from the bundle by index or string key.

Список параметров

r

ResourceBundle object.

index

Data index, must be string or integer.

Возвращаемые значения

Returns the data located at the index or NULL on error. Strings, integers and binary data strings are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are returned as ResourceBundle object.

Примеры

Пример #1 resourcebundle_get() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_get($r, 'somestring');
?>

Пример #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->get('somestring');
?>

Результат выполнения данного примера:

?Hola, mundo!

Смотрите также

  • resourcebundle_count() - Get number of elements in the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle


Get supported locales

ResourceBundle::get
Spoofchecker
ResourceBundle
PHP Manual

ResourceBundle::getLocales

resourcebundle_locales

(Информация о версии неизвестна, возможно, только в SVN)

ResourceBundle::getLocales -- resourcebundle_locales — Get supported locales

Описание

Object oriented style

array ResourceBundle::getLocales ( void )

Procedural style

array resourcebundle_locales ( ResourceBundle $r )

Get the list of locales supported by the bundle. The list is taken from the bundle table named res_index which should contain a table named InstalledLocales, which contains locales as keys. This bundle should be either in data directory as .res file or part of the .dat file for this function to work.

Список параметров

r

ResourceBundle object.

Возвращаемые значения

Returns the list of locales supported by the bundle.

Примеры

Пример #1 resourcebundle_locales() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo join("\n", resourcebundle_locales($r));
?>

Пример #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo join("\n", $r->getLocales());
?>

Результат выполнения данного примера:

es
root

Смотрите также

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::get
Spoofchecker
ResourceBundle


The Spoofchecker class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Spoofchecker {
/* Constants */
const integer SINGLE_SCRIPT_CONFUSABLE = 1 ;
const integer MIXED_SCRIPT_CONFUSABLE = 2 ;
const integer WHOLE_SCRIPT_CONFUSABLE = 4 ;
const integer ANY_CASE = 8 ;
const integer SINGLE_SCRIPT = 16 ;
const integer INVISIBLE = 32 ;
const integer CHAR_LIMIT = 64 ;
/* Методы */
public bool areConfusable ( string $s1 , string $s2 [, string &$error ] )
__construct ( void )
public bool isSuspicious ( string $text [, string &$error ] )
public void setAllowedLocales ( string $locale_list )
public void setChecks ( string $checks )
}

Предопределенные константы

Spoofchecker Node Types

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

Содержание

  • Spoofchecker::areConfusable — Checks if a given text contains any confusable characters
  • Spoofchecker::__construct — Constructor
  • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
  • Spoofchecker::setAllowedLocales — Locales to use when running checks
  • Spoofchecker::setChecks — Set the checks to run
ResourceBundle::getLocales
Spoofchecker::areConfusable
intl


Checks if a given text contains any confusable characters

Spoofchecker
Spoofchecker::__construct
Spoofchecker
PHP Manual

Spoofchecker::areConfusable

(Информация о версии неизвестна, возможно, только в SVN)

Spoofchecker::areConfusable — Checks if a given text contains any confusable characters

Описание

public bool Spoofchecker::areConfusable ( string $s1 , string $s2 [, string &$error ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

s1

s2

error

Возвращаемые значения

Spoofchecker
Spoofchecker::__construct
Spoofchecker


Constructor

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker
PHP Manual

Spoofchecker::__construct

(Информация о версии неизвестна, возможно, только в SVN)

Spoofchecker::__construct — Constructor

Описание

Spoofchecker::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker


Checks if a given text contains any suspicious characters

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker
PHP Manual

Spoofchecker::isSuspicious

(Информация о версии неизвестна, возможно, только в SVN)

Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters

Описание

public bool Spoofchecker::isSuspicious ( string $text [, string &$error ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

text

error

Возвращаемые значения

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker


Locales to use when running checks

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker
PHP Manual

Spoofchecker::setAllowedLocales

(Информация о версии неизвестна, возможно, только в SVN)

Spoofchecker::setAllowedLocales — Locales to use when running checks

Описание

public void Spoofchecker::setAllowedLocales ( string $locale_list )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

locale_list

Возвращаемые значения

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker


Set the checks to run

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker
PHP Manual

Spoofchecker::setChecks

(Информация о версии неизвестна, возможно, только в SVN)

Spoofchecker::setChecks — Set the checks to run

Описание

public void Spoofchecker::setChecks ( string $checks )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

checks

Возвращаемые значения

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker


The Transliterator class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Transliterator provides transliteration of strings.

Обзор классов

Transliterator {
/* Константы */
const integer FORWARD = 0 ;
const integer REVERSE = 1 ;
/* Свойства */
public $Transliterator->id ;
/* Методы */
Transliterator::__construct ( void )
public static Transliterator Transliterator::create ( string $id [, int $direction ] )
public static Transliterator Transliterator::createFromRules ( string $rules [, string $direction ] )
public Transliterator Transliterator::createInverse ( void )
public int Transliterator::getErrorCode ( void )
public string Transliterator::getErrorMessage ( void )
public static array Transliterator::listIDs ( void )
public void Transliterator::transliterate ( string $subject [, string $start [, string $end ]] )
}

Свойства

id

Предопределенные константы

Transliterator Node Types

Transliterator::FORWARD

Transliterator::REVERSE

Содержание

  • Transliterator::__construct — Construct a Transliterator object
  • Transliterator::create — Create a transliterator
  • Transliterator::createFromRules — Create transliterator from rules
  • Transliterator::createInverse — Create an inverse transliterator
  • Transliterator::getErrorCode — Get last error code
  • Transliterator::getErrorMessage — Get last error message
  • Transliterator::listIDs — Get transliterator IDs
  • Transliterator::transliterate — Transliterate a string
Spoofchecker::setChecks
Transliterator::__construct
intl


Construct a Transliterator object

Transliterator
Transliterator::create
Transliterator
PHP Manual

Transliterator::__construct

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::__construct — Construct a Transliterator object

Описание

Transliterator::__construct() ( void )

Constructs a transliterator object.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A transliterator object.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator

Transliterator
Transliterator::create
Transliterator


Create a transliterator

Transliterator::__construct
Transliterator::createFromRules
Transliterator
PHP Manual

Transliterator::create

transliterator_create

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::create -- transliterator_create — Create a transliterator

Описание

Объектно-ориентированный стиль

public static Transliterator Transliterator::create ( string $id [, int $direction ] )

Процедурный стиль

Transliterator transliterator_create ( string $id [, int $direction ] )

Opens a Transliterator by id.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

id

The id.

direction

The direction, defaults to >Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Возвращаемые значения

Returns a Transliterator object on success, or NULL on failure.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Construct a Transliterator object

Transliterator::__construct
Transliterator::createFromRules
Transliterator


Create transliterator from rules

Transliterator::create
Transliterator::createInverse
Transliterator
PHP Manual

Transliterator::createFromRules

transliterator_create_from_rules

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::createFromRules -- transliterator_create_from_rules — Create transliterator from rules

Описание

Объектно-ориентированный стиль

public static Transliterator Transliterator::createFromRules ( string $rules [, string $direction ] )

Процедурный стиль

Transliterator transliterator_create_from_rules ( string $id [, int $direction ] )

Creates a Transliterator from rules.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

rules

The rules.

direction

The direction, defaults to >Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Возвращаемые значения

Returns a Transliterator object on success, or NULL on failure.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator

Transliterator::create
Transliterator::createInverse
Transliterator


Create an inverse transliterator

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator
PHP Manual

Transliterator::createInverse

transliterator_create_inverse

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::createInverse -- transliterator_create_inverse — Create an inverse transliterator

Описание

Объектно-ориентированный стиль

public Transliterator Transliterator::createInverse ( void )

Процедурный стиль

Transliterator transliterator_create_inverse ( void )

Opens the inverse transliterator transliterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a Transliterator object on success, or NULL on failure

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator


Get last error code

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator
PHP Manual

Transliterator::getErrorCode

transliterator_get_error_code

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::getErrorCode -- transliterator_get_error_code — Get last error code

Описание

Объектно-ориентированный стиль

public int Transliterator::getErrorCode ( void )

Процедурный стиль

int transliterator_get_error_code ( void )

Gets the last error code for this transliterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The error code on success, or FALSE if none exists, or on failure.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::listIDs() - Get transliterator IDs

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator


Get last error message

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator
PHP Manual

Transliterator::getErrorMessage

transliterator_get_error_message

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::getErrorMessage -- transliterator_get_error_message — Get last error message

Описание

Объектно-ориентированный стиль

public string Transliterator::getErrorMessage ( void )

Процедурный стиль

string transliterator_get_error_message ( void )

Gets the last error message for this transliterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The error code on success, or FALSE if none exists, or on failure.

Смотрите также

  • Transliterator::getErrorCode() - Get last error code
  • Transliterator::listIDs() - Get transliterator IDs

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator


Get transliterator IDs

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator
PHP Manual

Transliterator::listIDs

transliterator_list_ids

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::listIDs -- transliterator_list_ids — Get transliterator IDs

Описание

Объектно-ориентированный стиль

public static array Transliterator::listIDs ( void )

Процедурный стиль

array transliterator_list_ids ( void )

Returns an array with the registered transliterator IDs.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of registered transliterator IDs on success, или FALSE в случае возникновения ошибки.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::transliterate() - Transliterate a string

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator


Transliterate a string

Transliterator::listIDs
Grapheme Функции
Transliterator
PHP Manual

Transliterator::transliterate

transliterator_transliterate

(Информация о версии неизвестна, возможно, только в SVN)

Transliterator::transliterate -- transliterator_transliterate — Transliterate a string

Описание

Объектно-ориентированный стиль

public void Transliterator::transliterate ( string $subject [, string $start [, string $end ]] )

Процедурный стиль

transliterator_transliterate ( string $subject [, string $start [, string $end ]] )

Transliterates a string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

subject

The string to be transliterated.

start

end

Возвращаемые значения

The transliterated string on success, или FALSE в случае возникновения ошибки.

Смотрите также

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Construct a Transliterator object

Transliterator::listIDs
Grapheme Функции
Transliterator


Grapheme Функции

Содержание

  • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
  • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strlen — Get string length in grapheme units
  • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • grapheme_substr — Return part of a string
Transliterator::transliterate
grapheme_extract
intl


Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Grapheme Функции
grapheme_stripos
Grapheme Функции
PHP Manual

grapheme_extract

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Описание

Procedural style

string grapheme_extract ( string $haystack , int $size [, int $extract_type [, int $start = 0 [, int &$next ]]] )

Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Список параметров

haystack

String to search.

size

Maximum number items - based on the $extract_type - to return.

extract_type

Defines the type of units referred to by the $size parameter:

  • GRAPHEME_EXTR_COUNT (default) - $size is the number of default grapheme clusters to extract.
  • GRAPHEME_EXTR_MAXBYTES - $size is the maximum number of bytes returned.
  • GRAPHEME_EXTR_MAXCHARS - $size is the maximum number of UTF-8 characters returned.

start

Starting position in $haystack in bytes - if given, it must be zero or a positive value that is less than or equal to the length of $haystack in bytes. If $start does not point to the first byte of a UTF-8 character, the start position is moved to the next character boundary.

next

Reference to a value that will be set to the next starting position. When the call returns, this may point to the first byte position past the end of the string.

Возвращаемые значения

A string starting at offset $start and ending on a default grapheme cluster boundary that conforms to the $size and $extract_type specified.

Примеры

Пример #1 grapheme_extract() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>

Результат выполнения данного примера:

o%CC%88

Смотрите также

  • grapheme_substr() - Return part of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

Grapheme Функции
grapheme_stripos
Grapheme Функции


Find position (in grapheme units) of first occurrence of a case-insensitive string

grapheme_extract
grapheme_stristr
Grapheme Функции
PHP Manual

grapheme_stripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string

Описание

Procedural style

int grapheme_stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of first occurrence of a case-insensitive string

Список параметров

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Возвращаемые значения

Returns the position as an integer. If needle is not found, grapheme_stripos() will return boolean FALSE.

Примеры

Пример #1 grapheme_stripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Результат выполнения данного примера:

2

Смотрите также

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_extract
grapheme_stristr
Grapheme Функции


Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

grapheme_stripos
grapheme_strlen
Grapheme Функции
PHP Manual

grapheme_stristr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

Описание

Procedural style

string grapheme_stristr ( string $haystack , string $needle [, bool $before_needle = false ] )

Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

Список параметров

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

before_needle

If TRUE, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle.

Возвращаемые значения

Returns the portion of $haystack, or FALSE if $needle is not found.

Примеры

Пример #1 grapheme_stristr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_O_diaeresis_nfd));

?>

Результат выполнения данного примера:

o%CC%88a%CC%8A

Смотрите также

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_stripos
grapheme_strlen
Grapheme Функции


Get string length in grapheme units

grapheme_stristr
grapheme_strpos
Grapheme Функции
PHP Manual

grapheme_strlen

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strlen — Get string length in grapheme units

Описание

Procedural style

int grapheme_strlen ( string $input )

Get string length in grapheme units (not bytes or characters)

Список параметров

input

The string being measured for length. It must be a valid UTF-8 string.

Возвращаемые значения

The length of the string on success, and 0 if the string is empty.

Примеры

Пример #1 grapheme_strlen() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

Результат выполнения данного примера:

6

Смотрите также

  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_stristr
grapheme_strpos
Grapheme Функции


Find position (in grapheme units) of first occurrence of a string

grapheme_strlen
grapheme_strripos
Grapheme Функции
PHP Manual

grapheme_strpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strpos — Find position (in grapheme units) of first occurrence of a string

Описание

Procedural style

int grapheme_strpos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of first occurrence of a string

Список параметров

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Возвращаемые значения

Returns the position as an integer. If needle is not found, strpos() will return boolean FALSE.

Примеры

Пример #1 grapheme_strpos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

Результат выполнения данного примера:

2

Смотрите также

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strlen
grapheme_strripos
Grapheme Функции


Find position (in grapheme units) of last occurrence of a case-insensitive string

grapheme_strpos
grapheme_strrpos
Grapheme Функции
PHP Manual

grapheme_strripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string

Описание

Procedural style

int grapheme_strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of last occurrence of a case-insensitive string

Список параметров

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Возвращаемые значения

Returns the position as an integer. If needle is not found, grapheme_strripos() will return boolean FALSE.

Примеры

Пример #1 grapheme_strripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_strripos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Результат выполнения данного примера:

2

Смотрите также

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strpos
grapheme_strrpos
Grapheme Функции


Find position (in grapheme units) of last occurrence of a string

grapheme_strripos
grapheme_strstr
Grapheme Функции
PHP Manual

grapheme_strrpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string

Описание

Procedural style

int grapheme_strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of last occurrence of a string

Список параметров

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Возвращаемые значения

Returns the position as an integer. If needle is not found, grapheme_strrpos() will return boolean FALSE.

Примеры

Пример #1 grapheme_strrpos() example

<?php
$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strrpos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);
?>

Результат выполнения данного примера:

2

Смотрите также

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strripos
grapheme_strstr
Grapheme Функции


Returns part of haystack string from the first occurrence of needle to the end of haystack.

grapheme_strrpos
grapheme_substr
Grapheme Функции
PHP Manual

grapheme_strstr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.

Описание

Procedural style

string grapheme_strstr ( string $haystack , string $needle [, bool $before_needle = false ] )

Returns part of haystack string from the first occurrence of needle to the end of haystack.

Список параметров

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

before_needle

If TRUE, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle.

Возвращаемые значения

Returns the portion of string, or FALSE if needle is not found.

Примеры

Пример #1 grapheme_strstr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_o_diaeresis_nfd));

?>

Результат выполнения данного примера:

o%CC%88a%CC%8A

Смотрите также

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strrpos
grapheme_substr
Grapheme Функции


Return part of a string

grapheme_strstr
IDN Функции
Grapheme Функции
PHP Manual

grapheme_substr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_substr — Return part of a string

Описание

Procedural style

int grapheme_substr ( string $string , int $start [, int $length ] )

Return part of a string

Список параметров

string

The input string. Must be valid UTF-8.

start

Start position in default grapheme units. If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. If $start is negative, the returned string will start at the $start'th grapheme unit from the end of string.

length

Length in grapheme units. If $length is given and is positive, the string returned will contain at most $length grapheme units beginning from $start (depending on the length of string). If $length is given and is negative, then that many grapheme units will be omitted from the end of string (after the start position has been calculated when a start is negative). If $start denotes a position beyond this truncation, FALSE will be returned.

Возвращаемые значения

Returns the extracted part of $string.

Список изменений

Версия | Описание
5.4 | If length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.

Примеры

Пример #1 grapheme_substr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

Результат выполнения данного примера:

a%CC%8Abco%CC%88

Смотрите также

  • grapheme_extract() - Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strstr
IDN Функции
Grapheme Функции


IDN Функции

Содержание

  • idn_to_ascii — Convert domain name to IDNA ASCII form.
  • idn_to_unicode — Псевдоним idn_to_utf8
  • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.
grapheme_substr
idn_to_ascii
intl


Convert domain name to IDNA ASCII form.

IDN Функции
idn_to_unicode
IDN Функции
PHP Manual

idn_to_ascii

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_ascii — Convert domain name to IDNA ASCII form.

Описание

Procedural style

string idn_to_ascii ( string $domain [, int $options ] )

This function converts Unicode domain name to IDNA ASCII-compatible format.

Список параметров

domain

Domain to convert. In PHP 5 must be UTF-8 encoded.

options

Conversion options - combination of IDNA_* constants.

Возвращаемые значения

Domain name encoded in ASCII-compatible form. или FALSE в случае возникновения ошибки

Примеры

Пример #1 idn_to_ascii() example

<?php

echo idn_to_ascii('täst.de');

?>

Результат выполнения данного примера:

xn--tst-qla.de

Смотрите также

  • idn_to_unicode() - Псевдоним idn_to_utf8

IDN Функции
idn_to_unicode
IDN Функции


Псевдоним idn_to_utf8

idn_to_ascii
idn_to_utf8
IDN Функции
PHP Manual

idn_to_unicode

(Информация о версии неизвестна, возможно, только в SVN)

idn_to_unicode — Псевдоним idn_to_utf8()

Описание

Эта функция является псевдонимом: idn_to_utf8().

idn_to_ascii
idn_to_utf8
IDN Функции


Convert domain name from IDNA ASCII to Unicode.

idn_to_unicode
intl Функции
IDN Функции
PHP Manual

idn_to_utf8

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.

Описание

Procedural style

string idn_to_utf8 ( string $domain [, int $options ] )

This function converts Unicode domain name from IDNA ASCII-compatible format to plain Unicode.

Список параметров

domain

Domain to convert in IDNA ASCII-compatible format.

options

Conversion options - combination of IDNA_* constants.

Возвращаемые значения

Domain name in Unicode. In PHP 5, domain name will be in UTF-8. или FALSE в случае возникновения ошибки

Примеры

Пример #1 idn_to_utf8() example

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

Результат выполнения данного примера:

täst.de

Смотрите также

  • idn_to_unicode() - Псевдоним idn_to_utf8

idn_to_unicode
intl Функции
IDN Функции


intl Функции

Содержание

  • intl_error_name — Get symbolic name for a given error code
  • intl_get_error_code — Get the last error code
  • intl_get_error_message — Get description of the last error
  • intl_is_failure — Check whether the given error code indicates failure
idn_to_utf8
intl_error_name
intl


Get symbolic name for a given error code

intl Функции
intl_get_error_code
intl Функции
PHP Manual

intl_error_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_error_name — Get symbolic name for a given error code

Описание

string intl_error_name ( int $error_code )

Return ICU error code name.

Список параметров

error_code

ICU error code.

Возвращаемые значения

The returned string will be the same as the name of the error code constant.

Примеры

Пример #1 intl_error_name() example

<?php
$coll     = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "Symbolic name for %d is %s\n.", $err_code, intl_error_name( $err_code ) );
?>

Результатом выполнения данного примера будет что-то подобное:

Symbolic name for -128 is U_USING_FALLBACK_WARNING.

Смотрите также

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_get_error_code() - Get the last error code
  • intl_get_error_message() - Get description of the last error

intl Функции
intl_get_error_code
intl Функции


Get the last error code

intl_error_name
intl_get_error_message
intl Функции
PHP Manual

intl_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_code — Get the last error code

Описание

int intl_get_error_code ( void )

Useful to handle errors occurred in static methods when there's no object to get error code from.

Возвращаемые значения

Error code returned by the last API function call.

Примеры

Пример #1 intl_get_error_code() example

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
    handle_error( intl_get_error_code() );
}
?>

Смотрите также

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_message() - Get description of the last error
  • collator_get_error_code() - Get collator's last error code
  • numfmt_get_error_code() - Get formatter's last error code.

intl_error_name
intl_get_error_message
intl Функции


Get description of the last error

intl_get_error_code
intl_is_failure
intl Функции
PHP Manual

intl_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_message — Get description of the last error

Описание

string intl_get_error_message ( void )

Get error message from last internationalization function called.

Возвращаемые значения

Description of an error occurred in the last API function call.

Примеры

Пример #1 intl_get_error_message() example

<?php
if( Collator::getAvailableLocales() === false ) {
    show_error( intl_get_error_message() );
}
?>

Смотрите также

  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure
  • collator_get_error_message() - Get text for collator's last error code
  • numfmt_get_error_message() - Get formatter's last error message.

intl_get_error_code
intl_is_failure
intl Функции


Check whether the given error code indicates failure

intl_get_error_message
Multibyte String
intl Функции
PHP Manual

intl_is_failure

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_is_failure — Check whether the given error code indicates failure

Описание

bool intl_is_failure ( int $error_code )

Список параметров

error_code

is a value that returned by functions: intl_get_error_code(), collator_get_error_code() .

Возвращаемые значения

TRUE if it the code indicates some failure, and FALSE in case of success or a warning.

Примеры

Пример #1 intl_is_failure() example

<?php
function check( $err_code )
{
    var_export( intl_is_failure( $err_code ) );
    echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

Результатом выполнения данного примера будет что-то подобное:

false
false
true

Смотрите также

  • intl_get_error_code() - Get the last error code
  • collator_get_error_code() - Get collator's last error code
  • Collator-getErrorCode() - Get collator's last error code

intl_get_error_message
Multibyte String
intl Функции


Multibyte String

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Summaries of supported encodings
  • Basics of Japanese multi-byte encodings
  • HTTP Input and Output
  • Supported Character Encodings
  • Function Overloading Feature
  • PHP Character Encoding Requirements
  • Multibyte String Функции
    • mb_check_encoding — Check if the string is valid for the specified encoding
    • mb_convert_case — Perform case folding on a string
    • mb_convert_encoding — Преобразует кодировку символов
    • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
    • mb_convert_variables — Convert character code in variable(s)
    • mb_decode_mimeheader — Decode string in MIME header field
    • mb_decode_numericentity — Decode HTML numeric string reference to character
    • mb_detect_encoding — Detect character encoding
    • mb_detect_order — Set/Get character encoding detection order
    • mb_encode_mimeheader — Encode string for MIME header
    • mb_encode_numericentity — Encode character to HTML numeric string reference
    • mb_encoding_aliases — Get aliases of a known encoding type
    • mb_ereg_match — Regular expression match for multibyte string
    • mb_ereg_replace — Replace regular expression with multibyte support
    • mb_ereg_search_getpos — Returns start point for next regular expression match
    • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
    • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
    • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
    • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
    • mb_ereg_search_setpos — Set start point of next regular expression match
    • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
    • mb_ereg — Regular expression match with multibyte support
    • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
    • mb_eregi — Regular expression match ignoring case with multibyte support
    • mb_get_info — Get internal settings of mbstring
    • mb_http_input — Detect HTTP input character encoding
    • mb_http_output — Set/Get HTTP output character encoding
    • mb_internal_encoding — Set/Get internal character encoding
    • mb_language — Set/Get current language
    • mb_list_encodings — Returns an array of all supported encodings
    • mb_output_handler — Callback function converts character encoding in output buffer
    • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
    • mb_preferred_mime_name — Get MIME charset string
    • mb_regex_encoding — Returns current encoding for multibyte regex as string
    • mb_regex_set_options — Set/Get the default options for mbregex functions
    • mb_send_mail — Send encoded mail
    • mb_split — Split multibyte string using regular expression
    • mb_strcut — Get part of string
    • mb_strimwidth — Get truncated string with specified width
    • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
    • mb_stristr — Finds first occurrence of a string within another, case insensitive
    • mb_strlen — Get string length
    • mb_strpos — Find position of first occurrence of string in a string
    • mb_strrchr — Finds the last occurrence of a character in a string within another
    • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
    • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
    • mb_strrpos — Find position of last occurrence of a string in a string
    • mb_strstr — Finds first occurrence of a string within another
    • mb_strtolower — Make a string lowercase
    • mb_strtoupper — Make a string uppercase
    • mb_strwidth — Return width of string
    • mb_substitute_character — Set/Get substitution character
    • mb_substr_count — Возвращает количество вхождений подстроки
    • mb_substr — Возвращает часть строки
intl_is_failure
Введение
Поддержка языков и кодировок


Введение

While there are many languages in which every necessary character can be represented by a one-to-one mapping to an 8-bit value, there are also several languages which require so many characters for written communication that they cannot be contained within the range a mere byte can code (A byte is made up of eight bits. Each bit can contain only two distinct values, one or zero. Because of this, a byte can only represent 256 unique values (two to the power of eight)). Multibyte character encoding schemes were developed to express more than 256 characters in the regular bytewise coding system.

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

mbstring provides multibyte specific string functions that help you deal with multibyte encodings in PHP. In addition to that, mbstring handles character encoding conversion between the possible encoding pairs. mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience (listed below).

Multibyte String
Установка и настройка
Multibyte String


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Multibyte String


Установка

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details.

The following configure options are related to the mbstring module.

  • --enable-mbstring : Enable mbstring functions. This option is required to use mbstring functions.

    libmbfl is necesarry for mbstring. libmbfl is bundled with mbstring. If libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.

    As of PHP 4.3.0, mbstring extension provides enhanced support for Simplified Chinese, Traditional Chinese, Korean, and Russian in addition to Japanese.

    For PHP 4.3.3 or before, To enable that feature, you will have to supply either one of the following options to the LANG parameter of --enable-mbstring=LANG ; --enable-mbstring=cn for Simplified Chinese support, --enable-mbstring=tw for Traditional Chinese support, --enable-mbstring=kr for Korean support, --enable-mbstring=ru for Russian support, and --enable-mbstring=ja for Japanese support (default). To enable all supported encoding, use --enable-mbstring=all .

    Замечание:

    As of PHP 4.3.4, all supported encoding by libmbfl is enabled with --enable-mbstring .

  • --enable-mbstr-enc-trans : Enable HTTP input character encoding conversion using mbstring conversion engine. If this feature is enabled, HTTP input character encoding may be converted to mbstring.internal_encoding automatically.

    Замечание:

    As of PHP 4.3.0, the option --enable-mbstr-enc-trans was eliminated and replaced with the runtime setting mbstring.encoding_translation. HTTP input character encoding conversion is enabled when this is set to On (the default is Off).

  • --disable-mbregex : Disable regular expression functions with multibyte character support.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

mbstring configuration options
Name | Default | Changeable | Changelog
mbstring.language | "neutral" | PHP_INI_ALL | Available since PHP 4.3.0.; PHP_INI_PERDIR in PHP <= 5.2.6
mbstring.detect_order | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.script_encoding | NULL | PHP_INI_ALL | Available since PHP 4.3.0.
mbstring.substitute_character | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in PHP <= 4.2.3; PHP_INI_SYSTEM | PHP_INI_PERDIR from PHP 4.3 through 5.2.6. Available since PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available since PHP 5.1.2.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mbstring.language string

The default national language setting (NLS) used in mbstring. Note that this option automagically defines mbstring.internal_encoding and mbstring.internal_encoding should be placed after mbstring.language in php.ini

mbstring.encoding_translation boolean

Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.

mbstring.internal_encoding string

Defines the default internal character encoding.

mbstring.http_input string

Defines the default HTTP input character encoding.

mbstring.http_output string

Defines the default HTTP output character encoding.

mbstring.detect_order string

Defines default character code detection order. See also mb_detect_order().

mbstring.substitute_character string

Defines character to substitute for invalid character encoding.

mbstring.func_overload string

Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.

mbstring.strict_detection boolean

Enables the strict encoding detection.

According to the » HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.

Although popular browsers are capable of giving a reasonably accurate guess to the character encoding of a given HTML document, it would be better to set the charset parameter in the Content-Type HTTP header to the appropriate value by header() or default_charset ini setting.

Пример #1 php.ini setting examples

; Set default language
mbstring.language        = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language        = English; Set default language to English
mbstring.language        = Japanese; Set default language to Japanese

;; Set default internal encoding
;; Note: Make sure to use character encoding works with PHP
mbstring.internal_encoding    = UTF-8  ; Set internal encoding to UTF-8

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set default HTTP input character encoding
;; Note: Script cannot change http_input setting.
mbstring.http_input           = pass    ; No conversion.
mbstring.http_input           = auto    ; Set HTTP input to auto
                                ; "auto" is expanded according to mbstring.language
mbstring.http_input           = SJIS    ; Set HTTP input to SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specify order

;; Set default HTTP output character encoding
mbstring.http_output          = pass    ; No conversion
mbstring.http_output          = UTF-8   ; Set HTTP output encoding to UTF-8

;; Set default character encoding detection order
mbstring.detect_order         = auto    ; Set detect order to auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order

;; Set default substitute character
mbstring.substitute_character = 12307   ; Specify Unicode value
mbstring.substitute_character = none    ; Do not print character
mbstring.substitute_character = long    ; Long Example: U+3000,JIS+7E7E

Пример #2 php.ini setting for EUC-JP users

;; Disable Output Buffering
output_buffering      = Off

;; Set HTTP header charset
default_charset       = EUC-JP

;; Set default language to Japanese
mbstring.language = Japanese

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set HTTP input encoding conversion to auto
mbstring.http_input   = auto

;; Convert HTTP output to EUC-JP
mbstring.http_output  = EUC-JP

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Пример #3 php.ini setting for SJIS users

;; Enable Output Buffering
output_buffering     = On

;; Set mb_output_handler to enable output conversion
output_handler       = mb_output_handler

;; Set HTTP header charset
default_charset      = Shift_JIS

;; Set default language to Japanese
mbstring.language = Japanese

;; Set http input encoding conversion to auto
mbstring.http_input  = auto

;; Convert to SJIS
mbstring.http_output = SJIS

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MB_OVERLOAD_MAIL (integer)
MB_OVERLOAD_STRING (integer)
MB_OVERLOAD_REGEX (integer)
MB_CASE_UPPER (integer)
MB_CASE_LOWER (integer)
MB_CASE_TITLE (integer)
Типы ресурсов
Summaries of supported encodings
Multibyte String


Summaries of supported encodings

Summaries of supported encodings
Name in the IANA character set registry:ISO-10646-UCS-4
Underlying character set:ISO 10646
Description: The Universal Character Set with 31-bit code space, standardized as UCS-4 by ISO/IEC 10646. It is kept synchronized with the latest version of the Unicode code map.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry:ISO-10646-UCS-4
Underlying character set:UCS-4
Description: See above.
Additional note: In contrast to UCS-4, strings are always assumed to be in big endian form.
Name in the IANA character set registry:ISO-10646-UCS-4
Underlying character set:UCS-4
Description: See above.
Additional note: In contrast to UCS-4, strings are always assumed to be in little endian form.
Name in the IANA character set registry:ISO-10646-UCS-2
Underlying character set:UCS-2
Description: The Universal Character Set with 16-bit code space, standardized as UCS-2 by ISO/IEC 10646. It is kept synchronized with the latest version of the unicode code map.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry:ISO-10646-UCS-2
Underlying character set:UCS-2
Description: See above.
Additional note: In contrast to UCS-2, strings are always assumed to be in big endian form.
Name in the IANA character set registry:ISO-10646-UCS-2
Underlying character set:UCS-2
Description: See above.
Additional note: In contrast to UCS-2, strings are always assumed to be in little endian form.
Name in the IANA character set registry:UTF-32
Underlying character set:Unicode
Description: Unicode Transformation Format of 32-bit unit width, whose encoding space refers to the Unicode's codeset standard. This encoding scheme wasn't identical to UCS-4 because the code space of Unicode were limited to a 21-bit value.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry:UTF-32BE
Underlying character set:Unicode
Description:See above
Additional note: In contrast to UTF-32, strings are always assumed to be in big endian form.
Name in the IANA character set registry:UTF-32LE
Underlying character set:Unicode
Description:See above
Additional note: In contrast to UTF-32, strings are always assumed to be in little endian form.
Name in the IANA character set registry:UTF-16
Underlying character set:Unicode
Description: Unicode Transformation Format of 16-bit unit width. It's worth a note that UTF-16 is no longer the same specification as UCS-2 because the surrogate mechanism has been introduced since Unicode 2.0 and UTF-16 now refers to a 21-bit code space.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry:UTF-16BE
Underlying character set:Unicode
Description: See above.
Additional note: In contrast to UTF-16, strings are always assumed to be in big endian form.
Name in the IANA character set registry:UTF-16LE
Underlying character set:Unicode
Description: See above.
Additional note: In contrast to UTF-16, strings are always assumed to be in little endian form.
Name in the IANA character set registry:UTF-8
Underlying character set:Unicode / UCS
Description: Unicode Transformation Format of 8-bit unit width.
Additional note:none
Name in the IANA character set registry:UTF-7
Underlying character set:Unicode
Description: A mail-safe transformation format of Unicode, specified in » RFC2152.
Additional note:none
Name in the IANA character set registry:(none)
Underlying character set:Unicode
Description: A variant of UTF-7 which is specialized for use in the » IMAP protocol.
Additional note:none
Name in the IANA character set registry: US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII
Underlying character set:ASCII / ISO 646
Description: American Standard Code for Information Interchange is a commonly-used 7-bit encoding. Also standardized as an international standard, ISO 646.
Additional note:(none)
Name in the IANA character set registry: EUC-JP (preferred MIME name) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese
Underlying character set: Compound of US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990
Description: As you see the name is derived from an abbreviation of Extended UNIX Code Packed Format for Japanese, this encoding is mostly used on UNIX or alike platforms. The original encoding scheme, Extended UNIX Code, is designed on the basis of ISO 2022.
Additional note: The character set referred to by EUC-JP is different to IBM932 / CP932, which are used by OS/2® and Microsoft® Windows®. For information interchange with those platforms, use EUCJP-WIN instead.
Name in the IANA character set registry:Shift_JIS (preferred MIME name) / MS_Kanji / csShift_JIS
Underlying character set:Compound of JIS X0201:1997 / JIS X0208:1997
Description: Shift_JIS was developed in early 80's, at the time personal Japanese word processors were brought into the market, in order to maintain compatiblities with the legacy encoding scheme JIS X 0201:1976. According to the IANA definition the codeset of Shift_JIS is slightly different to IBM932 / CP932. However, the names "SJIS" / "Shift_JIS" are often wrongly used to refer to these codesets.
Additional note:For the CP932 codemap, use SJIS-WIN instead.
Name in the IANA character set registry:(none)
Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: While this "encoding" uses the same encoding scheme as EUC-JP, the underlying character set is different. That is, some code points map to different characters than EUC-JP.
Additional note:none
Name in the IANA character set registry:Windows-31J / csWindows31J
Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: While this "encoding" uses the same encoding scheme as Shift_JIS, the underlying character set is different. That means some code points map to different characters than Shift_JIS.
Additional note:(none)
Name in the IANA character set registry:ISO-2022-JP (preferred MIME name) / csISO2022JP
Underlying character set: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983
Description: » RFC1468
Additional note:(none)
Name in the IANA character set registry:JIS
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-1
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-2
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-3
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-4
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-5
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-6
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-7
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-8
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-9
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-10
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-13
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-14
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-8859-15
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:byte2be
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:byte2le
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:byte4be
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:byte4le
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:BASE64
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:HTML-ENTITIES
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:7bit
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:8bit
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:EUC-CN
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:CP936
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:HZ
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:EUC-TW
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:CP950
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:BIG-5
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:EUC-KR
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:UHC (CP949)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:ISO-2022-KR
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:Windows-1251 (CP1251)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:Windows-1252 (CP1252)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:CP866 (IBM866)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry:KOI8-R
Underlying character set:
Description:
Additional note:
Предопределенные константы
Basics of Japanese multi-byte encodings
Multibyte String


Basics of Japanese multi-byte encodings

Japanese characters can only be represented by multibyte encodings, and multiple encoding standards are used depending on platform and text purpose. To make matters worse, these encoding standards differ slightly from one another. In order to create a web application which would be usable in a Japanese environment, a developer has to keep these complexities in mind to ensure that the proper character encodings are used.

  • Storage for a character can be up to six bytes
  • Most Japanese multibyte characters appear twice as wide as single-byte characters. These characters are called "zen-kaku" in Japanese, which means "full width". Other, narrower, characters are called "han-kaku", which means "half width". The graphical properties of the characters, however, depends upon the type faces used to display them.
  • Some character encodings use shift(escape) sequences defined in ISO-2022 to switch the code map of the specific code area (00h to 7fh).
  • ISO-2022-JP should be used in SMTP/NNTP, and headers and entities should be reencoded as per RFC requirements. Although those are not requisites, it's still a good idea because several popular user agents cannot recognize any other encoding methods.
  • Web pages created for mobile phone services such as » i-mode or » EZweb are supposed to use Shift_JIS.
  • As of PHP 5.4.0, the pictogram characters used for mobile phone service such as » i-mode or » EZweb are supported.

Summaries of supported encodings
HTTP Input and Output
Multibyte String


HTTP Input and Output

HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output.

Замечание:

In PHP 4.3.2 or earlier versions, there was a limitation in this functionality that mbstring does not perform character encoding conversion in POST data if the enctype attribute in the form element is set to multipart/form-data. So you have to convert the incoming data by yourself in this case if necessary.

Beginning with PHP 4.3.3, if enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in php.ini the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys.

  • HTTP Input

    There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in php.ini.

    Пример #1 Disable HTTP input conversion in php.ini

    ;; Disable HTTP Input conversion
mbstring.http_input = pass
;; Disable HTTP Input conversion (PHP 4.3.0 or higher)
mbstring.encoding_translation = Off

    When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in httpd.conf or per directory with .htaccess. Refer to the Configuration section and Apache Manual for details.

  • HTTP Output

    There are several ways to enable output character encoding conversion. One is using php.ini, another is using ob_start() with mb_output_handler() as the ob_start callback function.

Пример #2 php.ini setting example

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

Пример #3 Script example

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>

Basics of Japanese multi-byte encodings
Supported Character Encodings
Multibyte String


Supported Character Encodings

Currently the following character encodings are supported by the mbstring module. Any of those Character encodings can be specified in the encoding parameter of mbstring functions.

The following character encodings are supported in this PHP extension:

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • ISO-2022-JP-MS
  • CP932
  • CP51932
  • SJIS-mac**
  • SJIS-Mobile#DOCOMO** (alias: SJIS-DOCOMO)
  • SJIS-Mobile#KDDI** (alias: SJIS-KDDI)
  • SJIS-Mobile#SOFTBANK** (alias: SJIS-SOFTBANK)
  • UTF-8-Mobile#DOCOMO** (alias: UTF-8-DOCOMO)
  • UTF-8-Mobile#KDDI-A**
  • UTF-8-Mobile#KDDI-B** (alias: UTF-8-KDDI)
  • UTF-8-Mobile#SOFTBANK** (alias: UTF-8-SOFTBANK)
  • ISO-2022-JP-MOBILE#KDDI** (alias: ISO-2022-JP-KDDI)
  • SJIS-mac** (alias: MacJapanese)
  • JIS
  • JIS-ms
  • CP50220
  • CP50220raw
  • CP50221
  • CP50222
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • GB18030**
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R*

* denotes encodings usable also in regular expressions.

** denotes encodings available since PHP 5.4.0.

Any php.ini entry which accepts an encoding name can also use the values "auto" and "pass". mbstring functions which accept an encoding name can also use the value "auto".

If "pass" is set, no character encoding conversion is performed.

If "auto" is set, it is expanded to the list of encodings defined per the NLS. For instance, if the NLS is set to Japanese, the value is assumed to be "ASCII,JIS,UTF-8,EUC-JP,SJIS".

See also mb_detect_order()

HTTP Input and Output
Function Overloading Feature
Multibyte String


Function Overloading Feature

You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.

mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.

To use function overloading, set mbstring.func_overload in php.ini to a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions. For example, if it is set to 7, mail, strings and regular expression functions will be overloaded. The list of overloaded functions are shown below.

Functions to be overloaded
value of mbstring.func_overload | original function | overloaded function
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Замечание:

It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.

Supported Character Encodings
PHP Character Encoding Requirements
Multibyte String


PHP Character Encoding Requirements

Encodings of the following types are safely used with PHP.

  • A singlebyte encoding,

    • which has ASCII-compatible (ISO646 compatible) mappings for the characters in range of 00h to 7fh.

  • A multibyte encoding,

    • which has ASCII-compatible mappings for the characters in range of 00h to 7fh.
    • which don't use ISO2022 escape sequences.
    • which don't use a value from 00h to 7fh in any of the compounded bytes that represents a single character.

These are examples of character encodings that are unlikely to work with PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Although PHP scripts written in any of those encodings might not work, especially in the case where encoded strings appear as identifiers or literals in the script, you can almost avoid using these encodings by setting up the mbstring's transparent encoding filter function for incoming HTTP queries.

Замечание:

It's highly discouraged to use SJIS, BIG5, CP936, CP949 and GB18030 for the internal encoding unless you are familiar with the parser, the scanner and the character encoding.

Замечание:

If you are connecting to a database with PHP, it is recommended that you use the same character encoding for both the database and the internal encoding for ease of use and better performance.

If you are using PostgreSQL, the character encoding used in the database and the one used in PHP may differ as it supports automatic character set conversion between the backend and the frontend.

Function Overloading Feature
Multibyte String Функции
Multibyte String


Multibyte String Функции

References

Multibyte character encoding schemes and their related issues are fairly complicated, and are beyond the scope of this documentation. Please refer to the following URLs and other resources for further information regarding these topics.

  • Unicode materials

    » http://www.unicode.org/

  • Japanese/Korean/Chinese character information

    » http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Содержание

  • mb_check_encoding — Check if the string is valid for the specified encoding
  • mb_convert_case — Perform case folding on a string
  • mb_convert_encoding — Преобразует кодировку символов
  • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
  • mb_convert_variables — Convert character code in variable(s)
  • mb_decode_mimeheader — Decode string in MIME header field
  • mb_decode_numericentity — Decode HTML numeric string reference to character
  • mb_detect_encoding — Detect character encoding
  • mb_detect_order — Set/Get character encoding detection order
  • mb_encode_mimeheader — Encode string for MIME header
  • mb_encode_numericentity — Encode character to HTML numeric string reference
  • mb_encoding_aliases — Get aliases of a known encoding type
  • mb_ereg_match — Regular expression match for multibyte string
  • mb_ereg_replace — Replace regular expression with multibyte support
  • mb_ereg_search_getpos — Returns start point for next regular expression match
  • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
  • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
  • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
  • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
  • mb_ereg_search_setpos — Set start point of next regular expression match
  • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
  • mb_ereg — Regular expression match with multibyte support
  • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
  • mb_eregi — Regular expression match ignoring case with multibyte support
  • mb_get_info — Get internal settings of mbstring
  • mb_http_input — Detect HTTP input character encoding
  • mb_http_output — Set/Get HTTP output character encoding
  • mb_internal_encoding — Set/Get internal character encoding
  • mb_language — Set/Get current language
  • mb_list_encodings — Returns an array of all supported encodings
  • mb_output_handler — Callback function converts character encoding in output buffer
  • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
  • mb_preferred_mime_name — Get MIME charset string
  • mb_regex_encoding — Returns current encoding for multibyte regex as string
  • mb_regex_set_options — Set/Get the default options for mbregex functions
  • mb_send_mail — Send encoded mail
  • mb_split — Split multibyte string using regular expression
  • mb_strcut — Get part of string
  • mb_strimwidth — Get truncated string with specified width
  • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
  • mb_stristr — Finds first occurrence of a string within another, case insensitive
  • mb_strlen — Get string length
  • mb_strpos — Find position of first occurrence of string in a string
  • mb_strrchr — Finds the last occurrence of a character in a string within another
  • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
  • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
  • mb_strrpos — Find position of last occurrence of a string in a string
  • mb_strstr — Finds first occurrence of a string within another
  • mb_strtolower — Make a string lowercase
  • mb_strtoupper — Make a string uppercase
  • mb_strwidth — Return width of string
  • mb_substitute_character — Set/Get substitution character
  • mb_substr_count — Возвращает количество вхождений подстроки
  • mb_substr — Возвращает часть строки
PHP Character Encoding Requirements
mb_check_encoding
Multibyte String


Check if the string is valid for the specified encoding

Multibyte String Функции
mb_convert_case
Multibyte String Функции
PHP Manual

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)

mb_check_encoding — Check if the string is valid for the specified encoding

Описание

bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )

Checks if the specified byte stream is valid for the specified encoding. It is useful to prevent so-called "Invalid Encoding Attack".

Список параметров

var

The byte stream to check. If it is omitted, this function checks all the input from the beginning of the request.

encoding

The expected encoding.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Multibyte String Функции
mb_convert_case
Multibyte String Функции


Perform case folding on a string

mb_check_encoding
mb_convert_encoding
Multibyte String Функции
PHP Manual

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case — Perform case folding on a string

Описание

string mb_convert_case ( string $str , int $mode = MB_CASE_UPPER [, string $encoding = mb_internal_encoding() ] )

Performs case folding on a string, converted in the way specified by mode.

Список параметров

str

The string being converted.

mode

The mode of the conversion. It can be one of MB_CASE_UPPER, MB_CASE_LOWER, or MB_CASE_TITLE.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

A case folded version of string converted in the way specified by mode.

Юникод

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

Примеры

Пример #1 mb_convert_case() example

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Mary Had A Little Lamb And She Loved It So
?>

Пример #2 mb_convert_case() example with non-Latin UTF-8 text

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνόσ
?>

Смотрите также

  • mb_strtolower() - Make a string lowercase
  • mb_strtoupper() - Make a string uppercase
  • strtolower() - Преобразует строку в нижний регистр
  • strtoupper() - Преобразует строку в верхний регистр
  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке

mb_check_encoding
mb_convert_encoding
Multibyte String Функции


Преобразует кодировку символов

mb_convert_case
mb_convert_kana
Multibyte String Функции
PHP Manual

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding — Преобразует кодировку символов

Описание

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

Преобразует символы строки string str в кодировку to_encoding. Также можно указать необязательный параметр from_encoding.

Список параметров

str

Строка (string), которая преобразуется.

to_encoding

Кодировка, в которую будет преобразована строка str.

from_encoding

Параметр для указания исходной кодировки строки. Это может быть массив (array), или строка со списком кодировок через запятую. Если параметр from_encoding не указан, то кодировка определяется автоматически.

Смотри поддерживаемые кодировки.

Возвращаемые значения

Преобразованная строка.

Примеры

Пример #1 Пример использования mb_convert_encoding()

<?php
/* Преобразует строку в кодировку SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Преобразует из EUC-JP в UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Автоматически определяется кодировка среди JIS, eucjp-win, sjis-win, затем преобразуется в UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" используется для обозначения "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Смотрите также

  • mb_detect_order() - Set/Get character encoding detection order

mb_convert_case
mb_convert_kana
Multibyte String Функции


Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

mb_convert_encoding
mb_convert_variables
Multibyte String Функции
PHP Manual

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

Описание

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding ]] )

Performs a "han-kaku" - "zen-kaku" conversion for string str. This function is only useful for Japanese.

Список параметров

str

The string being converted.

option

The conversion option.

Specify with a combination of following options.

Applicable Conversion Options
Option | Meaning
r | Convert "zen-kaku" alphabets to "han-kaku"
R | Convert "han-kaku" alphabets to "zen-kaku"
n | Convert "zen-kaku" numbers to "han-kaku"
N | Convert "han-kaku" numbers to "zen-kaku"
a | Convert "zen-kaku" alphabets and numbers to "han-kaku"
A | Convert "han-kaku" alphabets and numbers to "zen-kaku" (Characters included in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027, U+005C, U+007E)
s | Convert "zen-kaku" space to "han-kaku" (U+3000 -> U+0020)
S | Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
k | Convert "zen-kaku kata-kana" to "han-kaku kata-kana"
K | Convert "han-kaku kata-kana" to "zen-kaku kata-kana"
h | Convert "zen-kaku hira-gana" to "han-kaku kata-kana"
H | Convert "han-kaku kata-kana" to "zen-kaku hira-gana"
c | Convert "zen-kaku kata-kana" to "zen-kaku hira-gana"
C | Convert "zen-kaku hira-gana" to "zen-kaku kata-kana"
V | Collapse voiced sound notation and convert them into a character. Use with "K","H"

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

The converted string.

Примеры

Пример #1 mb_convert_kana() example

<?php
/* Convert all "kana" to "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convert "han-kaku" "kata-kana" to "zen-kaku" "kata-kana"
   and "zen-kaku" alpha-numeric to "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

mb_convert_encoding
mb_convert_variables
Multibyte String Функции


Convert character code in variable(s)

mb_convert_kana
mb_decode_mimeheader
Multibyte String Функции
PHP Manual

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_variables — Convert character code in variable(s)

Описание

string mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &$... ] )

Converts character encoding of variables vars in encoding from_encoding to encoding to_encoding.

mb_convert_variables() join strings in Array or Object to detect encoding, since encoding detection tends to fail for short strings. Therefore, it is impossible to mix encoding in single array or object.

Список параметров

to_encoding

The encoding that the string is being converted to.

from_encoding

from_encoding is specified as an array or comma separated string, it tries to detect encoding from from-coding. When from_encoding is omitted, detect_order is used.

vars

vars is the reference to the variable being converted. String, Array and Object are accepted. mb_convert_variables() assumes all parameters have the same encoding.

...

Additional vars.

Возвращаемые значения

The character encoding before conversion for success, or FALSE for failure.

Примеры

Пример #1 mb_convert_variables() example

<?php
/* Convert variables $post1, $post2 to internal encoding */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

mb_convert_kana
mb_decode_mimeheader
Multibyte String Функции


Decode string in MIME header field

mb_convert_variables
mb_decode_numericentity
Multibyte String Функции
PHP Manual

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_mimeheader — Decode string in MIME header field

Описание

string mb_decode_mimeheader ( string $str )

Decodes encoded-word string str in MIME header.

Список параметров

str

The string being decoded.

Возвращаемые значения

The decoded string in internal character encoding.

Смотрите также

  • mb_encode_mimeheader() - Encode string for MIME header

mb_convert_variables
mb_decode_numericentity
Multibyte String Функции


Decode HTML numeric string reference to character

mb_decode_mimeheader
mb_detect_encoding
Multibyte String Функции
PHP Manual

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_numericentity — Decode HTML numeric string reference to character

Описание

string mb_decode_numericentity ( string $str , array $convmap , string $encoding )

Convert numeric string reference of string str in a specified block to character.

Список параметров

str

The string being decoded.

convmap

convmap is an array that specifies the code area to convert.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

The converted string.

Примеры

Пример #1 convmap example

$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN,
// then convert value to numeric string reference.

Смотрите также

  • mb_encode_numericentity() - Encode character to HTML numeric string reference

mb_decode_mimeheader
mb_detect_encoding
Multibyte String Функции


Detect character encoding

mb_decode_numericentity
mb_detect_order
Multibyte String Функции
PHP Manual

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_encoding — Detect character encoding

Описание

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

Detects character encoding in string str.

Список параметров

str

The string being detected.

encoding_list

encoding_list is list of character encoding. Encoding order may be specified by array or comma separated list string.

If encoding_list is omitted, detect_order is used.

strict

strict specifies whether to use the strict encoding detection or not. Default is FALSE.

Возвращаемые значения

The detected character encoding or FALSE if the encoding cannot be detected from the given string.

Примеры

Пример #1 mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded according to mbstring.language */
echo mb_detect_encoding($str, "auto");

/* Specify encoding_list character encoding by comma separated list */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Use array to specify encoding_list  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

Смотрите также

  • mb_detect_order() - Set/Get character encoding detection order

mb_decode_numericentity
mb_detect_order
Multibyte String Функции


Set/Get character encoding detection order

mb_detect_encoding
mb_encode_mimeheader
Multibyte String Функции
PHP Manual

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order — Set/Get character encoding detection order

Описание

mixed mb_detect_order ([ mixed $encoding_list ] )

Sets the automatic character encoding detection order to encoding_list.

Список параметров

encoding_list

encoding_list is an array or comma separated list of character encoding. See supported encodings.

If encoding_list is omitted, it returns the current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

For ISO-8859-*, mbstring always detects as ISO-8859-*.

For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.

Пример #1 Useless detect order example

; Always detect as ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Always detect as UTF-8, since ASCII/UTF-7 values are
; valid for UTF-8
detect_order = UTF-8, ASCII, UTF-7

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #2 mb_detect_order() examples

<?php
/* Set detection order by enumerated list */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Set detection order by array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Display current detection order */
echo implode(", ", mb_detect_order());
?>

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_send_mail() - Send encoded mail

mb_detect_encoding
mb_encode_mimeheader
Multibyte String Функции


Encode string for MIME header

mb_detect_order
mb_encode_numericentity
Multibyte String Функции
PHP Manual

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader — Encode string for MIME header

Описание

string mb_encode_mimeheader ( string $str [, string $charset [, string $transfer_encoding [, string $linefeed = "\r\n" [, int $indent = 0 ]]]] )

Encodes a given string str by the MIME header encoding scheme.

Список параметров

str

The string being encoded.

charset

charset specifies the name of the character set in which str is represented in. The default value is determined by the current NLS setting (mbstring.language). mb_internal_encoding() should be set to same encoding.

transfer_encoding

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

linefeed

linefeed specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a » RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

indent

Indentation of the first line (number of characters in the header before str).

Возвращаемые значения

A converted version of the string represented in ASCII.

Список изменений

Версия | Описание
5.0.0 | The indent parameter was added.

Примеры

Пример #1 mb_encode_mimeheader() example

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Примечания

Замечание:

This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

Смотрите также

  • mb_decode_mimeheader() - Decode string in MIME header field

mb_detect_order
mb_encode_numericentity
Multibyte String Функции


Encode character to HTML numeric string reference

mb_encode_mimeheader
mb_encoding_aliases
Multibyte String Функции
PHP Manual

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity — Encode character to HTML numeric string reference

Описание

string mb_encode_numericentity ( string $str , array $convmap , string $encoding )

Converts specified character codes in string str from HTML numeric character reference to character code.

Список параметров

str

The string being encoded.

convmap

convmap is array specifies code area to convert.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

The converted string.

Примеры

Пример #1 convmap example

$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.

Примеры

Пример #2 mb_encode_numericentity() example

<?php
/* Convert Left side of ISO-8859-1 to HTML numeric character reference */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convert user defined SJIS-win code in block 95-104 to numeric
   string reference */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Смотрите также

  • mb_decode_numericentity() - Decode HTML numeric string reference to character

mb_encode_mimeheader
mb_encoding_aliases
Multibyte String Функции


Get aliases of a known encoding type

mb_encode_numericentity
mb_ereg_match
Multibyte String Функции
PHP Manual

mb_encoding_aliases

(PHP 5 >= 5.3.0)

mb_encoding_aliases — Get aliases of a known encoding type

Описание

array mb_encoding_aliases ( string $encoding )

Returns an array of aliases for a known encoding type.

Список параметров

encoding

The encoding type being checked, for aliases.

Возвращаемые значения

Returns a numerically indexed array of encoding aliases on success, или FALSE в случае возникновения ошибки

Ошибки

Emits an E_WARNING level error if encoding is unknown.

Примеры

Пример #1 mb_encoding_aliases() example

<?php
$encoding        = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

    $aliases = mb_encoding_aliases($encoding);
    print_r($aliases);

} else {

    echo "Unknown ($encoding) encoding.\n";

}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Смотрите также

  • mb_list_encodings() - Returns an array of all supported encodings

mb_encode_numericentity
mb_ereg_match
Multibyte String Функции


Regular expression match for multibyte string

mb_encoding_aliases
mb_ereg_replace
Multibyte String Функции
PHP Manual

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_match — Regular expression match for multibyte string

Описание

bool mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] )

A regular expression match for a multibyte string

Список параметров

pattern

The regular expression pattern.

string

The string being evaluated.

option

Возвращаемые значения

Returns TRUE if string matches the regular expression pattern, FALSE if not.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg() - Regular expression match with multibyte support

mb_encoding_aliases
mb_ereg_replace
Multibyte String Функции


Replace regular expression with multibyte support

mb_ereg_match
mb_ereg_search_getpos
Multibyte String Функции
PHP Manual

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_replace — Replace regular expression with multibyte support

Описание

string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )

Scans string for matches to pattern, then replaces the matched text with replacement

Список параметров

pattern

The regular expression pattern.

Multibyte characters may be used in pattern.

replacement

The replacement text.

string

The string being checked.

option
Matching condition can be set by option parameter. If i is specified for this parameter, the case will be ignored. If x is specified, white space will be ignored. If m is specified, match will be executed in multiline mode and line break will be included in '.'. If p is specified, match will be executed in POSIX mode, line break will be considered as normal character. If e is specified, replacement string will be evaluated as PHP expression.

Возвращаемые значения

The resultant string on success, or FALSE on error.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Внимание

Никогда не используйте модификатор e при работе с данными, полученными из недостоверных источников. Не выполняется никакого автоматического экранирования этих данных (в отличии от preg_replace()). Неучитывание данных требований, скорее всего, создаст уязвимость выполнения удаленного кода в вашем приложении.

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_eregi_replace() - Replace regular expression with multibyte support ignoring case

mb_ereg_match
mb_ereg_search_getpos
Multibyte String Функции


Returns start point for next regular expression match

mb_ereg_replace
mb_ereg_search_getregs
Multibyte String Функции
PHP Manual

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getpos — Returns start point for next regular expression match

Описание

int mb_ereg_search_getpos ( void )

Returns the start point for the next regular expression match.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

mb_ereg_search_getpos() returns
the point to start regular expression match for
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs(). The position is
represented by bytes from the head of string.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_setpos() - Set start point of next regular expression match

mb_ereg_replace
mb_ereg_search_getregs
Multibyte String Функции


Retrieve the result from the last multibyte regular expression match

mb_ereg_search_getpos
mb_ereg_search_init
Multibyte String Функции
PHP Manual

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match

Описание

array mb_ereg_search_getregs ( void )

Retrieve the result from the last multibyte regular expression match

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array including the sub-string of matched part by last mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). If there are some matches, the first element will have the matched sub-string, the second element will have the first part grouped with brackets, the third element will have the second part grouped with brackets, and so on. It returns FALSE on error;

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_getpos
mb_ereg_search_init
Multibyte String Функции


Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_getregs
mb_ereg_search_pos
Multibyte String Функции
PHP Manual

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match

Описание

bool mb_ereg_search_init ( string $string [, string $pattern [, string $option = "msr" ]] )

mb_ereg_search_init() sets
string and pattern
for a multibyte regular expression. These values are used for
mb_ereg_search(),
mb_ereg_search_pos(), and
mb_ereg_search_regs().

Список параметров

string

The search string.

pattern

The search pattern.

option

The search option.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_regs() - Returns the matched part of a multibyte regular expression

mb_ereg_search_getregs
mb_ereg_search_pos
Multibyte String Функции


Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

mb_ereg_search_init
mb_ereg_search_regs
Multibyte String Функции
PHP Manual

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

Описание

array mb_ereg_search_pos ([ string $pattern [, string $option = "ms" ]] )

Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

Список параметров

pattern

The search pattern.

option

The search option.

Возвращаемые значения

An array including the position of a matched part for a multibyte regular expression. The first element of the array will be the beginning of matched part, the second element will be length (bytes) of matched part. It returns FALSE on error.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_init
mb_ereg_search_regs
Multibyte String Функции


Returns the matched part of a multibyte regular expression

mb_ereg_search_pos
mb_ereg_search_setpos
Multibyte String Функции
PHP Manual

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_regs — Returns the matched part of a multibyte regular expression

Описание

array mb_ereg_search_regs ([ string $pattern [, string $option = "ms" ]] )

Returns the matched part of a multibyte regular expression.

Список параметров

pattern

The search pattern.

option

The search option.

Возвращаемые значения

mb_ereg_search_regs() executes the multibyte regular expression match, and if there are some matched part, it returns an array including substring of matched part as first element, the first grouped part with brackets as second element, the second grouped part as third element, and so on. It returns FALSE on error.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_pos
mb_ereg_search_setpos
Multibyte String Функции


Set start point of next regular expression match

mb_ereg_search_regs
mb_ereg_search
Multibyte String Функции
PHP Manual

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_setpos — Set start point of next regular expression match

Описание

bool mb_ereg_search_setpos ( int $position )

mb_ereg_search_setpos() sets the starting point of a match for mb_ereg_search().

Список параметров

position

The position to set.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_regs
mb_ereg_search
Multibyte String Функции


Multibyte regular expression match for predefined multibyte string

mb_ereg_search_setpos
mb_ereg
Multibyte String Функции
PHP Manual

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search — Multibyte regular expression match for predefined multibyte string

Описание

bool mb_ereg_search ([ string $pattern [, string $option = "ms" ]] )

Performs a multibyte regular expression match for a predefined multibyte string.

Список параметров

pattern

The search pattern.

option

The search option.

Возвращаемые значения

mb_ereg_search() returns TRUE if the multibyte string matches with the regular expression, or FALSE otherwise. The string for matching is set by mb_ereg_search_init(). If pattern is not specified, the previous one is used.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_setpos
mb_ereg
Multibyte String Функции


Regular expression match with multibyte support

mb_ereg_search
mb_eregi_replace
Multibyte String Функции
PHP Manual

mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg — Regular expression match with multibyte support

Описание

int mb_ereg ( string $pattern , string $string [, array $regs ] )

Executes the regular expression match with multibyte support.

Список параметров

pattern

The search pattern.

string

The search string.

regs

Contains a substring of the matched string.

Возвращаемые значения

Executes the regular expression match with multibyte support, and returns 1 if matches are found. If the optional regs parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The function returns 1 if it matches with the empty string. If no matches are found or an error happens, FALSE will be returned.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_eregi() - Regular expression match ignoring case with multibyte support

mb_ereg_search
mb_eregi_replace
Multibyte String Функции


Replace regular expression with multibyte support ignoring case

mb_ereg
mb_eregi
Multibyte String Функции
PHP Manual

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi_replace — Replace regular expression with multibyte support ignoring case

Описание

string mb_eregi_replace ( string $pattern , string $replace , string $string [, string $option = "msri" ] )

Scans string for matches to pattern, then replaces the matched text with replacement.

Список параметров

pattern

The regular expression pattern. Multibyte characters may be used. The case will be ignored.

replace

The replacement text.

string

The searched string.

option
option has the same meaning as in mb_ereg_replace().

Возвращаемые значения

The resultant string or FALSE on error.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Внимание

Никогда не используйте модификатор e при работе с данными, полученными из недостоверных источников. Не выполняется никакого автоматического экранирования этих данных (в отличии от preg_replace()). Неучитывание данных требований, скорее всего, создаст уязвимость выполнения удаленного кода в вашем приложении.

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg_replace() - Replace regular expression with multibyte support

mb_ereg
mb_eregi
Multibyte String Функции


Regular expression match ignoring case with multibyte support

mb_eregi_replace
mb_get_info
Multibyte String Функции
PHP Manual

mb_eregi

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi — Regular expression match ignoring case with multibyte support

Описание

int mb_eregi ( string $pattern , string $string [, array $regs ] )

Executes the case insensitive regular expression match with multibyte support.

Список параметров

pattern

The regular expression pattern.

string

The string being searched.

regs

Contains a substring of the matched string.

Возвращаемые значения

Executes the regular expression match with multibyte support, and returns 1 if matches are found. If the optional regs parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The function returns 1 if it matches with the empty string. If no matches are found or an error happens, FALSE will be returned.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg() - Regular expression match with multibyte support

mb_eregi_replace
mb_get_info
Multibyte String Функции


Get internal settings of mbstring

mb_eregi
mb_http_input
Multibyte String Функции
PHP Manual

mb_get_info

(PHP 4 >= 4.2.0, PHP 5)

mb_get_info — Get internal settings of mbstring

Описание

mixed mb_get_info ([ string $type = "all" ] )

mb_get_info() returns the internal setting parameters of mbstring.

Список параметров

type

If type isn't specified or is specified to "all", an array having the elements "internal_encoding", "http_output", "http_input", "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding" will be returned.

If type is specified as "http_output", "http_input", "internal_encoding", "func_overload", the specified setting parameter will be returned.

Возвращаемые значения

An array of type information if type is not specified, otherwise a specific type.

Список изменений

Версия | Описание
5.1.3 | The entries "mail_charset", "mail_header_encoding", and "mail_body_encoding" were made available.
5.3.0 | The entry "http_output_conv_mimetypes" was made available.

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_http_output() - Set/Get HTTP output character encoding

mb_eregi
mb_http_input
Multibyte String Функции


Detect HTTP input character encoding

mb_get_info
mb_http_output
Multibyte String Функции
PHP Manual

mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input — Detect HTTP input character encoding

Описание

mixed mb_http_input ([ string $type = "" ] )

Detects the HTTP input character encoding.

Список параметров

type

Input string specifies the input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, and "I" for the whole list (will return array). If type is omitted, it returns the last input type processed.

Возвращаемые значения

The character encoding name, as per the type. If mb_http_input() does not process specified HTTP input, it returns FALSE.

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order

mb_get_info
mb_http_output
Multibyte String Функции


Set/Get HTTP output character encoding

mb_http_input
mb_internal_encoding
Multibyte String Функции
PHP Manual

mb_http_output

(PHP 4 >= 4.0.6, PHP 5)

mb_http_output — Set/Get HTTP output character encoding

Описание

mixed mb_http_output ([ string $encoding ] )

Set/Get the HTTP output character encoding. Output after this function is converted to encoding.

Список параметров

encoding

If encoding is set, mb_http_output() sets the HTTP output character encoding to encoding.

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding.

Возвращаемые значения

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding. Otherwise, Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_detect_order() - Set/Get character encoding detection order

mb_http_input
mb_internal_encoding
Multibyte String Функции


Set/Get internal character encoding

mb_http_output
mb_language
Multibyte String Функции
PHP Manual

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_internal_encoding — Set/Get internal character encoding

Описание

mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

Set/Get the internal character encoding

Список параметров

encoding

encoding is the character encoding name used for the HTTP input character encoding conversion, HTTP output character encoding conversion, and the default character encoding for string functions defined by the mbstring module.

Возвращаемые значения

If encoding is set, then Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If encoding is omitted, then the current character encoding name is returned.

Примеры

Пример #1 mb_internal_encoding() example

<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();
?>

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order

mb_http_output
mb_language
Multibyte String Функции


Set/Get current language

mb_internal_encoding
mb_list_encodings
Multibyte String Функции
PHP Manual

mb_language

(PHP 4 >= 4.0.6, PHP 5)

mb_language — Set/Get current language

Описание

mixed mb_language ([ string $language ] )

Set/Get the current language.

Список параметров

language

Used for encoding e-mail messages. Valid languages are "Japanese", "ja","English","en" and "uni" (UTF-8). mb_send_mail() uses this setting to encode e-mail.

Language and its setting is ISO-2022-JP/Base64 for Japanese, UTF-8/Base64 for uni, ISO-8859-1/quoted printable for English.

Возвращаемые значения

If language is set and language is valid, it returns TRUE. Otherwise, it returns FALSE. When language is omitted, it returns the language name as a string. If no language is set previously, it then returns FALSE.

Смотрите также

  • mb_send_mail() - Send encoded mail

mb_internal_encoding
mb_list_encodings
Multibyte String Функции


Returns an array of all supported encodings

mb_language
mb_output_handler
Multibyte String Функции
PHP Manual

mb_list_encodings

(PHP 5)

mb_list_encodings — Returns an array of all supported encodings

Описание

array mb_list_encodings ( void )

Returns an array containing all supported encodings.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a numerically indexed array.

Ошибки

This function does not emit any errors.

Примеры

Пример #1 mb_list_encodings() example

<?php

print_r(mb_list_encodings());

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

mb_language
mb_output_handler
Multibyte String Функции


Callback function converts character encoding in output buffer

mb_list_encodings
mb_parse_str
Multibyte String Функции
PHP Manual

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5)

mb_output_handler — Callback function converts character encoding in output buffer

Описание

string mb_output_handler ( string $contents , int $status )

mb_output_handler() is
ob_start() callback
function. mb_output_handler() converts
characters in the output buffer from internal character encoding to
HTTP output character encoding.

Список параметров

contents

The contents of the output buffer.

status

The status of the output buffer.

Возвращаемые значения

The converted string.

Список изменений

Версия Описание
4.1.0

This handler now adds the charset HTTP header when the following conditions are met:

  • Does not set Content-Type, using header().
  • The default MIME type begins with text/.
  • The mbstring.http_input setting is something other than pass.

Примеры

Пример #1 mb_output_handler() example

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Примечания

Замечание:

If you want to output some binary data such as image from PHP script with PHP 4.3.0 or later, Content-Type: header must be send using header() before any binary data was send to client (e.g. header("Content-Type: image/png")). If Content-Type: header was send, output character encoding conversion will not be performed.

Note that if 'Content-Type: text/*' was send using header(), the sending data is regarded as text, encoding conversion will be performed using character encoding settings.

If you want to output some binary data such as image from PHP script with PHP 4.2.x or earlier, you must set output encoding to "pass" using mb_http_output().

Смотрите также

  • ob_start() - Включение буферизации вывода

mb_list_encodings
mb_parse_str
Multibyte String Функции


Parse GET/POST/COOKIE data and set global variable

mb_output_handler
mb_preferred_mime_name
Multibyte String Функции
PHP Manual

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5)

mb_parse_str — Parse GET/POST/COOKIE data and set global variable

Описание

bool mb_parse_str ( string $encoded_string [, array &$result ] )

Parses GET/POST/COOKIE data and sets global variables. Since PHP does not provide raw POST/COOKIE data, it can only be used for GET data for now. It parses URL encoded data, detects encoding, converts coding to internal encoding and set values to the result array or global variables.

Список параметров

encoded_string

The URL encoded data.

result

An array containing decoded and character encoded converted values.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mb_detect_order() - Set/Get character encoding detection order
  • mb_internal_encoding() - Set/Get internal character encoding

mb_output_handler
mb_preferred_mime_name
Multibyte String Функции


Get MIME charset string

mb_parse_str
mb_regex_encoding
Multibyte String Функции
PHP Manual

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5)

mb_preferred_mime_name — Get MIME charset string

Описание

string mb_preferred_mime_name ( string $encoding )

Get a MIME charset string for a specific encoding.

Список параметров

encoding

The encoding being checked.

Возвращаемые значения

The MIME charset string for character encoding encoding.

Примеры

Пример #1 mb_preferred_mime_name() example

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

mb_parse_str
mb_regex_encoding
Multibyte String Функции


Returns current encoding for multibyte regex as string

mb_preferred_mime_name
mb_regex_set_options
Multibyte String Функции
PHP Manual

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encoding — Returns current encoding for multibyte regex as string

Описание

mixed mb_regex_encoding ([ string $encoding ] )

Returns the current encoding for a multibyte regex as a string.

Список параметров

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Returns the character encoding used by multibyte regex functions.

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_ereg() - Regular expression match with multibyte support

mb_preferred_mime_name
mb_regex_set_options
Multibyte String Функции


Set/Get the default options for mbregex functions

mb_regex_encoding
mb_send_mail
Multibyte String Функции
PHP Manual

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5)

mb_regex_set_options — Set/Get the default options for mbregex functions

Описание

string mb_regex_set_options ([ string $options = "msr" ] )

Sets the default options described by options for multibyte regex functions.

Список параметров

options

The options to set. This is a a string where each character is an option. To set a mode, the mode character must be the last one set, however there can only be set one mode but multiple options.

Regex options
Option | Meaning
i | Ambiguity match on
x | Enables extended pattern form
m | '.' matches with newlines
s | '^' -> '\A', '$' -> '\Z'
p | Same as both the m and s options
l | Finds longest matches
n | Ignores empty matches
e | eval() resulting code
Regex syntax modes
Mode | Meaning
j | Java (Sun java.util.regex)
u | GNU regex
g | grep
c | Emacs
r | Ruby
z | Perl
b | POSIX Basic regex
d | POSIX Extended regex

Возвращаемые значения

The previous options. If options is omitted, it returns the string that describes the current options.

Смотрите также

  • mb_split() - Split multibyte string using regular expression
  • mb_ereg() - Regular expression match with multibyte support
  • mb_eregi() - Regular expression match ignoring case with multibyte support

mb_regex_encoding
mb_send_mail
Multibyte String Функции


Send encoded mail

mb_regex_set_options
mb_split
Multibyte String Функции
PHP Manual

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5)

mb_send_mail — Send encoded mail

Описание

bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $additional_parameter = NULL ]] )

Sends email. Headers and messages are converted and encoded according to the mb_language() setting. It's a wrapper function for mail(), so see also mail() for details.

Список параметров

to

The mail addresses being sent to. Multiple recipients may be specified by putting a comma between each address in to. This parameter is not automatically encoded.

subject

The subject of the mail.

message

The message of the mail.

additional_headers

additional_headers is inserted at the end of the header. This is typically used to add extra headers. Multiple extra headers are separated with a newline ("\n").

additional_parameter

additional_parameter is a MTA command line parameter. It is useful when setting the correct Return-Path header when using sendmail.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.0.0 | The Content-Type and Content-Transfer-Encoding headers may be redefined as of PHP 5.0.0. Before this time, the values defined by mb_language() are always used.

Смотрите также

  • mail() - Отправляет электронную почту
  • mb_encode_mimeheader() - Encode string for MIME header
  • mb_language() - Set/Get current language

mb_regex_set_options
mb_split
Multibyte String Функции


Split multibyte string using regular expression

mb_send_mail
mb_strcut
Multibyte String Функции
PHP Manual

mb_split

(PHP 4 >= 4.2.0, PHP 5)

mb_split — Split multibyte string using regular expression

Описание

array mb_split ( string $pattern , string $string [, int $limit = -1 ] )

Split a multibyte string using regular expression pattern and returns the result as an array.

Список параметров

pattern

The regular expression pattern.

string

The string being split.

limit
If optional parameter limit is specified, it will be split in limit elements as maximum.

Возвращаемые значения

The result as an array.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg() - Regular expression match with multibyte support

mb_send_mail
mb_strcut
Multibyte String Функции


Get part of string

mb_split
mb_strimwidth
Multibyte String Функции
PHP Manual

mb_strcut

(PHP 4 >= 4.0.6, PHP 5)

mb_strcut — Get part of string

Описание

string mb_strcut ( string $str , int $start [, int $length [, string $encoding ]] )

mb_strcut() extracts a substring from a string similarly to mb_substr(), but operates on bytes instead of characters. If the cut position happens to be between two bytes of a multi-byte character, the cut is performed starting from the first byte of that character. This is also the difference to the substr() function, which would simply cut the string between the bytes and thus result in a malformed byte sequence.

Список параметров

str

The string being cut.

start

Starting position in bytes.

length

Length in bytes.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

mb_strcut() returns the portion of str specified by the start and length parameters.

Смотрите также

  • mb_substr() - Возвращает часть строки
  • mb_internal_encoding() - Set/Get internal character encoding

mb_split
mb_strimwidth
Multibyte String Функции


Get truncated string with specified width

mb_strcut
mb_stripos
Multibyte String Функции
PHP Manual

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth — Get truncated string with specified width

Описание

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )

Truncates string str to specified width.

Список параметров

str

The string being decoded.

start

The start position offset. Number of characters from the beginning of string. (First character is 0)

width

The width of the desired trim.

trimmarker

A string that is added to the end of string when string is truncated.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

The truncated string. If trimmarker is set, trimmarker is appended to the return value.

Примеры

Пример #1 mb_strimwidth() example

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// outputs Hello W...
?>

Смотрите также

  • mb_strwidth() - Return width of string
  • mb_internal_encoding() - Set/Get internal character encoding

mb_strcut
mb_stripos
Multibyte String Функции


Finds position of first occurrence of a string within another, case insensitive

mb_strimwidth
mb_stristr
Multibyte String Функции
PHP Manual

mb_stripos

(PHP 5 >= 5.2.0)

mb_stripos — Finds position of first occurrence of a string within another, case insensitive

Описание

int mb_stripos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

mb_stripos() returns the numeric position of the first occurrence of needle in the haystack string. Unlike mb_strpos(), mb_stripos() is case-insensitive. If needle is not found, it returns FALSE.

Список параметров

haystack

The string from which to get the position of the first occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Return the numeric position of the first occurrence of needle in the haystack string, or FALSE if needle is not found.

Смотрите также

  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • strpos() - Возвращает позицию первого вхождения подстроки
  • mb_strpos() - Find position of first occurrence of string in a string

mb_strimwidth
mb_stristr
Multibyte String Функции


Finds first occurrence of a string within another, case insensitive

mb_stripos
mb_strlen
Multibyte String Функции
PHP Manual

mb_stristr

(PHP 5 >= 5.2.0)

mb_stristr — Finds first occurrence of a string within another, case insensitive

Описание

string mb_stristr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_stristr() finds the first occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strstr(), mb_stristr() is case-insensitive. If needle is not found, it returns FALSE.

Список параметров

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Returns the portion of haystack, or FALSE if needle is not found.

Смотрите также

  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки
  • mb_strstr() - Finds first occurrence of a string within another

mb_stripos
mb_strlen
Multibyte String Функции


Get string length

mb_stristr
mb_strpos
Multibyte String Функции
PHP Manual

mb_strlen

(PHP 4 >= 4.0.6, PHP 5)

mb_strlen — Get string length

Описание

int mb_strlen ( string $str [, string $encoding ] )

Gets the length of a string.

Список параметров

str

The string being checked for length.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Returns the number of characters in string str having character encoding encoding. A multi-byte character is counted as 1.

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • strlen() - Возвращает длину строки

mb_stristr
mb_strpos
Multibyte String Функции


Find position of first occurrence of string in a string

mb_strlen
mb_strrchr
Multibyte String Функции
PHP Manual

mb_strpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strpos — Find position of first occurrence of string in a string

Описание

int mb_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding ]] )

Finds position of the first occurrence of a string in a string.

Performs a multi-byte safe strpos() operation based on number of characters. The first character's position is 0, the second character position is 1, and so on.

Список параметров

haystack

The string being checked.

needle

The string to find in haystack. In contrast with strpos(), numeric values are not applied as the ordinal value of a character.

offset

The search offset. If it is not specified, 0 is used.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

Смотрите также

  • mb_internal_encoding() - Set/Get internal character encoding
  • strpos() - Возвращает позицию первого вхождения подстроки

mb_strlen
mb_strrchr
Multibyte String Функции


Finds the last occurrence of a character in a string within another

mb_strpos
mb_strrichr
Multibyte String Функции
PHP Manual

mb_strrchr

(PHP 5 >= 5.2.0)

mb_strrchr — Finds the last occurrence of a character in a string within another

Описание

string mb_strrchr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strrchr() finds the last occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Список параметров

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Returns the portion of haystack. or FALSE if needle is not found.

Смотрите также

  • strrchr() - Находит последнее вхождение символа в строке
  • mb_strstr() - Finds first occurrence of a string within another
  • mb_strrichr() - Finds the last occurrence of a character in a string within another, case insensitive

mb_strpos
mb_strrichr
Multibyte String Функции


Finds the last occurrence of a character in a string within another, case insensitive

mb_strrchr
mb_strripos
Multibyte String Функции
PHP Manual

mb_strrichr

(PHP 5 >= 5.2.0)

mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive

Описание

string mb_strrichr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strrichr() finds the last occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strrchr(), mb_strrichr() is case-insensitive. If needle is not found, it returns FALSE.

Список параметров

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Returns the portion of haystack. or FALSE if needle is not found.

Смотрите также

  • mb_stristr() - Finds first occurrence of a string within another, case insensitive
  • mb_strrchr() - Finds the last occurrence of a character in a string within another

mb_strrchr
mb_strripos
Multibyte String Функции


Finds position of last occurrence of a string within another, case insensitive

mb_strrichr
mb_strrpos
Multibyte String Функции
PHP Manual

mb_strripos

(PHP 5 >= 5.2.0)

mb_strripos — Finds position of last occurrence of a string within another, case insensitive

Описание

int mb_strripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding ]] )

mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.

Список параметров

haystack

The string from which to get the position of the last occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.

Смотрите также

  • strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • mb_strrpos() - Find position of last occurrence of a string in a string

mb_strrichr
mb_strrpos
Multibyte String Функции


Find position of last occurrence of a string in a string

mb_strripos
mb_strstr
Multibyte String Функции
PHP Manual

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strrpos — Find position of last occurrence of a string in a string

Описание

int mb_strrpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding ]] )

Performs a multibyte safe strrpos() operation based on the number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1.

Список параметров

haystack

The string being checked, for the last occurrence of needle

needle

The string to find in haystack.

offset
May be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.
encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Returns the numeric position of the last occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

Список изменений

Версия | Описание
5.2.0 | Added the optional parameter offset.

Примечания

Замечание: The encoding parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility, encoding can be specified as the third parameter, but doing so is deprecated and will be removed in the future.

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Смотрите также

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_internal_encoding() - Set/Get internal character encoding
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке

mb_strripos
mb_strstr
Multibyte String Функции


Finds first occurrence of a string within another

mb_strrpos
mb_strtolower
Multibyte String Функции
PHP Manual

mb_strstr

(PHP 5 >= 5.2.0)

mb_strstr — Finds first occurrence of a string within another

Описание

string mb_strstr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strstr() finds the first occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Список параметров

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Возвращаемые значения

Returns the portion of haystack, or FALSE if needle is not found.

Смотрите также

  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки
  • mb_stristr() - Finds first occurrence of a string within another, case insensitive

mb_strrpos
mb_strtolower
Multibyte String Функции


Make a string lowercase

mb_strstr
mb_strtoupper
Multibyte String Функции
PHP Manual

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5)

mb_strtolower — Make a string lowercase

Описание

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

Returns str with all alphabetic characters converted to lowercase.

Список параметров

str

The string being lowercased.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

str with all alphabetic characters converted to lowercase.

Юникод

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtolower(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

Примеры

Пример #1 mb_strtolower() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>

Пример #2 mb_strtolower() example with non-Latin UTF-8 text

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtolower($str, 'UTF-8');
echo $str; // Prints τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός
?>

Смотрите также

  • mb_strtoupper() - Make a string uppercase
  • mb_convert_case() - Perform case folding on a string
  • strtolower() - Преобразует строку в нижний регистр

mb_strstr
mb_strtoupper
Multibyte String Функции


Make a string uppercase

mb_strtolower
mb_strwidth
Multibyte String Функции
PHP Manual

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupper — Make a string uppercase

Описание

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Returns str with all alphabetic characters converted to uppercase.

Список параметров

str

The string being uppercased.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

str with all alphabetic characters converted to uppercase.

Юникод

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtoupper(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as a-umlaut (ä).

Примеры

Пример #1 mb_strtoupper() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Пример #2 mb_strtoupper() example with non-Latin UTF-8 text

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>

Смотрите также

  • mb_strtolower() - Make a string lowercase
  • mb_convert_case() - Perform case folding on a string
  • strtoupper() - Преобразует строку в верхний регистр

mb_strtolower
mb_strwidth
Multibyte String Функции


Return width of string

mb_strtoupper
mb_substitute_character
Multibyte String Функции
PHP Manual

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidth — Return width of string

Описание

int mb_strwidth ( string $str [, string $encoding ] )

Returns the width of string str.

Multi-byte characters are usually twice the width of single byte characters.

Characters width
Chars | Width
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

Список параметров

str

The string being decoded.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

The width of string str.

Смотрите также

  • mb_strimwidth() - Get truncated string with specified width
  • mb_internal_encoding() - Set/Get internal character encoding

mb_strtoupper
mb_substitute_character
Multibyte String Функции


Set/Get substitution character

mb_strwidth
mb_substr_count
Multibyte String Функции
PHP Manual

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5)

mb_substitute_character — Set/Get substitution character

Описание

mixed mb_substitute_character ([ mixed $substrchar ] )

Specifies a substitution character when input character encoding is invalid or character code does not exist in output character encoding. Invalid characters may be substituted NULL (no output), string or integer value (Unicode character code value).

This setting affects mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
and mb_send_mail().

Список параметров

substrchar

Specify the Unicode value as an integer, or as one of the following strings:

  • "none" : no output
  • "long" : Output character code value (Example: U+3000, JIS+7E7E)
  • "entity" : Output character entity (Example: Ȁ)

Возвращаемые значения

If substchar is set, it returns TRUE for success, otherwise returns FALSE. If substchar is not set, it returns the Unicode value, or "none" or "long".

Примеры

Пример #1 mb_substitute_character() example

<?php
/* Set with Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Set hex format */
mb_substitute_character("long");

/* Display current setting */
echo mb_substitute_character();
?>

mb_strwidth
mb_substr_count
Multibyte String Функции


Возвращает количество вхождений подстроки

mb_substitute_character
mb_substr
Multibyte String Функции
PHP Manual

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count — Возвращает количество вхождений подстроки

Описание

int mb_substr_count ( string $haystack , string $needle [, string $encoding ] )

Подсчитывает, сколько раз подстрока needle встречается в строке haystack.

Список параметров

haystack

Строка (string) для проверки

needle

Строка (string) для поиска

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Количество вхождений подстроки needle в строку haystack.

Примеры

Пример #1 Пример использования mb_substr_count()

<?php
echo mb_substr_count("Это просто проверка", "то"); // выведет на экран 2
?>

Смотрите также

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_substr() - Возвращает часть строки
  • substr_count() - Возвращает число вхождений подстроки

mb_substitute_character
mb_substr
Multibyte String Функции


Возвращает часть строки

mb_substr_count
Pspell
Multibyte String Функции
PHP Manual

mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr — Возвращает часть строки

Описание

string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )

Корректно выполняет substr() для многобайтовых кодировок, учитывая количество символов. Позиция отсчитывается от начала str. Позиция первого символа - 0, второго - 1 и т.д.

Список параметров

str

Исходная строка (string) для получения подстроки.

start

Позиция символа str, с которой выделяется подстрока.

length

Максимальное количество символов возвращаемой подстроки (string)

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

mb_substr() Возвращает не более length символов, начиная с позиции start исходной строки. str

Смотрите также

  • mb_strcut() - Get part of string
  • mb_internal_encoding() - Set/Get internal character encoding

mb_substr_count
Pspell
Multibyte String Функции


Pspell

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Pspell Функции
    • pspell_add_to_personal — Add the word to a personal wordlist
    • pspell_add_to_session — Add the word to the wordlist in the current session
    • pspell_check — Check a word
    • pspell_clear_session — Clear the current session
    • pspell_config_create — Create a config used to open a dictionary
    • pspell_config_data_dir — location of language data files
    • pspell_config_dict_dir — Location of the main word list
    • pspell_config_ignore — Ignore words less than N characters long
    • pspell_config_mode — Change the mode number of suggestions returned
    • pspell_config_personal — Set a file that contains personal wordlist
    • pspell_config_repl — Set a file that contains replacement pairs
    • pspell_config_runtogether — Consider run-together words as valid compounds
    • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
    • pspell_new_config — Load a new dictionary with settings based on a given config
    • pspell_new_personal — Load a new dictionary with personal wordlist
    • pspell_new — Load a new dictionary
    • pspell_save_wordlist — Save the personal wordlist to a file
    • pspell_store_replacement — Store a replacement pair for a word
    • pspell_suggest — Suggest spellings of a word
mb_substr
Введение
Поддержка языков и кодировок


Введение

These functions allow you to check the spelling of a word and offer suggestions.

Pspell
Установка и настройка
Pspell


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Pspell


Требования

To compile PHP with pspell support, you need the aspell library, available from » http://aspell.net/.

Установка и настройка
Установка
Установка и настройка


Установка

If you have the libraries needed add the --with-pspell[=dir] option when compiling PHP.

Замечание: Note to Win32 Users

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: aspell-15.dll from the bin folder of the aspell installation.

Win32 support is available only in PHP 4.3.3 and later versions. Also, at least aspell version 0.50 is required.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

PSPELL_FAST (integer)
PSPELL_NORMAL (integer)
PSPELL_BAD_SPELLERS (integer)
PSPELL_RUN_TOGETHER (integer)
Типы ресурсов
Pspell Функции
Pspell


Pspell Функции

Содержание

  • pspell_add_to_personal — Add the word to a personal wordlist
  • pspell_add_to_session — Add the word to the wordlist in the current session
  • pspell_check — Check a word
  • pspell_clear_session — Clear the current session
  • pspell_config_create — Create a config used to open a dictionary
  • pspell_config_data_dir — location of language data files
  • pspell_config_dict_dir — Location of the main word list
  • pspell_config_ignore — Ignore words less than N characters long
  • pspell_config_mode — Change the mode number of suggestions returned
  • pspell_config_personal — Set a file that contains personal wordlist
  • pspell_config_repl — Set a file that contains replacement pairs
  • pspell_config_runtogether — Consider run-together words as valid compounds
  • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
  • pspell_new_config — Load a new dictionary with settings based on a given config
  • pspell_new_personal — Load a new dictionary with personal wordlist
  • pspell_new — Load a new dictionary
  • pspell_save_wordlist — Save the personal wordlist to a file
  • pspell_store_replacement — Store a replacement pair for a word
  • pspell_suggest — Suggest spellings of a word
Предопределенные константы
pspell_add_to_personal
Pspell


Add the word to a personal wordlist

Pspell Функции
pspell_add_to_session
Pspell Функции
PHP Manual

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_personal — Add the word to a personal wordlist

Описание

bool pspell_add_to_personal ( int $dictionary_link , string $word )

pspell_add_to_personal() adds a word to the personal wordlist. If you used pspell_new_config() with pspell_config_personal() to open the dictionary, you can save the wordlist later with pspell_save_wordlist().

Список параметров

dictionary_link

word

The added word.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

Pspell Функции
pspell_add_to_session
Pspell Функции


Add the word to the wordlist in the current session

pspell_add_to_personal
pspell_check
Pspell Функции
PHP Manual

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_session — Add the word to the wordlist in the current session

Описание

bool pspell_add_to_session ( int $dictionary_link , string $word )

pspell_add_to_session() adds a word to the wordlist associated with the current session. It is very similar to pspell_add_to_personal()

Список параметров

dictionary_link

word

The added word.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

pspell_add_to_personal
pspell_check
Pspell Функции


Check a word

pspell_add_to_session
pspell_clear_session
Pspell Функции
PHP Manual

pspell_check

(PHP 4 >= 4.0.2, PHP 5)

pspell_check — Check a word

Описание

bool pspell_check ( int $dictionary_link , string $word )

pspell_check() checks the spelling of a word.

Список параметров

dictionary_link

word

The tested word.

Возвращаемые значения

Returns TRUE if the spelling is correct, FALSE if not.

Примеры

Пример #1 pspell_check() Example

<?php
$pspell_link = pspell_new("en");

if (pspell_check($pspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}
?>

pspell_add_to_session
pspell_clear_session
Pspell Функции


Clear the current session

pspell_check
pspell_config_create
Pspell Функции
PHP Manual

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_clear_session — Clear the current session

Описание

bool pspell_clear_session ( int $dictionary_link )

pspell_clear_session() clears the current session. The current wordlist becomes blank, and, for example, if you try to save it with pspell_save_wordlist(), nothing happens.

Список параметров

dictionary_link

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_add_to_personal() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_clear_session($pspell_link);
pspell_save_wordlist($pspell_link);    //"Vlad" will not be saved
?>

pspell_check
pspell_config_create
Pspell Функции


Create a config used to open a dictionary

pspell_clear_session
pspell_config_data_dir
Pspell Функции
PHP Manual

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_create — Create a config used to open a dictionary

Описание

int pspell_config_create ( string $language [, string $spelling [, string $jargon [, string $encoding ]]] )

Create a config used to open a dictionary.

pspell_config_create() has a very similar syntax to pspell_new(). In fact, using pspell_config_create() immediately followed by pspell_new_config() will produce the exact same result. However, after creating a new config, you can also use pspell_config_*() functions before calling pspell_new_config() to take advantage of some advanced functionality.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Список параметров

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

Возвращаемые значения

Retuns a pspell config identifier, or FALSE on error.

Примеры

Пример #1 pspell_config_create()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "en");
?>

pspell_clear_session
pspell_config_data_dir
Pspell Функции


location of language data files

pspell_config_create
pspell_config_dict_dir
Pspell Функции
PHP Manual

pspell_config_data_dir

(PHP 5)

pspell_config_data_dir — location of language data files

Описание

bool pspell_config_data_dir ( int $conf , string $directory )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

pspell_config_create
pspell_config_dict_dir
Pspell Функции


Location of the main word list

pspell_config_data_dir
pspell_config_ignore
Pspell Функции
PHP Manual

pspell_config_dict_dir

(PHP 5)

pspell_config_dict_dir — Location of the main word list

Описание

bool pspell_config_dict_dir ( int $conf , string $directory )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

pspell_config_data_dir
pspell_config_ignore
Pspell Функции


Ignore words less than N characters long

pspell_config_dict_dir
pspell_config_mode
Pspell Функции
PHP Manual

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_ignore — Ignore words less than N characters long

Описание

bool pspell_config_ignore ( int $dictionary_link , int $n )

pspell_config_ignore() should be used on a config before calling pspell_new_config(). This function allows short words to be skipped by the spell checker.

Список параметров

dictionary_link

n

Words less than n characters will be skipped.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    //will not result in an error
?>

pspell_config_dict_dir
pspell_config_mode
Pspell Функции


Change the mode number of suggestions returned

pspell_config_ignore
pspell_config_personal
Pspell Функции
PHP Manual

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_mode — Change the mode number of suggestions returned

Описание

bool pspell_config_mode ( int $dictionary_link , int $mode )

pspell_config_mode() should be used on a config before calling pspell_new_config(). This function determines how many suggestions will be returned by pspell_suggest().

Список параметров

dictionary_link

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_config_mode() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_ignore
pspell_config_personal
Pspell Функции


Set a file that contains personal wordlist

pspell_config_mode
pspell_config_repl
Pspell Функции
PHP Manual

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_personal — Set a file that contains personal wordlist

Описание

bool pspell_config_personal ( int $dictionary_link , string $file )

Set a file that contains personal wordlist. The personal wordlist will be loaded and used in addition to the standard one after you call pspell_new_config(). The file is also the file where pspell_save_wordlist() will save personal wordlist to.

pspell_config_personal() should be used on a config before calling pspell_new_config().

Список параметров

dictionary_link

file

The personal wordlist. If the file does not exist, it will be created. The file should be writable by whoever PHP runs as (e.g. nobody).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

pspell_config_mode
pspell_config_repl
Pspell Функции


Set a file that contains replacement pairs

pspell_config_personal
pspell_config_runtogether
Pspell Функции
PHP Manual

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_repl — Set a file that contains replacement pairs

Описание

bool pspell_config_repl ( int $dictionary_link , string $file )

Set a file that contains replacement pairs.

The replacement pairs improve the quality of the spellchecker. When a word is misspelled, and a proper suggestion was not found in the list, pspell_store_replacement() can be used to store a replacement pair and then pspell_save_wordlist() to save the wordlist along with the replacement pairs.

pspell_config_repl() should be used on a config before calling pspell_new_config().

Список параметров

dictionary_link

file

The file should be writable by whoever PHP runs as (e.g. nobody).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

pspell_config_personal
pspell_config_runtogether
Pspell Функции


Consider run-together words as valid compounds

pspell_config_repl
pspell_config_save_repl
Pspell Функции
PHP Manual

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_runtogether — Consider run-together words as valid compounds

Описание

bool pspell_config_runtogether ( int $dictionary_link , bool $flag )

This function determines whether run-together words will be treated as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

pspell_config_runtogether() should be used on a config before calling pspell_new_config().

Список параметров

dictionary_link

flag

TRUE if run-together words should be treated as legal compounds, FALSE otherwise.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_repl
pspell_config_save_repl
Pspell Функции


Determine whether to save a replacement pairs list along with the wordlist

pspell_config_runtogether
pspell_new_config
Pspell Функции
PHP Manual

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist

Описание

bool pspell_config_save_repl ( int $dictionary_link , bool $flag )

pspell_config_save_repl() determines whether pspell_save_wordlist() will save the replacement pairs along with the wordlist. Usually there is no need to use this function because if pspell_config_repl() is used, the replacement pairs will be saved by pspell_save_wordlist() anyway, and if it is not, the replacement pairs will not be saved.

pspell_config_save_repl() should be used on a config before calling pspell_new_config().

Список параметров

dictionary_link

flag

TRUE if replacement pairs should be saved, FALSE otherwise.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

pspell_config_runtogether
pspell_new_config
Pspell Функции


Load a new dictionary with settings based on a given config

pspell_config_save_repl
pspell_new_personal
Pspell Функции
PHP Manual

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_config — Load a new dictionary with settings based on a given config

Описание

int pspell_new_config ( int $config )

pspell_new_config() opens up a new dictionary with settings specified in a config, created with pspell_config_create() and modified with pspell_config_*() functions. This method provides you with the most flexibility and has all the functionality provided by pspell_new() and pspell_new_personal().

Список параметров

config

The config parameter is the one returned by pspell_config_create() when the config was created.

Возвращаемые значения

Returns a dictionary link identifier on success.

Примеры

Пример #1 pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>

pspell_config_save_repl
pspell_new_personal
Pspell Функции


Load a new dictionary with personal wordlist

pspell_new_config
pspell_new
Pspell Функции
PHP Manual

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_personal — Load a new dictionary with personal wordlist

Описание

int pspell_new_personal ( string $personal , string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new_personal() opens up a new dictionary with a personal wordlist. The wordlist can be modified and saved with pspell_save_wordlist(), if desired. However, the replacement pairs are not saved. In order to save replacement pairs, you should create a config using pspell_config_create(), set the personal wordlist file with pspell_config_personal(), set the file for replacement pairs with pspell_config_repl(), and open a new dictionary with pspell_new_config().

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Список параметров

personal

The file where words added to the personal list will be stored. It should be an absolute filename beginning with '/' because otherwise it will be relative to $HOME, which is "/root" for most systems, and is probably not what you want.

language

The language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

Extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding that words are expected to be in. Valid values are utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.

mode

The mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Возвращаемые значения

Returns the dictionary link identifier for use in other pspell functions.

Примеры

Пример #1 pspell_new_personal()

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>

pspell_new_config
pspell_new
Pspell Функции


Load a new dictionary

pspell_new_personal
pspell_save_wordlist
Pspell Функции
PHP Manual

pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_new — Load a new dictionary

Описание

int pspell_new ( string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new() opens up a new dictionary and returns the dictionary link identifier for use in other pspell functions.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Список параметров

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Возвращаемые значения

Returns the dictionary link identifier on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_new()

<?php
$pspell_link = pspell_new("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

pspell_new_personal
pspell_save_wordlist
Pspell Функции


Save the personal wordlist to a file

pspell_new
pspell_store_replacement
Pspell Функции
PHP Manual

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5)

pspell_save_wordlist — Save the personal wordlist to a file

Описание

bool pspell_save_wordlist ( int $dictionary_link )

pspell_save_wordlist() saves the personal wordlist from the current session. The location of files to be saved specified with pspell_config_personal() and (optionally) pspell_config_repl().

Список параметров

dictionary_link

A dictionary link identifier opened with pspell_new_personal().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

pspell_new
pspell_store_replacement
Pspell Функции


Store a replacement pair for a word

pspell_save_wordlist
pspell_suggest
Pspell Функции
PHP Manual

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5)

pspell_store_replacement — Store a replacement pair for a word

Описание

bool pspell_store_replacement ( int $dictionary_link , string $misspelled , string $correct )

pspell_store_replacement() stores a replacement pair for a word, so that replacement can be returned by pspell_suggest() later. In order to be able to take advantage of this function, you have to use pspell_new_personal() to open the dictionary. In order to permanently save the replacement pair, you have to use pspell_config_personal() and pspell_config_repl() to set the path where to save your custom wordlists, and then use pspell_save_wordlist() for the changes to be written to disk.

Список параметров

dictionary_link

A dictionary link identifier, opened with pspell_new_personal()

misspelled

The misspelled word.

correct

The fixed spelling for the misspelled word.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $misspelled, $correct);
pspell_save_wordlist($pspell_link);
?>

Примечания

Замечание:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.

pspell_save_wordlist
pspell_suggest
Pspell Функции


Suggest spellings of a word

pspell_store_replacement
Recode
Pspell Функции
PHP Manual

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5)

pspell_suggest — Suggest spellings of a word

Описание

array pspell_suggest ( int $dictionary_link , string $word )

pspell_suggest() returns an array of possible spellings for the given word.

Список параметров

dictionary_link

word

The tested word.

Возвращаемые значения

Returns an array of possible spellings.

Примеры

Пример #1 pspell_suggest() example

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "testt")) {
    $suggestions = pspell_suggest($pspell_link, "testt");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br />";
    }
}
?>

pspell_store_replacement
Recode
Pspell Функции


GNU Recode

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Recode Функции
    • recode_file — Recode from file to file according to recode request
    • recode_string — Recode a string according to a recode request
    • recode — Псевдоним recode_string
pspell_suggest
Введение
Поддержка языков и кодировок


Введение

This module contains an interface to the GNU Recode library. The GNU Recode library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces nearly 150 different character sets and is able to convert files between almost any pair. Most » RFC 1345 character sets are supported.

Замечание: Для Windows-платформ это расширение недоступно.

Recode
Установка и настройка
Recode


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Recode


Требования

You must have GNU Recode 3.5 or higher installed on your system. You can download the package from » http://directory.fsf.org/All_GNU_Packages/recode.html.

Внимание

The Recode library version 3.6 adds weird characters behind converted strings under certain circumstances. Thus it's safer to use Recode v3.5 or one of the available alternatives like the iconv or mbstring extension.

Установка и настройка
Установка
Установка и настройка


Установка

To be able to use the functions defined in this module you must compile your PHP interpreter using the --with-recode[=DIR] option.

Внимание

Crashes and startup problems of PHP may be encountered when loading the recode as extension after loading any extension of mysql or imap. Loading the recode before those extension has proved to fix the problem. This is due a technical problem that both the c-client library used by imap and recode have their own hash_lookup() function and both mysql and recode have their own hash_insert function.

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки, YAZ или Cyrus. Это связано с тем фактом, что они оба используют одни и те же внутренние символы. Замечание: Версии Yaz 2.0 и выше избавлены от этого недостатка.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Recode Функции
Recode


Recode Функции

Содержание

  • recode_file — Recode from file to file according to recode request
  • recode_string — Recode a string according to a recode request
  • recode — Псевдоним recode_string
Предопределенные константы
recode_file
Recode


Recode from file to file according to recode request

Recode Функции
recode_string
Recode Функции
PHP Manual

recode_file

(PHP 4, PHP 5)

recode_file — Recode from file to file according to recode request

Описание

bool recode_file ( string $request , resource $input , resource $output )

Recode the file referenced by file handle input into the file referenced by file handle output according to the recode request.

Список параметров

request

The desired recode request type

input

A local file handle resource for the input

output

A local file handle resource for the output

Возвращаемые значения

Returns FALSE, if unable to comply, TRUE otherwise.

Примеры

Пример #1 Basic recode_file() example

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

Примечания

This function does not currently process file handles referencing remote files (URLs). Both file handles must refer to local files.

Смотрите также

  • fopen() - Открывает файл или URL

Recode Функции
recode_string
Recode Функции


Recode a string according to a recode request

recode_file
recode
Recode Функции
PHP Manual

recode_string

(PHP 4, PHP 5)

recode_string — Recode a string according to a recode request

Описание

string recode_string ( string $request , string $string )

Recode the string string according to the recode request request.

Список параметров

request

The desired recode request type

string

The string to be recoded

Возвращаемые значения

Returns the recoded string or FALSE, if unable to perform the recode request.

Примеры

Пример #1 Basic recode_string() example

<?php
echo recode_string("us..flat", "The following character has a diacritical mark: á");
?>

Примечания

A simple recode request may be "lat1..iso646-de".

Смотрите также

  • The GNU Recode documentation of your installation for detailed instructions about recode requests.

recode_file
recode
Recode Функции


Псевдоним recode_string

recode_string
Обработка и генерация изображений
Recode Функции
PHP Manual

recode

(PHP 4, PHP 5)

recode — Псевдоним recode_string()

Описание

Эта функция является псевдонимом: recode_string().

recode_string
Обработка и генерация изображений
Recode Функции


Обработка и генерация изображений

  • Cairo
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Cairo
    • Cairo — Класс Cairo
    • CairoContext — The CairoContext class
    • CairoException — The CairoException class
    • CairoStatus — The CairoStatus class
    • CairoSurface — The CairoSurface class
    • CairoSvgSurface — Svg Surface Backend
    • CairoImageSurface — The CairoImageSurface class
    • CairoPdfSurface — Класс CairoPdfSurface
    • CairoPsSurface — Класс CairoPsSurface
    • CairoSurfaceType — Класс CairoSurfaceType
    • CairoFontFace — The CairoFontFace class
    • CairoFontOptions — The CairoFontOptions class
    • CairoFontSlant — The CairoFontSlant class
    • CairoFontType — The CairoFontType class
    • CairoFontWeight — The CairoFontWeight class
    • CairoScaledFont — Класс CairoScaledFont
    • CairoToyFontFace — The CairoToyFontFace class
    • CairoPatternType — The CairoPatternType class
    • CairoPattern — The CairoPattern class
    • CairoGradientPattern — The CairoGradientPattern class
    • CairoSolidPattern — Класс CairoSolidPattern
    • CairoSurfacePattern — Класс CairoSurfacePattern
    • CairoLinearGradient — The CairoLinearGradient class
    • CairoRadialGradient — Класс CairoRadialGradient
    • CairoAntialias — The CairoAntialias class
    • CairoContent — The CairoContent class
    • CairoExtend — Класс CairoExtend
    • CairoFormat — The CairoFormat class
    • CairoFillRule — The CairoFillRule class
    • CairoFilter — The CairoFilter class
    • CairoHintMetrics — The CairoHintMetrics class
    • CairoHintStyle — The CairoHintStyle class
    • CairoLineCap — The CairoLineCap class
    • CairoLineJoin — Класс CairoLineJoin
    • CairoMatrix — The CairoMatrix class
    • CairoOperator — The CairoOperator class
    • CairoPath — The CairoPath class
    • CairoPsLevel — Класс CairoPsLevel
    • CairoSubpixelOrder — Класс CairoSubpixelOrder
    • CairoSvgVersion — Класс CairoSvgVersion
  • Exif — Exchangeable image information
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Exif Функции
  • GD — Обработка изображений и GD
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • GD и функции для работы с изображениями Функции
  • Gmagick
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Gmagick — The Gmagick class
    • GmagickDraw — The GmagickDraw class
    • GmagickPixel — The GmagickPixel class
  • ImageMagick — Обработка изображений (ImageMagick)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Класс Imagick
    • Класс ImagickDraw
    • Класс ImagickPixel
    • Класс ImagickPixelIterator
recode
Cairo
Справочник функций


Cairo

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Cairo
    • cairo_create — Returns a new CairoContext object on the requested surface.
    • cairo_font_face_get_type — Description
    • cairo_font_face_status — Description
    • cairo_font_options_create — Description
    • cairo_font_options_equal — Description
    • cairo_font_options_get_antialias — Description
    • cairo_font_options_get_hint_metrics — Description
    • cairo_font_options_get_hint_style — Description
    • cairo_font_options_get_subpixel_order — Description
    • cairo_font_options_hash — Description
    • cairo_font_options_merge — Description
    • cairo_font_options_set_antialias — Description
    • cairo_font_options_set_hint_metrics — Description
    • cairo_font_options_set_hint_style — Description
    • cairo_font_options_set_subpixel_order — Description
    • cairo_font_options_status — Description
    • cairo_format_stride_for_width — Description
    • cairo_image_surface_create_for_data — Description
    • cairo_image_surface_create_from_png — Description
    • cairo_image_surface_create — Description
    • cairo_image_surface_get_data — Description
    • cairo_image_surface_get_format — Description
    • cairo_image_surface_get_height — Description
    • cairo_image_surface_get_stride — Description
    • cairo_image_surface_get_width — Description
    • cairo_matrix_create_scale — Псевдоним CairoMatrix::initScale
    • cairo_matrix_create_translate — Псевдоним CairoMatrix::initTranslate
    • cairo_matrix_invert — Description
    • cairo_matrix_multiply — Description
    • cairo_matrix_rotate — Description
    • cairo_matrix_transform_distance — Description
    • cairo_matrix_transform_point — Description
    • cairo_matrix_translate — Description
    • cairo_pattern_add_color_stop_rgb — Description
    • cairo_pattern_add_color_stop_rgba — Description
    • cairo_pattern_create_for_surface — Description
    • cairo_pattern_create_linear — Description
    • cairo_pattern_create_radial — Description
    • cairo_pattern_create_rgb — Description
    • cairo_pattern_create_rgba — Description
    • cairo_pattern_get_color_stop_count — Description
    • cairo_pattern_get_color_stop_rgba — Description
    • cairo_pattern_get_extend — Description
    • cairo_pattern_get_filter — Description
    • cairo_pattern_get_linear_points — Description
    • cairo_pattern_get_matrix — Description
    • cairo_pattern_get_radial_circles — Description
    • cairo_pattern_get_rgba — Description
    • cairo_pattern_get_surface — Description
    • cairo_pattern_get_type — Description
    • cairo_pattern_set_extend — Description
    • cairo_pattern_set_filter — Description
    • cairo_pattern_set_matrix — Description
    • cairo_pattern_status — Description
    • cairo_pdf_surface_create — Description
    • cairo_pdf_surface_set_size — Description
    • cairo_ps_get_levels — Description
    • cairo_ps_level_to_string — Description
    • cairo_ps_surface_create — Description
    • cairo_ps_surface_dsc_begin_page_setup — Description
    • cairo_ps_surface_dsc_begin_setup — Description
    • cairo_ps_surface_dsc_comment — Description
    • cairo_ps_surface_get_eps — Description
    • cairo_ps_surface_restrict_to_level — Description
    • cairo_ps_surface_set_eps — Description
    • cairo_ps_surface_set_size — Description
    • cairo_scaled_font_create — Description
    • cairo_scaled_font_extents — Description
    • cairo_scaled_font_get_ctm — Description
    • cairo_scaled_font_get_font_face — Description
    • cairo_scaled_font_get_font_matrix — Description
    • cairo_scaled_font_get_font_options — Description
    • cairo_scaled_font_get_scale_matrix — Description
    • cairo_scaled_font_get_type — Description
    • cairo_scaled_font_glyph_extents — Description
    • cairo_scaled_font_status — Description
    • cairo_scaled_font_text_extents — Description
    • cairo_surface_copy_page — Description
    • cairo_surface_create_similar — Description
    • cairo_surface_finish — Description
    • cairo_surface_flush — Description
    • cairo_surface_get_content — Description
    • cairo_surface_get_device_offset — Description
    • cairo_surface_get_font_options — Description
    • cairo_surface_get_type — Description
    • cairo_surface_mark_dirty_rectangle — Description
    • cairo_surface_mark_dirty — Description
    • cairo_surface_set_device_offset — Description
    • cairo_surface_set_fallback_resolution — Description
    • cairo_surface_show_page — Description
    • cairo_surface_status — Description
    • cairo_surface_write_to_png — Description
    • cairo_svg_surface_create — Description
    • cairo_svg_surface_restrict_to_version — Description
    • cairo_svg_version_to_string — Description
  • Cairo — Класс Cairo
    • Cairo::availableFonts — Retrieves the availables font types
    • Cairo::availableSurfaces — Retrieves all available surfaces
    • Cairo::statusToString — Retrieves the current status as string
    • Cairo::version — Retrives cairo's library version
    • Cairo::versionString — Retrieves cairo version as string
  • CairoContext — The CairoContext class
    • CairoContext::appendPath — Appends a path to current path
    • CairoContext::arc — Adds a circular arc
    • CairoContext::arcNegative — Adds a negative arc
    • CairoContext::clip — Establishes a new clip region
    • CairoContext::clipExtents — Computes the area inside the current clip
    • CairoContext::clipPreserve — Establishes a new clip region from the current clip
    • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
    • CairoContext::closePath — Closes the current path
    • CairoContext::__construct — Creates a new CairoContext
    • CairoContext::copyPage — Emits the current page
    • CairoContext::copyPath — Creates a copy of the current path
    • CairoContext::copyPathFlat — Gets a flattened copy of the current path
    • CairoContext::curveTo — Adds a curve
    • CairoContext::deviceToUser — Transform a coordinate
    • CairoContext::deviceToUserDistance — Transform a distance
    • CairoContext::fill — Fills the current path
    • CairoContext::fillExtents — Computes the filled area
    • CairoContext::fillPreserve — Fills and preserve the current path
    • CairoContext::fontExtents — Get the font extents
    • CairoContext::getAntialias — Retrives the current antialias mode
    • CairoContext::getCurrentPoint — The getCurrentPoint purpose
    • CairoContext::getDash — The getDash purpose
    • CairoContext::getDashCount — The getDashCount purpose
    • CairoContext::getFillRule — The getFillRule purpose
    • CairoContext::getFontFace — The getFontFace purpose
    • CairoContext::getFontMatrix — The getFontMatrix purpose
    • CairoContext::getFontOptions — The getFontOptions purpose
    • CairoContext::getGroupTarget — The getGroupTarget purpose
    • CairoContext::getLineCap — The getLineCap purpose
    • CairoContext::getLineJoin — The getLineJoin purpose
    • CairoContext::getLineWidth — The getLineWidth purpose
    • CairoContext::getMatrix — The getMatrix purpose
    • CairoContext::getMiterLimit — The getMiterLimit purpose
    • CairoContext::getOperator — The getOperator purpose
    • CairoContext::getScaledFont — The getScaledFont purpose
    • CairoContext::getSource — The getSource purpose
    • CairoContext::getTarget — The getTarget purpose
    • CairoContext::getTolerance — The getTolerance purpose
    • CairoContext::glyphPath — The glyphPath purpose
    • CairoContext::hasCurrentPoint — The hasCurrentPoint purpose
    • CairoContext::identityMatrix — The identityMatrix purpose
    • CairoContext::inFill — The inFill purpose
    • CairoContext::inStroke — The inStroke purpose
    • CairoContext::lineTo — The lineTo purpose
    • CairoContext::mask — The mask purpose
    • CairoContext::maskSurface — The maskSurface purpose
    • CairoContext::moveTo — The moveTo purpose
    • CairoContext::newPath — The newPath purpose
    • CairoContext::newSubPath — The newSubPath purpose
    • CairoContext::paint — The paint purpose
    • CairoContext::paintWithAlpha — The paintWithAlpha purpose
    • CairoContext::pathExtents — The pathExtents purpose
    • CairoContext::popGroup — The popGroup purpose
    • CairoContext::popGroupToSource — The popGroupToSource purpose
    • CairoContext::pushGroup — The pushGroup purpose
    • CairoContext::pushGroupWithContent — The pushGroupWithContent purpose
    • CairoContext::rectangle — The rectangle purpose
    • CairoContext::relCurveTo — The relCurveTo purpose
    • CairoContext::relLineTo — The relLineTo purpose
    • CairoContext::relMoveTo — The relMoveTo purpose
    • CairoContext::resetClip — The resetClip purpose
    • CairoContext::restore — The restore purpose
    • CairoContext::rotate — The rotate purpose
    • CairoContext::save — The save purpose
    • CairoContext::scale — The scale purpose
    • CairoContext::selectFontFace — The selectFontFace purpose
    • CairoContext::setAntialias — The setAntialias purpose
    • CairoContext::setDash — The setDash purpose
    • CairoContext::setFillRule — The setFillRule purpose
    • CairoContext::setFontFace — The setFontFace purpose
    • CairoContext::setFontMatrix — The setFontMatrix purpose
    • CairoContext::setFontOptions — The setFontOptions purpose
    • CairoContext::setFontSize — The setFontSize purpose
    • CairoContext::setLineCap — The setLineCap purpose
    • CairoContext::setLineJoin — The setLineJoin purpose
    • CairoContext::setLineWidth — The setLineWidth purpose
    • CairoContext::setMatrix — The setMatrix purpose
    • CairoContext::setMiterLimit — The setMiterLimit purpose
    • CairoContext::setOperator — The setOperator purpose
    • CairoContext::setScaledFont — The setScaledFont purpose
    • CairoContext::setSource — The setSource purpose
    • CairoContext::setSourceRGB — The setSourceRGB purpose
    • CairoContext::setSourceRGBA — The setSourceRGBA purpose
    • CairoContext::setSourceSurface — The setSourceSurface purpose
    • CairoContext::setTolerance — The setTolerance purpose
    • CairoContext::showPage — The showPage purpose
    • CairoContext::showText — The showText purpose
    • CairoContext::status — The status purpose
    • CairoContext::stroke — The stroke purpose
    • CairoContext::strokeExtents — The strokeExtents purpose
    • CairoContext::strokePreserve — The strokePreserve purpose
    • CairoContext::textExtents — The textExtents purpose
    • CairoContext::textPath — The textPath purpose
    • CairoContext::transform — The transform purpose
    • CairoContext::translate — The translate purpose
    • CairoContext::userToDevice — The userToDevice purpose
    • CairoContext::userToDeviceDistance — The userToDeviceDistance purpose
  • CairoException — The CairoException class
  • CairoStatus — The CairoStatus class
  • CairoSurface — The CairoSurface class
    • CairoSurface::__construct — The __construct purpose
    • CairoSurface::copyPage — The copyPage purpose
    • CairoSurface::createSimilar — The createSimilar purpose
    • CairoSurface::finish — The finish purpose
    • CairoSurface::flush — The flush purpose
    • CairoSurface::getContent — The getContent purpose
    • CairoSurface::getDeviceOffset — The getDeviceOffset purpose
    • CairoSurface::getFontOptions — The getFontOptions purpose
    • CairoSurface::getType — The getType purpose
    • CairoSurface::markDirty — The markDirty purpose
    • CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose
    • CairoSurface::setDeviceOffset — The setDeviceOffset purpose
    • CairoSurface::setFallbackResolution — The setFallbackResolution purpose
    • CairoSurface::showPage — The showPage purpose
    • CairoSurface::status — The status purpose
    • CairoSurface::writeToPng — The writeToPng purpose
  • CairoSvgSurface — Svg Surface Backend
    • CairoSvgSurface::__construct — The __construct purpose
    • CairoSvgSurface::getVersions — Used to retrieve a list of supported SVG versions
    • CairoSvgSurface::restrictToVersion — The restrictToVersion purpose
    • CairoSvgSurface::versionToString — The versionToString purpose
  • CairoImageSurface — The CairoImageSurface class
    • CairoImageSurface::__construct — Creates a new CairoImageSurface
    • CairoImageSurface::createForData — The createForData purpose
    • CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file
    • CairoImageSurface::getData — Gets the image data as string
    • CairoImageSurface::getFormat — Get the image format
    • CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface
    • CairoImageSurface::getStride — The getStride purpose
    • CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface
  • CairoPdfSurface — Класс CairoPdfSurface
    • CairoPdfSurface::__construct — The __construct purpose
    • CairoPdfSurface::setSize — The setSize purpose
  • CairoPsSurface — Класс CairoPsSurface
    • CairoPsSurface::__construct — The __construct purpose
    • CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose
    • CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose
    • CairoPsSurface::dscComment — The dscComment purpose
    • CairoPsSurface::getEps — The getEps purpose
    • CairoPsSurface::getLevels — The getLevels purpose
    • CairoPsSurface::levelToString — The levelToString purpose
    • CairoPsSurface::restrictToLevel — The restrictToLevel purpose
    • CairoPsSurface::setEps — The setEps purpose
    • CairoPsSurface::setSize — The setSize purpose
  • CairoSurfaceType — Класс CairoSurfaceType
  • CairoFontFace — The CairoFontFace class
    • CairoFontFace::__construct — Creates a new CairoFontFace object
    • CairoFontFace::getType — Retrieves the font face type
    • CairoFontFace::status — Check for CairoFontFace errors
  • CairoFontOptions — The CairoFontOptions class
    • CairoFontOptions::__construct — The __construct purpose
    • CairoFontOptions::equal — The equal purpose
    • CairoFontOptions::getAntialias — The getAntialias purpose
    • CairoFontOptions::getHintMetrics — The getHintMetrics purpose
    • CairoFontOptions::getHintStyle — The getHintStyle purpose
    • CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose
    • CairoFontOptions::hash — The hash purpose
    • CairoFontOptions::merge — The merge purpose
    • CairoFontOptions::setAntialias — The setAntialias purpose
    • CairoFontOptions::setHintMetrics — The setHintMetrics purpose
    • CairoFontOptions::setHintStyle — The setHintStyle purpose
    • CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose
    • CairoFontOptions::status — The status purpose
  • CairoFontSlant — The CairoFontSlant class
  • CairoFontType — The CairoFontType class
  • CairoFontWeight — The CairoFontWeight class
  • CairoScaledFont — Класс CairoScaledFont
    • CairoScaledFont::__construct — The __construct purpose
    • CairoScaledFont::extents — The extents purpose
    • CairoScaledFont::getCtm — The getCtm purpose
    • CairoScaledFont::getFontFace — The getFontFace purpose
    • CairoScaledFont::getFontMatrix — The getFontMatrix purpose
    • CairoScaledFont::getFontOptions — The getFontOptions purpose
    • CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose
    • CairoScaledFont::getType — The getType purpose
    • CairoScaledFont::glyphExtents — The glyphExtents purpose
    • CairoScaledFont::status — The status purpose
    • CairoScaledFont::textExtents — The textExtents purpose
  • CairoToyFontFace — The CairoToyFontFace class
  • CairoPatternType — The CairoPatternType class
  • CairoPattern — The CairoPattern class
    • CairoPattern::__construct — The __construct purpose
    • CairoPattern::getMatrix — The getMatrix purpose
    • CairoPattern::getType — The getType purpose
    • CairoPattern::setMatrix — The setMatrix purpose
    • CairoPattern::status — The status purpose
  • CairoGradientPattern — The CairoGradientPattern class
    • CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose
    • CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose
    • CairoGradientPattern::getColorStopCount — The getColorStopCount purpose
    • CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose
    • CairoGradientPattern::getExtend — The getExtend purpose
    • CairoGradientPattern::setExtend — The setExtend purpose
  • CairoSolidPattern — Класс CairoSolidPattern
    • CairoSolidPattern::__construct — The __construct purpose
    • CairoSolidPattern::getRgba — The getRgba purpose
  • CairoSurfacePattern — Класс CairoSurfacePattern
    • CairoSurfacePattern::__construct — The __construct purpose
    • CairoSurfacePattern::getExtend — The getExtend purpose
    • CairoSurfacePattern::getFilter — The getFilter purpose
    • CairoSurfacePattern::getSurface — The getSurface purpose
    • CairoSurfacePattern::setExtend — The setExtend purpose
    • CairoSurfacePattern::setFilter — The setFilter purpose
  • CairoLinearGradient — The CairoLinearGradient class
    • CairoLinearGradient::__construct — The __construct purpose
    • CairoLinearGradient::getPoints — The getPoints purpose
  • CairoRadialGradient — Класс CairoRadialGradient
    • CairoRadialGradient::__construct — The __construct purpose
    • CairoRadialGradient::getCircles — The getCircles purpose
  • CairoAntialias — The CairoAntialias class
  • CairoContent — The CairoContent class
  • CairoExtend — Класс CairoExtend
  • CairoFormat — The CairoFormat class
    • CairoFormat::strideForWidth — Provides an appropiate stride to use
  • CairoFillRule — The CairoFillRule class
  • CairoFilter — The CairoFilter class
  • CairoHintMetrics — The CairoHintMetrics class
  • CairoHintStyle — The CairoHintStyle class
  • CairoLineCap — The CairoLineCap class
  • CairoLineJoin — Класс CairoLineJoin
  • CairoMatrix — The CairoMatrix class
    • CairoMatrix::__construct — Creates a new CairoMatrix object
    • CairoMatrix::initIdentity — Creates a new identity matrix
    • CairoMatrix::initRotate — Creates a new rotated matrix
    • CairoMatrix::initScale — Creates a new scaling matrix
    • CairoMatrix::initTranslate — Creates a new translation matrix
    • CairoMatrix::invert — The invert purpose
    • CairoMatrix::multiply — The multiply purpose
    • CairoMatrix::rotate — The rotate purpose
    • CairoMatrix::scale — Applies scaling to a matrix
    • CairoMatrix::transformDistance — The transformDistance purpose
    • CairoMatrix::transformPoint — The transformPoint purpose
    • CairoMatrix::translate — The translate purpose
  • CairoOperator — The CairoOperator class
  • CairoPath — The CairoPath class
  • CairoPsLevel — Класс CairoPsLevel
  • CairoSubpixelOrder — Класс CairoSubpixelOrder
  • CairoSvgVersion — Класс CairoSvgVersion
Обработка и генерация изображений
Введение
Обработка и генерация изображений


Введение

Cairo is a native PHP extension to create and modify graphics using the Cairo Graphics Library.

The Cairo Graphics Library is a 2D library written in C with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB. The library also has support for two types of text manipulation and layout. The "toy" API provides demo quality support, and the glyphs API, although full-featured, works best with a helper library such as pango. Font backend support includes FreeType, Quartz, Win32, and User fonts.

There are two types of computer graphics, vector and raster. Raster graphics are the representation of images as an array of pixels. Vector graphics use geometrical primitives such as points, lines, curves or polygons to represent images. The primitives are created using mathematical equations. The Cairo Graphics Library takes a vector approach to graphics, allowing smaller size, infinite zooming, and moving, scaling and rotating without degrading image quality.

Operations in the cairo graphics library including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, and others) This is very similiar to drawing operations for PostScript and PDF drawing.

The Cairo PHP Extension aims to provide support for all officially supported font backends and surface backends, as well as expose all available functionality in cairo to PHP users.

Cairo
Установка и настройка
Cairo


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Cairo


Требования

Cairo is only available for PHP 5.2+ and PHP 5.3+ The extension also requires the cairo graphics library version 1.4 or higher. The cairo graphics library uses an even and odd numbering scheme to denote stable and unstable library versions. Both unstable and stable versions can be used with the extension, but conditional support for new features is determined by the stable version below the unstable version in use. The latest cairo release can be found at » http://cairographics.org/.

The binary files used for the windows compiles can be found at » http://cairographics.org/download/ along with the project files used to create them.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/cairo.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Notes specific to installation on Windows

Binary builds of the extension can be found at » http://cairographics.org/download/. Download the correct zip file, place php_cairo.dll in the extensions directory, and enable it via the php.ini file in use. Please be sure the PHP minor version (5.2, 5.3) match, the thread safety (Thread Safe TS or Non-Thread Safe NTS), the architecture (x86 or x64), and the compiler version (VC6 or VC9) match or the extension will not load.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

CAIRO_STATUS_SUCCESS (integer)
CAIRO_STATUS_NO_MEMORY (integer)
CAIRO_STATUS_INVALID_RESTORE (integer)
CAIRO_STATUS_INVALID_POP_GROUP (integer)
CAIRO_STATUS_NO_CURRENT_POINT (integer)
CAIRO_STATUS_INVALID_MATRIX (integer)
CAIRO_STATUS_INVALID_STATUS (integer)
CAIRO_STATUS_NULL_POINTER (integer)
CAIRO_STATUS_INVALID_STRING (integer)
CAIRO_STATUS_INVALID_PATH_DATA (integer)
CAIRO_STATUS_READ_ERROR (integer)
CAIRO_STATUS_WRITE_ERROR (integer)
CAIRO_STATUS_SURFACE_FINISHED (integer)
CAIRO_STATUS_SURFACE_TYPE_MISMATCH (integer)
CAIRO_STATUS_PATTERN_TYPE_MISMATCH (integer)
CAIRO_STATUS_INVALID_CONTENT (integer)
CAIRO_STATUS_INVALID_FORMAT (integer)
CAIRO_STATUS_INVALID_VISUAL (integer)
CAIRO_STATUS_FILE_NOT_FOUND (integer)
CAIRO_STATUS_INVALID_DASH (integer)
CAIRO_STATUS_INVALID_DSC_COMMENT (integer)
CAIRO_STATUS_INVALID_INDEX (integer)
CAIRO_STATUS_CLIP_NOT_REPRESENTABLE (integer)
CAIRO_STATUS_TEMP_FILE_ERROR (integer)
CAIRO_STATUS_INVALID_STRIDE (integer)
CAIRO_ANTIALIAS_DEFAULT (integer)
CAIRO_ANTIALIAS_NONE (integer)
CAIRO_ANTIALIAS_GRAY (integer)
CAIRO_ANTIALIAS_SUBPIXEL (integer)
CAIRO_SUBPIXEL_ORDER_DEFAULT (integer)
CAIRO_SUBPIXEL_ORDER_RGB (integer)
CAIRO_SUBPIXEL_ORDER_BGR (integer)
CAIRO_SUBPIXEL_ORDER_VRGB (integer)
CAIRO_SUBPIXEL_ORDER_VBGR (integer)
CAIRO_FILL_RULE_WINDING (integer)
CAIRO_FILL_RULE_EVEN_ODD (integer)
CAIRO_LINE_CAP_BUTT (integer)
CAIRO_LINE_CAP_ROUND (integer)
CAIRO_LINE_CAP_SQUARE (integer)
CAIRO_LINE_JOIN_MITER (integer)
CAIRO_LINE_JOIN_ROUND (integer)
CAIRO_LINE_JOIN_BEVEL (integer)
CAIRO_OPERATOR_CLEAR (integer)
CAIRO_OPERATOR_SOURCE (integer)
CAIRO_OPERATOR_OVER (integer)
CAIRO_OPERATOR_IN (integer)
CAIRO_OPERATOR_OUT (integer)
CAIRO_OPERATOR_ATOP (integer)
CAIRO_OPERATOR_DEST (integer)
CAIRO_OPERATOR_DEST_OVER (integer)
CAIRO_OPERATOR_DEST_IN (integer)
CAIRO_OPERATOR_DEST_OUT (integer)
CAIRO_OPERATOR_DEST_ATOP (integer)
CAIRO_OPERATOR_XOR (integer)
CAIRO_OPERATOR_ADD (integer)
CAIRO_OPERATOR_SATURATE (integer)
CAIRO_PATTERN_TYPE_SOLID (integer)
CAIRO_PATTERN_TYPE_SURFACE (integer)
CAIRO_PATTERN_TYPE_LINEAR (integer)
CAIRO_PATTERN_TYPE_RADIAL (integer)
CAIRO_EXTEND_NONE (integer)
CAIRO_EXTEND_REPEAT (integer)
CAIRO_EXTEND_REFLECT (integer)
CAIRO_EXTEND_PAD (integer)
CAIRO_FILTER_FAST (integer)
CAIRO_FILTER_GOOD (integer)
CAIRO_FILTER_BEST (integer)
CAIRO_FILTER_NEAREST (integer)
CAIRO_FILTER_BILINEAR (integer)
CAIRO_FILTER_GAUSSIAN (integer)
CAIRO_HINT_STYLE_DEFAULT (integer)
CAIRO_HINT_STYLE_NONE (integer)
CAIRO_HINT_STYLE_SLIGHT (integer)
CAIRO_HINT_STYLE_MEDIUM (integer)
CAIRO_HINT_STYLE_FULL (integer)
CAIRO_HINT_METRICS_DEFAULT (integer)
CAIRO_HINT_METRICS_OFF (integer)
CAIRO_HINT_METRICS_ON (integer)
CAIRO_FONT_TYPE_TOY (integer)
CAIRO_FONT_TYPE_FT (integer)
CAIRO_FONT_TYPE_WIN32 (integer)
CAIRO_FONT_TYPE_QUARTZ (integer)
CAIRO_FONT_SLANT_NORMAL (integer)
CAIRO_FONT_SLANT_ITALIC (integer)
CAIRO_FONT_SLANT_OBLIQUE (integer)
CAIRO_FONT_WEIGHT_NORMAL (integer)
CAIRO_FONT_WEIGHT_BOLD (integer)
CAIRO_CONTENT_COLOR (integer)
CAIRO_CONTENT_ALPHA (integer)
CAIRO_CONTENT_COLOR_ALPHA (integer)
CAIRO_SURFACE_TYPE_IMAGE (integer)
CAIRO_SURFACE_TYPE_PDF (integer)
CAIRO_SURFACE_TYPE_PS (integer)
CAIRO_SURFACE_TYPE_XLIB (integer)
CAIRO_SURFACE_TYPE_XCB (integer)
CAIRO_SURFACE_TYPE_GLITZ (integer)
CAIRO_SURFACE_TYPE_QUARTZ (integer)
CAIRO_SURFACE_TYPE_WIN32 (integer)
CAIRO_SURFACE_TYPE_BEOS (integer)
CAIRO_SURFACE_TYPE_DIRECTFB (integer)
CAIRO_SURFACE_TYPE_SVG (integer)
CAIRO_SURFACE_TYPE_OS2 (integer)
CAIRO_SURFACE_TYPE_WIN32_PRINTING (integer)
CAIRO_SURFACE_TYPE_QUARTZ_IMAGE (integer)
CAIRO_FORMAT_ARGB32 (integer)
CAIRO_FORMAT_RGB24 (integer)
CAIRO_FORMAT_A8 (integer)
CAIRO_FORMAT_A1 (integer)
CAIRO_PS_LEVEL_2 (integer)
CAIRO_PS_LEVEL_3 (integer)
CAIRO_SVG_VERSION_1_1 (integer)
CAIRO_SVG_VERSION_1_2 (integer)

Типы ресурсов
Примеры
Cairo


Примеры

Здесь будет описание...

Пример #1 Пример использования Cairo

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...
Предопределенные константы
Cairo
Cairo


Cairo
PHP Manual

Cairo

Содержание

  • cairo_create — Returns a new CairoContext object on the requested surface.
  • cairo_font_face_get_type — Description
  • cairo_font_face_status — Description
  • cairo_font_options_create — Description
  • cairo_font_options_equal — Description
  • cairo_font_options_get_antialias — Description
  • cairo_font_options_get_hint_metrics — Description
  • cairo_font_options_get_hint_style — Description
  • cairo_font_options_get_subpixel_order — Description
  • cairo_font_options_hash — Description
  • cairo_font_options_merge — Description
  • cairo_font_options_set_antialias — Description
  • cairo_font_options_set_hint_metrics — Description
  • cairo_font_options_set_hint_style — Description
  • cairo_font_options_set_subpixel_order — Description
  • cairo_font_options_status — Description
  • cairo_format_stride_for_width — Description
  • cairo_image_surface_create_for_data — Description
  • cairo_image_surface_create_from_png — Description
  • cairo_image_surface_create — Description
  • cairo_image_surface_get_data — Description
  • cairo_image_surface_get_format — Description
  • cairo_image_surface_get_height — Description
  • cairo_image_surface_get_stride — Description
  • cairo_image_surface_get_width — Description
  • cairo_matrix_create_scale — Псевдоним CairoMatrix::initScale
  • cairo_matrix_create_translate — Псевдоним CairoMatrix::initTranslate
  • cairo_matrix_invert — Description
  • cairo_matrix_multiply — Description
  • cairo_matrix_rotate — Description
  • cairo_matrix_transform_distance — Description
  • cairo_matrix_transform_point — Description
  • cairo_matrix_translate — Description
  • cairo_pattern_add_color_stop_rgb — Description
  • cairo_pattern_add_color_stop_rgba — Description
  • cairo_pattern_create_for_surface — Description
  • cairo_pattern_create_linear — Description
  • cairo_pattern_create_radial — Description
  • cairo_pattern_create_rgb — Description
  • cairo_pattern_create_rgba — Description
  • cairo_pattern_get_color_stop_count — Description
  • cairo_pattern_get_color_stop_rgba — Description
  • cairo_pattern_get_extend — Description
  • cairo_pattern_get_filter — Description
  • cairo_pattern_get_linear_points — Description
  • cairo_pattern_get_matrix — Description
  • cairo_pattern_get_radial_circles — Description
  • cairo_pattern_get_rgba — Description
  • cairo_pattern_get_surface — Description
  • cairo_pattern_get_type — Description
  • cairo_pattern_set_extend — Description
  • cairo_pattern_set_filter — Description
  • cairo_pattern_set_matrix — Description
  • cairo_pattern_status — Description
  • cairo_pdf_surface_create — Description
  • cairo_pdf_surface_set_size — Description
  • cairo_ps_get_levels — Description
  • cairo_ps_level_to_string — Description
  • cairo_ps_surface_create — Description
  • cairo_ps_surface_dsc_begin_page_setup — Description
  • cairo_ps_surface_dsc_begin_setup — Description
  • cairo_ps_surface_dsc_comment — Description
  • cairo_ps_surface_get_eps — Description
  • cairo_ps_surface_restrict_to_level — Description
  • cairo_ps_surface_set_eps — Description
  • cairo_ps_surface_set_size — Description
  • cairo_scaled_font_create — Description
  • cairo_scaled_font_extents — Description
  • cairo_scaled_font_get_ctm — Description
  • cairo_scaled_font_get_font_face — Description
  • cairo_scaled_font_get_font_matrix — Description
  • cairo_scaled_font_get_font_options — Description
  • cairo_scaled_font_get_scale_matrix — Description
  • cairo_scaled_font_get_type — Description
  • cairo_scaled_font_glyph_extents — Description
  • cairo_scaled_font_status — Description
  • cairo_scaled_font_text_extents — Description
  • cairo_surface_copy_page — Description
  • cairo_surface_create_similar — Description
  • cairo_surface_finish — Description
  • cairo_surface_flush — Description
  • cairo_surface_get_content — Description
  • cairo_surface_get_device_offset — Description
  • cairo_surface_get_font_options — Description
  • cairo_surface_get_type — Description
  • cairo_surface_mark_dirty_rectangle — Description
  • cairo_surface_mark_dirty — Description
  • cairo_surface_set_device_offset — Description
  • cairo_surface_set_fallback_resolution — Description
  • cairo_surface_show_page — Description
  • cairo_surface_status — Description
  • cairo_surface_write_to_png — Description
  • cairo_svg_surface_create — Description
  • cairo_svg_surface_restrict_to_version — Description
  • cairo_svg_version_to_string — Description
Примеры
cairo_create
Cairo
PHP Manual


Returns a new CairoContext object on the requested surface.

Cairo
cairo_font_face_get_type
Cairo
PHP Manual

cairo_create

(PECL cairo >= 0.1.0)

cairo_create — Returns a new CairoContext object on the requested surface.

Описание

CairoContext cairo_create ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

Cairo
cairo_font_face_get_type
Cairo


Description

cairo_create
cairo_font_face_status
Cairo
PHP Manual

cairo_font_face_get_type

(PECL cairo >= 0.1.0)

cairo_font_face_get_type — Description

Описание

int cairo_font_face_get_type ( CairoFontFace $fontface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fontface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_face_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_create
cairo_font_face_status
Cairo


Description

cairo_font_face_get_type
cairo_font_options_create
Cairo
PHP Manual

cairo_font_face_status

(PECL cairo >= 0.1.0)

cairo_font_face_status — Description

Описание

int cairo_font_face_status ( CairoFontFace $fontface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fontface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_face_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_face_get_type
cairo_font_options_create
Cairo


Description

cairo_font_face_status
cairo_font_options_equal
Cairo
PHP Manual

cairo_font_options_create

(PECL cairo >= 0.1.0)

cairo_font_options_create — Description

Описание

CairoFontOptions cairo_font_options_create ( void )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_face_status
cairo_font_options_equal
Cairo


Description

cairo_font_options_create
cairo_font_options_get_antialias
Cairo
PHP Manual

cairo_font_options_equal

(PECL cairo >= 0.1.0)

cairo_font_options_equal — Description

Описание

bool cairo_font_options_equal ( CairoFontOptions $options , CairoFontOptions $other )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

other

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_equal() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_create
cairo_font_options_get_antialias
Cairo


Description

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Cairo
PHP Manual

cairo_font_options_get_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_get_antialias — Description

Описание

int cairo_font_options_get_antialias ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_get_antialias() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Cairo


Description

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Cairo
PHP Manual

cairo_font_options_get_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_metrics — Description

Описание

int cairo_font_options_get_hint_metrics ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_get_hint_metrics() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Cairo


Description

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Cairo
PHP Manual

cairo_font_options_get_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_style — Description

Описание

int cairo_font_options_get_hint_style ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_get_hint_style() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Cairo


Description

cairo_font_options_get_hint_style
cairo_font_options_hash
Cairo
PHP Manual

cairo_font_options_get_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_get_subpixel_order — Description

Описание

int cairo_font_options_get_subpixel_order ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_get_subpixel_order() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_get_hint_style
cairo_font_options_hash
Cairo


Description

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Cairo
PHP Manual

cairo_font_options_hash

(PECL cairo >= 0.1.0)

cairo_font_options_hash — Description

Описание

int cairo_font_options_hash ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_hash() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Cairo


Description

cairo_font_options_hash
cairo_font_options_set_antialias
Cairo
PHP Manual

cairo_font_options_merge

(PECL cairo >= 0.1.0)

cairo_font_options_merge — Description

Описание

void cairo_font_options_merge ( CairoFontOptions $options , CairoFontOptions $other )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

other

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_merge() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_hash
cairo_font_options_set_antialias
Cairo


Description

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Cairo
PHP Manual

cairo_font_options_set_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_set_antialias — Description

Описание

void cairo_font_options_set_antialias ( CairoFontOptions $options , int $antialias )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

antialias

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_set_antialias() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Cairo


Description

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Cairo
PHP Manual

cairo_font_options_set_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_metrics — Description

Описание

void cairo_font_options_set_hint_metrics ( CairoFontOptions $options , int $hint_metrics )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

hint_metrics

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_set_hint_metrics() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Cairo


Description

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Cairo
PHP Manual

cairo_font_options_set_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_style — Description

Описание

void cairo_font_options_set_hint_style ( CairoFontOptions $options , int $hint_style )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

hint_style

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_set_hint_style() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Cairo


Description

cairo_font_options_set_hint_style
cairo_font_options_status
Cairo
PHP Manual

cairo_font_options_set_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_set_subpixel_order — Description

Описание

void cairo_font_options_set_subpixel_order ( CairoFontOptions $options , int $subpixel_order )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

subpixel_order

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_set_subpixel_order() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_set_hint_style
cairo_font_options_status
Cairo


Description

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Cairo
PHP Manual

cairo_font_options_status

(PECL cairo >= 0.1.0)

cairo_font_options_status — Description

Описание

int cairo_font_options_status ( CairoFontOptions $options )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_font_options_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Cairo


Description

cairo_font_options_status
cairo_image_surface_create_for_data
Cairo
PHP Manual

cairo_format_stride_for_width

(PECL cairo >= 0.1.0)

cairo_format_stride_for_width — Description

Описание

int cairo_format_stride_for_width ( int $format , int $width )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

format

Description...

width

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_format_stride_for_width() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_font_options_status
cairo_image_surface_create_for_data
Cairo


Description

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Cairo
PHP Manual

cairo_image_surface_create_for_data

(PECL cairo >= 0.1.0)

cairo_image_surface_create_for_data — Description

Описание

CairoImageSurface cairo_image_surface_create_for_data ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

Description...

format

Description...

width

Description...

height

Description...

stride

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_create_for_data() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Cairo


Description

cairo_image_surface_create_for_data
cairo_image_surface_create
Cairo
PHP Manual

cairo_image_surface_create_from_png

(PECL cairo >= 0.1.0)

cairo_image_surface_create_from_png — Description

Описание

CairoImageSurface cairo_image_surface_create_from_png ( string $file )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_create_from_png() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_create_for_data
cairo_image_surface_create
Cairo


Description

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Cairo
PHP Manual

cairo_image_surface_create

(PECL cairo >= 0.1.0)

cairo_image_surface_create — Description

Описание

CairoImageSurface cairo_image_surface_create ( int $format , int $width , int $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

format

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Cairo


Description

cairo_image_surface_create
cairo_image_surface_get_format
Cairo
PHP Manual

cairo_image_surface_get_data

(PECL cairo >= 0.1.0)

cairo_image_surface_get_data — Description

Описание

string cairo_image_surface_get_data ( CairoImageSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_get_data() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_create
cairo_image_surface_get_format
Cairo


Description

cairo_image_surface_get_data
cairo_image_surface_get_height
Cairo
PHP Manual

cairo_image_surface_get_format

(PECL cairo >= 0.1.0)

cairo_image_surface_get_format — Description

Описание

int cairo_image_surface_get_format ( CairoImageSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_get_format() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_get_data
cairo_image_surface_get_height
Cairo


Description

cairo_image_surface_get_format
cairo_image_surface_get_stride
Cairo
PHP Manual

cairo_image_surface_get_height

(PECL cairo >= 0.1.0)

cairo_image_surface_get_height — Description

Описание

int cairo_image_surface_get_height ( CairoImageSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_get_height() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_get_format
cairo_image_surface_get_stride
Cairo


Description

cairo_image_surface_get_height
cairo_image_surface_get_width
Cairo
PHP Manual

cairo_image_surface_get_stride

(PECL cairo >= 0.1.0)

cairo_image_surface_get_stride — Description

Описание

int cairo_image_surface_get_stride ( CairoImageSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_get_stride() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_get_height
cairo_image_surface_get_width
Cairo


Description

cairo_image_surface_get_stride
cairo_matrix_create_scale
Cairo
PHP Manual

cairo_image_surface_get_width

(PECL cairo >= 0.1.0)

cairo_image_surface_get_width — Description

Описание

int cairo_image_surface_get_width ( CairoImageSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_image_surface_get_width() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_image_surface_get_stride
cairo_matrix_create_scale
Cairo


Псевдоним CairoMatrix::initScale

cairo_image_surface_get_width
cairo_matrix_create_translate
Cairo
PHP Manual

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

cairo_matrix_create_scale — Псевдоним CairoMatrix::initScale()

Описание

Эта функция является псевдонимом: CairoMatrix::initScale().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

cairo_image_surface_get_width
cairo_matrix_create_translate
Cairo


Псевдоним CairoMatrix::initTranslate

cairo_matrix_create_scale
cairo_matrix_invert
Cairo
PHP Manual

cairo_matrix_create_translate

(PECL cairo >= 0.1.0)

cairo_matrix_create_translate — Псевдоним CairoMatrix::initTranslate()

Описание

Эта функция является псевдонимом: CairoMatrix::initTranslate().

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

cairo_matrix_create_scale
cairo_matrix_invert
Cairo


Description

cairo_matrix_create_translate
cairo_matrix_multiply
Cairo
PHP Manual

cairo_matrix_invert

(PECL cairo >= 0.1.0)

cairo_matrix_invert — Description

Описание

void cairo_matrix_invert ( CairoMatrix $matrix )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_invert() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_create_translate
cairo_matrix_multiply
Cairo


Description

cairo_matrix_invert
cairo_matrix_rotate
Cairo
PHP Manual

cairo_matrix_multiply

(PECL cairo >= 0.1.0)

cairo_matrix_multiply — Description

Описание

CairoMatrix cairo_matrix_multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix1

Description...

matrix2

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_multiply() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_invert
cairo_matrix_rotate
Cairo


Description

cairo_matrix_multiply
cairo_matrix_transform_distance
Cairo
PHP Manual

cairo_matrix_rotate

(PECL cairo >= 0.1.0)

cairo_matrix_rotate — Description

Описание

void cairo_matrix_rotate ( CairoMatrix $matrix , float $radians )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix

Description...

radians

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_rotate() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_multiply
cairo_matrix_transform_distance
Cairo


Description

cairo_matrix_rotate
cairo_matrix_transform_point
Cairo
PHP Manual

cairo_matrix_transform_distance

(PECL cairo >= 0.1.0)

cairo_matrix_transform_distance — Description

Описание

array cairo_matrix_transform_distance ( CairoMatrix $matrix , float $dx , float $dy )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix

Description...

dx

Description...

dy

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_transform_distance() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_rotate
cairo_matrix_transform_point
Cairo


Description

cairo_matrix_transform_distance
cairo_matrix_translate
Cairo
PHP Manual

cairo_matrix_transform_point

(PECL cairo >= 0.1.0)

cairo_matrix_transform_point — Description

Описание

array cairo_matrix_transform_point ( CairoMatrix $matrix , float $dx , float $dy )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix

Description...

dx

Description...

dy

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_transform_point() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_transform_distance
cairo_matrix_translate
Cairo


Description

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Cairo
PHP Manual

cairo_matrix_translate

(PECL cairo >= 0.1.0)

cairo_matrix_translate — Description

Описание

void cairo_matrix_translate ( CairoMatrix $matrix , float $tx , float $ty )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix

Description...

tx

Description...

ty

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_matrix_translate() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Cairo


Description

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Cairo
PHP Manual

cairo_pattern_add_color_stop_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgb — Description

Описание

void cairo_pattern_add_color_stop_rgb ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

offset

Description...

red

Description...

green

Description...

blue

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_add_color_stop_rgb() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Cairo


Description

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Cairo
PHP Manual

cairo_pattern_add_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgba — Description

Описание

void cairo_pattern_add_color_stop_rgba ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue , float $alpha )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

offset

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_add_color_stop_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Cairo


Description

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Cairo
PHP Manual

cairo_pattern_create_for_surface

(PECL cairo >= 0.1.0)

cairo_pattern_create_for_surface — Description

Описание

CairoPattern cairo_pattern_create_for_surface ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_create_for_surface() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Cairo


Description

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Cairo
PHP Manual

cairo_pattern_create_linear

(PECL cairo >= 0.1.0)

cairo_pattern_create_linear — Description

Описание

CairoPattern cairo_pattern_create_linear ( float $x0 , float $y0 , float $x1 , float $y1 )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x0

Description...

y0

Description...

x1

Description...

y1

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_create_linear() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Cairo


Description

cairo_pattern_create_linear
cairo_pattern_create_rgb
Cairo
PHP Manual

cairo_pattern_create_radial

(PECL cairo >= 0.1.0)

cairo_pattern_create_radial — Description

Описание

CairoPattern cairo_pattern_create_radial ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x0

Description...

y0

Description...

r0

Description...

x1

Description...

y1

Description...

r1

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_create_radial() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_create_linear
cairo_pattern_create_rgb
Cairo


Description

cairo_pattern_create_radial
cairo_pattern_create_rgba
Cairo
PHP Manual

cairo_pattern_create_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgb — Description

Описание

CairoPattern cairo_pattern_create_rgb ( float $red , float $green , float $blue )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

red

Description...

green

Description...

blue

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_create_rgb() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_create_radial
cairo_pattern_create_rgba
Cairo


Description

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Cairo
PHP Manual

cairo_pattern_create_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgba — Description

Описание

CairoPattern cairo_pattern_create_rgba ( float $red , float $green , float $blue , float $alpha )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

red

Description...

green

Description...

blue

Description...

alpha

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_create_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Cairo


Description

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Cairo
PHP Manual

cairo_pattern_get_color_stop_count

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_count — Description

Описание

int cairo_pattern_get_color_stop_count ( CairoGradientPattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_color_stop_count() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Cairo


Description

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Cairo
PHP Manual

cairo_pattern_get_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_rgba — Description

Описание

array cairo_pattern_get_color_stop_rgba ( CairoGradientPattern $pattern , int $index )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

index

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_color_stop_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Cairo


Description

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Cairo
PHP Manual

cairo_pattern_get_extend

(PECL cairo >= 0.1.0)

cairo_pattern_get_extend — Description

Описание

int cairo_pattern_get_extend ( string $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_extend() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Cairo


Description

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Cairo
PHP Manual

cairo_pattern_get_filter

(PECL cairo >= 0.1.0)

cairo_pattern_get_filter — Description

Описание

int cairo_pattern_get_filter ( CairoSurfacePattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_filter() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Cairo


Description

cairo_pattern_get_filter
cairo_pattern_get_matrix
Cairo
PHP Manual

cairo_pattern_get_linear_points

(PECL cairo >= 0.1.0)

cairo_pattern_get_linear_points — Description

Описание

array cairo_pattern_get_linear_points ( CairoLinearGradient $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_linear_points() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_filter
cairo_pattern_get_matrix
Cairo


Description

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Cairo
PHP Manual

cairo_pattern_get_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_get_matrix — Description

Описание

CairoMatrix cairo_pattern_get_matrix ( CairoPattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Cairo


Description

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Cairo
PHP Manual

cairo_pattern_get_radial_circles

(PECL cairo >= 0.1.0)

cairo_pattern_get_radial_circles — Description

Описание

array cairo_pattern_get_radial_circles ( CairoRadialGradient $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_radial_circles() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Cairo


Description

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Cairo
PHP Manual

cairo_pattern_get_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_rgba — Description

Описание

array cairo_pattern_get_rgba ( CairoSolidPattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Cairo


Description

cairo_pattern_get_rgba
cairo_pattern_get_type
Cairo
PHP Manual

cairo_pattern_get_surface

(PECL cairo >= 0.1.0)

cairo_pattern_get_surface — Description

Описание

CairoSurface cairo_pattern_get_surface ( CairoSurfacePattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_surface() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_rgba
cairo_pattern_get_type
Cairo


Description

cairo_pattern_get_surface
cairo_pattern_set_extend
Cairo
PHP Manual

cairo_pattern_get_type

(PECL cairo >= 0.1.0)

cairo_pattern_get_type — Description

Описание

int cairo_pattern_get_type ( CairoPattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_surface
cairo_pattern_set_extend
Cairo


Description

cairo_pattern_get_type
cairo_pattern_set_filter
Cairo
PHP Manual

cairo_pattern_set_extend

(PECL cairo >= 0.1.0)

cairo_pattern_set_extend — Description

Описание

void cairo_pattern_set_extend ( string $pattern , string $extend )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

extend

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_set_extend() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_get_type
cairo_pattern_set_filter
Cairo


Description

cairo_pattern_set_extend
cairo_pattern_set_matrix
Cairo
PHP Manual

cairo_pattern_set_filter

(PECL cairo >= 0.1.0)

cairo_pattern_set_filter — Description

Описание

void cairo_pattern_set_filter ( CairoSurfacePattern $pattern , int $filter )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

filter

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_set_filter() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_set_extend
cairo_pattern_set_matrix
Cairo


Description

cairo_pattern_set_filter
cairo_pattern_status
Cairo
PHP Manual

cairo_pattern_set_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_set_matrix — Description

Описание

void cairo_pattern_set_matrix ( CairoPattern $pattern , CairoMatrix $matrix )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

matrix

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_set_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_set_filter
cairo_pattern_status
Cairo


Description

cairo_pattern_set_matrix
cairo_pdf_surface_create
Cairo
PHP Manual

cairo_pattern_status

(PECL cairo >= 0.1.0)

cairo_pattern_status — Description

Описание

int cairo_pattern_status ( CairoPattern $pattern )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

pattern

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pattern_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_set_matrix
cairo_pdf_surface_create
Cairo


Description

cairo_pattern_status
cairo_pdf_surface_set_size
Cairo
PHP Manual

cairo_pdf_surface_create

(PECL cairo >= 0.1.0)

cairo_pdf_surface_create — Description

Описание

CairoPdfSurface cairo_pdf_surface_create ( string $file , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pdf_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pattern_status
cairo_pdf_surface_set_size
Cairo


Description

cairo_pdf_surface_create
cairo_ps_get_levels
Cairo
PHP Manual

cairo_pdf_surface_set_size

(PECL cairo >= 0.1.0)

cairo_pdf_surface_set_size — Description

Описание

void cairo_pdf_surface_set_size ( CairoPdfSurface $surface , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_pdf_surface_set_size() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pdf_surface_create
cairo_ps_get_levels
Cairo


Description

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Cairo
PHP Manual

cairo_ps_get_levels

(PECL cairo >= 0.1.0)

cairo_ps_get_levels — Description

Описание

array cairo_ps_get_levels ( void )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_get_levels() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Cairo


Description

cairo_ps_get_levels
cairo_ps_surface_create
Cairo
PHP Manual

cairo_ps_level_to_string

(PECL cairo >= 0.1.0)

cairo_ps_level_to_string — Description

Описание

string cairo_ps_level_to_string ( int $level )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

level

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_level_to_string() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_get_levels
cairo_ps_surface_create
Cairo


Description

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Cairo
PHP Manual

cairo_ps_surface_create

(PECL cairo >= 0.1.0)

cairo_ps_surface_create — Description

Описание

CairoPsSurface cairo_ps_surface_create ( string $file , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Cairo


Description

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Cairo
PHP Manual

cairo_ps_surface_dsc_begin_page_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_page_setup — Description

Описание

void cairo_ps_surface_dsc_begin_page_setup ( CairoPsSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_dsc_begin_page_setup() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Cairo


Description

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Cairo
PHP Manual

cairo_ps_surface_dsc_begin_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_setup — Description

Описание

void cairo_ps_surface_dsc_begin_setup ( CairoPsSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_dsc_begin_setup() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Cairo


Description

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Cairo
PHP Manual

cairo_ps_surface_dsc_comment

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_comment — Description

Описание

void cairo_ps_surface_dsc_comment ( CairoPsSurface $surface , string $comment )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

comment

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_dsc_comment() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Cairo


Description

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Cairo
PHP Manual

cairo_ps_surface_get_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_get_eps — Description

Описание

bool cairo_ps_surface_get_eps ( CairoPsSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_get_eps() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Cairo


Description

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Cairo
PHP Manual

cairo_ps_surface_restrict_to_level

(PECL cairo >= 0.1.0)

cairo_ps_surface_restrict_to_level — Description

Описание

void cairo_ps_surface_restrict_to_level ( CairoPsSurface $surface , int $level )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

level

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_restrict_to_level() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Cairo


Description

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Cairo
PHP Manual

cairo_ps_surface_set_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_eps — Description

Описание

void cairo_ps_surface_set_eps ( CairoPsSurface $surface , bool $level )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

level

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_set_eps() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Cairo


Description

cairo_ps_surface_set_eps
cairo_scaled_font_create
Cairo
PHP Manual

cairo_ps_surface_set_size

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_size — Description

Описание

void cairo_ps_surface_set_size ( CairoPsSurface $surface , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_ps_surface_set_size() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_set_eps
cairo_scaled_font_create
Cairo


Description

cairo_ps_surface_set_size
cairo_scaled_font_extents
Cairo
PHP Manual

cairo_scaled_font_create

(PECL cairo >= 0.1.0)

cairo_scaled_font_create — Description

Описание

CairoScaledFont cairo_scaled_font_create ( CairoFontFace $fontface , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $fontoptions )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fontface

Description...

matrix

Description...

ctm

Description...

fontoptions

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_ps_surface_set_size
cairo_scaled_font_extents
Cairo


Description

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Cairo
PHP Manual

cairo_scaled_font_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_extents — Description

Описание

array cairo_scaled_font_extents ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Cairo


Description

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Cairo
PHP Manual

cairo_scaled_font_get_ctm

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_ctm — Description

Описание

CairoMatrix cairo_scaled_font_get_ctm ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_ctm() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Cairo


Description

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Cairo
PHP Manual

cairo_scaled_font_get_font_face

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_face — Description

Описание

CairoFontFace cairo_scaled_font_get_font_face ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_font_face() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Cairo


Description

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Cairo
PHP Manual

cairo_scaled_font_get_font_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_matrix — Description

Описание

CairoFontOptions cairo_scaled_font_get_font_matrix ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_font_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Cairo


Description

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Cairo
PHP Manual

cairo_scaled_font_get_font_options

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_options — Description

Описание

CairoFontOptions cairo_scaled_font_get_font_options ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_font_options() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Cairo


Description

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Cairo
PHP Manual

cairo_scaled_font_get_scale_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_scale_matrix — Description

Описание

CairoMatrix cairo_scaled_font_get_scale_matrix ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_scale_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Cairo


Description

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Cairo
PHP Manual

cairo_scaled_font_get_type

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_type — Description

Описание

int cairo_scaled_font_get_type ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Cairo


Description

cairo_scaled_font_get_type
cairo_scaled_font_status
Cairo
PHP Manual

cairo_scaled_font_glyph_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_glyph_extents — Description

Описание

array cairo_scaled_font_glyph_extents ( CairoScaledFont $scaledfont , array $glyphs )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

glyphs

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_glyph_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_get_type
cairo_scaled_font_status
Cairo


Description

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Cairo
PHP Manual

cairo_scaled_font_status

(PECL cairo >= 0.1.0)

cairo_scaled_font_status — Description

Описание

int cairo_scaled_font_status ( CairoScaledFont $scaledfont )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Cairo


Description

cairo_scaled_font_status
cairo_surface_copy_page
Cairo
PHP Manual

cairo_scaled_font_text_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_text_extents — Description

Описание

array cairo_scaled_font_text_extents ( CairoScaledFont $scaledfont , string $text )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

scaledfont

Description...

text

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_scaled_font_text_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_status
cairo_surface_copy_page
Cairo


Description

cairo_scaled_font_text_extents
cairo_surface_create_similar
Cairo
PHP Manual

cairo_surface_copy_page

(PECL cairo >= 0.1.0)

cairo_surface_copy_page — Description

Описание

void cairo_surface_copy_page ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_copy_page() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_scaled_font_text_extents
cairo_surface_create_similar
Cairo


Description

cairo_surface_copy_page
cairo_surface_finish
Cairo
PHP Manual

cairo_surface_create_similar

(PECL cairo >= 0.1.0)

cairo_surface_create_similar — Description

Описание

CairoSurface cairo_surface_create_similar ( CairoSurface $surface , int $content , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

content

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_create_similar() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_copy_page
cairo_surface_finish
Cairo


Description

cairo_surface_create_similar
cairo_surface_flush
Cairo
PHP Manual

cairo_surface_finish

(PECL cairo >= 0.1.0)

cairo_surface_finish — Description

Описание

void cairo_surface_finish ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_finish() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_create_similar
cairo_surface_flush
Cairo


Description

cairo_surface_finish
cairo_surface_get_content
Cairo
PHP Manual

cairo_surface_flush

(PECL cairo >= 0.1.0)

cairo_surface_flush — Description

Описание

void cairo_surface_flush ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_flush() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_finish
cairo_surface_get_content
Cairo


Description

cairo_surface_flush
cairo_surface_get_device_offset
Cairo
PHP Manual

cairo_surface_get_content

(PECL cairo >= 0.1.0)

cairo_surface_get_content — Description

Описание

int cairo_surface_get_content ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_get_content() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_flush
cairo_surface_get_device_offset
Cairo


Description

cairo_surface_get_content
cairo_surface_get_font_options
Cairo
PHP Manual

cairo_surface_get_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_get_device_offset — Description

Описание

array cairo_surface_get_device_offset ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_get_device_offset() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_get_content
cairo_surface_get_font_options
Cairo


Description

cairo_surface_get_device_offset
cairo_surface_get_type
Cairo
PHP Manual

cairo_surface_get_font_options

(PECL cairo >= 0.1.0)

cairo_surface_get_font_options — Description

Описание

CairoFontOptions cairo_surface_get_font_options ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_get_font_options() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_get_device_offset
cairo_surface_get_type
Cairo


Description

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Cairo
PHP Manual

cairo_surface_get_type

(PECL cairo >= 0.1.0)

cairo_surface_get_type — Description

Описание

int cairo_surface_get_type ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Cairo


Description

cairo_surface_get_type
cairo_surface_mark_dirty
Cairo
PHP Manual

cairo_surface_mark_dirty_rectangle

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty_rectangle — Description

Описание

void cairo_surface_mark_dirty_rectangle ( CairoSurface $surface , float $x , float $y , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

x

Description...

y

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_mark_dirty_rectangle() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_get_type
cairo_surface_mark_dirty
Cairo


Description

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Cairo
PHP Manual

cairo_surface_mark_dirty

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty — Description

Описание

void cairo_surface_mark_dirty ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_mark_dirty() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Cairo


Description

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Cairo
PHP Manual

cairo_surface_set_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_set_device_offset — Description

Описание

void cairo_surface_set_device_offset ( CairoSurface $surface , float $x , float $y )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

x

Description...

y

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_set_device_offset() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Cairo


Description

cairo_surface_set_device_offset
cairo_surface_show_page
Cairo
PHP Manual

cairo_surface_set_fallback_resolution

(PECL cairo >= 0.1.0)

cairo_surface_set_fallback_resolution — Description

Описание

void cairo_surface_set_fallback_resolution ( CairoSurface $surface , float $x , float $y )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

x

Description...

y

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_set_fallback_resolution() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_set_device_offset
cairo_surface_show_page
Cairo


Description

cairo_surface_set_fallback_resolution
cairo_surface_status
Cairo
PHP Manual

cairo_surface_show_page

(PECL cairo >= 0.1.0)

cairo_surface_show_page — Description

Описание

void cairo_surface_show_page ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_show_page() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_set_fallback_resolution
cairo_surface_status
Cairo


Description

cairo_surface_show_page
cairo_surface_write_to_png
Cairo
PHP Manual

cairo_surface_status

(PECL cairo >= 0.1.0)

cairo_surface_status — Description

Описание

int cairo_surface_status ( CairoSurface $surface )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_show_page
cairo_surface_write_to_png
Cairo


Description

cairo_surface_status
cairo_svg_surface_create
Cairo
PHP Manual

cairo_surface_write_to_png

(PECL cairo >= 0.1.0)

cairo_surface_write_to_png — Description

Описание

void cairo_surface_write_to_png ( CairoSurface $surface , resource $stream )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

stream

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_surface_write_to_png() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_status
cairo_svg_surface_create
Cairo


Description

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Cairo
PHP Manual

cairo_svg_surface_create

(PECL cairo >= 0.1.0)

cairo_svg_surface_create — Description

Описание

CairoSvgSurface cairo_svg_surface_create ( string $file , float $width , float $height )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_svg_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Cairo


Description

cairo_svg_surface_create
cairo_svg_version_to_string
Cairo
PHP Manual

cairo_svg_surface_restrict_to_version

(PECL cairo >= 0.1.0)

cairo_svg_surface_restrict_to_version — Description

Описание

void cairo_svg_surface_restrict_to_version ( CairoSvgSurface $surface , int $version )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

version

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_svg_surface_restrict_to_version() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_svg_surface_create
cairo_svg_version_to_string
Cairo


Description

cairo_svg_surface_restrict_to_version
Cairo
Cairo
PHP Manual

cairo_svg_version_to_string

(PECL cairo >= 0.1.0)

cairo_svg_version_to_string — Description

Описание

string cairo_svg_version_to_string ( int $version )

The function description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

version

Description...

Возвращаемые значения

What is returned on success and failure

Ошибки

When does this function issue E_* level errors, and/or throw exceptions.

Примеры

Пример #1 cairo_svg_version_to_string() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • related function name here()

cairo_svg_surface_restrict_to_version
Cairo
Cairo


Класс Cairo

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Простой класс с несколькими вспомогательными статическими методами.

Обзор классов

Cairo {
/* Методы */
public static array availableFonts ( void )
public static array availableSurfaces ( void )
public static string statusToString ( int $status )
public static int version ( void )
public static string versionString ( void )
}

Содержание

  • Cairo::availableFonts — Retrieves the availables font types
  • Cairo::availableSurfaces — Retrieves all available surfaces
  • Cairo::statusToString — Retrieves the current status as string
  • Cairo::version — Retrives cairo's library version
  • Cairo::versionString — Retrieves cairo version as string
cairo_svg_version_to_string
Cairo::availableFonts
Cairo


Retrieves the availables font types

Cairo
Cairo::availableSurfaces
Cairo
PHP Manual

Cairo::availableFonts

cairo_available_fonts

(PECL cairo >= 0.1.0)

Cairo::availableFonts -- cairo_available_fonts — Retrieves the availables font types

Описание

Object oriented style:

public static array Cairo::availableFonts ( void )

Procedural style:

array cairo_available_fonts ( void )

Returns an array with the available font backends

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A list-type array with all available font backends.

Примеры

Пример #1 Object oriented style

<?php

/* Object Oriented Style */
var_dump(Cairo::availableFonts());

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Пример #2 Procedural style

<?php

/* Procedural style */
var_dump(cairo_available_fonts());

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Смотрите также

  • Cairo::availableSurfaces() - Retrieves all available surfaces

Cairo
Cairo::availableSurfaces
Cairo


Retrieves all available surfaces

Cairo::availableFonts
Cairo::statusToString
Cairo
PHP Manual

Cairo::availableSurfaces

cairo_available_surfaces

(PECL cairo >= 0.1.0)

Cairo::availableSurfaces -- cairo_available_surfaces — Retrieves all available surfaces

Описание

Object oriented style (method):

public static array Cairo::availableSurfaces ( void )

Procedural style:

array cairo_available_surfaces ( void )

Returns an array with the available surface backends

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A list-type array with all available surface backends.

Примеры

Пример #1 Object oriented style

<?php

/* Object Oriented style */
var_dump(Cairo::availableSurfaces());

?>

Результатом выполнения данного примера будет что-то подобное:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Пример #2 Procedural style

<?php

/* Procedural style */
var_dump(cairo_available_surfaces());

?>

Результатом выполнения данного примера будет что-то подобное:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Смотрите также

  • Cairo::availableFonts() - Retrieves the availables font types

Cairo::availableFonts
Cairo::statusToString
Cairo


Retrieves the current status as string

Cairo::availableSurfaces
Cairo::version
Cairo
PHP Manual

Cairo::statusToString

cairo_status_to_string

(PECL cairo >= 0.1.0)

Cairo::statusToString -- cairo_status_to_string — Retrieves the current status as string

Описание

Object oriented style (method):

public static string Cairo::statusToString ( int $status )

Procedural style:

string cairo_status_to_string ( int $status )

Retrieves the current status as a readable string

Список параметров

status

A valid status code given by cairo_status() or CairoContext::status()

Возвращаемые значения

A string containing the current status of a CairoContext object

Примеры

Пример #1 Object oriented style

<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

var_dump(Cairo::statusToString($context->status()));
?>

Результатом выполнения данного примера будет что-то подобное:

string(7) "success"

Пример #2 Procedural style

<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);

var_dump(cairo_status_to_string(cairo_status($context)));
?>

Результатом выполнения данного примера будет что-то подобное:

string(7) "success"

Смотрите также

  • CairoContext::status() - The status purpose

Cairo::availableSurfaces
Cairo::version
Cairo


Retrives cairo's library version

Cairo::statusToString
Cairo::versionString
Cairo
PHP Manual

Cairo::version

cairo_version

(PECL cairo >= 0.1.0)

Cairo::version -- cairo_version — Retrives cairo's library version

Описание

Object oriented style (method):

public static int Cairo::version ( void )

Procedural style:

int cairo_version ( void )

Retrieves the current version of the cairo library as an integer value

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Current Cairo library version integer

Примеры

Пример #1 Object oriented style

<?php
var_dump(Cairo::version());
?>

Результатом выполнения данного примера будет что-то подобное:

int(10808)

Пример #2 Procedural style

<?php
var_dump(cairo_version());
?>

Результатом выполнения данного примера будет что-то подобное:

int(10808)

Смотрите также

  • Cairo::versionString() - Retrieves cairo version as string

Cairo::statusToString
Cairo::versionString
Cairo


Retrieves cairo version as string

Cairo::version
CairoContext
Cairo
PHP Manual

Cairo::versionString

cairo_version_string

(PECL cairo >= 0.1.0)

Cairo::versionString -- cairo_version_string — Retrieves cairo version as string

Описание

Object oriented style (method):

public static string Cairo::versionString ( void )

Procedural style:

string cairo_version_string ( void )

Retrieves the current cairo library version as a string.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Current Cairo library version string

Примеры

Пример #1 Object oriented style

<?php

var_dump(Cairo::versionString());

?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "1.8.8"

Пример #2 Procedural style

<?php

var_dump(cairo_version_string());

?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "1.8.8"

Смотрите также

  • Cairo::version() - Retrives cairo's library version

Cairo::version
CairoContext
Cairo


The CairoContext class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Context is the main object used when drawing with cairo. To draw with cairo, you create a CairoContext, set the target CairoSurface, and drawing options for the CairoContext, create shapes with functions . like CairoContext::moveTo() and CairoContext::lineTo(), and then draw shapes with CairoContext::stroke() or CairoContext::fill(). Contexts can be pushed to a stack via CairoContext::save(). They may then safely be changed, without loosing the current state. Use CairoContext::restore() to restore to the saved state.

Обзор классов

CairoContext {
/* Методы */
public void appendPath ( CairoPath $path )
public void arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void clip ( void )
public array clipExtents ( void )
public void clipPreserve ( void )
public array clipRectangleList ( void )
public void closePath ( void )
__construct ( CairoSurface $surface )
public void copyPage ( void )
public CairoPath copyPath ( void )
public CairoPath copyPathFlat ( void )
public void curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
public array deviceToUser ( float $x , float $y )
public array deviceToUserDistance ( float $x , float $y )
public void fill ( void )
public array fillExtents ( void )
public void fillPreserve ( void )
public array fontExtents ( void )
public int getAntialias ( void )
public array getCurrentPoint ( void )
public array getDash ( void )
public int getDashCount ( void )
public int getFillRule ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getGroupTarget ( void )
public int getLineCap ( void )
public int getLineJoin ( void )
public float getLineWidth ( void )
public void getMatrix ( void )
public float getMiterLimit ( void )
public int getOperator ( void )
public void getScaledFont ( void )
public void getSource ( void )
public void getTarget ( void )
public float getTolerance ( void )
public void glyphPath ( array $glyphs )
public bool hasCurrentPoint ( void )
public void identityMatrix ( void )
public bool inFill ( string $x , string $y )
public bool inStroke ( string $x , string $y )
public void lineTo ( string $x , string $y )
public void mask ( string $pattern )
public void maskSurface ( string $surface [, string $x [, string $y ]] )
public void moveTo ( string $x , string $y )
public void newPath ( void )
public void newSubPath ( void )
public void paint ( void )
public void paintWithAlpha ( string $alpha )
public array pathExtents ( void )
public void popGroup ( void )
public void popGroupToSource ( void )
public void pushGroup ( void )
public void pushGroupWithContent ( string $content )
public void rectangle ( string $x , string $y , string $width , string $height )
public void relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )
public void relLineTo ( string $x , string $y )
public void relMoveTo ( string $x , string $y )
public void resetClip ( void )
public void restore ( void )
public void rotate ( string $angle )
public void save ( void )
public void scale ( string $x , string $y )
public void selectFontFace ( string $family [, string $slant [, string $weight ]] )
public void setAntialias ([ string $antialias ] )
public void setDash ( string $dashes [, string $offset ] )
public void setFillRule ( string $setting )
public void setFontFace ( CairoFontFace $fontface )
public void setFontMatrix ( string $matrix )
public void setFontOptions ( string $fontoptions )
public void setFontSize ( string $size )
public void setLineCap ( string $setting )
public void setLineJoin ( string $setting )
public void setLineWidth ( string $width )
public void setMatrix ( string $matrix )
public void setMiterLimit ( string $limit )
public void setOperator ( string $setting )
public void setScaledFont ( string $scaledfont )
public void setSource ( string $pattern )
public void setSourceRGB ( string $red , string $green , string $blue )
public void setSourceRGBA ( string $red , string $green , string $blue , string $alpha )
public void setSourceSurface ( string $surface [, string $x [, string $y ]] )
public void setTolerance ( string $tolerance )
public void showPage ( void )
public void showText ( string $text )
public int status ( void )
public void stroke ( void )
public array strokeExtents ( void )
public void strokePreserve ( void )
public array textExtents ( string $text )
public void textPath ( string $string )
public void transform ( string $matrix )
public void translate ( string $x , string $y )
public array userToDevice ( string $x , string $y )
public array userToDeviceDistance ( string $x , string $y )
}

Содержание

  • CairoContext::appendPath — Appends a path to current path
  • CairoContext::arc — Adds a circular arc
  • CairoContext::arcNegative — Adds a negative arc
  • CairoContext::clip — Establishes a new clip region
  • CairoContext::clipExtents — Computes the area inside the current clip
  • CairoContext::clipPreserve — Establishes a new clip region from the current clip
  • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
  • CairoContext::closePath — Closes the current path
  • CairoContext::__construct — Creates a new CairoContext
  • CairoContext::copyPage — Emits the current page
  • CairoContext::copyPath — Creates a copy of the current path
  • CairoContext::copyPathFlat — Gets a flattened copy of the current path
  • CairoContext::curveTo — Adds a curve
  • CairoContext::deviceToUser — Transform a coordinate
  • CairoContext::deviceToUserDistance — Transform a distance
  • CairoContext::fill — Fills the current path
  • CairoContext::fillExtents — Computes the filled area
  • CairoContext::fillPreserve — Fills and preserve the current path
  • CairoContext::fontExtents — Get the font extents
  • CairoContext::getAntialias — Retrives the current antialias mode
  • CairoContext::getCurrentPoint — The getCurrentPoint purpose
  • CairoContext::getDash — The getDash purpose
  • CairoContext::getDashCount — The getDashCount purpose
  • CairoContext::getFillRule — The getFillRule purpose
  • CairoContext::getFontFace — The getFontFace purpose
  • CairoContext::getFontMatrix — The getFontMatrix purpose
  • CairoContext::getFontOptions — The getFontOptions purpose
  • CairoContext::getGroupTarget — The getGroupTarget purpose
  • CairoContext::getLineCap — The getLineCap purpose
  • CairoContext::getLineJoin — The getLineJoin purpose
  • CairoContext::getLineWidth — The getLineWidth purpose
  • CairoContext::getMatrix — The getMatrix purpose
  • CairoContext::getMiterLimit — The getMiterLimit purpose
  • CairoContext::getOperator — The getOperator purpose
  • CairoContext::getScaledFont — The getScaledFont purpose
  • CairoContext::getSource — The getSource purpose
  • CairoContext::getTarget — The getTarget purpose
  • CairoContext::getTolerance — The getTolerance purpose
  • CairoContext::glyphPath — The glyphPath purpose
  • CairoContext::hasCurrentPoint — The hasCurrentPoint purpose
  • CairoContext::identityMatrix — The identityMatrix purpose
  • CairoContext::inFill — The inFill purpose
  • CairoContext::inStroke — The inStroke purpose
  • CairoContext::lineTo — The lineTo purpose
  • CairoContext::mask — The mask purpose
  • CairoContext::maskSurface — The maskSurface purpose
  • CairoContext::moveTo — The moveTo purpose
  • CairoContext::newPath — The newPath purpose
  • CairoContext::newSubPath — The newSubPath purpose
  • CairoContext::paint — The paint purpose
  • CairoContext::paintWithAlpha — The paintWithAlpha purpose
  • CairoContext::pathExtents — The pathExtents purpose
  • CairoContext::popGroup — The popGroup purpose
  • CairoContext::popGroupToSource — The popGroupToSource purpose
  • CairoContext::pushGroup — The pushGroup purpose
  • CairoContext::pushGroupWithContent — The pushGroupWithContent purpose
  • CairoContext::rectangle — The rectangle purpose
  • CairoContext::relCurveTo — The relCurveTo purpose
  • CairoContext::relLineTo — The relLineTo purpose
  • CairoContext::relMoveTo — The relMoveTo purpose
  • CairoContext::resetClip — The resetClip purpose
  • CairoContext::restore — The restore purpose
  • CairoContext::rotate — The rotate purpose
  • CairoContext::save — The save purpose
  • CairoContext::scale — The scale purpose
  • CairoContext::selectFontFace — The selectFontFace purpose
  • CairoContext::setAntialias — The setAntialias purpose
  • CairoContext::setDash — The setDash purpose
  • CairoContext::setFillRule — The setFillRule purpose
  • CairoContext::setFontFace — The setFontFace purpose
  • CairoContext::setFontMatrix — The setFontMatrix purpose
  • CairoContext::setFontOptions — The setFontOptions purpose
  • CairoContext::setFontSize — The setFontSize purpose
  • CairoContext::setLineCap — The setLineCap purpose
  • CairoContext::setLineJoin — The setLineJoin purpose
  • CairoContext::setLineWidth — The setLineWidth purpose
  • CairoContext::setMatrix — The setMatrix purpose
  • CairoContext::setMiterLimit — The setMiterLimit purpose
  • CairoContext::setOperator — The setOperator purpose
  • CairoContext::setScaledFont — The setScaledFont purpose
  • CairoContext::setSource — The setSource purpose
  • CairoContext::setSourceRGB — The setSourceRGB purpose
  • CairoContext::setSourceRGBA — The setSourceRGBA purpose
  • CairoContext::setSourceSurface — The setSourceSurface purpose
  • CairoContext::setTolerance — The setTolerance purpose
  • CairoContext::showPage — The showPage purpose
  • CairoContext::showText — The showText purpose
  • CairoContext::status — The status purpose
  • CairoContext::stroke — The stroke purpose
  • CairoContext::strokeExtents — The strokeExtents purpose
  • CairoContext::strokePreserve — The strokePreserve purpose
  • CairoContext::textExtents — The textExtents purpose
  • CairoContext::textPath — The textPath purpose
  • CairoContext::transform — The transform purpose
  • CairoContext::translate — The translate purpose
  • CairoContext::userToDevice — The userToDevice purpose
  • CairoContext::userToDeviceDistance — The userToDeviceDistance purpose
Cairo::versionString
CairoContext::appendPath
Cairo


Appends a path to current path

CairoContext
CairoContext::arc
CairoContext
PHP Manual

CairoContext::appendPath

cairo_append_path

(PECL cairo >= 0.1.0)

CairoContext::appendPath -- cairo_append_path — Appends a path to current path

Описание

Object oriented style (method):

public void CairoContext::appendPath ( CairoPath $path )

Procedural style:

void cairo_append_path ( CairoContext $context , CairoPath $path )

Appends the path onto the current path. The path may be either the return value from one of CairoContext::copyPath() or CairoContext::copyPathFlat();

if path is not a valid CairoPath instance a CairoException will be thrown

Список параметров

context

CairoContext object

path

CairoPath object

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$path = $context->copyPath();

$context->appendPath($path);

?>

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

$path = cairo_copy_path($context);

cairo_append_path($context, $path);

?>

Смотрите также

  • CairoPath
  • CairoContext::copyPath() - Creates a copy of the current path
  • CairoContext::copyPathFlat() - Gets a flattened copy of the current path

CairoContext
CairoContext::arc
CairoContext


Adds a circular arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext
PHP Manual

CairoContext::arc

cairo_arc

(PECL cairo >= 0.1.0)

CairoContext::arc -- cairo_arc — Adds a circular arc

Описание

Object oriented style (method):

public void CairoContext::arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Procedural style:

void cairo_arc ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1. If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling CairoContext::newSubPath() or procedural cairo_new_sub_path() before calling CairoContext::arc() or cairo_arc(). Angles are measured in radians. An angle of 0.0 is in the direction of the positive X axis (in user space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction. (To convert from degrees to radians, use degrees * (M_PI / 180.).) This function gives the arc in the direction of increasing angles; see CairoContext::arcNegative() or cairo_arc_negative() to get the arc in the direction of decreasing angles.

Список параметров

context

A valid CairoContext object

x

x position

y

y position

radius

Radius of the arc

angle1

start angle

angle2

end angle

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arc(50, 50, $r, 0, 2 * M_PI);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arc.png');
?>

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc($c, 50, 50, $r, 0, 2 * M_PI);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc.png');
?>

Смотрите также

  • CairoContext::arcNegative() - Adds a negative arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext


Adds a negative arc

CairoContext::arc
CairoContext::clip
CairoContext
PHP Manual

CairoContext::arcNegative

cairo_arc_negative

(PECL cairo >= 0.1.0)

CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc

Описание

Object oriented style (method):

public void CairoContext::arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Procedural style:

void cairo_arc_negative ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is less than angle1. See CairoContext::arc() or cairo_arc() for more details. This function differs only in the direction of the arc between the two angles.

Список параметров

context

A valid CairoContext object

x

double x position

y

double y position

radius

The radius of the desired negative arc

angle1

Start angle of the arc

angle2

End angle of the arc

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arcNegative(50, 50, $r, 2 * M_PI, 0);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arcNegative.png');
?>

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc_negative($c, 50, 50, $r, 2 * M_PI, 0);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc_negative.png');
?>

Смотрите также

  • CairoContext::arc() - Adds a circular arc

CairoContext::arc
CairoContext::clip
CairoContext


Establishes a new clip region

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext
PHP Manual

CairoContext::clip

cairo_clip

(PECL cairo >= 0.1.0)

CairoContext::clip -- cairo_clip — Establishes a new clip region

Описание

Object oriented style (method):

public void CairoContext::clip ( void )

Procedural style:

void cairo_clip ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by CairoContext::fill() or cairo_fill() and according to the current fill rule (see CairoContext::setFillRule() or cairo_set_fill_rule()).

After CairoContext::clip() or cairo_clip(), the current path will be cleared from the cairo context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling  CairoContext::clip() or cairo_clip()
can only make the clip region smaller, never larger. But the current clip is part of the
graphics state, so a temporary restriction of the clip region can be achieved by calling
 CairoContext::clip() or cairo_clip() within a
 CairoContext::save()/ CairoContext::restore() or
cairo_save()/cairo_restore() pair.
The only other means of increasing the size of the clip region is
 CairoContext::resetClip() or procedural cairo_reset_clip().

Список параметров

context

A valid CairoContext object

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clip();

?>

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip($context);

?>

Смотрите также

  • CairoContext::resetClip() - The resetClip purpose
  • cairo_reset_clip() - The resetClip purpose

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext


Computes the area inside the current clip

CairoContext::clip
CairoContext::clipPreserve
CairoContext
PHP Manual

CairoContext::clipExtents

cairo_clip_extents

(PECL cairo >= 0.1.0)

CairoContext::clipExtents -- cairo_clip_extents — Computes the area inside the current clip

Описание

Object oriented style (method):

public array CairoContext::clipExtents ( void )

Procedural style:

array cairo_clip_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area inside the current clip.

Список параметров

context

A valid CairoContext object

Возвращаемые значения

An array containing the (float)x1, (float)y1, (float)x2, (float)y2, coordinates covering the area inside the current clip

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipExtents());
?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_extents($context));

?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Смотрите также

  • CairoContext::clip() - Establishes a new clip region

CairoContext::clip
CairoContext::clipPreserve
CairoContext


Establishes a new clip region from the current clip

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual

CairoContext::clipPreserve

cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserve — Establishes a new clip region from the current clip

Описание

Object oriented style (method):

public void CairoContext::clipPreserve ( void )

Procedural style:

void cairo_clip_preserve ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by Context.fill() and according to the current FILL RULE (see CairoContext::setFillRule() or cairo_set_fill_rule()).

Unlike CairoContext::clip(), CairoContext::clipPreserve() preserves the path within the Context. The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling CairoContext::clipPreserve() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling CairoContext::clipPreserve() within a CairoContext::save()/ CairoContext::restore() pair. The only other means of increasing the size of the clip region is CairoContext::resetClip().

Список параметров

context

A valid CairoContext object

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clipPreserve();

?>

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip_preserve($context);

?>

Смотрите также

  • CairoContext::save() - The save purpose
  • CairoContext::restore() - The restore purpose
  • CairoContext::resetClip() - The resetClip purpose

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext


Retrieves the current clip as a list of rectangles

CairoContext::clipPreserve
CairoContext::closePath
CairoContext
PHP Manual

CairoContext::clipRectangleList

cairo_clip_rectangle_list

(PECL cairo >= 0.1.0)

CairoContext::clipRectangleList -- cairo_clip_rectangle_list — Retrieves the current clip as a list of rectangles

Описание

Object oriented style (method):

public array CairoContext::clipRectangleList ( void )

Procedural style:

array cairo_clip_rectangle_list ( CairoContext $context )

Returns a list-type array with the current clip region as a list of rectangles in user coordinates

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

An array of user-space represented rectangles for the current clip

(The status in the list may be CAIRO_STATUS_CLIP_NOT_REPRESENTABLE to indicate that the clip region cannot be represented as a list of user-space rectangles. The status may have other values to indicate other errors.)

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipRectangleList());

?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_rectangle_list($context));

?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Смотрите также

  • Classname::Method()

CairoContext::clipPreserve
CairoContext::closePath
CairoContext


Closes the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext
PHP Manual

CairoContext::closePath

cairo_close_path

(PECL cairo >= 0.1.0)

CairoContext::closePath -- cairo_close_path — Closes the current path

Описание

Object oriented style (method):

public void CairoContext::closePath ( void )

Procedural style:

void cairo_close_path ( CairoContext $context )

Adds a line segment to the path from the current point to the beginning of the current sub-path, (the most recent point passed to CairoContext::moveTo()), and closes this sub-path. After this call the current point will be at the joined endpoint of the sub-path.

The behavior of close_path() is distinct from simply calling CairoContext::lineTo() with the equivalent coordinate in the case of stroking. When a closed sub-path is stroked, there are no caps on the ends of the sub-path. Instead, there is a line join connecting the final and initial segments of the sub-path.

If there is no current point before the call to CairoContext::closePath(), this function will have no effect.

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->closePath();

?>

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_close_path($context);

?>

Смотрите также

  • CairoContext::copyPath() - Creates a copy of the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext


Creates a new CairoContext

CairoContext::closePath
CairoContext::copyPage
CairoContext
PHP Manual

CairoContext::__construct

(PECL cairo >= 0.1.0)

CairoContext::__construct — Creates a new CairoContext

Описание

CairoContext::__construct ( CairoSurface $surface )

Creates a new CairoContext object to draw

Список параметров

surface

A valid CairoSurface like CairoImageSurface or CairoPdfSurface

Возвращаемые значения

A CairoContext

Примеры

Пример #1 CairoContext::__construct() example

<?php
// The surface to work on
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

// Create a new CairoContext for the CairoSurface
$context = new CairoContext($surface);

?>

Смотрите также

  • Cairo::Method()

CairoContext::closePath
CairoContext::copyPage
CairoContext


Emits the current page

CairoContext::__construct
CairoContext::copyPath
CairoContext
PHP Manual

CairoContext::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoContext::copyPage -- cairo_copy_page — Emits the current page

Описание

Object oriented style (method):

public void CairoContext::copyPage ( void )

Procedural style:

void cairo_copy_page ( CairoContext $context )

Emits the current page for backends that support multiple pages, but doesn’t clear it, so, the contents of the current page will be retained for the next page too. Use CairoContext::showPage() if you want to get an empty page after the emission.

This is a convenience function that simply calls CairoSurface::copyPage() on CairoContext’s target.

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->copyPage();

?>

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_copy_page($context);

?>

Смотрите также

  • CairoContext::showPage() - The showPage purpose
  • CairoSurface::copyPage() - The copyPage purpose

CairoContext::__construct
CairoContext::copyPath
CairoContext


Creates a copy of the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext
PHP Manual

CairoContext::copyPath

cairo_copy_path

(PECL cairo >= 0.1.0)

CairoContext::copyPath -- cairo_copy_path — Creates a copy of the current path

Описание

Object oriented style (method):

public CairoPath CairoContext::copyPath ( void )

Procedural style:

CairoPath cairo_copy_path ( CairoContext $context )

Creates a copy of the current path and returns it to the user as a CairoPath. See CairoPath for hints on how to iterate over the returned data structure.

This function will always return a valid CairoPath object, but the result will have no data, if either of the following conditions hold:

  • 1. If there is insufficient memory to copy the path. In this case CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY.
  • 2. If context is already in an error state. In this case CairoPath->status will contain the same status that would be returned by cairo_status().
In either case, CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr might have been).

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

A copy of the current CairoPath in the context

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPath())

?>

Результатом выполнения данного примера будет что-то подобное:

object(CairoPath)#3 (0) {
}

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path($context));

?>

Результатом выполнения данного примера будет что-то подобное:

object(CairoPath)#3 (0) {
}

Смотрите также

  • CairoContext::closePath() - Closes the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext


Gets a flattened copy of the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext
PHP Manual

CairoContext::copyPathFlat

cairo_copy_path_flat

(PECL cairo >= 0.1.0)

CairoContext::copyPathFlat -- cairo_copy_path_flat — Gets a flattened copy of the current path

Описание

Object oriented style (method):

public CairoPath CairoContext::copyPathFlat ( void )

Procedural style:

CairoPath cairo_copy_path_flat ( CairoContext $context )

Gets a flattened copy of the current path and returns it to the user as a CairoPath.

This function is like CairoContext::copyPath() except that any curves in the path will be approximated with piecewise-linear approximations, (accurate to within the current tolerance value). That is, the result is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO which will instead be replaced by a series of CAIRO_PATH_LINE_TO elements.

Список параметров

context

A CairoContext object

Возвращаемые значения

A copy of the current path

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPathFlat());

?>

Результатом выполнения данного примера будет что-то подобное:

object(CairoPath)#3 (0) {
}

Пример #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path_flat($context));

?>

Результатом выполнения данного примера будет что-то подобное:

object(CairoPath)#3 (0) {
}

Смотрите также

  • CairoContext::copyPath() - Creates a copy of the current path
  • CairoContext::closePath() - Closes the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext


Adds a curve

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext
PHP Manual

CairoContext::curveTo

cairo_curve_to

(PECL cairo >= 0.1.0)

CairoContext::curveTo -- cairo_curve_to — Adds a curve

Описание

Object oriented style (method):

public void CairoContext::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Procedural style:

void cairo_curve_to ( CairoContext $context , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Adds a cubic Bezier spline to the path from the current point to position x3 ,y3 in user-space coordinates, using x1, y1 and x2, y2 as the control points. After this call the current point will be x3, y3.

If there is no current point before the call to CairoContext::curveTo() this function will behave as if preceded by a call to CairoContext::moveTo() (x1, y1).

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x1

First control point in the x axis for the curve

y1

First control point in the y axis for the curve

x2

Second control point in x axis for the curve

y2

Second control point in y axis for the curve

x3

Final point in the x axis for the curve

y3

Final point in the y axis for the curve

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);

$c->paint();

$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);

cairo_paint($c);

cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');
?>

Смотрите также

  • CairoContext::moveTo() - The moveTo purpose

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext


Transform a coordinate

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext
PHP Manual

CairoContext::deviceToUser

cairo_device_to_user

(PECL cairo >= 0.1.0)

CairoContext::deviceToUser -- cairo_device_to_user — Transform a coordinate

Описание

Object oriented style (method):

public array CairoContext::deviceToUser ( float $x , float $y )

Procedural style:

array cairo_device_to_user ( CairoContext $context , float $x , float $y )

Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x

x value of the coordinate

y

y value of the coordinate

Возвращаемые значения

An array containing the x and y coordinates in the user-space

Смотрите также

  • CairoContext::deviceToUserDistance() - Transform a distance

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext


Transform a distance

CairoContext::deviceToUser
CairoContext::fill
CairoContext
PHP Manual

CairoContext::deviceToUserDistance

cairo_device_to_user_distance

(PECL cairo >= 0.1.0)

CairoContext::deviceToUserDistance -- cairo_device_to_user_distance — Transform a distance

Описание

Object oriented style (method):

public array CairoContext::deviceToUserDistance ( float $x , float $y )

Procedural style:

array cairo_device_to_user_distance ( CairoContext $context , float $x , float $y )

Transform a distance vector from device space to user space. This function is similar to CairoContext::deviceToUser() or cairo_device_to_user() except that the translation components of the inverse Cairo Transformation Matrix will be ignored when transforming (x,y).

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x

X component of a distance vector

y

Y component of a distance vector

Возвращаемые значения

Returns an array with the x and y values of a distance vector in the user-space

Смотрите также

  • CairoContext::deviceToUser() - Transform a coordinate

CairoContext::deviceToUser
CairoContext::fill
CairoContext


Fills the current path

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext
PHP Manual

CairoContext::fill

cairo_fill

(PECL cairo >= 0.1.0)

CairoContext::fill -- cairo_fill — Fills the current path

Описание

Object oriented style (method):

public void CairoContext::fill ( void )

Procedural style:

void cairo_fill ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). After CairoContext::fill() or cairo_fill(), the current path will be cleared from the CairoContext.

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setSourceRgb(1, 1, 1);
$c->rectangle(0, 0, 50, 50);
$c->fill();
$c->setSourceRgb(0, 1, 0);
$c->rectangle(50, 50, 50, 50);
$c->fill();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_fill.png');

?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_rectangle($c, 0, 0, 50, 50);
cairo_fill($c);
cairo_set_source_rgb($c, 0, 1, 0);
cairo_rectangle($c, 50, 50, 50, 50);
cairo_fill($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_fill.png');

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoContext::setFillRule() - The setFillRule purpose
  • ContextContext::fillPreserve()
  • CairoFillRule

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext


Computes the filled area

CairoContext::fill
CairoContext::fillPreserve
CairoContext
PHP Manual

CairoContext::fillExtents

cairo_fill_extents

(PECL cairo >= 0.1.0)

CairoContext::fillExtents -- cairo_fill_extents — Computes the filled area

Описание

Object oriented style (method):

public array CairoContext::fillExtents ( void )

Procedural style:

array cairo_fill_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area that would be affected, (the “inked” area), by a CairoContext::fill() operation given the current path and fill parameters. If the current path is empty, returns an empty rectangle (0,0,0,0). Surface dimensions and clipping are not taken into account.

Contrast with CairoContext::pathExtents(), which is similar, but returns non-zero extents for some paths with no inked area, (such as a simple line segment).

Note that CairoContext::fillExtents() must necessarily do more work to compute the precise inked areas in light of the fill rule, so CairoContext::pathExtents() may be more desirable for sake of performance if the non-inked path extents are desired.

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

An array with the coordinates of the afected area

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoContext::fill() - Fills the current path
  • CairoContext::setFillRule() - The setFillRule purpose
  • CairoContext::fillPreserve() - Fills and preserve the current path

CairoContext::fill
CairoContext::fillPreserve
CairoContext


Fills and preserve the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext
PHP Manual

CairoContext::fillPreserve

cairo_fill_preserve

(PECL cairo >= 0.1.0)

CairoContext::fillPreserve -- cairo_fill_preserve — Fills and preserve the current path

Описание

Object oriented style (method):

public void CairoContext::fillPreserve ( void )

Procedural style:

void cairo_fill_preserve ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). Unlike CairoContext::fill(), CairoContext::fillPreserve() (Procedural cairo_fill(), cairo_fill_preserve(), respectively) preserves the path within the Context.

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoContext::setFillRule() - The setFillRule purpose
  • CairoContext::fill() - Fills the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext


Get the font extents

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext
PHP Manual

CairoContext::fontExtents

cairo_font_extents

(PECL cairo >= 0.1.0)

CairoContext::fontExtents -- cairo_font_extents — Get the font extents

Описание

Object oriented style (method):

public array CairoContext::fontExtents ( void )

Procedural style:

array cairo_font_extents ( CairoContext $context )

Gets the font extents for the currently selected font.

Список параметров

context

Description...

Возвращаемые значения

An array containing the font extents for the current font.

Примеры

Пример #1 Object oriented style

<?php

$sur = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$con = new CairoContext($sur);

var_dump($con->fontExtents());

?>

Результатом выполнения данного примера будет что-то подобное:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Пример #2 Procedural style

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

var_dump(cairo_font_extents($con));

?>

Результатом выполнения данного примера будет что-то подобное:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Смотрите также

  • Classname::Method()

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext


Retrives the current antialias mode

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext
PHP Manual

CairoContext::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoContext::getAntialias -- cairo_get_antialias — Retrives the current antialias mode

Описание

Object oriented style (method):

public int CairoContext::getAntialias ( void )

Procedural style:

int cairo_get_antialias ( CairoContext $context )

Returns the current CairoAntialias mode, as set by CairoContext::setAntialias().

Список параметров

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Возвращаемые значения

The current CairoAntialias mode.

Примеры

Пример #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

$context->setAntialias(CairoAntialias::MODE_SUBPIXEL);

var_dump($context->getAntialias());

?>

Результатом выполнения данного примера будет что-то подобное:

int(3)

Пример #2 Procedural style

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

cairo_set_antialias($con, CAIRO_ANTIALIAS_SUBPIXEL);

var_dump(cairo_get_antialias($con));

?>

Результатом выполнения данного примера будет что-то подобное:

int(3)

Смотрите также

  • CairoContext::setAntialias() - The setAntialias purpose
  • CairoAntialias

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext


The getCurrentPoint purpose

CairoContext::getAntialias
CairoContext::getDash
CairoContext
PHP Manual

CairoContext::getCurrentPoint

cairo_get_current_point

(PECL cairo >= 0.1.0)

CairoContext::getCurrentPoint -- cairo_get_current_point — The getCurrentPoint purpose

Описание

Объектно-ориентированный стиль

public array CairoContext::getCurrentPoint ( void )

Процедурный стиль

array cairo_get_current_point ( CairoContext $context )

Gets the current point of the current path, which is conceptually the final point reached by the path so far.

The current point is returned in the user-space coordinate system. If there is no defined current point or if cr is in an error status, x and y will both be set to 0.0. It is possible to check this in advance with CairoContext::hasCurrentPoint().

Most path construction functions alter the current point. See the following for details on how they affect the current point:  CairoContext::newPath(),
 CairoContext::newSubPath(),  CairoContext::appendPath(),  CairoContext::closePath(),  CairoContext::moveTo(),
 CairoContext::lineTo(),  CairoContext::curveTo(),  CairoContext::relMoveTo(),
 CairoContext::relLineTo(),  CairoContext::relCurveTo(),
 CairoContext::arc(),  CairoContext::arcNegative(),  CairoContext::rectangle(),
 CairoContext::textPath(),  CairoContext::glyphPath().

Some functions use and alter the current point but do not otherwise change current path: CairoContext::showText().

Some functions unset the current path and as a result, current point: CairoContext::fill(), CairoContext::stroke().

Список параметров

context

A valid CairoContext object.

Возвращаемые значения

An array containing the x (index 0) and y (index 1) coordinates of the current point.

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->moveTo(10, 10);

var_dump($c->getCurrentPoint());

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_move_to($c, 10, 10);

var_dump(cairo_get_current_point($c));

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Смотрите также

  • CairoContext::moveTo() - The moveTo purpose
  • CairoContext::hasCurrentPoint() - The hasCurrentPoint purpose

CairoContext::getAntialias
CairoContext::getDash
CairoContext


The getDash purpose

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext
PHP Manual

CairoContext::getDash

cairo_get_dash

(PECL cairo >= 0.1.0)

CairoContext::getDash -- cairo_get_dash — The getDash purpose

Описание

Object oriented style (method):

public array CairoContext::getDash ( void )

Procedural style:

array cairo_get_dash ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext


The getDashCount purpose

CairoContext::getDash
CairoContext::getFillRule
CairoContext
PHP Manual

CairoContext::getDashCount

cairo_get_dash_count

(PECL cairo >= 0.1.0)

CairoContext::getDashCount -- cairo_get_dash_count — The getDashCount purpose

Описание

Object oriented style (method):

public int CairoContext::getDashCount ( void )

Procedural style:

int cairo_get_dash_count ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getDash
CairoContext::getFillRule
CairoContext


The getFillRule purpose

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext
PHP Manual

CairoContext::getFillRule

cairo_get_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::getFillRule -- cairo_get_fill_rule — The getFillRule purpose

Описание

Object oriented style (method):

public int CairoContext::getFillRule ( void )

Procedural style:

int cairo_get_fill_rule ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext


The getFontFace purpose

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext
PHP Manual

CairoContext::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoContext::getFontFace -- cairo_get_font_face — The getFontFace purpose

Описание

Object oriented style (method):

public void CairoContext::getFontFace ( void )

Procedural style:

void cairo_get_font_face ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext


The getFontMatrix purpose

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext
PHP Manual

CairoContext::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::getFontMatrix -- cairo_get_font_matrix — The getFontMatrix purpose

Описание

Object oriented style (method):

public void CairoContext::getFontMatrix ( void )

Procedural style:

void cairo_get_font_matrix ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext


The getFontOptions purpose

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext
PHP Manual

CairoContext::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoContext::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Описание

Object oriented style (method):

public void CairoContext::getFontOptions ( void )

Procedural style:

void cairo_get_font_options ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext


The getGroupTarget purpose

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext
PHP Manual

CairoContext::getGroupTarget

cairo_get_group_target

(PECL cairo >= 0.1.0)

CairoContext::getGroupTarget -- cairo_get_group_target — The getGroupTarget purpose

Описание

Object oriented style (method):

public void CairoContext::getGroupTarget ( void )

Procedural style:

void cairo_get_group_target ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext


The getLineCap purpose

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext
PHP Manual

CairoContext::getLineCap

cairo_get_line_cap

(PECL cairo >= 0.1.0)

CairoContext::getLineCap -- cairo_get_line_cap — The getLineCap purpose

Описание

Object oriented style (method):

public int CairoContext::getLineCap ( void )

Procedural style:

int cairo_get_line_cap ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext


The getLineJoin purpose

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext
PHP Manual

CairoContext::getLineJoin

cairo_get_line_join

(PECL cairo >= 0.1.0)

CairoContext::getLineJoin -- cairo_get_line_join — The getLineJoin purpose

Описание

Object oriented style (method):

public int CairoContext::getLineJoin ( void )

Procedural style:

int cairo_get_line_join ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext


The getLineWidth purpose

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext
PHP Manual

CairoContext::getLineWidth

cairo_get_line_width

(PECL cairo >= 0.1.0)

CairoContext::getLineWidth -- cairo_get_line_width — The getLineWidth purpose

Описание

Object oriented style (method):

public float CairoContext::getLineWidth ( void )

Procedural style:

float cairo_get_line_width ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext


The getMatrix purpose

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext
PHP Manual

CairoContext::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoContext::getMatrix -- cairo_get_matrix — The getMatrix purpose

Описание

Object oriented style (method):

public void CairoContext::getMatrix ( void )

Procedural style:

void cairo_get_matrix ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext


The getMiterLimit purpose

CairoContext::getMatrix
CairoContext::getOperator
CairoContext
PHP Manual

CairoContext::getMiterLimit

cairo_get_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::getMiterLimit -- cairo_get_miter_limit — The getMiterLimit purpose

Описание

Object oriented style (method):

public float CairoContext::getMiterLimit ( void )

Procedural style:

float cairo_get_miter_limit ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getMatrix
CairoContext::getOperator
CairoContext


The getOperator purpose

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext
PHP Manual

CairoContext::getOperator

cairo_get_operator

(PECL cairo >= 0.1.0)

CairoContext::getOperator -- cairo_get_operator — The getOperator purpose

Описание

Object oriented style (method):

public int CairoContext::getOperator ( void )

Procedural style:

int cairo_get_operator ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext


The getScaledFont purpose

CairoContext::getOperator
CairoContext::getSource
CairoContext
PHP Manual

CairoContext::getScaledFont

cairo_get_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::getScaledFont -- cairo_get_scaled_font — The getScaledFont purpose

Описание

Object oriented style (method):

public void CairoContext::getScaledFont ( void )

Procedural style:

void cairo_get_scaled_font ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getOperator
CairoContext::getSource
CairoContext


The getSource purpose

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext
PHP Manual

CairoContext::getSource

cairo_get_source

(PECL cairo >= 0.1.0)

CairoContext::getSource -- cairo_get_source — The getSource purpose

Описание

Object oriented style (method):

public void CairoContext::getSource ( void )

Procedural style:

void cairo_get_source ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext


The getTarget purpose

CairoContext::getSource
CairoContext::getTolerance
CairoContext
PHP Manual

CairoContext::getTarget

cairo_get_target

(PECL cairo >= 0.1.0)

CairoContext::getTarget -- cairo_get_target — The getTarget purpose

Описание

Object oriented style (method):

public void CairoContext::getTarget ( void )

Procedural style:

void cairo_get_target ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getSource
CairoContext::getTolerance
CairoContext


The getTolerance purpose

CairoContext::getTarget
CairoContext::glyphPath
CairoContext
PHP Manual

CairoContext::getTolerance

cairo_get_tolerance

(PECL cairo >= 0.1.0)

CairoContext::getTolerance -- cairo_get_tolerance — The getTolerance purpose

Описание

Object oriented style (method):

public float CairoContext::getTolerance ( void )

Procedural style:

float cairo_get_tolerance ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::getTarget
CairoContext::glyphPath
CairoContext


The glyphPath purpose

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext
PHP Manual

CairoContext::glyphPath

cairo_glyph_path

(PECL cairo >= 0.1.0)

CairoContext::glyphPath -- cairo_glyph_path — The glyphPath purpose

Описание

Объектно-ориентированный стиль

public void CairoContext::glyphPath ( array $glyphs )

Процедурный стиль

void cairo_glyph_path ( CairoContext $context , array $glyphs )

Adds closed paths for the glyphs to the current path. The generated path if filled, achieves an effect similar to that of CairoContext::showGlyphs().

Список параметров

context

A CairoContext object

glyphs

Array of glyphs

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext


The hasCurrentPoint purpose

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext
PHP Manual

CairoContext::hasCurrentPoint

cairo_has_current_point

(PECL cairo >= 0.1.0)

CairoContext::hasCurrentPoint -- cairo_has_current_point — The hasCurrentPoint purpose

Описание

Object oriented style (method):

public bool CairoContext::hasCurrentPoint ( void )

Procedural style:

bool cairo_has_current_point ( CairoContext $context )

Returns whether a current point is defined on the current path. See CairoContext::getCurrentPoint() for details on the current point.

Список параметров

context

A valid CairoContext object.

Возвращаемые значения

Whether a current point is defined

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

var_dump($c->hasCurrentPoint());

$c->moveTo(10, 10);

var_dump($c->hasCurrentPoint());

?>

Результат выполнения данного примера:

bool(false)
bool(true)

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

var_dump(cairo_has_current_point($c));

cairo_move_to($c, 10, 10);

var_dump(cairo_has_current_point($c));

?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • CairoContext::getCurrentPoint() - The getCurrentPoint purpose

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext


The identityMatrix purpose

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext
PHP Manual

CairoContext::identityMatrix

cairo_identity_matrix

(PECL cairo >= 0.1.0)

CairoContext::identityMatrix -- cairo_identity_matrix — The identityMatrix purpose

Описание

Object oriented style (method):

public void CairoContext::identityMatrix ( void )

Procedural style:

void cairo_identity_matrix ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext


The inFill purpose

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext
PHP Manual

CairoContext::inFill

cairo_in_fill

(PECL cairo >= 0.1.0)

CairoContext::inFill -- cairo_in_fill — The inFill purpose

Описание

Object oriented style (method):

public bool CairoContext::inFill ( string $x , string $y )

Procedural style:

bool cairo_in_fill ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext


The inStroke purpose

CairoContext::inFill
CairoContext::lineTo
CairoContext
PHP Manual

CairoContext::inStroke

cairo_in_stroke

(PECL cairo >= 0.1.0)

CairoContext::inStroke -- cairo_in_stroke — The inStroke purpose

Описание

Object oriented style (method):

public bool CairoContext::inStroke ( string $x , string $y )

Procedural style:

bool cairo_in_stroke ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::inFill
CairoContext::lineTo
CairoContext


The lineTo purpose

CairoContext::inStroke
CairoContext::mask
CairoContext
PHP Manual

CairoContext::lineTo

cairo_line_to

(PECL cairo >= 0.1.0)

CairoContext::lineTo -- cairo_line_to — The lineTo purpose

Описание

Object oriented style (method):

public void CairoContext::lineTo ( string $x , string $y )

Procedural style:

void cairo_line_to ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::inStroke
CairoContext::mask
CairoContext


The mask purpose

CairoContext::lineTo
CairoContext::maskSurface
CairoContext
PHP Manual

CairoContext::mask

cairo_mask

(PECL cairo >= 0.1.0)

CairoContext::mask -- cairo_mask — The mask purpose

Описание

Object oriented style (method):

public void CairoContext::mask ( string $pattern )

Procedural style:

void cairo_mask ( CairoContext $context , CairoPattern $pattern )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

pattern

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::lineTo
CairoContext::maskSurface
CairoContext


The maskSurface purpose

CairoContext::mask
CairoContext::moveTo
CairoContext
PHP Manual

CairoContext::maskSurface

cairo_mask_surface

(PECL cairo >= 0.1.0)

CairoContext::maskSurface -- cairo_mask_surface — The maskSurface purpose

Описание

Object oriented style (method):

public void CairoContext::maskSurface ( string $surface [, string $x [, string $y ]] )

Procedural style:

void cairo_mask_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

surface

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::mask
CairoContext::moveTo
CairoContext


The moveTo purpose

CairoContext::maskSurface
CairoContext::newPath
CairoContext
PHP Manual

CairoContext::moveTo

cairo_move_to

(PECL cairo >= 0.1.0)

CairoContext::moveTo -- cairo_move_to — The moveTo purpose

Описание

Object oriented style (method):

public void CairoContext::moveTo ( string $x , string $y )

Procedural style:

void cairo_move_to ( CairoContext $context , string $x , string $y )

Begin a new sub-path. After this call the current point will be (x, y).

Список параметров

context

A valid CairoContext object.

x

The x coordinate of the new position.

y

The y coordinate of the new position

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

// Move 10 pixels across, and 10 pixels down
$c->moveTo(10, 10);
$c->lineTo(90, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

// Move 90 pixels across, and 10 pixels down
$c->moveTo(90, 10);
$c->lineTo(10, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_moveTo.png');
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

// Move 10 pixels across, and 10 pixels down
cairo_move_to($c, 10, 10);
cairo_line_to($c, 90, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

// Move 90 pixels across, and 10 pixels down
cairo_move_to($c, 90, 10);
cairo_line_to($c, 10, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_move_to.png');
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::maskSurface
CairoContext::newPath
CairoContext


The newPath purpose

CairoContext::moveTo
CairoContext::newSubPath
CairoContext
PHP Manual

CairoContext::newPath

cairo_new_path

(PECL cairo >= 0.1.0)

CairoContext::newPath -- cairo_new_path — The newPath purpose

Описание

Object oriented style (method):

public void CairoContext::newPath ( void )

Procedural style:

void cairo_new_path ( CairoContext $context )

Clears the current path. After this call there will be no path and no current point.

Список параметров

context

A valid CairoContext object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Object oriented style

<?php
// [...]
CairoContext::newPath();
?>

Пример #2 Procedural style

<?php
// [...]
cairo_new_path($context);
?>

Смотрите также

  • CairoContext::appendPath() - Appends a path to current path
  • CairoContext::closePath() - Closes the current path

CairoContext::moveTo
CairoContext::newSubPath
CairoContext


The newSubPath purpose

CairoContext::newPath
CairoContext::paint
CairoContext
PHP Manual

CairoContext::newSubPath

cairo_new_sub_path

(PECL cairo >= 0.1.0)

CairoContext::newSubPath -- cairo_new_sub_path — The newSubPath purpose

Описание

Object oriented style (method):

public void CairoContext::newSubPath ( void )

Procedural style:

void cairo_new_sub_path ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::newPath
CairoContext::paint
CairoContext


The paint purpose

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext
PHP Manual

CairoContext::paint

cairo_paint

(PECL cairo >= 0.1.0)

CairoContext::paint -- cairo_paint — The paint purpose

Описание

Object oriented style (method):

public void CairoContext::paint ( void )

Procedural style:

void cairo_paint ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext


The paintWithAlpha purpose

CairoContext::paint
CairoContext::pathExtents
CairoContext
PHP Manual

CairoContext::paintWithAlpha

cairo_paint_with_alpha

(PECL cairo >= 0.1.0)

CairoContext::paintWithAlpha -- cairo_paint_with_alpha — The paintWithAlpha purpose

Описание

Object oriented style (method):

public void CairoContext::paintWithAlpha ( string $alpha )

Procedural style:

void cairo_paint_with_alpha ( CairoContext $context , string $alpha )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

alpha

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::paint
CairoContext::pathExtents
CairoContext


The pathExtents purpose

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext
PHP Manual

CairoContext::pathExtents

cairo_path_extents

(PECL cairo >= 0.1.0)

CairoContext::pathExtents -- cairo_path_extents — The pathExtents purpose

Описание

Object oriented style (method):

public array CairoContext::pathExtents ( void )

Procedural style:

array cairo_path_extents ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext


The popGroup purpose

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext
PHP Manual

CairoContext::popGroup

cairo_pop_group

(PECL cairo >= 0.1.0)

CairoContext::popGroup -- cairo_pop_group — The popGroup purpose

Описание

Object oriented style (method):

public void CairoContext::popGroup ( void )

Procedural style:

void cairo_pop_group ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext


The popGroupToSource purpose

CairoContext::popGroup
CairoContext::pushGroup
CairoContext
PHP Manual

CairoContext::popGroupToSource

cairo_pop_group_to_source

(PECL cairo >= 0.1.0)

CairoContext::popGroupToSource -- cairo_pop_group_to_source — The popGroupToSource purpose

Описание

Object oriented style (method):

public void CairoContext::popGroupToSource ( void )

Procedural style:

void cairo_pop_group_to_source ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::popGroup
CairoContext::pushGroup
CairoContext


The pushGroup purpose

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext
PHP Manual

CairoContext::pushGroup

cairo_push_group

(PECL cairo >= 0.1.0)

CairoContext::pushGroup -- cairo_push_group — The pushGroup purpose

Описание

Object oriented style (method):

public void CairoContext::pushGroup ( void )

Procedural style:

void cairo_push_group ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext


The pushGroupWithContent purpose

CairoContext::pushGroup
CairoContext::rectangle
CairoContext
PHP Manual

CairoContext::pushGroupWithContent

cairo_push_group_with_content

(PECL cairo >= 0.1.0)

CairoContext::pushGroupWithContent -- cairo_push_group_with_content — The pushGroupWithContent purpose

Описание

Object oriented style (method):

public void CairoContext::pushGroupWithContent ( string $content )

Procedural style:

void cairo_push_group_with_content ( CairoContext $context , string $content )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

content

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::pushGroup
CairoContext::rectangle
CairoContext


The rectangle purpose

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext
PHP Manual

CairoContext::rectangle

cairo_rectangle

(PECL cairo >= 0.1.0)

CairoContext::rectangle -- cairo_rectangle — The rectangle purpose

Описание

Object oriented style (method):

public void CairoContext::rectangle ( string $x , string $y , string $width , string $height )

Procedural style:

void cairo_rectangle ( CairoContext $context , string $x , string $y , string $width , string $height )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext


The relCurveTo purpose

CairoContext::rectangle
CairoContext::relLineTo
CairoContext
PHP Manual

CairoContext::relCurveTo

cairo_rel_curve_to

(PECL cairo >= 0.1.0)

CairoContext::relCurveTo -- cairo_rel_curve_to — The relCurveTo purpose

Описание

Object oriented style (method):

public void CairoContext::relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Procedural style:

void cairo_rel_curve_to ( CairoContext $context , string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x1

Description...

y1

Description...

x2

Description...

y2

Description...

x3

Description...

y3

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::rectangle
CairoContext::relLineTo
CairoContext


The relLineTo purpose

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext
PHP Manual

CairoContext::relLineTo

cairo_rel_line_to

(PECL cairo >= 0.1.0)

CairoContext::relLineTo -- cairo_rel_line_to — The relLineTo purpose

Описание

Object oriented style (method):

public void CairoContext::relLineTo ( string $x , string $y )

Procedural style:

void cairo_rel_line_to ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext


The relMoveTo purpose

CairoContext::relLineTo
CairoContext::resetClip
CairoContext
PHP Manual

CairoContext::relMoveTo

cairo_rel_move_to

(PECL cairo >= 0.1.0)

CairoContext::relMoveTo -- cairo_rel_move_to — The relMoveTo purpose

Описание

Object oriented style (method):

public void CairoContext::relMoveTo ( string $x , string $y )

Procedural style:

void cairo_rel_move_to ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::relLineTo
CairoContext::resetClip
CairoContext


The resetClip purpose

CairoContext::relMoveTo
CairoContext::restore
CairoContext
PHP Manual

CairoContext::resetClip

cairo_reset_clip

(PECL cairo >= 0.1.0)

CairoContext::resetClip -- cairo_reset_clip — The resetClip purpose

Описание

Object oriented style (method):

public void CairoContext::resetClip ( void )

Procedural style:

void cairo_reset_clip ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::relMoveTo
CairoContext::restore
CairoContext


The restore purpose

CairoContext::resetClip
CairoContext::rotate
CairoContext
PHP Manual

CairoContext::restore

cairo_restore

(PECL cairo >= 0.1.0)

CairoContext::restore -- cairo_restore — The restore purpose

Описание

Object oriented style (method):

public void CairoContext::restore ( void )

Procedural style:

void cairo_restore ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::resetClip
CairoContext::rotate
CairoContext


The rotate purpose

CairoContext::restore
CairoContext::save
CairoContext
PHP Manual

CairoContext::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoContext::rotate -- cairo_rotate — The rotate purpose

Описание

Object oriented style (method):

public void CairoContext::rotate ( string $angle )

Procedural style:

void cairo_rotate ( CairoContext $context , string $angle )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

angle

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::restore
CairoContext::save
CairoContext


The save purpose

CairoContext::rotate
CairoContext::scale
CairoContext
PHP Manual

CairoContext::save

cairo_save

(PECL cairo >= 0.1.0)

CairoContext::save -- cairo_save — The save purpose

Описание

Object oriented style (method):

public void CairoContext::save ( void )

Procedural style:

void cairo_save ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::rotate
CairoContext::scale
CairoContext


The scale purpose

CairoContext::save
CairoContext::selectFontFace
CairoContext
PHP Manual

CairoContext::scale

cairo_scale

(PECL cairo >= 0.1.0)

CairoContext::scale -- cairo_scale — The scale purpose

Описание

Object oriented style (method):

public void CairoContext::scale ( string $x , string $y )

Procedural style:

void cairo_scale ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::save
CairoContext::selectFontFace
CairoContext


The selectFontFace purpose

CairoContext::scale
CairoContext::setAntialias
CairoContext
PHP Manual

CairoContext::selectFontFace

cairo_select_font_face

(PECL cairo >= 0.1.0)

CairoContext::selectFontFace -- cairo_select_font_face — The selectFontFace purpose

Описание

Object oriented style (method):

public void CairoContext::selectFontFace ( string $family [, string $slant [, string $weight ]] )

Procedural style:

void cairo_select_font_face ( CairoContext $context , string $family [, string $slant [, string $weight ]] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

family

Description...

slant

Description...

weight

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::scale
CairoContext::setAntialias
CairoContext


The setAntialias purpose

CairoContext::selectFontFace
CairoContext::setDash
CairoContext
PHP Manual

CairoContext::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoContext::setAntialias -- cairo_set_antialias — The setAntialias purpose

Описание

Object oriented style (method):

public void CairoContext::setAntialias ([ string $antialias ] )

Procedural style:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

antialias

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::selectFontFace
CairoContext::setDash
CairoContext


The setDash purpose

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext
PHP Manual

CairoContext::setDash

cairo_set_dash

(PECL cairo >= 0.1.0)

CairoContext::setDash -- cairo_set_dash — The setDash purpose

Описание

Object oriented style (method):

public void CairoContext::setDash ( string $dashes [, string $offset ] )

Procedural style:

void cairo_set_dash ( CairoContext $context , array $dashes [, string $offset ] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

dashes

Description...

offset

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext


The setFillRule purpose

CairoContext::setDash
CairoContext::setFontFace
CairoContext
PHP Manual

CairoContext::setFillRule

cairo_set_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::setFillRule -- cairo_set_fill_rule — The setFillRule purpose

Описание

Object oriented style (method):

public void CairoContext::setFillRule ( string $setting )

Procedural style:

void cairo_set_fill_rule ( CairoContext $context , string $setting )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

setting

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setDash
CairoContext::setFontFace
CairoContext


The setFontFace purpose

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext
PHP Manual

CairoContext::setFontFace

cairo_set_font_face

(PECL cairo >= 0.1.0)

CairoContext::setFontFace -- cairo_set_font_face — The setFontFace purpose

Описание

Object oriented style (method):

public void CairoContext::setFontFace ( CairoFontFace $fontface )

Procedural style:

void cairo_set_font_face ( CairoContext $context , CairoFontFace $fontface )

Sets the font-face for a given context.

Список параметров

context

A CairoContext object to change the font-face for.

fontface

A CairoFontFace object

Возвращаемые значения

No value is returned

Примеры

Пример #1 Object oriented style

<?php
// New surface with white background
$s = new CairoImageSurface(CairoFormat::ARGB32, 300, 100);
$c = new CairoContext($s);
$c->setSourceRgb(1, 1, 1);
$c->paint();

// Draw some text
$c->setSourceRgb(0, 0, 0);
$c->moveTo(10, 60);
// Create a new font face
$f = new CairoToyFontFace("sans-serif", CairoFontSlant::NORMAL, CairoFontWeight::NORMAL);
$c->setFontFace($f);
$c->setFontSize(30);
$c->showText('Hello, World!');
$s->writeToPng(dirname(__FILE__) . '/setFontFace.png');
?>

Пример #2 Procedural style

<?php
/* ... */
?>

Смотрите также

  • CairoContext::setFontSize() - The setFontSize purpose
  • CairoContext::showText() - The showText purpose

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext


The setFontMatrix purpose

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext
PHP Manual

CairoContext::setFontMatrix

cairo_set_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::setFontMatrix -- cairo_set_font_matrix — The setFontMatrix purpose

Описание

Object oriented style (method):

public void CairoContext::setFontMatrix ( string $matrix )

Procedural style:

void cairo_set_font_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

matrix

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext


The setFontOptions purpose

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext
PHP Manual

CairoContext::setFontOptions

cairo_set_font_options

(PECL cairo >= 0.1.0)

CairoContext::setFontOptions -- cairo_set_font_options — The setFontOptions purpose

Описание

Object oriented style (method):

public void CairoContext::setFontOptions ( string $fontoptions )

Procedural style:

void cairo_set_font_options ( CairoContext $context , CairoFontOptions $fontoptions )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

fontoptions

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext


The setFontSize purpose

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext
PHP Manual

CairoContext::setFontSize

cairo_set_font_size

(PECL cairo >= 0.1.0)

CairoContext::setFontSize -- cairo_set_font_size — The setFontSize purpose

Описание

Object oriented style (method):

public void CairoContext::setFontSize ( string $size )

Procedural style:

void cairo_set_font_size ( CairoContext $context , string $size )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

size

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext


The setLineCap purpose

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext
PHP Manual

CairoContext::setLineCap

cairo_set_line_cap

(PECL cairo >= 0.1.0)

CairoContext::setLineCap -- cairo_set_line_cap — The setLineCap purpose

Описание

Object oriented style (method):

public void CairoContext::setLineCap ( string $setting )

Procedural style:

void cairo_set_line_cap ( CairoContext $context , string $setting )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

setting

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext


The setLineJoin purpose

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext
PHP Manual

CairoContext::setLineJoin

cairo_set_line_join

(PECL cairo >= 0.1.0)

CairoContext::setLineJoin -- cairo_set_line_join — The setLineJoin purpose

Описание

Object oriented style (method):

public void CairoContext::setLineJoin ( string $setting )

Procedural style:

void cairo_set_line_join ( CairoContext $context , string $setting )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

setting

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext


The setLineWidth purpose

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext
PHP Manual

CairoContext::setLineWidth

cairo_set_line_width

(PECL cairo >= 0.1.0)

CairoContext::setLineWidth -- cairo_set_line_width — The setLineWidth purpose

Описание

Object oriented style (method):

public void CairoContext::setLineWidth ( string $width )

Procedural style:

void cairo_set_line_width ( CairoContext $context , string $width )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

width

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext


The setMatrix purpose

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext
PHP Manual

CairoContext::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoContext::setMatrix -- cairo_set_matrix — The setMatrix purpose

Описание

Object oriented style (method):

public void CairoContext::setMatrix ( string $matrix )

Procedural style:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

matrix

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext


The setMiterLimit purpose

CairoContext::setMatrix
CairoContext::setOperator
CairoContext
PHP Manual

CairoContext::setMiterLimit

cairo_set_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::setMiterLimit -- cairo_set_miter_limit — The setMiterLimit purpose

Описание

Object oriented style (method):

public void CairoContext::setMiterLimit ( string $limit )

Procedural style:

void cairo_set_miter_limit ( CairoContext $context , string $limit )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

limit

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setMatrix
CairoContext::setOperator
CairoContext


The setOperator purpose

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext
PHP Manual

CairoContext::setOperator

cairo_set_operator

(PECL cairo >= 0.1.0)

CairoContext::setOperator -- cairo_set_operator — The setOperator purpose

Описание

Object oriented style (method):

public void CairoContext::setOperator ( string $setting )

Procedural style:

void cairo_set_operator ( CairoContext $context , string $setting )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

setting

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext


The setScaledFont purpose

CairoContext::setOperator
CairoContext::setSource
CairoContext
PHP Manual

CairoContext::setScaledFont

cairo_set_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::setScaledFont -- cairo_set_scaled_font — The setScaledFont purpose

Описание

Object oriented style (method):

public void CairoContext::setScaledFont ( string $scaledfont )

Procedural style:

void cairo_set_scaled_font ( CairoContext $context , CairoScaledFont $scaledfont )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

scaledfont

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setOperator
CairoContext::setSource
CairoContext


The setSource purpose

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext
PHP Manual

CairoContext::setSource

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSource -- cairo_set_source — The setSource purpose

Описание

Object oriented style (method):

public void CairoContext::setSource ( string $pattern )

Procedural style:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

pattern

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext


The setSourceRGB purpose

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext
PHP Manual

CairoContext::setSourceRGB

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGB -- cairo_set_source — The setSourceRGB purpose

Описание

Object oriented style (method):

public void CairoContext::setSourceRGB ( string $red , string $green , string $blue )

Procedural style:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

pattern

Description...

red

Description...

green

Description...

blue

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext


The setSourceRGBA purpose

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext
PHP Manual

CairoContext::setSourceRGBA

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGBA -- cairo_set_source — The setSourceRGBA purpose

Описание

Object oriented style (method):

public void CairoContext::setSourceRGBA ( string $red , string $green , string $blue , string $alpha )

Procedural style:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

pattern

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext


The setSourceSurface purpose

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext
PHP Manual

CairoContext::setSourceSurface

cairo_set_source_surface

(PECL cairo >= 0.1.0)

CairoContext::setSourceSurface -- cairo_set_source_surface — The setSourceSurface purpose

Описание

Object oriented style (method):

public void CairoContext::setSourceSurface ( string $surface [, string $x [, string $y ]] )

Procedural style:

void cairo_set_source_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

surface

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext


The setTolerance purpose

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext
PHP Manual

CairoContext::setTolerance

cairo_set_tolerance

(PECL cairo >= 0.1.0)

CairoContext::setTolerance -- cairo_set_tolerance — The setTolerance purpose

Описание

Object oriented style (method):

public void CairoContext::setTolerance ( string $tolerance )

Procedural style:

void cairo_set_tolerance ( CairoContext $context , string $tolerance )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

tolerance

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext


The showPage purpose

CairoContext::setTolerance
CairoContext::showText
CairoContext
PHP Manual

CairoContext::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoContext::showPage -- cairo_show_page — The showPage purpose

Описание

Object oriented style (method):

public void CairoContext::showPage ( void )

Procedural style:

void cairo_show_page ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::setTolerance
CairoContext::showText
CairoContext


The showText purpose

CairoContext::showPage
CairoContext::status
CairoContext
PHP Manual

CairoContext::showText

cairo_show_text

(PECL cairo >= 0.1.0)

CairoContext::showText -- cairo_show_text — The showText purpose

Описание

Object oriented style (method):

public void CairoContext::showText ( string $text )

Procedural style:

void cairo_show_text ( CairoContext $context , string $text )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

text

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::showPage
CairoContext::status
CairoContext


The status purpose

CairoContext::showText
CairoContext::stroke
CairoContext
PHP Manual

CairoContext::status

cairo_status

(PECL cairo >= 0.1.0)

CairoContext::status -- cairo_status — The status purpose

Описание

Object oriented style (method):

public int CairoContext::status ( void )

Procedural style:

int cairo_status ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::showText
CairoContext::stroke
CairoContext


The stroke purpose

CairoContext::status
CairoContext::strokeExtents
CairoContext
PHP Manual

CairoContext::stroke

cairo_stroke

(PECL cairo >= 0.1.0)

CairoContext::stroke -- cairo_stroke — The stroke purpose

Описание

Object oriented style (method):

public void CairoContext::stroke ( void )

Procedural style:

void cairo_stroke ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::status
CairoContext::strokeExtents
CairoContext


The strokeExtents purpose

CairoContext::stroke
CairoContext::strokePreserve
CairoContext
PHP Manual

CairoContext::strokeExtents

cairo_stroke_extents

(PECL cairo >= 0.1.0)

CairoContext::strokeExtents -- cairo_stroke_extents — The strokeExtents purpose

Описание

Object oriented style (method):

public array CairoContext::strokeExtents ( void )

Procedural style:

array cairo_stroke_extents ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::stroke
CairoContext::strokePreserve
CairoContext


The strokePreserve purpose

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext
PHP Manual

CairoContext::strokePreserve

cairo_stroke_preserve

(PECL cairo >= 0.1.0)

CairoContext::strokePreserve -- cairo_stroke_preserve — The strokePreserve purpose

Описание

Object oriented style (method):

public void CairoContext::strokePreserve ( void )

Procedural style:

void cairo_stroke_preserve ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext


The textExtents purpose

CairoContext::strokePreserve
CairoContext::textPath
CairoContext
PHP Manual

CairoContext::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoContext::textExtents -- cairo_text_extents — The textExtents purpose

Описание

Object oriented style (method):

public array CairoContext::textExtents ( string $text )

Procedural style:

array cairo_text_extents ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

text

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::strokePreserve
CairoContext::textPath
CairoContext


The textPath purpose

CairoContext::textExtents
CairoContext::transform
CairoContext
PHP Manual

CairoContext::textPath

cairo_text_path

(PECL cairo >= 0.1.0)

CairoContext::textPath -- cairo_text_path — The textPath purpose

Описание

Объектно-ориентированный стиль

public void CairoContext::textPath ( string $string )

Процедурный стиль

void cairo_text_path ( CairoContext $context , string $text )

Adds closed paths for text to the current path. The generated path, if filled, achieves an effect similar to that of CairoContext::showText().

Text conversion and positioning is done similar to CairoContext::showText().

Like CairoContext::showText(), after this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for chaining multiple calls to CairoContext::showText() without having to set current point in between.

Note: The CairoContext::textPath() function call is part of what the cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See CairoContext::glyphPath() for the "real" text path API in cairo.

Список параметров

context

A CairoContext object

text

Description...

string

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::textExtents
CairoContext::transform
CairoContext


The transform purpose

CairoContext::textPath
CairoContext::translate
CairoContext
PHP Manual

CairoContext::transform

cairo_transform

(PECL cairo >= 0.1.0)

CairoContext::transform -- cairo_transform — The transform purpose

Описание

Object oriented style (method):

public void CairoContext::transform ( string $matrix )

Procedural style:

void cairo_transform ( CairoContext $context , CairoMatrix $matrix )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

matrix

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::textPath
CairoContext::translate
CairoContext


The translate purpose

CairoContext::transform
CairoContext::userToDevice
CairoContext
PHP Manual

CairoContext::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoContext::translate -- cairo_translate — The translate purpose

Описание

Object oriented style (method):

public void CairoContext::translate ( string $x , string $y )

Procedural style:

void cairo_translate ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::transform
CairoContext::userToDevice
CairoContext


The userToDevice purpose

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext
PHP Manual

CairoContext::userToDevice

cairo_user_to_device

(PECL cairo >= 0.1.0)

CairoContext::userToDevice -- cairo_user_to_device — The userToDevice purpose

Описание

Object oriented style (method):

public array CairoContext::userToDevice ( string $x , string $y )

Procedural style:

array cairo_user_to_device ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext


The userToDeviceDistance purpose

CairoContext::userToDevice
CairoException
CairoContext
PHP Manual

CairoContext::userToDeviceDistance

cairo_user_to_device_distance

(PECL cairo >= 0.1.0)

CairoContext::userToDeviceDistance -- cairo_user_to_device_distance — The userToDeviceDistance purpose

Описание

Object oriented style (method):

public array CairoContext::userToDeviceDistance ( string $x , string $y )

Procedural style:

array cairo_user_to_device_distance ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoContext::userToDevice
CairoException
CairoContext


The CairoException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Exception class throwed by Cairo functions and methods

Обзор классов

CairoException extends Exception {
/* Свойства */
/* Наследуемые методы */
}

Свойства

message

Prop description

code

Prop description

file

Prop description

line

Prop description

CairoContext::userToDeviceDistance
CairoStatus
Cairo


The CairoStatus class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoStatus is used to indicate errors that can occur when using Cairo. In some cases it is returned directly by functions. but when using CairoContext, the last error, if any, is stored in the object and can be retrieved with CairoContext::status() or cairo_status(). New entries may be added in future versions.

Use Cairo::statusToString() or cairo_status_to_string() to get a human-readable representation of an error message.

Обзор классов

CairoStatus {
/* Константы */
const integer SUCCESS = 0 ;
const integer NO_MEMORY = 1 ;
const integer INVALID_RESTORE = 2 ;
const integer INVALID_POP_GROUP = 3 ;
const integer NO_CURRENT_POINT = 4 ;
const integer INVALID_MATRIX = 5 ;
const integer INVALID_STATUS = 6 ;
const integer NULL_POINTER = 7 ;
const integer INVALID_STRING = 8 ;
const integer INVALID_PATH_DATA = 9 ;
const integer READ_ERROR = 10 ;
const integer WRITE_ERROR = 11 ;
const integer SURFACE_FINISHED = 12 ;
const integer SURFACE_TYPE_MISMATCH = 13 ;
const integer PATTERN_TYPE_MISMATCH = 14 ;
const integer INVALID_CONTENT = 15 ;
const integer INVALID_FORMAT = 16 ;
const integer INVALID_VISUAL = 17 ;
const integer FILE_NOT_FOUND = 18 ;
const integer INVALID_DASH = 19 ;
const integer INVALID_DSC_COMMENT = 20 ;
const integer INVALID_INDEX = 21 ;
const integer CLIP_NOT_REPRESENTABLE = 22 ;
const integer TEMP_FILE_ERROR = 23 ;
const integer INVALID_STRIDE = 24 ;
}

Предопределенные константы

CairoStatus Node Types

CairoStatus::SUCCESS

No error has occurred

CairoStatus::NO_MEMORY

Out of memory

CairoStatus::INVALID_RESTORE

cairo_restore() called without matching cairo_save()

CairoStatus::INVALID_POP_GROUP

No saved group to pop

CairoStatus::NO_CURRENT_POINT

No current point defined

CairoStatus::INVALID_MATRIX

Invalid matrix (not invertible)

CairoStatus::INVALID_STATUS

Invalid value for an input CairoStatus>

CairoStatus::NULL_POINTER

Null pointer

CairoStatus::INVALID_STRING

Input string not valid UTF-8 string

CairoStatus::INVALID_PATH_DATA

Input path data not valid

CairoStatus::READ_ERROR

Error while reading from input stream

CairoStatus::WRITE_ERROR

Error while writing to output stream

CairoStatus::SURFACE_FINISHED

Target surface has been finished

CairoStatus::SURFACE_TYPE_MISMATCH

The surface type is not appropriate for the operation

CairoStatus::PATTERN_TYPE_MISMATCH

The pattern type is not appropriate for the operation

CairoStatus::INVALID_CONTENT

Invalid value for an input CairoContent

CairoStatus::INVALID_FORMAT

Invalid value for an input CairoFormat

CairoStatus::INVALID_VISUAL

Invalid value for an input Visual

CairoStatus::FILE_NOT_FOUND

File not found

CairoStatus::INVALID_DASH

Invalid value for a dash setting

CairoStatus::INVALID_DSC_COMMENT

Invalid value for a DSC comment

CairoStatus::INVALID_INDEX

Invalid index passed to getter

CairoStatus::CLIP_NOT_REPRESENTABLE

Clip region not representable in desired format

CairoStatus::TEMP_FILE_ERROR

Error creating or writing to a temporary file

CairoStatus::INVALID_STRIDE

Invalid value for CairoStride

CairoException
CairoSurface
Cairo


The CairoSurface class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This is the base-class for all other Surface types. CairoSurface is the abstract type representing all different drawing targets that cairo can render to. The actual drawings are performed using a CairoContext.

Обзор классов

CairoSurface {
/* Методы */
__construct ( void )
public void copyPage ( void )
public void createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void finish ( void )
public void flush ( void )
public int getContent ( void )
public array getDeviceOffset ( void )
public void getFontOptions ( void )
public int getType ( void )
public void markDirty ( void )
public void markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void setDeviceOffset ( string $x , string $y )
public void setFallbackResolution ( string $x , string $y )
public void showPage ( void )
public int status ( void )
public void writeToPng ( string $file )
}

Содержание

  • CairoSurface::__construct — The __construct purpose
  • CairoSurface::copyPage — The copyPage purpose
  • CairoSurface::createSimilar — The createSimilar purpose
  • CairoSurface::finish — The finish purpose
  • CairoSurface::flush — The flush purpose
  • CairoSurface::getContent — The getContent purpose
  • CairoSurface::getDeviceOffset — The getDeviceOffset purpose
  • CairoSurface::getFontOptions — The getFontOptions purpose
  • CairoSurface::getType — The getType purpose
  • CairoSurface::markDirty — The markDirty purpose
  • CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose
  • CairoSurface::setDeviceOffset — The setDeviceOffset purpose
  • CairoSurface::setFallbackResolution — The setFallbackResolution purpose
  • CairoSurface::showPage — The showPage purpose
  • CairoSurface::status — The status purpose
  • CairoSurface::writeToPng — The writeToPng purpose
CairoStatus
CairoSurface::__construct
Cairo


The __construct purpose

CairoSurface
CairoSurface::copyPage
CairoSurface
PHP Manual

CairoSurface::__construct

(PECL cairo >= 0.1.0)

CairoSurface::__construct — The __construct purpose

Описание

CairoSurface::__construct ( void )

CairoSurface is an abstract type and, as such, should not be instantiated in your PHP scripts.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

No return value

Примечания

Замечание:

If you're using a PHP version before 5.3, you must destroy the CairoContext associated with a CairoSurface after you destroy the CairoSurface. Otherwise, you're left with a Circular-reference memory leak.

Смотрите также

  • CairoImageSurface::__construct() - Creates a new CairoImageSurface

CairoSurface
CairoSurface::copyPage
CairoSurface


The copyPage purpose

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface
PHP Manual

CairoSurface::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoSurface::copyPage -- cairo_copy_page — The copyPage purpose

Описание

Object oriented style (method):

public void CairoSurface::copyPage ( void )

Procedural style:

void cairo_copy_page ( CairoContext $context )

Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page. Use CairoSurface::showPage() if you want to get an empty page after the emission.

Список параметров

context

A CairoContext object

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface


The createSimilar purpose

CairoSurface::copyPage
CairoSurface::finish
CairoSurface
PHP Manual

CairoSurface::createSimilar

(PECL cairo >= 0.1.0)

CairoSurface::createSimilar — The createSimilar purpose

Описание

public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )

Create a new surface that is as compatible as possible with an existing surface. For example the new surface will have the same fallback resolution and font options as other. Generally, the new surface will also use the same backend as other, unless that is not possible for some reason. The type of the returned surface may be examined with CairoSurface::getType(). Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

Список параметров

other

An existing surface used to select the backend of the new surface

content

The content for the new surface. See the CairoContent class for possible values.

width

Width of the new surface, (in device-space units).

height

Height of the new surface, (in device-space units).

Возвращаемые значения

A new CairoSurface

Примеры

Пример #1 CairoSurface::createSimilar() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoContent()

CairoSurface::copyPage
CairoSurface::finish
CairoSurface


The finish purpose

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface
PHP Manual

CairoSurface::finish

(PECL cairo >= 0.1.0)

CairoSurface::finish — The finish purpose

Описание

public void CairoSurface::finish ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::finish() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface


The flush purpose

CairoSurface::finish
CairoSurface::getContent
CairoSurface
PHP Manual

CairoSurface::flush

(PECL cairo >= 0.1.0)

CairoSurface::flush — The flush purpose

Описание

public void CairoSurface::flush ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::flush() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::finish
CairoSurface::getContent
CairoSurface


The getContent purpose

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface
PHP Manual

CairoSurface::getContent

(PECL cairo >= 0.1.0)

CairoSurface::getContent — The getContent purpose

Описание

public int CairoSurface::getContent ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::getContent() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface


The getDeviceOffset purpose

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface
PHP Manual

CairoSurface::getDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::getDeviceOffset — The getDeviceOffset purpose

Описание

public array CairoSurface::getDeviceOffset ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::getDeviceOffset() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface


The getFontOptions purpose

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface
PHP Manual

CairoSurface::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoSurface::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Описание

Object oriented style (method):

public void CairoSurface::getFontOptions ( void )

Procedural style:

void cairo_get_font_options ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface


The getType purpose

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface
PHP Manual

CairoSurface::getType

(PECL cairo >= 0.1.0)

CairoSurface::getType — The getType purpose

Описание

public int CairoSurface::getType ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::getType() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface


The markDirty purpose

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface
PHP Manual

CairoSurface::markDirty

(PECL cairo >= 0.1.0)

CairoSurface::markDirty — The markDirty purpose

Описание

public void CairoSurface::markDirty ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::markDirty() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface


The markDirtyRectangle purpose

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface
PHP Manual

CairoSurface::markDirtyRectangle

(PECL cairo >= 0.1.0)

CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose

Описание

public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

Description...

y

Description...

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::markDirtyRectangle() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface


The setDeviceOffset purpose

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface
PHP Manual

CairoSurface::setDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::setDeviceOffset — The setDeviceOffset purpose

Описание

public void CairoSurface::setDeviceOffset ( string $x , string $y )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::setDeviceOffset() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface


The setFallbackResolution purpose

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface
PHP Manual

CairoSurface::setFallbackResolution

(PECL cairo >= 0.1.0)

CairoSurface::setFallbackResolution — The setFallbackResolution purpose

Описание

public void CairoSurface::setFallbackResolution ( string $x , string $y )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

Description...

y

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::setFallbackResolution() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface


The showPage purpose

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface
PHP Manual

CairoSurface::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoSurface::showPage -- cairo_show_page — The showPage purpose

Описание

Object oriented style (method):

public void CairoSurface::showPage ( void )

Procedural style:

void cairo_show_page ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface


The status purpose

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface
PHP Manual

CairoSurface::status

cairo_status

(PECL cairo >= 0.1.0)

CairoSurface::status -- cairo_status — The status purpose

Описание

Object oriented style (method):

public int CairoSurface::status ( void )

Procedural style:

int cairo_status ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface


The writeToPng purpose

CairoSurface::status
CairoSvgSurface
CairoSurface
PHP Manual

CairoSurface::writeToPng

(PECL cairo >= 0.1.0)

CairoSurface::writeToPng — The writeToPng purpose

Описание

public void CairoSurface::writeToPng ( string $file )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurface::writeToPng() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurface::status
CairoSvgSurface
CairoSurface


Svg Surface Backend

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Svg specific surface class, uses the SVG (standard vector graphics) surface backend.

Обзор классов

CairoSvgSurface extends CairoSurface {
/* Методы */
__construct ( string $file , float $width , float $height )
public static array getVersions ( void )
public void restrictToVersion ( string $version )
public static string versionToString ( int $version )
/* Наследуемые методы */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Содержание

  • CairoSvgSurface::__construct — The __construct purpose
  • CairoSvgSurface::getVersions — Used to retrieve a list of supported SVG versions
  • CairoSvgSurface::restrictToVersion — The restrictToVersion purpose
  • CairoSvgSurface::versionToString — The versionToString purpose
CairoSurface::writeToPng
CairoSvgSurface::__construct
Cairo


The __construct purpose

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface
PHP Manual

CairoSvgSurface::__construct

(PECL cairo >= 0.1.0)

CairoSvgSurface::__construct — The __construct purpose

Описание

CairoSvgSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSvgSurface::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface


Used to retrieve a list of supported SVG versions

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface
PHP Manual

CairoSvgSurface::getVersions

cairo_svg_surface_get_versions

(PECL cairo >= 0.1.0)

CairoSvgSurface::getVersions -- cairo_svg_surface_get_versions — Used to retrieve a list of supported SVG versions

Описание

Object oriented style (method):

public static array CairoSvgSurface::getVersions ( void )

Procedural style:

array cairo_svg_get_versions ( void )

Returns a numerically indexed array of currently available CairoSvgVersion constants. In order to retreive the string values for each item, use CairoSvgSurface::versionToString().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a numerically indexed array of integer values.

Примеры

Пример #1 CairoSvgSurface::getVersions() example

<?php
/* Grab our list of versions */
$versions = CairoSvgSurface::getVersions();
var_dump($versions);

/* echo the string name of each version */
foreach($versions as $id) {
    echo CairoSvgSurface::versionToString($id), PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Пример #2 Procedural style

<?php
/* Grab our list of versions */
$versions = cairo_svg_surface_get_versions();
var_dump($versions);

/* echo the string name of each version */
foreach($versions as $id) {
    echo cairo_svg_surface_version_to_string($id), PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Смотрите также

  • CairoSvgSurface::versionToString() - The versionToString purpose

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface


The restrictToVersion purpose

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface
PHP Manual

CairoSvgSurface::restrictToVersion

(PECL cairo >= 0.1.0)

CairoSvgSurface::restrictToVersion — The restrictToVersion purpose

Описание

public void CairoSvgSurface::restrictToVersion ( string $version )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

version

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSvgSurface::restrictToVersion() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface


The versionToString purpose

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface
PHP Manual

CairoSvgSurface::versionToString

(PECL cairo >= 0.1.0)

CairoSvgSurface::versionToString — The versionToString purpose

Описание

public static string CairoSvgSurface::versionToString ( int $version )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

version

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSvgSurface::versionToString() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface


The CairoImageSurface class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoImageSurface provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in CairoFormat.

Обзор классов

CairoImageSurface extends CairoSurface {
/* Методы */
__construct ( int $format , int $width , int $height )
public static void createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )
public static CairoImageSurface createFromPng ( string $file )
public string getData ( void )
public int getFormat ( void )
public int getHeight ( void )
public int getStride ( void )
public int getWidth ( void )
/* Наследуемые методы */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Содержание

  • CairoImageSurface::__construct — Creates a new CairoImageSurface
  • CairoImageSurface::createForData — The createForData purpose
  • CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file
  • CairoImageSurface::getData — Gets the image data as string
  • CairoImageSurface::getFormat — Get the image format
  • CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface
  • CairoImageSurface::getStride — The getStride purpose
  • CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface
CairoSvgSurface::versionToString
CairoImageSurface::__construct
Cairo


Creates a new CairoImageSurface

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface
PHP Manual

CairoImageSurface::__construct

(PECL cairo >= 0.1.0)

CairoImageSurface::__construct — Creates a new CairoImageSurface

Описание

CairoImageSurface::__construct ( int $format , int $width , int $height )

Creates a new CairoImageSuface object of type format

Список параметров

format

Can be any defined in CairoFormat

width

The width of the image surface

height

The height of the image surface

Возвращаемые значения

A new CairoImageSurface

Примеры

Пример #1 CairoImageSurface::__construct() example

<?php

// Creates a image with ARGB32 format of 50 width and 50 height
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50,50);

?>

Смотрите также

  • CairoContext::__construct() - Creates a new CairoContext

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface


The createForData purpose

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface
PHP Manual

CairoImageSurface::createForData

(PECL cairo >= 0.1.0)

CairoImageSurface::createForData — The createForData purpose

Описание

public static void CairoImageSurface::createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

Description...

format

Description...

width

Description...

height

Description...

stride

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoImageSurface::createForData() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface


Creates a new CairoImageSurface form a png image file

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface
PHP Manual

CairoImageSurface::createFromPng

(PECL cairo >= 0.1.0)

CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file

Описание

public static CairoImageSurface CairoImageSurface::createFromPng ( string $file )

Creates a new CairoImageSurface form a png image file

This method should be called static

Список параметров

file

Path to PNG image file

Возвращаемые значения

CairoImageSurface object

Примеры

Пример #1 CairoImageSurface::createFromPng() example

<?php

$surface = CairoImageSurface::createFromPng('/path/to/image/file.png');

?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoImageSurface::__construct() - Creates a new CairoImageSurface

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface


Gets the image data as string

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface
PHP Manual

CairoImageSurface::getData

(PECL cairo >= 0.1.0)

CairoImageSurface::getData — Gets the image data as string

Описание

public string CairoImageSurface::getData ( void )

Returns the image data of this surface or NULL if surface is not an image surface, or if CairoContext::finish(), procedural : cairo_surface_finish(), has been called.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The image data as string

Примеры

Пример #1 CairoImageSurface::getData() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • CairoImageSurface::getStride() - The getStride purpose

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface


Get the image format

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface
PHP Manual

CairoImageSurface::getFormat

(PECL cairo >= 0.1.0)

CairoImageSurface::getFormat — Get the image format

Описание

public int CairoImageSurface::getFormat ( void )

Retrieves the image format, as one of the CairoFormat defined

Список параметров

У этой функции нет параметров.

Возвращаемые значения

One of the CairoFormat enums

Примеры

Пример #1 CairoImageSurface::getFormat() example

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

var_dump($surface->getFormat()); // 0

$surface2 = new CairoImageSurface(CairoFormat::A8, 50, 50);

var_dump($surface2->getFormat()); // 2

?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
int(2)

Смотрите также

  • CairoImageSurface::getHeight() - Retrieves the height of the CairoImageSurface
  • CairoImageSurface::getWidth() - Retrieves the width of the CairoImageSurface

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface


Retrieves the height of the CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface
PHP Manual

CairoImageSurface::getHeight

(PECL cairo >= 0.1.0)

CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface

Описание

public int CairoImageSurface::getHeight ( void )

This methods returns the CairoImageSurface height.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

CairoImageSurface object height

Примеры

Пример #1 CairoImageSurface::getHeight() example

<?php
// creates a new image surface
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

//gets the height
var_dump($surface->getHeight());

?>

Результатом выполнения данного примера будет что-то подобное:

int(50)

Смотрите также

  • CairoImageSurface::getWidth() - Retrieves the width of the CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface


The getStride purpose

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface
PHP Manual

CairoImageSurface::getStride

(PECL cairo >= 0.1.0)

CairoImageSurface::getStride — The getStride purpose

Описание

public int CairoImageSurface::getStride ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoImageSurface::getStride() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface


Retrieves the width of the CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface
PHP Manual

CairoImageSurface::getWidth

(PECL cairo >= 0.1.0)

CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface

Описание

public int CairoImageSurface::getWidth ( void )

Gets the width of the CairoImageSurface

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the width of the CairoImageSurface object

Примеры

Пример #1 CairoImageSurface::getWidth() example

<?php
// creates a new image surface
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

//gets the width
var_dump($surface->getWidth());

?>

Результатом выполнения данного примера будет что-то подобное:

int(80)

Смотрите также

  • CairoImageSurface::getHeight() - Retrieves the height of the CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface


Класс CairoPdfSurface

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoPdfSurface extends CairoSurface {
/* Методы */
__construct ( string $file , float $width , float $height )
public void setSize ( string $width , string $height )
/* Наследуемые методы */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Содержание

  • CairoPdfSurface::__construct — The __construct purpose
  • CairoPdfSurface::setSize — The setSize purpose
CairoImageSurface::getWidth
CairoPdfSurface::__construct
Cairo


The __construct purpose

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface
PHP Manual

CairoPdfSurface::__construct

(PECL cairo >= 0.1.0)

CairoPdfSurface::__construct — The __construct purpose

Описание

CairoPdfSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPdfSurface::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface


The setSize purpose

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface
PHP Manual

CairoPdfSurface::setSize

(PECL cairo >= 0.1.0)

CairoPdfSurface::setSize — The setSize purpose

Описание

public void CairoPdfSurface::setSize ( string $width , string $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPdfSurface::setSize() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface


Класс CairoPsSurface

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoPsSurface extends CairoSurface {
/* Методы */
__construct ( string $file , float $width , float $height )
public void dscBeginPageSetup ( void )
public void dscBeginSetup ( void )
public void dscComment ( string $comment )
public bool getEps ( void )
public static array getLevels ( void )
public static string levelToString ( int $level )
public void restrictToLevel ( string $level )
public void setEps ( string $level )
public void setSize ( string $width , string $height )
/* Наследуемые методы */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Содержание

  • CairoPsSurface::__construct — The __construct purpose
  • CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose
  • CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose
  • CairoPsSurface::dscComment — The dscComment purpose
  • CairoPsSurface::getEps — The getEps purpose
  • CairoPsSurface::getLevels — The getLevels purpose
  • CairoPsSurface::levelToString — The levelToString purpose
  • CairoPsSurface::restrictToLevel — The restrictToLevel purpose
  • CairoPsSurface::setEps — The setEps purpose
  • CairoPsSurface::setSize — The setSize purpose
CairoPdfSurface::setSize
CairoPsSurface::__construct
Cairo


The __construct purpose

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface
PHP Manual

CairoPsSurface::__construct

(PECL cairo >= 0.1.0)

CairoPsSurface::__construct — The __construct purpose

Описание

CairoPsSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Description...

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface


The dscBeginPageSetup purpose

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginPageSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose

Описание

public void CairoPsSurface::dscBeginPageSetup ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::dscBeginPageSetup() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface


The dscBeginSetup purpose

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose

Описание

public void CairoPsSurface::dscBeginSetup ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::dscBeginSetup() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface


The dscComment purpose

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface
PHP Manual

CairoPsSurface::dscComment

(PECL cairo >= 0.1.0)

CairoPsSurface::dscComment — The dscComment purpose

Описание

public void CairoPsSurface::dscComment ( string $comment )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

comment

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::dscComment() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface


The getEps purpose

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface
PHP Manual

CairoPsSurface::getEps

(PECL cairo >= 0.1.0)

CairoPsSurface::getEps — The getEps purpose

Описание

public bool CairoPsSurface::getEps ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::getEps() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface


The getLevels purpose

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface
PHP Manual

CairoPsSurface::getLevels

(PECL cairo >= 0.1.0)

CairoPsSurface::getLevels — The getLevels purpose

Описание

public static array CairoPsSurface::getLevels ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::getLevels() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface


The levelToString purpose

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface
PHP Manual

CairoPsSurface::levelToString

(PECL cairo >= 0.1.0)

CairoPsSurface::levelToString — The levelToString purpose

Описание

public static string CairoPsSurface::levelToString ( int $level )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

level

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::levelToString() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface


The restrictToLevel purpose

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface
PHP Manual

CairoPsSurface::restrictToLevel

(PECL cairo >= 0.1.0)

CairoPsSurface::restrictToLevel — The restrictToLevel purpose

Описание

public void CairoPsSurface::restrictToLevel ( string $level )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

level

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::restrictToLevel() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface


The setEps purpose

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface
PHP Manual

CairoPsSurface::setEps

(PECL cairo >= 0.1.0)

CairoPsSurface::setEps — The setEps purpose

Описание

public void CairoPsSurface::setEps ( string $level )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

level

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::setEps() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface


The setSize purpose

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface
PHP Manual

CairoPsSurface::setSize

(PECL cairo >= 0.1.0)

CairoPsSurface::setSize — The setSize purpose

Описание

public void CairoPsSurface::setSize ( string $width , string $height )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

width

Description...

height

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPsSurface::setSize() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface


Класс CairoSurfaceType

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoSurfaceType {
/* Константы */
const integer IMAGE = 0 ;
const integer PDF = 1 ;
const integer PS = 2 ;
const integer XLIB = 3 ;
const integer XCB = 4 ;
const integer GLITZ = 5 ;
const integer QUARTZ = 6 ;
const integer WIN32 = 7 ;
const integer BEOS = 8 ;
const integer DIRECTFB = 9 ;
const integer SVG = 10 ;
const integer OS2 = 11 ;
const integer WIN32_PRINTING = 12 ;
const integer QUARTZ_IMAGE = 13 ;
}

Предопределенные константы

Типы узлов CairoSurfaceType

CairoSurfaceType::IMAGE

Здесь будет описание...

CairoSurfaceType::PDF

Здесь будет описание...

CairoSurfaceType::PS

Здесь будет описание...

CairoSurfaceType::XLIB

Здесь будет описание...

CairoSurfaceType::XCB

Здесь будет описание...

CairoSurfaceType::GLITZ

Здесь будет описание...

CairoSurfaceType::QUARTZ

Здесь будет описание...

CairoSurfaceType::WIN32

Здесь будет описание...

CairoSurfaceType::BEOS

Здесь будет описание...

CairoSurfaceType::DIRECTFB

Здесь будет описание...

CairoSurfaceType::SVG

Здесь будет описание...

CairoSurfaceType::OS2

Здесь будет описание...

CairoSurfaceType::WIN32_PRINTING

Здесь будет описание...

CairoSurfaceType::QUARTZ_IMAGE

Здесь будет описание...

CairoPsSurface::setSize
CairoFontFace
Cairo


The CairoFontFace class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoFontFace abstract class represents a particular font at a particular weight, slant, and other characteristic but no transformation or size.

Note: This class can not be instantiated directly, it is created by CairoContext::getFontFace() or cairo_scaled_font_get_font_face().

Обзор классов

CairoFontFace {
/* Методы */
__construct ( void )
public int getType ( void )
public int status ( void )
}

Содержание

  • CairoFontFace::__construct — Creates a new CairoFontFace object
  • CairoFontFace::getType — Retrieves the font face type
  • CairoFontFace::status — Check for CairoFontFace errors
CairoSurfaceType
CairoFontFace::__construct
Cairo


Creates a new CairoFontFace object

CairoFontFace
CairoFontFace::getType
CairoFontFace
PHP Manual

CairoFontFace::__construct

(PECL cairo >= 0.1.0)

CairoFontFace::__construct — Creates a new CairoFontFace object

Описание

CairoFontFace::__construct ( void )

CairoFontFace class represents a particular font at a particular weight, slant, and other characteristic but no transformation or size.

Note: This class can't be instantiated directly it is created by CairoContext::getFontFace() or cairo_scaled_font_get_font_face()

Список параметров

У этой функции нет параметров.

Возвращаемые значения

CairoFontFace

Примеры

Пример #1 CairoFontFace::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Class::Method()

CairoFontFace
CairoFontFace::getType
CairoFontFace


Retrieves the font face type

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace
PHP Manual

CairoFontFace::getType

(PECL cairo >= 0.1.0)

CairoFontFace::getType — Retrieves the font face type

Описание

public int CairoFontFace::getType ( void )

This function returns the type of the backend used to create a font face. See CairoFontType class constants for available types.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A font type that can be any one defined in CairoFontType

Примеры

Пример #1 CairoFontFace::getType() example

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face type
var_dump($fontface->getType());

?>

Результатом выполнения данного примера будет что-то подобное:

int(0)

Смотрите также

  • Classname::Method()

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace


Check for CairoFontFace errors

CairoFontFace::getType
CairoFontOptions
CairoFontFace
PHP Manual

CairoFontFace::status

cairo_font_face_status

(PECL cairo >= 0.1.0)

CairoFontFace::status -- cairo_font_face_status — Check for CairoFontFace errors

Описание

Object oriented style (method):

public int CairoFontFace::status ( void )

Procedural style:

int cairo_font_face_status ( CairoFontFace $fontface )

Checks whether an error has previously occurred for this font face

Список параметров

fontface

A valid CairoFontFace object

Возвращаемые значения

CAIRO_STATUS_SUCCESS or another error such as CAIRO_STATUS_NO_MEMORY.

Примеры

Пример #1 Object oriented style

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face status
var_dump($fontface->status()); // should be the value of CAIRO_STATUS_SUCCESS

?>

Результатом выполнения данного примера будет что-то подобное:

int(0)

Пример #2 Procedural style

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face status
var_dump(cairo_font_face_status($fontface)); // should be the value of CAIRO_STATUS_SUCCESS

?>

Результатом выполнения данного примера будет что-то подобное:

int(0)

Смотрите также

  • Classname::Method()

CairoFontFace::getType
CairoFontOptions
CairoFontFace


The CairoFontOptions class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

An opaque structure holding all options that are used when rendering fonts.

Individual features of a cairo_font_options_t can be set or accessed using functions named cairo_font_options_set_feature_name and cairo_font_options_get_feature_name, like cairo_font_options_set_antialias() and cairo_font_options_get_antialias().

New features may be added to CairoFontOptions in the future. For this reason CairoFontOptions::copy(), CairoFontOptions::equal(), CairoFontOptions::merge(), CairoFontOptions::hash() (cairo_font_options_copy(), cairo_font_options_equal(), cairo_font_options_merge(), and cairo_font_options_hash() in procedural way) should be used to copy, check for equality, merge, or compute a hash value of CairoFontOptions objects.

Обзор классов

CairoFontOptions {
/* Методы */
__construct ( void )
public bool equal ( string $other )
public int getAntialias ( void )
public int getHintMetrics ( void )
public int getHintStyle ( void )
public int getSubpixelOrder ( void )
public int hash ( void )
public void merge ( string $other )
public void setAntialias ( string $antialias )
public void setHintMetrics ( string $hint_metrics )
public void setHintStyle ( string $hint_style )
public void setSubpixelOrder ( string $subpixel_order )
public int status ( void )
}

Содержание

  • CairoFontOptions::__construct — The __construct purpose
  • CairoFontOptions::equal — The equal purpose
  • CairoFontOptions::getAntialias — The getAntialias purpose
  • CairoFontOptions::getHintMetrics — The getHintMetrics purpose
  • CairoFontOptions::getHintStyle — The getHintStyle purpose
  • CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose
  • CairoFontOptions::hash — The hash purpose
  • CairoFontOptions::merge — The merge purpose
  • CairoFontOptions::setAntialias — The setAntialias purpose
  • CairoFontOptions::setHintMetrics — The setHintMetrics purpose
  • CairoFontOptions::setHintStyle — The setHintStyle purpose
  • CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose
  • CairoFontOptions::status — The status purpose
CairoFontFace::status
CairoFontOptions::__construct
Cairo


The __construct purpose

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions
PHP Manual

CairoFontOptions::__construct

(PECL cairo >= 0.1.0)

CairoFontOptions::__construct — The __construct purpose

Описание

CairoFontOptions::__construct ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions


The equal purpose

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::equal

(PECL cairo >= 0.1.0)

CairoFontOptions::equal — The equal purpose

Описание

public bool CairoFontOptions::equal ( string $other )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

other

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::equal() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions


The getAntialias purpose

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::getAntialias -- cairo_get_antialias — The getAntialias purpose

Описание

Object oriented style (method):

public int CairoFontOptions::getAntialias ( void )

Procedural style:

int cairo_get_antialias ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions


The getHintMetrics purpose

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::getHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintMetrics — The getHintMetrics purpose

Описание

public int CairoFontOptions::getHintMetrics ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::getHintMetrics() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions


The getHintStyle purpose

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::getHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintStyle — The getHintStyle purpose

Описание

public int CairoFontOptions::getHintStyle ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::getHintStyle() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions


The getSubpixelOrder purpose

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions
PHP Manual

CairoFontOptions::getSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose

Описание

public int CairoFontOptions::getSubpixelOrder ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::getSubpixelOrder() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions


The hash purpose

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions
PHP Manual

CairoFontOptions::hash

(PECL cairo >= 0.1.0)

CairoFontOptions::hash — The hash purpose

Описание

public int CairoFontOptions::hash ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::hash() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions


The merge purpose

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::merge

(PECL cairo >= 0.1.0)

CairoFontOptions::merge — The merge purpose

Описание

public void CairoFontOptions::merge ( string $other )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

other

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::merge() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions


The setAntialias purpose

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::setAntialias -- cairo_set_antialias — The setAntialias purpose

Описание

Object oriented style (method):

public void CairoFontOptions::setAntialias ( string $antialias )

Procedural style:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

antialias

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions


The setHintMetrics purpose

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::setHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintMetrics — The setHintMetrics purpose

Описание

public void CairoFontOptions::setHintMetrics ( string $hint_metrics )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

hint_metrics

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::setHintMetrics() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions


The setHintStyle purpose

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::setHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintStyle — The setHintStyle purpose

Описание

public void CairoFontOptions::setHintStyle ( string $hint_style )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

hint_style

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::setHintStyle() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions


The setSubpixelOrder purpose

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions
PHP Manual

CairoFontOptions::setSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose

Описание

public void CairoFontOptions::setSubpixelOrder ( string $subpixel_order )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

subpixel_order

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoFontOptions::setSubpixelOrder() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions


The status purpose

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions
PHP Manual

CairoFontOptions::status

cairo_status

(PECL cairo >= 0.1.0)

CairoFontOptions::status -- cairo_status — The status purpose

Описание

Object oriented style (method):

public int CairoFontOptions::status ( void )

Procedural style:

int cairo_status ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions


The CairoFontSlant class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Specifies variants of a font face based on their slant.

Обзор классов

CairoFontSlant {
/* Константы */
const integer NORMAL = 0 ;
const integer ITALIC = 1 ;
const integer OBLIQUE = 2 ;
}

Предопределенные константы

CairoFontSlant Node Types

CairoFontSlant::NORMAL

Upright font style

CairoFontSlant::ITALIC

Italic font style

CairoFontSlant::OBLIQUE

Oblique font style

CairoFontOptions::status
CairoFontType
Cairo


The CairoFontType class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoFontType class is an abstract final class that contains constants used to describe the type of a given CairoFontFace or CairoScaledFont. The font types are also known as "font backends" within cairo.

The type of a CairoFontFace is determined by the how it is created, an example would be the CairoToyFontFace::__construct(). The CairoFontFace type can be queried with CairoFontFace::getType() or cairo_font_face_get_type()

The various CairoFontFace functions can be used with a font face of any type.

The type of a CairoScaledFont is determined by the type of the CairoFontFace passed to CairoScaledFont::__construct() or cairo_scaled_font_create(). The scaled font type can be queried with CairoScaledFont::getType() or cairo_scaled_font_get_type().

Обзор классов

CairoFontType {
/* Константы */
const integer TOY = 0 ;
const integer FT = 1 ;
const integer WIN32 = 2 ;
const integer QUARTZ = 3 ;
}

Предопределенные константы

CairoFontType Node Types

CairoFontType::TOY

The font was created using CairoToyFont api

CairoFontType::FT

The font is of type CairoFreeType

CairoFontType::WIN32

The font is of type Win32

CairoFontType::QUARTZ

The font is of type Quartz

CairoFontType::USER

The font was create using cairo's user font api

CairoFontSlant
CairoFontWeight
Cairo


The CairoFontWeight class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Specifies variants of a font face based on their weight.

Обзор классов

CairoFontWeight {
/* Константы */
const integer NORMAL = 0 ;
const integer BOLD = 1 ;
}

Предопределенные константы

CairoFontWeight Node Types

CairoFontWeight::NORMAL

Normal font weight

CairoFontWeight::BOLD

Bold font weight

CairoFontType
CairoScaledFont
Cairo


Класс CairoScaledFont

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoScaledFont {
/* Методы */
__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )
public array extents ( void )
public CairoMatrix getCtm ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getScaleMatrix ( void )
public int getType ( void )
public array glyphExtents ( string $glyphs )
public int status ( void )
public array textExtents ( string $text )
}

Содержание

  • CairoScaledFont::__construct — The __construct purpose
  • CairoScaledFont::extents — The extents purpose
  • CairoScaledFont::getCtm — The getCtm purpose
  • CairoScaledFont::getFontFace — The getFontFace purpose
  • CairoScaledFont::getFontMatrix — The getFontMatrix purpose
  • CairoScaledFont::getFontOptions — The getFontOptions purpose
  • CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose
  • CairoScaledFont::getType — The getType purpose
  • CairoScaledFont::glyphExtents — The glyphExtents purpose
  • CairoScaledFont::status — The status purpose
  • CairoScaledFont::textExtents — The textExtents purpose
CairoFontWeight
CairoScaledFont::__construct
Cairo


The __construct purpose

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont
PHP Manual

CairoScaledFont::__construct

(PECL cairo >= 0.1.0)

CairoScaledFont::__construct — The __construct purpose

Описание

CairoScaledFont::__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

font_face

Description...

matrix

Description...

ctm

Description...

options

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont


The extents purpose

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont
PHP Manual

CairoScaledFont::extents

(PECL cairo >= 0.1.0)

CairoScaledFont::extents — The extents purpose

Описание

public array CairoScaledFont::extents ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::extents() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont


The getCtm purpose

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::getCtm

(PECL cairo >= 0.1.0)

CairoScaledFont::getCtm — The getCtm purpose

Описание

public CairoMatrix CairoScaledFont::getCtm ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::getCtm() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont


The getFontFace purpose

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontFace -- cairo_get_font_face — The getFontFace purpose

Описание

Object oriented style (method):

public void CairoScaledFont::getFontFace ( void )

Procedural style:

void cairo_get_font_face ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont


The getFontMatrix purpose

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont
PHP Manual

CairoScaledFont::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontMatrix -- cairo_get_font_matrix — The getFontMatrix purpose

Описание

Object oriented style (method):

public void CairoScaledFont::getFontMatrix ( void )

Procedural style:

void cairo_get_font_matrix ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont


The getFontOptions purpose

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Описание

Object oriented style (method):

public void CairoScaledFont::getFontOptions ( void )

Procedural style:

void cairo_get_font_options ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont


The getScaleMatrix purpose

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont
PHP Manual

CairoScaledFont::getScaleMatrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose

Описание

public void CairoScaledFont::getScaleMatrix ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::getScaleMatrix() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont


The getType purpose

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont
PHP Manual

CairoScaledFont::getType

(PECL cairo >= 0.1.0)

CairoScaledFont::getType — The getType purpose

Описание

public int CairoScaledFont::getType ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::getType() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont


The glyphExtents purpose

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont
PHP Manual

CairoScaledFont::glyphExtents

(PECL cairo >= 0.1.0)

CairoScaledFont::glyphExtents — The glyphExtents purpose

Описание

public array CairoScaledFont::glyphExtents ( string $glyphs )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

glyphs

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoScaledFont::glyphExtents() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont


The status purpose

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont
PHP Manual

CairoScaledFont::status

cairo_status

(PECL cairo >= 0.1.0)

CairoScaledFont::status -- cairo_status — The status purpose

Описание

Object oriented style (method):

public int CairoScaledFont::status ( void )

Procedural style:

int cairo_status ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont


The textExtents purpose

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoScaledFont::textExtents -- cairo_text_extents — The textExtents purpose

Описание

Object oriented style (method):

public array CairoScaledFont::textExtents ( string $text )

Procedural style:

array cairo_text_extents ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

text

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont


The CairoToyFontFace class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The CairoToyFontFace class can be used instead of CairoContext::selectFontFace() to create a toy font independently of a context.

Обзор классов

CairoToyFontFace extends CairoFontFace {
/* Наследуемые методы */
}
CairoScaledFont::textExtents
CairoPatternType
Cairo


The CairoPatternType class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoPatternType is used to describe the type of a given pattern.

The type of a pattern is determined by the function used to create it. The cairo_pattern_create_rgb() and cairo_pattern_create_rgba() functions create CairoPatternType::SOLID patterns. The remaining cairo_pattern_create_* functions map to pattern types in obvious ways.

Обзор классов

CairoPatternType {
/* Константы */
const integer SOLID = 0 ;
const integer SURFACE = 1 ;
const integer LINEAR = 2 ;
const integer RADIAL = 3 ;
}

Предопределенные константы

CairoPatternType Node Types

CairoPatternType::SOLID

The pattern is a solid (uniform) color. It may be opaque or translucent.

CairoPatternType::SURFACE

The pattern is a based on a surface (an image).

CairoPatternType::LINEAR

The pattern is a linear gradient.

CairoPatternType::RADIAL

The pattern is a radial gradient.

CairoToyFontFace
CairoPattern
Cairo


The CairoPattern class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoPattern is the abstract base class from which all the other pattern classes derive. It cannot be instantiated directly

Обзор классов

CairoPattern {
/* Методы */
__construct ( void )
public void getMatrix ( void )
public int getType ( void )
public void setMatrix ( string $matrix )
public int status ( void )
}

Содержание

  • CairoPattern::__construct — The __construct purpose
  • CairoPattern::getMatrix — The getMatrix purpose
  • CairoPattern::getType — The getType purpose
  • CairoPattern::setMatrix — The setMatrix purpose
  • CairoPattern::status — The status purpose
CairoPatternType
CairoPattern::__construct
Cairo


The __construct purpose

CairoPattern
CairoPattern::getMatrix
CairoPattern
PHP Manual

CairoPattern::__construct

(PECL cairo >= 0.1.0)

CairoPattern::__construct — The __construct purpose

Описание

CairoPattern::__construct ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPattern::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPattern
CairoPattern::getMatrix
CairoPattern


The getMatrix purpose

CairoPattern::__construct
CairoPattern::getType
CairoPattern
PHP Manual

CairoPattern::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoPattern::getMatrix -- cairo_get_matrix — The getMatrix purpose

Описание

Object oriented style (method):

public void CairoPattern::getMatrix ( void )

Procedural style:

void cairo_get_matrix ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPattern::__construct
CairoPattern::getType
CairoPattern


The getType purpose

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern
PHP Manual

CairoPattern::getType

(PECL cairo >= 0.1.0)

CairoPattern::getType — The getType purpose

Описание

public int CairoPattern::getType ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoPattern::getType() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern


The setMatrix purpose

CairoPattern::getType
CairoPattern::status
CairoPattern
PHP Manual

CairoPattern::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoPattern::setMatrix -- cairo_set_matrix — The setMatrix purpose

Описание

Object oriented style (method):

public void CairoPattern::setMatrix ( string $matrix )

Procedural style:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

matrix

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPattern::getType
CairoPattern::status
CairoPattern


The status purpose

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern
PHP Manual

CairoPattern::status

cairo_status

(PECL cairo >= 0.1.0)

CairoPattern::status -- cairo_status — The status purpose

Описание

Object oriented style (method):

public int CairoPattern::status ( void )

Procedural style:

int cairo_status ( CairoContext $context )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern


The CairoGradientPattern class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoGradientPattern is an abstract base class from which other Pattern classes derive. It cannot be instantiated directly.

Обзор классов

CairoGradientPattern extends CairoPattern {
/* Методы */
public void addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int getColorStopCount ( void )
public array getColorStopRgba ( string $index )
public int getExtend ( void )
public void setExtend ( int $extend )
/* Наследуемые методы */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Содержание

  • CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose
  • CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose
  • CairoGradientPattern::getColorStopCount — The getColorStopCount purpose
  • CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose
  • CairoGradientPattern::getExtend — The getExtend purpose
  • CairoGradientPattern::setExtend — The setExtend purpose
CairoPattern::status
CairoGradientPattern::addColorStopRgb
Cairo


The addColorStopRgb purpose

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgb

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose

Описание

public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

offset

Description...

red

Description...

green

Description...

blue

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::addColorStopRgb() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern


The addColorStopRgba purpose

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose

Описание

public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

offset

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::addColorStopRgba() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern


The getColorStopCount purpose

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopCount

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopCount — The getColorStopCount purpose

Описание

public int CairoGradientPattern::getColorStopCount ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::getColorStopCount() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern


The getColorStopRgba purpose

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose

Описание

public array CairoGradientPattern::getColorStopRgba ( string $index )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::getColorStopRgba() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern


The getExtend purpose

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::getExtend — The getExtend purpose

Описание

public int CairoGradientPattern::getExtend ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::getExtend() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern


The setExtend purpose

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern
PHP Manual

CairoGradientPattern::setExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::setExtend — The setExtend purpose

Описание

public void CairoGradientPattern::setExtend ( int $extend )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

extend

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoGradientPattern::setExtend() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern


Класс CairoSolidPattern

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoSolidPattern extends CairoPattern {
/* Методы */
__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )
public array getRgba ( void )
/* Наследуемые методы */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Содержание

  • CairoSolidPattern::__construct — The __construct purpose
  • CairoSolidPattern::getRgba — The getRgba purpose
CairoGradientPattern::setExtend
CairoSolidPattern::__construct
Cairo


The __construct purpose

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern
PHP Manual

CairoSolidPattern::__construct

(PECL cairo >= 0.1.0)

CairoSolidPattern::__construct — The __construct purpose

Описание

CairoSolidPattern::__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

red

Description...

green

Description...

blue

Description...

alpha

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSolidPattern::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern


The getRgba purpose

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern
PHP Manual

CairoSolidPattern::getRgba

(PECL cairo >= 0.1.0)

CairoSolidPattern::getRgba — The getRgba purpose

Описание

public array CairoSolidPattern::getRgba ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSolidPattern::getRgba() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern


Класс CairoSurfacePattern

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoSurfacePattern extends CairoPattern {
/* Методы */
__construct ( CairoSurface $surface )
public int getExtend ( void )
public int getFilter ( void )
public void getSurface ( void )
public void setExtend ( int $extend )
public void setFilter ( string $filter )
/* Наследуемые методы */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Содержание

  • CairoSurfacePattern::__construct — The __construct purpose
  • CairoSurfacePattern::getExtend — The getExtend purpose
  • CairoSurfacePattern::getFilter — The getFilter purpose
  • CairoSurfacePattern::getSurface — The getSurface purpose
  • CairoSurfacePattern::setExtend — The setExtend purpose
  • CairoSurfacePattern::setFilter — The setFilter purpose
CairoSolidPattern::getRgba
CairoSurfacePattern::__construct
Cairo


The __construct purpose

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::__construct

(PECL cairo >= 0.1.0)

CairoSurfacePattern::__construct — The __construct purpose

Описание

CairoSurfacePattern::__construct ( CairoSurface $surface )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

surface

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern


The getExtend purpose

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getExtend — The getExtend purpose

Описание

public int CairoSurfacePattern::getExtend ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::getExtend() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern


The getFilter purpose

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getFilter — The getFilter purpose

Описание

public int CairoSurfacePattern::getFilter ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::getFilter() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern


The getSurface purpose

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getSurface

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getSurface — The getSurface purpose

Описание

public void CairoSurfacePattern::getSurface ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::getSurface() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern


The setExtend purpose

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setExtend — The setExtend purpose

Описание

public void CairoSurfacePattern::setExtend ( int $extend )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

extend

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::setExtend() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern


The setFilter purpose

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setFilter — The setFilter purpose

Описание

public void CairoSurfacePattern::setFilter ( string $filter )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filter

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoSurfacePattern::setFilter() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern


The CairoLinearGradient class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Create a new CairoLinearGradient along the line defined

Обзор классов

CairoLinearGradient extends CairoGradientPattern {
/* Методы */
__construct ( float $x0 , float $y0 , float $x1 , float $y1 )
public array getPoints ( void )
/* Наследуемые методы */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Содержание

  • CairoLinearGradient::__construct — The __construct purpose
  • CairoLinearGradient::getPoints — The getPoints purpose
CairoSurfacePattern::setFilter
CairoLinearGradient::__construct
Cairo


The __construct purpose

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient
PHP Manual

CairoLinearGradient::__construct

(PECL cairo >= 0.1.0)

CairoLinearGradient::__construct — The __construct purpose

Описание

CairoLinearGradient::__construct ( float $x0 , float $y0 , float $x1 , float $y1 )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x0

Description...

y0

Description...

x1

Description...

y1

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoLinearGradient::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient


The getPoints purpose

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient
PHP Manual

CairoLinearGradient::getPoints

(PECL cairo >= 0.1.0)

CairoLinearGradient::getPoints — The getPoints purpose

Описание

public array CairoLinearGradient::getPoints ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoLinearGradient::getPoints() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient


Класс CairoRadialGradient

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoRadialGradient extends CairoGradientPattern {
/* Методы */
__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )
public array getCircles ( void )
/* Наследуемые методы */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Содержание

  • CairoRadialGradient::__construct — The __construct purpose
  • CairoRadialGradient::getCircles — The getCircles purpose
CairoLinearGradient::getPoints
CairoRadialGradient::__construct
Cairo


The __construct purpose

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient
PHP Manual

CairoRadialGradient::__construct

(PECL cairo >= 0.1.0)

CairoRadialGradient::__construct — The __construct purpose

Описание

Object oriented style:

CairoRadialGradient::__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

Procedural style:

Creates a new radial gradient CairoPattern between the two circles defined by (x0, y0, r0) and (x1, y1, r1). Before using the gradient pattern, a number of color stops should be defined using CairoRadialGradient::addColorStopRgb() or CairoRadialGradient::addColorStopRgba().

Note: The coordinates here are in pattern space. For a new pattern, pattern space is identical to user space, but the relationship between the spaces can be changed with CairoRadialGradient::setMatrix().

Список параметров

x0

x coordinate for the center of the start circle.

y0

y coordinate for the center of the start circle.

r0

radius of the start circle.

x1

x coordinate for the center of the end circle.

y1

y coordinate for the center of the end circle.

r1

radius of the end circle.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoRadialGradient::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient


The getCircles purpose

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient
PHP Manual

CairoRadialGradient::getCircles

(PECL cairo >= 0.1.0)

CairoRadialGradient::getCircles — The getCircles purpose

Описание

public array CairoRadialGradient::getCircles ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoRadialGradient::getCircles() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient


The CairoAntialias class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Enum class that specifies the type of antialiasing to do when rendering text or shapes.

Обзор классов

CairoAntialias {
/* Константы */
const integer MODE_DEFAULT = 0 ;
const integer MODE_NONE = 1 ;
const integer MODE_GRAY = 2 ;
const integer MODE_SUBPIXEL = 3 ;
}

Предопределенные константы

CairoAntialias Node Types

CairoAntialias::MODE_DEFAULT

Use the default antialiasing for the subsystem and target device

CairoAntialias::MODE_NONE

Use a bilevel alpha mask

CairoAntialias::MODE_GRAY

Perform single-color antialiasing (using shades of gray for black text on a white background, for example).

CairoAntialias::MODE_SUBPIXEL

Perform antialiasing by taking advantage of the order of subpixel elements on devices such as LCD panels.

CairoRadialGradient::getCircles
CairoContent
Cairo


The CairoContent class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoContent is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs. opacity), or both.

Note: The large values here are designed to keep CairoContent values distinct from CairoContent values so that the implementation can detect the error if users confuse the two types.

Обзор классов

CairoContent {
/* Константы */
const integer COLOR = 4096 ;
const integer ALPHA = 8192 ;
const integer COLOR_ALPHA = 12288 ;
}

Предопределенные константы

CairoContent Node Types

CairoContent::COLOR

The surface will hold color content only.

CairoContent::ALPHA

The surface will hold alpha content only.

CairoContent::COLOR_ALPHA

The surface will hold color and alpha content.

CairoAntialias
CairoExtend
Cairo


Класс CairoExtend

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoExtend {
/* Константы */
const integer NONE = 0 ;
const integer REPEAT = 1 ;
const integer REFLECT = 2 ;
const integer PAD = 3 ;
}

Предопределенные константы

Типы узлов CairoExtend

CairoExtend::NONE

Здесь будет описание...

CairoExtend::REPEAT

Здесь будет описание...

CairoExtend::REFLECT

Здесь будет описание...

CairoExtend::PAD

Здесь будет описание...

CairoContent
CairoFormat
Cairo


The CairoFormat class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

CairoFormat enums are used to identify the memory format of the image data.

Обзор классов

CairoFormat {
/* Константы */
const integer ARGB32 = 0 ;
const integer RGB24 = 1 ;
const integer A8 = 2 ;
const integer A1 = 3 ;
/* Методы */
public static int strideForWidth ( int $format , int $width )
}

Предопределенные константы

CairoFormat Node Types

CairoFormat::ARGB32

Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then red, then green, then blue. The 32-bit quantities are stored native-endian. Pre-multiplied alpha is used. (That is, 50% transparent red is 0x80800000, not 0x80ff0000.)

CairoFormat::RGB24

Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red, Green, and Blue are stored in the remaining 24 bits in that order.

CairoFormat::A8

Each pixel is a 8-bit quantity holding an alpha value.

CairoFormat::A1

Each pixel is a 1-bit quantity holding an alpha value. Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianess of the platform. On a big-endian machine, the first pixel is in the uppermost bit, on a little-endian machine the first pixel is in the least-significant bit.

Содержание

  • CairoFormat::strideForWidth — Provides an appropiate stride to use
CairoExtend
CairoFormat::strideForWidth
Cairo


Provides an appropiate stride to use

CairoFormat
CairoFillRule
CairoFormat
PHP Manual

CairoFormat::strideForWidth

(PECL cairo >= 0.1.0)

CairoFormat::strideForWidth — Provides an appropiate stride to use

Описание

public static int CairoFormat::strideForWidth ( int $format , int $width )

This method provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.

Список параметров

format

The desired CairoFormat to use

width

The width of the image

Возвращаемые значения

The appropriate stride to use given the desired format and width, or -1 if either the format is invalid or the width too large.

Примеры

Пример #1 CairoFormat::strideForWidth() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoFormat
CairoFillRule
CairoFormat


The CairoFillRule class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A CairoFillRule is used to select how paths are filled. For both fill rules, whether or not a point is included in the fill is determined by taking a ray from that point to infinity and looking at intersections with the path. The ray can be in any direction, as long as it doesn't pass through the end point of a segment or have a tricky intersection such as intersecting tangent to the path. (Note that filling is not actually implemented in this way. This is just a description of the rule that is applied.)

The default fill rule is CairoFillRule::WINDING.

Обзор классов

CairoFillRule {
/* Константы */
const integer WINDING = 0 ;
const integer EVEN_ODD = 1 ;
}

Предопределенные константы

CairoFillRule Node Types

CairoFillRule::WINDING

If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled.

CairoFillRule::EVEN_ODD

Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled.

CairoFormat::strideForWidth
CairoFilter
Cairo


The CairoFilter class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A CairoFilter is used to indicate what filtering should be applied when reading pixel values from patterns. See CairoPattern::setSource() or cairo_pattern_set_source() for indicating the desired filter to be used with a particular pattern.

Обзор классов

CairoFilter {
/* Константы */
const integer FAST = 0 ;
const integer GOOD = 1 ;
const integer BEST = 2 ;
const integer NEAREST = 3 ;
const integer BILINEAR = 4 ;
const integer GAUSSIAN = 5 ;
}

Предопределенные константы

CairoFilter Node Types

CairoFilter::FAST

A high-performance filter, with quality similar to CairoFilter::NEAREST

CairoFilter::GOOD

A reasonable-performance filter, with quality similar to CairoFilter::BILINEAR

CairoFilter::BEST

The highest-quality available, performance may not be suitable for interactive use.

CairoFilter::NEAREST

Nearest-neighbor filtering

CairoFilter::BILINEAR

Linear interpolation in two dimensions

CairoFilter::GAUSSIAN

This filter value is currently unimplemented, and should not be used in current code.

CairoFillRule
CairoHintMetrics
Cairo


The CairoHintMetrics class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space. Doing this improves the consistency of letter and line spacing, however it also means that text will be laid out differently at different zoom factors.

Обзор классов

CairoHintMetrics {
/* Константы */
const integer METRICS_DEFAULT = 0 ;
const integer METRICS_OFF = 1 ;
const integer METRICS_ON = 2 ;
}

Предопределенные константы

CairoHintMetrics Node Types

CairoHintMetrics::METRICS_DEFAULT

Hint metrics in the default manner for the font backend and target device

CairoHintMetrics::METRICS_OFF

Do not hint font metrics

CairoHintMetrics::METRICS_ON

Hint font metrics

CairoFilter
CairoHintStyle
Cairo


The CairoHintStyle class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Specifies the type of hinting to do on font outlines. Hinting is the process of fitting outlines to the pixel grid in order to improve the appearance of the result. Since hinting outlines involves distorting them, it also reduces the faithfulness to the original outline shapes. Not all of the outline hinting styles are supported by all font backends.

Обзор классов

CairoHintStyle {
/* Константы */
const integer STYLE_DEFAULT = 0 ;
const integer STYLE_NONE = 1 ;
const integer STYLE_SLIGHT = 2 ;
const integer STYLE_MEDIUM = 3 ;
const integer STYLE_FULL = 4 ;
}

Предопределенные константы

CairoHintStyle Node Types

CairoHintStyle::STYLE_DEFAULT

Use the default hint style for font backend and target device

CairoHintStyle::STYLE_NONE

Do not hint outlines

CairoHintStyle::STYLE_SLIGHT

Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes.

CairoHintStyle::STYLE_MEDIUM

Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast

CairoHintStyle::STYLE_FULL

Hint outlines to maximize contrast

CairoHintMetrics
CairoLineCap
Cairo


The CairoLineCap class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Specifies how to render the endpoints of the path when stroking.

The default line cap style is CairoLineCap::BUTT.

Обзор классов

CairoLineCap {
/* Константы */
const integer BUTT = 0 ;
const integer ROUND = 1 ;
const integer SQUARE = 2 ;
}

Предопределенные константы

CairoLineCap Node Types

CairoLineCap::BUTT

Start(stop) the line exactly at the start(end) point

CairoLineCap::ROUND

Use a round ending, the center of the circle is the end point

CairoLineCap::SQUARE

Use squared ending, the center of the square is the end point

CairoHintStyle
CairoLineJoin
Cairo


Класс CairoLineJoin

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoLineJoin {
/* Константы */
const integer MITER = 0 ;
const integer ROUND = 1 ;
const integer BEVEL = 2 ;
}

Предопределенные константы

Типы узлов CairoLineJoin

CairoLineJoin::MITER

Здесь будет описание...

CairoLineJoin::ROUND

Здесь будет описание...

CairoLineJoin::BEVEL

Здесь будет описание...

CairoLineCap
CairoMatrix
Cairo


The CairoMatrix class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Matrices are used throughout cairo to convert between different coordinate spaces.

Обзор классов

CairoMatrix {
/* Методы */
__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )
public static void initIdentity ( void )
public static void initRotate ( float $radians )
public static void initScale ( float $sx , float $sy )
public static void initTranslate ( float $tx , float $ty )
public void invert ( void )
public static CairoMatrix multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )
public void rotate ( string $sx , string $sy )
public void scale ( float $sx , float $sy )
public array transformDistance ( string $dx , string $dy )
public array transformPoint ( string $dx , string $dy )
public void translate ( string $tx , string $ty )
}

Содержание

  • CairoMatrix::__construct — Creates a new CairoMatrix object
  • CairoMatrix::initIdentity — Creates a new identity matrix
  • CairoMatrix::initRotate — Creates a new rotated matrix
  • CairoMatrix::initScale — Creates a new scaling matrix
  • CairoMatrix::initTranslate — Creates a new translation matrix
  • CairoMatrix::invert — The invert purpose
  • CairoMatrix::multiply — The multiply purpose
  • CairoMatrix::rotate — The rotate purpose
  • CairoMatrix::scale — Applies scaling to a matrix
  • CairoMatrix::transformDistance — The transformDistance purpose
  • CairoMatrix::transformPoint — The transformPoint purpose
  • CairoMatrix::translate — The translate purpose
CairoLineJoin
CairoMatrix::__construct
Cairo


Creates a new CairoMatrix object

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix
PHP Manual

CairoMatrix::__construct

cairo_matrix_init

(PECL cairo >= 0.1.0)

CairoMatrix::__construct -- cairo_matrix_init — Creates a new CairoMatrix object

Описание

Object oriented style (method):

CairoMatrix::__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Procedural style:

object cairo_matrix_init ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Returns new CairoMatrix object. Matrices are used throughout cairo to convert between different coordinate spaces. Sets matrix to be the affine transformation given by xx, yx, xy, yy, x0, y0. The transformation is given by: x_new = xx * x + xy * y + x0; and y_new = yx * x + yy * y + y0;

Список параметров

xx

xx component of the affine transformation

yx

yx component of the affine transformation

xy

xy component of the affine transformation

yy

yy component of the affine transformation

x0

X translation component of the affine transformation

y0

Y translation component of the affine transformation

Возвращаемые значения

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Примеры

Пример #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Пример #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Смотрите также

  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix


Creates a new identity matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix
PHP Manual

CairoMatrix::initIdentity

cairo_matrix_init_identity

(PECL cairo >= 0.1.0)

CairoMatrix::initIdentity -- cairo_matrix_init_identity — Creates a new identity matrix

Описание

Object oriented style (method):

public static void CairoMatrix::initIdentity ( void )

Procedural style:

object cairo_matrix_init_identity ( void )

Creates a new matrix that is an identity transformation. An identity transformation means the source data is copied into the destination data without change

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Примеры

Пример #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initIdentity();
?>

Пример #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_identity();
?>

Смотрите также

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix


Creates a new rotated matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix
PHP Manual

CairoMatrix::initRotate

cairo_matrix_init_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::initRotate -- cairo_matrix_init_rotate — Creates a new rotated matrix

Описание

Object oriented style (method):

public static void CairoMatrix::initRotate ( float $radians )

Procedural style:

object cairo_matrix_init_rotate ( float $radians )

Creats a new matrix to a transformation that rotates by radians provided

Список параметров

radians

angle of rotation, in radians. The direction of rotation is defined such that positive angles rotate in the direction from the positive X axis toward the positive Y axis. With the default axis orientation of cairo, positive angles rotate in a clockwise direction.

Возвращаемые значения

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Примеры

Пример #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initRotate(0.3);
?>

Пример #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_rotate(0.3);
?>

Смотрите также

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix


Creates a new scaling matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix
PHP Manual

CairoMatrix::initScale

cairo_matrix_init_scale

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

CairoMatrix::initScale -- cairo_matrix_init_scale -- cairo_matrix_create_scale — Creates a new scaling matrix

Описание

Object oriented style (method):

public static void CairoMatrix::initScale ( float $sx , float $sy )

Procedural style:

object cairo_matrix_init_scale ( float $sx , float $sy )

Creates a new matrix to a transformation that scales by sx and sy in the X and Y dimensions, respectively.

Список параметров

sx

scale factor in the X direction

sy

scale factor in the Y direction

Возвращаемые значения

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Примеры

Пример #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initScale(1.0, 2.0);
?>

Пример #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_scale(1.0, 2.0);
?>

Смотрите также

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix


Creates a new translation matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix
PHP Manual

CairoMatrix::initTranslate

cairo_matrix_init_translate

(PECL cairo >= 0.1.0)

CairoMatrix::initTranslate -- cairo_matrix_init_translate — Creates a new translation matrix

Описание

Object oriented style (method):

public static void CairoMatrix::initTranslate ( float $tx , float $ty )

Procedural style:

object cairo_matrix_init_translate ( float $tx , float $ty )

Creates a new matrix to a transformation that translates by tx and ty in the X and Y dimensions, respectively.

Список параметров

tx

amount to translate in the X direction

ty

amount to translate in the Y direction

Возвращаемые значения

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Примеры

Пример #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initTranslate(1.0, 2.0);
?>

Пример #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_translate(1.0, 2.0);
?>

Смотрите также

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix


The invert purpose

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix
PHP Manual

CairoMatrix::invert

(PECL cairo >= 0.1.0)

CairoMatrix::invert — The invert purpose

Описание

public void CairoMatrix::invert ( void )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

Примеры

Пример #1 CairoMatrix::invert() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix


The multiply purpose

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix
PHP Manual

CairoMatrix::multiply

(PECL cairo >= 0.1.0)

CairoMatrix::multiply — The multiply purpose

Описание

public static CairoMatrix CairoMatrix::multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

matrix1

Description...

matrix2

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoMatrix::multiply() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix


The rotate purpose

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix
PHP Manual

CairoMatrix::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::rotate -- cairo_rotate — The rotate purpose

Описание

Object oriented style (method):

public void CairoMatrix::rotate ( string $sx , string $sy )

Procedural style:

void cairo_rotate ( CairoContext $context , string $angle )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

angle

Description...

sx

Description...

sy

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix


Applies scaling to a matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix
PHP Manual

CairoMatrix::scale

cairo_matrix_scale

(PECL cairo >= 0.1.0)

CairoMatrix::scale -- cairo_matrix_scale — Applies scaling to a matrix

Описание

Object oriented style (method):

public void CairoMatrix::scale ( float $sx , float $sy )

Procedural style:

void cairo_matrix_scale ( CairoContext $context , float $sx , float $sy )

Applies scaling by sx, sy to the transformation in the matrix. The effect of the new transformation is to first scale the coordinates by sx and sy, then apply the original transformation to the coordinates.

Список параметров

matrix

Procedural only - CairoMatrix instance

sx

scale factor in the X direction

sy

scale factor in the Y direction

Примеры

Пример #1 Object oriented style

<?php
/* Apply scaling to a matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
$matrix->scale(0.2, 2.0);
?>

Пример #2 Procedural style

<?php
/* Apply scaling to a matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
cairo_matrix_scale($matrix, 0.2, 2.0);
?>

Смотрите также

  • CairoMatrix::initScale() - Creates a new scaling matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix


The transformDistance purpose

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix
PHP Manual

CairoMatrix::transformDistance

(PECL cairo >= 0.1.0)

CairoMatrix::transformDistance — The transformDistance purpose

Описание

public array CairoMatrix::transformDistance ( string $dx , string $dy )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

dx

Description...

dy

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoMatrix::transformDistance() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix


The transformPoint purpose

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix
PHP Manual

CairoMatrix::transformPoint

(PECL cairo >= 0.1.0)

CairoMatrix::transformPoint — The transformPoint purpose

Описание

public array CairoMatrix::transformPoint ( string $dx , string $dy )

The method description goes here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

dx

Description...

dy

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 CairoMatrix::transformPoint() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix


The translate purpose

CairoMatrix::transformPoint
CairoOperator
CairoMatrix
PHP Manual

CairoMatrix::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoMatrix::translate -- cairo_translate — The translate purpose

Описание

Object oriented style (method):

public void CairoMatrix::translate ( string $tx , string $ty )

Procedural style:

void cairo_translate ( CairoContext $context , string $x , string $y )

Description here.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

context

Description...

x

Description...

y

Description...

tx

Description...

ty

Description...

Возвращаемые значения

Description...

Примеры

Пример #1 Object oriented style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Пример #2 Procedural style

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

CairoMatrix::transformPoint
CairoOperator
CairoMatrix


The CairoOperator class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This is used to set the compositing operator for all cairo drawing operations.

The default operator is CairoOperator::OVER

The operators marked as unbounded modify their destination even outside of the mask layer (that is, their effect is not bound by the mask layer). However, their effect can still be limited by way of clipping.

To keep things simple, the operator descriptions here document the behavior for when both source and destination are either fully transparent or fully opaque. The actual implementation works for translucent layers too. For a more detailed explanation of the effects of each operator, including the mathematical definitions, see http://cairographics.org/operators/.

Обзор классов

CairoOperator {
/* Константы */
const integer CLEAR = 0 ;
const integer SOURCE = 1 ;
const integer OVER = 2 ;
const integer IN = 3 ;
const integer OUT = 4 ;
const integer ATOP = 5 ;
const integer DEST = 6 ;
const integer DEST_OVER = 7 ;
const integer DEST_IN = 8 ;
const integer DEST_OUT = 9 ;
const integer DEST_ATOP = 10 ;
const integer XOR = 11 ;
const integer ADD = 12 ;
const integer SATURATE = 13 ;
}

Предопределенные константы

CairoOperator Node Types

CairoOperator::CLEAR

Clear destination layer (bounded)

CairoOperator::SOURCE

Replace destination layer (bounded)

CairoOperator::OVER

Draw source layer on top of destination layer (bounded)

CairoOperator::IN

Draw source where there was destination content (unbounded)

CairoOperator::OUT

Draw source where there was no destination content (unbounded)

CairoOperator::ATOP

Draw source on top of destination content and only there

CairoOperator::DEST

Ignore the source

CairoOperator::DEST_OVER

Draw destination on top of source

CairoOperator::DEST_IN

Leave destination only where there was source content (unbounded)

CairoOperator::DEST_OUT

Leave destination only where there was no source content

CairoOperator::DEST_ATOP

Leave destination on top of source content and only there (unbounded)

CairoOperator::XOR

Source and destination are shown where there is only one of them

CairoOperator::ADD

Source and destination layers are accumulated

CairoOperator::SATURATE

Like CairoOperator::OVER, but assuming source and dest are disjoint geometries

CairoMatrix::translate
CairoPath
Cairo


The CairoPath class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Description of the class.

Note: CairoPath class cannot be instantiated directly, doing so will result in Fatal Error if used or passed

Обзор классов

CairoPath {
}
CairoOperator
CairoPsLevel
Cairo


Класс CairoPsLevel

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoPsLevel {
/* Константы */
const integer LEVEL_2 = 0 ;
const integer LEVEL_3 = 1 ;
}

Предопределенные константы

Типы узлов CairoPsLevel

CairoPsLevel::LEVEL_2

Здесь будет описание...

CairoPsLevel::LEVEL_3

Здесь будет описание...

CairoPath
CairoSubpixelOrder
Cairo


Класс CairoSubpixelOrder

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoSubpixelOrder {
/* Константы */
const integer ORDER_DEFAULT = 0 ;
const integer ORDER_RGB = 1 ;
const integer ORDER_BGR = 2 ;
const integer ORDER_VRGB = 3 ;
const integer ORDER_VBGR = 4 ;
}

Предопределенные константы

Типы узлов CairoSubpixelOrder

CairoSubpixelOrder::ORDER_DEFAULT

Здесь будет описание...

CairoSubpixelOrder::ORDER_RGB

Здесь будет описание...

CairoSubpixelOrder::ORDER_BGR

Здесь будет описание...

CairoSubpixelOrder::ORDER_VRGB

Здесь будет описание...

CairoSubpixelOrder::ORDER_VBGR

Здесь будет описание...

CairoPsLevel
CairoSvgVersion
Cairo


Класс CairoSvgVersion

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

CairoSvgVersion {
/* Константы */
const integer VERSION_1_1 = 0 ;
const integer VERSION_1_2 = 1 ;
}

Предопределенные константы

Типы узлов CairoSvgVersion

CairoSvgVersion::VERSION_1_1

Здесь будет описание...

CairoSvgVersion::VERSION_1_2

Здесь будет описание...

CairoSubpixelOrder
Exif
Cairo


Exchangeable image information

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Exif Функции
    • exif_imagetype — Determine the type of an image
    • exif_read_data — Reads the EXIF headers from JPEG or TIFF
    • exif_tagname — Get the header name for an index
    • exif_thumbnail — Retrieve the embedded thumbnail of a TIFF or JPEG image
    • read_exif_data — Псевдоним exif_read_data
CairoSvgVersion
Введение
Обработка и генерация изображений


Введение

With the exif extension you are able to work with image meta data. For example, you may use exif functions to read meta data of pictures taken from digital cameras by working with information stored in the headers of the JPEG and TIFF images.

Exif
Установка и настройка
Exif


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Exif


Требования

Ваш PHP должен быть скомпилирован с опцией --enable-exif. PHP не требует никаких дополнительных библиотек для модуля exif. Пользователям Windows необходимо также иметь включенным расширение mbstring.

Установка и настройка
Установка
Установка и настройка


Установка

To enable exif-support configure PHP with --enable-exif

Windows users must enable both the php_mbstring.dll and php_exif.dll DLL's in php.ini. The php_mbstring.dll DLL must be loaded before the php_exif.dll DLL so adjust your php.ini accordingly.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Exif поддерживает автоматическое преобразование кодировок символов Unicode и JIS пользовательских комментариев, когда модуль mbstring доступен. При этом комментарий сначала декодируется с использованием указанного набора символов. Затем результат кодируется в другом наборе символов, который должен совпадать с вашим HTTP-выводом.

Опции конфигурации Exif
Имя | По умолчанию | Место изменения | Список изменений
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

exif.encode_unicode string

exif.encode_unicode определяет набор символов UNICODE при обработке пользовательских комментариев. По умолчанию это ISO-8859-15, который должен работать для большинства не азиатских стран. Эта установка может быть пустой или обязана быть кодировкой, поддерживаемой mbstring. Если она пустая, используется текущая внутренняя кодировка mbstring.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola определяет внутреннюю кодировку символов изображения для Unicode-кодированных пользовательских комментариев, если изображение имеет байтовый порядок motorola (big-endian). Эта установка не может быть пустой, но вы можете указать список кодировок, поддерживаемых mbstring. По умолчанию UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel определяет внутреннюю кодировку символов изображения для Unicode-кодированных пользовательских комментариев, если изображение имеет байтовый порядок intel (little-endian). Эта установка не может быть пустой, но вы можете указать список кодировок, поддерживаемых mbstring. По умолчанию UCS-2LE.

exif.encode_jis string

exif.encode_jis определяет набор символов JIS для обработки пользовательских комментариев. По умолчанию - пустое значение, которое заставляет функции использовать текущую внутреннюю кодировку mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola определяет внутреннюю кодировку символов изображения для JIS-кодированных пользовательских комментариев, если изображение имеет байтовый порядок motorola (big-endian). Эта установка не может быть пустой, но вы можете указать список кодировок, поддерживаемых mbstring. По умолчанию JIS.

exif.decode_jis_intel string

exif.decode_jis_intel определяет внутреннюю кодировку символов изображения для JIS-кодированных пользовательских комментариев, если изображение имеет байтовый порядок intel (little-endian). Эта установка не может быть пустой, но вы можете указать список кодировок, поддерживаемых mbstring. По умолчаниюs JIS.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

EXIF_USE_MBSTRING (integer)

Функция exif_imagetype() отображает связанные встроенные константы.

Типы ресурсов
Exif Функции
Exif


Exif Функции

Содержание

  • exif_imagetype — Determine the type of an image
  • exif_read_data — Reads the EXIF headers from JPEG or TIFF
  • exif_tagname — Get the header name for an index
  • exif_thumbnail — Retrieve the embedded thumbnail of a TIFF or JPEG image
  • read_exif_data — Псевдоним exif_read_data
Предопределенные константы
exif_imagetype
Exif


Determine the type of an image

Exif Функции
exif_read_data
Exif Функции
PHP Manual

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetype — Determine the type of an image

Описание

int exif_imagetype ( string $filename )

exif_imagetype() reads the first bytes of an image and checks its signature.

exif_imagetype() can be used to avoid calls to other exif functions with unsupported file types or in conjunction with $_SERVER['HTTP_ACCEPT'] to check whether or not the viewer is able to see a specific image in the browser.

Список параметров

filename
The image being checked.

Возвращаемые значения

When a correct signature is found, the appropriate constant value will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but exif_imagetype() is much faster.

Список изменений

Версия | Описание
5.3.0 | Added icon support.
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP
4.3.0 | Support for SWC

Предопределенные константы

The following constants are defined, and represent possible exif_imagetype() return values:

Imagetype Constants
Value | Constant
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel byte order)
8 | IMAGETYPE_TIFF_MM (motorola byte order)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM
17 | IMAGETYPE_ICO

Примеры

Пример #1 exif_imagetype() example

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

Смотрите также

  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • getimagesize() - Get the size of an image

Exif Функции
exif_read_data
Exif Функции


Reads the EXIF headers from JPEG or TIFF

exif_imagetype
exif_tagname
Exif Функции
PHP Manual

exif_read_data

(PHP 4 >= 4.2.0, PHP 5)

exif_read_data — Reads the EXIF headers from JPEG or TIFF

Описание

array exif_read_data ( string $filename [, string $sections = NULL [, bool $arrays = false [, bool $thumbnail = false ]]] )

exif_read_data() reads the EXIF headers from a JPEG or TIFF image file. This way you can read meta data generated by digital cameras.

EXIF headers tend to be present in JPEG/TIFF images generated by digital cameras, but unfortunately each digital camera maker has a different idea of how to actually tag their images, so you can't always rely on a specific Exif header being present.

Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.

When an Exif header contains a Copyright note, this itself can contain two values. As the solution is inconsistent in the Exif 2.10 standard, the COMPUTED section will return both entries Copyright.Photographer and Copyright.Editor while the IFD0 sections contains the byte array with the NULL character that splits both entries. Or just the first entry if the datatype was wrong (normal behaviour of Exif). The COMPUTED will also contain the entry Copyright which is either the original copyright string, or a comma separated list of the photo and editor copyright.

The tag UserComment has the same problem as the Copyright tag. It can store two values. First the encoding used, and second the value itself. If so the IFD section only contains the encoding or a byte array. The COMPUTED section will store both in the entries UserCommentEncoding and UserComment. The entry UserComment is available in both cases so it should be used in preference to the value in IFD0 section.

exif_read_data() also validates EXIF data tags according to the EXIF specification (» http://exif.org/Exif2-2.PDF, page 20).

Замечание:

Windows Me/XP can both wipe the Exif headers when connecting to a camera.

Список параметров

filename

The name of the image file being read. This cannot be an URL.

sections

Is a comma separated list of sections that need to be present in file to produce a result array. If none of the requested sections could be found the return value is FALSE.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor, and more if available. Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.
ANY_TAG | Any information that has a Tag e.g. IFD0, EXIF, ...
IFD0 | All tagged data of IFD0. In normal imagefiles this contains image size and so forth.
THUMBNAIL | A file is supposed to contain a thumbnail if it has a second IFD. All tagged information about the embedded thumbnail is stored in this section.
COMMENT | Comment headers of JPEG images.
EXIF | The EXIF section is a sub section of IFD0. It contains more detailed information about an image. Most of these entries are digital camera related.

arrays

Specifies whether or not each section becomes an array. The sections COMPUTED, THUMBNAIL, and COMMENT always become arrays as they may contain values whose names conflict with other sections.

thumbnail

When set to TRUE the thumbnail itself is read. Otherwise, only the tagged data is read.

Возвращаемые значения

It returns an associative array where the array indexes are the header names and the array values are the values associated with those headers. If no data can be returned, exif_read_data() will return FALSE.

Список изменений

Версия | Описание
4.3.0 | Can read all embedded IFD data including arrays (returned as such). Also the size of an embedded thumbnail is returned in a THUMBNAIL subarray, and can return thumbnails in TIFF format. Also, there is no longer a maximum length for returned values (not until the memory limit has been reached)
4.3.0 | If PHP has mbstring support, the user comment can automatically change encoding. Also, if the user comment uses Unicode or JIS encoding this encoding will automatically be changed according to the exif ini settings in php.ini
4.3.0 | If the image contains any IFD0 data then COMPUTED contains the entry ByteOrderMotorola which is 0 for little-endian (intel) and 1 for big-endian (motorola) byte order. Also, COMPUTED and UserComment no longer only contain the first copyright entry if the datatype was wrong.

Примеры

Пример #1 exif_read_data() example

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

The first call fails because the image has no header information.

Результатом выполнения данного примера будет что-то подобное:

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Смотрите также

  • exif_thumbnail() - Retrieve the embedded thumbnail of a TIFF or JPEG image
  • getimagesize() - Get the size of an image

exif_imagetype
exif_tagname
Exif Функции


Get the header name for an index

exif_read_data
exif_thumbnail
Exif Функции
PHP Manual

exif_tagname

(PHP 4 >= 4.2.0, PHP 5)

exif_tagname — Get the header name for an index

Описание

string exif_tagname ( int $index )

Список параметров

index

The Tag ID for which a Tag Name will be looked up.

Возвращаемые значения

Returns the header name, or FALSE if index is not a defined EXIF tag id.

Примеры

Пример #1 exif_tagname() example

<?php
echo "256: ".exif_tagname(256).PHP_EOL;
echo "257: ".exif_tagname(257).PHP_EOL;
?>

Результат выполнения данного примера:

256: ImageWidth
257: ImageLength

Смотрите также

  • exif_imagetype() - Determine the type of an image
  • » EXIF Specification
  • » EXIF Tags

exif_read_data
exif_thumbnail
Exif Функции


Retrieve the embedded thumbnail of a TIFF or JPEG image

exif_tagname
read_exif_data
Exif Функции
PHP Manual

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5)

exif_thumbnail — Retrieve the embedded thumbnail of a TIFF or JPEG image

Описание

string exif_thumbnail ( string $filename [, int &$width [, int &$height [, int &$imagetype ]]] )

exif_thumbnail() reads the embedded thumbnail of a TIFF or JPEG image.

If you want to deliver thumbnails through this function, you should send the mimetype information using the header() function.

It is possible that exif_thumbnail() cannot create an image but can determine its size. In this case, the return value is FALSE but width and height are set.

Список параметров

filename

The name of the image file being read. This image contains an embedded thumbnail.

width

The return width of the returned thumbnail.

height

The returned height of the returned thumbnail.

imagetype

The returned image type of the returned thumbnail. This is either TIFF or JPEG.

Возвращаемые значения

Returns the embedded thumbnail, or FALSE if the image contains no thumbnail.

Список изменений

Версия | Описание
4.3.0 | The optional parameters width, height, and imagetype all became available.
4.3.0 | May return thumbnails in the TIFF format.

Примеры

Пример #1 exif_thumbnail() example

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // no thumbnail available, handle the error here
    echo 'No thumbnail available';
}
?>

Смотрите также

  • exif_read_data() - Reads the EXIF headers from JPEG or TIFF
  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

exif_tagname
read_exif_data
Exif Функции


Псевдоним exif_read_data

exif_thumbnail
GD
Exif Функции
PHP Manual

read_exif_data

(PHP 4 >= 4.0.1, PHP 5)

read_exif_data — Псевдоним exif_read_data()

Описание

Эта функция является псевдонимом: exif_read_data().

exif_thumbnail
GD
Exif Функции


Обработка изображений и GD

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • PNG creation with PHP
    • Adding watermarks to images using alpha channels
    • Using imagecopymerge to create a translucent watermark
  • GD и функции для работы с изображениями Функции
    • gd_info — Retrieve information about the currently installed GD library
    • getimagesize — Get the size of an image
    • image_type_to_extension — Get file extension for image type
    • image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • image2wbmp — Выводит изображение в браузер или пишет в файл
    • imagealphablending — Set the blending mode for an image
    • imageantialias — Should antialias functions be used or not
    • imagearc — Draws an arc
    • imagechar — Draw a character horizontally
    • imagecharup — Draw a character vertically
    • imagecolorallocate — Allocate a color for an image
    • imagecolorallocatealpha — Allocate a color for an image
    • imagecolorat — Get the index of the color of a pixel
    • imagecolorclosest — Get the index of the closest color to the specified color
    • imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha
    • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
    • imagecolordeallocate — De-allocate a color for an image
    • imagecolorexact — Get the index of the specified color
    • imagecolorexactalpha — Get the index of the specified color + alpha
    • imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version
    • imagecolorresolve — Get the index of the specified color or its closest possible alternative
    • imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative
    • imagecolorset — Set the color for the specified palette index
    • imagecolorsforindex — Get the colors for an index
    • imagecolorstotal — Find out the number of colors in an image's palette
    • imagecolortransparent — Define a color as transparent
    • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
    • imagecopy — Copy part of an image
    • imagecopymerge — Copy and merge part of an image
    • imagecopymergegray — Copy and merge part of an image with gray scale
    • imagecopyresampled — Copy and resize part of an image with resampling
    • imagecopyresized — Copy and resize part of an image
    • imagecreate — Create a new palette based image
    • imagecreatefromgd2 — Create a new image from GD2 file or URL
    • imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL
    • imagecreatefromgd — Create a new image from GD file or URL
    • imagecreatefromgif — Создает новое изображение из файла или URL
    • imagecreatefromjpeg — Создает новое изображение из файла или URL
    • imagecreatefrompng — Создает новое изображение из файла или URL
    • imagecreatefromstring — Create a new image from the image stream in the string
    • imagecreatefromwbmp — Создает новое изображение из файла или URL
    • imagecreatefromxbm — Создает новое изображение из файла или URL
    • imagecreatefromxpm — Создает новое изображение из файла или URL
    • imagecreatetruecolor — Create a new true color image
    • imagedashedline — Draw a dashed line
    • imagedestroy — Destroy an image
    • imageellipse — Draw an ellipse
    • imagefill — Flood fill
    • imagefilledarc — Draw a partial arc and fill it
    • imagefilledellipse — Draw a filled ellipse
    • imagefilledpolygon — Draw a filled polygon
    • imagefilledrectangle — Draw a filled rectangle
    • imagefilltoborder — Flood fill to specific color
    • imagefilter — Applies a filter to an image
    • imagefontheight — Get font height
    • imagefontwidth — Get font width
    • imageftbbox — Give the bounding box of a text using fonts via freetype2
    • imagefttext — Write text to the image using fonts using FreeType 2
    • imagegammacorrect — Apply a gamma correction to a GD image
    • imagegd2 — Output GD2 image to browser or file
    • imagegd — Вывод GD-изображения в браузер или в файл
    • imagegif — Выводит изображение в браузер или пишет в файл
    • imagegrabscreen — Captures the whole screen
    • imagegrabwindow — Captures a window
    • imageinterlace — Enable or disable interlace
    • imageistruecolor — Finds whether an image is a truecolor image
    • imagejpeg — Выводит изображение в браузер или пишет в файл
    • imagelayereffect — Set the alpha blending flag to use the bundled libgd layering effects
    • imageline — Draw a line
    • imageloadfont — Load a new font
    • imagepalettecopy — Copy the palette from one image to another
    • imagepng — Output a PNG image to either the browser or a file
    • imagepolygon — Draws a polygon
    • imagepsbbox — Give the bounding box of a text rectangle using PostScript Type1 fonts
    • imagepsencodefont — Change the character encoding vector of a font
    • imagepsextendfont — Extend or condense a font
    • imagepsfreefont — Free memory used by a PostScript Type 1 font
    • imagepsloadfont — Load a PostScript Type 1 font from file
    • imagepsslantfont — Slant a font
    • imagepstext — Draws a text over an image using PostScript Type1 fonts
    • imagerectangle — Draw a rectangle
    • imagerotate — Поворот изображения с заданным углом
    • imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
    • imagesetbrush — Set the brush image for line drawing
    • imagesetpixel — Set a single pixel
    • imagesetstyle — Set the style for line drawing
    • imagesetthickness — Set the thickness for line drawing
    • imagesettile — Set the tile image for filling
    • imagestring — Draw a string horizontally
    • imagestringup — Draw a string vertically
    • imagesx — Get image width
    • imagesy — Get image height
    • imagetruecolortopalette — Convert a true color image to a palette image
    • imagettfbbox — Give the bounding box of a text using TrueType fonts
    • imagettftext — Write text to the image using TrueType fonts
    • imagetypes — Return the image types supported by this PHP build
    • imagewbmp — Выводит изображение в браузер или пишет в файл
    • imagexbm — Output XBM image to browser or file
    • iptcembed — Embeds binary IPTC data into a JPEG image
    • iptcparse — Parse a binary IPTC block into single tags.
    • jpeg2wbmp — Конвертирует изображение из формата JPEG в WBMP
    • png2wbmp — Convert PNG image file to WBMP image file
read_exif_data
Введение
Обработка и генерация изображений


Введение

PHP не ограничен созданием только HTML страничек. Он так же позволяет создавать и работать с файлами изображений в различных форматах включая GIF, PNG, JPEG, WBMP, и XPM. Что более удобно, PHP позволяет выводить изображение в потоке непосредственно в браузер. Для этого необходимо скомпилировать PHP с графической библиотекой GD, содержащей функции для работы с изображениями. Для работы с GD могут потребоваться другие библиотеки (в зависимости от формата изображений, с которыми возникла необходимость работать).

Существует стандартная функция PHP для получения размера изображения следующих форматов изображений: JPEG, GIF, PNG, SWF, TIFF и JPEG2000.

С модулем EXIF доступна работа с информацией, хранящейся в заголовках JPEG и TIFF изображений. Таким образом можно читать мета-данные, сгенерированные цифровыми фотоаппаратами. Модуль EXIF не требуется библиотеке GD.

Замечание: Прочитайте раздел требований, чтобы узнать, как расширить возможности чтения, записи и модификации изображений. Чтобы иметь возможность читать мета-данные изображений, взятых с цифровых фотоаппаратов нужно, уже упомянутый модуль EXIF.

Замечание: Функция getimagesize() не требует наличия библиотеки GD.

GD
Установка и настройка
GD


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GD


Требования

If you have the GD library (available at » http://www.libgd.org/) you will also be able to create and manipulate images.

The format of images you are able to manipulate depend on the version of GD you install, and any other libraries GD might need to access those image formats. Versions of GD older than gd-1.6 support GIF format images, and do not support PNG, where versions greater than gd-1.6 and less than gd-2.0.28 support PNG, not GIF. GIF support was re-enabled in gd-2.0.28.

Замечание: Since PHP 4.3 there is a bundled version of the GD lib. This bundled version has some additional features like alpha blending, and should be used in preference to the external library since its codebase is better maintained and more stable.

You may wish to enhance GD to handle more image formats.

Supported image formats
Image format | Library to download | Notes
gif |  | Only supported in GD versions older than gd-1.6 and newer than gd-2.0.28. Read-only GIF support is available with PHP 4.3.0 and the bundled GD-library. Write support is available since PHP 4.3.9 and PHP 5.0.1.
jpeg | » http://pecl2.php.net/downloads/php-windows-builds/source/ | When building the jpeg library (prior to building PHP) you must use the --enable-shared option in the configure step. If you do not, you will receive an error saying libjpeg.(a|so) not found when you get to the configure step of building PHP.
png | » http://www.libpng.org/pub/png/libpng.html | Only supported in GD versions greater than gd-1.6.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | It's likely you have this library already available, if your system has an installed X-Environment.

You may wish to enhance GD to deal with different fonts. The following font libraries are supported:

Supported font libraries
Font library | Download | Notes
FreeType 1.x | » http://www.freetype.org/ | Эта устаревшая возможность будет обязательно удалена в будущем.
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Support for Postscript Type 1 fonts.

Установка и настройка
Установка
Установка и настройка


Установка

Чтобы включить поддержку GD сконфигурируйте PHP с опцией --with-gd[=DIR] , где DIR -- это директория установки GD. Чтобы использовать рекомендованную разработчиками встроенную версию библиотеки GD (впервые добавленную в дистрибутив в версии PHP 4.3.0), используйте опцию конфигурации --with-gd . Библиотека GD требует наличие библиотек libpng и libjpeg для компиляции.

В Windows-ситемах, вы должны включить модуль GD2 DLL php_gd2.dll в php.ini. Старый модуль GD1 DLL php_gd.dll был удален в версии PHP 4.3.2. Функции для работы с полноцветными изображениями, такие как imagecreatetruecolor(), требуют наличие GD2.

Повысить возможности библиотеки GD для работы с большим количеством форматов изображений можно, используя опцию --with-XXXX во время конфигурации PHP.

Поддерживаемые форматы изображений
Формат изображения | Опция при конфигурировании
jpeg | Чтобы включить поддержку jpeg добавьте --with-jpeg-dir=DIR . Jpeg 6b, 7 или 8 поддерживаются.
png | Чтобы включить поддержку png добавьте --with-png-dir=DIR . Внимание, libpng требует наличие библиотеки zlib, поэтому добавьте --with-zlib-dir[=DIR] при конфигурации.
xpm | Чтобы включить поддержку xpm добавьте --with-xpm-dir=DIR . Если во время конфигурации не удается найти необходимую библиотеку, можно указать путь к библиотеке X11.

Замечание: При компиляции PHP с libpng, вы должны использовать ту же версию libpng, с которой была собрана библиотека GD.

Повысить возможности библиотеки GD для работы с различными шрифтами можно, используя опцию --with-XXXX во время конфигурации PHP.

Поддерживаемые библиотеки шрифтов
Библиотека шрифтов | Опция при конфигурировании
FreeType 1.x | Чтобы включить поддержку FreeType 1.x добавьте --with-ttf[=DIR] .
FreeType 2 | Чтобы включить поддержку FreeType 2 добавьте --with-freetype-dir=DIR .
T1lib | Чтобы включить поддержку T1lib (шрифты Postscript Type 1) добавьте --with-t1lib[=DIR] .
Native TrueType string function | Чтобы включить поддержку Native TrueType string function добавьте --enable-gd-native-ttf .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Image Опции настройки
Имя | По умолчанию | Меняемо | Changelog
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Available since PHP 5.1.3.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

gd.jpeg_ignore_warning bool

Ignore warnings created by jpeg2wbmp() and imagecreatefromjpeg()

See also the exif configuration directives.

Внимание

Image functions are very memory intensive. Be sure to set memory_limit high enough.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines two resource types: an image identifier and a font identifier.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

GD_VERSION (string)
The GD version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MAJOR_VERSION (integer)
The GD major version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MINOR_VERSION (integer)
The GD minor version PHP was compiled against. (Available as of PHP 5.2.4)
GD_RELEASE_VERSION (integer)
The GD release version PHP was compiled against. (Available as of PHP 5.2.4)
GD_EXTRA_VERSION (string)
The GD "extra" version (beta/rc..) PHP was compiled against. (Available as of PHP 5.2.4)
GD_BUNDLED (integer)
When the bundled version of GD is used this is 1 otherwise its set to 0.
IMG_GIF (integer)
Used as a return value by imagetypes()
IMG_JPG (integer)
Used as a return value by imagetypes()
IMG_JPEG (integer)
Used as a return value by imagetypes()

Замечание:

This constant has the same value as IMG_JPG

IMG_PNG (integer)
Used as a return value by imagetypes()
IMG_WBMP (integer)
Used as a return value by imagetypes()
IMG_XPM (integer)
Used as a return value by imagetypes()
IMG_COLOR_TILED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_STYLED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_BRUSHED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_STYLEDBRUSHED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_TRANSPARENT (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_ARC_ROUNDED (integer)
A style constant used by the imagefilledarc() function.

Замечание:

This constant has the same value as IMG_ARC_PIE

IMG_ARC_PIE (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_CHORD (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_NOFILL (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_EDGED (integer)
A style constant used by the imagefilledarc() function.
IMG_GD2_RAW (integer)
A type constant used by the imagegd2() function.
IMG_GD2_COMPRESSED (integer)
A type constant used by the imagegd2() function.
IMG_EFFECT_REPLACE (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_ALPHABLEND (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_NORMAL (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_OVERLAY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_FILTER_NEGATE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GRAYSCALE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_BRIGHTNESS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_CONTRAST (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_COLORIZE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EDGEDETECT (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GAUSSIAN_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SELECTIVE_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EMBOSS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_MEAN_REMOVAL (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SMOOTH (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_PIXELATE (integer)
Special GD filter used by the imagefilter() function. (Available as of PHP 5.3.0)
IMAGETYPE_GIF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG2000 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PNG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PSD (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_BMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_WBMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_XBM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_II (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_MM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_IFF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JB2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JP2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPX (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_ICO (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Available as of PHP 5.3.0)
PNG_NO_FILTER (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_NONE (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_SUB (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_UP (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_AVG (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_PAETH (integer)
A special PNG filter, used by the imagepng() function.
PNG_ALL_FILTERS (integer)
A special PNG filter, used by the imagepng() function.
Типы ресурсов
Примеры
GD


Примеры

Содержание

  • PNG creation with PHP
  • Adding watermarks to images using alpha channels
  • Using imagecopymerge to create a translucent watermark
Предопределенные константы
PNG creation with PHP
GD


PNG creation with PHP

Пример #1 PNG creation with PHP

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>
This example would be called from a page with a tag like: <img src="button.php?text=text">. The above button.php script then takes this "text" string and overlays it on top of a base image which in this case is "images/button1.png" and outputs the resulting image. This is a very convenient way to avoid having to draw new button images every time you want to change the text of a button. With this method they are dynamically generated.

Примеры
Adding watermarks to images using alpha channels
Примеры


Adding watermarks to images using alpha channels

Пример #1 Adding watermarks to images using alpha channels

<?php
// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Adding watermarks to images using alpha channels
This example is a common way to add watermarks and stamps to photos and copyrighted images. Note that the presence of an alpha channel in the stamp image as the text is anti-aliased. This is preserved during copying.

PNG creation with PHP
Using imagecopymerge to create a translucent watermark
Примеры


Using imagecopymerge to create a translucent watermark

Adding watermarks to images using alpha channels
GD и функции для работы с изображениями Функции
Примеры
PHP Manual

Using imagecopymerge() to create a translucent watermark

Пример #1 Using imagecopymerge() to create a translucent watermark

<?php
// Load the stamp and the photo to apply the watermark to
$im = imagecreatefromjpeg('photo.jpeg');

// First we create our stamp image manually from GD
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
$im = imagecreatefromjpeg('photo.jpeg');
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Merge the stamp onto our photo with an opacity (transparency) of 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Save the image to file and free memory
imagepng($im, 'photo_stamp.png');
imagedestroy($im);

?>
Using imagecopymerge() to create a translucent watermark
This example uses imagecopymerge() to merge the stamp with our original image. Using this we can set the opacity of our stamp - in our example we've set it to 50% opacity (another term for transparency). In practice this would be useful in copyright protection as semi-transparent watermarks are hard to remove yet allow viewers to see the image.

Adding watermarks to images using alpha channels
GD и функции для работы с изображениями Функции
Примеры


GD и функции для работы с изображениями Функции

Содержание

  • gd_info — Retrieve information about the currently installed GD library
  • getimagesize — Get the size of an image
  • image_type_to_extension — Get file extension for image type
  • image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • image2wbmp — Выводит изображение в браузер или пишет в файл
  • imagealphablending — Set the blending mode for an image
  • imageantialias — Should antialias functions be used or not
  • imagearc — Draws an arc
  • imagechar — Draw a character horizontally
  • imagecharup — Draw a character vertically
  • imagecolorallocate — Allocate a color for an image
  • imagecolorallocatealpha — Allocate a color for an image
  • imagecolorat — Get the index of the color of a pixel
  • imagecolorclosest — Get the index of the closest color to the specified color
  • imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha
  • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
  • imagecolordeallocate — De-allocate a color for an image
  • imagecolorexact — Get the index of the specified color
  • imagecolorexactalpha — Get the index of the specified color + alpha
  • imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version
  • imagecolorresolve — Get the index of the specified color or its closest possible alternative
  • imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative
  • imagecolorset — Set the color for the specified palette index
  • imagecolorsforindex — Get the colors for an index
  • imagecolorstotal — Find out the number of colors in an image's palette
  • imagecolortransparent — Define a color as transparent
  • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
  • imagecopy — Copy part of an image
  • imagecopymerge — Copy and merge part of an image
  • imagecopymergegray — Copy and merge part of an image with gray scale
  • imagecopyresampled — Copy and resize part of an image with resampling
  • imagecopyresized — Copy and resize part of an image
  • imagecreate — Create a new palette based image
  • imagecreatefromgd2 — Create a new image from GD2 file or URL
  • imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL
  • imagecreatefromgd — Create a new image from GD file or URL
  • imagecreatefromgif — Создает новое изображение из файла или URL
  • imagecreatefromjpeg — Создает новое изображение из файла или URL
  • imagecreatefrompng — Создает новое изображение из файла или URL
  • imagecreatefromstring — Create a new image from the image stream in the string
  • imagecreatefromwbmp — Создает новое изображение из файла или URL
  • imagecreatefromxbm — Создает новое изображение из файла или URL
  • imagecreatefromxpm — Создает новое изображение из файла или URL
  • imagecreatetruecolor — Create a new true color image
  • imagedashedline — Draw a dashed line
  • imagedestroy — Destroy an image
  • imageellipse — Draw an ellipse
  • imagefill — Flood fill
  • imagefilledarc — Draw a partial arc and fill it
  • imagefilledellipse — Draw a filled ellipse
  • imagefilledpolygon — Draw a filled polygon
  • imagefilledrectangle — Draw a filled rectangle
  • imagefilltoborder — Flood fill to specific color
  • imagefilter — Applies a filter to an image
  • imagefontheight — Get font height
  • imagefontwidth — Get font width
  • imageftbbox — Give the bounding box of a text using fonts via freetype2
  • imagefttext — Write text to the image using fonts using FreeType 2
  • imagegammacorrect — Apply a gamma correction to a GD image
  • imagegd2 — Output GD2 image to browser or file
  • imagegd — Вывод GD-изображения в браузер или в файл
  • imagegif — Выводит изображение в браузер или пишет в файл
  • imagegrabscreen — Captures the whole screen
  • imagegrabwindow — Captures a window
  • imageinterlace — Enable or disable interlace
  • imageistruecolor — Finds whether an image is a truecolor image
  • imagejpeg — Выводит изображение в браузер или пишет в файл
  • imagelayereffect — Set the alpha blending flag to use the bundled libgd layering effects
  • imageline — Draw a line
  • imageloadfont — Load a new font
  • imagepalettecopy — Copy the palette from one image to another
  • imagepng — Output a PNG image to either the browser or a file
  • imagepolygon — Draws a polygon
  • imagepsbbox — Give the bounding box of a text rectangle using PostScript Type1 fonts
  • imagepsencodefont — Change the character encoding vector of a font
  • imagepsextendfont — Extend or condense a font
  • imagepsfreefont — Free memory used by a PostScript Type 1 font
  • imagepsloadfont — Load a PostScript Type 1 font from file
  • imagepsslantfont — Slant a font
  • imagepstext — Draws a text over an image using PostScript Type1 fonts
  • imagerectangle — Draw a rectangle
  • imagerotate — Поворот изображения с заданным углом
  • imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
  • imagesetbrush — Set the brush image for line drawing
  • imagesetpixel — Set a single pixel
  • imagesetstyle — Set the style for line drawing
  • imagesetthickness — Set the thickness for line drawing
  • imagesettile — Set the tile image for filling
  • imagestring — Draw a string horizontally
  • imagestringup — Draw a string vertically
  • imagesx — Get image width
  • imagesy — Get image height
  • imagetruecolortopalette — Convert a true color image to a palette image
  • imagettfbbox — Give the bounding box of a text using TrueType fonts
  • imagettftext — Write text to the image using TrueType fonts
  • imagetypes — Return the image types supported by this PHP build
  • imagewbmp — Выводит изображение в браузер или пишет в файл
  • imagexbm — Output XBM image to browser or file
  • iptcembed — Embeds binary IPTC data into a JPEG image
  • iptcparse — Parse a binary IPTC block into single tags.
  • jpeg2wbmp — Конвертирует изображение из формата JPEG в WBMP
  • png2wbmp — Convert PNG image file to WBMP image file
Using imagecopymerge to create a translucent watermark
gd_info
GD


Retrieve information about the currently installed GD library

GD и функции для работы с изображениями Функции
getimagesize
GD и функции для работы с изображениями Функции
PHP Manual

gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info — Retrieve information about the currently installed GD library

Описание

array gd_info ( void )

Gets information about the version and capabilities of the installed GD library.

Возвращаемые значения

Returns an associative array.

Elements of array returned by gd_info()
Attribute | Meaning
GD Version | string value describing the installed libgd version.
Freetype Support | boolean value. TRUE if Freetype Support is installed.
Freetype Linkage | string value describing the way in which Freetype was linked. Expected values are: 'with freetype', 'with TTF library', and 'with unknown library'. This element will only be defined if Freetype Support evaluated to TRUE.
T1Lib Support | boolean value. TRUE if T1Lib support is included.
GIF Read Support | boolean value. TRUE if support for reading GIF images is included.
GIF Create Support | boolean value. TRUE if support for creating GIF images is included.
JPEG Support | boolean value. TRUE if JPEG support is included.
PNG Support | boolean value. TRUE if PNG support is included.
WBMP Support | boolean value. TRUE if WBMP support is included.
XBM Support | boolean value. TRUE if XBM support is included.

Замечание:

Previous to PHP 5.3.0, the JPEG Support attribute was named JPG Support.

Примеры

Пример #1 Using gd_info()

<?php
var_dump(gd_info());
?>

Результатом выполнения данного примера будет что-то подобное:

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPEG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Список изменений

Версия | Описание
5.3.0 | JPG Support attribute renamed to JPEG Support.

Смотрите также

  • imagepng() - Output a PNG image to either the browser or a file
  • imagejpeg() - Выводит изображение в браузер или пишет в файл
  • imagegif() - Выводит изображение в браузер или пишет в файл
  • imagewbmp() - Выводит изображение в браузер или пишет в файл
  • imagetypes() - Return the image types supported by this PHP build

GD и функции для работы с изображениями Функции
getimagesize
GD и функции для работы с изображениями Функции


Get the size of an image

gd_info
image_type_to_extension
GD и функции для работы с изображениями Функции
PHP Manual

getimagesize

(PHP 4, PHP 5)

getimagesize — Get the size of an image

Описание

array getimagesize ( string $filename [, array &$imageinfo ] )

The getimagesize() function will determine the size of any given image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag and the correspondant HTTP content type.

getimagesize() can also return some more information in imageinfo parameter.

Замечание: Note that JPC and JP2 are capable of having components with different bit depths. In this case, the value for "bits" is the highest bit depth encountered. Also, JP2 files may contain multiple JPEG 2000 codestreams. In this case, getimagesize() returns the values for the first codestream it encounters in the root of the file.

Замечание: The information about icons are retrieved from the icon with the highest bitrate.

Список параметров

filename

This parameter specifies the file you wish to retrieve information about. It can reference a local file or (configuration permitting) a remote file using one of the supported streams.

imageinfo

This optional parameter allows you to extract some extended information from the image file. Currently, this will return the different JPG APP markers as an associative array. Some programs use these APP markers to embed text information in images. A very common one is to embed » IPTC information in the APP13 marker. You can use the iptcparse() function to parse the binary APP13 marker into something readable.

Возвращаемые значения

Returns an array with 7 elements.

Index 0 and 1 contains respectively the width and the height of the image.

Замечание:

Some formats may contain no image or may contain multiple images. In these cases, getimagesize() might not be able to properly determine the image size. getimagesize() will return zero for width and height in these cases.

Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.

Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.

mime is the correspondant MIME type of the image. This information can be used to deliver images with the correct HTTP Content-type header:

Пример #1 getimagesize() and MIME types

<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
    header("Content-type: {$size['mime']}");
    fpassthru($fp);
    exit;
} else {
    // error
}
?>

channels will be 3 for RGB pictures and 4 for CMYK pictures.

bits is the number of bits for each color.

For some image types, the presence of channels and bits values can be a bit confusing. As an example, GIF always uses 3 channels per pixel, but the number of bits per pixel cannot be calculated for an animated GIF with a global color table.

On failure, FALSE is returned.

Ошибки

If accessing the filename image is impossible, or if it isn't a valid picture, getimagesize() will generate an error of level E_WARNING. On read error, getimagesize() will generate an error of level E_NOTICE.

Список изменений

Версия | Описание
5.3.0 | Added icon support.
5.2.3 | Read errors generated by this function downgraded to E_NOTICE from E_WARNING.
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP became available.
4.3.2 | JPEG 2000 support was added for the imageinfo parameter.
4.3.0 | bits and channels are present for other image types, too.
4.3.0 | mime was added.
4.3.0 | Support for SWC and IFF was added.
4.2.0 | Support for TIFF was added.
4.0.6 | Support for BMP and PSD was added.
4.0.5 | URL support was added.

Примеры

Пример #2 getimagesize() example

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
?>

Пример #3 getimagesize (URL)

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// if the file name has space in it, encode it properly
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Пример #4 getimagesize() returning IPTC

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Примечания

Замечание:

Этой функции не требуется библиотека GD.

Смотрите также

  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • exif_imagetype() - Determine the type of an image
  • exif_read_data() - Reads the EXIF headers from JPEG or TIFF
  • exif_thumbnail() - Retrieve the embedded thumbnail of a TIFF or JPEG image

gd_info
image_type_to_extension
GD и функции для работы с изображениями Функции


Get file extension for image type

getimagesize
image_type_to_mime_type
GD и функции для работы с изображениями Функции
PHP Manual

image_type_to_extension

(PHP 5)

image_type_to_extension — Get file extension for image type

Описание

string image_type_to_extension ( int $imagetype [, bool $include_dot = TRUE ] )

Returns the extension for the given IMAGETYPE_XXX constant.

Список параметров

imagetype

One of the IMAGETYPE_XXX constant.

include_dot

Whether to prepend a dot to the extension or not. Default to TRUE.

Возвращаемые значения

A string with the extension corresponding to the given image type.

Примеры

Пример #1 image_type_to_extension() example

<?php
// Create image instance
$im = imagecreatetruecolor(100, 100);

// Save image
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

Примечания

Замечание:

Этой функции не требуется библиотека GD.

getimagesize
image_type_to_mime_type
GD и функции для работы с изображениями Функции


Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image_type_to_extension
image2wbmp
GD и функции для работы с изображениями Функции
PHP Manual

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5)

image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

Описание

string image_type_to_mime_type ( int $imagetype )

The image_type_to_mime_type() function will determine the Mime-Type for an IMAGETYPE constant.

Список параметров

imagetype

One of the IMAGETYPE_XXX constants.

Возвращаемые значения

The returned values are as follows

Returned values Constants
imagetype | Returned value
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel byte order) | image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

Примеры

Пример #1 image_type_to_mime_type() example

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Примечания

Замечание:

Этой функции не требуется библиотека GD.

Смотрите также

  • getimagesize() - Get the size of an image
  • exif_imagetype() - Determine the type of an image
  • exif_read_data() - Reads the EXIF headers from JPEG or TIFF
  • exif_thumbnail() - Retrieve the embedded thumbnail of a TIFF or JPEG image

image_type_to_extension
image2wbmp
GD и функции для работы с изображениями Функции


Выводит изображение в браузер или пишет в файл

image_type_to_mime_type
imagealphablending
GD и функции для работы с изображениями Функции
PHP Manual

image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp — Выводит изображение в браузер или пишет в файл

Описание

bool image2wbmp ( resource $image [, string $filename [, int $threshold ]] )

image2wbmp() outputs or save a WBMP version of the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Path to the saved file. If not given, the raw image stream will be outputted directly.

threshold

Threshold value, between 0 and 255 (inclusive).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 image2wbmp() example

<?php
$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-Type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly
imagedestroy($image);
?>

Примечания

Замечание:

WBMP support is only available if PHP was compiled against GD-1.8 or later.

Смотрите также

  • imagewbmp() - Выводит изображение в браузер или пишет в файл

image_type_to_mime_type
imagealphablending
GD и функции для работы с изображениями Функции


Set the blending mode for an image

image2wbmp
imageantialias
GD и функции для работы с изображениями Функции
PHP Manual

imagealphablending

(PHP 4 >= 4.0.6, PHP 5)

imagealphablending — Set the blending mode for an image

Описание

bool imagealphablending ( resource $image , bool $blendmode )

imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

blendmode

Whether to enable the blending mode or not. On true color images the default value is TRUE otherwise the default value is FALSE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagealphablending() usage example

<?php
// Create image
$im = imagecreatetruecolor(100, 100);

// Set alphablending to on
imagealphablending($im, true);

// Draw a square
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

image2wbmp
imageantialias
GD и функции для работы с изображениями Функции


Should antialias functions be used or not

imagealphablending
imagearc
GD и функции для работы с изображениями Функции
PHP Manual

imageantialias

(PHP 4 >= 4.3.2, PHP 5)

imageantialias — Should antialias functions be used or not

Описание

bool imageantialias ( resource $image , bool $enabled )

Activate the fast drawing antialiased methods for lines and wired polygons. It does not support alpha components. It works using a direct blend operation. It works only with truecolor images.

Thickness and styled are not supported.

Using antialiased primitives with transparent background color can end with some unexpected results. The blend method uses the background color as any other colors. The lack of alpha component support does not allow an alpha based antialiasing method.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

enabled

Whether to enable antialiasing or not.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A comparison of two lines, one with anti-aliasing switched on

<?php
// Setup an anti-aliased image and a normal image
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Switch antialiasing on for one image
imageantialias($aa, true);

// Allocate colors
$red = imagecolorallocate($normal, 255, 0, 0);
$red_aa = imagecolorallocate($aa, 255, 0, 0);

// Draw two lines, one with AA enabled
imageline($normal, 0, 0, 200, 100, $red);
imageline($aa, 0, 0, 200, 100, $red_aa);

// Merge the two images side by side for output (AA: left, Normal: Right)
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Output image
header('Content-type: image/png');

imagepng($aa);
imagedestroy($aa);
imagedestroy($normal);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : A comparison of two lines, one with anti-aliasing switched on

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Смотрите также

  • imagecreatetruecolor() - Create a new true color image

imagealphablending
imagearc
GD и функции для работы с изображениями Функции


Draws an arc

imageantialias
imagechar
GD и функции для работы с изображениями Функции
PHP Manual

imagearc

(PHP 4, PHP 5)

imagearc — Draws an arc

Описание

bool imagearc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color )

imagearc() draws an arc of circle centered at the given coordinates.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The arc width.

height

The arc height.

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Drawing a circle with imagearc()

<?php

// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);
$red   = imagecolorallocate($img, 255,   0,   0);
$green = imagecolorallocate($img,   0, 255,   0);
$blue  = imagecolorallocate($img,   0,   0, 255);

// draw the head
imagearc($img, 100, 100, 200, 200,  0, 360, $white);
// mouth
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// left and then the right eye
imagearc($img,  60,  75,  50,  50,  0, 360, $green);
imagearc($img, 140,  75,  50,  50,  0, 360, $blue);

// output image in the browser
header("Content-type: image/png");
imagepng($img);

// free memory
imagedestroy($img);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Drawing a circle with imagearc()

Смотрите также

  • imagefilledarc() - Draw a partial arc and fill it
  • imageellipse() - Draw an ellipse
  • imagefilledellipse() - Draw a filled ellipse

imageantialias
imagechar
GD и функции для работы с изображениями Функции


Draw a character horizontally

imagearc
imagecharup
GD и функции для работы с изображениями Функции
PHP Manual

imagechar

(PHP 4, PHP 5)

imagechar — Draw a character horizontally

Описание

bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

imagechar() draws the first character of c in the image identified by image with its upper-left at x,y (top left is 0, 0) with the color color.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

x

x-coordinate of the start.

y

y-coordinate of the start.

c

The character to draw.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagechar() example

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// prints a black "P" in the top left corner
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagechar()

Смотрите также

  • imagecharup() - Draw a character vertically
  • imageloadfont() - Load a new font

imagearc
imagecharup
GD и функции для работы с изображениями Функции


Draw a character vertically

imagechar
imagecolorallocate
GD и функции для работы с изображениями Функции
PHP Manual

imagecharup

(PHP 4, PHP 5)

imagecharup — Draw a character vertically

Описание

bool imagecharup ( resource $image , int $font , int $x , int $y , string $c , int $color )

Draws the character c vertically at the specified coordinate on the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

x

x-coordinate of the start.

y

y-coordinate of the start.

c

The character to draw.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagecharup() example

<?php

$im = imagecreate(100, 100);

$string = 'Note that the first letter is a N';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// prints a black "Z" on a white background
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagecharup()

Смотрите также

  • imagechar() - Draw a character horizontally
  • imageloadfont() - Load a new font

imagechar
imagecolorallocate
GD и функции для работы с изображениями Функции


Allocate a color for an image

imagecharup
imagecolorallocatealpha
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorallocate

(PHP 4, PHP 5)

imagecolorallocate — Allocate a color for an image

Описание

int imagecolorallocate ( resource $image , int $red , int $green , int $blue )

Returns a color identifier representing the color composed of the given RGB components.

imagecolorallocate() must be called to create each color that is to be used in the image represented by image.

Замечание:

The first call to imagecolorallocate() fills the background color in palette-based images - images created using imagecreate().

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

A color identifier or FALSE if the allocation failed.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Список изменений

Версия | Описание
Prior to 5.1.3 | Returns -1 if the allocation failed.

Примеры

Пример #1 imagecolorallocate() example

<?php

$im = imagecreate(100, 100);

// sets background to red
$background = imagecolorallocate($im, 255, 0, 0);

// sets some colors
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// hexadecimal way
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Смотрите также

  • imagecolorallocatealpha() - Allocate a color for an image
  • imagecolordeallocate() - De-allocate a color for an image

imagecharup
imagecolorallocatealpha
GD и функции для работы с изображениями Функции


Allocate a color for an image

imagecolorallocate
imagecolorat
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5)

imagecolorallocatealpha — Allocate a color for an image

Описание

int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

A color identifier or FALSE if the allocation failed.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Список изменений

Версия | Описание
Prior to 5.1.3 | Returns -1 if the allocation failed.

Примеры

Пример #1 Example of using imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// don't forget to output a correct header!
header('Content-Type: image/png');

// and finally, output the result
imagepng($image);
imagedestroy($image);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Example of using imagecolorallocatealpha()

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorallocate() - Allocate a color for an image
  • imagecolordeallocate() - De-allocate a color for an image

imagecolorallocate
imagecolorat
GD и функции для работы с изображениями Функции


Get the index of the color of a pixel

imagecolorallocatealpha
imagecolorclosest
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorat

(PHP 4, PHP 5)

imagecolorat — Get the index of the color of a pixel

Описание

int imagecolorat ( resource $image , int $x , int $y )

Returns the index of the color of the pixel at the specified location in the image specified by image.

If PHP is compiled against GD library 2.0 or higher and the image is a truecolor image, this function returns the RGB value of that pixel as integer. Use bitshifting and masking to access the distinct red, green and blue component values:

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x

x-coordinate of the point.

y

y-coordinate of the point.

Возвращаемые значения

Returns the index of the color.

Примеры

Пример #1 Access distinct RGB values

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

Результатом выполнения данного примера будет что-то подобное:

int(119)
int(123)
int(180)

Пример #2 Human-readable RGB values using imagecolorsforindex()

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);

$colors = imagecolorsforindex($im, $rgb);

var_dump($colors);
?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

Смотрите также

  • imagecolorset() - Set the color for the specified palette index
  • imagecolorsforindex() - Get the colors for an index

imagecolorallocatealpha
imagecolorclosest
GD и функции для работы с изображениями Функции


Get the index of the closest color to the specified color

imagecolorat
imagecolorclosestalpha
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorclosest

(PHP 4, PHP 5)

imagecolorclosest — Get the index of the closest color to the specified color

Описание

int imagecolorclosest ( resource $image , int $red , int $green , int $blue )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value.

The "distance" between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

Если изображение было создано из файла, то будут распознаны только цвета, используемые в изображении. Цвета, которые используются только в палитре, распознаны не будут.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

Returns the index of the closest color, in the palette of the image, to the specified one

Примеры

Пример #1 Search for a set of colors in an image

<?php
// Start with an image and convert it to a palette-based image
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Search colors (RGB)
$colors = array(
    array(254, 145, 154),
    array(153, 145, 188),
    array(153, 90, 145),
    array(255, 137, 92)
);

// Loop through each search and find the closest color in the palette.
// Return the search number, the search RGB and the converted RGB match
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']})";

    echo "#$id: Search ($rgb[0], $rgb[1], $rgb[2]); Closest match: $result.\n";
}

imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

#0: Search (254, 145, 154); Closest match: (252, 150, 148).
#1: Search (153, 145, 188); Closest match: (148, 150, 196).
#2: Search (153, 90, 145); Closest match: (148, 90, 156).
#3: Search (255, 137, 92); Closest match: (252, 150, 92).

Смотрите также

  • imagecolorexact() - Get the index of the specified color
  • imagecolorclosestalpha() - Get the index of the closest color to the specified color + alpha
  • imagecolorclosesthwb() - Get the index of the color which has the hue, white and blackness

imagecolorat
imagecolorclosestalpha
GD и функции для работы с изображениями Функции


Get the index of the closest color to the specified color + alpha

imagecolorclosest
imagecolorclosesthwb
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha

Описание

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value and alpha level.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

Returns the index of the closest color in the palette.

Примеры

Пример #1 Search for a set of colors in an image

<?php
// Start with an image and convert it to a palette-based image
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Search colors (RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);

// Loop through each search and find the closest color in the palette.
// Return the search number, the search RGB and the converted RGB match
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";

    echo "#$id: Search ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Closest match: $result.\n";
}

imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0).
#1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0).
#2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0).
#3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorexactalpha() - Get the index of the specified color + alpha
  • imagecolorclosest() - Get the index of the closest color to the specified color
  • imagecolorclosesthwb() - Get the index of the color which has the hue, white and blackness

imagecolorclosest
imagecolorclosesthwb
GD и функции для работы с изображениями Функции


Get the index of the color which has the hue, white and blackness

imagecolorclosestalpha
imagecolordeallocate
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5)

imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness

Описание

int imagecolorclosesthwb ( resource $image , int $red , int $green , int $blue )

Get the index of the color which has the hue, white and blackness nearest the given color.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

Возвращаемые значения

Returns an integer with the index of the color which has the hue, white and blackness nearest the given color.

Примеры

Пример #1 Example of using imagecolorclosesthwb()

<?php
$im = imagecreatefromgif('php.gif');

echo 'HWB: ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

HWB: 33

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows

Смотрите также

  • imagecolorclosest() - Get the index of the closest color to the specified color

imagecolorclosestalpha
imagecolordeallocate
GD и функции для работы с изображениями Функции


De-allocate a color for an image

imagecolorclosesthwb
imagecolorexact
GD и функции для работы с изображениями Функции
PHP Manual

imagecolordeallocate

(PHP 4, PHP 5)

imagecolordeallocate — De-allocate a color for an image

Описание

bool imagecolordeallocate ( resource $image , int $color )

De-allocates a color previously allocated with imagecolorallocate() or imagecolorallocatealpha().

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

color

The color identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using imagecolordeallocate()

<?php
$white = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $white);
?>

Смотрите также

  • imagecolorallocate() - Allocate a color for an image
  • imagecolorallocatealpha() - Allocate a color for an image

imagecolorclosesthwb
imagecolorexact
GD и функции для работы с изображениями Функции


Get the index of the specified color

imagecolordeallocate
imagecolorexactalpha
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorexact

(PHP 4, PHP 5)

imagecolorexact — Get the index of the specified color

Описание

int imagecolorexact ( resource $image , int $red , int $green , int $blue )

Returns the index of the specified color in the palette of the image.

Если изображение было создано из файла, то будут распознаны только цвета, используемые в изображении. Цвета, которые используются только в палитре, распознаны не будут.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

Возвращаемые значения

Returns the index of the specified color in the palette, or -1 if the color does not exist.

Примеры

Пример #1 Get colors from the GD logo

<?php
// Setup an image
$im = imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexact($im, 255, 0, 0);
$colors[] = imagecolorexact($im, 0, 0, 0);
$colors[] = imagecolorexact($im, 255, 255, 255);
$colors[] = imagecolorexact($im, 100, 255, 52);

print_r($colors);

// Free from memory
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 16711680
    [1] => 0
    [2] => 16777215
    [3] => 6618932
)

Смотрите также

  • imagecolorclosest() - Get the index of the closest color to the specified color

imagecolordeallocate
imagecolorexactalpha
GD и функции для работы с изображениями Функции


Get the index of the specified color + alpha

imagecolorexact
imagecolormatch
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorexactalpha — Get the index of the specified color + alpha

Описание

int imagecolorexactalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Returns the index of the specified color+alpha in the palette of the image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

Returns the index of the specified color+alpha in the palette of the image, or -1 if the color does not exist in the image's palette.

Примеры

Пример #1 Get colors from the GD logo

<?php

// Setup an image
$im = imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colors);

// Free from memory
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorclosestalpha() - Get the index of the closest color to the specified color + alpha

imagecolorexact
imagecolormatch
GD и функции для работы с изображениями Функции


Makes the colors of the palette version of an image more closely match the true color version

imagecolorexactalpha
imagecolorresolve
GD и функции для работы с изображениями Функции
PHP Manual

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5)

imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version

Описание

bool imagecolormatch ( resource $image1 , resource $image2 )

Makes the colors of the palette version of an image more closely match the true color version.

Список параметров

image1

A truecolor image link resource.

image2

A palette image link resource pointing to an image that has the same size as image1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagecolormatch() example

<?php
// Setup the true color and palette images
$im1 = imagecreatefrompng('./gdlogo.png');
$im2 = imagecreate(imagesx($im1), imagesy($im1));

// Add some colors to $im2
$colors   = Array();
$colors[] = imagecolorallocate($im2, 255, 36, 74);
$colors[] = imagecolorallocate($im2, 40, 0, 240);
$colors[] = imagecolorallocate($im2, 82, 100, 255);
$colors[] = imagecolorallocate($im2, 84, 63, 44);

// Match these colors with the true color image
imagecolormatch($im1, $im2);

// Free from memory
imagedestroy($im1);
imagedestroy($im2);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecreatetruecolor() - Create a new true color image

imagecolorexactalpha
imagecolorresolve
GD и функции для работы с изображениями Функции


Get the index of the specified color or its closest possible alternative

imagecolormatch
imagecolorresolvealpha
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolve — Get the index of the specified color or its closest possible alternative

Описание

int imagecolorresolve ( resource $image , int $red , int $green , int $blue )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

Если изображение было создано из файла, то будут распознаны только цвета, используемые в изображении. Цвета, которые используются только в палитре, распознаны не будут.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

Возвращаемые значения

Returns a color index.

Примеры

Пример #1 Using imagecoloresolve() to get colors from an image

<?php
// Load an image
$im = imagecreatefromgif('phplogo.gif');

// Get closest colors from the image
$colors = array();
$colors[] = imagecolorresolve($im, 255, 255, 255);
$colors[] = imagecolorresolve($im, 0, 0, 200);

// Output
print_r($colors);

imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 89
    [1] => 85
)

Смотрите также

  • imagecolorclosest() - Get the index of the closest color to the specified color

imagecolormatch
imagecolorresolvealpha
GD и функции для работы с изображениями Функции


Get the index of the specified color + alpha or its closest possible alternative

imagecolorresolve
imagecolorset
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative

Описание

int imagecolorresolvealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

Returns a color index.

Примеры

Пример #1 Using imagecoloresolvealpha() to get colors from an image

<?php
// Load an image
$im = imagecreatefromgif('phplogo.gif');

// Get closest colors from the image
$colors = array();
$colors[] = imagecolorresolvealpha($im, 255, 255, 255, 0);
$colors[] = imagecolorresolvealpha($im, 0, 0, 200, 127);

// Output
print_r($colors);

imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 89
    [1] => 85
)

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorclosestalpha() - Get the index of the closest color to the specified color + alpha

imagecolorresolve
imagecolorset
GD и функции для работы с изображениями Функции


Set the color for the specified palette index

imagecolorresolvealpha
imagecolorsforindex
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorset

(PHP 4, PHP 5)

imagecolorset — Set the color for the specified palette index

Описание

void imagecolorset ( resource $image , int $index , int $red , int $green , int $blue [, int $alpha = 0 ] )

This sets the specified index in the palette to the specified color. This is useful for creating flood-fill-like effects in palleted images without the overhead of performing the actual flood-fill.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

index

An index in the palette.

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

Value of alpha component.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.4.0 | The alpha parameter was added.

Примеры

Пример #1 imagecolorset() example

<?php
// Create a 300x100 image
$im = imagecreate(300, 100);

// Set the background to be red
imagecolorallocate($im, 255, 0, 0);

// Get the color index for the background
$bg = imagecolorat($im, 0, 0);

// Set the backgrund to be blue
imagecolorset($im, $bg, 0, 0, 255);

// Output the image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Смотрите также

  • imagecolorat() - Get the index of the color of a pixel

imagecolorresolvealpha
imagecolorsforindex
GD и функции для работы с изображениями Функции


Get the colors for an index

imagecolorset
imagecolorstotal
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorsforindex

(PHP 4, PHP 5)

imagecolorsforindex — Get the colors for an index

Описание

array imagecolorsforindex ( resource $image , int $index )

Gets the color for a specified index.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

index

The color index.

Возвращаемые значения

Returns an associative array with red, green, blue and alpha keys that contain the appropriate values for the specified color index.

Примеры

Пример #1 imagecolorsforindex() example

<?php

// open an image
$im = imagecreatefrompng('nexen.png');

// get a color
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// make it human readable
$color_tran = imagecolorsforindex($im, $color_index);

// what is it ?
print_r($color_tran);

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)

Смотрите также

  • imagecolorat() - Get the index of the color of a pixel
  • imagecolorexact() - Get the index of the specified color

imagecolorset
imagecolorstotal
GD и функции для работы с изображениями Функции


Find out the number of colors in an image's palette

imagecolorsforindex
imagecolortransparent
GD и функции для работы с изображениями Функции
PHP Manual

imagecolorstotal

(PHP 4, PHP 5)

imagecolorstotal — Find out the number of colors in an image's palette

Описание

int imagecolorstotal ( resource $image )

Returns the number of colors in an image palette.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatefromgif().

Возвращаемые значения

Returns the number of colors in the specified image's palette or 0 for truecolor images.

Примеры

Пример #1 Getting total number of colors in an image using imagecolorstotal()

<?php
// Create image instance
$im = imagecreatefromgif('php.gif');

echo 'Total colors in image: ' . imagecolorstotal($im);

// Free image
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Total colors in image: 128

Смотрите также

  • imagecolorat() - Get the index of the color of a pixel
  • imagecolorsforindex() - Get the colors for an index
  • imageistruecolor() - Finds whether an image is a truecolor image

imagecolorsforindex
imagecolortransparent
GD и функции для работы с изображениями Функции


Define a color as transparent

imagecolorstotal
imageconvolution
GD и функции для работы с изображениями Функции
PHP Manual

imagecolortransparent

(PHP 4, PHP 5)

imagecolortransparent — Define a color as transparent

Описание

int imagecolortransparent ( resource $image [, int $color ] )

Sets the transparent color in the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

The identifier of the new (or current, if none is specified) transparent color is returned.

Примеры

Пример #1 imagecolortransparent() example

<?php
// Create a 55x30 image
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);

// Make the background transparent
imagecolortransparent($im, $black);

// Draw a red rectangle
imagefilledrectangle($im, 4, 4, 50, 25, $red);

// Save the image
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagecolortransparent()

Примечания

Замечание:

Transparency is copied only with imagecopymerge() and true color images, not with imagecopy() or pallete images.

Замечание:

The transparent color is a property of the image, transparency is not a property of the color. Once you have set a color to be the transparent color, any regions of the image in that color that were drawn previously will be transparent.

imagecolorstotal
imageconvolution
GD и функции для работы с изображениями Функции


Apply a 3x3 convolution matrix, using coefficient and offset

imagecolortransparent
imagecopy
GD и функции для работы с изображениями Функции
PHP Manual

imageconvolution

(PHP 5 >= 5.1.0)

imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset

Описание

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Color offset.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Embossing the PHP.net logo

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Результат выполнения данного примера:

Output of example : Embossing the PHP.net logo

Пример #2 Gaussian blur

<?php
$image = imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Rewrites the text for comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Результат выполнения данного примера:

Output of example : Gaussian blur

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Смотрите также

  • imagefilter() - Applies a filter to an image

imagecolortransparent
imagecopy
GD и функции для работы с изображениями Функции


Copy part of an image

imageconvolution
imagecopymerge
GD и функции для работы с изображениями Функции
PHP Manual

imagecopy

(PHP 4, PHP 5)

imagecopy — Copy part of an image

Описание

bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

Список параметров

dst_im

Ресурс целевого изображения.

src_im

Ресурс исходного изображения.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Ширина исходного изображения.

src_h

Высота исходного изображения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Cropping the PHP.net logo

<?php
// Create image instances
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);

// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Cropping the PHP.net logo

imageconvolution
imagecopymerge
GD и функции для работы с изображениями Функции


Copy and merge part of an image

imagecopy
imagecopymergegray
GD и функции для работы с изображениями Функции
PHP Manual

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5)

imagecopymerge — Copy and merge part of an image

Описание

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

Список параметров

dst_im

Ресурс целевого изображения.

src_im

Ресурс исходного изображения.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Ширина исходного изображения.

src_h

Высота исходного изображения.

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Merging two copies of the PHP.net logo with 75% transparency

<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge
imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopy
imagecopymergegray
GD и функции для работы с изображениями Функции


Copy and merge part of an image with gray scale

imagecopymerge
imagecopyresampled
GD и функции для работы с изображениями Функции
PHP Manual

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5)

imagecopymergegray — Copy and merge part of an image with gray scale

Описание

bool imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

imagecopymergegray() copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.

Список параметров

dst_im

Ресурс целевого изображения.

src_im

Ресурс исходного изображения.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Ширина исходного изображения.

src_h

Высота исходного изображения.

pct

The src_im will be changed to grayscale according to pct where 0 is fully grayscale and 100 is unchanged. When pct = 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagecopymergegray() usage

<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopymerge
imagecopyresampled
GD и функции для работы с изображениями Функции


Copy and resize part of an image with resampling

imagecopymergegray
imagecopyresized
GD и функции для работы с изображениями Функции
PHP Manual

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled — Copy and resize part of an image with resampling

Описание

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() copies a rectangular portion of one image to another image, smoothly interpolating pixel values so that, in particular, reducing the size of an image still retains a great deal of clarity.

In other words, imagecopyresampled() will take an rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

Список параметров

dst_image

Ресурс целевого изображения.

src_image

Ресурс исходного изображения.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

dst_w

Destination width.

dst_h

Destination height.

src_w

Ширина исходного изображения.

src_h

Высота исходного изображения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Simple example

This example will resample an image to half its original size.

<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Simple example

Пример #2 Resampling an image proportionally

This example will display an image with the maximum width, or height, of 200 pixels.

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Resampling an image proportionally

Примечания

Замечание:

There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

Смотрите также

imagecopyresized() - Copy and resize part of an image

imagecopymergegray
imagecopyresized
GD и функции для работы с изображениями Функции


Copy and resize part of an image

imagecopyresampled
imagecreate
GD и функции для работы с изображениями Функции
PHP Manual

imagecopyresized

(PHP 4, PHP 5)

imagecopyresized — Copy and resize part of an image

Описание

bool imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresized() copies a rectangular portion of one image to another image. dst_image is the destination image, src_image is the source image identifier.

In other words, imagecopyresized() will take an rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

Список параметров

dst_image

Ресурс целевого изображения.

src_image

Ресурс исходного изображения.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

dst_w

Destination width.

dst_h

Destination height.

src_w

Ширина исходного изображения.

src_h

Высота исходного изображения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Resizing an image

This example will display the image at half size.

<?php
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Resizing an image

The image will be output at half size, though better quality could be obtained using imagecopyresampled().

Примечания

Замечание:

There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

Смотрите также

imagecopyresampled() - Copy and resize part of an image with resampling

imagecopyresampled
imagecreate
GD и функции для работы с изображениями Функции


Create a new palette based image

imagecopyresized
imagecreatefromgd2
GD и функции для работы с изображениями Функции
PHP Manual

imagecreate

(PHP 4, PHP 5)

imagecreate — Create a new palette based image

Описание

resource imagecreate ( int $width , int $height )

imagecreate() returns an image identifier representing a blank image of specified size.

We recommend the use of imagecreatetruecolor().

Список параметров

width

The image width.

height

The image height.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Creating a new GD image stream and outputting an image.

<?php
header("Content-Type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Creating a new GD image stream and outputting an image.

Смотрите также

  • imagedestroy() - Destroy an image
  • imagecreatetruecolor() - Create a new true color image

imagecopyresized
imagecreatefromgd2
GD и функции для работы с изображениями Функции


Create a new image from GD2 file or URL

imagecreate
imagecreatefromgd2part
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2 — Create a new image from GD2 file or URL

Описание

resource imagecreatefromgd2 ( string $filename )

Create a new image from GD2 file or URL.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the GD2 image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 imagecreatefromgd2() example

<?php
// Load the gd2 image
$im = imagecreatefromgd2('./test.gd2');

// Apply an effect on the image, in this
// case negate the image if PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_NEGATE);
}

// Save the image
imagegd2($im, './test_updated.gd2');
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreate
imagecreatefromgd2part
GD и функции для работы с изображениями Функции


Create a new image from a given part of GD2 file or URL

imagecreatefromgd2
imagecreatefromgd
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL

Описание

resource imagecreatefromgd2part ( string $filename , int $srcX , int $srcY , int $width , int $height )

Create a new image from a given part of GD2 file or URL.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the GD2 image.

srcX

x-coordinate of source point.

srcY

y-coordinate of source point.

width

Ширина исходного изображения.

height

Высота исходного изображения.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 imagecreatefromgd2part() example

<?php
// For this example we need the image size before
$image = getimagesize('./test.gd2');

// Create the image instance now we got the image
// sizes
$im = imagecreatefromgd2part('./test.gd2', 4, 4, ($image[0] / 2) - 6, ($image[1] / 2) - 6);

// Do an image operation, in this case we emboss the
// image if PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_EMBOSS);
}

// Save optimized image
imagegd2($im, './test_emboss.gd2');
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromgd2
imagecreatefromgd
GD и функции для работы с изображениями Функции


Create a new image from GD file or URL

imagecreatefromgd2part
imagecreatefromgif
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd — Create a new image from GD file or URL

Описание

resource imagecreatefromgd ( string $filename )

Create a new image from GD file or URL.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the GD file.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 imagecreatefromgd() example

<?php
// Load the gd image
$im = @imagecreatefromgd('./test.gd');

// Test if the image was loaded
if(!is_resource($im))
{
     die('Unable to load gd image!');
}

// Do image operations here

// Save the image
imagegd($im, './test_updated.gd');
imagedestroy($im);
?>

Примечания

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromgd2part
imagecreatefromgif
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromgd
imagecreatefromjpeg
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromgif

(PHP 4, PHP 5)

imagecreatefromgif — Создает новое изображение из файла или URL

Описание

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the GIF image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Example to handle an error during loading of a GIF

<?php
function LoadGif($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromgif($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im = imagecreatetruecolor (150, 30);
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc = imagecolorallocate ($im, 0, 0, 0);

        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring ($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/gif');

$img = LoadGif('bogus.image');

imagegif($img);
imagedestroy($img);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Example to handle an error during loading of a GIF

Примечания

Замечание:

GIF support was removed from the GD library in Version 1.6, and added back in Version 2.0.28. This function is not available between these versions.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromgd
imagecreatefromjpeg
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromgif
imagecreatefrompng
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromjpeg

(PHP 4, PHP 5)

imagecreatefromjpeg — Создает новое изображение из файла или URL

Описание

resource imagecreatefromjpeg ( string $filename )

imagecreatefromjpeg() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the JPEG image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Example to handle an error during loading of a JPEG

<?php
function LoadJpeg($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromjpeg($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a black image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/jpeg');

$img = LoadJpeg('bogus.image');

imagejpeg($img);
imagedestroy($img);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Example to handle an error during loading of a JPEG

Примечания

Замечание: Поддержка JPEG доступна только в случае, если PHP был скомпилирован с GD-1.8 или более поздней версии.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromgif
imagecreatefrompng
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromjpeg
imagecreatefromstring
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefrompng

(PHP 4, PHP 5)

imagecreatefrompng — Создает новое изображение из файла или URL

Описание

resource imagecreatefrompng ( string $filename )

imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the PNG image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Example to handle an error during loading of a PNG

<?php
function LoadPNG($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefrompng($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/png');

$img = LoadPNG('bogus.image');

imagepng($img);
imagedestroy($img);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromjpeg
imagecreatefromstring
GD и функции для работы с изображениями Функции


Create a new image from the image stream in the string

imagecreatefrompng
imagecreatefromwbmp
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5)

imagecreatefromstring — Create a new image from the image stream in the string

Описание

resource imagecreatefromstring ( string $data )

imagecreatefromstring() returns an image identifier representing the image obtained from the given data. These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, WBMP, and GD2.

Список параметров

image

A string containing the image data.

Возвращаемые значения

An image resource will be returned on success. FALSE is returned if the image type is unsupported, the data is not in a recognised format, or the image is corrupt and cannot be loaded.

Примеры

Пример #1 imagecreatefromstring() example

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagecreatefromstring()

Смотрите также

  • imagecreatefromjpeg() - Создает новое изображение из файла или URL
  • imagecreatefrompng() - Создает новое изображение из файла или URL
  • imagecreatefromgif() - Создает новое изображение из файла или URL
  • imagecreatetruecolor() - Create a new true color image

imagecreatefrompng
imagecreatefromwbmp
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromstring
imagecreatefromxbm
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp — Создает новое изображение из файла или URL

Описание

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the WBMP image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Example to handle an error during loading of a WBMP

<?php
function LoadWBMP($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromwbmp($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/vnd.wap.wbmp');

$img = LoadWBMP('bogus.image');

imagewbmp($img);
imagedestroy($img);
?>

Примечания

Замечание: Поддержка WBMP доступна только в случае, если PHP был скомплирован с GD-1.8 или более поздней версии.

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromstring
imagecreatefromxbm
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromwbmp
imagecreatefromxpm
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm — Создает новое изображение из файла или URL

Описание

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the XBM image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Convert an XBM image to a png image using imagecreatefromxbm()

<?php
// Load the xbm file
$xbm = imagecreatefromxbm('./example.xbm');

// Convert it to a png file
imagepng($xbm, './example.png');
imagedestroy($xbm);
?>

Примечания

Внимание

Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если включена опция allow_url_fopen.

imagecreatefromwbmp
imagecreatefromxpm
GD и функции для работы с изображениями Функции


Создает новое изображение из файла или URL

imagecreatefromxbm
imagecreatetruecolor
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm — Создает новое изображение из файла или URL

Описание

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Список параметров

filename

Path to the XPM image.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Creating an image instance using imagecreatefromxpm()

<?php
// Check for XPM support
if(!(imagetypes() & IMG_XPM))
{
    die('Support for xpm was not found!');
}

// Create the image instance
$xpm = imagecreatefromxpm('./example.xpm');

// Do image operations here

// PHP has no support for writing xpm images
// so in this case we save the image as a
// jpeg file with 100% quality
imagejpeg($xpm, './example.jpg', 100);
imagedestroy($xpm);
?>

Возвращаемые значения

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Замечание: Для Windows-платформ эта функция не реализована.

imagecreatefromxbm
imagecreatetruecolor
GD и функции для работы с изображениями Функции


Create a new true color image

imagecreatefromxpm
imagedashedline
GD и функции для работы с изображениями Функции
PHP Manual

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5)

imagecreatetruecolor — Create a new true color image

Описание

resource imagecreatetruecolor ( int $width , int $height )

imagecreatetruecolor() returns an image identifier representing a black image of the specified size.

Depending on your PHP and GD versions this function is defined or not. With PHP 4.0.6 through 4.1.x this function always exists if the GD module is loaded, but calling it without GD2 being installed PHP will issue a fatal error and exit. With PHP 4.2.x this behaviour is different in issuing a warning instead of an error. Other versions only define this function, if the correct GD version is installed.

Список параметров

width

Image width.

height

Image height.

Возвращаемые значения

Возвращает ресурс изображения в случае успеха, или FALSE в случае ошибки.

Примеры

Пример #1 Creating a new GD image stream and outputting an image.

<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Creating a new GD image stream and outputting an image.

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagedestroy() - Destroy an image
  • imagecreate() - Create a new palette based image

imagecreatefromxpm
imagedashedline
GD и функции для работы с изображениями Функции


Draw a dashed line

imagecreatetruecolor
imagedestroy
GD и функции для работы с изображениями Функции
PHP Manual

imagedashedline

(PHP 4, PHP 5)

imagedashedline — Draw a dashed line

Описание

bool imagedashedline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

This function is deprecated. Use combination of imagesetstyle() and imageline() instead.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x1

Upper left x coordinate.

y1

Upper left y coordinate 0, 0 is the top left corner of the image.

x2

Bottom right x coordinate.

y2

Bottom right y coordinate.

color

The fill color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Always returns true

Примеры

Пример #1 imagedashedline() example

<?php
// Create a 100x100 image
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Draw a vertical dashed line
imagedashedline($im, 50, 25, 50, 75, $white);

// Save the image
imagepng($im, './dashedline.png');
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagedashedline()

Пример #2 Alternative to imagedashedline()

<?php
// Create a 100x100 image
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Define our style: First 4 pixels is white and the
// next 4 is transparent. This creates the dashed line effect
$style = Array(
                $white,
                $white,
                $white,
                $white,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT
                );

imagesetstyle($im, $style);

// Draw the dashed line
imageline($im, 50, 25, 50, 75, IMG_COLOR_STYLED);

// Save the image
imagepng($im, './imageline.png');
imagedestroy($im);
?>

Смотрите также

  • imagesetstyle() - Set the style for line drawing
  • imageline() - Draw a line

imagecreatetruecolor
imagedestroy
GD и функции для работы с изображениями Функции


Destroy an image

imagedashedline
imageellipse
GD и функции для работы с изображениями Функции
PHP Manual

imagedestroy

(PHP 4, PHP 5)

imagedestroy — Destroy an image

Описание

bool imagedestroy ( resource $image )

imagedestroy() frees any memory associated with image image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using imagedestroy() example

<?php
// create a 100 x 100 image
$im = imagecreatetruecolor(100, 100);

// alter or save the image

// frees image from memory
imagedestroy($im);
?>

imagedashedline
imageellipse
GD и функции для работы с изображениями Функции


Draw an ellipse

imagedestroy
imagefill
GD и функции для работы с изображениями Функции
PHP Manual

imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse — Draw an ellipse

Описание

bool imageellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Draws an ellipse centered at the specified coordinates.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The ellipse width.

height

The ellipse height.

color

The color of the ellipse. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imageellipse() example

<?php

// Create a blank image.
$image = imagecreatetruecolor(400, 300);

// Select the background color.
$bg = imagecolorallocate($image, 0, 0, 0);

// Fill the background with the color selected above.
imagefill($image, 0, 0, $bg);

// Choose a color for the ellipse.
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// Draw the ellipse.
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// Output the image.
header("Content-type: image/png");
imagepng($image);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imageellipse()

Примечания

Замечание:

This function requires GD 2.0.2 or later.

Смотрите также

  • imagefilledellipse() - Draw a filled ellipse
  • imagearc() - Draws an arc

imagedestroy
imagefill
GD и функции для работы с изображениями Функции


Flood fill

imageellipse
imagefilledarc
GD и функции для работы с изображениями Функции
PHP Manual

imagefill

(PHP 4, PHP 5)

imagefill — Flood fill

Описание

bool imagefill ( resource $image , int $x , int $y , int $color )

Performs a flood fill starting at the given coordinate (top left is 0, 0) with the given color in the image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x

x-coordinate of start point.

y

y-coordinate of start point.

color

The fill color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagefill() example

<?php

$im = imagecreatetruecolor(100, 100);

// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagefill()

Смотрите также

  • imagecolorallocate() - Allocate a color for an image

imageellipse
imagefilledarc
GD и функции для работы с изображениями Функции


Draw a partial arc and fill it

imagefill
imagefilledellipse
GD и функции для работы с изображениями Функции
PHP Manual

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc — Draw a partial arc and fill it

Описание

bool imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style )

Draws a partial arc centered at the specified coordinate in the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The arc width.

height

The arc height.

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate().

style

A bitwise OR of the following possibilities:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating a 3D looking pie

<?php

// create image
$image = imagecreatetruecolor(100, 100);

// allocate some colors
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// make the 3D effect
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Creating a 3D looking pie

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagefill
imagefilledellipse
GD и функции для работы с изображениями Функции


Draw a filled ellipse

imagefilledarc
imagefilledpolygon
GD и функции для работы с изображениями Функции
PHP Manual

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5)

imagefilledellipse — Draw a filled ellipse

Описание

bool imagefilledellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Draws an ellipse centered at the specified coordinate on the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The ellipse width.

height

The ellipse height.

color

The fill color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagefilledellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the white ellipse
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagefilledellipse()

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imageellipse() - Draw an ellipse
  • imagefilledarc() - Draw a partial arc and fill it

imagefilledarc
imagefilledpolygon
GD и функции для работы с изображениями Функции


Draw a filled polygon

imagefilledellipse
imagefilledrectangle
GD и функции для работы с изображениями Функции
PHP Manual

imagefilledpolygon

(PHP 4, PHP 5)

imagefilledpolygon — Draw a filled polygon

Описание

bool imagefilledpolygon ( resource $image , array $points , int $num_points , int $color )

imagefilledpolygon() creates a filled polygon in the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

points

An array containing the x and y coordinates of the polygons vertices consecutively.

num_points

Total number of vertices, which must be at least 3.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagefilledpolygon() example

<?php
// set up array of points for polygon
$values = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// create image
$image = imagecreatetruecolor(250, 250);

// allocate colors
$bg   = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);

// fill the background
imagefilledrectangle($image, 0, 0, 249, 249, $bg);

// draw a polygon
imagefilledpolygon($image, $values, 6, $blue);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagefilledpolygon()

imagefilledellipse
imagefilledrectangle
GD и функции для работы с изображениями Функции


Draw a filled rectangle

imagefilledpolygon
imagefilltoborder
GD и функции для работы с изображениями Функции
PHP Manual

imagefilledrectangle

(PHP 4, PHP 5)

imagefilledrectangle — Draw a filled rectangle

Описание

bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Creates a rectangle filled with color in the given image starting at point 1 and ending at point 2. 0, 0 is the top left corner of the image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x1

x-coordinate for point 1.

y1

y-coordinate for point 1.

x2

x-coordinate for point 2.

y2

y-coordinate for point 2.

color

The fill color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagefilledrectangle() usage

<?php
// Create a 55x30 image
$im = imagecreatetruecolor(55, 30);
$white = imagecolorallocate($im, 255, 255, 255);

// Draw a white rectangle
imagefilledrectangle($im, 4, 4, 50, 25, $white);

// Save the image
imagepng($im, './imagefilledrectangle.png');
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagefilledrectangle()

imagefilledpolygon
imagefilltoborder
GD и функции для работы с изображениями Функции


Flood fill to specific color

imagefilledrectangle
imagefilter
GD и функции для работы с изображениями Функции
PHP Manual

imagefilltoborder

(PHP 4, PHP 5)

imagefilltoborder — Flood fill to specific color

Описание

bool imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )

imagefilltoborder() performs a flood fill whose border color is defined by border. The starting point for the fill is x, y (top left is 0, 0) and the region is filled with color color.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x

x-coordinate of start.

y

y-coordinate of start.

border

The border color. A color identifier created with imagecolorallocate().

color

The fill color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Filling an ellipse with a color

<?php
// Create the image handle, set the background to white
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Draw an ellipse to fill with a black border
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Set the border and fill colors
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);

// Fill the selection
imagefilltoborder($im, 50, 50, $border, $fill);

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Filling an ellipse with a color

imagefilledrectangle
imagefilter
GD и функции для работы с изображениями Функции


Applies a filter to an image

imagefilltoborder
imagefontheight
GD и функции для работы с изображениями Функции
PHP Manual

imagefilter

(PHP 5)

imagefilter — Applies a filter to an image

Описание

bool imagefilter ( resource $image , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4 ]]]] )

imagefilter() applies the given filter filtertype on the image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filtertype

filtertype can be one of the following:

  • IMG_FILTER_NEGATE: Reverses all colors of the image.
  • IMG_FILTER_GRAYSCALE: Converts the image into grayscale.
  • IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness.
  • IMG_FILTER_CONTRAST: Changes the contrast of the image. Use arg1 to set the level of contrast.
  • IMG_FILTER_COLORIZE: Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1, arg2 and arg3 in the form of red, blue, green and arg4 for the alpha channel. The range for each color is 0 to 255.
  • IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in the image.
  • IMG_FILTER_EMBOSS: Embosses the image.
  • IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.
  • IMG_FILTER_SELECTIVE_BLUR: Blurs the image.
  • IMG_FILTER_MEAN_REMOVAL: Uses mean removal to achieve a "sketchy" effect.
  • IMG_FILTER_SMOOTH: Makes the image smoother. Use arg1 to set the level of smoothness.
  • IMG_FILTER_PIXELATE: Applies pixelation effect to the image, use arg1 to set the block size and arg2 to set the pixelation effect mode.

arg1

  • IMG_FILTER_BRIGHTNESS: Brightness level.
  • IMG_FILTER_CONTRAST: Contrast level.
  • IMG_FILTER_COLORIZE: Значение красного компонента цвета.
  • IMG_FILTER_SMOOTH: Smoothness level.
  • IMG_FILTER_PIXELATE: Block size in pixels.

arg2

  • IMG_FILTER_COLORIZE: Значение зеленого компонента цвета.
  • IMG_FILTER_PIXELATE: Whether to use advanced pixelation effect or not (defaults to FALSE).

arg3

  • IMG_FILTER_COLORIZE: Значение синего компонента цвета.

arg4

  • IMG_FILTER_COLORIZE: Alpha channel, A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Pixelation support (IMG_FILTER_PIXELATE) was added.
5.2.5 | Alpha support for IMG_FILTER_COLORIZE was added.

Примеры

Пример #1 imagefilter() grayscale example

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
    echo 'Image converted to grayscale.';

    imagepng($im, 'dave.png');
}
else
{
    echo 'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

Пример #2 imagefilter() brightness example

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
    echo 'Image brightness changed.';

    imagepng($im, 'sean.png');
    imagedestroy($im);
}
else
{
    echo 'Image brightness change failed.';
}
?>

Пример #3 imagefilter() colorize example

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
    echo 'Image successfully shaded green.';

    imagepng($im, 'philip.png');
    imagedestroy($im);
}
else
{
    echo 'Green shading failed.';
}
?>

Пример #4 imagefilter() negate example

<?php
// Define our negate function so its portable for
// php versions without imagefilter()
function negate($im)
{
    if(function_exists('imagefilter'))
    {
        return imagefilter($im, IMG_FILTER_NEGATE);
    }

    for($x = 0; $x < imagesx($im); ++$x)
    {
        for($y = 0; $y < imagesy($im); ++$y)
        {
            $index = imagecolorat($im, $x, $y);
            $rgb = imagecolorsforindex($index);
            $color = imagecolorallocate($im, 255 - $rgb['red'], 255 - $rgb['green'], 255 - $rgb['blue']);

            imagesetpixel($im, $x, $y, $color);
        }
    }

    return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negate($im))
{
    echo 'Image successfully converted to negative colors.';

    imagejpeg($im, 'kalle.jpg', 100);
    imagedestroy($im);
}
else
{
    echo 'Converting to negative colors failed.';
}
?>

Пример #5 imagefilter() pixelate example

<?php
// Load the PHP logo, we need to create two instances
// to show the differences
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Create the image instance we want to show the
// differences on
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Apply pixelation to each instance, with a block
// size of 3
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Merge the differences onto the output image
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1, imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0, imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Output the differences
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagefilter() pixelate

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Смотрите также

  • imageconvolution() - Apply a 3x3 convolution matrix, using coefficient and offset

imagefilltoborder
imagefontheight
GD и функции для работы с изображениями Функции


Get font height

imagefilter
imagefontwidth
GD и функции для работы с изображениями Функции
PHP Manual

imagefontheight

(PHP 4, PHP 5)

imagefontheight — Get font height

Описание

int imagefontheight ( int $font )

Returns the pixel height of a character in the specified font.

Список параметров

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

Возвращаемые значения

Returns the height of the pixel.

Примеры

Пример #1 Using imagefontheight() on built-in fonts

<?php
echo 'Font height: ' . imagefontheight(4);
?>

Результатом выполнения данного примера будет что-то подобное:

Font height: 16

Пример #2 Using imagefontheight() together with imageloadfont()

<?php
// Load a .gdf font
$font = imageloadfont('anonymous.gdf');

echo 'Font height: ' . imagefontheight($font);
?>

Результатом выполнения данного примера будет что-то подобное:

Font height: 43

Смотрите также

  • imagefontwidth() - Get font width
  • imageloadfont() - Load a new font

imagefilter
imagefontwidth
GD и функции для работы с изображениями Функции


Get font width

imagefontheight
imageftbbox
GD и функции для работы с изображениями Функции
PHP Manual

imagefontwidth

(PHP 4, PHP 5)

imagefontwidth — Get font width

Описание

int imagefontwidth ( int $font )

Returns the pixel width of a character in font.

Список параметров

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

Возвращаемые значения

Returns the width of the pixel

Примеры

Пример #1 Using imagefontwidth() on built-in fonts

<?php
echo 'Font width: ' . imagefontwidth(4);
?>

Результатом выполнения данного примера будет что-то подобное:

Font width: 8

Пример #2 Using imagefontwidth() together with imageloadfont()

<?php
// Load a .gdf font
$font = imageloadfont('anonymous.gdf');

echo 'Font width: ' . imagefontwidth($font);
?>

Результатом выполнения данного примера будет что-то подобное:

Font width: 23

Смотрите также

  • imagefontheight() - Get font height
  • imageloadfont() - Load a new font

imagefontheight
imageftbbox
GD и функции для работы с изображениями Функции


Give the bounding box of a text using fonts via freetype2

imagefontwidth
imagefttext
GD и функции для работы с изображениями Функции
PHP Manual

imageftbbox

(PHP 4 >= 4.0.7, PHP 5)

imageftbbox — Give the bounding box of a text using fonts via freetype2

Описание

array imageftbbox ( float $size , float $angle , string $fontfile , string $text [, array $extrainfo ] )

This function calculates and returns the bounding box in pixels for a FreeType text.

Список параметров

size

Размер шрифта. В зависимости от вашей версии GD, он должен быть указан либо в пикселах (GD1) либо в типографских пунктах (GD2).

angle

Angle in degrees in which text will be measured.

fontfile

The name of the TrueType font file (can be a URL). Depending on which version of the GD library that PHP is using, it may attempt to search for files that do not begin with a leading '/' by appending '.ttf' to the filename and searching along a library-defined font path.

text

The string to be measured.

extrainfo

Possible array indexes for extrainfo
Key | Type | Meaning
linespacing | float | Defines drawing linespacing

Возвращаемые значения

imageftbbox() returns an array with 8 elements representing four points making the bounding box of the text:

0 | lower left corner, X position
1 | lower left corner, Y position
2 | lower right corner, X position
3 | lower right corner, Y position
4 | upper right corner, X position
5 | upper right corner, Y position
6 | upper left corner, X position
7 | upper left corner, Y position

The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.

Примеры

Пример #1 imageftbbox() example

<?php
// Create a 300x150 image
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Path to our font file
$font = './arial.ttf';

// First we create our bounding box
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// This is our cordinates for X and Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Output to browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Замечание: Эта функция доступна только в случае, если PHP был скомплирован с поддержкой freetype (--with-freetype-dir=DIR )

Список изменений

Версия | Описание
4.3.5 | extrainfo was made optional.

imagefontwidth
imagefttext
GD и функции для работы с изображениями Функции


Write text to the image using fonts using FreeType 2

imageftbbox
imagegammacorrect
GD и функции для работы с изображениями Функции
PHP Manual

imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttext — Write text to the image using fonts using FreeType 2

Описание

array imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] )

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

size

The font size to use in points.

angle

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

x

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring(), where x and y define the upper-left corner of the first character. For example, "top left" is 0, 0.

y

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

color

The index of the desired color for the text, see imagecolorexact().

fontfile

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.

<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

text

Text to be inserted into image.

extrainfo

Possible array indexes for extrainfo
Key | Type | Meaning
linespacing | float | Defines drawing linespacing

Возвращаемые значения

This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | lower right x-coordinate
3 | lower right y-coordinate
4 | upper right x-coordinate
5 | upper right y-coordinate
6 | upper left x-coordinate
7 | upper left y-coordinate

Примеры

Пример #1 imagefttext() example

<?php
// Create a 300x100 image
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Make the background red
imagefilledrectangle($im, 0, 0, 299, 99, $red);

// Path to our ttf font file
$font_file = './arial.ttf';

// Draw the text 'PHP Manual' using font size 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Замечание: Эта функция доступна только в случае, если PHP был скомплирован с поддержкой freetype (--with-freetype-dir=DIR )

Список изменений

Версия | Описание
4.3.5 | extrainfo was made optional.

imageftbbox
imagegammacorrect
GD и функции для работы с изображениями Функции


Apply a gamma correction to a GD image

imagefttext
imagegd2
GD и функции для работы с изображениями Функции
PHP Manual

imagegammacorrect

(PHP 4, PHP 5)

imagegammacorrect — Apply a gamma correction to a GD image

Описание

bool imagegammacorrect ( resource $image , float $inputgamma , float $outputgamma )

Applies gamma correction to the given gd image given an input and an output gamma.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

inputgamma

The input gamma.

outputgamma

The output gamma.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagegammacorrect() usage

<?php
// Create image instance
$im = imagecreatefromgif('php.gif');

// Correct gamma, out = 1.537
imagegammacorrect($im, 1.0, 1.537);

// Save and free image
imagegif($im, './php_gamma_corrected.gif');
imagedestroy($im);
?>

imagefttext
imagegd2
GD и функции для работы с изображениями Функции


Output GD2 image to browser or file

imagegammacorrect
imagegd
GD и функции для работы с изображениями Функции
PHP Manual

imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2 — Output GD2 image to browser or file

Описание

bool imagegd2 ( resource $image [, string $filename [, int $chunk_size [, int $type = IMG_GD2_RAW ]]] )

Outputs a GD2 image to the given filename.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

chunk_size

Chunk size.

type

Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Outputting a GD2 image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Output the image
imagegd2($im);

// Free up memory
imagedestroy($im);
?>

Пример #2 Saving a GD2 image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Save the gd2 image
// The file format for GD2 images is .gd2, see http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');

// Free up memory
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Замечание:

The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.

Список изменений

Версия | Описание
4.3.2 | chunk_size and type were added.

Смотрите также

  • imagegd() - Вывод GD-изображения в браузер или в файл

imagegammacorrect
imagegd
GD и функции для работы с изображениями Функции


Вывод GD-изображения в браузер или в файл

imagegd2
imagegif
GD и функции для работы с изображениями Функции
PHP Manual

imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd — Вывод GD-изображения в браузер или в файл

Описание

bool imagegd ( resource $image [, string $filename ] )

Вывод GD-изображения в filename.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вывод GD-изображения

<?php
// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Выводим изображение
imagegd($im);

// Освобождаем память
imagedestroy($im);
?>

Пример #2 Сохранение GD-изображения

<?php
// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Сохраняем GD-изображение
// Расширением GD-изображений является .gd, подробнее на http://www.libgd.org/GdFileFormats
imagegd($im, 'simple.gd');

// Освобождаем память
imagedestroy($im);
?>

Примечания

Замечание:

Формат GD обычно используется для быстрой загрузки деталей изображения. Заметим, что формат GD используется только в GD-совместимых приложениях.

Смотрите также

  • imagegd2() - Output GD2 image to browser or file

imagegd2
imagegif
GD и функции для работы с изображениями Функции


Выводит изображение в браузер или пишет в файл

imagegd
imagegrabscreen
GD и функции для работы с изображениями Функции
PHP Manual

imagegif

(PHP 4, PHP 5)

imagegif — Выводит изображение в браузер или пишет в файл

Описание

bool imagegif ( resource $image [, string $filename ] )

imagegif() creates the GIF file in filename from the image image. The image argument is the return from the imagecreate() or imagecreatefrom* function.

The image format will be GIF87a unless the image has been made transparent with imagecolortransparent(), in which case the image format will be GIF89a.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Outputting an image using imagegif()

<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);

// Make the background white
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

// Draw a text string on the image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

// Output the image to browser
header('Content-Type: image/gif');

imagegif($im);
imagedestroy($im);
?>

Пример #2 Converting a PNG image to GIF using imagegif()

<?php

// Load the PNG
$png = imagecreatefrompng('./php.png');

// Save the image as a GIF
imagegif($png, './php.gif');

// Free from memory
imagedestroy($png);

// We're done
echo 'Converted PNG image to GIF with success!';
?>

Примечания

Замечание:

GIF support was removed from the GD library in Version 1.6, and added back in Version 2.0.28. This function is not available between these versions. For more information, see the » GD Project site.

The following code snippet allows you to write more portable PHP applications by auto-detecting the type of GD support which is available. Replace the sequence header ("Content-Type: image/gif"); imagegif ($im); by the more flexible sequence:

<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);

// Do some image operations here

// Handle output
if(function_exists('imagegif'))
{
    // For GIF
    header('Content-Type: image/gif');

    imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
    // For JPEG
    header('Content-Type: image/jpeg');

    imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
    // For PNG
    header('Content-Type: image/png');

    imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
    // For WBMP
    header('Content-Type: image/vnd.wap.wbmp');

    imagewbmp($im);
}
else
{
    imagedestroy($im);

    die('No image support in this PHP server');
}

// If image support was found for one of these
// formats, then free it from memory
if($im)
{
    imagedestroy($im);
}
?>

Замечание:

As of PHP 4.0.2 you can use the function imagetypes() in place of function_exists() for checking the presence of the various supported image formats:

<?php
if(imagetypes() & IMG_GIF)
{
    header('Content-Type: image/gif');
    imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
    /* ... etc. */
}
?>

Смотрите также

  • imagepng() - Output a PNG image to either the browser or a file
  • imagewbmp() - Выводит изображение в браузер или пишет в файл
  • imagejpeg() - Выводит изображение в браузер или пишет в файл
  • imagetypes() - Return the image types supported by this PHP build

imagegd
imagegrabscreen
GD и функции для работы с изображениями Функции


Captures the whole screen

imagegif
imagegrabwindow
GD и функции для работы с изображениями Функции
PHP Manual

imagegrabscreen

(PHP 5 >= 5.2.2)

imagegrabscreen — Captures the whole screen

Описание

resource imagegrabscreen ( void )

Grabs a screenshot of the whole screen.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on failure.

Примеры

Пример #1 imagegrabscreen() example

This example demonstrates how to take a screenshot of the current screen and save it as a png image.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

Примечания

Замечание:

This function is only available on Windows.

Смотрите также

  • imagegrabwindow() - Captures a window

imagegif
imagegrabwindow
GD и функции для работы с изображениями Функции


Captures a window

imagegrabscreen
imageinterlace
GD и функции для работы с изображениями Функции
PHP Manual

imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindow — Captures a window

Описание

resource imagegrabwindow ( int $window_handle [, int $client_area = 0 ] )

Grabs a window or its client area using a windows handle (HWND property in COM instance)

Список параметров

window_handle

The HWND window ID.

client_area

Include the client area of the application window.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on failure.

Ошибки

E_NOTICE is issued if window_handle is invalid window handle. E_WARNING is issued if the Windows API is too old.

Примеры

Пример #1 imagegrabwindow() example

Capture a window (IE for example)

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capture a window (IE for example) but with its content

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Still working? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Примечания

Замечание:

This function is only available on Windows.

Смотрите также

  • imagegrabscreen() - Captures the whole screen

imagegrabscreen
imageinterlace
GD и функции для работы с изображениями Функции


Enable or disable interlace

imagegrabwindow
imageistruecolor
GD и функции для работы с изображениями Функции
PHP Manual

imageinterlace

(PHP 4, PHP 5)

imageinterlace — Enable or disable interlace

Описание

int imageinterlace ( resource $image [, int $interlace = 0 ] )

imageinterlace() turns the interlace bit on or off.

If the interlace bit is set and the image is used as a JPEG image, the image is created as a progressive JPEG.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

interlace

If non-zero, the image will be interlaced, else the interlace bit is turned off.

Возвращаемые значения

Returns 1 if the interlace bit is set for the image, 0 otherwise.

Примеры

Пример #1 Turn on interlacing using imageinterlace()

<?php
// Create an image instance
$im = imagecreatefromgif('php.gif');

// Enable interlancing
imageinterlace($im, true);

// Save the interlaced image
imagegif($im, './php_interlaced.gif');
imagedestroy($im);
?>

imagegrabwindow
imageistruecolor
GD и функции для работы с изображениями Функции


Finds whether an image is a truecolor image

imageinterlace
imagejpeg
GD и функции для работы с изображениями Функции
PHP Manual

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5)

imageistruecolor — Finds whether an image is a truecolor image

Описание

bool imageistruecolor ( resource $image )

imageistruecolor() finds whether the image image is a truecolor image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

Возвращаемые значения

Returns TRUE if the image is truecolor, FALSE otherwise.

Примеры

Пример #1 Simple detection of true color image instances using imageistruecolor()

<?php
// $im is an image instance

// Check if image is a true color image or not
if(!imageistruecolor($im))
{
    // Create a new true color image instance
    $tc = imagecreatetruecolor(imagesx($im), imagesy($im));

    imagecopy($tc, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
    imagedestroy($im);

    $im = $tc;
    $tc = NULL;
}

// Continue working with image instance
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecreatetruecolor() - Create a new true color image

imageinterlace
imagejpeg
GD и функции для работы с изображениями Функции


Выводит изображение в браузер или пишет в файл

imageistruecolor
imagelayereffect
GD и функции для работы с изображениями Функции
PHP Manual

imagejpeg

(PHP 4, PHP 5)

imagejpeg — Выводит изображение в браузер или пишет в файл

Описание

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

Функция imagejpeg() создаёт файл JPEG из изображенияimage.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

Если вы хотите пропустить этот параметр и использовать quality, то укажите NULL.

quality

Необязательный параметр, и может принимать значения в диапазоне от 0 (низкое качество, маленький размер файла) до 100 (высокое качество, большой размер файла). По умолчанию используется качество IJG (около 75).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Вывод JPEG-изображения

<?php
// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Устанавливаем тип содержимого в заголовок, в данном случае image/jpeg
header('Content-Type: image/jpeg');

// Выводим изображение
imagejpeg($im);

// Освобождаем память
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Пример выведет изображение JPEG

Пример #2 Сохранение изображения JPEG

<?php
// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Сохраняем изображение в 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');

// Освобождаем память
imagedestroy($im);
?>

Пример #3 Вывод JPEG-изображения с 75% качеством

<?php
// Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Устанавливаем тип содержимого в заголовок, в данном случае image/jpeg
header('Content-Type: image/jpeg');

// Пропускаем параметр filename, используя NULL, а затем устанавливаем качество в 75%
imagejpeg($im, NULL, 75);

// Освобождаем память
imagedestroy($im);
?>

Примечания

Замечание: Поддержка JPEG доступна только в случае, если PHP был скомпилирован с GD-1.8 или более поздней версии.

Замечание:

Если требуется вывести Progressive JPEG (прогрессивное представление данных), то необходимо использовать функцию imageinterlace() для активации соответствующего режима.

Смотрите также

  • imagepng() - Output a PNG image to either the browser or a file
  • imagegif() - Выводит изображение в браузер или пишет в файл
  • imagewbmp() - Выводит изображение в браузер или пишет в файл
  • imageinterlace() - Enable or disable interlace
  • imagetypes() - Return the image types supported by this PHP build

imageistruecolor
imagelayereffect
GD и функции для работы с изображениями Функции


Set the alpha blending flag to use the bundled libgd layering effects

imagejpeg
imageline
GD и функции для работы с изображениями Функции
PHP Manual

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5)

imagelayereffect — Set the alpha blending flag to use the bundled libgd layering effects

Описание

bool imagelayereffect ( resource $image , int $effect )

Set the alpha blending flag to use the bundled libgd layering effects.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

effect

One of the following constants:

IMG_EFFECT_REPLACE
Use pixel replacement (equivalent of passing TRUE to imagealphablending())
IMG_EFFECT_ALPHABLEND
Use normal pixel blending (equivalent of passing FALSE to imagealphablending())
IMG_EFFECT_NORMAL
Same as IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
Overlay has the effect that black background pixels will remain black, white background pixels will remain white, but grey background pixels will take the colour of the foreground pixel.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagelayereffect() example

<?php
// Setup an image
$im = imagecreatetruecolor(100, 100);

// Set a background
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Apply the overlay alpha blending flag
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Draw two grey ellipses
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagelayereffect()

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagejpeg
imageline
GD и функции для работы с изображениями Функции


Draw a line

imagelayereffect
imageloadfont
GD и функции для работы с изображениями Функции
PHP Manual

imageline

(PHP 4, PHP 5)

imageline — Draw a line

Описание

bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Draws a line between the two given points.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x1

x-coordinate for first point.

y1

y-coordinate for first point.

x2

x-coordinate for second point.

y2

y-coordinate for second point.

color

The line color. A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Drawing a thick line

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    /* this way it works well only for orthogonal lines
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    if ($thick == 1) {
        return imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    $t = $thick / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $points = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($image, $points, 4, $color);
    return imagepolygon($image, $points, 4, $color);
}

?>

Смотрите также

  • imagecreatetruecolor() - Create a new true color image
  • imagecolorallocate() - Allocate a color for an image

imagelayereffect
imageloadfont
GD и функции для работы с изображениями Функции


Load a new font

imageline
imagepalettecopy
GD и функции для работы с изображениями Функции
PHP Manual

imageloadfont

(PHP 4, PHP 5)

imageloadfont — Load a new font

Описание

int imageloadfont ( string $file )

imageloadfont() loads a user-defined bitmap and returns its identifier.

Список параметров

file

The font file format is currently binary and architecture dependent. This means you should generate the font files on the same type of CPU as the machine you are running PHP on.

Font file format
byte position | C data type | description
byte 0-3 | int | number of characters in the font
byte 4-7 | int | value of first character in the font (often 32 for space)
byte 8-11 | int | pixel width of each character
byte 12-15 | int | pixel height of each character
byte 16- | char | array with character data, one byte per pixel in each character, for a total of (nchars*width*height) bytes.

Возвращаемые значения

The font identifier which is always bigger than 5 to avoid conflicts with built-in fonts or FALSE on errors.

Примеры

Пример #1 imageloadfont() usage example

<?php
// Create a new image instance
$im = imagecreatetruecolor(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Make the background white
imagefilledrectangle($im, 0, 0, 49, 19, $white);

// Load the gd font and write 'Hello'
$font = imageloadfont('./04b.gdf');
imagestring($im, $font, 0, 0, 'Hello', $black);

// Output to browser
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Смотрите также

  • imagefontwidth() - Get font width
  • imagefontheight() - Get font height

imageline
imagepalettecopy
GD и функции для работы с изображениями Функции


Copy the palette from one image to another

imageloadfont
imagepng
GD и функции для работы с изображениями Функции
PHP Manual

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5)

imagepalettecopy — Copy the palette from one image to another

Описание

void imagepalettecopy ( resource $destination , resource $source )

imagepalettecopy() copies the palette from the source image to the destination image.

Список параметров

destination

The destination image resource.

source

The source image resource.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 imagepalettecopy() example

<?php
// Create two palette images
$palette1 = imagecreate(100, 100);
$palette2 = imagecreate(100, 100);

// Allocate the background to be
// green in the first palette image
$green = imagecolorallocate($palette1, 0, 255, 0);

// Copy the palette from image 1 to image 2
imagepalettecopy($palette2, $palette1);

// Since the palette is now copied we can use the
// green color allocated to image 1 without using
// imagecolorallocate() twice
imagefilledrectangle($palette2, 0, 0, 99, 99, $green);

// Output image to the browser
header('Content-type: image/png');

imagepng($palette2);
imagedestroy($palette1);
imagedestroy($palette2);
?>

imageloadfont
imagepng
GD и функции для работы с изображениями Функции


Output a PNG image to either the browser or a file

imagepalettecopy
imagepolygon
GD и функции для работы с изображениями Функции
PHP Manual

imagepng

(PHP 4, PHP 5)

imagepng — Output a PNG image to either the browser or a file

Описание

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

Outputs or saves a PNG image from the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

Замечание:

NULL is invalid if the quality and filters arguments are not used.

quality

Compression level: from 0 (no compression) to 9.

filters

Allows reducing the PNG file size. It is a bitmask field which may be set to any combination of the PNG_FILTER_XXX constants. PNG_NO_FILTER or PNG_ALL_FILTERS may also be used to respectively disable or activate all filters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.1.3 | Added the filters parameter.
5.1.2 | Added the quality parameter.

Примеры

<?php
$im = imagecreatefrompng("test.png");

header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Смотрите также

  • imagegif() - Выводит изображение в браузер или пишет в файл
  • imagewbmp() - Выводит изображение в браузер или пишет в файл
  • imagejpeg() - Выводит изображение в браузер или пишет в файл
  • imagetypes() - Return the image types supported by this PHP build
  • imagesavealpha() - Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagepalettecopy
imagepolygon
GD и функции для работы с изображениями Функции


Draws a polygon

imagepng
imagepsbbox
GD и функции для работы с изображениями Функции
PHP Manual

imagepolygon

(PHP 4, PHP 5)

imagepolygon — Draws a polygon

Описание

bool imagepolygon ( resource $image , array $points , int $num_points , int $color )

imagepolygon() creates a polygon in the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

points

An array containing the polygon's vertices, e.g.:

points[0] | = x0
points[1] | = y0
points[2] | = x1
points[3] | = y1

num_points

Total number of points (vertices).

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagepolygon() example

<?php
// Create a blank image
$image = imagecreatetruecolor(400, 300);

// Allocate a color for the polygon
$col_poly = imagecolorallocate($image, 255, 255, 255);

// Draw the polygon
imagepolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// Output the picture to the browser
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagepolygon()

Смотрите также

  • imagecreate() - Create a new palette based image
  • imagecreatetruecolor() - Create a new true color image

imagepng
imagepsbbox
GD и функции для работы с изображениями Функции


Give the bounding box of a text rectangle using PostScript Type1 fonts

imagepolygon
imagepsencodefont
GD и функции для работы с изображениями Функции
PHP Manual

imagepsbbox

(PHP 4, PHP 5)

imagepsbbox — Give the bounding box of a text rectangle using PostScript Type1 fonts

Описание

array imagepsbbox ( string $text , resource $font , int $size )
array imagepsbbox ( string $text , resource $font , int $size , int $space , int $tightness , float $angle )

Gives the bounding box of a text rectangle using PostScript Type1 fonts.

The bounding box is calculated using information available from character metrics, and unfortunately tends to differ slightly from the results achieved by actually rasterizing the text. If the angle is 0 degrees, you can expect the text to need 1 pixel more to every direction.

Список параметров

text

The text to be written.

font_index

A font resource, returned by imagepsloadfont().

size

size is expressed in pixels.

space

Allows you to change the default value of a space in a font. This amount is added to the normal value and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

tightness

tightness allows you to control the amount of white space between characters. This amount is added to the normal character width and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

angle

angle is in degrees.

Возвращаемые значения

Returns an array containing the following elements:

0 | left x-coordinate
1 | upper y-coordinate
2 | right x-coordinate
3 | lower y-coordinate

Примеры

Пример #1 imagepsbbox() usage

<?php
// Create image handle
$im = imagecreatetruecolor(200, 200);

// Allocate colors
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Load the PostScript Font
$font = imagepsloadfont('font.pfm');

// Make a bounding box for the font
$bbox = imagepsbbox('Sample text is simple', $font, 12);

// Define our X and Y cordinates
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;

// Write the font to the image
imagepstext($im, 'Sample text is simple', $font, 12, $black, $white, $x, $y);

// Output and free memory
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

Смотрите также

  • imagepstext() - Draws a text over an image using PostScript Type1 fonts

imagepolygon
imagepsencodefont
GD и функции для работы с изображениями Функции


Change the character encoding vector of a font

imagepsbbox
imagepsextendfont
GD и функции для работы с изображениями Функции
PHP Manual

imagepsencodefont

(PHP 4, PHP 5)

imagepsencodefont — Change the character encoding vector of a font

Описание

bool imagepsencodefont ( resource $font_index , string $encodingfile )

Loads a character encoding vector from a file and changes the fonts encoding vector to it. As a PostScript fonts default vector lacks most of the character positions above 127, you'll definitely want to change this if you use an other language than English.

If you find yourself using this function all the time, a much better way to define the encoding is to set ps.default_encoding in the configuration file to point to the right encoding file and all fonts you load will automatically have the right encoding.

Список параметров

font_index

A font resource, returned by imagepsloadfont().

encodingfile

The exact format of this file is described in T1libs documentation. T1lib comes with two ready-to-use files, IsoLatin1.enc and IsoLatin2.enc.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagepsencodefont() example

<?php
// Load a .pfb font file
$font = imagepsloadfont('./px3l.pfb');

// Tell T1lib to use ISO Latin 1 encoding
imagepsencode($font, './IsoLatin1.enc');

// Do any operations with the font here

// Free the font from memory
imagepsfreefont($font);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

imagepsbbox
imagepsextendfont
GD и функции для работы с изображениями Функции


Extend or condense a font

imagepsencodefont
imagepsfreefont
GD и функции для работы с изображениями Функции
PHP Manual

imagepsextendfont

(PHP 4, PHP 5)

imagepsextendfont — Extend or condense a font

Описание

bool imagepsextendfont ( resource $font_index , float $extend )

Extend or condense a font (font_index), if the value of the extend parameter is less than one you will be condensing the font.

Список параметров

font_index

A font resource, returned by imagepsloadfont().

extend

Extension value, must be greater than 0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagepsextendfont() example

<?php
// Load a .pfb font file
$font = imagepsloadfont('./px3l.pfb');

// Extend the font by 2.5
imagepsextendfont($font, 2.5);

// Do any operations with the font here

// Free the font from memory
imagepsfreefont($font);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

imagepsencodefont
imagepsfreefont
GD и функции для работы с изображениями Функции


Free memory used by a PostScript Type 1 font

imagepsextendfont
imagepsloadfont
GD и функции для работы с изображениями Функции
PHP Manual

imagepsfreefont

(PHP 4, PHP 5)

imagepsfreefont — Free memory used by a PostScript Type 1 font

Описание

bool imagepsfreefont ( resource $font_index )

imagepsfreefont() frees memory used by a PostScript Type 1 font.

Список параметров

font_index

A font resource, returned by imagepsloadfont().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagepsfreefont() example

<?php
// Load a .pfb font file
$font = imagepsloadfont('./bchbi.pfb');

// Do any operations with the font here

// Free the font from memory
imagepsfreefont($font);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

Смотрите также

  • imagepsloadfont() - Load a PostScript Type 1 font from file

imagepsextendfont
imagepsloadfont
GD и функции для работы с изображениями Функции


Load a PostScript Type 1 font from file

imagepsfreefont
imagepsslantfont
GD и функции для работы с изображениями Функции
PHP Manual

imagepsloadfont

(PHP 4, PHP 5)

imagepsloadfont — Load a PostScript Type 1 font from file

Описание

resource imagepsloadfont ( string $filename )

Load a PostScript Type 1 font from the given filename.

Список параметров

filename

Path to the Postscript font file.

Возвращаемые значения

In the case everything went right, a valid font index will be returned and can be used for further purposes. Otherwise the function returns FALSE.

Примеры

Пример #1 imagepsloadfont() example

<?php
// Create a new image instance
$im = imagecreatetruecolor(350, 45);

// Allocate colors and fill the background
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 349, 44, $white);

// Load a font, write to the image and free the font from memory
$font = imagepsloadfont("bchbi.pfb");
imagepstext($im, "Testing... It worked!", $font, 32, $white, $black, 32, 32);
imagepsfreefont($font);

// Output the image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

Смотрите также

  • imagepsfreefont() - Free memory used by a PostScript Type 1 font

imagepsfreefont
imagepsslantfont
GD и функции для работы с изображениями Функции


Slant a font

imagepsloadfont
imagepstext
GD и функции для работы с изображениями Функции
PHP Manual

imagepsslantfont

(PHP 4, PHP 5)

imagepsslantfont — Slant a font

Описание

bool imagepsslantfont ( resource $font_index , float $slant )

Slant a given font given.

Список параметров

font_index

A font resource, returned by imagepsloadfont().

slant

Slant level.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagepsslantfont() example

<?php
// Load a .pfb font file
$font = imagepsloadfont('./px3l.pfb');

// Slant the font by 22.5
imagepsslantfont($font, 22.5);

// Do any operations with the font here

// Free the font from memory
imagepsfreefont($font);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

imagepsloadfont
imagepstext
GD и функции для работы с изображениями Функции


Draws a text over an image using PostScript Type1 fonts

imagepsslantfont
imagerectangle
GD и функции для работы с изображениями Функции
PHP Manual

imagepstext

(PHP 4, PHP 5)

imagepstext — Draws a text over an image using PostScript Type1 fonts

Описание

array imagepstext ( resource $image , string $text , resource $font_index , int $size , int $foreground , int $background , int $x , int $y [, int $space = 0 [, int $tightness = 0 [, float $angle = 0.0 [, int $antialias_steps = 4 ]]]] )

Draws a text on an image using PostScript Type1 fonts.

Refer to PostScript documentation about fonts and their measuring system if you have trouble understanding how this works.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

text

The text to be written.

font_index

A font resource, returned by imagepsloadfont().

size

size is expressed in pixels.

foreground

The color in which the text will be painted.

background

The color to which the text will try to fade in with antialiasing. No pixels with the color background are actually painted, so the background image does not need to be of solid color.

x

x-coordinate for the lower-left corner of the first character.

y

y-coordinate for the lower-left corner of the first character.

space

Allows you to change the default value of a space in a font. This amount is added to the normal value and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

tightness

tightness allows you to control the amount of white space between characters. This amount is added to the normal character width and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

angle

angle is in degrees.

antialias_steps

Allows you to control the number of colours used for antialiasing text. Allowed values are 4 and 16. The higher value is recommended for text sizes lower than 20, where the effect in text quality is quite visible. With bigger sizes, use 4. It's less computationally intensive.

Возвращаемые значения

This function returns an array containing the following elements:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | upper right x-coordinate
3 | upper right y-coordinate

Примеры

Пример #1 imagepstext() usage

<?php
// Create image handle
$im = imagecreatetruecolor(200, 200);

// Allocate colors
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Load the PostScript Font
$font = imagepsloadfont('font.pfm');

// Write the font to the image
imagepstext($im, 'Sample text is simple', $font, 12, $black, $white, 50, 50);

// Output and free memory
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --with-t1lib[=DIR] .

Смотрите также

  • imagepsbbox() - Give the bounding box of a text rectangle using PostScript Type1 fonts

imagepsslantfont
imagerectangle
GD и функции для работы с изображениями Функции


Draw a rectangle

imagepstext
imagerotate
GD и функции для работы с изображениями Функции
PHP Manual

imagerectangle

(PHP 4, PHP 5)

imagerectangle — Draw a rectangle

Описание

bool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

imagerectangle() creates a rectangle starting at the specified coordinates.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x1

Upper left x coordinate.

y1

Upper left y coordinate 0, 0 is the top left corner of the image.

x2

Bottom right x coordinate.

y2

Bottom right y coordinate.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Simple imagerectangle() example

<?php
// Create a 200 x 200 image
$canvas = imagecreatetruecolor(200, 200);

// Allocate colors
$pink = imagecolorallocate($canvas, 255, 105, 180);
$white = imagecolorallocate($canvas, 255, 255, 255);
$green = imagecolorallocate($canvas, 132, 135, 28);

// Draw three rectangles each with its own color
imagerectangle($canvas, 50, 50, 150, 150, $pink);
imagerectangle($canvas, 45, 60, 120, 100, $white);
imagerectangle($canvas, 100, 120, 75, 160, $green);

// Output and free from memory
header('Content-Type: image/jpeg');

imagejpeg($canvas);
imagedestroy($canvas);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Simple imagerectangle() example

imagepstext
imagerotate
GD и функции для работы с изображениями Функции


Поворот изображения с заданным углом

imagerectangle
imagesavealpha
GD и функции для работы с изображениями Функции
PHP Manual

imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate — Поворот изображения с заданным углом

Описание

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )

Поворот изображения image на заданный угол angle в градусах.

Центром поворота является центр изображения. Поворачиваемое изображение может отличаться размером от оригинала.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

angle

Угол поворота в градусах против часовой стрелки.

bgd_color

Цвет фона свободной зоны после поворота.

ignore_transparent

Если установлено и не равно нулю, прозрачность игнорируются (иначе сохраняется).

Возвращаемые значения

Возвращает ресурс повёрнутого изображения в случае успеха, или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр ignore_transparent.

Примеры

Пример #1 Поворот изображения на 180 градусов

Этот пример поворачивает изображения на 180 градусов - верхом вниз.

<?php
// Файл и угол поворота
$filename = 'test.jpg';
$degrees = 180;

// Тип содержимого
header('Content-type: image/jpeg');

// Загрузка изображения
$source = imagecreatefromjpeg($filename);

// Поворот
$rotate = imagerotate($source, $degrees, 0);

// Вывод
imagejpeg($rotate);
?>

Результатом выполнения данного примера будет что-то подобное:

Пример выведет изображение повёрнутое на 180 градусов

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

imagerectangle
imagesavealpha
GD и функции для работы с изображениями Функции


Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagerotate
imagesetbrush
GD и функции для работы с изображениями Функции
PHP Manual

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5)

imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

Описание

bool imagesavealpha ( resource $image , bool $saveflag )

imagesavealpha() sets the flag to attempt to save full alpha channel information (as opposed to single-color transparency) when saving PNG images.

You have to unset alphablending (imagealphablending($im, false)), to use it.

Alpha channel is not supported by all browsers, if you have problem with your browser, try to load your script with an alpha channel compliant browser, e.g. latest Mozilla.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

saveflag

Whether to save the alpha channel or not. Default to FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagesavealpha() example

<?php
// Load a png image with alpha channels
$png = imagecreatefrompng('./alphachannel_example.png');

// Do required operations

// Turn off alpha blending and set alpha flag
imagealphablending($png, false);
imagesavealpha($png, true);

// Output image to browser
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagealphablending() - Set the blending mode for an image

imagerotate
imagesetbrush
GD и функции для работы с изображениями Функции


Set the brush image for line drawing

imagesavealpha
imagesetpixel
GD и функции для работы с изображениями Функции
PHP Manual

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5)

imagesetbrush — Set the brush image for line drawing

Описание

bool imagesetbrush ( resource $image , resource $brush )

imagesetbrush() sets the brush image to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special colors IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

brush

An image resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagesetbrush() example

<?php
// Load a mini php logo
$php = imagecreatefrompng('./php.png');

// Create the main image, 100x100
$im = imagecreatetruecolor(100, 100);

// Fill the background with white
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Set the brush
imagesetbrush($im, $php);

// Draw a couple of brushes, each overlaying each
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Output image to the browser
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagesetbrush()

Примечания

Замечание:

You need not take special action when you are finished with a brush, but if you destroy the brush image, you must not use the IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED colors until you have set a new brush image!

imagesavealpha
imagesetpixel
GD и функции для работы с изображениями Функции


Set a single pixel

imagesetbrush
imagesetstyle
GD и функции для работы с изображениями Функции
PHP Manual

imagesetpixel

(PHP 4, PHP 5)

imagesetpixel — Set a single pixel

Описание

bool imagesetpixel ( resource $image , int $x , int $y , int $color )

imagesetpixel() draws a pixel at the specified coordinate.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

x

x-coordinate.

y

y-coordinate.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagesetpixel() example

A random drawing that ends with a regular picture.

<?php

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' =>  10);
$corners[1] = array('x' =>   0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0);

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $red);
  $a = rand(0, 2);
  $x = ($x + $corners[$a]['x']) / 2;
  $y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagesetpixel()

Смотрите также

  • imagecreatetruecolor() - Create a new true color image
  • imagecolorallocate() - Allocate a color for an image

imagesetbrush
imagesetstyle
GD и функции для работы с изображениями Функции


Set the style for line drawing

imagesetpixel
imagesetthickness
GD и функции для работы с изображениями Функции
PHP Manual

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5)

imagesetstyle — Set the style for line drawing

Описание

bool imagesetstyle ( resource $image , array $style )

imagesetstyle() sets the style to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special color IMG_COLOR_STYLED or lines of images with color IMG_COLOR_STYLEDBRUSHED.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

style

An array of pixel colors. You can use the IMG_COLOR_TRANSPARENT constant to add a transparent pixel.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Following example script draws a dashed line from upper left to lower right corner of the canvas:

Пример #1 imagesetstyle() example

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Draw a dashed line, 5 red pixels, 5 white pixels */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagesetstyle()

Смотрите также

  • imagesetbrush() - Set the brush image for line drawing
  • imageline() - Draw a line

imagesetpixel
imagesetthickness
GD и функции для работы с изображениями Функции


Set the thickness for line drawing

imagesetstyle
imagesettile
GD и функции для работы с изображениями Функции
PHP Manual

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5)

imagesetthickness — Set the thickness for line drawing

Описание

bool imagesetthickness ( resource $image , int $thickness )

imagesetthickness() sets the thickness of the lines drawn when drawing rectangles, polygons, ellipses etc. etc. to thickness pixels.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

thickness

Thickness, in pixels.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagesetthickness() example

<?php
// Create a 200x100 image
$im = imagecreatetruecolor(200, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Set the line thickness to 5
imagesetthickness($im, 5);

// Draw the rectangle
imagerectangle($im, 14, 14, 185, 85, $black);

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagesetthickness()

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagesetstyle
imagesettile
GD и функции для работы с изображениями Функции


Set the tile image for filling

imagesetthickness
imagestring
GD и функции для работы с изображениями Функции
PHP Manual

imagesettile

(PHP 4 >= 4.0.6, PHP 5)

imagesettile — Set the tile image for filling

Описание

bool imagesettile ( resource $image , resource $tile )

imagesettile() sets the tile image to be used by all region filling functions (such as imagefill() and imagefilledpolygon()) when filling with the special color IMG_COLOR_TILED.

A tile is an image used to fill an area with a repeated pattern. Any GD image can be used as a tile, and by setting the transparent color index of the tile image with imagecolortransparent(), a tile allows certain parts of the underlying area to shine through can be created.

Замечание:

You need not take special action when you are finished with a tile, but if you destroy the tile image, you must not use the IMG_COLOR_TILED color until you have set a new tile image!

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

tile

The image resource to be used as a tile.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagesettile() example

<?php
// Load an external image
$zend = imagecreatefromgif('./zend.gif');

// Create a 200x200 image
$im = imagecreatetruecolor(200, 200);

// Set the tile
imagesettile($im, $zend);

// Make the image repeat
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagesettile()

imagesetthickness
imagestring
GD и функции для работы с изображениями Функции


Draw a string horizontally

imagesettile
imagestringup
GD и функции для работы с изображениями Функции
PHP Manual

imagestring

(PHP 4, PHP 5)

imagestring — Draw a string horizontally

Описание

bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )

Draws a string at the given coordinates.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

x

x-coordinate of the upper left corner.

y

y-coordinate of the upper left corner.

string

The string to be written.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagestring() example

<?php
// Create a 100*30 image
$im = imagecreate(100, 30);

// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Write the string at the top left
imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);

// Output the image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagestring()

Смотрите также

  • imageloadfont() - Load a new font
  • imagettftext() - Write text to the image using TrueType fonts

imagesettile
imagestringup
GD и функции для работы с изображениями Функции


Draw a string vertically

imagestring
imagesx
GD и функции для работы с изображениями Функции
PHP Manual

imagestringup

(PHP 4, PHP 5)

imagestringup — Draw a string vertically

Описание

bool imagestringup ( resource $image , int $font , int $x , int $y , string $string , int $color )

Draws a string vertically at the given coordinates.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

font

Может принимать значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или любому из ваших собственных идентификаторов шрифтов, зарегистрированных с помощью imageloadfont().

x

x-coordinate of the bottom left corner.

y

y-coordinate of the bottom left corner.

string

The string to be written.

color

A color identifier created with imagecolorallocate().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imagestringup() example

<?php
// create a 100*100 image
$im = imagecreatetruecolor(100, 100);

// Write the text
$textcolor = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
imagestringup($im, 3, 40, 80, 'gd library', $textcolor);

// Save the image
imagepng($im, './stringup.png');
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagestringup()

Смотрите также

  • imageloadfont() - Load a new font

imagestring
imagesx
GD и функции для работы с изображениями Функции


Get image width

imagestringup
imagesy
GD и функции для работы с изображениями Функции
PHP Manual

imagesx

(PHP 4, PHP 5)

imagesx — Get image width

Описание

int imagesx ( resource $image )

Returns the width of the given image resource.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

Возвращаемые значения

Return the width of the image or FALSE on errors.

Примеры

Пример #1 Using imagesx()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // 300

?>

Смотрите также

  • imagecreatetruecolor() - Create a new true color image
  • getimagesize() - Get the size of an image
  • imagesy() - Get image height

imagestringup
imagesy
GD и функции для работы с изображениями Функции


Get image height

imagesx
imagetruecolortopalette
GD и функции для работы с изображениями Функции
PHP Manual

imagesy

(PHP 4, PHP 5)

imagesy — Get image height

Описание

int imagesy ( resource $image )

Returns the height of the given image resource.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

Возвращаемые значения

Return the height of the image or FALSE on errors.

Примеры

Пример #1 Using imagesy()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // 200

?>

Смотрите также

  • imagecreatetruecolor() - Create a new true color image
  • getimagesize() - Get the size of an image
  • imagesx() - Get image width

imagesx
imagetruecolortopalette
GD и функции для работы с изображениями Функции


Convert a true color image to a palette image

imagesy
imagettfbbox
GD и функции для работы с изображениями Функции
PHP Manual

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5)

imagetruecolortopalette — Convert a true color image to a palette image

Описание

bool imagetruecolortopalette ( resource $image , bool $dither , int $ncolors )

imagetruecolortopalette() converts a truecolor image to a palette image. The code for this function was originally drawn from the Independent JPEG Group library code, which is excellent. The code has been modified to preserve as much alpha channel information as possible in the resulting palette, in addition to preserving colors as well as possible. This does not work as well as might be hoped. It is usually best to simply produce a truecolor output image instead, which guarantees the highest output quality.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

dither

Indicates if the image should be dithered - if it is TRUE then dithering will be used which will result in a more speckled image but with better color approximation.

ncolors

Sets the maximum number of colors that should be retained in the palette.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Converting a true color image to a palette-based image

<?php
// Create a new true color image
$im = imagecreatetruecolor(100, 100);

// Convert to palette-based with no dithering and 255 colors
imagetruecolortopalette($im, false, 255);

// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagesy
imagettfbbox
GD и функции для работы с изображениями Функции


Give the bounding box of a text using TrueType fonts

imagetruecolortopalette
imagettftext
GD и функции для работы с изображениями Функции
PHP Manual

imagettfbbox

(PHP 4, PHP 5)

imagettfbbox — Give the bounding box of a text using TrueType fonts

Описание

array imagettfbbox ( float $size , float $angle , string $fontfile , string $text )

This function calculates and returns the bounding box in pixels for a TrueType text.

Список параметров

size

The font size.

Замечание: In GD 1, this is measured in pixels. In GD 2, this is measured in points.

angle

Angle in degrees in which text will be measured.

fontfile

The name of the TrueType font file (can be a URL). Depending on which version of the GD library that PHP is using, it may attempt to search for files that do not begin with a leading '/' by appending '.ttf' to the filename and searching along a library-defined font path.

text

The string to be measured.

Возвращаемые значения

imagettfbbox() returns an array with 8 elements representing four points making the bounding box of the text on success and FALSE on error.

key | contents
0 | lower left corner, X position
1 | lower left corner, Y position
2 | lower right corner, X position
3 | lower right corner, Y position
4 | upper right corner, X position
5 | upper right corner, Y position
6 | upper left corner, X position
7 | upper left corner, Y position

The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.

Примеры

Пример #1 imagettfbbox() example

<?php
// Create a 300x150 image
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Path to our font file
$font = './arial.ttf';

// First we create our bounding box for the first text
$bbox = imagettfbbox(10, 45, $font, 'Powered by PHP ' . phpversion());

// This is our cordinates for X and Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Write it
imagettftext($im, 10, 45, $x, $y, $black, $font, 'Powered by PHP ' . phpversion());

// Create the next bounding box for the second text
$bbox = imagettfbbox(10, 45, $font, 'and Zend Engine ' . zend_version());

// Set the cordinates so its next to the first text
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Write it
imagettftext($im, 10, 45, $x, $y, $black, $font, 'and Zend Engine ' . zend_version());

// Output to browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание:

This function requires both the GD library and the » FreeType library.

Смотрите также

  • imagettftext() - Write text to the image using TrueType fonts

imagetruecolortopalette
imagettftext
GD и функции для работы с изображениями Функции


Write text to the image using TrueType fonts

imagettfbbox
imagetypes
GD и функции для работы с изображениями Функции
PHP Manual

imagettftext

(PHP 4, PHP 5)

imagettftext — Write text to the image using TrueType fonts

Описание

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

Writes the given text into the image using TrueType fonts.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

size

Размер шрифта. В зависимости от вашей версии GD, он должен быть указан либо в пикселах (GD1) либо в типографских пунктах (GD2).

angle

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

x

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring(), where x and y define the upper-left corner of the first character. For example, "top left" is 0, 0.

y

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

color

The color index. Using the negative of a color index has the effect of turning off antialiasing. See imagecolorallocate().

fontfile

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.

<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

text

The text string in UTF-8 encoding.

May include decimal numeric character references (of the form: &#8364;) to access characters in a font beyond position 127. The hexadecimal format (like &#xA9;) is supported. Strings in UTF-8 encoding can be passed directly.

Named entities, such as &copy;, are not supported. Consider using html_entity_decode() to decode these named entities into UTF-8 strings (html_entity_decode() supports this as of PHP 5.0.0).

If a character is used in the string which is not supported by the font, a hollow rectangle will replace the character.

Возвращаемые значения

Returns an array with 8 elements representing four points making the bounding box of the text. The order of the points is lower left, lower right, upper right, upper left. The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner when you see the text horizontally. Returns FALSE on error.

Список изменений

Версия | Описание
5.2.0 | It is now possible to specify an hexadecimal entity in text.

Примеры

Пример #1 imagettftext() example

This example script will produce a white PNG 400x30 pixels, with the words "Testing..." in black (with grey shadow), in the font Arial.

<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : imagettftext()

Примечания

Замечание:

This function requires both the GD library and the » FreeType library.

Смотрите также

  • imagettfbbox() - Give the bounding box of a text using TrueType fonts

imagettfbbox
imagetypes
GD и функции для работы с изображениями Функции


Return the image types supported by this PHP build

imagettftext
imagewbmp
GD и функции для работы с изображениями Функции
PHP Manual

imagetypes

(PHP 4 >= 4.0.2, PHP 5)

imagetypes — Return the image types supported by this PHP build

Описание

int imagetypes ( void )

Returns the image types supported by the current PHP installation.

Возвращаемые значения

Returns a bit-field corresponding to the image formats supported by the version of GD linked into PHP. The following bits are returned, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

Примеры

Пример #1 Checking for PNG support

<?php
if (imagetypes() & IMG_PNG) {
    echo "PNG Support is enabled";
}
?>

imagettftext
imagewbmp
GD и функции для работы с изображениями Функции


Выводит изображение в браузер или пишет в файл

imagetypes
imagexbm
GD и функции для работы с изображениями Функции
PHP Manual

imagewbmp

(PHP 4 >= 4.0.1, PHP 5)

imagewbmp — Выводит изображение в браузер или пишет в файл

Описание

bool imagewbmp ( resource $image [, string $filename [, int $foreground ]] )

imagewbmp() outputs or save a WBMP version of the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Outputting a WBMP image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set the content type header - in this case image/vnd.wap.wbmp
// Hint: see image_type_to_mime_type() for content-types
header('Content-Type: image/vnd.wap.wbmp');

// Output the image
imagewbmp($im);

// Free up memory
imagedestroy($im);
?>

Пример #2 Saving the WBMP image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image
imagewbmp($im, 'simpletext.wbmp');

// Free up memory
imagedestroy($im);
?>

Пример #3 Outputting the image with a different foreground

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set the content type header - in this case image/vnd.wap.wbmp
// Hint: see image_type_to_mime_type() for content-types
header('Content-Type: image/vnd.wap.wbmp');

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

imagewbmp($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Примечания

Замечание:

WBMP support is only available if PHP was compiled against GD-1.8 or later.

Смотрите также

  • image2wbmp() - Выводит изображение в браузер или пишет в файл
  • imagepng() - Output a PNG image to either the browser or a file
  • imagegif() - Выводит изображение в браузер или пишет в файл
  • imagejpeg() - Выводит изображение в браузер или пишет в файл
  • imagetypes() - Return the image types supported by this PHP build

imagetypes
imagexbm
GD и функции для работы с изображениями Функции


Output XBM image to browser or file

imagewbmp
iptcembed
GD и функции для работы с изображениями Функции
PHP Manual

imagexbm

(PHP 5)

imagexbm — Output XBM image to browser or file

Описание

bool imagexbm ( resource $image , string $filename [, int $foreground ] )

Outputs or save an XBM version of the given image.

Список параметров

image

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().

filename

Путь для сохранения файла. Если не установлен или равен NULL, изображение будет выведено в поток вывода в бинарном виде.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Saving an XBM file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image
imagexbm($im, 'simpletext.xbm');

// Free up memory
imagedestroy($im);
?>

Пример #2 Saving an XBM file with a different foreground color

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Save the image
imagexbm($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Примечания

Замечание: Эта функция доступна только в том случае, если PHP был скомпилирован со встроенной библиотекой GD.

imagewbmp
iptcembed
GD и функции для работы с изображениями Функции


Embeds binary IPTC data into a JPEG image

imagexbm
iptcparse
GD и функции для работы с изображениями Функции
PHP Manual

iptcembed

(PHP 4, PHP 5)

iptcembed — Embeds binary IPTC data into a JPEG image

Описание

mixed iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool ] )

Embeds binary IPTC data into a JPEG image.

Список параметров

iptcdata

The data to be written.

jpeg_file_name

Path to the JPEG image.

spool

Spool flag. If the spool flag is over 2 then the JPEG will be returned as a string.

Возвращаемые значения

If success and spool flag is lower than 2 then the JPEG will not be returned as a string, FALSE on errors.

Примеры

Пример #1 Embedding IPTC data into a JPEG

<?php

// iptc_make_tag() function by Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
    $length = strlen($value);
    $retval = chr(0x1C) . chr($rec) . chr($data);

    if($length < 0x8000)
    {
        $retval .= chr($length >> 8) .  chr($length & 0xFF);
    }
    else
    {
        $retval .= chr(0x80) .
                   chr(0x04) .
                   chr(($length >> 24) & 0xFF) .
                   chr(($length >> 16) & 0xFF) .
                   chr(($length >> 8) & 0xFF) .
                   chr($length & 0xFF);
    }

    return $retval . $value;
}

// Path to jpeg file
$path = './phplogo.jpg';

// We need to check if theres any IPTC data in the jpeg image. If there is then
// bail out because we cannot embed any image that already has some IPTC data!
$image = getimagesize($path, $info);

if(isset($info['APP13']))
{
    die('Error: IPTC data found in source image, cannot continue');
}

// Set the IPTC tags
$iptc = array(
    '2#120' => 'Test image',
    '2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Convert the IPTC tags into binary code
$data = '';

foreach($iptc as $tag => $string)
{
    $tag = substr($tag, 2);
    $data .= iptc_make_tag(2, $tag, $string);
}

// Embed the IPTC data
$content = iptcembed($data, $path);

// Write the new image data out to the file.
$fp = fopen($path, "wb");
fwrite($fp, $content);
fclose($fp);
?>

Примечания

Замечание:

Этой функции не требуется библиотека GD.

imagexbm
iptcparse
GD и функции для работы с изображениями Функции


Parse a binary IPTC block into single tags.

iptcembed
jpeg2wbmp
GD и функции для работы с изображениями Функции
PHP Manual

iptcparse

(PHP 4, PHP 5)

iptcparse — Parse a binary IPTC block into single tags.

Описание

array iptcparse ( string $iptcblock )

Parses an » IPTC block into its single tags.

Список параметров

iptcblock

A binary IPTC block.

Возвращаемые значения

Returns an array using the tagmarker as an index and the value as the value. It returns FALSE on error or if no IPTC data was found.

Примеры

Пример #1 iptcparse() used together with getimagesize()

<?php
$size = getimagesize('./test.jpg', $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    var_dump($iptc);
}
?>

Примечания

Замечание:

Этой функции не требуется библиотека GD.

iptcembed
jpeg2wbmp
GD и функции для работы с изображениями Функции


Конвертирует изображение из формата JPEG в WBMP

iptcparse
png2wbmp
GD и функции для работы с изображениями Функции
PHP Manual

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp — Конвертирует изображение из формата JPEG в WBMP

Описание

bool jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Конвертирует JPEG-файл в WBMP.

Список параметров

jpegname

Путь к JPEG-файлу.

wbmpname

Путьдля размещения WBMP-файла.

dest_height

Высота WBMP-изображения.

dest_width

Ширина WBMP-изображения.

threshold

Пороговое значение, от 0 до 8 (включительно).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования jpeg2wbmp()

<?php
// Путь к исходному jpeg-изображению
$path = './test.jpg';

// Получаем размеры изображения
$image = getimagesize($path);

// Конвертируем изображение
jpeg2wbmp($path, './test.wbmp', $image[1], $image[0], 5);
?>

Примечания

Замечание: Поддержка WBMP доступна только в случае, если PHP был скомплирован с GD-1.8 или более поздней версии.

Замечание: Поддержка JPEG доступна только в случае, если PHP был скомпилирован с GD-1.8 или более поздней версии.

Смотрите также

  • png2wbmp() - Convert PNG image file to WBMP image file

iptcparse
png2wbmp
GD и функции для работы с изображениями Функции


Convert PNG image file to WBMP image file

jpeg2wbmp
Gmagick
GD и функции для работы с изображениями Функции
PHP Manual

png2wbmp

(PHP 4 >= 4.0.5, PHP 5)

png2wbmp — Convert PNG image file to WBMP image file

Описание

bool png2wbmp ( string $pngname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Converts a PNG file into a WBMP file.

Список параметров

pngname

Path to PNG file.

wbmpname

Path to destination WBMP file.

dest_height

Destination image height.

dest_width

Destination image width.

threshold

Threshold value, between 0 and 8 (inclusive).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 png2wbmp() example

<?php
// Path to the target png
$path = './test.png';

// Get the image sizes
$image = getimagesize($path);

// Convert image
png2wbmp($path, './test.wbmp', $image[1], $image[0], 7);
?>

Примечания

Замечание: Поддержка WBMP доступна только в случае, если PHP был скомплирован с GD-1.8 или более поздней версии.

Смотрите также

  • jpeg2wbmp() - Конвертирует изображение из формата JPEG в WBMP

jpeg2wbmp
Gmagick
GD и функции для работы с изображениями Функции


Gmagick

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
  • Предопределенные константы
  • Примеры
  • Gmagick — The Gmagick class
    • Gmagick::addimage — Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage — Adds random noise to the image
    • Gmagick::annotateimage — Annotates an image with text
    • Gmagick::blurimage — Adds blur filter to image
    • Gmagick::borderimage — Surrounds the image with a border
    • Gmagick::charcoalimage — Simulates a charcoal drawing
    • Gmagick::chopimage — Removes a region of an image and trims
    • Gmagick::clear — Clears all resources associated to Gmagick object
    • Gmagick::commentimage — Adds a comment to your image
    • Gmagick::compositeimage — Composite one image onto another
    • Gmagick::__construct — The Gmagick constructor
    • Gmagick::cropimage — Extracts a region of the image
    • Gmagick::cropthumbnailimage — Creates a crop thumbnail
    • Gmagick::current — The current purpose
    • Gmagick::cyclecolormapimage — Displaces an image's colormap
    • Gmagick::deconstructimages — Returns certain pixel differences between images
    • Gmagick::despeckleimage — The despeckleimage purpose
    • Gmagick::destroy — The destroy purpose
    • Gmagick::drawimage — Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage — Enhance edges within the image
    • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage — Improves the quality of a noisy image
    • Gmagick::equalizeimage — Equalizes the image histogram
    • Gmagick::flipimage — Creates a vertical mirror image
    • Gmagick::flopimage — The flopimage purpose
    • Gmagick::frameimage — Adds a simulated three-dimensional border
    • Gmagick::gammaimage — Gamma-corrects an image
    • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename — The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor — Returns the image background color
    • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor — Returns the image border color
    • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
    • Gmagick::getimagecolors — Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace — Gets the image colorspace
    • Gmagick::getimagecompose — Returns the composite operator associated with the image
    • Gmagick::getimagedelay — Gets the image delay
    • Gmagick::getimagedepth — Gets the depth of the image
    • Gmagick::getimagedispose — Gets the image disposal method
    • Gmagick::getimageextrema — Gets the extrema for the image
    • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat — Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma — Gets the image gamma
    • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
    • Gmagick::getimageheight — Returns the image height
    • Gmagick::getimagehistogram — Gets the image histogram
    • Gmagick::getimageindex — Gets the index of the current active image
    • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
    • Gmagick::getimageiterations — Gets the image iterations
    • Gmagick::getimagematte — Return if the image has a matte channel
    • Gmagick::getimagemattecolor — Returns the image matte color
    • Gmagick::getimageprofile — Returns the named image profile.
    • Gmagick::getimageredprimary — Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent — Gets the image rendering intent
    • Gmagick::getimageresolution — Gets the image X and Y resolution
    • Gmagick::getimagescene — Gets the image scene
    • Gmagick::getimagesignature — Generates an SHA-256 message digest
    • Gmagick::getimagetype — Gets the potential image type.
    • Gmagick::getimageunits — Gets the image units of resolution
    • Gmagick::getimagewhitepoint — Returns the chromaticity white point
    • Gmagick::getimagewidth — Returns the width of the image
    • Gmagick::getpackagename — Returns the GraphicsMagick package name.
    • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.
    • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.
    • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.
    • Gmagick::getsize — Returns the size associated with the Gmagick object
    • Gmagick::getversion — Returns the GraphicsMagick API version
    • Gmagick::hasnextimage — Checks if the object has more images
    • Gmagick::haspreviousimage — Checks if the object has a previous image
    • Gmagick::implodeimage — Creates a new image as a copy
    • Gmagick::labelimage — Adds a label to an image.
    • Gmagick::levelimage — Adjusts the levels of an image
    • Gmagick::magnifyimage — Scales an image proportionally 2x
    • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.
    • Gmagick::medianfilterimage — Applies a digital filter
    • Gmagick::minifyimage — Scales an image proportionally to half its size
    • Gmagick::modulateimage — Control the brightness, saturation, and hue
    • Gmagick::motionblurimage — Simulates motion blur
    • Gmagick::newimage — Creates a new image
    • Gmagick::nextimage — Moves to the next image
    • Gmagick::normalizeimage — Enhances the contrast of a color image
    • Gmagick::oilpaintimage — Simulates an oil painting
    • Gmagick::previousimage — Move to the previous image in the object
    • Gmagick::profileimage — Adds or removes a profile from an image
    • Gmagick::quantizeimage — Analyzes the colors within a reference image
    • Gmagick::quantizeimages — The quantizeimages purpose
    • Gmagick::queryfontmetrics — Returns an array representing the font metrics
    • Gmagick::queryfonts — Returns the configured fonts
    • Gmagick::queryformats — Returns formats supported by Gmagick.
    • Gmagick::radialblurimage — Radial blurs an image
    • Gmagick::raiseimage — Creates a simulated 3d button-like effect
    • Gmagick::read — Reads image from filename
    • Gmagick::readimage — Reads image from filename
    • Gmagick::readimageblob — Reads image from a binary string
    • Gmagick::readimagefile — The readimagefile purpose
    • Gmagick::reducenoiseimage — Smooths the contours of an image
    • Gmagick::removeimage — Removes an image from the image list
    • Gmagick::removeimageprofile — Removes the named image profile and returns it
    • Gmagick::resampleimage — Resample image to desired resolution
    • Gmagick::resizeimage — Scales an image
    • Gmagick::rollimage — Offsets an image
    • Gmagick::rotateimage — Rotates an image
    • Gmagick::scaleimage — Scales the size of an image
    • Gmagick::separateimagechannel — Separates a channel from the image
    • Gmagick::setfilename — Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor — Sets the image background color.
    • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
    • Gmagick::setimagebordercolor — Sets the image border color.
    • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace — Sets the image colorspace
    • Gmagick::setimagecompose — Sets the image composite operator
    • Gmagick::setimagedelay — Sets the image delay
    • Gmagick::setimagedepth — Sets the image depth
    • Gmagick::setimagedispose — Sets the image disposal method
    • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat — Sets the format of a particular image
    • Gmagick::setimagegamma — Sets the image gamma
    • Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.
    • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
    • Gmagick::setimageiterations — Sets the image iterations.
    • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
    • Gmagick::setimagerenderingintent — Sets the image rendering intent
    • Gmagick::setimageresolution — Sets the image resolution
    • Gmagick::setimagescene — Sets the image scene
    • Gmagick::setimagetype — Sets the image type
    • Gmagick::setimageunits — Sets the image units of resolution.
    • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
    • Gmagick::setsamplingfactors — Sets the image sampling factors.
    • Gmagick::setsize — Sets the size of the Gmagick object
    • Gmagick::shearimage — Creating a parallelogram
    • Gmagick::solarizeimage — Applies a solarizing effect to the image
    • Gmagick::spreadimage — Randomly displaces each pixel in a block
    • Gmagick::stripimage — Strips an image of all profiles and comments
    • Gmagick::swirlimage — Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage — Changes the size of an image
    • Gmagick::trimimage — Remove edges from the image
    • Gmagick::write — Writes an image to the specified filename
    • Gmagick::writeimage — Writes an image to the specified filename
  • GmagickDraw — The GmagickDraw class
    • GmagickDraw::annotate — Draws text on the image
    • GmagickDraw::arc — Draws an arc
    • GmagickDraw::bezier — Draws a bezier curve
    • GmagickDraw::ellipse — Draws an ellipse on the image
    • GmagickDraw::getfillcolor — Returns the fill color
    • GmagickDraw::getfillopacity — Returns the opacity used when drawing
    • GmagickDraw::getfont — Returns the font
    • GmagickDraw::getfontsize — Returns the font pointsize
    • GmagickDraw::getfontstyle — Returns the font style
    • GmagickDraw::getfontweight — Returns the font weight
    • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration — Returns the text decoration
    • GmagickDraw::gettextencoding — Returns the code set used for text annotations
    • GmagickDraw::line — The line purpose
    • GmagickDraw::point — Draws a point
    • GmagickDraw::polygon — Draws a polygon
    • GmagickDraw::polyline — Draws a polyline
    • GmagickDraw::rectangle — Draws a rectangle
    • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle — Draws a rounded rectangle
    • GmagickDraw::scale — Adjusts the scaling factor
    • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
    • GmagickDraw::setfillopacity — The setfillopacity purpose
    • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
    • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
    • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight — Sets the font weight
    • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
    • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
    • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
    • GmagickDraw::settextdecoration — Specifies a decoration
    • GmagickDraw::settextencoding — Specifies specifies the text code set
  • GmagickPixel — The GmagickPixel class
    • GmagickPixel::__construct — The GmagickPixel constructor
    • GmagickPixel::getcolor — Returns the color
    • GmagickPixel::getcolorcount — Returns the color count associated with this color
    • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor — Sets the color
    • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
png2wbmp
Введение
Обработка и генерация изображений


Введение

Gmagick - расширение php для создания, изменения и получения meta-данных изображений используя GraphicsMagick API.

GraphicsMagick - швейцарский армейский нож обработки изображений. Он работает более чем с 88 форматами, включая основные форматы, такие как DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM и TIFF.

Gmagick состоит из основного класса Gmagick, класса GmagickDraw, который, по сути, есть волшебная палочка рисования и класса GmagickPixel, экземпляры которого представляют собой один пиксель изображения (цвет, прозрачность).

Gmagick
Установка и настройка
Gmagick


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
Введение
Требования
Gmagick


Требования

This extension works best with GraphicsMagick version 1.4+ and PHP 5.1.3+. Gmagick should work with earlier versions up to GraphicsMagick 1.2.6 but some features and formats are not supported for these versions. Windows version of GraphicsMagick is available from the GraphicsMagick website. To read about the difference between ImageMagick and GraphicsMagick, check this out: » FAQ .

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/gmagick.

Замечание: The official name of this extension is gmagick.

For Windows, the build of the Gmagick extension is available » here

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Colortype constants
Gmagick::COLOR_BLACK (integer)
Black
Gmagick::COLOR_BLUE (integer)
Blue
Gmagick::COLOR_CYAN (integer)
Cyan
Gmagick::COLOR_GREEN (integer)
Green
Gmagick::COLOR_RED (integer)
Red
Gmagick::COLOR_YELLOW (integer)
Yellow
Gmagick::COLOR_MAGENTA (integer)
Magenta
Gmagick::COLOR_OPACITY (integer)
Opacity
Gmagick::COLOR_ALPHA (integer)
Alpha
Gmagick::COLOR_FUZZ (integer)
Fuzz
Composite Operator Constants
Gmagick::COMPOSITE_DEFAULT (integer)
The default composite operator
Gmagick::COMPOSITE_UNDEFINED (integer)
Undefined composite operator
Gmagick::COMPOSITE_NO (integer)
No composite operator defined
Gmagick::COMPOSITE_ADD (integer)
The result of image + image
Gmagick::COMPOSITE_ATOP (integer)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
Gmagick::COMPOSITE_BLEND (integer)
Blends the image
Gmagick::COMPOSITE_BUMPMAP (integer)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
Gmagick::COMPOSITE_CLEAR (integer)
Makes the target image transparent
Gmagick::COMPOSITE_COLORBURN (integer)
Darkens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORDODGE (integer)
Brightens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORIZE (integer)
Colorizes the target image using the composite image
Gmagick::COMPOSITE_COPYBLACK (integer)
Copies black from the source to target
Gmagick::COMPOSITE_COPYBLUE (integer)
Copies blue from the source to target
Gmagick::COMPOSITE_COPY (integer)
Copies the source image on the target image
Gmagick::COMPOSITE_COPYCYAN (integer)
Copies cyan from the source to target
Gmagick::COMPOSITE_COPYGREEN (integer)
Copies green from the source to target
Gmagick::COMPOSITE_COPYMAGENTA (integer)
Copies magenta from the source to target
Gmagick::COMPOSITE_COPYOPACITY (integer)
Copies opacity from the source to target
Gmagick::COMPOSITE_COPYRED (integer)
Copies red from the source to target
Gmagick::COMPOSITE_COPYYELLOW (integer)
Copies yellow from the source to target
Gmagick::COMPOSITE_DARKEN (integer)
Darkens the target image
Gmagick::COMPOSITE_DSTATOP (integer)
The part of the destination lying inside of the source is composited over the source and replaces the destination
Gmagick::COMPOSITE_DST (integer)
The target is left untouched
Gmagick::COMPOSITE_DSTIN (integer)
The parts inside the source replace the target
Gmagick::COMPOSITE_DSTOUT (integer)
The parts outside the source replace the target
Gmagick::COMPOSITE_DSTOVER (integer)
Target replaces the source
Gmagick::COMPOSITE_DIFFERENCE (integer)
Subtracts the darker of the two constituent colors from the lighter
Gmagick::COMPOSITE_DISPLACE (integer)
Shifts target image pixels as defined by the source
Gmagick::COMPOSITE_DISSOLVE (integer)
Dissolves the source in to the target
Gmagick::COMPOSITE_EXCLUSION (integer)
Produces an effect similar to that of Gmagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
Gmagick::COMPOSITE_HARDLIGHT (integer)
Multiplies or screens the colors, dependent on the source color value
Gmagick::COMPOSITE_HUE (integer)
Modifies the hue of the target as defined by source
Gmagick::COMPOSITE_IN (integer)
Composites source into the target
Gmagick::COMPOSITE_LIGHTEN (integer)
Lightens the target as defined by source
Gmagick::COMPOSITE_LUMINIZE (integer)
Luminizes the target as defined by source
Gmagick::COMPOSITE_MINUS (integer)
Substracts the source from the target
Gmagick::COMPOSITE_MODULATE (integer)
Modulates the target brightness, saturation and hue as defined by source
Gmagick::COMPOSITE_MULTIPLY (integer)
Multiplies the target to the source
Gmagick::COMPOSITE_OUT (integer)
Composites outer parts of the source on the target
Gmagick::COMPOSITE_OVER (integer)
Composites source over the target
Gmagick::COMPOSITE_OVERLAY (integer)
Overlays the source on the target
Gmagick::COMPOSITE_PLUS (integer)
Adds the source to the target
Gmagick::COMPOSITE_REPLACE (integer)
Replaces the target with the source
Gmagick::COMPOSITE_SATURATE (integer)
Saturates the target as defined by the source
Gmagick::COMPOSITE_SCREEN (integer)
The source and destination are complemented and then multiplied and then replace the destination
Gmagick::COMPOSITE_SOFTLIGHT (integer)
Darkens or lightens the colors, dependent on the source
Gmagick::COMPOSITE_SRCATOP (integer)
The part of the source lying inside of the destination is composited onto the destination
Gmagick::COMPOSITE_SRC (integer)
The source is copied to the destination
Gmagick::COMPOSITE_SRCIN (integer)
The part of the source lying inside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOUT (integer)
The part of the source lying outside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOVER (integer)
The source replaces the destination
Gmagick::COMPOSITE_SUBTRACT (integer)
Subtract the colors in the source image from the destination image
Gmagick::COMPOSITE_THRESHOLD (integer)
The source is composited on the target as defined by source threshold
Gmagick::COMPOSITE_XOR (integer)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
Montage Mode constants
Gmagick::MONTAGEMODE_FRAME (integer)
Gmagick::MONTAGEMODE_UNFRAME (integer)
Gmagick::MONTAGEMODE_CONCATENATE (integer)
Style constants
Gmagick::STYLE_NORMAL (integer)
Gmagick::STYLE_ITALIC (integer)
Gmagick::STYLE_OBLIQUE (integer)
Gmagick::STYLE_ANY (integer)
Filter constants
Gmagick::FILTER_UNDEFINED (integer)
Gmagick::FILTER_POINT (integer)
Gmagick::FILTER_BOX (integer)
Gmagick::FILTER_TRIANGLE (integer)
Gmagick::FILTER_HERMITE (integer)
Gmagick::FILTER_HANNING (integer)
Gmagick::FILTER_HAMMING (integer)
Gmagick::FILTER_BLACKMAN (integer)
Gmagick::FILTER_GAUSSIAN (integer)
Gmagick::FILTER_QUADRATIC (integer)
Gmagick::FILTER_CUBIC (integer)
Gmagick::FILTER_CATROM (integer)
Gmagick::FILTER_MITCHELL (integer)
Gmagick::FILTER_LANCZOS (integer)
Gmagick::FILTER_BESSEL (integer)
Gmagick::FILTER_SINC (integer)
Image type constants
Gmagick::IMGTYPE_UNDEFINED (integer)
Gmagick::IMGTYPE_BILEVEL (integer)
Gmagick::IMGTYPE_GRAYSCALE (integer)
Gmagick::IMGTYPE_GRAYSCALEMATTE (integer)
Gmagick::IMGTYPE_PALETTE (integer)
Gmagick::IMGTYPE_PALETTEMATTE (integer)
Gmagick::IMGTYPE_TRUECOLOR (integer)
Gmagick::IMGTYPE_TRUECOLORMATTE (integer)
Gmagick::IMGTYPE_COLORSEPARATION (integer)
Gmagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
Gmagick::IMGTYPE_OPTIMIZE (integer)
Resolution constants
Gmagick::RESOLUTION_UNDEFINED (integer)
Gmagick::RESOLUTION_PIXELSPERINCH (integer)
Gmagick::RESOLUTION_PIXELSPERCENTIMETER (integer)
Compression constants
Gmagick::COMPRESSION_UNDEFINED (integer)
Gmagick::COMPRESSION_NO (integer)
Gmagick::COMPRESSION_BZIP (integer)
Gmagick::COMPRESSION_FAX (integer)
Gmagick::COMPRESSION_GROUP4 (integer)
Gmagick::COMPRESSION_JPEG (integer)
Gmagick::COMPRESSION_JPEG2000 (integer)
Gmagick::COMPRESSION_LOSSLESSJPEG (integer)
Gmagick::COMPRESSION_LZW (integer)
Gmagick::COMPRESSION_RLE (integer)
Gmagick::COMPRESSION_ZIP (integer)
Paint constants
Gmagick::PAINT_POINT (integer)
Gmagick::PAINT_REPLACE (integer)
Gmagick::PAINT_FLOODFILL (integer)
Gmagick::PAINT_FILLTOBORDER (integer)
Gmagick::PAINT_RESET (integer)
Gravity constants
Gmagick::GRAVITY_NORTHWEST (integer)
Gmagick::GRAVITY_NORTH (integer)
Gmagick::GRAVITY_NORTHEAST (integer)
Gmagick::GRAVITY_WEST (integer)
Gmagick::GRAVITY_CENTER (integer)
Gmagick::GRAVITY_EAST (integer)
Gmagick::GRAVITY_SOUTHWEST (integer)
Gmagick::GRAVITY_SOUTH (integer)
Gmagick::GRAVITY_SOUTHEAST (integer)
Stretch constants
Gmagick::STRETCH_NORMAL (integer)
Gmagick::STRETCH_ULTRACONDENSED (integer)
Gmagick::STRETCH_CONDENSED (integer)
Gmagick::STRETCH_SEMICONDENSED (integer)
Gmagick::STRETCH_SEMIEXPANDED (integer)
Gmagick::STRETCH_EXPANDED (integer)
Gmagick::STRETCH_EXTRAEXPANDED (integer)
Gmagick::STRETCH_ULTRAEXPANDED (integer)
Gmagick::STRETCH_ANY (integer)
Align constants
Gmagick::ALIGN_UNDEFINED (integer)
Gmagick::ALIGN_LEFT (integer)
Gmagick::ALIGN_CENTER (integer)
Gmagick::ALIGN_RIGHT (integer)
Decoration constants
Gmagick::DECORATION_NO (integer)
Gmagick::DECORATION_UNDERLINE (integer)
Gmagick::DECORATION_OVERLINE (integer)
Gmagick::DECORATION_LINETROUGH (integer)
Noise constants
Gmagick::NOISE_UNIFORM (integer)
Gmagick::NOISE_GAUSSIAN (integer)
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
Gmagick::NOISE_IMPULSE (integer)
Gmagick::NOISE_LAPLACIAN (integer)
Gmagick::NOISE_POISSON (integer)
Channel constants
Gmagick::CHANNEL_UNDEFINED (integer)
Gmagick::CHANNEL_RED (integer)
Gmagick::CHANNEL_GRAY (integer)
Gmagick::CHANNEL_CYAN (integer)
Gmagick::CHANNEL_GREEN (integer)
Gmagick::CHANNEL_MAGENTA (integer)
Gmagick::CHANNEL_BLUE (integer)
Gmagick::CHANNEL_YELLOW (integer)
Gmagick::CHANNEL_ALPHA (integer)
Gmagick::CHANNEL_OPACITY (integer)
Gmagick::CHANNEL_MATTE (integer)
Gmagick::CHANNEL_BLACK (integer)
Gmagick::CHANNEL_INDEX (integer)
Gmagick::CHANNEL_ALL (integer)
Metric constants
Gmagick::METRIC_UNDEFINED (integer)
Gmagick::METRIC_MEANABSOLUTEERROR (integer)
Gmagick::METRIC_MEANSQUAREERROR (integer)
Gmagick::METRIC_PEAKABSOLUTEERROR (integer)
Gmagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
Gmagick::METRIC_ROOTMEANSQUAREDERROR (integer)
Pixel constants
Gmagick::PIXEL_CHAR (integer)
Gmagick::PIXEL_DOUBLE (integer)
Gmagick::PIXEL_FLOAT (integer)
Gmagick::PIXEL_INTEGER (integer)
Gmagick::PIXEL_LONG (integer)
Gmagick::PIXEL_QUANTUM (integer)
Gmagick::PIXEL_SHORT (integer)
Colorspace constants
Gmagick::COLORSPACE_UNDEFINED (integer)
Gmagick::COLORSPACE_RGB (integer)
Gmagick::COLORSPACE_GRAY (integer)
Gmagick::COLORSPACE_TRANSPARENT (integer)
Gmagick::COLORSPACE_OHTA (integer)
Gmagick::COLORSPACE_LAB (integer)
Gmagick::COLORSPACE_XYZ (integer)
Gmagick::COLORSPACE_YCBCR (integer)
Gmagick::COLORSPACE_YCC (integer)
Gmagick::COLORSPACE_YIQ (integer)
Gmagick::COLORSPACE_YPBPR (integer)
Gmagick::COLORSPACE_YUV (integer)
Gmagick::COLORSPACE_CMYK (integer)
Gmagick::COLORSPACE_SRGB (integer)
Gmagick::COLORSPACE_HSB (integer)
Gmagick::COLORSPACE_HSL (integer)
Gmagick::COLORSPACE_HWB (integer)
Gmagick::COLORSPACE_REC601LUMA (integer)
Gmagick::COLORSPACE_REC709LUMA (integer)
Gmagick::COLORSPACE_LOG (integer)
Virtual Pixel Method constants
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
Gmagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
Gmagick::VIRTUALPIXELMETHOD_EDGE (integer)
Gmagick::VIRTUALPIXELMETHOD_MIRROR (integer)
Gmagick::VIRTUALPIXELMETHOD_TILE (integer)
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)
Preview constants
Gmagick::PREVIEW_UNDEFINED (integer)
Gmagick::PREVIEW_ROTATE (integer)
Gmagick::PREVIEW_SHEAR (integer)
Gmagick::PREVIEW_ROLL (integer)
Gmagick::PREVIEW_HUE (integer)
Gmagick::PREVIEW_SATURATION (integer)
Gmagick::PREVIEW_BRIGHTNESS (integer)
Gmagick::PREVIEW_GAMMA (integer)
Gmagick::PREVIEW_SPIFF (integer)
Gmagick::PREVIEW_DULL (integer)
Gmagick::PREVIEW_GRAYSCALE (integer)
Gmagick::PREVIEW_QUANTIZE (integer)
Gmagick::PREVIEW_DESPECKLE (integer)
Gmagick::PREVIEW_REDUCENOISE (integer)
Gmagick::PREVIEW_ADDNOISE (integer)
Gmagick::PREVIEW_SHARPEN (integer)
Gmagick::PREVIEW_BLUR (integer)
Gmagick::PREVIEW_THRESHOLD (integer)
Gmagick::PREVIEW_EDGEDETECT (integer)
Gmagick::PREVIEW_SPREAD (integer)
Gmagick::PREVIEW_SOLARIZE (integer)
Gmagick::PREVIEW_SHADE (integer)
Gmagick::PREVIEW_RAISE (integer)
Gmagick::PREVIEW_SEGMENT (integer)
Gmagick::PREVIEW_SWIRL (integer)
Gmagick::PREVIEW_IMPLODE (integer)
Gmagick::PREVIEW_WAVE (integer)
Gmagick::PREVIEW_OILPAINT (integer)
Gmagick::PREVIEW_CHARCOALDRAWING (integer)
Gmagick::PREVIEW_JPEG (integer)
Rendering Intent constants
Gmagick::RENDERINGINTENT_UNDEFINED (integer)
Gmagick::RENDERINGINTENT_SATURATION (integer)
Gmagick::RENDERINGINTENT_PERCEPTUAL (integer)
Gmagick::RENDERINGINTENT_ABSOLUTE (integer)
Gmagick::RENDERINGINTENT_RELATIVE (integer)
Fillrule constants
Gmagick::FILLRULE_UNDEFINED (integer)
Gmagick::FILLRULE_EVENODD (integer)
Gmagick::FILLRULE_NONZERO (integer)
Pathunit constants
Gmagick::PATHUNITS_UNDEFINED (integer)
Gmagick::PATHUNITS_USERSPACE (integer)
Gmagick::PATHUNITS_USERSPACEONUSE (integer)
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)
Linecap constants
Gmagick::LINECAP_UNDEFINED (integer)
Gmagick::LINECAP_BUTT (integer)
Gmagick::LINECAP_ROUND (integer)
Gmagick::LINECAP_SQUARE (integer)
Line Join constants
Gmagick::LINEJOIN_UNDEFINED (integer)
Gmagick::LINEJOIN_MITER (integer)
Gmagick::LINEJOIN_ROUND (integer)
Gmagick::LINEJOIN_BEVEL (integer)
Resourcetype constants
Gmagick::RESOURCETYPE_UNDEFINED (integer)
Gmagick::RESOURCETYPE_AREA (integer)
Gmagick::RESOURCETYPE_DISK (integer)
Gmagick::RESOURCETYPE_FILE (integer)
Gmagick::RESOURCETYPE_MAP (integer)
Gmagick::RESOURCETYPE_MEMORY (integer)
Orientation constants
Gmagick::ORIENTATION_UNDEFINED (integer)
Gmagick::ORIENTATION_TOPLEFT (integer)
Gmagick::ORIENTATION_TOPRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMLEFT (integer)
Gmagick::ORIENTATION_LEFTTOP (integer)
Gmagick::ORIENTATION_RIGHTTOP (integer)
Gmagick::ORIENTATION_RIGHTBOTTOM (integer)
Gmagick::ORIENTATION_LEFTBOTTOM (integer)
Настройка во время выполнения
Примеры
Gmagick


Примеры

The following shows some common Gmagick image operations.

Пример #1 Gmagick Example

<?php
//Instantiate a new Gmagick object
$image = new Gmagick('example.jpg');

//Make thumbnail from image loaded. 0 for either axes preserves aspect ratio
$image->thumbnailImage(100, 0);

//Create a border around the image, then simulate how the image will look like as an oil painting
//Notice the chaining of mutator methods which is supported in gmagick
$image->borderImage("yellow", 8, 8)->oilPaintImage(0.3);

//Write the current image at the current state to a file
$image->write('example_thumbnail.jpg');
?>
Предопределенные константы
Gmagick
Gmagick


The Gmagick class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Description of the class.

Обзор классов

Gmagick {
/* Методы */
public Gmagick addimage ( Gmagick $Gmagick )
public Gmagick addnoiseimage ( int $NOISE )
public Gmagick annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )
public Gmagick blurimage ( float $radius , float $sigma [, int $channel ] )
public Gmagick borderimage ( GmagickPixel $color , int $width , int $height )
public Gmagick charcoalimage ( float $radius , float $sigma )
public Gmagick chopimage ( int $width , int $height , int $x , int $y )
public Gmagick clear ( void )
public Gmagick commentimage ( string $comment )
public Gmagick compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )
__construct ([ string $filename ] )
public Gmagick cropimage ( int $width , int $height , int $x , int $y )
public Gmagick cropthumbnailimage ( int $width , int $height )
public Gmagick current ( void )
public Gmagick cyclecolormapimage ( int $displace )
public void deconstructimages ( void )
public Gmagick despeckleimage ( void )
public Gmagick destroy ( void )
public Gmagick drawimage ( GmagickDraw $GmagickDraw )
public Gmagick edgeimage ( float $radius )
public Gmagick embossimage ( float $radius , float $sigma )
public Gmagick enhanceimage ( void )
public Gmagick equalizeimage ( void )
public Gmagick flipimage ( void )
public Gmagick flopimage ( void )
public Gmagick frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public Gmagick gammaimage ( float $gamma )
public string getcopyright ( void )
public string getfilename ( void )
public void getimagebackgroundcolor ( void )
public array getimageblueprimary ( void )
public void getimagebordercolor ( void )
public int getimagechanneldepth ( int $channel_type )
public int getimagecolors ( void )
public int getimagecolorspace ( void )
public int getimagecompose ( void )
public int getimagedelay ( void )
public int getimagedepth ( void )
public int getimagedispose ( void )
public array getimageextrema ( void )
public string getimagefilename ( void )
public string getimageformat ( void )
public float getimagegamma ( void )
public array getimagegreenprimary ( void )
public int getimageheight ( void )
public array getimagehistogram ( void )
public int getimageindex ( void )
public int getimageinterlacescheme ( void )
public int getimageiterations ( void )
public int getimagematte ( void )
public void getimagemattecolor ( void )
public string getimageprofile ( string $name )
public array getimageredprimary ( void )
public int getimagerenderingintent ( void )
public array getimageresolution ( void )
public int getimagescene ( void )
public string getimagesignature ( void )
public int getimagetype ( void )
public int getimageunits ( void )
public array getimagewhitepoint ( void )
public int getimagewidth ( void )
public string getpackagename ( void )
public array getquantumdepth ( void )
public string getreleasedate ( void )
public array getsamplingfactors ( void )
public array getsize ( void )
public array getversion ( void )
public mixed hasnextimage ( void )
public mixed haspreviousimage ( void )
public mixed implodeimage ( float $radius )
public mixed labelimage ( string $label )
public mixed levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public mixed magnifyimage ( void )
public Gmagick mapimage ( gmagick $gmagick , bool $dither )
public void medianfilterimage ( float $radius )
public void minifyimage ( void )
public void modulateimage ( float $brightness , float $saturation , float $hue )
public void motionblurimage ( float $radius , float $sigma , float $angle )
public void newimage ( int $width , int $height , string $background [, string $format ] )
public bool nextimage ( void )
public void normalizeimage ([ int $channel ] )
public void oilpaintimage ( float $radius )
public bool previousimage ( void )
public void profileimage ( string $name , string $profile )
public void quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public void quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public array queryfontmetrics ( GmagickDraw $draw , string $text )
public array queryfonts ([ string $pattern = "*" ] )
public array queryformats ([ string $pattern = "*" ] )
public void radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public void raiseimage ( int $width , int $height , int $x , int $y , bool $raise )
public void read ( string $filename )
public void readimage ( string $filename )
public void readimageblob ( string $imageContents [, string $filename ] )
public void readimagefile ( resource $fp [, string $filename ] )
public void reducenoiseimage ( float $radius )
public void removeimage ( void )
public string removeimageprofile ( string $name )
public void resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )
public void resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )
public void rollimage ( int $x , int $y )
public Gmagick rotateimage ( mixed $color , float $degrees )
public Gmagick scaleimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick separateimagechannel ( int $channel )
public Gmagick setfilename ( string $filename )
public Gmagick setimagebackgroundcolor ( GmagickPixel $color )
public Gmagick setimageblueprimary ( float $x , float $y )
public Gmagick setimagebordercolor ( GmagickPixel $color )
public Gmagick setimagechanneldepth ( int $channel , int $depth )
public Gmagick setimagecolorspace ( int $colorspace )
public Gmagick setimagecompose ( int $composite )
public Gmagick setimagedelay ( int $delay )
public Gmagick setimagedepth ( int $depth )
public Gmagick setimagedispose ( int $disposeType )
public Gmagick setimagefilename ( string $filename )
public Gmagick setimageformat ( string $imageFormat )
public Gmagick setimagegamma ( float $gamma )
public Gmagick setimagegreenprimary ( float $x , float $y )
public Gmagick setimageindex ( int $index )
public Gmagick setimageinterlacescheme ( int $interlace )
public Gmagick setimageiterations ( int $iterations )
public Gmagick setimageprofile ( string $name , string $profile )
public Gmagick setimageredprimary ( float $x , float $y )
public Gmagick setimagerenderingintent ( int $rendering_intent )
public Gmagick setimageresolution ( float $xResolution , float $yResolution )
public Gmagick setimagescene ( int $scene )
public Gmagick setimagetype ( int $imgType )
public Gmagick setimageunits ( int $resolution )
public Gmagick setimagewhitepoint ( float $x , float $y )
public Gmagick setsamplingfactors ( array $factors )
public Gmagick setsize ( int $columns , int $rows )
public Gmagick shearimage ( mixed $color , float $xShear , float $yShear )
public Gmagick solarizeimage ( int $threshold )
public Gmagick spreadimage ( float $radius )
public Gmagick stripimage ( void )
public Gmagick swirlimage ( float $degrees )
public Gmagick thumbnailimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick trimimage ( float $fuzz )
public void write ( string $filename )
public Gmagick writeimage ( string $filename [, bool $all_frames = false ] )
}

Содержание

  • Gmagick::addimage — Adds new image to Gmagick object image list
  • Gmagick::addnoiseimage — Adds random noise to the image
  • Gmagick::annotateimage — Annotates an image with text
  • Gmagick::blurimage — Adds blur filter to image
  • Gmagick::borderimage — Surrounds the image with a border
  • Gmagick::charcoalimage — Simulates a charcoal drawing
  • Gmagick::chopimage — Removes a region of an image and trims
  • Gmagick::clear — Clears all resources associated to Gmagick object
  • Gmagick::commentimage — Adds a comment to your image
  • Gmagick::compositeimage — Composite one image onto another
  • Gmagick::__construct — The Gmagick constructor
  • Gmagick::cropimage — Extracts a region of the image
  • Gmagick::cropthumbnailimage — Creates a crop thumbnail
  • Gmagick::current — The current purpose
  • Gmagick::cyclecolormapimage — Displaces an image's colormap
  • Gmagick::deconstructimages — Returns certain pixel differences between images
  • Gmagick::despeckleimage — The despeckleimage purpose
  • Gmagick::destroy — The destroy purpose
  • Gmagick::drawimage — Renders the GmagickDraw object on the current image
  • Gmagick::edgeimage — Enhance edges within the image
  • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
  • Gmagick::enhanceimage — Improves the quality of a noisy image
  • Gmagick::equalizeimage — Equalizes the image histogram
  • Gmagick::flipimage — Creates a vertical mirror image
  • Gmagick::flopimage — The flopimage purpose
  • Gmagick::frameimage — Adds a simulated three-dimensional border
  • Gmagick::gammaimage — Gamma-corrects an image
  • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
  • Gmagick::getfilename — The filename associated with an image sequence
  • Gmagick::getimagebackgroundcolor — Returns the image background color
  • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
  • Gmagick::getimagebordercolor — Returns the image border color
  • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
  • Gmagick::getimagecolors — Returns the color of the specified colormap index
  • Gmagick::getimagecolorspace — Gets the image colorspace
  • Gmagick::getimagecompose — Returns the composite operator associated with the image
  • Gmagick::getimagedelay — Gets the image delay
  • Gmagick::getimagedepth — Gets the depth of the image
  • Gmagick::getimagedispose — Gets the image disposal method
  • Gmagick::getimageextrema — Gets the extrema for the image
  • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
  • Gmagick::getimageformat — Returns the format of a particular image in a sequence
  • Gmagick::getimagegamma — Gets the image gamma
  • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
  • Gmagick::getimageheight — Returns the image height
  • Gmagick::getimagehistogram — Gets the image histogram
  • Gmagick::getimageindex — Gets the index of the current active image
  • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
  • Gmagick::getimageiterations — Gets the image iterations
  • Gmagick::getimagematte — Return if the image has a matte channel
  • Gmagick::getimagemattecolor — Returns the image matte color
  • Gmagick::getimageprofile — Returns the named image profile.
  • Gmagick::getimageredprimary — Returns the chromaticity red primary point
  • Gmagick::getimagerenderingintent — Gets the image rendering intent
  • Gmagick::getimageresolution — Gets the image X and Y resolution
  • Gmagick::getimagescene — Gets the image scene
  • Gmagick::getimagesignature — Generates an SHA-256 message digest
  • Gmagick::getimagetype — Gets the potential image type.
  • Gmagick::getimageunits — Gets the image units of resolution
  • Gmagick::getimagewhitepoint — Returns the chromaticity white point
  • Gmagick::getimagewidth — Returns the width of the image
  • Gmagick::getpackagename — Returns the GraphicsMagick package name.
  • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.
  • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.
  • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.
  • Gmagick::getsize — Returns the size associated with the Gmagick object
  • Gmagick::getversion — Returns the GraphicsMagick API version
  • Gmagick::hasnextimage — Checks if the object has more images
  • Gmagick::haspreviousimage — Checks if the object has a previous image
  • Gmagick::implodeimage — Creates a new image as a copy
  • Gmagick::labelimage — Adds a label to an image.
  • Gmagick::levelimage — Adjusts the levels of an image
  • Gmagick::magnifyimage — Scales an image proportionally 2x
  • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.
  • Gmagick::medianfilterimage — Applies a digital filter
  • Gmagick::minifyimage — Scales an image proportionally to half its size
  • Gmagick::modulateimage — Control the brightness, saturation, and hue
  • Gmagick::motionblurimage — Simulates motion blur
  • Gmagick::newimage — Creates a new image
  • Gmagick::nextimage — Moves to the next image
  • Gmagick::normalizeimage — Enhances the contrast of a color image
  • Gmagick::oilpaintimage — Simulates an oil painting
  • Gmagick::previousimage — Move to the previous image in the object
  • Gmagick::profileimage — Adds or removes a profile from an image
  • Gmagick::quantizeimage — Analyzes the colors within a reference image
  • Gmagick::quantizeimages — The quantizeimages purpose
  • Gmagick::queryfontmetrics — Returns an array representing the font metrics
  • Gmagick::queryfonts — Returns the configured fonts
  • Gmagick::queryformats — Returns formats supported by Gmagick.
  • Gmagick::radialblurimage — Radial blurs an image
  • Gmagick::raiseimage — Creates a simulated 3d button-like effect
  • Gmagick::read — Reads image from filename
  • Gmagick::readimage — Reads image from filename
  • Gmagick::readimageblob — Reads image from a binary string
  • Gmagick::readimagefile — The readimagefile purpose
  • Gmagick::reducenoiseimage — Smooths the contours of an image
  • Gmagick::removeimage — Removes an image from the image list
  • Gmagick::removeimageprofile — Removes the named image profile and returns it
  • Gmagick::resampleimage — Resample image to desired resolution
  • Gmagick::resizeimage — Scales an image
  • Gmagick::rollimage — Offsets an image
  • Gmagick::rotateimage — Rotates an image
  • Gmagick::scaleimage — Scales the size of an image
  • Gmagick::separateimagechannel — Separates a channel from the image
  • Gmagick::setfilename — Sets the filename before you read or write the image
  • Gmagick::setimagebackgroundcolor — Sets the image background color.
  • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
  • Gmagick::setimagebordercolor — Sets the image border color.
  • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
  • Gmagick::setimagecolorspace — Sets the image colorspace
  • Gmagick::setimagecompose — Sets the image composite operator
  • Gmagick::setimagedelay — Sets the image delay
  • Gmagick::setimagedepth — Sets the image depth
  • Gmagick::setimagedispose — Sets the image disposal method
  • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
  • Gmagick::setimageformat — Sets the format of a particular image
  • Gmagick::setimagegamma — Sets the image gamma
  • Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.
  • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
  • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
  • Gmagick::setimageiterations — Sets the image iterations.
  • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
  • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
  • Gmagick::setimagerenderingintent — Sets the image rendering intent
  • Gmagick::setimageresolution — Sets the image resolution
  • Gmagick::setimagescene — Sets the image scene
  • Gmagick::setimagetype — Sets the image type
  • Gmagick::setimageunits — Sets the image units of resolution.
  • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
  • Gmagick::setsamplingfactors — Sets the image sampling factors.
  • Gmagick::setsize — Sets the size of the Gmagick object
  • Gmagick::shearimage — Creating a parallelogram
  • Gmagick::solarizeimage — Applies a solarizing effect to the image
  • Gmagick::spreadimage — Randomly displaces each pixel in a block
  • Gmagick::stripimage — Strips an image of all profiles and comments
  • Gmagick::swirlimage — Swirls the pixels about the center of the image
  • Gmagick::thumbnailimage — Changes the size of an image
  • Gmagick::trimimage — Remove edges from the image
  • Gmagick::write — Writes an image to the specified filename
  • Gmagick::writeimage — Writes an image to the specified filename
Примеры
Gmagick::addimage
Gmagick


Adds new image to Gmagick object image list

Gmagick
Gmagick::addnoiseimage
Gmagick
PHP Manual

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Adds new image to Gmagick object image list

Описание

public Gmagick Gmagick::addimage ( Gmagick $Gmagick )

Adds new image to Gmagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Список параметров

source

The source Gmagick object

Возвращаемые значения

The Gmagick object with image added

Ошибки

Бросает GmagickException при ошибке.

Gmagick
Gmagick::addnoiseimage
Gmagick


Adds random noise to the image

Gmagick::addimage
Gmagick::annotateimage
Gmagick
PHP Manual

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Adds random noise to the image

Описание

public Gmagick Gmagick::addnoiseimage ( int $NOISE )

Adds random noise to the image.

Список параметров

noise_type

The type of the noise. Refer to this list of noise constants.

Возвращаемые значения

The Gmagick object with noise added.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::addimage
Gmagick::annotateimage
Gmagick


Annotates an image with text

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick
PHP Manual

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Annotates an image with text

Описание

public Gmagick Gmagick::annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )

Annotates an image with text.

Список параметров

GmagickDraw

The GmagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

Возвращаемые значения

The Gmagick object with annotation made.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick


Adds blur filter to image

Gmagick::annotateimage
Gmagick::borderimage
Gmagick
PHP Manual

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Adds blur filter to image

Описание

public Gmagick Gmagick::blurimage ( float $radius , float $sigma [, int $channel ] )

Adds blur filter to image.

Список параметров

radius

Blur radius

sigma

Standard deviation

Возвращаемые значения

The blurred Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::annotateimage
Gmagick::borderimage
Gmagick


Surrounds the image with a border

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick
PHP Manual

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Surrounds the image with a border

Описание

public Gmagick Gmagick::borderimage ( GmagickPixel $color , int $width , int $height )

Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string.

Список параметров

color

GmagickPixel object or a string containing the border color

width

Border width

height

Border height

Возвращаемые значения

The Gmagick object with border defined

Ошибки

Бросает GmagickException при ошибке.

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick


Simulates a charcoal drawing

Gmagick::borderimage
Gmagick::chopimage
Gmagick
PHP Manual

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simulates a charcoal drawing

Описание

public Gmagick Gmagick::charcoalimage ( float $radius , float $sigma )

Simulates a charcoal drawing.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

Возвращаемые значения

The Gmagick object with charcoal simulation

Ошибки

Бросает GmagickException при ошибке.

Gmagick::borderimage
Gmagick::chopimage
Gmagick


Removes a region of an image and trims

Gmagick::charcoalimage
Gmagick::clear
Gmagick
PHP Manual

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Removes a region of an image and trims

Описание

public Gmagick Gmagick::chopimage ( int $width , int $height , int $x , int $y )

Removes a region of an image and collapses the image to occupy the removed portion.

Список параметров

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

Возвращаемые значения

The chopped Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::charcoalimage
Gmagick::clear
Gmagick


Clears all resources associated to Gmagick object

Gmagick::chopimage
Gmagick::commentimage
Gmagick
PHP Manual

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Clears all resources associated to Gmagick object

Описание

public Gmagick Gmagick::clear ( void )

Clears all resources associated to Gmagick object

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The cleared Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::chopimage
Gmagick::commentimage
Gmagick


Adds a comment to your image

Gmagick::clear
Gmagick::compositeimage
Gmagick
PHP Manual

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Adds a comment to your image

Описание

public Gmagick Gmagick::commentimage ( string $comment )

Adds a comment to your image.

Список параметров

comment

The comment to add

Возвращаемые значения

The Gmagick object with comment added.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::clear
Gmagick::compositeimage
Gmagick


Composite one image onto another

Gmagick::commentimage
Gmagick::__construct
Gmagick
PHP Manual

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Composite one image onto another

Описание

public Gmagick Gmagick::compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )

Composite one image onto another at the specified offset.

Список параметров

source

Gmagick object which holds the composite image

compose

Composite operator.

x

The column offset of the composited image

y

The row offset of the composited image

Возвращаемые значения

The Gmagick object with compositions.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::commentimage
Gmagick::__construct
Gmagick


The Gmagick constructor

Gmagick::compositeimage
Gmagick::cropimage
Gmagick
PHP Manual

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — The Gmagick constructor

Описание

Gmagick::__construct ([ string $filename ] )

The Gmagick constructor.

Список параметров

filename

The path to an image to load or array of paths

Возвращаемые значения

Returns a new Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::compositeimage
Gmagick::cropimage
Gmagick


Extracts a region of the image

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick
PHP Manual

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extracts a region of the image

Описание

public Gmagick Gmagick::cropimage ( int $width , int $height , int $x , int $y )

Extracts a region of the image.

Список параметров

width

The width of the crop

height

The height of the crop

x

The X coordinate of the cropped region's top left corner

y

The Y coordinate of the cropped region's top left corner

Возвращаемые значения

The cropped Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick


Creates a crop thumbnail

Gmagick::cropimage
Gmagick::current
Gmagick
PHP Manual

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Creates a crop thumbnail

Описание

public Gmagick Gmagick::cropthumbnailimage ( int $width , int $height )

Creates a fixed size thumbnail by first scaling the image down and cropping a specified area from the center.

Список параметров

width

The width of the thumbnail

height

The Height of the thumbnail

Возвращаемые значения

The cropped Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::cropimage
Gmagick::current
Gmagick


The current purpose

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick
PHP Manual

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — The current purpose

Описание

public Gmagick Gmagick::current ( void )

Returns reference to the current gmagick object with image pointer at the correct sequence.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns self on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick


Displaces an image's colormap

Gmagick::current
Gmagick::deconstructimages
Gmagick
PHP Manual

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Displaces an image's colormap

Описание

public Gmagick Gmagick::cyclecolormapimage ( int $displace )

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Список параметров

displace

The amount to displace the colormap.

Возвращаемые значения

Returns self on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::current
Gmagick::deconstructimages
Gmagick


Returns certain pixel differences between images

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick
PHP Manual

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Returns certain pixel differences between images

Описание

public void Gmagick::deconstructimages ( void )

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns self on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick


The despeckleimage purpose

Gmagick::deconstructimages
Gmagick::destroy
Gmagick
PHP Manual

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — The despeckleimage purpose

Описание

public Gmagick Gmagick::despeckleimage ( void )

Reduces the speckle noise in an image while preserving the edges of the original image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The despeckled Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Примеры

Пример #1 Gmagick::despeckleimage() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

Gmagick::deconstructimages
Gmagick::destroy
Gmagick


The destroy purpose

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick
PHP Manual

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — The destroy purpose

Описание

public Gmagick Gmagick::destroy ( void )

Destroys the Gmagick object and frees all resources associated with it

Возвращаемые значения

Возвращает TRUE в случае успешного завершения работы.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick


Renders the GmagickDraw object on the current image

Gmagick::destroy
Gmagick::edgeimage
Gmagick
PHP Manual

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Renders the GmagickDraw object on the current image

Описание

public Gmagick Gmagick::drawimage ( GmagickDraw $GmagickDraw )

Renders the GmagickDraw object on the current image

Список параметров

GmagickDraw

The drawing operations to render on the image.

Возвращаемые значения

The drawn Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::destroy
Gmagick::edgeimage
Gmagick


Enhance edges within the image

Gmagick::drawimage
Gmagick::embossimage
Gmagick
PHP Manual

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Enhance edges within the image

Описание

public Gmagick Gmagick::edgeimage ( float $radius )

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Список параметров

radius

The radius of the operation.

Возвращаемые значения

The Gmagick object with edges enhanced.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::drawimage
Gmagick::embossimage
Gmagick


Returns a grayscale image with a three-dimensional effect

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick
PHP Manual

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect

Описание

public Gmagick Gmagick::embossimage ( float $radius , float $sigma )

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Список параметров

radius

The radius of the effect

sigma

The sigma of the effect

Возвращаемые значения

The embossed Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick


Improves the quality of a noisy image

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick
PHP Manual

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Improves the quality of a noisy image

Описание

public Gmagick Gmagick::enhanceimage ( void )

Applies a digital filter that improves the quality of a noisy image.

Возвращаемые значения

The enhanced Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick


Equalizes the image histogram

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick
PHP Manual

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Equalizes the image histogram

Описание

public Gmagick Gmagick::equalizeimage ( void )

Equalizes the image histogram.

Возвращаемые значения

The equalized Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick


Creates a vertical mirror image

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick
PHP Manual

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Creates a vertical mirror image

Описание

public Gmagick Gmagick::flipimage ( void )

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Возвращаемые значения

The flipped Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick


The flopimage purpose

Gmagick::flipimage
Gmagick::frameimage
Gmagick
PHP Manual

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — The flopimage purpose

Описание

public Gmagick Gmagick::flopimage ( void )

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

Возвращаемые значения

The flopped Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::flipimage
Gmagick::frameimage
Gmagick


Adds a simulated three-dimensional border

Gmagick::flopimage
Gmagick::gammaimage
Gmagick
PHP Manual

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Adds a simulated three-dimensional border

Описание

public Gmagick Gmagick::frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Список параметров

color

GmagickPixel object or a float representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Возвращаемые значения

The framed Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::flopimage
Gmagick::gammaimage
Gmagick


Gamma-corrects an image

Gmagick::frameimage
Gmagick::getcopyright
Gmagick
PHP Manual

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Gamma-corrects an image

Описание

public Gmagick Gmagick::gammaimage ( float $gamma )

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Список параметров

gamma

The amount of gamma-correction.

Возвращаемые значения

The gamma corrected Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::frameimage
Gmagick::getcopyright
Gmagick


Returns the GraphicsMagick API copyright as a string

Gmagick::gammaimage
Gmagick::getfilename
Gmagick
PHP Manual

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string

Описание

public string Gmagick::getcopyright ( void )

Returns the GraphicsMagick API copyright as a string.

Возвращаемые значения

Returns a string containing the copyright notice of GraphicsMagick and Magickwand C API.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::gammaimage
Gmagick::getfilename
Gmagick


The filename associated with an image sequence

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — The filename associated with an image sequence

Описание

public string Gmagick::getfilename ( void )

Returns the filename associated with an image sequence.

Возвращаемые значения

Returns a string on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick


Returns the image background color

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick
PHP Manual

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Returns the image background color

Описание

public void Gmagick::getimagebackgroundcolor ( void )

Returns the image background color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an GmagickPixel set to the background color of the image.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick


Returns the chromaticy blue primary point

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick
PHP Manual

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Returns the chromaticy blue primary point

Описание

public array Gmagick::getimageblueprimary ( void )

Returns the chromaticity blue primary point for the image.

Список параметров

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Возвращаемые значения

Array consisting of "x" and "y" coordinates of point.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick


Returns the image border color

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick
PHP Manual

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Returns the image border color

Описание

public void Gmagick::getimagebordercolor ( void )

Returns the image border color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

GmagickPixel object representing the color of the border

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick


Gets the depth for a particular image channel

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick
PHP Manual

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Gets the depth for a particular image channel

Описание

public int Gmagick::getimagechanneldepth ( int $channel_type )

Gets the depth for a particular image channel.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Depth of image channel

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick


Returns the color of the specified colormap index

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick
PHP Manual

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Returns the color of the specified colormap index

Описание

public int Gmagick::getimagecolors ( void )

Returns the color of the specified colormap index.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of colors in image.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick


Gets the image colorspace

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick
PHP Manual

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Gets the image colorspace

Описание

public int Gmagick::getimagecolorspace ( void )

Gets the image colorspace.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Colorspace

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick


Returns the composite operator associated with the image

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick
PHP Manual

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Returns the composite operator associated with the image

Описание

public int Gmagick::getimagecompose ( void )

Returns the composite operator associated with the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the composite operator associated with the image.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick


Gets the image delay

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick
PHP Manual

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Gets the image delay

Описание

public int Gmagick::getimagedelay ( void )

Gets the image delay

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the composite operator associated with the image.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick


Gets the depth of the image

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick
PHP Manual

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Gets the depth of the image

Описание

public int Gmagick::getimagedepth ( void )

Gets the depth of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Image depth

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick


Gets the image disposal method

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick
PHP Manual

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Gets the image disposal method

Описание

public int Gmagick::getimagedispose ( void )

Gets the image disposal method

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the dispose method on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick


Gets the extrema for the image

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick
PHP Manual

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Gets the extrema for the image

Описание

public array Gmagick::getimageextrema ( void )

Returns an associative array with the keys "min" and "max". Бросает GmagickException при ошибке.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an associative array with the keys "min" and "max".

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick


Returns the filename of a particular image in a sequence

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick
PHP Manual

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Returns the filename of a particular image in a sequence

Описание

public string Gmagick::getimagefilename ( void )

Returns the filename of a particular image in a sequence

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string with the filename of the image

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick


Returns the format of a particular image in a sequence

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick
PHP Manual

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Returns the format of a particular image in a sequence

Описание

public string Gmagick::getimageformat ( void )

Returns the format of a particular image in a sequence.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the image format on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick


Gets the image gamma

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick
PHP Manual

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Gets the image gamma

Описание

public float Gmagick::getimagegamma ( void )

Gets the image gamma

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image gamma on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick


Returns the chromaticy green primary point

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick
PHP Manual

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Returns the chromaticy green primary point

Описание

public array Gmagick::getimagegreenprimary ( void )

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array with the keys "x" and "y" on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick


Returns the image height

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick
PHP Manual

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Returns the image height

Описание

public int Gmagick::getimageheight ( void )

Returns the image height

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image height in pixels.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick


Gets the image histogram

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick
PHP Manual

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Gets the image histogram

Описание

public array Gmagick::getimagehistogram ( void )

Returns the image histogram as an array of GmagickPixel objects. Throw an GmagickException on error.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image histogram as an array of GmagickPixel objects.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick


Gets the index of the current active image

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick
PHP Manual

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Gets the index of the current active image

Описание

public int Gmagick::getimageindex ( void )

Returns the index of the current active image within the Gmagick object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Index of current active image

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick


Gets the image interlace scheme

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick
PHP Manual

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Gets the image interlace scheme

Описание

public int Gmagick::getimageinterlacescheme ( void )

Gets the image interlace scheme.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the interlace scheme as an integer on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick


Gets the image iterations

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick
PHP Manual

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Gets the image iterations

Описание

public int Gmagick::getimageiterations ( void )

Gets the image iterations.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image iterations as an integer.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick


Return if the image has a matte channel

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick
PHP Manual

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Return if the image has a matte channel

Описание

public int Gmagick::getimagematte ( void )

Returns TRUE if the image has a matte channel otherwise false.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the image has a matte channel otherwise false.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick


Returns the image matte color

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick
PHP Manual

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Returns the image matte color

Описание

public void Gmagick::getimagemattecolor ( void )

Returns GmagickPixel object on success. Throw an GmagickException on error.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns GmagickPixel object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick


Returns the named image profile.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick
PHP Manual

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Returns the named image profile.

Описание

public string Gmagick::getimageprofile ( string $name )

Returns the named image profile.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the image profile.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick


Returns the chromaticity red primary point

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick
PHP Manual

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Returns the chromaticity red primary point

Описание

public array Gmagick::getimageredprimary ( void )

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick


Gets the image rendering intent

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick
PHP Manual

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Gets the image rendering intent

Описание

public int Gmagick::getimagerenderingintent ( void )

Gets the image rendering intent

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Extracts a region of the image and returns it as a a new wand

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick


Gets the image X and Y resolution

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick
PHP Manual

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Gets the image X and Y resolution

Описание

public array Gmagick::getimageresolution ( void )

Returns the resolution as an array.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the resolution as an array.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick


Gets the image scene

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick
PHP Manual

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Gets the image scene

Описание

public int Gmagick::getimagescene ( void )

Gets the image scene.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image scene.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick


Generates an SHA-256 message digest

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick
PHP Manual

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Generates an SHA-256 message digest

Описание

public string Gmagick::getimagesignature ( void )

Generates an SHA-256 message digest for the image pixel stream.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the SHA-256 hash of the file.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick


Gets the potential image type.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick
PHP Manual

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Gets the potential image type.

Описание

public int Gmagick::getimagetype ( void )

Gets the potential image type.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the potential image type.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick


Gets the image units of resolution

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick
PHP Manual

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Gets the image units of resolution

Описание

public int Gmagick::getimageunits ( void )

Gets the image units of resolution.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image units of resolution.

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick


Returns the chromaticity white point

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick
PHP Manual

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Returns the chromaticity white point

Описание

public array Gmagick::getimagewhitepoint ( void )

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick


Returns the width of the image

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick
PHP Manual

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Returns the width of the image

Описание

public int Gmagick::getimagewidth ( void )

Returns the width of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the image width.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick


Returns the GraphicsMagick package name.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick
PHP Manual

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Returns the GraphicsMagick package name.

Описание

public string Gmagick::getpackagename ( void )

Returns the GraphicsMagick package name.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the GraphicsMagick package name as a string.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick


Returns the Gmagick quantum depth as a string.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick
PHP Manual

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.

Описание

public array Gmagick::getquantumdepth ( void )

Returns the Gmagick quantum depth as a string.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the Gmagick quantum depth as a string.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick


Returns the GraphicsMagick release date as a string.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick
PHP Manual

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.

Описание

public string Gmagick::getreleasedate ( void )

Returns the GraphicsMagick release date as a string.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the GraphicsMagick release date as a string.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick


Gets the horizontal and vertical sampling factor.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick
PHP Manual

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.

Описание

public array Gmagick::getsamplingfactors ( void )

Gets the horizontal and vertical sampling factor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an associative array with the horizontal and vertical sampling factors of the image.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick


Returns the size associated with the Gmagick object

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick
PHP Manual

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Returns the size associated with the Gmagick object

Описание

public array Gmagick::getsize ( void )

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick


Returns the GraphicsMagick API version

Gmagick::getsize
Gmagick::hasnextimage
Gmagick
PHP Manual

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Returns the GraphicsMagick API version

Описание

public array Gmagick::getversion ( void )

Returns the GraphicsMagick API version as a string and as a number.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the GraphicsMagick API version as a string and as a number.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getsize
Gmagick::hasnextimage
Gmagick


Checks if the object has more images

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick
PHP Manual

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Checks if the object has more images

Описание

public mixed Gmagick::hasnextimage ( void )

Returns TRUE if the object has more images when traversing the list in the forward direction.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick


Checks if the object has a previous image

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick
PHP Manual

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Checks if the object has a previous image

Описание

public mixed Gmagick::haspreviousimage ( void )

Returns TRUE if the object has more images when traversing the list in the reverse direction

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick


Creates a new image as a copy

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick
PHP Manual

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Creates a new image as a copy

Описание

public mixed Gmagick::implodeimage ( float $radius )

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Список параметров

radius

The radius of the implode

Возвращаемые значения

Returns imploded Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick


Adds a label to an image.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick
PHP Manual

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Adds a label to an image.

Описание

public mixed Gmagick::labelimage ( string $label )

Adds a label to an image.

Список параметров

label

The label to add

Возвращаемые значения

Gmagick with label.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick


Adjusts the levels of an image

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick
PHP Manual

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Adjusts the levels of an image

Описание

public mixed Gmagick::levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Список параметров

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

Gmagick object with image levelled.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick


Scales an image proportionally 2x

Gmagick::levelimage
Gmagick::mapimage
Gmagick
PHP Manual

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Scales an image proportionally 2x

Описание

public mixed Gmagick::magnifyimage ( void )

Conveniently scales an image proportionally to twice its original size.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Magnified Gmagick object.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::levelimage
Gmagick::mapimage
Gmagick


Replaces the colors of an image with the closest color from a reference image.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick
PHP Manual

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.

Описание

public Gmagick Gmagick::mapimage ( gmagick $gmagick , bool $dither )

Replaces the colors of an image with the closest color from a reference image.

Список параметров

gmagick

The reference image

dither

Set this integer value to something other than zero to dither the mapped image

Возвращаемые значения

Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick


Applies a digital filter

Gmagick::mapimage
Gmagick::minifyimage
Gmagick
PHP Manual

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Applies a digital filter

Описание

public void Gmagick::medianfilterimage ( float $radius )

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Список параметров

radius

The radius of the pixel neighborhood.

Возвращаемые значения

Gmagick object with median filter applied.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::mapimage
Gmagick::minifyimage
Gmagick


Scales an image proportionally to half its size

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick
PHP Manual

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Scales an image proportionally to half its size

Описание

public void Gmagick::minifyimage ( void )

A convenient method that scales an image proportionally to one-half its original size

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick


Control the brightness, saturation, and hue

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick
PHP Manual

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Control the brightness, saturation, and hue

Описание

public void Gmagick::modulateimage ( float $brightness , float $saturation , float $hue )

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Список параметров

brightness

The percent change in brighness (-100 thru +100).

saturation

The percent change in saturation (-100 thru +100)

hue

The percent change in hue (-100 thru +100)

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick


Simulates motion blur

Gmagick::modulateimage
Gmagick::newimage
Gmagick
PHP Manual

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simulates motion blur

Описание

public void Gmagick::motionblurimage ( float $radius , float $sigma , float $angle )

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::modulateimage
Gmagick::newimage
Gmagick


Creates a new image

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick
PHP Manual

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Creates a new image

Описание

public void Gmagick::newimage ( int $width , int $height , string $background [, string $format ] )

Creates a new image with the specified background color

Список параметров

width

Width of the new image

height

Height of the new image

background

The background color used for this image (as float)

format

Image format.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick


Moves to the next image

Gmagick::newimage
Gmagick::normalizeimage
Gmagick
PHP Manual

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Moves to the next image

Описание

public bool Gmagick::nextimage ( void )

Associates the next image in the image list with an Gmagick object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::newimage
Gmagick::normalizeimage
Gmagick


Enhances the contrast of a color image

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick
PHP Manual

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Enhances the contrast of a color image

Описание

public void Gmagick::normalizeimage ([ int $channel ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Список параметров

channel

Identify which channel to normalize

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick


Simulates an oil painting

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick
PHP Manual

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simulates an oil painting

Описание

public void Gmagick::oilpaintimage ( float $radius )

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Список параметров

radius

The radius of the circular neighborhood.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick


Move to the previous image in the object

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick
PHP Manual

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Move to the previous image in the object

Описание

public bool Gmagick::previousimage ( void )

Assocates the previous image in an image list with the Gmagick object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick


Adds or removes a profile from an image

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick
PHP Manual

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Adds or removes a profile from an image

Описание

public void Gmagick::profileimage ( string $name , string $profile )

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Список параметров

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick


Analyzes the colors within a reference image

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick
PHP Manual

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analyzes the colors within a reference image

Описание

public void Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Список параметров

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick


The quantizeimages purpose

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick
PHP Manual

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — The quantizeimages purpose

Описание

public void Gmagick::quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Список параметров

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick


Returns an array representing the font metrics

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick
PHP Manual

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Returns an array representing the font metrics

Описание

public array Gmagick::queryfontmetrics ( GmagickDraw $draw , string $text )

MagickQueryFontMetrics() returns an array representing the font metrics.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick


Returns the configured fonts

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick
PHP Manual

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Returns the configured fonts

Описание

public array Gmagick::queryfonts ([ string $pattern = "*" ] )

Returns fonts supported by Gmagick.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick


Returns formats supported by Gmagick.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick
PHP Manual

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Returns formats supported by Gmagick.

Описание

public array Gmagick::queryformats ([ string $pattern = "*" ] )

Returns formats supported by Gmagick.

Список параметров

pattern

Specifies a pointer to a text string containing a pattern.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick


Radial blurs an image

Gmagick::queryformats
Gmagick::raiseimage
Gmagick
PHP Manual

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Radial blurs an image

Описание

public void Gmagick::radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Radial blurs an image.

Список параметров

angle

The angle of the blur in degrees.

channel

Related channel

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::queryformats
Gmagick::raiseimage
Gmagick


Creates a simulated 3d button-like effect

Gmagick::radialblurimage
Gmagick::read
Gmagick
PHP Manual

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Creates a simulated 3d button-like effect

Описание

public void Gmagick::raiseimage ( int $width , int $height , int $x , int $y , bool $raise )

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Список параметров

width

Width of the area to raise.

height

Height of the area to raise.

x

X coordinate

y

Y coordinate

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::radialblurimage
Gmagick::read
Gmagick


Reads image from filename

Gmagick::raiseimage
Gmagick::readimage
Gmagick
PHP Manual

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Reads image from filename

Описание

public void Gmagick::read ( string $filename )

Reads image from filename.

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::raiseimage
Gmagick::readimage
Gmagick


Reads image from filename

Gmagick::read
Gmagick::readimageblob
Gmagick
PHP Manual

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Reads image from filename

Описание

public void Gmagick::readimage ( string $filename )

Reads image from filename.

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::read
Gmagick::readimageblob
Gmagick


Reads image from a binary string

Gmagick::readimage
Gmagick::readimagefile
Gmagick
PHP Manual

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Reads image from a binary string

Описание

public void Gmagick::readimageblob ( string $imageContents [, string $filename ] )

Reads image from a binary string.

Список параметров

imageContents

Content of image

filename

The image filename.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::readimage
Gmagick::readimagefile
Gmagick


The readimagefile purpose

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick
PHP Manual

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — The readimagefile purpose

Описание

public void Gmagick::readimagefile ( resource $fp [, string $filename ] )

Reads an image or image sequence from an open file descriptor.

Список параметров

fp

The file descriptor.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick


Smooths the contours of an image

Gmagick::readimagefile
Gmagick::removeimage
Gmagick
PHP Manual

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Smooths the contours of an image

Описание

public void Gmagick::reducenoiseimage ( float $radius )

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius for you.

Список параметров

radius

The radius of the pixel neighborhood.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::readimagefile
Gmagick::removeimage
Gmagick


Removes an image from the image list

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick
PHP Manual

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Removes an image from the image list

Описание

public void Gmagick::removeimage ( void )

Removes an image from the image list.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick


Removes the named image profile and returns it

Gmagick::removeimage
Gmagick::resampleimage
Gmagick
PHP Manual

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Removes the named image profile and returns it

Описание

public string Gmagick::removeimageprofile ( string $name )

Removes the named image profile and returns it.

Список параметров

name

Name of profile to return: ICC, IPTC, or generic profile.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::removeimage
Gmagick::resampleimage
Gmagick


Resample image to desired resolution

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick
PHP Manual

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Resample image to desired resolution

Описание

public void Gmagick::resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )

Resample image to desired resolution.

Список параметров

xResolution

The new image x resolution.

yResolution

The new image y resolution.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, smaller than 1 is sharp.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick


Scales an image

Gmagick::resampleimage
Gmagick::rollimage
Gmagick
PHP Manual

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Scales an image

Описание

public void Gmagick::resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )

Scales an image to the desired dimensions with a filter.

Список параметров

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, lesser than 1 is sharp.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::resampleimage
Gmagick::rollimage
Gmagick


Offsets an image

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick
PHP Manual

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Offsets an image

Описание

public void Gmagick::rollimage ( int $x , int $y )

Offsets an image as defined by x and y.

Список параметров

x

The x offset.

y

The y offset.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick


Rotates an image

Gmagick::rollimage
Gmagick::scaleimage
Gmagick
PHP Manual

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rotates an image

Описание

public Gmagick Gmagick::rotateimage ( mixed $color , float $degrees )

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Список параметров

color

The background pixel.

degrees

The number of degrees to rotate the image.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::rollimage
Gmagick::scaleimage
Gmagick


Scales the size of an image

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick
PHP Manual

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Scales the size of an image

Описание

public Gmagick Gmagick::scaleimage ( int $width , int $height [, bool $fit = false ] )

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Список параметров

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick


Separates a channel from the image

Gmagick::scaleimage
Gmagick::setfilename
Gmagick
PHP Manual

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separates a channel from the image

Описание

public Gmagick Gmagick::separateimagechannel ( int $channel )

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Список параметров

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::scaleimage
Gmagick::setfilename
Gmagick


Sets the filename before you read or write the image

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Sets the filename before you read or write the image

Описание

public Gmagick Gmagick::setfilename ( string $filename )

Sets the filename before you read or write an image file.

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick


Sets the image background color.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick
PHP Manual

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Sets the image background color.

Описание

public Gmagick Gmagick::setimagebackgroundcolor ( GmagickPixel $color )

Sets the image background color.

Список параметров

color

The background pixel wand.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick


Sets the image chromaticity blue primary point.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick
PHP Manual

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.

Описание

public Gmagick Gmagick::setimageblueprimary ( float $x , float $y )

Sets the image chromaticity blue primary point.

Список параметров

x

The blue primary x-point.

y

The blue primary y-point.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick


Sets the image border color.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick
PHP Manual

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Sets the image border color.

Описание

public Gmagick Gmagick::setimagebordercolor ( GmagickPixel $color )

Sets the image border color.

Список параметров

color

The border pixel wand.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick


Sets the depth of a particular image channel

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick
PHP Manual

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Sets the depth of a particular image channel

Описание

public Gmagick Gmagick::setimagechanneldepth ( int $channel , int $depth )

Sets the depth of a particular image channel.

Список параметров

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

depth

The image depth in bits.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick


Sets the image colorspace

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick
PHP Manual

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Sets the image colorspace

Описание

public Gmagick Gmagick::setimagecolorspace ( int $colorspace )

Sets the image colorspace.

Список параметров

colorspace

The image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick


Sets the image composite operator

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick
PHP Manual

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Sets the image composite operator

Описание

public Gmagick Gmagick::setimagecompose ( int $composite )

Sets the image composite operator.

Список параметров

composite

The image composite operator.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick


Sets the image delay

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick
PHP Manual

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Sets the image delay

Описание

public Gmagick Gmagick::setimagedelay ( int $delay )

Sets the image delay

Список параметров

delay

The image delay in 1/100th of a second.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick


Sets the image depth

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick
PHP Manual

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Sets the image depth

Описание

public Gmagick Gmagick::setimagedepth ( int $depth )

Sets the image depth

Список параметров

depth

The image depth in bits: 8, 16, or 32.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick


Sets the image disposal method

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick
PHP Manual

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Sets the image disposal method

Описание

public Gmagick Gmagick::setimagedispose ( int $disposeType )

Sets the image disposal method.

Список параметров

disposeType

The image disposal type.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick


Sets the filename of a particular image in a sequence

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick
PHP Manual

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Sets the filename of a particular image in a sequence

Описание

public Gmagick Gmagick::setimagefilename ( string $filename )

Sets the filename of a particular image in a sequence.

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick


Sets the format of a particular image

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick
PHP Manual

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Sets the format of a particular image

Описание

public Gmagick Gmagick::setimageformat ( string $imageFormat )

Sets the format of a particular image in a sequence.

Список параметров

imageFormat

The image format.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick


Sets the image gamma

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick
PHP Manual

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Sets the image gamma

Описание

public Gmagick Gmagick::setimagegamma ( float $gamma )

Sets the image gamma.

Список параметров

gamma

The image gamma.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick


TSets the image chromaticity green primary point.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick
PHP Manual

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.

Описание

public Gmagick Gmagick::setimagegreenprimary ( float $x , float $y )

Sets the image chromaticity green primary point.

Список параметров

x

The chromaticity green primary x-point.

y

The chromaticity green primary y-point.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick


Set the iterator to the position in the image list specified with the index parameter

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick
PHP Manual

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter

Описание

public Gmagick Gmagick::setimageindex ( int $index )

Set the iterator to the position in the image list specified with the index parameter.

Список параметров

index

The scene number.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick


Sets the interlace scheme of the image.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick
PHP Manual

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.

Описание

public Gmagick Gmagick::setimageinterlacescheme ( int $interlace )

Sets the interlace scheme of the image.

Список параметров

interlace

The image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick


Sets the image iterations.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick
PHP Manual

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Sets the image iterations.

Описание

public Gmagick Gmagick::setimageiterations ( int $iterations )

Sets the image iterations.

Список параметров

iterations

The image delay in 1/100th of a second.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick


Adds a named profile to the Gmagick object

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick
PHP Manual

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Adds a named profile to the Gmagick object

Описание

public Gmagick Gmagick::setimageprofile ( string $name , string $profile )

Adds a named profile to the Gmagick object. If a profile with the same name already exists, it is replaced. This method differs from the Gmagick::ProfileImage() method in that it does not apply any CMS color profiles.

Список параметров

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick


Sets the image chromaticity red primary point.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick
PHP Manual

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Sets the image chromaticity red primary point.

Описание

public Gmagick Gmagick::setimageredprimary ( float $x , float $y )

Sets the image chromaticity red primary point.

Список параметров

x

The red primary x-point.

y

The red primary y-point.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick


Sets the image rendering intent

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick
PHP Manual

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Sets the image rendering intent

Описание

public Gmagick Gmagick::setimagerenderingintent ( int $rendering_intent )

Sets the image rendering intent.

Список параметров

rendering_intent

The image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick


Sets the image resolution

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick
PHP Manual

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Sets the image resolution

Описание

public Gmagick Gmagick::setimageresolution ( float $xResolution , float $yResolution )

Sets the image resolution.

Список параметров

xResolution

The image x resolution.

yResolution

The image y resolution.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick


Sets the image scene

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick
PHP Manual

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Sets the image scene

Описание

public Gmagick Gmagick::setimagescene ( int $scene )

Sets the image scene.

Список параметров

scene

The image scene number.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick


Sets the image type

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick
PHP Manual

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Sets the image type

Описание

public Gmagick Gmagick::setimagetype ( int $imgType )

Sets the image type.

Список параметров

imgType

The image type: UndefinedType, BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeType.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick


Sets the image units of resolution.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick
PHP Manual

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Sets the image units of resolution.

Описание

public Gmagick Gmagick::setimageunits ( int $resolution )

Sets the image units of resolution.

Список параметров

resolution

The image units of resolution : Undefinedresolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick


Sets the image chromaticity white point.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick
PHP Manual

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Sets the image chromaticity white point.

Описание

public Gmagick Gmagick::setimagewhitepoint ( float $x , float $y )

Sets the image chromaticity white point.

Список параметров

x

The white x-point.

y

The white y-point.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick


Sets the image sampling factors.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick
PHP Manual

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Sets the image sampling factors.

Описание

public Gmagick Gmagick::setsamplingfactors ( array $factors )

Sets the image sampling factors.

Список параметров

factors

An array of doubles representing the sampling factor for each color component (in RGB order).

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick


Sets the size of the Gmagick object

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick
PHP Manual

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Sets the size of the Gmagick object

Описание

public Gmagick Gmagick::setsize ( int $columns , int $rows )

Sets the size of the Gmagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Список параметров

columns

The width in pixels.

rows

The height in pixels.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick


Creating a parallelogram

Gmagick::setsize
Gmagick::solarizeimage
Gmagick
PHP Manual

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Creating a parallelogram

Описание

public Gmagick Gmagick::shearimage ( mixed $color , float $xShear , float $yShear )

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Список параметров

color

The background pixel wand.

xShear

The number of degrees to shear the image.

yShear

The number of degrees to shear the image.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::setsize
Gmagick::solarizeimage
Gmagick


Applies a solarizing effect to the image

Gmagick::shearimage
Gmagick::spreadimage
Gmagick
PHP Manual

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Applies a solarizing effect to the image

Описание

public Gmagick Gmagick::solarizeimage ( int $threshold )

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Список параметров

threshold

Define the extent of the solarization.

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::shearimage
Gmagick::spreadimage
Gmagick


Randomly displaces each pixel in a block

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick
PHP Manual

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Randomly displaces each pixel in a block

Описание

public Gmagick Gmagick::spreadimage ( float $radius )

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Список параметров

radius

Choose a random pixel in a neighborhood of this extent.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick


Strips an image of all profiles and comments

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick
PHP Manual

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Strips an image of all profiles and comments

Описание

public Gmagick Gmagick::stripimage ( void )

Strips an image of all profiles and comments.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick


Swirls the pixels about the center of the image

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick
PHP Manual

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Swirls the pixels about the center of the image

Описание

public Gmagick Gmagick::swirlimage ( float $degrees )

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Список параметров

degrees

Define the tightness of the swirling effect.

Возвращаемые значения

The Gmagick object on success

Ошибки

Бросает GmagickException при ошибке.

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick


Changes the size of an image

Gmagick::swirlimage
Gmagick::trimimage
Gmagick
PHP Manual

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Changes the size of an image

Описание

public Gmagick Gmagick::thumbnailimage ( int $width , int $height [, bool $fit = false ] )

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Список параметров

width

Image width

height

Image height

Возвращаемые значения

The Gmagick object on success.

Ошибки

Бросает GmagickException при ошибке.

Gmagick::swirlimage
Gmagick::trimimage
Gmagick


Remove edges from the image

Gmagick::thumbnailimage
Gmagick::write
Gmagick
PHP Manual

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Remove edges from the image

Описание

public Gmagick Gmagick::trimimage ( float $fuzz )

Remove edges that are the background color from the image.

Список параметров

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Возвращаемые значения

The Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::thumbnailimage
Gmagick::write
Gmagick


Writes an image to the specified filename

Gmagick::trimimage
Gmagick::writeimage
Gmagick
PHP Manual

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Writes an image to the specified filename

Описание

public void Gmagick::write ( string $filename )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::trimimage
Gmagick::writeimage
Gmagick


Writes an image to the specified filename

Gmagick::write
GmagickDraw
Gmagick
PHP Manual

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Writes an image to the specified filename

Описание

public Gmagick Gmagick::writeimage ( string $filename [, bool $all_frames = false ] )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Список параметров

filename

The image filename.

Возвращаемые значения

The Gmagick object

Ошибки

Бросает GmagickException при ошибке.

Gmagick::write
GmagickDraw
Gmagick


The GmagickDraw class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Description of the class.

Обзор классов

GmagickDraw {
/* Методы */
public GmagickDraw annotate ( float $x , float $y , string $text )
public GmagickDraw arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
public GmagickDraw bezier ( array $coordinate_array )
public GmagickDraw ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
public void getfillcolor ( void )
public float getfillopacity ( void )
public string getfont ( void )
public float getfontsize ( void )
public int getfontstyle ( void )
public int getfontweight ( void )
public void getstrokecolor ( void )
public float getstrokeopacity ( void )
public float getstrokewidth ( void )
public int gettextdecoration ( void )
public string gettextencoding ( void )
public GmagickDraw line ( float $sx , float $sy , float $ex , float $ey )
public GmagickDraw point ( float $x , float $y )
public GmagickDraw polygon ( array $coordinates )
public GmagickDraw polyline ( array $coordinate_array )
public GmagickDraw rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
public GmagickDraw rotate ( float $degrees )
public GmagickDraw roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
public GmagickDraw scale ( float $x , float $y )
public GmagickDraw setfillcolor ( string $color )
public GmagickDraw setfillopacity ( float $fill_opacity )
public GmagickDraw setfont ( string $font )
public GmagickDraw setfontsize ( float $pointsize )
public GmagickDraw setfontstyle ( int $style )
public GmagickDraw setfontweight ( int $weight )
public GmagickDraw setstrokecolor ( GmagickPixel $color )
public GmagickDraw setstrokeopacity ( float $stroke_opacity )
public GmagickDraw setstrokewidth ( float $width )
public GmagickDraw settextdecoration ( int $decoration )
public GmagickDraw settextencoding ( string $encoding )
}

Содержание

  • GmagickDraw::annotate — Draws text on the image
  • GmagickDraw::arc — Draws an arc
  • GmagickDraw::bezier — Draws a bezier curve
  • GmagickDraw::ellipse — Draws an ellipse on the image
  • GmagickDraw::getfillcolor — Returns the fill color
  • GmagickDraw::getfillopacity — Returns the opacity used when drawing
  • GmagickDraw::getfont — Returns the font
  • GmagickDraw::getfontsize — Returns the font pointsize
  • GmagickDraw::getfontstyle — Returns the font style
  • GmagickDraw::getfontweight — Returns the font weight
  • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
  • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
  • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
  • GmagickDraw::gettextdecoration — Returns the text decoration
  • GmagickDraw::gettextencoding — Returns the code set used for text annotations
  • GmagickDraw::line — The line purpose
  • GmagickDraw::point — Draws a point
  • GmagickDraw::polygon — Draws a polygon
  • GmagickDraw::polyline — Draws a polyline
  • GmagickDraw::rectangle — Draws a rectangle
  • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • GmagickDraw::roundrectangle — Draws a rounded rectangle
  • GmagickDraw::scale — Adjusts the scaling factor
  • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
  • GmagickDraw::setfillopacity — The setfillopacity purpose
  • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
  • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
  • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
  • GmagickDraw::setfontweight — Sets the font weight
  • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
  • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
  • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
  • GmagickDraw::settextdecoration — Specifies a decoration
  • GmagickDraw::settextencoding — Specifies specifies the text code set
Gmagick::writeimage
GmagickDraw::annotate
Gmagick


Draws text on the image

GmagickDraw
GmagickDraw::arc
GmagickDraw
PHP Manual

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Draws text on the image

Описание

public GmagickDraw GmagickDraw::annotate ( float $x , float $y , string $text )

Draws text on the image.

Список параметров

x

x ordinate to left of text

y

y ordinate to text baseline

text

text to draw

Возвращаемые значения

The GmagickDraw object on success.

GmagickDraw
GmagickDraw::arc
GmagickDraw


Draws an arc

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw
PHP Manual

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Draws an arc

Описание

public GmagickDraw GmagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )

Draws an arc falling within a specified bounding rectangle on the image.

Список параметров

sx

starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Возвращаемые значения

The GmagickDraw object on success.

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw


Draws a bezier curve

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw
PHP Manual

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Draws a bezier curve

Описание

public GmagickDraw GmagickDraw::bezier ( array $coordinate_array )

Draws a bezier curve through a set of points on the image.

Список параметров

coordinate_array

Coordinates array

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw


Draws an ellipse on the image

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw
PHP Manual

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Draws an ellipse on the image

Описание

public GmagickDraw GmagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )

Draws an ellipse on the image.

Список параметров

ox

origin x ordinate

oy

origin y ordinate

rx

radius in x

ry

radius in y

start

starting rotation in degrees

end

ending rotation in degrees

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw


Returns the fill color

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw
PHP Manual

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Returns the fill color

Описание

public void GmagickDraw::getfillcolor ( void )

Returns the fill color used for drawing filled objects.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The GmagickPixel fill color used for drawing filled objects.

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw


Returns the opacity used when drawing

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw
PHP Manual

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Returns the opacity used when drawing

Описание

public float GmagickDraw::getfillopacity ( void )

Returns the opacity used when drawing

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw


Returns the font

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw
PHP Manual

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Returns the font

Описание

public string GmagickDraw::getfont ( void )

Returns a string specifying the font used when annotating with text.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and false if no font is set.

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw


Returns the font pointsize

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw
PHP Manual

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Returns the font pointsize

Описание

public float GmagickDraw::getfontsize ( void )

Returns the font pointsize used when annotating with text.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the font size associated with the current GmagickDraw object.

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw


Returns the font style

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw
PHP Manual

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Returns the font style

Описание

public int GmagickDraw::getfontstyle ( void )

Returns the font style used when annotating with text.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set.

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw


Returns the font weight

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Returns the font weight

Описание

public int GmagickDraw::getfontweight ( void )

Returns the font weight used when annotating with text.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an int on success and 0 if no weight is set.

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw


Returns the color used for stroking object outlines

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines

Описание

public void GmagickDraw::getstrokecolor ( void )

Returns the color used for stroking object outlines.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an GmagickPixel object which describes the color

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw


Returns the opacity of stroked object outlines

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines

Описание

public float GmagickDraw::getstrokeopacity ( void )

Returns the opacity of stroked object outlines.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a double describing the opacity.

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw


Returns the width of the stroke used to draw object outlines

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw
PHP Manual

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines

Описание

public float GmagickDraw::getstrokewidth ( void )

Returns the width of the stroke used to draw object outlines.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a double describing the stroke width.

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw


Returns the text decoration

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw
PHP Manual

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Returns the text decoration

Описание

public int GmagickDraw::gettextdecoration ( void )

Returns the decoration applied when annotating with text.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns one of the DECORATION_ constants and 0 if no decoration is set.

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw


Returns the code set used for text annotations

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw
PHP Manual

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Returns the code set used for text annotations

Описание

public string GmagickDraw::gettextencoding ( void )

Returns a string which specifies the code set used for text annotations.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string specifying the code set or false if text encoding is not set.

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw


The line purpose

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw
PHP Manual

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — The line purpose

Описание

public GmagickDraw GmagickDraw::line ( float $sx , float $sy , float $ex , float $ey )

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Список параметров

sx

starting x ordinate

sy

starting y ordinate

ex

ending x ordinate

ey

ending y ordinate

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw


Draws a point

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw
PHP Manual

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Draws a point

Описание

public GmagickDraw GmagickDraw::point ( float $x , float $y )

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Список параметров

x

target x coordinate

y

target y coordinate

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw


Draws a polygon

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw
PHP Manual

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Draws a polygon

Описание

public GmagickDraw GmagickDraw::polygon ( array $coordinates )

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Список параметров

coordinates

coordinate array

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw


Draws a polyline

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw
PHP Manual

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Draws a polyline

Описание

public GmagickDraw GmagickDraw::polyline ( array $coordinate_array )

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Список параметров

coordinate_array

The array of coordinates

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw


Draws a rectangle

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw
PHP Manual

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Draws a rectangle

Описание

public GmagickDraw GmagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Список параметров

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw


Applies the specified rotation to the current coordinate space

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw
PHP Manual

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Applies the specified rotation to the current coordinate space

Описание

public GmagickDraw GmagickDraw::rotate ( float $degrees )

Applies the specified rotation to the current coordinate space.

Список параметров

degrees

degrees of rotation

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw


Draws a rounded rectangle

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw
PHP Manual

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Draws a rounded rectangle

Описание

public GmagickDraw GmagickDraw::roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )

Draws a rounded rectangle given two coordinates, x and y corner radiuses and using the current stroke, stroke width, and fill settings.

Список параметров

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

rx

radius of corner in horizontal direction

ry

radius of corner in vertical direction

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw


Adjusts the scaling factor

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw
PHP Manual

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Adjusts the scaling factor

Описание

public GmagickDraw GmagickDraw::scale ( float $x , float $y )

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Список параметров

x

horizontal scale factor

y

vertical scale factor

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw


Sets the fill color to be used for drawing filled objects.

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw
PHP Manual

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.

Описание

public GmagickDraw GmagickDraw::setfillcolor ( string $color )

Sets the fill color to be used for drawing filled objects.

Список параметров

color

GmagickPixel indicating color to use for filling.

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw


The setfillopacity purpose

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw
PHP Manual

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — The setfillopacity purpose

Описание

public GmagickDraw GmagickDraw::setfillopacity ( float $fill_opacity )

Sets the opacity to use when drawing using the fill color or fill texture. Setting it to 1.0 will make fill full opaque.

Список параметров

fill_opacity

Fill opacity

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw


Sets the fully-specified font to use when annotating with text.

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw
PHP Manual

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.

Описание

public GmagickDraw GmagickDraw::setfont ( string $font )

Sets the fully-specified font to use when annotating with text

Список параметров

font

font name

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw


Sets the font pointsize to use when annotating with text.

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw
PHP Manual

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.

Описание

public GmagickDraw GmagickDraw::setfontsize ( float $pointsize )

Sets the font pointsize to use when annotating with text.

Список параметров

pointsize

Text pointsize

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw


Sets the font style to use when annotating with text

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw
PHP Manual

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Sets the font style to use when annotating with text

Описание

public GmagickDraw GmagickDraw::setfontstyle ( int $style )

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Список параметров

style

Font style (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw


Sets the font weight

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Sets the font weight

Описание

public GmagickDraw GmagickDraw::setfontweight ( int $weight )

Sets the font weight to use when annotating with text.

Список параметров

weight

Font weight (valid range 100-900)

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw


Sets the color used for stroking object outlines.

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.

Описание

public GmagickDraw GmagickDraw::setstrokecolor ( GmagickPixel $color )

Sets the color used for stroking object outlines.

Список параметров

color

GmagickPixel representing the color for the stroke.

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw


Specifies the opacity of stroked object outlines.

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.

Описание

public GmagickDraw GmagickDraw::setstrokeopacity ( float $stroke_opacity )

Specifies the opacity of stroked object outlines.

Список параметров

stroke_opacity

Stroke opacity. The value 1.0 is opaque.

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw


Sets the width of the stroke used to draw object outlines.

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw
PHP Manual

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.

Описание

public GmagickDraw GmagickDraw::setstrokewidth ( float $width )

Sets the width of the stroke used to draw object outlines

Список параметров

width

Stroke width

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw


Specifies a decoration

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw
PHP Manual

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Specifies a decoration

Описание

public GmagickDraw GmagickDraw::settextdecoration ( int $decoration )

Specifies a decoration to be applied when annotating with text.

Список параметров

int

Text decoration. One of NoDecoration, UnderlineDecoration, OverlineDecoration, or LineThroughDecoration

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw


Specifies specifies the text code set

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw
PHP Manual

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Specifies specifies the text code set

Описание

public GmagickDraw GmagickDraw::settextencoding ( string $encoding )

Specifies specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Список параметров

encoding

Character string specifying text encoding

Возвращаемые значения

The GmagickDraw object on success

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw


The GmagickPixel class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Description of the class.

Обзор классов

GmagickPixel {
/* Методы */
__construct ([ string $color ] )
public mixed getcolor ([ bool $as_array [, bool $normalize_array ]] )
public int getcolorcount ( void )
public float getcolorvalue ( int $color )
public GmagickPixel setcolor ( string $color )
public GmagickPixel setcolorvalue ( int $color , float $value )
}

Содержание

  • GmagickPixel::__construct — The GmagickPixel constructor
  • GmagickPixel::getcolor — Returns the color
  • GmagickPixel::getcolorcount — Returns the color count associated with this color
  • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
  • GmagickPixel::setcolor — Sets the color
  • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
GmagickDraw::settextencoding
GmagickPixel::__construct
Gmagick


The GmagickPixel constructor

GmagickPixel
GmagickPixel::getcolor
GmagickPixel
PHP Manual

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — The GmagickPixel constructor

Описание

GmagickPixel::__construct ([ string $color ] )

Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Список параметров

color

The optional color string to use as the initial value of this object.

Возвращаемые значения

The GmagickPixel object on success.

GmagickPixel
GmagickPixel::getcolor
GmagickPixel


Returns the color

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel
PHP Manual

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Returns the color

Описание

public mixed GmagickPixel::getcolor ([ bool $as_array [, bool $normalize_array ]] )

Returns the color described by the GmagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Список параметров

as_array

True to indicate return of array instead of string

normalize_array

Normalize the color values

Возвращаемые значения

An array of channel values, each normalized if TRUE is given as param. Throws GmagickPixelException on error.

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel


Returns the color count associated with this color

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Returns the color count associated with this color

Описание

public int GmagickPixel::getcolorcount ( void )

Returns the color count associated with this color

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the color count as an integer on success, throws GmagickPixelException on failure.

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel


Gets the normalized value of the provided color channel

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel
PHP Manual

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel

Описание

public float GmagickPixel::getcolorvalue ( int $color )

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Список параметров

color

The channel to check, specified as one of the Gmagick channel constants.

Возвращаемые значения

The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error.

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel


Sets the color

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Sets the color

Описание

public GmagickPixel GmagickPixel::setcolor ( string $color )

Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Список параметров

color

The color definition to use in order to initialise the GmagickPixel object.

Возвращаемые значения

The GmagickPixel object on success.

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel


Sets the normalized value of one of the channels

GmagickPixel::setcolor
ImageMagick
GmagickPixel
PHP Manual

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels

Описание

public GmagickPixel GmagickPixel::setcolorvalue ( int $color , float $value )

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object.

Список параметров

color

One of the Gmagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Возвращаемые значения

The GmagickPixel object on success.

GmagickPixel::setcolor
ImageMagick
GmagickPixel


Обработка изображений (ImageMagick)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • Класс Imagick
    • Imagick::adaptiveBlurImage — Добавляет адаптивный фильтр размытия к изображению
    • Imagick::adaptiveResizeImage — Адаптивное изменение размера изображения с данными триангуляции
    • Imagick::adaptiveSharpenImage — Адаптивное изменение резкости изображения
    • Imagick::adaptiveThresholdImage — Выбор порога для каждого пикселя в зависимости от диапазона интенсивности
    • Imagick::addImage — Добавляет новое изображение к списку изображений объекта Imagick
    • Imagick::addNoiseImage — Накладывает случайный шум на изображение
    • Imagick::affineTransformImage — Преобразование изображения
    • Imagick::animateImages — Анимация одного или нескольких изображений
    • Imagick::annotateImage — Добавляет текстовый комментарий на изображение
    • Imagick::appendImages — Объединяет набор изображений
    • Imagick::averageImages — Усредняет набор изображений
    • Imagick::blackThresholdImage — Перевести все пиксели ниже порогового значения в черный цвет
    • Imagick::blurImage — Добавляет фильтр размытия к изображению
    • Imagick::borderImage — Окружает изображение рамкой
    • Imagick::charcoalImage — Рисование углем
    • Imagick::chopImage — Удаляет область изображения и обрезает его
    • Imagick::clear — Очищает все ресурсы, связанные с объектом Imagick
    • Imagick::clipImage — Обрезка вдоль ближайшего контура с профилем 8BIM
    • Imagick::clipPathImage — Отсечь вдоль обозначенного контура с профилем 8BIM
    • Imagick::clone — Создает точную копию объекта Imagick
    • Imagick::clutImage — Заменяет цвета в изображении
    • Imagick::coalesceImages — Composites a set of images
    • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::colorizeImage — Смешивание цвета заливки с изображением
    • Imagick::combineImages — Combines one or more images into a single image
    • Imagick::commentImage — Adds a comment to your image
    • Imagick::compareImageChannels — Returns the difference in one or more images
    • Imagick::compareImageLayers — Returns the maximum bounding region between images
    • Imagick::compareImages — Compares an image to a reconstructed image
    • Imagick::compositeImage — Composite one image onto another
    • Imagick::__construct — Конструктор объекта Imagick
    • Imagick::contrastImage — Change the contrast of the image
    • Imagick::contrastStretchImage — Enhances the contrast of a color image
    • Imagick::convolveImage — Applies a custom convolution kernel to the image
    • Imagick::cropImage — Извлекает область изображения
    • Imagick::cropThumbnailImage — Creates a crop thumbnail
    • Imagick::current — Возвращает ссылку на текущий объект Imagick
    • Imagick::cycleColormapImage — Displaces an image's colormap
    • Imagick::decipherImage — Deciphers an image
    • Imagick::deconstructImages — Returns certain pixel differences between images
    • Imagick::deleteImageArtifact — Delete image artifact
    • Imagick::deskewImage — Removes skew from the image
    • Imagick::despeckleImage — Reduces the speckle noise in an image
    • Imagick::destroy — Удаляет объект Imagick
    • Imagick::displayImage — Выводит изображение
    • Imagick::displayImages — Выводит изображение или последовательность изображений
    • Imagick::distortImage — Distorts an image using various distortion methods
    • Imagick::drawImage — Выполняет рендеринг объекта ImagickDraw на текущем изображении
    • Imagick::edgeImage — Enhance edges within the image
    • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
    • Imagick::encipherImage — Enciphers an image
    • Imagick::enhanceImage — Improves the quality of a noisy image
    • Imagick::equalizeImage — Equalizes the image histogram
    • Imagick::evaluateImage — Applies an expression to an image
    • Imagick::exportImagePixels — Exports raw image pixels
    • Imagick::extentImage — Set image size
    • Imagick::flattenImages — Merges a sequence of images
    • Imagick::flipImage — Создает вертикальное зеркало изображения
    • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
    • Imagick::flopImage — Создает горизонтальное зеркало изображения
    • Imagick::frameImage — Adds a simulated three-dimensional border
    • Imagick::functionImage — Applies a function on the image
    • Imagick::fxImage — Evaluate expression for each pixel in the image
    • Imagick::gammaImage — Gamma-corrects an image
    • Imagick::gaussianBlurImage — Blurs an image
    • Imagick::getColorspace — Возвращает цветовую палитру
    • Imagick::getCompression — Возвращает тип сжатия объекта
    • Imagick::getCompressionQuality — Возвращает качество сжатия объекта
    • Imagick::getCopyright — Возвращает копирайт API ImageMagick в виде строки
    • Imagick::getFilename — Имя файла результирующего изображения
    • Imagick::getFont — Возвращает название шрифта
    • Imagick::getFormat — Возвращает формат Imagick объекта
    • Imagick::getGravity — Gets the gravity
    • Imagick::getHomeURL — Returns the ImageMagick home URL
    • Imagick::getImage — Returns a new Imagick object
    • Imagick::getImageAlphaChannel — Gets the image alpha channel
    • Imagick::getImageArtifact — Get image artifact
    • Imagick::getImageBackgroundColor — Returns the image background color
    • Imagick::getImageBlob — Returns the image sequence as a blob
    • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
    • Imagick::getImageBorderColor — Returns the image border color
    • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
    • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
    • Imagick::getImageChannelDistortions — Gets channel distortions
    • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
    • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean — Gets the mean and standard deviation
    • Imagick::getImageChannelRange — Gets channel range
    • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
    • Imagick::getImageClipMask — Gets image clip mask
    • Imagick::getImageColormapColor — Returns the color of the specified colormap index
    • Imagick::getImageColors — Gets the number of unique colors in the image
    • Imagick::getImageColorspace — Gets the image colorspace
    • Imagick::getImageCompose — Returns the composite operator associated with the image
    • Imagick::getImageCompression — Gets the current image's compression type
    • Imagick::getImageCompressionQuality — Gets the current image's compression quality
    • Imagick::getImageDelay — Gets the image delay
    • Imagick::getImageDepth — Gets the image depth
    • Imagick::getImageDispose — Gets the image disposal method
    • Imagick::getImageDistortion — Compares an image to a reconstructed image
    • Imagick::getImageExtrema — Gets the extrema for the image
    • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
    • Imagick::getImageFormat — Returns the format of a particular image in a sequence
    • Imagick::getImageGamma — Gets the image gamma
    • Imagick::getImageGeometry — Gets the width and height as an associative array
    • Imagick::getImageGravity — Gets the image gravity
    • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
    • Imagick::getImageHeight — Returns the image height
    • Imagick::getImageHistogram — Gets the image histogram
    • Imagick::getImageIndex — Gets the index of the current active image
    • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
    • Imagick::getImageInterpolateMethod — Returns the interpolation method
    • Imagick::getImageIterations — Gets the image iterations
    • Imagick::getImageLength — Returns the image length in bytes
    • Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license
    • Imagick::getImageMatte — Return if the image has a matte channel
    • Imagick::getImageMatteColor — Returns the image matte color
    • Imagick::getImageOrientation — Gets the image orientation
    • Imagick::getImagePage — Returns the page geometry
    • Imagick::getImagePixelColor — Returns the color of the specified pixel
    • Imagick::getImageProfile — Returns the named image profile
    • Imagick::getImageProfiles — Returns the image profiles
    • Imagick::getImageProperties — Returns the image properties
    • Imagick::getImageProperty — Returns the named image property
    • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
    • Imagick::getImageRegion — Extracts a region of the image
    • Imagick::getImageRenderingIntent — Gets the image rendering intent
    • Imagick::getImageResolution — Gets the image X and Y resolution
    • Imagick::getImagesBlob — Returns all image sequences as a blob
    • Imagick::getImageScene — Gets the image scene
    • Imagick::getImageSignature — Generates an SHA-256 message digest
    • Imagick::getImageSize — Returns the image length in bytes
    • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
    • Imagick::getImageTotalInkDensity — Gets the image total ink density
    • Imagick::getImageType — Gets the potential image type
    • Imagick::getImageUnits — Gets the image units of resolution
    • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
    • Imagick::getImageWhitePoint — Returns the chromaticity white point
    • Imagick::getImageWidth — Returns the image width
    • Imagick::getInterlaceScheme — Gets the object interlace scheme
    • Imagick::getIteratorIndex — Gets the index of the current active image
    • Imagick::getNumberImages — Returns the number of images in the object
    • Imagick::getOption — Returns a value associated with the specified key
    • Imagick::getPackageName — Returns the ImageMagick package name
    • Imagick::getPage — Returns the page geometry
    • Imagick::getPixelIterator — Returns a MagickPixelIterator
    • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
    • Imagick::getPointSize — Gets point size
    • Imagick::getQuantumDepth — Gets the quantum depth
    • Imagick::getQuantumRange — Returns the Imagick quantum range
    • Imagick::getReleaseDate — Returns the ImageMagick release date
    • Imagick::getResource — Returns the specified resource's memory usage
    • Imagick::getResourceLimit — Returns the specified resource limit
    • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
    • Imagick::getSize — Returns the size associated with the Imagick object
    • Imagick::getSizeOffset — Returns the size offset
    • Imagick::getVersion — Возвращает версию API ImageMagick
    • Imagick::haldClutImage — Replaces colors in the image
    • Imagick::hasNextImage — Checks if the object has more images
    • Imagick::hasPreviousImage — Checks if the object has a previous image
    • Imagick::identifyImage — Identifies an image and fetches attributes
    • Imagick::implodeImage — Creates a new image as a copy
    • Imagick::importImagePixels — Imports image pixels
    • Imagick::labelImage — Adds a label to an image
    • Imagick::levelImage — Adjusts the levels of an image
    • Imagick::linearStretchImage — Stretches with saturation the image intensity
    • Imagick::liquidRescaleImage — Animates an image or images
    • Imagick::magnifyImage — Scales an image proportionally 2x
    • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.
    • Imagick::matteFloodfillImage — Changes the transparency value of a color
    • Imagick::medianFilterImage — Applies a digital filter
    • Imagick::mergeImageLayers — Merges image layers
    • Imagick::minifyImage — Scales an image proportionally to half its size
    • Imagick::modulateImage — Control the brightness, saturation, and hue
    • Imagick::montageImage — Creates a composite image
    • Imagick::morphImages — Method morphs a set of images
    • Imagick::mosaicImages — Forms a mosaic from images
    • Imagick::motionBlurImage — Simulates motion blur
    • Imagick::negateImage — Negates the colors in the reference image
    • Imagick::newImage — Creates a new image
    • Imagick::newPseudoImage — Creates a new image
    • Imagick::nextImage — Moves to the next image
    • Imagick::normalizeImage — Enhances the contrast of a color image
    • Imagick::oilPaintImage — Simulates an oil painting
    • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
    • Imagick::orderedPosterizeImage — Performs an ordered dither
    • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::paintOpaqueImage — Change any pixel that matches color
    • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
    • Imagick::pingImage — Fetch basic attributes about the image
    • Imagick::pingImageBlob — Quickly fetch attributes
    • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
    • Imagick::polaroidImage — Simulates a Polaroid picture
    • Imagick::posterizeImage — Reduces the image to a limited number of color level
    • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
    • Imagick::previousImage — Move to the previous image in the object
    • Imagick::profileImage — Adds or removes a profile from an image
    • Imagick::quantizeImage — Analyzes the colors within a reference image
    • Imagick::quantizeImages — Analyzes the colors within a sequence of images
    • Imagick::queryFontMetrics — Returns an array representing the font metrics
    • Imagick::queryFonts — Returns the configured fonts
    • Imagick::queryFormats — Returns formats supported by Imagick
    • Imagick::radialBlurImage — Radial blurs an image
    • Imagick::raiseImage — Creates a simulated 3d button-like effect
    • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
    • Imagick::readImage — Reads image from filename
    • Imagick::readImageBlob — Reads image from a binary string
    • Imagick::readImageFile — Reads image from open filehandle
    • Imagick::recolorImage — Recolors image
    • Imagick::reduceNoiseImage — Smooths the contours of an image
    • Imagick::remapImage — Remaps image colors
    • Imagick::removeImage — Removes an image from the image list
    • Imagick::removeImageProfile — Removes the named image profile and returns it
    • Imagick::render — Renders all preceding drawing commands
    • Imagick::resampleImage — Resample image to desired resolution
    • Imagick::resetImagePage — Reset image page
    • Imagick::resizeImage — Scales an image
    • Imagick::rollImage — Offsets an image
    • Imagick::rotateImage — Rotates an image
    • Imagick::roundCorners — Rounds image corners
    • Imagick::sampleImage — Scales an image with pixel sampling
    • Imagick::scaleImage — Scales the size of an image
    • Imagick::segmentImage — Segments an image
    • Imagick::separateImageChannel — Separates a channel from the image
    • Imagick::sepiaToneImage — Sepia tones an image
    • Imagick::setBackgroundColor — Sets the object's default background color
    • Imagick::setColorspace — Set colorspace
    • Imagick::setCompression — Sets the object's default compression type
    • Imagick::setCompressionQuality — Sets the object's default compression quality
    • Imagick::setFilename — Sets the filename before you read or write the image
    • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
    • Imagick::setFont — Sets font
    • Imagick::setFormat — Sets the format of the Imagick object
    • Imagick::setGravity — Sets the gravity
    • Imagick::setImage — Replaces image in the object
    • Imagick::setImageAlphaChannel — Sets image alpha channel
    • Imagick::setImageArtifact — Set image artifact
    • Imagick::setImageBackgroundColor — Sets the image background color
    • Imagick::setImageBias — Sets the image bias for any method that convolves an image
    • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
    • Imagick::setImageBorderColor — Sets the image border color
    • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
    • Imagick::setImageClipMask — Sets image clip mask
    • Imagick::setImageColormapColor — Sets the color of the specified colormap index
    • Imagick::setImageColorspace — Sets the image colorspace
    • Imagick::setImageCompose — Sets the image composite operator
    • Imagick::setImageCompression — Sets the image compression
    • Imagick::setImageCompressionQuality — Sets the image compression quality
    • Imagick::setImageDelay — Sets the image delay
    • Imagick::setImageDepth — Sets the image depth
    • Imagick::setImageDispose — Sets the image disposal method
    • Imagick::setImageExtent — Sets the image size
    • Imagick::setImageFilename — Sets the filename of a particular image
    • Imagick::setImageFormat — Sets the format of a particular image
    • Imagick::setImageGamma — Sets the image gamma
    • Imagick::setImageGravity — Sets the image gravity
    • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
    • Imagick::setImageIndex — Set the iterator position
    • Imagick::setImageInterlaceScheme — Sets the image compression
    • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
    • Imagick::setImageIterations — Sets the image iterations
    • Imagick::setImageMatte — Sets the image matte channel
    • Imagick::setImageMatteColor — Sets the image matte color
    • Imagick::setImageOpacity — Sets the image opacity level
    • Imagick::setImageOrientation — Sets the image orientation
    • Imagick::setImagePage — Sets the page geometry of the image
    • Imagick::setImageProfile — Adds a named profile to the Imagick object
    • Imagick::setImageProperty — Sets an image property
    • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
    • Imagick::setImageRenderingIntent — Sets the image rendering intent
    • Imagick::setImageResolution — Sets the image resolution
    • Imagick::setImageScene — Sets the image scene
    • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
    • Imagick::setImageType — Sets the image type
    • Imagick::setImageUnits — Sets the image units of resolution
    • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
    • Imagick::setImageWhitePoint — Sets the image chromaticity white point
    • Imagick::setInterlaceScheme — Sets the image compression
    • Imagick::setIteratorIndex — Set the iterator position
    • Imagick::setLastIterator — Sets the Imagick iterator to the last image
    • Imagick::setOption — Set an option
    • Imagick::setPage — Sets the page geometry of the Imagick object
    • Imagick::setPointSize — Sets point size
    • Imagick::setResolution — Sets the image resolution
    • Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes
    • Imagick::setSamplingFactors — Sets the image sampling factors
    • Imagick::setSize — Sets the size of the Imagick object
    • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
    • Imagick::setType — Sets the image type attribute
    • Imagick::shadeImage — Creates a 3D effect
    • Imagick::shadowImage — Simulates an image shadow
    • Imagick::sharpenImage — Sharpens an image
    • Imagick::shaveImage — Shaves pixels from the image edges
    • Imagick::shearImage — Creating a parallelogram
    • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
    • Imagick::sketchImage — Simulates a pencil sketch
    • Imagick::solarizeImage — Applies a solarizing effect to the image
    • Imagick::sparseColorImage — Interpolates colors
    • Imagick::spliceImage — Splices a solid color into the image
    • Imagick::spreadImage — Randomly displaces each pixel in a block
    • Imagick::steganoImage — Hides a digital watermark within the image
    • Imagick::stereoImage — Composites two images
    • Imagick::stripImage — Strips an image of all profiles and comments
    • Imagick::swirlImage — Swirls the pixels about the center of the image
    • Imagick::textureImage — Repeatedly tiles the texture image
    • Imagick::thresholdImage — Изменяет отдельные пиксели на основе порогового значения
    • Imagick::thumbnailImage — Changes the size of an image
    • Imagick::tintImage — Applies a color vector to each pixel in the image
    • Imagick::transformImage — Convenience method for setting crop size and the image geometry
    • Imagick::transparentPaintImage — Paints pixels transparent
    • Imagick::transposeImage — Creates a vertical mirror image
    • Imagick::transverseImage — Creates a horizontal mirror image
    • Imagick::trimImage — Remove edges from the image
    • Imagick::uniqueImageColors — Discards all but one of any pixel color
    • Imagick::unsharpMaskImage — Sharpens an image
    • Imagick::valid — Checks if the current item is valid
    • Imagick::vignetteImage — Adds vignette filter to the image
    • Imagick::waveImage — Applies wave filter to the image
    • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
    • Imagick::writeImage — Writes an image to the specified filename
    • Imagick::writeImageFile — Writes an image to a filehandle
    • Imagick::writeImages — Writes an image or image sequence
    • Imagick::writeImagesFile — Writes frames to a filehandle
  • Класс ImagickDraw
    • ImagickDraw::affine — Adjusts the current affine transformation matrix
    • ImagickDraw::annotation — Draws text on the image
    • ImagickDraw::arc — Draws an arc
    • ImagickDraw::bezier — Draws a bezier curve
    • ImagickDraw::circle — Draws a circle
    • ImagickDraw::clear — Clears the ImagickDraw
    • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
    • ImagickDraw::color — Draws color on image
    • ImagickDraw::comment — Adds a comment
    • ImagickDraw::composite — Composites an image onto the current image
    • ImagickDraw::__construct — The ImagickDraw constructor
    • ImagickDraw::destroy — Frees all associated resources
    • ImagickDraw::ellipse — Draws an ellipse on the image
    • ImagickDraw::getClipPath — Obtains the current clipping path ID
    • ImagickDraw::getClipRule — Returns the current polygon fill rule
    • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
    • ImagickDraw::getFillColor — Returns the fill color
    • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
    • ImagickDraw::getFillRule — Returns the fill rule
    • ImagickDraw::getFont — Returns the font
    • ImagickDraw::getFontFamily — Returns the font family
    • ImagickDraw::getFontSize — Returns the font pointsize
    • ImagickDraw::getFontStyle — Returns the font style
    • ImagickDraw::getFontWeight — Returns the font weight
    • ImagickDraw::getGravity — Returns the text placement gravity
    • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
    • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
    • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
    • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
    • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
    • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
    • ImagickDraw::getTextAlignment — Returns the text alignment
    • ImagickDraw::getTextAntialias — Returns the current text antialias setting
    • ImagickDraw::getTextDecoration — Returns the text decoration
    • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
    • ImagickDraw::getTextUnderColor — Returns the text under color
    • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
    • ImagickDraw::line — Draws a line
    • ImagickDraw::matte — Paints on the image's opacity channel
    • ImagickDraw::pathClose — Adds a path element to the current path
    • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
    • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
    • ImagickDraw::pathFinish — Terminates the current path
    • ImagickDraw::pathLineToAbsolute — Draws a line path
    • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
    • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
    • ImagickDraw::pathLineToRelative — Draws a line path
    • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
    • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
    • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
    • ImagickDraw::pathMoveToRelative — Starts a new sub-path
    • ImagickDraw::pathStart — Declares the start of a path drawing list
    • ImagickDraw::point — Draws a point
    • ImagickDraw::polygon — Draws a polygon
    • ImagickDraw::polyline — Draws a polyline
    • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
    • ImagickDraw::popClipPath — Terminates a clip path definition
    • ImagickDraw::popDefs — Terminates a definition list
    • ImagickDraw::popPattern — Terminates a pattern definition
    • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
    • ImagickDraw::pushClipPath — Starts a clip path definition
    • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
    • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
    • ImagickDraw::rectangle — Draws a rectangle
    • ImagickDraw::render — Renders all preceding drawing commands onto the image
    • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • ImagickDraw::roundRectangle — Draws a rounded rectangle
    • ImagickDraw::scale — Adjusts the scaling factor
    • ImagickDraw::setClipPath — Associates a named clipping path with the image
    • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
    • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
    • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
    • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
    • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
    • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
    • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
    • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
    • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
    • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
    • ImagickDraw::setFontWeight — Sets the font weight
    • ImagickDraw::setGravity — Sets the text placement gravity
    • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
    • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
    • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
    • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
    • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
    • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
    • ImagickDraw::setTextAlignment — Specifies a text alignment
    • ImagickDraw::setTextAntialias — Controls whether text is antialiased
    • ImagickDraw::setTextDecoration — Specifies a decoration
    • ImagickDraw::setTextEncoding — Specifies specifies the text code set
    • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
    • ImagickDraw::setVectorGraphics — Sets the vector graphics
    • ImagickDraw::setViewbox — Sets the overall canvas size
    • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
    • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
    • ImagickDraw::translate — Applies a translation to the current coordinate system
  • Класс ImagickPixel
    • ImagickPixel::clear — Очищает ресурсы, связанные с этим объектом
    • ImagickPixel::__construct — Конструктор ImagickPixel
    • ImagickPixel::destroy — Освобождает ресурсы, связанные с этим объектом
    • ImagickPixel::getColor — Возвращает цвет
    • ImagickPixel::getColorAsString — Возвращает цвет в виде строки
    • ImagickPixel::getColorCount — Возвращает количество цветов связанных с этим цветом
    • ImagickPixel::getColorValue — Возвращает нормализованное значение цвета канала
    • ImagickPixel::getHSL — Возвращает нормализованный HSL-цвет объекта ImagickPixel
    • ImagickPixel::isSimilar — Проверить разницу между этим цветом и другим
    • ImagickPixel::setColor — Устанавливает цвет
    • ImagickPixel::setColorValue — Устанавливает нормализованное значение одного из каналов
    • ImagickPixel::setHSL — Sets the normalized HSL color
  • Класс ImagickPixelIterator
    • ImagickPixelIterator::clear — Очищает ресурсы, связанные с PixelIterator
    • ImagickPixelIterator::__construct — Конструктор ImagickPixelIterator
    • ImagickPixelIterator::destroy — Освобождает ресурсы, связанные с PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Возвращает текущий ряд объекта ImagickPixel
    • ImagickPixelIterator::getIteratorRow — Возвращает текущий пиксель итератора ряда
    • ImagickPixelIterator::getNextIteratorRow — Возвращает следующий ряд итератора пикселей
    • ImagickPixelIterator::getPreviousIteratorRow — Возвращает предыдущий ряд
    • ImagickPixelIterator::newPixelIterator — Возвращает новый итератор пикселей
    • ImagickPixelIterator::newPixelRegionIterator — Возвращает новый итератор пикселей
    • ImagickPixelIterator::resetIterator — Сбрасывает итератор пикселей
    • ImagickPixelIterator::setIteratorFirstRow — Устанавливает итератор пикселей на первый ряд
    • ImagickPixelIterator::setIteratorLastRow — Устанавливает итератор пикселей на последний ряд
    • ImagickPixelIterator::setIteratorRow — Устанавливает номер ряда в итераторе пикселей
    • ImagickPixelIterator::syncIterator — Синхронизирует итератор пикселей
GmagickPixel::setcolorvalue
Введение
Обработка и генерация изображений


Введение

Imagick является встроенным php-расширением для создания и изменения изображений используя API ImageMagick.

ImageMagick® представляет собой набор программного обеспечения для создания, редактирования и компонования растровых изображений.. Он может читать, конвертировать и записывать изображения в различных форматах (более 100), включая DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, и TIFF.

Copyright 1999-2007 ImageMagick Studio LLC, некоммерческая организация, специализирующаяся в разработке графического программного обеспечения, доступного бесплатно.

ImageMagick
Установка и настройка
ImageMagick


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ImageMagick


Требования

Требования к установке на ОС Windows

Информация о версии не отличается от вышеизложенного. Бинарные сборки доступны на http://www.imagemagick.org/, так что вы можете загрузить это расширение на Windows без необходимости компилирования.

Требования к установке на другие платформы

Требуется PHP >= 5.1.3 и ImageMagick >= 6.2.4. Количество поддерживаемых форматов Imagick зависит от количества поддерживаемых форматов установленного ImageMagick. Например, Imagemagick требует ghostscript для проведения операций с PDF документами.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/imagick.

Замечание: Официальное название этого расширения - imagick.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные опции Imagick
Имя | По умолчанию | Область применения | История изменений
imagick.locale_fix | FALSE | PHP_INI_ALL | Доступно начиная с Imagick 2.1.0
imagick.progress_monitor | FALSE | PHP_INI_SYSTEM | Доступно начиная с Imagick 2.2.2
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

imagick.locale_fix boolean

Исправление ошибки рисования с локалью, используя ',' в качестве разделителя.

imagick.progress_monitor boolean

Используется для включения мониторинга прогресса.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

COLOR_* constants

Colortype constants. These constants are mainly used with ImagickPixel.

imagick::COLOR_BLACK (integer)
Black color
imagick::COLOR_BLUE (integer)
Blue color
imagick::COLOR_CYAN (integer)
Cyan color
imagick::COLOR_GREEN (integer)
Green color
imagick::COLOR_RED (integer)
Red color
imagick::COLOR_YELLOW (integer)
Yellow color
imagick::COLOR_MAGENTA (integer)
Magenta color
imagick::COLOR_OPACITY (integer)
Color's opacity
imagick::COLOR_ALPHA (integer)
Color's alpha
imagick::COLOR_FUZZ (integer)
Color's fuzz
DISPOSE constants

Dispose type constants

imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized dispose type
imagick::DISPOSE_UNDEFINED (integer)
Undefined dispose type
imagick::DISPOSE_NONE (integer)
No dispose type defined
imagick::DISPOSE_BACKGROUND (integer)
Dispose background
imagick::DISPOSE_PREVIOUS (integer)
Dispose previous
Composite Operator Constants
imagick::COMPOSITE_DEFAULT (integer)
The default composite operator
imagick::COMPOSITE_UNDEFINED (integer)
Undefined composite operator
imagick::COMPOSITE_NO (integer)
No composite operator defined
imagick::COMPOSITE_ADD (integer)
The result of image + image
imagick::COMPOSITE_ATOP (integer)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
imagick::COMPOSITE_BLEND (integer)
Blends the image
imagick::COMPOSITE_BUMPMAP (integer)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
imagick::COMPOSITE_CLEAR (integer)
Makes the target image transparent
imagick::COMPOSITE_COLORBURN (integer)
Darkens the destination image to reflect the source image
imagick::COMPOSITE_COLORDODGE (integer)
Brightens the destination image to reflect the source image
imagick::COMPOSITE_COLORIZE (integer)
Colorizes the target image using the composite image
imagick::COMPOSITE_COPYBLACK (integer)
Copies black from the source to target
imagick::COMPOSITE_COPYBLUE (integer)
Copies blue from the source to target
imagick::COMPOSITE_COPY (integer)
Copies the source image on the target image
imagick::COMPOSITE_COPYCYAN (integer)
Copies cyan from the source to target
imagick::COMPOSITE_COPYGREEN (integer)
Copies green from the source to target
imagick::COMPOSITE_COPYMAGENTA (integer)
Copies magenta from the source to target
imagick::COMPOSITE_COPYOPACITY (integer)
Copies opacity from the source to target
imagick::COMPOSITE_COPYRED (integer)
Copies red from the source to target
imagick::COMPOSITE_COPYYELLOW (integer)
Copies yellow from the source to target
imagick::COMPOSITE_DARKEN (integer)
Darkens the target image
imagick::COMPOSITE_DSTATOP (integer)
The part of the destination lying inside of the source is composited over the source and replaces the destination
imagick::COMPOSITE_DST (integer)
The target is left untouched
imagick::COMPOSITE_DSTIN (integer)
The parts inside the source replace the target
imagick::COMPOSITE_DSTOUT (integer)
The parts outside the source replace the target
imagick::COMPOSITE_DSTOVER (integer)
Target replaces the source
imagick::COMPOSITE_DIFFERENCE (integer)
Subtracts the darker of the two constituent colors from the lighter
imagick::COMPOSITE_DISPLACE (integer)
Shifts target image pixels as defined by the source
imagick::COMPOSITE_DISSOLVE (integer)
Dissolves the source in to the target
imagick::COMPOSITE_EXCLUSION (integer)
Produces an effect similar to that of imagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
imagick::COMPOSITE_HARDLIGHT (integer)
Multiplies or screens the colors, dependent on the source color value
imagick::COMPOSITE_HUE (integer)
Modifies the hue of the target as defined by source
imagick::COMPOSITE_IN (integer)
Composites source into the target
imagick::COMPOSITE_LIGHTEN (integer)
Lightens the target as defined by source
imagick::COMPOSITE_LUMINIZE (integer)
Luminizes the target as defined by source
imagick::COMPOSITE_MINUS (integer)
Substracts the source from the target
imagick::COMPOSITE_MODULATE (integer)
Modulates the target brightness, saturation and hue as defined by source
imagick::COMPOSITE_MULTIPLY (integer)
Multiplies the target to the source
imagick::COMPOSITE_OUT (integer)
Composites outer parts of the source on the target
imagick::COMPOSITE_OVER (integer)
Composites source over the target
imagick::COMPOSITE_OVERLAY (integer)
Overlays the source on the target
imagick::COMPOSITE_PLUS (integer)
Adds the source to the target
imagick::COMPOSITE_REPLACE (integer)
Replaces the target with the source
imagick::COMPOSITE_SATURATE (integer)
Saturates the target as defined by the source
imagick::COMPOSITE_SCREEN (integer)
The source and destination are complemented and then multiplied and then replace the destination
imagick::COMPOSITE_SOFTLIGHT (integer)
Darkens or lightens the colors, dependent on the source
imagick::COMPOSITE_SRCATOP (integer)
The part of the source lying inside of the destination is composited onto the destination
imagick::COMPOSITE_SRC (integer)
The source is copied to the destination
imagick::COMPOSITE_SRCIN (integer)
The part of the source lying inside of the destination replaces the destination
imagick::COMPOSITE_SRCOUT (integer)
The part of the source lying outside of the destination replaces the destination
imagick::COMPOSITE_SRCOVER (integer)
The source replaces the destination
imagick::COMPOSITE_SUBTRACT (integer)
Subtract the colors in the source image from the destination image
imagick::COMPOSITE_THRESHOLD (integer)
The source is composited on the target as defined by source threshold
imagick::COMPOSITE_XOR (integer)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
MONTAGEMODE constants

imagick::MONTAGEMODE_FRAME (integer)
imagick::MONTAGEMODE_UNFRAME (integer)
imagick::MONTAGEMODE_CONCATENATE (integer)
STYLE constants

imagick::STYLE_NORMAL (integer)
imagick::STYLE_ITALIC (integer)
imagick::STYLE_OBLIQUE (integer)
imagick::STYLE_ANY (integer)
FILTER constants

imagick::FILTER_UNDEFINED (integer)
imagick::FILTER_POINT (integer)
imagick::FILTER_BOX (integer)
imagick::FILTER_TRIANGLE (integer)
imagick::FILTER_HERMITE (integer)
imagick::FILTER_HANNING (integer)
imagick::FILTER_HAMMING (integer)
imagick::FILTER_BLACKMAN (integer)
imagick::FILTER_GAUSSIAN (integer)
imagick::FILTER_QUADRATIC (integer)
imagick::FILTER_CUBIC (integer)
imagick::FILTER_CATROM (integer)
imagick::FILTER_MITCHELL (integer)
imagick::FILTER_LANCZOS (integer)
imagick::FILTER_BESSEL (integer)
imagick::FILTER_SINC (integer)
IMGTYPE constants

imagick::IMGTYPE_UNDEFINED (integer)
imagick::IMGTYPE_BILEVEL (integer)
imagick::IMGTYPE_GRAYSCALE (integer)
imagick::IMGTYPE_GRAYSCALEMATTE (integer)
imagick::IMGTYPE_PALETTE (integer)
imagick::IMGTYPE_PALETTEMATTE (integer)
imagick::IMGTYPE_TRUECOLOR (integer)
imagick::IMGTYPE_TRUECOLORMATTE (integer)
imagick::IMGTYPE_COLORSEPARATION (integer)
imagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
imagick::IMGTYPE_OPTIMIZE (integer)
RESOLUTION constants

imagick::RESOLUTION_UNDEFINED (integer)
imagick::RESOLUTION_PIXELSPERINCH (integer)
imagick::RESOLUTION_PIXELSPERCENTIMETER (integer)
COMPRESSION constants

imagick::COMPRESSION_UNDEFINED (integer)
imagick::COMPRESSION_NO (integer)
imagick::COMPRESSION_BZIP (integer)
imagick::COMPRESSION_FAX (integer)
imagick::COMPRESSION_GROUP4 (integer)
imagick::COMPRESSION_JPEG (integer)
imagick::COMPRESSION_JPEG2000 (integer)
imagick::COMPRESSION_LOSSLESSJPEG (integer)
imagick::COMPRESSION_LZW (integer)
imagick::COMPRESSION_RLE (integer)
imagick::COMPRESSION_ZIP (integer)
imagick::COMPRESSION_DXT1 (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.0 or higher.
imagick::COMPRESSION_DXT3 (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.0 or higher.
imagick::COMPRESSION_DXT5 (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.0 or higher.
PAINT constants

imagick::PAINT_POINT (integer)
imagick::PAINT_REPLACE (integer)
imagick::PAINT_FLOODFILL (integer)
imagick::PAINT_FILLTOBORDER (integer)
imagick::PAINT_RESET (integer)
GRAVITY constants

imagick::GRAVITY_NORTHWEST (integer)
imagick::GRAVITY_NORTH (integer)
imagick::GRAVITY_NORTHEAST (integer)
imagick::GRAVITY_WEST (integer)
imagick::GRAVITY_CENTER (integer)
imagick::GRAVITY_EAST (integer)
imagick::GRAVITY_SOUTHWEST (integer)
imagick::GRAVITY_SOUTH (integer)
imagick::GRAVITY_SOUTHEAST (integer)
STRETCH constants

imagick::STRETCH_NORMAL (integer)
imagick::STRETCH_ULTRACONDENSED (integer)
imagick::STRETCH_CONDENSED (integer)
imagick::STRETCH_SEMICONDENSED (integer)
imagick::STRETCH_SEMIEXPANDED (integer)
imagick::STRETCH_EXPANDED (integer)
imagick::STRETCH_EXTRAEXPANDED (integer)
imagick::STRETCH_ULTRAEXPANDED (integer)
imagick::STRETCH_ANY (integer)
ALIGN constants

imagick::ALIGN_UNDEFINED (integer)
imagick::ALIGN_LEFT (integer)
imagick::ALIGN_CENTER (integer)
imagick::ALIGN_RIGHT (integer)
DECORATION constants

imagick::DECORATION_NO (integer)
imagick::DECORATION_UNDERLINE (integer)
imagick::DECORATION_OVERLINE (integer)
imagick::DECORATION_LINETROUGH (integer)
NOISE constants

imagick::NOISE_UNIFORM (integer)
imagick::NOISE_GAUSSIAN (integer)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
imagick::NOISE_IMPULSE (integer)
imagick::NOISE_LAPLACIAN (integer)
imagick::NOISE_POISSON (integer)
imagick::NOISE_RANDOM (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
CHANNEL constants

imagick::CHANNEL_UNDEFINED (integer)
imagick::CHANNEL_RED (integer)
imagick::CHANNEL_GRAY (integer)
imagick::CHANNEL_CYAN (integer)
imagick::CHANNEL_GREEN (integer)
imagick::CHANNEL_MAGENTA (integer)
imagick::CHANNEL_BLUE (integer)
imagick::CHANNEL_YELLOW (integer)
imagick::CHANNEL_ALPHA (integer)
imagick::CHANNEL_OPACITY (integer)
imagick::CHANNEL_MATTE (integer)
imagick::CHANNEL_BLACK (integer)
imagick::CHANNEL_INDEX (integer)
imagick::CHANNEL_ALL (integer)
imagick::CHANNEL_DEFAULT (integer)
METRIC constants

imagick::METRIC_UNDEFINED (integer)
imagick::METRIC_MEANABSOLUTEERROR (integer)
imagick::METRIC_MEANSQUAREERROR (integer)
imagick::METRIC_PEAKABSOLUTEERROR (integer)
imagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
imagick::METRIC_ROOTMEANSQUAREDERROR (integer)
PIXEL constants

imagick::PIXEL_CHAR (integer)
imagick::PIXEL_DOUBLE (integer)
imagick::PIXEL_FLOAT (integer)
imagick::PIXEL_INTEGER (integer)
imagick::PIXEL_LONG (integer)
imagick::PIXEL_QUANTUM (integer)
imagick::PIXEL_SHORT (integer)
EVALUATE constants

imagick::EVALUATE_UNDEFINED (integer)
imagick::EVALUATE_ADD (integer)
imagick::EVALUATE_AND (integer)
imagick::EVALUATE_DIVIDE (integer)
imagick::EVALUATE_LEFTSHIFT (integer)
imagick::EVALUATE_MAX (integer)
imagick::EVALUATE_MIN (integer)
imagick::EVALUATE_MULTIPLY (integer)
imagick::EVALUATE_OR (integer)
imagick::EVALUATE_RIGHTSHIFT (integer)
imagick::EVALUATE_SET (integer)
imagick::EVALUATE_SUBTRACT (integer)
imagick::EVALUATE_XOR (integer)
imagick::EVALUATE_POW (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_LOG (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_THRESHOLD (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDBLACK (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDWHITE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_GAUSSIANNOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_IMPULSENOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_LAPLACIANNOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_MULTIPLICATIVENOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_POISSONNOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_UNIFORMNOISE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_COSINE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_SINE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
imagick::EVALUATE_ADDMODULUS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.4 or higher.
COLORSPACE constants

imagick::COLORSPACE_UNDEFINED (integer)
imagick::COLORSPACE_RGB (integer)
imagick::COLORSPACE_GRAY (integer)
imagick::COLORSPACE_TRANSPARENT (integer)
imagick::COLORSPACE_OHTA (integer)
imagick::COLORSPACE_LAB (integer)
imagick::COLORSPACE_XYZ (integer)
imagick::COLORSPACE_YCBCR (integer)
imagick::COLORSPACE_YCC (integer)
imagick::COLORSPACE_YIQ (integer)
imagick::COLORSPACE_YPBPR (integer)
imagick::COLORSPACE_YUV (integer)
imagick::COLORSPACE_CMYK (integer)
imagick::COLORSPACE_SRGB (integer)
imagick::COLORSPACE_HSB (integer)
imagick::COLORSPACE_HSL (integer)
imagick::COLORSPACE_HWB (integer)
imagick::COLORSPACE_REC601LUMA (integer)
imagick::COLORSPACE_REC709LUMA (integer)
imagick::COLORSPACE_LOG (integer)
imagick::COLORSPACE_CMY (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.2 or higher.
VIRTUALPIXELMETHOD constants

imagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
imagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
imagick::VIRTUALPIXELMETHOD_EDGE (integer)
imagick::VIRTUALPIXELMETHOD_MIRROR (integer)
imagick::VIRTUALPIXELMETHOD_TILE (integer)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)
imagick::VIRTUALPIXELMETHOD_MASK (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_BLACK (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_GRAY (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_WHITE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.3 or higher.
imagick::VIRTUALPIXELMETHOD_VERTICALTILE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.3 or higher.
PREVIEW constants

imagick::PREVIEW_UNDEFINED (integer)
imagick::PREVIEW_ROTATE (integer)
imagick::PREVIEW_SHEAR (integer)
imagick::PREVIEW_ROLL (integer)
imagick::PREVIEW_HUE (integer)
imagick::PREVIEW_SATURATION (integer)
imagick::PREVIEW_BRIGHTNESS (integer)
imagick::PREVIEW_GAMMA (integer)
imagick::PREVIEW_SPIFF (integer)
imagick::PREVIEW_DULL (integer)
imagick::PREVIEW_GRAYSCALE (integer)
imagick::PREVIEW_QUANTIZE (integer)
imagick::PREVIEW_DESPECKLE (integer)
imagick::PREVIEW_REDUCENOISE (integer)
imagick::PREVIEW_ADDNOISE (integer)
imagick::PREVIEW_SHARPEN (integer)
imagick::PREVIEW_BLUR (integer)
imagick::PREVIEW_THRESHOLD (integer)
imagick::PREVIEW_EDGEDETECT (integer)
imagick::PREVIEW_SPREAD (integer)
imagick::PREVIEW_SOLARIZE (integer)
imagick::PREVIEW_SHADE (integer)
imagick::PREVIEW_RAISE (integer)
imagick::PREVIEW_SEGMENT (integer)
imagick::PREVIEW_SWIRL (integer)
imagick::PREVIEW_IMPLODE (integer)
imagick::PREVIEW_WAVE (integer)
imagick::PREVIEW_OILPAINT (integer)
imagick::PREVIEW_CHARCOALDRAWING (integer)
imagick::PREVIEW_JPEG (integer)
RENDERINGINTENT constants

imagick::RENDERINGINTENT_UNDEFINED (integer)
imagick::RENDERINGINTENT_SATURATION (integer)
imagick::RENDERINGINTENT_PERCEPTUAL (integer)
imagick::RENDERINGINTENT_ABSOLUTE (integer)
imagick::RENDERINGINTENT_RELATIVE (integer)
INTERLACE constants

imagick::INTERLACE_UNDEFINED (integer)
imagick::INTERLACE_NO (integer)
imagick::INTERLACE_LINE (integer)
imagick::INTERLACE_PLANE (integer)
imagick::INTERLACE_PARTITION (integer)
imagick::INTERLACE_GIF (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.4 or higher.
imagick::INTERLACE_JPEG (integer)
imagick::INTERLACE_PNG (integer)
FILLRULE constants

imagick::FILLRULE_UNDEFINED (integer)
imagick::FILLRULE_EVENODD (integer)
imagick::FILLRULE_NONZERO (integer)
PATHUNITS constants

imagick::PATHUNITS_UNDEFINED (integer)
imagick::PATHUNITS_USERSPACE (integer)
imagick::PATHUNITS_USERSPACEONUSE (integer)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)
LINECAP constants

imagick::LINECAP_UNDEFINED (integer)
imagick::LINECAP_BUTT (integer)
imagick::LINECAP_ROUND (integer)
imagick::LINECAP_SQUARE (integer)
LINEJOIN constants

imagick::LINEJOIN_UNDEFINED (integer)
imagick::LINEJOIN_MITER (integer)
imagick::LINEJOIN_ROUND (integer)
imagick::LINEJOIN_BEVEL (integer)
RESOURCETYPE constants

imagick::RESOURCETYPE_UNDEFINED (integer)
imagick::RESOURCETYPE_AREA (integer)
imagick::RESOURCETYPE_DISK (integer)
imagick::RESOURCETYPE_FILE (integer)
imagick::RESOURCETYPE_MAP (integer)
imagick::RESOURCETYPE_MEMORY (integer)
LAYERMETHOD constants

imagick::LAYERMETHOD_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_COALESCE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREANY (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_COMPARECLEAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREOVERLAY (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_DISPOSE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEPLUS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEIMAGE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::LAYERMETHOD_OPTIMIZETRANS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEDUPS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEZERO (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::LAYERMETHOD_COMPOSITE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::LAYERMETHOD_MERGE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.7 or higher.
imagick::LAYERMETHOD_FLATTEN (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.7 or higher.
imagick::LAYERMETHOD_MOSAIC (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.7 or higher.
ORIENTATION constants

imagick::ORIENTATION_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_TOPLEFT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_TOPRIGHT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMRIGHT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMLEFT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_LEFTTOP (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_RIGHTTOP (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_RIGHTBOTTOM (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
imagick::ORIENTATION_LEFTBOTTOM (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.0 or higher.
DISTORTION constants

imagick::DISTORTION_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_AFFINE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_AFFINEPROJECTION (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_ARC (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_BILINEAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVEPROJECTION (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_SCALEROTATETRANSLATE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.6 or higher.
imagick::DISTORTION_POLYNOMIAL (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_POLAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_DEPOLAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_BARREL (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_BARRELINVERSE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_SHEPARDS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DISTORTION_SENTINEL (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
ALPHACHANNEL constants

imagick::ALPHACHANNEL_ACTIVATE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.8 or higher.
imagick::ALPHACHANNEL_DEACTIVATE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.8 or higher.
imagick::ALPHACHANNEL_RESET (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.8 or higher.
imagick::ALPHACHANNEL_SET (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.8 or higher.
imagick::ALPHACHANNEL_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::ALPHACHANNEL_COPY (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::ALPHACHANNEL_EXTRACT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::ALPHACHANNEL_OPAQUE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::ALPHACHANNEL_SHAPE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::ALPHACHANNEL_TRANSPARENT (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
SPARSECOLORMETHOD constants

imagick::SPARSECOLORMETHOD_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BARYCENTRIC (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BILINEAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_POLYNOMIAL (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_SPEPARDS (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_VORONOI (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
FUNCTION constants

imagick::FUNCTION_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.9 or higher.
imagick::FUNCTION_POLYNOMIAL (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.9 or higher.
imagick::FUNCTION_SINUSOID (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.9 or higher.
INTERPOLATE constants

imagick::INTERPOLATE_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_AVERAGE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_BICUBIC (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_BILINEAR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_FILTER (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_INTEGER (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_MESH (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_NEARESTNEIGHBOR (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.2 or higher.
imagick::INTERPOLATE_SPLINE (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.3.4 or higher.
DITHERMETHOD constants

imagick::DITHERMETHOD_UNDEFINED (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DITHERMETHOD_NO (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DITHERMETHOD_RIEMERSMA (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
imagick::DITHERMETHOD_FLOYDSTEINBERG (integer)
Эта константа доступна, если Imagick был скомпилирован с версией ImageMagick 6.4.6 or higher.
Типы ресурсов
Примеры
ImageMagick


Примеры

Содержание

  • Базовое использование
Предопределенные константы
Базовое использование
ImageMagick


Базовое использование

В PHP очень легко управлять объектом Imagick используя ОО интерфейс. Вот небольшой пример, как сделать миниатюру:

Пример #1 Создание миниатюры в Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// Если в качестве ширины или высоты передан 0,
// то сохраняется соотношение сторон
$image->thumbnailImage(100, 0);

echo $image;

?>

С использованием SPL и других OO функций поддерживаемых в Imagick, можно очень легко изменить размеры всех файлов в директории (полезно для пакетного изменения больших изображений с цифровой камеры для просмотра в Web). Здесь мы используем изменение размера, используя определённые мета-данные:

Пример #2 Создание миниатюр для всех JPG файлов в директории

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // Передаём 0 в thumbnailImage для сохранения соотношения сторон
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

Этот пример создаёт отражение изображения. Отражение создаётся зеркальным отображением и наложением градиента на нём. Затем оригинальное изображение и его отражение накладываются на холст.

Пример #3 Создание отражения

<?php
/* Чтение изображения */
$im = new Imagick("test.png");

/* Миниатюра изображения */
$im->thumbnailImage(200, null);

/* Создание рамки для изображения */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Клонируем изображение и зеркально поворачиваем его */
$reflection = $im->clone();
$reflection->flipImage();

/* Создаём градиент. Это будет наложением для отражения */
$gradient = new Imagick();

/* Градиент должен быть достаточно большой для изображения и его рамки */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Наложение градиента на отражение */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Добавляем прозрачность. Требуется ImageMagick 6.2.9 или выше */
$reflection->setImageOpacity( 0.3 );

/* Создаём пустой холст */
$canvas = new Imagick();

/* Холст должен быть достаточно большой, чтобы вместить оба изображения */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Наложение оригинального изображения и отражения на холст */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Вывод изображения */
header("Content-Type: image/png");
echo $canvas;
?>

Результатом выполнения данного примера будет что-то подобное:

Пример вывода: Создание отражения изображения

Этот пример иллюстрирует как использовать заливку во время рисования.

Пример #4 Заливка текста градиентом

<?php

/* Создание нового объекта imagick */
$im = new Imagick();

/* Создание нового изображения. Будет использоваться как шаблон заливки */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Создаём объект imagickdraw */
$draw = new ImagickDraw();

/* Запускаем новый шаблон с названием "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Смешиваем градиент с шаблоном */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Закрываем шаблон */
$draw->popPattern();

/* Используем шаблон с названием "gradient" для заливки */
$draw->setFillPatternURL('#gradient');

/* Устанавливаем размер шрифта в 52 */
$draw->setFontSize(52);

/* Добавляем свой текст */
$draw->annotation(20, 50, "Hello World!");

/* Создаём новый объект холста и белое изображение */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Рисуем ImagickDraw на холсте */
$canvas->drawImage($draw);

/* устанавливаем чёрную рамку шириной 1px вокруг изображения */
$canvas->borderImage('black', 1, 1);

/* Устанавливаем формат PNG */
$canvas->setImageFormat('png');

/* Вывод изображения */
header("Content-Type: image/png");
echo $canvas;
?>

Результатом выполнения данного примера будет что-то подобное:

Пример вывода: Заливка текста градиентом

Работа с анимированными GIF-изображениями

Пример #5 Чтение GIF изображения и изменение размера всех фреймов

<?php

/* Создание нового объекта imagick и чтение в GIF */
$im = new Imagick("example.gif");

/* Изменение размера всех фреймов */
foreach ($im as $frame) {
    /* фреймы 50x50 */
    $frame->thumbnailImage(50, 50);

    /* Устанавливаем виртуальный холст для коррекции размера */
    $frame->setImagePage(50, 50, 0, 0);
}

/* Обратите внимание, writeImages вместо writeImage */
$im->writeImages("example_small.gif", true);
?>

Примеры
Класс Imagick
Примеры


Класс Imagick

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

Imagick implements Iterator , Traversable {
bool adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )
bool adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveThresholdImage ( int $width , int $height , int $offset )
bool addImage ( Imagick $source )
bool addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool affineTransformImage ( ImagickDraw $matrix )
bool animateImages ( string $x_server )
bool annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Imagick appendImages ( bool $stack = false )
Imagick averageImages ( void )
bool blackThresholdImage ( mixed $threshold )
bool blurImage ( float $radius , float $sigma [, int $channel ] )
bool borderImage ( mixed $bordercolor , int $width , int $height )
bool charcoalImage ( float $radius , float $sigma )
bool chopImage ( int $width , int $height , int $x , int $y )
bool clear ( void )
bool clipImage ( void )
bool clipPathImage ( string $pathname , bool $inside )
Imagick clone ( void )
bool clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick coalesceImages ( void )
bool colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
bool colorizeImage ( mixed $colorize , mixed $opacity )
Imagick combineImages ( int $channelType )
bool commentImage ( string $comment )
array compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Imagick compareImageLayers ( int $method )
array compareImages ( Imagick $compare , int $metric )
bool compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
Imagick __construct ([ mixed $files ] )
bool contrastImage ( bool $sharpen )
bool contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )
bool convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
bool cropImage ( int $width , int $height , int $x , int $y )
bool cropThumbnailImage ( int $width , int $height )
Imagick current ( void )
bool cycleColormapImage ( int $displace )
bool decipherImage ( string $passphrase )
Imagick deconstructImages ( void )
bool deleteImageArtifact ( string $artifact )
public bool deskewImage ( float $threshold )
bool despeckleImage ( void )
bool destroy ( void )
bool displayImage ( string $servername )
bool displayImages ( string $servername )
bool distortImage ( int $method , array $arguments , bool $bestfit )
bool drawImage ( ImagickDraw $draw )
bool edgeImage ( float $radius )
bool embossImage ( float $radius , float $sigma )
bool encipherImage ( string $passphrase )
bool enhanceImage ( void )
bool equalizeImage ( void )
bool evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )
public array exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )
bool extentImage ( int $width , int $height , int $x , int $y )
Imagick flattenImages ( void )
bool flipImage ( void )
bool floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool flopImage ( void )
bool frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public bool functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
bool gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
bool gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
int getColorspace ( void )
int getCompression ( void )
int getCompressionQuality ( void )
string getCopyright ( void )
string getFilename ( void )
string getFont ( void )
string getFormat ( void )
int getGravity ( void )
string getHomeURL ( void )
Imagick getImage ( void )
int getImageAlphaChannel ( void )
string getImageArtifact ( string $artifact )
ImagickPixel getImageBackgroundColor ( void )
string getImageBlob ( void )
array getImageBluePrimary ( void )
ImagickPixel getImageBorderColor ( void )
int getImageChannelDepth ( int $channel )
float getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
float getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelExtrema ( int $channel )
public array getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelMean ( int $channel )
array getImageChannelRange ( int $channel )
array getImageChannelStatistics ( void )
Imagick getImageClipMask ( void )
ImagickPixel getImageColormapColor ( int $index )
int getImageColors ( void )
int getImageColorspace ( void )
int getImageCompose ( void )
int getImageCompression ( void )
int getCompressionQuality ( void )
int getImageDelay ( void )
int getImageDepth ( void )
int getImageDispose ( void )
float getImageDistortion ( MagickWand $reference , int $metric )
array getImageExtrema ( void )
string getImageFilename ( void )
string getImageFormat ( void )
float getImageGamma ( void )
array getImageGeometry ( void )
int getImageGravity ( void )
array getImageGreenPrimary ( void )
int getImageHeight ( void )
array getImageHistogram ( void )
int getImageIndex ( void )
int getImageInterlaceScheme ( void )
int getImageInterpolateMethod ( void )
int getImageIterations ( void )
int getImageLength ( void )
string getImageMagickLicense ( void )
bool getImageMatte ( void )
ImagickPixel getImageMatteColor ( void )
int getImageOrientation ( void )
array getImagePage ( void )
ImagickPixel getImagePixelColor ( int $x , int $y )
string getImageProfile ( string $name )
array getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )
array getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )
string getImageProperty ( string $name )
array getImageRedPrimary ( void )
Imagick getImageRegion ( int $width , int $height , int $x , int $y )
int getImageRenderingIntent ( void )
array getImageResolution ( void )
string getImagesBlob ( void )
int getImageScene ( void )
string getImageSignature ( void )
int getImageSize ( void )
int getImageTicksPerSecond ( void )
float getImageTotalInkDensity ( void )
int getImageType ( void )
int getImageUnits ( void )
int getImageVirtualPixelMethod ( void )
array getImageWhitePoint ( void )
int getImageWidth ( void )
int getInterlaceScheme ( void )
int getIteratorIndex ( void )
int getNumberImages ( void )
string getOption ( string $key )
string getPackageName ( void )
array getPage ( void )
ImagickPixelIterator getPixelIterator ( void )
ImagickPixelIterator getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
float getPointSize ( void )
array getQuantumDepth ( void )
array getQuantumRange ( void )
string getReleaseDate ( void )
int getResource ( int $type )
int getResourceLimit ( int $type )
array getSamplingFactors ( void )
array getSize ( void )
int getSizeOffset ( void )
array getVersion ( void )
public bool haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool hasNextImage ( void )
bool hasPreviousImage ( void )
array identifyImage ([ bool $appendRawOutput = false ] )
bool implodeImage ( float $radius )
public bool importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )
bool labelImage ( string $label )
bool levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
bool linearStretchImage ( float $blackPoint , float $whitePoint )
bool liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )
bool magnifyImage ( void )
bool mapImage ( Imagick $map , bool $dither )
bool matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
bool medianFilterImage ( float $radius )
bool mergeImageLayers ( int $layer_method )
bool minifyImage ( void )
bool modulateImage ( float $brightness , float $saturation , float $hue )
Imagick montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Imagick morphImages ( int $number_frames )
Imagick mosaicImages ( void )
bool motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
bool newImage ( int $cols , int $rows , mixed $background [, string $format ] )
bool newPseudoImage ( int $columns , int $rows , string $pseudoString )
bool nextImage ( void )
bool normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
bool oilPaintImage ( float $radius )
bool opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool optimizeImageLayers ( void )
bool orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
bool pingImage ( string $filename )
bool pingImageBlob ( string $image )
bool pingImageFile ( resource $filehandle [, string $fileName ] )
bool polaroidImage ( ImagickDraw $properties , float $angle )
bool posterizeImage ( int $levels , bool $dither )
bool previewImages ( int $preview )
bool previousImage ( void )
bool profileImage ( string $name , string $profile )
bool quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
bool quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
array queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
array queryFonts ([ string $pattern = "*" ] )
array queryFormats ([ string $pattern = "*" ] )
bool radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
bool raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
bool randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )
bool readImage ( string $filename )
bool readImageBlob ( string $image [, string $filename ] )
bool readImageFile ( resource $filehandle [, string $fileName = null ] )
bool recolorImage ( array $matrix )
bool reduceNoiseImage ( float $radius )
public bool remapImage ( Imagick $replacement , int $DITHER )
bool removeImage ( void )
string removeImageProfile ( string $name )
bool render ( void )
bool resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
bool resetImagePage ( string $page )
bool resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
bool rollImage ( int $x , int $y )
bool rotateImage ( mixed $background , float $degrees )
bool roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )
bool sampleImage ( int $columns , int $rows )
bool scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
public bool segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )
bool separateImageChannel ( int $channel )
bool sepiaToneImage ( float $threshold )
bool setBackgroundColor ( mixed $background )
bool setColorspace ( int $COLORSPACE )
bool setCompression ( int $compression )
bool setCompressionQuality ( int $quality )
bool setFilename ( string $filename )
bool setFirstIterator ( void )
bool setFont ( string $font )
bool setFormat ( string $format )
bool setGravity ( int $gravity )
bool setImage ( Imagick $replace )
bool setImageAlphaChannel ( int $mode )
bool setImageArtifact ( string $artifact , string $value )
bool setImageBackgroundColor ( mixed $background )
bool setImageBias ( float $bias )
bool setImageBluePrimary ( float $x , float $y )
bool setImageBorderColor ( mixed $border )
bool setImageChannelDepth ( int $channel , int $depth )
bool setImageClipMask ( Imagick $clip_mask )
bool setImageColormapColor ( int $index , ImagickPixel $color )
bool setImageColorspace ( int $colorspace )
bool setImageCompose ( int $compose )
bool setImageCompression ( int $compression )
bool setImageCompressionQuality ( int $quality )
bool setImageDelay ( int $delay )
bool setImageDepth ( int $depth )
bool setImageDispose ( int $dispose )
bool setImageExtent ( int $columns , int $rows )
bool setImageFilename ( string $filename )
bool setImageFormat ( string $format )
bool setImageGamma ( float $gamma )
bool setImageGravity ( int $gravity )
bool setImageGreenPrimary ( float $x , float $y )
bool setImageIndex ( int $index )
bool setImageInterlaceScheme ( int $interlace_scheme )
bool setImageInterpolateMethod ( int $method )
bool setImageIterations ( int $iterations )
bool setImageMatte ( bool $matte )
bool setImageMatteColor ( mixed $matte )
bool setImageOpacity ( float $opacity )
bool setImageOrientation ( int $orientation )
bool setImagePage ( int $width , int $height , int $x , int $y )
bool setImageProfile ( string $name , string $profile )
bool setImageProperty ( string $name , string $value )
bool setImageRedPrimary ( float $x , float $y )
bool setImageRenderingIntent ( int $rendering_intent )
bool setImageResolution ( float $x_resolution , float $y_resolution )
bool setImageScene ( int $scene )
bool setImageTicksPerSecond ( int $ticks_per-second )
bool setImageType ( int $image_type )
bool setImageUnits ( int $units )
bool setImageVirtualPixelMethod ( int $method )
bool setImageWhitePoint ( float $x , float $y )
bool setInterlaceScheme ( int $interlace_scheme )
bool setIteratorIndex ( int $index )
bool setLastIterator ( void )
bool setOption ( string $key , string $value )
bool setPage ( int $width , int $height , int $x , int $y )
bool setPointSize ( float $point_size )
bool setResolution ( float $x_resolution , float $y_resolution )
bool setResourceLimit ( int $type , int $limit )
bool setSamplingFactors ( array $factors )
bool setSize ( int $columns , int $rows )
bool setSizeOffset ( int $columns , int $rows , int $offset )
bool setType ( int $image_type )
bool shadeImage ( bool $gray , float $azimuth , float $elevation )
bool shadowImage ( float $opacity , float $sigma , int $x , int $y )
bool sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
bool shaveImage ( int $columns , int $rows )
bool shearImage ( mixed $background , float $x_shear , float $y_shear )
bool sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
bool sketchImage ( float $radius , float $sigma , float $angle )
bool solarizeImage ( int $threshold )
public bool sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool spliceImage ( int $width , int $height , int $x , int $y )
bool spreadImage ( float $radius )
Imagick steganoImage ( Imagick $watermark_wand , int $offset )
bool stereoImage ( Imagick $offset_wand )
bool stripImage ( void )
bool swirlImage ( float $degrees )
bool textureImage ( Imagick $texture_wand )
bool thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )
bool tintImage ( mixed $tint , mixed $opacity )
Imagick transformImage ( string $crop , string $geometry )
bool transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )
bool transposeImage ( void )
bool transverseImage ( void )
bool trimImage ( float $fuzz )
bool uniqueImageColors ( void )
bool unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool valid ( void )
bool vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )
bool waveImage ( float $amplitude , float $length )
bool whiteThresholdImage ( mixed $threshold )
bool writeImage ([ string $filename ] )
bool writeImageFile ( resource $filehandle )
bool writeImages ( string $filename , bool $adjoin )
bool writeImagesFile ( resource $filehandle )
}

Методы изображения и глобальные методы

Класс Imagick имеет возможность удерживать и обрабатывать несколько изображений одновременно. Это достигается за счет внутреннего стека, в котором существует указатель, указывающий на текущее изображение. Некоторые функции работают со всеми изображениями в классе Imagick, но всё-таки, большинство работает только с текущим изображением во внутреннем стеке. По соглашению, имена методов могут содержать слово Image для обозначения того, что они влияют только на текущее изображение в стеке.

Методы класса

Здесь приведён список наиболее используемых методов, объединённых в группы по назначению:

Методы класса по назначению
Эффекты изображения | Методы получения | Методы установки | Чтение/запись изображений | Другие
Imagick::adaptiveBlurImage() | Imagick::getCompression() | Imagick::setBackgroundColor() | Imagick::__construct() | Imagick::clear()
Imagick::adaptiveResizeImage() | Imagick::getFilename() | Imagick::setCompressionQuality() | Imagick::addImage() | Imagick::clone()
Imagick::adaptiveSharpenImage() | Imagick::getFormat() | Imagick::setCompression() | Imagick::appendImages() | Imagick::current()
Imagick::adaptiveTresholdImage() | Imagick::getImageBackgroundColor() | Imagick::setFilename() | Imagick::getFilename() | Imagick::destroy()
Imagick::addNoiseImage() | Imagick::getImageBlob() | Imagick::getImagesBlob() | Imagick::setFormat() | Imagick::getFormat() | Imagick::getCopyright()
Imagick::affinetransformimage() | Imagick::getImageBluePrimary() | Imagick::setImageBackgroundColor() | Imagick::getImageFilename() | Imagick::getHomeURL()
Imagick::annotateImage() | Imagick::getImageBorderColor() | Imagick::setFirstIterator() | Imagick::getImageFormat() | Imagick::commentImage()
Imagick::averageImages() | Imagick::getImageChannelDepth() | Imagick::setImageBias() | Imagick::getImage() | Imagick::getNumberImages()
Imagick::blackThresholdImage() | Imagick::getImageChannelDistortion() | Imagick::setImageBluePrimary() | Imagick::setImageFilename() | Imagick::getReleaseDate()
Imagick::blurImage() | Imagick::getImageChannelExtrema() | Imagick::setImageBorderColor() | Imagick::setImageFormat() | Imagick::getVersion()
Imagick::borderImage() | Imagick::getImageChannelMean() | Imagick::setImageChannelDepth() | Imagick::readImageFile() | Imagick::hasNextImage()
Imagick::charcoalImage() | Imagick::getImageChannelStatistics() | Imagick::setImageColormapColor() | Imagick::readImage() | Imagick::hasPreviousImage()
Imagick::chopImage() | Imagick::getImageColormapColor() | Imagick::setImageColorSpace() | Imagick::writeImages() | Imagick::labelImage()
Imagick::clipImage() | Imagick::getImageColorspace() | Imagick::setImageCompose() | Imagick::writeImage() | Imagick::newImage()
Imagick::clipPathImage() | Imagick::getImageColors() | Imagick::setImageCompression() |  | Imagick::newPseudoImage()
Imagick::coalesceImages() | Imagick::getImageCompose() | Imagick::setImageDelay() |  | Imagick::nextImage()
Imagick::colorFloodFillImage() | Imagick::getImageDelay() | Imagick::setImageDepth() |  | Imagick::pingImageBlob()
Imagick::colorizeImage() | Imagick::getImageDepth() | Imagick::setImageDispose() |  | Imagick::pingImageFile()
Imagick::combineImages() | Imagick::getImageDispose() | Imagick::setImageDispose() |  | Imagick::pingImage()
Imagick::compareImageChannels() | Imagick::getImageDistortion() | Imagick::setImageExtent() |  | Imagick::previousImage()
Imagick::compareImageLayers() | Imagick::getImageExtrema() | Imagick::setImageFilename() |  | Imagick::profileImage()
Imagick::compositeImage() | Imagick::getImageFilename() | Imagick::setImageFormat() |  | Imagick::queryFormats()
Imagick::contrastImage() | Imagick::getImageFormat() | Imagick::setImageGamma() |  | Imagick::removeImageProfile()
Imagick::constrastStretchImage() | Imagick::getImageGamma() | Imagick::setImageGreenPrimary() |  | Imagick::removeImage()
Imagick::convolveImage() | Imagick::getImageGeometry() | Imagick::setImageIndex() |  | Imagick::setFirstIterator()
Imagick::cropImage() | Imagick::getImageGreenPrimary() | Imagick::setImageInterpolateMethod() |  | Imagick::setImageIndex()
Imagick::cycleColormapImage() | Imagick::getImageHeight() | Imagick::setImageIterations() |  | Imagick::valid()
Imagick::deconstructImages() | Imagick::getImageHistogram() | Imagick::setImageMatteColor() |  |
Imagick::drawImage() | Imagick::getImageIndex() | Imagick::setImageMatte() |  |
Imagick::edgeImage() | Imagick::getImageInterlaceScheme() | Imagick::setImagePage() |  |
Imagick::embossImage() | Imagick::getImageInterpolateMethod() | Imagick::setImageProfile() |  |
Imagick::enhanceImage() | Imagick::getImageIterations() | Imagick::setImageProperty() |  |
Imagick::equalizeImage() | Imagick::getImageMatteColor() | Imagick::setImageRedPrimary() |  |
Imagick::evaluateImage() | Imagick::getImageMatte() | Imagick::setImageRenderingIntent() |  |
Imagick::flattenImages() | Imagick::getImagePage() | Imagick::setImageResolution() |  |
Imagick::flipImage() | Imagick::getImagePixelColor() | Imagick::setImageScene() |  |
Imagick::flopImage() | Imagick::getImageProfile() | Imagick::setImageTicksPerSecond() |  |
Imagick::imageImage() | Imagick::getImageProperty() | Imagick::setImageType() |  |
Imagick::fxImage() | Imagick::getImageRedPrimary() | Imagick::setImageUnits() |  |
Imagick::gammaImage() | Imagick::getImageRegion() | Imagick::setImageVirtualPixelMethod() |  |
Imagick::gaussianBlurImage() | Imagick::getImageRenderingIntent() | Imagick::setImageWhitepoint() |  |
Imagick::implodeImage() | Imagick::getImageResolution() | Imagick::setInterlaceScheme() |  |
Imagick::levelImage() | Imagick::getImageScene() | Imagick::setOption() |  |
Imagick::linearStretchImage() | Imagick::getImageSignature() | Imagick::setPage() |  |
Imagick::magnifyImage() | Imagick::getImageTicksPerSecond() | Imagick::setResolution() |  |
Imagick::matteFloodFilleImage() | Imagick::getImageTotalInkDensity() | Imagick::setResourceLimit() |  |
Imagick::medianFilterImage() | Imagick::getImageType() | Imagick::setSamplingFactors() |  |
Imagick::minifyImage() | Imagick::getImageUnits() | Imagick::setSizeOffset() |  |
Imagick::modulateImage() | Imagick::getImageVirtualPixelMethod() | Imagick::setSize() |  |
Imagick::montageImage() | Imagick::getImageWhitepoint() | Imagick::setType() |  |
Imagick::morphImages() | Imagick::getImageWidth() |  |  |
Imagick::mosaicImages() | Imagick::getImage() |  |  |
Imagick::motionBlurImage() | Imagick::getInterlaceScheme() |  |  |
Imagick::negateImage() | Imagick::getNumberImages() |  |  |
Imagick::normalizeImage() | Imagick::getOption() |  |  |
Imagick::oilPaintImage() | Imagick::getPackageName() |  |  |
Imagick::optimizeImageLayers() | Imagick::getPage() |  |  |
Imagick::paintOpaqueImage() | Imagick::getPixelIterator() |  |  |
Imagick::paintTransparentImage() | Imagick::getPixelRegionIterator() |  |  |
Imagick::posterizeImage() | Imagick::getQuantumDepth() |  |  |
Imagick::radialBlurImage() | Imagick::getQuantumRange() |  |  |
Imagick::raiseImage() | Imagick::getResourceLimit() |  |  |
Imagick::randomThresholdImage() | Imagick::getResource() |  |  |
Imagick::reduceNoiseImage() | Imagick::getSamplingFactors() |  |  |
Imagick::render() | Imagick::getSizeOffset() |  |  |
Imagick::resampleImage() | Imagick::getSize() |  |  |
Imagick::resizeImage() | Imagick::identifyImage() |  |  |
Imagick::rollImage() | Imagick::getImageSize() |  |  |
Imagick::rotateImage() |  |  |  |
Imagick::sampleImage() |  |  |  |
Imagick::scaleImage() |  |  |  |
Imagick::separateImageChannel() |  |  |  |
Imagick::sepiaToneImage() |  |  |  |
Imagick::shadeImage() |  |  |  |
Imagick::shadowImage() |  |  |  |
Imagick::sharpenImage() |  |  |  |
Imagick::shaveImage() |  |  |  |
Imagick::shearImage() |  |  |  |
Imagick::sigmoidalContrastImage() |  |  |  |
Imagick::sketchImage() |  |  |  |
Imagick::solarizeImage() |  |  |  |
Imagick::spliceImage() |  |  |  |
Imagick::spreadImage() |  |  |  |
Imagick::steganoImage() |  |  |  |
Imagick::stereoImage() |  |  |  |
Imagick::stripImage() |  |  |  |
Imagick::swirlImage() |  |  |  |
Imagick::textureImage() |  |  |  |
Imagick::thresholdImage() |  |  |  |
Imagick::thumbnailImage() |  |  |  |
Imagick::tintImage() |  |  |  |
Imagick::transverseImage() |  |  |  |
Imagick::trimImage() |  |  |  |
Imagick::uniqueImageColors() |  |  |  |
Imagick::unsharpMaskImage() |  |  |  |
Imagick::vignetteImage() |  |  |  |
Imagick::waveImage() |  |  |  |
Imagick::whiteThresholdImage() |  |  |  |

Содержание

  • Imagick::adaptiveBlurImage — Добавляет адаптивный фильтр размытия к изображению
  • Imagick::adaptiveResizeImage — Адаптивное изменение размера изображения с данными триангуляции
  • Imagick::adaptiveSharpenImage — Адаптивное изменение резкости изображения
  • Imagick::adaptiveThresholdImage — Выбор порога для каждого пикселя в зависимости от диапазона интенсивности
  • Imagick::addImage — Добавляет новое изображение к списку изображений объекта Imagick
  • Imagick::addNoiseImage — Накладывает случайный шум на изображение
  • Imagick::affineTransformImage — Преобразование изображения
  • Imagick::animateImages — Анимация одного или нескольких изображений
  • Imagick::annotateImage — Добавляет текстовый комментарий на изображение
  • Imagick::appendImages — Объединяет набор изображений
  • Imagick::averageImages — Усредняет набор изображений
  • Imagick::blackThresholdImage — Перевести все пиксели ниже порогового значения в черный цвет
  • Imagick::blurImage — Добавляет фильтр размытия к изображению
  • Imagick::borderImage — Окружает изображение рамкой
  • Imagick::charcoalImage — Рисование углем
  • Imagick::chopImage — Удаляет область изображения и обрезает его
  • Imagick::clear — Очищает все ресурсы, связанные с объектом Imagick
  • Imagick::clipImage — Обрезка вдоль ближайшего контура с профилем 8BIM
  • Imagick::clipPathImage — Отсечь вдоль обозначенного контура с профилем 8BIM
  • Imagick::clone — Создает точную копию объекта Imagick
  • Imagick::clutImage — Заменяет цвета в изображении
  • Imagick::coalesceImages — Composites a set of images
  • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::colorizeImage — Смешивание цвета заливки с изображением
  • Imagick::combineImages — Combines one or more images into a single image
  • Imagick::commentImage — Adds a comment to your image
  • Imagick::compareImageChannels — Returns the difference in one or more images
  • Imagick::compareImageLayers — Returns the maximum bounding region between images
  • Imagick::compareImages — Compares an image to a reconstructed image
  • Imagick::compositeImage — Composite one image onto another
  • Imagick::__construct — Конструктор объекта Imagick
  • Imagick::contrastImage — Change the contrast of the image
  • Imagick::contrastStretchImage — Enhances the contrast of a color image
  • Imagick::convolveImage — Applies a custom convolution kernel to the image
  • Imagick::cropImage — Извлекает область изображения
  • Imagick::cropThumbnailImage — Creates a crop thumbnail
  • Imagick::current — Возвращает ссылку на текущий объект Imagick
  • Imagick::cycleColormapImage — Displaces an image's colormap
  • Imagick::decipherImage — Deciphers an image
  • Imagick::deconstructImages — Returns certain pixel differences between images
  • Imagick::deleteImageArtifact — Delete image artifact
  • Imagick::deskewImage — Removes skew from the image
  • Imagick::despeckleImage — Reduces the speckle noise in an image
  • Imagick::destroy — Удаляет объект Imagick
  • Imagick::displayImage — Выводит изображение
  • Imagick::displayImages — Выводит изображение или последовательность изображений
  • Imagick::distortImage — Distorts an image using various distortion methods
  • Imagick::drawImage — Выполняет рендеринг объекта ImagickDraw на текущем изображении
  • Imagick::edgeImage — Enhance edges within the image
  • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
  • Imagick::encipherImage — Enciphers an image
  • Imagick::enhanceImage — Improves the quality of a noisy image
  • Imagick::equalizeImage — Equalizes the image histogram
  • Imagick::evaluateImage — Applies an expression to an image
  • Imagick::exportImagePixels — Exports raw image pixels
  • Imagick::extentImage — Set image size
  • Imagick::flattenImages — Merges a sequence of images
  • Imagick::flipImage — Создает вертикальное зеркало изображения
  • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
  • Imagick::flopImage — Создает горизонтальное зеркало изображения
  • Imagick::frameImage — Adds a simulated three-dimensional border
  • Imagick::functionImage — Applies a function on the image
  • Imagick::fxImage — Evaluate expression for each pixel in the image
  • Imagick::gammaImage — Gamma-corrects an image
  • Imagick::gaussianBlurImage — Blurs an image
  • Imagick::getColorspace — Возвращает цветовую палитру
  • Imagick::getCompression — Возвращает тип сжатия объекта
  • Imagick::getCompressionQuality — Возвращает качество сжатия объекта
  • Imagick::getCopyright — Возвращает копирайт API ImageMagick в виде строки
  • Imagick::getFilename — Имя файла результирующего изображения
  • Imagick::getFont — Возвращает название шрифта
  • Imagick::getFormat — Возвращает формат Imagick объекта
  • Imagick::getGravity — Gets the gravity
  • Imagick::getHomeURL — Returns the ImageMagick home URL
  • Imagick::getImage — Returns a new Imagick object
  • Imagick::getImageAlphaChannel — Gets the image alpha channel
  • Imagick::getImageArtifact — Get image artifact
  • Imagick::getImageBackgroundColor — Returns the image background color
  • Imagick::getImageBlob — Returns the image sequence as a blob
  • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
  • Imagick::getImageBorderColor — Returns the image border color
  • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
  • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
  • Imagick::getImageChannelDistortions — Gets channel distortions
  • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
  • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
  • Imagick::getImageChannelMean — Gets the mean and standard deviation
  • Imagick::getImageChannelRange — Gets channel range
  • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
  • Imagick::getImageClipMask — Gets image clip mask
  • Imagick::getImageColormapColor — Returns the color of the specified colormap index
  • Imagick::getImageColors — Gets the number of unique colors in the image
  • Imagick::getImageColorspace — Gets the image colorspace
  • Imagick::getImageCompose — Returns the composite operator associated with the image
  • Imagick::getImageCompression — Gets the current image's compression type
  • Imagick::getImageCompressionQuality — Gets the current image's compression quality
  • Imagick::getImageDelay — Gets the image delay
  • Imagick::getImageDepth — Gets the image depth
  • Imagick::getImageDispose — Gets the image disposal method
  • Imagick::getImageDistortion — Compares an image to a reconstructed image
  • Imagick::getImageExtrema — Gets the extrema for the image
  • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
  • Imagick::getImageFormat — Returns the format of a particular image in a sequence
  • Imagick::getImageGamma — Gets the image gamma
  • Imagick::getImageGeometry — Gets the width and height as an associative array
  • Imagick::getImageGravity — Gets the image gravity
  • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
  • Imagick::getImageHeight — Returns the image height
  • Imagick::getImageHistogram — Gets the image histogram
  • Imagick::getImageIndex — Gets the index of the current active image
  • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
  • Imagick::getImageInterpolateMethod — Returns the interpolation method
  • Imagick::getImageIterations — Gets the image iterations
  • Imagick::getImageLength — Returns the image length in bytes
  • Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license
  • Imagick::getImageMatte — Return if the image has a matte channel
  • Imagick::getImageMatteColor — Returns the image matte color
  • Imagick::getImageOrientation — Gets the image orientation
  • Imagick::getImagePage — Returns the page geometry
  • Imagick::getImagePixelColor — Returns the color of the specified pixel
  • Imagick::getImageProfile — Returns the named image profile
  • Imagick::getImageProfiles — Returns the image profiles
  • Imagick::getImageProperties — Returns the image properties
  • Imagick::getImageProperty — Returns the named image property
  • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
  • Imagick::getImageRegion — Extracts a region of the image
  • Imagick::getImageRenderingIntent — Gets the image rendering intent
  • Imagick::getImageResolution — Gets the image X and Y resolution
  • Imagick::getImagesBlob — Returns all image sequences as a blob
  • Imagick::getImageScene — Gets the image scene
  • Imagick::getImageSignature — Generates an SHA-256 message digest
  • Imagick::getImageSize — Returns the image length in bytes
  • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
  • Imagick::getImageTotalInkDensity — Gets the image total ink density
  • Imagick::getImageType — Gets the potential image type
  • Imagick::getImageUnits — Gets the image units of resolution
  • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
  • Imagick::getImageWhitePoint — Returns the chromaticity white point
  • Imagick::getImageWidth — Returns the image width
  • Imagick::getInterlaceScheme — Gets the object interlace scheme
  • Imagick::getIteratorIndex — Gets the index of the current active image
  • Imagick::getNumberImages — Returns the number of images in the object
  • Imagick::getOption — Returns a value associated with the specified key
  • Imagick::getPackageName — Returns the ImageMagick package name
  • Imagick::getPage — Returns the page geometry
  • Imagick::getPixelIterator — Returns a MagickPixelIterator
  • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
  • Imagick::getPointSize — Gets point size
  • Imagick::getQuantumDepth — Gets the quantum depth
  • Imagick::getQuantumRange — Returns the Imagick quantum range
  • Imagick::getReleaseDate — Returns the ImageMagick release date
  • Imagick::getResource — Returns the specified resource's memory usage
  • Imagick::getResourceLimit — Returns the specified resource limit
  • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
  • Imagick::getSize — Returns the size associated with the Imagick object
  • Imagick::getSizeOffset — Returns the size offset
  • Imagick::getVersion — Возвращает версию API ImageMagick
  • Imagick::haldClutImage — Replaces colors in the image
  • Imagick::hasNextImage — Checks if the object has more images
  • Imagick::hasPreviousImage — Checks if the object has a previous image
  • Imagick::identifyImage — Identifies an image and fetches attributes
  • Imagick::implodeImage — Creates a new image as a copy
  • Imagick::importImagePixels — Imports image pixels
  • Imagick::labelImage — Adds a label to an image
  • Imagick::levelImage — Adjusts the levels of an image
  • Imagick::linearStretchImage — Stretches with saturation the image intensity
  • Imagick::liquidRescaleImage — Animates an image or images
  • Imagick::magnifyImage — Scales an image proportionally 2x
  • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.
  • Imagick::matteFloodfillImage — Changes the transparency value of a color
  • Imagick::medianFilterImage — Applies a digital filter
  • Imagick::mergeImageLayers — Merges image layers
  • Imagick::minifyImage — Scales an image proportionally to half its size
  • Imagick::modulateImage — Control the brightness, saturation, and hue
  • Imagick::montageImage — Creates a composite image
  • Imagick::morphImages — Method morphs a set of images
  • Imagick::mosaicImages — Forms a mosaic from images
  • Imagick::motionBlurImage — Simulates motion blur
  • Imagick::negateImage — Negates the colors in the reference image
  • Imagick::newImage — Creates a new image
  • Imagick::newPseudoImage — Creates a new image
  • Imagick::nextImage — Moves to the next image
  • Imagick::normalizeImage — Enhances the contrast of a color image
  • Imagick::oilPaintImage — Simulates an oil painting
  • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
  • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
  • Imagick::orderedPosterizeImage — Performs an ordered dither
  • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::paintOpaqueImage — Change any pixel that matches color
  • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
  • Imagick::pingImage — Fetch basic attributes about the image
  • Imagick::pingImageBlob — Quickly fetch attributes
  • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
  • Imagick::polaroidImage — Simulates a Polaroid picture
  • Imagick::posterizeImage — Reduces the image to a limited number of color level
  • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
  • Imagick::previousImage — Move to the previous image in the object
  • Imagick::profileImage — Adds or removes a profile from an image
  • Imagick::quantizeImage — Analyzes the colors within a reference image
  • Imagick::quantizeImages — Analyzes the colors within a sequence of images
  • Imagick::queryFontMetrics — Returns an array representing the font metrics
  • Imagick::queryFonts — Returns the configured fonts
  • Imagick::queryFormats — Returns formats supported by Imagick
  • Imagick::radialBlurImage — Radial blurs an image
  • Imagick::raiseImage — Creates a simulated 3d button-like effect
  • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
  • Imagick::readImage — Reads image from filename
  • Imagick::readImageBlob — Reads image from a binary string
  • Imagick::readImageFile — Reads image from open filehandle
  • Imagick::recolorImage — Recolors image
  • Imagick::reduceNoiseImage — Smooths the contours of an image
  • Imagick::remapImage — Remaps image colors
  • Imagick::removeImage — Removes an image from the image list
  • Imagick::removeImageProfile — Removes the named image profile and returns it
  • Imagick::render — Renders all preceding drawing commands
  • Imagick::resampleImage — Resample image to desired resolution
  • Imagick::resetImagePage — Reset image page
  • Imagick::resizeImage — Scales an image
  • Imagick::rollImage — Offsets an image
  • Imagick::rotateImage — Rotates an image
  • Imagick::roundCorners — Rounds image corners
  • Imagick::sampleImage — Scales an image with pixel sampling
  • Imagick::scaleImage — Scales the size of an image
  • Imagick::segmentImage — Segments an image
  • Imagick::separateImageChannel — Separates a channel from the image
  • Imagick::sepiaToneImage — Sepia tones an image
  • Imagick::setBackgroundColor — Sets the object's default background color
  • Imagick::setColorspace — Set colorspace
  • Imagick::setCompression — Sets the object's default compression type
  • Imagick::setCompressionQuality — Sets the object's default compression quality
  • Imagick::setFilename — Sets the filename before you read or write the image
  • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
  • Imagick::setFont — Sets font
  • Imagick::setFormat — Sets the format of the Imagick object
  • Imagick::setGravity — Sets the gravity
  • Imagick::setImage — Replaces image in the object
  • Imagick::setImageAlphaChannel — Sets image alpha channel
  • Imagick::setImageArtifact — Set image artifact
  • Imagick::setImageBackgroundColor — Sets the image background color
  • Imagick::setImageBias — Sets the image bias for any method that convolves an image
  • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
  • Imagick::setImageBorderColor — Sets the image border color
  • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
  • Imagick::setImageClipMask — Sets image clip mask
  • Imagick::setImageColormapColor — Sets the color of the specified colormap index
  • Imagick::setImageColorspace — Sets the image colorspace
  • Imagick::setImageCompose — Sets the image composite operator
  • Imagick::setImageCompression — Sets the image compression
  • Imagick::setImageCompressionQuality — Sets the image compression quality
  • Imagick::setImageDelay — Sets the image delay
  • Imagick::setImageDepth — Sets the image depth
  • Imagick::setImageDispose — Sets the image disposal method
  • Imagick::setImageExtent — Sets the image size
  • Imagick::setImageFilename — Sets the filename of a particular image
  • Imagick::setImageFormat — Sets the format of a particular image
  • Imagick::setImageGamma — Sets the image gamma
  • Imagick::setImageGravity — Sets the image gravity
  • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
  • Imagick::setImageIndex — Set the iterator position
  • Imagick::setImageInterlaceScheme — Sets the image compression
  • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
  • Imagick::setImageIterations — Sets the image iterations
  • Imagick::setImageMatte — Sets the image matte channel
  • Imagick::setImageMatteColor — Sets the image matte color
  • Imagick::setImageOpacity — Sets the image opacity level
  • Imagick::setImageOrientation — Sets the image orientation
  • Imagick::setImagePage — Sets the page geometry of the image
  • Imagick::setImageProfile — Adds a named profile to the Imagick object
  • Imagick::setImageProperty — Sets an image property
  • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
  • Imagick::setImageRenderingIntent — Sets the image rendering intent
  • Imagick::setImageResolution — Sets the image resolution
  • Imagick::setImageScene — Sets the image scene
  • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
  • Imagick::setImageType — Sets the image type
  • Imagick::setImageUnits — Sets the image units of resolution
  • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
  • Imagick::setImageWhitePoint — Sets the image chromaticity white point
  • Imagick::setInterlaceScheme — Sets the image compression
  • Imagick::setIteratorIndex — Set the iterator position
  • Imagick::setLastIterator — Sets the Imagick iterator to the last image
  • Imagick::setOption — Set an option
  • Imagick::setPage — Sets the page geometry of the Imagick object
  • Imagick::setPointSize — Sets point size
  • Imagick::setResolution — Sets the image resolution
  • Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes
  • Imagick::setSamplingFactors — Sets the image sampling factors
  • Imagick::setSize — Sets the size of the Imagick object
  • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
  • Imagick::setType — Sets the image type attribute
  • Imagick::shadeImage — Creates a 3D effect
  • Imagick::shadowImage — Simulates an image shadow
  • Imagick::sharpenImage — Sharpens an image
  • Imagick::shaveImage — Shaves pixels from the image edges
  • Imagick::shearImage — Creating a parallelogram
  • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
  • Imagick::sketchImage — Simulates a pencil sketch
  • Imagick::solarizeImage — Applies a solarizing effect to the image
  • Imagick::sparseColorImage — Interpolates colors
  • Imagick::spliceImage — Splices a solid color into the image
  • Imagick::spreadImage — Randomly displaces each pixel in a block
  • Imagick::steganoImage — Hides a digital watermark within the image
  • Imagick::stereoImage — Composites two images
  • Imagick::stripImage — Strips an image of all profiles and comments
  • Imagick::swirlImage — Swirls the pixels about the center of the image
  • Imagick::textureImage — Repeatedly tiles the texture image
  • Imagick::thresholdImage — Изменяет отдельные пиксели на основе порогового значения
  • Imagick::thumbnailImage — Changes the size of an image
  • Imagick::tintImage — Applies a color vector to each pixel in the image
  • Imagick::transformImage — Convenience method for setting crop size and the image geometry
  • Imagick::transparentPaintImage — Paints pixels transparent
  • Imagick::transposeImage — Creates a vertical mirror image
  • Imagick::transverseImage — Creates a horizontal mirror image
  • Imagick::trimImage — Remove edges from the image
  • Imagick::uniqueImageColors — Discards all but one of any pixel color
  • Imagick::unsharpMaskImage — Sharpens an image
  • Imagick::valid — Checks if the current item is valid
  • Imagick::vignetteImage — Adds vignette filter to the image
  • Imagick::waveImage — Applies wave filter to the image
  • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
  • Imagick::writeImage — Writes an image to the specified filename
  • Imagick::writeImageFile — Writes an image to a filehandle
  • Imagick::writeImages — Writes an image or image sequence
  • Imagick::writeImagesFile — Writes frames to a filehandle
Базовое использование
Imagick::adaptiveBlurImage
ImageMagick


Добавляет адаптивный фильтр размытия к изображению

Класс Imagick
Imagick::adaptiveResizeImage
Класс Imagick
PHP Manual

Imagick::adaptiveBlurImage

(PECL imagick 2.0.0)

Imagick::adaptiveBlurImage — Добавляет адаптивный фильтр размытия к изображению

Описание

bool Imagick::adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Добавляет адаптивный фильтр размытия к изображению. Интенсивность адаптивного размытия значительно уменьшается к краям изображения, в то время как стандартное размытие равномерно распределяется по всему изображению. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

radius

Радиус Гаусса, в пикселях, не считая центрального пикселя. Если передан 0, то радиус будет выбран автоматически.

sigma

Стандартное отклонение Гаусса, в пикселях.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Использование Imagick::adaptiveBlurImage():

Адаптивное размытие изображения и отображение его в браузере.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

Результатом выполнения данного примера будет что-то подобное:

Пример вывода : Использование Imagick::adaptiveBlurImage()

Смотрите также

  • Imagick::blurImage() - Добавляет фильтр размытия к изображению
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Класс Imagick
Imagick::adaptiveResizeImage
Класс Imagick


Адаптивное изменение размера изображения с данными триангуляции

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Класс Imagick
PHP Manual

Imagick::adaptiveResizeImage

(PECL imagick 2.0.0)

Imagick::adaptiveResizeImage — Адаптивное изменение размера изображения с данными триангуляции

Описание

bool Imagick::adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )

Адаптивное изменение размера изображения с данными триангуляции. Позволяет избежать размытия через резкое изменение цвета. Чаще всего используется для уменьшения изображений чуть меньше "размера в web"; получается плохо, когда полноразмерное изображение адаптивно изменяется в миниатюру. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200x150 до 400x300 никаких операций не происходило. В Imagick 3.0.0 и далее изображение будет масштабировано до размеров 400x300, так как это наилучшим образом соответствует ("best fit") данным размерам. Если используется параметр bestfit, то ширина и высота также должны быть определены.

Список параметров

columns

Количество столбцов в масштабе изображения.

rows

Количество строк в масштабе изображения.

bestfit

Будет ли подгоняться изображение внутри ограничительной рамки.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Добавлен необязательный параметр подгонки.
2.1.0 | Этот метод теперь поддерживает пропорциональное масштабирование. Для этого нужно передать 0 одному из параметров.

Примеры

Пример #1 Использование Imagick::adaptiveResizeImage()

Изменение размеров изображения обычно используемых в web. Этот метод лучше всего работает при не большом изменении размера.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Смотрите также

  • Imagick::chopImage() - Удаляет область изображения и обрезает его
  • Imagick::cropImage() - Извлекает область изображения
  • Imagick::magnifyImage() - Scales an image proportionally 2x
  • Imagick::minifyImage() - Scales an image proportionally to half its size
  • Imagick::resizeImage() - Scales an image
  • Imagick::scaleImage() - Scales the size of an image
  • Imagick::shaveImage() - Shaves pixels from the image edges
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::trimImage() - Remove edges from the image

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Класс Imagick


Адаптивное изменение резкости изображения

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Класс Imagick
PHP Manual

Imagick::adaptiveSharpenImage

(PECL imagick 2.0.0)

Imagick::adaptiveSharpenImage — Адаптивное изменение резкости изображения

Описание

bool Imagick::adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Адаптивное изменение резкости изображения с большей интенсивностью на краях изображения и с меньшей ближе к середине. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

radius

Радиус Гаусса, в пикселях, не считая центрального пикселя. Используйте 0 для авто-выбора.

sigma

Стандартное отклонение Гаусса, в пикселях.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Пример использования Imagick::adaptiveSharpenImage()

Адаптивное изменение резкости изображения с радиусом 2 и сигмой 1.

<?php
try {
    $image = new Imagick('image.png');
    $image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Error: ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $image;
?>

Смотрите также

  • Imagick::sharpenImage() - Sharpens an image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Класс Imagick


Выбор порога для каждого пикселя в зависимости от диапазона интенсивности

Imagick::adaptiveSharpenImage
Imagick::addImage
Класс Imagick
PHP Manual

Imagick::adaptiveThresholdImage

(PECL imagick 2.0.0)

Imagick::adaptiveThresholdImage — Выбор порога для каждого пикселя в зависимости от диапазона интенсивности

Описание

bool Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset )

Выбор индивидуального ограничения для каждого пикселя в зависимости от диапазона значений интенсивности вокруг этого пикселя. Это дает возможность установить порог изображения, в котором гистограмма глобальной интенсивности не содержит отличительных пиков.

Список параметров

width

Область соседей по ширине.

height

Область соседей по высоте.

offset

Среднее смещение

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::adaptiveSharpenImage
Imagick::addImage
Класс Imagick


Добавляет новое изображение к списку изображений объекта Imagick

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Класс Imagick
PHP Manual

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImage — Добавляет новое изображение к списку изображений объекта Imagick

Описание

bool Imagick::addImage ( Imagick $source )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Добавляет новое изображение к объекту Imagick из текущего положения исходного объекта. После этой операции перемещается позиция итератора в конец списка.

Список параметров

source

Исходный объект Imagick

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Класс Imagick


Накладывает случайный шум на изображение

Imagick::addImage
Imagick::affineTransformImage
Класс Imagick
PHP Manual

Imagick::addNoiseImage

(PECL imagick 2.0.0)

Imagick::addNoiseImage — Накладывает случайный шум на изображение

Описание

bool Imagick::addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Накладывает случайный шум на изображение.

Список параметров

noise_type

Тип шума. Обратитесь к списку констант шума.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::addImage
Imagick::affineTransformImage
Класс Imagick


Преобразование изображения

Imagick::addNoiseImage
Imagick::animateImages
Класс Imagick
PHP Manual

Imagick::affineTransformImage

(PECL imagick 2.0.0)

Imagick::affineTransformImage — Преобразование изображения

Описание

bool Imagick::affineTransformImage ( ImagickDraw $matrix )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Преобразование изображения с помощью аффинной матрицы.

Список параметров

matrix

Аффинная матрица

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::addNoiseImage
Imagick::animateImages
Класс Imagick


Анимация одного или нескольких изображений

Imagick::affineTransformImage
Imagick::annotateImage
Класс Imagick
PHP Manual

Imagick::animateImages

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::animateImages — Анимация одного или нескольких изображений

Описание

bool Imagick::animateImages ( string $x_server )

Этот метод производит анимацию изображения на локальном или удалённом X сервере. Этот метод не доступен в Windows. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

x_server

Адрес X сервера

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::displayImage() - Выводит изображение

Imagick::affineTransformImage
Imagick::annotateImage
Класс Imagick


Добавляет текстовый комментарий на изображение

Imagick::animateImages
Imagick::appendImages
Класс Imagick
PHP Manual

Imagick::annotateImage

(PECL imagick 2.0.0)

Imagick::annotateImage — Добавляет текстовый комментарий на изображение

Описание

bool Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )

Добавляет текстовый комментарий на изображение.

Список параметров

draw_settings

Объект ImagickDraw с настройками наносимого текста

x

Горизонтальное смещение в пикселях слева от текста

y

Вертикальное смещение в пикселях к базовому тексту

angle

Угол под которым выводится текст. Положительное значение: направление от верхнего левого угла до нижнего правого угла. Отрицательное значение: от нижнего левого угла до верхнего правого угла.

text

Строка с текстом

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Использование Imagick::annotateImage():

Добавление текста к пустому изображению

<?php
/* Создаем объекты */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* Новое изображение */
$image->newImage(800, 75, $pixel);

/* Черный текст */
$draw->setFillColor('black');

/* Настройки шрифта */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Создаем текст */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Устанавливаем формат изображения */
$image->setImageFormat('png');

/* Выводим изображение с заголовками */
header('Content-type: image/png');
echo $image;

?>

Смотрите также

  • ImagickDraw::annotation() - Draws text on the image
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text

Imagick::animateImages
Imagick::appendImages
Класс Imagick


Объединяет набор изображений

Imagick::annotateImage
Imagick::averageImages
Класс Imagick
PHP Manual

Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImages — Объединяет набор изображений

Описание

Imagick Imagick::appendImages ( bool $stack = false )

Объединяет набор изображений в одно большое изображение.

Список параметров

stack

Whether to stack the images vertically. По умолчанию (или если указано FALSE) изображения складываются слева направо. Если stack установлен в TRUE, то изображения складываются сверху вниз.

Возвращаемые значения

В случае успеха возвращает экземпляр Imagick. Бросает ImagickException при ошибке.

Примеры

Пример #1 Пример использования Imagick::appendImages()

<?php

/* Создаем новый объект imagick */
$im = new Imagick();

/* создаем красное, зеленое и синее изображения */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Соединяем все изображения в одно */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Выводим изображение */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

Результатом выполнения данного примера будет что-то подобное:

Пример вывода : Imagick::appendImages()

Imagick::annotateImage
Imagick::averageImages
Класс Imagick


Усредняет набор изображений

Imagick::appendImages
Imagick::blackThresholdImage
Класс Imagick
PHP Manual

Imagick::averageImages

(PECL imagick 2.0.0)

Imagick::averageImages — Усредняет набор изображений

Описание

Imagick Imagick::averageImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Усредняет набор изображений.

Возвращаемые значения

В случае успеха возвращает объект Imagick. Бросает ImagickException при ошибке.

Imagick::appendImages
Imagick::blackThresholdImage
Класс Imagick


Перевести все пиксели ниже порогового значения в черный цвет

Imagick::averageImages
Imagick::blurImage
Класс Imagick
PHP Manual

Imagick::blackThresholdImage

(PECL imagick 2.0.0)

Imagick::blackThresholdImage — Перевести все пиксели ниже порогового значения в черный цвет

Описание

bool Imagick::blackThresholdImage ( mixed $threshold )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Работает так же, как Imagick::thresholdImage(), но изменяются только пиксели ниже порогового значения, в то время как остальные пиксели остаются неизменными.

Список параметров

threshold

Пороговое значение ниже которого все пиксели станут черными

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | В качестве параметра возможно передавать цвет строкой. В предыдущих версиях разрешалось передавать только ImagickPixel.

Imagick::averageImages
Imagick::blurImage
Класс Imagick


Добавляет фильтр размытия к изображению

Imagick::blackThresholdImage
Imagick::borderImage
Класс Imagick
PHP Manual

Imagick::blurImage

(PECL imagick 2.0.0)

Imagick::blurImage — Добавляет фильтр размытия к изображению

Описание

bool Imagick::blurImage ( float $radius , float $sigma [, int $channel ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Добавляет фильтр размытия к изображению. Необязательный третий параметр служит для размытия определенного канала.

Список параметров

radius

Радиус размытия

sigma

Стандартное отклонение

channel

Константа Channeltype. Если не указано, то будут размыты все каналы.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Использование Imagick::blurImage():

Размытие изображения и отправка его в браузер.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Смотрите также

  • Imagick::adaptiveBlurImage() - Добавляет адаптивный фильтр размытия к изображению
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::blackThresholdImage
Imagick::borderImage
Класс Imagick


Окружает изображение рамкой

Imagick::blurImage
Imagick::charcoalImage
Класс Imagick
PHP Manual

Imagick::borderImage

(PECL imagick 2.0.0)

Imagick::borderImage — Окружает изображение рамкой

Описание

bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Окружает изображение рамкой с цветом установленным в объекте ImagickPixel.

Список параметров

bordercolor

Объект ImagickPixel или строка содержащая цвет рамки

width

Ширина рамки

height

Высота рамки

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | В качестве цвета разрешено передавать строку. Предыдущие версии допускали только объект ImagickPixel.

Imagick::blurImage
Imagick::charcoalImage
Класс Imagick


Рисование углем

Imagick::borderImage
Imagick::chopImage
Класс Imagick
PHP Manual

Imagick::charcoalImage

(PECL imagick 2.0.0)

Imagick::charcoalImage — Рисование углем

Описание

bool Imagick::charcoalImage ( float $radius , float $sigma )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Рисование углем.

Список параметров

radius

Радиус Гаусса, в пикселях, не включая центральный пиксель

sigma

Стандартное отклонение Гаусса, в пикселях

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::borderImage
Imagick::chopImage
Класс Imagick


Удаляет область изображения и обрезает его

Imagick::charcoalImage
Imagick::clear
Класс Imagick
PHP Manual

Imagick::chopImage

(PECL imagick 2.0.0)

Imagick::chopImage — Удаляет область изображения и обрезает его

Описание

bool Imagick::chopImage ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Удаляет выбранную область с реструктуризацией изображения.

Список параметров

width

Ширина обрезаемой области

height

Высота обрезаемой области

x

Начало отчета обрезаемой области по оси X

y

Начало отчета обрезаемой области по оси Y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Использование Imagick::chopImage():

Пример использования Imagick::chopImage

<?php
/* Создаем объекты */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* Новое изображение */
$image->newImage(400, 200, $pixel);

/* Обрезка изображения */
$image->chopImage(200, 200, 0, 0);

/* Установка формата изображения */
$image->setImageFormat('png');

/* Вывод изображения с заголовками */
header('Content-type: image/png');
echo $image;

?>

Смотрите также

  • Imagick::cropImage() - Извлекает область изображения

Imagick::charcoalImage
Imagick::clear
Класс Imagick


Очищает все ресурсы, связанные с объектом Imagick

Imagick::chopImage
Imagick::clipImage
Класс Imagick
PHP Manual

Imagick::clear

(PECL imagick 2.0.0)

Imagick::clear — Очищает все ресурсы, связанные с объектом Imagick

Описание

bool Imagick::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Очищает все ресурсы, связанные с объектом Imagick

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::chopImage
Imagick::clipImage
Класс Imagick


Обрезка вдоль ближайшего контура с профилем 8BIM

Imagick::clear
Imagick::clipPathImage
Класс Imagick
PHP Manual

Imagick::clipImage

(PECL imagick 2.0.0)

Imagick::clipImage — Обрезка вдоль ближайшего контура с профилем 8BIM

Описание

bool Imagick::clipImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Обрезка вдоль ближайшего контура с профилем 8BIM, если он предоставлен.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::clear
Imagick::clipPathImage
Класс Imagick


Отсечь вдоль обозначенного контура с профилем 8BIM

Imagick::clipImage
Imagick::clone
Класс Imagick
PHP Manual

Imagick::clipPathImage

(PECL imagick 2.0.0)

Imagick::clipPathImage — Отсечь вдоль обозначенного контура с профилем 8BIM

Описание

bool Imagick::clipPathImage ( string $pathname , bool $inside )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Отсекает изображение вдоль обозначенного контура с профилем 8BIM, если он предоставлен. Последующие операции будут применяться к внутреннему контуру. Так же может быть числом, если его предваряет символ #. Это необходимо для работы с пронумерованными контурами, например, "#1" для использования первого контура.

Список параметров

pathname

Обозначенный контур

inside

Если установлено TRUE, то последующие операции будут применяться к внутреннему контуру. Иначе, последующие операции будут применяться к внешнему контуру.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::clipImage
Imagick::clone
Класс Imagick


Создает точную копию объекта Imagick

Imagick::clipPathImage
Imagick::clutImage
Класс Imagick
PHP Manual

Imagick::clone

(PECL imagick 2.0.0)

Imagick::clone — Создает точную копию объекта Imagick

Описание

Imagick Imagick::clone ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает точную копию объекта Imagick.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Imagick::clipPathImage
Imagick::clutImage
Класс Imagick


Заменяет цвета в изображении

Imagick::clone
Imagick::coalesceImages
Класс Imagick
PHP Manual

Imagick::clutImage

(PECL imagick 2.0.0)

Imagick::clutImage — Заменяет цвета в изображении

Описание

bool Imagick::clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )

Заменяет цвета в изображении, используя таблицу соответствия. Необязательный второй параметр заменяет цвета в указанном канале. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

lookup_table

Объект Imagick, содержащий таблицу соответствия цветов.

channel

Константа Channeltype. Если не указано, то по умолчанию замена происходит во всех каналах.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Использование Imagick::clutImage():

Замена цвета в изображении, используя таблицу соответствия.

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage($clut);
$image->writeImage('test_out.jpg');
?>

Смотрите также

  • Imagick::adaptiveBlurImage() - Добавляет адаптивный фильтр размытия к изображению
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::clone
Imagick::coalesceImages
Класс Imagick


Composites a set of images

Imagick::clutImage
Imagick::colorFloodfillImage
Класс Imagick
PHP Manual

Imagick::coalesceImages

(PECL imagick 2.0.0)

Imagick::coalesceImages — Composites a set of images

Описание

Imagick Imagick::coalesceImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. Returns a new Imagick object where each image in the sequence is the same size as the first and composited with the next image in the sequence.

Возвращаемые значения

Returns a new Imagick object on success. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::clutImage
Imagick::colorFloodfillImage
Класс Imagick


Changes the color value of any pixel that matches target

Imagick::coalesceImages
Imagick::colorizeImage
Класс Imagick
PHP Manual

Imagick::colorFloodfillImage

(PECL imagick 2.0.0)

Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target

Описание

bool Imagick::colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Changes the color value of any pixel that matches target and is an immediate neighbor.

Список параметров

fill

ImagickPixel object containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as first and third parameter. Previous versions allow only an ImagickPixel object.

Imagick::coalesceImages
Imagick::colorizeImage
Класс Imagick


Смешивание цвета заливки с изображением

Imagick::colorFloodfillImage
Imagick::combineImages
Класс Imagick
PHP Manual

Imagick::colorizeImage

(PECL imagick 2.0.0)

Imagick::colorizeImage — Смешивание цвета заливки с изображением

Описание

bool Imagick::colorizeImage ( mixed $colorize , mixed $opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смешивает цвет заливки с каждым пикселем изображения.

Список параметров

colorize

Объект ImagickPixel или строка содержащая цвет

opacity

Объект ImagickPixel или дробное число содержащее значение прозрачности. 1.0 означает без прозрачности, 0.0 означает полную прозрачность.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Для первого параметра разрешено передавать цвет в виде строки и указывать значение прозрачности во втором параметре. Предыдущие версии допускали только объект ImagickPixel.

Imagick::colorFloodfillImage
Imagick::combineImages
Класс Imagick


Combines one or more images into a single image

Imagick::colorizeImage
Imagick::commentImage
Класс Imagick
PHP Manual

Imagick::combineImages

(PECL imagick 2.0.0)

Imagick::combineImages — Combines one or more images into a single image

Описание

Imagick Imagick::combineImages ( int $channelType )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Combines one or more images into a single image. The grayscale value of the pixels of each image in the sequence is assigned in order to the specified channels of the combined image. The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.

Список параметров

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::colorizeImage
Imagick::commentImage
Класс Imagick


Adds a comment to your image

Imagick::combineImages
Imagick::compareImageChannels
Класс Imagick
PHP Manual

Imagick::commentImage

(PECL imagick 2.0.0)

Imagick::commentImage — Adds a comment to your image

Описание

bool Imagick::commentImage ( string $comment )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a comment to your image.

Список параметров

comment

The comment to add

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::commentImage():

Commenting an image and retrieving the comment:

<?php

/* Create new Imagick object */
$im = new imagick();

/* Create an empty image */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Add comment to the image */
$im->commentImage("Hello World!");

/* Display the comment */
echo $im->getImageProperty("comment");

?>

Imagick::combineImages
Imagick::compareImageChannels
Класс Imagick


Returns the difference in one or more images

Imagick::commentImage
Imagick::compareImageLayers
Класс Imagick
PHP Manual

Imagick::compareImageChannels

(PECL imagick 2.0.0)

Imagick::compareImageChannels — Returns the difference in one or more images

Описание

array Imagick::compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Compares one or more images and returns the difference image.

Список параметров

image

Imagick object containing the image to compare.

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metricType

One of the metric type constants.

Возвращаемые значения

Array consisting of new_wand and distortion.

Ошибки

Бросает ImagickException при ошибке.

Imagick::commentImage
Imagick::compareImageLayers
Класс Imagick


Returns the maximum bounding region between images

Imagick::compareImageChannels
Imagick::compareImages
Класс Imagick
PHP Manual

Imagick::compareImageLayers

(PECL imagick 2.0.0)

Imagick::compareImageLayers — Returns the maximum bounding region between images

Описание

Imagick Imagick::compareImageLayers ( int $method )

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

method

One of the layer method constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::compareImageLayers()

Comparing image layers

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$result = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* work on the $result */
?>

Смотрите также

  • Imagick::optimizeImageLayers() - Removes repeated portions of images to optimize
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename

Imagick::compareImageChannels
Imagick::compareImages
Класс Imagick


Compares an image to a reconstructed image

Imagick::compareImageLayers
Imagick::compositeImage
Класс Imagick
PHP Manual

Imagick::compareImages

(PECL imagick 2.0.0)

Imagick::compareImages — Compares an image to a reconstructed image

Описание

array Imagick::compareImages ( Imagick $compare , int $metric )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns an array containing a reconstructed image and the difference between images.

Список параметров

compare

An image to compare to.

metric

Provide a valid metric type constant. Refer to this list of metric constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::compareImages():

Compare images and display the reconstructed image

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImages($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>

Imagick::compareImageLayers
Imagick::compositeImage
Класс Imagick


Composite one image onto another

Imagick::compareImages
Imagick::__construct
Класс Imagick
PHP Manual

Imagick::compositeImage

(PECL imagick 2.0.0)

Imagick::compositeImage — Composite one image onto another

Описание

bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Composite one image onto another at the specified offset.

Список параметров

composite_object

Imagick object which holds the composite image

compose

Composite operator. See Composite Operator Constants

x

The column offset of the composited image

y

The row offset of the composited image

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::compareImages
Imagick::__construct
Класс Imagick


Конструктор объекта Imagick

Imagick::compositeImage
Imagick::contrastImage
Класс Imagick
PHP Manual

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__construct — Конструктор объекта Imagick

Описание

Imagick Imagick::__construct ([ mixed $files ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Конструктор объекта Imagick

Список параметров

files

Путь к изображению для загрузки или массив путей

Возвращаемые значения

В случае успеха возвращает новый объект Imagick. Бросает ImagickException при ошибке.

Imagick::compositeImage
Imagick::contrastImage
Класс Imagick


Change the contrast of the image

Imagick::__construct
Imagick::contrastStretchImage
Класс Imagick
PHP Manual

Imagick::contrastImage

(PECL imagick 2.0.0)

Imagick::contrastImage — Change the contrast of the image

Описание

bool Imagick::contrastImage ( bool $sharpen )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Enhances the intensity differences between the lighter and darker elements of the image. Set sharpen to a value other than 0 to increase the image contrast otherwise the contrast is reduced.

Список параметров

sharpen

The sharpen value

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::__construct
Imagick::contrastStretchImage
Класс Imagick


Enhances the contrast of a color image

Imagick::contrastImage
Imagick::convolveImage
Класс Imagick
PHP Manual

Imagick::contrastStretchImage

(PECL imagick 2.0.0)

Imagick::contrastStretchImage — Enhances the contrast of a color image

Описание

bool Imagick::contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

black_point

The black point.

white_point

The white point.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::contrastImage
Imagick::convolveImage
Класс Imagick


Applies a custom convolution kernel to the image

Imagick::contrastStretchImage
Imagick::cropImage
Класс Imagick
PHP Manual

Imagick::convolveImage

(PECL imagick 2.0.0)

Imagick::convolveImage — Applies a custom convolution kernel to the image

Описание

bool Imagick::convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a custom convolution kernel to the image.

Список параметров

kernel

The convolution kernel

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::contrastStretchImage
Imagick::cropImage
Класс Imagick


Извлекает область изображения

Imagick::convolveImage
Imagick::cropThumbnailImage
Класс Imagick
PHP Manual

Imagick::cropImage

(PECL imagick 2.0.0)

Imagick::cropImage — Извлекает область изображения

Описание

bool Imagick::cropImage ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Извлекает область изображения.

Список параметров

width

Ширина обрезания

height

Высота обрезания

x

Координата X верхнего левого угла области обрезания

y

Координата Y верхнего левого угла области обрезания

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::convolveImage
Imagick::cropThumbnailImage
Класс Imagick


Creates a crop thumbnail

Imagick::cropImage
Imagick::current
Класс Imagick
PHP Manual

Imagick::cropThumbnailImage

(PECL imagick 2.0.0)

Imagick::cropThumbnailImage — Creates a crop thumbnail

Описание

bool Imagick::cropThumbnailImage ( int $width , int $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a fixed size thumbnail by first scaling the image up or down and cropping a specified area from the center.

Список параметров

width

The width of the thumbnail

height

The Height of the thumbnail

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::cropImage
Imagick::current
Класс Imagick


Возвращает ссылку на текущий объект Imagick

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Класс Imagick
PHP Manual

Imagick::current

(PECL imagick 2.0.0)

Imagick::current — Возвращает ссылку на текущий объект Imagick

Описание

Imagick Imagick::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает ссылку на текущий объект imagick с указателем на изображение в правильной последовательности.

Возвращаемые значения

Возвращает себя в случае успеха. Бросает ImagickException при ошибке.

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Класс Imagick


Displaces an image's colormap

Imagick::current
Imagick::decipherImage
Класс Imagick
PHP Manual

Imagick::cycleColormapImage

(PECL imagick 2.0.0)

Imagick::cycleColormapImage — Displaces an image's colormap

Описание

bool Imagick::cycleColormapImage ( int $displace )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Список параметров

displace

The amount to displace the colormap.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::current
Imagick::decipherImage
Класс Imagick


Deciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
Класс Imagick
PHP Manual

Imagick::decipherImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::decipherImage — Deciphers an image

Описание

bool Imagick::decipherImage ( string $passphrase )

Deciphers image that has been enciphered before. The image must be enciphered using Imagick::encipherImage(). Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.9 или старше.

Список параметров

passphrase

The passphrase

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::encipherImage() - Enciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
Класс Imagick


Returns certain pixel differences between images

Imagick::decipherImage
Imagick::deleteImageArtifact
Класс Imagick
PHP Manual

Imagick::deconstructImages

(PECL imagick 2.0.0)

Imagick::deconstructImages — Returns certain pixel differences between images

Описание

Imagick Imagick::deconstructImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Возвращаемые значения

Returns a new Imagick object on success. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::decipherImage
Imagick::deleteImageArtifact
Класс Imagick


Delete image artifact

Imagick::deconstructImages
Imagick::deskewImage
Класс Imagick
PHP Manual

Imagick::deleteImageArtifact

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::deleteImageArtifact — Delete image artifact

Описание

bool Imagick::deleteImageArtifact ( string $artifact )

Deletes an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.5.7 или старше.

Список параметров

artifact

The name of the artifact

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::getImageArtifact() - Get image artifact

Imagick::deconstructImages
Imagick::deskewImage
Класс Imagick


Removes skew from the image

Imagick::deleteImageArtifact
Imagick::despeckleImage
Класс Imagick
PHP Manual

Imagick::deskewImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::deskewImage — Removes skew from the image

Описание

public bool Imagick::deskewImage ( float $threshold )

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров

threshold

Deskew threshold

Возвращаемые значения

Imagick::deleteImageArtifact
Imagick::despeckleImage
Класс Imagick


Reduces the speckle noise in an image

Imagick::deskewImage
Imagick::destroy
Класс Imagick
PHP Manual

Imagick::despeckleImage

(PECL imagick 2.0.0)

Imagick::despeckleImage — Reduces the speckle noise in an image

Описание

bool Imagick::despeckleImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reduces the speckle noise in an image while preserving the edges of the original image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::deskewImage
Imagick::destroy
Класс Imagick


Удаляет объект Imagick

Imagick::despeckleImage
Imagick::displayImage
Класс Imagick
PHP Manual

Imagick::destroy

(PECL imagick 2.0.0)

Imagick::destroy — Удаляет объект Imagick

Описание

bool Imagick::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Удаляет объект Imagick и освобождает все ресурсы связанные с ним.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::despeckleImage
Imagick::displayImage
Класс Imagick


Выводит изображение

Imagick::destroy
Imagick::displayImages
Класс Imagick
PHP Manual

Imagick::displayImage

(PECL imagick 2.0.0)

Imagick::displayImage — Выводит изображение

Описание

bool Imagick::displayImage ( string $servername )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Данный метод выводит изображение на X сервер.

Список параметров

servername

Имя X сервера

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::destroy
Imagick::displayImages
Класс Imagick


Выводит изображение или последовательность изображений

Imagick::displayImage
Imagick::distortImage
Класс Imagick
PHP Manual

Imagick::displayImages

(PECL imagick 2.0.0)

Imagick::displayImages — Выводит изображение или последовательность изображений

Описание

bool Imagick::displayImages ( string $servername )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Выводит изображение или последовательность изображений на X сервер.

Список параметров

servername

Имя X сервера

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::displayImage
Imagick::distortImage
Класс Imagick


Distorts an image using various distortion methods

Imagick::displayImages
Imagick::drawImage
Класс Imagick
PHP Manual

Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImage — Distorts an image using various distortion methods

Описание

bool Imagick::distortImage ( int $method , array $arguments , bool $bestfit )

Distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usually of the same size as the source image, unless 'bestfit' is set to TRUE.

If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.

Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

method

The method of image distortion. See distortion constants

arguments

The arguments for this distortion method

bestfit

Attempt to resize destination to fit distorted source

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::distortImage():

Distort an image and display to the browser.

<?php
/* Create new object */
$im = new Imagick();

/* Create new checkerboard pattern */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Set the image format to png */
$im->setImageFormat('png');

/* Fill new visible areas with transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Activate matte */
$im->setImageMatte(true);

/* Control points for the distortion */
$controlPoints = array( 10, 10,
                        10, 5,

                        10, $im->getImageHeight() - 20,
                        10, $im->getImageHeight() - 5,

                        $im->getImageWidth() - 10, 10,
                        $im->getImageWidth() - 10, 20,

                        $im->getImageWidth() - 10, $im->getImageHeight() - 10,
                        $im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);

/* Ouput the image */
header("Content-Type: image/png");
echo $im;
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Using Imagick::distortImage()

Смотрите также

  • Imagick::blurImage() - Добавляет фильтр размытия к изображению
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::displayImages
Imagick::drawImage
Класс Imagick


Выполняет рендеринг объекта ImagickDraw на текущем изображении

Imagick::distortImage
Imagick::edgeImage
Класс Imagick
PHP Manual

Imagick::drawImage

(PECL imagick 2.0.0)

Imagick::drawImage — Выполняет рендеринг объекта ImagickDraw на текущем изображении

Описание

bool Imagick::drawImage ( ImagickDraw $draw )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Выполняет рендеринг объекта ImagickDraw на текущем изображении.

Список параметров

draw

Операции рисования выполняемые к изображению.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::distortImage
Imagick::edgeImage
Класс Imagick


Enhance edges within the image

Imagick::drawImage
Imagick::embossImage
Класс Imagick
PHP Manual

Imagick::edgeImage

(PECL imagick 2.0.0)

Imagick::edgeImage — Enhance edges within the image

Описание

bool Imagick::edgeImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Список параметров

radius

The radius of the operation.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::drawImage
Imagick::embossImage
Класс Imagick


Returns a grayscale image with a three-dimensional effect

Imagick::edgeImage
Imagick::encipherImage
Класс Imagick
PHP Manual

Imagick::embossImage

(PECL imagick 2.0.0)

Imagick::embossImage — Returns a grayscale image with a three-dimensional effect

Описание

bool Imagick::embossImage ( float $radius , float $sigma )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Список параметров

radius

The radius of the effect

sigma

The sigma of the effect

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::edgeImage
Imagick::encipherImage
Класс Imagick


Enciphers an image

Imagick::embossImage
Imagick::enhanceImage
Класс Imagick
PHP Manual

Imagick::encipherImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::encipherImage — Enciphers an image

Описание

bool Imagick::encipherImage ( string $passphrase )

Converts plain pixels to enciphered pixels. The image is not readable until it has been deciphered using Imagick::decipherImage() Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.9 или старше.

Список параметров

passphrase

The passphrase

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::decipherImage() - Deciphers an image

Imagick::embossImage
Imagick::enhanceImage
Класс Imagick


Improves the quality of a noisy image

Imagick::encipherImage
Imagick::equalizeImage
Класс Imagick
PHP Manual

Imagick::enhanceImage

(PECL imagick 2.0.0)

Imagick::enhanceImage — Improves the quality of a noisy image

Описание

bool Imagick::enhanceImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a digital filter that improves the quality of a noisy image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::encipherImage
Imagick::equalizeImage
Класс Imagick


Equalizes the image histogram

Imagick::enhanceImage
Imagick::evaluateImage
Класс Imagick
PHP Manual

Imagick::equalizeImage

(PECL imagick 2.0.0)

Imagick::equalizeImage — Equalizes the image histogram

Описание

bool Imagick::equalizeImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Equalizes the image histogram.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::enhanceImage
Imagick::evaluateImage
Класс Imagick


Applies an expression to an image

Imagick::equalizeImage
Imagick::exportImagePixels
Класс Imagick
PHP Manual

Imagick::evaluateImage

(PECL imagick 2.0.0)

Imagick::evaluateImage — Applies an expression to an image

Описание

bool Imagick::evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )

Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

Список параметров

op

The evaluation operator

constant

The value of the operator

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Примеры

Пример #1 Using Imagick::evaluateImage()

Using evaluateImage to reduce opacity in an image.

<?php
// Create new object with the image
$im = new Imagick('example-alpha.png');

// Reduce the alpha by 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Output the image
header("Content-Type: image/png");
echo $im;
?>

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::equalizeImage
Imagick::exportImagePixels
Класс Imagick


Exports raw image pixels

Imagick::evaluateImage
Imagick::extentImage
Класс Imagick
PHP Manual

Imagick::exportImagePixels

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::exportImagePixels — Exports raw image pixels

Описание

public array Imagick::exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )

Exports image pixels into an array. The map defines the ordering of the exported pixels. The size of the returned array is width * height * strlen(map). Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.7 или старше.

Список параметров

x

X-coordinate of the exported area

y

Y-coordinate of the exported area

width

Width of the exported aread

height

Height of the exported area

map

Ordering of the exported pixels. For example "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P.

STORAGE

Refer to this list of pixel type constants

Примеры

Пример #1 Using Imagick::exportImagePixels()

Export image pixels into an array

<?php

/* Create new object */
$im = new Imagick();

/* Create new image */
$im->newPseudoImage(0, 0, "magick:rose");

/* Export the image pixels */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Output */
var_dump($pixels);
?>

Результат выполнения данного примера:

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

Возвращаемые значения

Returns an array containing the pixels values.

Ошибки

Бросает ImagickException при ошибке.

Imagick::evaluateImage
Imagick::extentImage
Класс Imagick


Set image size

Imagick::exportImagePixels
Imagick::flattenImages
Класс Imagick
PHP Manual

Imagick::extentImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::extentImage — Set image size

Описание

bool Imagick::extentImage ( int $width , int $height , int $x , int $y )

Comfortability method for setting image size. The method sets the image size and allows setting x,y coordinates where the new area begins. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.1 или старше.

Список параметров

width

The new width

height

The new height

x

X position for the new size

y

Y position for the new size

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::cropImage() - Извлекает область изображения

Imagick::exportImagePixels
Imagick::flattenImages
Класс Imagick


Merges a sequence of images

Imagick::extentImage
Imagick::flipImage
Класс Imagick
PHP Manual

Imagick::flattenImages

(PECL imagick 2.0.0)

Imagick::flattenImages — Merges a sequence of images

Описание

Imagick Imagick::flattenImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Merges a sequence of images. This is useful for combining Photoshop layers into a single image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::extentImage
Imagick::flipImage
Класс Imagick


Создает вертикальное зеркало изображения

Imagick::flattenImages
Imagick::floodFillPaintImage
Класс Imagick
PHP Manual

Imagick::flipImage

(PECL imagick 2.0.0)

Imagick::flipImage — Создает вертикальное зеркало изображения

Описание

bool Imagick::flipImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает вертикальное зеркало изображения, отражая пиксели вокруг центральной оси X.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::flattenImages
Imagick::floodFillPaintImage
Класс Imagick


Changes the color value of any pixel that matches target

Imagick::flipImage
Imagick::flopImage
Класс Imagick
PHP Manual

Imagick::floodFillPaintImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target

Описание

bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.

Список параметров

fill

ImagickPixel object or a string containing the fill color

fuzz

Мера округления (fuzz). Например, установите значение fuzz в 10 и красный цвет с интенсивностями 100 и 102 соответственно будут интерпретироваться как один и тот же цвет.

target

ImagickPixel object or a string containing the target color to paint

x

X start position of the floodfill

y

Y start position of the floodfill

invert

If TRUE paints any pixel that does not match the target color.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Imagick::floodfillPaintImage() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Save the intermediate image for comparison */
$combined->writeImage("floodfillpaint_intermediate.png");

/* The target pixel to paint */
$x = 1;
$y = 1;

/* Get the color we are painting */
$target = $combined->getImagePixelColor($x, $y);

/* Paints pixel in position 1,1 black and all neighboring
   pixels that match the target color */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Imagick::floodfillPaintImage()
Output of example : Imagick::floodfillPaintImage()

Imagick::flipImage
Imagick::flopImage
Класс Imagick


Создает горизонтальное зеркало изображения

Imagick::floodFillPaintImage
Imagick::frameImage
Класс Imagick
PHP Manual

Imagick::flopImage

(PECL imagick 2.0.0)

Imagick::flopImage — Создает горизонтальное зеркало изображения

Описание

bool Imagick::flopImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает горизонтальное зеркало изображения, отражая пиксели вокруг центральной оси Y.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::floodFillPaintImage
Imagick::frameImage
Класс Imagick


Adds a simulated three-dimensional border

Imagick::flopImage
Imagick::functionImage
Класс Imagick
PHP Manual

Imagick::frameImage

(PECL imagick 2.0.0)

Imagick::frameImage — Adds a simulated three-dimensional border

Описание

bool Imagick::frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Список параметров

matte_color

ImagickPixel object or a string representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::flopImage
Imagick::functionImage
Класс Imagick


Applies a function on the image

Imagick::frameImage
Imagick::fxImage
Класс Imagick
PHP Manual

Imagick::functionImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::functionImage — Applies a function on the image

Описание

public bool Imagick::functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Applies an arithmetic, relational, or logical expression to an image. Use these operators to create lighter or darker versions of an image, to increase or decrease contrast in an image, or to negate the image colors. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.9 или старше.

Список параметров

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::frameImage
Imagick::fxImage
Класс Imagick


Evaluate expression for each pixel in the image

Imagick::functionImage
Imagick::gammaImage
Класс Imagick
PHP Manual

Imagick::fxImage

(PECL imagick 2.0.0)

Imagick::fxImage — Evaluate expression for each pixel in the image

Описание

Imagick Imagick::fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Evaluate expression for each pixel in the image. Consult » The Fx Special Effects Image Operator for more information.

Список параметров

expression

The expression.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::functionImage
Imagick::gammaImage
Класс Imagick


Gamma-corrects an image

Imagick::fxImage
Imagick::gaussianBlurImage
Класс Imagick
PHP Manual

Imagick::gammaImage

(PECL imagick 2.0.0)

Imagick::gammaImage — Gamma-corrects an image

Описание

bool Imagick::gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Список параметров

gamma

The amount of gamma-correction.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::fxImage
Imagick::gaussianBlurImage
Класс Imagick


Blurs an image

Imagick::gammaImage
Imagick::getColorspace
Класс Imagick
PHP Manual

Imagick::gaussianBlurImage

(PECL imagick 2.0.0)

Imagick::gaussianBlurImage — Blurs an image

Описание

bool Imagick::gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::gammaImage
Imagick::getColorspace
Класс Imagick


Возвращает цветовую палитру

Imagick::gaussianBlurImage
Imagick::getCompression
Класс Imagick
PHP Manual

Imagick::getColorspace

(PECL imagick 0.9.10-0.9.9)

Imagick::getColorspace — Возвращает цветовую палитру

Описание

int Imagick::getColorspace ( void )

Возвращает значение глобальной цветовой палитры. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.5.7 или старше.

Возвращаемые значения

Возвращает целое число, которое можно сравнить с константами COLORSPACE.

Imagick::gaussianBlurImage
Imagick::getCompression
Класс Imagick


Возвращает тип сжатия объекта

Imagick::getColorspace
Imagick::getCompressionQuality
Класс Imagick
PHP Manual

Imagick::getCompression

(PECL imagick 2.0.0)

Imagick::getCompression — Возвращает тип сжатия объекта

Описание

int Imagick::getCompression ( void )

Возвращает тип сжатия объекта.

Возвращаемые значения

Возвращает константу сжатия

Imagick::getColorspace
Imagick::getCompressionQuality
Класс Imagick


Возвращает качество сжатия объекта

Imagick::getCompression
Imagick::getCopyright
Класс Imagick
PHP Manual

Imagick::getCompressionQuality

(PECL imagick 2.0.0)

Imagick::getCompressionQuality — Возвращает качество сжатия объекта

Описание

int Imagick::getCompressionQuality ( void )

Возвращает качество сжатия объекта.

Возвращаемые значения

Возвращает число означающее качество сжатия

Imagick::getCompression
Imagick::getCopyright
Класс Imagick


Возвращает копирайт API ImageMagick в виде строки

Imagick::getCompressionQuality
Imagick::getFilename
Класс Imagick
PHP Manual

Imagick::getCopyright

(PECL imagick 2.0.0)

Imagick::getCopyright — Возвращает копирайт API ImageMagick в виде строки

Описание

string Imagick::getCopyright ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает копирайт API ImageMagick в виде строки.

Возвращаемые значения

Возвращает строку содержащую копирайт Imagemagick и Magickwand C API.

Imagick::getCompressionQuality
Imagick::getFilename
Класс Imagick


Имя файла результирующего изображения

Imagick::getCopyright
Imagick::getFont
Класс Imagick
PHP Manual

Imagick::getFilename

(PECL imagick 2.0.0)

Imagick::getFilename — Имя файла результирующего изображения

Описание

string Imagick::getFilename ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает имя файла связанное с результирующим изображением.

Возвращаемые значения

Возвращает строку в случае успеха. Бросает ImagickException при ошибке.

Imagick::getCopyright
Imagick::getFont
Класс Imagick


Возвращает название шрифта

Imagick::getFilename
Imagick::getFormat
Класс Imagick
PHP Manual

Imagick::getFont

(PECL imagick 2.1.0)

Imagick::getFont — Возвращает название шрифта

Описание

string Imagick::getFont ( void )

Возвращает значение шрифта объекта. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.7 или старше.

Возвращаемые значения

Возвращает строку содержащую название шрифта или FALSE, если шрифт не установлен.

Смотрите также

  • Imagick::setFont() - Sets font
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font

Imagick::getFilename
Imagick::getFormat
Класс Imagick


Возвращает формат Imagick объекта

Imagick::getFont
Imagick::getGravity
Класс Imagick
PHP Manual

Imagick::getFormat

(PECL imagick 2.0.0)

Imagick::getFormat — Возвращает формат Imagick объекта

Описание

string Imagick::getFormat ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает формат Imagick объекта.

Возвращаемые значения

Возвращает формат изображения. Бросает ImagickException при ошибке.

Imagick::getFont
Imagick::getGravity
Класс Imagick


Gets the gravity

Imagick::getFormat
Imagick::getHomeURL
Класс Imagick
PHP Manual

Imagick::getGravity

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getGravity — Gets the gravity

Описание

int Imagick::getGravity ( void )

Gets the global gravity property for the Imagick object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.0 или старше.

Возвращаемые значения

Returns the gravity property. Refer to the list of gravity constants.

Imagick::getFormat
Imagick::getHomeURL
Класс Imagick


Returns the ImageMagick home URL

Imagick::getGravity
Imagick::getImage
Класс Imagick
PHP Manual

Imagick::getHomeURL

(PECL imagick 2.0.0)

Imagick::getHomeURL — Returns the ImageMagick home URL

Описание

string Imagick::getHomeURL ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the ImageMagick home URL.

Возвращаемые значения

Returns a link to the imagemagick homepage.

Imagick::getGravity
Imagick::getImage
Класс Imagick


Returns a new Imagick object

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Класс Imagick
PHP Manual

Imagick::getImage

(PECL imagick 2.0.0)

Imagick::getImage — Returns a new Imagick object

Описание

Imagick Imagick::getImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a new Imagick object with the current image sequence.

Возвращаемые значения

Returns a new Imagick object with the current image sequence. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Класс Imagick


Gets the image alpha channel

Imagick::getImage
Imagick::getImageArtifact
Класс Imagick
PHP Manual

Imagick::getImageAlphaChannel

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageAlphaChannel — Gets the image alpha channel

Описание

int Imagick::getImageAlphaChannel ( void )

Gets the image alpha channel value. The returned value is one of the alpha channel constants. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.0 или старше.

Возвращаемые значения

Returns a constant defining the current alpha channel value. Refer to this list of alpha channel constants.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImage
Imagick::getImageArtifact
Класс Imagick


Get image artifact

Imagick::getImageAlphaChannel
Imagick::getImageBackgroundColor
Класс Imagick
PHP Manual

Imagick::getImageArtifact

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageArtifact — Get image artifact

Описание

string Imagick::getImageArtifact ( string $artifact )

Gets an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.5.7 или старше.

Список параметров

artifact

The name of the artifact

Возвращаемые значения

Returns the artifact value on success. Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact

Imagick::getImageAlphaChannel
Imagick::getImageBackgroundColor
Класс Imagick


Returns the image background color

Imagick::getImageArtifact
Imagick::getImageBlob
Класс Imagick
PHP Manual

Imagick::getImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::getImageBackgroundColor — Returns the image background color

Описание

ImagickPixel Imagick::getImageBackgroundColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image background color.

Возвращаемые значения

Returns an ImagickPixel set to the background color of the image. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageArtifact
Imagick::getImageBlob
Класс Imagick


Returns the image sequence as a blob

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Класс Imagick
PHP Manual

Imagick::getImageBlob

(PECL imagick 2.0.0)

Imagick::getImageBlob — Returns the image sequence as a blob

Описание

string Imagick::getImageBlob ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Implements direct to memory image formats. It returns the image sequence as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Возвращаемые значения

Returns a string containing the image. Бросает ImagickException при ошибке.

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Класс Imagick


Returns the chromaticy blue primary point

Imagick::getImageBlob
Imagick::getImageBorderColor
Класс Imagick
PHP Manual

Imagick::getImageBluePrimary

(PECL imagick 2.0.0)

Imagick::getImageBluePrimary — Returns the chromaticy blue primary point

Описание

array Imagick::getImageBluePrimary ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the chromaticity blue primary point for the image.

Список параметров

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Возвращаемые значения

Array consisting of "x" and "y" coordinates of point.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageBlob
Imagick::getImageBorderColor
Класс Imagick


Returns the image border color

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Класс Imagick
PHP Manual

Imagick::getImageBorderColor

(PECL imagick 2.0.0)

Imagick::getImageBorderColor — Returns the image border color

Описание

ImagickPixel Imagick::getImageBorderColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image border color.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Класс Imagick


Gets the depth for a particular image channel

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Класс Imagick
PHP Manual

Imagick::getImageChannelDepth

(PECL imagick 2.0.0)

Imagick::getImageChannelDepth — Gets the depth for a particular image channel

Описание

int Imagick::getImageChannelDepth ( int $channel )

Gets the depth for a particular image channel.

Список параметров

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Класс Imagick


Compares image channels of an image to a reconstructed image

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Класс Imagick
PHP Manual

Imagick::getImageChannelDistortion

(PECL imagick 2.0.0)

Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image

Описание

float Imagick::getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.

Список параметров

reference

Imagick object to compare to.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metric

One of the metric type constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Класс Imagick


Gets channel distortions

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Класс Imagick
PHP Manual

Imagick::getImageChannelDistortions

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageChannelDistortions — Gets channel distortions

Описание

float Imagick::getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metrics Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.4 или старше.

Список параметров

reference

Imagick object containing the reference image

metric

Refer to this list of metric type constants.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

Returns a double describing the channel distortion.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Класс Imagick


Gets the extrema for one or more image channels

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Класс Imagick
PHP Manual

Imagick::getImageChannelExtrema

(PECL imagick 2.0.0)

Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels

Описание

array Imagick::getImageChannelExtrema ( int $channel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the extrema for one or more image channels. Return value is an associative array with the keys "minima" and "maxima".

Список параметров

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Класс Imagick


The getImageChannelKurtosis purpose

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Класс Imagick
PHP Manual

Imagick::getImageChannelKurtosis

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose

Описание

public array Imagick::getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )

Get the kurtosis and skewness of a specific channel. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.9 или старше.

Список параметров

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

Returns an array with kurtosis and skewness members.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Класс Imagick


Gets the mean and standard deviation

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Класс Imagick
PHP Manual

Imagick::getImageChannelMean

(PECL imagick 2.0.0)

Imagick::getImageChannelMean — Gets the mean and standard deviation

Описание

array Imagick::getImageChannelMean ( int $channel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the mean and standard deviation of one or more image channels. Return value is an associative array with the keys "mean" and "standardDeviation".

Список параметров

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Класс Imagick


Gets channel range

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Класс Imagick
PHP Manual

Imagick::getImageChannelRange

(PECL imagick 2.2.1)

Imagick::getImageChannelRange — Gets channel range

Описание

array Imagick::getImageChannelRange ( int $channel )

Gets the range for one or more image channels. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.0 или старше.

Список параметров

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

Returns an array containing minima and maxima values of the channel(s).

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Класс Imagick


Returns statistics for each channel in the image

Imagick::getImageChannelRange
Imagick::getImageClipMask
Класс Imagick
PHP Manual

Imagick::getImageChannelStatistics

(PECL imagick 2.0.0)

Imagick::getImageChannelStatistics — Returns statistics for each channel in the image

Описание

array Imagick::getImageChannelStatistics ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns statistics for each channel in the image. The statistics include the channel depth, its minima and maxima, the mean, and the standard deviation. You can access the red channel mean, for example, like this:

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::getImageChannelRange
Imagick::getImageClipMask
Класс Imagick


Gets image clip mask

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Класс Imagick
PHP Manual

Imagick::getImageClipMask

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageClipMask — Gets image clip mask

Описание

Imagick Imagick::getImageClipMask ( void )

Returns the image clip mask. The clip mask is an Imagick object containing the clip mask. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Возвращаемые значения

Returns an Imagick object containing the clip mask. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Класс Imagick


Returns the color of the specified colormap index

Imagick::getImageClipMask
Imagick::getImageColors
Класс Imagick
PHP Manual

Imagick::getImageColormapColor

(PECL imagick 2.0.0)

Imagick::getImageColormapColor — Returns the color of the specified colormap index

Описание

ImagickPixel Imagick::getImageColormapColor ( int $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color of the specified colormap index.

Список параметров

index

The offset into the image colormap.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageClipMask
Imagick::getImageColors
Класс Imagick


Gets the number of unique colors in the image

Imagick::getImageColormapColor
Imagick::getImageColorspace
Класс Imagick
PHP Manual

Imagick::getImageColors

(PECL imagick 2.0.0)

Imagick::getImageColors — Gets the number of unique colors in the image

Описание

int Imagick::getImageColors ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the number of unique colors in the image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::getImageColormapColor
Imagick::getImageColorspace
Класс Imagick


Gets the image colorspace

Imagick::getImageColors
Imagick::getImageCompose
Класс Imagick
PHP Manual

Imagick::getImageColorspace

(PECL imagick 2.0.0)

Imagick::getImageColorspace — Gets the image colorspace

Описание

int Imagick::getImageColorspace ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image colorspace.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::getImageColors
Imagick::getImageCompose
Класс Imagick


Returns the composite operator associated with the image

Imagick::getImageColorspace
Imagick::getImageCompression
Класс Imagick
PHP Manual

Imagick::getImageCompose

(PECL imagick 2.0.0)

Imagick::getImageCompose — Returns the composite operator associated with the image

Описание

int Imagick::getImageCompose ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the composite operator associated with the image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::getImageColorspace
Imagick::getImageCompression
Класс Imagick


Gets the current image's compression type

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Класс Imagick
PHP Manual

Imagick::getImageCompression

(PECL imagick 2.2.2)

Imagick::getImageCompression — Gets the current image's compression type

Описание

int Imagick::getImageCompression ( void )

Gets the current image's compression type.

Возвращаемые значения

Returns the compression constant

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Класс Imagick


Gets the current image's compression quality

Imagick::getImageCompression
Imagick::getImageDelay
Класс Imagick
PHP Manual

Imagick::getImageCompressionQuality

(PECL imagick 2.2.2)

Imagick::getImageCompressionQuality — Gets the current image's compression quality

Описание

int Imagick::getCompressionQuality ( void )

Gets the current image's compression quality

Возвращаемые значения

Returns integer describing the images compression quality

Imagick::getImageCompression
Imagick::getImageDelay
Класс Imagick


Gets the image delay

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Класс Imagick
PHP Manual

Imagick::getImageDelay

(PECL imagick 2.0.0)

Imagick::getImageDelay — Gets the image delay

Описание

int Imagick::getImageDelay ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image delay.

Возвращаемые значения

Returns the image delay. Бросает ImagickException при ошибке.

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Класс Imagick


Gets the image depth

Imagick::getImageDelay
Imagick::getImageDispose
Класс Imagick
PHP Manual

Imagick::getImageDepth

(PECL imagick 0.9.1-0.9.9)

Imagick::getImageDepth — Gets the image depth

Описание

int Imagick::getImageDepth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image depth.

Возвращаемые значения

The image depth.

Imagick::getImageDelay
Imagick::getImageDispose
Класс Imagick


Gets the image disposal method

Imagick::getImageDepth
Imagick::getImageDistortion
Класс Imagick
PHP Manual

Imagick::getImageDispose

(PECL imagick 2.0.0)

Imagick::getImageDispose — Gets the image disposal method

Описание

int Imagick::getImageDispose ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image disposal method.

Возвращаемые значения

Returns the dispose method on success. Бросает ImagickException при ошибке.

Imagick::getImageDepth
Imagick::getImageDistortion
Класс Imagick


Compares an image to a reconstructed image

Imagick::getImageDispose
Imagick::getImageExtrema
Класс Imagick
PHP Manual

Imagick::getImageDistortion

(PECL imagick 2.0.0)

Imagick::getImageDistortion — Compares an image to a reconstructed image

Описание

float Imagick::getImageDistortion ( MagickWand $reference , int $metric )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Compares an image to a reconstructed image and returns the specified distortion metric.

Список параметров

reference

Imagick object to compare to.

metric

One of the metric type constants.

Возвращаемые значения

Returns the distortion metric used on the image (or the best guess thereof). Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageDispose
Imagick::getImageExtrema
Класс Imagick


Gets the extrema for the image

Imagick::getImageDistortion
Imagick::getImageFilename
Класс Imagick
PHP Manual

Imagick::getImageExtrema

(PECL imagick 2.0.0)

Imagick::getImageExtrema — Gets the extrema for the image

Описание

array Imagick::getImageExtrema ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the extrema for the image. Returns an associative array with the keys "min" and "max".

Возвращаемые значения

Returns an associative array with the keys "min" and "max". Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageDistortion
Imagick::getImageFilename
Класс Imagick


Returns the filename of a particular image in a sequence

Imagick::getImageExtrema
Imagick::getImageFormat
Класс Imagick
PHP Manual

Imagick::getImageFilename

(PECL imagick 2.0.0)

Imagick::getImageFilename — Returns the filename of a particular image in a sequence

Описание

string Imagick::getImageFilename ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the filename of a particular image in a sequence.

Возвращаемые значения

Returns a string with the filename of the image. Бросает ImagickException при ошибке.

Imagick::getImageExtrema
Imagick::getImageFormat
Класс Imagick


Returns the format of a particular image in a sequence

Imagick::getImageFilename
Imagick::getImageGamma
Класс Imagick
PHP Manual

Imagick::getImageFormat

(PECL imagick 2.0.0)

Imagick::getImageFormat — Returns the format of a particular image in a sequence

Описание

string Imagick::getImageFormat ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the format of a particular image in a sequence.

Возвращаемые значения

Returns a string containing the image format on success. Бросает ImagickException при ошибке.

Imagick::getImageFilename
Imagick::getImageGamma
Класс Imagick


Gets the image gamma

Imagick::getImageFormat
Imagick::getImageGeometry
Класс Imagick
PHP Manual

Imagick::getImageGamma

(PECL imagick 2.0.0)

Imagick::getImageGamma — Gets the image gamma

Описание

float Imagick::getImageGamma ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image gamma.

Возвращаемые значения

Returns the image gamma on success. Бросает ImagickException при ошибке.

Imagick::getImageFormat
Imagick::getImageGeometry
Класс Imagick


Gets the width and height as an associative array

Imagick::getImageGamma
Imagick::getImageGravity
Класс Imagick
PHP Manual

Imagick::getImageGeometry

(PECL imagick 2.0.0)

Imagick::getImageGeometry — Gets the width and height as an associative array

Описание

array Imagick::getImageGeometry ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the width and height as an associative array.

Возвращаемые значения

Returns an array with the width/height of the image. Бросает ImagickException при ошибке.

Imagick::getImageGamma
Imagick::getImageGravity
Класс Imagick


Gets the image gravity

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Класс Imagick
PHP Manual

Imagick::getImageGravity

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getImageGravity — Gets the image gravity

Описание

int Imagick::getImageGravity ( void )

Gets the current gravity value of the image. Unlike Imagick::getGravity(), this method returns the gravity defined for the current image sequence. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.4 или старше.

Возвращаемые значения

Returns the images gravity property. Refer to the list of gravity constants.

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Класс Imagick


Returns the chromaticy green primary point

Imagick::getImageGravity
Imagick::getImageHeight
Класс Imagick
PHP Manual

Imagick::getImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::getImageGreenPrimary — Returns the chromaticy green primary point

Описание

array Imagick::getImageGreenPrimary ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Возвращаемые значения

Returns an array with the keys "x" and "y" on success, throws an ImagickException on failure.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageGravity
Imagick::getImageHeight
Класс Imagick


Returns the image height

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Класс Imagick
PHP Manual

Imagick::getImageHeight

(PECL imagick 2.0.0)

Imagick::getImageHeight — Returns the image height

Описание

int Imagick::getImageHeight ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image height.

Возвращаемые значения

Returns the image height in pixels. Бросает ImagickException при ошибке.

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Класс Imagick


Gets the image histogram

Imagick::getImageHeight
Imagick::getImageIndex
Класс Imagick
PHP Manual

Imagick::getImageHistogram

(PECL imagick 2.0.0)

Imagick::getImageHistogram — Gets the image histogram

Описание

array Imagick::getImageHistogram ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image histogram as an array of ImagickPixel objects.

Возвращаемые значения

Returns the image histogram as an array of ImagickPixel objects. Бросает ImagickException при ошибке.

Imagick::getImageHeight
Imagick::getImageIndex
Класс Imagick


Gets the index of the current active image

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Класс Imagick
PHP Manual

Imagick::getImageIndex

(PECL imagick 2.0.0)

Imagick::getImageIndex — Gets the index of the current active image

Описание

int Imagick::getImageIndex ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the index of the current active image within the Imagick object. This method has been deprecated. See Imagick::getIteratorIndex

Возвращаемые значения

Returns an integer containing the index of the image in the stack. Бросает ImagickException при ошибке.

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Класс Imagick


Gets the image interlace scheme

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Класс Imagick
PHP Manual

Imagick::getImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getImageInterlaceScheme — Gets the image interlace scheme

Описание

int Imagick::getImageInterlaceScheme ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image interlace scheme.

Возвращаемые значения

Returns the interlace scheme as an integer on success. Бросает ImagickException при ошибке.

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Класс Imagick


Returns the interpolation method

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Класс Imagick
PHP Manual

Imagick::getImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::getImageInterpolateMethod — Returns the interpolation method

Описание

int Imagick::getImageInterpolateMethod ( void )

Returns the interpolation method for the specified image. The method is one of the Imagick::INTERPOLATE_* constants.

Возвращаемые значения

Returns the interpolate method on success. Бросает ImagickException при ошибке.

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Класс Imagick


Gets the image iterations

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Класс Imagick
PHP Manual

Imagick::getImageIterations

(PECL imagick 2.0.0)

Imagick::getImageIterations — Gets the image iterations

Описание

int Imagick::getImageIterations ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image iterations.

Возвращаемые значения

Returns the image iterations as an integer. Бросает ImagickException при ошибке.

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Класс Imagick


Returns the image length in bytes

Imagick::getImageIterations
Imagick::getImageMagickLicense
Класс Imagick
PHP Manual

Imagick::getImageLength

(PECL imagick 2.0.0)

Imagick::getImageLength — Returns the image length in bytes

Описание

int Imagick::getImageLength ( void )

Returns the image length in bytes

Возвращаемые значения

Returns an int containing the current image size.

Примеры

Пример #1 Using Imagick::getImageLength():

Getting image length in bytes

<?php
$image = new Imagick('test.jpg');
echo $image->getImageLength() . ' bytes';
?>

Imagick::getImageIterations
Imagick::getImageMagickLicense
Класс Imagick


Returns a string containing the ImageMagick license

Imagick::getImageLength
Imagick::getImageMatte
Класс Imagick
PHP Manual

Imagick::getImageMagickLicense

(PECL imagick 2.0.0)

Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license

Описание

string Imagick::getImageMagickLicense ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a string containing the ImageMagick license

Возвращаемые значения

Returns a string containing the ImageMagick license.

Imagick::getImageLength
Imagick::getImageMatte
Класс Imagick


Return if the image has a matte channel

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Класс Imagick
PHP Manual

Imagick::getImageMatte

(PECL imagick 2.0.0)

Imagick::getImageMatte — Return if the image has a matte channel

Описание

bool Imagick::getImageMatte ( void )

Returns TRUE if the image has a matte channel otherwise false. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Класс Imagick


Returns the image matte color

Imagick::getImageMatte
Imagick::getImageOrientation
Класс Imagick
PHP Manual

Imagick::getImageMatteColor

(PECL imagick 2.0.0)

Imagick::getImageMatteColor — Returns the image matte color

Описание

ImagickPixel Imagick::getImageMatteColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image matte color.

Возвращаемые значения

Returns ImagickPixel object on success. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageMatte
Imagick::getImageOrientation
Класс Imagick


Gets the image orientation

Imagick::getImageMatteColor
Imagick::getImagePage
Класс Imagick
PHP Manual

Imagick::getImageOrientation

(PECL imagick 2.0.0)

Imagick::getImageOrientation — Gets the image orientation

Описание

int Imagick::getImageOrientation ( void )

Gets the image orientation. The return value is one of the orientation constants.

Возвращаемые значения

Returns an int on success. Бросает ImagickException при ошибке.

Imagick::getImageMatteColor
Imagick::getImagePage
Класс Imagick


Returns the page geometry

Imagick::getImageOrientation
Imagick::getImagePixelColor
Класс Imagick
PHP Manual

Imagick::getImagePage

(PECL imagick 2.0.0)

Imagick::getImagePage — Returns the page geometry

Описание

array Imagick::getImagePage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Возвращаемые значения

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageOrientation
Imagick::getImagePixelColor
Класс Imagick


Returns the color of the specified pixel

Imagick::getImagePage
Imagick::getImageProfile
Класс Imagick
PHP Manual

Imagick::getImagePixelColor

(PECL imagick 2.0.0)

Imagick::getImagePixelColor — Returns the color of the specified pixel

Описание

ImagickPixel Imagick::getImagePixelColor ( int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color of the specified pixel.

Список параметров

x

The x-coordinate of the pixel

y

The y-coordinate of the pixel

Возвращаемые значения

Returns an ImagickPixel instance for the color at the coordinates given. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImagePage
Imagick::getImageProfile
Класс Imagick


Returns the named image profile

Imagick::getImagePixelColor
Imagick::getImageProfiles
Класс Imagick
PHP Manual

Imagick::getImageProfile

(PECL imagick 2.0.0)

Imagick::getImageProfile — Returns the named image profile

Описание

string Imagick::getImageProfile ( string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the named image profile.

Список параметров

name

The name of the profile to return.

Возвращаемые значения

Returns a string containing the image profile. Бросает ImagickException при ошибке.

Imagick::getImagePixelColor
Imagick::getImageProfiles
Класс Imagick


Returns the image profiles

Imagick::getImageProfile
Imagick::getImageProperties
Класс Imagick
PHP Manual

Imagick::getImageProfiles

(PECL imagick 2.0.0)

Imagick::getImageProfiles — Returns the image profiles

Описание

array Imagick::getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )

Returns all associated profiles that match the pattern. If TRUE is passed as second parameter only the profile names are returned. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

pattern

The pattern for profile names.

only_names

Whether to return only profile names. If FALSE then values are returned as well

Возвращаемые значения

Returns an array containing the image profiles or profile names.

Imagick::getImageProfile
Imagick::getImageProperties
Класс Imagick


Returns the image properties

Imagick::getImageProfiles
Imagick::getImageProperty
Класс Imagick
PHP Manual

Imagick::getImageProperties

(PECL imagick 2.0.0)

Imagick::getImageProperties — Returns the image properties

Описание

array Imagick::getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )

Returns all associated properties that match the pattern. If TRUE is passed as second parameter only the property names are returned. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

pattern

The pattern for property names.

only_names

Whether to return only property names. If FALSE then also the values are returned

Возвращаемые значения

Returns an array containing the image properties or property names.

Примеры

Пример #1 Using Imagick::getImageProperties():

An example of extracting EXIF information.

<?php

/* Create the object */
$im = new imagick("/path/to/example.jpg");

/* Get the EXIF information */
$exifArray = $im->getImageProperties("exif:*");

/* Loop trough the EXIF properties */
foreach ($exifArray as $name => $property)
{
    echo "{$name} => {$property}<br />\n";
}

?>

Imagick::getImageProfiles
Imagick::getImageProperty
Класс Imagick


Returns the named image property

Imagick::getImageProperties
Imagick::getImageRedPrimary
Класс Imagick
PHP Manual

Imagick::getImageProperty

(PECL imagick 2.0.0)

Imagick::getImageProperty — Returns the named image property

Описание

string Imagick::getImageProperty ( string $name )

Returns the named image property. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.2 или старше.

Список параметров

name

name of the property (for example Exif:DateTime)

Примеры

Пример #1 Using Imagick::getImageProperty():

Setting and getting image property

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Смотрите также

  • Imagick::setImageProperty() - Sets an image property

Возвращаемые значения

Returns a string containing the image property, false if a property with the given name does not exist.

Imagick::getImageProperties
Imagick::getImageRedPrimary
Класс Imagick


Returns the chromaticity red primary point

Imagick::getImageProperty
Imagick::getImageRegion
Класс Imagick
PHP Manual

Imagick::getImageRedPrimary

(PECL imagick 2.0.0)

Imagick::getImageRedPrimary — Returns the chromaticity red primary point

Описание

array Imagick::getImageRedPrimary ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Возвращаемые значения

Returns the chromaticity red primary point as an array with the keys "x" and "y". Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageProperty
Imagick::getImageRegion
Класс Imagick


Extracts a region of the image

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Класс Imagick
PHP Manual

Imagick::getImageRegion

(PECL imagick 2.0.0)

Imagick::getImageRegion — Extracts a region of the image

Описание

Imagick Imagick::getImageRegion ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Extracts a region of the image and returns it as a new Imagick object.

Список параметров

width

The width of the extracted region.

height

The height of the extracted region.

x

X-coordinate of the top-left corner of the extracted region.

y

Y-coordinate of the top-left corner of the extracted region.

Возвращаемые значения

Extracts a region of the image and returns it as a new wand. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Класс Imagick


Gets the image rendering intent

Imagick::getImageRegion
Imagick::getImageResolution
Класс Imagick
PHP Manual

Imagick::getImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::getImageRenderingIntent — Gets the image rendering intent

Описание

int Imagick::getImageRenderingIntent ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image rendering intent.

Возвращаемые значения

Returns the image rendering intent. Бросает ImagickException при ошибке.

Imagick::getImageRegion
Imagick::getImageResolution
Класс Imagick


Gets the image X and Y resolution

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Класс Imagick
PHP Manual

Imagick::getImageResolution

(PECL imagick 2.0.0)

Imagick::getImageResolution — Gets the image X and Y resolution

Описание

array Imagick::getImageResolution ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image X and Y resolution.

Возвращаемые значения

Returns the resolution as an array. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Класс Imagick


Returns all image sequences as a blob

Imagick::getImageResolution
Imagick::getImageScene
Класс Imagick
PHP Manual

Imagick::getImagesBlob

(PECL imagick 2.0.0)

Imagick::getImagesBlob — Returns all image sequences as a blob

Описание

string Imagick::getImagesBlob ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Implements direct to memory image formats. It returns all image sequences as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Возвращаемые значения

Returns a string containing the images. On failure, throws ImagickException.

Imagick::getImageResolution
Imagick::getImageScene
Класс Imagick


Gets the image scene

Imagick::getImagesBlob
Imagick::getImageSignature
Класс Imagick
PHP Manual

Imagick::getImageScene

(PECL imagick 2.0.0)

Imagick::getImageScene — Gets the image scene

Описание

int Imagick::getImageScene ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image scene.

Возвращаемые значения

Returns the image scene. Бросает ImagickException при ошибке.

Imagick::getImagesBlob
Imagick::getImageSignature
Класс Imagick


Generates an SHA-256 message digest

Imagick::getImageScene
Imagick::getImageSize
Класс Imagick
PHP Manual

Imagick::getImageSignature

(PECL imagick 2.0.0)

Imagick::getImageSignature — Generates an SHA-256 message digest

Описание

string Imagick::getImageSignature ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Generates an SHA-256 message digest for the image pixel stream.

Возвращаемые значения

Returns a string containing the SHA-256 hash of the file. Бросает ImagickException при ошибке.

Imagick::getImageScene
Imagick::getImageSize
Класс Imagick


Returns the image length in bytes

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Класс Imagick
PHP Manual

Imagick::getImageSize

(PECL imagick 2.0.0)

Imagick::getImageSize — Returns the image length in bytes

Описание

int Imagick::getImageSize ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image length in bytes

Возвращаемые значения

Returns an int containing the current image size.

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Класс Imagick


Gets the image ticks-per-second

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Класс Imagick
PHP Manual

Imagick::getImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::getImageTicksPerSecond — Gets the image ticks-per-second

Описание

int Imagick::getImageTicksPerSecond ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image ticks-per-second.

Возвращаемые значения

Returns the image ticks-per-second. Бросает ImagickException при ошибке.

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Класс Imagick


Gets the image total ink density

Imagick::getImageTicksPerSecond
Imagick::getImageType
Класс Imagick
PHP Manual

Imagick::getImageTotalInkDensity

(PECL imagick 2.0.0)

Imagick::getImageTotalInkDensity — Gets the image total ink density

Описание

float Imagick::getImageTotalInkDensity ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image total ink density.

Возвращаемые значения

Returns the image total ink density of the image. Бросает ImagickException при ошибке.

Imagick::getImageTicksPerSecond
Imagick::getImageType
Класс Imagick


Gets the potential image type

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Класс Imagick
PHP Manual

Imagick::getImageType

(PECL imagick 0.9.10-0.9.9)

Imagick::getImageType — Gets the potential image type

Описание

int Imagick::getImageType ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the potential image type.

Возвращаемые значения

Returns the potential image type. Бросает ImagickException при ошибке.

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Класс Imagick


Gets the image units of resolution

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Класс Imagick
PHP Manual

Imagick::getImageUnits

(PECL imagick 2.0.0)

Imagick::getImageUnits — Gets the image units of resolution

Описание

int Imagick::getImageUnits ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image units of resolution.

Возвращаемые значения

Returns the image units of resolution. Бросает ImagickException при ошибке.

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Класс Imagick


Returns the virtual pixel method

Imagick::getImageUnits
Imagick::getImageWhitePoint
Класс Imagick
PHP Manual

Imagick::getImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method

Описание

int Imagick::getImageVirtualPixelMethod ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the virtual pixel method for the specified image.

Возвращаемые значения

Returns the virtual pixel method on success. Бросает ImagickException при ошибке.

Imagick::getImageUnits
Imagick::getImageWhitePoint
Класс Imagick


Returns the chromaticity white point

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Класс Imagick
PHP Manual

Imagick::getImageWhitePoint

(PECL imagick 2.0.0)

Imagick::getImageWhitePoint — Returns the chromaticity white point

Описание

array Imagick::getImageWhitePoint ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Возвращаемые значения

Returns the chromaticity white point as an associative array with the keys "x" and "y". Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Класс Imagick


Returns the image width

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Класс Imagick
PHP Manual

Imagick::getImageWidth

(PECL imagick 2.0.0)

Imagick::getImageWidth — Returns the image width

Описание

int Imagick::getImageWidth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the image width.

Возвращаемые значения

Returns the image width. Бросает ImagickException при ошибке.

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Класс Imagick


Gets the object interlace scheme

Imagick::getImageWidth
Imagick::getIteratorIndex
Класс Imagick
PHP Manual

Imagick::getInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getInterlaceScheme — Gets the object interlace scheme

Описание

int Imagick::getInterlaceScheme ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the object interlace scheme.

Возвращаемые значения

Gets the wand interlace scheme. Бросает ImagickException при ошибке.

Imagick::getImageWidth
Imagick::getIteratorIndex
Класс Imagick


Gets the index of the current active image

Imagick::getInterlaceScheme
Imagick::getNumberImages
Класс Imagick
PHP Manual

Imagick::getIteratorIndex

(PECL imagick 2.0.0)

Imagick::getIteratorIndex — Gets the index of the current active image

Описание

int Imagick::getIteratorIndex ( void )

Returns the index of the current active image within the Imagick object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

Returns an integer containing the index of the image in the stack. Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::getIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Смотрите также

  • Imagick::setIteratorIndex() - Set the iterator position
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position

Imagick::getInterlaceScheme
Imagick::getNumberImages
Класс Imagick


Returns the number of images in the object

Imagick::getIteratorIndex
Imagick::getOption
Класс Imagick
PHP Manual

Imagick::getNumberImages

(PECL imagick 2.0.0)

Imagick::getNumberImages — Returns the number of images in the object

Описание

int Imagick::getNumberImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the number of images associated with Imagick object.

Возвращаемые значения

Returns the number of images associated with Imagick object. Бросает ImagickException при ошибке.

Imagick::getIteratorIndex
Imagick::getOption
Класс Imagick


Returns a value associated with the specified key

Imagick::getNumberImages
Imagick::getPackageName
Класс Imagick
PHP Manual

Imagick::getOption

(PECL imagick 2.0.0)

Imagick::getOption — Returns a value associated with the specified key

Описание

string Imagick::getOption ( string $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a value associated within the object for the specified key.

Список параметров

key

The name of the option

Возвращаемые значения

Returns a value associated with a wand and the specified key. Бросает ImagickException при ошибке.

Imagick::getNumberImages
Imagick::getPackageName
Класс Imagick


Returns the ImageMagick package name

Imagick::getOption
Imagick::getPage
Класс Imagick
PHP Manual

Imagick::getPackageName

(PECL imagick 2.0.0)

Imagick::getPackageName — Returns the ImageMagick package name

Описание

string Imagick::getPackageName ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the ImageMagick package name.

Возвращаемые значения

Returns the ImageMagick package name as a string. Бросает ImagickException при ошибке.

Imagick::getOption
Imagick::getPage
Класс Imagick


Returns the page geometry

Imagick::getPackageName
Imagick::getPixelIterator
Класс Imagick
PHP Manual

Imagick::getPage

(PECL imagick 2.0.0)

Imagick::getPage — Returns the page geometry

Описание

array Imagick::getPage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y".

Возвращаемые значения

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y", throwing ImagickException on error.

Imagick::getPackageName
Imagick::getPixelIterator
Класс Imagick


Returns a MagickPixelIterator

Imagick::getPage
Imagick::getPixelRegionIterator
Класс Imagick
PHP Manual

Imagick::getPixelIterator

(PECL imagick 2.0.0)

Imagick::getPixelIterator — Returns a MagickPixelIterator

Описание

ImagickPixelIterator Imagick::getPixelIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a MagickPixelIterator.

Возвращаемые значения

Returns an ImagickPixelIterator on success. Бросает ImagickException при ошибке.

Imagick::getPage
Imagick::getPixelRegionIterator
Класс Imagick


Get an ImagickPixelIterator for an image section

Imagick::getPixelIterator
Imagick::getPointSize
Класс Imagick
PHP Manual

Imagick::getPixelRegionIterator

(PECL imagick 2.0.0)

Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section

Описание

ImagickPixelIterator Imagick::getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get an ImagickPixelIterator for an image section.

Список параметров

x

The x-coordinate of the region.

y

The y-coordinate of the region.

columns

The width of the region.

rows

The height of the region.

Возвращаемые значения

Returns an ImagickPixelIterator for an image section. Бросает ImagickException при ошибке.

Imagick::getPixelIterator
Imagick::getPointSize
Класс Imagick


Gets point size

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
Класс Imagick
PHP Manual

Imagick::getPointSize

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::getPointSize — Gets point size

Описание

float Imagick::getPointSize ( void )

Returns the objects point size property. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.7 или старше.

Возвращаемые значения

Returns a float containing the point size.

Смотрите также

  • Imagick::setPointSize() - Sets point size

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
Класс Imagick


Gets the quantum depth

Imagick::getPointSize
Imagick::getQuantumRange
Класс Imagick
PHP Manual

Imagick::getQuantumDepth

(PECL imagick 2.0.0)

Imagick::getQuantumDepth — Gets the quantum depth

Описание

array Imagick::getQuantumDepth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the Imagick quantum depth as a string.

Возвращаемые значения

Returns the Imagick quantum depth as a string. Бросает ImagickException при ошибке.

Imagick::getPointSize
Imagick::getQuantumRange
Класс Imagick


Returns the Imagick quantum range

Imagick::getQuantumDepth
Imagick::getReleaseDate
Класс Imagick
PHP Manual

Imagick::getQuantumRange

(PECL imagick 2.0.0)

Imagick::getQuantumRange — Returns the Imagick quantum range

Описание

array Imagick::getQuantumRange ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the Imagick quantum range as a string.

Возвращаемые значения

Returns the Imagick quantum range as a string. Бросает ImagickException при ошибке.

Imagick::getQuantumDepth
Imagick::getReleaseDate
Класс Imagick


Returns the ImageMagick release date

Imagick::getQuantumRange
Imagick::getResource
Класс Imagick
PHP Manual

Imagick::getReleaseDate

(PECL imagick 2.0.0)

Imagick::getReleaseDate — Returns the ImageMagick release date

Описание

string Imagick::getReleaseDate ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the ImageMagick release date as a string.

Возвращаемые значения

Returns the ImageMagick release date as a string. Бросает ImagickException при ошибке.

Imagick::getQuantumRange
Imagick::getResource
Класс Imagick


Returns the specified resource's memory usage

Imagick::getReleaseDate
Imagick::getResourceLimit
Класс Imagick
PHP Manual

Imagick::getResource

(PECL imagick 2.0.0)

Imagick::getResource — Returns the specified resource's memory usage

Описание

int Imagick::getResource ( int $type )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the specified resource's memory usage in megabytes.

Список параметров

type

Refer to the list of resourcetype constants.

Возвращаемые значения

Returns the specified resource's memory usage in megabytes. Бросает ImagickException при ошибке.

Imagick::getReleaseDate
Imagick::getResourceLimit
Класс Imagick


Returns the specified resource limit

Imagick::getResource
Imagick::getSamplingFactors
Класс Imagick
PHP Manual

Imagick::getResourceLimit

(PECL imagick 2.0.0)

Imagick::getResourceLimit — Returns the specified resource limit

Описание

int Imagick::getResourceLimit ( int $type )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the specified resource limit in megabytes.

Список параметров

type

Refer to the list of resourcetype constants.

Возвращаемые значения

Returns the specified resource limit in megabytes. Бросает ImagickException при ошибке.

Imagick::getResource
Imagick::getSamplingFactors
Класс Imagick


Gets the horizontal and vertical sampling factor

Imagick::getResourceLimit
Imagick::getSize
Класс Imagick
PHP Manual

Imagick::getSamplingFactors

(PECL imagick 2.0.0)

Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor

Описание

array Imagick::getSamplingFactors ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the horizontal and vertical sampling factor.

Возвращаемые значения

Returns an associative array with the horizontal and vertical sampling factors of the image. Бросает ImagickException при ошибке.

Imagick::getResourceLimit
Imagick::getSize
Класс Imagick


Returns the size associated with the Imagick object

Imagick::getSamplingFactors
Imagick::getSizeOffset
Класс Imagick
PHP Manual

Imagick::getSize

(PECL imagick 2.0.0)

Imagick::getSize — Returns the size associated with the Imagick object

Описание

array Imagick::getSize ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

Возвращаемые значения

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

Imagick::getSamplingFactors
Imagick::getSizeOffset
Класс Imagick


Returns the size offset

Imagick::getSize
Imagick::getVersion
Класс Imagick
PHP Manual

Imagick::getSizeOffset

(PECL imagick 2.0.0)

Imagick::getSizeOffset — Returns the size offset

Описание

int Imagick::getSizeOffset ( void )

Returns the size offset associated with the Imagick object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

Returns the size offset associated with the Imagick object. Бросает ImagickException при ошибке.

Imagick::getSize
Imagick::getVersion
Класс Imagick


Возвращает версию API ImageMagick

Imagick::getSizeOffset
Imagick::haldClutImage
Класс Imagick
PHP Manual

Imagick::getVersion

(PECL imagick 2.0.0)

Imagick::getVersion — Возвращает версию API ImageMagick

Описание

array Imagick::getVersion ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает версию API ImageMagick как строку и число.

Возвращаемые значения

Возвращает версию API ImageMagick как строку и число. Бросает ImagickException при ошибке.

Imagick::getSizeOffset
Imagick::haldClutImage
Класс Imagick


Replaces colors in the image

Imagick::getVersion
Imagick::hasNextImage
Класс Imagick
PHP Manual

Imagick::haldClutImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::haldClutImage — Replaces colors in the image

Описание

public bool Imagick::haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Replaces colors in the image using a Hald lookup table. Hald images can be created using HALD color coder.

Список параметров

clut

Imagick object containing the Hald lookup image.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::getVersion
Imagick::hasNextImage
Класс Imagick


Checks if the object has more images

Imagick::haldClutImage
Imagick::hasPreviousImage
Класс Imagick
PHP Manual

Imagick::hasNextImage

(PECL imagick 2.0.0)

Imagick::hasNextImage — Checks if the object has more images

Описание

bool Imagick::hasNextImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns TRUE if the object has more images when traversing the list in the forward direction.

Возвращаемые значения

Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none.

Imagick::haldClutImage
Imagick::hasPreviousImage
Класс Imagick


Checks if the object has a previous image

Imagick::hasNextImage
Imagick::identifyImage
Класс Imagick
PHP Manual

Imagick::hasPreviousImage

(PECL imagick 2.0.0)

Imagick::hasPreviousImage — Checks if the object has a previous image

Описание

bool Imagick::hasPreviousImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns TRUE if the object has more images when traversing the list in the reverse direction

Возвращаемые значения

Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none.

Imagick::hasNextImage
Imagick::identifyImage
Класс Imagick


Identifies an image and fetches attributes

Imagick::hasPreviousImage
Imagick::implodeImage
Класс Imagick
PHP Manual

Imagick::identifyImage

(PECL imagick 2.0.0)

Imagick::identifyImage — Identifies an image and fetches attributes

Описание

array Imagick::identifyImage ([ bool $appendRawOutput = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

Список параметров

appendRawOutput

Возвращаемые значения

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Imagick::hasPreviousImage
Imagick::implodeImage
Класс Imagick


Creates a new image as a copy

Imagick::identifyImage
Imagick::importImagePixels
Класс Imagick
PHP Manual

Imagick::implodeImage

(PECL imagick 2.0.0)

Imagick::implodeImage — Creates a new image as a copy

Описание

bool Imagick::implodeImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Список параметров

radius

The radius of the implode

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::identifyImage
Imagick::importImagePixels
Класс Imagick


Imports image pixels

Imagick::implodeImage
Imagick::labelImage
Класс Imagick
PHP Manual

Imagick::importImagePixels

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::importImagePixels — Imports image pixels

Описание

public bool Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )

Imports pixels from an array into an image. The map is usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match width x height x length of the map. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров

x

The image x position

y

The image y position

width

The image width

height

The image height

map

Map of pixel ordering as a string. This can be for example RGB. The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

The pixel storage method. Refer to this list of pixel constants.

pixels

The array of pixels

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Imagick::importImagePixels() example

<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels =
   array_merge(array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
   by three. Three comes from 'RGB', three values per pixel */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
   width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* output as jpeg image */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

Результатом выполнения данного примера будет что-то подобное:

Output of example : Imagick::importImagePixels()

Imagick::implodeImage
Imagick::labelImage
Класс Imagick


Adds a label to an image

Imagick::importImagePixels
Imagick::levelImage
Класс Imagick
PHP Manual

Imagick::labelImage

(PECL imagick 2.0.0)

Imagick::labelImage — Adds a label to an image

Описание

bool Imagick::labelImage ( string $label )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a label to an image.

Список параметров

label

The label to add

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::importImagePixels
Imagick::levelImage
Класс Imagick


Adjusts the levels of an image

Imagick::labelImage
Imagick::linearStretchImage
Класс Imagick
PHP Manual

Imagick::levelImage

(PECL imagick 2.0.0)

Imagick::levelImage — Adjusts the levels of an image

Описание

bool Imagick::levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Список параметров

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::labelImage
Imagick::linearStretchImage
Класс Imagick


Stretches with saturation the image intensity

Imagick::levelImage
Imagick::liquidRescaleImage
Класс Imagick
PHP Manual

Imagick::linearStretchImage

(PECL imagick 2.0.0)

Imagick::linearStretchImage — Stretches with saturation the image intensity

Описание

bool Imagick::linearStretchImage ( float $blackPoint , float $whitePoint )

Stretches with saturation the image intensity.

Список параметров

blackPoint

The image black point

whitePoint

The image white point

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::levelImage
Imagick::liquidRescaleImage
Класс Imagick


Animates an image or images

Imagick::linearStretchImage
Imagick::magnifyImage
Класс Imagick
PHP Manual

Imagick::liquidRescaleImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::liquidRescaleImage — Animates an image or images

Описание

bool Imagick::liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )

This method scales the images using liquid rescaling method. This method is an implementation of a technique called seam carving. In order for this method to work as expected ImageMagick must be compiled with liblqr support. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.9 или старше.

Список параметров

width

The width of the target size

height

The height of the target size

delta_x

How much the seam can traverse on x-axis. Passing 0 causes the seams to be straight.

rigidity

Introduces a bias for non-straight seams. This parameter is typically 0.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::resizeImage() - Scales an image

Imagick::linearStretchImage
Imagick::magnifyImage
Класс Imagick


Scales an image proportionally 2x

Imagick::liquidRescaleImage
Imagick::mapImage
Класс Imagick
PHP Manual

Imagick::magnifyImage

(PECL imagick 2.0.0)

Imagick::magnifyImage — Scales an image proportionally 2x

Описание

bool Imagick::magnifyImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Is a convenience method that scales an image proportionally to twice its original size.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::liquidRescaleImage
Imagick::mapImage
Класс Imagick


Replaces the colors of an image with the closest color from a reference image.

Imagick::magnifyImage
Imagick::matteFloodfillImage
Класс Imagick
PHP Manual

Imagick::mapImage

(PECL imagick 2.0.0)

Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.

Описание

bool Imagick::mapImage ( Imagick $map , bool $dither )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

map

dither

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::magnifyImage
Imagick::matteFloodfillImage
Класс Imagick


Changes the transparency value of a color

Imagick::mapImage
Imagick::medianFilterImage
Класс Imagick
PHP Manual

Imagick::matteFloodfillImage

(PECL imagick 2.0.0)

Imagick::matteFloodfillImage — Changes the transparency value of a color

Описание

bool Imagick::matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.

Список параметров

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

bordercolor

An ImagickPixel object or string representing the border color.

x

The starting x coordinate of the operation.

y

The starting y coordinate of the operation.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.

Imagick::mapImage
Imagick::medianFilterImage
Класс Imagick


Applies a digital filter

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Класс Imagick
PHP Manual

Imagick::medianFilterImage

(PECL imagick 2.0.0)

Imagick::medianFilterImage — Applies a digital filter

Описание

bool Imagick::medianFilterImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Список параметров

radius

The radius of the pixel neighborhood.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Класс Imagick


Merges image layers

Imagick::medianFilterImage
Imagick::minifyImage
Класс Imagick
PHP Manual

Imagick::mergeImageLayers

(PECL imagick 2.1.0)

Imagick::mergeImageLayers — Merges image layers

Описание

bool Imagick::mergeImageLayers ( int $layer_method )

Merges image layers into one. This method is useful when working with image formats that use multiple layers such as PSD. The merging is controlled using the layer_method which defines how the layers are merged. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.7 или старше.

Список параметров

layer_method

One of the Imagick::LAYERMETHOD_* constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::flattenImages() - Merges a sequence of images

Imagick::medianFilterImage
Imagick::minifyImage
Класс Imagick


Scales an image proportionally to half its size

Imagick::mergeImageLayers
Imagick::modulateImage
Класс Imagick
PHP Manual

Imagick::minifyImage

(PECL imagick 2.0.0)

Imagick::minifyImage — Scales an image proportionally to half its size

Описание

bool Imagick::minifyImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Is a convenience method that scales an image proportionally to one-half its original size

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::mergeImageLayers
Imagick::modulateImage
Класс Imagick


Control the brightness, saturation, and hue

Imagick::minifyImage
Imagick::montageImage
Класс Imagick
PHP Manual

Imagick::modulateImage

(PECL imagick 2.0.0)

Imagick::modulateImage — Control the brightness, saturation, and hue

Описание

bool Imagick::modulateImage ( float $brightness , float $saturation , float $hue )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Список параметров

brightness

saturation

hue

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::minifyImage
Imagick::montageImage
Класс Imagick


Creates a composite image

Imagick::modulateImage
Imagick::morphImages
Класс Imagick
PHP Manual

Imagick::montageImage

(PECL imagick 2.0.0)

Imagick::montageImage — Creates a composite image

Описание

Imagick Imagick::montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile.

Список параметров

draw

The font name, size, and color are obtained from this object.

tile_geometry

The number of tiles per row and page (e.g. 6x4+0+0).

thumbnail_geometry

Preferred image size and border size of each thumbnail (e.g. 120x120+4+3>).

mode

Thumbnail framing mode, see Montage Mode constants.

frame

Surround the image with an ornamental border (e.g. 15x15+3+3). The frame color is that of the thumbnail's matte color.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::modulateImage
Imagick::morphImages
Класс Imagick


Method morphs a set of images

Imagick::montageImage
Imagick::mosaicImages
Класс Imagick
PHP Manual

Imagick::morphImages

(PECL imagick 2.0.0)

Imagick::morphImages — Method morphs a set of images

Описание

Imagick Imagick::morphImages ( int $number_frames )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Method morphs a set of images. Both the image pixels and size are linearly interpolated to give the appearance of a meta-morphosis from one image to the next.

Список параметров

number_frames

The number of in-between images to generate.

Возвращаемые значения

This method returns a new Imagick object on success. Бросает ImagickException при ошибке.

Imagick::montageImage
Imagick::mosaicImages
Класс Imagick


Forms a mosaic from images

Imagick::morphImages
Imagick::motionBlurImage
Класс Imagick
PHP Manual

Imagick::mosaicImages

(PECL imagick 2.0.0)

Imagick::mosaicImages — Forms a mosaic from images

Описание

Imagick Imagick::mosaicImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Inlays an image sequence to form a single coherent picture. It returns a wand with each image in the sequence composited at the location defined by the page offset of the image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::morphImages
Imagick::motionBlurImage
Класс Imagick


Simulates motion blur

Imagick::mosaicImages
Imagick::negateImage
Класс Imagick
PHP Manual

Imagick::motionBlurImage

(PECL imagick 2.0.0)

Imagick::motionBlurImage — Simulates motion blur

Описание

bool Imagick::motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants. The channel argument affects only if Imagick is compiled against ImageMagick version 6.4.4 or greater.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::mosaicImages
Imagick::negateImage
Класс Imagick


Negates the colors in the reference image

Imagick::motionBlurImage
Imagick::newImage
Класс Imagick
PHP Manual

Imagick::negateImage

(PECL imagick 2.0.0)

Imagick::negateImage — Negates the colors in the reference image

Описание

bool Imagick::negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Negates the colors in the reference image. The Grayscale option means that only grayscale values within the image are negated.

Список параметров

gray

Whether to only negate grayscale pixels within the image.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::motionBlurImage
Imagick::newImage
Класс Imagick


Creates a new image

Imagick::negateImage
Imagick::newPseudoImage
Класс Imagick
PHP Manual

Imagick::newImage

(PECL imagick 2.0.0)

Imagick::newImage — Creates a new image

Описание

bool Imagick::newImage ( int $cols , int $rows , mixed $background [, string $format ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a new image and associates ImagickPixel value as background color

Список параметров

cols

Columns in the new image

rows

Rows in the new image

background

The background color used for this image

format

Image format. This parameter was added in Imagick version 2.0.1.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.

Примеры

Пример #1 Using Imagick::newImage():

Create a new image and display it.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>

Imagick::negateImage
Imagick::newPseudoImage
Класс Imagick


Creates a new image

Imagick::newImage
Imagick::nextImage
Класс Imagick
PHP Manual

Imagick::newPseudoImage

(PECL imagick 2.0.0)

Imagick::newPseudoImage — Creates a new image

Описание

bool Imagick::newPseudoImage ( int $columns , int $rows , string $pseudoString )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a new image using ImageMagick pseudo-formats.

Список параметров

columns

columns in the new image

rows

rows in the new image

pseudoString

string containing pseudo image definition.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::newImage
Imagick::nextImage
Класс Imagick


Moves to the next image

Imagick::newPseudoImage
Imagick::normalizeImage
Класс Imagick
PHP Manual

Imagick::nextImage

(PECL imagick 2.0.0)

Imagick::nextImage — Moves to the next image

Описание

bool Imagick::nextImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Associates the next image in the image list with an Imagick object.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::newPseudoImage
Imagick::normalizeImage
Класс Imagick


Enhances the contrast of a color image

Imagick::nextImage
Imagick::oilPaintImage
Класс Imagick
PHP Manual

Imagick::normalizeImage

(PECL imagick 2.0.0)

Imagick::normalizeImage — Enhances the contrast of a color image

Описание

bool Imagick::normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Список параметров

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::nextImage
Imagick::oilPaintImage
Класс Imagick


Simulates an oil painting

Imagick::normalizeImage
Imagick::opaquePaintImage
Класс Imagick
PHP Manual

Imagick::oilPaintImage

(PECL imagick 2.0.0)

Imagick::oilPaintImage — Simulates an oil painting

Описание

bool Imagick::oilPaintImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Список параметров

radius

The radius of the circular neighborhood.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::normalizeImage
Imagick::opaquePaintImage
Класс Imagick


Changes the color value of any pixel that matches target

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Класс Imagick
PHP Manual

Imagick::opaquePaintImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::opaquePaintImage — Changes the color value of any pixel that matches target

Описание

bool Imagick::opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes any pixel that matches color with the color defined by fill. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.

Список параметров

target

ImagickPixel object or a string containing the color to change

fill

The replacement color

fuzz

Мера округления (fuzz). Например, установите значение fuzz в 10 и красный цвет с интенсивностями 100 и 102 соответственно будут интерпретироваться как один и тот же цвет.

invert

If TRUE paints any pixel that does not match the target color.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Класс Imagick


Removes repeated portions of images to optimize

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Класс Imagick
PHP Manual

Imagick::optimizeImageLayers

(PECL imagick 2.0.0)

Imagick::optimizeImageLayers — Removes repeated portions of images to optimize

Описание

bool Imagick::optimizeImageLayers ( void )

Compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::optimizeImageLayers()

Reading, optimizing and writing a GIF image

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$im->optimizeImageLayers();

/* write the image back */
$im->writeImages("test_optimized.gif", true);
?>

Смотрите также

  • Imagick::compareImageLayers() - Returns the maximum bounding region between images
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Класс Imagick


Performs an ordered dither

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Класс Imagick
PHP Manual

Imagick::orderedPosterizeImage

(PECL imagick 2.2.2)

Imagick::orderedPosterizeImage — Performs an ordered dither

Описание

bool Imagick::orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )

Performs an ordered dither based on a number of pre-defined dithering threshold maps, but over multiple intensity levels, which can be different for different channels, according to the input arguments. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.1 или старше.

Список параметров

threshold_map

A string containing the name of the threshold dither map to use

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Класс Imagick


Changes the color value of any pixel that matches target

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Класс Imagick
PHP Manual

Imagick::paintFloodfillImage

(PECL imagick 2.1.0)

Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target

Описание

bool Imagick::paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Changes the color value of any pixel that matches target and is an immediate neighbor. As of ImageMagick 6.3.8 this method has been deprecated and Imagick::floodfillPaintImage() should be used instead.

Список параметров

fill

ImagickPixel object or a string containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object or a string containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Класс Imagick


Change any pixel that matches color

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Класс Imagick
PHP Manual

Imagick::paintOpaqueImage

(PECL imagick 2.0.0)

Imagick::paintOpaqueImage — Change any pixel that matches color

Описание

bool Imagick::paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Changes any pixel that matches color with the color defined by fill.

Список параметров

target

Change this target color to the fill color within the image. An ImagickPixel object or a string representing the target color.

fill

An ImagickPixel object or a string representing the fill color.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as first and second parameter. Previous versions allow only an ImagickPixel object.

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Класс Imagick


Changes any pixel that matches color with the color defined by fill

Imagick::paintOpaqueImage
Imagick::pingImage
Класс Imagick
PHP Manual

Imagick::paintTransparentImage

(PECL imagick 2.0.0)

Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill

Описание

bool Imagick::paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Changes any pixel that matches color with the color defined by fill.

Список параметров

target

Change this target color to specified opacity value within the image.

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::paintOpaqueImage
Imagick::pingImage
Класс Imagick


Fetch basic attributes about the image

Imagick::paintTransparentImage
Imagick::pingImageBlob
Класс Imagick
PHP Manual

Imagick::pingImage

(PECL imagick 2.0.0)

Imagick::pingImage — Fetch basic attributes about the image

Описание

bool Imagick::pingImage ( string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

This method can be used to query image width, height, size, and format without reading the whole image in to memory.

Список параметров

filename

The filename to read the information from.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::paintTransparentImage
Imagick::pingImageBlob
Класс Imagick


Quickly fetch attributes

Imagick::pingImage
Imagick::pingImageFile
Класс Imagick
PHP Manual

Imagick::pingImageBlob

(PECL imagick 2.0.0)

Imagick::pingImageBlob — Quickly fetch attributes

Описание

bool Imagick::pingImageBlob ( string $image )

This method can be used to query image width, height, size, and format without reading the whole image to memory. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

image

A string containing the image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Using Imagick::pingImageBlob()

Pinging an image from a string

<?php
/* read image contents */
$image = file_get_contents("test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the string to the imagick object */
$im->pingImageBlob($image);

/* output image width and height */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Смотрите также

  • Imagick::pingImage() - Fetch basic attributes about the image
  • Imagick::pingImageFile() - Get basic image attributes in a lightweight manner
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle

Imagick::pingImage
Imagick::pingImageFile
Класс Imagick


Get basic image attributes in a lightweight manner

Imagick::pingImageBlob
Imagick::polaroidImage
Класс Imagick
PHP Manual

Imagick::pingImageFile

(PECL imagick 2.0.0)

Imagick::pingImageFile — Get basic image attributes in a lightweight manner

Описание

bool Imagick::pingImageFile ( resource $filehandle [, string $fileName ] )

This method can be used to query image width, height, size, and format without reading the whole image to memory. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

filehandle

An open filehandle to the image.

fileName

Optional filename for this image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Using Imagick::pingImageFile()

Opening a remote location

<?php
/* fopen a remote location */
$fp = fopen("http://example.com/test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the handle to imagick */
$im->pingImageFile($fp);
?>

Смотрите также

  • Imagick::pingImage() - Fetch basic attributes about the image
  • Imagick::pingImageBlob() - Quickly fetch attributes
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle

Imagick::pingImageBlob
Imagick::polaroidImage
Класс Imagick


Simulates a Polaroid picture

Imagick::pingImageFile
Imagick::posterizeImage
Класс Imagick
PHP Manual

Imagick::polaroidImage

(PECL imagick 2.0.0)

Imagick::polaroidImage — Simulates a Polaroid picture

Описание

bool Imagick::polaroidImage ( ImagickDraw $properties , float $angle )

Simulates a Polaroid picture. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.2 или старше.

Список параметров

properties

The polaroid properties

angle

The polaroid angle

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 A Imagick::polaroidImage() example

An example of using Imagick::polaroidImage()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->polaroidImage(new ImagickDraw(), 25);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

Imagick::pingImageFile
Imagick::posterizeImage
Класс Imagick


Reduces the image to a limited number of color level

Imagick::polaroidImage
Imagick::previewImages
Класс Imagick
PHP Manual

Imagick::posterizeImage

(PECL imagick 2.0.0)

Imagick::posterizeImage — Reduces the image to a limited number of color level

Описание

bool Imagick::posterizeImage ( int $levels , bool $dither )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reduces the image to a limited number of color level.

Список параметров

levels

dither

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::polaroidImage
Imagick::previewImages
Класс Imagick


Quickly pin-point appropriate parameters for image processing

Imagick::posterizeImage
Imagick::previousImage
Класс Imagick
PHP Manual

Imagick::previewImages

(PECL imagick 2.0.0)

Imagick::previewImages — Quickly pin-point appropriate parameters for image processing

Описание

bool Imagick::previewImages ( int $preview )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Tiles 9 thumbnails of the specified image with an image processing operation applied at varying strengths. This is helpful to quickly pin-point an appropriate parameter for an image processing operation.

Список параметров

preview

Preview type. See Preview type constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::posterizeImage
Imagick::previousImage
Класс Imagick


Move to the previous image in the object

Imagick::previewImages
Imagick::profileImage
Класс Imagick
PHP Manual

Imagick::previousImage

(PECL imagick 2.0.0)

Imagick::previousImage — Move to the previous image in the object

Описание

bool Imagick::previousImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Assocates the previous image in an image list with the Imagick object.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::previewImages
Imagick::profileImage
Класс Imagick


Adds or removes a profile from an image

Imagick::previousImage
Imagick::quantizeImage
Класс Imagick
PHP Manual

Imagick::profileImage

(PECL imagick 2.0.0)

Imagick::profileImage — Adds or removes a profile from an image

Описание

bool Imagick::profileImage ( string $name , string $profile )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Список параметров

name

profile

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::previousImage
Imagick::quantizeImage
Класс Imagick


Analyzes the colors within a reference image

Imagick::profileImage
Imagick::quantizeImages
Класс Imagick
PHP Manual

Imagick::quantizeImage

(PECL imagick 2.0.0)

Imagick::quantizeImage — Analyzes the colors within a reference image

Описание

bool Imagick::quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

numberColors

colorspace

treedepth

dither

measureError

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::profileImage
Imagick::quantizeImages
Класс Imagick


Analyzes the colors within a sequence of images

Imagick::quantizeImage
Imagick::queryFontMetrics
Класс Imagick
PHP Manual

Imagick::quantizeImages

(PECL imagick 2.0.0)

Imagick::quantizeImages — Analyzes the colors within a sequence of images

Описание

bool Imagick::quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

numberColors

colorspace

treedepth

dither

measureError

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::quantizeImage
Imagick::queryFontMetrics
Класс Imagick


Returns an array representing the font metrics

Imagick::quantizeImages
Imagick::queryFonts
Класс Imagick
PHP Manual

Imagick::queryFontMetrics

(PECL imagick 2.0.0)

Imagick::queryFontMetrics — Returns an array representing the font metrics

Описание

array Imagick::queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a multi-dimensional array representing the font metrics.

Список параметров

properties

ImagickDraw object containing font properties

text

The text

multiline

Multiline parameter. If left empty it is autodetected

Возвращаемые значения

Returns a multi-dimensional array representing the font metrics. Бросает ImagickException при ошибке.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::queryFontMetrics():

Query the metrics for the text and dump the results on the screen.

<?php
/* Create a new Imagick object */
$im = new Imagick();

/* Create an ImagickDraw object */
$draw = new ImagickDraw();

/* Set the font */
$draw->setFont('/path/to/font.ttf');

/* Dump the font metrics, autodetect multiline */
var_dump($im->queryFontMetrics($draw, "Hello World!"));
?>

Imagick::quantizeImages
Imagick::queryFonts
Класс Imagick


Returns the configured fonts

Imagick::queryFontMetrics
Imagick::queryFormats
Класс Imagick
PHP Manual

Imagick::queryFonts

(PECL imagick 2.0.0)

Imagick::queryFonts — Returns the configured fonts

Описание

array Imagick::queryFonts ([ string $pattern = "*" ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the configured fonts.

Список параметров

pattern

The query pattern

Возвращаемые значения

Returns an array containing the configured fonts. Бросает ImagickException при ошибке.

Imagick::queryFontMetrics
Imagick::queryFormats
Класс Imagick


Returns formats supported by Imagick

Imagick::queryFonts
Imagick::radialBlurImage
Класс Imagick
PHP Manual

Imagick::queryFormats

(PECL imagick 2.0.0)

Imagick::queryFormats — Returns formats supported by Imagick

Описание

array Imagick::queryFormats ([ string $pattern = "*" ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns formats supported by Imagick.

Список параметров

pattern

Возвращаемые значения

Returns an array containing the formats supported by Imagick. Бросает ImagickException при ошибке.

Imagick::queryFonts
Imagick::radialBlurImage
Класс Imagick


Radial blurs an image

Imagick::queryFormats
Imagick::raiseImage
Класс Imagick
PHP Manual

Imagick::radialBlurImage

(PECL imagick 2.0.0)

Imagick::radialBlurImage — Radial blurs an image

Описание

bool Imagick::radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Radial blurs an image.

Список параметров

angle

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::queryFormats
Imagick::raiseImage
Класс Imagick


Creates a simulated 3d button-like effect

Imagick::radialBlurImage
Imagick::randomThresholdImage
Класс Imagick
PHP Manual

Imagick::raiseImage

(PECL imagick 2.0.0)

Imagick::raiseImage — Creates a simulated 3d button-like effect

Описание

bool Imagick::raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Список параметров

width

height

x

y

raise

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::radialBlurImage
Imagick::randomThresholdImage
Класс Imagick


Creates a high-contrast, two-color image

Imagick::raiseImage
Imagick::readImage
Класс Imagick
PHP Manual

Imagick::randomThresholdImage

(PECL imagick 2.0.0)

Imagick::randomThresholdImage — Creates a high-contrast, two-color image

Описание

bool Imagick::randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

low

The low point

high

The high point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::raiseImage
Imagick::readImage
Класс Imagick


Reads image from filename

Imagick::randomThresholdImage
Imagick::readImageBlob
Класс Imagick
PHP Manual

Imagick::readImage

(PECL imagick 0.9.0-0.9.9)

Imagick::readImage — Reads image from filename

Описание

bool Imagick::readImage ( string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reads image from filename

Список параметров

filename

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::randomThresholdImage
Imagick::readImageBlob
Класс Imagick


Reads image from a binary string

Imagick::readImage
Imagick::readImageFile
Класс Imagick
PHP Manual

Imagick::readImageBlob

(PECL imagick 2.0.0)

Imagick::readImageBlob — Reads image from a binary string

Описание

bool Imagick::readImageBlob ( string $image [, string $filename ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reads image from a binary string

Список параметров

image

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::readImage
Imagick::readImageFile
Класс Imagick


Reads image from open filehandle

Imagick::readImageBlob
Imagick::recolorImage
Класс Imagick
PHP Manual

Imagick::readImageFile

(PECL imagick 2.0.0)

Imagick::readImageFile — Reads image from open filehandle

Описание

bool Imagick::readImageFile ( resource $filehandle [, string $fileName = null ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reads image from open filehandle

Список параметров

filehandle

fileName

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::readImageBlob
Imagick::recolorImage
Класс Imagick


Recolors image

Imagick::readImageFile
Imagick::reduceNoiseImage
Класс Imagick
PHP Manual

Imagick::recolorImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::recolorImage — Recolors image

Описание

bool Imagick::recolorImage ( array $matrix )

Translate, scale, shear, or rotate image colors. This method supports variable sized matrices but normally 5x5 matrix is used for RGBA and 6x6 is used for CMYK. The last row should contain the normalized values. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

matrix

The matrix containing the color values

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::displayImage() - Выводит изображение

Imagick::readImageFile
Imagick::reduceNoiseImage
Класс Imagick


Smooths the contours of an image

Imagick::recolorImage
Imagick::remapImage
Класс Imagick
PHP Manual

Imagick::reduceNoiseImage

(PECL imagick 2.0.0)

Imagick::reduceNoiseImage — Smooths the contours of an image

Описание

bool Imagick::reduceNoiseImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Imagick::reduceNoiseImage() selects a suitable radius for you.

Список параметров

radius

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::recolorImage
Imagick::remapImage
Класс Imagick


Remaps image colors

Imagick::reduceNoiseImage
Imagick::removeImage
Класс Imagick
PHP Manual

Imagick::remapImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::remapImage — Remaps image colors

Описание

public bool Imagick::remapImage ( Imagick $replacement , int $DITHER )

Replaces colors an image with those defined by replacement. The colors are replaced with the closest possible color. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров

replacement

An Imagick object containing the replacement colors

DITHER

Refer to this list of dither method constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::reduceNoiseImage
Imagick::removeImage
Класс Imagick


Removes an image from the image list

Imagick::remapImage
Imagick::removeImageProfile
Класс Imagick
PHP Manual

Imagick::removeImage

(PECL imagick 2.0.0)

Imagick::removeImage — Removes an image from the image list

Описание

bool Imagick::removeImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Removes an image from the image list.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::remapImage
Imagick::removeImageProfile
Класс Imagick


Removes the named image profile and returns it

Imagick::removeImage
Imagick::render
Класс Imagick
PHP Manual

Imagick::removeImageProfile

(PECL imagick 2.0.0)

Imagick::removeImageProfile — Removes the named image profile and returns it

Описание

string Imagick::removeImageProfile ( string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Removes the named image profile and returns it.

Список параметров

name

Возвращаемые значения

Returns a string containing the profile of the image. Бросает ImagickException при ошибке.

Imagick::removeImage
Imagick::render
Класс Imagick


Renders all preceding drawing commands

Imagick::removeImageProfile
Imagick::resampleImage
Класс Imagick
PHP Manual

Imagick::render

(PECL imagick 2.0.0)

Imagick::render — Renders all preceding drawing commands

Описание

bool Imagick::render ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Renders all preceding drawing commands.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::removeImageProfile
Imagick::resampleImage
Класс Imagick


Resample image to desired resolution

Imagick::render
Imagick::resetImagePage
Класс Imagick
PHP Manual

Imagick::resampleImage

(PECL imagick 2.0.0)

Imagick::resampleImage — Resample image to desired resolution

Описание

bool Imagick::resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Resample image to desired resolution.

Список параметров

x_resolution

y_resolution

filter

blur

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::render
Imagick::resetImagePage
Класс Imagick


Reset image page

Imagick::resampleImage
Imagick::resizeImage
Класс Imagick
PHP Manual

Imagick::resetImagePage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::resetImagePage — Reset image page

Описание

bool Imagick::resetImagePage ( string $page )

The page definition as a string. The string is in format WxH+x+y. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

page

The page definition. For example 7168x5147+0+0

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::resampleImage
Imagick::resizeImage
Класс Imagick


Scales an image

Imagick::resetImagePage
Imagick::rollImage
Класс Imagick
PHP Manual

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage — Scales an image

Описание

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Scales an image to the desired dimensions with a filter.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200x150 до 400x300 никаких операций не происходило. В Imagick 3.0.0 и далее изображение будет масштабировано до размеров 400x300, так как это наилучшим образом соответствует ("best fit") данным размерам. Если используется параметр bestfit, то ширина и высота также должны быть определены.

Список параметров

columns

Width of the image

rows

Height of the image

filter

Refer to the list of filter constants.

blur

The blur factor where > 1 is blurry, < 1 is sharp.

bestfit

Optional fit parameter.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Imagick::resetImagePage
Imagick::rollImage
Класс Imagick


Offsets an image

Imagick::resizeImage
Imagick::rotateImage
Класс Imagick
PHP Manual

Imagick::rollImage

(PECL imagick 2.0.0)

Imagick::rollImage — Offsets an image

Описание

bool Imagick::rollImage ( int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Offsets an image as defined by x and y.

Список параметров

x

The X offset.

y

The Y offset.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::resizeImage
Imagick::rotateImage
Класс Imagick


Rotates an image

Imagick::rollImage
Imagick::roundCorners
Класс Imagick
PHP Manual

Imagick::rotateImage

(PECL imagick 2.0.0)

Imagick::rotateImage — Rotates an image

Описание

bool Imagick::rotateImage ( mixed $background , float $degrees )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Список параметров

background

The background color

degrees

The number of degrees to rotate the image

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::rollImage
Imagick::roundCorners
Класс Imagick


Rounds image corners

Imagick::rotateImage
Imagick::sampleImage
Класс Imagick
PHP Manual

Imagick::roundCorners

(PECL imagick 2.0.0)

Imagick::roundCorners — Rounds image corners

Описание

bool Imagick::roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )

Rounds image corners. The first two parameters control the amount of rounding and the three last parameters can be used to fine-tune the rounding process. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

size correction

Примеры

Пример #1 Using Imagick::roundCorners():

Rounds the image corners

<?php

$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::rotateImage
Imagick::sampleImage
Класс Imagick


Scales an image with pixel sampling

Imagick::roundCorners
Imagick::scaleImage
Класс Imagick
PHP Manual

Imagick::sampleImage

(PECL imagick 2.0.0)

Imagick::sampleImage — Scales an image with pixel sampling

Описание

bool Imagick::sampleImage ( int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

Список параметров

columns

rows

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::roundCorners
Imagick::scaleImage
Класс Imagick


Scales the size of an image

Imagick::sampleImage
Imagick::segmentImage
Класс Imagick
PHP Manual

Imagick::scaleImage

(PECL imagick 2.0.0)

Imagick::scaleImage — Scales the size of an image

Описание

bool Imagick::scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200x150 до 400x300 никаких операций не происходило. В Imagick 3.0.0 и далее изображение будет масштабировано до размеров 400x300, так как это наилучшим образом соответствует ("best fit") данным размерам. Если используется параметр bestfit, то ширина и высота также должны быть определены.

Список параметров

cols

rows

bestfit

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Imagick::sampleImage
Imagick::segmentImage
Класс Imagick


Segments an image

Imagick::scaleImage
Imagick::separateImageChannel
Класс Imagick
PHP Manual

Imagick::segmentImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::segmentImage — Segments an image

Описание

public bool Imagick::segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )

Analyses the image and identifies units that are similar. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров

COLORSPACE

One of the COLORSPACE constants.

cluster_threshold

A percentage describing minimum number of pixels contained in hexedra before it is considered valid.

smooth_threshold

Eliminates noise from the histogram.

verbose

Whether to output detailed information about recognised classes.

Возвращаемые значения

Imagick::scaleImage
Imagick::separateImageChannel
Класс Imagick


Separates a channel from the image

Imagick::segmentImage
Imagick::sepiaToneImage
Класс Imagick
PHP Manual

Imagick::separateImageChannel

(PECL imagick 2.0.0)

Imagick::separateImageChannel — Separates a channel from the image

Описание

bool Imagick::separateImageChannel ( int $channel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Список параметров

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::segmentImage
Imagick::sepiaToneImage
Класс Imagick


Sepia tones an image

Imagick::separateImageChannel
Imagick::setBackgroundColor
Класс Imagick
PHP Manual

Imagick::sepiaToneImage

(PECL imagick 2.0.0)

Imagick::sepiaToneImage — Sepia tones an image

Описание

bool Imagick::sepiaToneImage ( float $threshold )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.

Список параметров

threshold

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::separateImageChannel
Imagick::setBackgroundColor
Класс Imagick


Sets the object's default background color

Imagick::sepiaToneImage
Imagick::setColorspace
Класс Imagick
PHP Manual

Imagick::setBackgroundColor

(PECL imagick 2.0.0)

Imagick::setBackgroundColor — Sets the object's default background color

Описание

bool Imagick::setBackgroundColor ( mixed $background )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the object's default background color.

Список параметров

background

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::sepiaToneImage
Imagick::setColorspace
Класс Imagick


Set colorspace

Imagick::setBackgroundColor
Imagick::setCompression
Класс Imagick
PHP Manual

Imagick::setColorspace

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setColorspace — Set colorspace

Описание

bool Imagick::setColorspace ( int $COLORSPACE )

Sets the global colorspace value for the object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.5.7 или старше.

Список параметров

COLORSPACE

One of the COLORSPACE constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setBackgroundColor
Imagick::setCompression
Класс Imagick


Sets the object's default compression type

Imagick::setColorspace
Imagick::setCompressionQuality
Класс Imagick
PHP Manual

Imagick::setCompression

(PECL imagick 2.0.0)

Imagick::setCompression — Sets the object's default compression type

Описание

bool Imagick::setCompression ( int $compression )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the object's default compression type

Список параметров

compression

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setColorspace
Imagick::setCompressionQuality
Класс Imagick


Sets the object's default compression quality

Imagick::setCompression
Imagick::setFilename
Класс Imagick
PHP Manual

Imagick::setCompressionQuality

(PECL imagick 0.9.10-0.9.9)

Imagick::setCompressionQuality — Sets the object's default compression quality

Описание

bool Imagick::setCompressionQuality ( int $quality )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the object's default compression quality.

Список параметров

quality

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setCompression
Imagick::setFilename
Класс Imagick


Sets the filename before you read or write the image

Imagick::setCompressionQuality
Imagick::setFirstIterator
Класс Imagick
PHP Manual

Imagick::setFilename

(PECL imagick 2.0.0)

Imagick::setFilename — Sets the filename before you read or write the image

Описание

bool Imagick::setFilename ( string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the filename before you read or write an image file.

Список параметров

filename

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setCompressionQuality
Imagick::setFirstIterator
Класс Imagick


Sets the Imagick iterator to the first image

Imagick::setFilename
Imagick::setFont
Класс Imagick
PHP Manual

Imagick::setFirstIterator

(PECL imagick 2.0.0)

Imagick::setFirstIterator — Sets the Imagick iterator to the first image

Описание

bool Imagick::setFirstIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the Imagick iterator to the first image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setFilename
Imagick::setFont
Класс Imagick


Sets font

Imagick::setFirstIterator
Imagick::setFormat
Класс Imagick
PHP Manual

Imagick::setFont

(PECL imagick 2.1.0)

Imagick::setFont — Sets font

Описание

bool Imagick::setFont ( string $font )

Sets object's font property. This method can be used for example to set font for caption: pseudo-format. The font needs to be configured in ImageMagick confiration or a file by the name of font must exist. This method should not be confused with ImagickDraw::setFont() which sets the font for a specific ImagickDraw object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.7 или старше.

Список параметров

font

Font name or a filename

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::getFont() - Возвращает название шрифта
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font

Примеры

Пример #1 A Imagick::setFont() example

Example of using Imagick::setFont

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>

Imagick::setFirstIterator
Imagick::setFormat
Класс Imagick


Sets the format of the Imagick object

Imagick::setFont
Imagick::setGravity
Класс Imagick
PHP Manual

Imagick::setFormat

(PECL imagick 2.0.0)

Imagick::setFormat — Sets the format of the Imagick object

Описание

bool Imagick::setFormat ( string $format )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the format of the Imagick object.

Список параметров

format

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setFont
Imagick::setGravity
Класс Imagick


Sets the gravity

Imagick::setFormat
Imagick::setImage
Класс Imagick
PHP Manual

Imagick::setGravity

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setGravity — Sets the gravity

Описание

bool Imagick::setGravity ( int $gravity )

Sets the global gravity property for the Imagick object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.0 или старше.

Список параметров

gravity

The gravity property. Refer to the list of gravity constants.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Imagick::setFormat
Imagick::setImage
Класс Imagick


Replaces image in the object

Imagick::setGravity
Imagick::setImageAlphaChannel
Класс Imagick
PHP Manual

Imagick::setImage

(PECL imagick 2.0.0)

Imagick::setImage — Replaces image in the object

Описание

bool Imagick::setImage ( Imagick $replace )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Replaces the current image sequence with the image from replace object.

Список параметров

replace

The replace Imagick object

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 A Imagick::setImage() example

An example of using Imagick::setImage()

<?php
/* Create the objects */
$image = new Imagick('source.jpg');
$replace = new Imagick('replace.jpg');

/* source.jpg is replaced with replace.jpg */
$image->setImage($replace);

/* output the image */
header('Content-type: image/jpeg');
echo $image;

?>

Imagick::setGravity
Imagick::setImageAlphaChannel
Класс Imagick


Sets image alpha channel

Imagick::setImage
Imagick::setImageArtifact
Класс Imagick
PHP Manual

Imagick::setImageAlphaChannel

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setImageAlphaChannel — Sets image alpha channel

Описание

bool Imagick::setImageAlphaChannel ( int $mode )

Activate or deactivate image alpha channel. The mode is one of the Imagick::ALPHACHANNEL_* constants. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.

Список параметров

mode

One of the Imagick::ALPHACHANNEL_* constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::setImageMatte() - Sets the image matte channel

Imagick::setImage
Imagick::setImageArtifact
Класс Imagick


Set image artifact

Imagick::setImageAlphaChannel
Imagick::setImageBackgroundColor
Класс Imagick
PHP Manual

Imagick::setImageArtifact

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setImageArtifact — Set image artifact

Описание

bool Imagick::setImageArtifact ( string $artifact , string $value )

Associates an artifact with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.5.7 или старше.

Список параметров

artifact

The name of the artifact

value

The value of the artifact

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::getImageArtifact() - Get image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact

Imagick::setImageAlphaChannel
Imagick::setImageBackgroundColor
Класс Imagick


Sets the image background color

Imagick::setImageArtifact
Imagick::setImageBias
Класс Imagick
PHP Manual

Imagick::setImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::setImageBackgroundColor — Sets the image background color

Описание

bool Imagick::setImageBackgroundColor ( mixed $background )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image background color.

Список параметров

background

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageArtifact
Imagick::setImageBias
Класс Imagick


Sets the image bias for any method that convolves an image

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
Класс Imagick
PHP Manual

Imagick::setImageBias

(PECL imagick 2.0.0)

Imagick::setImageBias — Sets the image bias for any method that convolves an image

Описание

bool Imagick::setImageBias ( float $bias )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image bias for any method that convolves an image (e.g. Imagick::ConvolveImage()).

Список параметров

bias

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
Класс Imagick


Sets the image chromaticity blue primary point

Imagick::setImageBias
Imagick::setImageBorderColor
Класс Imagick
PHP Manual

Imagick::setImageBluePrimary

(PECL imagick 2.0.0)

Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point

Описание

bool Imagick::setImageBluePrimary ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image chromaticity blue primary point.

Список параметров

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageBias
Imagick::setImageBorderColor
Класс Imagick


Sets the image border color

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Класс Imagick
PHP Manual

Imagick::setImageBorderColor

(PECL imagick 2.0.0)

Imagick::setImageBorderColor — Sets the image border color

Описание

bool Imagick::setImageBorderColor ( mixed $border )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image border color.

Список параметров

border

The border color

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Класс Imagick


Sets the depth of a particular image channel

Imagick::setImageBorderColor
Imagick::setImageClipMask
Класс Imagick
PHP Manual

Imagick::setImageChannelDepth

(PECL imagick 2.0.0)

Imagick::setImageChannelDepth — Sets the depth of a particular image channel

Описание

bool Imagick::setImageChannelDepth ( int $channel , int $depth )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the depth of a particular image channel.

Список параметров

channel

depth

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageBorderColor
Imagick::setImageClipMask
Класс Imagick


Sets image clip mask

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Класс Imagick
PHP Manual

Imagick::setImageClipMask

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setImageClipMask — Sets image clip mask

Описание

bool Imagick::setImageClipMask ( Imagick $clip_mask )

Sets image clip mask from another Imagick object. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

clip_mask

The Imagick object containing the clip mask

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Класс Imagick


Sets the color of the specified colormap index

Imagick::setImageClipMask
Imagick::setImageColorspace
Класс Imagick
PHP Manual

Imagick::setImageColormapColor

(PECL imagick 2.0.0)

Imagick::setImageColormapColor — Sets the color of the specified colormap index

Описание

bool Imagick::setImageColormapColor ( int $index , ImagickPixel $color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the color of the specified colormap index.

Список параметров

index

color

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageClipMask
Imagick::setImageColorspace
Класс Imagick


Sets the image colorspace

Imagick::setImageColormapColor
Imagick::setImageCompose
Класс Imagick
PHP Manual

Imagick::setImageColorspace

(PECL imagick 2.0.0)

Imagick::setImageColorspace — Sets the image colorspace

Описание

bool Imagick::setImageColorspace ( int $colorspace )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image colorspace.

Список параметров

colorspace

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageColormapColor
Imagick::setImageCompose
Класс Imagick


Sets the image composite operator

Imagick::setImageColorspace
Imagick::setImageCompression
Класс Imagick
PHP Manual

Imagick::setImageCompose

(PECL imagick 2.0.0)

Imagick::setImageCompose — Sets the image composite operator

Описание

bool Imagick::setImageCompose ( int $compose )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image composite operator, useful for specifying how to composite the image thumbnail when using the Imagick::montageImage() method.

Список параметров

compose

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageColorspace
Imagick::setImageCompression
Класс Imagick


Sets the image compression

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Класс Imagick
PHP Manual

Imagick::setImageCompression

(PECL imagick 2.0.0)

Imagick::setImageCompression — Sets the image compression

Описание

bool Imagick::setImageCompression ( int $compression )

Список параметров

compression

One of the COMPRESSION constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Класс Imagick


Sets the image compression quality

Imagick::setImageCompression
Imagick::setImageDelay
Класс Imagick
PHP Manual

Imagick::setImageCompressionQuality

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setImageCompressionQuality — Sets the image compression quality

Описание

bool Imagick::setImageCompressionQuality ( int $quality )

Sets the image compression quality.

Список параметров

quality

The image compression quality as an integer

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageCompression
Imagick::setImageDelay
Класс Imagick


Sets the image delay

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Класс Imagick
PHP Manual

Imagick::setImageDelay

(PECL imagick 2.0.0)

Imagick::setImageDelay — Sets the image delay

Описание

bool Imagick::setImageDelay ( int $delay )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image delay.

Список параметров

delay

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Класс Imagick


Sets the image depth

Imagick::setImageDelay
Imagick::setImageDispose
Класс Imagick
PHP Manual

Imagick::setImageDepth

(PECL imagick 2.0.0)

Imagick::setImageDepth — Sets the image depth

Описание

bool Imagick::setImageDepth ( int $depth )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image depth.

Список параметров

depth

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageDelay
Imagick::setImageDispose
Класс Imagick


Sets the image disposal method

Imagick::setImageDepth
Imagick::setImageExtent
Класс Imagick
PHP Manual

Imagick::setImageDispose

(PECL imagick 2.0.0)

Imagick::setImageDispose — Sets the image disposal method

Описание

bool Imagick::setImageDispose ( int $dispose )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image disposal method.

Список параметров

dispose

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageDepth
Imagick::setImageExtent
Класс Imagick


Sets the image size

Imagick::setImageDispose
Imagick::setImageFilename
Класс Imagick
PHP Manual

Imagick::setImageExtent

(PECL imagick 2.0.0)

Imagick::setImageExtent — Sets the image size

Описание

bool Imagick::setImageExtent ( int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image size (i.e. columns & rows).

Список параметров

columns

rows

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageDispose
Imagick::setImageFilename
Класс Imagick


Sets the filename of a particular image

Imagick::setImageExtent
Imagick::setImageFormat
Класс Imagick
PHP Manual

Imagick::setImageFilename

(PECL imagick 2.0.0)

Imagick::setImageFilename — Sets the filename of a particular image

Описание

bool Imagick::setImageFilename ( string $filename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the filename of a particular image in a sequence.

Список параметров

filename

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageExtent
Imagick::setImageFormat
Класс Imagick


Sets the format of a particular image

Imagick::setImageFilename
Imagick::setImageGamma
Класс Imagick
PHP Manual

Imagick::setImageFormat

(PECL imagick 2.0.0)

Imagick::setImageFormat — Sets the format of a particular image

Описание

bool Imagick::setImageFormat ( string $format )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the format of a particular image in a sequence.

Список параметров

format

String presentation of the image format. Format support depends on the ImageMagick installation.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageFilename
Imagick::setImageGamma
Класс Imagick


Sets the image gamma

Imagick::setImageFormat
Imagick::setImageGravity
Класс Imagick
PHP Manual

Imagick::setImageGamma

(PECL imagick 2.0.0)

Imagick::setImageGamma — Sets the image gamma

Описание

bool Imagick::setImageGamma ( float $gamma )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image gamma.

Список параметров

gamma

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageFormat
Imagick::setImageGravity
Класс Imagick


Sets the image gravity

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Класс Imagick
PHP Manual

Imagick::setImageGravity

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::setImageGravity — Sets the image gravity

Описание

bool Imagick::setImageGravity ( int $gravity )

Sets the gravity property for the current image. This method can be used to set the gravity property for a single image sequence. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.4 или старше.

Список параметров

gravity

The gravity property. Refer to the list of gravity constants.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Класс Imagick


Sets the image chromaticity green primary point

Imagick::setImageGravity
Imagick::setImageIndex
Класс Imagick
PHP Manual

Imagick::setImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point

Описание

bool Imagick::setImageGreenPrimary ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image chromaticity green primary point.

Список параметров

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageGravity
Imagick::setImageIndex
Класс Imagick


Set the iterator position

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Класс Imagick
PHP Manual

Imagick::setImageIndex

(PECL imagick 2.0.0)

Imagick::setImageIndex — Set the iterator position

Описание

bool Imagick::setImageIndex ( int $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Set the iterator to the position in the image list specified with the index parameter.

This method has been deprecated. See Imagick::setIteratorIndex

Список параметров

index

The position to set the iterator to

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Класс Imagick


Sets the image compression

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Класс Imagick
PHP Manual

Imagick::setImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setImageInterlaceScheme — Sets the image compression

Описание

bool Imagick::setImageInterlaceScheme ( int $interlace_scheme )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image compression.

Список параметров

interlace_scheme

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Класс Imagick


Sets the image interpolate pixel method

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Класс Imagick
PHP Manual

Imagick::setImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method

Описание

bool Imagick::setImageInterpolateMethod ( int $method )

Sets the image interpolate pixel method.

Список параметров

method

The method is one of the Imagick::INTERPOLATE_* constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Класс Imagick


Sets the image iterations

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Класс Imagick
PHP Manual

Imagick::setImageIterations

(PECL imagick 2.0.0)

Imagick::setImageIterations — Sets the image iterations

Описание

bool Imagick::setImageIterations ( int $iterations )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image iterations.

Список параметров

iterations

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Класс Imagick


Sets the image matte channel

Imagick::setImageIterations
Imagick::setImageMatteColor
Класс Imagick
PHP Manual

Imagick::setImageMatte

(PECL imagick 2.0.0)

Imagick::setImageMatte — Sets the image matte channel

Описание

bool Imagick::setImageMatte ( bool $matte )

Sets the image matte channel. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

matte

True activates the matte channel and false disables it.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageIterations
Imagick::setImageMatteColor
Класс Imagick


Sets the image matte color

Imagick::setImageMatte
Imagick::setImageOpacity
Класс Imagick
PHP Manual

Imagick::setImageMatteColor

(PECL imagick 2.0.0)

Imagick::setImageMatteColor — Sets the image matte color

Описание

bool Imagick::setImageMatteColor ( mixed $matte )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image matte color.

Список параметров

matte

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageMatte
Imagick::setImageOpacity
Класс Imagick


Sets the image opacity level

Imagick::setImageMatteColor
Imagick::setImageOrientation
Класс Imagick
PHP Manual

Imagick::setImageOpacity

(PECL imagick 2.0.0)

Imagick::setImageOpacity — Sets the image opacity level

Описание

bool Imagick::setImageOpacity ( float $opacity )

Sets the image to the specified opacity level. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.1 или старше.

Список параметров

opacity

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 A Imagick::setImageOpacity() example

An example of using Imagick::setImageOpacity()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->setImageOpacity(0.7);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

Imagick::setImageMatteColor
Imagick::setImageOrientation
Класс Imagick


Sets the image orientation

Imagick::setImageOpacity
Imagick::setImagePage
Класс Imagick
PHP Manual

Imagick::setImageOrientation

(PECL imagick 2.0.0)

Imagick::setImageOrientation — Sets the image orientation

Описание

bool Imagick::setImageOrientation ( int $orientation )

Sets the image orientation.

Список параметров

orientation

One of the orientation constants

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageOpacity
Imagick::setImagePage
Класс Imagick


Sets the page geometry of the image

Imagick::setImageOrientation
Imagick::setImageProfile
Класс Imagick
PHP Manual

Imagick::setImagePage

(PECL imagick 2.0.0)

Imagick::setImagePage — Sets the page geometry of the image

Описание

bool Imagick::setImagePage ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the page geometry of the image.

Список параметров

width

height

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageOrientation
Imagick::setImageProfile
Класс Imagick


Adds a named profile to the Imagick object

Imagick::setImagePage
Imagick::setImageProperty
Класс Imagick
PHP Manual

Imagick::setImageProfile

(PECL imagick 2.0.0)

Imagick::setImageProfile — Adds a named profile to the Imagick object

Описание

bool Imagick::setImageProfile ( string $name , string $profile )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a named profile to the Imagick object. If a profile with the same name already exists, it is replaced. This method differs from the Imagick::ProfileImage() method in that it does not apply any CMS color profiles.

Список параметров

name

profile

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImagePage
Imagick::setImageProperty
Класс Imagick


Sets an image property

Imagick::setImageProfile
Imagick::setImageRedPrimary
Класс Imagick
PHP Manual

Imagick::setImageProperty

(PECL imagick 2.0.0)

Imagick::setImageProperty — Sets an image property

Описание

bool Imagick::setImageProperty ( string $name , string $value )

Sets a named property to the image. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.2 или старше.

Список параметров

name

value

Примеры

Пример #1 Using Imagick::setImageProperty():

Setting and getting image properties

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Смотрите также

  • Imagick::getImageProperty() - Returns the named image property

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageProfile
Imagick::setImageRedPrimary
Класс Imagick


Sets the image chromaticity red primary point

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Класс Imagick
PHP Manual

Imagick::setImageRedPrimary

(PECL imagick 2.0.0)

Imagick::setImageRedPrimary — Sets the image chromaticity red primary point

Описание

bool Imagick::setImageRedPrimary ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image chromaticity red primary point.

Список параметров

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Класс Imagick


Sets the image rendering intent

Imagick::setImageRedPrimary
Imagick::setImageResolution
Класс Imagick
PHP Manual

Imagick::setImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::setImageRenderingIntent — Sets the image rendering intent

Описание

bool Imagick::setImageRenderingIntent ( int $rendering_intent )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image rendering intent.

Список параметров

rendering_intent

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageRedPrimary
Imagick::setImageResolution
Класс Imagick


Sets the image resolution

Imagick::setImageRenderingIntent
Imagick::setImageScene
Класс Imagick
PHP Manual

Imagick::setImageResolution

(PECL imagick 2.0.0)

Imagick::setImageResolution — Sets the image resolution

Описание

bool Imagick::setImageResolution ( float $x_resolution , float $y_resolution )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image resolution.

Список параметров

x_resolution

y_resolution

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageRenderingIntent
Imagick::setImageScene
Класс Imagick


Sets the image scene

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Класс Imagick
PHP Manual

Imagick::setImageScene

(PECL imagick 2.0.0)

Imagick::setImageScene — Sets the image scene

Описание

bool Imagick::setImageScene ( int $scene )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image scene.

Список параметров

scene

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Класс Imagick


Sets the image ticks-per-second

Imagick::setImageScene
Imagick::setImageType
Класс Imagick
PHP Manual

Imagick::setImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::setImageTicksPerSecond — Sets the image ticks-per-second

Описание

bool Imagick::setImageTicksPerSecond ( int $ticks_per-second )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image ticks-per-second.

Список параметров

ticks_per-second

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageScene
Imagick::setImageType
Класс Imagick


Sets the image type

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Класс Imagick
PHP Manual

Imagick::setImageType

(PECL imagick 2.0.0)

Imagick::setImageType — Sets the image type

Описание

bool Imagick::setImageType ( int $image_type )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image type.

Список параметров

image_type

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Класс Imagick


Sets the image units of resolution

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Класс Imagick
PHP Manual

Imagick::setImageUnits

(PECL imagick 2.0.0)

Imagick::setImageUnits — Sets the image units of resolution

Описание

bool Imagick::setImageUnits ( int $units )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image units of resolution.

Список параметров

units

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Класс Imagick


Sets the image virtual pixel method

Imagick::setImageUnits
Imagick::setImageWhitePoint
Класс Imagick
PHP Manual

Imagick::setImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method

Описание

bool Imagick::setImageVirtualPixelMethod ( int $method )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image virtual pixel method.

Список параметров

method

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageUnits
Imagick::setImageWhitePoint
Класс Imagick


Sets the image chromaticity white point

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Класс Imagick
PHP Manual

Imagick::setImageWhitePoint

(PECL imagick 2.0.0)

Imagick::setImageWhitePoint — Sets the image chromaticity white point

Описание

bool Imagick::setImageWhitePoint ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image chromaticity white point.

Список параметров

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Класс Imagick


Sets the image compression

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Класс Imagick
PHP Manual

Imagick::setInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setInterlaceScheme — Sets the image compression

Описание

bool Imagick::setInterlaceScheme ( int $interlace_scheme )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image compression.

Список параметров

interlace_scheme

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Класс Imagick


Set the iterator position

Imagick::setInterlaceScheme
Imagick::setLastIterator
Класс Imagick
PHP Manual

Imagick::setIteratorIndex

(PECL imagick 2.0.0)

Imagick::setIteratorIndex — Set the iterator position

Описание

bool Imagick::setIteratorIndex ( int $index )

Set the iterator to the position in the image list specified with the index parameter. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

index

The position to set the iterator to

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Using Imagick::setIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Смотрите также

  • Imagick::getIteratorIndex() - Gets the index of the current active image
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position

Imagick::setInterlaceScheme
Imagick::setLastIterator
Класс Imagick


Sets the Imagick iterator to the last image

Imagick::setIteratorIndex
Imagick::setOption
Класс Imagick
PHP Manual

Imagick::setLastIterator

(PECL imagick 2.0.1)

Imagick::setLastIterator — Sets the Imagick iterator to the last image

Описание

bool Imagick::setLastIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the Imagick iterator to the last image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setIteratorIndex
Imagick::setOption
Класс Imagick


Set an option

Imagick::setLastIterator
Imagick::setPage
Класс Imagick
PHP Manual

Imagick::setOption

(PECL imagick 2.0.0)

Imagick::setOption — Set an option

Описание

bool Imagick::setOption ( string $key , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Associates one or more options with the wand.

Список параметров

key

value

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setLastIterator
Imagick::setPage
Класс Imagick


Sets the page geometry of the Imagick object

Imagick::setOption
Imagick::setPointSize
Класс Imagick
PHP Manual

Imagick::setPage

(PECL imagick 2.0.0)

Imagick::setPage — Sets the page geometry of the Imagick object

Описание

bool Imagick::setPage ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the page geometry of the Imagick object.

Список параметров

width

height

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setOption
Imagick::setPointSize
Класс Imagick


Sets point size

Imagick::setPage
Imagick::setResolution
Класс Imagick
PHP Manual

Imagick::setPointSize

(PECL imagick 2.1.0)

Imagick::setPointSize — Sets point size

Описание

bool Imagick::setPointSize ( float $point_size )

Sets object's point size property. This method can be used for example to set font size for caption: pseudo-format. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.7 или старше.

Список параметров

point_size

Point size

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::getPointSize() - Gets point size

Примеры

Пример #1 A Imagick::setPointSize() example

Example of using Imagick::setPointSize

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Set the point size */
$im->setPointSize(12);

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>

Imagick::setPage
Imagick::setResolution
Класс Imagick


Sets the image resolution

Imagick::setPointSize
Imagick::setResourceLimit
Класс Imagick
PHP Manual

Imagick::setResolution

(PECL imagick 2.0.0)

Imagick::setResolution — Sets the image resolution

Описание

bool Imagick::setResolution ( float $x_resolution , float $y_resolution )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image resolution.

Список параметров

x_resolution

y_resolution

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setPointSize
Imagick::setResourceLimit
Класс Imagick


Sets the limit for a particular resource in megabytes

Imagick::setResolution
Imagick::setSamplingFactors
Класс Imagick
PHP Manual

Imagick::setResourceLimit

(PECL imagick 2.0.0)

Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes

Описание

bool Imagick::setResourceLimit ( int $type , int $limit )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the limit for a particular resource in megabytes.

Список параметров

type

limit

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setResolution
Imagick::setSamplingFactors
Класс Imagick


Sets the image sampling factors

Imagick::setResourceLimit
Imagick::setSize
Класс Imagick
PHP Manual

Imagick::setSamplingFactors

(PECL imagick 2.0.0)

Imagick::setSamplingFactors — Sets the image sampling factors

Описание

bool Imagick::setSamplingFactors ( array $factors )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image sampling factors.

Список параметров

factors

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setResourceLimit
Imagick::setSize
Класс Imagick


Sets the size of the Imagick object

Imagick::setSamplingFactors
Imagick::setSizeOffset
Класс Imagick
PHP Manual

Imagick::setSize

(PECL imagick 2.0.0)

Imagick::setSize — Sets the size of the Imagick object

Описание

bool Imagick::setSize ( int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the size of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Список параметров

columns

rows

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setSamplingFactors
Imagick::setSizeOffset
Класс Imagick


Sets the size and offset of the Imagick object

Imagick::setSize
Imagick::setType
Класс Imagick
PHP Manual

Imagick::setSizeOffset

(PECL imagick 2.0.0)

Imagick::setSizeOffset — Sets the size and offset of the Imagick object

Описание

bool Imagick::setSizeOffset ( int $columns , int $rows , int $offset )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the size and offset of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

columns

The width in pixels.

rows

The height in pixels.

offset

The image offset.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setSize
Imagick::setType
Класс Imagick


Sets the image type attribute

Imagick::setSizeOffset
Imagick::shadeImage
Класс Imagick
PHP Manual

Imagick::setType

(PECL imagick 2.0.0)

Imagick::setType — Sets the image type attribute

Описание

bool Imagick::setType ( int $image_type )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the image type attribute.

Список параметров

image_type

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setSizeOffset
Imagick::shadeImage
Класс Imagick


Creates a 3D effect

Imagick::setType
Imagick::shadowImage
Класс Imagick
PHP Manual

Imagick::shadeImage

(PECL imagick 2.0.0)

Imagick::shadeImage — Creates a 3D effect

Описание

bool Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation )

Shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

gray

A value other than zero shades the intensity of each pixel.

azimuth

Defines the light source direction.

elevation

Defines the light source direction.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::setType
Imagick::shadowImage
Класс Imagick


Simulates an image shadow

Imagick::shadeImage
Imagick::sharpenImage
Класс Imagick
PHP Manual

Imagick::shadowImage

(PECL imagick 2.0.0)

Imagick::shadowImage — Simulates an image shadow

Описание

bool Imagick::shadowImage ( float $opacity , float $sigma , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Simulates an image shadow.

Список параметров

opacity

sigma

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::shadeImage
Imagick::sharpenImage
Класс Imagick


Sharpens an image

Imagick::shadowImage
Imagick::shaveImage
Класс Imagick
PHP Manual

Imagick::sharpenImage

(PECL imagick 2.0.0)

Imagick::sharpenImage — Sharpens an image

Описание

bool Imagick::sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

Список параметров

radius

sigma

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::shadowImage
Imagick::shaveImage
Класс Imagick


Shaves pixels from the image edges

Imagick::sharpenImage
Imagick::shearImage
Класс Imagick
PHP Manual

Imagick::shaveImage

(PECL imagick 2.0.0)

Imagick::shaveImage — Shaves pixels from the image edges

Описание

bool Imagick::shaveImage ( int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

Список параметров

columns

rows

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::sharpenImage
Imagick::shearImage
Класс Imagick


Creating a parallelogram

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Класс Imagick
PHP Manual

Imagick::shearImage

(PECL imagick 2.0.0)

Imagick::shearImage — Creating a parallelogram

Описание

bool Imagick::shearImage ( mixed $background , float $x_shear , float $y_shear )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Список параметров

background

The background color

x_shear

The number of degrees to shear on the x axis

y_shear

The number of degrees to shear on the y axis

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Класс Imagick


Adjusts the contrast of an image

Imagick::shearImage
Imagick::sketchImage
Класс Imagick
PHP Manual

Imagick::sigmoidalContrastImage

(PECL imagick 2.0.0)

Imagick::sigmoidalContrastImage — Adjusts the contrast of an image

Описание

bool Imagick::sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is pushing it); mid-point indicates where midtones fall in the resultant image (0 is white; 50 is middle-gray; 100 is black). Set sharpen to TRUE to increase the image contrast otherwise the contrast is reduced.

Список параметров

sharpen

alpha

beta

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::shearImage
Imagick::sketchImage
Класс Imagick


Simulates a pencil sketch

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
Класс Imagick
PHP Manual

Imagick::sketchImage

(PECL imagick 2.0.0)

Imagick::sketchImage — Simulates a pencil sketch

Описание

bool Imagick::sketchImage ( float $radius , float $sigma , float $angle )

Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::sketchImage() selects a suitable radius for you. Angle gives the angle of the blurring motion. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
Класс Imagick


Applies a solarizing effect to the image

Imagick::sketchImage
Imagick::sparseColorImage
Класс Imagick
PHP Manual

Imagick::solarizeImage

(PECL imagick 2.0.0)

Imagick::solarizeImage — Applies a solarizing effect to the image

Описание

bool Imagick::solarizeImage ( int $threshold )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Список параметров

threshold

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::sketchImage
Imagick::sparseColorImage
Класс Imagick


Interpolates colors

Imagick::solarizeImage
Imagick::spliceImage
Класс Imagick
PHP Manual

Imagick::sparseColorImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::sparseColorImage — Interpolates colors

Описание

public bool Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Given the arguments array containing numeric values this method interpolates the colors found at those coordinates across the whole image using sparse_method. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров

SPARSE_METHOD

Refer to this list of sparse method constants

arguments

An array containing the coordinates. The array is in format array(1,1, 2,45)

CHANNEL

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к этому списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::solarizeImage
Imagick::spliceImage
Класс Imagick


Splices a solid color into the image

Imagick::sparseColorImage
Imagick::spreadImage
Класс Imagick
PHP Manual

Imagick::spliceImage

(PECL imagick 2.0.0)

Imagick::spliceImage — Splices a solid color into the image

Описание

bool Imagick::spliceImage ( int $width , int $height , int $x , int $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Splices a solid color into the image.

Список параметров

width

height

x

y

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::sparseColorImage
Imagick::spreadImage
Класс Imagick


Randomly displaces each pixel in a block

Imagick::spliceImage
Imagick::steganoImage
Класс Imagick
PHP Manual

Imagick::spreadImage

(PECL imagick 2.0.0)

Imagick::spreadImage — Randomly displaces each pixel in a block

Описание

bool Imagick::spreadImage ( float $radius )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Список параметров

radius

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::spliceImage
Imagick::steganoImage
Класс Imagick


Hides a digital watermark within the image

Imagick::spreadImage
Imagick::stereoImage
Класс Imagick
PHP Manual

Imagick::steganoImage

(PECL imagick 2.0.0)

Imagick::steganoImage — Hides a digital watermark within the image

Описание

Imagick Imagick::steganoImage ( Imagick $watermark_wand , int $offset )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.

Список параметров

watermark_wand

offset

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::spreadImage
Imagick::stereoImage
Класс Imagick


Composites two images

Imagick::steganoImage
Imagick::stripImage
Класс Imagick
PHP Manual

Imagick::stereoImage

(PECL imagick 2.0.0)

Imagick::stereoImage — Composites two images

Описание

bool Imagick::stereoImage ( Imagick $offset_wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Composites two images and produces a single image that is the composite of a left and right image of a stereo pair.

Список параметров

offset_wand

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::steganoImage
Imagick::stripImage
Класс Imagick


Strips an image of all profiles and comments

Imagick::stereoImage
Imagick::swirlImage
Класс Imagick
PHP Manual

Imagick::stripImage

(PECL imagick 2.0.0)

Imagick::stripImage — Strips an image of all profiles and comments

Описание

bool Imagick::stripImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Strips an image of all profiles and comments.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::stereoImage
Imagick::swirlImage
Класс Imagick


Swirls the pixels about the center of the image

Imagick::stripImage
Imagick::textureImage
Класс Imagick
PHP Manual

Imagick::swirlImage

(PECL imagick 2.0.0)

Imagick::swirlImage — Swirls the pixels about the center of the image

Описание

bool Imagick::swirlImage ( float $degrees )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Список параметров

degrees

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::stripImage
Imagick::textureImage
Класс Imagick


Repeatedly tiles the texture image

Imagick::swirlImage
Imagick::thresholdImage
Класс Imagick
PHP Manual

Imagick::textureImage

(PECL imagick 2.0.0)

Imagick::textureImage — Repeatedly tiles the texture image

Описание

bool Imagick::textureImage ( Imagick $texture_wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Repeatedly tiles the texture image across and down the image canvas.

Список параметров

texture_wand

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::swirlImage
Imagick::thresholdImage
Класс Imagick


Изменяет отдельные пиксели на основе порогового значения

Imagick::textureImage
Imagick::thumbnailImage
Класс Imagick
PHP Manual

Imagick::thresholdImage

(PECL imagick 2.0.0)

Imagick::thresholdImage — Изменяет отдельные пиксели на основе порогового значения

Описание

bool Imagick::thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Изменяет отдельные пиксели в зависимости от их интенсивности по сравнению с пороговым значением. Результатом будет высоко-контрастное, двух цветное изображение.

Список параметров

threshold

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::textureImage
Imagick::thumbnailImage
Класс Imagick


Changes the size of an image

Imagick::thresholdImage
Imagick::tintImage
Класс Imagick
PHP Manual

Imagick::thumbnailImage

(PECL imagick 2.0.0)

Imagick::thumbnailImage — Changes the size of an image

Описание

bool Imagick::thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200x150 до 400x300 никаких операций не происходило. В Imagick 3.0.0 и далее изображение будет масштабировано до размеров 400x300, так как это наилучшим образом соответствует ("best fit") данным размерам. Если используется параметр bestfit, то ширина и высота также должны быть определены.

Список параметров

columns

Image width

rows

Image height

bestfit

Whether to force maximum values

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::thresholdImage
Imagick::tintImage
Класс Imagick


Applies a color vector to each pixel in the image

Imagick::thumbnailImage
Imagick::transformImage
Класс Imagick
PHP Manual

Imagick::tintImage

(PECL imagick 2.0.0)

Imagick::tintImage — Applies a color vector to each pixel in the image

Описание

bool Imagick::tintImage ( mixed $tint , mixed $opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighing function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Список параметров

tint

opacity

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter and a float representing the opacity value as the second parameter. Previous versions allow only an ImagickPixel objects.

Imagick::thumbnailImage
Imagick::transformImage
Класс Imagick


Convenience method for setting crop size and the image geometry

Imagick::tintImage
Imagick::transparentPaintImage
Класс Imagick
PHP Manual

Imagick::transformImage

(PECL imagick 2.0.0)

Imagick::transformImage — Convenience method for setting crop size and the image geometry

Описание

Imagick Imagick::transformImage ( string $crop , string $geometry )

A convenience method for setting crop size and the image geometry from strings. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

crop

A crop geometry string. This geometry defines a subregion of the image to crop.

geometry

An image geometry string. This geometry defines the final size of the image.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примеры

Пример #1 Using Imagick::transformImage():

The example creates a 100x100 black image.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");
$new_image = $image->transformImage("100x100", "100x100");
$new_image->writeImage('test_out.jpg');
?>

Смотрите также

  • Imagick::cropImage() - Извлекает область изображения
  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image

Imagick::tintImage
Imagick::transparentPaintImage
Класс Imagick


Paints pixels transparent

Imagick::transformImage
Imagick::transposeImage
Класс Imagick
PHP Manual

Imagick::transparentPaintImage

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::transparentPaintImage — Paints pixels transparent

Описание

bool Imagick::transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )

Paints pixels matching the target color transparent. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.

Список параметров

target

The target color to paint

alpha

Уровень прозрачности: 1.0 полностью непрозрачный, тогда как 0.0 полностью прозрачен.

fuzz

Мера округления (fuzz). Например, установите значение fuzz в 10 и красный цвет с интенсивностями 100 и 102 соответственно будут интерпретироваться как один и тот же цвет.

invert

If TRUE paints any pixel that does not match the target color.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::transformImage
Imagick::transposeImage
Класс Imagick


Creates a vertical mirror image

Imagick::transparentPaintImage
Imagick::transverseImage
Класс Imagick
PHP Manual

Imagick::transposeImage

(PECL imagick 2.0.0)

Imagick::transposeImage — Creates a vertical mirror image

Описание

bool Imagick::transposeImage ( void )

Creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them 90-degrees. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::transverseImage() - Creates a horizontal mirror image

Imagick::transparentPaintImage
Imagick::transverseImage
Класс Imagick


Creates a horizontal mirror image

Imagick::transposeImage
Imagick::trimImage
Класс Imagick
PHP Manual

Imagick::transverseImage

(PECL imagick 2.0.0)

Imagick::transverseImage — Creates a horizontal mirror image

Описание

bool Imagick::transverseImage ( void )

Creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them 270-degrees. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::transposeImage() - Creates a vertical mirror image

Imagick::transposeImage
Imagick::trimImage
Класс Imagick


Remove edges from the image

Imagick::transverseImage
Imagick::uniqueImageColors
Класс Imagick
PHP Manual

Imagick::trimImage

(PECL imagick 2.0.0)

Imagick::trimImage — Remove edges from the image

Описание

bool Imagick::trimImage ( float $fuzz )

Remove edges that are the background color from the image. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Примеры

Пример #1 Using Imagick::trimImage():

Trim an image, then display to the browser.

<?php
/* Create the object and read the image in */
$im = new Imagick("image.jpg");

/* Trim the image. */
$im->trimImage(0);

/* Ouput the image */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Смотрите также

  • Imagick::getQuantumDepth() - Gets the quantum depth
  • Imagick::getQuantumRange() - Returns the Imagick quantum range

Imagick::transverseImage
Imagick::uniqueImageColors
Класс Imagick


Discards all but one of any pixel color

Imagick::trimImage
Imagick::unsharpMaskImage
Класс Imagick
PHP Manual

Imagick::uniqueImageColors

(PECL imagick 2.0.0)

Imagick::uniqueImageColors — Discards all but one of any pixel color

Описание

bool Imagick::uniqueImageColors ( void )

Discards all but one of any pixel color. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::trimImage
Imagick::unsharpMaskImage
Класс Imagick


Sharpens an image

Imagick::uniqueImageColors
Imagick::valid
Класс Imagick
PHP Manual

Imagick::unsharpMaskImage

(PECL imagick 2.0.0)

Imagick::unsharpMaskImage — Sharpens an image

Описание

bool Imagick::unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::UnsharpMaskImage() selects a suitable radius for you.

Список параметров

radius

sigma

amount

threshold

channel

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Imagick::uniqueImageColors
Imagick::valid
Класс Imagick


Checks if the current item is valid

Imagick::unsharpMaskImage
Imagick::vignetteImage
Класс Imagick
PHP Manual

Imagick::valid

(PECL imagick 2.0.0)

Imagick::valid — Checks if the current item is valid

Описание

bool Imagick::valid ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Checks if the current item is valid.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::unsharpMaskImage
Imagick::vignetteImage
Класс Imagick


Adds vignette filter to the image

Imagick::valid
Imagick::waveImage
Класс Imagick
PHP Manual

Imagick::vignetteImage

(PECL imagick 2.0.0)

Imagick::vignetteImage — Adds vignette filter to the image

Описание

bool Imagick::vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )

Softens the edges of the image in vignette style. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

blackPoint

The black point.

whitePoint

The white point

x

X offset of the ellipse

y

Y offset of the ellipse

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Смотрите также

  • Imagick::waveImage() - Applies wave filter to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Imagick::valid
Imagick::waveImage
Класс Imagick


Applies wave filter to the image

Imagick::vignetteImage
Imagick::whiteThresholdImage
Класс Imagick
PHP Manual

Imagick::waveImage

(PECL imagick 2.0.0)

Imagick::waveImage — Applies wave filter to the image

Описание

bool Imagick::waveImage ( float $amplitude , float $length )

Applies a wave filter to the image. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Список параметров

amplitude

The amplitude of the wave.

length

The length of the wave.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Бросает ImagickException при ошибке.

Смотрите также

  • Imagick::solarizeImage() - Applies a solarizing effect to the image
  • Imagick::oilpaintImage() - Simulates an oil painting
  • Imagick::embossImage() - Returns a grayscale image with a three-dimensional effect
  • Imagick::addNoiseImage() - Накладывает случайный шум на изображение
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Imagick::vignetteImage
Imagick::whiteThresholdImage
Класс Imagick


Force all pixels above the threshold into white

Imagick::waveImage
Imagick::writeImage
Класс Imagick
PHP Manual

Imagick::whiteThresholdImage

(PECL imagick 2.0.0)

Imagick::whiteThresholdImage — Force all pixels above the threshold into white

Описание

bool Imagick::whiteThresholdImage ( mixed $threshold )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Is like Imagick::ThresholdImage() but force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.

Список параметров

threshold

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::waveImage
Imagick::writeImage
Класс Imagick


Writes an image to the specified filename

Imagick::whiteThresholdImage
Imagick::writeImageFile
Класс Imagick
PHP Manual

Imagick::writeImage

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImage — Writes an image to the specified filename

Описание

bool Imagick::writeImage ([ string $filename ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Imagick::ReadImage() or Imagick::SetImageFilename().

Список параметров

filename

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::whiteThresholdImage
Imagick::writeImageFile
Класс Imagick


Writes an image to a filehandle

Imagick::writeImage
Imagick::writeImages
Класс Imagick
PHP Manual

Imagick::writeImageFile

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::writeImageFile — Writes an image to a filehandle

Описание

bool Imagick::writeImageFile ( resource $filehandle )

Writes the image sequence to an open filehandle. The handle must be opened with for example fopen. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

filehandle

Filehandle where to write the image

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::writeImage
Imagick::writeImages
Класс Imagick


Writes an image or image sequence

Imagick::writeImageFile
Imagick::writeImagesFile
Класс Imagick
PHP Manual

Imagick::writeImages

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImages — Writes an image or image sequence

Описание

bool Imagick::writeImages ( string $filename , bool $adjoin )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Writes an image or image sequence.

Список параметров

filename

adjoin

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::writeImageFile
Imagick::writeImagesFile
Класс Imagick


Writes frames to a filehandle

Imagick::writeImages
Класс ImagickDraw
Класс Imagick
PHP Manual

Imagick::writeImagesFile

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::writeImagesFile — Writes frames to a filehandle

Описание

bool Imagick::writeImagesFile ( resource $filehandle )

Writes all image frames into an open filehandle. This method can be used to write animated gifs or other multiframe images into open filehandle. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

Список параметров

filehandle

Filehandle where to write the images

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Imagick::writeImages
Класс ImagickDraw
Класс Imagick


Класс ImagickDraw

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

ImagickDraw {
bool affine ( array $affine )
bool annotation ( float $x , float $y , string $text )
bool arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
bool bezier ( array $coordinates )
bool circle ( float $ox , float $oy , float $px , float $py )
bool clear ( void )
ImagickDraw clone ( void )
bool color ( float $x , float $y , int $paintMethod )
bool comment ( string $comment )
bool composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
ImagickDraw __construct ( void )
bool destroy ( void )
bool ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
string getClipPath ( void )
int getClipRule ( void )
int getClipUnits ( void )
ImagickPixel getFillColor ( void )
float getFillOpacity ( void )
int getFillRule ( void )
string getFont ( void )
string getFontFamily ( void )
float getFontSize ( void )
int getFontStyle ( void )
int getFontWeight ( void )
int getGravity ( void )
bool getStrokeAntialias ( void )
ImagickPixel getStrokeColor ( void )
array getStrokeDashArray ( void )
float getStrokeDashOffset ( void )
int getStrokeLineCap ( void )
int getStrokeLineJoin ( void )
int getStrokeMiterLimit ( void )
float getStrokeOpacity ( void )
float getStrokeWidth ( void )
int getTextAlignment ( void )
bool getTextAntialias ( void )
int getTextDecoration ( void )
string getTextEncoding ( void )
ImagickPixel getTextUnderColor ( void )
string getVectorGraphics ( void )
bool line ( float $sx , float $sy , float $ex , float $ey )
bool matte ( float $x , float $y , int $paintMethod )
bool pathClose ( void )
bool pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
bool pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
bool pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
bool pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathFinish ( void )
bool pathLineToAbsolute ( float $x , float $y )
bool pathLineToHorizontalAbsolute ( float $x )
bool pathLineToHorizontalRelative ( float $x )
bool pathLineToRelative ( float $x , float $y )
bool pathLineToVerticalAbsolute ( float $y )
bool pathLineToVerticalRelative ( float $y )
bool pathMoveToAbsolute ( float $x , float $y )
bool pathMoveToRelative ( float $x , float $y )
bool pathStart ( void )
bool point ( float $x , float $y )
bool polygon ( array $coordinates )
bool polyline ( array $coordinates )
bool pop ( void )
bool popClipPath ( void )
bool popDefs ( void )
bool popPattern ( void )
bool push ( void )
bool pushClipPath ( string $clip_mask_id )
bool pushDefs ( void )
bool pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
bool rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
bool render ( void )
bool rotate ( float $degrees )
bool roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
bool scale ( float $x , float $y )
bool setClipPath ( string $clip_mask )
bool setClipRule ( int $fill_rule )
bool setClipUnits ( int $clip_units )
bool setFillAlpha ( float $opacity )
bool setFillColor ( ImagickPixel $fill_pixel )
bool setFillOpacity ( float $fillOpacity )
bool setFillPatternURL ( string $fill_url )
bool setFillRule ( int $fill_rule )
bool setFont ( string $font_name )
bool setFontFamily ( string $font_family )
bool setFontSize ( float $pointsize )
bool setFontStretch ( int $fontStretch )
bool setFontStyle ( int $style )
bool setFontWeight ( int $font_weight )
bool setGravity ( int $gravity )
bool setStrokeAlpha ( float $opacity )
bool setStrokeAntialias ( bool $stroke_antialias )
bool setStrokeColor ( ImagickPixel $stroke_pixel )
bool setStrokeDashArray ( array $dashArray )
bool setStrokeDashOffset ( float $dash_offset )
bool setStrokeLineCap ( int $linecap )
bool setStrokeLineJoin ( int $linejoin )
bool setStrokeMiterLimit ( int $miterlimit )
bool setStrokeOpacity ( float $stroke_opacity )
bool setStrokePatternURL ( string $stroke_url )
bool setStrokeWidth ( float $stroke_width )
bool setTextAlignment ( int $alignment )
bool setTextAntialias ( bool $antiAlias )
bool setTextDecoration ( int $decoration )
bool setTextEncoding ( string $encoding )
bool setTextUnderColor ( ImagickPixel $under_color )
bool setVectorGraphics ( string $xml )
bool setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
bool skewX ( float $degrees )
bool skewY ( float $degrees )
bool translate ( float $x , float $y )
}

Содержание

  • ImagickDraw::affine — Adjusts the current affine transformation matrix
  • ImagickDraw::annotation — Draws text on the image
  • ImagickDraw::arc — Draws an arc
  • ImagickDraw::bezier — Draws a bezier curve
  • ImagickDraw::circle — Draws a circle
  • ImagickDraw::clear — Clears the ImagickDraw
  • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
  • ImagickDraw::color — Draws color on image
  • ImagickDraw::comment — Adds a comment
  • ImagickDraw::composite — Composites an image onto the current image
  • ImagickDraw::__construct — The ImagickDraw constructor
  • ImagickDraw::destroy — Frees all associated resources
  • ImagickDraw::ellipse — Draws an ellipse on the image
  • ImagickDraw::getClipPath — Obtains the current clipping path ID
  • ImagickDraw::getClipRule — Returns the current polygon fill rule
  • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
  • ImagickDraw::getFillColor — Returns the fill color
  • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
  • ImagickDraw::getFillRule — Returns the fill rule
  • ImagickDraw::getFont — Returns the font
  • ImagickDraw::getFontFamily — Returns the font family
  • ImagickDraw::getFontSize — Returns the font pointsize
  • ImagickDraw::getFontStyle — Returns the font style
  • ImagickDraw::getFontWeight — Returns the font weight
  • ImagickDraw::getGravity — Returns the text placement gravity
  • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
  • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
  • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
  • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
  • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
  • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
  • ImagickDraw::getTextAlignment — Returns the text alignment
  • ImagickDraw::getTextAntialias — Returns the current text antialias setting
  • ImagickDraw::getTextDecoration — Returns the text decoration
  • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
  • ImagickDraw::getTextUnderColor — Returns the text under color
  • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
  • ImagickDraw::line — Draws a line
  • ImagickDraw::matte — Paints on the image's opacity channel
  • ImagickDraw::pathClose — Adds a path element to the current path
  • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
  • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
  • ImagickDraw::pathFinish — Terminates the current path
  • ImagickDraw::pathLineToAbsolute — Draws a line path
  • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
  • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
  • ImagickDraw::pathLineToRelative — Draws a line path
  • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
  • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
  • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
  • ImagickDraw::pathMoveToRelative — Starts a new sub-path
  • ImagickDraw::pathStart — Declares the start of a path drawing list
  • ImagickDraw::point — Draws a point
  • ImagickDraw::polygon — Draws a polygon
  • ImagickDraw::polyline — Draws a polyline
  • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
  • ImagickDraw::popClipPath — Terminates a clip path definition
  • ImagickDraw::popDefs — Terminates a definition list
  • ImagickDraw::popPattern — Terminates a pattern definition
  • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
  • ImagickDraw::pushClipPath — Starts a clip path definition
  • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
  • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
  • ImagickDraw::rectangle — Draws a rectangle
  • ImagickDraw::render — Renders all preceding drawing commands onto the image
  • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • ImagickDraw::roundRectangle — Draws a rounded rectangle
  • ImagickDraw::scale — Adjusts the scaling factor
  • ImagickDraw::setClipPath — Associates a named clipping path with the image
  • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
  • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
  • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
  • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
  • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
  • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
  • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
  • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
  • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
  • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
  • ImagickDraw::setFontWeight — Sets the font weight
  • ImagickDraw::setGravity — Sets the text placement gravity
  • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
  • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
  • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
  • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
  • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
  • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
  • ImagickDraw::setTextAlignment — Specifies a text alignment
  • ImagickDraw::setTextAntialias — Controls whether text is antialiased
  • ImagickDraw::setTextDecoration — Specifies a decoration
  • ImagickDraw::setTextEncoding — Specifies specifies the text code set
  • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
  • ImagickDraw::setVectorGraphics — Sets the vector graphics
  • ImagickDraw::setViewbox — Sets the overall canvas size
  • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
  • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
  • ImagickDraw::translate — Applies a translation to the current coordinate system
Imagick::writeImagesFile
ImagickDraw::affine
ImageMagick


Adjusts the current affine transformation matrix

Класс ImagickDraw
ImagickDraw::annotation
Класс ImagickDraw
PHP Manual

ImagickDraw::affine

(PECL imagick 2.0.0)

ImagickDraw::affine — Adjusts the current affine transformation matrix

Описание

bool ImagickDraw::affine ( array $affine )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adjusts the current affine transformation matrix with the specified affine transformation matrix.

Список параметров

affine

Affine matrix parameters

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Класс ImagickDraw
ImagickDraw::annotation
Класс ImagickDraw


Draws text on the image

ImagickDraw::affine
ImagickDraw::arc
Класс ImagickDraw
PHP Manual

ImagickDraw::annotation

(PECL imagick 2.0.0)

ImagickDraw::annotation — Draws text on the image

Описание

bool ImagickDraw::annotation ( float $x , float $y , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws text on the image.

Список параметров

x

The x coordinate where text is drawn

y

The y coordinate where text is drawn

text

The text to draw on the image

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::affine
ImagickDraw::arc
Класс ImagickDraw


Draws an arc

ImagickDraw::annotation
ImagickDraw::bezier
Класс ImagickDraw
PHP Manual

ImagickDraw::arc

(PECL imagick 2.0.0)

ImagickDraw::arc — Draws an arc

Описание

bool ImagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws an arc falling within a specified bounding rectangle on the image.

Список параметров

sx

Starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::annotation
ImagickDraw::bezier
Класс ImagickDraw


Draws a bezier curve

ImagickDraw::arc
ImagickDraw::circle
Класс ImagickDraw
PHP Manual

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezier — Draws a bezier curve

Описание

bool ImagickDraw::bezier ( array $coordinates )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a bezier curve through a set of points on the image.

Список параметров

coordinates

Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::arc
ImagickDraw::circle
Класс ImagickDraw


Draws a circle

ImagickDraw::bezier
ImagickDraw::clear
Класс ImagickDraw
PHP Manual

ImagickDraw::circle

(PECL imagick 2.0.0)

ImagickDraw::circle — Draws a circle

Описание

bool ImagickDraw::circle ( float $ox , float $oy , float $px , float $py )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a circle on the image.

Список параметров

ox

origin x coordinate

oy

origin y coordinate

px

perimeter x coordinate

py

perimeter y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::bezier
ImagickDraw::clear
Класс ImagickDraw


Clears the ImagickDraw

ImagickDraw::circle
ImagickDraw::clone
Класс ImagickDraw
PHP Manual

ImagickDraw::clear

(PECL imagick 2.0.0)

ImagickDraw::clear — Clears the ImagickDraw

Описание

bool ImagickDraw::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clears the ImagickDraw object of any accumulated commands, and resets the settings it contains to their defaults.

Возвращаемые значения

Returns an ImagickDraw object.

ImagickDraw::circle
ImagickDraw::clone
Класс ImagickDraw


Makes an exact copy of the specified ImagickDraw object

ImagickDraw::clear
ImagickDraw::color
Класс ImagickDraw
PHP Manual

ImagickDraw::clone

(PECL imagick 2.0.0)

ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object

Описание

ImagickDraw ImagickDraw::clone ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Makes an exact copy of the specified ImagickDraw object.

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

ImagickDraw::clear
ImagickDraw::color
Класс ImagickDraw


Draws color on image

ImagickDraw::clone
ImagickDraw::comment
Класс ImagickDraw
PHP Manual

ImagickDraw::color

(PECL imagick 2.0.0)

ImagickDraw::color — Draws color on image

Описание

bool ImagickDraw::color ( float $x , float $y , int $paintMethod )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws color on image using the current fill color, starting at specified position, and using specified paint method.

Список параметров

x

x coordinate of the paint

y

y coordinate of the paint

paintMethod

one of the PAINT_ constants

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::clone
ImagickDraw::comment
Класс ImagickDraw


Adds a comment

ImagickDraw::color
ImagickDraw::composite
Класс ImagickDraw
PHP Manual

ImagickDraw::comment

(PECL imagick 2.0.0)

ImagickDraw::comment — Adds a comment

Описание

bool ImagickDraw::comment ( string $comment )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a comment to a vector output stream.

Список параметров

comment

The comment string to add to vector output stream

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::color
ImagickDraw::composite
Класс ImagickDraw


Composites an image onto the current image

ImagickDraw::comment
ImagickDraw::__construct
Класс ImagickDraw
PHP Manual

ImagickDraw::composite

(PECL imagick 2.0.0)

ImagickDraw::composite — Composites an image onto the current image

Описание

bool ImagickDraw::composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Composites an image onto the current image, using the specified composition operator, specified position, and at the specified size.

Список параметров

compose

composition operator. One of COMPOSITE_ constants

x

x coordinate of the top left corner

y

y coordinate of the top left corner

width

width of the composition image

height

height of the composition image

compositeWand

the Imagick object where composition image is taken from

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::comment
ImagickDraw::__construct
Класс ImagickDraw


The ImagickDraw constructor

ImagickDraw::composite
ImagickDraw::destroy
Класс ImagickDraw
PHP Manual

ImagickDraw::__construct

(PECL imagick 2.0.0)

ImagickDraw::__construct — The ImagickDraw constructor

Описание

ImagickDraw ImagickDraw::__construct ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

The ImagickDraw constructor

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::composite
ImagickDraw::destroy
Класс ImagickDraw


Frees all associated resources

ImagickDraw::__construct
ImagickDraw::ellipse
Класс ImagickDraw
PHP Manual

ImagickDraw::destroy

(PECL imagick 2.0.0)

ImagickDraw::destroy — Frees all associated resources

Описание

bool ImagickDraw::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Frees all resources associated with the ImagickDraw object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::__construct
ImagickDraw::ellipse
Класс ImagickDraw


Draws an ellipse on the image

ImagickDraw::destroy
ImagickDraw::getClipPath
Класс ImagickDraw
PHP Manual

ImagickDraw::ellipse

(PECL imagick 2.0.0)

ImagickDraw::ellipse — Draws an ellipse on the image

Описание

bool ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws an ellipse on the image.

Список параметров

ox

oy

rx

ry

start

end

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::destroy
ImagickDraw::getClipPath
Класс ImagickDraw


Obtains the current clipping path ID

ImagickDraw::ellipse
ImagickDraw::getClipRule
Класс ImagickDraw
PHP Manual

ImagickDraw::getClipPath

(PECL imagick 2.0.0)

ImagickDraw::getClipPath — Obtains the current clipping path ID

Описание

string ImagickDraw::getClipPath ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Obtains the current clipping path ID.

Возвращаемые значения

Returns a string containing the clip path ID or false if no clip path exists.

ImagickDraw::ellipse
ImagickDraw::getClipRule
Класс ImagickDraw


Returns the current polygon fill rule

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
Класс ImagickDraw
PHP Manual

ImagickDraw::getClipRule

(PECL imagick 2.0.0)

ImagickDraw::getClipRule — Returns the current polygon fill rule

Описание

int ImagickDraw::getClipRule ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the current polygon fill rule to be used by the clipping path.

Возвращаемые значения

Returns one of the FILLRULE_ constants.

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
Класс ImagickDraw


Returns the interpretation of clip path units

ImagickDraw::getClipRule
ImagickDraw::getFillColor
Класс ImagickDraw
PHP Manual

ImagickDraw::getClipUnits

(PECL imagick 2.0.0)

ImagickDraw::getClipUnits — Returns the interpretation of clip path units

Описание

int ImagickDraw::getClipUnits ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the interpretation of clip path units.

Возвращаемые значения

Returns an int on success.

ImagickDraw::getClipRule
ImagickDraw::getFillColor
Класс ImagickDraw


Returns the fill color

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
Класс ImagickDraw
PHP Manual

ImagickDraw::getFillColor

(PECL imagick 2.0.0)

ImagickDraw::getFillColor — Returns the fill color

Описание

ImagickPixel ImagickDraw::getFillColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the fill color used for drawing filled objects.

Возвращаемые значения

Returns an ImagickPixel object.

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
Класс ImagickDraw


Returns the opacity used when drawing

ImagickDraw::getFillColor
ImagickDraw::getFillRule
Класс ImagickDraw
PHP Manual

ImagickDraw::getFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::getFillOpacity — Returns the opacity used when drawing

Описание

float ImagickDraw::getFillOpacity ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

Возвращаемые значения

The opacity.

ImagickDraw::getFillColor
ImagickDraw::getFillRule
Класс ImagickDraw


Returns the fill rule

ImagickDraw::getFillOpacity
ImagickDraw::getFont
Класс ImagickDraw
PHP Manual

ImagickDraw::getFillRule

(PECL imagick 2.0.0)

ImagickDraw::getFillRule — Returns the fill rule

Описание

int ImagickDraw::getFillRule ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the fill rule used while drawing polygons.

Возвращаемые значения

Returns a FILLRULE_ constant

ImagickDraw::getFillOpacity
ImagickDraw::getFont
Класс ImagickDraw


Returns the font

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
Класс ImagickDraw
PHP Manual

ImagickDraw::getFont

(PECL imagick 2.0.0)

ImagickDraw::getFont — Returns the font

Описание

string ImagickDraw::getFont ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a string specifying the font used when annotating with text.

Возвращаемые значения

Returns a string on success and false if no font is set.

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
Класс ImagickDraw


Returns the font family

ImagickDraw::getFont
ImagickDraw::getFontSize
Класс ImagickDraw
PHP Manual

ImagickDraw::getFontFamily

(PECL imagick 2.0.0)

ImagickDraw::getFontFamily — Returns the font family

Описание

string ImagickDraw::getFontFamily ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the font family to use when annotating with text.

Возвращаемые значения

Returns the font family currently selected or false if font family is not set.

ImagickDraw::getFont
ImagickDraw::getFontSize
Класс ImagickDraw


Returns the font pointsize

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
Класс ImagickDraw
PHP Manual

ImagickDraw::getFontSize

(PECL imagick 2.0.0)

ImagickDraw::getFontSize — Returns the font pointsize

Описание

float ImagickDraw::getFontSize ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the font pointsize used when annotating with text.

Возвращаемые значения

Returns the font size associated with the current ImagickDraw object.

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
Класс ImagickDraw


Returns the font style

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
Класс ImagickDraw
PHP Manual

ImagickDraw::getFontStyle

(PECL imagick 2.0.0)

ImagickDraw::getFontStyle — Returns the font style

Описание

int ImagickDraw::getFontStyle ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the font style used when annotating with text.

Возвращаемые значения

Returns the font style constant (STYLE_) associated with the ImagickDraw object or 0 if no style is set.

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
Класс ImagickDraw


Returns the font weight

ImagickDraw::getFontStyle
ImagickDraw::getGravity
Класс ImagickDraw
PHP Manual

ImagickDraw::getFontWeight

(PECL imagick 2.0.0)

ImagickDraw::getFontWeight — Returns the font weight

Описание

int ImagickDraw::getFontWeight ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the font weight used when annotating with text.

Возвращаемые значения

Returns an int on success and 0 if no weight is set.

ImagickDraw::getFontStyle
ImagickDraw::getGravity
Класс ImagickDraw


Returns the text placement gravity

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
Класс ImagickDraw
PHP Manual

ImagickDraw::getGravity

(PECL imagick 2.0.0)

ImagickDraw::getGravity — Returns the text placement gravity

Описание

int ImagickDraw::getGravity ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the text placement gravity used when annotating with text.

Возвращаемые значения

Returns a GRAVITY_ constant on success and 0 if no gravity is set.

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
Класс ImagickDraw


Returns the current stroke antialias setting

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting

Описание

bool ImagickDraw::getStrokeAntialias ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the current stroke antialias setting. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Возвращаемые значения

Returns TRUE if antialiasing is on and false if it is off.

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
Класс ImagickDraw


Returns the color used for stroking object outlines

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines

Описание

ImagickPixel ImagickDraw::getStrokeColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color used for stroking object outlines.

Список параметров

stroke_color

Возвращаемые значения

Returns an ImagickPixel object which describes the color.

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
Класс ImagickDraw


Returns an array representing the pattern of dashes and gaps used to stroke paths

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths

Описание

array ImagickDraw::getStrokeDashArray ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns an array representing the pattern of dashes and gaps used to stroke paths.

Возвращаемые значения

Returns an array on success and empty array if not set.

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
Класс ImagickDraw


Returns the offset into the dash pattern to start the dash

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash

Описание

float ImagickDraw::getStrokeDashOffset ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the offset into the dash pattern to start the dash.

Возвращаемые значения

Returns a float representing the offset and 0 if it's not set.

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
Класс ImagickDraw


Returns the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked

Описание

int ImagickDraw::getStrokeLineCap ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the shape to be used at the end of open subpaths when they are stroked.

Возвращаемые значения

Returns one of the LINECAP_ constants or 0 if stroke linecap is not set.

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
Класс ImagickDraw


Returns the shape to be used at the corners of paths when they are stroked

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked

Описание

int ImagickDraw::getStrokeLineJoin ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Возвращаемые значения

Returns one of the LINEJOIN_ constants or 0 if stroke line join is not set.

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
Класс ImagickDraw


Returns the stroke miter limit

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit

Описание

int ImagickDraw::getStrokeMiterLimit ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The 'miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Возвращаемые значения

Returns an int describing the miter limit and 0 if no miter limit is set.

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
Класс ImagickDraw


Returns the opacity of stroked object outlines

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines

Описание

float ImagickDraw::getStrokeOpacity ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the opacity of stroked object outlines.

Возвращаемые значения

Returns a double describing the opacity.

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
Класс ImagickDraw


Returns the width of the stroke used to draw object outlines

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
Класс ImagickDraw
PHP Manual

ImagickDraw::getStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines

Описание

float ImagickDraw::getStrokeWidth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the width of the stroke used to draw object outlines.

Возвращаемые значения

Returns a double describing the stroke width.

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
Класс ImagickDraw


Returns the text alignment

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
Класс ImagickDraw
PHP Manual

ImagickDraw::getTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::getTextAlignment — Returns the text alignment

Описание

int ImagickDraw::getTextAlignment ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the alignment applied when annotating with text.

Возвращаемые значения

Returns one of the ALIGN_ constants and 0 if no align is set.

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
Класс ImagickDraw


Returns the current text antialias setting

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
Класс ImagickDraw
PHP Manual

ImagickDraw::getTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::getTextAntialias — Returns the current text antialias setting

Описание

bool ImagickDraw::getTextAntialias ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the current text antialias setting, which determines whether text is antialiased. Text is antialiased by default.

Возвращаемые значения

Returns TRUE if text is antialiased and false if not.

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
Класс ImagickDraw


Returns the text decoration

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
Класс ImagickDraw
PHP Manual

ImagickDraw::getTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::getTextDecoration — Returns the text decoration

Описание

int ImagickDraw::getTextDecoration ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the decoration applied when annotating with text.

Возвращаемые значения

Returns one of the DECORATION_ constants and 0 if no decoration is set.

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
Класс ImagickDraw


Returns the code set used for text annotations

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
Класс ImagickDraw
PHP Manual

ImagickDraw::getTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::getTextEncoding — Returns the code set used for text annotations

Описание

string ImagickDraw::getTextEncoding ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a string which specifies the code set used for text annotations.

Возвращаемые значения

Returns a string specifying the code set or false if text encoding is not set.

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
Класс ImagickDraw


Returns the text under color

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
Класс ImagickDraw
PHP Manual

ImagickDraw::getTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::getTextUnderColor — Returns the text under color

Описание

ImagickPixel ImagickDraw::getTextUnderColor ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color of a background rectangle to place under text annotations.

Возвращаемые значения

Returns an ImagickPixel object describing the color.

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
Класс ImagickDraw


Returns a string containing vector graphics

ImagickDraw::getTextUnderColor
ImagickDraw::line
Класс ImagickDraw
PHP Manual

ImagickDraw::getVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::getVectorGraphics — Returns a string containing vector graphics

Описание

string ImagickDraw::getVectorGraphics ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a string which specifies the vector graphics generated by any graphics calls made since the ImagickDraw object was instantiated.

Возвращаемые значения

Returns a string containing the vector graphics.

ImagickDraw::getTextUnderColor
ImagickDraw::line
Класс ImagickDraw


Draws a line

ImagickDraw::getVectorGraphics
ImagickDraw::matte
Класс ImagickDraw
PHP Manual

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::line — Draws a line

Описание

bool ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Список параметров

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::getVectorGraphics
ImagickDraw::matte
Класс ImagickDraw


Paints on the image's opacity channel

ImagickDraw::line
ImagickDraw::pathClose
Класс ImagickDraw
PHP Manual

ImagickDraw::matte

(PECL imagick 2.0.0)

ImagickDraw::matte — Paints on the image's opacity channel

Описание

bool ImagickDraw::matte ( float $x , float $y , int $paintMethod )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Paints on the image's opacity channel in order to set effected pixels to transparent, to influence the opacity of pixels.

Список параметров

x

x coordinate of the matte

y

y coordinate of the matte

paintMethod

PAINT_ constant

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::line
ImagickDraw::pathClose
Класс ImagickDraw


Adds a path element to the current path

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathClose

(PECL imagick 2.0.0)

ImagickDraw::pathClose — Adds a path element to the current path

Описание

bool ImagickDraw::pathClose ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds a path element to the current path which closes the current subpath by drawing a straight line from the current point to the current subpath's most recent starting point (usually, the most recent moveto point).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
Класс ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve

Описание

bool ImagickDraw::pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x1

x coordinate of the first control point

y1

y coordinate of the first control point

x2

x coordinate of the second control point

y2

y coordinate of the first control point

x

x coordinate of the curve end

y

y coordinate of the curve end

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
Класс ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve

Описание

bool ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x1

x coordinate of the control point

y1

y coordinate of the control point

x

x coordinate of the end point

y

y coordinate of the end point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
Класс ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve

Описание

bool ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x1

starting x coordinate

y1

starting y coordinate

x

ending x coordinate

y

ending y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
Класс ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve

Описание

bool ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a quadratic Bezier curve (using absolute coordinates) from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point.). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x

ending x coordinate

y

ending y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
Класс ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve

Описание

bool ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a quadratic Bezier curve (using relative coordinates) from the current point to (x, y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point). At the end of the command, the new current point becomes the final (x, y) coordinate pair used in the polybezier.

Список параметров

x

ending x coordinate

y

ending y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
Класс ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve

Описание

bool ImagickDraw::pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x1

x coordinate of starting control point

y1

y coordinate of starting control point

x2

x coordinate of ending control point

y2

y coordinate of ending control point

x

ending x coordinate

y

ending y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
Класс ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve

Описание

bool ImagickDraw::pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
Класс ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve

Описание

bool ImagickDraw::pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Список параметров

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
Класс ImagickDraw


Draws an elliptical arc

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc

Описание

bool ImagickDraw::pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws an elliptical arc from the current point to (x, y) using absolute coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is TRUE then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Список параметров

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
Класс ImagickDraw


Draws an elliptical arc

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
Класс ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc

Описание

bool ImagickDraw::pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws an elliptical arc from the current point to (x, y) using relative coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is TRUE then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Список параметров

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
Класс ImagickDraw


Terminates the current path

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathFinish

(PECL imagick 2.0.0)

ImagickDraw::pathFinish — Terminates the current path

Описание

bool ImagickDraw::pathFinish ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Terminates the current path.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
Класс ImagickDraw


Draws a line path

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToAbsolute — Draws a line path

Описание

bool ImagickDraw::pathLineToAbsolute ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a line path from the current point to the given coordinate using absolute coordinates. The coordinate then becomes the new current point.

Список параметров

x

starting x coordinate

y

ending x coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
Класс ImagickDraw


Draws a horizontal line path

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path

Описание

bool ImagickDraw::pathLineToHorizontalAbsolute ( float $x )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a horizontal line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Список параметров

x

x coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
Класс ImagickDraw


Draws a horizontal line

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line

Описание

bool ImagickDraw::pathLineToHorizontalRelative ( float $x )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a horizontal line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Список параметров

x

x coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
Класс ImagickDraw


Draws a line path

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToRelative — Draws a line path

Описание

bool ImagickDraw::pathLineToRelative ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a line path from the current point to the given coordinate using relative coordinates. The coordinate then becomes the new current point.

Список параметров

x

starting x coordinate

y

starting y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
Класс ImagickDraw


Draws a vertical line

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line

Описание

bool ImagickDraw::pathLineToVerticalAbsolute ( float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a vertical line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Список параметров

y

y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
Класс ImagickDraw


Draws a vertical line path

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
Класс ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path

Описание

bool ImagickDraw::pathLineToVerticalRelative ( float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a vertical line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Список параметров

y

y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
Класс ImagickDraw


Starts a new sub-path

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
Класс ImagickDraw
PHP Manual

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToAbsolute — Starts a new sub-path

Описание

bool ImagickDraw::pathMoveToAbsolute ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Starts a new sub-path at the given coordinate using absolute coordinates. The current point then becomes the specified coordinate.

Список параметров

x

x coordinate of the starting point

y

y coordinate of the starting point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
Класс ImagickDraw


Starts a new sub-path

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
Класс ImagickDraw
PHP Manual

ImagickDraw::pathMoveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToRelative — Starts a new sub-path

Описание

bool ImagickDraw::pathMoveToRelative ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Starts a new sub-path at the given coordinate using relative coordinates. The current point then becomes the specified coordinate.

Список параметров

x

target x coordinate

y

target y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
Класс ImagickDraw


Declares the start of a path drawing list

ImagickDraw::pathMoveToRelative
ImagickDraw::point
Класс ImagickDraw
PHP Manual

ImagickDraw::pathStart

(PECL imagick 2.0.0)

ImagickDraw::pathStart — Declares the start of a path drawing list

Описание

bool ImagickDraw::pathStart ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Declares the start of a path drawing list which is terminated by a matching DrawPathFinish() command. All other DrawPath commands must be enclosed between a and a DrawPathFinish() command. This is because path drawing commands are subordinate commands and they do not function by themselves.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathMoveToRelative
ImagickDraw::point
Класс ImagickDraw


Draws a point

ImagickDraw::pathStart
ImagickDraw::polygon
Класс ImagickDraw
PHP Manual

ImagickDraw::point

(PECL imagick 2.0.0)

ImagickDraw::point — Draws a point

Описание

bool ImagickDraw::point ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Список параметров

x

point's x coordinate

y

point's y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pathStart
ImagickDraw::polygon
Класс ImagickDraw


Draws a polygon

ImagickDraw::point
ImagickDraw::polyline
Класс ImagickDraw
PHP Manual

ImagickDraw::polygon

(PECL imagick 2.0.0)

ImagickDraw::polygon — Draws a polygon

Описание

bool ImagickDraw::polygon ( array $coordinates )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Список параметров

coordinates

multidimensional array like array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::point
ImagickDraw::polyline
Класс ImagickDraw


Draws a polyline

ImagickDraw::polygon
ImagickDraw::pop
Класс ImagickDraw
PHP Manual

ImagickDraw::polyline

(PECL imagick 2.0.0)

ImagickDraw::polyline — Draws a polyline

Описание

bool ImagickDraw::polyline ( array $coordinates )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Список параметров

coordinates

array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::polygon
ImagickDraw::pop
Класс ImagickDraw


Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

ImagickDraw::polyline
ImagickDraw::popClipPath
Класс ImagickDraw
PHP Manual

ImagickDraw::pop

(PECL imagick 2.0.0)

ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

Описание

bool ImagickDraw::pop ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw. Multiple ImagickDraws may exist. It is an error to attempt to pop more ImagickDraws than have been pushed, and it is proper form to pop all ImagickDraws which have been pushed.

Возвращаемые значения

Returns TRUE on success and false on failure.

ImagickDraw::polyline
ImagickDraw::popClipPath
Класс ImagickDraw


Terminates a clip path definition

ImagickDraw::pop
ImagickDraw::popDefs
Класс ImagickDraw
PHP Manual

ImagickDraw::popClipPath

(PECL imagick 2.0.0)

ImagickDraw::popClipPath — Terminates a clip path definition

Описание

bool ImagickDraw::popClipPath ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Terminates a clip path definition.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pop
ImagickDraw::popDefs
Класс ImagickDraw


Terminates a definition list

ImagickDraw::popClipPath
ImagickDraw::popPattern
Класс ImagickDraw
PHP Manual

ImagickDraw::popDefs

(PECL imagick 2.0.0)

ImagickDraw::popDefs — Terminates a definition list

Описание

bool ImagickDraw::popDefs ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Terminates a definition list.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::popClipPath
ImagickDraw::popPattern
Класс ImagickDraw


Terminates a pattern definition

ImagickDraw::popDefs
ImagickDraw::push
Класс ImagickDraw
PHP Manual

ImagickDraw::popPattern

(PECL imagick 2.0.0)

ImagickDraw::popPattern — Terminates a pattern definition

Описание

bool ImagickDraw::popPattern ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Terminates a pattern definition.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::popDefs
ImagickDraw::push
Класс ImagickDraw


Clones the current ImagickDraw and pushes it to the stack

ImagickDraw::popPattern
ImagickDraw::pushClipPath
Класс ImagickDraw
PHP Manual

ImagickDraw::push

(PECL imagick 2.0.0)

ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack

Описание

bool ImagickDraw::push ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clones the current ImagickDraw to create a new ImagickDraw, which is then added to the ImagickDraw stack. The original drawing ImagickDraw(s) may be returned to by invoking pop(). The ImagickDraws are stored on a ImagickDraw stack. For every Pop there must have already been an equivalent Push.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::popPattern
ImagickDraw::pushClipPath
Класс ImagickDraw


Starts a clip path definition

ImagickDraw::push
ImagickDraw::pushDefs
Класс ImagickDraw
PHP Manual

ImagickDraw::pushClipPath

(PECL imagick 2.0.0)

ImagickDraw::pushClipPath — Starts a clip path definition

Описание

bool ImagickDraw::pushClipPath ( string $clip_mask_id )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Starts a clip path definition which is comprised of any number of drawing commands and terminated by a ImagickDraw::popClipPath() command.

Список параметров

clip_mask_id

Clip mask Id

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::push
ImagickDraw::pushDefs
Класс ImagickDraw


Indicates that following commands create named elements for early processing

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
Класс ImagickDraw
PHP Manual

ImagickDraw::pushDefs

(PECL imagick 2.0.0)

ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing

Описание

bool ImagickDraw::pushDefs ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Indicates that commands up to a terminating ImagickDraw::popDefs() command create named elements (e.g. clip-paths, textures, etc.) which may safely be processed earlier for the sake of efficiency.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
Класс ImagickDraw


Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

ImagickDraw::pushDefs
ImagickDraw::rectangle
Класс ImagickDraw
PHP Manual

ImagickDraw::pushPattern

(PECL imagick 2.0.0)

ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

Описание

bool ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Indicates that subsequent commands up to a DrawPopPattern() command comprise the definition of a named pattern. The pattern space is assigned top left corner coordinates, a width and height, and becomes its own drawing space. Anything which can be drawn may be used in a pattern definition. Named patterns may be used as stroke or brush definitions.

Список параметров

pattern_id

the pattern Id

x

x coordinate of the top-left corner

y

y coordinate of the top-left corner

width

width of the pattern

height

height of the pattern

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::pushDefs
ImagickDraw::rectangle
Класс ImagickDraw


Draws a rectangle

ImagickDraw::pushPattern
ImagickDraw::render
Класс ImagickDraw
PHP Manual

ImagickDraw::rectangle

(PECL imagick 2.0.0)

ImagickDraw::rectangle — Draws a rectangle

Описание

bool ImagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Список параметров

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right corner

y2

y coordinate of the bottom right corner

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::pushPattern
ImagickDraw::render
Класс ImagickDraw


Renders all preceding drawing commands onto the image

ImagickDraw::rectangle
ImagickDraw::rotate
Класс ImagickDraw
PHP Manual

ImagickDraw::render

(PECL imagick 2.0.0)

ImagickDraw::render — Renders all preceding drawing commands onto the image

Описание

bool ImagickDraw::render ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Renders all preceding drawing commands onto the image.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::rectangle
ImagickDraw::rotate
Класс ImagickDraw


Applies the specified rotation to the current coordinate space

ImagickDraw::render
ImagickDraw::roundRectangle
Класс ImagickDraw
PHP Manual

ImagickDraw::rotate

(PECL imagick 2.0.0)

ImagickDraw::rotate — Applies the specified rotation to the current coordinate space

Описание

bool ImagickDraw::rotate ( float $degrees )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies the specified rotation to the current coordinate space.

Список параметров

degrees

degrees to rotate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::render
ImagickDraw::roundRectangle
Класс ImagickDraw


Draws a rounded rectangle

ImagickDraw::rotate
ImagickDraw::scale
Класс ImagickDraw
PHP Manual

ImagickDraw::roundRectangle

(PECL imagick 2.0.0)

ImagickDraw::roundRectangle — Draws a rounded rectangle

Описание

bool ImagickDraw::roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a rounded rectangle given two coordinates, x & y corner radiuses and using the current stroke, stroke width, and fill settings.

Список параметров

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right

y2

y coordinate of the bottom right

rx

x rounding

ry

y rounding

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::rotate
ImagickDraw::scale
Класс ImagickDraw


Adjusts the scaling factor

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
Класс ImagickDraw
PHP Manual

ImagickDraw::scale

(PECL imagick 2.0.0)

ImagickDraw::scale — Adjusts the scaling factor

Описание

bool ImagickDraw::scale ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Список параметров

x

horizontal factor

y

vertical factor

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
Класс ImagickDraw


Associates a named clipping path with the image

ImagickDraw::scale
ImagickDraw::setClipRule
Класс ImagickDraw
PHP Manual

ImagickDraw::setClipPath

(PECL imagick 2.0.0)

ImagickDraw::setClipPath — Associates a named clipping path with the image

Описание

bool ImagickDraw::setClipPath ( string $clip_mask )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Associates a named clipping path with the image. Only the areas drawn on by the clipping path will be modified as long as it remains in effect.

Список параметров

clip_mask

the clipping path name

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::scale
ImagickDraw::setClipRule
Класс ImagickDraw


Set the polygon fill rule to be used by the clipping path

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
Класс ImagickDraw
PHP Manual

ImagickDraw::setClipRule

(PECL imagick 2.0.0)

ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path

Описание

bool ImagickDraw::setClipRule ( int $fill_rule )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Set the polygon fill rule to be used by the clipping path.

Список параметров

fill_rule

FILLRULE_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
Класс ImagickDraw


Sets the interpretation of clip path units

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
Класс ImagickDraw
PHP Manual

ImagickDraw::setClipUnits

(PECL imagick 2.0.0)

ImagickDraw::setClipUnits — Sets the interpretation of clip path units

Описание

bool ImagickDraw::setClipUnits ( int $clip_units )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the interpretation of clip path units.

Список параметров

clip_units

the number of clip units

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
Класс ImagickDraw


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
Класс ImagickDraw
PHP Manual

ImagickDraw::setFillAlpha

(PECL imagick 2.0.0)

ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture

Описание

bool ImagickDraw::setFillAlpha ( float $opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Список параметров

opacity

fill alpha

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
Класс ImagickDraw


Sets the fill color to be used for drawing filled objects

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
Класс ImagickDraw
PHP Manual

ImagickDraw::setFillColor

(PECL imagick 2.0.0)

ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects

Описание

bool ImagickDraw::setFillColor ( ImagickPixel $fill_pixel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the fill color to be used for drawing filled objects.

Список параметров

fill_pixel

ImagickPixel to use to set the color

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
Класс ImagickDraw


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
Класс ImagickDraw
PHP Manual

ImagickDraw::setFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture

Описание

bool ImagickDraw::setFillOpacity ( float $fillOpacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Список параметров

fillOpacity

the fill opacity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
Класс ImagickDraw


Sets the URL to use as a fill pattern for filling objects

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
Класс ImagickDraw
PHP Manual

ImagickDraw::setFillPatternURL

(PECL imagick 2.0.0)

ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects

Описание

bool ImagickDraw::setFillPatternURL ( string $fill_url )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the URL to use as a fill pattern for filling objects. Only local URLs ("#identifier") are supported at this time. These local URLs are normally created by defining a named fill pattern with DrawPushPattern/DrawPopPattern.

Список параметров

fill_url

URL to use to obtain fill pattern.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
Класс ImagickDraw


Sets the fill rule to use while drawing polygons

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
Класс ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons

Описание

bool ImagickDraw::setFillRule ( int $fill_rule )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the fill rule to use while drawing polygons.

Список параметров

fill_rule

FILLRULE_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
Класс ImagickDraw


Sets the fully-specified font to use when annotating with text

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
Класс ImagickDraw
PHP Manual

ImagickDraw::setFont

(PECL imagick 2.0.0)

ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text

Описание

bool ImagickDraw::setFont ( string $font_name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the fully-specified font to use when annotating with text.

Список параметров

font_name

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
Класс ImagickDraw


Sets the font family to use when annotating with text

ImagickDraw::setFont
ImagickDraw::setFontSize
Класс ImagickDraw
PHP Manual

ImagickDraw::setFontFamily

(PECL imagick 2.0.0)

ImagickDraw::setFontFamily — Sets the font family to use when annotating with text

Описание

bool ImagickDraw::setFontFamily ( string $font_family )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the font family to use when annotating with text.

Список параметров

font_family

the font family

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::setFont
ImagickDraw::setFontSize
Класс ImagickDraw


Sets the font pointsize to use when annotating with text

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
Класс ImagickDraw
PHP Manual

ImagickDraw::setFontSize

(PECL imagick 2.0.0)

ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text

Описание

bool ImagickDraw::setFontSize ( float $pointsize )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the font pointsize to use when annotating with text.

Список параметров

pointsize

the point size

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
Класс ImagickDraw


Sets the font stretch to use when annotating with text

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
Класс ImagickDraw
PHP Manual

ImagickDraw::setFontStretch

(PECL imagick 2.0.0)

ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text

Описание

bool ImagickDraw::setFontStretch ( int $fontStretch )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the font stretch to use when annotating with text. The AnyStretch enumeration acts as a wild-card "don't care" option.

Список параметров

fontStretch

STRETCH_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
Класс ImagickDraw


Sets the font style to use when annotating with text

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
Класс ImagickDraw
PHP Manual

ImagickDraw::setFontStyle

(PECL imagick 2.0.0)

ImagickDraw::setFontStyle — Sets the font style to use when annotating with text

Описание

bool ImagickDraw::setFontStyle ( int $style )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Список параметров

style

STYLETYPE_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
Класс ImagickDraw


Sets the font weight

ImagickDraw::setFontStyle
ImagickDraw::setGravity
Класс ImagickDraw
PHP Manual

ImagickDraw::setFontWeight

(PECL imagick 2.0.0)

ImagickDraw::setFontWeight — Sets the font weight

Описание

bool ImagickDraw::setFontWeight ( int $font_weight )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the font weight to use when annotating with text.

Список параметров

font_weight

Возвращаемые значения

ImagickDraw::setFontStyle
ImagickDraw::setGravity
Класс ImagickDraw


Sets the text placement gravity

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
Класс ImagickDraw
PHP Manual

ImagickDraw::setGravity

(PECL imagick 2.0.0)

ImagickDraw::setGravity — Sets the text placement gravity

Описание

bool ImagickDraw::setGravity ( int $gravity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the text placement gravity to use when annotating with text.

Список параметров

gravity

GRAVITY_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
Класс ImagickDraw


Specifies the opacity of stroked object outlines

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeAlpha

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines

Описание

bool ImagickDraw::setStrokeAlpha ( float $opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the opacity of stroked object outlines.

Список параметров

opacity

opacity

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
Класс ImagickDraw


Controls whether stroked outlines are antialiased

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased

Описание

bool ImagickDraw::setStrokeAntialias ( bool $stroke_antialias )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Список параметров

stroke_antialias

the antialias setting

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
Класс ImagickDraw


Sets the color used for stroking object outlines

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines

Описание

bool ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the color used for stroking object outlines.

Список параметров

stroke_pixel

the stroke color

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
Класс ImagickDraw


Specifies the pattern of dashes and gaps used to stroke paths

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths

Описание

bool ImagickDraw::setStrokeDashArray ( array $dashArray )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the pattern of dashes and gaps used to stroke paths. The strokeDashArray represents an array of numbers that specify the lengths of alternating dashes and gaps in pixels. If an odd number of values is provided, then the list of values is repeated to yield an even number of values. To remove an existing dash array, pass a zero number_elements argument and null dash_array. A typical strokeDashArray_ array might contain the members 5 3 2.

Список параметров

dashArray

array of floats

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
Класс ImagickDraw


Specifies the offset into the dash pattern to start the dash

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash

Описание

bool ImagickDraw::setStrokeDashOffset ( float $dash_offset )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the offset into the dash pattern to start the dash.

Список параметров

dash_offset

dash offset

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
Класс ImagickDraw


Specifies the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked

Описание

bool ImagickDraw::setStrokeLineCap ( int $linecap )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the shape to be used at the end of open subpaths when they are stroked.

Список параметров

linecap

LINECAP_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
Класс ImagickDraw


Specifies the shape to be used at the corners of paths when they are stroked

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked

Описание

bool ImagickDraw::setStrokeLineJoin ( int $linejoin )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Список параметров

linejoin

LINEJOIN_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
Класс ImagickDraw


Specifies the miter limit

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::setStrokeMiterLimit — Specifies the miter limit

Описание

bool ImagickDraw::setStrokeMiterLimit ( int $miterlimit )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Список параметров

miterlimit

the miter limit

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
Класс ImagickDraw


Specifies the opacity of stroked object outlines

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines

Описание

bool ImagickDraw::setStrokeOpacity ( float $stroke_opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the opacity of stroked object outlines.

Список параметров

stroke_opacity

stroke opacity. 1.0 is fully opaque

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
Класс ImagickDraw


Sets the pattern used for stroking object outlines

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokePatternURL

(PECL imagick 2.0.0)

ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines

Описание

bool ImagickDraw::setStrokePatternURL ( string $stroke_url )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the pattern used for stroking object outlines.

Список параметров

stroke_url

stroke URL

Возвращаемые значения

imagick.imagickdraw.return.success;

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
Класс ImagickDraw


Sets the width of the stroke used to draw object outlines

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
Класс ImagickDraw
PHP Manual

ImagickDraw::setStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines

Описание

bool ImagickDraw::setStrokeWidth ( float $stroke_width )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the width of the stroke used to draw object outlines.

Список параметров

stroke_width

stroke width

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
Класс ImagickDraw


Specifies a text alignment

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
Класс ImagickDraw
PHP Manual

ImagickDraw::setTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::setTextAlignment — Specifies a text alignment

Описание

bool ImagickDraw::setTextAlignment ( int $alignment )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies a text alignment to be applied when annotating with text.

Список параметров

alignment

ALIGN_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
Класс ImagickDraw


Controls whether text is antialiased

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
Класс ImagickDraw
PHP Manual

ImagickDraw::setTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::setTextAntialias — Controls whether text is antialiased

Описание

bool ImagickDraw::setTextAntialias ( bool $antiAlias )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Controls whether text is antialiased. Text is antialiased by default.

Список параметров

antiAlias

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
Класс ImagickDraw


Specifies a decoration

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
Класс ImagickDraw
PHP Manual

ImagickDraw::setTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::setTextDecoration — Specifies a decoration

Описание

bool ImagickDraw::setTextDecoration ( int $decoration )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies a decoration to be applied when annotating with text.

Список параметров

decoration

DECORATION_ constant

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
Класс ImagickDraw


Specifies specifies the text code set

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
Класс ImagickDraw
PHP Manual

ImagickDraw::setTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::setTextEncoding — Specifies specifies the text code set

Описание

bool ImagickDraw::setTextEncoding ( string $encoding )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Список параметров

encoding

the encoding name

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
Класс ImagickDraw


Specifies the color of a background rectangle

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
Класс ImagickDraw
PHP Manual

ImagickDraw::setTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle

Описание

bool ImagickDraw::setTextUnderColor ( ImagickPixel $under_color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Specifies the color of a background rectangle to place under text annotations.

Список параметров

under_color

the under color

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
Класс ImagickDraw


Sets the vector graphics

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
Класс ImagickDraw
PHP Manual

ImagickDraw::setVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::setVectorGraphics — Sets the vector graphics

Описание

bool ImagickDraw::setVectorGraphics ( string $xml )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the vector graphics associated with the specified ImagickDraw object. Use this method with ImagickDraw::getVectorGraphics() as a method to persist the vector graphics state.

Список параметров

xml

xml containing the vector graphics

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
Класс ImagickDraw


Sets the overall canvas size

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
Класс ImagickDraw
PHP Manual

ImagickDraw::setViewbox

(PECL imagick 2.0.0)

ImagickDraw::setViewbox — Sets the overall canvas size

Описание

bool ImagickDraw::setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

Список параметров

x1

left x coordinate

y1

left y coordinate

x2

right x coordinate

y2

right y coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
Класс ImagickDraw


Skews the current coordinate system in the horizontal direction

ImagickDraw::setViewbox
ImagickDraw::skewY
Класс ImagickDraw
PHP Manual

ImagickDraw::skewX

(PECL imagick 2.0.0)

ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction

Описание

bool ImagickDraw::skewX ( float $degrees )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Skews the current coordinate system in the horizontal direction.

Список параметров

degrees

degrees to skew

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::setViewbox
ImagickDraw::skewY
Класс ImagickDraw


Skews the current coordinate system in the vertical direction

ImagickDraw::skewX
ImagickDraw::translate
Класс ImagickDraw
PHP Manual

ImagickDraw::skewY

(PECL imagick 2.0.0)

ImagickDraw::skewY — Skews the current coordinate system in the vertical direction

Описание

bool ImagickDraw::skewY ( float $degrees )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Skews the current coordinate system in the vertical direction.

Список параметров

degrees

degrees to skew

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::skewX
ImagickDraw::translate
Класс ImagickDraw


Applies a translation to the current coordinate system

ImagickDraw::skewY
Класс ImagickPixel
Класс ImagickDraw
PHP Manual

ImagickDraw::translate

(PECL imagick 2.0.0)

ImagickDraw::translate — Applies a translation to the current coordinate system

Описание

bool ImagickDraw::translate ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Applies a translation to the current coordinate system which moves the coordinate system origin to the specified coordinate.

Список параметров

x

horizontal translation

y

vertical translation

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ImagickDraw::skewY
Класс ImagickPixel
Класс ImagickDraw


Класс ImagickPixel

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

ImagickPixel {
bool clear ( void )
ImagickPixel __construct ([ string $color ] )
bool destroy ( void )
array getColor ([ bool $normalized = false ] )
string getColorAsString ( void )
int getColorCount ( void )
float getColorValue ( int $color )
array getHSL ( void )
bool isSimilar ( ImagickPixel $color , float $fuzz )
bool setColor ( string $color )
bool setColorValue ( int $color , float $value )
bool setHSL ( float $hue , float $saturation , float $luminosity )
}

Содержание

  • ImagickPixel::clear — Очищает ресурсы, связанные с этим объектом
  • ImagickPixel::__construct — Конструктор ImagickPixel
  • ImagickPixel::destroy — Освобождает ресурсы, связанные с этим объектом
  • ImagickPixel::getColor — Возвращает цвет
  • ImagickPixel::getColorAsString — Возвращает цвет в виде строки
  • ImagickPixel::getColorCount — Возвращает количество цветов связанных с этим цветом
  • ImagickPixel::getColorValue — Возвращает нормализованное значение цвета канала
  • ImagickPixel::getHSL — Возвращает нормализованный HSL-цвет объекта ImagickPixel
  • ImagickPixel::isSimilar — Проверить разницу между этим цветом и другим
  • ImagickPixel::setColor — Устанавливает цвет
  • ImagickPixel::setColorValue — Устанавливает нормализованное значение одного из каналов
  • ImagickPixel::setHSL — Sets the normalized HSL color
ImagickDraw::translate
ImagickPixel::clear
ImageMagick


Очищает ресурсы, связанные с этим объектом

Класс ImagickPixel
ImagickPixel::__construct
Класс ImagickPixel
PHP Manual

ImagickPixel::clear

(PECL imagick 2.0.0)

ImagickPixel::clear — Очищает ресурсы, связанные с этим объектом

Описание

bool ImagickPixel::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Очищает объект ImagickPixel, оставляя его в первоначальном состоянии и удаляет все цвета связанные с ним.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Класс ImagickPixel
ImagickPixel::__construct
Класс ImagickPixel


Конструктор ImagickPixel

ImagickPixel::clear
ImagickPixel::destroy
Класс ImagickPixel
PHP Manual

ImagickPixel::__construct

(PECL imagick 2.0.0)

ImagickPixel::__construct — Конструктор ImagickPixel

Описание

ImagickPixel ImagickPixel::__construct ([ string $color ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создается объект ImagickPixel. Если указан цвет, то объект создается и инициализируется с этим цветом перед возвращением.

Список параметров

color

Необязательная строка с цветом для использования в инициализации этого объекта.

Возвращаемые значения

В случае успеха возвращает объект ImagickPixel, в противном случае создаст исключение ImagickPixelException.

ImagickPixel::clear
ImagickPixel::destroy
Класс ImagickPixel


Освобождает ресурсы, связанные с этим объектом

ImagickPixel::__construct
ImagickPixel::getColor
Класс ImagickPixel
PHP Manual

ImagickPixel::destroy

(PECL imagick 2.0.0)

ImagickPixel::destroy — Освобождает ресурсы, связанные с этим объектом

Описание

bool ImagickPixel::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Освобождает все ресурсы используемые объектом ImagickPixel и удалят все связанные с ним цвета. Объект не следует использовать после его уничтожения.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixel::__construct
ImagickPixel::getColor
Класс ImagickPixel


Возвращает цвет

ImagickPixel::destroy
ImagickPixel::getColorAsString
Класс ImagickPixel
PHP Manual

ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColor — Возвращает цвет

Описание

array ImagickPixel::getColor ([ bool $normalized = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает цвет в виде массива, описанный в объекте ImagickPixel. Если у цвета установлен канал прозрачности, то он будет отражен в четвертом значении списка.

Список параметров

normalized

Нормализовать значение цвета

Возвращаемые значения

Массив значений канала. Каждое значение нормализуется, если параметру будет передано TRUE. В случае ошибки создаст создаст исключение ImagickPixelException.

ImagickPixel::destroy
ImagickPixel::getColorAsString
Класс ImagickPixel


Возвращает цвет в виде строки

ImagickPixel::getColor
ImagickPixel::getColorCount
Класс ImagickPixel
PHP Manual

ImagickPixel::getColorAsString

(PECL imagick 2.1.0)

ImagickPixel::getColorAsString — Возвращает цвет в виде строки

Описание

string ImagickPixel::getColorAsString ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает цвет объекта ImagickPixel в виде строки.

Список параметров

Возвращаемые значения

Возвращает цвет объекта ImagickPixel в виде строки.

ImagickPixel::getColor
ImagickPixel::getColorCount
Класс ImagickPixel


Возвращает количество цветов связанных с этим цветом

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
Класс ImagickPixel
PHP Manual

ImagickPixel::getColorCount

(PECL imagick 2.0.0)

ImagickPixel::getColorCount — Возвращает количество цветов связанных с этим цветом

Описание

int ImagickPixel::getColorCount ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает количество цветов связанных с этим цветом.

Возвращаемые значения

В случае успеха возвращает количество цветов в виде числа, в противном случае создаст исключение ImagickPixelException.

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
Класс ImagickPixel


Возвращает нормализованное значение цвета канала

ImagickPixel::getColorCount
ImagickPixel::getHSL
Класс ImagickPixel
PHP Manual

ImagickPixel::getColorValue

(PECL imagick 2.0.0)

ImagickPixel::getColorValue — Возвращает нормализованное значение цвета канала

Описание

float ImagickPixel::getColorValue ( int $color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает значение указанного цвета канала, как дробное число между 0 и 1.

Список параметров

color

Канал для проверки, определяется одной из констант канала Imagick.

Возвращаемые значения

Значение канала, в виде нормализованного дробного числа, в случае ошибки будет создано исключение ImagickPixelException.

ImagickPixel::getColorCount
ImagickPixel::getHSL
Класс ImagickPixel


Возвращает нормализованный HSL-цвет объекта ImagickPixel

ImagickPixel::getColorValue
ImagickPixel::isSimilar
Класс ImagickPixel
PHP Manual

ImagickPixel::getHSL

(PECL imagick 2.0.0)

ImagickPixel::getHSL — Возвращает нормализованный HSL-цвет объекта ImagickPixel

Описание

array ImagickPixel::getHSL ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает нормализованный HSL-цвет, описанный объектом ImagickPixel, каждое из трех значений является дробным числом между 0.0 и 1.0.

Возвращаемые значения

Возвращает HSL-значение в виде массива с ключами "hue", "saturation" и "luminosity". В случае ошибки будет создано исключение ImagickPixelException.

Примечания

Замечание:

Доступно с библиотекой ImageMagick версии 6.2.9 или выше.

ImagickPixel::getColorValue
ImagickPixel::isSimilar
Класс ImagickPixel


Проверить разницу между этим цветом и другим

ImagickPixel::getHSL
ImagickPixel::setColor
Класс ImagickPixel
PHP Manual

ImagickPixel::isSimilar

(PECL imagick 2.0.0)

ImagickPixel::isSimilar — Проверить разницу между этим цветом и другим

Описание

bool ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Проверяется разница цвета, описанного текущим объектом ImagickPixel и цвета в переданном объекте, путем построения их RGB значений в цветовом кубе. Если разница между ними меньше чем переданное fuzz-значение, то цвета считаются одинаковыми.

Список параметров

color

Объект ImagickPixel для сравнения с текущим объектом.

fuzz

Максимальная разница, при которой цвета будут считаться одинаковыми. Теоретическим максимумом для этого значения можно считать квадратный корень из трех (1.732).

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixel::getHSL
ImagickPixel::setColor
Класс ImagickPixel


Устанавливает цвет

ImagickPixel::isSimilar
ImagickPixel::setColorValue
Класс ImagickPixel
PHP Manual

ImagickPixel::setColor

(PECL imagick 2.0.0)

ImagickPixel::setColor — Устанавливает цвет

Описание

bool ImagickPixel::setColor ( string $color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Устанавливает цвет объекта ImagickPixel указанной строкой (например "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)" и т.д.).

Список параметров

color

Определение цвета для использования в порядке инициализации объекта ImagickPixel.

Возвращаемые значения

Возвращает TRUE если цвет был установлен, в противном случае FALSE.

ImagickPixel::isSimilar
ImagickPixel::setColorValue
Класс ImagickPixel


Устанавливает нормализованное значение одного из каналов

ImagickPixel::setColor
ImagickPixel::setHSL
Класс ImagickPixel
PHP Manual

ImagickPixel::setColorValue

(PECL imagick 2.0.0)

ImagickPixel::setColorValue — Устанавливает нормализованное значение одного из каналов

Описание

bool ImagickPixel::setColorValue ( int $color , float $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Устанавливает значение указанного канала текущего объекта, при условии того, что новое значение находится между 0 и 1. Эта функция может быть использована для установки прозрачности канала объекта ImagickPixel.

Список параметров

color

Одна из цветовых констант канала Imagick.

value

Значение для установки в этом канале, в пределах от 0 до 1.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixel::setColor
ImagickPixel::setHSL
Класс ImagickPixel


Sets the normalized HSL color

ImagickPixel::setColorValue
Класс ImagickPixelIterator
Класс ImagickPixel
PHP Manual

ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSL — Sets the normalized HSL color

Описание

bool ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.

Список параметров

hue

The normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.

saturation

The normalized value for saturation, with 1 as full saturation.

luminosity

The normalized value for luminosity, on a scale from black at 0 to white at 1, with the full HS value at 0.5 luminosity.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Примечания

Замечание:

Available with ImageMagick library version 6.2.9 and higher.

ImagickPixel::setColorValue
Класс ImagickPixelIterator
Класс ImagickPixel


Класс ImagickPixelIterator

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

ImagickPixelIterator {
bool clear ( void )
ImagickPixelIterator __construct ( Imagick $wand )
bool destroy ( void )
array getCurrentIteratorRow ( void )
int getIteratorRow ( void )
array getNextIteratorRow ( void )
array getPreviousIteratorRow ( void )
bool newPixelIterator ( Imagick $wand )
bool newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
bool resetIterator ( void )
bool setIteratorFirstRow ( void )
bool setIteratorLastRow ( void )
bool setIteratorRow ( int $row )
bool syncIterator ( void )
}

Содержание

  • ImagickPixelIterator::clear — Очищает ресурсы, связанные с PixelIterator
  • ImagickPixelIterator::__construct — Конструктор ImagickPixelIterator
  • ImagickPixelIterator::destroy — Освобождает ресурсы, связанные с PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Возвращает текущий ряд объекта ImagickPixel
  • ImagickPixelIterator::getIteratorRow — Возвращает текущий пиксель итератора ряда
  • ImagickPixelIterator::getNextIteratorRow — Возвращает следующий ряд итератора пикселей
  • ImagickPixelIterator::getPreviousIteratorRow — Возвращает предыдущий ряд
  • ImagickPixelIterator::newPixelIterator — Возвращает новый итератор пикселей
  • ImagickPixelIterator::newPixelRegionIterator — Возвращает новый итератор пикселей
  • ImagickPixelIterator::resetIterator — Сбрасывает итератор пикселей
  • ImagickPixelIterator::setIteratorFirstRow — Устанавливает итератор пикселей на первый ряд
  • ImagickPixelIterator::setIteratorLastRow — Устанавливает итератор пикселей на последний ряд
  • ImagickPixelIterator::setIteratorRow — Устанавливает номер ряда в итераторе пикселей
  • ImagickPixelIterator::syncIterator — Синхронизирует итератор пикселей
ImagickPixel::setHSL
ImagickPixelIterator::clear
ImageMagick


Очищает ресурсы, связанные с PixelIterator

Класс ImagickPixelIterator
ImagickPixelIterator::__construct
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::clear

(PECL imagick 2.0.0)

ImagickPixelIterator::clear — Очищает ресурсы, связанные с PixelIterator

Описание

bool ImagickPixelIterator::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Очищает ресурсы, связанные с PixelIterator.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Класс ImagickPixelIterator
ImagickPixelIterator::__construct
Класс ImagickPixelIterator


Конструктор ImagickPixelIterator

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::__construct

(PECL imagick 2.0.0)

ImagickPixelIterator::__construct — Конструктор ImagickPixelIterator

Описание

ImagickPixelIterator ImagickPixelIterator::__construct ( Imagick $wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Конструктор ImagickPixelIterator

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
Класс ImagickPixelIterator


Освобождает ресурсы, связанные с PixelIterator

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::destroy

(PECL imagick 2.0.0)

ImagickPixelIterator::destroy — Освобождает ресурсы, связанные с PixelIterator

Описание

bool ImagickPixelIterator::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Освобождает ресурсы, связанные с PixelIterator.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
Класс ImagickPixelIterator


Возвращает текущий ряд объекта ImagickPixel

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getCurrentIteratorRow — Возвращает текущий ряд объекта ImagickPixel

Описание

array ImagickPixelIterator::getCurrentIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает текущий ряд в виде массива объектов ImagickPixel из пиксельного итератора.

Возвращаемые значения

Возвращает ряд в виде массива объектов ImagickPixel, который сам может быть итерирован.

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
Класс ImagickPixelIterator


Возвращает текущий пиксель итератора ряда

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getIteratorRow — Возвращает текущий пиксель итератора ряда

Описание

int ImagickPixelIterator::getIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает текущий пиксель итератора ряда.

Возвращаемые значения

Возвращает смещение ряда в виде числа, в случае ошибки выдаст исключение ImagickPixelIteratorException.

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
Класс ImagickPixelIterator


Возвращает следующий ряд итератора пикселей

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getNextIteratorRow — Возвращает следующий ряд итератора пикселей

Описание

array ImagickPixelIterator::getNextIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает следующий ряд в виде массива пикселей из итератора пикселей.

Возвращаемые значения

Возвращает следующий ряд в виде массива объектов ImagickPixel, в случае ошибки выдаст исключение ImagickPixelIteratorException.

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
Класс ImagickPixelIterator


Возвращает предыдущий ряд

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getPreviousIteratorRow — Возвращает предыдущий ряд

Описание

array ImagickPixelIterator::getPreviousIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает предыдущий ряд в виде массива пикселей из итератора пикселей.

Возвращаемые значения

Возвращает предыдущий ряд в виде массива объектов ImagickPixel, в случае ошибки выдаст исключение ImagickPixelIteratorException.

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
Класс ImagickPixelIterator


Возвращает новый итератор пикселей

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelIterator — Возвращает новый итератор пикселей

Описание

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает новый итератор пикселей.

Возвращаемые значения

В случае успешной работы возвращает TRUE. Исключение ImagickPixelIteratorException.

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
Класс ImagickPixelIterator


Возвращает новый итератор пикселей

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelRegionIterator — Возвращает новый итератор пикселей

Описание

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает новый итератор пикселей.

Список параметров

wand

x

y

columns

rows

Возвращаемые значения

Возвращает новый объект ImagickPixelIterator в случае успеха; в противном случае выдаст исключение ImagickPixelIteratorException.

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
Класс ImagickPixelIterator


Сбрасывает итератор пикселей

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIterator — Сбрасывает итератор пикселей

Описание

bool ImagickPixelIterator::resetIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Сбрасывает итератор пикселей. Используйте совместно с ImagickPixelIterator::getNextIteratorRow() для перебора всех пикселей в контейнере пикселей.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
Класс ImagickPixelIterator


Устанавливает итератор пикселей на первый ряд

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorFirstRow — Устанавливает итератор пикселей на первый ряд

Описание

bool ImagickPixelIterator::setIteratorFirstRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Устанавливает внутренний указатель итератора пикселей на первый ряд.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
Класс ImagickPixelIterator


Устанавливает итератор пикселей на последний ряд

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorLastRow — Устанавливает итератор пикселей на последний ряд

Описание

bool ImagickPixelIterator::setIteratorLastRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Устанавливает внутренний указатель итератора пикселей на последний ряд.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
Класс ImagickPixelIterator


Устанавливает номер ряда в итераторе пикселей

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorRow — Устанавливает номер ряда в итераторе пикселей

Описание

bool ImagickPixelIterator::setIteratorRow ( int $row )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Устанавливает номер ряда в итераторе пикселей.

Список параметров

row

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
Класс ImagickPixelIterator


Синхронизирует итератор пикселей

ImagickPixelIterator::setIteratorRow
Расширения по работе с почтой
Класс ImagickPixelIterator
PHP Manual

ImagickPixelIterator::syncIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::syncIterator — Синхронизирует итератор пикселей

Описание

bool ImagickPixelIterator::syncIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Синхронизирует итератор пикселей.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

ImagickPixelIterator::setIteratorRow
Расширения по работе с почтой
Класс ImagickPixelIterator


Расширения по работе с почтой

  • Cyrus — Администрирование Cyrus IMAP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Cyrus Функции
  • IMAP — IMAP, POP3 и NNTP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IMAP Функции
  • Mail
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Почта
  • Mailparse
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mailparse
  • vpopmail
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции vpopmail
ImagickPixelIterator::syncIterator
Cyrus
Справочник функций


Администрирование Cyrus IMAP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Cyrus Функции
    • cyrus_authenticate — Аутентификация на сервере Cyrus IMAP
    • cyrus_bind — Привязать обратные вызовы для Cyrus IMAP соединения
    • cyrus_close — Закрывает соединение с сервером Cyrus IMAP
    • cyrus_connect — Установить соединение с сервером Cyrus IMAP
    • cyrus_query — Послать запрос Cyrus IMAP серверу
    • cyrus_unbind — Убрать привязки обратных вызовов для Cyrus IMAP соединения
Расширения по работе с почтой
Введение
Расширения по работе с почтой


Введение

Замечание: Для Windows-платформ это расширение недоступно.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

Cyrus
Установка и настройка
Cyrus


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Cyrus


Установка

Чтобы включить поддержку Cyrus IMAP и использовать эти функции, вы должны скомпилировать PHP с опцией --with-cyrus .

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки, YAZ или Cyrus. Это связано с тем фактом, что они оба используют одни и те же внутренние символы. Замечание: Версии Yaz 2.0 и выше избавлены от этого недостатка.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Это расширение определяет идентификатор соединения Cyrus IMAP, возвращаемый функцией cyrus_connect().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)
Типы ресурсов
Cyrus Функции
Cyrus


Cyrus Функции

Содержание

  • cyrus_authenticate — Аутентификация на сервере Cyrus IMAP
  • cyrus_bind — Привязать обратные вызовы для Cyrus IMAP соединения
  • cyrus_close — Закрывает соединение с сервером Cyrus IMAP
  • cyrus_connect — Установить соединение с сервером Cyrus IMAP
  • cyrus_query — Послать запрос Cyrus IMAP серверу
  • cyrus_unbind — Убрать привязки обратных вызовов для Cyrus IMAP соединения
Предопределенные константы
cyrus_authenticate
Cyrus


Аутентификация на сервере Cyrus IMAP

Cyrus Функции
cyrus_bind
Cyrus Функции
PHP Manual

cyrus_authenticate

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_authenticate — Аутентификация на сервере Cyrus IMAP

Описание

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password ]]]]]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Cyrus Функции
cyrus_bind
Cyrus Функции


Привязать обратные вызовы для Cyrus IMAP соединения

cyrus_authenticate
cyrus_close
Cyrus Функции
PHP Manual

cyrus_bind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_bind — Привязать обратные вызовы для Cyrus IMAP соединения

Описание

bool cyrus_bind ( resource $connection , array $callbacks )

Привязывает обратные вызовы для Cyrus IMAP соединения.

Список параметров

connection

Дескриптор соединения.

callbacks

Массив обратных вызовов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_authenticate
cyrus_close
Cyrus Функции


Закрывает соединение с сервером Cyrus IMAP

cyrus_bind
cyrus_connect
Cyrus Функции
PHP Manual

cyrus_close

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_close — Закрывает соединение с сервером Cyrus IMAP

Описание

bool cyrus_close ( resource $connection )

Закрывает соединение с сервером Cyrus IMAP.

Список параметров

connection

Дескриптор соединения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_bind
cyrus_connect
Cyrus Функции


Установить соединение с сервером Cyrus IMAP

cyrus_close
cyrus_query
Cyrus Функции
PHP Manual

cyrus_connect

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_connect — Установить соединение с сервером Cyrus IMAP

Описание

resource cyrus_connect ([ string $host [, string $port [, int $flags ]]] )

Устанавливает соединение с сервером Cyrus IMAP.

Список параметров

host

Имя хоста Cyrus IMAP сервера.

port

Номер порта.

flags

Возвращаемые значения

Возвращает дескриптор соединения в случае успеха или FALSE в случае возникновения ошибки.

cyrus_close
cyrus_query
Cyrus Функции


Послать запрос Cyrus IMAP серверу

cyrus_connect
cyrus_unbind
Cyrus Функции
PHP Manual

cyrus_query

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_query — Послать запрос Cyrus IMAP серверу

Описание

array cyrus_query ( resource $connection , string $query )

Посылает запрос Cyrus IMAP серверу.

Список параметров

connection

Дескриптор соединения.

query

Строка запроса.

Возвращаемые значения

Возвращает ассоциативный массив со следующими ключами: text, msgno и keyword.

cyrus_connect
cyrus_unbind
Cyrus Функции


Убрать привязки обратных вызовов для Cyrus IMAP соединения

cyrus_query
IMAP
Cyrus Функции
PHP Manual

cyrus_unbind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_unbind — Убрать привязки обратных вызовов для Cyrus IMAP соединения

Описание

bool cyrus_unbind ( resource $connection , string $trigger_name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

Дескриптор соединения.

trigger_name

Имя триггера.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_query
IMAP
Cyrus Функции


IMAP, POP3 и NNTP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • IMAP Функции
    • imap_8bit — Конвертирует 8-битную строку в quoted-printable строку
    • imap_alerts — Returns all IMAP alert messages that have occurred
    • imap_append — Добавляет строковое сообщение в указанный почтовый ящик
    • imap_base64 — Decode BASE64 encoded text
    • imap_binary — Convert an 8bit string to a base64 string
    • imap_body — Read the message body
    • imap_bodystruct — Read the structure of a specified body section of a specific message
    • imap_check — Check current mailbox
    • imap_clearflag_full — Clears flags on messages
    • imap_close — Close an IMAP stream
    • imap_create — Псевдоним imap_createmailbox
    • imap_createmailbox — Create a new mailbox
    • imap_delete — Mark a message for deletion from current mailbox
    • imap_deletemailbox — Delete a mailbox
    • imap_errors — Returns all of the IMAP errors that have occured
    • imap_expunge — Delete all messages marked for deletion
    • imap_fetch_overview — Read an overview of the information in the headers of the given message
    • imap_fetchbody — Fetch a particular section of the body of the message
    • imap_fetchheader — Returns header for a message
    • imap_fetchmime — Fetch MIME headers for a particular section of the message
    • imap_fetchstructure — Read the structure of a particular message
    • imap_fetchtext — Псевдоним imap_body
    • imap_gc — Clears IMAP cache
    • imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
    • imap_get_quotaroot — Retrieve the quota settings per user
    • imap_getacl — Gets the ACL for a given mailbox
    • imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
    • imap_getsubscribed — List all the subscribed mailboxes
    • imap_header — Псевдоним imap_headerinfo
    • imap_headerinfo — Read the header of the message
    • imap_headers — Returns headers for all messages in a mailbox
    • imap_last_error — Gets the last IMAP error that occurred during this page request
    • imap_list — Read the list of mailboxes
    • imap_listmailbox — Псевдоним imap_list
    • imap_listscan — Returns the list of mailboxes that matches the given text
    • imap_listsubscribed — Псевдоним imap_lsub
    • imap_lsub — List all the subscribed mailboxes
    • imap_mail_compose — Create a MIME message based on given envelope and body sections
    • imap_mail_copy — Copy specified messages to a mailbox
    • imap_mail_move — Move specified messages to a mailbox
    • imap_mail — Send an email message
    • imap_mailboxmsginfo — Get information about the current mailbox
    • imap_mime_header_decode — Decode MIME header elements
    • imap_msgno — Gets the message sequence number for the given UID
    • imap_num_msg — Gets the number of messages in the current mailbox
    • imap_num_recent — Gets the number of recent messages in current mailbox
    • imap_open — Open an IMAP stream to a mailbox
    • imap_ping — Check if the IMAP stream is still active
    • imap_qprint — Convert a quoted-printable string to an 8 bit string
    • imap_rename — Псевдоним imap_renamemailbox
    • imap_renamemailbox — Rename an old mailbox to new mailbox
    • imap_reopen — Reopen IMAP stream to new mailbox
    • imap_rfc822_parse_adrlist — Parses an address string
    • imap_rfc822_parse_headers — Parse mail headers from a string
    • imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info
    • imap_savebody — Save a specific body section to a file
    • imap_scan — Псевдоним imap_listscan
    • imap_scanmailbox — Псевдоним imap_listscan
    • imap_search — This function returns an array of messages matching the given search criteria
    • imap_set_quota — Sets a quota for a given mailbox
    • imap_setacl — Sets the ACL for a giving mailbox
    • imap_setflag_full — Sets flags on messages
    • imap_sort — Gets and sort messages
    • imap_status — Returns status information on a mailbox
    • imap_subscribe — Subscribe to a mailbox
    • imap_thread — Returns a tree of threaded message
    • imap_timeout — Set or fetch imap timeout
    • imap_uid — This function returns the UID for the given message sequence number
    • imap_undelete — Unmark the message which is marked deleted
    • imap_unsubscribe — Unsubscribe from a mailbox
    • imap_utf7_decode — Decodes a modified UTF-7 encoded string
    • imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
    • imap_utf8 — Converts MIME-encoded text to UTF-8
cyrus_unbind
Введение
Расширения по работе с почтой


Введение

Эти функции позволяют работать с IMAP протоколом, а также NNTP, POP3 и локальными методами доступа к почтовому ящику.

Внимание, некоторые IMAP функции не будут корректно работать c POP протоколом.

IMAP
Установка и настройка
IMAP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
IMAP


Требования

Это расширение требует установленной библиотеки c-client. Возьмите последнюю версию с » ftp://ftp.cac.washington.edu/imap/ и скомпилируйте её.

Важно, чтобы вы не копировали исходные файлы IMAP непосредственно в системные include директории, это может вызвать конфликт. Вместо этого создайте новую директорию внутри системной include директории, например /usr/local/imap-2000b/ (месторасположение и имя зависит от вашей установленной версии IMAP), и внутри них создайте новые директории с именами lib/ и include/. Для c-client директории из вашей исходной директории IMAP скопируйте все *.h файлы в include/ и все *.c файлы в lib/. После того, как вы скомпилируете IMAP, будет создан файл с именем c-client.a. Затем переименуйте этот файл в libc-client.a и скопируйте его в lib/.

Замечание:

Для сборки библиотеки c-client с поддержкой SSL и/или Kerberos прочитайте документацию, поставляемую с пакетом.

Замечание: В Mandrake Linux, библиотека IMAP (libc-client.a) компилируется без поддержки Kerberos. Версия с поддержкой SSL (client-PHP4.a) устанавливается отдельно. Чтобы добавить поддержку Kerberos, перекомпилируйте библиотеку.

Установка и настройка
Установка
Установка и настройка


Установка

Чтобы включить поддержку IMAP в сборку PHP, добавьте в конфигурацию ключ --with-imap[=DIR] , где DIR это папка установки c-client. Для нашего вышеуказанного примера вы должны использвать --with-imap=/usr/local/imap-2000b . Этот путь зависит от того, где вы создали эту директорию в соответствии с описанием выше. Windows пользователи могут подключить php_imap.dll DLL в php.ini.

IMAP не поддерживается в системах ранее Windows 2000. Потому что используется функции шифрования, чтобы позволить SSL соединения к mail серверу.

Замечание: В зависимости от того как настроен ваш c-client, вам может понадобиться добавить --with-imap-ssl=/path/to/openssl/ и/или --with-kerberos=/path/to/kerberos ключ при конфигурировании PHP.

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки, YAZ или Cyrus. Это связано с тем фактом, что они оба используют одни и те же внутренние символы. Замечание: Версии Yaz 2.0 и выше избавлены от этого недостатка.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Open mailbox read-only
OP_ANONYMOUS (integer)
Don't use or update a .newsrc for news (NNTP only)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
For IMAP and NNTP names, open a connection but don't open a mailbox.
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
silently expunge the mailbox before closing when calling imap_close()
FT_UID (integer)
The parameter is a UID
FT_PEEK (integer)
Do not set the \Seen flag if not already set
FT_NOT (integer)
FT_INTERNAL (integer)
The return string is in internal format, will not canonicalize to CRLF.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
The sequence argument contains UIDs instead of sequence numbers
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
the sequence numbers contain UIDS
CP_MOVE (integer)
Delete the messages from the current mailbox after copying with imap_mail_copy()
SE_UID (integer)
Return UIDs instead of sequence numbers
SE_FREE (integer)
SE_NOPREFETCH (integer)
Don't prefetch searched messages
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
This mailbox has no "children" (there are no mailboxes below this one).
LATT_NOSELECT (integer)
This is only a container, not a mailbox - you cannot open it.
LATT_MARKED (integer)
This mailbox is marked. Only used by UW-IMAPD.
LATT_UNMARKED (integer)
This mailbox is not marked. Only used by UW-IMAPD.
SORTDATE (integer)
Sort criteria for imap_sort(): message Date
SORTARRIVAL (integer)
Sort criteria for imap_sort(): arrival date
SORTFROM (integer)
Sort criteria for imap_sort(): mailbox in first From address
SORTSUBJECT (integer)
Sort criteria for imap_sort(): message subject
SORTTO (integer)
Sort criteria for imap_sort(): mailbox in first To address
SORTCC (integer)
Sort criteria for imap_sort(): mailbox in first cc address
SORTSIZE (integer)
Sort criteria for imap_sort(): size of message in octets
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)
IMAP_GC_ELT (integer)
Garbage collector, clear message cache elements.
IMAP_GC_ENV (integer)
Garbage collector, clear envelopes and bodies.
IMAP_GC_TEXTS (integer)
Garbage collector, clear texts.
Типы ресурсов
IMAP Функции
IMAP


IMAP Функции

Смотрите также

This document can't go into detail on all the topics touched by the provided functions. Further information is provided by the documentation of the c-client library source (docs/internal.txt). and the following RFC documents:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP).
  • » RFC2822: Standard for ARPA internet text messages.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939: Post Office Protocol Version 3 (POP3).
  • » RFC977: Network News Transfer Protocol (NNTP).
  • » RFC2076: Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
A detailed overview is also available in the books » Programming Internet Email by David Wood and » Managing IMAP by Dianna Mullet & Kevin Mullet.

Содержание

  • imap_8bit — Конвертирует 8-битную строку в quoted-printable строку
  • imap_alerts — Returns all IMAP alert messages that have occurred
  • imap_append — Добавляет строковое сообщение в указанный почтовый ящик
  • imap_base64 — Decode BASE64 encoded text
  • imap_binary — Convert an 8bit string to a base64 string
  • imap_body — Read the message body
  • imap_bodystruct — Read the structure of a specified body section of a specific message
  • imap_check — Check current mailbox
  • imap_clearflag_full — Clears flags on messages
  • imap_close — Close an IMAP stream
  • imap_create — Псевдоним imap_createmailbox
  • imap_createmailbox — Create a new mailbox
  • imap_delete — Mark a message for deletion from current mailbox
  • imap_deletemailbox — Delete a mailbox
  • imap_errors — Returns all of the IMAP errors that have occured
  • imap_expunge — Delete all messages marked for deletion
  • imap_fetch_overview — Read an overview of the information in the headers of the given message
  • imap_fetchbody — Fetch a particular section of the body of the message
  • imap_fetchheader — Returns header for a message
  • imap_fetchmime — Fetch MIME headers for a particular section of the message
  • imap_fetchstructure — Read the structure of a particular message
  • imap_fetchtext — Псевдоним imap_body
  • imap_gc — Clears IMAP cache
  • imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
  • imap_get_quotaroot — Retrieve the quota settings per user
  • imap_getacl — Gets the ACL for a given mailbox
  • imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
  • imap_getsubscribed — List all the subscribed mailboxes
  • imap_header — Псевдоним imap_headerinfo
  • imap_headerinfo — Read the header of the message
  • imap_headers — Returns headers for all messages in a mailbox
  • imap_last_error — Gets the last IMAP error that occurred during this page request
  • imap_list — Read the list of mailboxes
  • imap_listmailbox — Псевдоним imap_list
  • imap_listscan — Returns the list of mailboxes that matches the given text
  • imap_listsubscribed — Псевдоним imap_lsub
  • imap_lsub — List all the subscribed mailboxes
  • imap_mail_compose — Create a MIME message based on given envelope and body sections
  • imap_mail_copy — Copy specified messages to a mailbox
  • imap_mail_move — Move specified messages to a mailbox
  • imap_mail — Send an email message
  • imap_mailboxmsginfo — Get information about the current mailbox
  • imap_mime_header_decode — Decode MIME header elements
  • imap_msgno — Gets the message sequence number for the given UID
  • imap_num_msg — Gets the number of messages in the current mailbox
  • imap_num_recent — Gets the number of recent messages in current mailbox
  • imap_open — Open an IMAP stream to a mailbox
  • imap_ping — Check if the IMAP stream is still active
  • imap_qprint — Convert a quoted-printable string to an 8 bit string
  • imap_rename — Псевдоним imap_renamemailbox
  • imap_renamemailbox — Rename an old mailbox to new mailbox
  • imap_reopen — Reopen IMAP stream to new mailbox
  • imap_rfc822_parse_adrlist — Parses an address string
  • imap_rfc822_parse_headers — Parse mail headers from a string
  • imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info
  • imap_savebody — Save a specific body section to a file
  • imap_scan — Псевдоним imap_listscan
  • imap_scanmailbox — Псевдоним imap_listscan
  • imap_search — This function returns an array of messages matching the given search criteria
  • imap_set_quota — Sets a quota for a given mailbox
  • imap_setacl — Sets the ACL for a giving mailbox
  • imap_setflag_full — Sets flags on messages
  • imap_sort — Gets and sort messages
  • imap_status — Returns status information on a mailbox
  • imap_subscribe — Subscribe to a mailbox
  • imap_thread — Returns a tree of threaded message
  • imap_timeout — Set or fetch imap timeout
  • imap_uid — This function returns the UID for the given message sequence number
  • imap_undelete — Unmark the message which is marked deleted
  • imap_unsubscribe — Unsubscribe from a mailbox
  • imap_utf7_decode — Decodes a modified UTF-7 encoded string
  • imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
  • imap_utf8 — Converts MIME-encoded text to UTF-8
Предопределенные константы
imap_8bit
IMAP


Конвертирует 8-битную строку в quoted-printable строку

IMAP Функции
imap_alerts
IMAP Функции
PHP Manual

imap_8bit

(PHP 4, PHP 5)

imap_8bit — Конвертирует 8-битную строку в quoted-printable строку

Описание

string imap_8bit ( string $string )

Конвертирует 8-битную строку в quoted-printable строку (в соответствии с » RFC2045, раздел 6.7).

Список параметров

string

8-битная строка для конвертации

Возвращаемые значения

Возвращает quoted-printable строку.

Смотрите также

  • imap_qprint() - Convert a quoted-printable string to an 8 bit string

IMAP Функции
imap_alerts
IMAP Функции


Returns all IMAP alert messages that have occurred

imap_8bit
imap_append
IMAP Функции
PHP Manual

imap_alerts

(PHP 4, PHP 5)

imap_alerts — Returns all IMAP alert messages that have occurred

Описание

array imap_alerts ( void )

Returns all of the IMAP alert messages generated since the last imap_alerts() call, or the beginning of the page.

When imap_alerts() is called, the alert stack is subsequently cleared. The IMAP specification requires that these messages be passed to the user.

Возвращаемые значения

Returns an array of all of the IMAP alert messages generated or FALSE if no alert messages are available.

Смотрите также

  • imap_errors() - Returns all of the IMAP errors that have occured

imap_8bit
imap_append
IMAP Функции


Добавляет строковое сообщение в указанный почтовый ящик

imap_alerts
imap_base64
IMAP Функции
PHP Manual

imap_append

(PHP 4, PHP 5)

imap_append — Добавляет строковое сообщение в указанный почтовый ящик

Описание

bool imap_append ( resource $imap_stream , string $mailbox , string $message [, string $options = NULL [, string $internal_date = NULL ]] )

Добавляет строку message в указанный mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

Имя почтового ящика. Cмотрите imap_open() для подробной информации.

message

Добавляемое сообщение в виде строки

При обращении к Cyrus IMAP серверу следует использовать "\r\n" как завершающий символ строки вместо "\n", иначе операция будет неудачна.

options

Если указан, то параметр options также будет записан в mailbox

internal_date

Если этот параметр указан, он установит INTERNALDATE в добавляемом сообщении. Параметр должен содержать дату, представленную строкой, которая соответствует спецификации rfc2060 для значения date_time.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.2 | Добавлена поддержка INTERNALDATE для imap_append.

Примеры

Пример #1 Пример использования imap_append()

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Кол-во сообщений до добавления: ". $check->Nmsgs . "\n";

imap_append($stream, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "это проверочное сообщение, пожалуйста, игнорируйте его\r\n"
                   );

$check = imap_check($stream);
echo "Кол-во сообщений после добавления : ". $check->Nmsgs . "\n";

imap_close($stream);
?>

imap_alerts
imap_base64
IMAP Функции


Decode BASE64 encoded text

imap_append
imap_binary
IMAP Функции
PHP Manual

imap_base64

(PHP 4, PHP 5)

imap_base64 — Decode BASE64 encoded text

Описание

string imap_base64 ( string $text )

Decodes the given BASE-64 encoded text.

Список параметров

text

The encoded text

Возвращаемые значения

Returns the decoded message as a string.

Смотрите также

  • imap_binary() - Convert an 8bit string to a base64 string
  • base64_encode() - Kодирует данные алгоритмом MIME base64
  • base64_decode() - Декодирует данные, закодированные алгоритмом MIME base64
  • » RFC2045, Section 6.8

imap_append
imap_binary
IMAP Функции


Convert an 8bit string to a base64 string

imap_base64
imap_body
IMAP Функции
PHP Manual

imap_binary

(PHP 4, PHP 5)

imap_binary — Convert an 8bit string to a base64 string

Описание

string imap_binary ( string $string )

Convert an 8bit string to a base64 string according to » RFC2045, Section 6.8.

Список параметров

string

The 8bit string

Возвращаемые значения

Returns a base64 encoded string.

Смотрите также

  • imap_base64() - Decode BASE64 encoded text

imap_base64
imap_body
IMAP Функции


Read the message body

imap_binary
imap_bodystruct
IMAP Функции
PHP Manual

imap_body

(PHP 4, PHP 5)

imap_body — Read the message body

Описание

string imap_body ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_body() returns the body of the message, numbered msg_number in the current mailbox.

imap_body() will only return a verbatim copy of the message body. To extract single parts of a multipart MIME-encoded message you have to use imap_fetchstructure() to analyze its structure and imap_fetchbody() to extract a copy of a single body component.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

options

The optional options are a bit mask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Возвращаемые значения

Returns the body of the specified message, as a string.

imap_binary
imap_bodystruct
IMAP Функции


Read the structure of a specified body section of a specific message

imap_body
imap_check
IMAP Функции
PHP Manual

imap_bodystruct

(PHP 4, PHP 5)

imap_bodystruct — Read the structure of a specified body section of a specific message

Описание

object imap_bodystruct ( resource $imap_stream , int $msg_number , string $section )

Read the structure of a specified body section of a specific message.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

section

The body section to read

Возвращаемые значения

Returns the information in an object, for a detailed description of the object structure and properties see imap_fetchstructure().

Смотрите также

  • imap_fetchstructure() - Read the structure of a particular message

imap_body
imap_check
IMAP Функции


Check current mailbox

imap_bodystruct
imap_clearflag_full
IMAP Функции
PHP Manual

imap_check

(PHP 4, PHP 5)

imap_check — Check current mailbox

Описание

object imap_check ( resource $imap_stream )

Checks information about the current mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns the information in an object with following properties:

  • Date - current system time formatted according to » RFC2822
  • Driver - protocol used to access this mailbox: POP3, IMAP, NNTP
  • Mailbox - the mailbox name
  • Nmsgs - number of messages in the mailbox
  • Recent - number of recent messages in the mailbox

Returns FALSE on failure.

Примеры

Пример #1 imap_check() example

<?php

$imap_obj = imap_check($imap_stream);
var_dump($imap_obj);

?>

Результатом выполнения данного примера будет что-то подобное:

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}

imap_bodystruct
imap_clearflag_full
IMAP Функции


Clears flags on messages

imap_check
imap_close
IMAP Функции
PHP Manual

imap_clearflag_full

(PHP 4, PHP 5)

imap_clearflag_full — Clears flags on messages

Описание

bool imap_clearflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = 0 ] )

This function causes a store to delete the specified flag to the flags set for the messages in the specified sequence.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

sequence

A sequence of message numbers. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flag

The flags which you can unset are "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", and "\\Draft" (as defined by » RFC2060)

options

options are a bit mask and may contain the single option:

  • ST_UID - The sequence argument contains UIDs instead of sequence numbers

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_setflag_full() - Sets flags on messages

imap_check
imap_close
IMAP Функции


Close an IMAP stream

imap_clearflag_full
imap_create
IMAP Функции
PHP Manual

imap_close

(PHP 4, PHP 5)

imap_close — Close an IMAP stream

Описание

bool imap_close ( resource $imap_stream [, int $flag = 0 ] )

Closes the imap stream.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

flag

If set to CL_EXPUNGE, the function will silently expunge the mailbox before closing, removing all messages marked for deletion. You can achieve the same thing by using imap_expunge()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_open() - Open an IMAP stream to a mailbox

imap_clearflag_full
imap_create
IMAP Функции


Псевдоним imap_createmailbox

imap_close
imap_createmailbox
IMAP Функции
PHP Manual

imap_create

(PHP 4, PHP 5)

imap_create — Псевдоним imap_createmailbox()

Описание

Эта функция является псевдонимом: imap_createmailbox().

imap_close
imap_createmailbox
IMAP Функции


Create a new mailbox

imap_create
imap_delete
IMAP Функции
PHP Manual

imap_createmailbox

(PHP 4, PHP 5)

imap_createmailbox — Create a new mailbox

Описание

bool imap_createmailbox ( resource $imap_stream , string $mailbox )

Creates a new mailbox specified by mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information. Names containing international characters should be encoded by imap_utf7_encode()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imap_createmailbox() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("can't connect: " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

$newname = $name1;

echo "Newname will be '$name1'<br />\n";

// we will now create a new mailbox "phptestbox" in your inbox folder,
// check its status after creation and finaly remove it to restore
// your inbox to its initial state

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
    $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "your new mailbox '$name1' has the following status:<br />\n";
        echo "Messages:   " . $status->messages    . "<br />\n";
        echo "Recent:     " . $status->recent      . "<br />\n";
        echo "Unseen:     " . $status->unseen      . "<br />\n";
        echo "UIDnext:    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

        if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
            echo "renamed new mailbox from '$name1' to '$name2'<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox on new mailbox failed: " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "new mailbox removed to restore initial state<br />\n";
    } else {
        echo "imap_deletemailbox on new mailbox failed: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Смотрите также

  • imap_renamemailbox() - Rename an old mailbox to new mailbox
  • imap_deletemailbox() - Delete a mailbox

imap_create
imap_delete
IMAP Функции


Mark a message for deletion from current mailbox

imap_createmailbox
imap_deletemailbox
IMAP Функции
PHP Manual

imap_delete

(PHP 4, PHP 5)

imap_delete — Mark a message for deletion from current mailbox

Описание

bool imap_delete ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Marks messages listed in msg_number for deletion. Messages marked for deletion will stay in the mailbox until either imap_expunge() is called or imap_close() is called with the optional parameter CL_EXPUNGE.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

options

You can set the FT_UID which tells the function to treat the msg_number argument as an UID.

Возвращаемые значения

Returns TRUE.

Примеры

Пример #1 imap_delete() example

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Примечания

Замечание:

POP3 mailboxes do not have their message flags saved between connections, so imap_expunge() must be called during the same connection in order for messages marked for deletion to actually be purged.

Смотрите также

  • imap_undelete() - Unmark the message which is marked deleted
  • imap_expunge() - Delete all messages marked for deletion
  • imap_close() - Close an IMAP stream

imap_createmailbox
imap_deletemailbox
IMAP Функции


Delete a mailbox

imap_delete
imap_errors
IMAP Функции
PHP Manual

imap_deletemailbox

(PHP 4, PHP 5)

imap_deletemailbox — Delete a mailbox

Описание

bool imap_deletemailbox ( resource $imap_stream , string $mailbox )

Deletes the specified mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_createmailbox() - Create a new mailbox
  • imap_renamemailbox() - Rename an old mailbox to new mailbox
  • imap_open() - Open an IMAP stream to a mailbox for the format of mbox

imap_delete
imap_errors
IMAP Функции


Returns all of the IMAP errors that have occured

imap_deletemailbox
imap_expunge
IMAP Функции
PHP Manual

imap_errors

(PHP 4, PHP 5)

imap_errors — Returns all of the IMAP errors that have occured

Описание

array imap_errors ( void )

Gets all of the IMAP errors (if any) that have occurred during this page request or since the error stack was reset.

When imap_errors() is called, the error stack is subsequently cleared.

Возвращаемые значения

This function returns an array of all of the IMAP error messages generated since the last imap_errors() call, or the beginning of the page. Returns FALSE if no error messages are available.

Смотрите также

  • imap_last_error() - Gets the last IMAP error that occurred during this page request
  • imap_alerts() - Returns all IMAP alert messages that have occurred

imap_deletemailbox
imap_expunge
IMAP Функции


Delete all messages marked for deletion

imap_errors
imap_fetch_overview
IMAP Функции
PHP Manual

imap_expunge

(PHP 4, PHP 5)

imap_expunge — Delete all messages marked for deletion

Описание

bool imap_expunge ( resource $imap_stream )

Deletes all the messages marked for deletion by imap_delete(), imap_mail_move(), or imap_setflag_full().

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns TRUE.

imap_errors
imap_fetch_overview
IMAP Функции


Read an overview of the information in the headers of the given message

imap_expunge
imap_fetchbody
IMAP Функции
PHP Manual

imap_fetch_overview

(PHP 4, PHP 5)

imap_fetch_overview — Read an overview of the information in the headers of the given message

Описание

array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )

This function fetches mail headers for the given sequence and returns an overview of their contents.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

sequence

A message sequence description. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

options

sequence will contain a sequence of message indices or UIDs, if this parameter is set to FT_UID.

Возвращаемые значения

Returns an array of objects describing one message header each. The object will only define a property if it exists. The possible properties are:

  • subject - the messages subject
  • from - who sent it
  • to - recipient
  • date - when was it sent
  • message_id - Message-ID
  • references - is a reference to this message id
  • in_reply_to - is a reply to this message id
  • size - size in bytes
  • uid - UID the message has in the mailbox
  • msgno - message sequence number in the mailbox
  • recent - this message is flagged as recent
  • flagged - this message is flagged
  • answered - this message is flagged as answered
  • deleted - this message is flagged for deletion
  • seen - this message is flagged as already read
  • draft - this message is flagged as being a draft

Примеры

Пример #1 imap_fetch_overview() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Смотрите также

  • imap_fetchheader() - Returns header for a message

imap_expunge
imap_fetchbody
IMAP Функции


Fetch a particular section of the body of the message

imap_fetch_overview
imap_fetchheader
IMAP Функции
PHP Manual

imap_fetchbody

(PHP 4, PHP 5)

imap_fetchbody — Fetch a particular section of the body of the message

Описание

string imap_fetchbody ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Fetch of a particular section of the body of the specified messages. Body parts are not decoded by this function.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Возвращаемые значения

Returns a particular section of the body of the specified messages as a text string.

Смотрите также

  • imap_savebody() - Save a specific body section to a file
  • imap_fetchstructure() - Read the structure of a particular message

imap_fetch_overview
imap_fetchheader
IMAP Функции


Returns header for a message

imap_fetchbody
imap_fetchmime
IMAP Функции
PHP Manual

imap_fetchheader

(PHP 4, PHP 5)

imap_fetchheader — Returns header for a message

Описание

string imap_fetchheader ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

This function causes a fetch of the complete, unfiltered » RFC2822 format header of the specified message.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

options

The possible options are:

  • FT_UID - The msgno argument is a UID
  • FT_INTERNAL - The return string is in "internal" format, without any attempt to canonicalize to CRLF newlines
  • FT_PREFETCHTEXT - The RFC822.TEXT should be pre-fetched at the same time. This avoids an extra RTT on an IMAP connection if a full message text is desired (e.g. in a "save to local file" operation)

Возвращаемые значения

Returns the header of the specified message as a text string.

Смотрите также

  • imap_fetch_overview() - Read an overview of the information in the headers of the given message

imap_fetchbody
imap_fetchmime
IMAP Функции


Fetch MIME headers for a particular section of the message

imap_fetchheader
imap_fetchstructure
IMAP Функции
PHP Manual

imap_fetchmime

(PHP 5 >= 5.3.6)

imap_fetchmime — Fetch MIME headers for a particular section of the message

Описание

string imap_fetchmime ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Fetch the MIME headers of a particular section of the body of the specified messages.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Возвращаемые значения

Returns the MIME headers of a particular section of the body of the specified messages as a text string.

Смотрите также

  • imap_fetchbody() - Fetch a particular section of the body of the message
  • imap_fetchstructure() - Read the structure of a particular message
  • imap_fetchheader() - Returns header for a message

imap_fetchheader
imap_fetchstructure
IMAP Функции


Read the structure of a particular message

imap_fetchmime
imap_fetchtext
IMAP Функции
PHP Manual

imap_fetchstructure

(PHP 4, PHP 5)

imap_fetchstructure — Read the structure of a particular message

Описание

object imap_fetchstructure ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Fetches all the structured information for a given message.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

options

This optional parameter only has a single option, FT_UID, which tells the function to treat the msg_number argument as a UID.

Возвращаемые значения

Returns an object includes the envelope, internal date, size, flags and body structure along with a similar object for each mime attachment. The structure of the returned objects is as follows:

Returned Objects for imap_fetchstructure()
type | Primary body type
encoding | Body transfer encoding
ifsubtype | TRUE if there is a subtype string
subtype | MIME subtype
ifdescription | TRUE if there is a description string
description | Content description string
ifid | TRUE if there is an identification string
id | Identification string
lines | Number of lines
bytes | Number of bytes
ifdisposition | TRUE if there is a disposition string
disposition | Disposition string
ifdparameters | TRUE if the dparameters array exists
dparameters | An array of objects where each object has an "attribute" and a "value" property corresponding to the parameters on the Content-disposition MIME header.
ifparameters | TRUE if the parameters array exists
parameters | An array of objects where each object has an "attribute" and a "value" property.
parts | An array of objects identical in structure to the top-level object, each of which corresponds to a MIME body part.

Primary body type (may vary with used library)
0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

Transfer encodings (may vary with used library)
0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTHER

Смотрите также

  • imap_fetchbody() - Fetch a particular section of the body of the message
  • imap_bodystruct() - Read the structure of a specified body section of a specific message

imap_fetchmime
imap_fetchtext
IMAP Функции


Псевдоним imap_body

imap_fetchstructure
imap_gc
IMAP Функции
PHP Manual

imap_fetchtext

(PHP 4, PHP 5)

imap_fetchtext — Псевдоним imap_body()

Описание

Эта функция является псевдонимом: imap_body().

imap_fetchstructure
imap_gc
IMAP Функции


Clears IMAP cache

imap_fetchtext
imap_get_quota
IMAP Функции
PHP Manual

imap_gc

(PHP 5 >= 5.3.0)

imap_gc — Clears IMAP cache

Описание

bool imap_gc ( resource $imap_stream , int $caches )

Purges the cache of entries of a specific type.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

caches

Specifies the cache to purge. It may one or a combination of the following constants: IMAP_GC_ELT (message cache elements), IMAP_GC_ENV (enveloppe and bodies), IMAP_GC_TEXTS (texts).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imap_gc() example

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>

imap_fetchtext
imap_get_quota
IMAP Функции


Retrieve the quota level settings, and usage statics per mailbox

imap_gc
imap_get_quotaroot
IMAP Функции
PHP Manual

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox

Описание

array imap_get_quota ( resource $imap_stream , string $quota_root )

Retrieve the quota level settings, and usage statics per mailbox.

For a non-admin user version of this function, please see the imap_get_quotaroot() function of PHP.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

quota_root

quota_root should normally be in the form of user.name where name is the mailbox you wish to retrieve information about.

Возвращаемые значения

Returns an array with integer values limit and usage for the given mailbox. The value of limit represents the total amount of space allowed for this mailbox. The usage value represents the mailboxes current level of capacity. Will return FALSE in the case of failure.

As of PHP 4.3, the function more properly reflects the functionality as dictated by the » RFC2087. The array return value has changed to support an unlimited number of returned resources (i.e. messages, or sub-folders) with each named resource receiving an individual array key. Each key value then contains an another array with the usage and limit values within it.

For backwards compatibility reasons, the original access methods are still available for use, although it is suggested to update.

Примеры

Пример #1 imap_get_quota() example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Пример #2 imap_get_quota() 4.3 or greater example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Примечания

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, otherwise this function will fail.

Смотрите также

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_set_quota() - Sets a quota for a given mailbox
  • imap_get_quotaroot() - Retrieve the quota settings per user

imap_gc
imap_get_quotaroot
IMAP Функции


Retrieve the quota settings per user

imap_get_quota
imap_getacl
IMAP Функции
PHP Manual

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5)

imap_get_quotaroot — Retrieve the quota settings per user

Описание

array imap_get_quotaroot ( resource $imap_stream , string $quota_root )

Retrieve the quota settings per user. The limit value represents the total amount of space allowed for this user's total mailbox usage. The usage value represents the user's current total mailbox capacity.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

quota_root

quota_root should normally be in the form of which mailbox (i.e. INBOX).

Возвращаемые значения

Returns an array of integer values pertaining to the specified user mailbox. All values contain a key based upon the resource name, and a corresponding array with the usage and limit values within.

This function will return FALSE in the case of call failure, and an array of information about the connection upon an un-parsable response from the server.

Примеры

Пример #1 imap_get_quotaroot() example

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit level is: " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Примечания

This function is currently only available to users of the c-client2000 or greater library.

The imap_stream should be opened as the user whose mailbox you wish to check.

Смотрите также

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_set_quota() - Sets a quota for a given mailbox
  • imap_get_quota() - Retrieve the quota level settings, and usage statics per mailbox

imap_get_quota
imap_getacl
IMAP Функции


Gets the ACL for a given mailbox

imap_get_quotaroot
imap_getmailboxes
IMAP Функции
PHP Manual

imap_getacl

(PHP 5)

imap_getacl — Gets the ACL for a given mailbox

Описание

array imap_getacl ( resource $imap_stream , string $mailbox )

Gets the ACL for a given mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

Возвращаемые значения

Returns an associative array of "folder" => "acl" pairs.

Примеры

Пример #1 imap_getacl() example

<?php

print_r(imap_getacl($conn_id, 'user.joecool'));

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Примечания

This function is currently only available to users of the c-client2000 or greater library.

Смотрите также

  • imap_setacl() - Sets the ACL for a giving mailbox

imap_get_quotaroot
imap_getmailboxes
IMAP Функции


Read the list of mailboxes, returning detailed information on each one

imap_getacl
imap_getsubscribed
IMAP Функции
PHP Manual

imap_getmailboxes

(PHP 4, PHP 5)

imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one

Описание

array imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern )

Gets information on the mailboxes.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Определяет начало поиска в иерархии почтовых ящиков.

Есть два специальных символа, которых можно использовать при передаче как часть pattern: '*' и '%'. '*' возвращает все почтовые ящики. Если вы передадите pattern как '*', то получите полный список иерархии почтовых ящиков. '%' вернет только текущий уровень. '%', переданный как параметр pattern, вернет только самый почтовые ящики только на самом верхнем уровне; '~/mail/%' на UW_IMAPD вернет все ящики в директории ~/mail, кроме тех, которые находятся в ее поддиректориях.

Возвращаемые значения

Returns an array of objects containing mailbox information. Each object has the attributes name, specifying the full name of the mailbox; delimiter, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and attributes. Attributes is a bitmask that can be tested against:

  • LATT_NOINFERIORS - This mailbox contains, and may not contain any "children" (there are no mailboxes below this one). Calling imap_createmailbox() will not work on this mailbox.

  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.

  • LATT_MARKED - This mailbox is marked. This means that it may contain new messages since the last time it was checked. Not provided by all IMAP servers.

  • LATT_UNMARKED - This mailbox is not marked, does not contain new messages. If either MARKED or UNMARKED is provided, you can assume the IMAP server supports this feature for this mailbox.

Примеры

Пример #1 imap_getmailboxes() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Смотрите также

  • imap_getsubscribed() - List all the subscribed mailboxes

imap_getacl
imap_getsubscribed
IMAP Функции


List all the subscribed mailboxes

imap_getmailboxes
imap_header
IMAP Функции
PHP Manual

imap_getsubscribed

(PHP 4, PHP 5)

imap_getsubscribed — List all the subscribed mailboxes

Описание

array imap_getsubscribed ( resource $imap_stream , string $ref , string $pattern )

Gets information about the subscribed mailboxes.

Identical to imap_getmailboxes(), except that it only returns mailboxes that the user is subscribed to.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Определяет начало поиска в иерархии почтовых ящиков.

Есть два специальных символа, которых можно использовать при передаче как часть pattern: '*' и '%'. '*' возвращает все почтовые ящики. Если вы передадите pattern как '*', то получите полный список иерархии почтовых ящиков. '%' вернет только текущий уровень. '%', переданный как параметр pattern, вернет только самый почтовые ящики только на самом верхнем уровне; '~/mail/%' на UW_IMAPD вернет все ящики в директории ~/mail, кроме тех, которые находятся в ее поддиректориях.

Возвращаемые значения

Returns an array of objects containing mailbox information. Each object has the attributes name, specifying the full name of the mailbox; delimiter, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and attributes. Attributes is a bitmask that can be tested against:

  • LATT_NOINFERIORS - This mailbox has no "children" (there are no mailboxes below this one).
  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.
  • LATT_MARKED - This mailbox is marked. Only used by UW-IMAPD.
  • LATT_UNMARKED - This mailbox is not marked. Only used by UW-IMAPD.

imap_getmailboxes
imap_header
IMAP Функции


Псевдоним imap_headerinfo

imap_getsubscribed
imap_headerinfo
IMAP Функции
PHP Manual

imap_header

(PHP 4, PHP 5)

imap_header — Псевдоним imap_headerinfo()

Описание

Эта функция является псевдонимом: imap_headerinfo().

imap_getsubscribed
imap_headerinfo
IMAP Функции


Read the header of the message

imap_header
imap_headers
IMAP Функции
PHP Manual

imap_headerinfo

(PHP 4, PHP 5)

imap_headerinfo — Read the header of the message

Описание

object imap_headerinfo ( resource $imap_stream , int $msg_number [, int $fromlength = 0 [, int $subjectlength = 0 [, string $defaulthost = NULL ]]] )

Gets information about the given message number by reading its headers.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

fromlength

Number of characters for the fetchfrom property. Must be greater than or equal to zero.

subjectlength

Number of characters for the fetchsubject property Must be greater than or equal to zero.

defaulthost

Возвращаемые значения

Returns the information in an object with following properties:

  • toaddress - full to: line, up to 1024 characters
  • to - an array of objects from the To: line, with the following properties: personal, adl, mailbox, and host
  • fromaddress - full from: line, up to 1024 characters
  • from - an array of objects from the From: line, with the following properties: personal, adl, mailbox, and host
  • ccaddress - full cc: line, up to 1024 characters
  • cc - an array of objects from the Cc: line, with the following properties: personal, adl, mailbox, and host
  • bccaddress - full bcc: line, up to 1024 characters
  • bcc - an array of objects from the Bcc: line, with the following properties: personal, adl, mailbox, and host
  • reply_toaddress - full Reply-To: line, up to 1024 characters
  • reply_to - an array of objects from the Reply-To: line, with the following properties: personal, adl, mailbox, and host
  • senderaddress - full sender: line, up to 1024 characters
  • sender - an array of objects from the Sender: line, with the following properties: personal, adl, mailbox, and host
  • return_pathaddress - full Return-Path: line, up to 1024 characters
  • return_path - an array of objects from the Return-Path: line, with the following properties: personal, adl, mailbox, and host
  • remail -
  • date - The message date as found in its headers
  • Date - Same as date
  • subject - The message subject
  • Subject - Same a subject
  • in_reply_to -
  • message_id -
  • newsgroups -
  • followup_to -
  • references -
  • Recent - R if recent and seen, N if recent and not seen, ' ' if not recent.
  • Unseen - U if not seen AND not recent, ' ' if seen OR not seen and recent
  • Flagged - F if flagged, ' ' if not flagged
  • Answered - A if answered, ' ' if unanswered
  • Deleted - D if deleted, ' ' if not deleted
  • Draft - X if draft, ' ' if not draft
  • Msgno - The message number
  • MailDate -
  • Size - The message size
  • udate - mail message date in Unix time
  • fetchfrom - from line formatted to fit fromlength characters
  • fetchsubject - subject line formatted to fit subjectlength characters

Смотрите также

  • imap_fetch_overview() - Read an overview of the information in the headers of the given message

imap_header
imap_headers
IMAP Функции


Returns headers for all messages in a mailbox

imap_headerinfo
imap_last_error
IMAP Функции
PHP Manual

imap_headers

(PHP 4, PHP 5)

imap_headers — Returns headers for all messages in a mailbox

Описание

array imap_headers ( resource $imap_stream )

Returns headers for all messages in a mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns an array of string formatted with header info. One element per mail message.

imap_headerinfo
imap_last_error
IMAP Функции


Gets the last IMAP error that occurred during this page request

imap_headers
imap_list
IMAP Функции
PHP Manual

imap_last_error

(PHP 4, PHP 5)

imap_last_error — Gets the last IMAP error that occurred during this page request

Описание

string imap_last_error ( void )

Gets the full text of the last IMAP error message that occurred on the current page. The error stack is untouched; calling imap_last_error() subsequently, with no intervening errors, will return the same error.

Возвращаемые значения

Returns the full text of the last IMAP error message that occurred on the current page. Returns FALSE if no error messages are available.

Смотрите также

  • imap_errors() - Returns all of the IMAP errors that have occured

imap_headers
imap_list
IMAP Функции


Read the list of mailboxes

imap_last_error
imap_listmailbox
IMAP Функции
PHP Manual

imap_list

(PHP 4, PHP 5)

imap_list — Read the list of mailboxes

Описание

array imap_list ( resource $imap_stream , string $ref , string $pattern )

Read the list of mailboxes.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref should normally be just the server specification as described in imap_open().

pattern

Определяет начало поиска в иерархии почтовых ящиков.

Есть два специальных символа, которых можно использовать при передаче как часть pattern: '*' и '%'. '*' возвращает все почтовые ящики. Если вы передадите pattern как '*', то получите полный список иерархии почтовых ящиков. '%' вернет только текущий уровень. '%', переданный как параметр pattern, вернет только самый почтовые ящики только на самом верхнем уровне; '~/mail/%' на UW_IMAPD вернет все ящики в директории ~/mail, кроме тех, которые находятся в ее поддиректориях.

Возвращаемые значения

Returns an array containing the names of the mailboxes.

Примеры

Пример #1 imap_list() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Смотрите также

  • imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one
  • imap_lsub() - List all the subscribed mailboxes

imap_last_error
imap_listmailbox
IMAP Функции


Псевдоним imap_list

imap_list
imap_listscan
IMAP Функции
PHP Manual

imap_listmailbox

(PHP 4, PHP 5)

imap_listmailbox — Псевдоним imap_list()

Описание

Эта функция является псевдонимом: imap_list().

imap_list
imap_listscan
IMAP Функции


Returns the list of mailboxes that matches the given text

imap_listmailbox
imap_listsubscribed
IMAP Функции
PHP Manual

imap_listscan

(PHP 4, PHP 5)

imap_listscan — Returns the list of mailboxes that matches the given text

Описание

array imap_listscan ( resource $imap_stream , string $ref , string $pattern , string $content )

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

This function is similar to imap_listmailbox(), but it will additionally check for the presence of the string content inside the mailbox data.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Определяет начало поиска в иерархии почтовых ящиков.

Есть два специальных символа, которых можно использовать при передаче как часть pattern: '*' и '%'. '*' возвращает все почтовые ящики. Если вы передадите pattern как '*', то получите полный список иерархии почтовых ящиков. '%' вернет только текущий уровень. '%', переданный как параметр pattern, вернет только самый почтовые ящики только на самом верхнем уровне; '~/mail/%' на UW_IMAPD вернет все ящики в директории ~/mail, кроме тех, которые находятся в ее поддиректориях.

content

The searched string

Возвращаемые значения

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

Смотрите также

  • imap_listmailbox() - Псевдоним imap_list
  • imap_search() - This function returns an array of messages matching the given search criteria

imap_listmailbox
imap_listsubscribed
IMAP Функции


Псевдоним imap_lsub

imap_listscan
imap_lsub
IMAP Функции
PHP Manual

imap_listsubscribed

(PHP 4, PHP 5)

imap_listsubscribed — Псевдоним imap_lsub()

Описание

Эта функция является псевдонимом: imap_lsub().

imap_listscan
imap_lsub
IMAP Функции


List all the subscribed mailboxes

imap_listsubscribed
imap_mail_compose
IMAP Функции
PHP Manual

imap_lsub

(PHP 4, PHP 5)

imap_lsub — List all the subscribed mailboxes

Описание

array imap_lsub ( resource $imap_stream , string $ref , string $pattern )

Gets an array of all the mailboxes that you have subscribed.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Определяет начало поиска в иерархии почтовых ящиков.

Есть два специальных символа, которых можно использовать при передаче как часть pattern: '*' и '%'. '*' возвращает все почтовые ящики. Если вы передадите pattern как '*', то получите полный список иерархии почтовых ящиков. '%' вернет только текущий уровень. '%', переданный как параметр pattern, вернет только самый почтовые ящики только на самом верхнем уровне; '~/mail/%' на UW_IMAPD вернет все ящики в директории ~/mail, кроме тех, которые находятся в ее поддиректориях.

Возвращаемые значения

Returns an array of all the subscribed mailboxes.

Смотрите также

  • imap_list() - Read the list of mailboxes
  • imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one

imap_listsubscribed
imap_mail_compose
IMAP Функции


Create a MIME message based on given envelope and body sections

imap_lsub
imap_mail_copy
IMAP Функции
PHP Manual

imap_mail_compose

(PHP 4, PHP 5)

imap_mail_compose — Create a MIME message based on given envelope and body sections

Описание

string imap_mail_compose ( array $envelope , array $body )

Create a MIME message based on the given envelope and body sections.

Список параметров

envelope

An associative array of headers fields. Valid keys are: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc", "message_id" and "custom_headers" (which contains associative array of other headers).

body

An indexed array of bodies

A body is an associative array which can consist of the following keys: "type", "encoding", "charset", "type.parameters", "subtype", "id", "description", "disposition.type", "disposition", "contents.data", "lines", "bytes" and "md5".

Возвращаемые значения

Returns the MIME message.

Примеры

Пример #1 imap_mail_compose() example

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>

imap_lsub
imap_mail_copy
IMAP Функции


Copy specified messages to a mailbox

imap_mail_compose
imap_mail_move
IMAP Функции
PHP Manual

imap_mail_copy

(PHP 4, PHP 5)

imap_mail_copy — Copy specified messages to a mailbox

Описание

bool imap_mail_copy ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

Copies mail messages specified by msglist to specified mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msglist

msglist is a range not just message numbers (as described in » RFC2060).

mailbox

The mailbox name, see imap_open() for more information

options

options is a bitmask of one or more of

  • CP_UID - the sequence numbers contain UIDS
  • CP_MOVE - Delete the messages from the current mailbox after copying

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_mail_move() - Move specified messages to a mailbox

imap_mail_compose
imap_mail_move
IMAP Функции


Move specified messages to a mailbox

imap_mail_copy
imap_mail
IMAP Функции
PHP Manual

imap_mail_move

(PHP 4, PHP 5)

imap_mail_move — Move specified messages to a mailbox

Описание

bool imap_mail_move ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

Moves mail messages specified by msglist to the specified mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msglist

msglist is a range not just message numbers (as described in » RFC2060).

mailbox

The mailbox name, see imap_open() for more information

options

options is a bitmask and may contain the single option:

  • CP_UID - the sequence numbers contain UIDS

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

imap_mail_move() will flag the original mail with a delete flag, to successfully delete it a call to the imap_expunge() function must be made.

Смотрите также

  • imap_mail_copy() - Copy specified messages to a mailbox

imap_mail_copy
imap_mail
IMAP Функции


Send an email message

imap_mail_move
imap_mailboxmsginfo
IMAP Функции
PHP Manual

imap_mail

(PHP 4, PHP 5)

imap_mail — Send an email message

Описание

bool imap_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $cc = NULL [, string $bcc = NULL [, string $rpath = NULL ]]]] )

This function allows sending of emails with correct handling of Cc and Bcc receivers.

The parameters to, cc and bcc are all strings and are all parsed as » RFC822 address lists.

Список параметров

to

The receiver

subject

The mail subject

message

The mail body

additional_headers

As string with additional headers to be set on the mail

cc

bcc

The receivers specified in bcc will get the mail, but are excluded from the headers.

rpath

Use this parameter to specify return path upon mail delivery failure. This is useful when using PHP as a mail client for multiple users.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mail() - Отправляет электронную почту

imap_mail_move
imap_mailboxmsginfo
IMAP Функции


Get information about the current mailbox

imap_mail
imap_mime_header_decode
IMAP Функции
PHP Manual

imap_mailboxmsginfo

(PHP 4, PHP 5)

imap_mailboxmsginfo — Get information about the current mailbox

Описание

object imap_mailboxmsginfo ( resource $imap_stream )

Checks the current mailbox status on the server. It is similar to imap_status(), but will additionally sum up the size of all messages in the mailbox, which will take some additional time to execute.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns the information in an object with following properties:

Mailbox properties
Date | date of last change (current datetime)
Driver | driver
Mailbox | name of the mailbox
Nmsgs | number of messages
Recent | number of recent messages
Unread | number of unread messages
Deleted | number of deleted messages
Size | mailbox size

Returns FALSE on failure.

Примеры

Пример #1 imap_mailboxmsginfo() example

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
      or die("can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if ($check) {
    echo "Date: "     . $check->Date    . "<br />\n" ;
    echo "Driver: "   . $check->Driver  . "<br />\n" ;
    echo "Mailbox: "  . $check->Mailbox . "<br />\n" ;
    echo "Messages: " . $check->Nmsgs   . "<br />\n" ;
    echo "Recent: "   . $check->Recent  . "<br />\n" ;
    echo "Unread: "   . $check->Unread  . "<br />\n" ;
    echo "Deleted: "  . $check->Deleted . "<br />\n" ;
    echo "Size: "     . $check->Size    . "<br />\n" ;
} else {
    echo "imap_check() failed: " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>

imap_mail
imap_mime_header_decode
IMAP Функции


Decode MIME header elements

imap_mailboxmsginfo
imap_msgno
IMAP Функции
PHP Manual

imap_mime_header_decode

(PHP 4, PHP 5)

imap_mime_header_decode — Decode MIME header elements

Описание

array imap_mime_header_decode ( string $text )

Decodes MIME message header extensions that are non ASCII text (see » RFC2047).

Список параметров

text

The MIME text

Возвращаемые значения

The decoded elements are returned in an array of objects, where each object has two properties, charset and text.

If the element hasn't been encoded, and in other words is in plain US-ASCII, the charset property of that element is set to default.

Примеры

Пример #1 imap_mime_header_decode() example

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
    echo "Charset: {$elements[$i]->charset}\n";
    echo "Text: {$elements[$i]->text}\n\n";
}
?>

Результат выполнения данного примера:

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

In the above example we would have two elements, whereas the first element had previously been encoded with ISO-8859-1, and the second element would be plain US-ASCII.

Смотрите также

  • imap_utf8() - Converts MIME-encoded text to UTF-8

imap_mailboxmsginfo
imap_msgno
IMAP Функции


Gets the message sequence number for the given UID

imap_mime_header_decode
imap_num_msg
IMAP Функции
PHP Manual

imap_msgno

(PHP 4, PHP 5)

imap_msgno — Gets the message sequence number for the given UID

Описание

int imap_msgno ( resource $imap_stream , int $uid )

Returns the message sequence number for the given uid.

This function is the inverse of imap_uid().

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

uid

The message UID

Возвращаемые значения

Returns the message sequence number for the given uid.

Смотрите также

  • imap_uid() - This function returns the UID for the given message sequence number

imap_mime_header_decode
imap_num_msg
IMAP Функции


Gets the number of messages in the current mailbox

imap_msgno
imap_num_recent
IMAP Функции
PHP Manual

imap_num_msg

(PHP 4, PHP 5)

imap_num_msg — Gets the number of messages in the current mailbox

Описание

int imap_num_msg ( resource $imap_stream )

Gets the number of messages in the current mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Return the number of messages in the current mailbox, as an integer.

Смотрите также

  • imap_num_recent() - Gets the number of recent messages in current mailbox
  • imap_status() - Returns status information on a mailbox

imap_msgno
imap_num_recent
IMAP Функции


Gets the number of recent messages in current mailbox

imap_num_msg
imap_open
IMAP Функции
PHP Manual

imap_num_recent

(PHP 4, PHP 5)

imap_num_recent — Gets the number of recent messages in current mailbox

Описание

int imap_num_recent ( resource $imap_stream )

Gets the number of recent messages in the current mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns the number of recent messages in the current mailbox, as an integer.

Смотрите также

  • imap_num_msg() - Gets the number of messages in the current mailbox
  • imap_status() - Returns status information on a mailbox

imap_num_msg
imap_open
IMAP Функции


Open an IMAP stream to a mailbox

imap_num_recent
imap_ping
IMAP Функции
PHP Manual

imap_open

(PHP 4, PHP 5)

imap_open — Open an IMAP stream to a mailbox

Описание

resource imap_open ( string $mailbox , string $username , string $password [, int $options = NIL [, int $n_retries = 0 [, array $params = NULL ]]] )

Opens an IMAP stream to a mailbox.

This function can also be used to open streams to POP3 and NNTP servers, but some functions and features are only available on IMAP servers.

Список параметров

mailbox

A mailbox name consists of a server and a mailbox path on this server. The special name INBOX stands for the current users personal mailbox. Mailbox names that contain international characters besides those in the printable ASCII space have to be encoded width imap_utf7_encode().

The server part, which is enclosed in '{' and '}', consists of the servers name or ip address, an optional port (prefixed by ':'), and an optional protocol specification (prefixed by '/').

The server part is mandatory in all mailbox parameters.

All names which start with { are remote names, and are in the form "{" remote_system_name [":" port] [flags] "}" [mailbox_name] where:

  • remote_system_name - Internet domain name or bracketed IP address of server.
  • port - optional TCP port number, default is the default port for that service
  • flags - optional flags, see following table.
  • mailbox_name - remote mailbox name, default is INBOX

Optional flags for names
Flag | Description
/service=service | mailbox access service, default is "imap"
/user=user | remote user name for login on the server
/authuser=user | remote authentication user; if specified this is the user name whose password is used (e.g. administrator)
/anonymous | remote access as anonymous user
/debug | record protocol telemetry in application's debug log
/secure | do not transmit a plaintext password over the network
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | equivalent to /service=imap
/pop3 | equivalent to /service=pop3
/nntp | equivalent to /service=nntp
/norsh | do not use rsh or ssh to establish a preauthenticated IMAP session
/ssl | use the Secure Socket Layer to encrypt the session
/validate-cert | validate certificates from TLS/SSL server (this is the default behavior)
/novalidate-cert | do not validate certificates from TLS/SSL server, needed if server uses self-signed certificates
/tls | force use of start-TLS to encrypt the session, and reject connection to servers that do not support it
/notls | do not do start-TLS to encrypt the session, even with servers that support it
/readonly | request read-only mailbox open (IMAP only; ignored on NNTP, and an error with SMTP and POP3)

username

The user name

password

The password associated with the username

options

The options are a bit mask with one or more of the following:

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't open a mailbox.
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see also imap_delete() and imap_expunge())
  • OP_DEBUG - Debug protocol negotiations
  • OP_SHORTCACHE - Short (elt-only) caching
  • OP_SILENT - Don't pass up events (internal use)
  • OP_PROTOTYPE - Return driver prototype
  • OP_SECURE - Don't do non-secure authentication

n_retries

Number of maximum connect attempts

params

Connection parameters, the following (string) keys maybe used to set one or more connection parameters:

  • DISABLE_AUTHENTICATOR - Disable authentication properties

Возвращаемые значения

Returns an IMAP stream on success or FALSE on error.

Список изменений

Версия | Описание
5.3.2 | params added
5.2.0 | n_retries added

Примеры

Пример #1 Different use of imap_open()

<?php
// To connect to an IMAP server running on port 143 on the local machine,
// do the following:
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// To connect to a POP3 server on port 110 on the local server, use:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server, add /ssl after the protocol
// specification:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server with a self-signed certificate,
// add /ssl/novalidate-cert after the protocol specification:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// To connect to an NNTP server on port 119 on the local server, use:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// To connect to a remote server replace "localhost" with the name or the
// IP address of the server you want to connect to.
?>

Пример #2 imap_open() example

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

Смотрите также

  • imap_close() - Close an IMAP stream

imap_num_recent
imap_ping
IMAP Функции


Check if the IMAP stream is still active

imap_open
imap_qprint
IMAP Функции
PHP Manual

imap_ping

(PHP 4, PHP 5)

imap_ping — Check if the IMAP stream is still active

Описание

bool imap_ping ( resource $imap_stream )

imap_ping() pings the stream to see if it's still active. It may discover new mail; this is the preferred method for a periodic "new mail check" as well as a "keep alive" for servers which have inactivity timeout.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

Возвращаемые значения

Returns TRUE if the stream is still alive, FALSE otherwise.

Примеры

Пример #1 imap_ping() Example

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// after some sleeping
if (!imap_ping($imap)) {
    // do some stuff to reconnect
}

?>

imap_open
imap_qprint
IMAP Функции


Convert a quoted-printable string to an 8 bit string

imap_ping
imap_rename
IMAP Функции
PHP Manual

imap_qprint

(PHP 4, PHP 5)

imap_qprint — Convert a quoted-printable string to an 8 bit string

Описание

string imap_qprint ( string $string )

Convert a quoted-printable string to an 8 bit string according to » RFC2045, section 6.7.

Список параметров

string

A quoted-printable string

Возвращаемые значения

Returns an 8 bits string.

Смотрите также

  • imap_8bit() - Конвертирует 8-битную строку в quoted-printable строку

imap_ping
imap_rename
IMAP Функции


Псевдоним imap_renamemailbox

imap_qprint
imap_renamemailbox
IMAP Функции
PHP Manual

imap_rename

(PHP 4, PHP 5)

imap_rename — Псевдоним imap_renamemailbox()

Описание

Эта функция является псевдонимом: imap_renamemailbox().

imap_qprint
imap_renamemailbox
IMAP Функции


Rename an old mailbox to new mailbox

imap_rename
imap_reopen
IMAP Функции
PHP Manual

imap_renamemailbox

(PHP 4, PHP 5)

imap_renamemailbox — Rename an old mailbox to new mailbox

Описание

bool imap_renamemailbox ( resource $imap_stream , string $old_mbox , string $new_mbox )

This function renames on old mailbox to new mailbox (see imap_open() for the format of mbox names).

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

old_mbox

The old mailbox name, see imap_open() for more information

new_mbox

The new mailbox name, see imap_open() for more information

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_createmailbox() - Create a new mailbox
  • imap_deletemailbox() - Delete a mailbox

imap_rename
imap_reopen
IMAP Функции


Reopen IMAP stream to new mailbox

imap_renamemailbox
imap_rfc822_parse_adrlist
IMAP Функции
PHP Manual

imap_reopen

(PHP 4, PHP 5)

imap_reopen — Reopen IMAP stream to new mailbox

Описание

bool imap_reopen ( resource $imap_stream , string $mailbox [, int $options = 0 [, int $n_retries = 0 ]] )

Reopens the specified stream to a new mailbox on an IMAP or NNTP server.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

options

The options are a bit mask with one or more of the following:

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't open a mailbox.
  • OP_EXPUNGE - Silently expunge recycle stream
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see also imap_delete() and imap_expunge())

n_retries

Number of maximum connect attempts

Возвращаемые значения

Returns TRUE if the stream is reopened, FALSE otherwise.

Список изменений

Версия | Описание
5.2.0 | n_retries added

Примеры

Пример #1 imap_reopen() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent") or die(implode(", ", imap_errors()));
// ..
?>

imap_renamemailbox
imap_rfc822_parse_adrlist
IMAP Функции


Parses an address string

imap_reopen
imap_rfc822_parse_headers
IMAP Функции
PHP Manual

imap_rfc822_parse_adrlist

(PHP 4, PHP 5)

imap_rfc822_parse_adrlist — Parses an address string

Описание

array imap_rfc822_parse_adrlist ( string $address , string $default_host )

Parses the address string as defined in » RFC2822 and for each address.

Список параметров

address

A string containing addresses

default_host

The default host name

Возвращаемые значения

Returns an array of objects. The objects properties are:

  • mailbox - the mailbox name (username)
  • host - the host name
  • personal - the personal name
  • adl - at domain source route

Примеры

Пример #1 imap_rfc822_parse_adrlist() example

<?php

$address_string = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array  = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!is_array($address_array) || count($address_array) < 1) {
    die("something is wrong\n");
}

foreach ($address_array as $id => $val) {
    echo "# $id\n";
    echo "  mailbox : " . $val->mailbox . "\n";
    echo "  host    : " . $val->host . "\n";
    echo "  personal: " . $val->personal . "\n";
    echo "  adl     : " . $val->adl . "\n";
}
?>

Результат выполнения данного примера:

# 0
  mailbox : doe
  host    : example.com
  personal: Joe Doe
  adl     :
# 1
  mailbox : postmaster
  host    : example.com
  personal:
  adl     :
# 2
  mailbox : root
  host    : example.com
  personal:
  adl     :

Смотрите также

  • imap_rfc822_parse_headers() - Parse mail headers from a string

imap_reopen
imap_rfc822_parse_headers
IMAP Функции


Parse mail headers from a string

imap_rfc822_parse_adrlist
imap_rfc822_write_address
IMAP Функции
PHP Manual

imap_rfc822_parse_headers

(PHP 4, PHP 5)

imap_rfc822_parse_headers — Parse mail headers from a string

Описание

object imap_rfc822_parse_headers ( string $headers [, string $defaulthost = "UNKNOWN" ] )

Gets an object of various header elements, similar to imap_header().

Список параметров

headers

The parsed headers data

defaulthost

The default host name

Возвращаемые значения

Returns an object similar to the one returned by imap_header(), except for the flags and other properties that come from the IMAP server.

Смотрите также

  • imap_rfc822_parse_adrlist() - Parses an address string

imap_rfc822_parse_adrlist
imap_rfc822_write_address
IMAP Функции


Returns a properly formatted email address given the mailbox, host, and personal info

imap_rfc822_parse_headers
imap_savebody
IMAP Функции
PHP Manual

imap_rfc822_write_address

(PHP 4, PHP 5)

imap_rfc822_write_address — Returns a properly formatted email address given the mailbox, host, and personal info

Описание

string imap_rfc822_write_address ( string $mailbox , string $host , string $personal )

Returns a properly formatted email address as defined in » RFC2822 given the needed information.

Список параметров

mailbox

The mailbox name, see imap_open() for more information

host

The email host part

personal

The name of the account owner

Возвращаемые значения

Returns a string properly formatted email address as defined in » RFC2822.

Примеры

Пример #1 imap_rfc822_write_address() example

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

Результат выполнения данного примера:

Hartmut Holzgraefe <hartmut@example.com>

imap_rfc822_parse_headers
imap_savebody
IMAP Функции


Save a specific body section to a file

imap_rfc822_write_address
imap_scan
IMAP Функции
PHP Manual

imap_savebody

(PHP 5 >= 5.1.3)

imap_savebody — Save a specific body section to a file

Описание

bool imap_savebody ( resource $imap_stream , mixed $file , int $msg_number [, string $part_number = "" [, int $options = 0 ]] )

Saves a part or the whole body of the specified message.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

file

The path to the saved file as a string, or a valid file descriptor returned by fopen().

msg_number

The message number

part_number

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_fetchbody() - Fetch a particular section of the body of the message

imap_rfc822_write_address
imap_scan
IMAP Функции


Псевдоним imap_listscan

imap_savebody
imap_scanmailbox
IMAP Функции
PHP Manual

imap_scan

(PHP 4, PHP 5)

imap_scan — Псевдоним imap_listscan()

Описание

Эта функция является псевдонимом: imap_listscan().

imap_savebody
imap_scanmailbox
IMAP Функции


Псевдоним imap_listscan

imap_scan
imap_search
IMAP Функции
PHP Manual

imap_scanmailbox

(PHP 4, PHP 5)

imap_scanmailbox — Псевдоним imap_listscan()

Описание

Эта функция является псевдонимом: imap_listscan().

imap_scan
imap_search
IMAP Функции


This function returns an array of messages matching the given search criteria

imap_scanmailbox
imap_set_quota
IMAP Функции
PHP Manual

imap_search

(PHP 4, PHP 5)

imap_search — This function returns an array of messages matching the given search criteria

Описание

array imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NIL ]] )

This function performs a search on the mailbox currently opened in the given IMAP stream.

For example, to match all unanswered messages sent by Mom, you'd use: "UNANSWERED FROM mom". Searches appear to be case insensitive. This list of criteria is from a reading of the UW c-client source code and may be incomplete or inaccurate (see also » RFC2060, section 6.4.4).

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

criteria

A string, delimited by spaces, in which the following keywords are allowed. Any multi-word arguments (e.g. FROM "joey smith") must be quoted. Results will match all criteria entries.

  • ALL - return all messages matching the rest of the criteria
  • ANSWERED - match messages with the \\ANSWERED flag set
  • BCC "string" - match messages with "string" in the Bcc: field
  • BEFORE "date" - match messages with Date: before "date"
  • BODY "string" - match messages with "string" in the body of the message
  • CC "string" - match messages with "string" in the Cc: field
  • DELETED - match deleted messages
  • FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
  • FROM "string" - match messages with "string" in the From: field
  • KEYWORD "string" - match messages with "string" as a keyword
  • NEW - match new messages
  • OLD - match old messages
  • ON "date" - match messages with Date: matching "date"
  • RECENT - match messages with the \\RECENT flag set
  • SEEN - match messages that have been read (the \\SEEN flag is set)
  • SINCE "date" - match messages with Date: after "date"
  • SUBJECT "string" - match messages with "string" in the Subject:
  • TEXT "string" - match messages with text "string"
  • TO "string" - match messages with "string" in the To:
  • UNANSWERED - match messages that have not been answered
  • UNDELETED - match messages that are not deleted
  • UNFLAGGED - match messages that are not flagged
  • UNKEYWORD "string" - match messages that do not have the keyword "string"
  • UNSEEN - match messages which have not been read yet

options

Valid values for options are SE_UID, which causes the returned array to contain UIDs instead of messages sequence numbers.

charset

Возвращаемые значения

Returns an array of message numbers or UIDs.

Return FALSE if it does not understand the search criteria or no messages have been found.

Список изменений

Версия | Описание
4.3.3 | The charset parameter was added

Примеры

Пример #1 imap_search() example

<?php
$conn   = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);

$some   = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids   = imap_search($conn, 'ALL', SE_UID);

print_r($some);
print_r($msgnos);
print_r($uids);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 4
    [1] => 6
    [2] => 11
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 1
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 11
    [5] => 12
)

Смотрите также

  • imap_listscan() - Returns the list of mailboxes that matches the given text

imap_scanmailbox
imap_set_quota
IMAP Функции


Sets a quota for a given mailbox

imap_search
imap_setacl
IMAP Функции
PHP Manual

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_set_quota — Sets a quota for a given mailbox

Описание

bool imap_set_quota ( resource $imap_stream , string $quota_root , int $quota_limit )

Sets an upper limit quota on a per mailbox basis.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

quota_root

The mailbox to have a quota set. This should follow the IMAP standard format for a mailbox: user.name.

quota_limit

The maximum size (in KB) for the quota_root

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imap_set_quota() example

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error in setting quota\n";
    return;
}

imap_close($mbox);
?>

Примечания

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, other wise this function will fail.

Смотрите также

  • imap_open() - Open an IMAP stream to a mailbox
  • imap_get_quota() - Retrieve the quota level settings, and usage statics per mailbox

imap_search
imap_setacl
IMAP Функции


Sets the ACL for a giving mailbox

imap_set_quota
imap_setflag_full
IMAP Функции
PHP Manual

imap_setacl

(PHP 4 >= 4.0.7, PHP 5)

imap_setacl — Sets the ACL for a giving mailbox

Описание

bool imap_setacl ( resource $imap_stream , string $mailbox , string $id , string $rights )

Sets the ACL for a giving mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

id

The user to give the rights to.

rights

The rights to give to the user. Passing an empty string will delete acl.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

This function is currently only available to users of the c-client2000 or greater library.

Смотрите также

  • imap_getacl() - Gets the ACL for a given mailbox

imap_set_quota
imap_setflag_full
IMAP Функции


Sets flags on messages

imap_setacl
imap_sort
IMAP Функции
PHP Manual

imap_setflag_full

(PHP 4, PHP 5)

imap_setflag_full — Sets flags on messages

Описание

bool imap_setflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = NIL ] )

Causes a store to add the specified flag to the flags set for the messages in the specified sequence.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

sequence

A sequence of message numbers. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flag

The flags which you can set are \Seen, \Answered, \Flagged, \Deleted, and \Draft as defined by » RFC2060.

options

A bit mask that may contain the single option:

  • ST_UID - The sequence argument contains UIDs instead of sequence numbers

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imap_setflag_full() example

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password")
     or die("can't connect: " . imap_last_error());

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo gettype($status) . "\n";
echo $status . "\n";

imap_close($mbox);
?>

Смотрите также

  • imap_clearflag_full() - Clears flags on messages

imap_setacl
imap_sort
IMAP Функции


Gets and sort messages

imap_setflag_full
imap_status
IMAP Функции
PHP Manual

imap_sort

(PHP 4, PHP 5)

imap_sort — Gets and sort messages

Описание

array imap_sort ( resource $imap_stream , int $criteria , int $reverse [, int $options = 0 [, string $search_criteria = NULL [, string $charset = NIL ]]] )

Gets and sorts message numbers by the given parameters.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

criteria

Criteria can be one (and only one) of the following:

  • SORTDATE - message Date
  • SORTARRIVAL - arrival date
  • SORTFROM - mailbox in first From address
  • SORTSUBJECT - message subject
  • SORTTO - mailbox in first To address
  • SORTCC - mailbox in first cc address
  • SORTSIZE - size of message in octets

reverse

Set this to 1 for reverse sorting

options

The options are a bitmask of one or more of the following:

  • SE_UID - Return UIDs instead of sequence numbers
  • SE_NOPREFETCH - Don't prefetch searched messages

search_criteria

charset

Возвращаемые значения

Returns an array of message numbers sorted by the given parameters.

Список изменений

Версия | Описание
4.3.3 | The charset parameter was added

imap_setflag_full
imap_status
IMAP Функции


Returns status information on a mailbox

imap_sort
imap_subscribe
IMAP Функции
PHP Manual

imap_status

(PHP 4, PHP 5)

imap_status — Returns status information on a mailbox

Описание

object imap_status ( resource $imap_stream , string $mailbox , int $options )

Gets status information about the given mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

options

Valid flags are:

  • SA_MESSAGES - set $status->messages to the number of messages in the mailbox
  • SA_RECENT - set $status->recent to the number of recent messages in the mailbox
  • SA_UNSEEN - set $status->unseen to the number of unseen (new) messages in the mailbox
  • SA_UIDNEXT - set $status->uidnext to the next uid to be used in the mailbox
  • SA_UIDVALIDITY - set $status->uidvalidity to a constant that changes when uids for the mailbox may no longer be valid
  • SA_ALL - set all of the above

Возвращаемые значения

This function returns an object containing status information. The object has the following properties: messages, recent, unseen, uidnext, and uidvalidity.

flags is also set, which contains a bitmask which can be checked against any of the above constants.

Примеры

Пример #1 imap_status() example

<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$status = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($status) {
  echo "Messages:   " . $status->messages    . "<br />\n";
  echo "Recent:     " . $status->recent      . "<br />\n";
  echo "Unseen:     " . $status->unseen      . "<br />\n";
  echo "UIDnext:    " . $status->uidnext     . "<br />\n";
  echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";
} else {
  echo "imap_status failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

imap_sort
imap_subscribe
IMAP Функции


Subscribe to a mailbox

imap_status
imap_thread
IMAP Функции
PHP Manual

imap_subscribe

(PHP 4, PHP 5)

imap_subscribe — Subscribe to a mailbox

Описание

bool imap_subscribe ( resource $imap_stream , string $mailbox )

Subscribe to a new mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_unsubscribe() - Unsubscribe from a mailbox

imap_status
imap_thread
IMAP Функции


Returns a tree of threaded message

imap_subscribe
imap_timeout
IMAP Функции
PHP Manual

imap_thread

(PHP 4 >= 4.0.7, PHP 5)

imap_thread — Returns a tree of threaded message

Описание

array imap_thread ( resource $imap_stream [, int $options = SE_FREE ] )

Gets a tree of a threaded message.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

options

Возвращаемые значения

imap_thread() returns an associative array containing a tree of messages threaded by REFERENCES, or FALSE on error.

Every message in the current mailbox will be represented by three entries in the resulting array:

  • $thread["XX.num"] - current message number

  • $thread["XX.next"]

  • $thread["XX.branch"]

Примеры

Пример #1 imap_thread() Example

<?php

// Here we're outputting the threads of a newsgroup, in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

imap_subscribe
imap_timeout
IMAP Функции


Set or fetch imap timeout

imap_thread
imap_uid
IMAP Функции
PHP Manual

imap_timeout

(PHP 4 >= 4.3.3, PHP 5)

imap_timeout — Set or fetch imap timeout

Описание

mixed imap_timeout ( int $timeout_type [, int $timeout = -1 ] )

Sets or fetches the imap timeout.

Список параметров

timeout_type

One of the following: IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, or IMAP_CLOSETIMEOUT.

timeout

The timeout, in seconds.

Возвращаемые значения

If the timeout parameter is set, this function returns TRUE on success and FALSE on failure.

If timeout is not provided or evaluates to -1, the current timeout value of timeout_type is returned as an integer.

Примеры

Пример #1 imap_timeout() example

<?php

echo "The current read timeout is " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>

imap_thread
imap_uid
IMAP Функции


This function returns the UID for the given message sequence number

imap_timeout
imap_undelete
IMAP Функции
PHP Manual

imap_uid

(PHP 4, PHP 5)

imap_uid — This function returns the UID for the given message sequence number

Описание

int imap_uid ( resource $imap_stream , int $msg_number )

This function returns the UID for the given message sequence number. An UID is a unique identifier that will not change over time while a message sequence number may change whenever the content of the mailbox changes.

This function is the inverse of imap_msgno().

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number.

Возвращаемые значения

The UID of the given message.

Примечания

Замечание:

This function is not supported by POP3 mailboxes.

Смотрите также

  • imap_msgno() - Gets the message sequence number for the given UID

imap_timeout
imap_undelete
IMAP Функции


Unmark the message which is marked deleted

imap_uid
imap_unsubscribe
IMAP Функции
PHP Manual

imap_undelete

(PHP 4, PHP 5)

imap_undelete — Unmark the message which is marked deleted

Описание

bool imap_undelete ( resource $imap_stream , int $msg_number [, int $flags = 0 ] )

Removes the deletion flag for a specified message, which is set by imap_delete() or imap_mail_move().

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

msg_number

The message number

flags

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_delete() - Mark a message for deletion from current mailbox
  • imap_mail_move() - Move specified messages to a mailbox

imap_uid
imap_unsubscribe
IMAP Функции


Unsubscribe from a mailbox

imap_undelete
imap_utf7_decode
IMAP Функции
PHP Manual

imap_unsubscribe

(PHP 4, PHP 5)

imap_unsubscribe — Unsubscribe from a mailbox

Описание

bool imap_unsubscribe ( resource $imap_stream , string $mailbox )

Unsubscribe from the specified mailbox.

Список параметров

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

The mailbox name, see imap_open() for more information

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • imap_subscribe() - Subscribe to a mailbox

imap_undelete
imap_utf7_decode
IMAP Функции


Decodes a modified UTF-7 encoded string

imap_unsubscribe
imap_utf7_encode
IMAP Функции
PHP Manual

imap_utf7_decode

(PHP 4, PHP 5)

imap_utf7_decode — Decodes a modified UTF-7 encoded string

Описание

string imap_utf7_decode ( string $text )

Decodes modified UTF-7 text into ISO-8859-1 string.

This function is needed to decode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Список параметров

text

A modified UTF-7 encoding string, as defined in » RFC 2060, section 5.1.3 (original UTF-7 was defined in » RFC1642).

Возвращаемые значения

Returns a string that is encoded in ISO-8859-1 and consists of the same sequence of characters in text, or FALSE if text contains invalid modified UTF-7 sequence or text contains a character that is not part of ISO-8859-1 character set.

Смотрите также

  • imap_utf7_encode() - Converts ISO-8859-1 string to modified UTF-7 text

imap_unsubscribe
imap_utf7_encode
IMAP Функции


Converts ISO-8859-1 string to modified UTF-7 text

imap_utf7_decode
imap_utf8
IMAP Функции
PHP Manual

imap_utf7_encode

(PHP 4, PHP 5)

imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text

Описание

string imap_utf7_encode ( string $data )

Converts data to modified UTF-7 text.

This is needed to encode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Список параметров

data

An ISO-8859-1 string.

Возвращаемые значения

Returns data encoded with the modified UTF-7 encoding as defined in » RFC 2060, section 5.1.3 (original UTF-7 was defined in » RFC1642).

Смотрите также

  • imap_utf7_decode() - Decodes a modified UTF-7 encoded string

imap_utf7_decode
imap_utf8
IMAP Функции


Converts MIME-encoded text to UTF-8

imap_utf7_encode
Mail
IMAP Функции
PHP Manual

imap_utf8

(PHP 4, PHP 5)

imap_utf8 — Converts MIME-encoded text to UTF-8

Описание

string imap_utf8 ( string $mime_encoded_text )

Converts the given mime_encoded_text to UTF-8.

Список параметров

mime_encoded_text

A MIME encoded string. MIME encoding method and the UTF-8 specification are described in » RFC2047 and » RFC2044 respectively.

Возвращаемые значения

Returns an UTF-8 encoded string.

Смотрите также

  • imap_mime_header_decode() - Decode MIME header elements

imap_utf7_encode
Mail
IMAP Функции


Mail

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Почта
    • ezmlm_hash — Вычисляет хеш-сумму, необходимую для EZMLM
    • mail — Отправляет электронную почту
imap_utf8
Введение
Расширения по работе с почтой


Введение

The mail() function allows you to send mail.

Mail
Установка и настройка
Mail


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mail


Требования

Для работы функций Mail PHP должно иметь доступ к бинарным файлам sendmail в вашей системе во время компиляции. Если вы используете другую почтовую программу, такую как qmail или postfix, вы должны быть уверены, что используете соответствующие обертки sendmail, поставляемые с этими продуктами. PHP будет в первую очередь искать файлы sendmail по пути в переменной окружения PATH, и далее: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Очень рекомендуется иметь sendmail доступным из переменной окружения PATH. Также, пользователь под кем был скомпилирован PHP обязан иметь доступ к бинарным файлам sendmail.

Установка и настройка
Установка
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные опции отправки писем
Название | По умолчанию | Место изменения | История изменений
mail.add_x_header | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Доступна с PHP 5.3.0.
mail.log | NULL | PHP_INI_SYSTEM|PHP_INI_PERDIR | Доступна с PHP 5.3.0.
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Доступна с PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mail.add_x_header bool

Добавляет заголовок X-PHP-Originating-Script, который будет содержать UID скрипта и имя файла.

mail.log string

Путь к лог-файлу, в который будут записываться все вызовы функции mail(). Записи в логе содержат полный путь до скрипта, номер строки, адрес получателя To и заголовки.

SMTP string

Использутся только в Windows: домен или IP-адрес SMTP-сервера, к которому будет обращаться PHP при отправке почты функцией mail().

smtp_port int

Использутся только в Windows: порт SMTP-сервера, к которому будет обращаться PHP при отправке почты функцией mail(); по умолчанию 25. Доступен с PHP 4.3.0.

sendmail_from string

Адрес, который будет использоваться в заголовке "From:" в письмах, посылаемых PHP в Windows. Эта директива также устанавливает заголовок "Return-Path:".

sendmail_path string

Путь до программы sendmail, обычно /usr/sbin/sendmail или /usr/lib/sendmail. configure пытается найти sendmail автоматически и установить значение по умолчанию самостоятельно, но если это не удалось, вы можете установить путь здесь.

Системы, не использующие sendmail, должны установить эту директиву в путь до обертки/заменителя sendmail. Например, пользователи » Qmail обычно устанавливают значение /var/qmail/bin/sendmail или /var/qmail/bin/qmail-inject.

qmail-inject не требует дополнительных опций для отправки писем.

Эта директива также работает и в Windows. Если она установлена, smtp, smtp_port и sendmail_from будут проигнорированы и выполнится указанная программа.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Почта
Mail


Почта

Содержание

  • ezmlm_hash — Вычисляет хеш-сумму, необходимую для EZMLM
  • mail — Отправляет электронную почту
Предопределенные константы
ezmlm_hash
Mail


Вычисляет хеш-сумму, необходимую для EZMLM

Почта
mail
Почта
PHP Manual

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash — Вычисляет хеш-сумму, необходимую для EZMLM

Описание

int ezmlm_hash ( string $addr )

ezmlm_hash() вычисляет хеш-сумму, необходимую при хранении почтовых списков EZMLM в базе MySQL.

Список параметров

addr

Хешируемый адрес электронной почты.

Возвращаемые значения

Хеш-сумма параметра addr.

Примеры

Пример #1 Вычисляет хеш-сумму и подписка пользователя на что-либо

<?php

$user = "joecool@example.com";
$hash = ezmlm_hash($user);
$query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query); // используя интерфейс PHPLIB db

?>

Почта
mail
Почта


Отправляет электронную почту

ezmlm_hash
Mailparse
Почта
PHP Manual

mail

(PHP 4, PHP 5)

mail — Отправляет электронную почту

Описание

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Отправляет электронную почту.

Список параметров

to

Получатель, или получатели письма.

Формат этого параметра должен соответствовать » RFC 2822. Несколько примеров:

  • user@example.com
  • user@example.com, anotheruser@example.com
  • User <user@example.com>
  • User <user@example.com>, Another User <anotheruser@example.com>

subject

Тема отправляемого письма.

Предостережение

Тема должна соответствовать » RFC 2047.

message

Отправляемое сообщение.

Каждая строка должна быть отделена сиволом LF (\n). Строки не должны быть длиннее 70 символов.

Предостережение

(Только для Windows) Если PHP передаёт данные напрямую SMTP-серверу и в начале строки стоит точка, то она будет удалена. Чтобы избежать этого замените все такие точки на две.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers (необязательный)

Строка, которая будет дополнительно вставлена в конец отправляемых заголовков письма.

Обычно используется для добавления дополнительных заголовков (From, Cc, and Bcc). Несколько дополнительных заголовков должны быть разделены CRLF (\r\n).

Замечание:

При отправке письмо должно содержать заголовок From. Он может быть установлен с помощью параметра additional_headers, или значение по умолчанию может быть установлено в php.ini.

Если заголовок отсутствует, будет сгенерировано сообщение об ошибке вида Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. Заголовок From также определяет заголовок Return-Path в Windows.

Замечание:

Если сообщения не отправляются, попробуйте использовать только LF (\n). Некоторые некачественные агенты пересылки сообщений Unix заменяют LF на CRLF автоматически (что приводит к двойному CR, если использовалось CRLF). Используйте эту меру в крайнем случае, так как это нарушает » RFC 2822.

additional_parameters (необязательный)

Параметр additional_parameters может быть использован для передачи дополнительных флагов в виде аргументов командной строки для программы сконфигурированной для отправки писем, указанной директивой sendmail_path. Например, можно установить отправителя письма при использовании sendmail с помощью опции -f.

Пользователь, под которым работает веб-сервер должен быть добавлен в список доверенных в конфигурации sendmail для того чтобы избежать добавления заголовка 'X-Warning' при указании отправителя с помощью опции (-f). Для пользователей sendmail - это файл /etc/mail/trusted-users.

Возвращаемые значения

Возвращает TRUE, если письмо было принято для передачи, иначе FALSE.

Важно заметить, что то что письмо было принято для передачи вовсе НЕ означает что оно достигло получателя.

Список изменений

Версия | Описание
4.3.0 (только для Windows) | Теперь поддерживаются все дополнительные заголовки (такие как From, Cc, Bcc и Date), и являются регистро-независимыми. (Так как дополнительные заголовки интерпретируются не почтовым агентом, а PHP, PHP < 4.3 поддерживал только заголовок Cc и был регистро-зависимый).
4.2.3 | Параметр additional_parameters отключен в режиме safe_mode и при его использовании функция mail() вызовет предупреждение и вернет FALSE.
4.0.5 | Был добавлен параметр additional_parameters.

Примеры

Пример #1 Отправка письма.

Использование функции mail() для отправки простого письма:

<?php
// Сообщение
$message = "Line 1\nLine 2\nLine 3";

// На случай если какая-то строка письма длиннее 70 символов мы используем wordwrap()
$message = wordwrap($message, 70);

// Отправляем
mail('caffeinated@example.com', 'My Subject', $message);
?>

Пример #2 Отправка письма с дополнительными заголовками.

Добавление простых заголовков, сообщающих почтовому агенту адреса From и Reply-To:

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Пример #3 Отправка письма с дополнительными аргументами командной строки.

Параметр additional_parameters может быть использован для передачи дополнительных параметров программе, используемой для отправки писем с помощью директивы sendmail_path.

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
   '-fwebmaster@example.com');
?>

Пример #4 Отправка HTML-сообщения

С помощью функции mail() также можно отправить и HTML-письмо.

<?php
// несколько получателей
$to  = 'aidan@example.com' . ', '; // обратите внимание на запятую
$to .= 'wez@example.com';

// тема письма
$subject = 'Birthday Reminders for August';

// текст письма
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Дополнительные заголовки
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Отправляем
mail($to, $subject, $message, $headers);
?>

Замечание:

Для отправки HTML или других комплексных сообщений рекомендуется использовать PEAR-пакет » PEAR::Mail_Mime.

Примечания

Замечание:

Реализация функции mail() в Windows во многом отличается от реализации в Unix. Во-первых, она не использует локальную программу для составления писем, а работает непосредственно с сокетами, что означает что необходим почтовый агент (MTA), ожидающий соединенй на сокете (может быть как на локальном так и на удаленном сервере).

Во-вторых, дополнительные заголовки вроде: From:, Cc:, Bcc: и Date: интерпретируются в первую очередь не, MTA, а PHP.

Поэтому параметр to не должен быть адресом вида "Something <someone@example.com>". Команда mail может неправильно интерпретировать этот адрес во время передачи данных MTA.

Замечание:

Не следует использовать функцию mail() для отправки большого количества писем в цикле. Функция открывает и закрывает соединение с SMTP-сервером для каждого письма, что не очень эффективно.

Для отправки большого количества сообщений обратите внимание на пакеты » PEAR::Mail и » PEAR::Mail_Queue.

Замечание:

Полезные RFC: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049 и » RFC 2822.

Смотрите также

  • imap_mail() - Send an email message
  • » PEAR::Mail
  • » PEAR::Mail_Mime

ezmlm_hash
Mailparse
Почта


Mailparse

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mailparse
    • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
    • mailparse_msg_create — Create a mime mail resource
    • mailparse_msg_extract_part_file — Extracts/decodes a message section
    • mailparse_msg_extract_part — Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free — Frees a MIME resource
    • mailparse_msg_get_part_data — Returns an associative array of info about the message
    • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
    • mailparse_msg_parse_file — Parses a file
    • mailparse_msg_parse — Incrementally parse data into buffer
    • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
    • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file
mail
Введение
Расширения по работе с почтой


Введение

Mailparse - это расширение для анализа и работы с почтовыми сообщениями. Расширение работает с сообщениями, совместимыми c » RFC 822 и » RFC 2045 (MIME).

Mailparse не держит в памяти копии обрабатываемых файлов, что очень эффективно с точки зрения ресурсов при обработке объемных сообщений.

Замечание:

Mailparse требует наличия расширения mbstring , и оно должно быть загружено перед mailparse.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 4.2.0.

Mailparse
Установка и настройка
Mailparse


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mailparse


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mailparse.

Для использования этих функций вы должны скомпилировать PHP с поддержкой mailparse используя опцию конфигурации --enable-mailparse .

Пользователям Windows необходимо разрешить php_mailparse.dll в php.ini для использования этих функций. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Mailparse
Название | Значение по умолчанию | Атрибут | Изменения
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Доступно с PHP 4.1.0. Удалено в PHP 4.2.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)
Типы ресурсов
Mailparse
Mailparse


Mailparse
PHP Manual

Mailparse

Содержание

  • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
  • mailparse_msg_create — Create a mime mail resource
  • mailparse_msg_extract_part_file — Extracts/decodes a message section
  • mailparse_msg_extract_part — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
  • mailparse_msg_free — Frees a MIME resource
  • mailparse_msg_get_part_data — Returns an associative array of info about the message
  • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
  • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
  • mailparse_msg_parse_file — Parses a file
  • mailparse_msg_parse — Incrementally parse data into buffer
  • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
  • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
  • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file
Предопределенные константы
mailparse_determine_best_xfer_encoding
Mailparse
PHP Manual


Gets the best way of encoding

Mailparse
mailparse_msg_create
Mailparse
PHP Manual

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Gets the best way of encoding

Описание

string mailparse_determine_best_xfer_encoding ( resource $fp )

Figures out the best way of encoding the content read from the given file pointer.

Список параметров

fp

A valid file pointer, which must be seek-able.

Возвращаемые значения

Returns one of the character encodings supported by the mbstring module.

Примеры

Пример #1 mailparse_determine_best_xfer_encoding() example

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Best encoding: ' . mailparse_determine_best_xfer_encoding($fp);

?>

Результатом выполнения данного примера будет что-то подобное:

Best encoding: 7bit

Mailparse
mailparse_msg_create
Mailparse


Create a mime mail resource

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Mailparse
PHP Manual

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Create a mime mail resource

Описание

resource mailparse_msg_create ( void )

Create a MIME mail resource.

Возвращаемые значения

Returns a handle that can be used to parse a message.

Смотрите также

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_parse_file() - Parses a file

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Mailparse


Extracts/decodes a message section

mailparse_msg_create
mailparse_msg_extract_part
Mailparse
PHP Manual

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extracts/decodes a message section

Описание

string mailparse_msg_extract_part_file ( resource $mimemail , mixed $filename [, callback $callbackfunc ] )

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding - base64, quoted-printable and uuencoded text are supported.

Список параметров

mimemail

A valid MIME resource, created with mailparse_msg_create().

filename

Can be a file name or a valid stream resource.

callbackfunc

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to "stdout".

Возвращаемые значения

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL, returns the extracted section as a string.

Returns FALSE on error.

Смотрите также

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_create
mailparse_msg_extract_part
Mailparse


Extracts/decodes a message section

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Mailparse
PHP Manual

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extracts/decodes a message section

Описание

void mailparse_msg_extract_part ( resource $mimemail , string $msgbody [, callback $callbackfunc ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mimemail

A valid MIME resource.

msgbody

callbackfunc

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • mailparse_msg_extract_part_file() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Mailparse


Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_part
mailparse_msg_free
Mailparse
PHP Manual

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding

Описание

string mailparse_msg_extract_whole_part_file ( resource $mimemail , string $filename [, callback $callbackfunc ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mimemail

A valid MIME resource.

filename

callbackfunc

Возвращаемые значения

Смотрите также

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_part_file() - Extracts/decodes a message section

mailparse_msg_extract_part
mailparse_msg_free
Mailparse


Frees a MIME resource

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Mailparse
PHP Manual

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Frees a MIME resource

Описание

bool mailparse_msg_free ( resource $mimemail )

Frees a MIME resource.

Список параметров

mimemail

A valid MIME resource allocated by mailparse_msg_create() or mailparse_msg_parse_file().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • mailparse_msg_create() - Create a mime mail resource
  • mailparse_msg_parse_file() - Parses a file

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Mailparse


Returns an associative array of info about the message

mailparse_msg_free
mailparse_msg_get_part
Mailparse
PHP Manual

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Returns an associative array of info about the message

Описание

array mailparse_msg_get_part_data ( resource $mimemail )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mimemail

A valid MIME resource.

mailparse_msg_free
mailparse_msg_get_part
Mailparse


Returns a handle on a given section in a mimemessage

mailparse_msg_get_part_data
mailparse_msg_get_structure
Mailparse
PHP Manual

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Returns a handle on a given section in a mimemessage

Описание

resource mailparse_msg_get_part ( resource $mimemail , string $mimesection )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mimemail

A valid MIME resource.

mimesection

mailparse_msg_get_part_data
mailparse_msg_get_structure
Mailparse


Returns an array of mime section names in the supplied message

mailparse_msg_get_part
mailparse_msg_parse_file
Mailparse
PHP Manual

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Returns an array of mime section names in the supplied message

Описание

array mailparse_msg_get_structure ( resource $mimemail )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mimemail

A valid MIME resource.

mailparse_msg_get_part
mailparse_msg_parse_file
Mailparse


Parses a file

mailparse_msg_get_structure
mailparse_msg_parse
Mailparse
PHP Manual

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Parses a file

Описание

resource mailparse_msg_parse_file ( string $filename )

Parses a file. This is the optimal way of parsing a mail file that you have on disk.

Список параметров

filename

Path to the file holding the message. The file is opened and streamed through the parser.

Возвращаемые значения

Returns a MIME resource representing the structure, or FALSE on error.

Смотрите также

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_create() - Create a mime mail resource

mailparse_msg_get_structure
mailparse_msg_parse
Mailparse


Incrementally parse data into buffer

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Mailparse
PHP Manual

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Incrementally parse data into buffer

Описание

bool mailparse_msg_parse ( resource $mimemail , string $data )

Incrementally parse data into the supplied mime mail resource.

This function allow you to stream portions of a file at a time, rather than read and parse the whole thing.

Список параметров

mimemail

A valid MIME resource.

data

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Mailparse


Parse RFC 822 compliant addresses

mailparse_msg_parse
mailparse_stream_encode
Mailparse
PHP Manual

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses

Описание

array mailparse_rfc822_parse_addresses ( string $addresses )

Parses a » RFC 822 compliant recipient list, such as that found in the To: header.

Список параметров

addresses

A string containing addresses, like in: Wez Furlong <wez@example.com>, doe@example.com

Замечание:

This string must not include the header name.

Возвращаемые значения

Returns an array of associative arrays with the following keys for each recipient:

display | The recipient name, for display purpose. If this part is not set for a recipient, this key will hold the same value as address.
address | The email address
is_group | TRUE if the recipient is a newsgroup, FALSE otherwise.

Примеры

Пример #1 mailparse_rfc822_parse_addresses() example

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

mailparse_msg_parse
mailparse_stream_encode
Mailparse


Streams data from source file pointer, apply encoding and write to destfp

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Mailparse
PHP Manual

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp

Описание

bool mailparse_stream_encode ( resource $sourcefp , resource $destfp , string $encoding )

Streams data from the source file pointer, apply encoding and write to the destination file pointer.

Список параметров

sourcefp

A valid file handle. The file is streamed through the parser.

destfp

The destination file handle in which the encoded data will be written.

encoding

One of the character encodings supported by the mbstring module.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 mailparse_stream_encode() example

<?php

// email.eml contents: hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Display new file contents
fpassthru($dest);

?>

Результат выполнения данного примера:

hello, this is some text=3Dhello.

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Mailparse


Scans the data from fp and extract each embedded uuencoded file

mailparse_stream_encode
vpopmail
Mailparse
PHP Manual

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file

Описание

array mailparse_uudecode_all ( resource $fp )

Scans the data from the given file pointer and extract each embedded uuencoded file into a temporary file.

Список параметров

fp

A valid file pointer.

Возвращаемые значения

Returns an array of associative arrays listing filename information.

filename | Path to the temporary file name created
origfilename | The original filename, for uuencoded parts only
The first filename entry is the message body. The next entries are the decoded uuencoded files.

Примеры

Пример #1 mailparse_uudecode_all() example

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Clean up
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

Результат выполнения данного примера:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

mailparse_stream_encode
vpopmail
Mailparse


vpopmail

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции vpopmail
    • vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain
    • vpopmail_add_alias_domain — Add an alias for a virtual domain
    • vpopmail_add_domain_ex — Add a new virtual domain
    • vpopmail_add_domain — Add a new virtual domain
    • vpopmail_add_user — Add a new user to the specified virtual domain
    • vpopmail_alias_add — Insert a virtual alias
    • vpopmail_alias_del_domain — Deletes all virtual aliases of a domain
    • vpopmail_alias_del — Deletes all virtual aliases of a user
    • vpopmail_alias_get_all — Get all lines of an alias for a domain
    • vpopmail_alias_get — Get all lines of an alias for a domain
    • vpopmail_auth_user — Attempt to validate a username/domain/password
    • vpopmail_del_domain_ex — Delete a virtual domain
    • vpopmail_del_domain — Delete a virtual domain
    • vpopmail_del_user — Delete a user from a virtual domain
    • vpopmail_error — Get text message for last vpopmail error
    • vpopmail_passwd — Change a virtual user's password
    • vpopmail_set_user_quota — Sets a virtual user's quota
mailparse_uudecode_all
Введение
Расширения по работе с почтой


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Это расширение было исключено из PHP с версии PHP 4.3.0 и сейчас vpopmail включено в состав » PECL.

vpopmail
Установка и настройка
vpopmail


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
vpopmail


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/vpopmail.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Функции vpopmail
vpopmail


Функции vpopmail

Содержание

  • vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain
  • vpopmail_add_alias_domain — Add an alias for a virtual domain
  • vpopmail_add_domain_ex — Add a new virtual domain
  • vpopmail_add_domain — Add a new virtual domain
  • vpopmail_add_user — Add a new user to the specified virtual domain
  • vpopmail_alias_add — Insert a virtual alias
  • vpopmail_alias_del_domain — Deletes all virtual aliases of a domain
  • vpopmail_alias_del — Deletes all virtual aliases of a user
  • vpopmail_alias_get_all — Get all lines of an alias for a domain
  • vpopmail_alias_get — Get all lines of an alias for a domain
  • vpopmail_auth_user — Attempt to validate a username/domain/password
  • vpopmail_del_domain_ex — Delete a virtual domain
  • vpopmail_del_domain — Delete a virtual domain
  • vpopmail_del_user — Delete a user from a virtual domain
  • vpopmail_error — Get text message for last vpopmail error
  • vpopmail_passwd — Change a virtual user's password
  • vpopmail_set_user_quota — Sets a virtual user's quota
Предопределенные константы
vpopmail_add_alias_domain_ex
vpopmail


Add alias to an existing virtual domain

Функции vpopmail
vpopmail_add_alias_domain
Функции vpopmail
PHP Manual

vpopmail_add_alias_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain

Описание

bool vpopmail_add_alias_domain_ex ( string $olddomain , string $newdomain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Функции vpopmail
vpopmail_add_alias_domain
Функции vpopmail


Add an alias for a virtual domain

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
Функции vpopmail
PHP Manual

vpopmail_add_alias_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain — Add an alias for a virtual domain

Описание

bool vpopmail_add_alias_domain ( string $domain , string $aliasdomain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
Функции vpopmail


Add a new virtual domain

vpopmail_add_alias_domain
vpopmail_add_domain
Функции vpopmail
PHP Manual

vpopmail_add_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain_ex — Add a new virtual domain

Описание

bool vpopmail_add_domain_ex ( string $domain , string $passwd [, string $quota [, string $bounce [, bool $apop ]]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_add_alias_domain
vpopmail_add_domain
Функции vpopmail


Add a new virtual domain

vpopmail_add_domain_ex
vpopmail_add_user
Функции vpopmail
PHP Manual

vpopmail_add_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain — Add a new virtual domain

Описание

bool vpopmail_add_domain ( string $domain , string $dir , int $uid , int $gid )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_add_domain_ex
vpopmail_add_user
Функции vpopmail


Add a new user to the specified virtual domain

vpopmail_add_domain
vpopmail_alias_add
Функции vpopmail
PHP Manual

vpopmail_add_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_user — Add a new user to the specified virtual domain

Описание

bool vpopmail_add_user ( string $user , string $domain , string $password [, string $gecos [, bool $apop ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_add_domain
vpopmail_alias_add
Функции vpopmail


Insert a virtual alias

vpopmail_add_user
vpopmail_alias_del_domain
Функции vpopmail
PHP Manual

vpopmail_alias_add

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_add — Insert a virtual alias

Описание

bool vpopmail_alias_add ( string $user , string $domain , string $alias )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_add_user
vpopmail_alias_del_domain
Функции vpopmail


Deletes all virtual aliases of a domain

vpopmail_alias_add
vpopmail_alias_del
Функции vpopmail
PHP Manual

vpopmail_alias_del_domain

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del_domain — Deletes all virtual aliases of a domain

Описание

bool vpopmail_alias_del_domain ( string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_alias_add
vpopmail_alias_del
Функции vpopmail


Deletes all virtual aliases of a user

vpopmail_alias_del_domain
vpopmail_alias_get_all
Функции vpopmail
PHP Manual

vpopmail_alias_del

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del — Deletes all virtual aliases of a user

Описание

bool vpopmail_alias_del ( string $user , string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_alias_del_domain
vpopmail_alias_get_all
Функции vpopmail


Get all lines of an alias for a domain

vpopmail_alias_del
vpopmail_alias_get
Функции vpopmail
PHP Manual

vpopmail_alias_get_all

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get_all — Get all lines of an alias for a domain

Описание

array vpopmail_alias_get_all ( string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_alias_del
vpopmail_alias_get
Функции vpopmail


Get all lines of an alias for a domain

vpopmail_alias_get_all
vpopmail_auth_user
Функции vpopmail
PHP Manual

vpopmail_alias_get

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get — Get all lines of an alias for a domain

Описание

array vpopmail_alias_get ( string $alias , string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_alias_get_all
vpopmail_auth_user
Функции vpopmail


Attempt to validate a username/domain/password

vpopmail_alias_get
vpopmail_del_domain_ex
Функции vpopmail
PHP Manual

vpopmail_auth_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_auth_user — Attempt to validate a username/domain/password

Описание

bool vpopmail_auth_user ( string $user , string $domain , string $password [, string $apop ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_alias_get
vpopmail_del_domain_ex
Функции vpopmail


Delete a virtual domain

vpopmail_auth_user
vpopmail_del_domain
Функции vpopmail
PHP Manual

vpopmail_del_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain_ex — Delete a virtual domain

Описание

bool vpopmail_del_domain_ex ( string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_auth_user
vpopmail_del_domain
Функции vpopmail


Delete a virtual domain

vpopmail_del_domain_ex
vpopmail_del_user
Функции vpopmail
PHP Manual

vpopmail_del_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain — Delete a virtual domain

Описание

bool vpopmail_del_domain ( string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_del_domain_ex
vpopmail_del_user
Функции vpopmail


Delete a user from a virtual domain

vpopmail_del_domain
vpopmail_error
Функции vpopmail
PHP Manual

vpopmail_del_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_user — Delete a user from a virtual domain

Описание

bool vpopmail_del_user ( string $user , string $domain )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_del_domain
vpopmail_error
Функции vpopmail


Get text message for last vpopmail error

vpopmail_del_user
vpopmail_passwd
Функции vpopmail
PHP Manual

vpopmail_error

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_error — Get text message for last vpopmail error

Описание

string vpopmail_error ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_del_user
vpopmail_passwd
Функции vpopmail


Change a virtual user's password

vpopmail_error
vpopmail_set_user_quota
Функции vpopmail
PHP Manual

vpopmail_passwd

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_passwd — Change a virtual user's password

Описание

bool vpopmail_passwd ( string $user , string $domain , string $password [, bool $apop ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_error
vpopmail_set_user_quota
Функции vpopmail


Sets a virtual user's quota

vpopmail_passwd
Математические расширения
Функции vpopmail
PHP Manual

vpopmail_set_user_quota

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_set_user_quota — Sets a virtual user's quota

Описание

bool vpopmail_set_user_quota ( string $user , string $domain , string $quota )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

vpopmail_passwd
Математические расширения
Функции vpopmail


Математические расширения

  • BC Math — BCMath Arbitrary Precision Mathematics
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • BC Math Функции
  • GMP — GNU Multiple Precision
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • GMP Функции
  • Math — Математические функции
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Математические функции
  • Statistics
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Statistic Функции
vpopmail_set_user_quota
BC Math
Справочник функций


BCMath Arbitrary Precision Mathematics

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • BC Math Функции
    • bcadd — Add two arbitrary precision numbers
    • bccomp — Compare two arbitrary precision numbers
    • bcdiv — Divide two arbitrary precision numbers
    • bcmod — Get modulus of an arbitrary precision number
    • bcmul — Multiply two arbitrary precision number
    • bcpow — Raise an arbitrary precision number to another
    • bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
    • bcscale — Set default scale parameter for all bc math functions
    • bcsqrt — Get the square root of an arbitrary precision number
    • bcsub — Subtract one arbitrary precision number from another
Математические расширения
Введение
Математические расширения


Введение

For arbitrary precision mathematics PHP offers the Binary Calculator which supports numbers of any size and precision, represented as strings.

BC Math
Установка и настройка
BC Math


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
BC Math


Требования

Since PHP 4.0.4, libbcmath is bundled with PHP. You don't need any external libraries for this extension.

Установка и настройка
Установка
Установка и настройка


Установка

These functions are only available if PHP was configured with --enable-bcmath .

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

BC math configuration options
Name | Default | Changeable | Changelog
bcmath.scale | "0" | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

bcmath.scale integer

Number of decimal digits for all bcmath functions. See also bcscale().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
BC Math Функции
BC Math


BC Math Функции

Содержание

  • bcadd — Add two arbitrary precision numbers
  • bccomp — Compare two arbitrary precision numbers
  • bcdiv — Divide two arbitrary precision numbers
  • bcmod — Get modulus of an arbitrary precision number
  • bcmul — Multiply two arbitrary precision number
  • bcpow — Raise an arbitrary precision number to another
  • bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
  • bcscale — Set default scale parameter for all bc math functions
  • bcsqrt — Get the square root of an arbitrary precision number
  • bcsub — Subtract one arbitrary precision number from another
Предопределенные константы
bcadd
BC Math


Add two arbitrary precision numbers

BC Math Функции
bccomp
BC Math Функции
PHP Manual

bcadd

(PHP 4, PHP 5)

bcadd — Add two arbitrary precision numbers

Описание

string bcadd ( string $left_operand , string $right_operand [, int $scale ] )

Sums left_operand and right_operand.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

The sum of the two operands, as a string.

Примеры

Пример #1 bcadd() example

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?>

Смотрите также

  • bcsub() - Subtract one arbitrary precision number from another

BC Math Функции
bccomp
BC Math Функции


Compare two arbitrary precision numbers

bcadd
bcdiv
BC Math Функции
PHP Manual

bccomp

(PHP 4, PHP 5)

bccomp — Compare two arbitrary precision numbers

Описание

int bccomp ( string $left_operand , string $right_operand [, int $scale ] )

Compares the left_operand to the right_operand and returns the result as an integer.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

The optional scale parameter is used to set the number of digits after the decimal place which will be used in the comparison.

Возвращаемые значения

Returns 0 if the two operands are equal, 1 if the left_operand is larger than the right_operand, -1 otherwise.

Примеры

Пример #1 bccomp() example

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>
bcadd
bcdiv
BC Math Функции


Divide two arbitrary precision numbers

bccomp
bcmod
BC Math Функции
PHP Manual

bcdiv

(PHP 4, PHP 5)

bcdiv — Divide two arbitrary precision numbers

Описание

string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )

Divides the left_operand by the right_operand.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

Returns the result of the division as a string, or NULL if right_operand is 0.

Примеры

Пример #1 bcdiv() example

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?>

Смотрите также

  • bcmul() - Multiply two arbitrary precision number

bccomp
bcmod
BC Math Функции


Get modulus of an arbitrary precision number

bcdiv
bcmul
BC Math Функции
PHP Manual

bcmod

(PHP 4, PHP 5)

bcmod — Get modulus of an arbitrary precision number

Описание

string bcmod ( string $left_operand , string $modulus )

Get the modulus of the left_operand using modulus.

Список параметров

left_operand

The left operand, as a string.

modulus

The modulus, as a string.

Возвращаемые значения

Returns the modulus as a string, or NULL if modulus is 0.

Примеры

Пример #1 bcmod() example

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

Смотрите также

  • bcdiv() - Divide two arbitrary precision numbers

bcdiv
bcmul
BC Math Функции


Multiply two arbitrary precision number

bcmod
bcpow
BC Math Функции
PHP Manual

bcmul

(PHP 4, PHP 5)

bcmul — Multiply two arbitrary precision number

Описание

string bcmul ( string $left_operand , string $right_operand [, int $scale ] )

Multiply the left_operand by the right_operand.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

Returns the result as a string.

Примеры

Пример #1 bcmul() example

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Смотрите также

  • bcdiv() - Divide two arbitrary precision numbers

bcmod
bcpow
BC Math Функции


Raise an arbitrary precision number to another

bcmul
bcpowmod
BC Math Функции
PHP Manual

bcpow

(PHP 4, PHP 5)

bcpow — Raise an arbitrary precision number to another

Описание

string bcpow ( string $left_operand , string $right_operand [, int $scale ] )

Raise left_operand to the power right_operand.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

Returns the result as a string.

Примеры

Пример #1 bcpow() example

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Примечания

Замечание:

bcpow() may return a result with fewer digits after the decimal point than the scale parameter would indicate. This only occurs when the result doesn't require all of the precision allowed by the scale. For example:

Пример #2 bcpow() scale example

<?php
echo bcpow('5', '2', 2);     // prints "25", not "25.00"
?>

Смотрите также

  • bcpowmod() - Raise an arbitrary precision number to another, reduced by a specified modulus
  • bcsqrt() - Get the square root of an arbitrary precision number

bcmul
bcpowmod
BC Math Функции


Raise an arbitrary precision number to another, reduced by a specified modulus

bcpow
bcscale
BC Math Функции
PHP Manual

bcpowmod

(PHP 5)

bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus

Описание

string bcpowmod ( string $left_operand , string $right_operand , string $modulus [, int $scale ] )

Use the fast-exponentiation method to raise left_operand to the power right_operand with respect to the modulus modulus.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

modulus

The modulus, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

Returns the result as a string, or NULL if modulus is 0.

Примечания

Замечание:

Because this method uses the modulus operation, numbers which are not positive integers may give unexpected results.

Примеры

The following two statements are functionally identical. The bcpowmod() version however, executes in less time and can accept larger parameters.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a and $b are equal to each other.

?>

Смотрите также

  • bcpow() - Raise an arbitrary precision number to another
  • bcmod() - Get modulus of an arbitrary precision number

bcpow
bcscale
BC Math Функции


Set default scale parameter for all bc math functions

bcpowmod
bcsqrt
BC Math Функции
PHP Manual

bcscale

(PHP 4, PHP 5)

bcscale — Set default scale parameter for all bc math functions

Описание

bool bcscale ( int $scale )

Sets the default scale parameter for all subsequent bc math functions that do not explicitly specify a scale parameter.

Список параметров

scale

The scale factor.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bcscale() example

<?php

// default scale : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// this is the same without bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>

bcpowmod
bcsqrt
BC Math Функции


Get the square root of an arbitrary precision number

bcscale
bcsub
BC Math Функции
PHP Manual

bcsqrt

(PHP 4, PHP 5)

bcsqrt — Get the square root of an arbitrary precision number

Описание

string bcsqrt ( string $operand [, int $scale ] )

Return the square root of the operand.

Список параметров

operand

The operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

Returns the square root as a string, or NULL if operand is negative.

Примеры

Пример #1 bcsqrt() example

<?php

echo bcsqrt('2', 3); // 1.414

?>

Смотрите также

  • bcpow() - Raise an arbitrary precision number to another

bcscale
bcsub
BC Math Функции


Subtract one arbitrary precision number from another

bcsqrt
GMP
BC Math Функции
PHP Manual

bcsub

(PHP 4, PHP 5)

bcsub — Subtract one arbitrary precision number from another

Описание

string bcsub ( string $left_operand , string $right_operand [, int $scale ] )

Subtracts the right_operand from the left_operand.

Список параметров

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

Этот необязательный параметр используется для установки количества цифр после запятой результата работы функции. Вы также можете установить этот параметр глобально для всех функций с помощью bcscale().

Возвращаемые значения

The result of the subtraction, as a string.

Примеры

Пример #1 bcsub() example

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Смотрите также

  • bcadd() - Add two arbitrary precision numbers

bcsqrt
GMP
BC Math Функции


GNU Multiple Precision

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • GMP Функции
    • gmp_abs — Absolute value
    • gmp_add — Add numbers
    • gmp_and — Bitwise AND
    • gmp_clrbit — Clear bit
    • gmp_cmp — Compare numbers
    • gmp_com — Calculates one's complement
    • gmp_div_q — Divide numbers
    • gmp_div_qr — Divide numbers and get quotient and remainder
    • gmp_div_r — Remainder of the division of numbers
    • gmp_div — Псевдоним gmp_div_q
    • gmp_divexact — Exact division of numbers
    • gmp_fact — Factorial
    • gmp_gcd — Calculate GCD
    • gmp_gcdext — Calculate GCD and multipliers
    • gmp_hamdist — Hamming distance
    • gmp_init — Create GMP number
    • gmp_intval — Convert GMP number to integer
    • gmp_invert — Inverse by modulo
    • gmp_jacobi — Jacobi symbol
    • gmp_legendre — Legendre symbol
    • gmp_mod — Modulo operation
    • gmp_mul — Multiply numbers
    • gmp_neg — Negate number
    • gmp_nextprime — Find next prime number
    • gmp_or — Bitwise OR
    • gmp_perfect_square — Perfect square check
    • gmp_popcount — Population count
    • gmp_pow — Raise number into power
    • gmp_powm — Raise number into power with modulo
    • gmp_prob_prime — Check if number is "probably prime"
    • gmp_random — Random number
    • gmp_scan0 — Scan for 0
    • gmp_scan1 — Scan for 1
    • gmp_setbit — Set bit
    • gmp_sign — Sign of number
    • gmp_sqrt — Calculate square root
    • gmp_sqrtrem — Square root with remainder
    • gmp_strval — Convert GMP number to string
    • gmp_sub — Subtract numbers
    • gmp_testbit — Tests if a bit is set
    • gmp_xor — Bitwise XOR
bcsub
Введение
Математические расширения


Введение

These functions allow you to work with arbitrary-length integers using the GNU MP library.

These functions have been added in PHP 4.0.4.

Замечание:

Most GMP functions accept GMP number arguments, defined as resource below. However, most of these functions will also accept numeric and string arguments, given that it is possible to convert the latter to a number. Also, if there is a faster function that can operate on integer arguments, it would be used instead of the slower function when the supplied arguments are integers. This is done transparently, so the bottom line is that you can use integers in every function that expects GMP number. See also the gmp_init() function.

Внимание

If you want to explicitly specify a large integer, specify it as a string. If you don't do that, PHP will interpret the integer-literal first, possibly resulting in loss of precision, even before GMP comes into play.

Замечание: This extension is available on Windows platforms since PHP 5.1.0.

GMP
Установка и настройка
GMP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GMP


Требования

You can download the GMP library from » http://gmplib.org/#DOWNLOAD. This site also has the GMP manual available.

You will need GMP version 2 or better to use these functions. Some functions may require more recent version of the GMP library.

Установка и настройка
Установка
Установка и настройка


Установка

In order to have these functions available, you must compile PHP with GMP support by using the --with-gmp option.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Most GPM functions operate on or return GMP number resources.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)
GMP_VERSION (string)
Версия библиотеки GMP
Типы ресурсов
Примеры
GMP


Примеры

Пример #1 Factorial function using GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i < $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

This will calculate factorial of 1000 (pretty big number) very fast.

Предопределенные константы
GMP Функции
GMP


GMP Функции

Смотрите также

More mathematical functions can be found in the Математические расширения section

Содержание

  • gmp_abs — Absolute value
  • gmp_add — Add numbers
  • gmp_and — Bitwise AND
  • gmp_clrbit — Clear bit
  • gmp_cmp — Compare numbers
  • gmp_com — Calculates one's complement
  • gmp_div_q — Divide numbers
  • gmp_div_qr — Divide numbers and get quotient and remainder
  • gmp_div_r — Remainder of the division of numbers
  • gmp_div — Псевдоним gmp_div_q
  • gmp_divexact — Exact division of numbers
  • gmp_fact — Factorial
  • gmp_gcd — Calculate GCD
  • gmp_gcdext — Calculate GCD and multipliers
  • gmp_hamdist — Hamming distance
  • gmp_init — Create GMP number
  • gmp_intval — Convert GMP number to integer
  • gmp_invert — Inverse by modulo
  • gmp_jacobi — Jacobi symbol
  • gmp_legendre — Legendre symbol
  • gmp_mod — Modulo operation
  • gmp_mul — Multiply numbers
  • gmp_neg — Negate number
  • gmp_nextprime — Find next prime number
  • gmp_or — Bitwise OR
  • gmp_perfect_square — Perfect square check
  • gmp_popcount — Population count
  • gmp_pow — Raise number into power
  • gmp_powm — Raise number into power with modulo
  • gmp_prob_prime — Check if number is "probably prime"
  • gmp_random — Random number
  • gmp_scan0 — Scan for 0
  • gmp_scan1 — Scan for 1
  • gmp_setbit — Set bit
  • gmp_sign — Sign of number
  • gmp_sqrt — Calculate square root
  • gmp_sqrtrem — Square root with remainder
  • gmp_strval — Convert GMP number to string
  • gmp_sub — Subtract numbers
  • gmp_testbit — Tests if a bit is set
  • gmp_xor — Bitwise XOR
Примеры
gmp_abs
GMP


Absolute value

GMP Функции
gmp_add
GMP Функции
PHP Manual

gmp_abs

(PHP 4 >= 4.0.4, PHP 5)

gmp_abs — Absolute value

Описание

resource gmp_abs ( resource $a )

Get the absolute value of a number.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns the absolute value of a, as a GMP number.

Примеры

Пример #1 gmp_abs() example

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

Результат выполнения данного примера:

274982683358
274982683358

GMP Функции
gmp_add
GMP Функции


Add numbers

gmp_abs
gmp_and
GMP Функции
PHP Manual

gmp_add

(PHP 4 >= 4.0.4, PHP 5)

gmp_add — Add numbers

Описание

resource gmp_add ( resource $a , resource $b )

Add two numbers.

Список параметров

a

A number that will be added.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

A number that will be added.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

A GMP number representing the sum of the arguments.

Примеры

Пример #1 gmp_add() example

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

Результат выполнения данного примера:

200000000000000

gmp_abs
gmp_and
GMP Функции


Bitwise AND

gmp_add
gmp_clrbit
GMP Функции
PHP Manual

gmp_and

(PHP 4 >= 4.0.4, PHP 5)

gmp_and — Bitwise AND

Описание

resource gmp_and ( resource $a , resource $b )

Calculates bitwise AND of two GMP numbers.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

A GMP number representing the bitwise AND comparison.

Примеры

Пример #1 gmp_and() example

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

Результат выполнения данного примера:

4
0
gmp_add
gmp_clrbit
GMP Функции


Clear bit

gmp_and
gmp_cmp
GMP Функции
PHP Manual

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_clrbit — Clear bit

Описание

void gmp_clrbit ( resource $a , int $index )

Clears (sets to 0) bit index in a. The index starts at 0.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

index

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_clrbit() example

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

Результат выполнения данного примера:

254

Примечания

Замечание:

Unlike most of the other GMP functions, gmp_clrbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

Смотрите также

  • gmp_setbit() - Set bit
  • gmp_testbit() - Tests if a bit is set

gmp_and
gmp_cmp
GMP Функции


Compare numbers

gmp_clrbit
gmp_com
GMP Функции
PHP Manual

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5)

gmp_cmp — Compare numbers

Описание

int gmp_cmp ( resource $a , resource $b )

Compares two numbers.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns a positive value if a > b, zero if a = b and a negative value if a < b.

Примеры

Пример #1 gmp_cmp() example

<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to

echo "$cmp1 $cmp2 $cmp3\n";
?>

Результат выполнения данного примера:

1 -1 0
gmp_clrbit
gmp_com
GMP Функции


Calculates one's complement

gmp_cmp
gmp_div_q
GMP Функции
PHP Manual

gmp_com

(PHP 4 >= 4.0.4, PHP 5)

gmp_com — Calculates one's complement

Описание

resource gmp_com ( resource $a )

Returns the one's complement of a.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns the one's complement of a, as a GMP number.

Примеры

Пример #1 gmp_com() example

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

Результат выполнения данного примера:

-1235
gmp_cmp
gmp_div_q
GMP Функции


Divide numbers

gmp_com
gmp_div_qr
GMP Функции
PHP Manual

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_q — Divide numbers

Описание

resource gmp_div_q ( resource $a , resource $b [, int $round = GMP_ROUND_ZERO ] )

Divides a by b and returns the integer result.

Список параметров

a

The number being divided.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

The number that a is being divided by.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

round

The result rounding is defined by the round, which can have the following values:

  • GMP_ROUND_ZERO: The result is truncated towards 0.
  • GMP_ROUND_PLUSINF: The result is rounded towards +infinity.
  • GMP_ROUND_MINUSINF: The result is rounded towards -infinity.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_div_q() example

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

Результат выполнения данного примера:

20
0
1
0
-1

Примечания

Замечание:

This function can also be called as gmp_div().

Смотрите также

  • gmp_div_r() - Remainder of the division of numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder

gmp_com
gmp_div_qr
GMP Функции


Divide numbers and get quotient and remainder

gmp_div_q
gmp_div_r
GMP Функции
PHP Manual

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_qr — Divide numbers and get quotient and remainder

Описание

array gmp_div_qr ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

The function divides n by d.

Список параметров

n

The number being divided.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

d

The number that n is being divided by.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

round

See the gmp_div_q() function for description of the round argument.

Возвращаемые значения

Returns an array, with the first element being [n/d] (the integer result of the division) and the second being (n - [n/d] * d) (the remainder of the division).

Примеры

Пример #1 Division of GMP numbers

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Result is: q - %s, r - %s",
       gmp_strval($res[0]), gmp_strval($res[1]));
?>

Смотрите также

  • gmp_div_q() - Divide numbers
  • gmp_div_r() - Remainder of the division of numbers

gmp_div_q
gmp_div_r
GMP Функции


Remainder of the division of numbers

gmp_div_qr
gmp_div
GMP Функции
PHP Manual

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_r — Remainder of the division of numbers

Описание

resource gmp_div_r ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

Calculates remainder of the integer division of n by d. The remainder has the sign of the n argument, if not zero.

Список параметров

n

The number being divided.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

d

The number that n is being divided by.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

round

See the gmp_div_q() function for description of the round argument.

Возвращаемые значения

The remainder, as a GMP number.

Примеры

Пример #1 gmp_div_r() example

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

Результат выполнения данного примера:

5

Смотрите также

  • gmp_div_q() - Divide numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder

gmp_div_qr
gmp_div
GMP Функции


Псевдоним gmp_div_q

gmp_div_r
gmp_divexact
GMP Функции
PHP Manual

gmp_div

(PHP 4 >= 4.0.4, PHP 5)

gmp_div — Псевдоним gmp_div_q()

Описание

Эта функция является псевдонимом: gmp_div_q().

gmp_div_r
gmp_divexact
GMP Функции


Exact division of numbers

gmp_div
gmp_fact
GMP Функции
PHP Manual

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5)

gmp_divexact — Exact division of numbers

Описание

resource gmp_divexact ( resource $n , resource $d )

Divides n by d, using fast "exact division" algorithm. This function produces correct results only when it is known in advance that d divides n.

Список параметров

n

The number being divided.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

d

The number that a is being divided by.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_divexact() example

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // bogus result
echo gmp_strval($div2) . "\n";
?>

Результат выполнения данного примера:

5
2863311534

gmp_div
gmp_fact
GMP Функции


Factorial

gmp_divexact
gmp_gcd
GMP Функции
PHP Manual

gmp_fact

(PHP 4 >= 4.0.4, PHP 5)

gmp_fact — Factorial

Описание

resource gmp_fact ( mixed $a )

Calculates factorial (a!) of a.

Список параметров

a

The factorial number.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_fact() example

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

Результат выполнения данного примера:

120
30414093201713378043612608166064768844377641568960512000000000000

gmp_divexact
gmp_gcd
GMP Функции


Calculate GCD

gmp_fact
gmp_gcdext
GMP Функции
PHP Manual

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcd — Calculate GCD

Описание

resource gmp_gcd ( resource $a , resource $b )

Calculate greatest common divisor of a and b. The result is always positive even if either of, or both, input operands are negative.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

A positive GMP number that divides into both a and b.

Примеры

Пример #1 gmp_gcd() example

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

Результат выполнения данного примера:

3

gmp_fact
gmp_gcdext
GMP Функции


Calculate GCD and multipliers

gmp_gcd
gmp_hamdist
GMP Функции
PHP Manual

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext — Calculate GCD and multipliers

Описание

array gmp_gcdext ( resource $a , resource $b )

Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd is the greatest common divisor. Returns an array with respective elements g, s and t.

This function can be used to solve linear Diophantine equations in two variables. These are equations that allow only integer solutions and have the form: a*x + b*y = c. For more information, go to the » "Diophantine Equation" page at MathWorld

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

An array of GMP numbers.

Примеры

Пример #1 Solving a linear Diophantine equation

<?php
// Solve the equation a*s + b*t = g
// where a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error while solving the equation\n";
}

// output: Solution: 12*2 + 21*-1 = 3
?>

gmp_gcd
gmp_hamdist
GMP Функции


Hamming distance

gmp_gcdext
gmp_init
GMP Функции
PHP Manual

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5)

gmp_hamdist — Hamming distance

Описание

int gmp_hamdist ( resource $a , resource $b )

Returns the hamming distance between a and b. Both operands should be non-negative.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

It should be positive.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

It should be positive.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_hamdist() example

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist is equivilent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

Результат выполнения данного примера:

6
6

Смотрите также

  • gmp_popcount() - Population count
  • gmp_xor() - Bitwise XOR

gmp_gcdext
gmp_init
GMP Функции


Create GMP number

gmp_hamdist
gmp_intval
GMP Функции
PHP Manual

gmp_init

(PHP 4 >= 4.0.4, PHP 5)

gmp_init — Create GMP number

Описание

resource gmp_init ( mixed $number [, int $base = 0 ] )

Creates a GMP number from an integer or string.

Список параметров

number

An integer or a string. The string representation can be decimal, hexadecimal or octal.

base

The base.

The base may vary from 2 to 36. If base is 0 (default value), the actual base is determined from the leading characters: if the first two characters are 0x or 0X, hexadecimal is assumed, otherwise if the first character is "0", octal is assumed, otherwise decimal is assumed.

Возвращаемые значения

Число GMP.

Список изменений

Версия | Описание
5.3.2 | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.
4.1.0 | The optional base parameter was added.

Примечания

Замечание:

To use the extended base introduced in PHP 5.3.2, then PHP must be compiled against GMP 4.2.0 or greater.

Примеры

Пример #1 Creating GMP number

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Примечания

Замечание:

It is not necessary to call this function if you want to use integer or string in place of GMP number in GMP functions, like gmp_add(). Function arguments are automatically converted to GMP numbers, if such conversion is possible and needed, using the same rules as gmp_init().

gmp_hamdist
gmp_intval
GMP Функции


Convert GMP number to integer

gmp_init
gmp_invert
GMP Функции
PHP Manual

gmp_intval

(PHP 4 >= 4.0.4, PHP 5)

gmp_intval — Convert GMP number to integer

Описание

int gmp_intval ( resource $gmpnumber )

This function allows to convert GMP number to integer.

Список параметров

gmpnumber

A GMP number.

Возвращаемые значения

An integer value of gmpnumber.

Примеры

Пример #1 gmp_intval() example

<?php
// displays correct result
echo gmp_intval("2147483647") . "\n";

// displays wrong result, above PHP integer limit
echo gmp_intval("2147483648") . "\n";

// displays correct result
echo gmp_strval("2147483648") . "\n";
?>

Результат выполнения данного примера:

2147483647
2147483647
2147483648

Примечания

Внимание

This function returns a useful result only if the number actually fits the PHP integer (i.e., signed long type). If you want just to print the GMP number, use gmp_strval().

gmp_init
gmp_invert
GMP Функции


Inverse by modulo

gmp_intval
gmp_jacobi
GMP Функции
PHP Manual

gmp_invert

(PHP 4 >= 4.0.4, PHP 5)

gmp_invert — Inverse by modulo

Описание

resource gmp_invert ( resource $a , resource $b )

Computes the inverse of a modulo b.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

A GMP number on success or FALSE if an inverse does not exist.

Примеры

Пример #1 gmp_invert() example

<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

Результат выполнения данного примера:

9

gmp_intval
gmp_jacobi
GMP Функции


Jacobi symbol

gmp_invert
gmp_legendre
GMP Функции
PHP Manual

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5)

gmp_jacobi — Jacobi symbol

Описание

int gmp_jacobi ( resource $a , resource $p )

Computes » Jacobi symbol of a and p. p should be odd and must be positive.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

p

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Should be odd and must be positive.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_jacobi() example

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

Результат выполнения данного примера:

1
0

gmp_invert
gmp_legendre
GMP Функции


Legendre symbol

gmp_jacobi
gmp_mod
GMP Функции
PHP Manual

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5)

gmp_legendre — Legendre symbol

Описание

int gmp_legendre ( resource $a , resource $p )

Compute the » Legendre symbol of a and p. p should be odd and must be positive.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

p

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Should be odd and must be positive.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_legendre() example

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

Результат выполнения данного примера:

1
0

gmp_jacobi
gmp_mod
GMP Функции


Modulo operation

gmp_legendre
gmp_mul
GMP Функции
PHP Manual

gmp_mod

(PHP 4 >= 4.0.4, PHP 5)

gmp_mod — Modulo operation

Описание

resource gmp_mod ( resource $n , resource $d )

Calculates n modulo d. The result is always non-negative, the sign of d is ignored.

Список параметров

n

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

d

The modulo that is being evaluated.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_mod() example

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

Результат выполнения данного примера:

2

gmp_legendre
gmp_mul
GMP Функции


Multiply numbers

gmp_mod
gmp_neg
GMP Функции
PHP Manual

gmp_mul

(PHP 4 >= 4.0.4, PHP 5)

gmp_mul — Multiply numbers

Описание

resource gmp_mul ( resource $a , resource $b )

Multiplies a by b and returns the result.

Список параметров

a

A number that will be multiplied by b.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

A number that will be multiplied by a.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_mul() example

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

Результат выполнения данного примера:

24691356000

gmp_mod
gmp_neg
GMP Функции


Negate number

gmp_mul
gmp_nextprime
GMP Функции
PHP Manual

gmp_neg

(PHP 4 >= 4.0.4, PHP 5)

gmp_neg — Negate number

Описание

resource gmp_neg ( resource $a )

Returns the negative value of a number.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns -a, as a GMP number.

Примеры

Пример #1 gmp_neg() example

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

Результат выполнения данного примера:

-1
1

gmp_mul
gmp_nextprime
GMP Функции


Find next prime number

gmp_neg
gmp_or
GMP Функции
PHP Manual

gmp_nextprime

(PHP 5 >= 5.2.0)

gmp_nextprime — Find next prime number

Описание

resource gmp_nextprime ( int $a )

Find next prime number

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Return the next prime number greater than a, as a GMP number.

Примеры

Пример #1 gmp_nextprime() example

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

Результат выполнения данного примера:

11
-997

Примечания

Замечание:

This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.

gmp_neg
gmp_or
GMP Функции


Bitwise OR

gmp_nextprime
gmp_perfect_square
GMP Функции
PHP Manual

gmp_or

(PHP 4 >= 4.0.4, PHP 5)

gmp_or — Bitwise OR

Описание

resource gmp_or ( resource $a , resource $b )

Calculates bitwise inclusive OR of two GMP numbers.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_or() example

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

Результат выполнения данного примера:

fffffff6
fffffff2

gmp_nextprime
gmp_perfect_square
GMP Функции


Perfect square check

gmp_or
gmp_popcount
GMP Функции
PHP Manual

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5)

gmp_perfect_square — Perfect square check

Описание

bool gmp_perfect_square ( resource $a )

Check if a number is a perfect square.

Список параметров

a

The number being checked as a perfect square.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns TRUE if a is a perfect square, FALSE otherwise.

Примеры

Пример #1 gmp_perfect_square() example

<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));

// not a perfect square
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>

Результат выполнения данного примера:

bool(true)
bool(false)
bool(true)

Смотрите также

  • gmp_sqrt() - Calculate square root
  • gmp_sqrtrem() - Square root with remainder

gmp_or
gmp_popcount
GMP Функции


Population count

gmp_perfect_square
gmp_pow
GMP Функции
PHP Manual

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5)

gmp_popcount — Population count

Описание

int gmp_popcount ( resource $a )

Get the population count.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

The population count of a, as an integer.

Примеры

Пример #1 gmp_popcount() example

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

Результат выполнения данного примера:

3
7

gmp_perfect_square
gmp_pow
GMP Функции


Raise number into power

gmp_popcount
gmp_powm
GMP Функции
PHP Manual

gmp_pow

(PHP 4 >= 4.0.4, PHP 5)

gmp_pow — Raise number into power

Описание

resource gmp_pow ( resource $base , int $exp )

Raise base into power exp.

Список параметров

base

The base number.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

exp

The positive power to raise the base.

Возвращаемые значения

The new (raised) number, as a GMP number. The case of 0^0 yields 1.

Примеры

Пример #1 gmp_pow() example

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Negative exp, generates warning
echo gmp_strval($pow3) . "\n";
?>

Результат выполнения данного примера:

2147483648
1

gmp_popcount
gmp_powm
GMP Функции


Raise number into power with modulo

gmp_pow
gmp_prob_prime
GMP Функции
PHP Manual

gmp_powm

(PHP 4 >= 4.0.4, PHP 5)

gmp_powm — Raise number into power with modulo

Описание

resource gmp_powm ( resource $base , resource $exp , resource $mod )

Calculate (base raised into power exp) modulo mod. If exp is negative, result is undefined.

Список параметров

base

The base number.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

exp

The positive power to raise the base.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

mod

The modulo.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

The new (raised) number, as a GMP number.

Примеры

Пример #1 gmp_powm() example

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

Результат выполнения данного примера:

2147483648

gmp_pow
gmp_prob_prime
GMP Функции


Check if number is "probably prime"

gmp_powm
gmp_random
GMP Функции
PHP Manual

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime — Check if number is "probably prime"

Описание

int gmp_prob_prime ( resource $a [, int $reps = 10 ] )

The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

Список параметров

a

The number being checked as a prime.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

reps

Reasonable values of reps vary from 5 to 10 (default being 10); a higher value lowers the probability for a non-prime to pass as a "probable" prime.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

If this function returns 0, a is definitely not prime. If it returns 1, then a is "probably" prime. If it returns 2, then a is surely prime.

Примеры

Пример #1 gmp_prob_prime() example

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

Результат выполнения данного примера:

0
1
2

gmp_powm
gmp_random
GMP Функции


Random number

gmp_prob_prime
gmp_scan0
GMP Функции
PHP Manual

gmp_random

(PHP 4 >= 4.0.4, PHP 5)

gmp_random — Random number

Описание

resource gmp_random ([ int $limiter = 20 ] )

Generate a random number. The number will be between zero and the number of bits per limb multiplied by limiter. If limiter is negative, negative numbers are generated.

A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 16 or 32, but this is not guaranteed.

Список параметров

limiter

The limiter.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

A random GMP number.

Примеры

Пример #1 gmp_random() example

<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Результат выполнения данного примера:

1915834968
8642564075890328087

gmp_prob_prime
gmp_scan0
GMP Функции


Scan for 0

gmp_random
gmp_scan1
GMP Функции
PHP Manual

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan0 — Scan for 0

Описание

int gmp_scan0 ( resource $a , int $start )

Scans a, starting with bit start, towards more significant bits, until the first clear bit is found.

Список параметров

a

The number to scan.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

start

The starting bit.

Возвращаемые значения

Returns the index of the found bit, as an integer. The index starts from 0.

Примеры

Пример #1 gmp_scan0() example

<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

Результат выполнения данного примера:

3
7

gmp_random
gmp_scan1
GMP Функции


Scan for 1

gmp_scan0
gmp_setbit
GMP Функции
PHP Manual

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan1 — Scan for 1

Описание

int gmp_scan1 ( resource $a , int $start )

Scans a, starting with bit start, towards more significant bits, until the first set bit is found.

Список параметров

a

The number to scan.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

start

The starting bit.

Возвращаемые значения

Returns the index of the found bit, as an integer. If no set bit is found, -1 is returned.

Примеры

Пример #1 gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

Результат выполнения данного примера:

3
9

gmp_scan0
gmp_setbit
GMP Функции


Set bit

gmp_scan1
gmp_sign
GMP Функции
PHP Manual

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit — Set bit

Описание

void gmp_setbit ( resource $a , int $index [, bool $set_clear = true ] )

Sets bit index in a.

Список параметров

a

The number being set to.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

index

The set bit.

set_clear

Defines if the bit is set to 0 or 1. By default the bit is set to 1. Index starts at 0.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_setbit() example

<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a) . "\n";
?>

Результат выполнения данного примера:

255

Примечания

Замечание:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

Смотрите также

  • gmp_clrbit() - Clear bit
  • gmp_testbit() - Tests if a bit is set

gmp_scan1
gmp_sign
GMP Функции


Sign of number

gmp_setbit
gmp_sqrt
GMP Функции
PHP Manual

gmp_sign

(PHP 4 >= 4.0.4, PHP 5)

gmp_sign — Sign of number

Описание

int gmp_sign ( resource $a )

Checks the sign of a number.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns 1 if a is positive, -1 if a is negative, and 0 if a is zero.

Примеры

Пример #1 gmp_sign() example

<?php
// positive
echo gmp_sign("500") . "\n";

// negative
echo gmp_sign("-500") . "\n";

// zero
echo gmp_sign("0") . "\n";
?>

Результат выполнения данного примера:

1
-1
0

Смотрите также

  • gmp_abs() - Absolute value
  • abs() - Модуль числа

gmp_setbit
gmp_sqrt
GMP Функции


Calculate square root

gmp_sign
gmp_sqrtrem
GMP Функции
PHP Manual

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrt — Calculate square root

Описание

resource gmp_sqrt ( resource $a )

Calculates square root of a.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

The integer portion of the square root, as a GMP number.

Примеры

Пример #1 gmp_sqrt() example

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

Результат выполнения данного примера:

3
2
1234567890

gmp_sign
gmp_sqrtrem
GMP Функции


Square root with remainder

gmp_sqrt
gmp_strval
GMP Функции
PHP Manual

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrtrem — Square root with remainder

Описание

array gmp_sqrtrem ( resource $a )

Calculate the square root of a number, with remainder.

Список параметров

a

The number being square rooted.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Returns array where first element is the integer square root of a and the second is the remainder (i.e., the difference between a and the first element squared).

Примеры

Пример #1 gmp_sqrtrem() example

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

Результат выполнения данного примера:

3, 0
2, 3
1024, 0

gmp_sqrt
gmp_strval
GMP Функции


Convert GMP number to string

gmp_sqrtrem
gmp_sub
GMP Функции
PHP Manual

gmp_strval

(PHP 4 >= 4.0.4, PHP 5)

gmp_strval — Convert GMP number to string

Описание

string gmp_strval ( resource $gmpnumber [, int $base = 10 ] )

Convert GMP number to string representation in base base. The default base is 10.

Список параметров

gmpnumber

The GMP number that will be converted to a string.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

base

The base of the returned number. The default base is 10. Allowed values for the base are from 2 to 62 and -2 to -36.

Возвращаемые значения

The number, as a string.

Список изменений

Версия | Описание
5.3.2 | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.

Примечания

Замечание:

To use the extended base introduced in PHP 5.3.2, then PHP must be compiled against GMP 4.2.0 or greater.

Примеры

Пример #1 Converting a GMP number to a string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, 36-based: %s", gmp_strval($a), gmp_strval($a,36));
?>

gmp_sqrtrem
gmp_sub
GMP Функции


Subtract numbers

gmp_strval
gmp_testbit
GMP Функции
PHP Manual

gmp_sub

(PHP 4 >= 4.0.4, PHP 5)

gmp_sub — Subtract numbers

Описание

resource gmp_sub ( resource $a , resource $b )

Subtracts b from a and returns the result.

Список параметров

a

The number being subtracted from.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

The number subtracted from a.

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_sub() example

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

Результат выполнения данного примера:

281470681743360

gmp_strval
gmp_testbit
GMP Функции


Tests if a bit is set

gmp_sub
gmp_xor
GMP Функции
PHP Manual

gmp_testbit

(PHP 5 >= 5.3.0)

gmp_testbit — Tests if a bit is set

Описание

bool gmp_testbit ( resource $a , int $index )

Tests if the specified bit is set.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

index

The bit to test

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

E_WARNING is issued when index is less than zero.

Примеры

Пример #1 gmp_testbit() example

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • gmp_setbit() - Set bit
  • gmp_clrbit() - Clear bit

gmp_sub
gmp_xor
GMP Функции


Bitwise XOR

gmp_testbit
Math
GMP Функции
PHP Manual

gmp_xor

(PHP 4 >= 4.0.4, PHP 5)

gmp_xor — Bitwise XOR

Описание

resource gmp_xor ( resource $a , resource $b )

Calculates bitwise exclusive OR (XOR) of two GMP numbers.

Список параметров

a

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

b

Может быть как числом GMP, так строкой, учитывая то, что ее значение правильно конвертируется в число.

Возвращаемые значения

Число GMP.

Примеры

Пример #1 gmp_xor() example

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

Результат выполнения данного примера:

1011110111000100

gmp_testbit
Math
GMP Функции


Математические функции

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Математические функции
    • abs — Модуль числа
    • acos — Арккосинус
    • acosh — Гиперболический арккосинус
    • asin — Арксинус
    • asinh — Гиперболический арксинус
    • atan2 — Арктангенс двух переменных
    • atan — Арктангенс
    • atanh — Гиперболический арктангенс
    • base_convert — Преобразование числа между произвольными системами счисления
    • bindec — Двоичное в десятичное
    • ceil — Округляет дробь в большую сторону
    • cos — Косинус
    • cosh — Гиперболический косинус
    • decbin — Переводит число из десятичной системы счисления в двоичную
    • dechex — Переводит число из десятичной системы счисления в шестнадцатиричную
    • decoct — Переводит число из десятичной системы счисления в восьмеричную
    • deg2rad — Преобразует значение из градусов в радианы
    • exp — Вычисляет число e в степени
    • expm1 — Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.
    • floor — Округляет дробь в меньшую сторону
    • fmod — Возвращает дробный остаток от деления по модулю
    • getrandmax — Вовзращает максимально возможное случайное число
    • hexdec — Переводит число из шестнадцатиричной системы счисления в десятичную
    • hypot — Рассчитывает длину гипотенузы прямоугольного треугольника
    • is_finite — Проверяет, является ли значение допустимым конечным числом
    • is_infinite — Проверяет, является ли значение бесконечным
    • is_nan — Проверяет, является ли значение "не числом"
    • lcg_value — Комбинированный линейно конгруэнтный генератор
    • log10 — Десятичный логарифм
    • log1p — Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю
    • log — Натуральный логарифм
    • max — Возвращает наибольшее значение
    • min — Находит наименьшее значение
    • mt_getrandmax — Показывает максимально возможное значение случайного числа
    • mt_rand — Генерирует случайное значение методом mt
    • mt_srand — Переинициализирует генератор случайных чисел mt
    • octdec — Переводит число из восьмеричной системы счисления в десятичную
    • pi — Возвращает число Пи
    • pow — Возведение в степень
    • rad2deg — Преобразует значение из радианов в градусы
    • rand — Генерирует случайное число
    • round — Округляет число типа float
    • sin — Синус
    • sinh — Гиперболический синус
    • sqrt — Квадратный корень
    • srand — Изменяет начальное число генератора псевдослучайных чисел
    • tan — Тангенс
    • tanh — Гиперболический тангенс
gmp_xor
Введение
Математические расширения


Введение

Данные функции работают с числами в диапазонах типов integer и float на вашей машине (это соответствует C-типам long и double). Если вам нужно работать с большими числами, обратитесь к разделу математических функций произвольной точности.

См. также арифметические операторы.

Math
Установка и настройка
Math


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Math


Предопределенные константы

Перечисленные ниже константы всегда доступны как часть ядра PHP.

Математические константы
Константа | Значение | Описание | Доступна с версии
M_PI | 3.14159265358979323846 | число Пи |
M_E | 2.7182818284590452354 | число Эйлера (e) |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | lg e |
M_LN2 | 0.69314718055994530942 | ln 2 |
M_LN10 | 2.30258509299404568402 | ln 10 |
M_PI_2 | 1.57079632679489661923 | Пи/2 |
M_PI_4 | 0.78539816339744830962 | Пи/4 |
M_1_PI | 0.31830988618379067154 | 1/Пи |
M_2_PI | 0.63661977236758134308 | 2/Пи |
M_SQRTPI | 1.77245385090551602729 | sqrt(Пи) | PHP 5.2.0
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(Пи) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) | PHP 5.2.0
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | ln Пи | PHP 5.2.0
M_EULER | 0.57721566490153286061 | Постоянная Эйлера | PHP 5.2.0
PHP_ROUND_HALF_UP | 1 | Округление к большему целому | PHP 5.3.0
PHP_ROUND_HALF_DOWN | 2 | Округление к меньшему целому | PHP 5.3.0
PHP_ROUND_HALF_EVEN | 3 | Округление к четному числу | PHP 5.3.0
PHP_ROUND_HALF_ODD | 4 | Округление к нечетному числу | PHP 5.3.0
NAN | NAN (тип float) | Не является числом (Not A Number) |
INF | INF (тип float) | Бесконечность |

Все константы без указания версии PHP доступны начиная с PHP 4.0.0.

Типы ресурсов
Математические функции
Math


Математические функции

Содержание

  • abs — Модуль числа
  • acos — Арккосинус
  • acosh — Гиперболический арккосинус
  • asin — Арксинус
  • asinh — Гиперболический арксинус
  • atan2 — Арктангенс двух переменных
  • atan — Арктангенс
  • atanh — Гиперболический арктангенс
  • base_convert — Преобразование числа между произвольными системами счисления
  • bindec — Двоичное в десятичное
  • ceil — Округляет дробь в большую сторону
  • cos — Косинус
  • cosh — Гиперболический косинус
  • decbin — Переводит число из десятичной системы счисления в двоичную
  • dechex — Переводит число из десятичной системы счисления в шестнадцатиричную
  • decoct — Переводит число из десятичной системы счисления в восьмеричную
  • deg2rad — Преобразует значение из градусов в радианы
  • exp — Вычисляет число e в степени
  • expm1 — Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.
  • floor — Округляет дробь в меньшую сторону
  • fmod — Возвращает дробный остаток от деления по модулю
  • getrandmax — Вовзращает максимально возможное случайное число
  • hexdec — Переводит число из шестнадцатиричной системы счисления в десятичную
  • hypot — Рассчитывает длину гипотенузы прямоугольного треугольника
  • is_finite — Проверяет, является ли значение допустимым конечным числом
  • is_infinite — Проверяет, является ли значение бесконечным
  • is_nan — Проверяет, является ли значение "не числом"
  • lcg_value — Комбинированный линейно конгруэнтный генератор
  • log10 — Десятичный логарифм
  • log1p — Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю
  • log — Натуральный логарифм
  • max — Возвращает наибольшее значение
  • min — Находит наименьшее значение
  • mt_getrandmax — Показывает максимально возможное значение случайного числа
  • mt_rand — Генерирует случайное значение методом mt
  • mt_srand — Переинициализирует генератор случайных чисел mt
  • octdec — Переводит число из восьмеричной системы счисления в десятичную
  • pi — Возвращает число Пи
  • pow — Возведение в степень
  • rad2deg — Преобразует значение из радианов в градусы
  • rand — Генерирует случайное число
  • round — Округляет число типа float
  • sin — Синус
  • sinh — Гиперболический синус
  • sqrt — Квадратный корень
  • srand — Изменяет начальное число генератора псевдослучайных чисел
  • tan — Тангенс
  • tanh — Гиперболический тангенс
Предопределенные константы
abs
Math


Модуль числа

Математические функции
acos
Математические функции
PHP Manual

abs

(PHP 4, PHP 5)

abs — Модуль числа

Описание

number abs ( mixed $number )

Возвращает абсолютное значение number.

Список параметров

number

Числовое значение

Возвращаемые значения

Абсолютное значение number. Если тип аргумента number - float, то возвращаемый тип также float, иначе - integer (тип float обычно имеет большую область значений, чем тип integer).

Примеры

Пример #1 Пример использования abs()

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>

Смотрите также

  • gmp_abs() - Absolute value
  • gmp_sign() - Sign of number

Математические функции
acos
Математические функции


Арккосинус

abs
acosh
Математические функции
PHP Manual

acos

(PHP 4, PHP 5)

acos — Арккосинус

Описание

float acos ( float $arg )

Возвращает арккосинус числа arg в радианах. acos() - обратная тригонометрическая функция к cos(), т.е. a==cos(acos(a)) для каждого значения а, входящего в область значений функции acos().

Список параметров

arg

Аргумент функции

Возвращаемые значения

Арккосинус числа arg в радианах.

Смотрите также

  • cos() - Косинус
  • acosh() - Гиперболический арккосинус
  • asin() - Арксинус
  • atan() - Арктангенс

abs
acosh
Математические функции


Гиперболический арккосинус

acos
asin
Математические функции
PHP Manual

acosh

(PHP 4 >= 4.1.0, PHP 5)

acosh — Гиперболический арккосинус

Описание

float acosh ( float $arg )

Возвращает гиперболический арккосинус arg, т.е. значение, чей гиперболический косинус равен arg.

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический арккосинус arg

Список изменений

Версия | Описание
5.3.0 | Функция стала доступна для всех платформ

Смотрите также

  • cosh() - Гиперболический косинус
  • acos() - Арккосинус
  • asinh() - Гиперболический арксинус
  • atanh() - Гиперболический арктангенс

acos
asin
Математические функции


Арксинус

acosh
asinh
Математические функции
PHP Manual

asin

(PHP 4, PHP 5)

asin — Арксинус

Описание

float asin ( float $arg )

Возвращает арксинус числа arg в радианах. asin() - обратная тригонометрическая функция к sin(), т.е. a==sin(asin(a)) для каждого значения a, входящего в область значений функции asin().

Список параметров

arg

Аргумент функции

Возвращаемые значения

Арксинус числа arg в радианах.

Смотрите также

  • sin() - Синус
  • asinh() - Гиперболический арксинус
  • acos() - Арккосинус
  • atan() - Арктангенс

acosh
asinh
Математические функции


Гиперболический арксинус

asin
atan2
Математические функции
PHP Manual

asinh

(PHP 4 >= 4.1.0, PHP 5)

asinh — Гиперболический арксинус

Описание

float asinh ( float $arg )

Возвращает гиперболический арксинус arg, т.е. значение, чей гиперболический синус равен arg.

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический арксинус arg

Список изменений

Версия | Описание
5.3.0 | Функция стала доступна для всех платформ

Смотрите также

  • sinh() - Гиперболический синус
  • asin() - Арксинус
  • acosh() - Гиперболический арккосинус
  • atanh() - Гиперболический арктангенс

asin
atan2
Математические функции


Арктангенс двух переменных

asinh
atan
Математические функции
PHP Manual

atan2

(PHP 4, PHP 5)

atan2 — Арктангенс двух переменных

Описание

float atan2 ( float $y , float $x )

Функция вычисляет арктангенс переменных x и y. Это подобно вычислению арктангенса y / x, за исключением того, что знаки обоих аргументов используются для вычисления квадранта результата.

Функция возвращает значение в радианах в диапазоне от -PI до PI (включительно).

Список параметров

y

Делитель

x

Делимое

Возвращаемые значения

Арктангенс y/x в радианах.

Смотрите также

  • atan() - Арктангенс

asinh
atan
Математические функции


Арктангенс

atan2
atanh
Математические функции
PHP Manual

atan

(PHP 4, PHP 5)

atan — Арктангенс

Описание

float atan ( float $arg )

Возвращает арктангенс числа arg в радианах. atan() - обратная тригонометрическая функция к tan(), т.е. a==tan(atan(a)) для каждого значения a, входящего в область значений функции atan().

Список параметров

arg

Аргумент функции

Возвращаемые значения

Арктангенс числа arg в радианах.

Смотрите также

  • tan() - Тангенс
  • atanh() - Гиперболический арктангенс
  • asin() - Арксинус
  • acos() - Арккосинус

atan2
atanh
Математические функции


Гиперболический арктангенс

atan
base_convert
Математические функции
PHP Manual

atanh

(PHP 4 >= 4.1.0, PHP 5)

atanh — Гиперболический арктангенс

Описание

float atanh ( float $arg )

Возвращает гиперболический арктангенс arg, т.е. значение, чей гиперболический тангенс равен arg.

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический арктангенс arg

Список изменений

Версия | Описание
5.3.0 | Функция стала доступна для всех платформ

Смотрите также

  • tanh() - Гиперболический тангенс
  • atan() - Арктангенс
  • asinh() - Гиперболический арксинус
  • acosh() - Гиперболический арккосинус

atan
base_convert
Математические функции


Преобразование числа между произвольными системами счисления

atanh
bindec
Математические функции
PHP Manual

base_convert

(PHP 4, PHP 5)

base_convert — Преобразование числа между произвольными системами счисления

Описание

string base_convert ( string $number , int $frombase , int $tobase )

Возвращает строку, содержащую число number представленное в системе счисления tobase. Система счисления, в которой дано число number указана в frombase. Значения frombase и tobase должны быть между 2 и 36 (включительно). Цифры в числах, представленных в системе счисления выше десятичной, будут представлены буквами a-z, гда a обозначает 10, b обозначает 11 и z - 35.

Внимание

base_convert() может потерять точность представления больших чисел из-за свойств связанных с внутренним представлением типов "double" или "float". См. также раздел руководства Числа с плавающей точкой для более конкретной информации и ограничений.

Список параметров

number

Число для преобразования

frombase

Основание системы счисления числа number

tobase

Основание системы счисления для преобразования числа number

Возвращаемые значения

number преобразованное в систему счисления tobase

Примеры

Пример #1 Пример использования base_convert()

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

Результат выполнения данного примера:

101000110111001100110100

Смотрите также

  • intval() - Возвращает целое значение переменной

atanh
bindec
Математические функции


Двоичное в десятичное

base_convert
ceil
Математические функции
PHP Manual

bindec

(PHP 4, PHP 5)

bindec — Двоичное в десятичное

Описание

number bindec ( string $binary_string )

Возвращает десятичный эквивалент двоичного числа binary_string.

bindec() преобразует двоичное число в integer или, если необходимо по причинам размера, в float.

bindec() интерпетирует значения binary_string как беззнаковое число. Так как bindec() воспринимает старший бит как еще один порядок величины, а не знаковый бит.

Список параметров

binary_string

Бинарная строка для преобразования

Внимание

Параметр должен быть строкой. Использование иных типов данных приведет к непредсказуемому результату.

Возвращаемые значения

Десятичное значение binary_string

Список изменений

Версия | Описание
Начиная с 4.1.0 | Теперь функция может преобразовывать числа, слишком большие для того, чтобы вместиться в тип integer, ограниченный платформой. В этом случае большие значения возвращаются как тип float.

Примеры

Пример #1 Пример использования bindec()

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

Результат выполнения данного примера:

51
51
7

Пример #2 Пример. bindec() интерпретирует ввод как беззнаковое число

<?php
/*
 * Смысл этого примера можно найти в выводе скрипта,
 * а не в коде PHP.
 */

$magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2);
p($magnitude_lower - 1);
p($magnitude_lower, 'Видите резкую смену значений? Смотрите в следующий раз...');

p(PHP_INT_MAX, 'PHP_INT_MAX');
p(~PHP_INT_MAX, 'интерпретируется как увеличенное на единицу значение PHP_INT_MAX');

if (PHP_INT_SIZE == 4) {
    $note = 'интерпретируется как самое большое целое без знака (unsigned integer)';
} else {
    $note = 'интерпретируется как самое большое целое без знака (unsigned integer)
              (18446744073709551615), но искажается из-за недостаточной точности float';
}
p(-1, $note);

function p($input, $note = '') {
    echo "input:        $input\n";

    $format = '%0' . (PHP_INT_SIZE * 8) . 'b';
    $bin = sprintf($format, $input);
    echo "binary:       $bin\n";

    ini_set('precision', 20);  // Для надежности на 64-битных системах.
    $dec = bindec($bin);
    echo 'bindec():     ' . $dec . "\n";

    if ($note) {
        echo "NOTE:         $note\n";
    }

    echo "\n";
}
?>

Результат выполнения данного примера на 32-битных машинах:

input:        1073741823
binary:       00111111111111111111111111111111
bindec():     1073741823

input:        1073741824
binary:       01000000000000000000000000000000
bindec():     1073741824
NOTE:         Видите резкую смену значений? Смотрите в следующий раз...

input:        2147483647
binary:       01111111111111111111111111111111
bindec():     2147483647
NOTE:         PHP_INT_MAX

input:        -2147483648
binary:       10000000000000000000000000000000
bindec():     2147483648
NOTE:         интерпретируется как увеличенное на единицу значение PHP_INT_MAX

input:        -1
binary:       11111111111111111111111111111111
bindec():     4294967295
NOTE:         интерпретируется как самое большое целое без знака (unsigned integer)

Результат выполнения данного примера на 64-битных машинах:

input:        4611686018427387903
binary:       0011111111111111111111111111111111111111111111111111111111111111
bindec():     4611686018427387903

input:        4611686018427387904
binary:       0100000000000000000000000000000000000000000000000000000000000000
bindec():     4611686018427387904
NOTE:         Видите резкую смену значений? Смотрите в следующий раз...

input:        9223372036854775807
binary:       0111111111111111111111111111111111111111111111111111111111111111
bindec():     9223372036854775807
NOTE:         PHP_INT_MAX

input:        -9223372036854775808
binary:       1000000000000000000000000000000000000000000000000000000000000000
bindec():     9223372036854775808
NOTE:         интерпретируется как увеличенное на единицу значение PHP_INT_MAX

input:        -1
binary:       1111111111111111111111111111111111111111111111111111111111111111
bindec():     18446744073709551616
NOTE:         интерпретируется как самое большое целое без знака (unsigned integer)
              (18446744073709551615), но искажается из-за недостаточной точности float

Смотрите также

  • decbin() - Переводит число из десятичной системы счисления в двоичную
  • octdec() - Переводит число из восьмеричной системы счисления в десятичную
  • hexdec() - Переводит число из шестнадцатиричной системы счисления в десятичную
  • base_convert() - Преобразование числа между произвольными системами счисления

base_convert
ceil
Математические функции


Округляет дробь в большую сторону

bindec
cos
Математические функции
PHP Manual

ceil

(PHP 4, PHP 5)

ceil — Округляет дробь в большую сторону

Описание

float ceil ( float $value )

Возвращает ближайшее большее целое от value.

Список параметров

value

Значение, которое требуется округлить в большую сторону

Возвращаемые значения

Возвращает ближайшее большее целое от value. Тип возвращаемого значения остаётся float т.к. диапазон float больше integer.

Примеры

Пример #1 Пример использования ceil()

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Смотрите также

  • floor() - Округляет дробь в меньшую сторону
  • round() - Округляет число типа float

bindec
cos
Математические функции


Косинус

ceil
cosh
Математические функции
PHP Manual

cos

(PHP 4, PHP 5)

cos — Косинус

Описание

float cos ( float $arg )

cos() возвращает косинус параметра arg . Параметр arg задаётся в радианах.

Список параметров

arg

Угол в радианах

Возвращаемые значения

Косинус угла arg

Примеры

Пример #1 Пример использования cos()

<?php

echo cos(M_PI); // -1

?>

Смотрите также

  • acos() - Арккосинус
  • sin() - Синус
  • tan() - Тангенс
  • deg2rad() - Преобразует значение из градусов в радианы

ceil
cosh
Математические функции


Гиперболический косинус

cos
decbin
Математические функции
PHP Manual

cosh

(PHP 4 >= 4.1.0, PHP 5)

cosh — Гиперболический косинус

Описание

float cosh ( float $arg )

Возвращает гиперболический косинус arg, определяемый как (exp(arg) + exp(-arg))/2.

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический косинус arg

Смотрите также

  • cos() - Косинус
  • acosh() - Гиперболический арккосинус
  • sinh() - Гиперболический синус
  • cosh()

cos
decbin
Математические функции


Переводит число из десятичной системы счисления в двоичную

cosh
dechex
Математические функции
PHP Manual

decbin

(PHP 4, PHP 5)

decbin — Переводит число из десятичной системы счисления в двоичную

Описание

string decbin ( int $number )

Возвращает строку, содержащую двоичное представление указанного аргумента number.

Список параметров

number

Десятичное число для преобразования

Область ввода для 32-битных машин
положительный number | отрицательный number | возвращаемое значение
0 | 0
1 | 1
2 | 10
... и так далее ...
2147483646 | 1111111111111111111111111111110
2147483647 (наибольший знаковый integer) | 1111111111111111111111111111111 (31 единичка)
2147483648 | -2147483648 | 10000000000000000000000000000000
... и так далее ...
4294967294 | -2 | 11111111111111111111111111111110
4294967295 (наибольший беззнаковый integer) | -1 | 11111111111111111111111111111111 (32 единички)
Область ввода для 64-битных машин
положительный number | отрицательный number | возвращаемое значение
0 | 0
1 | 1
2 | 10
... и так далее ...
9223372036854775806 | 111111111111111111111111111111111111111111111111111111111111110
9223372036854775807 (наибольший знаковый integer) | 111111111111111111111111111111111111111111111111111111111111111 (63 единички)
-9223372036854775808 | 1000000000000000000000000000000000000000000000000000000000000000
... и так далее ...
-2 | 1111111111111111111111111111111111111111111111111111111111111110
-1 | 1111111111111111111111111111111111111111111111111111111111111111 (64 единички)

Возвращаемые значения

Бинарное строковое представление number

Примеры

Пример #1 Пример использования decbin()

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

Результат выполнения данного примера:

1100
11010

Смотрите также

  • bindec() - Двоичное в десятичное
  • decoct() - Переводит число из десятичной системы счисления в восьмеричную
  • dechex() - Переводит число из десятичной системы счисления в шестнадцатиричную
  • base_convert() - Преобразование числа между произвольными системами счисления
  • printf() - Выводит отформатированную строку, используя форматы %b, %032b или %064b
  • sprintf(), используя форматы %b, %032b или %064b

cosh
dechex
Математические функции


Переводит число из десятичной системы счисления в шестнадцатиричную

decbin
decoct
Математические функции
PHP Manual

dechex

(PHP 4, PHP 5)

dechex — Переводит число из десятичной системы счисления в шестнадцатиричную

Описание

string dechex ( int $number )

Возвращает строку, содержащую шестнадцатеричное представление указанного аргумента number. Наибольшее число, которое может быть преобразовано - 4294967295, в шестнадцатеричном представлении - "ffffffff".

Список параметров

number

Десятичное значение для преобразования

Возвращаемые значения

Шестнадцатеричное строковое представление number

Примеры

Пример #1 Пример использования dechex()

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

Результат выполнения данного примера:

a
2f

Смотрите также

  • hexdec() - Переводит число из шестнадцатиричной системы счисления в десятичную
  • decbin() - Переводит число из десятичной системы счисления в двоичную
  • decoct() - Переводит число из десятичной системы счисления в восьмеричную
  • base_convert() - Преобразование числа между произвольными системами счисления

decbin
decoct
Математические функции


Переводит число из десятичной системы счисления в восьмеричную

dechex
deg2rad
Математические функции
PHP Manual

decoct

(PHP 4, PHP 5)

decoct — Переводит число из десятичной системы счисления в восьмеричную

Описание

string decoct ( int $number )

Возвращает строку, содержащую восьмеричное представление указанного аргумента number. Наибольшее число, которое может быть преобразовано - 4294967295, в восьмеричном представлении "37777777777".

Список параметров

number

Десятичное значение для преобразования

Возвращаемые значения

Восьмеричное строковое представление number

Примеры

Пример #1 Пример использования decoct()

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

Результат выполнения данного примера:

17
410

Смотрите также

  • octdec() - Переводит число из восьмеричной системы счисления в десятичную
  • decbin() - Переводит число из десятичной системы счисления в двоичную
  • dechex() - Переводит число из десятичной системы счисления в шестнадцатиричную
  • base_convert() - Преобразование числа между произвольными системами счисления

dechex
deg2rad
Математические функции


Преобразует значение из градусов в радианы

decoct
exp
Математические функции
PHP Manual

deg2rad

(PHP 4, PHP 5)

deg2rad — Преобразует значение из градусов в радианы

Описание

float deg2rad ( float $number )

Функция преобразует number из градусов в радианы.

Список параметров

number

Угловая величина в градусах

Возвращаемые значения

Эквивалент number в радианах

Примеры

Пример #1 Пример использования deg2rad()

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Смотрите также

  • rad2deg() - Преобразует значение из радианов в градусы

decoct
exp
Математические функции


Вычисляет число e в степени

deg2rad
expm1
Математические функции
PHP Manual

exp

(PHP 4, PHP 5)

exp — Вычисляет число e в степени

Описание

float exp ( float $arg )

Возвращает e в степени arg.

Замечание:

Число e - основание натурального логарифма. Приблизительно равно 2.718282.

Список параметров

arg

Степень для возведения

Возвращаемые значения

'e' возводится в степень arg

Примеры

Пример #1 Пример использования exp()

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

Результат выполнения данного примера:

1.6275E+005
298.87

Смотрите также

  • log() - Натуральный логарифм
  • pow() - Возведение в степень

deg2rad
expm1
Математические функции


Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.

exp
floor
Математические функции
PHP Manual

expm1

(PHP 4 >= 4.1.0, PHP 5)

expm1 — Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.

Описание

float expm1 ( float $arg )

expm1() возвращает эквивалент выражения 'exp(arg) - 1', рассчитанный таким образом, что результат точен, даже если значение arg близко к нулю, тогда как 'exp (arg) - 1' будет неточно из-за вычитания двух почти равных чисел.

Список параметров

arg

Входное значение

Возвращаемые значения

'e' в степени arg минус один

Список изменений

Версия | Описание
5.3.0 | Теперь функция доступна на всех платформах

Смотрите также

  • log1p() - Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю
  • exp() - Вычисляет число e в степени

exp
floor
Математические функции


Округляет дробь в меньшую сторону

expm1
fmod
Математические функции
PHP Manual

floor

(PHP 4, PHP 5)

floor — Округляет дробь в меньшую сторону

Описание

float floor ( float $value )

Возврашает ближайшее целое число, округляя value в меньшую сторону.

Список параметров

value

Числовое значение для округления

Возвращаемые значения

Значение value, округленное в меньшую сторону до ближайшего целого числа. Возвращаемое значение функции floor() по прежнему типа float потому что диапазон значений float обычно больше, чем у integer.

Примеры

Пример #1 Пример использования floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Смотрите также

  • ceil() - Округляет дробь в большую сторону
  • round() - Округляет число типа float

expm1
fmod
Математические функции


Возвращает дробный остаток от деления по модулю

floor
getrandmax
Математические функции
PHP Manual

fmod

(PHP 4 >= 4.2.0, PHP 5)

fmod — Возвращает дробный остаток от деления по модулю

Описание

float fmod ( float $x , float $y )

Возвращает дробный остаток от деления делимого (x) и делителя (y). Остаток (r) определяется так: x = i * y + r, где i - некоторое целое. Если y не равен нулю, то r имеет такой же знак, как x и величину, меньшую или равную величине y.

Список параметров

x

Делимое.

y

Делитель.

Возвращаемые значения

Остаток от операции деления x/y

Примеры

Пример #1 Пример использования fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r равно 0.5, потому что 4 * 1.3 + 0.5 = 5.7
?>

floor
getrandmax
Математические функции


Вовзращает максимально возможное случайное число

fmod
hexdec
Математические функции
PHP Manual

getrandmax

(PHP 4, PHP 5)

getrandmax — Вовзращает максимально возможное случайное число

Описание

int getrandmax ( void )

Возвращает максимальное значение, которое может быть получено функцией rand().

Возвращаемые значения

Максимально возможное случайное значение, возвращаемое функцией rand()

Смотрите также

  • rand() - Генерирует случайное число
  • srand() - Изменяет начальное число генератора псевдослучайных чисел
  • mt_getrandmax() - Показывает максимально возможное значение случайного числа

fmod
hexdec
Математические функции


Переводит число из шестнадцатиричной системы счисления в десятичную

getrandmax
hypot
Математические функции
PHP Manual

hexdec

(PHP 4, PHP 5)

hexdec — Переводит число из шестнадцатиричной системы счисления в десятичную

Описание

number hexdec ( string $hex_string )

Возвращает десятичный эквивалент шестнадцатеричного числа, содержащегося в аргументе hex_string. hexdec() преобразует шестнадцатеричную строку в десятичное число.

hexdec() игнорирует любые обнаруженные не-шестнадцатеричные символы.

Список параметров

hex_string

Шестнадцатеричная строка для преобразования

Возвращаемые значения

Десятичное представление hex_string

Список изменений

Версия | Описание
С 4.1.0 | Теперь функция может преобразовывать числа, слишком большие для того, чтобы вместиться в тип integer для имеющейся платформы. В этом случае значения возвращаются как тип float.

Примеры

Пример #1 Пример использования hexdec()

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// в обоих случаех будет выведено "int(238)"

var_dump(hexdec("that")); // выведет "int(10)"
var_dump(hexdec("a0")); // выведет "int(160)"
?>

Смотрите также

  • dechex() - Переводит число из десятичной системы счисления в шестнадцатиричную
  • bindec() - Двоичное в десятичное
  • octdec() - Переводит число из восьмеричной системы счисления в десятичную
  • base_convert() - Преобразование числа между произвольными системами счисления

getrandmax
hypot
Математические функции


Рассчитывает длину гипотенузы прямоугольного треугольника

hexdec
is_finite
Математические функции
PHP Manual

hypot

(PHP 4 >= 4.1.0, PHP 5)

hypot — Рассчитывает длину гипотенузы прямоугольного треугольника

Описание

float hypot ( float $x , float $y )

hypot() возвращает длину гипотенузы прямоугольного треугольника с длинами сторон x и y, или расстояние точки (x, y) до начала координат Эквивалентно sqrt(x*x + y*y).

Список параметров

x

Длина первой стороны

y

Длина второй стороны

Возвращаемые значения

Вычисленная длина гипотенузы

hexdec
is_finite
Математические функции


Проверяет, является ли значение допустимым конечным числом

hypot
is_infinite
Математические функции
PHP Manual

is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite — Проверяет, является ли значение допустимым конечным числом

Описание

bool is_finite ( float $val )

Проверяет, является ли val допустимым конечным числом на данной платформе.

Список параметров

val

Проверяемое значение

Возвращаемые значения

TRUE, если val является допустимым конечным числом в разрешенном для PHP float диапазоне для данной платформы, и FALSE в противном случае.

Смотрите также

  • is_infinite() - Проверяет, является ли значение бесконечным
  • is_nan() - Проверяет, является ли значение "не числом"

hypot
is_infinite
Математические функции


Проверяет, является ли значение бесконечным

is_finite
is_nan
Математические функции
PHP Manual

is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite — Проверяет, является ли значение бесконечным

Описание

bool is_infinite ( float $val )

Возвращает TRUE, если val является бесконечностью (положительной или отрицательной), например, как результат вычисления log(0) или любые другие значения, слишком большие, чтобы уместиться в float на данной платформе.

Список параметров

val

Проверяемое значение

Возвращаемые значения

TRUE если val является бесконечным, и FALSE в противном случае.

Смотрите также

  • is_finite() - Проверяет, является ли значение допустимым конечным числом
  • is_nan() - Проверяет, является ли значение "не числом"

is_finite
is_nan
Математические функции


Проверяет, является ли значение "не числом"

is_infinite
lcg_value
Математические функции
PHP Manual

is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan — Проверяет, является ли значение "не числом"

Описание

bool is_nan ( float $val )

Проверяет, является ли val "не числом" (NaN), например, как результат выполнения функции acos(1.01).

Список параметров

val

Проверяемое значение

Возвращаемые значения

Возвращает TRUE, если val имеет значение "не число" (NaN), и FALSE в противном случае.

Примеры

Пример #1 Пример использования is_nan()

<?php
// Недопустимое вычисление, возвращает
// значение "не число" (NaN)
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

Результат выполнения данного примера:

float(NAN)
bool(true)

Смотрите также

  • is_finite() - Проверяет, является ли значение допустимым конечным числом
  • is_infinite() - Проверяет, является ли значение бесконечным

is_infinite
lcg_value
Математические функции


Комбинированный линейно конгруэнтный генератор

is_nan
log10
Математические функции
PHP Manual

lcg_value

(PHP 4, PHP 5)

lcg_value — Комбинированный линейно конгруэнтный генератор

Описание

float lcg_value ( void )

lcg_value() возвращает псевдослучайное значение в диапазоне(0, 1). Функция комбинирует два КГ с периодами 2^31 - 85 и 2^31 - 249. Период этой функции равен произведению базовых.

Возвращаемые значения

Псевдослучайное число с плавающей точкой в диапазоне (0, 1)

Смотрите также

  • rand() - Генерирует случайное число
  • mt_rand() - Генерирует случайное значение методом mt

is_nan
log10
Математические функции


Десятичный логарифм

lcg_value
log1p
Математические функции
PHP Manual

log10

(PHP 4, PHP 5)

log10 — Десятичный логарифм

Описание

float log10 ( float $arg )

Возвращает десятичный логарифм arg.

Список параметров

arg

Входное значение

Возвращаемые значения

Десятичный логарифм arg

Смотрите также

  • log() - Натуральный логарифм

lcg_value
log1p
Математические функции


Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю

log10
log
Математические функции
PHP Manual

log1p

(PHP 4 >= 4.1.0, PHP 5)

log1p — Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю

Описание

float log1p ( float $number )

log1p() возвращает log(1 + number), рассчитанное таким образом, что результат точен, даже когда значение number близко к нулю. Из-за недостатка точности log() в этом случае может вернуть просто log(1).

Список параметров

number

Входное значение

Возвращаемые значения

log(1 + number)

Список изменений

Версия | Описание
5.3.0 | Теперь функция доступна на всех платформах

Смотрите также

  • expm1() - Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.
  • log() - Натуральный логарифм
  • log10() - Десятичный логарифм

log10
log
Математические функции


Натуральный логарифм

log1p
max
Математические функции
PHP Manual

log

(PHP 4, PHP 5)

log — Натуральный логарифм

Описание

float log ( float $arg [, float $base = M_E ] )

Если указан необязательный параметр base, log() возвращает logbase от arg, иначе log() возвращает натуральный логарифм числа arg.

Список параметров

arg

Число, для которого необходимо вычислить логарифм

base

Необязательное основание логарифма (по умолчанию основание 'e', что соответсвует натуральному логарифму).

Возвращаемые значения

Логарифм числа arg по основанию base, если указано, или натуральный логарифм.

Список изменений

Версия | Описание
С 4.3.0 | Стал доступен необязательный параметр base. В более ранних версиях логарифм по основанию b числа nможно вычислить, используя математическое тождество: logb(n) = log(n)/log(b), где log - натуральный логарифм.

Смотрите также

  • log10() - Десятичный логарифм
  • exp() - Вычисляет число e в степени
  • pow() - Возведение в степень

log1p
max
Математические функции


Возвращает наибольшее значение

log
min
Математические функции
PHP Manual

max

(PHP 4, PHP 5)

max — Возвращает наибольшее значение

Описание

mixed max ( array $values )
mixed max ( mixed $value1 , mixed $value2 [, mixed $value3... ] )

Если в качестве единственного аргумента передан массив, max() вернет значение наибольшее значение из этого массива. Если передано 2 или более аргумента, функция max() вернет наибольший из них.

Замечание:

PHP выразит данные типа string, которые не удалось преобразовать в число как 0 при приведении к типу integer, но вернет строку в случае если она имеет численно более высокое значение. Если несколько аргументов эквивалентны 0, функция max() вернет 0 при численном сравнении, иначе наибольшую строку при сравненииe в смысле строк.

Список параметров

values

Массив с данными.

Возвращаемые значения

max() вернет значение наибольшего из элементов массива. Если несколько параметров имеют одинаковое значение - будет возвращено значение того, который был указан первым.

Если функции max() передано несколько аргументов типа array, будет возвращен массив, в котором большее количество элементов. Если несколько массивов имеют одинаковое количество элементов, то они будут сравниваться поэлементо, слева направо.

При передаче аргумента типа string при сравнении он будет представлен как integer.

Примеры

Пример #1 Пример использования max()

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

// 'hello' будет представлено как числое значение значение 0.
// Оба параметра имеют одинаковое значение, поэтому результат
// определяется порядком, в котором параметры переданы
echo max(0, 'hello');     // 0
echo max('hello', 0);     // hello

echo max('42', 3); // '42'

// В данном случае 0 больше, чем -1, поэтому результат равен 'hello'.
echo max(-1, 'hello');    // hello

// При сравнении массивов, разной длины - max вернет более длинный
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// При сравнении массивов одинаковой длины - max будет сравнивать их поэлементно
// слева направо, в данном примере 2 == 2, но 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// Если передан массив и не массив, в результате всегда будет возвращен массив
$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)
?>

Смотрите также

  • min() - Находит наименьшее значение
  • count() - Подсчитывает количество элементов массива или что-то в объекте

log
min
Математические функции


Находит наименьшее значение

max
mt_getrandmax
Математические функции
PHP Manual

min

(PHP 4, PHP 5)

min — Находит наименьшее значение

Описание

mixed min ( array $values )
mixed min ( mixed $value1 , mixed $value2 [, mixed $value3... ] )

Если в качестве аргументов передан только один - массив чисел, min() возвращает наименьшее из них. Если первый аргумент - integer или float, то обязательно должен быть хотя бы ещё один. В этом случае функция вернёт наименьшее из них.

Замечание:

PHP считает строку, которую не удалось преобразовать в число, как 0, при сравнении с целыми числами, функция min() вернет строку, в случае, если все остальные числа больше 0. Если указано несколько элементов, эквивалентных 0, функция min() вернет наименьший из них в алфавитном порядке, если это строки, если нет то вернет 0.

Список параметров

values

Массив содержащий значения.

Возвращаемые значения

Функция min() возвращает наименьшее числовое значение из значений параметра.

Примеры

Пример #1 Пример использования min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

echo min(0, 'hello');     // 0
echo min('hello', 0);     // hello
echo min('hello', -1);    // -1

// При указании нескольких массивов, они сравниваются полностью
// в нашем примере: 2 == 2, но 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// При указании массива и не массива,
// первый никогда не возвращается, т.к. считается самым большим
$val = min('string', array(2, 5, 7), 42);   // string
?>

Смотрите также

  • max() - Возвращает наибольшее значение
  • count() - Подсчитывает количество элементов массива или что-то в объекте

max
mt_getrandmax
Математические функции


Показывает максимально возможное значение случайного числа

min
mt_rand
Математические функции
PHP Manual

mt_getrandmax

(PHP 4, PHP 5)

mt_getrandmax — Показывает максимально возможное значение случайного числа

Описание

int mt_getrandmax ( void )

Возвращает максимальное значение, которое может быть получено при вызове mt_rand().

Возвращаемые значения

Возвращает максимальное случайное значение, возвращаемое mt_rand()

Примеры

Пример #1 Вычисление случайного числа с плавающей точкой

<?php
function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));
?>

Результатом выполнения данного примера будет что-то подобное:

float(0.91601131712832)
float(16.511210331931)

Смотрите также

  • mt_rand() - Генерирует случайное значение методом mt
  • mt_srand() - Переинициализирует генератор случайных чисел mt
  • getrandmax() - Вовзращает максимально возможное случайное число

min
mt_rand
Математические функции


Генерирует случайное значение методом mt

mt_getrandmax
mt_srand
Математические функции
PHP Manual

mt_rand

(PHP 4, PHP 5)

mt_rand — Генерирует случайное значение методом mt

Описание

int mt_rand ( void )
int mt_rand ( int $min , int $max )

Многие генераторы случайных чисел в старых библиотеках имеют сомнительные или неизвестные характеристики, а также работают довольно медленно. По умолчанию, PHP использует генератор случайных чисел libc с помощью функции rand(). Функция mt_rand() представляет собой удобную замену этой функции. Она использует генератор случайных чисел с известными характеристиками, основанный на "» Вихре Мерсенна", который генерирует случайные числа в среднем в четыре раза быстрее, чем libc rand().

Вызванная без необязательных параметров min и max, функция mt_rand() возвращает псевдослучайное значение между 0 и mt_getrandmax(). Если вам нужно, например, случайное число между 5 и 15 (включительно), используйте вызов mt_rand(5,15)

Список параметров

min

Необязательный параметр: минимальное значение случайного числа (по умолчанию: 0)

max

Необязательный параметр: максимальное значение случайного числа (по умолчанию: mt_getrandmax())

Возвращаемые значения

Случайное целое значение между min (или 0) и max (или mt_getrandmax(), включительно)

Список изменений

Версия | Описание
4.2.0 | Генератор случайных чисел инициализируется автоматически.

Примеры

Пример #1 Пример использования mt_rand()

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

Результатом выполнения данного примера будет что-то подобное:

1604716014
1478613278
6

Примечания

Предостережение

Распределение значений, возвращаемых mt_rand(), отдает предпочтение четным числам на 64-битных сборках PHP, если параметр max больше 2^32.

Смотрите также

  • mt_srand() - Переинициализирует генератор случайных чисел mt
  • mt_getrandmax() - Показывает максимально возможное значение случайного числа
  • rand() - Генерирует случайное число

mt_getrandmax
mt_srand
Математические функции


Переинициализирует генератор случайных чисел mt

mt_rand
octdec
Математические функции
PHP Manual

mt_srand

(PHP 4, PHP 5)

mt_srand — Переинициализирует генератор случайных чисел mt

Описание

void mt_srand ([ int $seed ] )

Переинициализирует генератор случайных чисел параметром seed или случайным числом, если seed не указан.

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Список параметров

seed

Необязательное значение параметра переинициализации

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
С 4.2.0 | Параметр seed стал необязательным и по умолчанию равен случайному числу.
Since 5.2.1 | Реализация Mersenne Twister в PHP теперь использует новый алгоритм переинициализации, разработанный Richard Wagner. Одинаковые параметры более не порождают одинаковую последовательность значений, как в ранних версиях. Это поведение более не планируется изменять, но тем не менее полагаться на это небезопасно.

Примеры

Пример #1 Пример использования mt_srand()

<?php
// инициализация текущими микросекундами
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Смотрите также

  • mt_rand() - Генерирует случайное значение методом mt
  • mt_getrandmax() - Показывает максимально возможное значение случайного числа
  • srand() - Изменяет начальное число генератора псевдослучайных чисел

mt_rand
octdec
Математические функции


Переводит число из восьмеричной системы счисления в десятичную

mt_srand
pi
Математические функции
PHP Manual

octdec

(PHP 4, PHP 5)

octdec — Переводит число из восьмеричной системы счисления в десятичную

Описание

number octdec ( string $octal_string )

Возвращает десятичный эквивалент восьмеричного числа, указанного в аргументе octal_string.

Список параметров

octal_string

Восьмеричная строка для преобразования

Возвращаемые значения

Десятичное представление octal_string

Список изменений

Версия | Описание
С 4.1.0 | Теперь функция может преобразовывать числа, слишком большие для того, чтобы вместиться в тип integer для имеющейся платформы. В этом случае значения возвращаются как тип float.

Примеры

Пример #1 Пример использования octdec()

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

Результат выполнения данного примера:

63
45

Смотрите также

  • decoct() - Переводит число из десятичной системы счисления в восьмеричную
  • bindec() - Двоичное в десятичное
  • hexdec() - Переводит число из шестнадцатиричной системы счисления в десятичную
  • base_convert() - Преобразование числа между произвольными системами счисления

mt_srand
pi
Математические функции


Возвращает число Пи

octdec
pow
Математические функции
PHP Manual

pi

(PHP 4, PHP 5)

pi — Возвращает число Пи

Описание

float pi ( void )

Возвращает приближённое значение числа Пи с точностью, определяемой директивой precision в php.ini, значение по умолчанию которой 14. Константа M_PI даёт идентичный результат.

Возвращаемые значения

Приближенное значение числа Пи, представленное как float.

Примеры

Пример #1 Пример использования pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

octdec
pow
Математические функции


Возведение в степень

pi
rad2deg
Математические функции
PHP Manual

pow

(PHP 4, PHP 5)

pow — Возведение в степень

Описание

number pow ( number $base , number $exp )

Возвращает base, возведенное в степень exp.

Список параметров

base

Основание

exp

Показатель степени

Возвращаемые значения

Основание base возведенное в степень exp. Если результат может быть представлен целым числом, то он будет возвращен с типом integer, иначе - с типом float.

Список изменений

Версия | Описание
4.2.0 | PHP не вызывает предупреждение, даже если значение не может быть вычислено.
4.0.6 | Если возможно, то функция возвращает результат как integer, ранее результат всегда возвращался как float. В ранних версиях , для комплексных чисел мог быть возвращен фиктивный результат.

Примеры

Пример #1 Примеры использования pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // PHP >4.0.6  NAN
echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>

Примечания

Замечание:

Функция преобразует все входные значения, даже не-скалярные, к числовым, что может привести к странным results.

Смотрите также

  • exp() - Вычисляет число e в степени
  • sqrt() - Квадратный корень
  • bcpow() - Raise an arbitrary precision number to another
  • gmp_pow() - Raise number into power

pi
rad2deg
Математические функции


Преобразует значение из радианов в градусы

pow
rand
Математические функции
PHP Manual

rad2deg

(PHP 4, PHP 5)

rad2deg — Преобразует значение из радианов в градусы

Описание

float rad2deg ( float $number )

Функция преобразует значение number из радианов в градусы.

Список параметров

number

Значение в радианах

Возвращаемые значения

Эквивалент number в градусах

Примеры

Пример #1 Пример использования rad2deg()

<?php

echo rad2deg(M_PI_4); // 45

?>

Смотрите также

  • deg2rad() - Преобразует значение из градусов в радианы

pow
rand
Математические функции


Генерирует случайное число

rad2deg
round
Математические функции
PHP Manual

rand

(PHP 4, PHP 5)

rand — Генерирует случайное число

Описание

int rand ( void )
int rand ( int $min , int $max )

При вызове без параметров min и max, возвращает псевдослучайное целое в диапазоне от 0 до getrandmax(). Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand(5, 15).

Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max, или обратитесь к функции mt_rand().

Список параметров

min

Наименьшее значение, которое может быть возвращено (по-умолчанию: 0)

max

Наибольшее значение, которое может быть возвращено (по-умолчанию: getrandmax())

Возвращаемые значения

Псевдослучайное значение в диапазоне от min (или 0) до max (или getrandmax()).

Список изменений

Версия | Описание
4.2.0 | Генератор случайных чисел инициализируется автоматически.

Примеры

Пример #1 Пример использования rand()

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

Результатом выполнения данного примера будет что-то подобное:

7771
22264
11

Смотрите также

  • srand() - Изменяет начальное число генератора псевдослучайных чисел
  • getrandmax() - Вовзращает максимально возможное случайное число
  • mt_rand() - Генерирует случайное значение методом mt

rad2deg
round
Математические функции


Округляет число типа float

rand
sin
Математические функции
PHP Manual

round

(PHP 4, PHP 5)

round — Округляет число типа float

Описание

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Возвращает округлённое значение val с указанной точностью precision (количество цифр после запятой). Последняя может быть отрицательной или нулём (по умолчанию).

Замечание: PHP по умолчанию не может правильно обрабатывать строки типа "12,300.2". Для подробностей см. Преобразование строк в числа.

Список параметров

val

Значение для округления

precision

Количество десятичных знаков, до которых округлять

mode

Одно из значений PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN или PHP_ROUND_HALF_ODD.

Возвращаемые значения

Округленное значение

Примеры

Пример #1 Пример использования round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Пример #2 Примеры использования пареметра mode

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>

Список изменений

Версия | Описание
5.3.0 | Был добавлен параметр mode.
5.2.7 | Работа функции round() была изменена в соответствии со стандартом C99.

Смотрите также

  • ceil() - Округляет дробь в большую сторону
  • floor() - Округляет дробь в меньшую сторону
  • number_format() - Форматирует число с разделением групп

rand
sin
Математические функции


Синус

round
sinh
Математические функции
PHP Manual

sin

(PHP 4, PHP 5)

sin — Синус

Описание

float sin ( float $arg )

sin() возвращает синус параметра arg . Параметр arg задаётся в радианах.

Список параметров

arg

Значение в радианах

Возвращаемые значения

Синус угла arg

Примеры

Пример #1 Пример использования sin()

<?php

// Точность зависит от ваших настроек точности
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Смотрите также

  • asin() - Арксинус
  • sinh() - Гиперболический синус
  • cos() - Косинус
  • tan() - Тангенс
  • deg2rad() - Преобразует значение из градусов в радианы

round
sinh
Математические функции


Гиперболический синус

sin
sqrt
Математические функции
PHP Manual

sinh

(PHP 4 >= 4.1.0, PHP 5)

sinh — Гиперболический синус

Описание

float sinh ( float $arg )

Возвращает гиперболический синус arg, определяемый как (exp(arg) - exp(-arg))/2.

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический синус arg

Смотрите также

  • sin() - Синус
  • asinh() - Гиперболический арксинус
  • cosh() - Гиперболический косинус
  • tanh() - Гиперболический тангенс

sin
sqrt
Математические функции


Квадратный корень

sinh
srand
Математические функции
PHP Manual

sqrt

(PHP 4, PHP 5)

sqrt — Квадратный корень

Описание

float sqrt ( float $arg )

Возвращает квадратный корень из arg.

Список параметров

arg

Аргумент для вычисления

Возвращаемые значения

Квадратный корень из arg или специальное значение NAN для отрицательных чисел.

Примеры

Пример #1 Пример использованияsqrt()

<?php
// Точность зависит от ваших настроек точности
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Смотрите также

  • pow() - Возведение в степень

sinh
srand
Математические функции


Изменяет начальное число генератора псевдослучайных чисел

sqrt
tan
Математические функции
PHP Manual

srand

(PHP 4, PHP 5)

srand — Изменяет начальное число генератора псевдослучайных чисел

Описание

void srand ([ int $seed ] )

Устанавливает начальное число генератора случайных чисел в seed или случайное число, если seed не указан.

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Список параметров

seed

Начальное значение генератора

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
Since 4.2.0 | Параметр seed не обязателен и по умолчанию это случайное значение.

Примеры

Пример #1 Пример использования srand()

<?php
// рандомизировать микросекундами
function make_seed()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$randval = rand();
?>

Смотрите также

  • rand() - Генерирует случайное число
  • getrandmax() - Вовзращает максимально возможное случайное число
  • mt_srand() - Переинициализирует генератор случайных чисел mt

sqrt
tan
Математические функции


Тангенс

srand
tanh
Математические функции
PHP Manual

tan

(PHP 4, PHP 5)

tan — Тангенс

Описание

float tan ( float $arg )

tan() возвращает тангенс параметра arg. Параметр arg задаётся в радианах.

Список параметров

arg

Значение в радианах

Возвращаемые значения

Тангенс угла arg

Примеры

Пример #1 Пример использования tan()

<?php

echo tan(M_PI_4); // 1

?>

Смотрите также

  • atan() - Арктангенс
  • atan2() - Арктангенс двух переменных
  • sin() - Синус
  • cos() - Косинус
  • tanh() - Гиперболический тангенс
  • deg2rad() - Преобразует значение из градусов в радианы

srand
tanh
Математические функции


Гиперболический тангенс

tan
Statistics
Математические функции
PHP Manual

tanh

(PHP 4 >= 4.1.0, PHP 5)

tanh — Гиперболический тангенс

Описание

float tanh ( float $arg )

Возвращает гиперболический тангенс arg, определяемый как sinh(arg)/cosh(arg).

Список параметров

arg

Входное значение

Возвращаемые значения

Гиперболический тангенс arg

Смотрите также

  • tan() - Тангенс
  • atanh() - Гиперболический арктангенс
  • sinh() - Гиперболический синус
  • cosh() - Гиперболический косинус

tan
Statistics
Математические функции


Statistics

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Statistic Функции
    • stats_absolute_deviation — Returns the absolute deviation of an array of values
    • stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
    • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.
    • stats_cdf_cauchy — Not documented
    • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.
    • stats_cdf_exponential — Not documented
    • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.
    • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.
    • stats_cdf_laplace — Not documented
    • stats_cdf_logistic — Not documented
    • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.
    • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.
    • stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.
    • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.
    • stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.
    • stats_cdf_uniform — Not documented
    • stats_cdf_weibull — Not documented
    • stats_covariance — Computes the covariance of two data sets
    • stats_den_uniform — Not documented
    • stats_dens_beta — Not documented
    • stats_dens_cauchy — Not documented
    • stats_dens_chisquare — Not documented
    • stats_dens_exponential — Not documented
    • stats_dens_f — Описание
    • stats_dens_gamma — Not documented
    • stats_dens_laplace — Not documented
    • stats_dens_logistic — Not documented
    • stats_dens_negative_binomial — Not documented
    • stats_dens_normal — Not documented
    • stats_dens_pmf_binomial — Not documented
    • stats_dens_pmf_hypergeometric — Описание
    • stats_dens_pmf_poisson — Not documented
    • stats_dens_t — Not documented
    • stats_dens_weibull — Not documented
    • stats_harmonic_mean — Returns the harmonic mean of an array of values
    • stats_kurtosis — Computes the kurtosis of the data in the array
    • stats_rand_gen_beta — Generates beta random deviate
    • stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
    • stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"
    • stats_rand_gen_f — Generates a random deviate
    • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma — Generates random deviates from a gamma distribution
    • stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
    • stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
    • stats_rand_gen_int — Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
    • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
    • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
    • stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution
    • stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
    • stats_rand_gen_t — Generates a single random deviate from a T distribution
    • stats_rand_get_seeds — Not documented
    • stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator
    • stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
    • stats_rand_setall — Not documented
    • stats_skew — Computes the skewness of the data in the array
    • stats_standard_deviation — Returns the standard deviation
    • stats_stat_binomial_coef — Not documented
    • stats_stat_correlation — Not documented
    • stats_stat_gennch — Not documented
    • stats_stat_independent_t — Not documented
    • stats_stat_innerproduct — Описание
    • stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.
    • stats_stat_paired_t — Not documented
    • stats_stat_percentile — Not documented
    • stats_stat_powersum — Not documented
    • stats_variance — Returns the population variance
tanh
Введение
Математические расширения


Введение

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.

Statistics
Установка и настройка
Statistics


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Statistics


Требования

No external libraries are needed. The extension comes bundled with the libraries used.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/stats.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Statistic Функции
Statistics


Statistic Функции

Содержание

  • stats_absolute_deviation — Returns the absolute deviation of an array of values
  • stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
  • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.
  • stats_cdf_cauchy — Not documented
  • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.
  • stats_cdf_exponential — Not documented
  • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.
  • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.
  • stats_cdf_laplace — Not documented
  • stats_cdf_logistic — Not documented
  • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.
  • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.
  • stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.
  • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.
  • stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.
  • stats_cdf_uniform — Not documented
  • stats_cdf_weibull — Not documented
  • stats_covariance — Computes the covariance of two data sets
  • stats_den_uniform — Not documented
  • stats_dens_beta — Not documented
  • stats_dens_cauchy — Not documented
  • stats_dens_chisquare — Not documented
  • stats_dens_exponential — Not documented
  • stats_dens_f — Описание
  • stats_dens_gamma — Not documented
  • stats_dens_laplace — Not documented
  • stats_dens_logistic — Not documented
  • stats_dens_negative_binomial — Not documented
  • stats_dens_normal — Not documented
  • stats_dens_pmf_binomial — Not documented
  • stats_dens_pmf_hypergeometric — Описание
  • stats_dens_pmf_poisson — Not documented
  • stats_dens_t — Not documented
  • stats_dens_weibull — Not documented
  • stats_harmonic_mean — Returns the harmonic mean of an array of values
  • stats_kurtosis — Computes the kurtosis of the data in the array
  • stats_rand_gen_beta — Generates beta random deviate
  • stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
  • stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"
  • stats_rand_gen_f — Generates a random deviate
  • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
  • stats_rand_gen_gamma — Generates random deviates from a gamma distribution
  • stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
  • stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
  • stats_rand_gen_int — Generates random integer between 1 and 2147483562
  • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
  • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  • stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
  • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
  • stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution
  • stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
  • stats_rand_gen_t — Generates a single random deviate from a T distribution
  • stats_rand_get_seeds — Not documented
  • stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator
  • stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
  • stats_rand_setall — Not documented
  • stats_skew — Computes the skewness of the data in the array
  • stats_standard_deviation — Returns the standard deviation
  • stats_stat_binomial_coef — Not documented
  • stats_stat_correlation — Not documented
  • stats_stat_gennch — Not documented
  • stats_stat_independent_t — Not documented
  • stats_stat_innerproduct — Описание
  • stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.
  • stats_stat_paired_t — Not documented
  • stats_stat_percentile — Not documented
  • stats_stat_powersum — Not documented
  • stats_variance — Returns the population variance
Предопределенные константы
stats_absolute_deviation
Statistics


Returns the absolute deviation of an array of values

Statistic Функции
stats_cdf_beta
Statistic Функции
PHP Manual

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Returns the absolute deviation of an array of values

Описание

float stats_absolute_deviation ( array $a )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

Возвращаемые значения

Statistic Функции
stats_cdf_beta
Statistic Функции


CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

stats_absolute_deviation
stats_cdf_binomial
Statistic Функции
PHP Manual

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

Описание

float stats_cdf_beta ( float $par1 , float $par2 , float $par3 , int $which )

Method Cumulative distribution function (P) is calculated directly by code associated with the following reference. DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373. Computation of other parameters involve a search for a value that produces the desired value of P. The search relies on the monotonicity of P with the other parameter. Note The beta density is proportional to t^(A-1) * (1-t)^(B-1) Arguments P -- The integral from 0 to X of the chi-square distribution. Input range: [0, 1]. Q -- 1-P. Input range: [0, 1]. P + Q = 1.0. X -- Upper limit of integration of beta density. Input range: [0,1]. Search range: [0,1] Y -- 1-X. Input range: [0,1]. Search range: [0,1] X + Y = 1.0. A -- The first parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] B -- The second parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1 BOUND -- Undefined if STATUS is 0 Bound exceeded by parameter number I if STATUS is negative. Lower search bound if STATUS is 1. Upper search bound if STATUS is 2.

Список параметров

par1

par2

par3

which

Integer indicating which of the next four argument values is to be calculated from the others. Legal range: 1..4 which = 1 : Calculate P and Q from X,Y,A and B which = 2 : Calculate X and Y from P,Q,A and B which = 3 : Calculate A from P,Q,X,Y and B which = 4 : Calculate B from P,Q,X,Y and A

Возвращаемые значения

STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1

stats_absolute_deviation
stats_cdf_binomial
Statistic Функции


Calculates any one parameter of the binomial distribution given values for the others.

stats_cdf_beta
stats_cdf_cauchy
Statistic Функции
PHP Manual

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.

Описание

float stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_beta
stats_cdf_cauchy
Statistic Функции


Not documented

stats_cdf_binomial
stats_cdf_chisquare
Statistic Функции
PHP Manual

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — Not documented

Описание

float stats_cdf_cauchy ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_binomial
stats_cdf_chisquare
Statistic Функции


Calculates any one parameter of the chi-square distribution given values for the others.

stats_cdf_cauchy
stats_cdf_exponential
Statistic Функции
PHP Manual

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.

Описание

float stats_cdf_chisquare ( float $par1 , float $par2 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

which

Возвращаемые значения

stats_cdf_cauchy
stats_cdf_exponential
Statistic Функции


Not documented

stats_cdf_chisquare
stats_cdf_f
Statistic Функции
PHP Manual

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — Not documented

Описание

float stats_cdf_exponential ( float $par1 , float $par2 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

which

Возвращаемые значения

stats_cdf_chisquare
stats_cdf_f
Statistic Функции


Calculates any one parameter of the F distribution given values for the others.

stats_cdf_exponential
stats_cdf_gamma
Statistic Функции
PHP Manual

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.

Описание

float stats_cdf_f ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_exponential
stats_cdf_gamma
Statistic Функции


Calculates any one parameter of the gamma distribution given values for the others.

stats_cdf_f
stats_cdf_laplace
Statistic Функции
PHP Manual

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.

Описание

float stats_cdf_gamma ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_f
stats_cdf_laplace
Statistic Функции


Not documented

stats_cdf_gamma
stats_cdf_logistic
Statistic Функции
PHP Manual

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — Not documented

Описание

float stats_cdf_laplace ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_gamma
stats_cdf_logistic
Statistic Функции


Not documented

stats_cdf_laplace
stats_cdf_negative_binomial
Statistic Функции
PHP Manual

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — Not documented

Описание

float stats_cdf_logistic ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_laplace
stats_cdf_negative_binomial
Statistic Функции


Calculates any one parameter of the negative binomial distribution given values for the others.

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Statistic Функции
PHP Manual

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.

Описание

float stats_cdf_negative_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Statistic Функции


Calculates any one parameter of the non-central chi-square distribution given values for the others.

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Statistic Функции
PHP Manual

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.

Описание

float stats_cdf_noncentral_chisquare ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Statistic Функции


Calculates any one parameter of the Non-central F distribution given values for the others.

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Statistic Функции
PHP Manual

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.

Описание

float stats_cdf_noncentral_f ( float $par1 , float $par2 , float $par3 , float $par4 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

par4

which

Возвращаемые значения

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Statistic Функции


Calculates any one parameter of the Poisson distribution given values for the others.

stats_cdf_noncentral_f
stats_cdf_t
Statistic Функции
PHP Manual

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.

Описание

float stats_cdf_poisson ( float $par1 , float $par2 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

which

Возвращаемые значения

stats_cdf_noncentral_f
stats_cdf_t
Statistic Функции


Calculates any one parameter of the T distribution given values for the others.

stats_cdf_poisson
stats_cdf_uniform
Statistic Функции
PHP Manual

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.

Описание

float stats_cdf_t ( float $par1 , float $par2 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

which

Возвращаемые значения

stats_cdf_poisson
stats_cdf_uniform
Statistic Функции


Not documented

stats_cdf_t
stats_cdf_weibull
Statistic Функции
PHP Manual

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — Not documented

Описание

float stats_cdf_uniform ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_t
stats_cdf_weibull
Statistic Функции


Not documented

stats_cdf_uniform
stats_covariance
Statistic Функции
PHP Manual

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — Not documented

Описание

float stats_cdf_weibull ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_cdf_uniform
stats_covariance
Statistic Функции


Computes the covariance of two data sets

stats_cdf_weibull
stats_den_uniform
Statistic Функции
PHP Manual

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Computes the covariance of two data sets

Описание

float stats_covariance ( array $a , array $b )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

b

Возвращаемые значения

stats_cdf_weibull
stats_den_uniform
Statistic Функции


Not documented

stats_covariance
stats_dens_beta
Statistic Функции
PHP Manual

stats_den_uniform

(PECL stats >= 1.0.0)

stats_den_uniform — Not documented

Описание

float stats_den_uniform ( float $x , float $a , float $b )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

a

b

Возвращаемые значения

stats_covariance
stats_dens_beta
Statistic Функции


Not documented

stats_den_uniform
stats_dens_cauchy
Statistic Функции
PHP Manual

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — Not documented

Описание

float stats_dens_beta ( float $x , float $a , float $b )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

a

b

Возвращаемые значения

stats_den_uniform
stats_dens_cauchy
Statistic Функции


Not documented

stats_dens_beta
stats_dens_chisquare
Statistic Функции
PHP Manual

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — Not documented

Описание

float stats_dens_cauchy ( float $x , float $ave , float $stdev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

ave

stdev

Возвращаемые значения

stats_dens_beta
stats_dens_chisquare
Statistic Функции


Not documented

stats_dens_cauchy
stats_dens_exponential
Statistic Функции
PHP Manual

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — Not documented

Описание

float stats_dens_chisquare ( float $x , float $dfr )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

dfr

Возвращаемые значения

stats_dens_cauchy
stats_dens_exponential
Statistic Функции


Not documented

stats_dens_chisquare
stats_dens_f
Statistic Функции
PHP Manual

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — Not documented

Описание

float stats_dens_exponential ( float $x , float $scale )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

scale

Возвращаемые значения

stats_dens_chisquare
stats_dens_f
Statistic Функции


stats_dens_exponential
stats_dens_gamma
Statistic Функции
PHP Manual

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f —

Описание

float stats_dens_f ( float $x , float $dfr1 , float $dfr2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

dfr1

dfr2

Возвращаемые значения

stats_dens_exponential
stats_dens_gamma
Statistic Функции


Not documented

stats_dens_f
stats_dens_laplace
Statistic Функции
PHP Manual

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — Not documented

Описание

float stats_dens_gamma ( float $x , float $shape , float $scale )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

shape

scale

Возвращаемые значения

stats_dens_f
stats_dens_laplace
Statistic Функции


Not documented

stats_dens_gamma
stats_dens_logistic
Statistic Функции
PHP Manual

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — Not documented

Описание

float stats_dens_laplace ( float $x , float $ave , float $stdev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

ave

stdev

Возвращаемые значения

stats_dens_gamma
stats_dens_logistic
Statistic Функции


Not documented

stats_dens_laplace
stats_dens_negative_binomial
Statistic Функции
PHP Manual

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — Not documented

Описание

float stats_dens_logistic ( float $x , float $ave , float $stdev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

ave

stdev

Возвращаемые значения

stats_dens_laplace
stats_dens_negative_binomial
Statistic Функции


Not documented

stats_dens_logistic
stats_dens_normal
Statistic Функции
PHP Manual

stats_dens_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_negative_binomial — Not documented

Описание

float stats_dens_negative_binomial ( float $x , float $n , float $pi )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

n

pi

Возвращаемые значения

stats_dens_logistic
stats_dens_normal
Statistic Функции


Not documented

stats_dens_negative_binomial
stats_dens_pmf_binomial
Statistic Функции
PHP Manual

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — Not documented

Описание

float stats_dens_normal ( float $x , float $ave , float $stdev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

ave

stdev

Возвращаемые значения

stats_dens_negative_binomial
stats_dens_pmf_binomial
Statistic Функции


Not documented

stats_dens_normal
stats_dens_pmf_hypergeometric
Statistic Функции
PHP Manual

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — Not documented

Описание

float stats_dens_pmf_binomial ( float $x , float $n , float $pi )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

n

pi

Возвращаемые значения

stats_dens_normal
stats_dens_pmf_hypergeometric
Statistic Функции


stats_dens_pmf_binomial
stats_dens_pmf_poisson
Statistic Функции
PHP Manual

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric —

Описание

float stats_dens_pmf_hypergeometric ( float $n1 , float $n2 , float $N1 , float $N2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

n1

n2

N1

N2

Возвращаемые значения

stats_dens_pmf_binomial
stats_dens_pmf_poisson
Statistic Функции


Not documented

stats_dens_pmf_hypergeometric
stats_dens_t
Statistic Функции
PHP Manual

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — Not documented

Описание

float stats_dens_pmf_poisson ( float $x , float $lb )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

lb

Возвращаемые значения

stats_dens_pmf_hypergeometric
stats_dens_t
Statistic Функции


Not documented

stats_dens_pmf_poisson
stats_dens_weibull
Statistic Функции
PHP Manual

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — Not documented

Описание

float stats_dens_t ( float $x , float $dfr )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

dfr

Возвращаемые значения

stats_dens_pmf_poisson
stats_dens_weibull
Statistic Функции


Not documented

stats_dens_t
stats_harmonic_mean
Statistic Функции
PHP Manual

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — Not documented

Описание

float stats_dens_weibull ( float $x , float $a , float $b )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

a

b

Возвращаемые значения

stats_dens_t
stats_harmonic_mean
Statistic Функции


Returns the harmonic mean of an array of values

stats_dens_weibull
stats_kurtosis
Statistic Функции
PHP Manual

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Returns the harmonic mean of an array of values

Описание

number stats_harmonic_mean ( array $a )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

Возвращаемые значения

stats_dens_weibull
stats_kurtosis
Statistic Функции


Computes the kurtosis of the data in the array

stats_harmonic_mean
stats_rand_gen_beta
Statistic Функции
PHP Manual

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Computes the kurtosis of the data in the array

Описание

float stats_kurtosis ( array $a )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

Возвращаемые значения

stats_harmonic_mean
stats_rand_gen_beta
Statistic Функции


Generates beta random deviate

stats_kurtosis
stats_rand_gen_chisquare
Statistic Функции
PHP Manual

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Generates beta random deviate

Описание

float stats_rand_gen_beta ( float $a , float $b )

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

Список параметров

a

b

Возвращаемые значения

stats_kurtosis
stats_rand_gen_chisquare
Statistic Функции


Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

stats_rand_gen_beta
stats_rand_gen_exponential
Statistic Функции
PHP Manual

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

Описание

float stats_rand_gen_chisquare ( float $df )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

df

Возвращаемые значения

stats_rand_gen_beta
stats_rand_gen_exponential
Statistic Функции


Generates a single random deviate from an exponential distribution with mean "av"

stats_rand_gen_chisquare
stats_rand_gen_f
Statistic Функции
PHP Manual

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"

Описание

float stats_rand_gen_exponential ( float $av )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

av

Возвращаемые значения

stats_rand_gen_chisquare
stats_rand_gen_f
Statistic Функции


Generates a random deviate

stats_rand_gen_exponential
stats_rand_gen_funiform
Statistic Функции
PHP Manual

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Generates a random deviate

Описание

float stats_rand_gen_f ( float $dfn , float $dfd )

Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates.

Список параметров

dfn

dfd

Возвращаемые значения

stats_rand_gen_exponential
stats_rand_gen_funiform
Statistic Функции


Generates uniform float between low (exclusive) and high (exclusive)

stats_rand_gen_f
stats_rand_gen_gamma
Statistic Функции
PHP Manual

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)

Описание

float stats_rand_gen_funiform ( float $low , float $high )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

low

high

Возвращаемые значения

stats_rand_gen_f
stats_rand_gen_gamma
Statistic Функции


Generates random deviates from a gamma distribution

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Statistic Функции
PHP Manual

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Generates random deviates from a gamma distribution

Описание

float stats_rand_gen_gamma ( float $a , float $r )

Generates random deviates from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Список параметров

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

Возвращаемые значения

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Statistic Функции


Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Statistic Функции
PHP Manual

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

Описание

int stats_rand_gen_ibinomial_negative ( int $n , float $p )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

n

p

Возвращаемые значения

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Statistic Функции


Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Statistic Функции
PHP Manual

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

Описание

int stats_rand_gen_ibinomial ( int $n , float $pp )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

n

pp

Возвращаемые значения

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Statistic Функции


Generates random integer between 1 and 2147483562

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Statistic Функции
PHP Manual

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Generates random integer between 1 and 2147483562

Описание

int stats_rand_gen_int ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Statistic Функции


Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

stats_rand_gen_int
stats_rand_gen_iuniform
Statistic Функции
PHP Manual

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

Описание

int stats_rand_gen_ipoisson ( float $mu )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

mu

Возвращаемые значения

stats_rand_gen_int
stats_rand_gen_iuniform
Statistic Функции


Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Statistic Функции
PHP Manual

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

Описание

int stats_rand_gen_iuniform ( int $low , int $high )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

low

high

Возвращаемые значения

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Statistic Функции


Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Statistic Функции
PHP Manual

stats_rand_gen_noncenral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

Описание

float stats_rand_gen_noncenral_chisquare ( float $df , float $xnonc )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

df

xnonc

Возвращаемые значения

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Statistic Функции


Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central 

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Statistic Функции
PHP Manual

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.

Описание

float stats_rand_gen_noncentral_f ( float $dfn , float $dfd , float $xnonc )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

dfn

dfd

xnonc

Возвращаемые значения

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Statistic Функции


Generates a single random deviate from a noncentral T distribution

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Statistic Функции
PHP Manual

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution

Описание

float stats_rand_gen_noncentral_t ( float $df , float $xnonc )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

df

xnonc

Возвращаемые значения

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Statistic Функции


Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

stats_rand_gen_noncentral_t
stats_rand_gen_t
Statistic Функции
PHP Manual

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

Описание

float stats_rand_gen_normal ( float $av , float $sd )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

av

sd

Возвращаемые значения

stats_rand_gen_noncentral_t
stats_rand_gen_t
Statistic Функции


Generates a single random deviate from a T distribution

stats_rand_gen_normal
stats_rand_get_seeds
Statistic Функции
PHP Manual

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Generates a single random deviate from a T distribution

Описание

float stats_rand_gen_t ( float $df )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

df

Возвращаемые значения

stats_rand_gen_normal
stats_rand_get_seeds
Statistic Функции


Not documented

stats_rand_gen_t
stats_rand_phrase_to_seeds
Statistic Функции
PHP Manual

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — Not documented

Описание

array stats_rand_get_seeds ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

stats_rand_gen_t
stats_rand_phrase_to_seeds
Statistic Функции


generate two seeds for the RGN random number generator

stats_rand_get_seeds
stats_rand_ranf
Statistic Функции
PHP Manual

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator

Описание

array stats_rand_phrase_to_seeds ( string $phrase )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

phrase

Возвращаемые значения

stats_rand_get_seeds
stats_rand_ranf
Statistic Функции


Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

stats_rand_phrase_to_seeds
stats_rand_setall
Statistic Функции
PHP Manual

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

Описание

float stats_rand_ranf ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

Возвращаемые значения

stats_rand_phrase_to_seeds
stats_rand_setall
Statistic Функции


Not documented

stats_rand_ranf
stats_skew
Statistic Функции
PHP Manual

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — Not documented

Описание

void stats_rand_setall ( int $iseed1 , int $iseed2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iseed1

iseed2

Возвращаемые значения

stats_rand_ranf
stats_skew
Statistic Функции


Computes the skewness of the data in the array

stats_rand_setall
stats_standard_deviation
Statistic Функции
PHP Manual

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Computes the skewness of the data in the array

Описание

float stats_skew ( array $a )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

Возвращаемые значения

stats_rand_setall
stats_standard_deviation
Statistic Функции


Returns the standard deviation

stats_skew
stats_stat_binomial_coef
Statistic Функции
PHP Manual

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Returns the standard deviation

Описание

float stats_standard_deviation ( array $a [, bool $sample = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

sample

Возвращаемые значения

stats_skew
stats_stat_binomial_coef
Statistic Функции


Not documented

stats_standard_deviation
stats_stat_correlation
Statistic Функции
PHP Manual

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — Not documented

Описание

float stats_stat_binomial_coef ( int $x , int $n )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

x

n

Возвращаемые значения

stats_standard_deviation
stats_stat_correlation
Statistic Функции


Not documented

stats_stat_binomial_coef
stats_stat_gennch
Statistic Функции
PHP Manual

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — Not documented

Описание

float stats_stat_correlation ( array $arr1 , array $arr2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arr1

arr2

Возвращаемые значения

stats_stat_binomial_coef
stats_stat_gennch
Statistic Функции


Not documented

stats_stat_correlation
stats_stat_independent_t
Statistic Функции
PHP Manual

stats_stat_gennch

(PECL stats >= 1.0.0)

stats_stat_gennch — Not documented

Описание

float stats_stat_gennch ( int $n )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

n

Возвращаемые значения

stats_stat_correlation
stats_stat_independent_t
Statistic Функции


Not documented

stats_stat_gennch
stats_stat_innerproduct
Statistic Функции
PHP Manual

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — Not documented

Описание

float stats_stat_independent_t ( array $arr1 , array $arr2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arr1

arr2

Возвращаемые значения

stats_stat_gennch
stats_stat_innerproduct
Statistic Функции


stats_stat_independent_t
stats_stat_noncentral_t
Statistic Функции
PHP Manual

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct —

Описание

float stats_stat_innerproduct ( array $arr1 , array $arr2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arr1

arr2

Возвращаемые значения

stats_stat_independent_t
stats_stat_noncentral_t
Statistic Функции


Calculates any one parameter of the noncentral t distribution give values for the others.

stats_stat_innerproduct
stats_stat_paired_t
Statistic Функции
PHP Manual

stats_stat_noncentral_t

(PECL stats >= 1.0.0)

stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.

Описание

float stats_stat_noncentral_t ( float $par1 , float $par2 , float $par3 , int $which )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

par1

par2

par3

which

Возвращаемые значения

stats_stat_innerproduct
stats_stat_paired_t
Statistic Функции


Not documented

stats_stat_noncentral_t
stats_stat_percentile
Statistic Функции
PHP Manual

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — Not documented

Описание

float stats_stat_paired_t ( array $arr1 , array $arr2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arr1

arr2

Возвращаемые значения

stats_stat_noncentral_t
stats_stat_percentile
Statistic Функции


Not documented

stats_stat_paired_t
stats_stat_powersum
Statistic Функции
PHP Manual

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — Not documented

Описание

float stats_stat_percentile ( float $df , float $xnonc )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

df

xnonc

Возвращаемые значения

stats_stat_paired_t
stats_stat_powersum
Statistic Функции


Not documented

stats_stat_percentile
stats_variance
Statistic Функции
PHP Manual

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — Not documented

Описание

float stats_stat_powersum ( array $arr , float $power )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arr

power

Возвращаемые значения

stats_stat_percentile
stats_variance
Statistic Функции


Returns the population variance

stats_stat_powersum
Генерация нетекстовых MIME форматов
Statistic Функции
PHP Manual

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Returns the population variance

Описание

float stats_variance ( array $a [, bool $sample = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

a

sample

Возвращаемые значения

stats_stat_powersum
Генерация нетекстовых MIME форматов
Statistic Функции


Генерация нетекстовых MIME форматов

  • FDF — Forms Data Format
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • FDF
  • GnuPG — GNU Privacy Guard
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • GnuPG Функции
  • haru — Haru PDF
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Builtin Fonts And Encodings
    • HaruException — The HaruException class
    • HaruDoc — The HaruDoc class
    • HaruPage — The HaruPage class
    • HaruFont — The HaruFont class
    • HaruImage — The HaruImage class
    • HaruEncoder — The HaruEncoder class
    • HaruOutline — The HaruOutline class
    • HaruAnnotation — The HaruAnnotation class
    • HaruDestination — The HaruDestination class
  • Ming — Ming (flash)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Ming Функции
    • SWFAction — The SWFAction class
    • SWFBitmap — The SWFBitmap class
    • SWFButton — The SWFButton class
    • SWFDisplayItem — The SWFDisplayItem class
    • SWFFill — The SWFFill class
    • SWFFont — The SWFFont class
    • SWFFontChar — The SWFFontChar class
    • SWFGradient — The SWFGradient class
    • SWFMorph — The SWFMorph class
    • SWFMovie — The SWFMovie class
    • SWFPrebuiltClip — The SWFPrebuiltClip class
    • SWFShape — The SWFShape class
    • SWFSound — The SWFSound class
    • SWFSoundInstance — The SWFSoundInstance class
    • SWFSprite — The SWFSprite class
    • SWFText — The SWFText class
    • SWFTextField — The SWFTextField class
    • SWFVideoStream — The SWFVideoStream class
  • PDF
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Функции PDF
  • PS — PostScript document creation
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • PS Функции
  • RPM Reader — RPM Header Reading
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • RPM Reader Функции
  • SWF — Shockwave Flash
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SWF Функции
stats_variance
FDF
Справочник функций


Forms Data Format

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • FDF
    • fdf_add_doc_javascript — Adds javascript code to the FDF document
    • fdf_add_template — Добавляет шаблон в FDF-документ
    • fdf_close — Закрывает FDF-документ
    • fdf_create — Create a new FDF document
    • fdf_enum_values — Call a user defined function for each document value
    • fdf_errno — Return error code for last fdf operation
    • fdf_error — Return error description for FDF error code
    • fdf_get_ap — Get the appearance of a field
    • fdf_get_attachment — Extracts uploaded file embedded in the FDF
    • fdf_get_encoding — Получает значение ключа /Encoding
    • fdf_get_file — Получает значение ключа /F
    • fdf_get_flags — Gets the flags of a field
    • fdf_get_opt — Gets a value from the opt array of a field
    • fdf_get_status — Получает значение ключа /STATUS
    • fdf_get_value — Get the value of a field
    • fdf_get_version — Gets version number for FDF API or file
    • fdf_header — Sets FDF-specific output headers
    • fdf_next_field_name — Get the next field name
    • fdf_open_string — Read a FDF document from a string
    • fdf_open — Open a FDF document
    • fdf_remove_item — Sets target frame for form
    • fdf_save_string — Returns the FDF document as a string
    • fdf_save — Save a FDF document
    • fdf_set_ap — Set the appearance of a field
    • fdf_set_encoding — Sets FDF character encoding
    • fdf_set_file — Set PDF document to display FDF data in
    • fdf_set_flags — Sets a flag of a field
    • fdf_set_javascript_action — Sets an javascript action of a field
    • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt — Sets an option of a field
    • fdf_set_status — Set the value of the /STATUS key
    • fdf_set_submit_form_action — Sets a submit form action of a field
    • fdf_set_target_frame — Set target frame for form display
    • fdf_set_value — Set the value of a field
    • fdf_set_version — Sets version number for a FDF file
Генерация нетекстовых MIME форматов
Введение
Генерация нетекстовых MIME форматов


Введение

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at » http://www.adobe.com/devnet/acrobat/fdftoolkit.html for more information on what FDF is and how it is used in general.

The general idea of FDF is similar to HTML forms. The difference is basically the format how data is transmitted to the server when the submit button is pressed (this is actually the Form Data Format) and the format of the form itself (which is the Portable Document Format, PDF). Processing the FDF data is one of the features provided by the fdf functions. But there is more. One may as well take an existing PDF form and populated the input fields with data without modifying the form itself. In such a case one would create a FDF document (fdf_create()) set the values of each input field (fdf_set_value()) and associate it with a PDF form (fdf_set_file()). Finally it has to be sent to the browser with MimeType application/vnd.fdf. The Acrobat reader plugin of your browser recognizes the MimeType, reads the associated PDF form and fills in the data from the FDF document.

If you look at an FDF-document with a text editor you will find a catalogue object with the name FDF. Such an object may contain a number of entries like Fields, F, Status etc.. The most commonly used entries are Fields which points to a list of input fields, and F which contains the filename of the PDF-document this data belongs to. Those entries are referred to in the FDF documentation as /F-Key or /Status-Key. Modifying this entries is done by functions like fdf_set_file() and fdf_set_status(). Fields are modified with fdf_set_value(), fdf_set_opt() etc..

FDF
Установка и настройка
FDF


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FDF


Требования

You need the FDF toolkit SDK available from » http://www.adobe.com/devnet/acrobat/fdftoolkit.html. As of PHP 4.3.0 you need at least SDK version 5.0. The FDF toolkit library is available in binary form only, platforms supported by Adobe are Win32, Linux, Solaris and AIX.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/fdf.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0

Замечание: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local .

Замечание: Note to Win32 Users

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: fdftk.dll

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Most fdf functions require a fdf resource as their first parameter. A fdf resource is a handle to an opened fdf file. fdf resources may be obtained using fdf_create(), fdf_open() and fdf_open_string().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FDFValue (integer)
FDFStatus (integer)
FDFFile (integer)
FDFID (integer)
FDFFf (integer)
FDFSetFf (integer)
FDFClearFf (integer)
FDFFlags (integer)
FDFSetF (integer)
FDFClrF (integer)
FDFAP (integer)
FDFAS (integer)
FDFAction (integer)
FDFAA (integer)
FDFAPRef (integer)
FDFIF (integer)
FDFEnter (integer)
FDFExit (integer)
FDFDown (integer)
FDFUp (integer)
FDFFormat (integer)
FDFValidate (integer)
FDFKeystroke (integer)
FDFCalculate (integer)
FDFNormalAP (integer)
FDFRolloverAP (integer)
FDFDownAP (integer)
Типы ресурсов
Примеры
FDF


Примеры

The following examples shows just the evaluation of form data.

Пример #1 Evaluating a FDF document

<?php
// Open fdf from input string provided by the extension
// The pdf form contained several input text fields with the names
// volume, date, comment, publisher, preparer, and two checkboxes
// show_publisher and show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo "The volume field has the value '<b>$volume</b>'<br />";

$date = fdf_get_value($fdf, "date");
echo "The date field has the value '<b>$date</b>'<br />";

$comment = fdf_get_value($fdf, "comment");
echo "The comment field has the value '<b>$comment</b>'<br />";

if (fdf_get_value($fdf, "show_publisher") == "On") {
  $publisher = fdf_get_value($fdf, "publisher");
  echo "The publisher field has the value '<b>$publisher</b>'<br />";
} else
  echo "Publisher shall not be shown.<br />";

if (fdf_get_value($fdf, "show_preparer") == "On") {
  $preparer = fdf_get_value($fdf, "preparer");
  echo "The preparer field has the value '<b>$preparer</b>'<br />";
} else
  echo "Preparer shall not be shown.<br />";
fdf_close($fdf);
?>

Предопределенные константы
FDF
FDF


FDF
PHP Manual

FDF

Содержание

  • fdf_add_doc_javascript — Adds javascript code to the FDF document
  • fdf_add_template — Добавляет шаблон в FDF-документ
  • fdf_close — Закрывает FDF-документ
  • fdf_create — Create a new FDF document
  • fdf_enum_values — Call a user defined function for each document value
  • fdf_errno — Return error code for last fdf operation
  • fdf_error — Return error description for FDF error code
  • fdf_get_ap — Get the appearance of a field
  • fdf_get_attachment — Extracts uploaded file embedded in the FDF
  • fdf_get_encoding — Получает значение ключа /Encoding
  • fdf_get_file — Получает значение ключа /F
  • fdf_get_flags — Gets the flags of a field
  • fdf_get_opt — Gets a value from the opt array of a field
  • fdf_get_status — Получает значение ключа /STATUS
  • fdf_get_value — Get the value of a field
  • fdf_get_version — Gets version number for FDF API or file
  • fdf_header — Sets FDF-specific output headers
  • fdf_next_field_name — Get the next field name
  • fdf_open_string — Read a FDF document from a string
  • fdf_open — Open a FDF document
  • fdf_remove_item — Sets target frame for form
  • fdf_save_string — Returns the FDF document as a string
  • fdf_save — Save a FDF document
  • fdf_set_ap — Set the appearance of a field
  • fdf_set_encoding — Sets FDF character encoding
  • fdf_set_file — Set PDF document to display FDF data in
  • fdf_set_flags — Sets a flag of a field
  • fdf_set_javascript_action — Sets an javascript action of a field
  • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
  • fdf_set_opt — Sets an option of a field
  • fdf_set_status — Set the value of the /STATUS key
  • fdf_set_submit_form_action — Sets a submit form action of a field
  • fdf_set_target_frame — Set target frame for form display
  • fdf_set_value — Set the value of a field
  • fdf_set_version — Sets version number for a FDF file
Примеры
fdf_add_doc_javascript
FDF
PHP Manual


Adds javascript code to the FDF document

FDF
fdf_add_template
FDF
PHP Manual

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_add_doc_javascript — Adds javascript code to the FDF document

Описание

bool fdf_add_doc_javascript ( resource $fdf_document , string $script_name , string $script_code )

Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the FDF is imported into it.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

script_name

The script name.

script_code

The script code. It is strongly suggested to use \r for linebreaks within the script code.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Adding JavaScript code to a FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

will create a FDF like this:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

FDF
fdf_add_template
FDF


Добавляет шаблон в FDF-документ

fdf_add_doc_javascript
fdf_close
FDF
PHP Manual

fdf_add_template

(PHP 4, PHP 5)

fdf_add_template — Добавляет шаблон в FDF-документ

Описание

bool fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_add_doc_javascript
fdf_close
FDF


Закрывает FDF-документ

fdf_add_template
fdf_create
FDF
PHP Manual

fdf_close

(PHP 4, PHP 5)

fdf_close — Закрывает FDF-документ

Описание

void fdf_close ( resource $fdf_document )

Закрывает FDF-документ.

Список параметров

fdf_document

Дескриптор FDF-документа, возвращенный функциями fdf_create(), fdf_open() или fdf_open_string().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • fdf_open() - Open a FDF document

fdf_add_template
fdf_create
FDF


Create a new FDF document

fdf_close
fdf_enum_values
FDF
PHP Manual

fdf_create

(PHP 4, PHP 5)

fdf_create — Create a new FDF document

Описание

resource fdf_create ( void )

Creates a new FDF document.

This function is needed if one would like to populate input fields in a PDF document with data.

Возвращаемые значения

Returns a FDF document handle, or FALSE on error.

Примеры

Пример #1 Populating a PDF document

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Смотрите также

  • fdf_close() - Закрывает FDF-документ
  • fdf_save() - Save a FDF document
  • fdf_open() - Open a FDF document

fdf_close
fdf_enum_values
FDF


Call a user defined function for each document value

fdf_create
fdf_errno
FDF
PHP Manual

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5)

fdf_enum_values — Call a user defined function for each document value

Описание

bool fdf_enum_values ( resource $fdf_document , callback $function [, mixed $userdata ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_create
fdf_errno
FDF


Return error code for last fdf operation

fdf_enum_values
fdf_error
FDF
PHP Manual

fdf_errno

(PHP 4 >= 4.3.0, PHP 5)

fdf_errno — Return error code for last fdf operation

Описание

int fdf_errno ( void )

Gets the error code set by the last FDF function call.

A textual description of the error may be obtained using with fdf_error().

Возвращаемые значения

Returns the error code as an integer, or zero if there was no errors.

Смотрите также

  • fdf_error() - Return error description for FDF error code

fdf_enum_values
fdf_error
FDF


Return error description for FDF error code

fdf_errno
fdf_get_ap
FDF
PHP Manual

fdf_error

(PHP 4 >= 4.3.0, PHP 5)

fdf_error — Return error description for FDF error code

Описание

string fdf_error ([ int $error_code = -1 ] )

Gets a textual description for the FDF error code given in error_code.

Список параметров

error_code

An error code obtained with fdf_errno(). If not provided, this function uses the internal error code set by the last operation.

Возвращаемые значения

Returns the error message as a string, or the string no error if nothing went wrong.

Смотрите также

  • fdf_errno() - Return error code for last fdf operation

fdf_errno
fdf_get_ap
FDF


Get the appearance of a field

fdf_error
fdf_get_attachment
FDF
PHP Manual

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_ap — Get the appearance of a field

Описание

bool fdf_get_ap ( resource $fdf_document , string $field , int $face , string $filename )

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fdf_error
fdf_get_attachment
FDF


Extracts uploaded file embedded in the FDF

fdf_get_ap
fdf_get_encoding
FDF
PHP Manual

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_attachment — Extracts uploaded file embedded in the FDF

Описание

array fdf_get_attachment ( resource $fdf_document , string $fieldname , string $savepath )

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

Замечание:

There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

Возвращаемые значения

The returned array contains the following fields:

  • path - path were the file got stored
  • size - size of the stored file in bytes
  • type - mimetype if given in the FDF

Примеры

Пример #1 Storing an uploaded file

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "The uploaded file is stored in $data[path]";
?>

fdf_get_ap
fdf_get_encoding
FDF


Получает значение ключа /Encoding

fdf_get_attachment
fdf_get_file
FDF
PHP Manual

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding — Получает значение ключа /Encoding

Описание

string fdf_get_encoding ( resource $fdf_document )

Получает значение ключа /Encoding.

Список параметров

fdf_document

Дескриптор FDF-документа, возвращенный функциями fdf_create(), fdf_open() или fdf_open_string().

Возвращаемые значения

Возвращает кодировку в виде строки. Возвращается пустая строка, если используется схема по умолчанию PDFDocEncoding/Unicode.

Смотрите также

  • fdf_set_encoding() - Sets FDF character encoding

fdf_get_attachment
fdf_get_file
FDF


Получает значение ключа /F

fdf_get_encoding
fdf_get_flags
FDF
PHP Manual

fdf_get_file

(PHP 4, PHP 5)

fdf_get_file — Получает значение ключа /F

Описание

string fdf_get_file ( resource $fdf_document )

Получает значение ключа /F.

Список параметров

fdf_document

Дескриптор FDF-документа, возвращенный функциями fdf_create(), fdf_open() или fdf_open_string().

Возвращаемые значения

Возвращает значение ключа в виде строки.

Смотрите также

  • fdf_set_file() - Set PDF document to display FDF data in

fdf_get_encoding
fdf_get_flags
FDF


Gets the flags of a field

fdf_get_file
fdf_get_opt
FDF
PHP Manual

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_flags — Gets the flags of a field

Описание

int fdf_get_flags ( resource $fdf_document , string $fieldname , int $whichflags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_get_file
fdf_get_opt
FDF


Gets a value from the opt array of a field

fdf_get_flags
fdf_get_status
FDF
PHP Manual

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_opt — Gets a value from the opt array of a field

Описание

mixed fdf_get_opt ( resource $fdf_document , string $fieldname [, int $element = -1 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_get_flags
fdf_get_status
FDF


Получает значение ключа /STATUS

fdf_get_opt
fdf_get_value
FDF
PHP Manual

fdf_get_status

(PHP 4, PHP 5)

fdf_get_status — Получает значение ключа /STATUS

Описание

string fdf_get_status ( resource $fdf_document )

Получает значение ключа /STATUS.

Список параметров

fdf_document

Дескриптор FDF-документа, возвращенный функциями fdf_create(), fdf_open() или fdf_open_string().

Возвращаемые значения

Возвращает значение ключа в виде строки.

Смотрите также

  • fdf_set_status() - Set the value of the /STATUS key

fdf_get_opt
fdf_get_value
FDF


Get the value of a field

fdf_get_status
fdf_get_version
FDF
PHP Manual

fdf_get_value

(PHP 4, PHP 5)

fdf_get_value — Get the value of a field

Описание

mixed fdf_get_value ( resource $fdf_document , string $fieldname [, int $which = -1 ] )

Gets the value for the requested field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

which

Elements of an array field can be retrieved by passing this optional parameter, starting at zero. For non-array fields, this parameter will be ignored.

Возвращаемые значения

Returns the field value.

Список изменений

Версия | Описание
4.3.0 | Support for arrays and the which parameter were added.

Смотрите также

  • fdf_set_value() - Set the value of a field

fdf_get_status
fdf_get_version
FDF


Gets version number for FDF API or file

fdf_get_value
fdf_header
FDF
PHP Manual

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_version — Gets version number for FDF API or file

Описание

string fdf_get_version ([ resource $fdf_document ] )

Return the FDF version for the given document, or the toolkit API version number if no parameter is given.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Возвращаемые значения

Returns the version as a string. For the current FDF toolkit 5.0 the API version number is 5.0 and the document version number is either 1.2, 1.3 or 1.4.

Смотрите также

  • fdf_set_version() - Sets version number for a FDF file

fdf_get_value
fdf_header
FDF


Sets FDF-specific output headers

fdf_get_version
fdf_next_field_name
FDF
PHP Manual

fdf_header

(PHP 4 >= 4.3.0, PHP 5)

fdf_header — Sets FDF-specific output headers

Описание

void fdf_header ( void )

This is a convenience function to set appropriate HTTP headers for FDF output. It sets the Content-type: to application/vnd.fdf.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

fdf_get_version
fdf_next_field_name
FDF


Get the next field name

fdf_header
fdf_open_string
FDF
PHP Manual

fdf_next_field_name

(PHP 4, PHP 5)

fdf_next_field_name — Get the next field name

Описание

string fdf_next_field_name ( resource $fdf_document [, string $fieldname ] )

Gets the name of the field after the given field. This name can be used with several functions.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string. If not given, the first field will be assumed.

Возвращаемые значения

Returns the field name as a string.

Примеры

Пример #1 Detecting all fieldnames in a FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
    $field != "";
    $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

Смотрите также

  • fdf_get_value() - Get the value of a field

fdf_header
fdf_open_string
FDF


Read a FDF document from a string

fdf_next_field_name
fdf_open
FDF
PHP Manual

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_open_string — Read a FDF document from a string

Описание

resource fdf_open_string ( string $fdf_data )

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

Список параметров

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

Возвращаемые значения

Returns a FDF document handle, or FALSE on error.

Примеры

Пример #1 Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Смотрите также

  • fdf_open() - Open a FDF document
  • fdf_close() - Закрывает FDF-документ
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string

fdf_next_field_name
fdf_open
FDF


Open a FDF document

fdf_open_string
fdf_remove_item
FDF
PHP Manual

fdf_open

(PHP 4, PHP 5)

fdf_open — Open a FDF document

Описание

resource fdf_open ( string $filename )

Opens a file with form data.

You can also use fdf_open_string() to process the results of a PDF form POST request.

Список параметров

filename

Path to the FDF file. This file must contain the data as returned from a PDF form or created using fdf_create() and fdf_save().

Возвращаемые значения

Returns a FDF document handle, or FALSE on error.

Примеры

Пример #1 Accessing the form data

<?php
// Save the FDF data into a temp file
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Open temp file and evaluate data
$fdf = fdf_open("test.fdf");
/* ... */
fdf_close($fdf);
?>

Смотрите также

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Закрывает FDF-документ
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document

fdf_open_string
fdf_remove_item
FDF


Sets target frame for form

fdf_open
fdf_save_string
FDF
PHP Manual

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5)

fdf_remove_item — Sets target frame for form

Описание

bool fdf_remove_item ( resource $fdf_document , string $fieldname , int $item )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_open
fdf_save_string
FDF


Returns the FDF document as a string

fdf_remove_item
fdf_save
FDF
PHP Manual

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_save_string — Returns the FDF document as a string

Описание

string fdf_save_string ( resource $fdf_document )

Returns the FDF document as a string.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Возвращаемые значения

Returns the document as a string, or FALSE on error.

Примеры

Пример #1 Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

Результат выполнения данного примера:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Смотрите также

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Закрывает FDF-документ
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document

fdf_remove_item
fdf_save
FDF


Save a FDF document

fdf_save_string
fdf_set_ap
FDF
PHP Manual

fdf_save

(PHP 4, PHP 5)

fdf_save — Save a FDF document

Описание

bool fdf_save ( resource $fdf_document [, string $filename ] )

Saves a FDF document.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

filename

If provided, the resulting FDF will be written in this parameter. Otherwise, this function will write the FDF to the default PHP output stream.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_close() - Закрывает FDF-документ
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string

fdf_save_string
fdf_set_ap
FDF


Set the appearance of a field

fdf_save
fdf_set_encoding
FDF
PHP Manual

fdf_set_ap

(PHP 4, PHP 5)

fdf_set_ap — Set the appearance of a field

Описание

bool fdf_set_ap ( resource $fdf_document , string $field_name , int $face , string $filename , int $page_number )

Sets the appearance of a field (i.e. the value of the /AP key).

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field_name

face

The possible values FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

page_number

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fdf_save
fdf_set_encoding
FDF


Sets FDF character encoding

fdf_set_ap
fdf_set_file
FDF
PHP Manual

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5)

fdf_set_encoding — Sets FDF character encoding

Описание

bool fdf_set_encoding ( resource $fdf_document , string $encoding )

Sets the character encoding for the FDF document.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

encoding

The encoding name. The following values are supported: "Shift-JIS", "UHC", "GBK" and "BigFive".

An empty string resets the encoding to the default PDFDocEncoding/Unicode scheme.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

fdf_set_ap
fdf_set_file
FDF


Set PDF document to display FDF data in

fdf_set_encoding
fdf_set_flags
FDF
PHP Manual

fdf_set_file

(PHP 4, PHP 5)

fdf_set_file — Set PDF document to display FDF data in

Описание

bool fdf_set_file ( resource $fdf_document , string $url [, string $target_frame ] )

Selects a different PDF document to display the form results in then the form it originated from.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

url

Should be given as an absolute URL.

target_frame

Use this parameter to specify the frame in which the document will be displayed. You can also set the default value for this parameter using fdf_set_target_frame().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Passing FDF data to a second form

<?php
  /* set content type for Adobe FDF */
  fdf_header();

  /* start new fdf */
  $fdf = fdf_create();

  /* set field "foo" to value "bar" */
  fdf_set_value($fdf, "foo", "bar");

  /* tell client to display FDF data using "fdf_form.pdf" */
  fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

  /* output fdf */
  fdf_save($fdf);

  /* clean up */
  fdf_close($fdf);
?>

Смотрите также

  • fdf_get_file() - Получает значение ключа /F
  • fdf_set_target_frame() - Set target frame for form display

fdf_set_encoding
fdf_set_flags
FDF


Sets a flag of a field

fdf_set_file
fdf_set_javascript_action
FDF
PHP Manual

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_flags — Sets a flag of a field

Описание

bool fdf_set_flags ( resource $fdf_document , string $fieldname , int $whichFlags , int $newFlags )

Sets certain flags of the given field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

whichFlags

newFlags

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_set_opt() - Sets an option of a field

fdf_set_file
fdf_set_javascript_action
FDF


Sets an javascript action of a field

fdf_set_flags
fdf_set_on_import_javascript
FDF
PHP Manual

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_javascript_action — Sets an javascript action of a field

Описание

bool fdf_set_javascript_action ( resource $fdf_document , string $fieldname , int $trigger , string $script )

Sets a javascript action for the given field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_set_submit_form_action() - Sets a submit form action of a field

fdf_set_flags
fdf_set_on_import_javascript
FDF


Adds javascript code to be executed when Acrobat opens the FDF

fdf_set_javascript_action
fdf_set_opt
FDF
PHP Manual

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF

Описание

bool fdf_set_on_import_javascript ( resource $fdf_document , string $script , bool $before_data_import )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • fdf_add_doc_javascript() - Adds javascript code to the FDF document
  • fdf_set_javascript_action() - Sets an javascript action of a field

fdf_set_javascript_action
fdf_set_opt
FDF


Sets an option of a field

fdf_set_on_import_javascript
fdf_set_status
FDF
PHP Manual

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_opt — Sets an option of a field

Описание

bool fdf_set_opt ( resource $fdf_document , string $fieldname , int $element , string $str1 , string $str2 )

Sets options of the given field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

element

str1

str2

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_set_flags() - Sets a flag of a field

fdf_set_on_import_javascript
fdf_set_status
FDF


Set the value of the /STATUS key

fdf_set_opt
fdf_set_submit_form_action
FDF
PHP Manual

fdf_set_status

(PHP 4, PHP 5)

fdf_set_status — Set the value of the /STATUS key

Описание

bool fdf_set_status ( resource $fdf_document , string $status )

Sets the value of the /STATUS key. When a client receives a FDF with a status set it will present the value in an alert box.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

status

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_get_status() - Получает значение ключа /STATUS

fdf_set_opt
fdf_set_submit_form_action
FDF


Sets a submit form action of a field

fdf_set_status
fdf_set_target_frame
FDF
PHP Manual

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_submit_form_action — Sets a submit form action of a field

Описание

bool fdf_set_submit_form_action ( resource $fdf_document , string $fieldname , int $trigger , string $script , int $flags )

Sets a submit form action for the given field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

flags

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_set_javascript_action() - Sets an javascript action of a field

fdf_set_status
fdf_set_target_frame
FDF


Set target frame for form display

fdf_set_submit_form_action
fdf_set_value
FDF
PHP Manual

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_target_frame — Set target frame for form display

Описание

bool fdf_set_target_frame ( resource $fdf_document , string $frame_name )

Sets the target frame to display a result PDF defined with fdf_save_file() in.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_save_file()

fdf_set_submit_form_action
fdf_set_value
FDF


Set the value of a field

fdf_set_target_frame
fdf_set_version
FDF
PHP Manual

fdf_set_value

(PHP 4, PHP 5)

fdf_set_value — Set the value of a field

Описание

bool fdf_set_value ( resource $fdf_document , string $fieldname , mixed $value [, int $isName ] )

Sets the value for the given field.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

value

This parameter will be stored as a string unless it is an array. In this case all array elements will be stored as a value array.

isName

Замечание:

In older versions of the FDF toolkit last parameter determined if the field value was to be converted to a PDF Name (= 1) or set to a PDF String (= 0).

The value is no longer used in the current toolkit version 5.0. For compatibility reasons it is still supported as an optional parameter beginning with PHP 4.3, but ignored internally.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | Support for arrays in the value parameter was added.

Смотрите также

  • fdf_get_value() - Get the value of a field
  • fdf_remove_item() - Sets target frame for form

fdf_set_target_frame
fdf_set_version
FDF


Sets version number for a FDF file

fdf_set_value
GnuPG
FDF
PHP Manual

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_version — Sets version number for a FDF file

Описание

bool fdf_set_version ( resource $fdf_document , string $version )

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fdf_get_version() - Gets version number for FDF API or file

fdf_set_value
GnuPG
FDF


GNU Privacy Guard

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Прозрачное подписывание текста
  • GnuPG Функции
    • gnupg_adddecryptkey — Add a key for decryption
    • gnupg_addencryptkey — Добавляет ключ для шифрования
    • gnupg_addsignkey — Добавить ключ для подписания
    • gnupg_cleardecryptkeys — Удаляет все ключи, которые были установлены для расшифровки раньше
    • gnupg_clearencryptkeys — Удаляет все ключи, которые были установлены для шифрования раньше
    • gnupg_clearsignkeys — Удаляет все ключи, которые были установлены для подписания раньше
    • gnupg_decrypt — Расшифровывает переданный текст
    • gnupg_decryptverify — Расшифровывает и проверяет подпись переданного текста
    • gnupg_encrypt — Encrypts a given text
    • gnupg_encryptsign — Шифрует и подписывает переданный текст
    • gnupg_export — Экспортирует ключ
    • gnupg_geterror — Возвращает текст сообщения об ошибке, если функция не была выполнена
    • gnupg_getprotocol — Возвращает текущий активный протокол для всех операций
    • gnupg_import — Imports a key
    • gnupg_init — Инициализировать GnuPG
    • gnupg_keyinfo — Возвращает массив с информацией обо всех ключах, которые соответствуют заданному шаблону
    • gnupg_setarmor — Переключает вывод в текстовом или бинарном режиме
    • gnupg_seterrormode — Устанавливает режим отчетов об ошибках (error_reporting)
    • gnupg_setsignmode — Устанавливает режим подписывания
    • gnupg_sign — Подписывает переданный текст
    • gnupg_verify — Проверяет подпись текста
fdf_set_version
Введение
Генерация нетекстовых MIME форматов


Введение

Этот модуль позволяет взаимодействовать с » gnupg.

GnuPG
Установка и настройка
GnuPG


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GnuPG


Требования

GnuPG модулю требуется PHP 4.3. Для использования этого модуля в объектно ориентированном стиле требуется PHP 5.

Этот модуль требует » библиотеку gpgme

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/gnupg.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

GNUPG_SIG_MODE_NORMAL (integer)
GNUPG_SIG_MODE_DETACH (integer)
GNUPG_SIG_MODE_CLEAR (integer)
GNUPG_VALIDITY_UNKNOWN (integer)
GNUPG_VALIDITY_UNDEFINED (integer)
GNUPG_VALIDITY_NEVER (integer)
GNUPG_VALIDITY_MARGINAL (integer)
GNUPG_VALIDITY_FULL (integer)
GNUPG_VALIDITY_ULTIMATE (integer)
GNUPG_PROTOCOL_OpenPGP (integer)
GNUPG_PROTOCOL_CMS (integer)
GNUPG_SIGSUM_VALID (integer)
GNUPG_SIGSUM_GREEN (integer)
GNUPG_SIGSUM_RED (integer)
GNUPG_SIGSUM_KEY_REVOKED (integer)
GNUPG_SIGSUM_KEY_EXPIRED (integer)
GNUPG_SIGSUM_KEY_MISSING (integer)
GNUPG_SIGSUM_SIG_EXPIRED (integer)
GNUPG_SIGSUM_CRL_MISSING (integer)
GNUPG_SIGSUM_CRL_TOO_OLD (integer)
GNUPG_SIGSUM_BAD_POLICY (integer)
GNUPG_SIGSUM_SYS_ERROR (integer)
GNUPG_ERROR_WARNING (integer)
GNUPG_ERROR_EXCEPTION (integer)
GNUPG_ERROR_SILENT (integer)
Типы ресурсов
Примеры
GnuPG


Примеры

Содержание

  • Прозрачное подписывание текста
Предопределенные константы
Прозрачное подписывание текста
GnuPG


Прозрачное подписывание текста

Это пример создания чистой подписи переданного текста.

Пример #1 Процедурный пример создания чистой подписи GnuPG

<?php
// инициализация GnuPG
$res = gnupg_init();
// на самом деле не нужно. Clearsign по умолчанию
gnupg_setsignmode($res, GNUPG_SIG_MODE_CLEAR);
// добавить ключ для подписания с паролем 'test'
gnupg_addsignkey($res, "8660281B6051D071D94B5B230549F9DC851566DC", "test");
// подписывание
$signed = gnupg_sign($res, "просто тест");
echo $signed;
?>

Пример #2 Объектно ориентированный пример создания чистой подписи GnuPG

<?php
// новый класс
$gnupg = new gnupg();
// на самом деле не нужно. Clearsign по умолчанию
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// добавить ключ для подписания с паролем 'test'
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC", "test");
// подписывание
$signed = $gnupg->sign("просто тест");
echo $signed;
?>

Пример #3 keylistiterator

Этот модуль также поставляется с Iterator для ваших ключей.

<?php
// создаём новый итератор для включения в список всех открытых ключей, которые соответствуют 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>
Примеры
GnuPG Функции
Примеры


GnuPG Функции

Примечания

Этот модуль позволяет использовать связку ключей текущего пользователя. Связка, как правило, расположена в ~/.gnupg/. Чтобы указать другую папку, сохраните путь к связке ключей в переменной окружения GNUPGHOME. Смотрите putenv для получения дополнительной информации, как это сделать.

Некоторые функции требуют спецификации ключа. Эта спецификация может быть все, что относится к уникальному ключу (идентификатор пользователя, идентификатор ключа, отпечатки пальцев, ...). В этой документации используется отпечаток пальца во всех примерах.

Содержание

  • gnupg_adddecryptkey — Add a key for decryption
  • gnupg_addencryptkey — Добавляет ключ для шифрования
  • gnupg_addsignkey — Добавить ключ для подписания
  • gnupg_cleardecryptkeys — Удаляет все ключи, которые были установлены для расшифровки раньше
  • gnupg_clearencryptkeys — Удаляет все ключи, которые были установлены для шифрования раньше
  • gnupg_clearsignkeys — Удаляет все ключи, которые были установлены для подписания раньше
  • gnupg_decrypt — Расшифровывает переданный текст
  • gnupg_decryptverify — Расшифровывает и проверяет подпись переданного текста
  • gnupg_encrypt — Encrypts a given text
  • gnupg_encryptsign — Шифрует и подписывает переданный текст
  • gnupg_export — Экспортирует ключ
  • gnupg_geterror — Возвращает текст сообщения об ошибке, если функция не была выполнена
  • gnupg_getprotocol — Возвращает текущий активный протокол для всех операций
  • gnupg_import — Imports a key
  • gnupg_init — Инициализировать GnuPG
  • gnupg_keyinfo — Возвращает массив с информацией обо всех ключах, которые соответствуют заданному шаблону
  • gnupg_setarmor — Переключает вывод в текстовом или бинарном режиме
  • gnupg_seterrormode — Устанавливает режим отчетов об ошибках (error_reporting)
  • gnupg_setsignmode — Устанавливает режим подписывания
  • gnupg_sign — Подписывает переданный текст
  • gnupg_verify — Проверяет подпись текста
Прозрачное подписывание текста
gnupg_adddecryptkey
GnuPG


Add a key for decryption

GnuPG Функции
gnupg_addencryptkey
GnuPG Функции
PHP Manual

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Add a key for decryption

Описание

bool gnupg_adddecryptkey ( resource $identifier , string $fingerprint , string $passphrase )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

fingerprint

Отпечаток ключа.

passphrase

The pass phrase.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_adddecryptkey() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Пример #2 OO gnupg_adddecryptkey() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

GnuPG Функции
gnupg_addencryptkey
GnuPG Функции


Добавляет ключ для шифрования

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Функции
PHP Manual

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Добавляет ключ для шифрования

Описание

bool gnupg_addencryptkey ( resource $identifier , string $fingerprint )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

fingerprint

Отпечаток ключа.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_addencryptkey()

<?php
$res = gnupg_init();
gnupg_addencryptkey($res, "8660281B6051D071D94B5B230549F9DC851566DC");
?>

Пример #2 Объектно-ориентированный пример использования gnupg_addencryptkey()

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Функции


Добавить ключ для подписания

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Функции
PHP Manual

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Добавить ключ для подписания

Описание

bool gnupg_addsignkey ( resource $identifier , string $fingerprint [, string $passphrase ] )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

fingerprint

Отпечаток ключа.

passphrase

Пароль.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_addsignkey()

<?php
$res = gnupg_init();
gnupg_addsignkey($res, "8660281B6051D071D94B5B230549F9DC851566DC", "test");
?>

Пример #2 Объектно-ориентированный пример использования gnupg_addsignkey()

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC", "test");
?>

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Функции


Удаляет все ключи, которые были установлены для расшифровки раньше

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Функции
PHP Manual

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Удаляет все ключи, которые были установлены для расшифровки раньше

Описание

bool gnupg_cleardecryptkeys ( resource $identifier )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_cleardecryptkeys()

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_cleardecryptkeys()

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Функции


Удаляет все ключи, которые были установлены для шифрования раньше

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Функции
PHP Manual

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Удаляет все ключи, которые были установлены для шифрования раньше

Описание

bool gnupg_clearencryptkeys ( resource $identifier )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_clearencryptkeys()

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_clearencryptkeys()

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Функции


Удаляет все ключи, которые были установлены для подписания раньше

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Функции
PHP Manual

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Удаляет все ключи, которые были установлены для подписания раньше

Описание

bool gnupg_clearsignkeys ( resource $identifier )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_clearsignkeys()

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_clearsignkeys()

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Функции


Расшифровывает переданный текст

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Функции
PHP Manual

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Расшифровывает переданный текст

Описание

string gnupg_decrypt ( resource $identifier , string $text )

Расшифровывает переданный текст ключами, установленными ранее с помощью gnupg_adddecryptkey.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

text

Расшифровываемый текст.

Возвращаемые значения

В случае успеха, эта функция возвращает расшифрованный текст. В случае ошибки, эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_decrypt()

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res, "8660281B6051D071D94B5B230549F9DC851566DC", "test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Пример #2 Объектно-ориентированный пример использования gnupg_encrypt()

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC", "test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Функции


Расшифровывает и проверяет подпись переданного текста

gnupg_decrypt
gnupg_encrypt
GnuPG Функции
PHP Manual

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Расшифровывает и проверяет подпись переданного текста

Описание

array gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext )

Расшифровывает и проверяет подпись переданного текста и возвращает информацию о подписи.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

text

Текст для расшифровки.

plaintext

Параметру plaintext передаётся расшифрованный текст.

Возвращаемые значения

В случае успеха, эта функция возвращает информацию о подписи и передаёт в параметр plaintext расшифрованный текст. В случае ошибки эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_decryptverify()

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res, "8660281B6051D071D94B5B230549F9DC851566DC", "test");
$info = gnupg_decryptverify($res, $text, $plaintext);
print_r($info);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_decryptverify()

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC", "test");
$info = $gpg -> decryptverify($text, $plaintext);
print_r($info);
?>

gnupg_decrypt
gnupg_encrypt
GnuPG Функции


Encrypts a given text

gnupg_decryptverify
gnupg_encryptsign
GnuPG Функции
PHP Manual

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Encrypts a given text

Описание

string gnupg_encrypt ( resource $identifier , string $plaintext )

Encrypts the given plaintext with the keys, which were set with gnupg_addencryptkey before and returns the encrypted text.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

plaintext

The text being encrypted.

Возвращаемые значения

On success, this function returns the encrypted text. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_encrypt() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Пример #2 OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>

gnupg_decryptverify
gnupg_encryptsign
GnuPG Функции


Шифрует и подписывает переданный текст

gnupg_encrypt
gnupg_export
GnuPG Функции
PHP Manual

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Шифрует и подписывает переданный текст

Описание

string gnupg_encryptsign ( resource $identifier , string $plaintext )

Шифрует и подписывает переданный в параметре plaintext текст ключами, которые были установлены gnupg_addsignkey и gnupg_addencryptkey ранее и возвращает зашифрованный и подписанный текст.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

plaintext

Текст для шифрования.

Возвращаемые значения

В случае успеха, эта функция возвращает зашифрованный и подписанный текст. В случае ошибки эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_encryptsign()

<?php
$res = gnupg_init();
gnupg_addencryptkey($res, "8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res, "8660281B6051D071D94B5B230549F9DC851566DC", "test");
$enc = gnupg_encryptsign($res, "просто тест");
echo $enc;
?>

Пример #2 Объектно-ориентированный пример использования gnupg_encryptsign()

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC", "test");
$enc = $gpg -> encryptsign("просто тест");
echo $enc;
?>

gnupg_encrypt
gnupg_export
GnuPG Функции


Экспортирует ключ

gnupg_encryptsign
gnupg_geterror
GnuPG Функции
PHP Manual

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Экспортирует ключ

Описание

string gnupg_export ( resource $identifier , string $fingerprint )

Экспортирует ключ fingerprint.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

fingerprint

Отпечаток ключа.

Возвращаемые значения

В случае успеха, эта функция возвращает ключ. В случае ошибки, эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_export()

<?php
$res = gnupg_init();
$export = gnupg_export($res, "8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Пример #2 Объектно-ориентированный пример использования gnupg_export()

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_encryptsign
gnupg_geterror
GnuPG Функции


Возвращает текст сообщения об ошибке, если функция не была выполнена

gnupg_export
gnupg_getprotocol
GnuPG Функции
PHP Manual

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Возвращает текст сообщения об ошибке, если функция не была выполнена

Описание

string gnupg_geterror ( resource $identifier )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

Возвращаемые значения

Возвращает текст сообщения об ошибке, если произошла ошибка, в противном случае FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_geterror()

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_geterror()

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

gnupg_export
gnupg_getprotocol
GnuPG Функции


Возвращает текущий активный протокол для всех операций

gnupg_geterror
gnupg_import
GnuPG Функции
PHP Manual

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Возвращает текущий активный протокол для всех операций

Описание

int gnupg_getprotocol ( resource $identifier )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

Возвращаемые значения

Возвращает текущий активный протокол, который может быть одним из GNUPG_PROTOCOL_OpenPGP или GNUPG_PROTOCOL_CMS.

Примеры

Пример #1 Процедурный пример использования gnupg_getprotocol()

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_getprotocol()

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

gnupg_geterror
gnupg_import
GnuPG Функции


Imports a key

gnupg_getprotocol
gnupg_init
GnuPG Функции
PHP Manual

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Imports a key

Описание

array gnupg_import ( resource $identifier , string $keydata )

Imports the key keydata and returns an array with information about the importprocess.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

keydata

The data key that is being imported.

Возвращаемые значения

On success, this function returns and info-array about the importprocess. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_import() example

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Пример #2 OO gnupg_import() example

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

gnupg_getprotocol
gnupg_init
GnuPG Функции


Инициализировать GnuPG

gnupg_import
gnupg_keyinfo
GnuPG Функции
PHP Manual

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Инициализировать GnuPG

Описание

resource gnupg_init ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

resource GnuPG используется другими функциями GnuPG.

Примеры

Пример #1 Процедурный пример использования gnupg_init()

<?php
$res = gnupg_init();
?>

Пример #2 Объектно-ориентированный пример инициализации GnuPG

<?php
$gpg = new gnupg();
?>

gnupg_import
gnupg_keyinfo
GnuPG Функции


Возвращает массив с информацией обо всех ключах, которые соответствуют заданному шаблону

gnupg_init
gnupg_setarmor
GnuPG Функции
PHP Manual

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Возвращает массив с информацией обо всех ключах, которые соответствуют заданному шаблону

Описание

array gnupg_keyinfo ( resource $identifier , string $pattern )

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

pattern

Шаблон проверяемый на соответствие.

Возвращаемые значения

Возвращает массив с информацией обо всех ключах, которые соответствуют заданному шаблону или FALSE, если произошла ошибка.

Примеры

Пример #1 Процедурный пример использования gnupg_keyinfo()

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Пример #2 Объектно-ориентированный пример использования gnupg_keyinfo()

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

gnupg_init
gnupg_setarmor
GnuPG Функции


Переключает вывод в текстовом или бинарном режиме

gnupg_keyinfo
gnupg_seterrormode
GnuPG Функции
PHP Manual

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Переключает вывод в текстовом или бинарном режиме

Описание

bool gnupg_setarmor ( resource $identifier , int $armor )

Переключает вывод в текстовом или бинарном режиме.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

armor

В случае не нулевого целого числа, функция включает текстовый режим вывода (по умолчанию). В случае 0, вывод в бинарном режиме.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_setarmor()

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // текстовый режим вывода;
gnupg_setarmor($res,0); // бинарный режим вывода;
?>

Пример #2 Объектно-ориентированный пример использования gnupg_setarmor()

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // текстовый режим вывода;
$gpg -> setarmor(0); // бинарный режим вывода;
?>

gnupg_keyinfo
gnupg_seterrormode
GnuPG Функции


Устанавливает режим отчетов об ошибках (error_reporting)

gnupg_setarmor
gnupg_setsignmode
GnuPG Функции
PHP Manual

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Устанавливает режим отчетов об ошибках (error_reporting)

Описание

void gnupg_seterrormode ( resource $identifier , int $errormode )

Устанавливает режим error_reporting.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

errormode

Режим ошибок.

errormode содержит константу, указывающую, какой тип error_reporting должен быть использован. Возможные значения: GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION и GNUPG_ERROR_SILENT. По умолчанию используется GNUPG_ERROR_SILENT.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Процедурный пример использования gnupg_seterrormode()

<?php
$res = gnupg_init();
gnupg_seterrormode($res, GNUPG_ERROR_WARNING); // выводить PHP-предупреждения в случае ошибки
?>

Пример #2 Объектно-ориентированный пример использования gnupg_seterrormode()

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // исключение в случае ошибки
?>

gnupg_setarmor
gnupg_setsignmode
GnuPG Функции


Устанавливает режим подписывания

gnupg_seterrormode
gnupg_sign
GnuPG Функции
PHP Manual

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Устанавливает режим подписывания

Описание

bool gnupg_setsignmode ( resource $identifier , int $signmode )

Устанавливает режим подписывания.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

sigmode

Режим подписывания.

signmode содержит константу, указывающую, какой тип подписи должен быть произведён. Возможные значения: GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH и GNUPG_SIG_MODE_CLEAR. По умолчанию используется GNUPG_SIG_MODE_CLEAR.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Процедурный пример использования gnupg_setsignmode()

<?php
$res = gnupg_init();
gnupg_setsignmode($res, GNUPG_SIG_MODE_DETACH); // производить раздельную подпись
?>

Пример #2 Объектно-ориентированный пример использования gnupg_setsignmode()

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // производить раздельную подпись
?>

gnupg_seterrormode
gnupg_sign
GnuPG Функции


Подписывает переданный текст

gnupg_setsignmode
gnupg_verify
GnuPG Функции
PHP Manual

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Подписывает переданный текст

Описание

string gnupg_sign ( resource $identifier , string $plaintext )

Подписывает переданный в параметре plaintext текст ключом, который был прежде установлен с помощью gnupg_addsignkey и возвращает подписанный текст или подпись, в зависимости от того, что было установлено в gnupg_setsignmode.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

plaintext

Простой текст для подписания.

Возвращаемые значения

В случае успеха, эта функция возвращает подписанный текст или подпись. В случае ошибки эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_sign()

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "просто тест");
echo $signed;
?>

Пример #2 Объектно-ориентированный пример использования gnupg_sign()

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("просто тест");
echo $signed;
?>

gnupg_setsignmode
gnupg_verify
GnuPG Функции


Проверяет подпись текста

gnupg_sign
haru
GnuPG Функции
PHP Manual

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Проверяет подпись текста

Описание

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Проверяет подпись переданного в параметре signed_text текста и возвращает информацию о подписи.

Список параметров

identifier

Идентификатор gnupg, полученный из gnupg_init() или gnupg.

signed_text

Подписанный текст.

signature

Подпись. Чтобы проверить прозрачную подпись, параметр должен быть равен FALSE.

plaintext

Обычный текст. Если этот необязательный параметр необходимо передать, то он заполняется обычным текстом.

Возвращаемые значения

В случае успеха, эта функция возвращает информацию о подписи. В случае ошибки эта функция возвращает FALSE.

Примеры

Пример #1 Процедурный пример использования gnupg_verify()

<?php
$plaintext = "";
$res = gnupg_init();
// прозрачная подпись
$info = gnupg_verify($res, $signed_text, false, $plaintext);
print_r($info);
// раздельная подпись
$info = gnupg_verify($res, $signed_text, $signature);
print_r($info);
?>

Пример #2 Объектно ориентированный пример использования gnupg_verify()

<?php
$plaintext = "";
$gpg = new gnupg();
// прозрачная подпись
$info = $gpg -> verify($signed_text, false, $plaintext);
print_r($info);
// раздельная подпись
$info = $gpg -> verify($signed_text, $signature);
print_r($info);
?>

gnupg_sign
haru
GnuPG Функции


Haru PDF

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic PECL/haru example
  • Builtin Fonts And Encodings
    • Builtin Fonts
    • Builtin Encodings
  • HaruException — The HaruException class
  • HaruDoc — The HaruDoc class
    • HaruDoc::addPage — Add new page to the document
    • HaruDoc::addPageLabel — Set the numbering style for the specified range of pages
    • HaruDoc::__construct — Construct new HaruDoc instance
    • HaruDoc::createOutline — Create a HaruOutline instance
    • HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document
    • HaruDoc::getCurrentPage — Return current page of the document
    • HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding
    • HaruDoc::getFont — Get HaruFont instance
    • HaruDoc::getInfoAttr — Get current value of the specified document attribute
    • HaruDoc::getPageLayout — Get current page layout
    • HaruDoc::getPageMode — Get current page mode
    • HaruDoc::getStreamSize — Get the size of the temporary stream
    • HaruDoc::insertPage — Insert new page just before the specified page
    • HaruDoc::loadJPEG — Load a JPEG image
    • HaruDoc::loadPNG — Load PNG image and return HaruImage instance
    • HaruDoc::loadRaw — Load a RAW image
    • HaruDoc::loadTTC — Load the font with the specified index from TTC file
    • HaruDoc::loadTTF — Load TTF font file
    • HaruDoc::loadType1 — Load Type1 font
    • HaruDoc::output — Write the document data to the output buffer
    • HaruDoc::readFromStream — Read data from the temporary stream
    • HaruDoc::resetError — Reset error state of the document handle
    • HaruDoc::resetStream — Rewind the temporary stream
    • HaruDoc::save — Save the document into the specified file
    • HaruDoc::saveToStream — Save the document into a temporary stream
    • HaruDoc::setCompressionMode — Set compression mode for the document
    • HaruDoc::setCurrentEncoder — Set the current encoder for the document
    • HaruDoc::setEncryptionMode — Set encryption mode for the document
    • HaruDoc::setInfoAttr — Set the info attribute of the document
    • HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document
    • HaruDoc::setOpenAction — Define which page is shown when the document is opened
    • HaruDoc::setPageLayout — Set how pages should be displayed
    • HaruDoc::setPageMode — Set how the document should be displayed
    • HaruDoc::setPagesConfiguration — Set the number of pages per set of pages
    • HaruDoc::setPassword — Set owner and user passwords for the document
    • HaruDoc::setPermission — Set permissions for the document
    • HaruDoc::useCNSEncodings — Enable Chinese simplified encodings
    • HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts
    • HaruDoc::useCNTEncodings — Enable Chinese traditional encodings
    • HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts
    • HaruDoc::useJPEncodings — Enable Japanese encodings
    • HaruDoc::useJPFonts — Enable builtin Japanese fonts
    • HaruDoc::useKREncodings — Enable Korean encodings
    • HaruDoc::useKRFonts — Enable builtin Korean fonts
  • HaruPage — The HaruPage class
    • HaruPage::arc — Append an arc to the current path
    • HaruPage::beginText — Begin a text object and set the current text position to (0,0)
    • HaruPage::circle — Append a circle to the current path
    • HaruPage::closePath — Append a straight line from the current point to the start point of the path
    • HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix
    • HaruPage::createDestination — Create new HaruDestination instance
    • HaruPage::createLinkAnnotation — Create new HaruAnnotation instance
    • HaruPage::createTextAnnotation — Create new HaruAnnotation instance
    • HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance
    • HaruPage::curveTo2 — Append a Bezier curve to the current path
    • HaruPage::curveTo3 — Append a Bezier curve to the current path
    • HaruPage::curveTo — Append a Bezier curve to the current path
    • HaruPage::drawImage — Show image at the page
    • HaruPage::ellipse — Append an ellipse to the current path
    • HaruPage::endPath — End current path object without filling and painting operations
    • HaruPage::endText — End current text object
    • HaruPage::eofill — Fill current path using even-odd rule
    • HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path
    • HaruPage::fill — Fill current path using nonzero winding number rule
    • HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path
    • HaruPage::getCharSpace — Get the current value of character spacing
    • HaruPage::getCMYKFill — Get the current filling color
    • HaruPage::getCMYKStroke — Get the current stroking color
    • HaruPage::getCurrentFont — Get the currently used font
    • HaruPage::getCurrentFontSize — Get the current font size
    • HaruPage::getCurrentPos — Get the current position for path painting
    • HaruPage::getCurrentTextPos — Get the current position for text printing
    • HaruPage::getDash — Get the current dash pattern
    • HaruPage::getFillingColorSpace — Get the current filling color space
    • HaruPage::getFlatness — Get the flatness of the page
    • HaruPage::getGMode — Get the current graphics mode
    • HaruPage::getGrayFill — Get the current filling color
    • HaruPage::getGrayStroke — Get the current stroking color
    • HaruPage::getHeight — Get the height of the page
    • HaruPage::getHorizontalScaling — Get the current value of horizontal scaling
    • HaruPage::getLineCap — Get the current line cap style
    • HaruPage::getLineJoin — Get the current line join style
    • HaruPage::getLineWidth — Get the current line width
    • HaruPage::getMiterLimit — Get the value of miter limit
    • HaruPage::getRGBFill — Get the current filling color
    • HaruPage::getRGBStroke — Get the current stroking color
    • HaruPage::getStrokingColorSpace — Get the current stroking color space
    • HaruPage::getTextLeading — Get the current value of line spacing
    • HaruPage::getTextMatrix — Get the current text transformation matrix of the page
    • HaruPage::getTextRenderingMode — Get the current text rendering mode
    • HaruPage::getTextRise — Get the current value of text rising
    • HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing
    • HaruPage::getTransMatrix — Get the current transformation matrix of the page
    • HaruPage::getWidth — Get the width of the page
    • HaruPage::getWordSpace — Get the current value of word spacing
    • HaruPage::lineTo — Draw a line from the current point to the specified point
    • HaruPage::measureText — Calculate the number of characters which can be included within the specified width
    • HaruPage::moveTextPos — Move text position to the specified offset
    • HaruPage::moveTo — Set starting point for new drawing path
    • HaruPage::moveToNextLine — Move text position to the start of the next line
    • HaruPage::rectangle — Append a rectangle to the current path
    • HaruPage::setCharSpace — Set character spacing for the page
    • HaruPage::setCMYKFill — Set filling color for the page
    • HaruPage::setCMYKStroke — Set stroking color for the page
    • HaruPage::setDash — Set the dash pattern for the page
    • HaruPage::setFlatness — Set flatness for the page
    • HaruPage::setFontAndSize — Set font and fontsize for the page
    • HaruPage::setGrayFill — Set filling color for the page
    • HaruPage::setGrayStroke — Sets stroking color for the page
    • HaruPage::setHeight — Set height of the page
    • HaruPage::setHorizontalScaling — Set horizontal scaling for the page
    • HaruPage::setLineCap — Set the shape to be used at the ends of lines
    • HaruPage::setLineJoin — Set line join style for the page
    • HaruPage::setLineWidth — Set line width for the page
    • HaruPage::setMiterLimit — Set the current value of the miter limit of the page
    • HaruPage::setRGBFill — Set filling color for the page
    • HaruPage::setRGBStroke — Set stroking color for the page
    • HaruPage::setRotate — Set rotation angle of the page
    • HaruPage::setSize — Set size and direction of the page
    • HaruPage::setSlideShow — Set transition style for the page
    • HaruPage::setTextLeading — Set text leading (line spacing) for the page
    • HaruPage::setTextMatrix — Set the current text transformation matrix of the page
    • HaruPage::setTextRenderingMode — Set text rendering mode for the page
    • HaruPage::setTextRise — Set the current value of text rising
    • HaruPage::setWidth — Set width of the page
    • HaruPage::setWordSpace — Set word spacing for the page
    • HaruPage::showText — Print text at the current position of the page
    • HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text
    • HaruPage::stroke — Paint current path
    • HaruPage::textOut — Print the text on the specified position
    • HaruPage::textRect — Print the text inside the specified region
  • HaruFont — The HaruFont class
    • HaruFont::getAscent — Get the vertical ascent of the font
    • HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters
    • HaruFont::getDescent — Get the vertical descent of the font
    • HaruFont::getEncodingName — Get the name of the encoding
    • HaruFont::getFontName — Get the name of the font
    • HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces
    • HaruFont::getUnicodeWidth — Get the width of the character in the font
    • HaruFont::getXHeight — Get the distance from the baseline of lowercase letters
    • HaruFont::measureText — Calculate the number of characters which can be included within the specified width
  • HaruImage — The HaruImage class
    • HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image
    • HaruImage::getColorSpace — Get the name of the color space
    • HaruImage::getHeight — Get the height of the image
    • HaruImage::getSize — Get size of the image
    • HaruImage::getWidth — Get the width of the image
    • HaruImage::setColorMask — Set the color mask of the image
    • HaruImage::setMaskImage — Set the image mask
  • HaruEncoder — The HaruEncoder class
    • HaruEncoder::getByteType — Get the type of the byte in the text
    • HaruEncoder::getType — Get the type of the encoder
    • HaruEncoder::getUnicode — Convert the specified character to unicode
    • HaruEncoder::getWritingMode — Get the writing mode of the encoder
  • HaruOutline — The HaruOutline class
    • HaruOutline::setDestination — Set the destination for the outline
    • HaruOutline::setOpened — Set the initial state of the outline
  • HaruAnnotation — The HaruAnnotation class
    • HaruAnnotation::setBorderStyle — Set the border style of the annotation
    • HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation
    • HaruAnnotation::setIcon — Set the icon style of the annotation
    • HaruAnnotation::setOpened — Set the initial state of the annotation
  • HaruDestination — The HaruDestination class
    • HaruDestination::setFit — Set the appearance of the page to fit the window
    • HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window
    • HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box
    • HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box
    • HaruDestination::setFitH — Set the appearance of the page to fit the window width
    • HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle
    • HaruDestination::setFitV — Set the appearance of the page to fit the window height
    • HaruDestination::setXYZ — Set the appearance of the page
gnupg_verify
Введение
Генерация нетекстовых MIME форматов


Введение

The PECL/haru extension provides bindings to the libHaru library. libHaru is a free, cross platform, and Open Source library for generating PDF files.

The Haru library (libHaru) may be found here: » http://libharu.org.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

haru
Установка и настройка
haru


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
haru


Требования

Вы должны установить libharu перед использованием PECL/haru. PECL/haru тестировался с libharu 2.0.8, с предыдущими версиями он может не работать. PECL/haru также требует PHP 5.1.3 или более новую.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/haru.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
haru


Примеры

Содержание

  • Basic PECL/haru example
Предопределенные константы
Basic PECL/haru example
haru


Basic PECL/haru example

Пример #1 Fancy "Hello world"

<?php

$doc = new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* show thumbnails */

$page = $doc->addPage(); /* add page to the document */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* set the page to use A4 landscape format */

$courier = $doc->getFont("Courier-Bold"); /* we'll use the bundled font a few lines below */

$page->setRGBStroke(0, 0, 0); /* set colors */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* draw a rectangle */

$page->fillStroke(); /* fill and stroke it */

$page->setDash(array(3, 3), 0); /* set dash style for lines at this page */
$page->setFontAndSize($courier, 60); /* set font and size */

$page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
$page->setRGBFill(1, 1, 1); /* set filling color */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* fill and stroke text */

/* print the text */
$page->beginText();
$page->textOut(210, 270, "Hello World!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* save the document into a file */

?>

Open the result document in your favourite PDF viewer and you should see a light-blue rectangle and white "Hello World!" on it.

Примеры
Builtin Fonts And Encodings
Примеры


Builtin Fonts And Encodings

Содержание

  • Builtin Fonts
  • Builtin Encodings
Basic PECL/haru example
Builtin Fonts
haru


Builtin Fonts

These Base14 fonts are built-in into PDF and all viewers can display them. Using these fonts may decrease the size of the result file and make the processing faster, avoiding loading external fonts. However the fonts support only latin1 character set and you have to load external fonts if you need to use an other character set.

The Base14 fonts:

  • Courier

  • Courier-Bold

  • Courier-Oblique

  • Courier-BoldOblique

  • Helvetica

  • Helvetica-Bold

  • Helvetica-Oblique

  • Helvetica-BoldOblique

  • Times-Roman

  • Times-Bold

  • Times-Italic

  • Times-BoldItalic

  • Symbol

  • ZapfDingbats

Builtin Fonts And Encodings
Builtin Encodings
Builtin Fonts And Encodings


Builtin Encodings

Single-byte character set encodings
Name | Description
StandardEncoding | The default encoding of PDF.
MacRomanEncoding | The standard encoding of Mac OS.
WinAnsiEncoding | The standard encoding of Windows.
FontSpecific | The font built-in encoding.
ISO8859-2 | Latin2 (East European)
ISO8859-3 | Latin3 (South European)
ISO8859-4 | Latin4 (North European)
ISO8859-5 | Cyrillic
ISO8859-6 | Arabic
ISO8859-7 | Greek
ISO8859-8 | Hebrew
ISO8859-9 | Latin5 (Turkish)
ISO8859-10 | Latin6 (Nordic)
ISO8859-11 | Thai
ISO8859-13 | Latin7 (Baltic Rim)
ISO8859-14 | Latin8 (Celtic)
ISO8859-15 | Latin9
ISO8859-16 | Latin10
CP1250 | MS Windows Codepage 1250.
CP1251 | MS Windows Codepage 1251.
CP1252 | MS Windows Codepage 1252.
CP1253 | MS Windows Codepage 1253.
CP1254 | MS Windows Codepage 1254.
CP1255 | MS Windows Codepage 1255.
CP1256 | MS Windows Codepage 1256.
CP1257 | MS Windows Codepage 1257.
CP1258 | MS Windows Codepage 1258.
KOI8-R | Cyrillic character set.
Multi-byte character set encodings
Name | Description
GB-EUC-H | EUC-CN encoding.
GB-EUC-V | Vertical writing version of GB-EUC-H.
GBK-EUC-H | Microsoft Code Page 936 (lfCharSet 0x86) GBK encoding.
GBK-EUC-V | Vertical writing version of GBK-EUC-H.
ETen-B5-H | Microsoft Code Page 950 (lfCharSet 0x88) Big Five character set with ETen extensions.
ETen-B5-V | Vertical writing version of ETen-B5-H.
90ms-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character.
90ms-RKSJ-V | Vertical writing version of 90ms-RKSJ-V.
90msp-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character (proportional).
EUC-H | JIS X 0208 character set, EUC-JP encoding.
EUC-V | Vertical writing version of EUC-H.
KSC-EUC-H | KS X 1001:1992 character set, EUC-KR encoding.
KSC-EUC-V | Vertical writing version of KSC-EUC-V.
KSCms-UHC-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (proportional).
KSCms-UHC-HW-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (fixed width).
KSCms-UHC-HW-V | Vertical writing version of KSCms-UHC-HW-H.
Builtin Fonts
HaruException
Builtin Fonts And Encodings


The HaruException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Exception Class.

Обзор классов

HaruException extends Exception {
/* Inherits */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Builtin Encodings
HaruDoc
haru


The HaruDoc class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Document Class.

Обзор классов

HaruDoc {
/* Методы */
object addPage ( void )
bool addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )
void __construct ( void )
object createOutline ( string $title [, object $parent_outline [, object $encoder ]] )
object getCurrentEncoder ( void )
object getCurrentPage ( void )
object getEncoder ( string $encoding )
object getFont ( string $fontname [, string $encoding ] )
string getInfoAttr ( int $type )
int getPageLayout ( void )
int getPageMode ( void )
int getStreamSize ( void )
object insertPage ( object $page )
object loadJPEG ( string $filename )
object loadPNG ( string $filename [, bool $deferred = false ] )
object loadRaw ( string $filename , int $width , int $height , int $color_space )
string loadTTC ( string $fontfile , int $index [, bool $embed = false ] )
string loadTTF ( string $fontfile [, bool $embed = false ] )
string loadType1 ( string $afmfile [, string $pfmfile ] )
bool output ( void )
string readFromStream ( int $bytes )
bool resetError ( void )
bool resetStream ( void )
bool save ( string $file )
bool saveToStream ( void )
bool setCompressionMode ( int $mode )
bool setCurrentEncoder ( string $encoding )
bool setEncryptionMode ( int $mode [, int $key_len = 5 ] )
bool setInfoAttr ( int $type , string $info )
bool setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )
bool setOpenAction ( object $destination )
bool setPageLayout ( int $layout )
bool setPageMode ( int $mode )
bool setPagesConfiguration ( int $page_per_pages )
bool setPassword ( string $owner_password , string $user_password )
bool setPermission ( int $permission )
bool useCNSEncodings ( void )
bool useCNSFonts ( void )
bool useCNTEncodings ( void )
bool useCNTFonts ( void )
bool useJPEncodings ( void )
bool useJPFonts ( void )
bool useKREncodings ( void )
bool useKRFonts ( void )
}

Предопределенные константы

Type | Name | Description
int | HaruDoc::CS_DEVICE_GRAY |
int | HaruDoc::CS_DEVICE_RGB |
int | HaruDoc::CS_DEVICE_CMYK |
int | HaruDoc::CS_CAL_GRAY |
int | HaruDoc::CS_CAL_RGB |
int | HaruDoc::CS_LAB |
int | HaruDoc::CS_ICC_BASED |
int | HaruDoc::CS_SEPARATION |
int | HaruDoc::CS_DEVICE_N |
int | HaruDoc::CS_INDEXED |
int | HaruDoc::CS_PATTERN |
int | HaruDoc::ENABLE_READ |
int | HaruDoc::ENABLE_PRINT |
int | HaruDoc::ENABLE_EDIT_ALL |
int | HaruDoc::ENABLE_COPY |
int | HaruDoc::ENABLE_EDIT |
int | HaruDoc::ENCRYPT_R2 |
int | HaruDoc::ENCRYPT_R3 |
int | HaruDoc::INFO_AUTHOR |
int | HaruDoc::INFO_CREATOR |
int | HaruDoc::INFO_TITLE |
int | HaruDoc::INFO_SUBJECT |
int | HaruDoc::INFO_KEYWORDS |
int | HaruDoc::INFO_CREATION_DATE |
int | HaruDoc::INFO_MOD_DATE |
int | HaruDoc::COMP_NONE |
int | HaruDoc::COMP_TEXT |
int | HaruDoc::COMP_IMAGE |
int | HaruDoc::COMP_METADATA |
int | HaruDoc::COMP_ALL |
int | HaruDoc::PAGE_LAYOUT_SINGLE |
int | HaruDoc::PAGE_LAYOUT_ONE_COLUMN |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT |
int | HaruDoc::PAGE_MODE_USE_NONE |
int | HaruDoc::PAGE_MODE_USE_OUTLINE |
int | HaruDoc::PAGE_MODE_USE_THUMBS |
int | HaruDoc::PAGE_MODE_FULL_SCREEN |

Содержание

  • HaruDoc::addPage — Add new page to the document
  • HaruDoc::addPageLabel — Set the numbering style for the specified range of pages
  • HaruDoc::__construct — Construct new HaruDoc instance
  • HaruDoc::createOutline — Create a HaruOutline instance
  • HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document
  • HaruDoc::getCurrentPage — Return current page of the document
  • HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding
  • HaruDoc::getFont — Get HaruFont instance
  • HaruDoc::getInfoAttr — Get current value of the specified document attribute
  • HaruDoc::getPageLayout — Get current page layout
  • HaruDoc::getPageMode — Get current page mode
  • HaruDoc::getStreamSize — Get the size of the temporary stream
  • HaruDoc::insertPage — Insert new page just before the specified page
  • HaruDoc::loadJPEG — Load a JPEG image
  • HaruDoc::loadPNG — Load PNG image and return HaruImage instance
  • HaruDoc::loadRaw — Load a RAW image
  • HaruDoc::loadTTC — Load the font with the specified index from TTC file
  • HaruDoc::loadTTF — Load TTF font file
  • HaruDoc::loadType1 — Load Type1 font
  • HaruDoc::output — Write the document data to the output buffer
  • HaruDoc::readFromStream — Read data from the temporary stream
  • HaruDoc::resetError — Reset error state of the document handle
  • HaruDoc::resetStream — Rewind the temporary stream
  • HaruDoc::save — Save the document into the specified file
  • HaruDoc::saveToStream — Save the document into a temporary stream
  • HaruDoc::setCompressionMode — Set compression mode for the document
  • HaruDoc::setCurrentEncoder — Set the current encoder for the document
  • HaruDoc::setEncryptionMode — Set encryption mode for the document
  • HaruDoc::setInfoAttr — Set the info attribute of the document
  • HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document
  • HaruDoc::setOpenAction — Define which page is shown when the document is opened
  • HaruDoc::setPageLayout — Set how pages should be displayed
  • HaruDoc::setPageMode — Set how the document should be displayed
  • HaruDoc::setPagesConfiguration — Set the number of pages per set of pages
  • HaruDoc::setPassword — Set owner and user passwords for the document
  • HaruDoc::setPermission — Set permissions for the document
  • HaruDoc::useCNSEncodings — Enable Chinese simplified encodings
  • HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts
  • HaruDoc::useCNTEncodings — Enable Chinese traditional encodings
  • HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts
  • HaruDoc::useJPEncodings — Enable Japanese encodings
  • HaruDoc::useJPFonts — Enable builtin Japanese fonts
  • HaruDoc::useKREncodings — Enable Korean encodings
  • HaruDoc::useKRFonts — Enable builtin Korean fonts
HaruException
HaruDoc::addPage
haru


Add new page to the document

HaruDoc
HaruDoc::addPageLabel
HaruDoc
PHP Manual

HaruDoc::addPage

(PECL haru >= 0.0.1)

HaruDoc::addPage — Add new page to the document

Описание

object HaruDoc::addPage ( void )

Adds a new page to the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a new HaruPage instance.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::insertPage() - Insert new page just before the specified page

HaruDoc
HaruDoc::addPageLabel
HaruDoc


Set the numbering style for the specified range of pages

HaruDoc::addPage
HaruDoc::__construct
HaruDoc
PHP Manual

HaruDoc::addPageLabel

(PECL haru >= 0.0.1)

HaruDoc::addPageLabel — Set the numbering style for the specified range of pages

Описание

bool HaruDoc::addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )

Set the numbering style for the specified range of pages.

Список параметров

first_page

The first page included into the labeling range.

style

The numbering style. The following values are allowed:

  • HaruPage::NUM_STYLE_DECIMAL - page label is displayed using decimal numerals.
  • HaruPage::NUM_STYLE_UPPER_ROMAN - page label is displayed using uppercase Roman numerals.
  • HaruPage::NUM_STYLE_LOWER_ROMAN - page label is displayed using lowercase Roman numerals.
  • HaruPage::NUM_STYLE_UPPER_LETTER - page label is displayed using uppercase letters (from A to Z).
  • HaruPage::NUM_STYLE_LOWER_LETTERS - page label is displayed using lowercase letters (from a to z).

first_num

The first page number in this range.

prefix

The prefix for the page label.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::addPage
HaruDoc::__construct
HaruDoc


Construct new HaruDoc instance

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc
PHP Manual

HaruDoc::__construct

(PECL haru >= 0.0.1)

HaruDoc::__construct — Construct new HaruDoc instance

Описание

void HaruDoc::__construct ( void )

Constructs new HaruDoc instance.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc


Create a HaruOutline instance

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::createOutline

(PECL haru >= 0.0.1)

HaruDoc::createOutline — Create a HaruOutline instance

Описание

object HaruDoc::createOutline ( string $title [, object $parent_outline [, object $encoder ]] )

Create a HaruOutline instance.

Список параметров

title

The caption of new outline object.

parent_outline

A valid HaruOutline instance or NULL.

encoder

A valid HaruEncoder instance or NULL.

Возвращаемые значения

Returns a new HaruOutline instance.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc


Get HaruEncoder currently used in the document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc
PHP Manual

HaruDoc::getCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document

Описание

object HaruDoc::getCurrentEncoder ( void )

Get the HaruEncoder currently used in the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns HaruEncoder currently used in the document or FALSE if encoder is not set.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setCurrentEncoder() - Set the current encoder for the document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc


Return current page of the document

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc
PHP Manual

HaruDoc::getCurrentPage

(PECL haru >= 0.0.1)

HaruDoc::getCurrentPage — Return current page of the document

Описание

object HaruDoc::getCurrentPage ( void )

Get current page of the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns HaruPage instance on success or FALSE if there is no current page at the moment.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc


Get HaruEncoder instance for the specified encoding

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc
PHP Manual

HaruDoc::getEncoder

(PECL haru >= 0.0.1)

HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding

Описание

object HaruDoc::getEncoder ( string $encoding )

Get the HaruEncoder instance for the specified encoding.

Список параметров

encoding

The encoding name. See Builtin Encodings for the list of allowed values.

Возвращаемые значения

Returns a HaruEncoder instance for the specified encoding.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setCurrentEncoder() - Set the current encoder for the document
  • HaruDoc::getCurrentEncoder() - Get HaruEncoder currently used in the document

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc


Get HaruFont instance

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc
PHP Manual

HaruDoc::getFont

(PECL haru >= 0.0.1)

HaruDoc::getFont — Get HaruFont instance

Описание

object HaruDoc::getFont ( string $fontname [, string $encoding ] )

Get a HaruFont instance.

Список параметров

fontname

The name of the font. See Builtin Fonts for the list of builtin fonts. You can also use the name of a font loaded via HaruDoc::loadTTF(), HaruDoc::loadTTC() and HaruDoc::loadType1().

encoding

The encoding to use. See Builtin Encodings for the list of supported encodings.

Возвращаемые значения

Returns a HaruFont instance with the specified fontname and encoding.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setFontAndSize() - Set font and fontsize for the page
  • HaruPage::setCurrentFont()

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc


Get current value of the specified document attribute

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc
PHP Manual

HaruDoc::getInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::getInfoAttr — Get current value of the specified document attribute

Описание

string HaruDoc::getInfoAttr ( int $type )

Get the current value of the specified document attribute.

Список параметров

type

The type of the attribute. The following values are available:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS
  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

Возвращаемые значения

Returns the string value of the specified document attribute.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setInfoAttr() - Set the info attribute of the document
  • HaruDoc::setInfoDateAttr() - Set the datetime info attributes of the document

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc


Get current page layout

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc
PHP Manual

HaruDoc::getPageLayout

(PECL haru >= 0.0.1)

HaruDoc::getPageLayout — Get current page layout

Описание

int HaruDoc::getPageLayout ( void )

Get the current page layout. See HaruDoc::setPageLayout() for the list of possible values.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the page layout currently set in the document or FALSE if page layout was not set. See HaruDoc::setPageLayout() for the list of possible values.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setPageLayout() - Set how pages should be displayed

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc


Get current page mode

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc
PHP Manual

HaruDoc::getPageMode

(PECL haru >= 0.0.1)

HaruDoc::getPageMode — Get current page mode

Описание

int HaruDoc::getPageMode ( void )

Get the current page mode. See HaruDoc::setPageMode() for the list of possible values.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the page mode currently set in the document. See HaruDoc::setPageMode() for the list of possible values.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setPageMode() - Set how the document should be displayed

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc


Get the size of the temporary stream

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc
PHP Manual

HaruDoc::getStreamSize

(PECL haru >= 0.0.1)

HaruDoc::getStreamSize — Get the size of the temporary stream

Описание

int HaruDoc::getStreamSize ( void )

Get the size of the temporary stream.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the size of the data in the temporary stream of the document. The size is zero if the document was not saved to the temporary stream.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc


Insert new page just before the specified page

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc
PHP Manual

HaruDoc::insertPage

(PECL haru >= 0.0.1)

HaruDoc::insertPage — Insert new page just before the specified page

Описание

object HaruDoc::insertPage ( object $page )

Creates a new page and inserts just before the specified page.

Список параметров

page

A valid HaruPage instance.

Возвращаемые значения

Returns a new HaruPage instance.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::addPage() - Add new page to the document

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc


Load a JPEG image

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc
PHP Manual

HaruDoc::loadJPEG

(PECL haru >= 0.0.1)

HaruDoc::loadJPEG — Load a JPEG image

Описание

object HaruDoc::loadJPEG ( string $filename )

Loads the specified JPEG image.

Список параметров

filename

A valid JPEG image file.

Возвращаемые значения

Returns a new HaruImage instance.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadPNG() - Load PNG image and return HaruImage instance
  • HaruDoc::loadRAW() - Load a RAW image

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc


Load PNG image and return HaruImage instance

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc
PHP Manual

HaruDoc::loadPNG

(PECL haru >= 0.0.1)

HaruDoc::loadPNG — Load PNG image and return HaruImage instance

Описание

object HaruDoc::loadPNG ( string $filename [, bool $deferred = false ] )

Loads a PNG image.

Libharu might be built without libpng support, in this case each call to this function would result in exception.

Список параметров

filename

The name of a PNG image file.

deferred

Do not load data immediately. You can set deferred parameter to TRUE for deferred data loading, in this case only size and color are loaded immediately.

Возвращаемые значения

Returns a HaruImage instance.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadJPEG() - Load a JPEG image
  • HaruDoc::loadRAW() - Load a RAW image

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc


Load a RAW image

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc
PHP Manual

HaruDoc::loadRaw

(PECL haru >= 0.0.1)

HaruDoc::loadRaw — Load a RAW image

Описание

object HaruDoc::loadRaw ( string $filename , int $width , int $height , int $color_space )

Loads a RAW image.

Список параметров

filename

The name of a RAW image file.

width

The width of the image.

height

The height of the image.

color_space

The color space of the image. Can be one of the following values:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK

Возвращаемые значения

Returns a HaruImage instance.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadJPEG() - Load a JPEG image
  • HaruDoc::loadPNG() - Load PNG image and return HaruImage instance

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc


Load the font with the specified index from TTC file

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc
PHP Manual

HaruDoc::loadTTC

(PECL haru >= 0.0.1)

HaruDoc::loadTTC — Load the font with the specified index from TTC file

Описание

string HaruDoc::loadTTC ( string $fontfile , int $index [, bool $embed = false ] )

Loads the TrueType font with the specified index from a TrueType collection file.

Список параметров

fontfile

The TrueType collection file.

index

The index of the font in the collection file.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included.

Возвращаемые значения

Returns the name of the loaded font on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadTTF() - Load TTF font file
  • HaruDoc::loadType1() - Load Type1 font

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc


Load TTF font file

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc
PHP Manual

HaruDoc::loadTTF

(PECL haru >= 0.0.1)

HaruDoc::loadTTF — Load TTF font file

Описание

string HaruDoc::loadTTF ( string $fontfile [, bool $embed = false ] )

Loads the given TTF file and (optionally) embed its data into the document.

Список параметров

fontfile

The TTF file to load.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included.

Возвращаемые значения

Returns the name of the loaded font on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadTTC() - Load the font with the specified index from TTC file
  • HaruDoc::loadType1() - Load Type1 font

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc


Load Type1 font

HaruDoc::loadTTF
HaruDoc::output
HaruDoc
PHP Manual

HaruDoc::loadType1

(PECL haru >= 0.0.1)

HaruDoc::loadType1 — Load Type1 font

Описание

string HaruDoc::loadType1 ( string $afmfile [, string $pfmfile ] )

Loads Type1 font from the given file and registers it in the PDF document.

Список параметров

afmfile

Path to an AFM file.

pfmfile

Path to a PFA/PFB file, optional. If it's not set only the glyph data of the font is embedded into the PDF document.

Возвращаемые значения

Returns the name of the loaded font on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::loadTTC() - Load the font with the specified index from TTC file
  • HaruDoc::loadTTF() - Load TTF font file

HaruDoc::loadTTF
HaruDoc::output
HaruDoc


Write the document data to the output buffer

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc
PHP Manual

HaruDoc::output

(PECL haru >= 0.0.1)

HaruDoc::output — Write the document data to the output buffer

Описание

bool HaruDoc::output ( void )

Writes the document data into standard output.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::save() - Save the document into the specified file

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc


Read data from the temporary stream

HaruDoc::output
HaruDoc::resetError
HaruDoc
PHP Manual

HaruDoc::readFromStream

(PECL haru >= 0.0.1)

HaruDoc::readFromStream — Read data from the temporary stream

Описание

string HaruDoc::readFromStream ( int $bytes )

Read data from the temporary stream.

Список параметров

bytes

The bytes parameter specifies how many bytes to read, though the stream may contain less bytes than requested.

Возвращаемые значения

Returns data from the temporary stream.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream

HaruDoc::output
HaruDoc::resetError
HaruDoc


Reset error state of the document handle

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc
PHP Manual

HaruDoc::resetError

(PECL haru >= 0.0.1)

HaruDoc::resetError — Reset error state of the document handle

Описание

bool HaruDoc::resetError ( void )

Once an error code is set, most of the operations, including I/O processing functions cannot be performed. In case if you want to continue after the cause of the error has been fixed, you have to invoke this function in order to reset the document error state.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Always succeeds and returns TRUE.

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc


Rewind the temporary stream

HaruDoc::resetError
HaruDoc::save
HaruDoc
PHP Manual

HaruDoc::resetStream

(PECL haru >= 0.0.1)

HaruDoc::resetStream — Rewind the temporary stream

Описание

bool HaruDoc::resetStream ( void )

Rewinds the temporary stream of the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::resetError
HaruDoc::save
HaruDoc


Save the document into the specified file

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc
PHP Manual

HaruDoc::save

(PECL haru >= 0.0.1)

HaruDoc::save — Save the document into the specified file

Описание

bool HaruDoc::save ( string $file )

Saves the document into the specified file.

Список параметров

file

The file to save the document to.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::output() - Write the document data to the output buffer

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc


Save the document into a temporary stream

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc
PHP Manual

HaruDoc::saveToStream

(PECL haru >= 0.0.1)

HaruDoc::saveToStream — Save the document into a temporary stream

Описание

bool HaruDoc::saveToStream ( void )

Saves the document data into a temporary stream.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc


Set compression mode for the document

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::setCompressionMode

(PECL haru >= 0.0.1)

HaruDoc::setCompressionMode — Set compression mode for the document

Описание

bool HaruDoc::setCompressionMode ( int $mode )

Defines compression mode for the document. In case when libharu was compiled without Zlib support this function will always throw HaruException.

Список параметров

mode

The compression mode to use. The value is a combination of the following flags:

  • HaruDoc::COMP_NONE - all contents is not compressed.
  • HaruDoc::COMP_TEXT - compress the text data.
  • HaruDoc::COMP_IMAGE - compress the image data.
  • HaruDoc::COMP_METADATA - compress other data (fonts, cmaps).
  • HaruDoc::COMP_ALL - compress all data.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc


Set the current encoder for the document

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc
PHP Manual

HaruDoc::setCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::setCurrentEncoder — Set the current encoder for the document

Описание

bool HaruDoc::setCurrentEncoder ( string $encoding )

Defines the encoder currently used in the document.

Список параметров

encoding

The name of the encoding to use. See Builtin Encodings for the list of allowed values.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc


Set encryption mode for the document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc
PHP Manual

HaruDoc::setEncryptionMode

(PECL haru >= 0.0.1)

HaruDoc::setEncryptionMode — Set encryption mode for the document

Описание

bool HaruDoc::setEncryptionMode ( int $mode [, int $key_len = 5 ] )

Defines encryption mode for the document. The encryption mode cannot be set before setting the password.

Список параметров

mode

The encryption mode to use. Can be one of the following:

  • HaruDoc::ENCRYPT_R2 - use "revision2" algorithm.
  • HaruDoc::ENCRYPT_R3 - use "revision3" algorithm. Using this value bumps the version of PDF to 1.4.

key_len

The encryption key length in bytes. This parameter is optional and used only when mode is HaruDoc::ENCRYPT_R3. The default value is 5 (40bit).

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setPassword() - Set owner and user passwords for the document
  • HaruDoc::setPermission() - Set permissions for the document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc


Set the info attribute of the document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc
PHP Manual

HaruDoc::setInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoAttr — Set the info attribute of the document

Описание

bool HaruDoc::setInfoAttr ( int $type , string $info )

Defines an info attribute. Uses the current encoding of the document.

Список параметров

type

The type of the attribute. Can be one of the following:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS

info

The value of the attribute.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setInfoDateAttr() - Set the datetime info attributes of the document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc


Set the datetime info attributes of the document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc
PHP Manual

HaruDoc::setInfoDateAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document

Описание

bool HaruDoc::setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )

Sets the datetime info attributes of the document.

Список параметров

type

The type of the attribute. Can be one of the following:

  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

year

month

Between 1 and 12.

day

Between 1 and 31, 30, 29 or 28 (different for each month).

hour

Between 0 and 23.

min

Between 0 and 59.

sec

Between 0 and 59.

ind

The timezone relation to UTC, can be "", " ", "+", "-" and "Z".

off_hour

If ind is not " " or "", values between 0 and 23 are valid. Otherwise, this parameter is ignored.

off_min

If ind is not " " or "", values between 0 and 59 are valid. Otherwise, this parameter is ignored.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setInfoAttr() - Set the info attribute of the document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc


Define which page is shown when the document is opened

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc
PHP Manual

HaruDoc::setOpenAction

(PECL haru >= 0.0.1)

HaruDoc::setOpenAction — Define which page is shown when the document is opened

Описание

bool HaruDoc::setOpenAction ( object $destination )

Defines which page should be shown when the document is opened.

Список параметров

destination

A valid HaruDestination instance.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc


Set how pages should be displayed

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc
PHP Manual

HaruDoc::setPageLayout

(PECL haru >= 0.0.1)

HaruDoc::setPageLayout — Set how pages should be displayed

Описание

bool HaruDoc::setPageLayout ( int $layout )

Defines how pages should be displayed.

Список параметров

layout

The following values are accepted:

  • HaruDoc::PAGE_LAYOUT_SINGLE - only one page is displayed.
  • HaruDoc::PAGE_LAYOUT_ONE_COLUMN - display the pages in one column.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - display pages in two columns, first page left.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - display pages in two columns, first page right.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::getPageLayout() - Get current page layout

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc


Set how the document should be displayed

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc
PHP Manual

HaruDoc::setPageMode

(PECL haru >= 0.0.1)

HaruDoc::setPageMode — Set how the document should be displayed

Описание

bool HaruDoc::setPageMode ( int $mode )

Defines how the document should be displayed.

Список параметров

mode

The following values are accepted:

  • HaruDoc::PAGE_MODE_USE_NONE - display the document with neither outline nor thumbnail.
  • HaruDoc::PAGE_MODE_USE_OUTLINE - display the document with outline pane.
  • HaruDoc::PAGE_MODE_USE_THUMBS - display the document with thumbnail pane.
  • HaruDoc::PAGE_MODE_FULL_SCREEN - display the document with full screen mode.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::getPageMode() - Get current page mode

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc


Set the number of pages per set of pages

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc
PHP Manual

HaruDoc::setPagesConfiguration

(PECL haru >= 0.0.1)

HaruDoc::setPagesConfiguration — Set the number of pages per set of pages

Описание

bool HaruDoc::setPagesConfiguration ( int $page_per_pages )

By default the document has one pages object as a root for all pages. All page objects are create as branches of this object. One pages object can contain only 8191, therefore the maximum number of pages per document is 8191. But you can change that fact by setting page_per_pages parameter, so that the root pages object contains 8191 more pages (not page) objects, which in turn contain 8191 pages each. So the maximum number of pages in the document becomes 8191*page_per_pages.

Список параметров

page_per_pages

The numbers of pages that a pages object can contain.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc


Set owner and user passwords for the document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc
PHP Manual

HaruDoc::setPassword

(PECL haru >= 0.0.1)

HaruDoc::setPassword — Set owner and user passwords for the document

Описание

bool HaruDoc::setPassword ( string $owner_password , string $user_password )

Defines owner and user passwords for the document. Setting the passwords makes the document contents encrypted.

Список параметров

owner_password

The password of the owner, which can change permissions of the document. Empty password is not accepted. Owner's password cannot be the same as the user's password.

user_password

The password of the user. Can be empty.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setEncryptionMode() - Set encryption mode for the document
  • HaruDoc::setPermission() - Set permissions for the document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc


Set permissions for the document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc
PHP Manual

HaruDoc::setPermission

(PECL haru >= 0.0.1)

HaruDoc::setPermission — Set permissions for the document

Описание

bool HaruDoc::setPermission ( int $permission )

Defines permissions for the document.

Список параметров

permission

The values is a combination of these flags:

  • HaruDoc::ENABLE_READ - user can read the document.
  • HaruDoc::ENABLE_PRINT - user can print the document.
  • HaruDoc::ENABLE_EDIT_ALL - user can edit the contents of the document other than annotations and form fields.
  • HaruDoc::ENABLE_COPY - user can copy the text and the graphics of the document.
  • HaruDoc::ENABLE_EDIT - user can add or modify the annotations and form fields of the document.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::setPassword() - Set owner and user passwords for the document
  • HaruDoc::setEncryptionMode() - Set encryption mode for the document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc


Enable Chinese simplified encodings

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc
PHP Manual

HaruDoc::useCNSEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNSEncodings — Enable Chinese simplified encodings

Описание

bool HaruDoc::useCNSEncodings ( void )

Enables Chinese simplified encodings.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useCNSFonts() - Enable builtin Chinese simplified fonts

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc


Enable builtin Chinese simplified fonts

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc
PHP Manual

HaruDoc::useCNSFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts

Описание

bool HaruDoc::useCNSFonts ( void )

Enables builtin Chinese simplified fonts.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useCNSEncodings() - Enable Chinese simplified encodings

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc


Enable Chinese traditional encodings

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc
PHP Manual

HaruDoc::useCNTEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNTEncodings — Enable Chinese traditional encodings

Описание

bool HaruDoc::useCNTEncodings ( void )

Enables Chinese traditional encodings.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useCNTFonts() - Enable builtin Chinese traditional fonts

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc


Enable builtin Chinese traditional fonts

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc
PHP Manual

HaruDoc::useCNTFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts

Описание

bool HaruDoc::useCNTFonts ( void )

Enables builtin Chinese traditional fonts.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useCNTEncodings() - Enable Chinese traditional encodings

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc


Enable Japanese encodings

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc
PHP Manual

HaruDoc::useJPEncodings

(PECL haru >= 0.0.1)

HaruDoc::useJPEncodings — Enable Japanese encodings

Описание

bool HaruDoc::useJPEncodings ( void )

Enables Japanese encodings.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useJPFonts() - Enable builtin Japanese fonts

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc


Enable builtin Japanese fonts

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc
PHP Manual

HaruDoc::useJPFonts

(PECL haru >= 0.0.1)

HaruDoc::useJPFonts — Enable builtin Japanese fonts

Описание

bool HaruDoc::useJPFonts ( void )

Enables builtin Japanese fonts.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useJPEncodings() - Enable Japanese encodings

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc


Enable Korean encodings

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc
PHP Manual

HaruDoc::useKREncodings

(PECL haru >= 0.0.1)

HaruDoc::useKREncodings — Enable Korean encodings

Описание

bool HaruDoc::useKREncodings ( void )

Enables Korean encodings.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useKRFonts() - Enable builtin Korean fonts

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc


Enable builtin Korean fonts

HaruDoc::useKREncodings
HaruPage
HaruDoc
PHP Manual

HaruDoc::useKRFonts

(PECL haru >= 0.0.1)

HaruDoc::useKRFonts — Enable builtin Korean fonts

Описание

bool HaruDoc::useKRFonts ( void )

Enables builtin Korean fonts.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::useKREncodings() - Enable Korean encodings

HaruDoc::useKREncodings
HaruPage
HaruDoc


The HaruPage class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Page Class.

Обзор классов

HaruPage {
/* Методы */
bool arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )
bool beginText ( void )
bool circle ( float $x , float $y , float $ray )
bool closePath ( void )
bool concat ( float $a , float $b , float $c , float $d , float $x , float $y )
object createDestination ( void )
object createLinkAnnotation ( array $rectangle , object $destination )
object createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )
object createURLAnnotation ( array $rectangle , string $url )
bool curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )
bool curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )
bool curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
bool drawImage ( object $image , float $x , float $y , float $width , float $height )
bool ellipse ( float $x , float $y , float $xray , float $yray )
bool endPath ( void )
bool endText ( void )
bool eofill ( void )
bool eoFillStroke ([ bool $close_path = false ] )
bool fill ( void )
bool fillStroke ([ bool $close_path = false ] )
float getCharSpace ( void )
array getCMYKFill ( void )
array getCMYKStroke ( void )
object getCurrentFont ( void )
float getCurrentFontSize ( void )
array getCurrentPos ( void )
array getCurrentTextPos ( void )
array getDash ( void )
int getFillingColorSpace ( void )
float getFlatness ( void )
int getGMode ( void )
float getGrayFill ( void )
float getGrayStroke ( void )
float getHeight ( void )
float getHorizontalScaling ( void )
int getLineCap ( void )
int getLineJoin ( void )
float getLineWidth ( void )
float getMiterLimit ( void )
array getRGBFill ( void )
array getRGBStroke ( void )
int getStrokingColorSpace ( void )
float getTextLeading ( void )
array getTextMatrix ( void )
int getTextRenderingMode ( void )
float getTextRise ( void )
float getTextWidth ( string $text )
array getTransMatrix ( void )
float getWidth ( void )
float getWordSpace ( void )
bool lineTo ( float $x , float $y )
int measureText ( string $text , float $width [, bool $wordwrap = false ] )
bool moveTextPos ( float $x , float $y [, bool $set_leading = false ] )
bool moveTo ( float $x , float $y )
bool moveToNextLine ( void )
bool rectangle ( float $x , float $y , float $width , float $height )
bool setCharSpace ( float $char_space )
bool setCMYKFill ( float $c , float $m , float $y , float $k )
bool setCMYKStroke ( float $c , float $m , float $y , float $k )
bool setDash ( array $pattern , int $phase )
bool setFlatness ( float $flatness )
bool setFontAndSize ( object $font , float $size )
bool setGrayFill ( float $value )
bool setGrayStroke ( float $value )
bool setHeight ( float $height )
bool setHorizontalScaling ( float $scaling )
bool setLineCap ( int $cap )
bool setLineJoin ( int $join )
bool setLineWidth ( float $width )
bool setMiterLimit ( float $limit )
bool setRGBFill ( float $r , float $g , float $b )
bool setRGBStroke ( float $r , float $g , float $b )
bool setRotate ( int $angle )
bool setSize ( int $size , int $direction )
bool setSlideShow ( int $type , float $disp_time , float $trans_time )
bool setTextLeading ( float $text_leading )
bool setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
bool setTextRenderingMode ( int $mode )
bool setTextRise ( float $rise )
bool setWidth ( float $width )
bool setWordSpace ( float $word_space )
bool showText ( string $text )
bool showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )
bool stroke ([ bool $close_path = false ] )
bool textOut ( float $x , float $y , string $text )
bool textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )
}

Предопределенные константы

Type | Name | Description
int | HaruPage::GMODE_PAGE_DESCRIPTION |
int | HaruPage::GMODE_TEXT_OBJECT |
int | HaruPage::GMODE_PATH_OBJECT |
int | HaruPage::GMODE_CLIPPING_PATH |
int | HaruPage::GMODE_SHADING |
int | HaruPage::GMODE_INLINE_IMAGE |
int | HaruPage::GMODE_EXTERNAL_OBJECT |
int | HaruPage::BUTT_END |
int | HaruPage::ROUND_END |
int | HaruPage::PROJECTING_SCUARE_END |
int | HaruPage::MITER_JOIN |
int | HaruPage::ROUND_JOIN |
int | HaruPage::BEVEL_JOIN |
int | HaruPage::FILL |
int | HaruPage::STROKE |
int | HaruPage::FILL_THEN_STROKE |
int | HaruPage::INVISIBLE |
int | HaruPage::FILL_CLIPPING |
int | HaruPage::STROKE_CLIPPING |
int | HaruPage::FILL_STROKE_CLIPPING |
int | HaruPage::CLIPPING |
int | HaruPage::TALIGN_LEFT |
int | HaruPage::TALIGN_RIGHT |
int | HaruPage::TALIGN_CENTER |
int | HaruPage::TALIGN_JUSTIFY |
int | HaruPage::SIZE_LETTER |
int | HaruPage::SIZE_LEGAL |
int | HaruPage::SIZE_A3 |
int | HaruPage::SIZE_A4 |
int | HaruPage::SIZE_A5 |
int | HaruPage::SIZE_B4 |
int | HaruPage::SIZE_B5 |
int | HaruPage::SIZE_EXECUTIVE |
int | HaruPage::SIZE_US4x6 |
int | HaruPage::SIZE_US4x8 |
int | HaruPage::SIZE_US5x7 |
int | HaruPage::SIZE_COMM10 |
int | HaruPage::PORTRAIT |
int | HaruPage::LANDSCAPE |
int | HaruPage::TS_WIPE_LIGHT |
int | HaruPage::TS_WIPE_UP |
int | HaruPage::TS_WIPE_LEFT |
int | HaruPage::TS_WIPE_DOWN |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_IN |
int | HaruPage::TS_BARN_DOORS_VERTICAL_OUT |
int | HaruPage::TS_BARN_DOORS_VERTICAL_IN |
int | HaruPage::TS_BOX_OUT |
int | HaruPage::TS_BOX_IN |
int | HaruPage::TS_BLINDS_HORIZONTAL |
int | HaruPage::TS_BLINDS_VERTICAL |
int | HaruPage::TS_DISSOLVE |
int | HaruPage::TS_GLITTER_RIGHT |
int | HaruPage::TS_GLITTER_DOWN |
int | HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT |
int | HaruPage::TS_REPLACE |
int | HaruPage::NUM_STYLE_DECIMAL |
int | HaruPage::NUM_STYLE_UPPER_ROMAN |
int | HaruPage::NUM_STYLE_LOWER_ROMAN |
int | HaruPage::NUM_STYLE_UPPER_LETTERS |
int | HaruPage::NUM_STYLE_LOWER_LETTERS |

Содержание

  • HaruPage::arc — Append an arc to the current path
  • HaruPage::beginText — Begin a text object and set the current text position to (0,0)
  • HaruPage::circle — Append a circle to the current path
  • HaruPage::closePath — Append a straight line from the current point to the start point of the path
  • HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix
  • HaruPage::createDestination — Create new HaruDestination instance
  • HaruPage::createLinkAnnotation — Create new HaruAnnotation instance
  • HaruPage::createTextAnnotation — Create new HaruAnnotation instance
  • HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance
  • HaruPage::curveTo2 — Append a Bezier curve to the current path
  • HaruPage::curveTo3 — Append a Bezier curve to the current path
  • HaruPage::curveTo — Append a Bezier curve to the current path
  • HaruPage::drawImage — Show image at the page
  • HaruPage::ellipse — Append an ellipse to the current path
  • HaruPage::endPath — End current path object without filling and painting operations
  • HaruPage::endText — End current text object
  • HaruPage::eofill — Fill current path using even-odd rule
  • HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path
  • HaruPage::fill — Fill current path using nonzero winding number rule
  • HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path
  • HaruPage::getCharSpace — Get the current value of character spacing
  • HaruPage::getCMYKFill — Get the current filling color
  • HaruPage::getCMYKStroke — Get the current stroking color
  • HaruPage::getCurrentFont — Get the currently used font
  • HaruPage::getCurrentFontSize — Get the current font size
  • HaruPage::getCurrentPos — Get the current position for path painting
  • HaruPage::getCurrentTextPos — Get the current position for text printing
  • HaruPage::getDash — Get the current dash pattern
  • HaruPage::getFillingColorSpace — Get the current filling color space
  • HaruPage::getFlatness — Get the flatness of the page
  • HaruPage::getGMode — Get the current graphics mode
  • HaruPage::getGrayFill — Get the current filling color
  • HaruPage::getGrayStroke — Get the current stroking color
  • HaruPage::getHeight — Get the height of the page
  • HaruPage::getHorizontalScaling — Get the current value of horizontal scaling
  • HaruPage::getLineCap — Get the current line cap style
  • HaruPage::getLineJoin — Get the current line join style
  • HaruPage::getLineWidth — Get the current line width
  • HaruPage::getMiterLimit — Get the value of miter limit
  • HaruPage::getRGBFill — Get the current filling color
  • HaruPage::getRGBStroke — Get the current stroking color
  • HaruPage::getStrokingColorSpace — Get the current stroking color space
  • HaruPage::getTextLeading — Get the current value of line spacing
  • HaruPage::getTextMatrix — Get the current text transformation matrix of the page
  • HaruPage::getTextRenderingMode — Get the current text rendering mode
  • HaruPage::getTextRise — Get the current value of text rising
  • HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing
  • HaruPage::getTransMatrix — Get the current transformation matrix of the page
  • HaruPage::getWidth — Get the width of the page
  • HaruPage::getWordSpace — Get the current value of word spacing
  • HaruPage::lineTo — Draw a line from the current point to the specified point
  • HaruPage::measureText — Calculate the number of characters which can be included within the specified width
  • HaruPage::moveTextPos — Move text position to the specified offset
  • HaruPage::moveTo — Set starting point for new drawing path
  • HaruPage::moveToNextLine — Move text position to the start of the next line
  • HaruPage::rectangle — Append a rectangle to the current path
  • HaruPage::setCharSpace — Set character spacing for the page
  • HaruPage::setCMYKFill — Set filling color for the page
  • HaruPage::setCMYKStroke — Set stroking color for the page
  • HaruPage::setDash — Set the dash pattern for the page
  • HaruPage::setFlatness — Set flatness for the page
  • HaruPage::setFontAndSize — Set font and fontsize for the page
  • HaruPage::setGrayFill — Set filling color for the page
  • HaruPage::setGrayStroke — Sets stroking color for the page
  • HaruPage::setHeight — Set height of the page
  • HaruPage::setHorizontalScaling — Set horizontal scaling for the page
  • HaruPage::setLineCap — Set the shape to be used at the ends of lines
  • HaruPage::setLineJoin — Set line join style for the page
  • HaruPage::setLineWidth — Set line width for the page
  • HaruPage::setMiterLimit — Set the current value of the miter limit of the page
  • HaruPage::setRGBFill — Set filling color for the page
  • HaruPage::setRGBStroke — Set stroking color for the page
  • HaruPage::setRotate — Set rotation angle of the page
  • HaruPage::setSize — Set size and direction of the page
  • HaruPage::setSlideShow — Set transition style for the page
  • HaruPage::setTextLeading — Set text leading (line spacing) for the page
  • HaruPage::setTextMatrix — Set the current text transformation matrix of the page
  • HaruPage::setTextRenderingMode — Set text rendering mode for the page
  • HaruPage::setTextRise — Set the current value of text rising
  • HaruPage::setWidth — Set width of the page
  • HaruPage::setWordSpace — Set word spacing for the page
  • HaruPage::showText — Print text at the current position of the page
  • HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text
  • HaruPage::stroke — Paint current path
  • HaruPage::textOut — Print the text on the specified position
  • HaruPage::textRect — Print the text inside the specified region
HaruDoc::useKRFonts
HaruPage::arc
haru


Append an arc to the current path

HaruPage
HaruPage::beginText
HaruPage
PHP Manual

HaruPage::arc

(PECL haru >= 0.0.1)

HaruPage::arc — Append an arc to the current path

Описание

bool HaruPage::arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )

Appends an arc to the current path.

Список параметров

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

ray

The ray of the arc.

ang1

The angle of the beginning.

ang2

The angle of the end. Must be greater than ang1.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage
HaruPage::beginText
HaruPage


Begin a text object and set the current text position to (0,0)

HaruPage::arc
HaruPage::circle
HaruPage
PHP Manual

HaruPage::beginText

(PECL haru >= 0.0.1)

HaruPage::beginText — Begin a text object and set the current text position to (0,0)

Описание

bool HaruPage::beginText ( void )

Begins new text object and sets the current text position to (0,0).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::arc
HaruPage::circle
HaruPage


Append a circle to the current path

HaruPage::beginText
HaruPage::closePath
HaruPage
PHP Manual

HaruPage::circle

(PECL haru >= 0.0.1)

HaruPage::circle — Append a circle to the current path

Описание

bool HaruPage::circle ( float $x , float $y , float $ray )

Appends a circle to the current path.

Список параметров

x

Horizontal coordinate of the center point.

y

Vertical coordinate of the center point.

ray

The ray of the circle.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::beginText
HaruPage::closePath
HaruPage


Append a straight line from the current point to the start point of the path

HaruPage::circle
HaruPage::concat
HaruPage
PHP Manual

HaruPage::closePath

(PECL haru >= 0.0.1)

HaruPage::closePath — Append a straight line from the current point to the start point of the path

Описание

bool HaruPage::closePath ( void )

Appends a straight line from the current point to the start point of the path.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::circle
HaruPage::concat
HaruPage


Concatenate current transformation matrix of the page and the specified matrix

HaruPage::closePath
HaruPage::createDestination
HaruPage
PHP Manual

HaruPage::concat

(PECL haru >= 0.0.1)

HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix

Описание

bool HaruPage::concat ( float $a , float $b , float $c , float $d , float $x , float $y )

Concatenates current transformation matrix of the page and the specified matrix.

Список параметров

a

b

c

d

x

y

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::closePath
HaruPage::createDestination
HaruPage


Create new HaruDestination instance

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage
PHP Manual

HaruPage::createDestination

(PECL haru >= 0.0.1)

HaruPage::createDestination — Create new HaruDestination instance

Описание

object HaruPage::createDestination ( void )

Create a new HaruDestination instance.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a new HaruDestination instance.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage


Create new HaruAnnotation instance

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage
PHP Manual

HaruPage::createLinkAnnotation

(PECL haru >= 0.0.1)

HaruPage::createLinkAnnotation — Create new HaruAnnotation instance

Описание

object HaruPage::createLinkAnnotation ( array $rectangle , object $destination )

Creates a new HaruAnnotation instance.

Список параметров

rectangle

An array with 4 coordinates of the clickable area.

destination

Valid HaruDestination instance.

Возвращаемые значения

Returns a new HaruAnnotation instance.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage


Create new HaruAnnotation instance

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage
PHP Manual

HaruPage::createTextAnnotation

(PECL haru >= 0.0.1)

HaruPage::createTextAnnotation — Create new HaruAnnotation instance

Описание

object HaruPage::createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )

Creates a new HaruAnnotation instance.

Список параметров

rectangle

An array with 4 coordinates of the annotation area.

text

The text to be displayed.

encoder

Optional HaruEncoder instance.

Возвращаемые значения

Returns a new HaruAnnotation instance.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage


Create and return new HaruAnnotation instance

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage
PHP Manual

HaruPage::createURLAnnotation

(PECL haru >= 0.0.1)

HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance

Описание

object HaruPage::createURLAnnotation ( array $rectangle , string $url )

Creates a new HaruAnnotation instance.

Список параметров

rectangle

An array with 4 coordinates of the clickable area.

url

The URL to open.

Возвращаемые значения

Returns a new HaruAnnotation instance.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage


Append a Bezier curve to the current path

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage
PHP Manual

HaruPage::curveTo2

(PECL haru >= 0.0.1)

HaruPage::curveTo2 — Append a Bezier curve to the current path

Описание

bool HaruPage::curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )

Appends a Bezier curve to the current path. The current point and the point (x2, y2) are used as the control points for the Bezier curve and current point is moved to the point (x3, y3).

Список параметров

x2

A Bezier curve control point.

y2

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage


Append a Bezier curve to the current path

HaruPage::curveTo2
HaruPage::curveTo
HaruPage
PHP Manual

HaruPage::curveTo3

(PECL haru >= 0.0.1)

HaruPage::curveTo3 — Append a Bezier curve to the current path

Описание

bool HaruPage::curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )

Appends a Bezier curve to the current path. The point (x1, y1) and the point (x3, y3) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

Список параметров

x1

A Bezier curve control point.

y1

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::curveTo2
HaruPage::curveTo
HaruPage


Append a Bezier curve to the current path

HaruPage::curveTo3
HaruPage::drawImage
HaruPage
PHP Manual

HaruPage::curveTo

(PECL haru >= 0.0.1)

HaruPage::curveTo — Append a Bezier curve to the current path

Описание

bool HaruPage::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Append a Bezier curve to the current path. The point (x1, y1) and the point (x2, y2) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

Список параметров

x1

A Bezier curve control point.

y1

A Bezier curve control point.

x2

A Bezier curve control point.

y2

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::curveTo3
HaruPage::drawImage
HaruPage


Show image at the page

HaruPage::curveTo
HaruPage::ellipse
HaruPage
PHP Manual

HaruPage::drawImage

(PECL haru >= 0.0.1)

HaruPage::drawImage — Show image at the page

Описание

bool HaruPage::drawImage ( object $image , float $x , float $y , float $width , float $height )

Show image at the page.

Список параметров

image

Valid HaruImage instance.

x

The left border of the area where the image is displayed.

y

The lower border of the area where the image is displayed.

width

The width of the image area.

height

The height of the image area.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::curveTo
HaruPage::ellipse
HaruPage


Append an ellipse to the current path

HaruPage::drawImage
HaruPage::endPath
HaruPage
PHP Manual

HaruPage::ellipse

(PECL haru >= 0.0.1)

HaruPage::ellipse — Append an ellipse to the current path

Описание

bool HaruPage::ellipse ( float $x , float $y , float $xray , float $yray )

Appends an ellipse to the current path.

Список параметров

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

xray

The ray of the ellipse in the x direction.

yray

The ray of the ellipse in the y direction.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::drawImage
HaruPage::endPath
HaruPage


End current path object without filling and painting operations

HaruPage::ellipse
HaruPage::endText
HaruPage
PHP Manual

HaruPage::endPath

(PECL haru >= 0.0.1)

HaruPage::endPath — End current path object without filling and painting operations

Описание

bool HaruPage::endPath ( void )

Ends current path object without performing filling and painting operations.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::ellipse
HaruPage::endText
HaruPage


End current text object

HaruPage::endPath
HaruPage::eofill
HaruPage
PHP Manual

HaruPage::endText

(PECL haru >= 0.0.1)

HaruPage::endText — End current text object

Описание

bool HaruPage::endText ( void )

Finalizes current text object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::endPath
HaruPage::eofill
HaruPage


Fill current path using even-odd rule

HaruPage::endText
HaruPage::eoFillStroke
HaruPage
PHP Manual

HaruPage::eofill

(PECL haru >= 0.0.1)

HaruPage::eofill — Fill current path using even-odd rule

Описание

bool HaruPage::eofill ( void )

Fills current path using even-odd rule.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::endText
HaruPage::eoFillStroke
HaruPage


Fill current path using even-odd rule, then paint the path

HaruPage::eofill
HaruPage::fill
HaruPage
PHP Manual

HaruPage::eoFillStroke

(PECL haru >= 0.0.1)

HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path

Описание

bool HaruPage::eoFillStroke ([ bool $close_path = false ] )

Fills current path using even-odd rule, then paints the path.

Список параметров

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::eofill
HaruPage::fill
HaruPage


Fill current path using nonzero winding number rule

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage
PHP Manual

HaruPage::fill

(PECL haru >= 0.0.1)

HaruPage::fill — Fill current path using nonzero winding number rule

Описание

bool HaruPage::fill ( void )

Fills current path using nonzero winding number rule.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage


Fill current path using nonzero winding number rule, then paint the path

HaruPage::fill
HaruPage::getCharSpace
HaruPage
PHP Manual

HaruPage::fillStroke

(PECL haru >= 0.0.1)

HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path

Описание

bool HaruPage::fillStroke ([ bool $close_path = false ] )

Fills current path using nonzero winding number rule, then paints the path.

Список параметров

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::fill
HaruPage::getCharSpace
HaruPage


Get the current value of character spacing

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage
PHP Manual

HaruPage::getCharSpace

(PECL haru >= 0.0.1)

HaruPage::getCharSpace — Get the current value of character spacing

Описание

float HaruPage::getCharSpace ( void )

Get the current value of character spacing.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current value of character spacing.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage


Get the current filling color

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage
PHP Manual

HaruPage::getCMYKFill

(PECL haru >= 0.0.1)

HaruPage::getCMYKFill — Get the current filling color

Описание

array HaruPage::getCMYKFill ( void )

Returns the current filling color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current filling color as an array with 4 elements ("c", "m", "y" and "k").

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage


Get the current stroking color

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage
PHP Manual

HaruPage::getCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::getCMYKStroke — Get the current stroking color

Описание

array HaruPage::getCMYKStroke ( void )

Get the current stroking color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current stroking color as an array with 4 elements ("c", "m", "y" and "k").

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage


Get the currently used font

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage
PHP Manual

HaruPage::getCurrentFont

(PECL haru >= 0.0.1)

HaruPage::getCurrentFont — Get the currently used font

Описание

object HaruPage::getCurrentFont ( void )

Get the currently used font.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the currently used font as an instance of HaruFont.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage


Get the current font size

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage
PHP Manual

HaruPage::getCurrentFontSize

(PECL haru >= 0.0.1)

HaruPage::getCurrentFontSize — Get the current font size

Описание

float HaruPage::getCurrentFontSize ( void )

Get the current font size.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current font size.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage


Get the current position for path painting

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage
PHP Manual

HaruPage::getCurrentPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentPos — Get the current position for path painting

Описание

array HaruPage::getCurrentPos ( void )

Get the current position for path painting.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current position for path painting as an array of with two elements - "x" and "y".

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage


Get the current position for text printing

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage
PHP Manual

HaruPage::getCurrentTextPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentTextPos — Get the current position for text printing

Описание

array HaruPage::getCurrentTextPos ( void )

Get the current position for text printing.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current position for text printing as an array with 2 elements - "x" and "y".

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage


Get the current dash pattern

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage
PHP Manual

HaruPage::getDash

(PECL haru >= 0.0.1)

HaruPage::getDash — Get the current dash pattern

Описание

array HaruPage::getDash ( void )

Get the current dash pattern. See HaruPage::setDash() for more information on dash patterns.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current dash pattern as an array of two elements - "pattern" and "phase" or FALSE if dash pattern was not set.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setDash() - Set the dash pattern for the page

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage


Get the current filling color space

HaruPage::getDash
HaruPage::getFlatness
HaruPage
PHP Manual

HaruPage::getFillingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getFillingColorSpace — Get the current filling color space

Описание

int HaruPage::getFillingColorSpace ( void )

Get the current filling color space.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current filling color space. The result value is one of the following:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK
  • HaruDoc::CS_CAL_GRAY
  • HaruDoc::CS_CAL_RGB
  • HaruDoc::CS_LAB
  • HaruDoc::CS_ICC_BASED
  • HaruDoc::CS_SEPARATION
  • HaruDoc::CS_DEVICE_N
  • HaruDoc::CS_INDEXED
  • HaruDoc::CS_PATTERN

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getDash
HaruPage::getFlatness
HaruPage


Get the flatness of the page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage
PHP Manual

HaruPage::getFlatness

(PECL haru >= 0.0.1)

HaruPage::getFlatness — Get the flatness of the page

Описание

float HaruPage::getFlatness ( void )

Get the flatness of the page.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the flatness of the page.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setFlatness() - Set flatness for the page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage


Get the current graphics mode

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage
PHP Manual

HaruPage::getGMode

(PECL haru >= 0.0.1)

HaruPage::getGMode — Get the current graphics mode

Описание

int HaruPage::getGMode ( void )

Get the current graphics mode.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current graphics mode. The result value is one of the following:

  • HaruPage::GMODE_PAGE_DESCRIPTION
  • HaruPage::GMODE_TEXT_OBJECT
  • HaruPage::GMODE_PATH_OBJECT
  • HaruPage::GMODE_CLIPPING_PATH
  • HaruPage::GMODE_SHADING
  • HaruPage::GMODE_INLINE_IMAGE
  • HaruPage::GMODE_EXTERNAL_OBJECT

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage


Get the current filling color

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage
PHP Manual

HaruPage::getGrayFill

(PECL haru >= 0.0.1)

HaruPage::getGrayFill — Get the current filling color

Описание

float HaruPage::getGrayFill ( void )

Get the current filling color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current filling color.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setGrayFill() - Set filling color for the page

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage


Get the current stroking color

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage
PHP Manual

HaruPage::getGrayStroke

(PECL haru >= 0.0.1)

HaruPage::getGrayStroke — Get the current stroking color

Описание

float HaruPage::getGrayStroke ( void )

Get the current stroking color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current stroking color.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setGrayStroke() - Sets stroking color for the page

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage


Get the height of the page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage
PHP Manual

HaruPage::getHeight

(PECL haru >= 0.0.1)

HaruPage::getHeight — Get the height of the page

Описание

float HaruPage::getHeight ( void )

Get the height of the page.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the height of the page.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setHeight() - Set height of the page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage


Get the current value of horizontal scaling

HaruPage::getHeight
HaruPage::getLineCap
HaruPage
PHP Manual

HaruPage::getHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::getHorizontalScaling — Get the current value of horizontal scaling

Описание

float HaruPage::getHorizontalScaling ( void )

Get the current value of the horizontal scaling.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current value of horizontal scaling.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setHorizontalScaling() - Set horizontal scaling for the page

HaruPage::getHeight
HaruPage::getLineCap
HaruPage


Get the current line cap style

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage
PHP Manual

HaruPage::getLineCap

(PECL haru >= 0.0.1)

HaruPage::getLineCap — Get the current line cap style

Описание

int HaruPage::getLineCap ( void )

Get the current line cap style.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current line cap style. The result value is one of the following:

  • HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
  • HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
  • HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setLineCap() - Set the shape to be used at the ends of lines

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage


Get the current line join style

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage
PHP Manual

HaruPage::getLineJoin

(PECL haru >= 0.0.1)

HaruPage::getLineJoin — Get the current line join style

Описание

int HaruPage::getLineJoin ( void )

Get the current line join style.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current line join style. The result value is one of the following:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setLineJoin() - Set line join style for the page

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage


Get the current line width

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage
PHP Manual

HaruPage::getLineWidth

(PECL haru >= 0.0.1)

HaruPage::getLineWidth — Get the current line width

Описание

float HaruPage::getLineWidth ( void )

Get the current line width.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current line width.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setLineWidth() - Set line width for the page

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage


Get the value of miter limit

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage
PHP Manual

HaruPage::getMiterLimit

(PECL haru >= 0.0.1)

HaruPage::getMiterLimit — Get the value of miter limit

Описание

float HaruPage::getMiterLimit ( void )

Get the value of the miter limit.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the value of the miter limit.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setMiterLimit() - Set the current value of the miter limit of the page

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage


Get the current filling color

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage
PHP Manual

HaruPage::getRGBFill

(PECL haru >= 0.0.1)

HaruPage::getRGBFill — Get the current filling color

Описание

array HaruPage::getRGBFill ( void )

Get the current filling color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current filling color as an array with 3 elements: "r", "g" and "b".

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setRGBFill() - Set filling color for the page

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage


Get the current stroking color

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage
PHP Manual

HaruPage::getRGBStroke

(PECL haru >= 0.0.1)

HaruPage::getRGBStroke — Get the current stroking color

Описание

array HaruPage::getRGBStroke ( void )

Get the current stroking color.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current stroking color.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setRGBStroke() - Set stroking color for the page

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage


Get the current stroking color space

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage
PHP Manual

HaruPage::getStrokingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getStrokingColorSpace — Get the current stroking color space

Описание

int HaruPage::getStrokingColorSpace ( void )

Get the current stroking color space.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current stroking color space. The list of return values is the same as for HaruPage::getFillingColorSpace()

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getFillingColorSpace() - Get the current filling color space

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage


Get the current value of line spacing

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage
PHP Manual

HaruPage::getTextLeading

(PECL haru >= 0.0.1)

HaruPage::getTextLeading — Get the current value of line spacing

Описание

float HaruPage::getTextLeading ( void )

Get the current value of line spacing.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current value of line spacing.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setTextLeading() - Set text leading (line spacing) for the page

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage


Get the current text transformation matrix of the page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage
PHP Manual

HaruPage::getTextMatrix

(PECL haru >= 0.0.1)

HaruPage::getTextMatrix — Get the current text transformation matrix of the page

Описание

array HaruPage::getTextMatrix ( void )

Get the current text transformation matrix of the page.

Возвращаемые значения

Returns the current text transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setTextMatrix() - Set the current text transformation matrix of the page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage


Get the current text rendering mode

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage
PHP Manual

HaruPage::getTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::getTextRenderingMode — Get the current text rendering mode

Описание

int HaruPage::getTextRenderingMode ( void )

Get the current text rendering mode.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current text rendering mode. The result value is one of the following:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setTextRenderingMode() - Set text rendering mode for the page

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage


Get the current value of text rising

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage
PHP Manual

HaruPage::getTextRise

(PECL haru >= 0.0.1)

HaruPage::getTextRise — Get the current value of text rising

Описание

float HaruPage::getTextRise ( void )

Get the current value of text rising.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current value of text rising.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setTextRise() - Set the current value of text rising

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage


Get the width of the text using current fontsize, character spacing and word spacing

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage
PHP Manual

HaruPage::getTextWidth

(PECL haru >= 0.0.1)

HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing

Описание

float HaruPage::getTextWidth ( string $text )

Get the width of the text using current fontsize, character spacing and word spacing

Список параметров

text

The text to measure.

Возвращаемые значения

Returns the width of the text using current fontsize, character spacing and word spacing.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::measureText() - Calculate the number of characters which can be included within the specified width

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage


Get the current transformation matrix of the page

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage
PHP Manual

HaruPage::getTransMatrix

(PECL haru >= 0.0.1)

HaruPage::getTransMatrix — Get the current transformation matrix of the page

Описание

array HaruPage::getTransMatrix ( void )

Get the current transformation matrix of the page.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::concat() - Concatenate current transformation matrix of the page and the specified matrix

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage


Get the width of the page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage
PHP Manual

HaruPage::getWidth

(PECL haru >= 0.0.1)

HaruPage::getWidth — Get the width of the page

Описание

float HaruPage::getWidth ( void )

Get the width of the page.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the width of the page.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setWidth() - Set width of the page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage


Get the current value of word spacing

HaruPage::getWidth
HaruPage::lineTo
HaruPage
PHP Manual

HaruPage::getWordSpace

(PECL haru >= 0.0.1)

HaruPage::getWordSpace — Get the current value of word spacing

Описание

float HaruPage::getWordSpace ( void )

Get the current value of word spacing.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current value of word spacing.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setWordSpace() - Set word spacing for the page

HaruPage::getWidth
HaruPage::lineTo
HaruPage


Draw a line from the current point to the specified point

HaruPage::getWordSpace
HaruPage::measureText
HaruPage
PHP Manual

HaruPage::lineTo

(PECL haru >= 0.0.1)

HaruPage::lineTo — Draw a line from the current point to the specified point

Описание

bool HaruPage::lineTo ( float $x , float $y )

Draws a line from the current point to the specified point.

Список параметров

x

y

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::curveTo() - Append a Bezier curve to the current path
  • HaruPage::curveTo2() - Append a Bezier curve to the current path
  • HaruPage::curveTo3() - Append a Bezier curve to the current path

HaruPage::getWordSpace
HaruPage::measureText
HaruPage


Calculate the number of characters which can be included within the specified width

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage
PHP Manual

HaruPage::measureText

(PECL haru >= 0.0.1)

HaruPage::measureText — Calculate the number of characters which can be included within the specified width

Описание

int HaruPage::measureText ( string $text , float $width [, bool $wordwrap = false ] )

Get the number of characters which can be included within the specified width.

Список параметров

text

The text to measure.

width

The width of the area to put the text to.

wordwrap

When this parameter is set to TRUE the function "emulates" word wrapping and doesn't include the part of the current word if reached the end of the area.

Возвращаемые значения

Returns the number of characters which can be included within the specified width.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruFont::measureText() - Calculate the number of characters which can be included within the specified width

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage


Move text position to the specified offset

HaruPage::measureText
HaruPage::moveTo
HaruPage
PHP Manual

HaruPage::moveTextPos

(PECL haru >= 0.0.1)

HaruPage::moveTextPos — Move text position to the specified offset

Описание

bool HaruPage::moveTextPos ( float $x , float $y [, bool $set_leading = false ] )

Moves text position to the specified offset. If the start position of the current line is (x1, y1), the start of the next line is (x1 + x, y1 + y).

Список параметров

x

The specified text position offset.

y

The specified text position offset.

set_leading

If set to TRUE, the function sets the text leading to -y.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::moveToNextLine() - Move text position to the start of the next line

HaruPage::measureText
HaruPage::moveTo
HaruPage


Set starting point for new drawing path

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage
PHP Manual

HaruPage::moveTo

(PECL haru >= 0.0.1)

HaruPage::moveTo — Set starting point for new drawing path

Описание

bool HaruPage::moveTo ( float $x , float $y )

Defines starting point for new drawing path.

Список параметров

x

A new starting point coordinate.

y

A new starting point coordinate.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage


Move text position to the start of the next line

HaruPage::moveTo
HaruPage::rectangle
HaruPage
PHP Manual

HaruPage::moveToNextLine

(PECL haru >= 0.0.1)

HaruPage::moveToNextLine — Move text position to the start of the next line

Описание

bool HaruPage::moveToNextLine ( void )

Moves text position to the start of the next line.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::moveTextPos() - Move text position to the specified offset

HaruPage::moveTo
HaruPage::rectangle
HaruPage


Append a rectangle to the current path

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage
PHP Manual

HaruPage::rectangle

(PECL haru >= 0.0.1)

HaruPage::rectangle — Append a rectangle to the current path

Описание

bool HaruPage::rectangle ( float $x , float $y , float $width , float $height )

Appends a rectangle to the current drawing path.

Список параметров

x

The left border of the rectangle.

y

The lower border of the rectangle.

width

The width of the rectangle.

height

The height of the rectangle.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage


Set character spacing for the page

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage
PHP Manual

HaruPage::setCharSpace

(PECL haru >= 0.0.1)

HaruPage::setCharSpace — Set character spacing for the page

Описание

bool HaruPage::setCharSpace ( float $char_space )

Defines character spacing for the page.

Список параметров

char_space

The new character spacing for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getCharSpace() - Get the current value of character spacing

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage


Set filling color for the page

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage
PHP Manual

HaruPage::setCMYKFill

(PECL haru >= 0.0.1)

HaruPage::setCMYKFill — Set filling color for the page

Описание

bool HaruPage::setCMYKFill ( float $c , float $m , float $y , float $k )

Defines filling color for the page.

Список параметров

c

m

y

k

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getCMYKFill() - Get the current filling color

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage


Set stroking color for the page

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage
PHP Manual

HaruPage::setCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::setCMYKStroke — Set stroking color for the page

Описание

bool HaruPage::setCMYKStroke ( float $c , float $m , float $y , float $k )

Defines stroking color for the page.

Список параметров

c

m

y

k

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getCMYKStroke() - Get the current stroking color

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage


Set the dash pattern for the page

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage
PHP Manual

HaruPage::setDash

(PECL haru >= 0.0.1)

HaruPage::setDash — Set the dash pattern for the page

Описание

bool HaruPage::setDash ( array $pattern , int $phase )

Defines the dash pattern for the page.

Список параметров

pattern

An array (8 elements max) which contains a pattern of dashes and gaps used for lines on the page.

phase

The phase on which the pattern begins.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getDash() - Get the current dash pattern

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage


Set flatness for the page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage
PHP Manual

HaruPage::setFlatness

(PECL haru >= 0.0.1)

HaruPage::setFlatness — Set flatness for the page

Описание

bool HaruPage::setFlatness ( float $flatness )

Defines flatness for the page.

Список параметров

flatness

The defined flatness for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getFlatness() - Get the flatness of the page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage


Set font and fontsize for the page

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage
PHP Manual

HaruPage::setFontAndSize

(PECL haru >= 0.0.1)

HaruPage::setFontAndSize — Set font and fontsize for the page

Описание

bool HaruPage::setFontAndSize ( object $font , float $size )

Defines current font and its size for the page.

Список параметров

font

A valid HaruFont instance.

size

The size of the font.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruDoc::getFont() - Get HaruFont instance

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage


Set filling color for the page

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage
PHP Manual

HaruPage::setGrayFill

(PECL haru >= 0.0.1)

HaruPage::setGrayFill — Set filling color for the page

Описание

bool HaruPage::setGrayFill ( float $value )

Defines filling color for the page.

Список параметров

value

The value of gray level between 0 and 1.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getGrayFill() - Get the current filling color

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage


Sets stroking color for the page

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage
PHP Manual

HaruPage::setGrayStroke

(PECL haru >= 0.0.1)

HaruPage::setGrayStroke — Sets stroking color for the page

Описание

bool HaruPage::setGrayStroke ( float $value )

Defines stroking color for the page.

Список параметров

value

The value of gray level between 0 and 1.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getGrayStroke() - Get the current stroking color

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage


Set height of the page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage
PHP Manual

HaruPage::setHeight

(PECL haru >= 0.0.1)

HaruPage::setHeight — Set height of the page

Описание

bool HaruPage::setHeight ( float $height )

Defines height of the page.

Список параметров

height

The defined height for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getHeight() - Get the height of the page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage


Set horizontal scaling for the page

HaruPage::setHeight
HaruPage::setLineCap
HaruPage
PHP Manual

HaruPage::setHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::setHorizontalScaling — Set horizontal scaling for the page

Описание

bool HaruPage::setHorizontalScaling ( float $scaling )

Set the horizontal scaling for the page.

Список параметров

scaling

The horizontal scaling for text showing on the page. The initial value is 100.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getHorizontalScaling() - Get the current value of horizontal scaling

HaruPage::setHeight
HaruPage::setLineCap
HaruPage


Set the shape to be used at the ends of lines

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage
PHP Manual

HaruPage::setLineCap

(PECL haru >= 0.0.1)

HaruPage::setLineCap — Set the shape to be used at the ends of lines

Описание

bool HaruPage::setLineCap ( int $cap )

Defines the shape to be used at the ends of lines.

Список параметров

cap

Must be one of the following values:

  • HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
  • HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
  • HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getLineCap() - Get the current line cap style

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage


Set line join style for the page

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage
PHP Manual

HaruPage::setLineJoin

(PECL haru >= 0.0.1)

HaruPage::setLineJoin — Set line join style for the page

Описание

bool HaruPage::setLineJoin ( int $join )

Defines line join style for the page.

Список параметров

join

Must be one of the following values:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getLineJoin() - Get the current line join style

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage


Set line width for the page

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage
PHP Manual

HaruPage::setLineWidth

(PECL haru >= 0.0.1)

HaruPage::setLineWidth — Set line width for the page

Описание

bool HaruPage::setLineWidth ( float $width )

Defines line width for the page.

Список параметров

width

The defined line width for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getLineWidth() - Get the current line width

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage


Set the current value of the miter limit of the page

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage
PHP Manual

HaruPage::setMiterLimit

(PECL haru >= 0.0.1)

HaruPage::setMiterLimit — Set the current value of the miter limit of the page

Описание

bool HaruPage::setMiterLimit ( float $limit )

Set the current value of the miter limit of the page.

Список параметров

limit

Defines the current value of the miter limit of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getMiterLimit() - Get the value of miter limit

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage


Set filling color for the page

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage
PHP Manual

HaruPage::setRGBFill

(PECL haru >= 0.0.1)

HaruPage::setRGBFill — Set filling color for the page

Описание

bool HaruPage::setRGBFill ( float $r , float $g , float $b )

Defines filling color for the page. All values must be between 0 and 1.

Список параметров

r

g

b

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getRGBFill() - Get the current filling color

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage


Set stroking color for the page

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage
PHP Manual

HaruPage::setRGBStroke

(PECL haru >= 0.0.1)

HaruPage::setRGBStroke — Set stroking color for the page

Описание

bool HaruPage::setRGBStroke ( float $r , float $g , float $b )

Defines stroking color for the page. All values must be between 0 and 1.

Список параметров

r

g

b

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getRGBStroke() - Get the current stroking color

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage


Set rotation angle of the page

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage
PHP Manual

HaruPage::setRotate

(PECL haru >= 0.0.1)

HaruPage::setRotate — Set rotation angle of the page

Описание

bool HaruPage::setRotate ( int $angle )

Defines rotation angle of the page.

Список параметров

angle

Must be a multiple of 90 degrees.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage


Set size and direction of the page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage
PHP Manual

HaruPage::setSize

(PECL haru >= 0.0.1)

HaruPage::setSize — Set size and direction of the page

Описание

bool HaruPage::setSize ( int $size , int $direction )

Changes size and direction of the page to a predefined format.

Список параметров

size

Must be one of the following values:

  • HaruPage::SIZE_LETTER
  • HaruPage::SIZE_LEGAL
  • HaruPage::SIZE_A3
  • HaruPage::SIZE_A4
  • HaruPage::SIZE_A5
  • HaruPage::SIZE_B4
  • HaruPage::SIZE_B5
  • HaruPage::SIZE_EXECUTIVE
  • HaruPage::SIZE_US4x6
  • HaruPage::SIZE_US4x8
  • HaruPage::SIZE_US5x7
  • HaruPage::SIZE_COMM10

direction

Must be one of the following values:

  • HaruPage::PORTRAIT
  • HaruPage::LANDSCAPE

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::setWidth() - Set width of the page
  • HaruPage::setHeight() - Set height of the page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage


Set transition style for the page

HaruPage::setSize
HaruPage::setTextLeading
HaruPage
PHP Manual

HaruPage::setSlideShow

(PECL haru >= 0.0.1)

HaruPage::setSlideShow — Set transition style for the page

Описание

bool HaruPage::setSlideShow ( int $type , float $disp_time , float $trans_time )

Defines transition style for the page.

Список параметров

type

Must be one of the following values:

  • HaruPage::TS_WIPE_RIGHT
  • HaruPage::TS_WIPE_LEFT
  • HaruPage::TS_WIPE_UP
  • HaruPage::TS_WIPE_DOWN
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
  • HaruPage::TS_BARN_DOORS_VERTICAL_OUT
  • HaruPage::TS_BARN_DOORS_VERTICAL_IN
  • HaruPage::TS_BOX_OUT
  • HaruPage::TS_BOX_IN
  • HaruPage::TS_BLINDS_HORIZONTAL
  • HaruPage::TS_BLINDS_VERTICAL
  • HaruPage::TS_DISSOLVE
  • HaruPage::TS_GLITTER_RIGHT
  • HaruPage::TS_GLITTER_DOWN
  • HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT
  • HaruPage::TS_REPLACE

disp_time

The display duration of the page in seconds.

trans_time

The duration of the transition effect in seconds.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::setSize
HaruPage::setTextLeading
HaruPage


Set text leading (line spacing) for the page

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage
PHP Manual

HaruPage::setTextLeading

(PECL haru >= 0.0.1)

HaruPage::setTextLeading — Set text leading (line spacing) for the page

Описание

bool HaruPage::setTextLeading ( float $text_leading )

Set the text leading (line spacing) for the page.

Список параметров

text_leading

Defines line spacing for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getTextLeading() - Get the current value of line spacing

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage


Set the current text transformation matrix of the page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage
PHP Manual

HaruPage::setTextMatrix

(PECL haru >= 0.0.1)

HaruPage::setTextMatrix — Set the current text transformation matrix of the page

Описание

bool HaruPage::setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )

Defines the text transformation matrix of the page.

Список параметров

a

Width multiplier.

b

Vertical skew in radians.

c

Horizontal skew in radians.

d

Height multiplier.

x

Horizontal position for text.

y

Vertical position for text.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getTextMatrix() - Get the current text transformation matrix of the page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage


Set text rendering mode for the page

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage
PHP Manual

HaruPage::setTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::setTextRenderingMode — Set text rendering mode for the page

Описание

bool HaruPage::setTextRenderingMode ( int $mode )

Defines text rendering mode for the page.

Список параметров

mode

Must be one of the following values:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getTextRenderingMode() - Get the current text rendering mode

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage


Set the current value of text rising

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage
PHP Manual

HaruPage::setTextRise

(PECL haru >= 0.0.1)

HaruPage::setTextRise — Set the current value of text rising

Описание

bool HaruPage::setTextRise ( float $rise )

Set the current value of text rising.

Список параметров

rise

Defines the current value of text rising.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getTextRise() - Get the current value of text rising

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage


Set width of the page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage
PHP Manual

HaruPage::setWidth

(PECL haru >= 0.0.1)

HaruPage::setWidth — Set width of the page

Описание

bool HaruPage::setWidth ( float $width )

Set the width of the page.

Список параметров

width

Defines width of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getWidth() - Get the width of the page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage


Set word spacing for the page

HaruPage::setWidth
HaruPage::showText
HaruPage
PHP Manual

HaruPage::setWordSpace

(PECL haru >= 0.0.1)

HaruPage::setWordSpace — Set word spacing for the page

Описание

bool HaruPage::setWordSpace ( float $word_space )

Set the word spacing for the page.

Список параметров

word_space

Defines word spacing for the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::getWordSpace() - Get the current value of word spacing

HaruPage::setWidth
HaruPage::showText
HaruPage


Print text at the current position of the page

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage
PHP Manual

HaruPage::showText

(PECL haru >= 0.0.1)

HaruPage::showText — Print text at the current position of the page

Описание

bool HaruPage::showText ( string $text )

Prints out the text at the current position of the page.

Список параметров

text

The text to show.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage


Move the current position to the start of the next line and print the text

HaruPage::showText
HaruPage::stroke
HaruPage
PHP Manual

HaruPage::showTextNextLine

(PECL haru >= 0.0.1)

HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text

Описание

bool HaruPage::showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )

Moves the current position to the start of the next line and print out the text.

Список параметров

text

The text to show.

word_space

The word spacing.

char_space

The character spacing.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::showText() - Print text at the current position of the page
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::showText
HaruPage::stroke
HaruPage


Paint current path

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage
PHP Manual

HaruPage::stroke

(PECL haru >= 0.0.1)

HaruPage::stroke — Paint current path

Описание

bool HaruPage::stroke ([ bool $close_path = false ] )

Paints the current path.

Список параметров

close_path

Closes the current path if set to TRUE.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage


Print the text on the specified position

HaruPage::stroke
HaruPage::textRect
HaruPage
PHP Manual

HaruPage::textOut

(PECL haru >= 0.0.1)

HaruPage::textOut — Print the text on the specified position

Описание

bool HaruPage::textOut ( float $x , float $y , string $text )

Prints the text on the specified position.

Список параметров

x

y

text

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::showText() - Print text at the current position of the page

HaruPage::stroke
HaruPage::textRect
HaruPage


Print the text inside the specified region

HaruPage::textOut
HaruFont
HaruPage
PHP Manual

HaruPage::textRect

(PECL haru >= 0.0.1)

HaruPage::textRect — Print the text inside the specified region

Описание

bool HaruPage::textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )

Prints the text inside the specified region.

Список параметров

left

Left border of the text area.

top

Top border of the text area.

right

Right border of the text area.

bottom

Lower border of the text area.

text

The text to print.

align

Text alignment. Must be one of the following values:

  • HaruPage::TALIGN_LEFT
  • HaruPage::TALIGN_RIGHT
  • HaruPage::TALIGN_CENTER
  • HaruPage::TALIGN_JUSTIFY

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

Смотрите также

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::showText() - Print text at the current position of the page
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::textOut
HaruFont
HaruPage


The HaruFont class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Font Class.

Обзор классов

HaruFont {
/* Методы */
int getAscent ( void )
int getCapHeight ( void )
int getDescent ( void )
string getEncodingName ( void )
string getFontName ( void )
array getTextWidth ( string $text )
int getUnicodeWidth ( int $character )
int getXHeight ( void )
int measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )
}

Содержание

  • HaruFont::getAscent — Get the vertical ascent of the font
  • HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters
  • HaruFont::getDescent — Get the vertical descent of the font
  • HaruFont::getEncodingName — Get the name of the encoding
  • HaruFont::getFontName — Get the name of the font
  • HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces
  • HaruFont::getUnicodeWidth — Get the width of the character in the font
  • HaruFont::getXHeight — Get the distance from the baseline of lowercase letters
  • HaruFont::measureText — Calculate the number of characters which can be included within the specified width
HaruPage::textRect
HaruFont::getAscent
haru


Get the vertical ascent of the font

HaruFont
HaruFont::getCapHeight
HaruFont
PHP Manual

HaruFont::getAscent

(PECL haru >= 0.0.1)

HaruFont::getAscent — Get the vertical ascent of the font

Описание

int HaruFont::getAscent ( void )

Get the vertical ascent of the font.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the vertical ascent of the font.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont
HaruFont::getCapHeight
HaruFont


Get the distance from the baseline of uppercase letters

HaruFont::getAscent
HaruFont::getDescent
HaruFont
PHP Manual

HaruFont::getCapHeight

(PECL haru >= 0.0.1)

HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters

Описание

int HaruFont::getCapHeight ( void )

Get the distance from the baseline of uppercase letters.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the distance from the baseline of uppercase letters.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getAscent
HaruFont::getDescent
HaruFont


Get the vertical descent of the font

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont
PHP Manual

HaruFont::getDescent

(PECL haru >= 0.0.1)

HaruFont::getDescent — Get the vertical descent of the font

Описание

int HaruFont::getDescent ( void )

Get the vertical descent of the font.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return the vertical descent of the font.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont


Get the name of the encoding

HaruFont::getDescent
HaruFont::getFontName
HaruFont
PHP Manual

HaruFont::getEncodingName

(PECL haru >= 0.0.1)

HaruFont::getEncodingName — Get the name of the encoding

Описание

string HaruFont::getEncodingName ( void )

Get the name of the font encoding.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the name of the font encoding.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getDescent
HaruFont::getFontName
HaruFont


Get the name of the font

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont
PHP Manual

HaruFont::getFontName

(PECL haru >= 0.0.1)

HaruFont::getFontName — Get the name of the font

Описание

string HaruFont::getFontName ( void )

Get the name of the font.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the name of the font.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont


Get the total width of the text, number of characters, number of words and number of spaces

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont
PHP Manual

HaruFont::getTextWidth

(PECL haru >= 0.0.1)

HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces

Описание

array HaruFont::getTextWidth ( string $text )

Get the total width of the text, number of characters, number of words and number of spaces.

Список параметров

text

The text to measure.

Возвращаемые значения

Returns the total width of the text, number of characters, number of words and number of spaces in the given text.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont


Get the width of the character in the font

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont
PHP Manual

HaruFont::getUnicodeWidth

(PECL haru >= 0.0.1)

HaruFont::getUnicodeWidth — Get the width of the character in the font

Описание

int HaruFont::getUnicodeWidth ( int $character )

Get the width of the character in the font.

Список параметров

character

The code of the character.

Возвращаемые значения

Returns the width of the character in the font.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont


Get the distance from the baseline of lowercase letters

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont
PHP Manual

HaruFont::getXHeight

(PECL haru >= 0.0.1)

HaruFont::getXHeight — Get the distance from the baseline of lowercase letters

Описание

int HaruFont::getXHeight ( void )

Gets the distance from the baseline of lowercase letters.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the distance from the baseline of lowercase letters.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont


Calculate the number of characters which can be included within the specified width

HaruFont::getXHeight
HaruImage
HaruFont
PHP Manual

HaruFont::measureText

(PECL haru >= 0.0.1)

HaruFont::measureText — Calculate the number of characters which can be included within the specified width

Описание

int HaruFont::measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )

Calculate the number of characters which can be included within the specified width.

Список параметров

text

The text to fit the width.

width

The width of the area to put the text to.

font_size

The size of the font.

char_space

The character spacing.

word_space

The word spacing.

word_wrap

When this parameter is set to TRUE the function "emulates" word wrapping and doesn't include the part of the current word if reached the end of the area.

Возвращаемые значения

Returns the number of characters which can be included within the specified width.

Ошибки

Бросает исключение HaruException при ошибке.

HaruFont::getXHeight
HaruImage
HaruFont


The HaruImage class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Image Class.

Обзор классов

HaruImage {
/* Методы */
int getBitsPerComponent ( void )
string getColorSpace ( void )
int getHeight ( void )
array getSize ( void )
int getWidth ( void )
bool setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )
bool setMaskImage ( object $mask_image )
}

Содержание

  • HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image
  • HaruImage::getColorSpace — Get the name of the color space
  • HaruImage::getHeight — Get the height of the image
  • HaruImage::getSize — Get size of the image
  • HaruImage::getWidth — Get the width of the image
  • HaruImage::setColorMask — Set the color mask of the image
  • HaruImage::setMaskImage — Set the image mask
HaruFont::measureText
HaruImage::getBitsPerComponent
haru


Get the number of bits used to describe each color component of the image

HaruImage
HaruImage::getColorSpace
HaruImage
PHP Manual

HaruImage::getBitsPerComponent

(PECL haru >= 0.0.1)

HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image

Описание

int HaruImage::getBitsPerComponent ( void )

Gets the number of bits used to describe each color component of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of bits used to describe each color component of the image.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage
HaruImage::getColorSpace
HaruImage


Get the name of the color space

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage
PHP Manual

HaruImage::getColorSpace

(PECL haru >= 0.0.1)

HaruImage::getColorSpace — Get the name of the color space

Описание

string HaruImage::getColorSpace ( void )

Get the name of the color space.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the name of the color space of the image. The name is one of the following values:

  • "DeviceGray"
  • "DeviceRGB"
  • "DeviceCMYK"
  • "Indexed"

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage


Get the height of the image

HaruImage::getColorSpace
HaruImage::getSize
HaruImage
PHP Manual

HaruImage::getHeight

(PECL haru >= 0.0.1)

HaruImage::getHeight — Get the height of the image

Описание

int HaruImage::getHeight ( void )

Get the height of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the height of the image.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::getColorSpace
HaruImage::getSize
HaruImage


Get size of the image

HaruImage::getHeight
HaruImage::getWidth
HaruImage
PHP Manual

HaruImage::getSize

(PECL haru >= 0.0.1)

HaruImage::getSize — Get size of the image

Описание

array HaruImage::getSize ( void )

Get the size of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array with two elements: width and height, which contain appropriate dimensions of the image.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::getHeight
HaruImage::getWidth
HaruImage


Get the width of the image

HaruImage::getSize
HaruImage::setColorMask
HaruImage
PHP Manual

HaruImage::getWidth

(PECL haru >= 0.0.1)

HaruImage::getWidth — Get the width of the image

Описание

int HaruImage::getWidth ( void )

Get the width of the image.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the width of the image.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::getSize
HaruImage::setColorMask
HaruImage


Set the color mask of the image

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage
PHP Manual

HaruImage::setColorMask

(PECL haru >= 0.0.1)

HaruImage::setColorMask — Set the color mask of the image

Описание

bool HaruImage::setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )

Defines the transparent color of the image using the RGB range values. The color within the range is displayed as a transparent color. The color space of the image must be RGB.

Список параметров

rmin

The lower limit of red. Must be between 0 and 255.

rmax

The upper limit of red. Must be between 0 and 255.

gmin

The lower limit of green. Must be between 0 and 255.

gmax

The upper limit of green. Must be between 0 and 255.

bmin

The lower limit of blue. Must be between 0 and 255.

bmax

The upper limit of blue. Must be between 0 and 255.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage


Set the image mask

HaruImage::setColorMask
HaruEncoder
HaruImage
PHP Manual

HaruImage::setMaskImage

(PECL haru >= 0.0.1)

HaruImage::setMaskImage — Set the image mask

Описание

bool HaruImage::setMaskImage ( object $mask_image )

Sets the image used as image-mask. It must be 1bit gray-scale color image.

Список параметров

mask_image

A valid HaruImage instance.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruImage::setColorMask
HaruEncoder
HaruImage


The HaruEncoder class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Encoder Class.

Обзор классов

HaruEncoder {
/* Методы */
int getByteType ( string $text , int $index )
int getType ( void )
int getUnicode ( int $character )
int getWritingMode ( void )
}

Предопределенные константы

Type | Name | Description
int | HaruEncoder::TYPE_SINGLE_BYTE |
int | HaruEncoder::TYPE_DOUBLE_BYTE |
int | HaruEncoder::TYPE_UNINITIALIZED |
int | HaruEncoder::UNKNOWN |
int | HaruEncoder::WMODE_HORIZONTAL |
int | HaruEncoder::WMODE_VERTICAL |
int | HaruEncoder::BYTE_TYPE_SINGLE |
int | HaruEncoder::BYTE_TYPE_LEAD |
int | HaruEncoder::BYTE_TYPE_TRAIL |
int | HaruEncoder::BYTE_TYPE_UNKNOWN |

Содержание

  • HaruEncoder::getByteType — Get the type of the byte in the text
  • HaruEncoder::getType — Get the type of the encoder
  • HaruEncoder::getUnicode — Convert the specified character to unicode
  • HaruEncoder::getWritingMode — Get the writing mode of the encoder
HaruImage::setMaskImage
HaruEncoder::getByteType
haru


Get the type of the byte in the text

HaruEncoder
HaruEncoder::getType
HaruEncoder
PHP Manual

HaruEncoder::getByteType

(PECL haru >= 0.0.1)

HaruEncoder::getByteType — Get the type of the byte in the text

Описание

int HaruEncoder::getByteType ( string $text , int $index )

Get the type of the byte in the text.

Список параметров

text

The text.

index

The position in the text.

Возвращаемые значения

Returns the type of the byte in the text on the specified position. The result is one of the following values:

  • HaruEncoder::BYTE_TYPE_SINGLE - single byte character.
  • HaruEncoder::BYTE_TYPE_LEAD - lead byte of a double-byte character.
  • HaruEncoder::BYTE_TYPE_TRAIL - trailing byte of a double-byte character.
  • HaruEncoder::BYTE_TYPE_UNKNOWN - invalid encoder or cannot detect the byte type.

Ошибки

Бросает исключение HaruException при ошибке.

HaruEncoder
HaruEncoder::getType
HaruEncoder


Get the type of the encoder

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder
PHP Manual

HaruEncoder::getType

(PECL haru >= 0.0.1)

HaruEncoder::getType — Get the type of the encoder

Описание

int HaruEncoder::getType ( void )

Get the type of the encoder.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the type of the encoder. The result is one of the following values:

  • HaruEncoder::TYPE_SINGLE_BYTE - the encoder is for single byte characters.
  • HaruEncoder::TYPE_DOUBLE_BYTE - the encoder is for multibyte characters.
  • HaruEncoder::TYPE_UNINITIALIZED - the encoder is not initialized.
  • HaruEncoder::UNKNOWN - the encoder is invalid.

Ошибки

Бросает исключение HaruException при ошибке.

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder


Convert the specified character to unicode

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder
PHP Manual

HaruEncoder::getUnicode

(PECL haru >= 0.0.1)

HaruEncoder::getUnicode — Convert the specified character to unicode

Описание

int HaruEncoder::getUnicode ( int $character )

Converts the specified character to unicode.

Список параметров

character

The character code to convert.

Возвращаемые значения

Ошибки

Бросает исключение HaruException при ошибке.

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder


Get the writing mode of the encoder

HaruEncoder::getUnicode
HaruOutline
HaruEncoder
PHP Manual

HaruEncoder::getWritingMode

(PECL haru >= 0.0.1)

HaruEncoder::getWritingMode — Get the writing mode of the encoder

Описание

int HaruEncoder::getWritingMode ( void )

Get the writing mode of the encoder.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the writing mode of the encoder. The result value is on of the following:

  • HaruEncoder::WMODE_HORIZONTAL - horizontal writing mode.
  • HaruEncoder::WMODE_VERTICAL - vertical writing mode.

Ошибки

Бросает исключение HaruException при ошибке.

HaruEncoder::getUnicode
HaruOutline
HaruEncoder


The HaruOutline class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Outline Class.

Обзор классов

HaruOutline {
/* Методы */
bool setDestination ( object $destination )
bool setOpened ( bool $opened )
}

Содержание

  • HaruOutline::setDestination — Set the destination for the outline
  • HaruOutline::setOpened — Set the initial state of the outline
HaruEncoder::getWritingMode
HaruOutline::setDestination
haru


Set the destination for the outline

HaruOutline
HaruOutline::setOpened
HaruOutline
PHP Manual

HaruOutline::setDestination

(PECL haru >= 0.0.1)

HaruOutline::setDestination — Set the destination for the outline

Описание

bool HaruOutline::setDestination ( object $destination )

Sets a destination object which becomes a target to jump to when the outline is clicked.

Список параметров

destination

A valid HaruDestination instance.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruOutline
HaruOutline::setOpened
HaruOutline


Set the initial state of the outline

HaruOutline::setDestination
HaruAnnotation
HaruOutline
PHP Manual

HaruOutline::setOpened

(PECL haru >= 0.0.1)

HaruOutline::setOpened — Set the initial state of the outline

Описание

bool HaruOutline::setOpened ( bool $opened )

Defines whether this node is opened or not when the outline is displayed for the first time.

Список параметров

opened

TRUE means open, FALSE - closed.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruOutline::setDestination
HaruAnnotation
HaruOutline


The HaruAnnotation class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Annotation Class.

Обзор классов

HaruAnnotation {
/* Методы */
bool setBorderStyle ( float $width , int $dash_on , int $dash_off )
bool setHighlightMode ( int $mode )
bool setIcon ( int $icon )
bool setOpened ( bool $opened )
}

Предопределенные константы

Type | Name | Description
int | HaruAnnotation::NO_HIGHLIGHT |
int | HaruAnnotation::INVERT_BOX |
int | HaruAnnotation::INVERT_BORDER |
int | HaruAnnotation::DOWN_APPEARANCE |
int | HaruAnnotation::ICON_COMMENT |
int | HaruAnnotation::ICON_KEY |
int | HaruAnnotation::ICON_NOTE |
int | HaruAnnotation::ICON_HELP |
int | HaruAnnotation::ICON_NEW_PARAGRAPH |
int | HaruAnnotation::ICON_PARAGRAPH |
int | HaruAnnotation::ICON_INSERT |

Содержание

  • HaruAnnotation::setBorderStyle — Set the border style of the annotation
  • HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation
  • HaruAnnotation::setIcon — Set the icon style of the annotation
  • HaruAnnotation::setOpened — Set the initial state of the annotation
HaruOutline::setOpened
HaruAnnotation::setBorderStyle
haru


Set the border style of the annotation

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation
PHP Manual

HaruAnnotation::setBorderStyle

(PECL haru >= 0.0.1)

HaruAnnotation::setBorderStyle — Set the border style of the annotation

Описание

bool HaruAnnotation::setBorderStyle ( float $width , int $dash_on , int $dash_off )

Defines the style of the border of the annotation. This function may be used with link annotations only.

Список параметров

width

The width of the border line.

dash_on

The dash style.

dash_off

The dash style.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation


Set the highlighting mode of the annotation

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation
PHP Manual

HaruAnnotation::setHighlightMode

(PECL haru >= 0.0.1)

HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation

Описание

bool HaruAnnotation::setHighlightMode ( int $mode )

Defines the appearance of the annotation when clicked. This function may be used with link annotations only.

Список параметров

mode

The highlighting mode of the annotation. Can take only these values:

  • HaruAnnotation::NO_HIGHLIGHT - no highlighting.
  • HaruAnnotation::INVERT_BOX - invert the contents of the annotation.
  • HaruAnnotation::INVERT_BORDER - invert the border of the annotation.
  • HaruAnnotation::DOWN_APPEARANCE - dent the annotation.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation


Set the icon style of the annotation

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation
PHP Manual

HaruAnnotation::setIcon

(PECL haru >= 0.0.1)

HaruAnnotation::setIcon — Set the icon style of the annotation

Описание

bool HaruAnnotation::setIcon ( int $icon )

Defines the style of the annotation icon. This function may be used with text annotations only.

Список параметров

icon

The style of the icon. Can take only these values:

  • HaruAnnotation::ICON_COMMENT
  • HaruAnnotation::ICON_KEY
  • HaruAnnotation::ICON_NOTE
  • HaruAnnotation::ICON_HELP
  • HaruAnnotation::ICON_NEW_PARAGRAPH
  • HaruAnnotation::ICON_PARAGRAPH
  • HaruAnnotation::ICON_INSERT

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation


Set the initial state of the annotation

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation
PHP Manual

HaruAnnotation::setOpened

(PECL haru >= 0.0.1)

HaruAnnotation::setOpened — Set the initial state of the annotation

Описание

bool HaruAnnotation::setOpened ( bool $opened )

Defines whether the annotation is initially displayed open. This function may be used with text annotations only.

Список параметров

opened

TRUE means the annotation is initially displayed open, FALSE - means it's closed.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation


The HaruDestination class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Haru PDF Destination Class.

Обзор классов

HaruDestination {
/* Методы */
bool setFit ( void )
bool setFitB ( void )
bool setFitBH ( float $top )
bool setFitBV ( float $left )
bool setFitH ( float $top )
bool setFitR ( float $left , float $bottom , float $right , float $top )
bool setFitV ( float $left )
bool setXYZ ( float $left , float $top , float $zoom )
}

Содержание

  • HaruDestination::setFit — Set the appearance of the page to fit the window
  • HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window
  • HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box
  • HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box
  • HaruDestination::setFitH — Set the appearance of the page to fit the window width
  • HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle
  • HaruDestination::setFitV — Set the appearance of the page to fit the window height
  • HaruDestination::setXYZ — Set the appearance of the page
HaruAnnotation::setOpened
HaruDestination::setFit
haru


Set the appearance of the page to fit the window

HaruDestination
HaruDestination::setFitB
HaruDestination
PHP Manual

HaruDestination::setFit

(PECL haru >= 0.0.1)

HaruDestination::setFit — Set the appearance of the page to fit the window

Описание

bool HaruDestination::setFit ( void )

Defines the appearance of the page to fit the window.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination
HaruDestination::setFitB
HaruDestination


Set the appearance of the page to fit the bounding box of the page within the window

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination
PHP Manual

HaruDestination::setFitB

(PECL haru >= 0.0.1)

HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window

Описание

bool HaruDestination::setFitB ( void )

Defines the appearance of the page to fit the bounding box of the page within the window.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination


Set the appearance of the page to fit the width of the bounding box

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination
PHP Manual

HaruDestination::setFitBH

(PECL haru >= 0.0.1)

HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box

Описание

bool HaruDestination::setFitBH ( float $top )

Defines the appearance of the page to magnifying to fit the width of the bounding box and setting the top position of the page to the value of top.

Список параметров

top

The top coordinates of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination


Set the appearance of the page to fit the height of the boudning box

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination
PHP Manual

HaruDestination::setFitBV

(PECL haru >= 0.0.1)

HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box

Описание

bool HaruDestination::setFitBV ( float $left )

Defines the appearance of the page to magnifying to fit the height of the bounding box and setting the left position of the page to the value of left.

Список параметров

left

The left coordinates of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination


Set the appearance of the page to fit the window width

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination
PHP Manual

HaruDestination::setFitH

(PECL haru >= 0.0.1)

HaruDestination::setFitH — Set the appearance of the page to fit the window width

Описание

bool HaruDestination::setFitH ( float $top )

Defines the appearance of the page to fit the window width and sets the top position of the page to the value of top.

Список параметров

top

The top position of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination


Set the appearance of the page to fit the specified rectangle

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination
PHP Manual

HaruDestination::setFitR

(PECL haru >= 0.0.1)

HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle

Описание

bool HaruDestination::setFitR ( float $left , float $bottom , float $right , float $top )

Defines the appearance of the page to fit the rectangle by the parameters.

Список параметров

left

The left coordinates of the page.

bottom

The bottom coordinates of the page.

right

The right coordinates of the page.

top

The top coordinates of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination


Set the appearance of the page to fit the window height

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination
PHP Manual

HaruDestination::setFitV

(PECL haru >= 0.0.1)

HaruDestination::setFitV — Set the appearance of the page to fit the window height

Описание

bool HaruDestination::setFitV ( float $left )

Defines the appearance of the page to fit the window height.

Список параметров

left

The left position of the page.

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination


Set the appearance of the page

HaruDestination::setFitV
Ming
HaruDestination
PHP Manual

HaruDestination::setXYZ

(PECL haru >= 0.0.1)

HaruDestination::setXYZ — Set the appearance of the page

Описание

bool HaruDestination::setXYZ ( float $left , float $top , float $zoom )

Defines the appearance of the page using three parameters: left, top and zoom.

Список параметров

left

The left position of the page.

top

The top position of the page.

zoom

The magnification factor. The value must be between 0.08 (8%) and 32 (3200%).

Возвращаемые значения

Returns TRUE on success.

Ошибки

Бросает исключение HaruException при ошибке.

HaruDestination::setFitV
Ming
HaruDestination


Ming (flash)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • SWFAction Examples
    • SWFSPrite basic examples
  • Ming Функции
    • ming_keypress — Returns the action flag for keyPress(char)
    • ming_setcubicthreshold — Set cubic threshold
    • ming_setscale — Set the global scaling factor.
    • ming_setswfcompression — Sets the SWF output compression
    • ming_useconstants — Use constant pool
    • ming_useswfversion — Sets the SWF version
  • SWFAction — The SWFAction class
    • SWFAction->__construct — Creates a new SWFAction
  • SWFBitmap — The SWFBitmap class
    • SWFBitmap->__construct — Loads Bitmap object
    • SWFBitmap->getHeight — Returns the bitmap's height
    • SWFBitmap->getWidth — Returns the bitmap's width
  • SWFButton — The SWFButton class
    • SWFButton->addAction — Adds an action
    • SWFButton->addASound — Associates a sound with a button transition
    • SWFButton->addShape — Adds a shape to a button
    • SWFButton->__construct — Creates a new Button
    • SWFButton->setAction — Sets the action
    • SWFButton->setDown — Alias for addShape(shape, SWFBUTTON_DOWN)
    • SWFButton->setHit — Alias for addShape(shape, SWFBUTTON_HIT)
    • SWFButton->setMenu — enable track as menu button behaviour
    • SWFButton->setOver — Alias for addShape(shape, SWFBUTTON_OVER)
    • SWFButton->setUp — Alias for addShape(shape, SWFBUTTON_UP)
  • SWFDisplayItem — The SWFDisplayItem class
    • SWFDisplayItem->addAction — Adds this SWFAction to the given SWFSprite instance
    • SWFDisplayItem->addColor — Adds the given color to this item's color transform
    • SWFDisplayItem->endMask — Another way of defining a MASK layer
    • SWFDisplayItem->getRot — Описание
    • SWFDisplayItem->getX — Описание
    • SWFDisplayItem->getXScale — Описание
    • SWFDisplayItem->getXSkew — Описание
    • SWFDisplayItem->getY — Описание
    • SWFDisplayItem->getYScale — Описание
    • SWFDisplayItem->getYSkew — Описание
    • SWFDisplayItem->move — Moves object in relative coordinates
    • SWFDisplayItem->moveTo — Moves object in global coordinates
    • SWFDisplayItem->multColor — Multiplies the item's color transform
    • SWFDisplayItem->remove — Removes the object from the movie
    • SWFDisplayItem->rotate — Rotates in relative coordinates
    • SWFDisplayItem->rotateTo — Rotates the object in global coordinates
    • SWFDisplayItem->scale — Scales the object in relative coordinates
    • SWFDisplayItem->scaleTo — Scales the object in global coordinates
    • SWFDisplayItem->setDepth — Sets z-order
    • SWFDisplayItem->setMaskLevel — Defines a MASK layer at level
    • SWFDisplayItem->setMatrix — Sets the item's transform matrix
    • SWFDisplayItem->setName — Sets the object's name
    • SWFDisplayItem->setRatio — Sets the object's ratio
    • SWFDisplayItem->skewX — Sets the X-skew
    • SWFDisplayItem->skewXTo — Sets the X-skew
    • SWFDisplayItem->skewY — Sets the Y-skew
    • SWFDisplayItem->skewYTo — Sets the Y-skew
  • SWFFill — The SWFFill class
    • SWFFill->moveTo — Moves fill origin
    • SWFFill->rotateTo — Sets fill's rotation
    • SWFFill->scaleTo — Sets fill's scale
    • SWFFill->skewXTo — Sets fill x-skew
    • SWFFill->skewYTo — Sets fill y-skew
  • SWFFont — The SWFFont class
    • SWFFont->__construct — Loads a font definition
    • SWFFont->getAscent — Returns the ascent of the font, or 0 if not available
    • SWFFont->getDescent — Returns the descent of the font, or 0 if not available
    • SWFFont->getLeading — Returns the leading of the font, or 0 if not available
    • SWFFont->getShape — Returns the glyph shape of a char as a text string
    • SWFFont->getUTF8Width — Calculates the width of the given string in this font at full height
    • SWFFont->getWidth — Returns the string's width
  • SWFFontChar — The SWFFontChar class
    • SWFFontChar->addChars — Adds characters to a font for exporting font
    • SWFFontChar->addUTF8Chars — Adds characters to a font for exporting font
  • SWFGradient — The SWFGradient class
    • SWFGradient->addEntry — Adds an entry to the gradient list
    • SWFGradient->__construct — Creates a gradient object
  • SWFMorph — The SWFMorph class
    • SWFMorph->__construct — Creates a new SWFMorph object
    • SWFMorph->getShape1 — Gets a handle to the starting shape
    • SWFMorph->getShape2 — Gets a handle to the ending shape
  • SWFMovie — The SWFMovie class
    • SWFMovie->add — Adds any type of data to a movie
    • SWFMovie->addExport — Описание
    • SWFMovie->addFont — Описание
    • SWFMovie->__construct — Creates a new movie object, representing an SWF version 4 movie
    • SWFMovie->importChar — Описание
    • SWFMovie->importFont — Описание
    • SWFMovie->labelFrame — Labels a frame
    • SWFMovie->nextFrame — Moves to the next frame of the animation
    • SWFMovie->output — Dumps your lovingly prepared movie out
    • SWFMovie->remove — Removes the object instance from the display list
    • SWFMovie->save — Saves the SWF movie in a file
    • SWFMovie->saveToFile — Описание
    • SWFMovie->setbackground — Sets the background color
    • SWFMovie->setDimension — Sets the movie's width and height
    • SWFMovie->setFrames — Sets the total number of frames in the animation
    • SWFMovie->setRate — Sets the animation's frame rate
    • SWFMovie->startSound — Описание
    • SWFMovie->stopSound — Описание
    • SWFMovie->streamMP3 — Streams a MP3 file
    • SWFMovie->writeExports — Описание
  • SWFPrebuiltClip — The SWFPrebuiltClip class
    • SWFPrebuiltClip->__construct — Returns a SWFPrebuiltClip object
  • SWFShape — The SWFShape class
    • SWFShape->addFill — Adds a solid fill to the shape
    • SWFShape->__construct — Creates a new shape object
    • SWFShape->drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
    • SWFShape->drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
    • SWFShape->drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape->drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape->drawCurve — Draws a curve (relative)
    • SWFShape->drawCurveTo — Draws a curve
    • SWFShape->drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font
    • SWFShape->drawLine — Draws a line (relative)
    • SWFShape->drawLineTo — Draws a line
    • SWFShape->movePen — Moves the shape's pen (relative)
    • SWFShape->movePenTo — Moves the shape's pen
    • SWFShape->setLeftFill — Sets left rasterizing color
    • SWFShape->setLine — Sets the shape's line style
    • SWFShape->setRightFill — Sets right rasterizing color
  • SWFSound — The SWFSound class
    • SWFSound — Returns a new SWFSound object from given file
  • SWFSoundInstance — The SWFSoundInstance class
    • SWFSoundInstance->loopCount — Описание
    • SWFSoundInstance->loopInPoint — Описание
    • SWFSoundInstance->loopOutPoint — Описание
    • SWFSoundInstance->noMultiple — Описание
  • SWFSprite — The SWFSprite class
    • SWFSprite->add — Adds an object to a sprite
    • SWFSprite->__construct — Creates a movie clip (a sprite)
    • SWFSprite->labelFrame — Labels frame
    • SWFSprite->nextFrame — Moves to the next frame of the animation
    • SWFSprite->remove — Removes an object to a sprite
    • SWFSprite->setFrames — Sets the total number of frames in the animation
    • SWFSprite->startSound — Описание
    • SWFSprite->stopSound — Описание
  • SWFText — The SWFText class
    • SWFText->addString — Draws a string
    • SWFText->addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
    • SWFText->__construct — Creates a new SWFText object
    • SWFText->getAscent — Returns the ascent of the current font at its current size, or 0 if not available
    • SWFText->getDescent — Returns the descent of the current font at its current size, or 0 if not available
    • SWFText->getLeading — Returns the leading of the current font at its current size, or 0 if not available
    • SWFText->getUTF8Width — calculates the width of the given string in this text objects current font and size
    • SWFText->getWidth — Computes string's width
    • SWFText->moveTo — Moves the pen
    • SWFText->setColor — Sets the current text color
    • SWFText->setFont — Sets the current font
    • SWFText->setHeight — Sets the current font height
    • SWFText->setSpacing — Sets the current font spacing
  • SWFTextField — The SWFTextField class
    • SWFTextField->addChars — adds characters to a font that will be available within a textfield
    • SWFTextField->addString — Concatenates the given string to the text field
    • SWFTextField->align — Sets the text field alignment
    • SWFTextField->__construct — Creates a text field object
    • SWFTextField->setBounds — Sets the text field width and height
    • SWFTextField->setColor — Sets the color of the text field
    • SWFTextField->setFont — Sets the text field font
    • SWFTextField->setHeight — Sets the font height of this text field font
    • SWFTextField->setIndentation — Sets the indentation of the first line
    • SWFTextField->setLeftMargin — Sets the left margin width of the text field
    • SWFTextField->setLineSpacing — Sets the line spacing of the text field
    • SWFTextField->setMargins — Sets the margins width of the text field
    • SWFTextField->setName — Sets the variable name
    • SWFTextField->setPadding — Sets the padding of this textfield
    • SWFTextField->setRightMargin — Sets the right margin width of the text field
  • SWFVideoStream — The SWFVideoStream class
    • SWFVideoStream->__construct — Returns a SWFVideoStream object
    • SWFVideoStream->getNumFrames — Returns the number of frames in the video
    • SWFVideoStream->setDimension — Sets video dimension
HaruDestination::setXYZ
Введение
Генерация нетекстовых MIME форматов


Введение

First of all: Ming is not an acronym. Ming is an open-source (LGPL) library which allows you to create SWF ("Flash") format movies. Ming supports almost all of Flash 4's features, including: shapes, gradients, bitmaps (pngs and jpegs), morphs ("shape tweens"), text, buttons, actions, sprites ("movie clips"), streaming mp3, and color transforms --the only thing that's missing is sound events.

Note that all values specifying length, distance, size, etc. are in "twips", twenty units per pixel. That's pretty much arbitrary, though, since the player scales the movie to whatever pixel size is specified in the embed/object tag, or the entire frame if not embedded.

Ming offers a number of advantages over the existing PHP/libswf module. You can use Ming anywhere you can compile the code, whereas libswf is closed-source and only available for a few platforms, Windows not one of them. Ming provides some insulation from the mundane details of the SWF file format, wrapping the movie elements in PHP objects. Also, Ming is still being maintained; if there's a feature that you want to see, just let us know at » http://www.libming.org/.

Ming was added in PHP 4.0.5.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0.

Ming
Установка и настройка
Ming


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Ming


Требования

To use Ming with PHP, you first need to build and install the Ming library. Source code and installation instructions are available at the Ming home page: » http://www.libming.org/ along with examples, a small tutorial, and the latest news.

Download the ming archive. Unpack the archive. Go in the Ming directory. make. make install.

This will build libming.so and install it into /usr/lib/, and copy ming.h into /usr/include/. Edit the PREFIX= line in the Makefile to change the installation directory.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ming.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.3.0

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MING_NEW (integer)
MING_ZLIB (integer)
SWFBUTTON_HIT (integer)
SWFBUTTON_DOWN (integer)
SWFBUTTON_OVER (integer)
SWFBUTTON_UP (integer)
SWFBUTTON_MOUSEUPOUTSIDE (integer)
SWFBUTTON_DRAGOVER (integer)
SWFBUTTON_DRAGOUT (integer)
SWFBUTTON_MOUSEUP (integer)
SWFBUTTON_MOUSEDOWN (integer)
SWFBUTTON_MOUSEOUT (integer)
SWFBUTTON_MOUSEOVER (integer)
SWFFILL_RADIAL_GRADIENT (integer)
SWFFILL_LINEAR_GRADIENT (integer)
SWFFILL_TILED_BITMAP (integer)
SWFFILL_CLIPPED_BITMAP (integer)
SWFTEXTFIELD_HASLENGTH (integer)
SWFTEXTFIELD_NOEDIT (integer)
SWFTEXTFIELD_PASSWORD (integer)
SWFTEXTFIELD_MULTILINE (integer)
SWFTEXTFIELD_WORDWRAP (integer)
SWFTEXTFIELD_DRAWBOX (integer)
SWFTEXTFIELD_NOSELECT (integer)
SWFTEXTFIELD_HTML (integer)
SWFTEXTFIELD_ALIGN_LEFT (integer)
SWFTEXTFIELD_ALIGN_RIGHT (integer)
SWFTEXTFIELD_ALIGN_CENTER (integer)
SWFTEXTFIELD_ALIGN_JUSTIFY (integer)
SWFACTION_ONLOAD (integer)
SWFACTION_ENTERFRAME (integer)
SWFACTION_UNLOAD (integer)
SWFACTION_MOUSEMOVE (integer)
SWFACTION_MOUSEDOWN (integer)
SWFACTION_MOUSEUP (integer)
SWFACTION_KEYDOWN (integer)
SWFACTION_KEYUP (integer)
SWFACTION_DATA (integer)
Типы ресурсов
Примеры
Ming


Примеры

Содержание

  • SWFAction Examples
  • SWFSPrite basic examples
Предопределенные константы
SWFAction Examples
Ming


SWFAction Examples

This simple example will move the red square across the window.

Пример #1 swfaction() example

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

This simple example tracks down your mouse on the screen.

Пример #2 swfaction() example

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* mouse tracking sprite - empty, but follows mouse so we can
     get its x and y coordinates */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' means lock sprite to the mouse */
  "));

  /* might as well turn off antialiasing, since these are just squares. */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* morphing box */
  $r = new SWFMorph();
  $s = $r->getShape1();

  /* Note this is backwards from normal shapes.  No idea why. */
  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* sprite container for morphing box -
     this is just a timeline w/ the box morphing */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* this container sprite allows us to use the same action code many times */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x means the x coordinate of the parent, i.e. (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* finally, add a bunch of the cells to the movie */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Same as above, but with nice colored balls...

Пример #3 swfaction() example

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // mouse tracking sprite
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // gradient shape thing
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // need to make this a sprite so we can multColor it
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // put the shape in here, each frame a different color
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // finally, this one contains the action code
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Примеры
SWFSPrite basic examples
Примеры


SWFSPrite basic examples

This simple example will spin gracefully a big red square.

Пример #1 swfsprite() example

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFAction Examples
Ming Функции
Примеры


Ming Функции

Содержание

  • ming_keypress — Returns the action flag for keyPress(char)
  • ming_setcubicthreshold — Set cubic threshold
  • ming_setscale — Set the global scaling factor.
  • ming_setswfcompression — Sets the SWF output compression
  • ming_useconstants — Use constant pool
  • ming_useswfversion — Sets the SWF version
SWFSPrite basic examples
ming_keypress
Ming


Returns the action flag for keyPress(char)

Ming Функции
ming_setcubicthreshold
Ming Функции
PHP Manual

ming_keypress

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_keypress — Returns the action flag for keyPress(char)

Описание

int ming_keypress ( string $char )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Ming Функции
ming_setcubicthreshold
Ming Функции


Set cubic threshold

ming_keypress
ming_setscale
Ming Функции
PHP Manual

ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setcubicthreshold — Set cubic threshold

Описание

void ming_setcubicthreshold ( int $threshold )

Sets the threshold error for drawing cubic beziers.

Список параметров

threshold

The Threshold. Lower is more accurate, hence larger file size.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ming_keypress
ming_setscale
Ming Функции


Set the global scaling factor.

ming_setcubicthreshold
ming_setswfcompression
Ming Функции
PHP Manual

ming_setscale

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setscale — Set the global scaling factor.

Описание

void ming_setscale ( float $scale )

Sets the scale of the output SWF. Inside the SWF file, coordinates are measured in TWIPS, rather than PIXELS. There are 20 TWIPS in 1 pixel.

Список параметров

scale

The scale to be set.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ming_setcubicthreshold
ming_setswfcompression
Ming Функции


Sets the SWF output compression

ming_setscale
ming_useconstants
Ming Функции
PHP Manual

ming_setswfcompression

(PHP 5.2.1-5.3.0, PECL ming SVN)

ming_setswfcompression — Sets the SWF output compression

Описание

void ming_setswfcompression ( int $level )

Sets the SWF output compression level.

Список параметров

level

The new compression level. Should be a value between 1 and 9 inclusive.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ming_setscale
ming_useconstants
Ming Функции


Use constant pool

ming_setswfcompression
ming_useswfversion
Ming Функции
PHP Manual

ming_useconstants

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_useconstants — Use constant pool

Описание

void ming_useconstants ( int $use )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ming_setswfcompression
ming_useswfversion
Ming Функции


Sets the SWF version

ming_useconstants
SWFAction
Ming Функции
PHP Manual

ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5 <= 5.3.0, PECL ming SVN)

ming_useswfversion — Sets the SWF version

Описание

void ming_useswfversion ( int $version )

Sets the SWF version to be used in the movie. This affect the bahaviour of Action Script.

Список параметров

version

SWF version to use.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ming_useswfversion() example

<?php

$movie = new SWFMovie();
ming_useswfversion(4); // Flash 4

?>

ming_useconstants
SWFAction
Ming Функции


The SWFAction class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFAction.

Обзор классов

SWFAction {
/* Методы */
SWFAction SWFAction::__construct ( string $script )
}

Описание

The script syntax is based on the C language, but with a lot taken out- the SWF bytecode machine is just too simpleminded to do a lot of things we might like. For instance, we can't implement function calls without a tremendous amount of hackery because the jump bytecode has a hardcoded offset value. No pushing your calling address to the stack and returning- every function would have to know exactly where to return to.

So what's left? The compiler recognises the following tokens:

  • break
  • for
  • continue
  • if
  • else
  • do
  • while

There is no typed data; all values in the SWF action machine are stored as strings. The following functions can be used in expressions:

time()
Returns the number of milliseconds (?) elapsed since the movie started.
random(seed)
Returns a pseudo-random number in the range 0-seed.
length(expr)
Returns the length of the given expression.
int(number)
Returns the given number rounded down to the nearest integer.
concat(expr, expr)
Returns the concatenation of the given expressions.
ord(expr)
Returns the ASCII code for the given character
chr(num)
Returns the character for the given ASCII code
substr(string, location, length)
Returns the substring of length length at location location of the given string string.

Additionally, the following commands may be used:

duplicateClip(clip, name, depth)
Duplicate the named movie clip (aka sprite). The new movie clip has name name and is at depth depth.
removeClip(expr)
Removes the named movie clip.
trace(expr)
Write the given expression to the trace log. Doubtful that the browser plugin does anything with this.
startDrag(target, lock, [left, top, right, bottom])
Start dragging the movie clip target. The lock argument indicates whether to lock the mouse (?)- use 0 (FALSE) or 1 (TRUE). Optional parameters define a bounding area for the dragging.
stopDrag()
Stop dragging my heart around. And this movie clip, too.
callFrame(expr)
Call the named frame as a function.
getURL(url, target, [method])
Load the given URL into the named target. The target argument corresponds to HTML document targets (such as "_top" or "_blank"). The optional method argument can be POST or GET if you want to submit variables back to the server.
loadMovie(url, target)
Load the given URL into the named target. The target argument can be a frame name (I think), or one of the magical values "_level0" (replaces current movie) or "_level1" (loads new movie on top of current movie).
nextFrame()
Go to the next frame.
prevFrame()
Go to the last (or, rather, previous) frame.
play()
Start playing the movie.
stop()
Stop playing the movie.
toggleQuality()
Toggle between high and low quality.
stopSounds()
Stop playing all sounds.
gotoFrame(num)
Go to frame number num. Frame numbers start at 0.
gotoFrame(name)
Go to the frame named name. Which does a lot of good, since I haven't added frame labels yet.
setTarget(expr)
Sets the context for action. Or so they say- I really have no idea what this does.
And there's one weird extra thing. The expression frameLoaded(num) can be used in if statements and while loops to check if the given frame number has been loaded yet. Well, it's supposed to, anyway, but I've never tested it and I seriously doubt it actually works. You can just use /:framesLoaded instead.

Movie clips (all together now- aka sprites) have properties. You can read all of them (or can you?), you can set some of them, and here they are:

  • x
  • y
  • xScale
  • yScale
  • currentFrame - (read-only)
  • totalFrames - (read-only)
  • alpha - transparency level
  • visible - 1=on, 0=off (?)
  • width - (read-only)
  • height - (read-only)
  • rotation
  • target - (read-only) (???)
  • framesLoaded - (read-only)
  • name
  • dropTarget - (read-only) (???)
  • url - (read-only) (???)
  • highQuality - 1=high, 0=low (?)
  • focusRect - (???)
  • soundBufTime - (???)
So, setting a sprite's x position is as simple as /box.x = 100;. Why the slash in front of the box, though? That's how flash keeps track of the sprites in the movie, just like a Unix filesystem- here it shows that box is at the top level. If the sprite named box had another sprite named biff inside of it, you'd set its x position with /box/biff.x = 100;. At least, I think so; correct me if I'm wrong here.

Содержание

  • SWFAction->__construct — Creates a new SWFAction
ming_useswfversion
SWFAction->__construct
Ming


Creates a new SWFAction

SWFAction
SWFBitmap
SWFAction
PHP Manual

SWFAction->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFAction->__construct — Creates a new SWFAction

Описание

SWFAction SWFAction::__construct ( string $script )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new SWFAction and compiles the given script in it.

Список параметров

script

An ActionScript snippet to associate with the SWFAction. See SWFAction for more details.

SWFAction
SWFBitmap
SWFAction


The SWFBitmap class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFBitmap.

Обзор классов

SWFBitmap {
/* Методы */
SWFBitmap SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
float getHeight ( void )
float getWidth ( void )
}

Содержание

  • SWFBitmap->__construct — Loads Bitmap object
  • SWFBitmap->getHeight — Returns the bitmap's height
  • SWFBitmap->getWidth — Returns the bitmap's width
SWFAction->__construct
SWFBitmap->__construct
Ming


Loads Bitmap object

SWFBitmap
SWFBitmap->getHeight
SWFBitmap
PHP Manual

SWFBitmap->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap->__construct — Loads Bitmap object

Описание

SWFBitmap SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates the new SWFBitmap object from the given file.

Список параметров

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

Замечание:

We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

Примеры

Пример #1 Importing a DBL file

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Пример #2 Using an alpha mask

<?php

$s = new SWFShape();

// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// draw checkerboard background
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFBitmap
SWFBitmap->getHeight
SWFBitmap


Returns the bitmap's height

SWFBitmap->__construct
SWFBitmap->getWidth
SWFBitmap
PHP Manual

SWFBitmap->getHeight

(PHP 4 >= 4.0.5)

SWFBitmap->getHeight — Returns the bitmap's height

Описание

float SWFBitmap::getHeight ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the bitmap's height.

Возвращаемые значения

Returns the bitmap height in pixels.

Смотрите также

  • SWFBitmap->getWidth

SWFBitmap->__construct
SWFBitmap->getWidth
SWFBitmap


Returns the bitmap's width

SWFBitmap->getHeight
SWFButton
SWFBitmap
PHP Manual

SWFBitmap->getWidth

(PHP 4 >= 4.0.5)

SWFBitmap->getWidth — Returns the bitmap's width

Описание

float SWFBitmap::getWidth ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the bitmap's width.

Возвращаемые значения

Returns the bitmap width in pixels.

Смотрите также

  • SWFBitmap->getHeight

SWFBitmap->getHeight
SWFButton
SWFBitmap


The SWFButton class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFButton.

Обзор классов

SWFButton {
/* Методы */
void SWFButton::addAction ( SWFAction $action , int $flags )
SWFSoundInstance addASound ( SWFSound $sound , int $flags )
void addShape ( SWFShape $shape , int $flags )
SWFButton __construct ( void )
void setAction ( SWFAction $action )
void setDown ( SWFShape $shape )
void setHit ( SWFShape $shape )
void setMenu ( int $flag )
void setOver ( SWFShape $shape )
void setUp ( SWFShape $shape )
}

Содержание

  • SWFButton->addAction — Adds an action
  • SWFButton->addASound — Associates a sound with a button transition
  • SWFButton->addShape — Adds a shape to a button
  • SWFButton->__construct — Creates a new Button
  • SWFButton->setAction — Sets the action
  • SWFButton->setDown — Alias for addShape(shape, SWFBUTTON_DOWN)
  • SWFButton->setHit — Alias for addShape(shape, SWFBUTTON_HIT)
  • SWFButton->setMenu — enable track as menu button behaviour
  • SWFButton->setOver — Alias for addShape(shape, SWFBUTTON_OVER)
  • SWFButton->setUp — Alias for addShape(shape, SWFBUTTON_UP)
SWFBitmap->getWidth
SWFButton->addAction
Ming


Adds an action

SWFButton
SWFButton->addASound
SWFButton
PHP Manual

SWFButton->addAction

(PHP 4 >= 4.0.5)

SWFButton->addAction — Adds an action

Описание

void SWFButton::addAction ( SWFAction $action , int $flags )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Adds the given action to the button for the given conditions.

Список параметров

action

An SWFAction, returned by SWFAction->__construct.

flags

The following flags are valid: SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT and SWFBUTTON_DRAGOVER.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton
SWFButton->addASound
SWFButton


Associates a sound with a button transition

SWFButton->addAction
SWFButton->addShape
SWFButton
PHP Manual

SWFButton->addASound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->addASound — Associates a sound with a button transition

Описание

SWFSoundInstance SWFButton::addASound ( SWFSound $sound , int $flags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFButton->addAction
SWFButton->addShape
SWFButton


Adds a shape to a button

SWFButton->addASound
SWFButton->__construct
SWFButton
PHP Manual

SWFButton->addShape

(PHP 4 >= 4.0.5)

SWFButton->addShape — Adds a shape to a button

Описание

void SWFButton::addShape ( SWFShape $shape , int $flags )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Adds the given shape to the button.

Список параметров

shape

An SWFShape instance

flags

The following flags are valid: SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN and SWFBUTTON_HIT.

SWFBUTTON_HIT isn't ever displayed, it defines the hit region for the button. That is, everywhere the hit shape would be drawn is considered a "touchable" part of the button.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFButton->addASound
SWFButton->__construct
SWFButton


Creates a new Button

SWFButton->addShape
SWFButton->setAction
SWFButton
PHP Manual

SWFButton->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->__construct — Creates a new Button

Описание

SWFButton SWFButton::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new Button.

Примеры

This simple example will show your usual interactions with buttons : rollover, rollon, mouseup, mousedown, noaction.

Пример #1 Usual interactions with buttons

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

This simple example will enables you to drag draw a big red button on the windows. No drag-and-drop, just moving around.

Пример #2 Drag example

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFButton->addShape
SWFButton->setAction
SWFButton


Sets the action

SWFButton->__construct
SWFButton->setDown
SWFButton
PHP Manual

SWFButton->setAction

(PHP 4 >= 4.0.5)

SWFButton->setAction — Sets the action

Описание

void SWFButton::setAction ( SWFAction $action )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the action to be performed when the button is clicked.

This is a shortcut for SWFButton->addAction called with the SWFBUTTON_MOUSEUP flag.

Список параметров

action

An SWFAction, returned by SWFAction->__construct.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addAction
  • SWFAction

SWFButton->__construct
SWFButton->setDown
SWFButton


Alias for addShape(shape, SWFBUTTON_DOWN)

SWFButton->setAction
SWFButton->setHit
SWFButton
PHP Manual

SWFButton->setDown

(PHP 4 >= 4.0.5)

SWFButton->setDown — Alias for addShape(shape, SWFBUTTON_DOWN)

Описание

void SWFButton::setDown ( SWFShape $shape )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfbutton->setdown() alias for addShape(shape, SWFBUTTON_DOWN).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton->setAction
SWFButton->setHit
SWFButton


Alias for addShape(shape, SWFBUTTON_HIT)

SWFButton->setDown
SWFButton->setMenu
SWFButton
PHP Manual

SWFButton->setHit

(PHP 4 >= 4.0.5)

SWFButton->setHit — Alias for addShape(shape, SWFBUTTON_HIT)

Описание

void SWFButton::setHit ( SWFShape $shape )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfbutton->sethit() alias for addShape(shape, SWFBUTTON_HIT).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton->setDown
SWFButton->setMenu
SWFButton


enable track as menu button behaviour

SWFButton->setHit
SWFButton->setOver
SWFButton
PHP Manual

SWFButton->setMenu

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->setMenu — enable track as menu button behaviour

Описание

void SWFButton::setMenu ( int $flag )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

This parameter can be used for a slight different behavior of buttons. You can set it to 0 (off) or 1 (on).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFButton->setHit
SWFButton->setOver
SWFButton


Alias for addShape(shape, SWFBUTTON_OVER)

SWFButton->setMenu
SWFButton->setUp
SWFButton
PHP Manual

SWFButton->setOver

(PHP 4 >= 4.0.5)

SWFButton->setOver — Alias for addShape(shape, SWFBUTTON_OVER)

Описание

void SWFButton::setOver ( SWFShape $shape )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfbutton->setover() alias for addShape(shape, SWFBUTTON_OVER).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton->setMenu
SWFButton->setUp
SWFButton


Alias for addShape(shape, SWFBUTTON_UP)

SWFButton->setOver
SWFDisplayItem
SWFButton
PHP Manual

SWFButton->setUp

(PHP 4 >= 4.0.5)

SWFButton->setUp — Alias for addShape(shape, SWFBUTTON_UP)

Описание

void SWFButton::setUp ( SWFShape $shape )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfbutton->setup() alias for addShape(shape, SWFBUTTON_UP).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton->setOver
SWFDisplayItem
SWFButton


The SWFDisplayItem class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFDisplayItem.

Обзор классов

SWFDisplayItem {
/* Методы */
void SWFDisplayItem::addAction ( SWFAction $action , int $flags )
void addColor ( int $red , int $green , int $blue [, int $a ] )
void endMask ( void )
float getRot ( void )
float getX ( void )
float getXScale ( void )
float getXSkew ( void )
float getY ( void )
float getYScale ( void )
float getYSkew ( void )
void move ( float $dx , float $dy )
void moveTo ( float $x , float $y )
void multColor ( float $red , float $green , float $blue [, float $a ] )
void remove ( void )
void rotate ( float $angle )
void rotateTo ( float $angle )
void scale ( float $dx , float $dy )
void scaleTo ( float $x [, float $y ] )
void setDepth ( int $depth )
void setMaskLevel ( int $level )
void setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
void setName ( string $name )
void setRatio ( float $ratio )
void skewX ( float $ddegrees )
void skewXTo ( float $degrees )
void skewY ( float $ddegrees )
void skewYTo ( float $degrees )
}

Содержание

  • SWFDisplayItem->addAction — Adds this SWFAction to the given SWFSprite instance
  • SWFDisplayItem->addColor — Adds the given color to this item's color transform
  • SWFDisplayItem->endMask — Another way of defining a MASK layer
  • SWFDisplayItem->getRot — Описание
  • SWFDisplayItem->getX — Описание
  • SWFDisplayItem->getXScale — Описание
  • SWFDisplayItem->getXSkew — Описание
  • SWFDisplayItem->getY — Описание
  • SWFDisplayItem->getYScale — Описание
  • SWFDisplayItem->getYSkew — Описание
  • SWFDisplayItem->move — Moves object in relative coordinates
  • SWFDisplayItem->moveTo — Moves object in global coordinates
  • SWFDisplayItem->multColor — Multiplies the item's color transform
  • SWFDisplayItem->remove — Removes the object from the movie
  • SWFDisplayItem->rotate — Rotates in relative coordinates
  • SWFDisplayItem->rotateTo — Rotates the object in global coordinates
  • SWFDisplayItem->scale — Scales the object in relative coordinates
  • SWFDisplayItem->scaleTo — Scales the object in global coordinates
  • SWFDisplayItem->setDepth — Sets z-order
  • SWFDisplayItem->setMaskLevel — Defines a MASK layer at level
  • SWFDisplayItem->setMatrix — Sets the item's transform matrix
  • SWFDisplayItem->setName — Sets the object's name
  • SWFDisplayItem->setRatio — Sets the object's ratio
  • SWFDisplayItem->skewX — Sets the X-skew
  • SWFDisplayItem->skewXTo — Sets the X-skew
  • SWFDisplayItem->skewY — Sets the Y-skew
  • SWFDisplayItem->skewYTo — Sets the Y-skew
SWFButton->setUp
SWFDisplayItem->addAction
Ming


Adds this SWFAction to the given SWFSprite instance

SWFDisplayItem
SWFDisplayItem->addColor
SWFDisplayItem
PHP Manual

SWFDisplayItem->addAction

(PHP 4 >= 4.2.0)

SWFDisplayItem->addAction — Adds this SWFAction to the given SWFSprite instance

Описание

void SWFDisplayItem::addAction ( SWFAction $action , int $flags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

action

An SWFAction, returned by SWFAction->__construct.

flags

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFAction

SWFDisplayItem
SWFDisplayItem->addColor
SWFDisplayItem


Adds the given color to this item's color transform

SWFDisplayItem->addAction
SWFDisplayItem->endMask
SWFDisplayItem
PHP Manual

SWFDisplayItem->addColor

(PHP 4 >= 4.0.5)

SWFDisplayItem->addColor — Adds the given color to this item's color transform

Описание

void SWFDisplayItem::addColor ( int $red , int $green , int $blue [, int $a ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->addcolor() adds the color to this item's color transform. The color is given in its RGB form.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->addAction
SWFDisplayItem->endMask
SWFDisplayItem


Another way of defining a MASK layer

SWFDisplayItem->addColor
SWFDisplayItem->getRot
SWFDisplayItem
PHP Manual

SWFDisplayItem->endMask

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->endMask — Another way of defining a MASK layer

Описание

void SWFDisplayItem::endMask ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->addColor
SWFDisplayItem->getRot
SWFDisplayItem


SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem
PHP Manual

SWFDisplayItem->getRot

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getRot —

Описание

float SWFDisplayItem::getRot ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem


SWFDisplayItem->getRot
SWFDisplayItem->getXScale
SWFDisplayItem
PHP Manual

SWFDisplayItem->getX

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getX —

Описание

float SWFDisplayItem::getX ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getY

SWFDisplayItem->getRot
SWFDisplayItem->getXScale
SWFDisplayItem


SWFDisplayItem->getX
SWFDisplayItem->getXSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem->getXScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getXScale —

Описание

float SWFDisplayItem::getXScale ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getYScale

SWFDisplayItem->getX
SWFDisplayItem->getXSkew
SWFDisplayItem


SWFDisplayItem->getXScale
SWFDisplayItem->getY
SWFDisplayItem
PHP Manual

SWFDisplayItem->getXSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getXSkew —

Описание

float SWFDisplayItem::getXSkew ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getYSkew

SWFDisplayItem->getXScale
SWFDisplayItem->getY
SWFDisplayItem


SWFDisplayItem->getXSkew
SWFDisplayItem->getYScale
SWFDisplayItem
PHP Manual

SWFDisplayItem->getY

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getY —

Описание

float SWFDisplayItem::getY ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getX

SWFDisplayItem->getXSkew
SWFDisplayItem->getYScale
SWFDisplayItem


SWFDisplayItem->getY
SWFDisplayItem->getYSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem->getYScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getYScale —

Описание

float SWFDisplayItem::getYScale ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getXScale

SWFDisplayItem->getY
SWFDisplayItem->getYSkew
SWFDisplayItem


SWFDisplayItem->getYScale
SWFDisplayItem->move
SWFDisplayItem
PHP Manual

SWFDisplayItem->getYSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getYSkew —

Описание

float SWFDisplayItem::getYSkew ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFDisplayItem->getXSkew

SWFDisplayItem->getYScale
SWFDisplayItem->move
SWFDisplayItem


Moves object in relative coordinates

SWFDisplayItem->getYSkew
SWFDisplayItem->moveTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->move

(PHP 4 >= 4.0.5)

SWFDisplayItem->move — Moves object in relative coordinates

Описание

void SWFDisplayItem::move ( float $dx , float $dy )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->move() moves the current object by (dx,dy) from its current position.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->moveTo

SWFDisplayItem->getYSkew
SWFDisplayItem->moveTo
SWFDisplayItem


Moves object in global coordinates

SWFDisplayItem->move
SWFDisplayItem->multColor
SWFDisplayItem
PHP Manual

SWFDisplayItem->moveTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->moveTo — Moves object in global coordinates

Описание

void SWFDisplayItem::moveTo ( float $x , float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->moveto() moves the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->move

SWFDisplayItem->move
SWFDisplayItem->multColor
SWFDisplayItem


Multiplies the item's color transform

SWFDisplayItem->moveTo
SWFDisplayItem->remove
SWFDisplayItem
PHP Manual

SWFDisplayItem->multColor

(PHP 4 >= 4.0.5)

SWFDisplayItem->multColor — Multiplies the item's color transform

Описание

void SWFDisplayItem::multColor ( float $red , float $green , float $blue [, float $a ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->multcolor() multiplies the item's color transform by the given values.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Список параметров

These parameters are floats between 0.0 and 1.0:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

This simple example will modify your picture's atmosphere to Halloween (use a landscape or bright picture).

Пример #1 swfdisplayitem->multcolor() example

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// note use your own picture :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem->moveTo
SWFDisplayItem->remove
SWFDisplayItem


Removes the object from the movie

SWFDisplayItem->multColor
SWFDisplayItem->rotate
SWFDisplayItem
PHP Manual

SWFDisplayItem->remove

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->remove — Removes the object from the movie

Описание

void SWFDisplayItem::remove ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->remove() removes this object from the movie's display list.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFMovie->add

SWFDisplayItem->multColor
SWFDisplayItem->rotate
SWFDisplayItem


Rotates in relative coordinates

SWFDisplayItem->remove
SWFDisplayItem->rotateTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->rotate

(PHP 4 >= 4.0.5)

SWFDisplayItem->rotate — Rotates in relative coordinates

Описание

void SWFDisplayItem::rotate ( float $angle )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->rotate() rotates the current object by angle degrees from its current rotation.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->rotateTo

SWFDisplayItem->remove
SWFDisplayItem->rotateTo
SWFDisplayItem


Rotates the object in global coordinates

SWFDisplayItem->rotate
SWFDisplayItem->scale
SWFDisplayItem
PHP Manual

SWFDisplayItem->rotateTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->rotateTo — Rotates the object in global coordinates

Описание

void SWFDisplayItem::rotateTo ( float $angle )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->rotateto() set the current object rotation to angle degrees in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

This example bring three rotating string from the background to the foreground. Pretty nice.

Пример #1 swfdisplayitem->rotateto() example

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// functions with huge numbers of arbitrary
// arguments are always a good idea!  Really!

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // we can add properties just like a normal PHP var,
  // as long as the names aren't already used.
  // e.g., we can't set $i->scale, because that's a function

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // but the changes are local to the function, so we have to
  // return the changed object.  kinda weird..

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

// see?  it sure paid off in legibility:

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Смотрите также

  • SWFDisplayItem->rotate

SWFDisplayItem->rotate
SWFDisplayItem->scale
SWFDisplayItem


Scales the object in relative coordinates

SWFDisplayItem->rotateTo
SWFDisplayItem->scaleTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->scale

(PHP 4 >= 4.0.5)

SWFDisplayItem->scale — Scales the object in relative coordinates

Описание

void SWFDisplayItem::scale ( float $dx , float $dy )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->scale() scales the current object by (dx,dy) from its current size.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->scaleTo

SWFDisplayItem->rotateTo
SWFDisplayItem->scaleTo
SWFDisplayItem


Scales the object in global coordinates

SWFDisplayItem->scale
SWFDisplayItem->setDepth
SWFDisplayItem
PHP Manual

SWFDisplayItem->scaleTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->scaleTo — Scales the object in global coordinates

Описание

void SWFDisplayItem::scaleTo ( float $x [, float $y ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->scaleto() scales the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->scale

SWFDisplayItem->scale
SWFDisplayItem->setDepth
SWFDisplayItem


Sets z-order

SWFDisplayItem->scaleTo
SWFDisplayItem->setMaskLevel
SWFDisplayItem
PHP Manual

SWFDisplayItem->setDepth

(PHP 4 >= 4.0.5)

SWFDisplayItem->setDepth — Sets z-order

Описание

void SWFDisplayItem::setDepth ( int $depth )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->setdepth() sets the object's z-order to depth. Depth defaults to the order in which instances are created (by adding a shape/text to a movie)- newer ones are on top of older ones. If two objects are given the same depth, only the later-defined one can be moved.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->scaleTo
SWFDisplayItem->setMaskLevel
SWFDisplayItem


Defines a MASK layer at level

SWFDisplayItem->setDepth
SWFDisplayItem->setMatrix
SWFDisplayItem
PHP Manual

SWFDisplayItem->setMaskLevel

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->setMaskLevel — Defines a MASK layer at level

Описание

void SWFDisplayItem::setMaskLevel ( int $level )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->setDepth
SWFDisplayItem->setMatrix
SWFDisplayItem


Sets the item's transform matrix

SWFDisplayItem->setMaskLevel
SWFDisplayItem->setName
SWFDisplayItem
PHP Manual

SWFDisplayItem->setMatrix

(PHP 4 >= 4.0.5)

SWFDisplayItem->setMatrix — Sets the item's transform matrix

Описание

void SWFDisplayItem::setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->setMaskLevel
SWFDisplayItem->setName
SWFDisplayItem


Sets the object's name

SWFDisplayItem->setMatrix
SWFDisplayItem->setRatio
SWFDisplayItem
PHP Manual

SWFDisplayItem->setName

(PHP 4 >= 4.0.5)

SWFDisplayItem->setName — Sets the object's name

Описание

void SWFDisplayItem::setName ( string $name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->setname() sets the object's name to name, for targetting with action script. Only useful on sprites.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFDisplayItem->setMatrix
SWFDisplayItem->setRatio
SWFDisplayItem


Sets the object's ratio

SWFDisplayItem->setName
SWFDisplayItem->skewX
SWFDisplayItem
PHP Manual

SWFDisplayItem->setRatio

(PHP 4 >= 4.0.5)

SWFDisplayItem->setRatio — Sets the object's ratio

Описание

void SWFDisplayItem::setRatio ( float $ratio )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->setratio() sets the object's ratio to ratio. Obviously only useful for morphs.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

This simple example will morph nicely three concentric circles.

Пример #1 swfdisplayitem->setname() example

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem->setName
SWFDisplayItem->skewX
SWFDisplayItem


Sets the X-skew

SWFDisplayItem->setRatio
SWFDisplayItem->skewXTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewX

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewX — Sets the X-skew

Описание

void SWFDisplayItem::skewX ( float $ddegrees )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->skewx() adds ddegrees to current x-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->skewXTo
  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewYTo

SWFDisplayItem->setRatio
SWFDisplayItem->skewXTo
SWFDisplayItem


Sets the X-skew

SWFDisplayItem->skewX
SWFDisplayItem->skewY
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewXTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewXTo — Sets the X-skew

Описание

void SWFDisplayItem::skewXTo ( float $degrees )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->skewxto() sets the x-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more forward, less is more backward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewYTo

SWFDisplayItem->skewX
SWFDisplayItem->skewY
SWFDisplayItem


Sets the Y-skew

SWFDisplayItem->skewXTo
SWFDisplayItem->skewYTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewY

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewY — Sets the Y-skew

Описание

void SWFDisplayItem::skewY ( float $ddegrees )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->skewy() adds ddegrees to current y-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->skewYTo
  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewXTo

SWFDisplayItem->skewXTo
SWFDisplayItem->skewYTo
SWFDisplayItem


Sets the Y-skew

SWFDisplayItem->skewY
SWFFill
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewYTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewYTo — Sets the Y-skew

Описание

void SWFDisplayItem::skewYTo ( float $degrees )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfdisplayitem->skewyto() sets the y-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more upward, less is more downward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewXTo

SWFDisplayItem->skewY
SWFFill
SWFDisplayItem


The SWFFill class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SWFFill object allows you to transform (scale, skew, rotate) bitmap and gradient fills.

swffill objects are created by the SWFShape->addFill method.

Обзор классов

SWFFill {
/* Методы */
void SWFFill::moveTo ( float $x , float $y )
void rotateTo ( float $angle )
void scaleTo ( float $x [, float $y ] )
void skewXTo ( float $x )
void skewYTo ( float $y )
}

Содержание

  • SWFFill->moveTo — Moves fill origin
  • SWFFill->rotateTo — Sets fill's rotation
  • SWFFill->scaleTo — Sets fill's scale
  • SWFFill->skewXTo — Sets fill x-skew
  • SWFFill->skewYTo — Sets fill y-skew
SWFDisplayItem->skewYTo
SWFFill->moveTo
Ming


Moves fill origin

SWFFill
SWFFill->rotateTo
SWFFill
PHP Manual

SWFFill->moveTo

(PHP 4 >= 4.0.5)

SWFFill->moveTo — Moves fill origin

Описание

void SWFFill::moveTo ( float $x , float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Moves the fill origin to the given global coordinates.

Список параметров

x

X-coordinate

y

Y-coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFFill
SWFFill->rotateTo
SWFFill


Sets fill's rotation

SWFFill->moveTo
SWFFill->scaleTo
SWFFill
PHP Manual

SWFFill->rotateTo

(PHP 4 >= 4.0.5)

SWFFill->rotateTo — Sets fill's rotation

Описание

void SWFFill::rotateTo ( float $angle )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the fill rotation to the given angle.

Список параметров

angle

The rotation angle, in degrees.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFFill->moveTo
SWFFill->scaleTo
SWFFill


Sets fill's scale

SWFFill->rotateTo
SWFFill->skewXTo
SWFFill
PHP Manual

SWFFill->scaleTo

(PHP 4 >= 4.0.5)

SWFFill->scaleTo — Sets fill's scale

Описание

void SWFFill::scaleTo ( float $x [, float $y ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the fill scale to the given coordinates.

Список параметров

x

X-coordinate

y

Y-coordinate

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFFill->rotateTo
SWFFill->skewXTo
SWFFill


Sets fill x-skew

SWFFill->scaleTo
SWFFill->skewYTo
SWFFill
PHP Manual

SWFFill->skewXTo

(PHP 4 >= 4.0.5)

SWFFill->skewXTo — Sets fill x-skew

Описание

void SWFFill::skewXTo ( float $x )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the fill x-skew to x.

Список параметров

x

When x is 1.0, it is a 45-degree forward slant. More is more forward, less is more backward.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFFill->skewYTo

SWFFill->scaleTo
SWFFill->skewYTo
SWFFill


Sets fill y-skew

SWFFill->skewXTo
SWFFont
SWFFill
PHP Manual

SWFFill->skewYTo

(PHP 4 >= 4.0.5)

SWFFill->skewYTo — Sets fill y-skew

Описание

void SWFFill::skewYTo ( float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the fill y-skew to y.

Список параметров

y

When y is 1.0, it is a 45-degree upward slant. More is more upward, less is more downward.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFFill->skewXTo

SWFFill->skewXTo
SWFFont
SWFFill


The SWFFont class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SWFFont object represent a reference to the font definition, for us with SWFText->setFont and SWFTextField->setFont.

Обзор классов

SWFFont {
/* Методы */
SWFFont SWFFont::__construct ( string $filename )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
string getShape ( int $code )
float getUTF8Width ( string $string )
float getWidth ( string $string )
}

Содержание

  • SWFFont->__construct — Loads a font definition
  • SWFFont->getAscent — Returns the ascent of the font, or 0 if not available
  • SWFFont->getDescent — Returns the descent of the font, or 0 if not available
  • SWFFont->getLeading — Returns the leading of the font, or 0 if not available
  • SWFFont->getShape — Returns the glyph shape of a char as a text string
  • SWFFont->getUTF8Width — Calculates the width of the given string in this font at full height
  • SWFFont->getWidth — Returns the string's width
SWFFill->skewYTo
SWFFont->__construct
Ming


Loads a font definition

SWFFont
SWFFont->getAscent
SWFFont
PHP Manual

SWFFont->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->__construct — Loads a font definition

Описание

SWFFont SWFFont::__construct ( string $filename )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

If filename is the name of an FDB file (i.e., it ends in ".fdb"), load the font definition found in said file. Otherwise, create a browser-defined font reference.

FDB ("font definition block") is a very simple wrapper for the SWF DefineFont2 block which contains a full description of a font. One may create FDB files from SWT Generator template files with the included makefdb utility- look in the util directory off the main ming distribution directory.

Browser-defined fonts don't contain any information about the font other than its name. It is assumed that the font definition will be provided by the movie player. The fonts _serif, _sans, and _typewriter should always be available. For example:

<?php
$f = newSWFFont("_sans");
?>
will give you the standard sans-serif font, probably the same as what you'd get with <font name="sans-serif"> in HTML.

SWFFont
SWFFont->getAscent
SWFFont


Returns the ascent of the font, or 0 if not available

SWFFont->__construct
SWFFont->getDescent
SWFFont
PHP Manual

SWFFont->getAscent

(PHP 4 >= 4.0.5)

SWFFont->getAscent — Returns the ascent of the font, or 0 if not available

Описание

float SWFFont::getAscent ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFFont->getDescent

SWFFont->__construct
SWFFont->getDescent
SWFFont


Returns the descent of the font, or 0 if not available

SWFFont->getAscent
SWFFont->getLeading
SWFFont
PHP Manual

SWFFont->getDescent

(PHP 4 >= 4.0.5)

SWFFont->getDescent — Returns the descent of the font, or 0 if not available

Описание

float SWFFont::getDescent ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFFont->getAscent

SWFFont->getAscent
SWFFont->getLeading
SWFFont


Returns the leading of the font, or 0 if not available

SWFFont->getDescent
SWFFont->getShape
SWFFont
PHP Manual

SWFFont->getLeading

(PHP 4 >= 4.0.5)

SWFFont->getLeading — Returns the leading of the font, or 0 if not available

Описание

float SWFFont::getLeading ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFFont->getDescent
SWFFont->getShape
SWFFont


Returns the glyph shape of a char as a text string

SWFFont->getLeading
SWFFont->getUTF8Width
SWFFont
PHP Manual

SWFFont->getShape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->getShape — Returns the glyph shape of a char as a text string

Описание

string SWFFont::getShape ( int $code )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFFont->getLeading
SWFFont->getUTF8Width
SWFFont


Calculates the width of the given string in this font at full height

SWFFont->getShape
SWFFont->getWidth
SWFFont
PHP Manual

SWFFont->getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->getUTF8Width — Calculates the width of the given string in this font at full height

Описание

float SWFFont::getUTF8Width ( string $string )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFFont->getWidth

SWFFont->getShape
SWFFont->getWidth
SWFFont


Returns the string's width

SWFFont->getUTF8Width
SWFFontChar
SWFFont
PHP Manual

SWFFont->getWidth

(PHP 4 >= 4.0.5)

SWFFont->getWidth — Returns the string's width

Описание

float SWFFont::getWidth ( string $string )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swffont->getwidth() returns the string string's width, using font's default scaling. You'll probably want to use the swftext() version of this method which uses the text object's scale.

Смотрите также

  • SWFFont->getUTF8Width

SWFFont->getUTF8Width
SWFFontChar
SWFFont


The SWFFontChar class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFFontChar.

Обзор классов

SWFFontChar {
/* Методы */
void SWFFontChar::addChars ( string $char )
void addUTF8Chars ( string $char )
}

Содержание

  • SWFFontChar->addChars — Adds characters to a font for exporting font
  • SWFFontChar->addUTF8Chars — Adds characters to a font for exporting font
SWFFont->getWidth
SWFFontChar->addChars
Ming


Adds characters to a font for exporting font

SWFFontChar
SWFFontChar->addUTF8Chars
SWFFontChar
PHP Manual

SWFFontChar->addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar->addChars — Adds characters to a font for exporting font

Описание

void SWFFontChar::addChars ( string $char )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFFontChar->addUTF8Chars

SWFFontChar
SWFFontChar->addUTF8Chars
SWFFontChar


Adds characters to a font for exporting font

SWFFontChar->addChars
SWFGradient
SWFFontChar
PHP Manual

SWFFontChar->addUTF8Chars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar->addUTF8Chars — Adds characters to a font for exporting font

Описание

void SWFFontChar::addUTF8Chars ( string $char )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFFontChar->addChars

SWFFontChar->addChars
SWFGradient
SWFFontChar


The SWFGradient class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFGradient.

Обзор классов

SWFGradient {
/* Методы */
void SWFGradient::addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFGradient __construct ( void )
}

Содержание

  • SWFGradient->addEntry — Adds an entry to the gradient list
  • SWFGradient->__construct — Creates a gradient object
SWFFontChar->addUTF8Chars
SWFGradient->addEntry
Ming


Adds an entry to the gradient list

SWFGradient
SWFGradient->__construct
SWFGradient
PHP Manual

SWFGradient->addEntry

(PHP 4 >= 4.3.0)

SWFGradient->addEntry — Adds an entry to the gradient list

Описание

void SWFGradient::addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfgradient->addentry() adds an entry to the gradient list. ratio is a number between 0 and 1 indicating where in the gradient this color appears. Thou shalt add entries in order of increasing ratio.

red, green, blue is a color (RGB mode).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFGradient
SWFGradient->__construct
SWFGradient


Creates a gradient object

SWFGradient->addEntry
SWFMorph
SWFGradient
PHP Manual

SWFGradient->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFGradient->__construct — Creates a gradient object

Описание

SWFGradient SWFGradient::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfgradient() creates a new SWFGradient object.

After you've added the entries to your gradient, you can use the gradient in a shape fill with the swfshape->addfill() method.

SWFGradient has the following methods : swfgradient->addentry().

This simple example will draw a big black-to-white gradient as background, and a reddish disc in its center.

Пример #1 swfgradient() example

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // first gradient- black to white
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // second gradient- radial gradient from red to transparent
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFGradient->addEntry
SWFMorph
SWFGradient


The SWFMorph class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The methods here are sort of weird. It would make more sense to just have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs to know that it's the second part of a morph. (This, because it starts writing its output as soon as it gets drawing commands- if it kept its own description of its shapes and wrote on completion this and some other things would be much easier.)

Обзор классов

SWFMorph {
/* Методы */
SWFMorph SWFMorph::__construct ( void )
SWFShape getShape1 ( void )
SWFShape getShape2 ( void )
}

Содержание

  • SWFMorph->__construct — Creates a new SWFMorph object
  • SWFMorph->getShape1 — Gets a handle to the starting shape
  • SWFMorph->getShape2 — Gets a handle to the ending shape
SWFGradient->__construct
SWFMorph->__construct
Ming


Creates a new SWFMorph object

SWFMorph
SWFMorph->getShape1
SWFMorph
PHP Manual

SWFMorph->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph->__construct — Creates a new SWFMorph object

Описание

SWFMorph SWFMorph::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new SWFMorph object.

Also called a "shape tween". This thing lets you make those tacky twisting things that make your computer choke. Oh, joy!

Примеры

This simple example will morph a big red square into a smaller blue black-bordered square.

Пример #1 swfmorph() example

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  /* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFMorph
SWFMorph->getShape1
SWFMorph


Gets a handle to the starting shape

SWFMorph->__construct
SWFMorph->getShape2
SWFMorph
PHP Manual

SWFMorph->getShape1

(PHP 4 >= 4.0.5)

SWFMorph->getShape1 — Gets a handle to the starting shape

Описание

SWFShape SWFMorph::getShape1 ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Gets the morph's starting shape.

Возвращаемые значения

Returns a SWFShape object.

Смотрите также

  • SWFMorph->getShape2

SWFMorph->__construct
SWFMorph->getShape2
SWFMorph


Gets a handle to the ending shape

SWFMorph->getShape1
SWFMovie
SWFMorph
PHP Manual

SWFMorph->getShape2

(PHP 4 >= 4.0.5)

SWFMorph->getShape2 — Gets a handle to the ending shape

Описание

SWFShape SWFMorph::getShape2 ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Gets the morph's ending shape.

Возвращаемые значения

Returns a SWFShape object.

Смотрите также

  • SWFMorph->getShape1

SWFMorph->getShape1
SWFMovie
SWFMorph


The SWFMovie class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFMovie is a movie object representing an SWF movie.

Обзор классов

SWFMovie {
/* Методы */
mixed SWFMovie::add ( object $instance )
void addExport ( SWFCharacter $char , string $name )
mixed addFont ( SWFFont $font )
SWFMovie __construct ([ int $version ] )
SWFSprite importChar ( string $libswf , string $name )
SWFFontChar importFont ( string $libswf , string $name )
void labelFrame ( string $label )
void nextFrame ( void )
int output ([ int $compression ] )
void remove ( object $instance )
int save ( string $filename [, int $compression = -1 ] )
int saveToFile ( resource $x [, int $compression = -1 ] )
void setbackground ( int $red , int $green , int $blue )
void setDimension ( float $width , float $height )
void setFrames ( int $number )
void setRate ( float $rate )
SWFSoundInstance startSound ( SWFSound $sound )
void stopSound ( SWFSound $sound )
int streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
void writeExports ( void )
}

Содержание

  • SWFMovie->add — Adds any type of data to a movie
  • SWFMovie->addExport — Описание
  • SWFMovie->addFont — Описание
  • SWFMovie->__construct — Creates a new movie object, representing an SWF version 4 movie
  • SWFMovie->importChar — Описание
  • SWFMovie->importFont — Описание
  • SWFMovie->labelFrame — Labels a frame
  • SWFMovie->nextFrame — Moves to the next frame of the animation
  • SWFMovie->output — Dumps your lovingly prepared movie out
  • SWFMovie->remove — Removes the object instance from the display list
  • SWFMovie->save — Saves the SWF movie in a file
  • SWFMovie->saveToFile — Описание
  • SWFMovie->setbackground — Sets the background color
  • SWFMovie->setDimension — Sets the movie's width and height
  • SWFMovie->setFrames — Sets the total number of frames in the animation
  • SWFMovie->setRate — Sets the animation's frame rate
  • SWFMovie->startSound — Описание
  • SWFMovie->stopSound — Описание
  • SWFMovie->streamMP3 — Streams a MP3 file
  • SWFMovie->writeExports — Описание
SWFMorph->getShape2
SWFMovie->add
Ming


Adds any type of data to a movie

SWFMovie
SWFMovie->addExport
SWFMovie
PHP Manual

SWFMovie->add

(PHP 4 >= 4.3.3)

SWFMovie->add — Adds any type of data to a movie

Описание

mixed SWFMovie::add ( object $instance )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Adds an SWF object instance to the current movie.

Список параметров

instance

Any type of object instance, like SWFShape, SWFText, SWFFont.

Возвращаемые значения

For displayable types (shape, text, button, sprite), this returns an SWFDisplayItem, a handle to the object in a display list. Thus, you can add the same shape to a movie multiple times and get separate handles back for each separate instance.

Смотрите также

  • SWFMovie->remove

SWFMovie
SWFMovie->addExport
SWFMovie


SWFMovie->add
SWFMovie->addFont
SWFMovie
PHP Manual

SWFMovie->addExport

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->addExport —

Описание

void SWFMovie::addExport ( SWFCharacter $char , string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->add
SWFMovie->addFont
SWFMovie


SWFMovie->addExport
SWFMovie->__construct
SWFMovie
PHP Manual

SWFMovie->addFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->addFont —

Описание

mixed SWFMovie::addFont ( SWFFont $font )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->addExport
SWFMovie->__construct
SWFMovie


Creates a new movie object, representing an SWF version 4 movie

SWFMovie->addFont
SWFMovie->importChar
SWFMovie
PHP Manual

SWFMovie->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->__construct — Creates a new movie object, representing an SWF version 4 movie

Описание

SWFMovie SWFMovie::__construct ([ int $version ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new movie object, representing an SWF movie.

Список параметров

version

The desired SWF version. Default is 4.

SWFMovie->addFont
SWFMovie->importChar
SWFMovie


SWFMovie->__construct
SWFMovie->importFont
SWFMovie
PHP Manual

SWFMovie->importChar

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->importChar —

Описание

SWFSprite SWFMovie::importChar ( string $libswf , string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFMovie->importFont

SWFMovie->__construct
SWFMovie->importFont
SWFMovie


SWFMovie->importChar
SWFMovie->labelFrame
SWFMovie
PHP Manual

SWFMovie->importFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->importFont —

Описание

SWFFontChar SWFMovie::importFont ( string $libswf , string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFMovie->importChar

SWFMovie->importChar
SWFMovie->labelFrame
SWFMovie


Labels a frame

SWFMovie->importFont
SWFMovie->nextFrame
SWFMovie
PHP Manual

SWFMovie->labelFrame

(PHP 4 >= 4.3.3)

SWFMovie->labelFrame — Labels a frame

Описание

void SWFMovie::labelFrame ( string $label )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->importFont
SWFMovie->nextFrame
SWFMovie


Moves to the next frame of the animation

SWFMovie->labelFrame
SWFMovie->output
SWFMovie
PHP Manual

SWFMovie->nextFrame

(PHP 4 >= 4.3.3)

SWFMovie->nextFrame — Moves to the next frame of the animation

Описание

void SWFMovie::nextFrame ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Moves to the next frame of the animation.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->labelFrame
SWFMovie->output
SWFMovie


Dumps your lovingly prepared movie out

SWFMovie->nextFrame
SWFMovie->remove
SWFMovie
PHP Manual

SWFMovie->output

(PHP 4 >= 4.3.3)

SWFMovie->output — Dumps your lovingly prepared movie out

Описание

int SWFMovie::output ([ int $compression ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Dumps the SWFMovie.

Don't forget to send the Content-Type HTTP header file before using this function, in order to display the movie in a browser.

Список параметров

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Возвращаемые значения

Return the number of bytes written or FALSE on error.

Примеры

Пример #1 Displaying your $movie in a browser

<?php
header('Content-type: application/x-shockwave-flash');
$movie->output();
?>

Смотрите также

  • SWFMovie->save
  • SWFMovie->saveToFile

SWFMovie->nextFrame
SWFMovie->remove
SWFMovie


Removes the object instance from the display list

SWFMovie->output
SWFMovie->save
SWFMovie
PHP Manual

SWFMovie->remove

(PHP 5.2.1-5.3.0, PECL ming SVN)

SWFMovie->remove — Removes the object instance from the display list

Описание

void SWFMovie::remove ( object $instance )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Removes the given object instance from the display list.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFMovie->add

SWFMovie->output
SWFMovie->save
SWFMovie


Saves the SWF movie in a file

SWFMovie->remove
SWFMovie->saveToFile
SWFMovie
PHP Manual

SWFMovie->save

(PHP 4 >= 4.3.3)

SWFMovie->save — Saves the SWF movie in a file

Описание

int SWFMovie::save ( string $filename [, int $compression = -1 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Saves the SWF movie to the specified filename.

Список параметров

filename

The path to the saved SWF document.

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Возвращаемые значения

Return the number of bytes written or FALSE on error.

Смотрите также

  • SWFMovie->output
  • SWFMovie->saveToFile

SWFMovie->remove
SWFMovie->saveToFile
SWFMovie


SWFMovie->save
SWFMovie->setbackground
SWFMovie
PHP Manual

SWFMovie->saveToFile

(PHP 4 >= 4.3.3)

SWFMovie->saveToFile —

Описание

int SWFMovie::saveToFile ( resource $x [, int $compression = -1 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

X

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Возвращаемые значения

Return the number of bytes written or FALSE on error.

Смотрите также

  • SWFMovie->output
  • SWFMovie->save

SWFMovie->save
SWFMovie->setbackground
SWFMovie


Sets the background color

SWFMovie->saveToFile
SWFMovie->setDimension
SWFMovie
PHP Manual

SWFMovie->setbackground

(PHP 4 >= 4.3.3)

SWFMovie->setbackground — Sets the background color

Описание

void SWFMovie::setbackground ( int $red , int $green , int $blue )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the background color.

Why is there no rgba version? Think about it, you might want to let the HTML background show through. There's a way to do that, but it only works on IE4. Search the » http://www.macromedia.com/ site for details.

Список параметров

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->saveToFile
SWFMovie->setDimension
SWFMovie


Sets the movie's width and height

SWFMovie->setbackground
SWFMovie->setFrames
SWFMovie
PHP Manual

SWFMovie->setDimension

(PHP 4 >= 4.3.3)

SWFMovie->setDimension — Sets the movie's width and height

Описание

void SWFMovie::setDimension ( float $width , float $height )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the movie's dimension to the specified width and height.

Список параметров

width

The movie width.

height

The movie height.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->setbackground
SWFMovie->setFrames
SWFMovie


Sets the total number of frames in the animation

SWFMovie->setDimension
SWFMovie->setRate
SWFMovie
PHP Manual

SWFMovie->setFrames

(PHP 4 >= 4.3.3)

SWFMovie->setFrames — Sets the total number of frames in the animation

Описание

void SWFMovie::setFrames ( int $number )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the total number of frames in the animation to the given number.

Список параметров

number

The number of frames.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->setDimension
SWFMovie->setRate
SWFMovie


Sets the animation's frame rate

SWFMovie->setFrames
SWFMovie->startSound
SWFMovie
PHP Manual

SWFMovie->setRate

(PHP 4 >= 4.3.3)

SWFMovie->setRate — Sets the animation's frame rate

Описание

void SWFMovie::setRate ( float $rate )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Sets the frame rate to the specified rate.

Animation will slow down if the player can't render frames fast enough- unless there's a streaming sound, in which case display frames are sacrificed to keep sound from skipping.

Список параметров

rate

The frame rate, in frame per seconds.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->setFrames
SWFMovie->startSound
SWFMovie


SWFMovie->setRate
SWFMovie->stopSound
SWFMovie
PHP Manual

SWFMovie->startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->startSound —

Описание

SWFSoundInstance SWFMovie::startSound ( SWFSound $sound )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFMovie->stopSound

SWFMovie->setRate
SWFMovie->stopSound
SWFMovie


SWFMovie->startSound
SWFMovie->streamMP3
SWFMovie
PHP Manual

SWFMovie->stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->stopSound —

Описание

void SWFMovie::stopSound ( SWFSound $sound )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFMovie->startSound

SWFMovie->startSound
SWFMovie->streamMP3
SWFMovie


Streams a MP3 file

SWFMovie->stopSound
SWFMovie->writeExports
SWFMovie
PHP Manual

SWFMovie->streamMP3

(PHP 4 >= 4.3.3)

SWFMovie->streamMP3 — Streams a MP3 file

Описание

int SWFMovie::streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Streams the given MP3 file mp3file.

This method is not very robust in dealing with oddities (can skip over an initial ID3 tag, but that's about it).

Note that the movie isn't smart enough to put enough frames in to contain the entire mp3 stream- you'll have to add (length of song * frames per second) frames to get the entire stream in.

Список параметров

mp3file

Can be a file pointer returned by fopen() or the MP3 data, as a binary string.

skip

Number of seconds to skip.

Возвращаемые значения

Return number of frames.

Список изменений

Версия | Описание
5.2.0 | skip added

Примеры

Пример #1 Streaming example

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// use your own MP3

// The file is 11.85 seconds at 12.0 fps = 142 frames
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFMovie->stopSound
SWFMovie->writeExports
SWFMovie


SWFMovie->streamMP3
SWFPrebuiltClip
SWFMovie
PHP Manual

SWFMovie->writeExports

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->writeExports —

Описание

void SWFMovie::writeExports ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFMovie->streamMP3
SWFPrebuiltClip
SWFMovie


The SWFPrebuiltClip class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFPrebuiltClip.

Обзор классов

SWFPrebuiltClip {
/* Методы */
SWFPrebuiltClip SWFPrebuiltClip::__construct ( mixed $file )
}

Содержание

  • SWFPrebuiltClip->__construct — Returns a SWFPrebuiltClip object
SWFMovie->writeExports
SWFPrebuiltClip->__construct
Ming


Returns a SWFPrebuiltClip object

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip
PHP Manual

SWFPrebuiltClip->__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFPrebuiltClip->__construct — Returns a SWFPrebuiltClip object

Описание

SWFPrebuiltClip SWFPrebuiltClip::__construct ( mixed $file )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip


The SWFShape class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFShape.

Обзор классов

SWFShape {
/* Методы */
SWFFill SWFShape::addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFShape __construct ( void )
void drawArc ( float $r , float $startAngle , float $endAngle )
void drawCircle ( float $r )
int drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
int drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
void drawGlyph ( SWFFont $font , string $character [, int $size ] )
void drawLine ( float $dx , float $dy )
void drawLineTo ( float $x , float $y )
void movePen ( float $dx , float $dy )
void movePenTo ( float $x , float $y )
void setLeftFill ( SWFGradient $fill )
void setLine ( SWFShape $shape )
void setRightFill ( SWFGradient $fill )
}

Содержание

  • SWFShape->addFill — Adds a solid fill to the shape
  • SWFShape->__construct — Creates a new shape object
  • SWFShape->drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
  • SWFShape->drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
  • SWFShape->drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points
  • SWFShape->drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points
  • SWFShape->drawCurve — Draws a curve (relative)
  • SWFShape->drawCurveTo — Draws a curve
  • SWFShape->drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font
  • SWFShape->drawLine — Draws a line (relative)
  • SWFShape->drawLineTo — Draws a line
  • SWFShape->movePen — Moves the shape's pen (relative)
  • SWFShape->movePenTo — Moves the shape's pen
  • SWFShape->setLeftFill — Sets left rasterizing color
  • SWFShape->setLine — Sets the shape's line style
  • SWFShape->setRightFill — Sets right rasterizing color
SWFPrebuiltClip->__construct
SWFShape->addFill
Ming


Adds a solid fill to the shape

SWFShape
SWFShape->__construct
SWFShape
PHP Manual

SWFShape->addFill

(PHP 4 >= 4.0.5)

SWFShape->addFill — Adds a solid fill to the shape

Описание

SWFFill SWFShape::addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags ] )
SWFFill addFill ( SWFGradient $gradient [, int $flags ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

SWFShape->addFill() adds a solid fill to the shape's list of fill styles. SWFShape->addFill() accepts three different types of arguments.

red, green, blue is a color (RGB mode).

The bitmap argument is an SWFBitmap() object. The flags argument can be one of the following values: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.

The gradient argument is an SWFGradient() object. The flags argument can be one of the following values : SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.

SWFShape->addFill() returns an SWFFill()
object for use with the SWFShape->setLeftFill()
and SWFShape->setRightFill() functions
described below.

Примеры

This simple example will draw a frame on a bitmap. Ah, here's another buglet in the flash player- it doesn't seem to care about the second shape's bitmap's transformation in a morph. According to spec, the bitmap should stretch along with the shape in this example..

Пример #1 SWFShape->addFill() example

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use your own bitmap
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// these two have no effect!
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Смотрите также

  • SWFShape->setLeftFill
  • SWFShape->setRightFill

SWFShape
SWFShape->__construct
SWFShape


Creates a new shape object

SWFShape->addFill
SWFShape->drawArc
SWFShape
PHP Manual

SWFShape->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape->__construct — Creates a new shape object

Описание

SWFShape SWFShape::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Created a new SWFShape object.

Примеры

This simple example will draw a big red elliptic quadrant.

Пример #1 swfshape() example

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFShape->addFill
SWFShape->drawArc
SWFShape


Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

SWFShape->__construct
SWFShape->drawCircle
SWFShape
PHP Manual

SWFShape->drawArc

(PHP 4 >= 4.0.5)

SWFShape->drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

Описание

void SWFShape::drawArc ( float $r , float $startAngle , float $endAngle )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->drawCircle

SWFShape->__construct
SWFShape->drawCircle
SWFShape


Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

SWFShape->drawArc
SWFShape->drawCubic
SWFShape
PHP Manual

SWFShape->drawCircle

(PHP 4 >= 4.0.5)

SWFShape->drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

Описание

void SWFShape::drawCircle ( float $r )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFShape->drawArc
SWFShape->drawCubic
SWFShape


Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape->drawCircle
SWFShape->drawCubicTo
SWFShape
PHP Manual

SWFShape->drawCubic

(PHP 4 >= 4.0.5)

SWFShape->drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points

Описание

int SWFShape::drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFShape->drawCubicTo

SWFShape->drawCircle
SWFShape->drawCubicTo
SWFShape


Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape->drawCubic
SWFShape->drawCurve
SWFShape
PHP Manual

SWFShape->drawCubicTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape->drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points

Описание

int SWFShape::drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFShape->drawCubic

SWFShape->drawCubic
SWFShape->drawCurve
SWFShape


Draws a curve (relative)

SWFShape->drawCubicTo
SWFShape->drawCurveTo
SWFShape
PHP Manual

SWFShape->drawCurve

(PHP 4 >= 4.0.5)

SWFShape->drawCurve — Draws a curve (relative)

Описание

int SWFShape::drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->drawcurve() draws a quadratic curve (using the current line style,set by swfshape->setline()) from the current pen position to the relative position (anchorx,anchory) using relative control point (controlx,controly). That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (x+targetdx, x+targetdy) with control points (x+controldx, y+controldy) and (x+anchordx, y+anchordy).

Смотрите также

  • SWFShape->drawCurve

SWFShape->drawCubicTo
SWFShape->drawCurveTo
SWFShape


Draws a curve

SWFShape->drawCurve
SWFShape->drawGlyph
SWFShape
PHP Manual

SWFShape->drawCurveTo

(PHP 4 >= 4.0.5)

SWFShape->drawCurveTo — Draws a curve

Описание

int SWFShape::drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->drawcurveto() draws a quadratic curve (using the current line style, set by swfshape->setline()) from the current pen position to (anchorx,anchory) using (controlx,controly) as a control point. That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (targetx, targety) with control points (controlx, controly) and (anchorx, anchory).

Смотрите также

  • SWFShape->drawCurveTo

SWFShape->drawCurve
SWFShape->drawGlyph
SWFShape


Draws the first character in the given string into the shape using the glyph definition from the given font

SWFShape->drawCurveTo
SWFShape->drawLine
SWFShape
PHP Manual

SWFShape->drawGlyph

(PHP 4 >= 4.0.5)

SWFShape->drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font

Описание

void SWFShape::drawGlyph ( SWFFont $font , string $character [, int $size ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFShape->drawCurveTo
SWFShape->drawLine
SWFShape


Draws a line (relative)

SWFShape->drawGlyph
SWFShape->drawLineTo
SWFShape
PHP Manual

SWFShape->drawLine

(PHP 4 >= 4.0.5)

SWFShape->drawLine — Draws a line (relative)

Описание

void SWFShape::drawLine ( float $dx , float $dy )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->drawline() draws a line (using the current line style set by swfshape->setline()) from the current pen position to displacement (dx,dy).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->drawLineTo

SWFShape->drawGlyph
SWFShape->drawLineTo
SWFShape


Draws a line

SWFShape->drawLine
SWFShape->movePen
SWFShape
PHP Manual

SWFShape->drawLineTo

(PHP 4 >= 4.0.5)

SWFShape->drawLineTo — Draws a line

Описание

void SWFShape::drawLineTo ( float $x , float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->setrightfill() draws a line (using the current line style, set by swfshape->setline()) from the current pen position to point (x,y) in the shape's coordinate space.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->drawLine

SWFShape->drawLine
SWFShape->movePen
SWFShape


Moves the shape's pen (relative)

SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape
PHP Manual

SWFShape->movePen

(PHP 4 >= 4.0.5)

SWFShape->movePen — Moves the shape's pen (relative)

Описание

void SWFShape::movePen ( float $dx , float $dy )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->setrightfill() move the shape's pen from coordinates (current x,current y) to (current x + dx, current y + dy) in the shape's coordinate space.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->movePenTo

SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape


Moves the shape's pen

SWFShape->movePen
SWFShape->setLeftFill
SWFShape
PHP Manual

SWFShape->movePenTo

(PHP 4 >= 4.0.5)

SWFShape->movePenTo — Moves the shape's pen

Описание

void SWFShape::movePenTo ( float $x , float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->setrightfill() move the shape's pen to (x,y) in the shape's coordinate space.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->movePen

SWFShape->movePen
SWFShape->setLeftFill
SWFShape


Sets left rasterizing color

SWFShape->movePenTo
SWFShape->setLine
SWFShape
PHP Manual

SWFShape->setLeftFill

(PHP 4 >= 4.0.5)

SWFShape->setLeftFill — Sets left rasterizing color

Описание

void SWFShape::setLeftFill ( SWFGradient $fill )
void setLeftFill ( int $red , int $green , int $blue [, int $a ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

What this nonsense is about is, every edge segment borders at most two fills. When rasterizing the object, it's pretty handy to know what those fills are ahead of time, so the swf format requires these to be specified.

swfshape->setleftfill() sets the fill on the left side of the edge- that is, on the interior if you're defining the outline of the shape in a counter-clockwise fashion. The fill object is an SWFFill object returned from one of the addFill functions above.

This seems to be reversed when you're defining a shape in a morph, though. If your browser crashes, just try setting the fill on the other side.

Shortcut for swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->setRightFill

SWFShape->movePenTo
SWFShape->setLine
SWFShape


Sets the shape's line style

SWFShape->setLeftFill
SWFShape->setRightFill
SWFShape
PHP Manual

SWFShape->setLine

(PHP 4 >= 4.0.5)

SWFShape->setLine — Sets the shape's line style

Описание

void SWFShape::setLine ( SWFShape $shape )
void setLine ( int $width , int $red , int $green , int $blue [, int $a ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfshape->setline() sets the shape's line style. width is the line's width. If width is 0, the line's style is removed (then, all other arguments are ignored). If width > 0, then line's color is set to red, green, blue. Last parameter a is optional.

You must declare all line styles before you use them (see example).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

This simple example will draw a big "!#%*@", in funny colors and gracious style.

Пример #1 swfshape->setline() example

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// bug: have to declare all line styles before you use them
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFShape->setLeftFill
SWFShape->setRightFill
SWFShape


Sets right rasterizing color

SWFShape->setLine
SWFSound
SWFShape
PHP Manual

SWFShape->setRightFill

(PHP 4 >= 4.0.5)

SWFShape->setRightFill — Sets right rasterizing color

Описание

void SWFShape::setRightFill ( SWFGradient $fill )
void setRightFill ( int $red , int $green , int $blue [, int $a ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Shortcut for swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFShape->setLeftFill

SWFShape->setLine
SWFSound
SWFShape


The SWFSound class

(PHP 5 <= 5.3.0, PECL ming SVN)

Введение

SWFSound.

Обзор классов

SWFSound {
/* Методы */
SWFSound SWFSound::__construct ( string $filename [, int $flags = 0 ] )
}

Содержание

  • SWFSound — Returns a new SWFSound object from given file
SWFShape->setRightFill
SWFSound
Ming


Returns a new SWFSound object from given file

SWFSound
SWFSoundInstance
SWFSound
PHP Manual

SWFSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSound — Returns a new SWFSound object from given file

Описание

SWFSound SWFSound::__construct ( string $filename [, int $flags = 0 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFSound
SWFSoundInstance
SWFSound
PHP Manual


The SWFSoundInstance class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFSoundInstance objects are returned by the SWFSprite->startSound and SWFMovie->startSound methods.

Обзор классов

SWFSoundInstance {
/* Методы */
void SWFSoundInstance::loopCount ( int $point )
void loopInPoint ( int $point )
void loopOutPoint ( int $point )
void noMultiple ( void )
}

Содержание

  • SWFSoundInstance->loopCount — Описание
  • SWFSoundInstance->loopInPoint — Описание
  • SWFSoundInstance->loopOutPoint — Описание
  • SWFSoundInstance->noMultiple — Описание
SWFSound
SWFSoundInstance->loopCount
Ming


SWFSoundInstance
SWFSoundInstance->loopInPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopCount

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopCount —

Описание

void SWFSoundInstance::loopCount ( int $point )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFSoundInstance->loopOutPoint

SWFSoundInstance
SWFSoundInstance->loopInPoint
SWFSoundInstance


SWFSoundInstance->loopCount
SWFSoundInstance->loopOutPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopInPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopInPoint —

Описание

void SWFSoundInstance::loopInPoint ( int $point )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFSoundInstance->loopOutPoint

SWFSoundInstance->loopCount
SWFSoundInstance->loopOutPoint
SWFSoundInstance


SWFSoundInstance->loopInPoint
SWFSoundInstance->noMultiple
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopOutPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopOutPoint —

Описание

void SWFSoundInstance::loopOutPoint ( int $point )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

point

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFSoundInstance->loopInPoint

SWFSoundInstance->loopInPoint
SWFSoundInstance->noMultiple
SWFSoundInstance


SWFSoundInstance->loopOutPoint
SWFSprite
SWFSoundInstance
PHP Manual

SWFSoundInstance->noMultiple

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->noMultiple —

Описание

void SWFSoundInstance::noMultiple ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSoundInstance->loopOutPoint
SWFSprite
SWFSoundInstance


The SWFSprite class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

An SWFSprite is also known as a "movie clip", this allows one to create objects which are animated in their own timelines. Hence, the sprite has most of the same methods as the movie.

Обзор классов

SWFSprite {
/* Методы */
void SWFSprite::add ( object $object )
SWFSprite __construct ( void )
void labelFrame ( string $label )
void nextFrame ( void )
void remove ( object $object )
void setFrames ( int $number )
SWFSoundInstance startSound ( SWFSound $sount )
void stopSound ( SWFSound $sount )
}

Содержание

  • SWFSprite->add — Adds an object to a sprite
  • SWFSprite->__construct — Creates a movie clip (a sprite)
  • SWFSprite->labelFrame — Labels frame
  • SWFSprite->nextFrame — Moves to the next frame of the animation
  • SWFSprite->remove — Removes an object to a sprite
  • SWFSprite->setFrames — Sets the total number of frames in the animation
  • SWFSprite->startSound — Описание
  • SWFSprite->stopSound — Описание
SWFSoundInstance->noMultiple
SWFSprite->add
Ming


Adds an object to a sprite

SWFSprite
SWFSprite->__construct
SWFSprite
PHP Manual

SWFSprite->add

(PHP 4 >= 4.0.5)

SWFSprite->add — Adds an object to a sprite

Описание

void SWFSprite::add ( object $object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfsprite->add() adds a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object.

For displayable types (swfshape(),
swfbutton(), swftext(),
swfaction() or swfsprite()),
this returns a handle  to the object in a display list.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSprite
SWFSprite->__construct
SWFSprite


Creates a movie clip (a sprite)

SWFSprite->add
SWFSprite->labelFrame
SWFSprite
PHP Manual

SWFSprite->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->__construct — Creates a movie clip (a sprite)

Описание

SWFSprite SWFSprite::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new SWFSprite object.

SWFSprite->add
SWFSprite->labelFrame
SWFSprite


Labels frame

SWFSprite->__construct
SWFSprite->nextFrame
SWFSprite
PHP Manual

SWFSprite->labelFrame

(PHP 4 >= 4.3.3)

SWFSprite->labelFrame — Labels frame

Описание

void SWFSprite::labelFrame ( string $label )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSprite->__construct
SWFSprite->nextFrame
SWFSprite


Moves to the next frame of the animation

SWFSprite->labelFrame
SWFSprite->remove
SWFSprite
PHP Manual

SWFSprite->nextFrame

(PHP 4 >= 4.0.5)

SWFSprite->nextFrame — Moves to the next frame of the animation

Описание

void SWFSprite::nextFrame ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfsprite->setframes() moves to the next frame of the animation.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSprite->labelFrame
SWFSprite->remove
SWFSprite


Removes an object to a sprite

SWFSprite->nextFrame
SWFSprite->setFrames
SWFSprite
PHP Manual

SWFSprite->remove

(PHP 4 >= 4.0.5)

SWFSprite->remove — Removes an object to a sprite

Описание

void SWFSprite::remove ( object $object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfsprite->remove() remove a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object
from the sprite.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSprite->nextFrame
SWFSprite->setFrames
SWFSprite


Sets the total number of frames in the animation

SWFSprite->remove
SWFSprite->startSound
SWFSprite
PHP Manual

SWFSprite->setFrames

(PHP 4 >= 4.0.5)

SWFSprite->setFrames — Sets the total number of frames in the animation

Описание

void SWFSprite::setFrames ( int $number )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swfsprite->setframes() sets the total number of frames in the animation to numberofframes.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFSprite->remove
SWFSprite->startSound
SWFSprite


SWFSprite->setFrames
SWFSprite->stopSound
SWFSprite
PHP Manual

SWFSprite->startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->startSound —

Описание

SWFSoundInstance SWFSprite::startSound ( SWFSound $sount )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFSprite->stopSound

SWFSprite->setFrames
SWFSprite->stopSound
SWFSprite


SWFSprite->startSound
SWFText
SWFSprite
PHP Manual

SWFSprite->stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->stopSound —

Описание

void SWFSprite::stopSound ( SWFSound $sount )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFSprite->startSound

SWFSprite->startSound
SWFText
SWFSprite


The SWFText class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFText.

Обзор классов

SWFText {
/* Методы */
void SWFText::addString ( string $string )
void addUTF8String ( string $text )
void __construct ( void )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
float getUTF8Width ( string $string )
float getWidth ( string $string )
void moveTo ( float $x , float $y )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setSpacing ( float $spacing )
}

Содержание

  • SWFText->addString — Draws a string
  • SWFText->addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
  • SWFText->__construct — Creates a new SWFText object
  • SWFText->getAscent — Returns the ascent of the current font at its current size, or 0 if not available
  • SWFText->getDescent — Returns the descent of the current font at its current size, or 0 if not available
  • SWFText->getLeading — Returns the leading of the current font at its current size, or 0 if not available
  • SWFText->getUTF8Width — calculates the width of the given string in this text objects current font and size
  • SWFText->getWidth — Computes string's width
  • SWFText->moveTo — Moves the pen
  • SWFText->setColor — Sets the current text color
  • SWFText->setFont — Sets the current font
  • SWFText->setHeight — Sets the current font height
  • SWFText->setSpacing — Sets the current font spacing
SWFSprite->stopSound
SWFText->addString
Ming


Draws a string

SWFText
SWFText->addUTF8String
SWFText
PHP Manual

SWFText->addString

(PHP 4 >= 4.0.5)

SWFText->addString — Draws a string

Описание

void SWFText::addString ( string $string )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftext->addstring() draws the string string at the current pen (cursor) location. Pen is at the baseline of the text; i.e., ascending text is in the -y direction.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFText->addUTF8String

SWFText
SWFText->addUTF8String
SWFText


Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

SWFText->addString
SWFText->__construct
SWFText
PHP Manual

SWFText->addUTF8String

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

Описание

void SWFText::addUTF8String ( string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFText->addString

SWFText->addString
SWFText->__construct
SWFText


Creates a new SWFText object

SWFText->addUTF8String
SWFText->getAscent
SWFText
PHP Manual

SWFText->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->__construct — Creates a new SWFText object

Описание

void SWFText::__construct ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Creates a new SWFText object, fresh for manipulating.

Примеры

This simple example will draw a big yellow "PHP generates Flash with Ming" text, on white background.

Пример #1 swftext() example

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("PHP generates Flash with Ming!!");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFText->addUTF8String
SWFText->getAscent
SWFText


Returns the ascent of the current font at its current size, or 0 if not available

SWFText->__construct
SWFText->getDescent
SWFText
PHP Manual

SWFText->getAscent

(PHP 4 >= 4.0.5)

SWFText->getAscent — Returns the ascent of the current font at its current size, or 0 if not available

Описание

float SWFText::getAscent ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFText->getDescent

SWFText->__construct
SWFText->getDescent
SWFText


Returns the descent of the current font at its current size, or 0 if not available

SWFText->getAscent
SWFText->getLeading
SWFText
PHP Manual

SWFText->getDescent

(PHP 4 >= 4.0.5)

SWFText->getDescent — Returns the descent of the current font at its current size, or 0 if not available

Описание

float SWFText::getDescent ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFText->getAscent

SWFText->getAscent
SWFText->getLeading
SWFText


Returns the leading of the current font at its current size, or 0 if not available

SWFText->getDescent
SWFText->getUTF8Width
SWFText
PHP Manual

SWFText->getLeading

(PHP 4 >= 4.0.5)

SWFText->getLeading — Returns the leading of the current font at its current size, or 0 if not available

Описание

float SWFText::getLeading ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFText->getDescent
SWFText->getUTF8Width
SWFText


calculates the width of the given string in this text objects current font and size

SWFText->getLeading
SWFText->getWidth
SWFText
PHP Manual

SWFText->getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->getUTF8Width — calculates the width of the given string in this text objects current font and size

Описание

float SWFText::getUTF8Width ( string $string )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • SWFText->getWidth

SWFText->getLeading
SWFText->getWidth
SWFText


Computes string's width

SWFText->getUTF8Width
SWFText->moveTo
SWFText
PHP Manual

SWFText->getWidth

(PHP 4 >= 4.0.5)

SWFText->getWidth — Computes string's width

Описание

float SWFText::getWidth ( string $string )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the rendered width of the string at the text object's current font, scale, and spacing settings.

Смотрите также

  • SWFText->getUTF8Width

SWFText->getUTF8Width
SWFText->moveTo
SWFText


Moves the pen

SWFText->getWidth
SWFText->setColor
SWFText
PHP Manual

SWFText->moveTo

(PHP 4 >= 4.0.5)

SWFText->moveTo — Moves the pen

Описание

void SWFText::moveTo ( float $x , float $y )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftext->moveto() moves the pen (or cursor, if that makes more sense) to (x,y) in text object's coordinate space. If either is zero, though, value in that dimension stays the same. Annoying, should be fixed.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFText->getWidth
SWFText->setColor
SWFText


Sets the current text color

SWFText->moveTo
SWFText->setFont
SWFText
PHP Manual

SWFText->setColor

(PHP 4 >= 4.0.5)

SWFText->setColor — Sets the current text color

Описание

void SWFText::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Changes the current text color.

Список параметров

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFText->moveTo
SWFText->setFont
SWFText


Sets the current font

SWFText->setColor
SWFText->setHeight
SWFText
PHP Manual

SWFText->setFont

(PHP 4 >= 4.0.5)

SWFText->setFont — Sets the current font

Описание

void SWFText::setFont ( SWFFont $font )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftext->setfont() sets the current font to font.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFText->setColor
SWFText->setHeight
SWFText


Sets the current font height

SWFText->setFont
SWFText->setSpacing
SWFText
PHP Manual

SWFText->setHeight

(PHP 4 >= 4.0.5)

SWFText->setHeight — Sets the current font height

Описание

void SWFText::setHeight ( float $height )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftext->setheight() sets the current font height to height. Default is 240.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFText->setFont
SWFText->setSpacing
SWFText


Sets the current font spacing

SWFText->setHeight
SWFTextField
SWFText
PHP Manual

SWFText->setSpacing

(PHP 4 >= 4.0.5)

SWFText->setSpacing — Sets the current font spacing

Описание

void SWFText::setSpacing ( float $spacing )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftext->setspacing() sets the current font spacing to spacing. Default is 1.0. 0 is all of the letters written at the same point. This doesn't really work that well because it inflates the advance across the letter, doesn't add the same amount of spacing between the letters. I should try and explain that better, prolly. Or just fix the damn thing to do constant spacing. This was really just a way to figure out how letter advances work, anyway.. So nyah.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFText->setHeight
SWFTextField
SWFText


The SWFTextField class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFTextField.

Обзор классов

SWFTextField {
/* Методы */
void SWFTextField::addChars ( string $chars )
void addString ( string $string )
void align ( int $alignement )
SWFTextField __construct ([ int $flags ] )
void setBounds ( float $width , float $height )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setIndentation ( float $width )
void setLeftMargin ( float $width )
void setLineSpacing ( float $height )
void setMargins ( float $left , float $right )
void setName ( string $name )
void setPadding ( float $padding )
void setRightMargin ( float $width )
}

Содержание

  • SWFTextField->addChars — adds characters to a font that will be available within a textfield
  • SWFTextField->addString — Concatenates the given string to the text field
  • SWFTextField->align — Sets the text field alignment
  • SWFTextField->__construct — Creates a text field object
  • SWFTextField->setBounds — Sets the text field width and height
  • SWFTextField->setColor — Sets the color of the text field
  • SWFTextField->setFont — Sets the text field font
  • SWFTextField->setHeight — Sets the font height of this text field font
  • SWFTextField->setIndentation — Sets the indentation of the first line
  • SWFTextField->setLeftMargin — Sets the left margin width of the text field
  • SWFTextField->setLineSpacing — Sets the line spacing of the text field
  • SWFTextField->setMargins — Sets the margins width of the text field
  • SWFTextField->setName — Sets the variable name
  • SWFTextField->setPadding — Sets the padding of this textfield
  • SWFTextField->setRightMargin — Sets the right margin width of the text field
SWFText->setSpacing
SWFTextField->addChars
Ming


adds characters to a font that will be available within a textfield

SWFTextField
SWFTextField->addString
SWFTextField
PHP Manual

SWFTextField->addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->addChars — adds characters to a font that will be available within a textfield

Описание

void SWFTextField::addChars ( string $chars )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SWFTextField->addString

SWFTextField
SWFTextField->addString
SWFTextField


Concatenates the given string to the text field

SWFTextField->addChars
SWFTextField->align
SWFTextField
PHP Manual

SWFTextField->addString

(PHP 4 >= 4.0.5)

SWFTextField->addString — Concatenates the given string to the text field

Описание

void SWFTextField::addString ( string $string )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setname() concatenates the string string to the text field.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->addChars
SWFTextField->align
SWFTextField


Sets the text field alignment

SWFTextField->addString
SWFTextField->__construct
SWFTextField
PHP Manual

SWFTextField->align

(PHP 4 >= 4.0.5)

SWFTextField->align — Sets the text field alignment

Описание

void SWFTextField::align ( int $alignement )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->align() sets the text field alignment to alignement. Valid values for alignement are : SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->addString
SWFTextField->__construct
SWFTextField


Creates a text field object

SWFTextField->align
SWFTextField->setBounds
SWFTextField
PHP Manual

SWFTextField->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->__construct — Creates a text field object

Описание

SWFTextField SWFTextField::__construct ([ int $flags ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield() creates a new text field object. Text Fields are less flexible than swftext() objects- they can't be rotated, scaled non-proportionally, or skewed, but they can be used as form entries, and they can use browser-defined fonts.

The optional flags change the text field's behavior. It has the following possibles values :

  • SWFTEXTFIELD_DRAWBOX draws the outline of the textfield
  • SWFTEXTFIELD_HASLENGTH
  • SWFTEXTFIELD_HTML allows text markup using HTML-tags
  • SWFTEXTFIELD_MULTILINE allows multiple lines
  • SWFTEXTFIELD_NOEDIT indicates that the field shouldn't be user-editable
  • SWFTEXTFIELD_NOSELECT makes the field non-selectable
  • SWFTEXTFIELD_PASSWORD obscures the data entry
  • SWFTEXTFIELD_WORDWRAP allows text to wrap
Flags are combined with the bitwise OR operation. For example,
<?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?>
creates a totally useless non-editable password field.

SWFTextField has the following methods : swftextfield->setfont(),
swftextfield->setbounds(), swftextfield->align(),
swftextfield->setheight(), swftextfield->setleftmargin(),
swftextfield->setrightmargin(), swftextfield->setmargins(),
swftextfield->setindentation(), swftextfield->setlinespacing(),
swftextfield->setcolor(), swftextfield->setname() and
swftextfield->addstring().

SWFTextField->align
SWFTextField->setBounds
SWFTextField


Sets the text field width and height

SWFTextField->__construct
SWFTextField->setColor
SWFTextField
PHP Manual

SWFTextField->setBounds

(PHP 4 >= 4.0.5)

SWFTextField->setBounds — Sets the text field width and height

Описание

void SWFTextField::setBounds ( float $width , float $height )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setbounds() sets the text field width to width and height to height. If you don't set the bounds yourself, Ming makes a poor guess at what the bounds are.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->__construct
SWFTextField->setColor
SWFTextField


Sets the color of the text field

SWFTextField->setBounds
SWFTextField->setFont
SWFTextField
PHP Manual

SWFTextField->setColor

(PHP 4 >= 4.0.5)

SWFTextField->setColor — Sets the color of the text field

Описание

void SWFTextField::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setcolor() sets the color of the text field. Default is fully opaque black. Color is represented using RGB system.

Список параметров

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setBounds
SWFTextField->setFont
SWFTextField


Sets the text field font

SWFTextField->setColor
SWFTextField->setHeight
SWFTextField
PHP Manual

SWFTextField->setFont

(PHP 4 >= 4.2.0)

SWFTextField->setFont — Sets the text field font

Описание

void SWFTextField::setFont ( SWFFont $font )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setfont() sets the text field font to the [browser-defined?] font font.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setColor
SWFTextField->setHeight
SWFTextField


Sets the font height of this text field font

SWFTextField->setFont
SWFTextField->setIndentation
SWFTextField
PHP Manual

SWFTextField->setHeight

(PHP 4 >= 4.0.5)

SWFTextField->setHeight — Sets the font height of this text field font

Описание

void SWFTextField::setHeight ( float $height )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setheight() sets the font height of this text field font to the given height height. Default is 240.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setFont
SWFTextField->setIndentation
SWFTextField


Sets the indentation of the first line

SWFTextField->setHeight
SWFTextField->setLeftMargin
SWFTextField
PHP Manual

SWFTextField->setIndentation

(PHP 4 >= 4.0.5)

SWFTextField->setIndentation — Sets the indentation of the first line

Описание

void SWFTextField::setIndentation ( float $width )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setindentation() sets the indentation of the first line in the text field, to width.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setHeight
SWFTextField->setLeftMargin
SWFTextField


Sets the left margin width of the text field

SWFTextField->setIndentation
SWFTextField->setLineSpacing
SWFTextField
PHP Manual

SWFTextField->setLeftMargin

(PHP 4 >= 4.0.5)

SWFTextField->setLeftMargin — Sets the left margin width of the text field

Описание

void SWFTextField::setLeftMargin ( float $width )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setleftmargin() sets the left margin width of the text field to width. Default is 0.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setIndentation
SWFTextField->setLineSpacing
SWFTextField


Sets the line spacing of the text field

SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField
PHP Manual

SWFTextField->setLineSpacing

(PHP 4 >= 4.0.5)

SWFTextField->setLineSpacing — Sets the line spacing of the text field

Описание

void SWFTextField::setLineSpacing ( float $height )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setlinespacing() sets the line spacing of the text field to the height of height. Default is 40.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField


Sets the margins width of the text field

SWFTextField->setLineSpacing
SWFTextField->setName
SWFTextField
PHP Manual

SWFTextField->setMargins

(PHP 4 >= 4.0.5)

SWFTextField->setMargins — Sets the margins width of the text field

Описание

void SWFTextField::setMargins ( float $left , float $right )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setmargins() set both margins at once, for the man on the go.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setLineSpacing
SWFTextField->setName
SWFTextField


Sets the variable name

SWFTextField->setMargins
SWFTextField->setPadding
SWFTextField
PHP Manual

SWFTextField->setName

(PHP 4 >= 4.0.5)

SWFTextField->setName — Sets the variable name

Описание

void SWFTextField::setName ( string $name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setname() sets the variable name of this text field to name, for form posting and action scripting purposes.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setMargins
SWFTextField->setPadding
SWFTextField


Sets the padding of this textfield

SWFTextField->setName
SWFTextField->setRightMargin
SWFTextField
PHP Manual

SWFTextField->setPadding

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->setPadding — Sets the padding of this textfield

Описание

void SWFTextField::setPadding ( float $padding )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setName
SWFTextField->setRightMargin
SWFTextField


Sets the right margin width of the text field

SWFTextField->setPadding
SWFVideoStream
SWFTextField
PHP Manual

SWFTextField->setRightMargin

(PHP 4 >= 4.0.5)

SWFTextField->setRightMargin — Sets the right margin width of the text field

Описание

void SWFTextField::setRightMargin ( float $width )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

swftextfield->setrightmargin() sets the right margin width of the text field to width. Default is 0.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFTextField->setPadding
SWFVideoStream
SWFTextField


The SWFVideoStream class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SWFVideoStream.

Обзор классов

SWFVideoStream {
/* Методы */
SWFVideoStream SWFVideoStream::__construct ([ string $file ] )
int getNumFrames ( void )
void setDimension ( int $x , int $y )
}

Содержание

  • SWFVideoStream->__construct — Returns a SWFVideoStream object
  • SWFVideoStream->getNumFrames — Returns the number of frames in the video
  • SWFVideoStream->setDimension — Sets video dimension
SWFTextField->setRightMargin
SWFVideoStream->__construct
Ming


Returns a SWFVideoStream object

SWFVideoStream
SWFVideoStream->getNumFrames
SWFVideoStream
PHP Manual

SWFVideoStream->__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->__construct — Returns a SWFVideoStream object

Описание

SWFVideoStream SWFVideoStream::__construct ([ string $file ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFVideoStream
SWFVideoStream->getNumFrames
SWFVideoStream


Returns the number of frames in the video

SWFVideoStream->__construct
SWFVideoStream->setDimension
SWFVideoStream
PHP Manual

SWFVideoStream->getNumFrames

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->getNumFrames — Returns the number of frames in the video

Описание

int SWFVideoStream::getNumFrames ( void )

This function returns the number of video-frames of a SWFVideoStream.

Возвращаемые значения

Returns the number of frames, as an integer

SWFVideoStream->__construct
SWFVideoStream->setDimension
SWFVideoStream


Sets video dimension

SWFVideoStream->getNumFrames
PDF
SWFVideoStream
PHP Manual

SWFVideoStream->setDimension

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->setDimension — Sets video dimension

Описание

void SWFVideoStream::setDimension ( int $x , int $y )

Sets the width and height for streamed videos.

Список параметров

x

Width in pixels.

y

Height in pixels.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWFVideoStream->getNumFrames
PDF
SWFVideoStream


PDF

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры использования
  • Функции PDF
    • PDF_activate_item — Activate structure element or other content item
    • PDF_add_annotation — Add annotation [deprecated]
    • PDF_add_bookmark — Add bookmark for current page [deprecated]
    • PDF_add_launchlink — Add launch annotation for current page [deprecated]
    • PDF_add_locallink — Add link annotation for current page [deprecated]
    • PDF_add_nameddest — Create named destination
    • PDF_add_note — Set annotation for current page [deprecated]
    • PDF_add_outline — Add bookmark for current page [deprecated]
    • PDF_add_pdflink — Add file link annotation for current page [deprecated]
    • PDF_add_table_cell — Add a cell to a new or existing table
    • PDF_add_textflow — Create Textflow or add text to existing Textflow
    • PDF_add_thumbnail — Add thumbnail for current page
    • PDF_add_weblink — Add weblink for current page [deprecated]
    • PDF_arc — Рисует дугу окружности против часовой стрелки
    • PDF_arcn — Рисует дугу окружности по часовой стрелке
    • PDF_attach_file — Add file attachment for current page [deprecated]
    • PDF_begin_document — Create new PDF file
    • PDF_begin_font — Start a Type 3 font definition
    • PDF_begin_glyph — Start glyph definition for Type 3 font
    • PDF_begin_item — Open structure element or other content item
    • PDF_begin_layer — Start layer
    • PDF_begin_page_ext — Start new page
    • PDF_begin_page — Start new page [deprecated]
    • PDF_begin_pattern — Start pattern definition
    • PDF_begin_template_ext — Start template definition
    • PDF_begin_template — Start template definition [deprecated]
    • PDF_circle — Рисует окружность
    • PDF_clip — Clip to current path
    • PDF_close_image — Закрывает изображение
    • PDF_close_pdi_page — Close the page handle
    • PDF_close_pdi — Close the input PDF document [deprecated]
    • PDF_close — Закрывает pdf-документ [устаревшее]
    • PDF_closepath_fill_stroke — Close, fill and stroke current path
    • PDF_closepath_stroke — Close and stroke path
    • PDF_closepath — Close current path
    • PDF_concat — Concatenate a matrix to the CTM
    • PDF_continue_text — Output text in next line
    • PDF_create_3dview — Создает объемное изображение
    • PDF_create_action — Create action for objects or events
    • PDF_create_annotation — Создает прямоугольную аннотацию
    • PDF_create_bookmark — Create bookmark
    • PDF_create_field — Create form field
    • PDF_create_fieldgroup — Create form field group
    • PDF_create_gstate — Create graphics state object
    • PDF_create_pvf — Create PDFlib virtual file
    • PDF_create_textflow — Create textflow object
    • PDF_curveto — Draw Bezier curve
    • PDF_define_layer — Create layer definition
    • PDF_delete_pvf — Delete PDFlib virtual file
    • PDF_delete_table — Delete table object
    • PDF_delete_textflow — Delete textflow object
    • PDF_delete — Удаляет объект PDFlib
    • PDF_encoding_set_char — Add glyph name and/or Unicode value
    • PDF_end_document — Close PDF file
    • PDF_end_font — Terminate Type 3 font definition
    • PDF_end_glyph — Terminate glyph definition for Type 3 font
    • PDF_end_item — Close structure element or other content item
    • PDF_end_layer — Deactivate all active layers
    • PDF_end_page_ext — Finish page
    • PDF_end_page — Finish page
    • PDF_end_pattern — Finish pattern
    • PDF_end_template — Finish template
    • PDF_endpath — End current path
    • PDF_fill_imageblock — Fill image block with variable data
    • PDF_fill_pdfblock — Fill PDF block with variable data
    • PDF_fill_stroke — Fill and stroke path
    • PDF_fill_textblock — Fill text block with variable data
    • PDF_fill — Fill current path
    • PDF_findfont — Prepare font for later use [deprecated]
    • PDF_fit_image — Place image or template
    • PDF_fit_pdi_page — Place imported PDF page
    • PDF_fit_table — Place table on page
    • PDF_fit_textflow — Format textflow in rectangular area
    • PDF_fit_textline — Place single line of text
    • PDF_get_apiname — Get name of unsuccessfull API function
    • PDF_get_buffer — Get PDF output buffer
    • PDF_get_errmsg — Возвращает текст ошибки
    • PDF_get_errnum — Возвращает код ошибки
    • PDF_get_font — Возвращает шрифт [устаревшее]
    • PDF_get_fontname — Возвращает название шрифта [устаревшее]
    • PDF_get_fontsize — Font handling [deprecated]
    • PDF_get_image_height — Возвращает высоту изображения [устаревшее]
    • PDF_get_image_width — Возвращает ширину изображения [устаревшее]
    • PDF_get_majorversion — Get major version number [deprecated]
    • PDF_get_minorversion — Get minor version number [deprecated]
    • PDF_get_parameter — Get string parameter
    • PDF_get_pdi_parameter — Get PDI string parameter [deprecated]
    • PDF_get_pdi_value — Get PDI numerical parameter [deprecated]
    • PDF_get_value — Get numerical parameter
    • PDF_info_font — Query detailed information about a loaded font
    • PDF_info_matchbox — Query matchbox information
    • PDF_info_table — Retrieve table information
    • PDF_info_textflow — Query textflow state
    • PDF_info_textline — Perform textline formatting and query metrics
    • PDF_initgraphics — Reset graphic state
    • PDF_lineto — Draw a line
    • PDF_load_3ddata — Load 3D model
    • PDF_load_font — Search and prepare font
    • PDF_load_iccprofile — Search and prepare ICC profile
    • PDF_load_image — Open image file
    • PDF_makespotcolor — Make spot color
    • PDF_moveto — Set current point
    • PDF_new — Создает объект PDFlib
    • PDF_open_ccitt — Open raw CCITT image [deprecated]
    • PDF_open_file — Создает PDF-файл [устаревшее]
    • PDF_open_gif — Открывает GIF-изображение [устаревшее]
    • PDF_open_image_file — Read image from file [deprecated]
    • PDF_open_image — Use image data [deprecated]
    • PDF_open_jpeg — Открывает JPEG-изображение [устаревшее]
    • PDF_open_memory_image — Open image created with PHP's image functions [not supported]
    • PDF_open_pdi_document — Prepare a pdi document
    • PDF_open_pdi_page — Prepare a page
    • PDF_open_pdi — Open PDF file [deprecated]
    • PDF_open_tiff — Открывает TIFF-изображение [устаревшее]
    • PDF_pcos_get_number — Get value of pCOS path with type number or boolean
    • PDF_pcos_get_stream — Get contents of pCOS path with type stream, fstream, or string
    • PDF_pcos_get_string — Get value of pCOS path with type name, string, or boolean
    • PDF_place_image — Place image on the page [deprecated]
    • PDF_place_pdi_page — Place PDF page [deprecated]
    • PDF_process_pdi — Process imported PDF document
    • PDF_rect — Рисует прямоугольник
    • PDF_restore — Restore graphics state
    • PDF_resume_page — Resume page
    • PDF_rotate — Поворачивает систему координат
    • PDF_save — Save graphics state
    • PDF_scale — Масштабирует систему координат
    • PDF_set_border_color — Set border color of annotations [deprecated]
    • PDF_set_border_dash — Set border dash style of annotations [deprecated]
    • PDF_set_border_style — Set border style of annotations [deprecated]
    • PDF_set_char_spacing — Set character spacing [deprecated]
    • PDF_set_duration — Set duration between pages [deprecated]
    • PDF_set_gstate — Activate graphics state object
    • PDF_set_horiz_scaling — Set horizontal text scaling [deprecated]
    • PDF_set_info_author — Fill the author document info field [deprecated]
    • PDF_set_info_creator — Fill the creator document info field [deprecated]
    • PDF_set_info_keywords — Fill the keywords document info field [deprecated]
    • PDF_set_info_subject — Fill the subject document info field [deprecated]
    • PDF_set_info_title — Fill the title document info field [deprecated]
    • PDF_set_info — Fill document info field
    • PDF_set_layer_dependency — Define relationships among layers
    • PDF_set_leading — Set distance between text lines [deprecated]
    • PDF_set_parameter — Set string parameter
    • PDF_set_text_matrix — Set text matrix [deprecated]
    • PDF_set_text_pos — Устанавливает позицию текста
    • PDF_set_text_rendering — Determine text rendering [deprecated]
    • PDF_set_text_rise — Set text rise [deprecated]
    • PDF_set_value — Set numerical parameter
    • PDF_set_word_spacing — Set spacing between words [deprecated]
    • PDF_setcolor — Set fill and stroke color
    • PDF_setdash — Set simple dash pattern
    • PDF_setdashpattern — Set dash pattern
    • PDF_setflat — Set flatness
    • PDF_setfont — Set font
    • PDF_setgray_fill — Set fill color to gray [deprecated]
    • PDF_setgray_stroke — Set stroke color to gray [deprecated]
    • PDF_setgray — Set color to gray [deprecated]
    • PDF_setlinecap — Set linecap parameter
    • PDF_setlinejoin — Set linejoin parameter
    • PDF_setlinewidth — Set line width
    • PDF_setmatrix — Set current transformation matrix
    • PDF_setmiterlimit — Set miter limit
    • PDF_setpolydash — Set complicated dash pattern [deprecated]
    • PDF_setrgbcolor_fill — Set fill rgb color values [deprecated]
    • PDF_setrgbcolor_stroke — Set stroke rgb color values [deprecated]
    • PDF_setrgbcolor — Set fill and stroke rgb color values [deprecated]
    • PDF_shading_pattern — Define shading pattern
    • PDF_shading — Define blend
    • PDF_shfill — Fill area with shading
    • PDF_show_boxed — Output text in a box [deprecated]
    • PDF_show_xy — Output text at given position
    • PDF_show — Output text at current position
    • PDF_skew — Skew the coordinate system
    • PDF_stringwidth — Return width of text
    • PDF_stroke — Stroke path
    • PDF_suspend_page — Suspend page
    • PDF_translate — Set origin of coordinate system
    • PDF_utf16_to_utf8 — Конвертирует строку из UTF-16 в UTF-8
    • PDF_utf32_to_utf16 — Конвертирует строку из UTF-32 в UTF-16
    • PDF_utf8_to_utf16 — Конвертирует строку из UTF-8 в UTF-16
SWFVideoStream->setDimension
Введение
Генерация нетекстовых MIME форматов


Введение

PDF функции PHP позволяют создавать PDF файлы, используя библиотеку PDFlib, разработанную Томасом Мерцем (Thomas Merz), которая на данный момент поддерживается » PDFlib GmbH.

Документация этого раздела предназначения для знакомства с доступными функциями библиотеки PDFlib и не должна восприниматься как всеобъемлющее описание. Для полного и детального объяснения каждой функции обратитесь к руководству PDFlib Reference Manual, которое находится во всех дистрибутивах PDFlib, распространяемых PDFlib GmbH. В нем содержится описание всех возможностей PDFlib и актуальная документация по всем имеющимся функциям.

Для начала мы призываем вас обратить внимание на примеры, которые содержатся во всех дистрибутивах PDFlib. В этих примерах демонстрируется вывод основного текста и графики, а также функции более высокого уровня, таких как средство импорта PDF (PDI).

Все функции в PDFlib имеют идентичные имена и параметры в модуле PHP. Если не установлено иное, то все длины и координаты измеряются в PostScript точках. Стандартное отношение определяет 72 PostScript точки на дюйм, но это отношение зависит от выходного разрешения. Пожалуйста, обратитесь к руководству PDFlib Reference Manual, содержащемуся в дистрибутиве PDFlib, для более подробного объяснения используемой системы координат.

В версией 6 PDFlib предлагает объектно-ориентированное API для PHP 5 в дополнение к функционально-ориентированному API в PHP 4. Основными отличиями является следующее:

В PHP 4 с вызовом функции необходимо было получить ресурс PDF, например

$p = PDF_new().

Этот PDF ресурс использовался как первый параметр во всех последующих вызовах функции, также как здесь:

PDF_begin_document($p, "", "").

Однако, в PHP 5 объект PDFlib создается следующим образом:

$p = new PDFlib().

Этот объект предполагает использование всех функций PDFlib API, как методов, например:

$p->begin_document("", "").

Кроме того, в PHP 5 представлены исключения, которые поддерживаются PDFlib 6 и более поздними версиями.

Пожалуйста, ознакомьтесь с примерами ниже для более подробной информации.

Замечание:

Если вы заинтересованы в альтернативных генераторах PDF, которые не используют внешние PDF бибилиотеки, то обратитесь к этому FAQ.

PDF
Установка и настройка
PDF


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PDF


Требования

PDFlib Lite доступна как открытый код. Тем не менее, лицензия PDFlib Lite позволяет бесплатное использование с определенными ограничениями. PDFlib Lite функционально ограничен, относительно PDFlib, пожалуйста, обратитесь к вебсайту PDFlib для получения дополнительной информации. Полная версия PDFlib доступна для скачивания по ссылке » http://www.pdflib.com/products/pdflib-family/, но требует приобритения лицензии при использовании в коммерческих целях.

Проблемы, связанные с более старыми версиями PDFlib

Любая версия PHP 4 после 9 Марта 2000 г. не поддерживает версии PDFlib старше чем 3.0.

PDFlib версии 4.0 и выше поддерживается PHP 4.3.0 более поздними версиями.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/pdflib.

Чтобы иметь возможность работать с этими функциями в PHP < 4.3.9, вы должны скомпилировать PHP с опцией --with-pdflib[=DIR] . DIR - это каталог установки PDFlib, по умолчанию /usr/local.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

PDF_new() создает новый объект PDFlib, требующийся для большинства PDF функций.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
PDF


Примеры

Содержание

  • Примеры использования
Предопределенные константы
Примеры использования
PDF


Примеры использования

Большинство функций достаточно просты в использовании. Самой сложной частью, вероятно, является создание первого PDF-файла. Следующий пример должен помочь начать работу. Пример разработан для PHP 4 и создаёт файл hello.pdf с одной страницей. При этом наполняется содержимое документа, загружается шрифт Helvetica-Bold и создается текст "Hello world! (says PHP)".

Пример #1 Пример PDFlib на PHP 4

<?php
$p = PDF_new();

/*  Создание нового PDF-файла; указание имени PDF-файла для размещения на диске */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(says PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;

PDF_delete($p);
?>

Следующий пример показывает использование PDFlib в PHP 5. Он использует новые обработки исключений и инкапсуляцию, доступные в PHP 5. Он создаёт файл hello.pdf с одной страницей. Пример определяет некоторое содержимое документа, загружает шрифт Helvetica-Bold и выводит текст "Hello world! (says PHP)".

Пример #2 Пример PDFlib на PHP 5

<?php

try {
    $p = new PDFlib();

    /*  Создание нового PDF-файла с указанием имени PDF-файла на диске */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hello.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "Hello world (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("Hello world!");
    $p->continue_text("(says PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hello.pdf");
    print $buf;
}
catch (PDFlibException $e) {
    die("PDFlib exception occurred in hello sample:\n" .
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}
$p = 0;
?>

Примеры
Функции PDF
Примеры


Функции PDF

Замечания об устаревших функциях PDFlib

Начиная с PHP 4.0.5, PHP расширение для PDFlib официально поддерживается PDFlib GmbH. Это означает, что все функции, описанные в руководстве PDFlib Reference Manual, поддерживаются PHP 4 по тому же назначению и с теми же параметрами. Тем не менее, с PDFlib версии 5.0.4 и выше все параметры должны быть указаны. Из соображений совместимости, PDFlib в обязательном порядке, по-прежнему поддерживает большинство устаревших функций, но они должны быть заменены их новыми версиями. PDFlib GmbH не осуществляет поддержку при возникновении проблем в использовании этих устаревших функций. Документация этого раздела обозначает старые функции меткой "Deprecated" и предлагает для использования функции взамен устаревшим.

Содержание

  • PDF_activate_item — Activate structure element or other content item
  • PDF_add_annotation — Add annotation [deprecated]
  • PDF_add_bookmark — Add bookmark for current page [deprecated]
  • PDF_add_launchlink — Add launch annotation for current page [deprecated]
  • PDF_add_locallink — Add link annotation for current page [deprecated]
  • PDF_add_nameddest — Create named destination
  • PDF_add_note — Set annotation for current page [deprecated]
  • PDF_add_outline — Add bookmark for current page [deprecated]
  • PDF_add_pdflink — Add file link annotation for current page [deprecated]
  • PDF_add_table_cell — Add a cell to a new or existing table
  • PDF_add_textflow — Create Textflow or add text to existing Textflow
  • PDF_add_thumbnail — Add thumbnail for current page
  • PDF_add_weblink — Add weblink for current page [deprecated]
  • PDF_arc — Рисует дугу окружности против часовой стрелки
  • PDF_arcn — Рисует дугу окружности по часовой стрелке
  • PDF_attach_file — Add file attachment for current page [deprecated]
  • PDF_begin_document — Create new PDF file
  • PDF_begin_font — Start a Type 3 font definition
  • PDF_begin_glyph — Start glyph definition for Type 3 font
  • PDF_begin_item — Open structure element or other content item
  • PDF_begin_layer — Start layer
  • PDF_begin_page_ext — Start new page
  • PDF_begin_page — Start new page [deprecated]
  • PDF_begin_pattern — Start pattern definition
  • PDF_begin_template_ext — Start template definition
  • PDF_begin_template — Start template definition [deprecated]
  • PDF_circle — Рисует окружность
  • PDF_clip — Clip to current path
  • PDF_close_image — Закрывает изображение
  • PDF_close_pdi_page — Close the page handle
  • PDF_close_pdi — Close the input PDF document [deprecated]
  • PDF_close — Закрывает pdf-документ [устаревшее]
  • PDF_closepath_fill_stroke — Close, fill and stroke current path
  • PDF_closepath_stroke — Close and stroke path
  • PDF_closepath — Close current path
  • PDF_concat — Concatenate a matrix to the CTM
  • PDF_continue_text — Output text in next line
  • PDF_create_3dview — Создает объемное изображение
  • PDF_create_action — Create action for objects or events
  • PDF_create_annotation — Создает прямоугольную аннотацию
  • PDF_create_bookmark — Create bookmark
  • PDF_create_field — Create form field
  • PDF_create_fieldgroup — Create form field group
  • PDF_create_gstate — Create graphics state object
  • PDF_create_pvf — Create PDFlib virtual file
  • PDF_create_textflow — Create textflow object
  • PDF_curveto — Draw Bezier curve
  • PDF_define_layer — Create layer definition
  • PDF_delete_pvf — Delete PDFlib virtual file
  • PDF_delete_table — Delete table object
  • PDF_delete_textflow — Delete textflow object
  • PDF_delete — Удаляет объект PDFlib
  • PDF_encoding_set_char — Add glyph name and/or Unicode value
  • PDF_end_document — Close PDF file
  • PDF_end_font — Terminate Type 3 font definition
  • PDF_end_glyph — Terminate glyph definition for Type 3 font
  • PDF_end_item — Close structure element or other content item
  • PDF_end_layer — Deactivate all active layers
  • PDF_end_page_ext — Finish page
  • PDF_end_page — Finish page
  • PDF_end_pattern — Finish pattern
  • PDF_end_template — Finish template
  • PDF_endpath — End current path
  • PDF_fill_imageblock — Fill image block with variable data
  • PDF_fill_pdfblock — Fill PDF block with variable data
  • PDF_fill_stroke — Fill and stroke path
  • PDF_fill_textblock — Fill text block with variable data
  • PDF_fill — Fill current path
  • PDF_findfont — Prepare font for later use [deprecated]
  • PDF_fit_image — Place image or template
  • PDF_fit_pdi_page — Place imported PDF page
  • PDF_fit_table — Place table on page
  • PDF_fit_textflow — Format textflow in rectangular area
  • PDF_fit_textline — Place single line of text
  • PDF_get_apiname — Get name of unsuccessfull API function
  • PDF_get_buffer — Get PDF output buffer
  • PDF_get_errmsg — Возвращает текст ошибки
  • PDF_get_errnum — Возвращает код ошибки
  • PDF_get_font — Возвращает шрифт [устаревшее]
  • PDF_get_fontname — Возвращает название шрифта [устаревшее]
  • PDF_get_fontsize — Font handling [deprecated]
  • PDF_get_image_height — Возвращает высоту изображения [устаревшее]
  • PDF_get_image_width — Возвращает ширину изображения [устаревшее]
  • PDF_get_majorversion — Get major version number [deprecated]
  • PDF_get_minorversion — Get minor version number [deprecated]
  • PDF_get_parameter — Get string parameter
  • PDF_get_pdi_parameter — Get PDI string parameter [deprecated]
  • PDF_get_pdi_value — Get PDI numerical parameter [deprecated]
  • PDF_get_value — Get numerical parameter
  • PDF_info_font — Query detailed information about a loaded font
  • PDF_info_matchbox — Query matchbox information
  • PDF_info_table — Retrieve table information
  • PDF_info_textflow — Query textflow state
  • PDF_info_textline — Perform textline formatting and query metrics
  • PDF_initgraphics — Reset graphic state
  • PDF_lineto — Draw a line
  • PDF_load_3ddata — Load 3D model
  • PDF_load_font — Search and prepare font
  • PDF_load_iccprofile — Search and prepare ICC profile
  • PDF_load_image — Open image file
  • PDF_makespotcolor — Make spot color
  • PDF_moveto — Set current point
  • PDF_new — Создает объект PDFlib
  • PDF_open_ccitt — Open raw CCITT image [deprecated]
  • PDF_open_file — Создает PDF-файл [устаревшее]
  • PDF_open_gif — Открывает GIF-изображение [устаревшее]
  • PDF_open_image_file — Read image from file [deprecated]
  • PDF_open_image — Use image data [deprecated]
  • PDF_open_jpeg — Открывает JPEG-изображение [устаревшее]
  • PDF_open_memory_image — Open image created with PHP's image functions [not supported]
  • PDF_open_pdi_document — Prepare a pdi document
  • PDF_open_pdi_page — Prepare a page
  • PDF_open_pdi — Open PDF file [deprecated]
  • PDF_open_tiff — Открывает TIFF-изображение [устаревшее]
  • PDF_pcos_get_number — Get value of pCOS path with type number or boolean
  • PDF_pcos_get_stream — Get contents of pCOS path with type stream, fstream, or string
  • PDF_pcos_get_string — Get value of pCOS path with type name, string, or boolean
  • PDF_place_image — Place image on the page [deprecated]
  • PDF_place_pdi_page — Place PDF page [deprecated]
  • PDF_process_pdi — Process imported PDF document
  • PDF_rect — Рисует прямоугольник
  • PDF_restore — Restore graphics state
  • PDF_resume_page — Resume page
  • PDF_rotate — Поворачивает систему координат
  • PDF_save — Save graphics state
  • PDF_scale — Масштабирует систему координат
  • PDF_set_border_color — Set border color of annotations [deprecated]
  • PDF_set_border_dash — Set border dash style of annotations [deprecated]
  • PDF_set_border_style — Set border style of annotations [deprecated]
  • PDF_set_char_spacing — Set character spacing [deprecated]
  • PDF_set_duration — Set duration between pages [deprecated]
  • PDF_set_gstate — Activate graphics state object
  • PDF_set_horiz_scaling — Set horizontal text scaling [deprecated]
  • PDF_set_info_author — Fill the author document info field [deprecated]
  • PDF_set_info_creator — Fill the creator document info field [deprecated]
  • PDF_set_info_keywords — Fill the keywords document info field [deprecated]
  • PDF_set_info_subject — Fill the subject document info field [deprecated]
  • PDF_set_info_title — Fill the title document info field [deprecated]
  • PDF_set_info — Fill document info field
  • PDF_set_layer_dependency — Define relationships among layers
  • PDF_set_leading — Set distance between text lines [deprecated]
  • PDF_set_parameter — Set string parameter
  • PDF_set_text_matrix — Set text matrix [deprecated]
  • PDF_set_text_pos — Устанавливает позицию текста
  • PDF_set_text_rendering — Determine text rendering [deprecated]
  • PDF_set_text_rise — Set text rise [deprecated]
  • PDF_set_value — Set numerical parameter
  • PDF_set_word_spacing — Set spacing between words [deprecated]
  • PDF_setcolor — Set fill and stroke color
  • PDF_setdash — Set simple dash pattern
  • PDF_setdashpattern — Set dash pattern
  • PDF_setflat — Set flatness
  • PDF_setfont — Set font
  • PDF_setgray_fill — Set fill color to gray [deprecated]
  • PDF_setgray_stroke — Set stroke color to gray [deprecated]
  • PDF_setgray — Set color to gray [deprecated]
  • PDF_setlinecap — Set linecap parameter
  • PDF_setlinejoin — Set linejoin parameter
  • PDF_setlinewidth — Set line width
  • PDF_setmatrix — Set current transformation matrix
  • PDF_setmiterlimit — Set miter limit
  • PDF_setpolydash — Set complicated dash pattern [deprecated]
  • PDF_setrgbcolor_fill — Set fill rgb color values [deprecated]
  • PDF_setrgbcolor_stroke — Set stroke rgb color values [deprecated]
  • PDF_setrgbcolor — Set fill and stroke rgb color values [deprecated]
  • PDF_shading_pattern — Define shading pattern
  • PDF_shading — Define blend
  • PDF_shfill — Fill area with shading
  • PDF_show_boxed — Output text in a box [deprecated]
  • PDF_show_xy — Output text at given position
  • PDF_show — Output text at current position
  • PDF_skew — Skew the coordinate system
  • PDF_stringwidth — Return width of text
  • PDF_stroke — Stroke path
  • PDF_suspend_page — Suspend page
  • PDF_translate — Set origin of coordinate system
  • PDF_utf16_to_utf8 — Конвертирует строку из UTF-16 в UTF-8
  • PDF_utf32_to_utf16 — Конвертирует строку из UTF-32 в UTF-16
  • PDF_utf8_to_utf16 — Конвертирует строку из UTF-8 в UTF-16
Примеры использования
PDF_activate_item
PDF


Activate structure element or other content item

Функции PDF
PDF_add_annotation
Функции PDF
PHP Manual

PDF_activate_item

(PECL pdflib >= 2.0.0)

PDF_activate_item — Activate structure element or other content item

Описание

bool PDF_activate_item ( resource $pdfdoc , int $id )

Activates a previously created structure element or other content item. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Функции PDF
PDF_add_annotation
Функции PDF


Add annotation [deprecated]

PDF_activate_item
PDF_add_bookmark
Функции PDF
PHP Manual

PDF_add_annotation

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_annotation — Add annotation [deprecated]

Описание

This function is deprecated, use PDF_create_annotation() with type=Text instead.

PDF_activate_item
PDF_add_bookmark
Функции PDF


Add bookmark for current page [deprecated]

PDF_add_annotation
PDF_add_launchlink
Функции PDF
PHP Manual

PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_add_bookmark — Add bookmark for current page [deprecated]

Описание

This function is deprecated since PDFlib version 6, use PDF_create_bookmark() instead.

PDF_add_annotation
PDF_add_launchlink
Функции PDF


Add launch annotation for current page [deprecated]

PDF_add_bookmark
PDF_add_locallink
Функции PDF
PHP Manual

PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_launchlink — Add launch annotation for current page [deprecated]

Описание

bool PDF_add_launchlink ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Adds a link to a web resource.

This function is deprecated since PDFlib version 6,
use PDF_create_action() with
type=Launch and
PDF_create_annotation() with
type=Link instead.

PDF_add_bookmark
PDF_add_locallink
Функции PDF


Add link annotation for current page [deprecated]

PDF_add_launchlink
PDF_add_nameddest
Функции PDF
PHP Manual

PDF_add_locallink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_locallink — Add link annotation for current page [deprecated]

Описание

bool PDF_add_locallink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , int $page , string $dest )

Add a link annotation to a target within the current PDF file. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=GoTo
and PDF_create_annotation() with
type=Link instead.

PDF_add_launchlink
PDF_add_nameddest
Функции PDF


Create named destination

PDF_add_locallink
PDF_add_note
Функции PDF
PHP Manual

PDF_add_nameddest

(PECL pdflib >= 2.0.0)

PDF_add_nameddest — Create named destination

Описание

bool PDF_add_nameddest ( resource $pdfdoc , string $name , string $optlist )

Creates a named destination on an arbitrary page in the current document. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_add_locallink
PDF_add_note
Функции PDF


Set annotation for current page [deprecated]

PDF_add_nameddest
PDF_add_outline
Функции PDF
PHP Manual

PDF_add_note

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_note — Set annotation for current page [deprecated]

Описание

bool PDF_add_note ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Sets an annotation for the current page. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=Text instead.

PDF_add_nameddest
PDF_add_outline
Функции PDF


Add bookmark for current page [deprecated]

PDF_add_note
PDF_add_pdflink
Функции PDF
PHP Manual

PDF_add_outline

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_outline — Add bookmark for current page [deprecated]

Описание

This function is deprecated, use PDF_create_bookmark() instead.

PDF_add_note
PDF_add_pdflink
Функции PDF


Add file link annotation for current page [deprecated]

PDF_add_outline
PDF_add_table_cell
Функции PDF
PHP Manual

PDF_add_pdflink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_pdflink — Add file link annotation for current page [deprecated]

Описание

bool PDF_add_pdflink ( resource $pdfdoc , float $bottom_left_x , float $bottom_left_y , float $up_right_x , float $up_right_y , string $filename , int $page , string $dest )

Add a file link annotation to a PDF target. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with
type=GoToR and
PDF_create_annotation() with
type=Link instead.

PDF_add_outline
PDF_add_table_cell
Функции PDF


Add a cell to a new or existing table

PDF_add_pdflink
PDF_add_textflow
Функции PDF
PHP Manual

PDF_add_table_cell

(PECL pdflib >= 2.1.0)

PDF_add_table_cell — Add a cell to a new or existing table

Описание

int PDF_add_table_cell ( resource $pdfdoc , int $table , int $column , int $row , string $text , string $optlist )

Adds a cell to a new or existing table.

PDF_add_pdflink
PDF_add_textflow
Функции PDF


Create Textflow or add text to existing Textflow

PDF_add_table_cell
PDF_add_thumbnail
Функции PDF
PHP Manual

PDF_add_textflow

(PECL pdflib >= 2.1.0)

PDF_add_textflow — Create Textflow or add text to existing Textflow

Описание

int PDF_add_textflow ( resource $pdfdoc , int $textflow , string $text , string $optlist )

Creates a Textflow object, or adds text and explicit options to an existing Textflow.

PDF_add_table_cell
PDF_add_thumbnail
Функции PDF


Add thumbnail for current page

PDF_add_textflow
PDF_add_weblink
Функции PDF
PHP Manual

PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_thumbnail — Add thumbnail for current page

Описание

bool PDF_add_thumbnail ( resource $pdfdoc , int $image )

Adds an existing image as thumbnail for the current page. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_add_textflow
PDF_add_weblink
Функции PDF


Add weblink for current page [deprecated]

PDF_add_thumbnail
PDF_arc
Функции PDF
PHP Manual

PDF_add_weblink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_weblink — Add weblink for current page [deprecated]

Описание

bool PDF_add_weblink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , string $url )

Adds a weblink annotation to a target url on the Web. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=URI
and PDF_create_annotation() with
type=Link instead.

PDF_add_thumbnail
PDF_arc
Функции PDF


Рисует дугу окружности против часовой стрелки

PDF_add_weblink
PDF_arcn
Функции PDF
PHP Manual

PDF_arc

(PHP 4, PECL pdflib >= 1.0.0)

PDF_arc — Рисует дугу окружности против часовой стрелки

Описание

bool PDF_arc ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Рисует дугу окружности против часовой стрелки.

PDF_add_weblink
PDF_arcn
Функции PDF


Рисует дугу окружности по часовой стрелке

PDF_arc
PDF_attach_file
Функции PDF
PHP Manual

PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_arcn — Рисует дугу окружности по часовой стрелке

Описание

bool PDF_arcn ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

За исключением направления рисования, эта функция ведет себя так же, как PDF_arc().

PDF_arc
PDF_attach_file
Функции PDF


Add file attachment for current page [deprecated]

PDF_arcn
PDF_begin_document
Функции PDF
PHP Manual

PDF_attach_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_attach_file — Add file attachment for current page [deprecated]

Описание

bool PDF_attach_file ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename , string $description , string $author , string $mimetype , string $icon )

Adds a file attachment annotation. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=FileAttachment instead.

PDF_arcn
PDF_begin_document
Функции PDF


Create new PDF file

PDF_attach_file
PDF_begin_font
Функции PDF
PHP Manual

PDF_begin_document

(PECL pdflib >= 2.0.0)

PDF_begin_document — Create new PDF file

Описание

int PDF_begin_document ( resource $pdfdoc , string $filename , string $optlist )

Creates a new PDF file subject to various options.

PDF_attach_file
PDF_begin_font
Функции PDF


Start a Type 3 font definition

PDF_begin_document
PDF_begin_glyph
Функции PDF
PHP Manual

PDF_begin_font

(PECL pdflib >= 2.0.0)

PDF_begin_font — Start a Type 3 font definition

Описание

bool PDF_begin_font ( resource $pdfdoc , string $filename , float $a , float $b , float $c , float $d , float $e , float $f , string $optlist )

Starts a Type 3 font definition.

PDF_begin_document
PDF_begin_glyph
Функции PDF


Start glyph definition for Type 3 font

PDF_begin_font
PDF_begin_item
Функции PDF
PHP Manual

PDF_begin_glyph

(PECL pdflib >= 2.0.0)

PDF_begin_glyph — Start glyph definition for Type 3 font

Описание

bool PDF_begin_glyph ( resource $pdfdoc , string $glyphname , float $wx , float $llx , float $lly , float $urx , float $ury )

Starts a glyph definition for a Type 3 font.

PDF_begin_font
PDF_begin_item
Функции PDF


Open structure element or other content item

PDF_begin_glyph
PDF_begin_layer
Функции PDF
PHP Manual

PDF_begin_item

(PECL pdflib >= 2.0.0)

PDF_begin_item — Open structure element or other content item

Описание

int PDF_begin_item ( resource $pdfdoc , string $tag , string $optlist )

Opens a structure element or other content item with attributes supplied as options.

PDF_begin_glyph
PDF_begin_layer
Функции PDF


Start layer

PDF_begin_item
PDF_begin_page_ext
Функции PDF
PHP Manual

PDF_begin_layer

(PECL pdflib >= 2.0.0)

PDF_begin_layer — Start layer

Описание

bool PDF_begin_layer ( resource $pdfdoc , int $layer )

Starts a layer for subsequent output on the page. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function requires PDF 1.5.

PDF_begin_item
PDF_begin_page_ext
Функции PDF


Start new page

PDF_begin_layer
PDF_begin_page
Функции PDF
PHP Manual

PDF_begin_page_ext

(PECL pdflib >= 2.0.0)

PDF_begin_page_ext — Start new page

Описание

bool PDF_begin_page_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Adds a new page to the document, and specifies various options. The parameters width and height are the dimensions of the new page in points. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Common Page Sizes in Points
name | size
A0 | 2380 x 3368
A1 | 1684 x 2380
A2 | 1190 x 1684
A3 | 842 x 1190
A4 | 595 x 842
A5 | 421 x 595
A6 | 297 x 421
B5 | 501 x 709
letter (8.5" x 11") | 612 x 792
legal (8.5" x 14") | 612 x 1008
ledger (17" x 11") | 1224 x 792
11" x 17" | 792 x 1224

PDF_begin_layer
PDF_begin_page
Функции PDF


Start new page [deprecated]

PDF_begin_page_ext
PDF_begin_pattern
Функции PDF
PHP Manual

PDF_begin_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_begin_page — Start new page [deprecated]

Описание

bool PDF_begin_page ( resource $pdfdoc , float $width , float $height )

Adds a new page to the document. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use PDF_begin_page_ext() instead.

PDF_begin_page_ext
PDF_begin_pattern
Функции PDF


Start pattern definition

PDF_begin_page
PDF_begin_template_ext
Функции PDF
PHP Manual

PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_pattern — Start pattern definition

Описание

int PDF_begin_pattern ( resource $pdfdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Starts a new pattern definition.

PDF_begin_page
PDF_begin_template_ext
Функции PDF


Start template definition

PDF_begin_pattern
PDF_begin_template
Функции PDF
PHP Manual

PDF_begin_template_ext

(PECL pdflib >= 2.1.0)

PDF_begin_template_ext — Start template definition

Описание

int PDF_begin_template_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Starts a new template definition.

PDF_begin_pattern
PDF_begin_template
Функции PDF


Start template definition [deprecated]

PDF_begin_template_ext
PDF_circle
Функции PDF
PHP Manual

PDF_begin_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_template — Start template definition [deprecated]

Описание

int PDF_begin_template ( resource $pdfdoc , float $width , float $height )

Starts a new template definition.

This function is deprecated since PDFlib version 7, use PDF_begin_template_ext() instead.

PDF_begin_template_ext
PDF_circle
Функции PDF


Рисует окружность

PDF_begin_template
PDF_clip
Функции PDF
PHP Manual

PDF_circle

(PHP 4, PECL pdflib >= 1.0.0)

PDF_circle — Рисует окружность

Описание

bool PDF_circle ( resource $pdfdoc , float $x , float $y , float $r )

Добавляет окружность. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_begin_template
PDF_clip
Функции PDF


Clip to current path

PDF_circle
PDF_close_image
Функции PDF
PHP Manual

PDF_clip

(PHP 4, PECL pdflib >= 1.0.0)

PDF_clip — Clip to current path

Описание

bool PDF_clip ( resource $p )

Uses the current path as clipping path, and terminate the path. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_circle
PDF_close_image
Функции PDF


Закрывает изображение

PDF_clip
PDF_close_pdi_page
Функции PDF
PHP Manual

PDF_close_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close_image — Закрывает изображение

Описание

bool PDF_close_image ( resource $p , int $image )

Закрывает изображение image, полученное с помощью функции PDF_open_image().

PDF_clip
PDF_close_pdi_page
Функции PDF


Close the page handle

PDF_close_image
PDF_close_pdi
Функции PDF
PHP Manual

PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi_page — Close the page handle

Описание

bool PDF_close_pdi_page ( resource $p , int $page )

Closes the page handle, and frees all page-related resources. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_close_image
PDF_close_pdi
Функции PDF


Close the input PDF document [deprecated]

PDF_close_pdi_page
PDF_close
Функции PDF
PHP Manual

PDF_close_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi — Close the input PDF document [deprecated]

Описание

bool PDF_close_pdi ( resource $p , int $doc )

Closes all open page handles, and closes the input PDF document. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 7, use PDF_close_pdi_document() instead.

PDF_close_pdi_page
PDF_close
Функции PDF


Закрывает pdf-документ [устаревшее]

PDF_close_pdi
PDF_closepath_fill_stroke
Функции PDF
PHP Manual

PDF_close

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close — Закрывает pdf-документ [устаревшее]

Описание

bool PDF_close ( resource $p )

Закрывает сгенерированный PDF-файл и освобождает все относящиеся к документу ресурсы. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Эта функция устарела начиная с 6-ой версии PDFlib, вместо нее используйте PDF_end_document().

PDF_close_pdi
PDF_closepath_fill_stroke
Функции PDF


Close, fill and stroke current path

PDF_close
PDF_closepath_stroke
Функции PDF
PHP Manual

PDF_closepath_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_fill_stroke — Close, fill and stroke current path

Описание

bool PDF_closepath_fill_stroke ( resource $p )

Closes the path, fills, and strokes it. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_close
PDF_closepath_stroke
Функции PDF


Close and stroke path

PDF_closepath_fill_stroke
PDF_closepath
Функции PDF
PHP Manual

PDF_closepath_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_stroke — Close and stroke path

Описание

bool PDF_closepath_stroke ( resource $p )

Closes the path, and strokes it. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_closepath_fill_stroke
PDF_closepath
Функции PDF


Close current path

PDF_closepath_stroke
PDF_concat
Функции PDF
PHP Manual

PDF_closepath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath — Close current path

Описание

bool PDF_closepath ( resource $p )

Closes the current path. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_closepath_stroke
PDF_concat
Функции PDF


Concatenate a matrix to the CTM

PDF_closepath
PDF_continue_text
Функции PDF
PHP Manual

PDF_concat

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_concat — Concatenate a matrix to the CTM

Описание

bool PDF_concat ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Concatenates a matrix to the current transformation matrix (CTM). Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_closepath
PDF_continue_text
Функции PDF


Output text in next line

PDF_concat
PDF_create_3dview
Функции PDF
PHP Manual

PDF_continue_text

(PHP 4, PECL pdflib >= 1.0.0)

PDF_continue_text — Output text in next line

Описание

bool PDF_continue_text ( resource $p , string $text )

Prints text at the next line. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_concat
PDF_create_3dview
Функции PDF


Создает объемное изображение

PDF_continue_text
PDF_create_action
Функции PDF
PHP Manual

PDF_create_3dview

(PECL pdflib >= 2.1.0)

PDF_create_3dview — Создает объемное изображение

Описание

int PDF_create_3dview ( resource $pdfdoc , string $username , string $optlist )

Создает объемное изображение.

Эта функция требует PDF 1.6.

PDF_continue_text
PDF_create_action
Функции PDF


Create action for objects or events

PDF_create_3dview
PDF_create_annotation
Функции PDF
PHP Manual

PDF_create_action

(PECL pdflib >= 2.0.0)

PDF_create_action — Create action for objects or events

Описание

int PDF_create_action ( resource $pdfdoc , string $type , string $optlist )

Creates an action which can be applied to various objects and events.

PDF_create_3dview
PDF_create_annotation
Функции PDF


Создает прямоугольную аннотацию

PDF_create_action
PDF_create_bookmark
Функции PDF
PHP Manual

PDF_create_annotation

(PECL pdflib >= 2.0.0)

PDF_create_annotation — Создает прямоугольную аннотацию

Описание

bool PDF_create_annotation ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $type , string $optlist )

Создает прямоугольную аннотацию на текущей странице.

PDF_create_action
PDF_create_bookmark
Функции PDF


Create bookmark

PDF_create_annotation
PDF_create_field
Функции PDF
PHP Manual

PDF_create_bookmark

(PECL pdflib >= 2.0.0)

PDF_create_bookmark — Create bookmark

Описание

int PDF_create_bookmark ( resource $pdfdoc , string $text , string $optlist )

Creates a bookmark subject to various options.

PDF_create_annotation
PDF_create_field
Функции PDF


Create form field

PDF_create_bookmark
PDF_create_fieldgroup
Функции PDF
PHP Manual

PDF_create_field

(PECL pdflib >= 2.0.0)

PDF_create_field — Create form field

Описание

bool PDF_create_field ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $name , string $type , string $optlist )

Creates a form field on the current page subject to various options.

PDF_create_bookmark
PDF_create_fieldgroup
Функции PDF


Create form field group

PDF_create_field
PDF_create_gstate
Функции PDF
PHP Manual

PDF_create_fieldgroup

(PECL pdflib >= 2.0.0)

PDF_create_fieldgroup — Create form field group

Описание

bool PDF_create_fieldgroup ( resource $pdfdoc , string $name , string $optlist )

Creates a form field group subject to various options.

PDF_create_field
PDF_create_gstate
Функции PDF


Create graphics state object

PDF_create_fieldgroup
PDF_create_pvf
Функции PDF
PHP Manual

PDF_create_gstate

(PECL pdflib >= 2.0.0)

PDF_create_gstate — Create graphics state object

Описание

int PDF_create_gstate ( resource $pdfdoc , string $optlist )

Creates a graphics state object subject to various options.

PDF_create_fieldgroup
PDF_create_pvf
Функции PDF


Create PDFlib virtual file

PDF_create_gstate
PDF_create_textflow
Функции PDF
PHP Manual

PDF_create_pvf

(PECL pdflib >= 2.0.0)

PDF_create_pvf — Create PDFlib virtual file

Описание

bool PDF_create_pvf ( resource $pdfdoc , string $filename , string $data , string $optlist )

Creates a named virtual read-only file from data provided in memory.

PDF_create_gstate
PDF_create_textflow
Функции PDF


Create textflow object

PDF_create_pvf
PDF_curveto
Функции PDF
PHP Manual

PDF_create_textflow

(PECL pdflib >= 2.0.0)

PDF_create_textflow — Create textflow object

Описание

int PDF_create_textflow ( resource $pdfdoc , string $text , string $optlist )

Preprocesses text for later formatting and creates a textflow object.

PDF_create_pvf
PDF_curveto
Функции PDF


Draw Bezier curve

PDF_create_textflow
PDF_define_layer
Функции PDF
PHP Manual

PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curveto — Draw Bezier curve

Описание

bool PDF_curveto ( resource $p , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Draws a Bezier curve from the current point, using 3 more control points. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_create_textflow
PDF_define_layer
Функции PDF


Create layer definition

PDF_curveto
PDF_delete_pvf
Функции PDF
PHP Manual

PDF_define_layer

(PECL pdflib >= 2.0.0)

PDF_define_layer — Create layer definition

Описание

int PDF_define_layer ( resource $pdfdoc , string $name , string $optlist )

Creates a new layer definition.

This function requires PDF 1.5.

PDF_curveto
PDF_delete_pvf
Функции PDF


Delete PDFlib virtual file

PDF_define_layer
PDF_delete_table
Функции PDF
PHP Manual

PDF_delete_pvf

(PECL pdflib >= 2.0.0)

PDF_delete_pvf — Delete PDFlib virtual file

Описание

int PDF_delete_pvf ( resource $pdfdoc , string $filename )

Deletes a named virtual file and frees its data structures (but not the contents).

PDF_define_layer
PDF_delete_table
Функции PDF


Delete table object

PDF_delete_pvf
PDF_delete_textflow
Функции PDF
PHP Manual

PDF_delete_table

(PECL pdflib >= 2.1.0)

PDF_delete_table — Delete table object

Описание

bool PDF_delete_table ( resource $pdfdoc , int $table , string $optlist )

Deletes a table and all associated data structures.

PDF_delete_pvf
PDF_delete_textflow
Функции PDF


Delete textflow object

PDF_delete_table
PDF_delete
Функции PDF
PHP Manual

PDF_delete_textflow

(PECL pdflib >= 2.0.0)

PDF_delete_textflow — Delete textflow object

Описание

bool PDF_delete_textflow ( resource $pdfdoc , int $textflow )

Deletes a textflow and the associated data structures.

PDF_delete_table
PDF_delete
Функции PDF


Удаляет объект PDFlib

PDF_delete_textflow
PDF_encoding_set_char
Функции PDF
PHP Manual

PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_delete — Удаляет объект PDFlib

Описание

bool PDF_delete ( resource $pdfdoc )

Удаляет объект PDFlib и освобождает все внутренние ресурсы. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_delete_textflow
PDF_encoding_set_char
Функции PDF


Add glyph name and/or Unicode value

PDF_delete
PDF_end_document
Функции PDF
PHP Manual

PDF_encoding_set_char

(PECL pdflib >= 2.0.0)

PDF_encoding_set_char — Add glyph name and/or Unicode value

Описание

bool PDF_encoding_set_char ( resource $pdfdoc , string $encoding , int $slot , string $glyphname , int $uv )

Adds a glyph name and/or Unicode value to a custom encoding.

PDF_delete
PDF_end_document
Функции PDF


Close PDF file

PDF_encoding_set_char
PDF_end_font
Функции PDF
PHP Manual

PDF_end_document

(PECL pdflib >= 2.0.0)

PDF_end_document — Close PDF file

Описание

bool PDF_end_document ( resource $pdfdoc , string $optlist )

Closes the generated PDF file and applies various options.

PDF_encoding_set_char
PDF_end_font
Функции PDF


Terminate Type 3 font definition

PDF_end_document
PDF_end_glyph
Функции PDF
PHP Manual

PDF_end_font

(PECL pdflib >= 2.0.0)

PDF_end_font — Terminate Type 3 font definition

Описание

bool PDF_end_font ( resource $pdfdoc )

Terminates a Type 3 font definition.

PDF_end_document
PDF_end_glyph
Функции PDF


Terminate glyph definition for Type 3 font

PDF_end_font
PDF_end_item
Функции PDF
PHP Manual

PDF_end_glyph

(PECL pdflib >= 2.0.0)

PDF_end_glyph — Terminate glyph definition for Type 3 font

Описание

bool PDF_end_glyph ( resource $pdfdoc )

Terminates a glyph definition for a Type 3 font.

PDF_end_font
PDF_end_item
Функции PDF


Close structure element or other content item

PDF_end_glyph
PDF_end_layer
Функции PDF
PHP Manual

PDF_end_item

(PECL pdflib >= 2.0.0)

PDF_end_item — Close structure element or other content item

Описание

bool PDF_end_item ( resource $pdfdoc , int $id )

Closes a structure element or other content item.

PDF_end_glyph
PDF_end_layer
Функции PDF


Deactivate all active layers

PDF_end_item
PDF_end_page_ext
Функции PDF
PHP Manual

PDF_end_layer

(PECL pdflib >= 2.0.0)

PDF_end_layer — Deactivate all active layers

Описание

bool PDF_end_layer ( resource $pdfdoc )

Deactivates all active layers. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function requires PDF 1.5.

PDF_end_item
PDF_end_page_ext
Функции PDF


Finish page

PDF_end_layer
PDF_end_page
Функции PDF
PHP Manual

PDF_end_page_ext

(PECL pdflib >= 2.0.0)

PDF_end_page_ext — Finish page

Описание

bool PDF_end_page_ext ( resource $pdfdoc , string $optlist )

Finishes a page, and applies various options. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_end_layer
PDF_end_page
Функции PDF


Finish page

PDF_end_page_ext
PDF_end_pattern
Функции PDF
PHP Manual

PDF_end_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_end_page — Finish page

Описание

bool PDF_end_page ( resource $p )

Finishes the page. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_end_page_ext
PDF_end_pattern
Функции PDF


Finish pattern

PDF_end_page
PDF_end_template
Функции PDF
PHP Manual

PDF_end_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_pattern — Finish pattern

Описание

bool PDF_end_pattern ( resource $p )

Finishes the pattern definition. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_end_page
PDF_end_template
Функции PDF


Finish template

PDF_end_pattern
PDF_endpath
Функции PDF
PHP Manual

PDF_end_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_template — Finish template

Описание

bool PDF_end_template ( resource $p )

Finishes a template definition. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_end_pattern
PDF_endpath
Функции PDF


End current path

PDF_end_template
PDF_fill_imageblock
Функции PDF
PHP Manual

PDF_endpath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_endpath — End current path

Описание

bool PDF_endpath ( resource $p )

Ends the current path without filling or stroking it.

PDF_end_template
PDF_fill_imageblock
Функции PDF


Fill image block with variable data

PDF_endpath
PDF_fill_pdfblock
Функции PDF
PHP Manual

PDF_fill_imageblock

(PECL pdflib >= 2.0.0)

PDF_fill_imageblock — Fill image block with variable data

Описание

int PDF_fill_imageblock ( resource $pdfdoc , int $page , string $blockname , int $image , string $optlist )

Fills an image block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

PDF_endpath
PDF_fill_pdfblock
Функции PDF


Fill PDF block with variable data

PDF_fill_imageblock
PDF_fill_stroke
Функции PDF
PHP Manual

PDF_fill_pdfblock

(PECL pdflib >= 2.0.0)

PDF_fill_pdfblock — Fill PDF block with variable data

Описание

int PDF_fill_pdfblock ( resource $pdfdoc , int $page , string $blockname , int $contents , string $optlist )

Fills a PDF block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

PDF_fill_imageblock
PDF_fill_stroke
Функции PDF


Fill and stroke path

PDF_fill_pdfblock
PDF_fill_textblock
Функции PDF
PHP Manual

PDF_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill_stroke — Fill and stroke path

Описание

bool PDF_fill_stroke ( resource $p )

Fills and strokes the current path with the current fill and stroke color. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_fill_pdfblock
PDF_fill_textblock
Функции PDF


Fill text block with variable data

PDF_fill_stroke
PDF_fill
Функции PDF
PHP Manual

PDF_fill_textblock

(PECL pdflib >= 2.0.0)

PDF_fill_textblock — Fill text block with variable data

Описание

int PDF_fill_textblock ( resource $pdfdoc , int $page , string $blockname , string $text , string $optlist )

Fills a text block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

PDF_fill_stroke
PDF_fill
Функции PDF


Fill current path

PDF_fill_textblock
PDF_findfont
Функции PDF
PHP Manual

PDF_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill — Fill current path

Описание

bool PDF_fill ( resource $p )

Fills the interior of the current path with the current fill color. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_fill_textblock
PDF_findfont
Функции PDF


Prepare font for later use [deprecated]

PDF_fill
PDF_fit_image
Функции PDF
PHP Manual

PDF_findfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_findfont — Prepare font for later use [deprecated]

Описание

int PDF_findfont ( resource $p , string $fontname , string $encoding , int $embed )

Search for a font and prepare it for later use with PDF_setfont(). The metrics will be loaded, and if embed is nonzero, the font file will be checked, but not yet used. encoding is one of builtin, macroman, winansi, host, a user-defined encoding name or the name of a CMap. Parameter embed is optional before PHP 4.3.5 or with PDFlib less than 5.

This function is deprecated since PDFlib version 5, use PDF_load_font() instead.

PDF_fill
PDF_fit_image
Функции PDF


Place image or template

PDF_findfont
PDF_fit_pdi_page
Функции PDF
PHP Manual

PDF_fit_image

(PECL pdflib >= 2.0.0)

PDF_fit_image — Place image or template

Описание

bool PDF_fit_image ( resource $pdfdoc , int $image , float $x , float $y , string $optlist )

Places an image or template on the page, subject to various options. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_findfont
PDF_fit_pdi_page
Функции PDF


Place imported PDF page

PDF_fit_image
PDF_fit_table
Функции PDF
PHP Manual

PDF_fit_pdi_page

(PECL pdflib >= 2.0.0)

PDF_fit_pdi_page — Place imported PDF page

Описание

bool PDF_fit_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , string $optlist )

Places an imported PDF page on the page, subject to various options. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_fit_image
PDF_fit_table
Функции PDF


Place table on page

PDF_fit_pdi_page
PDF_fit_textflow
Функции PDF
PHP Manual

PDF_fit_table

(PECL pdflib >= 2.1.0)

PDF_fit_table — Place table on page

Описание

string PDF_fit_table ( resource $pdfdoc , int $table , float $llx , float $lly , float $urx , float $ury , string $optlist )

Places a table on the page fully or partially.

PDF_fit_pdi_page
PDF_fit_textflow
Функции PDF


Format textflow in rectangular area

PDF_fit_table
PDF_fit_textline
Функции PDF
PHP Manual

PDF_fit_textflow

(PECL pdflib >= 2.0.0)

PDF_fit_textflow — Format textflow in rectangular area

Описание

string PDF_fit_textflow ( resource $pdfdoc , int $textflow , float $llx , float $lly , float $urx , float $ury , string $optlist )

Formats the next portion of a textflow into a rectangular area.

PDF_fit_table
PDF_fit_textline
Функции PDF


Place single line of text

PDF_fit_textflow
PDF_get_apiname
Функции PDF
PHP Manual

PDF_fit_textline

(PECL pdflib >= 2.0.0)

PDF_fit_textline — Place single line of text

Описание

bool PDF_fit_textline ( resource $pdfdoc , string $text , float $x , float $y , string $optlist )

Places a single line of text on the page, subject to various options. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_fit_textflow
PDF_get_apiname
Функции PDF


Get name of unsuccessfull API function

PDF_fit_textline
PDF_get_buffer
Функции PDF
PHP Manual

PDF_get_apiname

(PECL pdflib >= 2.0.0)

PDF_get_apiname — Get name of unsuccessfull API function

Описание

string PDF_get_apiname ( resource $pdfdoc )

Gets the name of the API function which threw the last exception or failed.

PDF_fit_textline
PDF_get_buffer
Функции PDF


Get PDF output buffer

PDF_get_apiname
PDF_get_errmsg
Функции PDF
PHP Manual

PDF_get_buffer

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_buffer — Get PDF output buffer

Описание

string PDF_get_buffer ( resource $p )

Fetches the buffer containing the generated PDF data.

PDF_get_apiname
PDF_get_errmsg
Функции PDF


Возвращает текст ошибки

PDF_get_buffer
PDF_get_errnum
Функции PDF
PHP Manual

PDF_get_errmsg

(PECL pdflib >= 2.0.0)

PDF_get_errmsg — Возвращает текст ошибки

Описание

string PDF_get_errmsg ( resource $pdfdoc )

Возвращает текст последнего брошенного исключения или причины неудачи при вызове функции.

PDF_get_buffer
PDF_get_errnum
Функции PDF


Возвращает код ошибки

PDF_get_errmsg
PDF_get_font
Функции PDF
PHP Manual

PDF_get_errnum

(PECL pdflib >= 2.0.0)

PDF_get_errnum — Возвращает код ошибки

Описание

int PDF_get_errnum ( resource $pdfdoc )

Возвращает номер последнего брошенного исключения или причины неудачи при вызове функции.

PDF_get_errmsg
PDF_get_font
Функции PDF


Возвращает шрифт [устаревшее]

PDF_get_errnum
PDF_get_fontname
Функции PDF
PHP Manual

PDF_get_font

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_font — Возвращает шрифт [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте функцию PDF_get_value() с параметром font.

PDF_get_errnum
PDF_get_fontname
Функции PDF


Возвращает название шрифта [устаревшее]

PDF_get_font
PDF_get_fontsize
Функции PDF
PHP Manual

PDF_get_fontname

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontname — Возвращает название шрифта [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте функцию PDF_get_parameter() с параметром fontname.

PDF_get_font
PDF_get_fontsize
Функции PDF


Font handling [deprecated]

PDF_get_fontname
PDF_get_image_height
Функции PDF
PHP Manual

PDF_get_fontsize

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontsize — Font handling [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter fontsizeinstead.

PDF_get_fontname
PDF_get_image_height
Функции PDF


Возвращает высоту изображения [устаревшее]

PDF_get_fontsize
PDF_get_image_width
Функции PDF
PHP Manual

PDF_get_image_height

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_height — Возвращает высоту изображения [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте функцию PDF_get_value() с параметром imageheight.

PDF_get_fontsize
PDF_get_image_width
Функции PDF


Возвращает ширину изображения [устаревшее]

PDF_get_image_height
PDF_get_majorversion
Функции PDF
PHP Manual

PDF_get_image_width

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_width — Возвращает ширину изображения [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте функцию PDF_get_value() с параметром imagewidth.

PDF_get_image_height
PDF_get_majorversion
Функции PDF


Get major version number [deprecated]

PDF_get_image_width
PDF_get_minorversion
Функции PDF
PHP Manual

PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_majorversion — Get major version number [deprecated]

Описание

int PDF_get_majorversion ( void )

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter major instead.

PDF_get_image_width
PDF_get_minorversion
Функции PDF


Get minor version number [deprecated]

PDF_get_majorversion
PDF_get_parameter
Функции PDF
PHP Manual

PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_minorversion — Get minor version number [deprecated]

Описание

int PDF_get_minorversion ( void )

Returns the minor version number of the PDFlib version.

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter minor instead.

PDF_get_majorversion
PDF_get_parameter
Функции PDF


Get string parameter

PDF_get_minorversion
PDF_get_pdi_parameter
Функции PDF
PHP Manual

PDF_get_parameter

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_parameter — Get string parameter

Описание

string PDF_get_parameter ( resource $p , string $key , float $modifier )

Gets the contents of some PDFlib parameter with string type.

PDF_get_minorversion
PDF_get_pdi_parameter
Функции PDF


Get PDI string parameter [deprecated]

PDF_get_parameter
PDF_get_pdi_value
Функции PDF
PHP Manual

PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_parameter — Get PDI string parameter [deprecated]

Описание

string PDF_get_pdi_parameter ( resource $p , string $key , int $doc , int $page , int $reserved )

Gets the contents of a PDI document parameter with string type.

This function is deprecated since PDFlib version 7, use PDF_pcos_get_string() instead.

PDF_get_parameter
PDF_get_pdi_value
Функции PDF


Get PDI numerical parameter [deprecated]

PDF_get_pdi_parameter
PDF_get_value
Функции PDF
PHP Manual

PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_value — Get PDI numerical parameter [deprecated]

Описание

float PDF_get_pdi_value ( resource $p , string $key , int $doc , int $page , int $reserved )

Gets the contents of a PDI document parameter with numerical type.

This function is deprecated since PDFlib version 7, use PDF_pcos_get_number() instead.

PDF_get_pdi_parameter
PDF_get_value
Функции PDF


Get numerical parameter

PDF_get_pdi_value
PDF_info_font
Функции PDF
PHP Manual

PDF_get_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_value — Get numerical parameter

Описание

float PDF_get_value ( resource $p , string $key , float $modifier )

Gets the value of some PDFlib parameter with numerical type.

PDF_get_pdi_value
PDF_info_font
Функции PDF


Query detailed information about a loaded font

PDF_get_value
PDF_info_matchbox
Функции PDF
PHP Manual

PDF_info_font

(PECL pdflib >= 2.1.0)

PDF_info_font — Query detailed information about a loaded font

Описание

float PDF_info_font ( resource $pdfdoc , int $font , string $keyword , string $optlist )

Queries detailed information about a loaded font.

PDF_get_value
PDF_info_matchbox
Функции PDF


Query matchbox information

PDF_info_font
PDF_info_table
Функции PDF
PHP Manual

PDF_info_matchbox

(PECL pdflib >= 2.1.0)

PDF_info_matchbox — Query matchbox information

Описание

float PDF_info_matchbox ( resource $pdfdoc , string $boxname , int $num , string $keyword )

Queries information about a matchbox on the current page.

PDF_info_font
PDF_info_table
Функции PDF


Retrieve table information

PDF_info_matchbox
PDF_info_textflow
Функции PDF
PHP Manual

PDF_info_table

(PECL pdflib >= 2.1.0)

PDF_info_table — Retrieve table information

Описание

float PDF_info_table ( resource $pdfdoc , int $table , string $keyword )

Retrieves table information related to the most recently placed table instance.

PDF_info_matchbox
PDF_info_textflow
Функции PDF


Query textflow state

PDF_info_table
PDF_info_textline
Функции PDF
PHP Manual

PDF_info_textflow

(PECL pdflib >= 2.0.0)

PDF_info_textflow — Query textflow state

Описание

float PDF_info_textflow ( resource $pdfdoc , int $textflow , string $keyword )

Queries the current state of a textflow.

PDF_info_table
PDF_info_textline
Функции PDF


Perform textline formatting and query metrics

PDF_info_textflow
PDF_initgraphics
Функции PDF
PHP Manual

PDF_info_textline

(PECL pdflib >= 2.1.0)

PDF_info_textline — Perform textline formatting and query metrics

Описание

float PDF_info_textline ( resource $pdfdoc , string $text , string $keyword , string $optlist )

Performs textline formatting and queries the resulting metrics.

PDF_info_textflow
PDF_initgraphics
Функции PDF


Reset graphic state

PDF_info_textline
PDF_lineto
Функции PDF
PHP Manual

PDF_initgraphics

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_initgraphics — Reset graphic state

Описание

bool PDF_initgraphics ( resource $p )

Reset all color and graphics state parameters to their defaults. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_info_textline
PDF_lineto
Функции PDF


Draw a line

PDF_initgraphics
PDF_load_3ddata
Функции PDF
PHP Manual

PDF_lineto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_lineto — Draw a line

Описание

bool PDF_lineto ( resource $p , float $x , float $y )

Draws a line from the current point to another point. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_initgraphics
PDF_load_3ddata
Функции PDF


Load 3D model

PDF_lineto
PDF_load_font
Функции PDF
PHP Manual

PDF_load_3ddata

(PECL pdflib >= 2.1.0)

PDF_load_3ddata — Load 3D model

Описание

int PDF_load_3ddata ( resource $pdfdoc , string $filename , string $optlist )

Loads a 3D model from a disk-based or virtual file.

This function requires PDF 1.6.

PDF_lineto
PDF_load_font
Функции PDF


Search and prepare font

PDF_load_3ddata
PDF_load_iccprofile
Функции PDF
PHP Manual

PDF_load_font

(PECL pdflib >= 2.0.0)

PDF_load_font — Search and prepare font

Описание

int PDF_load_font ( resource $pdfdoc , string $fontname , string $encoding , string $optlist )

Searches for a font and prepares it for later use.

PDF_load_3ddata
PDF_load_iccprofile
Функции PDF


Search and prepare ICC profile

PDF_load_font
PDF_load_image
Функции PDF
PHP Manual

PDF_load_iccprofile

(PECL pdflib >= 2.0.0)

PDF_load_iccprofile — Search and prepare ICC profile

Описание

int PDF_load_iccprofile ( resource $pdfdoc , string $profilename , string $optlist )

Searches for an ICC profile, and prepares it for later use.

PDF_load_font
PDF_load_image
Функции PDF


Open image file

PDF_load_iccprofile
PDF_makespotcolor
Функции PDF
PHP Manual

PDF_load_image

(PECL pdflib >= 2.0.0)

PDF_load_image — Open image file

Описание

int PDF_load_image ( resource $pdfdoc , string $imagetype , string $filename , string $optlist )

Opens a disk-based or virtual image file subject to various options.

PDF_load_iccprofile
PDF_makespotcolor
Функции PDF


Make spot color

PDF_load_image
PDF_moveto
Функции PDF
PHP Manual

PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_makespotcolor — Make spot color

Описание

int PDF_makespotcolor ( resource $p , string $spotname )

Finds a built-in spot color name, or makes a named spot color from the current fill color. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_load_image
PDF_moveto
Функции PDF


Set current point

PDF_makespotcolor
PDF_new
Функции PDF
PHP Manual

PDF_moveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_moveto — Set current point

Описание

bool PDF_moveto ( resource $p , float $x , float $y )

Sets the current point for graphics output. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_makespotcolor
PDF_new
Функции PDF


Создает объект PDFlib

PDF_moveto
PDF_open_ccitt
Функции PDF
PHP Manual

PDF_new

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_new — Создает объект PDFlib

Описание

resource PDF_new ( void )

Создает новый объект PDFlib с настройками по умолчанию.

PDF_moveto
PDF_open_ccitt
Функции PDF


Open raw CCITT image [deprecated]

PDF_new
PDF_open_file
Функции PDF
PHP Manual

PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_ccitt — Open raw CCITT image [deprecated]

Описание

int PDF_open_ccitt ( resource $pdfdoc , string $filename , int $width , int $height , int $BitReverse , int $k , int $Blackls1 )

Opens a raw CCITT image.

This function is deprecated since PDFlib version 5, use PDF_load_image() instead.

PDF_new
PDF_open_file
Функции PDF


Создает PDF-файл [устаревшее]

PDF_open_ccitt
PDF_open_gif
Функции PDF
PHP Manual

PDF_open_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_file — Создает PDF-файл [устаревшее]

Описание

bool PDF_open_file ( resource $p , string $filename )

Создает новый PDF-файл с использованием предоставленного имени файла. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Эта функция устарела начиная с 6-ой версии PDFlib, вместо нее используйте PDF_begin_document().

PDF_open_ccitt
PDF_open_gif
Функции PDF


Открывает GIF-изображение [устаревшее]

PDF_open_file
PDF_open_image_file
Функции PDF
PHP Manual

PDF_open_gif

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_gif — Открывает GIF-изображение [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте PDF_load_image().

PDF_open_file
PDF_open_image_file
Функции PDF


Read image from file [deprecated]

PDF_open_gif
PDF_open_image
Функции PDF
PHP Manual

PDF_open_image_file

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_image_file — Read image from file [deprecated]

Описание

int PDF_open_image_file ( resource $p , string $imagetype , string $filename , string $stringparam , int $intparam )

Opens an image file.

This function is deprecated since PDFlib version 5, use PDF_load_image() with the colorize, ignoremask, invert, mask, masked, and page options instead.

PDF_open_gif
PDF_open_image
Функции PDF


Use image data [deprecated]

PDF_open_image_file
PDF_open_jpeg
Функции PDF
PHP Manual

PDF_open_image

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_image — Use image data [deprecated]

Описание

int PDF_open_image ( resource $p , string $imagetype , string $source , string $data , int $length , int $width , int $height , int $components , int $bpc , string $params )

Uses image data from a variety of data sources.

This function is deprecated since PDFlib version 5, use virtual files and PDF_load_image() instead.

PDF_open_image_file
PDF_open_jpeg
Функции PDF


Открывает JPEG-изображение [устаревшее]

PDF_open_image
PDF_open_memory_image
Функции PDF
PHP Manual

PDF_open_jpeg

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_jpeg — Открывает JPEG-изображение [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте PDF_load_image().

PDF_open_image
PDF_open_memory_image
Функции PDF


Open image created with PHP's image functions [not supported]

PDF_open_jpeg
PDF_open_pdi_document
Функции PDF
PHP Manual

PDF_open_memory_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_memory_image — Open image created with PHP's image functions [not supported]

Описание

int PDF_open_memory_image ( resource $p , resource $image )

This function is not supported by PDFlib GmbH.

PDF_open_jpeg
PDF_open_pdi_document
Функции PDF


Prepare a pdi document

PDF_open_memory_image
PDF_open_pdi_page
Функции PDF
PHP Manual

PDF_open_pdi_document

(PECL pdflib >= 2.1.0)

PDF_open_pdi_document — Prepare a pdi document

Описание

int PDF_open_pdi_document ( resource $p , string $filename , string $optlist )

Open a disk-based or virtual PDF document and prepare it for later use.

PDF_open_memory_image
PDF_open_pdi_page
Функции PDF


Prepare a page

PDF_open_pdi_document
PDF_open_pdi
Функции PDF
PHP Manual

PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi_page — Prepare a page

Описание

int PDF_open_pdi_page ( resource $p , int $doc , int $pagenumber , string $optlist )

Prepares a page for later use with PDF_fit_pdi_page().

PDF_open_pdi_document
PDF_open_pdi
Функции PDF


Open PDF file [deprecated]

PDF_open_pdi_page
PDF_open_tiff
Функции PDF
PHP Manual

PDF_open_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi — Open PDF file [deprecated]

Описание

int PDF_open_pdi ( resource $pdfdoc , string $filename , string $optlist , int $len )

Opens a disk-based or virtual PDF document and prepares it for later use.

This function is deprecated since PDFlib version 7, use PDF_open_pdi_document() instead.

PDF_open_pdi_page
PDF_open_tiff
Функции PDF


Открывает TIFF-изображение [устаревшее]

PDF_open_pdi
PDF_pcos_get_number
Функции PDF
PHP Manual

PDF_open_tiff

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_tiff — Открывает TIFF-изображение [устаревшее]

Описание

Эта функция устарела начиная с 3-ей версии PDFlib, вместо нее используйте PDF_load_image().

PDF_open_pdi
PDF_pcos_get_number
Функции PDF


Get value of pCOS path with type number or boolean

PDF_open_tiff
PDF_pcos_get_stream
Функции PDF
PHP Manual

PDF_pcos_get_number

(PECL pdflib >= 2.1.0)

PDF_pcos_get_number — Get value of pCOS path with type number or boolean

Описание

float PDF_pcos_get_number ( resource $p , int $doc , string $path )

Gets the value of a pCOS path with type number or boolean.

PDF_open_tiff
PDF_pcos_get_stream
Функции PDF


Get contents of pCOS path with type stream, fstream, or string

PDF_pcos_get_number
PDF_pcos_get_string
Функции PDF
PHP Manual

PDF_pcos_get_stream

(PECL pdflib >= 2.1.0)

PDF_pcos_get_stream — Get contents of pCOS path with type stream, fstream, or string

Описание

string PDF_pcos_get_stream ( resource $p , int $doc , string $optlist , string $path )

Gets the contents of a pCOS path with type stream, fstream, or string.

PDF_pcos_get_number
PDF_pcos_get_string
Функции PDF


Get value of pCOS path with type name, string, or boolean

PDF_pcos_get_stream
PDF_place_image
Функции PDF
PHP Manual

PDF_pcos_get_string

(PECL pdflib >= 2.1.0)

PDF_pcos_get_string — Get value of pCOS path with type name, string, or boolean

Описание

string PDF_pcos_get_string ( resource $p , int $doc , string $path )

Gets the value of a pCOS path with type name, string, or boolean.

PDF_pcos_get_stream
PDF_place_image
Функции PDF


Place image on the page [deprecated]

PDF_pcos_get_string
PDF_place_pdi_page
Функции PDF
PHP Manual

PDF_place_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_place_image — Place image on the page [deprecated]

Описание

bool PDF_place_image ( resource $pdfdoc , int $image , float $x , float $y , float $scale )

Places an image and scales it. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 5, use PDF_fit_image() instead.

PDF_pcos_get_string
PDF_place_pdi_page
Функции PDF


Place PDF page [deprecated]

PDF_place_image
PDF_process_pdi
Функции PDF
PHP Manual

PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0)

PDF_place_pdi_page — Place PDF page [deprecated]

Описание

bool PDF_place_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , float $sx , float $sy )

Places a PDF page and scales it. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 5, use PDF_fit_pdi_page() instead.

PDF_place_image
PDF_process_pdi
Функции PDF


Process imported PDF document

PDF_place_pdi_page
PDF_rect
Функции PDF
PHP Manual

PDF_process_pdi

(PECL pdflib >= 2.0.0)

PDF_process_pdi — Process imported PDF document

Описание

int PDF_process_pdi ( resource $pdfdoc , int $doc , int $page , string $optlist )

Processes certain elements of an imported PDF document.

PDF_place_pdi_page
PDF_rect
Функции PDF


Рисует прямоугольник

PDF_process_pdi
PDF_restore
Функции PDF
PHP Manual

PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rect — Рисует прямоугольник

Описание

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

Рисует прямоугольник. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_process_pdi
PDF_restore
Функции PDF


Restore graphics state

PDF_rect
PDF_resume_page
Функции PDF
PHP Manual

PDF_restore

(PHP 4, PECL pdflib >= 1.0.0)

PDF_restore — Restore graphics state

Описание

bool PDF_restore ( resource $p )

Restores the most recently saved graphics state. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_rect
PDF_resume_page
Функции PDF


Resume page

PDF_restore
PDF_rotate
Функции PDF
PHP Manual

PDF_resume_page

(PECL pdflib >= 2.0.0)

PDF_resume_page — Resume page

Описание

bool PDF_resume_page ( resource $pdfdoc , string $optlist )

Resumes a page to add more content to it.

PDF_restore
PDF_rotate
Функции PDF


Поворачивает систему координат

PDF_resume_page
PDF_save
Функции PDF
PHP Manual

PDF_rotate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rotate — Поворачивает систему координат

Описание

bool PDF_rotate ( resource $p , float $phi )

Поворачивает систему координат. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_resume_page
PDF_save
Функции PDF


Save graphics state

PDF_rotate
PDF_scale
Функции PDF
PHP Manual

PDF_save

(PHP 4, PECL pdflib >= 1.0.0)

PDF_save — Save graphics state

Описание

bool PDF_save ( resource $p )

Saves the current graphics state. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_rotate
PDF_scale
Функции PDF


Масштабирует систему координат

PDF_save
PDF_set_border_color
Функции PDF
PHP Manual

PDF_scale

(PHP 4, PECL pdflib >= 1.0.0)

PDF_scale — Масштабирует систему координат

Описание

bool PDF_scale ( resource $p , float $sx , float $sy )

Масштабирует систему координат. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_save
PDF_set_border_color
Функции PDF


Set border color of annotations [deprecated]

PDF_scale
PDF_set_border_dash
Функции PDF
PHP Manual

PDF_set_border_color

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_color — Set border color of annotations [deprecated]

Описание

bool PDF_set_border_color ( resource $p , float $red , float $green , float $blue )

Sets the border color for all kinds of annotations. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use the option annotcolor in PDF_create_annotation() instead.

PDF_scale
PDF_set_border_dash
Функции PDF


Set border dash style of annotations [deprecated]

PDF_set_border_color
PDF_set_border_style
Функции PDF
PHP Manual

PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_border_dash — Set border dash style of annotations [deprecated]

Описание

bool PDF_set_border_dash ( resource $pdfdoc , float $black , float $white )

Sets the border dash style for all kinds of annotations. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use the option dasharray in PDF_create_annotation() instead.

PDF_set_border_color
PDF_set_border_style
Функции PDF


Set border style of annotations [deprecated]

PDF_set_border_dash
PDF_set_char_spacing
Функции PDF
PHP Manual

PDF_set_border_style

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_style — Set border style of annotations [deprecated]

Описание

bool PDF_set_border_style ( resource $pdfdoc , string $style , float $width )

Sets the border style for all kinds of annotations. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use the options borderstyle and linewidth in PDF_create_annotation() instead.

PDF_set_border_dash
PDF_set_char_spacing
Функции PDF


Set character spacing [deprecated]

PDF_set_border_style
PDF_set_duration
Функции PDF
PHP Manual

PDF_set_char_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_char_spacing — Set character spacing [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with parameter charspacing instead.

PDF_set_border_style
PDF_set_duration
Функции PDF


Set duration between pages [deprecated]

PDF_set_char_spacing
PDF_set_gstate
Функции PDF
PHP Manual

PDF_set_duration

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_duration — Set duration between pages [deprecated]

Описание

This function is deprecated since PDFlib version 3, use the duration option in PDF_begin_page_ext() or PDF_end_page_ext() instead.

PDF_set_char_spacing
PDF_set_gstate
Функции PDF


Activate graphics state object

PDF_set_duration
PDF_set_horiz_scaling
Функции PDF
PHP Manual

PDF_set_gstate

(PECL pdflib >= 2.0.0)

PDF_set_gstate — Activate graphics state object

Описание

bool PDF_set_gstate ( resource $pdfdoc , int $gstate )

Activates a graphics state object.

PDF_set_duration
PDF_set_horiz_scaling
Функции PDF


Set horizontal text scaling [deprecated]

PDF_set_gstate
PDF_set_info_author
Функции PDF
PHP Manual

PDF_set_horiz_scaling

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_horiz_scaling — Set horizontal text scaling [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with parameter horizscaling instead.

PDF_set_gstate
PDF_set_info_author
Функции PDF


Fill the author document info field [deprecated]

PDF_set_horiz_scaling
PDF_set_info_creator
Функции PDF
PHP Manual

PDF_set_info_author

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_author — Fill the author document info field [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

PDF_set_horiz_scaling
PDF_set_info_creator
Функции PDF


Fill the creator document info field [deprecated]

PDF_set_info_author
PDF_set_info_keywords
Функции PDF
PHP Manual

PDF_set_info_creator

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_creator — Fill the creator document info field [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

PDF_set_info_author
PDF_set_info_keywords
Функции PDF


Fill the keywords document info field [deprecated]

PDF_set_info_creator
PDF_set_info_subject
Функции PDF
PHP Manual

PDF_set_info_keywords

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_keywords — Fill the keywords document info field [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

PDF_set_info_creator
PDF_set_info_subject
Функции PDF


Fill the subject document info field [deprecated]

PDF_set_info_keywords
PDF_set_info_title
Функции PDF
PHP Manual

PDF_set_info_subject

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_subject — Fill the subject document info field [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

PDF_set_info_keywords
PDF_set_info_title
Функции PDF


Fill the title document info field [deprecated]

PDF_set_info_subject
PDF_set_info
Функции PDF
PHP Manual

PDF_set_info_title

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_title — Fill the title document info field [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

PDF_set_info_subject
PDF_set_info
Функции PDF


Fill document info field

PDF_set_info_title
PDF_set_layer_dependency
Функции PDF
PHP Manual

PDF_set_info

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_info — Fill document info field

Описание

bool PDF_set_info ( resource $p , string $key , string $value )

Fill document information field key with value. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_set_info_title
PDF_set_layer_dependency
Функции PDF


Define relationships among layers

PDF_set_info
PDF_set_leading
Функции PDF
PHP Manual

PDF_set_layer_dependency

(PECL pdflib >= 2.0.0)

PDF_set_layer_dependency — Define relationships among layers

Описание

bool PDF_set_layer_dependency ( resource $pdfdoc , string $type , string $optlist )

Defines hierarchical and group relationships among layers. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function requires PDF 1.5.

PDF_set_info
PDF_set_leading
Функции PDF


Set distance between text lines [deprecated]

PDF_set_layer_dependency
PDF_set_parameter
Функции PDF
PHP Manual

PDF_set_leading

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_leading — Set distance between text lines [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with the parameter leading instead.

PDF_set_layer_dependency
PDF_set_parameter
Функции PDF


Set string parameter

PDF_set_leading
PDF_set_text_matrix
Функции PDF
PHP Manual

PDF_set_parameter

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_parameter — Set string parameter

Описание

bool PDF_set_parameter ( resource $p , string $key , string $value )

Sets some PDFlib parameter with string type. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_set_leading
PDF_set_text_matrix
Функции PDF


Set text matrix [deprecated]

PDF_set_parameter
PDF_set_text_pos
Функции PDF
PHP Manual

PDF_set_text_matrix

(PHP 4 <= 4.0.4)

PDF_set_text_matrix — Set text matrix [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_scale(), PDF_translate(), PDF_rotate(), or PDF_skew() instead.

PDF_set_parameter
PDF_set_text_pos
Функции PDF


Устанавливает позицию текста

PDF_set_text_matrix
PDF_set_text_rendering
Функции PDF
PHP Manual

PDF_set_text_pos

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_pos — Устанавливает позицию текста

Описание

bool PDF_set_text_pos ( resource $p , float $x , float $y )

Устанавливает позицию вывода текста на страницу. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_set_text_matrix
PDF_set_text_rendering
Функции PDF


Determine text rendering [deprecated]

PDF_set_text_pos
PDF_set_text_rise
Функции PDF
PHP Manual

PDF_set_text_rendering

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rendering — Determine text rendering [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with the textrendering parameter instead.

PDF_set_text_pos
PDF_set_text_rise
Функции PDF


Set text rise [deprecated]

PDF_set_text_rendering
PDF_set_value
Функции PDF
PHP Manual

PDF_set_text_rise

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rise — Set text rise [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with the textrise parameter instead.

PDF_set_text_rendering
PDF_set_value
Функции PDF


Set numerical parameter

PDF_set_text_rise
PDF_set_word_spacing
Функции PDF
PHP Manual

PDF_set_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_value — Set numerical parameter

Описание

bool PDF_set_value ( resource $p , string $key , float $value )

Sets the value of some PDFlib parameter with numerical type. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_set_text_rise
PDF_set_word_spacing
Функции PDF


Set spacing between words [deprecated]

PDF_set_value
PDF_setcolor
Функции PDF
PHP Manual

PDF_set_word_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_word_spacing — Set spacing between words [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_set_value() with the wordspacing parameter instead.

PDF_set_value
PDF_setcolor
Функции PDF


Set fill and stroke color

PDF_set_word_spacing
PDF_setdash
Функции PDF
PHP Manual

PDF_setcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setcolor — Set fill and stroke color

Описание

bool PDF_setcolor ( resource $p , string $fstype , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Sets the current color space and color. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_set_word_spacing
PDF_setdash
Функции PDF


Set simple dash pattern

PDF_setcolor
PDF_setdashpattern
Функции PDF
PHP Manual

PDF_setdash

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setdash — Set simple dash pattern

Описание

bool PDF_setdash ( resource $pdfdoc , float $b , float $w )

Sets the current dash pattern to b black and w white units. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setcolor
PDF_setdashpattern
Функции PDF


Set dash pattern

PDF_setdash
PDF_setflat
Функции PDF
PHP Manual

PDF_setdashpattern

(PECL pdflib >= 2.0.0)

PDF_setdashpattern — Set dash pattern

Описание

bool PDF_setdashpattern ( resource $pdfdoc , string $optlist )

Sets a dash pattern defined by an option list. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setdash
PDF_setflat
Функции PDF


Set flatness

PDF_setdashpattern
PDF_setfont
Функции PDF
PHP Manual

PDF_setflat

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setflat — Set flatness

Описание

bool PDF_setflat ( resource $pdfdoc , float $flatness )

Sets the flatness parameter. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setdashpattern
PDF_setfont
Функции PDF


Set font

PDF_setflat
PDF_setgray_fill
Функции PDF
PHP Manual

PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setfont — Set font

Описание

bool PDF_setfont ( resource $pdfdoc , int $font , float $fontsize )

Sets the current font in the specified size, using a font handle returned by PDF_load_font(). Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setflat
PDF_setgray_fill
Функции PDF


Set fill color to gray [deprecated]

PDF_setfont
PDF_setgray_stroke
Функции PDF
PHP Manual

PDF_setgray_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_fill — Set fill color to gray [deprecated]

Описание

bool PDF_setgray_fill ( resource $p , float $g )

Sets the current fill color to a gray value between 0 and 1 inclusive. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setfont
PDF_setgray_stroke
Функции PDF


Set stroke color to gray [deprecated]

PDF_setgray_fill
PDF_setgray
Функции PDF
PHP Manual

PDF_setgray_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_stroke — Set stroke color to gray [deprecated]

Описание

bool PDF_setgray_stroke ( resource $p , float $g )

Sets the current stroke color to a gray value between 0 and 1 inclusive. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setgray_fill
PDF_setgray
Функции PDF


Set color to gray [deprecated]

PDF_setgray_stroke
PDF_setlinecap
Функции PDF
PHP Manual

PDF_setgray

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray — Set color to gray [deprecated]

Описание

bool PDF_setgray ( resource $p , float $g )

Sets the current fill and stroke color to a gray value between 0 and 1 inclusive. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setgray_stroke
PDF_setlinecap
Функции PDF


Set linecap parameter

PDF_setgray
PDF_setlinejoin
Функции PDF
PHP Manual

PDF_setlinecap

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinecap — Set linecap parameter

Описание

bool PDF_setlinecap ( resource $p , int $linecap )

Sets the linecap parameter to control the shape at the end of a path with respect to stroking.

PDF_setgray
PDF_setlinejoin
Функции PDF


Set linejoin parameter

PDF_setlinecap
PDF_setlinewidth
Функции PDF
PHP Manual

PDF_setlinejoin

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinejoin — Set linejoin parameter

Описание

bool PDF_setlinejoin ( resource $p , int $value )

Sets the linejoin parameter to specify the shape at the corners of paths that are stroked. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setlinecap
PDF_setlinewidth
Функции PDF


Set line width

PDF_setlinejoin
PDF_setmatrix
Функции PDF
PHP Manual

PDF_setlinewidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinewidth — Set line width

Описание

bool PDF_setlinewidth ( resource $p , float $width )

Sets the current line width. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setlinejoin
PDF_setmatrix
Функции PDF


Set current transformation matrix

PDF_setlinewidth
PDF_setmiterlimit
Функции PDF
PHP Manual

PDF_setmatrix

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setmatrix — Set current transformation matrix

Описание

bool PDF_setmatrix ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Explicitly sets the current transformation matrix. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setlinewidth
PDF_setmiterlimit
Функции PDF


Set miter limit

PDF_setmatrix
PDF_setpolydash
Функции PDF
PHP Manual

PDF_setmiterlimit

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setmiterlimit — Set miter limit

Описание

bool PDF_setmiterlimit ( resource $pdfdoc , float $miter )

Sets the miter limit.Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_setmatrix
PDF_setpolydash
Функции PDF


Set complicated dash pattern [deprecated]

PDF_setmiterlimit
PDF_setrgbcolor_fill
Функции PDF
PHP Manual

PDF_setpolydash

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setpolydash — Set complicated dash pattern [deprecated]

Описание

This function is deprecated since PDFlib version 5, use PDF_setdashpattern() instead.

PDF_setmiterlimit
PDF_setrgbcolor_fill
Функции PDF


Set fill rgb color values [deprecated]

PDF_setpolydash
PDF_setrgbcolor_stroke
Функции PDF
PHP Manual

PDF_setrgbcolor_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_fill — Set fill rgb color values [deprecated]

Описание

bool PDF_setrgbcolor_fill ( resource $p , float $red , float $green , float $blue )

Sets the current fill color to the supplied RGB values. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setpolydash
PDF_setrgbcolor_stroke
Функции PDF


Set stroke rgb color values [deprecated]

PDF_setrgbcolor_fill
PDF_setrgbcolor
Функции PDF
PHP Manual

PDF_setrgbcolor_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_stroke — Set stroke rgb color values [deprecated]

Описание

bool PDF_setrgbcolor_stroke ( resource $p , float $red , float $green , float $blue )

Sets the current stroke color to the supplied RGB values. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setrgbcolor_fill
PDF_setrgbcolor
Функции PDF


Set fill and stroke rgb color values [deprecated]

PDF_setrgbcolor_stroke
PDF_shading_pattern
Функции PDF
PHP Manual

PDF_setrgbcolor

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor — Set fill and stroke rgb color values [deprecated]

Описание

bool PDF_setrgbcolor ( resource $p , float $red , float $green , float $blue )

Sets the current fill and stroke color to the supplied RGB values. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

PDF_setrgbcolor_stroke
PDF_shading_pattern
Функции PDF


Define shading pattern

PDF_setrgbcolor
PDF_shading
Функции PDF
PHP Manual

PDF_shading_pattern

(PECL pdflib >= 2.0.0)

PDF_shading_pattern — Define shading pattern

Описание

int PDF_shading_pattern ( resource $pdfdoc , int $shading , string $optlist )

Defines a shading pattern using a shading object.

This function requires PDF 1.4 or above.

PDF_setrgbcolor
PDF_shading
Функции PDF


Define blend

PDF_shading_pattern
PDF_shfill
Функции PDF
PHP Manual

PDF_shading

(PECL pdflib >= 2.0.0)

PDF_shading — Define blend

Описание

int PDF_shading ( resource $pdfdoc , string $shtype , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Defines a blend from the current fill color to another color.

This function requires PDF 1.4 or above.

PDF_shading_pattern
PDF_shfill
Функции PDF


Fill area with shading

PDF_shading
PDF_show_boxed
Функции PDF
PHP Manual

PDF_shfill

(PECL pdflib >= 2.0.0)

PDF_shfill — Fill area with shading

Описание

bool PDF_shfill ( resource $pdfdoc , int $shading )

Fills an area with a shading, based on a shading object.

This function requires PDF 1.4 or above.

PDF_shading
PDF_show_boxed
Функции PDF


Output text in a box [deprecated]

PDF_shfill
PDF_show_xy
Функции PDF
PHP Manual

PDF_show_boxed

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_boxed — Output text in a box [deprecated]

Описание

int PDF_show_boxed ( resource $p , string $text , float $left , float $top , float $width , float $height , string $mode , string $feature )

This function is deprecated since PDFlib version 6, use PDF_fit_textline() for single lines, or the PDF_*_textflow() functions for multi-line formatting instead.

PDF_shfill
PDF_show_xy
Функции PDF


Output text at given position

PDF_show_boxed
PDF_show
Функции PDF
PHP Manual

PDF_show_xy

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_xy — Output text at given position

Описание

bool PDF_show_xy ( resource $p , string $text , float $x , float $y )

Prints text in the current font. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_show_boxed
PDF_show
Функции PDF


Output text at current position

PDF_show_xy
PDF_skew
Функции PDF
PHP Manual

PDF_show

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show — Output text at current position

Описание

bool PDF_show ( resource $pdfdoc , string $text )

Prints text in the current font and size at the current position. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_show_xy
PDF_skew
Функции PDF


Skew the coordinate system

PDF_show
PDF_stringwidth
Функции PDF
PHP Manual

PDF_skew

(PHP 4, PECL pdflib >= 1.0.0)

PDF_skew — Skew the coordinate system

Описание

bool PDF_skew ( resource $p , float $alpha , float $beta )

Skews the coordinate system in x and y direction by alpha and beta degrees. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_show
PDF_stringwidth
Функции PDF


Return width of text

PDF_skew
PDF_stroke
Функции PDF
PHP Manual

PDF_stringwidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stringwidth — Return width of text

Описание

float PDF_stringwidth ( resource $p , string $text , int $font , float $fontsize )

Returns the width of text in an arbitrary font.

PDF_skew
PDF_stroke
Функции PDF


Stroke path

PDF_stringwidth
PDF_suspend_page
Функции PDF
PHP Manual

PDF_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stroke — Stroke path

Описание

bool PDF_stroke ( resource $p )

Strokes the path with the current color and line width, and clear it. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDF_stringwidth
PDF_suspend_page
Функции PDF


Suspend page

PDF_stroke
PDF_translate
Функции PDF
PHP Manual

PDF_suspend_page

(PECL pdflib >= 2.0.0)

PDF_suspend_page — Suspend page

Описание

bool PDF_suspend_page ( resource $pdfdoc , string $optlist )

Suspends the current page so that it can later be resumed with PDF_resume_page().

PDF_stroke
PDF_translate
Функции PDF


Set origin of coordinate system

PDF_suspend_page
PDF_utf16_to_utf8
Функции PDF
PHP Manual

PDF_translate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_translate — Set origin of coordinate system

Описание

bool PDF_translate ( resource $p , float $tx , float $ty )

Translates the origin of the coordinate system.

PDF_suspend_page
PDF_utf16_to_utf8
Функции PDF


Конвертирует строку из UTF-16 в UTF-8

PDF_translate
PDF_utf32_to_utf16
Функции PDF
PHP Manual

PDF_utf16_to_utf8

(PECL pdflib >= 2.0.3)

PDF_utf16_to_utf8 — Конвертирует строку из UTF-16 в UTF-8

Описание

string PDF_utf16_to_utf8 ( resource $pdfdoc , string $utf16string )

Конвертирует строку из формата UTF-16 в формат UTF-8.

PDF_translate
PDF_utf32_to_utf16
Функции PDF


Конвертирует строку из UTF-32 в UTF-16

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Функции PDF
PHP Manual

PDF_utf32_to_utf16

(PECL pdflib >= Unknown future)

PDF_utf32_to_utf16 — Конвертирует строку из UTF-32 в UTF-16

Описание

string PDF_utf32_to_utf16 ( resource $pdfdoc , string $utf32string , string $ordering )

Конвертирует строку из формата UTF-32 в формат UTF-16.

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Функции PDF


Конвертирует строку из UTF-8 в UTF-16

PDF_utf32_to_utf16
PS
Функции PDF
PHP Manual

PDF_utf8_to_utf16

(PECL pdflib >= 2.0.3)

PDF_utf8_to_utf16 — Конвертирует строку из UTF-8 в UTF-16

Описание

string PDF_utf8_to_utf16 ( resource $pdfdoc , string $utf8string , string $ordering )

Конвертирует строку из формата UTF-8 в формат UTF-16.

PDF_utf32_to_utf16
PS
Функции PDF


PostScript document creation

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • PS Функции
    • ps_add_bookmark — Add bookmark to current page
    • ps_add_launchlink — Adds link which launches file
    • ps_add_locallink — Adds link to a page in the same document
    • ps_add_note — Adds note to current page
    • ps_add_pdflink — Adds link to a page in a second pdf document
    • ps_add_weblink — Adds link to a web location
    • ps_arc — Draws an arc counterclockwise
    • ps_arcn — Draws an arc clockwise
    • ps_begin_page — Start a new page
    • ps_begin_pattern — Start a new pattern
    • ps_begin_template — Start a new template
    • ps_circle — Draws a circle
    • ps_clip — Clips drawing to current path
    • ps_close_image — Closes image and frees memory
    • ps_close — Closes a PostScript document
    • ps_closepath_stroke — Closes and strokes path
    • ps_closepath — Closes path
    • ps_continue_text — Continue text in next line
    • ps_curveto — Draws a curve
    • ps_delete — Deletes all resources of a PostScript document
    • ps_end_page — End a page
    • ps_end_pattern — End a pattern
    • ps_end_template — End a template
    • ps_fill_stroke — Fills and strokes the current path
    • ps_fill — Fills the current path
    • ps_findfont — Loads a font
    • ps_get_buffer — Fetches the full buffer containig the generated PS data
    • ps_get_parameter — Gets certain parameters
    • ps_get_value — Gets certain values
    • ps_hyphenate — Hyphenates a word
    • ps_include_file — Reads an external file with raw PostScript code
    • ps_lineto — Draws a line
    • ps_makespotcolor — Create spot color
    • ps_moveto — Sets current point
    • ps_new — Creates a new PostScript document object
    • ps_open_file — Opens a file for output
    • ps_open_image_file — Opens image from file
    • ps_open_image — Reads an image for later placement
    • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
    • ps_place_image — Places image on the page
    • ps_rect — Draws a rectangle
    • ps_restore — Restore previously save context
    • ps_rotate — Sets rotation factor
    • ps_save — Save current context
    • ps_scale — Sets scaling factor
    • ps_set_border_color — Sets color of border for annotations
    • ps_set_border_dash — Sets length of dashes for border of annotations
    • ps_set_border_style — Sets border style of annotations
    • ps_set_info — Sets information fields of document
    • ps_set_parameter — Sets certain parameters
    • ps_set_text_pos — Sets position for text output
    • ps_set_value — Sets certain values
    • ps_setcolor — Sets current color
    • ps_setdash — Sets appearance of a dashed line
    • ps_setflat — Sets flatness
    • ps_setfont — Sets font to use for following output
    • ps_setgray — Sets gray value
    • ps_setlinecap — Sets appearance of line ends
    • ps_setlinejoin — Sets how contected lines are joined
    • ps_setlinewidth — Sets width of a line
    • ps_setmiterlimit — Sets the miter limit
    • ps_setoverprintmode — Sets overprint mode
    • ps_setpolydash — Sets appearance of a dashed line
    • ps_shading_pattern — Creates a pattern based on a shading
    • ps_shading — Creates a shading for later use
    • ps_shfill — Fills an area with a shading
    • ps_show_boxed — Output text in a box
    • ps_show_xy2 — Output text at position
    • ps_show_xy — Output text at given position
    • ps_show2 — Output a text at current position
    • ps_show — Output text
    • ps_string_geometry — Gets geometry of a string
    • ps_stringwidth — Gets width of a string
    • ps_stroke — Draws the current path
    • ps_symbol_name — Gets name of a glyph
    • ps_symbol_width — Gets width of a glyph
    • ps_symbol — Output a glyph
    • ps_translate — Sets translation
PDF_utf8_to_utf16
Введение
Генерация нетекстовых MIME форматов


Введение

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.

PS
Установка и настройка
PS


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PS


Требования

You need at least PHP 4.3.0 and pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ps.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

This extension defines a PostScript document resource returned by ps_new().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following two tables lists all constants defined by the ps extension.

Contants for line caps
Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Contants for line joins
Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Типы ресурсов
PS Функции
PS


PS Функции

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

Содержание

  • ps_add_bookmark — Add bookmark to current page
  • ps_add_launchlink — Adds link which launches file
  • ps_add_locallink — Adds link to a page in the same document
  • ps_add_note — Adds note to current page
  • ps_add_pdflink — Adds link to a page in a second pdf document
  • ps_add_weblink — Adds link to a web location
  • ps_arc — Draws an arc counterclockwise
  • ps_arcn — Draws an arc clockwise
  • ps_begin_page — Start a new page
  • ps_begin_pattern — Start a new pattern
  • ps_begin_template — Start a new template
  • ps_circle — Draws a circle
  • ps_clip — Clips drawing to current path
  • ps_close_image — Closes image and frees memory
  • ps_close — Closes a PostScript document
  • ps_closepath_stroke — Closes and strokes path
  • ps_closepath — Closes path
  • ps_continue_text — Continue text in next line
  • ps_curveto — Draws a curve
  • ps_delete — Deletes all resources of a PostScript document
  • ps_end_page — End a page
  • ps_end_pattern — End a pattern
  • ps_end_template — End a template
  • ps_fill_stroke — Fills and strokes the current path
  • ps_fill — Fills the current path
  • ps_findfont — Loads a font
  • ps_get_buffer — Fetches the full buffer containig the generated PS data
  • ps_get_parameter — Gets certain parameters
  • ps_get_value — Gets certain values
  • ps_hyphenate — Hyphenates a word
  • ps_include_file — Reads an external file with raw PostScript code
  • ps_lineto — Draws a line
  • ps_makespotcolor — Create spot color
  • ps_moveto — Sets current point
  • ps_new — Creates a new PostScript document object
  • ps_open_file — Opens a file for output
  • ps_open_image_file — Opens image from file
  • ps_open_image — Reads an image for later placement
  • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
  • ps_place_image — Places image on the page
  • ps_rect — Draws a rectangle
  • ps_restore — Restore previously save context
  • ps_rotate — Sets rotation factor
  • ps_save — Save current context
  • ps_scale — Sets scaling factor
  • ps_set_border_color — Sets color of border for annotations
  • ps_set_border_dash — Sets length of dashes for border of annotations
  • ps_set_border_style — Sets border style of annotations
  • ps_set_info — Sets information fields of document
  • ps_set_parameter — Sets certain parameters
  • ps_set_text_pos — Sets position for text output
  • ps_set_value — Sets certain values
  • ps_setcolor — Sets current color
  • ps_setdash — Sets appearance of a dashed line
  • ps_setflat — Sets flatness
  • ps_setfont — Sets font to use for following output
  • ps_setgray — Sets gray value
  • ps_setlinecap — Sets appearance of line ends
  • ps_setlinejoin — Sets how contected lines are joined
  • ps_setlinewidth — Sets width of a line
  • ps_setmiterlimit — Sets the miter limit
  • ps_setoverprintmode — Sets overprint mode
  • ps_setpolydash — Sets appearance of a dashed line
  • ps_shading_pattern — Creates a pattern based on a shading
  • ps_shading — Creates a shading for later use
  • ps_shfill — Fills an area with a shading
  • ps_show_boxed — Output text in a box
  • ps_show_xy2 — Output text at position
  • ps_show_xy — Output text at given position
  • ps_show2 — Output a text at current position
  • ps_show — Output text
  • ps_string_geometry — Gets geometry of a string
  • ps_stringwidth — Gets width of a string
  • ps_stroke — Draws the current path
  • ps_symbol_name — Gets name of a glyph
  • ps_symbol_width — Gets width of a glyph
  • ps_symbol — Output a glyph
  • ps_translate — Sets translation
Предопределенные константы
ps_add_bookmark
PS


Add bookmark to current page

PS Функции
ps_add_launchlink
PS Функции
PHP Manual

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Add bookmark to current page

Описание

int ps_add_bookmark ( resource $psdoc , string $text [, int $parent = 0 [, int $open = 0 ]] )

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

Возвращаемые значения

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

Смотрите также

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

PS Функции
ps_add_launchlink
PS Функции


Adds link which launches file

ps_add_bookmark
ps_add_locallink
PS Функции
PHP Manual

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Adds link which launches file

Описание

bool ps_add_launchlink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

ps_add_bookmark
ps_add_locallink
PS Функции


Adds link to a page in the same document

ps_add_launchlink
ps_add_note
PS Функции
PHP Manual

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Adds link to a page in the same document

Описание

bool ps_add_locallink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , int $page , string $dest )

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

ps_add_launchlink
ps_add_note
PS Функции


Adds note to current page

ps_add_locallink
ps_add_pdflink
PS Функции
PHP Manual

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Adds note to current page

Описание

bool ps_add_note ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If unfolded, the specified icon is used as a placeholder.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location

ps_add_locallink
ps_add_pdflink
PS Функции


Adds link to a page in a second pdf document

ps_add_note
ps_add_weblink
PS Функции
PHP Manual

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Adds link to a page in a second pdf document

Описание

bool ps_add_pdflink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename , int $page , string $dest )

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location

ps_add_note
ps_add_weblink
PS Функции


Adds link to a web location

ps_add_pdflink
ps_arc
PS Функции
PHP Manual

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Adds link to a web location

Описание

bool ps_add_weblink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $url )

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Примечание не будет отображаться при печати или просмотре документа, но будет показано при конвертировании документа в pdf с помощью Acrobat Distiller™ или Ghostview.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document

ps_add_pdflink
ps_arc
PS Функции


Draws an arc counterclockwise

ps_add_weblink
ps_arcn
PS Функции
PHP Manual

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Draws an arc counterclockwise

Описание

bool ps_arc ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_arcn() - Draws an arc clockwise

ps_add_weblink
ps_arcn
PS Функции


Draws an arc clockwise

ps_arc
ps_begin_page
PS Функции
PHP Manual

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Draws an arc clockwise

Описание

bool ps_arcn ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_arc() - Draws an arc counterclockwise

ps_arc
ps_begin_page
PS Функции


Start a new page

ps_arcn
ps_begin_pattern
PS Функции
PHP Manual

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Start a new page

Описание

bool ps_begin_page ( resource $psdoc , float $width , float $height )

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

Замечание:

Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_end_page() - End a page
  • ps_findfont() - Loads a font
  • ps_set_info() - Sets information fields of document

ps_arcn
ps_begin_pattern
PS Функции


Start a new pattern

ps_begin_page
ps_begin_template
PS Функции
PHP Manual

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Start a new pattern

Описание

int ps_begin_pattern ( resource $psdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

Возвращаемые значения

The identifier of the pattern или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Смотрите также

  • ps_end_pattern() - End a pattern
  • ps_setcolor() - Sets current color
  • ps_shading_pattern() - Creates a pattern based on a shading

ps_begin_page
ps_begin_template
PS Функции


Start a new template

ps_begin_pattern
ps_circle
PS Функции
PHP Manual

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Start a new template

Описание

int ps_begin_template ( resource $psdoc , float $width , float $height )

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Смотрите также

  • ps_end_template() - End a template

ps_begin_pattern
ps_circle
PS Функции


Draws a circle

ps_begin_template
ps_clip
PS Функции
PHP Manual

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Draws a circle

Описание

bool ps_circle ( resource $psdoc , float $x , float $y , float $radius )

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_arc() - Draws an arc counterclockwise
  • ps_arcn() - Draws an arc clockwise

ps_begin_template
ps_clip
PS Функции


Clips drawing to current path

ps_circle
ps_close_image
PS Функции
PHP Manual

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Clips drawing to current path

Описание

bool ps_clip ( resource $psdoc )

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_closepath() - Closes path

ps_circle
ps_close_image
PS Функции


Closes image and frees memory

ps_clip
ps_close
PS Функции
PHP Manual

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Closes image and frees memory

Описание

void ps_close_image ( resource $psdoc , int $imageid )

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

Возвращаемые значения

Returns NULL on success или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file

ps_clip
ps_close
PS Функции


Closes a PostScript document

ps_close_image
ps_closepath_stroke
PS Функции
PHP Manual

ps_close

(PECL ps >= 1.1.0)

ps_close — Closes a PostScript document

Описание

bool ps_close ( resource $psdoc )

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_open_file() - Opens a file for output
  • ps_delete() - Deletes all resources of a PostScript document

ps_close_image
ps_closepath_stroke
PS Функции


Closes and strokes path

ps_close
ps_closepath
PS Функции
PHP Manual

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Closes and strokes path

Описание

bool ps_closepath_stroke ( resource $psdoc )

Connects the last point with first point of a path and draws the resulting closed line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_closepath() - Closes path

ps_close
ps_closepath
PS Функции


Closes path

ps_closepath_stroke
ps_continue_text
PS Функции
PHP Manual

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Closes path

Описание

bool ps_closepath ( resource $psdoc )

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_clip() - Clips drawing to current path
  • ps_closepath_stroke() - Closes and strokes path

ps_closepath_stroke
ps_continue_text
PS Функции


Continue text in next line

ps_closepath
ps_curveto
PS Функции
PHP Manual

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continue text in next line

Описание

bool ps_continue_text ( resource $psdoc , string $text )

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_show() - Output text
  • ps_show_xy() - Output text at given position
  • ps_show_boxed() - Output text in a box

ps_closepath
ps_curveto
PS Функции


Draws a curve

ps_continue_text
ps_delete
PS Функции
PHP Manual

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Draws a curve

Описание

bool ps_curveto ( resource $psdoc , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Add a section of a cubic Bézier curve described by the three given control points to the current path.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_lineto() - Draws a line

ps_continue_text
ps_delete
PS Функции


Deletes all resources of a PostScript document

ps_curveto
ps_end_page
PS Функции
PHP Manual

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Deletes all resources of a PostScript document

Описание

bool ps_delete ( resource $psdoc )

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_close() - Closes a PostScript document

ps_curveto
ps_end_page
PS Функции


End a page

ps_delete
ps_end_pattern
PS Функции
PHP Manual

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — End a page

Описание

bool ps_end_page ( resource $psdoc )

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color..

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_begin_page() - Start a new page

ps_delete
ps_end_pattern
PS Функции


End a pattern

ps_end_page
ps_end_template
PS Функции
PHP Manual

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — End a pattern

Описание

bool ps_end_pattern ( resource $psdoc )

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_begin_pattern() - Start a new pattern

ps_end_page
ps_end_template
PS Функции


End a template

ps_end_pattern
ps_fill_stroke
PS Функции
PHP Manual

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — End a template

Описание

bool ps_end_template ( resource $psdoc )

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_begin_template() - Start a new template

ps_end_pattern
ps_fill_stroke
PS Функции


Fills and strokes the current path

ps_end_template
ps_fill
PS Функции
PHP Manual

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Fills and strokes the current path

Описание

bool ps_fill_stroke ( resource $psdoc )

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_fill() - Fills the current path
  • ps_stroke() - Draws the current path

ps_end_template
ps_fill
PS Функции


Fills the current path

ps_fill_stroke
ps_findfont
PS Функции
PHP Manual

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Fills the current path

Описание

bool ps_fill ( resource $psdoc )

Fills the path constructed with previously called drawing functions like ps_lineto().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_fill_stroke() - Fills and strokes the current path
  • ps_stroke() - Draws the current path

ps_fill_stroke
ps_findfont
PS Функции


Loads a font

ps_fill
ps_get_buffer
PS Функции
PHP Manual

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Loads a font

Описание

int ps_findfont ( resource $psdoc , string $fontname , string $encoding [, bool $embed = false ] )

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be NULL or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Возвращаемые значения

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

Смотрите также

  • ps_begin_page() - Start a new page
  • ps_setfont() - Sets font to use for following output

ps_fill
ps_get_buffer
PS Функции


Fetches the full buffer containig the generated PS data

ps_findfont
ps_get_parameter
PS Функции
PHP Manual

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Fetches the full buffer containig the generated PS data

Описание

string ps_get_buffer ( resource $psdoc )

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Смотрите также

  • ps_open_file() - Opens a file for output

ps_findfont
ps_get_parameter
PS Функции


Gets certain parameters

ps_get_buffer
ps_get_value
PS Функции
PHP Manual

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Gets certain parameters

Описание

string ps_get_parameter ( resource $psdoc , string $name [, float $modifier ] )

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to true the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

Возвращаемые значения

Returns the value of the parameter или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_set_parameter() - Sets certain parameters

ps_get_buffer
ps_get_value
PS Функции


Gets certain values

ps_get_parameter
ps_hyphenate
PS Функции
PHP Manual

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Gets certain values

Описание

float ps_get_value ( resource $psdoc , string $name [, float $modifier ] )

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

Возвращаемые значения

Returns the value of the parameter or FALSE.

Смотрите также

  • ps_set_value() - Sets certain values

ps_get_parameter
ps_hyphenate
PS Функции


Hyphenates a word

ps_get_value
ps_include_file
PS Функции
PHP Manual

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Hyphenates a word

Описание

array ps_hyphenate ( resource $psdoc , string $text )

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

Возвращаемые значения

An array of integers indicating the position of possible breaks in the text или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

Результат выполнения данного примера:

Ko-ordi-na-ten-sys-tem

Смотрите также

  • ps_show_boxed() - Output text in a box
  • locale(1)

ps_get_value
ps_include_file
PS Функции


Reads an external file with raw PostScript code

ps_hyphenate
ps_lineto
PS Функции
PHP Manual

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Reads an external file with raw PostScript code

Описание

bool ps_include_file ( resource $psdoc , string $file )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

file

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_hyphenate
ps_lineto
PS Функции


Draws a line

ps_include_file
ps_makespotcolor
PS Функции
PHP Manual

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Draws a line

Описание

bool ps_lineto ( resource $psdoc , float $x , float $y )

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Смотрите также

  • ps_moveto() - Sets current point

ps_include_file
ps_makespotcolor
PS Функции


Create spot color

ps_lineto
ps_moveto
PS Функции
PHP Manual

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Create spot color

Описание

int ps_makespotcolor ( resource $psdoc , string $name [, int $reserved = 0 ] )

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

Возвращаемые значения

The id of the new spot color or 0 in case of an error.

Примеры

Пример #1 Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

Смотрите также

  • ps_setcolor() - Sets current color

ps_lineto
ps_moveto
PS Функции


Sets current point

ps_makespotcolor
ps_new
PS Функции
PHP Manual

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Sets current point

Описание

bool ps_moveto ( resource $psdoc , float $x , float $y )

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_lineto() - Draws a line

ps_makespotcolor
ps_new
PS Функции


Creates a new PostScript document object

ps_moveto
ps_open_file
PS Функции
PHP Manual

ps_new

(PECL ps >= 1.1.0)

ps_new — Creates a new PostScript document object

Описание

resource ps_new ( void )

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

Возвращаемые значения

Resource of PostScript document или FALSE в случае возникновения ошибки. The return value is passed to all other functions as the first argument.

Смотрите также

  • ps_delete() - Deletes all resources of a PostScript document

ps_moveto
ps_open_file
PS Функции


Opens a file for output

ps_new
ps_open_image_file
PS Функции
PHP Manual

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Opens a file for output

Описание

bool ps_open_file ( resource $psdoc [, string $filename ] )

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_close() - Closes a PostScript document

ps_new
ps_open_image_file
PS Функции


Opens image from file

ps_open_file
ps_open_image
PS Функции
PHP Manual

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Opens image from file

Описание

int ps_open_image_file ( resource $psdoc , string $type , string $filename [, string $stringparam [, int $intparam = 0 ]] )

Loads an image for later use.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

Возвращаемые значения

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Смотрите также

  • ps_open_image() - Reads an image for later placement
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory

ps_open_file
ps_open_image
PS Функции


Reads an image for later placement

ps_open_image_file
ps_open_memory_image
PS Функции
PHP Manual

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Reads an image for later placement

Описание

int ps_open_image ( resource $psdoc , string $type , string $source , string $data , int $lenght , int $width , int $height , int $components , int $bpc , string $params )

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

Возвращаемые значения

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Смотрите также

  • ps_open_image_file() - Opens image from file
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory

ps_open_image_file
ps_open_memory_image
PS Функции


Takes an GD image and returns an image for placement in a PS document

ps_open_image
ps_place_image
PS Функции
PHP Manual

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document

Описание

int ps_open_memory_image ( resource $psdoc , int $gd )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

gd

ps_open_image
ps_place_image
PS Функции


Places image on the page

ps_open_memory_image
ps_rect
PS Функции
PHP Manual

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Places image on the page

Описание

bool ps_place_image ( resource $psdoc , int $imageid , float $x , float $y , float $scale )

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file

ps_open_memory_image
ps_rect
PS Функции


Draws a rectangle

ps_place_image
ps_restore
PS Функции
PHP Manual

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Draws a rectangle

Описание

bool ps_rect ( resource $psdoc , float $x , float $y , float $width , float $height )

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_arc() - Draws an arc counterclockwise
  • ps_cirle()
  • ps_lineto() - Draws a line

ps_place_image
ps_restore
PS Функции


Restore previously save context

ps_rect
ps_rotate
PS Функции
PHP Manual

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restore previously save context

Описание

bool ps_restore ( resource $psdoc )

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_save() - Save current context

ps_rect
ps_rotate
PS Функции


Sets rotation factor

ps_restore
ps_save
PS Функции
PHP Manual

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Sets rotation factor

Описание

bool ps_rotate ( resource $psdoc , float $rot )

Sets the rotation of the coordinate system.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Rotation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

Смотрите также

  • ps_scale() - Sets scaling factor
  • ps_translate() - Sets translation

ps_restore
ps_save
PS Функции


Save current context

ps_rotate
ps_scale
PS Функции
PHP Manual

ps_save

(PECL ps >= 1.1.0)

ps_save — Save current context

Описание

bool ps_save ( resource $psdoc )

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_restore() - Restore previously save context

ps_rotate
ps_scale
PS Функции


Sets scaling factor

ps_save
ps_set_border_color
PS Функции
PHP Manual

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Sets scaling factor

Описание

bool ps_scale ( resource $psdoc , float $x , float $y )

Sets horizontal and vertical scaling of the coordinate system.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_rotate() - Sets rotation factor
  • ps_translate() - Sets translation

ps_save
ps_set_border_color
PS Функции


Sets color of border for annotations

ps_scale
ps_set_border_dash
PS Функции
PHP Manual

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Sets color of border for annotations

Описание

bool ps_set_border_color ( resource $psdoc , float $red , float $green , float $blue )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_set_border_dash() - Sets length of dashes for border of annotations
  • ps_set_border_style() - Sets border style of annotations

ps_scale
ps_set_border_dash
PS Функции


Sets length of dashes for border of annotations

ps_set_border_color
ps_set_border_style
PS Функции
PHP Manual

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Sets length of dashes for border of annotations

Описание

bool ps_set_border_dash ( resource $psdoc , float $black , float $white )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_style() - Sets border style of annotations

ps_set_border_color
ps_set_border_style
PS Функции


Sets border style of annotations

ps_set_border_dash
ps_set_info
PS Функции
PHP Manual

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Sets border style of annotations

Описание

bool ps_set_border_style ( resource $psdoc , string $style , float $width )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_dash() - Sets length of dashes for border of annotations

ps_set_border_dash
ps_set_info
PS Функции


Sets information fields of document

ps_set_border_style
ps_set_parameter
PS Функции
PHP Manual

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Sets information fields of document

Описание

bool ps_set_info ( resource $p , string $key , string $val )

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

Замечание:

Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_findfont() - Loads a font
  • ps_begin_page() - Start a new page

ps_set_border_style
ps_set_parameter
PS Функции


Sets certain parameters

ps_set_info
ps_set_text_pos
PS Функции
PHP Manual

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Sets certain parameters

Описание

bool ps_set_parameter ( resource $psdoc , string $name , string $value )

Sets several parameters which are used by many functions. Parameters are by definition string values.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_get_parameters()
  • ps_set_value() - Sets certain values

ps_set_info
ps_set_text_pos
PS Функции


Sets position for text output

ps_set_parameter
ps_set_value
PS Функции
PHP Manual

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Sets position for text output

Описание

bool ps_set_text_pos ( resource $psdoc , float $x , float $y )

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Смотрите также

  • ps_set_value() - Sets certain values
  • ps_show() - Output text

ps_set_parameter
ps_set_value
PS Функции


Sets certain values

ps_set_text_pos
ps_setcolor
PS Функции
PHP Manual

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Sets certain values

Описание

bool ps_set_value ( resource $psdoc , string $name , float $value )

Sets several values which are used by many functions. Parameters are by definition float values.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_get_value() - Gets certain values
  • ps_set_parameter() - Sets certain parameters

ps_set_text_pos
ps_setcolor
PS Функции


Sets current color

ps_set_value
ps_setdash
PS Функции
PHP Manual

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Sets current color

Описание

bool ps_setcolor ( resource $psdoc , string $type , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Sets the color for drawing, filling, or both.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Bugs

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_set_value
ps_setdash
PS Функции


Sets appearance of a dashed line

ps_setcolor
ps_setflat
PS Функции
PHP Manual

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Sets appearance of a dashed line

Описание

bool ps_setdash ( resource $psdoc , float $on , float $off )

Sets the length of the black and white portions of a dashed line.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setpolydash() - Sets appearance of a dashed line

ps_setcolor
ps_setflat
PS Функции


Sets flatness

ps_setdash
ps_setfont
PS Функции
PHP Manual

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Sets flatness

Описание

bool ps_setflat ( resource $psdoc , float $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_setdash
ps_setfont
PS Функции


Sets font to use for following output

ps_setflat
ps_setgray
PS Функции
PHP Manual

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Sets font to use for following output

Описание

bool ps_setfont ( resource $psdoc , int $fontid , float $size )

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_findfont() - Loads a font
  • ps_set_text_pos() - Sets position for text output for an example.

ps_setflat
ps_setgray
PS Функции


Sets gray value

ps_setfont
ps_setlinecap
PS Функции
PHP Manual

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Sets gray value

Описание

bool ps_setgray ( resource $psdoc , float $gray )

Sets the gray value for all following drawing operations.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setcolor() - Sets current color

ps_setfont
ps_setlinecap
PS Функции


Sets appearance of line ends

ps_setgray
ps_setlinejoin
PS Функции
PHP Manual

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Sets appearance of line ends

Описание

bool ps_setlinecap ( resource $psdoc , int $type )

Sets how line ends look like.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit

ps_setgray
ps_setlinejoin
PS Функции


Sets how contected lines are joined

ps_setlinecap
ps_setlinewidth
PS Функции
PHP Manual

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Sets how contected lines are joined

Описание

bool ps_setlinejoin ( resource $psdoc , int $type )

Sets how lines are joined.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit

ps_setlinecap
ps_setlinewidth
PS Функции


Sets width of a line

ps_setlinejoin
ps_setmiterlimit
PS Функции
PHP Manual

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Sets width of a line

Описание

bool ps_setlinewidth ( resource $psdoc , float $width )

Sets the line width for all following drawing operations.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setmiterlimit() - Sets the miter limit

ps_setlinejoin
ps_setmiterlimit
PS Функции


Sets the miter limit

ps_setlinewidth
ps_setoverprintmode
PS Функции
PHP Manual

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Sets the miter limit

Описание

bool ps_setmiterlimit ( resource $psdoc , float $value )

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line

ps_setlinewidth
ps_setoverprintmode
PS Функции


Sets overprint mode

ps_setmiterlimit
ps_setpolydash
PS Функции
PHP Manual

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Sets overprint mode

Описание

bool ps_setoverprintmode ( resource $psdoc , int $mode )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

mode

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_setmiterlimit
ps_setpolydash
PS Функции


Sets appearance of a dashed line

ps_setoverprintmode
ps_shading_pattern
PS Функции
PHP Manual

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Sets appearance of a dashed line

Описание

bool ps_setpolydash ( resource $psdoc , float $arr )

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Cannot open PostScript file\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

Смотрите также

  • ps_setdash() - Sets appearance of a dashed line

ps_setoverprintmode
ps_shading_pattern
PS Функции


Creates a pattern based on a shading

ps_setpolydash
ps_shading
PS Функции
PHP Manual

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Creates a pattern based on a shading

Описание

int ps_shading_pattern ( resource $psdoc , int $shadingid , string $optlist )

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

Возвращаемые значения

The identifier of the pattern или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_shading() - Creates a shading for later use
  • ps_shfill() - Fills an area with a shading

ps_setpolydash
ps_shading
PS Функции


Creates a shading for later use

ps_shading_pattern
ps_shfill
PS Функции
PHP Manual

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Creates a shading for later use

Описание

int ps_shading ( resource $psdoc , string $type , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

Возвращаемые значения

Returns the identifier of the pattern или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_shading_pattern() - Creates a pattern based on a shading
  • ps_shfill() - Fills an area with a shading

ps_shading_pattern
ps_shfill
PS Функции


Fills an area with a shading

ps_shading
ps_show_boxed
PS Функции
PHP Manual

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Fills an area with a shading

Описание

bool ps_shfill ( resource $psdoc , int $shadingid )

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_shading() - Creates a shading for later use
  • ps_shading_pattern() - Creates a pattern based on a shading

ps_shading
ps_show_boxed
PS Функции


Output text in a box

ps_shfill
ps_show_xy2
PS Функции
PHP Manual

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Output text in a box

Описание

int ps_show_boxed ( resource $psdoc , string $text , float $left , float $bottom , float $width , float $height , string $hmode [, string $feature ] )

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Currently scribus appears to have the most complete hyphenation dictionaries.

Возвращаемые значения

Number of characters that could not be written.

Смотрите также

  • ps_continue_text() - Continue text in next line

ps_shfill
ps_show_xy2
PS Функции


Output text at position

ps_show_boxed
ps_show_xy
PS Функции
PHP Manual

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Output text at position

Описание

bool ps_show_xy2 ( resource $psdoc , string $text , int $len , float $xcoor , float $ycoor )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_show_boxed
ps_show_xy
PS Функции


Output text at given position

ps_show_xy2
ps_show2
PS Функции
PHP Manual

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Output text at given position

Описание

bool ps_show_xy ( resource $psdoc , string $text , float $x , float $y )

Output a text at the given text position.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_continue_text() - Continue text in next line
  • ps_show() - Output text

ps_show_xy2
ps_show2
PS Функции


Output a text at current position

ps_show_xy
ps_show
PS Функции
PHP Manual

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Output a text at current position

Описание

bool ps_show2 ( resource $psdoc , string $text , int $len )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

len

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ps_show_xy
ps_show
PS Функции


Output text

ps_show2
ps_string_geometry
PS Функции
PHP Manual

ps_show

(PECL ps >= 1.1.0)

ps_show — Output text

Описание

bool ps_show ( resource $psdoc , string $text )

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_continue_text() - Continue text in next line
  • ps_show_xy() - Output text at given position
  • ps_setfont() - Sets font to use for following output

ps_show2
ps_string_geometry
PS Функции


Gets geometry of a string

ps_show
ps_stringwidth
PS Функции
PHP Manual

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Gets geometry of a string

Описание

array ps_string_geometry ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Возвращаемые значения

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

Смотрите также

  • ps_continue_text() - Continue text in next line
  • ps_stringwidth() - Gets width of a string

ps_show
ps_stringwidth
PS Функции


Gets width of a string

ps_string_geometry
ps_stroke
PS Функции
PHP Manual

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Gets width of a string

Описание

float ps_stringwidth ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Возвращаемые значения

Width of a string in points.

Смотрите также

  • ps_string_geometry() - Gets geometry of a string

ps_string_geometry
ps_stroke
PS Функции


Draws the current path

ps_stringwidth
ps_symbol_name
PS Функции
PHP Manual

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Draws the current path

Описание

bool ps_stroke ( resource $psdoc )

Draws the path constructed with previously called drawing functions like ps_lineto().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_closepath_stroke() - Closes and strokes path
  • ps_fill() - Fills the current path
  • ps_fill_stroke() - Fills and strokes the current path

ps_stringwidth
ps_symbol_name
PS Функции


Gets name of a glyph

ps_stroke
ps_symbol_width
PS Функции
PHP Manual

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Gets name of a glyph

Описание

string ps_symbol_name ( resource $psdoc , int $ord [, int $fontid = 0 ] )

This function needs an Adobe font metrics file to know which glyphs are available.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

Возвращаемые значения

The name of a glyph in the given font.

Смотрите также

  • ps_symbol() - Output a glyph
  • ps_symbol_width() - Gets width of a glyph

ps_stroke
ps_symbol_width
PS Функции


Gets width of a glyph

ps_symbol_name
ps_symbol
PS Функции
PHP Manual

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Gets width of a glyph

Описание

float ps_symbol_width ( resource $psdoc , int $ord [, int $fontid = 0 [, float $size = 0.0 ]] )

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Возвращаемые значения

The width of a glyph in points.

Смотрите также

  • ps_symbol() - Output a glyph
  • ps_symbol_name() - Gets name of a glyph

ps_symbol_name
ps_symbol
PS Функции


Output a glyph

ps_symbol_width
ps_translate
PS Функции
PHP Manual

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Output a glyph

Описание

bool ps_symbol ( resource $psdoc , int $ord )

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ps_symbol_name() - Gets name of a glyph
  • ps_symbol_width() - Gets width of a glyph

ps_symbol_width
ps_translate
PS Функции


Sets translation

ps_symbol
RPM Reader
PS Функции
PHP Manual

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Sets translation

Описание

bool ps_translate ( resource $psdoc , float $x , float $y )

Sets a new initial point of the coordinate system.

Список параметров

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Translation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to be undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

Смотрите также

  • ps_scale() - Sets scaling factor
  • ps_rotate() - Sets rotation factor

ps_symbol
RPM Reader
PS Функции


RPM Header Reading

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • RPM Reader Функции
    • rpm_close — Closes an RPM file
    • rpm_get_tag — Retrieves a header tag from an RPM file
    • rpm_is_valid — Tests a filename for validity as an RPM file
    • rpm_open — Opens an RPM file
    • rpm_version — Returns a string representing the current version of the rpmreader extension
ps_translate
Введение
Генерация нетекстовых MIME форматов


Введение

This module allows you to read the meta information stored in the headers of a » RedHat Package Manager (» RPM) file.

RPM Reader
Установка и настройка
RPM Reader


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
RPM Reader


Требования

The RPMReader extension requires PHP 5.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/rpmreader.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There is one resource type used by the RPMReader module. The resource is a file pointer which identifies the RPM file with which to work.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following list of constants are used to obtain information using the rpm_get_tag() function. These constants represent the tag number to be retrieved from the RPM file's header section. Descriptions are given below as to what data the tag number constants reference.

RPMREADER_MINIMUM (integer)
The minimum valid value of any RPM tag number.
RPMREADER_NAME (integer)
The name of the RPM package.
RPMREADER_VERSION (integer)
The version of the RPM package.
RPMREADER_RELEASE (integer)
The release of the RPM package.
RPMREADER_EPOCH (integer)
RPMREADER_SERIAL (integer)
RPMREADER_SUMMARY (integer)
The summary text of the RPM package.
RPMREADER_DESCRIPTION (integer)
The full description text of the RPM package.
RPMREADER_BUILDTIME (integer)
The date and time when the RPM package was built.
RPMREADER_BUILDHOST (integer)
The name of the host on which the RPM package was built.
RPMREADER_INSTALLTIME (integer)
RPMREADER_SIZE (integer)
The size of the RPM package.
RPMREADER_DISTRIBUTION (integer)
RPMREADER_VENDOR (integer)
RPMREADER_GIF (integer)
RPMREADER_XPM (integer)
RPMREADER_LICENSE (integer)
RPMREADER_COPYRIGHT (integer)
RPMREADER_PACKAGER (integer)
RPMREADER_GROUP (integer)
RPMREADER_SOURCE (integer)
RPMREADER_PATCH (integer)
RPMREADER_URL (integer)
RPMREADER_OS (integer)
RPMREADER_ARCH (integer)
RPMREADER_PREIN (integer)
RPMREADER_POSTIN (integer)
RPMREADER_PREUN (integer)
RPMREADER_POSTUN (integer)
RPMREADER_OLDFILENAMES (integer)
The list of files in an RPM package (deprecated format). The correct way is now to use a combination of 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) in what RPM now calls "CompressedFileNames". This tag is still used in older RPM files that did not use the "CompressedFileNames" method and is maintained for backward compatibility.
RPMREADER_FILESIZES (integer)
RPMREADER_FILESTATES (integer)
RPMREADER_FILEMODES (integer)
RPMREADER_FILERDEVS (integer)
RPMREADER_FILEMTIMES (integer)
RPMREADER_FILEMD5S (integer)
RPMREADER_FILELINKTOS (integer)
RPMREADER_FILEFLAGS (integer)
RPMREADER_FILEUSERNAME (integer)
RPMREADER_FILEGROUPNAME (integer)
RPMREADER_ICON (integer)
RPMREADER_SOURCERPM (integer)
RPMREADER_FILEVERIFYFLAGS (integer)
RPMREADER_ARCHIVESIZE (integer)
RPMREADER_PROVIDENAME (integer)
RPMREADER_PROVIDES (integer)
RPMREADER_REQUIREFLAGS (integer)
RPMREADER_REQUIRENAME (integer)
RPMREADER_REQUIREVERSION (integer)
RPMREADER_CONFLICTFLAGS (integer)
RPMREADER_CONFLICTNAME (integer)
RPMREADER_CONFLICTVERSION (integer)
RPMREADER_EXCLUDEARCH (integer)
RPMREADER_EXCLUDEOS (integer)
RPMREADER_EXCLUSIVEARCH (integer)
RPMREADER_EXCLUSIVEOS (integer)
RPMREADER_RPMVERSION (integer)
RPMREADER_TRIGGERSCRIPTS (integer)
RPMREADER_TRIGGERNAME (integer)
RPMREADER_TRIGGERVERSION (integer)
RPMREADER_TRIGGERFLAGS (integer)
RPMREADER_TRIGGERINDEX (integer)
RPMREADER_VERIFYSCRIPT (integer)
RPMREADER_CHANGELOGTIME (integer)
The list of dates from changelog entries.
RPMREADER_CHANGELOGNAME (integer)
The list of changelog entry names.
RPMREADER_CHANGELOGTEXT (integer)
The list of the text from changelog entries.
RPMREADER_PREINPROG (integer)
RPMREADER_POSTINPROG (integer)
RPMREADER_PREUNPROG (integer)
RPMREADER_POSTUNPROG (integer)
RPMREADER_BUILDARCHS (integer)
RPMREADER_OBSOLETENAME (integer)
RPMREADER_OBSOLETES (integer)
RPMREADER_VERIFYSCRIPTPROG (integer)
RPMREADER_TRIGGERSCRIPTPROG (integer)
RPMREADER_COOKIE (integer)
RPMREADER_FILEDEVICES (integer)
RPMREADER_FILEINODES (integer)
RPMREADER_FILELANGS (integer)
RPMREADER_PREFIXES (integer)
RPMREADER_INSTPREFIXES (integer)
RPMREADER_PROVIDEFLAGS (integer)
RPMREADER_PROVIDEVERSION (integer)
RPMREADER_OBSOLETEFLAGS (integer)
RPMREADER_OBSOLETEVERSION (integer)
RPMREADER_DIRINDEXES (integer)
The list of indices that relate directory names to files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_BASENAMES (integer)
The list of the names of files in the RPM package without path information. This tag is used in conjunction with RPMREADER_DIRINDEXES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_DIRNAMES (integer)
The list of directory names used by files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRINDEXES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_OPTFLAGS (integer)
RPMREADER_DISTURL (integer)
RPMREADER_PAYLOADFORMAT (integer)
RPMREADER_PAYLOADCOMPRESSOR (integer)
RPMREADER_PAYLOADFLAGS (integer)
RPMREADER_INSTALLCOLOR (integer)
RPMREADER_INSTALLTID (integer)
RPMREADER_REMOVETID (integer)
RPMREADER_RHNPLATFORM (integer)
RPMREADER_PLATFORM (integer)
RPMREADER_PATCHESNAME (integer)
RPMREADER_PATCHESFLAGS (integer)
RPMREADER_PATCHESVERSION (integer)
RPMREADER_CACHECTIME (integer)
RPMREADER_CACHEPKGPATH (integer)
RPMREADER_CACHEPKGSIZE (integer)
RPMREADER_CACHEPKGMTIME (integer)
RPMREADER_FILECOLORS (integer)
RPMREADER_FILECLASS (integer)
RPMREADER_CLASSDICT (integer)
RPMREADER_FILEDEPENDSX (integer)
RPMREADER_FILEDEPENDSN (integer)
RPMREADER_DEPENDSDICT (integer)
RPMREADER_SOURCEPKGID (integer)
RPMREADER_FILECONTEXTS (integer)
RPMREADER_FSCONTEXTS (integer)
RPMREADER_RECONTEXTS (integer)
RPMREADER_POLICIES (integer)
RPMREADER_MAXIMUM (integer)
The maximum valid value of any RPM tag number.

Типы ресурсов
Примеры
RPM Reader


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
RPM Reader


Basic usage

This example will open an RPM file and read the name, version, and release from the RPM file, echo the results, and close the RPM file.

Пример #1 Basic RPMReader Example

<?php

$filename = "/path/to/file.rpm";

// open file
$rpmr = rpm_open($filename);

// get "Name" tag
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// get "Version" tag
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// get "Release" tag
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// close file
rpm_close($rpmr);

?>
Примеры
RPM Reader Функции
Примеры


RPM Reader Функции

Содержание

  • rpm_close — Closes an RPM file
  • rpm_get_tag — Retrieves a header tag from an RPM file
  • rpm_is_valid — Tests a filename for validity as an RPM file
  • rpm_open — Opens an RPM file
  • rpm_version — Returns a string representing the current version of the rpmreader extension
Basic usage
rpm_close
RPM Reader


Closes an RPM file

RPM Reader Функции
rpm_get_tag
RPM Reader Функции
PHP Manual

rpm_close

(PECL rpmreader >= 0.1.0)

rpm_close — Closes an RPM file

Описание

bool rpm_close ( resource $rpmr )

rpm_close() will close an RPM file pointer.

Список параметров

rpmr

A file pointer resource successfully opened by rpm_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 rpm_close() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Смотрите также

  • rpm_open() - Opens an RPM file

RPM Reader Функции
rpm_get_tag
RPM Reader Функции


Retrieves a header tag from an RPM file

rpm_close
rpm_is_valid
RPM Reader Функции
PHP Manual

rpm_get_tag

(PECL rpmreader >= 0.1.0)

rpm_get_tag — Retrieves a header tag from an RPM file

Описание

mixed rpm_get_tag ( resource $rpmr , int $tagnum )

rpm_get_tag() will retrieve a given tag from the RPM file's header and return it.

Список параметров

rpmr

A file pointer resource successfully opened by rpm_open().

tagnum

The tag number to retrieve from the RPM header. This value can be specified using the list of constants defined by this module.

Возвращаемые значения

The return value can be of various types depending on the tagnum supplied to the function.

Примеры

Пример #1 rpm_get_tag() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br>\n";

rpm_close($rpmr);

?>

Смотрите также

  • rpm_open() - Opens an RPM file
  • rpm_close() - Closes an RPM file

rpm_close
rpm_is_valid
RPM Reader Функции


Tests a filename for validity as an RPM file

rpm_get_tag
rpm_open
RPM Reader Функции
PHP Manual

rpm_is_valid

(PECL rpmreader >= 0.1.0)

rpm_is_valid — Tests a filename for validity as an RPM file

Описание

bool rpm_is_valid ( string $filename )

rpm_is_valid() will test an RPM file for validity as an RPM file. This is not the same as rpm_open() as it only checks the file for validity but does not return a file pointer to be used by further functions.

Список параметров

filename

The filename of the RPM file you wish to check for validity.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 rpm_is_valid() example

<?php

$file = "/path/to/file.rpm";

if (rpm_is_valid($file)) {
    echo "File is recognized as an RPM file.<br>\n";
}
else {
    echo "File is not recognized as an RPM file.<br>\n";
}

?>

rpm_get_tag
rpm_open
RPM Reader Функции


Opens an RPM file

rpm_is_valid
rpm_version
RPM Reader Функции
PHP Manual

rpm_open

(PECL rpmreader >= 0.1.0)

rpm_open — Opens an RPM file

Описание

resource rpm_open ( string $filename )

rpm_open() will open an RPM file and will determine if the file is a valid RPM file.

Список параметров

filename

The filename of the RPM file you wish to open.

Возвращаемые значения

If the open succeeds, then rpm_open() will return a file pointer resource to the newly opened file. On error, the function will return FALSE.

Примеры

Пример #1 rpm_open() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Смотрите также

  • rpm_close() - Closes an RPM file

rpm_is_valid
rpm_version
RPM Reader Функции


Returns a string representing the current version of the rpmreader extension

rpm_open
SWF
RPM Reader Функции
PHP Manual

rpm_version

(PECL rpmreader >= 0.3.0)

rpm_version — Returns a string representing the current version of the rpmreader extension

Описание

string rpm_version ( void )

rpm_version() will return the current version of the rpmreader extension.

Возвращаемые значения

rpm_version() will return a string representing the rpmreader version currently loaded in PHP.

Примеры

Пример #1 rpm_version() example

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

rpm_open
SWF
RPM Reader Функции


Shockwave Flash

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • SWF Функции
    • swf_actiongeturl — Get a URL from a Shockwave Flash movie
    • swf_actiongotoframe — Play a frame and then stop
    • swf_actiongotolabel — Display a frame with the specified label
    • swf_actionnextframe — Go forward one frame
    • swf_actionplay — Start playing the flash movie from the current frame
    • swf_actionprevframe — Go backwards one frame
    • swf_actionsettarget — Set the context for actions
    • swf_actionstop — Stop playing the flash movie at the current frame
    • swf_actiontogglequality — Toggle between low and high quality
    • swf_actionwaitforframe — Skip actions if a frame has not been loaded
    • swf_addbuttonrecord — Controls location, appearance and active area of the current button
    • swf_addcolor — Set the global add color to the rgba value specified
    • swf_closefile — Close the current Shockwave Flash file
    • swf_definebitmap — Define a bitmap
    • swf_definefont — Defines a font
    • swf_defineline — Define a line
    • swf_definepoly — Define a polygon
    • swf_definerect — Define a rectangle
    • swf_definetext — Define a text string
    • swf_endbutton — End the definition of the current button
    • swf_enddoaction — End the current action
    • swf_endshape — Completes the definition of the current shape
    • swf_endsymbol — End the definition of a symbol
    • swf_fontsize — Change the font size
    • swf_fontslant — Set the font slant
    • swf_fonttracking — Set the current font tracking
    • swf_getbitmapinfo — Get information about a bitmap
    • swf_getfontinfo — Gets font information
    • swf_getframe — Get the frame number of the current frame
    • swf_labelframe — Label the current frame
    • swf_lookat — Define a viewing transformation
    • swf_modifyobject — Modify an object
    • swf_mulcolor — Sets the global multiply color to the rgba value specified
    • swf_nextid — Returns the next free object id
    • swf_oncondition — Describe a transition used to trigger an action list
    • swf_openfile — Open a new Shockwave Flash file
    • swf_ortho2 — Defines 2D orthographic mapping of user coordinates onto the current viewport
    • swf_ortho — Defines an orthographic mapping of user coordinates onto the current viewport
    • swf_perspective — Define a perspective projection transformation
    • swf_placeobject — Place an object onto the screen
    • swf_polarview — Define the viewer's position with polar coordinates
    • swf_popmatrix — Restore a previous transformation matrix
    • swf_posround — Enables or Disables the rounding of the translation when objects are placed or moved
    • swf_pushmatrix — Push the current transformation matrix back onto the stack
    • swf_removeobject — Remove an object
    • swf_rotate — Rotate the current transformation
    • swf_scale — Scale the current transformation
    • swf_setfont — Change the current font
    • swf_setframe — Switch to a specified frame
    • swf_shapearc — Draw a circular arc
    • swf_shapecurveto3 — Draw a cubic bezier curve
    • swf_shapecurveto — Draw a quadratic bezier curve between two points
    • swf_shapefillbitmapclip — Set current fill mode to clipped bitmap
    • swf_shapefillbitmaptile — Set current fill mode to tiled bitmap
    • swf_shapefilloff — Turns off filling
    • swf_shapefillsolid — Set the current fill style to the specified color
    • swf_shapelinesolid — Set the current line style
    • swf_shapelineto — Draw a line
    • swf_shapemoveto — Move the current position
    • swf_showframe — Display the current frame
    • swf_startbutton — Start the definition of a button
    • swf_startdoaction — Start a description of an action list for the current frame
    • swf_startshape — Start a complex shape
    • swf_startsymbol — Define a symbol
    • swf_textwidth — Get the width of a string
    • swf_translate — Translate the current transformations
    • swf_viewport — Select an area for future drawing
rpm_version
Введение
Генерация нетекстовых MIME форматов


Введение

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module.

Замечание:

SWF support was added in PHP 4 RC2.

The libswf does not have support for Windows. The development of that library has been stopped, and the source is not available to port it to another systems.

For up to date SWF support take a look at the MING functions.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

SWF
Установка и настройка
SWF


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SWF


Требования

You need the libswf library to compile PHP with support for this extension. You can download libswf at » ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/swf.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

MOD_COLOR (integer)
MOD_MATRIX (integer)
TYPE_PUSHBUTTON (integer)
TYPE_MENUBUTTON (integer)
BSHitTest (float)
BSDown (float)
BSOver (float)
BSUp (float)
OverDowntoIdle (integer)
IdletoOverDown (integer)
OutDowntoIdle (integer)
OutDowntoOverDown (integer)
OverDowntoOutDown (integer)
OverUptoOverDown (integer)
OverUptoIdle (integer)
IdletoOverUp (integer)
ButtonEnter (integer)
ButtonExit (integer)
MenuEnter (integer)
MenuExit (integer)
Типы ресурсов
Примеры
SWF


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
SWF


Basic usage

Once you've successfully installed PHP with Shockwave Flash support you can then go about creating Shockwave files from PHP. You would be surprised at what you can do, take the following code:

Пример #1 SWF example

<?php
swf_openfile("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2(-100, 100, -100, 100);
swf_defineline(1, -70, 0, 70, 0, .2);
swf_definerect(4, 60, -10, 70, 0, 0);
swf_definerect(5, -60, 0, -70, 10, 0);
swf_addcolor(0, 0, 0, 0);

swf_definefont(10, "Mod");
swf_fontsize(5);
swf_fontslant(10);
swf_definetext(11, "This be Flash wit PHP!", 1);

swf_pushmatrix();
swf_translate(-50, 80, 0);
swf_placeobject(11, 60);
swf_popmatrix();

for ($i = 0; $i < 30; $i++) {
    $p = $i/(30-1);
    swf_pushmatrix();
    swf_scale(1-($p*.9), 1, 1);
    swf_rotate(60*$p, 'z');
    swf_translate(20+20*$p, $p/1.5, 0);
    swf_rotate(270*$p,  'z');
    swf_addcolor($p, 0, $p/1.2, -$p);
    swf_placeobject(1, 50);
    swf_placeobject(4, 50);
    swf_placeobject(5, 50);
    swf_popmatrix();
    swf_showframe();
}

for ($i = 0; $i < 30; $i++) {
    swf_removeobject(50);
    if (($i%4) == 0) {
        swf_showframe();
    }
}

swf_startdoaction();
swf_actionstop();
swf_enddoaction();

swf_closefile();
?>

Примеры
SWF Функции
Примеры


SWF Функции

Содержание

  • swf_actiongeturl — Get a URL from a Shockwave Flash movie
  • swf_actiongotoframe — Play a frame and then stop
  • swf_actiongotolabel — Display a frame with the specified label
  • swf_actionnextframe — Go forward one frame
  • swf_actionplay — Start playing the flash movie from the current frame
  • swf_actionprevframe — Go backwards one frame
  • swf_actionsettarget — Set the context for actions
  • swf_actionstop — Stop playing the flash movie at the current frame
  • swf_actiontogglequality — Toggle between low and high quality
  • swf_actionwaitforframe — Skip actions if a frame has not been loaded
  • swf_addbuttonrecord — Controls location, appearance and active area of the current button
  • swf_addcolor — Set the global add color to the rgba value specified
  • swf_closefile — Close the current Shockwave Flash file
  • swf_definebitmap — Define a bitmap
  • swf_definefont — Defines a font
  • swf_defineline — Define a line
  • swf_definepoly — Define a polygon
  • swf_definerect — Define a rectangle
  • swf_definetext — Define a text string
  • swf_endbutton — End the definition of the current button
  • swf_enddoaction — End the current action
  • swf_endshape — Completes the definition of the current shape
  • swf_endsymbol — End the definition of a symbol
  • swf_fontsize — Change the font size
  • swf_fontslant — Set the font slant
  • swf_fonttracking — Set the current font tracking
  • swf_getbitmapinfo — Get information about a bitmap
  • swf_getfontinfo — Gets font information
  • swf_getframe — Get the frame number of the current frame
  • swf_labelframe — Label the current frame
  • swf_lookat — Define a viewing transformation
  • swf_modifyobject — Modify an object
  • swf_mulcolor — Sets the global multiply color to the rgba value specified
  • swf_nextid — Returns the next free object id
  • swf_oncondition — Describe a transition used to trigger an action list
  • swf_openfile — Open a new Shockwave Flash file
  • swf_ortho2 — Defines 2D orthographic mapping of user coordinates onto the current viewport
  • swf_ortho — Defines an orthographic mapping of user coordinates onto the current viewport
  • swf_perspective — Define a perspective projection transformation
  • swf_placeobject — Place an object onto the screen
  • swf_polarview — Define the viewer's position with polar coordinates
  • swf_popmatrix — Restore a previous transformation matrix
  • swf_posround — Enables or Disables the rounding of the translation when objects are placed or moved
  • swf_pushmatrix — Push the current transformation matrix back onto the stack
  • swf_removeobject — Remove an object
  • swf_rotate — Rotate the current transformation
  • swf_scale — Scale the current transformation
  • swf_setfont — Change the current font
  • swf_setframe — Switch to a specified frame
  • swf_shapearc — Draw a circular arc
  • swf_shapecurveto3 — Draw a cubic bezier curve
  • swf_shapecurveto — Draw a quadratic bezier curve between two points
  • swf_shapefillbitmapclip — Set current fill mode to clipped bitmap
  • swf_shapefillbitmaptile — Set current fill mode to tiled bitmap
  • swf_shapefilloff — Turns off filling
  • swf_shapefillsolid — Set the current fill style to the specified color
  • swf_shapelinesolid — Set the current line style
  • swf_shapelineto — Draw a line
  • swf_shapemoveto — Move the current position
  • swf_showframe — Display the current frame
  • swf_startbutton — Start the definition of a button
  • swf_startdoaction — Start a description of an action list for the current frame
  • swf_startshape — Start a complex shape
  • swf_startsymbol — Define a symbol
  • swf_textwidth — Get the width of a string
  • swf_translate — Translate the current transformations
  • swf_viewport — Select an area for future drawing
Basic usage
swf_actiongeturl
SWF


Get a URL from a Shockwave Flash movie

SWF Функции
swf_actiongotoframe
SWF Функции
PHP Manual

swf_actiongeturl

(PHP 4)

swf_actiongeturl — Get a URL from a Shockwave Flash movie

Описание

void swf_actiongeturl ( string $url , string $target )

Gets the URL specified by the parameter url with the given target.

Список параметров

url

The URL, as a string.

target

The target, as a string.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SWF Функции
swf_actiongotoframe
SWF Функции


Play a frame and then stop

swf_actiongeturl
swf_actiongotolabel
SWF Функции
PHP Manual

swf_actiongotoframe

(PHP 4)

swf_actiongotoframe — Play a frame and then stop

Описание

void swf_actiongotoframe ( int $framenumber )

The swf_actiongotoframe() function will go to the frame specified by framenumber, play it, and then stop.

Список параметров

framenumber

The frame number.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_actiongeturl
swf_actiongotolabel
SWF Функции


Display a frame with the specified label

swf_actiongotoframe
swf_actionnextframe
SWF Функции
PHP Manual

swf_actiongotolabel

(PHP 4)

swf_actiongotolabel — Display a frame with the specified label

Описание

void swf_actiongotolabel ( string $label )

The swf_actiongotolabel() function displays the frame with the label given by the label parameter and then stops.

Список параметров

label

The frame label.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_actiongotoframe
swf_actionnextframe
SWF Функции


Go forward one frame

swf_actiongotolabel
swf_actionplay
SWF Функции
PHP Manual

swf_actionnextframe

(PHP 4)

swf_actionnextframe — Go forward one frame

Описание

void swf_actionnextframe ( void )

Go forward one frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_actionprevframe() - Go backwards one frame

swf_actiongotolabel
swf_actionplay
SWF Функции


Start playing the flash movie from the current frame

swf_actionnextframe
swf_actionprevframe
SWF Функции
PHP Manual

swf_actionplay

(PHP 4)

swf_actionplay — Start playing the flash movie from the current frame

Описание

void swf_actionplay ( void )

Start playing the flash movie from the current frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_actionstop() - Stop playing the flash movie at the current frame

swf_actionnextframe
swf_actionprevframe
SWF Функции


Go backwards one frame

swf_actionplay
swf_actionsettarget
SWF Функции
PHP Manual

swf_actionprevframe

(PHP 4)

swf_actionprevframe — Go backwards one frame

Описание

void swf_actionprevframe ( void )

Go backwards one frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_actionnextframe() - Go forward one frame

swf_actionplay
swf_actionsettarget
SWF Функции


Set the context for actions

swf_actionprevframe
swf_actionstop
SWF Функции
PHP Manual

swf_actionsettarget

(PHP 4)

swf_actionsettarget — Set the context for actions

Описание

void swf_actionsettarget ( string $target )

Sets the context for all actions. You can use this to control other flash movies that are currently playing.

Список параметров

target

The target, as a string.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_actionprevframe
swf_actionstop
SWF Функции


Stop playing the flash movie at the current frame

swf_actionsettarget
swf_actiontogglequality
SWF Функции
PHP Manual

swf_actionstop

(PHP 4)

swf_actionstop — Stop playing the flash movie at the current frame

Описание

void swf_actionstop ( void )

Stop playing the flash movie at the current frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_actionplay() - Start playing the flash movie from the current frame

swf_actionsettarget
swf_actiontogglequality
SWF Функции


Toggle between low and high quality

swf_actionstop
swf_actionwaitforframe
SWF Функции
PHP Manual

swf_actiontogglequality

(PHP 4)

swf_actiontogglequality — Toggle between low and high quality

Описание

void swf_actiontogglequality ( void )

Toggle the flash movie between high and low quality.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_actionstop
swf_actionwaitforframe
SWF Функции


Skip actions if a frame has not been loaded

swf_actiontogglequality
swf_addbuttonrecord
SWF Функции
PHP Manual

swf_actionwaitforframe

(PHP 4)

swf_actionwaitforframe — Skip actions if a frame has not been loaded

Описание

void swf_actionwaitforframe ( int $framenumber , int $skipcount )

The swf_actionwaitforframe() function will check to see if the frame, specified by the framenumber parameter has been loaded, if not it will skip the number of actions specified by the skipcount parameter. This can be useful for "Loading..." type animations.

Список параметров

framenumber

The frame number.

skipcount

The number of actions to skip.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_actiontogglequality
swf_addbuttonrecord
SWF Функции


Controls location, appearance and active area of the current button

swf_actionwaitforframe
swf_addcolor
SWF Функции
PHP Manual

swf_addbuttonrecord

(PHP 4)

swf_addbuttonrecord — Controls location, appearance and active area of the current button

Описание

void swf_addbuttonrecord ( int $states , int $shapeid , int $depth )

Allow you to define the specifics of using a button.

Список параметров

states

Defines what states the button can have, these can be any or all of the following constants: BSHitTest, BSDown, BSOver or BSUp.

shapeid

The second parameter, the shapeid is the look of the button, this is usually the object id of the shape of the button.

depth

This parameter is the placement of the button in the current frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 swf_addbuttonrecord() example

<?php
swf_startButton($objid, TYPE_MENUBUTTON);
swf_addButtonRecord(BSDown|BSOver, $buttonImageId, 340);
swf_onCondition(MenuEnter);
swf_actionGetUrl("http://www.example.com", "_level1");
swf_onCondition(MenuExit);
swf_actionGetUrl("", "_level1");
swf_endButton();
?>

swf_actionwaitforframe
swf_addcolor
SWF Функции


Set the global add color to the rgba value specified

swf_addbuttonrecord
swf_closefile
SWF Функции
PHP Manual

swf_addcolor

(PHP 4)

swf_addcolor — Set the global add color to the rgba value specified

Описание

void swf_addcolor ( float $r , float $g , float $b , float $a )

Sets the global add color to the specified color. This color is then
implicitly used by the swf_placeobject(),
swf_modifyobject() and
swf_addbuttonrecord() functions.

The color of the object will be add by the given values when the object is written to the screen.

Список параметров

r

Red value

g

Green value

b

Blue value

a

Alpha value

These parameters can be either positive or negative.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_addbuttonrecord
swf_closefile
SWF Функции


Close the current Shockwave Flash file

swf_addcolor
swf_definebitmap
SWF Функции
PHP Manual

swf_closefile

(PHP 4)

swf_closefile — Close the current Shockwave Flash file

Описание

void swf_closefile ([ int $return_file ] )

Close a file that was opened by the swf_openfile() function.

Список параметров

return_file

If set then the contents of the SWF file are returned from the function.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Creating a simple flash file based on user input and outputting it and saving it in a database

<?php

// The $text variable is submitted by the
// user

// Global variables for database
// access (used in the swf_savedata() function)
$DBHOST = "localhost";
$DBUSER = "sterling";
$DBPASS = "secret";

swf_openfile("php://stdout", 256, 256, 30, 1, 1, 1);

    swf_definefont(10, "Ligon-Bold");
        swf_fontsize(12);
        swf_fontslant(10);

    swf_definetext(11, $text, 1);

    swf_pushmatrix();
        swf_translate(-50, 80, 0);
        swf_placeobject(11, 60);
    swf_popmatrix();

    swf_showframe();

    swf_startdoaction();
        swf_actionstop();
    swf_enddoaction();

$data = swf_closefile(1);

$data ?
  swf_savedata($data) :
  die("Error could not save SWF file");

// void swf_savedata(string data)
// Save the generated file a database
// for later retrieval
function swf_savedata($data)
{
    global $DBHOST,
           $DBUSER,
           $DBPASS;

    $dbh = @mysql_connect($DBHOST, $DBUSER, $DBPASS);

    if (!$dbh) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    $stmt = "INSERT INTO swf_files (file) VALUES ('$data')";

    $sth = @mysql_query($stmt, $dbh);

    if (!$sth) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    @mysql_free_result($sth);
    @mysql_close($dbh);
}
?>

Смотрите также

  • swf_openfile() - Open a new Shockwave Flash file

swf_addcolor
swf_definebitmap
SWF Функции


Define a bitmap

swf_closefile
swf_definefont
SWF Функции
PHP Manual

swf_definebitmap

(PHP 4)

swf_definebitmap — Define a bitmap

Описание

void swf_definebitmap ( int $objid , string $image_name )

The swf_definebitmap() function defines a bitmap given an image.

Список параметров

objid

An SWF object id.

image_name

A GIF, JPEG, RGB or FI image. The image will be converted into a Flash JPEG or Flash color map format.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_closefile
swf_definefont
SWF Функции


Defines a font

swf_definebitmap
swf_defineline
SWF Функции
PHP Manual

swf_definefont

(PHP 4)

swf_definefont — Defines a font

Описание

void swf_definefont ( int $fontid , string $fontname )

The swf_definefont() function defines a font parameter and gives it the specified id. It then sets the font given by fontname to the current font.

Список параметров

fontid

The id to be given to the font.

fontname

The font so be set as current font.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_definetext() - Define a text string

swf_definebitmap
swf_defineline
SWF Функции


Define a line

swf_definefont
swf_definepoly
SWF Функции
PHP Manual

swf_defineline

(PHP 4)

swf_defineline — Define a line

Описание

void swf_defineline ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Defines a line.

Список параметров

objid

The object id.

x1

x-coordinate of start point.

y1

y-coordinate of start point.

x2

x-coordinate of end point.

y2

y-coordinate of end point.

width

The line width.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_definefont
swf_definepoly
SWF Функции


Define a polygon

swf_defineline
swf_definerect
SWF Функции
PHP Manual

swf_definepoly

(PHP 4)

swf_definepoly — Define a polygon

Описание

void swf_definepoly ( int $objid , array $coords , int $npoints , float $width )

Defines a polygon given an array of x, y coordinates.

Список параметров

objid

The object id.

coords

An array of x, y coordinates.

npoints

The number of overall points that are contained in the array given by coords

width

The width of the polygon's border, if set to 0.0 the polygon is filled.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_defineline
swf_definerect
SWF Функции


Define a rectangle

swf_definepoly
swf_definetext
SWF Функции
PHP Manual

swf_definerect

(PHP 4)

swf_definerect — Define a rectangle

Описание

void swf_definerect ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Defines a rectangle with an upper left hand coordinate and a lower right hand coordinate.

Список параметров

objid

The object id.

x1

x-coordinate of upper left point.

y1

y-coordinate of upper left point.

x2

x-coordinate of lower right point.

y2

y-coordinate of lower right point.

width

Width of the rectangles border, if the width is 0.0 then the rectangle is filled.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_definepoly
swf_definetext
SWF Функции


Define a text string

swf_definerect
swf_endbutton
SWF Функции
PHP Manual

swf_definetext

(PHP 4)

swf_definetext — Define a text string

Описание

void swf_definetext ( int $objid , string $str , int $docenter )

Defines a text string using the current font and font size.

Список параметров

objid

The object id.

str

The text, as a string.

docenter

The docenter is where the word is centered, if docenter is 1, then the word is centered in x.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Horizontal text example

<?php

$Xposition = 50;
$Yposition = 50;
$Zposition = 0;
$Obj_depth = 1;

$char = 'THIS IS THE TEXT';

swf_pushmatrix();

swf_definefont (swf_nextid(), "Mod");
swf_fontsize(10);

$secondid = swf_nextid();
swf_definetext($secondid, $char, 1);
swf_translate($Xposition, $Yposition, Zposition);
swf_placeobject($secondid, $Obj_depth);
swf_popmatrix();

?>

Смотрите также

  • swf_definefont() - Defines a font

swf_definerect
swf_endbutton
SWF Функции


End the definition of the current button

swf_definetext
swf_enddoaction
SWF Функции
PHP Manual

swf_endbutton

(PHP 4)

swf_endbutton — End the definition of the current button

Описание

void swf_endbutton ( void )

The swf_endbutton() function ends the definition of the current button.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_startbutton() - Start the definition of a button

swf_definetext
swf_enddoaction
SWF Функции


End the current action

swf_endbutton
swf_endshape
SWF Функции
PHP Manual

swf_enddoaction

(PHP 4)

swf_enddoaction — End the current action

Описание

void swf_enddoaction ( void )

Ends the current action started by the swf_startdoaction() function.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_startdoaction() - Start a description of an action list for the current frame

swf_endbutton
swf_endshape
SWF Функции


Completes the definition of the current shape

swf_enddoaction
swf_endsymbol
SWF Функции
PHP Manual

swf_endshape

(PHP 4)

swf_endshape — Completes the definition of the current shape

Описание

void swf_endshape ( void )

The swf_endshape() completes the definition of the current shape.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_startshape() - Start a complex shape

swf_enddoaction
swf_endsymbol
SWF Функции


End the definition of a symbol

swf_endshape
swf_fontsize
SWF Функции
PHP Manual

swf_endsymbol

(PHP 4)

swf_endsymbol — End the definition of a symbol

Описание

void swf_endsymbol ( void )

Ends the definition of a symbol that was started by the swf_startsymbol() function.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_startsymbol() - Define a symbol

swf_endshape
swf_fontsize
SWF Функции


Change the font size

swf_endsymbol
swf_fontslant
SWF Функции
PHP Manual

swf_fontsize

(PHP 4)

swf_fontsize — Change the font size

Описание

void swf_fontsize ( float $size )

Changes the font size to the value given by the size parameter.

Список параметров

size

The font size, as an integer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_endsymbol
swf_fontslant
SWF Функции


Set the font slant

swf_fontsize
swf_fonttracking
SWF Функции
PHP Manual

swf_fontslant

(PHP 4)

swf_fontslant — Set the font slant

Описание

void swf_fontslant ( float $slant )

Set the current font slant to the angle indicated by the slant parameter.

Список параметров

slant

Positive values create a forward slant, negative values create a negative slant.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_fontsize
swf_fonttracking
SWF Функции


Set the current font tracking

swf_fontslant
swf_getbitmapinfo
SWF Функции
PHP Manual

swf_fonttracking

(PHP 4)

swf_fonttracking — Set the current font tracking

Описание

void swf_fonttracking ( float $tracking )

Set the font tracking to the value specified by the tracking parameter. This function is used to increase the spacing between letters and text, positive values increase the space and negative values decrease the space between letters.

Список параметров

tracking

The font tracking.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_fontslant
swf_getbitmapinfo
SWF Функции


Get information about a bitmap

swf_fonttracking
swf_getfontinfo
SWF Функции
PHP Manual

swf_getbitmapinfo

(PHP 4)

swf_getbitmapinfo — Get information about a bitmap

Описание

array swf_getbitmapinfo ( int $bitmapid )

Returns information about a bitmap.

Список параметров

bitmapid

The bitmap id.

Возвращаемые значения

Returns an array with the following elements:

  • "size" - The size in bytes of the bitmap.
  • "width" - The width in pixels of the bitmap.
  • "height" - The height in pixels of the bitmap.

swf_fonttracking
swf_getfontinfo
SWF Функции


Gets font information

swf_getbitmapinfo
swf_getframe
SWF Функции
PHP Manual

swf_getfontinfo

(PHP 4)

swf_getfontinfo — Gets font information

Описание

array swf_getfontinfo ( void )

Gets information about the font by giving the height in pixels of a capital A and a lowercase x.

Возвращаемые значения

Returns an associative array with the following parameters:

  • Aheight - The height in pixels of a capital A.
  • xheight - The height in pixels of a lowercase x.

swf_getbitmapinfo
swf_getframe
SWF Функции


Get the frame number of the current frame

swf_getfontinfo
swf_labelframe
SWF Функции
PHP Manual

swf_getframe

(PHP 4)

swf_getframe — Get the frame number of the current frame

Описание

int swf_getframe ( void )

The swf_getframe() function gets the number of the current frame.

Возвращаемые значения

Returns the current frame number, as an integer.

Смотрите также

  • swf_setframe() - Switch to a specified frame

swf_getfontinfo
swf_labelframe
SWF Функции


Label the current frame

swf_getframe
swf_lookat
SWF Функции
PHP Manual

swf_labelframe

(PHP 4)

swf_labelframe — Label the current frame

Описание

void swf_labelframe ( string $name )

Labels the current frame with the given name.

Список параметров

name

The frame label.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_getframe
swf_lookat
SWF Функции


Define a viewing transformation

swf_labelframe
swf_modifyobject
SWF Функции
PHP Manual

swf_lookat

(PHP 4)

swf_lookat — Define a viewing transformation

Описание

void swf_lookat ( float $view_x , float $view_y , float $view_z , float $reference_x , float $reference_y , float $reference_z , float $twist )

Defines a viewing transformation by giving the viewing position and the coordinates of a reference point in the scene.

Список параметров

view_x

x-coordinate for the viewing position

view_y

y-coordinate for the viewing position

view_z

z-coordinate for the viewing position

reference_x

x-coordinate for the reference point

reference_y

y-coordinate for the reference point

reference_z

z-coordinate for the reference point

twist

Controls the rotation along with viewer's z axis.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 A simple 3D-rotation around a text

<?php

header('Content-type: application/x-shockwave-flash');

swf_openfile("php://stdout", 320, 200, 25, 1, 1, 1);

swf_ortho(-100, 100, -100, 100, -100, 100); // create 3D coordinates

swf_definefont(0, "Pix3");
swf_addcolor(0, 0, 0, 1);
swf_fontsize(10);
swf_fonttracking(0.2);

for ($i = 0; $i < 628; $i += 8) {
    $j = $i / 100;
    swf_pushmatrix();
    swf_translate(0, 0, 0);
    swf_perspective(100, 1, 0, 10);
    swf_lookat(sin($j) * 60, 50, cos($j) * 60, 0, 0, 0, 0);

    swf_definetext (1, 'HotKey@', 0);
    swf_translate(-50,0,0);

    swf_placeobject(1,10);

    swf_definetext(2, 'example.com', 0);
    swf_translate(55, 0, 0);
    swf_placeobject(2, 11);

    swf_showframe();
    swf_removeobject(10);
    swf_removeobject(11);
    swf_popmatrix();
}

swf_closefile();
?>

swf_labelframe
swf_modifyobject
SWF Функции


Modify an object

swf_lookat
swf_mulcolor
SWF Функции
PHP Manual

swf_modifyobject

(PHP 4)

swf_modifyobject — Modify an object

Описание

void swf_modifyobject ( int $depth , int $how )

Updates the position and/or color of the object at the specified depth.

Список параметров

depth

The depth, as an integer.

how

Determines what is updated. how can either be the constant MOD_MATRIX or MOD_COLOR or it can be a combination of both.

MOD_COLOR uses the current mulcolor (specified by the function swf_mulcolor()) and addcolor (specified by the function swf_addcolor()) to color the object. MOD_MATRIX uses the current matrix to position the object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_lookat
swf_mulcolor
SWF Функции


Sets the global multiply color to the rgba value specified

swf_modifyobject
swf_nextid
SWF Функции
PHP Manual

swf_mulcolor

(PHP 4)

swf_mulcolor — Sets the global multiply color to the rgba value specified

Описание

void swf_mulcolor ( float $r , float $g , float $b , float $a )

Sets the global multiply color to the given one. This color is then
implicitly used by the swf_placeobject(),
swf_modifyobject() and
swf_addbuttonrecord() functions.

The color of the object will be multiplied by the given color values when the object is written to the screen.

Список параметров

r

Red value

g

Green value

b

Blue value

a

Alpha value

These parameters can be either positive or negative.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_modifyobject
swf_nextid
SWF Функции


Returns the next free object id

swf_mulcolor
swf_oncondition
SWF Функции
PHP Manual

swf_nextid

(PHP 4)

swf_nextid — Returns the next free object id

Описание

int swf_nextid ( void )

The swf_nextid() function returns the next available object id.

Возвращаемые значения

Returns the id, as an integer.

swf_mulcolor
swf_oncondition
SWF Функции


Describe a transition used to trigger an action list

swf_nextid
swf_openfile
SWF Функции
PHP Manual

swf_oncondition

(PHP 4)

swf_oncondition — Describe a transition used to trigger an action list

Описание

void swf_oncondition ( int $transition )

The swf_oncondition() function describes a transition that will trigger an action list.

Список параметров

transition

There are several types of possible transitions, the following are for buttons defined as TYPE_MENUBUTTON:

  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • IdletoOverDown
  • OutDowntoIdle
  • MenuEnter (IdletoOverUp|IdletoOverDown)
  • MenuExit (OverUptoIdle|OverDowntoIdle)
For TYPE_PUSHBUTTON there are the following options:
  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • OverDowntoOutDown
  • OutDowntoOverDown
  • OutDowntoIdle
  • ButtonEnter (IdletoOverUp|OutDowntoOverDown)
  • ButtonExit (OverUptoIdle|OverDowntoOutDown)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_nextid
swf_openfile
SWF Функции


Open a new Shockwave Flash file

swf_oncondition
swf_ortho2
SWF Функции
PHP Manual

swf_openfile

(PHP 4)

swf_openfile — Open a new Shockwave Flash file

Описание

void swf_openfile ( string $filename , float $width , float $height , float $framerate , float $r , float $g , float $b )

Opens a new file. This must be the first function you call, otherwise your script will not work.

Список параметров

filename

The path to the SWF file. If you want to send your output to the screen, set this to php://stdout.

width

The movie width

height

The movie height

framerate

The frame rate.

r

Red value for the background.

g

Green value for the background.

b

Blue value for the background.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.0.1 | Support for php://stdout was added.

Смотрите также

  • swf_closefile() - Close the current Shockwave Flash file

swf_oncondition
swf_ortho2
SWF Функции


Defines 2D orthographic mapping of user coordinates onto the current viewport

swf_openfile
swf_ortho
SWF Функции
PHP Manual

swf_ortho2

(PHP 4)

swf_ortho2 — Defines 2D orthographic mapping of user coordinates onto the current viewport

Описание

void swf_ortho2 ( float $xmin , float $xmax , float $ymin , float $ymax )

Defines a two dimensional orthographic mapping of user coordinates onto the current viewport, this defaults to one to one mapping of the area of the Flash movie.

If a perspective transformation is desired, swf_perspective() can be used.

Список параметров

xmin

xmax

ymin

ymax

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_ortho() - Defines an orthographic mapping of user coordinates onto the current viewport

swf_openfile
swf_ortho
SWF Функции


Defines an orthographic mapping of user coordinates onto the current viewport

swf_ortho2
swf_perspective
SWF Функции
PHP Manual

swf_ortho

(PHP 4 >= 4.0.1)

swf_ortho — Defines an orthographic mapping of user coordinates onto the current viewport

Описание

void swf_ortho ( float $xmin , float $xmax , float $ymin , float $ymax , float $zmin , float $zmax )

Defines an 3D orthographic mapping of user coordinates onto the current viewport.

Список параметров

xmin

xmax

ymin

ymax

zmin

zmax

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_ortho2() - Defines 2D orthographic mapping of user coordinates onto the current viewport

swf_ortho2
swf_perspective
SWF Функции


Define a perspective projection transformation

swf_ortho
swf_placeobject
SWF Функции
PHP Manual

swf_perspective

(PHP 4)

swf_perspective — Define a perspective projection transformation

Описание

void swf_perspective ( float $fovy , float $aspect , float $near , float $far )

Defines a perspective projection transformation.

Замечание:

Various distortion artifacts may appear when performing a perspective projection, this is because Flash players only have a two dimensional matrix. Some are not to pretty.

Список параметров

fovy

A field-of-view angle in the y direction.

aspect

The aspect ratio of the viewport that is being drawn onto.

near

The near clipping plane.

far

The far clipping plane.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_ortho
swf_placeobject
SWF Функции


Place an object onto the screen

swf_perspective
swf_polarview
SWF Функции
PHP Manual

swf_placeobject

(PHP 4)

swf_placeobject — Place an object onto the screen

Описание

void swf_placeobject ( int $objid , int $depth )

Places the object in the current frame at a specified depth.

This uses the current mulcolor (specified by swf_mulcolor()) and the current addcolor (specified by swf_addcolor()) to color the object and it uses the current matrix to position the object.

Список параметров

objid

The object id.

depth

Must be between 1 and 65535.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_perspective
swf_polarview
SWF Функции


Define the viewer's position with polar coordinates

swf_placeobject
swf_popmatrix
SWF Функции
PHP Manual

swf_polarview

(PHP 4)

swf_polarview — Define the viewer's position with polar coordinates

Описание

void swf_polarview ( float $dist , float $azimuth , float $incidence , float $twist )

The swf_polarview() function defines the viewer's position in polar coordinates.

Список параметров

dist

The distance between the viewpoint to the world space origin.

azimuth

Defines the azimuthal angle in the x,y coordinate plane, measured in distance from the y axis.

incidence

Defines the angle of incidence in the y,z plane, measured in distance from the z axis. The incidence angle is defined as the angle of the viewport relative to the z axis.

twist

Specifies the amount that the viewpoint is to be rotated about the line of sight using the right hand rule.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_placeobject
swf_popmatrix
SWF Функции


Restore a previous transformation matrix

swf_polarview
swf_posround
SWF Функции
PHP Manual

swf_popmatrix

(PHP 4)

swf_popmatrix — Restore a previous transformation matrix

Описание

void swf_popmatrix ( void )

Restores a previous transformation matrix.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_pushmatrix() - Push the current transformation matrix back onto the stack

swf_polarview
swf_posround
SWF Функции


Enables or Disables the rounding of the translation when objects are placed or moved

swf_popmatrix
swf_pushmatrix
SWF Функции
PHP Manual

swf_posround

(PHP 4)

swf_posround — Enables or Disables the rounding of the translation when objects are placed or moved

Описание

void swf_posround ( int $round )

Enables or disables the rounding of the translation when objects are placed or moved, there are times when text becomes more readable because rounding has been enabled.

Список параметров

round

Whether to enable rounding or not, if set to the value of 1, then rounding is enabled, if set to 0 then rounding is disabled.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_popmatrix
swf_pushmatrix
SWF Функции


Push the current transformation matrix back onto the stack

swf_posround
swf_removeobject
SWF Функции
PHP Manual

swf_pushmatrix

(PHP 4)

swf_pushmatrix — Push the current transformation matrix back onto the stack

Описание

void swf_pushmatrix ( void )

Pushes the current transformation matrix back onto the stack.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_popmatrix() - Restore a previous transformation matrix

swf_posround
swf_removeobject
SWF Функции


Remove an object

swf_pushmatrix
swf_rotate
SWF Функции
PHP Manual

swf_removeobject

(PHP 4)

swf_removeobject — Remove an object

Описание

void swf_removeobject ( int $depth )

Removes the last object drawn at the depth specified by depth.

Список параметров

depth

The depth, as an integer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_pushmatrix
swf_rotate
SWF Функции


Rotate the current transformation

swf_removeobject
swf_scale
SWF Функции
PHP Manual

swf_rotate

(PHP 4)

swf_rotate — Rotate the current transformation

Описание

void swf_rotate ( float $angle , string $axis )

Rotates the current transformation by a given angle around the given axis.

Список параметров

angle

The rotation angle.

axis

The axis. Valid values axis are x (the x axis), y (the y axis) or z (the z axis).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_removeobject
swf_scale
SWF Функции


Scale the current transformation

swf_rotate
swf_setfont
SWF Функции
PHP Manual

swf_scale

(PHP 4)

swf_scale — Scale the current transformation

Описание

void swf_scale ( float $x , float $y , float $z )

The swf_scale() scales curve coordinates by the given value.

Список параметров

x

x scale factor.

y

y scale factor.

z

z scale factor.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_rotate
swf_setfont
SWF Функции


Change the current font

swf_scale
swf_setframe
SWF Функции
PHP Manual

swf_setfont

(PHP 4)

swf_setfont — Change the current font

Описание

void swf_setfont ( int $fontid )

The swf_setfont() sets the current font to the value given by the fontid parameter.

Список параметров

fontid

The font identifier.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_scale
swf_setframe
SWF Функции


Switch to a specified frame

swf_setfont
swf_shapearc
SWF Функции
PHP Manual

swf_setframe

(PHP 4)

swf_setframe — Switch to a specified frame

Описание

void swf_setframe ( int $framenumber )

Changes the active frame to the specified on.

Список параметров

framenumber

The frame number to be set.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_getframe() - Get the frame number of the current frame

swf_setfont
swf_shapearc
SWF Функции


Draw a circular arc

swf_setframe
swf_shapecurveto3
SWF Функции
PHP Manual

swf_shapearc

(PHP 4)

swf_shapearc — Draw a circular arc

Описание

void swf_shapearc ( float $x , float $y , float $r , float $ang1 , float $ang2 )

Draws a circular arc.

Список параметров

x

x-coordinate of the center.

y

y-coordinate of the center.

r

The arc radius.

ang1

The start angle.

ang2

The end angle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_setframe
swf_shapecurveto3
SWF Функции


Draw a cubic bezier curve

swf_shapearc
swf_shapecurveto
SWF Функции
PHP Manual

swf_shapecurveto3

(PHP 4)

swf_shapecurveto3 — Draw a cubic bezier curve

Описание

void swf_shapecurveto3 ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Draw a cubic bezier curve using the given coordinates.

The current position is then set to the x3,y3 coordinate.

Список параметров

x1

x-coordinate of the first off curve control point.

y1

y-coordinate of the first off curve control point.

x2

x-coordinate of the second off curve control point.

y2

y-coordinate of the second off curve control point.

x3

x-coordinate of the endpoint.

y3

y-coordinate of the endpoint.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_shapecurveto() - Draw a quadratic bezier curve between two points

swf_shapearc
swf_shapecurveto
SWF Функции


Draw a quadratic bezier curve between two points

swf_shapecurveto3
swf_shapefillbitmapclip
SWF Функции
PHP Manual

swf_shapecurveto

(PHP 4)

swf_shapecurveto — Draw a quadratic bezier curve between two points

Описание

void swf_shapecurveto ( float $x1 , float $y1 , float $x2 , float $y2 )

Draws a quadratic bezier curve from the current location, though the two given points.

The current position is then set to the point defined by the x2 and y2 parameters.

Список параметров

x1

x-coordinate of the first point.

y1

y-coordinate of the first point.

x2

x-coordinate of the second point.

y2

y-coordinate of the second point.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_shapecurveto3() - Draw a cubic bezier curve

swf_shapecurveto3
swf_shapefillbitmapclip
SWF Функции


Set current fill mode to clipped bitmap

swf_shapecurveto
swf_shapefillbitmaptile
SWF Функции
PHP Manual

swf_shapefillbitmapclip

(PHP 4)

swf_shapefillbitmapclip — Set current fill mode to clipped bitmap

Описание

void swf_shapefillbitmapclip ( int $bitmapid )

Sets the fill to bitmap clipped, empty spaces will be filled by the bitmap.

Список параметров

bitmapid

The bitmap id.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_shapefillbitmaptile() - Set current fill mode to tiled bitmap

swf_shapecurveto
swf_shapefillbitmaptile
SWF Функции


Set current fill mode to tiled bitmap

swf_shapefillbitmapclip
swf_shapefilloff
SWF Функции
PHP Manual

swf_shapefillbitmaptile

(PHP 4)

swf_shapefillbitmaptile — Set current fill mode to tiled bitmap

Описание

void swf_shapefillbitmaptile ( int $bitmapid )

Sets the fill to bitmap tile, empty spaces will be filled by the bitmap.

Список параметров

bitmapid

The bitmap id.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_shapefillbitmapclip() - Set current fill mode to clipped bitmap

swf_shapefillbitmapclip
swf_shapefilloff
SWF Функции


Turns off filling

swf_shapefillbitmaptile
swf_shapefillsolid
SWF Функции
PHP Manual

swf_shapefilloff

(PHP 4)

swf_shapefilloff — Turns off filling

Описание

void swf_shapefilloff ( void )

Turns off filling for the current shape.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapefillbitmaptile
swf_shapefillsolid
SWF Функции


Set the current fill style to the specified color

swf_shapefilloff
swf_shapelinesolid
SWF Функции
PHP Manual

swf_shapefillsolid

(PHP 4)

swf_shapefillsolid — Set the current fill style to the specified color

Описание

void swf_shapefillsolid ( float $r , float $g , float $b , float $a )

Sets the current fill style to solid, and then sets the fill color to the given color.

Список параметров

r

Red value

g

Green value

b

Blue value

a

Alpha value

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapefilloff
swf_shapelinesolid
SWF Функции


Set the current line style

swf_shapefillsolid
swf_shapelineto
SWF Функции
PHP Manual

swf_shapelinesolid

(PHP 4)

swf_shapelinesolid — Set the current line style

Описание

void swf_shapelinesolid ( float $r , float $g , float $b , float $a , float $width )

Sets the current line style to the given color and width.

Список параметров

r

Red value

g

Green value

b

Blue value

a

Alpha value

width

The line width. If 0.0 is given then no lines are drawn.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapefillsolid
swf_shapelineto
SWF Функции


Draw a line

swf_shapelinesolid
swf_shapemoveto
SWF Функции
PHP Manual

swf_shapelineto

(PHP 4)

swf_shapelineto — Draw a line

Описание

void swf_shapelineto ( float $x , float $y )

Draws a line to the x and y coordinates. The current position is then set to that point.

Список параметров

x

x-coordinate of the target.

y

y-coordinate of the target.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapelinesolid
swf_shapemoveto
SWF Функции


Move the current position

swf_shapelineto
swf_showframe
SWF Функции
PHP Manual

swf_shapemoveto

(PHP 4)

swf_shapemoveto — Move the current position

Описание

void swf_shapemoveto ( float $x , float $y )

Moves the current position to the given point.

Список параметров

x

x-coordinate of the target.

y

y-coordinate of the target.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapelineto
swf_showframe
SWF Функции


Display the current frame

swf_shapemoveto
swf_startbutton
SWF Функции
PHP Manual

swf_showframe

(PHP 4)

swf_showframe — Display the current frame

Описание

void swf_showframe ( void )

Outputs the current frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_shapemoveto
swf_startbutton
SWF Функции


Start the definition of a button

swf_showframe
swf_startdoaction
SWF Функции
PHP Manual

swf_startbutton

(PHP 4)

swf_startbutton — Start the definition of a button

Описание

void swf_startbutton ( int $objid , int $type )

Starts the definition of a button.

Список параметров

objid

The object id.

type

Can either be TYPE_MENUBUTTON or TYPE_PUSHBUTTON. The TYPE_MENUBUTTON constant allows the focus to travel from the button when the mouse is down, TYPE_PUSHBUTTON does not allow the focus to travel when the mouse is down.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_endbutton() - End the definition of the current button

swf_showframe
swf_startdoaction
SWF Функции


Start a description of an action list for the current frame

swf_startbutton
swf_startshape
SWF Функции
PHP Manual

swf_startdoaction

(PHP 4)

swf_startdoaction — Start a description of an action list for the current frame

Описание

void swf_startdoaction ( void )

Starts the description of an action list for the current frame. This must be called before actions are defined for the current frame.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_enddoaction() - End the current action

swf_startbutton
swf_startshape
SWF Функции


Start a complex shape

swf_startdoaction
swf_startsymbol
SWF Функции
PHP Manual

swf_startshape

(PHP 4)

swf_startshape — Start a complex shape

Описание

void swf_startshape ( int $objid )

Starts a complex shape.

Список параметров

objid

The object id.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_endshape() - Completes the definition of the current shape

swf_startdoaction
swf_startsymbol
SWF Функции


Define a symbol

swf_startshape
swf_textwidth
SWF Функции
PHP Manual

swf_startsymbol

(PHP 4)

swf_startsymbol — Define a symbol

Описание

void swf_startsymbol ( int $objid )

Defines an object id as a symbol. Symbols are tiny flash movies that can be played simultaneously.

Список параметров

objid

The object id you want to define as a symbol.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • swf_endsymbol() - End the definition of a symbol

swf_startshape
swf_textwidth
SWF Функции


Get the width of a string

swf_startsymbol
swf_translate
SWF Функции
PHP Manual

swf_textwidth

(PHP 4)

swf_textwidth — Get the width of a string

Описание

float swf_textwidth ( string $str )

Gives the width of the string in pixels, using the current font and font size.

Список параметров

str

The string.

Возвращаемые значения

Returns the line width, as a float.

swf_startsymbol
swf_translate
SWF Функции


Translate the current transformations

swf_textwidth
swf_viewport
SWF Функции
PHP Manual

swf_translate

(PHP 4)

swf_translate — Translate the current transformations

Описание

void swf_translate ( float $x , float $y , float $z )

Translates the current transformation by the given values.

Список параметров

x

x value.

y

y value.

z

z value.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_textwidth
swf_viewport
SWF Функции


Select an area for future drawing

swf_translate
Расширения для управления процессами программ
SWF Функции
PHP Manual

swf_viewport

(PHP 4)

swf_viewport — Select an area for future drawing

Описание

void swf_viewport ( float $xmin , float $xmax , float $ymin , float $ymax )

Selects an area for future drawing for xmin to xmax and ymin to ymax, if this function is not called the area defaults to the size of the screen.

Список параметров

xmin

xmax

ymin

ymax

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

swf_translate
Расширения для управления процессами программ
SWF Функции


Расширения для управления процессами программ

  • Eio
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Eio Функции
  • Expect
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Expect Функции
  • Libevent
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Libevent Функции
  • PCNTL — Process Control
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • PCNTL Функции
  • POSIX
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • POSIX Функции
  • Запуск программы — Запуск программ в системе
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции запуска программ
  • Semaphore — Semaphore, Shared Memory and IPC
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Semaphore Функции
  • Управление разделяемой памятью
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Разделяемая (shared) память
swf_viewport
Eio
Справочник функций


Eio

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Eio Функции
    • eio_busy — Artificially increase load. Could be useful in tests, benchmarking.
    • eio_cancel — Cancels a request
    • eio_chmod — Change file/direcrory permissions.
    • eio_chown — Change file/direcrory permissions.
    • eio_close — Close file
    • eio_custom — Execute custom request like any other eio_* call.
    • eio_dup2 — Duplicate a file descriptor
    • eio_event_loop — Polls libeio until all requests proceeded
    • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod — Change file permissions.
    • eio_fchown — Change file ownership
    • eio_fdatasync — Synchronize a file's in-core state with storage device.
    • eio_fstat — Get file status
    • eio_fstatvfs — Get file system statistics
    • eio_fsync — Synchronize a file's in-core state with storage device
    • eio_ftruncate — Truncate a file
    • eio_futime — Change file last access and modification times
    • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.
    • eio_grp_add — Adds a request to the request group.
    • eio_grp_cancel — Cancels a request group
    • eio_grp_limit — Set group limit
    • eio_grp — Createsa request group.
    • eio_link — Create a hardlink for file
    • eio_lstat — Get file status
    • eio_mkdir — Create directory
    • eio_mknod — Create a special or ordinary file.
    • eio_nop — Does nothing, except go through the whole request cycle.
    • eio_npending — Returns number of finished, but unhandled requests
    • eio_nready — Returns number of not-yet handled requests
    • eio_nreqs — Returns number of requests to be processed
    • eio_nthreads — Returns number of threads currently in use
    • eio_open — Opens a file
    • eio_poll — Can be to be called whenever there are pending requests that need finishing.
    • eio_read — Read from a file descriptor at given offset.
    • eio_readahead — Perform file readahead into page cache
    • eio_readdir — Reads through a whole directory
    • eio_readlink — Read value of a symbolic link.
    • eio_realpath — Get the canonicalized absolute pathname.
    • eio_rename — Change the name or location of a file.
    • eio_rmdir — Remove a directory
    • eio_sendfile — Transfer data between file descriptors
    • eio_set_max_idle — Set maximum number of idle threads.
    • eio_set_max_parallel — Set maximum parallel threads
    • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.
    • eio_set_max_poll_time — Set maximum poll time
    • eio_set_min_parallel — Set minimum parallel thread number
    • eio_stat — Get file status
    • eio_statvfs — Get file system statistics
    • eio_symlink — Create a symbolic link
    • eio_sync_file_range — Sync a file segment with disk
    • eio_sync — Commit buffer cache to disk
    • eio_syncfs — Calls Linux' syncfs syscall, if available
    • eio_truncate — Truncate a file
    • eio_unlink — Delete a name and possibly the file it refers to
    • eio_utime — Change file last access and modification times.
    • eio_write — Write to file
Расширения для управления процессами программ
Введение
Расширения для управления процессами программ


Введение

This extension provides asyncronous POSIX I/O by means of » libeio C library written by Marc Lehmann.

Замечание: Для Windows-платформ это расширение недоступно.

Внимание

It is important to aware that each request is executed in a thread, and the order of execution of continuously queued requests basically is unpredictable. For instance, the following piece of code is incorrect.

Пример #1 Incorrect requests

<?php
// Request to create symlink of $filename to $link
eio_symlink($filename, $link);

// Request to move $filename to $new_filename
eio_rename($filename, $new_filename);

// Process requests
eio_event_loop();
?>
In the example above eio_rename() request may finish before eio_symlink(). To fix it you might call eio_rename() in the callback of eio_symlink():

Пример #2 Calling request from a request callback

<?php
function my_symlink_done($filename, $result) {
 // Request to move $filename to $new_filename
 eio_rename($filename, "/path/to/new-name");

 // Process requests
 eio_event_loop();
}

// Request to create symlink of $filename to $link
eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_done", $filename);

// Process requests
eio_event_loop();
?>
Alternatively, you might want to create a request group:

Пример #3 Calling request from a request callback

<?php
/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // ...
}

function my_symlink_done($filename, $result) {
 // Create eio_rename request and add it to the group
 $req = eio_rename($filename, "/path/to/new-name");
 eio_grp_add($grp, $req);
 // You might want to add more requests...
}

// Create a request group
$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_symlink request and add it to the group
// Pass $filename to the callback
$req = eio_symlink($filename, $link,
  EIO_PRI_DEFAULT, "my_symlink_done", $filename);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>
Group is a special kind of request that could accumulate a set of regular eio requests. This could be used to create a complex request that opens, reads and closes a file.

Since version 0.3.0 alpha, a variable used in communications with libeio internally, could be retrieved with eio_get_event_stream(). The variable could be used to bind to an event loop supported by some other extension. You might organize a simple event loop where eio and libevent work together:

Пример #4 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

// This stream is used to bind with libevent
$fd = eio_get_event_stream();

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Eio
Установка и настройка
Eio


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Eio


Требования

This extension requires » libeio library. The following installs libeio:

$ touch ~/.cvspass
$ cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co libeio
$ cd libeio
$ ./autogen.sh
$ ./configure
$ make
# make install
Note, the last command needs root priveleges.

Установка и настройка
Установка
Установка и настройка


Установка

Basically, --with-eio[=DIR] option is enough to install the extension. But you might want to make output more verbose(to debug), or change shared memory key and permissions used for internal event loop. The following is a list of additional configuration flags and options.

--enable-eio-debug makes output(logging) more verbose.

On Gentoo you may have problems compiling(`make`) the code. If so, you've likely got output similar to the following:

$ make
/bin/sh /home/ruslan/projects/pecl/svn/eio/libtool --mode=compile cc -Wall -g
-ggdb -O0 -DEIO_DEBUG -I. -I/home/ruslan/projects/pecl/svn/eio -DPHP_ATOM_INC
-I/home/ruslan/projects/pecl/svn/eio/include
-I/home/ruslan/projects/pecl/svn/eio/main -I/home/ruslan/projects/pecl/svn/eio
-I/usr/lib64/php5.3/include/php -I/usr/lib64/php5.3/include/php/main
-I/usr/lib64/php5.3/include/php/TSRM -I/usr/lib64/php5.3/include/php/Zend
-I/usr/lib64/php5.3/include/php/ext
-I/usr/lib64/php5.3/include/php/ext/date/lib -I/usr/local/include
-DHAVE_CONFIG_H  -Wall -g -ggdb -O0 -DEIO_DEBUG   -c
/home/ruslan/projects/pecl/svn/eio/eio.c -o eio.lo
/home/ruslan/projects/pecl/svn/eio/libtool: line 481: CDPATH: command not
found
libtool: Version mismatch error.  This is libtool 2.4, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4
libtool: and run autoconf again.
make: *** [eio.lo] Error 63
The following fixes it:
$ phpize --clean ; phpize
$ aclocal
$ libtoolize --force
$ autoreconf
$ ./configure --with-eio # further optional parameters ...
$ make && make test
$ su -
# make install

Замечание:

It's good idea to check for actual configure parameters, since documentation is not always up to date. E.g.:

 $ ./configure --help | grep eio
 --enable-eio-debug   Enable eio debug support
 --with-eio           Include eio support

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There are two resource types in this extension: request and request group.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Request priority constants:

EIO_PRI_MIN (integer)
Request minimal prioriry
EIO_PRI_DEFAULT (integer)
Request default prioriry
EIO_PRI_MAX (integer)
Request maximal prioriry

Flags used with eio_readdir():

EIO_READDIR_DENTS (integer)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (integer)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (integer)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (integer)
EIO_DT_UNKNOWN (integer)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (integer)
FIFO node type
EIO_DT_CHR (integer)
Node type
EIO_DT_MPC (integer)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (integer)
Directory node type
EIO_DT_NAM (integer)
Xenix special named file node type
EIO_DT_BLK (integer)
Node type
EIO_DT_MPB (integer)
Multiplexed block device (v7+coherent)
EIO_DT_REG (integer)
Node type
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
HP-UX network special node type
EIO_DT_LNK (integer)
Link node type
EIO_DT_SOCK (integer)
Socket node type
EIO_DT_DOOR (integer)
Solaris door node type
EIO_DT_WHT (integer)
Node type
EIO_DT_MAX (integer)
Highest node type value

Access modes for eio_open() flags argument:

EIO_O_RDONLY (integer)
EIO_O_WRONLY (integer)
EIO_O_RDWR (integer)
EIO_O_NONBLOCK (integer)
EIO_O_APPEND (integer)
EIO_O_CREAT (integer)
EIO_O_TRUNC (integer)
EIO_O_EXCL (integer)
EIO_O_FSYNC (integer)

mode argument flags for eio_open():

EIO_S_IRUSR (integer)
EIO_S_IWUSR (integer)
EIO_S_IXUSR (integer)
EIO_S_IRGRP (integer)
EIO_S_IWGRP (integer)
EIO_S_IXGRP (integer)
EIO_S_IROTH (integer)
EIO_S_IWOTH (integer)
EIO_S_IXOTH (integer)
EIO_S_IFREG (integer)
EIO_S_IFCHR (integer)
EIO_S_IFBLK (integer)
EIO_S_IFIFO (integer)
EIO_S_IFSOCK (integer)

eio_sync_file_range() flags:

EIO_SYNC_FILE_RANGE_WAIT_BEFORE (integer)
EIO_SYNC_FILE_RANGE_WRITE (integer)
EIO_SYNC_FILE_RANGE_WAIT_AFTER (integer)

eio_fallocate() flags:

EIO_FALLOC_FL_KEEP_SIZE (integer)

Замечание:

EIO_S_I* constants have the same meaning as their S_I* POSIX counterparts.

Замечание:

EIO_SYNC_FILE_* constants have the same meaning as their SYNC_FILE_** counterparts.

Замечание:

EIO_O_* constants have the same meaning as their O_* POSIX counterparts.

Типы ресурсов
Примеры
Eio


Примеры

Пример #1 Cancelling a request

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Пример #2 Calling eio_chmod()

<?php
$temp_filename = dirname(__FILE__) ."/eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

eio_chmod_ok

Пример #3 Making a custom request

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)

Пример #4 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 global $temp_filename;
 var_dump($result == 0);
 @unlink($temp_filename);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 $req = eio_read($my_file_fd, 4, 0, EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create eio_close() request and add it to the group
 $req = eio_close($my_file_fd);
 eio_grp_add($grp, $req);
}

$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);
var_dump($grp);

eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Пример #5 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_nop_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Результатом выполнения данного примера будет что-то подобное:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"

Предопределенные константы
Eio Функции
Eio


Eio Функции

Содержание

  • eio_busy — Artificially increase load. Could be useful in tests, benchmarking.
  • eio_cancel — Cancels a request
  • eio_chmod — Change file/direcrory permissions.
  • eio_chown — Change file/direcrory permissions.
  • eio_close — Close file
  • eio_custom — Execute custom request like any other eio_* call.
  • eio_dup2 — Duplicate a file descriptor
  • eio_event_loop — Polls libeio until all requests proceeded
  • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
  • eio_fchmod — Change file permissions.
  • eio_fchown — Change file ownership
  • eio_fdatasync — Synchronize a file's in-core state with storage device.
  • eio_fstat — Get file status
  • eio_fstatvfs — Get file system statistics
  • eio_fsync — Synchronize a file's in-core state with storage device
  • eio_ftruncate — Truncate a file
  • eio_futime — Change file last access and modification times
  • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.
  • eio_grp_add — Adds a request to the request group.
  • eio_grp_cancel — Cancels a request group
  • eio_grp_limit — Set group limit
  • eio_grp — Createsa request group.
  • eio_link — Create a hardlink for file
  • eio_lstat — Get file status
  • eio_mkdir — Create directory
  • eio_mknod — Create a special or ordinary file.
  • eio_nop — Does nothing, except go through the whole request cycle.
  • eio_npending — Returns number of finished, but unhandled requests
  • eio_nready — Returns number of not-yet handled requests
  • eio_nreqs — Returns number of requests to be processed
  • eio_nthreads — Returns number of threads currently in use
  • eio_open — Opens a file
  • eio_poll — Can be to be called whenever there are pending requests that need finishing.
  • eio_read — Read from a file descriptor at given offset.
  • eio_readahead — Perform file readahead into page cache
  • eio_readdir — Reads through a whole directory
  • eio_readlink — Read value of a symbolic link.
  • eio_realpath — Get the canonicalized absolute pathname.
  • eio_rename — Change the name or location of a file.
  • eio_rmdir — Remove a directory
  • eio_sendfile — Transfer data between file descriptors
  • eio_set_max_idle — Set maximum number of idle threads.
  • eio_set_max_parallel — Set maximum parallel threads
  • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.
  • eio_set_max_poll_time — Set maximum poll time
  • eio_set_min_parallel — Set minimum parallel thread number
  • eio_stat — Get file status
  • eio_statvfs — Get file system statistics
  • eio_symlink — Create a symbolic link
  • eio_sync_file_range — Sync a file segment with disk
  • eio_sync — Commit buffer cache to disk
  • eio_syncfs — Calls Linux' syncfs syscall, if available
  • eio_truncate — Truncate a file
  • eio_unlink — Delete a name and possibly the file it refers to
  • eio_utime — Change file last access and modification times.
  • eio_write — Write to file
Примеры
eio_busy
Eio


Artificially increase load. Could be useful in tests, benchmarking.

Eio Функции
eio_cancel
Eio Функции
PHP Manual

eio_busy

(PECL eio >= 0.0.1dev)

eio_busy — Artificially increase load. Could be useful in tests, benchmarking.

Описание

resource eio_busy ( int $delay [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_busy() artificially increases load taking delay seconds to execute. May be used for debugging, or benchmarking.

Список параметров

delay

Delay in seconds

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

This callback is called when all the group requests are done.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_busy() returns request resource on success or FALSE on error.

Смотрите также

  • eio_nop
Eio Функции
eio_cancel
Eio Функции


Cancels a request

eio_busy
eio_chmod
Eio Функции
PHP Manual

eio_cancel

(PECL eio >= 0.0.1dev)

eio_cancel — Cancels a request

Описание

void eio_cancel ( resource $req )

eio_cancel() cancels a request specified by req

Список параметров

req

The request resource

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 eio_cancel() example

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Смотрите также

  • eio_grp_cancel
eio_busy
eio_chmod
Eio Функции


Change file/direcrory permissions.

eio_cancel
eio_chown
Eio Функции
PHP Manual

eio_chmod

(PECL eio >= 0.0.1dev)

eio_chmod — Change file/direcrory permissions.

Описание

resource eio_chmod ( string $path , mixed $mode [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_chmod() changes file, or direcrory permissions. The new permissions are specified by mode.

Список параметров

path

Path to the target file or directory

Внимание

Избегайте относительных путей

mode

The new permissions. E.g. 0644.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_chmod() returns request resource on success or FALSE on error.

Смотрите также

  • eio_chown
eio_cancel
eio_chown
Eio Функции


Change file/direcrory permissions.

eio_chmod
eio_close
Eio Функции
PHP Manual

eio_chown

(PECL eio >= 0.0.1dev)

eio_chown — Change file/direcrory permissions.

Описание

resource eio_chown ( string $path , int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]]] )

Changes file, or directory permissions.

Список параметров

path

Path to file or directory.

Внимание

Избегайте относительных путей

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_chown() returns request resource on success or FALSE on error.

Смотрите также

  • eio_chmod
eio_chmod
eio_close
Eio Функции


Close file

eio_chown
eio_custom
Eio Функции
PHP Manual

eio_close

(PECL eio >= 0.0.1dev)

eio_close — Close file

Описание

resource eio_close ( int $fd [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_close() closes file specified by fd.

Список параметров

fd

The file descriptor

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_close() returns request resource on success or FALSE on error.

Смотрите также

  • eio_open
eio_chown
eio_custom
Eio Функции


Execute custom request like any other eio_* call.

eio_close
eio_dup2
Eio Функции
PHP Manual

eio_custom

(PECL eio >= 0.0.1dev)

eio_custom — Execute custom request like any other eio_* call.

Описание

resource eio_custom ( mixed $execute , int $pri , mixed $callback [, mixed $data = NULL ] )

eio_custom() executes custom function specified by execute processing it just like any other eio_* call.

Список параметров

execute

Specifies the request function that should match the following prototype:

mixed execute(mixed data);
callback is event completion callback that should match the following prototype:
void callback(mixed data, mixed result);
data is the data passed to execute via data argument without modifications result value returned by execute

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_custom() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_custom() example

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)
eio_close
eio_dup2
Eio Функции


Duplicate a file descriptor

eio_custom
eio_event_loop
Eio Функции
PHP Manual

eio_dup2

(PECL eio >= 0.0.1dev)

eio_dup2 — Duplicate a file descriptor

Описание

resource eio_dup2 ( int $fd , int $fd2 [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_dup2() duplicates file descriptor.

Список параметров

fd

Source file descriptor

fd2

Target file descriptor

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_dup2() returns request resource on success or FALSE on error.

eio_custom
eio_event_loop
Eio Функции


Polls libeio until all requests proceeded

eio_dup2
eio_fallocate
Eio Функции
PHP Manual

eio_event_loop

(PECL eio >= 0.0.1dev)

eio_event_loop — Polls libeio until all requests proceeded

Описание

bool eio_event_loop ( void )

eio_event_loop() polls libeio until all requests proceeded.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_event_loop() returns TRUE on success or FALSE on error.

Примеры

Пример #1 eio_event_loop() example

<?php
$temp_filename = "eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

eio_chmod_ok

Смотрите также

  • eio_poll
eio_dup2
eio_fallocate
Eio Функции


Allows the caller to directly manipulate the allocated disk space for a file

eio_event_loop
eio_fchmod
Eio Функции
PHP Manual

eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file

Описание

resource eio_fallocate ( int $fd , int $mode , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_fallocate() allows the caller to directly manipulate the allocated disk space for the file specified by fd file descriptor for the byte range starting at offset and continuing for length bytes.

Замечание: File should be opened for writing

EIO_O_CREAT should be logically OR'd with EIO_O_WRONLY, or EIO_O_RDWR

Список параметров

fd

The file descriptor, e.g. returned by eio_open().

mode

Currently only one flag is supported for mode: EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant FALLOC_FL_KEEP_SIZE).

offset

Specifies start of the byte range.

length

Specifies length the byte range.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_fallocate() returns request resource on success or FALSE on error.

eio_event_loop
eio_fchmod
Eio Функции


Change file permissions.

eio_fallocate
eio_fchown
Eio Функции
PHP Manual

eio_fchmod

(PECL eio >= 0.0.1dev)

eio_fchmod — Change file permissions.

Описание

resource eio_fchmod ( int $fd , int $mode [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_fchmod() changes permissions for the file specified by fd file descriptor.

Список параметров

fd

The file descriptor, e.g. returned by eio_open().

mode

The new permissions. E.g. 0644.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_fchmod() returns request resource on success or FALSE on error.

Смотрите также

  • eio_fchown
eio_fallocate
eio_fchown
Eio Функции


Change file ownership

eio_fchmod
eio_fdatasync
Eio Функции
PHP Manual

eio_fchown

(PECL eio >= 0.0.1dev)

eio_fchown — Change file ownership

Описание

resource eio_fchown ( int $fd , int $uid [, int $gid [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]]] )

eio_fchown() changes ownership of the file specified by fd file descriptor.

Список параметров

fd

The file descriptor.

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Смотрите также

  • eio_fchmod
eio_fchmod
eio_fdatasync
Eio Функции


Synchronize a file's in-core state with storage device.

eio_fchown
eio_fstat
Eio Функции
PHP Manual

eio_fdatasync

(PECL eio >= 0.0.1dev)

eio_fdatasync — Synchronize a file's in-core state with storage device.

Описание

resource eio_fdatasync ( int $fd [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_fdatasync() synchronizes a file's in-core state with storage device.

Список параметров

fd

The file descriptor, e.g. returned by eio_open().

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_fdatasync() returns request resource on success or FALSE on error.

eio_fchown
eio_fstat
Eio Функции


Get file status

eio_fdatasync
eio_fstatvfs
Eio Функции
PHP Manual

eio_fstat

(PECL eio >= 0.0.1dev)

eio_fstat — Get file status

Описание

resource eio_fstat ( int $fd , int $pri , mixed $callback [, mixed $data ] )

eio_fstat() returns file status information in result argument of callback

Список параметров

fd

The file descriptor.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_busy() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_lstat() example

<?php
// Create temporary file
$tmp_filename = dirname(__FILE__) ."/eio-file.tmp";
touch($tmp_filename);

/* Is called when eio_fstat() done */
function my_res_cb($data, $result) {
 // Should output array with stat info
 var_dump($result);

 if ($data['fd']) {
  // Close temporary file
  eio_close($data['fd']);
  eio_event_loop();
 }
 // Remove temporary file
 @unlink($data['file']);
}

/* Is called when eio_open() done */
function my_open_cb($data, $result) {
 // Prepare data for callback
 $d = array(
  'fd'  => $result,
  'file'=> $data
 );
 // Request stat info
 eio_fstat($result, EIO_PRI_DEFAULT, "my_res_cb", $d);
 // Process request(s)
 eio_event_loop();
}

// Open temporary file
eio_open($tmp_filename, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT,
  "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489159)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318239506)
  ["st_mtime"]=>
  int(1318239506)
  ["st_ctime"]=>
  int(1318239506)
}

Смотрите также

  • eio_lstat
  • eio_stat
eio_fdatasync
eio_fstatvfs
Eio Функции


Get file system statistics

eio_fstat
eio_fsync
Eio Функции
PHP Manual

eio_fstatvfs

(PECL eio >= 0.0.1dev)

eio_fstatvfs — Get file system statistics

Описание

resource eio_fstatvfs ( int $fd , int $pri , mixed $callback [, mixed $data ] )

eio_fstatvfs() returns file system statistics in result of callback.

Список параметров

fd

A file descriptor of a file within the mounted file system.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_fstatvfs() returns request resource on success or FALSE on error.

Смотрите также

  • eio_statvfs
eio_fstat
eio_fsync
Eio Функции


Synchronize a file's in-core state with storage device

eio_fstatvfs
eio_ftruncate
Eio Функции
PHP Manual

eio_fsync

(PECL eio >= 0.0.1dev)

eio_fsync — Synchronize a file's in-core state with storage device

Описание

resource eio_fsync ( int $fd [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

Synchronize a file's in-core state with storage device

Список параметров

fd

The file descriptor.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_fsync() returns request resource on success or FALSE on error.

Смотрите также

  • eio_sync
eio_fstatvfs
eio_ftruncate
Eio Функции


Truncate a file

eio_fsync
eio_futime
Eio Функции
PHP Manual

eio_ftruncate

(PECL eio >= 0.0.1dev)

eio_ftruncate — Truncate a file

Описание

resource eio_ftruncate ( int $fd , int $offset [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_ftruncate() causes a regular file referenced by fd file descriptor to be truncated to precisely length bytes.

Список параметров

fd

The file descriptor.

offset

Offset from beginning of the file

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_ftruncate() returns request resource on success or FALSE on error.

Смотрите также

  • eio_truncate
eio_fsync
eio_futime
Eio Функции


Change file last access and modification times

eio_ftruncate
eio_get_event_stream
Eio Функции
PHP Manual

eio_futime

(PECL eio >= 0.0.1dev)

eio_futime — Change file last access and modification times

Описание

resource eio_futime ( int $fd , int $atime , int $mtime [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_futime() changes file last access and modification times.

Список параметров

fd

The file descriptor, e.g. returned by eio_open()

atime

Access time

mtime

Modification time

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_futime() returns request resource on success or FALSE on error.

Смотрите также

  • eio_utime
eio_ftruncate
eio_get_event_stream
Eio Функции


Get stream representing a variable used in internal communications with libeio.

eio_futime
eio_grp_add
Eio Функции
PHP Manual

eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.

Описание

mixed eio_get_event_stream ( void )

eio_get_event_stream() acquires stream representing a variable used in internal communications with libeio. Could be used to bind with some event loop provided by other PECL extension, for example libevent.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_get_event_stream() returns stream on success; otherwise, NULL

Примеры

Пример #1 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Результатом выполнения данного примера будет что-то подобное:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"
eio_futime
eio_grp_add
Eio Функции


Adds a request to the request group.

eio_get_event_stream
eio_grp_cancel
Eio Функции
PHP Manual

eio_grp_add

(PECL eio >= 0.0.1dev)

eio_grp_add — Adds a request to the request group.

Описание

void eio_grp_add ( resource $grp , resource $req )

eio_grp_add() adds a request to the request group.

Список параметров

grp

The request group resource returned by eio_grp()

req

The request resource

Возвращаемые значения

eio_grp_add() doesn't return a value.

Примеры

Пример #1 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

// Create temporary file and write some bytes to it
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $grp;

 // $result should contain the file descriptor
 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 // Pass file descriptor to the callback
 $req = eio_read($result, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback", $result);
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $grp;

 // Read bytes
 var_dump($result);

 // Create eio_close() request and add it to the group
 // $data should contain the file descriptor
 $req = eio_close($data);
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);
var_dump($grp);

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Смотрите также

  • eio_grp
  • eio_grp_cancel
  • eio_grp_limit
eio_get_event_stream
eio_grp_cancel
Eio Функции


Cancels a request group

eio_grp_add
eio_grp_limit
Eio Функции
PHP Manual

eio_grp_cancel

(PECL eio >= 0.0.1dev)

eio_grp_cancel — Cancels a request group

Описание

void eio_grp_cancel ( resource $grp )

eio_grp_cancel() cancels a group request specified by grp request group resource.

Список параметров

grp

The request group resource returned by eio_grp().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • eio_grp
  • eio_grp_add
eio_grp_add
eio_grp_limit
Eio Функции


Set group limit

eio_grp_cancel
eio_grp
Eio Функции
PHP Manual

eio_grp_limit

(PECL eio >= 0.0.1dev)

eio_grp_limit — Set group limit

Описание

void eio_grp_limit ( resource $grp , int $limit )

Limit number of requests in the request group.

Список параметров

grp

The request group resource.

limit

Number of requests in the group.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • eio_grp_add
eio_grp_cancel
eio_grp
Eio Функции


Createsa request group.

eio_grp_limit
eio_link
Eio Функции
PHP Manual

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Createsa request group.

Описание

resource eio_grp ( string $callback [, string $data = NULL ] )

eio_grp() creates a request group.

Список параметров

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_grp() returns request group resource on success or FALSE on error.

Примеры

Пример #1 eio_grp() example

<?php
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);
$my_file_fd = NULL;

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // Remove the file, if it still exists
 @unlink($data);
}

/* Is called when the temporary file is opened */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 $req = eio_read($my_file_fd, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when the file is read */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create request to close the file
 $req = eio_close($my_file_fd);

 // Add request to the group
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);

// Create request
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);

// Add request to the group
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(4) "some"

Смотрите также

  • eio_grp_cancel
  • eio_grp_add
eio_grp_limit
eio_link
Eio Функции


Create a hardlink for file

eio_grp
eio_lstat
Eio Функции
PHP Manual

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Create a hardlink for file

Описание

resource eio_link ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_link() creates a hardlink new_path for a file specified by path.

Список параметров

path

Source file path.

new_path

Target file path.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

Примеры

Пример #1 eio_link() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
string(%d) "%ssymlink.dat"

Смотрите также

  • eio_symlink
eio_grp
eio_lstat
Eio Функции


Get file status

eio_link
eio_mkdir
Eio Функции
PHP Manual

eio_lstat

(PECL eio >= 0.0.1dev)

eio_lstat — Get file status

Описание

resource eio_lstat ( string $path , int $pri , mixed $callback [, mixed $data = NULL ] )

eio_lstat() returns file status information in result argument of callback

Список параметров

path

The file path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_lstat() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_lstat() example

<?php
$tmp_filename = dirname(__FILE__). "/eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_lstat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_lstat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(9) "eio_lstat"
array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2099197)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318235777)
  ["st_mtime"]=>
  int(1318235777)
  ["st_ctime"]=>
  int(1318235777)
}

Смотрите также

  • eio_stat
  • eio_fstat
eio_link
eio_mkdir
Eio Функции


Create directory

eio_lstat
eio_mknod
Eio Функции
PHP Manual

eio_mkdir

(PECL eio >= 0.0.1dev)

eio_mkdir — Create directory

Описание

resource eio_mkdir ( string $path , int $mode [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_mkdir() creates directory with specified access mode.

Список параметров

path

Path for the new directory.

mode

Access mode, e.g. 0755

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_mkdir() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_mkdir() example

<?php
$temp_dirname = "eio-temp-dir";

/* Is called when eio_mkdir() finishes */
function my_mkdir_callback($data, $result) {
 if ($result == 0 && is_dir($temp_dirname)
   && !is_readable($temp_dirname)
   && is_writable($temp_dirname)) {
  echo "eio_mkdir_ok";
 }

 // Remove directory
    if (file_exists($data))
        rmdir($temp_dirname);
}

// Create directory with access mode 0300
eio_mkdir($temp_dirname, 0300, EIO_PRI_DEFAULT, "my_mkdir_callback", $temp_dirname);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

eio_mkdir_ok

Смотрите также

  • eio_rmdir
eio_lstat
eio_mknod
Eio Функции


Create a special or ordinary file.

eio_mkdir
eio_nop
Eio Функции
PHP Manual

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — Create a special or ordinary file.

Описание

resource eio_mknod ( string $path , int $mode , int $dev [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_mknod() creates ordinary or special(often) file.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

path

Path for the new node(file).

mode

Specifies both the permissions to use and the type of node to be created. It should be a combination (using bitwise OR) of one of the file types listed below and the permissions for the new node(e.g. 0640). Possible file types are: EIO_S_IFREG(regular file), EIO_S_IFCHR(character file), EIO_S_IFBLK(block special file), EIO_S_IFIFO(FIFO - named pipe) and EIO_S_IFSOCK(UNIX domain socket). To specify permissions EIO_S_I* constants could be used.

dev

If the file type is EIO_S_IFCHR or EIO_S_IFBLK then dev specifies the major and minor numbers of the newly created device special file. Otherwise dev ignored. See mknod(2) man page for details.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_mknod() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_mknod() example

<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
    $s = stat($data);
    var_dump($s);

    if ($result == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Смотрите также

  • eio_open
eio_mkdir
eio_nop
Eio Функции


Does nothing, except go through the whole request cycle.

eio_mknod
eio_npending
Eio Функции
PHP Manual

eio_nop

(PECL eio >= 0.0.1dev)

eio_nop — Does nothing, except go through the whole request cycle.

Описание

resource eio_nop ([ int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_nop() does nothing, except go through the whole request cycle. Could be useful in debugging.

Список параметров

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_nop() returns request resource on success or FALSE on error.

Смотрите также

  • eio_busy
eio_mknod
eio_npending
Eio Функции


Returns number of finished, but unhandled requests

eio_nop
eio_nready
Eio Функции
PHP Manual

eio_npending

(PECL eio >= 0.0.1dev)

eio_npending — Returns number of finished, but unhandled requests

Описание

int eio_npending ( void )

eio_npending() returns number of finished, but unhandled requests

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_npending() returns number of finished, but unhandled requests.

Смотрите также

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_nop
eio_nready
Eio Функции


Returns number of not-yet handled requests

eio_npending
eio_nreqs
Eio Функции
PHP Manual

eio_nready

(PECL eio >= 0.0.1dev)

eio_nready — Returns number of not-yet handled requests

Описание

int eio_nready ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_nready() returns number of not-yet handled requests

Смотрите также

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_npending
eio_nreqs
Eio Функции


Returns number of requests to be processed

eio_nready
eio_nthreads
Eio Функции
PHP Manual

eio_nreqs

(PECL eio >= 0.0.1dev)

eio_nreqs — Returns number of requests to be processed

Описание

ReturnType eio_nreqs ( void )

eio_nreqs() could be called in a custom loop calling eio_poll().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_nreqs() returns number of requests to be processed.

Примеры

Пример #1 eio_nreqs() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    eio_poll();
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Смотрите также

  • eio_poll
  • eio_nready
eio_nready
eio_nthreads
Eio Функции


Returns number of threads currently in use

eio_nreqs
eio_open
Eio Функции
PHP Manual

eio_nthreads

(PECL eio >= 0.0.1dev)

eio_nthreads — Returns number of threads currently in use

Описание

int eio_nthreads ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_nthreads() returns number of threads currently in use.

Смотрите также

  • eio_npending
  • eio_nready
  • eio_nreqs
eio_nreqs
eio_open
Eio Функции


Opens a file

eio_nthreads
eio_poll
Eio Функции
PHP Manual

eio_open

(PECL eio >= 0.0.1dev)

eio_open — Opens a file

Описание

resource eio_open ( string $path , int $flags , int $mode , int $pri , mixed $callback [, mixed $data = NULL ] )

eio_open() opens file specified by path in access mode mode with

Список параметров

path

Path of the file to be opened.

Внимание

In some SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.

flags

One of EIO_O_* constants, or their combinations. EIO_O_* constants have the same meaning, as their corresponding O_* counterparts defined in fnctl.h C header file. Default is EIO_O_RDWR.

mode

One of EIO_S_I* constants, or their combination (via bitwise OR operator). The constants have the same meaning as their S_I* counterparts defined in » sys/stat.h C header file. Required, if a file is created. Otherwise ignored.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_open() returns file descriptor in result argument of callback on success; otherwise, result is equal to -1.

Примеры

Пример #1 eio_open() example

<?php
$temp_filename = "eio-temp-file.tmp";

/* Is called when eio_close() finishes */
function my_close_cb($data, $result) {
 // Zero indicates success
    var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() finishes */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    var_dump($result > 0);

    if ($result > 0) {
  // Close the file
        eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
        eio_event_loop();
    }
}

// Create new file for reading and writing
// Deny group and others to do anything with that file
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)

Смотрите также

  • eio_mknod
eio_nthreads
eio_poll
Eio Функции


Can be to be called whenever there are pending requests that need finishing.

eio_open
eio_read
Eio Функции
PHP Manual

eio_poll

(PECL eio >= 0.0.1dev)

eio_poll — Can be to be called whenever there are pending requests that need finishing.

Описание

int eio_poll ( void )

eio_poll() can be used to implement special event loop. For this eio_nreqs() could be used to test if there are unprocessed requests.

Замечание:

Applicable only when implementing userspace event loop.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

If any request invocation returns a non-zero value, returns that value. Otherwise, it returns 0.

Примеры

Пример #1 eio_poll() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    // Some specific IPC or so
    eio_poll();
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Смотрите также

  • eio_nreqs
eio_open
eio_read
Eio Функции


Read from a file descriptor at given offset.

eio_poll
eio_readahead
Eio Функции
PHP Manual

eio_read

(PECL eio >= 0.0.1dev)

eio_read — Read from a file descriptor at given offset.

Описание

resource eio_read ( int $fd , int $length , int $offset , int $pri , mixed $callback [, mixed $data = NULL ] )

eio_read() reads up to length bytes from fd file descriptor at offset. The read bytes are stored in result argument of callback.

Список параметров

fd

The file descriptor

length

Maximum number of bytes to read.

offset

Offset within the file.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_read() stores read bytes in result argument of callback function.

Примеры

Пример #1 eio_read() example

<?php
// Open a temporary file and write some bytes there
$temp_filename = "eio-temp-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "1234567890");
fclose($fp);

/* Is called when eio_read() is done */
function my_read_cb($data, $result) {
    global $temp_filename;

 // Output read bytes
    var_dump($result);

 // Close file
    eio_close($data);
    eio_event_loop();

 // Remove temporary file
    @unlink($temp_filename);
}

/* Is called when eio_open() is done */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    if ($result > 0) {
  // Read 5 bytes starting from third
        eio_read($result, 5, 2, EIO_PRI_DEFAULT, "my_read_cb", $result);
        eio_event_loop();
    } else {
  // eio_open() failed
        unlink($data);
    }
}

// Open the file for reading and writing
eio_open($temp_filename, EIO_O_RDWR, NULL,
    EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "34567"

Смотрите также

  • eio_open
  • eio_write
  • eio_close
  • eio_event_loop
eio_poll
eio_readahead
Eio Функции


Perform file readahead into page cache

eio_read
eio_readdir
Eio Функции
PHP Manual

eio_readahead

(PECL eio >= 0.0.1dev)

eio_readahead — Perform file readahead into page cache

Описание

resource eio_readahead ( int $fd , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_readahead() populates the page cache with data from a file so that subsequent reads from that file will not block on disk I/O. See READAHEAD(2) man page for details.

Список параметров

fd

The file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_readahead() returns request resource on success or FALSE on error.

eio_read
eio_readdir
Eio Функции


Reads through a whole directory

eio_readahead
eio_readlink
Eio Функции
PHP Manual

eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir — Reads through a whole directory

Описание

resource eio_readdir ( string $path , int $flags , int $pri , mixed $callback [, string $data = NULL ] )

Reads through a whole directory(via the opendir, readdir and closedir system calls) and returns either the names or an array in result argument of callback function, depending on the flags argument.

Список параметров

path

Directory path.

flags

Combination of EIO_READDIR_* constants.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_readdir() returns request resource on success, or FALSE on error. Sets result argument of callback function according to flags:

EIO_READDIR_DENTS (integer)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (integer)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (integer)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (integer)

Node types:

EIO_DT_UNKNOWN (integer)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (integer)
FIFO node type
EIO_DT_CHR (integer)
Node type
EIO_DT_MPC (integer)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (integer)
Directory node type
EIO_DT_NAM (integer)
Xenix special named file node type
EIO_DT_BLK (integer)
Node type
EIO_DT_MPB (integer)
Multiplexed block device (v7+coherent)
EIO_DT_REG (integer)
Node type
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
HP-UX network special node type
EIO_DT_LNK (integer)
Link node type
EIO_DT_SOCK (integer)
Socket node type
EIO_DT_DOOR (integer)
Solaris door node type
EIO_DT_WHT (integer)
Node type
EIO_DT_MAX (integer)
Highest node type value

Примеры

Пример #1 eio_readdir() example

<?php
/* Is called when eio_readdir() finishes */
function my_readdir_callback($data, $result) {
    echo __FUNCTION__, " called\n";
    echo "data: "; var_dump($data);
    echo "result: "; var_dump($result);
    echo "\n";
}

eio_readdir("/var/spool/news", EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST,
  EIO_PRI_DEFAULT, "my_readdir_callback");
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

my_readdir_callback called
data: NULL
result: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}
eio_readahead
eio_readlink
Eio Функции


Read value of a symbolic link.

eio_readdir
eio_realpath
Eio Функции
PHP Manual

eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Read value of a symbolic link.

Описание

resource eio_readlink ( string $path , int $pri , mixed $callback [, string $data = NULL ] )

Список параметров

path

Source symbolic link path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_readlink() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_readlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
string(16) "/tmp/symlink.dat"

Смотрите также

  • eio_symlink
eio_readdir
eio_realpath
Eio Функции


Get the canonicalized absolute pathname.

eio_readlink
eio_rename
Eio Функции
PHP Manual

eio_realpath

(PECL eio >= 0.0.1dev)

eio_realpath — Get the canonicalized absolute pathname.

Описание

resource eio_realpath ( string $path , int $pri , mixed $callback [, string $data = NULL ] )

eio_realpath() returns the canonicalized absolute pathname in result argument of callback function.

Список параметров

path

Short pathname

pri

callback

data

Возвращаемые значения

Примеры

Пример #1 eio_realpath() example

<?php
var_dump(getcwd());

function my_realpath_allback($data, $result) {
    var_dump($result);
}

eio_realpath("../", EIO_PRI_DEFAULT, "my_realpath_allback");
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(12) "/home/ruslan"
string(5) "/home"
eio_readlink
eio_rename
Eio Функции


Change the name or location of a file.

eio_realpath
eio_rmdir
Eio Функции
PHP Manual

eio_rename

(PECL eio >= 0.0.1dev)

eio_rename — Change the name or location of a file.

Описание

resource eio_rename ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_rename() renames or moves a file to new location.

Список параметров

path

Source path

new_path

Target path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_rename() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_rename() example

<?php
$filename = dirname(__FILE__)."/eio-temp-file.dat";
touch($filename);
$new_filename = dirname(__FILE__)."/eio-temp-file-new.dat";

function my_rename_cb($data, $result) {
    global $filename, $new_filename;

    if ($result == 0 && !file_exists($filename) && file_exists($new_filename)) {
        @unlink($new_filename);
        echo "eio_rename_ok";
    } else {
        @unlink($filename);
    }
}

eio_rename($filename, $new_filename, EIO_PRI_DEFAULT, "my_rename_cb", $filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

eio_rename_ok
eio_realpath
eio_rmdir
Eio Функции


Remove a directory

eio_rename
eio_sendfile
Eio Функции
PHP Manual

eio_rmdir

(PECL eio >= 0.0.1dev)

eio_rmdir — Remove a directory

Описание

ReturnType eio_rmdir ( string $path [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_rmdir() removes a directory.

Список параметров

path

Directory path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_rmdir() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_rmdir() example

<?php
$temp_dirname = "eio-temp-dir";
mkdir($temp_dirname);

function my_rmdir_callback($data, $result) {
    if ($result == 0 && !file_exists($data)) {
        echo "eio_rmdir_ok";
    } else if (file_exists($data)) {
        rmdir($data);
    }
}

eio_rmdir($temp_dirname, EIO_PRI_DEFAULT, "my_rmdir_callback", $temp_dirname);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

eio_rmdir_ok

Смотрите также

  • eio_mkdir
eio_rename
eio_sendfile
Eio Функции


Transfer data between file descriptors

eio_rmdir
eio_set_max_idle
Eio Функции
PHP Manual

eio_sendfile

(PECL eio >= 0.0.1dev)

eio_sendfile — Transfer data between file descriptors

Описание

ReturnType eio_sendfile ( string $out_fd , string $in_fd , string $offset , string $length [, string $pri [, string $callback [, string $data ]]] )

eio_sendfile() copies data between one file descriptor and another. See SENDFILE(2) man page for details.

Список параметров

out_fd

Output file descriptor. Should be opened for writing.

in_fd

Input file descriptor. Should be opened for reading.

offset

Offset within the source file.

length

Number of bytes to copy.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_sendfile() returns request resource on success or FALSE on error.

eio_rmdir
eio_set_max_idle
Eio Функции


Set maximum number of idle threads.

eio_sendfile
eio_set_max_parallel
Eio Функции
PHP Manual

eio_set_max_idle

(PECL eio >= 0.0.1dev)

eio_set_max_idle — Set maximum number of idle threads.

Описание

void eio_set_max_idle ( int $nthreads )

Список параметров

nthreads

Number of idle threads.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • eio_set_min_parallel
  • eio_set_max_parallel
eio_sendfile
eio_set_max_parallel
Eio Функции


Set maximum parallel threads

eio_set_max_idle
eio_set_max_poll_reqs
Eio Функции
PHP Manual

eio_set_max_parallel

(PECL eio >= 0.0.1dev)

eio_set_max_parallel — Set maximum parallel threads

Описание

void eio_set_max_parallel ( int $nthreads )

Список параметров

nthreads

Number of parallel threads

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • eio_set_min_parallel
eio_set_max_idle
eio_set_max_poll_reqs
Eio Функции


Set maximum number of requests processed in a poll.

eio_set_max_parallel
eio_set_max_poll_time
Eio Функции
PHP Manual

eio_set_max_poll_reqs

(PECL eio >= 0.0.1dev)

eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.

Описание

void eio_set_max_poll_reqs ( int $nreqs )

Список параметров

nreqs

Number of requests

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

eio_set_max_parallel
eio_set_max_poll_time
Eio Функции


Set maximum poll time

eio_set_max_poll_reqs
eio_set_min_parallel
Eio Функции
PHP Manual

eio_set_max_poll_time

(PECL eio >= 0.0.1dev)

eio_set_max_poll_time — Set maximum poll time

Описание

void eio_set_max_poll_time ( double $nseconds )

Polling stops, if poll took longer than nseconds seconds.

Список параметров

nseconds

Number of seconds

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

eio_set_max_poll_reqs
eio_set_min_parallel
Eio Функции


Set minimum parallel thread number

eio_set_max_poll_time
eio_stat
Eio Функции
PHP Manual

eio_set_min_parallel

(PECL eio >= 0.0.1dev)

eio_set_min_parallel — Set minimum parallel thread number

Описание

void eio_set_min_parallel ( string $nthreads )

Список параметров

nthreads

Number of parallel threads.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • eio_set_max_parallel
eio_set_max_poll_time
eio_stat
Eio Функции


Get file status

eio_set_min_parallel
eio_statvfs
Eio Функции
PHP Manual

eio_stat

(PECL eio >= 0.0.1dev)

eio_stat — Get file status

Описание

resource eio_stat ( string $path , int $pri , mixed $callback [, mixed $data = NULL ] )

eio_stat() returns file status information in result argument of callback

Список параметров

path

The file path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_stat() returns request resource on success or FALSE on error. On success assigns result argument of callback to an array.

Примеры

Пример #1 eio_stat() example

<?php
$tmp_filename = "eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_stat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_stat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(8) "eio_stat"
array(12) {
  ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489173)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318250380)
  ["st_mtime"]=>
  int(1318250380)
  ["st_ctime"]=>
  int(1318250380)
}

Смотрите также

  • eio_lstat
  • eio_fstat
eio_set_min_parallel
eio_statvfs
Eio Функции


Get file system statistics

eio_stat
eio_symlink
Eio Функции
PHP Manual

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfs — Get file system statistics

Описание

resource eio_statvfs ( string $path , int $pri , mixed $callback [, mixed $data ] )

eio_statvfs() returns file system statistics information in result argument of callback

Список параметров

path

Pathname of any file within the mounted file system

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_statvfs() returns request resource on success or FALSE on error. On success assigns result argument of callback to an array.

Примеры

Пример #1 eio_statvfs() example

<?php
$tmp_filename = '/tmp/eio-file.tmp';
touch($tmp_filename);

function my_statvfs_callback($data, $result) {
    var_dump($data);
    var_dump($result);

 @unlink($data);
}

eio_statvfs($tmp_filename, EIO_PRI_DEFAULT, "my_statvfs_callback", $tmp_filename);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}
eio_stat
eio_symlink
Eio Функции


Create a symbolic link

eio_statvfs
eio_sync_file_range
Eio Функции
PHP Manual

eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — Create a symbolic link

Описание

ReturnType eio_symlink ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_symlink() creates a symbolic link new_path to path.

Список параметров

path

Source path

new_path

Target path

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_symlink() returns request resource on success or FALSE on error.

Примеры

Пример #1 eio_symlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
eio_event_loop();
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
string(16) "/tmp/symlink.dat"

Смотрите также

  • eio_link
eio_statvfs
eio_sync_file_range
Eio Функции


Sync a file segment with disk

eio_symlink
eio_sync
Eio Функции
PHP Manual

eio_sync_file_range

(PECL eio >= 0.0.1dev)

eio_sync_file_range — Sync a file segment with disk

Описание

resource eio_sync_file_range ( int $fd , int $offset , int $nbytes , int $flags [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file descriptor fd with disk.

Список параметров

fd

File descriptor

offset

The starting byte of the file range to be synchronized

nbytes

Specifies the length of the range to be synchronized, in bytes. If nbytes is zero, then all bytes from offset through to the end of file are synchronized.

flags

A bit-mask. Can include any of the following values: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have the same meaning as their SYNC_FILE_RANGE_* counterparts(see SYNC_FILE_RANGE(2) man page).

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_sync_file_range() returns request resource on success or FALSE on error.

eio_symlink
eio_sync
Eio Функции


Commit buffer cache to disk

eio_sync_file_range
eio_syncfs
Eio Функции
PHP Manual

eio_sync

(PECL eio >= 0.0.1dev)

eio_sync — Commit buffer cache to disk

Описание

resource eio_sync ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

eio_sync() returns request resource on success or FALSE on error.

eio_sync_file_range
eio_syncfs
Eio Функции


Calls Linux' syncfs syscall, if available

eio_sync
eio_truncate
Eio Функции
PHP Manual

eio_syncfs

(PECL eio >= 0.0.1dev)

eio_syncfs — Calls Linux' syncfs syscall, if available

Описание

resource eio_syncfs ( string $fd [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

Список параметров

fd

File descriptor

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_syncfs() returns request resource on success or FALSE on error.

eio_sync
eio_truncate
Eio Функции


Truncate a file

eio_syncfs
eio_unlink
Eio Функции
PHP Manual

eio_truncate

(PECL eio >= 0.0.1dev)

eio_truncate — Truncate a file

Описание

resource eio_truncate ( string $path , int $offset [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_truncate() causes the regular file named by path to be truncated to a size of precisely length bytes

Список параметров

path

File path

offset

Offset from beginning of the file.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_busy() returns request resource on success or FALSE on error.

Смотрите также

  • eio_ftruncate
eio_syncfs
eio_unlink
Eio Функции


Delete a name and possibly the file it refers to

eio_truncate
eio_utime
Eio Функции
PHP Manual

eio_unlink

(PECL eio >= 0.0.1dev)

eio_unlink — Delete a name and possibly the file it refers to

Описание

ReturnType eio_unlink ( string $path [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

eio_unlink() deletes a name from the file system.

Список параметров

path

Path to file

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_unlink() returns request resource on success or FALSE on error.

eio_truncate
eio_utime
Eio Функции


Change file last access and modification times.

eio_unlink
eio_write
Eio Функции
PHP Manual

eio_utime

(PECL eio >= 0.0.1dev)

eio_utime — Change file last access and modification times.

Описание

resource eio_utime ( string $path , int $atime , int $mtime [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]] )

Список параметров

path

Path to the file.

atime

Access time

mtime

Modification time

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_utime() returns request resource on success or FALSE on error.

Смотрите также

  • eio_futime
eio_unlink
eio_write
Eio Функции


Write to file

eio_utime
Expect
Eio Функции
PHP Manual

eio_write

(PECL eio >= 0.0.1dev)

eio_write — Write to file

Описание

resource eio_write ( int $fd , string &$str [, int $length [, int $offset [, int $pri = EIO_PRI_DEFAULT [, mixed $callback = NULL [, mixed $data = NULL ]]]]] )

eio_write() writes up to length bytes from str at offset offset from the beginning of the file.

Список параметров

fd

The file descriptor, e.g. returned by eio_open()

str

Source string

length

Maximum number of bytes to write.

offset

Offset from the beginning of file.

pri

Приоритет запросов: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, или NULL. Если передан NULL, то pri устанавливается в EIO_PRI_DEFAULT.

callback

Функция callback вызывается при завершении запроса. Она должна удовлетворять следующему прототипу:

void callback($data, $result);
$data является пользовательскими данными, переданными в запросе. $result содержит результирующее значение зависящее от запроса; обычно, это значение возвращаемое соответствующим системным вызовом.

data

Arbitrary variable passed to callback.

Возвращаемые значения

eio_write() returns request resource on success or FALSE on error.

Смотрите также

  • eio_open
eio_utime
Expect
Eio Функции


Expect

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Expect Usage Examples
  • Expect Функции
    • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process
eio_write
Введение
Расширения для управления процессами программ


Введение

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.

Expect
Установка и настройка
Expect


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Expect


Требования

This module uses the functions of the » expect library. You need libexpect version >= 5.43.0.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/expect.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

Expect Опции настройки
Имя | По умолчанию | Меняемо | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

expect.timeout integer

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

Замечание:

A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser boolean

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

Замечание:

If this configuration is not empty, the output is written regardless of the value of expect.loguser.

expect.match_max integer

Changes default size (2000 bytes) of the buffer used to match asterisks in patterns.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

expect_popen() returns an open PTY stream used by expect_expectl().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

EXP_GLOB (integer)
Indicates that the pattern is a glob-style string pattern.
EXP_EXACT (integer)
Indicates that the pattern is an exact string.
EXP_REGEXP (integer)
Indicates that the pattern is a regexp-style string pattern.
EXP_EOF (integer)
Value, returned by expect_expectl(), when EOF is reached.
EXP_TIMEOUT (integer)
Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout
EXP_FULLBUFFER (integer)
Value, returned by expect_expectl() if no pattern have been matched.
Типы ресурсов
Примеры
Expect


Примеры

Содержание

  • Expect Usage Examples
Предопределенные константы
Expect Usage Examples
Expect


Expect Usage Examples

Пример #1 Expect Usage Example

This example connects to the remote host via SSH, and prints the remote uptime.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
    array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
    case PASSWORD:
        fwrite ($stream, "password\n");
        break;

    default:
        die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets($stream)) {
      print $line;
}
fclose ($stream);
?>

The following example connects to the remote host, determines whether installed OS is for 32 or 64 bit, then runs update for specific package.

Пример #2 Another Expect Usage Example

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH is asking for password
            array ("yes/no)?", YESNO), // SSH is asking whether to store the host entry
            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // uname -a output
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Run update:
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Error has occurred!\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Error has occurred!\n");
    }
}

fclose ($stream);
?>
Примеры
Expect Функции
Примеры


Expect Функции

Содержание

  • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
  • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process
Expect Usage Examples
expect_expectl
Expect


Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Expect Функции
expect_popen
Expect Функции
PHP Manual

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Описание

int expect_expectl ( resource $expect , array $cases [, array &$match ] )

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

Список параметров

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

Expect Case Array
Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

Возвращаемые значения

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

Список изменений

Версия | Описание
0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

Примеры

Пример #1 expect_expectl() example

<?php
// Copies file from remote host:
ini_set("expect.timeout", 30);

$stream = fopen("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array(
    // array(pattern, value to return if pattern matched)
    array("password:", "asked for password"),
    array("yes/no)?",  "asked for yes/no")
);

while (true) {
    switch (expect_expectl($stream, $cases)) {
        case "asked for password":
            fwrite($stream, "my password\n");
            break;
        case "asked for yes/no":
            fwrite($stream, "yes\n");
            break;
        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2; // break both the switch statement and the while loop
        default:
            die "Error has occurred!";
    }
}

fclose($stream);
?>

Смотрите также

  • expect_popen() - Execute command via Bourne shell, and open the PTY stream to the process

Expect Функции
expect_popen
Expect Функции


Execute command via Bourne shell, and open the PTY stream to the process

expect_expectl
Libevent
Expect Функции
PHP Manual

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Execute command via Bourne shell, and open the PTY stream to the process

Описание

resource expect_popen ( string $command )

Execute command via Bourne shell, and open the PTY stream to the process.

Список параметров

command

Command to execute.

Возвращаемые значения

Returns an open PTY stream to the processes stdio, stdout, and stderr.

On failure this function returns FALSE.

Примеры

Пример #1 expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Смотрите также

  • popen() - Открывает файловый указатель процесса

expect_expectl
Libevent
Expect Функции


Libevent

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Libevent Функции
    • event_add — Add an event to the set of monitored events
    • event_base_free — Destroy event base
    • event_base_loop — Handle events
    • event_base_loopbreak — Abort event loop
    • event_base_loopexit — Exit loop after a time
    • event_base_new — Create and initialize new event base
    • event_base_priority_init — Set the number of event priority levels
    • event_base_set — Associate event base with an event
    • event_buffer_base_set — Associate buffered event with an event base
    • event_buffer_disable — Disable a buffered event
    • event_buffer_enable — Enable a buffered event
    • event_buffer_fd_set — Change a buffered event file descriptor
    • event_buffer_free — Destroy buffered event
    • event_buffer_new — Create new buffered event
    • event_buffer_priority_set — Assign a priority to a buffered event
    • event_buffer_read — Read data from a buffered event
    • event_buffer_set_callback — Set or reset callbacks for a buffered event
    • event_buffer_timeout_set — Set read and write timeouts for a buffered event
    • event_buffer_watermark_set — Set the watermarks for read and write events
    • event_buffer_write — Write data to a buffered event
    • event_del — Remove an event from the set of monitored events
    • event_free — Free event resource
    • event_new — Create new event
    • event_set — Prepare an event
expect_popen
Введение
Расширения для управления процессами программ


Введение

Libevent is a library that provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached.

More information about Libevent can be found at » http://www.monkey.org/~provos/libevent/.

Libevent
Установка и настройка
Libevent


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Libevent


Требования

This extension requires » libevent library. Minimal required version is 1.4.0.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/libevent.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There are several resource types used in the extension. These resources are event, event base and buffered event.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

EV_TIMEOUT (integer)
EV_READ (integer)
EV_WRITE (integer)
EV_SIGNAL (integer)
EV_PERSIST (integer)
EVLOOP_NONBLOCK (integer)
EVLOOP_ONCE (integer)
Типы ресурсов
Примеры
Libevent


Примеры

Пример #1 polling STDIN using basic API

<?php

function print_line($fd, $events, $arg)
{
    static $max_requests = 0;

    $max_requests++;

    if ($max_requests == 10) {
        // exit loop after 10 writes
        event_base_loopexit($arg[1]);
    }

    // print the line
    echo  fgets($fd);
}

// create base and event
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// set event flags
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// set event base
event_base_set($event, $base);

// enable event
event_add($event);
// start event loop
event_base_loop($base);

?>

Пример #2 polling STDIN using buffered event API

<?php

function print_line($buf, $arg)
{
    static $max_requests;

    $max_requests++;

    if ($max_requests == 10) {
        event_base_loopexit($arg);
    }

    // print the line
    echo event_buffer_read($buf, 4096);
}

function error_func($buf, $what, $arg)
{
    // handle errors
}

$base = event_base_new();
$eb = event_buffer_new(STDIN, "print_line", NULL, "error_func", $base);

event_buffer_base_set($eb, $base);
event_buffer_enable($eb, EV_READ);

event_base_loop($base);

?>

Предопределенные константы
Libevent Функции
Libevent


Libevent Функции

Содержание

  • event_add — Add an event to the set of monitored events
  • event_base_free — Destroy event base
  • event_base_loop — Handle events
  • event_base_loopbreak — Abort event loop
  • event_base_loopexit — Exit loop after a time
  • event_base_new — Create and initialize new event base
  • event_base_priority_init — Set the number of event priority levels
  • event_base_set — Associate event base with an event
  • event_buffer_base_set — Associate buffered event with an event base
  • event_buffer_disable — Disable a buffered event
  • event_buffer_enable — Enable a buffered event
  • event_buffer_fd_set — Change a buffered event file descriptor
  • event_buffer_free — Destroy buffered event
  • event_buffer_new — Create new buffered event
  • event_buffer_priority_set — Assign a priority to a buffered event
  • event_buffer_read — Read data from a buffered event
  • event_buffer_set_callback — Set or reset callbacks for a buffered event
  • event_buffer_timeout_set — Set read and write timeouts for a buffered event
  • event_buffer_watermark_set — Set the watermarks for read and write events
  • event_buffer_write — Write data to a buffered event
  • event_del — Remove an event from the set of monitored events
  • event_free — Free event resource
  • event_new — Create new event
  • event_set — Prepare an event
Примеры
event_add
Libevent


Add an event to the set of monitored events

Libevent Функции
event_base_free
Libevent Функции
PHP Manual

event_add

(PECL libevent >= 0.0.1)

event_add — Add an event to the set of monitored events

Описание

bool event_add ( resource $event [, int $timeout = -1 ] )

event_add() schedules the execution of the event when the event specified in event_set() occurs or in at least the time specified by the timeout argument. If timeout was not specified, not timeout is set. The event must be already initalized by event_set() and event_base_set() functions. If the event already has a timeout set, it is replaced by the new one.

Список параметров

event

Valid event resource.

timeout

Optional timeout (in microseconds).

Возвращаемые значения

event_add() returns TRUE on success or FALSE on error.

Libevent Функции
event_base_free
Libevent Функции


Destroy event base

event_add
event_base_loop
Libevent Функции
PHP Manual

event_base_free

(PECL libevent >= 0.0.1)

event_base_free — Destroy event base

Описание

void event_base_free ( resource $event_base )

Destroys the specified event_base and frees all the resources associated. Note that it's not possible to destroy an event base with events attached to it.

Список параметров

event_base

Valid event base resource.

event_add
event_base_loop
Libevent Функции


Handle events

event_base_free
event_base_loopbreak
Libevent Функции
PHP Manual

event_base_loop

(PECL libevent >= 0.0.1)

event_base_loop — Handle events

Описание

int event_base_loop ( resource $event_base [, int $flags = 0 ] )

Starts event loop for the specified event base.

Список параметров

event_base

Valid event base resource.

flags

Optional parameter, which can take any combination of EVLOOP_ONCE and EVLOOP_NONBLOCK.

Возвращаемые значения

event_base_loop() returns 0 on success, -1 on error and 1 if no events were registered.

event_base_free
event_base_loopbreak
Libevent Функции


Abort event loop

event_base_loop
event_base_loopexit
Libevent Функции
PHP Manual

event_base_loopbreak

(PECL libevent >= 0.0.1)

event_base_loopbreak — Abort event loop

Описание

bool event_base_loopbreak ( resource $event_base )

Abort the active event loop immediately. The behaviour is similar to break statement.

Список параметров

event_base

Valid event base resource.

Возвращаемые значения

event_base_loopbreak() returns TRUE on success or FALSE on error.

event_base_loop
event_base_loopexit
Libevent Функции


Exit loop after a time

event_base_loopbreak
event_base_new
Libevent Функции
PHP Manual

event_base_loopexit

(PECL libevent >= 0.0.1)

event_base_loopexit — Exit loop after a time

Описание

bool event_base_loopexit ( resource $event_base [, int $timeout = -1 ] )

The next event loop iteration after the given timer expires will complete normally, then exit without blocking for events again.

Список параметров

event_base

Valid event base resource.

timeout

Optional timeout parameter (in microseconds).

Возвращаемые значения

event_base_loopexit() returns TRUE on success or FALSE on error.

event_base_loopbreak
event_base_new
Libevent Функции


Create and initialize new event base

event_base_loopexit
event_base_priority_init
Libevent Функции
PHP Manual

event_base_new

(PECL libevent >= 0.0.1)

event_base_new — Create and initialize new event base

Описание

resource event_base_new ( void )

Returns new event base, which can be used later in event_base_set(), event_base_loop() and other functions.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

event_base_new() returns valid event base resource on success or FALSE on error.

event_base_loopexit
event_base_priority_init
Libevent Функции


Set the number of event priority levels

event_base_new
event_base_set
Libevent Функции
PHP Manual

event_base_priority_init

(PECL libevent >= 0.0.2)

event_base_priority_init — Set the number of event priority levels

Описание

bool event_base_priority_init ( resource $event_base , int $npriorities )

Sets the number of different event priority levels.

By default all events are scheduled with the same priority (npriorities/2). Using event_base_priority_init() you can change the number of event priority levels and then set a desired priority for each event.

Список параметров

event_base

Valid event base resource.

npriorities

The number of event priority levels.

Возвращаемые значения

event_base_priority_init() returns TRUE on success or FALSE on error.

event_base_new
event_base_set
Libevent Функции


Associate event base with an event

event_base_priority_init
event_buffer_base_set
Libevent Функции
PHP Manual

event_base_set

(PECL libevent >= 0.0.1)

event_base_set — Associate event base with an event

Описание

bool event_base_set ( resource $event , resource $event_base )

Associates the event_base with the event.

Список параметров

event

Valid event resource.

event_base

Valid event base resource.

Возвращаемые значения

event_base_set() returns TRUE on success or FALSE on error.

event_base_priority_init
event_buffer_base_set
Libevent Функции


Associate buffered event with an event base

event_base_set
event_buffer_disable
Libevent Функции
PHP Manual

event_buffer_base_set

(PECL libevent >= 0.0.1)

event_buffer_base_set — Associate buffered event with an event base

Описание

bool event_buffer_base_set ( resource $bevent , resource $event_base )

Assign the specified bevent to the event_base.

Список параметров

bevent

Valid buffered event resource.

event_base

Valid event base resource.

Возвращаемые значения

event_buffer_base_set() returns TRUE on success or FALSE on error.

event_base_set
event_buffer_disable
Libevent Функции


Disable a buffered event

event_buffer_base_set
event_buffer_enable
Libevent Функции
PHP Manual

event_buffer_disable

(PECL libevent >= 0.0.1)

event_buffer_disable — Disable a buffered event

Описание

bool event_buffer_disable ( resource $bevent , int $events )

Disables the specified buffered event.

Список параметров

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

Возвращаемые значения

event_buffer_disable() returns TRUE on success or FALSE on error.

event_buffer_base_set
event_buffer_enable
Libevent Функции


Enable a buffered event

event_buffer_disable
event_buffer_fd_set
Libevent Функции
PHP Manual

event_buffer_enable

(PECL libevent >= 0.0.1)

event_buffer_enable — Enable a buffered event

Описание

bool event_buffer_enable ( resource $bevent , int $events )

Enables the specified buffered event.

Список параметров

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

Возвращаемые значения

event_buffer_enable() returns TRUE on success or FALSE on error.

event_buffer_disable
event_buffer_fd_set
Libevent Функции


Change a buffered event file descriptor

event_buffer_enable
event_buffer_free
Libevent Функции
PHP Manual

event_buffer_fd_set

(PECL libevent >= 0.0.1)

event_buffer_fd_set — Change a buffered event file descriptor

Описание

void event_buffer_fd_set ( resource $bevent , resource $fd )

Changes the file descriptor on which the buffered event operates.

Список параметров

bevent

Valid buffered event resource.

fd

Valid PHP stream, must be castable to file descriptor.

event_buffer_enable
event_buffer_free
Libevent Функции


Destroy buffered event

event_buffer_fd_set
event_buffer_new
Libevent Функции
PHP Manual

event_buffer_free

(PECL libevent >= 0.0.1)

event_buffer_free — Destroy buffered event

Описание

void event_buffer_free ( resource $bevent )

Destroys the specified buffered event and frees all the resources associated.

Список параметров

bevent

Valid buffered event resource.

event_buffer_fd_set
event_buffer_new
Libevent Функции


Create new buffered event

event_buffer_free
event_buffer_priority_set
Libevent Функции
PHP Manual

event_buffer_new

(PECL libevent >= 0.0.1)

event_buffer_new — Create new buffered event

Описание

resource event_buffer_new ( resource $stream , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Libevent provides an abstraction layer on top of the regular event API. Using buffered event you don't need to deal with the I/O manually, instead it provides input and output buffers that get filled and drained automatically.

Список параметров

stream

Valid PHP stream resource. Must be castable to file descriptor.

readcb

Callback to invoke where there is data to read, or NULL if no callback is desired.

writecb

Callback to invoke where the descriptor is ready for writing, or NULL if no callback is desired.

errorcb

Callback to invoke where there is an error on the descriptor, cannot be NULL.

arg

An argument that will be passed to each of the callbacks (optional).

Возвращаемые значения

event_buffer_new() returns new buffered event resource on success or FALSE on error.

event_buffer_free
event_buffer_priority_set
Libevent Функции


Assign a priority to a buffered event

event_buffer_new
event_buffer_read
Libevent Функции
PHP Manual

event_buffer_priority_set

(PECL libevent >= 0.0.1)

event_buffer_priority_set — Assign a priority to a buffered event

Описание

bool event_buffer_priority_set ( resource $bevent , int $priority )

Assign a priority to the bevent.

Список параметров

bevent

Valid buffered event resource.

priority

Priority level. Cannot be less than zero and cannot exceed maximum priority level of the event base (see event_base_priority_init()).

Возвращаемые значения

event_buffer_priority_set() returns TRUE on success or FALSE on error.

event_buffer_new
event_buffer_read
Libevent Функции


Read data from a buffered event

event_buffer_priority_set
event_buffer_set_callback
Libevent Функции
PHP Manual

event_buffer_read

(PECL libevent >= 0.0.1)

event_buffer_read — Read data from a buffered event

Описание

string event_buffer_read ( resource $bevent , int $data_size )

Reads data from the input buffer of the buffered event.

Список параметров

bevent

Valid buffered event resource.

data_size

Data size in bytes.

event_buffer_priority_set
event_buffer_set_callback
Libevent Функции


Set or reset callbacks for a buffered event

event_buffer_read
event_buffer_timeout_set
Libevent Функции
PHP Manual

event_buffer_set_callback

(PECL libevent >= 0.0.4)

event_buffer_set_callback — Set or reset callbacks for a buffered event

Описание

bool event_buffer_set_callback ( resource $event , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Sets or changes existing callbacks for the buffered event.

Список параметров

event

Valid buffered event resource.

readcb

Callback to invoke where there is data to read, or NULL if no callback is desired.

writecb

Callback to invoke where the descriptor is ready for writing, or NULL if no callback is desired.

errorcb

Callback to invoke where there is an error on the descriptor, cannot be NULL.

arg

An argument that will be passed to each of the callbacks (optional).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

event_buffer_read
event_buffer_timeout_set
Libevent Функции


Set read and write timeouts for a buffered event

event_buffer_set_callback
event_buffer_watermark_set
Libevent Функции
PHP Manual

event_buffer_timeout_set

(PECL libevent >= 0.0.1)

event_buffer_timeout_set — Set read and write timeouts for a buffered event

Описание

void event_buffer_timeout_set ( resource $bevent , int $read_timeout , int $write_timeout )

Sets the read and write timeouts for the specified buffered event.

Список параметров

bevent

Valid buffered event resource.

read_timeout

Read timeout (in seconds).

write_timeout

Write timeout (in seconds).

event_buffer_set_callback
event_buffer_watermark_set
Libevent Функции


Set the watermarks for read and write events

event_buffer_timeout_set
event_buffer_write
Libevent Функции
PHP Manual

event_buffer_watermark_set

(PECL libevent >= 0.0.1)

event_buffer_watermark_set — Set the watermarks for read and write events

Описание

void event_buffer_watermark_set ( resource $bevent , int $events , int $lowmark , int $highmark )

Sets the watermarks for read and write events. Libevent does not invoke read callback unless there is at least lowmark bytes in the input buffer; if the read buffer is beyond the highmark, reading is stopped. On output, the write callback is invoked whenever the buffered data falls below the lowmark.

Список параметров

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

lowmark

Low watermark.

highmark

High watermark.

event_buffer_timeout_set
event_buffer_write
Libevent Функции


Write data to a buffered event

event_buffer_watermark_set
event_del
Libevent Функции
PHP Manual

event_buffer_write

(PECL libevent >= 0.0.1)

event_buffer_write — Write data to a buffered event

Описание

bool event_buffer_write ( resource $bevent , string $data [, int $data_size = -1 ] )

Writes data to the specified buffered event. The data is appended to the output buffer and written to the descriptor when it becomes available for writing.

Список параметров

bevent

Valid buffered event resource.

data

The data to be written.

data_size

Optional size parameter. event_buffer_write() writes all the data by default.

Возвращаемые значения

event_buffer_write() returns TRUE on success or FALSE on error.

event_buffer_watermark_set
event_del
Libevent Функции


Remove an event from the set of monitored events

event_buffer_write
event_free
Libevent Функции
PHP Manual

event_del

(PECL libevent >= 0.0.1)

event_del — Remove an event from the set of monitored events

Описание

bool event_del ( resource $event )

Cancels the event.

Список параметров

event

Valid event resource.

Возвращаемые значения

event_del() returns TRUE on success or FALSE on error.

event_buffer_write
event_free
Libevent Функции


Free event resource

event_del
event_new
Libevent Функции
PHP Manual

event_free

(PECL libevent >= 0.0.1)

event_free — Free event resource

Описание

void event_free ( resource $event )

Frees previously created event resource.

Список параметров

event

Valid event resource.

event_del
event_new
Libevent Функции


Create new event

event_free
event_set
Libevent Функции
PHP Manual

event_new

(PECL libevent >= 0.0.1)

event_new — Create new event

Описание

resource event_new ( void )

Creates and returns a new event resource.

Возвращаемые значения

event_new() returns a new event resource on success or FALSE on error.

event_free
event_set
Libevent Функции


Prepare an event

event_new
PCNTL
Libevent Функции
PHP Manual

event_set

(PECL libevent >= 0.0.1)

event_set — Prepare an event

Описание

bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )

Prepares the event to be used in event_add(). The event is prepared to call the function specified by the callback on the events specified in parameter events, which is a set of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.

If EV_SIGNAL bit is set in parameter events, the fd is interpreted as signal number.

After initializing the event, use event_base_set() to associate the event with its event base.

In case of matching event, these three arguments are passed to the callback function:

fd

Signal number or resource indicating the stream.

events

A flag indicating the event. Consists of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.

arg

Optional parameter, previously passed to event_set() as arg.

Список параметров

event

Valid event resource.

fd

Valid PHP stream resource. The stream must be castable to file descriptor, so you most likely won't be able to use any of filtered streams.

events

A set of flags indicating the desired event, can be EV_READ and/or EV_WRITE. The additional flag EV_PERSIST makes the event to persist until event_del() is called, otherwise the callback is invoked only once.

callback

Callback function to be called when the matching event occurs.

arg

Optional callback parameter.

Возвращаемые значения

event_set() returns TRUE on success or FALSE on error.

Список изменений

Версия | Описание
0.0.4 | EV_SIGNAL support was added.
event_new
PCNTL
Libevent Функции


Process Control

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • PCNTL Функции
    • pcntl_alarm — Set an alarm clock for delivery of a signal
    • pcntl_exec — Executes specified program in current process space
    • pcntl_fork — Forks the currently running process
    • pcntl_getpriority — Get the priority of any process
    • pcntl_setpriority — Change the priority of any process
    • pcntl_signal_dispatch — Calls signal handlers for pending signals
    • pcntl_signal — Installs a signal handler
    • pcntl_sigprocmask — Sets and retrieves blocked signals
    • pcntl_sigtimedwait — Waits for signals, with a timeout
    • pcntl_sigwaitinfo — Waits for signals
    • pcntl_wait — Waits on or returns the status of a forked child
    • pcntl_waitpid — Waits on or returns the status of a forked child
    • pcntl_wexitstatus — Returns the return code of a terminated child
    • pcntl_wifexited — Checks if status code represents a normal exit
    • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
    • pcntl_wifstopped — Checks whether the child process is currently stopped
    • pcntl_wstopsig — Returns the signal which caused the child to stop
    • pcntl_wtermsig — Returns the signal which caused the child to terminate
event_set
Введение
Расширения для управления процессами программ


Введение

Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.

This documentation is intended to explain the general usage of each of the Process Control functions. For detailed information about Unix process control you are encouraged to consult your systems documentation including fork(2), waitpid(2) and signal(2) or a comprehensive reference such as Advanced Programming in the UNIX Environment by W. Richard Stevens (Addison-Wesley).

PCNTL now uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You use the declare() statement to specify the locations in your program where callbacks are allowed to occur. This allows you to minimize the overhead of handling asynchronous events. In the past, compiling PHP with pcntl enabled would always incur this overhead, whether or not your script actually used pcntl.

There is one adjustment that all pcntl scripts prior to PHP 4.3.0 must make for them to work which is to either to use declare() on a section where you wish to allow callbacks or to just enable it across the entire script using the new global syntax of declare().

Замечание: Для Windows-платформ это расширение недоступно.

PCNTL
Установка и настройка
PCNTL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PCNTL


Установка

Process Control support in PHP is not enabled by default. You have to compile the CGI or CLI version of PHP with --enable-pcntl configuration option when compiling PHP to enable Process Control support.

Замечание:

Currently, this module will not function on non-Unix platforms (Windows).

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

The following list of signals are supported by the Process Control functions. Please see your systems signal(7) man page for details of the default behavior of these signals.

WNOHANG (integer)
WUNTRACED (integer)
SIG_IGN (integer)
SIG_DFL (integer)
SIG_ERR (integer)
SIGHUP (integer)
SIGINT (integer)
SIGQUIT (integer)
SIGILL (integer)
SIGTRAP (integer)
SIGABRT (integer)
SIGIOT (integer)
SIGBUS (integer)
SIGFPE (integer)
SIGKILL (integer)
SIGUSR1 (integer)
SIGSEGV (integer)
SIGUSR2 (integer)
SIGPIPE (integer)
SIGALRM (integer)
SIGTERM (integer)
SIGSTKFLT (integer)
SIGCLD (integer)
SIGCHLD (integer)
SIGCONT (integer)
SIGSTOP (integer)
SIGTSTP (integer)
SIGTTIN (integer)
SIGTTOU (integer)
SIGURG (integer)
SIGXCPU (integer)
SIGXFSZ (integer)
SIGVTALRM (integer)
SIGPROF (integer)
SIGWINCH (integer)
SIGPOLL (integer)
SIGIO (integer)
SIGPWR (integer)
SIGSYS (integer)
SIGBABY (integer)
SIG_BLOCK (integer)
Available since PHP 5.3.0.
SIG_UNBLOCK (integer)
Available since PHP 5.3.0.
SIG_SETMASK (integer)
Available since PHP 5.3.0.
SI_USER (integer)
Available since PHP 5.3.0.
SI_NOINFO (integer)
Available since PHP 5.3.0.
SI_KERNEL (integer)
Available since PHP 5.3.0.
SI_QUEUE (integer)
Available since PHP 5.3.0.
SI_TIMER (integer)
Available since PHP 5.3.0.
SI_MSGGQ (integer)
Available since PHP 5.3.0.
SI_ASYNCIO (integer)
Available since PHP 5.3.0.
SI_SIGIO (integer)
Available since PHP 5.3.0.
SI_TKILL (integer)
Available since PHP 5.3.0.
CLD_EXITED (integer)
Available since PHP 5.3.0.
CLD_KILLED (integer)
Available since PHP 5.3.0.
CLD_DUMPED (integer)
Available since PHP 5.3.0.
CLD_TRAPPED (integer)
Available since PHP 5.3.0.
CLD_STOPPED (integer)
Available since PHP 5.3.0.
CLD_CONTINUED (integer)
Available since PHP 5.3.0.
TRAP_BRKPT (integer)
Available since PHP 5.3.0.
TRAP_TRACE (integer)
Available since PHP 5.3.0.
POLL_IN (integer)
Available since PHP 5.3.0.
POLL_OUT (integer)
Available since PHP 5.3.0.
POLL_MSG (integer)
Available since PHP 5.3.0.
POLL_ERR (integer)
Available since PHP 5.3.0.
POLL_PRI (integer)
Available since PHP 5.3.0.
POLL_HUP (integer)
Available since PHP 5.3.0.
ILL_ILLOPC (integer)
Available since PHP 5.3.0.
ILL_ILLOPN (integer)
Available since PHP 5.3.0.
ILL_ILLADR (integer)
Available since PHP 5.3.0.
ILL_ILLTRP (integer)
Available since PHP 5.3.0.
ILL_PRVOPC (integer)
Available since PHP 5.3.0.
ILL_PRVREG (integer)
Available since PHP 5.3.0.
ILL_COPROC (integer)
Available since PHP 5.3.0.
ILL_BADSTK (integer)
Available since PHP 5.3.0.
FPE_INTDIV (integer)
Available since PHP 5.3.0.
FPE_INTOVF (integer)
Available since PHP 5.3.0.
FPE_FLTDIV (integer)
Available since PHP 5.3.0.
FPE_FLTOVF (integer)
Available since PHP 5.3.0.
FPE_FLTUND (integer)
Available since PHP 5.3.0.
FPE_FLTRES (integer)
Available since PHP 5.3.0.
FPE_FLTINV (integer)
Available since PHP 5.3.0.
FPE_FLTSUB (integer)
Available since PHP 5.3.0.
SEGV_MAPERR (integer)
Available since PHP 5.3.0.
SEGV_ACCERR (integer)
Available since PHP 5.3.0.
BUS_ADRALN (integer)
Available since PHP 5.3.0.
BUS_ADRERR (integer)
Available since PHP 5.3.0.
BUS_OBJERR (integer)
Available since PHP 5.3.0.
Типы ресурсов
Примеры
PCNTL


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
PCNTL


Basic usage

This example forks off a daemon process with a signal handler.

Пример #1 Process Control Example

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("could not fork");
} else if ($pid) {
     exit(); // we are the parent
} else {
     // we are the child
}

// detatch from the controlling terminal
if (posix_setsid() == -1) {
    die("could not detach from terminal");
}

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// loop forever performing tasks
while (1) {

    // do something interesting here

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         default:
             // handle all other signals
     }

}

?>
Примеры
PCNTL Функции
Примеры


PCNTL Функции

Смотрите также

A look at the section about POSIX functions may be useful.

Содержание

  • pcntl_alarm — Set an alarm clock for delivery of a signal
  • pcntl_exec — Executes specified program in current process space
  • pcntl_fork — Forks the currently running process
  • pcntl_getpriority — Get the priority of any process
  • pcntl_setpriority — Change the priority of any process
  • pcntl_signal_dispatch — Calls signal handlers for pending signals
  • pcntl_signal — Installs a signal handler
  • pcntl_sigprocmask — Sets and retrieves blocked signals
  • pcntl_sigtimedwait — Waits for signals, with a timeout
  • pcntl_sigwaitinfo — Waits for signals
  • pcntl_wait — Waits on or returns the status of a forked child
  • pcntl_waitpid — Waits on or returns the status of a forked child
  • pcntl_wexitstatus — Returns the return code of a terminated child
  • pcntl_wifexited — Checks if status code represents a normal exit
  • pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal
  • pcntl_wifstopped — Checks whether the child process is currently stopped
  • pcntl_wstopsig — Returns the signal which caused the child to stop
  • pcntl_wtermsig — Returns the signal which caused the child to terminate
Basic usage
pcntl_alarm
PCNTL


Set an alarm clock for delivery of a signal

PCNTL Функции
pcntl_exec
PCNTL Функции
PHP Manual

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm — Set an alarm clock for delivery of a signal

Описание

int pcntl_alarm ( int $seconds )

Creates a timer that will send a SIGALRM signal to the process after the given number of seconds. Any call to pcntl_alarm() will cancel any previously set alarm.

Список параметров

seconds

The number of seconds to wait. If seconds is zero, no new alarm is created.

Возвращаемые значения

Returns the time in seconds that any previously scheduled alarm had remaining before it was to be delivered, or 0 if there was no previously scheduled alarm.

PCNTL Функции
pcntl_exec
PCNTL Функции


Executes specified program in current process space

pcntl_alarm
pcntl_fork
PCNTL Функции
PHP Manual

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5)

pcntl_exec — Executes specified program in current process space

Описание

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

Executes the program with the given arguments.

Список параметров

path

path must be the path to a binary executable or a script with a valid path pointing to an executable in the shebang ( #!/usr/local/bin/perl for example) as the first line. See your system's man execve(2) page for additional information.

args

args is an array of argument strings passed to the program.

envs

envs is an array of strings which are passed as environment to the program. The array is in the format of name => value, the key being the name of the environmental variable and the value being the value of that variable.

Возвращаемые значения

Returns FALSE on error and does not return on success.

pcntl_alarm
pcntl_fork
PCNTL Функции


Forks the currently running process

pcntl_exec
pcntl_getpriority
PCNTL Функции
PHP Manual

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5)

pcntl_fork — Forks the currently running process

Описание

int pcntl_fork ( void )

The pcntl_fork() function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works on your system.

Возвращаемые значения

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

Примеры

Пример #1 pcntl_fork() example

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

?>

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • setproctitle() - Set the process title

pcntl_exec
pcntl_getpriority
PCNTL Функции


Get the priority of any process

pcntl_fork
pcntl_setpriority
PCNTL Функции
PHP Manual

pcntl_getpriority

(PHP 5)

pcntl_getpriority — Get the priority of any process

Описание

int pcntl_getpriority ([ int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.

Список параметров

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Возвращаемые значения

pcntl_getpriority() returns the priority of the process or FALSE on error. A lower numerical value causes more favorable scheduling.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Смотрите также

  • pcntl_setpriority() - Change the priority of any process

pcntl_fork
pcntl_setpriority
PCNTL Функции


Change the priority of any process

pcntl_getpriority
pcntl_signal_dispatch
PCNTL Функции
PHP Manual

pcntl_setpriority

(PHP 5)

pcntl_setpriority — Change the priority of any process

Описание

bool pcntl_setpriority ( int $priority [, int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_setpriority() sets the priority of pid.

Список параметров

priority

priority is generally a value in the range -20 to 20. The default priority is 0 while a lower numerical value causes more favorable scheduling. Because priority levels can differ between system types and kernel versions, please see your system's setpriority(2) man page for specific details.

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • pcntl_getpriority() - Get the priority of any process

pcntl_getpriority
pcntl_signal_dispatch
PCNTL Функции


Calls signal handlers for pending signals

pcntl_setpriority
pcntl_signal
PCNTL Функции
PHP Manual

pcntl_signal_dispatch

(PHP 5 >= 5.3.0)

pcntl_signal_dispatch — Calls signal handlers for pending signals

Описание

bool pcntl_signal_dispatch ( void )

The pcntl_signal_dispatch() function calls the signal handlers installed by pcntl_signal() for each pending signal.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pcntl_signal_dispatch() example

<?php
echo "Installing signal handler...\n";
pcntl_signal(SIGHUP,  function($signo) {
     echo "signal handler called\n";
});

echo "Generating signal SIGHUP to self...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Dispatching...\n";
pcntl_signal_dispatch();

echo "Done\n";

?>

Результатом выполнения данного примера будет что-то подобное:

Installing signal handler...
Generating signal SIGHUP to self...
Dispatching...
signal handler called
Done

Смотрите также

  • pcntl_signal() - Installs a signal handler
  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_setpriority
pcntl_signal
PCNTL Функции


Installs a signal handler

pcntl_signal_dispatch
pcntl_sigprocmask
PCNTL Функции
PHP Manual

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5)

pcntl_signal — Installs a signal handler

Описание

bool pcntl_signal ( int $signo , callback $handler [, bool $restart_syscalls = true ] )

The pcntl_signal() function installs a new signal handler for the signal indicated by signo.

Список параметров

signo

The signal number.

handler

The signal handler which may be the name of a user created function, or method, or either of the two global constants SIG_IGN or SIG_DFL.

Замечание:

Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends.

restart_syscalls

Specifies whether system call restarting should be used when this signal arrives.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | The restart_syscalls parameter was added.
4.3.0 | The ability to use an object method as a callback became available.
4.3.0 | As of PHP 4.3.0 PCNTL uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You must use the declare() statement to specify the locations in your program where callbacks are allowed to occur for the signal handler to function properly (as used in the above example).

Примеры

Пример #1 pcntl_signal() example

<?php
// tick use required as of PHP 4.3.0
declare(ticks = 1);

// signal handler function
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }

}

echo "Installing signal handler...\n";

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// or use an object, available as of PHP 4.3.0
// pcntl_signal(SIGUSR1, array($obj, "do_something");

echo"Generating signal SIGTERM to self...\n";

// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n";

?>

Смотрите также

  • pcntl_fork() - Forks the currently running process
  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_signal_dispatch
pcntl_sigprocmask
PCNTL Функции


Sets and retrieves blocked signals

pcntl_signal
pcntl_sigtimedwait
PCNTL Функции
PHP Manual

pcntl_sigprocmask

(PHP 5 >= 5.3.0)

pcntl_sigprocmask — Sets and retrieves blocked signals

Описание

bool pcntl_sigprocmask ( int $how , array $set [, array &$oldset ] )

The pcntl_sigprocmask() function adds, removes or sets blocked signals, depending on the how parameter.

Список параметров

how

Sets the behavior of pcntl_sigprocmask(). Possible values:

  • SIG_BLOCK: Add the signals to the currently blocked signals.
  • SIG_UNBLOCK: Remove the signals from the currently blocked signals.
  • SIG_SETMASK: Replace the currently blocked signals by the given list of signals.

set

List of signals.

oldset

The oldset parameter is set to an array containing the list of the previously blocked signals.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pcntl_sigprocmask() example

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

Смотрите также

  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_signal
pcntl_sigtimedwait
PCNTL Функции


Waits for signals, with a timeout

pcntl_sigprocmask
pcntl_sigwaitinfo
PCNTL Функции
PHP Manual

pcntl_sigtimedwait

(PHP 5 >= 5.3.0)

pcntl_sigtimedwait — Waits for signals, with a timeout

Описание

int pcntl_sigtimedwait ( array $set [, array &$siginfo [, int $seconds = 0 [, int $nanoseconds = 0 ]]] )

The pcntl_sigtimedwait() function operates in exactly the same way as pcntl_sigwaitinfo() except that it takes two additional parameters, seconds and nanoseconds, which enable an upper bound to be placed on the time for which the script is suspended.

Список параметров

set

Array of signals to wait for.

siginfo

The siginfo is set to an array containing informations about the signal. See pcntl_sigwaitinfo().

seconds

Timeout in seconds.

nanoseconds

Timeout in nanoseconds.

Возвращаемые значения

On success, pcntl_sigtimedwait() returns a signal number.

Смотрите также

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals

pcntl_sigprocmask
pcntl_sigwaitinfo
PCNTL Функции


Waits for signals

pcntl_sigtimedwait
pcntl_wait
PCNTL Функции
PHP Manual

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0)

pcntl_sigwaitinfo — Waits for signals

Описание

int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.

Список параметров

set

Array of signals to wait for.

siginfo

The siginfo parameter is set to an array containing informations about the signal.

The following elements are set for all signals:

  • signo: Signal number
  • errno: An error number
  • code: Signal code

The following elements may be set for the SIGCHLD signal:

  • status: Exit value or signal
  • utime: User time consumed
  • stime: System time consumed
  • pid: Sending process ID
  • uid: Real user ID of sending process

The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals:

  • addr: Memory location which caused fault

The following element may be set for the SIGPOLL signal:

  • band: Band event
  • fd: File descriptor number

Возвращаемые значения

On success, pcntl_sigwaitinfo() returns a signal number.

Примеры

Пример #1 pcntl_sigwaitinfo() example

<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Смотрите также

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_sigtimedwait
pcntl_wait
PCNTL Функции


Waits on or returns the status of a forked child

pcntl_sigwaitinfo
pcntl_waitpid
PCNTL Функции
PHP Manual

pcntl_wait

(PHP 5)

pcntl_wait — Waits on or returns the status of a forked child

Описание

int pcntl_wait ( int &$status [, int $options = 0 ] )

The wait function suspends execution of the current process until a child has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function. If a child has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's wait(2) man page for specific details as to how wait works on your system.

Замечание:

This function is equivalent to calling pcntl_waitpid() with a -1 pid and no options.

Список параметров

status

pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

If wait3 is available on your system (mostly BSD-style systems), you can provide the optional options parameter. If this parameter is not provided, wait will be used for the system call. If wait3 is not available, providing a value for options will have no effect. The value of options is the value of zero or more of the following two constants OR'ed together:

Possible values for options
WNOHANG | Return immediately if no child has exited.
WUNTRACED | Return for children which are stopped, and whose status has not been reported.

Возвращаемые значения

pcntl_wait() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was provided as an option (on wait3-available systems) and no child was available.

Смотрите также

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop
  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_sigwaitinfo
pcntl_waitpid
PCNTL Функции


Waits on or returns the status of a forked child

pcntl_wait
pcntl_wexitstatus
PCNTL Функции
PHP Manual

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5)

pcntl_waitpid — Waits on or returns the status of a forked child

Описание

int pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] )

Suspends execution of the current process until a child as specified by the pid argument has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function.

If a child as requested by pid has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how waitpid works on your system.

Список параметров

pid

The value of pid can be one of the following:

possible values for pid
< -1 | wait for any child process whose process group ID is equal to the absolute value of pid.
-1 | wait for any child process; this is the same behaviour that the wait function exhibits.
0 | wait for any child process whose process group ID is equal to that of the calling process.
> 0 | wait for the child whose process ID is equal to the value of pid.

Замечание:

Specifying -1 as the pid is equivalent to the functionality pcntl_wait() provides (minus options).

status

pcntl_waitpid() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

The value of options is the value of zero or more of the following two global constants OR'ed together:

possible values for options
WNOHANG | return immediately if no child has exited.
WUNTRACED | return for children which are stopped, and whose status has not been reported.

Возвращаемые значения

pcntl_waitpid() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available

Смотрите также

  • pcntl_fork() - Forks the currently running process
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifexited() - Checks if status code represents a normal exit
  • pcntl_wifstopped() - Checks whether the child process is currently stopped
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal
  • pcntl_wexitstatus() - Returns the return code of a terminated child
  • pcntl_wtermsig() - Returns the signal which caused the child to terminate
  • pcntl_wstopsig() - Returns the signal which caused the child to stop

pcntl_wait
pcntl_wexitstatus
PCNTL Функции


Returns the return code of a terminated child

pcntl_waitpid
pcntl_wifexited
PCNTL Функции
PHP Manual

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wexitstatus — Returns the return code of a terminated child

Описание

int pcntl_wexitstatus ( int $status )

Returns the return code of a terminated child. This function is only useful if pcntl_wifexited() returned TRUE.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns the return code, as an integer.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifexited() - Checks if status code represents a normal exit

pcntl_waitpid
pcntl_wifexited
PCNTL Функции


Checks if status code represents a normal exit

pcntl_wexitstatus
pcntl_wifsignaled
PCNTL Функции
PHP Manual

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifexited — Checks if status code represents a normal exit

Описание

bool pcntl_wifexited ( int $status )

Checks whether the child status code represents a normal exit.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns TRUE if the child status code represents a normal exit, FALSE otherwise.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wexitstatus() - Returns the return code of a terminated child

pcntl_wexitstatus
pcntl_wifsignaled
PCNTL Функции


Checks whether the status code represents a termination due to a signal

pcntl_wifexited
pcntl_wifstopped
PCNTL Функции
PHP Manual

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifsignaled — Checks whether the status code represents a termination due to a signal

Описание

bool pcntl_wifsignaled ( int $status )

Checks whether the child process exited because of a signal which was not caught.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns TRUE if the child process exited because of a signal which was not caught, FALSE otherwise.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler

pcntl_wifexited
pcntl_wifstopped
PCNTL Функции


Checks whether the child process is currently stopped

pcntl_wifsignaled
pcntl_wstopsig
PCNTL Функции
PHP Manual

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifstopped — Checks whether the child process is currently stopped

Описание

bool pcntl_wifstopped ( int $status )

Checks whether the child process which caused the return is currently stopped; this is only possible if the call to pcntl_waitpid() was done using the option WUNTRACED.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns TRUE if the child process which caused the return is currently stopped, FALSE otherwise.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child

pcntl_wifsignaled
pcntl_wstopsig
PCNTL Функции


Returns the signal which caused the child to stop

pcntl_wifstopped
pcntl_wtermsig
PCNTL Функции
PHP Manual

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wstopsig — Returns the signal which caused the child to stop

Описание

int pcntl_wstopsig ( int $status )

Returns the number of the signal which caused the child to stop. This function is only useful if pcntl_wifstopped() returned TRUE.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns the signal number.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_wifstopped() - Checks whether the child process is currently stopped

pcntl_wifstopped
pcntl_wtermsig
PCNTL Функции


Returns the signal which caused the child to terminate

pcntl_wstopsig
POSIX
PCNTL Функции
PHP Manual

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wtermsig — Returns the signal which caused the child to terminate

Описание

int pcntl_wtermsig ( int $status )

Returns the number of the signal that caused the child process to terminate. This function is only useful if pcntl_wifsignaled() returned TRUE.

Список параметров

status

Параметр status - это параметр status, переданный в успешный вызов функцию pcntl_waitpid().

Возвращаемые значения

Returns the signal number, as an integer.

Смотрите также

  • pcntl_waitpid() - Waits on or returns the status of a forked child
  • pcntl_signal() - Installs a signal handler
  • pcntl_wifsignaled() - Checks whether the status code represents a termination due to a signal

pcntl_wstopsig
POSIX
PCNTL Функции


POSIX

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • POSIX Функции
    • posix_access — Determine accessibility of a file
    • posix_ctermid — Get path name of controlling terminal
    • posix_errno — Псевдоним posix_get_last_error
    • posix_get_last_error — Retrieve the error number set by the last posix function that failed
    • posix_getcwd — Pathname of current directory
    • posix_getegid — Return the effective group ID of the current process
    • posix_geteuid — Return the effective user ID of the current process
    • posix_getgid — Return the real group ID of the current process
    • posix_getgrgid — Return info about a group by group id
    • posix_getgrnam — Return info about a group by name
    • posix_getgroups — Return the group set of the current process
    • posix_getlogin — Return login name
    • posix_getpgid — Get process group id for job control
    • posix_getpgrp — Return the current process group identifier
    • posix_getpid — Return the current process identifier
    • posix_getppid — Return the parent process identifier
    • posix_getpwnam — Return info about a user by username
    • posix_getpwuid — Return info about a user by user id
    • posix_getrlimit — Return info about system resource limits
    • posix_getsid — Get the current sid of the process
    • posix_getuid — Return the real user ID of the current process
    • posix_initgroups — Calculate the group access list
    • posix_isatty — Determine if a file descriptor is an interactive terminal
    • posix_kill — Send a signal to a process
    • posix_mkfifo — Create a fifo special file (a named pipe)
    • posix_mknod — Create a special or ordinary file (POSIX.1)
    • posix_setegid — Set the effective GID of the current process
    • posix_seteuid — Set the effective UID of the current process
    • posix_setgid — Set the GID of the current process
    • posix_setpgid — Set process group id for job control
    • posix_setsid — Make the current process a session leader
    • posix_setuid — Set the UID of the current process
    • posix_strerror — Retrieve the system error message associated with the given errno
    • posix_times — Get process times
    • posix_ttyname — Determine terminal device name
    • posix_uname — Get system name
pcntl_wtermsig
Введение
Расширения для управления процессами программ


Введение

Этот модуль содержит интерфейс к функциям, определенным в стандарте IEEE 1003.1 (POSIX.1), которые не доступны с помощью других средств.

Внимание

Конфиденциальные данные могут быть получены с помощью POSIX функций, например posix_getpwnam() и других. Ни одна из POSIX функций не осуществляет какой либо проверки доступа когда включен безопасный режим. Поэтому строго рекомендуется отключать POSIX расширения вообще (используйте --disable-posix в вашей строке конфигурации) если вы работаете в таких условиях.

Замечание: Для Windows-платформ это расширение недоступно.

POSIX
Установка и настройка
POSIX


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
POSIX


Установка

POSIX функции доступны по умолчанию. Можно отключить POSIX-подобные функции посредством директивы --disable-posix .

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

POSIX_F_OK (integer)
Проверить, существует ли файл.
POSIX_R_OK (integer)
Проверить, существует ли файл и имеется ли разрешение на чтение.
POSIX_W_OK (integer)
Проверить, существует ли файл и имеется ли разрешение на запись.
POSIX_X_OK (integer)
Проверить, существует ли файл и имеется ли разрешение на выполнение.
POSIX_S_IFBLK (integer)
Блочный специальный файл
POSIX_S_IFCHR (integer)
Символьный специальный файл
POSIX_S_IFIFO (integer)
FIFO (именованный канал) специальный файл
POSIX_S_IFREG (integer)
Обычный файл
POSIX_S_IFSOCK (integer)
Сокет

Замечание:

Эти константы доступны, начиная с PHP 5.1.0. Также обратите внимание, что некоторые из них могут быть недоступны в вашей системе.

Типы ресурсов
POSIX Функции
POSIX


POSIX Функции

Смотрите также

Также может оказаться полезным раздел "Функции управления процессами".

Содержание

  • posix_access — Determine accessibility of a file
  • posix_ctermid — Get path name of controlling terminal
  • posix_errno — Псевдоним posix_get_last_error
  • posix_get_last_error — Retrieve the error number set by the last posix function that failed
  • posix_getcwd — Pathname of current directory
  • posix_getegid — Return the effective group ID of the current process
  • posix_geteuid — Return the effective user ID of the current process
  • posix_getgid — Return the real group ID of the current process
  • posix_getgrgid — Return info about a group by group id
  • posix_getgrnam — Return info about a group by name
  • posix_getgroups — Return the group set of the current process
  • posix_getlogin — Return login name
  • posix_getpgid — Get process group id for job control
  • posix_getpgrp — Return the current process group identifier
  • posix_getpid — Return the current process identifier
  • posix_getppid — Return the parent process identifier
  • posix_getpwnam — Return info about a user by username
  • posix_getpwuid — Return info about a user by user id
  • posix_getrlimit — Return info about system resource limits
  • posix_getsid — Get the current sid of the process
  • posix_getuid — Return the real user ID of the current process
  • posix_initgroups — Calculate the group access list
  • posix_isatty — Determine if a file descriptor is an interactive terminal
  • posix_kill — Send a signal to a process
  • posix_mkfifo — Create a fifo special file (a named pipe)
  • posix_mknod — Create a special or ordinary file (POSIX.1)
  • posix_setegid — Set the effective GID of the current process
  • posix_seteuid — Set the effective UID of the current process
  • posix_setgid — Set the GID of the current process
  • posix_setpgid — Set process group id for job control
  • posix_setsid — Make the current process a session leader
  • posix_setuid — Set the UID of the current process
  • posix_strerror — Retrieve the system error message associated with the given errno
  • posix_times — Get process times
  • posix_ttyname — Determine terminal device name
  • posix_uname — Get system name
Предопределенные константы
posix_access
POSIX


Determine accessibility of a file

POSIX Функции
posix_ctermid
POSIX Функции
PHP Manual

posix_access

(PHP 5 >= 5.1.0)

posix_access — Determine accessibility of a file

Описание

bool posix_access ( string $file [, int $mode = POSIX_F_OK ] )

posix_access() checks the user's permission of a file.

Список параметров

file

The name of the file to be tested.

mode

A mask consisting of one or more of POSIX_F_OK, POSIX_R_OK, POSIX_W_OK and POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK and POSIX_X_OK request checking whether the file exists and has read, write and execute permissions, respectively. POSIX_F_OK just requests checking for the existence of the file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 posix_access() example

This example will check if the $file is readable and writable, otherwise will print an error message.

<?php

$file = 'some_file';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
    echo 'The file is readable and writable!';

} else {
    $error = posix_get_last_error();

    echo "Error $error: " . posix_strerror($error);
}

?>

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed
  • posix_strerror() - Retrieve the system error message associated with the given errno

POSIX Функции
posix_ctermid
POSIX Функции


Get path name of controlling terminal

posix_access
posix_errno
POSIX Функции
PHP Manual

posix_ctermid

(PHP 4, PHP 5)

posix_ctermid — Get path name of controlling terminal

Описание

string posix_ctermid ( void )

Generates a string which is the pathname for the current controlling terminal for the process. On error this will set errno, which can be checked using posix_get_last_error()

Возвращаемые значения

Upon successful completion, returns string of the pathname to the current controlling terminal. Otherwise FALSE is returned and errno is set, which can be checked with posix_get_last_error().

Примеры

Пример #1 posix_ctermid() example

This example will display the path to the current TTY.

<?php
echo "I am running from ".posix_ctermid();
?>

Смотрите также

  • posix_ttyname() - Determine terminal device name
  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed

posix_access
posix_errno
POSIX Функции


Псевдоним posix_get_last_error

posix_ctermid
posix_get_last_error
POSIX Функции
PHP Manual

posix_errno

(PHP 4 >= 4.2.0, PHP 5)

posix_errno — Псевдоним posix_get_last_error()

Описание

Эта функция является псевдонимом: posix_get_last_error().

posix_ctermid
posix_get_last_error
POSIX Функции


Retrieve the error number set by the last posix function that failed

posix_errno
posix_getcwd
POSIX Функции
PHP Manual

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5)

posix_get_last_error — Retrieve the error number set by the last posix function that failed

Описание

int posix_get_last_error ( void )

Retrieve the error number set by the last posix function that failed. The system error message associated with the errno may be checked with posix_strerror().

Возвращаемые значения

Returns the errno (error number) set by the last posix function that failed. If no errors exist, 0 is returned.

Примеры

Пример #1 posix_get_last_error() example

This example attempt to kill a bogus process id, which will set the last error. We will then print out the last errno.

<?php
posix_kill(999459,SIGKILL);
echo 'Your error returned was '.posix_get_last_error(); //Your error was ___
?>

Смотрите также

  • posix_strerror() - Retrieve the system error message associated with the given errno

posix_errno
posix_getcwd
POSIX Функции


Pathname of current directory

posix_get_last_error
posix_getegid
POSIX Функции
PHP Manual

posix_getcwd

(PHP 4, PHP 5)

posix_getcwd — Pathname of current directory

Описание

string posix_getcwd ( void )

Gets the absolute pathname of the script's current working directory. On error, it sets errno which can be checked using posix_get_last_error()

Возвращаемые значения

Returns a string of the absolute pathname on success. On error, returns FALSE and sets errno which can be checked with posix_get_last_error().

Примеры

Пример #1 posix_getcwd() example

This example will return the absolute path of the current working directory of the script.

<?php
echo 'My current working directory is '.posix_getcwd();
?>

Примечания

Замечание:

This function can fail on

  • Read or Search permission was denied
  • Pathname no longer exists

posix_get_last_error
posix_getegid
POSIX Функции


Return the effective group ID of the current process

posix_getcwd
posix_geteuid
POSIX Функции
PHP Manual

posix_getegid

(PHP 4, PHP 5)

posix_getegid — Return the effective group ID of the current process

Описание

int posix_getegid ( void )

Return the numeric effective group ID of the current process.

Возвращаемые значения

Returns an integer of the effective group ID.

Примеры

Пример #1 posix_getegid() example

This example will print out the effective group id, once it is changed with posix_setegid().

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Примечания

posix_getegid() is different than posix_getgid() because effective group ID can be changed by a calling process using posix_setegid().

Смотрите также

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process
  • posix_setgid() - Set the GID of the current process

posix_getcwd
posix_geteuid
POSIX Функции


Return the effective user ID of the current process

posix_getegid
posix_getgid
POSIX Функции
PHP Manual

posix_geteuid

(PHP 4, PHP 5)

posix_geteuid — Return the effective user ID of the current process

Описание

int posix_geteuid ( void )

Return the numeric effective user ID of the current process. See also posix_getpwuid() for information on how to convert this into a useable username.

Возвращаемые значения

Returns the user id, as an integer

Примеры

Пример #1 posix_geteuid() example

This example will show the current user id then set the effective user id to a separate id using posix_seteuid(), then show the difference between the real id and the effective id.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Смотрите также

  • posix_getpwuid() - Return info about a user by user id
  • posix_getuid() - Return the real user ID of the current process
  • posix_setuid() - Set the UID of the current process
  • POSIX man page GETEUID(2)

posix_getegid
posix_getgid
POSIX Функции


Return the real group ID of the current process

posix_geteuid
posix_getgrgid
POSIX Функции
PHP Manual

posix_getgid

(PHP 4, PHP 5)

posix_getgid — Return the real group ID of the current process

Описание

int posix_getgid ( void )

Return the numeric real group ID of the current process.

Возвращаемые значения

Returns the real group id, as an integer.

Примеры

Пример #1 posix_getgid() example

This example will print out the real group id, even once the effective group id has been changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Смотрите также

  • posix_getgrgid() - Return info about a group by group id
  • posix_getegid() - Return the effective group ID of the current process
  • posix_setgid() - Set the GID of the current process
  • POSIX man page GETGID(2)

posix_geteuid
posix_getgrgid
POSIX Функции


Return info about a group by group id

posix_getgid
posix_getgrnam
POSIX Функции
PHP Manual

posix_getgrgid

(PHP 4, PHP 5)

posix_getgrgid — Return info about a group by group id

Описание

array posix_getgrgid ( int $gid )

Gets information about a group provided its id.

Список параметров

gid

The group id.

Возвращаемые значения

The array elements returned are:

The group information array
Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID, should be the same as the gid parameter used when calling the function, and hence redundant.
members | This consists of an array of string's for all the members in the group.

Список изменений

Версия | Описание
4.2.0 | Prior to this version, members was simply an integer representing the number of members in the group, and the member names were returned with numerical indices.

Примеры

Пример #1 Example use of posix_getgrgid()

<?php

$groupid   = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Смотрите также

  • posix_getegid() - Return the effective group ID of the current process
  • posix_getgrnam() - Return info about a group by name
  • filegroup() - Получает идентификатор группы файла
  • stat() - Возвращает информацию о файле
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgid
posix_getgrnam
POSIX Функции


Return info about a group by name

posix_getgrgid
posix_getgroups
POSIX Функции
PHP Manual

posix_getgrnam

(PHP 4, PHP 5)

posix_getgrnam — Return info about a group by name

Описание

array posix_getgrnam ( string $name )

Gets information about a group provided its name.

Список параметров

name

The name of the group

Возвращаемые значения

The array elements returned are:

The group information array
Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name. This should be the same as the name parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID of the group in numeric form.
members | This consists of an array of string's for all the members in the group.

Список изменений

Версия | Описание
4.2.0 | Prior to this version, members was simply an integer representing the number of members in the group, and the member names were returned with numerical indices.

Примеры

Пример #1 Example use of posix_getgrnam()

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Смотрите также

  • posix_getegid() - Return the effective group ID of the current process
  • posix_getgrgid() - Return info about a group by group id
  • filegroup() - Получает идентификатор группы файла
  • stat() - Возвращает информацию о файле
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgrgid
posix_getgroups
POSIX Функции


Return the group set of the current process

posix_getgrnam
posix_getlogin
POSIX Функции
PHP Manual

posix_getgroups

(PHP 4, PHP 5)

posix_getgroups — Return the group set of the current process

Описание

array posix_getgroups ( void )

Gets the group set of the current process.

Возвращаемые значения

Returns an array of integers containing the numeric group ids of the group set of the current process.

Примеры

Пример #1 Example use of posix_getgroups()

<?php

$groups = posix_getgroups();

print_r($groups);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Смотрите также

  • posix_getgrgid() - Return info about a group by group id

posix_getgrnam
posix_getlogin
POSIX Функции


Return login name

posix_getgroups
posix_getpgid
POSIX Функции
PHP Manual

posix_getlogin

(PHP 4, PHP 5)

posix_getlogin — Return login name

Описание

string posix_getlogin ( void )

Returns the login name of the user owning the current process.

Возвращаемые значения

Returns the login name of the user, as a string.

Примеры

Пример #1 Example use of posix_getlogin()

<?php
echo posix_getlogin(); //apache
?>

Смотрите также

  • posix_getpwnam() - Return info about a user by username
  • POSIX man page GETLOGIN(3)

posix_getgroups
posix_getpgid
POSIX Функции


Get process group id for job control

posix_getlogin
posix_getpgrp
POSIX Функции
PHP Manual

posix_getpgid

(PHP 4, PHP 5)

posix_getpgid — Get process group id for job control

Описание

int posix_getpgid ( int $pid )

Returns the process group identifier of the process pid или FALSE в случае возникновения ошибки.

Список параметров

pid

The process id.

Возвращаемые значения

Returns the identifier, as an integer.

Примеры

Пример #1 Example use of posix_getpgid()

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Примечания

Замечание:

This is a not POSIX function, but is common on BSD and System V systems. If the system does not support this function, then it will not be included at compile time. This may be checked with function_exists().

Смотрите также

  • posix_getppid() - Return the parent process identifier
  • man page SETPGID(2)

posix_getlogin
posix_getpgrp
POSIX Функции


Return the current process group identifier

posix_getpgid
posix_getpid
POSIX Функции
PHP Manual

posix_getpgrp

(PHP 4, PHP 5)

posix_getpgrp — Return the current process group identifier

Описание

int posix_getpgrp ( void )

Return the process group identifier of the current process.

Возвращаемые значения

Returns the identifier, as an integer.

Смотрите также

  • POSIX.1 and the getpgrp(2) manual page on the POSIX system for more information on process groups.

posix_getpgid
posix_getpid
POSIX Функции


Return the current process identifier

posix_getpgrp
posix_getppid
POSIX Функции
PHP Manual

posix_getpid

(PHP 4, PHP 5)

posix_getpid — Return the current process identifier

Описание

int posix_getpid ( void )

Return the process identifier of the current process.

Возвращаемые значения

Returns the identifier, as an integer.

Примеры

Пример #1 Example use of posix_getpid()

<?php
echo posix_getpid(); //8805
?>

Смотрите также

  • posix_kill() - Send a signal to a process
  • POSIX man page GETPID(2)

posix_getpgrp
posix_getppid
POSIX Функции


Return the parent process identifier

posix_getpid
posix_getpwnam
POSIX Функции
PHP Manual

posix_getppid

(PHP 4, PHP 5)

posix_getppid — Return the parent process identifier

Описание

int posix_getppid ( void )

Return the process identifier of the parent process of the current process.

Возвращаемые значения

Returns the identifier, as an integer.

Примеры

Пример #1 Example use of posix_getppid()

<?php
echo posix_getppid(); //8259
?>

posix_getpid
posix_getpwnam
POSIX Функции


Return info about a user by username

posix_getppid
posix_getpwuid
POSIX Функции
PHP Manual

posix_getpwnam

(PHP 4, PHP 5)

posix_getpwnam — Return info about a user by username

Описание

array posix_getpwnam ( string $username )

Returns an array of information about the given user.

Список параметров

username

An alphanumeric username.

Возвращаемые значения

On success an array with the following elements is returned, else FALSE is returned:

The user information array
Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name. This should be the same as the username parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID of the user in numeric form.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.

Примеры

Пример #1 Example use of posix_getpwnam()

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Смотрите также

  • posix_getpwuid() - Return info about a user by user id
  • POSIX man page GETPWNAM(3)

posix_getppid
posix_getpwuid
POSIX Функции


Return info about a user by user id

posix_getpwnam
posix_getrlimit
POSIX Функции
PHP Manual

posix_getpwuid

(PHP 4, PHP 5)

posix_getpwuid — Return info about a user by user id

Описание

array posix_getpwuid ( int $uid )

Returns an array of information about the user referenced by the given user ID.

Список параметров

uid

The user identifier.

Возвращаемые значения

Returns an associative array with the following elements:

The user information array
Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID, should be the same as the uid parameter used when calling the function, and hence redundant.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.

Примеры

Пример #1 Example use of posix_getpwuid()

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Смотрите также

  • posix_getpwnam() - Return info about a user by username
  • POSIX man page GETPWNAM(3)

posix_getpwnam
posix_getrlimit
POSIX Функции


Return info about system resource limits

posix_getpwuid
posix_getsid
POSIX Функции
PHP Manual

posix_getrlimit

(PHP 4, PHP 5)

posix_getrlimit — Return info about system resource limits

Описание

array posix_getrlimit ( void )

posix_getrlimit() returns an array of information about the current resource's soft and hard limits.

Each resource has an associated soft and hard limit. The soft limit is the value that the kernel enforces for the corresponding resource. The hard limit acts as a ceiling for the soft limit. An unprivileged process may only set its soft limit to a value from 0 to the hard limit, and irreversibly lower its hard limit.

Возвращаемые значения

Returns an associative array of elements for each limit that is defined. Each limit has a soft and a hard limit.

List of possible limits returned
Limit name | Limit description
core | The maximum size of the core file. When 0, not core files are created. When core files are larger than this size, they will be truncated at this size.
totalmem | The maximum size of the memory of the process, in bytes.
virtualmem | The maximum size of the virtual memory for the process, in bytes.
data | The maximum size of the data segment for the process, in bytes.
stack | The maximum size of the process stack, in bytes.
rss | The maximum number of virtual pages resident in RAM
maxproc | The maximum number of processes that can be created for the real user ID of the calling process.
memlock | The maximum number of bytes of memory that may be locked into RAM.
cpu | The amount of time the process is allowed to use the CPU.
filesize | The maximum size of the data segment for the process, in bytes.
openfiles | One more than the maximum number of open file descriptors.

Примеры

Пример #1 Example use of posix_getrlimit()

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Примечания

Замечание:

This is a not POSIX function, but is common on BSD and System V systems. If the system does not support this function, then it will not be included at compile time. This may be checked with function_exists().

Смотрите также

  • man page GETRLIMIT(2)

posix_getpwuid
posix_getsid
POSIX Функции


Get the current sid of the process

posix_getrlimit
posix_getuid
POSIX Функции
PHP Manual

posix_getsid

(PHP 4, PHP 5)

posix_getsid — Get the current sid of the process

Описание

int posix_getsid ( int $pid )

Return the session id of the process pid. The session id of a process is the process group id of the session leader.

Список параметров

pid

The process identifier. If set to 0, the current process is assumed. If an invalid pid is specified, then FALSE is returned and an error is set which can be checked with posix_get_last_error().

Возвращаемые значения

Returns the identifier, as an integer.

Примеры

Пример #1 Example use of posix_getsid()

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Смотрите также

  • posix_getpgid() - Get process group id for job control
  • posix_setsid() - Make the current process a session leader
  • POSIX man page GETSID(2)

posix_getrlimit
posix_getuid
POSIX Функции


Return the real user ID of the current process

posix_getsid
posix_initgroups
POSIX Функции
PHP Manual

posix_getuid

(PHP 4, PHP 5)

posix_getuid — Return the real user ID of the current process

Описание

int posix_getuid ( void )

Return the numeric real user ID of the current process.

Возвращаемые значения

Returns the user id, as an integer

Примеры

Пример #1 Example use of posix_getuid()

<?php
echo posix_getuid(); //10000
?>

Смотрите также

  • posix_getpwuid() - Return info about a user by user id
  • POSIX man page GETUID(2)

posix_getsid
posix_initgroups
POSIX Функции


Calculate the group access list

posix_getuid
posix_isatty
POSIX Функции
PHP Manual

posix_initgroups

(PHP 5 >= 5.2.0)

posix_initgroups — Calculate the group access list

Описание

bool posix_initgroups ( string $name , int $base_group_id )

Calculates the group access list for the user specified in name.

Список параметров

name

The user to calculate the list for.

base_group_id

Typically the group number from the password file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • The Unix manual page for initgroups(3).

posix_getuid
posix_isatty
POSIX Функции


Determine if a file descriptor is an interactive terminal

posix_initgroups
posix_kill
POSIX Функции
PHP Manual

posix_isatty

(PHP 4, PHP 5)

posix_isatty — Determine if a file descriptor is an interactive terminal

Описание

bool posix_isatty ( int $fd )

Determines if the file descriptor fd refers to a valid terminal type device.

Список параметров

fd

The file descriptor.

Возвращаемые значения

Returns TRUE if fd is an open descriptor connected to a terminal and FALSE otherwise.

Смотрите также

  • posix_ttyname() - Determine terminal device name

posix_initgroups
posix_kill
POSIX Функции


Send a signal to a process

posix_isatty
posix_mkfifo
POSIX Функции
PHP Manual

posix_kill

(PHP 4, PHP 5)

posix_kill — Send a signal to a process

Описание

bool posix_kill ( int $pid , int $sig )

Send the signal sig to the process with the process identifier pid.

Список параметров

pid

The process identifier.

sig

One of the PCNTL signals constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • The kill(2) manual page of the POSIX system, which contains additional information about negative process identifiers, the special pid 0, the special pid -1, and the signal number 0.

posix_isatty
posix_mkfifo
POSIX Функции


Create a fifo special file (a named pipe)

posix_kill
posix_mknod
POSIX Функции
PHP Manual

posix_mkfifo

(PHP 4, PHP 5)

posix_mkfifo — Create a fifo special file (a named pipe)

Описание

bool posix_mkfifo ( string $pathname , int $mode )

posix_mkfifo() creates a special FIFO file which exists in the file system and acts as a bidirectional communication endpoint for processes.

Список параметров

pathname

Path to the FIFO file.

mode

The second parameter mode has to be given in octal notation (e.g. 0644). The permission of the newly created FIFO also depends on the setting of the current umask(). The permissions of the created file are (mode & ~umask).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

posix_kill
posix_mknod
POSIX Функции


Create a special or ordinary file (POSIX.1)

posix_mkfifo
posix_setegid
POSIX Функции
PHP Manual

posix_mknod

(PHP 5 >= 5.1.0)

posix_mknod — Create a special or ordinary file (POSIX.1)

Описание

bool posix_mknod ( string $pathname , int $mode [, int $major = 0 [, int $minor = 0 ]] )

Creates a special or ordinary file.

Список параметров

pathname

The file to create

mode

This parameter is constructed by a bitwise OR between file type (one of the following constants: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO or POSIX_S_IFSOCK) and permissions.

major

The major device kernel identifier (required to pass when using S_IFCHR or S_IFBLK).

minor

The minor device kernel identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A posix_mknod() example

<?php

$file = '/tmp/tmpfile';  // file name
$type = POSIX_S_IFBLK;   // file type
$permissions = 0777;     // octal
$major = 1;
$minor = 8;              // /dev/random

if (!posix_mknod($file, $type | $permissions, $major, $minor)) {
    die('Error ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Смотрите также

  • posix_mkfifo() - Create a fifo special file (a named pipe)

posix_mkfifo
posix_setegid
POSIX Функции


Set the effective GID of the current process

posix_mknod
posix_seteuid
POSIX Функции
PHP Manual

posix_setegid

(PHP 4 >= 4.0.2, PHP 5)

posix_setegid — Set the effective GID of the current process

Описание

bool posix_setegid ( int $gid )

Set the effective group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

Список параметров

gid

The group id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 posix_setegid() example

This example will print out the effective group id, once changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

Смотрите также

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process
  • posix_setgid() - Set the GID of the current process

posix_mknod
posix_seteuid
POSIX Функции


Set the effective UID of the current process

posix_setegid
posix_setgid
POSIX Функции
PHP Manual

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5)

posix_seteuid — Set the effective UID of the current process

Описание

bool posix_seteuid ( int $uid )

Set the real user ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

Список параметров

uid

The user id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • posix_setgid() - Set the GID of the current process

posix_setegid
posix_setgid
POSIX Функции


Set the GID of the current process

posix_seteuid
posix_setpgid
POSIX Функции
PHP Manual

posix_setgid

(PHP 4, PHP 5)

posix_setgid — Set the GID of the current process

Описание

bool posix_setgid ( int $gid )

Set the real group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function. The appropriate order of function calls is posix_setgid() first, posix_setuid() last.

Замечание:

If the caller is a super user, this will also set the effective group id.

Список параметров

gid

The group id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 posix_setgid() example

This example will print out the effective group id, once it is changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setgid(40);
echo 'My real group id is '.posix_getgid(); //40
echo 'My effective group id is '.posix_getegid(); //40
?>

Смотрите также

  • posix_getgrgid() - Return info about a group by group id
  • posix_getgid() - Return the real group ID of the current process

posix_seteuid
posix_setpgid
POSIX Функции


Set process group id for job control

posix_setgid
posix_setsid
POSIX Функции
PHP Manual

posix_setpgid

(PHP 4, PHP 5)

posix_setpgid — Set process group id for job control

Описание

bool posix_setpgid ( int $pid , int $pgid )

Let the process pid join the process group pgid.

Список параметров

pid

The process id.

pgid

The process group id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • See POSIX.1 and the setsid(2) manual page on the POSIX system for more informations on process groups and job control.

posix_setgid
posix_setsid
POSIX Функции


Make the current process a session leader

posix_setpgid
posix_setuid
POSIX Функции
PHP Manual

posix_setsid

(PHP 4, PHP 5)

posix_setsid — Make the current process a session leader

Описание

int posix_setsid ( void )

Make the current process a session leader.

Возвращаемые значения

Returns the session id, or -1 on errors.

Смотрите также

  • The POSIX.1 and the setsid(2) manual page on the POSIX system for more information on process groups and job control.

posix_setpgid
posix_setuid
POSIX Функции


Set the UID of the current process

posix_setsid
posix_strerror
POSIX Функции
PHP Manual

posix_setuid

(PHP 4, PHP 5)

posix_setuid — Set the UID of the current process

Описание

bool posix_setuid ( int $uid )

Set the real user ID of the current process. This is a privileged function that needs appropriate privileges (usually root) on the system to be able to perform this function.

Список параметров

uid

The user id.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 posix_setuid() example

This example will show the current user id and then set it to a different value.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Смотрите также

  • posix_setgid() - Set the GID of the current process
  • posix_seteuid() - Set the effective UID of the current process
  • posix_getuid() - Return the real user ID of the current process
  • posix_geteuid() - Return the effective user ID of the current process

posix_setsid
posix_strerror
POSIX Функции


Retrieve the system error message associated with the given errno

posix_setuid
posix_times
POSIX Функции
PHP Manual

posix_strerror

(PHP 4 >= 4.2.0, PHP 5)

posix_strerror — Retrieve the system error message associated with the given errno

Описание

string posix_strerror ( int $errno )

Returns the POSIX system error message associated with the given errno. You may get the errno parameter by calling posix_get_last_error().

Список параметров

errno

A POSIX error number, returned by posix_get_last_error(). If set to 0, then the string "Success" is returned.

Возвращаемые значения

Returns the error message, as a string.

Примеры

Пример #1 posix_strerror() example

This example will attempt to kill a process which does not exist, then will print out the corresponding error message.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

No such process

Смотрите также

  • posix_get_last_error() - Retrieve the error number set by the last posix function that failed

posix_setuid
posix_times
POSIX Функции


Get process times

posix_strerror
posix_ttyname
POSIX Функции
PHP Manual

posix_times

(PHP 4, PHP 5)

posix_times — Get process times

Описание

array posix_times ( void )

Gets information about the current CPU usage.

Возвращаемые значения

Returns a hash of strings with information about the current process CPU usage. The indices of the hash are:

  • ticks - the number of clock ticks that have elapsed since reboot.
  • utime - user time used by the current process.
  • stime - system time used by the current process.
  • cutime - user time used by current process and children.
  • cstime - system time used by current process and children.

Примечания

Внимание

This function isn't reliable to use, it may return negative values for high times.

Примеры

Пример #1 Example use of posix_times()

<?php

$times = posix_times();

print_r($times);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

posix_strerror
posix_ttyname
POSIX Функции


Determine terminal device name

posix_times
posix_uname
POSIX Функции
PHP Manual

posix_ttyname

(PHP 4, PHP 5)

posix_ttyname — Determine terminal device name

Описание

string posix_ttyname ( int $fd )

Returns a string for the absolute path to the current terminal device that is open on the file descriptor fd.

Список параметров

fd

The file descriptor.

Возвращаемые значения

On success, returns a string of the absolute path of the fd. On failure, returns FALSE

posix_times
posix_uname
POSIX Функции


Get system name

posix_ttyname
Запуск программы
POSIX Функции
PHP Manual

posix_uname

(PHP 4, PHP 5)

posix_uname — Get system name

Описание

array posix_uname ( void )

Gets information about the system.

Posix requires that assumptions must not be made about the format of the values, e.g. the assumption that a release may contain three digits or anything else returned by this function.

Возвращаемые значения

Returns a hash of strings with information about the system. The indices of the hash are

  • sysname - operating system name (e.g. Linux)
  • nodename - system name (e.g. valiant)
  • release - operating system release (e.g. 2.2.10)
  • version - operating system version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine - system architecture (e.g. i586)
  • domainname - DNS domainname (e.g. example.com)

domainname is a GNU extension and not part of POSIX.1, so this field is only available on GNU systems or when using the GNU libc.

Примеры

Пример #1 Example use of posix_uname()

<?php
$uname=posix_uname();
print_r($uname);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)

posix_ttyname
Запуск программы
POSIX Функции


Запуск программ в системе

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции запуска программ
    • escapeshellarg — Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки
    • escapeshellcmd — Экранирует метасимволы командной строки
    • exec — Исполняет внешнюю программу
    • passthru — Выполняет внешнюю программу и отображает необработанный вывод
    • proc_close — Завершает процесс, открытый при помощи функции proc_open и возвращает код завершения этого процесса
    • proc_get_status — Получает информацию о процессе, открытом при помощи функции proc_open
    • proc_nice — Изменяет приоритет текущего процесса
    • proc_open — Execute a command and open file pointers for input/output
    • proc_terminate — Уничтожает процесс, открытый при помощи функции proc_open
    • shell_exec — Выполняет команду через шелл и возвращает полный вывод в виде строки
    • system — Выполняет внешнюю программу и отображает её вывод
posix_uname
Введение
Расширения для управления процессами программ


Введение

Эти функции являются средствами запуска команд в системе и средствами защиты таких команд.

Замечание:

Все функции запуска вызывают команды через cmd.exe в Windows. Следовательно, пользователь, вызывающий эти функции должен иметь соответствующие привилегии для запуска команды. Единственное исключение - это функция proc_open() с опцией bypass_shell.

Запуск программы
Установка и настройка
Запуск программы


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Запуск программы


Типы ресурсов

Это расширение задает ресурс процесса, возвращаемый функцией proc_open().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Функции запуска программ
Запуск программы


Функции запуска программ

Примечания

Внимание

Открытые файлы с блокировкой (особенно открытые сессии) должны быть закрыты до выполнения программы в фоне.

Смотрите также

Эти функции также тесно связаны с оператором обратные кавычки (``). Примите во внимание, что в безопасный режим вам необходимо учитывать директиву safe_mode_exec_dir.

Содержание

  • escapeshellarg — Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки
  • escapeshellcmd — Экранирует метасимволы командной строки
  • exec — Исполняет внешнюю программу
  • passthru — Выполняет внешнюю программу и отображает необработанный вывод
  • proc_close — Завершает процесс, открытый при помощи функции proc_open и возвращает код завершения этого процесса
  • proc_get_status — Получает информацию о процессе, открытом при помощи функции proc_open
  • proc_nice — Изменяет приоритет текущего процесса
  • proc_open — Execute a command and open file pointers for input/output
  • proc_terminate — Уничтожает процесс, открытый при помощи функции proc_open
  • shell_exec — Выполняет команду через шелл и возвращает полный вывод в виде строки
  • system — Выполняет внешнюю программу и отображает её вывод
Предопределенные константы
escapeshellarg
Запуск программы


Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки

Функции запуска программ
escapeshellcmd
Функции запуска программ
PHP Manual

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg — Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки

Описание

string escapeshellarg ( string $arg )

Функция escapeshellarg() добавляет по одной кавычке вокруг строки и добавляет кавычки/экранирует любые существующие единичные кавычки, позволяя вам передать строку непосредственно шелл-функции и рассматривать её как один безопасный аргумент. Эта функция должна быть использована для того, чтобы экранировать отдельные аргументы для шелл-функций, полученные из ввода пользователя. Шелл-функции включают exec(), system() и оператор "обратный апостроф".

Список параметров

arg

Аргумент, который будет экранирован.

Возвращаемые значения

Экранированная строка.

Примеры

Пример #1 Пример использования escapeshellarg()

<?php
system('ls '.escapeshellarg($dir));
?>

Смотрите также

  • escapeshellcmd() - Экранирует метасимволы командной строки
  • exec() - Исполняет внешнюю программу
  • popen() - Открывает файловый указатель процесса
  • system() - Выполняет внешнюю программу и отображает её вывод
  • оператор "обратный апостроф"

Функции запуска программ
escapeshellcmd
Функции запуска программ


Экранирует метасимволы командной строки

escapeshellarg
exec
Функции запуска программ
PHP Manual

escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd — Экранирует метасимволы командной строки

Описание

string escapeshellcmd ( string $command )

Команда escapeshellcmd() экранирует любые символы в строке, которые могут быть использованы для обмана шелл-команд при выполнении произвольных команд. Эта функция должна быть использована для того, чтобы убедиться, что любые данные, вводимые пользователем, экранированы перед передачей их функции exec() или system(), или оператору "обратный апостроф".

Следующие символы будут экранированы при помощи обратного слэша: #&;`|*?~<>^()[]{}$\, \x0A и \xFF. Символы ' и " экранируются только в том случае, если они встречаются не попарно. В Windows все эти символы и % заменяются пробелом.

Список параметров

command

Команда, которая будет экранирована.

Возвращаемые значения

Экранированая строка.

Примеры

Пример #1 Пример использования escapeshellcmd()

<?php
$e = escapeshellcmd($userinput);

// Здесь мы не заботимся о том, что в $e могут присутствовать пробелы
system("echo $e");
$f = escapeshellcmd($filename);

// и здесь аналогично, поэтому мы используем кавычки
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

Смотрите также

  • escapeshellarg() - Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки
  • exec() - Исполняет внешнюю программу
  • popen() - Открывает файловый указатель процесса
  • system() - Выполняет внешнюю программу и отображает её вывод
  • backtick operator

escapeshellarg
exec
Функции запуска программ


Исполняет внешнюю программу

escapeshellcmd
passthru
Функции запуска программ
PHP Manual

exec

(PHP 4, PHP 5)

exec — Исполняет внешнюю программу

Описание

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() исполняет команду command.

Список параметров

command

Команда (имя программы с аргументами - прим.пер.), которая будет исполнена.

output

Если задан параметр output указан, то массив будет заполнен строками вывода программы. Завершающие пробелы, такие как \n (перевод строки - прим.пер.), включены в массив не будут. Обратите внимание, что если массив уже содержит какие-либо элементы перед вызовом функции exec(), то вывод команды будет дописан в конец массива. Если же вы не хотите дополнять предыдущее содержимое массива, следует вызвать функцию unset() с именем массива в качестве аргумента перед его передачей в качестве аргумента функции exec().

return_var

Если заданы оба параметра return_var и output, то при выходе эта переменная будет содержать статус завершения внешней программы.

Возвращаемые значения

Последняя строка вывода при исполнении заданной команды. Если требуется исполнить команду и получить все данные программы обратно без какой-либо обработки, следует использовать функцию passthru().

Для получения вывода исполняемой программы, убедитесть, что параметр output инициализирован и используется.

Примеры

Пример #1 Пример функции exec()

<?php
// выводит имя пользователя, от имени которого запущен процесс php/httpd
// (применимо к системам с командой "whoami" в системном пути)
echo exec('whoami');
?>

Примечания

Внимание

Если вы собираетесь передавать функции пользовательские данные, используйте функции escapeshellarg() или escapeshellcmd() для того, чтобы пользователи не смогли обмануть систему, запустив произвольную команду.

Замечание:

Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время по практическим причинам запрещено использование .. в качестве компонента пути к исполняемому файлу.

Внимание

В случае работы в безопасном режиме, строка с командой экранируется с помощью escapeshellcmd(). Таким образом echo y | echo x становится echo y \| echo x.

Смотрите также

  • system() - Выполняет внешнюю программу и отображает её вывод
  • passthru() - Выполняет внешнюю программу и отображает необработанный вывод
  • escapeshellcmd() - Экранирует метасимволы командной строки
  • pcntl_exec() - Executes specified program in current process space
  • backtick operator

escapeshellcmd
passthru
Функции запуска программ


Выполняет внешнюю программу и отображает необработанный вывод

exec
proc_close
Функции запуска программ
PHP Manual

passthru

(PHP 4, PHP 5)

passthru — Выполняет внешнюю программу и отображает необработанный вывод

Описание

void passthru ( string $command [, int &$return_var ] )

Функция passthru() похожа на функцию exec() в том, что она выполняет команду command. Эта функция должна быть использована вместо функции exec() или system() когда вывод команды Unix является двоичными данными, которые необходимо передать непосредственно в браузер. Стандартное использование этой функции - выполнить команду, такую, как утилиты pbmplus, которые выводят непосредственно поток изображения. Установив Content-type в image/gif и затем вызвав программу pbmplus для вывода gif-рисунка, вы можете создать PHP-скрипты, которые выводят изображения непосредственно в браузер.

Список параметров

command

Команда, которая будет выполнена.

return_var

Если присутствует аргумент return_var, то код возврата Unix-команды будет помещён здесь.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Внимание

Если вы собираетесь передавать функции пользовательские данные, используйте функции escapeshellarg() или escapeshellcmd() для того, чтобы пользователи не смогли обмануть систему, запустив произвольную команду.

Замечание:

Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время по практическим причинам запрещено использование .. в качестве компонента пути к исполняемому файлу.

Внимание

В случае работы в безопасном режиме, строка с командой экранируется с помощью escapeshellcmd(). Таким образом echo y | echo x становится echo y \| echo x.

Смотрите также

  • exec() - Исполняет внешнюю программу
  • system() - Выполняет внешнюю программу и отображает её вывод
  • popen() - Открывает файловый указатель процесса
  • escapeshellcmd() - Экранирует метасимволы командной строки
  • оператор "обратный апостроф"

exec
proc_close
Функции запуска программ


Завершает процесс, открытый при помощи функции proc_open и возвращает код завершения этого процесса

passthru
proc_get_status
Функции запуска программ
PHP Manual

proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close — Завершает процесс, открытый при помощи функции proc_open() и возвращает код завершения этого процесса

Описание

int proc_close ( resource $process )

Функция proc_close() похожа на функцию pclose(), за исключением того, что она работает только с процессами, открытыми при помощи функции proc_open(). Функция proc_close() ожидает завершения процесса и возвращает его код возврата. Если вы открывали пайпы у этого процесса, вы должны закрыть их при помощи функции fclose() перед тем, как вызывать эту функцию для того, чтобы избежать полной остановки программы: дочерние процессы могут быть неспособны завершиться, если пайпы открыты.

Список параметров

process

Дескриптор типа resource, открытый при помощи proc_open(), который будет закрыт.

Возвращаемые значения

Возвращает код завершения процесса, который был запущен. В случае ошибки возвращается -1.

Примечания

Замечание: Только для Unix:

proc_close() реализована с использованием системного вызова waitpid(3). Для того, чтобы получить настоящий код завершения процесса, должна быть использована функция pcntl_wexitstatus().

passthru
proc_get_status
Функции запуска программ


Получает информацию о процессе, открытом при помощи функции proc_open

proc_close
proc_nice
Функции запуска программ
PHP Manual

proc_get_status

(PHP 5)

proc_get_status — Получает информацию о процессе, открытом при помощи функции proc_open()

Описание

array proc_get_status ( resource $process )

proc_get_status() получает данные о процессе, открытом при помощи функции proc_open().

Список параметров

process

Полученный при помощи функции proc_open() ресурс resource, который будет исследоваться.

Возвращаемые значения

Массив array с полученной информацией в случае успеха и FALSE в случае неудачи. Получаемый массив содержит следующие элементы:

элемент | тип | описание
command | string | Строка с командой, которая была передана функции proc_open().
pid | int | идентификатор процесса
running | bool | TRUE если процесс всё ещё работает, FALSE если он был завершён.
signaled | bool | TRUE если дочерний процесс был завершён сигналом. Всегда устанавливается в FALSE в Windows.
stopped | bool | TRUE если дочерний процесс был остановлен сигналом. Всегда устанавливается в FALSE в Windows.
exitcode | int | Код возврата, передаваемый процессом (имеет значение только в том случае, если running равно FALSE). Только первый вызов этой функции возвратит реальное значение, последующие вызовы будут возвращать -1.
termsig | int | Номер сигнала, который заставил дочерний процесс прекратить своё выполнение (имеет значение только в том случае, если signaled равно TRUE).
stopsig | int | Номер сигнала, который заставил дочерний процесс остановить своё выполнение (имеет значение только в том случае, если stopped равно TRUE).

Смотрите также

  • proc_open() - Execute a command and open file pointers for input/output

proc_close
proc_nice
Функции запуска программ


Изменяет приоритет текущего процесса

proc_get_status
proc_open
Функции запуска программ
PHP Manual

proc_nice

(PHP 5)

proc_nice — Изменяет приоритет текущего процесса

Описание

bool proc_nice ( int $increment )

proc_nice() изменяет приоритет текущего процесса на значение, указанное в параметре increment. Положительное значение параметра increment будет уменьшать приоритет текущего процесса, а отрицательное значение параметра increment будет увеличивать приоритет.

Функция proc_nice() не связана с функцией proc_open() и к относящимся к ней функциям каким-либо образом.

Список параметров

increment

Значение, на которое должен быть изменён приоритет процесса.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. В случае, если происходит ошибка, например, пользователь не имеет прав на изменение приоритета, также генерируется ошибка уровня E_WARNING.

Примечания

Замечание: Доступность

Функция proc_nice() будет доступна только в том случае, если ваша операционная система её поддерживает. Поддержку 'nice' имеют: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Это означает, что функция proc_nice() недоступна в Windows.

proc_get_status
proc_open
Функции запуска программ


Execute a command and open file pointers for input/output

proc_nice
proc_terminate
Функции запуска программ
PHP Manual

proc_open

(PHP 4 >= 4.3.0, PHP 5)

proc_open — Execute a command and open file pointers for input/output

Описание

resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

proc_open() is similar to popen() but provides a much greater degree of control over the program execution.

Список параметров

cmd

The command to execute

descriptorspec

An indexed array where the key represents the descriptor number and the value represents how PHP will pass that descriptor to the child process. 0 is stdin, 1 is stdout, while 2 is stderr.

Each element can be:

  • An array describing the pipe to pass to the process. The first element is the descriptor type and the second element is an option for the given type. Valid types are pipe (the second element is either r to pass the read end of the pipe to the process, or w to pass the write end) and file (the second element is a filename).
  • A stream resource representing a real file descriptor (e.g. opened file, a socket, STDIN).

The file descriptor numbers are not limited to 0, 1 and 2 - you may specify any valid file descriptor number and it will be passed to the child process. This allows your script to interoperate with other scripts that run as "co-processes". In particular, this is useful for passing passphrases to programs like PGP, GPG and openssl in a more secure manner. It is also useful for reading status information provided by those programs on auxiliary file descriptors.

pipes

Will be set to an indexed array of file pointers that correspond to PHP's end of any pipes that are created.

cwd

The initial working dir for the command. This must be an absolute directory path, or NULL if you want to use the default value (the working dir of the current PHP process)

env

An array with the environment variables for the command that will be run, or NULL to use the same environment as the current PHP process

other_options

Allows you to specify additional options. Currently supported options include:

  • suppress_errors (windows only): suppresses errors generated by this function when it's set to TRUE
  • bypass_shell (windows only): bypass cmd.exe shell when set to TRUE
  • context: stream context used when opening files (created with stream_context_create())

Возвращаемые значения

Returns a resource representing the process, which should be freed using proc_close() when you are finished with it. On failure returns FALSE.

Список изменений

Версия | Описание
5.2.1 | Added the bypass_shell option to the other_options parameter.
5.0.0 | Added the cwd, env and other_options parameters.

Примеры

Пример #1 A proc_open() example

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes now looks like this:
    // 0 => writeable handle connected to child stdin
    // 1 => readable handle connected to child stdout
    // Any error output will be appended to /tmp/error-output.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // It is important that you close any pipes before calling
    // proc_close in order to avoid a deadlock
    $return_value = proc_close($process);

    echo "command returned $return_value\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
command returned 0

Примечания

Замечание:

Windows compatibility: Descriptors beyond 2 (stderr) are made available to the child process as inheritable handles, but since the Windows architecture does not associate file descriptor numbers with low-level handles, the child process does not (yet) have a means of accessing those handles. Stdin, stdout and stderr work as expected.

Замечание:

If you only need a uni-directional (one-way) process pipe, use popen() instead, as it is much easier to use.

Смотрите также

  • popen() - Открывает файловый указатель процесса
  • exec() - Исполняет внешнюю программу
  • system() - Выполняет внешнюю программу и отображает её вывод
  • passthru() - Выполняет внешнюю программу и отображает необработанный вывод
  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
  • The backtick operator

proc_nice
proc_terminate
Функции запуска программ


Уничтожает процесс, открытый при помощи функции proc_open

proc_open
shell_exec
Функции запуска программ
PHP Manual

proc_terminate

(PHP 5)

proc_terminate — Уничтожает процесс, открытый при помощи функции proc_open

Описание

bool proc_terminate ( resource $process [, int $signal = 15 ] )

Отправляет процессу process (созданному при помощи функции proc_open()) сигнал, говорящий о том, что он должен завершиться. Функция proc_terminate() возвращается немедленно и не ожидает завершения процесса.

Функция proc_terminate() позволяет программе завершить процесс и продолжать выполнять другие задачи. Вы можете опрашивать процесс (для того, чтобы проверить, был ли он завершён) при помощи функции proc_get_status().

Список параметров

process

Открытый при помощи функции proc_open() дескриптор типа resource, который будет закрыт.

signal

Этот необязательный параметр полезен только на операционных системах, поддерживающих стандарт POSIX. Вы можете указать сигнал, который будет отправлен процессу, используя системный вызов kill(2). По умолчанию используется сигнал SIGTERM.

Возвращаемые значения

Возвращает статус прекращения процесса, который был запущен.

Список изменений

Версия | Описание
5.2.2 | Предыдущие версии использовали для уничтожения указанного процесса ресурс resource.

Смотрите также

  • proc_open() - Execute a command and open file pointers for input/output
  • proc_close() - Завершает процесс, открытый при помощи функции proc_open и возвращает код завершения этого процесса
  • proc_get_status() - Получает информацию о процессе, открытом при помощи функции proc_open

proc_open
shell_exec
Функции запуска программ


Выполняет команду через шелл и возвращает полный вывод в виде строки

proc_terminate
system
Функции запуска программ
PHP Manual

shell_exec

(PHP 4, PHP 5)

shell_exec — Выполняет команду через шелл и возвращает полный вывод в виде строки

Описание

string shell_exec ( string $cmd )

Эта функция идентична оператору обратный апостроф.

Список параметров

cmd

Команда, которая будет выполнена.

Возвращаемые значения

Вывод исполняемой команды.

Примеры

Пример #1 Пример использования shell_exec()

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

Примечания

Замечание:

Эта функция недоступна в безопасном режиме.

Смотрите также

  • exec() - Исполняет внешнюю программу
  • escapeshellcmd() - Экранирует метасимволы командной строки

proc_terminate
system
Функции запуска программ


Выполняет внешнюю программу и отображает её вывод

shell_exec
Semaphore
Функции запуска программ
PHP Manual

system

(PHP 4, PHP 5)

system — Выполняет внешнюю программу и отображает её вывод

Описание

string system ( string $command [, int &$return_var ] )

system() похожа на C-версию этой функции в том, что она выполняет указанную команду command и выводит её результат.

Вызов функции system() также пытается автоматически очистить буфер вывода веб-сервера после каждой строки вывода, если PHP работает как модуль сервера.

Если вам нужно выполнить команду и получить все данные из команды непосредственно без каких-либо препятствий, используйте функцию passthru().

Список параметров

command

Команда, которая будет выполнена.

return_var

Если есть аргумент return_var, то код возврата выполняемой команды будет записан в эту переменную.

Возвращаемые значения

Возвращает последнюю строку вывода команды в случае успеха, и FALSE - в случае неудачи.

Примеры

Пример #1 Пример использования system()

<?php
echo '<pre>';

// Выводит весь результат шелл-команды "ls", и возвращает
// последнюю строку вывода в переменной $last_line. Сохраняет код возврата
// шелл-команды в $retval.
$last_line = system('ls', $retval);

// Выводим дополнительную информацию
echo '
</pre>
<hr />Последняя строка вывода: ' . $last_line . '
<hr />Код возврата: ' . $retval;
?>

Примечания

Внимание

Если вы собираетесь передавать функции пользовательские данные, используйте функции escapeshellarg() или escapeshellcmd() для того, чтобы пользователи не смогли обмануть систему, запустив произвольную команду.

Замечание:

Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время по практическим причинам запрещено использование .. в качестве компонента пути к исполняемому файлу.

Внимание

В случае работы в безопасном режиме, строка с командой экранируется с помощью escapeshellcmd(). Таким образом echo y | echo x становится echo y \| echo x.

Смотрите также

  • exec() - Исполняет внешнюю программу
  • passthru() - Выполняет внешнюю программу и отображает необработанный вывод
  • popen() - Открывает файловый указатель процесса
  • escapeshellcmd() - Экранирует метасимволы командной строки
  • pcntl_exec() - Executes specified program in current process space
  • оператор "обратный апостроф"

shell_exec
Semaphore
Функции запуска программ


Semaphore, Shared Memory and IPC

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Semaphore Функции
    • ftok — Convert a pathname and a project identifier to a System V IPC key
    • msg_get_queue — Create or attach to a message queue
    • msg_queue_exists — Check whether a message queue exists
    • msg_receive — Receive a message from a message queue
    • msg_remove_queue — Destroy a message queue
    • msg_send — Send a message to a message queue
    • msg_set_queue — Set information in the message queue data structure
    • msg_stat_queue — Returns information from the message queue data structure
    • sem_acquire — Acquire a semaphore
    • sem_get — Get a semaphore id
    • sem_release — Release a semaphore
    • sem_remove — Remove a semaphore
    • shm_attach — Creates or open a shared memory segment
    • shm_detach — Disconnects from shared memory segment
    • shm_get_var — Returns a variable from shared memory
    • shm_has_var — Check whether a specific entry exists
    • shm_put_var — Inserts or updates a variable in shared memory
    • shm_remove_var — Removes a variable from shared memory
    • shm_remove — Removes shared memory from Unix systems
system
Введение
Расширения для управления процессами программ


Введение

This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).

Semaphores may be used to provide exclusive access to resources on the current machine, or to limit the number of processes that may simultaneously use a resource.

This module provides also shared memory functions using System V shared memory. Shared memory may be used to provide access to global variables. Different httpd-daemons and even other programs (such as Perl, C, ...) are able to access this data to provide a global data-exchange. Remember, that shared memory is NOT safe against simultaneous access. Use semaphores for synchronization.

Limits of Shared Memory by the Unix OS
SHMMAX | max size of shared memory, normally 131072 bytes
SHMMIN | minimum size of shared memory, normally 1 byte
SHMMNI | max amount of shared memory segments on a system, normally 100
SHMSEG | max amount of shared memory segments per process, normally 6

The messaging functions may be used to send and receive messages to/from other processes. They provide a simple and effective means of exchanging data between processes, without the need for setting up an alternative using Unix domain sockets.

Замечание: Для Windows-платформ это расширение недоступно.

Semaphore
Установка и настройка
Semaphore


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Semaphore


Установка

Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option --enable-sysvsem . To enable the System V shared memory support compile PHP with the option --enable-sysvshm . To enable the System V messages support compile PHP with the option --enable-sysvmsg .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Semaphore Configuration Options
Name | Default | Changeable | Changelog
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

sysvshm.init_mem int

A default size of the shared memory segment.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

System V message constants
Constant | Type | Changelog
MSG_IPC_NOWAIT | integer |
MSG_EAGAIN | integer | As of 5.2.0
MSG_ENOMSG | integer | As of 5.2.0
MSG_NOERROR | integer |
MSG_EXCEPT | integer |

Типы ресурсов
Semaphore Функции
Semaphore


Semaphore Функции

Содержание

  • ftok — Convert a pathname and a project identifier to a System V IPC key
  • msg_get_queue — Create or attach to a message queue
  • msg_queue_exists — Check whether a message queue exists
  • msg_receive — Receive a message from a message queue
  • msg_remove_queue — Destroy a message queue
  • msg_send — Send a message to a message queue
  • msg_set_queue — Set information in the message queue data structure
  • msg_stat_queue — Returns information from the message queue data structure
  • sem_acquire — Acquire a semaphore
  • sem_get — Get a semaphore id
  • sem_release — Release a semaphore
  • sem_remove — Remove a semaphore
  • shm_attach — Creates or open a shared memory segment
  • shm_detach — Disconnects from shared memory segment
  • shm_get_var — Returns a variable from shared memory
  • shm_has_var — Check whether a specific entry exists
  • shm_put_var — Inserts or updates a variable in shared memory
  • shm_remove_var — Removes a variable from shared memory
  • shm_remove — Removes shared memory from Unix systems
Предопределенные константы
ftok
Semaphore


Convert a pathname and a project identifier to a System V IPC key

Semaphore Функции
msg_get_queue
Semaphore Функции
PHP Manual

ftok

(PHP 4 >= 4.2.0, PHP 5)

ftok — Convert a pathname and a project identifier to a System V IPC key

Описание

int ftok ( string $pathname , string $proj )

The function converts the pathname of an existing accessible file and a project identifier into an integer for use with for example shmop_open() and other System V IPC keys.

Список параметров

pathname

Path to an accessible file.

proj

Project identifier. This must be a one character string.

Возвращаемые значения

On success the return value will be the created key value, otherwise -1 is returned.

Смотрите также

  • shmop_open() - Резервирование или использование блока разделяемой памяти
  • sem_get() - Get a semaphore id

Semaphore Функции
msg_get_queue
Semaphore Функции


Create or attach to a message queue

ftok
msg_queue_exists
Semaphore Функции
PHP Manual

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_get_queue — Create or attach to a message queue

Описание

resource msg_get_queue ( int $key [, int $perms = 0666 ] )

msg_get_queue() returns an id that can be used to access the System V message queue with the given key. The first call creates the message queue with the optional perms. A second call to msg_get_queue() for the same key will return a different message queue identifier, but both identifiers access the same underlying message queue.

Список параметров

key

Message queue numeric ID

perms

Queue permissions. Default to 0666. If the message queue already exists, the perms will be ignored.

Возвращаемые значения

Returns a resource handle that can be used to access the System V message queue.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure

ftok
msg_queue_exists
Semaphore Функции


Check whether a message queue exists

msg_get_queue
msg_receive
Semaphore Функции
PHP Manual

msg_queue_exists

(PHP 5 >= 5.3.0)

msg_queue_exists — Check whether a message queue exists

Описание

bool msg_queue_exists ( int $key )

Checks whether the message queue key exists.

Список параметров

key

Queue key.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure

msg_get_queue
msg_receive
Semaphore Функции


Receive a message from a message queue

msg_queue_exists
msg_remove_queue
Semaphore Функции
PHP Manual

msg_receive

(PHP 4 >= 4.3.0, PHP 5)

msg_receive — Receive a message from a message queue

Описание

bool msg_receive ( resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] )

msg_receive() will receive the first message from the specified queue of the type specified by desiredmsgtype.

Список параметров

queue

desiredmsgtype

If desiredmsgtype is 0, the message from the front of the queue is returned. If desiredmsgtype is greater than 0, then the first message of that type is returned. If desiredmsgtype is less than 0, the first message on the queue with the lowest type less than or equal to the absolute value of desiredmsgtype will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

msgtype

The type of the message that was received will be stored in this parameter.

maxsize

The maximum size of message to be accepted is specified by the maxsize; if the message in the queue is larger than this size the function will fail (unless you set flags as described below).

message

The received message will be stored in message, unless there were errors receiving the message.

unserialize

If set to TRUE, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source.

If unserialize is FALSE, the message will be returned as a binary-safe string.

flags

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

Flag values for msg_receive
MSG_IPC_NOWAIT | If there are no messages of the desiredmsgtype, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desiredmsgtype greater than 0 will cause the function to receive the first message that is not equal to desiredmsgtype.
MSG_NOERROR | If the message is longer than maxsize, setting this flag will truncate the message to maxsize and will not signal an error.

errorcode

If the function fails, the optional errorcode will be set to the value of the system errno variable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure

msg_queue_exists
msg_remove_queue
Semaphore Функции


Destroy a message queue

msg_receive
msg_send
Semaphore Функции
PHP Manual

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_remove_queue — Destroy a message queue

Описание

bool msg_remove_queue ( resource $queue )

msg_remove_queue() destroys the message queue specified by the queue. Only use this function when all processes have finished working with the message queue and you need to release the system resources held by it.

Список параметров

queue

Message queue resource handle

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msg_get_queue() - Create or attach to a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure

msg_receive
msg_send
Semaphore Функции


Send a message to a message queue

msg_remove_queue
msg_set_queue
Semaphore Функции
PHP Manual

msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send — Send a message to a message queue

Описание

bool msg_send ( resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]] )

msg_send() sends a message of type msgtype (which MUST be greater than 0) to the message queue specified by queue.

Список параметров

queue

msgtype

message

serialize

The optional serialize controls how the message is sent. serialize defaults to TRUE which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

blocking

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to FALSE, in which case msg_send() will immediately return FALSE if the message is too big for the queue, and set the optional errorcode to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

errorcode

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure

msg_remove_queue
msg_set_queue
Semaphore Функции


Set information in the message queue data structure

msg_send
msg_stat_queue
Semaphore Функции
PHP Manual

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_set_queue — Set information in the message queue data structure

Описание

bool msg_set_queue ( resource $queue , array $data )

msg_set_queue() allows you to change the values of the msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the underlying message queue data structure.

Changing the data structure will require that PHP be running as the same user that created the queue, owns the queue (as determined by the existing msg_perm.xxx fields), or be running with root privileges. root privileges are required to raise the msg_qbytes values above the system defined limit.

Список параметров

queue

Message queue resource handle

data

You specify the values you require by setting the value of the keys that you require in the data array.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_get_queue() - Create or attach to a message queue

msg_send
msg_stat_queue
Semaphore Функции


Returns information from the message queue data structure

msg_set_queue
sem_acquire
Semaphore Функции
PHP Manual

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_stat_queue — Returns information from the message queue data structure

Описание

array msg_stat_queue ( resource $queue )

msg_stat_queue() returns the message queue meta data for the message queue specified by the queue. This is useful, for example, to determine which process sent the message that was just received.

Список параметров

queue

Message queue resource handle

Возвращаемые значения

The return value is an array whose keys and values have the following meanings:

Array structure for msg_stat_queue
msg_perm.uid | The uid of the owner of the queue.
msg_perm.gid | The gid of the owner of the queue.
msg_perm.mode | The file access mode of the queue.
msg_stime | The time that the last message was sent to the queue.
msg_rtime | The time that the last message was received from the queue.
msg_ctime | The time that the queue was last changed.
msg_qnum | The number of messages waiting to be read from the queue.
msg_qbytes | The maximum number of bytes allowed in one message queue. On Linux, this value may be read and modified via /proc/sys/kernel/msgmnb.
msg_lspid | The pid of the process that sent the last message to the queue.
msg_lrpid | The pid of the process that received the last message from the queue.

Смотрите также

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_get_queue() - Create or attach to a message queue
  • msg_set_queue() - Set information in the message queue data structure

msg_set_queue
sem_acquire
Semaphore Функции


Acquire a semaphore

msg_stat_queue
sem_get
Semaphore Функции
PHP Manual

sem_acquire

(PHP 4, PHP 5)

sem_acquire — Acquire a semaphore

Описание

bool sem_acquire ( resource $sem_identifier )

sem_acquire() blocks (if necessary) until the semaphore can be acquired. A process attempting to acquire a semaphore which it has already acquired will block forever if acquiring the semaphore would cause its maximum number of semaphore to be exceeded.

After processing a request, any semaphores acquired by the process but not explicitly released will be released automatically and a warning will be generated.

Список параметров

sem_identifier

sem_identifier is a semaphore resource, obtained from sem_get().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore

msg_stat_queue
sem_get
Semaphore Функции


Get a semaphore id

sem_acquire
sem_release
Semaphore Функции
PHP Manual

sem_get

(PHP 4, PHP 5)

sem_get — Get a semaphore id

Описание

resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )

sem_get() returns an id that can be used to access the System V semaphore with the given key.

A second call to sem_get() for the same key will return a different semaphore identifier, but both identifiers access the same underlying semaphore.

Список параметров

key

max_acquire

The number of processes that can acquire the semaphore simultaneously is set to max_acquire.

perm

The semaphore permissions. Actually this value is set only if the process finds it is the only process currently attached to the semaphore.

auto_release

Specifies if the semaphore should be automatically released on request shutdown.

Возвращаемые значения

Returns a positive semaphore identifier on success, or FALSE on error.

Список изменений

Версия | Описание
4.3.0 | The auto_release parameter was added.

Смотрите также

  • sem_acquire() - Acquire a semaphore
  • sem_release() - Release a semaphore
  • ftok() - Convert a pathname and a project identifier to a System V IPC key

sem_acquire
sem_release
Semaphore Функции


Release a semaphore

sem_get
sem_remove
Semaphore Функции
PHP Manual

sem_release

(PHP 4, PHP 5)

sem_release — Release a semaphore

Описание

bool sem_release ( resource $sem_identifier )

sem_release() releases the semaphore if it is currently acquired by the calling process, otherwise a warning is generated.

After releasing the semaphore, sem_acquire() may be called to re-acquire it.

Список параметров

sem_identifier

A Semaphore resource handle as returned by sem_get().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sem_get() - Get a semaphore id
  • sem_acquire() - Acquire a semaphore

sem_get
sem_remove
Semaphore Функции


Remove a semaphore

sem_release
shm_attach
Semaphore Функции
PHP Manual

sem_remove

(PHP 4 >= 4.1.0, PHP 5)

sem_remove — Remove a semaphore

Описание

bool sem_remove ( resource $sem_identifier )

sem_remove() removes the given semaphore.

After removing the semaphore, it is no longer accessible.

Список параметров

sem_identifier

A semaphore resource identifier as returned by sem_get().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore
  • sem_acquire() - Acquire a semaphore

sem_release
shm_attach
Semaphore Функции


Creates or open a shared memory segment

sem_remove
shm_detach
Semaphore Функции
PHP Manual

shm_attach

(PHP 4, PHP 5)

shm_attach — Creates or open a shared memory segment

Описание

resource shm_attach ( int $key [, int $memsize [, int $perm = 0666 ]] )

shm_attach() returns an id that can be used to access the System V shared memory with the given key, the first call creates the shared memory segment with memsize and the optional perm-bits perm.

A second call to shm_attach() for the same key will return a different shared memory identifier, but both identifiers access the same underlying shared memory. memsize and perm will be ignored.

Список параметров

key

A numeric shared memory segment ID

memsize

The memory size. If not provided, default to the sysvshm.init_mem in the php.ini, otherwise 10000 bytes.

perm

The optional permission bits. Default to 0666.

Возвращаемые значения

Returns a shared memory segment identifier.

Список изменений

Версия | Описание
5.3.0 | This function now returns a resource instead of an integer.

Примечания

Замечание:

This function used to return an integer value prior to PHP 5.3.0. To achieve the same value in a portable manner, the return value can be cast to an integer like:

<?php
// Create a temporary file and return its path
$tmp = tempnam('/tmp', 'PHP');

// Get the file token key
$key = ftok($tmp, 'a');

// Attach the SHM resource, notice the cast afterwards
$id = shm_attach($key);

if ($id === false) {
    die('Unable to create the shared memory segment');
}

// Cast to integer, since prior to PHP 5.3.0 the resource id
// is returned which can be exposed when casting a resource
// to an integer
$id = (integer) $id;
?>

Смотрите также

  • shm_detach() - Disconnects from shared memory segment
  • ftok() - Convert a pathname and a project identifier to a System V IPC key

sem_remove
shm_detach
Semaphore Функции


Disconnects from shared memory segment

shm_attach
shm_get_var
Semaphore Функции
PHP Manual

shm_detach

(PHP 4, PHP 5)

shm_detach — Disconnects from shared memory segment

Описание

bool shm_detach ( resource $shm_identifier )

shm_detach() disconnects from the shared memory given by the shm_identifier created by shm_attach(). Remember, that shared memory still exist in the Unix system and the data is still present.

Список параметров

shm_identifier

A shared memory resource handle as returned by shm_attach()

Возвращаемые значения

shm_detach() always returns TRUE.

Смотрите также

  • shm_attach() - Creates or open a shared memory segment
  • shm_remove() - Removes shared memory from Unix systems
  • shm_remove_var() - Removes a variable from shared memory

shm_attach
shm_get_var
Semaphore Функции


Returns a variable from shared memory

shm_detach
shm_has_var
Semaphore Функции
PHP Manual

shm_get_var

(PHP 4, PHP 5)

shm_get_var — Returns a variable from shared memory

Описание

mixed shm_get_var ( resource $shm_identifier , int $variable_key )

shm_get_var() returns the variable with a given variable_key, in the given shared memory segment. The variable is still present in the shared memory.

Список параметров

shm_identifier

Shared memory segment, obtained from shm_attach().

variable_key

The variable key.

Возвращаемые значения

Returns the variable with the given key.

Смотрите также

  • shm_has_var() - Check whether a specific entry exists
  • shm_put_var() - Inserts or updates a variable in shared memory

shm_detach
shm_has_var
Semaphore Функции


Check whether a specific entry exists

shm_get_var
shm_put_var
Semaphore Функции
PHP Manual

shm_has_var

(PHP 5 >= 5.3.0)

shm_has_var — Check whether a specific entry exists

Описание

bool shm_has_var ( resource $shm_identifier , int $variable_key )

Checks whether a specific key exists inside a shared memory segment.

Список параметров

shm_identifier

Shared memory segment, obtained from shm_attach().

variable_key

The variable key.

Возвращаемые значения

Returns TRUE if the entry exists, otherwise FALSE

Смотрите также

  • shm_get_var() - Returns a variable from shared memory
  • shm_put_var() - Inserts or updates a variable in shared memory

shm_get_var
shm_put_var
Semaphore Функции


Inserts or updates a variable in shared memory

shm_has_var
shm_remove_var
Semaphore Функции
PHP Manual

shm_put_var

(PHP 4, PHP 5)

shm_put_var — Inserts or updates a variable in shared memory

Описание

bool shm_put_var ( resource $shm_identifier , int $variable_key , mixed $variable )

shm_put_var() inserts or updates the variable with the given variable_key.

Warnings (E_WARNING level) will be issued if shm_identifier is not a valid SysV shared memory index or if there was not enough shared memory remaining to complete your request.

Список параметров

shm_identifier

A shared memory resource handle as returned by shm_attach()

variable_key

The variable key.

variable

The variable. All variable types that serialize() supports may be used: generally this means all types except for resources and some internal objects that cannot be serialized.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • shm_get_var() - Returns a variable from shared memory
  • shm_has_var() - Check whether a specific entry exists

shm_has_var
shm_remove_var
Semaphore Функции


Removes a variable from shared memory

shm_put_var
shm_remove
Semaphore Функции
PHP Manual

shm_remove_var

(PHP 4, PHP 5)

shm_remove_var — Removes a variable from shared memory

Описание

bool shm_remove_var ( resource $shm_identifier , int $variable_key )

Removes a variable with a given variable_key and frees the occupied memory.

Список параметров

shm_identifier

The shared memory identifier as returned by shm_attach()

variable_key

The variable key.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • shm_remove() - Removes shared memory from Unix systems

shm_put_var
shm_remove
Semaphore Функции


Removes shared memory from Unix systems

shm_remove_var
Управление разделяемой памятью
Semaphore Функции
PHP Manual

shm_remove

(PHP 4, PHP 5)

shm_remove — Removes shared memory from Unix systems

Описание

bool shm_remove ( resource $shm_identifier )

shm_remove() removes the shared memory shm_identifier. All data will be destroyed.

Список параметров

shm_identifier

The shared memory identifier as returned by shm_attach()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • shm_remove_var() - Removes a variable from shared memory

shm_remove_var
Управление разделяемой памятью
Semaphore Функции


Управление разделяемой памятью

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • Разделяемая (shared) память
    • shmop_close — Закрытие блока разделяемой памяти
    • shmop_delete — Удаление блока разделяемой памяти
    • shmop_open — Резервирование или использование блока разделяемой памяти
    • shmop_read — Чтение данных из участка разделяемой памяти
    • shmop_size — Возвращает размер блока в разделяемой памяти
    • shmop_write — Запись данных в разделяемую память
shm_remove
Введение
Расширения для управления процессами программ


Введение

Набор функций shmop позволяет легко выполнять операции чтения, записи, резервирования и удаления сегментов разделяемой памяти Unix.

Замечание: Версии Windows, предшествующие Windows 2000, не поддерживают разделяемую память.

Замечание: В PHP версии 4.0.3 эти функции имели префикс shm, а не shmop.

Управление разделяемой памятью
Установка и настройка
Управление разделяемой памятью


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Управление разделяемой памятью


Установка

Для использования набора функций shmop необходимо скомпилировать PHP с опцией --enable-shmop в строке конфигурации.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Управление разделяемой памятью


Примеры

Содержание

  • Базовое использование
Предопределенные константы
Базовое использование
Управление разделяемой памятью


Базовое использование

Пример #1 Обзор операций с разделяемой памятью

<?php

// Создание блока с идентификатором 0xff3 и размером в 100 байт.
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Невозможно зарезервировать блок в сегменте памяти\n";
}

// Получение размера блока в разделяемой памяти
$shm_size = shmop_size($shm_id);
echo "Участок памяти, размером: " . $shm_size . ", успешно зарезервирован.\n";

// Проверочная запись некоторой строки в разделяемую память
$shm_bytes_written = shmop_write($shm_id, "Мой маленький блок", 0);
if ($shm_bytes_written != strlen("Мой маленький блок")) {
    echo "Не удалось записать весь размер данных\n";
}

// Получение хранимой строки из разделяемой памяти
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Невозможно прочитать данные из блока памяти\n";
}
echo "Данные, размещенные в разделяемой памяти: " . $my_string . "\n";

// Удаление блока и закрытие сегмента разделяемой памяти
if (!shmop_delete($shm_id)) {
    echo "Невозможно отметить участок памяти для освобождения.";
}
shmop_close($shm_id);

?>

Примеры
Разделяемая (shared) память
Примеры


Разделяемая (shared) память

Содержание

  • shmop_close — Закрытие блока разделяемой памяти
  • shmop_delete — Удаление блока разделяемой памяти
  • shmop_open — Резервирование или использование блока разделяемой памяти
  • shmop_read — Чтение данных из участка разделяемой памяти
  • shmop_size — Возвращает размер блока в разделяемой памяти
  • shmop_write — Запись данных в разделяемую память
Базовое использование
shmop_close
Управление разделяемой памятью


Закрытие блока разделяемой памяти

Разделяемая (shared) память
shmop_delete
Разделяемая (shared) память
PHP Manual

shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close — Закрытие блока разделяемой памяти

Описание

void shmop_close ( int $shmid )

shmop_close() используется для завершения доступа к блоку разделяемой памяти.

Список параметров

shmid

Идентификатор блока памяти, возвращаемый функцией shmop_open()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Закрытие блока разделяемой памяти

<?php
shmop_close($shm_id);
?>

В данном примере прекращается доступ к блоку памяти, имеющему идентификатор $shm_id.

Смотрите также

  • shmop_open() - Резервирование или использование блока разделяемой памяти

Разделяемая (shared) память
shmop_delete
Разделяемая (shared) память


Удаление блока разделяемой памяти

shmop_close
shmop_open
Разделяемая (shared) память
PHP Manual

shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete — Удаление блока разделяемой памяти

Описание

bool shmop_delete ( int $shmid )

shmop_delete() используется для удаления блока разделяемой памяти.

Список параметров

shmid

Идентификатор блока памяти, возвращаемый функцией shmop_open()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Удаление блока разделяемой памяти

<?php
shmop_delete($shm_id);
?>

В приведенном примере показано удаление блока разделяемой памяти, имеющего идентификатор $shm_id.

shmop_close
shmop_open
Разделяемая (shared) память


Резервирование или использование блока разделяемой памяти

shmop_delete
shmop_read
Разделяемая (shared) память
PHP Manual

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open — Резервирование или использование блока разделяемой памяти

Описание

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open() резервирует или использует существующий блок разделяемой памяти.

Список параметров

key

Системный идентификатор блока разделяемой памяти. Может быть задан в десятичной или шестнадцатеричной кодировке.

flags

Доступные для использования флаги:

  • "a" для доступа (устанавливает флаг SHM_RDONLY) Следует применять этот флаг, когда необходимо использовать ранее зарезервированный участок разделяемой памяти, уже содержащий какие-либо данные. В этом случае доступ возможен только для операций чтения.
  • "c" для резервирования (устанавливает флаг IPC_CREATE) Следует применять этот флаг для создания нового зарезервированного участка разделяемой памяти. Если участок памяти с таким идентификатором уже существует, выполняется попытка доступа к нему для последующих операций чтения и записи.
  • "w" для выполнения операций чтения и записи Следует применять этот флаг для чтения и записи данных, хранимых в разделяемой памяти. Данный флаг используется в большинстве случаев.
  • "n" для создания в памяти нового сегмента (устанавливает флаг IPC_CREATE|IPC_EXCL) Следует применять этот флаг для создания нового сегмента в разделяемой памяти, но если сегмент уже существует с тем же флагом, происходит отказ. Это полезно в целях безопасности, т.к. позволяет избежать ошибок синхронизации (Race condition exploits).

mode

Права доступа к участку памяти такие же, как к обычному файлу. Их можно указывать в восьмеричноv виде, например 0644.

size

Размер резервируемого блока в разделяемой памяти в байтах

Замечание:

Обратите внимание: Третий и четвертый параметры должны быть указаны как 0, если необходимо получить доступ к существующему участку памяти.

Возвращаемые значения

При успешном выполнении shmop_open() возвращается идентификатор, который может быть в дальнейшем использован для доступа к зарезервированному участку памяти.

Примеры

Пример #1 Резервирование участка разделяемой памяти

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

В приведенном примере выполняется доступ к блоку с идентификатором, возвращаемым функцией ftok().

Смотрите также

  • shmop_close() - Закрытие блока разделяемой памяти
  • shmop_delete() - Удаление блока разделяемой памяти

shmop_delete
shmop_read
Разделяемая (shared) память


Чтение данных из участка разделяемой памяти

shmop_open
shmop_size
Разделяемая (shared) память
PHP Manual

shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read — Чтение данных из участка разделяемой памяти

Описание

string shmop_read ( int $shmid , int $start , int $count )

shmop_read() возвращает строковые данные, хранимые в участке разделяемой памяти.

Список параметров

shmid

Идентификатор блока памяти, возвращаемый функцией shmop_open()

start

Определяет, с какой позиции начинать чтение данных.

count

Количество байтов для чтения.

Возвращаемые значения

Возвращает строковые данные или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Чтение данных из участка разделяемой памяти

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

В приведенном примере выполняется чтение 50 байт из участка разделяемой памяти (идентифицируемого по $shm_id) и размещение в $shm_data.

Смотрите также

  • shmop_write() - Запись данных в разделяемую память

shmop_open
shmop_size
Разделяемая (shared) память


Возвращает размер блока в разделяемой памяти

shmop_read
shmop_write
Разделяемая (shared) память
PHP Manual

shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size — Возвращает размер блока в разделяемой памяти

Описание

int shmop_size ( int $shmid )

shmop_size() используется для получения размера блока разделяемой памяти в байтах.

Список параметров

shmid

Идентификатор блока памяти, возвращаемый функцией shmop_open()

Возвращаемые значения

Результатом является целое число, отражающее количество байт, зарезервированных в разделяемой памяти для конкретного блока.

Примеры

Пример #1 Получение размера блока разделяемой памяти

<?php
$shm_size = shmop_size($shm_id);
?>

В приведенном примере показано получение размера блока с идентификатором $shm_id и его сохранение в $shm_size.

shmop_read
shmop_write
Разделяемая (shared) память


Запись данных в разделяемую память

shmop_size
Другие базовые расширения
Разделяемая (shared) память
PHP Manual

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write — Запись данных в разделяемую память

Описание

int shmop_write ( int $shmid , string $data , int $offset )

shmop_write() записывает строковые данные в участок разделяемой памяти.

Список параметров

shmid

Идентификатор участка памяти, возвращаемый функцией shmop_open()

data

Строковые данные для размещения в памяти

offset

Определяет, в каком месте участка памяти следует начать запись данных.

Возвращаемые значения

Размер записанных данных, переданных через параметр data, или FALSE при отказе.

Примеры

Пример #1 Запись данных в участок разделяемой памяти

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

В данном примере в память помещается содержимое строковой переменной $my_string, после чего переменная $shm_bytes_written будет содержать размер фактически записанных данных.

Смотрите также

  • shmop_read() - Чтение данных из участка разделяемой памяти

shmop_size
Другие базовые расширения
Разделяемая (shared) память


Другие базовые расширения

  • GeoIP — Geo IP Location
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • GeoIP Функции
  • JSON — JavaScript Object Notation
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • JsonSerializable — The JsonSerializable class
    • JSON Функции
  • Judy — Judy Arrays
    • Введение
    • Установка и настройка
    • Judy — The Judy class
    • Judy Функции
  • Lua
    • Введение
    • Установка и настройка
    • Lua — The Lua class
    • LuaClosure — The LuaClosure class
  • Misc. — Разные функции
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Разные Функции
  • Parsekit
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Parsekit Функции
  • SPL — Стандартная библиотека PHP (SPL)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Структуры данных
    • Итераторы
    • Интерфейсы
    • Исключения
    • SPL Функции
    • Обработка файлов
    • Различные Классы и Интерфейсы
  • SPL Types — SPL Type Handling
    • Введение
    • Установка и настройка
    • SplType — The SplType class
    • SplInt — The SplInt class
    • SplFloat — The SplFloat class
    • SplEnum — The SplEnum class
    • SplBool — The SplBool class
    • SplString — The SplString class
  • Streams
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Stream Filters
    • Контексты потоков
    • Stream Errors
    • Примеры
    • streamWrapper — The streamWrapper class
    • Stream Функции
  • Tidy
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Tidy — Класс Tidy
    • TidyNode — Класс TidyNode
    • Tidy
  • Tokenizer (Лексер)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Tokenizer Функции
  • URL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • URL
  • V8js — V8 Javascript Engine Integration
    • Введение
    • Установка и настройка
    • Примеры
    • V8Js — The V8Js class
    • V8JsException — The V8JsException class
  • Yaml — Сериализация данных YAML
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Yaml Функции
  • Yaf
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Yaf_Application — The Yaf_Application class
    • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_Loader — The Yaf_Loader class
    • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Registry — The Yaf_Registry class
    • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Router — The Yaf_Router class
    • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Session — The Yaf_Session class
    • Yaf_Exception — The Yaf_Exception class
shmop_write
GeoIP
Справочник функций


Geo IP Location

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • GeoIP Функции
    • geoip_continent_code_by_name — Получить двухсимвольный код континента
    • geoip_country_code_by_name — Получить двухсимвольный код страны
    • geoip_country_code3_by_name — Получить трехсимвольный код страны
    • geoip_country_name_by_name — Получить полное название страны
    • geoip_database_info — Возвращает информацию о базе GeoIP
    • geoip_db_avail — Проверяет доступность базы GeoIP
    • geoip_db_filename — Возвращает имя файла соответствующей базы GeoIP
    • geoip_db_get_all_info — Возвращает подробную информацию обо всех типах базы GeoIP
    • geoip_id_by_name — Возвращает тип интернет соединения
    • geoip_isp_by_name — Возвращает имя Интернет провайдера (ISP)
    • geoip_org_by_name — Возвращает название организации, владеющей IP адресом
    • geoip_record_by_name — Возвращает подробную информацию об адресе, найденом в базе GeoIP
    • geoip_region_by_name — Возвращает коды страны и региона
    • geoip_region_name_by_code — Возвращает название региона для выбраной страны и кода региона
    • geoip_time_zone_by_country_and_region — Возвращает временную зону и код региона для некоторых стран
Другие базовые расширения
Введение
Другие базовые расширения


Введение

Расширение GeoIP позволяет найти местоположение по IP-адресу. С помощью GeoIP можно получить такую информацию как город, государство, страна, долгота и широта, а также можно узнать, интернет-провайдера и тип соединения.

GeoIP
Установка и настройка
GeoIP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GeoIP


Требования

Это расширение требует наличие установленной библиотеки C GeoIP версии 1.4.0 или выше. Вы можете получить данную библиотеку по ссылке » http://www.maxmind.com/app/c и скомпилировать самостоятельно.

По умолчанию, у вас есть доступ только к бесплатным базам GeoIP Country или GeoLite City. Если вы хотите чтобы этот модуль работал с прочими базами GeoIP, необходимо купить коммерческую лицензию » Maxmind.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/geoip.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

GEOIP_COUNTRY_EDITION (integer)
GEOIP_REGION_EDITION_REV0 (integer)
GEOIP_CITY_EDITION_REV0 (integer)
GEOIP_ORG_EDITION (integer)
GEOIP_ISP_EDITION (integer)
GEOIP_CITY_EDITION_REV1 (integer)
GEOIP_REGION_EDITION_REV1 (integer)
GEOIP_PROXY_EDITION (integer)
GEOIP_ASNUM_EDITION (integer)
GEOIP_NETSPEED_EDITION (integer)
GEOIP_DOMAIN_EDITION (integer)

Следующие константы предназначены для установки скорости сети:

GEOIP_UNKNOWN_SPEED (integer)
GEOIP_DIALUP_SPEED (integer)
GEOIP_CABLEDSL_SPEED (integer)
GEOIP_CORPORATE_SPEED (integer)
Типы ресурсов
GeoIP Функции
GeoIP


GeoIP Функции

Содержание

  • geoip_continent_code_by_name — Получить двухсимвольный код континента
  • geoip_country_code_by_name — Получить двухсимвольный код страны
  • geoip_country_code3_by_name — Получить трехсимвольный код страны
  • geoip_country_name_by_name — Получить полное название страны
  • geoip_database_info — Возвращает информацию о базе GeoIP
  • geoip_db_avail — Проверяет доступность базы GeoIP
  • geoip_db_filename — Возвращает имя файла соответствующей базы GeoIP
  • geoip_db_get_all_info — Возвращает подробную информацию обо всех типах базы GeoIP
  • geoip_id_by_name — Возвращает тип интернет соединения
  • geoip_isp_by_name — Возвращает имя Интернет провайдера (ISP)
  • geoip_org_by_name — Возвращает название организации, владеющей IP адресом
  • geoip_record_by_name — Возвращает подробную информацию об адресе, найденом в базе GeoIP
  • geoip_region_by_name — Возвращает коды страны и региона
  • geoip_region_name_by_code — Возвращает название региона для выбраной страны и кода региона
  • geoip_time_zone_by_country_and_region — Возвращает временную зону и код региона для некоторых стран
Предопределенные константы
geoip_continent_code_by_name
GeoIP


Получить двухсимвольный код континента

GeoIP Функции
geoip_country_code_by_name
GeoIP Функции
PHP Manual

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Получить двухсимвольный код континента

Описание

string geoip_continent_code_by_name ( string $hostname )

Функция geoip_continent_code_by_name() возвращает двухсимвольный код континента,соответствующий имени хоста или IP-адресу.

Список параметров

hostname

Имя хоста или IP-адрес по которому будет вестись поиск.

Возвращаемые значения

Возвращает два символа, содержаших код континента, при нахождении адреса в базе данных, в противном случае FALSE.

Примеры

Пример #1 Пример использования geoip_continent_code_by_name()

Данный пример выведет расположение хоста example.com.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'Данный хост расположен: ' . $continent;
}
?>

Результат выполнения данного примера:

 Данный хост расположен: NA

Смотрите также

  • geoip_country_code_by_name() - Получить двухсимвольный код страны

GeoIP Функции
geoip_country_code_by_name
GeoIP Функции


Получить двухсимвольный код страны

geoip_continent_code_by_name
geoip_country_code3_by_name
GeoIP Функции
PHP Manual

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Получить двухсимвольный код страны

Описание

string geoip_country_code_by_name ( string $hostname )

Функция geoip_country_code_by_name() возвращает двухсимвольный код страны, соответствующий имени хоста или IP-адресу.

Список параметров

hostname

Имя хоста или IP-адрес по которому будет вестись поиск.

Возвращаемые значения

Возвращает два символа, содержаших код страны по ISO 3166-1, при нахождении адреса в базе данных, в противном случае FALSE.

Примеры

Пример #1 Пример использования geoip_country_code_by_name()

Данный пример выведет расположение хоста example.com.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'Хост расположен в: ' . $country;
}
?>

Результат выполнения данного примера:

Хост расположен в: US

Смотрите также

  • geoip_country_code3_by_name() - Получить трехсимвольный код страны
  • geoip_country_name_by_name() - Получить полное название страны

geoip_continent_code_by_name
geoip_country_code3_by_name
GeoIP Функции


Получить трехсимвольный код страны

geoip_country_code_by_name
geoip_country_name_by_name
GeoIP Функции
PHP Manual

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Получить трехсимвольный код страны

Описание

string geoip_country_code3_by_name ( string $hostname )

Функция geoip_country_code3_by_name() возвращает трехсимвольный код страны, соответствующий имени хоста или IP-адресу.

Список параметров

hostname

Имя хоста или IP-адрес по которому будет вестись поиск.

Возвращаемые значения

Возвращает три символа, содержаших код континента по ISO 3166-1, при нахождении адреса в базе данных, в противном случае FALSE.

Примеры

Пример #1 Пример использования geoip_country_code3_by_name()

Данный пример выведет расположение хоста example.com.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'Хост расположен в: ' . $country;
}
?>

Результат выполнения данного примера:

Хост расположен в: USA

Смотрите также

  • geoip_country_code_by_name() - Получить двухсимвольный код страны
  • geoip_country_name_by_name() - Получить полное название страны

geoip_country_code_by_name
geoip_country_name_by_name
GeoIP Функции


Получить полное название страны

geoip_country_code3_by_name
geoip_database_info
GeoIP Функции
PHP Manual

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Получить полное название страны

Описание

string geoip_country_name_by_name ( string $hostname )

Функция geoip_country_name_by_name() возвращает полное название страны, соответствующий имени хоста или IP-адресу.

Список параметров

hostname

Имя хоста или IP-адрес, по которому будет вестись поиск.

Возвращаемые значения

Возвращает полное название страны при нахождении адреса в базе данных, в противном случае FALSE.

Примеры

Пример #1 Пример использования geoip_country_name_by_name()

Данный пример выведет расположение хоста example.com.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'Хост расположен в: ' . $country;
}
?>

Результат выполнения данного примера:

 Хост расположен в: United States

Смотрите также

  • geoip_country_code_by_name() - Получить двухсимвольный код страны
  • geoip_country_code3_by_name() - Получить трехсимвольный код страны

geoip_country_code3_by_name
geoip_database_info
GeoIP Функции


Возвращает информацию о базе GeoIP

geoip_country_name_by_name
geoip_db_avail
GeoIP Функции
PHP Manual

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Возвращает информацию о базе GeoIP

Описание

string geoip_database_info ([ int $database = GEOIP_COUNTRY_EDITION ] )

Функция geoip_database_info() возвращает версию базы GeoIP, соответствующую определению в бинарном файле.

Эта функция вызывается без параметров и возвращает версию базы GeoIP Free Country Edition.

Список параметров

database

Тип базы определяется целым числом (integer). Вы можете использовать разнообразные константы, определённые в этом расширении (ie: GEOIP_*_EDITION).

Возвращаемые значения

Возвращает подходящую версию, или NULL при ошибке.

Примеры

Пример #1 Пример использования geoip_region_by_name()

Пример демонстрирует вывод текущей версии базы в виде строки.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Результат выполнения данного примера:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_country_name_by_name
geoip_db_avail
GeoIP Функции


Проверяет доступность базы GeoIP

geoip_database_info
geoip_db_filename
GeoIP Функции
PHP Manual

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Проверяет доступность базы GeoIP

Описание

bool geoip_db_avail ( int $database )

Функция geoip_db_avail() опрелеояет доступна ли соответствующая база GeoIP и может ли быть открыта на диске.

При этом не определяется, соответствует ли файл базе данных, только доступность для чтения.

Список параметров

database

Тип базы определяется целым числом (integer). Вы можете использовать разнообразные константы, определённые в этом расширении (ie: GEOIP_*_EDITION).

Возвращаемые значения

Возвращает TRUE если база существует, FALSE если не найдена, или NULL при ошибке.

Примеры

Пример #1 Пример использованияgeoip_db_avail()

Пример демонстрирует вывод версии текущей базы GeoIP в виде строки.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Результат выполнения данного примера:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_database_info
geoip_db_filename
GeoIP Функции


Возвращает имя файла соответствующей базы GeoIP

geoip_db_avail
geoip_db_get_all_info
GeoIP Функции
PHP Manual

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Возвращает имя файла соответствующей базы GeoIP

Описание

string geoip_db_filename ( int $database )

Функция geoip_db_filename() возвращает имя файла соответствующей базы GeoIP.

Функция не определяет, существует ли файл на диске, только указывает путь, по которому библиотека ищет файл базы.

Список параметров

database

Тип базы определяется целым числом (integer). Вы можете использовать разнообразные константы, определённые в этом расширении (ie: GEOIP_*_EDITION).

Возвращаемые значения

Возвращает имя файла соответствующей базы, или NULL при ошибке.

Примеры

Пример #1 Пример использованияgeoip_db_filename()

Пример отображения имени файла текущей базы в виде строки.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Результат выполнения данного примера:

/usr/share/GeoIP/GeoIP.dat

geoip_db_avail
geoip_db_get_all_info
GeoIP Функции


Возвращает подробную информацию обо всех типах базы GeoIP

geoip_db_filename
geoip_id_by_name
GeoIP Функции
PHP Manual

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Возвращает подробную информацию обо всех типах базы GeoIP

Описание

array geoip_db_get_all_info ( void )

Функция geoip_db_get_all_info() возвращает подробную информацию обо всех типах базы GeoIP в виде многомерного массива.

Эта функция доступна даже при отсутствии установленных базы данных. При этом типы будут перечислены и отмечены как недоступные.

Имена различных ключей возвращаемого ассоциативного массива:

  • "available" -- Логический тип, указывает доступна ли база geoip_db_avail())
  • "description" -- Описание базы данных
  • "filename" -- Имя файла базы данных на диске geoip_db_filename())

Возвращаемые значения

Возвращает ассоциативный массив.

Примеры

Пример #1 Пример использования geoip_db_get_all_info()

Выводит массив содержащий всю инфрмацию о базе данных.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

Результат выполнения данного примера:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Пример #2 Пример использования geoip_db_get_all_info()

Вы можете использовать разнообразные константы как ключи для получения только конкретной части информации.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

Результат выполнения данного примера:

GeoIP Country Edition

geoip_db_filename
geoip_id_by_name
GeoIP Функции


Возвращает тип интернет соединения

geoip_db_get_all_info
geoip_isp_by_name
GeoIP Функции
PHP Manual

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Возвращает тип интернет соединения

Описание

int geoip_id_by_name ( string $hostname )

Функция geoip_id_by_name() возвращает тип Интернет соединения соответствующего имени хоста или IP адреса.

Возвращает числовое значение которое можно сравнить с константами:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Список параметров

hostname

Имя хоста или IP адрес, соединение с которыми проверяется.

Возвращаемые значения

Возвращает тип соединения.

Примеры

Пример #1 Пример использования geoip_id_by_name()

Выводит тип соединения для хоста example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'Тип Интернет-соединения: ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable or DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'unknown';
}
?>

Результат выполнения данного примера:

Тип Интернет-соединения: corporate

geoip_db_get_all_info
geoip_isp_by_name
GeoIP Функции


Возвращает имя Интернет провайдера (ISP)

geoip_id_by_name
geoip_org_by_name
GeoIP Функции
PHP Manual

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Возвращает имя Интернет провайдера (ISP)

Описание

string geoip_isp_by_name ( string $hostname )

Функция geoip_isp_by_name() возвращает имя провайдера (ISP) указаного IP адреса.

Эта функция доступна только для тех, кто приобрел коммерческую версию GeoIP ISP. Если такая база отсутствует, выводится предупреждение.

Список параметров

hostname

Имя хоста или IP адрес.

Возвращаемые значения

Возвращает имя ISP при успехе, или FALSE если адрес не может быть найден в базе.

Примеры

Пример #1 Пример использованияgeoip_isp_by_name()

Выведет имя ISP для хоста example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'Адрес управляется провайдером: ' . $isp;
}
?>

Результат выполнения данного примера:

Адрес управляется провайдером: ICANN c/o Internet Assigned Numbers Authority

geoip_id_by_name
geoip_org_by_name
GeoIP Функции


Возвращает название организации, владеющей IP адресом

geoip_isp_by_name
geoip_record_by_name
GeoIP Функции
PHP Manual

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Возвращает название организации, владеющей IP адресом

Описание

string geoip_org_by_name ( string $hostname )

Функция geoip_org_by_name() возвращает название организации, которая владеет указаным IP адресом.

Эта функция доступна только для тех, кто приобрел коммерческую версию GeoIP Organization, ISP ил AS . Если такая база отсутствует, выводится предупреждение.

Список параметров

hostname

Имя хоста или IP адрес.

Возвращаемые значения

Возвращает имя организации в случае успеха или FALSE, если адрес не может быть найден в базе данных.

Примеры

Пример #1 Пример использованияgeoip_org_by_name()

Будет выведено название организации, которой принадлежит IP адрес хоста example.com.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'Владелец данного адреса: ' . $org;
}
?>

Результат выполнения данного примера:

Владелец данного адреса: ICANN c/o Internet Assigned Numbers Authority

geoip_isp_by_name
geoip_record_by_name
GeoIP Функции


Возвращает подробную информацию об адресе, найденом в базе GeoIP

geoip_org_by_name
geoip_region_by_name
GeoIP Функции
PHP Manual

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Возвращает подробную информацию об адресе, найденом в базе GeoIP

Описание

array geoip_record_by_name ( string $hostname )

Функция geoip_record_by_name() возвращает информацию о соответствующем имени хоста или IP адреса.

Функция доступна для бесплатной версии GeoLite City Edition и коммерческой GeoIP City Edition. Если необходимые базы отсутствует, выводится предупреждение.

Имена ключей возвращаемого ассоциативного массива:

  • "continent_code" -- Две буквы кода континента (начиная с версии 1.0.4 с libgeoip 1.4.3 или более поздней)
  • "country_code" -- Две буквы кода страны (см. geoip_country_code_by_name())
  • "country_code3" -- Три буквы кода страны (см. geoip_country_code3_by_name())
  • "country_name" -- Название страны (см. geoip_country_name_by_name())
  • "region" -- Код Региона (например: CA для Калифорнии)
  • "city" -- Город.
  • "postal_code" -- Почтовый индекс.
  • "latitude" -- Широта, знаковое вещественное число (signed double).
  • "longitude" -- Долгота, знаковое вещественное число (signed double).
  • "dma_code" -- Код рыночной зоны (DMA, только для США и Канады)
  • "area_code" -- Код телефонной сети общего пользования (PSTN, например: 212)

Список параметров

hostname

Имя хоста или IP адрес, данные о котором должны быть получены.

Возвращаемые значения

Возвращает ассоциативный массив в случае успеха или FALSE, если адрес не может быть найден в базе.

Список изменений

Версия | Описание
1.0.4 | Добавленен код континента (continent_code) с GeoIP Library 1.4.3 или более поздними.
1.0.3 | Добавлен трехбуквенный код страны (country_code3) и название страны (and country_name).

Примеры

Пример #1 Пример использования geoip_record_by_name()

Выведет массив, содержащий запись о хосте example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

Результат выполнения данного примера:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

geoip_org_by_name
geoip_region_by_name
GeoIP Функции


Возвращает коды страны и региона

geoip_record_by_name
geoip_region_name_by_code
GeoIP Функции
PHP Manual

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Возвращает коды страны и региона

Описание

array geoip_region_by_name ( string $hostname )

Функцияgeoip_region_by_name() возвращает коды страны и региона, соответствующих имени хоста или IP адресу.

Эта функция доступна только для тех, кто приобрел коммерческую версию GeoIP Region. Если такая база отсутствует, выводится предупреждение.

Имена ключей возвращаемого ассоциативного массива:

  • "country_code" -- Две буквы кода страны (см. geoip_country_code_by_name())
  • "region" -- Код региона (Например, CA для Калифорнии)

Список параметров

hostname

Имя хоста или IP адрес, данные о стране и регионе которого необходимо найти.

Возвращаемые значения

Возвращает ассоциативный массив в случае успеха или FALSE, если адрес не будет найден в базе данных.

Примеры

Пример #1 Пример использования geoip_region_by_name()

Выведет массив состоящий из кода страны и кода региона для хоста example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

Результат выполнения данного примера:

Array
(
    [country_code] => US
    [region] => CA
)

geoip_record_by_name
geoip_region_name_by_code
GeoIP Функции


Возвращает название региона для выбраной страны и кода региона

geoip_region_by_name
geoip_time_zone_by_country_and_region
GeoIP Функции
PHP Manual

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Возвращает название региона для выбраной страны и кода региона

Описание

string geoip_region_name_by_code ( string $country_code , string $region_code )

Функция geoip_region_name_by_code() возвращает название региона соответствующей страны и кода региона.

В США, код региона соответствует двухбувенной абревиации названия штата. В Канаде, код региона соответствует двухбуквенной абривиации имени провинции или территории, присвоенный почтовой службой Канады.

Для остального мира, GeoIP использует коды FIPS 10-4 для представления региона. См. также » http://www.maxmind.com/app/fips10_4 -- детальный список кодов FIPS 10-4 .

Данная функция всегда доступна при использовании библиотеки GeoIP версии 1.4.1 и выше. Данные берутся непосредственно из библиотеки GeoIP, а не из какой-либо базы.

Список параметров

country_code

Двухбуквенный код страны geoip_country_code_by_name())

region_code

Двухбуквенный (или циферный) код региона geoip_region_by_name())

Возвращаемые значения

Возвращает название региона в случае успехе или FALSE, если страна и код региона не найдены в базе данных.

Примеры

Пример #1 Пример использования geoip_region_name_by_code() (Для Канады/США)

Будет выведеено название региона для страны CA (Канада), региона QC (Квебек).

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
    echo 'Region name for CA/QC is: ' . $region;
}
?>

Результат выполнения данного примера:

Region name for CA/QC is: Quebec

Пример #2 Пример использования geoip_region_name_by_code()(коды FIPS)

Будет выведено имя региона для страны JP (Япония), региона 01 (Айти).

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
    echo 'Region name for JP/01 is: ' . $region;
}
?>

Результат выполнения данного примера:

Region name for JP/01 is: Aichi

geoip_region_by_name
geoip_time_zone_by_country_and_region
GeoIP Функции


Возвращает временную зону и код региона для некоторых стран

geoip_region_name_by_code
JSON
GeoIP Функции
PHP Manual

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Возвращает временную зону и код региона для некоторых стран

Описание

string geoip_time_zone_by_country_and_region ( string $country_code [, string $region_code ] )

Функция geoip_time_zone_by_country_and_region() вернет временную зону и код региона соответствующей страны.

В Соединенных Штатах код региона соответствует двухбуквенному сокращению каждого штата. В Канаде код региона соответствует двухбуквенному сокращению провинции или территориальный код соответствующий канадской почте.

Для остальной части мира, для представления регионов GeoIP использует коды FIPS 10-4. Вы можете просмотреть » http://www.maxmind.com/app/fips10_4 для получения полного списка FIPS 10-4 кодов.

Эта функция всегда доступна при использовании библиотеки GeoIP версии 1.4.1 или выше. Данные берутся непосредственно из библиотеки GeoIP, а не из какой-либо базы данных.

Список параметров

country_code

Двухбуквенный код страны (смотрите geoip_country_code_by_name())

region_code

Двухбуквенный (или цифровой) код региона (смотрите geoip_region_by_name())

Возвращаемые значения

Возвращает временную зону в случае успеха или FALSE, если страна и одновременно код региона не могут быть найдены.

Примеры

Пример #1 Пример использования geoip_time_zone_by_country_and_region() для кода региона US/Canada

Напечает временную зону для страны CA (Канада), региона QC (Квебек).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Временная зона для CA/QC: ' . $timezone;
}
?>

Результат выполнения данного примера:

Временная зона для CA/QC: America/Montreal

Пример #2 Использование geoip_time_zone_by_country_and_region() используя коды FIPS

Напечатает временную зону для страны JP (Япония), регион 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Временная зона для JP/01: ' . $timezone;
}
?>

Результат выполнения данного примера:

Временная зона для JP/01: Asia/Tokyo

geoip_region_name_by_code
JSON
GeoIP Функции


JavaScript Object Notation

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • JsonSerializable — The JsonSerializable class
    • JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON
  • JSON Функции
    • json_decode — Decodes a JSON string
    • json_encode — Returns the JSON representation of a value
    • json_last_error — Возвращает последнюю ошибку
geoip_time_zone_by_country_and_region
Введение
Другие базовые расширения


Введение

This extension implements the » JavaScript Object Notation (JSON) data-interchange format. The decoding is handled by a parser based on the JSON_checker by Douglas Crockford.

JSON
Установка и настройка
JSON


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
JSON


Требования

Для использования этих функций не требуется проведение установки, поскольку они являются частью ядра PHP.

Установка и настройка
Установка
Установка и настройка


Установка

As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/json

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The following constants indicate the type of error returned by json_last_error(). They are all available as of PHP 5.3.0.

JSON_ERROR_NONE (integer)
No error has occurred.
JSON_ERROR_DEPTH (integer)
The maximum stack depth has been exceeded.
JSON_ERROR_STATE_MISMATCH (integer)
Occurs with underflow or with the modes mismatch.
JSON_ERROR_CTRL_CHAR (integer)
Control character error, possibly incorrectly encoded.
JSON_ERROR_SYNTAX (integer)
Syntax error.
JSON_ERROR_UTF8 (integer)
Malformed UTF-8 characters, possibly incorrectly encoded. This constant is available as of PHP 5.3.1.

The following constants can be combined to form options for json_encode(). They are all available as of PHP 5.3.0.

JSON_HEX_TAG (integer)
All < and > are converted to \u003C and \u003E.
JSON_HEX_AMP (integer)
All &s are converted to \u0026.
JSON_HEX_APOS (integer)
All ' are converted to \u0027.
JSON_HEX_QUOT (integer)
All " are converted to \u0022.
JSON_FORCE_OBJECT (integer)
Outputs an object rather than an array when a non-associative array is used. Especially useful when the recipient of the output is expecting an object and the array is empty.
JSON_NUMERIC_CHECK (integer)
Encodes numeric strings as numbers. Available since PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Available since PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Use whitespace in returned data to format it. Available since PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Don't escape /. Available since PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Encode multibyte Unicode characters literally (default is to escape as \uXXXX). Available since PHP 5.4.0.
Типы ресурсов
JsonSerializable
JSON


The JsonSerializable class

(PHP 5 >= 5.4.0)

Введение

Обзор классов

JsonSerializable {
/* Методы */
abstract public mixed jsonSerialize ( void )
}

Содержание

  • JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON
Предопределенные константы
JsonSerializable::jsonSerialize
JSON


Specify data which should be serialized to JSON

JsonSerializable
JSON Функции
JsonSerializable
PHP Manual

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0)

JsonSerializable::jsonSerialize — Specify data which should be serialized to JSON

Описание

abstract public mixed JsonSerializable::jsonSerialize ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return data which should be serialized by json_encode().

JsonSerializable
JSON Функции
JsonSerializable


JSON Функции

Содержание

  • json_decode — Decodes a JSON string
  • json_encode — Returns the JSON representation of a value
  • json_last_error — Возвращает последнюю ошибку
JsonSerializable::jsonSerialize
json_decode
JSON


Decodes a JSON string

JSON Функции
json_encode
JSON Функции
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decode — Decodes a JSON string

Описание

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

Takes a JSON encoded string and converts it into a PHP variable.

Список параметров

json

The json string being decoded.

This function only works with UTF-8 encoded data.

assoc

When TRUE, returned objects will be converted into associative arrays.

depth

User specified recursion depth.

options

Bitmask of JSON decode options. Currently only JSON_BIGINT_AS_STRING is supported (default is to cast large integers as floats)

Возвращаемые значения

Returns the value encoded in json in appropriate PHP type. Values true, false and null (case-insensitive) are returned as TRUE, FALSE and NULL respectively. NULL is returned if the json cannot be decoded or if the encoded data is deeper than the recursion limit.

Примеры

Пример #1 json_decode() examples

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

Результат выполнения данного примера:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Пример #2 Accessing invalid object properties

Accessing elements within an object that contain characters not permitted under PHP's naming convention (e.g. the hyphen) can be accomplished by encapsulating the element name within braces and the apostrophe.

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Пример #3 common mistakes using json_decode()

<?php

// the following strings are valid JavaScript but not valid JSON

// the name and value must be enclosed in double quotes
// single quotes are not valid
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// the name must be enclosed in double quotes
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null

// trailing commas are not allowed
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null

?>

Пример #4 depth errors

<?php
// Encode the data.
$json = json_encode(
    array(
        1 => array(
            'English' => array(
                'One',
                'January'
            ),
            'French' => array(
                'Une',
                'Janvier'
            )
        )
    )
);

// Define the errors.
$constants = get_defined_constants(true);
$json_errors = array();
foreach ($constants["json"] as $name => $value) {
    if (!strncmp($name, "JSON_ERROR_", 11)) {
        $json_errors[$value] = $name;
    }
}

// Show the errors for different depths.
foreach (range(4, 3, -1) as $depth) {
    var_dump(json_decode($json, true, $depth));
    echo 'Last error: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
}
?>

Результат выполнения данного примера:

array(1) {
  [1]=>
  array(2) {
    ["English"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["French"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Last error: JSON_ERROR_NONE

NULL
Last error: JSON_ERROR_DEPTH

Пример #5 json_decode() of large integers

<?php
$json = '12345678901234567890';

var_dump(json_decode($json));
var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

?>

Результат выполнения данного примера:

float(1.2345678901235E+19)
string(20) "12345678901234567890"

Примечания

Замечание:

The JSON spec is not JavaScript, but a subset of JavaScript.

Замечание:

In the event of a failure to decode, json_last_error() can be used to determine the exact nature of the error.

Список изменений

Версия | Описание
5.4.0 | The options parameter was added.
5.3.0 | Added the optional depth. The default recursion depth was increased from 128 to 512
5.2.3 | The nesting limit was increased from 20 to 128

Смотрите также

  • json_encode() - Returns the JSON representation of a value
  • json_last_error() - Возвращает последнюю ошибку

JSON Функции
json_encode
JSON Функции


Returns the JSON representation of a value

json_decode
json_last_error
JSON Функции
PHP Manual

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_encode — Returns the JSON representation of a value

Описание

string json_encode ( mixed $value [, int $options = 0 ] )

Returns a string containing the JSON representation of value.

Список параметров

value

The value being encoded. Can be any type except a resource.

This function only works with UTF-8 encoded data.

options

Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.

Возвращаемые значения

Returns a JSON encoded string on success.

Список изменений

Версия | Описание
5.4.0 | JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE options were added.
5.3.3 | JSON_NUMERIC_CHECK option was added.
5.3.0 | The options parameter was added.
5.2.1 | Added support for JSON encoding of basic types.

Примеры

Пример #1 A json_encode() example

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

Результат выполнения данного примера:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Пример #2 A json_encode() example showing all the options in action

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ",  json_encode($a), "\n";
echo "Tags: ",    json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ",    json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ",    json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ",     json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ",     json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Empty array output as array: ", json_encode($b), "\n";
echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Non-associative array output as array: ", json_encode($c), "\n";
echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Associative array always output as object: ", json_encode($d), "\n";
echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
?>

Результат выполнения данного примера:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}

Примечания

Замечание:

In the event of a failure to encode, json_last_error() can be used to determine the exact nature of the error.

Смотрите также

  • json_decode() - Decodes a JSON string
  • json_last_error() - Возвращает последнюю ошибку

json_decode
json_last_error
JSON Функции


Возвращает последнюю ошибку

json_encode
Judy
JSON Функции
PHP Manual

json_last_error

(PHP 5 >= 5.3.0)

json_last_error — Возвращает последнюю ошибку

Описание

int json_last_error ( void )

Если при последнем JSON кодировании/декодировании возникла ошибка, то возвращает её код.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает целочисленное значение, которое может быть одной из следующих констант:

JSON error codes
Константа | Значение | Доступность
JSON_ERROR_NONE | Ошибок нет |
JSON_ERROR_DEPTH | Достигнута максимальная глубина стека |
JSON_ERROR_STATE_MISMATCH | Неверный или не корректный JSON |
JSON_ERROR_CTRL_CHAR | Ошибка управляющего символа, возможно неверная кодировка |
JSON_ERROR_SYNTAX | Синтаксическая ошибка |
JSON_ERROR_UTF8 | Некорректные символы UTF-8, возможно неверная кодировка | PHP 5.3.3

Примеры

Пример #1 Пример использования json_last_error()

<?php
// Верная json-строка
$json[] = '{"Organization": "PHP Documentation Team"}';

// Неверная json-строка, которая вызовет синтаксическую ошибку,
// здесь в качестве кавычек мы используем ' вместо "
$json[] = "{'Organization': 'PHP Documentation Team'}";

foreach ($json as $string) {
    echo 'Декодируем: ' . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - Ошибок нет';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Достигнута максимальная глубина стека';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Некорректные разряды или не совпадение режимов';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Некорректный управляющий символ';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Синтаксическая ошибка, не корректный JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Некорректные символы UTF-8, возможно неверная кодировка';
        break;
        default:
            echo ' - Неизвестная ошибка';
        break;
    }

    echo PHP_EOL;
}
?>

Результат выполнения данного примера:

Декодируем: {"Organization": "PHP Documentation Team"} - Ошибок нет
Декодируем: {'Organization': 'PHP Documentation Team'} - Синтаксическая ошибка, некорректный JSON

Пример #2 Совместное использование json_last_error() и json_encode()

<?php
// Некорректная последователньость UTF8
$text = "\xB1\x31";

$json  = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

Результат выполнения данного примера:

string(4) "null"
bool(true)

Смотрите также

  • json_decode() - Decodes a JSON string
  • json_encode() - Returns the JSON representation of a value

json_encode
Judy
JSON Функции


Judy Arrays

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Judy — The Judy class
    • Judy::byCount — Locate the Nth index present in the Judy array
    • Judy::__construct — Construct a new Judy object
    • Judy::count — Count the number of elements in the Judy array
    • Judy::__destruct — Destruct a Judy object
    • Judy::first — Search for the first index in the Judy array
    • Judy::firstEmpty — Search for the first absent index in the Judy array
    • Judy::free — Free the entire Judy array
    • Judy::getType — Return the type of the current Judy array
    • Judy::last — Search for the last index in the Judy array
    • Judy::lastEmpty — Search for the last absent index in the Judy array
    • Judy::memoryUsage — Return the memory used by the Judy array
    • Judy::next — Search for the next index in the Judy array
    • Judy::nextEmpty — Search for the next absent index in the Judy array
    • Judy::offsetExists — Whether a offset exists
    • Judy::offsetGet — Offset to retrieve
    • Judy::offsetSet — Offset to set
    • Judy::offsetUnset — Offset to unset
    • Judy::prev — Search for the previous index in the Judy array
    • Judy::prevEmpty — Search for the previous absent index in the Judy array
    • Judy::size — Return the size of the current Judy array
  • Judy Функции
    • judy_type — Return the type of a Judy array
    • judy_version — Return or print the current PHP Judy version
json_last_error
Введение
Другие базовые расширения


Введение

PHP Judy is a PECL extension for the » Judy C library implementing dynamic sparse arrays.

A Judy array is a complex but very fast associative array data structure for storing and looking up values using integer or string keys. Unlike normal arrays, Judy arrays may be sparse; that is, they may have large ranges of unassigned indices.

A Judy array consumes memory only when populated yet can grow to take advantage of all available memory. Judy's key benefits are: scalability, performance, memory efficiency, and ease of use. Judy arrays are designed to grow without tuning into the peta-element range, scaling near O(log-base-256) -- 1 more RAM access at 256 X population.

Judy
Установка и настройка
Judy


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Judy


Требования

This extension require the » Judy C library.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/judy

The latest PECL/judy Win32 DLL is available here: » php_judy.dll

Installation on Linux Systems

From sources

Download and install » libJudy, then :

     phpize
     ./configure --with-judy[=DIR]
     make
     make test
     make install

Ubuntu/Debian

libJudy can be installed with apt-get :

    apt-get install libjudydebian1 libjudy-dev
Then by installing the Judy extension from PECL or from the sources.

Installation on Windows Systems

Download » libJudy, then extract the sources and open the Visual Studio command prompt and navigate to the source directory. Then execute :

build
This creates "Judy.lib", copy this into the php-sdk library folder and name it "libJudy.lib" Then copy the include file "judy.h" into the php-sdk includes folder.

Next, the PHP Judy extension can be installed from PECL or from the sources by extracting the pecl/judy into your build folder where the build scripts will be able to pick it up, e.g.:

    C:\php\pecl\judy\
If your source of PHP is located in:
    C:\php\src\
The rest of the steps is pretty straight forward, like any other external extension:
    buildconf
    configure --with-judy=shared
    nmake

Installation on Mac OS X

Download and install » libJudy. Then install the Judy extension from PECL or from the sources.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
Judy
Установка и настройка


The Judy class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The Judy class implements the ArrayAccess interface and the Iterator interface. This class, once instantiated, can be accessed like a PHP array.

A PHP Judy object (or Judy Array) can be one of the following type :

  • Judy::BITSET
  • Judy::INT_TO_INT
  • Judy::INT_TO_MIXED
  • Judy::STRING_TO_INT
  • Judy::STRING_TO_MIXED

Пример #1 Judy array example

<?php
    $judy = new Judy(Judy::INT_TO_MIXED);
    $judy[1] = "one";
    $judy[2] = array('a', 'b', 'c');
    $judy[3] = new Judy(Judy::BITSET);
?>

Обзор классов

Judy implements ArrayAccess , Iterator {
/* Constants */
const integer BITSET = 1 ;
const integer INT_TO_INT = 2 ;
const integer INT_TO_MIXED = 3 ;
const integer STRING_TO_INT = 4 ;
const integer STRING_TO_MIXED = 5 ;
/* Методы */
public int byCount ( int $nth_index )
public Judy __construct ( int $judy_type )
public int count ([ int $index_start = 0 [, int $index_end = -1 ]] )
public void __destruct ( void )
public mixed first ([ mixed $index ] )
public int firstEmpty ([ mixed $index = 0 ] )
public int free ( void )
public int getType ( void )
public void last ([ string $index ] )
public int lastEmpty ([ int $index = -1 ] )
public int memoryUsage ( void )
public mixed next ( mixed $index )
public int nextEmpty ( int $index )
public bool offsetExists ( mixed $offset )
public mixed offsetGet ( mixed $offset )
public bool offsetSet ( mixed $offset , mixed $value )
public bool offsetUnset ( mixed $offset )
public mixed prev ( mixed $index )
public int prevEmpty ( mixed $index )
public void size ( void )
}

Предопределенные константы

Judy Node Types

Judy::BITSET

Define the Judy Array as a Bitset with keys as Integer and Values as a Boolean

Judy::INT_TO_INT

Define the Judy Array with key/values as Integer, and Integer only.

Judy::INT_TO_MIXED

Define the Judy Array with keys as Integer and Values of any type.

Judy::STRING_TO_INT

Define the Judy Array with keys as a String and Values as Integer, and Integer only.

Judy::STRING_TO_MIXED

Define the Judy Array with keys as a String and Values of any type.

Содержание

  • Judy::byCount — Locate the Nth index present in the Judy array
  • Judy::__construct — Construct a new Judy object
  • Judy::count — Count the number of elements in the Judy array
  • Judy::__destruct — Destruct a Judy object
  • Judy::first — Search for the first index in the Judy array
  • Judy::firstEmpty — Search for the first absent index in the Judy array
  • Judy::free — Free the entire Judy array
  • Judy::getType — Return the type of the current Judy array
  • Judy::last — Search for the last index in the Judy array
  • Judy::lastEmpty — Search for the last absent index in the Judy array
  • Judy::memoryUsage — Return the memory used by the Judy array
  • Judy::next — Search for the next index in the Judy array
  • Judy::nextEmpty — Search for the next absent index in the Judy array
  • Judy::offsetExists — Whether a offset exists
  • Judy::offsetGet — Offset to retrieve
  • Judy::offsetSet — Offset to set
  • Judy::offsetUnset — Offset to unset
  • Judy::prev — Search for the previous index in the Judy array
  • Judy::prevEmpty — Search for the previous absent index in the Judy array
  • Judy::size — Return the size of the current Judy array
Типы ресурсов
Judy::byCount
Judy


Locate the Nth index present in the Judy array

Judy
Judy::__construct
Judy
PHP Manual

Judy::byCount

(PECL judy >= 0.1.1)

Judy::byCount — Locate the Nth index present in the Judy array

Описание

public int Judy::byCount ( int $nth_index )

Locate the Nth index present in the Judy array.

Список параметров

nth_index

Nth index to return. If nth_index equal 1, then it will return the first index in the array.

Возвращаемые значения

Return the index at the given Nth position.

Judy
Judy::__construct
Judy


Construct a new Judy object

Judy::byCount
Judy::count
Judy
PHP Manual

Judy::__construct

(PECL judy >= 0.1.1)

Judy::__construct — Construct a new Judy object

Описание

public Judy Judy::__construct ( int $judy_type )

Construct a new Judy object. A Judy object can be accessed like a PHP Array.

Список параметров

judy_type

The Judy type to be used.

Возвращаемые значения

Return the new Judy instance.

Judy::byCount
Judy::count
Judy


Count the number of elements in the Judy array

Judy::__construct
Judy::__destruct
Judy
PHP Manual

Judy::count

(PECL judy >= 0.1.1)

Judy::count — Count the number of elements in the Judy array

Описание

public int Judy::count ([ int $index_start = 0 [, int $index_end = -1 ]] )

Count the number of elements in the Judy array.

Список параметров

index_start

Start counting from the given index. Default is first index.

index_end

Stop counting when reaching this index. Default is last index.

Возвращаемые значения

Return the number of elements.

Judy::__construct
Judy::__destruct
Judy


Destruct a Judy object

Judy::count
Judy::first
Judy
PHP Manual

Judy::__destruct

(PECL judy >= 0.1.1)

Judy::__destruct — Destruct a Judy object

Описание

public void Judy::__destruct ( void )

Destruct a Judy object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Judy::count
Judy::first
Judy


Search for the first index in the Judy array

Judy::__destruct
Judy::firstEmpty
Judy
PHP Manual

Judy::first

(PECL judy >= 0.1.1)

Judy::first — Search for the first index in the Judy array

Описание

public mixed Judy::first ([ mixed $index ] )

Search (inclusive) for the first index present that is equal to or greater than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::__destruct
Judy::firstEmpty
Judy


Search for the first absent index in the Judy array

Judy::first
Judy::free
Judy
PHP Manual

Judy::firstEmpty

(PECL judy >= 0.1.1)

Judy::firstEmpty — Search for the first absent index in the Judy array

Описание

public int Judy::firstEmpty ([ mixed $index = 0 ] )

Search (inclusive) for the first absent index that is equal to or greater than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::first
Judy::free
Judy


Free the entire Judy array

Judy::firstEmpty
Judy::getType
Judy
PHP Manual

Judy::free

(PECL judy >= 0.1.1)

Judy::free — Free the entire Judy array

Описание

public int Judy::free ( void )

Free the entire Judy array.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Judy::firstEmpty
Judy::getType
Judy


Return the type of the current Judy array

Judy::free
Judy::last
Judy
PHP Manual

Judy::getType

(PECL judy >= 0.1.1)

Judy::getType — Return the type of the current Judy array

Описание

public int Judy::getType ( void )

Return an integer corresponding to the Judy type of the current object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return an integer corresponding to a Judy type.

Judy::free
Judy::last
Judy


Search for the last index in the Judy array

Judy::getType
Judy::lastEmpty
Judy
PHP Manual

Judy::last

(PECL judy >= 0.1.1)

Judy::last — Search for the last index in the Judy array

Описание

public void Judy::last ([ string $index ] )

Search (inclusive) for the last index present that is equal to or less than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::getType
Judy::lastEmpty
Judy


Search for the last absent index in the Judy array

Judy::last
Judy::memoryUsage
Judy
PHP Manual

Judy::lastEmpty

(PECL judy >= 0.1.1)

Judy::lastEmpty — Search for the last absent index in the Judy array

Описание

public int Judy::lastEmpty ([ int $index = -1 ] )

Search (inclusive) for the last absent index that is equal to or less than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::last
Judy::memoryUsage
Judy


Return the memory used by the Judy array

Judy::lastEmpty
Judy::next
Judy
PHP Manual

Judy::memoryUsage

(PECL judy >= 0.1.1)

Judy::memoryUsage — Return the memory used by the Judy array

Описание

public int Judy::memoryUsage ( void )

Return the memory used by the Judy array.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return the memory used in bytes.

Judy::lastEmpty
Judy::next
Judy


Search for the next index in the Judy array

Judy::memoryUsage
Judy::nextEmpty
Judy
PHP Manual

Judy::next

(PECL judy >= 0.1.1)

Judy::next — Search for the next index in the Judy array

Описание

public mixed Judy::next ( mixed $index )

Search (exclusive) for the next index present that is greater than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::memoryUsage
Judy::nextEmpty
Judy


Search for the next absent index in the Judy array

Judy::next
Judy::offsetExists
Judy
PHP Manual

Judy::nextEmpty

(PECL judy >= 0.1.1)

Judy::nextEmpty — Search for the next absent index in the Judy array

Описание

public int Judy::nextEmpty ( int $index )

Search (exclusive) for the next absent index that is greater than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::next
Judy::offsetExists
Judy


Whether a offset exists

Judy::nextEmpty
Judy::offsetGet
Judy
PHP Manual

Judy::offsetExists

(PECL judy >= 0.1.1)

Judy::offsetExists — Whether a offset exists

Описание

public bool Judy::offsetExists ( mixed $offset )

Whether or not an offset exists.

Список параметров

offset

An offset to check for.

Возвращаемые значения

Returns TRUE on success or FALSE on failure.

Judy::nextEmpty
Judy::offsetGet
Judy


Offset to retrieve

Judy::offsetExists
Judy::offsetSet
Judy
PHP Manual

Judy::offsetGet

(PECL judy >= 0.1.1)

Judy::offsetGet — Offset to retrieve

Описание

public mixed Judy::offsetGet ( mixed $offset )

Returns the value at specified offset.

Список параметров

offset

The offset to retrieve.

Возвращаемые значения

Can return all value types.

Judy::offsetExists
Judy::offsetSet
Judy


Offset to set

Judy::offsetGet
Judy::offsetUnset
Judy
PHP Manual

Judy::offsetSet

(PECL judy >= 0.1.1)

Judy::offsetSet — Offset to set

Описание

public bool Judy::offsetSet ( mixed $offset , mixed $value )

Assigns a value to the specified offset.

Список параметров

offset

The offset to assign the value to.

value

The value to set.

Возвращаемые значения

No value is returned.

Judy::offsetGet
Judy::offsetUnset
Judy


Offset to unset

Judy::offsetSet
Judy::prev
Judy
PHP Manual

Judy::offsetUnset

(PECL judy >= 0.1.1)

Judy::offsetUnset — Offset to unset

Описание

public bool Judy::offsetUnset ( mixed $offset )

Unsets an offset.

Список параметров

offset

The offset to unset.

Возвращаемые значения

No value is returned.

Judy::offsetSet
Judy::prev
Judy


Search for the previous index in the Judy array

Judy::offsetUnset
Judy::prevEmpty
Judy
PHP Manual

Judy::prev

(PECL judy >= 0.1.1)

Judy::prev — Search for the previous index in the Judy array

Описание

public mixed Judy::prev ( mixed $index )

Search (exclusive) for the previous index present that is less than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::offsetUnset
Judy::prevEmpty
Judy


Search for the previous absent index in the Judy array

Judy::prev
Judy::size
Judy
PHP Manual

Judy::prevEmpty

(PECL judy >= 0.1.1)

Judy::prevEmpty — Search for the previous absent index in the Judy array

Описание

public int Judy::prevEmpty ( mixed $index )

Search (exclusive) for the previous index absent that is less than the passed Index.

Список параметров

index

The index can be an integer or a string corresponding to the index where to start the search.

Возвращаемые значения

Return the corresponding index in the array.

Judy::prev
Judy::size
Judy


Return the size of the current Judy array

Judy::prevEmpty
Judy Функции
Judy
PHP Manual

Judy::size

(PECL judy >= 0.1.1)

Judy::size — Return the size of the current Judy array

Описание

public void Judy::size ( void )

This method is an alias of Judy::count.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return an integer.

Judy::prevEmpty
Judy Функции
Judy


Judy Функции

Содержание

  • judy_type — Return the type of a Judy array
  • judy_version — Return or print the current PHP Judy version
Judy::size
judy_type
Judy


Return the type of a Judy array

Judy Функции
judy_version
Judy Функции
PHP Manual

judy_type

(PECL judy >= 0.1.1)

judy_type — Return the type of a Judy array

Описание

int judy_type ( Judy $array )

judy_type() return an integer corresponding to the Judy type of the specified Judy array.

Список параметров

array

The Judy Array to test.

Возвращаемые значения

Return an integer corresponding to a Judy type.

Judy Функции
judy_version
Judy Функции


Return or print the current PHP Judy version

judy_type
Lua
Judy Функции
PHP Manual

judy_version

(PECL judy >= 0.1.1)

judy_version — Return or print the current PHP Judy version

Описание

string judy_version ( void )

Return a string of the PHP Judy version. If the return value is not used, the string will be printed.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Return a string of the PHP Judy version.

judy_type
Lua
Judy Функции


Lua

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Lua — The Lua class
    • Lua::__call — Magic method for Lua to call Lua functions
    • Lua::assign — Assign a PHP variable to Lua
    • Lua::call — Call Lua functions
    • Lua::__construct — Lua constructor
    • Lua::eval — Evaluate a string as Lua code
    • Lua::getversion — The getversion purpose
    • Lua::include — Parse a Lua script file
    • Lua::registerCallback — Register a PHP function to Lua
  • LuaClosure — The LuaClosure class
    • LuaClosure::__invoke — invoke luaclosure
judy_version
Введение
Другие базовые расширения


Введение

"Lua is a powerful, fast, light-weight, embeddable scripting language." This extension embeds the lua interpreter and offers an OO-API to lua variables and functions.

Lua
Установка и настройка
Lua


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Lua


Требования

To use this extension, you will need Lua installed, available on the » Lua homepage

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/lua.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
Lua
Установка и настройка


The Lua class

(PECL lua >=0.9.0)

Введение

Обзор классов

Lua {
/* Constants */
const string LUA_VERSION = Lua 5.1.4 ;
/* Свойства */
static $Lua->_callbacks ;
/* Методы */
public void Lua::__call ( string $lua_func , array $args )
public void Lua::assign ( string $name , string $value )
public void Lua::call ( mixed $lua_func , array $args )
Lua::__construct ( string $lua_script_file = NULL )
public void Lua::eval ( string $statements )
public void Lua::getversion ( void )
public void Lua::include ( string $file )
public void Lua::registerCallback ( string $name , callback $function )
}

Свойства

_callbacks

Предопределенные константы

Lua Node Types

Lua::LUA_VERSION

Содержание

  • Lua::__call — Magic method for Lua to call Lua functions
  • Lua::assign — Assign a PHP variable to Lua
  • Lua::call — Call Lua functions
  • Lua::__construct — Lua constructor
  • Lua::eval — Evaluate a string as Lua code
  • Lua::getversion — The getversion purpose
  • Lua::include — Parse a Lua script file
  • Lua::registerCallback — Register a PHP function to Lua
Типы ресурсов
Lua::__call
Lua


Magic method for Lua to call Lua functions

Lua
Lua::assign
Lua
PHP Manual

Lua::__call

(PECL lua >=0.9.0)

Lua::__call — Magic method for Lua to call Lua functions

Описание

public void Lua::__call ( string $lua_func , array $args )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

lua_func

Function name in lua

args

Arguments passed to the Lua function

Возвращаемые значения

Примеры

Пример #1 Lua::call()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
 function dummy(foo, bar)
    print(foo, ",", bar)
 end
CODE
);
$lua->dummy("Lua", "geiliable");
?>

Результатом выполнения данного примера будет что-то подобное:

Lua,geiliable

Смотрите также

  • Lua::call() - Call Lua functions
Lua
Lua::assign
Lua


Assign a PHP variable to Lua

Lua::__call
Lua::call
Lua
PHP Manual

Lua::assign

(PECL lua >=0.9.0)

Lua::assign — Assign a PHP variable to Lua

Описание

public void Lua::assign ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Примеры

Пример #1 Lua::assign()example

<?php
    $lua = new Lua();
    $lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
    $lua->eval(<<<CODE
    print(php_var);
CODE
);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
 (
     [1] => 1
     [2] => 2
     [3] => 3
 )
Lua::__call
Lua::call
Lua


Call Lua functions

Lua::assign
Lua::__construct
Lua
PHP Manual

Lua::call

(PECL lua >=0.9.0)

Lua::call — Call Lua functions

Описание

public void Lua::call ( mixed $lua_func , array $args )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

lua_func

Function name in lua

args

Arguments passed to the Lua function

Возвращаемые значения

Примеры

Пример #1 Lua::call()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
  function dummy(foo, bar)
    print(foo, ",", bar)
  end
CODE
);
$lua->call("dummy", array("Lua", "geiliable\n"));
var_dump($lua->call(array("table", "concat"), array(array(1=>1, 2=>2, 3=>3), "-")));
?>

Результатом выполнения данного примера будет что-то подобное:

Lua,geiliable
string(5) "1-2-3"

Смотрите также

  • Lua::__call() - Magic method for Lua to call Lua functions
Lua::assign
Lua::__construct
Lua


Lua constructor

Lua::call
Lua::eval
Lua
PHP Manual

Lua::__construct

(PECL lua >=0.9.0)

Lua::__construct — Lua constructor

Описание

Lua::__construct ( string $lua_script_file = NULL )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

lua_script_file

Возвращаемые значения

Lua::call
Lua::eval
Lua


Evaluate a string as Lua code

Lua::__construct
Lua::getversion
Lua
PHP Manual

Lua::eval

(PECL lua >=0.9.0)

Lua::eval — Evaluate a string as Lua code

Описание

public void Lua::eval ( string $statements )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

statements

Возвращаемые значения

Примеры

Пример #1 Lua::eval()example

<?php
    $lua = new Lua();
    $lua->eval(<<<CODE
     print(2);
CODE
);
?>

Результатом выполнения данного примера будет что-то подобное:

2
Lua::__construct
Lua::getversion
Lua


The getversion purpose

Lua::eval
Lua::include
Lua
PHP Manual

Lua::getversion

(PECL lua >=0.9.0)

Lua::getversion — The getversion purpose

Описание

public void Lua::getversion ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Lua::eval
Lua::include
Lua


Parse a Lua script file

Lua::getversion
Lua::registerCallback
Lua
PHP Manual

Lua::include

(PECL lua >=0.9.0)

Lua::include — Parse a Lua script file

Описание

public void Lua::include ( string $file )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

file

Возвращаемые значения

Lua::getversion
Lua::registerCallback
Lua


Register a PHP function to Lua

Lua::include
LuaClosure
Lua
PHP Manual

Lua::registerCallback

(Информация о версии неизвестна, возможно, только в SVN)

Lua::registerCallback — Register a PHP function to Lua

Описание

public void Lua::registerCallback ( string $name , callback $function )

Register a PHP function to Lua as a function named "$name"

Список параметров

name

function

A valid PHP function callback

Возвращаемые значения

Примеры

Пример #1 Lua::registerCallback()example

<?php
    $lua = new Lua();
    $lua->registerCallback("echo", "var_dump");
    $lua->eval(<<<CODE
    echo({1, 2, 3});
CODE
);
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  [1]=>
  float(1)
  [2]=>
  float(2)
  [3]=>
  float(3)
}
Lua::include
LuaClosure
Lua


The LuaClosure class

(PECL lua >=0.9.0)

Введение

LuaClosure is a wrapper class for LUA_TFUNCTION which could be renturn from calling to Lua function.

Обзор классов

LuaClosure {
/* Методы */
public void __invoke ( mixed $arg [, mixed $... ] )
}

Содержание

  • LuaClosure::__invoke — invoke luaclosure
Lua::registerCallback
LuaClosure::__invoke
Lua


invoke luaclosure

LuaClosure
Misc.
LuaClosure
PHP Manual

LuaClosure::__invoke

(PECL lua >=0.9.0)

LuaClosure::__invoke — invoke luaclosure

Описание

public void LuaClosure::__invoke ( mixed $arg [, mixed $... ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

arg

...

Возвращаемые значения

Примеры

Пример #1 LuaClosure::__invoke()example

<?php
    $lua = new Lua();
    $closure = $lua->eval(<<<CODE
     return (function ()
        print("hello world")
     end)
CODE
);

    $lua->call($closure);
    /* after PHP 5.3 */
    $closure();
?>

Результатом выполнения данного примера будет что-то подобное:

hello worldhello world
LuaClosure
Misc.
LuaClosure


Разные функции

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Разные Функции
    • connection_aborted — Проверяет подключение клиента
    • connection_status — Возвращает статус соединения в битах
    • connection_timeout — Проверяет превышение скриптом максимального времени выполнения
    • constant — Возвращает значение константы
    • define — Определяет именованную константу
    • defined — Проверяет существование указанной именованной константы
    • die — Эквивалент функции exit
    • eval — Исполняет код PHP, содержащейся в строке
    • exit — Output a message and terminate the current script
    • get_browser — Сообщает о возможностях браузера пользователя
    • __halt_compiler — Останавливает работу компилятора
    • highlight_file — Syntax highlighting of a file
    • highlight_string — Подсветка синтаксиса строки
    • ignore_user_abort — Set whether a client disconnect should abort script execution
    • pack — Pack data into binary string
    • php_check_syntax — Проверяет (и запускает) PHP синтаксис указанного файла
    • php_strip_whitespace — Возвращает исходный код без комментариев и пробелов
    • show_source — Псевдоним highlight_file
    • sleep — Откладывает выполнение
    • sys_getloadavg — Поулчает среднюю загрузку системы
    • time_nanosleep — Откладывает исполнение на заданное число секунд и наносекунд
    • time_sleep_until — Откладывает исполнение скрипта до заданного времени
    • uniqid — Generate a unique ID
    • unpack — Распаковывает данные из бинарной строки
    • usleep — Откладывает выполнение на микросекунды
LuaClosure::__invoke
Введение
Другие базовые расширения


Введение

Эти функции помещены сюда, поскольку не подходят ни к одной из категорий.

Misc.
Установка и настройка
Misc.


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Misc.


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настроек разных функций
Имя | По умолчанию | Изменение | Сведения
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Удалено в PHP 5.4.0.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

ignore_user_abort boolean

FALSE по умолчанию. Если изменяется на TRUE, то скрипты не будут остановлены после того как клиент разорвет соединение.

См. также ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Цвета для режима подсвечивания (Syntax Highlighting). Всё, что приемлемо в <font color="??????">, будет работать.

browscap string

Имя (н-р: browscap.ini) и расположение файла возможностей браузера. См. также get_browser().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Добавлено в PHP 5.1.
Типы ресурсов
Разные Функции
Misc.


Разные Функции

Содержание

  • connection_aborted — Проверяет подключение клиента
  • connection_status — Возвращает статус соединения в битах
  • connection_timeout — Проверяет превышение скриптом максимального времени выполнения
  • constant — Возвращает значение константы
  • define — Определяет именованную константу
  • defined — Проверяет существование указанной именованной константы
  • die — Эквивалент функции exit
  • eval — Исполняет код PHP, содержащейся в строке
  • exit — Output a message and terminate the current script
  • get_browser — Сообщает о возможностях браузера пользователя
  • __halt_compiler — Останавливает работу компилятора
  • highlight_file — Syntax highlighting of a file
  • highlight_string — Подсветка синтаксиса строки
  • ignore_user_abort — Set whether a client disconnect should abort script execution
  • pack — Pack data into binary string
  • php_check_syntax — Проверяет (и запускает) PHP синтаксис указанного файла
  • php_strip_whitespace — Возвращает исходный код без комментариев и пробелов
  • show_source — Псевдоним highlight_file
  • sleep — Откладывает выполнение
  • sys_getloadavg — Поулчает среднюю загрузку системы
  • time_nanosleep — Откладывает исполнение на заданное число секунд и наносекунд
  • time_sleep_until — Откладывает исполнение скрипта до заданного времени
  • uniqid — Generate a unique ID
  • unpack — Распаковывает данные из бинарной строки
  • usleep — Откладывает выполнение на микросекунды
Предопределенные константы
connection_aborted
Misc.


Проверяет подключение клиента

Разные Функции
connection_status
Разные Функции
PHP Manual

connection_aborted

(PHP 4, PHP 5)

connection_aborted — Проверяет подключение клиента

Описание

int connection_aborted ( void )

Проверяет подключен ли клиент.

Возвращаемые значения

Возвращает 1, если клиент отключен, 0 в другом случае.

Смотрите также

  • connection_status() - Возвращает статус соединения в битах
  • ignore_user_abort() - Set whether a client disconnect should abort script execution
  • См. Управление подключениями для получения полного описания управления подключениями в PHP.

Разные Функции
connection_status
Разные Функции


Возвращает статус соединения в битах

connection_aborted
connection_timeout
Разные Функции
PHP Manual

connection_status

(PHP 4, PHP 5)

connection_status — Возвращает статус соединения в битах

Описание

int connection_status ( void )

Получает статус соединения в битах.

Возвращаемые значения

Возвращает статус соединения в битах, который можно использовать в константах CONNECTION_XXX для определения статуса соединения.

Смотрите также

  • connection_aborted() - Проверяет подключение клиента
  • ignore_user_abort() - Set whether a client disconnect should abort script execution
  • См. Управление соединением для полной информации об управлении соединением в PHP.

connection_aborted
connection_timeout
Разные Функции


Проверяет превышение скриптом максимального времени выполнения

connection_status
constant
Разные Функции
PHP Manual

connection_timeout

(PHP 4 <= 4.0.4)

connection_timeout — Проверяет превышение скриптом максимального времени выполнения

Описание

int connection_timeout ( void )

Определяет, не превысило ли выполнение скрипта максимальное время выполнения.

Возвращаемые значения

Возвращает 1, если выполнение скрипта превысило максимальное время, если нет, то возвращает 0.

Примечания

Внимание

Устарело

Эта функция устарела и более не используется с версии 4.0.5.

Смотрите также

  • connection_status() - Возвращает статус соединения в битах
  • См. Управление соединением для полной информации об управлении соединением в PHP.

connection_status
constant
Разные Функции


Возвращает значение константы

connection_timeout
define
Разные Функции
PHP Manual

constant

(PHP 4 >= 4.0.4, PHP 5)

constant — Возвращает значение константы

Описание

mixed constant ( string $name )

Возвращает значение константы, указанной в параметре name.

Функция constant() полезна, если вам необходимо получить значение константы, но неизвестно её имя. Например, если оно хранится в переменной или возвращается функцией.

Данная функция также работает с константами классов.

Список параметров

name

Имя константы.

Возвращаемые значения

Возвращает значение константы либо NULL, если константа не определена.

Ошибки

Если константа не определена, то генерируется исключение уровня E_WARNING.

Примеры

Пример #1 Пример функции constant()

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // результат аналогичен предыдущему выводу

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Смотрите также

  • define() - Определяет именованную константу
  • defined() - Проверяет существование указанной именованной константы
  • См. раздел Константы

connection_timeout
define
Разные Функции


Определяет именованную константу

constant
defined
Разные Функции
PHP Manual

define

(PHP 4, PHP 5)

define — Определяет именованную константу

Описание

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Определяет именованную константу при запуске.

Список параметров

name

Имя константы.

value

Значение константы, допустимы скалярные величины и null. Допустимые скалярные значения: integer, float, string или boolean. Возможно определить константы типа resource, однако это не рекомендуется и может вызвать неопределенные последствия.

case_insensitive

Если параметр установлен как TRUE, то константа будет определена без учета регистра. По умолчанию регистр учитывается, т.е. CONSTANT и Constant могут содержать различные значения.

Замечание:

Регистронезависимые константы хранятся в нижнем регистре.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Определение Констант

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // выводит "Hello world."
echo Constant; // выводит "Constant" а также уведомление.

define("GREETING", "Hello you.", true);
echo GREETING; // выводит "Hello you."
echo Greeting; // выводит "Hello you."

?>

Смотрите также

  • defined() - Проверяет существование указанной именованной константы
  • constant() - Возвращает значение константы
  • См. раздел Константы

constant
defined
Разные Функции


Проверяет существование указанной именованной константы

define
die
Разные Функции
PHP Manual

defined

(PHP 4, PHP 5)

defined — Проверяет существование указанной именованной константы

Описание

bool defined ( string $name )

Проверяет существование и наличие значения указанной константы.

Замечание:

Если необходимо узнать о существовании переменной, то используйте isset(), так как defined() применима лишь для констант. Если вам необходимо узнать о существовании функции, то используйте function_exists().

Список параметров

name

Имя константы.

Возвращаемые значения

Возвращает TRUE, если именованная константа, указанная в параметре name, была определена, FALSE в противном случае.

Примеры

Пример #1 Проверка констант

<?php
/* Важно учесть необходимость использования кавычек. Данный пример проверяет
 * является ли строка 'TEST' именем константы TEST. */
if (defined('TEST')) {
    echo TEST;
}
?>

Смотрите также

  • define() - Определяет именованную константу
  • constant() - Возвращает значение константы
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • function_exists() - Возвращает TRUE, если указанная функция определена
  • См. раздел Константы

define
die
Разные Функции


Эквивалент функции exit

defined
eval
Разные Функции
PHP Manual

die

(PHP 4, PHP 5)

die — Эквивалент функции exit()

Описание

Данная функция эквивалентна функции exit().

defined
eval
Разные Функции


Исполняет код PHP, содержащейся в строке

die
exit
Разные Функции
PHP Manual

eval

(PHP 4, PHP 5)

eval — Исполняет код PHP, содержащейся в строке

Описание

mixed eval ( string $code_str )

Исполняет строку, переданную в параметре code_str, как код PHP. Помимо прочего, это может быть полезно при хранении кода в текстовом поле базы данных для его вызова по необходимости.

При использовании функции eval() необходимо учитывать несколько факторов. Помните о том, что используемые строки должны содержать правильный PHP код, включая, к примеру, использование точки с запятой в завершение строки так, чтобы парсер не отключился на строке после eval() и правильно обработал строку code_str. Для совмещения вывода HTML и PHP кода вы можете использовать закрывающий тег PHP.

Также помните, что значения переменных, заданных в eval(), будут перенесены в главный скрипт.

Список параметров

code_str

Исполняемая строка кода. Строка code_str может не содержать открывающий тег PHP.

Использование return позволяет немедленно прекратить выполнение кода, указанного в строке.

Возвращаемые значения

Функция eval() возвращает NULL пока не вызывается return, в случае чего возвращается значение, переданное return. Если в исполняемом коде присутствует ошибка, то eval() возвращает FALSE и продолжается нормальное выполнение последующего кода. Ошибку обработки кода парсером невозможно использовать в set_error_handler().

Примеры

Пример #1 Пример функции eval() - простое слияние текста

<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>

Результат выполнения данного примера:

This is a $string with my $name in it.
This is a cup with my coffee in it.

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Подсказка

Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в string.

Замечание:

В случае фатальной ошибки в исполняемом коде прекращается исполнение всего скрипта.

Смотрите также

  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре

die
exit
Разные Функции


Output a message and terminate the current script

eval
get_browser
Разные Функции
PHP Manual

exit

(PHP 4, PHP 5)

exit — Output a message and terminate the current script

Описание

void exit ([ string $status ] )
void exit ( int $status )

Terminates execution of the script. Shutdown functions and object destructors will always be executed even if exit() is called.

Список параметров

status

If status is a string, this function prints the status just before exiting.

If status is an integer, that value will be used as the exit status and not printed. Exit statuses should be in the range 0 to 254, the exit status 255 is reserved by PHP and shall not be used. The status 0 is used to terminate the program successfully.

Замечание: PHP >= 4.2.0 does NOT print the status if it is an integer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 exit() example

<?php

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
    or exit("unable to open file ($filename)");

?>

Пример #2 exit() status example

<?php

//exit program normally
exit;
exit();
exit(0);

//exit with an error code
exit(1);
exit(0376); //octal

?>

Пример #3 Shutdown functions and destructors run regardless

<?php
class Foo
{
    public function __destruct()
    {
        echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
    }
}

function shutdown()
{
    echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'This will not be output.';
?>

Результат выполнения данного примера:

 Shutdown: shutdown()
 Destruct: Foo::__destruct()

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание:

This language construct is equivalent to die().

Смотрите также

  • register_shutdown_function() - Регистрирует функцию, которая выполнится по завершении работы скрипта

eval
get_browser
Разные Функции


Сообщает о возможностях браузера пользователя

exit
__halt_compiler
Разные Функции
PHP Manual

get_browser

(PHP 4, PHP 5)

get_browser — Сообщает о возможностях браузера пользователя

Описание

mixed get_browser ([ string $user_agent [, bool $return_array = false ]] )

Пытается определить возможности браузера пользователя производя поиск информации о браузере в файле browscap.ini.

Список параметров

user_agent

Анализируется User Agent. По умолчанию, используется значение HTTP User-Agent. Тем не менее этот параметр можно пропустить для получения дополнительной информации о браузере.

Параметр может быть пропущен, если его значение будет равно NULL.

return_array

Если равен TRUE, то функция вернет массив (array)вместо объекта (object).

Возвращаемые значения

Информация возвращается в виде объекта, либо в виде архива, который содержит различные данные, к примеру, мажорную и минорную версию браузера и строку ID; TRUE/FALSE наличие функций браузера, таких как фреймы, JavaScript, cookies и т.д.

Наличие cookies означает, что браузер имеет возможность приёма cookies, а не сообщает о том, включил ли пользователь возможность приёма cookies или нет. Единственным способом проверки возможности браузера принимать cookies является установка cookie с помощью setcookie(), обновление страницы и проверка значения.

Список изменений

Версия | Описание
4.3.2 | Был добавлен опциональный параметр return_array.

Примеры

Пример #1 Вывод информации о браузере пользователя

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

Результатом выполнения данного примера будет что-то подобное:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Примечания

Замечание:

Для работы этой функции необходимо, чтобы в установке browscap в настройках php.ini был установлен корректный путь к файлу browscap.ini в вашей системе.

browscap.ini не поставляется с PHP, но вы можете последнюю его версию здесь: » php_browscap.ini.

browscap.ini содержит информацию о большинстве браузеров, он требует обновлений для поддержания его базы актуальной Формат файла довольно очевиден.

exit
__halt_compiler
Разные Функции


Останавливает работу компилятора

get_browser
highlight_file
Разные Функции
PHP Manual

__halt_compiler

(PHP 5 >= 5.1.0)

__halt_compiler — Останавливает работу компилятора

Описание

void __halt_compiler ( void )

Останавливает работу компилятора. Эта функция может быть полезна при внедрении данных в PHP скрипты, как в файлы инсталляции.

Начальная позиция данных в байтах может быть определена константой __COMPILER_HALT_OFFSET__, которая может быть определена только если в файле имеется функция __halt_compiler().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования __halt_compiler()

<?php

// Открывает указанный файл
$fp = fopen(__FILE__, 'r');

// Ищет в файле указатель данных
fseek($fp, __COMPILER_HALT_OFFSET__);

// Выводит данные
var_dump(stream_get_contents($fp));

// Останавливает работу скрипта
__halt_compiler(); the installation data (eg. tar, gz, PHP, etc.)

Примечания

Замечание:

Функция __halt_compiler() может быть использована только извне.

get_browser
highlight_file
Разные Функции


Syntax highlighting of a file

__halt_compiler
highlight_string
Разные Функции
PHP Manual

highlight_file

(PHP 4, PHP 5)

highlight_file — Syntax highlighting of a file

Описание

mixed highlight_file ( string $filename [, bool $return = false ] )

Prints out or returns a syntax highlighted version of the code contained in filename using the colors defined in the built-in syntax highlighter for PHP.

Many servers are configured to automatically highlight files with a phps extension. For example, example.phps when viewed will show the syntax highlighted source of the file. To enable this, add this line to the httpd.conf:

AddType application/x-httpd-php-source .phps

Список параметров

filename

Path to the PHP file to be highlighted.

return

Set this parameter to TRUE to make this function return the highlighted code.

Возвращаемые значения

If return is set to TRUE, returns the highlighted code as a string instead of printing it out. Otherwise, it will return TRUE on success, FALSE on failure.

Список изменений

Версия | Описание
4.2.1 | This function is now also affected by safe_mode and open_basedir.
4.2.0 | The return parameter was added.

Примечания

Предостережение

Care should be taken when using the highlight_file() function to make sure that you do not inadvertently reveal sensitive information such as passwords or any other type of information that might create a potential security risk.

Замечание:

При использовании параметра return данная функция использует внутреннюю буферизацию вывода, поэтому она не может быть использована внутри callback-функции ob_start().

Смотрите также

  • highlight_string() - Подсветка синтаксиса строки

__halt_compiler
highlight_string
Разные Функции


Подсветка синтаксиса строки

highlight_file
ignore_user_abort
Разные Функции
PHP Manual

highlight_string

(PHP 4, PHP 5)

highlight_string — Подсветка синтаксиса строки

Описание

mixed highlight_string ( string $str [, bool $return = false ] )

Выводит или возвращает PHP код с подсвеченным синтаксисом, используя цвета, определенные во встроенном обработчике подсветки синтаксиса PHP.

Список параметров

str

Подсвечиваемый PHP код, который должен включать открывающий тег.

return

При установке этого параметра равным TRUE функция возвращает код с подсветкой синтаксиса.

Возвращаемые значения

Если параметр return равен TRUE, то, вместо вывода, в виде строки возвращается код с подсветкой синтаксиса. В другом случае возвращает TRUE, либо FALSE при ошибке.

Список изменений

Версия | Описание
4.2.0 | Был добавлен параметр return.

Примеры

Пример #1 Пример использования highlight_string()

<?php
highlight_string('<?php phpinfo(); ?>');
?>

Пример, представленный выше, выведет (в PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

Пример, представленный выше, выведет (в PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

Примечания

Замечание:

При использовании параметра return данная функция использует внутреннюю буферизацию вывода, поэтому она не может быть использована внутри callback-функции ob_start().

Смотрите также

  • highlight_file() - Syntax highlighting of a file

highlight_file
ignore_user_abort
Разные Функции


Set whether a client disconnect should abort script execution

highlight_string
pack
Разные Функции
PHP Manual

ignore_user_abort

(PHP 4, PHP 5)

ignore_user_abort — Set whether a client disconnect should abort script execution

Описание

int ignore_user_abort ([ string $value ] )

Sets whether a client disconnect should cause a script to be aborted.

When running PHP as a command line script, and the script's tty goes away without the script being terminated then the script will die the next time it tries to write anything, unless value is set to TRUE

Список параметров

value

If set, this function will set the ignore_user_abort ini setting to the given value. If not, this function will only return the previous setting without changing it.

Возвращаемые значения

Returns the previous setting, as an integer.

Примеры

Пример #1 A ignore_user_abort() example

<?php
// Ignore user aborts and allow the script
// to run forever
ignore_user_abort(true);
set_time_limit(0);

echo 'Testing connection handling in PHP';

// Run a pointless loop that sometime
// hopefully will make us click away from
// page or click the "Stop" button.
while(1)
{
    // Did the connection fail?
    if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    // Sleep for 10 seconds
    sleep(10);
}

// If this is reached, then the 'break'
// was triggered from inside the while loop

// So here we can log, or perform any other tasks
// we need without actually being dependent on the
// browser.
?>

Примечания

PHP will not detect that the user has aborted the connection until an attempt is made to send information to the client. Simply using an echo statement does not guarantee that information is sent, see flush().

Смотрите также

  • connection_aborted() - Проверяет подключение клиента
  • connection_status() - Возвращает статус соединения в битах
  • Connection Handling for a complete description of connection handling in PHP.

highlight_string
pack
Разные Функции


Pack data into binary string

ignore_user_abort
php_check_syntax
Разные Функции
PHP Manual

pack

(PHP 4, PHP 5)

pack — Pack data into binary string

Описание

string pack ( string $format [, mixed $args [, mixed $... ]] )

Pack given arguments into binary string according to format.

The idea for this function was taken from Perl and all formatting codes work the same as in Perl. However, there are some formatting codes that are missing such as Perl's "u" format code.

Note that the distinction between signed and unsigned values only affects the function unpack(), where as function pack() gives the same result for signed and unsigned format codes.

Список параметров

format

The format string consists of format codes followed by an optional repeater argument. The repeater argument can be either an integer value or * for repeating to the end of the input data. For a, A, h, H the repeat count specifies how many characters of one data argument are taken, for @ it is the absolute position where to put the next data, for everything else the repeat count specifies how many data arguments are consumed and packed into the resulting binary string.

Currently implemented formats are:

pack() format characters
Code | Description
a | NUL-padded string
A | SPACE-padded string
h | Hex string, low nibble first
H | Hex string, high nibble first
c | signed char
C | unsigned char
s | signed short (always 16 bit, machine byte order)
S | unsigned short (always 16 bit, machine byte order)
n | unsigned short (always 16 bit, big endian byte order)
v | unsigned short (always 16 bit, little endian byte order)
i | signed integer (machine dependent size and byte order)
I | unsigned integer (machine dependent size and byte order)
l | signed long (always 32 bit, machine byte order)
L | unsigned long (always 32 bit, machine byte order)
N | unsigned long (always 32 bit, big endian byte order)
V | unsigned long (always 32 bit, little endian byte order)
f | float (machine dependent size and representation)
d | double (machine dependent size and representation)
x | NUL byte
X | Back up one byte
@ NUL-fill to absolute position

args

Возвращаемые значения

Returns a binary string containing data.

Примеры

Пример #1 pack() example

<?php
$binarydata = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

The resulting binary string will be 6 bytes long and contain the byte sequence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Примечания

Предостережение

Note that PHP internally stores integer values as signed values of a machine-dependent size (C type long). Integer literals and operations that yield numbers outside the bounds of the integer type will be stored as float. When packing these floats as integers, they are first cast into the integer type. This may or may not result in the desired byte pattern.

The most relevant case is when packing unsigned numbers that would be representable with the integer type if it were unsigned. In systems where the integer type has a 32-bit size, the cast usually results in the same byte pattern as if the integer were unsigned (although this relies on implementation-defined unsigned to signed conversions, as per the C standard). In systems where the integer type has 64-bit size, the float most likely does not have a mantissa large enough to hold the value without loss of precision. If those systems also have a native 64-bit C int type (most UNIX-like systems don't), the only way to use the I pack format in the upper range is to create integer negative values with the same byte representation as the desired unsigned value.

Смотрите также

  • unpack() - Распаковывает данные из бинарной строки

ignore_user_abort
php_check_syntax
Разные Функции


Проверяет (и запускает) PHP синтаксис указанного файла

pack
php_strip_whitespace
Разные Функции
PHP Manual

php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax — Проверяет (и запускает) PHP синтаксис указанного файла

Описание

bool php_check_syntax ( string $filename [, string &$error_message ] )

Выполняет проверку синтаксиса (производит верификацию) файла, указанного в filename проверяя ошибки в коде.

Действие похоже на использование php -l из командной строки, исключая то, что эта функция запустит (но не выведет) проверяемый файл из filename.

К примеру, если функция определена в filename, то эта функция будет доступна после в файле, из которого производится запуск функции php_check_syntax(), но вывод из файла, указанного в filename будет невозможен.

Замечание:

По техническим причинам эта функция устарела и удалена из PHP. Вместо этой функции используйте php -l somefile.php из командной строки.

Список параметров

filename

Имя проверяемого файла.

error_message

Если используется параметр error_message, то в нем будет содержаться сообщение об ошибке, сформированное при проверке синтаксиса. error_message передается по ссылке.

Возвращаемые значения

Возвращает TRUE если проверка пройдена, и FALSE если возникла ошибка или файл из filename недоступен.

Список изменений

Версия | Описание
5.0.5 | Эта функция была удалена из PHP.
5.0.3 | Вызов функции exit() после php_check_syntax() передает результат в Segfault.
5.0.1 | error_message передается по ссылке.

Примеры

php -l somefile.php

Результатом выполнения данного примера будет что-то подобное:

PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81

Смотрите также

  • include()
  • is_readable() - Определяет существование файла и доступен ли он для чтения

pack
php_strip_whitespace
Разные Функции


Возвращает исходный код без комментариев и пробелов

php_check_syntax
show_source
Разные Функции
PHP Manual

php_strip_whitespace

(PHP 5)

php_strip_whitespace — Возвращает исходный код без комментариев и пробелов

Описание

string php_strip_whitespace ( string $filename )

Возвращает исходный код PHP в файл (filename) исключая комментарии и пробелы. Эта функция может быть полезной для определения актуального объема чистого кода в скриптах по сравнению с объемом комментариев. Функция аналогична использованию php -w из командной строки.

Список параметров

filename

Путь к PHP файлу.

Возвращаемые значения

Возвращает очищенный исходный код, или пустую строку в случае ошибки.

Замечание:

Эта функция работает как описано в PHP 5.0.1. Перед этим может быть возвращена пустая строка. Для более детальной информации смотрите отчет об ошибках » #29606.

Примеры

Пример #1 Пример использования php_strip_whitespace()

<?php
// PHP комментарий

/*
 * Другой PHP комментарий
 */

echo        php_strip_whitespace(__FILE__);
// Символы новой строки считаются пробелами, и также удаляются:
do_nothing();
?>

Результат выполнения данного примера:

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

В результате выполнения примера выведен исходный код PHP, исключая комментарии, пробелы и пустые строки.

php_check_syntax
show_source
Разные Функции


Псевдоним highlight_file

php_strip_whitespace
sleep
Разные Функции
PHP Manual

show_source

(PHP 4, PHP 5)

show_source — Псевдоним highlight_file()

Описание

Эта функция является псевдонимом: highlight_file().

php_strip_whitespace
sleep
Разные Функции


Откладывает выполнение

show_source
sys_getloadavg
Разные Функции
PHP Manual

sleep

(PHP 4, PHP 5)

sleep — Откладывает выполнение

Описание

int sleep ( int $seconds )

Откладывает исполнение программы на число секунд, заданное параметром seconds.

Список параметров

seconds

Время остановки в секундах.

Возвращаемые значения

Возвращает 0 при успешном выполнении или FALSE при ошибке.

Если вызов был прерван сигналом, функция sleep() возвратит значение, не равное нулю. В Windows это значение всегда будет равно 192 (значение константы Windows API WAIT_IO_COMPLETION). На других платформах возвращаемое значение будет числом оставшихся секунд.

Ошибки

Если указанное число секунд в параметре seconds отрицательно, то функция создаст исключение уровня E_WARNING.

Список изменений

Версия | Описание
5.3.4 | До версии PHP 5.3.4 функция sleep() в Windows всегда возвращала NULL после завершения ожидания, независимо от того было ли прервано выполнение функции или нет.

Примеры

Пример #1 Пример использования sleep()

<?php

// текущее время
echo date('h:i:s') . "\n";

// ожидание в течении 10 секунд
sleep(10);

// завершение ожидания
echo date('h:i:s') . "\n";

?>

Этот пример выведет (через 10 секунд)

05:31:23
05:31:33

Смотрите также

  • usleep() - Откладывает выполнение на микросекунды
  • time_nanosleep() - Откладывает исполнение на заданное число секунд и наносекунд
  • time_sleep_until() - Откладывает исполнение скрипта до заданного времени
  • set_time_limit() - Limits the maximum execution time

show_source
sys_getloadavg
Разные Функции


Поулчает среднюю загрузку системы

sleep
time_nanosleep
Разные Функции
PHP Manual

sys_getloadavg

(PHP 5 >= 5.1.3)

sys_getloadavg — Поулчает среднюю загрузку системы

Описание

array sys_getloadavg ( void )

Возвращает информацию о средней загрузке системы (число процессов в очереди системных процессов) через 1, 5 и 15 минут соответственно.

Возвращаемые значения

Возвращает массив (array), содержащий информацию за последние 1, 5 и 15 минут.

Примеры

Пример #1 Пример использования sys_getloadavg()

<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Server too busy. Please try again later.');
}
?>

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

sleep
time_nanosleep
Разные Функции


Откладывает исполнение на заданное число секунд и наносекунд

sys_getloadavg
time_sleep_until
Разные Функции
PHP Manual

time_nanosleep

(PHP 5)

time_nanosleep — Откладывает исполнение на заданное число секунд и наносекунд

Описание

mixed time_nanosleep ( int $seconds , int $nanoseconds )

Откладывает исполнение программы на заданные в параметрах seconds и nanoseconds число секунд и наносекунд соответственно.

Список параметров

seconds

Должно быть целым положительным числом.

nanoseconds

Должно быть целым положительным числом, меньшим одного миллиарда.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Если отложенное исполнение было прервано сигналом, то возвращается ассоциативный массив со следующими компонентами:

  • seconds - число оставшихся секунд
  • nanoseconds - число оставшихся наносекунд

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь доступна на платформах Windows.

Примеры

Пример #1 Пример использования time_nanosleep()

<?php
// Внимание! Если будет возвращен массив, то такая функция не сработает как ожидалось
if (time_nanosleep(0, 500000000)) {
    echo "Задержка на пол-секунды.\n";
}

// Так лучше:
if (time_nanosleep(0, 500000000) === true) {
    echo "Задержка на пол-секунды.\n";
}

// И так лучше всего:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Задержка на 2 секунды, 100 микросекунд.\n";
} elseif ($nano === false) {
    echo "Задержка не удалась.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Прервано сигналом.\n";
    echo "Осталось: $seconds секунд, $nanoseconds наносекунд.";
}
?>

Смотрите также

  • sleep() - Откладывает выполнение
  • usleep() - Откладывает выполнение на микросекунды
  • time_sleep_until() - Откладывает исполнение скрипта до заданного времени
  • set_time_limit() - Limits the maximum execution time

sys_getloadavg
time_sleep_until
Разные Функции


Откладывает исполнение скрипта до заданного времени

time_nanosleep
uniqid
Разные Функции
PHP Manual

time_sleep_until

(PHP 5 >= 5.1.0)

time_sleep_until — Откладывает исполнение скрипта до заданного времени

Описание

bool time_sleep_until ( float $timestamp )

Откладывает исполнение скрипта до заданной отметки времени, указанной в параметре timestamp.

Список параметров

timestamp

Отметка времени продолжения исполнения скрипта.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь доступна на Windows платформах.

Ошибки

Если указанная временная отметка timestamp просрочена, то функция создаст исключение уровня E_WARNING.

Примеры

Пример #1 Пример использования time_sleep_until()

<?php

//возвращает false и выводит предупреждение
var_dump(time_sleep_until(time()-1));

// может работать только на быстродействующих компьютерах, выполнение отложено до 0.2 секунд
var_dump(time_sleep_until(microtime(true)+0.2));

?>

Примечания

Замечание: Все сигналы будут доставлены после продолжения исполнения скрипта.

Смотрите также

  • sleep() - Откладывает выполнение
  • usleep() - Откладывает выполнение на микросекунды
  • time_nanosleep() - Откладывает исполнение на заданное число секунд и наносекунд
  • set_time_limit() - Limits the maximum execution time

time_nanosleep
uniqid
Разные Функции


Generate a unique ID

time_sleep_until
unpack
Разные Функции
PHP Manual

uniqid

(PHP 4, PHP 5)

uniqid — Generate a unique ID

Описание

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

Gets a prefixed unique identifier based on the current time in microseconds.

Список параметров

prefix

Can be useful, for instance, if you generate identifiers simultaneously on several hosts that might happen to generate the identifier at the same microsecond.

With an empty prefix, the returned string will be 13 characters long. If more_entropy is TRUE, it will be 23 characters.

more_entropy

If set to TRUE, uniqid() will add additional entropy (using the combined linear congruential generator) at the end of the return value, which should make the results more unique.

Возвращаемые значения

Returns the unique identifier, as a string.

Примеры

Пример #1 uniqid() Example

<?php
/* A uniqid, like: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());

/* We can also prefix the uniqid, this the same as
 * doing:
 *
 * $uniqid = $prefix . uniqid();
 * $uniqid = uniqid($prefix);
 */
printf("uniqid('php_'): %s\r\n", uniqid('php_'));

/* We can also activate the more_entropy parameter, which is
 * required on some systems, like Cygwin. This makes uniqid()
 * produce a value like: 4b340550242239.64159797
 */
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Список изменений

Версия | Описание
5.0.0 | The prefix parameter was made optional.
4.3.1 | The limit of 114 characters long for prefix was raised.

Примечания

Замечание:

Under Cygwin, the more_entropy must be set to TRUE for this function to work.

time_sleep_until
unpack
Разные Функции


Распаковывает данные из бинарной строки

uniqid
usleep
Разные Функции
PHP Manual

unpack

(PHP 4, PHP 5)

unpack — Распаковывает данные из бинарной строки

Описание

array unpack ( string $format , string $data )

Распаковывает данные из бинарной строки в массив согласно заданному в format формату.

Распакованные данные хранятся в ассоциативном массиве. Для осуществления этого необходимо обозначить различные коды форматов и разделить их с помощью слэш /. Можно также передать замещающий аргумент, с помощью которого каждый ключ массива будет иметь порядковый номер после обозначенного имени ключа.

Список параметров

format

См. функцию pack() для разъяснения кодов форматов.

data

Упакованные данные.

Возвращаемые значения

Возвращает ассоциативный массив, содержащий распакованные элементы бинарной строки.

Примеры

Пример #1 Пример использования unpack()

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("cchars/nint", $binarydata);
?>

Результирующий массив будет содержать записи "chars" со значением 4 и "int" с 160.

Пример #2 Пример использования unpack() с замещающим аргументом

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("c2chars/nint", $binarydata);
?>

Результирующий массив будет содержать записи "chars1", "chars2" и "int".

Примечания

Предостережение

Необходимо отметить, что PHP хранит значения как signed. Если распаковать large unsigned long и оно будет иметь тот же размер, что и хранимое PHP значение, то результатом будет отрицательное число, даже если было указано распаковывать как unsigned.

Предостережение

Если не обозначить элемент, то используется пустая строка. Если не обозначить более чем один элемент, то это значит, что некоторые данные будут перезаписаны, как например в:

Пример #3 Пример использования unpack() с безымянными ключами

<?php
$binarydata = "\x32\x42\x00\xa0";
$array = unpack("c2/n", $binarydata);
var_dump($array);
?>

Результирующий массив будет содержать записи "1" со значением 160 и "2" с 66. Первое значение из спецификатора c будет перезаписано первым значением из спецификатора n.

Смотрите также

  • pack() - Pack data into binary string

uniqid
usleep
Разные Функции


Откладывает выполнение на микросекунды

unpack
Parsekit
Разные Функции
PHP Manual

usleep

(PHP 4, PHP 5)

usleep — Откладывает выполнение на микросекунды

Описание

void usleep ( int $micro_seconds )

Откладывает выполнение программы на указанное число микросекунд.

Список параметров

micro_seconds

Время откладываемого исполнения в микросекундах. Микросекунда - это одна миллионная секунды.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.0.0 | Эта функция на данный момент работает в Windows системах.

Примеры

Пример #1 Пример использования usleep()

<?php

// Текущее время
echo date('h:i:s') . "\n";

// ждать 2 секунды
usleep(2000000);

// вернуться к исполнению
echo date('h:i:s') . "\n";

?>

Результат выполнения данного примера:

11:13:28
11:13:30

Смотрите также

  • sleep() - Откладывает выполнение
  • time_nanosleep() - Откладывает исполнение на заданное число секунд и наносекунд
  • time_sleep_until() - Откладывает исполнение скрипта до заданного времени
  • set_time_limit() - Limits the maximum execution time

unpack
Parsekit
Разные Функции


Parsekit

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Parsekit Функции
    • parsekit_compile_file — Compile a string of PHP code and return the resulting op array
    • parsekit_compile_string — Compile a string of PHP code and return the resulting op array
    • parsekit_func_arginfo — Return information regarding function argument(s)
usleep
Введение
Другие базовые расширения


Введение

These functions allow runtime analysis of opcodes compiled from PHP scripts.

Parsekit
Установка и настройка
Parsekit


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Parsekit


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/parsekit.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

PARSEKIT_QUIET (int)
Return full detail, but without unnecessary NULL entries.
PARSEKIT_SIMPLE (int)
Return shorthand opcode notation.
PARSEKIT_EXTENDED_VALUE (int)
Opnode Flag
PARSEKIT_RESULT_CONST (int)
Opnode Flag
PARSEKIT_RESULT_EA_TYPE (int)
Opnode Flag
PARSEKIT_RESULT_JMP_ADDR (int)
Opnode Flag
PARSEKIT_RESULT_OPARRAY (int)
Opnode Flag
PARSEKIT_RESULT_OPLINE (int)
Opnode Flag
PARSEKIT_RESULT_VAR (int)
Opnode Flag
PARSEKIT_USAGE_UNKNOWN (int)
Opnode Flag
PARSEKIT_ZEND_INTERNAL_CLASS (int)
Class Type
PARSEKIT_ZEND_USER_CLASS (int)
Class Type
PARSEKIT_ZEND_EVAL_CODE (int)
Function Type
PARSEKIT_ZEND_INTERNAL_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (int) PHP >= 5.0.0
Function Type
PARSEKIT_ZEND_USER_FUNCTION (int)
Function Type
PARSEKIT_IS_CONST (int)
Node Type
PARSEKIT_IS_TMP_VAR (int)
Node Type
PARSEKIT_IS_UNUSED (int)
Node Type
PARSEKIT_IS_VAR (int)
Node Type
PARSEKIT_ZEND_ADD (int)
Opcode
PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (int)
Opcode
PARSEKIT_ZEND_ADD_CHAR (int)
Opcode
PARSEKIT_ZEND_ADD_INTERFACE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ADD_STRING (int)
Opcode
PARSEKIT_ZEND_ADD_VAR (int)
Opcode
PARSEKIT_ZEND_ASSIGN (int)
Opcode
PARSEKIT_ZEND_ASSIGN_ADD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_AND (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_OR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_XOR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_CONCAT (int)
Opcode
PARSEKIT_ZEND_ASSIGN_DIM (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_DIV (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MOD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MUL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_REF (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SUB (int)
Opcode
PARSEKIT_ZEND_BEGIN_SILENCE (int)
Opcode
PARSEKIT_ZEND_BOOL (int)
Opcode
PARSEKIT_ZEND_BOOL_NOT (int)
Opcode
PARSEKIT_ZEND_BOOL_XOR (int)
Opcode
PARSEKIT_ZEND_BRK (int)
Opcode
PARSEKIT_ZEND_BW_AND (int)
Opcode
PARSEKIT_ZEND_BW_NOT (int)
Opcode
PARSEKIT_ZEND_BW_OR (int)
Opcode
PARSEKIT_ZEND_BW_XOR (int)
Opcode
PARSEKIT_ZEND_CASE (int)
Opcode
PARSEKIT_ZEND_CAST (int)
Opcode
PARSEKIT_ZEND_CATCH (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CLONE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CONCAT (int)
Opcode
PARSEKIT_ZEND_CONT (int)
Opcode
PARSEKIT_ZEND_DECLARE_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DIV (int)
Opcode
PARSEKIT_ZEND_DO_FCALL (int)
Opcode
PARSEKIT_ZEND_DO_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_ECHO (int)
Opcode
PARSEKIT_ZEND_END_SILENCE (int)
Opcode
PARSEKIT_ZEND_EXIT (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_BEGIN (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_END (int)
Opcode
PARSEKIT_ZEND_EXT_NOP (int)
Opcode
PARSEKIT_ZEND_EXT_STMT (int)
Opcode
PARSEKIT_ZEND_FETCH_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_FETCH_CONSTANT (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_R (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_W (int)
Opcode
PARSEKIT_ZEND_FETCH_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_R (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_W (int)
Opcode
PARSEKIT_ZEND_FETCH_R (int)
Opcode
PARSEKIT_ZEND_FETCH_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_W (int)
Opcode
PARSEKIT_ZEND_FE_FETCH (int)
Opcode
PARSEKIT_ZEND_FE_RESET (int)
Opcode
PARSEKIT_ZEND_FREE (int)
Opcode
PARSEKIT_ZEND_HANDLE_EXCEPTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CONST (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INCLUDE_OR_EVAL (int)
Opcode
PARSEKIT_ZEND_INIT_ARRAY (int)
Opcode
PARSEKIT_ZEND_INIT_CTOR_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_INIT_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STRING (int)
Opcode
PARSEKIT_ZEND_INSTANCEOF (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY (int) PHP < 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IS_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (int)
Opcode
PARSEKIT_ZEND_JMP (int)
Opcode
PARSEKIT_ZEND_JMPNZ (int)
Opcode
PARSEKIT_ZEND_JMPNZ_EX (int)
Opcode
PARSEKIT_ZEND_JMPZ (int)
Opcode
PARSEKIT_ZEND_JMPZNZ (int)
Opcode
PARSEKIT_ZEND_JMPZ_EX (int)
Opcode
PARSEKIT_ZEND_JMP_NO_CTOR (int)
Opcode
PARSEKIT_ZEND_MOD (int)
Opcode
PARSEKIT_ZEND_MUL (int)
Opcode
PARSEKIT_ZEND_NEW (int)
Opcode
PARSEKIT_ZEND_NOP (int)
Opcode
PARSEKIT_ZEND_OP_DATA (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_DEC (int)
Opcode
PARSEKIT_ZEND_POST_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_INC (int)
Opcode
PARSEKIT_ZEND_POST_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_DEC (int)
Opcode
PARSEKIT_ZEND_PRE_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_INC (int)
Opcode
PARSEKIT_ZEND_PRE_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRINT (int)
Opcode
PARSEKIT_ZEND_QM_ASSIGN (int)
Opcode
PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_RECV (int)
Opcode
PARSEKIT_ZEND_RECV_INIT (int)
Opcode
PARSEKIT_ZEND_RETURN (int)
Opcode
PARSEKIT_ZEND_SEND_REF (int)
Opcode
PARSEKIT_ZEND_SEND_VAL (int)
Opcode
PARSEKIT_ZEND_SEND_VAR (int)
Opcode
PARSEKIT_ZEND_SEND_VAR_NO_REF (int)
Opcode
PARSEKIT_ZEND_SL (int)
Opcode
PARSEKIT_ZEND_SR (int)
Opcode
PARSEKIT_ZEND_SUB (int)
Opcode
PARSEKIT_ZEND_SWITCH_FREE (int)
Opcode
PARSEKIT_ZEND_THROW (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_TICKS (int)
Opcode
PARSEKIT_ZEND_UNSET_DIM_OBJ (int)
Opcode
PARSEKIT_ZEND_UNSET_VAR (int)
Opcode
PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (int) PHP >= 5.0.0
Opcode

Типы ресурсов
Parsekit Функции
Parsekit


Parsekit Функции

Содержание

  • parsekit_compile_file — Compile a string of PHP code and return the resulting op array
  • parsekit_compile_string — Compile a string of PHP code and return the resulting op array
  • parsekit_func_arginfo — Return information regarding function argument(s)
Предопределенные константы
parsekit_compile_file
Parsekit


Compile a string of PHP code and return the resulting op array

Parsekit Функции
parsekit_compile_string
Parsekit Функции
PHP Manual

parsekit_compile_file

(PECL parsekit >= 0.2.0)

parsekit_compile_file — Compile a string of PHP code and return the resulting op array

Описание

array parsekit_compile_file ( string $filename [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

filename

A string containing the name of the file to compile. Similar to the argument to include().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Возвращаемые значения

Returns a complex multi-layer array structure as detailed below.

Примеры

Пример #1 parsekit_compile_file() example

<?php
var_dump(parsekit_compile_file('hello_world.php', $errors, PARSEKIT_SIMPLE));
?>

Результат выполнения данного примера:

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Hello World' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

Смотрите также

  • parsekit_compile_string() - Compile a string of PHP code and return the resulting op array

Parsekit Функции
parsekit_compile_string
Parsekit Функции


Compile a string of PHP code and return the resulting op array

parsekit_compile_file
parsekit_func_arginfo
Parsekit Функции
PHP Manual

parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_string — Compile a string of PHP code and return the resulting op array

Описание

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

phpcode

A string containing phpcode. Similar to the argument to eval().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Возвращаемые значения

Returns a complex multi-layer array structure as detailed below.

Примеры

Пример #1 parsekit_compile_string() example

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

Результат выполнения данного примера:

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

Смотрите также

  • parsekit_compile_file() - Compile a string of PHP code and return the resulting op array

parsekit_compile_file
parsekit_func_arginfo
Parsekit Функции


Return information regarding function argument(s)

parsekit_compile_string
SPL
Parsekit Функции
PHP Manual

parsekit_func_arginfo

(PECL parsekit >= 0.3.0)

parsekit_func_arginfo — Return information regarding function argument(s)

Описание

array parsekit_func_arginfo ( mixed $function )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

function

A string describing a function, or an array describing a class/method.

Возвращаемые значения

Returns an array containing argument information.

Примеры

Пример #1 parsekit_func_arginfo() example

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

parsekit_compile_string
SPL
Parsekit Функции


Стандартная библиотека PHP (SPL)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Структуры данных
    • SplDoublyLinkedList — The SplDoublyLinkedList class
    • SplStack — The SplStack class
    • SplQueue — The SplQueue class
    • SplHeap — The SplHeap class
    • SplMaxHeap — The SplMaxHeap class
    • SplMinHeap — The SplMinHeap class
    • SplPriorityQueue — The SplPriorityQueue class
    • SplFixedArray — Класс SplFixedArray
    • SplObjectStorage — The SplObjectStorage class
  • Итераторы
    • AppendIterator — Класс AppendIterator
    • ArrayIterator — The ArrayIterator class
    • CachingIterator — The CachingIterator class
    • CallbackFilterIterator — The CallbackFilterIterator class
    • DirectoryIterator — The DirectoryIterator class
    • EmptyIterator — The EmptyIterator class
    • FilesystemIterator — The FilesystemIterator class
    • FilterIterator — The FilterIterator class
    • GlobIterator — The GlobIterator class
    • InfiniteIterator — The InfiniteIterator class
    • IteratorIterator — The IteratorIterator class
    • LimitIterator — The LimitIterator class
    • MultipleIterator — The MultipleIterator class
    • NoRewindIterator — The NoRewindIterator class
    • ParentIterator — The ParentIterator class
    • RecursiveArrayIterator — The RecursiveArrayIterator class
    • RecursiveCachingIterator — The RecursiveCachingIterator class
    • RecursiveCallbackFilterIterator — The RecursiveCallbackFilterIterator class
    • RecursiveDirectoryIterator — The RecursiveDirectoryIterator class
    • RecursiveFilterIterator — The RecursiveFilterIterator class
    • RecursiveIteratorIterator — The RecursiveIteratorIterator class
    • RecursiveRegexIterator — The RecursiveRegexIterator class
    • RecursiveTreeIterator — The RecursiveTreeIterator class
    • RegexIterator — The RegexIterator class
    • SimpleXMLIterator — The SimpleXMLIterator class
  • Интерфейсы
    • Countable — Интерфейс Countable
    • OuterIterator — The OuterIterator interface
    • RecursiveIterator — The RecursiveIterator interface
    • SeekableIterator — The SeekableIterator interface
  • Исключения
    • BadFunctionCallException — The BadFunctionCallException class
    • BadMethodCallException — The BadMethodCallException class
    • DomainException — The DomainException class
    • InvalidArgumentException — The InvalidArgumentException class
    • LengthException — The LengthException class
    • LogicException — The LogicException class
    • OutOfBoundsException — The OutOfBoundsException class
    • OutOfRangeException — The OutOfRangeException class
    • OverflowException — The OverflowException class
    • RangeException — The RangeException class
    • RuntimeException — The RuntimeException class
    • UnderflowException — The UnderflowException class
    • UnexpectedValueException — The UnexpectedValueException class
  • SPL Функции
    • class_implements — Return the interfaces which are implemented by the given class
    • class_parents — Return the parent classes of the given class
    • class_uses — Return the traits used by the given class
    • iterator_apply — Call a function for every element in an iterator
    • iterator_count — Count the elements in an iterator
    • iterator_to_array — Копирует итератор в массив
    • spl_autoload_call — Try all registered __autoload() function to load the requested class
    • spl_autoload_extensions — Register and return default file extensions for spl_autoload
    • spl_autoload_functions — Return all registered __autoload() functions
    • spl_autoload_register — Register given function as __autoload() implementation
    • spl_autoload_unregister — Unregister given function as __autoload() implementation
    • spl_autoload — Default implementation for __autoload()
    • spl_classes — Return available SPL classes
    • spl_object_hash — Return hash id for given object
  • Обработка файлов
    • SplFileInfo — The SplFileInfo class
    • SplFileObject — Класс SplFileObject
    • SplTempFileObject — The SplTempFileObject class
  • Различные Классы и Интерфейсы
    • ArrayObject — Класс ArrayObject
    • SplObserver — The SplObserver interface
    • SplSubject — The SplSubject interface
parsekit_func_arginfo
Введение
Другие базовые расширения


Введение

SPL - это набор интерфейсов и классов, предназначенных для решения стандартных задач.

Замечание:

Документацию в стиле doxygen можно найти » здесь.

SPL
Установка и настройка
SPL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SPL


Установка

Это расширение доступно и включено по умолчанию начиная с версии PHP 5.0.0.

Замечание:

Начиная с версии PHP 5.3.0 данное расширение не может быть отключено и доступно всегда.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Внимание

Начиная с версии PHP 5.1 в SPL используются константы класса. Для предыдущих версий – глобальные константы в виде RIT_LEAVES_ONLY.

RecursiveIteratorIterator::LEAVES_ONLY (integer)
RecursiveIteratorIterator::SELF_FIRST (integer)
RecursiveIteratorIterator::CHILD_FIRST (integer)
CachingIterator::CALL_TOSTRING (integer)
CachingIterator::CATCH_GET_CHILD (integer)
Типы ресурсов
Структуры данных
SPL


Структуры данных

Содержание

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.

Doubly Linked Lists

A Doubly Linked List (DLL) is a list of nodes linked in both directions to each others. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

Heaps

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Arrays

Arrays are structures that store the data in a continuous way, accessible via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

  • SplFixedArray

Map

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also be used as an object set.

  • SplObjectStorage
Предопределенные константы
SplDoublyLinkedList
SPL


The SplDoublyLinkedList class

(PHP 5 >= 5.3.0)

Введение

The SplDoublyLinkedList class provides the main functionalities of a doubly linked list.

Обзор классов

SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Методы */
__construct ( void )
mixed bottom ( void )
int count ( void )
mixed current ( void )
int getIteratorMode ( void )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
bool offsetExists ( mixed $index )
mixed offsetGet ( mixed $index )
void offsetSet ( mixed $index , mixed $newval )
void offsetUnset ( mixed $index )
mixed pop ( void )
void prev ( void )
void push ( mixed $value )
void rewind ( void )
void setIteratorMode ( int $mode )
mixed shift ( void )
mixed top ( void )
void unshift ( mixed $value )
bool valid ( void )
}

Содержание

  • SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list
  • SplDoublyLinkedList::__construct — Constructs a new doubly linked list
  • SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list.
  • SplDoublyLinkedList::current — Return current array entry
  • SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration
  • SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty.
  • SplDoublyLinkedList::key — Return current node index
  • SplDoublyLinkedList::next — Move to next entry
  • SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists
  • SplDoublyLinkedList::offsetGet — Returns the value at the specified $index
  • SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval
  • SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index
  • SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list
  • SplDoublyLinkedList::prev — Move to previous entry
  • SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list
  • SplDoublyLinkedList::rewind — Rewind iterator back to the start
  • SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration
  • SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list
  • SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list
  • SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element
  • SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes
Структуры данных
SplDoublyLinkedList::bottom
Структуры данных


Peeks at the node from the beginning of the doubly linked list

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list

Описание

mixed SplDoublyLinkedList::bottom ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the first node.

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList


Constructs a new doubly linked list

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::__construct

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::__construct — Constructs a new doubly linked list

Описание

SplDoublyLinkedList::__construct() ( void )

This constructs a new empty doubly linked list.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplDoublyLinkedList::__construct() example

<?php
$dll = new SplDoublyLinkedList();

$dll->push(2);
$dll->push(3);
$dll->unshift(5);

var_dump($dll);
?>

Результат выполнения данного примера:

object(SplDoublyLinkedList)#1 (2) {
  ["flags":"SplDoublyLinkedList":private]=>
  int(0)
  ["dllist":"SplDoublyLinkedList":private]=>
  array(3) {
    [0]=>
    int(5)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList


Counts the number of elements in the doubly linked list.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list.

Описание

int SplDoublyLinkedList::count ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of elements in the doubly linked list.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList


Return current array entry

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::current — Return current array entry

Описание

mixed SplDoublyLinkedList::current ( void )

Get the current doubly linked list node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current node value.

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList


Returns the mode of iteration

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration

Описание

int SplDoublyLinkedList::getIteratorMode ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the different modes and flags that affect the iteration.

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList


Checks whether the doubly linked list is empty.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty.

Описание

bool SplDoublyLinkedList::isEmpty ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns whether the doubly linked list is empty.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList


Return current node index

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::key — Return current node index

Описание

mixed SplDoublyLinkedList::key ( void )

This function returns the current node index

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current node index.

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList


Move to next entry

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::next — Move to next entry

Описание

void SplDoublyLinkedList::next ( void )

Move the iterator to the next node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList


Returns whether the requested $index exists

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists

Описание

bool SplDoublyLinkedList::offsetExists ( mixed $index )

Список параметров

index

The index being checked.

Возвращаемые значения

TRUE if the requested index exists, otherwise FALSE

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList


Returns the value at the specified $index

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetGet — Returns the value at the specified $index

Описание

mixed SplDoublyLinkedList::offsetGet ( mixed $index )

Список параметров

index

The index with the value.

Возвращаемые значения

The value at the specified index.

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList


Sets the value at the specified $index to $newval

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval

Описание

void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )

Sets the value at the specified index to newval.

Список параметров

index

The index being set.

newval

The new value for the index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList


Unsets the value at the specified $index

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index

Описание

void SplDoublyLinkedList::offsetUnset ( mixed $index )

Unsets the value at the specified index.

Список параметров

index

The index being unset.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList


Pops a node from the end of the doubly linked list

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list

Описание

mixed SplDoublyLinkedList::pop ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the popped node.

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList


Move to previous entry

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::prev — Move to previous entry

Описание

void SplDoublyLinkedList::prev ( void )

Move the iterator to the previous node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList


Pushes an element at the end of the doubly linked list

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list

Описание

void SplDoublyLinkedList::push ( mixed $value )

Pushes value at the end of the doubly linked list.

Список параметров

value

The value to push.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList


Rewind iterator back to the start

SplDoublyLinkedList::push
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::rewind — Rewind iterator back to the start

Описание

void SplDoublyLinkedList::rewind ( void )

This rewinds the iterator to the beginning.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::push
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList


Sets the mode of iteration

SplDoublyLinkedList::rewind
SplDoublyLinkedList::shift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration

Описание

void SplDoublyLinkedList::setIteratorMode ( int $mode )

Список параметров

mode

There are two orthogonal sets of modes that can be set:

  • The direction of the iteration (either one or the other):
    • SplDoublyLinkedList::IT_MODE_LIFO (Stack style)
    • SplDoublyLinkedList::IT_MODE_FIFO (Queue style)
  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::rewind
SplDoublyLinkedList::shift
SplDoublyLinkedList


Shifts a node from the beginning of the doubly linked list

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list

Описание

mixed SplDoublyLinkedList::shift ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the shifted node.

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList


Peeks at the node from the end of the doubly linked list

SplDoublyLinkedList::shift
SplDoublyLinkedList::unshift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list

Описание

mixed SplDoublyLinkedList::top ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the last node.

SplDoublyLinkedList::shift
SplDoublyLinkedList::unshift
SplDoublyLinkedList


Prepends the doubly linked list with an element

SplDoublyLinkedList::top
SplDoublyLinkedList::valid
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element

Описание

void SplDoublyLinkedList::unshift ( mixed $value )

Prepends value at the beginning of the doubly linked list.

Список параметров

value

The value to unshift.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplDoublyLinkedList::top
SplDoublyLinkedList::valid
SplDoublyLinkedList


Check whether the doubly linked list contains more nodes

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes

Описание

bool SplDoublyLinkedList::valid ( void )

Checks if the doubly linked list contains any more nodes.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the doubly linked list contains any more nodes, FALSE otherwise.

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList


The SplStack class

(PHP 5 >= 5.3.0)

Введение

The SplStack class provides the main functionalities of a stack implemented using a doubly linked list.

Обзор классов

SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Методы */
__construct ( void )
void setIteratorMode ( int $mode )
/* Наследуемые методы */
mixed SplDoublyLinkedList::bottom ( void )
int SplDoublyLinkedList::count ( void )
mixed SplDoublyLinkedList::current ( void )
int SplDoublyLinkedList::getIteratorMode ( void )
bool SplDoublyLinkedList::isEmpty ( void )
mixed SplDoublyLinkedList::key ( void )
void SplDoublyLinkedList::next ( void )
bool SplDoublyLinkedList::offsetExists ( mixed $index )
mixed SplDoublyLinkedList::offsetGet ( mixed $index )
void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
void SplDoublyLinkedList::offsetUnset ( mixed $index )
mixed SplDoublyLinkedList::pop ( void )
void SplDoublyLinkedList::prev ( void )
void SplDoublyLinkedList::push ( mixed $value )
void SplDoublyLinkedList::rewind ( void )
void SplDoublyLinkedList::setIteratorMode ( int $mode )
mixed SplDoublyLinkedList::shift ( void )
mixed SplDoublyLinkedList::top ( void )
void SplDoublyLinkedList::unshift ( mixed $value )
bool SplDoublyLinkedList::valid ( void )
}

Содержание

  • SplStack::__construct — Constructs a new stack implemented using a doubly linked list
  • SplStack::setIteratorMode — Sets the mode of iteration
SplDoublyLinkedList::valid
SplStack::__construct
Структуры данных


Constructs a new stack implemented using a doubly linked list

SplStack
SplStack::setIteratorMode
SplStack
PHP Manual

SplStack::__construct

(PHP 5 >= 5.3.0)

SplStack::__construct — Constructs a new stack implemented using a doubly linked list

Описание

SplStack::__construct() ( void )

This constructs a new empty stack.

Замечание:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_LIFO.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplStack::__construct() example

<?php
$q = new SplStack();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

Результат выполнения данного примера:

3
2
1

SplStack
SplStack::setIteratorMode
SplStack


Sets the mode of iteration

SplStack::__construct
SplQueue
SplStack
PHP Manual

SplStack::setIteratorMode

(PHP 5 >= 5.3.0)

SplStack::setIteratorMode — Sets the mode of iteration

Описание

void SplStack::setIteratorMode ( int $mode )

Список параметров

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is 0x2 : SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP

Внимание

The direction of iteration can no longer be changed for SplStacks. Trying to do so will result in a RuntimeException being thrown.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplStack::__construct
SplQueue
SplStack


The SplQueue class

(PHP 5 >= 5.3.0)

Введение

The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list.

Обзор классов

SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Методы */
__construct ( void )
mixed dequeue ( void )
void enqueue ( mixed $value )
void setIteratorMode ( int $mode )
/* Наследуемые методы */
mixed SplDoublyLinkedList::bottom ( void )
int SplDoublyLinkedList::count ( void )
mixed SplDoublyLinkedList::current ( void )
int SplDoublyLinkedList::getIteratorMode ( void )
bool SplDoublyLinkedList::isEmpty ( void )
mixed SplDoublyLinkedList::key ( void )
void SplDoublyLinkedList::next ( void )
bool SplDoublyLinkedList::offsetExists ( mixed $index )
mixed SplDoublyLinkedList::offsetGet ( mixed $index )
void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
void SplDoublyLinkedList::offsetUnset ( mixed $index )
mixed SplDoublyLinkedList::pop ( void )
void SplDoublyLinkedList::prev ( void )
void SplDoublyLinkedList::push ( mixed $value )
void SplDoublyLinkedList::rewind ( void )
void SplDoublyLinkedList::setIteratorMode ( int $mode )
mixed SplDoublyLinkedList::shift ( void )
mixed SplDoublyLinkedList::top ( void )
void SplDoublyLinkedList::unshift ( mixed $value )
bool SplDoublyLinkedList::valid ( void )
}

Содержание

  • SplQueue::__construct — Constructs a new queue implemented using a doubly linked list
  • SplQueue::dequeue — Dequeues a node from the queue
  • SplQueue::enqueue — Adds an element to the queue.
  • SplQueue::setIteratorMode — Sets the mode of iteration
SplStack::setIteratorMode
SplQueue::__construct
Структуры данных


Constructs a new queue implemented using a doubly linked list

SplQueue
SplQueue::dequeue
SplQueue
PHP Manual

SplQueue::__construct

(PHP 5 >= 5.3.0)

SplQueue::__construct — Constructs a new queue implemented using a doubly linked list

Описание

SplQueue::__construct() ( void )

This constructs a new empty queue.

Замечание:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_FIFO.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplQueue::__construct() example

<?php
$q = new SplQueue();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

Результат выполнения данного примера:

1
2
3

Пример #2 Efficiently handling tasks with SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

// ... enqueue some tasks on the queue ...

// process them
foreach ($q as $task) {
    // ... process $task ...

    // add new tasks on the queue
    $q[] = $newTask;
    // ...
}
?>

SplQueue
SplQueue::dequeue
SplQueue


Dequeues a node from the queue

SplQueue::__construct
SplQueue::enqueue
SplQueue
PHP Manual

SplQueue::dequeue

(PHP 5 >= 5.3.0)

SplQueue::dequeue — Dequeues a node from the queue

Описание

mixed SplQueue::dequeue ( void )

Dequeues value from the top of the queue.

Замечание:

SplQueue::dequeue() is an alias of SplDoublyLinkedList::shift().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the dequeued node.

SplQueue::__construct
SplQueue::enqueue
SplQueue


Adds an element to the queue.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue
PHP Manual

SplQueue::enqueue

(PHP 5 >= 5.3.0)

SplQueue::enqueue — Adds an element to the queue.

Описание

void SplQueue::enqueue ( mixed $value )

Enqueues value at the end of the queue.

Замечание:

SplQueue::enqueue() is an alias of SplDoublyLinkedList::push().

Список параметров

value

The value to enqueue.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue


Sets the mode of iteration

SplQueue::enqueue
SplHeap
SplQueue
PHP Manual

SplQueue::setIteratorMode

(PHP 5 >= 5.3.0)

SplQueue::setIteratorMode — Sets the mode of iteration

Описание

void SplQueue::setIteratorMode ( int $mode )

Список параметров

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Внимание

The direction of iteration can not be changed for SplQueues, it is always SplDoublyLinkedList::IT_MODE_FIFO.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a RuntimeException on trying to change the direction of iteration by using SplDoublyLinkedList::IT_MODE_LIFO.

SplQueue::enqueue
SplHeap
SplQueue


The SplHeap class

(PHP 5 >= 5.3.0)

Введение

The SplHeap class provides the main functionalities of a Heap.

Обзор классов

abstract SplHeap implements Iterator , Countable {
/* Методы */
__construct ( void )
abstract int compare ( mixed $value1 , mixed $value2 )
int count ( void )
mixed current ( void )
mixed extract ( void )
void insert ( mixed $value )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
void recoverFromCorruption ( void )
void rewind ( void )
mixed top ( void )
bool valid ( void )
}

Содержание

  • SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
  • SplHeap::__construct — Constructs a new empty heap
  • SplHeap::count — Counts the number of elements in the heap.
  • SplHeap::current — Return current node pointed by the iterator
  • SplHeap::extract — Extracts a node from top of the heap and sift up.
  • SplHeap::insert — Inserts an element in the heap by sifting it up.
  • SplHeap::isEmpty — Checks whether the heap is empty.
  • SplHeap::key — Return current node index
  • SplHeap::next — Move to the next node
  • SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap.
  • SplHeap::rewind — Rewind iterator back to the start (no-op)
  • SplHeap::top — Peeks at the node from the top of the heap
  • SplHeap::valid — Check whether the heap contains more nodes
SplQueue::setIteratorMode
SplHeap::compare
Структуры данных


Compare elements in order to place them correctly in the heap while sifting up.

SplHeap
SplHeap::__construct
SplHeap
PHP Manual

SplHeap::compare

(PHP 5 >= 5.3.0)

SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Описание

abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Внимание

Throwing exceptions in SplHeap::compare() can corrupt the Heap and place it in a blocked state. You can unblock it by calling SplHeap::recoverFromCorruption(). However, some elements might not be placed correctly and it may hence break the heap-property.

Список параметров

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Возвращаемые значения

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Замечание:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplHeap
SplHeap::__construct
SplHeap


Constructs a new empty heap

SplHeap::compare
SplHeap::count
SplHeap
PHP Manual

SplHeap::__construct

(PHP 5 >= 5.3.0)

SplHeap::__construct — Constructs a new empty heap

Описание

SplHeap::__construct() ( void )

This constructs a new empty heap.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::compare
SplHeap::count
SplHeap


Counts the number of elements in the heap.

SplHeap::__construct
SplHeap::current
SplHeap
PHP Manual

SplHeap::count

(PHP 5 >= 5.3.0)

SplHeap::count — Counts the number of elements in the heap.

Описание

int SplHeap::count ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of elements in the heap.

SplHeap::__construct
SplHeap::current
SplHeap


Return current node pointed by the iterator

SplHeap::count
SplHeap::extract
SplHeap
PHP Manual

SplHeap::current

(PHP 5 >= 5.3.0)

SplHeap::current — Return current node pointed by the iterator

Описание

mixed SplHeap::current ( void )

Get the current datastructure node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current node value.

SplHeap::count
SplHeap::extract
SplHeap


Extracts a node from top of the heap and sift up.

SplHeap::current
SplHeap::insert
SplHeap
PHP Manual

SplHeap::extract

(PHP 5 >= 5.3.0)

SplHeap::extract — Extracts a node from top of the heap and sift up.

Описание

mixed SplHeap::extract ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the extracted node.

SplHeap::current
SplHeap::insert
SplHeap


Inserts an element in the heap by sifting it up.

SplHeap::extract
SplHeap::isEmpty
SplHeap
PHP Manual

SplHeap::insert

(PHP 5 >= 5.3.0)

SplHeap::insert — Inserts an element in the heap by sifting it up.

Описание

void SplHeap::insert ( mixed $value )

Insert value in the heap.

Список параметров

value

The value to insert.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::extract
SplHeap::isEmpty
SplHeap


Checks whether the heap is empty.

SplHeap::insert
SplHeap::key
SplHeap
PHP Manual

SplHeap::isEmpty

(PHP 5 >= 5.3.0)

SplHeap::isEmpty — Checks whether the heap is empty.

Описание

bool SplHeap::isEmpty ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns whether the heap is empty.

SplHeap::insert
SplHeap::key
SplHeap


Return current node index

SplHeap::isEmpty
SplHeap::next
SplHeap
PHP Manual

SplHeap::key

(PHP 5 >= 5.3.0)

SplHeap::key — Return current node index

Описание

mixed SplHeap::key ( void )

This function returns the current node index

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current node index.

SplHeap::isEmpty
SplHeap::next
SplHeap


Move to the next node

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap
PHP Manual

SplHeap::next

(PHP 5 >= 5.3.0)

SplHeap::next — Move to the next node

Описание

void SplHeap::next ( void )

Extracts the top node from the heap.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap


Recover from the corrupted state and allow further actions on the heap.

SplHeap::next
SplHeap::rewind
SplHeap
PHP Manual

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap.

Описание

void SplHeap::recoverFromCorruption ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::next
SplHeap::rewind
SplHeap


Rewind iterator back to the start (no-op)

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap
PHP Manual

SplHeap::rewind

(PHP 5 >= 5.3.0)

SplHeap::rewind — Rewind iterator back to the start (no-op)

Описание

void SplHeap::rewind ( void )

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap


Peeks at the node from the top of the heap

SplHeap::rewind
SplHeap::valid
SplHeap
PHP Manual

SplHeap::top

(PHP 5 >= 5.3.0)

SplHeap::top — Peeks at the node from the top of the heap

Описание

mixed SplHeap::top ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the node on the top.

SplHeap::rewind
SplHeap::valid
SplHeap


Check whether the heap contains more nodes

SplHeap::top
SplMaxHeap
SplHeap
PHP Manual

SplHeap::valid

(PHP 5 >= 5.3.0)

SplHeap::valid — Check whether the heap contains more nodes

Описание

bool SplHeap::valid ( void )

Checks if the heap contains any more nodes.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the heap contains any more nodes, FALSE otherwise.

SplHeap::top
SplMaxHeap
SplHeap


The SplMaxHeap class

(PHP 5 >= 5.3.0)

Введение

The SplMaxHeap class provides the main functionalities of a heap, keeping the maximum on the top.

Обзор классов

SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Методы */
void compare ( mixed $value1 , mixed $value2 )
/* Наследуемые методы */
abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )
int SplHeap::count ( void )
mixed SplHeap::current ( void )
mixed SplHeap::extract ( void )
void SplHeap::insert ( mixed $value )
bool SplHeap::isEmpty ( void )
mixed SplHeap::key ( void )
void SplHeap::next ( void )
void SplHeap::recoverFromCorruption ( void )
void SplHeap::rewind ( void )
mixed SplHeap::top ( void )
bool SplHeap::valid ( void )
}

Содержание

  • SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
SplHeap::valid
SplMaxHeap::compare
Структуры данных


Compare elements in order to place them correctly in the heap while sifting up.

SplMaxHeap
SplMinHeap
SplMaxHeap
PHP Manual

SplMaxHeap::compare

(PHP 5 >= 5.3.0)

SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Описание

void SplMaxHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Список параметров

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Возвращаемые значения

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Замечание:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplMaxHeap
SplMinHeap
SplMaxHeap


The SplMinHeap class

(PHP 5 >= 5.3.0)

Введение

The SplMinHeap class provides the main functionalities of a heap, keeping the minimum on the top.

Обзор классов

SplMinHeap extends SplHeap implements Iterator , Countable {
/* Методы */
void compare ( mixed $value1 , mixed $value2 )
/* Наследуемые методы */
abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )
int SplHeap::count ( void )
mixed SplHeap::current ( void )
mixed SplHeap::extract ( void )
void SplHeap::insert ( mixed $value )
bool SplHeap::isEmpty ( void )
mixed SplHeap::key ( void )
void SplHeap::next ( void )
void SplHeap::recoverFromCorruption ( void )
void SplHeap::rewind ( void )
mixed SplHeap::top ( void )
bool SplHeap::valid ( void )
}

Содержание

  • SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
SplMaxHeap::compare
SplMinHeap::compare
Структуры данных


Compare elements in order to place them correctly in the heap while sifting up.

SplMinHeap
SplPriorityQueue
SplMinHeap
PHP Manual

SplMinHeap::compare

(PHP 5 >= 5.3.0)

SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Описание

void SplMinHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Список параметров

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Возвращаемые значения

Result of the comparison, positive integer if value1 is lower than value2, 0 if they are equal, negative integer otherwise.

Замечание:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplMinHeap
SplPriorityQueue
SplMinHeap


The SplPriorityQueue class

(PHP 5 >= 5.3.0)

Введение

The SplPriorityQueue class provides the main functionalities of an prioritized queue, implemented using a heap.

Обзор классов

SplPriorityQueue implements Iterator , Countable {
/* Методы */
__construct ( void )
int compare ( mixed $priority1 , mixed $priority2 )
int count ( void )
mixed current ( void )
mixed extract ( void )
void insert ( mixed $value , mixed $priority )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
void recoverFromCorruption ( void )
void rewind ( void )
void setExtractFlags ( int $flags )
mixed top ( void )
bool valid ( void )
}

Содержание

  • SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up.
  • SplPriorityQueue::__construct — Constructs a new empty queue
  • SplPriorityQueue::count — Counts the number of elements in the queue.
  • SplPriorityQueue::current — Return current node pointed by the iterator
  • SplPriorityQueue::extract — Extracts a node from top of the heap and sift up.
  • SplPriorityQueue::insert — Inserts an element in the queue by sifting it up.
  • SplPriorityQueue::isEmpty — Checks whether the queue is empty.
  • SplPriorityQueue::key — Return current node index
  • SplPriorityQueue::next — Move to the next node
  • SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue.
  • SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)
  • SplPriorityQueue::setExtractFlags — Sets the mode of extraction
  • SplPriorityQueue::top — Peeks at the node from the top of the queue
  • SplPriorityQueue::valid — Check whether the queue contains more nodes
SplMinHeap::compare
SplPriorityQueue::compare
Структуры данных


Compare priorities in order to place elements correctly in the heap while sifting up.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue
PHP Manual

SplPriorityQueue::compare

(PHP 5 >= 5.3.0)

SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up.

Описание

int SplPriorityQueue::compare ( mixed $priority1 , mixed $priority2 )

Compare priority1 with priority2.

Список параметров

priority1

The priority of the first node being compared.

priority2

The priority of the second node being compared.

Возвращаемые значения

Result of the comparison, positive integer if priority1 is greater than priority2, 0 if they are equal, negative integer otherwise.

Замечание:

Multiple elements with the same priority will get dequeued in no particular order.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue


Constructs a new empty queue

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue
PHP Manual

SplPriorityQueue::__construct

(PHP 5 >= 5.3.0)

SplPriorityQueue::__construct — Constructs a new empty queue

Описание

SplPriorityQueue::__construct() ( void )

This constructs a new empty queue.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue


Counts the number of elements in the queue.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue
PHP Manual

SplPriorityQueue::count

(PHP 5 >= 5.3.0)

SplPriorityQueue::count — Counts the number of elements in the queue.

Описание

int SplPriorityQueue::count ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of elements in the queue.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue


Return current node pointed by the iterator

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue
PHP Manual

SplPriorityQueue::current

(PHP 5 >= 5.3.0)

SplPriorityQueue::current — Return current node pointed by the iterator

Описание

mixed SplPriorityQueue::current ( void )

Get the current datastructure node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value or priority (or both) of the current node, depending on the extract flag.

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue


Extracts a node from top of the heap and sift up.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue
PHP Manual

SplPriorityQueue::extract

(PHP 5 >= 5.3.0)

SplPriorityQueue::extract — Extracts a node from top of the heap and sift up.

Описание

mixed SplPriorityQueue::extract ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value or priority (or both) of the extracted node, depending on the extract flag.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue


Inserts an element in the queue by sifting it up.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue
PHP Manual

SplPriorityQueue::insert

(PHP 5 >= 5.3.0)

SplPriorityQueue::insert — Inserts an element in the queue by sifting it up.

Описание

void SplPriorityQueue::insert ( mixed $value , mixed $priority )

Insert value with the priority priority in the queue.

Список параметров

value

The value to insert.

priority

The associated priority.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue


Checks whether the queue is empty.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue
PHP Manual

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0)

SplPriorityQueue::isEmpty — Checks whether the queue is empty.

Описание

bool SplPriorityQueue::isEmpty ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns whether the queue is empty.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue


Return current node index

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue
PHP Manual

SplPriorityQueue::key

(PHP 5 >= 5.3.0)

SplPriorityQueue::key — Return current node index

Описание

mixed SplPriorityQueue::key ( void )

This function returns the current node index

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current node index.

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue


Move to the next node

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue
PHP Manual

SplPriorityQueue::next

(PHP 5 >= 5.3.0)

SplPriorityQueue::next — Move to the next node

Описание

void SplPriorityQueue::next ( void )

Extracts the top node from the queue.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue


Recover from the corrupted state and allow further actions on the queue.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue
PHP Manual

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue.

Описание

void SplPriorityQueue::recoverFromCorruption ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue


Rewind iterator back to the start (no-op)

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue
PHP Manual

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0)

SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)

Описание

void SplPriorityQueue::rewind ( void )

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue


Sets the mode of extraction

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue
PHP Manual

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0)

SplPriorityQueue::setExtractFlags — Sets the mode of extraction

Описание

void SplPriorityQueue::setExtractFlags ( int $flags )

Список параметров

flags

Defines what is extracted by  SplPriorityQueue::current(),
 SplPriorityQueue::top() and
 SplPriorityQueue::extract().

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both

The default mode is SplPriorityQueue::EXTR_DATA.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue


Peeks at the node from the top of the queue

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue
PHP Manual

SplPriorityQueue::top

(PHP 5 >= 5.3.0)

SplPriorityQueue::top — Peeks at the node from the top of the queue

Описание

mixed SplPriorityQueue::top ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value or priority (or both) of the top node, depending on the extract flag.

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue


Check whether the queue contains more nodes

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue
PHP Manual

SplPriorityQueue::valid

(PHP 5 >= 5.3.0)

SplPriorityQueue::valid — Check whether the queue contains more nodes

Описание

bool SplPriorityQueue::valid ( void )

Checks if the queue contains any more nodes.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the queue contains any more nodes, FALSE otherwise.

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue


Класс SplFixedArray

(PHP 5 >= 5.3.0)

Введение

Класс SplFixedArray обеспечивает базовую функциональность, предоставляемый массивами. Главное различие между SplFixedArray и обычным массивом PHP в том, что SplFixedArray имеет фиксированную длину, а в качестве индексов могут выступать только целочисленные значения. Преимущество данных ограничений заключается в более быстрой обработке массива.

Обзор классов

SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Методы */
public __construct ([ int $size = 0 ] )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )
public int getSize ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( int $index )
public mixed offsetGet ( int $index )
public void offsetSet ( int $index , mixed $newval )
public void offsetUnset ( int $index )
public void rewind ( void )
public int setSize ( int $size )
public array toArray ( void )
public bool valid ( void )
}

Примеры

Пример #1 Пример использования SplFixedArray

<?php
// Инициализация массива фиксированной длиной
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Увеличение размера массива до 10
$array->setSize(10);

$array[9] = "asdf";

// Сокращаем размер массива до 2-х
$array->setSize(2);

// Следующий код вызывает исключение RuntimeException: Index invalid or out of range
try {
    var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[-1]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[5]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}
?>

Результат выполнения данного примера:

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

Содержание

  • SplFixedArray::__construct — Создает новый массив фиксированной длины
  • SplFixedArray::count — Возвращает размер массива
  • SplFixedArray::current — Возвращает текущий элемент массива
  • SplFixedArray::fromArray — Импортирует PHP-массив в объект класса SplFixedArray
  • SplFixedArray::getSize — Получает размер массива
  • SplFixedArray::key — Возвращает индекс текущего элемента массива
  • SplFixedArray::next — Переходит к следующему элементу массива
  • SplFixedArray::offsetExists — Возвращает факт наличия указанного индекса массива
  • SplFixedArray::offsetGet — Возвращает значение по указанному индексу
  • SplFixedArray::offsetSet — Устанавливает новое значение по заданному индексу
  • SplFixedArray::offsetUnset — Удаляет значение по индексу $index
  • SplFixedArray::rewind — Выставляет итератор массива в начало
  • SplFixedArray::setSize — Изменяет размер массива
  • SplFixedArray::toArray — Возвращает обычный PHP-массив со значениями фиксированного массива
  • SplFixedArray::valid — Проверяет массив на наличие элементов
SplPriorityQueue::valid
SplFixedArray::__construct
Структуры данных


Создает новый массив фиксированной длины

SplFixedArray
SplFixedArray::count
SplFixedArray
PHP Manual

SplFixedArray::__construct

(PHP 5 >= 5.3.0)

SplFixedArray::__construct — Создает новый массив фиксированной длины

Описание

public SplFixedArray::__construct() ([ int $size = 0 ] )

Создает новый пустой массив фиксированной длины.

Список параметров

size

Размер фиксированного массива.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования SplFixedArray::__construct()

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
  var_dump($v);
}
?>

Результат выполнения данного примера:

NULL
int(2)
NULL
NULL
string(3) "foo"

SplFixedArray
SplFixedArray::count
SplFixedArray


Возвращает размер массива

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray
PHP Manual

SplFixedArray::count

(PHP 5 >= 5.3.0)

SplFixedArray::count — Возвращает размер массива

Описание

public int SplFixedArray::count ( void )

Возвращает размер массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает размер массива.

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray


Возвращает текущий элемент массива

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray
PHP Manual

SplFixedArray::current

(PHP 5 >= 5.3.0)

SplFixedArray::current — Возвращает текущий элемент массива

Описание

public mixed SplFixedArray::current ( void )

Получает текущий элемент массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Текущий элемент массива.

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray


Импортирует PHP-массив в объект класса SplFixedArray

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray
PHP Manual

SplFixedArray::fromArray

(PHP 5 >= 5.3.0)

SplFixedArray::fromArray — Импортирует PHP-массив в объект класса SplFixedArray

Описание

public static SplFixedArray SplFixedArray::fromArray ( array $array [, bool $save_indexes = true ] )

Импортирует PHP-массив array в новый объект класса SplFixedArray

Список параметров

array

Массив, который следует импортировать.

save_indexes

По возможности сохранить численные индексы, заданные в оригинальном массиве.

Возвращаемые значения

Возвращает объект класса SplFixedArray, содержащий данные из импортированного массива.

Примеры

Пример #1 Пример использования SplFixedArray::fromArray()

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

Результат выполнения данного примера:

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray


Получает размер массива

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray
PHP Manual

SplFixedArray::getSize

(PHP 5 >= 5.3.0)

SplFixedArray::getSize — Получает размер массива

Описание

public int SplFixedArray::getSize ( void )

Получает размер массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает размер массива как integer.

Примеры

Пример #1 Пример использования SplFixedArray::getSize()

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

Результат выполнения данного примера:

5
10

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray


Возвращает индекс текущего элемента массива

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray
PHP Manual

SplFixedArray::key

(PHP 5 >= 5.3.0)

SplFixedArray::key — Возвращает индекс текущего элемента массива

Описание

public int SplFixedArray::key ( void )

Возвращает индекс текущего элемента массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Индекс текущего элемента массива.

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray


Переходит к следующему элементу массива

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray
PHP Manual

SplFixedArray::next

(PHP 5 >= 5.3.0)

SplFixedArray::next — Переходит к следующему элементу массива

Описание

public void SplFixedArray::next ( void )

Перемещает итератор на следующий элемент массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray


Возвращает факт наличия указанного индекса массива

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray
PHP Manual

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0)

SplFixedArray::offsetExists — Возвращает факт наличия указанного индекса массива

Описание

public bool SplFixedArray::offsetExists ( int $index )

Проверяет существование индексаindex в массиве.

Список параметров

index

Индекс, который необходимо проверить.

Возвращаемые значения

TRUE если требуемый index существует, иначе FALSE

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray


Возвращает значение по указанному индексу

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray
PHP Manual

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetGet — Возвращает значение по указанному индексу

Описание

public mixed SplFixedArray::offsetGet ( int $index )

Возвращает значение по индексу index.

Список параметров

index

Индекс.

Возвращаемые значения

Значение по индексу index.

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray


Устанавливает новое значение по заданному индексу

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray
PHP Manual

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetSet — Устанавливает новое значение по заданному индексу

Описание

public void SplFixedArray::offsetSet ( int $index , mixed $newval )

По индексу index устанавливает значение newval.

Список параметров

index

Индекс, по которому устанавливается значение.

newval

Новое значение для индекса index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray


Удаляет значение по индексу $index

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray
PHP Manual

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0)

SplFixedArray::offsetUnset — Удаляет значение по индексу $index

Описание

public void SplFixedArray::offsetUnset ( int $index )

Удаляет значение по заданному индексу.

Список параметров

index

Индекс, по которому удаляется значение.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray


Выставляет итератор массива в начало

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray
PHP Manual

SplFixedArray::rewind

(PHP 5 >= 5.3.0)

SplFixedArray::rewind — Выставляет итератор массива в начало

Описание

public void SplFixedArray::rewind ( void )

Выставляет итератор массива в начало.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray


Изменяет размер массива

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray
PHP Manual

SplFixedArray::setSize

(PHP 5 >= 5.3.0)

SplFixedArray::setSize — Изменяет размер массива

Описание

public int SplFixedArray::setSize ( int $size )

Устанавливает размер массива в значение size.

Список параметров

size

Новое значение размера массива.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования SplFixedArray::setSize()

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

Результат выполнения данного примера:

5
10

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray


Возвращает обычный PHP-массив со значениями фиксированного массива

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray
PHP Manual

SplFixedArray::toArray

(PHP 5 >= 5.3.0)

SplFixedArray::toArray — Возвращает обычный PHP-массив со значениями фиксированного массива

Описание

public array SplFixedArray::toArray ( void )

Возвращает обычный PHP-массив со значениями фиксированного массива.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает PHP-массив типа array, составленный из значений фиксированного массива.

Примеры

Пример #1 Пример использования SplFixedArray::toArray()

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray


Проверяет массив на наличие элементов

SplFixedArray::toArray
SplObjectStorage
SplFixedArray
PHP Manual

SplFixedArray::valid

(PHP 5 >= 5.3.0)

SplFixedArray::valid — Проверяет массив на наличие элементов

Описание

public bool SplFixedArray::valid ( void )

Проверяет массив на наличие элементов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE если массив содержит хотя бы один элемент, и FALSE в противном случае.

SplFixedArray::toArray
SplObjectStorage
SplFixedArray


The SplObjectStorage class

(PHP 5 >= 5.3.0)

Введение

The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.

Обзор классов

SplObjectStorage implements Countable , Iterator , Traversable , Serializable , ArrayAccess {
/* Методы */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data = NULL ] )
public bool contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public string getHash ( string $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object [, mixed $data = NULL ] )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void removeAllExcept ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public bool valid ( void )
}

Примеры

Пример #1 SplObjectStorage as a set

<?php
// As an object set
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

Результат выполнения данного примера:

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Пример #2 SplObjectStorage as a map

<?php
// As a map from objects to data
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
    var_dump($s[$o2]);
}
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Содержание

  • SplObjectStorage::addAll — Adds all objects from another storage
  • SplObjectStorage::attach — Adds an object in the storage
  • SplObjectStorage::contains — Checks if the storage contains a specific object
  • SplObjectStorage::count — Returns the number of objects in the storage
  • SplObjectStorage::current — Returns the current storage entry
  • SplObjectStorage::detach — Removes an object from the storage
  • SplObjectStorage::getHash — Returns the hash of an object
  • SplObjectStorage::getInfo — Returns the data associated with the current iterator entry
  • SplObjectStorage::key — Returns the index at which the iterator currently is
  • SplObjectStorage::next — Move to the next entry
  • SplObjectStorage::offsetExists — Checks whether an object exists in the storage
  • SplObjectStorage::offsetGet — Returns the data associated with an object
  • SplObjectStorage::offsetSet — Associates data to an object in the storage
  • SplObjectStorage::offsetUnset — Removes an object from the storage
  • SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage
  • SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
  • SplObjectStorage::rewind — Rewind the iterator to the first storage element
  • SplObjectStorage::serialize — Serializes the storage
  • SplObjectStorage::setInfo — Sets the data associated with the current iterator entry
  • SplObjectStorage::unserialize — Unserializes a storage from its string representation
  • SplObjectStorage::valid — Returns if the current iterator entry is valid
SplFixedArray::valid
SplObjectStorage::addAll
Структуры данных


Adds all objects from another storage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage
PHP Manual

SplObjectStorage::addAll

(PHP 5 >= 5.3.0)

SplObjectStorage::addAll — Adds all objects from another storage

Описание

public void SplObjectStorage::addAll ( SplObjectStorage $storage )

Adds all objects-data pairs from a different storage in the current storage.

Список параметров

storage

The storage you want to import.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::addAll() example

<?php
$o = new StdClass;
$a = new SplObjectStorage();
$a[$o] = "hello";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

hello

Смотрите также

  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage


Adds an object in the storage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage
PHP Manual

SplObjectStorage::attach

(PHP 5 >= 5.1.0)

SplObjectStorage::attach — Adds an object in the storage

Описание

public void SplObjectStorage::attach ( object $object [, mixed $data = NULL ] )

Adds an object inside the storage, and optionaly associate it to some data.

Список параметров

object

The object to add.

data

The data to associate with the object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::attach() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar to $s[$o1] = NULL;
$s->attach($o2, "hello"); // similar to $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

Результатом выполнения данного примера будет что-то подобное:

NULL
string(5) "hello"

Список изменений

Версия | Описание
5.3.0 | Added the data parameter.

Смотрите также

  • SplObjectStorage::detach() - Removes an object from the storage
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage


Checks if the storage contains a specific object

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage
PHP Manual

SplObjectStorage::contains

(PHP 5 >= 5.1.0)

SplObjectStorage::contains — Checks if the storage contains a specific object

Описание

public bool SplObjectStorage::contains ( object $object )

Checks if the storage contains the object provided.

Список параметров

object

The object to look for.

Возвращаемые значения

Returns TRUE if the object is in the storage, FALSE otherwise.

Примеры

Пример #1 SplObjectStorage::contains() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;

$s = new SplObjectStorage();

$s[$o1] = "hello";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

Смотрите также

  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage


Returns the number of objects in the storage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage
PHP Manual

SplObjectStorage::count

(PHP 5 >= 5.1.0)

SplObjectStorage::count — Returns the number of objects in the storage

Описание

public int SplObjectStorage::count ( void )

Counts the number of objects in the storage.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of objects in the storage.

Примеры

Пример #1 SplObjectStorage::count() example

<?php
$s = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

Результатом выполнения данного примера будет что-то подобное:

int(2)
int(2)

Смотрите также

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::detach() - Removes an object from the storage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage


Returns the current storage entry

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage
PHP Manual

SplObjectStorage::current

(PHP 5 >= 5.1.0)

SplObjectStorage::current — Returns the current storage entry

Описание

public object SplObjectStorage::current ( void )

Returns the current storage entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The object at the current iterator position.

Примеры

Пример #1 SplObjectStorage::current() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Смотрите также

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage


Removes an object from the storage

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage
PHP Manual

SplObjectStorage::detach

(PHP 5 >= 5.1.0)

SplObjectStorage::detach — Removes an object from the storage

Описание

public void SplObjectStorage::detach ( object $object )

Removes the object from the storage.

Список параметров

object

The object to remove.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::detach() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

Результатом выполнения данного примера будет что-то подобное:

int(1)
int(0)

Смотрите также

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage


Returns the hash of an object

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage
PHP Manual

SplObjectStorage::getHash

(Информация о версии неизвестна, возможно, только в SVN)

SplObjectStorage::getHash — Returns the hash of an object

Описание

public string SplObjectStorage::getHash ( string $object )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

object

Возвращаемые значения

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage


Returns the data associated with the current iterator entry

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage
PHP Manual

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::getInfo — Returns the data associated with the current iterator entry

Описание

public mixed SplObjectStorage::getInfo ( void )

Returns the data, or info, associated with the object pointed by the current iterator position.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The data associated with the current iterator position.

Примеры

Пример #1 SplObjectStorage::getInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Смотрите также

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::setInfo() - Sets the data associated with the current iterator entry

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage


Returns the index at which the iterator currently is

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage
PHP Manual

SplObjectStorage::key

(PHP 5 >= 5.1.0)

SplObjectStorage::key — Returns the index at which the iterator currently is

Описание

public int SplObjectStorage::key ( void )

Returns the index at which the iterator currently is.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The index corresponding to the position of the iterator.

Примеры

Пример #1 SplObjectStorage::key() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Смотрите также

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage


Move to the next entry

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage
PHP Manual

SplObjectStorage::next

(PHP 5 >= 5.1.0)

SplObjectStorage::next — Move to the next entry

Описание

public void SplObjectStorage::next ( void )

Moves the iterator to the next object in the storage.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::next() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Смотрите также

  • SPLObjectStorage::rewind() - Rewind the iterator to the first storage element

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage


Checks whether an object exists in the storage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetExists — Checks whether an object exists in the storage

Описание

public bool SplObjectStorage::offsetExists ( object $object )

Checks whether an object exists in the storage.

Список параметров

object

The object to look for.

Возвращаемые значения

Returns TRUE if the object exists in the storage, and FALSE otherwise.

Примеры

Пример #1 SplObjectStorage::offsetExists() example

<?php
$s = new SplObjectStorage;
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar to isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar to isset($s[$o2])
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

Смотрите также

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage


Returns the data associated with an object

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetGet — Returns the data associated with an object

Описание

public mixed SplObjectStorage::offsetGet ( object $object )

Returns the data associated with an object in the storage.

Список параметров

object

The object to look for.

Возвращаемые значения

The data previously associated with the object in the storage.

Примеры

Пример #1 SplObjectStorage::offsetGet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hello";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similar to $s[$o1]
var_dump($s->offsetGet($o2)); // Similar to $s[$o2]
?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "hello"
NULL

Смотрите также

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage


Associates data to an object in the storage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage
PHP Manual

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetSet — Associates data to an object in the storage

Описание

public void SplObjectStorage::offsetSet ( object $object [, mixed $data = NULL ] )

Associate data to an object in the storage.

Замечание:

SplObjectStorage::offsetSet() is an alias of SplObjectStorage::attach().

Список параметров

object

The object to associate data with.

data

The data to associate with the object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::offsetSet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;

$s->offsetSet($o1, "hello"); // Similar to $s[$o1] = "hello";

var_dump($s[$o1]);
?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "hello"

Смотрите также

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage


Removes an object from the storage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage
PHP Manual

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetUnset — Removes an object from the storage

Описание

public void SplObjectStorage::offsetUnset ( object $object )

Removes an object from the storage.

Замечание:

SplObjectStorage::offsetUnset() is an alias of SplObjectStorage::detach().

Список параметров

object

The object to remove.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::offsetUnset() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // Similar to unset($s[$o])
var_dump(count($s));
?>

Результатом выполнения данного примера будет что-то подобное:

int(1)
int(0)

Смотрите также

  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage


Removes objects contained in another storage from the current storage

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage
PHP Manual

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0)

SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage

Описание

public void SplObjectStorage::removeAll ( SplObjectStorage $storage )

Removes objects contained in another storage from the current storage.

Список параметров

storage

The storage containing the elements to remove.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::removeAll() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

Результатом выполнения данного примера будет что-то подобное:

int(2)
int(1)

Смотрите также

  • SplObjectStorage::addAll() - Adds all objects from another storage

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage


Removes all objects except for those contained in another storage from the current storage

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage
PHP Manual

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6)

SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage

Описание

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

Removes all objects except for those contained in another storage from the current storage.

Список параметров

storage

The storage containing the elements to retain in the current storage.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::removeAllExcept() example

<?php
$a = (object) 'a';
$b = (object) 'b';
$c = (object) 'c';

$foo = new SplObjectStorage;
$foo->attach($a);
$foo->attach($b);

$bar = new SplObjectStorage;
$bar->attach($b);
$bar->attach($c);

$foo->removeAllExcept($bar);
var_dump($foo->contains($a));
var_dump($foo->contains($b));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage


Rewind the iterator to the first storage element

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage
PHP Manual

SplObjectStorage::rewind

(PHP 5 >= 5.1.0)

SplObjectStorage::rewind — Rewind the iterator to the first storage element

Описание

public void SplObjectStorage::rewind ( void )

Rewind the iterator to the first storage element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::rewind() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

int(1)
int(0)

Смотрите также

  • SplObjectStorage::next() - Move to the next entry

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage


Serializes the storage

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage
PHP Manual

SplObjectStorage::serialize

(PHP 5 >= 5.2.2)

SplObjectStorage::serialize — Serializes the storage

Описание

public string SplObjectStorage::serialize ( void )

Returns a string representation of the storage.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A string representing the storage.

Примеры

Пример #1 SplObjectStorage::serialize() example

<?php
$s = new SplObjectStorage;
$o = new StdClass;
$s[$o] = "data";

echo $s->serialize()."\n";
?>

Результатом выполнения данного примера будет что-то подобное:

x:i:1;O:8:"stdClass":0:{},s:4:"data";;m:a:0:{}

Смотрите также

  • SplObjectStorage::unserialize() - Unserializes a storage from its string representation

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage


Sets the data associated with the current iterator entry

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage
PHP Manual

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::setInfo — Sets the data associated with the current iterator entry

Описание

public void SplObjectStorage::setInfo ( mixed $data )

Associates data, or info, with the object currently pointed to by the iterator.

Список параметров

data

The data to associate with the current iterator entry.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::setInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $s->setInfo("new");
    $s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

Результатом выполнения данного примера будет что-то подобное:

string(3) "new"
string(3) "new"

Смотрите также

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage


Unserializes a storage from its string representation

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage
PHP Manual

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2)

SplObjectStorage::unserialize — Unserializes a storage from its string representation

Описание

public void SplObjectStorage::unserialize ( string $serialized )

Unserializes storage entries and attach them to the current storage.

Список параметров

serialized

The serialized representation of a storage.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplObjectStorage::unserialize() example

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new StdClass;
$s1[$o] = "data";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

Результатом выполнения данного примера будет что-то подобное:

int(1)

Смотрите также

  • SplObjectStorage::serialize() - Serializes the storage

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage


Returns if the current iterator entry is valid

SplObjectStorage::unserialize
Итераторы
SplObjectStorage
PHP Manual

SplObjectStorage::valid

(PHP 5 >= 5.1.0)

SplObjectStorage::valid — Returns if the current iterator entry is valid

Описание

public bool SplObjectStorage::valid ( void )

Returns if the current iterator entry is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the iterator entry is valid, FALSE otherwise.

Примеры

Пример #1 SplObjectStorage::valid() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    echo $s->key()."\n";
    $s->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

0
1

Смотрите также

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::unserialize
Итераторы
SplObjectStorage


Итераторы

Содержание

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • CallbackFilterIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveCallbackFilterIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator
  • SimpleXMLIterator

SPL обеспечивает набор итераторов для обхода объектов.

Недокументированные итераторы

  • RecursiveTreeIterator
SplObjectStorage::valid
AppendIterator
SPL


Класс AppendIterator

(PHP 5 >= 5.1.0)

Введение

Итератор, который выполняет несколько других итераторов один за другим

Обзор классов

AppendIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Методы */
public __construct ( void )
public void append ( Iterator $iterator )
public void current ( void )
public void getArrayIterator ( void )
public void getInnerIterator ( void )
public void getIteratorIndex ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
/* Наследуемые методы */
IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Содержание

  • AppendIterator::append — Appends an iterator
  • AppendIterator::__construct — Constructs an AppendIterator
  • AppendIterator::current — Gets the current value
  • AppendIterator::getArrayIterator — The getArrayIterator method
  • AppendIterator::getInnerIterator — Gets an inner iterator
  • AppendIterator::getIteratorIndex — Gets an index of iterators
  • AppendIterator::key — Gets the current key
  • AppendIterator::next — Moves to the next element
  • AppendIterator::rewind — Rewinds the Iterator
  • AppendIterator::valid — Checks validity of the current element
Итераторы
AppendIterator::append
Итераторы


Appends an iterator

AppendIterator
AppendIterator::__construct
AppendIterator
PHP Manual

AppendIterator::append

(PHP 5 >= 5.1.0)

AppendIterator::append — Appends an iterator

Описание

public void AppendIterator::append ( Iterator $iterator )

Appends an iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator to append.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • AppendIterator::__construct() - Constructs an AppendIterator

AppendIterator
AppendIterator::__construct
AppendIterator


Constructs an AppendIterator

AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

AppendIterator::__construct

(PHP 5 >= 5.1.0)

AppendIterator::__construct — Constructs an AppendIterator

Описание

public AppendIterator::__construct() ( void )

Constructs an AppendIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Iterating AppendIterator with foreach

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

foreach ($appendIterator as $key => $item) {
    echo "$key => $item", PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham

Пример #2 Iterating AppendIterator with the AppendIterator API

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

while ($appendIterator->valid()) {
    printf(
        '%s => %s => %s%s',
        $appendIterator->getIteratorIndex(),
        $appendIterator->key(),
        $appendIterator->current(),
        PHP_EOL
    );
    $appendIterator->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

0 => 0 => Margarita
0 => 1 => Siciliana
0 => 2 => Hawaii
1 => 0 => Cheese
1 => 1 => Anchovies
1 => 2 => Olives
1 => 3 => Pineapple
1 => 4 => Ham

Примечания

Предостережение

When using iterator_to_array() to copy the values of the AppendIterator into an array, you have to set the optional use_key argument to FALSE. When use_key is not FALSE any keys reoccuring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.

Смотрите также

  • AppendIterator::append() - Appends an iterator

AppendIterator::append
AppendIterator::current
AppendIterator


Gets the current value

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator
PHP Manual

AppendIterator::current

(PHP 5 >= 5.1.0)

AppendIterator::current — Gets the current value

Описание

public void AppendIterator::current ( void )

Gets the current value.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current value if it is valid or NULL otherwise.

Смотрите также

  • AppendIterator::next() - Moves to the next element

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator


The getArrayIterator method

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator
PHP Manual

AppendIterator::getArrayIterator

(PHP 5 >= 5.1.0)

AppendIterator::getArrayIterator — The getArrayIterator method

Описание

public void AppendIterator::getArrayIterator ( void )

The getArrayIterator method

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • AppendIterator::getInnerIterator() - Gets an inner iterator

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator


Gets an inner iterator

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator
PHP Manual

AppendIterator::getInnerIterator

(PHP 5 >= 5.1.0)

AppendIterator::getInnerIterator — Gets an inner iterator

Описание

public void AppendIterator::getInnerIterator ( void )

Get an inner iterator

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current inner Iterator.

Смотрите также

  • AppendIterator::getArrayIterator() - The getArrayIterator method

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator


Gets an index of iterators

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator
PHP Manual

AppendIterator::getIteratorIndex

(PHP 5 >= 5.1.0)

AppendIterator::getIteratorIndex — Gets an index of iterators

Описание

public void AppendIterator::getIteratorIndex ( void )

Get an index of iterators.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The index of iterators.

Смотрите также

  • AppendIterator::getInnerIterator() - Gets an inner iterator

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator


Gets the current key

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator
PHP Manual

AppendIterator::key

(PHP 5 >= 5.1.0)

AppendIterator::key — Gets the current key

Описание

public void AppendIterator::key ( void )

Get the current key

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current key if it is valid or NULL otherwise.

Смотрите также

  • AppendIterator::current() - Gets the current value

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator


Moves to the next element

AppendIterator::key
AppendIterator::rewind
AppendIterator
PHP Manual

AppendIterator::next

(PHP 5 >= 5.1.0)

AppendIterator::next — Moves to the next element

Описание

public void AppendIterator::next ( void )

Moves to the next element. If this means to another Iterator then it rewinds that Iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • AppendIterator::rewind() - Rewinds the Iterator

AppendIterator::key
AppendIterator::rewind
AppendIterator


Rewinds the Iterator

AppendIterator::next
AppendIterator::valid
AppendIterator
PHP Manual

AppendIterator::rewind

(PHP 5 >= 5.1.0)

AppendIterator::rewind — Rewinds the Iterator

Описание

public void AppendIterator::rewind ( void )

Rewind to the first element of the first inner Iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • AppendIterator::next() - Moves to the next element

AppendIterator::next
AppendIterator::valid
AppendIterator


Checks validity of the current element

AppendIterator::rewind
ArrayIterator
AppendIterator
PHP Manual

AppendIterator::valid

(PHP 5 >= 5.1.0)

AppendIterator::valid — Checks validity of the current element

Описание

public void AppendIterator::valid ( void )

Checks validity of the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • AppendIterator::append() - Appends an iterator

AppendIterator::rewind
ArrayIterator
AppendIterator


The ArrayIterator class

(PHP 5)

Введение

Этот итератор позволяет сбрасывать и модифицировать значения и ключи в процессе итерации по массивам и объектам.

Когда вы хотите перабрать некоторый массив несколько раз, вы должны создать экземпляр ArrayObject и позволить ему создать экземпляр ArrayIterator ссылающийся на него при использовании foreach или при вызове метода getIterator() вручную.

Обзор классов

ArrayIterator implements Iterator , Traversable , ArrayAccess , SeekableIterator , Countable , Serializable {
/* Методы */
public void append ( mixed $value )
public void asort ( void )
__construct ( mixed $array )
public int count ( void )
mixed current ( void )
public array getArrayCopy ( void )
public void getFlags ( void )
mixed key ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
void next ( void )
public void offsetExists ( string $index )
public mixed offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
void rewind ( void )
void seek ( int $position )
public string serialize ( void )
public void setFlags ( string $flags )
public void uasort ( string $cmp_function )
public void uksort ( string $cmp_function )
public string unserialize ( string $serialized )
bool valid ( void )
}

Содержание

  • ArrayIterator::append — Добавить элемент
  • ArrayIterator::asort — Сортирует массив по значениям
  • ArrayIterator::__construct — Construct an ArrayIterator
  • ArrayIterator::count — Посчитать количество элементов
  • ArrayIterator::current — Возвращает текущий элемент в массиве
  • ArrayIterator::getArrayCopy — Возвращает копию массива
  • ArrayIterator::getFlags — Get flags
  • ArrayIterator::key — Возвращает ключ текущего элемента массива
  • ArrayIterator::ksort — Сортирует массив по ключам
  • ArrayIterator::natcasesort — Сортирует массив "натурально", с учетом регистра
  • ArrayIterator::natsort — Сортирует массив "натурально"
  • ArrayIterator::next — Перемещает указатель за следующую запись
  • ArrayIterator::offsetExists — Check if offset exists
  • ArrayIterator::offsetGet — Get value for an offset
  • ArrayIterator::offsetSet — Set value for an offset
  • ArrayIterator::offsetUnset — Unset value for an offset
  • ArrayIterator::rewind — Перемещает указатель в начало массива
  • ArrayIterator::seek — Перещает указатель на выбранную позицию
  • ArrayIterator::serialize — Serialize
  • ArrayIterator::setFlags — Set behaviour flags
  • ArrayIterator::uasort — Сортировка, определенная пользователем
  • ArrayIterator::uksort — Сортировка, определенная пользователем
  • ArrayIterator::unserialize — Unserialize
  • ArrayIterator::valid — Check whether array contains more entries
AppendIterator::valid
ArrayIterator::append
Итераторы


Добавить элемент

ArrayIterator
ArrayIterator::asort
ArrayIterator
PHP Manual

ArrayIterator::append

(PHP 5 >= 5.0.0)

ArrayIterator::append — Добавить элемент

Описание

public void ArrayIterator::append ( mixed $value )

Добавляет значение value, как последний элемент массива.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

value

Значение, которое нужно добавить.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

Этот метод не может быть вызван, если ArrayIterator указывает на object.

Смотрите также

  • ArrayIterator::next() - Перемещает указатель за следующую запись

ArrayIterator
ArrayIterator::asort
ArrayIterator


Сортирует массив по значениям

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator
PHP Manual

ArrayIterator::asort

(PHP 5 >= 5.2.0)

ArrayIterator::asort — Сортирует массив по значениям

Описание

public void ArrayIterator::asort ( void )

Сортирует массив по значениям.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::ksort() - Сортирует массив по ключам
  • ArrayIterator::natcasesort() - Сортирует массив "натурально", с учетом регистра
  • ArrayIterator::natsort() - Сортирует массив "натурально"

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator


Construct an ArrayIterator

ArrayIterator::asort
ArrayIterator::count
ArrayIterator
PHP Manual

ArrayIterator::__construct

(PHP 5 >= 5.0.0)

ArrayIterator::__construct — Construct an ArrayIterator

Описание

ArrayIterator::__construct ( mixed $array )

Constructs an ArrayIterator object.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

array

The array or object to be iterated on.

Возвращаемые значения

An ArrayIterator object.

Ошибки

ArrayIterator::__construct() throws an InvalidArgumentException if anything besides an array or an object is given.

Смотрите также

  • ArrayIterator::getArrayCopy() - Возвращает копию массива

ArrayIterator::asort
ArrayIterator::count
ArrayIterator


Посчитать количество элементов

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator
PHP Manual

ArrayIterator::count

(PHP 5 >= 5.0.0)

ArrayIterator::count — Посчитать количество элементов

Описание

public int ArrayIterator::count ( void )

Возвращает количество элементов в массиве (array), или количество публичных свойств объекта (object).

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Количество элементов или публичных свойств в ассоциативном массиве (array) или объекте (object) соответственно.

Смотрите также

  • ArrayIterator::getFlags() - Get flags

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator


Возвращает текущий элемент в массиве

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator
PHP Manual

ArrayIterator::current

(PHP 5 >= 5.0.0)

ArrayIterator::current — Возвращает текущий элемент в массиве

Описание

mixed ArrayIterator::current ( void )

Возвращает текущий элемент array.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает текущий элемент array.

Примеры

Пример #1 Пример использования ArrayIterator::current()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

Результат выполнения данного примера:

1 => one
2 => two
3 => three

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator


Возвращает копию массива

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator
PHP Manual

ArrayIterator::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayIterator::getArrayCopy — Возвращает копию массива

Описание

public array ArrayIterator::getArrayCopy ( void )

Возвращает копию массива.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Копия array или массив публичных свойств, если ArrayIterator указывает на object.

Смотрите также

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator


Get flags

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator
PHP Manual

ArrayIterator::getFlags

(PHP 5 >= 5.1.0)

ArrayIterator::getFlags — Get flags

Описание

public void ArrayIterator::getFlags ( void )

Get the current flags.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current flags.

Смотрите также

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator


Возвращает ключ текущего элемента массива

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator
PHP Manual

ArrayIterator::key

(PHP 5 >= 5.0.0)

ArrayIterator::key — Возвращает ключ текущего элемента массива

Описание

mixed ArrayIterator::key ( void )

Эта функция возвращает ключ текущего элемента массива

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Ключ текущего элемента в массиве array.

Примеры

Пример #1 Пример использования ArrayIterator::key()

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator


Сортирует массив по ключам

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator
PHP Manual

ArrayIterator::ksort

(PHP 5 >= 5.2.0)

ArrayIterator::ksort — Сортирует массив по ключам

Описание

public void ArrayIterator::ksort ( void )

Сортирует массив по ключам.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::asort() - Сортирует массив по значениям
  • ArrayIterator::natcasesort() - Сортирует массив "натурально", с учетом регистра
  • ArrayIterator::natsort() - Сортирует массив "натурально"

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator


Сортирует массив "натурально", с учетом регистра

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator
PHP Manual

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0)

ArrayIterator::natcasesort — Сортирует массив "натурально", с учетом регистра

Описание

public void ArrayIterator::natcasesort ( void )

Сортирует записи в массиве по значениям, используя алгоритм натуральной сортировки с учетом регистра.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::asort() - Сортирует массив по значениям
  • ArrayIterator::ksort() - Сортирует массив по ключам
  • ArrayIterator::natsort() - Сортирует массив "натурально"
  • natcasesort() - Сортирует массив, используя алгоритм "natural order" без учета регистра символов

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator


Сортирует массив "натурально"

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator
PHP Manual

ArrayIterator::natsort

(PHP 5 >= 5.2.0)

ArrayIterator::natsort — Сортирует массив "натурально"

Описание

public void ArrayIterator::natsort ( void )

Сортирует записи в массиве по значениям, используя алгоритм натуральной сортировки.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::asort() - Сортирует массив по значениям
  • ArrayIterator::ksort() - Сортирует массив по ключам
  • ArrayIterator::natcasesort() - Сортирует массив "натурально", с учетом регистра
  • natsort() - Сортирует массив, используя алгоритм "natural order"

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator


Перемещает указатель за следующую запись

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator
PHP Manual

ArrayIterator::next

(PHP 5 >= 5.0.0)

ArrayIterator::next — Перемещает указатель за следующую запись

Описание

void ArrayIterator::next ( void )

Перемещает указатель на следующую запись в массиве.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ArrayIterator::next() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

Результат выполнения данного примера:

0 => zero
1 => one

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator


Check if offset exists

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator
PHP Manual

ArrayIterator::offsetExists

(PHP 5 >= 5.0.0)

ArrayIterator::offsetExists — Check if offset exists

Описание

public void ArrayIterator::offsetExists ( string $index )

Checks if the offset exists.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The offset being checked.

Возвращаемые значения

TRUE if the offset exists, otherwise FALSE

Смотрите также

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator


Get value for an offset

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator
PHP Manual

ArrayIterator::offsetGet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetGet — Get value for an offset

Описание

public mixed ArrayIterator::offsetGet ( string $index )

Gets the value from the provided offset.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The offset to get the value from.

Возвращаемые значения

The value at offset index.

Смотрите также

  • ArrayIterator::offsetSet() - Set value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator


Set value for an offset

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator
PHP Manual

ArrayIterator::offsetSet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetSet — Set value for an offset

Описание

public void ArrayIterator::offsetSet ( string $index , string $newval )

Sets a value for a given offset.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index to set for.

newval

The new value to store at the index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::offSetGet() - Get value for an offset
  • ArrayIterator::offSetUnset() - Unset value for an offset

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator


Unset value for an offset

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator
PHP Manual

ArrayIterator::offsetUnset

(PHP 5 >= 5.0.0)

ArrayIterator::offsetUnset — Unset value for an offset

Описание

public void ArrayIterator::offsetUnset ( string $index )

Unsets a value for an offset.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The offset to unset.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::offSetGet() - Get value for an offset
  • ArrayIterator::offSetSet() - Set value for an offset

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator


Перемещает указатель в начало массива

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator
PHP Manual

ArrayIterator::rewind

(PHP 5 >= 5.0.0)

ArrayIterator::rewind — Перемещает указатель в начало массива

Описание

void ArrayIterator::rewind ( void )

Перемещает указатель на первый элемент в массиве

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayIterator::rewind()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'ноль';
$arrayobject[] = 'один';
$arrayobject[] = 'два';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); // перещает указатель в начало массива
echo $iterator->key(); //0
?>

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator


Перещает указатель на выбранную позицию

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator
PHP Manual

ArrayIterator::seek

(PHP 5 >= 5.0.0)

ArrayIterator::seek — Перещает указатель на выбранную позицию

Описание

void ArrayIterator::seek ( int $position )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

position

Позиция, на которую нужно переместить указатель.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator


Serialize

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator
PHP Manual

ArrayIterator::serialize

(PHP 5 >= 5.3.0)

ArrayIterator::serialize — Serialize

Описание

public string ArrayIterator::serialize ( void )

Serialize.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The serialized ArrayIterator.

Смотрите также

  • ArrayIterator::unserialize() - Unserialize

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator


Set behaviour flags

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator
PHP Manual

ArrayIterator::setFlags

(PHP 5 >= 5.1.0)

ArrayIterator::setFlags — Set behaviour flags

Описание

public void ArrayIterator::setFlags ( string $flags )

Sets behaviour flags.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flags

A bitmask as follows:

  • 0 = Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).
  • 1 = Array indices can be accessed as properties in read/write.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::getFlags() - Get flags

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator


Сортировка, определенная пользователем

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator
PHP Manual

ArrayIterator::uasort

(PHP 5 >= 5.2.0)

ArrayIterator::uasort — Сортировка, определенная пользователем

Описание

public void ArrayIterator::uasort ( string $cmp_function )

Сортирует записи в массиве по значениям, используя функцию сортировки, определенную пользователем.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

cmp_function

Функция сравнения элементов, используемая для сортировки.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::uksort() - Сортировка, определенная пользователем
  • usort() - Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator


Сортировка, определенная пользователем

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator
PHP Manual

ArrayIterator::uksort

(PHP 5 >= 5.2.0)

ArrayIterator::uksort — Сортировка, определенная пользователем

Описание

public void ArrayIterator::uksort ( string $cmp_function )

Сортирует записи в массиве по ключам, используя функцию сортировки, определенную пользователем.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

cmp_function

Функция сравнения элементов, используемая для сортировки.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ArrayIterator::uasort() - Сортировка, определенная пользователем
  • uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения ключей

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator


Unserialize

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator
PHP Manual

ArrayIterator::unserialize

(PHP 5 >= 5.3.0)

ArrayIterator::unserialize — Unserialize

Описание

public string ArrayIterator::unserialize ( string $serialized )

Unserialize.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

serialized

The serialized ArrayIterator object to be unserialized.

Возвращаемые значения

The ArrayIterator.

Смотрите также

  • ArrayIterator::serialize() - Serialize

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator


Check whether array contains more entries

ArrayIterator::unserialize
CachingIterator
ArrayIterator
PHP Manual

ArrayIterator::valid

(PHP 5 >= 5.0.0)

ArrayIterator::valid — Check whether array contains more entries

Описание

bool ArrayIterator::valid ( void )

Checks if the array contains any more entries.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ArrayIterator::valid() example

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // advance to the next item

//bool(false) because there is only one array element
var_dump($iterator->valid());
?>

ArrayIterator::unserialize
CachingIterator
ArrayIterator


The CachingIterator class

(PHP 5)

Введение

This object supports cached iteration over another iterator.

Обзор классов

CachingIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator , ArrayAccess , Countable {
/* Константы */
const integer CALL_TOSTRING = 1 ;
const integer CATCH_GET_CHILD = 16 ;
const integer TOSTRING_USE_KEY = 2 ;
const integer TOSTRING_USE_CURRENT = 4 ;
const integer TOSTRING_USE_INNER = 8 ;
const integer FULL_CACHE = 256 ;
/* Методы */
__construct ( Iterator $iterator [, string $flags ] )
public int count ( void )
public void current ( void )
public void getCache ( void )
public void getFlags ( void )
public void getInnerIterator ( void )
public void hasNext ( void )
public void key ( void )
public void next ( void )
public void offsetExists ( string $index )
public void offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void setFlags ( bitmask $flags )
public void __toString ( void )
public void valid ( void )
}

Предопределенные константы

CachingIterator Node Types

CachingIterator::CALL_TOSTRING

Description here...

CachingIterator::CATCH_GET_CHILD

Description here...

CachingIterator::TOSTRING_USE_KEY

Description here...

CachingIterator::TOSTRING_USE_CURRENT

Description here...

CachingIterator::TOSTRING_USE_INNER

Description here...

CachingIterator::FULL_CACHE

Cache all read data.

Содержание

  • CachingIterator::__construct — Construct a new CachingIterator object for the iterator.
  • CachingIterator::count — The number of elements in the iterator
  • CachingIterator::current — Return the current element
  • CachingIterator::getCache — The getCache purpose
  • CachingIterator::getFlags — Get flags used
  • CachingIterator::getInnerIterator — Returns the inner iterator
  • CachingIterator::hasNext — Check whether the inner iterator has a valid next element
  • CachingIterator::key — Return the key for the current element
  • CachingIterator::next — Move the iterator forward
  • CachingIterator::offsetExists — The offsetExists purpose
  • CachingIterator::offsetGet — The offsetGet purpose
  • CachingIterator::offsetSet — The offsetSet purpose
  • CachingIterator::offsetUnset — The offsetUnset purpose
  • CachingIterator::rewind — Rewind the iterator
  • CachingIterator::setFlags — The setFlags purpose
  • CachingIterator::__toString — Return the string representation of the current element
  • CachingIterator::valid — Check whether the current element is valid
ArrayIterator::valid
CachingIterator::__construct
Итераторы


Construct a new CachingIterator object for the iterator.

CachingIterator
CachingIterator::count
CachingIterator
PHP Manual

CachingIterator::__construct

(PHP 5)

CachingIterator::__construct — Construct a new CachingIterator object for the iterator.

Описание

CachingIterator::__construct ( Iterator $iterator [, string $flags ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

Iterator to cache

flags

Bitmask of flags.

CachingIterator
CachingIterator::count
CachingIterator


The number of elements in the iterator

CachingIterator::__construct
CachingIterator::current
CachingIterator
PHP Manual

CachingIterator::count

(PHP 5 >= 5.2.2)

CachingIterator::count — The number of elements in the iterator

Описание

public int CachingIterator::count ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

May return the number of elements in the iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The count of the elements iterated over.

CachingIterator::__construct
CachingIterator::current
CachingIterator


Return the current element

CachingIterator::count
CachingIterator::getCache
CachingIterator
PHP Manual

CachingIterator::current

(PHP 5)

CachingIterator::current — Return the current element

Описание

public void CachingIterator::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

May return the current element in the iteration.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Mixed

Смотрите также

  • Iterator::current() - Возвращает текущий элемент

CachingIterator::count
CachingIterator::getCache
CachingIterator


The getCache purpose

CachingIterator::current
CachingIterator::getFlags
CachingIterator
PHP Manual

CachingIterator::getCache

(PHP 5 >= 5.2.0)

CachingIterator::getCache — The getCache purpose

Описание

public void CachingIterator::getCache ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

CachingIterator::current
CachingIterator::getFlags
CachingIterator


Get flags used

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator
PHP Manual

CachingIterator::getFlags

(PHP 5 >= 5.2.0)

CachingIterator::getFlags — Get flags used

Описание

public void CachingIterator::getFlags ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get the bitmask of the flags used for this CachingIterator instance.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Description...

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator


Returns the inner iterator

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator
PHP Manual

CachingIterator::getInnerIterator

(PHP 5)

CachingIterator::getInnerIterator — Returns the inner iterator

Описание

public void CachingIterator::getInnerIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the iterator sent to the constructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an object implementing the Iterator interface.

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator


Check whether the inner iterator has a valid next element

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator
PHP Manual

CachingIterator::hasNext

(PHP 5)

CachingIterator::hasNext — Check whether the inner iterator has a valid next element

Описание

public void CachingIterator::hasNext ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator


Return the key for the current element

CachingIterator::hasNext
CachingIterator::next
CachingIterator
PHP Manual

CachingIterator::key

(PHP 5)

CachingIterator::key — Return the key for the current element

Описание

public void CachingIterator::key ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

This method may return a key for the current element.

Список параметров

У этой функции нет параметров.

CachingIterator::hasNext
CachingIterator::next
CachingIterator


Move the iterator forward

CachingIterator::key
CachingIterator::offsetExists
CachingIterator
PHP Manual

CachingIterator::next

(PHP 5)

CachingIterator::next — Move the iterator forward

Описание

public void CachingIterator::next ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Move the iterator forward.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

CachingIterator::key
CachingIterator::offsetExists
CachingIterator


The offsetExists purpose

CachingIterator::next
CachingIterator::offsetGet
CachingIterator
PHP Manual

CachingIterator::offsetExists

(PHP 5 >= 5.2.0)

CachingIterator::offsetExists — The offsetExists purpose

Описание

public void CachingIterator::offsetExists ( string $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index being checked.

Возвращаемые значения

Returns TRUE if an entry referenced by the offset exists, FALSE otherwise.

CachingIterator::next
CachingIterator::offsetGet
CachingIterator


The offsetGet purpose

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator
PHP Manual

CachingIterator::offsetGet

(PHP 5 >= 5.2.0)

CachingIterator::offsetGet — The offsetGet purpose

Описание

public void CachingIterator::offsetGet ( string $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

Description...

Возвращаемые значения

Description...

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator


The offsetSet purpose

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator
PHP Manual

CachingIterator::offsetSet

(PHP 5 >= 5.2.0)

CachingIterator::offsetSet — The offsetSet purpose

Описание

public void CachingIterator::offsetSet ( string $index , string $newval )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index of the element to be set.

newval

The new value for the index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator


The offsetUnset purpose

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator
PHP Manual

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0)

CachingIterator::offsetUnset — The offsetUnset purpose

Описание

public void CachingIterator::offsetUnset ( string $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index of the element to be unset.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator


Rewind the iterator

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator
PHP Manual

CachingIterator::rewind

(PHP 5)

CachingIterator::rewind — Rewind the iterator

Описание

public void CachingIterator::rewind ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Rewind the iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator


The setFlags purpose

CachingIterator::rewind
CachingIterator::__toString
CachingIterator
PHP Manual

CachingIterator::setFlags

(PHP 5 >= 5.2.0)

CachingIterator::setFlags — The setFlags purpose

Описание

public void CachingIterator::setFlags ( bitmask $flags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Set the flags for the CachingIterator object.

Список параметров

flags

Bitmask of the flags to set.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

CachingIterator::rewind
CachingIterator::__toString
CachingIterator


Return the string representation of the current element

CachingIterator::setFlags
CachingIterator::valid
CachingIterator
PHP Manual

CachingIterator::__toString

(PHP 5)

CachingIterator::__toString — Return the string representation of the current element

Описание

public void CachingIterator::__toString ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get the string representation of the current element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The string representation of the current element.

CachingIterator::setFlags
CachingIterator::valid
CachingIterator


Check whether the current element is valid

CachingIterator::__toString
CallbackFilterIterator
CachingIterator
PHP Manual

CachingIterator::valid

(PHP 5)

CachingIterator::valid — Check whether the current element is valid

Описание

public void CachingIterator::valid ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Check whether the current element is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

CachingIterator::__toString
CallbackFilterIterator
CachingIterator


The CallbackFilterIterator class

(PHP 5 >= 5.4.0)

Введение

Обзор классов

CallbackFilterIterator extends FilterIterator implements Iterator , Traversable , OuterIterator {
/* Методы */
public __construct ( Iterator $iterator , callback $callback )
public string accept ( void )
/* Наследуемые методы */
abstract bool FilterIterator::accept ( void )
FilterIterator::__construct ( Iterator $iterator )
mixed FilterIterator::current ( void )
Iterator FilterIterator::getInnerIterator ( void )
mixed FilterIterator::key ( void )
void FilterIterator::next ( void )
void FilterIterator::rewind ( void )
bool FilterIterator::valid ( void )
}

Примеры

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Пример #1 Available callback arguments

<?php

/**
 * Callback for CallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Any callback may be used; such as a string containing a function name, an array for a method, or an anonymous function.

Пример #2 Callback basic examples

<?php

$dir = new FilesystemIterator(__DIR__);

// Filter large files ( > 100MB)
function is_large_file($current) {
    return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filter directories
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
    return $current->isDir() && ! $iterator->isDot();
});

?>

Содержание

  • CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments
  • CallbackFilterIterator::__construct — Create a filtered iterator from another iterator
CachingIterator::valid
CallbackFilterIterator::accept
Итераторы


Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::accept

(PHP 5 >= 5.4.0)

CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments

Описание

public string CallbackFilterIterator::accept ( void )

This method calls the callback with the current value, current key and the inner iterator.

The callback is expected to return TRUE if the current item is to be accepted, or FALSE otherwise.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE to accept the current item, or FALSE otherwise.

Смотрите также

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::__construct() - Create a filtered iterator from another iterator

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator


Create a filtered iterator from another iterator

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::__construct

(PHP 5 >= 5.4.0)

CallbackFilterIterator::__construct — Create a filtered iterator from another iterator

Описание

public CallbackFilterIterator::__construct() ( Iterator $iterator , callback $callback )

Creates a filtered iterator using the callback to determine which items are accepted or rejected.

Список параметров

iterator

The iterator to be filtered.

callback

The callback, which should return TRUE to accept the current item or FALSE otherwise. See Examples.

May be any valid callback value.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::accept() - Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator


The DirectoryIterator class

(PHP 5)

Введение

The DirectoryIterator class provides a simple interface for viewing the contents of filesystem directories.

Обзор классов

DirectoryIterator extends SplFileInfo implements Iterator , Traversable , SeekableIterator {
/* Методы */
__construct ( string $path )
public DirectoryIterator current ( void )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public string getPathname ( void )
public int getPerms ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isDot ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $position )
public string __toString ( void )
public bool valid ( void )
}

Содержание

  • DirectoryIterator::__construct — Создаёт новый итератор директорий по пути
  • DirectoryIterator::current — Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::getATime — Возвращает время последнего доступа к текущему элементу DirectoryIterator
  • DirectoryIterator::getBasename — Возвращает имя файла (без расширения) текущего элемента DirectoryIterator
  • DirectoryIterator::getCTime — Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator
  • DirectoryIterator::getExtension — Возвращает расширение файла
  • DirectoryIterator::getFilename — Возвращает имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getGroup — Возвращает идентификатор группы текущего элемента DirectoryIterator
  • DirectoryIterator::getInode — Возвращает inode текущего элемента DirectoryIterator
  • DirectoryIterator::getMTime — Возвращает время последнего изменения текущего элемента DirectoryIterator
  • DirectoryIterator::getOwner — Возвращает индентификатор владельца текущего элемента DirectoryIterator
  • DirectoryIterator::getPath — Возвращает путь к текущему элементу DirectoryIterator без имени файла
  • DirectoryIterator::getPathname — Возвращает путь и имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getPerms — Возвращает набор прав для текущего элемента DirectoryIterator item
  • DirectoryIterator::getSize — Возвращает размер текущего элемента DirectoryIterator
  • DirectoryIterator::getType — Определяет тип текущего элемента DirectoryIterator
  • DirectoryIterator::isDir — Определяет, является ли текущий элемент DirectoryIterator директорией
  • DirectoryIterator::isDot — Определяет, является ли текущий элемент DirectoryIterator '.' или '..'
  • DirectoryIterator::isExecutable — Определяет, является ли текущий элемент DirectoryIterator исполняемым
  • DirectoryIterator::isFile — Определяет, является ли текущий элемент DirectoryIterator обычным файлом
  • DirectoryIterator::isLink — Определяет, является ли текущий элемент DirectoryIterator символической ссылкой
  • DirectoryIterator::isReadable — Определяет, доступен ли текущий элемент DirectoryIterator для чтения
  • DirectoryIterator::isWritable — Определяет, доступен ли текущий элемент DirectoryIterator для записи
  • DirectoryIterator::key — Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::next — Перемещает указатель на следующий элемент DirectoryIterator
  • DirectoryIterator::rewind — Устанавливает указатель на первый элемент DirectoryIterator
  • DirectoryIterator::seek — Перемещает указатель DirectoryIterator на определённую позицию
  • DirectoryIterator::__toString — Возвращает имя файла в виде строки
  • DirectoryIterator::valid — Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом
CallbackFilterIterator::__construct
DirectoryIterator::__construct
Итераторы


Создаёт новый итератор директорий по пути

DirectoryIterator
DirectoryIterator::current
DirectoryIterator
PHP Manual

DirectoryIterator::__construct

(PHP 5)

DirectoryIterator::__construct — Создаёт новый итератор директорий по пути

Описание

DirectoryIterator::__construct() ( string $path )

Создаёт новый итератор директорий по пути.

Список параметров

path

Путь к директории для прохода.

Ошибки

Будет вызвано исключение UnexpectedValueException в случае, если path не может быть открыт.

Примеры

Пример #1 Пример использования DirectoryIterator::__construct()

Этот пример выведет список содержимого директории, содержащей выполняемый скрипт.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>

Смотрите также

  • SplFileInfo
  • Iterator

DirectoryIterator
DirectoryIterator::current
DirectoryIterator


Возвращает текущий элемент DirectoryIterator

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator
PHP Manual

DirectoryIterator::current

(PHP 5)

DirectoryIterator::current — Возвращает текущий элемент DirectoryIterator

Описание

public DirectoryIterator DirectoryIterator::current ( void )

Возвращает текущий элемент DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Текущий элемент DirectoryIterator.

Примеры

Пример #1 Пример использования DirectoryIterator::current()

Этот пример выведет список содержимого директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    $file = $iterator->current();
    echo $iterator->key() . " => " . $file->getFilename() . "\n";
    $iterator->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

0 => .
1 => ..
2 => apple.jpg
3 => banana.jpg
4 => index.php
5 => pear.jpg

Смотрите также

  • DirectoryIterator::key() - Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator
  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator
  • DirectoryIterator::valid() - Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом
  • Iterator::current() - Возвращает текущий элемент

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator


Возвращает время последнего доступа к текущему элементу DirectoryIterator

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator
PHP Manual

DirectoryIterator::getATime

(PHP 5)

DirectoryIterator::getATime — Возвращает время последнего доступа к текущему элементу DirectoryIterator

Описание

public int DirectoryIterator::getATime ( void )

Возвращает время последнего доступа к текущему элементу DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу. Время возвращается в формате отметки времени Unix.

Примеры

Пример #1 Пример использования DirectoryIterator::getATime()

Этот пример выведет список файлов директории, содержащей выполняемый скрипт, и время последнего доступа к ним.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getATime() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Смотрите также

  • DirectoryIterator::getCTime() - Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator
  • DirectoryIterator::getMTime() - Возвращает время последнего изменения текущего элемента DirectoryIterator
  • fileatime() - Возвращает время последнего доступа к файлу

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator


Возвращает имя файла (без расширения) текущего элемента DirectoryIterator

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator
PHP Manual

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2)

DirectoryIterator::getBasename — Возвращает имя файла (без расширения) текущего элемента DirectoryIterator

Описание

public string DirectoryIterator::getBasename ([ string $suffix ] )

Возвращает имя файла (без расширения) текущего элемента DirectoryIterator.

Список параметров

suffix

Если имя файла оканчивается на suffix, то он будет отброшен.

Возвращаемые значения

Имя файла текущего элемента DirectoryIterator.

Примеры

Пример #1 Пример использования DirectoryIterator::getBasename()

Этот пример выведет список имён файлов директории, содержащей выполняемый скрипт. Если имя файла заканчивается на .jpg, данный суффикс будет отброшен.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getBasename() . "\n";
        echo $fileinfo->getBasename('.jpg') . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
apple
banana.jpg
banana
index.php
index.php
pear.jpg
pear

Смотрите также

  • DirectoryIterator::getFilename() - Возвращает имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getPath() - Возвращает путь к текущему элементу DirectoryIterator без имени файла
  • DirectoryIterator::getPathname() - Возвращает путь и имя файла текущего элемента DirectoryIterator
  • basename() - Возвращает последний компонент имени из указанного пути
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator


Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator
PHP Manual

DirectoryIterator::getCTime

(PHP 5)

DirectoryIterator::getCTime — Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getCTime ( void )

Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает время последнего изменения файла, в формате отметки времени Unix.

Примеры

Пример #1 Пример использования DirectoryIterator::getCTime()

Этот пример выведет список файлов директории, содержащей выполняемый скрипт и время их последнего изменения.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " changed at " . $fileinfo->getCTime() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg changed at 1240398312
banana.jpg changed at 1238605440
index.php changed at 1240398935
pear.jpg changed at 1237423740

Смотрите также

  • DirectoryIterator::getATime() - Возвращает время последнего доступа к текущему элементу DirectoryIterator
  • DirectoryIterator::getMTime() - Возвращает время последнего изменения текущего элемента DirectoryIterator
  • filectime() - Возвращает время изменения индексного дескриптора файла

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator


Возвращает расширение файла

DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator
PHP Manual

DirectoryIterator::getExtension

(Информация о версии неизвестна, возможно, только в SVN)

DirectoryIterator::getExtension — Возвращает расширение файла

Описание

public string DirectoryIterator::getExtension ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator


Возвращает имя файла текущего элемента DirectoryIterator

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator
PHP Manual

DirectoryIterator::getFilename

(PHP 5)

DirectoryIterator::getFilename — Возвращает имя файла текущего элемента DirectoryIterator

Описание

public string DirectoryIterator::getFilename ( void )

Возвращает имя файла текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает имя файл текущего элемента DirectoryIterator.

Примеры

Пример #1 Пример использования DirectoryIterator::getFilename()

Этот пример выведет список содержимого директории, содержащей выполняемый скрипт.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Смотрите также

  • DirectoryIterator::getBasename() - Возвращает имя файла (без расширения) текущего элемента DirectoryIterator
  • DirectoryIterator::getPath() - Возвращает путь к текущему элементу DirectoryIterator без имени файла
  • DirectoryIterator::getPathname() - Возвращает путь и имя файла текущего элемента DirectoryIterator
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator


Возвращает идентификатор группы текущего элемента DirectoryIterator

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator
PHP Manual

DirectoryIterator::getGroup

(PHP 5)

DirectoryIterator::getGroup — Возвращает идентификатор группы текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getGroup ( void )

Воззвращает идентификатор группы текущего файла.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает идентификатор группы текущего элемента DirectoryIterator в числовом формате.

Примеры

Пример #1 Пример использования DirectoryIterator::getGroup()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$groupid  = $iterator->getGroup();
echo 'Directory belongs to group id ' . $groupid . "\n";
print_r(posix_getgrgid($groupid));
?>

Результатом выполнения данного примера будет что-то подобное:

Directory belongs to group id 42
Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Смотрите также

  • DirectoryIterator::getiNode() - Возвращает inode текущего элемента DirectoryIterator
  • DirectoryIterator::getOwner() - Возвращает индентификатор владельца текущего элемента DirectoryIterator
  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item
  • filegroup() - Получает идентификатор группы файла
  • posix_getgrgid() - Return info about a group by group id

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator


Возвращает inode текущего элемента DirectoryIterator

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator
PHP Manual

DirectoryIterator::getInode

(PHP 5)

DirectoryIterator::getInode — Возвращает inode текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getInode ( void )

Возвращает inode текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает inode файла.

Примеры

Пример #1 Пример использования DirectoryIterator::getInode()

Этот пример выведет inode директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getInode();
?>

Смотрите также

  • DirectoryIterator::getGroup() - Возвращает идентификатор группы текущего элемента DirectoryIterator
  • DirectoryIterator::getOwner() - Возвращает индентификатор владельца текущего элемента DirectoryIterator
  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item
  • fileinode() - Возвращает индексный дескриптор файла

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator


Возвращает время последнего изменения текущего элемента DirectoryIterator

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator
PHP Manual

DirectoryIterator::getMTime

(PHP 5)

DirectoryIterator::getMTime — Возвращает время последнего изменения текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getMTime ( void )

Возвращает время последнего изменения текущего элемента DirectoryIterator, в формате отметки времени Unix.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Время последнего изменения файла, в формате отметки времени Unix.

Примеры

Пример #1 Пример использования DirectoryIterator::getMTime()

Этот пример выведет список файлов директории, содержащей выполняемый скрипт и время их последней модификации.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getMTime() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Смотрите также

  • DirectoryIterator::getATime() - Возвращает время последнего доступа к текущему элементу DirectoryIterator
  • DirectoryIterator::getCTime() - Возвращает время последнего изменения i-узла текущего элемента DirectoryIterator
  • filemtime() - Возвращает время последнего изменения файла

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator


Возвращает индентификатор владельца текущего элемента DirectoryIterator

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator
PHP Manual

DirectoryIterator::getOwner

(PHP 5)

DirectoryIterator::getOwner — Возвращает индентификатор владельца текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getOwner ( void )

Возвращает идентификатор владельца текущего элемента DirectoryIterator в числовом формате.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Владелец файла, в числовом формате.

Примеры

Пример #1 Пример использования DirectoryIterator::getOwner()

Этот пример показывает владельца директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
print_r(posix_getpwuid($iterator->getOwner()));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [name] => tom
    [passwd] => x
    [uid] => 501
    [gid] => 42
    [gecos] => Tom Cat
    [dir] => /home/tom
    [shell] => /bin/bash
)

Смотрите также

  • DirectoryIterator::getGroup() - Возвращает идентификатор группы текущего элемента DirectoryIterator
  • DirectoryIterator::getiNode() - Возвращает inode текущего элемента DirectoryIterator
  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item
  • posix_getpwuid() - Return info about a user by user id

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator


Возвращает путь к текущему элементу DirectoryIterator без имени файла

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator
PHP Manual

DirectoryIterator::getPath

(PHP 5)

DirectoryIterator::getPath — Возвращает путь к текущему элементу DirectoryIterator без имени файла

Описание

public string DirectoryIterator::getPath ( void )

Возвращает путь к текущему элементу DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает путь до файла (без имени файла и завершающего слэша).

Примеры

Пример #1 Пример использования DirectoryIterator::getPath()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();
?>

Результатом выполнения данного примера будет что-то подобное:

/home/examples/public_html

Смотрите также

  • DirectoryIterator::getBasename() - Возвращает имя файла (без расширения) текущего элемента DirectoryIterator
  • DirectoryIterator::getFilename() - Возвращает имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getPathname() - Возвращает путь и имя файла текущего элемента DirectoryIterator
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator


Возвращает путь и имя файла текущего элемента DirectoryIterator

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator
PHP Manual

DirectoryIterator::getPathname

(PHP 5)

DirectoryIterator::getPathname — Возвращает путь и имя файла текущего элемента DirectoryIterator

Описание

public string DirectoryIterator::getPathname ( void )

Возвращает путь и имя файла текущего файла.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает путь и имя файла текущего файла. Директория не будет содержать завершающего слеша.

Примеры

Пример #1 Пример использования DirectoryIterator::getPathname()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getPathname() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

/home/examples/.
/home/examples/..
/home/examples/apple.jpg
/home/examples/banana.jpg
/home/examples/getpathname.php
/home/examples/pear.jpg

Смотрите также

  • DirectoryIterator::getBasename() - Возвращает имя файла (без расширения) текущего элемента DirectoryIterator
  • DirectoryIterator::getFilename() - Возвращает имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getPath() - Возвращает путь к текущему элементу DirectoryIterator без имени файла
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator


Возвращает набор прав для текущего элемента DirectoryIterator item

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator
PHP Manual

DirectoryIterator::getPerms

(PHP 5)

DirectoryIterator::getPerms — Возвращает набор прав для текущего элемента DirectoryIterator item

Описание

public int DirectoryIterator::getPerms ( void )

Возвращает набор прав для текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает набор прав для текущего файла, в виде десятичного числа integer.

Примеры

Пример #1 Пример использования DirectoryIterator::getPerms()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $octal_perms = substr(sprintf('%o', $fileinfo->getPerms()), -4);
        echo $fileinfo->getFilename() . " " . $octal_perms . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg 0644
banana.jpg 0644
index.php 0744
pear.jpg 0644

Смотрите также

  • DirectoryIterator::isExecutable() - Определяет, является ли текущий элемент DirectoryIterator исполняемым
  • DirectoryIterator::isReadable() - Определяет, доступен ли текущий элемент DirectoryIterator для чтения
  • DirectoryIterator::isWritable() - Определяет, доступен ли текущий элемент DirectoryIterator для записи

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator


Возвращает размер текущего элемента DirectoryIterator

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator
PHP Manual

DirectoryIterator::getSize

(PHP 5)

DirectoryIterator::getSize — Возвращает размер текущего элемента DirectoryIterator

Описание

public int DirectoryIterator::getSize ( void )

Возвращает объем занимаемого дискового пространства для текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает размер файла, в байтах.

Примеры

Пример #1 Пример использования DirectoryIterator::getSize()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getSize() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg 15385
banana.jpg 15190
example.php 170
pear.jpg 34406

Смотрите также

  • filesize() - Возвращает размер файла

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator


Определяет тип текущего элемента DirectoryIterator

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator
PHP Manual

DirectoryIterator::getType

(PHP 5)

DirectoryIterator::getType — Определяет тип текущего элемента DirectoryIterator

Описание

public string DirectoryIterator::getType ( void )

Определяет к какому типу принадлежит текущей элемент DirectoryIterator. Возможные варианты: file (файл), link (ссылка), или dir (директория).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает строку (string), содержащую тип файла. Возможные варианты: file (файл), link (ссылка), или dir (директория).

Примеры

Пример #1 Пример использования DirectoryIterator::getType()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getFilename() . " " . $fileinfo->getType() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

. dir
.. dir
apple.jpg file
banana.jpg file
example.php file
pear.jpg file

Смотрите также

  • DirectoryIterator::isDir() - Определяет, является ли текущий элемент DirectoryIterator директорией
  • DirectoryIterator::isDot() - Определяет, является ли текущий элемент DirectoryIterator '.' или '..'
  • DirectoryIterator::isFile() - Определяет, является ли текущий элемент DirectoryIterator обычным файлом
  • DirectoryIterator::isLink() - Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator


Определяет, является ли текущий элемент DirectoryIterator директорией

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator
PHP Manual

DirectoryIterator::isDir

(PHP 5)

DirectoryIterator::isDir — Определяет, является ли текущий элемент DirectoryIterator директорией

Описание

public bool DirectoryIterator::isDir ( void )

Определяет, является ли текущий элемент DirectoryIterator директорией.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если элемент является директорией, иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isDir()

Этот пример выведет список вложенных директорий в директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isDir()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apples
bananas
pears

Смотрите также

  • DirectoryIterator::getType() - Определяет тип текущего элемента DirectoryIterator
  • DirectoryIterator::isDot() - Определяет, является ли текущий элемент DirectoryIterator '.' или '..'
  • DirectoryIterator::isFile() - Определяет, является ли текущий элемент DirectoryIterator обычным файлом
  • DirectoryIterator::isLink() - Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator


Определяет, является ли текущий элемент DirectoryIterator '.' или '..'

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator
PHP Manual

DirectoryIterator::isDot

(PHP 5)

DirectoryIterator::isDot — Определяет, является ли текущий элемент DirectoryIterator '.' или '..'

Описание

public bool DirectoryIterator::isDot ( void )

Определяет, является ли текущий элемент DirectoryIterator . или ...

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE если элемент является . или .., иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isDot()

Этот пример выведет список всех файлов в директории, кроме . и ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
example.php
pears.jpg

Смотрите также

  • DirectoryIterator::getType() - Определяет тип текущего элемента DirectoryIterator
  • DirectoryIterator::isDir() - Определяет, является ли текущий элемент DirectoryIterator директорией
  • DirectoryIterator::isFile() - Определяет, является ли текущий элемент DirectoryIterator обычным файлом
  • DirectoryIterator::isLink() - Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator


Определяет, является ли текущий элемент DirectoryIterator исполняемым

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator
PHP Manual

DirectoryIterator::isExecutable

(PHP 5)

DirectoryIterator::isExecutable — Определяет, является ли текущий элемент DirectoryIterator исполняемым

Описание

public bool DirectoryIterator::isExecutable ( void )

Определяет, является ли текущий элемент DirectoryIterator исполняемым.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если файл является исполняемым, иначе FALSE

Примеры

Пример #1 DirectoryIterator::isExecutable() example

Этот пример показывает список исполняемых файлов в директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isExecutable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

example.php
myscript.sh

Смотрите также

  • DirectoryIterator::isReadable() - Определяет, доступен ли текущий элемент DirectoryIterator для чтения
  • DirectoryIterator::isWritable() - Определяет, доступен ли текущий элемент DirectoryIterator для записи
  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator


Определяет, является ли текущий элемент DirectoryIterator обычным файлом

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator
PHP Manual

DirectoryIterator::isFile

(PHP 5)

DirectoryIterator::isFile — Определяет, является ли текущий элемент DirectoryIterator обычным файлом

Описание

public bool DirectoryIterator::isFile ( void )

Определяет, является ли текущий элемент DirectoryIterator обычным файлом.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE если файл существует и является обычным файлом (т.е., не является ссылкой или директорией), иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isFile() example

Этот пример выведет список всех файлов в директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
example.php
pears.jpg

Смотрите также

  • DirectoryIterator::getType() - Определяет тип текущего элемента DirectoryIterator
  • DirectoryIterator::isDir() - Определяет, является ли текущий элемент DirectoryIterator директорией
  • DirectoryIterator::isDot() - Определяет, является ли текущий элемент DirectoryIterator '.' или '..'
  • DirectoryIterator::isLink() - Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator


Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

(PHP 5)

DirectoryIterator::isLink — Определяет, является ли текущий элемент DirectoryIterator символической ссылкой

Описание

public bool DirectoryIterator::isLink ( void )

Определяет, является ли текущий элемент DirectoryIterator символической ссылкой.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE если элемент является символической ссылкой, иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isLink()

Этот пример содержит рекурсивную функцию для удаления дерева каталогов.

<?php
/**
 * Данная функция рекурсивно удаляет все файлы, символические ссылки и директории
 * по указанному пути.
 *
 * @param string $path Path to the directory to remove.
 */
function removeDir($path) {
    $dir = new DirectoryIterator($path);
    foreach ($dir as $fileinfo) {
        if ($fileinfo->isFile() || $fileinfo->isLink()) {
            unlink($fileinfo->getPathName());
        } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
            removeDir($fileinfo->getPathName());
        }
    }
    rmdir($path);
}

removeDir('foo');
?>

Смотрите также

  • DirectoryIterator::getType() - Определяет тип текущего элемента DirectoryIterator
  • DirectoryIterator::isDir() - Определяет, является ли текущий элемент DirectoryIterator директорией
  • DirectoryIterator::isDot() - Определяет, является ли текущий элемент DirectoryIterator '.' или '..'
  • DirectoryIterator::isFile() - Определяет, является ли текущий элемент DirectoryIterator обычным файлом

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator


Определяет, доступен ли текущий элемент DirectoryIterator для чтения

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator
PHP Manual

DirectoryIterator::isReadable

(PHP 5)

DirectoryIterator::isReadable — Определяет, доступен ли текущий элемент DirectoryIterator для чтения

Описание

public bool DirectoryIterator::isReadable ( void )

Определяет, доступен ли текущий элемент DirectoryIterator для чтения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если файл доступен для чтения, иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isReadable()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isReadable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
example.php
pears.jpg

Смотрите также

  • DirectoryIterator::isExecutable() - Определяет, является ли текущий элемент DirectoryIterator исполняемым
  • DirectoryIterator::isWritable() - Определяет, доступен ли текущий элемент DirectoryIterator для записи
  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator


Определяет, доступен ли текущий элемент DirectoryIterator для записи

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator
PHP Manual

DirectoryIterator::isWritable

(PHP 5)

DirectoryIterator::isWritable — Определяет, доступен ли текущий элемент DirectoryIterator для записи

Описание

public bool DirectoryIterator::isWritable ( void )

Определяет, доступен ли текущий элемент DirectoryIterator для записи.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если файл или директория доступны для записи, иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::isWritable()

Этот пример показывает список файлов и директорий, которые могут быть открыты для записи, расположенные в директории, содержащей выполняемый скрипт.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isWritable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apples.txt
bananas.html
pears

Смотрите также

  • DirectoryIterator::getPerms() - Возвращает набор прав для текущего элемента DirectoryIterator item
  • DirectoryIterator::isExecutable() - Определяет, является ли текущий элемент DirectoryIterator исполняемым
  • DirectoryIterator::isReadable() - Определяет, доступен ли текущий элемент DirectoryIterator для чтения

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator


Возвращает ключ текущего элемента DirectoryIterator

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator
PHP Manual

DirectoryIterator::key

(PHP 5)

DirectoryIterator::key — Возвращает ключ текущего элемента DirectoryIterator

Описание

public string DirectoryIterator::key ( void )

Возвращает ключ текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Ключ текущего элемента DirectoryIterator.

Примеры

Пример #1 Пример использования DirectoryIterator::key()

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->key() . " => " . $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

0 => apple.jpg
1 => banana.jpg
2 => index.php
3 => pear.jpg

Смотрите также

  • DirectoryIterator::current() - Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator
  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator
  • DirectoryIterator::valid() - Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом
  • Iterator::key() - Возвращает ключ текущего элемента

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator


Перемещает указатель на следующий элемент DirectoryIterator

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator
PHP Manual

DirectoryIterator::next

(PHP 5)

DirectoryIterator::next — Перемещает указатель на следующий элемент DirectoryIterator

Описание

public void DirectoryIterator::next ( void )

Перемещает указатель на следующий элемент DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования DirectoryIterator::next()

Вывод списка содержимого директории с помощью цикла while

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Смотрите также

  • DirectoryIterator::current() - Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::key() - Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator
  • DirectoryIterator::valid() - Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом
  • Iterator::next() - Переходит к следующему элементу

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator


Устанавливает указатель на первый элемент DirectoryIterator

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator
PHP Manual

DirectoryIterator::rewind

(PHP 5)

DirectoryIterator::rewind — Устанавливает указатель на первый элемент DirectoryIterator

Описание

public void DirectoryIterator::rewind ( void )

Устанавливает указатель на первый элемент DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования DirectoryIterator::rewind()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //переход к началу
echo $iterator->key(); //0
?>

Смотрите также

  • DirectoryIterator::current() - Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::key() - Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator
  • DirectoryIterator::valid() - Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом
  • Iterator::rewind() - Возвращает итератор на первый элемент

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator


Перемещает указатель DirectoryIterator на определённую позицию

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator
PHP Manual

DirectoryIterator::seek

(PHP 5 >= 5.3.0)

DirectoryIterator::seek — Перемещает указатель DirectoryIterator на определённую позицию

Описание

public void DirectoryIterator::seek ( int $position )

Перемещает указатель DirectoryIterator на определённую позицию.

Список параметров

position

Номер позиции для перемещения. Нумерация начинется с нуля.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования DirectoryIterator::seek()

Перейти к четвертому элементу в директории, содержащей выполняемый скрипт. Первые два, как правило . и ...

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'Нет третьего элемента в директории';
}
?>

Смотрите также

  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator
  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator
  • SeekableIterator::seek() - Seeks to a position

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator


Возвращает имя файла в виде строки

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator
PHP Manual

DirectoryIterator::__toString

(PHP 5)

DirectoryIterator::__toString — Возвращает имя файла в виде строки

Описание

public string DirectoryIterator::__toString ( void )

Возвращает имя файла текущего элемента DirectoryIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает имя файла текущего элемента DirectoryIterator.

Примеры

Пример #1 Пример использования DirectoryIterator::__toString()

Этот пример выведет список содержимого директории, содержащей выполняемый скрипт.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Смотрите также

  • DirectoryIterator::getFilename() - Возвращает имя файла текущего элемента DirectoryIterator
  • Магический метод __toString

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator


Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator
PHP Manual

DirectoryIterator::valid

(PHP 5)

DirectoryIterator::valid — Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом

Описание

public bool DirectoryIterator::valid ( void )

Проверяет, является ли текущий элемент DirectoryIterator допустимым файлом.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE если элемент ялвяется допустимым, иначе FALSE

Примеры

Пример #1 Пример использования DirectoryIterator::valid()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

// Loop to end of iterator
while($iterator->valid()) {
    $iterator->next();
}

$iterator->valid(); // FALSE
$iterator->rewind();
$iterator->valid(); // TRUE

?>

Смотрите также

  • DirectoryIterator::current() - Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::key() - Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator
  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator
  • Iterator::valid() - Проверка корректности позиции

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator


The EmptyIterator class

(PHP 5 >= 5.1.0)

Введение

The EmptyIterator class for an empty iterator.

Обзор классов

EmptyIterator implements Iterator , Traversable {
/* Методы */
public void current ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Содержание

  • EmptyIterator::current — The current() method
  • EmptyIterator::key — The key() method
  • EmptyIterator::next — The next() method
  • EmptyIterator::rewind — The rewind() method
  • EmptyIterator::valid — The valid() method
DirectoryIterator::valid
EmptyIterator::current
Итераторы


The current() method

EmptyIterator
EmptyIterator::key
EmptyIterator
PHP Manual

EmptyIterator::current

(PHP 5 >= 5.1.0)

EmptyIterator::current — The current() method

Описание

public void EmptyIterator::current ( void )

This function must not be called. It throws an exception upon access.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Ошибки

Throws an Exception if called.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

EmptyIterator
EmptyIterator::key
EmptyIterator


The key() method

EmptyIterator::current
EmptyIterator::next
EmptyIterator
PHP Manual

EmptyIterator::key

(PHP 5 >= 5.1.0)

EmptyIterator::key — The key() method

Описание

public void EmptyIterator::key ( void )

This function must not be called. It throws an exception upon access.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Ошибки

Throws an Exception if called.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

EmptyIterator::current
EmptyIterator::next
EmptyIterator


The next() method

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator
PHP Manual

EmptyIterator::next

(PHP 5 >= 5.1.0)

EmptyIterator::next — The next() method

Описание

public void EmptyIterator::next ( void )

No operation, nothing to do.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator


The rewind() method

EmptyIterator::next
EmptyIterator::valid
EmptyIterator
PHP Manual

EmptyIterator::rewind

(PHP 5 >= 5.1.0)

EmptyIterator::rewind — The rewind() method

Описание

public void EmptyIterator::rewind ( void )

No operation, nothing to do.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

EmptyIterator::next
EmptyIterator::valid
EmptyIterator


The valid() method

EmptyIterator::rewind
FilesystemIterator
EmptyIterator
PHP Manual

EmptyIterator::valid

(PHP 5 >= 5.1.0)

EmptyIterator::valid — The valid() method

Описание

public void EmptyIterator::valid ( void )

The EmptyIterator valid() method.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

FALSE

EmptyIterator::rewind
FilesystemIterator
EmptyIterator


The FilesystemIterator class

(PHP 5 >= 5.3.0)

Введение

The Filesystem iterator

Обзор классов

FilesystemIterator extends DirectoryIterator implements SeekableIterator , Traversable , Iterator {
/* Константы */
const integer CURRENT_AS_PATHNAME = 32 ;
const integer CURRENT_AS_FILEINFO = 0 ;
const integer CURRENT_AS_SELF = 16 ;
const integer CURRENT_MODE_MASK = 240 ;
const integer KEY_AS_PATHNAME = 0 ;
const integer KEY_AS_FILENAME = 256 ;
const integer FOLLOW_SYMLINKS = 512 ;
const integer KEY_MODE_MASK = 3840 ;
const integer NEW_CURRENT_AND_KEY = 256 ;
const integer SKIP_DOTS = 4096 ;
const integer UNIX_PATHS = 8192 ;
/* Методы */
__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed current ( void )
public int getFlags ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ int $flags ] )
/* Наследуемые методы */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getExtension ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

Предопределенные константы

FilesystemIterator::CURRENT_AS_PATHNAME

Makes FilesystemIterator::current() return the pathname.

FilesystemIterator::CURRENT_AS_FILEINFO

Makes FilesystemIterator::current() return an SplFileInfo instance.

FilesystemIterator::CURRENT_AS_SELF

Makes FilesystemIterator::current() return $this (the FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Masks FilesystemIterator::current()

FilesystemIterator::KEY_AS_PATHNAME

Makes FilesystemIterator::key() return the pathname.

FilesystemIterator::KEY_AS_FILENAME

Makes FilesystemIterator::key() return the filename.

FilesystemIterator::FOLLOW_SYMLINKS

Makes RecursiveDirectoryIterator::hasChildren() follow symlinks.

FilesystemIterator::KEY_MODE_MASK

Masks FilesystemIterator::key()

FilesystemIterator::NEW_CURRENT_AND_KEY

Same as FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::SKIP_DOTS

Skips dot files (. and ..).

FilesystemIterator::UNIX_PATHS

Makes paths use Unix-style forward slash irrespective of system default.

Список изменений

Версия | Описание
5.3.1 | Added FilesystemIterator::FOLLOW_SYMLINKS

Содержание

  • FilesystemIterator::__construct — Constructs a new filesystem iterator
  • FilesystemIterator::current — The current file
  • FilesystemIterator::getFlags — Get the handling flags
  • FilesystemIterator::key — Retrieve the key for the current file
  • FilesystemIterator::next — Move to the next file
  • FilesystemIterator::rewind — Rewinds back to the beginning
  • FilesystemIterator::setFlags — Sets handling flags
EmptyIterator::valid
FilesystemIterator::__construct
Итераторы


Constructs a new filesystem iterator

FilesystemIterator
FilesystemIterator::current
FilesystemIterator
PHP Manual

FilesystemIterator::__construct

(PHP 5 >= 5.3.0)

FilesystemIterator::__construct — Constructs a new filesystem iterator

Описание

FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )

Constructs a new filesystem iterator from the path.

Список параметров

path

The path of the filesystem item to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws an UnexpectedValueException if the path cannot be found.

Примеры

Пример #1 FilesystemIterator::__construct() example

<?php
$it = new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

Результат выполнения данного примера:

apples.jpg
banana.jpg
example.php

Смотрите также

  • FilesystemIterator::setFlags() - Sets handling flags
  • DirectoryIterator::__construct() - Создаёт новый итератор директорий по пути

FilesystemIterator
FilesystemIterator::current
FilesystemIterator


The current file

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator
PHP Manual

FilesystemIterator::current

(PHP 5 >= 5.3.0)

FilesystemIterator::current — The current file

Описание

public mixed FilesystemIterator::current ( void )

Get file information of the current element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.

Примеры

Пример #1 FilesystemIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->current() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Смотрите также

  • FilesystemIterator constants
  • DirectoryIterator::current() - Возвращает текущий элемент DirectoryIterator
  • DirectoryIterator::getFileName() - Возвращает имя файла текущего элемента DirectoryIterator

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator


Get the handling flags

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator
PHP Manual

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::getFlags — Get the handling flags

Описание

public int FilesystemIterator::getFlags ( void )

Gets the handling flags, as set in FilesystemIterator::__construct() or FilesystemIterator::setFlags().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The integer value of the set flags.

Смотрите также

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::setFlags() - Sets handling flags

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator


Retrieve the key for the current file

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator
PHP Manual

FilesystemIterator::key

(PHP 5 >= 5.3.0)

FilesystemIterator::key — Retrieve the key for the current file

Описание

public string FilesystemIterator::key ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the pathname or filename depending on the set flags. See the FilesystemIterator constants.

Примеры

Пример #1 FilesystemIterator::key() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->key() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
example.php

Смотрите также

  • FilesystemIterator constants
  • DirectoryIterator::key() - Возвращает ключ текущего элемента DirectoryIterator
  • DirectoryIterator::getFilename() - Возвращает имя файла текущего элемента DirectoryIterator
  • DirectoryIterator::getPathname() - Возвращает путь и имя файла текущего элемента DirectoryIterator

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator


Move to the next file

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator
PHP Manual

FilesystemIterator::next

(PHP 5 >= 5.3.0)

FilesystemIterator::next — Move to the next file

Описание

public void FilesystemIterator::next ( void )

Move to the next file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 FilesystemIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
example.php

Смотрите также

  • DirectoryIterator::next() - Перемещает указатель на следующий элемент DirectoryIterator

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator


Rewinds back to the beginning

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator
PHP Manual

FilesystemIterator::rewind

(PHP 5 >= 5.3.0)

FilesystemIterator::rewind — Rewinds back to the beginning

Описание

public void FilesystemIterator::rewind ( void )

Rewinds the directory back to the start.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 FilesystemIterator::rewind() example

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

apple.jpg
banana.jpg
apple.jpg

Смотрите также

  • DirectoryIterator::rewind() - Устанавливает указатель на первый элемент DirectoryIterator

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator


Sets handling flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator
PHP Manual

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::setFlags — Sets handling flags

Описание

public void FilesystemIterator::setFlags ([ int $flags ] )

Sets handling flags.

Список параметров

flags

The handling flags to set. See the FilesystemIterator constants.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 FilesystemIterator::key() example

This example demonstrates the difference between the FilesystemIterator::KEY_AS_PATHNAME and FilesystemIterator::KEY_AS_FILENAME flags.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Key as Pathname:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nKey as Filename:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key as Pathname:
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Key as Filename:
apple.jpg
banana.jpg
example.php

Смотрите также

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::getFlags() - Get the handling flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator


The FilterIterator class

(PHP 5 >= 5.1.0)

Введение

This abstract iterator filters out unwanted values. This class should be extended to implement custom iterator filters. The FilterIterator::accept() must be implemented in the subclass.

Обзор классов

abstract FilterIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Методы */
abstract bool accept ( void )
__construct ( Iterator $iterator )
mixed current ( void )
Iterator getInnerIterator ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Содержание

  • FilterIterator::accept — Check whether the current element of the iterator is acceptable
  • FilterIterator::__construct — Construct a filterIterator
  • FilterIterator::current — Get the current element value
  • FilterIterator::getInnerIterator — Get the inner iterator
  • FilterIterator::key — Get the current key
  • FilterIterator::next — Move the iterator forward
  • FilterIterator::rewind — Rewind the iterator
  • FilterIterator::valid — Check whether the current element is valid
FilesystemIterator::setFlags
FilterIterator::accept
Итераторы


Check whether the current element of the iterator is acceptable

FilterIterator
FilterIterator::__construct
FilterIterator
PHP Manual

FilterIterator::accept

(PHP 5 >= 5.1.0)

FilterIterator::accept — Check whether the current element of the iterator is acceptable

Описание

abstract bool FilterIterator::accept ( void )

Returns whether the current element of the iterator is acceptable through this filter.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current element is acceptable, otherwise FALSE.

Примеры

Пример #1 FilterIterator::accept() example

<?php
// This iterator filters all values with less than 10 characters
class LengthFilterIterator extends FilterIterator {

    public function accept() {
        // Only accept strings with a length of 10 and greater
        return strlen(parent::current()) > 10;
    }

}

$arrayIterator = new ArrayIterator(array('test1', 'more than 10 characters'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
    echo $value . "\n";
}
?>

Результат выполнения данного примера:

more than 10 characters

FilterIterator
FilterIterator::__construct
FilterIterator


Construct a filterIterator

FilterIterator::accept
FilterIterator::current
FilterIterator
PHP Manual

FilterIterator::__construct

(PHP 5 >= 5.1.0)

FilterIterator::__construct — Construct a filterIterator

Описание

FilterIterator::__construct ( Iterator $iterator )

Constructs a new FilterIterator, which consists of a passed in iterator with filters applied to it.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator that is being filtered.

Возвращаемые значения

The FilterIterator.

Смотрите также

  • LimitIterator::__construct() - Construct a LimitIterator

FilterIterator::accept
FilterIterator::current
FilterIterator


Get the current element value

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator
PHP Manual

FilterIterator::current

(PHP 5 >= 5.1.0)

FilterIterator::current — Get the current element value

Описание

mixed FilterIterator::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get the current element value.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current element value.

Смотрите также

  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator


Get the inner iterator

FilterIterator::current
FilterIterator::key
FilterIterator
PHP Manual

FilterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

FilterIterator::getInnerIterator — Get the inner iterator

Описание

Iterator FilterIterator::getInnerIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get the inner iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator.

FilterIterator::current
FilterIterator::key
FilterIterator


Get the current key

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator
PHP Manual

FilterIterator::key

(PHP 5 >= 5.1.0)

FilterIterator::key — Get the current key

Описание

mixed FilterIterator::key ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get the current key.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current key.

Смотрите также

  • FilterIterator::next() - Move the iterator forward
  • FilterIterator::current() - Get the current element value

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator


Move the iterator forward

FilterIterator::key
FilterIterator::rewind
FilterIterator
PHP Manual

FilterIterator::next

(PHP 5 >= 5.1.0)

FilterIterator::next — Move the iterator forward

Описание

void FilterIterator::next ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Move the iterator forward.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • FilterIterator::current() - Get the current element value
  • FilterIterator::next()

FilterIterator::key
FilterIterator::rewind
FilterIterator


Rewind the iterator

FilterIterator::next
FilterIterator::valid
FilterIterator
PHP Manual

FilterIterator::rewind

(PHP 5 >= 5.1.0)

FilterIterator::rewind — Rewind the iterator

Описание

void FilterIterator::rewind ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Rewind the iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • FilterIterator::current() - Get the current element value
  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward

FilterIterator::next
FilterIterator::valid
FilterIterator


Check whether the current element is valid

FilterIterator::rewind
GlobIterator
FilterIterator
PHP Manual

FilterIterator::valid

(PHP 5 >= 5.1.0)

FilterIterator::valid — Check whether the current element is valid

Описание

bool FilterIterator::valid ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Checks whether the current element is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current element is valid, otherwise FALSE

FilterIterator::rewind
GlobIterator
FilterIterator


The GlobIterator class

(PHP 5 >= 5.3.0)

Введение

Iterates through a file system in a similar fashion to glob().

Обзор классов

GlobIterator extends FilesystemIterator implements Iterator , Traversable , SeekableIterator , Countable {
/* Методы */
__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public int count ( void )
/* Наследуемые методы */
FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Содержание

  • GlobIterator::__construct — Construct a directory using glob
  • GlobIterator::count — Get the number of directories and files
FilterIterator::valid
GlobIterator::__construct
Итераторы


Construct a directory using glob

GlobIterator
GlobIterator::count
GlobIterator
PHP Manual

GlobIterator::__construct

(PHP 5 >= 5.3.0)

GlobIterator::__construct — Construct a directory using glob

Описание

GlobIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Constructs a new directory iterator from a glob expression.

Список параметров

path

The path of the directory.

flags

Option flags, the flags may be a bitmask of the FilesystemIterator constants.

Примеры

Пример #1 GlobIterator example

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if(!$iterator->count())
{
    echo 'No matches';
}
else
{
    $n = 0;

    printf("Matched %d item(s)\r\n", $iterator->count());

    foreach($iterator as $item)
    {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

Смотрите также

  • DirectoryIterator::__construct() - Создаёт новый итератор директорий по пути
  • GlobIterator::count() - Get the number of directories and files
  • glob() - Находит файловые пути, совпадающие с шаблоном

GlobIterator
GlobIterator::count
GlobIterator


Get the number of directories and files

GlobIterator::__construct
InfiniteIterator
GlobIterator
PHP Manual

GlobIterator::count

(PHP 5 >= 5.3.0)

GlobIterator::count — Get the number of directories and files

Описание

public int GlobIterator::count ( void )

Gets the number of directories and files found by the glob expression.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of returned directories and files, as an integer.

Примеры

Пример #1 GlobIterator::count() example

<?php
$iterator = new GlobIterator('*.xml');

printf("Matched %d item(s)\r\n", $iterator->count());
?>

Результатом выполнения данного примера будет что-то подобное:

Matched 8 item(s)

Смотрите также

  • GlobIterator::__construct() - Construct a directory using glob
  • count() - Подсчитывает количество элементов массива или что-то в объекте
  • glob() - Находит файловые пути, совпадающие с шаблоном

GlobIterator::__construct
InfiniteIterator
GlobIterator


The InfiniteIterator class

(PHP 5 >= 5.1.0)

Введение

The InfiniteIterator allows one to infinitely iterate over an iterator without having to manually rewind the iterator upon reaching its end.

Обзор классов

InfiniteIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Методы */
__construct ( Iterator $iterator )
public void next ( void )
/* Наследуемые методы */
IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Содержание

  • InfiniteIterator::__construct — Constructs an InfiniteIterator
  • InfiniteIterator::next — Moves the inner Iterator forward or rewinds it
GlobIterator::count
InfiniteIterator::__construct
Итераторы


Constructs an InfiniteIterator

InfiniteIterator
InfiniteIterator::next
InfiniteIterator
PHP Manual

InfiniteIterator::__construct

(PHP 5 >= 5.1.0)

InfiniteIterator::__construct — Constructs an InfiniteIterator

Описание

InfiniteIterator::__construct ( Iterator $iterator )

Constructs an InfiniteIterator from an Iterator.

Список параметров

iterator

The iterator to infinitely iterate over.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws an E_RECOVERABLE_ERROR if the iterator parameter is not an Iterator.

Примеры

Пример #1 InfiniteIterator::__construct() example

<?php
$arrayit  = new ArrayIterator(array('cat','dog'));
$infinite = new InfiniteIterator($arrayit);
$limit    = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
    echo "$value\n";
}
?>

Результат выполнения данного примера:

cat
dog
cat
dog
cat
dog
cat

Смотрите также

  • InfiniteIterator::next() - Moves the inner Iterator forward or rewinds it

InfiniteIterator
InfiniteIterator::next
InfiniteIterator


Moves the inner Iterator forward or rewinds it

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator
PHP Manual

InfiniteIterator::next

(PHP 5 >= 5.1.0)

InfiniteIterator::next — Moves the inner Iterator forward or rewinds it

Описание

public void InfiniteIterator::next ( void )

Moves the inner Iterator forward to its next element if there is one, otherwise rewinds the inner Iterator back to the beginning.

Замечание:

Even an InfiniteIterator stops if its inner Iterator is empty.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • InfiniteIterator::__construct() - Constructs an InfiniteIterator

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator


The IteratorIterator class

(PHP 5 >= 5.1.0)

Введение

This iterator wrapper allows the conversion of anything that is Traversable into an Iterator. It is important to understand that most classes that do not implement Iterators have reasons as most likely they do not allow the full Iterator feature set. If so, techniques should be provided to prevent misuse, otherwise expect exceptions or fatal errors.

Обзор классов

IteratorIterator implements Iterator , Traversable , OuterIterator {
/* Методы */
__construct ( Traversable $iterator )
public mixed current ( void )
public Traversable getInnerIterator ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Содержание

  • IteratorIterator::__construct — Create an iterator from anything that is traversable
  • IteratorIterator::current — Get the current value
  • IteratorIterator::getInnerIterator — Get the inner iterator
  • IteratorIterator::key — Get the key of the current element
  • IteratorIterator::next — Forward to the next element
  • IteratorIterator::rewind — Rewind to the first element
  • IteratorIterator::valid — Checks if the iterator is valid
InfiniteIterator::next
IteratorIterator::__construct
Итераторы


Create an iterator from anything that is traversable

IteratorIterator
IteratorIterator::current
IteratorIterator
PHP Manual

IteratorIterator::__construct

(PHP 5 >= 5.1.0)

IteratorIterator::__construct — Create an iterator from anything that is traversable

Описание

IteratorIterator::__construct ( Traversable $iterator )

Creates an iterator from anything that is traversable.

Список параметров

iterator

The traversable iterator.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • Traversable

IteratorIterator
IteratorIterator::current
IteratorIterator


Get the current value

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator
PHP Manual

IteratorIterator::current

(PHP 5 >= 5.1.0)

IteratorIterator::current — Get the current value

Описание

public mixed IteratorIterator::current ( void )

Get the value of the current element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The value of the current element.

Смотрите также

  • IteratorIterator::key() - Get the key of the current element

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator


Get the inner iterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator
PHP Manual

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

IteratorIterator::getInnerIterator — Get the inner iterator

Описание

public Traversable IteratorIterator::getInnerIterator ( void )

Get the inner iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator as passed to IteratorIterator::__construct().

Смотрите также

  • Iterator
  • OuterIterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator


Get the key of the current element

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator
PHP Manual

IteratorIterator::key

(PHP 5 >= 5.1.0)

IteratorIterator::key — Get the key of the current element

Описание

public void IteratorIterator::key ( void )

Get the key of the current element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The key of the current element.

Смотрите также

  • IteratorIterator::current() - Get the current value

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator


Forward to the next element

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator
PHP Manual

IteratorIterator::next

(PHP 5 >= 5.1.0)

IteratorIterator::next — Forward to the next element

Описание

public void IteratorIterator::next ( void )

Forward to the next element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • IteratorIterator::rewind() - Rewind to the first element
  • IteratorIterator::valid() - Checks if the iterator is valid

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator


Rewind to the first element

IteratorIterator::next
IteratorIterator::valid
IteratorIterator
PHP Manual

IteratorIterator::rewind

(PHP 5 >= 5.1.0)

IteratorIterator::rewind — Rewind to the first element

Описание

public void IteratorIterator::rewind ( void )

Rewinds to the first element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • IteratorIterator::next() - Forward to the next element
  • IteratorIterator::valid() - Checks if the iterator is valid

IteratorIterator::next
IteratorIterator::valid
IteratorIterator


Checks if the iterator is valid

IteratorIterator::rewind
LimitIterator
IteratorIterator
PHP Manual

IteratorIterator::valid

(PHP 5 >= 5.1.0)

IteratorIterator::valid — Checks if the iterator is valid

Описание

public bool IteratorIterator::valid ( void )

Checks if the iterator is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the iterator is valid, otherwise FALSE

Смотрите также

  • iterator_count() - Count the elements in an iterator
  • IteratorIterator::current() - Get the current value

IteratorIterator::rewind
LimitIterator
IteratorIterator


The LimitIterator class

(PHP 5 >= 5.1.0)

Введение

The LimitIterator class allows iteration over a limited subset of items in an Iterator.

Обзор классов

LimitIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Методы */
__construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public int getPosition ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public int seek ( int $position )
public bool valid ( void )
}

Примеры

Пример #1 LimitIterator usage example

<?php

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// Loop from third fruit until the end
// Note: offset starts from zero for apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

Результат выполнения данного примера:

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

Содержание

  • LimitIterator::__construct — Construct a LimitIterator
  • LimitIterator::current — Get current element
  • LimitIterator::getInnerIterator — Get inner iterator
  • LimitIterator::getPosition — Return the current position
  • LimitIterator::key — Get current key
  • LimitIterator::next — Move the iterator forward
  • LimitIterator::rewind — Rewind the iterator to the specified starting offset
  • LimitIterator::seek — Seek to the given position
  • LimitIterator::valid — Check whether the current element is valid
IteratorIterator::valid
LimitIterator::__construct
Итераторы


Construct a LimitIterator

LimitIterator
LimitIterator::current
LimitIterator
PHP Manual

LimitIterator::__construct

(PHP 5 >= 5.1.0)

LimitIterator::__construct — Construct a LimitIterator

Описание

LimitIterator::__construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )

Constructs a new LimitIterator from an iterator with a given starting offset and maximum count.

Список параметров

iterator

The Iterator to limit.

offset

Optional offset of the limit.

count

Optional count of the limit.

Возвращаемые значения

The new LimitIterator.

Ошибки

Throws an OutOfRangeException if the offset is less than 0 or the count is less than -1.

Примеры

Пример #1 LimitIterator::__construct() example

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
    echo $value . "\n";
}
?>

Результат выполнения данного примера:

b
c
d

Смотрите также

  • LimitIterator examples

LimitIterator
LimitIterator::current
LimitIterator


Get current element

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator
PHP Manual

LimitIterator::current

(PHP 5 >= 5.1.0)

LimitIterator::current — Get current element

Описание

public mixed LimitIterator::current ( void )

Gets the current element of the inner Iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current element or NULL if there is none.

Смотрите также

  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator


Get inner iterator

LimitIterator::current
LimitIterator::getPosition
LimitIterator
PHP Manual

LimitIterator::getInnerIterator

(PHP 5 >= 5.1.0)

LimitIterator::getInnerIterator — Get inner iterator

Описание

public Iterator LimitIterator::getInnerIterator ( void )

Gets the inner Iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator passed to LimitIterator::__construct().

Смотрите также

  • LimitIterator::__construct() - Construct a LimitIterator
  • IteratorIterator::getInnerIterator() - Get the inner iterator

LimitIterator::current
LimitIterator::getPosition
LimitIterator


Return the current position

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator
PHP Manual

LimitIterator::getPosition

(PHP 5 >= 5.1.0)

LimitIterator::getPosition — Return the current position

Описание

public int LimitIterator::getPosition ( void )

Gets the current zero-based position of the inner Iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current position.

Примеры

Пример #1 LimitIterator::getPosition() example

<?php
$fruits = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'damson',
    'e' => 'elderberry'
);
$array_it = new ArrayIterator($fruits);
$limit_it = new LimitIterator($array_it, 2, 3);
foreach ($limit_it as $item) {
    echo $limit_it->getPosition() . ' ' . $item . "\n";
}
?>

Результат выполнения данного примера:

2 cherry
3 damson
4 elderberry

Смотрите также

  • FilterIterator::key() - Get the current key

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator


Get current key

LimitIterator::getPosition
LimitIterator::next
LimitIterator
PHP Manual

LimitIterator::key

(PHP 5 >= 5.1.0)

LimitIterator::key — Get current key

Описание

public mixed LimitIterator::key ( void )

Gets the key for the current item in the inner Iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the key for the current item.

Смотрите также

  • LimitIterator::getPosition() - Return the current position
  • LimitIterator::current() - Get current element
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::getPosition
LimitIterator::next
LimitIterator


Move the iterator forward

LimitIterator::key
LimitIterator::rewind
LimitIterator
PHP Manual

LimitIterator::next

(PHP 5 >= 5.1.0)

LimitIterator::next — Move the iterator forward

Описание

public void LimitIterator::next ( void )

Moves the iterator forward.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::key
LimitIterator::rewind
LimitIterator


Rewind the iterator to the specified starting offset

LimitIterator::next
LimitIterator::seek
LimitIterator
PHP Manual

LimitIterator::rewind

(PHP 5 >= 5.1.0)

LimitIterator::rewind — Rewind the iterator to the specified starting offset

Описание

public void LimitIterator::rewind ( void )

Rewinds the iterator to the starting offset specified in LimitIterator::__construct().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::next
LimitIterator::seek
LimitIterator


Seek to the given position

LimitIterator::rewind
LimitIterator::valid
LimitIterator
PHP Manual

LimitIterator::seek

(PHP 5 >= 5.1.0)

LimitIterator::seek — Seek to the given position

Описание

public int LimitIterator::seek ( int $position )

Moves the iterator to the offset specified by position.

Список параметров

position

The position to seek to.

Возвращаемые значения

Returns the offset position after seeking.

Ошибки

Throws an OutOfBoundsException if the position is outside of the limits specified in LimitIterator::__construct().

Смотрите также

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::rewind
LimitIterator::valid
LimitIterator


Check whether the current element is valid

LimitIterator::seek
MultipleIterator
LimitIterator
PHP Manual

LimitIterator::valid

(PHP 5 >= 5.1.0)

LimitIterator::valid — Check whether the current element is valid

Описание

public bool LimitIterator::valid ( void )

Checks whether the current element is valid.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position

LimitIterator::seek
MultipleIterator
LimitIterator


The MultipleIterator class

(PHP 5 >= 5.3.0)

Введение

An Iterator that sequentially iterates over all attached iterators

Обзор классов

MultipleIterator implements Iterator , Traversable {
/* Константы */
const integer MIT_NEED_ANY = 0 ;
const integer MIT_NEED_ALL = 1 ;
const integer MIT_KEYS_NUMERIC = 0 ;
const integer MIT_KEYS_ASSOC = 2 ;
/* Методы */
public __construct ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )
public void attachIterator ( Iterator $iterator [, string $infos ] )
public void containsIterator ( Iterator $iterator )
public void countIterators ( void )
public void current ( void )
public void detachIterator ( Iterator $iterator )
public void getFlags ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ( int $flags )
public void valid ( void )
}

Предопределенные константы

MultipleIterator Node Types

MultipleIterator::MIT_NEED_ANY

Do not require all sub iterators to be valid in iteration.

MultipleIterator::MIT_NEED_ALL

Require all sub iterators to be valid in iteration.

MultipleIterator::MIT_KEYS_NUMERIC

Keys are created from the sub iterators position.

MultipleIterator::MIT_KEYS_ASSOC

Keys are created from sub iterators associated information.

Содержание

  • MultipleIterator::attachIterator — Attaches iterator information
  • MultipleIterator::__construct — Constructs a new MultipleIterator
  • MultipleIterator::containsIterator — Checks if an iterator is attached
  • MultipleIterator::countIterators — Gets the number of attached iterator instances
  • MultipleIterator::current — Gets the registered iterator instances
  • MultipleIterator::detachIterator — Detaches an iterator
  • MultipleIterator::getFlags — Gets the flag information
  • MultipleIterator::key — Gets the registered iterator instances
  • MultipleIterator::next — Moves all attached iterator instances forward
  • MultipleIterator::rewind — Rewinds all attached iterator instances
  • MultipleIterator::setFlags — Sets flags
  • MultipleIterator::valid — Checks the validity of sub iterators
LimitIterator::valid
MultipleIterator::attachIterator
Итераторы


Attaches iterator information

MultipleIterator
MultipleIterator::__construct
MultipleIterator
PHP Manual

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::attachIterator — Attaches iterator information

Описание

public void MultipleIterator::attachIterator ( Iterator $iterator [, string $infos ] )

Attaches iterator information.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The new iterator to attach.

infos

The associative information for the Iterator, which must be an integer, a string, or NULL.

Возвращаемые значения

Description...

Ошибки

An IllegalValueException if the iterator parameter is invalid, or if infos is already associated information.

Смотрите также

  • MultipleIterator::__construct() - Constructs a new MultipleIterator

MultipleIterator
MultipleIterator::__construct
MultipleIterator


Constructs a new MultipleIterator

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator
PHP Manual

MultipleIterator::__construct

(PHP 5 >= 5.3.0)

MultipleIterator::__construct — Constructs a new MultipleIterator

Описание

public MultipleIterator::__construct() ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )

Construct a new MultipleIterator.

Список параметров

flags

The flags to set, according to the Flag Constants.

  • MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
  • MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC

Defaults to MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Iterating a MultipleIterator

<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles  = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
    print_r($member);
}
?>

Output with $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)

Output with $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)

Смотрите также

  • Flag Constants
  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator


Checks if an iterator is attached

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator
PHP Manual

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0)

MultipleIterator::containsIterator — Checks if an iterator is attached

Описание

public void MultipleIterator::containsIterator ( Iterator $iterator )

Checks if an iterator is attached or not.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator to check.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator


Gets the number of attached iterator instances

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator
PHP Manual

MultipleIterator::countIterators

(PHP 5 >= 5.3.0)

MultipleIterator::countIterators — Gets the number of attached iterator instances

Описание

public void MultipleIterator::countIterators ( void )

Gets the number of attached iterator instances.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of attached iterator instances (as an integer).

Смотрите также

  • MultipleIterator::containsIterator() - Checks if an iterator is attached

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator


Gets the registered iterator instances

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator
PHP Manual

MultipleIterator::current

(PHP 5 >= 5.3.0)

MultipleIterator::current — Gets the registered iterator instances

Описание

public void MultipleIterator::current ( void )

Get the registered iterator instances.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of all registered iterator instances, or FALSE if no sub iterator is attached.

Ошибки

A RuntimeException if mode MIT_NEED_ALL is set and at least one attached iterator is not valid. Or an IllegalValueException if a key is NULL and MIT_KEYS_ASSOC is set.

Смотрите также

  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator


Detaches an iterator

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator
PHP Manual

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::detachIterator — Detaches an iterator

Описание

public void MultipleIterator::detachIterator ( Iterator $iterator )

Detaches an iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator to detach.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • MultipleIterator::attachIterator() - Attaches iterator information

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator


Gets the flag information

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator
PHP Manual

MultipleIterator::getFlags

(PHP 5 >= 5.3.0)

MultipleIterator::getFlags — Gets the flag information

Описание

public void MultipleIterator::getFlags ( void )

Gets information about the flags.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Information about the flags, as an integer.

Смотрите также

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::setFlags() - Sets flags

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator


Gets the registered iterator instances

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator
PHP Manual

MultipleIterator::key

(PHP 5 >= 5.3.0)

MultipleIterator::key — Gets the registered iterator instances

Описание

public void MultipleIterator::key ( void )

Get the registered iterator instances.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of all registered iterator instances, or FALSE if no sub iterator is attached.

Ошибки

A LogicException if mode MIT_NEED_ALL is set, and at least one attached iterator is not valid.

Смотрите также

  • MultipleIterator::current() - Gets the registered iterator instances

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator


Moves all attached iterator instances forward

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator
PHP Manual

MultipleIterator::next

(PHP 5 >= 5.3.0)

MultipleIterator::next — Moves all attached iterator instances forward

Описание

public void MultipleIterator::next ( void )

Moves all attached iterator instances forward.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • MultipleIterator::rewind() - Rewinds all attached iterator instances

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator


Rewinds all attached iterator instances

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator
PHP Manual

MultipleIterator::rewind

(PHP 5 >= 5.3.0)

MultipleIterator::rewind — Rewinds all attached iterator instances

Описание

public void MultipleIterator::rewind ( void )

Rewinds all attached iterator instances.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • MultipleIterator::next() - Moves all attached iterator instances forward

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator


Sets flags

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator
PHP Manual

MultipleIterator::setFlags

(PHP 5 >= 5.3.0)

MultipleIterator::setFlags — Sets flags

Описание

public void MultipleIterator::setFlags ( int $flags )

Sets flags.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flags

The flags to set, according to the Flag Constants

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::getFlags() - Gets the flag information

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator


Checks the validity of sub iterators

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator
PHP Manual

MultipleIterator::valid

(PHP 5 >= 5.3.0)

MultipleIterator::valid — Checks the validity of sub iterators

Описание

public void MultipleIterator::valid ( void )

Checks the validity of sub iterators.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if one or all sub iterators are valid depending on flags, otherwise FALSE

Смотрите также

  • MultipleIterator::__construct() - Constructs a new MultipleIterator

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator


The NoRewindIterator class

(PHP 5 >= 5.1.0)

Введение

This iterator cannot be rewinded.

Обзор классов

NoRewindIterator extends IteratorIterator {
/* Методы */
__construct ( Iterator $iterator )
public mixed current ( void )
public iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Наследуемые методы */
IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Содержание

  • NoRewindIterator::__construct — Construct a NoRewindIterator
  • NoRewindIterator::current — Get the current value
  • NoRewindIterator::getInnerIterator — Get the inner iterator
  • NoRewindIterator::key — Get the current key
  • NoRewindIterator::next — Forward to the next element
  • NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator.
  • NoRewindIterator::valid — Validates the iterator
MultipleIterator::valid
NoRewindIterator::__construct
Итераторы


Construct a NoRewindIterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator
PHP Manual

NoRewindIterator::__construct

(PHP 5 >= 5.1.0)

NoRewindIterator::__construct — Construct a NoRewindIterator

Описание

NoRewindIterator::__construct ( Iterator $iterator )

Constructs a NoRewindIterator.

Список параметров

iterator

The iterator being used.

Возвращаемые значения

A NoRewindIterator() based on the passed in iterator.

Примеры

Пример #1 NoRewindIterator::__construct() example

The second loop does not output because the iterator is only used once, as it does not rewind.

<?php
$fruit = array('apple', 'banana', 'cranberry');

$arr = new ArrayObject($fruit);
$it  = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Fruit A:
apple
banana
cranberry
Fruit B:

Смотрите также

  • NoRewindIterator::valid() - Validates the iterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator


Get the current value

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator
PHP Manual

NoRewindIterator::current

(PHP 5 >= 5.1.0)

NoRewindIterator::current — Get the current value

Описание

public mixed NoRewindIterator::current ( void )

Gets the current value.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current value.

Смотрите также

  • NoRewindIterator::key() - Get the current key

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator


Get the inner iterator

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator
PHP Manual

NoRewindIterator::getInnerIterator

(PHP 5 >= 5.1.0)

NoRewindIterator::getInnerIterator — Get the inner iterator

Описание

public iterator NoRewindIterator::getInnerIterator ( void )

Gets the inner iterator, that was passed in to NoRewindIterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator, as passed to NoRewindIterator::__construct().

Смотрите также

  • NoRewindIterator::valid() - Validates the iterator

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator


Get the current key

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator
PHP Manual

NoRewindIterator::key

(PHP 5 >= 5.1.0)

NoRewindIterator::key — Get the current key

Описание

public mixed NoRewindIterator::key ( void )

Gets the current key.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current key.

Смотрите также

  • NoRewindIterator::next() - Forward to the next element

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator


Forward to the next element

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator
PHP Manual

NoRewindIterator::next

(PHP 5 >= 5.1.0)

NoRewindIterator::next — Forward to the next element

Описание

public void NoRewindIterator::next ( void )

Forwards to the next element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • NoRewindIterator::rewind() - Prevents the rewind operation on the inner iterator.

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator


Prevents the rewind operation on the inner iterator.

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator
PHP Manual

NoRewindIterator::rewind

(PHP 5 >= 5.1.0)

NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator.

Описание

public void NoRewindIterator::rewind ( void )

Prevents the rewind operation on the inner iterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 NoRewindIterator::rewind() example

This example demonstrates that calling rewind on a NoRewindIterator object has no effect.

<?php
$fruits = array("lemon", "orange", "apple", "pear");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// now rewind the iterator (nothing should happen)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

Результат выполнения данного примера:

lemon
orange

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator


Validates the iterator

NoRewindIterator::rewind
ParentIterator
NoRewindIterator
PHP Manual

NoRewindIterator::valid

(PHP 5 >= 5.1.0)

NoRewindIterator::valid — Validates the iterator

Описание

public bool NoRewindIterator::valid ( void )

Checks whether the iterator is valid.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • NoRewindIterator::getInnerIterator() - Get the inner iterator

NoRewindIterator::rewind
ParentIterator
NoRewindIterator


The ParentIterator class

(PHP 5 >= 5.1.0)

Введение

...

Обзор классов

ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator , Traversable , Iterator {
/* Методы */
public bool accept ( void )
__construct ( RecursiveIterator $iterator )
ParentIterator getChildren ( void )
bool hasChildren ( void )
void next ( void )
void rewind ( void )
}

Содержание

  • ParentIterator::accept — Determines acceptability
  • ParentIterator::__construct — Constructs a ParentIterator
  • ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator
  • ParentIterator::hasChildren — Check whether the inner iterator's current element has children
  • ParentIterator::next — Move the iterator forward
  • ParentIterator::rewind — Rewind the iterator
NoRewindIterator::valid
ParentIterator::accept
Итераторы


Determines acceptability

ParentIterator
ParentIterator::__construct
ParentIterator
PHP Manual

ParentIterator::accept

(PHP 5 >= 5.1.0)

ParentIterator::accept — Determines acceptability

Описание

public bool ParentIterator::accept ( void )

Determines if the current element has children.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current element is acceptable, otherwise FALSE.

Смотрите также

  • ParentIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable

ParentIterator
ParentIterator::__construct
ParentIterator


Constructs a ParentIterator

ParentIterator::accept
ParentIterator::getChildren
ParentIterator
PHP Manual

ParentIterator::__construct

(PHP 5 >= 5.1.0)

ParentIterator::__construct — Constructs a ParentIterator

Описание

ParentIterator::__construct ( RecursiveIterator $iterator )

Constructs a ParentIterator on an iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator being constructed upon.

Возвращаемые значения

The ParentIterator.

ParentIterator::accept
ParentIterator::getChildren
ParentIterator


Return the inner iterator's children contained in a ParentIterator

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator
PHP Manual

ParentIterator::getChildren

(PHP 5 >= 5.1.0)

ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator

Описание

ParentIterator ParentIterator::getChildren ( void )

Get the inner iterator's children contained in a ParentIterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An object.

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator


Check whether the inner iterator's current element has children

ParentIterator::getChildren
ParentIterator::next
ParentIterator
PHP Manual

ParentIterator::hasChildren

(PHP 5 >= 5.1.0)

ParentIterator::hasChildren — Check whether the inner iterator's current element has children

Описание

bool ParentIterator::hasChildren ( void )

Check whether the inner iterator's current element has children.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ParentIterator::getChildren
ParentIterator::next
ParentIterator


Move the iterator forward

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator
PHP Manual

ParentIterator::next

(PHP 5 >= 5.1.0)

ParentIterator::next — Move the iterator forward

Описание

void ParentIterator::next ( void )

Moves the iterator forward.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator


Rewind the iterator

ParentIterator::next
RecursiveArrayIterator
ParentIterator
PHP Manual

ParentIterator::rewind

(PHP 5 >= 5.1.0)

ParentIterator::rewind — Rewind the iterator

Описание

void ParentIterator::rewind ( void )

Rewinds the iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ParentIterator::next
RecursiveArrayIterator
ParentIterator


The RecursiveArrayIterator class

(PHP 5 >= 5.1.0)

Введение

This iterator allows to unset and modify values and keys while iterating over Arrays and Objects in the same way as the ArrayIterator. Additionally it is possible to iterate over the current iterator entry.

Обзор классов

RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Методы */
public RecursiveArrayIterator getChildren ( void )
public bool hasChildren ( void )
/* Inherits */
public void ArrayIterator::append ( mixed $value )
public void ArrayIterator::asort ( void )
ArrayIterator::__construct ( mixed $array )
public int ArrayIterator::count ( void )
mixed ArrayIterator::current ( void )
public array ArrayIterator::getArrayCopy ( void )
public void ArrayIterator::getFlags ( void )
mixed ArrayIterator::key ( void )
public void ArrayIterator::ksort ( void )
public void ArrayIterator::natcasesort ( void )
public void ArrayIterator::natsort ( void )
void ArrayIterator::next ( void )
public void ArrayIterator::offsetExists ( string $index )
public mixed ArrayIterator::offsetGet ( string $index )
public void ArrayIterator::offsetSet ( string $index , string $newval )
public void ArrayIterator::offsetUnset ( string $index )
void ArrayIterator::rewind ( void )
void ArrayIterator::seek ( int $position )
public string ArrayIterator::serialize ( void )
public void ArrayIterator::setFlags ( string $flags )
public void ArrayIterator::uasort ( string $cmp_function )
public void ArrayIterator::uksort ( string $cmp_function )
public string ArrayIterator::unserialize ( string $serialized )
bool ArrayIterator::valid ( void )
}

Содержание

  • RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object.
  • RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object.
ParentIterator::rewind
RecursiveArrayIterator::getChildren
Итераторы


Returns an iterator for the current entry if it is an array or an object.

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object.

Описание

public RecursiveArrayIterator RecursiveArrayIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An iterator for the current entry, if it is an array or object.

Ошибки

An InvalidArgumentException will be thrown if the current entry does not contain an array or an object.

Примеры

Пример #1 RecursiveArrayIterator::getChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

Результат выполнения данного примера:

No children.
No children.
a : apple
p : pear

Смотрите также

  • RecursiveArrayIterator::hasChildren() - Returns whether current entry is an array or an object.

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator


Returns whether current entry is an array or an object.

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object.

Описание

public bool RecursiveArrayIterator::hasChildren ( void )

Returns whether current entry is an array or an object for which an iterator can be obtained via RecursiveArrayIterator::getChildren().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current entry is an array or an object, otherwise FALSE is returned.

Примеры

Пример #1 RecursiveArrayIterator::hasChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    // Check if there are children
    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

Результат выполнения данного примера:

No children.
No children.
a : apple
p : pear

Смотрите также

  • RecursiveArrayIterator::getChildren() - Returns an iterator for the current entry if it is an array or an object.

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator


The RecursiveCachingIterator class

(PHP 5 >= 5.1.0)

Введение

...

Обзор классов

RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Методы */
__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
RecursiveCachingIterator getChildren ( void )
bool hasChildren ( void )
/* Inherits */
CachingIterator::__construct ( Iterator $iterator [, string $flags ] )
public int CachingIterator::count ( void )
public void CachingIterator::current ( void )
public void CachingIterator::getCache ( void )
public void CachingIterator::getFlags ( void )
public void CachingIterator::getInnerIterator ( void )
public void CachingIterator::hasNext ( void )
public void CachingIterator::key ( void )
public void CachingIterator::next ( void )
public void CachingIterator::offsetExists ( string $index )
public void CachingIterator::offsetGet ( string $index )
public void CachingIterator::offsetSet ( string $index , string $newval )
public void CachingIterator::offsetUnset ( string $index )
public void CachingIterator::rewind ( void )
public void CachingIterator::setFlags ( bitmask $flags )
public void CachingIterator::__toString ( void )
public void CachingIterator::valid ( void )
}

Содержание

  • RecursiveCachingIterator::__construct — Construct
  • RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children
RecursiveArrayIterator::hasChildren
RecursiveCachingIterator::__construct
Итераторы


Construct

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::__construct — Construct

Описание

RecursiveCachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )

Constructs a new RecursiveCachingIterator, which consists of a passed in iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator being used.

flags

The flags. Use CALL_TOSTRING to call RecursiveCachingIterator::__toString() for every element (the default), and/or CATCH_GET_CHILD to catch exceptions when trying to get children.

Возвращаемые значения

The RecursiveCachingIterator.

Смотрите также

  • CachingIterator::__construct() - Construct a new CachingIterator object for the iterator.

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator


Return the inner iterator's children as a RecursiveCachingIterator

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator

Описание

RecursiveCachingIterator RecursiveCachingIterator::getChildren ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator's children, as a RecursiveCachingIterator.

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator


Check whether the current element of the inner iterator has children

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children

Описание

bool RecursiveCachingIterator::hasChildren ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the inner iterator has children, otherwise FALSE

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator


The RecursiveCallbackFilterIterator class

(PHP 5 >= 5.4.0)

Введение

Обзор классов

RecursiveCallbackFilterIterator extends CallbackFilterIterator implements OuterIterator , Traversable , Iterator , RecursiveIterator {
/* Методы */
public __construct ( RecursiveIterator $iterator , string $callback )
public RecursiveCallbackFilterIterator getChildren ( void )
public void hasChildren ( void )
/* Наследуемые методы */
public string CallbackFilterIterator::accept ( void )
}

Примеры

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Пример #1 Available callback arguments

<?php

/**
 * Callback for RecursiveCallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Filtering a recursive iterator generally involves two conditions. The first is that, to allow recursion, the callback function should return TRUE if the current iterator item has children. The second is the normal filter condition, such as a file size or extension check as in the example below.

Пример #2 Recursive callback basic example

<?php

$dir = new FilesystemIterator(__DIR__);

// Filter large files ( > 100MB)
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for large file
    if ($current->isFile() && $current->getSize() > 104857600) {
        return TRUE;
    }
    return FALSE;
});

foreach (new RecursiveIteratorIterator($files) as $file) {
    echo $file->getPathname() . PHP_EOL;
}

?>

Содержание

  • RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children
RecursiveCachingIterator::hasChildren
RecursiveCallbackFilterIterator::__construct
Итераторы


Create a RecursiveCallbackFilterIterator from a RecursiveIterator

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::__construct

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator

Описание

public RecursiveCallbackFilterIterator::__construct() ( RecursiveIterator $iterator , string $callback )

Creates a filtered iterator from a RecursiveIterator using the callback to determine which items are accepted or rejected.

Список параметров

iterator

The recursive iterator to be filtered.

callback

The callback, which should return TRUE to accept the current item or FALSE otherwise. See Examples.

May be any valid callback value.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator


Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::getChildren

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

Описание

public RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator::getChildren ( void )

Fetches the filtered children of the inner iterator.

RecursiveCallbackFilterIterator::hasChildren() should be used to determine if there are children to be fetched.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a RecursiveCallbackFilterIterator containing the children.

Смотрите также

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator


Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::hasChildren

(PHP 5 >= 5.4.0)

RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Описание

public void RecursiveCallbackFilterIterator::hasChildren ( void )

Returns TRUE if the current element has children, FALSE otherwise.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current element has children, FALSE otherwise.

Примеры

Пример #1 RecursiveCallbackFilterIterator::hasChildren() basic usage

<?php

$dir = new FilesystemIterator(__DIR__);

// Recursively iterate over XML files
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion into directories
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for XML file
    if (!strcasecmp($current->getExtension(), 'xml')) {
        return TRUE;
    }
    return FALSE;
});

?>

Смотрите также

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator


The RecursiveDirectoryIterator class

(PHP 5)

Введение

The RecursiveDirectoryIterator provides an interface for iterating recursively over filesystem directories.

Обзор классов

RecursiveDirectoryIterator extends FilesystemIterator implements Traversable , Iterator , SeekableIterator , RecursiveIterator {
/* Методы */
__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
object getChildren ( void )
public string getSubPath ( void )
public string getSubPathname ( void )
bool hasChildren ([ bool $allow_links ] )
string key ( void )
void next ( void )
void rewind ( void )
/* Inherits */
FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Список изменений

Версия | Описание
5.3.0 | The FilesystemIterator was introduced as the parent class. Previously, the parent was the DirectoryIterator.
5.3.0 | Implements SeekableIterator.
5.2.11, 5.3.1 | Added RecursiveDirectoryIterator::FOLLOW_SYMLINKS

Содержание

  • RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory
  • RecursiveDirectoryIterator::getSubPath — Get sub path
  • RecursiveDirectoryIterator::getSubPathname — Get sub path and name
  • RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'
  • RecursiveDirectoryIterator::key — Return path and filename of current dir entry
  • RecursiveDirectoryIterator::next — Move to next entry
  • RecursiveDirectoryIterator::rewind — Rewind dir back to the start
RecursiveCallbackFilterIterator::hasChildren
RecursiveDirectoryIterator::__construct
Итераторы


Constructs a RecursiveDirectoryIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2)

RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator

Описание

RecursiveDirectoryIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Constructs a RecursiveDirectoryIterator() for the provided path.

Список параметров

path

The path of the directory to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags().

Возвращаемые значения

Returns the newly created RecursiveDirectoryIterator.

Ошибки

Throws an UnexpectedValueException if the path cannot be found or is not a directory.

Примеры

Пример #1 RecursiveDirectoryIterator example

<?php

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

while($it->valid()) {

    if (!$it->isDot()) {
        echo 'SubPathName: ' . $it->getSubPathName() . "\n";
        echo 'SubPath:     ' . $it->getSubPath() . "\n";
        echo 'Key:         ' . $it->key() . "\n\n";
    }

    $it->next();
}

?>

Результатом выполнения данного примера будет что-то подобное:

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Смотрите также

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • RecursiveIteratorIterator::__construct() - Construct a RecursiveIteratorIterator
  • FilesystemIterator predefined constants

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator


Returns an iterator for the current entry if it is a directory

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory

Описание

object RecursiveDirectoryIterator::getChildren ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An iterator for the current entry, if it is a directory.

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator


Get sub path

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPath — Get sub path

Описание

public string RecursiveDirectoryIterator::getSubPath ( void )

Gets the sub path.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The sub path (sub directory).

Смотрите также

  • RecursiveDirectoryIterator::getSubPathName() - Get sub path and name
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator


Get sub path and name

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPathname — Get sub path and name

Описание

public string RecursiveDirectoryIterator::getSubPathname ( void )

Gets the sub path and filename.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The sub path (sub directory) and filename.

Смотрите также

  • RecursiveDirectoryIterator::getSubPath() - Get sub path
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator


Returns whether current entry is a directory and not '.' or '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::hasChildren

(PHP 5)

RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'

Описание

bool RecursiveDirectoryIterator::hasChildren ([ bool $allow_links ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

allow_links

Возвращаемые значения

Returns whether the current entry is a directory, but not '.' or '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator


Return path and filename of current dir entry

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::key

(PHP 5)

RecursiveDirectoryIterator::key — Return path and filename of current dir entry

Описание

string RecursiveDirectoryIterator::key ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The path and filename of the current dir entry.

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator


Move to next entry

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::next

(PHP 5)

RecursiveDirectoryIterator::next — Move to next entry

Описание

void RecursiveDirectoryIterator::next ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator


Rewind dir back to the start

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::rewind

(PHP 5)

RecursiveDirectoryIterator::rewind — Rewind dir back to the start

Описание

void RecursiveDirectoryIterator::rewind ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator


The RecursiveFilterIterator class

(PHP 5 >= 5.1.0)

Введение

This abstract iterator filters out unwanted values for a RecursiveIterator. This class should be extended to implement custom filters. The RecursiveFilterIterator::accept() must be implemented in the subclass.

Обзор классов

RecursiveFilterIterator extends FilterIterator implements Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Методы */
__construct ( RecursiveIterator $iterator )
public void getChildren ( void )
public void hasChildren ( void )
/* Наследуемые методы */
abstract bool FilterIterator::accept ( void )
FilterIterator::__construct ( Iterator $iterator )
mixed FilterIterator::current ( void )
Iterator FilterIterator::getInnerIterator ( void )
mixed FilterIterator::key ( void )
void FilterIterator::next ( void )
void FilterIterator::rewind ( void )
bool FilterIterator::valid ( void )
}

Содержание

  • RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator
  • RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children
RecursiveDirectoryIterator::rewind
RecursiveFilterIterator::__construct
Итераторы


Create a RecursiveFilterIterator from a RecursiveIterator

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator

Описание

RecursiveFilterIterator::__construct ( RecursiveIterator $iterator )

Create a RecursiveFilterIterator from a RecursiveIterator.

Список параметров

iterator

The RecursiveIterator to be filtered.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Basic RecursiveFilterIterator() example

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
    public function accept() {
        // Accept the current item if we can recurse into it
        // or it is a value starting with "test"
        return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
    }
}

$arrary   = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

test1
test3
test4
test5

Пример #2 RecursiveFilterIterator() example

<?php
class StartsWithFilter extends RecursiveFilterIterator {

    protected $word;

    public function __construct(RecursiveIterator $rit, $word) {
        $this->word = $word;
        parent::__construct($rit);
    }

    public function accept() {
        return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
    }

    public function getChildren() {
        return new self($this->getInnerIterator()->getChildren(), $this->word);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new StartsWithFilter($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

test1
test3
test4
test5

Смотрите также

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator


Return the inner iterator's children contained in a RecursiveFilterIterator

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator

Описание

public void RecursiveFilterIterator::getChildren ( void )

Return the inner iterator's children contained in a RecursiveFilterIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a RecursiveFilterIterator containing the inner iterator's children.

Смотрите также

  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator


Check whether the inner iterator's current element has children

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Описание

public void RecursiveFilterIterator::hasChildren ( void )

Check whether the inner iterator's current element has children.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the inner iterator has children, otherwise FALSE

Смотрите также

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator


The RecursiveIteratorIterator class

(PHP 5)

Введение

Can be used to iterate through recursive iterators.

Обзор классов

RecursiveIteratorIterator implements OuterIterator , Traversable , Iterator {
/* Методы */
public void beginChildren ( void )
public void beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )
mixed current ( void )
public void endChildren ( void )
public void endIteration ( void )
int getDepth ( void )
public iterator getInnerIterator ( void )
public mixed getMaxDepth ( void )
RecursiveIterator getSubIterator ( void )
mixed key ( void )
void next ( void )
public void nextElement ( void )
void rewind ( void )
public void setMaxDepth ([ string $max_depth = -1 ] )
bool valid ( void )
/* Наследуемые методы */
public Iterator OuterIterator::getInnerIterator ( void )
}

Содержание

  • RecursiveIteratorIterator::beginChildren — Begin children
  • RecursiveIteratorIterator::beginIteration — Begin Iteration
  • RecursiveIteratorIterator::callGetChildren — Get children
  • RecursiveIteratorIterator::callHasChildren — Has children
  • RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Access the current element value
  • RecursiveIteratorIterator::endChildren — End children
  • RecursiveIteratorIterator::endIteration — End Iteration
  • RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration
  • RecursiveIteratorIterator::getInnerIterator — Get inner iterator
  • RecursiveIteratorIterator::getMaxDepth — Get max depth
  • RecursiveIteratorIterator::getSubIterator — The current active sub iterator
  • RecursiveIteratorIterator::key — Access the current key
  • RecursiveIteratorIterator::next — Move forward to the next element
  • RecursiveIteratorIterator::nextElement — Next element
  • RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator
  • RecursiveIteratorIterator::setMaxDepth — Set max depth
  • RecursiveIteratorIterator::valid — Check whether the current position is valid
RecursiveFilterIterator::hasChildren
RecursiveIteratorIterator::beginChildren
Итераторы


Begin children

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginChildren — Begin children

Описание

public void RecursiveIteratorIterator::beginChildren ( void )

Is called after calling RecursiveIteratorIterator::getChildren(), and its associated RecursiveIteratorIterator::rewind().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator


Begin Iteration

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginIteration — Begin Iteration

Описание

public void RecursiveIteratorIterator::beginIteration ( void )

Called when iteration begins (after the first RecursiveIteratorIterator::rewind() call.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator


Get children

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callGetChildren — Get children

Описание

public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )

Get children of the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A RecursiveIterator().

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator


Has children

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callHasChildren — Has children

Описание

public bool RecursiveIteratorIterator::callHasChildren ( void )

Called for each element to test whether it has children.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the element has children, otherwise FALSE

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator


Construct a RecursiveIteratorIterator

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3)

RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator

Описание

RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )

Creates a RecursiveIteratorIterator from a RecursiveIterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

iterator

The iterator being constructed from, which is from a RecursiveIterator or IteratorAggregate.

mode

The mode. Options are LEAVES_ONLY (default), SELF_FIRST and CHILD_FIRST.

flags

Возвращаемые значения

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator


Access the current element value

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::current

(PHP 5)

RecursiveIteratorIterator::current — Access the current element value

Описание

mixed RecursiveIteratorIterator::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current elements value.

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator


End children

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endChildren — End children

Описание

public void RecursiveIteratorIterator::endChildren ( void )

Called when end recursing one level.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator


End Iteration

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endIteration — End Iteration

Описание

public void RecursiveIteratorIterator::endIteration ( void )

Called when the iteration ends (when RecursiveIteratorIterator::valid() first returns FALSE.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator


Get the current depth of the recursive iteration

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getDepth

(PHP 5)

RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration

Описание

int RecursiveIteratorIterator::getDepth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current depth of the recursive iteration.

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator


Get inner iterator

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getInnerIterator — Get inner iterator

Описание

public iterator RecursiveIteratorIterator::getInnerIterator ( void )

Gets the current active sub iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current active sub iterator.

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator


Get max depth

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getMaxDepth — Get max depth

Описание

public mixed RecursiveIteratorIterator::getMaxDepth ( void )

Gets the maximum allowable depth.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The maximum accepted depth, or FALSE if any depth is allowed.

Смотрите также

  • RecursiveIteratorIterator::setMaxDepth() - Set max depth

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator


The current active sub iterator

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getSubIterator

(PHP 5)

RecursiveIteratorIterator::getSubIterator — The current active sub iterator

Описание

RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current active sub iterator.

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator


Access the current key

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::key

(PHP 5)

RecursiveIteratorIterator::key — Access the current key

Описание

mixed RecursiveIteratorIterator::key ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current key.

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator


Move forward to the next element

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::next

(PHP 5)

RecursiveIteratorIterator::next — Move forward to the next element

Описание

void RecursiveIteratorIterator::next ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator


Next element

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::nextElement — Next element

Описание

public void RecursiveIteratorIterator::nextElement ( void )

Called when the next element is available.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator


Rewind the iterator to the first element of the top level inner iterator

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::rewind

(PHP 5)

RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator

Описание

void RecursiveIteratorIterator::rewind ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator


Set max depth

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::setMaxDepth — Set max depth

Описание

public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )

Set the maximum allowed depth.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

max_depth

The maximum allowed depth. -1 is used for any depth.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Emits an Exception if max_depth is less than -1.

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator


Check whether the current position is valid

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::valid

(PHP 5)

RecursiveIteratorIterator::valid — Check whether the current position is valid

Описание

bool RecursiveIteratorIterator::valid ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current position is valid, otherwise FALSE

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator


The RecursiveRegexIterator class

(PHP 5 >= 5.2.0)

Введение

This recursive iterator can filter another recursive iterator via a regular expression.

Обзор классов

RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Методы */
public __construct ( RecursiveIterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )
public RecursiveRegexIterator getChildren ( void )
public bool hasChildren ( void )
/* Наследуемые методы */
public RecursiveIterator RecursiveIterator::getChildren ( void )
public bool RecursiveIterator::hasChildren ( void )
public bool RegexIterator::accept ( void )
public int RegexIterator::getFlags ( void )
public int RegexIterator::getMode ( void )
public int RegexIterator::getPregFlags ( void )
public string RegexIterator::getRegex ( void )
public void RegexIterator::setFlags ( int $flags )
public void RegexIterator::setMode ( int $mode )
public void RegexIterator::setPregFlags ( int $preg_flags )
}

Содержание

  • RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator.
  • RecursiveRegexIterator::getChildren — Returns an iterator for the current entry.
  • RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry.
RecursiveIteratorIterator::valid
RecursiveRegexIterator::__construct
Итераторы


Creates a new RecursiveRegexIterator.

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator.

Описание

public RecursiveRegexIterator::__construct() ( RecursiveIterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )

Creates a new regular expression iterator.

Список параметров

iterator

The recursive iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RecursiveRegexIterator::ALL_MATCHES | See preg_match_all().
RecursiveRegexIterator::GET_MATCH | See preg_match().
RecursiveRegexIterator::MATCH | See preg_match().
RecursiveRegexIterator::REPLACE | none.
RecursiveRegexIterator::SPLIT | See preg_split().

Примеры

Пример #1 RecursiveRegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

Результатом выполнения данного примера будет что-то подобное:

No children
Children: test4 test5

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator


Returns an iterator for the current entry.

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::getChildren — Returns an iterator for the current entry.

Описание

public RecursiveRegexIterator RecursiveRegexIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An iterator for the current entry, if it can be iterated over by the inner iterator.

Ошибки

An InvalidArgumentException will be thrown if the current entry does not contain a value that can be iterated over by the inner iterator.

Примеры

Пример #1 RecursiveRegexIterator::getChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

Результат выполнения данного примера:

No children
Children: test4 test5

Смотрите также

  • RecursiveRegexIterator::hasChildren() - Returns whether an iterator can be obtained for the current entry.

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator


Returns whether an iterator can be obtained for the current entry.

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry.

Описание

public bool RecursiveRegexIterator::hasChildren ( void )

Returns whether an iterator can be obtained for the current entry. This iterator can be obtained via RecursiveRegexIterator::getChildren().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if an iterator can be obtained for the current entry, otherwise returns FALSE.

Примеры

Пример #1 RecursiveRegexIterator::hasChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
    var_dump($rRegexIterator->hasChildren());
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • RecursiveRegexIterator::getChildren() - Returns an iterator for the current entry.

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator


The RecursiveTreeIterator class

(PHP 5 >= 5.3.0)

Введение

Allows iterating over a RecursiveIterator to generate an ASCII graphic tree.

Обзор классов

RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator , Traversable , Iterator {
/* Константы */
const integer BYPASS_CURRENT = 4 ;
const integer BYPASS_KEY = 8 ;
const integer PREFIX_LEFT = 0 ;
const integer PREFIX_MID_HAS_NEXT = 1 ;
const integer PREFIX_MID_LAST = 2 ;
const integer PREFIX_END_HAS_NEXT = 3 ;
const integer PREFIX_END_LAST = 4 ;
const integer PREFIX_RIGHT = 5 ;
/* Методы */
public void beginChildren ( void )
public RecursiveIterator beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
__construct ( RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST ]]] )
public string current ( void )
public void endChildren ( void )
public void endIteration ( void )
public string getEntry ( void )
public void getPostfix ( void )
public string getPrefix ( void )
public string key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setPrefixPart ( int $part , string $value )
public bool valid ( void )
/* Наследуемые методы */
public void RecursiveIteratorIterator::beginChildren ( void )
public void RecursiveIteratorIterator::beginIteration ( void )
public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )
public bool RecursiveIteratorIterator::callHasChildren ( void )
RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )
mixed RecursiveIteratorIterator::current ( void )
public void RecursiveIteratorIterator::endChildren ( void )
public void RecursiveIteratorIterator::endIteration ( void )
int RecursiveIteratorIterator::getDepth ( void )
public iterator RecursiveIteratorIterator::getInnerIterator ( void )
public mixed RecursiveIteratorIterator::getMaxDepth ( void )
RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
mixed RecursiveIteratorIterator::key ( void )
void RecursiveIteratorIterator::next ( void )
public void RecursiveIteratorIterator::nextElement ( void )
void RecursiveIteratorIterator::rewind ( void )
public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )
bool RecursiveIteratorIterator::valid ( void )
}

Предопределенные константы

RecursiveTreeIterator Node Types

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

Содержание

  • RecursiveTreeIterator::beginChildren — Begin children
  • RecursiveTreeIterator::beginIteration — Begin iteration
  • RecursiveTreeIterator::callGetChildren — Get children
  • RecursiveTreeIterator::callHasChildren — Has children
  • RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator
  • RecursiveTreeIterator::current — Get current element
  • RecursiveTreeIterator::endChildren — End children
  • RecursiveTreeIterator::endIteration — End iteration
  • RecursiveTreeIterator::getEntry — Get current entry
  • RecursiveTreeIterator::getPostfix — Get the postfix
  • RecursiveTreeIterator::getPrefix — Get the prefix
  • RecursiveTreeIterator::key — Get the key of the current element
  • RecursiveTreeIterator::next — Move to next element
  • RecursiveTreeIterator::nextElement — Next element
  • RecursiveTreeIterator::rewind — Rewind iterator
  • RecursiveTreeIterator::setPrefixPart — Set a part of the prefix
  • RecursiveTreeIterator::valid — Check validity
RecursiveRegexIterator::hasChildren
RecursiveTreeIterator::beginChildren
Итераторы


Begin children

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginChildren — Begin children

Описание

public void RecursiveTreeIterator::beginChildren ( void )

Called when recursing one level down.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator


Begin iteration

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginIteration — Begin iteration

Описание

public RecursiveIterator RecursiveTreeIterator::beginIteration ( void )

Called when iteration begins (after the first RecursiveTreeIterator::rewind() call).

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A RecursiveIterator.

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator


Get children

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callGetChildren — Get children

Описание

public RecursiveIterator RecursiveTreeIterator::callGetChildren ( void )

Gets children of the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A RecursiveIterator.

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator


Has children

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callHasChildren — Has children

Описание

public bool RecursiveTreeIterator::callHasChildren ( void )

Called for each element to test whether it has children.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if there are children, otherwise FALSE

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator


Construct a RecursiveTreeIterator

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator

Описание

  RecursiveTreeIterator::__construct
  ( RecursiveIterator|IteratorAggregate $it
 [, int $flags = RecursiveTreeIterator::BYPASS_KEY
 [, int $cit_flags = CachingIterator::CATCH_GET_CHILD
 [, int $mode = RecursiveIteratorIterator::SELF_FIRST
]]] )

Constructs a new RecursiveTreeIterator from the supplied recursive iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

it

The RecursiveIterator or IteratorAggregate to iterate over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under RecursiveTreeIterator predefined constants.

caching_it_flags

Flags to affect the behavior of the RecursiveCachingIterator used internally.

mode

Flags to affect the behavior of the RecursiveIteratorIterator used internally.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator


Get current element

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::current — Get current element

Описание

public string RecursiveTreeIterator::current ( void )

Gets the current element prefixed and postfixed.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current element prefixed and postfixed.

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator


End children

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endChildren — End children

Описание

public void RecursiveTreeIterator::endChildren ( void )

Called when end recursing one level.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator


End iteration

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endIteration — End iteration

Описание

public void RecursiveTreeIterator::endIteration ( void )

Called when the iteration ends (when RecursiveTreeIterator::valid() first returns FALSE)

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator


Get current entry

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getEntry — Get current entry

Описание

public string RecursiveTreeIterator::getEntry ( void )

Gets the part of the tree built for the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the part of the tree built for the current element.

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator


Get the postfix

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPostfix — Get the postfix

Описание

public void RecursiveTreeIterator::getPostfix ( void )

Gets the string to place after the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the string to place after the current element.

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator


Get the prefix

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPrefix — Get the prefix

Описание

public string RecursiveTreeIterator::getPrefix ( void )

Gets the string to place in front of current element

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the string to place in front of current element

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator


Get the key of the current element

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::key — Get the key of the current element

Описание

public string RecursiveTreeIterator::key ( void )

Gets the current key prefixed and postfixed.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current key prefixed and postfixed.

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator


Move to next element

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::next — Move to next element

Описание

public void RecursiveTreeIterator::next ( void )

Moves forward to the next element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator


Next element

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::nextElement — Next element

Описание

public void RecursiveTreeIterator::nextElement ( void )

Called when the next element is available.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator


Rewind iterator

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::rewind — Rewind iterator

Описание

public void RecursiveTreeIterator::rewind ( void )

Rewinds the iterator to the first element of the top level inner iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator


Set a part of the prefix

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::setPrefixPart — Set a part of the prefix

Описание

public void RecursiveTreeIterator::setPrefixPart ( int $part , string $value )

Sets a part of the prefix used in the graphic tree.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

part

One of the RecursiveTreeIterator::PREFIX_* constants.

value

The value to assign to the part of the prefix specified in part.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator


Check validity

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::valid — Check validity

Описание

public bool RecursiveTreeIterator::valid ( void )

Check whether the current position is valid.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current position is valid, otherwise FALSE

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator


The RegexIterator class

(PHP 5 >= 5.2.0)

Введение

This iterator can be used to filter another iterator based on a regular expression.

Обзор классов

RegexIterator extends FilterIterator {
/* Константы */
const integer RegexIterator->MATCH = 0 ;
const integer GET_MATCH = 1 ;
const integer ALL_MATCHES = 2 ;
const integer SPLIT = 3 ;
const integer REPLACE = 4 ;
const integer USE_KEY = 1 ;
/* Методы */
RegexIterator::__construct ( Iterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )
public bool RegexIterator::accept ( void )
public int RegexIterator::getFlags ( void )
public int RegexIterator::getMode ( void )
public int RegexIterator::getPregFlags ( void )
public string RegexIterator::getRegex ( void )
public void RegexIterator::setFlags ( int $flags )
public void RegexIterator::setMode ( int $mode )
public void RegexIterator::setPregFlags ( int $preg_flags )
/* Наследуемые методы */
abstract bool FilterIterator::accept ( void )
FilterIterator::__construct ( Iterator $iterator )
mixed FilterIterator::current ( void )
Iterator FilterIterator::getInnerIterator ( void )
mixed FilterIterator::key ( void )
void FilterIterator::next ( void )
void FilterIterator::rewind ( void )
bool FilterIterator::valid ( void )
}

Предопределенные константы

RegexIterator operation modes

RegexIterator::ALL_MATCHES

Return all matches for the current entry (see preg_match_all()).

RegexIterator::GET_MATCH

Return the first match for the current entry (see preg_match()).

RegexIterator::MATCH

Only execute match (filter) for the current entry (see preg_match()).

RegexIterator::REPLACE

Replace the current entry (see preg_replace(); Not fully implemented yet)

RegexIterator::SPLIT

Returns the split values for the current entry (see preg_split()).

RegexIterator Flags

RegexIterator::USE_KEY

Special flag: Match the entry key instead of the entry value.

Содержание

  • RegexIterator::accept — Get accept status
  • RegexIterator::__construct — Create a new RegexIterator
  • RegexIterator::getFlags — Get flags
  • RegexIterator::getMode — Returns operation mode.
  • RegexIterator::getPregFlags — Returns the regular expression flags.
  • RegexIterator::getRegex — Returns current regular expression
  • RegexIterator::setFlags — Sets the flags.
  • RegexIterator::setMode — Sets the operation mode.
  • RegexIterator::setPregFlags — Sets the regular expression flags.
RecursiveTreeIterator::valid
RegexIterator::accept
Итераторы


Get accept status

RegexIterator
RegexIterator::__construct
RegexIterator
PHP Manual

RegexIterator::accept

(PHP 5 >= 5.2.0)

RegexIterator::accept — Get accept status

Описание

public bool RegexIterator::accept ( void )

Matches (string)  RegexIterator::current()
(or  RegexIterator::key() if the
RegexIterator::USE_KEY flag is set)
against the regular expression.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if a match, FALSE otherwise.

Примеры

Пример #1 RegexIterator::accept() example

This example shows that only items matching the regular expression are accepted.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
    echo $name . PHP_EOL;
}
?>

Результат выполнения данного примера:

Bob
Charlie
David

Смотрите также

  • RegexIterator constants
  • RegexIterator::setFlags() - Sets the flags.

RegexIterator
RegexIterator::__construct
RegexIterator


Create a new RegexIterator

RegexIterator::accept
RegexIterator::getFlags
RegexIterator
PHP Manual

RegexIterator::__construct

(PHP 5 >= 5.2.0)

RegexIterator::__construct — Create a new RegexIterator

Описание

RegexIterator::__construct() ( Iterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )

Create a new RegexIterator which filters an Iterator using a regular expression.

Список параметров

iterator

The iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RegexIterator::ALL_MATCHES | See preg_match_all().
RegexIterator::GET_MATCH | See preg_match().
RegexIterator::MATCH | See preg_match().
RegexIterator::REPLACE | none.
RegexIterator::SPLIT | See preg_split().

Примеры

Пример #1 RegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
    echo $value . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

test 1
test 123

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению

RegexIterator::accept
RegexIterator::getFlags
RegexIterator


Get flags

RegexIterator::__construct
RegexIterator::getMode
RegexIterator
PHP Manual

RegexIterator::getFlags

(PHP 5 >= 5.2.0)

RegexIterator::getFlags — Get flags

Описание

public int RegexIterator::getFlags ( void )

Returns the flags, see RegexIterator::setFlags() for a list of available flags.

Возвращаемые значения

Returns the set flags.

Примеры

Пример #1 RegexIterator::getFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
    echo 'Filtering based on the array keys.';
} else {
    echo 'Filtering based on the array values.';
}
?>

Результат выполнения данного примера:

Filtering based on the array keys.

Смотрите также

  • RegexIterator::setFlags() - Sets the flags.

RegexIterator::__construct
RegexIterator::getMode
RegexIterator


Returns operation mode.

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator
PHP Manual

RegexIterator::getMode

(PHP 5 >= 5.2.0)

RegexIterator::getMode — Returns operation mode.

Описание

public int RegexIterator::getMode ( void )

Returns the operation mode, see RegexIterator::setMode() for the list of operation modes.

Возвращаемые значения

Returns the operation mode.

Примеры

Пример #1 RegexIterator::getMode() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
    echo 'Getting the match for each item.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
    echo 'Getting all matches for each item.';
} elseif ($mode & RegexIterator::MATCH) {
    echo 'Getting each item if it matches.';
} elseif ($mode & RegexIterator::SPLIT) {
    echo 'Getting split pieces of each.';
}
?>

Результат выполнения данного примера:

Getting the match for each item.

Смотрите также

  • RegexIterator::setMode() - Sets the operation mode.

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator


Returns the regular expression flags.

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator
PHP Manual

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::getPregFlags — Returns the regular expression flags.

Описание

public int RegexIterator::getPregFlags ( void )

Returns the regular expression flags, see RegexIterator::__construct() for the list of flags.

Возвращаемые значения

Returns a bitmask of the regular expression flags.

Примеры

Пример #1 RegexIterator::getPregFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
    echo 'Ignoring empty pieces';
} else {
    echo 'Not ignoring empty pieces';
}

?>

Результат выполнения данного примера:

Ignoring empty pieces

Смотрите также

  • RegexIterator::setPregFlags() - Sets the regular expression flags.

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator


Returns current regular expression

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator
PHP Manual

RegexIterator::getRegex

(Информация о версии неизвестна, возможно, только в SVN)

RegexIterator::getRegex — Returns current regular expression

Описание

public string RegexIterator::getRegex ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator


Sets the flags.

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator
PHP Manual

RegexIterator::setFlags

(PHP 5 >= 5.2.0)

RegexIterator::setFlags — Sets the flags.

Описание

public void RegexIterator::setFlags ( int $flags )

Sets the flags.

Список параметров

flags

The flags to set, a bitmask of class constants.

The available flags are listed below. The actual meanings of these flags are described in the predefined constants.

RegexIterator flags
value | constant
1 | RegexIterator::USE_KEY

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 RegexIterator::setFlags() example

Creates a new RegexIterator that filters all entries whose key starts with 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $key => $value) {
    echo $key . ' => ' . $value . "\n";
}
?>

Результат выполнения данного примера:

teststr2 => another test

Смотрите также

  • RegexIterator::getFlags() - Get flags

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator


Sets the operation mode.

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator
PHP Manual

RegexIterator::setMode

(PHP 5 >= 5.2.0)

RegexIterator::setMode — Sets the operation mode.

Описание

public void RegexIterator::setMode ( int $mode )

Sets the operation mode.

Список параметров

mode

The operation mode.

The available modes are listed below. The actual meanings of these modes are described in the predefined constants.

RegexIterator modes
value | constant
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 RegexIterator::setMode() example

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filter everything that starts with 'test ' followed by one or more numbers.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Operation mode: Replace actual value with the matches
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $key => $value) {
    // print out the matched number(s)
    echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

Результатом выполнения данного примера будет что-то подобное:

str1 => 1
str3 => 123

Смотрите также

  • RegexIterator::getMode() - Returns operation mode.

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator


Sets the regular expression flags.

RegexIterator::setMode
SimpleXMLIterator
RegexIterator
PHP Manual

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::setPregFlags — Sets the regular expression flags.

Описание

public void RegexIterator::setPregFlags ( int $preg_flags )

Sets the regular expression flags.

Список параметров

preg_flags

The regular expression flags. See RegexIterator::__construct() for an overview of available flags.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 RegexIterator::setPregFlags() example

Creates a new RegexIterator that filters all entries with where the array key starts with 'test'.

<?php
$test = array ('test 1', 'another test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $key => $value) {
    var_dump($value);
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Смотрите также

  • RegexIterator::getPregFlags() - Returns the regular expression flags.

RegexIterator::setMode
SimpleXMLIterator
RegexIterator


The SimpleXMLIterator class

(PHP 5 >= 5.1.0)

Введение

The SimpleXMLIterator provides recursive iteration over all nodes of a SimpleXMLElement object.

Обзор классов

SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Traversable , Iterator , Countable {
/* Методы */
public mixed current ( void )
object getChildren ( void )
bool hasChildren ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
/* Наследуемые методы */
public SimpleXMLElement::__construct ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )
public void SimpleXMLElement::addAttribute ( string $name [, string $value [, string $namespace ]] )
public SimpleXMLElement SimpleXMLElement::addChild ( string $name [, string $value [, string $namespace ]] )
public mixed SimpleXMLElement::asXML ([ string $filename ] )
public SimpleXMLElement SimpleXMLElement::attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )
public SimpleXMLElement SimpleXMLElement::children ([ string $ns [, bool $is_prefix = false ]] )
public int SimpleXMLElement::count ( void )
public array SimpleXMLElement::getDocNamespaces ([ bool $recursive = false ] )
public string SimpleXMLElement::getName ( void )
public array SimpleXMLElement::getNamespaces ([ bool $recursive = false ] )
public bool SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns )
public array SimpleXMLElement::xpath ( string $path )
}

Содержание

  • SimpleXMLIterator::current — Возвращает текущий элемент
  • SimpleXMLIterator::getChildren — Returns the sub-elements of the current element
  • SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.
  • SimpleXMLIterator::key — Return current key
  • SimpleXMLIterator::next — Move to next element
  • SimpleXMLIterator::rewind — Rewind to the first element
  • SimpleXMLIterator::valid — Check whether the current element is valid
RegexIterator::setPregFlags
SimpleXMLIterator::current
Итераторы


Возвращает текущий элемент

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::current

(PHP 5 >= 5.1.0)

SimpleXMLIterator::current — Возвращает текущий элемент

Описание

public mixed SimpleXMLIterator::current ( void )

Этот метод возвращает текущий элемент как объект класса SimpleXMLIterator или NULL.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает текущий элемент как объект класса SimpleXMLIterator или NULL в случае ошибки.

Примеры

Пример #1 Возвращение текущего элемента

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>Основы PHP</book><book>Основы XML</book></books>');
var_dump($xmlIterator->current());

$xmlIterator->rewind(); // сбрасывает курсор к первому элементу
var_dump($xmlIterator->current());
?>

Результат выполнения данного примера:

NULL
object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "Основы PHP"
}

Смотрите также

  • SimpleXMLIterator::key() - Return current key
  • SimpleXMLIterator::next() - Move to next element
  • SimpleXMLIterator::rewind() - Rewind to the first element
  • SimpleXMLIterator::valid() - Check whether the current element is valid
  • SimpleXMLElement

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator


Returns the sub-elements of the current element

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::getChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::getChildren — Returns the sub-elements of the current element

Описание

object SimpleXMLIterator::getChildren ( void )

This method returns a SimpleXMLIterator object containing sub-elements of the current SimpleXMLIterator element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SimpleXMLIterator object containing the sub-elements of the current element.

Примеры

Пример #1 Return the sub-elements of the current element

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator($xml);
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    foreach($xmlIterator->getChildren() as $name => $data) {
    echo "The $name is '$data' from the class " . get_class($data) . "\n";
    }
}
?>

Результат выполнения данного примера:

The title is 'PHP Basics' from the class SimpleXMLIterator
The author is 'Jim Smith' from the class SimpleXMLIterator

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator


Checks whether the current element has sub elements.

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.

Описание

bool SimpleXMLIterator::hasChildren ( void )

This method checks whether the current SimpleXMLIterator element has sub-elements.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the current element has sub-elements, otherwise FALSE

Примеры

Пример #1 Check whether the current element has sub-elements

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator( $xml );
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    if($xmlIterator->hasChildren()) {
        var_dump($xmlIterator->current());
    }
}
?>

Результат выполнения данного примера:

object(SimpleXMLIterator)#2 (2) {
  ["title"]=>
  string(10) "PHP Basics"
  ["author"]=>
  string(9) "Jim Smith"
}

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator


Return current key

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::key

(PHP 5 >= 5.1.0)

SimpleXMLIterator::key — Return current key

Описание

mixed SimpleXMLIterator::key ( void )

This method gets the XML tag name of the current element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the XML tag name of the element referenced by the current SimpleXMLIterator object or FALSE

Примеры

Пример #1 Get the current XML tag key

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');

echo var_dump($xmlIterator->key());
$xmlIterator->rewind(); // rewind to the first element
echo var_dump($xmlIterator->key());

?>

Результат выполнения данного примера:

bool(false)
string(4) "book"

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator


Move to next element

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::next

(PHP 5 >= 5.1.0)

SimpleXMLIterator::next — Move to next element

Описание

void SimpleXMLIterator::next ( void )

This method moves the SimpleXMLIterator to the next element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Move to the next element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML basics</book></books>');
$xmlIterator->rewind(); // rewind to the first element
$xmlIterator->next();

var_dump($xmlIterator->current());
?>

Результат выполнения данного примера:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "XML basics"
}

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator


Rewind to the first element

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::rewind

(PHP 5 >= 5.1.0)

SimpleXMLIterator::rewind — Rewind to the first element

Описание

void SimpleXMLIterator::rewind ( void )

This method rewinds the SimpleXMLIterator to the first element.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Rewind to the first element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML Basics</book></books>');
$xmlIterator->rewind();

var_dump($xmlIterator->current());
?>

Результат выполнения данного примера:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP Basics"
}

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator


Check whether the current element is valid

SimpleXMLIterator::rewind
Интерфейсы
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::valid

(PHP 5 >= 5.1.0)

SimpleXMLIterator::valid — Check whether the current element is valid

Описание

bool SimpleXMLIterator::valid ( void )

This method checks if the current element is valid after calls to SimpleXMLIterator::rewind() or SimpleXMLIterator::next().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current element is valid, otherwise FALSE

Примеры

Пример #1 Check whether the current element is valid

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>SQL Basics</book></books>');

$xmlIterator->rewind(); // rewind to the first element
echo var_dump($xmlIterator->valid()); // bool(true)

$xmlIterator->next(); // advance to the next element
echo var_dump($xmlIterator->valid()); // bool(false) because there is only one element
?>

SimpleXMLIterator::rewind
Интерфейсы
SimpleXMLIterator


Интерфейсы

Содержание

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

SPL обеспечивает набор интерфейсов.

Смотрите также Встроенные интерфейсы

Список интерфейсов

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject
SimpleXMLIterator::valid
Countable
SPL


Интерфейс Countable

(PHP 5 >= 5.1.0)

Введение

Классы, которые реализуют интерфейс Countable, могут быть использованы с функцией count().

Обзор интерфейсов

Countable {
/* Методы */
abstract public int count ( void )
}

Содержание

  • Countable::count — Количество элементов объекта
Интерфейсы
Countable::count
Интерфейсы


Количество элементов объекта

Countable
OuterIterator
Countable
PHP Manual

Countable::count

(PHP 5 >= 5.1.0)

Countable::count — Количество элементов объекта

Описание

abstract public int Countable::count ( void )

Этот метод выполняется при использовании метода count() объекта Countable.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Пользовательское значение типа integer.

Замечание:

Возвращаемое значение приводится к типу integer.

Примеры

Пример #1 Пример использования Countable::count()

<?php
class myCounter implements Countable {
    public function count() {
        static $count = 0;
        return ++$count;
    }
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
    echo "Я посчитан " . count($counter) . " раз\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Я посчитан 1 раз
Я посчитан 2 раз
Я посчитан 3 раз
Я посчитан 4 раз
Я посчитан 5 раз
Я посчитан 6 раз
Я посчитан 7 раз
Я посчитан 8 раз
Я посчитан 9 раз
Я посчитан 10 раз

Countable
OuterIterator
Countable


The OuterIterator interface

(PHP 5 >= 5.1.0)

Введение

Classes implementing OuterIterator can be used to iterate over iterators.

Обзор интерфейсов

OuterIterator extends Iterator {
/* Методы */
public Iterator getInnerIterator ( void )
/* Наследуемые методы */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Содержание

  • OuterIterator::getInnerIterator — Returns the inner iterator for the current entry.
Countable::count
OuterIterator::getInnerIterator
Интерфейсы


Returns the inner iterator for the current entry.

OuterIterator
RecursiveIterator
OuterIterator
PHP Manual

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

OuterIterator::getInnerIterator — Returns the inner iterator for the current entry.

Описание

public Iterator OuterIterator::getInnerIterator ( void )

Returns the inner iterator for the current iterator entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The inner iterator for the current entry.

OuterIterator
RecursiveIterator
OuterIterator


The RecursiveIterator interface

(PHP 5 >= 5.1.0)

Введение

Classes implementing RecursiveIterator can be used to iterate over iterators recursively.

Обзор интерфейсов

RecursiveIterator extends Iterator {
/* Методы */
public RecursiveIterator getChildren ( void )
public bool hasChildren ( void )
/* Наследуемые методы */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Содержание

  • RecursiveIterator::getChildren — Returns an iterator for the current entry.
  • RecursiveIterator::hasChildren — Returns if an iterator can be created fot the current entry.
OuterIterator::getInnerIterator
RecursiveIterator::getChildren
Интерфейсы


Returns an iterator for the current entry.

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator
PHP Manual

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::getChildren — Returns an iterator for the current entry.

Описание

public RecursiveIterator RecursiveIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An iterator for the current entry.

Смотрите также

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator


Returns if an iterator can be created fot the current entry.

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator
PHP Manual

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::hasChildren — Returns if an iterator can be created fot the current entry.

Описание

public bool RecursiveIterator::hasChildren ( void )

Returns if an iterator can be created fot the current entry. RecursiveIterator::getChildren().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the current entry can be iterated over, otherwise returns FALSE.

Смотрите также

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator


The SeekableIterator interface

(PHP 5 >= 5.1.0)

Введение

The Seekable iterator.

Обзор интерфейсов

SeekableIterator extends Iterator {
/* Методы */
abstract public void seek ( int $position )
/* Наследуемые методы */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Пример #1 Basic usage

This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position.

<?php
class MySeekableIterator implements SeekableIterator {

    private $position = 0;

    private $array = array(
        "first element",
        "second element",
        "third element",
        "fourth element"
    );

    public function seek($position) {
      $this->position = $position;

      if (!$this->valid()) {
          throw new OutOfBoundsException("invalid seek position ($position)");
      }
    }

    /* Methods required for Iterator interface */

    public function __construct() {
        $this->position = 0;
    }

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

try {

    $it = new MySeekableIterator;
    echo $it->current(), "\n";

    $it->seek(2);
    echo $it->current(), "\n";

    $it->seek(1);
    echo $it->current(), "\n";

    $it->seek(10);

} catch (OutOfBoundsException $e) {
    echo $e->getMessage();
}
?>

Результатом выполнения данного примера будет что-то подобное:

first element
third element
second element
invalid seek position (10)

Содержание

  • SeekableIterator::seek — Seeks to a position
RecursiveIterator::hasChildren
SeekableIterator::seek
Интерфейсы


Seeks to a position

SeekableIterator
Исключения
SeekableIterator
PHP Manual

SeekableIterator::seek

(PHP 5 >= 5.1.0)

SeekableIterator::seek — Seeks to a position

Описание

abstract public void SeekableIterator::seek ( int $position )

Seeks to a given position in the iterator.

Список параметров

position

The position to seek to.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Implementations should throw an OutOfBoundsException if the position is not seekable.

Примеры

Пример #1 SeekableIterator::seek() example

Seek to the item at position 3 in the iterator (ArrayIterator implements SeekableIterator).

<?php
$array = array("apple", "banana", "cherry", "damson", "elderberry");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

Результатом выполнения данного примера будет что-то подобное:

damson

Смотрите также

  • SeekableIterator
  • Iterator

SeekableIterator
Исключения
SeekableIterator


Исключения

Содержание

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

SPL обеспечивает набор стандартных исключений.

Смотрите также Предопределённые исключения

SeekableIterator::seek
BadFunctionCallException
SPL


The BadFunctionCallException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a callback refers to an undefined function or if some arguments are missing.

Обзор классов

BadFunctionCallException extends LogicException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Исключения
BadMethodCallException
Исключения


The BadMethodCallException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a callback refers to an undefined method or if some arguments are missing.

Обзор классов

BadMethodCallException extends BadFunctionCallException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadFunctionCallException
DomainException
Исключения


The DomainException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a value does not adhere to a defined valid data domain.

Обзор классов

DomainException extends LogicException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadMethodCallException
InvalidArgumentException
Исключения


The InvalidArgumentException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if an argument does not match with the expected value.

Обзор классов

InvalidArgumentException extends LogicException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
DomainException
LengthException
Исключения


The LengthException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a length is invalid.

Обзор классов

LengthException extends LogicException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
InvalidArgumentException
LogicException
Исключения


The LogicException class

(PHP 5 >= 5.1.0)

Введение

Exception that represents error in the program logic. This kind of exceptions should directly lead to a fix in your code.

Обзор классов

LogicException extends Exception {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LengthException
OutOfBoundsException
Исключения


The OutOfBoundsException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a value is not a valid key. This represents errors that cannot be detected at compile time.

Обзор классов

OutOfBoundsException extends RuntimeException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LogicException
OutOfRangeException
Исключения


The OutOfRangeException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown when an illegal index was requested. This represents errors that should be detected at compile time.

Обзор классов

OutOfRangeException extends LogicException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfBoundsException
OverflowException
Исключения


The OverflowException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown when you add an element into a full container.

Обзор классов

OverflowException extends RuntimeException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfRangeException
RangeException
Исключения


The RangeException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

Обзор классов

RangeException extends RuntimeException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OverflowException
RuntimeException
Исключения


The RuntimeException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if an error which can only be found on runtime occurs.

Обзор классов

RuntimeException extends Exception {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RangeException
UnderflowException
Исключения


The UnderflowException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown when you try to remove an element of an empty container.

Обзор классов

UnderflowException extends RuntimeException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RuntimeException
UnexpectedValueException
Исключения


The UnexpectedValueException class

(PHP 5 >= 5.1.0)

Введение

Exception thrown if a value does not match with a set of values. Typically this happens when a function calls another function and expects the return value to be of a certain type or value not including arithmetic or buffer related errors.

Обзор классов

UnexpectedValueException extends RuntimeException {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UnderflowException
SPL Функции
Исключения


SPL Функции

Содержание

  • class_implements — Return the interfaces which are implemented by the given class
  • class_parents — Return the parent classes of the given class
  • class_uses — Return the traits used by the given class
  • iterator_apply — Call a function for every element in an iterator
  • iterator_count — Count the elements in an iterator
  • iterator_to_array — Копирует итератор в массив
  • spl_autoload_call — Try all registered __autoload() function to load the requested class
  • spl_autoload_extensions — Register and return default file extensions for spl_autoload
  • spl_autoload_functions — Return all registered __autoload() functions
  • spl_autoload_register — Register given function as __autoload() implementation
  • spl_autoload_unregister — Unregister given function as __autoload() implementation
  • spl_autoload — Default implementation for __autoload()
  • spl_classes — Return available SPL classes
  • spl_object_hash — Return hash id for given object
UnexpectedValueException
class_implements
SPL


Return the interfaces which are implemented by the given class

SPL Функции
class_parents
SPL Функции
PHP Manual

class_implements

(PHP 5 >= 5.1.0)

class_implements — Return the interfaces which are implemented by the given class

Описание

array class_implements ( mixed $class [, bool $autoload = true ] )

This function returns an array with the names of the interfaces that the given class and its parents implement.

Список параметров

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method.

Возвращаемые значения

An array on success, or FALSE on error.

Список изменений

Версия | Описание
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Примеры

Пример #1 class_implements() example

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Смотрите также

  • class_parents() - Return the parent classes of the given class
  • get_declared_interfaces() - Возвращает массив всех объявленных интерфейсов

SPL Функции
class_parents
SPL Функции


Return the parent classes of the given class

class_implements
class_uses
SPL Функции
PHP Manual

class_parents

(PHP 5 >= 5.1.0)

class_parents — Return the parent classes of the given class

Описание

array class_parents ( mixed $class [, bool $autoload = true ] )

This function returns an array with the name of the parent classes of the given class.

Список параметров

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method.

Возвращаемые значения

An array on success, or FALSE on error.

Список изменений

Версия | Описание
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Примеры

Пример #1 class_parents() example

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_parents('not_loaded', true));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Смотрите также

  • class_implements() - Return the interfaces which are implemented by the given class

class_implements
class_uses
SPL Функции


Return the traits used by the given class

class_parents
iterator_apply
SPL Функции
PHP Manual

class_uses

(Информация о версии неизвестна, возможно, только в SVN)

class_uses — Return the traits used by the given class

Описание

array class_uses ( mixed $class [, bool $autoload = true ] )

This function returns an array with the names of the traits that the given class uses. This does however not include any traits used by a parent class.

Список параметров

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method.

Возвращаемые значения

An array on success, or FALSE on error.

Примеры

Пример #1 class_implements() example

<?php

trait foo { }
class bar {
  use foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [foo] => foo
)

Array
(
    [foo] => foo
)

Array
(
    [trait_of_not_loaded] => trait_of_not_loaded
)

Смотрите также

  • class_parents() - Return the parent classes of the given class
  • get_declared_traits()

class_parents
iterator_apply
SPL Функции


Call a function for every element in an iterator

class_uses
iterator_count
SPL Функции
PHP Manual

iterator_apply

(PHP 5 >= 5.1.0)

iterator_apply — Call a function for every element in an iterator

Описание

int iterator_apply ( Traversable $iterator , callback $function [, array $args ] )

Calls a function for every element in an iterator.

Список параметров

iterator

The class to iterate over.

function

The callback function to call on every element.

Замечание: The function must return TRUE in order to continue iterating over the iterator.

args

Arguments to pass to the callback function.

Возвращаемые значения

Returns the iteration count.

Примеры

Пример #1 iterator_apply() example

<?php
function print_caps(Iterator $iterator) {
    echo strtoupper($iterator->current()) . "\n";
    return TRUE;
}

$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>

Результат выполнения данного примера:

APPLES
BANANAS
CHERRIES

Смотрите также

  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива

class_uses
iterator_count
SPL Функции


Count the elements in an iterator

iterator_apply
iterator_to_array
SPL Функции
PHP Manual

iterator_count

(PHP 5 >= 5.1.0)

iterator_count — Count the elements in an iterator

Описание

int iterator_count ( Traversable $iterator )

Count the elements in an iterator.

Список параметров

iterator

The iterator being counted.

Возвращаемые значения

The number of elements in iterator.

Примеры

Пример #1 iterator_count() example

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_count($iterator));
?>

Результат выполнения данного примера:

int(4)

iterator_apply
iterator_to_array
SPL Функции


Копирует итератор в массив

iterator_count
spl_autoload_call
SPL Функции
PHP Manual

iterator_to_array

(PHP 5 >= 5.1.0)

iterator_to_array — Копирует итератор в массив

Описание

array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )

Копирует элементы итератора в массив.

Список параметров

iterator

Копируемый итератор.

use_keys

Следует ли использовать ключи элементов итератора как индексы.

Возвращаемые значения

Массив (array), содержащий элементы итератора (iterator).

Список изменений

Версия | Описание
5.2.1 | Добавлен параметр use_keys.

Примеры

Пример #1 Пример использования iterator_to_array()

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

Результат выполнения данного примера:

array(4) {
  ["recipe"]=>
  string(8) "pancakes"
  [0]=>
  string(3) "egg"
  [1]=>
  string(4) "milk"
  [2]=>
  string(5) "flour"
}
array(4) {
  [0]=>
  string(8) "pancakes"
  [1]=>
  string(3) "egg"
  [2]=>
  string(4) "milk"
  [3]=>
  string(5) "flour"
}

iterator_count
spl_autoload_call
SPL Функции


Try all registered __autoload() function to load the requested class

iterator_to_array
spl_autoload_extensions
SPL Функции
PHP Manual

spl_autoload_call

(PHP 5 >= 5.1.2)

spl_autoload_call — Try all registered __autoload() function to load the requested class

Описание

void spl_autoload_call ( string $class_name )

This function can be used to manually search for a class or interface using the registered __autoload functions.

Список параметров

class_name

The class name being searched.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

iterator_to_array
spl_autoload_extensions
SPL Функции


Register and return default file extensions for spl_autoload

spl_autoload_call
spl_autoload_functions
SPL Функции
PHP Manual

spl_autoload_extensions

(PHP 5 >= 5.1.2)

spl_autoload_extensions — Register and return default file extensions for spl_autoload

Описание

string spl_autoload_extensions ([ string $file_extensions ] )

This function can modify and check the file extensions that the built in __autoload() fallback function spl_autoload() will be using.

Список параметров

file_extensions

When calling without an argument, it simply returns the current list of extensions each separated by comma. To modify the list of file extensions, simply invoke the functions with the new list of file extensions to use in a single string with each extensions separated by comma.

Возвращаемые значения

A comma delimited list of default file extensions for spl_autoload().

spl_autoload_call
spl_autoload_functions
SPL Функции


Return all registered __autoload() functions

spl_autoload_extensions
spl_autoload_register
SPL Функции
PHP Manual

spl_autoload_functions

(PHP 5 >= 5.1.2)

spl_autoload_functions — Return all registered __autoload() functions

Описание

array spl_autoload_functions ( void )

Get all registered __autoload() functions.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of all registered __autoload functions. If the autoload stack is not activated then the return value is FALSE. If no function is registered the return value will be an empty array.

spl_autoload_extensions
spl_autoload_register
SPL Функции


Register given function as __autoload() implementation

spl_autoload_functions
spl_autoload_unregister
SPL Функции
PHP Manual

spl_autoload_register

(PHP 5 >= 5.1.2)

spl_autoload_register — Register given function as __autoload() implementation

Описание

bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

Register a function with the spl provided __autoload stack. If the stack is not yet activated it will be activated.

If your code has an existing __autoload function then this function must be explicitly registered on the __autoload stack. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload function by either spl_autoload() or spl_autoload_call().

If there must be multiple autoload functions, spl_autoload_register() allows for this. It effectively creates a queue of autoload functions, and runs through each of them in the order they are defined. By contrast, __autoload() may only be defined once.

Список параметров

autoload_function

The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload() will be registered.

throw

This parameter specifies whether spl_autoload_register() should throw exceptions when the autoload_function cannot be registered.

prepend

If true, spl_autoload_register() will prepend the autoloader on the autoload stack instead of appending it.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Namespaces support was introduced.
5.3.0 | The prepend parameter was added.

Примеры

Пример #1 spl_autoload_register() example

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print '[['. $name .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0

new InexistentClass;

?>

Результатом выполнения данного примера будет что-то подобное:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...

spl_autoload_functions
spl_autoload_unregister
SPL Функции


Unregister given function as __autoload() implementation

spl_autoload_register
spl_autoload
SPL Функции
PHP Manual

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregister — Unregister given function as __autoload() implementation

Описание

bool spl_autoload_unregister ( mixed $autoload_function )

Unregister a function from the spl provided __autoload stack. If the stack is activated and empty after unregistering the given function then it will be deactivated.

When this function results in the autoload stack being deactivated, any __autoload function that previously existed will not be reactivated.

Список параметров

autoload_function

The autoload function being unregistered.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

spl_autoload_register
spl_autoload
SPL Функции


Default implementation for __autoload()

spl_autoload_unregister
spl_classes
SPL Функции
PHP Manual

spl_autoload

(PHP 5 >= 5.1.2)

spl_autoload — Default implementation for __autoload()

Описание

void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )

This function is intended to be used as a default implementation for __autoload(). If nothing else is specified and spl_autoload_register() is called without any parameters then this functions will be used for any later call to __autoload().

Список параметров

class_name

The lowercased name of the class (and namespace) being instantiated.

file_extensions

By default it checks all include paths to contain filenames built up by the lowercase class name appended by the filename extensions .inc and .php.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

spl_autoload_unregister
spl_classes
SPL Функции


Return available SPL classes

spl_autoload
spl_object_hash
SPL Функции
PHP Manual

spl_classes

(PHP 5)

spl_classes — Return available SPL classes

Описание

array spl_classes ( void )

This function returns an array with the current available SPL classes.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing the currently available SPL classes.

Примеры

Пример #1 spl_classes() example

<?php

print_r(spl_classes());

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

spl_autoload
spl_object_hash
SPL Функции


Return hash id for given object

spl_classes
Обработка файлов
SPL Функции
PHP Manual

spl_object_hash

(PHP 5 >= 5.2.0)

spl_object_hash — Return hash id for given object

Описание

string spl_object_hash ( object $obj )

This function returns a unique identifier for the object. This id can be used as a hash key for storing objects or for identifying an object.

Список параметров

object

Any object.

Возвращаемые значения

A string that is unique for each currently existing object and is always the same for each object.

Примеры

Пример #1 A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Примечания

Замечание:

When an object is destroyed, its hash may be reused for other objects.

spl_classes
Обработка файлов
SPL Функции


Обработка файлов

Содержание

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

SPL обеспечивает несколько классов для работы с файлами.

spl_object_hash
SplFileInfo
SPL


The SplFileInfo class

(PHP 5 >= 5.1.2)

Введение

The SplFileInfo class offers a high-level object oriented interface to information for an individual file.

Обзор классов

SplFileInfo {
/* Методы */
__construct ( string $file_name )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public SplFileInfo getFileInfo ([ string $class_name ] )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public string getLinkTarget ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public SplFileInfo getPathInfo ([ string $class_name ] )
public string getPathname ( void )
public int getPerms ( void )
public string getRealPath ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public SplFileObject openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void setFileClass ([ string $class_name ] )
public void setInfoClass ([ string $class_name ] )
public void __toString ( void )
}

Содержание

  • SplFileInfo::__construct — Construct a new SplFileInfo object
  • SplFileInfo::getATime — Gets last access time of the file
  • SplFileInfo::getBasename — Gets the base name of the file
  • SplFileInfo::getCTime — Gets the inode change time
  • SplFileInfo::getExtension — Gets the file extension
  • SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file
  • SplFileInfo::getFilename — Gets the filename
  • SplFileInfo::getGroup — Gets the file group
  • SplFileInfo::getInode — Gets the inode for the file
  • SplFileInfo::getLinkTarget — Gets the target of a link
  • SplFileInfo::getMTime — Gets the last modified time
  • SplFileInfo::getOwner — Gets the owner of the file
  • SplFileInfo::getPath — Gets the path without filename
  • SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path
  • SplFileInfo::getPathname — Gets the path to the file
  • SplFileInfo::getPerms — Gets file permissions
  • SplFileInfo::getRealPath — Gets absolute path to file
  • SplFileInfo::getSize — Gets file size
  • SplFileInfo::getType — Gets file type
  • SplFileInfo::isDir — Tells if the file is a directory
  • SplFileInfo::isExecutable — Tells if the file is executable
  • SplFileInfo::isFile — Tells if the object references a regular file
  • SplFileInfo::isLink — Tells if the file is a link
  • SplFileInfo::isReadable — Tells if file is readable
  • SplFileInfo::isWritable — Tells if the entry is writable
  • SplFileInfo::openFile — Gets an SplFileObject object for the file
  • SplFileInfo::setFileClass — Sets the class name used with SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Sets the class used with getFileInfo and getPathInfo
  • SplFileInfo::__toString — Returns the path to the file as a string
Обработка файлов
SplFileInfo::__construct
Обработка файлов


Construct a new SplFileInfo object

SplFileInfo
SplFileInfo::getATime
SplFileInfo
PHP Manual

SplFileInfo::__construct

(PHP 5 >= 5.1.2)

SplFileInfo::__construct — Construct a new SplFileInfo object

Описание

SplFileInfo::__construct ( string $file_name )

Creates a new SplFileInfo object for the file_name specified. The file does not need to exist, or be readable.

Список параметров

file_name

Path to the file.

Примеры

Пример #1 SplFileInfo::__construct() example

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
    echo $info->getRealPath();
}
?>

SplFileInfo
SplFileInfo::getATime
SplFileInfo


Gets last access time of the file

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo
PHP Manual

SplFileInfo::getATime

(PHP 5 >= 5.1.2)

SplFileInfo::getATime — Gets last access time of the file

Описание

public int SplFileInfo::getATime ( void )

Gets the last access time for the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the time the file was last accessed.

Ошибки

Throws RunTimeException on error.

Смотрите также

  • fileatime() - Возвращает время последнего доступа к файлу

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo


Gets the base name of the file

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo
PHP Manual

SplFileInfo::getBasename

(PHP 5 >= 5.2.2)

SplFileInfo::getBasename — Gets the base name of the file

Описание

public string SplFileInfo::getBasename ([ string $suffix ] )

This method returns the base name of the file, directory, or link without path info.

Список параметров

suffix

Optional suffix to omit from the base name returned.

Возвращаемые значения

Returns the base name without path information.

Примеры

Пример #1 SplFileInfo::getBasename() example

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));
?>

Результатом выполнения данного примера будет что-то подобное:

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Смотрите также

  • SplFileInfo::getFilename() - Gets the filename

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo


Gets the inode change time

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo
PHP Manual

SplFileInfo::getCTime

(PHP 5 >= 5.1.2)

SplFileInfo::getCTime — Gets the inode change time

Описание

public int SplFileInfo::getCTime ( void )

Returns the inode change time for the file. The time returned is a Unix timestamp.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The last change time, in a Unix timestamp.

Ошибки

Throws RunTimeException on error.

Примеры

Пример #1 SplFileInfo::getCTime() example

<?php
$info = new SplFileInfo(__FILE__);
echo 'Last changed at ' . date('g:i a', $info->getCTime());
?>

Результатом выполнения данного примера будет что-то подобное:

Last changed at 1:49 pm

Смотрите также

  • filectime() - Возвращает время изменения индексного дескриптора файла

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo


Gets the file extension

SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo
PHP Manual

SplFileInfo::getExtension

(PHP 5 >= 5.3.6)

SplFileInfo::getExtension — Gets the file extension

Описание

public string SplFileInfo::getExtension ( void )

Retrieves the file extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the file extension, or an empty string if the file has no extension.

Примеры

Пример #1 SplFileInfo::getExtension() example

<?php

$info = new SplFileInfo('foo.txt');
var_dump($info->getExtension());

$info = new SplFileInfo('photo.jpg');
var_dump($info->getExtension());

$info = new SplFileInfo('something.tar.gz');
var_dump($info->getExtension());

?>

Результат выполнения данного примера:

string(3) "txt"
string(3) "jpg"
string(2) "gz"

Примечания

Замечание:

This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($info->getFilename(), PATHINFO_EXTENSION);
?>

Смотрите также

  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getBasename() - Gets the base name of the file
  • pathinfo() - Возвращает информацию о пути к файлу
SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo


Gets an SplFileInfo object for the file

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo
PHP Manual

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file

Описание

public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )

This method gets an SplFileInfo object for the referenced file.

Список параметров

class_name

Name of an SplFileInfo derived class to use.

Возвращаемые значения

An SplFileInfo object created for the file.

Смотрите также

  • SplFileInfo::setInfoClass() - Sets the class used with getFileInfo and getPathInfo

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo


Gets the filename

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo
PHP Manual

SplFileInfo::getFilename

(PHP 5 >= 5.1.2)

SplFileInfo::getFilename — Gets the filename

Описание

public string SplFileInfo::getFilename ( void )

Gets the filename without any path information.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The filename.

Примеры

Пример #1 SplFileInfo::getFilename() example

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

Результатом выполнения данного примера будет что-то подобное:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Смотрите также

  • SplFileInfo::getBasename() - Gets the base name of the file

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo


Gets the file group

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo
PHP Manual

SplFileInfo::getGroup

(PHP 5 >= 5.1.2)

SplFileInfo::getGroup — Gets the file group

Описание

public int SplFileInfo::getGroup ( void )

Gets the file group. The group ID is returned in numerical format.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The group id in numerical format.

Ошибки

Throws RuntimeException on error.

Примеры

Пример #1 SplFileInfo::getGroup() example

<?php
$info = new SplFileInfo(__FILE__);
print_r(posix_getgrgid($info->getGroup()));
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • posix_getgrgid() - Return info about a group by group id

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo


Gets the inode for the file

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo
PHP Manual

SplFileInfo::getInode

(PHP 5 >= 5.1.2)

SplFileInfo::getInode — Gets the inode for the file

Описание

public int SplFileInfo::getInode ( void )

Gets the inode number for the filesystem object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the inode number for the filesystem object.

Ошибки

Throws RuntimeException on error.

Смотрите также

  • fileinode() - Возвращает индексный дескриптор файла

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo


Gets the target of a link

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo
PHP Manual

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2)

SplFileInfo::getLinkTarget — Gets the target of a link

Описание

public string SplFileInfo::getLinkTarget ( void )

Gets the target of a filesystem link.

Замечание:

The target may not be the real path on the filesystem. Use SplFileInfo::getRealPath() to determine the true path on the filesystem.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the target of the filesystem link.

Ошибки

Throws RuntimeException on error.

Примеры

Пример #1 SplFileInfo::getLinkTarget() example

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
    var_dump($info->getLinkTarget());
    var_dump($info->getRealPath());
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Смотрите также

  • SplFileInfo::isLink() - Tells if the file is a link
  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo


Gets the last modified time

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo
PHP Manual

SplFileInfo::getMTime

(PHP 5 >= 5.1.2)

SplFileInfo::getMTime — Gets the last modified time

Описание

public int SplFileInfo::getMTime ( void )

Returns the time when the contents of the file were changed. The time returned is a Unix timestamp.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the last modified time for the file, in a Unix timestamp.

Смотрите также

  • filemtime() - Возвращает время последнего изменения файла

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo


Gets the owner of the file

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo
PHP Manual

SplFileInfo::getOwner

(PHP 5 >= 5.1.2)

SplFileInfo::getOwner — Gets the owner of the file

Описание

public int SplFileInfo::getOwner ( void )

Gets the file owner. The owner ID is returned in numerical format.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The owner id in numerical format.

Ошибки

Throws RuntimeException on error.

Примеры

Пример #1 SplFileInfo::getOwner() example

<?php
$info = new SplFileInfo('file.txt');
print_r(posix_getpwuid($info->getOwner()));
?>

Смотрите также

  • posix_getpwuid() - Return info about a user by user id
  • SplFileInfo::getGroup() - Gets the file group

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo


Gets the path without filename

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo
PHP Manual

SplFileInfo::getPath

(PHP 5 >= 5.1.2)

SplFileInfo::getPath — Gets the path without filename

Описание

public string SplFileInfo::getPath ( void )

Returns the path to the file, omitting the filename and any trailing slash.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the path to the file.

Примеры

Пример #1 SplFileInfo::getPath() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

Результатом выполнения данного примера будет что-то подобное:

string(8) "/usr/bin"
string(4) "/usr"

Смотрите также

  • SplFileInfo::getRealPath() - Gets absolute path to file
  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getPathInfo() - Gets an SplFileInfo object for the path

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo


Gets an SplFileInfo object for the path

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo
PHP Manual

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path

Описание

public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )

Gets an SplFileInfo object for the parent of the current file.

Список параметров

class_name

Name of an SplFileInfo derived class to use.

Возвращаемые значения

Returns an SplFileInfo object for the parent path of the file.

Примеры

Пример #1 SplFileInfo::getPathInfo() example

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

Результатом выполнения данного примера будет что-то подобное:

string(8) "/usr/bin"

Смотрите также

  • SplFileInfo::setInfoClass() - Sets the class used with getFileInfo and getPathInfo

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo


Gets the path to the file

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo
PHP Manual

SplFileInfo::getPathname

(PHP 5 >= 5.1.2)

SplFileInfo::getPathname — Gets the path to the file

Описание

public string SplFileInfo::getPathname ( void )

Returns the path to the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The path to the file.

Примеры

Пример #1 SplFileInfo::getPathname() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

Результатом выполнения данного примера будет что-то подобное:

string(12) "/usr/bin/php"

Смотрите также

  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo


Gets file permissions

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo
PHP Manual

SplFileInfo::getPerms

(PHP 5 >= 5.1.2)

SplFileInfo::getPerms — Gets file permissions

Описание

public int SplFileInfo::getPerms ( void )

Gets the file permissions for the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the file permissions.

Примеры

Пример #1 SplFileInfo::getPerms() example

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

Результатом выполнения данного примера будет что-то подобное:

1777
0644

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo


Gets absolute path to file

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo
PHP Manual

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2)

SplFileInfo::getRealPath — Gets absolute path to file

Описание

public string SplFileInfo::getRealPath ( void )

This method expands all symbolic links, resolves relative references and returns the real path to the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the path to the file.

Примеры

Пример #1 SplFileInfo::getRealPath() example

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());
?>

Результатом выполнения данного примера будет что-то подобное:

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"

Смотрите также

  • SplFileInfo::isLink() - Tells if the file is a link

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo


Gets file size

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo
PHP Manual

SplFileInfo::getSize

(PHP 5 >= 5.1.2)

SplFileInfo::getSize — Gets file size

Описание

public int SplFileInfo::getSize ( void )

Returns the filesize in bytes for the file referenced.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The filesize in bytes.

Ошибки

A RuntimeException will be thrown if the file does not exist or an error occurs.

Смотрите также

  • filesize() - Возвращает размер файла

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo


Gets file type

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo
PHP Manual

SplFileInfo::getType

(PHP 5 >= 5.1.2)

SplFileInfo::getType — Gets file type

Описание

public string SplFileInfo::getType ( void )

Returns the type of the file referenced.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A string representing the type of the entry. May be one of file, link, or dir

Ошибки

Throws a RuntimeException on error.

Примеры

Пример #1 SplFileInfo::getType() example

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

Результатом выполнения данного примера будет что-то подобное:

file
dir

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo


Tells if the file is a directory

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo
PHP Manual

SplFileInfo::isDir

(PHP 5 >= 5.1.2)

SplFileInfo::isDir — Tells if the file is a directory

Описание

public bool SplFileInfo::isDir ( void )

This method can be used to determine if the file is a directory.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if a directory, FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isDir() example

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo


Tells if the file is executable

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo
PHP Manual

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2)

SplFileInfo::isExecutable — Tells if the file is executable

Описание

public bool SplFileInfo::isExecutable ( void )

Checks if the file is executable.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if executable, FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isExecutable() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
bool(false)

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo


Tells if the object references a regular file

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo
PHP Manual

SplFileInfo::isFile

(PHP 5 >= 5.1.2)

SplFileInfo::isFile — Tells if the object references a regular file

Описание

public bool SplFileInfo::isFile ( void )

Checks if the file referenced by this SplFileInfo object exists and is a regular file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the file exists and is a regular file (not a link), FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isFile() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo


Tells if the file is a link

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo
PHP Manual

SplFileInfo::isLink

(PHP 5 >= 5.1.2)

SplFileInfo::isLink — Tells if the file is a link

Описание

public bool SplFileInfo::isLink ( void )

Use this method to check if the file referenced by the SplFileInfo object is a link.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the file is a link, FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isLink() example

<?php
$info = new SplFileInfo('/path/to/symlink');
if ($info->isLink()) {
    echo 'The real path is '.$info->getRealPath();
}
?>

Смотрите также

  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo


Tells if file is readable

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo
PHP Manual

SplFileInfo::isReadable

(PHP 5 >= 5.1.2)

SplFileInfo::isReadable — Tells if file is readable

Описание

public bool SplFileInfo::isReadable ( void )

Check if the file is readable.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if readable, FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isReadable() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isReadable());

$info = new SplFileInfo('foo');
var_dump($info->isReadable());
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo


Tells if the entry is writable

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo
PHP Manual

SplFileInfo::isWritable

(PHP 5 >= 5.1.2)

SplFileInfo::isWritable — Tells if the entry is writable

Описание

public bool SplFileInfo::isWritable ( void )

Checks if the current entry is writable.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if writable, FALSE otherwise;

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo


Gets an SplFileObject object for the file

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo
PHP Manual

SplFileInfo::openFile

(PHP 5 >= 5.1.2)

SplFileInfo::openFile — Gets an SplFileObject object for the file

Описание

public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )

Creates an SplFileObject object of the file. This is useful because SplFileObject contains additional methods for manipulating the file whereas SplFileInfo is only useful for gaining information, like whether the file is writable.

Список параметров

open_mode

The mode for opening the file. See the fopen() documentation for descriptions of possible modes. The default is read only.

use_include_path

Если установлено в TRUE, имя файла также ищется в include_path

context

Для описания контекстов обратитесь к следующему разделу руководства: контекст.

Возвращаемые значения

The opened file as an SplFileObject object.

Ошибки

A RuntimeException if the file cannot be opened (e.g. insufficient access rights).

Примеры

Пример #1 SplFileInfo::openFile() example

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

    $fileobj = $fileinfo->openFile('a');

    $fileobj->fwrite("appended this sample text");
}
?>

Смотрите также

  • SplFileObject
  • stream_context_create() - Создаёт контекст потока
  • fopen() - Открывает файл или URL

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo


Sets the class name used with SplFileInfo::openFile

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo
PHP Manual

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2)

SplFileInfo::setFileClass — Sets the class name used with SplFileInfo::openFile()

Описание

public void SplFileInfo::setFileClass ([ string $class_name ] )

Set the class name which SplFileInfo will use to open files with when openFile() is called. The class name passed to this method must be derived from SplFileObject.

Список параметров

class_name

The class name to use when openFile() is called.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileInfo::setFileClass() example

<?php
// Create a class extending SplFileObject
class MyFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Set the class to use
$info->setFileClass('MyFoo');
var_dump($info->openFile());
?>

Результатом выполнения данного примера будет что-то подобное:

object(MyFoo)#2 (0) { }

Смотрите также

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo


Sets the class used with getFileInfo and getPathInfo

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo
PHP Manual

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2)

SplFileInfo::setInfoClass — Sets the class used with getFileInfo and getPathInfo

Описание

public void SplFileInfo::setInfoClass ([ string $class_name ] )

Use this method to set a custom class which will be used when getFileInfo and getPathInfo are called. The class name passed to this method must be derived from SplFileInfo.

Список параметров

class_name

The class name to use.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileInfo::setFileClass() example

<?php
// Define a class which extends SplFileInfo
class MyFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Set the class name to use
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>

Результатом выполнения данного примера будет что-то подобное:

object(MyFoo)#2 (0) { }

Смотрите также

  • SplFileInfo::getFileInfo() - Gets an SplFileInfo object for the file

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo


Returns the path to the file as a string

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo
PHP Manual

SplFileInfo::__toString

(PHP 5 >= 5.1.2)

SplFileInfo::__toString — Returns the path to the file as a string

Описание

public void SplFileInfo::__toString ( void )

This method will return the file name of the referenced file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the path to the file.

Примеры

Пример #1 SplFileInfo::__toString() example

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

Результатом выполнения данного примера будет что-то подобное:

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo


Класс SplFileObject

(PHP 5 >= 5.1.0)

Введение

Класс SplFileObject предоставляет объектно-ориентированный интерфейс для файлов.

Обзор классов

SplFileObject extends SplFileInfo implements RecursiveIterator , Traversable , Iterator , SeekableIterator {
/* Константы */
const integer DROP_NEW_LINE = 1 ;
const integer READ_AHEAD = 2 ;
const integer SKIP_EMPTY = 6 ;
const integer READ_CSV = 8 ;
/* Методы */
__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array current ( void )
public bool eof ( void )
public bool fflush ( void )
public string fgetc ( void )
 public array fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string fgets ( void )
public string fgetss ([ string $allowable_tags ] )
public bool flock ( int $operation [, int &$wouldblock ] )
public int fpassthru ( void )
public int fputcsv ( string $fields [, string $delimiter [, string $enclosure ]] )
public mixed fscanf ( string $format [, mixed &$... ] )
public int fseek ( int $offset [, int $whence = SEEK_SET ] )
public array fstat ( void )
public int ftell ( void )
public bool ftruncate ( int $size )
public int fwrite ( string $str [, int $length ] )
public void getChildren ( void )
public array getCsvControl ( void )
public int getFlags ( void )
public int getMaxLineLen ( void )
public bool hasChildren ( void )
public int key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $line_pos )
 public void setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void setFlags ( int $flags )
public void setMaxLineLen ( int $max_len )
public bool valid ( void )
/* Наследуемые методы */
SplFileInfo::__construct ( string $file_name )
public int SplFileInfo::getATime ( void )
public string SplFileInfo::getBasename ([ string $suffix ] )
public int SplFileInfo::getCTime ( void )
public string SplFileInfo::getExtension ( void )
public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )
public string SplFileInfo::getFilename ( void )
public int SplFileInfo::getGroup ( void )
public int SplFileInfo::getInode ( void )
public string SplFileInfo::getLinkTarget ( void )
public int SplFileInfo::getMTime ( void )
public int SplFileInfo::getOwner ( void )
public string SplFileInfo::getPath ( void )
public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )
public string SplFileInfo::getPathname ( void )
public int SplFileInfo::getPerms ( void )
public string SplFileInfo::getRealPath ( void )
public int SplFileInfo::getSize ( void )
public string SplFileInfo::getType ( void )
public bool SplFileInfo::isDir ( void )
public bool SplFileInfo::isExecutable ( void )
public bool SplFileInfo::isFile ( void )
public bool SplFileInfo::isLink ( void )
public bool SplFileInfo::isReadable ( void )
public bool SplFileInfo::isWritable ( void )
public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void SplFileInfo::setFileClass ([ string $class_name ] )
public void SplFileInfo::setInfoClass ([ string $class_name ] )
public void SplFileInfo::__toString ( void )
}

Предопределенные константы

SplFileObject::DROP_NEW_LINE

Удаляет символы переноса в конце строки.

SplFileObject::READ_AHEAD

Читает при использовании функций rewind/next.

SplFileObject::SKIP_EMPTY

Пропускает пустые строки с файле.

SplFileObject::READ_CSV

Читает строки в формате CSV.

Содержание

  • SplFileObject::__construct — Construct a new file object.
  • SplFileObject::current — Retrieve current line of file
  • SplFileObject::eof — Reached end of file
  • SplFileObject::fflush — Flushes the output to the file
  • SplFileObject::fgetc — Gets character from file
  • SplFileObject::fgetcsv — Gets line from file and parse as CSV fields
  • SplFileObject::fgets — Gets line from file
  • SplFileObject::fgetss — Gets line from file and strip HTML tags
  • SplFileObject::flock — Portable file locking
  • SplFileObject::fpassthru — Output all remaining data on a file pointer
  • SplFileObject::fputcsv — Output a field array as a CSV line
  • SplFileObject::fscanf — Parses input from file according to a format
  • SplFileObject::fseek — Seek to a position
  • SplFileObject::fstat — Gets information about the file
  • SplFileObject::ftell — Return current file position
  • SplFileObject::ftruncate — Truncates the file to a given length
  • SplFileObject::fwrite — Write to file
  • SplFileObject::getChildren — No purpose
  • SplFileObject::getCsvControl — Get the delimiter and enclosure character for CSV
  • SplFileObject::getCurrentLine — Alias of SplFileObject::fgets
  • SplFileObject::getFlags — Gets flags for the SplFileObject
  • SplFileObject::getMaxLineLen — Get maximum line length
  • SplFileObject::hasChildren — SplFileObject does not have children
  • SplFileObject::key — Get line number
  • SplFileObject::next — Read next line
  • SplFileObject::rewind — Rewind the file to the first line
  • SplFileObject::seek — Seek to specified line
  • SplFileObject::setCsvControl — Set the delimiter and enclosure character for CSV
  • SplFileObject::setFlags — Sets flags for the SplFileObject
  • SplFileObject::setMaxLineLen — Set maximum line length
  • SplFileObject::__toString — Alias of SplFileObject::current
  • SplFileObject::valid — Not at EOF
SplFileInfo::__toString
SplFileObject::__construct
Обработка файлов


Construct a new file object.

SplFileObject
SplFileObject::current
SplFileObject
PHP Manual

SplFileObject::__construct

(PHP 5 >= 5.1.0)

SplFileObject::__construct — Construct a new file object.

Описание

SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )

Construct a new file object.

Список параметров

filename

The file to read.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

open_mode

The mode in which to open the file. See fopen() for a list of allowed modes.

use_include_path

Whether to search in the include_path for filename.

context

A valid context resource created with stream_context_create().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a RuntimeException if the filename cannot be opened.

Примеры

Пример #1 SplFileObject::__construct() example

This example opens the current file and iterates over its contents line by line.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line) {
    echo $line;
}
?>

Результатом выполнения данного примера будет что-то подобное:

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line) {
    echo $line;
}
?>

Смотрите также

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file
  • fopen() - Открывает файл или URL

SplFileObject
SplFileObject::current
SplFileObject


Retrieve current line of file

SplFileObject::__construct
SplFileObject::eof
SplFileObject
PHP Manual

SplFileObject::current

(PHP 5 >= 5.1.0)

SplFileObject::current — Retrieve current line of file

Описание

public string|array SplFileObject::current ( void )

Retrieves the current line of the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Retrieves the current line of the file. If the SplFileObject::READ_CSV flag is set, this method returns an array containing the current line parsed as CSV data.

Примеры

Пример #1 SplFileObject::current() example

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $k => $line) {
   echo ($file->key() + 1) . ': ' . $file->current();
}
?>

Результатом выполнения данного примера будет что-то подобное:

1: <?php
2: $file = new SplFileObject(__FILE__);
3: foreach ($file as $line) {
4:     echo ($file->key() + 1) . ': ' . $file->current();
5: }
6: ?>

Смотрите также

  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::__construct
SplFileObject::eof
SplFileObject


Reached end of file

SplFileObject::current
SplFileObject::fflush
SplFileObject
PHP Manual

SplFileObject::eof

(PHP 5 >= 5.1.0)

SplFileObject::eof — Reached end of file

Описание

public bool SplFileObject::eof ( void )

Determine whether the end of file has been reached

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if file is at EOF, FALSE otherwise.

Примеры

Пример #1 SplFileObject::eof() example

<?php
$file = new SplFileObject("fruits.txt");
while ( ! $file->eof()) {
    echo $file->fgets();
}
?>

Результатом выполнения данного примера будет что-то подобное:

apple
banana
cherry
date
elderberry

Смотрите также

  • SplFileObject::valid() - Not at EOF
  • feof() - Проверяет, достигнут ли конец файла

SplFileObject::current
SplFileObject::fflush
SplFileObject


Flushes the output to the file

SplFileObject::eof
SplFileObject::fgetc
SplFileObject
PHP Manual

SplFileObject::fflush

(PHP 5 >= 5.1.0)

SplFileObject::fflush — Flushes the output to the file

Описание

public bool SplFileObject::fflush ( void )

Forces a write of all buffered output to the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SplFileObject::fflush() example

<?php
$file = new SplFileObject('misc.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Смотрите также

  • SplFileObject::fwrite() - Write to file

SplFileObject::eof
SplFileObject::fgetc
SplFileObject


Gets character from file

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject
PHP Manual

SplFileObject::fgetc

(PHP 5 >= 5.1.0)

SplFileObject::fgetc — Gets character from file

Описание

public string SplFileObject::fgetc ( void )

Gets a character from the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing a single character read from the file or FALSE on EOF.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 SplFileObject::fgetc() example

<?php
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
    echo "$char\n";
}
?>

Смотрите также

  • SplFileObject::fgets() - Gets line from file

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject


Gets line from file and parse as CSV fields

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject
PHP Manual

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0)

SplFileObject::fgetcsv — Gets line from file and parse as CSV fields

Описание

 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Gets a line from the file which is in CSV format and returns an array containing the fields read.

Список параметров

delimiter

The field delimiter (one character only). Defaults as a comma or the value set using SplFileObject::setCsvControl().

enclosure

The field enclosure character (one character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl().

escape

The escape character (one character only). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl().

Возвращаемые значения

Returns an indexed array containing the fields read, or FALSE on error.

Замечание:

A blank line in a CSV file will be returned as an array comprising a single NULL field unless using SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, in which case empty lines are skipped.

Примеры

Пример #1 SplFileObject::fgetcsv() example

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>

Пример #2 SplFileObject::READ_CSV example

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    list($animal, $class, $legs) = $row;
    printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>

Contents of animals.csv

crocodile,reptile,4
dolphin,mammal,0
duck,bird,2
koala,mammal,4
salmon,fish,0

Результатом выполнения данного примера будет что-то подобное:

A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legs

Смотрите также

  • SplFileObject::setCsvControl() - Set the delimiter and enclosure character for CSV
  • SplFileObject::setFlags() - Sets flags for the SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject


Gets line from file

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject
PHP Manual

SplFileObject::fgets

(PHP 5 >= 5.1.0)

SplFileObject::fgets — Gets line from file

Описание

public string SplFileObject::fgets ( void )

Gets a line from the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the next line from the file, or FALSE on error.

Ошибки

Throws a RuntimeException if the file cannot be read.

Примеры

Пример #1 SplFileObject::fgets() example

This example simply outputs the contents of file.txt line-by-line.

<?php
$file = new SplFileObject("file.txt");
while (!$file->eof()) {
    echo $file->fgets();
}
?>

Смотрите также

  • fgets() - Читает строку из файла
  • SplFileObject::fgetss() - Gets line from file and strip HTML tags
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject


Gets line from file and strip HTML tags

SplFileObject::fgets
SplFileObject::flock
SplFileObject
PHP Manual

SplFileObject::fgetss

(PHP 5 >= 5.1.0)

SplFileObject::fgetss — Gets line from file and strip HTML tags

Описание

public string SplFileObject::fgetss ([ string $allowable_tags ] )

Identical to SplFileObject::fgets(), except that SplFileObject::fgetss() attempts to strip any HTML and PHP tags from the text it reads.

Список параметров

allowable_tags

You can use the optional third parameter to specify tags which should not be stripped.

Возвращаемые значения

Returns a string containing the next line of the file with HTML and PHP code stripped, or FALSE on error.

Примеры

Пример #1 SplFileObject::fgetss() example

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents("sample.php", $str);

$file = new SplFileObject("sample.php");
while (!$file->eof()) {
    echo $file->fgetss();
}
?>

Результатом выполнения данного примера будет что-то подобное:

 Welcome! Today is the  of .

Text outside of the HTML block.

Смотрите также

  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • SplFileObject::fgets() - Gets line from file
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgets
SplFileObject::flock
SplFileObject


Portable file locking

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject
PHP Manual

SplFileObject::flock

(PHP 5 >= 5.1.0)

SplFileObject::flock — Portable file locking

Описание

public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )

Locks or unlocks the file in the same portable way as flock().

Список параметров

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).
  • LOCK_NB to not block while locking (not supported on Windows).

wouldblock

Set to TRUE if the lock would block (EWOULDBLOCK errno condition).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SplFileObject::flock() example

<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // do an exclusive lock
    $file->ftruncate(0);     // truncate file
    $file->fwrite("Write something here\n");
    $file->flock(LOCK_UN);   // release the lock
} else {
    echo "Couldn't get the lock!";
}
?>

Смотрите также

  • flock() - Портируемая консультативная блокировка файлов

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject


Output all remaining data on a file pointer

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject
PHP Manual

SplFileObject::fpassthru

(PHP 5 >= 5.1.0)

SplFileObject::fpassthru — Output all remaining data on a file pointer

Описание

public int SplFileObject::fpassthru ( void )

Reads to EOF on the given file pointer from the current position and writes the results to the output buffer.

You may need to call SplFileObject::rewind() to reset the file pointer to the beginning of the file if you have already written data to the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the number of characters read from handle and passed through to the output.

Примеры

Пример #1 SplFileObject::fpassthru() example

<?php

// Open the file in binary mode
$file = new SplFileObject("./img/ok.png", "rb");

// Send the right headers
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Dump the picture and end script
$file->fpassthru();
exit;

?>

Смотрите также

  • fpassthru() - Выводит все оставшиеся данные из файлового указателя

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject


Output a field array as a CSV line

SplFileObject::fpassthru
SplFileObject::fscanf
SplFileObject
PHP Manual

SplFileObject::fputcsv

(Информация о версии неизвестна, возможно, только в SVN)

SplFileObject::fputcsv — Output a field array as a CSV line

Описание

public int SplFileObject::fputcsv ( string $fields [, string $delimiter [, string $enclosure ]] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

fields

delimiter

enclosure

Возвращаемые значения

SplFileObject::fpassthru
SplFileObject::fscanf
SplFileObject


Parses input from file according to a format

SplFileObject::fputcsv
SplFileObject::fseek
SplFileObject
PHP Manual

SplFileObject::fscanf

(PHP 5 >= 5.1.0)

SplFileObject::fscanf — Parses input from file according to a format

Описание

public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )

Reads a line from the file and interprets it according to the specified format, which is described in the documentation for sprintf().

Any whitespace in the format string matches any whitespace in the line from the file. This means that even a tab \t in the format string can match a single space character in the input stream.

Список параметров

format

The specified format as described in the sprintf() documentation.

...

The optional assigned values.

Возвращаемые значения

If only one parameter is passed to this method, the values parsed will be returned as an array. Otherwise, if optional parameters are passed, the function will return the number of assigned values. The optional parameters must be passed by reference.

Примеры

Пример #1 SplFileObject::fscanf() example

<?php
$file = new SplFileObject("misc.txt");
while ($userinfo = $file->fscanf("%s %s %s")) {
    list ($name, $profession, $countrycode) = $userinfo;
    // Do something with $name $professi
}
?>

Contents of users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Смотрите также

  • fscanf() - Обрабатывает данные из файла в соответствии с форматом

SplFileObject::fputcsv
SplFileObject::fseek
SplFileObject


Seek to a position

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject
PHP Manual

SplFileObject::fseek

(PHP 5 >= 5.1.0)

SplFileObject::fseek — Seek to a position

Описание

public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )

Seek to a position in the file measured in bytes from the beginning of the file, obtained by adding offset to the position specified by whence.

Список параметров

offset

The offset. A negative value can be used to move backwards through the file which is useful when SEEK_END is used as the whence value.

whence

whence values are:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

If whence is not specified, it is assumed to be SEEK_SET.

Возвращаемые значения

Returns 0 if the seek was successful, -1 otherwise. Note that seeking past EOF is not considered an error.

Примеры

Пример #1 SplFileObject::fseek() example

<?php
$file = new SplFileInfo("somefile.txt");

// Read first line
$data = $file->fgets();

// Move back to the beginning of the file
// Same as $file->rewind();
$file->fseek(0);
?>

Смотрите также

  • fseek() - Устанавливает смещение в файловом указателе

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject


Gets information about the file

SplFileObject::fseek
SplFileObject::ftell
SplFileObject
PHP Manual

SplFileObject::fstat

(PHP 5 >= 5.1.0)

SplFileObject::fstat — Gets information about the file

Описание

public array SplFileObject::fstat ( void )

Gathers the statistics of the file. Behaves identically to fstat().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array with the statistics of the file; the format of the array is described in detail on the stat() manual page.

Примеры

Пример #1 SplFileObject::fstat() example

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Print only the associative part
print_r(array_slice($stat, 13));

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Смотрите также

  • fstat() - Получает информацию о файле используя открытый файловый указатель
  • stat() - Возвращает информацию о файле

SplFileObject::fseek
SplFileObject::ftell
SplFileObject


Return current file position

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject
PHP Manual

SplFileObject::ftell

(PHP 5 >= 5.1.0)

SplFileObject::ftell — Return current file position

Описание

public int SplFileObject::ftell ( void )

Returns the position of the file pointer which represents the current offset in the file stream.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the position of the file pointer as an integer, or FALSE on error.

Примеры

Пример #1 SplFileObject::ftell() example

<?php
$file = new SplFileObject("/etc/passwd");

// Read first line
$data = $file->fgets();

// Where are we?
echo $file->ftell();
?>

Смотрите также

  • ftell() - Сообщает текущую позицию чтения/записи файла

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject


Truncates the file to a given length

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject
PHP Manual

SplFileObject::ftruncate

(PHP 5 >= 5.1.0)

SplFileObject::ftruncate — Truncates the file to a given length

Описание

public bool SplFileObject::ftruncate ( int $size )

Truncates the file to size bytes.

Список параметров

size

The size to truncate to.

Замечание:

If size is larger than the file it is extended with null bytes.

If size is smaller than the file, the extra data will be lost.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SplFileObject::ftruncate() example

<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");

// Truncate to 5 bytes
$file->ftruncate(5);

// Rewind and read data
$file->rewind();
echo $file->fgets();
?>

Результатом выполнения данного примера будет что-то подобное:

Hello

Смотрите также

  • ftruncate() - Урезает файл до указанной длинны

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject


Write to file

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject
PHP Manual

SplFileObject::fwrite

(PHP 5 >= 5.1.0)

SplFileObject::fwrite — Write to file

Описание

public int SplFileObject::fwrite ( string $str [, int $length ] )

Writes the contents of string to the file

Список параметров

str

The string to be written to the file.

length

If the length argument is given, writing will stop after length bytes have been written or the end of string is reached, whichever comes first.

Возвращаемые значения

Returns the number of bytes written, or NULL on error.

Примеры

Пример #1 SplFileObject::fwrite() example

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "Wrote $written bytes to file";
?>

Результатом выполнения данного примера будет что-то подобное:

Wrote 5 bytes to file

Смотрите также

  • fwrite() - Бинарно-безопасная запись в файл

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject


No purpose

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject
PHP Manual

SplFileObject::getChildren

(PHP 5 >= 5.1.0)

SplFileObject::getChildren — No purpose

Описание

public void SplFileObject::getChildren ( void )

An SplFileObject does not have children so this method returns NULL.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject


Get the delimiter and enclosure character for CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject
PHP Manual

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::getCsvControl — Get the delimiter and enclosure character for CSV

Описание

public array SplFileObject::getCsvControl ( void )

Gets the delimiter and enclosure character used for parsing CSV fields.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an indexed array containing the delimiter and enclosure character.

Примеры

Пример #1 SplFileObject::getCsvControl() example

<?php
$file = new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => ,
    [1] => "
)

Смотрите также

  • SplFileObject::setCsvControl() - Set the delimiter and enclosure character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject


Alias of SplFileObject::fgets

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject
PHP Manual

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2)

SplFileObject::getCurrentLine — Alias of SplFileObject::fgets()

Описание

This method is an alias of SplFileObject::fgets().

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject


Gets flags for the SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject
PHP Manual

SplFileObject::getFlags

(PHP 5 >= 5.1.0)

SplFileObject::getFlags — Gets flags for the SplFileObject

Описание

public int SplFileObject::getFlags ( void )

Gets the flags set for an instance of SplFileObject as an integer.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer representing the flags.

Примеры

Пример #1 SplFileObject::getFlags() example

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Not skipping empty lines
Skipping empty lines

Смотрите также

  • SplFileObject::setFlags() - Sets flags for the SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject


Get maximum line length

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject
PHP Manual

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::getMaxLineLen — Get maximum line length

Описание

public int SplFileObject::getMaxLineLen ( void )

Gets the maximum line length as set by SplFileObject::setMaxLineLen().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the maximum line length if one has been set with SplFileObject::setMaxLineLen(), default is 0.

Примеры

Пример #1 SplFileObject::getMaxLineLen() example

<?php
$file = new SplFileObject("file.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
int(20)

Смотрите также

  • Classname::Method()

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject


SplFileObject does not have children

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject
PHP Manual

SplFileObject::hasChildren

(PHP 5 >= 5.1.2)

SplFileObject::hasChildren — SplFileObject does not have children

Описание

public bool SplFileObject::hasChildren ( void )

An SplFileObject does not have children so this method always return FALSE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns FALSE

Смотрите также

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject


Get line number

SplFileObject::hasChildren
SplFileObject::next
SplFileObject
PHP Manual

SplFileObject::key

(PHP 5 >= 5.1.0)

SplFileObject::key — Get line number

Описание

public int SplFileObject::key ( void )

Gets the current line number.

Замечание:

This number may not reflect the actual line number in the file if SplFileObject::setMaxLineLen() is used to read fixed lengths of the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current line number.

Примеры

Пример #1 SplFileObject::key() example

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
    echo $file->key() . ". " . $line;
}
?>

Результатом выполнения данного примера будет что-то подобное:

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Пример #2 SplFileObject::key() example with SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $file->key() . ". " . $line . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Смотрите также

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::hasChildren
SplFileObject::next
SplFileObject


Read next line

SplFileObject::key
SplFileObject::rewind
SplFileObject
PHP Manual

SplFileObject::next

(PHP 5 >= 5.1.0)

SplFileObject::next — Read next line

Описание

public void SplFileObject::next ( void )

Moves ahead to the next line in the file.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileObject::next() example

<?php
// Read through file line by line
$file = new SplFileObject("misc.txt");
while (!$file->eof()) {
    echo $file->current();
    $file->next();
}
?>

Смотрите также

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::key
SplFileObject::rewind
SplFileObject


Rewind the file to the first line

SplFileObject::next
SplFileObject::seek
SplFileObject
PHP Manual

SplFileObject::rewind

(PHP 5 >= 5.1.0)

SplFileObject::rewind — Rewind the file to the first line

Описание

public void SplFileObject::rewind ( void )

Rewinds the file back to the first line.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a RuntimeException if cannot be rewound.

Примеры

Пример #1 SplFileObject::rewind() example

<?php
$file = new SplFileObject("misc.txt");

// Loop over whole file
foreach ($file as $line) { }

// Rewind to first line
$file->rewind();

// Output first line
echo $file->current();
?>

Смотрите также

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::valid() - Not at EOF

SplFileObject::next
SplFileObject::seek
SplFileObject


Seek to specified line

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject
PHP Manual

SplFileObject::seek

(PHP 5 >= 5.1.0)

SplFileObject::seek — Seek to specified line

Описание

public void SplFileObject::seek ( int $line_pos )

Seek to specified line in the file.

Список параметров

line_pos

The zero-based line number to seek to.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a LogicException if the line_pos is negative.

Примеры

Пример #1 SplFileObject::seek() example

This example outputs the third line of the script which is found at position 2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

Результатом выполнения данного примера будет что-то подобное:

$file->seek(2);

Смотрите также

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject


Set the delimiter and enclosure character for CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject
PHP Manual

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::setCsvControl — Set the delimiter and enclosure character for CSV

Описание

 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Sets the delimiter and enclosure character for parsing CSV fields.

Список параметров

delimiter

The field delimiter (one character only).

enclosure

The field enclosure character (one character only).

escape

The field escape character (one character only).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileObject::setCsvControl() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Do something with values
}
?>

Contents of data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Смотрите также

  • SplFileObject::getCsvControl() - Get the delimiter and enclosure character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields

SplFileObject::seek
SplFileObject::setFlags
SplFileObject


Sets flags for the SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject
PHP Manual

SplFileObject::setFlags

(PHP 5 >= 5.1.0)

SplFileObject::setFlags — Sets flags for the SplFileObject

Описание

public void SplFileObject::setFlags ( int $flags )

Sets the flags to be used by the SplFileObject.

Список параметров

flags

Bit mask of the flags to set. See SplFileObject constants for the available flags.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileObject::setFlags() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
    var_dump($fields);
}
?>

Смотрите также

  • SplFileObject::getFlags() - Gets flags for the SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject


Set maximum line length

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject
PHP Manual

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::setMaxLineLen — Set maximum line length

Описание

public void SplFileObject::setMaxLineLen ( int $max_len )

Sets the maximum length of a line to be read.

Список параметров

max_len

The maximum length of a line.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFileObject::setMaxLineLen() example

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $line . "\n";
}
?>

Contents of lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

Результатом выполнения данного примера будет что-то подобное:

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Смотрите также

  • Classname::Method()

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject


Alias of SplFileObject::current

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject
PHP Manual

SplFileObject::__toString

(PHP 5 >= 5.1.0)

SplFileObject::__toString — Alias of SplFileObject::current()

Описание

This method is an alias of SplFileObject::current().

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject


Not at EOF

SplFileObject::__toString
SplTempFileObject
SplFileObject
PHP Manual

SplFileObject::valid

(PHP 5 >= 5.1.0)

SplFileObject::valid — Not at EOF

Описание

public bool SplFileObject::valid ( void )

Check whether EOF has been reached.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if not reached EOF, FALSE otherwise.

Примеры

Пример #1 SplFileObject::valid() example

<?php
// Loop over a file, line by line
$file = new SplFileObject("file.txt");
while ($file->valid()) {
    echo $file->fgets();
}
?>

Смотрите также

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line

SplFileObject::__toString
SplTempFileObject
SplFileObject


The SplTempFileObject class

(PHP 5 >= 5.1.2)

Введение

The SplTempFileObject class offers an object oriented interface for a temporary file.

Обзор классов

SplTempFileObject extends SplFileObject implements SeekableIterator , Iterator , Traversable , RecursiveIterator {
/* Методы */
__construct ([ int $max_memory ] )
/* Наследуемые методы */
SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array SplFileObject::current ( void )
public bool SplFileObject::eof ( void )
public bool SplFileObject::fflush ( void )
public string SplFileObject::fgetc ( void )
 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string SplFileObject::fgets ( void )
public string SplFileObject::fgetss ([ string $allowable_tags ] )
public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )
public int SplFileObject::fpassthru ( void )
public int SplFileObject::fputcsv ( string $fields [, string $delimiter [, string $enclosure ]] )
public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )
public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )
public array SplFileObject::fstat ( void )
public int SplFileObject::ftell ( void )
public bool SplFileObject::ftruncate ( int $size )
public int SplFileObject::fwrite ( string $str [, int $length ] )
public void SplFileObject::getChildren ( void )
public array SplFileObject::getCsvControl ( void )
public int SplFileObject::getFlags ( void )
public int SplFileObject::getMaxLineLen ( void )
public bool SplFileObject::hasChildren ( void )
public int SplFileObject::key ( void )
public void SplFileObject::next ( void )
public void SplFileObject::rewind ( void )
public void SplFileObject::seek ( int $line_pos )
 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void SplFileObject::setFlags ( int $flags )
public void SplFileObject::setMaxLineLen ( int $max_len )
public bool SplFileObject::valid ( void )
}

Содержание

  • SplTempFileObject::__construct — Construct a new temporary file object
SplFileObject::valid
SplTempFileObject::__construct
Обработка файлов


Construct a new temporary file object

SplTempFileObject
Различные Классы и Интерфейсы
SplTempFileObject
PHP Manual

SplTempFileObject::__construct

(PHP 5 >= 5.1.2)

SplTempFileObject::__construct — Construct a new temporary file object

Описание

SplTempFileObject::__construct ([ int $max_memory ] )

Construct a new temporary file object.

Список параметров

max_memory

The maximum amount of memory (in bytes, default is 2 MB) for the temporary file to use. If the temporary file exceeds this size, it will be moved to a file in the system's temp directory.

If max_memory is negative, only memory will be used. If max_memory is zero, no memory will be used.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a RuntimeException if an error occurs.

Примеры

Пример #1 SplTempFileObject() example

This example writes a temporary file in memory which can be written to and read from.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo "Written " . $temp->ftell() . " bytes to temporary file.\n\n";

// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
    echo $line;
}
?>

Результатом выполнения данного примера будет что-то подобное:

Written 47 bytes to temporary file.

This is the first line
And this is the second.

Смотрите также

  • SplFileObject
  • PHP input/output streams (for php://temp and php://memory)

SplTempFileObject
Различные Классы и Интерфейсы
SplTempFileObject


Различные Классы и Интерфейсы

Содержание

  • ArrayObject
  • SplObserver
  • SplSubject

SPL Классы и интерфейсы, не подходящие в другие категории.

SplTempFileObject::__construct
ArrayObject
SPL


Класс ArrayObject

(PHP 5)

Введение

Данный класс позволяет работать с объектами как с массивами.

Обзор классов

ArrayObject implements IteratorAggregate , Traversable , ArrayAccess , Serializable , Countable {
/* Константы */
const integer ArrayObject->STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Методы */
ArrayObject::__construct ([ mixed $input [, int $flags [, string $iterator_class ]]] )
void ArrayObject::append ( mixed $value )
void ArrayObject::asort ( void )
int ArrayObject::count ( void )
array ArrayObject::exchangeArray ( mixed $input )
array ArrayObject::getArrayCopy ( void )
int ArrayObject::getFlags ( void )
ArrayIterator ArrayObject::getIterator ( void )
public string ArrayObject::getIteratorClass ( void )
void ArrayObject::ksort ( void )
void ArrayObject::natcasesort ( void )
void ArrayObject::natsort ( void )
bool ArrayObject::offsetExists ( mixed $index )
mixed ArrayObject::offsetGet ( mixed $index )
void ArrayObject::offsetSet ( mixed $index , mixed $newval )
void ArrayObject::offsetUnset ( mixed $index )
public void ArrayObject::serialize ( void )
void ArrayObject::setFlags ( int $flags )
void ArrayObject::setIteratorClass ( string $iterator_class )
void ArrayObject::uasort ( callback $cmp_function )
void ArrayObject::uksort ( callback $cmp_function )
public void ArrayObject::unserialize ( string $serialized )
}

Предопределенные константы

Опции ArrayObject

ArrayObject::STD_PROP_LIST

Свойста объекта получают стандартное поведение, при доступе к объекту как к списку (var_dump, foreach и т.д.).

ArrayObject::ARRAY_AS_PROPS

Записи могут быть доступны как свойства (для чтения и записи).

Список изменений

Версия | Описание
5.3.0 | Реализует Serializable.

Содержание

  • ArrayObject::append — Добавляет значение в конец массива
  • ArrayObject::asort — Сортирует записи по значению
  • ArrayObject::__construct — Создает новый объект типа массив
  • ArrayObject::count — Возвращает количество публичных свойств ArrayObject
  • ArrayObject::exchangeArray — Заменяет текущий массив на другой
  • ArrayObject::getArrayCopy — Создаёт копию ArrayObject
  • ArrayObject::getFlags — Получает флаги поведения
  • ArrayObject::getIterator — Создаёт новый итератор из экземпляра ArrayObject
  • ArrayObject::getIteratorClass — Возвращает имя класса итератора для ArrayObject
  • ArrayObject::ksort — Сортирует записи по ключам
  • ArrayObject::natcasesort — Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::natsort — Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::offsetExists — Проверяет, существует ли указанный индекс
  • ArrayObject::offsetGet — Возвращает значение по указанному индексу
  • ArrayObject::offsetSet — Установливает новое значение по указанному индексу
  • ArrayObject::offsetUnset — Удаляет значение по указанному индексу
  • ArrayObject::serialize — Сериализует ArrayObject
  • ArrayObject::setFlags — Устанавливает флаги поведения
  • ArrayObject::setIteratorClass — Устанавливает имя класса итератора для ArrayObject
  • ArrayObject::uasort — Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort — Сортирует массив по ключам, используя пользовательскую функцию для сравнения
  • ArrayObject::unserialize — Десериализует ArrayObject
Различные Классы и Интерфейсы
ArrayObject::append
Различные Классы и Интерфейсы


Добавляет значение в конец массива

ArrayObject
ArrayObject::asort
ArrayObject
PHP Manual

ArrayObject::append

(PHP 5 >= 5.0.0)

ArrayObject::append — Добавляет значение в конец массива

Описание

void ArrayObject::append ( mixed $value )

Добавляет новое значение в конец массива.

Замечание:

Этот метод не может быть вызван, если ArrayObject был порожден объектом. В этом случае используйте вместо него ArrayObject::offsetSet().

Список параметров

value

Значение, которое должно быть добавлено.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::append()

<?php
$arrayobj = new ArrayObject(array('first','second','third'));
$arrayobj->append('fourth');
$arrayobj->append(array('five', 'six'));
var_dump($arrayobj);
?>

Результат выполнения данного примера:

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  string(6) "fourth"
  [4]=>
  array(2) {
    [0]=>
    string(4) "five"
    [1]=>
    string(3) "six"
  }
}

Смотрите также

  • ArrayObject::offsetSet() - Установливает новое значение по указанному индексу

ArrayObject
ArrayObject::asort
ArrayObject


Сортирует записи по значению

ArrayObject::append
ArrayObject::__construct
ArrayObject
PHP Manual

ArrayObject::asort

(PHP 5 >= 5.2.0)

ArrayObject::asort — Сортирует записи по значению

Описание

void ArrayObject::asort ( void )

Эта функция сортирует элементы массива таким образом, что сохраняются отношения между ключами и значениями. В основном, она используется при сортировке ассоциативных массивов, где важно сохранить отношение ключ => значение.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::asort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

c = apple
b = banana
d = lemon
a = orange

Названия фруктов были отсортированы в алфавитном порядке и отношения ключ => значение были сохранены.

Смотрите также

  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natsort() - Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::append
ArrayObject::__construct
ArrayObject


Создает новый объект типа массив

ArrayObject::asort
ArrayObject::count
ArrayObject
PHP Manual

ArrayObject::__construct

(PHP 5 >= 5.0.0)

ArrayObject::__construct — Создает новый объект типа массив

Описание

ArrayObject::__construct() ([ mixed $input [, int $flags [, string $iterator_class ]]] )

Создает новый объект типа массив (object).

Список параметров

input

Параметр input допускает значение типа array или Object.

flags

Флаги для контролирования поведения объекта ArrayObject.

iterator_class

Указывает класс, который будет использоваться в качестве итератора объекта ArrayObject. Класс ArrayIterator используется по умолчанию.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::__construct()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

Результат выполнения данного примера:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

Смотрите также

  • ArrayObject::setflags() - Устанавливает флаги поведения

ArrayObject::asort
ArrayObject::count
ArrayObject


Возвращает количество публичных свойств ArrayObject

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject
PHP Manual

ArrayObject::count

(PHP 5 >= 5.0.0)

ArrayObject::count — Возвращает количество публичных свойств ArrayObject

Описание

int ArrayObject::count ( void )

Возвращает количество публичных свойств ArrayObject.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Количество публичных свойств ArrayObject.

Замечание:

Если ArrayObject получен из массива, то все свойства являются общедоступными (public).

Примеры

Пример #1 Пример использования ArrayObject::count()

<?php
class Example {
    public $public = 'prop:public';
    private $prv   = 'prop:private';
    protected $prt = 'prop:protected';
}

$arrayobj = new ArrayObject(new Example());
var_dump($arrayobj->count());

$arrayobj = new ArrayObject(array('first','second','third'));
var_dump($arrayobj->count());
?>

Результат выполнения данного примера:

int(1)
int(3)

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject


Заменяет текущий массив на другой

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject
PHP Manual

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0)

ArrayObject::exchangeArray — Заменяет текущий массив на другой

Описание

array ArrayObject::exchangeArray ( mixed $input )

Заменяет текущий массив (array) на другой массив (array) или объект (object).

Список параметров

input

Новый массив (array) или объект (object) для замены текущего массива.

Возвращаемые значения

Возвращает старый массив (array).

Примеры

Пример #1 Пример использования ArrayObject::exchangeArray()

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
// Array of locations in Europe
$locations = array('Amsterdam', 'Paris', 'London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

Результат выполнения данного примера:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject


Создаёт копию ArrayObject

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject
PHP Manual

ArrayObject::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayObject::getArrayCopy — Создаёт копию ArrayObject

Описание

array ArrayObject::getArrayCopy ( void )

Экспортирует ArrayObject в массив.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает копию массива. Если ArrayObject ссылается на объект, то будет возвращен массив публичных (public) свойств данного объекта.

Примеры

Пример #1 Пример использования ArrayObject::getArrayCopy()

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['pears'] = 4;

// create a copy of the array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

Результат выполнения данного примера:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
    [pears] => 4
)

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject


Получает флаги поведения

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject
PHP Manual

ArrayObject::getFlags

(PHP 5 >= 5.1.0)

ArrayObject::getFlags — Получает флаги поведения

Описание

int ArrayObject::getFlags ( void )

Получает флаги поведения ArrayObject. Смотрите метод ArrayObject::setFlags для просмотра списка возможных флагов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает флаги поведения ArrayObject.

Примеры

Пример #1 Пример использования ArrayObject::getFlags()

<?php
// Массив с количеством фруктов
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Получение текущих флагов
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Установка новых флагов
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Получение новых флагов
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

Результат выполнения данного примера:

int(0)
int(2)

Смотрите также

  • Метод ArrayObject::setFlags

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject


Создаёт новый итератор из экземпляра ArrayObject

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject
PHP Manual

ArrayObject::getIterator

(PHP 5 >= 5.0.0)

ArrayObject::getIterator — Создаёт новый итератор из экземпляра ArrayObject

Описание

ArrayIterator ArrayObject::getIterator ( void )

Создаёт новый итератор из экземпляра ArrayObject.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Итератор из ArrayObject.

Примеры

Пример #1 Пример использования ArrayObject::getIterator()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

Результат выполнения данного примера:

1 => one
2 => two
3 => three

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject


Возвращает имя класса итератора для ArrayObject

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject
PHP Manual

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::getIteratorClass — Возвращает имя класса итератора для ArrayObject

Описание

public string ArrayObject::getIteratorClass ( void )

Возвращает имя класса итератора массива, который используемый ArrayObject::getIterator().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает имя класса итератора массива, который будет использоваться при итерации по этому объекту.

Примеры

Пример #1 Пример использования ArrayObject::getIteratorClass()

<?php
// Пользовательский ArrayIterator (включает в себя ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // пользовательская реализация
}

// Массив с количеством фруктов
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Получает текущее имя класса итератора
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Устанавливает новое имя класса итератора
$fruitsArrayObject->setIteratorClass('MyArrayIterator');

// Получает новое имя класса итератора
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

Результат выполнения данного примера:

string(13) "ArrayIterator"
string(15) "MyArrayIterator"

Смотрите также

  • ArrayObject::setIteratorClass

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject


Сортирует записи по ключам

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject
PHP Manual

ArrayObject::ksort

(PHP 5 >= 5.2.0)

ArrayObject::ksort — Сортирует записи по ключам

Описание

void ArrayObject::ksort ( void )

Сортирует массив по ключам, сохраняя отношения между ключами и значениями. Функция полезна, в основном, для работы с ассоциативными массивами.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::ksort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
 ?>

Результат выполнения данного примера:

a = orange
b = banana
c = apple
d = lemon

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::natsort() - Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject


Сортирует массив, используя регистронезависимый алгоритм "natural order"

ArrayObject::ksort
ArrayObject::natsort
ArrayObject
PHP Manual

ArrayObject::natcasesort

(PHP 5 >= 5.2.0)

ArrayObject::natcasesort — Сортирует массив, используя регистронезависимый алгоритм "natural order"

Описание

void ArrayObject::natcasesort ( void )

Этот метод является регистронезависимой версией ArrayObject::natsort.

Этот метод реализует алгоритм сортировки, при котором порядок цифробуквенных строк будет привычным для человека, сохраняя при этом связь ключ/значение. Иными словами, сортирует массив в "естественный порядок" (natural ordering).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::natcasesort()

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Стандартная сортировка\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nСортировка в естественном порядке (Вне зависимости от регистра)\n";
print_r($arr2);
?>

Результат выполнения данного примера:

Стандартная сортировка
ArrayObject Object
(
    [0] => IMG0.png
    [5] => IMG3.png
    [4] => img1.png
    [2] => img10.png
    [1] => img12.png
    [3] => img2.png
)

Сортировка в естественном порядке (Вне зависимости от регистра)
ArrayObject Object
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Для более подробной информации смотрите страницу Мартина Пула (Martin Pool) » Natural Order String Comparison.

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natsort() - Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::ksort
ArrayObject::natsort
ArrayObject


Сортирует массив, используя алгоритм "natural order"

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject
PHP Manual

ArrayObject::natsort

(PHP 5 >= 5.2.0)

ArrayObject::natsort — Сортирует массив, используя алгоритм "natural order"

Описание

void ArrayObject::natsort ( void )

Этот метод реализует алгоритм сортировки, при котором порядок цифробуквенных строк будет привычным для человека, сохраняя при этом связь ключ/значение. Иными словами, сортирует массив в "естественный порядок" (natural ordering). Пример отличия между этим алгоритмом и обычными алгоритмами сортировки, (Например, ArrayObject::asort) можно увидеть в примере ниже.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::natsort()

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Стандартная сортировка\n";
print_r($arr1);

$arr2->natsort();
echo "\nСортировка в естественном порядке\n";
print_r($arr2);
?>

Результат выполнения данного примера:

Стандартная сортировка
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Сортировка в естественном порядке
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Для более подробной информации смотрите страницу Мартина Пула (Martin Pool) » Natural Order String Comparison.

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject


Проверяет, существует ли указанный индекс

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject
PHP Manual

ArrayObject::offsetExists

(PHP 5 >= 5.0.0)

ArrayObject::offsetExists — Проверяет, существует ли указанный индекс

Описание

bool ArrayObject::offsetExists ( mixed $index )

Список параметров

index

Индекс, который должен быть проверен.

Возвращаемые значения

TRUE если указанный индекс существует, иначе FALSE

Примеры

Пример #1 Пример использования ArrayObject::offsetExists()

<?php
$arrayobj = new ArrayObject(array('zero', 'one', 'example'=>'e.g.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Результат выполнения данного примера:

bool(true)
bool(true)
bool(false)

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject


Возвращает значение по указанному индексу

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject
PHP Manual

ArrayObject::offsetGet

(PHP 5 >= 5.0.0)

ArrayObject::offsetGet — Возвращает значение по указанному индексу

Описание

mixed ArrayObject::offsetGet ( mixed $index )

Список параметров

index

Индекс, ссылающийся на значение.

Возвращаемые значения

Значение по указанному индексу или FALSE.

Примеры

Пример #1 Пример использования ArrayObject::offsetGet()

<?php
$arrayobj = new ArrayObject(array('zero', 7, 'example'=>'e.g.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Результат выполнения данного примера:

int(7)
string(4) "e.g."
bool(false)

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject


Установливает новое значение по указанному индексу

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject
PHP Manual

ArrayObject::offsetSet

(PHP 5 >= 5.0.0)

ArrayObject::offsetSet — Установливает новое значение по указанному индексу

Описание

void ArrayObject::offsetSet ( mixed $index , mixed $newval )

Устанавливает новое значение по указанному индексу.

Список параметров

index

Индекс для установки значения.

newval

Новое значение для index.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::offsetSet()

<?php
class Example {
    public $property = 'prop:public';
}
$arrayobj = new ArrayObject(new Example());
$arrayobj->offsetSet(4, 'four');
$arrayobj->offsetSet('group', array('g1', 'g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('zero','one'));
$arrayobj->offsetSet(null, 'last');
var_dump($arrayobj);
?>

Результат выполнения данного примера:

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(4) "four"
  ["group"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "zero"
  [1]=>
  string(3) "one"
  [2]=>
  string(4) "last"
}

Смотрите также

  • ArrayObject::append() - Добавляет значение в конец массива

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject


Удаляет значение по указанному индексу

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject
PHP Manual

ArrayObject::offsetUnset

(PHP 5 >= 5.0.0)

ArrayObject::offsetUnset — Удаляет значение по указанному индексу

Описание

void ArrayObject::offsetUnset ( mixed $index )

Удаляет значение по указанному индексу.

Список параметров

index

Индекс, значение которого необходимо удалить.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::offsetUnset()

<?php
$arrayobj = new ArrayObject(array(0=>'zero',2=>'two'));
$arrayobj->offsetUnset(2);
var_dump($arrayobj);
?>

Результат выполнения данного примера:

object(ArrayObject)#1 (1) {
  [0]=>
  string(4) "zero"
}

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject


Сериализует ArrayObject

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject
PHP Manual

ArrayObject::serialize

(PHP 5 >= 5.3.0)

ArrayObject::serialize — Сериализует ArrayObject

Описание

public void ArrayObject::serialize ( void )

Сериализует ArrayObject (преобразует в пригодное для хранения представление - прим. пер.).

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Сериализованное представление ArrayObject.

Примеры

Пример #1 Пример использования ArrayObject::serialize()

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);
?>

Результат выполнения данного примера:

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Смотрите также

  • ArrayObject::unserialize() - Десериализует ArrayObject
  • serialize() - Генерирует пригодное для хранения представление переменной
  • Сериализация объектов

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject


Устанавливает флаги поведения

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject
PHP Manual

ArrayObject::setFlags

(PHP 5 >= 5.1.0)

ArrayObject::setFlags — Устанавливает флаги поведения

Описание

void ArrayObject::setFlags ( int $flags )

Устанавливает флаги, которые влияют на поведение ArrayObject.

Список параметров

flags

Новое поведение ArrayObject. Допускается либо битовую маску, либо именованные константы. Использование именованных констант настоятельно рекомендуется для обеспечения совместимости с будущими версиями.

Доступные флаги поведения перечислены ниже. Фактические значения этих флагов описаны в разделе предопределенные константы.

Флаги поведения ArrayObject
Значение | Константа
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::setFlags()

<?php
// Массив с количеством фруктов
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Попытка использовать ключ массива как свойство
var_dump($fruitsArrayObject->lemons);
// Установка флага, позволяющего использовать ключи массива как свойства ArrayObject
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Новая попытка
var_dump($fruitsArrayObject->lemons);
?>

Результат выполнения данного примера:

NULL
int(1)

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject


Устанавливает имя класса итератора для ArrayObject

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject
PHP Manual

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::setIteratorClass — Устанавливает имя класса итератора для ArrayObject

Описание

void ArrayObject::setIteratorClass ( string $iterator_class )

Устанавливает имя класса итератора массива, возвращаемое ArrayObject::getIterator().

Список параметров

iterator_class

Имя класса итератора массива, который будет использоваться при итерации по этому объекту.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::setIteratorClass()

<?php
// Пользовательский ArrayIterator (включает в себя ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // пользовательская реализация
}

// Массив с количеством фруктов
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Устанавливает новое имя класса итератора
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

Результат выполнения данного примера:

MyArrayIterator Object
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject


Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject
PHP Manual

ArrayObject::uasort

(PHP 5 >= 5.2.0)

ArrayObject::uasort — Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение

Описание

void ArrayObject::uasort ( callback $cmp_function )

Эта функция сортирует значения так, чтобы сохранить связь ключа и значения, при этом для сравнения элементов вызывается пользовательская функция.

Функция используется в основном при сортировке ассоциативных массивов, где реальный порядок элементов имеет большое значение.

Список параметров

cmp_function

Функция cmp_function должна принимать два параметра, которым будут присвоены значения пары элементов. Функция сравнения должна возвращать целое число меньшее, равное или большее нуля, если первый параметр должен быть меньше, равен или больше второго параметра.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::uasort()

<?php
// Функция сравнения
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Массив для сортировки
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Сортировка и вывод массива
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

Результат выполнения данного примера:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natsort() - Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject


Сортирует массив по ключам, используя пользовательскую функцию для сравнения

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject
PHP Manual

ArrayObject::uksort

(PHP 5 >= 5.2.0)

ArrayObject::uksort — Сортирует массив по ключам, используя пользовательскую функцию для сравнения

Описание

void ArrayObject::uksort ( callback $cmp_function )

Эта функция сортирует ключи так, чтобы сохранить связь ключа и значения, при этом для сравнения элементов вызывается пользовательская функция.

Список параметров

cmp_function

Callback-функция, используемая для сравнения.

Функция cmp_function должна принимать два параметра, которым будут присвоены значения пары элементов. Функция сравнения должна возвращать целое число меньшее, равное или большее нуля, если первый параметр должен быть меньше, равен или больше второго параметра.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::uksort()

<?php
function cmp($a, $b) {
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
    echo "$key: $value\n";
}
?>

Результат выполнения данного примера:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natsort() - Сортирует массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject


Десериализует ArrayObject

ArrayObject::uksort
SplObserver
ArrayObject
PHP Manual

ArrayObject::unserialize

(PHP 5 >= 5.3.0)

ArrayObject::unserialize — Десериализует ArrayObject

Описание

public void ArrayObject::unserialize ( string $serialized )

Десериализует (конвертирует в значение PHP - прим.пер.) сериализованный объект ArrayObject.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

serialized

Сериализованный объект ArrayObject.

Возвращаемые значения

ArrayObject, конвертированный в значение PHP.

Смотрите также

  • ArrayIterator::serialize() - Serialize
  • unserialize() - Создает PHP-значение из хранимого представления
  • Сериализация объектов

ArrayObject::uksort
SplObserver
ArrayObject


The SplObserver interface

(PHP 5 >= 5.1.0)

Введение

The SplObserver interface is used alongside SplSubject to implement the Observer Design Pattern.

Обзор интерфейсов

SplObserver {
/* Методы */
abstract public void update ( SplSubject $subject )
}

Содержание

  • SplObserver::update — Receive update from subject
ArrayObject::unserialize
SplObserver::update
Различные Классы и Интерфейсы


Receive update from subject

SplObserver
SplSubject
SplObserver
PHP Manual

SplObserver::update

(PHP 5 >= 5.1.0)

SplObserver::update — Receive update from subject

Описание

abstract public void SplObserver::update ( SplSubject $subject )

This method is called when any SplSubject to which the observer is attached calls SplSubject::notify().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

subject

The SplSubject notifying the observer of an update.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplObserver
SplSubject
SplObserver


The SplSubject interface

(PHP 5 >= 5.1.0)

Введение

The SplSubject interface is used alongside SplObserver to implement the Observer Design Pattern.

Обзор интерфейсов

SplSubject {
/* Методы */
abstract public void attach ( SplObserver $observer )
abstract public void detach ( SplObserver $observer )
abstract public void notify ( void )
}

Содержание

  • SplSubject::attach — Attach an SplObserver
  • SplSubject::detach — Detach an observer
  • SplSubject::notify — Notify an observer
SplObserver::update
SplSubject::attach
Различные Классы и Интерфейсы


Attach an SplObserver

SplSubject
SplSubject::detach
SplSubject
PHP Manual

SplSubject::attach

(PHP 5 >= 5.1.0)

SplSubject::attach — Attach an SplObserver

Описание

abstract public void SplSubject::attach ( SplObserver $observer )

Attaches an SplObserver so that it can be notified of updates.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

observer

The SplObserver to attach.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplSubject
SplSubject::detach
SplSubject


Detach an observer

SplSubject::attach
SplSubject::notify
SplSubject
PHP Manual

SplSubject::detach

(PHP 5 >= 5.1.0)

SplSubject::detach — Detach an observer

Описание

abstract public void SplSubject::detach ( SplObserver $observer )

Detaches an observer from the subject to no longer notify it of updates.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

observer

The SplObserver to detach.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplSubject::attach
SplSubject::notify
SplSubject


Notify an observer

SplSubject::detach
SPL Types
SplSubject
PHP Manual

SplSubject::notify

(PHP 5 >= 5.1.0)

SplSubject::notify — Notify an observer

Описание

abstract public void SplSubject::notify ( void )

Notifies all attached observers.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplSubject::detach
SPL Types
SplSubject


SPL Type Handling

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • SplType — The SplType class
    • SplType::__construct — Creates a new value of some type
  • SplInt — The SplInt class
  • SplFloat — The SplFloat class
  • SplEnum — The SplEnum class
    • SplEnum::getConstList — Returns all consts (possible values) as an array.
  • SplBool — The SplBool class
  • SplString — The SplString class
SplSubject::notify
Введение
Другие базовые расширения


Введение

This extension aims at helping people making PHP a stronger typed language and can be a good alternative to scalar type hinting. It provides different typehandling classes as such as integer, float, bool, enum and string

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

SPL Types
Установка и настройка
SPL Types


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SPL Types


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/SPL_Types.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
SplType
Установка и настройка


The SplType class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Parent class for all SPL types.

Обзор классов

abstract SplType {
/* Constants */
const NULL __default = null ;
/* Методы */
__construct ([ mixed $initial_value [, bool $strict ]] )
}

Предопределенные константы

SplType Node Types

SplType::__default

Содержание

  • SplType::__construct — Creates a new value of some type
Типы ресурсов
SplType::__construct
SPL Types


Creates a new value of some type

SplType
SplInt
SplType
PHP Manual

SplType::__construct

(PECL spl_types >= 0.1.0)

SplType::__construct — Creates a new value of some type

Описание

SplType::__construct ([ mixed $initial_value [, bool $strict ]] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

initial_value

Type and default value depends on the extension class.

strict

Whether to set the object's sctrictness.

Ошибки

Throws an UnexpectedValueException if incompatible type is given.

SplType
SplInt
SplType


The SplInt class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SplInt class is used to enforce strong typing of the integer type.

Обзор классов

SplInt extends SplType {
/* Constants */
const integer __default = 0 ;
/* Наследуемые методы */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Предопределенные константы

SplInt Node Types

SplInt::__default

Примеры

Пример #1 SplInt usage example

<?php
$int = new SplInt(94);

try {
    $int = 'Try to cast a string value for fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

echo $int . PHP_EOL;
?>

Результат выполнения данного примера:

Value not an integer
94

SplType::__construct
SplFloat
SPL Types


The SplFloat class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SplFloat class is used to enforce strong typing of the float type.

Обзор классов

SplFloat extends SplType {
/* Constants */
const double __default = 0 ;
/* Наследуемые методы */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Предопределенные константы

SplFloat Node Types

SplFloat::__default

Примеры

Пример #1 SplFloat usage example

<?php
$float = new SplFloat(3.154);
$newFloat = new SplFloat(3);

try {
    $float = 'Try to cast a string value for fun';
} catch (UnexpectedValueException $uve) {
    echo $e->getMessage() . PHP_EOL;
}

echo $float . PHP_EOL;
echo $newFloat . PHP_EOL;
?>

Результат выполнения данного примера:

Value not a float
3.154
3

SplInt
SplEnum
SPL Types


The SplEnum class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

SplEnum gives the ability to emulate and create enumeration objects natively in PHP.

Обзор классов

SplEnum extends SplType {
/* Constants */
const NULL __default = null ;
/* Методы */
public array getConstList ([ bool $include_default = false ] )
/* Наследуемые методы */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Предопределенные константы

SplEnum Node Types

SplEnum::__default

Примеры

Пример #1 SplEnum usage example

<?php
class Month extends SplEnum {
    const __default = self::January;

    const January = 1;
    const February = 2;
    const March = 3;
    const April = 4;
    const May = 5;
    const June = 6;
    const July = 7;
    const August = 8;
    const September = 9;
    const October = 10;
    const November = 11;
    const December = 12;
}

echo new Month(Month::June) . PHP_EOL;

try {
    new Month(13);
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}
?>

Результат выполнения данного примера:

6
Value not a const in enum Month

Содержание

  • SplEnum::getConstList — Returns all consts (possible values) as an array.
SplFloat
SplEnum::getConstList
SPL Types


Returns all consts (possible values) as an array.

SplEnum
SplBool
SplEnum
PHP Manual

SplEnum::getConstList

(PECL spl_types >= 0.1.0)

SplEnum::getConstList — Returns all consts (possible values) as an array.

Описание

public array SplEnum::getConstList ([ bool $include_default = false ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

include_default

Whether to include __default property.

Возвращаемые значения

Примеры

Пример #1 SplEnum::getConstList() example

<?php
$bool = new SplBool;
var_dump($bool->getConstList(true));
?>

Результат выполнения данного примера:

array(3) {
  ["__default"]=>
  bool(false)
  ["false"]=>
  bool(false)
  ["true"]=>
  bool(true)
}

SplEnum
SplBool
SplEnum


The SplBool class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SplBool class is used to enforce strong typing of the bool type.

Обзор классов

SplBool extends SplEnum {
/* Constants */
const boolean __default = false ;
const boolean false = false ;
const boolean true = true ;
/* Наследуемые методы */
public array SplEnum::getConstList ([ bool $include_default = false ] )
}

Предопределенные константы

SplBool Node Types

SplBool::__default

SplBool::false

SplBool::true

Примеры

Пример #1 SplBool usage example

<?php
$true = new SplBool(true);
if ($true) {
    echo "TRUE\n";
}

$false = new SplBool;
if ($false) {
    echo "FALSE\n";
}
?>

Результат выполнения данного примера:

TRUE

SplEnum::getConstList
SplString
SPL Types


The SplString class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SplString class is used to enforce strong typing of the string type.

Обзор классов

SplString extends SplType {
/* Constants */
const integer __default = 0 ;
/* Наследуемые методы */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Предопределенные константы

SplString Node Types

SplString::__default

Примеры

Пример #1 SplString usage example

<?php
$string = new SplString("Testing");

try {
    $string = array();
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($string);
echo $string; // Outputs "Testing"
?>

Результат выполнения данного примера:

Value not a string
object(SplString)#1 (1) {
  ["__default"]=>
  string(7) "Testing"
}
Testing

SplBool
Streams
SPL Types


Streams

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Stream Classes
  • Предопределенные константы
  • Stream Filters
  • Контексты потоков
  • Stream Errors
  • Примеры
    • Example class registered as stream wrapper
  • streamWrapper — The streamWrapper class
    • streamWrapper::__construct — Constructs a new stream wrapper
    • streamWrapper::dir_closedir — Close directory handle
    • streamWrapper::dir_opendir — Open directory handle
    • streamWrapper::dir_readdir — Read entry from directory handle
    • streamWrapper::dir_rewinddir — Rewind directory handle
    • streamWrapper::mkdir — Create a directory
    • streamWrapper::rename — Renames a file or directory
    • streamWrapper::rmdir — Removes a directory
    • streamWrapper::stream_cast — Retrieve the underlaying resource
    • streamWrapper::stream_close — Close an resource
    • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush — Flushes the output
    • streamWrapper::stream_lock — Advisory file locking
    • streamWrapper::stream_metadata — Change stream options
    • streamWrapper::stream_open — Opens file or URL
    • streamWrapper::stream_read — Read from stream
    • streamWrapper::stream_seek — Seeks to specific location in a stream
    • streamWrapper::stream_set_option — Change stream options
    • streamWrapper::stream_stat — Retrieve information about a file resource
    • streamWrapper::stream_tell — Retrieve the current position of a stream
    • streamWrapper::stream_write — Write to stream
    • streamWrapper::unlink — Delete a file
    • streamWrapper::url_stat — Retrieve information about a file
  • Stream Функции
    • set_socket_blocking — Псевдоним stream_set_blocking
    • stream_bucket_append — Append bucket to brigade
    • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
    • stream_bucket_new — Create a new bucket for use on the current stream
    • stream_bucket_prepend — Prepend bucket to brigade
    • stream_context_create — Создаёт контекст потока
    • stream_context_get_default — Получает контекст потока по умолчанию
    • stream_context_get_options — Получает настройки для потока/обёртки/контекста
    • stream_context_get_params — Извлекает параметры из контекста
    • stream_context_set_default — Устанавливает контекст потоков по умолчанию
    • stream_context_set_option — Устанавливает опцию для потока/обёртки/контекста
    • stream_context_set_params — Устанавливает параметры для потока/обертки/контекста
    • stream_copy_to_stream — Копирует данные из одного потока в другой
    • stream_encoding — Устанавливает кодировку для потока
    • stream_filter_append — Прикрепляет фильтр к потоку
    • stream_filter_prepend — Прикрепляет фильтр к потоку
    • stream_filter_register — Регистрирует потоковый фильтр, определённый пользователем
    • stream_filter_remove — Удаляет фильтр из потока
    • stream_get_contents — Читает оставшуюся часть потока в строку
    • stream_get_filters — Извлекает список зарегистрированных фильтров
    • stream_get_line — Получает строку из потокового ресурса до указанного разделителя
    • stream_get_meta_data — Извлекает заголовок/метаданные из потоков/файловых указателей
    • stream_get_transports — Возвращает список зарегистрированных транспортов сокета
    • stream_get_wrappers — Извлекает список зарегистрированных потоков
    • stream_is_local — Проверяет, является ли поток локальным потоком
    • stream_notification_callback — Callback-функция для параметра контекста notification
    • stream_register_wrapper — Псевдоним stream_wrapper_register
    • stream_resolve_include_path — Составляет полное имя файла, используя пути включения
    • stream_select — Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
    • stream_set_blocking — Устанавливает блокирующий/неблокирующий режим на потоке
    • stream_set_read_buffer — Устанавливает буферизацию чтения файла на указанном потоке
    • stream_set_timeout — Устанавливает значение тайм-аута на потоке
    • stream_set_write_buffer — Устанавливает буферизацию файла при записи в указанный поток
    • stream_socket_accept — Принимает соединение на сокете, созданном c помощью функции stream_socket_server
    • stream_socket_client — Открывает соединение с интернет-сокетом или с доменным сокетом Unix
    • stream_socket_enable_crypto — Включает или отключает шифрование на уже подсоединённом сокете
    • stream_socket_get_name — Извлекает название локального или удалённого сокета
    • stream_socket_pair — Создаёт пару связанных неразличимых потоковых сокетов
    • stream_socket_recvfrom — Получает данные из сокета, подсоединённого или нет
    • stream_socket_sendto — Отправляет сообщение в сокет, независимо от того, подсоединён он или нет
    • stream_socket_server — Создаёт интернет-сокет или доменный сокет Unix
    • stream_socket_shutdown — Закрывает полнодуплексное соединение
    • stream_supports_lock — Определяет, поддерживает ли поток блокировку
    • stream_wrapper_register — Регистрирует обёртку URL, реализованную в виде PHP-класса
    • stream_wrapper_restore — Восстанавливает ранее разрегистрированную встроенную обёртку
    • stream_wrapper_unregister — Отменяет регистрацию обертки URL
SplString
Введение
Другие базовые расширения


Введение

Streams were introduced with PHP 4.3.0 as a way of generalizing file, network, data compression, and other operations which share a common set of functions and uses. In its simplest definition, a stream is a resource object which exhibits streamable behavior. That is, it can be read from or written to in a linear fashion, and may be able to fseek() to an arbitrary locations within the stream.

A wrapper is additional code which tells the stream how to handle specific protocols/encodings. For example, the http wrapper knows how to translate a URL into an HTTP/1.0 request for a file on a remote server. There are many wrappers built into PHP by default (See Поддерживаемые протоколы и обработчики (wrappers)), and additional, custom wrappers may be added either within a PHP script using stream_wrapper_register(), or directly from an extension using the API Reference in Working with streams. Because any variety of wrapper may be added to PHP, there is no set limit on what can be done with them. To access the list of currently registered wrappers, use stream_get_wrappers().

A stream is referenced as: scheme://target

  • scheme(string) - The name of the wrapper to be used. Examples include: file, http, https, ftp, ftps, compress.zlib, compress.bz2, and php. See Поддерживаемые протоколы и обработчики (wrappers) for a list of PHP built-in wrappers. If no wrapper is specified, the function default is used (typically file://).
  • target - Depends on the wrapper used. For filesystem related streams this is typically a path and filename of the desired file. For network related streams this is typically a hostname, often with a path appended. Again, see Поддерживаемые протоколы и обработчики (wrappers) for a description of targets for built-in streams.

Замечание:

Information on using streams within the PHP source code can be found in the Streams API for PHP Extension Authors reference.

Streams
Установка и настройка
Streams


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Stream Classes
Введение
Требования
Streams


Установка

Streams are an integral part of PHP as of version 4.3.0. No steps are required to enable them.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка
Stream Classes
Установка и настройка


Stream Classes

User designed wrappers can be registered via stream_wrapper_register(), using the class definition shown on that manual page.

class php_user_filter is predefined and is an abstract baseclass for use with user defined filters. See the manual page for stream_filter_register() for details on implementing user defined filters.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Constant | Description
STREAM_FILTER_READ * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when reading
STREAM_FILTER_WRITE * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when writing
STREAM_FILTER_ALL * | This constant is equivalent to STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON * | Return Code indicating that the userspace filter returned buckets in $out.
PSFS_FEED_ME * | Return Code indicating that the userspace filter did not return buckets in $out (i.e. No data available).
PSFS_ERR_FATAL * | Return Code indicating that the userspace filter encountered an unrecoverable error (i.e. Invalid data received).
PSFS_FLAG_NORMAL | Regular read/write.
PSFS_FLAG_FLUSH_INC | An incremental flush.
PSFS_FLAG_FLUSH_CLOSE | Final flush prior to closing.
STREAM_USE_PATH | Flag indicating if the stream used the include path.
STREAM_REPORT_ERRORS | Flag indicating if the wrapper is responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.
STREAM_CLIENT_ASYNC_CONNECT * | Open client socket asynchronously. This option must be used together with the STREAM_CLIENT_CONNECT flag. Used with stream_socket_client().
STREAM_CLIENT_CONNECT * | Open client socket connection. Client sockets should always include this flag. Used with stream_socket_client().
STREAM_CLIENT_PERSISTENT * | Client socket opened with stream_socket_client() should remain persistent between page loads.
STREAM_SERVER_BIND * | Tells a stream created with stream_socket_server() to bind to the specified target. Server sockets should always include this flag.
STREAM_SERVER_LISTEN * | Tells a stream created with stream_socket_server() and bound using the STREAM_SERVER_BIND flag to start listening on the socket. Connection-orientated transports (such as TCP) must use this flag, otherwise the server socket will not be enabled. Using this flag for connect-less transports (such as UDP) is an error.
STREAM_NOTIFY_RESOLVE * | A remote address required for this stream has been resolved, or the resolution failed. See severity for an indication of which happened.
STREAM_NOTIFY_CONNECT | A connection with an external resource has been established.
STREAM_NOTIFY_AUTH_REQUIRED | Additional authorization is required to access the specified resource. Typical issued with severity level of STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | The mime-type of resource has been identified, refer to message for a description of the discovered type.
STREAM_NOTIFY_FILE_SIZE_IS | The size of the resource has been discovered.
STREAM_NOTIFY_REDIRECTED | The external resource has redirected the stream to an alternate location. Refer to message.
STREAM_NOTIFY_PROGRESS | Indicates current progress of the stream transfer in bytes_transferred and possibly bytes_max as well.
STREAM_NOTIFY_COMPLETED * | There is no more data available on the stream.
STREAM_NOTIFY_FAILURE | A generic error occurred on the stream, consult message and message_code for details.
STREAM_NOTIFY_AUTH_RESULT | Authorization has been completed (with or without success).
STREAM_NOTIFY_SEVERITY_INFO | Normal, non-error related, notification.
STREAM_NOTIFY_SEVERITY_WARN | Non critical error condition. Processing may continue.
STREAM_NOTIFY_SEVERITY_ERR | A critical error occurred. Processing cannot continue.
STREAM_IPPROTO_ICMP + | Provides a ICMP socket.
STREAM_IPPROTO_IP + | Provides a IP socket.
STREAM_IPPROTO_RAW + | Provides a RAW socket.
STREAM_IPPROTO_TCP + | Provides a TCP socket.
STREAM_IPPROTO_UDP + | Provides a UDP socket.
STREAM_PF_INET + | Internet Protocol Version 4 (IPv4).
STREAM_PF_INET6 + | Internet Protocol Version 6 (IPv6).
STREAM_PF_UNIX + | Unix system internal protocols.
STREAM_SOCK_DGRAM + | Provides datagrams, which are connectionless messages (UDP, for example).
STREAM_SOCK_RAW + | Provides a raw socket, which provides access to internal network protocols and interfaces. Usually this type of socket is just available to the root user.
STREAM_SOCK_RDM + | Provides a RDM (Reliably-delivered messages) socket.
STREAM_SOCK_SEQPACKET + | Provides a sequenced packet stream socket.
STREAM_SOCK_STREAM + | Provides sequenced, two-way byte streams with a transmission mechanism for out-of-band data (TCP, for example).
STREAM_SHUT_RD | Used with stream_socket_shutdown() to disable further receptions. Added in PHP 5.2.1.
STREAM_SHUT_WR | Used with stream_socket_shutdown() to disable further transmissions. Added in PHP 5.2.1.
STREAM_SHUT_RDWR | Used with stream_socket_shutdown() to disable further receptions and transmissions. Added in PHP 5.2.1.
STREAM_CAST_FOR_SELECT | Stream casting, for when stream_select() is calling stream_cast().
STREAM_CAST_AS_STREAM | Stream casting, when stream_cast() is called otherwise (see above).
STREAM_META_TOUCH | Used with stream_metadata(), to specify touch() call.
STREAM_META_OWNER | Used with stream_metadata(), to specify chown() call.
STREAM_META_OWNER_NAME | Used with stream_metadata(), to specify chown() call.
STREAM_META_GROUP | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_GROUP_NAME | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_ACCESS | Used with stream_metadata(), to specify chmod() call.

Замечание: The constants marked with * are just available since PHP 5.0.0.

Замечание: The constants marked with + are available since PHP 5.1.0 and are meant to be used with stream_socket_pair(). Please note that some of these constants might not be available in your system.

Замечание: The STREAM_META_* constants are available since PHP 5.4.0 and are meant to be used with stream_metadata().

Stream Classes
Stream Filters
Streams


Stream Filters

A filter is a final piece of code which may perform operations on data as it is being read from or written to a stream. Any number of filters may be stacked onto a stream. Custom filters can be defined in a PHP script using stream_filter_register() or in an extension using the API Reference in Working with streams. To access the list of currently registered filters, use stream_get_filters().

Предопределенные константы
Контексты потоков
Streams


Контексты потоков

Контекст - это набор параметров и зависящих от контекста опций, который изменяет или расширяет поведение потока. Контексты создаются при помощи функции stream_context_create() и могут быть переданы большинству функций файловой системы, связанных с созданием потоков (например, fopen(), file(), file_get_contents(), и т. д...).

Опции могут быть определены при вызове функции stream_context_create(), или позже, используя функцию stream_context_set_option(). Список возможных опций в данном контексте может быть найден в главе Контекстные опции и параметры.

Параметры могут быть определены для контекстов, используя функцию stream_context_set_params().

Stream Filters
Stream Errors
Streams


Stream Errors

As with any file or socket related function, an operation on a stream may fail for a variety of normal reasons (i.e.: Unable to connect to remote host, file not found, etc...). A stream related call may also fail because the desired stream is not registered on the running system. See the array returned by stream_get_wrappers() for a list of streams supported by your installation of PHP. As with most PHP internal functions if a failure occurs an E_WARNING message will be generated describing the nature of the error.

Контексты потоков
Примеры
Streams


Примеры

Содержание

  • Example class registered as stream wrapper

Пример #1 Using file_get_contents() to retrieve data from multiple sources

<?php
/* Read local file from /home/bar */
$localfile = file_get_contents("/home/bar/foo.txt");

/* Identical to above, explicitly naming FILE scheme */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Read remote file from www.example.com using HTTP */
$httpfile  = file_get_contents("http://www.example.com/foo.txt");

/* Read remote file from www.example.com using HTTPS */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTP */
$ftpfile   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTPS */
$ftpsfile  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Пример #2 Making a POST request to an https server

<?php
/* Send POST request to https://secure.example.com/form_action.php
* Include form elements named "foo" and "bar" with dummy values
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, "$data\r\n");
fwrite($sock, "\r\n");

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>

Пример #3 Writing data to a compressed file

<?php
/* Create a compressed file containing an arbitrarty string
* File can be read back using compress.zlib stream or just
* decompressed from the command line using 'gzip -d foo-bar.txt.gz'
*/
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("Unable to create file.");

fwrite($fp, "This is a test.\n");

fclose($fp);
?>

Stream Errors
Example class registered as stream wrapper
Streams


Example class registered as stream wrapper

The example below implements a var:// protocol handler that allows read/write access to a named global variable using standard filesystem stream functions such as fread(). The var:// protocol implemented below, given the URL "var://foo" will read/write data to/from $GLOBALS["foo"].

Пример #1 A Stream for reading/writing global variables

<?php

class VariableStream {
    var $position;
    var $varname;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $url = parse_url($path);
        $this->varname = $url["host"];
        $this->position = 0;

        return true;
    }

    function stream_read($count)
    {
        $ret = substr($GLOBALS[$this->varname], $this->position, $count);
        $this->position += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $left = substr($GLOBALS[$this->varname], 0, $this->position);
        $right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
        $GLOBALS[$this->varname] = $left . $data . $right;
        $this->position += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->position;
    }

    function stream_eof()
    {
        return $this->position >= strlen($GLOBALS[$this->varname]);
    }

    function stream_seek($offset, $whence)
    {
        switch ($whence) {
            case SEEK_SET:
                if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
                     $this->position = $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($offset >= 0) {
                     $this->position += $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
                     $this->position = strlen($GLOBALS[$this->varname]) + $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }

    function stream_metadata($path, $option, $var)
    {
        if($option == STREAM_META_TOUCH) {
            $url = parse_url($path);
            $varname = $url["host"];
            if(!isset($GLOBALS[$varname])) {
                $GLOBALS[$varname] = '';
            }
            return true;
        }
        return false;
    }
}

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

Результат выполнения данного примера:

line1
line2
line3
string(18) "line1
line2
line3
"

Примеры
streamWrapper
Примеры


The streamWrapper class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Замечание:

This is NOT a real class, only a prototype of how a class defining its own protocol should be.

Замечание:

Implementing the methods in other ways then described here can lead to undefined behaviour.

An instance of this class is initialized as soon as a stream function tries to access the protocol it is associated with.

Обзор классов

streamWrapper {
/* Свойства */
public resource $streamWrapper->context ;
/* Методы */
streamWrapper::__construct ( void )
public bool streamWrapper::dir_closedir ( void )
public bool streamWrapper::dir_opendir ( string $path , int $options )
public string streamWrapper::dir_readdir ( void )
public bool streamWrapper::dir_rewinddir ( void )
public bool streamWrapper::mkdir ( string $path , int $mode , int $options )
public bool streamWrapper::rename ( string $path_from , string $path_to )
public bool streamWrapper::rmdir ( string $path , int $options )
public resource streamWrapper::stream_cast ( int $cast_as )
public void streamWrapper::stream_close ( void )
public bool streamWrapper::stream_eof ( void )
public bool streamWrapper::stream_flush ( void )
public bool streamWrapper::stream_lock ( mode $operation )
public bool streamWrapper::stream_metadata ( int $path , int $option , int $var )
public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )
public string streamWrapper::stream_read ( int $count )
public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )
public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )
public array streamWrapper::stream_stat ( void )
public int streamWrapper::stream_tell ( void )
public int streamWrapper::stream_write ( string $data )
public bool streamWrapper::unlink ( string $path )
public array streamWrapper::url_stat ( string $path , int $flags )
}

Свойства

resource context

The current context, or NULL if no context was passed to the caller function.

Use the stream_context_get_options() to parse the context.

Замечание:

This property must be public so PHP can populate it with the actual context resource.

Список изменений

Версия | Описание
5.0.0 | Added the context property.

Смотрите также

  • Example class registered as stream wrapper
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

Содержание

  • streamWrapper::__construct — Constructs a new stream wrapper
  • streamWrapper::dir_closedir — Close directory handle
  • streamWrapper::dir_opendir — Open directory handle
  • streamWrapper::dir_readdir — Read entry from directory handle
  • streamWrapper::dir_rewinddir — Rewind directory handle
  • streamWrapper::mkdir — Create a directory
  • streamWrapper::rename — Renames a file or directory
  • streamWrapper::rmdir — Removes a directory
  • streamWrapper::stream_cast — Retrieve the underlaying resource
  • streamWrapper::stream_close — Close an resource
  • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
  • streamWrapper::stream_flush — Flushes the output
  • streamWrapper::stream_lock — Advisory file locking
  • streamWrapper::stream_metadata — Change stream options
  • streamWrapper::stream_open — Opens file or URL
  • streamWrapper::stream_read — Read from stream
  • streamWrapper::stream_seek — Seeks to specific location in a stream
  • streamWrapper::stream_set_option — Change stream options
  • streamWrapper::stream_stat — Retrieve information about a file resource
  • streamWrapper::stream_tell — Retrieve the current position of a stream
  • streamWrapper::stream_write — Write to stream
  • streamWrapper::unlink — Delete a file
  • streamWrapper::url_stat — Retrieve information about a file
Example class registered as stream wrapper
streamWrapper::__construct
Streams


Constructs a new stream wrapper

streamWrapper
streamWrapper::dir_closedir
streamWrapper
PHP Manual

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::__construct — Constructs a new stream wrapper

Описание

streamWrapper::__construct ( void )

Called when opening the stream wrapper, right before streamWrapper::stream_open().

Список параметров

У этой функции нет параметров.

streamWrapper
streamWrapper::dir_closedir
streamWrapper


Close directory handle

streamWrapper::__construct
streamWrapper::dir_opendir
streamWrapper
PHP Manual

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_closedir — Close directory handle

Описание

public bool streamWrapper::dir_closedir ( void )

This method is called in response to closedir().

Any resources which were locked, or allocated, during opening and use of the directory stream should be released.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • closedir() - Освобождает дескриптор каталога
  • streamWrapper::dir_opendir() - Open directory handle

streamWrapper::__construct
streamWrapper::dir_opendir
streamWrapper


Open directory handle

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper
PHP Manual

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_opendir — Open directory handle

Описание

public bool streamWrapper::dir_opendir ( string $path , int $options )

This method is called in response to opendir().

Список параметров

path

Specifies the URL that was passed to opendir().

Замечание:

The URL can be broken apart with parse_url().

options

Whether or not to enforce safe_mode (0x04).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • opendir() - Открывает дескриптор каталога
  • streamWrapper::dir_closedir() - Close directory handle
  • parse_url() - Разбирает URL и возвращает его компоненты

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper


Read entry from directory handle

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper
PHP Manual

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_readdir — Read entry from directory handle

Описание

public string streamWrapper::dir_readdir ( void )

This method is called in response to readdir().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Should return string representing the next filename, or FALSE if there is no next file.

Замечание:

The return value will be casted to string.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примеры

Пример #1 Listing files from tar archives

<?php
class streamWrapper {
    protected $fp;

    public function dir_opendir($path, $options) {
        $url = parse_url($path);

        $path = $url["host"] . $url["path"];

        if (!is_readable($path)) {
            trigger_error("$path isn't readable for me", E_USER_NOTICE);
            return false;
        }
        if (!is_file($path)) {
            trigger_error("$path isn't a file", E_USER_NOTICE);
            return false;
        }

        $this->fp = fopen($path, "rb");
        return true;
    }

    public function dir_readdir() {
        // Extract the header for this entry
        $header      = fread($this->fp, 512);
        $data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1filetype/a100link/a100linkedfile", $header);

        // Trim the filename and filesize
        $filename    = trim($data["filename"]);

        // No filename? We are the end of the archive
        if (!$filename) {
            return false;
        }

        $octal_bytes = trim($data["size"]);
        // Filesize is defined in octects
        $bytes       = octdec($octal_bytes);

        // tar rounds up filesizes up to multiple of 512 bytes (zero filled)
        $rest        = $bytes % 512;
        if ($rest > 0) {
            $bytes      += 512 - $rest;
        }

        // Seek over the file
        fseek($this->fp, $bytes, SEEK_CUR);

        return $filename;
    }

    public function dir_closedir() {
        return fclose($this->fp);
    }

    public function dir_rewinddir() {
        return fseek($this->fp, 0, SEEK_SET);
    }
}

stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
    var_dump($file);
}

echo "Rewinding..\n";
rewind($handle);
var_dump(readdir($handle));

closedir($handle);
?>

Результатом выполнения данного примера будет что-то подобное:

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Rewinding..
string(13) "construct.xml"

Смотрите также

  • readdir() - Получает элемент каталога по его дескриптору

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper


Rewind directory handle

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper
PHP Manual

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_rewinddir — Rewind directory handle

Описание

public bool streamWrapper::dir_rewinddir ( void )

This method is called in response to rewinddir().

Should reset the output generated by streamWrapper::dir_readdir(). i.e.: The next call to streamWrapper::dir_readdir() should return the first entry in the location returned by streamWrapper::dir_opendir().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • rewinddir() - Сбросить дескриптор каталога
  • streamWrapper::dir_readdir() - Read entry from directory handle

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper


Create a directory

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper
PHP Manual

streamWrapper::mkdir

(PHP 5)

streamWrapper::mkdir — Create a directory

Описание

public bool streamWrapper::mkdir ( string $path , int $mode , int $options )

This method is called in response to mkdir().

Замечание:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support creating directories.

Список параметров

path

Directory which should be created.

mode

The value passed to mkdir().

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • mkdir() - Создаёт директорию
  • streamwrapper::rmdir() - Removes a directory

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper


Renames a file or directory

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper
PHP Manual

streamWrapper::rename

(PHP 5)

streamWrapper::rename — Renames a file or directory

Описание

public bool streamWrapper::rename ( string $path_from , string $path_to )

This method is called in response to rename().

Should attempt to rename path_from to path_to

Замечание:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support renaming files.

Список параметров

path_from

The URL to the current file.

path_to

The URL which the path_from should be renamed to.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • rename() - Переименовывает файл или директорию

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper


Removes a directory

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper
PHP Manual

streamWrapper::rmdir

(PHP 5)

streamWrapper::rmdir — Removes a directory

Описание

public bool streamWrapper::rmdir ( string $path , int $options )

This method is called in response to rmdir().

Замечание:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing directories.

Список параметров

path

The directory URL which should be removed.

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • rmdir() - Удаляет директорию
  • streamwrapper::mkdir() - Create a directory
  • streamwrapper::unlink() - Delete a file

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper


Retrieve the underlaying resource

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper
PHP Manual

streamWrapper::stream_cast

(PHP 5 >= 5.3.0)

streamWrapper::stream_cast — Retrieve the underlaying resource

Описание

public resource streamWrapper::stream_cast ( int $cast_as )

This method is called in response to stream_select().

Список параметров

cast_as

Can be STREAM_CAST_FOR_SELECT when stream_select() is calling stream_cast() or STREAM_CAST_AS_STREAM when stream_cast() is called for other uses.

Возвращаемые значения

Should return the underlying stream resource used by the wrapper, or FALSE.

Смотрите также

  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper


Close an resource

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper
PHP Manual

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_close — Close an resource

Описание

public void streamWrapper::stream_close ( void )

This method is called in response to fclose().

All resources that were locked, or allocated, by the wrapper should be released.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • fclose() - Закрывает открытый дескриптор файла
  • streamWrapper::dir_closedir() - Close directory handle

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper


Tests for end-of-file on a file pointer

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper
PHP Manual

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_eof — Tests for end-of-file on a file pointer

Описание

public bool streamWrapper::stream_eof ( void )

This method is called in response to feof().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Should return TRUE if the read/write position is at the end of the stream and if no more data is available to be read, or FALSE otherwise.

Примечания

Внимание

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Смотрите также

  • feof() - Проверяет, достигнут ли конец файла

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper


Flushes the output

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper
PHP Manual

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_flush — Flushes the output

Описание

public bool streamWrapper::stream_flush ( void )

This method is called in response to fflush().

If you have cached data in your stream but not yet stored it into the underlying storage, you should do so now.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Should return TRUE if the cached data was successfully stored (or if there was no data to store), or FALSE if the data could not be stored.

Примечания

Замечание:

If not implemented, FALSE is assumed as the return value.

Смотрите также

  • fflush() - Сбрасывает буфер вывода в файл

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper


Advisory file locking

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper
PHP Manual

streamWrapper::stream_lock

(PHP 5)

streamWrapper::stream_lock — Advisory file locking

Описание

public bool streamWrapper::stream_lock ( mode $operation )

This method is called in response to flock(), when file_put_contents() (when flags contains LOCK_EX), stream_set_blocking() and when closing the stream (LOCK_UN).

Список параметров

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).
  • LOCK_NB if you don't want flock() to block while locking. (not supported on Windows)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Emits E_WARNING if call to this method fails (i.e. not implemented).

Смотрите также

  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • flock() - Портируемая консультативная блокировка файлов

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper


Change stream options

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper
PHP Manual

streamWrapper::stream_metadata

(Информация о версии неизвестна, возможно, только в SVN)

streamWrapper::stream_metadata — Change stream options

Описание

public bool streamWrapper::stream_metadata ( int $path , int $option , int $var )

This method is called to set metadata on the stream. It is called when one of the following functions is called on a stream URL:

  • touch()
  • chmod()
  • chown()
  • chgrp()
Please note that some of these operations may not be available on your system.

Замечание: The function is available since PHP 5.4.0.

Список параметров

path

The file path or URL to set metadata. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

option

One of:

  • PHP_STREAM_META_TOUCH (The method was called in response to touch())
  • PHP_STREAM_META_OWNER_NAME (The method was called in response to chown() with string parameter)
  • PHP_STREAM_META_OWNER (The method was called in response to chown())
  • PHP_STREAM_META_GROUP_NAME (The method was called in response to chgrp())
  • PHP_STREAM_META_GROUP (The method was called in response to chgrp())
  • PHP_STREAM_META_ACCESS (The method was called in response to chmod())

arg1

If option is

  • PHP_STREAM_META_TOUCH: Array consisting of two arguments of the touch() function.
  • PHP_STREAM_META_OWNER_NAME or PHP_STREAM_META_GROUP_NAME: The name of the owner user/group as string.
  • PHP_STREAM_META_OWNER or PHP_STREAM_META_GROUP: The value owner user/group argument as integer.
  • PHP_STREAM_META_ACCESS: The argument of the chmod() as integer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If option is not implemented, FALSE should be returned.

Смотрите также

  • touch() - Устанавливает время доступа и модификации файла
  • chmod() - Изменяет режим доступа к файлу
  • chown() - Изменяет владельца файла
  • chgrp() - Изменяет группу владельцев файла

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper


Opens file or URL

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper
PHP Manual

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_open — Opens file or URL

Описание

public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )

This method is called immediately after the wrapper is initialized (f.e. by fopen() and file_get_contents()).

Список параметров

path

Specifies the URL that was passed to the original function.

Замечание:

The URL can be broken apart with parse_url(). Note that only URLs delimited by :// are supported. : and :/ while technically valid URLs, are not.

mode

The mode used to open the file, as detailed for fopen().

Замечание:

Remember to check if the mode is valid for the path requested.

options

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_USE_PATH | If path is relative, search for the resource using the include_path.
STREAM_REPORT_ERRORS | If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.

opened_path

If the path is opened successfully, and STREAM_USE_PATH is set in options, opened_path should be set to the full path of the file/resource that was actually opened.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • fopen() - Открывает файл или URL
  • parse_url() - Разбирает URL и возвращает его компоненты

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper


Read from stream

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper
PHP Manual

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_read — Read from stream

Описание

public string streamWrapper::stream_read ( int $count )

This method is called in response to fread() and fgets().

Замечание:

Remember to update the read/write position of the stream (by the number of bytes that were successfully read).

Список параметров

count

How many bytes of data from the current position should be returned.

Возвращаемые значения

If there are less than count bytes available, return as many as are available. If no more data is available, return either FALSE or an empty string.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Замечание:

If the return value is longer then count an E_WARNING error will be emitted, and excess data will be lost.

Примечания

Замечание:

streamWrapper::stream_eof() is called directly after calling streamWrapper::stream_read() to check if EOF has been reached. If not implemented, EOF is assumed.

Внимание

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fgets() - Читает строку из файла

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper


Seeks to specific location in a stream

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper
PHP Manual

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_seek — Seeks to specific location in a stream

Описание

public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )

This method is called in response to fseek().

The read/write position of the stream should be updated according to the offset and whence.

Список параметров

offset

The stream offset to seek to.

whence

Possible values:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

Возвращаемые значения

Return TRUE if the position was updated, FALSE otherwise.

Примечания

Замечание:

If not implemented, FALSE is assumed as the return value.

Замечание:

Upon success,
 streamWrapper::stream_tell() is called directly after
calling  streamWrapper::stream_seek(). If
 streamWrapper::stream_tell() fails, the return
value to the caller function will be set to FALSE

Замечание:

Not all seeks operations on the stream will result in this function being called. PHP streams have read buffering enabled by default (see also stream_set_read_buffer()) and seeking may be done by merely moving the buffer pointer.

Смотрите также

  • fseek() - Устанавливает смещение в файловом указателе

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper


Change stream options

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper
PHP Manual

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0)

streamWrapper::stream_set_option — Change stream options

Описание

public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )

This method is called to set options on the stream.

Список параметров

option

One of:

  • STREAM_OPTION_BLOCKING (The method was called in response to stream_set_blocking())
  • STREAM_OPTION_READ_TIMEOUT (The method was called in response to stream_set_timeout())
  • STREAM_OPTION_WRITE_BUFFER (The method was called in response to stream_set_write_buffer())

arg1

If option is

  • STREAM_OPTION_BLOCKING: requested blocking mode (1 meaning block 0 not blocking).
  • STREAM_OPTION_READ_TIMEOUT: the timeout in seconds.
  • STREAM_OPTION_WRITE_BUFFER: buffer mode (STREAM_BUFFER_NONE or STREAM_BUFFER_FULL).

arg2

If option is

  • STREAM_OPTION_BLOCKING: This option is not set.
  • STREAM_OPTION_READ_TIMEOUT: the timeout in microseconds.
  • STREAM_OPTION_WRITE_BUFFER: the requested buffer size.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If option is not implemented, FALSE should be returned.

Смотрите также

  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • stream_set_write_buffer() - Устанавливает буферизацию файла при записи в указанный поток

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper


Retrieve information about a file resource

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper
PHP Manual

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_stat — Retrieve information about a file resource

Описание

public array streamWrapper::stream_stat ( void )

This method is called in response to fstat().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

See stat().

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Смотрите также

  • stat() - Возвращает информацию о файле
  • streamwrapper::url_stat() - Retrieve information about a file

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper


Retrieve the current position of a stream

streamWrapper::stream_stat
streamWrapper::stream_write
streamWrapper
PHP Manual

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_tell — Retrieve the current position of a stream

Описание

public int streamWrapper::stream_tell ( void )

This method is called in response to fseek() to determine the current position.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Should return the current position of the stream.

Смотрите также

  • streamWrapper::stream_tell()

streamWrapper::stream_stat
streamWrapper::stream_write
streamWrapper


Write to stream

streamWrapper::stream_tell
streamWrapper::unlink
streamWrapper
PHP Manual

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_write — Write to stream

Описание

public int streamWrapper::stream_write ( string $data )

This method is called in response to fwrite().

Замечание:

Remember to update the current position of the stream by number of bytes that were successfully written.

Список параметров

data

Should be stored into the underlying stream.

Замечание:

If there is not enough room in the underlying stream, store as much as possible.

Возвращаемые значения

Should return the number of bytes that were successfully stored, or 0 if none could be stored.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Замечание:

If the return value is greater the length of data, E_WARNING will be emitted and the return value will truncated to its length.

Смотрите также

  • fwrite() - Бинарно-безопасная запись в файл

streamWrapper::stream_tell
streamWrapper::unlink
streamWrapper


Delete a file

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper
PHP Manual

streamWrapper::unlink

(PHP 5)

streamWrapper::unlink — Delete a file

Описание

public bool streamWrapper::unlink ( string $path )

This method is called in response to unlink().

Замечание:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing files.

Список параметров

path

The file URL which should be deleted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • unlink() - Удаляет файл
  • streamWrapper::rmdir() - Removes a directory

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper


Retrieve information about a file

streamWrapper::unlink
Stream Функции
streamWrapper
PHP Manual

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::url_stat — Retrieve information about a file

Описание

public array streamWrapper::url_stat ( string $path , int $flags )

This method is called in response to all stat() related functions, such as:

  • chmod() (only when safe_mode is enabled)
  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms()
  • SplFileInfo::getInode()
  • SplFileInfo::getSize()
  • SplFileInfo::getOwner()
  • SplFileInfo::getGroup()
  • SplFileInfo::getATime()
  • SplFileInfo::getMTime()
  • SplFileInfo::getCTime()
  • SplFileInfo::getType()
  • SplFileInfo::isWritable()
  • SplFileInfo::isReadable()
  • SplFileInfo::isExecutable()
  • SplFileInfo::isFile()
  • SplFileInfo::isDir()
  • SplFileInfo::isLink()
  • RecursiveDirectoryIterator::hasChildren()

Список параметров

path

The file path or URL to stat. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

flags

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_URL_STAT_LINK | For resources with the ability to link to other resource (such as an HTTP Location: forward, or a filesystem symlink). This flag specified that only information about the link itself should be returned, not the resource pointed to by the link. This flag is set in response to calls to lstat(), is_link(), or filetype().
STREAM_URL_STAT_QUIET | If this flag is set, your wrapper should not raise any errors. If this flag is not set, you are responsible for reporting errors using the trigger_error() function during stating of the path.

Возвращаемые значения

Should return as many elements as stat() does. Unknown or unavailable values should be set to a rational value (usually 0).

Ошибки

Вызывает ошибку уровня E_WARNING если вызов к этому методу не удался (например, не реализован).

Примечания

Замечание:

Свойство streamWrapper->context будет обновлено, если корректный контекст был передан в вызываемую функцию.

Смотрите также

  • stat() - Возвращает информацию о файле
  • streamwrapper::stream_stat() - Retrieve information about a file resource

streamWrapper::unlink
Stream Функции
streamWrapper


Stream Функции

Содержание

  • set_socket_blocking — Псевдоним stream_set_blocking
  • stream_bucket_append — Append bucket to brigade
  • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
  • stream_bucket_new — Create a new bucket for use on the current stream
  • stream_bucket_prepend — Prepend bucket to brigade
  • stream_context_create — Создаёт контекст потока
  • stream_context_get_default — Получает контекст потока по умолчанию
  • stream_context_get_options — Получает настройки для потока/обёртки/контекста
  • stream_context_get_params — Извлекает параметры из контекста
  • stream_context_set_default — Устанавливает контекст потоков по умолчанию
  • stream_context_set_option — Устанавливает опцию для потока/обёртки/контекста
  • stream_context_set_params — Устанавливает параметры для потока/обертки/контекста
  • stream_copy_to_stream — Копирует данные из одного потока в другой
  • stream_encoding — Устанавливает кодировку для потока
  • stream_filter_append — Прикрепляет фильтр к потоку
  • stream_filter_prepend — Прикрепляет фильтр к потоку
  • stream_filter_register — Регистрирует потоковый фильтр, определённый пользователем
  • stream_filter_remove — Удаляет фильтр из потока
  • stream_get_contents — Читает оставшуюся часть потока в строку
  • stream_get_filters — Извлекает список зарегистрированных фильтров
  • stream_get_line — Получает строку из потокового ресурса до указанного разделителя
  • stream_get_meta_data — Извлекает заголовок/метаданные из потоков/файловых указателей
  • stream_get_transports — Возвращает список зарегистрированных транспортов сокета
  • stream_get_wrappers — Извлекает список зарегистрированных потоков
  • stream_is_local — Проверяет, является ли поток локальным потоком
  • stream_notification_callback — Callback-функция для параметра контекста notification
  • stream_register_wrapper — Псевдоним stream_wrapper_register
  • stream_resolve_include_path — Составляет полное имя файла, используя пути включения
  • stream_select — Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
  • stream_set_blocking — Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_read_buffer — Устанавливает буферизацию чтения файла на указанном потоке
  • stream_set_timeout — Устанавливает значение тайм-аута на потоке
  • stream_set_write_buffer — Устанавливает буферизацию файла при записи в указанный поток
  • stream_socket_accept — Принимает соединение на сокете, созданном c помощью функции stream_socket_server
  • stream_socket_client — Открывает соединение с интернет-сокетом или с доменным сокетом Unix
  • stream_socket_enable_crypto — Включает или отключает шифрование на уже подсоединённом сокете
  • stream_socket_get_name — Извлекает название локального или удалённого сокета
  • stream_socket_pair — Создаёт пару связанных неразличимых потоковых сокетов
  • stream_socket_recvfrom — Получает данные из сокета, подсоединённого или нет
  • stream_socket_sendto — Отправляет сообщение в сокет, независимо от того, подсоединён он или нет
  • stream_socket_server — Создаёт интернет-сокет или доменный сокет Unix
  • stream_socket_shutdown — Закрывает полнодуплексное соединение
  • stream_supports_lock — Определяет, поддерживает ли поток блокировку
  • stream_wrapper_register — Регистрирует обёртку URL, реализованную в виде PHP-класса
  • stream_wrapper_restore — Восстанавливает ранее разрегистрированную встроенную обёртку
  • stream_wrapper_unregister — Отменяет регистрацию обертки URL
streamWrapper::url_stat
set_socket_blocking
Streams


Псевдоним stream_set_blocking

Stream Функции
stream_bucket_append
Stream Функции
PHP Manual

set_socket_blocking

(PHP 4, PHP 5)

set_socket_blocking — Псевдоним stream_set_blocking()

Описание

Эта функция является псевдонимом: stream_set_blocking()

Внимание

Этот псевдоним УСТАРЕЛ начиная с версии PHP 5.3.0. Крайне не рекомендуется полагаться на этот пвседоним.

Stream Функции
stream_bucket_append
Stream Функции


Append bucket to brigade

set_socket_blocking
stream_bucket_make_writeable
Stream Функции
PHP Manual

stream_bucket_append

(PHP 5)

stream_bucket_append — Append bucket to brigade

Описание

void stream_bucket_append ( resource $brigade , resource $bucket )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

set_socket_blocking
stream_bucket_make_writeable
Stream Функции


Return a bucket object from the brigade for operating on

stream_bucket_append
stream_bucket_new
Stream Функции
PHP Manual

stream_bucket_make_writeable

(PHP 5)

stream_bucket_make_writeable — Return a bucket object from the brigade for operating on

Описание

object stream_bucket_make_writeable ( resource $brigade )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_bucket_append
stream_bucket_new
Stream Функции


Create a new bucket for use on the current stream

stream_bucket_make_writeable
stream_bucket_prepend
Stream Функции
PHP Manual

stream_bucket_new

(PHP 5)

stream_bucket_new — Create a new bucket for use on the current stream

Описание

object stream_bucket_new ( resource $stream , string $buffer )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_bucket_make_writeable
stream_bucket_prepend
Stream Функции


Prepend bucket to brigade

stream_bucket_new
stream_context_create
Stream Функции
PHP Manual

stream_bucket_prepend

(PHP 5)

stream_bucket_prepend — Prepend bucket to brigade

Описание

void stream_bucket_prepend ( resource $brigade , resource $bucket )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_bucket_new
stream_context_create
Stream Функции


Создаёт контекст потока

stream_bucket_prepend
stream_context_get_default
Stream Функции
PHP Manual

stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create — Создаёт контекст потока

Описание

resource stream_context_create ([ array $options [, array $params ]] )

Создаёт и возвращает контекст потока с опциями, указанными в массиве options.

Список параметров

options

Должен быть ассоциативным массивом в формате $arr['wrapper']['option'] = $value.

Значение по умолчанию - пустой массив.

params

Должен быть ассоциативным массивом в формате $arr['parameter'] = $value. Обратитесь к разделу context parameters за списком стандартных параметров потока.

Возвращаемые значения

resource контекста потока.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный аргумент params.

Примеры

Пример #1 Использование stream_context_create()

<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

/* Отправляет http-запрос на домен www.example.com
   с дополнительными заголовкам, показанными выше */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Смотрите также

  • stream_context_set_option() - Устанавливает опцию для потока/обёртки/контекста
  • Список поддерживаемых обработчиков (Поддерживаемые протоколы и обработчики (wrappers))
  • Опции контекста (Контекстные опции и параметры)
stream_bucket_prepend
stream_context_get_default
Stream Функции


Получает контекст потока по умолчанию

stream_context_create
stream_context_get_options
Stream Функции
PHP Manual

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_default — Получает контекст потока по умолчанию

Описание

resource stream_context_get_default ([ array $options ] )

Возвращает контекст потока по умолчанию, который используется в любых файловых операциях (fopen(), file_get_contents(), etc...), вызванных без параметра контекста. Опции для контекста по умолчанию могут быть опционально указаны с этой функцией импользуя тот же синтаксис, что и для stream_context_create().

Список параметров

options
options должны быть ассоциативным массивом ассоциативных массивов в формате $arr['wrapper']['option'] = $value.

Замечание:

Начиная с PHP 5.3.0, функция stream_context_set_default() может быть использована для установки контекста по умолчанию.

Возвращаемые значения

Ресурс resource контекста потока.

Примеры

Пример #1 Пример использования stream_context_get_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$alternate_opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Отправляет обычный GET запрос на прокси-сервер 10.54.1.39
 * Для www.example.com используются опции контекста, указанные в $default_opts
 */
readfile('http://www.example.com');

/* Отправляет POST запрос напрямую к www.example.com
 * Используемые опции контекста определены в $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

Смотрите также

  • stream_context_create() - Создаёт контекст потока
  • Список поддерживаемых обёрток с опциями контекста (Поддерживаемые протоколы и обработчики (wrappers)).

stream_context_create
stream_context_get_options
Stream Функции


Получает настройки для потока/обёртки/контекста

stream_context_get_default
stream_context_get_params
Stream Функции
PHP Manual

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5)

stream_context_get_options — Получает настройки для потока/обёртки/контекста

Описание

array stream_context_get_options ( resource $stream_or_context )

Возвращает массив настроек на указанном потоке или контексте.

Список параметров

stream_or_context

Поток stream или контекст context, у которого будут получены настройки

Возвращаемые значения

Возвращает ассоциативный массив с настройками.

Примеры

Пример #1 Пример использования stream_context_get_options()

<?php
$params = array("method" => "POST");

stream_context_get_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  ["http"]=>
  array(1) {
    ["method"]=>
    string(4) "POST"
  }
}

stream_context_get_default
stream_context_get_params
Stream Функции


Извлекает параметры из контекста

stream_context_get_options
stream_context_set_default
Stream Функции
PHP Manual

stream_context_get_params

(PHP 5 >= 5.3.0)

stream_context_get_params — Извлекает параметры из контекста

Описание

array stream_context_get_params ( resource $stream_or_context )

Возвращает информацию о параметрах и опциях из потока или контекста.

Список параметров

stream_or_context

Ресурс resource потока или контекстовый ресурс resource

Возвращаемые значения

Возвращает ассоциативный массив, содержащий все опции и параметры контекста.

Примеры

Пример #1 Пример использования stream_context_get_params()

Пример простого использования

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Смотрите также

  • stream_context_set_option() - Устанавливает опцию для потока/обёртки/контекста
  • stream_context_get_params()
  • stream_context_set_params() - Устанавливает параметры для потока/обертки/контекста

stream_context_get_options
stream_context_set_default
Stream Функции


Устанавливает контекст потоков по умолчанию

stream_context_get_params
stream_context_set_option
Stream Функции
PHP Manual

stream_context_set_default

(PHP 5 >= 5.3.0)

stream_context_set_default — Устанавливает контекст потоков по умолчанию

Описание

resource stream_context_set_default ( array $options )

Устанавливает контекст потока по умолчанию, который будет использоваться всякий раз, когда файловые операции (fopen(), file_get_contents(), и т.д.) вызываются без параметра контекста. Используется тот же синтаксис, что и в stream_context_create().

Список параметров

options

Опции для установки для контекста по умолчанию.

Замечание:

Параметр options должен быть ассоциативным массивом ассоциативных массивов в формате $arr['wrapper']['option'] = $value.

Возвращаемые значения

Возвращает контекст потока по умолчанию.

Примеры

Пример #1 stream_context_set_default() example

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$default = stream_context_set_default($default_opts);

/* Отправляет обычный GET-запрос к прокси-серверу по адресу 10.54.1.39
 * Для www.example.com используются опции контекста, указанные в $default_opts
 */
readfile('http://www.example.com');
?>

Смотрите также

  • stream_context_create() - Создаёт контекст потока
  • stream_context_get_default() - Получает контекст потока по умолчанию
  • Listing of supported wrappers with context options (Поддерживаемые протоколы и обработчики (wrappers)).

stream_context_get_params
stream_context_set_option
Stream Функции


Устанавливает опцию для потока/обёртки/контекста

stream_context_set_default
stream_context_set_params
Stream Функции
PHP Manual

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_option — Устанавливает опцию для потока/обёртки/контекста

Описание

bool stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value )
bool stream_context_set_option ( resource $stream_or_context , array $options )

Устанавливает опцию на указанный контекст. Значение value устанавливается в option для wrapper

Список параметров

stream_or_context

Поток или ресурс контекста, к которому будут применены опции.

options

Опции, которые будут применены к конексту.

Замечание:

Параметр options должен быть ассоциативным массивом ассоциативных массивов в формате $arr['wrapper']['option'] = $value.

Обратитесь к разделу опции и параметры контекста, чтобы получить список опций потока.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_context_set_default
stream_context_set_params
Stream Функции


Устанавливает параметры для потока/обертки/контекста

stream_context_set_option
stream_copy_to_stream
Stream Функции
PHP Manual

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_params — Устанавливает параметры для потока/обертки/контекста

Описание

bool stream_context_set_params ( resource $stream_or_context , array $params )

Устанавливает параметры для указанного контекста.

Список параметров

stream_or_context

Поток или контекст, к которому будут применены параметры.

params

Массив параметров, которые будут установлены.

Замечание:

Массив params должен быть ассоциативным массивом со следующей структурой: $params['paramname'] = "paramvalue";.

Поддерживаемые параметры

Параметры | Назначение
notification | Название определённой пользователем callback-функции, которая будет вызвана, когда потоком посылается уведомление.
options | Массив опций и параметров контекста.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • stream_notification_callback() - Callback-функция для параметра контекста notification
stream_context_set_option
stream_copy_to_stream
Stream Функции


Копирует данные из одного потока в другой

stream_context_set_params
stream_encoding
Stream Функции
PHP Manual

stream_copy_to_stream

(PHP 5)

stream_copy_to_stream — Копирует данные из одного потока в другой

Описание

int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )

Делает копию до maxlength байт данных от текущей позиции (или от позиции offset, если указана) потока source в поток dest. Если maxlength не указан, будет скопировано всё оставшееся содержимое из source.

Список параметров

source

Исходный поток

dest

Поток назначения

maxlength

Максимальное количество байт для копирования

offset

Смещение, с которого будут копироваться данные

Возвращаемые значения

Возвращает общее количество скопированных байт.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр offset

Примеры

Пример #1 Пример использования stream_copy_to_stream()

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " байт скопировано в first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " байт скопировано в remainder.txt\n";

?>

Смотрите также

  • copy() - Копирует файл

stream_context_set_params
stream_encoding
Stream Функции


Устанавливает кодировку для потока

stream_copy_to_stream
stream_filter_append
Stream Функции
PHP Manual

stream_encoding

(Информация о версии неизвестна, возможно, только в SVN)

stream_encoding — Устанавливает кодировку для потока

Описание

bool stream_encoding ( resource $stream [, string $encoding ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_copy_to_stream
stream_filter_append
Stream Функции


Прикрепляет фильтр к потоку

stream_encoding
stream_filter_prepend
Stream Функции
PHP Manual

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append — Прикрепляет фильтр к потоку

Описание

resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Добавляет filtername в список фильтров, прикреплённых к stream.

Список параметров

stream

Целевой поток.

filtername

Название фильтра.

read_write

По умолчанию stream_filter_append() будет прикреплять фильтр к цепочке фильтров чтения, если файл был открыт для чтения (т. е. режим файла: r, и/или +). Фильтр также будет прикреплён к цепочке фильтров записи, если файл был открыт для записи (т. е. режим файла: w, a, и/или +). Константы STREAM_FILTER_READ, STREAM_FILTER_WRITE, и/или STREAM_FILTER_ALL также могут быть переданы в параметре read_write, чтобы переопределить это поведение.

params

Этот фильтр будет добавлен с указанными params к концу списка и, таким образом, будет вызван последним в списке потоковых операций. Чтобы добавить фильтр в начало списка, используйте stream_filter_prepend().

Возвращаемые значения

Возвращает ресурс, который может быть использован для того, чтобы обратиться к этому экземпляру фильтра во время вызова stream_filter_remove().

Список изменений

Версия | Описание
5.1.0 | До PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Контроль применения фильтров

<?php
/* Открываем тестовый файл для чтения и записи */
$fp = fopen('test.txt', 'w+');

/* Прикрепляем фильтр ROT13 к
 * цепочке фильтров записи, но не к
 * цепочке фильтров чтения */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Запишем простую строку в файл
 * она будет преобразована при помощи ROT13
 * на выходе */
fwrite($fp, "Это тест\n");

/* Назад к началу файла */
rewind($fp);

/* Прочитаем содержимое файла.
 * Если фильтр также был бы прикреплён к
 * цепочке фильтров чтения, мы бы увидели
 * преобразованный при помощи ROT13 текст в исходном состоянии */
fpassthru($fp);

fclose($fp);

/* Ожидаемый вывод
   ---------------

Guvf vf n grfg

 */
?>

Примечания

Замечание: При использовании пользовательских фильтров
Сначала должна быть вызвана функция stream_filter_register() для того, чтобы зарегистрировать желаемый пользовательский фильтр на имя filtername.

Замечание: Потоковые данные читаются из ресурсов (и локальных, и удалённых) по кускам, и любые невостребованные данные сохраняются во внутренних буферах. Когда новый фильтр добавляется в конец потока, то данные во внутренних буферах обрабатываются через новый фильтр. Это отличается от поведения функции stream_filter_prepend().

Замечание: Когда фильтр добавляется для чтения и записи, создаются два экземпляра фильтра. Функция stream_filter_append() должна быть вызвана дважды с STREAM_FILTER_READ и STREAM_FILTER_WRITE чтобы получить оба ресурса фильтра.

Смотрите также

  • stream_filter_register() - Регистрирует потоковый фильтр, определённый пользователем
  • stream_filter_prepend() - Прикрепляет фильтр к потоку
  • stream_get_filters() - Извлекает список зарегистрированных фильтров
stream_encoding
stream_filter_prepend
Stream Функции


Прикрепляет фильтр к потоку

stream_filter_append
stream_filter_register
Stream Функции
PHP Manual

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend — Прикрепляет фильтр к потоку

Описание

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Добавляет фильтр filtername к списку фильтров, прикреплённых к потоку stream.

Список параметров

stream

Целевой поток.

filtername

Название потока.

read_write

По умолчанию, функция stream_filter_prepend() будет прикреплять фильтр к цепочке фильтров чтения, если файл был открыт для чтения (т. е. режим файла: r, и/или +). Фильтр также будет прикреплён к цепочке фильтров записи, если файл был открыт для записи (т. е. режим файла: w, a, и/или +). Константы STREAM_FILTER_READ, STREAM_FILTER_WRITE, и/или STREAM_FILTER_ALL также могут быть переданы в параметре read_write, чтобы переопределить это поведение. Смотрите функцию stream_filter_append() для примера использования этого параметра.

params

Этот фильтр будет добавлен с указанными параметрами params к началу списка и, таким образом, будет вызван первым во время потоковых операций. Для того, чтобы добавить фильтр к концу списка, используйте stream_filter_append().

Возвращаемые значения

Возвращает ресурс, который может быть использован для того, чтобы обратиться к этому экземпляру фильтра во время вызова stream_filter_remove().

Список изменений

Версия | Описание
5.1.0 | До PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.

Примечания

Замечание: При использовании пользовательских фильтров
Сначала должна быть вызвана функция stream_filter_register() для того, чтобы зарегистрировать желаемый пользовательский фильтр на имя filtername.

Замечание: Потоковые данные читаются из ресурсов (и локальных, и удалённых) по кускам, и любые невостребованные данные сохраняются во внутренних буферах. Когда новый фильтр добавляется в начало потока, данные во внутренних буферах, который уже были обработаны через другие фильтры, не будут обработаны через новый фильтр. Это отличается от поведения функции stream_filter_append().

Замечание: Когда фильтр добавляется для чтения и записи, создаются два экземпляра фильтра. Функция stream_filter_append() должна быть вызвана дважды с STREAM_FILTER_READ и STREAM_FILTER_WRITE чтобы получить оба ресурса фильтра.

Смотрите также

  • stream_filter_register() - Регистрирует потоковый фильтр, определённый пользователем
  • stream_filter_append() - Прикрепляет фильтр к потоку
stream_filter_append
stream_filter_register
Stream Функции


Регистрирует потоковый фильтр, определённый пользователем

stream_filter_prepend
stream_filter_remove
Stream Функции
PHP Manual

stream_filter_register

(PHP 5)

stream_filter_register — Регистрирует потоковый фильтр, определённый пользователем

Описание

bool stream_filter_register ( string $filtername , string $classname )

stream_filter_register() позволяет вам реализовать ваш собственный фильтр на любом зарегистрированном потоке, используемом со всеми другими функциями файловой системы (такими как fopen(), fread() и т. д.).

Список параметров

filtername

Название регистрируемого фильтра.

classname

Для того, чтобы реализовать фильтр, вам нужно определить класс как расширение php_user_filter c функциями-членами как указано ниже. При выполнении операций чтения/записи на потоке, к которому прикреплён ваш фильтр, PHP будет передавать данные через ваш фильтр (и через любые другие фильтры, прикреплённые к потоку) так что данные могут быть изменены как требуется. Вы должны реализовать методы точно как описано ниже. Иная реализация приведёт к непредсказуемому поведению.

int filter ( resource $in , resource $out , int &$consumed , bool $closing )

Этот метод вызывается каждый раз, когда данные читаются или записываются в прикреплённый поток (такой, как с функциями fread() или fwrite()). Переменная in - это ресурс, указывающий на последовательный поток данных (bucket brigade), который содержит одну или больше единиц данных (bucket), содержащих данные для фильтрации. Переменная out - это ресурс, указывающий на второй последовательный поток данных (bucket brigade), в который должны быть помещены ваши модифицированные единицы данных (buckets). Переменная consumed, которая должна всегда передаваться по ссылке, должна быть увеличена на длину данных, которые ваш фильтр читает и изменяет. В большинстве случаев это означает, что вы будете увеличивать consumed на $bucket->datalen для каждого $bucket. Если поток в процессе закрытия (и таким образом это последний проход по цепочке фильтров), параметр closing будет установлен в значение TRUE. Метод filter() должен возвращать одно из трёх предопределённых значений после завершения.

Возвращаемое значение | Смысл
PSFS_PASS_ON | Фильтр отработал успешно, данные доступны в out bucket brigade.
PSFS_FEED_ME | Фильтр отработал успешно,однако данные не доступны для возврата. Требуется больше данных из потока или предыдущего фильтра.
PSFS_ERR_FATAL (по умолчанию) | Фильтр получил неисправимую ошибку и не может продолжать.

bool onCreate ( void )
Этот метод вызывается во время создания объекта класса фильтра. Если ваш фильтр выделяет или инициализирует любые другие ресурсы (такие, как буфер), то нужно делать это здесь. Ваша реализация этого метода должна возвращать FALSE в случае неудачи или TRUE в случае успеха. Когда создаётся первый экземпляр вашего фильтра и вызывается метод yourfilter->onCreate(), будет доступно несколько свойств, показанных в таблице ниже.

Свойство | Содержимое
FilterClass->filtername | Строка, содержащая название фильтра, экземпляр которого был создан. Фильтры могут быть зарегистрированы под разными именами или шаблонами. Используйте это свойство для того, чтобы определить какое название было использовано.
FilterClass->params | Содержимое параметра params, переданного функции stream_filter_append() или stream_filter_prepend().
FilterClass->stream | Ресурс фильтруемого потока. Может быть доступен только во время вызовов filter(), когда параметр closing установлен в значение FALSE.

void onClose ( void )

Этот метод вызывается во время завершения фильтра (обычно это происходит во время завершения потока), и выполняется после того, как был вызван метод flush. Если любые ресурсы были выделены или инициализированы во время вызова метода onCreate(), то здесь следует их уничтожить или избавиться от них.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_filter_register() будет возвращать FALSE если фильтр с именем filtername уже определён.

Примеры

Пример #1 Фильтр для перевода букв в верхний регистр в потоке foo-bar.txt

Пример ниже реализует фильтр с названием strtoupper на файловом потоке foo-bar.txt, который будет переводить в заглавные все буквы, которые пишутся/читаются из этого потока.

<?php

/* Определяем наш класс фильтра */
class strtoupper_filter extends php_user_filter {
  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $bucket->data = strtoupper($bucket->data);
      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }
}

/* Регистрируем наш фильтр в  PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Не удалось зарегистрировать фильтр");

$fp = fopen("foo-bar.txt", "w");

/* Присоединяем зарегистрированный фильтр к только что открытому потоку */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Читаем содержимое снова
 */
readfile("foo-bar.txt");

?>

Результат выполнения данного примера:

LINE1
WORD - 2
EASY AS 123

Пример #2 Регистрация стандартного фильтра, соответствующего множественным именам фильтров.

<?php

/* Определяем наш класс фильтра */
class string_filter extends php_user_filter {
  var $mode;

  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      if ($this->mode == 1) {
        $bucket->data = strtoupper($bucket->data);
      } elseif ($this->mode == 0) {
        $bucket->data = strtolower($bucket->data);
      }

      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Был вызван какой-то другой фильтр str.*,
         возвращаем ошибку, чтобы  PHP мог продолжить его поиск */
      return false;
    }

    return true;
  }
}

/* Регистрируем наш фильтр в  PHP */
stream_filter_register("str.*", "string_filter")
    or die("Не удалось зарегистрировать фильтр");

$fp = fopen("foo-bar.txt", "w");

/* Присоединяем зарегистрированный фильтр к только что открытому потоку
   Мы могли бы использовать здесь  str.tolower */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Читаем содержимое снова
 */
readfile("foo-bar.txt");
?>

Результат выполнения данного примера:

LINE1
WORD - 2
EASY AS 123

Смотрите также

  • stream_wrapper_register() - Регистрирует обёртку URL, реализованную в виде PHP-класса
  • stream_filter_append() - Прикрепляет фильтр к потоку
  • stream_filter_prepend() - Прикрепляет фильтр к потоку

stream_filter_prepend
stream_filter_remove
Stream Функции


Удаляет фильтр из потока

stream_filter_register
stream_get_contents
Stream Функции
PHP Manual

stream_filter_remove

(PHP 5 >= 5.1.0)

stream_filter_remove — Удаляет фильтр из потока

Описание

bool stream_filter_remove ( resource $stream_filter )

Удаляет потоковый фильтр, ранее добавленный к потоку при помощи функции stream_filter_prepend() или stream_filter_append(). Любые данные, оставшиеся во внутреннем буфере фильтра, будут отправлены в следующий фильтр до его удаления.

Список параметров

stream_filter

Потоковый фильтр для удаления.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Динамическое изменение фильтров потока

<?php
/* Открытие тестового файла для чтения и записи */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

Результат выполнения данного примера:

Guvf vf a test

Смотрите также

  • stream_filter_register() - Регистрирует потоковый фильтр, определённый пользователем
  • stream_filter_append() - Прикрепляет фильтр к потоку
  • stream_filter_prepend() - Прикрепляет фильтр к потоку

stream_filter_register
stream_get_contents
Stream Функции


Читает оставшуюся часть потока в строку

stream_filter_remove
stream_get_filters
Stream Функции
PHP Manual

stream_get_contents

(PHP 5)

stream_get_contents — Читает оставшуюся часть потока в строку

Описание

string stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] )

Похожа на функцию file_get_contents(), за исключением того, что stream_get_contents() работает с уже открытым ресурсом потока и возвращает оставшуюся часть содержимого в строку размером до maxlength байт и начиная с указанного смещения offset.

Список параметров

handle (resource)

Ресурс потока (например, полученный при помощи функции fopen())

maxlength (integer)

Максимальное количество байт для чтения. По умолчанию -1 (прочитать весь оставшийся буфер).

offset (integer)

Перейти к указанному смещению перед чтением. Если это число отрицательное, то переход не произойдёт и чтение начнётся с текущей позиции.

Возвращаемые значения

Возвращает строку или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.1.0 | Был добавлен параметр offset.

Примеры

Пример #1 Пример использования stream_get_contents()

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // вывести всю страницу начиная со смещения 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // вывести первые 5 байт
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • fpassthru() - Выводит все оставшиеся данные из файлового указателя

stream_filter_remove
stream_get_filters
Stream Функции


Извлекает список зарегистрированных фильтров

stream_get_contents
stream_get_line
Stream Функции
PHP Manual

stream_get_filters

(PHP 5)

stream_get_filters — Извлекает список зарегистрированных фильтров

Описание

array stream_get_filters ( void )

Извлекает список зарегистрированных фильтров на запущенной системе.

Возвращаемые значения

Возвращает индексированный массив, содержащий названия всех доступных системных фильтров потока.

Примеры

Пример #1 Пример использования функции stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

Результатом выполнения данного примера будет что-то подобное:

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Смотрите также

  • stream_filter_register() - Регистрирует потоковый фильтр, определённый пользователем
  • stream_get_wrappers() - Извлекает список зарегистрированных потоков
stream_get_contents
stream_get_line
Stream Функции


Получает строку из потокового ресурса до указанного разделителя

stream_get_filters
stream_get_meta_data
Stream Функции
PHP Manual

stream_get_line

(PHP 5)

stream_get_line — Получает строку из потокового ресурса до указанного разделителя

Описание

string stream_get_line ( resource $handle , int $length [, string $ending ] )

Получает строку из указанного дескриптора.

Чтение заканчивается, когда прочитано length количество байт, когда строка, указанная в параметре ending найдена (она не включается в возвращаемое значение), или достигнут EOF (смотря что произойдет раньше).

Функция очень похожа на функцию fgets(), кроме того, что она позволяет использовать разделители строк, отличающиеся от стандартных \n, \r, и \r\n, и не возвращает сам разделитель.

Список параметров

handle

Допустимый дескриптор файла.

length

Количество байт для чтения из дескриптора.

ending

Необязательный разделитель строки.

Возвращаемые значения

Возвращает строку длиной до length байт, прочитанную из файла указанного параметром handle.

Если возникает ошибка, возвращает FALSE.

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fgets() - Читает строку из файла
  • fgetc() - Считывает символ из файла
stream_get_filters
stream_get_meta_data
Stream Функции


Извлекает заголовок/метаданные из потоков/файловых указателей

stream_get_line
stream_get_transports
Stream Функции
PHP Manual

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data — Извлекает заголовок/метаданные из потоков/файловых указателей

Описание

array stream_get_meta_data ( resource $stream )

Возвращает информацию о существующем потоке stream.

Список параметров

stream

Переменная stream может быть любым потоком, созданным при помощи функций fopen(), fsockopen() и pfsockopen().

Возвращаемые значения

Получаемый массив содержит следующие элементы:

  • timed_out (bool) - TRUE если поток превысил время ожидания данных во время последнего вызова функции fread() или fgets().

  • blocked (bool) - TRUE если поток находится в режиме блокирующего ввода-вывода. Смотрите функцию stream_set_blocking().

  • eof (bool) - TRUE если поток достиг конца файла. Заметьте, что для потоков типа socket этот член может быть равен TRUE даже когда unread_bytes не равно нулю. Для того, чтобы определить есть ли ещё данные для чтения, используйте feof() вместо чтения этого элемента.

  • unread_bytes (int) - количество байт, находящихся сейчас в собственном внутреннем буфере PHP.

    Замечание: Вы не должны использовать это значение в скрипте.

  • stream_type (string) - метка, описывающая внутреннюю реализацию потока.

  • wrapper_type (string) - метка, описывающая реализацию обёртки протокола, наложенного на поток. Смотрите раздел Поддерживаемые протоколы и обработчики (wrappers) для подробной информации об обёртках.

  • wrapper_data (mixed) - специфические для обёртки данные, прикреплённые к этому потоку. Смотрите раздел Поддерживаемые протоколы и обработчики (wrappers) для подробной информации об обёртках и их данных.

  • filters (array) - массив, содержащий названия всех фильтров, который были наложены на этот поток. Документация по фильтрам может быть найдена в Приложении по фильтрам.

  • mode (string) - тип доступа, требуемый для этого потока (смотрите таблицу 1 в описании функции fopen())

  • seekable (bool) - можно ли перемещаться по текущему потоку.

  • uri (string) - URI/имя файла, связанное с этим stream.

Список изменений

Версия | Описание
5.0.0 | Следующие элементы были добавлены к возвращаемому массиву: mode, seekable, and uri.
4.3.0 | Следующие элементы были добавлены к возвращаемому массиву: stream_type, wrapper_type, wrapper_data, and filters.
4.3.0 | socket_get_status() - это псевдоним для этой функции. До версии PHP 4.3.0 он использовался для того, чтобы получать первые четыре элемента только для потоков, основанных на сокетах.

Примеры

Пример #1 Пример использования функцииstream_get_meta_data()

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Невозможно открыть URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: Apache/2.2.3 (Red Hat)
            [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
            [3] => ETag: "b300b4-1b6-4059a80bfd280"
            [4] => Accept-Ranges: bytes
            [5] => Content-Type: text/html; charset=UTF-8
            [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com
            [6] => Connection: close
            [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT
            [8] => Age: 1164
            [9] => Content-Length: 438
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 438
    [seekable] =>
    [uri] => http://www.example.com/
    [timed_out] =>
    [blocked] => 1
    [eof] =>
)

Примечания

Замечание:

Эта функция НЕ будет работать с сокетами, созданными при помощи расширения Socket.

Смотрите также

  • get_headers() - Возвращает все заголовки из ответа сервера на HTTP-запрос
  • $http_response_header

stream_get_line
stream_get_transports
Stream Функции


Возвращает список зарегистрированных транспортов сокета

stream_get_meta_data
stream_get_wrappers
Stream Функции
PHP Manual

stream_get_transports

(PHP 5)

stream_get_transports — Возвращает список зарегистрированных транспортов сокета

Описание

array stream_get_transports ( void )

Возвращает индексированный массив, содержащий названия всех транспортов сокета, доступных на работающей системе.

Возвращаемые значения

Возвращает индексированный массив названий транспортов сокета.

Примеры

Пример #1 Пример использования stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

Результатом выполнения данного примера будет что-то подобное:

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Смотрите также

  • stream_get_filters() - Извлекает список зарегистрированных фильтров
  • stream_get_wrappers() - Извлекает список зарегистрированных потоков
stream_get_meta_data
stream_get_wrappers
Stream Функции


Извлекает список зарегистрированных потоков

stream_get_transports
stream_is_local
Stream Функции
PHP Manual

stream_get_wrappers

(PHP 5)

stream_get_wrappers — Извлекает список зарегистрированных потоков

Описание

array stream_get_wrappers ( void )

Извлекает список зарегистрированных потоков, доступных на запущенной системе.

Возвращаемые значения

Возвращает индексированный массив, содержащий названия все обёрток потоков, доступных на запущенной системе.

Примеры

Пример #1 Пример использования stream_get_wrappers()

<?php
print_r(stream_get_wrappers());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Пример #2 Проверка существования обёртки потока

<?php
// Проверяет существование обёртки потока bzip2
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// поддержка включена.';
} else {
    echo 'compress.bzip2:// поддержка не включена.';
}
?>

Смотрите также

  • stream_wrapper_register() - Регистрирует обёртку URL, реализованную в виде PHP-класса
stream_get_transports
stream_is_local
Stream Функции


Проверяет, является ли поток локальным потоком

stream_get_wrappers
stream_notification_callback
Stream Функции
PHP Manual

stream_is_local

(PHP 5 >= 5.2.4)

stream_is_local — Проверяет, является ли поток локальным потоком

Описание

bool stream_is_local ( mixed $stream_or_url )

Проверяет, является ли поток или URL локальным или нет.

Список параметров

stream_or_url

Ресурс потока (resource) или URL для проверки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 stream_is_local() example

Пример простого использования.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)

stream_get_wrappers
stream_notification_callback
Stream Функции


Callback-функция для параметра контекста notification

stream_is_local
stream_register_wrapper
Stream Функции
PHP Manual

stream_notification_callback

(PHP 5 >= 5.2.0)

stream_notification_callback — Callback-функция для параметра контекста notification

Описание

void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )

callback-функция, используемая параметром контекста notification, вызываемая во время события.

Замечание:

Это не настоящая функция, а только прототип того, как должна быть реализована функция.

Список параметров

notification_code

Одна из констант оповещения STREAM_NOTIFY_*.

severity

Одна из констант оповещения STREAM_NOTIFY_SEVERITY_*.

message

Передаётся, если для события доступно описывающее сообщение.

message_code

Передаётся, если для события доступен код описывающего сообщения.

Значение данной величины зависит от используемой обёртки.

bytes_transferred

Если доступно, то параметр bytes_transferred будет заполнен.

bytes_max

Если доступно, то параметр bytes_max будет заполнен.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования stream_notification_callback()

<?php
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

    switch($notification_code) {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            /* Игнорируем */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Перенаправлены на: ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Подсоединились...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Получили размер файла: ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Получили mime-тип файла: ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "Пошёл прогресс, пока загружено ", $bytes_transferred, " байт";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

Результатом выполнения данного примера будет что-то подобное:

Подсоединились...
Получили mime-тип файла: text/html; charset=utf-8
Перенаправлены на: http://no.php.net/contact
Подсоединились...
Получили размер файла: 0
Получили mime-тип файла: text/html; charset=utf-8
Перенаправлены на: http://no.php.net/contact.php
Подсоединились...
Получили размер файла: 4589
Получили mime-тип файла: text/html;charset=utf-8
Пошёл прогресс, пока загружено 0 байт
Пошёл прогресс, пока загружено 0 байт
Пошёл прогресс, пока загружено 0 байт
Пошёл прогресс, пока загружено 1440 байт
Пошёл прогресс, пока загружено 2880 байт
Пошёл прогресс, пока загружено 4320 байт
Пошёл прогресс, пока загружено 5760 байт
Пошёл прогресс, пока загружено 6381 байт
Пошёл прогресс, пока загружено 7002 байт

Пример #2 Простой индикатор для загрузчика файлов из командной строки

<?php
function usage($argv) {
    echo "Использование:\n";
    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
    exit(1);
}

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
    static $filesize = null;

    switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
        /* Игнорируем */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Перенаправлены на: ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Подсоединились...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Размер файла: ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Mime-тип файла: ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rНеизвестный размер файла.. Закачано %2d Кб..", $bytes_transferred/1024);
            } else {
                $length = (int)(($bytes_transferred/$filesize)*100);
                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
            }
        }
        break;
    }
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nГотово!\n";
    exit(0);
}

$err = error_get_last();
echo "\nОшшшшибкка..\n", $err["message"], "\n";
exit(1);
?>

Выполнение вышеприведённого примера со следующими опциями: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 выведет что-то похожее на это:

Подсоединились...
Mime-тип файла: text/html; charset=utf-8
Перенаправлены на: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Подсоединились...
Размер файла: 7773024
Mime-тип файла: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Смотрите также

  • Параметры контекста

stream_is_local
stream_register_wrapper
Stream Функции


Псевдоним stream_wrapper_register

stream_notification_callback
stream_resolve_include_path
Stream Функции
PHP Manual

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5)

stream_register_wrapper — Псевдоним stream_wrapper_register()

Описание

Эта функция является псевдонимом: stream_wrapper_register().

stream_notification_callback
stream_resolve_include_path
Stream Функции


Составляет полное имя файла, используя пути включения

stream_register_wrapper
stream_select
Stream Функции
PHP Manual

stream_resolve_include_path

(PHP 5 >= 5.3.2)

stream_resolve_include_path — Составляет полное имя файла, используя пути включения

Описание

string stream_resolve_include_path ( string $filename )

Составляет полное имя файла из параметра filename, используя пути включения в соответствии с теми же правилами, что и функции fopen()/include().

Список параметров

filename

Имя файла, которое необходимо преобразовать.

Возвращаемые значения

Возвращает строку string, содержащую полученное абсолютное имя файла, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования stream_resolve_include_path()

Основной пример использования.

<?php
var_dump(stream_resolve_include_path("test.php"));
?>

Результатом выполнения данного примера будет что-то подобное:

string(22) "/var/www/html/test.php"

stream_register_wrapper
stream_select
Stream Функции


Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec

stream_resolve_include_path
stream_set_blocking
Stream Функции
PHP Manual

stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select — Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec

Описание

int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

Функция stream_select() получает массивы потоков и ждёт изменения их статуса. Её работа эквивалентна работе функции socket_select(), за исключением того, что она работает с потоками.

Список параметров

read

Потоки, перечисленные в массиве read будут отслеживаться на предмет появления символов, доступных для чтения (точнее отслеживается, что чтение не будет блокироваться - в частности, потоковый ресурс также готов для чтения в конце файла, но в этом случае функция fread() будет возвращать строку нулевой длины).

write

Потоки, перечисленные в массиве write, будут отслеживаться на предмет того, что запись в них не будет блокироваться.

except

Потоки, перечисленные в массиве except, будут отслеживаться на предмет поступления высокоприоритетных исключительных (внеполосных или "out-of-band") данных.

Замечание:

Когда stream_select() возвращается, массивы read, write и except изменяются для того, чтобы указать, какие потоковые ресурсы на самом деле изменили статус.

Вам нет необходимости передавать каждый массив функции stream_select(). Вы можете использовать вместо этого пустые массивы или NULL. Также не забывайте, что эти массивы передаются по ссылке и будут изменены после выполнения функцииstream_select().
tv_sec

Параметры tv_sec и tv_usec вместе формируют параметр timeout, tv_sec указывает число секунд, а tv_usec - число микросекунд. Параметр timeout - это верхняя граница времени, которое функция stream_select() будет ожидать до возвращения. Если параметры tv_sec и tv_usec оба установлены в 0, то функция stream_select() не будет ожидать данных - вместо этого она вернётся немедленно, указывая текущий статус потоков.

Если параметр tv_sec равен NULL, то функция stream_select() может выполняться неопределённое время, возвращаясь только тогда, когда происходит событие на одном из отслеживаемых потоков (или если системный вызов прерывается сигналом).

Внимание

Использование значения тайм-аута 0 позволяет вам мгновенно опросить статус потоков, однако ПЛОХАЯ идея использовать значение тайм-аута 0 в цикле, так как это заставит ваш скрипт потреблять слишком много процессорного времени.

Гораздо лучше указать значение тайм-аута в несколько секунд, хотя если вам нужно проверять и одновременно запускать другой код, использование тайм-аута как минимум 200000 микросекунд поможет уменьшить использование процессорного времени вашим скриптом.

Запомните, что значение тайм-аута - это максимальное время, которое будет затрачено. Функция stream_select() вернётся как только запрошенные потоки будут готовы к использованию.

tv_usec

Смотрите описание параметра tv_sec.

Возвращаемые значения

В случае успеха функция stream_select() возвращает количество потоковых ресурсов, содержащееся в изменённых массивах, которое может равно нулю, если истёк тайм-аут до того, как произошло что-то интересное. В случае ошибки возвращается FALSE и возникает предупреждение (это может случится, если системный вызов прерывается входящим сигналом).

Примеры

Пример #1 Пример использованияstream_select()

Этот пример проверяет, что получены данные для чтения на потоках $stream1 или $stream2. Так как значение тайм-аута равно 0, функция возвратится немедленно:

<?php
/* Подготовить массив для чтения */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Обработка ошибок */
} elseif ($num_changed_streams > 0) {
    /* Как минимум на одном из потоков произошло что-то интересное */
}
?>

Примечания

Замечание:

По причине ограничения в текущем Zend Engine невозможно передать постоянную NULL непосредственно как параметр в функцию, которая ожидает, что этот параметр будет передан по ссылке. Вместо этого используйте временную переменную или выражение, в котором крайний левый член будет временной переменной:

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Замечание:

Убедитесь, что используете оператор === при проверке на ошибку. Так как функция stream_select() может возвращать 0, сравнение с использованием == может возвращать TRUE:

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "Произошла ошибка при вызове stream_select()\n";
}
?>

Замечание:

Если вы читаете/пишете в поток, возвращаемый в массивах, знайте, что они не обязательно читают/пишут полное количество данных, которое вы запросили. Будьте готовы к тому, чтобы иметь возможность читать/писать даже по одному байту.

Замечание:

Некоторые потоки (например, zlib) не могут быть выбраны этой функцией.

Замечание:

Совместимость с Windows: функция stream_select(), используемая на канале, возвращённом из функции proc_open(), может вызвать потерю данных под Windows 98.

Использование функции stream_select() на файловых дескрипторах, возвращённых функцией proc_open() не удастся и возвратит FALSE под Windows.

Смотрите также

  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
stream_resolve_include_path
stream_set_blocking
Stream Функции


Устанавливает блокирующий/неблокирующий режим на потоке

stream_select
stream_set_read_buffer
Stream Функции
PHP Manual

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking — Устанавливает блокирующий/неблокирующий режим на потоке

Описание

bool stream_set_blocking ( resource $stream , int $mode )

Устанавливает блокирующий или неблокирующий режим на потоке stream.

Эта функция работает на любом потоке, который поддерживает неблокирующий режим (в настоящее время это обычные файлы и сокетные потоки).

Список параметров

stream

Поток.

mode

Если параметр mode равен 0, указанный поток будет переключен в неблокирующий режим, а если он равен 1, поток будет переключен в блокирующий режим. Это влияет на такие вызовы, как fgets() и fread(), которые читают из потока. В неблокирующем режиме вызов функции fgets() будет всегда возвращаться сразу, тогда как в блокирующем режиме он будет ожидать, пока данные станут доступны на потоке.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | До версии PHP 4.3.0 эта функция работала только на потоках, основанных на сокетах.

Примечания

Замечание:

Эта функция раньше вызывалась через set_socket_blocking() и позднее socket_set_blocking(), но это использование устарело.

Смотрите также

  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
stream_select
stream_set_read_buffer
Stream Функции


Устанавливает буферизацию чтения файла на указанном потоке

stream_set_blocking
stream_set_timeout
Stream Функции
PHP Manual

stream_set_read_buffer

(PHP 5 >= 5.3.3)

stream_set_read_buffer — Устанавливает буферизацию чтения файла на указанном потоке

Описание

int stream_set_read_buffer ( resource $stream , int $buffer )

Устанавливает буфер чтения. Это эквивалент функции stream_set_write_buffer(), но для операций чтения.

Список параметров

stream

Файловый указатель.

buffer

Число байт для буферизации. Если аргумент buffer равен 0, то операции чтения не буферизуются. Это гарантирует, что все операции чтения при помощи функции fread() были завершены до того, как остальным процессам будет позволено писать в поток вывода.

Возвращаемые значения

Возвращает 0 в случае удачи, или EOF, если запрос не может быть выполнен.

Смотрите также

  • stream_set_write_buffer() - Устанавливает буферизацию файла при записи в указанный поток
stream_set_blocking
stream_set_timeout
Stream Функции


Устанавливает значение тайм-аута на потоке

stream_set_read_buffer
stream_set_write_buffer
Stream Функции
PHP Manual

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout — Устанавливает значение тайм-аута на потоке

Описание

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )

Устанавливает значение тайм-аута на потоке stream, равное сумме параметров seconds и microseconds.

Когда время работы потока истекает, ключ 'timed_out' массива, возвращаемого функцией stream_get_meta_data(), устанавливается в значение TRUE, хотя ошибка или предупреждение не генерируется.

Список параметров

stream

Целевой поток.

seconds

Секунды в устанавливаемом тайм-ауте.

microseconds

Микросекунды в устанавливаемом тайм-ауте.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | Начиная с PHP 4.3 эта функция может (потенциально) работать на любом типе потока. В PHP 4.3 потоки, основанные на сокетах - это единственный тип потоков, поддерживаемый в ядре PHP, хотя потоки из других расширений могут поддерживать эту функцию.

Примеры

Пример #1 Пример использования stream_set_timeout()

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "Невозможно открыть сокет\n";
} else {

    fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($fp, 2);
    $res = fread($fp, 2000);

    $info = stream_get_meta_data($fp);
    fclose($fp);

    if ($info['timed_out']) {
        echo 'Истекло время соединения!';
    } else {
        echo $res;
    }

}
?>

Примечания

Замечание:

Эта функция не работает с продвинутыми операциями, такими, как stream_socket_recvfrom(). Используйте вместо неё stream_select() с параметром тайм-аута

Эта функция раньше вызывалась через set_socket_timeout() и позднее через socket_set_timeout(), но это использование устарело.

Смотрите также

  • fsockopen() - Open Internet or Unix domain socket connection
  • fopen() - Открывает файл или URL
stream_set_read_buffer
stream_set_write_buffer
Stream Функции


Устанавливает буферизацию файла при записи в указанный поток

stream_set_timeout
stream_socket_accept
Stream Функции
PHP Manual

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5)

stream_set_write_buffer — Устанавливает буферизацию файла при записи в указанный поток

Описание

int stream_set_write_buffer ( resource $stream , int $buffer )

Устанавливает буферизацию для операций записи на заданном потоке stream в число buffer байт.

Вывод с использованием функции fwrite() обычно буферизуется по 8 килобайт. Это означает, что если два процесса хотят записывать данные в один и тот же поток вывода (файл), каждый будет останавливаться после 8 килобайт данных для того, чтобы позволить записать данные другому.

Список параметров

stream

Файловый указатель.

buffer

Число байт для буферизации. Если аргумент buffer равен 0, то операции записи не буферизуются. Это гарантирует, что все операции записи с использованием функции fwrite() будут завершены перед тем, как другим процессам будет позволено записывать в поток вывода.

Возвращаемые значения

Возвращает 0 в случае успеха, или EOF в случае, если запрос не может быть выполнен.

Примеры

Пример #1 Пример использования stream_set_write_buffer()

Следующий пример демонстрирует использование функции stream_set_write_buffer() для создания небуферизуемого потока.

<?php
$fp = fopen($file, "w");
if ($fp) {
  stream_set_write_buffer($fp, 0);
  fwrite($fp, $output);
  fclose($fp);
}
?>

Смотрите также

  • fopen() - Открывает файл или URL
  • fwrite() - Бинарно-безопасная запись в файл
stream_set_timeout
stream_socket_accept
Stream Функции


Принимает соединение на сокете, созданном c помощью функции stream_socket_server

stream_set_write_buffer
stream_socket_client
Stream Функции
PHP Manual

stream_socket_accept

(PHP 5)

stream_socket_accept — Принимает соединение на сокете, созданном c помощью функции stream_socket_server()

Описание

resource stream_socket_accept ( resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string &$peername ]] )

Принимает соединение на сокете, предварительно созданном с помощью функции stream_socket_server().

Список параметров

server_socket

Серверный сокет для принятия соединения.

timeout

Заменяет тайм-аут подключения сокета по умолчанию. Время должно быть указано в секундах.

peername

Будет присвоено имя (адрес) клиента, который подсоединился, если оно содержится и доступно из выбранного транспорта.

Замечание:

Может быть определено позже, используя функцию stream_socket_get_name().

Возвращаемые значения

Возвращает поток принятого соединения с сокетом или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция не должна использоваться с серверными сокетами UDP. Вместо этого используйте stream_socket_recvfrom() и stream_socket_sendto().

Смотрите также

  • stream_socket_server() - Создаёт интернет-сокет или доменный сокет Unix
  • stream_socket_get_name() - Извлекает название локального или удалённого сокета
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает открытый дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • cURL

stream_set_write_buffer
stream_socket_client
Stream Функции


Открывает соединение с интернет-сокетом или с доменным сокетом Unix

stream_socket_accept
stream_socket_enable_crypto
Stream Функции
PHP Manual

stream_socket_client

(PHP 5)

stream_socket_client — Открывает соединение с интернет-сокетом или с доменным сокетом Unix

Описание

resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )

Начинает потоковое или датаграммное соединение с удалённым сокетом, указанным параметром remote_socket. Тип создаваемого сокета определяется по транспорту, указанному с использованием стандартного форматирования URL: transport://target. Для интернет-сокетов, (AF_INET) таких, как TCP и UDP, часть target параметра remote_socket должна состоять из имени хоста или IP-адреса, за которым следует двоеточие и номер порта. Для доменных сокетов Unix, часть target должна указывать на файл сокета в файловой системе.

Замечание:

По умолчанию поток будет откыт в блокирующем режиме. Вы можете переключить его в неблокирующий режим, используя функцию stream_set_blocking().

Список параметров

remote_socket

Адрес удалённого сокета для соединения.

errno

Будет присвоен номер системной ошибки, если соединение не удалось установить.

errstr

Будет присвоено сообщение о системной ошибке, если соединение не удалось установить.

timeout

Число секунд, в течение которых должен произойти тайм-аут системного вызова connect().

Замечание: Этот параметр применяется только если не происходит попытка асинхронного соединения.

Замечание:

Чтобы указать тайм-аут для чтения/записи данных через сокет, используйте функцию stream_set_timeout(), так как параметр timeout применяется только при создании соединения через сокет.

flags

Поле битовой маски, которое может принимать значение любой комбинации флагов соединения. В настоящее время набор флагов соединения ограничен следующими значениями STREAM_CLIENT_CONNECT (по умолчанию), STREAM_CLIENT_ASYNC_CONNECT и STREAM_CLIENT_PERSISTENT.

context

Действующий ресурс контекста, созданный при помощи функции stream_context_create().

Возвращаемые значения

В случае успеха возвращается ресурс потока, который может быть
использован с другими файловыми функциями (такими, как
fgets(), fgetss(),
fwrite(), fclose(), и
feof()), в случае неудачи возвращается FALSE.

Ошибки

В случае неудачного вызова функции аргументы errno и errstr будут заполнены системной ошибкой, которая произошла при системном вызове connect(). Если значение, возвращённое в аргументе errno равно 0 и функция возвратила значение FALSE, это означает, что ошибка произошла до вызова connect(). Это произошло скорее всего из-за проблемы инициализации сокета. Примите во внимание, что аргументы errno и errstr всегда будут передаваться по ссылке.

Примеры

Пример #1 Пример использования функции stream_socket_client()

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

Пример #2 Использование UDP-соединения

Получения дня и времени от UDP-сервиса "daytime" (порт 13) на localhost.

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ОШИБКА: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Примечания

Внимание

UDP-сокеты иногда могут открываться без ошибки, даже если удалённый хост недоступен. Ошибка станет заметной только когда вы будете читать или писать данные из/в сокет. Причина этого в том, что UDP - это протокол без соединения, что означает, что операционная система не пытается установить соединение с сокетом до тех пор, пока ей в действительности не нужно отправить или получить данные.

Замечание: При указании числового адреса IPv6 (например, fe80::1) вы должны заключать его в квадратные скобки. Например, tcp://[fe80::1]:80.

Замечание:

В зависимости от окружения, Unix-домены или произвольный таймаут соединения могут быть недоступны. Список доступных транспортов может быть получен используя функцию stream_get_transports(). Смотрите список встроенных транспортов на странице Список поддерживаемых транспортных протоколов.

Смотрите также

  • stream_socket_server() - Создаёт интернет-сокет или доменный сокет Unix
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • stream_select() - Запускает эквивалент системного вызова select() на заданных массивах потоков с таймаутом, указанным параметрами tv_sec и tv_usec
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает открытый дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • cURL

stream_socket_accept
stream_socket_enable_crypto
Stream Функции


Включает или отключает шифрование на уже подсоединённом сокете

stream_socket_client
stream_socket_get_name
Stream Функции
PHP Manual

stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_crypto — Включает или отключает шифрование на уже подсоединённом сокете

Описание

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Включает или отключает шифрование на потоке.

После настройки шифрования, криптография может быть включена или выключена динамически при помощи передачи значения TRUE или FALSE параметру enable.

Список параметров

stream

Потоковый ресурс.

enable

Включить/отключить криптографию на потоке.

crypto_type

Включить шифрование на потоке. Допустимые методы

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

session_stream

Использовать в потоке настройки из session_stream.

Возвращаемые значения

Возвращает TRUE в случае успеха, FALSE, если не удалось установить шифрование или 0, если недостаточно данных и вы должны попытаться ещё раз (только для неблокирующих сокетов).

Примеры

Пример #1 Пример использования stream_socket_enable_crypto()

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Не могу соединиться: $errstr ($errno)");
}

/* Включить шифрование для этапа входа в систему */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER бог\r\n");
fwrite($fp, "PASS секрет\r\n");

/* Отключить шифрование для всего остального */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • OpenSSL
    •

  • Список поддерживаемых транспортных протоколов
    •

stream_socket_client

stream_socket_get_name

Stream Функции


Извлекает название локального или удалённого сокета

stream_socket_enable_crypto
stream_socket_pair
Stream Функции
PHP Manual

stream_socket_get_name

(PHP 5)

stream_socket_get_name — Извлекает название локального или удалённого сокета

Описание

string stream_socket_get_name ( resource $handle , bool $want_peer )

Возвращает локальное или удалённое название указанного сокетного соединения.

Список параметров

handle

Сокет, название которого нужно получить.

want_peer

Если установлено в TRUE, то удалённое название сокета будет возвращено, если установлено в FALSE, то локальное название сокета будет возвращено.

Возвращаемые значения

Название сокета.

Смотрите также

  • stream_socket_accept() - Принимает соединение на сокете, созданном c помощью функции stream_socket_server

stream_socket_enable_crypto
stream_socket_pair
Stream Функции


Создаёт пару связанных неразличимых потоковых сокетов

stream_socket_get_name
stream_socket_recvfrom
Stream Функции
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair — Создаёт пару связанных неразличимых потоковых сокетов

Описание

array stream_socket_pair ( int $domain , int $type , int $protocol )

stream_socket_pair() создаёт пару связанных неразличимых потоковых сокетов. Эта функция обычно используется в IPC (межпроцессном взаимодействии).

Список параметров

domain

Используемое семейство протоколов: STREAM_PF_INET, STREAM_PF_INET6 или STREAM_PF_UNIX

type

Используемый тип взаимодействия: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM

protocol

Используемый протокол: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or STREAM_IPPROTO_UDP

Замечание: Пожалуйста, обратитесь к разделу Список потоковых констант за подробной информацией по каждой константе.

Возвращаемые значения

Возвращает массив array с двумя потоковыми ресурсами в случае успеха, или FALSE в случае неудачи.

Список изменений

Версия | Описание
5.3.0 | Теперь эта функция доступна на Windows платформах.

Примеры

Пример #1 Пример использования stream_socket_pair()

Этот пример демонстрирует основы использования функции stream_socket_pair() в межпроцессном взаимодействии.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('не удалось создать процесс');

} else if ($pid) {
     /* родительский процесс */
    fclose($sockets[0]);

    fwrite($sockets[1], "дочерний PID: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* дочерний процесс */
    fclose($sockets[1]);

    fwrite($sockets[0], "сообщение от дочернего процесса\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

Результатом выполнения данного примера будет что-то подобное:

дочерний PID: 1378
сообщение от дочернего процесса

stream_socket_get_name
stream_socket_recvfrom
Stream Функции


Получает данные из сокета, подсоединённого или нет

stream_socket_pair
stream_socket_sendto
Stream Функции
PHP Manual

stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom — Получает данные из сокета, подсоединённого или нет

Описание

string stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] )

stream_socket_recvfrom() принимает данные из удалённого сокета размером до length байт.

Список параметров

socket

Удалённый сокет.

length

Количество байт для получения из параметра socket.

flags

Значение параметра flags может быть любой комбинацией из следующего:

Возможные значения для параметра flags
STREAM_OOB | Обрабатывать данные OOB (out-of-band).
STREAM_PEEK | Получать данные из сокета, но не расходовать буфер. Последующие вызовы функций fread() или stream_socket_recvfrom() получат те же самые данные.

address

Если указан параметр address, он будет заполнен адресом удалённого сокета.

Возвращаемые значения

Возвращает прочитанные данные, в виде строки

Примеры

Пример #1 Пример использования функции stream_socket_recvfrom()

<?php
/* Открывает серверный сокет на 1234-м порту на localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Принимает соединение */
$socket = stream_socket_accept($server);

/* Получает пакет (обычный размер MTU 1500)  OOB-данных */
echo "Получены данные OOB (Out-Of-Band): '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Получить обычные данные, но не расходовать их. */
echo "Данные: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Получить тот же самый пакет снова, но в этот раз удалить его из буфера данных. */
echo "Данные: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Закрыть сокет */
fclose($socket);
fclose($server);
?>

Примечания

Замечание:

Если получено сообщение длиной больше, чем параметр length, лишние байты могут быть пропущены в зависимости от типа сокета, из которого получено сообщение (такого, как UDP).

Замечание:

Вызовы функции stream_socket_recvfrom() на потоках, основанных на сокетах, после вызовов потоковых функций, основанных на буферах (таких, как fread() или stream_get_line()) читают данные непосредственно из сокета и пропускают потоковый буфер.

Смотрите также

  • stream_socket_sendto() - Отправляет сообщение в сокет, независимо от того, подсоединён он или нет
  • stream_socket_client() - Открывает соединение с интернет-сокетом или с доменным сокетом Unix
  • stream_socket_server() - Создаёт интернет-сокет или доменный сокет Unix
stream_socket_pair
stream_socket_sendto
Stream Функции


Отправляет сообщение в сокет, независимо от того, подсоединён он или нет

stream_socket_recvfrom
stream_socket_server
Stream Функции
PHP Manual

stream_socket_sendto

(PHP 5)

stream_socket_sendto — Отправляет сообщение в сокет, независимо от того, подсоединён он или нет

Описание

int stream_socket_sendto ( resource $socket , string $data [, int $flags = 0 [, string $address ]] )

Отпралвяет указанные данные data через сокет socket.

Список параметров

socket

Сокет, через который будут отправлены данные data.

data

Отправляемые данные.

flags

Значение параметра flags может быть комбинацией следующего:

возможные значения для параметра flags
STREAM_OOB Обрабатывать OOB (out-of-band, внеполосные) данные.

address

Адрес, указанный при создании потокового сокета, будет использоваться до тех пор, пока не указан альтернативный адрес в параметре address.

Если указан, он должен быть в формате ipv4 или ipv6.

Возвращаемые значения

Возвращает код результата, как целое число.

Примеры

Пример #1 Пример использования stream_socket_sendto()

<?php
/* Открыть сокет на 1234-м порту на localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Отправить обычные данные через обычные каналы. */
fwrite($socket, "Передача обычных данных.");

/* Отправляем внеполосные данные. */
stream_socket_sendto($socket, "Внеполосные данные.", STREAM_OOB);

/* Закрыть сокет */
fclose($socket);
?>

Смотрите также

  • stream_socket_recvfrom() - Получает данные из сокета, подсоединённого или нет
  • stream_socket_client() - Открывает соединение с интернет-сокетом или с доменным сокетом Unix
  • stream_socket_server() - Создаёт интернет-сокет или доменный сокет Unix
stream_socket_recvfrom
stream_socket_server
Stream Функции


Создаёт интернет-сокет или доменный сокет Unix

stream_socket_sendto
stream_socket_shutdown
Stream Функции
PHP Manual

stream_socket_server

(PHP 5)

stream_socket_server — Создаёт интернет-сокет или доменный сокет Unix

Описание

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )

Создаёт потоковый или датаграммный сокет на указанном local_socket.

Эта функция только создаёт сокет. Чтобы начать принимать соединения используйте stream_socket_accept().

Список параметров

local_socket

Тип создаваемого сокета определяется по транспорту, указанному с использованием стандартного форматирования URL: transport://target.

Для доменных сокетов интернета (AF_INET), таких, как TCP и UDP, часть target параметра remote_socket должна состоять из имени хоста или IP-адреса с последующием двоеточием и номера порта. Для доменных сокетов Unix часть target должна указывать на файл сокета в файловой системе.

В зависимости от окружения, доменные сокеты Unix могут быть недоступны. Список доступных транспортов может быть получен при помощи функции stream_get_transports(). Смотрите Список поддерживаемых транспортных протоколов для списка встроенных транспортов.

errno

Если необязательные аргументы errno и errstr присутствуют, то они будут установлены для указания действительного уровня системной ошибки, которая происходит при системных вызовах socket(), bind() и listen(). Если значение, возвращаемое в errno, равно 0 и функция возвратила FALSE, это означает, что ошибка произошла до вызова bind(). Скорее всего это произошло из-за проблемы инициализации сокета. Примите во внимание, что аргументы errno и errstr должны всегда передаваться по ссылке.

errstr

Смотрите описание параметра errno.

flags

Битовая маска, которая может быть установлена в любую комбинацию флагов для создания сокета.

Замечание:

Для UDP-сокетов вы должны использовать STREAM_SERVER_BIND в качестве параметра flags.

context

Возвращаемые значения

Возвращает созданный поток, или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования серверных сокетов TCP

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'Локальное время ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

Пример ниже показывает, как работать в качестве сервера времени, который может отвечать на запросы времени, как показано в примере функции stream_socket_client().

Замечание: Большинство систем требуют доступа с правами root для создания серверного сокета на порту ниже, чем 1024.

Пример #2 Пример использования серверных сокетов UDP

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

Примечания

Замечание: При указании числового адреса IPv6 (например, fe80::1) вы должны заключать его в квадратные скобки. Например, tcp://[fe80::1]:80.

Смотрите также

  • stream_socket_client() - Открывает соединение с интернет-сокетом или с доменным сокетом Unix
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает открытый дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • Расширение curl
stream_socket_sendto
stream_socket_shutdown
Stream Функции


Закрывает полнодуплексное соединение

stream_socket_server
stream_supports_lock
Stream Функции
PHP Manual

stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdown — Закрывает полнодуплексное соединение

Описание

bool stream_socket_shutdown ( resource $stream , int $how )

Закрывает (частично или нет) полнодуплексное соединение.

Список параметров

stream

Открытый поток (открытый при помощи функции stream_socket_client(), например)

how

Одна из следующих констант: STREAM_SHUT_RD (отключает последующее получение данных), STREAM_SHUT_WR (отключает последующую передачу данных) или STREAM_SHUT_RDWR (отключает последующие получение и передачу данных).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования stream_socket_shutdown()

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "привет"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "привет")); // не работает сейчас

?>

Результатом выполнения данного примера будет что-то подобное:

int(5)

Notice: fputs(): send of 6 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Смотрите также

  • fclose() - Закрывает открытый дескриптор файла

stream_socket_server
stream_supports_lock
Stream Функции


Определяет, поддерживает ли поток блокировку

stream_socket_shutdown
stream_wrapper_register
Stream Функции
PHP Manual

stream_supports_lock

(PHP 5 >= 5.3.0)

stream_supports_lock — Определяет, поддерживает ли поток блокировку

Описание

bool stream_supports_lock ( resource $stream )

Определяет, поддерживает ли поток блокировку с использованием flock().

Список параметров

stream

Поток для проверки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • flock() - Портируемая консультативная блокировка файлов

stream_socket_shutdown
stream_wrapper_register
Stream Функции


Регистрирует обёртку URL, реализованную в виде PHP-класса

stream_supports_lock
stream_wrapper_restore
Stream Функции
PHP Manual

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register — Регистрирует обёртку URL, реализованную в виде PHP-класса

Описание

bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )

Позволяет вам реализовать ваши собственные обработчики протоколов и потоков для использования со всеми другими функциями файловой системы (такими, как fopen(), fread() и т. д.).

Список параметров

protocol

Название регистрируемой обёртки.

classname

Название класса, который реализует протокол protocol.

flags

Должно быть установлено в STREAM_IS_URL, если параметр protocol является протоколом URL. По умолчанию 0, локальный поток.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_register() будет возвращать FALSE, если протокол protocol уже имеет обработчик.

Список изменений

Версия | Описание
5.2.4 | Добавлен параметр flags.

Примеры

Пример #1 Как зарегистрировать обёртку потока

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
    stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

if ($existed) {
    stream_wrapper_restore("var");
}

?>

Результат выполнения данного примера:

line1
line2
line3
string(18) "line1
line2
line3
"

Смотрите также

  • Класс-прототип streamWrapper
  • Example class registered as stream wrapper
  • stream_wrapper_unregister() - Отменяет регистрацию обертки URL
  • stream_wrapper_restore() - Восстанавливает ранее разрегистрированную встроенную обёртку
  • stream_get_wrappers() - Извлекает список зарегистрированных потоков

stream_supports_lock
stream_wrapper_restore
Stream Функции


Восстанавливает ранее разрегистрированную встроенную обёртку

stream_wrapper_register
stream_wrapper_unregister
Stream Функции
PHP Manual

stream_wrapper_restore

(PHP 5 >= 5.1.0)

stream_wrapper_restore — Восстанавливает ранее разрегистрированную встроенную обёртку

Описание

bool stream_wrapper_restore ( string $protocol )

Восстанавливает встроенную обёртку, ранее разрегистрированную при помощи stream_wrapper_unregister().

Список параметров

protocol

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_register
stream_wrapper_unregister
Stream Функции


Отменяет регистрацию обертки URL

stream_wrapper_restore
Tidy
Stream Функции
PHP Manual

stream_wrapper_unregister

(PHP 5 >= 5.1.0)

stream_wrapper_unregister — Отменяет регистрацию обертки URL

Описание

bool stream_wrapper_unregister ( string $protocol )

Позволяет вам отключить уже определённую обёртку потока. Как только обёртка будет отключена, вы можете перезаписать её пользовательской обёрткой, используя stream_wrapper_register() или включить её повторно, используя stream_wrapper_restore().

Список параметров

protocol

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_restore
Tidy
Stream Функции


Tidy

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Пример использования Tidy
  • Tidy — Класс Tidy
    • tidy::body — Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева
    • tidy::cleanRepair — Выполнить настроенную очистку и восстановление разобранной разметки
    • tidy::__construct — Создает новый tidy-объект
    • tidy::diagnose — Запуск настроенной диагностики для разобранной и восстановленной разметки
    • tidy::getConfig — Получает текущую конфигурацию Tidy
    • tidy::htmlver — Получает обнаруженную HTML версию для указанного документа
    • tidy::getOpt — Возвращает значение указанного параметра конфигурации для документа tidy
    • tidy::getoptdoc — Возвращает описание для опции с указанным названием
    • tidy::getRelease — Получить дату релиза (версию) для библиотеки Tidy
    • tidy::getStatus — Получает статус указанного документа
    • tidy::head — Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева
    • tidy::html — Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева
    • tidy::isXhtml — Определяет, является ли документ XHTML-документом
    • tidy::isXml — Определяет, является ли документ общим XML-документом (не HTML/XHTML)
    • tidy::parseFile — Разбор разметки в файле или URI
    • tidy::parseString — Разбор документа, хранимого в строке
    • tidy::repairFile — Воcстанавливает разметку файла и возвращает его в виде строки
    • tidy::repairString — Восстанавливает строку, используя по возможности конфигурационный файл
    • tidy::root — Возвращает объект tidyNode, представляющий вершину разобранного tidy-дерева
  • TidyNode — Класс TidyNode
    • tidyNode::getParent — Возвращает родительский узел текущего узла
    • tidyNode::hasChildren — Проверяет существование потомков у узла
    • tidyNode::hasSiblings — Проверяет существование соседних узлов
    • tidyNode::isAsp — Проверяет текущий узел на соответствие ASP
    • tidyNode::isComment — Проверяет, является ли узел комментарием
    • tidyNode::isHtml — Проверяет, является ли текущий узел частью HTML-документа
    • tidyNode::isJste — Проверяет текущий узел на соответствие JSTE
    • tidyNode::isPhp — Проверяет, является ли текущий узел PHP-кодом
    • tidyNode::isText — Проверяет, является ли текущий узел обычным текстом (не разметкой)
  • Tidy
    • ob_tidyhandler — Функция обратного вызова ob_start для восстановление буфера
    • tidy_access_count — Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе
    • tidy_config_count — Возвращает число ошибок конфигурации Tidy, встретившихся при рассмотрении документа
    • tidy_error_count — Возвращает число ошибок Tidy, встретившихся при рассмотрении документа
    • tidy_get_error_buffer — Возвращает предупреждения и ошибки, возникшие при разборе указанного документа
    • tidy_get_output — Возвращает строку, представляющую разобранную tidy-разметку
    • tidy_load_config — Загрузить конфигурационный файл ASCII Tidy с указанной кодировкой
    • tidy_reset_config — Сбрасывает конфигурацию Tidy в стандартные значения
    • tidy_save_config — Сохранить текущие настройки в файл
    • tidy_set_encoding — Устанавливает входную/выходную кодировку символов для указанной разметки
    • tidy_setopt — Обновляет конфигурационные настройки для указанного документа tidy
    • tidy_warning_count — Возвращает число Tidy-предупреждений, встреченных в указанном документе
stream_wrapper_unregister
Введение
Другие базовые расширения


Введение

Tidy является интерфейсом к утилите очистки и восстановления Tidy HTML, которая позволяет помимо очистки и восстановления также манипулировать HTML-документами, а также перемещаться по дереву документа.

Tidy
Установка и настройка
Tidy


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Tidy


Требования

Использование Tidy требует установленной библиотеки libtidy, доступной на домашней странице tidy » http://tidy.sourceforge.net/.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение поставляется вместе с PHP 5 и выше, а устанавливается с помощью параметра конфигурации --with-tidy .

Пользователи PHP 4 могут использовать (устаревшее) PECL расширение отсюда: » http://pecl.php.net/package/tidy.

Замечание:

Tidy 1.0 предназначен для PHP 4, в то время как более новые версии расширения Tidy предназначены для PHP 5 и выше.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Tidy
Название | По умолчанию | Изменяемость | Журнал изменений
tidy.default_config | "" | PHP_INI_SYSTEM | Доступен начиная с PHP 5.0.0.
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR в PHP 5. Доступен начиная с PHP 5.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

tidy.default_config string

Путь по умолчанию к конфигурационному файлу Tidy.

tidy.clean_output boolean

Включает/выключает востановление потока вывода средствами Tidy.

Внимание

Не следует включать tidy.clean_output в случае генерании контента, отличного от html, такого как динамические изображения.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Каждая константа вида TIDY_TAG_XXX представляет HTML-тег. Например, TIDY_TAG_A представляет тег "<a href="XX">link</a>". Каждая константа вида TIDY_ATTR_XXX представляет HTML-атрибут. Например, TIDY_ATTR_HREF предсталяет атрибут href в предыдущем примере.

В расширении определены следующие константы:

Константы Tidy, соответствующие тэгам
Константа
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

Константы Tidy, соответствующие атрибутам
Константа
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

Константы Tidy, соответствующие типам узлов
Константа | Описание
TIDY_NODETYPE_ROOT | Корневой узел
TIDY_NODETYPE_DOCTYPE | Тип документа
TIDY_NODETYPE_COMMENT | HTML-комментарий
TIDY_NODETYPE_PROCINS | Инструкции по обработке в потоке вывода
TIDY_NODETYPE_TEXT | Текст
TIDY_NODETYPE_START | Открывающий тег
TIDY_NODETYPE_END | Закрывающий тег
TIDY_NODETYPE_STARTEND | Пустой тег
TIDY_NODETYPE_CDATA | Символьные данные
TIDY_NODETYPE_SECTION | Раздел XML
TIDY_NODETYPE_ASP | ASP-код
TIDY_NODETYPE_JSTE | JSTE-код
TIDY_NODETYPE_PHP | PHP-код
TIDY_NODETYPE_XMLDECL | Декларация XML

Типы ресурсов
Примеры
Tidy


Примеры

Содержание

  • Пример использования Tidy
Предопределенные константы
Пример использования Tidy
Tidy


Пример использования Tidy

Простой пример, демонстрирующий базовые возможности использования Tidy.

Пример #1 Базовые возможности использования Tidy

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Установка конфигурации
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Вывод
echo $tidy;
?>

Примеры
Tidy
Примеры


Класс Tidy

(Информация о версии неизвестна, возможно, только в SVN)

Введение

HTML-узел в HTML-файле, обнаруженный Tidy.

Обзор классов

Tidy {
/* Свойства */
string $Tidy->errorBuffer;
/* Методы */
tidyNode tidy::body ( void )
bool tidy::cleanRepair ( void )
tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
bool tidy::diagnose ( void )
array tidy::getConfig ( void )
int tidy::getHtmlVer ( void )
mixed tidy::getOpt ( string $option )
string tidy::getOptDoc ( string $optname )
string tidy::getRelease ( void )
int tidy::getStatus ( void )
tidyNode tidy::head ( void )
tidyNode tidy::html ( void )
bool tidy::isXhtml ( void )
bool tidy::isXml ( void )
bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )
string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )
tidyNode tidy::root ( void )
}

Свойства

errorBuffer

Последние предупреждения и ошибки, выданные TidyLib

Содержание

  • tidy::body — Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева
  • tidy::cleanRepair — Выполнить настроенную очистку и восстановление разобранной разметки
  • tidy::__construct — Создает новый tidy-объект
  • tidy::diagnose — Запуск настроенной диагностики для разобранной и восстановленной разметки
  • tidy::getConfig — Получает текущую конфигурацию Tidy
  • tidy::htmlver — Получает обнаруженную HTML версию для указанного документа
  • tidy::getOpt — Возвращает значение указанного параметра конфигурации для документа tidy
  • tidy::getoptdoc — Возвращает описание для опции с указанным названием
  • tidy::getRelease — Получить дату релиза (версию) для библиотеки Tidy
  • tidy::getStatus — Получает статус указанного документа
  • tidy::head — Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева
  • tidy::html — Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева
  • tidy::isXhtml — Определяет, является ли документ XHTML-документом
  • tidy::isXml — Определяет, является ли документ общим XML-документом (не HTML/XHTML)
  • tidy::parseFile — Разбор разметки в файле или URI
  • tidy::parseString — Разбор документа, хранимого в строке
  • tidy::repairFile — Воcстанавливает разметку файла и возвращает его в виде строки
  • tidy::repairString — Восстанавливает строку, используя по возможности конфигурационный файл
  • tidy::root — Возвращает объект tidyNode, представляющий вершину разобранного tidy-дерева
Пример использования Tidy
tidy::body
Tidy


Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева

Tidy
tidy::cleanRepair
Tidy
PHP Manual

tidy::body

tidy_get_body

(PHP 5, PECL tidy 0.5.2-1.0)

tidy::body -- tidy_get_body — Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева

Описание

Объектно-ориентированный стиль

tidyNode tidy::body ( void )

Процедурный стиль

tidyNode tidy_get_body ( tidy $object )

Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает объект tidyNode.

Внимание

Эта функция еще не реализована в самом Tidylib, поэтому всегда возвращается 0.

Примеры

Пример #1 Пример использования функции tidy::getBody()

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$body = $tidy->Body();
echo $body->value;
?>

Результат выполнения данного примера:

<body>
<p>paragraph</p>
</body>

Примечания

Замечание: Эта функция доступна только в Zend Engine 2 (PHP >= 5.0.0).

Смотрите также

  • tidy::head() - Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева
  • tidy::html() - Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева
Tidy
tidy::cleanRepair
Tidy


Выполнить настроенную очистку и восстановление разобранной разметки

tidy::body
tidy::__construct
Tidy
PHP Manual

tidy::cleanRepair

tidy_clean_repair

(PHP 5, PECL tidy >= 0.5.2)

tidy::cleanRepair -- tidy_clean_repair — Выполнить настроенную очистку и восстановление разобранной разметки

Описание

Объектно-ориентированный стиль

bool tidy::cleanRepair ( void )

Процедурный стиль

bool tidy_clean_repair ( tidy $object )

Эта функция очищает и восстанавливает полученный tidy-объект object.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции tidy::cleanrepair()

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

echo $tidy;
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Смотрите также

  • tidy::repairFile() - Воcстанавливает разметку файла и возвращает его в виде строки
  • tidy::repairString() - Восстанавливает строку, используя по возможности конфигурационный файл
tidy::body
tidy::__construct
Tidy


Создает новый tidy-объект

tidy::cleanRepair
tidy::diagnose
Tidy
PHP Manual

tidy::__construct

(PHP 5, PECL tidy >= 0.5.2)

tidy::__construct — Создает новый tidy-объект

Описание

tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )

Создает новый tidy-объект.

Список параметров

filename

Если задан параметр filename, то эта функция прочитает файл и инициализирует объект с этим файлом, действуя как функция tidy_parse_file().

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Описание каждого параметра можно найти тут: » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

use_include_path

Поиск файла в include_path.

Возвращаемые значения

Возвращает новый экземпляр tidy.

Примеры

Пример #1 Пример использования функции tidy::__construct()

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy();
$tidy->ParseString($html);

$tidy->cleanRepair();

if ($tidy->errorBuffer) {
    echo "Были обнаружены следующие ошибки:\n";
    echo $tidy->errorBuffer;
}

?>

Результат выполнения данного примера:

Были обнаружены следующие ошибки:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Смотрите также

  • tidy::parseFile() - Разбор разметки в файле или URI
  • tidy::parseString() - Разбор документа, хранимого в строке
tidy::cleanRepair
tidy::diagnose
Tidy


Запуск настроенной диагностики для разобранной и восстановленной разметки

tidy::__construct
tidy::getConfig
Tidy
PHP Manual

tidy::diagnose

tidy_diagnose

(PHP 5, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Запуск настроенной диагностики для разобранной и восстановленной разметки

Описание

Объектно-ориентированный стиль

bool tidy::diagnose ( void )

Процедурный стиль

bool tidy_diagnose ( tidy $object )

Выполняет диагностические тесты полученного tidy-объекта object, добавляя некоторую информацию о документе в буфер ошибок.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции tidy::diagnose()

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

// обратите внимание на разницу между двумя выводами
echo $tidy->errorBuffer . "\n";

$tidy->diagnose();
echo $tidy->errorBuffer;

?>

Результат выполнения данного примера:

line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

Смотрите также

  • tidy::errorBuffer()
tidy::__construct
tidy::getConfig
Tidy


Получает текущую конфигурацию Tidy

tidy::diagnose
tidy::htmlver
Tidy
PHP Manual

tidy::getConfig

tidy_get_config

(PHP 5, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Получает текущую конфигурацию Tidy

Описание

Объектно-ориентированный стиль

array tidy::getConfig ( void )

Процедурный стиль

array tidy_get_config ( tidy $object )

Получает список используемых опций конфигурации в указанном объекте tidy object.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает массив опций конфигурации.

Информацию о каждом параметре можно получить тут: » http://tidy.sourceforge.net/docs/quickref.html.

Примеры

Пример #1 Пример использования функции tidy::getConfig()

<?php
$html = '<p>тест</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r($tidy->getConfig());
?>

Результат выполнения данного примера:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

Смотрите также

  • tidy_reset_config() - Сбрасывает конфигурацию Tidy в стандартные значения
  • tidy_save_config() - Сохранить текущие настройки в файл
tidy::diagnose
tidy::htmlver
Tidy


Получает обнаруженную HTML версию для указанного документа

tidy::getConfig
tidy::getOpt
Tidy
PHP Manual

tidy::htmlver

tidy_get_html_ver

(PHP 5, PECL tidy >= 0.5.2)

tidy::htmlver -- tidy_get_html_ver — Получает обнаруженную HTML версию для указанного документа

Описание

Объектно-ориентированный стиль

int tidy::getHtmlVer ( void )

Процедурный стиль

int tidy_get_html_ver ( tidy $object )

Возвращает обнаруженную HTML версию для указанного объекта tidy object.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает обнаруженную HTML версию.

Внимание

Эта функция еще не реализована в самом Tidylib, поэтому всегда возвращается 0.

tidy::getConfig
tidy::getOpt
Tidy


Возвращает значение указанного параметра конфигурации для документа tidy

tidy::htmlver
tidy::getoptdoc
Tidy
PHP Manual

tidy::getOpt

tidy_getopt

(PHP 5, PECL tidy >= 0.5.2)

tidy::getOpt -- tidy_getopt — Возвращает значение указанного параметра конфигурации для документа tidy

Описание

Объектно-ориентированный стиль

mixed tidy::getOpt ( string $option )

Процедурный стиль

mixed tidy_getopt ( tidy $object , string $option )

Возвращает значение указанного параметра option для указанного объекта tidy object.

Список параметров

object

Объект Tidy.

option

Вы можете найти список из каждой опции конфигурации с типом здесь: » http://tidy.sourceforge.net/docs/quickref.html.

Возвращаемые значения

Возвращает значение указанной опции option. Тип возвращаемого значения зависит от типа указанной опции.

Примеры

Пример #1 Пример использования функции tidy_getopt()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Заголовок</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'какой-то текст');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

Результат выполнения данного примера:

int(3)
bool(true)
string(9) "какой-то текст"

tidy::htmlver
tidy::getoptdoc
Tidy


Возвращает описание для опции с указанным названием

tidy::getOpt
tidy::getRelease
Tidy
PHP Manual

tidy::getoptdoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0)

tidy::getoptdoc -- tidy_get_opt_doc — Возвращает описание для опции с указанным названием

Описание

Объектно-ориентированный стиль

string tidy::getOptDoc ( string $optname )

Процедурный стиль

string tidy_get_opt_doc ( tidy $object , string $optname )

Функция tidy_get_opt_doc() возвращает описание для опции с указанным названием.

Замечание:

Для использования этой функции вам потребуется библиотека libtidy минимум от 25 Апреля 2005 г.

Список параметров

object

Объект Tidy.

optname

Название опции

Возвращаемые значения

Возвращается строка существующей опции и имеющееся описание, в противном случае возвращается FALSE.

Примеры

Пример #1 Печать всех опций вместе с описанием и значением по умолчанию

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'документация не существует!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (default: '$val')<br />".
         "$doc</p><hr />\n";
}

?>

Смотрите также

  • tidy::getconfig() - Получает текущую конфигурацию Tidy
  • tidy::getopt() - Возвращает значение указанного параметра конфигурации для документа tidy

tidy::getOpt
tidy::getRelease
Tidy


Получить дату релиза (версию) для библиотеки Tidy

tidy::getoptdoc
tidy::getStatus
Tidy
PHP Manual

tidy::getRelease

tidy_get_release

(PHP 5, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Получить дату релиза (версию) для библиотеки Tidy

Описание

Объектно-ориентированный стиль

string tidy::getRelease ( void )

Процедурный стиль

string tidy_get_release ( void )

Получает дату релиза для библиотеки Tidy.

Возвращаемые значения

Возвращает строку с датой релиза библиотеки Tidy.

tidy::getoptdoc
tidy::getStatus
Tidy


Получает статус указанного документа

tidy::getRelease
tidy::head
Tidy
PHP Manual

tidy::getStatus

tidy_get_status

(PHP 5, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Получает статус указанного документа

Описание

Объектно-ориентированный стиль

int tidy::getStatus ( void )

Процедурный стиль

int tidy_get_status ( tidy $object )

Возвращает статус указанного tidy-объекта object.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает 0, если не было ошибок/предупреждений, 1 - для предупреждений или возможных ошибок или 2 - для ошибок.

Примеры

Пример #1 Пример использования функции tidy::getStatus()

<?php
$html = '<p>параграф</i>';
$tidy = new tidy();
$tidy->parseString($html);

$tidy2 = new tidy();
$html2 = '<bogus>тест</bogus>';
$tidy2->parseString($html2);

echo $tidy->getStatus(); //1

echo $tidy2->getStatus(); //2
?>

tidy::getRelease
tidy::head
Tidy


Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева

tidy::getStatus
tidy::html
Tidy
PHP Manual

tidy::head

tidy_get_head

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::head -- tidy_get_head — Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева

Описание

Объектно-ориентированный стиль

tidyNode tidy::head ( void )

Процедурный стиль

tidyNode tidy_get_head ( tidy $object )

Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает объект tidyNode.

Примеры

Пример #1 Пример использования функции tidy::head()

<?php
$html = '
<html>
  <head>
    <title>тест</title>
  </head>
  <body>
    <p>параграф</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = $tidy->head();
echo $head->value;
?>

Результат выполнения данного примера:

<head>
<title>тест</title>
</head>

Примечания

Замечание: Эта функция доступна только в Zend Engine 2 (PHP >= 5.0.0).

Смотрите также

  • tidy::body() - Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева
  • tidy::html() - Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева
tidy::getStatus
tidy::html
Tidy


Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева

tidy::head
tidy::isXhtml
Tidy
PHP Manual

tidy::html

tidy_get_html

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::html -- tidy_get_html — Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева

Описание

Объектно-ориентированный стиль

tidyNode tidy::html ( void )

Процедурный стиль

tidyNode tidy_get_html ( tidy $object )

Возвращает объект tidyNode, начиная с тега <html> разобранного tidy-дерева.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает объект tidyNode.

Примеры

Пример #1 Пример использования функции tidy::html()

<?php
$html = '
<html>
  <head>
    <title>тест</title>
  </head>
  <body>
    <p>параграф</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy->html();
echo $html->value;
?>

Результат выполнения данного примера:

<html>
<head>
<title>тест</title>
</head>
<body>
<p>параграф</p>
</body>
</html>

Примечания

Замечание: Эта функция доступна только в Zend Engine 2 (PHP >= 5.0.0).

Смотрите также

  • tidy::body() - Возвращает объект tidyNode, начиная с тега <body> разобранного tidy-дерева
  • tidy::head() - Возвращает объект tidyNode, начиная с тега <head> разобранного tidy-дерева
tidy::head
tidy::isXhtml
Tidy


Определяет, является ли документ XHTML-документом

tidy::html
tidy::isXml
Tidy
PHP Manual

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Определяет, является ли документ XHTML-документом

Описание

Объектно-ориентированный стиль

bool tidy::isXhtml ( void )

Процедурный стиль

bool tidy_is_xhtml ( tidy $object )

Определяет, является ли документ XHTML-документом.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Эта функция возвращает TRUE если указанный tidy-объект object является XHTML-документом, или FALSE в противном случае.

Внимание

Эта функция еще не реализована в самом Tidylib, поэтому всегда возвращается FALSE.

tidy::html
tidy::isXml
Tidy


Определяет, является ли документ общим XML-документом (не HTML/XHTML)

tidy::isXhtml
tidy::parseFile
Tidy
PHP Manual

tidy::isXml

tidy_is_xml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Определяет, является ли документ общим XML-документом (не HTML/XHTML)

Описание

Объектно-ориентированный стиль

bool tidy::isXml ( void )

Процедурный стиль

bool tidy_is_xml ( tidy $object )

Определяет, является ли документ общим XML-документом (не HTML/XHTML).

Список параметров

object

Объект Tidy.

Возвращаемые значения

Эта функция возвращает TRUE если указанный tidy-объект object является общим XML-документом (не HTML/XHTML), или FALSE в противном случае.

Внимание

Эта функция еще не реализована в самом Tidylib, поэтому всегда возвращается FALSE.

tidy::isXhtml
tidy::parseFile
Tidy


Разбор разметки в файле или URI

tidy::isXml
tidy::parseString
Tidy
PHP Manual

tidy::parseFile

tidy_parse_file

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseFile -- tidy_parse_file — Разбор разметки в файле или URI

Описание

Объектно-ориентированный стиль

bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Процедурный стиль

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Разбор полученного файла.

Список параметров

filename

Если получен параметр filename, то функция прочитает этот файл и инициализирует объект с этим файлом, так же как делает это функция tidy_parse_file().

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Информацию о каждом параметре можно найти тут: » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

use_include_path

Поиск файла в include_path.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции tidy::parseFile()

<?php
$tidy = new tidy();
$tidy->parseFile('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "Возникли следующие ошибки или предупреждения:\n";
    echo $tidy->errorBuffer;
}
?>

Примечания

Замечание: Необязательные параметры config и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parsestring() - Разбор документа, хранимого в строке
  • tidy::repairfile() - Воcстанавливает разметку файла и возвращает его в виде строки
  • tidy::repairstring() - Восстанавливает строку, используя по возможности конфигурационный файл
tidy::isXml
tidy::parseString
Tidy


Разбор документа, хранимого в строке

tidy::parseFile
tidy::repairFile
Tidy
PHP Manual

tidy::parseString

tidy_parse_string

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Разбор документа, хранимого в строке

Описание

Объектно-ориентированный стиль

bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )

Процедурный стиль

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )

Разбор документа, хранимого в строке.

Список параметров

input

Данные для разбора.

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Информацию о каждом параметре можно найти тут: » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

Возвращаемые значения

Возвращает новый экземпляр tidy.

Примеры

Пример #1 Пример использования функции tidy::parseString()

<?php
ob_start();
?>

<html>
  <head>
   <title>тест</title>
  </head>
  <body>
   <p>ошибка<br>другая линия</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      тест
    </title>
  </head>
  <body>
    <p>
      ошибка<br />
      другая линия
    </p>
  </body>
</html>

Примечания

Замечание: Необязательные параметры config и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Разбор разметки в файле или URI
  • tidy::repairFile() - Воcстанавливает разметку файла и возвращает его в виде строки
  • tidy::repairString() - Восстанавливает строку, используя по возможности конфигурационный файл
tidy::parseFile
tidy::repairFile
Tidy


Воcстанавливает разметку файла и возвращает его в виде строки

tidy::parseString
tidy::repairString
Tidy
PHP Manual

tidy::repairFile

tidy_repair_file

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Воcстанавливает разметку файла и возвращает его в виде строки

Описание

Объектно-ориентированный стиль

string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Процедурный стиль

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Воcстанавливает полученный файл и возвращает его в виде строки.

Список параметров

filename

Имя файла для восстановления.

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Информацию о каждом параметре можно найти тут: http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

use_include_path

Поиск файла в include_path.

Возвращаемые значения

Возвращает восстановленный документ в виде строки.

Примеры

Пример #1 Пример использования функции tidy::repairFile()

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Примечания

Замечание: Необязательные параметры config и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Разбор разметки в файле или URI
  • tidy::parseString() - Разбор документа, хранимого в строке
  • tidy::repairString() - Восстанавливает строку, используя по возможности конфигурационный файл
tidy::parseString
tidy::repairString
Tidy


Восстанавливает строку, используя по возможности конфигурационный файл

tidy::repairFile
tidy::root
Tidy
PHP Manual

tidy::repairString

tidy_repair_string

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Восстанавливает строку, используя по возможности конфигурационный файл

Описание

Объектно-ориентированный стиль

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Процедурный стиль

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Восстанавливает полученную строку.

Список параметров

data

Данные для восстановления.

config

Настройки config могут быть заданы в виде массива или строки. Если задана строка, то это интерпретируется как имя файла конфигурации, в противном случае, параметр интерпретируется как сами настройки.

Информацию о каждом параметре можно найти тут: » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

Возвращаемые значения

Возвращает восстановленную строку.

Примеры

Пример #1 Пример использования функции tidy::repairString()

<?php
ob_start();
?>

<html>
  <head>
    <title>тест</title>
  </head>
  <body>
    <p>ошибка</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = new tidy();
$clean = $tidy->repairString($buffer);

echo $clean;
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>тест</title>
</head>
<body>
<p>ошибка</p>
</body>
</html>

Примечания

Замечание: Необязательные параметры config и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Разбор разметки в файле или URI
  • tidy::parseString() - Разбор документа, хранимого в строке
  • tidy::repairFile() - Воcстанавливает разметку файла и возвращает его в виде строки
tidy::repairFile
tidy::root
Tidy


Возвращает объект tidyNode, представляющий вершину разобранного tidy-дерева

tidy::repairString
TidyNode
Tidy
PHP Manual

tidy::root

tidy_get_root

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::root -- tidy_get_root — Возвращает объект tidyNode, представляющий вершину разобранного tidy-дерева

Описание

Объектно-ориентированный стиль

tidyNode tidy::root ( void )

Процедурный стиль

tidyNode tidy_get_root ( tidy $object )

Возвращает объект tidyNode, представляющий вершину разобранного tidy-дерева.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает объект tidyNode.

Примеры

Пример #1 Пример использования функции tidy::root()

<?php

$html = <<< HTML
<html><body>

<p>параграф</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
        foreach($node->child as $child) {
            echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

            dump_nodes($child, $indent+1);
        }
    }
}
?>

Результат выполнения данного примера:

..html
....head
......title
....body
......p
........"параграф"
......br

Примечания

Замечание: Эта функция доступна только в Zend Engine 2 (PHP >= 5.0.0).

tidy::repairString
TidyNode
Tidy


Класс TidyNode

(Информация о версии неизвестна, возможно, только в SVN)

Введение

HTML-узел в HTML-файле, обнаруженный Tidy.

Обзор классов

TidyNode {
/* Свойства */
$TidyNode->value;
$name;
$type;
$line;
$column;
$proprietary;
$id;
$attribute;
$child;
/* Методы */
tidyNode tidyNode::getParent ( void )
bool tidyNode::hasChildren ( void )
bool tidyNode::hasSiblings ( void )
bool tidyNode::isAsp ( void )
bool tidyNode::isComment ( void )
bool tidyNode::isHtml ( void )
bool tidyNode::isJste ( void )
bool tidyNode::isPhp ( void )
bool tidyNode::isText ( void )
}

Свойства

value

HTML-представление узла, включая окружающие теги.

name

Название HTML-узла

type

Тип тэга (одна из констант, описанных выше, таких как TIDY_NODETYPE_PHP)

line

Номер строки, на которой расположен тег в файле

column

Номер столбца, на котором расположен тег в файле

proprietary

Признак проприетарности тега

id

Идентификатор тега (одна из констант, описанных выше, таких как TIDY_TAG_FRAME)

attribute

Массив строк, представляющих имена атрибутов (в качестве ключей) текущего узла.

child

Массив, состоящий из экземпляров TidyNode, представляющий детей текущего узла.

Версия | Описание
5.1.0 | Были добавлены line, column и proprietary

Содержание

  • tidyNode::getParent — Возвращает родительский узел текущего узла
  • tidyNode::hasChildren — Проверяет существование потомков у узла
  • tidyNode::hasSiblings — Проверяет существование соседних узлов
  • tidyNode::isAsp — Проверяет текущий узел на соответствие ASP
  • tidyNode::isComment — Проверяет, является ли узел комментарием
  • tidyNode::isHtml — Проверяет, является ли текущий узел частью HTML-документа
  • tidyNode::isJste — Проверяет текущий узел на соответствие JSTE
  • tidyNode::isPhp — Проверяет, является ли текущий узел PHP-кодом
  • tidyNode::isText — Проверяет, является ли текущий узел обычным текстом (не разметкой)
tidy::root
tidyNode::getParent
Tidy


Возвращает родительский узел текущего узла

TidyNode
tidyNode::hasChildren
TidyNode
PHP Manual

tidyNode::getParent

(PHP 5 >= 5.2.2)

tidyNode::getParent — Возвращает родительский узел текущего узла

Описание

tidyNode tidyNode::getParent ( void )

Возвращает родительский узел текущего узла.

Примеры

Пример #1 Пример использования функции tidyNode::getParent()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Hello World');
#>
 </head>
 <body>
 Hello World
 </body>
</html>

HTML;

$tidy = tidy_parse_string($html);
$num = 0;

$node = $tidy->html()->child[0]->child[0];

var_dump($node->getparent()->name);
?>

Результат выполнения данного примера:

string(4) "head"

Возвращаемые значения

Возвращает объект tidyNode, если узел имеет родителя, в противном случае NULL.

TidyNode
tidyNode::hasChildren
TidyNode


Проверяет существование потомков у узла

tidyNode::getParent
tidyNode::hasSiblings
TidyNode
PHP Manual

tidyNode::hasChildren

(PHP 5 >= 5.0.1)

tidyNode::hasChildren — Проверяет существование потомков у узла

Описание

bool tidyNode::hasChildren ( void )

Сообщает, есть ли у заданного узла потомки.

Возвращаемые значения

Возвращает TRUE, если у узла есть потомки, FALSE - в противном случае.

Примеры

Пример #1 Пример использования функции tidyNode::hasChildren()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// тег head
var_dump($tidy->html()->child[0]->hasChildren());

// php внутри тега head
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

Результат выполнения данного примера:

bool(true)
bool(false)

Примечания

Замечание:

Эта функция называлась tidy_node::has_children() в PHP 4/Tidy 1.

tidyNode::getParent
tidyNode::hasSiblings
TidyNode


Проверяет существование соседних узлов

tidyNode::hasChildren
tidyNode::isAsp
TidyNode
PHP Manual

tidyNode::hasSiblings

(PHP 5 >= 5.0.1)

tidyNode::hasSiblings — Проверяет существование соседних узлов

Описание

bool tidyNode::hasSiblings ( void )

Проверяет существование соседних узлов.

Возвращаемые значения

Возвращает TRUE, если существуют соседние узлы, FALSE - в противном случае.

Примеры

Пример #1 Пример использования функции tidyNode::hasSiblings()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// тег html
var_dump($tidy->html()->hasSiblings());

// тег head
var_dump($tidy->html()->child[0]->hasSiblings());

?>

Результат выполнения данного примера:

bool(false)
bool(true)

Примечания

Замечание:

Эта функция называлась tidy_node::has_siblings() в PHP 4/Tidy 1.

tidyNode::hasChildren
tidyNode::isAsp
TidyNode


Проверяет текущий узел на соответствие ASP

tidyNode::hasSiblings
tidyNode::isComment
TidyNode
PHP Manual

tidyNode::isAsp

(PHP 5 >= 5.0.1)

tidyNode::isAsp — Проверяет текущий узел на соответствие ASP

Описание

bool tidyNode::isAsp ( void )

Проверяет текущий узел на соответствие ASP.

Возвращаемые значения

Возвращает TRUE, если узел является ASP, FALSE - в противном случае.

Примеры

Пример #1 Извлечение кода ASP из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // проверяет текущий узел на соответствие требуемому типу
    if($node->isAsp()) {
        echo "\n\n# asp узел #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# asp нода #1
<%
  /* ASP код */
  response.write("Привет Мир!")
%>

Примечания

Замечание:

Эта функция называлась tidy_node::is_asp() в PHP 4/Tidy 1.

tidyNode::hasSiblings
tidyNode::isComment
TidyNode


Проверяет, является ли узел комментарием

tidyNode::isAsp
tidyNode::isHtml
TidyNode
PHP Manual

tidyNode::isComment

(PHP 5 >= 5.0.1)

tidyNode::isComment — Проверяет, является ли узел комментарием

Описание

bool tidyNode::isComment ( void )

Проверяет, является ли узел комментарием.

Возвращаемые значения

Возвращает TRUE, если узел является комментарием, FALSE - в противном случае.

Примеры

Пример #1 Извлечение комментариев из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // проверяет текущий узел на соответствие требуемому типу
    if($node->isComment()) {
        echo "\n\n# узел комментария #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# нода комментария #1
<!-- Комментарии -->

Примечания

Замечание:

Эта функция называлась tidy_node::is_comment() в PHP 4/Tidy 1.

tidyNode::isAsp
tidyNode::isHtml
TidyNode


Проверяет, является ли текущий узел частью HTML-документа

tidyNode::isComment
tidyNode::isJste
TidyNode
PHP Manual

tidyNode::isHtml

(PHP 5 >= 5.0.1)

tidyNode::isHtml — Проверяет, является ли текущий узел частью HTML-документа

Описание

bool tidyNode::isHtml ( void )

Проверяет, является ли текущий узел частью HTML-документа.

Возвращаемые значения

Возвращает TRUE, если узел является частью HTML-документа, FALSE - в противном случае.

Примеры

Пример #1 Извлечение HTML-кода из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {
    // проверяет текущий узел на соответствие требуемому типу
    if($node->isHtml()) {
        echo "\n\n# html нода #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# html узел #1
<html>
<head>
<?php echo '<title>заголовок</title>'; ?><#
  /* JSTE код */
  alert('Привет Мир');
#>
<title></title>
</head>
<body>
<?php
  // PHP код
  echo 'привет мир!';
?><%
  /* ASP код */
  response.write("Привет Мир!")
%><!-- Комментарии -->
Привет МирЗа пределами HTML кода
</body>
</html>

# html узел #2
<head>
<?php echo '<title>заголовок</title>'; ?><#
  /* JSTE код */
  alert('Привет Мир');
#>
<title></title>
</head>

# html узел #3
<?php echo '<title>заголовок</title>'; ?>

# html узел #4
<#
  /* JSTE код */
  alert('Привет Мир');
#>

# html узел #5
<title></title>

# html узел #6
<body>
<?php
  // PHP код
  echo 'привет мир!';
?><%
  /* ASP код */
  response.write("Привет Мир!")
%><!-- Комментарии -->
Привет МирЗа пределами HTML кода
</body>

# html узел #7
<?php
  // PHP код
  echo 'привет мир!';
?>

# html узел #8
<%
  /* ASP код */
  response.write("Привет Мир!")
%>

# html узел #9
<!-- Комментарии -->

# html узел #10
Привет Мир

# html узел #11
За пределами HTML кода

Примечания

Замечание:

Эта функция называлась tidy_node::is_html() в PHP 4/Tidy 1.

tidyNode::isComment
tidyNode::isJste
TidyNode


Проверяет текущий узел на соответствие JSTE

tidyNode::isHtml
tidyNode::isPhp
TidyNode
PHP Manual

tidyNode::isJste

(PHP 5 >= 5.0.1)

tidyNode::isJste — Проверяет текущий узел на соответствие JSTE

Описание

bool tidyNode::isJste ( void )

Сообщает, если узел соответствует JSTE.

Возвращаемые значения

Возвращает TRUE, если узел является JSTE, FALSE - в противном случае.

Примеры

Пример #1 Извлечение JSTE-кода из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // проверяет текущий узел на соответствие требуемому типу
    if($node->isJste()) {
        echo "\n\n# jste-узел #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# jste-узел #1
<#
  /* JSTE-код */
  alert('Привет Мир');
#>

Примечания

Замечание:

Эта функция называлась tidy_node::is_jste() в PHP 4/Tidy 1.

tidyNode::isHtml
tidyNode::isPhp
TidyNode


Проверяет, является ли текущий узел PHP-кодом

tidyNode::isJste
tidyNode::isText
TidyNode
PHP Manual

tidyNode::isPhp

(PHP 5 >= 5.0.1)

tidyNode::isPhp — Проверяет, является ли текущий узел PHP-кодом

Описание

bool tidyNode::isPhp ( void )

Проверяет, является ли текущий узел PHP-кодом.

Возвращаемые значения

Возвращает TRUE, если узел является PHP-кодом, FALSE - в противном случае.

Примеры

Пример #1 Извлечение PHP-кода из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // проверяет текущий узел на соответствие требуемому типу
    if($node->isPhp()) {
        echo "\n\n# php-узел #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# php нода #1
<?php echo '<title>заголовок</title>'; ?>

# php нода #2
<?php
  // PHP код
  echo 'привет мир!';
?>

Примечания

Замечание:

Эта функция называлась tidy_node::is_php() в PHP 4/Tidy 1.

tidyNode::isJste
tidyNode::isText
TidyNode


Проверяет, является ли текущий узел обычным текстом (не разметкой)

tidyNode::isPhp
Tidy
TidyNode
PHP Manual

tidyNode::isText

(PHP 5 >= 5.0.1)

tidyNode::isText — Проверяет, является ли текущий узел обычным текстом (не разметкой)

Описание

bool tidyNode::isText ( void )

Проверяет, является ли текущий узел обычным текстом (без какой-либо разметки).

Возвращаемые значения

Возвращает TRUE, если узел представляет собой текст, FALSE - в противном случае.

Примеры

Пример #1 Извлечение обычного текста из смешанного HTML-документа

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
  /* JSTE код */
  alert('Привет Мир');
#>
</head>
<body>

<?php
  // PHP код
  echo 'привет мир!';
?>

<%
  /* ASP код */
  response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // проверяет текущий узел на соответствие требуемому типу
    if($node->isText()) {
        echo "\n\n# текстовый узел #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // проверяет существование потомков у текущего узла
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Результат выполнения данного примера:

# текстовый узел #1
Привет Мир

# текстовая нода #2
За пределами HTML кода

Примечания

Замечание:

Эта функция называлась tidy_node::is_text() в PHP 4/Tidy 1.

tidyNode::isPhp
Tidy
TidyNode


Tidy
PHP Manual

Tidy

Содержание

  • ob_tidyhandler — Функция обратного вызова ob_start для восстановление буфера
  • tidy_access_count — Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе
  • tidy_config_count — Возвращает число ошибок конфигурации Tidy, встретившихся при рассмотрении документа
  • tidy_error_count — Возвращает число ошибок Tidy, встретившихся при рассмотрении документа
  • tidy_get_error_buffer — Возвращает предупреждения и ошибки, возникшие при разборе указанного документа
  • tidy_get_output — Возвращает строку, представляющую разобранную tidy-разметку
  • tidy_load_config — Загрузить конфигурационный файл ASCII Tidy с указанной кодировкой
  • tidy_reset_config — Сбрасывает конфигурацию Tidy в стандартные значения
  • tidy_save_config — Сохранить текущие настройки в файл
  • tidy_set_encoding — Устанавливает входную/выходную кодировку символов для указанной разметки
  • tidy_setopt — Обновляет конфигурационные настройки для указанного документа tidy
  • tidy_warning_count — Возвращает число Tidy-предупреждений, встреченных в указанном документе
tidyNode::isText
ob_tidyhandler
Tidy
PHP Manual


Функция обратного вызова ob_start для восстановление буфера

Tidy
tidy_access_count
Tidy
PHP Manual

ob_tidyhandler

(PHP 5)

ob_tidyhandler — Функция обратного вызова ob_start для восстановление буфера

Описание

string ob_tidyhandler ( string $input [, int $mode ] )

Функция обратного вызова ob_start() для восстановление буфера.

Список параметров

input

Буфер.

mode

Режим буфера.

Возвращаемые значения

Возвращает видоизмененный буфер.

Примеры

Пример #1 Пример использования ob_tidyhandler()

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Смотрите также

  • ob_start() - Включение буферизации вывода

Tidy
tidy_access_count
Tidy


Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе

ob_tidyhandler
tidy_config_count
Tidy
PHP Manual

tidy_access_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_access_count — Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе

Описание

int tidy_access_count ( tidy $object )

tidy_access_count() возвращает число доступных предупреждений, найденных в рассмотренном документе.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает число предупреждений.

Примеры

Пример #1 Пример использования tidy_access_count()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// выбирается уровень проверки доступности: 1, 2 или 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* Нельзя забывать про этот вызов! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Примечания

Замечание:

В соответствии с дизайном TidyLib, следует вызывать tidy_diagnose() до tidy_access_count() или последний будет всегда возвращать 0. Необходимо также указывать параметр конфигурации accessibility-check.

Смотрите также

  • tidy_error_count() - Возвращает число ошибок Tidy, встретившихся при рассмотрении документа
  • tidy_warning_count() - Возвращает число Tidy-предупреждений, встреченных в указанном документе

ob_tidyhandler
tidy_config_count
Tidy


Возвращает число ошибок конфигурации Tidy, встретившихся при рассмотрении документа

tidy_access_count
tidy_error_count
Tidy
PHP Manual

tidy_config_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_config_count — Возвращает число ошибок конфигурации Tidy, встретившихся при рассмотрении документа

Описание

int tidy_config_count ( tidy $object )

Возвращает число ошибок в конфигурации заданного объекта tidy.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает число ошибок.

Примеры

Пример #1 Пример использования tidy_config_count()

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* Выведет 1, потому как 'bogus' некорректное объявление типа документа */
echo tidy_config_count($tidy);
?>

tidy_access_count
tidy_error_count
Tidy


Возвращает число ошибок Tidy, встретившихся при рассмотрении документа

tidy_config_count
tidy_get_error_buffer
Tidy
PHP Manual

tidy_error_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_error_count — Возвращает число ошибок Tidy, встретившихся при рассмотрении документа

Описание

int tidy_error_count ( tidy $object )

Возвращает число ошибок Tidy, встретившихся при рассмотрении документа.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает число ошибок Tidy.

Примеры

Пример #1 Пример использования tidy_error_count()

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

Результат выполнения данного примера:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Смотрите также

  • tidy_access_count() - Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе
  • tidy_warning_count() - Возвращает число Tidy-предупреждений, встреченных в указанном документе
tidy_config_count
tidy_get_error_buffer
Tidy


Возвращает предупреждения и ошибки, возникшие при разборе указанного документа

tidy_error_count
tidy_get_output
Tidy
PHP Manual

tidy_get_error_buffer

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_error_buffer — Возвращает предупреждения и ошибки, возникшие при разборе указанного документа

Описание

Процедурный стиль:

string tidy_get_error_buffer ( tidy $object )

Объектно-ориентированный стиль:

string $tidy->errorBuffer;

Возвращает предупреждения и ошибки, возникшие при разборе указанного документа.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает буфер ошибки в виде строки.

Примеры

Пример #1 Пример использования функции tidy_get_error_buffer()

<?php
$html = '<p>параграф</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* или в ООП стиле: */
echo $tidy->errorBuffer;
?>

Результат выполнения данного примера:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Смотрите также

  • tidy_access_count() - Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе
  • tidy_error_count() - Возвращает число ошибок Tidy, встретившихся при рассмотрении документа
  • tidy_warning_count() - Возвращает число Tidy-предупреждений, встреченных в указанном документе
tidy_error_count
tidy_get_output
Tidy


Возвращает строку, представляющую разобранную tidy-разметку

tidy_get_error_buffer
tidy_load_config
Tidy
PHP Manual

tidy_get_output

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_output — Возвращает строку, представляющую разобранную tidy-разметку

Описание

string tidy_get_output ( tidy $object )

Получить строку с восстановленным html.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает разобранную tidy-разметку.

Примеры

Пример #1 Пример использования функции tidy_get_output()

<?php

$html = '<p>параграф</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

Результат выполнения данного примера:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>параграф</p>
</body>
</html>

tidy_get_error_buffer
tidy_load_config
Tidy


Загрузить конфигурационный файл ASCII Tidy с указанной кодировкой

tidy_get_output
tidy_reset_config
Tidy
PHP Manual

tidy_load_config

(PECL tidy >= 0.5.2)

tidy_load_config — Загрузить конфигурационный файл ASCII Tidy с указанной кодировкой

Описание

void tidy_load_config ( string $filename , string $encoding )

Загружает конфигурационный файл Tidy с указанной кодировкой encoding.

Список параметров

filename

encoding

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_get_output
tidy_reset_config
Tidy


Сбрасывает конфигурацию Tidy в стандартные значения

tidy_load_config
tidy_save_config
Tidy
PHP Manual

tidy_reset_config

(PECL tidy >= 0.7.0)

tidy_reset_config — Сбрасывает конфигурацию Tidy в стандартные значения

Описание

bool tidy_reset_config ( void )

Эта функция сбрасывает конфигурацию Tidy в стандартные значения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_load_config
tidy_save_config
Tidy


Сохранить текущие настройки в файл

tidy_reset_config
tidy_set_encoding
Tidy
PHP Manual

tidy_save_config

(PECL tidy >= 0.5.2)

tidy_save_config — Сохранить текущие настройки в файл

Описание

bool tidy_save_config ( string $filename )

Сохраняет текущие настройки в указанный файл. Записываются только те значения, которые отличаются от значений по умолчанию.

Список параметров

filename

Путь к файлу конфигурации.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

Смотрите также

  • tidy_get_config() - Получает текущую конфигурацию Tidy
  • tidy_getopt() - Возвращает значение указанного параметра конфигурации для документа tidy
  • tidy_reset_config() - Сбрасывает конфигурацию Tidy в стандартные значения
  • tidy_setopt() - Обновляет конфигурационные настройки для указанного документа tidy

tidy_reset_config
tidy_set_encoding
Tidy


Устанавливает входную/выходную кодировку символов для указанной разметки

tidy_save_config
tidy_setopt
Tidy
PHP Manual

tidy_set_encoding

(PECL tidy >= 0.5.2)

tidy_set_encoding — Устанавливает входную/выходную кодировку символов для указанной разметки

Описание

bool tidy_set_encoding ( string $encoding )

Устанавливает кодировку для входных/выходных документов.

Список параметров

encoding

Параметр encoding устанавливает кодировку для входных/выходных документов. Возможные значения: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, и shiftjis.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_save_config
tidy_setopt
Tidy


Обновляет конфигурационные настройки для указанного документа tidy

tidy_set_encoding
tidy_warning_count
Tidy
PHP Manual

tidy_setopt

(PECL tidy >= 0.5.2)

tidy_setopt — Обновляет конфигурационные настройки для указанного документа tidy

Описание

bool tidy_setopt ( string $option , mixed $value )

Функция tidy_setopt() обновляет указанную опцию option новым значением value.

Список параметров

option

Название опции tidy. Список доступных конфигурационных опций может быть найден здесь: » http://tidy.sourceforge.net/docs/quickref.html.

value

Название опции tidy.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции tidy_setopt()

<?php
$html = '<p>тест</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

Смотрите также

  • tidy_getopt() - Возвращает значение указанного параметра конфигурации для документа tidy
  • tidy_get_config() - Получает текущую конфигурацию Tidy
  • tidy_reset_config() - Сбрасывает конфигурацию Tidy в стандартные значения
  • tidy_save_config() - Сохранить текущие настройки в файл
tidy_set_encoding
tidy_warning_count
Tidy


Возвращает число Tidy-предупреждений, встреченных в указанном документе

tidy_setopt
Tokenizer (Лексер)
Tidy
PHP Manual

tidy_warning_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_warning_count — Возвращает число Tidy-предупреждений, встреченных в указанном документе

Описание

int tidy_warning_count ( tidy $object )

Возвращает число Tidy-предупреждений, встреченных в указанном документе.

Список параметров

object

Объект Tidy.

Возвращаемые значения

Возвращает число предупреждений.

Примеры

Пример #1 Пример использования функции tidy_warning_count()

<?php
$html = '<p>тест</i>
<bogustag>фикция</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Смотрите также

  • tidy_error_count() - Возвращает число ошибок Tidy, встретившихся при рассмотрении документа
  • tidy_access_count() - Возвращает число доступных предупреждений Tidy, встретившихся в рассмотренном документе

tidy_setopt
Tokenizer (Лексер)
Tidy


Tokenizer (Лексер)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Tokenizer Функции
    • token_get_all — Разбивает переданный исходный код на PHP-лексемы
    • token_name — Возвращает символьное имя для переданной PHP-лексемы
tidy_warning_count
Введение
Другие базовые расширения


Введение

Лексические функции предоставляют интерфейс ко встроенному в Zend Engine PHP-лексеру (tokenizer). Используя эти функции, вы можете писать собственные утилиты анализа или модификации исходного кода на PHP без необходимости иметь дело с языковой спецификацией на лексическом уровне.

Смотрите также приложение со списом лексем.

Tokenizer (Лексер)
Установка и настройка
Tokenizer (Лексер)


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Tokenizer (Лексер)


Установка

Начиная с PHP 4.3.0 эти функции включены по умолчанию. Для более ранних версий необходимо сконфигурировать и скомпилировать PHP c опцией --enable-tokenizer . Можно отключить поддержку лексера (tokenizer) с --disable-tokenizer .

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: Встроенная поддержка для лексера доступна начиная с PHP 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Когда расширение скомпилировано в PHP или динамически загружено во время выполнения, лексемы, приведенные в Список меток (tokens) парсера определены как константы.

Типы ресурсов
Примеры
Tokenizer (Лексер)


Примеры

Простой пример PHP-скрипта, использующего tokenizer(лексер), который читает PHP файл, удаляет все комментарии из исходного кода и выводит только чистый код.

Пример #1 Удаление комментариев лексром

<?php
/*
* T_ML_COMMENT не существует в PHP 5.
* Следующие три строчки определяют его для
* сохранения обратной совместимости.
*
* Следующие две строчки определяют T_DOC_COMMENT только для PHP 5,
* который мы маскируем как T_ML_COMMENT для PHP 4.
*/
if (!defined('T_ML_COMMENT')) {
   define('T_ML_COMMENT', T_COMMENT);
} else {
   define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
   if (is_string($token)) {
       // простая 1-буквенная лексема
       echo $token;
   } else {
       // токен-массив
       list($id, $text) = $token;

       switch ($id) {
           case T_COMMENT:
           case T_ML_COMMENT: // мы определили это
           case T_DOC_COMMENT: // и это
               // нет действий для комментариев
               break;

           default:
               // все остальное -> выводим "как есть"
               echo $text;
               break;
       }
   }
}
?>
Предопределенные константы
Tokenizer Функции
Tokenizer (Лексер)


Tokenizer Функции

Содержание

  • token_get_all — Разбивает переданный исходный код на PHP-лексемы
  • token_name — Возвращает символьное имя для переданной PHP-лексемы
Примеры
token_get_all
Tokenizer (Лексер)


Разбивает переданный исходный код на PHP-лексемы

Tokenizer Функции
token_name
Tokenizer Функции
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all — Разбивает переданный исходный код на PHP-лексемы

Описание

array token_get_all ( string $source )

Функция token_get_all() разбирает переданную строку source в языковые лексемы PHP используя лексический сканер Zend Engine.

Список лексем смотрите в Список меток (tokens) парсера, или используйте token_name() для перевода значения лексемы в строковое представление.

Список параметров

source

Исходный код PHP для разбора.

Возвращаемые значения

Массив идентификаторов лексем. Каждый индивидуальный идентификатор лексемы это или одиночный символ (например, ;, ., >, !, другие...), или трехэлементный массив, содержащий индекс лексемы в нулевом элементе, строку с оригинальным содежимым лексемы в первом элементе и номером строки во втором элементе.

Примеры

Пример #1 Пример использования token_get_all()

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Обратите внимание, в приведенном примере строка разбирается как T_INLINE_HTML
   вместо ожидаемого T_COMMENT (T_ML_COMMENT в PHP <5).
   Это происходит потому, что не используется открывающего/закрывающего тегов в "коде".
   Это будет эквиалентно помещению комментариев вне тегов <?php ?> в нормальном файле. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Список изменений

Версия | Описание
5.2.2 | Номера строк возвращаются в элементе 2.

Tokenizer Функции
token_name
Tokenizer Функции


Возвращает символьное имя для переданной PHP-лексемы

token_get_all
URL
Tokenizer Функции
PHP Manual

token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name — Возвращает символьное имя для переданной PHP-лексемы

Описание

string token_name ( int $token )

Функция token_name() возвращает символьное имя для значения PHP-лексемы token.

Список параметров

token

Значение лексемы.

Возвращаемые значения

Символьное значение для переданной лексемы token.

Примеры

Пример #1 Пример использования token_name()

<?php
// 260 - значение для лексемы T_EVAL
echo token_name(260);        // -> "T_EVAL"

// Константа лексемы сопоставима с его собственным именем
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Смотрите также

  • Список лексем

token_get_all
URL
Tokenizer Функции


URL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • URL
    • base64_decode — Декодирует данные, закодированные алгоритмом MIME base64
    • base64_encode — Kодирует данные алгоритмом MIME base64
    • get_headers — Возвращает все заголовки из ответа сервера на HTTP-запрос
    • get_meta_tags — Извлекает из файла содержимое всех мета-тегов и возвращает как ассоциативный массив
    • http_build_query — Генерирует URL-кодированную строку запроса
    • parse_url — Разбирает URL и возвращает его компоненты
    • rawurldecode — Декодирование URL-кодированной строки
    • rawurlencode — URL-кодирование строки согласно RFC 3986
    • urldecode — Декодирование URL-кодированной строки
    • urlencode — URL-кодирование строки
token_name
Введение
Другие базовые расширения


Введение

Работа со строками URL: кодирование, декодирование, разбор.

URL
Установка и настройка
URL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
URL


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Следующие константы доступны для использования с parse_url() начиная с версии PHP 5.1.2.

PHP_URL_SCHEME (integer)
PHP_URL_HOST (integer)
PHP_URL_PORT (integer)
PHP_URL_USER (integer)
PHP_URL_PASS (integer)
PHP_URL_PATH (integer)
PHP_URL_QUERY (integer)
PHP_URL_FRAGMENT (integer)
PHP_QUERY_RFC1738 (integer)
PHP_QUERY_RFC3986 (integer)
Типы ресурсов
URL
URL


URL
PHP Manual

URL

Содержание

  • base64_decode — Декодирует данные, закодированные алгоритмом MIME base64
  • base64_encode — Kодирует данные алгоритмом MIME base64
  • get_headers — Возвращает все заголовки из ответа сервера на HTTP-запрос
  • get_meta_tags — Извлекает из файла содержимое всех мета-тегов и возвращает как ассоциативный массив
  • http_build_query — Генерирует URL-кодированную строку запроса
  • parse_url — Разбирает URL и возвращает его компоненты
  • rawurldecode — Декодирование URL-кодированной строки
  • rawurlencode — URL-кодирование строки согласно RFC 3986
  • urldecode — Декодирование URL-кодированной строки
  • urlencode — URL-кодирование строки
Предопределенные константы
base64_decode
URL
PHP Manual


Декодирует данные, закодированные алгоритмом MIME base64

URL
base64_encode
URL
PHP Manual

base64_decode

(PHP 4, PHP 5)

base64_decode — Декодирует данные, закодированные алгоритмом MIME base64

Описание

string base64_decode ( string $data [, bool $strict = false ] )

Декодирует строку data, закодированную при помощи base64.

Список параметров

data

Закодированные данные.

strict

Возвращает FALSE, если данные содержат символы вне алфавита base64.

Возвращаемые значения

Возвращает декодированные данные или FALSE в случае возникновения ошибки. Возвращаемые данные могут быть бинарными.

Список изменений

Версия | Описание
5.2.0 | Добавлен параметр strict

Примеры

Пример #1 Пример использования base64_decode()

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>

Результат выполнения данного примера:

This is an encoded string

Смотрите также

  • base64_encode() - Kодирует данные алгоритмом MIME base64
  • » RFC 2045 раздел 6.8

URL
base64_encode
URL


Kодирует данные алгоритмом MIME base64

base64_decode
get_headers
URL
PHP Manual

base64_encode

(PHP 4, PHP 5)

base64_encode — Kодирует данные алгоритмом MIME base64

Описание

string base64_encode ( string $data )

Кодирует data алгоритмом base64.

Это кодирование разработано для корректной передачи бинарных данных по протоколам, не поддерживающим 8-битную передачу, например для отправки бинарных файлов в теле письма.

Данные кодированные алгоритмом Base64 увеличиваются в объеме на 33% по сравнению с оригинальными данными.

Список параметров

data

Данные для кодирования.

Возвращаемые значения

Кодированные данные, как строку или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования base64_encode()

<?php
$str = 'Строка в кодировке UTF-8';
echo base64_encode($str);
?>

Результат выполнения данного примера:

0KHRgtGA0L7QutCwINCyINC60L7QtNC40YDQvtCy0LrQtSBVVEYtOA==

Смотрите также

  • base64_decode() - Декодирует данные, закодированные алгоритмом MIME base64
  • chunk_split() - Разбивает строку на фрагменты
  • convert_uuencode() - Кодирует строку в формат uuencode
  • » RFC 2045 раздел 6.8

base64_decode
get_headers
URL


Возвращает все заголовки из ответа сервера на HTTP-запрос

base64_encode
get_meta_tags
URL
PHP Manual

get_headers

(PHP 5)

get_headers — Возвращает все заголовки из ответа сервера на HTTP-запрос

Описание

array get_headers ( string $url [, int $format = 0 ] )

get_headers() возвращает массив с заголовками из ответа сервера на HTTP-запрос.

Список параметров

url

Целевой URL.

format

Если необязательный параметр format установлен в ненулевое значение, get_headers() разберет ответ сервера и установит ключи для возвращаемого массива.

Возвращаемые значения

Возвращает список или ассоциативный массив с заголовками ответа при нормальном завершении и FALSE, если возникла ошибка.

Список изменений

Версия | Описание
5.1.3 | Эта функция теперь использует stream context по-умолчанию, который может быть установлен или изменен при помощи функции stream_context_set_default().

Примеры

Пример #1 Пример использования get_headers()

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Пример #2 Пример использования запроса HEAD в функцииget_headers()

<?php
// По умолчанию функция get_headers использует GET-запрос для получения заголовков. Если
// вы хотите вместо него отправить HEAD-запрос, то это можно сделать следующим образом, используя stream context:
stream_context_set_default(
    array(
        'http' => array(
            'method' => 'HEAD'
        )
    )
);
$headers = get_headers('http://example.com');
?>

base64_encode
get_meta_tags
URL


Извлекает из файла содержимое всех мета-тегов и возвращает как ассоциативный массив

get_headers
http_build_query
URL
PHP Manual

get_meta_tags

(PHP 4, PHP 5)

get_meta_tags — Извлекает из файла содержимое всех мета-тегов и возвращает как ассоциативный массив

Описание

array get_meta_tags ( string $filename [, bool $use_include_path = false ] )

Открывает filename и разбирает его строка за строкой в поисках тегов <meta>. Разбор файла останавливается на теге </head>.

Список параметров

filename

Путь к HTML файлу, строка. Может быть как локальным файлом, так и URL.

Пример #1 Что обрабатывает функция get_meta_tags()

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- разбор файла будет остановлен здесь -->
(обратите внимание на символы конца строки - PHP использует для разбора строк функции, встроенные в операционную систему, поэтому файлы, созданные в MacOS не будут правильно обрабатываться на Unix).

use_include_path

Если use_include_path равен TRUE, PHP будет искать файл используя стандартные пути поиска из директивы php.ini include_path. Это актуально только для локальных файлов, но не для URL.

Возвращаемые значения

Возвращает ассоциативный массив со значениями разобранных мета-тегов.

Значение атрибута name становится ключом массива, а значение атрибута content - значением этого элемента. Вы можете использовать стандартные функции работы с массивами для обхода или доступа к конкретным значениям. Специальные символы в именах (ключах массива) заменяются на '_', и ключи приводятся к нижнему регистру. Если два мета-тега имеют одинаковые имена, будет возвращен только последний.

Список изменений

Версия | Описание
4.0.5 | Добавлена поддержка HTML-атрибутов, не заключенных в кавычки.

Примеры

Пример #2 Что возвращает функция get_meta_tags()

<?php
// Предположим, что указанные выше мета-теги расположены на www.example.com
$tags = get_meta_tags('http://www.example.com/');

// Обратите внимание, что ключи приведены к нижнему регистру, а
//  точки ('.') в ключах  заменены на '_'
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
?>

Примечания

Замечание:

Обрабатываются только мета-теги с атрибутом name.

Смотрите также

  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • urlencode() - URL-кодирование строки

get_headers
http_build_query
URL


Генерирует URL-кодированную строку запроса

get_meta_tags
parse_url
URL
PHP Manual

http_build_query

(PHP 5)

http_build_query — Генерирует URL-кодированную строку запроса

Описание

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )

Генерирует URL-кодированную строку запроса из предоставленного ассоциативного (или индексного) массива.

Список параметров

query_data

Может быть массивом или объектом, содержащим свойства.

Если query_data массив, то он может быть простой одномерной структурой, или массивом массивов (который, в свою очередь, может содержать другие массивы).

Если query_data объект, тогда только общедоступные (public) свойства будут включены в результат.

numeric_prefix

Если числовые индексы используются в базовом массиве и этот параметр указан, то будет добавлен числовой индекс только для элементов в базом массиве.

Это позволяет обеспечить допустимые имена переменных, в которые позже данные декодируются PHP или другим CGI приложением.

arg_separator

arg_separator.output Используется в качестве разделителя аргументов, если этот параметр указан.

enc_type

По умолчанию, PHP_QUERY_RFC1738.

Если enc_type равен PHP_QUERY_RFC1738, тогда кодирование осуществляется по » RFC 1738 и типу контента application/x-www-form-urlencoded, который подразумевает, что пробелы кодируются как символы "плюс"(+).

Если enc_type равен PHP_QUERY_RFC3986, тогда кодирование осуществляется в соответствии с » RFC 3986, и пробелы будут кодированы как %20.

Возвращаемые значения

Возвращает URL-кодированную строку.

Список изменений

Версия | Описание
5.4.0 | Добавлен параметр enc_type.
5.1.3 | Квадратные скобки экранируются.
5.1.2 | Добавлен параметр arg_separator.

Примеры

Пример #1 Простой пример использования http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

Результат выполнения данного примера:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

Пример #2 Пример использования http_build_query() с числовыми индексами элементов.

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'myvar_');
?>

Результат выполнения данного примера:

0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor

Пример #3 Пример использования http_build_query() с многомерными массивами

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

Результат выполнения данных примеров: (символы перенесены для удобства чтения)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Замечание:

Только числовой индексированный элемент "CEO" в базовом массиве получил префикс. Другие числовые индексы, найденные в pastimes, не требуют строкового префикса чтобы быть допустимым именем переменной.

Пример #4 Пример использования http_build_query() с объектом

<?php
class parentClass {
    public    $pub      = 'publicParent';
    protected $prot     = 'protectedParent';
    private   $priv     = 'privateParent';
    public    $pub_bar  = Null;
    protected $prot_bar = Null;
    private   $priv_bar = Null;

    public function __construct(){
        $this->pub_bar  = new childClass();
        $this->prot_bar = new childClass();
        $this->priv_bar = new childClass();
    }
}

class childClass {
    public    $pub  = 'publicChild';
    protected $prot = 'protectedChild';
    private   $priv = 'privateChild';
}

$parent = new parentClass();

echo http_build_query($parent);
?>

Результат выполнения данного примера:

pub=publicParent&pub_bar%5Bpub%5D=publicChild

Смотрите также

  • parse_str() - Разбирает строку в переменные
  • parse_url() - Разбирает URL и возвращает его компоненты
  • urlencode() - URL-кодирование строки
  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива

get_meta_tags
parse_url
URL


Разбирает URL и возвращает его компоненты

http_build_query
rawurldecode
URL
PHP Manual

parse_url

(PHP 4, PHP 5)

parse_url — Разбирает URL и возвращает его компоненты

Описание

mixed parse_url ( string $url [, int $component = -1 ] )

Эта функция разбирает URL и возвращает ассоциативный массив, содержащий все компоненты URL, которые в нём присутствуют.

Эта функция не предназначена для проверки на корректность данного URL, она только разбивает его на нижеперечисленные части. Частичные URL также принимаются, parse_url() пытается сделать всё возможное, чтобы разобрать их корректно.

Список параметров

url

URL для разбора. Недопустимые символы будут заменены на знаки подчёркивания _.

component

Укажите одну из констант PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY или PHP_URL_FRAGMENT, чтобы получить только конкретный компонент URL в виде строки (string). Исключением является указание PHP_URL_PORT, в этом случае возвращаемое значение будет типа integer.

Возвращаемые значения

При разборе значительно некорректных URL-адресов parse_url() может вернуть FALSE.

Если параметр component будет опущен, функция возвратит ассоциативный массив (array). В массиве будет находиться по крайней мере один элемент. Возможные ключи в этом массиве:

  • scheme - например, http
  • host
  • port
  • user
  • pass
  • path
  • query - после знака вопроса ?
  • fragment - после знака диеза #

Если параметр component определён, функция parse_url() вернёт строку (string) или число (integer), в случае PHP_URL_PORT) вместо массива (array). Если запрошенный компонент не существует в данном URL, будет возвращён NULL.

Список изменений

Версия | Описание
5.3.3 | Удалено E_WARNING, которое сообщало о невозможности разбора URL.
5.1.2 | Добавлен параметр component.

Примеры

Пример #1 Пример использования parse_url()

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

Результат выполнения данного примера:

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

Примечания

Замечание:

Эта функция не работает с относительными URL.

Замечание:

Эта функция предназначена специально для разбора URL-адресов, а не URI. Однако, чтобы соответствовать требованиям обратной совместимости PHP, она делает исключение для схемы file://, в которой допускаются тройные слэши (file:///...). Для любой другой схемы это недопустимо.

Смотрите также

  • pathinfo() - Возвращает информацию о пути к файлу
  • parse_str() - Разбирает строку в переменные
  • http_build_query() - Генерирует URL-кодированную строку запроса
  • http_build_url() - Build a URL
  • dirname() - Возвращает имя родительского каталога из указанного пути
  • basename() - Возвращает последний компонент имени из указанного пути

http_build_query
rawurldecode
URL


Декодирование URL-кодированной строки

parse_url
rawurlencode
URL
PHP Manual

rawurldecode

(PHP 4, PHP 5)

rawurldecode — Декодирование URL-кодированной строки

Описание

string rawurldecode ( string $str )

Возвращает строку, в которой последовательность знаков процента (%) и следующие за ним два шестнадцатеричных числа заменены буквенными символами.

Список параметров

str

URL, который должен быть декодирован.

Возвращаемые значения

Возвращает декодированный URL в виде строки.

Примеры

Пример #1 Пример использования rawurldecode()

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Примечания

Замечание:

rawurldecode() не декодирует символ сложения ('+') в пробелы. Это делает urldecode().

Смотрите также

  • rawurlencode() - URL-кодирование строки согласно RFC 3986
  • urldecode() - Декодирование URL-кодированной строки
  • urlencode() - URL-кодирование строки

parse_url
rawurlencode
URL


URL-кодирование строки согласно RFC 3986

rawurldecode
urldecode
URL
PHP Manual

rawurlencode

(PHP 4, PHP 5)

rawurlencode — URL-кодирование строки согласно RFC 3986

Описание

string rawurlencode ( string $str )

Кодирование строки осуществляется согласно » RFC 3986.

Список параметров

str

URL, который должен быть закодирован.

Возвращаемые значения

Возвращает строку, в которой все не цифробуквенные символы, кроме -_. должны быть заменены знаком процента (%), за которым следует два шестнадцатеричных числа. Это кодирование, описанное в » RFC 3986, служит для защиты буквенных символов от интерпретации в качестве специальных разграничителей URL и защищает URL от искажения при передаче символов с последующей конвертацией (как в некоторых почтовых системах).

Замечание:

До версии PHP 5.3.0, rawurlencode кодировал символ "тильда" (~) в соответствии с » RFC 1738.

Список изменений

Версия | Описание
5.3.4 | Символы "тильда" больше не кодируются, когда rawurlencode() используется с EBCDIC строками.
5.3.0 | Теперь соответствует » RFC 3986.

Примеры

Пример #1 Пример использования rawurlencode для включение пароля в FTP URL

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

Результат выполнения данного примера:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Или, если вы передаете информацию как часть URL:

Пример #2 Пример использования rawurlencode()

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

Результат выполнения данного примера:

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Смотрите также

  • rawurldecode() - Декодирование URL-кодированной строки
  • urldecode() - Декодирование URL-кодированной строки
  • urlencode() - URL-кодирование строки
  • » RFC 3986

rawurldecode
urldecode
URL


Декодирование URL-кодированной строки

rawurlencode
urlencode
URL
PHP Manual

urldecode

(PHP 4, PHP 5)

urldecode — Декодирование URL-кодированной строки

Описание

string urldecode ( string $str )

Декодирует любые %## кодированные последовательности в данной строке. Символ "плюс" ('+') декодируется в символ пробела.

Список параметров

str

Строка, которая должны быть декодирована.

Возвращаемые значения

Возвращает декодированную строку.

Примеры

Пример #1 Пример использования urldecode()

<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
    $b = split('=', $a[$i]);
    echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
         ' is ', htmlspecialchars(urldecode($b[1])), "<br />\n";
    $i++;
}
?>

Примечания

Внимание

Переменные в суперглобальных массивах $_GET и $_REQUEST уже декодированны. Применение urldecode() к элементам $_GET или $_REQUEST может привести к непредсказуемым и опасным результатам.

Смотрите также

  • urlencode() - URL-кодирование строки
  • rawurlencode() - URL-кодирование строки согласно RFC 3986
  • rawurldecode() - Декодирование URL-кодированной строки

rawurlencode
urlencode
URL


URL-кодирование строки

urldecode
V8js
URL
PHP Manual

urlencode

(PHP 4, PHP 5)

urlencode — URL-кодирование строки

Описание

string urlencode ( string $str )

Эта функция удобна, когда закодированная строка будет использоваться в запросе, как часть URL, также это удобный способ для передачи переменных другим страницам.

Список параметров

str

Строка, которая должны быть закодирована.

Возвращаемые значения

Возвращает строку, в которой все не цифробуквенные символы, кроме -_. должны быть заменены знаком процента (%), за которым следует два шестнадцатеричных числа, а пробелы кодируются как знак сложения (+). Строка кодируется тем же способом, что и POST данные WWW-формы, то есть по типу контента application/x-www-form-urlencoded. Это отличается от » RFC 3986 кодирования (см. rawurlencode() ) тем, что, по историческим соображениям, пробелы кодируются как знак "плюс" (+).

Примеры

Пример #1 Пример использования urlencode()

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Пример #2 Пример использования urlencode() и htmlentities()

<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Примечания

Замечание:

Будьте внимательны с переменными, которые могут совпадать с элементами HTML. Такие сущности как &amp, &copy и &pound разбираются браузером и используется как реальная сущность, а не желаемое имя переменной. Это очевидный конфликт, на который W3C указывает в течение многих лет. См. подробности: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2

PHP поддерживает изменение разделителя аргументов на рекомендуемый W3C символ ; (точка с запятой) путём изменения директивы arg_separator в .ini файле. К сожалению, большинство пользовательских приложений не отправляют данные формы в формате с разделителем ; (точка с запятой). Более переносимый способ решить эту проблему - это использовать &amp; вместо & в качестве разделителя. Вам не нужно будет для этого изменять РНР директиву arg_separator. Оставьте разделитель как &, но кодируйте ваши URL с помощью htmlentities() или htmlspecialchars().

Смотрите также

  • urldecode() - Декодирование URL-кодированной строки
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • rawurlencode() - URL-кодирование строки согласно RFC 3986
  • rawurldecode() - Декодирование URL-кодированной строки

urldecode
V8js
URL


V8 Javascript Engine Integration

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Примеры
  • V8Js — The V8Js class
    • V8Js::__construct — Construct a new V8Js object
    • V8Js::executeString — Execute a string as Javascript code
    • V8Js::getExtensions — Return an array of registered extensions
    • V8Js::getPendingException — Return pending uncaught Javascript exception
    • V8Js::registerExtension — Register Javascript extensions for V8Js
  • V8JsException — The V8JsException class
    • V8JsException::getJsFileName — The getJsFileName purpose
    • V8JsException::getJsLineNumber — The getJsLineNumber purpose
    • V8JsException::getJsSourceLine — The getJsSourceLine purpose
    • V8JsException::getJsTrace — The getJsTrace purpose
urlencode
Введение
Другие базовые расширения


Введение

This extension embeds the » V8 Javascript Engine into PHP.

V8js
Установка и настройка
V8js


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
V8js


Требования

PHP 5.3.3+ and V8 library and headers installed in proper paths.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/v8js

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

V8js Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
v8js.max_disposed_contexts | 25 | PHP_INI_ALL |
v8js.flags |  | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

v8js.max_disposed_contexts integer

Sets limit for disposed contexts before forcing V8 to do garbage collection.

v8js.flags string

Sets V8 command line flags. The list of available flags can be obtained in CLI mode by setting this parameter to --help. Example:

$ php -r 'ini_set("v8js.flags", "--help"); new V8Js;' | less

Замечание:

For these flags to be effective in runtime the ini_set() call has to be done before any V8Js objects are instantiated!

Установка
Типы ресурсов
Установка и настройка


Примеры

Basic usage

Пример #1 Basic Javascript execution

<?php

$v8 = new V8Js();

/* basic.js */
$JS = <<< EOT
len = print('Hello' + ' ' + 'World!' + "\\n");
len;
EOT;

try {
  var_dump($v8->executeString($JS, 'basic.js'));
} catch (V8JsException $e) {
  var_dump($e);
}

?>

Результат выполнения данного примера:

Hello World!
int(13)
Типы ресурсов
V8Js
V8js


The V8Js class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This is the core class for V8Js extension. Each instance created from this class has own context in which all Javascript is compiled and executed.

See V8Js::__construct() for more information.

Обзор классов

V8Js {
/* Constants */
const string V8_VERSION ;
const integer FLAG_NONE = 1 ;
const integer FLAG_FORCE_ARRAY = 2 ;
/* Methods */
__construct ([ string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = TRUE ]]]] )
public mixed executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )
public static array getExtensions ( void )
public V8JsException getPendingException ( void )
public static bool registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )
}

Предопределенные константы

V8Js Node Types

V8Js::V8_VERSION

The V8 Javascript Engine version.

V8Js::FLAG_NONE

No flags.

V8Js::FLAG_FORCE_ARRAY

Forces all JS objects to be associative arrays in PHP.

Содержание

  • V8Js::__construct — Construct a new V8Js object
  • V8Js::executeString — Execute a string as Javascript code
  • V8Js::getExtensions — Return an array of registered extensions
  • V8Js::getPendingException — Return pending uncaught Javascript exception
  • V8Js::registerExtension — Register Javascript extensions for V8Js
Примеры
V8Js::__construct
V8js


Construct a new V8Js object

V8Js
V8Js::executeString
V8Js
PHP Manual

V8Js::__construct

(PECL v8js >= 0.1.0)

V8Js::__construct — Construct a new V8Js object

Описание

  V8Js::__construct
  ([ string $object_name = "PHP"
 [, array $variables = array()
 [, array $extensions = array()
 [, bool $report_uncaught_exceptions = TRUE
]]]] )

Constructs a new V8Js object.

Список параметров

object_name

The name of the object passed to Javascript. Defaults to PHP.

variables

Map of PHP variables that will be available in Javascript. Must be an associative array in format array("name-for-js" => "name-of-php-variable"). Defaults to empty array.

extensions

List of extensions registered using V8Js::registerExtension() which should be available in the Javascript context of the created V8Js object.

Замечание:

Extensions registered to be enabled automatically do not need to be listed in this array. Also if an extension has dependencies, those dependencies can be omitted as well. Defaults to empty array.

report_uncaught_exceptions

Controls whether uncaught Javascript exceptions are reported immediately or not. Defaults to TRUE. If set to FALSE the uncaught exception can be accessed using V8Js::getPendingException().

Возвращаемые значения

Returns a new V8Js context object.

V8Js
V8Js::executeString
V8Js


Execute a string as Javascript code

V8Js::__construct
V8Js::getExtensions
V8Js
PHP Manual

V8Js::executeString

(PECL v8js >= 0.1.0)

V8Js::executeString — Execute a string as Javascript code

Описание

public mixed V8Js::executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )

Compiles and executes the string passed with script as Javascript code.

Список параметров

script

The code string to be executed.

identifier

Identifier string for the executed code. Used for debugging.

flags

Execution flags. This value must be one of the V8Js::FLAG_* constants, defaulting to V8Js::FLAG_NONE.

  • V8Js::FLAG_NONE: no flags

  • V8Js::FLAG_FORCE_ARRAY: forces all Javascript objects passed to PHP to be associative arrays

Возвращаемые значения

Returns the last variable instantiated in the Javascript code converted to matching PHP variable type.

V8Js::__construct
V8Js::getExtensions
V8Js


Return an array of registered extensions

V8Js::executeString
V8Js::getPendingException
V8Js
PHP Manual

V8Js::getExtensions

(PECL v8js >= 0.1.0)

V8Js::getExtensions — Return an array of registered extensions

Описание

public static array V8Js::getExtensions ( void )

This function returns array of Javascript extensions registered using V8Js::registerExtension().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of registered extensions or an empty array if there are none.

V8Js::executeString
V8Js::getPendingException
V8Js


Return pending uncaught Javascript exception

V8Js::getExtensions
V8Js::registerExtension
V8Js
PHP Manual

V8Js::getPendingException

(PECL v8js >= 0.1.0)

V8Js::getPendingException — Return pending uncaught Javascript exception

Описание

public V8JsException V8Js::getPendingException ( void )

Returns any pending uncaught Javascript exception as V8JsException left from earlier V8Js::executeString() call(s).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Either V8JsException or NULL.

V8Js::getExtensions
V8Js::registerExtension
V8Js


Register Javascript extensions for V8Js

V8Js::getPendingException
V8JsException
V8Js
PHP Manual

V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtension — Register Javascript extensions for V8Js

Описание

public static bool V8Js::registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )

Registers passed Javascript script as extension to be used in V8Js contexts.

Список параметров

extension_name

Name of the extension to be registered.

script

The Javascript code to be registered.

dependencies

Array of extension names the extension to be registered depends on. Any such extension is enabled automatically when this extension is loaded.

Замечание:

All extensions, including the dependencies, must be registered before any V8Js are created which use them.

auto_enable

If set to TRUE, the extension will be enabled automatically in all V8Js contexts. Defaults to FALSE.

Возвращаемые значения

Returns TRUE if extension was registered succesfully, FALSE otherwise.

V8Js::getPendingException
V8JsException
V8Js


The V8JsException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

V8JsException extends Exception {
/* Properties */
protected $V8JsException->JsFileName ;
protected $JsLineNumber ;
protected $JsSourceLine ;
protected $JsTrace ;
/* Methods */
final public string V8JsException::getJsFileName ( void )
final public int V8JsException::getJsLineNumber ( void )
final public int V8JsException::getJsSourceLine ( void )
final public string V8JsException::getJsTrace ( void )
/* Inherited methods */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

code

file

line

JsFileName

JsLineNumber

JsSourceLine

JsTrace

Содержание

  • V8JsException::getJsFileName — The getJsFileName purpose
  • V8JsException::getJsLineNumber — The getJsLineNumber purpose
  • V8JsException::getJsSourceLine — The getJsSourceLine purpose
  • V8JsException::getJsTrace — The getJsTrace purpose
V8Js::registerExtension
V8JsException::getJsFileName
V8js


The getJsFileName purpose

V8JsException
V8JsException::getJsLineNumber
V8JsException
PHP Manual

V8JsException::getJsFileName

(PECL v8js >= 0.1.0)

V8JsException::getJsFileName — The getJsFileName purpose

Описание

final public string V8JsException::getJsFileName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

V8JsException
V8JsException::getJsLineNumber
V8JsException


The getJsLineNumber purpose

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException
PHP Manual

V8JsException::getJsLineNumber

(PECL v8js >= 0.1.0)

V8JsException::getJsLineNumber — The getJsLineNumber purpose

Описание

final public int V8JsException::getJsLineNumber ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException


The getJsSourceLine purpose

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException
PHP Manual

V8JsException::getJsSourceLine

(PECL v8js >= 0.1.0)

V8JsException::getJsSourceLine — The getJsSourceLine purpose

Описание

final public int V8JsException::getJsSourceLine ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException


The getJsTrace purpose

V8JsException::getJsSourceLine
Yaml
V8JsException
PHP Manual

V8JsException::getJsTrace

(PECL v8js >= 0.1.0)

V8JsException::getJsTrace — The getJsTrace purpose

Описание

final public string V8JsException::getJsTrace ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

V8JsException::getJsSourceLine
Yaml
V8JsException


Сериализация данных YAML

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Yaml Функции
    • yaml_emit_file — Отправляет YAML-представление значения в файл
    • yaml_emit — Returns the YAML representation of a value
    • yaml_parse_file — Parse a YAML stream from a file
    • yaml_parse_url — Parse a Yaml stream from a URL
    • yaml_parse — Parse a YAML stream
V8JsException::getJsTrace
Введение
Другие базовые расширения


Введение

Это расширение реализует стандрат сериализации данных » YAML Ain't Markup Language (YAML). Для обработки данных используется » библиотека LibYAML .

Yaml
Установка и настройка
Yaml


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Yaml


Требования

Для работы этого расширения необходима установленная » библиотека C LibYAML версии 0.1.0 или выше.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/yaml.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Yaml Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

yaml.decode_binary boolean

Off by default, but can be set to on to cause base64 binary encoded entities which have the explicit tag "tag:yaml.org,2002:binary" to be decoded.

yaml.decode_timestamp integer

Controls the decoding of both implicit and explict "tag:yaml.org,2002:timestamp" scalars in the YAML document stream. The default setting of 0 will not apply any decoding. A setting of 1 will use strtotime() to parse the timestamp value as a Unix timestamp. A setting of 2 will use date_create() to parse the timestamp value as DateTime object.

yaml.output_canonical boolean

Off by default, but can be set to on to cause canonical form output.

yaml.output_indent integer

Number of spaces to indent sections. Value should be between 1 and 10.

yaml.output_width integer

Set the preferred line width. -1 means unlimited.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Scalar entity styles usable by yaml_parse() callback methods.
YAML_ANY_SCALAR_STYLE (integer)
YAML_PLAIN_SCALAR_STYLE (integer)
YAML_SINGLE_QUOTED_SCALAR_STYLE (integer)
YAML_DOUBLE_QUOTED_SCALAR_STYLE (integer)
YAML_LITERAL_SCALAR_STYLE (integer)
YAML_FOLDED_SCALAR_STYLE (integer)
Common tags usable by yaml_parse() callback methods.
YAML_NULL_TAG (string)
"tag:yaml.org,2002:null"
YAML_BOOL_TAG (string)
"tag:yaml.org,2002:bool"
YAML_STR_TAG (string)
"tag:yaml.org,2002:str"
YAML_INT_TAG (string)
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG (string)
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG (string)
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG (string)
"tag:yaml.org,2002:seq"
YAML_MAP_TAG (string)
"tag:yaml.org,2002:map"
YAML_PHP_TAG (string)
"!php/object"
Encoding types for yaml_emit()
YAML_ANY_ENCODING (integer)
Let the emitter choose an encoding.
YAML_UTF8_ENCODING (integer)
Encode as UTF8.
YAML_UTF16LE_ENCODING (integer)
Encode as UTF16LE.
YAML_UTF16BE_ENCODING (integer)
Encode as UTF16BE.
Linebreak types for yaml_emit()
YAML_ANY_BREAK (integer)
Let emitter choose linebreak character.
YAML_CR_BREAK (integer)
Use \r as break character (Mac style).
YAML_LN_BREAK (integer)
Use \n as break character (Unix style).
YAML_CRLN_BREAK (integer)
Use \r\n as break character (DOS style).
Типы ресурсов
Примеры
Yaml


Примеры

Пример #1 Пример работы с Yaml

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> "2001-01-23",
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    );

// создание YAML-представления заказа
$yaml = yaml_emit($invoice);
var_dump($yaml);

// преобразование YAML обратно в PHP-переменную
$parsed = yaml_parse($yaml);

// проверка на соответствие оригинала и результата конвертации в YAML и обратно
var_dump($parsed == $invoice);
?>

Результатом выполнения данного примера будет что-то подобное:

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)
Предопределенные константы
Yaml Функции
Yaml


Yaml Функции

Содержание

  • yaml_emit_file — Отправляет YAML-представление значения в файл
  • yaml_emit — Returns the YAML representation of a value
  • yaml_parse_file — Parse a YAML stream from a file
  • yaml_parse_url — Parse a Yaml stream from a URL
  • yaml_parse — Parse a YAML stream
Примеры
yaml_emit_file
Yaml


Отправляет YAML-представление значения в файл

Yaml Функции
yaml_emit
Yaml Функции
PHP Manual

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Отправляет YAML-представление значения в файл

Описание

bool yaml_emit_file ( string $filename , mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK ]] )

Генерирует YAML-представление из данных data и отправляет в filename.

Список параметров

filename

Путь к файлу.

data

Параметр data будет кодирован. Допускается любой тип данных кроме resource.

encoding

Кодировка вывода выбирается из YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING. По умолчанию YAML_ANY_ENCODING.

linebreak

Символ конца строки вывода выбирается из YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK. По умолчанию YAML_ANY_BREAK.

Возвращаемые значения

Возвращает TRUE в случае успеха.

Смотрите также

  • yaml_emit() - Returns the YAML representation of a value
  • yaml_parse() - Parse a YAML stream

Yaml Функции
yaml_emit
Yaml Функции


Returns the YAML representation of a value

yaml_emit_file
yaml_parse_file
Yaml Функции
PHP Manual

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Returns the YAML representation of a value

Описание

string yaml_emit ( mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK ]] )

Generate a YAML representation of the provided data.

Список параметров

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING. Defaults to YAML_ANY_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK. Defaults to YAML_ANY_BREAK.

Возвращаемые значения

Returns a YAML encoded string on success.

Примеры

Пример #1 yaml_emit() example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

Результатом выполнения данного примера будет что-то подобное:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Смотрите также

  • yaml_emit_file() - Отправляет YAML-представление значения в файл
  • yaml_parse() - Parse a YAML stream

yaml_emit_file
yaml_parse_file
Yaml Функции


Parse a YAML stream from a file

yaml_emit
yaml_parse_url
Yaml Функции
PHP Manual

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Parse a YAML stream from a file

Описание

mixed yaml_parse_file ( string $filename [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convert all or part of a YAML document stream read from a file to a PHP variable.

Список параметров

filename

Path to the file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callback mappings.

Возвращаемые значения

Returns the value encoded in input in appropriate PHP type. NULL is returned if the input cannot be decoded. If pos is -1 an array will be returned with one entry for each document found in the stream.

Смотрите также

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value

yaml_emit
yaml_parse_url
Yaml Функции


Parse a Yaml stream from a URL

yaml_parse_file
yaml_parse
Yaml Функции
PHP Manual

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Parse a Yaml stream from a URL

Описание

mixed yaml_parse_url ( string $url [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convert all or part of a YAML document stream read from a URL to a PHP variable.

Список параметров

url

url should be of the form "scheme://...". PHP will search for a protocol handler (also known as a wrapper) for that scheme. If no wrappers for that protocol are registered, PHP will emit a notice to help you track potential problems in your script and then continue as though filename specifies a regular file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callback mappings.

Возвращаемые значения

Returns the value encoded in input in appropriate PHP type. NULL is returned if the input cannot be decoded. If pos is -1 an array will be returned with one entry for each document found in the stream.

Смотрите также

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_emit() - Returns the YAML representation of a value

yaml_parse_file
yaml_parse
Yaml Функции


Parse a YAML stream

yaml_parse_url
Yaf
Yaml Функции
PHP Manual

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Parse a YAML stream

Описание

mixed yaml_parse ( string $input [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convert all or part of a YAML document stream to a PHP variable.

Список параметров

input

The string to parse as a YAML document stream.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callback mappings.

Возвращаемые значения

Returns the value encoded in input in appropriate PHP type. NULL is returned if the input cannot be decoded. If pos is -1 an array will be returned with one entry for each document found in the stream.

Примеры

Пример #1 yaml_parse() example

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

Результатом выполнения данного примера будет что-то подобное:

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Смотрите также

  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value

yaml_parse_url
Yaf
Yaml Функции


Yaf

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Yaf_Application — The Yaf_Application class
    • Yaf_Application::app — Retrive an Application instance
    • Yaf_Application::bootstrap — Call bootstrap
    • Yaf_Application::clearLastError — Clear the last error info
    • Yaf_Application::__clone — Yaf_Application can not be cloned
    • Yaf_Application::__construct — Yaf_Application constructor
    • Yaf_Application::__destruct — The __destruct purpose
    • Yaf_Application::environ — Retrive environ
    • Yaf_Application::execute — Execute a callback
    • Yaf_Application::getAppDirectory — Get the application directory
    • Yaf_Application::getConfig — Retrive the config instance
    • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
    • Yaf_Application::getLastErrorNo — Get code of last occurred error
    • Yaf_Application::getModules — Get defined module names
    • Yaf_Application::run — Start Yaf_Application
    • Yaf_Application::setAppDirectory — Change the application directory
    • Yaf_Application::__sleep — Yaf_Application can not be serialized
    • Yaf_Application::__wakeup — Yaf_Application can not be unserialized
  • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Dispatcher::autoRender — Switch on/off autorendering
    • Yaf_Dispatcher::catchException — Switch on/off exception catching
    • Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned
    • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
    • Yaf_Dispatcher::disableView — Disable view rendering
    • Yaf_Dispatcher::dispatch — Dispatch a request
    • Yaf_Dispatcher::enableView — enable view rendering
    • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication — Retrive the application
    • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest — Retrive the request instance
    • Yaf_Dispatcher::getRouter — Retrive router instance
    • Yaf_Dispatcher::initView — Initialize view and return it
    • Yaf_Dispatcher::registerPlugin — Register a plugin
    • Yaf_Dispatcher::returnResponse — The returnResponse purpose
    • Yaf_Dispatcher::setAppDirectory — Change the application directory
    • Yaf_Dispatcher::setDefaultAction — Change default action name
    • Yaf_Dispatcher::setDefaultController — Change default controller name
    • Yaf_Dispatcher::setDefaultModule — Change default module name
    • Yaf_Dispatcher::setErrorHandler — The setErrorHandler purpose
    • Yaf_Dispatcher::setRequest — The setRequest purpose
    • Yaf_Dispatcher::setView — The setView purpose
    • Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized
    • Yaf_Dispatcher::throwException — Switch on/off exception throwing
    • Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized
  • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Abstract::get — Getter
    • Yaf_Config_Abstract::readonly — Find a config whether readonly
    • Yaf_Config_Abstract::set — Setter
    • Yaf_Config_Abstract::toArray — Cast to array
  • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Ini::__construct — The __construct purpose
    • Yaf_Config_Ini::count — The count purpose
    • Yaf_Config_Ini::current — The current purpose
    • Yaf_Config_Ini::__get — The __get purpose
    • Yaf_Config_Ini::__isset — The __isset purpose
    • Yaf_Config_Ini::key — The key purpose
    • Yaf_Config_Ini::next — The next purpose
    • Yaf_Config_Ini::offsetExists — The offsetExists purpose
    • Yaf_Config_Ini::offsetGet — The offsetGet purpose
    • Yaf_Config_Ini::offsetSet — The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Ini::readonly — The readonly purpose
    • Yaf_Config_Ini::rewind — The rewind purpose
    • Yaf_Config_Ini::__set — The __set purpose
    • Yaf_Config_Ini::toArray — The toArray purpose
    • Yaf_Config_Ini::valid — The valid purpose
  • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Config_Simple::__construct — The __construct purpose
    • Yaf_Config_Simple::count — The count purpose
    • Yaf_Config_Simple::current — The current purpose
    • Yaf_Config_Simple::__get — The __get purpose
    • Yaf_Config_Simple::__isset — The __isset purpose
    • Yaf_Config_Simple::key — The key purpose
    • Yaf_Config_Simple::next — The next purpose
    • Yaf_Config_Simple::offsetExists — The offsetExists purpose
    • Yaf_Config_Simple::offsetGet — The offsetGet purpose
    • Yaf_Config_Simple::offsetSet — The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Simple::readonly — The readonly purpose
    • Yaf_Config_Simple::rewind — The rewind purpose
    • Yaf_Config_Simple::__set — The __set purpose
    • Yaf_Config_Simple::toArray — The toArray purpose
    • Yaf_Config_Simple::valid — The valid purpose
  • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned
    • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
    • Yaf_Controller_Abstract::display — The display purpose
    • Yaf_Controller_Abstract::forward — The forward purpose
    • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName — The getModuleName purpose
    • Yaf_Controller_Abstract::getRequest — The getRequest purpose
    • Yaf_Controller_Abstract::getResponse — The getResponse purpose
    • Yaf_Controller_Abstract::getView — The getView purpose
    • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
    • Yaf_Controller_Abstract::initView — The initView purpose
    • Yaf_Controller_Abstract::redirect — The redirect purpose
    • Yaf_Controller_Abstract::render — The render purpose
    • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
  • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_Action_Abstract::execute — entry point method
    • Yaf_Action_Abstract::getController — get controller instance
  • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Interface::assign — The assign purpose
    • Yaf_View_Interface::display — The display purpose
    • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
    • Yaf_View_Interface::render — The render purpose
    • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
  • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_View_Simple::assign — The assign purpose
    • Yaf_View_Simple::assignRef — The assignRef purpose
    • Yaf_View_Simple::__construct — The __construct purpose
    • Yaf_View_Simple::display — The display purpose
    • Yaf_View_Simple::__get — The __get purpose
    • Yaf_View_Simple::getScriptPath — The getScriptPath purpose
    • Yaf_View_Simple::__isset — The __isset purpose
    • Yaf_View_Simple::render — The render purpose
    • Yaf_View_Simple::__set — The __set purpose
    • Yaf_View_Simple::setScriptPath — The setScriptPath purpose
  • Yaf_Loader — The Yaf_Loader class
    • Yaf_Loader::autoload — The autoload purpose
    • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
    • Yaf_Loader::__clone — The __clone purpose
    • Yaf_Loader::__construct — The __construct purpose
    • Yaf_Loader::getInstance — The getInstance purpose
    • Yaf_Loader::getLibraryPath — get the library path
    • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
    • Yaf_Loader::import — The import purpose
    • Yaf_Loader::isLocalName — The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace — The registerLocalNamespace purpose
    • Yaf_Loader::setLibraryPath — Change the library path
    • Yaf_Loader::__sleep — The __sleep purpose
    • Yaf_Loader::__wakeup — The __wakeup purpose
  • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose
    • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup — The routerStartup purpose
  • Yaf_Registry — The Yaf_Registry class
    • Yaf_Registry::__clone — The __clone purpose
    • Yaf_Registry::__construct — The __construct purpose
    • Yaf_Registry::del — The del purpose
    • Yaf_Registry::get — The get purpose
    • Yaf_Registry::has — The has purpose
    • Yaf_Registry::set — The set purpose
  • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Abstract::getActionName — The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
    • Yaf_Request_Abstract::getEnv — The getEnv purpose
    • Yaf_Request_Abstract::getException — The getException purpose
    • Yaf_Request_Abstract::getLanguage — The getLanguage purpose
    • Yaf_Request_Abstract::getMethod — The getMethod purpose
    • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
    • Yaf_Request_Abstract::getParam — The getParam purpose
    • Yaf_Request_Abstract::getParams — The getParams purpose
    • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
    • Yaf_Request_Abstract::getServer — The getServer purpose
    • Yaf_Request_Abstract::isCli — The isCli purpose
    • Yaf_Request_Abstract::isDispatched — The isDispatched purpose
    • Yaf_Request_Abstract::isGet — The isGet purpose
    • Yaf_Request_Abstract::isHead — The isHead purpose
    • Yaf_Request_Abstract::isOptions — The isOptions purpose
    • Yaf_Request_Abstract::isPost — The isPost purpose
    • Yaf_Request_Abstract::isPut — The isPut purpose
    • Yaf_Request_Abstract::isRouted — The isRouted purpose
    • Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose
    • Yaf_Request_Abstract::setActionName — The setActionName purpose
    • Yaf_Request_Abstract::setBaseUri — The setBaseUri purpose
    • Yaf_Request_Abstract::setControllerName — The setControllerName purpose
    • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName — The setModuleName purpose
    • Yaf_Request_Abstract::setParam — The setParam purpose
    • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted — The setRouted purpose
  • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Http::__clone — The __clone purpose
    • Yaf_Request_Http::__construct — The __construct purpose
    • Yaf_Request_Http::get — The get purpose
    • Yaf_Request_Http::getCookie — The getCookie purpose
    • Yaf_Request_Http::getFiles — The getFiles purpose
    • Yaf_Request_Http::getPost — The getPost purpose
    • Yaf_Request_Http::getQuery — The getQuery purpose
    • Yaf_Request_Http::getRequest — The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest — The isXmlHttpRequest purpose
  • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Request_Simple::__clone — The __clone purpose
    • Yaf_Request_Simple::__construct — The __construct purpose
    • Yaf_Request_Simple::get — The get purpose
    • Yaf_Request_Simple::getCookie — The getCookie purpose
    • Yaf_Request_Simple::getFiles — The getFiles purpose
    • Yaf_Request_Simple::getPost — The getPost purpose
    • Yaf_Request_Simple::getQuery — The getQuery purpose
    • Yaf_Request_Simple::getRequest — The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose
  • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Response_Abstract::appendBody — The appendBody purpose
    • Yaf_Response_Abstract::clearBody — The clearBody purpose
    • Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose
    • Yaf_Response_Abstract::__clone — The __clone purpose
    • Yaf_Response_Abstract::__construct — The __construct purpose
    • Yaf_Response_Abstract::__destruct — The __destruct purpose
    • Yaf_Response_Abstract::getBody — The getBody purpose
    • Yaf_Response_Abstract::getHeader — The getHeader purpose
    • Yaf_Response_Abstract::prependBody — The prependBody purpose
    • Yaf_Response_Abstract::response — The response purpose
    • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody — The setBody purpose
    • Yaf_Response_Abstract::setHeader — The setHeader purpose
    • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
    • Yaf_Response_Abstract::__toString — The __toString purpose
  • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Interface::route — The route purpose
  • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Map::__construct — The __construct purpose
    • Yaf_Route_Map::route — The route purpose
  • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Regex::__construct — The __construct purpose
    • Yaf_Route_Regex::route — The route purpose
  • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Route_Rewrite::__construct — The __construct purpose
    • Yaf_Route_Rewrite::route — The route purpose
  • Yaf_Router — The Yaf_Router class
    • Yaf_Router::addConfig — The addConfig purpose
    • Yaf_Router::addRoute — The addRoute purpose
    • Yaf_Router::__construct — The __construct purpose
    • Yaf_Router::getCurrentRoute — Get the name of activated route
    • Yaf_Router::getRoute — The getRoute purpose
    • Yaf_Router::getRoutes — The getRoutes purpose
    • Yaf_Router::route — The route purpose
  • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Simple::__construct — The __construct purpose
    • Yaf_Route_Simple::route — The route purpose
  • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Static::match — The match purpose
    • Yaf_Route_Static::route — The route purpose
  • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Route_Supervar::__construct — The __construct purpose
    • Yaf_Route_Supervar::route — The route purpose
  • Yaf_Session — The Yaf_Session class
    • Yaf_Session::__clone — The __clone purpose
    • Yaf_Session::__construct — The __construct purpose
    • Yaf_Session::count — The count purpose
    • Yaf_Session::current — The current purpose
    • Yaf_Session::del — The del purpose
    • Yaf_Session::__get — The __get purpose
    • Yaf_Session::getInstance — The getInstance purpose
    • Yaf_Session::has — The has purpose
    • Yaf_Session::__isset — The __isset purpose
    • Yaf_Session::key — The key purpose
    • Yaf_Session::next — The next purpose
    • Yaf_Session::offsetExists — The offsetExists purpose
    • Yaf_Session::offsetGet — The offsetGet purpose
    • Yaf_Session::offsetSet — The offsetSet purpose
    • Yaf_Session::offsetUnset — The offsetUnset purpose
    • Yaf_Session::rewind — The rewind purpose
    • Yaf_Session::__set — The __set purpose
    • Yaf_Session::__sleep — The __sleep purpose
    • Yaf_Session::start — The start purpose
    • Yaf_Session::__unset — The __unset purpose
    • Yaf_Session::valid — The valid purpose
    • Yaf_Session::__wakeup — The __wakeup purpose
  • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception::__construct — The __construct purpose
    • Yaf_Exception::getPrevious — The getPrevious purpose
yaml_parse
Введение
Другие базовые расширения


Введение

The Yet Another Framework(Yaf) extension is a PHP framework, used for developing web application, It provides OO interfaces to PHPer for developing web application.

Yaf require PHP version greater than 5.2.1, and could not run with early version of PHP.

Yaf
Установка и настройка
Yaf


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Yaf


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/yaf.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Yaf Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
yaf.library |  | its PHP_INI_ALL value |
yaf.action_prefer | 0 | its PHP_INI_ALL value |
yaf.lowcase_path | 0 | its PHP_INI_ALL value |
yaf.use_spl_autoload | 0 | its PHP_INI_ALL value |
yaf.forward_limit | 5 | its PHP_INI_ALL value |
yaf.name_suffix | 1 | its PHP_INI_ALL value |
yaf.name_separator |  | its PHP_INI_ALL value |
yaf.cache_config | 0 | its PHP_INI_SYS value |
yaf.st_compatible | 0 | its PHP_INI_ALL value |
yaf.environ | product | its PHP_INI_ALL value |
yaf.use_namespace | 0 | its PHP_INI_ALL value |

Краткое разъяснение конфигурационных директив.

yaf.library string

yaf.action_prefer integer

yaf.lowcase_path integer

yaf.use_spl_autoload integer

yaf.forward_limit integer

yaf.name_suffix integer

yaf.name_separator string

yaf.cache_config integer

yaf.st_compatible integer

yaf.environ string

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

YAF_VERSION (string)
YAF_ENVIRON (string)
YAF_ERR_STARTUP_FAILED (integer)
YAF_ERR_ROUTE_FAILED (integer)
YAF_ERR_DISPATCH_FAILED (integer)
YAF_ERR_AUTOLOAD_FAILED (integer)
YAF_ERR_NOTFOUND_MODULE (integer)
YAF_ERR_NOTFOUND_CONTROLLER (integer)
YAF_ERR_NOTFOUND_ACTION (integer)
YAF_ERR_NOTFOUND_VIEW (integer)
YAF_ERR_CALL_FAILED (integer)
YAF_ERR_TYPE_ERROR (integer)

Типы ресурсов
Примеры
Yaf


Примеры

Пример #1 A classic Application directory layout

- index.php
- .htaccess
+ conf
  |- application.ini //application config
- application/
  - Bootstrap.php
  + controllers
     - Index.php //default controller
  + views
     |+ index
        - index.phtml //view template for default action
  + modules
  - library
  - models
  - plugins

Пример #2 Entry

index.php in the top directory is the only way in of the application, you should rewrite all request to it(you can use .htaccess in Apache+php_mod)

<?php
define("APPLICATION_PATH",  dirname(__FILE__));

$app  = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap() //call bootstrap methods defined in Bootstrap.php
 ->run();

Пример #3 Rewrite rule

#for apache (.htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

#for nginx
server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

#for lighttpd
$HTTP["host"] =~ "(www.)?domain.com$" {
  url.rewrite = (
     "^/(.+)/?$"  => "/index.php/$1",
  )
}

Пример #4 Application config

[yaf]
;APPLICATION_PATH is the constant defined in index.php
application.directory=APPLICATION_PATH "/application/"

;product section inherit from yaf section
[product:yaf]
foo=bar

Пример #5 Default controller

<?php
class IndexController extends Yaf_Controller_Abstract {
   /* default action */
   public function indexAction() {
       $this->view->word = "hello world";
   }
}
?>

Пример #6 Default view template

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   <?php echo $word;?>
 </body>
</htlm>

Пример #7 Run the Applicatioin

Результатом выполнения данного примера будет что-то подобное:

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   hello world
 </body>
</htlm>
Предопределенные константы
Yaf_Application
Yaf


The Yaf_Application class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Yaf_Application provides a bootstrapping facility for applications which provides reusable resources, common- and module-based bootstrap classes and dependency checking.

Обзор классов

Yaf_Application {
/* Свойства */
protected $Yaf_Application->config ;
protected $dispatcher ;
protected static $_app ;
protected $_modules ;
protected $_running ;
protected $_environ ;
/* Методы */
public static void Yaf_Application::app ( void )
public void Yaf_Application::bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )
public Yaf_Application Yaf_Application::clearLastError ( void )
private void Yaf_Application::__clone ( void )
Yaf_Application::__construct ( mixed $config [, string $envrion ] )
public void Yaf_Application::__destruct ( void )
public void Yaf_Application::environ ( void )
public void Yaf_Application::execute ( callback $entry , string $... )
public Yaf_Application Yaf_Application::getAppDirectory ( void )
public Yaf_Config_Abstract Yaf_Application::getConfig ( void )
public Yaf_Dispatcher Yaf_Application::getDispatcher ( void )
public string Yaf_Application::getLastErrorMsg ( void )
public int Yaf_Application::getLastErrorNo ( void )
public array Yaf_Application::getModules ( void )
public void Yaf_Application::run ( void )
public Yaf_Application Yaf_Application::setAppDirectory ( string $directory )
private void Yaf_Application::__sleep ( void )
private void Yaf_Application::__wakeup ( void )
}

Свойства

config

dispatcher

_app

_modules

_running

_environ

Содержание

  • Yaf_Application::app — Retrive an Application instance
  • Yaf_Application::bootstrap — Call bootstrap
  • Yaf_Application::clearLastError — Clear the last error info
  • Yaf_Application::__clone — Yaf_Application can not be cloned
  • Yaf_Application::__construct — Yaf_Application constructor
  • Yaf_Application::__destruct — The __destruct purpose
  • Yaf_Application::environ — Retrive environ
  • Yaf_Application::execute — Execute a callback
  • Yaf_Application::getAppDirectory — Get the application directory
  • Yaf_Application::getConfig — Retrive the config instance
  • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
  • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
  • Yaf_Application::getLastErrorNo — Get code of last occurred error
  • Yaf_Application::getModules — Get defined module names
  • Yaf_Application::run — Start Yaf_Application
  • Yaf_Application::setAppDirectory — Change the application directory
  • Yaf_Application::__sleep — Yaf_Application can not be serialized
  • Yaf_Application::__wakeup — Yaf_Application can not be unserialized
Примеры
Yaf_Application::app
Yaf


Retrive an Application instance

Yaf_Application
Yaf_Application::bootstrap
Yaf_Application
PHP Manual

Yaf_Application::app

(PECL yaf >=1.0.0)

Yaf_Application::app — Retrive an Application instance

Описание

public static void Yaf_Application::app ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

an Yaf_Application instance, if no Yaf_Application initialized before, NULL will be returned.

Yaf_Application
Yaf_Application::bootstrap
Yaf_Application


Call bootstrap

Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application
PHP Manual

Yaf_Application::bootstrap

(PECL yaf >=1.0.0)

Yaf_Application::bootstrap — Call bootstrap

Описание

public void Yaf_Application::bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )

Run a Bootstrap, all the methods defined in the Bootstrap and named with prefix "_init" will be called in the declaration order, if the parameter bootstrap is not supplied, Yaf will look for a Bootstrap under application.directory.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

bootstrap

A Yaf_Bootstrap_Abstract instance

Возвращаемые значения

Yaf_Application instance

Примеры

Пример #1 A Bootstrap()example

<?php
/**
 * This file should be under the APPLICATION_PATH . "/application/"(which was defined in the config passed to Yaf_Application).
 * and named Bootstrap.php,  so the Yaf_Application can find it
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    function _initConfig(Yaf_Dispatcher $dispatcher) {
        echo "1st called\n";
    }

    function _initPlugin($dispatcher) {
        echo "2nd called\n";
    }
}
?>

Пример #2 Yaf_Application::bootstrap()example

<?php

defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

Результатом выполнения данного примера будет что-то подобное:

1st called
2nd called

Смотрите также

  • Yaf_Bootstrap_Abstract
Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application


Clear the last error info

Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application
PHP Manual

Yaf_Application::clearLastError

(PECL yaf >=2.1.2)

Yaf_Application::clearLastError — Clear the last error info

Описание

public Yaf_Application Yaf_Application::clearLastError ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::clearLastError()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   Yaf_Application::app()->clearLastError();
   var_dump(Yaf_Application::app()->getLastErrorNo());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application


Yaf_Application can not be cloned

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application
PHP Manual

Yaf_Application::__clone

(PECL yaf >=1.0.0)

Yaf_Application::__clone — Yaf_Application can not be cloned

Описание

private void Yaf_Application::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application


Yaf_Application constructor

Yaf_Application::__clone
Yaf_Application::__destruct
Yaf_Application
PHP Manual

Yaf_Application::__construct

(PECL yaf >=1.0.0)

Yaf_Application::__construct — Yaf_Application constructor

Описание

Yaf_Application::__construct ( mixed $config [, string $envrion ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

config

A ini config file path, or a config array

envrion

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::__construct()example

<?php
defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap()->run();
?>

Результатом выполнения данного примера будет что-то подобное:

Пример #2 Yaf_Application::__construct()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
$application->bootstrap()->run();
?>

Результатом выполнения данного примера
будет что-то подобное:

Смотрите также

  • Yaf_Config_Ini
    •

Yaf_Application::__clone

Yaf_Application::__destruct

Yaf_Application


The __destruct purpose

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application
PHP Manual

Yaf_Application::__destruct

(PECL yaf >=1.0.0)

Yaf_Application::__destruct — The __destruct purpose

Описание

public void Yaf_Application::__destruct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application


Retrive environ

Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application
PHP Manual

Yaf_Application::environ

(PECL yaf >=1.0.0)

Yaf_Application::environ — Retrive environ

Описание

public void Yaf_Application::environ ( void )

Retrive environ which was defined in yaf.environ which has a default value "product".

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::environ()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
print_r($application->environ());
?>

Результатом выполнения данного примера будет что-то подобное:

product
Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application


Execute a callback

Yaf_Application::environ
Yaf_Application::getAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::execute

(PECL yaf >=1.0.0)

Yaf_Application::execute — Execute a callback

Описание

public void Yaf_Application::execute ( callback $entry , string $... )

This method is typically used to run Yaf_Application in a crontab work. Make the crontab work can also use the autoloader and Bootstrap mechanism.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

entry

...

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::execute()example

<?php
function main($argc, $argv) {
}

$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
$application->execute("main", $argc,  $argv);
?>

Результатом выполнения данного примера будет что-то подобное:

Yaf_Application::environ

Yaf_Application::getAppDirectory

Yaf_Application


Get the application directory

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application
PHP Manual

Yaf_Application::getAppDirectory

(PECL yaf >=2.1.4)

Yaf_Application::getAppDirectory — Get the application directory

Описание

public Yaf_Application Yaf_Application::getAppDirectory ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

directory

Возвращаемые значения

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application


Retrive the config instance

Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application
PHP Manual

Yaf_Application::getConfig

(PECL yaf >=1.0.0)

Yaf_Application::getConfig — Retrive the config instance

Описание

public Yaf_Config_Abstract Yaf_Application::getConfig ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A Yaf_Config_Abstract instance

Примеры

Пример #1 Yaf_Application::getConfig()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
print_r($application->getConfig());
?>

Результатом выполнения данного примера будет что-то подобное:

Yaf_Config_Simple Object
(
    [_config:protected] => Array
        (
            [application] => Array
                (
                    [directory] => /home/laruence/local/www/htdocs/application
                )

        )

    [_readonly:protected] => 1
)
Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application


Get Yaf_Dispatcher instance

Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application
PHP Manual

Yaf_Application::getDispatcher

(PECL yaf >=1.0.0)

Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance

Описание

public Yaf_Dispatcher Yaf_Application::getDispatcher ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::getDispatcher()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
print_r($application->getDispatcher());
?>

Результатом выполнения данного примера будет что-то подобное:

Yaf_Dispatcher Object
(
    [_router:protected] => Yaf_Router Object
        (
            [_routes:protected] => Array
                (
                    [_default] => Yaf_Route_Static Object
                        (
                        )

                )

            [_current:protected] =>
        )

    [_view:protected] =>
    [_request:protected] => Yaf_Request_Http Object
        (
            [module] =>
            [controller] =>
            [action] =>
            [method] => Cli
            [params:protected] => Array
                (
                )

            [language:protected] =>
            [_exception:protected] =>
            [_base_uri:protected] =>
            [uri:protected] =>
            [dispatched:protected] =>
            [routed:protected] =>
        )

    [_plugins:protected] => Array
        (
        )

    [_auto_render:protected] => 1
    [_return_response:protected] =>
    [_instantly_flush:protected] =>
    [_default_module:protected] => Index
    [_default_controller:protected] => Index
    [_default_action:protected] => index
    [_response] => Yaf_Response_Cli Object
        (
            [_header:protected] => Array
                (
                )

            [_body:protected] =>
            [_sendheader:protected] =>
        )

)
Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application


Get message of the last occurred error

Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorMsg

(PECL yaf >=2.1.2)

Yaf_Application::getLastErrorMsg — Get message of the last occurred error

Описание

public string Yaf_Application::getLastErrorMsg ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::getLastErrorMsg()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorMsg());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Результатом выполнения данного примера будет что-то подобное:

string(69) "Could not find controller script /tmp/notexists/controllers/Index.php"
Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application


Get code of last occurred error

Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorNo

(PECL yaf >=2.1.2)

Yaf_Application::getLastErrorNo — Get code of last occurred error

Описание

public int Yaf_Application::getLastErrorNo ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::getLastErrorNo()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorNo());
   var_dump(Yaf_Application::app()->getLastErrorNo() == YAF_ERR_NOTFOUND_CONTROLLER);
}

$config = array(
  "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();

Результатом выполнения данного примера будет что-то подобное:

int(516)
bool(true)
Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application


Get defined module names

Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application
PHP Manual

Yaf_Application::getModules

(PECL yaf >=1.0.0)

Yaf_Application::getModules — Get defined module names

Описание

public array Yaf_Application::getModules ( void )

Get the modules list defined in config, if no one defined, there will always be a module named "Index".

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #1 Yaf_Application::getModules()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Ap_Application */
$application = new Yaf_Application($config);
print_r($application->getModules());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Index
)
Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application


Start Yaf_Application

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::run

(PECL yaf >=1.0.0)

Yaf_Application::run — Start Yaf_Application

Описание

public void Yaf_Application::run ( void )

Run a Yaf_Application, let the Yaf_Application accpect a request, and route the request, dispatch to controller/action, and render response. return response to client fianlly.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application


Change the application directory

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application
PHP Manual

Yaf_Application::setAppDirectory

(PECL yaf >=2.1.4)

Yaf_Application::setAppDirectory — Change the application directory

Описание

public Yaf_Application Yaf_Application::setAppDirectory ( string $directory )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

directory

Возвращаемые значения

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application


Yaf_Application can not be serialized

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application
PHP Manual

Yaf_Application::__sleep

(PECL yaf >=1.0.0)

Yaf_Application::__sleep — Yaf_Application can not be serialized

Описание

private void Yaf_Application::__sleep ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application


Yaf_Application can not be unserialized

Yaf_Application::__sleep
Yaf_Dispatcher
Yaf_Application
PHP Manual

Yaf_Application::__wakeup

(PECL yaf >=1.0.0)

Yaf_Application::__wakeup — Yaf_Application can not be unserialized

Описание

private void Yaf_Application::__wakeup ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Application::__sleep
Yaf_Dispatcher
Yaf_Application


The Yaf_Dispatcher class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Dispatcher {
/* Свойства */
protected $Yaf_Dispatcher->_router ;
protected $_view ;
protected $_request ;
protected $_plugins ;
protected static $_instance ;
protected $_auto_render ;
protected $_return_response ;
protected $_instantly_flush ;
protected $_default_module ;
protected $_default_controller ;
protected $_default_action ;
/* Методы */
public Yaf_Dispatcher Yaf_Dispatcher::autoRender ( bool $flag )
public Yaf_Dispatcher Yaf_Dispatcher::catchException ([ bool $flag ] )
private void Yaf_Dispatcher::__clone ( void )
Yaf_Dispatcher::__construct ( void )
public Yaf_Dispatcher Yaf_Dispatcher::disableView ( void )
public Yaf_Response_Abstract Yaf_Dispatcher::dispatch ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher Yaf_Dispatcher::enableView ( void )
public Yaf_Dispatcher Yaf_Dispatcher::flushInstantly ( bool $flag )
public Yaf_Application Yaf_Dispatcher::getApplication ( void )
public static Yaf_Dispatcher Yaf_Dispatcher::getInstance ( void )
public Yaf_Request_Abstract Yaf_Dispatcher::getRequest ( void )
public Yaf_Router Yaf_Dispatcher::getRouter ( void )
public Yaf_View_Interface Yaf_Dispatcher::initView ( string $templates_dir [, array $options ] )
public Yaf_Dispatcher Yaf_Dispatcher::registerPlugin ( Yaf_Plugin_Abstract $plugin )
public Yaf_Dispatcher Yaf_Dispatcher::returnResponse ( bool $flag )
public Yaf_Dispatcher Yaf_Dispatcher::setAppDirectory ( string $directory )
public Yaf_Dispatcher Yaf_Dispatcher::setDefaultAction ( string $action )
public Yaf_Dispatcher Yaf_Dispatcher::setDefaultController ( string $controller )
public Yaf_Dispatcher Yaf_Dispatcher::setDefaultModule ( string $module )
public Yaf_Dispatcher Yaf_Dispatcher::setErrorHandler ( call $callback , int $error_types )
public Yaf_Dispatcher Yaf_Dispatcher::setRequest ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher Yaf_Dispatcher::setView ( Yaf_View_Interface $view )
private void Yaf_Dispatcher::__sleep ( void )
public Yaf_Dispatcher Yaf_Dispatcher::throwException ([ bool $flag ] )
private void Yaf_Dispatcher::__wakeup ( void )
}

Свойства

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

Содержание

  • Yaf_Dispatcher::autoRender — Switch on/off autorendering
  • Yaf_Dispatcher::catchException — Switch on/off exception catching
  • Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned
  • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
  • Yaf_Dispatcher::disableView — Disable view rendering
  • Yaf_Dispatcher::dispatch — Dispatch a request
  • Yaf_Dispatcher::enableView — enable view rendering
  • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
  • Yaf_Dispatcher::getApplication — Retrive the application
  • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
  • Yaf_Dispatcher::getRequest — Retrive the request instance
  • Yaf_Dispatcher::getRouter — Retrive router instance
  • Yaf_Dispatcher::initView — Initialize view and return it
  • Yaf_Dispatcher::registerPlugin — Register a plugin
  • Yaf_Dispatcher::returnResponse — The returnResponse purpose
  • Yaf_Dispatcher::setAppDirectory — Change the application directory
  • Yaf_Dispatcher::setDefaultAction — Change default action name
  • Yaf_Dispatcher::setDefaultController — Change default controller name
  • Yaf_Dispatcher::setDefaultModule — Change default module name
  • Yaf_Dispatcher::setErrorHandler — The setErrorHandler purpose
  • Yaf_Dispatcher::setRequest — The setRequest purpose
  • Yaf_Dispatcher::setView — The setView purpose
  • Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized
  • Yaf_Dispatcher::throwException — Switch on/off exception throwing
  • Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized
Yaf_Application::__wakeup
Yaf_Dispatcher::autoRender
Yaf


Switch on/off autorendering

Yaf_Dispatcher
Yaf_Dispatcher::catchException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::autoRender

(PECL yaf >=1.0.0)

Yaf_Dispatcher::autoRender — Switch on/off autorendering

Описание

public Yaf_Dispatcher Yaf_Dispatcher::autoRender ( bool $flag )

Yaf will can render after dispatched a request, you can prevent the rendering by calling this method with flag TRUE

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

bool

Возвращаемые значения

Примеры

Пример #1 Yaf_Dispatcher::autoRender()example

<?php
class IndexController extends Yaf_Controller_Abstract {
     /* init method will be called as soon as a controller is initialized */
     public function init() {
         if ($this->getRequest()->isXmlHttpRequest()) {
             //do not call render for ajax request
             //we will outpu a json string
             Yaf_Dispatcher::getInstance()->autoRender(FALSE);
         }
     }
}
?>

Результатом выполнения данного примера будет что-то подобное:

Yaf_Dispatcher

Yaf_Dispatcher::catchException

Yaf_Dispatcher


Switch on/off exception catching

Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::catchException

(PECL yaf >=1.0.0)

Yaf_Dispatcher::catchException — Switch on/off exception catching

Описание

public Yaf_Dispatcher Yaf_Dispatcher::catchException ([ bool $flag ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

Возвращаемые значения

Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher


Yaf_Dispatcher can not be cloned

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__clone

(PECL yaf >=1.0.0)

Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned

Описание

private void Yaf_Dispatcher::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher


Yaf_Dispatcher constructor

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__construct

(PECL yaf >=1.0.0)

Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor

Описание

Yaf_Dispatcher::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher


Disable view rendering

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::disableView

(PECL yaf >=1.0.0)

Yaf_Dispatcher::disableView — Disable view rendering

Описание

public Yaf_Dispatcher Yaf_Dispatcher::disableView ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher


Dispatch a request

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::dispatch

(PECL yaf >=1.0.0)

Yaf_Dispatcher::dispatch — Dispatch a request

Описание

public Yaf_Response_Abstract Yaf_Dispatcher::dispatch ( Yaf_Request_Abstract $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher


enable view rendering

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::enableView

(PECL yaf >=1.0.0)

Yaf_Dispatcher::enableView — enable view rendering

Описание

public Yaf_Dispatcher Yaf_Dispatcher::enableView ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher


Switch on/off the instant flushing

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::flushInstantly

(PECL yaf >=1.0.0)

Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing

Описание

public Yaf_Dispatcher Yaf_Dispatcher::flushInstantly ( bool $flag )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

Возвращаемые значения

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher


Retrive the application

Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getApplication

(PECL yaf >=1.0.0)

Yaf_Dispatcher::getApplication — Retrive the application

Описание

public Yaf_Application Yaf_Dispatcher::getApplication ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher


Retrive the dispatcher instance

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getInstance

(PECL yaf >=1.0.0)

Yaf_Dispatcher::getInstance — Retrive the dispatcher instance

Описание

public static Yaf_Dispatcher Yaf_Dispatcher::getInstance ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher


Retrive the request instance

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRequest

(PECL yaf >=1.0.0)

Yaf_Dispatcher::getRequest — Retrive the request instance

Описание

public Yaf_Request_Abstract Yaf_Dispatcher::getRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher


Retrive router instance

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRouter

(PECL yaf >=1.0.0)

Yaf_Dispatcher::getRouter — Retrive router instance

Описание

public Yaf_Router Yaf_Dispatcher::getRouter ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher


Initialize view and return it

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::initView

(PECL yaf >=1.0.0)

Yaf_Dispatcher::initView — Initialize view and return it

Описание

public Yaf_View_Interface Yaf_Dispatcher::initView ( string $templates_dir [, array $options ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

templates_dir

options

Возвращаемые значения

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher


Register a plugin

Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::registerPlugin

(PECL yaf >=1.0.0)

Yaf_Dispatcher::registerPlugin — Register a plugin

Описание

public Yaf_Dispatcher Yaf_Dispatcher::registerPlugin ( Yaf_Plugin_Abstract $plugin )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

plugin

Возвращаемые значения

Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher


The returnResponse purpose

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setAppDirectory
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::returnResponse

(PECL yaf >=1.0.0)

Yaf_Dispatcher::returnResponse — The returnResponse purpose

Описание

public Yaf_Dispatcher Yaf_Dispatcher::returnResponse ( bool $flag )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

Возвращаемые значения

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setAppDirectory
Yaf_Dispatcher


Change the application directory

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setAppDirectory

(PECL yaf <=2.1.4)

Yaf_Dispatcher::setAppDirectory — Change the application directory

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setAppDirectory ( string $directory )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

directory

Возвращаемые значения

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher


Change default action name

Yaf_Dispatcher::setAppDirectory
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultAction

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setDefaultAction — Change default action name

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultAction ( string $action )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

action

Возвращаемые значения

Yaf_Dispatcher::setAppDirectory
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher


Change default controller name

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultController

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setDefaultController — Change default controller name

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultController ( string $controller )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

controller

Возвращаемые значения

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher


Change default module name

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultModule

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setDefaultModule — Change default module name

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultModule ( string $module )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

module

Возвращаемые значения

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher


The setErrorHandler purpose

Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setErrorHandler

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setErrorHandler — The setErrorHandler purpose

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setErrorHandler ( call $callback , int $error_types )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

callback

error_types

Возвращаемые значения

Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher


The setRequest purpose

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setRequest

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setRequest — The setRequest purpose

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setRequest ( Yaf_Request_Abstract $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

plugin

Возвращаемые значения

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher


The setView purpose

Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setView

(PECL yaf >=1.0.0)

Yaf_Dispatcher::setView — The setView purpose

Описание

public Yaf_Dispatcher Yaf_Dispatcher::setView ( Yaf_View_Interface $view )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

view

Возвращаемые значения

Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher


Yaf_Dispatcher can not be serialized

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__sleep

(PECL yaf >=1.0.0)

Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized

Описание

private void Yaf_Dispatcher::__sleep ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher


Switch on/off exception throwing

Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::throwException

(PECL yaf >=1.0.0)

Yaf_Dispatcher::throwException — Switch on/off exception throwing

Описание

public Yaf_Dispatcher Yaf_Dispatcher::throwException ([ bool $flag ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

Возвращаемые значения

Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher


Yaf_Dispatcher can not be unserialized

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__wakeup

(PECL yaf >=1.0.0)

Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized

Описание

private void Yaf_Dispatcher::__wakeup ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher


The Yaf_Config_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Config_Abstract {
/* Свойства */
protected $Yaf_Config_Abstract->_config ;
protected $_readonly ;
/* Методы */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Свойства

_config

_readonly

Содержание

  • Yaf_Config_Abstract::get — Getter
  • Yaf_Config_Abstract::readonly — Find a config whether readonly
  • Yaf_Config_Abstract::set — Setter
  • Yaf_Config_Abstract::toArray — Cast to array
Yaf_Dispatcher::__wakeup
Yaf_Config_Abstract::get
Yaf


Getter

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::get

(PECL yaf >=1.0.0)

Yaf_Config_Abstract::get — Getter

Описание

abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract


Find a config whether readonly

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::readonly

(PECL yaf >=1.0.0)

Yaf_Config_Abstract::readonly — Find a config whether readonly

Описание

abstract public bool Yaf_Config_Abstract::readonly ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract


Setter

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::set

(PECL yaf >=1.0.0)

Yaf_Config_Abstract::set — Setter

Описание

abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract


Cast to array

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::toArray

(PECL yaf >=1.0.0)

Yaf_Config_Abstract::toArray — Cast to array

Описание

abstract public array Yaf_Config_Abstract::toArray ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract


The Yaf_Config_Ini class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Yaf_Config_Ini enables developers to store configuration data in a familiar INI format and read them in the application by using nested object property syntax. The INI format is specialized to provide both the ability to have a hierarchy of configuration data keys and inheritance between configuration data sections. Configuration data hierarchies are supported by separating the keys with the dot or period character ("."). A section may extend or inherit from another section by following the section name with a colon character (":") and the name of the section from which data are to be inherited.

Замечание:

Yaf_Config_Ini utilizes the » parse_ini_file() PHP function. Please review this documentation to be aware of its specific behaviors, which propagate to Yaf_Config_Ini, such as how the special values of "TRUE", "FALSE", "yes", "no", and "NULL" are handled.

Обзор классов

Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator , Traversable , ArrayAccess , Countable {
/* Свойства */
/* Методы */
__construct ( string $config_file [, string $section ] )
public void count ( void )
public void current ( void )
public void __get ([ string $name ] )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void readonly ( void )
public void rewind ( void )
public void __set ( string $name , mixed $value )
public void toArray ( void )
public void valid ( void )
/* Наследуемые методы */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Свойства

_config

_readonly

Примеры

Пример #1 Yaf_Config_Ini()example

This example illustrates a basic use of Yaf_Config_Ini for loading configuration data from an INI file. In this example there are configuration data for both a production system and for a staging system. Because the staging system configuration data are very similar to those for production, the staging section inherits from the production section. In this case, the decision is arbitrary and could have been written conversely, with the production section inheriting from the staging section, though this may not be the case for more complex situations. Suppose, then, that the following configuration data are contained in /path/to/config.ini:

; Production site configuration data
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname

; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

Результатом выполнения данного примера будет что-то подобное:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

Содержание

  • Yaf_Config_Ini::__construct — The __construct purpose
  • Yaf_Config_Ini::count — The count purpose
  • Yaf_Config_Ini::current — The current purpose
  • Yaf_Config_Ini::__get — The __get purpose
  • Yaf_Config_Ini::__isset — The __isset purpose
  • Yaf_Config_Ini::key — The key purpose
  • Yaf_Config_Ini::next — The next purpose
  • Yaf_Config_Ini::offsetExists — The offsetExists purpose
  • Yaf_Config_Ini::offsetGet — The offsetGet purpose
  • Yaf_Config_Ini::offsetSet — The offsetSet purpose
  • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Ini::readonly — The readonly purpose
  • Yaf_Config_Ini::rewind — The rewind purpose
  • Yaf_Config_Ini::__set — The __set purpose
  • Yaf_Config_Ini::toArray — The toArray purpose
  • Yaf_Config_Ini::valid — The valid purpose
Yaf_Config_Abstract::toArray
Yaf_Config_Ini::__construct
Yaf


The __construct purpose

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__construct

(PECL yaf >=1.0.0)

Yaf_Config_Ini::__construct — The __construct purpose

Описание

Yaf_Config_Ini::__construct ( string $config_file [, string $section ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

config_file

section

Возвращаемые значения

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini


The count purpose

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::count

(PECL yaf >=1.0.0)

Yaf_Config_Ini::count — The count purpose

Описание

public void Yaf_Config_Ini::count ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini


The current purpose

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::current

(PECL yaf >=1.0.0)

Yaf_Config_Ini::current — The current purpose

Описание

public void Yaf_Config_Ini::current ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini


The __get purpose

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__get

(PECL yaf >=1.0.0)

Yaf_Config_Ini::__get — The __get purpose

Описание

public void Yaf_Config_Ini::__get ([ string $name ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini


The __isset purpose

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__isset

(PECL yaf >=1.0.0)

Yaf_Config_Ini::__isset — The __isset purpose

Описание

public void Yaf_Config_Ini::__isset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini


The key purpose

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::key

(PECL yaf >=1.0.0)

Yaf_Config_Ini::key — The key purpose

Описание

public void Yaf_Config_Ini::key ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini


The next purpose

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::next

(PECL yaf >=1.0.0)

Yaf_Config_Ini::next — The next purpose

Описание

public void Yaf_Config_Ini::next ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini


The offsetExists purpose

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetExists

(PECL yaf >=1.0.0)

Yaf_Config_Ini::offsetExists — The offsetExists purpose

Описание

public void Yaf_Config_Ini::offsetExists ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini


The offsetGet purpose

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetGet

(PECL yaf >=1.0.0)

Yaf_Config_Ini::offsetGet — The offsetGet purpose

Описание

public void Yaf_Config_Ini::offsetGet ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini


The offsetSet purpose

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetSet

(PECL yaf >=1.0.0)

Yaf_Config_Ini::offsetSet — The offsetSet purpose

Описание

public void Yaf_Config_Ini::offsetSet ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini


The offsetUnset purpose

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetUnset

(PECL yaf >=1.0.0)

Yaf_Config_Ini::offsetUnset — The offsetUnset purpose

Описание

public void Yaf_Config_Ini::offsetUnset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini


The readonly purpose

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::readonly

(PECL yaf >=1.0.0)

Yaf_Config_Ini::readonly — The readonly purpose

Описание

public void Yaf_Config_Ini::readonly ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini


The rewind purpose

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::rewind

(PECL yaf >=1.0.0)

Yaf_Config_Ini::rewind — The rewind purpose

Описание

public void Yaf_Config_Ini::rewind ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini


The __set purpose

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__set

(PECL yaf >=1.0.0)

Yaf_Config_Ini::__set — The __set purpose

Описание

public void Yaf_Config_Ini::__set ( string $name , mixed $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini


The toArray purpose

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::toArray

(PECL yaf >=1.0.0)

Yaf_Config_Ini::toArray — The toArray purpose

Описание

public void Yaf_Config_Ini::toArray ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini


The valid purpose

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::valid

(PECL yaf >=1.0.0)

Yaf_Config_Ini::valid — The valid purpose

Описание

public void Yaf_Config_Ini::valid ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini


The Yaf_Config_Simple class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator , Traversable , ArrayAccess , Countable {
/* Свойства */
protected $Yaf_Config_Simple->_readonly ;
/* Методы */
Yaf_Config_Simple::__construct ( string $config_file [, string $section ] )
public void Yaf_Config_Simple::count ( void )
public void Yaf_Config_Simple::current ( void )
public void Yaf_Config_Simple::__get ([ string $name ] )
public void Yaf_Config_Simple::__isset ( string $name )
public void Yaf_Config_Simple::key ( void )
public void Yaf_Config_Simple::next ( void )
public void Yaf_Config_Simple::offsetExists ( string $name )
public void Yaf_Config_Simple::offsetGet ( string $name )
public void Yaf_Config_Simple::offsetSet ( string $name , string $value )
public void Yaf_Config_Simple::offsetUnset ( string $name )
public void Yaf_Config_Simple::readonly ( void )
public void Yaf_Config_Simple::rewind ( void )
public void Yaf_Config_Simple::__set ( string $name , string $value )
public void Yaf_Config_Simple::toArray ( void )
public void Yaf_Config_Simple::valid ( void )
/* Наследуемые методы */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Свойства

_config

_readonly

Содержание

  • Yaf_Config_Simple::__construct — The __construct purpose
  • Yaf_Config_Simple::count — The count purpose
  • Yaf_Config_Simple::current — The current purpose
  • Yaf_Config_Simple::__get — The __get purpose
  • Yaf_Config_Simple::__isset — The __isset purpose
  • Yaf_Config_Simple::key — The key purpose
  • Yaf_Config_Simple::next — The next purpose
  • Yaf_Config_Simple::offsetExists — The offsetExists purpose
  • Yaf_Config_Simple::offsetGet — The offsetGet purpose
  • Yaf_Config_Simple::offsetSet — The offsetSet purpose
  • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Simple::readonly — The readonly purpose
  • Yaf_Config_Simple::rewind — The rewind purpose
  • Yaf_Config_Simple::__set — The __set purpose
  • Yaf_Config_Simple::toArray — The toArray purpose
  • Yaf_Config_Simple::valid — The valid purpose
Yaf_Config_Ini::valid
Yaf_Config_Simple::__construct
Yaf


The __construct purpose

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__construct

(PECL yaf >=1.0.0)

Yaf_Config_Simple::__construct — The __construct purpose

Описание

Yaf_Config_Simple::__construct ( string $config_file [, string $section ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

config_file

section

Возвращаемые значения

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple


The count purpose

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::count

(PECL yaf >=1.0.0)

Yaf_Config_Simple::count — The count purpose

Описание

public void Yaf_Config_Simple::count ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple


The current purpose

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::current

(PECL yaf >=1.0.0)

Yaf_Config_Simple::current — The current purpose

Описание

public void Yaf_Config_Simple::current ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple


The __get purpose

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__get

(PECL yaf >=1.0.0)

Yaf_Config_Simple::__get — The __get purpose

Описание

public void Yaf_Config_Simple::__get ([ string $name ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple


The __isset purpose

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__isset

(PECL yaf >=1.0.0)

Yaf_Config_Simple::__isset — The __isset purpose

Описание

public void Yaf_Config_Simple::__isset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple


The key purpose

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::key

(PECL yaf >=1.0.0)

Yaf_Config_Simple::key — The key purpose

Описание

public void Yaf_Config_Simple::key ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple


The next purpose

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::next

(PECL yaf >=1.0.0)

Yaf_Config_Simple::next — The next purpose

Описание

public void Yaf_Config_Simple::next ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple


The offsetExists purpose

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetExists

(PECL yaf >=1.0.0)

Yaf_Config_Simple::offsetExists — The offsetExists purpose

Описание

public void Yaf_Config_Simple::offsetExists ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple


The offsetGet purpose

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetGet

(PECL yaf >=1.0.0)

Yaf_Config_Simple::offsetGet — The offsetGet purpose

Описание

public void Yaf_Config_Simple::offsetGet ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple


The offsetSet purpose

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetSet

(PECL yaf >=1.0.0)

Yaf_Config_Simple::offsetSet — The offsetSet purpose

Описание

public void Yaf_Config_Simple::offsetSet ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple


The offsetUnset purpose

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetUnset

(PECL yaf >=1.0.0)

Yaf_Config_Simple::offsetUnset — The offsetUnset purpose

Описание

public void Yaf_Config_Simple::offsetUnset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple


The readonly purpose

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::readonly

(PECL yaf >=1.0.0)

Yaf_Config_Simple::readonly — The readonly purpose

Описание

public void Yaf_Config_Simple::readonly ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple


The rewind purpose

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::rewind

(PECL yaf >=1.0.0)

Yaf_Config_Simple::rewind — The rewind purpose

Описание

public void Yaf_Config_Simple::rewind ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple


The __set purpose

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__set

(PECL yaf >=1.0.0)

Yaf_Config_Simple::__set — The __set purpose

Описание

public void Yaf_Config_Simple::__set ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple


The toArray purpose

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::toArray

(PECL yaf >=1.0.0)

Yaf_Config_Simple::toArray — The toArray purpose

Описание

public void Yaf_Config_Simple::toArray ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple


The valid purpose

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::valid

(PECL yaf >=1.0.0)

Yaf_Config_Simple::valid — The valid purpose

Описание

public void Yaf_Config_Simple::valid ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple


The Yaf_Controller_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Controller_Abstract {
/* Свойства */
public $Yaf_Controller_Abstract->actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Методы */
final private void Yaf_Controller_Abstract::__clone ( void )
final private Yaf_Controller_Abstract::__construct ( void )
final protected void Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )
final public void Yaf_Controller_Abstract::forward ( string $module [, string $controller [, string $action [, array $paramters ]]] )
final public void Yaf_Controller_Abstract::getInvokeArg ( string $name )
final public void Yaf_Controller_Abstract::getInvokeArgs ( void )
final public void Yaf_Controller_Abstract::getModuleName ( void )
final public void Yaf_Controller_Abstract::getRequest ( void )
final public void Yaf_Controller_Abstract::getResponse ( void )
final public void Yaf_Controller_Abstract::getView ( void )
final public void Yaf_Controller_Abstract::getViewpath ( void )
final public void Yaf_Controller_Abstract::initView ([ array $options ] )
final public void Yaf_Controller_Abstract::redirect ( string $url )
final protected void Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )
final public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )
}

Свойства

actions

_module

_name

_request

_response

_invoke_args

_view

Содержание

  • Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned
  • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
  • Yaf_Controller_Abstract::display — The display purpose
  • Yaf_Controller_Abstract::forward — The forward purpose
  • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
  • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
  • Yaf_Controller_Abstract::getModuleName — The getModuleName purpose
  • Yaf_Controller_Abstract::getRequest — The getRequest purpose
  • Yaf_Controller_Abstract::getResponse — The getResponse purpose
  • Yaf_Controller_Abstract::getView — The getView purpose
  • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
  • Yaf_Controller_Abstract::initView — The initView purpose
  • Yaf_Controller_Abstract::redirect — The redirect purpose
  • Yaf_Controller_Abstract::render — The render purpose
  • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
Yaf_Config_Simple::valid
Yaf_Controller_Abstract::__clone
Yaf


Yaf_Controller_Abstract can not be cloned

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__clone

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned

Описание

final private void Yaf_Controller_Abstract::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract


Yaf_Controller_Abstract constructor

Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__construct

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor

Описание

final private Yaf_Controller_Abstract::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract


The display purpose

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::display

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::display — The display purpose

Описание

final protected void Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

parameters

Возвращаемые значения

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract


The forward purpose

Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::forward

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::forward — The forward purpose

Описание

final public void Yaf_Controller_Abstract::forward ( string $module [, string $controller [, string $action [, array $paramters ]]] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

module

controller

action

paramters

Возвращаемые значения

Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract


The getInvokeArg purpose

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArg

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose

Описание

final public void Yaf_Controller_Abstract::getInvokeArg ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract


The getInvokeArgs purpose

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArgs

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose

Описание

final public void Yaf_Controller_Abstract::getInvokeArgs ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract


The getModuleName purpose

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getModuleName

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getModuleName — The getModuleName purpose

Описание

final public void Yaf_Controller_Abstract::getModuleName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract


The getRequest purpose

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getRequest

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getRequest — The getRequest purpose

Описание

final public void Yaf_Controller_Abstract::getRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract


The getResponse purpose

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getResponse

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getResponse — The getResponse purpose

Описание

final public void Yaf_Controller_Abstract::getResponse ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract


The getView purpose

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getView

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getView — The getView purpose

Описание

final public void Yaf_Controller_Abstract::getView ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract


The getViewpath purpose

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getViewpath

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::getViewpath — The getViewpath purpose

Описание

final public void Yaf_Controller_Abstract::getViewpath ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract


The initView purpose

Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::initView

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::initView — The initView purpose

Описание

final public void Yaf_Controller_Abstract::initView ([ array $options ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

options

Возвращаемые значения

Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract


The redirect purpose

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::redirect

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::redirect — The redirect purpose

Описание

final public void Yaf_Controller_Abstract::redirect ( string $url )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

url

Возвращаемые значения

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract


The render purpose

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::render

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::render — The render purpose

Описание

final protected void Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

parameters

Возвращаемые значения

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract


The setViewpath purpose

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::setViewpath

(PECL yaf >=1.0.0)

Yaf_Controller_Abstract::setViewpath — The setViewpath purpose

Описание

final public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

view_directory

Возвращаемые значения

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract


The Yaf_Action_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Action_Abstract extends Yaf_Controller_Abstract {
/* Свойства */
protected $Yaf_Action_Abstract->_controller ;
/* Методы */
abstract publicmixed Yaf_Action_Abstract::execute ( mixed $arg [, mixed $... ] )
publicYaf_Controller_Abstract Yaf_Action_Abstract::getController ( void )
/* Наследуемые методы */
final private void Yaf_Controller_Abstract::__clone ( void )
final private Yaf_Controller_Abstract::__construct ( void )
final protected void Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )
final public void Yaf_Controller_Abstract::forward ( string $module [, string $controller [, string $action [, array $paramters ]]] )
final public void Yaf_Controller_Abstract::getInvokeArg ( string $name )
final public void Yaf_Controller_Abstract::getInvokeArgs ( void )
final public void Yaf_Controller_Abstract::getModuleName ( void )
final public void Yaf_Controller_Abstract::getRequest ( void )
final public void Yaf_Controller_Abstract::getResponse ( void )
final public void Yaf_Controller_Abstract::getView ( void )
final public void Yaf_Controller_Abstract::getViewpath ( void )
final public void Yaf_Controller_Abstract::initView ([ array $options ] )
final public void Yaf_Controller_Abstract::redirect ( string $url )
final protected void Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )
final public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )
}

Свойства

actions

_module

_name

_request

_response

_invoke_args

_view

_controller

Содержание

  • Yaf_Action_Abstract::execute — entry point method
  • Yaf_Action_Abstract::getController — get controller instance
Yaf_Controller_Abstract::setViewpath
Yaf_Action_Abstract::execute
Yaf


entry point method

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::execute

(PECL yaf >=1.0.0)

Yaf_Action_Abstract::execute — entry point method

Описание

abstract publicmixed Yaf_Action_Abstract::execute ( mixed $arg [, mixed $... ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract


get controller instance

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::getController

(PECL yaf >=1.0.0)

Yaf_Action_Abstract::getController — get controller instance

Описание

publicYaf_Controller_Abstract Yaf_Action_Abstract::getController ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract


The Yaf_View_Interface class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_View_Interface {
/* Методы */
abstract public void assign ( string $name [, string $value ] )
abstract public void display ( string $tpl [, string $tpl_vars ] )
abstract public void getScriptPath ( void )
abstract public void render ( string $tpl [, string $tpl_vars ] )
abstract public void setScriptPath ( string $template_dir )
}

Содержание

  • Yaf_View_Interface::assign — The assign purpose
  • Yaf_View_Interface::display — The display purpose
  • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
  • Yaf_View_Interface::render — The render purpose
  • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
Yaf_Action_Abstract::getController
Yaf_View_Interface::assign
Yaf


The assign purpose

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::assign

(PECL yaf >=1.0.0)

Yaf_View_Interface::assign — The assign purpose

Описание

abstract public void Yaf_View_Interface::assign ( string $name [, string $value ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface


The display purpose

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::display

(PECL yaf >=1.0.0)

Yaf_View_Interface::display — The display purpose

Описание

abstract public void Yaf_View_Interface::display ( string $tpl [, string $tpl_vars ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

tpl_vars

Возвращаемые значения

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface


The getScriptPath purpose

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::getScriptPath

(PECL yaf >=1.0.0)

Yaf_View_Interface::getScriptPath — The getScriptPath purpose

Описание

abstract public void Yaf_View_Interface::getScriptPath ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface


The render purpose

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::render

(PECL yaf >=1.0.0)

Yaf_View_Interface::render — The render purpose

Описание

abstract public void Yaf_View_Interface::render ( string $tpl [, string $tpl_vars ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

tpl_vars

Возвращаемые значения

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface


The setScriptPath purpose

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::setScriptPath

(PECL yaf >=1.0.0)

Yaf_View_Interface::setScriptPath — The setScriptPath purpose

Описание

abstract public void Yaf_View_Interface::setScriptPath ( string $template_dir )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

template_dir

Возвращаемые значения

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface


The Yaf_View_Simple class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_View_Simple implements Yaf_View_Interface {
/* Свойства */
protected $Yaf_View_Simple->_tpl_vars ;
protected $_tpl_dir ;
/* Методы */
public void Yaf_View_Simple::assign ( string $name [, string $value ] )
public void Yaf_View_Simple::assignRef ( string $name , string &$value )
Yaf_View_Simple::__construct ( string $tempalte_dir [, array $options ] )
public void Yaf_View_Simple::display ( string $tpl [, string $tpl_vars ] )
public void Yaf_View_Simple::__get ( string $name )
public void Yaf_View_Simple::getScriptPath ( void )
public void Yaf_View_Simple::__isset ( string $name )
public void Yaf_View_Simple::render ( string $tpl [, string $tpl_vars ] )
public void Yaf_View_Simple::__set ( string $name [, string $value ] )
public void Yaf_View_Simple::setScriptPath ( string $template_dir )
}

Свойства

_tpl_vars

_tpl_dir

Содержание

  • Yaf_View_Simple::assign — The assign purpose
  • Yaf_View_Simple::assignRef — The assignRef purpose
  • Yaf_View_Simple::__construct — The __construct purpose
  • Yaf_View_Simple::display — The display purpose
  • Yaf_View_Simple::__get — The __get purpose
  • Yaf_View_Simple::getScriptPath — The getScriptPath purpose
  • Yaf_View_Simple::__isset — The __isset purpose
  • Yaf_View_Simple::render — The render purpose
  • Yaf_View_Simple::__set — The __set purpose
  • Yaf_View_Simple::setScriptPath — The setScriptPath purpose
Yaf_View_Interface::setScriptPath
Yaf_View_Simple::assign
Yaf


The assign purpose

Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assign

(PECL yaf >=1.0.0)

Yaf_View_Simple::assign — The assign purpose

Описание

public void Yaf_View_Simple::assign ( string $name [, string $value ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple


The assignRef purpose

Yaf_View_Simple::assign
Yaf_View_Simple::__construct
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assignRef

(PECL yaf >=1.0.0)

Yaf_View_Simple::assignRef — The assignRef purpose

Описание

public void Yaf_View_Simple::assignRef ( string $name , string &$value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_View_Simple::assign
Yaf_View_Simple::__construct
Yaf_View_Simple


The __construct purpose

Yaf_View_Simple::assignRef
Yaf_View_Simple::display
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__construct

(PECL yaf >=1.0.0)

Yaf_View_Simple::__construct — The __construct purpose

Описание

Yaf_View_Simple::__construct ( string $tempalte_dir [, array $options ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tempalte_dir

options

Возвращаемые значения

Yaf_View_Simple::assignRef
Yaf_View_Simple::display
Yaf_View_Simple


The display purpose

Yaf_View_Simple::__construct
Yaf_View_Simple::__get
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::display

(PECL yaf >=1.0.0)

Yaf_View_Simple::display — The display purpose

Описание

public void Yaf_View_Simple::display ( string $tpl [, string $tpl_vars ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

tpl_vars

Возвращаемые значения

Yaf_View_Simple::__construct
Yaf_View_Simple::__get
Yaf_View_Simple


The __get purpose

Yaf_View_Simple::display
Yaf_View_Simple::getScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__get

(PECL yaf >=1.0.0)

Yaf_View_Simple::__get — The __get purpose

Описание

public void Yaf_View_Simple::__get ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_View_Simple::display
Yaf_View_Simple::getScriptPath
Yaf_View_Simple


The getScriptPath purpose

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::getScriptPath

(PECL yaf >=1.0.0)

Yaf_View_Simple::getScriptPath — The getScriptPath purpose

Описание

public void Yaf_View_Simple::getScriptPath ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple


The __isset purpose

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__isset

(PECL yaf >=1.0.0)

Yaf_View_Simple::__isset — The __isset purpose

Описание

public void Yaf_View_Simple::__isset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple


The render purpose

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::render

(PECL yaf >=1.0.0)

Yaf_View_Simple::render — The render purpose

Описание

public void Yaf_View_Simple::render ( string $tpl [, string $tpl_vars ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

tpl

tpl_vars

Возвращаемые значения

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple


The __set purpose

Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__set

(PECL yaf >=1.0.0)

Yaf_View_Simple::__set — The __set purpose

Описание

public void Yaf_View_Simple::__set ( string $name [, string $value ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple


The setScriptPath purpose

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::setScriptPath

(PECL yaf >=1.0.0)

Yaf_View_Simple::setScriptPath — The setScriptPath purpose

Описание

public void Yaf_View_Simple::setScriptPath ( string $template_dir )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

template_dir

Возвращаемые значения

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple


The Yaf_Loader class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Loader {
/* Свойства */
protected $Yaf_Loader->_local_ns ;
protected $_library ;
protected $_global_library ;
static $_instance ;
/* Методы */
public void Yaf_Loader::autoload ( void )
public void Yaf_Loader::clearLocalNamespace ( void )
private void Yaf_Loader::__clone ( void )
Yaf_Loader::__construct ( void )
public static void Yaf_Loader::getInstance ( void )
public Yaf_Loader Yaf_Loader::getLibraryPath ([ bool $is_global = false ] )
public void Yaf_Loader::getLocalNamespace ( void )
public static void Yaf_Loader::import ( void )
public void Yaf_Loader::isLocalName ( void )
public void Yaf_Loader::registerLocalNamespace ( void )
public Yaf_Loader Yaf_Loader::setLibraryPath ( string $directory [, bool $is_global = false ] )
private void Yaf_Loader::__sleep ( void )
private void Yaf_Loader::__wakeup ( void )
}

Свойства

_local_ns

_library

_global_library

_instance

Содержание

  • Yaf_Loader::autoload — The autoload purpose
  • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
  • Yaf_Loader::__clone — The __clone purpose
  • Yaf_Loader::__construct — The __construct purpose
  • Yaf_Loader::getInstance — The getInstance purpose
  • Yaf_Loader::getLibraryPath — get the library path
  • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
  • Yaf_Loader::import — The import purpose
  • Yaf_Loader::isLocalName — The isLocalName purpose
  • Yaf_Loader::registerLocalNamespace — The registerLocalNamespace purpose
  • Yaf_Loader::setLibraryPath — Change the library path
  • Yaf_Loader::__sleep — The __sleep purpose
  • Yaf_Loader::__wakeup — The __wakeup purpose
Yaf_View_Simple::setScriptPath
Yaf_Loader::autoload
Yaf


The autoload purpose

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::autoload

(PECL yaf >=1.0.0)

Yaf_Loader::autoload — The autoload purpose

Описание

public void Yaf_Loader::autoload ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader


The clearLocalNamespace purpose

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader
PHP Manual

Yaf_Loader::clearLocalNamespace

(PECL yaf >=1.0.0)

Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose

Описание

public void Yaf_Loader::clearLocalNamespace ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader


The __clone purpose

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader
PHP Manual

Yaf_Loader::__clone

(PECL yaf >=1.0.0)

Yaf_Loader::__clone — The __clone purpose

Описание

private void Yaf_Loader::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader


The __construct purpose

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader
PHP Manual

Yaf_Loader::__construct

(PECL yaf >=1.0.0)

Yaf_Loader::__construct — The __construct purpose

Описание

Yaf_Loader::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader


The getInstance purpose

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::getInstance

(PECL yaf >=1.0.0)

Yaf_Loader::getInstance — The getInstance purpose

Описание

public static void Yaf_Loader::getInstance ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader


get the library path

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::getLibraryPath

(PECL yaf >=2.1.4)

Yaf_Loader::getLibraryPath — get the library path

Описание

public Yaf_Loader Yaf_Loader::getLibraryPath ([ bool $is_global = false ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader


The getLocalNamespace purpose

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader
PHP Manual

Yaf_Loader::getLocalNamespace

(PECL yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose

Описание

public void Yaf_Loader::getLocalNamespace ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader


The import purpose

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader
PHP Manual

Yaf_Loader::import

(PECL yaf >=1.0.0)

Yaf_Loader::import — The import purpose

Описание

public static void Yaf_Loader::import ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader


The isLocalName purpose

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::isLocalName

(PECL yaf >=1.0.0)

Yaf_Loader::isLocalName — The isLocalName purpose

Описание

public void Yaf_Loader::isLocalName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader


The registerLocalNamespace purpose

Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::registerLocalNamespace

(PECL yaf >=1.0.0)

Yaf_Loader::registerLocalNamespace — The registerLocalNamespace purpose

Описание

public void Yaf_Loader::registerLocalNamespace ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader


Change the library path

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader
PHP Manual

Yaf_Loader::setLibraryPath

(PECL yaf >=2.1.4)

Yaf_Loader::setLibraryPath — Change the library path

Описание

public Yaf_Loader Yaf_Loader::setLibraryPath ( string $directory [, bool $is_global = false ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader


The __sleep purpose

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader
PHP Manual

Yaf_Loader::__sleep

(PECL yaf >=1.0.0)

Yaf_Loader::__sleep — The __sleep purpose

Описание

private void Yaf_Loader::__sleep ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader


The __wakeup purpose

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader
PHP Manual

Yaf_Loader::__wakeup

(PECL yaf >=1.0.0)

Yaf_Loader::__wakeup — The __wakeup purpose

Описание

private void Yaf_Loader::__wakeup ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader


The Yaf_Plugin_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Plugin_Abstract {
/* Методы */
public void dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
}

Содержание

  • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose
  • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
  • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
  • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
  • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
  • Yaf_Plugin_Abstract::routerStartup — The routerStartup purpose
Yaf_Loader::__wakeup
Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf


The dispatchLoopShutdown purpose

Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopShutdown

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose

Описание

public void Yaf_Plugin_Abstract::dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract


The dispatchLoopStartup purpose

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopStartup

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose

Описание

public void Yaf_Plugin_Abstract::dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract


The postDispatch purpose

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::postDispatch

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose

Описание

public void Yaf_Plugin_Abstract::postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract


The preDispatch purpose

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preDispatch

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose

Описание

public void Yaf_Plugin_Abstract::preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract


The preResponse purpose

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preResponse

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::preResponse — The preResponse purpose

Описание

public void Yaf_Plugin_Abstract::preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract


The routerShutdown purpose

Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerShutdown

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose

Описание

public void Yaf_Plugin_Abstract::routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract


The routerStartup purpose

Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerStartup

(PECL yaf >=1.0.0)

Yaf_Plugin_Abstract::routerStartup — The routerStartup purpose

Описание

public void Yaf_Plugin_Abstract::routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

response

Возвращаемые значения

Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract


The Yaf_Registry class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Registry {
/* Свойства */
static $Yaf_Registry->_instance ;
protected $_entries ;
/* Методы */
private void Yaf_Registry::__clone ( void )
Yaf_Registry::__construct ( void )
public static void Yaf_Registry::del ( string $name )
public static void Yaf_Registry::get ( string $name )
public static void Yaf_Registry::has ( string $name )
public static void Yaf_Registry::set ( string $name , string $value )
}

Свойства

_instance

_entries

Содержание

  • Yaf_Registry::__clone — The __clone purpose
  • Yaf_Registry::__construct — The __construct purpose
  • Yaf_Registry::del — The del purpose
  • Yaf_Registry::get — The get purpose
  • Yaf_Registry::has — The has purpose
  • Yaf_Registry::set — The set purpose
Yaf_Plugin_Abstract::routerStartup
Yaf_Registry::__clone
Yaf


The __clone purpose

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry
PHP Manual

Yaf_Registry::__clone

(PECL yaf >=1.0.0)

Yaf_Registry::__clone — The __clone purpose

Описание

private void Yaf_Registry::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry


The __construct purpose

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry
PHP Manual

Yaf_Registry::__construct

(PECL yaf >=1.0.0)

Yaf_Registry::__construct — The __construct purpose

Описание

Yaf_Registry::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry


The del purpose

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry
PHP Manual

Yaf_Registry::del

(PECL yaf >=1.0.0)

Yaf_Registry::del — The del purpose

Описание

public static void Yaf_Registry::del ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry


The get purpose

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry
PHP Manual

Yaf_Registry::get

(PECL yaf >=1.0.0)

Yaf_Registry::get — The get purpose

Описание

public static void Yaf_Registry::get ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry


The has purpose

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry
PHP Manual

Yaf_Registry::has

(PECL yaf >=1.0.0)

Yaf_Registry::has — The has purpose

Описание

public static void Yaf_Registry::has ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry


The set purpose

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry
PHP Manual

Yaf_Registry::set

(PECL yaf >=1.0.0)

Yaf_Registry::set — The set purpose

Описание

public static void Yaf_Registry::set ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry


The Yaf_Request_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Свойства */
public $Yaf_Request_Abstract->module ;
public $controller ;
public $action ;
public $method ;
protected $params ;
protected $language ;
protected $_exception ;
protected $_base_uri ;
protected $uri ;
protected $dispatched ;
protected $routed ;
/* Методы */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public void Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Свойства

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Предопределенные константы

Yaf_Request_Abstract Node Types

Yaf_Request_Abstract::SCHEME_HTTP

Yaf_Request_Abstract::SCHEME_HTTPS

Содержание

  • Yaf_Request_Abstract::getActionName — The getActionName purpose
  • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
  • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
  • Yaf_Request_Abstract::getEnv — The getEnv purpose
  • Yaf_Request_Abstract::getException — The getException purpose
  • Yaf_Request_Abstract::getLanguage — The getLanguage purpose
  • Yaf_Request_Abstract::getMethod — The getMethod purpose
  • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
  • Yaf_Request_Abstract::getParam — The getParam purpose
  • Yaf_Request_Abstract::getParams — The getParams purpose
  • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
  • Yaf_Request_Abstract::getServer — The getServer purpose
  • Yaf_Request_Abstract::isCli — The isCli purpose
  • Yaf_Request_Abstract::isDispatched — The isDispatched purpose
  • Yaf_Request_Abstract::isGet — The isGet purpose
  • Yaf_Request_Abstract::isHead — The isHead purpose
  • Yaf_Request_Abstract::isOptions — The isOptions purpose
  • Yaf_Request_Abstract::isPost — The isPost purpose
  • Yaf_Request_Abstract::isPut — The isPut purpose
  • Yaf_Request_Abstract::isRouted — The isRouted purpose
  • Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose
  • Yaf_Request_Abstract::setActionName — The setActionName purpose
  • Yaf_Request_Abstract::setBaseUri — The setBaseUri purpose
  • Yaf_Request_Abstract::setControllerName — The setControllerName purpose
  • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
  • Yaf_Request_Abstract::setModuleName — The setModuleName purpose
  • Yaf_Request_Abstract::setParam — The setParam purpose
  • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
  • Yaf_Request_Abstract::setRouted — The setRouted purpose
Yaf_Registry::set
Yaf_Request_Abstract::getActionName
Yaf


The getActionName purpose

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getActionName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getActionName — The getActionName purpose

Описание

public void Yaf_Request_Abstract::getActionName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract


The getBaseUri purpose

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getBaseUri

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose

Описание

public void Yaf_Request_Abstract::getBaseUri ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract


The getControllerName purpose

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getControllerName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getControllerName — The getControllerName purpose

Описание

public void Yaf_Request_Abstract::getControllerName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract


The getEnv purpose

Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getEnv

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getEnv — The getEnv purpose

Описание

public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

default

Возвращаемые значения

Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract


The getException purpose

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getException

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getException — The getException purpose

Описание

public void Yaf_Request_Abstract::getException ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract


The getLanguage purpose

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getLanguage

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getLanguage — The getLanguage purpose

Описание

public void Yaf_Request_Abstract::getLanguage ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract


The getMethod purpose

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getMethod

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getMethod — The getMethod purpose

Описание

public void Yaf_Request_Abstract::getMethod ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract


The getModuleName purpose

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getModuleName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getModuleName — The getModuleName purpose

Описание

public void Yaf_Request_Abstract::getModuleName ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract


The getParam purpose

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParam

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getParam — The getParam purpose

Описание

public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

default

Возвращаемые значения

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract


The getParams purpose

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParams

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getParams — The getParams purpose

Описание

public void Yaf_Request_Abstract::getParams ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract


The getRequestUri purpose

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getRequestUri

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose

Описание

public void Yaf_Request_Abstract::getRequestUri ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract


The getServer purpose

Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getServer

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::getServer — The getServer purpose

Описание

public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

default

Возвращаемые значения

Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract


The isCli purpose

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isCli

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isCli — The isCli purpose

Описание

public void Yaf_Request_Abstract::isCli ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract


The isDispatched purpose

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isDispatched

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isDispatched — The isDispatched purpose

Описание

public void Yaf_Request_Abstract::isDispatched ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract


The isGet purpose

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isGet

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isGet — The isGet purpose

Описание

public void Yaf_Request_Abstract::isGet ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract


The isHead purpose

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isHead

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isHead — The isHead purpose

Описание

public void Yaf_Request_Abstract::isHead ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract


The isOptions purpose

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isOptions

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isOptions — The isOptions purpose

Описание

public void Yaf_Request_Abstract::isOptions ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract


The isPost purpose

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPost

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isPost — The isPost purpose

Описание

public void Yaf_Request_Abstract::isPost ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract


The isPut purpose

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPut

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isPut — The isPut purpose

Описание

public void Yaf_Request_Abstract::isPut ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract


The isRouted purpose

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isRouted

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isRouted — The isRouted purpose

Описание

public void Yaf_Request_Abstract::isRouted ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract


The isXmlHttpRequest purpose

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isXmlHttpRequest

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose

Описание

public void Yaf_Request_Abstract::isXmlHttpRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract


The setActionName purpose

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setActionName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setActionName — The setActionName purpose

Описание

public void Yaf_Request_Abstract::setActionName ( string $action )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

action

Возвращаемые значения

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract


The setBaseUri purpose

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setBaseUri

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setBaseUri — The setBaseUri purpose

Описание

public void Yaf_Request_Abstract::setBaseUri ( string $uir )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

uir

Возвращаемые значения

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract


The setControllerName purpose

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setControllerName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setControllerName — The setControllerName purpose

Описание

public void Yaf_Request_Abstract::setControllerName ( string $controller )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

controller

Возвращаемые значения

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract


The setDispatched purpose

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setDispatched

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setDispatched — The setDispatched purpose

Описание

public void Yaf_Request_Abstract::setDispatched ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract


The setModuleName purpose

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setModuleName

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setModuleName — The setModuleName purpose

Описание

public void Yaf_Request_Abstract::setModuleName ( string $module )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

module

Возвращаемые значения

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract


The setParam purpose

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setParam

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setParam — The setParam purpose

Описание

public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract


The setRequestUri purpose

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRequestUri

(PECL yaf >=2.1.0)

Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose

Описание

public void Yaf_Request_Abstract::setRequestUri ( string $uir )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

uir

Возвращаемые значения

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract


The setRouted purpose

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRouted

(PECL yaf >=1.0.0)

Yaf_Request_Abstract::setRouted — The setRouted purpose

Описание

public void Yaf_Request_Abstract::setRouted ([ string $flag ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flag

Возвращаемые значения

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract


The Yaf_Request_Http class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Request_Http extends Yaf_Request_Abstract {
/* Свойства */
/* Методы */
private void __clone ( void )
__construct ( void )
public void get ( void )
public void getCookie ( void )
public void getFiles ( void )
public void getPost ( void )
public void getQuery ( void )
public void getRequest ( void )
public void isXmlHttpRequest ( void )
/* Наследуемые методы */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public void Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Свойства

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Содержание

  • Yaf_Request_Http::__clone — The __clone purpose
  • Yaf_Request_Http::__construct — The __construct purpose
  • Yaf_Request_Http::get — The get purpose
  • Yaf_Request_Http::getCookie — The getCookie purpose
  • Yaf_Request_Http::getFiles — The getFiles purpose
  • Yaf_Request_Http::getPost — The getPost purpose
  • Yaf_Request_Http::getQuery — The getQuery purpose
  • Yaf_Request_Http::getRequest — The getRequest purpose
  • Yaf_Request_Http::isXmlHttpRequest — The isXmlHttpRequest purpose
Yaf_Request_Abstract::setRouted
Yaf_Request_Http::__clone
Yaf


The __clone purpose

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__clone

(PECL yaf >=1.0.0)

Yaf_Request_Http::__clone — The __clone purpose

Описание

private void Yaf_Request_Http::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http


The __construct purpose

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__construct

(PECL yaf >=1.0.0)

Yaf_Request_Http::__construct — The __construct purpose

Описание

Yaf_Request_Http::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http


The get purpose

Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::get

(PECL yaf >=1.0.0)

Yaf_Request_Http::get — The get purpose

Описание

public void Yaf_Request_Http::get ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http


The getCookie purpose

Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getCookie

(PECL yaf >=1.0.0)

Yaf_Request_Http::getCookie — The getCookie purpose

Описание

public void Yaf_Request_Http::getCookie ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http


The getFiles purpose

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getFiles

(PECL yaf >=1.0.0)

Yaf_Request_Http::getFiles — The getFiles purpose

Описание

public void Yaf_Request_Http::getFiles ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http


The getPost purpose

Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getPost

(PECL yaf >=1.0.0)

Yaf_Request_Http::getPost — The getPost purpose

Описание

public void Yaf_Request_Http::getPost ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http


The getQuery purpose

Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getQuery

(PECL yaf >=1.0.0)

Yaf_Request_Http::getQuery — The getQuery purpose

Описание

public void Yaf_Request_Http::getQuery ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http


The getRequest purpose

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getRequest

(PECL yaf >=1.0.0)

Yaf_Request_Http::getRequest — The getRequest purpose

Описание

public void Yaf_Request_Http::getRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http


The isXmlHttpRequest purpose

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::isXmlHttpRequest

(PECL yaf >=1.0.0)

Yaf_Request_Http::isXmlHttpRequest — The isXmlHttpRequest purpose

Описание

public void Yaf_Request_Http::isXmlHttpRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http


The Yaf_Request_Simple class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Request_Simple extends Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Свойства */
/* Методы */
private void __clone ( void )
__construct ( void )
public void get ( void )
public void getCookie ( void )
public void getFiles ( void )
public void getPost ( void )
public void getQuery ( void )
public void getRequest ( void )
public void isXmlHttpRequest ( void )
/* Наследуемые методы */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public void Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Свойства

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Предопределенные константы

Yaf_Request_Simple Node Types

Yaf_Request_Simple::SCHEME_HTTP

Yaf_Request_Simple::SCHEME_HTTPS

Содержание

  • Yaf_Request_Simple::__clone — The __clone purpose
  • Yaf_Request_Simple::__construct — The __construct purpose
  • Yaf_Request_Simple::get — The get purpose
  • Yaf_Request_Simple::getCookie — The getCookie purpose
  • Yaf_Request_Simple::getFiles — The getFiles purpose
  • Yaf_Request_Simple::getPost — The getPost purpose
  • Yaf_Request_Simple::getQuery — The getQuery purpose
  • Yaf_Request_Simple::getRequest — The getRequest purpose
  • Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Simple::__clone
Yaf


The __clone purpose

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__clone

(PECL yaf >=1.0.0)

Yaf_Request_Simple::__clone — The __clone purpose

Описание

private void Yaf_Request_Simple::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple


The __construct purpose

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__construct

(PECL yaf >=1.0.0)

Yaf_Request_Simple::__construct — The __construct purpose

Описание

Yaf_Request_Simple::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple


The get purpose

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::get

(PECL yaf >=1.0.0)

Yaf_Request_Simple::get — The get purpose

Описание

public void Yaf_Request_Simple::get ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple


The getCookie purpose

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getCookie

(PECL yaf >=1.0.0)

Yaf_Request_Simple::getCookie — The getCookie purpose

Описание

public void Yaf_Request_Simple::getCookie ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple


The getFiles purpose

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getFiles

(PECL yaf >=1.0.0)

Yaf_Request_Simple::getFiles — The getFiles purpose

Описание

public void Yaf_Request_Simple::getFiles ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple


The getPost purpose

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getPost

(PECL yaf >=1.0.0)

Yaf_Request_Simple::getPost — The getPost purpose

Описание

public void Yaf_Request_Simple::getPost ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple


The getQuery purpose

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getQuery

(PECL yaf >=1.0.0)

Yaf_Request_Simple::getQuery — The getQuery purpose

Описание

public void Yaf_Request_Simple::getQuery ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple


The getRequest purpose

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getRequest

(PECL yaf >=1.0.0)

Yaf_Request_Simple::getRequest — The getRequest purpose

Описание

public void Yaf_Request_Simple::getRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple


The isXmlHttpRequest purpose

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::isXmlHttpRequest

(PECL yaf >=1.0.0)

Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose

Описание

public void Yaf_Request_Simple::isXmlHttpRequest ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple


The Yaf_Response_Abstract class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Response_Abstract {
/* Свойства */
protected $Yaf_Response_Abstract->_header ;
protected $_body ;
protected $_sendheader ;
/* Методы */
public void Yaf_Response_Abstract::appendBody ( void )
public void Yaf_Response_Abstract::clearBody ( void )
public void Yaf_Response_Abstract::clearHeaders ( void )
private void Yaf_Response_Abstract::__clone ( void )
Yaf_Response_Abstract::__construct ( void )
public void Yaf_Response_Abstract::__destruct ( void )
public void Yaf_Response_Abstract::getBody ( void )
public void Yaf_Response_Abstract::getHeader ( void )
public void Yaf_Response_Abstract::prependBody ( void )
public void Yaf_Response_Abstract::response ( void )
protected void Yaf_Response_Abstract::setAllHeaders ( void )
public void Yaf_Response_Abstract::setBody ( void )
public void Yaf_Response_Abstract::setHeader ( void )
public void Yaf_Response_Abstract::setRedirect ( void )
private void Yaf_Response_Abstract::__toString ( void )
}

Свойства

_header

_body

_sendheader

Содержание

  • Yaf_Response_Abstract::appendBody — The appendBody purpose
  • Yaf_Response_Abstract::clearBody — The clearBody purpose
  • Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose
  • Yaf_Response_Abstract::__clone — The __clone purpose
  • Yaf_Response_Abstract::__construct — The __construct purpose
  • Yaf_Response_Abstract::__destruct — The __destruct purpose
  • Yaf_Response_Abstract::getBody — The getBody purpose
  • Yaf_Response_Abstract::getHeader — The getHeader purpose
  • Yaf_Response_Abstract::prependBody — The prependBody purpose
  • Yaf_Response_Abstract::response — The response purpose
  • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
  • Yaf_Response_Abstract::setBody — The setBody purpose
  • Yaf_Response_Abstract::setHeader — The setHeader purpose
  • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
  • Yaf_Response_Abstract::__toString — The __toString purpose
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Response_Abstract::appendBody
Yaf


The appendBody purpose

Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::appendBody

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::appendBody — The appendBody purpose

Описание

public void Yaf_Response_Abstract::appendBody ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract


The clearBody purpose

Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearBody

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::clearBody — The clearBody purpose

Описание

public void Yaf_Response_Abstract::clearBody ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract


The clearHeaders purpose

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearHeaders

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose

Описание

public void Yaf_Response_Abstract::clearHeaders ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract


The __clone purpose

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__clone

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::__clone — The __clone purpose

Описание

private void Yaf_Response_Abstract::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract


The __construct purpose

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__construct

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::__construct — The __construct purpose

Описание

Yaf_Response_Abstract::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract


The __destruct purpose

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__destruct

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::__destruct — The __destruct purpose

Описание

public void Yaf_Response_Abstract::__destruct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract


The getBody purpose

Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getBody

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::getBody — The getBody purpose

Описание

public void Yaf_Response_Abstract::getBody ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract


The getHeader purpose

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getHeader

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::getHeader — The getHeader purpose

Описание

public void Yaf_Response_Abstract::getHeader ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract


The prependBody purpose

Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::prependBody

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::prependBody — The prependBody purpose

Описание

public void Yaf_Response_Abstract::prependBody ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract


The response purpose

Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::response

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::response — The response purpose

Описание

public void Yaf_Response_Abstract::response ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract


The setAllHeaders purpose

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setAllHeaders

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose

Описание

protected void Yaf_Response_Abstract::setAllHeaders ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract


The setBody purpose

Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setBody

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::setBody — The setBody purpose

Описание

public void Yaf_Response_Abstract::setBody ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract


The setHeader purpose

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setHeader

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::setHeader — The setHeader purpose

Описание

public void Yaf_Response_Abstract::setHeader ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract


The setRedirect purpose

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setRedirect

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::setRedirect — The setRedirect purpose

Описание

public void Yaf_Response_Abstract::setRedirect ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract


The __toString purpose

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__toString

(PECL yaf >=1.0.0)

Yaf_Response_Abstract::__toString — The __toString purpose

Описание

private void Yaf_Response_Abstract::__toString ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract


The Yaf_Route_Interface class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Interface {
/* Методы */
abstract public void route ( string $request )
}

Содержание

  • Yaf_Route_Interface::route — The route purpose
Yaf_Response_Abstract::__toString
Yaf_Route_Interface::route
Yaf


The route purpose

Yaf_Route_Interface
Yaf_Route_Map
Yaf_Route_Interface
PHP Manual

Yaf_Route_Interface::route

(PECL yaf >=1.0.0)

Yaf_Route_Interface::route — The route purpose

Описание

abstract public void Yaf_Route_Interface::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Interface
Yaf_Route_Map
Yaf_Route_Interface


The Yaf_Route_Map class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Map implements Yaf_Route_Interface {
/* Свойства */
protected $Yaf_Route_Map->_ctl_router ;
protected $_delimeter ;
/* Методы */
Yaf_Route_Map::__construct ([ string $controller_prefer [, string $delimiter ]] )
public void Yaf_Route_Map::route ( string $request )
}

Свойства

_ctl_router

_delimeter

Содержание

  • Yaf_Route_Map::__construct — The __construct purpose
  • Yaf_Route_Map::route — The route purpose
Yaf_Route_Interface::route
Yaf_Route_Map::__construct
Yaf


The __construct purpose

Yaf_Route_Map
Yaf_Route_Map::route
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::__construct

(PECL yaf >=1.0.0)

Yaf_Route_Map::__construct — The __construct purpose

Описание

Yaf_Route_Map::__construct ([ string $controller_prefer [, string $delimiter ]] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

controller_prefer

delimiter

Возвращаемые значения

Yaf_Route_Map
Yaf_Route_Map::route
Yaf_Route_Map


The route purpose

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::route

(PECL yaf >=1.0.0)

Yaf_Route_Map::route — The route purpose

Описание

public void Yaf_Route_Map::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map


The Yaf_Route_Regex class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Свойства */
protected $Yaf_Route_Regex->_route ;
protected $_default ;
protected $_maps ;
protected $_verify ;
/* Методы */
Yaf_Route_Regex::__construct ( string $match , array $route [, array $map [, array $verify ]] )
public void Yaf_Route_Regex::route ( string $request )
/* Наследуемые методы */
abstract public void Yaf_Route_Interface::route ( string $request )
}

Свойства

_route

_default

_maps

_verify

Содержание

  • Yaf_Route_Regex::__construct — The __construct purpose
  • Yaf_Route_Regex::route — The route purpose
Yaf_Route_Map::route
Yaf_Route_Regex::__construct
Yaf


The __construct purpose

Yaf_Route_Regex
Yaf_Route_Regex::route
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::__construct

(PECL yaf >=1.0.0)

Yaf_Route_Regex::__construct — The __construct purpose

Описание

Yaf_Route_Regex::__construct ( string $match , array $route [, array $map [, array $verify ]] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

match

route

map

verify

Возвращаемые значения

Yaf_Route_Regex
Yaf_Route_Regex::route
Yaf_Route_Regex


The route purpose

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::route

(PECL yaf >=1.0.0)

Yaf_Route_Regex::route — The route purpose

Описание

public void Yaf_Route_Regex::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex


The Yaf_Route_Rewrite class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Свойства */
protected $Yaf_Route_Rewrite->_route ;
protected $_default ;
protected $_verify ;
/* Методы */
Yaf_Route_Rewrite::__construct ( string $match , array $route [, array $verify ] )
public void Yaf_Route_Rewrite::route ( string $request )
/* Наследуемые методы */
abstract public void Yaf_Route_Interface::route ( string $request )
}

Свойства

_route

_default

_verify

Содержание

  • Yaf_Route_Rewrite::__construct — The __construct purpose
  • Yaf_Route_Rewrite::route — The route purpose
Yaf_Route_Regex::route
Yaf_Route_Rewrite::__construct
Yaf


The __construct purpose

Yaf_Route_Rewrite
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::__construct

(PECL yaf >=1.0.0)

Yaf_Route_Rewrite::__construct — The __construct purpose

Описание

Yaf_Route_Rewrite::__construct ( string $match , array $route [, array $verify ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

match

route

verify

Возвращаемые значения

Yaf_Route_Rewrite
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite


The route purpose

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::route

(PECL yaf >=1.0.0)

Yaf_Route_Rewrite::route — The route purpose

Описание

public void Yaf_Route_Rewrite::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite


The Yaf_Router class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Yaf_Router is the standard framework router. Routing is the process of taking a URI endpoint (that part of the URI which comes after the base URL) and decomposing it into parameters to determine which module, controller, and action of that controller should receive the request. This values of the module, controller, action and other parameters are packaged into a Yaf_Request_Abstract object which is then processed by Yaf_Dispatcher. Routing occurs only once: when the request is initially received and before the first controller is dispatched. Yaf_Router is designed to allow for mod_rewrite-like functionality using pure PHP structures. It is very loosely based on Ruby on Rails routing and does not require any prior knowledge of webserver URL rewriting. It is designed to work with a single Apache mod_rewrite rule (one of):

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
or (preferred):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
If using Lighttpd, the following rewrite rule is valid:
url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)

Default route

Yaf_Router comes preconfigured with a default route, which will match URIs in the shape of controller/action. Additionally, a module name may be specified as the first path element, allowing URIs of the form module/controller/action. Finally, it will also match any additional parameters appended to the URI by default - controller/action/var1/value1/var2/value2.

Замечание:

Module name must be defined like application.module="Index,Foo,Bar" in this case, only index, foo and bar can be considerd as a module name, defaultly, there is only one module name "Index" was preconfigured.

Some examples of how such routes are matched:
// Assuming the following configure:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Controller only:
http://example/news
    controller == news
Action only(when defined yaf.action_prefer=1 in php.ini)
    action  == news

Invalid module maps to controller name:
http://example/foo
    controller == foo

Module + controller:
http://example/blog/archive
    module     == blog
    controller == archive

Module + controller + action:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

Module + controller + action + params:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

Обзор классов

Yaf_Router {
/* Свойства */
protected $Yaf_Router->_routes ;
protected $_current ;
/* Методы */
public void Yaf_Router::addConfig ( Yaf_Config_Abstract $config )
public Yaf_Router Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route )
Yaf_Router::__construct ( void )
public string Yaf_Router::getCurrentRoute ( void )
public void Yaf_Router::getRoute ( string $name )
public void Yaf_Router::getRoutes ( void )
public boolean Yaf_Router::route ( Yaf_Request_Abstract $request )
}

Свойства

_routes

_current

Содержание

  • Yaf_Router::addConfig — The addConfig purpose
  • Yaf_Router::addRoute — The addRoute purpose
  • Yaf_Router::__construct — The __construct purpose
  • Yaf_Router::getCurrentRoute — Get the name of activated route
  • Yaf_Router::getRoute — The getRoute purpose
  • Yaf_Router::getRoutes — The getRoutes purpose
  • Yaf_Router::route — The route purpose
Yaf_Route_Rewrite::route
Yaf_Router::addConfig
Yaf


The addConfig purpose

Yaf_Router
Yaf_Router::addRoute
Yaf_Router
PHP Manual

Yaf_Router::addConfig

(PECL yaf >=1.0.0)

Yaf_Router::addConfig — The addConfig purpose

Описание

public void Yaf_Router::addConfig ( Yaf_Config_Abstract $config )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router
Yaf_Router::addRoute
Yaf_Router


The addRoute purpose

Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router
PHP Manual

Yaf_Router::addRoute

(PECL yaf >=1.0.0)

Yaf_Router::addRoute — The addRoute purpose

Описание

public Yaf_Router Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router


The __construct purpose

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router
PHP Manual

Yaf_Router::__construct

(PECL yaf >=1.0.0)

Yaf_Router::__construct — The __construct purpose

Описание

Yaf_Router::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router


Get the name of activated route

Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router
PHP Manual

Yaf_Router::getCurrentRoute

(PECL yaf >=1.0.0)

Yaf_Router::getCurrentRoute — Get the name of activated route

Описание

public string Yaf_Router::getCurrentRoute ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router


The getRoute purpose

Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router
PHP Manual

Yaf_Router::getRoute

(PECL yaf >=1.0.0)

Yaf_Router::getRoute — The getRoute purpose

Описание

public void Yaf_Router::getRoute ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router


The getRoutes purpose

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router
PHP Manual

Yaf_Router::getRoutes

(PECL yaf >=1.0.0)

Yaf_Router::getRoutes — The getRoutes purpose

Описание

public void Yaf_Router::getRoutes ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router


The route purpose

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router
PHP Manual

Yaf_Router::route

(PECL yaf >=1.0.0)

Yaf_Router::route — The route purpose

Описание

public boolean Yaf_Router::route ( Yaf_Request_Abstract $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router


The Yaf_Route_Simple class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Simple implements Yaf_Route_Interface {
/* Свойства */
protected $Yaf_Route_Simple->controller ;
protected $module ;
protected $action ;
/* Методы */
Yaf_Route_Simple::__construct ( string $module_name , string $controller_name , string $action_name )
public void Yaf_Route_Simple::route ( string $request )
}

Свойства

controller

module

action

Содержание

  • Yaf_Route_Simple::__construct — The __construct purpose
  • Yaf_Route_Simple::route — The route purpose
Yaf_Router::route
Yaf_Route_Simple::__construct
Yaf


The __construct purpose

Yaf_Route_Simple
Yaf_Route_Simple::route
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::__construct

(PECL yaf >=1.0.0)

Yaf_Route_Simple::__construct — The __construct purpose

Описание

Yaf_Route_Simple::__construct ( string $module_name , string $controller_name , string $action_name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

module_name

controller_name

action_name

Возвращаемые значения

Yaf_Route_Simple
Yaf_Route_Simple::route
Yaf_Route_Simple


The route purpose

Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::route

(PECL yaf >=1.0.0)

Yaf_Route_Simple::route — The route purpose

Описание

public void Yaf_Route_Simple::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple


The Yaf_Route_Static class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Static implements Yaf_Router {
/* Методы */
public void match ( string $uri )
public void route ( string $request )
}

Содержание

  • Yaf_Route_Static::match — The match purpose
  • Yaf_Route_Static::route — The route purpose
Yaf_Route_Simple::route
Yaf_Route_Static::match
Yaf


The match purpose

Yaf_Route_Static
Yaf_Route_Static::route
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::match

(PECL yaf >=1.0.0)

Yaf_Route_Static::match — The match purpose

Описание

public void Yaf_Route_Static::match ( string $uri )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

uri

Возвращаемые значения

Yaf_Route_Static
Yaf_Route_Static::route
Yaf_Route_Static


The route purpose

Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::route

(PECL yaf >=1.0.0)

Yaf_Route_Static::route — The route purpose

Описание

public void Yaf_Route_Static::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static


The Yaf_Route_Supervar class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Route_Supervar implements Yaf_Route_Interface {
/* Свойства */
protected $Yaf_Route_Supervar->_var_name ;
/* Методы */
Yaf_Route_Supervar::__construct ( string $supervar_name )
public void Yaf_Route_Supervar::route ( string $request )
}

Свойства

_var_name

Содержание

  • Yaf_Route_Supervar::__construct — The __construct purpose
  • Yaf_Route_Supervar::route — The route purpose
Yaf_Route_Static::route
Yaf_Route_Supervar::__construct
Yaf


The __construct purpose

Yaf_Route_Supervar
Yaf_Route_Supervar::route
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::__construct

(PECL yaf >=1.0.0)

Yaf_Route_Supervar::__construct — The __construct purpose

Описание

Yaf_Route_Supervar::__construct ( string $supervar_name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

supervar_name

Возвращаемые значения

Yaf_Route_Supervar
Yaf_Route_Supervar::route
Yaf_Route_Supervar


The route purpose

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::route

(PECL yaf >=1.0.0)

Yaf_Route_Supervar::route — The route purpose

Описание

public void Yaf_Route_Supervar::route ( string $request )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

request

Возвращаемые значения

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar


The Yaf_Session class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Session implements Iterator , Traversable , ArrayAccess , Countable {
/* Свойства */
static $Yaf_Session->_instance ;
protected $_session ;
protected $_started ;
/* Методы */
private void Yaf_Session::__clone ( void )
Yaf_Session::__construct ( void )
public void Yaf_Session::count ( void )
public void Yaf_Session::current ( void )
public void Yaf_Session::del ( string $name )
public void Yaf_Session::__get ( string $name )
public static void Yaf_Session::getInstance ( void )
public void Yaf_Session::has ( string $name )
public void Yaf_Session::__isset ( string $name )
public void Yaf_Session::key ( void )
public void Yaf_Session::next ( void )
public void Yaf_Session::offsetExists ( string $name )
public void Yaf_Session::offsetGet ( string $name )
public void Yaf_Session::offsetSet ( string $name , string $value )
public void Yaf_Session::offsetUnset ( string $name )
public void Yaf_Session::rewind ( void )
public void Yaf_Session::__set ( string $name , string $value )
private void Yaf_Session::__sleep ( void )
public void Yaf_Session::start ( void )
public void Yaf_Session::__unset ( string $name )
public void Yaf_Session::valid ( void )
private void Yaf_Session::__wakeup ( void )
}

Свойства

_instance

_session

_started

Содержание

  • Yaf_Session::__clone — The __clone purpose
  • Yaf_Session::__construct — The __construct purpose
  • Yaf_Session::count — The count purpose
  • Yaf_Session::current — The current purpose
  • Yaf_Session::del — The del purpose
  • Yaf_Session::__get — The __get purpose
  • Yaf_Session::getInstance — The getInstance purpose
  • Yaf_Session::has — The has purpose
  • Yaf_Session::__isset — The __isset purpose
  • Yaf_Session::key — The key purpose
  • Yaf_Session::next — The next purpose
  • Yaf_Session::offsetExists — The offsetExists purpose
  • Yaf_Session::offsetGet — The offsetGet purpose
  • Yaf_Session::offsetSet — The offsetSet purpose
  • Yaf_Session::offsetUnset — The offsetUnset purpose
  • Yaf_Session::rewind — The rewind purpose
  • Yaf_Session::__set — The __set purpose
  • Yaf_Session::__sleep — The __sleep purpose
  • Yaf_Session::start — The start purpose
  • Yaf_Session::__unset — The __unset purpose
  • Yaf_Session::valid — The valid purpose
  • Yaf_Session::__wakeup — The __wakeup purpose
Yaf_Route_Supervar::route
Yaf_Session::__clone
Yaf


The __clone purpose

Yaf_Session
Yaf_Session::__construct
Yaf_Session
PHP Manual

Yaf_Session::__clone

(PECL yaf >=1.0.0)

Yaf_Session::__clone — The __clone purpose

Описание

private void Yaf_Session::__clone ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session
Yaf_Session::__construct
Yaf_Session


The __construct purpose

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session
PHP Manual

Yaf_Session::__construct

(PECL yaf >=1.0.0)

Yaf_Session::__construct — The __construct purpose

Описание

Yaf_Session::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session


The count purpose

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session
PHP Manual

Yaf_Session::count

(PECL yaf >=1.0.0)

Yaf_Session::count — The count purpose

Описание

public void Yaf_Session::count ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session


The current purpose

Yaf_Session::count
Yaf_Session::del
Yaf_Session
PHP Manual

Yaf_Session::current

(PECL yaf >=1.0.0)

Yaf_Session::current — The current purpose

Описание

public void Yaf_Session::current ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::count
Yaf_Session::del
Yaf_Session


The del purpose

Yaf_Session::current
Yaf_Session::__get
Yaf_Session
PHP Manual

Yaf_Session::del

(PECL yaf >=1.0.0)

Yaf_Session::del — The del purpose

Описание

public void Yaf_Session::del ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::current
Yaf_Session::__get
Yaf_Session


The __get purpose

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session
PHP Manual

Yaf_Session::__get

(PECL yaf >=1.0.0)

Yaf_Session::__get — The __get purpose

Описание

public void Yaf_Session::__get ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session


The getInstance purpose

Yaf_Session::__get
Yaf_Session::has
Yaf_Session
PHP Manual

Yaf_Session::getInstance

(PECL yaf >=1.0.0)

Yaf_Session::getInstance — The getInstance purpose

Описание

public static void Yaf_Session::getInstance ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__get
Yaf_Session::has
Yaf_Session


The has purpose

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session
PHP Manual

Yaf_Session::has

(PECL yaf >=1.0.0)

Yaf_Session::has — The has purpose

Описание

public void Yaf_Session::has ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session


The __isset purpose

Yaf_Session::has
Yaf_Session::key
Yaf_Session
PHP Manual

Yaf_Session::__isset

(PECL yaf >=1.0.0)

Yaf_Session::__isset — The __isset purpose

Описание

public void Yaf_Session::__isset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::has
Yaf_Session::key
Yaf_Session


The key purpose

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session
PHP Manual

Yaf_Session::key

(PECL yaf >=1.0.0)

Yaf_Session::key — The key purpose

Описание

public void Yaf_Session::key ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session


The next purpose

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session
PHP Manual

Yaf_Session::next

(PECL yaf >=1.0.0)

Yaf_Session::next — The next purpose

Описание

public void Yaf_Session::next ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session


The offsetExists purpose

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session
PHP Manual

Yaf_Session::offsetExists

(PECL yaf >=1.0.0)

Yaf_Session::offsetExists — The offsetExists purpose

Описание

public void Yaf_Session::offsetExists ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session


The offsetGet purpose

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session
PHP Manual

Yaf_Session::offsetGet

(PECL yaf >=1.0.0)

Yaf_Session::offsetGet — The offsetGet purpose

Описание

public void Yaf_Session::offsetGet ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session


The offsetSet purpose

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session
PHP Manual

Yaf_Session::offsetSet

(PECL yaf >=1.0.0)

Yaf_Session::offsetSet — The offsetSet purpose

Описание

public void Yaf_Session::offsetSet ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session


The offsetUnset purpose

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session
PHP Manual

Yaf_Session::offsetUnset

(PECL yaf >=1.0.0)

Yaf_Session::offsetUnset — The offsetUnset purpose

Описание

public void Yaf_Session::offsetUnset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session


The rewind purpose

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session
PHP Manual

Yaf_Session::rewind

(PECL yaf >=1.0.0)

Yaf_Session::rewind — The rewind purpose

Описание

public void Yaf_Session::rewind ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session


The __set purpose

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session
PHP Manual

Yaf_Session::__set

(PECL yaf >=1.0.0)

Yaf_Session::__set — The __set purpose

Описание

public void Yaf_Session::__set ( string $name , string $value )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

value

Возвращаемые значения

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session


The __sleep purpose

Yaf_Session::__set
Yaf_Session::start
Yaf_Session
PHP Manual

Yaf_Session::__sleep

(PECL yaf >=1.0.0)

Yaf_Session::__sleep — The __sleep purpose

Описание

private void Yaf_Session::__sleep ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__set
Yaf_Session::start
Yaf_Session


The start purpose

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session
PHP Manual

Yaf_Session::start

(PECL yaf >=1.0.0)

Yaf_Session::start — The start purpose

Описание

public void Yaf_Session::start ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session


The __unset purpose

Yaf_Session::start
Yaf_Session::valid
Yaf_Session
PHP Manual

Yaf_Session::__unset

(PECL yaf >=1.0.0)

Yaf_Session::__unset — The __unset purpose

Описание

public void Yaf_Session::__unset ( string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Возвращаемые значения

Yaf_Session::start
Yaf_Session::valid
Yaf_Session


The valid purpose

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session
PHP Manual

Yaf_Session::valid

(PECL yaf >=1.0.0)

Yaf_Session::valid — The valid purpose

Описание

public void Yaf_Session::valid ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session


The __wakeup purpose

Yaf_Session::valid
Yaf_Exception
Yaf_Session
PHP Manual

Yaf_Session::__wakeup

(PECL yaf >=1.0.0)

Yaf_Session::__wakeup — The __wakeup purpose

Описание

private void Yaf_Session::__wakeup ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Session::valid
Yaf_Exception
Yaf_Session


The Yaf_Exception class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

Yaf_Exception extends Exception {
/* Свойства */
protected $Yaf_Exception->message ;
protected $code ;
protected $previous ;
/* Методы */
Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

code

file

line

previous

Содержание

  • Yaf_Exception::__construct — The __construct purpose
  • Yaf_Exception::getPrevious — The getPrevious purpose
Yaf_Session::__wakeup
Yaf_Exception::__construct
Yaf


The __construct purpose

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception
PHP Manual

Yaf_Exception::__construct

(PECL yaf >=1.0.0)

Yaf_Exception::__construct — The __construct purpose

Описание

Yaf_Exception::__construct ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception


The getPrevious purpose

Yaf_Exception::__construct
Другие службы
Yaf_Exception
PHP Manual

Yaf_Exception::getPrevious

(PECL yaf >=1.0.0)

Yaf_Exception::getPrevious — The getPrevious purpose

Описание

public void Yaf_Exception::getPrevious ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Yaf_Exception::__construct
Другие службы
Yaf_Exception


Другие службы

  • AMQP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • AMQPConnection — Класс AMQPConnection
    • AMQPExchange — Класс AMQPExchange
    • AMQPQueue — Класс AMQPQueue
  • chdb — Constant hash database
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • chdb — The chdb class
    • chdb Функции
  • cURL — Клиентская библиотека работы с URL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • cURL
  • FAM — File Alteration Monitor
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FAM Функции
  • FTP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • FTP
  • Gearman
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • GearmanClient — Класс GearmanClient
    • GearmanJob — Класс GearmanJob
    • GearmanTask — Класс GearmanTask
    • GearmanWorker — Класс GearmanWorker
  • Gopher — Net Gopher
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Gopher Функции
  • Gupnp
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Gupnp Функции
  • HTTP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Request Options — Options usable with the HttpRequest class and request functions
    • The HttpDeflateStream class
    • The HttpInflateStream class
    • The HttpMessage class
    • The HttpQueryString class
    • The HttpRequest
    • The HttpRequestPool class
    • The HttpResponse
    • HTTP Функции
  • Hyperwave
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Integration with Apache
    • Hyperwave Функции
  • Hyperwave API
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Hyperwave API Функции
  • Java — PHP / Java Integration
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Java Servlet SAPI
    • Примеры
    • Java Функции
  • LDAP — Облегчённый протокол доступа к каталогам (LDAP)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Использование вызовов PHP LDAP
    • Примеры
    • LDAP
  • Lotus Notes
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Lotus Notes Функции
  • Memcache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Memcache — Класс Memcache
    • Memcache Функции
  • Memcached
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Время хранения объекта
    • Callbacks
    • Sessions support
    • Memcached — The Memcached class
  • mqseries
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • mqseries Функции
  • Network
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Network Функции
  • RRD — RRDtool
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • RRD Функции
    • RRDCreator — The RRDCreator class
    • RRDGraph — The RRDGraph class
    • RRDUpdater — The RRDUpdater class
  • SAM — Simple Asynchronous Messaging
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SAM Функции
  • SNMP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SNMP Функции
    • SNMP — The SNMP class
    • SNMPException — The SNMPException class
  • Sockets
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Socket Errors
    • Socket Функции
  • SSH2 — Secure Shell2
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SSH2 Функции
  • Stomp — Stomp Client
    • Введение
    • Установка и настройка
    • Примеры
    • Stomp
    • Stomp — Класс Stomp
    • StompFrame — Класс StompFrame
    • StompException — Класс StompException
  • SVM — Support Vector Machine
    • Введение
    • Установка и настройка
    • Примеры
    • SVM — The SVM class
    • SVMModel — The SVMModel class
  • SVN — Subversion
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SVN
  • TCP — TCP Wrappers
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • TCP Функции
  • Varnish
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • VarnishAdmin — The VarnishAdmin class
    • VarnishStat — The VarnishStat class
    • VarnishLog — The VarnishLog class
  • YAZ
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • YAZ Функции
  • YP/NIS
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • YP/NIS Функции
Yaf_Exception::getPrevious
AMQP
Справочник функций


AMQP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • AMQPConnection — Класс AMQPConnection
    • AMQPConnection::connect — Установить соединение с брокером AMQP
    • AMQPConnection::__construct — Создать новый экземпляр AMQPConnection
    • AMQPConnection::disconnect — Закрыть соединение с брокером AMQP
    • AMQPConnection::isConnected — Определить, подключен ли объект AMQPConnection к брокеру
    • AMQPConnection::reconnect — Закрыть все открытые соединения и создать новое соединение с брокером AMQP
    • AMQPConnection::setHost — Установить хост AMPQ
    • AMQPConnection::setLogin — Установить логин
    • AMQPConnection::setPassword — Установить пароль
    • AMQPConnection::setPort — Установить порт AMPQ
    • AMQPConnection::setVhost — Установить виртуальный хост AMQP
  • AMQPExchange — Класс AMQPExchange
    • AMQPExchange::bind — Привязка к цели
    • AMQPExchange::__construct — Создать экземпляр AMQPExchange
    • AMQPExchange::declare — Объявить новый обменник на брокере
    • AMQPExchange::delete — Удалить обменник из брокера
    • AMQPExchange::publish — Опубликовать сообщение в обменнике
  • AMQPQueue — Класс AMQPQueue
    • AMQPQueue::ack — Подтвердить получение сообщения
    • AMQPQueue::bind — Связать данную очередь с ключом маршрутизации на обменнике
    • AMQPQueue::cancel — Отменить привязку очереди
    • AMQPQueue::__construct — Создать экземпляр объекта AMQPQueue
    • AMQPQueue::consume — Использовать цель
    • AMQPQueue::declare — Объявить новую очередь
    • AMQPQueue::delete — Удалить очередь и её содержимое
    • AMQPQueue::get — Получить следующее сообщение из очереди
    • AMQPQueue::purge — Очистить содержимое очереди
    • AMQPQueue::unbind — Удалить привязку очереди к ключу маршрутизации
Другие службы
Введение
Другие службы


Введение

» AMQP означает » Расширенный протокол очереди сообщений (Advanced Message Queue Protocol), который является открытым стандартом промежуточного слоя для маршрутизации сообщений и очередей. Это расширение совместимо с любой версией (0-8 ) AMQP-совместимого брокера, таких как » RabbitMQ и » OpenAMQ.

Это расширение основано на RPC библиотеке » librabbitmq для взаимодействия с брокером AMQP. Несмотря на то, что библиотека называется "rabbit", она совместима со всеми версиями (0-8) брокеров AMQP.

AMQP
Установка и настройка
AMQP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
AMQP


Требования

Это расширение требует » librabbitmq клиентскую библиотеку.

Установка и настройка
Установка
Установка и настройка


Установка

Для установки расширения AMQP для PHP вам необходимо сначала установить библиотеку » librabbitmq. Используйте следующие шаги, чтобы загрузить и установить библиотеку:

# Загрузка библиотеки rabbitmq-c
  hg clone http://hg.rabbitmq.com/rabbitmq-c/rev/3c549bb09c16 rabbitmq-c
  cd rabbitmq-c
  # Добавить требование codegen
  hg clone http://hg.rabbitmq.com/rabbitmq-codegen/rev/f8b34141e6cb codegen
  # Конфигурирование, сборка и установка
  autoreconf -i && ./configure && make && sudo make install

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/amqp.

Примечание для пользователей Windows: Это расширение в настоящий момент не поддерживается в Windows, так как библиотека librabbitmq ещё не поддерживается в Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Amqp Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
amqp.host | localhost | PHP_INI_ALL |
amqp.vhost | / | PHP_INI_ALL |
amqp.port | 5672 | PHP_INI_ALL |
amqp.login | guest | PHP_INI_ALL |
amqp.password | guest | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

amqp.host string

Хост, к которому будет осуществляется подключение.

amqp.vhost string

Виртуальный хост, к которому будет осуществляется подключение.

amqp.port integer

Порт, к которому будет осуществляется подключение.

amqp.login string

Логин (имя пользователя), используемый для аутентификации на хосте.

amqp.password string

Пароль, используемый для аутентификации на хосте.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

AMQP_DURABLE (integer)
Длительные обменники и очереди переживут перезапуск брокера полностью со всеми их данными.
AMQP_PASSIVE (integer)
Пассивные обменники и очереди не будут повторно объявлены, но брокер выдаст ошибку, если обменник или очередь не существует.
AMQP_EXCLUSIVE (integer)
Этот флаг указывает, что только один клиент может слушать и использоваться для этой очереди. Допустим только для очередей.
AMQP_AUTODELETE (integer)
Для обменников флаг автоматического удаления указывает, что обменник будет удален, как только не будет связанных с ним очередей. Если нет очередей, которые когда-либо были связаны с обменником, он никогда не будет удален. Для очередей флаг автоматического удаления указывает, что очереди будут удалены, как только нет более слушателей подписанных на них. Если нет подписки, которая когда-либо была активной, очередь никогда не будет удалена. Примечание: Эксклюзивные очереди всегда будут автоматически удалены при разъединении клиентов.
AMQP_INTERNAL (integer)
Клиентам не разрешено делать конкретную привязку очередей к определенным обменникам с помощью этого флага.
AMQP_NOLOCAL (integer)
Когда передано использующему методу для кластеризируемой среды, не используйте от локального узла.
AMQP_NOACK (integer)
Когда передается потребительскому методу, сообщения не будут помечены как доставленные.
AMQP_IFEMPTY (integer)
Этот флаг указывает, что очередь должна быть удалена, если становится пустой. Передаётся при создании очереди.
AMQP_IFUNUSED (integer)
Этот флаг указывает, что очередь или обменник должны быть удалены, когда ни один клиент не связан с данной очередью или обменником. Передаётся при создании очереди или обменника.
AMQP_MANDATORY (integer)
При публикации сообщения оно должно быть направлено в действительную очередь. Если это не так, будет возвращена ошибка.
AMQP_IMMEDIATE (integer)
Отметить сообщение для немедленной обработки брокером при публикации. (Высокий приоритет сообщения)
AMQP_MULTIPLE (integer)
AMQP_EX_TYPE_DIRECT (string)
Прямой тип обменника.
AMQP_EX_TYPE_FANOUT (string)
Тип разветвления обменника.
AMQP_EX_TYPE_TOPIC (string)
Тип топика обменника.
AMQP_EX_TYPE_HEADER (string)
Заголовок типа обменника.

Типы ресурсов
Примеры
AMQP


Примеры

Пример #1 Пример AMQP

<?php

// Создание соединения
$cnn = new AMQPConnection();
$cnn->connect();

// Объявить новый обменник
$ex = new AMQPExchange($cnn);
$ex->declare('exchange1', AMQP_EX_TYPE_FANOUT);

// Создание новой очереди
$q = new AMQPQueue($cnn);
$q->declare('queue1');

// Связать ее на обменнике с ключем маршрутизации
$ex->bind('queue1', 'routing.key');

// Опубликовать сообщение в обменнике с ключем маршрутизации
$ex->publish('message', 'routing.key');

// Прочитать очередь
$msg = $q->consume();

?>
Предопределенные константы
AMQPConnection
AMQP


Класс AMQPConnection

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет соединение с брокером AMQP.

Обзор классов

AMQPConnection {
/* Методы */
public bool connect ( void )
__construct ([ array $credentials = array() ] )
public bool disconnect ( void )
public bool isConnected ( void )
public bool reconnect ( void )
public bool setHost ( string $host )
public bool setLogin ( string $login )
public bool setPassword ( string $password )
public bool setPort ( int $port )
public bool setVhost ( string $vhost )
}

Содержание

  • AMQPConnection::connect — Установить соединение с брокером AMQP
  • AMQPConnection::__construct — Создать новый экземпляр AMQPConnection
  • AMQPConnection::disconnect — Закрыть соединение с брокером AMQP
  • AMQPConnection::isConnected — Определить, подключен ли объект AMQPConnection к брокеру
  • AMQPConnection::reconnect — Закрыть все открытые соединения и создать новое соединение с брокером AMQP
  • AMQPConnection::setHost — Установить хост AMPQ
  • AMQPConnection::setLogin — Установить логин
  • AMQPConnection::setPassword — Установить пароль
  • AMQPConnection::setPort — Установить порт AMPQ
  • AMQPConnection::setVhost — Установить виртуальный хост AMQP
Примеры
AMQPConnection::connect
AMQP


Установить соединение с брокером AMQP

AMQPConnection
AMQPConnection::__construct
AMQPConnection
PHP Manual

AMQPConnection::connect

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::connect — Установить соединение с брокером AMQP

Описание

public bool AMQPConnection::connect ( void )

Этот метод инициирует соединение с брокером AMQP.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования AMQPConnection::connect()

<?php

// Создание нового соединения
$cnn = new AMQPConnection();

// Установка логина и пароля пользователя
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

if ($cnn->connect()) {
    echo "Соединение с брокером установлено";
}
else {
    echo "Невозможно установить соединение с брокером";
}

?>

AMQPConnection
AMQPConnection::__construct
AMQPConnection


Создать новый экземпляр AMQPConnection

AMQPConnection::connect
AMQPConnection::disconnect
AMQPConnection
PHP Manual

AMQPConnection::__construct

(PECL amqp >= Unknown)

AMQPConnection::__construct — Создать новый экземпляр AMQPConnection

Описание

AMQPConnection::__construct ([ array $credentials = array() ] )

Создает экземпляр класса AMQPConnection, представляющий соединение с брокером AMQP.

Список параметров

credentials

Параметр credentials является дополнительным массивом информации об учетных данных для соединиться с брокером AMQP.

Поддерживаемые индексы
Ключ | Описание | Значение по умолчанию
host Хост для соединения

Замечание: Максимально 32 символа

 amqp.host
port | Порт для хоста | amqp.port
vhost Виртуальный хост

Замечание: Максимально 32 символа

 amqp.vhost
login Логин

Замечание: Максимально 32 символа

 amqp.login
password Пароль

Замечание: Максимально 32 символа

 amqp.password

Все другие ключи будут проигнорированы.

Возвращаемые значения

Объект AMQPConnection.

Ошибки

Выдаёт исключение AMQPException на ошибки разбора параметров и ошибки опций.

Примеры

Пример #1 Пример использования AMQPConnection::__construct()

<?php

/* Создание соединения, используя INI-значения */
$connection1 = new AMQPConnection();

/* Задание всех данных для соединения */
$connection2 = new AMQPConnection(array(
    'host' => 'example.host',
    'vhost' => '/',
    'port' => 5763,
    'login' => 'user',
    'password' => 'password'
));

?>

Примечания

Замечание:

Соединение не будет установлено до тех пор, пока не будет вызван AMQPConnection::connect().

AMQPConnection::connect
AMQPConnection::disconnect
AMQPConnection


Закрыть соединение с брокером AMQP

AMQPConnection::__construct
AMQPConnection::isConnected
AMQPConnection
PHP Manual

AMQPConnection::disconnect

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::disconnect — Закрыть соединение с брокером AMQP

Описание

public bool AMQPConnection::disconnect ( void )

Этот метод закрывает соединение с брокером AMQP.

Список параметров

void

Возвращаемые значения

Возвращает TRUE, если соединение было успешно закрыто, иначе - FALSE.

Примеры

Пример #1 Пример использования AMQPConnection::disconnect()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// установка логина и пароля пользователя
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

if (!$cnn->connect()) {
 throw new Exception('Невозможно соединиться с брокером');
}

// Здесь можно делать что-то интересное

if (!$cnn->disconnect()) {
 throw new Exception('Невозможно отсоединиться от брокера');
}

?>

AMQPConnection::__construct
AMQPConnection::isConnected
AMQPConnection


Определить, подключен ли объект AMQPConnection к брокеру

AMQPConnection::disconnect
AMQPConnection::reconnect
AMQPConnection
PHP Manual

AMQPConnection::isConnected

(PECL amqp >= Unknown)

AMQPConnection::isConnected — Определить, подключен ли объект AMQPConnection к брокеру

Описание

public bool AMQPConnection::isConnected ( void )

Этот метод проверяет является ли подключение к брокеру AMQP действительным. Это делается путем проверки возвращённого статуса последней команды.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает true, если соединение установлено, в противном случае false

Примеры

Пример #1 Пример использования AMQPConnection::isConnected()

<?php

/* Создание нового соединения */
$conn = new AMQPConnection();
$conn->connect();

/* Проверка работоспособности соединения */
if ($conn->isConnected()) {
    echo "Соединение с брокером установлено \o/";
}
else {
    echo "Невозможно подключиться к брокеру";
}

?>

AMQPConnection::disconnect
AMQPConnection::reconnect
AMQPConnection


Закрыть все открытые соединения и создать новое соединение с брокером AMQP

AMQPConnection::isConnected
AMQPConnection::setHost
AMQPConnection
PHP Manual

AMQPConnection::reconnect

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::reconnect — Закрыть все открытые соединения и создать новое соединение с брокером AMQP

Описание

public bool AMQPConnection::reconnect ( void )

Этот метод закроет все открытые соединения и инициирует новое соединение с брокером AMQP.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования AMQPConnection::reconnect()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// установка логина и пароля пользователя
$cnn->setLogin('mylogin');
$cnn->setPassword('mypass');

$cnn->connect();

// Здесь можно делать что-то интересное

// убеждаемся, что мы имеем действующее соединение
if (!$cnn->reconnect()) {
    echo "Невозможно соединиться с сервером";
}

?>

AMQPConnection::isConnected
AMQPConnection::setHost
AMQPConnection


Установить хост AMPQ

AMQPConnection::reconnect
AMQPConnection::setLogin
AMQPConnection
PHP Manual

AMQPConnection::setHost

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::setHost — Установить хост AMPQ

Описание

public bool AMQPConnection::setHost ( string $host )

Этот метод устанавливает имя хоста, которое будет использоваться при соединении с брокером AMQP.

Список параметров

host

Имя хоста брокера AMQP.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдает исключение AMQPConnectionException, если host длиннее 1024 символов.

Примеры

Пример #1 Пример использования AMQPConnection::setHost()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// установка имени хоста
$cnn->setHost('myhost.com');

?>

AMQPConnection::reconnect
AMQPConnection::setLogin
AMQPConnection


Установить логин

AMQPConnection::setHost
AMQPConnection::setPassword
AMQPConnection
PHP Manual

AMQPConnection::setLogin

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::setLogin — Установить логин

Описание

public bool AMQPConnection::setLogin ( string $login )

Этот метод устанавливает логин, который будет использоваться при соединении с брокером AMQP.

Список параметров

login

Логин, который будет использоваться при аутентификации брокером AMQP.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдает исключение AMQPConnectionException, если login длинее 32 символов.

Примеры

Пример #1 Пример использования AMQPConnection::setLogin()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// Установка логина
$cnn->setLogin('myusername');

?>

AMQPConnection::setHost
AMQPConnection::setPassword
AMQPConnection


Установить пароль

AMQPConnection::setLogin
AMQPConnection::setPort
AMQPConnection
PHP Manual

AMQPConnection::setPassword

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::setPassword — Установить пароль

Описание

public bool AMQPConnection::setPassword ( string $password )

Этот метод устанавливает пароль, которое будет использоваться при соединении с брокером AMQP.

Список параметров

password

Пароль, который будет использоваться при аутентификации брокером AMQP.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдает исключение AMQPConnectionException, если password длинее 32 символов.

Примеры

Пример #1 Пример использования AMQPConnection::setPassword()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// Установка пароля
$cnn->setPassword('mypassword');

?>

AMQPConnection::setLogin
AMQPConnection::setPort
AMQPConnection


Установить порт AMPQ

AMQPConnection::setPassword
AMQPConnection::setVhost
AMQPConnection
PHP Manual

AMQPConnection::setPort

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::setPort — Установить порт AMPQ

Описание

public bool AMQPConnection::setPort ( int $port )

Этот метод устанавливает порт, который будет использоваться при соединении с брокером AMQP.

Список параметров

port

Порт, используемый при соединении с брокером AMQP.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдает исключение AMQPConnectionException, если параметр port не находится в диапазоне между 1 и 65535.

Примеры

Пример #1 Пример использования AMQPConnection::setPort()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// Установка порта
$cnn->setPort(5672);

?>

AMQPConnection::setPassword
AMQPConnection::setVhost
AMQPConnection


Установить виртуальный хост AMQP

AMQPConnection::setPort
AMQPExchange
AMQPConnection
PHP Manual

AMQPConnection::setVhost

(Информация о версии неизвестна, возможно, только в SVN)

AMQPConnection::setVhost — Установить виртуальный хост AMQP

Описание

public bool AMQPConnection::setVhost ( string $vhost )

Этот метод устанавливает имя виртуального хоста брокера AMQP, к которому будет производится соединение.

Список параметров

host

Виртуальный хост, который будет использоваться брокером AMQP.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдает исключение AMQPConnectionException, если host длинее 32 символов.

Примеры

Пример #1 Пример использования AMQPConnection::setVhost()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();

// Установка хоста
$cnn->setVhost('myvhost');

?>

AMQPConnection::setPort
AMQPExchange
AMQPConnection


Класс AMQPExchange

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет обмен AMQP.

Обзор классов

AMQPExchange {
/* Методы */
public bool bind ( string $queue_name , string $routing_key )
__construct ( AMQPConnection $connection [, string $exchange_name = "" ] )
public bool declare ([ string $exchange_name = "" [, string $exchange_type = AMQP_EX_TYPE_DIRECT [, int $flags = 0 ]]] )
public bool delete ([ string $exchange_name = NULL [, int $params = 0 ]] )
public bool publish ( string $message , string $routing_key [, int $params = 0 [, array $attributes ]] )
}

Содержание

  • AMQPExchange::bind — Привязка к цели
  • AMQPExchange::__construct — Создать экземпляр AMQPExchange
  • AMQPExchange::declare — Объявить новый обменник на брокере
  • AMQPExchange::delete — Удалить обменник из брокера
  • AMQPExchange::publish — Опубликовать сообщение в обменнике
AMQPConnection::setVhost
AMQPExchange::bind
AMQP


Привязка к цели

AMQPExchange
AMQPExchange::__construct
AMQPExchange
PHP Manual

AMQPExchange::bind

(PECL amqp >= Unknown)

AMQPExchange::bind — Привязка к цели

Описание

public bool AMQPExchange::bind ( string $queue_name , string $routing_key )

Привязать обменник к очереди, используя указанный ключ маршрутизации.

Список параметров

queue_name

Имя очереди, к которой осуществляется привязка.

routing_key

Ключ маршрутизации, используемый в качестве привязки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдаёт исключение AMQPExchangeException в случае неудачи.

AMQPExchange
AMQPExchange::__construct
AMQPExchange


Создать экземпляр AMQPExchange

AMQPExchange::bind
AMQPExchange::declare
AMQPExchange
PHP Manual

AMQPExchange::__construct

(PECL amqp >= Unknown)

AMQPExchange::__construct — Создать экземпляр AMQPExchange

Описание

AMQPExchange::__construct ( AMQPConnection $connection [, string $exchange_name = "" ] )

Возвращает экземпляр объекта AMQPExchange, связанный с данным объектом AMQPConnection. Если указан параметр exchange_name и обменник с таким именем существует на брокере, то будет возвращён экземпляр конкретного обменника. В противном случае, параметр exchange_name будет проигнорирован.

Список параметров

AMQPConnection

Допустимый объект AMQPConnection, подключённый к брокеру.

exchange_name

Имя существующего обменника для представления.

Возвращаемые значения

Объект AMQPExchange.

Ошибки

Выдаёт исключение AMQPExchangeException, когда connection не подключён к брокеру.

AMQPExchange::bind
AMQPExchange::declare
AMQPExchange


Объявить новый обменник на брокере

AMQPExchange::__construct
AMQPExchange::delete
AMQPExchange
PHP Manual

AMQPExchange::declare

(PECL amqp >= Unknown)

AMQPExchange::declare — Объявить новый обменник на брокере

Описание

public bool AMQPExchange::declare ([ string $exchange_name = "" [, string $exchange_type = AMQP_EX_TYPE_DIRECT [, int $flags = 0 ]]] )

Объявляет новый обменник на брокере с данной информацией. Если обменник с данным именнем уже существует и указаны параметры exchange_type и/или flags, то настроки обменника будут обновлены.

Если не определён параметр exchange_type и обменник не существует, то тип обменника по умолчанию будет прямой (direct).

Список параметров

exchange_name

Имя обменника.

exchange_type

Тип обменника. Может быть любым из AMQP_EX_TYPE_DIRECT, AMQP_EX_TYPE_FANOUT, AMQP_EX_TYPE_TOPIC или AMQP_EX_TYPE_HEADER.

flags

Битовая маска из флагов: AMQP_PASSIVE, AMQP_DURABLE, AMQP_AUTODELETE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдаёт исключение AMQPExchangeException в случае неуспеха.

Примеры

Пример #1 Пример использования AMQPExchange::declare()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();
$cnn->connect();

$ex = new AMQPExchange($cnn);
$ex->declare('new_topic_exchange', AMQP_EX_TYPE_DIRECT, AMQP_DURABLE | AMQP_AUTODELETE);

?>

AMQPExchange::__construct
AMQPExchange::delete
AMQPExchange


Удалить обменник из брокера

AMQPExchange::declare
AMQPExchange::publish
AMQPExchange
PHP Manual

AMQPExchange::delete

(PECL amqp >= Unknown)

AMQPExchange::delete — Удалить обменник из брокера

Описание

public bool AMQPExchange::delete ([ string $exchange_name = NULL [, int $params = 0 ]] )

Удаляет обменник из брокера.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

exchange_name

Имя обменника для удаления. Если объект AMQPExchange уже связан с существующим обмеником и параметр exchange_name не определен, то обменник, связанный с объектом AMQPExchange, будет удален.

params

Опционально может быть указан параметр AMQP_IFUNUSED, чтобы указать обменнику, что он не должен быть удален, пока есть подключенные к нему клиенты.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования AMQPExchange::delete()

<?php

/* Создание нового соединения */
$cnn = new AMQPConnection();
$cnn->connect();

/* Создание нового обменника */
$ex = new AMQPExchange($cnn);
$ex->declare('new_topic_exchange', AMQP_EX_TYPE_DIRECT, AMQP_DURABLE | AMQP_AUTODELETE);

/* Удаление предыдущего обменника */
$ex2 = new AMQPExchange($cnn);
$ex2->delete('new_topic_exchange');

?>

AMQPExchange::declare
AMQPExchange::publish
AMQPExchange


Опубликовать сообщение в обменнике

AMQPExchange::delete
AMQPQueue
AMQPExchange
PHP Manual

AMQPExchange::publish

(PECL amqp >= Unknown)

AMQPExchange::publish — Опубликовать сообщение в обменнике

Описание

public bool AMQPExchange::publish ( string $message , string $routing_key [, int $params = 0 [, array $attributes ]] )

Публикует сообщение в обменнике, представленном объектом AMQPExchange.

Список параметров

message

Сообщения для публикации.

routing_key

Ключ маршрутизации для публикации.

params

Одна или несколько констант AMQP_MANDATORY и AMQP_IMMEDIATE.

attributes

Поддерживаемые ключи
Ключ | Описание | Значение по умолчанию
Content-type | text/plain
Content-encoding | NULL
message_id | NULL
user_id | NULL
app_id | NULL
delivery_mode | NULL
priority | NULL
timestamp | NULL
expiration | NULL
type | NULL
reply_to | NULL

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Выдаёт исключение AMQPExchangeException в случае неудачи.

AMQPExchange::delete
AMQPQueue
AMQPExchange


Класс AMQPQueue

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет очередь AMQP.

Обзор классов

AMQPQueue {
/* Методы */
public bool ack ( int $delivery_tag [, int $flags = NULL ] )
public bool bind ( string $exchange_name , string $routing_key )
public bool cancel ([ string $consumer_tag = "" ] )
__construct ( AMQPConnection $amqp_connection [, string $queue_name = "" ] )
public array consume ([ array $options = array() ] )
public int declare ([ string $queue_name = "" [, int $flags = AMQP_AUTODELETE ]] )
public bool delete ( string $queue_name )
public array get ([ int $flags = AMQP_NOACK ] )
public bool purge ( string $queue_name )
public bool unbind ( string $exchange_name , string $routing_key )
}

Содержание

  • AMQPQueue::ack — Подтвердить получение сообщения
  • AMQPQueue::bind — Связать данную очередь с ключом маршрутизации на обменнике
  • AMQPQueue::cancel — Отменить привязку очереди
  • AMQPQueue::__construct — Создать экземпляр объекта AMQPQueue
  • AMQPQueue::consume — Использовать цель
  • AMQPQueue::declare — Объявить новую очередь
  • AMQPQueue::delete — Удалить очередь и её содержимое
  • AMQPQueue::get — Получить следующее сообщение из очереди
  • AMQPQueue::purge — Очистить содержимое очереди
  • AMQPQueue::unbind — Удалить привязку очереди к ключу маршрутизации
AMQPExchange::publish
AMQPQueue::ack
AMQP


Подтвердить получение сообщения

AMQPQueue
AMQPQueue::bind
AMQPQueue
PHP Manual

AMQPQueue::ack

(Информация о версии неизвестна, возможно, только в SVN)

AMQPQueue::ack — Подтвердить получение сообщения

Описание

public bool AMQPQueue::ack ( int $delivery_tag [, int $flags = NULL ] )

Этот метод позволяет получить подтверждение для сообщения, что оно извлечено с флагом AMQP_NOACK через AMQPQueue::get() или AMQPQueue::consume().

Список параметров

delivery_tag

Тег доставки сообщения, который подтверждает получение.

flags

Только допустимый флаг, который может быть передан в AMQP_MULTIPLE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования AMQPQueue::ack() с AMQPQueue::get()

<?php

/* создание соединения, используя все учетные данные по умолчанию: */
$connection = new AMQPConnection();
$connection->connect();

/* создание очереди */
$queue = new AMQPQueue($connection);

//объявление очереди
$queue->declare('myqueue');

//получение следующего сообщения, но не отмечая как доставленное
$message = $queue->get(AMQP_NOACK);

echo $message['msg'];

//подтверждение о доставке сообщения
$queue->ack($message['delivery_tag']);

?>

Пример #2 Пример использования AMQPQueue::ack() с AMQPQueue::consume()

<?php

/* Создание соединения, используя все учетные данные по умолчанию: */
$connection = new AMQPConnection();
$connection->connect();

/* создание очереди */
$queue = new AMQPQueue($connection);

//объявление очереди
$queue->declare('myqueue');

$options = array(
    'min' => 1,
    'max' => 10,
    'ack' => false
);

//получение сообщений, но не отмечая их как доставленные
$messages = $queue->consume($options);

foreach ($messages as $message) {
    echo $message['message_body'];
    //подтверждение о доставке сообщения
    $queue->ack($message['delivery_tag']);
}

?>

AMQPQueue
AMQPQueue::bind
AMQPQueue


Связать данную очередь с ключом маршрутизации на обменнике

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue
PHP Manual

AMQPQueue::bind

(PECL amqp >= Unknown)

AMQPQueue::bind — Связать данную очередь с ключом маршрутизации на обменнике

Описание

public bool AMQPQueue::bind ( string $exchange_name , string $routing_key )

Этот метод свяжет данную очередь с указанным ключом маршрутизации на заданном обменнике.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

exchange_name

Имя обменника, на котором связывается.

routing_key

Ключ маршрутизации для связывания.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue


Отменить привязку очереди

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue
PHP Manual

AMQPQueue::cancel

(PECL amqp >= Unknown)

AMQPQueue::cancel — Отменить привязку очереди

Описание

public bool AMQPQueue::cancel ([ string $consumer_tag = "" ] )

Отменить очередь, которая уже связана с обменником и маршрутизирующим ключом.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

consumer_tag

Имя очереди для отмены, если объект очереди уже не является представителем очереди.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue


Создать экземпляр объекта AMQPQueue

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue
PHP Manual

AMQPQueue::__construct

(PECL amqp >= Unknown)

AMQPQueue::__construct — Создать экземпляр объекта AMQPQueue

Описание

AMQPQueue::__construct ( AMQPConnection $amqp_connection [, string $queue_name = "" ] )

Создаёт экземпляр AMQPQueue, представляющий AMQP очередь в брокере.

Список параметров

amqp_connection

Допустимый объект AMQPConnection.

queue_name

Имя очереди для создания. Если имя очереди не будет определено, то брокер сгенерирует его.

Возвращаемые значения

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue


Использовать цель

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue
PHP Manual

AMQPQueue::consume

(PECL amqp >= Unknown)

AMQPQueue::consume — Использовать цель

Описание

public array AMQPQueue::consume ([ array $options = array() ] )

Это блокирующая функция, которая не будет возвращать ответа пока минимальное количество сообщений, указанное в min, не будет прочитано из очереди. Для использования неблокирующей функции смотри AMQPQueue::get().

Список параметров

options

options - массив используемых опций. Ключи, используемые в массиве options: min, max, и ack. Все другие ключи будут проигнорированы.

Для каждой недостающей опции расширение будет проверять ini-настройки или использовать значение по умолчанию.

Возвращаемые значения

Массив, содержащий использованные сообщения. Число возвращенных сообщений будет, по крайней мере, числом заданным min в массиве options. Но не больше, чем число заданное параметром max.

Примеры

Пример #1 Пример использования AMQPQueue::consume()

<?php

/* создание соединения, используя все учетные данные по умолчанию: */
$connection = new AMQPConnection();
$connection->connect();

/* создание очереди */
$queue = new AMQPQueue($connection);

//объявление очереди
$queue->declare('myqueue');

$options = array(
    'min' => 1,
    'max' => 10,
    'ack' => true
);

//получение сообщений
$messages = $queue->consume($options);

foreach ($messages as $message) {
    echo $message['message_body'];
}

?>

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue


Объявить новую очередь

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue
PHP Manual

AMQPQueue::declare

(PECL amqp >= Unknown)

AMQPQueue::declare — Объявить новую очередь

Описание

public int AMQPQueue::declare ([ string $queue_name = "" [, int $flags = AMQP_AUTODELETE ]] )

Объявляет новую очередь в брокере.

Список параметров

queue_name

Имя очереди для объявления.

flags

Битовая маска флагов: AMQP_AUTODELETE, AMQP_PASSIVE, AMQP_DURABLE, AMQP_NOACK.

Возвращаемые значения

Возвращает количество сообщений.

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue


Удалить очередь и её содержимое

AMQPQueue::declare
AMQPQueue::get
AMQPQueue
PHP Manual

AMQPQueue::delete

(PECL amqp >= Unknown)

AMQPQueue::delete — Удалить очередь и её содержимое

Описание

public bool AMQPQueue::delete ( string $queue_name )

Удаляет очередь из брокера, включая все содержащиеся непрочитанные или неподтвержденные сообщения.

Список параметров

queue_name

Имя удаляемой очереди.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

AMQPQueue::declare
AMQPQueue::get
AMQPQueue


Получить следующее сообщение из очереди

AMQPQueue::delete
AMQPQueue::purge
AMQPQueue
PHP Manual

AMQPQueue::get

(PECL amqp >= Unknown)

AMQPQueue::get — Получить следующее сообщение из очереди

Описание

public array AMQPQueue::get ([ int $flags = AMQP_NOACK ] )

Получает следующее сообщение из очереди. Это неблокирующая операция. Это означает, что если нет сообщений в очереди, то функция немедленно возвращает результат без каких-либо сообщений.

Список параметров

flags

Битовая маска флагов: AMQP_NOACK.

Возвращаемые значения

Возвращает массив, содержащий возможные ключи routing_key, exchange, delivery_tag, Content-type, Content-encoding, type, timestamp, priority, expiration, user_id, app_id, message_id, Reply-to, count, msg.

Примеры

Пример #1 Пример использования AMQPQueue::get()

<?php

/* создание соединения, используя все учетные данные по умолчанию: */
$connection = new AMQPConnection();
$connection->connect();

/* создание очереди */
$queue = new AMQPQueue($connection);

//объявление очереди
$queue->declare('myqueue');

//получение следующего сообщения
$message = $queue->get();

echo $message['msg'];

?>

AMQPQueue::delete
AMQPQueue::purge
AMQPQueue


Очистить содержимое очереди

AMQPQueue::get
AMQPQueue::unbind
AMQPQueue
PHP Manual

AMQPQueue::purge

(PECL amqp >= Unknown)

AMQPQueue::purge — Очистить содержимое очереди

Описание

public bool AMQPQueue::purge ( string $queue_name )

Очищает содержимое очереди.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

queue_name

Имя очереди для очистки

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

AMQPQueue::get
AMQPQueue::unbind
AMQPQueue


Удалить привязку очереди к ключу маршрутизации

AMQPQueue::purge
chdb
AMQPQueue
PHP Manual

AMQPQueue::unbind

(PECL amqp >= Unknown)

AMQPQueue::unbind — Удалить привязку очереди к ключу маршрутизации

Описание

public bool AMQPQueue::unbind ( string $exchange_name , string $routing_key )

Удалить связывающий ключ маршрутизации на обменнике из данной очереди.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

exchange_name

Имя обменника, на которым связана очередь.

routing_key

Связывающий ключ маршрутизации, используемый очередью.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

AMQPQueue::purge
chdb
AMQPQueue


Constant hash database

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • chdb — The chdb class
    • chdb::__construct — Creates a chdb instance
    • chdb::get — Gets the value associated with a key
  • chdb Функции
    • chdb_create — Creates a chdb file
AMQPQueue::unbind
Введение
Другие службы


Введение

CHDB (constant hash database) is a fast key-value database for constant data, realized by using a memory-mapped file and thus providing the following functionalities:

  • Extremely fast initial load, regardless of the size of the database.

  • Only the pages of the file which are actually used are loaded from the disk.

  • Once a page is loaded it is shared across multiple processes.

  • Loaded pages are cached across multiple requests and even process recycling.

A typical use of CHDB is as a faster alternative to defining many PHP constants.

CHDB is internally implemented as a hash-table using a » perfect hashing function, thus guaranteeing worst case O(1) lookup time.

chdb
Установка и настройка
chdb


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
chdb


Требования

This module uses » cmph (version 0.9) for providing the » perfect hashing function.

cmph 0.9 is required to install this module.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/chdb

» cmph (version 0.9) is required for installing this extension. If cmph is installed in a non-standard directory, use the --with-libcmph-dir=DIR switch, where DIR is the cmph install prefix.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
chdb


Примеры

Пример #1 Creating a chdb file

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

Пример #2 Loading and looking up a chdb file

<?php

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

Результатом выполнения данного примера будет что-то подобное:

value1
value2
Предопределенные константы
chdb
chdb


The chdb class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a loaded chdb file.

Обзор классов

chdb {
/* Methods */
__construct ( string $pathname )
public string get ( string $key )
}

Содержание

  • chdb::__construct — Creates a chdb instance
  • chdb::get — Gets the value associated with a key
Примеры
chdb::__construct
chdb


Creates a chdb instance

chdb
chdb::get
chdb
PHP Manual

chdb::__construct

(PECL chdb >= 0.1.0)

chdb::__construct — Creates a chdb instance

Описание

chdb::__construct ( string $pathname )

Loads a chdb file, by mapping it into memory.

Замечание:

While some validity checks are performed on the specified file, they are mostly there to avoid the possibility of common mistakes (for example, loading a file which is not a chdb database, or that is somehow incompatible with the current system). A maliciously crafted chdb file can thus be dangerous if loaded, so chdb files should be trusted and treated with the same security protections used for PHP shared libraries.

Список параметров

pathname

The name of the file to load.

Ошибки

Throws an exception in case the chdb file hasn't been successfully loaded.

Замечание:

A valid chdb file might fail to load in case it was created on an architecture with a different endianness, with a different version of chdb, or if the file is too big to be mapped into memory (mostly in case of huge files and 32-bit architectures). In these cases the load will fail by throwing an exception, but otherwise not performing any illegal operation.

chdb
chdb::get
chdb


Gets the value associated with a key

chdb::__construct
chdb Функции
chdb
PHP Manual

chdb::get

(PECL chdb >= 0.1.0)

chdb::get — Gets the value associated with a key

Описание

public string chdb::get ( string $key )

Gets the value associated with a key from a chdb database.

Список параметров

key

The key for which to get the value.

Возвращаемые значения

Returns a string containing the value associated with the given key, or NULL if not found.

Примеры

Пример #1 chdb::get() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

Результатом выполнения данного примера будет что-то подобное:

value1
value2
chdb::__construct
chdb Функции
chdb


chdb Функции

Содержание

  • chdb_create — Creates a chdb file
chdb::get
chdb_create
chdb


Creates a chdb file

chdb Функции
cURL
chdb Функции
PHP Manual

chdb_create

(PECL chdb >= 0.1.0)

chdb_create — Creates a chdb file

Описание

bool chdb_create ( string $pathname , array $data )

chdb_create() creates a chdb file containing the specified key-value pairs.

Замечание:

chdb files are not portable across little-endian and big-endian environments. Except for that, they are portable across different architectures. Also compatibility across different versions of chdb is not guaranteed.

Список параметров

pathname

The name of the file to create.

If a file with the same name already exists, it is overwritten.

data

An array containing the key-value pairs to store in the chdb file.

Keys and values are converted to strings before being written to the file, as chdb only support the string type. Note that binary strings are supported as well, both as keys and values.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws an exception in case the chdb file hasn't been successfully created.

Примеры

Пример #1 chdb_create() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

chdb Функции
cURL
chdb Функции


Клиентская библиотека работы с URL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Простой пример использования curl
  • cURL
    • curl_close — Завершает сеанс cURL
    • curl_copy_handle — Копирует дескриптор cURL вместе со всеми его настройками
    • curl_errno — Возвращает код последней ошибки
    • curl_error — Возвращает строку с описанием последней ошибки текущего сеанса
    • curl_exec — Выполняет запрос cURL
    • curl_getinfo — Возвращает информацию об определенной операции
    • curl_init — Инициализирует сеанс cURL
    • curl_multi_add_handle — Добавляет обычный cURL дескриптор к набору cURL дескрипторов
    • curl_multi_close — Закрывает набор cURL дескрипторов
    • curl_multi_exec — Запускает под-соединения текущего дескриптора cURL
    • curl_multi_getcontent — Возвращает результат операции, если была установлена опция CURLOPT_RETURNTRANSFER
    • curl_multi_info_read — Возвращает информацию о текущих операциях
    • curl_multi_init — Создает набор cURL-дескрипторов
    • curl_multi_remove_handle — Удаляет cURL дескриптор из набора cURL дескрипторов
    • curl_multi_select — Ждет активности на любом curl_multi соединении
    • curl_setopt_array — Устанавливает несколько параметров для сеанса cURL
    • curl_setopt — Устанавливает параметр для сеанса CURL
    • curl_version — Возвращает версию cURL
chdb_create
Введение
Другие службы


Введение

В PHP включена поддержка libcurl - библиотеки функций, написанной Daniel Stenberg, которая позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap. libcurl также умеет работать с сертификатами HTTPS, посылать запросы к HTTP серверам методами POST и PUT, закачивать файлы по протоколам HTTP и FTP (последнее можно сделать с помощью модуля FTP), использовать прокси-серверы, cookies и аутентификацию пользователей.

Эти функции были добавлены в PHP 4.0.2.

cURL
Установка и настройка
cURL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
cURL


Требования

Для использования функций cURL в PHP необходимо установить пакет » libcurl. Необходимо использовать версию libcurl 7.0.2-beta или выше. Для PHP 4.2.3 необходимо использовать версию libcurl 7.9.0 или выше. Начиная с версии PHP 4.3.0, необходима версия libcurl 7.9.8 или выше. PHP 5.0.0 требует libcurl не младше 7.10.5.

Установка и настройка
Установка
Установка и настройка


Установка

Для использования cURL необходимо собрать PHP с опцией --with-curl[=DIR] , где DIR - имя каталога, содержащего подкаталоги lib и include. Каталог include должен содержать подкаталог curl с файлами easy.h и curl.h. В каталоге lib должен быть файл libcurl.a. Начиная с PHP 4.3.0 с помощью опции --with-curlwrappers можно сконфигурировать PHP для использования cURL при работе с обертками URL.

Замечание: Замечание для пользователей Win32
Для работы с этим модулем в Windows файлы libeay32.dll и ssleay32.dll должны существовать в системной переменной окружения PATH. Вам не требуется файл libcurl.dll с сайта cURL.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Настройки конфигурации cURL
Название | Значение по умолчанию | Место изменения | История изменения
curl.cainfo | NULL | PHP_INI_SYSTEM | Доступна, начиная с версии PHP 5.3.7.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

curl.cainfo string

Значение по умолчанию для директивы CURLOPT_CAINFO. Данное значение должно быть указано в виде абсолютного пути.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Это расширение определяет два типа ресурсов: дескриптор cURL и мульти-дескриптор cURL.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Описание и использование этих констант подробно расписано в документации к функциям curl_setopt() и curl_getinfo().

CURLOPT_AUTOREFERER (integer)
Доступна начиная с версии PHP 5.1.0
CURLOPT_COOKIESESSION (integer)
Доступна начиная с версии PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
CURLOPT_DNS_CACHE_TIMEOUT (integer)
CURLOPT_FTP_SSL (integer)
Доступна начиная с версии PHP 5.2.0
CURLFTPSSL_TRY (integer)
Доступна начиная с версии PHP 5.2.0
CURLFTPSSL_ALL (integer)
Доступна начиная с версии PHP 5.2.0
CURLFTPSSL_CONTROL (integer)
Доступна начиная с версии PHP 5.2.0
CURLFTPSSL_NONE (integer)
Доступна начиная с версии PHP 5.2.0
CURLOPT_PRIVATE (integer)
Доступна начиная с версии PHP 5.2.4
CURLOPT_FTPSSLAUTH (integer)
Доступна начиная с версии PHP 5.1.0
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_FTP_CREATE_MISSING_DIRS (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
Эта константа недоступна, если включены опции open_basedir или safe_mode.
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_TIMEOUT_MS (integer)
CURLOPT_TCP_NODELAY (integer)
Доступна начиная с версии PHP 5.2.1
CURLOPT_POSTFIELDS (integer)
CURLOPT_PROGRESSFUNCTION (integer)
Доступна начиная с версии PHP 5.3.0
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_FTP_USE_EPSV (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_CONNECTTIMEOUT_MS (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_CAPATH (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLOPT_NOSIGNAL (integer)
CURLOPT_PROXYTYPE (integer)
CURLOPT_BUFFERSIZE (integer)
CURLOPT_HTTPGET (integer)
CURLOPT_HTTP_VERSION (integer)
CURLOPT_SSLKEY (integer)
CURLOPT_SSLKEYTYPE (integer)
CURLOPT_SSLKEYPASSWD (integer)
CURLOPT_SSLENGINE (integer)
CURLOPT_SSLENGINE_DEFAULT (integer)
CURLOPT_SSLCERTTYPE (integer)
CURLOPT_CRLF (integer)
CURLOPT_ENCODING (integer)
CURLOPT_PROXYPORT (integer)
CURLOPT_UNRESTRICTED_AUTH (integer)
CURLOPT_FTP_USE_EPRT (integer)
CURLOPT_HTTP200ALIASES (integer)
CURLOPT_HTTPAUTH (integer)
CURLAUTH_BASIC (integer)
CURLAUTH_DIGEST (integer)
CURLAUTH_GSSNEGOTIATE (integer)
CURLAUTH_NTLM (integer)
CURLAUTH_ANY (integer)
CURLAUTH_ANYSAFE (integer)
CURLOPT_PROXYAUTH (integer)
CURLOPT_MAX_RECV_SPEED_LARGE (integer)
Доступна начиная с PHP 5.4.0 и cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (integer)
Доступна начиная с PHP 5.4.0 и cURL 7.15.5
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
CURLCLOSEPOLICY_SLOWEST (integer)
CURLCLOSEPOLICY_CALLBACK (integer)
CURLCLOSEPOLICY_OLDEST (integer)
CURLINFO_PRIVATE (integer)
Доступна начиная с версии PHP 5.2.4
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_OUT (integer)
Доступна начиная с версии PHP 5.1.3
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)
CURLINFO_STARTTRANSFER_TIME (integer)
CURLINFO_CONTENT_TYPE (integer)
CURLINFO_REDIRECT_TIME (integer)
CURLINFO_REDIRECT_COUNT (integer)
CURL_TIMECOND_IFMODSINCE (integer)
CURL_TIMECOND_IFUNMODSINCE (integer)
CURL_TIMECOND_LASTMOD (integer)
CURL_VERSION_IPV6 (integer)
CURL_VERSION_KERBEROS4 (integer)
CURL_VERSION_SSL (integer)
CURL_VERSION_LIBZ (integer)
CURLVERSION_NOW (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)
CURLE_GOT_NOTHING (integer)
CURLE_SSL_ENGINE_NOTFOUND (integer)
CURLE_SSL_ENGINE_SETFAILED (integer)
CURLE_SEND_ERROR (integer)
CURLE_RECV_ERROR (integer)
CURLE_SHARE_IN_USE (integer)
CURLE_SSL_CERTPROBLEM (integer)
CURLE_SSL_CIPHER (integer)
CURLE_SSL_CACERT (integer)
CURLE_BAD_CONTENT_ENCODING (integer)
CURLE_LDAP_INVALID_URL (integer)
CURLE_FILESIZE_EXCEEDED (integer)
CURLE_FTP_SSL_FAILED (integer)
CURLFTPAUTH_DEFAULT (integer)
Доступна начиная с версии PHP 5.1.0
CURLFTPAUTH_SSL (integer)
Доступна начиная с версии PHP 5.1.0
CURLFTPAUTH_TLS (integer)
Доступна начиная с версии PHP 5.1.0
CURLPROXY_HTTP (integer)
CURLPROXY_SOCKS5 (integer)
CURL_NETRC_OPTIONAL (integer)
CURL_NETRC_IGNORED (integer)
CURL_NETRC_REQUIRED (integer)
CURL_HTTP_VERSION_NONE (integer)
CURL_HTTP_VERSION_1_0 (integer)
CURL_HTTP_VERSION_1_1 (integer)
CURLM_CALL_MULTI_PERFORM (integer)
CURLM_OK (integer)
CURLM_BAD_HANDLE (integer)
CURLM_BAD_EASY_HANDLE (integer)
CURLM_OUT_OF_MEMORY (integer)
CURLM_INTERNAL_ERROR (integer)
CURLMSG_DONE (integer)
Типы ресурсов
Примеры
cURL


Примеры

Содержание

  • Простой пример использования curl
Предопределенные константы
Простой пример использования curl
cURL


Простой пример использования curl

Как только вы собрали PHP с поддержкой cURL уже можно использовать функции cURL. Работа с cURL всегда начинается с вызова curl_init(), затем устанавливаются необходимые параметры с помощью curl_setopt(), и выполняется требуемая операция вызовом curl_exec(), после чего вызовом curl_close() сеанс работы завершается. Приведенный ниже пример использует функции cURL для сохранения стартовой страницы сайта example.com в файл:

Пример #1 Использование модуля cURL для сохранения стартовой страницы example.com

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

Примеры
cURL
Примеры


cURL
PHP Manual

cURL

Содержание

  • curl_close — Завершает сеанс cURL
  • curl_copy_handle — Копирует дескриптор cURL вместе со всеми его настройками
  • curl_errno — Возвращает код последней ошибки
  • curl_error — Возвращает строку с описанием последней ошибки текущего сеанса
  • curl_exec — Выполняет запрос cURL
  • curl_getinfo — Возвращает информацию об определенной операции
  • curl_init — Инициализирует сеанс cURL
  • curl_multi_add_handle — Добавляет обычный cURL дескриптор к набору cURL дескрипторов
  • curl_multi_close — Закрывает набор cURL дескрипторов
  • curl_multi_exec — Запускает под-соединения текущего дескриптора cURL
  • curl_multi_getcontent — Возвращает результат операции, если была установлена опция CURLOPT_RETURNTRANSFER
  • curl_multi_info_read — Возвращает информацию о текущих операциях
  • curl_multi_init — Создает набор cURL-дескрипторов
  • curl_multi_remove_handle — Удаляет cURL дескриптор из набора cURL дескрипторов
  • curl_multi_select — Ждет активности на любом curl_multi соединении
  • curl_setopt_array — Устанавливает несколько параметров для сеанса cURL
  • curl_setopt — Устанавливает параметр для сеанса CURL
  • curl_version — Возвращает версию cURL
Простой пример использования curl
curl_close
cURL
PHP Manual


Завершает сеанс cURL

cURL
curl_copy_handle
cURL
PHP Manual

curl_close

(PHP 4 >= 4.0.2, PHP 5)

curl_close — Завершает сеанс cURL

Описание

void curl_close ( resource $ch )

Завершает сеанс cURL и освобождает все ресурсы. Дескриптор ch также уничтожается.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Инициализация сеанса cURL и загрузка web-страницы

<?php
// создание нового ресурса cURL
$ch = curl_init();

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// загрузка страницы и выдача её браузеру
curl_exec($ch);

// завершение сеанса и освобождение ресурсов
curl_close($ch);
?>

Смотрите также

  • curl_init() - Инициализирует сеанс cURL
  • curl_multi_close() - Закрывает набор cURL дескрипторов

cURL
curl_copy_handle
cURL


Копирует дескриптор cURL вместе со всеми его настройками

curl_close
curl_errno
cURL
PHP Manual

curl_copy_handle

(PHP 5)

curl_copy_handle — Копирует дескриптор cURL вместе со всеми его настройками

Описание

resource curl_copy_handle ( resource $ch )

Копирует дескриптор cURL сохраняя его настройки.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает новый дескриптор cURL.

Примеры

Пример #1 Копирование дескриптора cURL

<?php
// создание нового ресурса cURL
$ch = curl_init();

// установка URL и других соответствующих параметров
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// копирование дескриптора
$ch2 = curl_copy_handle($ch);

// загрузка URL (http://www.example.com/) и ее передача в браузер
curl_exec($ch2);

// закрытие ресурсов cURL и освобождение системных ресурсов
curl_close($ch2);
curl_close($ch);
?>

curl_close
curl_errno
cURL


Возвращает код последней ошибки

curl_copy_handle
curl_error
cURL
PHP Manual

curl_errno

(PHP 4 >= 4.0.3, PHP 5)

curl_errno — Возвращает код последней ошибки

Описание

int curl_errno ( resource $ch )

Возвращает код ошибки последней операции cURL.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает номер ошибки или 0 (ноль), если ошибки не произошло.

Примеры

Пример #1 Пример использования curl_errno()

<?php
// Создаем дескриптор curl к несуществующему адресу
$ch = curl_init('http://404.php.net/');

// Запускаем
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// Проверяем наличие ошибки
if(curl_errno($ch))
{
    echo 'Ошибка curl: ' . curl_error($ch);
}

// Закрываем дескриптор
curl_close($ch);
?>

Смотрите также

  • curl_error() - Возвращает строку с описанием последней ошибки текущего сеанса
  • » Коды ошибок cURL

curl_copy_handle
curl_error
cURL


Возвращает строку с описанием последней ошибки текущего сеанса

curl_errno
curl_exec
cURL
PHP Manual

curl_error

(PHP 4 >= 4.0.3, PHP 5)

curl_error — Возвращает строку с описанием последней ошибки текущего сеанса

Описание

string curl_error ( resource $ch )

Возвращает понятное сообщение об ошибке для последней операции cURL.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает сообщение об ошибке или '' (пустую строку), если ошибки не произошло.

Примеры

Пример #1 Пример использования curl_error()

<?php
// Создаем дескриптор curl к несуществующему адресу
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Ошибка curl: ' . curl_error($ch);
}
else
{
    echo 'Операция завершена без каких-либо ошибок';
}

// Закрываем дескриптор
curl_close($ch);
?>

Смотрите также

  • curl_errno() - Возвращает код последней ошибки
  • » Коды ошибок cURL

curl_errno
curl_exec
cURL


Выполняет запрос cURL

curl_error
curl_getinfo
cURL
PHP Manual

curl_exec

(PHP 4 >= 4.0.2, PHP 5)

curl_exec — Выполняет запрос cURL

Описание

mixed curl_exec ( resource $ch )

Выполняет запрос cURL.

Эта функция должна вызываться после инициализации сеанса и установки всех необходимых параметров.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Однако, если установлена опция CURLOPT_RETURNTRANSFER, при успешном завершении будет возвращен результат, а при неудаче - FALSE.

Примеры

Пример #1 Загрузка web-страницы

<?php
// создание нового cURL ресурса
$ch = curl_init();

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// загрузка страницы и выдача её браузеру
curl_exec($ch);

// завершение сеанса и освобождение ресурсов
curl_close($ch);
?>

Смотрите также

  • curl_multi_exec() - Запускает под-соединения текущего дескриптора cURL

curl_error
curl_getinfo
cURL


Возвращает информацию об определенной операции

curl_exec
curl_init
cURL
PHP Manual

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo — Возвращает информацию об определенной операции

Описание

mixed curl_getinfo ( resource $ch [, int $opt = 0 ] )

Возвращает информацию о последней операции.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

opt

Может принимать значение одной из следующих констант:

  • CURLINFO_EFFECTIVE_URL - Последний использованный URL
  • CURLINFO_HTTP_CODE - Последний полученный HTTP код
  • CURLINFO_FILETIME - Удаленная (серверная) дата загруженного документа, если она неизвестна, возвращается -1.
  • CURLINFO_TOTAL_TIME - Полное время выполнения последней операции в секундах.
  • CURLINFO_NAMELOOKUP_TIME - Время разрешения имени сервера в секундах.
  • CURLINFO_CONNECT_TIME - Время, затраченное на установку соединения, в секундах
  • CURLINFO_PRETRANSFER_TIME - Время, прошедшее от начала операции до готовности к фактической передаче данных, в секундах
  • CURLINFO_STARTTRANSFER_TIME - Время, прошедшее от начала операции до момента передачи первого байта данных, в секундах
  • CURLINFO_REDIRECT_TIME - Общее время, затраченное на перенаправления, в секундах
  • CURLINFO_SIZE_UPLOAD - Общее количество байт при закачке
  • CURLINFO_SIZE_DOWNLOAD - Общее количество байт при загрузке
  • CURLINFO_SPEED_DOWNLOAD - Средняя скорость загрузки
  • CURLINFO_SPEED_UPLOAD - Средняя скорость закачки
  • CURLINFO_HEADER_SIZE - Суммарный размер всех полученных заголовков
  • CURLINFO_HEADER_OUT - Посылаемая строка запроса. Для работы этого параметра, добавьте опцию CURLINFO_HEADER_OUT к дескриптору с помощью вызова curl_setopt()
  • CURLINFO_REQUEST_SIZE - Суммарный размер всех отправленных запросов, в настоящее время используется только для HTTP запросов
  • CURLINFO_SSL_VERIFYRESULT - Результат проверки SSL сертификата, запрошенной с помощью установки параметра CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - размер скачанных данных, прочитанный из заголовка Content-Length:
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Размер закачиваемых данных
  • CURLINFO_CONTENT_TYPE - Содержимое полученного заголовка Content-Type:, или NULL, если сервер не послал правильный заголовок Content-Type:

Возвращаемые значения

Если параметр opt указан, то возвращается его значение в виде строки. Иначе, возвращается ассоциативный массив со следующими индексами (которые соответствуют значениям аргумента opt), или FALSE в случае ошибки:

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "request_header" (Это возвращается только при установленной опции CURLINFO_HEADER_OUT с помощью вызова curl_setopt() до выполнения запроса)

Список изменений

Версия | Описание
5.1.3 | Добавлена константа CURLINFO_HEADER_OUT.

Примеры

Пример #1 curl_getinfo() example

<?php
// Создаем дескриптор cURL
$ch = curl_init('http://www.yahoo.com/');

// Запускаем
curl_exec($ch);

// Проверяем наличие ошибок
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'Прошло ' . $info['total_time'] . ' секунд во время запроса к ' . $info['url'];
}

// Close handle
curl_close($ch);
?>

Примечания

Замечание:

Информация, собранная этой функцией, будет сохранена при дальнейшем использовании дескриптора. Это означает, что если статистика не будет перезаписана самой функцией, будет возвращаться информация по предыдущему запросу.

curl_exec
curl_init
cURL


Инициализирует сеанс cURL

curl_getinfo
curl_multi_add_handle
cURL
PHP Manual

curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init — Инициализирует сеанс cURL

Описание

resource curl_init ([ string $url = NULL ] )

Инициализирует новый сеанс cURL и возвращает дескриптор, который используется с функциями curl_setopt(), curl_exec() и curl_close().

Список параметров

url

Если указан, опция CURLOPT_URL будет автоматически установлена в значение этого аргумента. Вы можете вручную установить эту опцию с помощью функции curl_setopt().

Возвращаемые значения

Возвращает дескриптор cURL при удаче, и FALSE в случае ошибки.

Примеры

Пример #1 Инициализация нового сеанса cURL и загрузка web-страницы

<?php
// создание нового ресурса cURL
$ch = curl_init();

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// загрузка страницы и выдача её браузеру
curl_exec($ch);

// завершение сеанса и освобождение ресурсов
curl_close($ch);
?>

Смотрите также

  • curl_close() - Завершает сеанс cURL
  • curl_multi_init() - Создает набор cURL-дескрипторов

curl_getinfo
curl_multi_add_handle
cURL


Добавляет обычный cURL дескриптор к набору cURL дескрипторов

curl_init
curl_multi_close
cURL
PHP Manual

curl_multi_add_handle

(PHP 5)

curl_multi_add_handle — Добавляет обычный cURL дескриптор к набору cURL дескрипторов

Описание

int curl_multi_add_handle ( resource $mh , resource $ch )

Добавляет дескриптор ch к набору дескрипторов mh

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает 0 при успехе, или один из кодов ошибок CURLM_XXX.

Примеры

Пример #1 Пример использования curl_multi_add_handle()

Этот пример создаст два дескриптора cURL, добавит их в набор дескрипторов, а затем запустит их паралелльно.

<?php
// создаем оба ресурса cURL
$ch1 = curl_init();
$ch2 = curl_init();

// устанавливаем URL и другие соответствующие опции
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//создаем набор дескрипторов cURL
$mh = curl_multi_init();

//добавляем два дескриптора
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//запускаем дескрипторы
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

//закрываем все дескрипторы
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>

Смотрите также

  • curl_multi_remove_handle() - Удаляет cURL дескриптор из набора cURL дескрипторов
  • curl_multi_init() - Создает набор cURL-дескрипторов
  • curl_init() - Инициализирует сеанс cURL

curl_init
curl_multi_close
cURL


Закрывает набор cURL дескрипторов

curl_multi_add_handle
curl_multi_exec
cURL
PHP Manual

curl_multi_close

(PHP 5)

curl_multi_close — Закрывает набор cURL дескрипторов

Описание

void curl_multi_close ( resource $mh )

Закрывает набор cURL дескрипторов.

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования curl_multi_close()

Этот пример создаст два дескриптора cURL, добавит их в набор дескрипторов, а затем запустит их паралелльно.

<?php
// создаем оба ресурса cURL
$ch1 = curl_init();
$ch2 = curl_init();

// устанавливаем URL и другие соответствующие опции
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//создаем набор дескрипторов cURL
$mh = curl_multi_init();

//добавляем два дескриптора
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//запускаем дескрипторы
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);

//закрываем все дескрипторы
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Смотрите также

  • curl_multi_init() - Создает набор cURL-дескрипторов
  • curl_close() - Завершает сеанс cURL

curl_multi_add_handle
curl_multi_exec
cURL


Запускает под-соединения текущего дескриптора cURL

curl_multi_close
curl_multi_getcontent
cURL
PHP Manual

curl_multi_exec

(PHP 5)

curl_multi_exec — Запускает под-соединения текущего дескриптора cURL

Описание

int curl_multi_exec ( resource $mh , int &$still_running )

Обрабатывает каждый дескриптор в стеке. Этот метод может быть вызван вне зависимости от необходимости дескриптора читать или записывать данные.

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

still_running

Ссылка на флаг, указывающий, идут ли еще какие-либо действия.

Возвращаемые значения

Код cURL, указанный в "Предопределенных константах" cURL.

Замечание:

Здесь возвращаются ошибки, относящиеся только ко всему стеку. Проблемы все еще могут произойти на индивидуальных запросах, даже когда эта функция возвращает CURLM_OK.

Примеры

Пример #1 Пример использования curl_multi_exec()

Этот пример создаст два дескриптора cURL, добавит их в набор дескрипторов, а затем запустит их паралелльно.

<?php
// создаем оба ресурса cURL
$ch1 = curl_init();
$ch2 = curl_init();

// устанавливаем URL и другие соответствующие опции
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//создаем набор дескрипторов cURL
$mh = curl_multi_init();

//добавляем два дескриптора
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
//запускаем дескрипторы
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

//закрываем дескрипторы
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Смотрите также

  • curl_multi_init() - Создает набор cURL-дескрипторов
  • curl_multi_select() - Ждет активности на любом curl_multi соединении
  • curl_exec() - Выполняет запрос cURL

curl_multi_close
curl_multi_getcontent
cURL


Возвращает результат операции, если была установлена опция CURLOPT_RETURNTRANSFER

curl_multi_exec
curl_multi_info_read
cURL
PHP Manual

curl_multi_getcontent

(PHP 5)

curl_multi_getcontent — Возвращает результат операции, если была установлена опция CURLOPT_RETURNTRANSFER

Описание

string curl_multi_getcontent ( resource $ch )

Если для определенного дескриптора была установлена опция CURLOPT_RETURNTRANSFER, то эта функция вернет содержимое этого cURL дескриптора в виде строки.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

Возвращает содержимое cURL дескриптора, если была использована опция CURLOPT_RETURNTRANSFER.

Смотрите также

  • curl_multi_init() - Создает набор cURL-дескрипторов

curl_multi_exec
curl_multi_info_read
cURL


Возвращает информацию о текущих операциях

curl_multi_getcontent
curl_multi_init
cURL
PHP Manual

curl_multi_info_read

(PHP 5)

curl_multi_info_read — Возвращает информацию о текущих операциях

Описание

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

Опрашивает набор дескрипторов о наличии сообщений или информации от индивидуальных передач. Сообщения могут включать такую информацию как код ошибки передачи или прост факт завершения передачи.

Повторяющиеся вызовы этой функции будут каждый раз возвращать новый результат, пока не будет возвращено FALSE в качестве сигнала окончания сообщений. Целое число, содержащееся в msgs_in_queue, указывает количество оставшихся сообщений после вызова данной функции.

Внимание

Данные, на которые указывает возвращаемый ресурс, будут затерты вызовом curl_multi_remove_handle().

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

msgs_in_queue

Количество оставшихся сообщений в очереди

Возвращаемые значения

В случае успеха, возвращает ассоциативный массив сообщений, или FALSE в случае неудачи.

Содержимое возвращаемого массива
Ключ: | Значение:
msg | Константа CURLMSG_DONE. Остальные возвращаемые значения пока недоступны.
result | Одна из констант CURLE_*. Если все OK, результатом будет константа CURLE_OK.
handle | Ресурс типа curl, указывающий на дескриптор, к которому он относится.

Примеры

Пример #1 Пример использования curl_multi_info_read()

<?php

$urls = array(
   "http://www.cnn.com/",
   "http://www.bbc.co.uk/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Список изменений

Версия | Описание
5.2.0 | Добавлен параметр msgs_in_queue.

Смотрите также

  • curl_multi_init() - Создает набор cURL-дескрипторов

curl_multi_getcontent
curl_multi_init
cURL


Создает набор cURL-дескрипторов

curl_multi_info_read
curl_multi_remove_handle
cURL
PHP Manual

curl_multi_init

(PHP 5)

curl_multi_init — Создает набор cURL-дескрипторов

Описание

resource curl_multi_init ( void )

Позволяет параллельную обработку множества cURL-дескрипторов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает набор cURL-дескрипторов в случае успеха, или FALSE в случае неудачи.

Примеры

Пример #1 Пример использования curl_multi_init()

Этот пример создаст два дескриптора cURL, добавит их в набор дескрипторов, а затем запустит их паралелльно.

<?php
// создаем оба ресурса cURL
$ch1 = curl_init();
$ch2 = curl_init();

// устанавливаем URL и другие соответствующие опции
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//создаем набор дескрипторов cURL
$mh = curl_multi_init();

//добавляем два дескриптора
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
//запускаем дескрипторы
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

//закрываем все дескрипторы
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Смотрите также

  • curl_init() - Инициализирует сеанс cURL
  • curl_multi_close() - Закрывает набор cURL дескрипторов

curl_multi_info_read
curl_multi_remove_handle
cURL


Удаляет cURL дескриптор из набора cURL дескрипторов

curl_multi_init
curl_multi_select
cURL
PHP Manual

curl_multi_remove_handle

(PHP 5)

curl_multi_remove_handle — Удаляет cURL дескриптор из набора cURL дескрипторов

Описание

int curl_multi_remove_handle ( resource $mh , resource $ch )

Удаляет указанный дескриптор ch из указанного набора дескрипторов mh. После того, как дескриптор ch удален, его можно снова совершенно легально использовать в функции curl_exec(). Удаление дескриптора ch во время использования также остановит текущую передачу, идущую на этом дескрипторе.

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

ch

Дескриптор cURL, полученный из curl_init().

Возвращаемые значения

В случае успеха возвращает 0 или одну из констант CURLM_XXX, где XXX - код ошибки.

Смотрите также

  • curl_init() - Инициализирует сеанс cURL
  • curl_multi_init() - Создает набор cURL-дескрипторов
  • curl_multi_add_handle() - Добавляет обычный cURL дескриптор к набору cURL дескрипторов

curl_multi_init
curl_multi_select
cURL


Ждет активности на любом curl_multi соединении

curl_multi_remove_handle
curl_setopt_array
cURL
PHP Manual

curl_multi_select

(PHP 5)

curl_multi_select — Ждет активности на любом curl_multi соединении

Описание

int curl_multi_select ( resource $mh [, float $timeout = 1.0 ] )

Блокирует выполнение скрипта, пока какое-либо из curl_multi соединений не станет активным.

Список параметров

mh

Мульти-дескриптор cURL, полученный из curl_multi_init().

timeout

Время, в секундах, для ожидания ответа.

Возвращаемые значения

В случае успеха, возвращает количество дескрипторов, содержащихся в наборах дескрипторов. В случае неудачи эта функция вернет -1 при ошибке выборки или таймаута (из нижележащего системного вызова выборки).

Смотрите также

  • curl_multi_init() - Создает набор cURL-дескрипторов

curl_multi_remove_handle
curl_setopt_array
cURL


Устанавливает несколько параметров для сеанса cURL

curl_multi_select
curl_setopt
cURL
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_array — Устанавливает несколько параметров для сеанса cURL

Описание

bool curl_setopt_array ( resource $ch , array $options )

Устанавливает несколько параметров для сеанса cURL. Эта функция полезна при установке большого количества cURL-параметров без необходимости постоянно вызывать curl_setopt().

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

options

Массив (array), определяющий устанавливаемые параметры и их значения. Ключи должны быть корректными константами для функции curl_setopt() или их целочисленными эквивалентами.

Возвращаемые значения

Возвращает TRUE, если все параметры были успешно установлены. Если не удалось успешно установить какой-либо параметр, немедленно возвращается значение FALSE, а последующие параметры в массиве options будут проигнорированы.

Примеры

Пример #1 Инициализация новой сессии cURL и загрузка веб-страницы

<?php
// создание нового ресурса cURL
$ch = curl_init();

// установка set URL и других соответствующих параметров
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// загрузка URL и ее выдача в браузер
curl_exec($ch);

// закрытие ресурса cURL и освобождение системных ресурсов
curl_close($ch);
?>

До версии PHP 5.1.3 вместо этой функции можно было использовать следующий код:

Пример #2 Наша собственная реализация curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Примечания

Замечание:

Как и при работе с curl_setopt(), передача массива в параметр CURLOPT_POST закодирует все данные с помощью multipart/form-data, тогда как передача URL-кодированной строки будет использовать кодировку application/x-www-form-urlencoded.

Смотрите также

  • curl_setopt() - Устанавливает параметр для сеанса CURL

curl_multi_select
curl_setopt
cURL


Устанавливает параметр для сеанса CURL

curl_setopt_array
curl_version
cURL
PHP Manual

curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt — Устанавливает параметр для сеанса CURL

Описание

bool curl_setopt ( resource $ch , int $option , mixed $value )

Устанавливает параметр для указанного сеанса cURL.

Список параметров

ch

Дескриптор cURL, полученный из curl_init().

option

Устанавливаемый параметр CURLOPT_XXX.

value

Значение параметра option.

Для следующих значений параметра option, параметр value должен быть типа bool:

Параметр | Устанавливаемое значение value | Замечания
CURLOPT_AUTOREFERER | TRUE для автоматической установки поля Referer: в запросах, перенаправленных заголовком Location:.
CURLOPT_BINARYTRANSFER | TRUE для возврата необработанного ответа при использовании константы CURLOPT_RETURNTRANSFER.
CURLOPT_COOKIESESSION | TRUE для указания текущему сеансу начать новую "сессию" cookies. Это заставит libcurl проигнорировать все "сессионные" cookies, которые она должна была бы загрузить, полученные из предыдущей сессии. По умолчанию, libcurl всегда сохраняет и загружает все cookies, вне зависимости от того, являются ли они "сессионными" или нет. "Сессионные" cookies - это cookies без срока истечения, котоыре должны существовать только для текущей "сессии".
CURLOPT_CERTINFO | TRUE для вывода информации о сертификате SSL в поток STDERR при безопасных соединениях. | Доступна, начиная с версии PHP 5.3.2. Для корректной работы требует включенной опции CURLOPT_VERBOSE.
CURLOPT_CRLF | TRUE для преобразования концов строк Unix в CRLF.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE для использования глобального кэша DNS. Этот параметр не является потокобезопасным и по умолчанию включен.
CURLOPT_FAILONERROR | TRUE для тихого окончания работы, если полученный HTTP-код больше или равен 400. Поведение по умолчанию возвращает страницу как обычно, игнорируя код.
CURLOPT_FILETIME | TRUE для попытки получения даты модификации удаленного документа. Это значение может быть получено с помощью параметра CURLINFO_FILETIME из функции curl_getinfo().
CURLOPT_FOLLOWLOCATION | TRUE для следования любому заголовку "Location: ", отправленному сервером в своем ответе (учтите, что это происходит рекурсивно, PHP будет следовать за всеми посылаемыми заголовками "Location: ", за исключением случая, когда установлена константа CURLOPT_MAXREDIRS).
CURLOPT_FORBID_REUSE | TRUE для принудительного закрытия соединения после завершения его обработки так, чтобы его нельзя было использовать повторно.
CURLOPT_FRESH_CONNECT | TRUE для принудительного использования нового соединения вместо закэшированного.
CURLOPT_FTP_USE_EPRT | TRUE для использования EPRT (и LPRT) при активных FTP загрузках. Используйте FALSE для того, чтобы отключить EPRT и LPRT и использовать только PORT.
CURLOPT_FTP_USE_EPSV | TRUE для первоначальной пробы команды EPSV при FTP передачах. Если команда не удалась, будет произведен обратный откат к PASV. Установите в FALSE для отключения EPSV.
CURLOPT_FTPAPPEND | TRUE для записи удаленного файла в конец, вместо перезаписывания его поверх существующего файла.
CURLOPT_FTPASCII | Псевдоним CURLOPT_TRANSFERTEXT. Используйте его вместо этого.
CURLOPT_FTPLISTONLY | TRUE для возврата только списка имен из FTP директории.
CURLOPT_HEADER | TRUE для включения заголовков в вывод.
CURLINFO_HEADER_OUT | TRUE для отслеживания строки запроса дескриптора. | Доступен, начиная с версии PHP 5.1.3. Префикс CURLINFO_ употреблен специально.
CURLOPT_HTTPGET | TRUE для сброса метода HTTP-запроса в метод GET. Так как GET используется по умолчанию, этот параметр необходим только в случае, если метод запроса был ранее изменен.
CURLOPT_HTTPPROXYTUNNEL | TRUE для туннелирования через указанный HTTP-прокси.
CURLOPT_MUTE | TRUE для полного отключения сообщений функций cURL.
CURLOPT_NETRC | TRUE для считывания файла ~/.netrc на предмет логина и пароля для удаленного сайта, с которым устанавливается соединение.
CURLOPT_NOBODY | TRUE для исключения тела ответа из вывода. Метод запроса устанавливается в HEAD. Смена этого параметра в FALSE не меняет его обратно в GET.
CURLOPT_NOPROGRESS

TRUE для отмены индиктора прогресса при передачах cURL.

Замечание:

PHP автоматически устанавливает этот параметр в TRUE, меняйте его только для отладочных целей.

CURLOPT_NOSIGNAL | TRUE для игнорирования любой функции cURL, посылающей сигналы PHP процессу. Этот параметр включен по умолчанию в многопоточных SAPIs для корректной работы таймаут параметров. | Добавлен в cURL 7.10.
CURLOPT_POST | TRUE для использования обычного HTTP POST. Данный метод POST использует обычный application/x-www-form-urlencoded, обычно используемый в HTML-формах.
CURLOPT_PUT | TRUE для загрузки файла методом HTTP PUT. Используемый файл должен быть установлен с помощью параметров CURLOPT_INFILE и CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | TRUE для возврата результата передачи в качестве строки из curl_exec() вместо прямого вывода в браузер.
CURLOPT_SSL_VERIFYPEER | FALSE для остановки cURL от проверки сертификата узла сети. Альтернативные сверяемые сертификаты могут быть указаны с помощью параметра CURLOPT_CAINFO или директории с сертификатами, указываемой параметром CURLOPT_CAPATH. | По умолчанию равно TRUE начиная с версии cURL 7.10. Дистрибутив по умолчанию устанавливается начиная с версии cURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE для использования ASCII режима при FTP передачах. При использовании LDAP данные возвращаются простым текстом вместо HTML. В Windows системах поток STDOUT не устанавливается в бинарный режим.
CURLOPT_UNRESTRICTED_AUTH | TRUE для продолжения посылки логина и пароля при редиректах (при использовании CURLOPT_FOLLOWLOCATION), даже при изменении имени хоста.
CURLOPT_UPLOAD | TRUE для подготовки к загрузке файла на сервер.
CURLOPT_VERBOSE | TRUE для вывода дополнительной информации. Записывает вывод в поток STDERR, или файл, указанный параметром CURLOPT_STDERR.

Для следующих значений параметра option, параметр value должен быть типа integer:

Параметр | Устанавливаемое значение value | Замечания
CURLOPT_BUFFERSIZE | Размер буфера, используемого при каждом чтении. Однако, нет никакой гарантии что данный запрос будет завершен. | Добавлен в версии cURL 7.10.
CURLOPT_CLOSEPOLICY | Либо CURLCLOSEPOLICY_LEAST_RECENTLY_USED, либо CURLCLOSEPOLICY_OLDEST. Есть еще три дополнительные константы CURLCLOSEPOLICY_, но cURL на данный момент их не поддерживает.
CURLOPT_CONNECTTIMEOUT | Количество секунд ожидания при попытке соединения. Используйте 0 для бесконечного ожидания.
CURLOPT_CONNECTTIMEOUT_MS | Количество миллисекунд ожидания при попытке соединения. Используйте 0 для бесконечного ожидания. | Добавлен в версии cURL 7.16.2. Доступно, начиная с версии PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT | Количество секунд, в течение которых в памяти хранятся DNS-записи. По умолчанию этот параметр равен 120 (2 минуты).
CURLOPT_FTPSSLAUTH | Метод FTP аутентификации (в активном режиме): CURLFTPAUTH_SSL (сначала проверяется SSL), CURLFTPAUTH_TLS (сначала проверяется TLS) или CURLFTPAUTH_DEFAULT (cURL решает сама). | Добавлен в версии cURL 7.12.2.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (по умолчанию, CURL сама выбирает используемую версию), CURL_HTTP_VERSION_1_0 (принудительное использование HTTP/1.0), or CURL_HTTP_VERSION_1_1 (принудительное использование HTTP/1.1).
CURLOPT_HTTPAUTH

Используемые HTTP методы авторизации. Используемые параметры: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE.

Можно использовать побитовый оператор | (или) для комбинации нескольких методов вместе. В этом случае cURL опросит сервер на предмет поддерживаемых методов авторизации и выберет лучший из них.

CURLAUTH_ANY - это псевдоним CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE - это псевдоним CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE | Ожидаемый размер файла, в байтах, при загрузке файла на удаленный сервер. Учтите, что использование этой опции не остановит дальнейшую посылку данных, превышающих это значение, так как посылаемые данные зависят от результата CURLOPT_READFUNCTION.
CURLOPT_LOW_SPEED_LIMIT | Верхний порог скорости передачи данных, в байтах в секунду. Проверка происходит в течение CURLOPT_LOW_SPEED_TIME секунд, после чего PHP считает передачу слишком медленной и прерывает ее.
CURLOPT_LOW_SPEED_TIME | Максимальное количество секунд, в течение которых скорость передачи не должна превышать CURLOPT_LOW_SPEED_LIMIT, иначе PHP пометит передачу как слишком медленную и прекратит ее.
CURLOPT_MAXCONNECTS | Максимальное количество постоянных соединений. При достижении лимита для определения закрываемого соединения используется параметр CURLOPT_CLOSEPOLICY.
CURLOPT_MAXREDIRS | Максимальное количество принимаемых редиректов. Используйте этот параметр вместе с параметром CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | Альтернативный порт соединения.
CURLOPT_PROTOCOLS

Битовая маска из значений CURLPROTO_*. Данная маска ограничивает используемые libcurl протоколы. Это позволяет иметь libcurl, работающую с большим количеством протоколов, и ограничивать работу определенных передач только для некоторого их набора. По умолчанию, libcurl использует все поддерживаемые протоколы. Смотрите также параметр CURLOPT_REDIR_PROTOCOLS.

Корректные значения протоколов: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

Добавлен в версии cURL 7.19.4.
CURLOPT_PROXYAUTH | Методы авторизации HTTP, используемые при соединении с прокси-сервером. Используйте те же самые битовые маски, которые были описаны у параметра CURLOPT_HTTPAUTH. В данный момент для авторизации прокси поддерживаются только CURLAUTH_BASIC и CURLAUTH_NTLM. | Добавлен в версии cURL 7.10.7.
CURLOPT_PROXYPORT | Номер порта прокси-сервера, к которому осуществляется соединение. Этот номер также может быть установлен с помощью параметра CURLOPT_PROXY.
CURLOPT_PROXYTYPE | Либо CURLPROXY_HTTP (по умолчанию), либо CURLPROXY_SOCKS5. | Добавлен в версии cURL 7.10.
CURLOPT_REDIR_PROTOCOLS | Битовая маска из значений CURLPROTO_*. Данная битовая масска ограничивает протоколы используемые libcurl при редиректе (при включенном параметре CURLOPT_FOLLOWLOCATION). Это позволяет ограничить набор используемых протоколов при редиректах для некоторых передач. По умолчанию, libcurl поддерживает все протоколы, кроме FILE и SCP. В версиях, предшествовавших 7.19.4, перенаправление использовалось для всех протоколов без исключения. Смотрите также описание параметра CURLOPT_PROTOCOLS для списка констант со значениями протоколов. | Добавлен в версии cURL 7.19.4.
CURLOPT_RESUME_FROM | Смещение начала передачи, в байтах.
CURLOPT_SSL_VERIFYHOST | Используйте 1 для проверки существования общего имени в сертификате SSL. Используйте 2 для проверки существования общего имени и также его совпадения с указанным хостом. В боевом окружении значение этого параметра должно быть 2 (установлено по умолчанию).
CURLOPT_SSLVERSION | Используемая версия SSL (2 или 3). По умолчанию, PHP попытается определить ее сам, хотя в некоторых случаях ее нужно устанавливать вручную.
CURLOPT_TIMECONDITION | Способ трактовки параметра CURLOPT_TIMEVALUE. Используйте CURL_TIMECOND_IFMODSINCE для возвращения страницы, только если она была изменена со времени, указанного в параметре CURLOPT_TIMEVALUE. Если страница не была изменена, вернется заголовок "304 Not Modified", подразумевая, что параметрCURLOPT_HEADER установлен в TRUE. Используйте CURL_TIMECOND_IFUNMODSINCE для обратного эффекта. По умолчанию используется CURL_TIMECOND_IFMODSINCE.
CURLOPT_TIMEOUT | Максимально позволенное количество секунд для выполнения cURL-функций.
CURLOPT_TIMEOUT_MS | Максимально позволенное количество миллисекунд для выполнения cURL-функций. Если libcurl собрана с использованием обычного системного распознавателя имен, то этот промежуток соединения все еще будет использовать секундное округление таймаутов, с минимально разрешенным таймаутом в одну секунду. | Добавлен в версии cURL 7.16.2. Доступен, начиная с версии PHP 5.2.3.
CURLOPT_TIMEVALUE | Количество секунд, начиная с 1 января 1970 года. Это время будет использовано параметром CURLOPT_TIMECONDITION. По умолчанию, используется параметр CURL_TIMECOND_IFMODSINCE.
CURLOPT_MAX_RECV_SPEED_LARGE | Если скорость скачки превысит это значение (указанное в байтах в секунду) в среднем в течение всей передачи, то скачка будет приостановлена для поддержания средней скорости меньше либо равной данному параметру. По умолчанию скорость не ограничивается. | Добавлен в версии cURL 7.15.5. Доступен, начиная с версии PHP 5.4.0.
CURLOPT_MAX_SEND_SPEED_LARGE | Если загрузка на сервер превысит это значение (указанное в байтах в секунду) в среднем в течение всей передачи, то загрузка будет приостановлена для поддержания средней скорости меньше либо равной данному параметру. По умолчанию скорость не ограничивается. | Добавлен в версии cURL 7.15.5. Доступен, начиная с версии PHP 5.4.0.

Для следующих значений параметра option, параметр value должен быть типа string:

Параметр | Устанавливаемое значение value | Замечания
CURLOPT_CAINFO | Имя файла, содержащего один или более сертификатов, с которыми будут сверяться узлы. Этот параметр имеет смысл только при использовании совместно с CURLOPT_SSL_VERIFYPEER. | Требует абсолютный путь.
CURLOPT_CAPATH | Директория, содержащая несколько CA сертификатов. Используйте этот параметр совместно с CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | Содержимое заголовка "Cookie: ", используемого в HTTP-запросе. Обратите внимание, что несколько cookies разделяются точкой с запятой с последующим пробелом (например, "fruit=apple; colour=red")
CURLOPT_COOKIEFILE | Имя файла, содержащего cookies. Данный файл должен быть в формате Netscape или просто заголовками HTTP, записанными в файл.
CURLOPT_COOKIEJAR | Имя файла, в котором будут сохранены все внутрение cookies текущей передачи после закрытия дескриптора, например, после вызова curl_close.
CURLOPT_CUSTOMREQUEST

Собственный метод запроса, используемый вместо "GET" или "HEAD" при выполнении HTTP-запроса. Это полезно при запросах "DELETE" или других, более редких HTTP-запросах. Корректными значениями будут слова наподобие "GET", "POST", "CONNECT" и так далее; т.е. не вводите здесь всю строку с HTTP-запросом. Например, указание "GET /index.html HTTP/1.0\r\n\r\n" будет неправильным.

Замечание:

Не используйте эту возможность пока не убедитесь, что сервер поддерживает данный тип запроса.

CURLOPT_EGDSOCKET | Наподобие CURLOPT_RANDOM_FILE, за исключением того, что имя файла устанавливается в сокет Entropy Gathering Daemon.
CURLOPT_ENCODING | Содержимое заголовка "Accept-Encoding: ". Это позволяет декодировать запрос. Поддерживаемыми кодировками являются "identity", "deflate" и "gzip". Если передана пустая строка, "", посылается заголовок, содержащий все поддерживаемые типы кодировок. | Добавлен в версии cURL 7.10.
CURLOPT_FTPPORT | Значение, которое будет использоваться для определения IP-адреса для команды "PORT" FTP-протокола. Команда "PORT" сообщает серверу, с каким IP-адресом он должен устанавливать соединение. Это может быть IP-адрес, имя хоста, имя сетевого интерфейса (под Unix), или просто '-' для использования системного IP-адреса по умолчанию.
CURLOPT_INTERFACE | Имя используемого сетевого интерфейса. Может быть именем интерфейса, IP адресом или именем хоста.
CURLOPT_KRB4LEVEL | Уровень безопасности KRB4 (Kerberos 4). Любое из следующих значений (в порядке от слабого к самому сильному) корректно: "clear", "safe", "confidential", "private".. Если указанная строка отличается от данных значений, будет использовано значение "private". Установка этого параметра в NULL полностью отключит безопасность KRB4. На данный момент безопасность KRB4 работает только с FTP транзакциями.
CURLOPT_POSTFIELDS | Все данные, передаваемые в HTTP POST-запросе. Для передачи файла, укажите перед именем файла @, а также используйте полный путь к файлу. Тип файла также может быть указан с помощью формата ';type=mimetype', следующим за именем файла. Этот параметр может быть передан как в качестве url-закодированной строки, наподобие 'para1=val1&para2=val2&...', так и в виде массива, ключами которого будут имена полей, а значениями - их содержимое. Если value является массивом, заголовок Content-Type будет установлен в значение multipart/form-data. Начиная с версии PHP 5.2.0, при передаче файлов с префиксом @, value должен быть массивом.
CURLOPT_PROXY | HTTP-прокси, через который будут направляться запросы.
CURLOPT_PROXYUSERPWD | Логин и пароль, записанные в виде "[username]:[password]", используемые при соединении через прокси.
CURLOPT_RANDOM_FILE | Имя файла, используемого для инициализации генератора случайных чисел для SSL.
CURLOPT_RANGE | Диапазон данных, которые нужно загрузить, в формате "X-Y", причем либо X, либо Y могут быть опущены. Протокол HTTP также поддерживает передачу нескольких диапазонов, разделенных запятыми, они задаются в формате "X-Y,N-M".
CURLOPT_REFERER | Содержимое заголовка "Referer: ", который будет использован в HTTP-запросе.
CURLOPT_SSL_CIPHER_LIST | Список шифров, используемый в SSL-передачах. Например, RC4-SHA и TLSv1 являются корректными списками шифров.
CURLOPT_SSLCERT | Имя файла с корректно отформатированным PEM-сертификатом.
CURLOPT_SSLCERTPASSWD | Пароль, необходимый для использования сертификата CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE | Формат сертификата. Поддерживаются форматы "PEM" (по умолчанию), "DER" и "ENG". | Добавлен в версии cURL 7.9.3.
CURLOPT_SSLENGINE | Идентификатор механизма шифрования для закрытого ключа SSL, указанного в параметре CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | Идентификатор механизма шифрования, используемого для ассиметричных операций шифрования.
CURLOPT_SSLKEY | Имя файла с закрытым ключом SSL.
CURLOPT_SSLKEYPASSWD

Тайный пароль, необходимый для использования закрытого ключа SSL, указанного параметром CURLOPT_SSLKEY.

Замечание:

Так как этот параметр содержит ценный пароль, помните, что данный PHP-скрипт нужно хранить в безопасном месте.

CURLOPT_SSLKEYTYPE | Тип закрытого ключа SSL, указанного в параметре CURLOPT_SSLKEY. Поддерживаются следующие типы ключей: "PEM" (по умолчанию), "DER" и "ENG".
CURLOPT_URL | Загружаемый URL. Данный параметр может быть также установлен при инициализации сенса с помощью curl_init().
CURLOPT_USERAGENT | Содержимое заголовка "User-Agent: ", посылаемого в HTTP-запросе.
CURLOPT_USERPWD | Логин и пароль, используемые при соединении, указанные в формате "[username]:[password]".

Для следующих значений параметра option, параметр value должен быть массивом:

Параметр | Устанавливаемое значение value | Замечания
CURLOPT_HTTP200ALIASES | Массив HTTP 200 ответов, которые будут трактоваться корректными ответами, а не ошибочными. | Добавлен в версии cURL 7.10.3.
CURLOPT_HTTPHEADER | Массив устанавливаемых HTTP-заголовков, в формате array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE | Массив FTP-команд, выполняемых на сервере, после выполнения FTP-запроса.
CURLOPT_QUOTE | Массив FTP-команд, выполняемых на сервере, перед выполнением FTP-запроса.

Для следующих значений параметра option, параметр value должен быть потоковым дескриптором (возвращаемым, например, функцией fopen()):

Параметр | Устанавливаемое значение value
CURLOPT_FILE | Файл, в который будет записан результат передачи. По умолчанию используется поток вывода STDOUT (окно браузера).
CURLOPT_INFILE | Файл, из которого должно идти чтение данных, при загрузке на сервер.
CURLOPT_STDERR | Альтернативное файл для вывода ошибок, используемый вместо потока ошибок STDERR.
CURLOPT_WRITEHEADER | Файл, в который будут записаны заголовки текущей операции.

Для следующих значений параметра option, параметр value должен быть корректной строкой, указывающей имя callback-функции:

Параметр | Устанавливаемое значение value
CURLOPT_HEADERFUNCTION | Имя callback-функции, принимающей два параметра. Первым параметром является дескриптор cURL, вторым параметром является строка с записываемыми заголовками. Заголовки должны быть записаны с помощью данной callback-функции. Должна возвратить количество записанных байт.
CURLOPT_PASSWDFUNCTION | Имя callback-функции, принимающей три параметра. Первым параметром является дескриптор cURL, вторым параметром является строка с запросом пароля, третьим параметром является максимальная длина пароля. Должна возвратить строку, содержащую пароль.
CURLOPT_PROGRESSFUNCTION | Имя callback-функции, принимающей три параметра. Первым параметром является дескриптор cURL, вторым параметром является дескриптор файла, а третьим параметром - его длина. Должна возвратить строку с данными.
CURLOPT_READFUNCTION | Имя callback-функции, принимающей три параметра. Первым параметром является дескриптор cURL, вторым параметром является ресурс потока, переданный cURL через опцию CURLOPT_INFILE, а третьим параемтром является максимально разрешенное количество данных для чтения. Callback-функция должна возвратить строку, с длиной не превышающей запрошенного количества данных, обычно с помощью чтения из переданного потокового ресурса. Должна возвратить пустую строку для сигнала о конце файла EOF.
CURLOPT_WRITEFUNCTION | Имя callback-функции, принимающей два параметра. Первым параметром является дескриптор cURL, а вторым параметром является строка с записываемыми данными. Данные должны быть сохранены с помощью данной функции. Она должна возвратить точное количество записанных байт, иначе закачка будет прервана с ошибкой.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.10 | Добавлены параметры CURLOPT_PROTOCOLS и CURLOPT_REDIR_PROTOCOLS.
5.1.0 | Добавлены параметры CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH и CURLOPT_TIMECONDITION.
5.0.0 | Добавлены параметры CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE и CURLOPT_HTTP200ALIASES.

Примеры

Пример #1 Инициализация сеанса CURL и загрузка web-страницы

<?php
// создание нового ресурса cURL
$ch = curl_init();

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// загрузка страницы и выдача её браузеру
curl_exec($ch);

// завершение сеанса и освобождение ресурсов
curl_close($ch);
?>

Пример #2 Закачка файла

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

Результат выполнения данного примера:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

Примечания

Замечание:

Передача массива в CURLOPT_POSTFIELDS закодирует данные в виде multipart/form-data, тогда как передача URL-кодированной строки закодирует данные в виде application/x-www-form-urlencoded.

Смотрите также

  • curl_setopt_array() - Устанавливает несколько параметров для сеанса cURL

curl_setopt_array
curl_version
cURL


Возвращает версию cURL

curl_setopt
FAM
cURL
PHP Manual

curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version — Возвращает версию cURL

Описание

array curl_version ([ int $age = CURLVERSION_NOW ] )

Возвращает информацию о версии cURL.

Список параметров

age

Возвращаемые значения

Возвращает ассоциативный массив со следующими элементами:

Индекс | Описание значения
version_number | 24-битный номер версии cURL
version | Номер версии cURL, в виде строки
ssl_version_number | 24-битный номер версии OpenSSL
ssl_version | Номер версии OpenSSL, в виде строки
libz_version | Номер версии zlib, в виде строки
host | Информация о хосте, где была собрана cURL
age |
features | Битовая маска констант CURL_VERSION_XXX
protocols | Массив поддерживаемых протоколов cURL

Примеры

Пример #1 Пример использования curl_version()

Этот пример проверит какие возможности поддерживает данная сборка cURL с помощью битовой маски 'features', возвращаемой функцией curl_version().

<?php
// Получаем массив с информацией о версии curl
$version = curl_version();

// Это битовые поля, которые можно использовать
// для проверки возможностей сборки curl
$bitfields = Array(
            'CURL_VERSION_IPV6',
            'CURL_VERSION_KERBEROS4',
            'CURL_VERSION_SSL',
            'CURL_VERSION_LIBZ'
            );

foreach($bitfields as $feature)
{
    echo $feature . ($version['features'] & constant($feature) ? ' есть' : ' нет');
    echo PHP_EOL;
}
?>

curl_setopt
FAM
cURL


File Alteration Monitor

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • FAM Функции
    • fam_cancel_monitor — Terminate monitoring
    • fam_close — Close FAM connection
    • fam_monitor_collection — Monitor a collection of files in a directory for changes
    • fam_monitor_directory — Monitor a directory for changes
    • fam_monitor_file — Monitor a regular file for changes
    • fam_next_event — Get next pending FAM event
    • fam_open — Open connection to FAM daemon
    • fam_pending — Check for pending FAM events
    • fam_resume_monitor — Resume suspended monitoring
    • fam_suspend_monitor — Temporarily suspend monitoring
curl_version
Введение
Другие службы


Введение

FAM monitors files and directories, notifying interested applications of changes. More information about FAM is available at » http://oss.sgi.com/projects/fam/.

A PHP script may specify a list of files for FAM to monitor using the functions provided by this extension.

The FAM process is started when the first connection from any application to it is opened. It exits after all connections to it have been closed.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

FAM
Установка и настройка
FAM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FAM


Требования

This extension uses the functions of the » FAM library, developed by SGI. Therefore you have to download and install the FAM library.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/fam.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There are two resource types used in the FAM module. The first one is the connection to the FAM service returned by fam_open(), the second a monitoring resource returned by the fam_monitor_XXX functions.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FAM event constants
Constant | Description
FAMChanged (integer) | Some value which can be obtained with fstat(1) changed for a file or directory.
FAMDeleted (integer) | A file or directory was deleted or renamed.
FAMStartExecuting (integer) | An executable file started executing.
FAMStopExecuting (integer) | An executable file that was running finished.
FAMCreated (integer) | A file was created in a directory.
FAMMoved (integer) | This event never occurs.
FAMAcknowledge (integer) | An event in response to fam_cancel_monitor().
FAMExists (integer) | An event upon request to monitor a file or directory. When a directory is monitored, an event for that directory and every file contained in that directory is issued.
FAMEndExist (integer) | Event after the last FAMEExists event.
Типы ресурсов
FAM Функции
FAM


FAM Функции

Содержание

  • fam_cancel_monitor — Terminate monitoring
  • fam_close — Close FAM connection
  • fam_monitor_collection — Monitor a collection of files in a directory for changes
  • fam_monitor_directory — Monitor a directory for changes
  • fam_monitor_file — Monitor a regular file for changes
  • fam_next_event — Get next pending FAM event
  • fam_open — Open connection to FAM daemon
  • fam_pending — Check for pending FAM events
  • fam_resume_monitor — Resume suspended monitoring
  • fam_suspend_monitor — Temporarily suspend monitoring
Предопределенные константы
fam_cancel_monitor
FAM


Terminate monitoring

FAM Функции
fam_close
FAM Функции
PHP Manual

fam_cancel_monitor

(PHP 5 <= 5.0.5)

fam_cancel_monitor — Terminate monitoring

Описание

bool fam_cancel_monitor ( resource $fam , resource $fam_monitor )

Terminates monitoring on a resource.

In addition an FAMAcknowledge event occurs.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_directory() - Monitor a directory for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_suspend_monitor() - Temporarily suspend monitoring

FAM Функции
fam_close
FAM Функции


Close FAM connection

fam_cancel_monitor
fam_monitor_collection
FAM Функции
PHP Manual

fam_close

(PHP 5 <= 5.0.5)

fam_close — Close FAM connection

Описание

void fam_close ( resource $fam )

Closes a connection to the FAM service.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • fam_monitor_open()

fam_cancel_monitor
fam_monitor_collection
FAM Функции


Monitor a collection of files in a directory for changes

fam_close
fam_monitor_directory
FAM Функции
PHP Manual

fam_monitor_collection

(PHP 5 <= 5.0.5)

fam_monitor_collection — Monitor a collection of files in a directory for changes

Описание

resource fam_monitor_collection ( resource $fam , string $dirname , int $depth , string $mask )

Requests monitoring for a collection of files within a directory.

A FAM event will be generated whenever the status of the files change. The possible event codes are described in detail in the constants part of this section.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Directory path to the monitored files

depth

The maximum search depth starting from this directory

mask

A shell pattern mask restricting the file names to look for

Возвращаемые значения

Returns a monitoring resource or FALSE on errors.

Смотрите также

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_directory() - Monitor a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_close
fam_monitor_directory
FAM Функции


Monitor a directory for changes

fam_monitor_collection
fam_monitor_file
FAM Функции
PHP Manual

fam_monitor_directory

(PHP 5 <= 5.0.5)

fam_monitor_directory — Monitor a directory for changes

Описание

resource fam_monitor_directory ( resource $fam , string $dirname )

Requests monitoring for a directory and all contained files.

A FAM event will be generated whenever the status of the directory (i.e. the result of function stat() on that directory) or its content (i.e. the results of readdir()) changes.

The possible event codes are described in detail in the constants part of this section.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Path to the monitored directory

Возвращаемые значения

Returns a monitoring resource or FALSE on errors.

Смотрите также

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_monitor_collection
fam_monitor_file
FAM Функции


Monitor a regular file for changes

fam_monitor_directory
fam_next_event
FAM Функции
PHP Manual

fam_monitor_file

(PHP 5 <= 5.0.5)

fam_monitor_file — Monitor a regular file for changes

Описание

resource fam_monitor_file ( resource $fam , string $filename )

Requests monitoring for a single file. A FAM event will be generated whenever the file status changes (i.e. the result of function stat() on that file).

The possible event codes are described in detail in the constants part of this section.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

filename

Path to the monitored file

Возвращаемые значения

Returns a monitoring resource or FALSE on errors.

Смотрите также

  • fam_monitor_directory() - Monitor a directory for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_monitor_directory
fam_next_event
FAM Функции


Get next pending FAM event

fam_monitor_file
fam_open
FAM Функции
PHP Manual

fam_next_event

(PHP 5 <= 5.0.5)

fam_next_event — Get next pending FAM event

Описание

array fam_next_event ( resource $fam )

Returns the next pending FAM event.

The function will block until an event is available which can be checked for using fam_pending().

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

Возвращаемые значения

Returns an array that contains a FAM event code in the 'code' element, the path of the file this event applies to in the 'filename' element and optionally a hostname in the 'hostname' element.

The possible event codes are described in detail in the constants part of this section.

Смотрите также

  • fam_pending() - Check for pending FAM events

fam_monitor_file
fam_open
FAM Функции


Open connection to FAM daemon

fam_next_event
fam_pending
FAM Функции
PHP Manual

fam_open

(PHP 5 <= 5.0.5)

fam_open — Open connection to FAM daemon

Описание

resource fam_open ([ string $appname ] )

Opens a connection to the FAM service daemon.

Список параметров

appname

A string identifying the application for logging reasons

Возвращаемые значения

Returns a resource representing a connection to the FAM service on success or FALSE on errors.

Смотрите также

  • fam_close() - Close FAM connection

fam_next_event
fam_pending
FAM Функции


Check for pending FAM events

fam_open
fam_resume_monitor
FAM Функции
PHP Manual

fam_pending

(PHP 5 <= 5.0.5)

fam_pending — Check for pending FAM events

Описание

int fam_pending ( resource $fam )

Checks for pending FAM events.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

Возвращаемые значения

Returns non-zero if events are available to be fetched using fam_next_event(), zero otherwise.

Смотрите также

  • fam_next_event() - Get next pending FAM event

fam_open
fam_resume_monitor
FAM Функции


Resume suspended monitoring

fam_pending
fam_suspend_monitor
FAM Функции
PHP Manual

fam_resume_monitor

(PHP 5 <= 5.0.5)

fam_resume_monitor — Resume suspended monitoring

Описание

bool fam_resume_monitor ( resource $fam , resource $fam_monitor )

Resumes monitoring of a resource previously suspended using fam_suspend_monitor().

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fam_suspend_monitor() - Temporarily suspend monitoring

fam_pending
fam_suspend_monitor
FAM Функции


Temporarily suspend monitoring

fam_resume_monitor
FTP
FAM Функции
PHP Manual

fam_suspend_monitor

(PHP 5 <= 5.0.5)

fam_suspend_monitor — Temporarily suspend monitoring

Описание

bool fam_suspend_monitor ( resource $fam , resource $fam_monitor )

fam_suspend_monitor() temporarily suspend monitoring of a resource.

Monitoring can later be continued using fam_resume_monitor() without the need of requesting a complete new monitor.

Список параметров

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • fam_cancel_monitor() - Terminate monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_resume_monitor
FTP
FAM Функции


FTP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Простое использование
  • FTP
    • ftp_alloc — Резервирует место на диске для закачиваемого файла
    • ftp_cdup — Переходит в родительскую директорию
    • ftp_chdir — Изменяет текущую директорию на FTP сервере
    • ftp_chmod — Устанавливает права доступа к файлу
    • ftp_close — Закрывает соединение с FTP-сервером
    • ftp_connect — Устанавливает соединение с FTP-сервером
    • ftp_delete — Удаляет файл на FTP-сервере
    • ftp_exec — Запрашивает выполнение команды на FTP-сервере
    • ftp_fget — Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
    • ftp_fput — Загружает предварительно открытый файл на FTP-сервер
    • ftp_get_option — Получает текущие параметры FTP соединения
    • ftp_get — Загружает файл с FTP-сервера
    • ftp_login — Выполняет вход на FTP сервер
    • ftp_mdtm — Возвращает время последней модификации файла
    • ftp_mkdir — Создаёт директорию
    • ftp_nb_continue — Продолжает асинхронную операцию
    • ftp_nb_fget — Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
    • ftp_nb_fput — Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
    • ftp_nb_get — Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
    • ftp_nb_put — Загружает файл на FTP сервер в асинхронном режиме
    • ftp_nlist — Возвращает список файлов в заданной директории
    • ftp_pasv — Включает или выключает пассивный режим
    • ftp_put — Загружает файл на FTP-сервер
    • ftp_pwd — Возвращает имя текущей директории
    • ftp_quit — Псевдоним ftp_close
    • ftp_raw — Отправляет произвольную команду FTP серверу
    • ftp_rawlist — Возвращает подробный список файлов в заданной директории
    • ftp_rename — Переименовывает файл или директорию на FTP-сервере
    • ftp_rmdir — Удаляет директорию
    • ftp_set_option — Устанавливает параметры соединения с FTP сервером
    • ftp_site — Отправляет серверу команду SITE
    • ftp_size — Возвращает размер указанного файла
    • ftp_ssl_connect — Устанавливает соединение с FTP-сервером через SSL
    • ftp_systype — Возвращает тип операционной системы FTP-сервера
fam_suspend_monitor
Введение
Другие службы


Введение

Функции этого модуля обеспечивают доступ к серверам по протоколу FTP (File Transfer Protocol), определенному в » http://www.faqs.org/rfcs/rfc959. Модуль позволяет выполнять множество довольно сложных операций. Если требуется лишь прочитать или записать файл на сервере FTP, можно воспользоваться ftp:// оберткой и функциями для работы с файловой системой, которые более просты в использовании.

FTP
Установка и настройка
FTP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FTP


Установка

Для использования FTP функций вы должны указать директиву --enable-ftp во время установки PHP.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Этот модуль использует один тип ресурса - идентификатор соединения с FTP-сервером, возвращаемый функцией ftp_connect() или ftp_ssl_connect().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Дополнительная информация доступна в описании функции ftp_set_option().

Следующие константы появились в PHP 4.3.0.

FTP_AUTOSEEK (integer)

Дополнительная информация доступна в описании функции ftp_set_option().

FTP_AUTORESUME (integer)

Автоматически определять позицию в файле, с которой начинается докачка при использовании запросов GET и PUT (имеет смысл только при включенной FTP_AUTOSEEK)

FTP_FAILED (integer)

Асинхронная операция завершилась неудачно

FTP_FINISHED (integer)

Асинхронная операция окончена

FTP_MOREDATA (integer)

Асинхронная операция еще не завершена

Типы ресурсов
Примеры
FTP


Примеры

Содержание

  • Простое использование
Предопределенные константы
Простое использование
FTP


Простое использование

Пример #1 Пример использования FTP-функций

<?php
// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// проверка соединения
if ((!$conn_id) || (!$login_result)) {
    echo "Не удалось установить соединение с FTP-сервером!";
    echo "Попытка подключения к серверу $ftp_server была произведена под именем $ftp_user_name";
    exit;
} else {
    echo "Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
}

// закачивание файла
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// проверка результата
if (!$upload) {
    echo "Не удалось закачать файл!";
} else {
    echo "Файл $source_file закачан на $ftp_server под именем $destination_file";
}

// закрытие соединения
ftp_close($conn_id);
?>

Примеры
FTP
Примеры


FTP
PHP Manual

FTP

Содержание

  • ftp_alloc — Резервирует место на диске для закачиваемого файла
  • ftp_cdup — Переходит в родительскую директорию
  • ftp_chdir — Изменяет текущую директорию на FTP сервере
  • ftp_chmod — Устанавливает права доступа к файлу
  • ftp_close — Закрывает соединение с FTP-сервером
  • ftp_connect — Устанавливает соединение с FTP-сервером
  • ftp_delete — Удаляет файл на FTP-сервере
  • ftp_exec — Запрашивает выполнение команды на FTP-сервере
  • ftp_fget — Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
  • ftp_fput — Загружает предварительно открытый файл на FTP-сервер
  • ftp_get_option — Получает текущие параметры FTP соединения
  • ftp_get — Загружает файл с FTP-сервера
  • ftp_login — Выполняет вход на FTP сервер
  • ftp_mdtm — Возвращает время последней модификации файла
  • ftp_mkdir — Создаёт директорию
  • ftp_nb_continue — Продолжает асинхронную операцию
  • ftp_nb_fget — Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
  • ftp_nb_fput — Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
  • ftp_nb_get — Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
  • ftp_nb_put — Загружает файл на FTP сервер в асинхронном режиме
  • ftp_nlist — Возвращает список файлов в заданной директории
  • ftp_pasv — Включает или выключает пассивный режим
  • ftp_put — Загружает файл на FTP-сервер
  • ftp_pwd — Возвращает имя текущей директории
  • ftp_quit — Псевдоним ftp_close
  • ftp_raw — Отправляет произвольную команду FTP серверу
  • ftp_rawlist — Возвращает подробный список файлов в заданной директории
  • ftp_rename — Переименовывает файл или директорию на FTP-сервере
  • ftp_rmdir — Удаляет директорию
  • ftp_set_option — Устанавливает параметры соединения с FTP сервером
  • ftp_site — Отправляет серверу команду SITE
  • ftp_size — Возвращает размер указанного файла
  • ftp_ssl_connect — Устанавливает соединение с FTP-сервером через SSL
  • ftp_systype — Возвращает тип операционной системы FTP-сервера
Простое использование
ftp_alloc
FTP
PHP Manual


Резервирует место на диске для закачиваемого файла

FTP
ftp_cdup
FTP
PHP Manual

ftp_alloc

(PHP 5)

ftp_alloc — Резервирует место на диске для закачиваемого файла

Описание

bool ftp_alloc ( resource $ftp_stream , int $filesize [, string &$result ] )

Посылает команду ALLO FTP-серверу для резервирования места под загружаемый файл.

Замечание:

Многие FTP-серверы не поддерживают эту команду. Такие серверы возвращают код неудачи (FALSE), что означает отсутствие поддержки этой команды, или код успешного выполнения (TRUE), означающий, что в резервировании нет необходимости и клиенту следует продолжать, будто операция была выполнена успешно. По этой причине эту функцию следует использовать с серверами, которые требуют обязательного резервирования.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

filesize

Количество резервируемых байт.

result

Текстовое представление ответа сервера будет возвращено по ссылке в аргумент result, если он указан.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_alloc()

<?php

$file = "/home/user/myfile";

/* соединение с сервером */
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "Место на сервере успешно зарезервировано.  Отправляю $file.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "Не удалось зарезервировать место на сервере. Ответ сервера: $result\n";
}

ftp_close($conn_id);

?>

Смотрите также

  • ftp_put() - Загружает файл на FTP-сервер
  • ftp_fput() - Загружает предварительно открытый файл на FTP-сервер

FTP
ftp_cdup
FTP


Переходит в родительскую директорию

ftp_alloc
ftp_chdir
FTP
PHP Manual

ftp_cdup

(PHP 4, PHP 5)

ftp_cdup — Переходит в родительскую директорию

Описание

bool ftp_cdup ( resource $ftp_stream )

Переходит в родительскую директорию.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции ftp_cdup()

<?php
// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// изменение текущей директории на html
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// возврат в родительскую директорию
if (ftp_cdup($conn_id)) {
  echo "команда cdup выполнена успешно\n";
} else {
  echo "команда cdup завершилась неудачей\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

Смотрите также

  • ftp_chdir() - Изменяет текущую директорию на FTP сервере
  • ftp_pwd() - Возвращает имя текущей директории

ftp_alloc
ftp_chdir
FTP


Изменяет текущую директорию на FTP сервере

ftp_cdup
ftp_chmod
FTP
PHP Manual

ftp_chdir

(PHP 4, PHP 5)

ftp_chdir — Изменяет текущую директорию на FTP сервере

Описание

bool ftp_chdir ( resource $ftp_stream , string $directory )

Меняет текущую директорию на заданную аргументом.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

directory

Целевая директория.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если изменение директории завершилось неудачей, PHP вызовет предупреждение.

Примеры

Пример #1 Пример использования ftp_chdir()

<?php

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// проверка соединения
if ((!$conn_id) || (!$login_result)) {
    die("Не удалось подключиться к FTP-серверу!");
}

echo "Текущая директория: " . ftp_pwd($conn_id) . "\n";

// пытаемся сменить текущую директорию на somedir
if (ftp_chdir($conn_id, "somedir")) {
    echo "Новая текущая директория: " . ftp_pwd($conn_id) . "\n";
} else {
    echo "Не удалось сменить директорию\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

Смотрите также

  • ftp_cdup() - Переходит в родительскую директорию
  • ftp_pwd() - Возвращает имя текущей директории

ftp_cdup
ftp_chmod
FTP


Устанавливает права доступа к файлу

ftp_chdir
ftp_close
FTP
PHP Manual

ftp_chmod

(PHP 5)

ftp_chmod — Устанавливает права доступа к файлу

Описание

int ftp_chmod ( resource $ftp_stream , int $mode , string $filename )

Устанавливает права доступа к указанному удалённому файлу в значение mode.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

mode

Новые права доступа, указанные в виде восьмеричного значения.

filename

Удалённый файл.

Возвращаемые значения

Возвращает новые права доступа к файлу в случае успеха или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования ftp_chmod()

<?php
$file = 'public_html/index.php';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка изменить права доступа к файлу $file на 644
if (ftp_chmod($conn_id, 0644, $file) !== false) {
 echo "Права доступа к файлу $file успешно изменены на 644\n";
} else {
 echo "Не удалось изменить права доступа к файлу $file\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

Смотрите также

  • chmod() - Изменяет режим доступа к файлу

ftp_chdir
ftp_close
FTP


Закрывает соединение с FTP-сервером

ftp_chmod
ftp_connect
FTP
PHP Manual

ftp_close

(PHP 4 >= 4.2.0, PHP 5)

ftp_close — Закрывает соединение с FTP-сервером

Описание

bool ftp_close ( resource $ftp_stream )

ftp_close() закрывает указанный идентификатор соединения с сервером и освобождает resource.

Замечание:

После вызова этой функции, соединение больше не может быть использовано, и при необходимости должно быть установлено заново при помощи функции ftp_connect().

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_close()

<?php

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// вывод текущей директории
echo ftp_pwd($conn_id); // /

// закрытие соединения
ftp_close($conn_id);
?>

Смотрите также

  • ftp_connect() - Устанавливает соединение с FTP-сервером

ftp_chmod
ftp_connect
FTP


Устанавливает соединение с FTP-сервером

ftp_close
ftp_delete
FTP
PHP Manual

ftp_connect

(PHP 4, PHP 5)

ftp_connect — Устанавливает соединение с FTP-сервером

Описание

resource ftp_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_connect() устанавливает FTP-соединение с указанным сервером host.

Список параметров

host

Адрес FTP-сервера. Этот аргумент не должен содержать слэшей в конце и префикса ftp:// в начале.

port

Этот аргумент указывает альтернативный порт для подключения. Если он опущен или установлен в ноль, то будет использован FTP порт по умолчанию - 21.

timeout

Этот аргумент указывает таймаут для всех последующих сетевых операций. Если опущен, используется значение по умолчанию, равное 90 секундам. Таймаут может быть изменён и получен в любой момент при помощи функций ftp_set_option() и ftp_get_option() соответственно.

Возвращаемые значения

Возвращает поток FTP в случае успешного выполнения или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования ftp_connect()

<?php

$ftp_server = "ftp.example.com";

// устанавливает соединение или выходит
$conn_id = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server");

?>

Список изменений

Версия | Описание
4.2.0 | Добавлен аргумент timeout.

Смотрите также

  • ftp_close() - Закрывает соединение с FTP-сервером
  • ftp_ssl_connect() - Устанавливает соединение с FTP-сервером через SSL

ftp_close
ftp_delete
FTP


Удаляет файл на FTP-сервере

ftp_connect
ftp_exec
FTP
PHP Manual

ftp_delete

(PHP 4, PHP 5)

ftp_delete — Удаляет файл на FTP-сервере

Описание

bool ftp_delete ( resource $ftp_stream , string $path )

ftp_delete() удаляет файл, заданный аргументом path, с FTP-сервера.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

path

Удаляемый файл.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_delete()

<?php
$file = 'public_html/old.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка удалить файл
if (ftp_delete($conn_id, $file)) {
 echo "Файл $file удален\n";
} else {
 echo "Не удалось удалить $file\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

ftp_connect
ftp_exec
FTP


Запрашивает выполнение команды на FTP-сервере

ftp_delete
ftp_fget
FTP
PHP Manual

ftp_exec

(PHP 4 >= 4.0.3, PHP 5)

ftp_exec — Запрашивает выполнение команды на FTP-сервере

Описание

bool ftp_exec ( resource $ftp_stream , string $command )

Посылает команду SITE EXEC command на FTP-сервер.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

command

Команда для выполнения.

Возвращаемые значения

Возвращает TRUE в случае успешного выполнения команды (сервер отправляет код ответа: 200); в противном случае возвращает FALSE.

Примеры

Пример #1 Пример использования ftp_exec()

<?php
// инициализация переменных
$command = 'ls -al >files.txt';

// устанавливаем соединение
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// выполняем команду
if (ftp_exec($conn_id, $command)) {
    echo "Команда $command выполнена успешно\n";
} else {
    echo "Не удалось выполнить $command\n";
}

// закрываем соединение
ftp_close($conn_id);

?>

Смотрите также

  • ftp_raw() - Отправляет произвольную команду FTP серверу

ftp_delete
ftp_fget
FTP


Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле

ftp_exec
ftp_fput
FTP
PHP Manual

ftp_fget

(PHP 4, PHP 5)

ftp_fget — Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле

Описание

bool ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_fget() загружает файл remote_file с FTP-сервера и записывает его в переданный файловый дескриптор.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

handle

Открытый файловый дескриптор, в который будут сохранены данные.

remote_file

Путь к удалённому файлу.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

resumepos

Позиция начала загрузки в удаленном файле.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_fget()

<?php

// путь к удаленному файлу
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// открываем файл для записи
$handle = fopen($local_file, 'w');

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// пытаемся скачать файл и сохранить его в $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Произведена запись в $local_file\n";
} else {
 echo "При скачке $remote_file в $local_file произошла проблема\n";
}

// закрытие соединения и локального файла
ftp_close($conn_id);
fclose($handle);
?>

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент resumepos.

Смотрите также

  • ftp_get() - Загружает файл с FTP-сервера
  • ftp_nb_get() - Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
  • ftp_nb_fget() - Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле

ftp_exec
ftp_fput
FTP


Загружает предварительно открытый файл на FTP-сервер

ftp_fget
ftp_get_option
FTP
PHP Manual

ftp_fput

(PHP 4, PHP 5)

ftp_fput — Загружает предварительно открытый файл на FTP-сервер

Описание

bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_fput() загружает данные из файлового дескриптора в удалённый файл на FTP сервере.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

remote_file

Путь к удалённому файлу.

handle

Открытый файловый дескриптор локального файла. Чтение прекращается при достижении конца файла.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

startpos

Позиция начала загрузки в удаленном файле.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_fput()

<?php

// открыть файл для чтения
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка закачивания файла
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Файл $file успешно загружен\n";
} else {
    echo "При закачке $file произошла проблема\n";
}

// закрываем соединение и дескриптор файла
ftp_close($conn_id);
fclose($fp);

?>

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент startpos.

Смотрите также

  • ftp_put() - Загружает файл на FTP-сервер
  • ftp_nb_fput() - Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
  • ftp_nb_put() - Загружает файл на FTP сервер в асинхронном режиме

ftp_fget
ftp_get_option
FTP


Получает текущие параметры FTP соединения

ftp_fput
ftp_get
FTP
PHP Manual

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_get_option — Получает текущие параметры FTP соединения

Описание

mixed ftp_get_option ( resource $ftp_stream , int $option )

Эта функция возвращает значение запрошенной опции option для указанного FTP соединения.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

option

На текущий момент, поддежриваются следующие опции:

Поддерживаемые текущие опции FTP
FTP_TIMEOUT_SEC | Возвращает текущий таймаут, используемый в сетевых операциях.
FTP_AUTOSEEK | Возвращает TRUE, если эта опция включена, иначе FALSE.

Возвращаемые значения

Возвращает значение в случае успешного выполнения, или FALSE, если указанная опция option не поддерживается. В последнем случае так же вызывается предупреждение.

Примеры

Пример #1 Пример использования ftp_get_option()

<?php
// Получаем таймаут соединения
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

Смотрите также

  • ftp_set_option() - Устанавливает параметры соединения с FTP сервером

ftp_fput
ftp_get
FTP


Загружает файл с FTP-сервера

ftp_get_option
ftp_login
FTP
PHP Manual

ftp_get

(PHP 4, PHP 5)

ftp_get — Загружает файл с FTP-сервера

Описание

bool ftp_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_get() загружает удалённый файл с FTP-сервера и сохраняет его в локальный файл.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

local_file

Путь к локальному файлу (файл будет перезаписан, если уже существует).

remote_file

Путь к удалённому файлу.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

resumepos

Позиция начала загрузки в удаленном файле

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_get()

<?php

// объявление переменных
$local_file = 'local.zip';
$server_file = 'server.zip';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка скачать $server_file и сохранить в $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Произведена запись в $local_file\n";
} else {
    echo "Не удалось завершить операцию\n";
}

// закрытие соединения
ftp_close($conn_id);

?>

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент resumepos.

Смотрите также

  • ftp_pasv() - Включает или выключает пассивный режим
  • ftp_fget() - Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
  • ftp_nb_get() - Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
  • ftp_nb_fget() - Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле

ftp_get_option
ftp_login
FTP


Выполняет вход на FTP сервер

ftp_get
ftp_mdtm
FTP
PHP Manual

ftp_login

(PHP 4, PHP 5)

ftp_login — Выполняет вход на FTP сервер

Описание

bool ftp_login ( resource $ftp_stream , string $username , string $password )

Выполняет вход на FTP сервер.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

username

Имя пользователя (USER).

password

Пароль (PASS).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если войти на сервер не удалось, PHP вызовет предупреждение.

Примеры

Пример #1 Пример использования ftp_login()

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// установить соединение или выйти
$conn_id = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server");

// попытка входа
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Произведен вход на $ftp_server под именем $ftp_user\n";
} else {
    echo "Не удалось войти под именем $ftp_user\n";
}

// close the connection
ftp_close($conn_id);
?>

ftp_get
ftp_mdtm
FTP


Возвращает время последней модификации файла

ftp_login
ftp_mkdir
FTP
PHP Manual

ftp_mdtm

(PHP 4, PHP 5)

ftp_mdtm — Возвращает время последней модификации файла

Описание

int ftp_mdtm ( resource $ftp_stream , string $remote_file )

ftp_mdtm() возвращает время последней модификации удалённого файла.

Замечание:

Не все серверы поддерживают эту функцию!

Замечание:

ftp_mdtm() не работает с директориями.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

remote_file

Файл, время модификации которого надо получить.

Возвращаемые значения

Возвращает время последней модификации виде временной метки Unix или -1 в случае ошибки.

Примеры

Пример #1 Пример использования ftp_mdtm()

<?php

$file = 'somefile.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//  получение времени модификации файла
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // дата последней модификации somefile.txt : March 26 2003 14:16:41.
    echo "дата последней модификации $file : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Не удалось выполнить mdtime";
}

// закрытие соединения
ftp_close($conn_id);

?>

ftp_login
ftp_mkdir
FTP


Создаёт директорию

ftp_mdtm
ftp_nb_continue
FTP
PHP Manual

ftp_mkdir

(PHP 4, PHP 5)

ftp_mkdir — Создаёт директорию

Описание

string ftp_mkdir ( resource $ftp_stream , string $directory )

Создает директорию directory на FTP сервере.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

directory

Имя создаваемой директории.

Возвращаемые значения

Возвращает имя только что созданной директории в случае успеха или FALSE в противном случае.

Примеры

Пример #1 Пример использования ftp_mkdir()

<?php

$dir = 'www';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка создания директории $dir
if (ftp_mkdir($conn_id, $dir)) {
 echo "Создана директория $dir\n";
} else {
 echo "Не удалось создать директорию $dir\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

Смотрите также

  • ftp_rmdir() - Удаляет директорию

ftp_mdtm
ftp_nb_continue
FTP


Продолжает асинхронную операцию

ftp_mkdir
ftp_nb_fget
FTP
PHP Manual

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_continue — Продолжает асинхронную операцию

Описание

int ftp_nb_continue ( resource $ftp_stream )

Продолжает отправку или получение файла в асинхронном режиме.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

Примеры

Пример #1 Пример использования ftp_nb_continue()

<?php

// Начало скачивания
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // продолжение скачивания  ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "При скачивании файла произолшла ошибка...";
   exit(1);
}
?>

ftp_mkdir
ftp_nb_fget
FTP


Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле

ftp_nb_continue
ftp_nb_fput
FTP
PHP Manual

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fget — Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле

Описание

int ftp_nb_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_fget() скачивает удалённый файл с FTP-сервера.

Разница между этой функцией и ftp_fget() заключается в том, что эта функция получает файл асинхронно, так что ваша программа может совершать другие операции, пока файл скачивается.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

handle

Открытый файловый дескриптор для сохранения данных.

remote_file

Путь к удалённому файлу.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

resumepos

Позиция начала загрузки в удаленном файле.

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

Примеры

Пример #1 Пример использования ftp_nb_fget()

<?php

// открыть файл для записи
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Начало скачивания
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение скачивания ...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "При скачивании файла произошла ошибка...";
   exit(1);
}

// закрытие файла
fclose($fp);
?>

Смотрите также

  • ftp_nb_get() - Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_fget() - Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
  • ftp_get() - Загружает файл с FTP-сервера

ftp_nb_continue
ftp_nb_fput
FTP


Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме

ftp_nb_fget
ftp_nb_get
FTP
PHP Manual

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fput — Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме

Описание

int ftp_nb_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_nb_fput() закачивает данные из дескриптора файла в удалённый файл на FTP-сервере.

Разница между этой функцией и ftp_fput() заключается в том, что эта функция получает файл асинхронно, так что ваша программа может совершать другие операции, пока файл закачивается.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

remote_file

Путь к удалённому файлу.

handle

Открытый файловый дескриптор локального файла. Чтение прекращается при достижении конца файла.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

startpos

Позиция начала загрузки в удаленном файле.

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

Примеры

Пример #1 Пример использования ftp_nb_fput()

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Начало закачивания
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение закачивания ...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "При закачивании файла произошла ошибка...";
   exit(1);
}

fclose($fp);
?>

Смотрите также

  • ftp_nb_put() - Загружает файл на FTP сервер в асинхронном режиме
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_put() - Загружает файл на FTP-сервер
  • ftp_fput() - Загружает предварительно открытый файл на FTP-сервер

ftp_nb_fget
ftp_nb_get
FTP


Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл

ftp_nb_fput
ftp_nb_put
FTP
PHP Manual

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get — Скачивает файл с FTP-сервера в асинхронном режиме и сохраняет его в локальный файл

Описание

int ftp_nb_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_get() скачивает удалённый файл с FTP-сервера и сохраняет его в локальный файл.

Разница между этой функцией и ftp_get() заключается в том, что эта функция получает файл асинхронно, так что ваша программа может совершать другие операции, пока файл cкачивается.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

local_file

Путь к локальному файлу (файл будет перезаписан, если уже существует).

remote_file

Путь к удалённому файлу.

mode

Режим передачи. Должен быть либо FTP_ASCII, либо FTP_BINARY.

resumepos

Позиция начала загрузки в удаленном файле.

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

Примеры

Пример #1 Пример использования ftp_nb_get()

<?php

// Начало скачивания
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение скачивания ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "При скачивании файла произошла ошибка...";
   exit(1);
}
?>

Пример #2 Возобновление скачивания файла с помощью ftp_nb_get()

<?php

// Начало скачивания
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// ИЛИ: $ret = ftp_nb_get($my_connection, "test", "README",
//                           FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение скачивания ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "При скачивании файла произошла ошибка...";
   exit(1);
}
?>

Пример #3 Скачивание файла начиная с позиции 100 в новый файл с помощью ftp_nb_get()

<?php

// Запрет FTP_AUTOSEEK
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Начало скачивания
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // продолжение скачивания ...
   $ret = ftp_nb_continue($my_connection);
}
?>

В последнем примере, newfile будет на 100 байт меньше, чем README на FTP сервере, потому что скачивание начинается со смещения 100. Если не запретить FTP_AUTOSEEK, первые 100 байт файла newfile будут содержать '\0'.

Смотрите также

  • ftp_nb_fget() - Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_fget() - Скачивает файл с FTP-сервера и сохраняет его в предварительно открытом файле
  • ftp_get() - Загружает файл с FTP-сервера

ftp_nb_fput
ftp_nb_put
FTP


Загружает файл на FTP сервер в асинхронном режиме

ftp_nb_get
ftp_nlist
FTP
PHP Manual

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put — Загружает файл на FTP сервер в асинхронном режиме

Описание

int ftp_nb_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_nb_put() загружает локальный файл на FTP-сервер.

Отличие этой функции от ftp_put() состоит в том, что загрузка файла происходит в асинхронном режиме, что позволяет программе выполнять другие операции во время загрузки.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

remote_file

Путь к файлу на сервере.

local_file

Путь к локальному файлу.

mode

Режим передачи. Может принимать значения FTP_ASCII или FTP_BINARY.

startpos

Позиция в удаленном файле, в которую начинается загрузка

Возвращаемые значения

Возвращает FTP_FAILED, FTP_FINISHED или FTP_MOREDATA.

Примеры

Пример #1 Пример использования ftp_nb_put()

<?php

// Начало загрузки
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение загрузки ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "При загрузке файла произошла ошибка...";
   exit(1);
}
?>

Пример #2 Возобновление загрузки файла с помощью ftp_nb_put()

<?php

// Начало загрузки
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// ИЛИ: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // производим какие-то действия ...
   echo ".";

   // продолжение загрузки ...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "При загрузке файла произошла ошибка...";
   exit(1);
}
?>

Смотрите также

  • ftp_nb_fput() - Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
  • ftp_nb_continue() - Продолжает асинхронную операцию
  • ftp_put() - Загружает файл на FTP-сервер
  • ftp_fput() - Загружает предварительно открытый файл на FTP-сервер

ftp_nb_get
ftp_nlist
FTP


Возвращает список файлов в заданной директории

ftp_nb_put
ftp_pasv
FTP
PHP Manual

ftp_nlist

(PHP 4, PHP 5)

ftp_nlist — Возвращает список файлов в заданной директории

Описание

array ftp_nlist ( resource $ftp_stream , string $directory )

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

directory

Имя директории для получения списка файлов. Этот параметр также может включать аргументы, например ftp_nlist($conn_id, "-la /your/dir"); Обратите внимание, что этот параметр не проходит экранирование спецсимволов, так что могут возникнуть проблемы с именами, содержащими пробелы и прочие подобные символы.

Возвращаемые значения

Возвращает массив имён файлов в директории или FALSE при возникновении ошибки.

Примеры

Пример #1 Пример использования ftp_nlist()

<?php

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// получить содержимое текущей директории
$contents = ftp_nlist($conn_id, ".");

// вывод $contents
var_dump($contents);

?>

Приведенный выше пример выведет :

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Смотрите также

  • ftp_rawlist() - Возвращает подробный список файлов в заданной директории

ftp_nb_put
ftp_pasv
FTP


Включает или выключает пассивный режим

ftp_nlist
ftp_put
FTP
PHP Manual

ftp_pasv

(PHP 4, PHP 5)

ftp_pasv — Включает или выключает пассивный режим

Описание

bool ftp_pasv ( resource $ftp_stream , bool $pasv )

ftp_pasv() включает или выключает пассивный режим. В пассивном режиме передача данных инициируется клиентом, а не сервером. Данный режим может понадобится в случае, если клиент находится за файрволлом.

Пожалуйста, учтите, что ftp_pasv() может быть вызвана только после успешной авторизации, иначе она завершится с ошибкой.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

pasv

Если TRUE, пассивный режим будет включен, иначе выключен.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_pasv()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// включение пассивного режима
ftp_pasv($conn_id, true);

// загрузка файла
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "$file успешно загружен на сервер\n";
} else {
 echo "Не удалось загрузить $file на сервер\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

ftp_nlist
ftp_put
FTP


Загружает файл на FTP-сервер

ftp_pasv
ftp_pwd
FTP
PHP Manual

ftp_put

(PHP 4, PHP 5)

ftp_put — Загружает файл на FTP-сервер

Описание

bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_put() загружает локальный файл на FTP-сервер.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером

remote_file

Путь к файлу на FTP-сервере

local_file

Путь к локальному файлу

mode

Задает режим передачи. Может принимать значения FTP_ASCII или FTP_BINARY

startpos

Задает позицию в удаленном файле, в которую начнется загрузка

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_put()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// загрузка файла
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "$file успешно загружен на сервер\n";
} else {
 echo "Не удалось загрузить $file на сервер\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

Список изменений

Версия | Описание
4.3.0 | Добавлен параметр startpos.

Смотрите также

  • ftp_pasv() - Включает или выключает пассивный режим
  • ftp_fput() - Загружает предварительно открытый файл на FTP-сервер
  • ftp_nb_fput() - Загружает предварительно открытый файл на FTP-сервер в асинхронном режиме
  • ftp_nb_put() - Загружает файл на FTP сервер в асинхронном режиме

ftp_pasv
ftp_pwd
FTP


Возвращает имя текущей директории

ftp_put
ftp_quit
FTP
PHP Manual

ftp_pwd

(PHP 4, PHP 5)

ftp_pwd — Возвращает имя текущей директории

Описание

string ftp_pwd ( resource $ftp_stream )

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

Возвращаемые значения

Возвращает имя текущей директории, или FALSE при возникновении ошибки.

Примеры

Пример #1 Пример использования ftp_pwd()

<?php

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// смена текущей директории на public_html
ftp_chdir($conn_id, 'public_html');

// вывод имени текущей директории
echo ftp_pwd($conn_id); // /public_html

// закрытие соединения
ftp_close($conn_id);
?>

Смотрите также

  • ftp_chdir() - Изменяет текущую директорию на FTP сервере
  • ftp_cdup() - Переходит в родительскую директорию

ftp_put
ftp_quit
FTP


Псевдоним ftp_close

ftp_pwd
ftp_raw
FTP
PHP Manual

ftp_quit

(PHP 4, PHP 5)

ftp_quit — Псевдоним ftp_close()

Описание

Эта функция является псевдонимом: ftp_close().

ftp_pwd
ftp_raw
FTP


Отправляет произвольную команду FTP серверу

ftp_quit
ftp_rawlist
FTP
PHP Manual

ftp_raw

(PHP 5)

ftp_raw — Отправляет произвольную команду FTP серверу

Описание

array ftp_raw ( resource $ftp_stream , string $command )

Отправляет произвольную команду command FTP серверу.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

command

Команда

Возвращаемые значения

Возвращает ответ сервера в виде массива строк. Функция ftp_raw() не интерпретирует ответ сервера и не определяет, успешно ли выполнена команда.

Примеры

Пример #1 Использование ftp_raw() для входа на FTP сервер

<?php
$fp = ftp_connect("ftp.example.com");

/* То же самое, что:
   ftp_login($fp, "joeblow", "secret"); */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>

Смотрите также

  • ftp_exec() - Запрашивает выполнение команды на FTP-сервере

ftp_quit
ftp_rawlist
FTP


Возвращает подробный список файлов в заданной директории

ftp_raw
ftp_rename
FTP
PHP Manual

ftp_rawlist

(PHP 4, PHP 5)

ftp_rawlist — Возвращает подробный список файлов в заданной директории

Описание

array ftp_rawlist ( resource $ftp_stream , string $directory [, bool $recursive = false ] )

ftp_rawlist() отправляет FTP-серверу команду LIST и возвращает результат в виде массива.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

directory

Имя директории на сервере.

recursive

Если передано значение TRUE, серверу будет отправлена команда LIST -R.

Возвращаемые значения

Возвращает массив, каждый элемент которого содержит одну строку ответа сервера.

Ответ сервера никак не обрабатывается. Для определения того, как следует интерпретировать результат, можно использовать результат работы функции ftp_systype().

Примеры

Пример #1 Пример использования ftp_rawlist()

<?php

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// получение списка файлов директории /
$buff = ftp_rawlist($conn_id, '/');

// закрытие соединения
ftp_close($conn_id);

// вывод буфера
var_dump($buff);
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент recursive.

Смотрите также

  • ftp_nlist() - Возвращает список файлов в заданной директории

ftp_raw
ftp_rename
FTP


Переименовывает файл или директорию на FTP-сервере

ftp_rawlist
ftp_rmdir
FTP
PHP Manual

ftp_rename

(PHP 4, PHP 5)

ftp_rename — Переименовывает файл или директорию на FTP-сервере

Описание

bool ftp_rename ( resource $ftp_stream , string $oldname , string $newname )

ftp_rename() переименовывает файл или директорию на FTP-сервере.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

oldname

Старое имя файла/директории.

newname

Новое имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_rename()

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка переименовать $olf_file в $new_file
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "Файл $old_file переименован в $new_file\n";
} else {
 echo "Не удалось переименовать $old_file в $new_file\n";
}

// закрытие соединения
ftp_close($conn_id);
?>

ftp_rawlist
ftp_rmdir
FTP


Удаляет директорию

ftp_rename
ftp_set_option
FTP
PHP Manual

ftp_rmdir

(PHP 4, PHP 5)

ftp_rmdir — Удаляет директорию

Описание

bool ftp_rmdir ( resource $ftp_stream , string $directory )

Удаляет директорию directory.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

directory

Имя директории. Должен содержать относительный или абсолютный путь к пустой директории

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ftp_rmdir()

<?php

$dir = 'www/';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка удаления директории $dir
if (ftp_rmdir($conn_id, $dir)) {
    echo "Директория $dir удалена\n";
} else {
    echo "Не удалось удалить директорию $dir\n";
}

ftp_close($conn_id);

?>

Смотрите также

  • ftp_mkdir() - Создаёт директорию

ftp_rename
ftp_set_option
FTP


Устанавливает параметры соединения с FTP сервером

ftp_rmdir
ftp_site
FTP
PHP Manual

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_set_option — Устанавливает параметры соединения с FTP сервером

Описание

bool ftp_set_option ( resource $ftp_stream , int $option , mixed $value )

Эта функция устанавливает параметры соединения с FTP сервером.

Список параметров

ftp_stream

Идентификатор соединения с FTP сервером

option

В настоящее время поддерживаются следующие параметры:

Поддерживаемые параметры
FTP_TIMEOUT_SEC | Устанавливает таймаут сетевых операций, в секундах. Аргумент value должен быть целым, больше 0. По умолчанию таймаут равен 90 секунд.
FTP_AUTOSEEK | При установке этого параметра, перед выполнением запросов GET или PUT с параметром resumepos или startpos указатель файла будет установлен на запрошенную позицию. Этот параметр установлен по умолчанию.

value

Назначение этого аргумента зависит от значения параметра option.

Возвращаемые значения

Возвращает TRUE если параметр был установлен; FALSE в противном случае. Если значение аргумента option не поддерживается или значение аргумента value не соответствует значению аргумента option, будет выведено предупреждение.

Примеры

Пример #1 Пример использования ftp_set_option()

<?php
// установка таймаута в 10 секунд
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

Смотрите также

  • ftp_get_option() - Получает текущие параметры FTP соединения

ftp_rmdir
ftp_site
FTP


Отправляет серверу команду SITE

ftp_set_option
ftp_size
FTP
PHP Manual

ftp_site

(PHP 4, PHP 5)

ftp_site — Отправляет серверу команду SITE

Описание

bool ftp_site ( resource $ftp_stream , string $command )

ftp_site() отправляет указанную команду SITE FTP-серверу.

Команды SITE не стандартизированы, и зависят от FTP-сервера. Они могут быть полезны для изменения прав доступа к файлам или смены владельца или группы.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

command

Команда SITE. Обратите внимание, что этот параметр не проходит экранирование спецсимволов, так что могут возникнуть проблемы с именами, содержащими пробелы и прочие подобные символы.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Отправка команды SITE FTP-серверу

<?php
// Соединение с FTP-сервером
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Не удалось подключиться к ftp.example.com');

// Вход под именем "user" с паролем "pass"
if (!ftp_login($conn, 'user', 'pass')) die('Не удалось войти на ftp.example.com');

// Отправка "SITE CHMOD 0600 /home/user/privatefile" FTP-серверу
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Команда выполнена.\n";
} else {
   die('Команда не выполнена.');
}
?>

Смотрите также

  • ftp_raw() - Отправляет произвольную команду FTP серверу

ftp_set_option
ftp_size
FTP


Возвращает размер указанного файла

ftp_site
ftp_ssl_connect
FTP
PHP Manual

ftp_size

(PHP 4, PHP 5)

ftp_size — Возвращает размер указанного файла

Описание

int ftp_size ( resource $ftp_stream , string $remote_file )

ftp_size() возвращает размер заданного файла в байтах.

Замечание:

Не все FTP-серверы поддерживают эту возможность.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

remote_file

Имя файла на сервере.

Возвращаемые значения

Возвращает размер файла, или -1 при возникновении ошибки.

Примеры

Пример #1 Пример использования ftp_size()

<?php

$file = 'somefile.txt';

// установка соединения
$conn_id = ftp_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// получение размера файла $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "Размер файла $file: $res байт";
} else {
    echo "Не удалось определить размер файла $file";
}

// закрытие соединения
ftp_close($conn_id);

?>

Смотрите также

  • ftp_rawlist() - Возвращает подробный список файлов в заданной директории

ftp_site
ftp_ssl_connect
FTP


Устанавливает соединение с FTP-сервером через SSL

ftp_size
ftp_systype
FTP
PHP Manual

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connect — Устанавливает соединение с FTP-сервером через SSL

Описание

resource ftp_ssl_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_ssl_connect() устанавливает SSL соединение с FTP-сервером, заданным аргументом host.

Замечание: Почему эта функция может быть не определена

Функция ftp_ssl_connect() доступна только в том случае, если PHP был собран с поддержкой OpenSSL. Это означает что под Windows эта функция не будет определена в официальном дистрибутиве. Чтобы использовать эту функцию под Windows, вам придется собрать PHP самостоятельно для включения поддержки OpenSSL.

Замечание:

ftp_ssl_connect() не предназначена для использования по протоколу sFTP. Для использования sFTP из PHP смотрите функцию ssh2_sftp().

Список параметров

host

Адрес FTP-сервера. Этот параметр не должен содержать слэши в конце и префикс ftp:// в начале.

port

Задает порт, на котором устанавливается соединение. Если равен нулю или опущен, по умолчанию используется стандартный для протокола FTP порт 21

timeout

Задает таймаут для всех операций с этим соединением. По умолчанию таймаут устанавливается в 90 секунд. Получить и установить значение таймаута можно также с помощью функций ftp_set_option() и ftp_get_option().

Возвращаемые значения

Возвращает SSL-FTP поток в случае успеха, или FALSE при возникновении ошибки.

Список изменений

Версия | Описание
5.2.2 | Эта функция теперь возвращает FALSE, если не удалось установить SSL-соединение, вместо прежнего поведения, когда устанавливалось обычное, не-SSL соединение.

Примеры

Пример #1 Пример использования функции ftp_ssl_connect()

<?php

// установка ssl-соединения
$conn_id = ftp_ssl_connect($ftp_server);

// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// закрытие ssl-соединения
ftp_close($conn_id);
?>

Смотрите также

  • ftp_connect() - Устанавливает соединение с FTP-сервером

ftp_size
ftp_systype
FTP


Возвращает тип операционной системы FTP-сервера

ftp_ssl_connect
Gearman
FTP
PHP Manual

ftp_systype

(PHP 4, PHP 5)

ftp_systype — Возвращает тип операционной системы FTP-сервера

Описание

string ftp_systype ( resource $ftp_stream )

Возвращает тип операционной системы FTP-сервера.

Список параметров

ftp_stream

Идентификатор соединения с FTP-сервером.

Возвращаемые значения

Возвращает тип операционной системы FTP-сервера, или FALSE при возникновении ошибки.

Примеры

Пример #1 Пример использования ftp_systype()

<?php

// установка соединения
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// получение типа системы
if ($type = ftp_systype($ftp)) {
    echo "example.com использует $type\n";
} else {
    echo "Не удалось определить тип системы";
}

?>

Результатом выполнения данного примера будет что-то подобное:

example.com использует UNIX

ftp_ssl_connect
Gearman
FTP


Gearman

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
    • Основные клиент и обработчик Gearman, фоновый режим
    • Базовые клиент и обработчик Gearman , передающие задачи
  • GearmanClient — Класс GearmanClient
    • GearmanClient::addOptions — Добавить клиентские опции
    • GearmanClient::addServer — Добавить сервер задач для клиента
    • GearmanClient::addServers — Добавить список серверов задач для клиента
    • GearmanClient::addTask — Добавить задачу, которая будет выполнена в параллельном режиме
    • GearmanClient::addTaskBackground — Добавить фоновую задачу для работы в параллельном режиме
    • GearmanClient::addTaskHigh — Добавить высокоприоритетную задачу для работы в параллельном режиме
    • GearmanClient::addTaskHighBackground — Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
    • GearmanClient::addTaskLow — Добавить низкоприоритетную задачу для работы в параллельном режиме
    • GearmanClient::addTaskLowBackground — Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
    • GearmanClient::addTaskStatus — Добавить задачу для получения статуса
    • GearmanClient::clearCallbacks — Очистить все функции обратного вызова данной задачи
    • GearmanClient::clone — Создать копию объекта GearmanClient
    • GearmanClient::__construct — Создать экземпляр GearmanClient
    • GearmanClient::context — Возвращает контекст приложения
    • GearmanClient::data — Возвращает данные приложения (функция устарела)
    • GearmanClient::do — Выполняет одну задачу и возвращает результат
    • GearmanClient::doBackground — Запускает выполнение задачи в фоновом режиме
    • GearmanClient::doHigh — Запускает на выполнение задачу с высоким приоритетом
    • GearmanClient::doHighBackground — Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
    • GearmanClient::doJobHandle — Получить дескриптор выполняющейся задачи
    • GearmanClient::doLow — Запускает на выполнение задачу с низким приоритетом
    • GearmanClient::doLowBackground — Запускает на выполнение с низким приоритетом задачу в фоновом режиме
    • GearmanClient::doStatus — Get the status for the running task
    • GearmanClient::echo — Отправляет данные всем серверам заданий, чтобы проверить отклик
    • GearmanClient::error — Вернуть строку ошибки для последней встретившейся ошибки
    • GearmanClient::getErrno — Получить значение errno
    • GearmanClient::jobStatus — Get the status of a background job
    • GearmanClient::removeOptions — Удалить клиентские опции
    • GearmanClient::returnCode — Получить последний возвращённый код Gearman
    • GearmanClient::runTasks — Запустить список задач в параллельном режиме
    • GearmanClient::setClientCallback — Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)
    • GearmanClient::setCompleteCallback — Установите функцию, которая будет вызвана по завершении задачи
    • GearmanClient::setContext — Установить данные приложения
    • GearmanClient::setCreatedCallback — Установить функцию обратного вызова, когда задача ставится в очередь
    • GearmanClient::setData — Установить данные приложения (устаревший метод)
    • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
    • GearmanClient::setFailCallback — Set callback for job failure
    • GearmanClient::setOptions — Set client options
    • GearmanClient::setStatusCallback — Set a callback for collecting task status
    • GearmanClient::setTimeout — Set socket I/O activity timeout
    • GearmanClient::setWarningCallback — Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
    • GearmanClient::timeout — Get current socket I/O activity timeout value
  • GearmanJob — Класс GearmanJob
    • GearmanJob::complete — Send the result and complete status (deprecated)
    • GearmanJob::__construct — Create a GearmanJob instance
    • GearmanJob::data — Send data for a running job (deprecated)
    • GearmanJob::exception — Send exception for running job (deprecated)
    • GearmanJob::fail — Send fail status (deprecated)
    • GearmanJob::functionName — Get function name
    • GearmanJob::handle — Get the job handle
    • GearmanJob::returnCode — Get last return code
    • GearmanJob::sendComplete — Send the result and complete status
    • GearmanJob::sendData — Send data for a running job
    • GearmanJob::sendException — Send exception for running job (exception)
    • GearmanJob::sendFail — Send fail status
    • GearmanJob::sendStatus — Send status
    • GearmanJob::sendWarning — Send a warning
    • GearmanJob::setReturn — Set a return value
    • GearmanJob::status — Send status (deprecated)
    • GearmanJob::unique — Get the unique identifier
    • GearmanJob::warning — Send a warning (deprecated)
    • GearmanJob::workload — Get workload
    • GearmanJob::workloadSize — Get size of work load
  • GearmanTask — Класс GearmanTask
    • GearmanTask::__construct — Create a GearmanTask instance
    • GearmanTask::create — Create a task (deprecated)
    • GearmanTask::data — Get data returned for a task
    • GearmanTask::dataSize — Get the size of returned data
    • GearmanTask::function — Get associated function name (deprecated)
    • GearmanTask::functionName — Get associated function name
    • GearmanTask::isKnown — Determine if task is known
    • GearmanTask::isRunning — Test whether the task is currently running
    • GearmanTask::jobHandle — Get the job handle
    • GearmanTask::recvData — Read work or result data into a buffer for a task
    • GearmanTask::returnCode — Get the last return code
    • GearmanTask::sendData — Send data for a task (deprecated)
    • GearmanTask::sendWorkload — Send data for a task
    • GearmanTask::taskDenominator — Get completion percentage denominator
    • GearmanTask::taskNumerator — Get completion percentage numerator
    • GearmanTask::unique — Get the unique identifier for a task
    • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
  • GearmanWorker — Класс GearmanWorker
    • GearmanWorker::addFunction — Register and add callback function
    • GearmanWorker::addOptions — Add worker options
    • GearmanWorker::addServer — Add a job server
    • GearmanWorker::addServers — Add job servers
    • GearmanWorker::clone — Create a copy of the worker
    • GearmanWorker::__construct — Create a GearmanWorker instance
    • GearmanWorker::echo — Test job server response
    • GearmanWorker::error — Get the last error encountered
    • GearmanWorker::getErrno — Get errno
    • GearmanWorker::options — Get worker options
    • GearmanWorker::register — Register a function with the job server
    • GearmanWorker::removeOptions — Remove worker options
    • GearmanWorker::returnCode — Get last Gearman return code
    • GearmanWorker::setOptions — Set worker options
    • GearmanWorker::setTimeout — Set socket I/O activity timeout
    • GearmanWorker::timeout — Get socket I/O activity timeout
    • GearmanWorker::unregister — Unregister a function name with the job servers
    • GearmanWorker::unregisterAll — Unregister all function names with the job servers
    • GearmanWorker::wait — Wait for activity from one of the job servers
    • GearmanWorker::work — Wait for and perform jobs
ftp_systype
Введение
Другие службы


Введение

» Gearman это универсальный фреймворк разработки приложений для раздачи работ множеству машин или процессов. Это позволяет приложениям выполнять задачи параллельно, распределяя нагрузку и использовать функции различных языков. Фреймворк может использоваться во множестве приложений, от высоконадежных веб-сайтов до транспорта событий репликации базы данных.

Это расширение предоставляет классы для написания клиентов и обработчиков Gearman.

Gearman
Установка и настройка
Gearman


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Gearman


Требования

Это расширение требует библиотеки » libgearman и запущенного Gearman сервера.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/gearman

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Return values. Always check GearmanClient::error() or GearmanWorker() for a string error, as it may contain more details:

GEARMAN_SUCCESS (integer)
Whatever action was taken was successful.
GEARMAN_IO_WAIT (integer)
When in non-blocking mode, an event is hit that would have blocked.
GEARMAN_ERRNO (integer)
A system error. Check GearmanClient::errno() or GearmanWorker::errno() for the system error code that was returned.
GEARMAN_NO_ACTIVE_FDS (integer)
GearmanClient::wait() or GearmanWorker() was called with no connections.
GEARMAN_UNEXPECTED_PACKET (integer)
Indicates something going very wrong in gearmand. Applies only to GearmanWorker.
GEARMAN_GETADDRINFO (integer)
DNS resolution failed (invalid host, port, etc).
GEARMAN_NO_SERVERS (integer)
Did not call GearmanClient::addServer() before submitting jobs or tasks.
GEARMAN_LOST_CONNECTION (integer)
Lost a connection during a request.
GEARMAN_MEMORY_ALLOCATION_FAILURE (integer)
Memory allocation failed (ran out of memory).
GEARMAN_SERVER_ERROR (integer)
Something went wrong in the Gearman server and it could not handle the request gracefully.
GEARMAN_WORK_DATA (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the client with data from a running job. A worker uses this when it needs to send updates, send partial results, or flush data during long running jobs.
GEARMAN_WORK_WARNING (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Updates the client with a warning. The behavior is just like GEARMAN_WORK_DATA, but should be treated as a warning instead of normal response data.
GEARMAN_WORK_STATUS (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the status of a long running job. Use GearmanClient::doStatus() to obtain the percentage complete of the task.
GEARMAN_WORK_EXCEPTION (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that a job failed with a given exception.
GEARMAN_WORK_FAIL (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that the job failed.
GEARMAN_COULD_NOT_CONNECT (integer)
Failed to connect to servers.
GEARMAN_INVALID_FUNCTION_NAME (integer)
Trying to register a function name of NULL or using the callback interface without specifying callbacks.
GEARMAN_INVALID_WORKER_FUNCTION (integer)
Trying to register a function with a NULL callback function.
GEARMAN_NO_REGISTERED_FUNCTIONS (integer)
When a worker gets a job for a function it did not register.
GEARMAN_NO_JOBS (integer)
For a non-blocking worker, when GearmanWorker::work() does not have any active jobs.
GEARMAN_ECHO_DATA_CORRUPTION (integer)
After GearmanClient::echo() or GearmanWorker::echo() the data returned doesn't match the data sent.
GEARMAN_NEED_WORKLOAD_FN (integer)
When the client opted to stream the workload of a task, but did not specify a workload callback function.
GEARMAN_PAUSE (integer)
For the non-blocking client task interface, can be returned from the task callback to "pause" the call and return from GearmanClient::runTasks(). Call GearmanClient::runTasks() again to continue.
GEARMAN_UNKNOWN_STATE (integer)
Internal client/worker state error.
GEARMAN_SEND_BUFFER_TOO_SMALL (integer)
Internal error: trying to flush more data in one atomic chunk than is possible due to hard-coded buffer sizes.
GEARMAN_TIMEOUT (integer)
Hit the timeout limit set by the client/worker.

GearmanClient options:

GEARMAN_CLIENT_NON_BLOCKING (integer)
Run the cient in a non-blocking mode.
GEARMAN_CLIENT_UNBUFFERED_RESULT (integer)
Allow the client to read data in chunks rather than have the library buffer the entire data result and pass that back.
GEARMAN_CLIENT_FREE_TASKS (integer)
Automatically free task objects once they are complete. This is the default setting in this extension to prevent memory leaks.

GearmanWorker options:

GEARMAN_WORKER_NON_BLOCKING (integer)
Run the worker in non-blocking mode.
GEARMAN_WORKER_GRAB_UNIQ (integer)
Return the client assigned unique ID in addition to the job handle.

Base Gearman configuration:

GEARMAN_DEFAULT_TCP_HOST (string)
GEARMAN_DEFAULT_TCP_PORT (integer)
GEARMAN_DEFAULT_SOCKET_TIMEOUT (integer)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE (integer)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE (integer)
GEARMAN_MAX_ERROR_SIZE (integer)
GEARMAN_PACKET_HEADER_SIZE (integer)
GEARMAN_JOB_HANDLE_SIZE (integer)
GEARMAN_OPTION_SIZE (integer)
GEARMAN_UNIQUE_SIZE (integer)
GEARMAN_MAX_COMMAND_ARGS (integer)
GEARMAN_ARGS_BUFFER_SIZE (integer)
GEARMAN_SEND_BUFFER_SIZE (integer)
GEARMAN_RECV_BUFFER_SIZE (integer)
GEARMAN_WORKER_WAIT_TIMEOUT (integer)

Типы ресурсов
Примеры
Gearman


Примеры

Содержание

  • Basic usage
  • Основные клиент и обработчик Gearman, фоновый режим
  • Базовые клиент и обработчик Gearman , передающие задачи
Предопределенные константы
Basic usage
Gearman


Basic usage

Пример #1 Основные клиент и обработчик Gearman

Этот пример демонстрирует очень простые клиент и обработчик. Клиент отправляет строку серверу заданий, обработчик инвертирует строку и отсылает ее назад. Операция выполняется синхронно.

<?php

# Создание клиентского объекта
$gmclient= new GearmanClient();

# Указание сервера по умолчанию (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Отправка задания обратно
do
{
  $result = $gmclient->do("reverse", "Hello!");

  # Проверка на различные возвращаемые пакеты и ошибки.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Создание нового обработчика.
$gmworker= new GearmanWorker();

# Добавление сервера по умолчанию (localhost).
$gmworker->addServer();

# Регистрация функции "reverse" на сервере. Изменение функции обработчика на
# "reverse_fn_fast" для более быстрой обработки без вывода.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Этот цикл не является необходимым, но показывает как выполняется работа
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Возвращаем, когда необходимо отправить результат обратно клиенту.
  return $result;
}

# Гораздо более простая и менее подробная версия вышеприведенной функции выглядит так:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Результатом выполнения данного примера будет что-то подобное:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Примеры
Основные клиент и обработчик Gearman, фоновый режим
Примеры


Основные клиент и обработчик Gearman, фоновый режим

Пример #1 Основные клиент и обработчик Gearman, фоновый режим

Этот пример демонстрирует очень простые клиента и обработчик. Клиент отправляет строку серверу выполнения заданий как фоновое задание, и обработчик инвертирует строку. Обратите внимание, что работа выполняется асинхронно, т.е. клиент не ждет задания, чтобы завершить работу и отключиться (а значит, клиент никогда не получает результатов).

<?php

# создание объекта
$gmclient= new GearmanClient();

# указание сервера по умолчанию (localhost)
$gmclient->addServer();

# выполнение в фоновом режиме
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Создание обработчика.
$gmworker= new GearmanWorker();

# Указание сервера по умолчанию (localhost).
$gmworker->addServer();

# Регистрация функции "reverse" на сервере. Изменение функции обработчика на
# "reverse_fn_fast" для более быстрой обработки без вывода.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Этот цикл не является необходимым, но показывает как выполняется работа
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Возвращаем, когда необходимо отправить результат обратно клиенту.
  return $result;
}

# Гораздо более простая и менее подробная версия вышеприведенной функции выглядит так:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Результатом выполнения данного примера будет что-то подобное:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!

Basic usage
Базовые клиент и обработчик Gearman , передающие задачи
Примеры


Базовые клиент и обработчик Gearman , передающие задачи

Пример #1 Базовые клиент и обработчик Gearman , передающие задачи

В этом примере базовый противоположный клиент расширен для того, чтобы выполнять две задачи параллельно. Противоположный обработчик не изменен, за исключением добавления отправки данных обратно во время обработки.

<?php

# создание клиента gearman
$gmc= new GearmanClient();

# указание сервера по умолчанию (localhost)
$gmc->addServer();

# регистрация функций обратного вызова
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# указание неких произвольных данных
$data['foo'] = 'bar';

# добавление двух заданий
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

# выполнение заданий параллельно (использование двух обработчиков)
if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_created($task)
{
    echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
    echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
    echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
    echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Создание обработчика.
$gmworker= new GearmanWorker();

# Указание сервера по умолчанию  (localhost).
$gmworker->addServer();

# Регистрация функции "reverse" на сервере. Изменение функции обработчика на
# "reverse_fn_fast" для более быстрой обработки без вывода.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Этот цикл не является необходимым, но показывает как выполняется работа
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Возвращаем, когда необходимо отправить результат обратно клиенту.
  return $result;
}

# Гораздо более простая и менее подробная версия вышеприведенной функции выглядит так:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Результатом выполнения данного примера будет что-то подобное:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE

Основные клиент и обработчик Gearman, фоновый режим
GearmanClient
Примеры


Класс GearmanClient

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет собой класс для подключения к серверу задач Gearman и выполнения некоторых функций над указанными данными. Выполняемая функция должна быть зарегистрирована процессом Gearman worker и передаваемые данные являются непрозрачными для сервера задач.

Обзор классов

GearmanClient {
/* Методы */
public bool addOptions ( int $options )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ([ string $servers = 127.0.0.1:4730 ] )
public GearmanTask addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskStatus ( string $job_handle [, string &$context ] )
public bool clearCallbacks ( void )
public GearmanClient clone ( void )
__construct ( void )
public string context ( void )
public string data ( void )
public string do ( string $function_name , string $workload [, string $unique ] )
public string doBackground ( string $function_name , string $workload [, string $unique ] )
public string doHigh ( string $function_name , string $workload [, string $unique ] )
public string doHighBackground ( string $function_name , string $workload [, string $unique ] )
public string doJobHandle ( void )
public string doLow ( string $function_name , string $workload [, string $unique ] )
public string doLowBackground ( string $function_name , string $workload [, string $unique ] )
public array doStatus ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public array jobStatus ( string $job_handle )
public bool removeOptions ( int $options )
public int returnCode ( void )
public bool runTasks ( void )
public void setClientCallback ( callback $callback )
public bool setCompleteCallback ( callback $callback )
public bool setContext ( string $context )
public bool setCreatedCallback ( string $callback )
public bool setData ( string $data )
public bool setDataCallback ( callback $callback )
public bool setExceptionCallback ( callback $callback )
public bool setFailCallback ( callback $callback )
public bool setOptions ( int $options )
public bool setStatusCallback ( callback $callback )
public bool setTimeout ( int $timeout )
public bool setWarningCallback ( callback $callback )
public bool setWorkloadCallback ( callback $callback )
public int timeout ( void )
}

Содержание

  • GearmanClient::addOptions — Добавить клиентские опции
  • GearmanClient::addServer — Добавить сервер задач для клиента
  • GearmanClient::addServers — Добавить список серверов задач для клиента
  • GearmanClient::addTask — Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskBackground — Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskHigh — Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground — Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLow — Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground — Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskStatus — Добавить задачу для получения статуса
  • GearmanClient::clearCallbacks — Очистить все функции обратного вызова данной задачи
  • GearmanClient::clone — Создать копию объекта GearmanClient
  • GearmanClient::__construct — Создать экземпляр GearmanClient
  • GearmanClient::context — Возвращает контекст приложения
  • GearmanClient::data — Возвращает данные приложения (функция устарела)
  • GearmanClient::do — Выполняет одну задачу и возвращает результат
  • GearmanClient::doBackground — Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doHigh — Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doHighBackground — Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  • GearmanClient::doJobHandle — Получить дескриптор выполняющейся задачи
  • GearmanClient::doLow — Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doLowBackground — Запускает на выполнение с низким приоритетом задачу в фоновом режиме
  • GearmanClient::doStatus — Get the status for the running task
  • GearmanClient::echo — Отправляет данные всем серверам заданий, чтобы проверить отклик
  • GearmanClient::error — Вернуть строку ошибки для последней встретившейся ошибки
  • GearmanClient::getErrno — Получить значение errno
  • GearmanClient::jobStatus — Get the status of a background job
  • GearmanClient::removeOptions — Удалить клиентские опции
  • GearmanClient::returnCode — Получить последний возвращённый код Gearman
  • GearmanClient::runTasks — Запустить список задач в параллельном режиме
  • GearmanClient::setClientCallback — Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)
  • GearmanClient::setCompleteCallback — Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setContext — Установить данные приложения
  • GearmanClient::setCreatedCallback — Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setData — Установить данные приложения (устаревший метод)
  • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
  • GearmanClient::setFailCallback — Set callback for job failure
  • GearmanClient::setOptions — Set client options
  • GearmanClient::setStatusCallback — Set a callback for collecting task status
  • GearmanClient::setTimeout — Set socket I/O activity timeout
  • GearmanClient::setWarningCallback — Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
  • GearmanClient::timeout — Get current socket I/O activity timeout value
Базовые клиент и обработчик Gearman , передающие задачи
GearmanClient::addOptions
Gearman


Добавить клиентские опции

GearmanClient
GearmanClient::addServer
GearmanClient
PHP Manual

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Добавить клиентские опции

Описание

public bool GearmanClient::addOptions ( int $options )

Добавляет одну или несколько опций к уже установленным.

Список параметров

options

Опции для добавления

Возвращаемые значения

Всегда возвращает TRUE.

GearmanClient
GearmanClient::addServer
GearmanClient


Добавить сервер задач для клиента

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient
PHP Manual

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Добавить сервер задач для клиента

Описание

public bool GearmanClient::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Добавляет сервер задач к списку серверов, которые могут использоваться для выполнения задачи. Никаких операций ввода-вывода c сокетом здесь не происходит. Сервер просто добавляется к списку.

Список параметров

host

Имя хоста сервера задач.

port

Порт сервера задач.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Добавление двух серверов задач

<?php

# Создаем клиентский объект
$gmclient= new GearmanClient();

# Добавляем два сервера задач, первый из них работает с портом 4730 по умолчанию
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Смотрите также

  • GearmanClient::addServers() - Добавить список серверов задач для клиента

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient


Добавить список серверов задач для клиента

GearmanClient::addServer
GearmanClient::addTask
GearmanClient
PHP Manual

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Добавить список серверов задач для клиента

Описание

public bool GearmanClient::addServers ([ string $servers = 127.0.0.1:4730 ] )

Добавляет список серверов задач, которые могут использоваться для выполнения задачи. Никаких операций ввода-вывода c сокетом здесь не происходит. Сервера просто добавляются к полному списку серверов.

Список параметров

servers

Список серверов, разделенных запятыми. Каждый сервер указан в формате 'host:port'.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Добавление двух серверов задач

<?php

# Создаем наш клиентский объект
$gmclient= new GearmanClient();

# Добавляем несколько серверов задач, первый из которых работает с портом 4730 по умолчанию
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Смотрите также

  • GearmanClient::addServer() - Добавить сервер задач для клиента

GearmanClient::addServer
GearmanClient::addTask
GearmanClient


Добавить задачу, которая будет выполнена в параллельном режиме

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient
PHP Manual

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Добавить задачу, которая будет выполнена в параллельном режиме

Описание

public GearmanTask GearmanClient::addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Обратите внимание, что должно быть достаточное количество работников для одновременного выполнения всех задач.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Примеры

Пример #1 Основное представление двух задач

<?php

# Создаем нашего клиента
$gmclient= new GearmanClient();

# Добавляем сервер задач по умолчанию
$gmclient->addServer();

# Добавляем задачу для выполнения функции reverse, переворачивающей строку "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# Добавляем другую задачу, для выполнения функции reverse, переворачивающей строку "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# Устанавливаем функцию, которая будет вызвана по завершению работы
$gmclient->setCompleteCallback("complete");

# Выполняем задачи
$gmclient->runTasks();

function complete($task)
{
  print "Выполнено: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Выполнено: 2, Hello World!
Выполнено: 1, !dlroW olleH

Пример #2 Основное представление двух задач с передачей контекста приложения

<?php

$client = new GearmanClient();
$client->addServer();

# Добавим несколько задач и местоположение результатов
$results = array();
$client->addTask("reverse", "Hello World!", &$results, "t1");
$client->addTask("reverse", "!dlroW olleH", &$results, "t2");

$client->setCompleteCallback("reverse_complete");
$client->runTasks();

# Результаты должны быть заполнены из обратного вызова
foreach ($results as $id => $result)
   echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
   $results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

Результатом выполнения данного примера будет что-то подобное:

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Смотрите также

  • GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient


Добавить фоновую задачу для работы в параллельном режиме

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient
PHP Manual

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Добавить фоновую задачу для работы в параллельном режиме

Описание

public GearmanTask GearmanClient::addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет фоновую задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Примеры

Пример #1 Две задачи, одна в фоновом режиме другая нет

Этот пример иллюстрирует различие между выполнением фоновой задачи и нормальной задачей. Клиент добавляет две задачи для выполнения одних и тех же функций, но одна добавлена с помощью addTaskBackground(). Обратный вызов установлен так, чтобы выполнение задания можно было проследить. Простой рабочий с искусственной задержкой сообщает статус выполнения задания, и клиент понимает это посредством обратного вызова. Два рабочих запущены для этого примера. Обратите внимание, что фоновая задача не показывается в клиентском выводе.

<?php

# Клиентский скрипт

# Создание нашего клиента
$gmc= new GearmanClient();

# Добавление сервера задач по умолчанию
$gmc->addServer();

# Установка нескольких обратных вызовов. Таким образом, мы сможем отслеживать выполнение
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# Добавление задачи для функции reverse
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# Добавление другой задачи, но она предназначена для запуска в фоне
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
    echo "Ошибка " . $gmc->error() . "\n";
    exit;
}

echo "Выполнено\n";

function reverse_status($task)
{
    echo "Статус: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "Завершено: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# Скрипт работника

echo "Начинаем\n";

# Создаем наш объект работника
$gmworker= new GearmanWorker();

# Добавление сервера задач по умолчанию (localhost).
$gmworker->addServer();

# Регистрируем функцию reverse на сервере
$gmworker->addFunction("reverse", "reverse_fn");

print "Ожидание задачи...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "возвратный код: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Получена задача: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Рабочая нагрузка: $workload ($workload_size)\n";

  # В этом цикле отображения статуса нет необходимости. Просто для демонстрации как это работает
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Отправка статуса: " . ($x + 1) . "/$workload_size выполнено\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Результат: $result\n";

  # Возвращаем то, что мы хотим вернуть клиенту
  return $result;
}

?>

Вывод рабочего для двух запущенных работников:

Получена задача: H:foo.local:65
Рабочая нагрузка: !dlroW olleH (12)
1/12 выполнено
Получена задача: H:foo.local:66
Рабочая нагрузка: Hello World! (12)
1/12 выполнено
2/12 выполнено
2/12 выполнено
3/12 выполнено
3/12 выполнено
4/12 выполнено
4/12 выполнено
5/12 выполнено
5/12 выполнено
6/12 выполнено
6/12 выполнено
7/12 выполнено
7/12 выполнено
8/12 выполнено
8/12 выполнено
9/12 выполнено
9/12 выполнено
10/12 выполнено
10/12 выполнено
11/12 выполнено
11/12 выполнено
12/12 выполнено
12/12 выполнено
Результат: !dlroW olleH
Результат: Hello World!

Клиент выводит:

Статус: 1, H:foo.local:66 - 1/12
Статус: 1, H:foo.local:66 - 2/12
Статус: 1, H:foo.local:66 - 3/12
Статус: 1, H:foo.local:66 - 4/12
Статус: 1, H:foo.local:66 - 5/12
Статус: 1, H:foo.local:66 - 6/12
Статус: 1, H:foo.local:66 - 7/12
Статус: 1, H:foo.local:66 - 8/12
Статус: 1, H:foo.local:66 - 9/12
Статус: 1, H:foo.local:66 - 10/12
Статус: 1, H:foo.local:66 - 11/12
Статус: 1, H:foo.local:66 - 12/12
Завершено: 1, !dlroW olleH
Выполнено

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient


Добавить высокоприоритетную задачу для работы в параллельном режиме

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient
PHP Manual

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Добавить высокоприоритетную задачу для работы в параллельном режиме

Описание

public GearmanTask GearmanClient::addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет высокоприоритетную задачу для параллельной работы с другими задачами. Вызовите этот метод для всех высокоприоритетных задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Задачи с высоким приоритетом будут выбраны из очереди раньше задач с нормальным или низким приоритетом.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Примеры

Пример #1 Высокоприоритетная задача вместе с двумя нормальными задачами

Высокоприоритетная задача включена среди двух других задач. Доступен единственный рабочий, так что задачи запускаются одна за другой, высокоприоритетные задачи выполняются в первую очередь.

<?php

# создание клиента
$gmc= new GearmanClient();

# добавление сервера задач по умолчанию
$gmc->addServer();

# установка обратной функции для сигнализации о завершении задачи
$gmc->setCompleteCallback("reverse_complete");

# добавление задач, одна из которых высокоприоритетная
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "Ошибка " . $gmc->error() . "\n";
    exit;
}
echo "Выполнено\n";

function reverse_complete($task)
{
    echo "Завершено: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Завершено: 2, Hello World!
Завершено: 3, !dlroW olleH
Завершено: 1, !dlroW olleH
Выполнено

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient


Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient
PHP Manual

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме

Описание

public GearmanTask GearmanClient::addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет высокоприоритетную фоновую задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Задачи с высоким приоритетом будут выбраны из очереди раньше задач с нормальным или низким приоритетом.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient


Добавить низкоприоритетную задачу для работы в параллельном режиме

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient
PHP Manual

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Добавить низкоприоритетную задачу для работы в параллельном режиме

Описание

public GearmanTask GearmanClient::addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет низкоприоритетную задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Задачи с низким приоритетом будут выбраны из очереди после задач с нормальным или высоким приоритетом.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Примеры

Пример #1 Низкоприоритетная задача вместе с двумя нормальными задачами

Низкоприоритетная задача включена среди двух других задач. Единственный рабочий доступен, так что задачи запускаются одна за другой, низкоприоритетные задачи выполняются в последнюю очередь.

<?php

# создание клиента
$gmc= new GearmanClient();

# добавление сервера задач по умолчанию
$gmc->addServer();

# установка функции обратного вызова по завершению задачи
$gmc->setCompleteCallback("reverse_complete");

# добавление задач, одна из которых с низким приоритетом
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "Ошибка " . $gmc->error() . "\n";
    exit;
}
echo "Готово\n";

function reverse_complete($task)
{
    echo "Выполнено: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Выполнено: 3, !dlroW olleH
Выполнено: 1, !dlroW olleH
Выполнено: 2, Hello World!
Готово

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient


Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient
PHP Manual

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме

Описание

public GearmanTask GearmanClient::addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет низкоприоритетную фоновую задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Задачи с низким приоритетом будут выбраны из очереди после задач с нормальным или высоким приоритетом.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

context

Контекст приложения, связываемый с задачей

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Объект GearmanTask или FALSE, если задача не может быть добавлена.

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
  • GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
  • GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
  • GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  • GearmanClient::runTasks() - Запустить список задач в параллельном режиме

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient


Добавить задачу для получения статуса

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient
PHP Manual

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Добавить задачу для получения статуса

Описание

public GearmanTask GearmanClient::addTaskStatus ( string $job_handle [, string &$context ] )

Используется для запроса информации о состоянии с сервера Gearman, который будет вызывать указанный обратный вызов статуса (устанавливаются с помощью GearmanClient::setStatusCallback()).

Список параметров

job_handle

Дескриптор задания для получения статуса задачи

context

Данные, которые будут переданы обратному вызову. Обычно ссылка на массив или объект

Возвращаемые значения

Объект GearmanTask.

Примеры

Пример #1 Монитор завершения множественных фоновых задач

В этом примере представлена искусственная задержка в работнике, чтобы смоделировать долгий рабочий процесс. Есть только один рабочий, запущенный для этого примера.

<?php

/* создание клиентского объекта */
$gmclient= new GearmanClient();

/* добавление сервера задач по умолчанию */
$gmclient->addServer();

/* запуск некоторых фоновых задач и сохранение дескрипторов */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");

/* Опрос сервера с целью определения, когда завершатся фоновые задачи; */
/* лучшим методом может быть использование обратных вызовов на события */
do
{
   /* используем контекстные переменные для слежения за тем, сколько задач выполнилось */
   $done = 0;
   $gmclient->addTaskStatus($handles[0], &$done);
   $gmclient->addTaskStatus($handles[1], &$done);
   $gmclient->runTasks();
   echo "Выполнено: $done\n";
   sleep(1);
}
while ($done != 2);

function reverse_status($task, $done)
{
   if (!$task->isKnown())
      $done++;
}

?>

Результатом выполнения данного примера будет что-то подобное:

Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 0
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 1
Выполнено: 2

Смотрите также

  • GearmanClient::setStatusCallback() - Set a callback for collecting task status

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient


Очистить все функции обратного вызова данной задачи

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient
PHP Manual

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Очистить все функции обратного вызова данной задачи

Описание

public bool GearmanClient::clearCallbacks ( void )

Очищает все функции обратного вызова данной задачи, которые были ранее установлены.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Всегда возвращает TRUE.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient


Создать копию объекта GearmanClient

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient
PHP Manual

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Создать копию объекта GearmanClient

Описание

public GearmanClient GearmanClient::clone ( void )

Создаёт копию объекта GearmanClient.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

GearmanClient в случае успеха, FALSE в случае неудачи.

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient


Создать экземпляр GearmanClient

GearmanClient::clone
GearmanClient::context
GearmanClient
PHP Manual

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Создать экземпляр GearmanClient

Описание

GearmanClient::__construct ( void )

Создает экземпляр GearmanClient, представляющий клиента, который соединяется с сервером заданий и передаёт задачи для выполнения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Объект GearmanClient.

Смотрите также

  • GearmanClient::clone() - Создать копию объекта GearmanClient

GearmanClient::clone
GearmanClient::context
GearmanClient


Возвращает контекст приложения

GearmanClient::__construct
GearmanClient::data
GearmanClient
PHP Manual

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Возвращает контекст приложения

Описание

public string GearmanClient::context ( void )

Возвращает контекст, ранее установленный с помощью GearmanClient::setContext().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Та же самая структура данных контекста, приведенная в GearmanClient::setContext()

Смотрите также

  • GearmanClient::setContext() - Установить данные приложения

GearmanClient::__construct
GearmanClient::data
GearmanClient


Возвращает данные приложения (функция устарела)

GearmanClient::context
GearmanClient::do
GearmanClient
PHP Manual

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Возвращает данные приложения (функция устарела)

Описание

public string GearmanClient::data ( void )

Возвращает данные приложения, установленные ранее с помощью GearmanClient::setData().

Замечание:

Этот метод был заменён на GearmanClient::setContext() в версии 0.6.0 расширения Gearman.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Некие строковые данные, установленные GearmanClient::setData().

Смотрите также

  • GearmanClient::setData() - Установить данные приложения (устаревший метод)

GearmanClient::context
GearmanClient::do
GearmanClient


Выполняет одну задачу и возвращает результат

GearmanClient::data
GearmanClient::doBackground
GearmanClient
PHP Manual

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Выполняет одну задачу и возвращает результат

Описание

public string GearmanClient::do ( string $function_name , string $workload [, string $unique ] )

Выполняет одну высокоприоритетную задачу и возвращает результат в виде строки. Функция зависит только от GearmanClient и GearmanWorker, т.к. требуется обеспечить единый формат результата.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Результат выполнения задачи в виде строки.

Примеры

Пример #1 Простое представление задания с непосредственным возвратом

<?php

# Код клиента

echo "Starting\n";

# Создание клиента
$gmclient= new GearmanClient();

# Указание сервера по умолчанию (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->do("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Создание экземпляра обработчика
$gmworker= new GearmanWorker();

# Указание сервера по умолчанию (localhost).
$gmworker->addServer();

# Регистрация функции "reverse" на сервере. Изменение функции обработчика на
# "reverse_fn_fast" для более быстрой обработки без вывода.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Результатом выполнения данного примера будет что-то подобное:

Starting
Sending job
Success: !olleH

Пример #2 Передача задания и получение инкрементного состояния

Дается задание и задается цикл для получения информации об изменении статуса. У обработчика указана искусственная задержка для моделирования длительного выполнения задания и задана отправка состояния и данных во время обработки. Каждый последующий вызов GearmanClient::do() выводит информацию о статусе выполнения текущего задания.

<?php

# Код клиента

# Создание экземпляра клиента Gearman
$gmclient= new GearmanClient();

# Указание сервера по умолчанию (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Отправка задания
do
{
  $result = $gmclient->do("reverse", "Hello!");
  # Проверка на различные возвращаемые форматы и ошибки

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Код обработчика

echo "Starting\n";

# Создание экземпляра обработчика.
$gmworker= new GearmanWorker();

# Указание сервера по умолчанию  (localhost).
$gmworker->addServer();

# Регистрация функции "reverse" на севрере.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # Данный цикл не является необходимым, только иллюстрирует процесс
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Возврат результата, отправляемого клиенту
  return $result;
}

?>

Результатом выполнения данного примера будет что-то подобное:

Вывод обработчика:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Вывод клиента:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Смотрите также

  • GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  • GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::data
GearmanClient::doBackground
GearmanClient


Запускает выполнение задачи в фоновом режиме

GearmanClient::do
GearmanClient::doHigh
GearmanClient
PHP Manual

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Запускает выполнение задачи в фоновом режиме

Описание

public string GearmanClient::doBackground ( string $function_name , string $workload [, string $unique ] )

Запускает выполнение задачи в фоновом режиме, возвращая дескриптор задания, который может быть использован для запроса состояния выполняющейся задачи.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Дескриптор текущего задания.

Примеры

Пример #1 Отправляет и отслеживает фоновое задание

Обработчик в этом примере имеет искусственную задержку, чтобы смоделировать длительное выполнение задания. Клиент периодически проверяет состояние выполняющегося задания.

<?php

/* создание объекта */
$gmclient= new GearmanClient();

/* указание сервера по умолчанию */
$gmclient->addServer();

/* запуск на выполнение клиента */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // задание известно, но не выполнено
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Результатом выполнения данного примера будет что-то подобное:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  • GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::do
GearmanClient::doHigh
GearmanClient


Запускает на выполнение задачу с высоким приоритетом

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient
PHP Manual

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Запускает на выполнение задачу с высоким приоритетом

Описание

public string GearmanClient::doHigh ( string $function_name , string $workload [, string $unique ] )

Запускает на выполнение одиночную высокоприоритетную задачу и возвращает строку, содержащую результат. Функция зависит от GearmanClient и GearmanWorker, поскольку необходимо обеспечить единый формат результата. Высокоприоритетные задачи имеют преимущество над нормальными и низкоприоритетными задачам в очереди заданий.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Строка, содержащая результат выполнения задачи.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  • GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient


Запускает на выполнение с высоким приоритетом задачу в фоновом режиме

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient
PHP Manual

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Запускает на выполнение с высоким приоритетом задачу в фоновом режиме

Описание

public string GearmanClient::doHighBackground ( string $function_name , string $workload [, string $unique ] )

Запускает на выполнение с высоким приоритетом задачу в фоновом режиме, возвращая дескриптор задания, который может быть в дальнейшем использован для запроса состояния выполняющейся задачи. Задачи высокого приоритета имеют преимущество над нормальными и низкоприоритетными задачам в очереди заданий.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Дескриптор отправленной задачи.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient


Получить дескриптор выполняющейся задачи

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient
PHP Manual

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Получить дескриптор выполняющейся задачи

Описание

public string GearmanClient::doJobHandle ( void )

Получает дескриптор задания для выполняющейся задачи. Этот метод должен использоваться между повторным вызовами GearmanClient::do(). Дескриптор задания может использоваться для получения информации о задаче.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Дескриптор задания для выполняющейся задачи.

Смотрите также

  • GearmanClient::jobStatus() - Get the status of a background job

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient


Запускает на выполнение задачу с низким приоритетом

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient
PHP Manual

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Запускает на выполнение задачу с низким приоритетом

Описание

public string GearmanClient::doLow ( string $function_name , string $workload [, string $unique ] )

Запускает на выполнение задачу с низким приоритетом и возвращает строку, содержащую результат. Функция зависит от GearmanClient и GearmanWorker, поскольку необходимо обеспечить единый формат результата. Высокоприоритетные задачи имеют преимущество над нормальными и низкоприоритетными задачам в очереди заданий. Задачи нормального и высокого приоритета имеют преимущество над низкоприоритетными задачами в очереди заданий.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Строка, содержащая результат выполнения задачи.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  • GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient


Запускает на выполнение с низким приоритетом задачу в фоновом режиме

GearmanClient::doLow
GearmanClient::doStatus
GearmanClient
PHP Manual

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Запускает на выполнение с низким приоритетом задачу в фоновом режиме

Описание

public string GearmanClient::doLowBackground ( string $function_name , string $workload [, string $unique ] )

Запускает на выполнение с низким приоритетом задачу в фоновом режиме, возвращая дескриптор задания, который может быть использован для запроса состояния выполняющейся задачи. Задачи нормального и высокого приоритета имеют преимущество над низкоприоритетными задачам в очереди заданий.

Список параметров

function_name

Зарегистрированная функция, вызываемая рабочим процессом

workload

Сериализованные данные, подлежащие обработке

unique

Уникальный ID, назначаемый определенной задаче

Возвращаемые значения

Дескриптор отправленной задачи.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
  • GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
  • GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
  • GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме

GearmanClient::doLow
GearmanClient::doStatus
GearmanClient


Get the status for the running task

GearmanClient::doLowBackground
GearmanClient::echo
GearmanClient
PHP Manual

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Get the status for the running task

Описание

public array GearmanClient::doStatus ( void )

Returns the status for the running task. This should be used between repeated GearmanClient::do() calls.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Примеры

Пример #1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status() which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->do("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # get the current job status
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

Результатом выполнения данного примера будет что-то подобное:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanJob::status() - Send status (deprecated)

GearmanClient::doLowBackground
GearmanClient::echo
GearmanClient


Отправляет данные всем серверам заданий, чтобы проверить отклик

GearmanClient::doStatus
GearmanClient::error
GearmanClient
PHP Manual

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Отправляет данные всем серверам заданий, чтобы проверить отклик

Описание

public bool GearmanClient::echo ( string $workload )

Отправляет некоторые произвольные данные всем серверам заданий, чтобы проверить отклик. Отправленные данные не используются и не обрабатываются. Функция полезна при тестировании и отладке.

Список параметров

workload

Некоторые произвольные сериализированные данные для получения отклика

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

GearmanClient::doStatus
GearmanClient::error
GearmanClient


Вернуть строку ошибки для последней встретившейся ошибки

GearmanClient::echo
GearmanClient::getErrno
GearmanClient
PHP Manual

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Вернуть строку ошибки для последней встретившейся ошибки

Описание

public string GearmanClient::error ( void )

Возвращает строку ошибки для последней встретившейся ошибки.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Удобочитаемая строка ошибки.

Смотрите также

  • GearmanClient::getErrno() - Получить значение errno

GearmanClient::echo
GearmanClient::getErrno
GearmanClient


Получить значение errno

GearmanClient::error
GearmanClient::jobStatus
GearmanClient
PHP Manual

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Получить значение errno

Описание

public int GearmanClient::getErrno ( void )

Значение ERRNO в случае возвращаемого значения GEARMAN_ERRNO.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Допустимый Gearman errno.

Смотрите также

  • GearmanClient::error() - Вернуть строку ошибки для последней встретившейся ошибки

GearmanClient::error
GearmanClient::jobStatus
GearmanClient


Get the status of a background job

GearmanClient::getErrno
GearmanClient::removeOptions
GearmanClient
PHP Manual

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Get the status of a background job

Описание

Object oriented style (method):

public array GearmanClient::jobStatus ( string $job_handle )

Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

Список параметров

job_handle

Дескриптор задачи, который присваевается сервером Gearman

Возвращаемые значения

An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

Примеры

Пример #1 Monitor the status of a long running background job

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Результатом выполнения данного примера будет что-то подобное:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Смотрите также

  • GearmanClient::doStatus() - Get the status for the running task

GearmanClient::getErrno
GearmanClient::removeOptions
GearmanClient


Удалить клиентские опции

GearmanClient::jobStatus
GearmanClient::returnCode
GearmanClient
PHP Manual

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Удалить клиентские опции

Описание

public bool GearmanClient::removeOptions ( int $options )

Удаляет одну или несколько клиентских опций.

Список параметров

options

Опции, которые должны быть удалены.

Возвращаемые значения

Всегда возвращает TRUE.

GearmanClient::jobStatus
GearmanClient::returnCode
GearmanClient


Получить последний возвращённый код Gearman

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient
PHP Manual

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Получить последний возвращённый код Gearman

Описание

public int GearmanClient::returnCode ( void )

Возвращает последний возвращённый код Gearman.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Допустимый возвращаемый код Gearman.

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient


Запустить список задач в параллельном режиме

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient
PHP Manual

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Запустить список задач в параллельном режиме

Описание

public bool GearmanClient::runTasks ( void )

Для набора задач, ранее добавленных с помощью  GearmanClient::addTask(),
 GearmanClient::addTaskHigh(),  GearmanClient::addTaskLow(),
 GearmanClient::addTaskBackground(),  GearmanClient::addTaskHighBackground(), или
 GearmanClient::addTaskLowBackground(), этот вызов начинает выполнение
в параллельном режиме.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient


Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient
PHP Manual

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)

Описание

public void GearmanClient::setClientCallback ( callback $callback )

Устанавливает функцию обратного вызова для принятия пакетов данных для задачи. Функция обратного вызова должна принимать единственный параметр - объект GearmanTask.

Замечание:

Этот метод был заменён на GearmanClient::setDataCallback() в версии 0.6.0 расширения Gearman.

Список параметров

callback

Функция или метод, которые должны быть вызваны.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient


Установите функцию, которая будет вызвана по завершении задачи

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient
PHP Manual

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Установите функцию, которая будет вызвана по завершении задачи

Описание

public bool GearmanClient::setCompleteCallback ( callback $callback )

Используется для установки функции, которая будет вызвана, когда задача будет выполнена. Функция обратного вызова должна принимать единственный параметр - объект GearmanTask.

Список параметров

callback

Функция, которая должна быть вызвана.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient


Установить данные приложения

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient
PHP Manual

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Установить данные приложения

Описание

public bool GearmanClient::setContext ( string $context )

Устанавливает произвольную строку для предоставления контекста приложения, которая может быть позже получена с помощью GearmanClient::context().

Список параметров

context

Произвольные данные контекста

Возвращаемые значения

Всегда возвращает TRUE.

Смотрите также

  • GearmanClient::context() - Возвращает контекст приложения

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient


Установить функцию обратного вызова, когда задача ставится в очередь

GearmanClient::setContext
GearmanClient::setData
GearmanClient
PHP Manual

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Установить функцию обратного вызова, когда задача ставится в очередь

Описание

public bool GearmanClient::setCreatedCallback ( string $callback )

Устанавливает функцию, которая будет вызвана, когда задача получена и поставлена в очередь сервером задач Gearman. Функция обратного вызова должна принимать единственный параметр - объект GearmanTask.

Список параметров

callback

Функция, которая должна быть вызвана.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setContext
GearmanClient::setData
GearmanClient


Установить данные приложения (устаревший метод)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient
PHP Manual

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Установить данные приложения (устаревший метод)

Описание

public bool GearmanClient::setData ( string $data )

Устанавливает некоторые произвольные данные приложения, которые впоследствии могут быть извлечены GearmanClient::data().

Замечание:

Этот метод был заменён на GearmanCient::setContext() в версии 0.6.0 расширения Gearman.

Список параметров

data

Возвращаемые значения

Всегда возвращает TRUE.

Смотрите также

  • GearmanClient::data() - Возвращает данные приложения (функция устарела)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient


Callback function when there is a data packet for a task

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient
PHP Manual

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Callback function when there is a data packet for a task

Описание

public bool GearmanClient::setDataCallback ( callback $callback )

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Список параметров

callback

A function or method to call

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient


Set a callback for worker exceptions

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient
PHP Manual

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Set a callback for worker exceptions

Описание

public bool GearmanClient::setExceptionCallback ( callback $callback )

Specifies a function to call when a worker for a task sends an exception.

Список параметров

callback

Function to call when the worker throws an exception

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient


Set callback for job failure

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient
PHP Manual

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Set callback for job failure

Описание

public bool GearmanClient::setFailCallback ( callback $callback )

Sets the callback function to be used when a task does not complete successfully. The function should accept a single argument, a GearmanTask object.

Список параметров

callback

A function to call

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient


Set client options

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient
PHP Manual

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Set client options

Описание

public bool GearmanClient::setOptions ( int $options )

Sets one or more client options.

Список параметров

options

The options to be set

Возвращаемые значения

Always returns TRUE.

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient


Set a callback for collecting task status

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient
PHP Manual

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Set a callback for collecting task status

Описание

public bool GearmanClient::setStatusCallback ( callback $callback )

Sets a callback function used for getting updated status information from a worker. The function should accept a single argument, a GearmanTask object.

Список параметров

callback

A function to call

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient


Set socket I/O activity timeout

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient
PHP Manual

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Set socket I/O activity timeout

Описание

public bool GearmanClient::setTimeout ( int $timeout )

Sets the timeout for socket I/O activity.

Список параметров

timeout

An interval of time in milliseconds

Возвращаемые значения

Always returns TRUE.

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient


Set a callback for worker warnings

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient
PHP Manual

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Set a callback for worker warnings

Описание

public bool GearmanClient::setWarningCallback ( callback $callback )

Sets a function to be called when a worker sends a warning. The callback should accept a single argument, a GearmanTask object.

Список параметров

callback

A function to call

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient


Set a callback for accepting incremental data updates

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient
PHP Manual

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates

Описание

public bool GearmanClient::setWorkloadCallback ( callback $callback )

Sets a function to be called when a worker needs to send back data prior to job completion. A worker can do this when it needs to send updates, send partial results, or flush data during long running jobs. The callback should accept a single argument, a GearmanTask object.

Список параметров

callback

A function to call

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient


Get current socket I/O activity timeout value

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient
PHP Manual

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Get current socket I/O activity timeout value

Описание

public int GearmanClient::timeout ( void )

Returns the timeout in milliseconds to wait for I/O activity.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.

Смотрите также

  • GearmanClient::setTimeout() - Set socket I/O activity timeout

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient


Класс GearmanJob

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

GearmanJob {
/* Методы */
public bool complete ( string $result )
__construct ( void )
public bool data ( string $data )
public bool exception ( string $exception )
public bool fail ( void )
public string functionName ( void )
public string handle ( void )
public int returnCode ( void )
public bool sendComplete ( string $result )
public bool sendData ( string $data )
public bool sendException ( string $exception )
public bool sendFail ( void )
public bool sendStatus ( int $numerator , int $denominator )
public bool sendWarning ( string $warning )
public bool setReturn ( int $gearman_return_t )
public bool status ( int $numerator , int $denominator )
public string unique ( void )
public bool warning ( string $warning )
public string workload ( void )
public int workloadSize ( void )
}

Содержание

  • GearmanJob::complete — Send the result and complete status (deprecated)
  • GearmanJob::__construct — Create a GearmanJob instance
  • GearmanJob::data — Send data for a running job (deprecated)
  • GearmanJob::exception — Send exception for running job (deprecated)
  • GearmanJob::fail — Send fail status (deprecated)
  • GearmanJob::functionName — Get function name
  • GearmanJob::handle — Get the job handle
  • GearmanJob::returnCode — Get last return code
  • GearmanJob::sendComplete — Send the result and complete status
  • GearmanJob::sendData — Send data for a running job
  • GearmanJob::sendException — Send exception for running job (exception)
  • GearmanJob::sendFail — Send fail status
  • GearmanJob::sendStatus — Send status
  • GearmanJob::sendWarning — Send a warning
  • GearmanJob::setReturn — Set a return value
  • GearmanJob::status — Send status (deprecated)
  • GearmanJob::unique — Get the unique identifier
  • GearmanJob::warning — Send a warning (deprecated)
  • GearmanJob::workload — Get workload
  • GearmanJob::workloadSize — Get size of work load
GearmanClient::timeout
GearmanJob::complete
Gearman


Send the result and complete status (deprecated)

GearmanJob
GearmanJob::__construct
GearmanJob
PHP Manual

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Send the result and complete status (deprecated)

Описание

public bool GearmanJob::complete ( string $result )

Sends result data and the complete status update for this job.

Замечание:

This method has been replaced by GearmanJob::sendComplete() in the 0.6.0 release of the Gearman extension.

Список параметров

result

Serialized result data.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value

GearmanJob
GearmanJob::__construct
GearmanJob


Create a GearmanJob instance

GearmanJob::complete
GearmanJob::data
GearmanJob
PHP Manual

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Create a GearmanJob instance

Описание

GearmanJob::__construct ( void )

Creates a GearmanJob instance representing a job the worker is to complete.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A GearmanJob object.

GearmanJob::complete
GearmanJob::data
GearmanJob


Send data for a running job (deprecated)

GearmanJob::__construct
GearmanJob::exception
GearmanJob
PHP Manual

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Send data for a running job (deprecated)

Описание

public bool GearmanJob::data ( string $data )

Sends data to the job server (and any listening clients) for this job.

Замечание:

This method has been replaced by GearmanJob::sendData() in the 0.6.0 release of the Gearman extension.

Список параметров

data

Arbitrary serialized data.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task

GearmanJob::__construct
GearmanJob::exception
GearmanJob


Send exception for running job (deprecated)

GearmanJob::data
GearmanJob::fail
GearmanJob
PHP Manual

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Send exception for running job (deprecated)

Описание

public bool GearmanJob::exception ( string $exception )

Sends the supplied exception when this job is running.

Замечание:

This method has been replaced by GearmanJob::sendException() in the 0.6.0 release of the Gearman extension.

Список параметров

exception

An exception description.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::data
GearmanJob::fail
GearmanJob


Send fail status (deprecated)

GearmanJob::exception
GearmanJob::functionName
GearmanJob
PHP Manual

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Send fail status (deprecated)

Описание

public bool GearmanJob::fail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Замечание:

This method has been replaced by GearmanJob::sendFail() in the 0.6.0 release of the Gearman extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::exception
GearmanJob::functionName
GearmanJob


Get function name

GearmanJob::fail
GearmanJob::handle
GearmanJob
PHP Manual

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Get function name

Описание

public string GearmanJob::functionName ( void )

Returns the function name for this job. This is the function the work will execute to perform the job.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The name of a function.

Смотрите также

  • GearmanTask::function() - Get associated function name (deprecated)

GearmanJob::fail
GearmanJob::handle
GearmanJob


Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob
PHP Manual

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Get the job handle

Описание

public string GearmanJob::handle ( void )

Returns the opaque job handle assigned by the job server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An opaque job handle.

Смотрите также

  • GearmanTask::jobHandle() - Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob


Get last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob
PHP Manual

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Get last return code

Описание

public int GearmanJob::returnCode ( void )

Returns the last return code issued by the job server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A valid Gearman return code.

Смотрите также

  • GearmanTask::returnCode() - Get the last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob


Send the result and complete status

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob
PHP Manual

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Send the result and complete status

Описание

public bool GearmanJob::sendComplete ( string $result )

Sends result data and the complete status update for this job.

Список параметров

result

Serialized result data.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob


Send data for a running job

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob
PHP Manual

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Send data for a running job

Описание

public bool GearmanJob::sendData ( string $data )

Sends data to the job server (and any listening clients) for this job.

Список параметров

data

Arbitrary serialized data.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob


Send exception for running job (exception)

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob
PHP Manual

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Send exception for running job (exception)

Описание

public bool GearmanJob::sendException ( string $exception )

Sends the supplied exception when this job is running.

Список параметров

exception

An exception description.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob


Send fail status

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob
PHP Manual

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Send fail status

Описание

public bool GearmanJob::sendFail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob


Send status

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob
PHP Manual

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Send status

Описание

public bool GearmanJob::sendStatus ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Список параметров

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob


Send a warning

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob
PHP Manual

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Send a warning

Описание

public bool GearmanJob::sendWarning ( string $warning )

Sends a warning for this job while it is running.

Список параметров

warning

A warning messages.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob


Set a return value

GearmanJob::sendWarning
GearmanJob::status
GearmanJob
PHP Manual

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Set a return value

Описание

public bool GearmanJob::setReturn ( int $gearman_return_t )

Sets the return value for this job, indicates how the job completed.

Список параметров

gearman_return_t

A valid Gearman return value.

Возвращаемые значения

Description...

GearmanJob::sendWarning
GearmanJob::status
GearmanJob


Send status (deprecated)

GearmanJob::setReturn
GearmanJob::unique
GearmanJob
PHP Manual

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Send status (deprecated)

Описание

public bool GearmanJob::status ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Замечание:

This method has been replaced by GearmanJob::sendStatus() in the 0.6.0 release of the Gearman extenstion.

Список параметров

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanJob::setReturn
GearmanJob::unique
GearmanJob


Get the unique identifier

GearmanJob::status
GearmanJob::warning
GearmanJob
PHP Manual

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Get the unique identifier

Описание

public string GearmanJob::unique ( void )

Returns the unique identifiter for this job. The identifier is assigned by the client.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An opaque unique identifier.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanTask::uuid() - Get the unique identifier for a task (deprecated)

GearmanJob::status
GearmanJob::warning
GearmanJob


Send a warning (deprecated)

GearmanJob::unique
GearmanJob::workload
GearmanJob
PHP Manual

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Send a warning (deprecated)

Описание

public bool GearmanJob::warning ( string $warning )

Sends a warning for this job while it is running.

Замечание:

This method has been replaced by GearmanJob::sendWarning() in the 0.6.0 release of the Gearman extension.

Список параметров

warning

A warning messages.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status

GearmanJob::unique
GearmanJob::workload
GearmanJob


Get workload

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob
PHP Manual

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Get workload

Описание

public string GearmanJob::workload ( void )

Returns the workload for the job. This is serialized data that is to be processed by the worker.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Serialized data.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanJob::workloadSize() - Get size of work load

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob


Get size of work load

GearmanJob::workload
GearmanTask
GearmanJob
PHP Manual

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Get size of work load

Описание

public int GearmanJob::workloadSize ( void )

Returns the size of the job's work load (the data the worker is to process) in bytes.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The size in bytes.

Смотрите также

  • GearmanJob::workload() - Get workload

GearmanJob::workload
GearmanTask
GearmanJob


Класс GearmanTask

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

GearmanTask {
/* Методы */
__construct ( void )
public GearmanTask create ( void )
public string data ( void )
public int dataSize ( void )
public string function ( void )
public string functionName ( void )
public bool isKnown ( void )
public bool isRunning ( void )
public string jobHandle ( void )
public array recvData ( int $data_len )
public int returnCode ( void )
public int sendData ( string $data )
public int sendWorkload ( string $data )
public int taskDenominator ( void )
public int taskNumerator ( void )
public string unique ( void )
public string uuid ( void )
}

Содержание

  • GearmanTask::__construct — Create a GearmanTask instance
  • GearmanTask::create — Create a task (deprecated)
  • GearmanTask::data — Get data returned for a task
  • GearmanTask::dataSize — Get the size of returned data
  • GearmanTask::function — Get associated function name (deprecated)
  • GearmanTask::functionName — Get associated function name
  • GearmanTask::isKnown — Determine if task is known
  • GearmanTask::isRunning — Test whether the task is currently running
  • GearmanTask::jobHandle — Get the job handle
  • GearmanTask::recvData — Read work or result data into a buffer for a task
  • GearmanTask::returnCode — Get the last return code
  • GearmanTask::sendData — Send data for a task (deprecated)
  • GearmanTask::sendWorkload — Send data for a task
  • GearmanTask::taskDenominator — Get completion percentage denominator
  • GearmanTask::taskNumerator — Get completion percentage numerator
  • GearmanTask::unique — Get the unique identifier for a task
  • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
GearmanJob::workloadSize
GearmanTask::__construct
Gearman


Create a GearmanTask instance

GearmanTask
GearmanTask::create
GearmanTask
PHP Manual

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Create a GearmanTask instance

Описание

GearmanTask::__construct ( void )

Creates a GearmanTask instance representing a task to be submitted to a job server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A GearmanTask object.

GearmanTask
GearmanTask::create
GearmanTask


Create a task (deprecated)

GearmanTask::__construct
GearmanTask::data
GearmanTask
PHP Manual

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Create a task (deprecated)

Описание

public GearmanTask GearmanTask::create ( void )

Returns a new GearmanTask object.

Замечание:

This method was removed in the 0.6.0 version of the Gearman extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A GearmanTask oject или FALSE в случае возникновения ошибки.

GearmanTask::__construct
GearmanTask::data
GearmanTask


Get data returned for a task

GearmanTask::create
GearmanTask::dataSize
GearmanTask
PHP Manual

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Get data returned for a task

Описание

public string GearmanTask::data ( void )

Returns data being returned for a task by a worker.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The serialized data, or FALSE if no data is present.

Смотрите также

  • GearmanTask::dataSize() - Get the size of returned data

GearmanTask::create
GearmanTask::dataSize
GearmanTask


Get the size of returned data

GearmanTask::data
GearmanTask::function
GearmanTask
PHP Manual

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Get the size of returned data

Описание

public int GearmanTask::dataSize ( void )

Returns the size of the data being returned for a task.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The data size, or FALSE if there is no data.

Смотрите также

  • GearmanTask::data() - Get data returned for a task

GearmanTask::data
GearmanTask::function
GearmanTask


Get associated function name (deprecated)

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask
PHP Manual

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Get associated function name (deprecated)

Описание

public string GearmanTask::function ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Замечание:

This method has been replaced by GearmanTask::functionName() in the 0.6.0 release of the Gearman extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A function name.

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask


Get associated function name

GearmanTask::function
GearmanTask::isKnown
GearmanTask
PHP Manual

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Get associated function name

Описание

public string GearmanTask::functionName ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A function name.

GearmanTask::function
GearmanTask::isKnown
GearmanTask


Determine if task is known

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask
PHP Manual

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determine if task is known

Описание

public bool GearmanTask::isKnown ( void )

Gets the status information for whether or not this task is known to the job server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the task is known, FALSE otherwise.

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask


Test whether the task is currently running

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask
PHP Manual

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Test whether the task is currently running

Описание

public bool GearmanTask::isRunning ( void )

Indicates whether or not this task is currently running.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the task is running, FALSE otherwise.

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask


Get the job handle

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask
PHP Manual

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Get the job handle

Описание

public string GearmanTask::jobHandle ( void )

Returns the job handle for this task.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The opaque job handle.

Смотрите также

  • GearmanClient::doJobHandle() - Получить дескриптор выполняющейся задачи

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask


Read work or result data into a buffer for a task

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask
PHP Manual

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Read work or result data into a buffer for a task

Описание

public array GearmanTask::recvData ( int $data_len )

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

data_len

Length of data to be read.

Возвращаемые значения

An array whose first element is the length of data read and the second is the data buffer. Returns FALSE if the read failed.

Смотрите также

  • GearmanTask::sendData() - Send data for a task (deprecated)

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask


Get the last return code

GearmanTask::recvData
GearmanTask::sendData
GearmanTask
PHP Manual

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Get the last return code

Описание

public int GearmanTask::returnCode ( void )

Returns the last Gearman return code for this task.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A valid Gearman return code.

Смотрите также

  • GearmanClient::returnCode() - Получить последний возвращённый код Gearman

GearmanTask::recvData
GearmanTask::sendData
GearmanTask


Send data for a task (deprecated)

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask
PHP Manual

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Send data for a task (deprecated)

Описание

public int GearmanTask::sendData ( string $data )

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

data

Data to send to the worker.

Возвращаемые значения

The length of data sent, or FALSE if the send failed.

Смотрите также

  • GearmanTask::recvData() - Read work or result data into a buffer for a task

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask


Send data for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask
PHP Manual

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Send data for a task

Описание

public int GearmanTask::sendWorkload ( string $data )

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

data

Data to send to the worker.

Возвращаемые значения

The length of data sent, or FALSE if the send failed.

Смотрите также

  • GearmanTask::recvData() - Read work or result data into a buffer for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask


Get completion percentage denominator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask
PHP Manual

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Get completion percentage denominator

Описание

public int GearmanTask::taskDenominator ( void )

Returns the denominator of the percentage of the task that is complete expressed as a fraction.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A number between 0 and 100, or FALSE if cannot be determined.

Смотрите также

  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask


Get completion percentage numerator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask
PHP Manual

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Get completion percentage numerator

Описание

public int GearmanTask::taskNumerator ( void )

Returns the numerator of the percentage of the task that is complete expressed as a fraction.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A number between 0 and 100, or FALSE if cannot be determined.

Смотрите также

  • GearmanTask::taskDenominator() - Get completion percentage denominator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask


Get the unique identifier for a task

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask
PHP Manual

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Get the unique identifier for a task

Описание

public string GearmanTask::unique ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The unique identifier, or FALSE if no identifier is assigned.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask


Get the unique identifier for a task (deprecated)

GearmanTask::unique
GearmanWorker
GearmanTask
PHP Manual

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Get the unique identifier for a task (deprecated)

Описание

public string GearmanTask::uuid ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Замечание:

This method has been replaced by GearmanTask::unique() in the 0.6.0 release of the Gearman extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The unique identifier, or FALSE if no identifier is assigned.

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат
  • GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме

GearmanTask::unique
GearmanWorker
GearmanTask


Класс GearmanWorker

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

GearmanWorker {
/* Методы */
public bool addFunction ( string $function_name , callback $function [, mixed &$context [, int $timeout ]] )
public bool addOptions ( int $option )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ( string $servers = 127.0.0.1:4730 )
public void clone ( void )
__construct ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public int options ( void )
public bool register ( string $function_name [, int $timeout ] )
public bool removeOptions ( int $option )
public int returnCode ( void )
public bool setOptions ( int $option )
public bool setTimeout ( int $timeout )
public int timeout ( void )
public bool unregister ( string $function_name )
public bool unregisterAll ( void )
public bool wait ( void )
public bool work ( void )
}

Содержание

  • GearmanWorker::addFunction — Register and add callback function
  • GearmanWorker::addOptions — Add worker options
  • GearmanWorker::addServer — Add a job server
  • GearmanWorker::addServers — Add job servers
  • GearmanWorker::clone — Create a copy of the worker
  • GearmanWorker::__construct — Create a GearmanWorker instance
  • GearmanWorker::echo — Test job server response
  • GearmanWorker::error — Get the last error encountered
  • GearmanWorker::getErrno — Get errno
  • GearmanWorker::options — Get worker options
  • GearmanWorker::register — Register a function with the job server
  • GearmanWorker::removeOptions — Remove worker options
  • GearmanWorker::returnCode — Get last Gearman return code
  • GearmanWorker::setOptions — Set worker options
  • GearmanWorker::setTimeout — Set socket I/O activity timeout
  • GearmanWorker::timeout — Get socket I/O activity timeout
  • GearmanWorker::unregister — Unregister a function name with the job servers
  • GearmanWorker::unregisterAll — Unregister all function names with the job servers
  • GearmanWorker::wait — Wait for activity from one of the job servers
  • GearmanWorker::work — Wait for and perform jobs
GearmanTask::uuid
GearmanWorker::addFunction
Gearman


Register and add callback function

GearmanWorker
GearmanWorker::addOptions
GearmanWorker
PHP Manual

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Register and add callback function

Описание

public bool GearmanWorker::addFunction ( string $function_name , callback $function [, mixed &$context [, int $timeout ]] )

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Список параметров

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", &$count);

# start the worker
while ($worker->work());

function reverse_cb($job, $count)
{
  $count++;
  return "$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

Смотрите также

  • GearmanClient::do() - Выполняет одну задачу и возвращает результат

GearmanWorker
GearmanWorker::addOptions
GearmanWorker


Add worker options

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker
PHP Manual

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Add worker options

Описание

public bool GearmanWorker::addOptions ( int $option )

Adds one or more options to the options previously set.

Список параметров

option

The options to be added

Возвращаемые значения

Always returns TRUE.

Смотрите также

  • GearmanWorker::options() - Get worker options
  • GearmanClient::setOptions() - Set client options
  • GearmanClient::removeOptions() - Удалить клиентские опции

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker


Add a job server

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker
PHP Manual

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Add a job server

Описание

public bool GearmanWorker::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.

Список параметров

host

Имя хоста сервера задач.

port

Порт сервера задач.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Add alternate Gearman servers

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Смотрите также

  • GearmanWorker::addServers() - Add job servers

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker


Add job servers

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker
PHP Manual

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Add job servers

Описание

public bool GearmanWorker::addServers ( string $servers = 127.0.0.1:4730 )

Adds one or more job servers to this worker. These go into a list of servers that can be used to run jobs. No socket I/O happens here.

Список параметров

servers

A comma separated list of job servers in the format host:port. If no port is specified, it defaults to 4730.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Add two job servers

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Смотрите также

  • GearmanWorker::addServer() - Add a job server

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker


Create a copy of the worker

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker
PHP Manual

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Create a copy of the worker

Описание

public void GearmanWorker::clone ( void )

Creates a copy of the worker.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A GearmanWorker object

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker


Create a GearmanWorker instance

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker
PHP Manual

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Create a GearmanWorker instance

Описание

GearmanWorker::__construct ( void )

Creates a GearmanWorker instance representing a worker that connects to the job server and accepts tasks to run.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A GearmanWorker object

Смотрите также

  • GearmanWorker::clone() - Create a copy of the worker

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker


Test job server response

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker
PHP Manual

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Test job server response

Описание

public bool GearmanWorker::echo ( string $workload )

Sends data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly.

Список параметров

workload

Arbitrary serialized data

Возвращаемые значения

Standard Gearman return value.

Смотрите также

  • GearmanClient::echo() - Отправляет данные всем серверам заданий, чтобы проверить отклик

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker


Get the last error encountered

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker
PHP Manual

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Get the last error encountered

Описание

public string GearmanWorker::error ( void )

Returns an error string for the last error encountered.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An error string.

Смотрите также

  • GearmanWorker::getErrno() - Get errno

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker


Get errno

GearmanWorker::error
GearmanWorker::options
GearmanWorker
PHP Manual

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Get errno

Описание

public int GearmanWorker::getErrno ( void )

Returns the value of errno in the case of a GEARMAN_ERRNO return value.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A valid errno.

Смотрите также

  • GearmanWorker::error() - Get the last error encountered

GearmanWorker::error
GearmanWorker::options
GearmanWorker


Get worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker
PHP Manual

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Get worker options

Описание

public int GearmanWorker::options ( void )

Gets the options previously set for the worker.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The options currently set for the worker.

Смотрите также

  • GearmanWorker::setOptions() - Set worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker


Register a function with the job server

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker
PHP Manual

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Register a function with the job server

Описание

public bool GearmanWorker::register ( string $function_name [, int $timeout ] )

Registers a function name with the job server with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. If the timeout is set to zero, there is no timeout.

Список параметров

function_name

The name of a function to register with the job server

timeout

An interval of time in seconds

Возвращаемые значения

A standard Gearman return value.

Смотрите также

  • GearmanWorker::unregister() - Unregister a function name with the job servers
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker


Remove worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker
PHP Manual

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Remove worker options

Описание

public bool GearmanWorker::removeOptions ( int $option )

Removes (unsets) one or more worker options.

Список параметров

option

The options to be removed (unset)

Возвращаемые значения

Always returns TRUE.

Смотрите также

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::setOptions() - Set worker options
  • GearmanWorker::addOptions() - Add worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker


Get last Gearman return code

GearmanWorker::removeOptions
GearmanWorker::setOptions
GearmanWorker
PHP Manual

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Get last Gearman return code

Описание

public int GearmanWorker::returnCode ( void )

Returns the last Gearman return code.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A valid Gearman return code.

Смотрите также

  • GearmanWorker::error() - Get the last error encountered
  • GearmanWorker::getErrno() - Get errno

GearmanWorker::removeOptions
GearmanWorker::setOptions
GearmanWorker


Set worker options

GearmanWorker::returnCode
GearmanWorker::setTimeout
GearmanWorker
PHP Manual

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Set worker options

Описание

public bool GearmanWorker::setOptions ( int $option )

Sets one or more options to the supplied value.

Список параметров

option

The options to be set

Возвращаемые значения

Always returns TRUE.

Смотрите также

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::addOptions() - Add worker options
  • GearmanWorker::removeOptions() - Remove worker options
  • GearmanClient::setOptions() - Set client options

GearmanWorker::returnCode
GearmanWorker::setTimeout
GearmanWorker


Set socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker
PHP Manual

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Set socket I/O activity timeout

Описание

public bool GearmanWorker::setTimeout ( int $timeout )

Sets the interval of time to wait for socket I/O activity.

Список параметров

timeout

An interval of time in milliseconds. A negative value indicates an infinite timeout.

Возвращаемые значения

Always returns TRUE.

Примеры

Пример #1 A simple worker with a 5 second timeout

<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

# Set the timeout to 5 seconds
$gmworker->setTimeout(5000);

echo "Waiting for job...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
  if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
  {
    # Normally one would want to do something useful here ...
    echo "Timeout. Waiting for next job...\n";
    continue;
  }

  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

echo "Done\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Running the worker with no submitted jobs will generate output that looks like the following:

Starting
Waiting for job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...

Смотрите также

  • GearmanWorker::timeout() - Get socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker


Get socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker
PHP Manual

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Get socket I/O activity timeout

Описание

public int GearmanWorker::timeout ( void )

Returns the current time to wait, in milliseconds, for socket I/O activity.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A time period is milliseconds. A negative value indicates an infinite timeout.

Смотрите также

  • GearmanWorker::setTimeout() - Set socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker


Unregister a function name with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker
PHP Manual

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Unregister a function name with the job servers

Описание

public bool GearmanWorker::unregister ( string $function_name )

Unregisters a function name with the job servers ensuring that no more jobs (for that function) are sent to this worker.

Список параметров

function_name

The name of a function to register with the job server

Возвращаемые значения

A standard Gearman return value.

Смотрите также

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker


Unregister all function names with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker
PHP Manual

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Unregister all function names with the job servers

Описание

public bool GearmanWorker::unregisterAll ( void )

Unregisters all previously registered functions, ensuring that no more jobs are sent to this worker.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A standard Gearman return value.

Смотрите также

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregister() - Unregister a function name with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker


Wait for activity from one of the job servers

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker
PHP Manual

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Wait for activity from one of the job servers

Описание

public bool GearmanWorker::wait ( void )

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Waiting for next job...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # We are not connected to any servers, so wait a bit before
      # trying to reconnect.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Смотрите также

  • GearmanWorker::work() - Wait for and perform jobs

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker


Wait for and perform jobs

GearmanWorker::wait
Gopher
GearmanWorker
PHP Manual

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Wait for and perform jobs

Описание

public bool GearmanWorker::work ( void )

Waits for a job to be assigned and then calls the appropriate callback function. Issues an E_WARNING with the last Gearman error if the return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 GearmanWorker::work() example

<?php

# create the worker
$worker = new GearmanWorker();

# add the default job server (localhost)
$worker->addServer();

# add the reverse function
$worker->addFunction("reverse", "my_reverse_function");

# start te worker listening for job submissions
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}

?>

Смотрите также

  • GearmanWorker::addFunction() - Register and add callback function

GearmanWorker::wait
Gopher
GearmanWorker


Net Gopher

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic Example
  • Gopher Функции
    • gopher_parsedir — Translate a gopher formatted directory entry into an associative array.
GearmanWorker::work
Введение
Другие службы


Введение

The gopher protocol, as defined by » RFC 1436, is generally considered the ancestor of the modern HTTP protocol. However, gopher was also intended to provide references to non-gopher resources including telnet, wais, nntp, and even http. This extension adds gopher support to PHP's URL Wrappers, and provides a helper function gopher_parsedir() to make sense of gopher formatted directory listings.

Gopher
Установка и настройка
Gopher


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Gopher


Установка

Prerequisite: PHP 4.3.0 or higher.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/net_gopher

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Net_Gopher constants
Constant | Value | Description
GOPHER_DOCUMENT | 0 | Standard text/plain document.
GOPHER_DIRECTORY | 1 | A resource containing a gopher formatted directory listing.
GOPHER_BINHEX | 4 | A BinHex encoded binary file.
GOPHER_DOSBINARY | 5 | A DOS formatted binary archive.
GOPHER_UUENCODED | 6 | A UUEncoded file.
GOPHER_BINARY | 9 | A generic binary file.
GOPHER_INFO | 255 | An Informational entry
GOPHER_HTTP | 254 | A reference to an HTTP resource.
GOPHER_UNKNOWN | -1 | An unrecognized entry.
Типы ресурсов
Примеры
Gopher


Примеры

Содержание

  • Basic Example
Предопределенные константы
Basic Example
Gopher


Basic Example

<?php
readfile("gopher://gopher.example.com/somedocument");
?>
Примеры
Gopher Функции
Примеры


Gopher Функции

Содержание

  • gopher_parsedir — Translate a gopher formatted directory entry into an associative array.
Basic Example
gopher_parsedir
Gopher


Translate a gopher formatted directory entry into an associative array.

Gopher Функции
Gupnp
Gopher Функции
PHP Manual

gopher_parsedir

(PECL net_gopher >= 0.1)

gopher_parsedir — Translate a gopher formatted directory entry into an associative array.

Описание

array gopher_parsedir ( string $dirent )

gopher_parsedir() parses a gopher formatted directory entry into an associative array.

While gopher returns text/plain documents for actual document requests. A request to a directory (such as /) will return specially encoded series of lines with each line being one directory entry or information line.

Список параметров

dirent

The directory entry.

Возвращаемые значения

Returns an associative array whose components are:

  • type - One of the GOPHER_XXX constants.
  • title - The name of the resource.
  • path - The path of the resource.
  • host - The domain name of the host that has this document (or directory).
  • port - The port at which to connect on host.

Upon failure, the additional data entry of the returned array will hold the parsed line.

Примеры

Пример #1 Hypothetical output from gopher://gopher.example.com/

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

In the example above, the root directory at gopher.example.com knows about one DOCUMENT identified by 0 located at gopher://gopher.example.com:70/allabout.txt. It also knows about two other directory (which have their own listing files) at gopher://gopher.exmaple.com:70/stories and at gopher://gopher.ejemplo.co.es:70/. In addition there is a binary file, a link to an HTTP url, and several informative lines.

By passing each line of the directory listing into gopher_parsedir(), an associative array is formed containing a parsed out version of the data.

Пример #2 Using gopher_parsedir()

<?php
$directory = file("gopher://gopher.example.com");

foreach($directory as $dirent) {
    print_r(gopher_parsedir($dirent));
}
?>

Результат выполнения данного примера:

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

Gopher Функции
Gupnp
Gopher Функции


Gupnp

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Browsing devices and services
    • Implementing the BinaryLight device
  • Gupnp Функции
    • gupnp_context_get_host_ip — Get the IP address
    • gupnp_context_get_port — Get the port
    • gupnp_context_get_subscription_timeout — Get the event subscription timeout
    • gupnp_context_host_path — Start hosting
    • gupnp_context_new — Create a new context
    • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
    • gupnp_context_timeout_add — Sets a function to be called at regular intervals
    • gupnp_context_unhost_path — Stop hosting
    • gupnp_control_point_browse_start — Start browsing
    • gupnp_control_point_browse_stop — Stop browsing
    • gupnp_control_point_callback_set — Set control point callback
    • gupnp_control_point_new — Create a new control point
    • gupnp_device_action_callback_set — Set device callback function
    • gupnp_device_info_get_service — Get the service with type
    • gupnp_device_info_get — Get info of root device
    • gupnp_root_device_get_available — Check whether root device is available
    • gupnp_root_device_get_relative_location — Get the relative location of root device.
    • gupnp_root_device_new — Create a new root device
    • gupnp_root_device_set_available — Set whether or not root_device is available
    • gupnp_root_device_start — Start main loop
    • gupnp_root_device_stop — Stop main loop
    • gupnp_service_action_get — Retrieves the specified action arguments
    • gupnp_service_action_return_error — Return error code
    • gupnp_service_action_return — Return succesfully
    • gupnp_service_action_set — Sets the specified action return values
    • gupnp_service_freeze_notify — Freeze new notifications
    • gupnp_service_info_get_introspection — Get resource introspection of service
    • gupnp_service_info_get — Get full info of service
    • gupnp_service_introspection_get_state_variable — Returns the state variable data
    • gupnp_service_notify — Notifies listening clients
    • gupnp_service_proxy_action_get — Send action to the service and get value
    • gupnp_service_proxy_action_set — Send action to the service and set value
    • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
    • gupnp_service_proxy_callback_set — Set service proxy callback for signal
    • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify — Cancels the variable change notification
    • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
    • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
    • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
gopher_parsedir
Введение
Другие службы


Введение

GUPnP is an object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. This extension wraps GUPnP and provides similar API. All sources and additional documentation can be obtained from the » official site

Gupnp
Установка и настройка
Gupnp


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Gupnp


Требования

In order to use PECL/Gupnp functions you need to install the » gUPnP library version 0.12.7 or greater. It also requires glib-2.0, gssdp-1.0, libsoup-2.4 or greater for all of them.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/gupnp

Замечание: If ./configure is having trouble finding the libgupnp files (for example, it was installed into a custom prefix directory), use ./configure --with-gupnp=$PREFIX, where $PREFIX is installation prefix of libgupnp.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

GUPNP_TYPE_BOOLEAN (integer)
GUPNP_TYPE_INT (integer)
GUPNP_TYPE_LONG (integer)
GUPNP_TYPE_DOUBLE (integer)
GUPNP_TYPE_FLOAT (integer)
GUPNP_TYPE_STRING (integer)
GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_ACTION_INVOKED (integer)
GUPNP_SIGNAL_NOTIFY_FAILED (integer)
GUPNP_SIGNAL_SUBSCRIPTION_LOST (integer)
GUPNP_CONTROL_ERROR_INVALID_ACTION (integer)
GUPNP_CONTROL_ERROR_INVALID_ARGS (integer)
GUPNP_CONTROL_ERROR_OUT_OF_SYNC (integer)
GUPNP_CONTROL_ERROR_ACTION_FAILED (integer)

Типы ресурсов
Примеры
Gupnp


Примеры

Содержание

  • Browsing devices and services
  • Implementing the BinaryLight device
Предопределенные константы
Browsing devices and services
Gupnp


Browsing devices and services

This example shows how to obtain information about all devices and services. It starts an infinite loop (use CLI), and if any of available devices or services are found, the proper callback function will be invoked.

Пример #1 Search for all UPnP devices and services.

<?php

/* Callback for available device */
function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Callback for available service */
function service_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_service_info_get($proxy);

    $type = $info['service_type'];
    $location = $info['location'];

    printf("Service available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

/* Set callbacks */
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, 'service_proxy_available_cb');

/* Start for browsing (infinite loop, hit Ctrl-C to interrupt) */
gupnp_control_point_browse_start($cp);

?>

Примеры
Implementing the BinaryLight device
Примеры


Implementing the BinaryLight device

This is an example of UPnP device/service, implementing the BinaryLight device and SwitchPower services to emulate a light switch.

The user interface was purposely simplified in order to show basic concepts and methods.

Пример #1 Implementing light server

<?php

/* SetTarget */
function set_target_cb($service, $action, $arg)
{
    /* Get the new target value */
    $target = gupnp_service_action_get($action, 'NewTargetValue', GUPNP_TYPE_BOOLEAN);

    /* If the new target doesn't match the current status, change the status and
       emit a notification that the status has changed. */
    if ($target != $GLOBALS['status']) {
        $GLOBALS['status'] = $target;
        gupnp_service_notify($service, 'Status', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
        printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");
    }

    /* Return success to the client */
    gupnp_service_action_return($action);
}

/* GetTarget */
function get_target_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'RetTargetValue', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* GetStatus */
function get_status_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'ResultStatus', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* By default the light is off */
$GLOBALS['status'] = false;
printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Host the directory that contains device and service description files */
gupnp_context_host_path($context, "./web", "");

/* Create root device */
$location = "/BinaryLight.xml";
$dev = gupnp_root_device_new($context, $location);
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

/* Set callback for action GetStatus */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetStatus",
    "get_status_cb", "action data, GetStatus");

/* Set callback for action GetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetTarget",
    "get_target_cb", "action data, GetTarget");

/* Set callback for action SetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "SetTarget",
    "set_target_cb", "action data, SetTarget");

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Пример #2 Implementing light client

<?php

function service_proxy_available_cb($proxy, $arg)
{
    $mode = $arg['mode'];

    printf("Set subscribed\n");
    gupnp_service_proxy_set_subscribed($proxy, true);

    /* Add notify if status will be changed */
    if (!gupnp_service_proxy_add_notify($proxy, "Status",
            GUPNP_TYPE_BOOLEAN, "status_changed_cb", NULL)) {
        printf("Failed to add notify\n");
    }

    if ($mode == 'TOGGLE') {
        /* We're toggling, so first fetch the current status */
        $target = gupnp_service_proxy_action_get($proxy, 'GetStatus', 'ResultStatus', GUPNP_TYPE_BOOLEAN);

        /* And then toggle it */
        $target = ! $target;
    } else {
        /* Mode is a boolean, so the target is the mode thanks to our well chosen
           enumeration values. */
        $target = ($mode == 'ON') ? true : false;
    }

    /* Set the target */
    if (!gupnp_service_proxy_action_set($proxy, 'SetTarget', 'NewTargetValue', $target, GUPNP_TYPE_BOOLEAN)) {
        printf("Cannot set switch\n");
    } else {
        printf("Set switch to %s.\n", $target ? "on" : "off");
    }

    /* Stop browsing */
    gupnp_control_point_browse_stop($arg['cp']);
}

function status_changed_cb($variable, $value, $arg)
{
    printf("Status has been changed\n");
    printf("\tvariable name: %s\n", $variable);
    printf("\tvalue: %s\n", (int)$value);
    printf("\n");
}

/* Check and parse command line arguments */
if (count($argv) != 2) {
    printf("Usage: light-client.php [on|off|toggle]\n");
    exit(-1);
}

if ($argv[1] == "on") {
    $mode = 'ON';
} elseif ($argv[1] == "off") {
    $mode = 'OFF';
} elseif ($argv[1] == "toggle") {
    $mode = 'TOGGLE';
} else {
    usage ();
    exit(-1);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Create the control point, searching for SwitchPower services */
$cp = gupnp_control_point_new ($context,
        "urn:schemas-upnp-org:service:SwitchPower:1");

/* Connect to the service-found callback */
$cb = "service_proxy_available_cb";
$arg = array('mode' => $mode, 'cp' => $cp);
gupnp_control_point_callback_set($cp, GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, $cb, $arg);

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Browsing devices and services
Gupnp Функции
Примеры


Gupnp Функции

Содержание

  • gupnp_context_get_host_ip — Get the IP address
  • gupnp_context_get_port — Get the port
  • gupnp_context_get_subscription_timeout — Get the event subscription timeout
  • gupnp_context_host_path — Start hosting
  • gupnp_context_new — Create a new context
  • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
  • gupnp_context_timeout_add — Sets a function to be called at regular intervals
  • gupnp_context_unhost_path — Stop hosting
  • gupnp_control_point_browse_start — Start browsing
  • gupnp_control_point_browse_stop — Stop browsing
  • gupnp_control_point_callback_set — Set control point callback
  • gupnp_control_point_new — Create a new control point
  • gupnp_device_action_callback_set — Set device callback function
  • gupnp_device_info_get_service — Get the service with type
  • gupnp_device_info_get — Get info of root device
  • gupnp_root_device_get_available — Check whether root device is available
  • gupnp_root_device_get_relative_location — Get the relative location of root device.
  • gupnp_root_device_new — Create a new root device
  • gupnp_root_device_set_available — Set whether or not root_device is available
  • gupnp_root_device_start — Start main loop
  • gupnp_root_device_stop — Stop main loop
  • gupnp_service_action_get — Retrieves the specified action arguments
  • gupnp_service_action_return_error — Return error code
  • gupnp_service_action_return — Return succesfully
  • gupnp_service_action_set — Sets the specified action return values
  • gupnp_service_freeze_notify — Freeze new notifications
  • gupnp_service_info_get_introspection — Get resource introspection of service
  • gupnp_service_info_get — Get full info of service
  • gupnp_service_introspection_get_state_variable — Returns the state variable data
  • gupnp_service_notify — Notifies listening clients
  • gupnp_service_proxy_action_get — Send action to the service and get value
  • gupnp_service_proxy_action_set — Send action to the service and set value
  • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
  • gupnp_service_proxy_callback_set — Set service proxy callback for signal
  • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
  • gupnp_service_proxy_remove_notify — Cancels the variable change notification
  • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
  • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
  • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
Implementing the BinaryLight device
gupnp_context_get_host_ip
Gupnp


Get the IP address

Gupnp Функции
gupnp_context_get_port
Gupnp Функции
PHP Manual

gupnp_context_get_host_ip

(PECL gupnp >= 0.1.0)

gupnp_context_get_host_ip — Get the IP address

Описание

string gupnp_context_get_host_ip ( resource $context )

Get the IP address we advertise ourselves as using.

Список параметров

context

A context identifier, returned by gupnp_context_new().

Возвращаемые значения

Returns the IP address for the current context and FALSE on error.

Примеры

Пример #1 Create new UPnP context and get IP address of the host

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get IP address for the UPnP context */
$ip = gupnp_context_get_host_ip($context);
echo $ip;

?>

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_port() - Get the port

Gupnp Функции
gupnp_context_get_port
Gupnp Функции


Get the port

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Функции
PHP Manual

gupnp_context_get_port

(PECL gupnp >= 0.1.0)

gupnp_context_get_port — Get the port

Описание

int gupnp_context_get_port ( resource $context )

Get the port that the SOAP server is running on.

Список параметров

context

A context identifier, returned by gupnp_context_new().

Возвращаемые значения

Returns the port number for the current context and FALSE on error.

Примеры

Пример #1 Create new UPnP context and get port number

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get the port number for the UPnP context */
$port = gupnp_context_get_port($context);
echo $port;

?>

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_host_ip() - Get the IP address

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Функции


Get the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Функции
PHP Manual

gupnp_context_get_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_get_subscription_timeout — Get the event subscription timeout

Описание

int gupnp_context_get_subscription_timeout ( resource $context )

Get the event subscription timeout (in seconds), or 0 meaning there is no timeout.

Список параметров

context

A context identifier, returned by gupnp_context_new().

Возвращаемые значения

The event subscription timeout in seconds.

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_set_subscription_timeout() - Sets the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Функции


Start hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Функции
PHP Manual

gupnp_context_host_path

(PECL gupnp >= 0.1.0)

gupnp_context_host_path — Start hosting

Описание

bool gupnp_context_host_path ( resource $context , string $local_path , string $server_path )

Start hosting local_path at server_path. Files with the path local_path.LOCALE (if they exist) will be served up when LOCALE is specified in the request's Accept-Language header.

Список параметров

context

A context identifier, returned by gupnp_context_new().

local_path

Path to the local file or folder to be hosted.

server_path

Web server path where local_path should be hosted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create new UPnP context and set host path

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Host current directory */
gupnp_context_host_path($context, "./web", "");

?>

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_unhost_path() - Stop hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Функции


Create a new context

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Функции
PHP Manual

gupnp_context_new

(PECL gupnp >= 0.1.0)

gupnp_context_new — Create a new context

Описание

resource gupnp_context_new ([ string $host_ip [, int $port = 0 ]] )

Create a new context with the specified host_ip and port.

Список параметров

host_ip

The local host's IP address, or NULL to use the IP address of the first non-loopback network interface.

port

Port to run on, or 0 if you don't care what port is used.

Возвращаемые значения

A context identifier.

Примеры

Пример #1 Create new UPnP context

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

?>

Ошибки

Issues E_WARNING with unable to create context.

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Функции


Sets the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Функции
PHP Manual

gupnp_context_set_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_set_subscription_timeout — Sets the event subscription timeout

Описание

void gupnp_context_set_subscription_timeout ( resource $context , int $timeout )

Sets the event subscription timeout (in seconds) to time out. Note that any client side subscriptions will automatically be renewed.

Список параметров

context

A context identifier, returned by gupnp_context_new().

timeout

The event subscription timeout in seconds. Use 0 if you don't want subscriptions to time out.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_subscription_timeout() - Get the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Функции


Sets a function to be called at regular intervals

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Функции
PHP Manual

gupnp_context_timeout_add

(PECL gupnp >= 0.1.0)

gupnp_context_timeout_add — Sets a function to be called at regular intervals

Описание

bool gupnp_context_timeout_add ( resource $context , int $timeout , mixed $callback [, mixed $arg ] )

Sets a function to be called at regular intervals.

Список параметров

context

A context identifier, returned by gupnp_context_new().

timeout

A timeout in miliseconds.

callback

The callback function calling every timeout period of time. Typically, callback function takes on arg parameter.

arg

User data for callback.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create new UPnP context and set callback

<?php

$user_data = "user data";

function timeout_cb($arg)
{
    printf("Call timeout_cb, user data: '%s'", $arg);
    return true;
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$dev = gupnp_root_device_new($context, "/devicedesc.xml");

/* Set callback for timeout */
gupnp_context_timeout_add($context, 5000, "timeout_cb", $user_data);

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Ошибки

Issues E_WARNING with not valid callback function.

Смотрите также

  • gupnp_context_new() - Create a new context

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Функции


Stop hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Функции
PHP Manual

gupnp_context_unhost_path

(PECL gupnp >= 0.1.0)

gupnp_context_unhost_path — Stop hosting

Описание

bool gupnp_context_unhost_path ( resource $context , string $server_path )

Stop hosting the file or folder at server_path.

Список параметров

context

A context identifier, returned by gupnp_context_new().

server_path

Web server path where the file or folder is hosted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_context_new() - Create a new context
  • gupnp_context_host_path() - Start hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Функции


Start browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Функции
PHP Manual

gupnp_control_point_browse_start

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_start — Start browsing

Описание

bool gupnp_control_point_browse_start ( resource $cpoint )

Start the search and calls user-defined callback.

Список параметров

cpoint

A control point identifier, returned by gupnp_control_point_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Смотрите также

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_stop() - Stop browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Функции


Stop browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Функции
PHP Manual

gupnp_control_point_browse_stop

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_stop — Stop browsing

Описание

bool gupnp_control_point_browse_stop ( resource $cpoint )

Stop the search and calls user-defined callback.

Список параметров

cpoint

A control point identifier, returned by gupnp_control_point_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Функции


Set control point callback

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Функции
PHP Manual

gupnp_control_point_callback_set

(PECL gupnp >= 0.1.0)

gupnp_control_point_callback_set — Set control point callback

Описание

bool gupnp_control_point_callback_set ( resource $cpoint , int $signal , mixed $callback [, mixed $arg ] )

Set control point callback function for signal.

Список параметров

cpoint

A control point identifier, returned by gupnp_control_point_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE
Emitted whenever a new device has become available.
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE
Emitted whenever a device is not available any more.
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE
Emitted whenever a new service has become available.
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE
Emitted whenever a service is not available any more.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. The proxy parameter's identifier being the first, and the arg second.

arg

User data for callback.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Ошибки

Issues E_WARNING with not valid callback function.

Смотрите также

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Функции


Create a new control point

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Функции
PHP Manual

gupnp_control_point_new

(PECL gupnp >= 0.1.0)

gupnp_control_point_new — Create a new control point

Описание

resource gupnp_control_point_new ( resource $context , string $target )

Create a new control point with the specified target.

Список параметров

context

A context identifier, returned by gupnp_context_new().

target

The search target. target should be a service or device name, such as urn:schemas-upnp-org:service:WANIPConnection:1 or urn:schemas-upnp-org:device:MediaRenderer:1.

Возвращаемые значения

A control point identifier.

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Функции


Set device callback function

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Функции
PHP Manual

gupnp_device_action_callback_set

(PECL gupnp >= 0.1.0)

gupnp_device_action_callback_set — Set device callback function

Описание

bool gupnp_device_action_callback_set ( resource $root_device , int $signal , string $action_name , mixed $callback [, mixed $arg ] )

Set device callback function for signal and action.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_ACTION_INVOKED
Emitted whenever an action is invoked. Handler should process action and must call either gupnp_service_action_return() or gupnp_service_action_return_error().
GUPNP_SIGNAL_NOTIFY_FAILED
Emitted whenever notification of a client fails.

action_name

The name of action.

callback

The callback function for the certain signal. Typically, callback function takes on three parameters. The service parameter's identifier being the first, action parameter's identifier (in case GUPNP_SIGNAL_ACTION_INVOKED signal) or error parameter's message (in case GUPNP_SIGNAL_NOTIFY_FAILED signal) being the second, and the arg is third.

arg

User data for callback.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Issues E_WARNING either with not valid callback function or with not valid signal.

Смотрите также

  • gupnp_root_device_new() - Create a new root device

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Функции


Get the service with type

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Функции
PHP Manual

gupnp_device_info_get_service

(PECL gupnp >= 0.1.0)

gupnp_device_info_get_service — Get the service with type

Описание

resource gupnp_device_info_get_service ( resource $root_device , string $type )

Get the service with type or false if no such device was found.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

type

The type of the service to be retrieved.

Возвращаемые значения

A service identifier.

Примеры

Пример #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

/* Set root device is available */
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

?>

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Функции


Get info of root device

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Функции
PHP Manual

gupnp_device_info_get

(PECL gupnp >= 0.1.0)

gupnp_device_info_get — Get info of root device

Описание

array gupnp_device_info_get ( resource $root_device )

Get info of root device.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

Возвращаемые значения

Return array wich contains the information of the root device (like location, url, udn and etc).

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Функции


Check whether root device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Функции
PHP Manual

gupnp_root_device_get_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_available — Check whether root device is available

Описание

bool gupnp_root_device_get_available ( resource $root_device )

Get whether or not root_device is available (announcing its presence).

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_root_device_set_available() - Set whether or not root_device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Функции


Get the relative location of root device.

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Функции
PHP Manual

gupnp_root_device_get_relative_location

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_relative_location — Get the relative location of root device.

Описание

string gupnp_root_device_get_relative_location ( resource $root_device )

Get the relative location of root device.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

Возвращаемые значения

The relative location of root device

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Функции


Create a new root device

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Функции
PHP Manual

gupnp_root_device_new

(PECL gupnp >= 0.1.0)

gupnp_root_device_new — Create a new root device

Описание

resource gupnp_root_device_new ( resource $context , string $location , string $description_dir )

Create a new root device, automatically downloading and parsing location.

Список параметров

context

A context identifier, returned by gupnp_context_new().

location

Location of the description file for this device, relative to the HTTP root

Возвращаемые значения

A root device identifier.

Примеры

Пример #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

?>

Смотрите также

  • gupnp_root_device_set_available() - Set whether or not root_device is available
  • gupnp_root_device_start() - Start main loop
  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Функции


Set whether or not root_device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Функции
PHP Manual

gupnp_root_device_set_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_set_available — Set whether or not root_device is available

Описание

bool gupnp_root_device_set_available ( resource $root_device , bool $available )

Controls whether or not root_device is available (announcing its presence).

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

available

Set TRUE if root_device should be available.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_root_device_get_available() - Check whether root device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Функции


Start main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Функции
PHP Manual

gupnp_root_device_start

(PECL gupnp >= 0.1.0)

gupnp_root_device_start — Start main loop

Описание

bool gupnp_root_device_start ( resource $root_device )

Start root server's main loop.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Функции


Stop main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Функции
PHP Manual

gupnp_root_device_stop

(PECL gupnp >= 0.1.0)

gupnp_root_device_stop — Stop main loop

Описание

bool gupnp_root_device_stop ( resource $root_device )

Stop root server's main loop.

Список параметров

root_device

A root device identifier, returned by gupnp_root_device_new().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_root_device_start() - Start main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Функции


Retrieves the specified action arguments

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Функции
PHP Manual

gupnp_service_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_action_get — Retrieves the specified action arguments

Описание

mixed gupnp_service_action_get ( resource $action , string $name , int $type )

Retrieves the specified action arguments.

Список параметров

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Возвращаемые значения

The value of the variable.

Ошибки

Issues E_WARNING with not correctly defined type of the variable.

Смотрите также

  • gupnp_service_action_set() - Sets the specified action return values

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Функции


Return error code

gupnp_service_action_get
gupnp_service_action_return
Gupnp Функции
PHP Manual

gupnp_service_action_return_error

(PECL gupnp >= 0.1.0)

gupnp_service_action_return_error — Return error code

Описание

bool gupnp_service_action_return_error ( resource $action , int $error_code [, string $error_description ] )

Return error code.

Список параметров

action

A service action identifier.

error_code

The error code. Signal can be one of the following values or user defined:

GUPNP_CONTROL_ERROR_INVALID_ACTION
The action name was invalid.
GUPNP_CONTROL_ERROR_INVALID_ARGS
The action arguments were invalid.
GUPNP_CONTROL_ERROR_OUT_OF_SYNC
Out of sync (deprecated).
GUPNP_CONTROL_ERROR_ACTION_FAILED
The action failed.

error_description

The error description.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_action_return() - Return succesfully

gupnp_service_action_get
gupnp_service_action_return
Gupnp Функции


Return succesfully

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Функции
PHP Manual

gupnp_service_action_return

(PECL gupnp >= 0.1.0)

gupnp_service_action_return — Return succesfully

Описание

bool gupnp_service_action_return ( resource $action )

Return succesfully.

Список параметров

action

A service action identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_action_return_error() - Return error code

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Функции


Sets the specified action return values

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Функции
PHP Manual

gupnp_service_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_action_set — Sets the specified action return values

Описание

bool gupnp_service_action_set ( resource $action , string $name , int $type , mixed $value )

Sets the specified action return values.

Список параметров

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable to retrieve.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Issues E_WARNING with neither not correctly defined type of the variable or the value is not corresponding to the defined type.

Смотрите также

  • gupnp_service_action_get() - Retrieves the specified action arguments

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Функции


Freeze new notifications

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Функции
PHP Manual

gupnp_service_freeze_notify

(PECL gupnp >= 0.1.0)

gupnp_service_freeze_notify — Freeze new notifications

Описание

bool gupnp_service_freeze_notify ( resource $service )

Causes new notifications to be queued up until gupnp_service_thaw_notify() is called.

Список параметров

service

A service identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Функции


Get resource introspection of service

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Функции
PHP Manual

gupnp_service_info_get_introspection

(PECL gupnp >= 0.1.0)

gupnp_service_info_get_introspection — Get resource introspection of service

Описание

mixed gupnp_service_info_get_introspection ( resource $proxy [, mixed $callback [, mixed $arg ]] )

Get resource introspection of service or register callback if corresponding parameter was passed.

Список параметров

proxy

A service proxy identifier.

callback

The callback function to be called when introspection object is ready. Typically, callback function takes on three parameters. The introspection parameter's identifier being the first, error parameter's message being the second, and the arg is third.

arg

User data for callback.

Возвращаемые значения

Return true if callback function was defined. Return introspection identifier if callback function was omited.

Ошибки

Issues E_WARNING with not valid callback function.

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Функции


Get full info of service

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Функции
PHP Manual

gupnp_service_info_get

(PECL gupnp >= 0.1.0)

gupnp_service_info_get — Get full info of service

Описание

array gupnp_service_info_get ( resource $proxy )

Get full info of service.

Список параметров

proxy

A service proxy identifier.

Возвращаемые значения

Return array wich contains the information of the service (like location, url, udn and etc).

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Функции


Returns the state variable data

gupnp_service_info_get
gupnp_service_notify
Gupnp Функции
PHP Manual

gupnp_service_introspection_get_state_variable

(PECL gupnp >= 0.1.0)

gupnp_service_introspection_get_state_variable — Returns the state variable data

Описание

array gupnp_service_introspection_get_state_variable ( resource $introspection , string $variable_name )

Returns the state variable data by the name variable_name in this service.

Список параметров

introspection

A introspection identifier.

variable_name

The name of the variable to retreive.

Возвращаемые значения

Return the state variable data or FALSE.

gupnp_service_info_get
gupnp_service_notify
Gupnp Функции


Notifies listening clients

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Функции
PHP Manual

gupnp_service_notify

(PECL gupnp >= 0.1.0)

gupnp_service_notify — Notifies listening clients

Описание

bool gupnp_service_notify ( resource $service , string $name , int $type , mixed $value )

Notifies listening clients that the property have changed to the specified values.

Список параметров

service

A service identifier.

name

The name of the variable.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Issues E_WARNING with either not correctly defined type of the variable or the value is not corresponding to the defined type.

Смотрите также

  • gupnp_service_freeze_notify() - Freeze new notifications
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Функции


Send action to the service and get value

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Функции
PHP Manual

gupnp_service_proxy_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_get — Send action to the service and get value

Описание

mixed gupnp_service_proxy_action_get ( resource $proxy , string $action , string $name , int $type )

Send action with parameters to the service exposed by proxy synchronously and get value.

Список параметров

proxy

A service proxy identifier.

action

An action.

name

The action name.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Возвращаемые значения

Return value of the action.

Ошибки

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Смотрите также

  • gupnp_service_proxy_action_set() - Send action to the service and set value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Функции


Send action to the service and set value

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Функции
PHP Manual

gupnp_service_proxy_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_set — Send action to the service and set value

Описание

bool gupnp_service_proxy_action_set ( resource $proxy , string $action , string $name , mixed $value , int $type )

Send action with parameters to the service exposed by proxy synchronously and set value.

Список параметров

proxy

A service proxy identifier.

action

An action.

name

The action name.

value

The action value.

type

The type of the action. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Смотрите также

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Функции


Sets up callback for variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Функции
PHP Manual

gupnp_service_proxy_add_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_add_notify — Sets up callback for variable change notification

Описание

bool gupnp_service_proxy_add_notify ( resource $proxy , string $value , int $type , mixed $callback [, mixed $arg ] )

Sets up callback to be called whenever a change notification for variable is recieved.

Список параметров

proxy

A service proxy identifier.

value

The variable to add notification for.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

callback

The callback to call when variable changes. Typically, callback function takes on three parameters. The variable parameter being the first, value parameter being the second, and the arg is third.

arg

User data for callback.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_proxy_remove_notify() - Cancels the variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Функции


Set service proxy callback for signal

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Функции
PHP Manual

gupnp_service_proxy_callback_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_callback_set — Set service proxy callback for signal

Описание

bool gupnp_service_proxy_callback_set ( resource $proxy , int $signal , mixed $callback [, mixed $arg ] )

Set service proxy callback for signal.

Список параметров

proxy

A service proxy identifier.

signal

The value of signal.

GUPNP_SIGNAL_SUBSCRIPTION_LOST
Emitted whenever the subscription to this service has been lost due to an error condition.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. error parameter's message being the first, and the arg is second.

arg

User data for callback.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Issues E_WARNING either with not valid callback function or with not valid signal.

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Функции


Check whether subscription is valid to the service

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Функции
PHP Manual

gupnp_service_proxy_get_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service

Описание

bool gupnp_service_proxy_get_subscribed ( resource $proxy )

Check whether subscription is valid to the service.

Список параметров

proxy

A service proxy identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_proxy_set_subscribed() - (Un)subscribes to the service.

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Функции


Cancels the variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Функции
PHP Manual

gupnp_service_proxy_remove_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_remove_notify — Cancels the variable change notification

Описание

bool gupnp_service_proxy_remove_notify ( resource $proxy , string $value )

Cancels the variable change notification.

Список параметров

proxy

A service proxy identifier.

value

The variable to add notification for.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_proxy_add_notify() - Sets up callback for variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Функции


Send action with multiple parameters synchronously

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Функции
PHP Manual

gupnp_service_proxy_send_action

(PECL gupnp >= 0.2.0)

gupnp_service_proxy_send_action — Send action with multiple parameters synchronously

Описание

array gupnp_service_proxy_send_action ( resource $proxy , string $action , array $in_params , array $out_params )

Send action action with parameters in_params to the service exposed by proxy synchronously and return out_params with values or FALSE on error.

Список параметров

proxy

A service proxy identifier.

action

An action.

in_params

An array of in parameters. Each entry in in_params is supposed to an array containing name, type and value of the parameters.

out_params

An array of out parameters. Each entry in out_params is supposed to an array containing name and type of the parameters.

Возвращаемые значения

Return out_params array with values or FALSE on error.

Ошибки

Issues E_WARNING with either not correctly defined in_params and out_params or unable to send action.

Смотрите также

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_action_set() - Send action to the service and set value

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Функции


(Un)subscribes to the service.

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Функции
PHP Manual

gupnp_service_proxy_set_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.

Описание

bool gupnp_service_proxy_set_subscribed ( resource $proxy , bool $subscribed )

(Un)subscribes to the service.

Список параметров

proxy

A service proxy identifier.

subscribed

Set TRUE to subscribe to this service.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_proxy_get_subscribed() - Check whether subscription is valid to the service

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Функции


Sends out any pending notifications and stops queuing of new ones.

gupnp_service_proxy_set_subscribed
HTTP
Gupnp Функции
PHP Manual

gupnp_service_thaw_notify

(PECL gupnp >= 0.1.0)

gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.

Описание

bool gupnp_service_thaw_notify ( resource $service )

Sends out any pending notifications and stops queuing of new ones.

Список параметров

service

A service identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_freeze_notify() - Freeze new notifications

gupnp_service_proxy_set_subscribed
HTTP
Gupnp Функции


HTTP

  • Введение
  • Установка и настройка
    • Требования
    • Установка HTTP-расширения — Установка/Конфигурирование
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Request Options — Options usable with the HttpRequest class and request functions
  • The HttpDeflateStream class
    • HttpDeflateStream::__construct — HttpDeflateStream class constructor
    • HttpDeflateStream::factory — HttpDeflateStream class factory
    • HttpDeflateStream::finish — Finalize deflate stream
    • HttpDeflateStream::flush — Flush deflate stream
    • HttpDeflateStream::update — Update deflate stream
  • The HttpInflateStream class
    • HttpInflateStream::__construct — HttpInflateStream class constructor
    • HttpInflateStream::factory — HttpInflateStream class factory
    • HttpInflateStream::finish — Finalize inflate stream
    • HttpInflateStream::flush — Flush inflate stream
    • HttpInflateStream::update — Update inflate stream
  • The HttpMessage class
    • HttpMessage::addHeaders — Add headers
    • HttpMessage::__construct — HttpMessage constructor
    • HttpMessage::detach — Detach HttpMessage
    • HttpMessage::factory — Create HttpMessage from string
    • HttpMessage::fromEnv — Create HttpMessage from environment
    • HttpMessage::fromString — Create HttpMessage from string
    • HttpMessage::getBody — Get message body
    • HttpMessage::getHeader — Get header
    • HttpMessage::getHeaders — Get message headers
    • HttpMessage::getHttpVersion — Get HTTP version
    • HttpMessage::getParentMessage — Get parent message
    • HttpMessage::getRequestMethod — Get request method
    • HttpMessage::getRequestUrl — Get request URL
    • HttpMessage::getResponseCode — Get response code
    • HttpMessage::getResponseStatus — Get response status
    • HttpMessage::getType — Get message type
    • HttpMessage::guessContentType — Guess content type
    • HttpMessage::prepend — Prepend message(s)
    • HttpMessage::reverse — Reverse message chain
    • HttpMessage::send — Send message
    • HttpMessage::setBody — Set message body
    • HttpMessage::setHeaders — Set headers
    • HttpMessage::setHttpVersion — Set HTTP version
    • HttpMessage::setRequestMethod — Set request method
    • HttpMessage::setRequestUrl — Set request URL
    • HttpMessage::setResponseCode — Set response code
    • HttpMessage::setResponseStatus — Set response status
    • HttpMessage::setType — Set message type
    • HttpMessage::toMessageTypeObject — Create HTTP object regarding message type
    • HttpMessage::toString — Get string representation
  • The HttpQueryString class
    • HttpQueryString::__construct — HttpQueryString constructor
    • HttpQueryString::get — Get (part of) query string
    • HttpQueryString::mod — Modifiy query string copy
    • HttpQueryString::set — Set query string params
    • HttpQueryString::singleton — HttpQueryString singleton
    • HttpQueryString::toArray — Get query string as array
    • HttpQueryString::toString — Get query string
    • HttpQueryString::xlate — Change query strings charset
  • The HttpRequest
    • HttpRequest::addCookies — Add cookies
    • HttpRequest::addHeaders — Add headers
    • HttpRequest::addPostFields — Add post fields
    • HttpRequest::addPostFile — Add post file
    • HttpRequest::addPutData — Add put data
    • HttpRequest::addQueryData — Add query data
    • HttpRequest::addRawPostData — Add raw post data
    • HttpRequest::addSslOptions — Add ssl options
    • HttpRequest::clearHistory — Clear history
    • HttpRequest::__construct — HttpRequest constructor
    • HttpRequest::enableCookies — Enable cookies
    • HttpRequest::getContentType — Get content type
    • HttpRequest::getCookies — Get cookies
    • HttpRequest::getHeaders — Get headers
    • HttpRequest::getHistory — Get history
    • HttpRequest::getMethod — Get method
    • HttpRequest::getOptions — Get options
    • HttpRequest::getPostFields — Get post fields
    • HttpRequest::getPostFiles — Get post files
    • HttpRequest::getPutData — Get put data
    • HttpRequest::getPutFile — Get put file
    • HttpRequest::getQueryData — Get query data
    • HttpRequest::getRawPostData — Get raw post data
    • HttpRequest::getRawRequestMessage — Get raw request message
    • HttpRequest::getRawResponseMessage — Get raw response message
    • HttpRequest::getRequestMessage — Get request message
    • HttpRequest::getResponseBody — Get response body
    • HttpRequest::getResponseCode — Get response code
    • HttpRequest::getResponseCookies — Get response cookie(s)
    • HttpRequest::getResponseData — Get response data
    • HttpRequest::getResponseHeader — Get response header(s)
    • HttpRequest::getResponseInfo — Get response info
    • HttpRequest::getResponseMessage — Get response message
    • HttpRequest::getResponseStatus — Get response status
    • HttpRequest::getSslOptions — Get ssl options
    • HttpRequest::getUrl — Get url
    • HttpRequest::resetCookies — Reset cookies
    • HttpRequest::send — Send request
    • HttpRequest::setContentType — Set content type
    • HttpRequest::setCookies — Set cookies
    • HttpRequest::setHeaders — Set headers
    • HttpRequest::setMethod — Set method
    • HttpRequest::setOptions — Set options
    • HttpRequest::setPostFields — Set post fields
    • HttpRequest::setPostFiles — Set post files
    • HttpRequest::setPutData — Set put data
    • HttpRequest::setPutFile — Set put file
    • HttpRequest::setQueryData — Set query data
    • HttpRequest::setRawPostData — Set raw post data
    • HttpRequest::setSslOptions — Set ssl options
    • HttpRequest::setUrl — Set URL
  • The HttpRequestPool class
    • HttpRequestPool::attach — Attach HttpRequest
    • HttpRequestPool::__construct — HttpRequestPool constructor
    • HttpRequestPool::__destruct — HttpRequestPool destructor
    • HttpRequestPool::detach — Detach HttpRequest
    • HttpRequestPool::getAttachedRequests — Get attached requests
    • HttpRequestPool::getFinishedRequests — Get finished requests
    • HttpRequestPool::reset — Reset request pool
    • HttpRequestPool::send — Send all requests
    • HttpRequestPool::socketPerform — Perform socket actions
    • HttpRequestPool::socketSelect — Perform socket select
  • The HttpResponse
    • HttpResponse::capture — Capture script output
    • HttpResponse::getBufferSize — Get buffer size
    • HttpResponse::getCache — Get cache
    • HttpResponse::getCacheControl — Get cache control
    • HttpResponse::getContentDisposition — Get content disposition
    • HttpResponse::getContentType — Get content type
    • HttpResponse::getData — Get data
    • HttpResponse::getETag — Get ETag
    • HttpResponse::getFile — Get file
    • HttpResponse::getGzip — Get gzip
    • HttpResponse::getHeader — Get header
    • HttpResponse::getLastModified — Get last modified
    • HttpResponse::getRequestBody — Get request body
    • HttpResponse::getRequestBodyStream — Получить поток тела запроса
    • HttpResponse::getRequestHeaders — Get request headers
    • HttpResponse::getStream — Get Stream
    • HttpResponse::getThrottleDelay — Get throttle delay
    • HttpResponse::guessContentType — Guess content type
    • HttpResponse::redirect — Redirect
    • HttpResponse::send — Send response
    • HttpResponse::setBufferSize — Set buffer size
    • HttpResponse::setCache — Set cache
    • HttpResponse::setCacheControl — Set cache control
    • HttpResponse::setContentDisposition — Set content disposition
    • HttpResponse::setContentType — Set content type
    • HttpResponse::setData — Set data
    • HttpResponse::setETag — Set ETag
    • HttpResponse::setFile — Set file
    • HttpResponse::setGzip — Set gzip
    • HttpResponse::setHeader — Set header
    • HttpResponse::setLastModified — Set last modified
    • HttpResponse::setStream — Set stream
    • HttpResponse::setThrottleDelay — Set throttle delay
    • HttpResponse::status — Send HTTP response status
  • HTTP Функции
    • http_cache_etag — Caching by ETag
    • http_cache_last_modified — Caching by last modification
    • http_chunked_decode — Decode chunked-encoded data
    • http_deflate — Deflate data
    • http_inflate — Inflate data
    • http_build_cookie — Build cookie string
    • http_date — Compose HTTP RFC compliant date
    • http_get_request_body_stream — Get request body as stream
    • http_get_request_body — Get request body as string
    • http_get_request_headers — Get request headers as array
    • http_match_etag — Match ETag
    • http_match_modified — Match last modification
    • http_match_request_header — Match any header
    • http_support — Check built-in HTTP support
    • http_negotiate_charset — Negotiate clients preferred character set
    • http_negotiate_content_type — Negotiate clients preferred content type
    • http_negotiate_language — Negotiate clients preferred language
    • ob_deflatehandler — Deflate output handler
    • ob_etaghandler — ETag output handler
    • ob_inflatehandler — Inflate output handler
    • http_parse_cookie — Parse HTTP cookie
    • http_parse_headers — Parse HTTP headers
    • http_parse_message — Parse HTTP messages
    • http_parse_params — Parse parameter list
    • http_persistent_handles_clean — Clean up persistent handles
    • http_persistent_handles_count — Stat persistent handles
    • http_persistent_handles_ident — Get/set ident of persistent handles
    • http_get — Perform GET request
    • http_head — Perform HEAD request
    • http_post_data — Perform POST request with pre-encoded data
    • http_post_fields — Perform POST request with data to be encoded
    • http_put_data — Perform PUT request with data
    • http_put_file — Perform PUT request with file
    • http_put_stream — Perform PUT request with stream
    • http_request_body_encode — Encode request body
    • http_request_method_exists — Check whether request method exists
    • http_request_method_name — Get request method name
    • http_request_method_register — Register request method
    • http_request_method_unregister — Unregister request method
    • http_request — Perform custom request
    • http_redirect — Issue HTTP redirect
    • http_send_content_disposition — Send Content-Disposition
    • http_send_content_type — Send Content-Type
    • http_send_data — Send arbitrary data
    • http_send_file — Send file
    • http_send_last_modified — Send Last-Modified
    • http_send_status — Send HTTP response status
    • http_send_stream — Send stream
    • http_throttle — HTTP throttling
    • http_build_str — Build query string
    • http_build_url — Build a URL
gupnp_service_thaw_notify
Введение
Другие службы


Введение

The HTTP extension aims to provide a convenient and powerful set of functionality for major applications.

The HTTP extension eases handling of HTTP URLs, dates, redirects, headers and messages in a HTTP context (both incoming and outgoing). It also provides means for client negotiation of preferred language and charset, as well as a convenient way to exchange arbitrary data with caching and resuming capabilities.

Also provided is a powerful request and parallel interface (PHP 5+), if the extension is built with cURL support.

Additionally to the API reference in this manual you can find information about how to install and configure as well as which global constants are predefined in the following sections:

HTTP
Установка и настройка
HTTP


Установка и настройка

Содержание

  • Требования
  • Установка HTTP-расширения
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
HTTP


Требования

The HttpResponse class requires at least PHP v5.1. Any other class is available as of PHP v5.0.

Замечание: Be aware though, that some methods are not available with PHP v5.0.

Installation requirements on Windows

In order to be able to load this extension on Windows, you additionally need to load the following PHP extensions: hash, iconv и SPL.

Installation requirements on other platforms

The extension must be built with » libcurl support to enable request functionality (--with-http-curl-requests). A library version equal or greater to v7.12.3 is required.

To enable support for sending and receiving compressed responses, the extension must be built with » zlib support (--with-http-zlib-compression). A library version equal or greater than v1.2.2 is required.

Content type quessing can be enabled by building this extension with » libmagic support (--with-http-magic-mime).

Установка и настройка
Установка HTTP-расширения
Установка и настройка


Установка/Конфигурирование

Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/pecl_http.

Замечание: Официальное имя расширения pecl_http.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

HTTP Configuration Options
Name | Default | Changeable | Description
http.etag.mode | "MD5" | PHP_INI_ALL | The hashing algorithm used to generate the ETag. MD5, SHA1, and CRC32 are always available. If the hash extension is enabled, any hashing algorithms this extension provides are available, too.
http.log.cache | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write successful cache hits.
http.log.redirect | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write redirects.
http.log.not_found | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write "file not found" errors.
http.log.allowed_methods | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write "allowed methods" violations.
http.log.composite | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write all events.
http.request.methods.allowed | "" | PHP_INI_ALL | Allowed request methods. If a client issues a request with a request method other than listed here, PHP exits with a status of "405 Method not allowed". Смотрите INI-опцию http.force_exit для пояснения термина "выходит".
http.request.methods.custom | "" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Custom request methods. If you want to use any non-standard request methods, you can register them with this INI setting or http_request_method_register().
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share cookie information.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share name lookup information.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share SSL session information. This is not yet implemented in libcurl.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share connect information. This is not yet implemented in libcurl.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | The maximum amount of persistent handles to keep alive.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | The ident of persistent handles.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Whether to automatically start the inflate output handler.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Initialization settings for the inflate output handler.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Whether to automatically start the deflate output handler.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Initialization settings for the deflate output handler. See deflate constants.
http.send.not_found_404 | "1" | PHP_INI_ALL | Whether to automatically exit with a status of "404 Not found", if http_send_file() was not able to find the specified file. Смотрите INI-опцию http.force_exit для пояснения термина "выходит".
http.only_exceptions | "0" | PHP_INI_ALL | Whether all notices/warnings/errors should be thrown as exceptions.
http.force_exit | "1" | PHP_INI_ALL | Each occasion where "exits with a status of..." is mentioned, usually causes the halt of the scripting engine. Disable this option if you alternatively want to start a discarding (dev/null) output handler and continue script execution.

Установка HTTP-расширения
Типы ресурсов
Установка и настройка


Типы ресурсов

Это расширение определяет потоковый ресурс, возвращенный http_get_request_body_stream() и (после этого) HttpResponse::getStream().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Constants usable with http_support()
HTTP_SUPPORT (integer)
querying for this constant will always return TRUE
HTTP_SUPPORT_REQUESTS (integer)
whether support to issue HTTP requests is given, ie. libcurl support was compiled in
HTTP_SUPPORT_MAGICMIME (integer)
whether support to guess the Content-Type of HTTP messages is given, ie. libmagic support was compiled in
HTTP_SUPPORT_ENCODINGS (integer)
whether support for zlib encodings is given, ie. libz support was compiled in
HTTP_SUPPORT_SSLREQUESTS (integer)
whether support to issue HTTP requests over SSL is given, ie. linked libcurl was built with SSL support
Constants usable with http_parse_params()
HTTP_PARAMS_ALLOW_COMMA (integer)
allow commands additionally to semicolons as separator
HTTP_PARAMS_ALLOW_FAILURE (integer)
continue parsing after an error occurred
HTTP_PARAMS_RAISE_ERROR (integer)
raise PHP warnings on parse errors
HTTP_PARAMS_DEFAULT (integer)
all three values above, bitwise or'ed
Constants usable with http_parse_cookie() and its return value
HTTP_COOKIE_PARSE_RAW (integer)
don't urldecode values
HTTP_COOKIE_SECURE (integer)
whether "secure" was found in the cookie's parameters list
HTTP_COOKIE_HTTPONLY (integer)
whether "httpOnly" was found in the cookie's parameter list
Constants usable with http_deflate() and HttpDeflateStream
HTTP_DEFLATE_LEVEL_DEF (integer)
HTTP_DEFLATE_LEVEL_MIN (integer)
HTTP_DEFLATE_LEVEL_MAX (integer)
HTTP_DEFLATE_TYPE_ZLIB (integer)
HTTP_DEFLATE_TYPE_GZIP (integer)
HTTP_DEFLATE_TYPE_RAW (integer)
HTTP_DEFLATE_STRATEGY_DEF (integer)
HTTP_DEFLATE_STRATEGY_FILT (integer)
HTTP_DEFLATE_STRATEGY_HUFF (integer)
HTTP_DEFLATE_STRATEGY_RLE (integer)
HTTP_DEFLATE_STRATEGY_FIXED (integer)
Constants usable with HttpDeflateStream and HttpInflateStream
HTTP_ENCODING_STREAM_FLUSH_NONE (integer)
don't flush
HTTP_ENCODING_STREAM_FLUSH_SYNC (integer)
synchronized flush only
HTTP_ENCODING_STREAM_FLUSH_FULL (integer)
full data flush
Constants used for error reporting and Exceptions
HTTP_E_RUNTIME (integer)
runtime error
HTTP_E_INVALID_PARAM (integer)
an invalid parameter was passed
HTTP_E_HEADER (integer)
header() or similar operation failed
HTTP_E_MALFORMED_HEADERS (integer)
HTTP header parse error
HTTP_E_REQUEST_METHOD (integer)
unknown/invalid request method
HTTP_E_MESSAGE_TYPE (integer)
with operation incompatible message type
HTTP_E_ENCODING (integer)
encoding/decoding error
HTTP_E_REQUEST (integer)
request failure
HTTP_E_REQUEST_POOL (integer)
request pool failure
HTTP_E_SOCKET (integer)
socket exception
HTTP_E_RESPONSE (integer)
response failure
HTTP_E_URL (integer)
invalid URL
HTTP_E_QUERYSTRING (integer)
querystring operation failure
Constants usable with HttpMessage
HTTP_MSG_NONE (integer)
the message is of no specific type
HTTP_MSG_REQUEST (integer)
request style message
HTTP_MSG_RESPONSE (integer)
response style message
Constants usable with HttpQueryString
HTTP_QUERYSTRING_TYPE_BOOL (integer)
HTTP_QUERYSTRING_TYPE_INT (integer)
HTTP_QUERYSTRING_TYPE_FLOAT (integer)
HTTP_QUERYSTRING_TYPE_STRING (integer)
HTTP_QUERYSTRING_TYPE_ARRAY (integer)
HTTP_QUERYSTRING_TYPE_OBJECT (integer)
Constants used for the httpauthtype опция запроса
HTTP_AUTH_BASIC (integer)
use "basic" authentication
HTTP_AUTH_DIGEST (integer)
use "digest" authentication
HTTP_AUTH_NTLM (integer)
use "NTLM" authentication
HTTP_AUTH_GSSNEG (integer)
use "GSS-NEGOTIATE" authentication
HTTP_AUTH_ANY (integer)
try any authentication scheme
Constants used for the HTTP protocol version опция запроса
HTTP_VERSION_ANY (integer)
no specific HTTP protocol version
HTTP_VERSION_1_0 (integer)
HTTP version 1.0
HTTP_VERSION_1_1 (integer)
HTTP version 1.1
Constants used for the SSL protocol type and version опция запроса
HTTP_SSL_VERSION_ANY (integer)
no specific SSL protocol version
HTTP_SSL_VERSION_TLSv1 (integer)
use TLSv1 only
HTTP_SSL_VERSION_SSLv3 (integer)
use SSLv3 only
HTTP_SSL_VERSION_SSLv2 (integer)
use SSLv2 only
Constants used for the proxytype опция запроса
HTTP_PROXY_SOCKS4 (integer)
the proxy is a SOCKS4 type proxy
HTTP_PROXY_SOCKS5 (integer)
the proxy is a SOCKS5 type proxy
HTTP_PROXY_HTTP (integer)
standard HTTP proxy
Constants used for the ipresolve опция запроса
HTTP_IPRESOLVE_V4 (integer)
use IPv4 only for name lookups
HTTP_IPRESOLVE_V6 (integer)
use IPv6 only for name lookups
HTTP_IPRESOLVE_ANY (integer)
use any IP mechanism only for name lookups
Predefined HTTP request method constants
HTTP_METH_GET (integer)
HTTP_METH_HEAD (integer)
HTTP_METH_POST (integer)
HTTP_METH_PUT (integer)
HTTP_METH_DELETE (integer)
HTTP_METH_OPTIONS (integer)
HTTP_METH_TRACE (integer)
HTTP_METH_CONNECT (integer)
HTTP_METH_PROPFIND (integer)
HTTP_METH_PROPPATCH (integer)
HTTP_METH_MKCOL (integer)
HTTP_METH_COPY (integer)
HTTP_METH_MOVE (integer)
HTTP_METH_LOCK (integer)
HTTP_METH_UNLOCK (integer)
HTTP_METH_VERSION_CONTROL (integer)
HTTP_METH_REPORT (integer)
HTTP_METH_CHECKOUT (integer)
HTTP_METH_CHECKIN (integer)
HTTP_METH_UNCHECKOUT (integer)
HTTP_METH_MKWORKSPACE (integer)
HTTP_METH_UPDATE (integer)
HTTP_METH_LABEL (integer)
HTTP_METH_MERGE (integer)
HTTP_METH_BASELINE_CONTROL (integer)
HTTP_METH_MKACTIVITY (integer)
HTTP_METH_ACL (integer)
Constants usable with http_redirect()
HTTP_REDIRECT (integer)
guess applicable redirect method
HTTP_REDIRECT_PERM (integer)
permanent redirect (301 Moved permanently)
HTTP_REDIRECT_FOUND (integer)
standard redirect (302 Found)

Замечание: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request. However, most existing user agent implementations treat 302 as if it were a 303 response, performing a GET on the Location field-value regardless of the original request method. The status codes 303 and 307 have been added for servers that wish to make unambiguously clear which kind of reaction is expected of the client.

HTTP_REDIRECT_POST (integer)
redirect applicable to POST requests (303 See other)
HTTP_REDIRECT_PROXY (integer)
proxy redirect (305 Use proxy)
HTTP_REDIRECT_TEMP (integer)
temporary redirect (307 Temporary Redirect)
Constants usable with http_build_url()
HTTP_URL_REPLACE (integer)
replace every part of the first URL when there's one of the second URL
HTTP_URL_JOIN_PATH (integer)
join relative paths
HTTP_URL_JOIN_QUERY (integer)
join query strings
HTTP_URL_STRIP_USER (integer)
strip any user authentication information
HTTP_URL_STRIP_PASS (integer)
strip any password authentication information
HTTP_URL_STRIP_AUTH (integer)
strip any authentication information
HTTP_URL_STRIP_PORT (integer)
strip explicit port numbers
HTTP_URL_STRIP_PATH (integer)
strip complete path
HTTP_URL_STRIP_QUERY (integer)
strip query string
HTTP_URL_STRIP_FRAGMENT (integer)
strip any fragments (#identifier)
HTTP_URL_STRIP_ALL (integer)
strip anything but scheme and host
Типы ресурсов
Request Options
HTTP


Options usable with the HttpRequest class and request functions

Options related to time outs
timeout (integer)
seconds the whole request may take to complete
connecttimeout (integer)
seconds the connect, including name resolving, may take
dns_cache_timeout (integer)
seconds after an dns cache entry times out
Options related to urls
url (string)
the request url
port (integer)
use another port as specified in the url
redirect (integer)
whether and how many redirects to follow; defaults to 0
unrestrictedauth (bool)
whether to continue sending credentials on redirects to a different host
referer (string)
the referring url to send
Options related to cookies
encodecookies (bool)
whether custom cookies should be urlencode()d prior sending
cookies (array)
list of cookies as associative array like array("cookie" => "value")
cookiestore (string)
path to a file where cookies are/will be stored
cookiesession (bool)
don't load session cookies from cookiestore if TRUE
Options related to headers
useragent (string)
the user agent to send; defaults to PECL::HTTP/x.y.z (PHP/x.y.z); omitted if explicitly set to an empty string
lastmodified (int)
timestamp for If-(Un)Modified-Since header
etag (string)
quoted etag for If-(None-)Match header
headers (array)
list of custom headers as associative array like array("header" => "value")
Options related to authentication
httpauth (string)
http credentials in "user:pass" format
httpauthtype (int)
HTTP authentication type constant
(array)
Options related to proxies
proxyhost (string)
proxy host in "host[:port]" format
proxyport (int)
use another proxy port as specified in proxyhost
proxytype (int)
HTTP proxy type constant
proxyauth (string)
proxy credentials in "user:pass" format
proxyauthtype (int)
HTTP authentication type constant
Options related to the transfer
compress (bool)
whether to request and accept a gzip/deflate content encoded response
resume (int)
start the download at the specified byte offset if server support is given (indicated by a 206 response code)
range (array)
array of arrays, each containing two integers, specifying the ranges to download if server support is given (indicated by a 206 response code); only recognized if the resume option is empty
Options imposing limits
maxfilesize (integer)
maximum file size that should be downloaded; has no effect, if the size of the requested entity is unknown (eg. dynamic pages with chunked transfer encoding etc.)
low_speed_limit (int)
the lowest transfer speed a successful request may have
low_speed_time (int)
the time in which low_speed_limit must be transferred for a successful request
max_send_speed (int)
maximum send speed in bytes per second
max_recv_speed (int)
maximum receive speed in bytes per second
Callback options
onprogress (callback)
progress callback
Network options
interface (string)
outgoing network interface (ifname, ip or hostname)
portrange (array)
2 integers specifying outgoing portrange to try
SSL options
ssl (array)

Замечание: SSL options are set through an array with the single "ssl" request option name.

cert (string)
path to certificate
certtype (string)
type of certificate
certpasswd (string)
password for certificate
key (string)
path to key
keytype (string)
type of key
keypasswd (string)
password for key
engine (string)
ssl engine to use
version (int)
ssl version to use
verifypeer (bool)
whether to verify the peer
verifyhost (bool)
whether to verify the host
cipher_list (string)
list of allowed ciphers
cainfo (string)
capath (string)
random_file (string)
egdsocket (string)
Предопределенные константы
The HttpDeflateStream class
HTTP


The HttpDeflateStream class

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpDeflateStream {
public void __construct ([ int $flags = 0 ] )
public HttpDeflateStream factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Class Members

Предопределенные константы

Type | Name | Description
int | TYPE_GZIP | gzip encoding
int | TYPE_ZLIB | zlib AKA deflate encoding
int | TYPE_RAW | raw deflate encoding
int | LEVEL_DEF | default compression level
int | LEVEL_MIN | minimum compression level
int | LEVEL_MAX | maximum compression level
int | STRATEGY_DEF | default strategy
int | STRATEGY_FILT | filtered strategy
int | STRATEGY_HUFF | Huffman strategy
int | STRATEGY_RLE | RLE strategy
int | STRATEGY_FIXED | fixed strategy
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

Примеры

Пример #1 A HttpDeflateStream example

<?php
$stream = new HttpDeflateStream(
    HttpDeflateStream::TYPE_GZIP |
    HttpDeflateStream::LEVEL_MAX |
    HttpDeflateStream::FLUSH_SYNC);

echo $stream->update($data);
echo $stream->finish();
?>

Содержание

  • HttpDeflateStream::__construct — HttpDeflateStream class constructor
  • HttpDeflateStream::factory — HttpDeflateStream class factory
  • HttpDeflateStream::finish — Finalize deflate stream
  • HttpDeflateStream::flush — Flush deflate stream
  • HttpDeflateStream::update — Update deflate stream
Request Options
HttpDeflateStream::__construct
HTTP


HttpDeflateStream class constructor

The HttpDeflateStream class
HttpDeflateStream::factory
The HttpDeflateStream class
PHP Manual

HttpDeflateStream::__construct

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::__construct — HttpDeflateStream class constructor

Описание

public void HttpDeflateStream::__construct ([ int $flags = 0 ] )

Creates a new HttpDeflateStream object instance.

See the deflate stream constants table for possible flags.

Список параметров

flags

initialization flags

Смотрите также

  • HttpDeflateStream::factory() - HttpDeflateStream class factory

The HttpDeflateStream class
HttpDeflateStream::factory
The HttpDeflateStream class


HttpDeflateStream class factory

HttpDeflateStream::__construct
HttpDeflateStream::finish
The HttpDeflateStream class
PHP Manual

HttpDeflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpDeflateStream::factory — HttpDeflateStream class factory

Описание

public HttpDeflateStream HttpDeflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )

Creates a new HttpDeflateStream object instance.

See the deflate stream constants table for possible flags.

Список параметров

flags

initialization flags

class_name

name of a subclass of HttpDeflateStream

Смотрите также

  • HttpDeflateStream::__construct() - HttpDeflateStream class constructor

HttpDeflateStream::__construct
HttpDeflateStream::finish
The HttpDeflateStream class


Finalize deflate stream

HttpDeflateStream::factory
HttpDeflateStream::flush
The HttpDeflateStream class
PHP Manual

HttpDeflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::finish — Finalize deflate stream

Описание

public string HttpDeflateStream::finish ([ string $data ] )

Finalizes the deflate stream. The deflate stream can be reused after finalizing.

Список параметров

data

data to deflate

Возвращаемые значения

Returns the final part of deflated data.

HttpDeflateStream::factory
HttpDeflateStream::flush
The HttpDeflateStream class


Flush deflate stream

HttpDeflateStream::finish
HttpDeflateStream::update
The HttpDeflateStream class
PHP Manual

HttpDeflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::flush — Flush deflate stream

Описание

public string HttpDeflateStream::flush ([ string $data ] )

Flushes the deflate stream.

Список параметров

data

more data to deflate

Возвращаемые значения

Returns some deflated data as string on success или FALSE в случае возникновения ошибки.

HttpDeflateStream::finish
HttpDeflateStream::update
The HttpDeflateStream class


Update deflate stream

HttpDeflateStream::flush
The HttpInflateStream class
The HttpDeflateStream class
PHP Manual

HttpDeflateStream::update

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::update — Update deflate stream

Описание

public string HttpDeflateStream::update ( string $data )

Passes more data through the deflate stream.

Список параметров

data

data to deflate

Возвращаемые значения

Returns deflated data on success или FALSE в случае возникновения ошибки.

HttpDeflateStream::flush
The HttpInflateStream class
The HttpDeflateStream class


The HttpInflateStream class

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpInflateStream {
public void __construct ([ int $flags = 0 ] )
public HttpInflateStream factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Class Members

Constants

Type | Name | Description
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

Замечание:

Flushing usually has no effect on inflate streams.

Примеры

Пример #1 A HttpInflateStream example

<?php
$stream = new HttpInflateStream;
echo $stream->update($data);
echo $stream->finish();
?>

Содержание

  • HttpInflateStream::__construct — HttpInflateStream class constructor
  • HttpInflateStream::factory — HttpInflateStream class factory
  • HttpInflateStream::finish — Finalize inflate stream
  • HttpInflateStream::flush — Flush inflate stream
  • HttpInflateStream::update — Update inflate stream
HttpDeflateStream::update
HttpInflateStream::__construct
HTTP


HttpInflateStream class constructor

The HttpInflateStream class
HttpInflateStream::factory
The HttpInflateStream class
PHP Manual

HttpInflateStream::__construct

(PECL pecl_http >= 1.0.0)

HttpInflateStream::__construct — HttpInflateStream class constructor

Описание

public void HttpInflateStream::__construct ([ int $flags = 0 ] )

Creates a new HttpInflateStream object instance.

See the inflate constants table for possible flags.

Список параметров

flags

initialization flags

Смотрите также

  • HttpInflateStream::factory() - HttpInflateStream class factory

The HttpInflateStream class
HttpInflateStream::factory
The HttpInflateStream class


HttpInflateStream class factory

HttpInflateStream::__construct
HttpInflateStream::finish
The HttpInflateStream class
PHP Manual

HttpInflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpInflateStream::factory — HttpInflateStream class factory

Описание

public HttpInflateStream HttpInflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )

Creates a new HttpInflateStream object instance.

See the inflate constants table for possible flags.

Список параметров

flags

initialization flags

class_name

name of a subclass of HttpInflateStream

Смотрите также

  • HttpInflateStream::__construct() - HttpInflateStream class constructor

HttpInflateStream::__construct
HttpInflateStream::finish
The HttpInflateStream class


Finalize inflate stream

HttpInflateStream::factory
HttpInflateStream::flush
The HttpInflateStream class
PHP Manual

HttpInflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpInflateStream::finish — Finalize inflate stream

Описание

public string HttpInflateStream::finish ([ string $data ] )

Finalizes the inflate stream. The inflate stream can be reused after finalizing.

Список параметров

data

data to inflate

Возвращаемые значения

Returns the final part of inflated data.

HttpInflateStream::factory
HttpInflateStream::flush
The HttpInflateStream class


Flush inflate stream

HttpInflateStream::finish
HttpInflateStream::update
The HttpInflateStream class
PHP Manual

HttpInflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpInflateStream::flush — Flush inflate stream

Описание

public string HttpInflateStream::flush ([ string $data ] )

Flushes the inflate stream.

Замечание:

Flushing usually has no effect on inflate streams.

Список параметров

data

more data to inflate

Возвращаемые значения

Returns some inflated data as string on success или FALSE в случае возникновения ошибки.

HttpInflateStream::finish
HttpInflateStream::update
The HttpInflateStream class


Update inflate stream

HttpInflateStream::flush
The HttpMessage class
The HttpInflateStream class
PHP Manual

HttpInflateStream::update

(PECL pecl_http >= 0.21.0)

HttpInflateStream::update — Update inflate stream

Описание

public string HttpInflateStream::update ( string $data )

Passes more data through the inflate stream.

Список параметров

data

data to inflate

Возвращаемые значения

Returns inflated data on success или FALSE в случае возникновения ошибки.

HttpInflateStream::flush
The HttpMessage class
The HttpInflateStream class


The HttpMessage class

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpMessage implements Iterator , Countable , Serializable {
public void addHeaders ( array $headers [, bool $append = false ] )
public void __construct ([ string $message ] )
public HttpMessage detach ( void )
static public HttpMessage factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
static public HttpMessage fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )
static public HttpMessage fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
public string getBody ( void )
public string getHeader ( string $header )
public array getHeaders ( void )
public string getHttpVersion ( void )
public HttpMessage getParentMessage ( void )
public string getRequestMethod ( void )
public string getRequestUrl ( void )
public int getResponseCode ( void )
public string getResponseStatus ( void )
public int getType ( void )
public string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
public void prepend ( HttpMessage $message [, bool $top = true ] )
public HttpMessage reverse ( void )
public bool send ( void )
public void setBody ( string $body )
public void setHeaders ( array $headers )
public bool setHttpVersion ( string $version )
public bool setRequestMethod ( string $method )
public bool setRequestUrl ( string $url )
public bool setResponseCode ( int $code )
public bool setResponseStatus ( string $status )
public void setType ( int $type )
public HttpRequest|HttpResponse toMessageTypeObject ( void )
public string toString ([ bool $include_parent = false ] )
}

Class Members

Свойства

Instance Properties
Modifiers | Type | Name | Description
protected | int | type | message type
protected | string | body | message body
protected | float | httpVersion | HTTP protocol version
protected | array | headers | message headers
protected | string | requestMethod | request method name
protected | requestUrl | string | request URL
protected | int | responseCode | response code
protected | string | responseStatus | response status message
protected | HttpMessage | parentMessage | reference to parent message

Замечание:

None of these default properties can be accessed by reference, array key/index notation nor be used in increment or decrement operations.

Предопределенные константы

Type | Name | Description
int | TYPE_NONE | message has is of no specific type
int | TYPE_REQUEST | message is a request style HTTP message
int | TYPE_RESPONSE | message is a response style HTTP message

Содержание

  • HttpMessage::addHeaders — Add headers
  • HttpMessage::__construct — HttpMessage constructor
  • HttpMessage::detach — Detach HttpMessage
  • HttpMessage::factory — Create HttpMessage from string
  • HttpMessage::fromEnv — Create HttpMessage from environment
  • HttpMessage::fromString — Create HttpMessage from string
  • HttpMessage::getBody — Get message body
  • HttpMessage::getHeader — Get header
  • HttpMessage::getHeaders — Get message headers
  • HttpMessage::getHttpVersion — Get HTTP version
  • HttpMessage::getParentMessage — Get parent message
  • HttpMessage::getRequestMethod — Get request method
  • HttpMessage::getRequestUrl — Get request URL
  • HttpMessage::getResponseCode — Get response code
  • HttpMessage::getResponseStatus — Get response status
  • HttpMessage::getType — Get message type
  • HttpMessage::guessContentType — Guess content type
  • HttpMessage::prepend — Prepend message(s)
  • HttpMessage::reverse — Reverse message chain
  • HttpMessage::send — Send message
  • HttpMessage::setBody — Set message body
  • HttpMessage::setHeaders — Set headers
  • HttpMessage::setHttpVersion — Set HTTP version
  • HttpMessage::setRequestMethod — Set request method
  • HttpMessage::setRequestUrl — Set request URL
  • HttpMessage::setResponseCode — Set response code
  • HttpMessage::setResponseStatus — Set response status
  • HttpMessage::setType — Set message type
  • HttpMessage::toMessageTypeObject — Create HTTP object regarding message type
  • HttpMessage::toString — Get string representation
HttpInflateStream::update
HttpMessage::addHeaders
HTTP


Add headers

The HttpMessage class
HttpMessage::__construct
The HttpMessage class
PHP Manual

HttpMessage::addHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::addHeaders — Add headers

Описание

public void HttpMessage::addHeaders ( array $headers [, bool $append = false ] )

Add headers. If append is true, headers with the same name will be separated, else overwritten.

Список параметров

headers

associative array containing the additional HTTP headers to add to the messages existing headers

append

if true, and a header with the same name of one to add exists already, this respective header will be converted to an array containing both header values, otherwise it will be overwritten with the new header value

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

The HttpMessage class
HttpMessage::__construct
The HttpMessage class


HttpMessage constructor

HttpMessage::addHeaders
HttpMessage::detach
The HttpMessage class
PHP Manual

HttpMessage::__construct

(PECL pecl_http >= 0.10.0)

HttpMessage::__construct — HttpMessage constructor

Описание

public void HttpMessage::__construct ([ string $message ] )

Instantiate a new HttpMessage object.

The constructed object will actually represent the last message of the passed string. If there were prior messages, those can be accessed by HttpMessage::getParentMessage().

Список параметров

message

a single or several consecutive HTTP messages

Ошибки

Throws HttpMalformedHeaderException.

HttpMessage::addHeaders
HttpMessage::detach
The HttpMessage class


Detach HttpMessage

HttpMessage::__construct
HttpMessage::factory
The HttpMessage class
PHP Manual

HttpMessage::detach

(PECL pecl_http >= 0.22.0)

HttpMessage::detach — Detach HttpMessage

Описание

public HttpMessage HttpMessage::detach ( void )

Returns a clone of an HttpMessage object detached from any parent messages.

Список параметров

Возвращаемые значения

Returns detached HttpMessage object copy.

HttpMessage::__construct
HttpMessage::factory
The HttpMessage class


Create HttpMessage from string

HttpMessage::detach
HttpMessage::fromEnv
The HttpMessage class
PHP Manual

HttpMessage::factory

(PECL pecl_http >= 1.4.0)

HttpMessage::factory — Create HttpMessage from string

Описание

static public HttpMessage HttpMessage::factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Create an HttpMessage object from a string.

Список параметров

raw_message

a single or several consecutive HTTP messages

class_name

a class extending HttpMessage

Возвращаемые значения

Returns an HttpMessage object on success or NULL on failure.

Ошибки

Throws HttpMalformedHeadersException.

Смотрите также

  • HttpMessage::fromEnv() - Create HttpMessage from environment.

HttpMessage::detach
HttpMessage::fromEnv
The HttpMessage class


Create HttpMessage from environment

HttpMessage::factory
HttpMessage::fromString
The HttpMessage class
PHP Manual

HttpMessage::fromEnv

(PECL pecl_http >= 1.5.0)

HttpMessage::fromEnv — Create HttpMessage from environment

Описание

static public HttpMessage HttpMessage::fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )

Create an HttpMessage object from script environment.

Список параметров

message_type

The message type. See HttpMessage type constants.

class_name

a class extending HttpMessage

Возвращаемые значения

Returns an HttpMessage object on success or NULL on failure.

Смотрите также

  • HttpMessage::factory() - Create HttpMessage from string.

HttpMessage::factory
HttpMessage::fromString
The HttpMessage class


Create HttpMessage from string

HttpMessage::fromEnv
HttpMessage::getBody
The HttpMessage class
PHP Manual

HttpMessage::fromString

(PECL pecl_http 0.10.0-1.3.3)

HttpMessage::fromString — Create HttpMessage from string

Описание

static public HttpMessage HttpMessage::fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Create an HttpMessage object from a string.

Эта функция-псевдоним устарела и существует только по причине обратной совместимости. Использование этой функции не рекомендуется, так как в будущем она может быть удалена из PHP.

Список параметров

raw_message

a single or several consecutive HTTP messages

class_name

a class extending HttpMessage

Возвращаемые значения

Returns an HttpMessage object on success or NULL on failure.

Ошибки

Throws HttpMalformedHeadersException.

Смотрите также

  • HttpMessage::factory() - Create HttpMessage from string.

HttpMessage::fromEnv
HttpMessage::getBody
The HttpMessage class


Get message body

HttpMessage::fromString
HttpMessage::getHeader
The HttpMessage class
PHP Manual

HttpMessage::getBody

(PECL pecl_http >= 0.10.0)

HttpMessage::getBody — Get message body

Описание

public string HttpMessage::getBody ( void )

Get the body of the parsed HttpMessage.

Возвращаемые значения

Returns the message body as string.

HttpMessage::fromString
HttpMessage::getHeader
The HttpMessage class


Get header

HttpMessage::getBody
HttpMessage::getHeaders
The HttpMessage class
PHP Manual

HttpMessage::getHeader

(PECL pecl_http >= 1.1.0)

HttpMessage::getHeader — Get header

Описание

public string HttpMessage::getHeader ( string $header )

Get message header.

Список параметров

header

header name

Возвращаемые значения

Returns the header value on success or NULL if the header does not exist.

HttpMessage::getBody
HttpMessage::getHeaders
The HttpMessage class


Get message headers

HttpMessage::getHeader
HttpMessage::getHttpVersion
The HttpMessage class
PHP Manual

HttpMessage::getHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::getHeaders — Get message headers

Описание

public array HttpMessage::getHeaders ( void )

Get message headers.

Возвращаемые значения

Returns an associative array containing the messages HTTP headers.

HttpMessage::getHeader
HttpMessage::getHttpVersion
The HttpMessage class


Get HTTP version

HttpMessage::getHeaders
HttpMessage::getParentMessage
The HttpMessage class
PHP Manual

HttpMessage::getHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::getHttpVersion — Get HTTP version

Описание

public string HttpMessage::getHttpVersion ( void )

Get the HTTP Protocol Version of the Message.

Возвращаемые значения

Returns the HTTP protocol version as string.

HttpMessage::getHeaders
HttpMessage::getParentMessage
The HttpMessage class


Get parent message

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
The HttpMessage class
PHP Manual

HttpMessage::getParentMessage

(PECL pecl_http >= 0.10.0)

HttpMessage::getParentMessage — Get parent message

Описание

public HttpMessage HttpMessage::getParentMessage ( void )

Get parent Message.

Возвращаемые значения

Returns the parent HttpMessage object.

Ошибки

Throws HttpRuntimeException.

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
The HttpMessage class


Get request method

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
The HttpMessage class
PHP Manual

HttpMessage::getRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::getRequestMethod — Get request method

Описание

public string HttpMessage::getRequestMethod ( void )

Get the Request Method of the Message.

Возвращаемые значения

Returns the request method name on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
The HttpMessage class


Get request URL

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
The HttpMessage class
PHP Manual

HttpMessage::getRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::getRequestUrl — Get request URL

Описание

public string HttpMessage::getRequestUrl ( void )

Get the Request URL of the Message.

Список параметров

Возвращаемые значения

Returns the request URL as string on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
The HttpMessage class


Get response code

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
The HttpMessage class
PHP Manual

HttpMessage::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::getResponseCode — Get response code

Описание

public int HttpMessage::getResponseCode ( void )

Get the Response Code of the Message.

Возвращаемые значения

Returns the HTTP response code if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
The HttpMessage class


Get response status

HttpMessage::getResponseCode
HttpMessage::getType
The HttpMessage class
PHP Manual

HttpMessage::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::getResponseStatus — Get response status

Описание

public string HttpMessage::getResponseStatus ( void )

Get the Response Status of the message (i.e. the string following the response code).

Возвращаемые значения

Returns the HTTP response status string if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

HttpMessage::getResponseCode
HttpMessage::getType
The HttpMessage class


Get message type

HttpMessage::getResponseStatus
HttpMessage::guessContentType
The HttpMessage class
PHP Manual

HttpMessage::getType

(PECL pecl_http >= 0.10.0)

HttpMessage::getType — Get message type

Описание

public int HttpMessage::getType ( void )

Get Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

Возвращаемые значения

Returns the HttpMessage::TYPE.

HttpMessage::getResponseStatus
HttpMessage::guessContentType
The HttpMessage class


Guess content type

HttpMessage::getType
HttpMessage::prepend
The HttpMessage class
PHP Manual

HttpMessage::guessContentType

(PECL pecl_http >= 1.0.0)

HttpMessage::guessContentType — Guess content type

Описание

public string HttpMessage::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Attempts to guess the content type of the message body through libmagic.

Список параметров

magic_file

the magic.mime database to use

magic_mode

flags for libmagic

Возвращаемые значения

Returns the guessed content type on success или FALSE в случае возникновения ошибки.

Ошибки

Throws HttpRuntimeException, HttpInvalidParamException.

HttpMessage::getType
HttpMessage::prepend
The HttpMessage class


Prepend message(s)

HttpMessage::guessContentType
HttpMessage::reverse
The HttpMessage class
PHP Manual

HttpMessage::prepend

(PECL pecl_http >= 0.22.0)

HttpMessage::prepend — Prepend message(s)

Описание

public void HttpMessage::prepend ( HttpMessage $message [, bool $top = true ] )

Prepends message(s) to the HTTP message.

Список параметров

message

HttpMessage object to prepend

top

whether to prepend to the top most or right this message

Ошибки

Throws HttpInvalidParamException if the message is located within the same message chain.

HttpMessage::guessContentType
HttpMessage::reverse
The HttpMessage class


Reverse message chain

HttpMessage::prepend
HttpMessage::send
The HttpMessage class
PHP Manual

HttpMessage::reverse

(PECL pecl_http >= 0.23.0)

HttpMessage::reverse — Reverse message chain

Описание

public HttpMessage HttpMessage::reverse ( void )

Reorders the message chain in reverse order.

Возвращаемые значения

Returns the most parent HttpMessage object.

HttpMessage::prepend
HttpMessage::send
The HttpMessage class


Send message

HttpMessage::reverse
HttpMessage::setBody
The HttpMessage class
PHP Manual

HttpMessage::send

(PECL pecl_http >= 0.10.0)

HttpMessage::send — Send message

Описание

public bool HttpMessage::send ( void )

Send the Message according to its type as Response or Request.

This provides limited functionality compared to HttpRequest and HttpResponse.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpMessage::reverse
HttpMessage::setBody
The HttpMessage class


Set message body

HttpMessage::send
HttpMessage::setHeaders
The HttpMessage class
PHP Manual

HttpMessage::setBody

(PECL pecl_http >= 0.14.0)

HttpMessage::setBody — Set message body

Описание

public void HttpMessage::setBody ( string $body )

Set the body of the HttpMessage.

Замечание:

Don't forget to update any headers accordingly.

Список параметров

body

the new body of the message

HttpMessage::send
HttpMessage::setHeaders
The HttpMessage class


Set headers

HttpMessage::setBody
HttpMessage::setHttpVersion
The HttpMessage class
PHP Manual

HttpMessage::setHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::setHeaders — Set headers

Описание

public void HttpMessage::setHeaders ( array $headers )

Sets new headers.

Список параметров

headers

associative array containing the new HTTP headers, which will replace all previous HTTP headers of the message

HttpMessage::setBody
HttpMessage::setHttpVersion
The HttpMessage class


Set HTTP version

HttpMessage::setHeaders
HttpMessage::setRequestMethod
The HttpMessage class
PHP Manual

HttpMessage::setHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::setHttpVersion — Set HTTP version

Описание

public bool HttpMessage::setHttpVersion ( string $version )

Set the HTTP Protocol version of the Message.

Список параметров

version

the HTTP protocol version

Возвращаемые значения

Returns TRUE on success, or FALSE if supplied version is out of range (1.0/1.1).

HttpMessage::setHeaders
HttpMessage::setRequestMethod
The HttpMessage class


Set request method

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
The HttpMessage class
PHP Manual

HttpMessage::setRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::setRequestMethod — Set request method

Описание

public bool HttpMessage::setRequestMethod ( string $method )

Set the Request Method of the HTTP Message.

Список параметров

method

the request method name

Возвращаемые значения

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or an invalid request method was supplied.

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
The HttpMessage class


Set request URL

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
The HttpMessage class
PHP Manual

HttpMessage::setRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::setRequestUrl — Set request URL

Описание

public bool HttpMessage::setRequestUrl ( string $url )

Set the Request URL of the HTTP Message.

Список параметров

url

the request URL

Возвращаемые значения

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or supplied URL was empty.

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
The HttpMessage class


Set response code

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
The HttpMessage class
PHP Manual

HttpMessage::setResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::setResponseCode — Set response code

Описание

public bool HttpMessage::setResponseCode ( int $code )

Set the response code of an HTTP Response Message.

Список параметров

code

HTTP response code

Возвращаемые значения

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE or the response code is out of range (100-510).

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
The HttpMessage class


Set response status

HttpMessage::setResponseCode
HttpMessage::setType
The HttpMessage class
PHP Manual

HttpMessage::setResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::setResponseStatus — Set response status

Описание

public bool HttpMessage::setResponseStatus ( string $status )

Set the Response Status of the HTTP message (i.e. the string following the response code).

Список параметров

status

the response status text

Возвращаемые значения

Returns TRUE on success or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE.

HttpMessage::setResponseCode
HttpMessage::setType
The HttpMessage class


Set message type

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
The HttpMessage class
PHP Manual

HttpMessage::setType

(PECL pecl_http >= 0.10.0)

HttpMessage::setType — Set message type

Описание

public void HttpMessage::setType ( int $type )

Set Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

Список параметров

type

the HttpMessage::TYPE

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
The HttpMessage class


Create HTTP object regarding message type

HttpMessage::setType
HttpMessage::toString
The HttpMessage class
PHP Manual

HttpMessage::toMessageTypeObject

(PECL pecl_http >= 0.22.0)

HttpMessage::toMessageTypeObject — Create HTTP object regarding message type

Описание

public HttpRequest|HttpResponse HttpMessage::toMessageTypeObject ( void )

Creates an object regarding to the type of the message.

Список параметров

Возвращаемые значения

Returns either an HttpRequest or HttpResponse object on success, or NULL on failure.

Ошибки

Throws HttpRuntimeException, HttpMessageTypeException, HttpHeaderException.

HttpMessage::setType
HttpMessage::toString
The HttpMessage class


Get string representation

HttpMessage::toMessageTypeObject
The HttpQueryString class
The HttpMessage class
PHP Manual

HttpMessage::toString

(PECL pecl_http >= 0.10.0)

HttpMessage::toString — Get string representation

Описание

public string HttpMessage::toString ([ bool $include_parent = false ] )

Get the string representation of the Message.

Список параметров

include_parent

specifies whether the returned string should also contain any parent messages

Возвращаемые значения

Returns the message as string.

HttpMessage::toMessageTypeObject
The HttpQueryString class
The HttpMessage class


The HttpQueryString class

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpQueryString implements ArrayAccess , Serializable {
final public void __construct ([ bool $global = true [, mixed $add ]] )
public mixed get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )
public HttpQueryString mod ( mixed $params )
public string set ( mixed $params )
static public HttpQueryString singleton ([ bool $global = true ] )
public array toArray ( void )
public string toString ( void )
public bool xlate ( string $ie , string $oe )
}

Class Members

Свойства

Instance Properties
Modifiers | Type | Name | Description
private | array | queryArray | query parameters
private | string | queryString | serialized query parameters
Static Properties
Modifiers | Type | Name | Description
private | array | instance | holds singletons

Предопределенные константы

Type | Name | Description
int | TYPE_BOOL | retrieve query param as bool
int | TYPE_INT | retrieve query param as int
int | TYPE_FLOAT | retrieve query param as float
int | TYPE_STRING | retrieve query param as string
int | TYPE_ARRAY | retrieve query param as array
int | TYPE_OBJECT | retrieve query param as object

Содержание

  • HttpQueryString::__construct — HttpQueryString constructor
  • HttpQueryString::get — Get (part of) query string
  • HttpQueryString::mod — Modifiy query string copy
  • HttpQueryString::set — Set query string params
  • HttpQueryString::singleton — HttpQueryString singleton
  • HttpQueryString::toArray — Get query string as array
  • HttpQueryString::toString — Get query string
  • HttpQueryString::xlate — Change query strings charset
HttpMessage::toString
HttpQueryString::__construct
HTTP


HttpQueryString constructor

The HttpQueryString class
HttpQueryString::get
The HttpQueryString class
PHP Manual

HttpQueryString::__construct

(PECL pecl_http >= 0.22.0)

HttpQueryString::__construct — HttpQueryString constructor

Описание

final public void HttpQueryString::__construct ([ bool $global = true [, mixed $add ]] )

Creates a new HttpQueryString object instance.

Operates on and modifies $_GET and $_SERVER['QUERY_STRING'] if global is TRUE.

Список параметров

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

add

additional/initial query string parameters

Ошибки

Throws HttpRuntimeException.

The HttpQueryString class
HttpQueryString::get
The HttpQueryString class


Get (part of) query string

HttpQueryString::__construct
HttpQueryString::mod
The HttpQueryString class
PHP Manual

HttpQueryString::get

(PECL pecl_http >= 0.22.0)

HttpQueryString::get — Get (part of) query string

Описание

public mixed HttpQueryString::get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )

Get (part of) the query string.

The type parameter is either one of the HttpQueryString::TYPE_* constants or a type abbreviation like "b" for bool, "i" for int, "f" for float, "s" for string, "a" for array and "o" for a stdClass object.

Список параметров

key

key of the query string param to retrieve

type

which variable type to enforce

defval

default value if key does not exist

delete

whether to remove the key/value pair from the query string

Возвращаемые значения

Returns the value of the query string param or the whole query string if no key was specified on success or defval if key does not exist.

HttpQueryString::__construct
HttpQueryString::mod
The HttpQueryString class


Modifiy query string copy

HttpQueryString::get
HttpQueryString::set
The HttpQueryString class
PHP Manual

HttpQueryString::mod

(PECL pecl_http >= 1.1.0)

HttpQueryString::mod — Modifiy query string copy

Описание

public HttpQueryString HttpQueryString::mod ( mixed $params )

Copies the query string object and sets provided params at the clone.

Список параметров

params

query string params to add

Возвращаемые значения

Returns a new HttpQueryString object

HttpQueryString::get
HttpQueryString::set
The HttpQueryString class


Set query string params

HttpQueryString::mod
HttpQueryString::singleton
The HttpQueryString class
PHP Manual

HttpQueryString::set

(PECL pecl_http >= 0.22.0)

HttpQueryString::set — Set query string params

Описание

public string HttpQueryString::set ( mixed $params )

Set query string entry/entries. NULL values will unset the variable.

Список параметров

params

query string params to add

Возвращаемые значения

Returns the current query string.

HttpQueryString::mod
HttpQueryString::singleton
The HttpQueryString class


HttpQueryString singleton

HttpQueryString::set
HttpQueryString::toArray
The HttpQueryString class
PHP Manual

HttpQueryString::singleton

(PECL pecl_http >= 0.25.0)

HttpQueryString::singleton — HttpQueryString singleton

Описание

static public HttpQueryString HttpQueryString::singleton ([ bool $global = true ] )

Get a single instance (differentiates between the global setting).

Список параметров

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

Возвращаемые значения

Returns always the same HttpQueryString instance regarding the global setting.

Ошибки

Throws HttpRuntimeException.

HttpQueryString::set
HttpQueryString::toArray
The HttpQueryString class


Get query string as array

HttpQueryString::singleton
HttpQueryString::toString
The HttpQueryString class
PHP Manual

HttpQueryString::toArray

(PECL pecl_http >= 0.22.0)

HttpQueryString::toArray — Get query string as array

Описание

public array HttpQueryString::toArray ( void )

Get the query string represented as associative array.

Возвращаемые значения

Returns the array representation of the query string.

HttpQueryString::singleton
HttpQueryString::toString
The HttpQueryString class


Get query string

HttpQueryString::toArray
HttpQueryString::xlate
The HttpQueryString class
PHP Manual

HttpQueryString::toString

(PECL pecl_http >= 0.22.0)

HttpQueryString::toString — Get query string

Описание

public string HttpQueryString::toString ( void )

Get the query string.

Список параметров

Возвращаемые значения

Returns the string representation of the query string.

HttpQueryString::toArray
HttpQueryString::xlate
The HttpQueryString class


Change query strings charset

HttpQueryString::toString
The HttpRequest
The HttpQueryString class
PHP Manual

HttpQueryString::xlate

(PECL pecl_http >= 0.25.0)

HttpQueryString::xlate — Change query strings charset

Описание

public bool HttpQueryString::xlate ( string $ie , string $oe )

Converts the query string from the source encoding ie to the target encoding oe.

Внимание

Don't use any character set that can contain NUL bytes like UTF-16.

Замечание:

This method requires ext/iconv to be enabled and loaded.

Список параметров

ie

input encoding

oe

output encoding

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpQueryString::toString
The HttpRequest
The HttpQueryString class


The HttpRequest

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpRequest {
public bool addCookies ( array $cookies )
public bool addHeaders ( array $headers )
public bool addPostFields ( array $post_data )
public bool addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )
public bool addPutData ( string $put_data )
public bool addQueryData ( array $query_params )
public bool addRawPostData ( string $raw_post_data )
public bool addSslOptions ( array $options )
public void clearHistory ( void )
public void __construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )
public bool enableCookies ( void )
public string getContentType ( void )
public array getCookies ( void )
public array getHeaders ( void )
public HttpMessage getHistory ( void )
public int getMethod ( void )
public array getOptions ( void )
public array getPostFields ( void )
public array getPostFiles ( void )
public string getPutData ( void )
public string getPutFile ( void )
public string getQueryData ( void )
public string getRawPostData ( void )
public string getRawRequestMessage ( void )
public string getRawResponseMessage ( void )
public HttpMessage getRequestMessage ( void )
public string getResponseBody ( void )
public int getResponseCode ( void )
public array getResponseCookies ([ int $flags = 0 [, array $allowed_extras ]] )
public array getResponseData ( void )
public mixed getResponseHeader ([ string $name ] )
public mixed getResponseInfo ([ string $name ] )
public HttpMessage getResponseMessage ( void )
public string getResponseStatus ( void )
public array getSslOptions ( void )
public string getUrl ( void )
public bool resetCookies ([ bool $session_only = false ] )
public HttpMessage send ( void )
public bool setContentType ( string $content_type )
public bool setCookies ([ array $cookies ] )
public bool setHeaders ([ array $headers ] )
public bool setMethod ( int $request_method )
public bool setOptions ([ array $options ] )
public bool setPostFields ( array $post_data )
public bool setPostFiles ( array $post_files )
public bool setPutData ([ string $put_data ] )
public bool setPutFile ([ string $file = "" ] )
public bool setQueryData ( mixed $query_data )
public bool setRawPostData ([ string $raw_post_data ] )
public bool setSslOptions ([ array $options ] )
public bool setUrl ( string $url )
}

Class Members

Свойства

Instance Properties
Modifiers | Type | Name | Description
private | array | options | request options to configure the request; see опции запроса
private array postFields form data:
array("fieldname" => "fieldvalue")
private array postFiles files to upload:
array(array("name" => "image", "file" => "/home/u/images/u.png", "type" => "image/png"))
private | array | responseInfo | information (statistical) about the request/response; see Информация о запросе/ответе
private | HttpMessage | responseMessage | the response message
private | integer | responseCode | the numerical response code
private | string | responseStatus | the literal response status text
private | integer | method | the request method to use
private | string | url | the request url
private | string | contentType | the content type to use for raw post requests
private | string | rawPostData | raw post data
private | string | queryData | query parameters
private | string | putFile | the file to upload with a PUT request
private | string | putData | raw data to upload with a PUT request
private | HttpMessage | history | the whole request/response history if history logging is enabled
public | boolean | recordHistory | whether to enable history logging

Предопределенные константы

Type | Name | Description
integer | METH_GET | GET request method
integer | METH_HEAD | HEAD request method
integer | METH_POST | POST request method
integer | METH_PUT | PUT request method
integer | METH_DELETE | DELETE request method
integer | METH_OPTIONS | OPTIONS request method
integer | METH_TRACE | TRACE request method
integer | METH_CONNECT | CONNECT request method
integer | METH_PROPFIND | PROPFIND request method
integer | METH_PROPPATCH | PROPPATCH request method
integer | METH_MKCOL | MKCOL request method
integer | METH_COPY | COPY request method
integer | METH_MOVE | MOVE request method
integer | METH_LOCK | LOCK request method
integer | METH_UNLOCK | UNLOCK request method
integer | METH_VERSION_CONTROL | VERSION-CONTROL request method
integer | METH_REPORT | REPORT request method
integer | METH_CHECKOUT | CHECKOUT request method
integer | METH_CHECKIN | CHECKIN request method
integer | METH_UNCHECKOUT | UNCHECKOUT request method
integer | METH_MKWORKSPACE | MKWORKSPACE request method
integer | METH_UPDATE | UPDATE request method
integer | METH_LABEL | LABEL request method
integer | METH_MERGE | MERGE request method
integer | METH_BASELINE_CONTROL | BASELINE-CONTROL request method
integer | METH_MKACTIVITY | MKACTIVITY request method
integer | METH_ACL | ACL request method
integer | VERSION_1_0 | HTTP protocol version 1.0
integer | VERSION_1_1 | HTTP protocol version 1.1
integer | VERSION_ANY | any HTTP protocol version
integer | AUTH_BASIC | basic authentication
integer | AUTH_DIGEST | digest authentication
integer | AUTH_NTLM | NTLM authentication
integer | AUTH_GSSNEG | GSS negotiate authentication
integer | AUTH_ANY | any authentication
integer | PROXY_SOCKS4 | SOCKS v4 proxy
integer | PROXY_SOCKS5 | SOCKS v5 proxy
integer | PROXY_HTTP | HTTP proxy
integer | SSL_VERSION_TLSv1 | use TLS v1
integer | SSL_VERSION_SSLv2 | use SSL v2
integer | SSL_VERSION_SSLv3 | use SSL v3
integer | SSL_VERSION_ANY | use any SSL/TLS method
integer | IPRESOLVE_V4 | resolve via IPv4 only
integer | IPRESOLVE_V6 | resolve via IPv6 only
integer | IPRESOLVE_ANY | use any resolving methods

Содержание

  • HttpRequest::addCookies — Add cookies
  • HttpRequest::addHeaders — Add headers
  • HttpRequest::addPostFields — Add post fields
  • HttpRequest::addPostFile — Add post file
  • HttpRequest::addPutData — Add put data
  • HttpRequest::addQueryData — Add query data
  • HttpRequest::addRawPostData — Add raw post data
  • HttpRequest::addSslOptions — Add ssl options
  • HttpRequest::clearHistory — Clear history
  • HttpRequest::__construct — HttpRequest constructor
  • HttpRequest::enableCookies — Enable cookies
  • HttpRequest::getContentType — Get content type
  • HttpRequest::getCookies — Get cookies
  • HttpRequest::getHeaders — Get headers
  • HttpRequest::getHistory — Get history
  • HttpRequest::getMethod — Get method
  • HttpRequest::getOptions — Get options
  • HttpRequest::getPostFields — Get post fields
  • HttpRequest::getPostFiles — Get post files
  • HttpRequest::getPutData — Get put data
  • HttpRequest::getPutFile — Get put file
  • HttpRequest::getQueryData — Get query data
  • HttpRequest::getRawPostData — Get raw post data
  • HttpRequest::getRawRequestMessage — Get raw request message
  • HttpRequest::getRawResponseMessage — Get raw response message
  • HttpRequest::getRequestMessage — Get request message
  • HttpRequest::getResponseBody — Get response body
  • HttpRequest::getResponseCode — Get response code
  • HttpRequest::getResponseCookies — Get response cookie(s)
  • HttpRequest::getResponseData — Get response data
  • HttpRequest::getResponseHeader — Get response header(s)
  • HttpRequest::getResponseInfo — Get response info
  • HttpRequest::getResponseMessage — Get response message
  • HttpRequest::getResponseStatus — Get response status
  • HttpRequest::getSslOptions — Get ssl options
  • HttpRequest::getUrl — Get url
  • HttpRequest::resetCookies — Reset cookies
  • HttpRequest::send — Send request
  • HttpRequest::setContentType — Set content type
  • HttpRequest::setCookies — Set cookies
  • HttpRequest::setHeaders — Set headers
  • HttpRequest::setMethod — Set method
  • HttpRequest::setOptions — Set options
  • HttpRequest::setPostFields — Set post fields
  • HttpRequest::setPostFiles — Set post files
  • HttpRequest::setPutData — Set put data
  • HttpRequest::setPutFile — Set put file
  • HttpRequest::setQueryData — Set query data
  • HttpRequest::setRawPostData — Set raw post data
  • HttpRequest::setSslOptions — Set ssl options
  • HttpRequest::setUrl — Set URL
HttpQueryString::xlate
HttpRequest::addCookies
HTTP


Add cookies

The HttpRequest
HttpRequest::addHeaders
The HttpRequest
PHP Manual

HttpRequest::addCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::addCookies — Add cookies

Описание

public bool HttpRequest::addCookies ( array $cookies )

Add custom cookies.

Замечание: опция запроса encodecookies контролирует необходимость кодирования cookie функцией urlencode().

Замечание: Влияет на любой метод запроса..

Список параметров

cookies

an associative array containing any cookie name/value pairs to add

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A HttpRequest::addCookies() example

<?php
$r = new HttpRequest;
$r->addCookies(
    array(
        "cookie_name" => "cookie value",
    )
);
?>

Смотрите также

  • HttpRequest::setCookies() - Set cookies

The HttpRequest
HttpRequest::addHeaders
The HttpRequest


Add headers

HttpRequest::addCookies
HttpRequest::addPostFields
The HttpRequest
PHP Manual

HttpRequest::addHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::addHeaders — Add headers

Описание

public bool HttpRequest::addHeaders ( array $headers )

Add request header name/value pairs.

Список параметров

headers

an associative array as parameter containing additional header name/value pairs

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addCookies
HttpRequest::addPostFields
The HttpRequest


Add post fields

HttpRequest::addHeaders
HttpRequest::addPostFile
The HttpRequest
PHP Manual

HttpRequest::addPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFields — Add post fields

Описание

public bool HttpRequest::addPostFields ( array $post_data )

Adds POST data entries, leaving previously set unchanged, unless a post entry with the same name already exists.

Affects only POST and custom requests.

Список параметров

post_data

an associative array as parameter containing the post fields

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addHeaders
HttpRequest::addPostFile
The HttpRequest


Add post file

HttpRequest::addPostFields
HttpRequest::addPutData
The HttpRequest
PHP Manual

HttpRequest::addPostFile

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFile — Add post file

Описание

public bool HttpRequest::addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )

Add a file to the POST request, leaving previously set files unchanged.

Affects only POST and custom requests. Cannot be used with raw post data.

Список параметров

name

the form element name

file

the path to the file

content_type

the content type of the file

Возвращаемые значения

Returns TRUE on success, or FALSE if the content type seems not to contain a primary and a secondary content type part.

HttpRequest::addPostFields
HttpRequest::addPutData
The HttpRequest


Add put data

HttpRequest::addPostFile
HttpRequest::addQueryData
The HttpRequest
PHP Manual

HttpRequest::addPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::addPutData — Add put data

Описание

public bool HttpRequest::addPutData ( string $put_data )

Add PUT data, leaving previously set PUT data unchanged.

Affects only PUT requests.

Список параметров

put_data

the data to concatenate

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addPostFile
HttpRequest::addQueryData
The HttpRequest


Add query data

HttpRequest::addPutData
HttpRequest::addRawPostData
The HttpRequest
PHP Manual

HttpRequest::addQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::addQueryData — Add query data

Описание

public bool HttpRequest::addQueryData ( array $query_params )

Add parameters to the query parameter list, leaving previously set unchanged.

Affects any request type.

Список параметров

query_params

an associative array as parameter containing the query fields to add

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addPutData
HttpRequest::addRawPostData
The HttpRequest


Add raw post data

HttpRequest::addQueryData
HttpRequest::addSslOptions
The HttpRequest
PHP Manual

HttpRequest::addRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::addRawPostData — Add raw post data

Описание

public bool HttpRequest::addRawPostData ( string $raw_post_data )

Add raw post data, leaving previously set raw post data unchanged.

Affects only POST and custom requests.

Список параметров

raw_post_data

the raw post data to concatenate

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addQueryData
HttpRequest::addSslOptions
The HttpRequest


Add ssl options

HttpRequest::addRawPostData
HttpRequest::clearHistory
The HttpRequest
PHP Manual

HttpRequest::addSslOptions

(PECL pecl_http >= 0.12.0)

HttpRequest::addSslOptions — Add ssl options

Описание

public bool HttpRequest::addSslOptions ( array $options )

Set additional SSL options.

Список параметров

options

an associative array as parameter containing additional SSL specific options

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::addRawPostData
HttpRequest::clearHistory
The HttpRequest


Clear history

HttpRequest::addSslOptions
HttpRequest::__construct
The HttpRequest
PHP Manual

HttpRequest::clearHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::clearHistory — Clear history

Описание

public void HttpRequest::clearHistory ( void )

Clears all history messages.

Замечание:

History is only logged if recordHistory was enabled.

HttpRequest::addSslOptions
HttpRequest::__construct
The HttpRequest


HttpRequest constructor

HttpRequest::clearHistory
HttpRequest::enableCookies
The HttpRequest
PHP Manual

HttpRequest::__construct

(PECL pecl_http >= 0.10.0)

HttpRequest::__construct — HttpRequest constructor

Описание

public void HttpRequest::__construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )

Instantiate a new HttpRequest object.

Список параметров

url

the target request url

request_method

the request method to use

options

an associative array with request options

Ошибки

Throws HttpException.

HttpRequest::clearHistory
HttpRequest::enableCookies
The HttpRequest


Enable cookies

HttpRequest::__construct
HttpRequest::getContentType
The HttpRequest
PHP Manual

HttpRequest::enableCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::enableCookies — Enable cookies

Описание

public bool HttpRequest::enableCookies ( void )

Enable automatic sending of received cookies.

Замечание:

Note that custom set cookies will be sent anyway.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::__construct
HttpRequest::getContentType
The HttpRequest


Get content type

HttpRequest::enableCookies
HttpRequest::getCookies
The HttpRequest
PHP Manual

HttpRequest::getContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::getContentType — Get content type

Описание

public string HttpRequest::getContentType ( void )

Get the previously set content type.

Возвращаемые значения

Returns the previously set content type as string.

HttpRequest::enableCookies
HttpRequest::getCookies
The HttpRequest


Get cookies

HttpRequest::getContentType
HttpRequest::getHeaders
The HttpRequest
PHP Manual

HttpRequest::getCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::getCookies — Get cookies

Описание

public array HttpRequest::getCookies ( void )

Get previously set cookies.

Возвращаемые значения

Returns an associative array containing any previously set cookies.

HttpRequest::getContentType
HttpRequest::getHeaders
The HttpRequest


Get headers

HttpRequest::getCookies
HttpRequest::getHistory
The HttpRequest
PHP Manual

HttpRequest::getHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::getHeaders — Get headers

Описание

public array HttpRequest::getHeaders ( void )

Get previously set request headers.

Возвращаемые значения

Returns an associative array containing all currently set headers.

HttpRequest::getCookies
HttpRequest::getHistory
The HttpRequest


Get history

HttpRequest::getHeaders
HttpRequest::getMethod
The HttpRequest
PHP Manual

HttpRequest::getHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::getHistory — Get history

Описание

public HttpMessage HttpRequest::getHistory ( void )

Get all sent requests and received responses as an HttpMessage object.

If you want to record history, set the instance variable HttpRequest::recordHistory to TRUE.

The returned object references the last received response, use HttpMessage::getParentMessage() to access the data of previously sent requests and received responses.

Возвращаемые значения

Returns an HttpMessage object representing the complete request/response history.

Ошибки

Throws HttpRuntimeException.

HttpRequest::getHeaders
HttpRequest::getMethod
The HttpRequest


Get method

HttpRequest::getHistory
HttpRequest::getOptions
The HttpRequest
PHP Manual

HttpRequest::getMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::getMethod — Get method

Описание

public int HttpRequest::getMethod ( void )

Get the previously set request method.

Возвращаемые значения

Returns the currently set request method.

HttpRequest::getHistory
HttpRequest::getOptions
The HttpRequest


Get options

HttpRequest::getMethod
HttpRequest::getPostFields
The HttpRequest
PHP Manual

HttpRequest::getOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getOptions — Get options

Описание

public array HttpRequest::getOptions ( void )

Get currently set options.

Возвращаемые значения

Returns an associative array containing currently set options.

HttpRequest::getMethod
HttpRequest::getPostFields
The HttpRequest


Get post fields

HttpRequest::getOptions
HttpRequest::getPostFiles
The HttpRequest
PHP Manual

HttpRequest::getPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFields — Get post fields

Описание

public array HttpRequest::getPostFields ( void )

Get previously set POST data.

Список параметров

Возвращаемые значения

Returns the currently set post fields as associative array.

HttpRequest::getOptions
HttpRequest::getPostFiles
The HttpRequest


Get post files

HttpRequest::getPostFields
HttpRequest::getPutData
The HttpRequest
PHP Manual

HttpRequest::getPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFiles — Get post files

Описание

public array HttpRequest::getPostFiles ( void )

Get all previously added POST files.

Возвращаемые значения

Returns an array containing currently set post files.

HttpRequest::getPostFields
HttpRequest::getPutData
The HttpRequest


Get put data

HttpRequest::getPostFiles
HttpRequest::getPutFile
The HttpRequest
PHP Manual

HttpRequest::getPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::getPutData — Get put data

Описание

public string HttpRequest::getPutData ( void )

Get previously set PUT data.

Возвращаемые значения

Returns a string containing the currently set PUT data.

HttpRequest::getPostFiles
HttpRequest::getPutFile
The HttpRequest


Get put file

HttpRequest::getPutData
HttpRequest::getQueryData
The HttpRequest
PHP Manual

HttpRequest::getPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::getPutFile — Get put file

Описание

public string HttpRequest::getPutFile ( void )

Get previously set put file.

Возвращаемые значения

Returns a string containing the path to the currently set put file.

HttpRequest::getPutData
HttpRequest::getQueryData
The HttpRequest


Get query data

HttpRequest::getPutFile
HttpRequest::getRawPostData
The HttpRequest
PHP Manual

HttpRequest::getQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::getQueryData — Get query data

Описание

public string HttpRequest::getQueryData ( void )

Get the current query data in form of an urlencoded query string.

Возвращаемые значения

Returns a string containing the urlencoded query.

HttpRequest::getPutFile
HttpRequest::getRawPostData
The HttpRequest


Get raw post data

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
The HttpRequest
PHP Manual

HttpRequest::getRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::getRawPostData — Get raw post data

Описание

public string HttpRequest::getRawPostData ( void )

Get previously set raw post data.

Список параметров

Возвращаемые значения

Returns a string containing the currently set raw post data.

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
The HttpRequest


Get raw request message

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
The HttpRequest
PHP Manual

HttpRequest::getRawRequestMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawRequestMessage — Get raw request message

Описание

public string HttpRequest::getRawRequestMessage ( void )

Get sent HTTP message.

Список параметров

Возвращаемые значения

Returns an HttpMessage in a form of a string.

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
The HttpRequest


Get raw response message

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
The HttpRequest
PHP Manual

HttpRequest::getRawResponseMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawResponseMessage — Get raw response message

Описание

public string HttpRequest::getRawResponseMessage ( void )

Get the entire HTTP response.

Список параметров

Возвращаемые значения

Returns the complete web server response, including the headers in a form of a string.

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
The HttpRequest


Get request message

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
The HttpRequest
PHP Manual

HttpRequest::getRequestMessage

(PECL pecl_http >= 0.11.0)

HttpRequest::getRequestMessage — Get request message

Описание

public HttpMessage HttpRequest::getRequestMessage ( void )

Get sent HTTP message.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously sent requests within this request cycle.

Замечание:

Note that the internal request message is immutable, that means that the request message received through HttpRequest::getRequestMessage() will always look the same for the same request, regardless of any changes you may have made to the returned object.

Возвращаемые значения

Returns an HttpMessage object representing the sent request.

Ошибки

Throws HttpMalformedHeadersException, HttpEncodingException.

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
The HttpRequest


Get response body

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
The HttpRequest
PHP Manual

HttpRequest::getResponseBody

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseBody — Get response body

Описание

public string HttpRequest::getResponseBody ( void )

Get the response body after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Список параметров

Возвращаемые значения

Returns a string containing the response body.

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
The HttpRequest


Get response code

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
The HttpRequest
PHP Manual

HttpRequest::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseCode — Get response code

Описание

public int HttpRequest::getResponseCode ( void )

Get the response code after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Возвращаемые значения

Returns an int representing the response code.

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
The HttpRequest


Get response cookie(s)

HttpRequest::getResponseCode
HttpRequest::getResponseData
The HttpRequest
PHP Manual

HttpRequest::getResponseCookies

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseCookies — Get response cookie(s)

Описание

public array HttpRequest::getResponseCookies ([ int $flags = 0 [, array $allowed_extras ]] )

Get response cookie(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Список параметров

flags

http_parse_cookie() flags

allowed_extras

allowed keys treated as extra information instead of cookie names

Возвращаемые значения

Returns an array of stdClass objects like http_parse_cookie() would return.

HttpRequest::getResponseCode
HttpRequest::getResponseData
The HttpRequest


Get response data

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
The HttpRequest
PHP Manual

HttpRequest::getResponseData

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseData — Get response data

Описание

public array HttpRequest::getResponseData ( void )

* Get all response data after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Возвращаемые значения

Returns an associative array with the key "headers" containing an associative array holding all response headers, as well as the key "body" containing a string with the response body.

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
The HttpRequest


Get response header(s)

HttpRequest::getResponseData
HttpRequest::getResponseInfo
The HttpRequest
PHP Manual

HttpRequest::getResponseHeader

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseHeader — Get response header(s)

Описание

public mixed HttpRequest::getResponseHeader ([ string $name ] )

Get response header(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

Список параметров

name

header to read; if empty, all response headers will be returned

Возвращаемые значения

Returns either a string with the value of the header matching name if requested, FALSE on failure, or an associative array containing all response headers.

HttpRequest::getResponseData
HttpRequest::getResponseInfo
The HttpRequest


Get response info

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
The HttpRequest
PHP Manual

HttpRequest::getResponseInfo

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseInfo — Get response info

Описание

public mixed HttpRequest::getResponseInfo ([ string $name ] )

Get response info after the request has been sent.

See http_get() for a full list of returned info.

If redirects were allowed and several responses were received, the data references the last received response.

Список параметров

name

the info to read; if empty or omitted, an associative array containing all available info will be returned

Возвращаемые значения

Returns either a scalar containing the value of the info matching name if requested, FALSE on failure, or an associative array containing all available info.

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
The HttpRequest


Get response message

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
The HttpRequest
PHP Manual

HttpRequest::getResponseMessage

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseMessage — Get response message

Описание

public HttpMessage HttpRequest::getResponseMessage ( void )

Get the full response as HttpMessage object after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously received responses within this request cycle.

Возвращаемые значения

Returns an HttpMessage object of the response.

Ошибки

Throws HttpException, HttpRuntimeException.

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
The HttpRequest


Get response status

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
The HttpRequest
PHP Manual

HttpRequest::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseStatus — Get response status

Описание

public string HttpRequest::getResponseStatus ( void )

Get the response status (i.e. the string after the response code) after the message has been sent.

Возвращаемые значения

Returns a string containing the response status text.

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
The HttpRequest


Get ssl options

HttpRequest::getResponseStatus
HttpRequest::getUrl
The HttpRequest
PHP Manual

HttpRequest::getSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getSslOptions — Get ssl options

Описание

public array HttpRequest::getSslOptions ( void )

Get previously set SSL options.

Возвращаемые значения

Returns an associative array containing any previously set SSL options.

HttpRequest::getResponseStatus
HttpRequest::getUrl
The HttpRequest


Get url

HttpRequest::getSslOptions
HttpRequest::resetCookies
The HttpRequest
PHP Manual

HttpRequest::getUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::getUrl — Get url

Описание

public string HttpRequest::getUrl ( void )

Get the previously set request URL.

Возвращаемые значения

Returns the currently set request url as string.

HttpRequest::getSslOptions
HttpRequest::resetCookies
The HttpRequest


Reset cookies

HttpRequest::getUrl
HttpRequest::send
The HttpRequest
PHP Manual

HttpRequest::resetCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::resetCookies — Reset cookies

Описание

public bool HttpRequest::resetCookies ([ bool $session_only = false ] )

Reset all automatically received/sent cookies.

Замечание:

Note that custom set cookies are not affected.

Список параметров

session_only

whether only session cookies should be reset (needs libcurl >= v7.15.4, else libcurl >= v7.14.1)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::getUrl
HttpRequest::send
The HttpRequest


Send request

HttpRequest::resetCookies
HttpRequest::setContentType
The HttpRequest
PHP Manual

HttpRequest::send

(PECL pecl_http >= 0.10.0)

HttpRequest::send — Send request

Описание

public HttpMessage HttpRequest::send ( void )

Send the HTTP request.

Замечание:

While an exception may be thrown, the transfer could have succeeded at least partially, so you might want to check the return values of various HttpRequest::getResponse*() methods.

Возвращаемые значения

Returns the received response as HttpMessage object.

Ошибки

Throws HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.

Примеры

Пример #1 GET example

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
    $r->send();
    if ($r->getResponseCode() == 200) {
        file_put_contents('local.rss', $r->getResponseBody());
    }
} catch (HttpException $ex) {
    echo $ex;
}
?>

Пример #2 POST example

<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

HttpRequest::resetCookies
HttpRequest::setContentType
The HttpRequest


Set content type

HttpRequest::send
HttpRequest::setCookies
The HttpRequest
PHP Manual

HttpRequest::setContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::setContentType — Set content type

Описание

public bool HttpRequest::setContentType ( string $content_type )

Set the content type the post request should have.

Список параметров

content_type

the content type of the request (primary/secondary)

Возвращаемые значения

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and a secondary part.

HttpRequest::send
HttpRequest::setCookies
The HttpRequest


Set cookies

HttpRequest::setContentType
HttpRequest::setHeaders
The HttpRequest
PHP Manual

HttpRequest::setCookies

(PECL pecl_http >= 0.12.0)

HttpRequest::setCookies — Set cookies

Описание

public bool HttpRequest::setCookies ([ array $cookies ] )

Set custom cookies.

Список параметров

cookies

an associative array as parameter containing cookie name/value pairs; if empty or omitted, all previously set cookies will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setContentType
HttpRequest::setHeaders
The HttpRequest


Set headers

HttpRequest::setCookies
HttpRequest::setMethod
The HttpRequest
PHP Manual

HttpRequest::setHeaders

(PECL pecl_http >= 0.12.0)

HttpRequest::setHeaders — Set headers

Описание

public bool HttpRequest::setHeaders ([ array $headers ] )

Set request header name/value pairs.

Список параметров

headers

an associative array as parameter containing header name/value pairs; if empty or omitted, all previously set headers will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setCookies
HttpRequest::setMethod
The HttpRequest


Set method

HttpRequest::setHeaders
HttpRequest::setOptions
The HttpRequest
PHP Manual

HttpRequest::setMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::setMethod — Set method

Описание

public bool HttpRequest::setMethod ( int $request_method )

Set the request method.

Список параметров

request_method

the request method to use

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setHeaders
HttpRequest::setOptions
The HttpRequest


Set options

HttpRequest::setMethod
HttpRequest::setPostFields
The HttpRequest
PHP Manual

HttpRequest::setOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setOptions — Set options

Описание

public bool HttpRequest::setOptions ([ array $options ] )

Set the request options to use.

Смотрите полный список опции запроса.

Список параметров

options

an associative array, which values will overwrite the currently set request options; if empty or omitted, the options of the HttpRequest object will be reset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setMethod
HttpRequest::setPostFields
The HttpRequest


Set post fields

HttpRequest::setOptions
HttpRequest::setPostFiles
The HttpRequest
PHP Manual

HttpRequest::setPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFields — Set post fields

Описание

public bool HttpRequest::setPostFields ( array $post_data )

Set the POST data entries, overwriting previously set POST data.

Affects only POST and custom requests.

Список параметров

post_data

an associative array containing the post fields; if empty, the post data will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setOptions
HttpRequest::setPostFiles
The HttpRequest


Set post files

HttpRequest::setPostFields
HttpRequest::setPutData
The HttpRequest
PHP Manual

HttpRequest::setPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFiles — Set post files

Описание

public bool HttpRequest::setPostFiles ( array $post_files )

Set files to post, overwriting previously set post files.

Affects only POST and requests. Cannot be used with raw post data.

Список параметров

post_files

an array containing the files to post; if empty, the post files will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setPostFields
HttpRequest::setPutData
The HttpRequest


Set put data

HttpRequest::setPostFiles
HttpRequest::setPutFile
The HttpRequest
PHP Manual

HttpRequest::setPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::setPutData — Set put data

Описание

public bool HttpRequest::setPutData ([ string $put_data ] )

Set PUT data to send, overwriting previously set PUT data.

Affects only PUT requests.

Only either PUT data or PUT file can be used for each request. PUT data has higher precedence and will be used even if a PUT file is set.

Список параметров

put_data

the data to upload

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setPostFiles
HttpRequest::setPutFile
The HttpRequest


Set put file

HttpRequest::setPutData
HttpRequest::setQueryData
The HttpRequest
PHP Manual

HttpRequest::setPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::setPutFile — Set put file

Описание

public bool HttpRequest::setPutFile ([ string $file = "" ] )

Set file to put. Affects only PUT requests.

Список параметров

file

the path to the file to send; if empty or omitted the put file will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setPutData
HttpRequest::setQueryData
The HttpRequest


Set query data

HttpRequest::setPutFile
HttpRequest::setRawPostData
The HttpRequest
PHP Manual

HttpRequest::setQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::setQueryData — Set query data

Описание

public bool HttpRequest::setQueryData ( mixed $query_data )

Set the URL query parameters to use, overwriting previously set query parameters.

Affects any request types.

Список параметров

query_data

a string or associative array parameter containing the pre-encoded query string or to be encoded query fields; if empty, the query data will be unset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setPutFile
HttpRequest::setRawPostData
The HttpRequest


Set raw post data

HttpRequest::setQueryData
HttpRequest::setSslOptions
The HttpRequest
PHP Manual

HttpRequest::setRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::setRawPostData — Set raw post data

Описание

public bool HttpRequest::setRawPostData ([ string $raw_post_data ] )

Set raw post data to send, overwriting previously set raw post data. Don't forget to specify a content type. Affects only POST and custom requests.

Only either post fields or raw post data can be used for each request. Raw post data has higher precedence and will be used even if post fields are set.

Список параметров

raw_post_data

raw post data

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setQueryData
HttpRequest::setSslOptions
The HttpRequest


Set ssl options

HttpRequest::setRawPostData
HttpRequest::setUrl
The HttpRequest
PHP Manual

HttpRequest::setSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setSslOptions — Set ssl options

Описание

public bool HttpRequest::setSslOptions ([ array $options ] )

Set SSL options.

Список параметров

options

an associative array containing any SSL specific options; if empty or omitted, the SSL options will be reset

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setRawPostData
HttpRequest::setUrl
The HttpRequest


Set URL

HttpRequest::setSslOptions
The HttpRequestPool class
The HttpRequest
PHP Manual

HttpRequest::setUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::setUrl — Set URL

Описание

public bool HttpRequest::setUrl ( string $url )

Set the request URL.

Список параметров

url

the request url

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequest::setSslOptions
The HttpRequestPool class
The HttpRequest


The HttpRequestPool class

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpRequestPool implements Iterator , Countable {
public bool attach ( HttpRequest $request )
void __construct ([ HttpRequest $request [, HttpRequest $... ]] )
void __destruct ( void )
bool detach ( HttpRequest $request )
array getAttachedRequests ( void )
array getFinishedRequests ( void )
void reset ( void )
bool send ( void )
protected bool socketPerform ( void )
protected bool socketSelect ([ float $timeout = 0 ] )
}

Class Members

Свойства

The HttpRequestPool class does not have any properties.

Предопределенные константы

The HttpRequestPool class does not have any constants.

Содержание

  • HttpRequestPool::attach — Attach HttpRequest
  • HttpRequestPool::__construct — HttpRequestPool constructor
  • HttpRequestPool::__destruct — HttpRequestPool destructor
  • HttpRequestPool::detach — Detach HttpRequest
  • HttpRequestPool::getAttachedRequests — Get attached requests
  • HttpRequestPool::getFinishedRequests — Get finished requests
  • HttpRequestPool::reset — Reset request pool
  • HttpRequestPool::send — Send all requests
  • HttpRequestPool::socketPerform — Perform socket actions
  • HttpRequestPool::socketSelect — Perform socket select
HttpRequest::setUrl
HttpRequestPool::attach
HTTP


Attach HttpRequest

The HttpRequestPool class
HttpRequestPool::__construct
The HttpRequestPool class
PHP Manual

HttpRequestPool::attach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::attach — Attach HttpRequest

Описание

public bool HttpRequestPool::attach ( HttpRequest $request )

Attach an HttpRequest object to this HttpRequestPool.

Внимание

Set all options prior attaching!

Список параметров

request

an HttpRequest object not already attached to any HttpRequestPool object

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws HttpInvalidParamException, HttpRequestException, HttpRequestPoolException, HttpEncodingException.

The HttpRequestPool class
HttpRequestPool::__construct
The HttpRequestPool class


HttpRequestPool constructor

HttpRequestPool::attach
HttpRequestPool::__destruct
The HttpRequestPool class
PHP Manual

HttpRequestPool::__construct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__construct — HttpRequestPool constructor

Описание

void HttpRequestPool::__construct ([ HttpRequest $request [, HttpRequest $... ]] )

Instantiate a new HttpRequestPool object. An HttpRequestPool is able to send several HttpRequests in parallel.

Accepts virtually infinite optional parameters each referencing an HttpRequest object.

Список параметров

request

HttpRequest object to attach

...

Ошибки

Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

Примеры

Пример #1 A HttpRequestPool example

<?php
try {
    $pool = new HttpRequestPool(
        new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
        new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
    );
    $pool->send();
    foreach($pool as $request) {
        printf("%s is %s (%d)\n",
            $request->getUrl(),
            $request->getResponseCode() ? 'alive' : 'not alive',
            $request->getResponseCode()
        );
    }
} catch (HttpException $e) {
    echo $e;
}
?>

HttpRequestPool::attach
HttpRequestPool::__destruct
The HttpRequestPool class


HttpRequestPool destructor

HttpRequestPool::__construct
HttpRequestPool::detach
The HttpRequestPool class
PHP Manual

HttpRequestPool::__destruct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__destruct — HttpRequestPool destructor

Описание

void HttpRequestPool::__destruct ( void )

Clean up HttpRequestPool object.

HttpRequestPool::__construct
HttpRequestPool::detach
The HttpRequestPool class


Detach HttpRequest

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
The HttpRequestPool class
PHP Manual

HttpRequestPool::detach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::detach — Detach HttpRequest

Описание

bool HttpRequestPool::detach ( HttpRequest $request )

Detach an HttpRequest object from this HttpRequestPool.

Список параметров

request

an HttpRequest object attached to this HttpRequestPool object

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws HttpInvalidParamException, HttpRequestPoolException.

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
The HttpRequestPool class


Get attached requests

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
The HttpRequestPool class
PHP Manual

HttpRequestPool::getAttachedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getAttachedRequests — Get attached requests

Описание

array HttpRequestPool::getAttachedRequests ( void )

Get attached HttpRequest objects.

Список параметров

Возвращаемые значения

Returns an array containing all currently attached HttpRequest objects.

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
The HttpRequestPool class


Get finished requests

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
The HttpRequestPool class
PHP Manual

HttpRequestPool::getFinishedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getFinishedRequests — Get finished requests

Описание

array HttpRequestPool::getFinishedRequests ( void )

Get attached HttpRequest objects that already have finished their work.

Список параметров

Возвращаемые значения

Returns an array containing all attached HttpRequest objects that already have finished their work.

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
The HttpRequestPool class


Reset request pool

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
The HttpRequestPool class
PHP Manual

HttpRequestPool::reset

(PECL pecl_http >= 0.10.0)

HttpRequestPool::reset — Reset request pool

Описание

void HttpRequestPool::reset ( void )

Detach all attached HttpRequest objects.

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
The HttpRequestPool class


Send all requests

HttpRequestPool::reset
HttpRequestPool::socketPerform
The HttpRequestPool class
PHP Manual

HttpRequestPool::send

(PECL pecl_http >= 0.10.0)

HttpRequestPool::send — Send all requests

Описание

bool HttpRequestPool::send ( void )

Send all attached HttpRequest objects in parallel.

Список параметров

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

HttpRequestPool::reset
HttpRequestPool::socketPerform
The HttpRequestPool class


Perform socket actions

HttpRequestPool::send
HttpRequestPool::socketSelect
The HttpRequestPool class
PHP Manual

HttpRequestPool::socketPerform

(PECL pecl_http >= 0.15.0)

HttpRequestPool::socketPerform — Perform socket actions

Описание

protected bool HttpRequestPool::socketPerform ( void )

Returns TRUE until each request has finished its transaction.

Возвращаемые значения

Returns TRUE until each request has finished its transaction.

Примеры

Пример #1 A HttpRequestPool::socketPerform() example

<?php
class MyPool extends HttpRequestPool
{
    public function send()
    {
        while ($this->socketPerform()) {
            if (!$this->socketSelect()) {
                throw new HttpSocketExcpetion;
            }
        }
    }

    protected final function socketPerform()
    {
        $result = parent::socketPerform();
        foreach ($this->getFinishedRequests() as $r) {
            $this->detach($r);
            // handle response of finished request
        }
        return $result;
    }
}
?>

HttpRequestPool::send
HttpRequestPool::socketSelect
The HttpRequestPool class


Perform socket select

HttpRequestPool::socketPerform
The HttpResponse
The HttpRequestPool class
PHP Manual

HttpRequestPool::socketSelect

(PECL pecl_http >= 0.10.0)

HttpRequestPool::socketSelect — Perform socket select

Описание

protected bool HttpRequestPool::socketSelect ([ float $timeout = 0 ] )

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequestPool::socketPerform
The HttpResponse
The HttpRequestPool class


The HttpResponse

(Информация о версии неизвестна, возможно, только в SVN)

Обзор классов

HttpResponse {
static void capture ( void )
static int getBufferSize ( void )
static bool getCache ( void )
static string getCacheControl ( void )
static string getContentDisposition ( void )
static string getContentType ( void )
static string getData ( void )
static string getETag ( void )
static string getFile ( void )
static bool getGzip ( void )
static mixed getHeader ([ string $name ] )
static int getLastModified ( void )
static string getRequestBody ( void )
static resource getRequestBodyStream ( void )
static array getRequestHeaders ( void )
static resource getStream ( void )
static double getThrottleDelay ( void )
static string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
static void redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )
static bool send ([ bool $clean_ob = true ] )
static bool setBufferSize ( int $bytes )
static bool setCache ( bool $cache )
static bool setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )
static bool setContentDisposition ( string $filename [, bool $inline = false ] )
static bool setContentType ( string $content_type )
static bool setData ( mixed $data )
static bool setETag ( string $etag )
static bool setFile ( string $file )
static bool setGzip ( bool $gzip )
static bool setHeader ( string $name [, mixed $value [, bool $replace = true ]] )
static bool setLastModified ( int $timestamp )
static bool setStream ( resource $stream )
static bool setThrottleDelay ( float $seconds )
static bool status ( int $status )
}

Class Members

Свойства

Static Properties
Modifiers | Type | Name | Description
protected | boolean | cache | whether caching the response should be attempted
protected | boolean | gzip | whether the sent entity should be gzip'ed on the fly
protected | string | eTag | the generated or custom ETag
protected | integer | lastModified | the generated or custom timestamp of last modification
protected | string | cacheControl | Cache-Control setting
protected | string | contentType | the Content-Type of the sent entity
protected | string | contentDisposition | the Content-Disposition of the sent entity
protected | integer | bufferSize | the chunk buffer size used for throttling
protected | double | throttleDelay | the seconds to delay when throttling

Предопределенные константы

Type | Name | Description
integer | REDIRECT | guess applicable redirect method
integer | REDIRECT_PERM | permanent redirect (301 Moved permanently)
integer | REDIRECT_FOUND | standard redirect (302 Found)
integer | REDIRECT_POST | redirect applicable to POST requests (303 See other)
integer | REDIRECT_PROXY | proxy redirect (305 Use proxy)
integer | REDIRECT_TEMP | temporary redirect (307 Temporary Redirect)

Содержание

  • HttpResponse::capture — Capture script output
  • HttpResponse::getBufferSize — Get buffer size
  • HttpResponse::getCache — Get cache
  • HttpResponse::getCacheControl — Get cache control
  • HttpResponse::getContentDisposition — Get content disposition
  • HttpResponse::getContentType — Get content type
  • HttpResponse::getData — Get data
  • HttpResponse::getETag — Get ETag
  • HttpResponse::getFile — Get file
  • HttpResponse::getGzip — Get gzip
  • HttpResponse::getHeader — Get header
  • HttpResponse::getLastModified — Get last modified
  • HttpResponse::getRequestBody — Get request body
  • HttpResponse::getRequestBodyStream — Получить поток тела запроса
  • HttpResponse::getRequestHeaders — Get request headers
  • HttpResponse::getStream — Get Stream
  • HttpResponse::getThrottleDelay — Get throttle delay
  • HttpResponse::guessContentType — Guess content type
  • HttpResponse::redirect — Redirect
  • HttpResponse::send — Send response
  • HttpResponse::setBufferSize — Set buffer size
  • HttpResponse::setCache — Set cache
  • HttpResponse::setCacheControl — Set cache control
  • HttpResponse::setContentDisposition — Set content disposition
  • HttpResponse::setContentType — Set content type
  • HttpResponse::setData — Set data
  • HttpResponse::setETag — Set ETag
  • HttpResponse::setFile — Set file
  • HttpResponse::setGzip — Set gzip
  • HttpResponse::setHeader — Set header
  • HttpResponse::setLastModified — Set last modified
  • HttpResponse::setStream — Set stream
  • HttpResponse::setThrottleDelay — Set throttle delay
  • HttpResponse::status — Send HTTP response status
HttpRequestPool::socketSelect
HttpResponse::capture
HTTP


Capture script output

The HttpResponse
HttpResponse::getBufferSize
The HttpResponse
PHP Manual

HttpResponse::capture

(PECL pecl_http >= 0.10.0)

HttpResponse::capture — Capture script output

Описание

static void HttpResponse::capture ( void )

Capture script output.

Примеры

Пример #1 A HttpResponse::capture() example

<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// script follows
?>

Смотрите также

  • HttpResponse::send() - Send response

The HttpResponse
HttpResponse::getBufferSize
The HttpResponse


Get buffer size

HttpResponse::capture
HttpResponse::getCache
The HttpResponse
PHP Manual

HttpResponse::getBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::getBufferSize — Get buffer size

Описание

static int HttpResponse::getBufferSize ( void )

Get current buffer size.

Возвращаемые значения

Returns an int representing the current buffer size in bytes.

Смотрите также

  • HttpResponse::setBufferSize() - Set buffer size
  • HttpResponse::getThrottleDelay() - Get throttle delay
  • HttpResponse::setThrottleDelay() - Set throttle delay

HttpResponse::capture
HttpResponse::getCache
The HttpResponse


Get cache

HttpResponse::getBufferSize
HttpResponse::getCacheControl
The HttpResponse
PHP Manual

HttpResponse::getCache

(PECL pecl_http >= 0.10.0)

HttpResponse::getCache — Get cache

Описание

static bool HttpResponse::getCache ( void )

Get current caching setting.

Возвращаемые значения

Returns TRUE if caching should be attempted, else FALSE.

Смотрите также

  • HttpResponse::setCacheControl() - Set cache control
  • HttpResponse::getCacheControl() - Get cache control
  • HttpResponse::setCache() - Set cache

HttpResponse::getBufferSize
HttpResponse::getCacheControl
The HttpResponse


Get cache control

HttpResponse::getCache
HttpResponse::getContentDisposition
The HttpResponse
PHP Manual

HttpResponse::getCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::getCacheControl — Get cache control

Описание

static string HttpResponse::getCacheControl ( void )

Get current Cache-Control header setting.

Возвращаемые значения

Returns the current cache control setting as a string like sent in a header.

Смотрите также

  • HttpResponse::setCacheControl() - Set cache control
  • HttpResponse::setCache() - Set cache
  • HttpResponse::getCache() - Get cache

HttpResponse::getCache
HttpResponse::getContentDisposition
The HttpResponse


Get content disposition

HttpResponse::getCacheControl
HttpResponse::getContentType
The HttpResponse
PHP Manual

HttpResponse::getContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentDisposition — Get content disposition

Описание

static string HttpResponse::getContentDisposition ( void )

Get current Content-Disposition setting.

Возвращаемые значения

Returns the current content disposition as string like sent in a header.

Смотрите также

  • HttpResponse::setContentDisposition() - Set content disposition
  • HttpResponse::getContentType() - Get content type
  • HttpResponse::setContentType() - Set content type

HttpResponse::getCacheControl
HttpResponse::getContentType
The HttpResponse


Get content type

HttpResponse::getContentDisposition
HttpResponse::getData
The HttpResponse
PHP Manual

HttpResponse::getContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentType — Get content type

Описание

static string HttpResponse::getContentType ( void )

Get current Content-Type header setting.

Возвращаемые значения

Returns the currently set content type as string.

Смотрите также

  • HttpResponse::getContentDisposition() - Get content disposition
  • HttpResponse::setContentDisposition() - Set content disposition
  • HttpResponse::setContentType() - Set content type
  • HttpResponse::guessContentType() - Guess content type

HttpResponse::getContentDisposition
HttpResponse::getData
The HttpResponse


Get data

HttpResponse::getContentType
HttpResponse::getETag
The HttpResponse
PHP Manual

HttpResponse::getData

(PECL pecl_http >= 0.10.0)

HttpResponse::getData — Get data

Описание

static string HttpResponse::getData ( void )

Get the previously set data to be sent.

Возвращаемые значения

Returns a string containing the previously set data to send.

Смотрите также

  • HttpResponse::setData() - Set data
  • HttpResponse::getFile() - Get file
  • HttpResponse::setFile() - Set file
  • HttpResponse::getStream() - Get Stream
  • HttpResponse::setStream() - Set stream

HttpResponse::getContentType
HttpResponse::getETag
The HttpResponse


Get ETag

HttpResponse::getData
HttpResponse::getFile
The HttpResponse
PHP Manual

HttpResponse::getETag

(PECL pecl_http >= 0.10.0)

HttpResponse::getETag — Get ETag

Описание

static string HttpResponse::getETag ( void )

Get calculated or previously set custom ETag.

Возвращаемые значения

Returns the calculated or previously set ETag as unquoted string.

Смотрите также

  • HttpResponse::getLastModified() - Get last modified
  • HttpResponse::setLastModified() - Set last modified
  • HttpResponse::setETag() - Set ETag

HttpResponse::getData
HttpResponse::getFile
The HttpResponse


Get file

HttpResponse::getETag
HttpResponse::getGzip
The HttpResponse
PHP Manual

HttpResponse::getFile

(PECL pecl_http >= 0.10.0)

HttpResponse::getFile — Get file

Описание

static string HttpResponse::getFile ( void )

Get the previously set file to be sent.

Возвращаемые значения

Returns the previously set path to the file to send as string.

Смотрите также

  • HttpResponse::getData() - Get data
  • HttpResponse::setData() - Set data
  • HttpResponse::setFile() - Set file
  • HttpResponse::getStream() - Get Stream
  • HttpResponse::setStream() - Set stream

HttpResponse::getETag
HttpResponse::getGzip
The HttpResponse


Get gzip

HttpResponse::getFile
HttpResponse::getHeader
The HttpResponse
PHP Manual

HttpResponse::getGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::getGzip — Get gzip

Описание

static bool HttpResponse::getGzip ( void )

Get current gzip'ing setting.

Возвращаемые значения

Returns TRUE if GZip compression is enabled, else FALSE.

Смотрите также

  • HttpResponse::setGzip() - Set gzip

HttpResponse::getFile
HttpResponse::getHeader
The HttpResponse


Get header

HttpResponse::getGzip
HttpResponse::getLastModified
The HttpResponse
PHP Manual

HttpResponse::getHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::getHeader — Get header

Описание

static mixed HttpResponse::getHeader ([ string $name ] )

Get header(s) about to be sent.

Замечание:

Следующие SAPI(s) могут работать не так как ожидается: Apache2 w/PHP < 5.1.3.

Список параметров

name

specifies the name of the header to read; if empty or omitted, an associative array with all headers will be returned

Возвращаемые значения

Returns either a string containing the value of the header matching name, FALSE on failure, or an associative array with all headers.

Смотрите также

  • HttpResponse::setHeader() - Set header

HttpResponse::getGzip
HttpResponse::getLastModified
The HttpResponse


Get last modified

HttpResponse::getHeader
HttpResponse::getRequestBody
The HttpResponse
PHP Manual

HttpResponse::getLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::getLastModified — Get last modified

Описание

static int HttpResponse::getLastModified ( void )

Get calculated or previously set custom Last-Modified date.

Возвращаемые значения

Returns the calculated or previously set Unix timestamp.

Смотрите также

  • HttpResponse::setLastModified() - Set last modified
  • HttpResponse::getETag() - Get ETag
  • HttpResponse::setETag() - Set ETag

HttpResponse::getHeader
HttpResponse::getRequestBody
The HttpResponse


Get request body

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
The HttpResponse
PHP Manual

HttpResponse::getRequestBody

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBody — Get request body

Описание

static string HttpResponse::getRequestBody ( void )

Эта функция является псевдонимом: http_get_request_body().

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
The HttpResponse


Получить поток тела запроса

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
The HttpResponse
PHP Manual

HttpResponse::getRequestBodyStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBodyStream — Получить поток тела запроса

Описание

static resource HttpResponse::getRequestBodyStream ( void )

Эта функция является псевдонимом: http_get_request_body_stream().

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
The HttpResponse


Get request headers

HttpResponse::getRequestBodyStream
HttpResponse::getStream
The HttpResponse
PHP Manual

HttpResponse::getRequestHeaders

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestHeaders — Get request headers

Описание

static array HttpResponse::getRequestHeaders ( void )

Эта функция является псевдонимом: http_get_request_headers().

HttpResponse::getRequestBodyStream
HttpResponse::getStream
The HttpResponse


Get Stream

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
The HttpResponse
PHP Manual

HttpResponse::getStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getStream — Get Stream

Описание

static resource HttpResponse::getStream ( void )

Get the previously set resource to be sent.

Список параметров

Возвращаемые значения

Returns the previously set resource.

Смотрите также

  • HttpResponse::getData() - Get data
  • HttpResponse::setData() - Set data
  • HttpResponse::getFile() - Get file
  • HttpResponse::setFile() - Set file
  • HttpResponse::setStream() - Set stream

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
The HttpResponse


Get throttle delay

HttpResponse::getStream
HttpResponse::guessContentType
The HttpResponse
PHP Manual

HttpResponse::getThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::getThrottleDelay — Get throttle delay

Описание

static double HttpResponse::getThrottleDelay ( void )

Get the current throttle delay.

Возвращаемые значения

Returns a double representing the throttle delay in seconds.

Смотрите также

  • HttpResponse::getBufferSize() - Get buffer size
  • HttpResponse::setBufferSize() - Set buffer size
  • HttpResponse::setThrottleDelay() - Set throttle delay

HttpResponse::getStream
HttpResponse::guessContentType
The HttpResponse


Guess content type

HttpResponse::getThrottleDelay
HttpResponse::redirect
The HttpResponse
PHP Manual

HttpResponse::guessContentType

(PECL pecl_http >= 0.13.0)

HttpResponse::guessContentType — Guess content type

Описание

static string HttpResponse::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Attempts to guess the content type of supplied payload through libmagic.

If the attempt is successful, the guessed Content-Type will automatically be set as response Content-Type.

Список параметров

magic_file

specifies the magic.mime database to use

magic_mode

flags for libmagic

Возвращаемые значения

Returns the guessed content type on success или FALSE в случае возникновения ошибки.

Ошибки

Throws HttpRuntimeException, HttpInvalidParamException.

Смотрите также

  • HttpResponse::getContentType() - Get content type
  • HttpResponse::setContentType() - Set content type

HttpResponse::getThrottleDelay
HttpResponse::redirect
The HttpResponse


Redirect

HttpResponse::guessContentType
HttpResponse::send
The HttpResponse
PHP Manual

HttpResponse::redirect

(PECL pecl_http >= 0.10.0)

HttpResponse::redirect — Redirect

Описание

static void HttpResponse::redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )

Эта функция является псевдонимом: http_redirect().

HttpResponse::guessContentType
HttpResponse::send
The HttpResponse


Send response

HttpResponse::redirect
HttpResponse::setBufferSize
The HttpResponse
PHP Manual

HttpResponse::send

(PECL pecl_http >= 0.10.0)

HttpResponse::send — Send response

Описание

static bool HttpResponse::send ([ bool $clean_ob = true ] )

Finally send the entity.

A successful caching attempt will exit PHP, and write a log entry if the INI-опцию http.log.cache is set. Смотрите INI-опцию http.force_exit для пояснения термина "выходит".

Список параметров

clean_ob

whether to destroy all previously started output handlers and their buffers

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A HttpResponse::send() example

<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

Смотрите также

  • HttpResponse::capture() - Capture script output

HttpResponse::redirect
HttpResponse::setBufferSize
The HttpResponse


Set buffer size

HttpResponse::send
HttpResponse::setCache
The HttpResponse
PHP Manual

HttpResponse::setBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::setBufferSize — Set buffer size

Описание

static bool HttpResponse::setBufferSize ( int $bytes )

Sets the send buffer size of the throttling mechanism.

Замечание: Обеспечивает базовый регулирующий механизм, который будет сдерживать текущий процесс или нить до полной отправки данных.

Замечание:

Следующие SAPI(s) могут работать не так как ожидается: FastCGI.

Список параметров

bytes

the chunk size in bytes

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getBufferSize() - Get buffer size
  • HttpResponse::getThrottleDelay() - Get throttle delay
  • HttpResponse::setThrottleDelay() - Set throttle delay

HttpResponse::send
HttpResponse::setCache
The HttpResponse


Set cache

HttpResponse::setBufferSize
HttpResponse::setCacheControl
The HttpResponse
PHP Manual

HttpResponse::setCache

(PECL pecl_http >= 0.10.0)

HttpResponse::setCache — Set cache

Описание

static bool HttpResponse::setCache ( bool $cache )

Whether it should be attempted to cache the entity.

This will result in necessary caching headers and checks of clients If-Modified-Since and If-None-Match headers. If one of those headers matches a 304 Not Modified status code will be issued.

Замечание:

If you're using sessions, be sure that you set session.cache_limiter to something more appropriate than "no-cache"!

Список параметров

cache

whether caching should be attempted

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::setCacheControl() - Set cache control
  • HttpResponse::getCacheControl() - Get cache control
  • HttpResponse::getCachel()

HttpResponse::setBufferSize
HttpResponse::setCacheControl
The HttpResponse


Set cache control

HttpResponse::setCache
HttpResponse::setContentDisposition
The HttpResponse
PHP Manual

HttpResponse::setCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::setCacheControl — Set cache control

Описание

static bool HttpResponse::setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )

Define a custom Cache-Control header, usually being private or public;

Список параметров

control

the primary cache control setting

max_age

the max-age in seconds, suggesting how long the cache entry is valid on the client side

must_revalidate

whether the cached entity should be revalidated by the client for every request

Возвращаемые значения

Returns TRUE on success, or FALSE if control does not match one of public, private or no-cache.

Смотрите также

  • HttpResponse::getCacheControl() - Get cache control
  • HttpResponse::setCache() - Set cache
  • HttpResponse::getCache() - Get cache

HttpResponse::setCache
HttpResponse::setContentDisposition
The HttpResponse


Set content disposition

HttpResponse::setCacheControl
HttpResponse::setContentType
The HttpResponse
PHP Manual

HttpResponse::setContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentDisposition — Set content disposition

Описание

static bool HttpResponse::setContentDisposition ( string $filename [, bool $inline = false ] )

Set the Content-Disposition. Заголовок Content-Disposition очень полезен, если данные на самом деле читаются из файла или чего-то подобного, что должно быть "сохранено" клиентом/пользователем (т.е. с помощью всплывающего окна браузера "Сохранить как...").

Список параметров

filename

the file name the "Save as..." dialog should display

inline

if set to true and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getContentDisposition() - Get content disposition
  • HttpResponse::getContentType() - Get content type
  • HttpResponse::setContentType() - Set content type

HttpResponse::setCacheControl
HttpResponse::setContentType
The HttpResponse


Set content type

HttpResponse::setContentDisposition
HttpResponse::setData
The HttpResponse
PHP Manual

HttpResponse::setContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentType — Set content type

Описание

static bool HttpResponse::setContentType ( string $content_type )

Set the Content-Type of the sent entity.

Список параметров

content_type

the content type of the sent entity (primary/secondary)

Возвращаемые значения

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and secondary content type part.

Смотрите также

  • HttpResponse::getContentDisposition() - Get content disposition
  • HttpResponse::setContentDisposition() - Set content disposition
  • HttpResponse::getContentType() - Get content type
  • HttpResponse::guessContentType() - Guess content type

HttpResponse::setContentDisposition
HttpResponse::setData
The HttpResponse


Set data

HttpResponse::setContentType
HttpResponse::setETag
The HttpResponse
PHP Manual

HttpResponse::setData

(PECL pecl_http >= 0.10.0)

HttpResponse::setData — Set data

Описание

static bool HttpResponse::setData ( mixed $data )

Set the data to be sent.

Замечание: Вычисленные или определенные ранее ETag и Last-Modified будут пересчитаны и переопределены заново.

Список параметров

data

data to send

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getData() - Get data
  • HttpResponse::getFile() - Get file
  • HttpResponse::setFile() - Set file
  • HttpResponse::getStream() - Get Stream
  • HttpResponse::setStream() - Set stream

HttpResponse::setContentType
HttpResponse::setETag
The HttpResponse


Set ETag

HttpResponse::setData
HttpResponse::setFile
The HttpResponse
PHP Manual

HttpResponse::setETag

(PECL pecl_http >= 0.10.0)

HttpResponse::setETag — Set ETag

Описание

static bool HttpResponse::setETag ( string $etag )

Set a custom ETag. Use this only if you know what you're doing.

Список параметров

etag

unquoted string as parameter containing the ETag

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getLastModified() - Get last modified
  • HttpResponse::setLastModified() - Set last modified
  • HttpResponse::getETag() - Get ETag

HttpResponse::setData
HttpResponse::setFile
The HttpResponse


Set file

HttpResponse::setETag
HttpResponse::setGzip
The HttpResponse
PHP Manual

HttpResponse::setFile

(PECL pecl_http >= 0.10.0)

HttpResponse::setFile — Set file

Описание

static bool HttpResponse::setFile ( string $file )

Set the file to be sent.

Замечание: Вычисленные или определенные ранее ETag и Last-Modified будут пересчитаны и переопределены заново.

Список параметров

file

the path to the file to send

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getData() - Get data
  • HttpResponse::setData() - Set data
  • HttpResponse::getFile() - Get file
  • HttpResponse::getStream() - Get Stream
  • HttpResponse::setStream() - Set stream

HttpResponse::setETag
HttpResponse::setGzip
The HttpResponse


Set gzip

HttpResponse::setFile
HttpResponse::setHeader
The HttpResponse
PHP Manual

HttpResponse::setGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::setGzip — Set gzip

Описание

static bool HttpResponse::setGzip ( bool $gzip )

Enable on-thy-fly gzip'ing of the sent entity.

Список параметров

gzip

whether GZip compression should be enabled

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getGzip() - Get gzip

HttpResponse::setFile
HttpResponse::setHeader
The HttpResponse


Set header

HttpResponse::setGzip
HttpResponse::setLastModified
The HttpResponse
PHP Manual

HttpResponse::setHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::setHeader — Set header

Описание

static bool HttpResponse::setHeader ( string $name [, mixed $value [, bool $replace = true ]] )

Send an HTTP header.

Список параметров

name

the name of the header

value

the value of the header; if not set, no header with this name will be sent

replace

whether an existing header should be replaced

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getHeader() - Get header

HttpResponse::setGzip
HttpResponse::setLastModified
The HttpResponse


Set last modified

HttpResponse::setHeader
HttpResponse::setStream
The HttpResponse
PHP Manual

HttpResponse::setLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::setLastModified — Set last modified

Описание

static bool HttpResponse::setLastModified ( int $timestamp )

Set a custom Last-Modified date.

Список параметров

timestamp

Unix timestamp representing the last modification time of the sent entity

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getLastModified() - Get last modified
  • HttpResponse::getETag() - Get ETag
  • HttpResponse::setETag() - Set ETag

HttpResponse::setHeader
HttpResponse::setStream
The HttpResponse


Set stream

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
The HttpResponse
PHP Manual

HttpResponse::setStream

(PECL pecl_http >= 0.10.0)

HttpResponse::setStream — Set stream

Описание

static bool HttpResponse::setStream ( resource $stream )

Set the resource to be sent.

Замечание: Вычисленные или определенные ранее ETag и Last-Modified будут пересчитаны и переопределены заново.

Список параметров

stream

already opened stream from which the data to send will be read

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getData() - Get data
  • HttpResponse::setData() - Set data
  • HttpResponse::getFile() - Get file
  • HttpResponse::setFile() - Set file
  • HttpResponse::getStream() - Get Stream

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
The HttpResponse


Set throttle delay

HttpResponse::setStream
HttpResponse::status
The HttpResponse
PHP Manual

HttpResponse::setThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::setThrottleDelay — Set throttle delay

Описание

static bool HttpResponse::setThrottleDelay ( float $seconds )

Sets the throttle delay.

Замечание: Обеспечивает базовый регулирующий механизм, который будет сдерживать текущий процесс или нить до полной отправки данных.

Замечание:

Следующие SAPI(s) могут работать не так как ожидается: FastCGI.

Список параметров

seconds

seconds to sleep after each chunk sent

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • HttpResponse::getBufferSize() - Get buffer size
  • HttpResponse::setBufferSize() - Set buffer size
  • HttpResponse::getThrottleDelay() - Get throttle delay

HttpResponse::setStream
HttpResponse::status
The HttpResponse


Send HTTP response status

HttpResponse::setThrottleDelay
HTTP Функции
The HttpResponse
PHP Manual

HttpResponse::status

(PECL pecl_http >= 0.12.0)

HttpResponse::status — Send HTTP response status

Описание

static bool HttpResponse::status ( int $status )

Эта функция является псевдонимом: http_send_status().

HttpResponse::setThrottleDelay
HTTP Функции
The HttpResponse


HTTP Функции

Built-in HTTP related functions previously listed on this page can be found in the networking category.

The following functions do not need the HTTP module to be present: header(), headers_list(), headers_sent(), setcookie() и setrawcookie().

Function groups

Caching

  • http_cache_etag()
  • http_cache_last_modified()

Encodings

  • http_chunked_decode()
  • http_deflate()
  • http_inflate()

Miscellaneous

  • http_build_cookie()
  • http_date()
  • http_get_request_body_stream()
  • http_get_request_body()
  • http_get_request_headers()
  • http_match_etag()
  • http_match_modified()
  • http_match_request_header()
  • http_support()

Negotiation

  • http_negotiate_charset()
  • http_negotiate_content_type()
  • http_negotiate_language()

Outputhandlers

  • ob_deflatehandler()
  • ob_etaghandler()
  • ob_inflatehandler()

Parsers

  • http_parse_cookie()
  • http_parse_headers()
  • http_parse_message()
  • http_parse_params()

Requests

  • http_get()
  • http_head()
  • http_post_data()
  • http_post_fields()
  • http_put_data()
  • http_put_file()
  • http_put_stream()
  • http_request_body_encode()
  • http_request_method_exists()
  • http_request_method_name()
  • http_request_method_register()
  • http_request_method_unregister()
  • http_request()

Responses

  • http_redirect()
  • http_send_content_disposition()
  • http_send_content_type()
  • http_send_data()
  • http_send_file()
  • http_send_last_modified()
  • http_send_status()
  • http_send_stream()
  • http_throttle()

URLs

  • http_build_str()
  • http_build_url()

Persistent Handles

  • http_persistent_handles_count()
  • http_persistent_handles_ident()
  • http_persistent_handles_clean()

Содержание

  • http_cache_etag — Caching by ETag
  • http_cache_last_modified — Caching by last modification
  • http_chunked_decode — Decode chunked-encoded data
  • http_deflate — Deflate data
  • http_inflate — Inflate data
  • http_build_cookie — Build cookie string
  • http_date — Compose HTTP RFC compliant date
  • http_get_request_body_stream — Get request body as stream
  • http_get_request_body — Get request body as string
  • http_get_request_headers — Get request headers as array
  • http_match_etag — Match ETag
  • http_match_modified — Match last modification
  • http_match_request_header — Match any header
  • http_support — Check built-in HTTP support
  • http_negotiate_charset — Negotiate clients preferred character set
  • http_negotiate_content_type — Negotiate clients preferred content type
  • http_negotiate_language — Negotiate clients preferred language
  • ob_deflatehandler — Deflate output handler
  • ob_etaghandler — ETag output handler
  • ob_inflatehandler — Inflate output handler
  • http_parse_cookie — Parse HTTP cookie
  • http_parse_headers — Parse HTTP headers
  • http_parse_message — Parse HTTP messages
  • http_parse_params — Parse parameter list
  • http_persistent_handles_clean — Clean up persistent handles
  • http_persistent_handles_count — Stat persistent handles
  • http_persistent_handles_ident — Get/set ident of persistent handles
  • http_get — Perform GET request
  • http_head — Perform HEAD request
  • http_post_data — Perform POST request with pre-encoded data
  • http_post_fields — Perform POST request with data to be encoded
  • http_put_data — Perform PUT request with data
  • http_put_file — Perform PUT request with file
  • http_put_stream — Perform PUT request with stream
  • http_request_body_encode — Encode request body
  • http_request_method_exists — Check whether request method exists
  • http_request_method_name — Get request method name
  • http_request_method_register — Register request method
  • http_request_method_unregister — Unregister request method
  • http_request — Perform custom request
  • http_redirect — Issue HTTP redirect
  • http_send_content_disposition — Send Content-Disposition
  • http_send_content_type — Send Content-Type
  • http_send_data — Send arbitrary data
  • http_send_file — Send file
  • http_send_last_modified — Send Last-Modified
  • http_send_status — Send HTTP response status
  • http_send_stream — Send stream
  • http_throttle — HTTP throttling
  • http_build_str — Build query string
  • http_build_url — Build a URL
HttpResponse::status
http_cache_etag
HTTP


Caching by ETag

HTTP Функции
http_cache_last_modified
HTTP Функции
PHP Manual

http_cache_etag

(PECL pecl_http >= 0.1.0)

http_cache_etag — Caching by ETag

Описание

bool http_cache_etag ([ string $etag ] )

Attempts to cache the sent entity by its ETag, either supplied or generated by the hash algorithm specified by the INI-опцию http.etag.mode.

If the clients If-None-Match header matches the supplied/calculated ETag, the body is considered cached on the clients side and a 304 Not Modified status code is issued.

A log entry is written to the cache log if the INI-опцию http.log.cache is set and the cache attempt was successful.

Замечание: Эта функция может быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

If this function is used outside the http_send_*() API, it facilitates the ob_etaghandler().

Список параметров

etag

custom ETag

Возвращаемые значения

Возвращает FALSE или выходит при успешном завершении работы with 304 Not Modified if the entity is cached. Смотрите INI-опцию http.force_exit для пояснения термина "выходит".

Примеры

Пример #1 A http_cache_etag() example

<?php
http_cache_etag();
http_send_data("data");
?>

Смотрите также

  • http_cache_last_modified() - Caching by last modification
  • ob_etaghandler() - ETag output handler
  • http_match_etag() - Match ETag
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

HTTP Функции
http_cache_last_modified
HTTP Функции


Caching by last modification

http_cache_etag
http_chunked_decode
HTTP Функции
PHP Manual

http_cache_last_modified

(PECL pecl_http >= 0.1.0)

http_cache_last_modified — Caching by last modification

Описание

bool http_cache_last_modified ([ int $timestamp_or_expires ] )

Attempts to cache the sent entity by its last modification date.

If the supplied argument is greater than 0, it is handled as timestamp and will be sent as date of last modification. If it is 0 or omitted, the current time will be sent as Last-Modified date. If it's negative, it is handled as expiration time in seconds, which means that if the requested last modification date is not between the calculated timespan, the Last-Modified header is updated and the actual body will be sent.

A log entry will be written to the cache log if the INI-опцию http.log.cache is set and the cache attempt was successful.

Замечание: Эта функция может быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

Список параметров

timestamp_or_expires

Unix timestamp

Возвращаемые значения

Возвращает FALSE или выходит при успешном завершении работы with 304 Not Modified if the entity is cached. Смотрите INI-опцию http.force_exit для пояснения термина "выходит".

Примеры

Пример #1 A http_cache_last_modified() example

Caching for 5 seconds.

<?php
http_cache_last_modified(-5);
printf("%s\n", http_date());
?>

Смотрите также

  • http_cache_etag() - Caching by ETag
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_cache_etag
http_chunked_decode
HTTP Функции


Decode chunked-encoded data

http_cache_last_modified
http_deflate
HTTP Функции
PHP Manual

http_chunked_decode

(PECL pecl_http >= 0.1.0)

http_chunked_decode — Decode chunked-encoded data

Описание

string http_chunked_decode ( string $encoded )

Decodes a string which is HTTP-chunked encoded.

Список параметров

encoded

chunked encoded string

Возвращаемые значения

Returns the decoded string on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A http_chunked_decode() example

<?php
$string = "".
    "05\r\n".
    "this \r\n".
    "07\r\n".
    "string \r\n".
    "12\r\n".
    "is chunked encoded\r\n".
    "01\n\r\n".
    "00";
echo http_chunked_decode($string);
?>

Результат выполнения данного примера:

this string is chunked encoded

http_cache_last_modified
http_deflate
HTTP Функции


Deflate data

http_chunked_decode
http_inflate
HTTP Функции
PHP Manual

http_deflate

(PECL pecl_http >= 0.15.0)

http_deflate — Deflate data

Описание

string http_deflate ( string $data [, int $flags = 0 ] )

Compress data with gzip, zlib AKA deflate or raw deflate encoding.

See the deflate constants table for possible values for the flags parameter.

Список параметров

data

String containing the data that should be encoded

flags

deflate options

Возвращаемые значения

Returns the encoded string on success, or NULL on failure.

Смотрите также

  • http_inflate() - Inflate data
  • HttpDeflateStream

http_chunked_decode
http_inflate
HTTP Функции


Inflate data

http_deflate
http_build_cookie
HTTP Функции
PHP Manual

http_inflate

(PECL pecl_http >= 0.15.0)

http_inflate — Inflate data

Описание

string http_inflate ( string $data )

Decompress data compressed with either gzip, deflate AKA zlib or raw deflate encoding.

Список параметров

data

string containing the compressed data

Возвращаемые значения

Returns the decoded string on success, or NULL on failure.

Смотрите также

  • http_deflate() - Deflate data
  • HttpInflateStream

http_deflate
http_build_cookie
HTTP Функции


Build cookie string

http_inflate
http_date
HTTP Функции
PHP Manual

http_build_cookie

(PECL pecl_http >= 1.2.0)

http_build_cookie — Build cookie string

Описание

string http_build_cookie ( array $cookie )

Build a cookie string from an array/object like returned by http_parse_cookie().

Список параметров

cookie

a cookie list like returned from http_parse_cookie()

Возвращаемые значения

Returns the cookie(s) as string.

Смотрите также

  • http_parse_cookie() - Parse HTTP cookie

http_inflate
http_date
HTTP Функции


Compose HTTP RFC compliant date

http_build_cookie
http_get_request_body_stream
HTTP Функции
PHP Manual

http_date

(PECL pecl_http >= 0.1.0)

http_date — Compose HTTP RFC compliant date

Описание

string http_date ([ int $timestamp ] )

Compose a valid HTTP date regarding RFC 1123 looking like: Wed, 22 Dec 2004 11:34:47 GMT.

Список параметров

timestamp

Unix timestamp; current time if omitted

Возвращаемые значения

Returns the HTTP date as string.

Смотрите также

  • date() - Форматирует вывод системной даты/времени

http_build_cookie
http_get_request_body_stream
HTTP Функции


Get request body as stream

http_date
http_get_request_body
HTTP Функции
PHP Manual

http_get_request_body_stream

(PECL pecl_http >= 0.22.0)

http_get_request_body_stream — Get request body as stream

Описание

resource http_get_request_body_stream ( void )

Create a stream to read the raw request body (e.g. POST or PUT data).

This function can only be used once if the request method was another than POST.

Список параметров

Возвращаемые значения

Returns the raw request body as stream on success or NULL on failure.

Смотрите также

  • http_get_request_body() - Get request body as string
  • http_get_request_headers() - Get request headers as array
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_date
http_get_request_body
HTTP Функции


Get request body as string

http_get_request_body_stream
http_get_request_headers
HTTP Функции
PHP Manual

http_get_request_body

(PECL pecl_http >= 0.10.0)

http_get_request_body — Get request body as string

Описание

string http_get_request_body ( void )

Get the raw request body (e.g. POST or PUT data).

This function can not be used after http_get_request_body_stream() if the request method was another than POST.

Список параметров

Возвращаемые значения

Returns the raw request body as string on success or NULL on failure.

Смотрите также

  • http_get_request_body_stream() - Get request body as stream
  • http_get_request_headers() - Get request headers as array
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_get_request_body_stream
http_get_request_headers
HTTP Функции


Get request headers as array

http_get_request_body
http_match_etag
HTTP Функции
PHP Manual

http_get_request_headers

(PECL pecl_http >= 0.10.0)

http_get_request_headers — Get request headers as array

Описание

array http_get_request_headers ( void )

Get a list of incoming HTTP headers.

Список параметров

Возвращаемые значения

Returns an associative array of incoming request headers.

Смотрите также

  • http_get_request_body() - Get request body as string
  • http_get_request_body_stream() - Get request body as stream
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_get_request_body
http_match_etag
HTTP Функции


Match ETag

http_get_request_headers
http_match_modified
HTTP Функции
PHP Manual

http_match_etag

(PECL pecl_http >= 0.1.0)

http_match_etag — Match ETag

Описание

bool http_match_etag ( string $etag [, bool $for_range = false ] )

Matches the given ETag against the clients If-Match resp. If-None-Match HTTP headers.

Список параметров

etag

the ETag to match

for_range

if set to TRUE, the header usually used to validate HTTP ranges will be checked

Возвращаемые значения

Returns TRUE if ETag matches or the header contained the asterisk ("*"), else FALSE.

Смотрите также

  • http_match_last_modified()
  • http_match_request_header() - Match any header
  • http_cache_etag() - Caching by ETag
  • http_cache_last_modified() - Caching by last modification
  • ob_etaghandler() - ETag output handler

http_get_request_headers
http_match_modified
HTTP Функции


Match last modification

http_match_etag
http_match_request_header
HTTP Функции
PHP Manual

http_match_modified

(PECL pecl_http >= 0.1.0)

http_match_modified — Match last modification

Описание

bool http_match_modified ([ int $timestamp = -1 [, bool $for_range = false ]] )

Matches the given Unix timestamp against the clients If-Modified-Since resp. If-Unmodified-Since HTTP headers.

Список параметров

timestamp

Unix timestamp; current time, if omitted

for_range

if set to TRUE, the header usually used to validate HTTP ranges will be checked

Возвращаемые значения

Returns TRUE if timestamp represents an earlier date than the header, else FALSE.

Смотрите также

  • http_match_etag() - Match ETag
  • http_match_request_header() - Match any header
  • http_cache_etag() - Caching by ETag
  • http_cache_last_modified() - Caching by last modification

http_match_etag
http_match_request_header
HTTP Функции


Match any header

http_match_modified
http_support
HTTP Функции
PHP Manual

http_match_request_header

(PECL pecl_http >= 0.10.0)

http_match_request_header — Match any header

Описание

bool http_match_request_header ( string $header , string $value [, bool $match_case = false ] )

Match an incoming HTTP header.

Список параметров

header

the header name (case-insensitive)

value

the header value that should be compared

match_case

whether the value should be compared case sensitively

Возвращаемые значения

Returns TRUE if header value matches, else FALSE.

Смотрите также

  • http_match_etag() - Match ETag
  • http_match_last_modified()

http_match_modified
http_support
HTTP Функции


Check built-in HTTP support

http_match_request_header
http_negotiate_charset
HTTP Функции
PHP Manual

http_support

(PECL pecl_http >= 0.15.0)

http_support — Check built-in HTTP support

Описание

int http_support ([ int $feature = 0 ] )

Check for features that require external libraries.

See the feature support constants table for possible values for the feature argument.

Список параметров

feature

feature to probe for

Возвращаемые значения

Returns integer, whether requested feature is supported, or a bitmask with all supported features if feature was omitted.

Примеры

Пример #1 A http_support() example

<?php
if (!http_support(HTTP_SUPPORT_REQUESTS)) {
    die("Need HTTP request support!\n");
}
?>

http_match_request_header
http_negotiate_charset
HTTP Функции


Negotiate clients preferred character set

http_support
http_negotiate_content_type
HTTP Функции
PHP Manual

http_negotiate_charset

(PECL pecl_http >= 0.1.0)

http_negotiate_charset — Negotiate clients preferred character set

Описание

string http_negotiate_charset ( array $supported [, array &$result ] )

This function negotiates the clients preferred charset based on its Accept-Charset HTTP header. The qualifier is recognized and charsets without qualifier are rated highest.

Список параметров

supported

array containing the supported charsets as values

result

will be filled with an array containing the negotiation results

Возвращаемые значения

Returns the negotiated charset or the default charset (i.e. first array entry) if none match.

Примеры

Пример #1 Using http_negotiate_charset()

<?php
$charsets = array(
        'iso-8859-1', // default
        'iso-8859-2',
        'iso-8859-15',
        'utf-8'
);

$pref = http_negotiate_charset($charsets, $result);

if (strcmp($pref, 'iso-8859-1')) {
        iconv_set_encoding('internal_encoding', 'iso-8859-1');
        iconv_set_encoding('output_encoding', $pref);
        ob_start('ob_iconv_handler');
}

print_r($result);
?>

http_support
http_negotiate_content_type
HTTP Функции


Negotiate clients preferred content type

http_negotiate_charset
http_negotiate_language
HTTP Функции
PHP Manual

http_negotiate_content_type

(PECL pecl_http >= 0.19.0)

http_negotiate_content_type — Negotiate clients preferred content type

Описание

string http_negotiate_content_type ( array $supported [, array &$result ] )

This function negotiates the clients preferred content type based on its Accept HTTP header. The qualifier is recognized and content types without qualifier are rated highest.

Список параметров

supported

array containing the supported content types as values

result

will be filled with an array containing the negotiation results

Возвращаемые значения

Returns the negotiated content type or the default content type (i.e. first array entry) if none match.

Примеры

Пример #1 Using http_negotiate_content_type()

<?php
$content_types = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>

http_negotiate_charset
http_negotiate_language
HTTP Функции


Negotiate clients preferred language

http_negotiate_content_type
ob_deflatehandler
HTTP Функции
PHP Manual

http_negotiate_language

(PECL pecl_http >= 0.1.0)

http_negotiate_language — Negotiate clients preferred language

Описание

string http_negotiate_language ( array $supported [, array &$result ] )

This function negotiates the clients preferred language based on its Accept-Language HTTP header. The qualifier is recognized and languages without qualifier are rated highest. The qualifier will be decreased by 10% for partial matches (i.e. matching primary language).

Список параметров

supported

array containing the supported languages as values

result

will be filled with an array containing the negotiation results

Возвращаемые значения

Returns the negotiated language or the default language (i.e. first array entry) if none match.

Примеры

Пример #1 Using http_negotiate_language()

<?php
$langs = array(
        'en-US',// default
        'fr',
        'fr-FR',
        'de',
        'de-DE',
        'de-AT',
        'de-CH',
);

include './langs/'. http_negotiate_language($langs, $result) .'.php';

print_r($result);
?>

http_negotiate_content_type
ob_deflatehandler
HTTP Функции


Deflate output handler

http_negotiate_language
ob_etaghandler
HTTP Функции
PHP Manual

ob_deflatehandler

(PECL pecl_http >= 0.21.0)

ob_deflatehandler — Deflate output handler

Описание

string ob_deflatehandler ( string $data , int $mode )

Используйте вместе с ob_start().

Замечание: Этот обработчик вывода может быть использован только один раз.

The deflate output buffer handler can only be used once.

It conflicts with ob_gzhandler() and zlib.output_compression as well and should not be used after mbstring extension's mb_output_handler() and session extension's URL-Rewriter (AKA session.use_trans_sid).

Смотрите также

  • ob_inflatehandler() - Inflate output handler
  • ob_start() - Включение буферизации вывода

http_negotiate_language
ob_etaghandler
HTTP Функции


ETag output handler

ob_deflatehandler
ob_inflatehandler
HTTP Функции
PHP Manual

ob_etaghandler

(PECL pecl_http >= 0.10.0)

ob_etaghandler — ETag output handler

Описание

string ob_etaghandler ( string $data , int $mode )

Используйте вместе с ob_start().

Output buffer handler generating an ETag with the hash algorithm specified with the INI-опцию http.etag.mode.

This output handler is used by http_cache_etag().

Смотрите также

  • http_cache_etag() - Caching by ETag
  • http_match_etag() - Match ETag

ob_deflatehandler
ob_inflatehandler
HTTP Функции


Inflate output handler

ob_etaghandler
http_parse_cookie
HTTP Функции
PHP Manual

ob_inflatehandler

(PECL pecl_http >= 0.21.0)

ob_inflatehandler — Inflate output handler

Описание

string ob_inflatehandler ( string $data , int $mode )

Используйте вместе с ob_start().

Same restrictions as with ob_deflatehandler() apply.

Смотрите также

  • ob_deflatehandler() - Deflate output handler
  • ob_start() - Включение буферизации вывода

ob_etaghandler
http_parse_cookie
HTTP Функции


Parse HTTP cookie

ob_inflatehandler
http_parse_headers
HTTP Функции
PHP Manual

http_parse_cookie

(PECL pecl_http >= 0.20.0)

http_parse_cookie — Parse HTTP cookie

Описание

object http_parse_cookie ( string $cookie [, int $flags [, array $allowed_extras ]] )

Parses HTTP cookies like sent in a response into a struct.

Список параметров

cookie

string containing the value of a Set-Cookie response header

flags

parse flags (HTTP_COOKIE_PARSE_RAW)

allowed_extras

array containing recognized extra keys; by default all unknown keys will be treated as cookie names

Возвращаемые значения

Returns a stdClass object on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using http_parse_cookie()

<?php
print_r(http_parse_cookie("foo=bar; bar=baz; path=/; domain=example.com; comment=; secure", 0, array("comment")));
?>

Результат выполнения данного примера:

stdClass Object
(
  [cookies] => Array
  (
    [foo] => bar
    [bar] => baz
  )

  [extras] => Array
  (
    [comment] =>
  )

  [flags] => 16
  [expires] => 0
  [path] => /
  [domain] => example.com
)

Смотрите также

  • http_parse_headers() - Parse HTTP headers
  • http_parse_message() - Parse HTTP messages
  • http_build_cookie() - Build cookie string

ob_inflatehandler
http_parse_headers
HTTP Функции


Parse HTTP headers

http_parse_cookie
http_parse_message
HTTP Функции
PHP Manual

http_parse_headers

(PECL pecl_http >= 0.10.0)

http_parse_headers — Parse HTTP headers

Описание

array http_parse_headers ( string $header )

Parses HTTP headers into an associative array.

Список параметров

header

string containing HTTP headers

Возвращаемые значения

Returns an array on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using http_parse_headers()

<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
  "Server: Funky/1.0\r\n".
  "Set-Cookie: foo=bar\r\n".
  "Set-Cookie: baz=quux\r\n".
  "Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
?>

Результат выполнения данного примера:

Array
(
  [Content-Type] => text/html; chatset=UTF-8
  [Server] => Funky/1.0
  [Set-Cookie] => Array
  (
    [0] => foo=bar
    [1] => baz=quux
  )
  [Folded] => works
    too
)

Смотрите также

  • http_parse_message() - Parse HTTP messages
  • http_parse_cookie() - Parse HTTP cookie

http_parse_cookie
http_parse_message
HTTP Функции


Parse HTTP messages

http_parse_headers
http_parse_params
HTTP Функции
PHP Manual

http_parse_message

(PECL pecl_http >= 0.12.0)

http_parse_message — Parse HTTP messages

Описание

object http_parse_message ( string $message )

Parses the HTTP message into a simple recursive object.

Список параметров

message

string containing a single HTTP message or several consecutive HTTP messages

Возвращаемые значения

Returns a hierarchical object structure of the parsed messages.

Примеры

Пример #1 Using http_parse_message()

<?php
define ('URL', 'http://www.example.com/');
print_r(http_parse_message(http_get(URL, array('redirect' => 3))));
?>

Результатом выполнения данного примера будет что-то подобное:

stdClass object
(
  [type] => 2
  [httpVersion] => 1.1
  [responseCode] => 200
  [headers] => Array
  (
    [Content-Length] => 3
    [Server] => Apache
  )
  [body] => Hi!
  [parentMessage] => stdClass object
  (
    [type] => 2
    [httpVersion] => 1.1
    [responseCode] => 302
    [headers] => Array
    (
      [Content-Length] => 0
      [Location] => ...
    )
    [body] =>
    [parentMessage] => ...
  )
)

Смотрите также

  • http_parse_headers() - Parse HTTP headers
  • the HttpMessage class

http_parse_headers
http_parse_params
HTTP Функции


Parse parameter list

http_parse_message
http_persistent_handles_clean
HTTP Функции
PHP Manual

http_parse_params

(PECL pecl_http >= 1.0.0)

http_parse_params — Parse parameter list

Описание

object http_parse_params ( string $param [, int $flags = HTTP_PARAMS_DEFAULT ] )

Parse parameter list.

See the params parsing constants table for possible values of the flags argument.

Список параметров

param

Parameters

flags

Parse flags

Возвращаемые значения

Returns parameter list as stdClass object.

Примеры

Пример #1 A http_parse_params() example

<?php
var_dump(http_parse_params("text/html; charset=\"utf8\""));
?>

Результат выполнения данного примера:

object(stdClass)#1 (1) {
  ["params"]=>
  array(2) {
    [0]=>
    string(9) "text/html"
    [1]=>
    array(1) {
      ["charset"]=>
      string(4) "utf8"
    }
  }
}

Смотрите также

  • http_parse_headers() - Parse HTTP headers
  • http_parse_cookie() - Parse HTTP cookie
  • http_parse_message() - Parse HTTP messages

http_parse_message
http_persistent_handles_clean
HTTP Функции


Clean up persistent handles

http_parse_params
http_persistent_handles_count
HTTP Функции
PHP Manual

http_persistent_handles_clean

(PECL pecl_http >= 1.5.0)

http_persistent_handles_clean — Clean up persistent handles

Описание

string http_persistent_handles_clean ([ string $ident ] )

Clean up (close) persistent handles, optionally identified with ident.

Список параметров

clean

the identification string

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • http_persistent_handles_ident() - Get/set ident of persistent handles
  • http_persistent_handles_count() - Stat persistent handles

http_parse_params
http_persistent_handles_count
HTTP Функции


Stat persistent handles

http_persistent_handles_clean
http_persistent_handles_ident
HTTP Функции
PHP Manual

http_persistent_handles_count

(PECL pecl_http >= 1.5.0)

http_persistent_handles_count — Stat persistent handles

Описание

object http_persistent_handles_count ( void )

List statistics about persistent handles usage.

Список параметров

Возвращаемые значения

Returns persistent handles statistics as stdClass object on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A http_persistent_handles_count() example

<?php
print_r(http_persistent_handles_count());
?>

Результат выполнения данного примера:

stdClass Object
(
    [http_request] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 0
                    [free] => 1
                )

        )

    [http_request_datashare] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 1
                    [free] => 0
                )

        )

    [http_request_pool] => Array
        (
        )

)

Смотрите также

  • http_persistent_handles_ident() - Get/set ident of persistent handles
  • http_persistent_handles_clean() - Clean up persistent handles

http_persistent_handles_clean
http_persistent_handles_ident
HTTP Функции


Get/set ident of persistent handles

http_persistent_handles_count
http_get
HTTP Функции
PHP Manual

http_persistent_handles_ident

(PECL pecl_http >= 1.5.0)

http_persistent_handles_ident — Get/set ident of persistent handles

Описание

string http_persistent_handles_ident ([ string $ident ] )

Query or define the ident of persistent handles.

Список параметров

ident

the identification string

Возвращаемые значения

Returns the prior ident as string on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A http_persistent_handles_ident() example

<?php
echo http_persistent_handles_ident("CUSTOM"), "\n";
echo http_persistent_handles_ident("MyApp1"), "\n";
http_get("http://www.example.com/");
print_r(http_persistent_handles_count());
?>

Результат выполнения данного примера:

GLOBAL
CUSTOM
stdClass Object
(
[http_request] => Array
(
[MyApp1] => Array
(
[used] => 0
[free] => 1
)

)

[http_request_datashare] => Array
(
[GLOBAL] => Array
(
[used] => 1
[free] => 0
)

)

[http_request_pool] => Array
(
)

)

Смотрите также

  • http_persistent_handles_count() - Stat persistent handles
  • http_persistent_handles_clean() - Clean up persistent handles

http_persistent_handles_count
http_get
HTTP Функции


Perform GET request

http_persistent_handles_ident
http_head
HTTP Функции
PHP Manual

http_get

(PECL pecl_http >= 0.1.0)

http_get — Perform GET request

Описание

string http_get ( string $url [, array $options [, array &$info ]] )

Performs an HTTP GET request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

options

опции запроса

info

Will be filled with request/response information

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

Примеры

Пример #1 A http_get() example

<?php
$response = http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>

Результат выполнения данного примера:

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

http_persistent_handles_ident
http_head
HTTP Функции


Perform HEAD request

http_get
http_post_data
HTTP Функции
PHP Manual

http_head

(PECL pecl_http >= 0.1.0)

http_head — Perform HEAD request

Описание

string http_head ( string $url [, array $options [, array &$info ]] )

Performs an HTTP HEAD request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_get
http_post_data
HTTP Функции


Perform POST request with pre-encoded data

http_head
http_post_fields
HTTP Функции
PHP Manual

http_post_data

(PECL pecl_http >= 0.1.0)

http_post_data — Perform POST request with pre-encoded data

Описание

string http_post_data ( string $url , string $data [, array $options [, array &$info ]] )

Performs an HTTP POST request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

data

String containing the pre-encoded post data

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_head
http_post_fields
HTTP Функции


Perform POST request with data to be encoded

http_post_data
http_put_data
HTTP Функции
PHP Manual

http_post_fields

(PECL pecl_http >= 0.10.0)

http_post_fields — Perform POST request with data to be encoded

Описание

string http_post_fields ( string $url , array $data [, array $files [, array $options [, array &$info ]]] )

Performs an HTTP POST request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

data

Associative array of POST values

files

Array of files to post

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

Примеры

Пример #1 A http_post_fields() example

<?php
$fields = array(
    'name' => 'mike',
    'pass' => 'se_ret'
);
$files = array(
    array(
        'name' => 'uimg',
        'type' => 'image/jpeg',
        'file' => './profile.jpg',
    )
);

$response = http_post_fields("http://www.example.com/", $fields, $files);
?>

http_post_data
http_put_data
HTTP Функции


Perform PUT request with data

http_post_fields
http_put_file
HTTP Функции
PHP Manual

http_put_data

(PECL pecl_http >= 0.25.0)

http_put_data — Perform PUT request with data

Описание

string http_put_data ( string $url , string $data [, array $options [, array &$info ]] )

Performs an HTTP PUT request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

data

PUT request body

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_post_fields
http_put_file
HTTP Функции


Perform PUT request with file

http_put_data
http_put_stream
HTTP Функции
PHP Manual

http_put_file

(PECL pecl_http >= 0.10.0)

http_put_file — Perform PUT request with file

Описание

string http_put_file ( string $url , string $file [, array $options [, array &$info ]] )

Performs an HTTP PUT request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

file

The file to put

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_put_data
http_put_stream
HTTP Функции


Perform PUT request with stream

http_put_file
http_request_body_encode
HTTP Функции
PHP Manual

http_put_stream

(PECL pecl_http >= 0.10.0)

http_put_stream — Perform PUT request with stream

Описание

string http_put_stream ( string $url , resource $stream [, array $options [, array &$info ]] )

Performs an HTTP PUT request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

url

URL

stream

The stream to read the PUT request body from

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_put_file
http_request_body_encode
HTTP Функции


Encode request body

http_put_stream
http_request_method_exists
HTTP Функции
PHP Manual

http_request_body_encode

(PECL pecl_http >= 1.0.0)

http_request_body_encode — Encode request body

Описание

string http_request_body_encode ( array $fields , array $files )

Generate x-www-form-urlencoded resp. form-data encoded request body.

Список параметров

fields

POST fields

files

POST files

Возвращаемые значения

Returns encoded string on success или FALSE в случае возникновения ошибки.

http_put_stream
http_request_method_exists
HTTP Функции


Check whether request method exists

http_request_body_encode
http_request_method_name
HTTP Функции
PHP Manual

http_request_method_exists

(PECL pecl_http >= 0.10.0)

http_request_method_exists — Check whether request method exists

Описание

int http_request_method_exists ( mixed $method )

Check if a request method is registered (or available by default).

Список параметров

method

request method name or ID

Возвращаемые значения

Returns TRUE if the request method is known, else FALSE.

http_request_body_encode
http_request_method_name
HTTP Функции


Get request method name

http_request_method_exists
http_request_method_register
HTTP Функции
PHP Manual

http_request_method_name

(PECL pecl_http >= 0.10.0)

http_request_method_name — Get request method name

Описание

string http_request_method_name ( int $method )

Get the literal string representation of a standard or registered request method.

Список параметров

method

request method ID

Возвращаемые значения

Returns the request method name as string on success или FALSE в случае возникновения ошибки.

http_request_method_exists
http_request_method_register
HTTP Функции


Register request method

http_request_method_name
http_request_method_unregister
HTTP Функции
PHP Manual

http_request_method_register

(PECL pecl_http >= 0.10.0)

http_request_method_register — Register request method

Описание

int http_request_method_register ( string $method )

Register a custom request method.

Список параметров

method

the request method name to register

Возвращаемые значения

Returns the ID of the request method on success или FALSE в случае возникновения ошибки.

http_request_method_name
http_request_method_unregister
HTTP Функции


Unregister request method

http_request_method_register
http_request
HTTP Функции
PHP Manual

http_request_method_unregister

(PECL pecl_http >= 0.10.0)

http_request_method_unregister — Unregister request method

Описание

bool http_request_method_unregister ( mixed $method )

Unregister a previously registered custom request method.

Список параметров

method

The request method name or ID

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

http_request_method_register
http_request
HTTP Функции


Perform custom request

http_request_method_unregister
http_redirect
HTTP Функции
PHP Manual

http_request

(PECL pecl_http >= 1.0.0)

http_request — Perform custom request

Описание

string http_request ( int $method , string $url [, string $body [, array $options [, array &$info ]]] )

Performs a custom HTTP request on the supplied url.

Смотрите полный список опции запроса.

Список параметров

method

Request method

url

URL

body

Request body

options

опции запроса

info

Информация о запросе/ответе

Возвращаемые значения

Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE при ошибке.

http_request_method_unregister
http_redirect
HTTP Функции


Issue HTTP redirect

http_request
http_send_content_disposition
HTTP Функции
PHP Manual

http_redirect

(PECL pecl_http >= 0.1.0)

http_redirect — Issue HTTP redirect

Описание

bool http_redirect ([ string $url [, array $params [, bool $session = false [, int $status = 0 ]]]] )

Redirect to the given url.

The supplied url will be expanded with http_build_url(), the params array will be treated with http_build_str() and the session identification will be appended if session is true. The HTTP response code will be set according to status. You can use one of the redirect constants for convenience. Please see » RFC 2616 for which redirect response code to use in which situation. By default PHP will decide which response status fits best.

To be RFC compliant, "Redirecting to <a>URL</a>." will be displayed, if the client doesn't redirect immediately, and the request method was another one than HEAD.

A log entry will be written to the redirect log, if the INI-опцию http.log.redirect is set and the redirect attempt was successful.

Список параметров

url

the URL to redirect to

params

associative array of query parameters

session

whether to append session information

status

custom response status code

Возвращаемые значения

Возвращает FALSE или выходит при успешном завершении работы with the specified redirection status code. Смотрите INI-опцию http.force_exit для пояснения термина "выходит".

Примеры

Пример #1 A http_redirect() example

<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>

Результат выполнения данного примера:

HTTP/1.1 301 Moved Permanently
X-Powered-By: PHP/5.2.2
Content-Type: text/html
Location: http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc

Redirecting to <a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>.

Смотрите также

  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_request
http_send_content_disposition
HTTP Функции


Send Content-Disposition

http_redirect
http_send_content_type
HTTP Функции
PHP Manual

http_send_content_disposition

(PECL pecl_http >= 0.10.0)

http_send_content_disposition — Send Content-Disposition

Описание

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

Send the Content-Disposition. Заголовок Content-Disposition очень полезен, если данные на самом деле читаются из файла или чего-то подобного, что должно быть "сохранено" клиентом/пользователем (т.е. с помощью всплывающего окна браузера "Сохранить как...").

Замечание: Эта функция должна быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

Список параметров

filename

the file name the "Save as..." dialog should display

inline

if set to TRUE and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • http_send_data() - Send arbitrary data
  • http_send_file() - Send file
  • http_send_stream() - Send stream
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_redirect
http_send_content_type
HTTP Функции


Send Content-Type

http_send_content_disposition
http_send_data
HTTP Функции
PHP Manual

http_send_content_type

(PECL pecl_http >= 0.10.0)

http_send_content_type — Send Content-Type

Описание

bool http_send_content_type ([ string $content_type = "application/x-octetstream" ] )

Send the Content-Type of the sent entity.

Замечание: Эта функция должна быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

Список параметров

content_type

the desired content type (primary/secondary)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Raises an E_WARNING when the content_type doesn't seem to contain a primary and a secondary part.

Смотрите также

  • http_send_data() - Send arbitrary data
  • http_send_file() - Send file
  • http_send_stream() - Send stream
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_content_disposition
http_send_data
HTTP Функции


Send arbitrary data

http_send_content_type
http_send_file
HTTP Функции
PHP Manual

http_send_data

(PECL pecl_http >= 0.1.0)

http_send_data — Send arbitrary data

Описание

bool http_send_data ( string $data )

Sends raw data with support for (multiple) range requests.

Список параметров

data

data to send

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • http_send_file() - Send file
  • http_send_stream() - Send stream
  • http_throttle() - HTTP throttling
  • http_send_content_type() - Send Content-Type
  • http_send_content_disposition() - Send Content-Disposition
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_content_type
http_send_file
HTTP Функции


Send file

http_send_data
http_send_last_modified
HTTP Функции
PHP Manual

http_send_file

(PECL pecl_http >= 0.1.0)

http_send_file — Send file

Описание

bool http_send_file ( string $file )

Sends a file with support for (multiple) range requests.

This functions behaviour and further action is dependent on the following INI-опциюs: http.send.not_found_404 и http.log.not_found.

If the INI-опцию http.send.not_found_404 is enabled and the INI-опцию http.log.not_found points to a writable file, a log message is written when the file was not found.

Список параметров

file

the file to send

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A http_send_file() example

<?php
http_send_content_disposition("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
http_send_file("../report.pdf");
?>

Результат выполнения данного примера:

HTTP/1.1 206 Partial Content
X-Powered-By: PHP/5.2.2
Accept-Ranges: bytes
Content-Length: 12345
Content-Range: bytes 0-12344
Content-Type: application/pdf
Content-Disposition: inline; filename="document.pdf"

%PDF...

Смотрите также

  • http_send_data() - Send arbitrary data
  • http_send_stream() - Send stream
  • http_throttle() - HTTP throttling
  • http_send_content_type() - Send Content-Type
  • http_send_content_disposition() - Send Content-Disposition
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_data
http_send_last_modified
HTTP Функции


Send Last-Modified

http_send_file
http_send_status
HTTP Функции
PHP Manual

http_send_last_modified

(PECL pecl_http >= 0.1.0)

http_send_last_modified — Send Last-Modified

Описание

bool http_send_last_modified ([ int $timestamp = time() ] )

Send a Last-Modified header with a valid HTTP date.

Замечание: Эта функция должна быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

Список параметров

timestamp

a Unix timestamp, converted to a valid HTTP date; if omitted, the current time will be sent

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_file
http_send_status
HTTP Функции


Send HTTP response status

http_send_last_modified
http_send_stream
HTTP Функции
PHP Manual

http_send_status

(PECL pecl_http >= 0.1.0)

http_send_status — Send HTTP response status

Описание

bool http_send_status ( int $status )

Send HTTP status code.

Список параметров

status

HTTP status code (100-599)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_last_modified
http_send_stream
HTTP Функции


Send stream

http_send_status
http_throttle
HTTP Функции
PHP Manual

http_send_stream

(PECL pecl_http >= 0.1.0)

http_send_stream — Send stream

Описание

bool http_send_stream ( resource $stream )

Sends an already opened stream with support for (multiple) range requests.

Список параметров

stream

stream to read from (must be seekable)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • http_send_data() - Send arbitrary data
  • http_send_file() - Send file
  • http_throttle() - HTTP throttling
  • http_send_content_type() - Send Content-Type
  • http_send_content_disposition() - Send Content-Disposition
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_status
http_throttle
HTTP Функции


HTTP throttling

http_send_stream
http_build_str
HTTP Функции
PHP Manual

http_throttle

(PECL pecl_http >= 0.10.0)

http_throttle — HTTP throttling

Описание

void http_throttle ( float $sec [, int $bytes = 40960 ] )

Sets the throttle delay and send buffer size.

Замечание: Эта функция должна быть использована совместно с http_send_data(), http_send_file() и http_send_stream().

Замечание: Обеспечивает базовый регулирующий механизм, который будет сдерживать текущий процесс или нить до полной отправки данных.

Замечание:

Следующие SAPI(s) могут работать не так как ожидается: FastCGI.

Список параметров

sec

seconds to sleep after each chunk sent

bytes

the chunk size in bytes

Примеры

Пример #1 A http_throttle() example

Send file with approximately 20 kbyte/s.

<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>

Смотрите также

  • http_send_data() - Send arbitrary data
  • http_send_file() - Send file
  • http_send_stream() - Send stream
  • класс HttpResponse если вы используете PHP 5.1.0 и выше

http_send_stream
http_build_str
HTTP Функции


Build query string

http_throttle
http_build_url
HTTP Функции
PHP Manual

http_build_str

(PECL pecl_http >= 0.23.0)

http_build_str — Build query string

Описание

string http_build_str ( array $query [, string $prefix [, string $arg_separator = ini_get("arg_separator.output") ]] )

Opponent to parse_str().

Список параметров

query

associative array of query string parameters

prefix

top level prefix

arg_separator

argument separator to use (by default the INI setting arg_separator.output will be used, or "&" if neither is set

Возвращаемые значения

Returns the built query as string on success или FALSE в случае возникновения ошибки.

Смотрите также

  • standard http_build_query() - Генерирует URL-кодированную строку запроса
  • http_build_url() - Build a URL

http_throttle
http_build_url
HTTP Функции


Build a URL

http_build_str
Hyperwave
HTTP Функции
PHP Manual

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_url — Build a URL

Описание

string http_build_url ([ mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url ]]]] )

Build a URL.

The parts of the second URL will be merged into the first according to the flags argument.

Список параметров

url

(part(s) of) an URL in form of a string or associative array like parse_url() returns

parts

same as the first argument

flags

a bitmask of binary or'ed HTTP_URL constants; HTTP_URL_REPLACE is the default

new_url

if set, it will be filled with the parts of the composed url like parse_url() would return

Возвращаемые значения

Returns the new URL as string on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A http_build_url() example

<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
    array(
        "scheme" => "ftp",
        "host" => "ftp.example.com",
        "path" => "files/current/",
        "query" => "a=c"
    ),
    HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

Результат выполнения данного примера:

ftp://ftp.example.com/pub/files/current/?a=c

Смотрите также

  • parse_url() - Разбирает URL и возвращает его компоненты
  • http_build_str() - Build query string

http_build_str
Hyperwave
HTTP Функции


Hyperwave

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Integration with Apache
  • Hyperwave Функции
    • hw_Array2Objrec — Convert attributes from object array to object record
    • hw_changeobject — Changes attributes of an object (obsolete)
    • hw_Children — Object ids of children
    • hw_ChildrenObj — Object records of children
    • hw_Close — Closes the Hyperwave connection
    • hw_Connect — Opens a connection
    • hw_connection_info — Prints information about the connection to Hyperwave server
    • hw_cp — Copies objects
    • hw_Deleteobject — Deletes object
    • hw_DocByAnchor — Object id object belonging to anchor
    • hw_DocByAnchorObj — Object record object belonging to anchor
    • hw_Document_Attributes — Object record of hw_document
    • hw_Document_BodyTag — Body tag of hw_document
    • hw_Document_Content — Returns content of hw_document
    • hw_Document_SetContent — Sets/replaces content of hw_document
    • hw_Document_Size — Size of hw_document
    • hw_dummy — Hyperwave dummy function
    • hw_EditText — Retrieve text document
    • hw_Error — Error number
    • hw_ErrorMsg — Returns error message
    • hw_Free_Document — Frees hw_document
    • hw_GetAnchors — Object ids of anchors of document
    • hw_GetAnchorsObj — Object records of anchors of document
    • hw_GetAndLock — Return object record and lock object
    • hw_GetChildColl — Object ids of child collections
    • hw_GetChildCollObj — Object records of child collections
    • hw_GetChildDocColl — Object ids of child documents of collection
    • hw_GetChildDocCollObj — Object records of child documents of collection
    • hw_GetObject — Object record
    • hw_GetObjectByQuery — Search object
    • hw_GetObjectByQueryColl — Search object in collection
    • hw_GetObjectByQueryCollObj — Search object in collection
    • hw_GetObjectByQueryObj — Search object
    • hw_GetParents — Object ids of parents
    • hw_GetParentsObj — Object records of parents
    • hw_getrellink — Get link from source to dest relative to rootid
    • hw_GetRemote — Gets a remote document
    • hw_getremotechildren — Gets children of remote document
    • hw_GetSrcByDestObj — Returns anchors pointing at object
    • hw_GetText — Retrieve text document
    • hw_getusername — Name of currently logged in user
    • hw_Identify — Identifies as user
    • hw_InCollections — Check if object ids in collections
    • hw_Info — Info about connection
    • hw_InsColl — Insert collection
    • hw_InsDoc — Insert document
    • hw_insertanchors — Inserts only anchors into text
    • hw_InsertDocument — Upload any document
    • hw_InsertObject — Inserts an object record
    • hw_mapid — Maps global id on virtual local id
    • hw_Modifyobject — Modifies object record
    • hw_mv — Moves objects
    • hw_New_Document — Create new document
    • hw_objrec2array — Convert attributes from object record to object array
    • hw_Output_Document — Prints hw_document
    • hw_pConnect — Make a persistent database connection
    • hw_PipeDocument — Retrieve any document
    • hw_Root — Root object id
    • hw_setlinkroot — Set the id to which links are calculated
    • hw_stat — Returns status string
    • hw_Unlock — Unlock object
    • hw_Who — List of currently logged in users
http_build_url
Введение
Другие службы


Введение

Hyperwave has been developed at » IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5 is available at » http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

See also the Hyperwave API module.

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user. An attribute is a name/value pair of the form name=value. The complete object record contains as many of those pairs as the user likes. The name of an attribute does not have to be unique, e.g. a title may appear several times within an object record. This makes sense if you want to specify a title in several languages. In such a case there is a convention, that each title value is preceded by the two letter language abbreviation followed by a colon, e.g. 'en:Title in English' or 'de:Titel in deutsch'. Other attributes like a description or keywords are potential candidates. You may also replace the language abbreviation by any other string as long as it separated by colon from the rest of the attribute value.

Each object record has native a string representation with each name/value pair separated by a newline. The Hyperwave extension also knows a second representation which is an associated array with the attribute name being the key. Multilingual attribute values itself form another associated array with the key being the language abbreviation. Actually any multiple attribute forms an associated array with the string left to the colon in the attribute value being the key. (This is not fully implemented. Only the attributes Title, Description and Keyword are treated properly yet.)

Besides the documents, all hyper links contained in a document are stored as object records as well. Hyper links which are in a document will be removed from it and stored as individual objects, when the document is inserted into the database. The object record of the link contains information about where it starts and where it ends. In order to gain the original document you will have to retrieve the plain document without the links and the list of links and reinsert them. The functions hw_pipedocument() and hw_gettext() do this for you. The advantage of separating links from the document is obvious. Once a document to which a link is pointing to changes its name, the link can easily be modified accordingly. The document containing the link is not affected at all. You may even add a link to a document without modifying the document itself.

Saying that hw_pipedocument() and hw_gettext() do the link insertion automatically is not as simple as it sounds. Inserting links implies a certain hierarchy of the documents. On a web server this is given by the file system, but Hyperwave has its own hierarchy and names do not reflect the position of an object in that hierarchy. Therefore creation of links first of all requires a mapping from the Hyperwave hierarchy and namespace into a web hierarchy respective web namespace. The fundamental difference between Hyperwave and the web is the clear distinction between names and hierarchy in Hyperwave. The name does not contain any information about the objects position in the hierarchy. In the web the name also contains the information on where the object is located in the hierarchy. This leads to two possibles ways of mapping. Either the Hyperwave hierarchy and name of the Hyperwave object is reflected in the URL or the name only. To make things simple the second approach is used. Hyperwave object with name my_object is mapped to http://host/my_object disregarding where it resides in the Hyperwave hierarchy. An object with name parent/my_object could be the child of my_object in the Hyperwave hierarchy, though in a web namespace it appears to be just the opposite and the user might get confused. This can only be prevented by selecting reasonable object names.

Having made this decision a second problem arises. How do you involve PHP? The URL http://host/my_object will not call any PHP script unless you tell your web server to rewrite it to e.g. http://host/php_script/my_object and the script php_script evaluates the $PATH_INFO variable and retrieves the object with name my_object from the Hyperwave server. Their is just one little drawback which can be fixed easily. Rewriting any URL would not allow any access to other document on the web server. A PHP script for searching in the Hyperwave server would be impossible. Therefore you will need at least a second rewriting rule to exclude certain URLs like all e.g. starting with http://host/Hyperwave This is basically sharing of a namespace by the web and Hyperwave server.

Based on the above mechanism links are insert into documents.

It gets more complicated if PHP is not run as a server module or CGI script but as a standalone application e.g. to dump the content of the Hyperwave server on a CD-ROM. In such a case it makes sense to retain the Hyperwave hierarchy and map in onto the file system. This conflicts with the object names if they reflect its own hierarchy (e.g. by choosing names including '/'). Therefore '/' has to be replaced by another character, e.g. '_'.

The network protocol to communicate with the Hyperwave server is called » HG-CSP (Hyper-G Client/Server Protocol). It is based on messages to initiate certain actions, e.g. get object record. In early versions of the Hyperwave Server two native clients (Harmony, Amadeus) were provided for communication with the server. Those two disappeared when Hyperwave was commercialised. As a replacement a so called wavemaster was provided. The wavemaster is like a protocol converter from HTTP to HG-CSP. The idea is to do all the administration of the database and visualisation of documents by a web interface. The wavemaster implements a set of placeholders for certain actions to customise the interface. This set of placeholders is called the PLACE Language. PLACE lacks a lot of features of a real programming language and any extension to it only enlarges the list of placeholders. This has led to the use of JavaScript which IMO does not make life easier.

Adding Hyperwave support to PHP should fill in the gap of a missing programming language for interface customisation. It implements all the messages as defined by the HG-CSP but also provides more powerful commands to e.g. retrieve complete documents.

Hyperwave has its own terminology to name certain pieces of information. This has widely been taken over and extended. Almost all functions operate on one of the following data types.

  • object ID: A unique integer value for each object in the Hyperwave server. It is also one of the attributes of the object record (ObjectID). Object ids are often used as an input parameter to specify an object.
  • object record: A string with attribute-value pairs of the form attribute=value. The pairs are separated by a carriage return from each other. An object record can easily be converted into an object array with hw_object2array(). Several functions return object records. The names of those functions end with obj.
  • object array: An associative array with all attributes of an object. The keys are the attribute names. If an attribute occurs more than once in an object record it will result in another indexed or associative array. Attributes which are language depended (like the title, keyword, description) will form an associative array with the keys set to the language abbreviations. All other multiple attributes will form an indexed array. PHP functions never return object arrays.
  • hw_document: This is a complete new data type which holds the actual document, e.g. HTML, PDF etc. It is somewhat optimized for HTML documents but may be used for any format.

Several functions which return an array of object records do also return an associative array with statistical information about them. The array is the last element of the object record array. The statistical array contains the following entries:

Hidden
Number of object records with attribute PresentationHints set to Hidden.
CollectionHead
Number of object records with attribute PresentationHints set to CollectionHead.
FullCollectionHead
Number of object records with attribute PresentationHints set to FullCollectionHead.
CollectionHeadNr
Index in array of object records with attribute PresentationHints set to CollectionHead.
FullCollectionHeadNr
Index in array of object records with attribute PresentationHints set to FullCollectionHead.
Total
Total: Number of object records.

Hyperwave
Установка и настройка
Hyperwave


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Hyperwave


Требования

This extension needs a Hyperwave server downloadable from » http://www.hyperwave.com/.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/hyperwave.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Hyperwave configuration options
Name | Default | Changeable | Changelog
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.2. Removed in PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Removed in PHP 5.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

HW_ATTR_LANG (integer)
HW_ATTR_NR (integer)
HW_ATTR_NONE (integer)
Типы ресурсов
Integration with Apache
Hyperwave


Integration with Apache

The Hyperwave extension is best used when PHP is compiled as an Apache module. In such a case the underlying Hyperwave server can be hidden from users almost completely if Apache uses its rewriting engine. The following instructions will explain this.

Since PHP with Hyperwave support built into Apache is intended to replace the native Hyperwave solution based on Wavemaster, we will assume that the Apache server will only serve as a Hyperwave web interface for these examples. This is not necessary but it simplifies the configuration. The concept is quite simple. First of all you need a PHP script which evaluates the $_ENV['PATH_INFO'] variable and treats its value as the name of a Hyperwave object. Let's call this script 'Hyperwave'. The URL http://your.hostname/Hyperwave/name_of_object would than return the Hyperwave object with the name 'name_of_object'. Depending on the type of the object the script has to react accordingly. If it is a collection, it will probably return a list of children. If it is a document it will return the mime type and the content. A slight improvement can be achieved if the Apache rewriting engine is used. From the users point of view it would be more straight forward if the URL http://your.hostname/name_of_object would return the object. The rewriting rule is quite easy:

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
Now every URL relates to an object in the Hyperwave server. This causes a simple to solve problem. There is no way to execute a different script, e.g. for searching, than the 'Hyperwave' script. This can be fixed with another rewriting rule like the following:
RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
This will reserve the directory /usr/local/apache/htdocs/hw for additional scripts and other files. Just make sure this rule is evaluated before the one above. There is just a little drawback: all Hyperwave objects whose name starts with 'hw/' will be shadowed. So, make sure you don't use such names. If you need more directories, e.g. for images just add more rules or place them all in one directory. Before you put those instructions, don't forget to turn on the rewriting engine with
RewriteEngine on
You will need scripts:
  • to return the object itself
  • to allow searching
  • to identify yourself
  • to set your profile
  • one for each additional function like to show the object attributes, to show information about users, to show the status of the server, etc.

As an alternative to the Rewrite Engine, you can also consider using the Apache ErrorDocument directive, but be aware, that ErrorDocument redirected pages cannot receive POST data.

Предопределенные константы
Hyperwave Функции
Hyperwave


Hyperwave Функции

Todo

There are still some things to do:

  • The hw_InsertDocument has to be split into hw_insertobject() and hw_putdocument().
  • The names of several functions are not fixed, yet.
  • Most functions require the current connection as its first parameter. This leads to a lot of typing, which is quite often not necessary if there is just one open connection. A default connection will improve this.
  • Conversion form object record into object array needs to handle any multiple attribute.

Содержание

  • hw_Array2Objrec — Convert attributes from object array to object record
  • hw_changeobject — Changes attributes of an object (obsolete)
  • hw_Children — Object ids of children
  • hw_ChildrenObj — Object records of children
  • hw_Close — Closes the Hyperwave connection
  • hw_Connect — Opens a connection
  • hw_connection_info — Prints information about the connection to Hyperwave server
  • hw_cp — Copies objects
  • hw_Deleteobject — Deletes object
  • hw_DocByAnchor — Object id object belonging to anchor
  • hw_DocByAnchorObj — Object record object belonging to anchor
  • hw_Document_Attributes — Object record of hw_document
  • hw_Document_BodyTag — Body tag of hw_document
  • hw_Document_Content — Returns content of hw_document
  • hw_Document_SetContent — Sets/replaces content of hw_document
  • hw_Document_Size — Size of hw_document
  • hw_dummy — Hyperwave dummy function
  • hw_EditText — Retrieve text document
  • hw_Error — Error number
  • hw_ErrorMsg — Returns error message
  • hw_Free_Document — Frees hw_document
  • hw_GetAnchors — Object ids of anchors of document
  • hw_GetAnchorsObj — Object records of anchors of document
  • hw_GetAndLock — Return object record and lock object
  • hw_GetChildColl — Object ids of child collections
  • hw_GetChildCollObj — Object records of child collections
  • hw_GetChildDocColl — Object ids of child documents of collection
  • hw_GetChildDocCollObj — Object records of child documents of collection
  • hw_GetObject — Object record
  • hw_GetObjectByQuery — Search object
  • hw_GetObjectByQueryColl — Search object in collection
  • hw_GetObjectByQueryCollObj — Search object in collection
  • hw_GetObjectByQueryObj — Search object
  • hw_GetParents — Object ids of parents
  • hw_GetParentsObj — Object records of parents
  • hw_getrellink — Get link from source to dest relative to rootid
  • hw_GetRemote — Gets a remote document
  • hw_getremotechildren — Gets children of remote document
  • hw_GetSrcByDestObj — Returns anchors pointing at object
  • hw_GetText — Retrieve text document
  • hw_getusername — Name of currently logged in user
  • hw_Identify — Identifies as user
  • hw_InCollections — Check if object ids in collections
  • hw_Info — Info about connection
  • hw_InsColl — Insert collection
  • hw_InsDoc — Insert document
  • hw_insertanchors — Inserts only anchors into text
  • hw_InsertDocument — Upload any document
  • hw_InsertObject — Inserts an object record
  • hw_mapid — Maps global id on virtual local id
  • hw_Modifyobject — Modifies object record
  • hw_mv — Moves objects
  • hw_New_Document — Create new document
  • hw_objrec2array — Convert attributes from object record to object array
  • hw_Output_Document — Prints hw_document
  • hw_pConnect — Make a persistent database connection
  • hw_PipeDocument — Retrieve any document
  • hw_Root — Root object id
  • hw_setlinkroot — Set the id to which links are calculated
  • hw_stat — Returns status string
  • hw_Unlock — Unlock object
  • hw_Who — List of currently logged in users
Integration with Apache
hw_Array2Objrec
Hyperwave


Convert attributes from object array to object record

Hyperwave Функции
hw_changeobject
Hyperwave Функции
PHP Manual

hw_Array2Objrec

(PHP 4)

hw_Array2Objrec — Convert attributes from object array to object record

Описание

string hw_array2objrec ( array $object_array )

Converts an object_array into an object record. Multiple attributes like 'Title' in different languages are treated properly.

Список параметров

object_array

The array.

Возвращаемые значения

Returns an object record.

Смотрите также

  • hw_objrec2array() - Convert attributes from object record to object array

Hyperwave Функции
hw_changeobject
Hyperwave Функции


Changes attributes of an object (obsolete)

hw_Array2Objrec
hw_Children
Hyperwave Функции
PHP Manual

hw_changeobject

(PHP 4)

hw_changeobject — Changes attributes of an object (obsolete)

Описание

bool hw_changeobject ( int $link , int $objid , array $attributes )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_Array2Objrec
hw_Children
Hyperwave Функции


Object ids of children

hw_changeobject
hw_ChildrenObj
Hyperwave Функции
PHP Manual

hw_Children

(PHP 4)

hw_Children — Object ids of children

Описание

array hw_children ( int $connection , int $objectID )

Returns the identifiers of the collection children.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object ids. Each id belongs to a child of the collection with ID objectID. The array contains all children both documents and collections.

hw_changeobject
hw_ChildrenObj
Hyperwave Функции


Object records of children

hw_Children
hw_Close
Hyperwave Функции
PHP Manual

hw_ChildrenObj

(PHP 4)

hw_ChildrenObj — Object records of children

Описание

array hw_childrenobj ( int $connection , int $objectID )

Returns the object records of the collection children.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object records. Each object record belongs to a child of the collection with ID objectID. The array contains all children both documents and collections.

hw_Children
hw_Close
Hyperwave Функции


Closes the Hyperwave connection

hw_ChildrenObj
hw_Connect
Hyperwave Функции
PHP Manual

hw_Close

(PHP 4)

hw_Close — Closes the Hyperwave connection

Описание

bool hw_close ( int $connection )

Closes down the connection to a Hyperwave server.

Список параметров

connection

The connection identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

hw_ChildrenObj
hw_Connect
Hyperwave Функции


Opens a connection

hw_Close
hw_connection_info
Hyperwave Функции
PHP Manual

hw_Connect

(PHP 4)

hw_Connect — Opens a connection

Описание

int hw_connect ( string $host , int $port [, string $username ], string $password )

Opens a connection to a Hyperwave server. You can have multiple connections open at once.

Список параметров

host

The server host name.

port

The server port number.

username

The Hyperwave user name. If omitted, no identification with the server will be done. It is similar to identify as user anonymous.

password

The password for username. Keep in mind, that the password is not encrypted.

Возвращаемые значения

Returns a connection index on success, or FALSE if the connection could not be made.

Смотрите также

  • hw_pconnect() - Make a persistent database connection

hw_Close
hw_connection_info
Hyperwave Функции


Prints information about the connection to Hyperwave server

hw_Connect
hw_cp
Hyperwave Функции
PHP Manual

hw_connection_info

(PHP 4)

hw_connection_info — Prints information about the connection to Hyperwave server

Описание

void hw_connection_info ( int $link )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_Connect
hw_cp
Hyperwave Функции


Copies objects

hw_connection_info
hw_Deleteobject
Hyperwave Функции
PHP Manual

hw_cp

(PHP 4)

hw_cp — Copies objects

Описание

int hw_cp ( int $connection , array $object_id_array , int $destination_id )

Copies the objects with object ids as specified in the second parameter to the collection with the id destination id.

Список параметров

connection

The connection identifier.

object_id_array

An array of object ids.

destination_id

The target collection id.

Возвращаемые значения

Returns the number of copied objects.

Смотрите также

  • hw_mv() - Moves objects

hw_connection_info
hw_Deleteobject
Hyperwave Функции


Deletes object

hw_cp
hw_DocByAnchor
Hyperwave Функции
PHP Manual

hw_Deleteobject

(PHP 4)

hw_Deleteobject — Deletes object

Описание

bool hw_deleteobject ( int $connection , int $object_to_delete )

Deletes the object with the given object id in the second parameter. It will delete all instances of the object.

Список параметров

connection

The connection identifier.

object_to_delete

The object identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_mv() - Moves objects

hw_cp
hw_DocByAnchor
Hyperwave Функции


Object id object belonging to anchor

hw_Deleteobject
hw_DocByAnchorObj
Hyperwave Функции
PHP Manual

hw_DocByAnchor

(PHP 4)

hw_DocByAnchor — Object id object belonging to anchor

Описание

int hw_docbyanchor ( int $connection , int $anchorID )

Returns an th object id of the document to which anchorID belongs.

Список параметров

connection

The connection identifier.

anchorID

The anchor identifier.

Возвращаемые значения

Returns the document object id.

hw_Deleteobject
hw_DocByAnchorObj
Hyperwave Функции


Object record object belonging to anchor

hw_DocByAnchor
hw_Document_Attributes
Hyperwave Функции
PHP Manual

hw_DocByAnchorObj

(PHP 4)

hw_DocByAnchorObj — Object record object belonging to anchor

Описание

string hw_docbyanchorobj ( int $connection , int $anchorID )

Returns an th object record of the document to which anchorID belongs.

Список параметров

connection

The connection identifier.

anchorID

The anchor identifier.

Возвращаемые значения

Returns an object record.

hw_DocByAnchor
hw_Document_Attributes
Hyperwave Функции


Object record of hw_document

hw_DocByAnchorObj
hw_Document_BodyTag
Hyperwave Функции
PHP Manual

hw_Document_Attributes

(PHP 4)

hw_Document_Attributes — Object record of hw_document

Описание

string hw_document_attributes ( int $hw_document )

Returns the object record of the document.

For backward compatibility, hw_documentattributes() is also accepted. This is deprecated, however.

Список параметров

hw_document

The document identifier.

Возвращаемые значения

Returns the object record of the document.

Смотрите также

  • hw_document_bodytag() - Body tag of hw_document
  • hw_document_size() - Size of hw_document

hw_DocByAnchorObj
hw_Document_BodyTag
Hyperwave Функции


Body tag of hw_document

hw_Document_Attributes
hw_Document_Content
Hyperwave Функции
PHP Manual

hw_Document_BodyTag

(PHP 4)

hw_Document_BodyTag — Body tag of hw_document

Описание

string hw_document_bodytag ( int $hw_document [, string $prefix ] )

Returns the BODY tag of the document. If the document is an HTML document the BODY tag should be printed before the document.

For backward compatibility, hw_documentbodytag() is also accepted. This is deprecated, however.

Список параметров

hw_document

The document identifier.

prefix

Возвращаемые значения

Returns the BODY tag as a string.

Смотрите также

  • hw_document_attributes() - Object record of hw_document
  • hw_document_size() - Size of hw_document

hw_Document_Attributes
hw_Document_Content
Hyperwave Функции


Returns content of hw_document

hw_Document_BodyTag
hw_Document_SetContent
Hyperwave Функции
PHP Manual

hw_Document_Content

(PHP 4)

hw_Document_Content — Returns content of hw_document

Описание

string hw_document_content ( int $hw_document )

Gets the content of the document.

Список параметров

hw_document

The document identifier.

Возвращаемые значения

Returns the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record.

Смотрите также

  • hw_document_attributes() - Object record of hw_document
  • hw_document_size() - Size of hw_document
  • hw_document_setcontent() - Sets/replaces content of hw_document

hw_Document_BodyTag
hw_Document_SetContent
Hyperwave Функции


Sets/replaces content of hw_document

hw_Document_Content
hw_Document_Size
Hyperwave Функции
PHP Manual

hw_Document_SetContent

(PHP 4)

hw_Document_SetContent — Sets/replaces content of hw_document

Описание

bool hw_document_setcontent ( int $hw_document , string $content )

Sets or replaces the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record. If you provide this information in the content of the document too, the Hyperwave server will change the object record accordingly when the document is inserted. Probably not a very good idea. If this functions fails the document will retain its old content.

Список параметров

hw_document

The document identifier.

content

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_document_attributes() - Object record of hw_document
  • hw_document_size() - Size of hw_document
  • hw_document_content() - Returns content of hw_document

hw_Document_Content
hw_Document_Size
Hyperwave Функции


Size of hw_document

hw_Document_SetContent
hw_dummy
Hyperwave Функции
PHP Manual

hw_Document_Size

(PHP 4)

hw_Document_Size — Size of hw_document

Описание

int hw_document_size ( int $hw_document )

Gets the size of the document.

For backward compatibility, hw_documentsize() is also accepted. This is deprecated, however.

Список параметров

hw_document

The document identifier.

Возвращаемые значения

Returns the size in bytes of the document.

Смотрите также

  • hw_document_attributes() - Object record of hw_document
  • hw_document_bodytag() - Body tag of hw_document

hw_Document_SetContent
hw_dummy
Hyperwave Функции


Hyperwave dummy function

hw_Document_Size
hw_EditText
Hyperwave Функции
PHP Manual

hw_dummy

(PHP 4)

hw_dummy — Hyperwave dummy function

Описание

string hw_dummy ( int $link , int $id , int $msgid )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_Document_Size
hw_EditText
Hyperwave Функции


Retrieve text document

hw_dummy
hw_Error
Hyperwave Функции
PHP Manual

hw_EditText

(PHP 4)

hw_EditText — Retrieve text document

Описание

bool hw_edittext ( int $connection , int $hw_document )

Uploads the text document to the server. The object record of the document may not be modified while the document is edited.

This function will only works for pure text documents. It will not open a special data connection and therefore blocks the control connection during the transfer.

Список параметров

connection

The connection identifier.

hw_document

The document identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_pipedocument() - Retrieve any document
  • hw_free_document() - Frees hw_document
  • hw_document_bodytag() - Body tag of hw_document
  • hw_document_size() - Size of hw_document
  • hw_output_document() - Prints hw_document
  • hw_gettext() - Retrieve text document

hw_dummy
hw_Error
Hyperwave Функции


Error number

hw_EditText
hw_ErrorMsg
Hyperwave Функции
PHP Manual

hw_Error

(PHP 4)

hw_Error — Error number

Описание

int hw_error ( int $connection )

Returns the last error number, for the last command.

Список параметров

connection

The connection identifier.

Возвращаемые значения

Returns the last error number or 0 if no error occurred.

Смотрите также

  • hw_errormsg() - Returns error message

hw_EditText
hw_ErrorMsg
Hyperwave Функции


Returns error message

hw_Error
hw_Free_Document
Hyperwave Функции
PHP Manual

hw_ErrorMsg

(PHP 4)

hw_ErrorMsg — Returns error message

Описание

string hw_errormsg ( int $connection )

Returns a string containing the last error message related to the last command.

Список параметров

connection

The connection identifier.

Возвращаемые значения

Returns a string containing the last error message or 'No Error'. If FALSE is returned, this function failed.

Смотрите также

  • hw_error() - Error number

hw_Error
hw_Free_Document
Hyperwave Функции


Frees hw_document

hw_ErrorMsg
hw_GetAnchors
Hyperwave Функции
PHP Manual

hw_Free_Document

(PHP 4)

hw_Free_Document — Frees hw_document

Описание

bool hw_free_document ( int $hw_document )

Frees the memory occupied by the Hyperwave document.

Список параметров

hw_document

The document identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

hw_ErrorMsg
hw_GetAnchors
Hyperwave Функции


Object ids of anchors of document

hw_Free_Document
hw_GetAnchorsObj
Hyperwave Функции
PHP Manual

hw_GetAnchors

(PHP 4)

hw_GetAnchors — Object ids of anchors of document

Описание

array hw_getanchors ( int $connection , int $objectID )

Returns an array of object ids with anchors of the specified document.

Список параметров

connection

The connection identifier.

objectID

The document object id.

Возвращаемые значения

Returns an array of object ids.

hw_Free_Document
hw_GetAnchorsObj
Hyperwave Функции


Object records of anchors of document

hw_GetAnchors
hw_GetAndLock
Hyperwave Функции
PHP Manual

hw_GetAnchorsObj

(PHP 4)

hw_GetAnchorsObj — Object records of anchors of document

Описание

array hw_getanchorsobj ( int $connection , int $objectID )

Returns records with anchors of the document with object ID objectID.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object records.

hw_GetAnchors
hw_GetAndLock
Hyperwave Функции


Return object record and lock object

hw_GetAnchorsObj
hw_GetChildColl
Hyperwave Функции
PHP Manual

hw_GetAndLock

(PHP 4)

hw_GetAndLock — Return object record and lock object

Описание

string hw_getandlock ( int $connection , int $objectID )

Returns the object record for the object with ID objectID. It will also lock the object, so other users cannot access it until it is unlocked.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns the object record for the object with ID objectID.

Смотрите также

  • hw_unlock() - Unlock object
  • hw_getobject() - Object record

hw_GetAnchorsObj
hw_GetChildColl
Hyperwave Функции


Object ids of child collections

hw_GetAndLock
hw_GetChildCollObj
Hyperwave Функции
PHP Manual

hw_GetChildColl

(PHP 4)

hw_GetChildColl — Object ids of child collections

Описание

array hw_getchildcoll ( int $connection , int $objectID )

Returns object ids. Each object ID belongs to a child collection of the collection with ID objectID. The function will not return child documents.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object ids.

Смотрите также

  • hw_children() - Object ids of children
  • hw_getchilddoccoll() - Object ids of child documents of collection

hw_GetAndLock
hw_GetChildCollObj
Hyperwave Функции


Object records of child collections

hw_GetChildColl
hw_GetChildDocColl
Hyperwave Функции
PHP Manual

hw_GetChildCollObj

(PHP 4)

hw_GetChildCollObj — Object records of child collections

Описание

array hw_getchildcollobj ( int $connection , int $objectID )

Returns object records. Each object records belongs to a child collection of the collection with ID objectID. The function will not return child documents.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object records.

Смотрите также

  • hw_childrenobj() - Object records of children
  • hw_getchilddoccollobj() - Object records of child documents of collection

hw_GetChildColl
hw_GetChildDocColl
Hyperwave Функции


Object ids of child documents of collection

hw_GetChildCollObj
hw_GetChildDocCollObj
Hyperwave Функции
PHP Manual

hw_GetChildDocColl

(PHP 4)

hw_GetChildDocColl — Object ids of child documents of collection

Описание

array hw_getchilddoccoll ( int $connection , int $objectID )

Returns array of object ids for child documents of a collection.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object ids.

Смотрите также

  • hw_children() - Object ids of children
  • hw_getchildcoll() - Object ids of child collections

hw_GetChildCollObj
hw_GetChildDocCollObj
Hyperwave Функции


Object records of child documents of collection

hw_GetChildDocColl
hw_GetObject
Hyperwave Функции
PHP Manual

hw_GetChildDocCollObj

(PHP 4)

hw_GetChildDocCollObj — Object records of child documents of collection

Описание

array hw_getchilddoccollobj ( int $connection , int $objectID )

Returns an array of object records for child documents of a collection.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an array of object records.

Смотрите также

  • hw_childrenobj() - Object records of children
  • hw_getchildcollobj() - Object records of child collections

hw_GetChildDocColl
hw_GetObject
Hyperwave Функции


Object record

hw_GetChildDocCollObj
hw_GetObjectByQuery
Hyperwave Функции
PHP Manual

hw_GetObject

(PHP 4)

hw_GetObject — Object record

Описание

mixed hw_getobject ( int $connection , mixed $objectID [, string $query ] )

Gets an object record. If the second parameter is an array of integer the function will

Список параметров

connection

The connection identifier.

objectID

The object identifier, or an array of identifiers.

query

The query string has the following syntax:

<expr> ::= "(" <expr> ")" |
           "!" &lt;expr> |          /* NOT */
           <expr> "||" <expr> |  /* OR */
           <expr> "&amp;&amp;" <expr> |  /* AND */
           <attribute> <operator> <value>

<attribute> ::= /* any attribute name (Title, Author, DocumentType ...) */

<operator> ::= "=" |    /* equal */
               "<" |    /* less than (string compare) */
               ">" |    /* greater than (string compare) */
               "~"      /* regular expression matching */
The query allows to further select certain objects from the list of given objects. Unlike the other query functions, this query may use not indexed attributes. How many object records are returned depends on the query and if access to the object is allowed.

Возвращаемые значения

Returns the object record for the given object ID if the second parameter is an integer.

If the second parameter is an array of integer the function will return an array of object records. In such a case the last parameter is also evaluated which is a query string.

Смотрите также

  • hw_getandlock() - Return object record and lock object
  • hw_getobjectbyquery() - Search object

hw_GetChildDocCollObj
hw_GetObjectByQuery
Hyperwave Функции


Search object

hw_GetObject
hw_GetObjectByQueryColl
Hyperwave Функции
PHP Manual

hw_GetObjectByQuery

(PHP 4)

hw_GetObjectByQuery — Search object

Описание

array hw_getobjectbyquery ( int $connection , string $query , int $max_hits )

Searches for objects on the whole server and returns an array of object ids.

Список параметров

connection

The connection identifier.

query

The query will only work with indexed attributes.

max_hits

The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

Возвращаемые значения

Returns an array of object ids.

Смотрите также

  • hw_getobjectbyqueryobj() - Search object

hw_GetObject
hw_GetObjectByQueryColl
Hyperwave Функции


Search object in collection

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Hyperwave Функции
PHP Manual

hw_GetObjectByQueryColl

(PHP 4)

hw_GetObjectByQueryColl — Search object in collection

Описание

array hw_getobjectbyquerycoll ( int $connection , int $objectID , string $query , int $max_hits )

Searches for objects in collection with ID objectID and returns an array of object ids.

Список параметров

connection

The connection identifier.

objectID

The collection id.

query

The query will only work with indexed attributes.

max_hits

The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

Возвращаемые значения

Returns an array of object ids.

Смотрите также

  • hw_getobjectbyquerycollobj() - Search object in collection

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Hyperwave Функции


Search object in collection

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Hyperwave Функции
PHP Manual

hw_GetObjectByQueryCollObj

(PHP 4)

hw_GetObjectByQueryCollObj — Search object in collection

Описание

array hw_getobjectbyquerycollobj ( int $connection , int $objectID , string $query , int $max_hits )

Searches for objects in collection with ID objectID and returns an array of object records.

Список параметров

connection

The connection identifier.

objectID

The collection id.

query

The query will only work with indexed attributes.

max_hits

The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

Возвращаемые значения

Returns an array of object records.

Смотрите также

  • hw_getobjectbyquerycoll() - Search object in collection

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Hyperwave Функции


Search object

hw_GetObjectByQueryCollObj
hw_GetParents
Hyperwave Функции
PHP Manual

hw_GetObjectByQueryObj

(PHP 4)

hw_GetObjectByQueryObj — Search object

Описание

array hw_getobjectbyqueryobj ( int $connection , string $query , int $max_hits )

Searches for objects on the whole server and returns an array of object records.

Список параметров

connection

The connection identifier.

query

The query will only work with indexed attributes.

max_hits

The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

Возвращаемые значения

Returns an array of object records.

Смотрите также

  • hw_getobjectbyquery() - Search object

hw_GetObjectByQueryCollObj
hw_GetParents
Hyperwave Функции


Object ids of parents

hw_GetObjectByQueryObj
hw_GetParentsObj
Hyperwave Функции
PHP Manual

hw_GetParents

(PHP 4)

hw_GetParents — Object ids of parents

Описание

array hw_getparents ( int $connection , int $objectID )

Returns the object identifiers of the parents of an object.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an indexed array of object ids. Each object id belongs to a parent of the object with ID objectID.

hw_GetObjectByQueryObj
hw_GetParentsObj
Hyperwave Функции


Object records of parents

hw_GetParents
hw_getrellink
Hyperwave Функции
PHP Manual

hw_GetParentsObj

(PHP 4)

hw_GetParentsObj — Object records of parents

Описание

array hw_getparentsobj ( int $connection , int $objectID )

Returns object records and statistical information about the object records. Each object record belongs to a parent of the object with ID objectID.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns an indexed array of object records plus an associated array with statistical information about the object records. The associated array is the last entry of the returned array.

hw_GetParents
hw_getrellink
Hyperwave Функции


Get link from source to dest relative to rootid

hw_GetParentsObj
hw_GetRemote
Hyperwave Функции
PHP Manual

hw_getrellink

(PHP 4)

hw_getrellink — Get link from source to dest relative to rootid

Описание

string hw_getrellink ( int $link , int $rootid , int $sourceid , int $destid )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_GetParentsObj
hw_GetRemote
Hyperwave Функции


Gets a remote document

hw_getrellink
hw_getremotechildren
Hyperwave Функции
PHP Manual

hw_GetRemote

(PHP 4)

hw_GetRemote — Gets a remote document

Описание

int hw_getremote ( int $connection , int $objectID )

Gets a remote document.

Remote documents in Hyperwave notation are documents retrieved from an external source. Common remote documents are for example external web pages or queries in a database.

In order to be able to access external sources through remote documents Hyperwave introduces the HGI (Hyperwave Gateway Interface) which is similar to the CGI. Currently, only ftp, http-servers and some databases can be accessed by the HGI.

Calling hw_getremote() returns the document from the external source. If you want to use this function you should be very familiar with HGIs. You should also consider to use PHP instead of Hyperwave to access external sources. Adding database support by a Hyperwave gateway should be more difficult than doing it in PHP.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

Возвращаемые значения

Returns a remote document.

Смотрите также

  • hw_getremotechildren() - Gets children of remote document

hw_getrellink
hw_getremotechildren
Hyperwave Функции


Gets children of remote document

hw_GetRemote
hw_GetSrcByDestObj
Hyperwave Функции
PHP Manual

hw_getremotechildren

(PHP 4)

hw_getremotechildren — Gets children of remote document

Описание

mixed hw_getremotechildren ( int $connection , string $object_record )

Returns the children of a remote document. Children of a remote document are remote documents itself. This makes sense if a database query has to be narrowed and is explained in Hyperwave Programmers' Guide.

If you want to use this function you should be very familiar with HGIs. You should also consider to use PHP instead of Hyperwave to access external sources. Adding database support by a Hyperwave gateway should be more difficult than doing it in PHP.

Список параметров

connection

The connection identifier.

object_record

The object record.

Возвращаемые значения

If the number of children is 1 the function will return the document itself formatted by the Hyperwave Gateway Interface (HGI). If the number of children is greater than 1 it will return an array of object record with each maybe the input value for another call to hw_getremotechildren(). Those object records are virtual and do not exist in the Hyperwave server, therefore they do not have a valid object ID. How exactly such an object record looks like is up to the HGI.

Смотрите также

  • hw_getremote() - Gets a remote document

hw_GetRemote
hw_GetSrcByDestObj
Hyperwave Функции


Returns anchors pointing at object

hw_getremotechildren
hw_GetText
Hyperwave Функции
PHP Manual

hw_GetSrcByDestObj

(PHP 4)

hw_GetSrcByDestObj — Returns anchors pointing at object

Описание

array hw_getsrcbydestobj ( int $connection , int $objectID )

Gets the object records of all anchors pointing to the object with ID objectID.

Список параметров

connection

The connection identifier.

objectID

The object identifier. The object can either be a document or an anchor of type destination.

Возвращаемые значения

Returns an array of object records.

Смотрите также

  • hw_getanchors() - Object ids of anchors of document

hw_getremotechildren
hw_GetText
Hyperwave Функции


Retrieve text document

hw_GetSrcByDestObj
hw_getusername
Hyperwave Функции
PHP Manual

hw_GetText

(PHP 4)

hw_GetText — Retrieve text document

Описание

int hw_gettext ( int $connection , int $objectID [, mixed $rootID/prefix ] )

Returns the document with object ID objectID. If the document has anchors which can be inserted, they will be inserted already.

This function will only work for pure text documents. It will not open a special data connection and therefore blocks the control connection during the transfer.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

rootID/prefix

The optional parameter rootID/prefix can be a string or an integer. If it is an integer it determines how links are inserted into the document. The default is 0 and will result in links that are constructed from the name of the link's destination object. This is useful for web applications. If a link points to an object with name 'internet_movie' the HTML link will be <A href="/internet_movie">. The actual location of the source and destination object in the document hierarchy is disregarded. You will have to set up your web browser, to rewrite that URL to for example '/my_script.php/internet_movie'. 'my_script.php' will have to evaluate $PATH_INFO and retrieve the document. All links will have the prefix '/my_script.php/'. If you do not want this you can set the optional parameter rootID/prefix to any prefix which is used instead. Is this case it has to be a string.

If rootID/prefix is an integer and unequal to 0 the link is constructed from all the names starting at the object with the id rootID/prefix separated by a slash relative to the current object.

If for example the above document 'internet_movie' is located at 'a-b-c-internet_movie' with '-' being the separator between hierarchy levels on the Hyperwave server and the source document is located at 'a-b-d-source' the resulting HTML link would be: <A HREF="../c/internet_movie">. This is useful if you want to download the whole server content onto disk and map the document hierarchy onto the file system.

Возвращаемые значения

Returns the text document.

Смотрите также

  • hw_pipedocument() - Retrieve any document
  • hw_free_document() - Frees hw_document
  • hw_document_bodytag() - Body tag of hw_document
  • hw_document_size() - Size of hw_document
  • hw_output_document() - Prints hw_document

hw_GetSrcByDestObj
hw_getusername
Hyperwave Функции


Name of currently logged in user

hw_GetText
hw_Identify
Hyperwave Функции
PHP Manual

hw_getusername

(PHP 4)

hw_getusername — Name of currently logged in user

Описание

string hw_getusername ( int $connection )

Returns the username of the connection.

Список параметров

connection

The connection identifier.

Возвращаемые значения

Returns the username as a string.

hw_GetText
hw_Identify
Hyperwave Функции


Identifies as user

hw_getusername
hw_InCollections
Hyperwave Функции
PHP Manual

hw_Identify

(PHP 4)

hw_Identify — Identifies as user

Описание

string hw_identify ( int $link , string $username , string $password )

Identifies as user with username and password. Identification is only valid for the current session. I do not think this function will be needed very often. In most cases it will be easier to identify with the opening of the connection.

Список параметров

link

The connection identifier.

username

The username.

password

The password.

Смотрите также

  • hw_connect() - Opens a connection

hw_getusername
hw_InCollections
Hyperwave Функции


Check if object ids in collections

hw_Identify
hw_Info
Hyperwave Функции
PHP Manual

hw_InCollections

(PHP 4)

hw_InCollections — Check if object ids in collections

Описание

array hw_incollections ( int $connection , array $object_id_array , array $collection_id_array , int $return_collections )

Checks whether a set of objects (documents or collections) specified by the object_id_array is part of the collections listed in collection_id_array.

Список параметров

connection

The connection identifier.

object_id_array

An array of object ids.

collection_id_array

An array of collection ids.

return_collections

When set to 0, the subset of object ids that is part of the collections (i.e., the documents or collections that are children of one or more collections of collection ids or their subcollections, recursively) is returned as an array.

When set to 1, the set of collections that have one or more objects of this subset as children are returned as an array. This option allows a client to, e.g., highlight the part of the collection hierarchy that contains the matches of a previous query, in a graphical overview.

Возвращаемые значения

Returns an array of object ids.

hw_Identify
hw_Info
Hyperwave Функции


Info about connection

hw_InCollections
hw_InsColl
Hyperwave Функции
PHP Manual

hw_Info

(PHP 4)

hw_Info — Info about connection

Описание

string hw_info ( int $connection )

Returns information about the current connection.

Список параметров

connection

The connection identifier.

Возвращаемые значения

The returned string has the following format: <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping>

hw_InCollections
hw_InsColl
Hyperwave Функции


Insert collection

hw_Info
hw_InsDoc
Hyperwave Функции
PHP Manual

hw_InsColl

(PHP 4)

hw_InsColl — Insert collection

Описание

int hw_inscoll ( int $connection , int $objectID , array $object_array )

Inserts a new collection with attributes as in object_array into collection with object ID objectID.

Список параметров

connection

The connection identifier.

objectID

object_array

Возвращаемые значения

hw_Info
hw_InsDoc
Hyperwave Функции


Insert document

hw_InsColl
hw_insertanchors
Hyperwave Функции
PHP Manual

hw_InsDoc

(PHP 4)

hw_InsDoc — Insert document

Описание

int hw_insdoc ( resource $connection , int $parentID , string $object_record [, string $text ] )

Inserts a new document with attributes as in object_record into acollection.

If you want to insert a general document of any kind use hw_insertdocument() instead.

Список параметров

connection

The connection identifier.

parentID

The collection id.

object_record

Object attributes.

text

If provided, this ascii text will be inserted too.

Возвращаемые значения

Смотрите также

  • hw_insertdocument() - Upload any document
  • hw_inscoll() - Insert collection

hw_InsColl
hw_insertanchors
Hyperwave Функции


Inserts only anchors into text

hw_InsDoc
hw_InsertDocument
Hyperwave Функции
PHP Manual

hw_insertanchors

(PHP 4 >= 4.0.4)

hw_insertanchors — Inserts only anchors into text

Описание

bool hw_insertanchors ( int $hwdoc , array $anchorecs , array $dest [, array $urlprefixes ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_InsDoc
hw_InsertDocument
Hyperwave Функции


Upload any document

hw_insertanchors
hw_InsertObject
Hyperwave Функции
PHP Manual

hw_InsertDocument

(PHP 4)

hw_InsertDocument — Upload any document

Описание

int hw_insertdocument ( int $connection , int $parent_id , int $hw_document )

Uploads a document into the given collection.

The document has to be created before with hw_new_document(). Make sure that the object record of the new document contains at least the attributes: Type, DocumentType, Title and Name. Possibly you also want to set the MimeType.

Список параметров

connection

The connection identifier.

parent_id

The collection identifier.

hw_document

The document identifier.

Возвращаемые значения

The functions returns the object id of the new document or FALSE.

Смотрите также

  • hw_pipedocument() - Retrieve any document

hw_insertanchors
hw_InsertObject
Hyperwave Функции


Inserts an object record

hw_InsertDocument
hw_mapid
Hyperwave Функции
PHP Manual

hw_InsertObject

(PHP 4)

hw_InsertObject — Inserts an object record

Описание

int hw_insertobject ( int $connection , string $object_rec , string $parameter )

Inserts an object into the server.

Note: If you want to insert an Anchor, the attribute Position has always been set either to a start/end value or to 'invisible'. Invisible positions are needed if the annotation has no corresponding link in the annotation text.

Список параметров

connection

The connection identifier.

object_rec

The object can be any valid hyperwave object.

parameter

See the HG-CSP documentation for a detailed information on how the parameters have to be.

Смотрите также

  • hw_pipedocument() - Retrieve any document
  • hw_insertdocument() - Upload any document
  • hw_insdoc() - Insert document
  • hw_inscoll() - Insert collection

hw_InsertDocument
hw_mapid
Hyperwave Функции


Maps global id on virtual local id

hw_InsertObject
hw_Modifyobject
Hyperwave Функции
PHP Manual

hw_mapid

(PHP 4)

hw_mapid — Maps global id on virtual local id

Описание

int hw_mapid ( int $connection , int $server_id , int $object_id )

Maps a global object id on any hyperwave server, even those you did not connect to with hw_connect(), onto a virtual object id.

This virtual object id can then be used as any other object id, e.g. to obtain the object record with hw_getobject().

Note: In order to use this function you will have to set the F_DISTRIBUTED flag, which can currently only be set at compile time in hg_comm.c. It is not set by default. Read the comment at the beginning of hg_comm.c

Список параметров

connection

The connection identifier.

server_id

The server id is the first part of the global object id (GOid) of the object which is actually the IP number as an integer.

object_id

The object identifier.

Возвращаемые значения

Returns the virtual object id.

hw_InsertObject
hw_Modifyobject
Hyperwave Функции


Modifies object record

hw_mapid
hw_mv
Hyperwave Функции
PHP Manual

hw_Modifyobject

(PHP 4)

hw_Modifyobject — Modifies object record

Описание

bool hw_modifyobject ( int $connection , int $object_to_change , array $remove , array $add [, int $mode ] )

This command allows to remove, add, or modify individual attributes of an object record. The object is specified by the Object ID object_to_change. In order to modify an attribute one will have to remove the old one and add a new one. hw_modifyobject() will always remove the attributes before it adds attributes unless the value of the attribute to remove is not a string or array.

The keys of both arrays are the attributes name. The value of each array element can either be an array, a string or anything else. If it is an array each attribute value is constructed by the key of each element plus a colon and the value of each element. If it is a string it is taken as the attribute value. An empty string will result in a complete removal of that attribute. If the value is neither a string nor an array but something else, e.g. an integer, no operation at all will be performed on the attribute. This is necessary if you want to add a completely new attribute not just a new value for an existing attribute. If the remove array contained an empty string for that attribute, the attribute would be tried to be removed which would fail since it doesn't exist. The following addition of a new value for that attribute would also fail. Setting the value for that attribute to e.g. 0 would not even try to remove it and the addition will work.

If you would like to change the attribute 'Name' with the current value 'books' into 'articles' you will have to create two arrays and call hw_modifyobject().

Пример #1 modifying an attribute

<?php
       // $connect is an existing connection to the Hyperwave server
       // $objid is the ID of the object to modify
       $remarr = array("Name" => "books");
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
In order to delete/add a name=value pair from/to the object record just pass the remove/add array and set the last/third parameter to an empty array. If the attribute is the first one with that name to add, set attribute value in the remove array to an integer.

Пример #2 adding a completely new attribute

<?php
       // $connect is an existing connection to the Hyperwave server
       // $objid is the ID of the object to modify
       $remarr = array("Name" => 0);
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Замечание: Multilingual attributes, e.g. 'Title', can be modified in two ways. Either by providing the attributes value in its native form 'language':'title' or by providing an array with elements for each language as described above. The above example would than be:

Пример #3 modifying Title attribute

<?php
       $remarr = array("Title" => "en:Books");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
or

Пример #4 modifying Title attribute

<?php
       $remarr = array("Title" => array("en" => "Books"));
       $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel"));
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
This removes the English title 'Books' and adds the English title 'Articles' and the German title 'Artikel'.

Пример #5 removing attribute

<?php
       $remarr = array("Title" => "");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Замечание: This will remove all attributes with the name 'Title' and adds a new 'Title' attribute. This comes in handy if you want to remove attributes recursively.

Замечание: If you need to delete all attributes with a certain name you will have to pass an empty string as the attribute value.

Замечание: Only the attributes 'Title', 'Description' and 'Keyword' will properly handle the language prefix. If those attributes don't carry a language prefix, the prefix 'xx' will be assigned.

Замечание: The 'Name' attribute is somewhat special. In some cases it cannot be complete removed. You will get an error message 'Change of base attribute' (not clear when this happens). Therefore you will always have to add a new Name first and than remove the old one.

Замечание: You may not surround this function by calls to hw_getandlock() and hw_unlock(). hw_modifyobject() does this internally.

Список параметров

connection

The connection identifier.

object_to_change

The object to be changed.

remove

An array of attributes to remove.

add

An array of attributes to add.

mode

The last parameter determines if the modification is performed recursively. 1 means recursive modification. If some of the objects cannot be modified they will be skipped without notice. hw_error() may not indicate an error though some of the objects could not be modified.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

hw_mapid
hw_mv
Hyperwave Функции


Moves objects

hw_Modifyobject
hw_New_Document
Hyperwave Функции
PHP Manual

hw_mv

(PHP 4)

hw_mv — Moves objects

Описание

int hw_mv ( int $connection , array $object_id_array , int $source_id , int $destination_id )

Moves the specified objects from a collection to another.

Список параметров

connection

The connection identifier.

object_id_array

An array of object ids.

source_id

The source collection id.

destination_id

The target collection id. If set to 0 the objects will be unlinked from the source collection. If this is the last instance of that object it will be deleted. If you want to delete all instances at once, use hw_deleteobject().

Возвращаемые значения

Returns the number of moved objects.

Смотрите также

  • hw_cp() - Copies objects
  • hw_deleteobject() - Deletes object

hw_Modifyobject
hw_New_Document
Hyperwave Функции


Create new document

hw_mv
hw_objrec2array
Hyperwave Функции
PHP Manual

hw_New_Document

(PHP 4)

hw_New_Document — Create new document

Описание

int hw_new_document ( string $object_record , string $document_data , int $document_size )

Returns a new Hyperwave document with the given document data and object record.

This function does not insert the document into the Hyperwave server.

Список параметров

object_record

The object record.

document_data

The document data.

document_size

The document size. Must be the length of document_data.

Возвращаемые значения

Returns the new Hyperwave document.

Смотрите также

  • hw_free_document() - Frees hw_document
  • hw_document_size() - Size of hw_document
  • hw_document_bodytag() - Body tag of hw_document
  • hw_output_document() - Prints hw_document
  • hw_insertdocument() - Upload any document

hw_mv
hw_objrec2array
Hyperwave Функции


Convert attributes from object record to object array

hw_New_Document
hw_Output_Document
Hyperwave Функции
PHP Manual

hw_objrec2array

(PHP 4)

hw_objrec2array — Convert attributes from object record to object array

Описание

array hw_objrec2array ( string $object_record [, array $format ] )

Converts an object_record into an object array.

Список параметров

object_record

The object record.

format

An associative array with the attribute name as its key and the value being one of HW_ATTR_LANG or HW_ATTR_NONE.

Возвращаемые значения

Returns an array. The keys of the resulting array are the attributes names. Multi-value attributes like 'Title' in different languages form its own array. The keys of this array are the left part to the colon of the attribute value. This left part must be two characters long.

Other multi-value attributes without a prefix form an indexed array. If the optional parameter is missing the attributes 'Title', 'Description' and 'Keyword' are treated as language attributes and the attributes 'Group', 'Parent' and 'HtmlAttr' as non-prefixed multi-value attributes. By passing an array holding the type for each attribute you can alter this behaviour.

Смотрите также

  • hw_array2objrec() - Convert attributes from object array to object record

hw_New_Document
hw_Output_Document
Hyperwave Функции


Prints hw_document

hw_objrec2array
hw_pConnect
Hyperwave Функции
PHP Manual

hw_Output_Document

(PHP 4)

hw_Output_Document — Prints hw_document

Описание

bool hw_output_document ( int $hw_document )

Prints the document without the BODY tag.

For backward compatibility, hw_outputdocument() is also accepted. This is deprecated, however.

Список параметров

hw_document

The document identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

hw_objrec2array
hw_pConnect
Hyperwave Функции


Make a persistent database connection

hw_Output_Document
hw_PipeDocument
Hyperwave Функции
PHP Manual

hw_pConnect

(PHP 4)

hw_pConnect — Make a persistent database connection

Описание

int hw_pconnect ( string $host , int $port [, string $username ], string $password )

Opens a persistent connection to a Hyperwave server. You can have multiple persistent connections open at once.

Список параметров

host

The server host name.

port

The server port number.

username

The Hyperwave user name. If omitted, no identification with the server will be done. It is similar to identify as user anonymous.

password

The password for username. Keep in mind, that the password is not encrypted.

Возвращаемые значения

Returns a connection index on success, or FALSE if the connection could not be made.

Смотрите также

  • hw_connect() - Opens a connection

hw_Output_Document
hw_PipeDocument
Hyperwave Функции


Retrieve any document

hw_pConnect
hw_Root
Hyperwave Функции
PHP Manual

hw_PipeDocument

(PHP 4)

hw_PipeDocument — Retrieve any document

Описание

int hw_pipedocument ( int $connection , int $objectID [, array $url_prefixes ] )

Gets the Hyperwave document with the given object ID. If the document has anchors which can be inserted, they will have been inserted already.

The document will be transferred via a special data connection which does not block the control connection.

Список параметров

connection

The connection identifier.

objectID

The object identifier.

url_prefixes

Возвращаемые значения

Returns the Hyperwave document.

Смотрите также

  • hw_gettext() - Retrieve text document
  • hw_free_document() - Frees hw_document
  • hw_document_size() - Size of hw_document
  • hw_document_bodytag() - Body tag of hw_document
  • hw_output_document() - Prints hw_document

hw_pConnect
hw_Root
Hyperwave Функции


Root object id

hw_PipeDocument
hw_setlinkroot
Hyperwave Функции
PHP Manual

hw_Root

(PHP 4)

hw_Root — Root object id

Описание

int hw_root ( void )

Returns the object ID of the hyperroot collection. Currently this is always 0. The child collection of the hyperroot is the root collection of the connected server.

Возвращаемые значения

Returns 0.

hw_PipeDocument
hw_setlinkroot
Hyperwave Функции


Set the id to which links are calculated

hw_Root
hw_stat
Hyperwave Функции
PHP Manual

hw_setlinkroot

(PHP 4)

hw_setlinkroot — Set the id to which links are calculated

Описание

int hw_setlinkroot ( int $link , int $rootid )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_Root
hw_stat
Hyperwave Функции


Returns status string

hw_setlinkroot
hw_Unlock
Hyperwave Функции
PHP Manual

hw_stat

(PHP 4)

hw_stat — Returns status string

Описание

string hw_stat ( int $link )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

hw_setlinkroot
hw_Unlock
Hyperwave Функции


Unlock object

hw_stat
hw_Who
Hyperwave Функции
PHP Manual

hw_Unlock

(PHP 4)

hw_Unlock — Unlock object

Описание

bool hw_unlock ( int $connection , int $objectID )

Unlocks a document, so other users regain access.

Список параметров

connection

The connection identifier.

objectID

The document object identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_getandlock() - Return object record and lock object

hw_stat
hw_Who
Hyperwave Функции


List of currently logged in users

hw_Unlock
Hyperwave API
Hyperwave Функции
PHP Manual

hw_Who

(PHP 4)

hw_Who — List of currently logged in users

Описание

array hw_who ( int $connection )

Gets the list of currently logged in users.

Список параметров

connection

The connection identifier.

Возвращаемые значения

Returns an array of users currently logged into the Hyperwave server. Each entry in this array is an array itself containing the elements id, name, system, onSinceDate, onSinceTime, TotalTime and self. 'self' is 1 if this entry belongs to the user who initiated the request.

hw_Unlock
Hyperwave API
Hyperwave Функции


Hyperwave API

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Hyperwave API Функции
    • hw_api_attribute->key — Returns key of the attribute
    • hw_api_attribute->langdepvalue — Returns value for a given language
    • hw_api_attribute->value — Returns value of the attribute
    • hw_api_attribute->values — Returns all values of the attribute
    • hw_api_attribute — Creates instance of class hw_api_attribute
    • hw_api->checkin — Checks in an object
    • hw_api->checkout — Checks out an object
    • hw_api->children — Returns children of an object
    • hw_api_content->mimetype — Returns mimetype
    • hw_api_content->read — Read content
    • hw_api->content — Returns content of an object
    • hw_api->copy — Copies physically
    • hw_api->dbstat — Returns statistics about database server
    • hw_api->dcstat — Returns statistics about document cache server
    • hw_api->dstanchors — Returns a list of all destination anchors
    • hw_api->dstofsrcanchor — Returns destination of a source anchor
    • hw_api_error->count — Returns number of reasons
    • hw_api_error->reason — Returns reason of error
    • hw_api->find — Search for objects
    • hw_api->ftstat — Returns statistics about fulltext server
    • hwapi_hgcsp — Returns object of class hw_api
    • hw_api->hwstat — Returns statistics about Hyperwave server
    • hw_api->identify — Log into Hyperwave Server
    • hw_api->info — Returns information about server configuration
    • hw_api->insert — Inserts a new object
    • hw_api->insertanchor — Inserts a new object of type anchor
    • hw_api->insertcollection — Inserts a new object of type collection
    • hw_api->insertdocument — Inserts a new object of type document
    • hw_api->link — Creates a link to an object
    • hw_api->lock — Locks an object
    • hw_api->move — Moves object between collections
    • hw_api_content — Create new instance of class hw_api_content
    • hw_api_object->assign — Clones object
    • hw_api_object->attreditable — Checks whether an attribute is editable
    • hw_api_object->count — Returns number of attributes
    • hw_api_object->insert — Inserts new attribute
    • hw_api_object — Creates a new instance of class hw_api_object
    • hw_api_object->remove — Removes attribute
    • hw_api_object->title — Returns the title attribute
    • hw_api_object->value — Returns value of attribute
    • hw_api->object — Retrieve attribute information
    • hw_api->objectbyanchor — Returns the object an anchor belongs to
    • hw_api->parents — Returns parents of an object
    • hw_api_reason->description — Returns description of reason
    • hw_api_reason->type — Returns type of reason
    • hw_api->remove — Delete an object
    • hw_api->replace — Replaces an object
    • hw_api->setcommittedversion — Commits version other than last version
    • hw_api->srcanchors — Returns a list of all source anchors
    • hw_api->srcsofdst — Returns source of a destination object
    • hw_api->unlock — Unlocks a locked object
    • hw_api->user — Returns the own user object
    • hw_api->userlist — Returns a list of all logged in users
hw_Who
Введение
Другие службы


Введение

Hyperwave has been developed at » IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5, is available at » http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

See also the Hyperwave module.

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.2.0.

Hyperwave API
Установка и настройка
Hyperwave API


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Hyperwave API


Требования

Since 2001 there is a Hyperwave SDK available. It supports Java, JavaScript and C++. This PHP Extension is based on the C++ interface. In order to activate the hwapi support in PHP you will have to install the Hyperwave SDK first.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/hwapi.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.2.0

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Hyperwave API configuration options
Name | Default | Changeable | Changelog
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Hyperwave API Функции
Hyperwave API


Hyperwave API Функции

Integration with Apache

The integration with Apache and possible other servers is already described in the Hyperwave module which has been the first extension to connect a Hyperwave Server.

Classes

The API provided by the HW_API extension is fully object oriented. It is very similar to the C++ interface of the Hyperwave SDK. It consist of the following classes.

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Some basic classes like HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

Each class has certain method, whose names are identical to its counterparts in the Hyperwave SDK. Passing arguments to this function differs from all the other PHP extensions but is close to the C++ API of the HW SDK. Instead of passing several parameters they are all put into an associated array and passed as one parameter. The names of the keys are identical to those documented in the HW SDK. The common parameters are listed below. If other parameters are required they will be documented if needed.

  • objectIdentifier The name or id of an object, e.g. "rootcollection", "0x873A8768 0x00000002".
  • parentIdentifier The name or id of an object which is considered to be a parent.
  • object An instance of class HW_API_Object.
  • parameters An instance of class HW_API_Object.
  • version The version of an object.
  • mode An integer value determine the way an operation is executed.
  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.
  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api->children() or hw_api->find().

Замечание:

Methods returning boolean can return TRUE, FALSE or HW_API_Error object.

Содержание

  • hw_api_attribute->key — Returns key of the attribute
  • hw_api_attribute->langdepvalue — Returns value for a given language
  • hw_api_attribute->value — Returns value of the attribute
  • hw_api_attribute->values — Returns all values of the attribute
  • hw_api_attribute — Creates instance of class hw_api_attribute
  • hw_api->checkin — Checks in an object
  • hw_api->checkout — Checks out an object
  • hw_api->children — Returns children of an object
  • hw_api_content->mimetype — Returns mimetype
  • hw_api_content->read — Read content
  • hw_api->content — Returns content of an object
  • hw_api->copy — Copies physically
  • hw_api->dbstat — Returns statistics about database server
  • hw_api->dcstat — Returns statistics about document cache server
  • hw_api->dstanchors — Returns a list of all destination anchors
  • hw_api->dstofsrcanchor — Returns destination of a source anchor
  • hw_api_error->count — Returns number of reasons
  • hw_api_error->reason — Returns reason of error
  • hw_api->find — Search for objects
  • hw_api->ftstat — Returns statistics about fulltext server
  • hwapi_hgcsp — Returns object of class hw_api
  • hw_api->hwstat — Returns statistics about Hyperwave server
  • hw_api->identify — Log into Hyperwave Server
  • hw_api->info — Returns information about server configuration
  • hw_api->insert — Inserts a new object
  • hw_api->insertanchor — Inserts a new object of type anchor
  • hw_api->insertcollection — Inserts a new object of type collection
  • hw_api->insertdocument — Inserts a new object of type document
  • hw_api->link — Creates a link to an object
  • hw_api->lock — Locks an object
  • hw_api->move — Moves object between collections
  • hw_api_content — Create new instance of class hw_api_content
  • hw_api_object->assign — Clones object
  • hw_api_object->attreditable — Checks whether an attribute is editable
  • hw_api_object->count — Returns number of attributes
  • hw_api_object->insert — Inserts new attribute
  • hw_api_object — Creates a new instance of class hw_api_object
  • hw_api_object->remove — Removes attribute
  • hw_api_object->title — Returns the title attribute
  • hw_api_object->value — Returns value of attribute
  • hw_api->object — Retrieve attribute information
  • hw_api->objectbyanchor — Returns the object an anchor belongs to
  • hw_api->parents — Returns parents of an object
  • hw_api_reason->description — Returns description of reason
  • hw_api_reason->type — Returns type of reason
  • hw_api->remove — Delete an object
  • hw_api->replace — Replaces an object
  • hw_api->setcommittedversion — Commits version other than last version
  • hw_api->srcanchors — Returns a list of all source anchors
  • hw_api->srcsofdst — Returns source of a destination object
  • hw_api->unlock — Unlocks a locked object
  • hw_api->user — Returns the own user object
  • hw_api->userlist — Returns a list of all logged in users
Предопределенные константы
hw_api_attribute->key
Hyperwave API


Returns key of the attribute

Hyperwave API Функции
hw_api_attribute->langdepvalue
Hyperwave API Функции
PHP Manual

hw_api_attribute->key

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->key — Returns key of the attribute

Описание

string hw_api_attribute::key ( void )

Returns the name of the attribute.

Возвращаемые значения

Returns the name of the attribute as a string.

Смотрите также

  • hw_api_attribute->value

Hyperwave API Функции
hw_api_attribute->langdepvalue
Hyperwave API Функции


Returns value for a given language

hw_api_attribute->key
hw_api_attribute->value
Hyperwave API Функции
PHP Manual

hw_api_attribute->langdepvalue

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->langdepvalue — Returns value for a given language

Описание

string hw_api_attribute::langdepvalue ( string $language )

Returns the value in the given language of the attribute.

Список параметров

language

Возвращаемые значения

Returns the value of the attribute as a string.

Смотрите также

  • hw_api_attribute->value

hw_api_attribute->key
hw_api_attribute->value
Hyperwave API Функции


Returns value of the attribute

hw_api_attribute->langdepvalue
hw_api_attribute->values
Hyperwave API Функции
PHP Manual

hw_api_attribute->value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->value — Returns value of the attribute

Описание

string hw_api_attribute::value ( void )

Gets the value of the attribute.

Возвращаемые значения

Returns the value, as a string.

Смотрите также

  • hw_api_attribute->key
  • hw_api_attribute->values

hw_api_attribute->langdepvalue
hw_api_attribute->values
Hyperwave API Функции


Returns all values of the attribute

hw_api_attribute->value
hw_api_attribute
Hyperwave API Функции
PHP Manual

hw_api_attribute->values

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->values — Returns all values of the attribute

Описание

array hw_api_attribute::values ( void )

Gets all values of the attribute.

Возвращаемые значения

Returns an array of attribute values.

Смотрите также

  • hw_api_attribute->value

hw_api_attribute->value
hw_api_attribute
Hyperwave API Функции


Creates instance of class hw_api_attribute

hw_api_attribute->values
hw_api->checkin
Hyperwave API Функции
PHP Manual

hw_api_attribute

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute — Creates instance of class hw_api_attribute

Описание

HW_API_Attribute hw_api_attribute ([ string $name [, string $value ]] )

Creates a new instance of hw_api_attribute with the given name and value.

Список параметров

name

The attribute name.

value

The attribute value.

Возвращаемые значения

Returns an instance of hw_api_attribute.

hw_api_attribute->values
hw_api->checkin
Hyperwave API Функции


Checks in an object

hw_api_attribute
hw_api->checkout
Hyperwave API Функции
PHP Manual

hw_api->checkin

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->checkin — Checks in an object

Описание

bool hw_api::checkin ( array $parameter )

This function checks in an object or a whole hierarchy of objects. The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'comment', 'mode' and 'objectQuery'. 'version' sets the version of the object. It consists of the major and minor version separated by a period. If the version is not set, the minor version is incremented. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks in and commits the object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check in is a collection, all children will be checked in recursively if they are documents. Trying to check in a collection would result in an error.
HW_API_CHECKIN_FORCE_VERSION_CONTROL
Checks in an object even if it is not under version control.
HW_API_CHECKIN_REVERT_IF_NOT_CHANGED
Check if the new version is different from the last version. Unless this is the case the object will be checked in.
HW_API_CHECKIN_KEEP_TIME_MODIFIED
Keeps the time modified from the most recent object.
HW_API_CHECKIN_NO_AUTO_COMMIT
The object is not automatically committed on check-in.

Список параметров

parameter

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api->checkout

hw_api_attribute
hw_api->checkout
Hyperwave API Функции


Checks out an object

hw_api->checkin
hw_api->children
Hyperwave API Функции
PHP Manual

hw_api->checkout

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->checkout — Checks out an object

Описание

bool hw_api::checkout ( array $parameter )

This function checks out an object or a whole hierarchy of objects.

Список параметров

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'mode' and 'objectQuery'. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks out an object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check out is a collection, all children will be checked out recursively if they are documents. Trying to check out a collection would result in an error.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api->checkin

hw_api->checkin
hw_api->children
Hyperwave API Функции


Returns children of an object

hw_api->checkout
hw_api_content->mimetype
Hyperwave API Функции
PHP Manual

hw_api->children

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->children — Returns children of an object

Описание

array hw_api::children ( array $parameter )

Retrieves the children of a collection or the attributes of a document. The children can be further filtered by specifying an object query.

Список параметров

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Возвращаемые значения

The return value is an array of objects of type HW_API_Object or HW_API_Error.

Смотрите также

  • hw_api->parents

hw_api->checkout
hw_api_content->mimetype
Hyperwave API Функции


Returns mimetype

hw_api->children
hw_api_content->read
Hyperwave API Функции
PHP Manual

hw_api_content->mimetype

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content->mimetype — Returns mimetype

Описание

string hw_api_content::mimetype ( void )

Returns the mimetype of the content.

Возвращаемые значения

Returns the mimetype as a string.

hw_api->children
hw_api_content->read
Hyperwave API Функции


Read content

hw_api_content->mimetype
hw_api->content
Hyperwave API Функции
PHP Manual

hw_api_content->read

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content->read — Read content

Описание

string hw_api_content::read ( string $buffer , int $len )

Reads len bytes from the content into the given buffer.

Список параметров

buffer

len

Number of bytes to read.

Возвращаемые значения

hw_api_content->mimetype
hw_api->content
Hyperwave API Функции


Returns content of an object

hw_api_content->read
hw_api->copy
Hyperwave API Функции
PHP Manual

hw_api->content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->content — Returns content of an object

Описание

HW_API_Content hw_api::content ( array $parameter )

This function returns the content of a document as an object of type hw_api_content.

Список параметров

parameter

The parameter array contains the required elements 'objectidentifier' and the optional element 'mode'. The mode can be one of the constants HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS or HW_API_CONTENT_PLAIN.

HW_API_CONTENT_ALLLINKS means to insert all anchors even if the destination is not reachable.

HW_API_CONTENT_REACHABLELINKS tells this method to insert only reachable links and HW_API_CONTENT_PLAIN will lead to document without any links.

Возвращаемые значения

Returns an instance of hw_api_content.

hw_api_content->read
hw_api->copy
Hyperwave API Функции


Copies physically

hw_api->content
hw_api->dbstat
Hyperwave API Функции
PHP Manual

hw_api->copy

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->copy — Copies physically

Описание

hw_api_content hw_api::copy ( array $parameter )

This function will make a physical copy including the content if it exists and returns the new object or an error object.

Список параметров

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. The optional parameter is 'attributeSelector'`

Возвращаемые значения

Returns the copied object.

Смотрите также

  • hw_api->move
  • hw_api->link

hw_api->content
hw_api->dbstat
Hyperwave API Функции


Returns statistics about database server

hw_api->copy
hw_api->dcstat
Hyperwave API Функции
PHP Manual

hw_api->dbstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dbstat — Returns statistics about database server

Описание

hw_api_object hw_api::dbstat ( array $parameter )

Returns statistics about database server.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->dcstat
  • hw_api->hwstat
  • hw_api->ftstat

hw_api->copy
hw_api->dcstat
Hyperwave API Функции


Returns statistics about document cache server

hw_api->dbstat
hw_api->dstanchors
Hyperwave API Функции
PHP Manual

hw_api->dcstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dcstat — Returns statistics about document cache server

Описание

hw_api_object hw_api::dcstat ( array $parameter )

Returns statistics about document cache server.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->dbstat
  • hw_api->hwstat
  • hw_api->ftstat

hw_api->dbstat
hw_api->dstanchors
Hyperwave API Функции


Returns a list of all destination anchors

hw_api->dcstat
hw_api->dstofsrcanchor
Hyperwave API Функции
PHP Manual

hw_api->dstanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dstanchors — Returns a list of all destination anchors

Описание

array hw_api::dstanchors ( array $parameter )

Retrieves all destination anchors of an object.

Список параметров

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Возвращаемые значения

Смотрите также

  • hw_api->srcanchors

hw_api->dcstat
hw_api->dstofsrcanchor
Hyperwave API Функции


Returns destination of a source anchor

hw_api->dstanchors
hw_api_error->count
Hyperwave API Функции
PHP Manual

hw_api->dstofsrcanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dstofsrcanchor — Returns destination of a source anchor

Описание

hw_api_object hw_api::dstofsrcanchor ( array $parameter )

Retrieves the destination object pointed by the specified source anchors. The destination object can either be a destination anchor or a whole document.

Список параметров

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

Возвращаемые значения

Смотрите также

  • hw_api->srcanchors
  • hw_api->dstanchors
  • hw_api->objectbyanchor

hw_api->dstanchors
hw_api_error->count
Hyperwave API Функции


Returns number of reasons

hw_api->dstofsrcanchor
hw_api_error->reason
Hyperwave API Функции
PHP Manual

hw_api_error->count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error->count — Returns number of reasons

Описание

int hw_api_error::count ( void )

Returns the number of error reasons.

Возвращаемые значения

Returns the number of errors, as an integer.

Смотрите также

  • hw_api_error->reason

hw_api->dstofsrcanchor
hw_api_error->reason
Hyperwave API Функции


Returns reason of error

hw_api_error->count
hw_api->find
Hyperwave API Функции
PHP Manual

hw_api_error->reason

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error->reason — Returns reason of error

Описание

HW_API_Reason hw_api_error::reason ( void )

Returns the first error reason.

Возвращаемые значения

Смотрите также

  • hw_api_error->count

hw_api_error->count
hw_api->find
Hyperwave API Функции


Search for objects

hw_api_error->reason
hw_api->ftstat
Hyperwave API Функции
PHP Manual

hw_api->find

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->find — Search for objects

Описание

array hw_api::find ( array $parameter )

This functions searches for objects either by executing a key or/and full text query. The found objects can further be filtered by an optional object query. They are sorted by their importance. The second search operation is relatively slow and its result can be limited to a certain number of hits. This allows to perform an incremental search, each returning just a subset of all found documents, starting at a given index.

Список параметров

parameter

The parameter array contains the 'keyquery' or/and 'fulltextquery' depending on who you would like to search. Optional parameters are 'objectquery', 'scope', 'languages' and 'attributeselector'. In case of an incremental search the optional parameters 'startIndex', 'numberOfObjectsToGet' and 'exactMatchUnit' can be passed.

Возвращаемые значения

hw_api_error->reason
hw_api->ftstat
Hyperwave API Функции


Returns statistics about fulltext server

hw_api->find
hwapi_hgcsp
Hyperwave API Функции
PHP Manual

hw_api->ftstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->ftstat — Returns statistics about fulltext server

Описание

hw_api_object hw_api::ftstat ( array $parameter )

Returns statistics about fulltext server.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->hwstat

hw_api->find
hwapi_hgcsp
Hyperwave API Функции


Returns object of class hw_api

hw_api->ftstat
hw_api->hwstat
Hyperwave API Функции
PHP Manual

hwapi_hgcsp

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hwapi_hgcsp — Returns object of class hw_api

Описание

HW_API hwapi_hgcsp ( string $hostname [, int $port ] )

Opens a connection to the Hyperwave server on host hostname. The protocol used is HGCSP.

Список параметров

hostname

The host name.

port

If you do not pass a port number, 418 is used.

Возвращаемые значения

Returns an instance of HW_API.

hw_api->ftstat
hw_api->hwstat
Hyperwave API Функции


Returns statistics about Hyperwave server

hwapi_hgcsp
hw_api->identify
Hyperwave API Функции
PHP Manual

hw_api->hwstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->hwstat — Returns statistics about Hyperwave server

Описание

hw_api_object hw_api::hwstat ( array $parameter )

Returns statistics about Hyperwave server.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->ftstat

hwapi_hgcsp
hw_api->identify
Hyperwave API Функции


Log into Hyperwave Server

hw_api->hwstat
hw_api->info
Hyperwave API Функции
PHP Manual

hw_api->identify

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->identify — Log into Hyperwave Server

Описание

bool hw_api::identify ( array $parameter )

Logs into the Hyperwave Server.

Список параметров

parameter

The parameter array must contain the elements 'username' and 'password'.

Возвращаемые значения

Returns an object of typeHW_API_Error if identification failed or TRUE if it was successful.

hw_api->hwstat
hw_api->info
Hyperwave API Функции


Returns information about server configuration

hw_api->identify
hw_api->insert
Hyperwave API Функции
PHP Manual

hw_api->info

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->info — Returns information about server configuration

Описание

array hw_api::info ( array $parameter )

Returns information about server configuration.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->ftstat
  • hw_api->hwstat

hw_api->identify
hw_api->insert
Hyperwave API Функции


Inserts a new object

hw_api->info
hw_api->insertanchor
Hyperwave API Функции
PHP Manual

hw_api->insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insert — Inserts a new object

Описание

hw_api_object hw_api::insert ( array $parameter )

Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set.

Список параметров

parameter

The parameter array contains the required elements 'object' and 'content' (if the object is a document) and the optional parameters 'parameters', 'mode' and 'attributeSelector'. The 'object' must contain all attributes of the object. 'parameters' is an object as well holding further attributes like the destination (attribute key is 'Parent'). 'content' is the content of the document. 'mode' can be a combination of the following flags:

HW_API_INSERT_NORMAL
The object in inserted into the server.
HW_API_INSERT_FORCE_VERSION_CONTROL
HW_API_INSERT_AUTOMATIC_CHECKOUT
HW_API_INSERT_PLAIN
HW_API_INSERT_KEEP_TIME_MODIFIED
HW_API_INSERT_DELAY_INDEXING

Возвращаемые значения

Смотрите также

  • hw_api->replace

hw_api->info
hw_api->insertanchor
Hyperwave API Функции


Inserts a new object of type anchor

hw_api->insert
hw_api->insertcollection
Hyperwave API Функции
PHP Manual

hw_api->insertanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertanchor — Inserts a new object of type anchor

Описание

hw_api_object hw_api::insertanchor ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type anchor and sets some of the attributes required for an anchor.

Список параметров

parameter

The parameter array contains the required elements 'object' and 'documentIdentifier' and the optional elements 'destinationIdentifier', 'parameter', 'hint' and 'attributeSelector'. The 'documentIdentifier' specifies the document where the anchor shall be inserted. The target of the anchor is set in 'destinationIdentifier' if it already exists. If the target does not exists the element 'hint' has to be set to the name of object which is supposed to be inserted later. Once it is inserted the anchor target is resolved automatically.

Возвращаемые значения

Смотрите также

  • hw_api->insert
  • hw_api->insertdocument
  • hw_api->insertcollection

hw_api->insert
hw_api->insertcollection
Hyperwave API Функции


Inserts a new object of type collection

hw_api->insertanchor
hw_api->insertdocument
Hyperwave API Функции
PHP Manual

hw_api->insertcollection

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertcollection — Inserts a new object of type collection

Описание

hw_api_object hw_api::insertcollection ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type collection and sets some of the attributes required for a collection.

Список параметров

parameter

The parameter array contains the required elements 'object' and 'parentIdentifier' and the optional elements 'parameter' and 'attributeSelector'. See hwapi_insert() for the meaning of each element.

Возвращаемые значения

Смотрите также

  • hw_api->insert
  • hw_api->insertdocument
  • hw_api->insertanchor

hw_api->insertanchor
hw_api->insertdocument
Hyperwave API Функции


Inserts a new object of type document

hw_api->insertcollection
hw_api->link
Hyperwave API Функции
PHP Manual

hw_api->insertdocument

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertdocument — Inserts a new object of type document

Описание

hw_api_object hw_api::insertdocument ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object with content and sets some of the attributes required for a document.

Список параметров

parameter

The parameter array contains the required elements 'object', 'parentIdentifier' and 'content' and the optional elements 'mode', 'parameter' and 'attributeSelector'.

See hwapi_insert() for the meaning of each element.

Возвращаемые значения

Смотрите также

  • hw_api->insert
  • hw_api->insertcollection
  • hw_api->insertanchor

hw_api->insertcollection
hw_api->link
Hyperwave API Функции


Creates a link to an object

hw_api->insertdocument
hw_api->lock
Hyperwave API Функции
PHP Manual

hw_api->link

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->link — Creates a link to an object

Описание

bool hw_api::link ( array $parameter )

Creates a link to an object. Accessing this link is like accessing the object to links points to.

Список параметров

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. 'destinationParentIdentifier' is the target collection.

Возвращаемые значения

The function returns TRUE on success or an error object.

Смотрите также

  • hw_api->copy

hw_api->insertdocument
hw_api->lock
Hyperwave API Функции


Locks an object

hw_api->link
hw_api->move
Hyperwave API Функции
PHP Manual

hw_api->lock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->lock — Locks an object

Описание

bool hw_api::lock ( array $parameter )

Locks an object for exclusive editing by the user calling this function. The object can be only unlocked by this user or the system user.

Список параметров

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'.

'mode' determines how an object is locked. HW_API_LOCK_NORMAL means, an object is locked until it is unlocked. HW_API_LOCK_RECURSIVE is only valid for collection and locks all objects within the collection and possible subcollections. HW_API_LOCK_SESSION means, an object is locked only as long as the session is valid.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api->unlock

hw_api->link
hw_api->move
Hyperwave API Функции


Moves object between collections

hw_api->lock
hw_api_content
Hyperwave API Функции
PHP Manual

hw_api->move

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->move — Moves object between collections

Описание

bool hw_api::move ( array $parameter )

Moves object between collections.

Список параметров

parameter

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_objrec2array() - Convert attributes from object record to object array

hw_api->lock
hw_api_content
Hyperwave API Функции


Create new instance of class hw_api_content

hw_api->move
hw_api_object->assign
Hyperwave API Функции
PHP Manual

hw_api_content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content — Create new instance of class hw_api_content

Описание

HW_API_Content hw_api_content ( string $content , string $mimetype )

Creates a new content object from the string content.

Список параметров

content

mimetype

The mimetype for the contents.

Возвращаемые значения

hw_api->move
hw_api_object->assign
Hyperwave API Функции


Clones object

hw_api_content
hw_api_object->attreditable
Hyperwave API Функции
PHP Manual

hw_api_object->assign

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->assign — Clones object

Описание

bool hw_api_object::assign ( array $parameter )

Clones the attributes of an object.

Список параметров

parameter

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

hw_api_content
hw_api_object->attreditable
Hyperwave API Функции


Checks whether an attribute is editable

hw_api_object->assign
hw_api_object->count
Hyperwave API Функции
PHP Manual

hw_api_object->attreditable

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->attreditable — Checks whether an attribute is editable

Описание

bool hw_api_object::attreditable ( array $parameter )

Checks whether an attribute is editable.

Список параметров

parameter

Возвращаемые значения

Returns TRUE if the attribute is editable, FALSE otherwise.

hw_api_object->assign
hw_api_object->count
Hyperwave API Функции


Returns number of attributes

hw_api_object->attreditable
hw_api_object->insert
Hyperwave API Функции
PHP Manual

hw_api_object->count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->count — Returns number of attributes

Описание

int hw_api_object::count ( array $parameter )

Returns the number of attributes.

Список параметров

parameter

Возвращаемые значения

Returns the number as an integer.

hw_api_object->attreditable
hw_api_object->insert
Hyperwave API Функции


Inserts new attribute

hw_api_object->count
hw_api_object
Hyperwave API Функции
PHP Manual

hw_api_object->insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->insert — Inserts new attribute

Описание

bool hw_api_object::insert ( HW_API_Attribute $attribute )

Adds an attribute to the object.

Список параметров

attribute

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api_object->remove

hw_api_object->count
hw_api_object
Hyperwave API Функции


Creates a new instance of class hw_api_object

hw_api_object->insert
hw_api_object->remove
Hyperwave API Функции
PHP Manual

hw_api_object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object — Creates a new instance of class hw_api_object

Описание

hw_api_object hw_api_object ( array $parameter )

Creates a new instance of the class hw_api_object.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->lock

hw_api_object->insert
hw_api_object->remove
Hyperwave API Функции


Removes attribute

hw_api_object
hw_api_object->title
Hyperwave API Функции
PHP Manual

hw_api_object->remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->remove — Removes attribute

Описание

bool hw_api_object::remove ( string $name )

Removes the attribute with the given name.

Список параметров

name

The attribute name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api_object->insert

hw_api_object
hw_api_object->title
Hyperwave API Функции


Returns the title attribute

hw_api_object->remove
hw_api_object->value
Hyperwave API Функции
PHP Manual

hw_api_object->title

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->title — Returns the title attribute

Описание

string hw_api_object::title ( array $parameter )

Returns the title attribute.

Список параметров

parameter

Возвращаемые значения

Returns the title as a string.

hw_api_object->remove
hw_api_object->value
Hyperwave API Функции


Returns value of attribute

hw_api_object->title
hw_api->object
Hyperwave API Функции
PHP Manual

hw_api_object->value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->value — Returns value of attribute

Описание

string hw_api_object::value ( string $name )

Returns value of an attribute.

Список параметров

name

The attribute name.

Возвращаемые значения

Returns the value of the attribute with the given name or FALSE if an error occurred.

hw_api_object->title
hw_api->object
Hyperwave API Функции


Retrieve attribute information

hw_api_object->value
hw_api->objectbyanchor
Hyperwave API Функции
PHP Manual

hw_api->object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->object — Retrieve attribute information

Описание

hw_api_object hw_api::object ( array $parameter )

This function retrieves the attribute information of an object of any version. It will not return the document content.

Список параметров

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'version'.

Возвращаемые значения

The returned object is an instance of class HW_API_Object on success or HW_API_Error if an error occurred.

Примеры

This simple example retrieves an object and checks for errors.

Пример #1 Retrieve an object

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Error";
      break;
    case 1:
      echo "Warning";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description: " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

Смотрите также

  • hw_api->content

hw_api_object->value
hw_api->objectbyanchor
Hyperwave API Функции


Returns the object an anchor belongs to

hw_api->object
hw_api->parents
Hyperwave API Функции
PHP Manual

hw_api->objectbyanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->objectbyanchor — Returns the object an anchor belongs to

Описание

hw_api_object hw_api::objectbyanchor ( array $parameter )

This function retrieves an object the specified anchor belongs to.

Список параметров

parameter

The parameter array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

Возвращаемые значения

Смотрите также

  • hw_api->dstofsrcanchor
  • hw_api->srcanchors
  • hw_api->dstanchors

hw_api->object
hw_api->parents
Hyperwave API Функции


Returns parents of an object

hw_api->objectbyanchor
hw_api_reason->description
Hyperwave API Функции
PHP Manual

hw_api->parents

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->parents — Returns parents of an object

Описание

array hw_api::parents ( array $parameter )

Retrieves the parents of an object. The parents can be further filtered by specifying an object query.

Список параметров

parameter

The parameter array contains the required elements 'objectidentifier' and the optional elements 'attributeselector' and 'objectquery'.

Возвращаемые значения

The return value is an array of objects of type HW_API_Object or HW_API_Error.

Смотрите также

  • hw_api->children

hw_api->objectbyanchor
hw_api_reason->description
Hyperwave API Функции


Returns description of reason

hw_api->parents
hw_api_reason->type
Hyperwave API Функции
PHP Manual

hw_api_reason->description

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason->description — Returns description of reason

Описание

string hw_api_reason::description ( void )

Returns the description of a reason

Возвращаемые значения

Returns the description, as a string.

hw_api->parents
hw_api_reason->type
Hyperwave API Функции


Returns type of reason

hw_api_reason->description
hw_api->remove
Hyperwave API Функции
PHP Manual

hw_api_reason->type

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason->type — Returns type of reason

Описание

HW_API_Reason hw_api_reason::type ( void )

Returns the type of a reason.

Возвращаемые значения

Returns an instance of HW_API_Reason.

hw_api_reason->description
hw_api->remove
Hyperwave API Функции


Delete an object

hw_api_reason->type
hw_api->replace
Hyperwave API Функции
PHP Manual

hw_api->remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->remove — Delete an object

Описание

bool hw_api::remove ( array $parameter )

Removes an object from the specified parent. Collections will be removed recursively.

Список параметров

parameter

You can pass an optional object query to remove only those objects which match the query. An object will be deleted physically if it is the last instance.

The parameter array contains the required elements 'objectidentifier' and 'parentidentifier'. If you want to remove a user or group 'parentidentifier' can be skipped.

The optional parameter 'mode' determines how the deletion is performed. In normal mode the object will not be removed physically until all instances are removed. In physical mode all instances of the object will be deleted immediately. In removelinks mode all references to and from the objects will be deleted as well. In nonrecursive the deletion is not performed recursive. Removing a collection which is not empty will cause an error.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hw_api->move

hw_api_reason->type
hw_api->replace
Hyperwave API Функции


Replaces an object

hw_api->remove
hw_api->setcommittedversion
Hyperwave API Функции
PHP Manual

hw_api->replace

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->replace — Replaces an object

Описание

hw_api_object hw_api::replace ( array $parameter )

Replaces the attributes and the content of an object.

Список параметров

parameter

The parameter array contains the required elements 'objectIdentifier' and 'object' and the optional parameters 'content', 'parameters', 'mode' and 'attributeSelector'. 'objectIdentifier' contains the object to be replaced. 'object' contains the new object. 'content' contains the new content. 'parameters' contain extra information for HTML documents. HTML_Language is the letter abbreviation of the language of the title. HTML_Base sets the base attribute of the HTML document.

'mode' can be a combination of the following flags:

HW_API_REPLACE_NORMAL
The object on the server is replace with the object passed.
HW_API_REPLACE_FORCE_VERSION_CONTROL
HW_API_REPLACE_AUTOMATIC_CHECKOUT
HW_API_REPLACE_AUTOMATIC_CHECKIN
HW_API_REPLACE_PLAIN
HW_API_REPLACE_REVERT_IF_NOT_CHANGED
HW_API_REPLACE_KEEP_TIME_MODIFIED

Возвращаемые значения

Смотрите также

  • hw_api->insert

hw_api->remove
hw_api->setcommittedversion
Hyperwave API Функции


Commits version other than last version

hw_api->replace
hw_api->srcanchors
Hyperwave API Функции
PHP Manual

hw_api->setcommittedversion

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->setcommittedversion — Commits version other than last version

Описание

hw_api_object hw_api::setcommittedversion ( array $parameter )

Commits a version of a document. The committed version is the one which is visible to users with read access. By default the last version is the committed version.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->checkin
  • hw_api->checkout

hw_api->replace
hw_api->srcanchors
Hyperwave API Функции


Returns a list of all source anchors

hw_api->setcommittedversion
hw_api->srcsofdst
Hyperwave API Функции
PHP Manual

hw_api->srcanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->srcanchors — Returns a list of all source anchors

Описание

array hw_api::srcanchors ( array $parameter )

Retrieves all source anchors of an object.

Список параметров

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Возвращаемые значения

Смотрите также

  • hw_api->dstanchors

hw_api->setcommittedversion
hw_api->srcsofdst
Hyperwave API Функции


Returns source of a destination object

hw_api->srcanchors
hw_api->unlock
Hyperwave API Функции
PHP Manual

hw_api->srcsofdst

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->srcsofdst — Returns source of a destination object

Описание

array hw_api::srcsofdst ( array $parameter )

Retrieves all the source anchors pointing to the specified destination. The destination object can either be a destination anchor or a whole document.

Список параметров

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector' and 'objectQuery'. The function returns an array of objects or an error.

Возвращаемые значения

Смотрите также

  • hw_api->dstofsrcanchor

hw_api->srcanchors
hw_api->unlock
Hyperwave API Функции


Unlocks a locked object

hw_api->srcsofdst
hw_api->user
Hyperwave API Функции
PHP Manual

hw_api->unlock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->unlock — Unlocks a locked object

Описание

bool hw_api::unlock ( array $parameter )

Unlocks a locked object. Only the user who has locked the object and the system user may unlock an object.

Список параметров

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'. The meaning of 'mode' is the same as in function hwapi_lock().

Возвращаемые значения

Returns TRUE on success or an object of class HW_API_Error.

Смотрите также

  • hw_api->lock

hw_api->srcsofdst
hw_api->user
Hyperwave API Функции


Returns the own user object

hw_api->unlock
hw_api->userlist
Hyperwave API Функции
PHP Manual

hw_api->user

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->user — Returns the own user object

Описание

hw_api_object hw_api::user ( array $parameter )

Returns the own user object.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->userlist

hw_api->unlock
hw_api->userlist
Hyperwave API Функции


Returns a list of all logged in users

hw_api->user
Java
Hyperwave API Функции
PHP Manual

hw_api->userlist

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->userlist — Returns a list of all logged in users

Описание

array hw_api::userlist ( array $parameter )

Returns a list of all logged in users.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->user

hw_api->user
Java
Hyperwave API Функции


PHP / Java Integration

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Java Servlet SAPI
  • Примеры
    • Basic usage
  • Java Функции
    • java_last_exception_clear — Clear last Java exception
    • java_last_exception_get — Get last Java exception
hw_api->userlist
Введение
Другие службы


Введение

There are two possible ways to bridge PHP and Java: you can either integrate PHP into a Java Servlet environment, which is the more stable and efficient solution, or integrate Java support into PHP. The former is provided by a SAPI module that interfaces with the Servlet server, the latter by this Java extension.

The Java extension provides a simple and effective means for creating and invoking methods on Java objects from PHP. The JVM is created using JNI, and everything runs in-process.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Java
Установка и настройка
Java


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Java


Требования

You need a Java VM installed on your machine to use this extension.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/java.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0

Замечание: PHP 4 specific notes

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. In order to use these functions you must compile PHP with Java support by using the --with-java[=DIR] where DIR points to the base install directory of your JDK. This extension can only be built as a shared extension. Additional build instructions can be found in php-src/ext/java/README.

Windows users will enable php_java.dll inside of php.ini in order to use these functions. В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows.

In order to enable this module on a Windows environment with PHP <= 4.0.6, you must make jvm.dll available to your systems PATH. No additional DLL is needed for PHP versions > 4.0.6.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Java configuration options
Name | Default | Changeable | Changelog
java.class.path | NULL | PHP_INI_ALL |
java.home | NULL | PHP_INI_ALL |
java.library.path | NULL | PHP_INI_ALL |
java.library | JAVALIB | PHP_INI_ALL |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Java Servlet SAPI
Java


Java Servlet SAPI

The Java Servlet SAPI builds upon the mechanism defined by the Java extension to enable the entire PHP processor to be run as a servlet. The primary advantage of this from a PHP perspective is that web servers which support servlets typically take great care in pooling and reusing JVMs. Build instructions for the Servlet SAPI module can be found in php4/sapi/README. Notes:

  • While this code is intended to be able to run on any servlet engine, it has only been tested on Apache's Jakarta/tomcat to date. Bug reports, success stories and/or patches required to get this code to run on other engines would be appreciated.
  • PHP has a habit of changing the working directory. sapi/servlet will eventually change it back, but while PHP is running the servlet engine may not be able to load any classes from the CLASSPATH which are specified using a relative directory syntax, or find the work directory used for administration and JSP compilation tasks.

Предопределенные константы
Примеры
Java


Примеры

Содержание

  • Basic usage
Java Servlet SAPI
Basic usage
Java


Basic usage

Пример #1 Java Example

<?php
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');

// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
                      "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

Пример #2 AWT Example

<?php
// This example is only intended to be run using the CLI.

$frame  = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', 'Hello Java World!');

$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>
Notes:
  • new Java() will create an instance of a class if a suitable constructor is available. If no parameters are passed and the default constructor is useful as it provides access to classes like java.lang.System which expose most of their functionality through static methods.
  • Accessing a member of an instance will first look for bean properties then public fields. In other words, print $date.time will first attempt to be resolved as $date.getTime(), then as $date.time.
  • Both static and instance members can be accessed on an object with the same syntax. Furthermore, if the java object is of type java.lang.Class, then static members of the class (fields and methods) can be accessed.

  • Exceptions raised result in PHP warnings, and NULL results. The warnings may be eliminated by prefixing the method call with an "@" sign. The following APIs may be used to retrieve and reset the last error:

    • java_last_exception_get()
    • java_last_exception_clear()

  • Overload resolution is in general a hard problem given the differences in types between the two languages. The PHP Java extension employs a simple, but fairly effective, metric for determining which overload is the best match. Additionally, method names in PHP are not case sensitive, potentially increasing the number of overloads to select from. Once a method is selected, the parameters are coerced if necessary, possibly with a loss of data (example: double precision floating point numbers will be converted to boolean).
  • In the tradition of PHP, arrays and hashtables may pretty much be used interchangeably. Note that hashtables in PHP may only be indexed by integers or strings; and that arrays of primitive types in Java can not be sparse. Also note that these constructs are passed by value, so may be expensive in terms of memory and time.

Примеры
Java Функции
Примеры


Java Функции

Содержание

  • java_last_exception_clear — Clear last Java exception
  • java_last_exception_get — Get last Java exception
Basic usage
java_last_exception_clear
Java


Clear last Java exception

Java Функции
java_last_exception_get
Java Функции
PHP Manual

java_last_exception_clear

(PHP 4 >= 4.0.2)

java_last_exception_clear — Clear last Java exception

Описание

void java_last_exception_clear ( void )

Clears last Java exception.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

See java_last_exception_get() for an example.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Java Функции
java_last_exception_get
Java Функции


Get last Java exception

java_last_exception_clear
LDAP
Java Функции
PHP Manual

java_last_exception_get

(PHP 4 >= 4.0.2)

java_last_exception_get — Get last Java exception

Описание

object java_last_exception_get ( void )

Gets last Java exception.

Возвращаемые значения

Returns an exception object.

Примеры

The following example demonstrates the usage of Java's exception handler from within PHP:

Пример #1 Java exception handler

<?php
$stack = new Java('java.util.Stack');
$stack->push(1);

// This should succeed
$result = $stack->pop();
$ex = java_last_exception_get();
if (!$ex) {
  echo "$result\n";
}

// This should fail (error suppressed by @)
$result = @$stack->pop();
$ex = java_last_exception_get();
if ($ex) {
  echo $ex->toString();
}

// Clear last exception
java_last_exception_clear();
?>

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

java_last_exception_clear
LDAP
Java Функции


Облегчённый протокол доступа к каталогам (LDAP)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Использование вызовов PHP LDAP
  • Примеры
    • Базовое использование
  • LDAP
    • ldap_8859_to_t61 — Переводит символы из кодировки ISO-8859 в t61
    • ldap_add — Добавить запись в LDAP директорию
    • ldap_bind — Привязать к LDAP директории
    • ldap_close — Псевдоним ldap_unbind
    • ldap_compare — Сравнить значение атрибута, найденного в записи определённой DN
    • ldap_connect — Подключиться к серверу LDAP
    • ldap_count_entries — Посчитать число записей в результатах поиска
    • ldap_delete — Удаляет запись из директории LDAP
    • ldap_dn2ufn — Преобразовать DN в удобный для пользователя формат именования
    • ldap_err2str — Преобразовать код ошибки LDAP в строковое сообщение об ошибке
    • ldap_errno — Возвратить номер ошибки LDAP последней команды
    • ldap_error — Возвратить сообщение об ошибке LDAP последней команды
    • ldap_explode_dn — Разделить DN на его составные части
    • ldap_first_attribute — Вернуть первый атрибут
    • ldap_first_entry — Возвратить первый идентификатор результата first result id
    • ldap_first_reference — Возвращает первую справку
    • ldap_free_result — Освободить память результата
    • ldap_get_attributes — Получает атрибуты из записи в результатах поиска
    • ldap_get_dn — Получить DN результирующей записи
    • ldap_get_entries — Получает все записи результата
    • ldap_get_option — Получить текущее значение данной опции
    • ldap_get_values_len — Получить все бинарные значения из записи результата
    • ldap_get_values — Получает все значения из записи результата
    • ldap_list — Одноуровневый поиск
    • ldap_mod_add — Добавить значения атрибута к текущим атрибутам
    • ldap_mod_del — Удалить значения атрибута из текущих атрибутов
    • ldap_mod_replace — Заменить значения атрибутов на новые
    • ldap_modify — Изменить LDAP запись
    • ldap_next_attribute — Получить следующий атрибут из результата
    • ldap_next_entry — Получить следующую запись результата
    • ldap_next_reference — Возвращает следующую справку
    • ldap_parse_reference — Извлекает информацию из справочника
    • ldap_parse_result — Извлечь информацию из результата
    • ldap_read — Читает запись
    • ldap_rename — Изменить имя записи
    • ldap_sasl_bind — Привязать к LDAP директории, используя SASL
    • ldap_search — Поиск по LDAP дереву
    • ldap_set_option — Установить значение данной опции
    • ldap_set_rebind_proc — Установить функцию обратного вызова для повторного связывания при ссылочном поиске
    • ldap_sort — Сортировать записи LDAP
    • ldap_start_tls — Запускает TLS
    • ldap_t61_to_8859 — Переводит символы из кодировки t61 в ISO-8859
    • ldap_unbind — Разорвать привязку к директории LDAP
java_last_exception_get
Введение
Другие службы


Введение

LDAP - это облегчённый протокол доступа к каталогам, используемый для получения доступа к cерверам каталогов. Каталог - специальный вид базы данных, которая содержит информацию в древовидной структуре.

Концепция похожа на структуру каталогов на жестком диске, за исключением того, что в этом контексте корневой каталог - это мир, и первый уровень подкаталогогов - страны. Более низшие уровни структуры каталогов содержат записи для компаний, организаций или мест, в то время как еще ниже мы находим записи каталога для людей, и возможно, оборудования или документов.

Для обращения к файлу в подкаталоге на вашем жестком диске, вы могли бы использовать что-нибудь наподобие этого:

   /usr/local/myapp/docs

Слэш отмечает каждое подразделение в ссылке, и последовательность читается слева направо.

Эквивалентом полностью определенной ссылки на файл в LDAP является так называемое отличительное имя, упомянутое просто как "dn". К примеру, dn может быть таким:

   cn=John Smith,ou=Accounts,o=My Company,c=US

Запятая отмечает каждое подразделение в ссылке, и последовательность читается справа налево. Вы читали бы этот dn как:

   Страна (country) = US
   Организация (organization) = My Company
   Подразделение (organizationalUnit) = Accounts
   Имя (commonName) = John Smith

Таким образом, также как нет жестких правил для организации структуры каталогов жесткого диска, так и менеджер сервера каталогов может настроить любую структуру, которая является значимой для поставленных цели. Однако есть некоторые соглашения, которые используются.

Много информации о LDAP можно найти на

  • » Mozilla

  • » OpenLDAP Project

Netscape SDK содержит полезное » Руководство программиста в HTML формате.

LDAP
Установка и настройка
LDAP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
LDAP


Требования

Необходимо получить и скомпилировать клиентские библиотеки LDAP из » OpenLDAP или » Bind9.net для того, чтобы скомпилировать РНР с поддержкой LDAP.

Установка и настройка
Установка
Установка и настройка


Установка

Поддержка LDAP в PHP не доступна по умолчанию. Для активации нужно использовать опцию --with-ldap[=DIR] при компиляции PHP, где DIR - это каталог установки базы LDAP. Для включения поддержки SASL, убедитесь что использована опция --with-ldap-sasl[=DIR] , и что sasl.h существует в системе.

Замечание: Примечание для пользователей Win32

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: libeay32.dll и ssleay32.dll

Версии до PHP 4.3.0 дополнительно требуют libsasl.dll.

Для того чтобы использовать библиотеки Oracle LDAP, должны быть установлены надлежащие параметры окружающей среды Oracle.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции конфигурации LDAP
Название | По умолчанию | Изменяемый | Запись изменений
ldap.max_links | "-1" | PHP_INI_SYSTEM |
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Большинство LDAP функций работает с возвращаемыми ресурсами (например. ldap_connect() возвращает положительный идентификатор ссылки LDAP, требуемый большинством функций LDAP).

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

LDAP_DEREF_NEVER (integer)
LDAP_DEREF_SEARCHING (integer)
LDAP_DEREF_FINDING (integer)
LDAP_DEREF_ALWAYS (integer)
LDAP_OPT_DEREF (integer)
Определяет альтернативные правила для следующих псевдонимов на сервере.
LDAP_OPT_SIZELIMIT (integer)

Определяет максимальное количество записей, которые могут быть возвращены при операции поиска.

Замечание: Предел фактического размера для операций также ограничен максимальным количеством возвращаемых записей, которое задаётся конфигурацией сервера. Меньшее из этих двух параметров является фактическим ограничением размера.

LDAP_OPT_TIMELIMIT (integer)
Определяет количество секунд для ожидания результатов поиска.

Замечание: Предел фактического времени выполнения для операций также ограничен максимальным временем, которое задаётся конфигурацией сервера. Меньшее из этих двух параметров является фактическим ограничением времени выполнения.

LDAP_OPT_NETWORK_TIMEOUT (integer)
Опция для ldap_set_option разрешает настройку сетевого таймаута. (Доступна с PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (integer)
Определяет используемый протокол LDAP (V2 или V3).
LDAP_OPT_ERROR_NUMBER (integer)
LDAP_OPT_REFERRALS (integer)
Определяет, следовать ли автоматически рефералам, возвращенным сервером LDAP.
LDAP_OPT_RESTART (integer)
LDAP_OPT_HOST_NAME (integer)
LDAP_OPT_ERROR_STRING (integer)
LDAP_OPT_MATCHED_DN (integer)
LDAP_OPT_SERVER_CONTROLS (integer)
Определяет список серверных элементов управления по умолчанию, который должен быть отправлен с каждым запросом.
LDAP_OPT_CLIENT_CONTROLS (integer)
Определяет список клиентских элементов управления по умолчанию, которые должны обрабатываться с каждым запросом.
LDAP_OPT_DEBUG_LEVEL (integer)
Определяет поразрядный уровень для отладочных трассировок.
GSLC_SSL_NO_AUTH (integer)
GSLC_SSL_ONEWAY_AUTH (integer)
GSLC_SSL_TWOWAY_AUTH (integer)
Типы ресурсов
Использование вызовов PHP LDAP
LDAP


Использование вызовов PHP LDAP

Прежде чем использовать вызовы LDAP вам нужно знать следующее:

  • Имя или адрес сервера каталогов, который вы будете использовать

  • "base dn" сервера (часть мирового каталога, который хранится на этом сервере, который может быть "o=MyCompany,c=US")

  • Возможно нужен пароль, чтобы получить доступ к серверу (много серверов обеспечивает доступ для чтения для "анонимный привязки", но требуют пароль для чего-либо еще)

Типичная последовательность LDAP-вызовов, которые вы будете делать в приложении следуя этой схеме:

  ldap_connect()    // установить соединение с сервером
     |
  ldap_bind()       // анонимный вход или аутентификация по "login"
     |
  выполнение каких-либо действий, таких как поиск или обновление каталога
  и отображение результатов
     |
  ldap_close()      // закрытие соединения

Предопределенные константы
Примеры
LDAP


Примеры

Содержание

  • Базовое использование
Использование вызовов PHP LDAP
Базовое использование
LDAP


Базовое использование

Получить информацию для всех записей, где фамилия начинается с "S" из сервера каталогов, показывая в результате имя и адрес электронной почты.

Пример #1 Пример LDAP поиска

<?php
// базовая последовательность работы с LDAP:
// подключение, привязка, поиск, интерпретация результата, закрытие подключения

echo "<h3>Проверочный запрос к LDAP</h3>";
echo "Подключение ...";
$ds=ldap_connect("localhost");  // Необходимо указать корректный LDAP сервер
echo "Результат подключения: " . $ds . "<br />";

if ($ds) {
    echo "Привязка ...";
    $r=ldap_bind($ds);     // "анонимная" привязка,
                           // доступ только для чтения
    echo "Результат привязки: " . $r . "<br />";

    echo "Поиск (sn=S*) ...";
    // Поиск по фамилиям записей
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
    echo "Результат поиска: " . $sr . "<br />";

    echo "Получено количество записей " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Получение элементов ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Элемент: " . $info["count"] . " Данные:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn: " . $info[$i]["dn"] . "<br />";
        echo "первый cn: " . $info[$i]["cn"][0] . "<br />";
        echo "первый email: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Закрытие соединения";
    ldap_close($ds);

} else {
    echo "<h4>Невозможно подключиться к серверу LDAP</h4>";
}
?>
Примеры
LDAP
Примеры


LDAP
PHP Manual

LDAP

Содержание

  • ldap_8859_to_t61 — Переводит символы из кодировки ISO-8859 в t61
  • ldap_add — Добавить запись в LDAP директорию
  • ldap_bind — Привязать к LDAP директории
  • ldap_close — Псевдоним ldap_unbind
  • ldap_compare — Сравнить значение атрибута, найденного в записи определённой DN
  • ldap_connect — Подключиться к серверу LDAP
  • ldap_count_entries — Посчитать число записей в результатах поиска
  • ldap_delete — Удаляет запись из директории LDAP
  • ldap_dn2ufn — Преобразовать DN в удобный для пользователя формат именования
  • ldap_err2str — Преобразовать код ошибки LDAP в строковое сообщение об ошибке
  • ldap_errno — Возвратить номер ошибки LDAP последней команды
  • ldap_error — Возвратить сообщение об ошибке LDAP последней команды
  • ldap_explode_dn — Разделить DN на его составные части
  • ldap_first_attribute — Вернуть первый атрибут
  • ldap_first_entry — Возвратить первый идентификатор результата first result id
  • ldap_first_reference — Возвращает первую справку
  • ldap_free_result — Освободить память результата
  • ldap_get_attributes — Получает атрибуты из записи в результатах поиска
  • ldap_get_dn — Получить DN результирующей записи
  • ldap_get_entries — Получает все записи результата
  • ldap_get_option — Получить текущее значение данной опции
  • ldap_get_values_len — Получить все бинарные значения из записи результата
  • ldap_get_values — Получает все значения из записи результата
  • ldap_list — Одноуровневый поиск
  • ldap_mod_add — Добавить значения атрибута к текущим атрибутам
  • ldap_mod_del — Удалить значения атрибута из текущих атрибутов
  • ldap_mod_replace — Заменить значения атрибутов на новые
  • ldap_modify — Изменить LDAP запись
  • ldap_next_attribute — Получить следующий атрибут из результата
  • ldap_next_entry — Получить следующую запись результата
  • ldap_next_reference — Возвращает следующую справку
  • ldap_parse_reference — Извлекает информацию из справочника
  • ldap_parse_result — Извлечь информацию из результата
  • ldap_read — Читает запись
  • ldap_rename — Изменить имя записи
  • ldap_sasl_bind — Привязать к LDAP директории, используя SASL
  • ldap_search — Поиск по LDAP дереву
  • ldap_set_option — Установить значение данной опции
  • ldap_set_rebind_proc — Установить функцию обратного вызова для повторного связывания при ссылочном поиске
  • ldap_sort — Сортировать записи LDAP
  • ldap_start_tls — Запускает TLS
  • ldap_t61_to_8859 — Переводит символы из кодировки t61 в ISO-8859
  • ldap_unbind — Разорвать привязку к директории LDAP
Базовое использование
ldap_8859_to_t61
LDAP
PHP Manual


Переводит символы из кодировки ISO-8859 в t61

LDAP
ldap_add
LDAP
PHP Manual

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 — Переводит символы из кодировки ISO-8859 в t61

Описание

string ldap_8859_to_t61 ( string $value )

Переводит символы из кодировки ISO-8859 в t61.

Эта функция полезна, если необходимо работать с устаревшим LDAPv2 сервером.

Список параметров

value

Текст, которые должен быть переведён.

Возвращаемые значения

Возвращает кодированный в t61 параметр value.

Смотрите также

  • ldap_t61_to_8859() - Переводит символы из кодировки t61 в ISO-8859

LDAP
ldap_add
LDAP


Добавить запись в LDAP директорию

ldap_8859_to_t61
ldap_bind
LDAP
PHP Manual

ldap_add

(PHP 4, PHP 5)

ldap_add — Добавить запись в LDAP директорию

Описание

bool ldap_add ( resource $link_identifier , string $dn , array $entry )

Добавляет запись в LDAP директорию.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

entry

Массив, который определяет информацию о записи. Значения в записи индексируются индивидуальными атрибутами. В случае множественных значений для атрибута, они индексируются с использованием целых чисел, начиная с 0.

<?php
$entree["attribut1"] = "value";
$entree["attribut2"][0] = "value1";
$entree["attribut2"][1] = "value2";
?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Полный пример с проверкой подлинности привязки

<?php
$ds = ldap_connect("localhost");  // предположим, что сервер LDAP находится тут

if ($ds) {
    // привязка к соответствующему dn для возможности обновления
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "jonj@example.com";
    $info["objectclass"] = "person";

    // Добавление данных
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Не могу соединиться с сервером LDAP";
}
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_delete() - Удаляет запись из директории LDAP

ldap_8859_to_t61
ldap_bind
LDAP


Привязать к LDAP директории

ldap_add
ldap_close
LDAP
PHP Manual

ldap_bind

(PHP 4, PHP 5)

ldap_bind — Привязать к LDAP директории

Описание

bool ldap_bind ( resource $link_identifier [, string $bind_rdn = NULL [, string $bind_password = NULL ]] )

Связывает с LDAP директорией с указанным RDN и паролем.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

bind_rdn

bind_password

Если bind_rdn и bind_password не определены, то будет попытка анонимной привязки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования привязки LDAP

<?php

// используется ldap-привязка
$ldaprdn  = 'uname';     // ldap rdn или dn
$ldappass = 'password';  // ассоциированный пароль

// соединение с сервером
$ldapconn = ldap_connect("ldap.example.com")
    or die("Не могу соединиться с сервером LDAP.");

if ($ldapconn) {

    // привязка к ldap-серверу
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // проверка привязки
    if ($ldapbind) {
        echo "LDAP-привязка успешна...";
    } else {
        echo "LDAP-привязка не удалась...";
    }

}

?>

Пример #2 Использование анонимной привязки LDAP

<?php

//анонимное использование ldap-привязки

// соединение с сервером ldap
$ldapconn = ldap_connect("ldap.example.com")
    or die("Не могу соединиться с сервером LDAP.");

if ($ldapconn) {

    // анонимная привязка
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "Анонимная привязка LDAP прошла успешно...";
    } else {
        echo "Анонимная привязка LDAP не удалась...";
    }

}

?>

Смотрите также

  • ldap_unbind() - Разорвать привязку к директории LDAP

ldap_add
ldap_close
LDAP


Псевдоним ldap_unbind

ldap_bind
ldap_compare
LDAP
PHP Manual

ldap_close

(PHP 4, PHP 5)

ldap_close — Псевдоним ldap_unbind()

Описание

Эта функция является псевдонимом: ldap_unbind().

ldap_bind
ldap_compare
LDAP


Сравнить значение атрибута, найденного в записи определённой DN

ldap_close
ldap_connect
LDAP
PHP Manual

ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare — Сравнить значение атрибута, найденного в записи определённой DN

Описание

mixed ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value )

Сравнивает значение (value) атрибута (attribute) со значением того же атрибута в записи LDAP директории.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

attribute

Имя атрибута.

value

Сравниваемое значение.

Возвращаемые значения

Возвращает TRUE если value совпадают в противном случае FALSE. Возвращает -1 в случае ошибки.

Примеры

Следующий пример демонстрирует, как проверить, совпадает ли данный пароль с тем, который определен в указанной записи DN.

Пример #1 Полный пример проверки пароля

<?php

$ds=ldap_connect("localhost");  // Предположим, что LDAP сервер находится по этому адресу

if ($ds) {

    // bind
    if (ldap_bind($ds)) {

        // подготовка данных
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";

        // сравнение данных
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Ошибка: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Пароль верный.";
        } elseif ($r === false) {
            echo "Неправильное предположение! Пароль не верен.";
        }

    } else {
        echo "Невозможно привязаться к серверу LDAP.";
    }

    ldap_close($ds);

} else {
    echo "Невозможно соединиться с сервером LDAP.";
}
?>

Примечания

Внимание

ldap_compare() не может быть использована для сравнения бинарных (BINARY) значений!

ldap_close
ldap_connect
LDAP


Подключиться к серверу LDAP

ldap_compare
ldap_count_entries
LDAP
PHP Manual

ldap_connect

(PHP 4, PHP 5)

ldap_connect — Подключиться к серверу LDAP

Описание

resource ldap_connect ([ string $hostname = NULL [, int $port = 389 ]] )

Установить соединение с сервером LDAP, определённым параметрами hostname и port.

Список параметров

hostname

Если вы используете OpenLDAP 2.x.x, вы можете определить URL вместо имя хоста. Чтобы использовать LDAP с SSL, скомпилируйте OpenLDAP 2.x.x с поддержкой SSL, сконфигурируйте PHP с SSL, и установите этот параметр как ldaps://hostname/.

port

Порт для соединения. Не применяется, в случае использования URL.

Возвращаемые значения

Возвращает положительный идентификатор ссылки LDAP в случае успеха или FALSE в случае ошибки. Когда используется OpenLDAP 2.x.x , ldap_connect() будет всегда возвращать resource, поскольку она фактически не соединяется, а только инициализирует параметры соединения. Фактическое подключение происходит при последующих вызовах ldap_* функций, обычно при вызове ldap_bind().

Если никакие параметры не будут определены, тогда будет возвращен идентификатор уже открытой ссылки.

Список изменений

Версия | Описание
4.0.4 | Добавлена поддержка URL и SSL.

Примеры

Пример #1 Пример подключения к серверу LDAP.

<?php

// LDAP переменные
$ldaphost = "ldap.example.com";  // Ваш сервер ldap
$ldapport = 389;                 // Порт вашего сервера ldap

// Соединение с LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Невозможно соединиться с $ldaphost");

?>

Пример #2 Пример безопасного подключения к серверу LDAP.

<?php

// убедитесь, что ваш хост корректный и
// что вы выдали ему сертификат безопасности
$ldaphost = "ldaps://ldap.example.com/";

// Соединение с LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("Невозможно соединиться с {$ldaphost}");

?>

Смотрите также

  • ldap_bind() - Привязать к LDAP директории

ldap_compare
ldap_count_entries
LDAP


Посчитать число записей в результатах поиска

ldap_connect
ldap_delete
LDAP
PHP Manual

ldap_count_entries

(PHP 4, PHP 5)

ldap_count_entries — Посчитать число записей в результатах поиска

Описание

int ldap_count_entries ( resource $link_identifier , resource $result_identifier )

Возвращает число записей, сохраненных в результате предыдущей операции поиска.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный функцией ldap_connect().

result_identifier

Внутренний результат LDAP.

Возвращаемые значения

Возвращает число записей в результате или FALSE в случае ошибки.

ldap_connect
ldap_delete
LDAP


Удаляет запись из директории LDAP

ldap_count_entries
ldap_dn2ufn
LDAP
PHP Manual

ldap_delete

(PHP 4, PHP 5)

ldap_delete — Удаляет запись из директории LDAP

Описание

bool ldap_delete ( resource $link_identifier , string $dn )

Удаление конкретной записи из директории LDAP.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращаемый ldap_connect().

dn

Уникальное имя LDAP записи.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_add() - Добавить запись в LDAP директорию

ldap_count_entries
ldap_dn2ufn
LDAP


Преобразовать DN в удобный для пользователя формат именования

ldap_delete
ldap_err2str
LDAP
PHP Manual

ldap_dn2ufn

(PHP 4, PHP 5)

ldap_dn2ufn — Преобразовать DN в удобный для пользователя формат именования

Описание

string ldap_dn2ufn ( string $dn )

Переключает указанный dn в более удобную для пользователя форму, снимая изоляцию с имен типов.

Список параметров

dn

Отличительное имя объекта LDAP.

Возвращаемые значения

Возвращает удобное для пользователя имя.

ldap_delete
ldap_err2str
LDAP


Преобразовать код ошибки LDAP в строковое сообщение об ошибке

ldap_dn2ufn
ldap_errno
LDAP
PHP Manual

ldap_err2str

(PHP 4, PHP 5)

ldap_err2str — Преобразовать код ошибки LDAP в строковое сообщение об ошибке

Описание

string ldap_err2str ( int $errno )

Возвращает строковое сообщение об ошибке, объясняющее код ошибки errno. В то время как LDAP числа errno стандартизированы, различные библиотеки возвращают отличающиеся или даже локализованные текстовые сообщения об ошибках. Никогда не проверяйте на определенный текст сообщения об ошибке, всегда пользуйтесь кодами ошибок для проверки.

Список параметров

errno

Номер ошибки.

Возвращаемые значения

Возвращает сообщение ошибки в виде строки.

Примеры

Пример #1 Перечисление всех сообщений об ошибках LDAP

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

Смотрите также

  • ldap_errno() - Возвратить номер ошибки LDAP последней команды
  • ldap_error() - Возвратить сообщение об ошибке LDAP последней команды

ldap_dn2ufn
ldap_errno
LDAP


Возвратить номер ошибки LDAP последней команды

ldap_err2str
ldap_error
LDAP
PHP Manual

ldap_errno

(PHP 4, PHP 5)

ldap_errno — Возвратить номер ошибки LDAP последней команды

Описание

int ldap_errno ( resource $link_identifier )

Возвращает стандартизированный код ошибки, возвращенный последней командой LDAP. Это число может быть преобразовано в текстовое сообщение об ошибке, используя ldap_err2str().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

Возвращаемые значения

Возвращает код ошибки LDAP последней команды для этой ссылки.

Примеры

Если вы не снизите достаточно уровень предупреждений в php.ini, или префикс ваших LDAP-команд не будет с символом @ для подавления вывода предупреждений, генерируемые ошибки будут также отображаться в вашем HTML выводе.

Пример #1 Генерирование и фиксация ошибки

<?php
// Этот пример содержит ошибку, которую мы поймаем
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// синтаксическая ошибка в выражении фильтра (errno 87),
// должно быть "objectclass=*" для того, чтобы это работало.
$res =  @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
    echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
    echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
    die("Argh!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " подходящих записей.<br />\n";
?>

Смотрите также

  • ldap_err2str() - Преобразовать код ошибки LDAP в строковое сообщение об ошибке
  • ldap_error() - Возвратить сообщение об ошибке LDAP последней команды

ldap_err2str
ldap_error
LDAP


Возвратить сообщение об ошибке LDAP последней команды

ldap_errno
ldap_explode_dn
LDAP
PHP Manual

ldap_error

(PHP 4, PHP 5)

ldap_error — Возвратить сообщение об ошибке LDAP последней команды

Описание

string ldap_error ( resource $link_identifier )

Возвращает строковое сообщение об ошибке, объясняя ошибку, сгенерированную последней командой LDAP для данного идентификатора соединения link_identifier. В то время как LDAP errno числа стандартизированы, различные библиотеки возвращают отличающийся или даже локализованные текстовые сообщения об ошибках. Никогда не проверяйте на определенный текст сообщения об ошибке, всегда используйте кодами ошибок для проверки.

Если вы не снизите достаточно уровень предупреждений в php.ini, или префикс ваших LDAP-команд не будет с символом @ для подавления вывода предупреждений, генерируемые ошибки будут также отображаться в вашем HTML выводе.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

Возвращаемые значения

Возвращает сообщение ошибки в виде строки.

Смотрите также

  • ldap_err2str() - Преобразовать код ошибки LDAP в строковое сообщение об ошибке
  • ldap_errno() - Возвратить номер ошибки LDAP последней команды

ldap_errno
ldap_explode_dn
LDAP


Разделить DN на его составные части

ldap_error
ldap_first_attribute
LDAP
PHP Manual

ldap_explode_dn

(PHP 4, PHP 5)

ldap_explode_dn — Разделить DN на его составные части

Описание

array ldap_explode_dn ( string $dn , int $with_attrib )

Разделяет DN, возвращенный функцией ldap_get_dn(), и разбивает его на составные части. Каждая часть известна как относительное отличительное имя или RDN.

Список параметров

dn

Отличительное имя объекта LDAP.

with_attrib

Используется для запроса, если RDNs возвращены только со значениями или также с их атрибутами. Для получения RDNs с атрибутами (то есть в формате attribute=value) установите параметр with_attrib в 0 и для получения только значений установите его в 1.

Возвращаемые значения

Возвращает массив всех компонентов DN. У первого элемента в этом массиве есть ключ count и он представляет собой число возвращенных значений. Следующие элементы - это компоненты DN с цифровыми индексами.

ldap_error
ldap_first_attribute
LDAP


Вернуть первый атрибут

ldap_explode_dn
ldap_first_entry
LDAP
PHP Manual

ldap_first_attribute

(PHP 4, PHP 5)

ldap_first_attribute — Вернуть первый атрибут

Описание

string ldap_first_attribute ( resource $link_identifier , resource $result_entry_identifier )

Получает первый атрибут в данной записи. Остающиеся атрибуты получаются последовательным вызовом ldap_next_attribute().

Подобно чтению записей, атрибуты также читаются один за другим из отдельного элемента.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

ber_identifier

ber_identifier является идентификатором внутреннего указателя ячейки памяти. Он передается по ссылке. Также ber_identifier передается в ldap_next_attribute(), которая изменяет этот указатель.

Замечание:

Этот параметр больше не используется, поскольку теперь автоматически обрабатывается PHP. Для целей обратной совместимости, PHP не выдает ошибку, если этот параметр все же передаётся.

Возвращаемые значения

Возвращает первый атрибут в записи, в случае успеха, и FALSE в случае ошибки.

Список изменений

Версия | Описание
5.2.4 | Параметр ber_identifier был удалён. В настоящее время обрабатывается PHP автоматически.

Смотрите также

  • ldap_next_attribute() - Получить следующий атрибут из результата
  • ldap_get_attributes() - Получает атрибуты из записи в результатах поиска

ldap_explode_dn
ldap_first_entry
LDAP


Возвратить первый идентификатор результата first result id

ldap_first_attribute
ldap_first_reference
LDAP
PHP Manual

ldap_first_entry

(PHP 4, PHP 5)

ldap_first_entry — Возвратить первый идентификатор результата first result id

Описание

resource ldap_first_entry ( resource $link_identifier , resource $result_identifier )

Возвращает идентификатор для первой записи в результате. Этот идентификатор затем используется в функции ldap_next_entry(), для последовательного получения записей из результата.

Записи в LDAP результате считываются последовательно используя функции ldap_first_entry() и ldap_next_entry().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_identifier

Возвращаемые значения

Возвращает результирующий идентификатор для первой записи в случае успеха и FALSE в случае ошибки.

Смотрите также

  • ldap_get_entries() - Получает все записи результата

ldap_first_attribute
ldap_first_reference
LDAP


Возвращает первую справку

ldap_first_entry
ldap_free_result
LDAP
PHP Manual

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference — Возвращает первую справку

Описание

resource ldap_first_reference ( resource $link , resource $result )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_first_entry
ldap_free_result
LDAP


Освободить память результата

ldap_first_reference
ldap_get_attributes
LDAP
PHP Manual

ldap_free_result

(PHP 4, PHP 5)

ldap_free_result — Освободить память результата

Описание

bool ldap_free_result ( resource $result_identifier )

Освобождает память, внутренне выделенную для хранения результата. Вся память результата будет автоматически освобождена, когда сценарий завершится.

Обычно вся память, выделенная для результата LDAP, освобождается в конеце сценария. В случае, если сценарий делает последовательные операции поиска, которые возвращают большие наборы результатов, ldap_free_result() может быть вызвана, чтобы сохранить небольшое использование памяти по время выполнения сценария.

Список параметров

result_identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ldap_first_reference
ldap_get_attributes
LDAP


Получает атрибуты из записи в результатах поиска

ldap_free_result
ldap_get_dn
LDAP
PHP Manual

ldap_get_attributes

(PHP 4, PHP 5)

ldap_get_attributes — Получает атрибуты из записи в результатах поиска

Описание

array ldap_get_attributes ( resource $link_identifier , resource $result_entry_identifier )

Читает атрибуты и значения из записи в результатах поиска.

Определив местоположение определенной записи в каталоге, вы можете узнать, какая информация хранится для этой записи используя эту функцию. Вы должны использовать эту функцию для приложения, которое "просматривает" записи каталога и/или где структура записей каталога неизвестна. Во многих приложениях вы будете искать определенный атрибут, такой как адрес электронной почты или фамилия, не затрагивая другие данные.

return_value["count"] = число атрибутов в записи
return_value[0] = первый атрибут
return_value[n] = n-ый атрибут

return_value["attribute"]["count"] = число значений атрибута
return_value["attribute"][0] = первое значение атрибута
return_value["attribute"][i] = (i+1)-ое значение атрибута

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

Возвращаемые значения

Возвращает полную информацию записи в многомерный массив в случае успеха и FALSE в случае ошибки.

Примеры

Пример #1 Показывает список атрибутов, соответствующие определенной записи директории

<?php
// $ds - идентификатор ссылки для директории

// $sr - действительный результат поиска из запроса
// к директории ldap

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " атрибуты, соответствующие этой записи:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

Смотрите также

  • ldap_first_attribute() - Вернуть первый атрибут
  • ldap_next_attribute() - Получить следующий атрибут из результата

ldap_free_result
ldap_get_dn
LDAP


Получить DN результирующей записи

ldap_get_attributes
ldap_get_entries
LDAP
PHP Manual

ldap_get_dn

(PHP 4, PHP 5)

ldap_get_dn — Получить DN результирующей записи

Описание

string ldap_get_dn ( resource $link_identifier , resource $result_entry_identifier )

Обнаружить DN записи в результате.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

Возвращаемые значения

Возвращает DN записи результата и FALSE в случае ошибки.

ldap_get_attributes
ldap_get_entries
LDAP


Получает все записи результата

ldap_get_dn
ldap_get_option
LDAP
PHP Manual

ldap_get_entries

(PHP 4, PHP 5)

ldap_get_entries — Получает все записи результата

Описание

array ldap_get_entries ( resource $link_identifier , resource $result_identifier )

Читает множественные записи из заданного результата, и затем читает атрибуты и множественные значения.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_identifier

Возвращаемые значения

Возвращает полную информацию о результате в виде многомерного массива в случае успеха, и FALSE в случае ошибки.

Структура массива следующая: Индекс атрибута преобразован в нижний регистр. (Атрибуты для серверов каталогов являются нечувствительными к регистру, но не тогда, когда они используются в качестве индексов массива.)

return_value["count"] = число записей в результате
return_value[0] : ссылается на информацию о первой записи

return_value[i]["dn"] =  DN i-ой записи в результате

return_value[i]["count"] = число атрибутов в i-ой записи
return_value[i][j] = NAME j-ого атрибута в i-ой записи результата

return_value[i]["attribute"]["count"] = число значений атрибута в
                                        i-ой записи
return_value[i]["attribute"][j] = j-ое значение атрибута i-ой записи

Смотрите также

  • ldap_first_entry() - Возвратить первый идентификатор результата first result id
  • ldap_next_entry() - Получить следующую запись результата

ldap_get_dn
ldap_get_option
LDAP


Получить текущее значение данной опции

ldap_get_entries
ldap_get_values_len
LDAP
PHP Manual

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option — Получить текущее значение данной опции

Описание

bool ldap_get_option ( resource $link_identifier , int $option , mixed &$retval )

Устанавливает retval в значение указанной опции.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

option

Параметр option может быть одним из:

Опция | Тип
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

retval

Будет установлен в значение опции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Проверка версии протокола

<?php
// $ds является действительным идентификатором связи с LDAP-сервером
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Используется версия протокола $version\n";
} else {
    echo "Невозможно определить версию протокола\n";
}
?>

Примечания

Замечание:

Эта функция доступна только когда используется OpenLDAP 2.x.x или Netscape Directory SDK x.x.

Смотрите также

  • ldap_set_option() - Установить значение данной опции

ldap_get_entries
ldap_get_values_len
LDAP


Получить все бинарные значения из записи результата

ldap_get_option
ldap_get_values
LDAP
PHP Manual

ldap_get_values_len

(PHP 4, PHP 5)

ldap_get_values_len — Получить все бинарные значения из записи результата

Описание

array ldap_get_values_len ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Читает все значения атрибута в записи результата.

Эта функция используется точно также как и ldap_get_values() за исключением того, что обрабатывает двоичные данные, а не строковые.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

attribute

Возвращаемые значения

Возвращает массив значений для атрибута в случае успеха и FALSE в случае ошибки. Отдельные значения доступны по целочисленному индексу в массиве. Первый индекс 0. Число значений может быть найдено по индексу "count" в результирующем массиве.

Смотрите также

  • ldap_get_values() - Получает все значения из записи результата

ldap_get_option
ldap_get_values
LDAP


Получает все значения из записи результата

ldap_get_values_len
ldap_list
LDAP
PHP Manual

ldap_get_values

(PHP 4, PHP 5)

ldap_get_values — Получает все значения из записи результата

Описание

array ldap_get_values ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Читает все значения атрибута в записи результата.

Эта функция требует result_entry_identifier, а следовательно, перед ней должны быть запущена одна из функций ldap поиска и один из результатов их вызова для получения отдельной записи.

В создаваемом приложении необходимо будет использовать сложные конструкции для поиска определённых атрибутов (таких как "фамилия" или "почта") или необходимо будет использовать функцию ldap_get_attributes(), чтобы разобрать, какие атрибуты существуют для данной записи.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

attribute

Возвращаемые значения

Возвращает массив значений для атрибута в случае успеха, и FALSE в случае ошибки. Число значений может быть найдено по индексу "count" в результирующем массиве. Отдельные значения могут быть доступны по целочисленным индексам в массиве. Первый индекс 0.

LDAP позволяет хранить больше чем одну запись для атрибута, таким образом, можно, например, сохранить много адресов электронной почты для записи каталога одного человека, все маркированные атрибутом "mail"

     return_value["count"] = число значений атрибута
     return_value[0] = первое значение атрибута
     return_value[i] = i-ое значение атрибута

Примеры

Пример #1 Список всех значений атрибута "mail" для записи каталога

<?php
// $ds верный идентификатор ссылки на сервер директории

// $sr верный результат поиска в директории ldap

// $entry верный идентификатор записи из вызова функции
//        вернувшей запись директории

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " адреса email для этой записи.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

Смотрите также

  • ldap_get_values_len() - Получить все бинарные значения из записи результата

ldap_get_values_len
ldap_list
LDAP


Одноуровневый поиск

ldap_get_values
ldap_mod_add
LDAP
PHP Manual

ldap_list

(PHP 4, PHP 5)

ldap_list — Одноуровневый поиск

Описание

resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Выполняет поиск для указанного filter в директории в рамках LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL означает, что поиск должен возвратить только информацию, которая является следующим уровнем ниже base_dn, заданного при вызове. (Эквивалент вводу "ls" и получения списка файлов и папок в текущем рабочем каталоге.)

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

base_dn

Базовое DN для каталога.

filter

attributes

Массив необходимых атрибутов, например, array("mail", "sn", "cn"). Обратите внимание, что "dn" возвращается всегда, независимо от того, какие типы атрибутов требуются.

Использование этого параметра намного более эффективно чем действие по умолчанию (которое должно возвратить все атрибуты и их присвоенные значения). Поэтому использование этого параметра нужно считать хорошей практикой.

attrsonly

Должен быть равен 1, только если требуются типы атрибута. Если установлено 0, то, по умолчанию, выбираются и типы атрибутов и значения атрибута.

sizelimit

Позволяет ограничить количество выбранных записей. Установка этого параметра как 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку sizelimit на стороне сервера. Хотя его можно установить ниже.

Некоторые хосты серверов каталогов будут сконфигурированы так, чтобы возвратить не больше, чем предварительно установленное число записей. Если это произойдет, то сервер укажет, что возвратил только частичный набор результатов. Это также происходит, если Вы используете этот параметр, чтобы ограничить количество выбранных записей.

timelimit

Устанавливает число секунд, ограничивающее процесс поиска. Установка этого параметра как 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку timelimit на стороне сервера. Хотя его можно установить ниже.

deref

Определяет, как псевдонимы должны быть обработаны во время поиска. Может быть одним из следующих:

  • LDAP_DEREF_NEVER - (по умолчанию) псевдонимы никогда не разыменовываться.
  • LDAP_DEREF_SEARCHING - псевдонимы должны быть разыменованы во время поиска, но не при определении местоположения базового объекта поиска.
  • LDAP_DEREF_FINDING - псевдонимы должны быть разыменованы при определении местоположения базового объекта, но не во время поиска.
  • LDAP_DEREF_ALWAYS - псевдонимы должны всегда разыменовываться всегда.

Возвращаемые значения

Возвращает идентификатор результата поиска или FALSE в случае ошибки.

Список изменений

Версия | Описание
4.0.5 | Была добавлена поддержка параллельного поиска. Для более подробной информации см. ldap_search().
4.0.2 | Были добавлены attrsonly, sizelimit, timelimit и deref.

Примеры

Пример #1 Выводит список всех организационных единиц организации

<?php
// $ds верный идентификатор ссылки на сервер директории

$basedn = "o=My Company, c=US";
$justthese = array("ou");

$sr = ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i < $info["count"]; $i++) {
    echo $info[$i]["ou"][0];
}
?>

Смотрите также

  • ldap_search() - Поиск по LDAP дереву

ldap_get_values
ldap_mod_add
LDAP


Добавить значения атрибута к текущим атрибутам

ldap_list
ldap_mod_del
LDAP
PHP Manual

ldap_mod_add

(PHP 4, PHP 5)

ldap_mod_add — Добавить значения атрибута к текущим атрибутам

Описание

bool ldap_mod_add ( resource $link_identifier , string $dn , array $entry )

Добавляет один или более атрибутов к указанному dn. Эта функция выполняет модификацию на уровне атрибута, а не на уровене объектов. На уровне объектов добавление осуществляются функцией ldap_add().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_mod_del() - Удалить значения атрибута из текущих атрибутов
  • ldap_mod_replace() - Заменить значения атрибутов на новые

ldap_list
ldap_mod_del
LDAP


Удалить значения атрибута из текущих атрибутов

ldap_mod_add
ldap_mod_replace
LDAP
PHP Manual

ldap_mod_del

(PHP 4, PHP 5)

ldap_mod_del — Удалить значения атрибута из текущих атрибутов

Описание

bool ldap_mod_del ( resource $link_identifier , string $dn , array $entry )

Удаляет один или более атрибутов из указанного dn. Эта функция выполняет модификацию на уровне атрибута, а не на уровене объектов. На уровне объектов удаление осуществляются функцией ldap_delete().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_mod_add() - Добавить значения атрибута к текущим атрибутам
  • ldap_mod_replace() - Заменить значения атрибутов на новые

ldap_mod_add
ldap_mod_replace
LDAP


Заменить значения атрибутов на новые

ldap_mod_del
ldap_modify
LDAP
PHP Manual

ldap_mod_replace

(PHP 4, PHP 5)

ldap_mod_replace — Заменить значения атрибутов на новые

Описание

bool ldap_mod_replace ( resource $link_identifier , string $dn , array $entry )

Заменяет один или более атрибутов из указанного dn. Эта функция выполняет модификацию на уровне атрибута, а не на уровене объектов. На уровне объектов модификация осуществляются функцией ldap_modify().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_mod_del() - Удалить значения атрибута из текущих атрибутов
  • ldap_mod_add() - Добавить значения атрибута к текущим атрибутам

ldap_mod_del
ldap_modify
LDAP


Изменить LDAP запись

ldap_mod_replace
ldap_next_attribute
LDAP
PHP Manual

ldap_modify

(PHP 4, PHP 5)

ldap_modify — Изменить LDAP запись

Описание

bool ldap_modify ( resource $link_identifier , string $dn , array $entry )

Изменяет существующие записи в каталоге LDAP. Структура записей такая же, как и в ldap_add().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя объекта LDAP.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_rename() - Изменить имя записи

ldap_mod_replace
ldap_next_attribute
LDAP


Получить следующий атрибут из результата

ldap_modify
ldap_next_entry
LDAP
PHP Manual

ldap_next_attribute

(PHP 4, PHP 5)

ldap_next_attribute — Получить следующий атрибут из результата

Описание

string ldap_next_attribute ( resource $link_identifier , resource $result_entry_identifier )

Возвращает атрибуты записи. Первый вызов ldap_next_attribute() производится с параметром result_entry_identifier, который возвращается ldap_first_attribute().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

ber_identifier

Внутреннее состояние указателя сохраняется этим параметром.

Замечание:

Этот параметр больше не используется, поскольку это теперь это обрабатывается автоматически PHP. Для обратной совместимости PHP не будет выбрасывать ошибку, если этот параметр будет передан.

Возвращаемые значения

Возвращает следующий атрибут записи в случае успеха и FALSE в случае ошибки.

Список изменений

Версия | Описание
5.2.4 | Параметр ber_identifier был удалён. Теперь это обрабатывается PHP автоматически.

Смотрите также

  • ldap_get_attributes() - Получает атрибуты из записи в результатах поиска

ldap_modify
ldap_next_entry
LDAP


Получить следующую запись результата

ldap_next_attribute
ldap_next_reference
LDAP
PHP Manual

ldap_next_entry

(PHP 4, PHP 5)

ldap_next_entry — Получить следующую запись результата

Описание

resource ldap_next_entry ( resource $link_identifier , resource $result_entry_identifier )

Получить записи, хранящиеся в результате. Последующие вызовы ldap_next_entry()
возвращают по одной записи, пока не останется больше записей.
Первый вызов ldap_next_entry() производится
после вызова ldap_first_entry() с параметром
result_entry_identifier, который был возвращён ldap_first_entry().

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

result_entry_identifier

Возвращаемые значения

Возвращает идентификатор для следующей записи в результате, содержимое которого начинают читаться, запуская ldap_first_entry(). Если нет больше записей в результате, тогда возвращается FALSE.

Смотрите также

  • ldap_get_entries() - Получает все записи результата

ldap_next_attribute
ldap_next_reference
LDAP


Возвращает следующую справку

ldap_next_entry
ldap_parse_reference
LDAP
PHP Manual

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference — Возвращает следующую справку

Описание

resource ldap_next_reference ( resource $link , resource $entry )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_next_entry
ldap_parse_reference
LDAP


Извлекает информацию из справочника

ldap_next_reference
ldap_parse_result
LDAP
PHP Manual

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference — Извлекает информацию из справочника

Описание

bool ldap_parse_reference ( resource $link , resource $entry , array &$referrals )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_next_reference
ldap_parse_result
LDAP


Извлечь информацию из результата

ldap_parse_reference
ldap_read
LDAP
PHP Manual

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result — Извлечь информацию из результата

Описание

bool ldap_parse_result ( resource $link , resource $result , int &$errcode [, string &$matcheddn [, string &$errmsg [, array &$referrals ]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_parse_reference
ldap_read
LDAP


Читает запись

ldap_parse_result
ldap_rename
LDAP
PHP Manual

ldap_read

(PHP 4, PHP 5)

ldap_read — Читает запись

Описание

resource ldap_read ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Выполняет поиск для указанного filter в директории в рамках LDAP_SCOPE_BASE. Эквивалентно чтению записи из директории.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

base_dn

Базовое DN для каталога.

filter

Пустой фильтр не допустим. Если необходимо получить абсолютно всю информацию для этой записи, используйте фильтр objectClass=*. Если известно какие типы записи используются на сервере каталогов, то можно использовать соответствующий фильтр, такой как objectClass=inetOrgPerson.

attributes

Массив необходимых атрибутов, например, array("mail", "sn", "cn"). Обратите внимание, что "dn" всегда возвращается, независимо от того, какие типы атрибутов требуются.

Использование этого параметра намного более эффективно чем действие по умолчанию (которое возвращает все атрибуты и их присвоенные значения). Поэтому использование этого параметра нужно считать хорошей практикой.

attrsonly

Должен быть равен 1, только если требуются типы атрибута. Если равен 0, то, по умолчанию, выбираются и типы атрибутов и значения.

sizelimit

Позволяет ограничить количество выбранных записей. Установка этого параметра равным 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку sizelimit на стороне сервера. Хотя его можно установить ниже.

Некоторые хосты серверов каталогов будут сконфигурированы так, чтобы возвратить не больше, чем предварительно установленное число записей. Если это произойдет, то сервер укажет, что только возвратил частичный набор результатов. Это также происходит, если используется этот параметр, чтобы ограничить количество выбранных записей.

timelimit

Устанавливает число секунд, ограничивающее процесс поиска. Установка этого параметра равным 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку timelimit на стороне сервера. Хотя его можно установить ниже.

deref

Определяет то, как псевдонимы должны быть обработаны во время поиска. Может быть одним из следующих:

  • LDAP_DEREF_NEVER - (по умолчанию) псевдонимы никогда не разыменовываются.
  • LDAP_DEREF_SEARCHING - псевдонимы должны быть разыменованы во время поиска, но не при определении местоположения базового объекта поиска.
  • LDAP_DEREF_FINDING - псевдонимы должны быть разыменованы при определении местоположения базового объекта, но не во время поиска.
  • LDAP_DEREF_ALWAYS - псевдонимы должны всегда разыменовываться.

Возвращаемые значения

Возвращает идентификатор результата поиска или FALSE в случае ошибки.

Список изменений

Версия | Описание
4.0.5 | Была добавлена поддержка параллельного поиска. Для более подробной информации см. ldap_search().
4.0.2 | Были добавлены attrsonly, sizelimit, timelimit и deref.

ldap_parse_result
ldap_rename
LDAP


Изменить имя записи

ldap_read
ldap_sasl_bind
LDAP
PHP Manual

ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename — Изменить имя записи

Описание

bool ldap_rename ( resource $link_identifier , string $dn , string $newrdn , string $newparent , bool $deleteoldrdn )

Переименование/перемещение записи, определённой dn.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

dn

Отличительное имя LDAP объекта.

newrdn

Новое RDN.

newparent

Новая родительская/превосходящая запись.

deleteoldrdn

Если TRUE, старые значения RDN удаляются, иначе старые значения RDN сохраняются как неуникальные значения записи.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Эта функция в настоящее время работает только с LDAPv3. Возможно, вам придется использовать ldap_set_option() перед привязкой, используя LDAPv3. Эта функция доступна только при использовании OpenLDAP 2.xx или Netscape Directory SDK x.x.

Смотрите также

  • ldap_modify() - Изменить LDAP запись

ldap_read
ldap_sasl_bind
LDAP


Привязать к LDAP директории, используя SASL

ldap_rename
ldap_search
LDAP
PHP Manual

ldap_sasl_bind

(PHP 5)

ldap_sasl_bind — Привязать к LDAP директории, используя SASL

Описание

bool ldap_sasl_bind ( resource $link [, string $binddn = NULL [, string $password = NULL [, string $sasl_mech = NULL [, string $sasl_realm = NULL [, string $sasl_authc_id = NULL [, string $sasl_authz_id = NULL [, string $props = NULL ]]]]]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Требование
ldap_sasl_bind() требует SASL поддержки (sasl.h). Проверьте, что вы использовали --with-ldap-sasl при конфигурировании PHP, в противном случае эта функция будет неопределена.

Список изменений

Версия | Описание
5.3.3 | Добавлена поддержка в Windows.

ldap_rename
ldap_search
LDAP


Поиск по LDAP дереву

ldap_sasl_bind
ldap_set_option
LDAP
PHP Manual

ldap_search

(PHP 4, PHP 5)

ldap_search — Поиск по LDAP дереву

Описание

resource ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Выполняет поиск для указанного фильтра в директории с границами LDAP_SCOPE_SUBTREE. Эквивалентно поиску по всему каталогу.

Начиная с 4.0.5 также возможно производить параллельный поиск. Чтобы это сделать , необходимо использовать в качестве первого параметра массив идентификаторов ссылок, а не единственный идентификатор. Если необходимости использовать то же самое основное DN и тот же самый фильтр для всех поисков нет, то можно использовать массив базовых DN и/или массив фильтров. Эти массивы должны иметь такой же размер, как и массив идентификаторов ссылок, так как первые записи массивов используются для одного поиска, вторые записи используются для другого и так далее. При выполнении параллельного поиска возвращается массив идентификаторов результатов поиска, кроме ошибочных случаев, тогда запись, соответствующая поиску, будет равна FALSE. Это похоже на обычный поиск, когда возвращается значение, за исключением того, что идентификатор результата всегда возвращается после проведения поиска. Есть некоторые редкие случаи, куда обычный поиск возвращает FALSE, в то время как параллельный поиск возвращает идентификатор.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

base_dn

Базовое DN для каталога.

filter

Поисковый фильтр может быть простым или расширенным, используя булевы операторы в формате, описанном в документации LDAP (см. » Netscape Directory SDK для полной информации о фильтрах).

attributes

Массив необходимых атрибутов, например, array("mail", "sn", "cn"). Обратите внимание, что "dn" всегда возвращается, независимо от того, какие типы атрибутов требуются.

Использование этого параметра намного более эффективно, чем действие по умолчанию (которое должно возвратить все атрибуты и присвоенные им значения). Поэтому использование этого параметра нужно считать хорошей практикой.

attrsonly

Должен быть равен 1, если требуются типы атрибута. Если равен 0, то, по умолчанию, выбираются и типы атрибутов и значения.

sizelimit

Позволяет ограничить количество выбранных записей. Установка этого параметра равным 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку sizelimit на стороне сервера. Хотя его можно установить ниже.

Некоторые хосты серверов каталогов будут сконфигурированы так, чтобы возвратить не больше, чем предварительно установленное число записей. Если это произойдет, то сервер укажет, что только возвратил частичный набор результатов. Это также происходит, если Вы используете этот параметр, чтобы ограничить количество выбранных записей.

timelimit

Устанавливает число секунд, ограничивающее процесс поиска. Установка этого параметра равным 0 означает, что ограничение отсутствует.

Замечание:

Этот параметр НЕ может переопределять предустановку timelimit на стороне сервера. Хотя его можно установить ниже.

deref

Определяет как псевдонимы должны быть обработаны во время поиска. Может быть одним из следующих:

  • LDAP_DEREF_NEVER - (по умолчанию) псевдонимы никогда не разыменовываются.
  • LDAP_DEREF_SEARCHING - псевдонимы должны быть разыменованы во время поиска, но не при определении местоположения базового объекта поиска.
  • LDAP_DEREF_FINDING - псевдонимы должны быть разыменованы при определении местоположения базового объекта, но не во время поиска.
  • LDAP_DEREF_ALWAYS - псевдонимы должны всегда разыменовываться.

Возвращаемые значения

Возвращает идентификатор результата поиска или FALSE в случае ошибки.

Список изменений

Версия | Описание
4.0.5 | Была добавлена поддержка параллельного поиска.
4.0.2 | Были добавлены attrsonly, sizelimit, timelimit и deref.

Примеры

Пример ниже получает организационную единицу, фамилию, имя и адрес электронной почты для всех людей в "My Company", где фамилия или имя содержат подстроку $person. Этот пример использует логический фильтр, чтобы сказать серверу, что нужно искать информацию больше, чем в одном атрибуте.

Пример #1 LDAP поиск

<?php
// $ds верный идентификатор ссылки на сервер директории

// $person всё или часть имени человека, н-р "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." записей возвращено\n";
?>

ldap_sasl_bind
ldap_set_option
LDAP


Установить значение данной опции

ldap_search
ldap_set_rebind_proc
LDAP
PHP Manual

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option — Установить значение данной опции

Описание

bool ldap_set_option ( resource $link_identifier , int $option , mixed $newval )

Устанавливает значение указанной опции в newval.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

option

Параметр option может быть одним из:

Опция | Тип | Доступна с
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer | PHP 5.3.0
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

LDAP_OPT_SERVER_CONTROLS и LDAP_OPT_CLIENT_CONTROLS требуют список элементов управления. Это означает, что значение должно быть массивом элементов управления. Элемент управления состоит из oid, определяющего элемент управления, опционального значения, и дополнительного флага для критичности. В PHP элемент управления задается массивом, содержащим элемент с ключом oid и строковым значением, и двумя необязательными элементами. Необязательные элементы являются ключом value со строковым значением и ключом iscritical с логическим значением. iscritical по умолчанию установается в FALSE, если не указан. Для более подробной информации смотрите » draft-ietf-ldapext-ldap-c-api-xx.txt. Смотрите также второй пример, расположенный ниже.

newval

Новое значение для указанной option (опции).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Устанавливает версию протокола

<?php
// $ds является действительным идентификатором связи с LDAP-сервером
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Используется LDAPv3";
} else {
    echo "Не удалось установить версию протокола в 3";
}
?>

Пример #2 Устанавливает управление сервером

<?php
// $ds является действительным идентификатором связи с LDAP-сервером
// элемент управления с отсутствующим значением
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical по умолчанию FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// попытка установить оба элемента управления
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Не удалось установить серверные элементы управления";
}
?>

Примечания

Замечание:

Эта функция доступна только, когда используется OpenLDAP 2.x.x или Netscape Directory SDK x.x.

Смотрите также

  • ldap_get_option() - Получить текущее значение данной опции

ldap_search
ldap_set_rebind_proc
LDAP


Установить функцию обратного вызова для повторного связывания при ссылочном поиске

ldap_set_option
ldap_sort
LDAP
PHP Manual

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc — Установить функцию обратного вызова для повторного связывания при ссылочном поиске

Описание

bool ldap_set_rebind_proc ( resource $link , callback $callback )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_set_option
ldap_sort
LDAP


Сортировать записи LDAP

ldap_set_rebind_proc
ldap_start_tls
LDAP
PHP Manual

ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort — Сортировать записи LDAP

Описание

bool ldap_sort ( resource $link , resource $result , string $sortfilter )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_set_rebind_proc
ldap_start_tls
LDAP


Запускает TLS

ldap_sort
ldap_t61_to_8859
LDAP
PHP Manual

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls — Запускает TLS

Описание

bool ldap_start_tls ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_sort
ldap_t61_to_8859
LDAP


Переводит символы из кодировки t61 в ISO-8859

ldap_start_tls
ldap_unbind
LDAP
PHP Manual

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 — Переводит символы из кодировки t61 в ISO-8859

Описание

string ldap_t61_to_8859 ( string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_start_tls
ldap_unbind
LDAP


Разорвать привязку к директории LDAP

ldap_t61_to_8859
Lotus Notes
LDAP
PHP Manual

ldap_unbind

(PHP 4, PHP 5)

ldap_unbind — Разорвать привязку к директории LDAP

Описание

bool ldap_unbind ( resource $link_identifier )

Разрывает привязку к LDAP-директории.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_bind() - Привязать к LDAP директории

ldap_t61_to_8859
Lotus Notes
LDAP


Lotus Notes

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Lotus Notes Функции
    • notes_body — Open the message msg_number in the specified mailbox on the specified server (leave serv
    • notes_copy_db — Copy a Lotus Notes database
    • notes_create_db — Create a Lotus Notes database
    • notes_create_note — Create a note using form form_name
    • notes_drop_db — Drop a Lotus Notes database
    • notes_find_note — Returns a note id found in database_name
    • notes_header_info — Open the message msg_number in the specified mailbox on the specified server (leave serv
    • notes_list_msgs — Returns the notes from a selected database_name
    • notes_mark_read — Mark a note_id as read for the User user_name
    • notes_mark_unread — Mark a note_id as unread for the User user_name
    • notes_nav_create — Create a navigator name, in database_name
    • notes_search — Find notes that match keywords in database_name
    • notes_unread — Returns the unread note id's for the current User user_name
    • notes_version — Get the version Lotus Notes
ldap_unbind
Введение
Другие службы


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Lotus Notes
Установка и настройка
Lotus Notes


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Lotus Notes


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/notes.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Lotus Notes Функции
Lotus Notes


Lotus Notes Функции

Содержание

  • notes_body — Open the message msg_number in the specified mailbox on the specified server (leave serv
  • notes_copy_db — Copy a Lotus Notes database
  • notes_create_db — Create a Lotus Notes database
  • notes_create_note — Create a note using form form_name
  • notes_drop_db — Drop a Lotus Notes database
  • notes_find_note — Returns a note id found in database_name
  • notes_header_info — Open the message msg_number in the specified mailbox on the specified server (leave serv
  • notes_list_msgs — Returns the notes from a selected database_name
  • notes_mark_read — Mark a note_id as read for the User user_name
  • notes_mark_unread — Mark a note_id as unread for the User user_name
  • notes_nav_create — Create a navigator name, in database_name
  • notes_search — Find notes that match keywords in database_name
  • notes_unread — Returns the unread note id's for the current User user_name
  • notes_version — Get the version Lotus Notes
Предопределенные константы
notes_body
Lotus Notes


Open the message msg_number in the specified mailbox on the specified server (leave serv

Lotus Notes Функции
notes_copy_db
Lotus Notes Функции
PHP Manual

notes_body

(PHP 4 >= 4.0.5)

notes_body — Open the message msg_number in the specified mailbox on the specified server (leave serv

Описание

array notes_body ( string $server , string $mailbox , int $msg_number )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Lotus Notes Функции
notes_copy_db
Lotus Notes Функции


Copy a Lotus Notes database

notes_body
notes_create_db
Lotus Notes Функции
PHP Manual

notes_copy_db

(PHP 4 >= 4.0.5)

notes_copy_db — Copy a Lotus Notes database

Описание

bool notes_copy_db ( string $from_database_name , string $to_database_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_body
notes_create_db
Lotus Notes Функции


Create a Lotus Notes database

notes_copy_db
notes_create_note
Lotus Notes Функции
PHP Manual

notes_create_db

(PHP 4 >= 4.0.5)

notes_create_db — Create a Lotus Notes database

Описание

bool notes_create_db ( string $database_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_copy_db
notes_create_note
Lotus Notes Функции


Create a note using form form_name

notes_create_db
notes_drop_db
Lotus Notes Функции
PHP Manual

notes_create_note

(PHP 4 >= 4.0.5)

notes_create_note — Create a note using form form_name

Описание

bool notes_create_note ( string $database_name , string $form_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_create_db
notes_drop_db
Lotus Notes Функции


Drop a Lotus Notes database

notes_create_note
notes_find_note
Lotus Notes Функции
PHP Manual

notes_drop_db

(PHP 4 >= 4.0.5)

notes_drop_db — Drop a Lotus Notes database

Описание

bool notes_drop_db ( string $database_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_create_note
notes_find_note
Lotus Notes Функции


Returns a note id found in database_name

notes_drop_db
notes_header_info
Lotus Notes Функции
PHP Manual

notes_find_note

(PHP 4 >= 4.0.5)

notes_find_note — Returns a note id found in database_name

Описание

int notes_find_note ( string $database_name , string $name [, string $type ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_drop_db
notes_header_info
Lotus Notes Функции


Open the message msg_number in the specified mailbox on the specified server (leave serv

notes_find_note
notes_list_msgs
Lotus Notes Функции
PHP Manual

notes_header_info

(PHP 4 >= 4.0.5)

notes_header_info — Open the message msg_number in the specified mailbox on the specified server (leave serv

Описание

object notes_header_info ( string $server , string $mailbox , int $msg_number )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_find_note
notes_list_msgs
Lotus Notes Функции


Returns the notes from a selected database_name

notes_header_info
notes_mark_read
Lotus Notes Функции
PHP Manual

notes_list_msgs

(PHP 4 >= 4.0.5)

notes_list_msgs — Returns the notes from a selected database_name

Описание

bool notes_list_msgs ( string $db )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_header_info
notes_mark_read
Lotus Notes Функции


Mark a note_id as read for the User user_name

notes_list_msgs
notes_mark_unread
Lotus Notes Функции
PHP Manual

notes_mark_read

(PHP 4 >= 4.0.5)

notes_mark_read — Mark a note_id as read for the User user_name

Описание

bool notes_mark_read ( string $database_name , string $user_name , string $note_id )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_list_msgs
notes_mark_unread
Lotus Notes Функции


Mark a note_id as unread for the User user_name

notes_mark_read
notes_nav_create
Lotus Notes Функции
PHP Manual

notes_mark_unread

(PHP 4 >= 4.0.5)

notes_mark_unread — Mark a note_id as unread for the User user_name

Описание

bool notes_mark_unread ( string $database_name , string $user_name , string $note_id )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_mark_read
notes_nav_create
Lotus Notes Функции


Create a navigator name, in database_name

notes_mark_unread
notes_search
Lotus Notes Функции
PHP Manual

notes_nav_create

(PHP 4 >= 4.0.5)

notes_nav_create — Create a navigator name, in database_name

Описание

bool notes_nav_create ( string $database_name , string $name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_mark_unread
notes_search
Lotus Notes Функции


Find notes that match keywords in database_name

notes_nav_create
notes_unread
Lotus Notes Функции
PHP Manual

notes_search

(PHP 4 >= 4.0.5)

notes_search — Find notes that match keywords in database_name

Описание

array notes_search ( string $database_name , string $keywords )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_nav_create
notes_unread
Lotus Notes Функции


Returns the unread note id's for the current User user_name

notes_search
notes_version
Lotus Notes Функции
PHP Manual

notes_unread

(PHP 4 >= 4.0.5)

notes_unread — Returns the unread note id's for the current User user_name

Описание

array notes_unread ( string $database_name , string $user_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_search
notes_version
Lotus Notes Функции


Get the version Lotus Notes

notes_unread
Memcache
Lotus Notes Функции
PHP Manual

notes_version

(PHP 4 >= 4.0.5)

notes_version — Get the version Lotus Notes

Описание

float notes_version ( string $database_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

notes_unread
Memcache
Lotus Notes Функции


Memcache

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • Memcache — Класс Memcache
    • Memcache::add — Add an item to the server
    • Memcache::addServer — Add a memcached server to connection pool
    • Memcache::close — Close memcached server connection
    • Memcache::connect — Open memcached server connection
    • Memcache::decrement — Decrement item's value
    • Memcache::delete — Delete item from the server
    • Memcache::flush — Flush all existing items at the server
    • Memcache::get — Retrieve item from the server
    • Memcache::getExtendedStats — Get statistics from all servers in pool
    • Memcache::getServerStatus — Returns server status
    • Memcache::getStats — Get statistics of the server
    • Memcache::getVersion — Return version of the server
    • Memcache::increment — Increment item's value
    • Memcache::pconnect — Open memcached server persistent connection
    • Memcache::replace — Replace value of the existing item
    • Memcache::set — Store data at the server
    • Memcache::setCompressThreshold — Enable automatic compression of large values
    • Memcache::setServerParams — Changes server parameters and status at runtime
  • Memcache Функции
    • memcache_debug — Включить/выключить вывод отладочной информации
notes_version
Введение
Другие службы


Введение

Модуль Memcache предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях.

Модуль Memcache также предоставляет дескриптор сессий (memcache).

Больше информации о memcached вы сможете найти на » http://www.memcached.org/.

Memcache
Установка и настройка
Memcache


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Memcache


Требования

Этот модуль использует функции » zlib для поддержки сжатия "на лету". В связи с этим Zlib необходим для уставноки данного модуля.

PHP 4.3.3 или новее необходим для расширения memcache.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/memcache.

Замечание:

Существует возможность запретить использование memcache в качестве обработчика сессий (session handler). Команда 'pecl install' выдает об этом запрос (по-умолчанию включено). Кроме того, при статической компиляции в PHP для этой цели возможно использование опции конфигурации --disable-memcache-session .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные параметры Memcache
Название | Значение по-умолчанию | Изменяется | История
memcache.allow_failover | "1" | PHP_INI_ALL | Доступно с memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Доступно с memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Доступно с memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Доступно с memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Доступно с memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Доступно с memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Поддерживается с memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Поддерживается с memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Поддерживается с memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Поддерживается с memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Поддерживается с memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Поддерживается с memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Поддерживается с memcache 3.0.4
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

memcache.allow_failover boolean

Разрешение прозрачного переключения на другие сервера при возникновении ошибок.

memcache.max_failover_attempts integer

Устанавливает число попыток чтения и записи данных. Используется только в сочетании с memcache.allow_failover.

memcache.chunk_size integer

Устанавливает размер передаваемых блоков данных. Использование малых значений приводит к повышению сетевой активности. В случае неожиданного замедления работы попробуйте увеличить значение до 32768.

memcache.default_port string

Устанавливает номер TCP порта по умолчанию для подключения к memcached-серверу, если явно не указан иной.

memcache.hash_strategy string

Контролирует стратегию функций отображения ключей на сервера. Установите этот параметр в consistent для включения последовательного хеширования, которое не требует переназначения ключей кеша при добавлении и удалении серверов из пула. Уставнока же этого параметра в standard приводит к использованию старой стратегии.

memcache.hash_function string

Устанавливает хеш-функцию для отображения ключей на сервера. При значении crc32 будет использоваться стандартный CRC32 хеш, а при fnv - FNV-1a.

session.save_handler string

Установите этот параметр в memcache для использовать memcache в качестве обработчика сессий.

session.save_path string

Устанавливает список адресов серверов, разделенных запятой, для хранений сессий. Например, "tcp://host1:11211, tcp://host2:11211".

Каждый адрес может содержать параметры аналогичные используемым в методе Memcache::addServer(), которые будут применены сервером. Например, "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

memcache.protocol string

memcache.redundancy integer

memcache.session_redundancy integer

memcache.compress_threshold integer

memcache.lock_timeout integer

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Существует всего один тип ресурсов, используемых в модуле memcache - это идентификатор ссылки для подключения к кеш-серверу.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Константы Memcache
Имя | Описание
MEMCACHE_COMPRESSED (integer) | Используется для включения сжатия данных "на лету" для следующих методов: Memcache::set(), Memcache::add() и Memcache::replace().
MEMCACHE_HAVE_SESSION (integer) | 1, если соединение с Memcache установлено, иначе 0.
Типы ресурсов
Примеры
Memcache


Примеры

Содержание

  • Базовое использование
Предопределенные константы
Базовое использование
Memcache


Базовое использование

Пример #1 Пример использования расширения memcache

В этом примере происходит сохранение объекта в кеше и его последующее чтение. Объекты и другие не скалярные типы сериализируются перед сохранением, что делает невозможным хранение ресурсов наподобие идентетификаторов подключений в кеше.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Не могу подключиться");

$version = $memcache->getVersion();
echo "Версия сервера: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Ошибка при сохранении данных на сервере");
echo "Данные сохранены в кеше. (время жизни данных 10 секунд)<br/>\n";

$get_result = $memcache->get('key');
echo "Данные из кеша:<br/>\n";

var_dump($get_result);

?>

Пример #2 Использование memcache в качестве обработчика сессий

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>

Примеры
Memcache
Примеры


Класс Memcache

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет подключение к множесту memcache серверов.

Обзор классов

Memcache {
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )
bool close ( void )
bool connect ( string $host [, int $port [, int $timeout ]] )
int decrement ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout = 0 ] )
bool flush ( void )
string get ( string $key [, int &$flags ] )
array getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
int getServerStatus ( string $host [, int $port = 11211 ] )
array getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
string getVersion ( void )
int increment ( string $key [, int $value = 1 ] )
mixed pconnect ( string $host [, int $port [, int $timeout ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool setCompressThreshold ( int $threshold [, float $min_savings ] )
bool setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )
}

Содержание

  • Memcache::add — Add an item to the server
  • Memcache::addServer — Add a memcached server to connection pool
  • Memcache::close — Close memcached server connection
  • Memcache::connect — Open memcached server connection
  • Memcache::decrement — Decrement item's value
  • Memcache::delete — Delete item from the server
  • Memcache::flush — Flush all existing items at the server
  • Memcache::get — Retrieve item from the server
  • Memcache::getExtendedStats — Get statistics from all servers in pool
  • Memcache::getServerStatus — Returns server status
  • Memcache::getStats — Get statistics of the server
  • Memcache::getVersion — Return version of the server
  • Memcache::increment — Increment item's value
  • Memcache::pconnect — Open memcached server persistent connection
  • Memcache::replace — Replace value of the existing item
  • Memcache::set — Store data at the server
  • Memcache::setCompressThreshold — Enable automatic compression of large values
  • Memcache::setServerParams — Changes server parameters and status at runtime
Базовое использование
Memcache::add
Memcache


Add an item to the server

Memcache
Memcache::addServer
Memcache
PHP Manual

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Add an item to the server

Описание

bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Список параметров

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Примеры

Пример #1 Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Смотрите также

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item

Memcache
Memcache::addServer
Memcache


Add a memcached server to connection pool

Memcache::add
Memcache::close
Memcache
PHP Manual

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Add a memcached server to connection pool

Описание

bool Memcache::addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )

Memcache::addServer() adds a server to the connection pool. The connection, which was opened using Memcache::addServer() will be automatically closed at the end of script execution, you can also close it manually with Memcache::close(). You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect() and Memcache::pconnect()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

Замечание:

This function has been added to Memcache version 2.0.0.

Список параметров

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

persistent

Controls the use of a persistent connection. Default to TRUE.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

timeoutms

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Смотрите также

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection
  • Memcache::setServerParams() - Changes server parameters and status at runtime
  • Memcache::getServerStatus() - Returns server status

Memcache::add
Memcache::close
Memcache


Close memcached server connection

Memcache::addServer
Memcache::connect
Memcache
PHP Manual

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Close memcached server connection

Описание

bool Memcache::close ( void )

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here ..
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here ..
*/
$memcache_obj->close();

?>

Смотрите также

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection

Memcache::addServer
Memcache::connect
Memcache


Open memcached server connection

Memcache::close
Memcache::decrement
Memcache
PHP Manual

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Open memcached server connection

Описание

bool Memcache::connect ( string $host [, int $port [, int $timeout ]] )

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

Список параметров

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Смотрите также

  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection

Memcache::close
Memcache::decrement
Memcache


Decrement item's value

Memcache::connect
Memcache::delete
Memcache
PHP Manual

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Decrement item's value

Описание

int Memcache::decrement ( string $key [, int $value = 1 ] )

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is substracted.

Замечание:

New item's value will not be less than zero.

Замечание:

Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

Список параметров

key

Key of the item do decrement.

value

Decrement the item by value.

Возвращаемые значения

Returns item's new value on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Смотрите также

  • Memcache::increment() - Increment item's value
  • Memcache::replace() - Replace value of the existing item

Memcache::connect
Memcache::delete
Memcache


Delete item from the server

Memcache::decrement
Memcache::flush
Memcache
PHP Manual

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Delete item from the server

Описание

bool Memcache::delete ( string $key [, int $timeout = 0 ] )

Memcache::delete() deletes an item with the key.

Список параметров

key

The key associated with the item to delete.

timeout

This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.

Список изменений

Версия | Описание
Unknown | It's not recommended to use the timeout parameter. The behavior differs between memcached versions, but setting to 0 is safe. Other values for this deprecated feature may cause the memcache delete to fail.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

Смотрите также

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item

Memcache::decrement
Memcache::flush
Memcache


Flush all existing items at the server

Memcache::delete
Memcache::get
Memcache
PHP Manual

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Flush all existing items at the server

Описание

bool Memcache::flush ( void )

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

Memcache::delete
Memcache::get
Memcache


Retrieve item from the server

Memcache::flush
Memcache::getExtendedStats
Memcache
PHP Manual

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Retrieve item from the server

Описание

string Memcache::get ( string $key [, int &$flags ] )
array Memcache::get ( array $keys [, array &$flags ] )

Memcache::get() returns previously stored data if an item with such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

Список параметров

key

The key or array of keys to fetch.

flags

If present, flags fetched along with the values will be written to this parameter. These flags are the same as the ones given to for example Memcache::set(). The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate compression and serialization status).

Возвращаемые значения

Returns the string associated with the key or FALSE on failure or if such key was not found.

Примеры

Пример #1 Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

Memcache::flush
Memcache::getExtendedStats
Memcache


Get statistics from all servers in pool

Memcache::get
Memcache::getServerStatus
Memcache
PHP Manual

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Get statistics from all servers in pool

Описание

array Memcache::getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to FALSE. You can also use the memcache_get_extended_stats() function.

Замечание:

This function has been added to Memcache version 2.0.0.

Список параметров

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Внимание

The cachedump stat type has been removed from the memcached daemon due to security reasons.

Возвращаемые значения

Returns a two-dimensional associative array of server statistics or FALSE on failure.

Примеры

Пример #1 Memcache::getExtendedStats() example

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

Результат выполнения данного примера:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Смотрите также

  • Memcache::getVersion() - Return version of the server
  • Memcache::getStats() - Get statistics of the server

Memcache::get
Memcache::getServerStatus
Memcache


Returns server status

Memcache::getExtendedStats
Memcache::getStats
Memcache
PHP Manual

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Returns server status

Описание

int Memcache::getServerStatus ( string $host [, int $port = 11211 ] )

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

Замечание:

This function has been added to Memcache version 2.1.0.

Список параметров

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

Возвращаемые значения

Returns a the servers status. 0 if server is failed, non-zero otherwise

Примеры

Пример #1 Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Смотрите также

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::setServerParams() - Changes server parameters and status at runtime

Memcache::getExtendedStats
Memcache::getStats
Memcache


Get statistics of the server

Memcache::getServerStatus
Memcache::getVersion
Memcache
PHP Manual

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Get statistics of the server

Описание

array Memcache::getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

Список параметров

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Возвращаемые значения

Returns an associative array of server statistics или FALSE в случае возникновения ошибки.

Смотрите также

  • Memcache::getVersion() - Return version of the server
  • Memcache::getExtendedStats() - Get statistics from all servers in pool

Memcache::getServerStatus
Memcache::getVersion
Memcache


Return version of the server

Memcache::getStats
Memcache::increment
Memcache
PHP Manual

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Return version of the server

Описание

string Memcache::getVersion ( void )

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

Возвращаемые значения

Returns a string of server version number или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Смотрите также

  • Memcache::getExtendedStats() - Get statistics from all servers in pool
  • Memcache::getStats() - Get statistics of the server

Memcache::getStats
Memcache::increment
Memcache


Increment item's value

Memcache::getVersion
Memcache::pconnect
Memcache
PHP Manual

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Increment item's value

Описание

int Memcache::increment ( string $key [, int $value = 1 ] )

Memcache::increment() increments value of an item by the specified value. If item specified by key was not numeric and cannot be converted to a number, it will change its value to value. Memcache::increment() does not create an item if it doesn't already exist.

Замечание:

Do not use Memcache::increment() with items that have been stored compressed because subsequent calls to Memcache::get() will fail.

Also you can use memcache_increment() function.

Список параметров

key

Key of the item to increment.

value

Increment the item by value.

Возвращаемые значения

Returns new items value on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Смотрите также

  • Memcache::decrement() - Decrement item's value
  • Memcache::replace() - Replace value of the existing item

Memcache::getVersion
Memcache::pconnect
Memcache


Open memcached server persistent connection

Memcache::increment
Memcache::replace
Memcache
PHP Manual

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Open memcached server persistent connection

Описание

mixed Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

Список параметров

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Возвращаемые значения

Returns a Memcache object или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Смотрите также

  • Memcache::connect() - Open memcached server connection

Memcache::increment
Memcache::replace
Memcache


Replace value of the existing item

Memcache::pconnect
Memcache::set
Memcache
PHP Manual

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Replace value of the existing item

Описание

bool Memcache::replace ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
FALSE. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

Список параметров

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Смотрите также

  • Memcache::set() - Store data at the server
  • Memcache::add() - Add an item to the server

Memcache::pconnect
Memcache::set
Memcache


Store data at the server

Memcache::replace
Memcache::setCompressThreshold
Memcache
PHP Manual

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Store data at the server

Описание

bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

Замечание:

Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

Список параметров

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Пример #2 Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Смотрите также

  • Memcache::add() - Add an item to the server
  • Memcache::replace() - Replace value of the existing item

Memcache::replace
Memcache::setCompressThreshold
Memcache


Enable automatic compression of large values

Memcache::set
Memcache::setServerParams
Memcache
PHP Manual

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Enable automatic compression of large values

Описание

bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

Замечание:

This function has been added to Memcache version 2.0.0.

Список параметров

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

Memcache::set
Memcache::setServerParams
Memcache


Changes server parameters and status at runtime

Memcache::setCompressThreshold
Memcache Функции
Memcache
PHP Manual

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Changes server parameters and status at runtime

Описание

bool Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

Замечание:

This function has been added to Memcache version 2.1.0.

Список параметров

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algoritm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Смотрите также

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::getServerStatus() - Returns server status

Memcache::setCompressThreshold
Memcache Функции
Memcache


Memcache Функции

Содержание

  • memcache_debug — Включить/выключить вывод отладочной информации
Memcache::setServerParams
memcache_debug
Memcache


Включить/выключить вывод отладочной информации

Memcache Функции
Memcached
Memcache Функции
PHP Manual

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Включить/выключить вывод отладочной информации

Описание

bool memcache_debug ( bool $on_off )

memcache_debug() включает вывод отладочной информации, если on_off установлен в TRUE и выключает, если в FALSE.

Замечание:

Функция memcache_debug() доступна, только если PHP был собран с использованием опции --enable-debug и в этом случае всегда возвращает TRUE. Иначе вызов этой функции ничего не делает и возвращает FALSE.

Список параметров

on_off

Включает вывод отладочной информации если уставновлено в TRUE. Выключает вывод отладочной информации если уставновлено в FALSE.

Возвращаемые значения

Возвращает TRUE, если PHP был собран с опцией --enable-debug, иначе - FALSE.

Memcache Функции
Memcached
Memcache Функции


Memcached

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Время хранения объекта
  • Callbacks
    • Result callbacks
    • Read-through cache callbacks
  • Sessions support
  • Memcached — The Memcached class
    • Memcached::add — Add an item under a new key
    • Memcached::addByKey — Add an item under a new key on a specific server
    • Memcached::addServer — Add a server to the server pool
    • Memcached::addServers — Add multiple servers to the server pool
    • Memcached::append — Append data to an existing item
    • Memcached::appendByKey — Append data to an existing item on a specific server
    • Memcached::cas — Compare and swap an item
    • Memcached::casByKey — Compare and swap an item on a specific server
    • Memcached::__construct — Create a Memcached instance
    • Memcached::decrement — Decrement numeric item's value
    • Memcached::delete — Delete an item
    • Memcached::deleteByKey — Delete an item from a specific server
    • Memcached::fetch — Fetch the next result
    • Memcached::fetchAll — Fetch all the remaining results
    • Memcached::flush — Invalidate all items in the cache
    • Memcached::get — Retrieve an item
    • Memcached::getByKey — Retrieve an item from a specific server
    • Memcached::getDelayed — Request multiple items
    • Memcached::getDelayedByKey — Request multiple items from a specific server
    • Memcached::getMulti — Retrieve multiple items
    • Memcached::getMultiByKey — Retrieve multiple items from a specific server
    • Memcached::getOption — Retrieve a Memcached option value
    • Memcached::getResultCode — Return the result code of the last operation
    • Memcached::getResultMessage — Return the message describing the result of the last operation
    • Memcached::getServerByKey — Map a key to a server
    • Memcached::getServerList — Get the list of the servers in the pool
    • Memcached::getStats — Get server pool statistics
    • Memcached::getVersion — Get server pool version info
    • Memcached::increment — Increment numeric item's value
    • Memcached::prepend — Prepend data to an existing item
    • Memcached::prependByKey — Prepend data to an existing item on a specific server
    • Memcached::replace — Replace the item under an existing key
    • Memcached::replaceByKey — Replace the item under an existing key on a specific server
    • Memcached::set — Store an item
    • Memcached::setByKey — Store an item on a specific server
    • Memcached::setMulti — Store multiple items
    • Memcached::setMultiByKey — Store multiple items on a specific server
    • Memcached::setOption — Set a Memcached option
memcache_debug
Введение
Другие службы


Введение

» memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

This extension uses libmemcached library to provide API for communicating with memcached servers. It also provides a session handler (memcached).

Information about libmemcached can be found at » http://libmemcached.org/libMemcached.html.

Memcached
Установка и настройка
Memcached


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Memcached


Требования

Этот модуль требует наличие библиотеки » libmemcached.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/memcached.

Если libmemcached установлена в нестандартной директории, используйте опцию --with-libmemcached-dir=DIR , где DIR -- это директория, куда установлен libmemcached. Эта директория должна содержать файл include/libmemcached/memcached.h.

Библиотека Zlib необходима для поддержки сжатия. Для указания нестандартного расположения Zlib используйте ключ --with-zlib-dir=DIR , где DIR -- это директория установки Zlib.

Поддержка обработчика сессий включена по умолчанию. Для ее отключения используйте ключ --disable-memcached-session .

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Memcached::OPT_COMPRESSION

Enables or disables payload compression. When enabled, item values longer than a certain threshold (currently 100 bytes) will be compressed during storage and decompressed during retrieval transparently.

Type: boolean, default: TRUE.

Memcached::OPT_SERIALIZER

Specifies the serializer to use for serializing non-scalar values. The valid serializers are Memcached::SERIALIZER_PHP or Memcached::SERIALIZER_IGBINARY. The latter is supported only when memcached is configured with --enable-memcached-igbinary option and the igbinary extension is loaded.

Type: integer, default: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

The default PHP serializer.

Memcached::SERIALIZER_IGBINARY

The » igbinary serializer. Instead of textual representation it stores PHP data structures in a compact binary form, resulting in space and time gains.

Memcached::SERIALIZER_JSON

The JSON serializer. Requires PHP 5.2.10+.

Memcached::OPT_PREFIX_KEY

This can be used to create a "domain" for your item keys. The value specified here will be prefixed to each of the keys. It cannot be longer than 128 characters and will reduce the maximum available key size. The prefix is applied only to the item keys, not to the server keys.

Type: string, default: "".

Memcached::OPT_HASH

Specifies the hashing algorithm used for the item keys. The valid values are supplied via Memcached::HASH_* constants. Each hash algorithm has its advantages and its disadvantages. Go with the default if you don't know or don't care.

Type: integer, default: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

The default (Jenkins one-at-a-time) item key hashing algorithm.

Memcached::HASH_MD5

MD5 item key hashing algorithm.

Memcached::HASH_CRC

CRC item key hashing algorithm.

Memcached::HASH_FNV1_64

FNV1_64 item key hashing algorithm.

Memcached::HASH_FNV1A_64

FNV1_64A item key hashing algorithm.

Memcached::HASH_FNV1_32

FNV1_32 item key hashing algorithm.

Memcached::HASH_FNV1A_32

FNV1_32A item key hashing algorithm.

Memcached::HASH_HSIEH

Hsieh item key hashing algorithm.

Memcached::HASH_MURMUR

Murmur item key hashing algorithm.

Memcached::OPT_DISTRIBUTION

Specifies the method of distributing item keys to the servers. Currently supported methods are modulo and consistent hashing. Consistent hashing delivers better distribution and allows servers to be added to the cluster with minimal cache losses.

Type: integer, default: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Modulo-based key distribution algorithm.

Memcached::DISTRIBUTION_CONSISTENT

Consistent hashing key distribution algorithm (based on libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Enables or disables compatibility with libketama-like behavior. When enabled, the item key hashing algorithm is set to MD5 and distribution is set to be weighted consistent hashing distribution. This is useful because other libketama-based clients (Python, Ruby, etc.) with the same server configuration will be able to access the keys transparently.

Замечание:

It is highly recommended to enable this option if you want to use consistent hashing, and it may be enabled by default in future releases.

Type: boolean, default: FALSE.

Memcached::OPT_BUFFER_WRITES

Enables or disables buffered I/O. Enabling buffered I/O causes storage commands to "buffer" instead of being sent. Any action that retrieves data causes this buffer to be sent to the remote connection. Quitting the connection or closing down the connection will also cause the buffered data to be pushed to the remote connection.

Type: boolean, default: FALSE.

Memcached::OPT_BINARY_PROTOCOL

Enable the use of the binary protocol. Please note that you cannot toggle this option on an open connection.

Type: boolean, default: FALSE.

Memcached::OPT_NO_BLOCK

Enables or disables asynchronous I/O. This is the fastest transport available for storage functions.

Type: boolean, default: FALSE.

Memcached::OPT_TCP_NODELAY

Enables or disables the no-delay feature for connecting sockets (may be faster in some environments).

Type: boolean, default: FALSE.

Memcached::OPT_SOCKET_SEND_SIZE

The maximum socket send buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_SOCKET_RECV_SIZE

The maximum socket receive buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_CONNECT_TIMEOUT

In non-blocking mode this set the value of the timeout during socket connection, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_RETRY_TIMEOUT

The amount of time, in seconds, to wait until retrying a failed connection attempt.

Type: integer, default: 0.

Memcached::OPT_SEND_TIMEOUT

Socket sending timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the sending of data.

Type: integer, default: 0.

Memcached::OPT_RECV_TIMEOUT

Socket reading timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the reading of data.

Type: integer, default: 0.

Memcached::OPT_POLL_TIMEOUT

Timeout for connection polling, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_CACHE_LOOKUPS

Enables or disables caching of DNS lookups.

Type: boolean, default: FALSE.

Memcached::OPT_SERVER_FAILURE_LIMIT

Specifies the failure limit for server connection attempts. The server will be removed after this many continuous connection failures.

Type: integer, default: 0.

Memcached::HAVE_IGBINARY

Indicates whether igbinary serializer support is available.

Type: boolean.

Memcached::HAVE_JSON

Indicates whether JSON serializer support is available.

Type: boolean.

Memcached::GET_PRESERVE_ORDER

A flag for Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the keys are returned in the same order as they were requested in. Non-existing keys get a default value of NULL.

Memcached::RES_SUCCESS

The operation was successful.

Memcached::RES_FAILURE

The operation failed in some fashion.

Memcached::RES_HOST_LOOKUP_FAILURE

DNS lookup failed.

Memcached::RES_UNKNOWN_READ_FAILURE

Failed to read network data.

Memcached::RES_PROTOCOL_ERROR

Bad command in memcached protocol.

Memcached::RES_CLIENT_ERROR

Error on the client side.

Memcached::RES_SERVER_ERROR

Error on the server side.

Memcached::RES_WRITE_FAILURE

Failed to write network data.

Memcached::RES_DATA_EXISTS

Failed to do compare-and-swap: item you are trying to store has been modified since you last fetched it.

Memcached::RES_NOTSTORED

Item was not stored: but not because of an error. This normally means that either the condition for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.

Memcached::RES_NOTFOUND

Item with this key was not found (with "get" operation or "cas" operations).

Memcached::RES_PARTIAL_READ

Partial network data read error.

Memcached::RES_SOME_ERRORS

Some errors occurred during multi-get.

Memcached::RES_NO_SERVERS

Server list is empty.

Memcached::RES_END

End of result set.

Memcached::RES_ERRNO

System error.

Memcached::RES_BUFFERED

The operation was buffered.

Memcached::RES_TIMEOUT

The operation timed out.

Memcached::RES_BAD_KEY_PROVIDED

Bad key.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Failed to create network socket.

Memcached::RES_PAYLOAD_FAILURE

Payload failure: could not compress/decompress or serialize/unserialize the value.

Типы ресурсов
Время хранения объекта
Memcached


Время хранения объекта

Некоторые команды сохранения отправляют на сервер время хранения (применительно к объектам или операциям, запрошенным клиентом). Во всех этих случаях фактическое время должно быть отправлено либо в формате Unix (количество секунд с 1 января 1970 года, в виде целого числа), либо как количество секунд с момента отправки/получения команды. В последнем случае это число не должно превышать 60*60*24*30 (количество секунд в 30 днях); если указано большее время хранения, сервер расценивает его как время в формате Unix.

Если время хранения равно 0 (по умолчанию), объект никогда не будет признан устаревшим (но при этом может быть удален с сервера для высвобождения пространства под другие объекты).

Предопределенные константы
Callbacks
Memcached


Callbacks

Содержание

  • Result callbacks
  • Read-through cache callbacks
Время хранения объекта
Result callbacks
Memcached


Result callbacks

Result callbacks are invoked by Memcached::getDelayed() or Memcached::getDelayedBykey() methods for each item in the result set. The callback is passed the Memcached object and the array with the item information. The callback does not have to return anything.

Пример #1 Result callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
    var_dump($item);
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}
Callbacks
Read-through cache callbacks
Callbacks


Read-through cache callbacks

Read-through cache callbacks are invoked when an item cannot be retrieved from the server. The callback is passed the Memcached object, the requested key, and the by-reference value variable. The callback is responsible for setting the value and returning true or false. If the callback returns true, Memcached will store the populated value on the server and return it to the original calling function. Only Memcached::get() and Memcached::getByKey() support these callbacks, because the memcache protocol does not provide information on which keys were not found in the multi-key request.

Пример #1 Read-through callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
    $user_id = substr($key, 5);
    /* lookup profile info in the DB */
    /* ... */
    $value = $profile_info;
    return true;
}
?>
Result callbacks
Sessions support
Callbacks


Sessions support

Memcached provides a custom session handler that can be used to store user sessions in memcache. A completely separate memcached instance is used for that internally, so you can use a different server pool if necessary. The session keys are stored under the prefix memc.sess.key., so be aware of this if you use the same server pool for sessions and generic caching.

session.save_handler string

Set to memcached to enable sessions support.

session.save_path string

Defines a comma separated of hostname:port entries to use for session server pool, for example "sess1:11211, sess2:11211".

Read-through cache callbacks
Memcached
Memcached


The Memcached class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a connection to a set of memcached servers.

Обзор классов

Memcached {
__construct ([ string $persistent_id ] )
public bool add ( string $key , mixed $value [, int $expiration ] )
public bool addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool addServer ( string $host , int $port [, int $weight = 0 ] )
public bool addServers ( array $servers )
public bool append ( string $key , string $value )
public bool appendByKey ( string $server_key , string $key , string $value )
public bool cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )
public bool casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )
public int decrement ( string $key [, int $offset = 1 ] )
public bool delete ( string $key [, int $time = 0 ] )
public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )
public array fetch ( void )
public array fetchAll ( void )
public bool flush ([ int $delay = 0 ] )
public mixed get ( string $key [, callback $cache_cb [, float &$cas_token ]] )
public mixed getByKey ( string $server_key , string $key [, callback $cache_cb [, float &$cas_token ]] )
public bool getDelayed ( array $keys [, bool $with_cas [, callback $value_cb ]] )
public bool getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callback $value_cb ]] )
public mixed getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )
public array getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )
public mixed getOption ( int $option )
public int getResultCode ( void )
public string getResultMessage ( void )
public array getServerByKey ( string $server_key )
public array getServerList ( void )
public array getStats ( void )
public array getVersion ( void )
public int increment ( string $key [, int $offset = 1 ] )
public bool prepend ( string $key , string $value )
public bool prependByKey ( string $server_key , string $key , string $value )
public bool replace ( string $key , mixed $value [, int $expiration ] )
public bool replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool set ( string $key , mixed $value [, int $expiration ] )
public bool setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool setMulti ( array $items [, int $expiration ] )
public bool setMultiByKey ( string $server_key , array $items [, int $expiration ] )
public bool setOption ( int $option , mixed $value )
}

Содержание

  • Memcached::add — Add an item under a new key
  • Memcached::addByKey — Add an item under a new key on a specific server
  • Memcached::addServer — Add a server to the server pool
  • Memcached::addServers — Add multiple servers to the server pool
  • Memcached::append — Append data to an existing item
  • Memcached::appendByKey — Append data to an existing item on a specific server
  • Memcached::cas — Compare and swap an item
  • Memcached::casByKey — Compare and swap an item on a specific server
  • Memcached::__construct — Create a Memcached instance
  • Memcached::decrement — Decrement numeric item's value
  • Memcached::delete — Delete an item
  • Memcached::deleteByKey — Delete an item from a specific server
  • Memcached::fetch — Fetch the next result
  • Memcached::fetchAll — Fetch all the remaining results
  • Memcached::flush — Invalidate all items in the cache
  • Memcached::get — Retrieve an item
  • Memcached::getByKey — Retrieve an item from a specific server
  • Memcached::getDelayed — Request multiple items
  • Memcached::getDelayedByKey — Request multiple items from a specific server
  • Memcached::getMulti — Retrieve multiple items
  • Memcached::getMultiByKey — Retrieve multiple items from a specific server
  • Memcached::getOption — Retrieve a Memcached option value
  • Memcached::getResultCode — Return the result code of the last operation
  • Memcached::getResultMessage — Return the message describing the result of the last operation
  • Memcached::getServerByKey — Map a key to a server
  • Memcached::getServerList — Get the list of the servers in the pool
  • Memcached::getStats — Get server pool statistics
  • Memcached::getVersion — Get server pool version info
  • Memcached::increment — Increment numeric item's value
  • Memcached::prepend — Prepend data to an existing item
  • Memcached::prependByKey — Prepend data to an existing item on a specific server
  • Memcached::replace — Replace the item under an existing key
  • Memcached::replaceByKey — Replace the item under an existing key on a specific server
  • Memcached::set — Store an item
  • Memcached::setByKey — Store an item on a specific server
  • Memcached::setMulti — Store multiple items
  • Memcached::setMultiByKey — Store multiple items on a specific server
  • Memcached::setOption — Set a Memcached option
Sessions support
Memcached::add
Memcached


Add an item under a new key

Memcached
Memcached::addByKey
Memcached
PHP Manual

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Add an item under a new key

Описание

public bool Memcached::add ( string $key , mixed $value [, int $expiration ] )

Memcached::add() is similar to Memcached::set(), but the operation fails if the key already exists on the server.

Список параметров

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Смотрите также

  • Memcached::addByKey() - Add an item under a new key on a specific server
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key

Memcached
Memcached::addByKey
Memcached


Add an item under a new key on a specific server

Memcached::add
Memcached::addServer
Memcached
PHP Manual

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Add an item under a new key on a specific server

Описание

public bool Memcached::addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::addByKey() is functionally equivalent to Memcached::add(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Смотрите также

  • Memcached::add() - Add an item under a new key
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key

Memcached::add
Memcached::addServer
Memcached


Add a server to the server pool

Memcached::addByKey
Memcached::addServers
Memcached
PHP Manual

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Add a server to the server pool

Описание

public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )

Memcached::addServer() adds the specified server to the server pool. No connection is established to the server at this time, but if you are using consistent key distribution option (via Memcached::DISTRIBUTION_CONSISTENT or Memcached::OPT_LIBKETAMA_COMPATIBLE), some of the internal data structures will have to be updated. Thus, if you need to add multiple servers, it is better to use Memcached::addServers() as the update then happens only once.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Список параметров

host

The hostname of the memcache server. If the hostname is invalid, data-related operations will set Memcached::RES_HOST_LOOKUP_FAILURE result code.

port

The port on which memcache is running. Usually, this is 11211.

weight

The weight of the server relative to the total weight of all the servers in the pool. This controls the probability of the server being selected for operations. This is used only with consistent distribution option and usually corresponds to the amount of memory available to memcache on that server.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcached::addServer() example

<?php
$m = new Memcached();

/* Add 2 servers, so that the second one
   is twice as likely to be selected. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Смотрите также

  • Memcached::addServers() - Add multiple servers to the server pool

Memcached::addByKey
Memcached::addServers
Memcached


Add multiple servers to the server pool

Memcached::addServer
Memcached::append
Memcached
PHP Manual

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Add multiple servers to the server pool

Описание

public bool Memcached::addServers ( array $servers )

Memcached::addServers() adds servers to the server pool. Each entry in servers is supposed to be an array containing hostname, port, and, optionally, weight of the server. No connection is established to the servers at this time.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Список параметров

array

Array of the servers to add to the pool.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcached::addServers() example

<?php
$m = new Memcached();

$servers = array(
    array('mem1.domain.com', 11211, 33),
    array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Смотрите также

  • Memcached::addServer() - Add a server to the server pool

Memcached::addServer
Memcached::append
Memcached


Append data to an existing item

Memcached::addServers
Memcached::appendByKey
Memcached
PHP Manual

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Append data to an existing item

Описание

public bool Memcached::append ( string $key , string $value )

Memcached::append() appends the given value string to the value of an existing item. The reason that value is forced to be a string is that appending mixed types is not well-defined.

Замечание:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because appending compressed data to a value that is potentially already compressed is not possible.

Список параметров

key

Ключ, под которым сохраняется значение.

value

The string to append.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Примеры

Пример #1 Memcached::append() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

Результат выполнения данного примера:

string(6) "abcdef"

Смотрите также

  • Memcached::appendByKey() - Append data to an existing item on a specific server
  • Memcached::prepend() - Prepend data to an existing item

Memcached::addServers
Memcached::appendByKey
Memcached


Append data to an existing item on a specific server

Memcached::append
Memcached::cas
Memcached
PHP Manual

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Append data to an existing item on a specific server

Описание

public bool Memcached::appendByKey ( string $server_key , string $key , string $value )

Memcached::appendByKey() is functionally equivalent to Memcached::append(), except that the free-form server_key can be used to map the key to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

Ключ, под которым сохраняется значение.

value

The string to append.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Смотрите также

  • Memcached::append() - Append data to an existing item
  • Memcached::prepend() - Prepend data to an existing item

Memcached::append
Memcached::cas
Memcached


Compare and swap an item

Memcached::appendByKey
Memcached::casByKey
Memcached
PHP Manual

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Compare and swap an item

Описание

public bool Memcached::cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

Memcached::cas() performs a "check and set" operation, so that the item will be stored only if no other client has updated it since it was last fetched by this client. The check is done via the cas_token parameter which is a unique 64-bit value assigned to the existing item by memcache. See the documentation for Memcached::get*() methods for how to obtain this token. Note that the token is represented as a double due to the limitations of PHP's integer space.

Список параметров

cas_token

Unique value associated with the existing item. Generated by memcache.

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Примеры

Пример #1 Memcached::cas() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
    /* fetch IP list and its token */
    $ips = $m->get('ip_block', null, $cas);
    /* if list doesn't exist yet, create it and do
       an atomic add which will fail if someone else already added it */
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ips = array($_SERVER['REMOTE_ADDR']);
        $m->add('ip_block', $ips);
    /* otherwise, add IP to the list and store via compare-and-swap
       with the token, which will fail if someone else updated the list */
    } else {
        $ips[] = $_SERVER['REMOTE_ADDR'];
        $m->cas($cas, 'ip_block', $ips);
    }
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Смотрите также

  • Memcached::casByKey() - Compare and swap an item on a specific server

Memcached::appendByKey
Memcached::casByKey
Memcached


Compare and swap an item on a specific server

Memcached::cas
Memcached::__construct
Memcached
PHP Manual

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Compare and swap an item on a specific server

Описание

public bool Memcached::casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::casByKey() is functionally equivalent to Memcached::cas(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Список параметров

cas_token

Unique value associated with the existing item. Generated by memcache.

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Смотрите также

  • Memcached::cas() - Compare and swap an item

Memcached::cas
Memcached::__construct
Memcached


Create a Memcached instance

Memcached::casByKey
Memcached::decrement
Memcached
PHP Manual

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Create a Memcached instance

Описание

Memcached::__construct() ([ string $persistent_id ] )

Creates a Memcached instance representing the connection to the memcache servers.

Список параметров

persistent_id

By default the Memcached instances are destroyed at the end of the request. To create an instance that persists between requests, use persistent_id to specify a unique ID for the instance. All instances created with the same persistent_id will share the same connection.

Возвращаемые значения

A Memcached object.

Примеры

Пример #1 Creating a Memcached object

<?php
/* Create a regular instance */
$m = new Memcached();
echo get_class($m);

/* Create a persistent instance */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* now $m2 and $m3 share the same connection */
?>

Memcached::casByKey
Memcached::decrement
Memcached


Decrement numeric item's value

Memcached::__construct
Memcached::delete
Memcached
PHP Manual

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Decrement numeric item's value

Описание

public int Memcached::decrement ( string $key [, int $offset = 1 ] )

Memcached::decrement() decrements a numeric item's value by the specified offset. If the item's value is not numeric, it is treated as if the value were 0. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrement() will fail if the item does not exist.

Список параметров

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

Возвращаемые значения

Returns item's new value on success или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Примеры

Пример #1 Memcached::decrement() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$m->decrement('counter');
var_dump($m->get('counter'));

$m->decrement('counter', 10);
var_dump($m->get('counter'));
?>

Результат выполнения данного примера:

int(4)
int(0)

Смотрите также

  • Memcached::increment() - Increment numeric item's value

Memcached::__construct
Memcached::delete
Memcached


Delete an item

Memcached::decrement
Memcached::deleteByKey
Memcached
PHP Manual

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Delete an item

Описание

public bool Memcached::delete ( string $key [, int $time = 0 ] )

Memcached::delete() deletes the key from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for this key. For this amount of time, the item is put into a delete queue, which means that it won't possible to retrieve it by the get command, but add and replace command with this key will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with this key will succeed).

Список параметров

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Примеры

Пример #1 Memcached::delete() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Смотрите также

  • Memcached::deleteByKey() - Delete an item from a specific server

Memcached::decrement
Memcached::deleteByKey
Memcached


Delete an item from a specific server

Memcached::delete
Memcached::fetch
Memcached
PHP Manual

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Delete an item from a specific server

Описание

public bool Memcached::deleteByKey ( string $server_key , string $key [, int $time = 0 ] )

Memcached::deleteByKey() is functionally equivalent to Memcached::delete(), except that the free-form server_key can be used to map the key to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Смотрите также

  • Memcached::delete() - Delete an item

Memcached::delete
Memcached::fetch
Memcached


Fetch the next result

Memcached::deleteByKey
Memcached::fetchAll
Memcached
PHP Manual

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Fetch the next result

Описание

public array Memcached::fetch ( void )

Memcached::fetch() retrieves the next result from the last request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the next result or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_END if result set is exhausted.

Примеры

Пример #1 Memcached::fetch() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
    var_dump($result);
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["key"]=>
  string(3) "int"
  "value"]=>
  int(99)
  ["cas"]=>
  float(2363)
}
array(3) {
  ["key"]=>
  string(5) "array"
  ["value"]=>
  array(2) {
    [0]=>
    int(11)
    [1]=>
    int(12)
  }
  ["cas"]=>
  float(2365)
}

Смотрите также

  • Memcached::fetchAll() - Fetch all the remaining results
  • Memcached::getDelayed() - Request multiple items

Memcached::deleteByKey
Memcached::fetchAll
Memcached


Fetch all the remaining results

Memcached::fetch
Memcached::flush
Memcached
PHP Manual

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Fetch all the remaining results

Описание

public array Memcached::fetchAll ( void )

Memcached::fetchAll() retrieves all the remaining results from the last request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the results или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Смотрите также

  • Memcached::fetch() - Fetch the next result
  • Memcached::getDelayed() - Request multiple items

Memcached::fetch
Memcached::flush
Memcached


Invalidate all items in the cache

Memcached::fetchAll
Memcached::get
Memcached
PHP Manual

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalidate all items in the cache

Описание

public bool Memcached::flush ([ int $delay = 0 ] )

Memcached::flush() invalidates all existing cache items immediately (by default) or after the delay specified. After invalidation none of the items will be returned in response to a retrieval command (unless it's stored again under the same key after Memcached::flush() has invalidated the items). The flush does not actually free all the memory taken up by the existing items; that will happen gradually as new items are stored.

Список параметров

delay

Numer of seconds to wait before invalidating the items.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::flush() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* flush all items in 10 seconds */
$m->flush(10);
?>

Memcached::fetchAll
Memcached::get
Memcached


Retrieve an item

Memcached::flush
Memcached::getByKey
Memcached
PHP Manual

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Retrieve an item

Описание

public mixed Memcached::get ( string $key [, callback $cache_cb [, float &$cas_token ]] )

Memcached::get() returns the item that was previously stored under the key. If the item is found and cas_token variable is provided, it will contain the CAS token value for the item. See Memcached::cas() for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter.

Список параметров

key

The key of the item to retrieve.

cache_cb

Read-through caching callback or NULL.

cas_token

The variable to store the CAS token in.

Возвращаемые значения

Returns the value stored in the cache or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Примеры

Пример #1 Memcached::get() example #1

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

Результат выполнения данного примера:

int(100)

Пример #2 Memcached::get() example #2

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ip = array();
        $m->set('ip_block', $ip);
    } else {
        /* log error */
        /* ...       */
    }
}
?>

Смотрите также

  • Memcached::getByKey() - Retrieve an item from a specific server
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items

Memcached::flush
Memcached::getByKey
Memcached


Retrieve an item from a specific server

Memcached::get
Memcached::getDelayed
Memcached
PHP Manual

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Retrieve an item from a specific server

Описание

public mixed Memcached::getByKey ( string $server_key , string $key [, callback $cache_cb [, float &$cas_token ]] )

Memcached::getByKey() is functionally equivalent to Memcached::get(), except that the free-form server_key can be used to map the key to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

The key of the item to fetch.

cache_cb

Read-through caching callback or NULL

cas_token

The variable to store the CAS token in.

Возвращаемые значения

Returns the value stored in the cache or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Смотрите также

  • Memcached::get() - Retrieve an item
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items

Memcached::get
Memcached::getDelayed
Memcached


Request multiple items

Memcached::getByKey
Memcached::getDelayedByKey
Memcached
PHP Manual

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Request multiple items

Описание

public bool Memcached::getDelayed ( array $keys [, bool $with_cas [, callback $value_cb ]] )

Memcached::getDelayed() issues a request to memcache for multiple items the keys of which are specified in the keys array. The method does not wait for response and returns right away. When you are ready to collect the items, call either Memcached::fetch() or Memcached::fetchAll(). If with_cas is true, the CAS token values will also be requested.

Instead of fetching the results explicitly, you can specify a result callback via value_cb parameter.

Список параметров

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or NULL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Смотрите также

  • Memcached::getDelayedByKey() - Request multiple items from a specific server
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results

Memcached::getByKey
Memcached::getDelayedByKey
Memcached


Request multiple items from a specific server

Memcached::getDelayed
Memcached::getMulti
Memcached
PHP Manual

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Request multiple items from a specific server

Описание

public bool Memcached::getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callback $value_cb ]] )

Memcached::getDelayedByKey() is functionally equivalent to Memcached::getDelayed(), except that the free-form server_key can be used to map the keys to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or NULL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Смотрите также

  • Memcached::getDelayed() - Request multiple items
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results

Memcached::getDelayed
Memcached::getMulti
Memcached


Retrieve multiple items

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached
PHP Manual

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Retrieve multiple items

Описание

public mixed Memcached::getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )

Memcached::getMulti() is similar to Memcached::get(), but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array. If cas_tokens variable is provided, it is filled with the CAS token values for the found items.

Замечание:

Unlike Memcached::get() it is not possible to specify a read-through cache callback for Memcached::getMulti(), because the memcache protocol does not provide information on which keys were not found in the multi-key request.

The flags parameter can be used to specify additional options for Memcached::getMulti(). Currently, the only available option is Memcached::GET_PRESERVE_ORDER that ensures that the keys are returned in the same order as they were requested in.

Список параметров

keys

Array of keys to retrieve.

cas_tokens

The variable to store the CAS tokens for the found items.

flags

The flags for the get operation.

Возвращаемые значения

Returns the array of found items или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::getMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Пример #2 Memcached::GET_PRESERVE_ORDER example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Смотрите также

  • Memcached::getMultiByKey() - Retrieve multiple items from a specific server
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached


Retrieve multiple items from a specific server

Memcached::getMulti
Memcached::getOption
Memcached
PHP Manual

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Retrieve multiple items from a specific server

Описание

public array Memcached::getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )

Memcached::getMultiByKey() is functionally equivalent to Memcached::getMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

keys

Array of keys to retrieve.

cas_tokens

The variable to store the CAS tokens for the found items.

flags

The flags for the get operation.

Возвращаемые значения

Returns the array of found items или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Смотрите также

  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items

Memcached::getMulti
Memcached::getOption
Memcached


Retrieve a Memcached option value

Memcached::getMultiByKey
Memcached::getResultCode
Memcached
PHP Manual

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Retrieve a Memcached option value

Описание

public mixed Memcached::getOption ( int $option )

This method returns the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

Список параметров

option

One of the Memcached::OPT_* constants.

Возвращаемые значения

Returns the value of the requested option, or FALSE on error.

Примеры

Пример #1 Retrieving Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
int(1000)

Смотрите также

  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants

Memcached::getMultiByKey
Memcached::getResultCode
Memcached


Return the result code of the last operation

Memcached::getOption
Memcached::getResultMessage
Memcached
PHP Manual

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Return the result code of the last operation

Описание

public int Memcached::getResultCode ( void )

Memcached::getResultCode() returns one of the Memcached::RES_* constants that is the result of the last executed Memcached method.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Result code of the last Memcached operation.

Примеры

Пример #1 Memcached::getResultCode() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
    /* ... */
}
?>

Memcached::getOption
Memcached::getResultMessage
Memcached


Return the message describing the result of the last operation

Memcached::getResultCode
Memcached::getServerByKey
Memcached
PHP Manual

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Return the message describing the result of the last operation

Описание

public string Memcached::getResultMessage ( void )

Memcached::getResultMessage() returns a string that describes the result code of the last executed Memcached method.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Message describing the result of the last Memcached operation.

Примеры

Пример #1 Memcached::getResultMessage() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // first time should succeed
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

Результат выполнения данного примера:

NOT STORED

Memcached::getResultCode
Memcached::getServerByKey
Memcached


Map a key to a server

Memcached::getResultMessage
Memcached::getServerList
Memcached
PHP Manual

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Map a key to a server

Описание

public array Memcached::getServerByKey ( string $server_key )

Memcached::getServerByKey() returns the server that would be selected by a particular server_key in all the Memcached::*ByKey() operations.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::getServerByKey() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 40),
    array('mem2.domain.com', 11211, 40),
    array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}

Memcached::getResultMessage
Memcached::getServerList
Memcached


Get the list of the servers in the pool

Memcached::getServerByKey
Memcached::getStats
Memcached
PHP Manual

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Get the list of the servers in the pool

Описание

public array Memcached::getServerList ( void )

Memcached::getServerList() returns the list of all servers that are in its server pool.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The list of all servers in the server pool.

Примеры

Пример #1 Memcached::getServerList() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 20),
    array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}

Memcached::getServerByKey
Memcached::getStats
Memcached


Get server pool statistics

Memcached::getServerList
Memcached::getVersion
Memcached
PHP Manual

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Get server pool statistics

Описание

public array Memcached::getStats ( void )

Memcached::getStats() returns an array containing the state of all available memcache servers. See » memcache protocol specification for details on these statistics.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array of server statistics, one entry per server.

Примеры

Пример #1 Memcached::getStats() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)

Memcached::getServerList
Memcached::getVersion
Memcached


Get server pool version info

Memcached::getStats
Memcached::increment
Memcached
PHP Manual

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Get server pool version info

Описание

public array Memcached::getVersion ( void )

Memcached::getVersion() returns an array containing the version info for all available memcache servers.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array of server versions, one entry per server.

Примеры

Пример #1 Memcached::getVersion() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [localhost:11211] => 1.2.6
)

Memcached::getStats
Memcached::increment
Memcached


Increment numeric item's value

Memcached::getVersion
Memcached::prepend
Memcached
PHP Manual

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Increment numeric item's value

Описание

public int Memcached::increment ( string $key [, int $offset = 1 ] )

Memcached::increment() increments a numeric item's value by the specified offset. If the item's value is not numeric, it is treated as if the value were 0. Memcached::increment() will fail if the item does not exist.

Список параметров

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

Возвращаемые значения

Returns new item's value on success или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Примеры

Пример #1 Memcached::increment() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$m->increment('counter', 10);
var_dump($m->get('counter'));

$m->set('key', 'abc');
$m->increment('counter');
?>

Результат выполнения данного примера:

int(11)
string(1) "1"

Смотрите также

  • Memcached::decrement() - Decrement numeric item's value

Memcached::getVersion
Memcached::prepend
Memcached


Prepend data to an existing item

Memcached::increment
Memcached::prependByKey
Memcached
PHP Manual

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Prepend data to an existing item

Описание

public bool Memcached::prepend ( string $key , string $value )

Memcached::prepend() prepends the given value string to the value of an existing item. The reason that value is forced to be a string is that prepending mixed types is not well-defined.

Замечание:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because prepending compressed data to a value that is potentially already compressed is not possible.

Список параметров

key

The key of the item to prepend the data to.

value

The string to prepend.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Примеры

Пример #1 Memcached::prepend() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

Результат выполнения данного примера:

string(6) "defabc"

Смотрите также

  • Memcached::prependByKey() - Prepend data to an existing item on a specific server
  • Memcached::append() - Append data to an existing item

Memcached::increment
Memcached::prependByKey
Memcached


Prepend data to an existing item on a specific server

Memcached::prepend
Memcached::replace
Memcached
PHP Manual

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Prepend data to an existing item on a specific server

Описание

public bool Memcached::prependByKey ( string $server_key , string $key , string $value )

Memcached::prependByKey() is functionally equivalent to Memcached::prepend(), except that the free-form server_key can be used to map the key to a specific server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

The key of the item to prepend the data to.

value

The string to prepend.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Смотрите также

  • Memcached::prepend() - Prepend data to an existing item
  • Memcached::append() - Append data to an existing item

Memcached::prepend
Memcached::replace
Memcached


Replace the item under an existing key

Memcached::prependByKey
Memcached::replaceByKey
Memcached
PHP Manual

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Replace the item under an existing key

Описание

public bool Memcached::replace ( string $key , mixed $value [, int $expiration ] )

Memcached::replace() is similar to Memcached::set(), but the operation fails if the key does not exist on the server.

Список параметров

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Смотрите также

  • Memcached::replaceByKey() - Replace the item under an existing key on a specific server
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key

Memcached::prependByKey
Memcached::replaceByKey
Memcached


Replace the item under an existing key on a specific server

Memcached::replace
Memcached::set
Memcached
PHP Manual

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Replace the item under an existing key on a specific server

Описание

public bool Memcached::replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::replaceByKey() is functionally equivalent to Memcached::replace(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Смотрите также

  • Memcached::replace() - Replace the item under an existing key
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key

Memcached::replace
Memcached::set
Memcached


Store an item

Memcached::replaceByKey
Memcached::setByKey
Memcached
PHP Manual

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Store an item

Описание

public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )

Memcached::set() stores the value on a memcache server under the specified key. The expiration parameter can be used to control when the value is considered expired.

The value can be any valid PHP type except for resources, because those cannot be represented in a serialized form. If the Memcached::OPT_COMPRESSION option is turned on, the serialized value will also be compressed before storage.

Список параметров

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::set() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdclass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

Результатом выполнения данного примера будет что-то подобное:

int(99)
string(15) "a simple string"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Смотрите также

  • Memcached::setByKey() - Store an item on a specific server
  • Memcached::add() - Add an item under a new key
  • Memcached::replace() - Replace the item under an existing key

Memcached::replaceByKey
Memcached::setByKey
Memcached


Store an item on a specific server

Memcached::set
Memcached::setMulti
Memcached
PHP Manual

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Store an item on a specific server

Описание

public bool Memcached::setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::setByKey() is functionally equivalent to Memcached::set(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

key

Ключ, под которым сохраняется значение.

value

Сохраняемое значение.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::setByKey() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* keep IP blocks on a certain server */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Смотрите также

  • Memcached::set() - Store an item

Memcached::set
Memcached::setMulti
Memcached


Store multiple items

Memcached::setByKey
Memcached::setMultiByKey
Memcached
PHP Manual

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Store multiple items

Описание

public bool Memcached::setMulti ( array $items [, int $expiration ] )

Memcached::setMulti() is similar to Memcached::set(), but instead of a single key/value item, it works on multiple items specified in items. The expiration time applies to all the items at once.

Список параметров

items

Сохраняемый массив пар ключей/значений.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Примеры

Пример #1 Memcached::setMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Смотрите также

  • Memcached::setMultiByKey() - Store multiple items on a specific server
  • Memcached::set() - Store an item

Memcached::setByKey
Memcached::setMultiByKey
Memcached


Store multiple items on a specific server

Memcached::setMulti
Memcached::setOption
Memcached
PHP Manual

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Store multiple items on a specific server

Описание

public bool Memcached::setMultiByKey ( string $server_key , array $items [, int $expiration ] )

Memcached::setMultiByKey() is functionally equivalent to Memcached::setMulti(), except that the free-form server_key can be used to map the keys from items to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Список параметров

server_key

Ключ, идентифицирующий сервер, на котором хранится значение.

items

Сохраняемый массив пар ключей/значений.

expiration

Срок годности, по умолчанию равно 0. Для более подробной информации смотрите Сроки годности.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Используйте при необходимости Memcached::getResultCode().

Смотрите также

  • Memcached::setMulti() - Store multiple items
  • Memcached::set() - Store an item

Memcached::setMulti
Memcached::setOption
Memcached


Set a Memcached option

Memcached::setMultiByKey
mqseries
Memcached
PHP Manual

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Set a Memcached option

Описание

public bool Memcached::setOption ( int $option , mixed $value )

This method sets the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

The options listed below require values specified via constants.

  • Memcached::OPT_HASH requires Memcached::HASH_* values.

  • Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting a Memcached option

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

Результат выполнения данного примера:

bool(true)
Prefix key is now: widgets

Смотрите также

  • Memcached::getOption() - Retrieve a Memcached option value

Memcached::setMultiByKey
mqseries
Memcached


mqseries

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • mqseries Функции
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
Memcached::setOption
Введение
Другие службы


Введение

This extension aims to provide an interface for communicating with IBMs WebSphere MQ series Queue managers.

The interface mimics the C-API client interface of WebSphere MQ Series as close as possible. Using the same naming conventions and possibilities of the C-API. In order to understand the workings of this extension some level of understanding the C-API is required.

For MQ-options, MQ-structures, MQ-results etc. please read the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference.

mqseries
Установка и настройка
mqseries


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
mqseries


Требования

A working IBM WebSphere MQ installation. If building the extension the SDK for IBM WebSphere MQ is also required.

Замечание: Be aware that when running against a IBM WebSphere MQ Client installation some methods are not available. This is not a problem of the extension but just the way the WebSphere MQ Client Interface works.

Installation requirements on non windows platforms

Build the extension and put it in the PHP extension directory.

Installation requirements on Windows

No additional requirements.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mqseries.

Замечание: The official name of this extension is mqseries.

There are two ways to connect to a queue manager. These depend on the way the extension is compiled and linked.

  • First one and also the default one is using the mqic libraries. Compiling and linking the extension against these IBM WebSphere MQSeries libraries allows the extension to connect to the Queue manager using the client interface. Remote connections are possible this way.

  • The other way is to compile and link against the mqm libraries. Using these libraries it is possible to make use of the transaction management of a queue manager.

Currently selecting the libraries to use is done by changing the config.m4 file.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

There are no extra configuration parameters.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines a connection and object_handle resources.

The mqseries_conn() and mqseries_connx() define the connectionn handles.

The mqseries_open() defines the object handle.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

For each WebSphere MQ Constant there is a mqseries counterpart.

For definitions and usage see the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference red books.

The name of the mqseries counterpart is made by appending the WebSphere MQ constant with MQSERIES_, for example the CompletionCode constants are:

mqseries constants
PHP Constant | MQ Constant
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN

Типы ресурсов
mqseries Функции
mqseries


mqseries Функции

Содержание

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
Предопределенные константы
mqseries_back
mqseries


MQSeries MQBACK

mqseries Функции
mqseries_begin
mqseries Функции
PHP Manual

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Описание

void mqseries_back ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_back() (MQBACK) call indicates to the queue manager that all the message gets and puts that have occurred since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a unit of work are reinstated on the queue.

Using mqseries_back() only works in conjunction with mqseries_begin() and only function when connecting directly to a Queueu manager. Not via the mqclient interface.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_back() example

<?php
    mqseries_back($conn, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Примечания

Замечание:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN

mqseries Функции
mqseries_begin
mqseries Функции


MQseries MQBEGIN

mqseries_back
mqseries_close
mqseries Функции
PHP Manual

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Описание

void mqseries_begin ( resource $hconn , array $beginOptions , resource &$compCode , resource &$reason )

The mqseries_begin() (MQBEGIN) call begins a unit of work that is coordinated by the queue manager, and that may involve external resource managers.

Using mqseries_begin() starts the unit of work. Either mqseries_back() or mqseries_cmit() ends the unit of work.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_begin() example

<?php
    $mqbo = array();
    mqseries_begin( $conn,
                    $mqbo,
                    $comp_code,
                    $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        /* reason code 2121 is a warning for more information see MQSeries reference manual.*/
        if ($reason !== 2121) {
            printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        }
    }
?>

Примечания

Замечание:

mqseries_begin() will not function when using MQSeries Client to connect to a Queueu Manager.

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT

mqseries_back
mqseries_close
mqseries Функции


MQSeries MQCLOSE

mqseries_begin
mqseries_cmit
mqseries Функции
PHP Manual

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Описание

void mqseries_close ( resource $hconn , resource $hobj , int $options , resource &$compCode , resource &$reason )

The mqseries_close() (MQCLOSE) call relinquishes access to an object, and is the inverse of the mqseries_open() (MQOPEN) call.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

options

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_close() example

<?php
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Смотрите также

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_begin
mqseries_cmit
mqseries Функции


MQSeries MQCMIT

mqseries_close
mqseries_conn
mqseries Функции
PHP Manual

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Описание

void mqseries_cmit ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_cmit() (MQCMIT) call indicates to the queue manager that the application has reached a syncpoint, and that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_cmit() example

<?php
    mqseries_cmit($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Примечания

Замечание:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Смотрите также

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_close
mqseries_conn
mqseries Функции


MQSeries MQCONN

mqseries_cmit
mqseries_connx
mqseries Функции
PHP Manual

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Описание

void mqseries_conn ( string $qManagerName , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_conn() (MQCONN) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent message queuing calls.

Список параметров

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_conn() example

<?php
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Смотрите также

  • mqseries_disc() - MQSeries MQDISC

mqseries_cmit
mqseries_connx
mqseries Функции


MQSeries MQCONNX

mqseries_conn
mqseries_disc
mqseries Функции
PHP Manual

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Описание

void mqseries_connx ( string $qManagerName , array &$connOptions , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_connx() (MQCONNX) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent MQ calls.

Список параметров

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

connOps

Options that control the action of function

See also the MQCNO structure.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_connx() example

<?php
    $mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
        'ConnectionName' => 'localhost',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

    mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Смотрите также

  • mqseries_disc() - MQSeries MQDISC

mqseries_conn
mqseries_disc
mqseries Функции


MQSeries MQDISC

mqseries_connx
mqseries_get
mqseries Функции
PHP Manual

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Описание

void mqseries_disc ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_disc() (MQDISC) call breaks the connection between the queue manager and the application program, and is the inverse of the mqseries_conn() (MQCONN) or mqseries_connx() (MQCONNX) call.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_disc() example

<?php
    mqseries_disc($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_connx
mqseries_get
mqseries Функции


MQSeries MQGET

mqseries_disc
mqseries_inq
mqseries Функции
PHP Manual

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Описание

void mqseries_get ( resource $hConn , resource $hObj , array &$md , array &$gmo , int &$bufferLength , string &$msg , int &$data_length , resource &$compCode , resource &$reason )

The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

gmo

Get message options (MQGMO).

bufferLength

Expected length of the result buffer

msg

Buffer holding the message that was retrieved from the object.

data_length

Actual buffer length

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_get() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
    $mdg = array();
// setup get message options
    $gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queueu
    mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
    }

 // open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

?>

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT

mqseries_disc
mqseries_inq
mqseries Функции


MQSeries MQINQ

mqseries_get
mqseries_open
mqseries Функции
PHP Manual

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Описание

void mqseries_inq ( resource $hconn , resource $hobj , int $selectorCount , array $selectors , int $intAttrCount , resource &$intAttr , int $charAttrLength , resource &$charAttr , resource &$compCode , resource &$reason )

The mqseries_inq() (MQINQ) call returns an array of integers and a set of character strings containing the attributes of an object.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrLength

Count of integer attributes.

intAttr

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttr

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_inq() example

<?php
    $int_attr = array();
    $char_attr = "";

    mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    } else {
        echo "INQ QManager name result ".$char_attr."<br>\n";
    }
?>

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN

mqseries_get
mqseries_open
mqseries Функции


MQSeries MQOPEN

mqseries_inq
mqseries_put1
mqseries Функции
PHP Manual

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Описание

void mqseries_open ( resource $hconn , array &$objDesc , int $option , resource &$hobj , resource &$compCode , resource &$reason )

The mqseries_open() (MQOPEN) call establishes access to an object.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

options

Options that control the action of the function.

hObj

Object handle.

This handle represents the object to be used.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_open() example

<?php
    $mqods = array('ObjectName' => 'TESTQ');
    mqseries_open(
                $conn,
                $mqods,
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Смотрите также

  • mqseries_close() - MQSeries MQCLOSE

mqseries_inq
mqseries_put1
mqseries Функции


MQSeries MQPUT1

mqseries_open
mqseries_put
mqseries Функции
PHP Manual

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Описание

void mqseries_put1 ( resource $hconn , resource &$objDesc , resource &$msgDesc , resource &$pmo , string $buffer , resource &$compCode , resource &$reason )

The mqseries_put1() (MQPUT1) call puts one message on a queue. The queue need not be open.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

This is a structure which identifies the queue to which the message is added.

msgDesc

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_open
mqseries_put
mqseries Функции


MQSeries MQPUT

mqseries_put1
mqseries_set
mqseries Функции
PHP Manual

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Описание

void mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason )

The mqseries_put() (MQPUT) call puts a message on a queue or distribution list. The queue or distribution list must already be open.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

message

The actual message to put onto the queue.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 mqseries_put() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
    $md = array(
                'Version' => MQSERIES_MQMD_VERSION_1,
                'Expiry' => MQSERIES_MQEI_UNLIMITED,
                'Report' => MQSERIES_MQRO_NONE,
                'MsgType' => MQSERIES_MQMT_DATAGRAM,
                'Format' => MQSERIES_MQFMT_STRING,
                'Priority' => 1,
                'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
    $pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
    mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Смотрите также

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_put1
mqseries_set
mqseries Функции


MQSeries MQSET

mqseries_put
mqseries_strerror
mqseries Функции
PHP Manual

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Описание

void mqseries_set ( resource $hconn , resource $hobj , int $selectorcount , array $selectors , int $intattrcount , array $intattrs , int $charattrlength , array $charattrs , resource &$compCode , resource &$reason )

The mqseries_set() (MQSET) call is used to change the attributes of an object represented by a handle. The object must be a queue.

Список параметров

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • mqseries_inq() - MQSeries MQINQ

mqseries_put
mqseries_strerror
mqseries Функции


Returns the error message corresponding to a result code (MQRC).

mqseries_set
Network
mqseries Функции
PHP Manual

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Returns the error message corresponding to a result code (MQRC).

Описание

string mqseries_strerror ( int $reason )

mqseries_strerror() returns the message that correspond to the reason result code.

Список параметров

reason

Reason code qualifying the compCode.

Возвращаемые значения

string representation of the reason code message.

Примеры

Пример #1 mqseries_strerror() example

<?php
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Результат выполнения данного примера:

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.

mqseries_set
Network
mqseries Функции


Network

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Network Функции
    • checkdnsrr — Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу
    • closelog — Close connection to system logger
    • define_syslog_variables — Initializes all syslog related variables
    • dns_check_record — Псевдоним checkdnsrr
    • dns_get_mx — Псевдоним getmxrr
    • dns_get_record — Fetch DNS Resource Records associated with a hostname
    • fsockopen — Open Internet or Unix domain socket connection
    • gethostbyaddr — Получает доменное имя узла, соответствующее переданному IP-адресу
    • gethostbyname — Получает адрес IPv4, соответствующий переданному имени узла интернета
    • gethostbynamel — Возвращает список адресов IPv4, соответствующих переданному доменному имени узла
    • gethostname — Gets the host name
    • getmxrr — Получает запись MX, соответствующую переданному доменному имени узла
    • getprotobyname — Get protocol number associated with protocol name
    • getprotobynumber — Get protocol name associated with protocol number
    • getservbyname — Get port number associated with an Internet service and protocol
    • getservbyport — Get Internet service which corresponds to port and protocol
    • header_register_callback — Call a header function
    • header_remove — Remove previously set headers
    • header — Send a raw HTTP header
    • headers_list — Returns a list of response headers sent (or ready to send)
    • headers_sent — Checks if or where headers have been sent
    • http_response_code — Get or Set the HTTP response code
    • inet_ntop — Converts a packed internet address to a human readable representation
    • inet_pton — Converts a human readable IP address to its packed in_addr representation
    • ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
    • long2ip — Converts an (IPv4) Internet network address into a string in Internet standard dotted format
    • openlog — Open connection to system logger
    • pfsockopen — Open persistent Internet or Unix domain socket connection
    • setcookie — Send a cookie
    • setrawcookie — Send a cookie without urlencoding the cookie value
    • socket_get_status — Псевдоним stream_get_meta_data
    • socket_set_blocking — Псевдоним stream_set_blocking
    • socket_set_timeout — Псевдоним stream_set_timeout
    • syslog — Generate a system log message
mqseries_strerror
Введение
Другие службы


Введение

Предоставляет различные функции для работы с сетью.

Network
Установка и настройка
Network


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Network


Требования

Functions checkdnsrr(), getmxrr() and dns_get_record() requires Bind on Linux.

Установка и настройка
Установка
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Network Configuration Options
Name | Default | Changeable | Changelog
define_syslog_variables | "0" | PHP_INI_ALL | Deprecated in PHP 5.3.0. Removed in PHP 5.4.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

define_syslog_variables boolean

Whether or not to define the various syslog variables (e.g. $LOG_PID, $LOG_CRON, etc.). Turning it off is a good idea performance-wise. At runtime, you can define these variables by calling define_syslog_variables().

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines a file pointer resource returned by fsockopen() and pfsockopen().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы всегда доступны как часть ядра PHP.

openlog() Options
Constant | Description
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_NOWAIT |
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message
openlog() Facilities
Constant | Description
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem
syslog() Priorities (in descending order)
Constant | Description
LOG_EMERG | system is unusable
LOG_ALERT | action must be taken immediately
LOG_CRIT | critical conditions
LOG_ERR | error conditions
LOG_WARNING | warning conditions
LOG_NOTICE | normal, but significant, condition
LOG_INFO | informational message
LOG_DEBUG | debug-level message
dns_get_record() Options
Constant | Description
DNS_A | IPv4 Address Resource
DNS_MX | Mail Exchanger Resource
DNS_CNAME | Alias (Canonical Name) Resource
DNS_NS | Authoritative Name Server Resource
DNS_PTR | Pointer Resource
DNS_HINFO | Host Info Resource (See IANA's » Operating System Names for the meaning of these values)
DNS_SOA | Start of Authority Resource
DNS_TXT | Text Resource
DNS_ANY | Any Resource Record. On most systems this returns all resource records, however it should not be counted upon for critical uses. Try DNS_ALL instead.
DNS_AAAA | IPv6 Address Resource
DNS_ALL | Iteratively query the name server for each available record type.
Типы ресурсов
Network Функции
Network


Network Функции

Содержание

  • checkdnsrr — Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу
  • closelog — Close connection to system logger
  • define_syslog_variables — Initializes all syslog related variables
  • dns_check_record — Псевдоним checkdnsrr
  • dns_get_mx — Псевдоним getmxrr
  • dns_get_record — Fetch DNS Resource Records associated with a hostname
  • fsockopen — Open Internet or Unix domain socket connection
  • gethostbyaddr — Получает доменное имя узла, соответствующее переданному IP-адресу
  • gethostbyname — Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbynamel — Возвращает список адресов IPv4, соответствующих переданному доменному имени узла
  • gethostname — Gets the host name
  • getmxrr — Получает запись MX, соответствующую переданному доменному имени узла
  • getprotobyname — Get protocol number associated with protocol name
  • getprotobynumber — Get protocol name associated with protocol number
  • getservbyname — Get port number associated with an Internet service and protocol
  • getservbyport — Get Internet service which corresponds to port and protocol
  • header_register_callback — Call a header function
  • header_remove — Remove previously set headers
  • header — Send a raw HTTP header
  • headers_list — Returns a list of response headers sent (or ready to send)
  • headers_sent — Checks if or where headers have been sent
  • http_response_code — Get or Set the HTTP response code
  • inet_ntop — Converts a packed internet address to a human readable representation
  • inet_pton — Converts a human readable IP address to its packed in_addr representation
  • ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
  • long2ip — Converts an (IPv4) Internet network address into a string in Internet standard dotted format
  • openlog — Open connection to system logger
  • pfsockopen — Open persistent Internet or Unix domain socket connection
  • setcookie — Send a cookie
  • setrawcookie — Send a cookie without urlencoding the cookie value
  • socket_get_status — Псевдоним stream_get_meta_data
  • socket_set_blocking — Псевдоним stream_set_blocking
  • socket_set_timeout — Псевдоним stream_set_timeout
  • syslog — Generate a system log message
Предопределенные константы
checkdnsrr
Network


Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу

Network Функции
closelog
Network Функции
PHP Manual

checkdnsrr

(PHP 4, PHP 5)

checkdnsrr — Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу

Описание

bool checkdnsrr ( string $host [, string $type = "MX" ] )

Ищет записи DNS типа type, соответствующие host.

Список параметров

host

Параметр host может быть IP-адресом в виде четырех десятичных чисел, разделенных точками, или именем узла.

type

Параметр type может быть одним из: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY.

Возвращаемые значения

Возвращает TRUE, если были найдены записи; возвращает FALSE, если записей не было найдено или произошла ошибка.

Список изменений

Версия | Описание
5.3.0 | Функция стала доступна на платформе Windows.
5.2.4 | Добавлено значение TXT параметра type.
5.0.0 | Добавлено значение AAAA параметра type.

Примечания

Замечание:

Для совместимости с более ранними версиями PHP под Windows, где не было реализации этой функции, используйте класс » PEAR » Net_DNS.

Смотрите также

  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • getmxrr() - Получает запись MX, соответствующую переданному доменному имени узла
  • gethostbyaddr() - Получает доменное имя узла, соответствующее переданному IP-адресу
  • gethostbyname() - Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbynamel() - Возвращает список адресов IPv4, соответствующих переданному доменному имени узла
  • страница руководства named(8)

Network Функции
closelog
Network Функции


Close connection to system logger

checkdnsrr
define_syslog_variables
Network Функции
PHP Manual

closelog

(PHP 4, PHP 5)

closelog — Close connection to system logger

Описание

bool closelog ( void )

closelog() closes the descriptor being used to write to the system logger. The use of closelog() is optional.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • syslog() - Generate a system log message
  • openlog() - Open connection to system logger

checkdnsrr
define_syslog_variables
Network Функции


Initializes all syslog related variables

closelog
dns_check_record
Network Функции
PHP Manual

define_syslog_variables

(PHP 4, PHP 5)

define_syslog_variables — Initializes all syslog related variables

Описание

void define_syslog_variables ( void )

Initializes all variables used in the syslog functions.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Syslog variables
Variable | Constant equal | Meaning | Notes
$LOG_EMERG | LOG_EMERG | System is unusable |
$LOG_ALERT | LOG_ALERT | Immediate action required |
$LOG_CRIT | LOG_CRIT | Critical conditions |
$LOG_ERR | LOG_ERR |  |
$LOG_WARNING | LOG_WARNING |  |
$LOG_NOTICE | LOG_NOTICE |  |
$LOG_INFO | LOG_INFO |  |
$LOG_DEBUG | LOG_DEBUG |  |
$LOG_KERN | LOG_KERN |  |
$LOG_USER | LOG_USER | Genetic user level |
$LOG_MAIL | LOG_MAIL | Log to email |
$LOG_DAEMON | LOG_DAEMON | Other system daemons |
$LOG_AUTH | LOG_AUTH |  |
$LOG_SYSLOG | LOG_SYSLOG |  | Not available on Netware
$LOG_LPR | LOG_LPR |  |
$LOG_NEWS | LOG_NEWS | Usenet new | Not available on HP-UX
$LOG_CRON | LOG_CRON |  | Not available on all platforms
$LOG_AUTHPRIV | LOG_AUTHPRIV |  | Not available on AIX
$LOG_LOCAL0 | LOG_LOCAL0 |  | Not available on Windows and Netware
$LOG_LOCAL1 | LOG_LOCAL1 |  | Not available on Windows and Netware
$LOG_LOCAL2 | LOG_LOCAL2 |  | Not available on Windows and Netware
$LOG_LOCAL3 | LOG_LOCAL3 |  | Not available on Windows and Netware
$LOG_LOCAL4 | LOG_LOCAL4 |  | Not available on Windows and Netware
$LOG_LOCAL5 | LOG_LOCAL5 |  | Not available on Windows and Netware
$LOG_LOCAL6 | LOG_LOCAL6 |  | Not available on Windows and Netware
$LOG_LOCAL7 | LOG_LOCAL7 |  | Not available on Windows and Netware
$LOG_PID | LOG_PID |  |
$LOG_CONS | LOG_CONS |  |
$LOG_ODELAY | LOG_ODELAY |  |
$LOG_NDELAY | LOG_NDELAY |  |
$LOG_NOWAIT | LOG_NOWAIT |  | Not available on BeOS
$LOG_PERROR | LOG_PERROR |  | Not available on AIX
Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Примеры

Пример #1 define_syslog_variables() example

<?php
// Check if syslog variables already is defined
if(!get_cfg_var('define_syslog_variables'))
{
    define_syslog_variables();
}

// Open the log
openlog('', $LOG_ODELAY, $LOG_MAIL | $LOG_USER);

// Continue script ...
?>

Список изменений

Версия | Описание
5.3.0 | This function now throws an E_DEPRECATED notice.

Смотрите также

  • openlog() - Open connection to system logger
  • syslog() - Generate a system log message
  • closelog() - Close connection to system logger

closelog
dns_check_record
Network Функции


Псевдоним checkdnsrr

define_syslog_variables
dns_get_mx
Network Функции
PHP Manual

dns_check_record

(PHP 5)

dns_check_record — Псевдоним checkdnsrr()

Описание

Эта функция является псевдонимом: checkdnsrr().

define_syslog_variables
dns_get_mx
Network Функции


Псевдоним getmxrr

dns_check_record
dns_get_record
Network Функции
PHP Manual

dns_get_mx

(PHP 5)

dns_get_mx — Псевдоним getmxrr()

Описание

Эта функция является псевдонимом: getmxrr().

dns_check_record
dns_get_record
Network Функции


Fetch DNS Resource Records associated with a hostname

dns_get_mx
fsockopen
Network Функции
PHP Manual

dns_get_record

(PHP 5)

dns_get_record — Fetch DNS Resource Records associated with a hostname

Описание

array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl ]]] )

Fetch DNS Resource Records associated with the given hostname.

Список параметров

hostname

hostname should be a valid DNS hostname such as "www.example.com". Reverse lookups can be generated using in-addr.arpa notation, but gethostbyaddr() is more suitable for the majority of reverse lookups.

Замечание:

Per DNS standards, email addresses are given in user.host format (for example: hostmaster.example.com as opposed to hostmaster@example.com), be sure to check this value and modify if necessary before using it with a functions such as mail().

type

By default, dns_get_record() will search for any resource records associated with hostname. To limit the query, specify the optional type parameter. May be any one of the following: DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL or DNS_ANY.

Замечание:

Because of eccentricities in the performance of libresolv between platforms, DNS_ANY will not always return every record, the slower DNS_ALL will collect all records more reliably.

authns

Passed by reference and, if given, will be populated with Resource Records for the Authoritative Name Servers.

addtl

Passed by reference and, if given, will be populated with any Additional Records.

Возвращаемые значения

This function returns an array of associative arrays, или FALSE в случае возникновения ошибки. Each associative array contains at minimum the following keys:

Basic DNS attributes
Attribute | Meaning
host | The record in the DNS namespace to which the rest of the associated data refers.
class | dns_get_record() only returns Internet class records and as such this parameter will always return IN.
type | String containing the record type. Additional attributes will also be contained in the resulting array dependant on the value of type. See table below.
ttl | "Time To Live" remaining for this record. This will not equal the record's original ttl, but will rather equal the original ttl minus whatever length of time has passed since the authoritative name server was queried.

Other keys in associative arrays dependant on 'type'
Type | Extra Columns
A | ip: An IPv4 addresses in dotted decimal notation.
MX | pri: Priority of mail exchanger. Lower numbers indicate greater priority. target: FQDN of the mail exchanger. See also dns_get_mx().
CNAME | target: FQDN of location in DNS namespace to which the record is aliased.
NS | target: FQDN of the name server which is authoritative for this hostname.
PTR | target: Location within the DNS namespace to which this record points.
TXT | txt: Arbitrary string data associated with this record.
HINFO | cpu: IANA number designating the CPU of the machine referenced by this record. os: IANA number designating the Operating System on the machine referenced by this record. See IANA's » Operating System Names for the meaning of these values.
SOA | mname: FQDN of the machine from which the resource records originated. rname: Email address of the administrative contain for this domain. serial: Serial # of this revision of the requested domain. refresh: Refresh interval (seconds) secondary name servers should use when updating remote copies of this domain. retry: Length of time (seconds) to wait after a failed refresh before making a second attempt. expire: Maximum length of time (seconds) a secondary DNS server should retain remote copies of the zone data without a successful refresh before discarding. minimum-ttl: Minimum length of time (seconds) a client can continue to use a DNS resolution before it should request a new resolution from the server. Can be overridden by individual resource records.
AAAA | ipv6: IPv6 address
A6(PHP >= 5.1.0) | masklen: Length (in bits) to inherit from the target specified by chain. ipv6: Address for this specific record to merge with chain. chain: Parent record to merge with ipv6 data.
SRV | pri: (Priority) lowest priorities should be used first. weight: Ranking to weight which of commonly prioritized targets should be chosen at random. target and port: hostname and port where the requested service can be found. For additional information see: » RFC 2782
NAPTR | order and pref: Equivalent to pri and weight above. flags, services, regex, and replacement: Parameters as defined by » RFC 2915.

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.
5.3.0 | Prior to this release, if the authns parameter was given, the addtl parameter was also required.

Примеры

Пример #1 Using dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Пример #2 Using dns_get_record() and DNS_ANY

Since it's very common to want the IP address of a mail server once the MX record has been resolved, dns_get_record() also returns an array in addtl which contains associate records. authns is returned as well containing a list of authoritative name servers.

<?php
/* Request "ANY" record for php.net,
   and create $authns and $addtl arrays
   containing list of name servers and
   any additional records which go with
   them */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

Результатом выполнения данного примера будет что-то подобное:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Примечания

Замечание:

For compatibility with versions before this function was implemented on such platforms as Windows, *BSD and MAC. Try the » PEAR class » Net_DNS.

Смотрите также

  • dns_get_mx() - Псевдоним getmxrr
  • dns_check_record() - Псевдоним checkdnsrr

dns_get_mx
fsockopen
Network Функции


Open Internet or Unix domain socket connection

dns_get_record
gethostbyaddr
Network Функции
PHP Manual

fsockopen

(PHP 4, PHP 5)

fsockopen — Open Internet or Unix domain socket connection

Описание

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Initiates a socket connection to the resource specified by hostname.

PHP supports targets in the Internet and Unix domains as described in Список поддерживаемых транспортных протоколов. A list of supported transports can also be retrieved using stream_get_transports().

The socket will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking().

Список параметров

hostname

If OpenSSL support is installed, you may prefix the hostname with either ssl:// or tls:// to use an SSL or TLS client connection over TCP/IP to connect to the remote host.

port

The port number.

errno

If provided, holds the system level error number that occurred in the system-level connect() call.

If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket.

errstr

The error message as a string.

timeout

The connection timeout, in seconds.

Замечание:

If you need to set a timeout for reading/writing data over the socket, use stream_set_timeout(), as the timeout parameter to fsockopen() only applies while connecting the socket.

Возвращаемые значения

fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets(), fgetss(), fwrite(), fclose(), and feof()). If the call fails, it will return FALSE

Ошибки

Throws E_WARNING if hostname is not a valid domain.

Список изменений

Версия | Описание
4.3.0 | Added support for the timeout parameter on win32.
4.3.0 | SSL and TLS over TCP/IP support was added.

Примеры

Пример #1 fsockopen() Example

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

Пример #2 Using UDP connection

The example below shows how to retrieve the day and time from the UDP service "daytime" (port 13) in your own machine.

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Примечания

Замечание:

Depending on the environment, the Unix domain or the optional connect timeout may not be available.

Внимание

UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable. The error will only become apparent when you read or write data to/from the socket. The reason for this is because UDP is a "connectionless" protocol, which means that the operating system does not try to establish a link for the socket until it actually needs to send or receive data.

Замечание: При указании числового адреса IPv6 (например, fe80::1) вы должны заключать его в квадратные скобки. Например, tcp://[fe80::1]:80.

Смотрите также

  • pfsockopen() - Open persistent Internet or Unix domain socket connection
  • stream_set_blocking() - Устанавливает блокирующий/неблокирующий режим на потоке
  • stream_set_timeout() - Устанавливает значение тайм-аута на потоке
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает открытый дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • The Curl extension

dns_get_record
gethostbyaddr
Network Функции


Получает доменное имя узла, соответствующее переданному IP-адресу

fsockopen
gethostbyname
Network Функции
PHP Manual

gethostbyaddr

(PHP 4, PHP 5)

gethostbyaddr — Получает доменное имя узла, соответствующее переданному IP-адресу

Описание

string gethostbyaddr ( string $ip_address )

Возвращает доменное имя узла по адресу ip_address.

Список параметров

ip_address

IP-адрес узла

Возвращаемые значения

Возвращает имя узла или исходный ip_address при ошибке.

Примеры

Пример #1 Простой пример использования gethostbyaddr()

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Смотрите также

  • gethostbyname() - Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbynamel() - Возвращает список адресов IPv4, соответствующих переданному доменному имени узла

fsockopen
gethostbyname
Network Функции


Получает адрес IPv4, соответствующий переданному имени узла интернета

gethostbyaddr
gethostbynamel
Network Функции
PHP Manual

gethostbyname

(PHP 4, PHP 5)

gethostbyname — Получает адрес IPv4, соответствующий переданному имени узла интернета

Описание

string gethostbyname ( string $hostname )

Возвращает адрес IPv4 по имени узла hostname.

Список параметров

hostname

Имя узла.

Возвращаемые значения

Возвращает адрес IPv4 или строку, содержащую неизмененный hostname при ошибке.

Примеры

Пример #1 Простой пример использования gethostbyname()

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Смотрите также

  • gethostbyaddr() - Получает доменное имя узла, соответствующее переданному IP-адресу
  • gethostbynamel() - Возвращает список адресов IPv4, соответствующих переданному доменному имени узла
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation
  • inet_ntop() - Converts a packed internet address to a human readable representation

gethostbyaddr
gethostbynamel
Network Функции


Возвращает список адресов IPv4, соответствующих переданному доменному имени узла

gethostbyname
gethostname
Network Функции
PHP Manual

gethostbynamel

(PHP 4, PHP 5)

gethostbynamel — Возвращает список адресов IPv4, соответствующих переданному доменному имени узла

Описание

array gethostbynamel ( string $hostname )

Возвращает список адресов IPv4, в которые разрешается доменное имя узла hostname.

Список параметров

hostname

Имя узла.

Возвращаемые значения

Возвращает массив адресов IPv4 или FALSE, если hostname не может быть разрешено.

Примеры

Пример #1 Пример использования функции gethostbynamel()

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

Результат выполнения данного примера:

Array
(
    [0] => 192.0.34.166
)

Смотрите также

  • gethostbyname() - Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbyaddr() - Получает доменное имя узла, соответствующее переданному IP-адресу
  • checkdnsrr() - Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу
  • getmxrr() - Получает запись MX, соответствующую переданному доменному имени узла
  • the named(8) manual page

gethostbyname
gethostname
Network Функции


Gets the host name

gethostbynamel
getmxrr
Network Функции
PHP Manual

gethostname

(PHP >= 5.3.0)

gethostname — Gets the host name

Описание

string gethostname ( void )

gethostname() gets the standard host name for the local machine.

Возвращаемые значения

Returns a string with the hostname on success, otherwise FALSE is returned.

Примеры

Пример #1 A simple gethostname() example

<?php
echo gethostname(); // may output e.g,: sandie

// Or, an option that also works before PHP 5.3
echo php_uname('n'); // may output e.g,: sandie
?>

Смотрите также

  • gethostbyname() - Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbyaddr() - Получает доменное имя узла, соответствующее переданному IP-адресу
  • php_uname() - Returns information about the operating system PHP is running on

gethostbynamel
getmxrr
Network Функции


Получает запись MX, соответствующую переданному доменному имени узла

gethostname
getprotobyname
Network Функции
PHP Manual

getmxrr

(PHP 4, PHP 5)

getmxrr — Получает запись MX, соответствующую переданному доменному имени узла

Описание

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Ищет в DNS записи MX, соответствующие hostname.

Список параметров

hostname

Доменное имя узла

mxhosts

Список найденных записей MX, помещенный в массив mxhosts.

weight

Если передан массив weight, то он будет заполнен полученной информацией о приоритетах.

Возвращаемые значения

Возвращает TRUE, если были найдены записи; возвращает FALSE, если записей не было найдено или произошла ошибка.

Список изменений

Версия | Описание
5.3.0 | Функция стала доступна на платформе Windows.

Примечания

Замечание:

Эта функция не должна использоваться для проверки адреса. Возвращаются только почтовые сервера, найденные в DNS, однако, согласно » RFC 2821, когда в списке нет почтовых серверов, необходимо использовать только hostname в качестве почтового сервера с приоритетом 0.

Замечание:

Для совместимости с более ранними версиями PHP под Windows, где не было реализации этой функции, используйте класс » PEAR » Net_DNS.

Смотрите также

  • checkdnsrr() - Проверяет записи DNS, соответствующие переданному имени узла интернета или IP-адресу
  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • gethostbyname() - Получает адрес IPv4, соответствующий переданному имени узла интернета
  • gethostbynamel() - Возвращает список адресов IPv4, соответствующих переданному доменному имени узла
  • gethostbyaddr() - Получает доменное имя узла, соответствующее переданному IP-адресу
  • страница руководства named(8)

gethostname
getprotobyname
Network Функции


Get protocol number associated with protocol name

getmxrr
getprotobynumber
Network Функции
PHP Manual

getprotobyname

(PHP 4, PHP 5)

getprotobyname — Get protocol number associated with protocol name

Описание

int getprotobyname ( string $name )

getprotobyname() returns the protocol number associated with the protocol name as per /etc/protocols.

Список параметров

name

The protocol name.

Возвращаемые значения

Returns the protocol number or -1 if the protocol is not found.

Примеры

Пример #1 getprotobyname() example

<?php
$protocol = 'tcp';
$get_prot = getprotobyname($protocol);
if ($get_prot == -1) {
    echo 'Invalid Protocol';
} else {
    echo 'Protocol #' . $get_prot;
}
?>

Смотрите также

  • getprotobynumber() - Get protocol name associated with protocol number

getmxrr
getprotobynumber
Network Функции


Get protocol name associated with protocol number

getprotobyname
getservbyname
Network Функции
PHP Manual

getprotobynumber

(PHP 4, PHP 5)

getprotobynumber — Get protocol name associated with protocol number

Описание

string getprotobynumber ( int $number )

getprotobynumber() returns the protocol name associated with protocol number as per /etc/protocols.

Список параметров

number

The protocol number.

Возвращаемые значения

Returns the protocol name as a string, или FALSE в случае возникновения ошибки.

Смотрите также

  • getprotobyname() - Get protocol number associated with protocol name

getprotobyname
getservbyname
Network Функции


Get port number associated with an Internet service and protocol

getprotobynumber
getservbyport
Network Функции
PHP Manual

getservbyname

(PHP 4, PHP 5)

getservbyname — Get port number associated with an Internet service and protocol

Описание

int getservbyname ( string $service , string $protocol )

getservbyname() returns the Internet port which corresponds to service for the specified protocol as per /etc/services.

Список параметров

service

The Internet service name, as a string.

protocol

protocol is either "tcp" or "udp" (in lowercase).

Возвращаемые значения

Returns the port number, or FALSE if service or protocol is not found.

Примеры

Пример #1 getservbyname() example

<?php
$services = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($services as $service) {
    $port = getservbyname($service, 'tcp');
    echo $service . ": " . $port . "<br />\n";
}
?>

Смотрите также

  • getservbyport() - Get Internet service which corresponds to port and protocol
  • » http://www.iana.org/assignments/port-numbers for a complete list of port numbers.

getprotobynumber
getservbyport
Network Функции


Get Internet service which corresponds to port and protocol

getservbyname
header_register_callback
Network Функции
PHP Manual

getservbyport

(PHP 4, PHP 5)

getservbyport — Get Internet service which corresponds to port and protocol

Описание

string getservbyport ( int $port , string $protocol )

getservbyport() returns the Internet service associated with port for the specified protocol as per /etc/services.

Список параметров

port

The port number.

protocol

protocol is either "tcp" or "udp" (in lowercase).

Возвращаемые значения

Returns the Internet service name as a string.

Смотрите также

  • getservbyname() - Get port number associated with an Internet service and protocol

getservbyname
header_register_callback
Network Функции


Call a header function

getservbyport
header_remove
Network Функции
PHP Manual

header_register_callback

(Информация о версии неизвестна, возможно, только в SVN)

header_register_callback — Call a header function

Описание

bool header_register_callback ( callback $callback )

Registers a function that will be called when PHP starts sending output.

The callback is executed just after PHP prepares all headers to be sent, and before any other output is sent, creating a window to manipulate the outgoing headers before being sent.

Список параметров

callback

Function called just before the headers are sent. It gets no parameters and the return value is ignored.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 header_register_callback() example

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered-By:') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";
?>

Результатом выполнения данного примера будет что-то подобное:

Content-Type: text/plain

a

Примечания

header_register_callback() is executed just as the headers are about to be sent out, so any output from this function can break output.

Замечание:

Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.

Смотрите также

  • headers_list() - Returns a list of response headers sent (or ready to send)
  • header_remove() - Remove previously set headers
  • header() - Send a raw HTTP header
getservbyport
header_remove
Network Функции


Remove previously set headers

header_register_callback
header
Network Функции
PHP Manual

header_remove

(PHP 5 >= 5.3.0)

header_remove — Remove previously set headers

Описание

void header_remove ([ string $name ] )

Removes an HTTP header previously set using header().

Список параметров

name

The header name to be removed.

Замечание: This parameter is case-insensitive.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Unsetting specific header.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

Результатом выполнения данного примера будет что-то подобное:

X-Bar: Baz

Пример #2 Unsetting all previously set headers.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Предостережение

    This function will remove all headers set by PHP,
    including cookies, session and the X-Powered-By headers.

Замечание:

 Доступ к заголовкам и их вывод будет осуществляться только в
 случае, если в используемом вами SAPI есть их поддержка.

Смотрите также

  • header() - Send a raw HTTP header
    •

  • headers_sent() - Checks if or where headers have been sent
    •

header_register_callback

header

Network Функции


Send a raw HTTP header

header_remove
headers_list
Network Функции
PHP Manual

header

(PHP 4, PHP 5)

header — Send a raw HTTP header

Описание

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>

Список параметров

string

The header string.

There are two special-case header calls. The first is a header that starts with the string "HTTP/" (case is not significant), which will be used to figure out the HTTP status code to send. For example, if you have configured Apache to use a PHP script to handle requests for missing files (using the ErrorDocument directive), you may want to make sure that your script generates the proper status code.

<?php
header("HTTP/1.0 404 Not Found");
?>

For FastCGI you must use the following for a 404 response:

<?php
header("Status: 404 Not Found");
?>

The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless the 201 or a 3xx status code has already been set.

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

replace

The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in FALSE as the second argument you can force multiple headers of the same type. For example:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_response_code

Forces the HTTP response code to the specified value. Note that this parameter only has an effect if the string is not empty.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.4.2 and 5.1.2 | This function now prevents more than one header to be sent at once as a protection against header injection attacks.
4.3.0 | The http_response_code parameter was added.
4.0.4 | The replace parameter was added.

Примеры

Пример #1 Download dialog

If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the » Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

Пример #2 Caching directives

PHP scripts often generate dynamic content that must not be cached by the client browser or any proxy caches between the server and the client browser. Many proxies and clients can be forced to disable caching with:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Замечание:

You may find that your pages aren't cached even if you don't output all of the headers above. There are a number of options that users may be able to set for their browser that change its default caching behavior. By sending the headers above, you should override any settings that may otherwise cause the output of your script to be cached.

Additionally, session_cache_limiter() and the session.cache_limiter configuration setting can be used to automatically generate the correct caching-related headers when sessions are being used.

Примечания

Замечание:

Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.

Замечание:

You can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

Замечание:

The HTTP status header line will always be the first sent to the client, regardless of the actual header() call being the first or not. The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent.

Замечание:

There is a bug in Microsoft Internet Explorer 4.01 that prevents this from working. There is no workaround. There is also a bug in Microsoft Internet Explorer 5.5 that interferes with this, which can be resolved by upgrading to Service Pack 2 or later.

Замечание: If safe mode is enabled the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).

Замечание:

HTTP/1.1 requires an absolute URI as argument to » Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Замечание:

Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

Смотрите также

  • headers_sent() - Checks if or where headers have been sent
  • setcookie() - Send a cookie
  • The section on HTTP authentication

header_remove
headers_list
Network Функции


Returns a list of response headers sent (or ready to send)

header
headers_sent
Network Функции
PHP Manual

headers_list

(PHP 5)

headers_list — Returns a list of response headers sent (or ready to send)

Описание

array headers_list ( void )

headers_list() will return a list of headers to be sent to the browser / client. To determine whether or not these headers have been sent yet, use headers_sent().

Возвращаемые значения

Returns a numerically indexed array of headers.

Примеры

Пример #1 Examples using headers_list()

<?php

/* setcookie() will add a response header on its own */
setcookie('foo', 'bar');

/* Define a custom response header
   This will be ignored by most clients */
header("X-Sample-Test: foo");

/* Specify plain text content in our response */
header('Content-type: text/plain');

/* What headers are going to be sent? */
var_dump(headers_list());

?>

Результат выполнения данного примера:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Примечания

Замечание:

Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.

Смотрите также

  • headers_sent() - Checks if or where headers have been sent
  • header() - Send a raw HTTP header
  • setcookie() - Send a cookie
  • apache_response_headers() - Возвращает список всех HTTP заголовков ответа Apache
  • http_response_code() - Get or Set the HTTP response code

header
headers_sent
Network Функции


Checks if or where headers have been sent

headers_list
http_response_code
Network Функции
PHP Manual

headers_sent

(PHP 4, PHP 5)

headers_sent — Checks if or where headers have been sent

Описание

bool headers_sent ([ string &$file [, int &$line ]] )

Checks if or where headers have been sent.

You can't add any more header lines using the header() function once the header block has already been sent. Using this function you can at least prevent getting HTTP header related error messages. Another option is to use Output Buffering.

Список параметров

file

If the optional file and line parameters are set, headers_sent() will put the PHP source file name and line number where output started in the file and line variables.

line

The line number where the output started.

Возвращаемые значения

headers_sent() will return FALSE if no HTTP headers have already been sent or TRUE otherwise.

Список изменений

Версия | Описание
4.3.0 | The optional file and line parameters were added.

Примеры

Пример #1 Examples using headers_sent()

<?php

// If no headers are sent, send one
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

Примечания

Замечание:

Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.

Смотрите также

  • ob_start() - Включение буферизации вывода
  • trigger_error() - Generates a user-level error/warning/notice message
  • headers_list() - Returns a list of response headers sent (or ready to send)
  • header() - Send a raw HTTP header for a more detailed discussion of the matters involved.

headers_list
http_response_code
Network Функции


Get or Set the HTTP response code

headers_sent
inet_ntop
Network Функции
PHP Manual

http_response_code

(Информация о версии неизвестна, возможно, только в SVN)

http_response_code — Get or Set the HTTP response code

Описание

int http_response_code ([ int $response_code ] )

If you pass no parameters then http_response_code will get the current status code. If you pass a parameter it will set the response code.

Список параметров

response_code

The optional response_code will set the response code.

<?php
http_response_code(404);
?>

Возвращаемые значения

The current response code. By default the return value is int(200).

Примеры

Пример #1 Examples using headers_list()

<?php

// Get the current default response code
var_dump(http_response_code()); // int(200)

// Set our response code
http_response_code(404);

// Get our new response code
var_dump(http_response_code()); // int(404)
?>

Результат выполнения данного примера:

Смотрите также

  • header() - Send a raw HTTP header
  • headers_list() - Returns a list of response headers sent (or ready to send)

headers_sent
inet_ntop
Network Функции


Converts a packed internet address to a human readable representation

http_response_code
inet_pton
Network Функции
PHP Manual

inet_ntop

(PHP 5 >= 5.1.0)

inet_ntop — Converts a packed internet address to a human readable representation

Описание

string inet_ntop ( string $in_addr )

This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation.

Список параметров

in_addr

A 32bit IPv4, or 128bit IPv6 address.

Возвращаемые значения

Returns a string representation of the address или FALSE в случае возникновения ошибки.

Примеры

Пример #1 inet_ntop() Example

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: ::1 */
echo $expanded;
?>

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Смотрите также

  • long2ip() - Converts an (IPv4) Internet network address into a string in Internet standard dotted format
  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
  • inet_pton() - Converts a human readable IP address to its packed in_addr representation

http_response_code
inet_pton
Network Функции


Converts a human readable IP address to its packed in_addr representation

inet_ntop
ip2long
Network Функции
PHP Manual

inet_pton

(PHP 5 >= 5.1.0)

inet_pton — Converts a human readable IP address to its packed in_addr representation

Описание

string inet_pton ( string $address )

This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

Список параметров

address

A human readable IPv4 or IPv6 address.

Возвращаемые значения

Returns the in_addr representation of the given address, or FALSE if a syntactically invalid address is given (for example, an IPv4 address without dots or an IPv6 address without colons).

Примеры

Пример #1 inet_pton() Example

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Смотрите также

  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
  • long2ip() - Converts an (IPv4) Internet network address into a string in Internet standard dotted format
  • inet_ntop() - Converts a packed internet address to a human readable representation

inet_ntop
ip2long
Network Функции


Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address

inet_pton
long2ip
Network Функции
PHP Manual

ip2long

(PHP 4, PHP 5)

ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address

Описание

int ip2long ( string $ip_address )

The function ip2long() generates an IPv4 Internet network address from its Internet standard format (dotted string) representation.

ip2long() will also work with non-complete IP addresses. Read » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm for more info.

Список параметров

ip_address

A standard format address.

Возвращаемые значения

Returns the IPv4 address or FALSE if ip_address is invalid.

Список изменений

Версия | Описание
5.2.10 | Prior to this version, ip2long() would sometimes return a valid number even if passed an value which was not an (IPv4) Internet Protocol dotted address.
5.0.0 | Prior to this version, ip2long() returned -1 on failure.

Примеры

Пример #1 ip2long() Example

<?php
$ip = gethostbyname('www.example.com');
$out = "The following URLs are equivalent:<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Пример #2 Displaying an IP address

This second example shows how to print a converted address with the printf() function in both PHP 4 and PHP 5:

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'Invalid IP, please try again';
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Пример #3 IP validation

ip2long() should not be used as the sole form of IP validation. Combine it with long2ip():

<?php
// make sure IPs are valid. also converts a non-complete IP into
// a proper dotted quad as explained below.
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>

Примечания

Замечание:

Because PHP's integer type is signed, and many IP addresses will result in negative integers on 32-bit architectures, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address.

Замечание:

ip2long() will return FALSE for the IP 255.255.255.255 in PHP 5 <= 5.0.2. It was fixed in PHP 5.0.3 where it returns -1 (same as PHP 4).

Смотрите также

  • long2ip() - Converts an (IPv4) Internet network address into a string in Internet standard dotted format
  • sprintf() - Возвращает отформатированную строку

inet_pton
long2ip
Network Функции


Converts an (IPv4) Internet network address into a string in Internet standard dotted format

ip2long
openlog
Network Функции
PHP Manual

long2ip

(PHP 4, PHP 5)

long2ip — Converts an (IPv4) Internet network address into a string in Internet standard dotted format

Описание

string long2ip ( string $proper_address )

The function long2ip() generates an Internet address in dotted format (i.e.: aaa.bbb.ccc.ddd) from the proper address representation.

Список параметров

proper_address

A proper address representation.

Возвращаемые значения

Returns the Internet IP address as a string.

Смотрите также

  • ip2long() - Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address

ip2long
openlog
Network Функции


Open connection to system logger

long2ip
pfsockopen
Network Функции
PHP Manual

openlog

(PHP 4, PHP 5)

openlog — Open connection to system logger

Описание

bool openlog ( string $ident , int $option , int $facility )

openlog() opens a connection to the system logger for a program.

The use of openlog() is optional. It will automatically be called by syslog() if necessary, in which case ident will default to FALSE.

Список параметров

ident

The string ident is added to each message.

option

The option argument is used to indicate what logging options will be used when generating a log message.

openlog() Options
Constant | Description
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message
You can use one or more of this options. When using multiple options you need to OR them, i.e. to open the connection immediately, write to the console and include the PID in each message, you will use: LOG_CONS | LOG_NDELAY | LOG_PID

facility

The facility argument is used to specify what type of program is logging the message. This allows you to specify (in your machine's syslog configuration) how messages coming from different facilities will be handled.

openlog() Facilities
Constant | Description
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem

Замечание:

LOG_USER is the only valid log type under Windows operating systems

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • syslog() - Generate a system log message
  • closelog() - Close connection to system logger

long2ip
pfsockopen
Network Функции


Open persistent Internet or Unix domain socket connection

openlog
setcookie
Network Функции
PHP Manual

pfsockopen

(PHP 4, PHP 5)

pfsockopen — Open persistent Internet or Unix domain socket connection

Описание

resource pfsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

This function behaves exactly as fsockopen() with the difference that the connection is not closed after the script finishes. It is the persistent version of fsockopen().

Список параметров

For parameter information, see the fsockopen() documentation.

Смотрите также

  • fsockopen() - Open Internet or Unix domain socket connection

openlog
setcookie
Network Функции


Send a cookie

pfsockopen
setrawcookie
Network Функции
PHP Manual

setcookie

(PHP 4, PHP 5)

setcookie — Send a cookie

Описание

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including <html> and <head> tags as well as any whitespace.

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. Note, superglobals such as $_COOKIE became available in PHP 4.1.0. Cookie values also exist in $_REQUEST.

Список параметров

All the arguments except the name argument are optional. You may also replace an argument with an empty string ("") in order to skip that argument. Because the expire argument is integer, it cannot be skipped with an empty string, use a zero (0) instead.

» RFC 2109 provides the normative reference on how each setcookie() parameter is interpreted.

name

The name of the cookie.

value

The value of the cookie. This value is stored on the clients computer; do not store sensitive information. Assuming the name is 'cookiename', this value is retrieved through $_COOKIE['cookiename']

expire

The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

Замечание:

You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.

path

The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.

domain

The domain that the cookie is available to. To make the cookie available on all subdomains of example.com (including example.com itself) then you'd set it to '.example.com'. Although some browsers will accept cookies without the initial ., » RFC 2109 requires it to be included. Setting the domain to 'www.example.com' or '.www.example.com' will make the cookie only available in the www subdomain.

secure

Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. When set to TRUE, the cookie will only be set if a secure connection exists. On the server-side, it's on the programmer to send this kind of cookie only on secure connection (e.g. with respect to $_SERVER["HTTPS"]).

httponly

When TRUE the cookie will be made accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. It has been suggested that this setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers), but that claim is often disputed. Added in PHP 5.2.0. TRUE or FALSE

Возвращаемые значения

If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.

Примеры

Some examples follow how to send cookies:

Пример #1 setcookie() send example

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Note that the value portion of the cookie will automatically be urlencoded when you send the cookie, and when it is received, it is automatically decoded and assigned to a variable by the same name as the cookie name. If you don't want this, you can use setrawcookie() instead if you are using PHP 5. To see the contents of our test cookie in a script, simply use one of the following examples:

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>

Пример #2 setcookie() delete example

When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser. Examples follow how to delete cookies sent in previous example:

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Пример #3 setcookie() and arrays

You may also set array cookies by using array notation in the cookie name. This has the effect of setting as many cookies as you have array elements, but when the cookie is received by your script, the values are all placed in an array with the cookie's name:

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        $name = htmlspecialchars($name);
        $value = htmlspecialchars($value);
        echo "$name : $value <br />\n";
    }
}
?>

Результат выполнения данного примера:

three : cookiethree
two : cookietwo
one : cookieone

Список изменений

Версия | Описание
5.2.0 | The httponly parameter was added.

Примечания

Замечание:

You can use output buffering to send output prior to the call of this function, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

Замечание:

If the PHP directive register_globals is set to on then cookie values will also be made into variables. In our examples below, $TestCookie will exist. It's recommended to use $_COOKIE.

Common Pitfalls:

  • Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.
  • Cookies must be deleted with the same parameters as they were set with. If the value argument is an empty string, or FALSE, and all other arguments match a previous call to setcookie, then the cookie with the specified name will be deleted from the remote client. This is internally achieved by setting value to 'deleted' and expiration time to one year in past.
  • Because setting a cookie with a value of FALSE will try to delete the cookie, you should not use boolean values. Instead, use 0 for FALSE and 1 for TRUE.
  • Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the user's system. Consider explode() to set one cookie with multiple names and values. It is not recommended to use serialize() for this purpose, because it can result in security holes.

Multiple calls to setcookie() are performed in the order called.

Смотрите также

  • header() - Send a raw HTTP header
  • setrawcookie() - Send a cookie without urlencoding the cookie value
  • cookies section
  • » Original Netscape cookie specification
  • » RFC 2109
  • » RFC 2965

pfsockopen
setrawcookie
Network Функции


Send a cookie without urlencoding the cookie value

setcookie
socket_get_status
Network Функции
PHP Manual

setrawcookie

(PHP 5)

setrawcookie — Send a cookie without urlencoding the cookie value

Описание

bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setrawcookie() is exactly the same as setcookie() except that the cookie value will not be automatically urlencoded when sent to the browser.

Список параметров

For parameter information, see the setcookie() documentation.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.0 | The httponly parameter was added.

Смотрите также

  • setcookie() - Send a cookie

setcookie
socket_get_status
Network Функции


Псевдоним stream_get_meta_data

setrawcookie
socket_set_blocking
Network Функции
PHP Manual

socket_get_status

(PHP 4, PHP 5)

socket_get_status — Псевдоним stream_get_meta_data()

Описание

Эта функция является псевдонимом: stream_get_meta_data().

setrawcookie
socket_set_blocking
Network Функции


Псевдоним stream_set_blocking

socket_get_status
socket_set_timeout
Network Функции
PHP Manual

socket_set_blocking

(PHP 4, PHP 5)

socket_set_blocking — Псевдоним stream_set_blocking()

Описание

Эта функция является псевдонимом: stream_set_blocking().

socket_get_status
socket_set_timeout
Network Функции


Псевдоним stream_set_timeout

socket_set_blocking
syslog
Network Функции
PHP Manual

socket_set_timeout

(PHP 4, PHP 5)

socket_set_timeout — Псевдоним stream_set_timeout()

Описание

Эта функция является псевдонимом: stream_set_timeout().

socket_set_blocking
syslog
Network Функции


Generate a system log message

socket_set_timeout
RRD
Network Функции
PHP Manual

syslog

(PHP 4, PHP 5)

syslog — Generate a system log message

Описание

bool syslog ( int $priority , string $message )

syslog() generates a log message that will be distributed by the system logger.

For information on setting up a user defined log handler, see the syslog.conf (5) Unix manual page. More information on the syslog facilities and option can be found in the man pages for syslog (3) on Unix machines.

Список параметров

priority

priority is a combination of the facility and the level. Possible values are:

syslog() Priorities (in descending order)
Constant | Description
LOG_EMERG | system is unusable
LOG_ALERT | action must be taken immediately
LOG_CRIT | critical conditions
LOG_ERR | error conditions
LOG_WARNING | warning conditions
LOG_NOTICE | normal, but significant, condition
LOG_INFO | informational message
LOG_DEBUG | debug-level message

message

The message to send, except that the two characters %m will be replaced by the error message string (strerror) corresponding to the present value of errno.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using syslog()

<?php
// open syslog, include the process ID and also send
// the log to standard error, and use a user defined
// logging mechanism
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// some code

if (authorized_client()) {
    // do something
} else {
    // unauthorized client!
    // log the attempt
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Unauthorized client: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Примечания

On Windows NT, the syslog service is emulated using the Event Log.

Замечание:

Use of LOG_LOCAL0 through LOG_LOCAL7 for the facility parameter of openlog() is not available in Windows.

Смотрите также

  • openlog() - Open connection to system logger
  • closelog() - Close connection to system logger

socket_set_timeout
RRD
Network Функции


RRDtool

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Procedural PECL/rrd example
    • OOP PECL/rrd example
  • RRD Функции
    • rrd_create — Creates rrd database file
    • rrd_error — Gets latest error message.
    • rrd_fetch — Fetch the data for graph as array.
    • rrd_first — Gets the timestamp of the first sample from rrd file.
    • rrd_graph — Creates image from a data.
    • rrd_info — Gets information about rrd file
    • rrd_last — Gets unix timestamp of the last sample.
    • rrd_lastupdate — Gets information about last updated data.
    • rrd_restore — Restores the RRD file from XML dump.
    • rrd_tune — Tunes some RRD database file header options.
    • rrd_update — Updates the RRD database.
    • rrd_version — Gets information about underlying rrdtool library
    • rrd_xport — Exports the information about RRD database.
  • RRDCreator — The RRDCreator class
    • RRDCreator::addArchive — Adds RRA - archive of data values for each data source.
    • RRDCreator::addDataSource — Adds data source definition for RRD database.
    • RRDCreator::__construct — Creates new RRDCreator instance
    • RRDCreator::save — Saves the RRD database to a file
  • RRDGraph — The RRDGraph class
    • RRDGraph::__construct — Creates new RRDGraph instance
    • RRDGraph::save — Saves the result of query into image
    • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.
    • RRDGraph::setOptions — Sets the options for rrd graph export
  • RRDUpdater — The RRDUpdater class
    • RRDUpdater::__construct — Creates new RRDUpdater instance
    • RRDUpdater::update — Update the RRD database file
syslog
Введение
Другие службы


Введение

The PECL/rrd extension provides bindings to the RRDtool C library. RRDtool is the open source industry standard, high performance data logging and graphing system for time series data.

The RRDtool homepage is » http://www.mrtg.org/rrdtool/.

RRD
Установка и настройка
RRD


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
RRD


Требования

You need to install librrd first to be able to use PECL/rrd. Most common option is using of librrd-dev package from your favourite linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you. PECL/rrd installation is tested with PHP 5.3.2 or newer.

Внимание

Librrd and hence extension itself aren't mostly thread safe. There are many global and shared states in librrd. It can be dangerous use this extension in multi threaded environments like Apache2 mpm worker. If there are many parallel requests, one request can change some global librrd state of other runnig requests.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/rrd.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
RRD


Примеры

Содержание

  • Procedural PECL/rrd example
  • OOP PECL/rrd example
Предопределенные константы
Procedural PECL/rrd example
RRD


Procedural PECL/rrd example

Пример #1 Procedural usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";

//create rrd file
rrd_create($rrdFile,
 array(
  "--start",920804400,
  "DS:speed:COUNTER:600:U:U",
  "RRA:AVERAGE:0.5:1:24",
  "RRA:AVERAGE:0.5:6:10"
  )
);

//update rrd file
rrd_update($rrdFile,
 array(
  "920804700:12345",
  "920805000:12357"
  )
);

//graph output
rrd_graph(dirname(__FILE__) . "/speed.png",
 array(
  "--start", "920804400",
  "--end", "920808000",
  "--vertical-label", "m/s",
  "DEF:myspeed=$rrdFile:speed:AVERAGE",
  "CDEF:realspeed=myspeed,1000,*",
  "LINE2:realspeed#FF0000"
 )
);
?>

Примеры
OOP PECL/rrd example
Примеры


OOP PECL/rrd example

Пример #1 OO usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";
$outputPngFile = dirname(__FILE__) . "/speed.png";

$creator = new RRDCreator($rrdFile, "now -10d", 500);
$creator->addDataSource("speed:COUNTER:600:U:U");
$creator->addArchive("AVERAGE:0.5:1:24");
$creator->addArchive("AVERAGE:0.5:6:10");
$creator->save();

$updater = new RRDUpdater($rrdFile);
$updater->update(array("speed" => "12345"), "920804700");
$updater->update(array("speed" => "12357"), "920805000");

$graphObj = new RRDGraph($outputPngFile);
$graphObj->setOptions(
    array(
        "--start" => "920804400",
        "--end" => 920808000,
        "--vertical-label" => "m/s",
        "DEF:myspeed=$rrdFile:speed:AVERAGE",
        "CDEF:realspeed=myspeed,1000,*",
        "LINE2:realspeed#FF0000"
    )
);
$graphObj->save();
?>

Procedural PECL/rrd example
RRD Функции
Примеры


RRD Функции

Содержание

  • rrd_create — Creates rrd database file
  • rrd_error — Gets latest error message.
  • rrd_fetch — Fetch the data for graph as array.
  • rrd_first — Gets the timestamp of the first sample from rrd file.
  • rrd_graph — Creates image from a data.
  • rrd_info — Gets information about rrd file
  • rrd_last — Gets unix timestamp of the last sample.
  • rrd_lastupdate — Gets information about last updated data.
  • rrd_restore — Restores the RRD file from XML dump.
  • rrd_tune — Tunes some RRD database file header options.
  • rrd_update — Updates the RRD database.
  • rrd_version — Gets information about underlying rrdtool library
  • rrd_xport — Exports the information about RRD database.
OOP PECL/rrd example
rrd_create
RRD


Creates rrd database file

RRD Функции
rrd_error
RRD Функции
PHP Manual

rrd_create

(PECL rrd >= 0.9.0)

rrd_create — Creates rrd database file

Описание

bool rrd_create ( string $filename , array $options )

Creates the rdd database file.

Список параметров

filename

Filename for newly created rrd file.

options

Options for rrd create - list of strings. See man page of rrd create for whole list of options.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

RRD Функции
rrd_error
RRD Функции


Gets latest error message.

rrd_create
rrd_fetch
RRD Функции
PHP Manual

rrd_error

(PECL rrd >= 0.9.0)

rrd_error — Gets latest error message.

Описание

string rrd_error ( void )

Returns latest global rrd error message.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Latest error message.

rrd_create
rrd_fetch
RRD Функции


Fetch the data for graph as array.

rrd_error
rrd_first
RRD Функции
PHP Manual

rrd_fetch

(PECL rrd >= 0.9.0)

rrd_fetch — Fetch the data for graph as array.

Описание

array rrd_fetch ( string $filename , array $options )

Gets data for graph output from RRD database file as array. This function has same result as rrd_graph(), but fetched data are returned as array, no image file is created.

Список параметров

filename

RRD database file name.

options

Array of options for resolution specification.

Возвращаемые значения

Returns information about retrieved graph data.

rrd_error
rrd_first
RRD Функции


Gets the timestamp of the first sample from rrd file.

rrd_fetch
rrd_graph
RRD Функции
PHP Manual

rrd_first

(PECL rrd >= 0.9.0)

rrd_first — Gets the timestamp of the first sample from rrd file.

Описание

int rrd_first ( string $file [, int $raaindex = 0 ] )

Returns the first data sample from the specified RRA of the RRD file.

Список параметров

file

RRD database file name.

raaindex

The index number of the RRA that is to be examined. Default value is 0.

Возвращаемые значения

Integer number of unix timestamp, FALSE if some error occurs.

rrd_fetch
rrd_graph
RRD Функции


Creates image from a data.

rrd_first
rrd_info
RRD Функции
PHP Manual

rrd_graph

(PECL rrd >= 0.9.0)

rrd_graph — Creates image from a data.

Описание

array rrd_graph ( string $filename , array $options )

Creates image for a particular data from RRD file.

Список параметров

filename

RRD database file name.

options

Options for generating image. See man page of rrd graph for all possible options. All options (data definitions, variable defintions, etc.) are allowed.

Возвращаемые значения

Array with information about generated image is returned, FALSE when error occurs.

rrd_first
rrd_info
RRD Функции


Gets information about rrd file

rrd_graph
rrd_last
RRD Функции
PHP Manual

rrd_info

(PECL rrd >= 0.9.0)

rrd_info — Gets information about rrd file

Описание

array rrd_info ( string $filename )

Returns information about particular RRD database file.

Список параметров

file

RRD database file name.

Возвращаемые значения

Array with information about requsted RRD file, FALSE when error occurs.

rrd_graph
rrd_last
RRD Функции


Gets unix timestamp of the last sample.

rrd_info
rrd_lastupdate
RRD Функции
PHP Manual

rrd_last

(PECL rrd >= 0.9.0)

rrd_last — Gets unix timestamp of the last sample.

Описание

int rrd_last ( string $filename )

Returns the UNIX timestamp of the most recent update of the RRD database.

Список параметров

filename

RRD database file name.

Возвращаемые значения

Integer as unix timestamp of the most recent data from the RRD database.

rrd_info
rrd_lastupdate
RRD Функции


Gets information about last updated data.

rrd_last
rrd_restore
RRD Функции
PHP Manual

rrd_lastupdate

(PECL rrd >= 0.9.0)

rrd_lastupdate — Gets information about last updated data.

Описание

array rrd_lastupdate ( string $filename )

Gets array of the UNIX timestamp and the values stored for each date in the most recent update of the RRD database file.

Список параметров

file

RRD database file name.

Возвращаемые значения

Array of information about last update, FALSE when error occurs.

rrd_last
rrd_restore
RRD Функции


Restores the RRD file from XML dump.

rrd_lastupdate
rrd_tune
RRD Функции
PHP Manual

rrd_restore

(PECL rrd >= 0.9.0)

rrd_restore — Restores the RRD file from XML dump.

Описание

bool rrd_restore ( string $xml_file , string $rrd_file [, array $options ] )

Restores the RRD file from the XML dump.

Список параметров

xml_file

XML filename with the dump of the original RRD database file.

rrd_file

Restored RRD database file name.

options

Array of options for restoring. See man page for rrd restore.

Возвращаемые значения

Returns TRUE on success, FALSE otherwise.

rrd_lastupdate
rrd_tune
RRD Функции


Tunes some RRD database file header options.

rrd_restore
rrd_update
RRD Функции
PHP Manual

rrd_tune

(PECL rrd >= 0.9.0)

rrd_tune — Tunes some RRD database file header options.

Описание

bool rrd_tune ( string $filename , array $options )

Change some options in the RRD dabase header file. E.g. renames the source for the data etc.

Список параметров

filename

RRD database file name.

options

Options with RRD database file properties which will be changed. See rrd tune man page for details.

Возвращаемые значения

Returns TRUE on success, FALSE otherwise.

rrd_restore
rrd_update
RRD Функции


Updates the RRD database.

rrd_tune
rrd_version
RRD Функции
PHP Manual

rrd_update

(PECL rrd >= 0.9.0)

rrd_update — Updates the RRD database.

Описание

bool rrd_update ( string $filename , array $options )

Updates the RRD database file. The input data is time interpolated according to the properties of the RRD database file.

Список параметров

filename

RRD database file name. This database will be updated.

options

Options for updating the RRD database. This is list of strings. See man page of rrd update for whole list of options.

Возвращаемые значения

Returns TRUE on success, FALSE when error occurs.

rrd_tune
rrd_version
RRD Функции


Gets information about underlying rrdtool library

rrd_update
rrd_xport
RRD Функции
PHP Manual

rrd_version

(PECL rrd >= 1.0.0)

rrd_version — Gets information about underlying rrdtool library

Описание

string rrd_version ( void )

Returns information about underlying rrdtool library.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

String with rrdtool version number e.g. "1.4.3".

rrd_update
rrd_xport
RRD Функции


Exports the information about RRD database.

rrd_version
RRDCreator
RRD Функции
PHP Manual

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xport — Exports the information about RRD database.

Описание

array rrd_xport ( array $options )

Exports the information about RRD database file. This data can be converted to XML file via user space PHP script and then restored back as RRD database file.

Список параметров

options

Array of options for the export, see rrd xport man page.

Возвращаемые значения

Array with information about RRD database file, FALSE when error occurs.

rrd_version
RRDCreator
RRD Функции


The RRDCreator class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Class for creation of RRD database file.

Обзор классов

RRDCreator {
/* Методы */
public void addArchive ( string $description )
public void addDataSource ( string $description )
public void __construct ( string $path [, string $startTime [, int $step = 0 ]] )
public bool save ( void )
}

Содержание

  • RRDCreator::addArchive — Adds RRA - archive of data values for each data source.
  • RRDCreator::addDataSource — Adds data source definition for RRD database.
  • RRDCreator::__construct — Creates new RRDCreator instance
  • RRDCreator::save — Saves the RRD database to a file
rrd_xport
RRDCreator::addArchive
RRD


Adds RRA - archive of data values for each data source.

RRDCreator
RRDCreator::addDataSource
RRDCreator
PHP Manual

RRDCreator::addArchive

(PECL rrd >= 0.9.0)

RRDCreator::addArchive — Adds RRA - archive of data values for each data source.

Описание

public void RRDCreator::addArchive ( string $description )

Adds RRA definition by description of archive. Archive consists of a number of data values or statistics for each of the defined data-sources (DS). Data sources are defined by method RRDCreator::addDataSource(). You need call this method for each requested archive.

Список параметров

description

Definition of archive - RRA. This has same format as RRA definition in rrd create command. See man page of rrd create for more details.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RRDCreator
RRDCreator::addDataSource
RRDCreator


Adds data source definition for RRD database.

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator
PHP Manual

RRDCreator::addDataSource

(PECL rrd >= 0.9.0)

RRDCreator::addDataSource — Adds data source definition for RRD database.

Описание

public void RRDCreator::addDataSource ( string $description )

RRD can accept input from several data sources (DS), e.g incomming and outgoing traffic. This method adds data source by description. You need call this method for each data source.

Список параметров

description

Definition of data source - DS. This has same format as DS definition in rrd create command. See man page of rrd create for more details.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator


Creates new RRDCreator instance

RRDCreator::addDataSource
RRDCreator::save
RRDCreator
PHP Manual

RRDCreator::__construct

(PECL rrd >= 0.9.0)

RRDCreator::__construct — Creates new RRDCreator instance

Описание

public void RRDCreator::__construct ( string $path [, string $startTime [, int $step = 0 ]] )

Creates new RRDCreator instance.

Список параметров

path

Path for newly created RRD database file.

startTime

Time for the first value in RRD database. Parameter supports all formats which are supported by rrd create call.

intstep

Base interval in seconds with which data will be fed into the RRD database.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RRDCreator::addDataSource
RRDCreator::save
RRDCreator


Saves the RRD database to a file

RRDCreator::__construct
RRDGraph
RRDCreator
PHP Manual

RRDCreator::save

(PECL rrd >= 0.9.0)

RRDCreator::save — Saves the RRD database to a file

Описание

public bool RRDCreator::save ( void )

Saves the RRD database into file, which name is defined by RRDCreator::__construct().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

RRDCreator::__construct
RRDGraph
RRDCreator


The RRDGraph class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Class for exporting data from RRD database to image file.

Обзор классов

RRDGraph {
/* Методы */
public void __construct ( string $path )
public array save ( void )
public array saveVerbose ( void )
public void setOptions ( array $options )
}

Содержание

  • RRDGraph::__construct — Creates new RRDGraph instance
  • RRDGraph::save — Saves the result of query into image
  • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.
  • RRDGraph::setOptions — Sets the options for rrd graph export
RRDCreator::save
RRDGraph::__construct
RRD


Creates new RRDGraph instance

RRDGraph
RRDGraph::save
RRDGraph
PHP Manual

RRDGraph::__construct

(PECL rrd >= 0.9.0)

RRDGraph::__construct — Creates new RRDGraph instance

Описание

public void RRDGraph::__construct ( string $path )

Creates new RRDGraph instance. This instance is responsible for rendering the result of RRD database query into image.

Список параметров

path

Full path for the newly created image.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RRDGraph
RRDGraph::save
RRDGraph


Saves the result of query into image

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph
PHP Manual

RRDGraph::save

(PECL rrd >= 0.9.0)

RRDGraph::save — Saves the result of query into image

Описание

public array RRDGraph::save ( void )

Saves the result of RRD database query into image defined by RRDGraph::__construct().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array with information about generated image is returned, FALSE if error occurs.

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph


Saves the RRD database query into image and returns the verbose information about generated graph.

RRDGraph::save
RRDGraph::setOptions
RRDGraph
PHP Manual

RRDGraph::saveVerbose

(PECL rrd >= 0.9.0)

RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.

Описание

public array RRDGraph::saveVerbose ( void )

Saves the RRD database query into image file defined by method RRDGraph::__construct() and returns the verbose information about generated graph, if "-" is used as image filename, image data are also returned in result array.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array with detailed information about generated image is returned, optionally with image data, FALSE if error occurs.

RRDGraph::save
RRDGraph::setOptions
RRDGraph


Sets the options for rrd graph export

RRDGraph::saveVerbose
RRDUpdater
RRDGraph
PHP Manual

RRDGraph::setOptions

(PECL rrd >= 0.9.0)

RRDGraph::setOptions — Sets the options for rrd graph export

Описание

public void RRDGraph::setOptions ( array $options )

Список параметров

options

List of options for the image generation from the RRD database file. It can be list of strings or list of strings with keys for better readability. Read the rrd graph man pages for list of available options.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 RRDGraph::setOptions() examples

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

RRDGraph::saveVerbose
RRDUpdater
RRDGraph


The RRDUpdater class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Class for updating RDD database file.

Обзор классов

RRDUpdater {
/* Методы */
public void __construct ( string $path )
public bool update ( array $values [, string $time = time() ] )
}

Содержание

  • RRDUpdater::__construct — Creates new RRDUpdater instance
  • RRDUpdater::update — Update the RRD database file
RRDGraph::setOptions
RRDUpdater::__construct
RRD


Creates new RRDUpdater instance

RRDUpdater
RRDUpdater::update
RRDUpdater
PHP Manual

RRDUpdater::__construct

(PECL rrd >= 0.9.0)

RRDUpdater::__construct — Creates new RRDUpdater instance

Описание

public void RRDUpdater::__construct ( string $path )

Creates new RRDUpdater instance. This instance is responsible for updating the RRD database file.

Список параметров

path

Filesystem path for RRD database file, which will be updated.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RRDUpdater
RRDUpdater::update
RRDUpdater


Update the RRD database file

RRDUpdater::__construct
SAM
RRDUpdater
PHP Manual

RRDUpdater::update

(PECL rrd >= 0.9.0)

RRDUpdater::update — Update the RRD database file

Описание

public bool RRDUpdater::update ( array $values [, string $time = time() ] )

Updates the RRD file defined via RRDUpdater::__construct(). The file is updated with a specific values.

Список параметров

values

Data for update. Key is data source name.

time

Time value for updating the RRD with a particulat data. Default value is current time.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Throws a Exception on error.

Примеры

Пример #1 RRDUpdater::update() examples

<?php
$updator = new RRDUpdater("speed.rrd");
//updates the data source "speed" with value "12411"
//for time defined by timestamp "920807700"
$updator->update(array("speed" => "12411"), "920807700");
?>

RRDUpdater::__construct
SAM
RRDUpdater


Simple Asynchronous Messaging

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Connections
    • Messages
    • Messaging operations
    • Publish/Subscribe and subscriptions to topics
    • Error handling
  • SAM Функции
    • SAMConnection->commit — Commits (completes) the current unit of work.
    • SAMConnection->connect — Establishes a connection to a Messaging Server
    • SAMConnection->__construct — Creates a new connection to a Messaging Server
    • SAMConnection->disconnect — Disconnects from a Messaging Server
    • SAMConnection->errno — Contains the unique numeric error code of the last executed SAM operation.
    • SAMConnection->error — Contains the text description of the last failed SAM operation.
    • SAMConnection->isConnected — Queries whether a connection is established to a Messaging Server
    • SAMConnection->peek — Read a message from a queue without removing it from the queue.
    • SAMConnection->peekAll — Read one or more messages from a queue without removing it from the queue.
    • SAMConnection->receive — Receive a message from a queue or subscription.
    • SAMConnection->remove — Remove a message from a queue.
    • SAMConnection->rollback — Cancels (rolls back) an in-flight unit of work.
    • SAMConnection->send — Send a message to a queue or publish an item to a topic.
    • SAMConnection::setDebug — Turn on or off additional debugging output.
    • SAMConnection->subscribe — Create a subscription to a specified topic.
    • SAMConnection->unsubscribe — Cancel a subscription to a specified topic.
    • SAMMessage->body — The body of the message.
    • SAMMessage->__construct — Creates a new Message object
    • SAMMessage->header — The header properties of the message.
RRDUpdater::update
Введение
Другие службы


Введение

This extension provides access to the functionality of messaging and queueing systems, such as the IBM WebSphere MQSeries family of products, from PHP scripts. The interface is designed to make it extremely simple to do the more commonly required tasks such as deliver simple text messages to queues while still allowing skilled users to do more complex messaging operations. For many users the complexities of setting up numerous options can be simply ignored.

The SAM extension is a framework that provides a very simple API that can be used to access a number of messaging middleware systems. Currently the package includes built-in support for the MQTT (MQ Telemetry Transport) messaging protocol and support for the IBM Messaging and Queuing middleware products. SAM is designed to be readily extended to support other messaging systems and extension modules may be written in C or PHP.

SAM
Установка и настройка
SAM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SAM


Требования

The SAM extension interfaces to the IBM Messaging and Queuing middleware products using a set of libraries and some client side code referred to as XMS. This package is available as a free download in the guise of IBM support pack IA94. There is a description of this package and download links in the article » Introducing XMS - The IBM Message Service API.

If you intend to use SAM to access the Messaging and Queuing infrastructure within WebSphere MQ then you will also need to have installed a local MQ queue manager or installed the WebSphere MQ clients package. The clients package is freely available as a support pack (» MQC6).

If you are only aiming to experiment with sending messages to and from WebSphere Application Server queues using the WebSphere Platform Messaging protocol (WPM) then you do not need to install the MQC6 package.

After installing these packages you will need to ensure the XMS binary and, if you are using it, the MQ client bin directory are included in the PATH environment variable so that Apache and PHP can find the dependent .DLLs/libraries.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/sam.

The SAM framework and MQTT support can be built and used without any other prerequisites. Support for protocols other than MQTT is provided via a set of libraries and some client side code referred to as XMS.

If you only intend to use the built-in MQTT support then you can build and configure SAM as an extension or simply refer to php_sam.php with a require() or require_once() clause in your PHP script. In this case you need only install the code without building the extension using the pear installer:

pecl install -B SAM

Linux installation steps

The sam extension is supplied as a PECL module, which you should be able to download and install in one step as follows:

pecl install sam
(Depending on your php environment, you will probably need to be root to do this.)

Make sure that the module is loaded by PHP, by adding following line to php.ini:

extension=sam.so
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.
extension=sam_xms.so

If you cannot use the PEAR installer, you can download the extension and build it manually:

pear download sam          #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #you may need to be root for this step

To work with the very latest source, you'll need to extract it from SVN and build manually as above.

Windows installation steps

You will probably need to build the sam extension for Windows as there are only a limited range of pre-built binaries available from the SAM website. The extension can be built using the standard Windows extension build procedures.

You will need the PHP source tree for the version of PHP you wish to build the SAM extension against which you can obtain from php.net. This should be unpacked into a working directory of your choice.

You will also need the libraries and headers used by PHP extensions available from http://www.php.net/extra/win32build.zip and this should be unzipped so that is in your working directory.

You should have something like:

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

You will need a compiler such as the free version of Visual Studio C++ Express from the Microsoft web site. Also you need the Microsoft SDK Microsoft Windows Platform which again can be downloaded from the Microsoft web site.

Obtain the SAM extension source using pear (pecl download sam) or by using SVN and copy the files to a new "sam" directory under the "ext" directory in your PHP source tree.

To build the extension open a build environment window by going to the start

menu->all programs->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)

This should open a command prompt with all the environment variables set up to access the platform SDK etc. You then need to set the environment variables for Visual Studio by issuing the command vcvars32.bat in the window.

Change directory to your working directory e.g. cd c:\php-build. Then make sure the win32build tools are accessible by adding them to the PATH environment variable:

set PATH=..\win32build\bin;%PATH%

Run the buildconf.bat command. This should rebuild the configure.js file.

Run the cscript command with the appropriate options. To build just the SAM extension framework and MQTT support use:

cscript /nologo configure.js --with-sam
To build the SAM framework and the XMS support use:
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

The additional parameter passed for sam_xms is the installation path to the XMS libraries and runtime that were installed as described under prerequisites at the top of this page.

You can specify whatever other cscript parameters you require to include or exclude items from the php build or select options.

Assuming all has gone well so far you can now finally run a make for the SAM framework!

nmake php_sam.dll
Also if you are using the XMS support you must make the sam_xms extensions:
nmake php_sam_xms.dll

If you have used Visual Studio 2005 to build the DLLs please see below for additional steps that must be carried out before proceeding further.

The DLLs created (php_sam.dll and optionally php_sam_xms.dll) can now be copied to the subdirectory appropriate for your PHP set-up. Make sure that the module(s) are loaded by PHP, by adding following line to php.ini:

extension=php_sam.dll
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.
extension=php_sam_xms.dll

Additional steps for Visual Studio 2005

If you build the SAM extension with the Microsoft Visual Studio 2005 compiler and tools you need to perform an additional step in the build process to ensure the php_sam.dll is able to link with the C runtime libraries at runtime. This step includes the dependancy manifest into the DLL. Switch to the directory where the php_sam.dll has been generated (usually Release_TS or Debug_TS below the php source directory) and issue the following magic incantation:

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
If you are using the XMS capabilities you will need to do the same with the SAM XMS DLL:
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

If you build the SAM extension using the compiler and libraries from Microsoft Visual Studio 2005 you will also need to ensure that the runtime components are installed on the system on which you intend to use SAM. This can be accomplished by installing Visual Studio 2005 or by using the freely distributable » runtime package.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Protocol support and mapping

The SAM framework can be extended to support other messaging protocols and connection mechanisms. To add support for a new protocol or connection library a support class has to be defined, either as a C extension or as a PHP script, and a "factory" script must be created. The support class must implement all the methods of the SAMConnection class though it should not inherit from SAMConnection. The factory script will be called by the SAM framework to create an instance of the implemented class. The way SAM chooses which factory to call is based on the protocol specified as the first parameter of the "connect" call.

By default the built-in MQTT support will be used if a connect call specifies a protocol of SAM_MQTT ("mqtt"), for any other protocol SAM will attempt to use the XMS support extension. To add support for additional protocols or to modify the default behavior entries may be added to php.ini in the [sam] section. The default mapping is equivalent to the following entries:

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
As can be seen from these examples the entries take the form of "sam.factory.pppp=xxx" where pppp is the protocol string specified on the connect call and xxx is a factory suffix. Note: SAM defines constants for these protocol strings such that SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

When identifying the support code to use on a connect call SAM looks up the protocol name in the php.ini entries and then invokes a factory script named sam_factory_xxx.php. If no entry is found the support will default to XMS.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SAM_AUTO (string)
Automatic behaviour
SAM_BOOLEAN (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BUS (string)
Connect attribute used to set the name of the enterprise service bus to connect to.
SAM_BYTE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BYTES (string)
Message body type descriptor.
SAM_CORRELID (string)
Attribute used on receive, send and remove requests to identify specific messages.
SAM_DELIVERYMODE (string)
Message header property.
SAM_DOUBLE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_ENDPOINTS (string)
Connect attribute used to define the possible endpoints to connect to.
SAM_FLOAT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_HOST (string)
Connect attribute used to set the hostname of the required messaging server.
SAM_INT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_LONG (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_MANUAL (string)
Manual (script controlled) behaviour
SAM_MESSAGEID (string)
Attribute used on receive and remove requests to identify specific messages.
SAM_MQTT (string)
Connect protocol definition for selecting the MQTT (MQ Telemetry Transport) protocol.
SAM_MQTT_CLEANSTART (bool)
Optional connect option to indicate to an MQTT server that all previous connection data for this client should be removed and that subscriptions should be deleted when the client disconnects explicitly or unexpectedly.
SAM_NON_PERSISTENT (string)
Connect attribute value used to request messages are not made persistent on the messaging server.
SAM_PASSWORD (string)
Connect attribute used to define the password to be used for the user account being used to connect to a messaging server that requires authorisation for connections.
SAM_PERSISTENT (string)
Connect attribute value used to request messages are made persistent on the messaging server to protect against loss of messages in the event of failure.
SAM_PORT (string)
Connect attribute used to set the port number on which to communicate with the messaging server.
SAM_PRIORITY (string)
Option name used on send requests to specify a delivery priority value.
SAM_REPLY_TO (string)
Message property used to specify the queue identity on to which the script expects response or reply messages to be posted.
SAM_RTT (string)
Connect protocol definition for selecting the IBM Realtime Transport protocol for communication with a business integration messaging server.
SAM_STRING (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_TARGETCHAIN (string)
Connection attribute used to set the required target chain identifier.
SAM_TEXT (string)
Message body type descriptor.
SAM_TIMETOLIVE (string)
Message send option name used to specify the length of time a message should be retained in milliseconds.
SAM_TRANSACTIONS (string)
Connection attribute used to set required transactional behaviour. May be set to SAM_AUTO (default) or SAM_MANUAL.
SAM_USERID (string)
Connect attribute used to define the account to being used to connect to a messaging server that requires authorisation for connections.
SAM_WAIT (string)
Receive property used to specify the wait timeout to be used when receiving a message from a queue or subscription.
SAM_WMQ (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with the desired messaging server.
SAM_WMQ_BINDINGS (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a local messaging server.
SAM_WMQ_CLIENT (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a remote messaging server.
SAM_WMQ_TARGET_CLIENT (string)
Option name used on send requests to specify the target client mode. This can either be default to 'jms' or 'mq'. The default is 'jms' which means an RFH2 header is sent with the message whereas the 'mq' setting means no RFH2 is included.
SAM_WPM (string)
Connect protocol definition for selecting the IBM WebSphere Platform Messaging protocol for communication with a WebSphere Application Server messaging server.
Типы ресурсов
Примеры
SAM


Примеры

Содержание

  • Connections
  • Messages
  • Messaging operations
  • Publish/Subscribe and subscriptions to topics
  • Error handling
Предопределенные константы
Connections
SAM


Connections

In order to perform any messaging and queueing functions a connection must be established with a messaging server by creating a SAMConnection object and calling its "connect" method, with a set of connection properties, to connect the PHP script to the messaging server. Until such time as the SAMConnection object is destroyed the connection will be maintained and available for use. All SAMConnection objects are destroyed when the PHP script exits.

A set of default properties may be used in connecting to a messaging server but as a minimum the PHP script must specify a protocol to be used.

Пример #1 Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                              SAM_PORT => 1506,
                              SAM_BROKER => 'mybroker'));
?>

Пример #2 Creating a connection and connecting to a remote WebSphere Application Server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

Пример #3 Creating a connection and connecting to an MQTT server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                               SAM_PORT => 1883));
?>

Примеры
Messages
Примеры


Messages

Messages sent to and received from queues are represented by the SAMMessage object. The SAMMessage object encapsulates the body of the message (if one exists) and the header properties associated with the message. A SAMMessage object is either supplied as a parameter to a messaging operation or returned as a result.

Пример #1 Creating a message with a simple text body

<?php
$msg = new SAMMessage('This is a simple text message');
?>

Messages may have header properties associated with them that provide control over the transport of the message or further information to the receiving application. By default message properties are delivered to the underlying messaging system as strings and in this case they may be set with the following simple syntax:

Пример #2 Setting a text format property using the default syntax

<?php
$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Пример #3 Setting a property using a type hint

<?php
$msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Properties may also be extracted from the header of a message.

Пример #4 Retrieving a property from a message header

<?php
$myProperty = $msg->header->myPropertyName;
?>

Connections
Messaging operations
Примеры


Messaging operations

All messaging operations are performed through calls to methods on the connection object. To add a message to a queue the "send" method is used, to obtain a message from a queue the "receive" method is used. Other methods provide publish and subscribe functionality and control of transaction boundaries.

Пример #1 Adding a message to a queue and receiving a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Messages
Publish/Subscribe and subscriptions to topics
Примеры


Publish/Subscribe and subscriptions to topics

SAM allows messages to be sent either to queues or, for WebSphere MQ and WPM, to publish/subscribe topics. A topic destination is specified to SAM in the usual way, i.e. in the form 'topic://fred', rather than the form 'queue://AQUEUE' used for point to point operation. To use publish/subscribe it is simply necessary to specify the correct broker name on the SAMConnect "connect" call and the desired topic in the destination argument to the SAMConnect "send" and "receive" calls. The PHP interface is otherwise identical to the point to point model.

By default, SAM creates non-durable subscriptions when using publish/subscribe. This means that if a client application is inactive when messages are published to a topic, then it will not receive them when it subsequently restarted. SAM does also allow durable subscriptions to be made to topics when using WPM or WebSphere MQ publish/subscribe. The purpose of these subscriptions is to allow data to be received by a client application even if that client was not active at the time the data was published.

Durable subscriptions are specified by using the SAMConnect "subscribe" call. This method takes the destination topic as an input parameter and returns a subscription identifier that may be used on subsequent "receive" calls. When the subscription is no longer required the SAMConnection "unsubscribe" method should be used to delete the subscription.

Пример #1 Creating a durable subscription to a topic

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Пример #2 Subscribing to a topic using a WebSphere Platform Messaging (WPM) server

<?php
$conn = new SAMConnection();
// Note: For pub/sub on WPM, when connecting the name of a messaging engine
//   to hold the durable subscription (SAM_WPM_DUR_SUB_HOME) must be specified.
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging',
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Пример #3 Receiving published data using a durable subscription

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Received a message OK";
} else {
   echo "The receive failed";
}

?>

Пример #4 Deleting a durable subscription to a topic

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Unsubscribe failed";
}

?>

Messaging operations
Error handling
Примеры


Error handling

All SAMConnection methods that provide access to messaging operations return FALSE if an error occurred in processing the request. In addition the SAMConnection object has two properties, "errno" and "error", that provide respectively the error number and text description of the last error to occur on the connection.

Пример #1 Handling an error from a method that returns no result

<?php
if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
}
?>

Пример #2 Handling an error from a method that returns a result

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  /* ... */
}
?>

Publish/Subscribe and subscriptions to topics
SAM Функции
Примеры


SAM Функции

Предопределенные классы

SAMConnection

Object representing a connection to a Messaging Server

Конструктор

  • new SAMConnection - construct a new connection object to allow connection to a messaging infrastructure.

Методы

  • commit - a method that commits (successfully completes) an in-flight unit of work.

  • connect - a method that connects a PHP script to a messaging server.

  • disconnect - a method that disconnects a PHP script from a messaging server.

  • isConnected - a method that checks whether a PHP script is connected to a messaging server.

  • peek - a method that receives a message from a queue without removing it from the queue.

  • peekAll - a method that receives one or messages from a queue without removing them from the queue.

  • receive - a method that receives a message from a queue or subscription.

  • remove - a method that removes a message from a queue.

  • rollback - a method that cancels (rolls back) an in-flight unit of work.

  • send - a method that sends a message to a queue or posts to a topic

  • setDebug - a method that switches additional debugging output on or off

  • subscribe - a method that creates a subscription to one or more topics

  • unsubscribe - a method that destroys a subscription to one or more topics

Свойства

  • errno - the numeric error code for the last encountered error on this connection. This property is set to 0 if the last operation was successful.

  • error - the text description for the last encountered error on this connection

SAMMessage

Object representing a message to be sent or received

Конструктор

  • new SAMMessage - construct a new message.

Свойства

  • body - the body of the message.

  • header - the header properties of the message.

Содержание

  • SAMConnection->commit — Commits (completes) the current unit of work.
  • SAMConnection->connect — Establishes a connection to a Messaging Server
  • SAMConnection->__construct — Creates a new connection to a Messaging Server
  • SAMConnection->disconnect — Disconnects from a Messaging Server
  • SAMConnection->errno — Contains the unique numeric error code of the last executed SAM operation.
  • SAMConnection->error — Contains the text description of the last failed SAM operation.
  • SAMConnection->isConnected — Queries whether a connection is established to a Messaging Server
  • SAMConnection->peek — Read a message from a queue without removing it from the queue.
  • SAMConnection->peekAll — Read one or more messages from a queue without removing it from the queue.
  • SAMConnection->receive — Receive a message from a queue or subscription.
  • SAMConnection->remove — Remove a message from a queue.
  • SAMConnection->rollback — Cancels (rolls back) an in-flight unit of work.
  • SAMConnection->send — Send a message to a queue or publish an item to a topic.
  • SAMConnection::setDebug — Turn on or off additional debugging output.
  • SAMConnection->subscribe — Create a subscription to a specified topic.
  • SAMConnection->unsubscribe — Cancel a subscription to a specified topic.
  • SAMMessage->body — The body of the message.
  • SAMMessage->__construct — Creates a new Message object
  • SAMMessage->header — The header properties of the message.
Error handling
SAMConnection->commit
SAM


Commits (completes) the current unit of work.

SAM Функции
SAMConnection->connect
SAM Функции
PHP Manual

SAMConnection->commit

(PECL sam >= 0.1.0)

SAMConnection->commit — Commits (completes) the current unit of work.

Описание

bool SAMConnection::commit ( void )

Calling the "commit" method on a Connection object commits (completes) all in-flight transactions that are part of the current unit of work.

Возвращаемые значения

This method returns FALSE if an error occurs.

Примеры

Пример #1 Committing the current unit of work

<?php
  if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
  }
?>

Смотрите также

  • SAMConnection->rollback

SAM Функции
SAMConnection->connect
SAM Функции


Establishes a connection to a Messaging Server

SAMConnection->commit
SAMConnection->__construct
SAM Функции
PHP Manual

SAMConnection->connect

(PECL sam >= 0.1.0)

SAMConnection->connect — Establishes a connection to a Messaging Server

Описание

bool SAMConnection::connect ( string $protocol [, array $properties ] )

Calling the "connect" method on a SAMConnection object connects the PHP script to a messaging server. No messages can be sent or received until a connection is made.

Список параметров

Возвращаемые значения

This method returns FALSE if an error occurs.

Примеры

Пример #1 Creating a connection to a Messaging Server using the IBM MQSeries protocol (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

Пример #2 Creating a connection with application transaction control and default host and port values

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

Пример #3 Creating a connection to a Messaging Server using the IBM WebSphere Platform Messaging protocol (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

Смотрите также

  • SAMConnection->isConnected
  • SAMConnection->disconnect

SAMConnection->commit
SAMConnection->__construct
SAM Функции


Creates a new connection to a Messaging Server

SAMConnection->connect
SAMConnection->disconnect
SAM Функции
PHP Manual

SAMConnection->__construct

(PECL sam >= 0.1.0)

SAMConnection->__construct — Creates a new connection to a Messaging Server

Описание

SAMConnection::__construct ( void )

Creates a new SAMConnection object.

Примеры

Пример #1 Creating a connection object and connecting to a Messaging Server

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

SAMConnection->connect
SAMConnection->disconnect
SAM Функции


Disconnects from a Messaging Server

SAMConnection->__construct
SAMConnection->errno
SAM Функции
PHP Manual

SAMConnection->disconnect

(PECL sam >= 0.1.0)

SAMConnection->disconnect — Disconnects from a Messaging Server

Описание

bool SAMConnection::disconnect ( void )

Calling the "disconnect" method on a SAMConnection object disconnects the PHP script from a messaging server. No messages can be sent or received after a connection has been disconnected.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Disconnecting from a Messaging Server

<?php

$conn->disconnect();

?>

Смотрите также

  • SAMConnection->isConnected
  • SAMConnection->connect

SAMConnection->__construct
SAMConnection->errno
SAM Функции


Contains the unique numeric error code of the last executed SAM operation.

SAMConnection->disconnect
SAMConnection->error
SAM Функции
PHP Manual

SAMConnection->errno

(PECL sam >= 0.1.0)

SAMConnection->errno — Contains the unique numeric error code of the last executed SAM operation.

Description

int $SAMConnection->errno;

Contains the numeric error code of the last executed SAM operation on this connection. If the last operation completed successfully this property contains 0.

Возвращаемые значения

An integer greater than zero indicates the last error type encountered on the connection. Zero indicates that the last operation on this connection completed successfully.

Примеры

Пример #1 Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Смотрите также

  • SAMConnection->error

SAMConnection->disconnect
SAMConnection->error
SAM Функции


Contains the text description of the last failed SAM operation.

SAMConnection->errno
SAMConnection->isConnected
SAM Функции
PHP Manual

SAMConnection->error

(PECL sam >= 0.1.0)

SAMConnection->error — Contains the text description of the last failed SAM operation.

Описание

string $SAMConnection->error;

Contains the text description of the last failed SAM operation on this connection. If the last operation completed successfully this property contains an empty string.

Возвращаемые значения

A string containing the text description of the last error type encountered on the connection. An empty string indicates that the last operation on this connection completed successfully.

Примеры

Пример #1 Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Смотрите также

  • SAMConnection->errno

SAMConnection->errno
SAMConnection->isConnected
SAM Функции


Queries whether a connection is established to a Messaging Server

SAMConnection->error
SAMConnection->peek
SAM Функции
PHP Manual

SAMConnection->isConnected

(PECL sam >= 0.1.0)

SAMConnection->isConnected — Queries whether a connection is established to a Messaging Server

Описание

bool SAMConnection::isConnected ( void )

Calling the "isConnected" method on a Connection object will check whether the PHP script is connected to a messaging server. No messages can be sent or received unless a connection has been established with a Messaging server.

Возвращаемые значения

This method returns TRUE if the SAMConnection object is successfully connected to a Messaging server or FALSE otherwise.

Примеры

Пример #1 Checking whether there us a connection to a Messaging Server

<?php

if ($conn->isConnected()) {
  echo 'Connection is active.';
} else {
  echo 'No active connection!';
}

?>

Смотрите также

  • SAMConnection->disconnect
  • SAMConnection->connect

SAMConnection->error
SAMConnection->peek
SAM Функции


Read a message from a queue without removing it from the queue.

SAMConnection->isConnected
SAMConnection->peekAll
SAM Функции
PHP Manual

SAMConnection->peek

(PECL sam >= 0.1.0)

SAMConnection->peek — Read a message from a queue without removing it from the queue.

Описание

SAMMessage SAMConnection::peek ( string $target [, array $properties ] )

Список параметров

target

The identity of the queue from which to peek the message.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be peeked.

Возвращаемые значения

This method returns a SAMMessage object or FALSE if an error occurs.

Примеры

Пример #1 Retrieve the next message from a queue without removing it

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // The peek failed!
  echo "Peek failed ($conn->errno) $conn->error";
}
?>

Пример #2 Retrieve a specific message from a queue without removing it from the queue

<?php

$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));

?>

Смотрите также

  • SAMConnection->peekAll

SAMConnection->isConnected
SAMConnection->peekAll
SAM Функции


Read one or more messages from a queue without removing it from the queue.

SAMConnection->peek
SAMConnection->receive
SAM Функции
PHP Manual

SAMConnection->peekAll

(PECL sam >= 0.2.0)

SAMConnection->peekAll — Read one or more messages from a queue without removing it from the queue.

Описание

array SAMConnection::peekAll ( string $target [, array $properties ] )

Список параметров

target

The identity of the queue from which messages should be peeked.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of messages to be peeked. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of a message which is to be peeked.

Возвращаемые значения

This method returns an array of SAMMessage objects or FALSE if an error occurs.

Примеры

Пример #1 Retrieve all messages in a queue without removing them

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "PeekAll failed ($conn->errno) $conn->error";
}
?>

Пример #2 Retrieve all messages from a queue with a matching correlation id

<?php

   $msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
   if ($msgArray) {

      foreach ( $msgArray as $key => $msg) {
            echo "Message $key: body = $msg->body\n";
         }
   } else {
      echo "PeekAll failed ($conn->errno) $conn->error";
   }

?>

Смотрите также

  • SAMConnection->peek

SAMConnection->peek
SAMConnection->receive
SAM Функции


Receive a message from a queue or subscription.

SAMConnection->peekAll
SAMConnection->remove
SAM Функции
PHP Manual

SAMConnection->receive

(PECL sam >= 0.1.0)

SAMConnection->receive — Receive a message from a queue or subscription.

Описание

SAMMessage SAMConnection::receive ( string $target [, array $properties ] )

Список параметров

target

The identity of the queue, topic or subscription from which to receive the message.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_CORRELID | Used to request selection of the message to receive based upon the correlation id string of the message.
SAM_MESSAGEID | Used to request selection of the message to receive based upon the message id string of the message.
SAM_WAIT | Timeout value in milliseconds to control how long the request should block waiting to receive a message before returning with a failure if no message is available on the queue or topic. The default value is 0 meaning wait indefinitely and should be used with caution as the request may wait until the overall PHP script processing time limit has expired if no message becomes available.

Возвращаемые значения

This method returns a SAMMessage object or FALSE if an error occurs.

Примеры

Пример #1 Receiving a message from a queue

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Пример #2 Receiving a message from a queue with options

In this example the SAM_CORRELID option is used to specify a correlation id string to be used to identify the message to receive. A wait timeout of 10 seconds is also specified.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

Пример #3 Receiving a message from a subscription

In this example we show how to receive a message from a subscription id.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Please note that $subscriptionName is a subscription id returned from an earlier subscribe call.

Смотрите также

  • SAMConnection->send

SAMConnection->peekAll
SAMConnection->remove
SAM Функции


Remove a message from a queue.

SAMConnection->receive
SAMConnection->rollback
SAM Функции
PHP Manual

SAMConnection->remove

(PECL sam >= 0.1.0)

SAMConnection->remove — Remove a message from a queue.

Описание

SAMMessage SAMConnection::remove ( string $target [, array $properties ] )

Removes a message from a queue.

Список параметров

target

The identity of the queue from which to remove the message.

properties

An optional associative array of properties describing other parameters to control the remove operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be removed.

Возвращаемые значения

This method returns FALSE if an error occurs.

Примеры

Пример #1 Removing a message from a queue by message id

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // The remove failed!
  echo "Remove failed ($conn->errno) $conn->error";
}
?>

SAMConnection->receive
SAMConnection->rollback
SAM Функции


Cancels (rolls back) an in-flight unit of work.

SAMConnection->remove
SAMConnection->send
SAM Функции
PHP Manual

SAMConnection->rollback

(PECL sam >= 0.1.0)

SAMConnection->rollback — Cancels (rolls back) an in-flight unit of work.

Описание

bool SAMConnection::rollback ( void )

Rolls back an in-flight unit of work.

Возвращаемые значения

This method returns FALSE if an error occurs.

Примеры

Пример #1 Cancelling an in-flight unit of work

<?php
if (!$conn->rollback()) {
  // The rollback failed!
  echo "Rollback failed ($conn->errno) $conn->error";
}
?>

Смотрите также

  • SAMConnection->commit

SAMConnection->remove
SAMConnection->send
SAM Функции


Send a message to a queue or publish an item to a topic.

SAMConnection->rollback
SAMConnection::setDebug
SAM Функции
PHP Manual

SAMConnection->send

(PECL sam >= 0.1.0)

SAMConnection->send — Send a message to a queue or publish an item to a topic.

Описание

string SAMConnection::send ( string $target , SAMMessage $msg [, array $properties ] )

The "send" method is used to send a message to a specific queue or to publish to a specific topic. The method returns a correlation id that can be used as a selector to identify reply or response messages when these are requested.

Список параметров

target

If sending a message, the identity of the queue (queue://queuename) or if publishing to a topic the identity of the topic (topic://topicname) to which the message is to be delivered.

msg

The message to be sent or published.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_DELIVERYMODE | Indicates whether the messaging server should ensure delivery or whether it is acceptable for messages to be lost in the case of system failures. The value of this property may be set to either SAM_PERSISTENT, to indicate that message loss is not acceptable, or SAM_NON_PERSISTENT, if message loss is acceptable. The resulting behaviour of the send will vary depending on the capabilities of the messaging server the PHP script is currently connected to. If the server does not support persistent messages and SAM_PERSISTENT is specified the send request will fail with an error indication showing the capability is not available.
SAM_PRIORITY | A numeric value between 0 and 9 indicating the desired message delivery priority. A priority value of 0 indicates the lowest priority while 9 indicates highest priority. If no priority is specified a default will be assigned which is dependent on the messaging server being used.
SAM_CORRELID | A string to be assigned as a correlation id for this message. If no value is given the messaging server may assign a value automatically.
SAM_TIMETOLIVE | A time in milliseconds indicating how long the messaging server should retain the message on a queue before discarding it. The default value is 0 indicating the message should be retained indefinitely.
SAM_WMQ_TARGET_CLIENT | This property is only valid when using WebSphere MQ and indicates whether or not an RFH2 header should be included with the message. This option may be set to either 'jms' or 'mq'. The default is 'jms' which means that an RFH2 header is included. If the value 'mq' is specified then no RFH2 is included with the message.

Возвращаемые значения

A correlation id string that can be used in a subsequent receive call as a selector to obtain any reply or response that has been requested or FALSE if an error occurred.

Замечание:

A correlation id will only be returned for a successful send to a queue destination (queue://xxxx) in which case it will reflect the message identity of the message on the queue. In the case of a send being used to publish data to a topic the return value will be TRUE as no correlation id is available for return.

Примеры

Пример #1 Send a message to a queue

<?php
$msg = new SAMMessage('This is a simple text message');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // The send failed!
    echo "Send failed ($conn->errno) $conn->error";
}

?>

Пример #2 Publish a message to a topic

<?php
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Пример #3 Send a request and receive a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Смотрите также

  • SAMConnection->receive

SAMConnection->rollback
SAMConnection::setDebug
SAM Функции


Turn on or off additional debugging output.

SAMConnection->send
SAMConnection->subscribe
SAM Функции
PHP Manual

SAMConnection::setDebug

(PECL sam >= 1.1.0)

SAMConnection::setDebug — Turn on or off additional debugging output.

Описание

The "setdebug" method is used to turn on or off additional debugging output. The SAM framework will provide method/function entry and exit trace data plus additional information. Protocol specific implementations also provide extra output.

void SAMConnection::setDebug ( bool $switch )

Список параметров

switch

If this parameter is set to TRUE additional debugging output will be provided. If the value is set to FALSE output of additional information will be stopped.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Turn on debugging output

<?php
$conn->setdebug(TRUE);
?>

Пример #2 Turn off debugging output

<?php
$conn->setdebug(FALSE);
?>

SAMConnection->send
SAMConnection->subscribe
SAM Функции


Create a subscription to a specified topic.

SAMConnection::setDebug
SAMConnection->unsubscribe
SAM Функции
PHP Manual

SAMConnection->subscribe

(PECL sam >= 0.1.0)

SAMConnection->subscribe — Create a subscription to a specified topic.

Описание

string SAMConnection::subscribe ( string $targetTopic )

The "subscribe" method is used to create a new subscription to a specified topic.

Список параметров

targetTopic

The identity of the topic (topic://topicname) to subscribe to.

Возвращаемые значения

A subscription identifier that can be used in a subsequent receive call as a selector to obtain any topic data or FALSE if an error occurred. The subscription identifier should be used in the receive call in place of the simple topic name.

Примеры

Пример #1 Subscribe to a topic

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // The subscribe failed!
  echo "Subscribe failed ($conn->errno) $conn->error";
}
?>

Смотрите также

  • SAMConnection->unsubscribe

SAMConnection::setDebug
SAMConnection->unsubscribe
SAM Функции


Cancel a subscription to a specified topic.

SAMConnection->subscribe
SAMMessage->body
SAM Функции
PHP Manual

SAMConnection->unsubscribe

(PECL sam >= 0.1.0)

SAMConnection->unsubscribe — Cancel a subscription to a specified topic.

Описание

bool SAMConnection::unsubscribe ( string $subscriptionId [, string $targetTopic ] )

The "unsubscribe" method is used to delete an existing subscription to a specified topic.

Список параметров

subscriptionId

The identifier of an existing subscription as returned by a call to the subscribe method.

Возвращаемые значения

This method returns FALSE if an error occurs.

Примеры

Пример #1 Delete a subscription

<?php
if (!$conn->unsubscribe($subid)) {
    // The unsubscribe failed!
    echo "Unsubscribe failed ($conn->errno) $conn->error";
}
?>

Смотрите также

  • SAMConnection->subscribe

SAMConnection->subscribe
SAMMessage->body
SAM Функции


The body of the message.

SAMConnection->unsubscribe
SAMMessage->__construct
SAM Функции
PHP Manual

SAMMessage->body

(PECL sam >= 0.1.0)

SAMMessage->body — The body of the message.

Описание

string $SAMMessage->body;

The "body" property contains the actual body of the message. It may not always be set.

Примеры

Пример #1 Setting a text string into the body of a message

<?php
$msg = new SAMMessage();
$msg->body = 'This is a simple message';

?>

Смотрите также

  • SAMMessage->header

SAMConnection->unsubscribe
SAMMessage->__construct
SAM Функции


Creates a new Message object

SAMMessage->body
SAMMessage->header
SAM Функции
PHP Manual

SAMMessage->__construct

(PECL sam >= 0.1.0)

SAMMessage->__construct — Creates a new Message object

Описание

SAMMessage::__construct ([ mixed $body ] )

Creates a new SAMMessage object optionally specifying a message body.

Список параметров

body

The optional body for the message.

Примеры

Пример #1 Creating a message

<?php

$msg = new SAMMessage();

?>

Пример #2 Creating a message with a simple text payload

<?php

$msg = new SAMMessage('This is a simple text message');

?>

SAMMessage->body
SAMMessage->header
SAM Функции


The header properties of the message.

SAMMessage->__construct
SNMP
SAM Функции
PHP Manual

SAMMessage->header

(PECL sam >= 0.1.0)

SAMMessage->header — The header properties of the message.

Описание

object $SAMMessage->header;

The header property is a container for any system or user properties that area associated with the message.

Properties may be assigned by the sender of a message to control the way the messaging systems handles it or may be assigned by the messaging system itself to tell the recipient extra information about the message or the way in which it has been handled.

Some properties are understood by SAM in which case constants have been defined for them. The majority of properties however are ignored by the SAM implementation and simply passed through to the underlying messaging systems allowing the application to use messaging specific property names or to define its own "user" properties.

The SAM defined properties are as follows:

Property name | Possible values
SAM_MESSAGEID | When a message is received this field contains the unique identifier of the message as allocated by the underlying messaging system. When sending a message this field is ignored.
SAM_REPLY_TO | A string providing the identity of the queue on to which responses to this message should be posted.
SAM_TYPE

An indication of the type of message to be sent. The value may be SAM_TEXT indicating the contents of the message body is a text string, or SAM_BYTES indicating the contents of the message body are some application defined format.

The way in which this property is used may depend on the underlying messaging server. For instance a messaging server that supports the JMS (Java Message Service) specification may interpret this value and send messages of type "jms_text" and "jms_bytes". In addition, if the SAM_TYPE property is set to SAM_TEXT the data provided for the message body is expected to be a UTF8 encoded string.

When setting the values of properties it is often useful to give a hint as to the format in which the property should be delivered to the messaging system. By default property values are delivered as text and the following simple syntax may be used to set a value:

Пример #1 Setting a text format property using the default syntax

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Пример #2 Setting a text format property using a type hint

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

When passing a type hint the type entry should be one of the SAM defined constant values as defined by the following table:

Constant | Type description
SAM_BOOLEAN | Any value passed will be interpreted as logical true or false. If the value cannot be interpreted as a PHP boolean value the value passed to the messaging system is undefined.
SAM_BYTE | An 8-bit signed integer value. SAM will attempt to convert the property value specified into a single byte value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 8-bit signed binary value data may be lost in the conversion.
SAM_DOUBLE | A long floating point value. SAM will attempt to convert the property value specified into a floating point value with 15 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 15 digit floating point value data may be lost in the conversion.
SAM_FLOAT | A short floating point value. SAM will attempt to convert the property value specified into a floating point value with 7 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 7 digit floating point value data may be lost in the conversion.
SAM_INT | An 32-bit signed integer value. SAM will attempt to convert the property value specified into a 32-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 32-bit signed binary value data may be lost in the conversion.
SAM_LONG | An 64-bit signed integer value. SAM will attempt to convert the property value specified into a 64-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 64-bit signed binary value data may be lost in the conversion.
SAM_STRING | SAM will interpret the property value specified as a string and pass it to the messaging system accordingly.

Примеры

Пример #3 Setting properties as the sender of a message

<?php
$msg = new SAMMessage('This is a test message');

// defining SAM specific properties...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// defining arbitrary properties...
//
// a default string property
$msg->header->myStringProp1 = 'a string property';
// a string property with a type hint
$msg->header->myStringProp2 = array('another string property', SAM_STRING);

// a boolean property
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// numeric format properties
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

Пример #4 Retreiving property values from a message

<?php

// accessing an application specific property
$intProp = $msg->header->MyIntProp;

// accessing a messaging system specific property
$encoding = $msg->header->JMS_IBM_Msgtype;

?>

Смотрите также

  • SAMMessage->body

SAMMessage->__construct
SNMP
SAM Функции


SNMP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SNMP Функции
    • snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting
    • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
    • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print — Return all objects including their respective object id within the specified one
    • snmp_set_oid_output_format — Set the OID output format
    • snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library
    • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
    • snmp2_get — Fetch an SNMP object
    • snmp2_getnext — Fetch the SNMP object which follows the given object id
    • snmp2_real_walk — Return all objects including their respective object ID within the specified one
    • snmp2_set — Set the value of an SNMP object
    • snmp2_walk — Fetch all the SNMP objects from an agent
    • snmp3_get — Fetch an SNMP object
    • snmp3_getnext — Fetch the SNMP object which follows the given object id
    • snmp3_real_walk — Return all objects including their respective object ID within the specified one
    • snmp3_set — Set the value of an SNMP object
    • snmp3_walk — Fetch all the SNMP objects from an agent
    • snmpget — Fetch an SNMP object
    • snmpgetnext — Fetch the SNMP object which follows the given object id
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Set the value of an SNMP object
    • snmpwalk — Fetch all the SNMP objects from an agent
    • snmpwalkoid — Query for a tree of information about a network entity
  • SNMP — The SNMP class
    • SNMP::close — Close SNMP session
    • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
    • SNMP::get — Fetch an SNMP object
    • SNMP::getErrno — Get last error code
    • SNMP::getError — Get last error message
    • SNMP::getnext — Fetch an SNMP object which follows the given object id
    • SNMP::set — Set the value of an SNMP object
    • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
    • SNMP::walk — Fetch SNMP object subtree
  • SNMPException — The SNMPException class
SAMMessage->header
Введение
Другие службы


Введение

Расширение SNMP предоставляет простой и удобный набор инструментов для управления удаленными устройствами через Simple Network Management Protocol (простой протокол управления сетями).

Так как данное расширение является оберткой над библиотекой Net-SNMP (или UCD-SNMP на старых системах), все основные концепции идентичны и функции PHP меняют их поведение в зависимости от конфигурации Net-SNMP и переменных среды.

Начиная с версии PHP 5.4, доступен как OpenOffice API.

Больше информации о Net-SNMP можно найти по адресу » http://www.net-snmp.org/.

SNMP
Установка и настройка
SNMP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SNMP


Требования

Чтобы использовать функции SNMP в Unix необходимо установить пакет » Net-SNMP. Функции SNMPv3 доступны только тогда, когда установлен пакет » OpenSSL.

Для Windows функции SNMP доступны только в NT и не поддерживаются в Win95/98.

Начиная с версии PHP 5.4.0 для установки на Unix-системах необходим пакет Net-SNMP версии 5.3+, а для установки на Windows-системах необходим пакет Net-SNMP версии 5.4+.

Установка и настройка
Установка
Установка и настройка


Установка

PHP 5.3.0, 5.3.1 and 5.3.2 do not have SNMP support. SNMP support has restored in PHP 5.3.3.

The Windows distribution of Net-SNMP contains support files for SNMP in the mibs directory. This directory should be moved to DRIVE:\usr\mibs, where DRIVE must be replaced with the driveletter where PHP is installed on, e.g.c:\usr\mibs. Alternatively you may set MIBDIRS environment variable pointed to your MIBs folder.

Important notes for PHP prior to 5.4.0: In order to use the UCD SNMP package, you need to define NO_ZEROLENGTH_COMMUNITY to 1 before compiling it. After configuring UCD SNMP, edit config.h or acconfig.h and search for NO_ZEROLENGTH_COMMUNITY. Uncomment the #define line. It should look like this afterwards:

#define NO_ZEROLENGTH_COMMUNITY 1
Now compile PHP --with-snmp[=DIR] .

If you see strange segmentation faults in combination with SNMP commands, you did not follow the above instructions. If you do not want to recompile UCD SNMP, you can compile PHP with the --enable-ucd-snmp-hack switch which will work around the misfeature.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

For the snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (integer)
As of 5.4.0
SNMP_OID_OUTPUT_MODULE (integer)
As of 5.4.0
SNMP_OID_OUTPUT_FULL (integer)
As of 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
As of 5.2.0
SNMP_OID_OUTPUT_UCD (integer)
As of 5.4.0
SNMP_OID_OUTPUT_NONE (integer)
As of 5.4.0
For the snmp_set_valueretrieval()
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
SNMP types as returned if SNMP_VALUE_OBJECT was used with snmp_set_valueretrieval()
SNMP_BIT_STR (integer)
SNMP_OCTET_STR (integer)
SNMP_OPAQUE (integer)
SNMP_NULL (integer)
SNMP_OBJECT_ID (integer)
SNMP_IPADDRESS (integer)
SNMP_COUNTER (integer)
SNMP_UNSIGNED (integer)
SNMP_TIMETICKS (integer)
SNMP_UINTEGER (integer)
SNMP_INTEGER (integer)
SNMP_COUNTER64 (integer)
Типы ресурсов
SNMP Функции
SNMP


SNMP Функции

Содержание

  • snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting
  • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
  • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
  • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
  • snmp_set_oid_numeric_print — Return all objects including their respective object id within the specified one
  • snmp_set_oid_output_format — Set the OID output format
  • snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library
  • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
  • snmp2_get — Fetch an SNMP object
  • snmp2_getnext — Fetch the SNMP object which follows the given object id
  • snmp2_real_walk — Return all objects including their respective object ID within the specified one
  • snmp2_set — Set the value of an SNMP object
  • snmp2_walk — Fetch all the SNMP objects from an agent
  • snmp3_get — Fetch an SNMP object
  • snmp3_getnext — Fetch the SNMP object which follows the given object id
  • snmp3_real_walk — Return all objects including their respective object ID within the specified one
  • snmp3_set — Set the value of an SNMP object
  • snmp3_walk — Fetch all the SNMP objects from an agent
  • snmpget — Fetch an SNMP object
  • snmpgetnext — Fetch the SNMP object which follows the given object id
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Set the value of an SNMP object
  • snmpwalk — Fetch all the SNMP objects from an agent
  • snmpwalkoid — Query for a tree of information about a network entity
Предопределенные константы
snmp_get_quick_print
SNMP


Fetches the current value of the UCD library's quick_print setting

SNMP Функции
snmp_get_valueretrieval
SNMP Функции
PHP Manual

snmp_get_quick_print

(PHP 4, PHP 5)

snmp_get_quick_print — Fetches the current value of the UCD library's quick_print setting

Описание

bool snmp_get_quick_print ( void )

Returns the current value stored in the UCD Library for quick_print. quick_print is off by default.

Возвращаемые значения

Returns TRUE if quick_print is on, FALSE otherwise.

Примеры

Пример #1 snmp_get_quick_print() example

<?php
$quickprint = snmp_get_quick_print();
?>

Смотрите также

  • snmp_set_quick_print() - Set the value of quick_print within the UCD SNMP library for a full description of what quick_print does.

SNMP Функции
snmp_get_valueretrieval
SNMP Функции


Return the method how the SNMP values will be returned

snmp_get_quick_print
snmp_read_mib
SNMP Функции
PHP Manual

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_get_valueretrieval — Return the method how the SNMP values will be returned

Описание

int snmp_get_valueretrieval ( void )

Возвращаемые значения

OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.

Примеры

Пример #1 Using snmp_get_valueretrieval

<?php
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 if (snmp_get_valueretrieval() & SNMP_VALUE_OBJECT) {
   echo $ret->value;
 } else {
   echo $ret;
 }

Смотрите также

  • snmp_set_valueretrieval() - Specify the method how the SNMP values will be returned
  • Предопределенные константы

snmp_get_quick_print
snmp_read_mib
SNMP Функции


Reads and parses a MIB file into the active MIB tree

snmp_get_valueretrieval
snmp_set_enum_print
SNMP Функции
PHP Manual

snmp_read_mib

(PHP 5)

snmp_read_mib — Reads and parses a MIB file into the active MIB tree

Описание

bool snmp_read_mib ( string $filename )

This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.

Список параметров

filename

The filename of the MIB.

Примеры

Пример #1 Using snmp_read_mib()

<?php
 print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );

 snmp_read_mib('./FOO-BAR-MIB.txt');
 print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable' );
?>

The above example is made up but the results would look like:

Array
(
    [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
)
Array
(
    [FOO-BAR-MIB::someTable.0] => Gauge32: 6
)

snmp_get_valueretrieval
snmp_set_enum_print
SNMP Функции


Return all values that are enums with their enum value instead of the raw integer

snmp_read_mib
snmp_set_oid_numeric_print
SNMP Функции
PHP Manual

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer

Описание

bool snmp_set_enum_print ( int $enum_print )

This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

Список параметров

enum_print

As the value is interpreted as boolean by the Net-SNMP library, it can only be "0" or "1".

Примеры

Пример #1 Using snmp_set_enum_print()

<?php
 snmp_set_enum_print(0);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
 snmp_set_enum_print(1);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
?>

The above would return

 INTEGER: up(1)
 INTEGER: 1

Примечания

Замечание:

snmp_set_enum_print() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

snmp_read_mib
snmp_set_oid_numeric_print
SNMP Функции


Return all objects including their respective object id within the specified one

snmp_set_enum_print
snmp_set_oid_output_format
SNMP Функции
PHP Manual

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_oid_numeric_print — Return all objects including their respective object id within the specified one

Описание

void snmp_set_oid_numeric_print ( int $oid_format )

Эта функция является псевдонимом: snmp_set_oid_output_format().

Список изменений

Версия | Описание
5.2.0 | Since PHP 5.2.0.

Смотрите также

  • snmp_set_oid_output_format() - Set the OID output format

snmp_set_enum_print
snmp_set_oid_output_format
SNMP Функции


Set the OID output format

snmp_set_oid_numeric_print
snmp_set_quick_print
SNMP Функции
PHP Manual

snmp_set_oid_output_format

(PHP 5 >= 5.2.0)

snmp_set_oid_output_format — Set the OID output format

Описание

bool snmp_set_oid_output_format ( int $oid_format = SNMP_OID_OUTPUT_MODULE )

snmp_set_oid_output_format() sets the output format to be full or numeric.

Список параметров

oid_format
OID .1.3.6.1.2.1.1.3.0 representation for various oid_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0

Begining from PHP 5.4.0 four additional constants available:

SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

Примеры

Пример #1 Using snmprealwalk()

<?php

 snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");

 // default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

The above would output:

 Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )

snmp_set_oid_numeric_print
snmp_set_quick_print
SNMP Функции


Set the value of quick_print within the UCD SNMP library

snmp_set_oid_output_format
snmp_set_valueretrieval
SNMP Функции
PHP Manual

snmp_set_quick_print

(PHP 4, PHP 5)

snmp_set_quick_print — Set the value of quick_print within the UCD SNMP library

Описание

bool snmp_set_quick_print ( bool $quick_print )

Sets the value of quick_print within the UCD SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

By default the UCD SNMP library returns verbose values, quick_print is used to return only the value.

Currently strings are still returned with extra quotes, this will be corrected in a later release.

Список параметров

quick_print

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Setting quick_print is often used when using the information returned rather than displaying it.

Пример #1 Using snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

Результатом выполнения данного примера будет что-то подобное:

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

Смотрите также

  • snmp_get_quick_print() - Fetches the current value of the UCD library's quick_print setting

snmp_set_oid_output_format
snmp_set_valueretrieval
SNMP Функции


Specify the method how the SNMP values will be returned

snmp_set_quick_print
snmp2_get
SNMP Функции
PHP Manual

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval — Specify the method how the SNMP values will be returned

Описание

bool snmp_set_valueretrieval ( int $method = SNMP_VALUE_LIBRARY )

Список параметров

method
types
SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set.

Примеры

Пример #1 Using snmp_set_valueretrieval()

<?php
 snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "STRING: lo"

 snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "lo";

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 // PHP 5.4+ examples
 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => STRING: lo
 // )

?>

Список изменений

Версия | Описание
5.4.0 | Constants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.

Смотрите также

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned
  • Предопределенные константы

snmp_set_quick_print
snmp2_get
SNMP Функции


Fetch an SNMP object

snmp_set_valueretrieval
snmp2_getnext
SNMP Функции
PHP Manual

snmp2_get

(PHP 5 >= 5.2.0)

snmp2_get — Fetch an SNMP object

Описание

string snmp2_get ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get() function is used to read the value of an SNMP object specified by the object_id.

Список параметров

host

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error.

Примеры

Пример #1 Using snmp2_get()

<?php
$syscontact = snmp2_get("127.0.0.1", "public", "system.SysContact.0");
?>

Смотрите также

  • snmp2_set() - Set the value of an SNMP object

snmp_set_valueretrieval
snmp2_getnext
SNMP Функции


Fetch the SNMP object which follows the given object id

snmp2_get
snmp2_real_walk
SNMP Функции
PHP Manual

snmp2_getnext

(PHP >= 5.2.0)

snmp2_getnext — Fetch the SNMP object which follows the given object id

Описание

string snmp2_getnext ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get_next() function is used to read the value of the SNMP object that follows the specified object_id.

Список параметров

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmp2_get_next()

<?php
$nameOfSecondInterface = snmp2_get_netxt('localhost', 'public', 'IF-MIB::ifName.1';
?>

Смотрите также

  • snmp2_get() - Fetch an SNMP object
  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_get
snmp2_real_walk
SNMP Функции


Return all objects including their respective object ID within the specified one

snmp2_getnext
snmp2_set
SNMP Функции
PHP Manual

snmp2_real_walk

(PHP >= 5.2.0)

snmp2_real_walk — Return all objects including their respective object ID within the specified one

Описание

array snmp2_real_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Список параметров

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmp2_real_walk()

<?php
 print_r(snmp2_real_walk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Смотрите также

  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_getnext
snmp2_set
SNMP Функции


Set the value of an SNMP object

snmp2_real_walk
snmp2_walk
SNMP Функции
PHP Manual

snmp2_set

(PHP >= 5.2.0)

snmp2_set — Set the value of an SNMP object

Описание

bool snmp2_set ( string $host , string $community , string $object_id , string $type , string $value [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Список параметров

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.

types
= Тип, принимаемый MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Если при компиляции библиотеки SNMP была определена опция OPAQUE_SPECIAL_TYPES, то также могут быть использованы следующие типы:

types
U | unsigned int64
I | signed int64
F | float
D | double

Большинство этих значений используют очевидный тип ASN.1. 's', 'x', 'd' и 'b' - это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также используется для обработки значений Gauge32.

Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib" или были указаны в конфигурационном файле libsnmp, то для указания параметра type можно использовать нотацию '=', т.к. тип всех идентификаторов объектов будет автоматически считан из MIB.

Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • С помощью типа "b" и списка битовых чисел. Не рекомендуется использовать этот метод, т.к. GET-запрос вернет для того же OID вернет, к примеру, 0xF8.
  • С помощью типа "x" и шестнадцатеричного числа, но без(!) обычного префикса "0x".

Подробнее смотрите в разделе с примерами.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Примеры

Пример #1 Using snmp2_set()

<?php
  snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Пример #2 Using snmp2_set() for setting BITS SNMP object id

<?php
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Смотрите также

  • snmp2_get() - Fetch an SNMP object

snmp2_real_walk
snmp2_walk
SNMP Функции


Fetch all the SNMP objects from an agent

snmp2_set
snmp3_get
SNMP Функции
PHP Manual

snmp2_walk

(PHP >= 5.2.0)

snmp2_walk — Fetch all the SNMP objects from an agent

Описание

array snmp2_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Список параметров

host

The SNMP agent (server).

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Примеры

Пример #1 snm2_pwalk() Example

<?php
$a = snmp2_walk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Смотрите также

  • snmp2_real_walk() - Return all objects including their respective object ID within the specified one

snmp2_set
snmp3_get
SNMP Функции


Fetch an SNMP object

snmp2_walk
snmp3_getnext
SNMP Функции
PHP Manual

snmp3_get

(PHP 4, PHP 5)

snmp3_get — Fetch an SNMP object

Описание

string snmp3_get ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_get() function is used to read the value of an SNMP object specified by the object_id.

Список параметров

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error.

Примеры

Пример #1 Using snmp3_get()

<?php
$nameOfSecondInterface = snmp3_get('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.2');
?>

Смотрите также

  • snmp3_set() - Set the value of an SNMP object

snmp2_walk
snmp3_getnext
SNMP Функции


Fetch the SNMP object which follows the given object id

snmp3_get
snmp3_real_walk
SNMP Функции
PHP Manual

snmp3_getnext

(PHP 5)

snmp3_getnext — Fetch the SNMP object which follows the given object id

Описание

string snmp3_getnext ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_getnext() function is used to read the value of the SNMP object that follows the specified object_id.

Список параметров

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmp3_getnext()

<?php
$nameOfSecondInterface = snmp3_getnext('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.1');
?>

Смотрите также

  • snmp3_get() - Fetch an SNMP object
  • snmp3_walk() - Fetch all the SNMP objects from an agent

snmp3_get
snmp3_real_walk
SNMP Функции


Return all objects including their respective object ID within the specified one

snmp3_getnext
snmp3_set
SNMP Функции
PHP Manual

snmp3_real_walk

(PHP 4, PHP 5)

snmp3_real_walk — Return all objects including their respective object ID within the specified one

Описание

array snmp3_real_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Список параметров

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmp3_real_walk()

<?php
 var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

The above will output something like:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

Смотрите также

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmp3_getnext
snmp3_set
SNMP Функции


Set the value of an SNMP object

snmp3_real_walk
snmp3_walk
SNMP Функции
PHP Manual

snmp3_set

(PHP 4, PHP 5)

snmp3_set — Set the value of an SNMP object

Описание

bool snmp3_set ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id , string $type , string $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmp3_set() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Список параметров

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.

types
= Тип, принимаемый MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Если при компиляции библиотеки SNMP была определена опция OPAQUE_SPECIAL_TYPES, то также могут быть использованы следующие типы:

types
U | unsigned int64
I | signed int64
F | float
D | double

Большинство этих значений используют очевидный тип ASN.1. 's', 'x', 'd' и 'b' - это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также используется для обработки значений Gauge32.

Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib" или были указаны в конфигурационном файле libsnmp, то для указания параметра type можно использовать нотацию '=', т.к. тип всех идентификаторов объектов будет автоматически считан из MIB.

Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • С помощью типа "b" и списка битовых чисел. Не рекомендуется использовать этот метод, т.к. GET-запрос вернет для того же OID вернет, к примеру, 0xF8.
  • С помощью типа "x" и шестнадцатеричного числа, но без(!) обычного префикса "0x".

Подробнее смотрите в разделе с примерами.

value

The new value

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Примеры

Пример #1 Using snmp3_set()

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Пример #2 Using snmp3_set() for setting BITS SNMP object id

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
snmp3_real_walk
snmp3_walk
SNMP Функции


Fetch all the SNMP objects from an agent

snmp3_set
snmpget
SNMP Функции
PHP Manual

snmp3_walk

(PHP 4, PHP 5)

snmp3_walk — Fetch all the SNMP objects from an agent

Описание

array snmp3_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp3_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Список параметров

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Примеры

Пример #1 snmp3_walk() Example

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost:

array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

Смотрите также

  • snmp3_real_walk() - Return all objects including their respective object ID within the specified one

snmp3_set
snmpget
SNMP Функции


Fetch an SNMP object

snmp3_walk
snmpgetnext
SNMP Функции
PHP Manual

snmpget

(PHP 4, PHP 5)

snmpget — Fetch an SNMP object

Описание

string snmpget ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmpget() function is used to read the value of an SNMP object specified by the object_id.

Список параметров

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error.

Примеры

Пример #1 Using snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

Смотрите также

  • snmpset() - Set the value of an SNMP object

snmp3_walk
snmpgetnext
SNMP Функции


Fetch the SNMP object which follows the given object id

snmpget
snmprealwalk
SNMP Функции
PHP Manual

snmpgetnext

(PHP 5)

snmpgetnext — Fetch the SNMP object which follows the given object id

Описание

string snmpgetnext ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmpgetnext() function is used to read the value of the SNMP object that follows the specified object_id.

Список параметров

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmpgetnext()

<?php
$nameOfSecondInterface = snmpgetnetxt('localhost', 'public', 'IF-MIB::ifName.1';
?>

Смотрите также

  • snmpget() - Fetch an SNMP object
  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpget
snmprealwalk
SNMP Функции


Return all objects including their respective object ID within the specified one

snmpgetnext
snmpset
SNMP Функции
PHP Manual

snmprealwalk

(PHP 4, PHP 5)

snmprealwalk — Return all objects including their respective object ID within the specified one

Описание

array snmprealwalk ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmprealwalk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Список параметров

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Примеры

Пример #1 Using snmprealwalk()

<?php
 print_r(snmprealwalk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Смотрите также

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpgetnext
snmpset
SNMP Функции


Set the value of an SNMP object

snmprealwalk
snmpwalk
SNMP Функции
PHP Manual

snmpset

(PHP 4, PHP 5)

snmpset — Set the value of an SNMP object

Описание

bool snmpset ( string $host , string $community , string $object_id , string $type , mixed $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpset() is used to set the value of an SNMP object specified by the object_id.

Список параметров

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.

types
= Тип, принимаемый MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Если при компиляции библиотеки SNMP была определена опция OPAQUE_SPECIAL_TYPES, то также могут быть использованы следующие типы:

types
U | unsigned int64
I | signed int64
F | float
D | double

Большинство этих значений используют очевидный тип ASN.1. 's', 'x', 'd' и 'b' - это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также используется для обработки значений Gauge32.

Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib" или были указаны в конфигурационном файле libsnmp, то для указания параметра type можно использовать нотацию '=', т.к. тип всех идентификаторов объектов будет автоматически считан из MIB.

Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • С помощью типа "b" и списка битовых чисел. Не рекомендуется использовать этот метод, т.к. GET-запрос вернет для того же OID вернет, к примеру, 0xF8.
  • С помощью типа "x" и шестнадцатеричного числа, но без(!) обычного префикса "0x".

Подробнее смотрите в разделе с примерами.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Примеры

Пример #1 Using snmpset()

<?php
  snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Пример #2 Using snmpset() for setting BITS SNMP object id

<?php
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Смотрите также

  • snmpget() - Fetch an SNMP object

snmprealwalk
snmpwalk
SNMP Функции


Fetch all the SNMP objects from an agent

snmpset
snmpwalkoid
SNMP Функции
PHP Manual

snmpwalk

(PHP 4, PHP 5)

snmpwalk — Fetch all the SNMP objects from an agent

Описание

array snmpwalk ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname.

Список параметров

hostname

The SNMP agent (server).

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Примеры

Пример #1 snmpwalk() Example

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Смотрите также

  • snmprealwalk() - Return all objects including their respective object ID within the specified one

snmpset
snmpwalkoid
SNMP Функции


Query for a tree of information about a network entity

snmpwalk
SNMP
SNMP Функции
PHP Manual

snmpwalkoid

(PHP 4, PHP 5)

snmpwalkoid — Query for a tree of information about a network entity

Описание

array snmpwalkoid ( string $hostname , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

Список параметров

hostname

The SNMP agent.

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Возвращаемые значения

Returns an associative array with object ids and their respective object value starting from the object_id as root or FALSE on error.

Примеры

Пример #1 snmpwalkoid() Example

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br />\n";
}
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Смотрите также

  • snmpwalk() - Fetch all the SNMP objects from an agent

snmpwalk
SNMP
SNMP Функции


The SNMP class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents SNMP session.

Обзор классов

SNMP {
/* Свойства */
public int $SNMP->max_oids ;
public int $valueretrieval ;
public bool $quick_print ;
public bool $enum_print ;
public int $oid_output_format ;
public bool $oid_increasing_check ;
public int $exceptions_enabled ;
public array $info ;
/* Методы */
SNMP::__construct ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )
bool SNMP::close ( void )
mixed SNMP::get ( mixed $object_id [, bool $preserve_keys = false ] )
int SNMP::getErrno ( void )
string SNMP::getError ( void )
mixed SNMP::getnext ( mixed $object_id )
bool SNMP::set ( mixed $object_id , mixed $type , mixed $value )
bool SNMP::setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )
array SNMP::walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )
/* Константы */
const integer SNMP::ERRNO_NOERROR = 0 ;
const integer SNMP::ERRNO_GENERIC = 2 ;
const integer SNMP::ERRNO_TIMEOUT = 4 ;
const integer SNMP::ERRNO_ERROR_IN_REPLY = 8 ;
const integer SNMP::ERRNO_OID_NOT_INCREASING = 16 ;
const integer SNMP::ERRNO_OID_PARSING_ERROR = 32 ;
const integer SNMP::ERRNO_MULTIPLE_SET_QUERIES = 64 ;
const integer SNMP::ERRNO_ANY = 126 ;
const integer SNMP::VERSION_1 = 0 ;
const integer SNMP::VERSION_2C = 1 ;
const integer SNMP::VERSION_2c = 1 ;
const integer SNMP::VERSION_3 = 3 ;
}

Свойства

max_oids

Maximum OID per GET/SET/GETBULK request

valueretrieval

Controls the method how the SNMP values will be returned

SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set
quick_print

Value of quick_print within the NET-SNMP library

Sets the value of quick_print within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

enum_print

Controls the way enum values are printed

Parameter toggles if walk/get etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

oid_output_format

Controls OID output format

OID .1.3.6.1.2.1.1.3.0 representation for various oid_output_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined
oid_increasing_check

Controls disabling check for increasing OID while walking OID tree

Some SNMP agents are known for returning OIDs out of order but can complete the walk anyway. Other agents return OIDs that are out of order and can cause SNMP::walk() to loop indefinitely until memory limit will be reached. PHP SNMP library by default performs OID increasing check and stops walking on OID tree when it detects possible loop with issuing warning about non-increasing OID faced. Set oid_increasing_check to FALSE to disable this check.

exceptions_enabled

Controls which failures will raise SNMPException instead of warning. Use bitwise OR'ed SNMP::ERRNO_* constants. By default all SNMP exceptions are disabled.

info

Read-only property with remote agent configuration: hostname, port, default timeout, default retries count

Предопределенные константы

SNMP Error Types

SNMP::ERRNO_NOERROR

No SNMP-specific error occured.

SNMP::ERRNO_GENERIC

A generic SNMP error occured.

SNMP::ERRNO_TIMEOUT

Request to SNMP agent timed out.

SNMP::ERRNO_ERROR_IN_REPLY

SNMP agent returned an error in reply.

SNMP::ERRNO_OID_NOT_INCREASING

SNMP agent faced OID cycling reporning non-increasing OID while executing (BULK)WALK command. This indicates bogus remote SNMP agent.

SNMP::ERRNO_OID_PARSING_ERROR

Library failed while parsing OID (and/or type for SET command). No queries has been made.

SNMP::ERRNO_MULTIPLE_SET_QUERIES

Library will use multiple queries for SET operation requested. That means that operation will be performed in a non-transaction manner and second or subsequent chunks may fail if a type or value failure will be faced.

SNMP::ERRNO_ANY

All SNMP::ERRNO_* codes bitwise OR'ed.

SNMP Protocol Versions

SNMP::VERSION_1

SNMP::VERSION_2C, SNMP::VERSION_2c

SNMP::VERSION_3

Содержание

  • SNMP::close — Close SNMP session
  • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
  • SNMP::get — Fetch an SNMP object
  • SNMP::getErrno — Get last error code
  • SNMP::getError — Get last error message
  • SNMP::getnext — Fetch an SNMP object which follows the given object id
  • SNMP::set — Set the value of an SNMP object
  • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
  • SNMP::walk — Fetch SNMP object subtree
snmpwalkoid
SNMP::close
SNMP


Close SNMP session

SNMP
SNMP::__construct
SNMP
PHP Manual

SNMP::close

(PHP 5 >= 5.4.0)

SNMP::close — Close SNMP session

Описание

bool SNMP::close ( void )

Frees previously allocated SNMP session object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SNMP::close() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  # ...
  # get, walk, etc goes here
  # ...
  $session->close();
?>

Смотрите также

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP
SNMP::__construct
SNMP


Creates SNMP instance representing session to remote SNMP agent

SNMP::close
SNMP::get
SNMP
PHP Manual

SNMP::__construct

(PHP 5 >= 5.4.0)

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

Описание

SNMP::__construct() ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )

The function description goes here.

Список параметров

version

SNMP protocol version:
SNMP::VERSION_1,
SNMP::VERSION_2C,
SNMP::VERSION_3.

hostname

The SNMP agent. hostname may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for hostname it will be resolved by php-snmp library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is some examples:

IPv4 with default port | 127.0.0.1
IPv6 with default port | ::1 or [::1]
IPv4 with specific port | 127.0.0.1:1161
IPv6 with specific port | [::1]:1161
FQDN with default port | host.domain
FQDN with specific port | host.domain:1161
FQDN with default port, force usage of IPv6 address | [host.domain]
FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

community

The purpuse of community is SNMP version specific:

SNMP::VERSION_1 | SNMP community
SNMP::VERSION_2C | SNMP community
SNMP::VERSION_3 | SNMPv3 securityName
timeout

The number of microseconds until the first timeout.

retries

The number of retries in case timeout occurs.

Возвращаемые значения

Returns SNMP object representing remote SNMP agent.

Ошибки

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

Примеры

Пример #1 Fetching sysLocation

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
?>

Результатом выполнения данного примера будет что-то подобное:

STRING: Test server

Смотрите также

  • SNMP::close() - Close SNMP session
SNMP::close
SNMP::get
SNMP


Fetch an SNMP object

SNMP::__construct
SNMP::getErrno
SNMP
PHP Manual

SNMP::get

(PHP 5 >= 5.4.0)

SNMP::get — Fetch an SNMP object

Описание

mixed SNMP::get ( mixed $object_id [, bool $preserve_keys = false ] )

Fetch an SNMP object specified in object_id using GET query.

Список параметров

If object_id is a string, then SNMP::get() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

preserve_keys

When object_id is a array and preserve_keys set to TRUE keys in results will be taken exactly as in object_id, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

Возвращаемые значения

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Ошибки

Данный метод по умолчанию не генерирует исключения. Чтобы включить генерацию исключения SNMPException при возникновении некоторых ошибок данной библиотеки, необходимо установить параметр exceptions_enabled класса SNMP в соответствующее значение. Подробнее смотрите в объяснении параметра SNMP->exceptions_enabled.

Примеры

Пример #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
  $sysdescr = $session->get(array("sysDescr.0"));
  print_r($sysdescr);
?>

Результатом выполнения данного примера будет что-то подобное:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Пример #2 Miltiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->get(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Смотрите также

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::__construct
SNMP::getErrno
SNMP


Get last error code

SNMP::get
SNMP::getError
SNMP
PHP Manual

SNMP::getErrno

(PHP 5 >= 5.4.0)

SNMP::getErrno — Get last error code

Описание

int SNMP::getErrno ( void )

Returns error code from last SNMP request.

Возвращаемые значения

Returns one of SNMP error code values described in constants chapter.

Примеры

Пример #1 SNMP::getErrno() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • SNMP::getError() - Get last error message
SNMP::get
SNMP::getError
SNMP


Get last error message

SNMP::getErrno
SNMP::getnext
SNMP
PHP Manual

SNMP::getError

(PHP 5 >= 5.4.0)

SNMP::getError — Get last error message

Описание

string SNMP::getError ( void )

Returns string with error from last SNMP request.

Возвращаемые значения

String describing error from last SNMP request.

Примеры

Пример #1 SNMP::getError() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getError());
?>

Результат выполнения данного примера:

bool(false)
string(26) "No response from 127.0.0.1"

Смотрите также

  • SNMP::getErrno() - Get last error code
SNMP::getErrno
SNMP::getnext
SNMP


Fetch an SNMP object which follows the given object id

SNMP::getError
SNMP::set
SNMP
PHP Manual

SNMP::getnext

(PHP 5 >= 5.4.0)

SNMP::getnext — Fetch an SNMP object which follows the given object id

Описание

mixed SNMP::getnext ( mixed $object_id )

Fetch an SNMP object that follows specified object_id.

Список параметров

If object_id is a string, then SNMP::getnext() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

Возвращаемые значения

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Ошибки

Данный метод по умолчанию не генерирует исключения. Чтобы включить генерацию исключения SNMPException при возникновении некоторых ошибок данной библиотеки, необходимо установить параметр exceptions_enabled класса SNMP в соответствующее значение. Подробнее смотрите в объяснении параметра SNMP->exceptions_enabled.

Примеры

Пример #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $nsysdescr = $session->getnext("sysDescr.0");
  echo "$nsysdescr\n";
  $nsysdescr = $session->getnext(array("sysDescr.0"));
  print_r($nsysdescr);
?>

Результатом выполнения данного примера будет что-то подобное:

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

Пример #2 Miltiple SNMP objects

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->getnext(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

Смотрите также

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::getError
SNMP::set
SNMP


Set the value of an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP
PHP Manual

SNMP::set

(PHP 5 >= 5.4.0)

SNMP::set — Set the value of an SNMP object

Описание

bool SNMP::set ( mixed $object_id , mixed $type , mixed $value )

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the object_id.

Список параметров

If object_id is string, both type and value must be string too. If object_id is array value must be equal-sized array containing corresponding values, type may be either string (it's value will be used for all object_id-value pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

object_id

The SNMP object id

When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

type

MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.

types
= Тип, принимаемый MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

Если при компиляции библиотеки SNMP была определена опция OPAQUE_SPECIAL_TYPES, то также могут быть использованы следующие типы:

types
U | unsigned int64
I | signed int64
F | float
D | double

Большинство этих значений используют очевидный тип ASN.1. 's', 'x', 'd' и 'b' - это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также используется для обработки значений Gauge32.

Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib" или были указаны в конфигурационном файле libsnmp, то для указания параметра type можно использовать нотацию '=', т.к. тип всех идентификаторов объектов будет автоматически считан из MIB.

Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • С помощью типа "b" и списка битовых чисел. Не рекомендуется использовать этот метод, т.к. GET-запрос вернет для того же OID вернет, к примеру, 0xF8.
  • С помощью типа "x" и шестнадцатеричного числа, но без(!) обычного префикса "0x".

Подробнее смотрите в разделе с примерами.

value

The new value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Данный метод по умолчанию не генерирует исключения. Чтобы включить генерацию исключения SNMPException при возникновении некоторых ошибок данной библиотеки, необходимо установить параметр exceptions_enabled класса SNMP в соответствующее значение. Подробнее смотрите в объяснении параметра SNMP->exceptions_enabled.

Примеры

Пример #1 Set single SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>

Пример #2 Set multiple values using single SNMP::set() call

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>

Пример #3 Using SNMP::set() for setting BITS SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  $session->set('FOO-MIB::bar.42', 'x', 'F0');
?>

Смотрите также

  • SNMP::get() - Fetch an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP


Configures security-related SNMPv3 session parameters

SNMP::set
SNMP::walk
SNMP
PHP Manual

SNMP::setSecurity

(PHP 5 >= 5.4.0)

SNMP::setSecurity — Configures security-related SNMPv3 session parameters

Описание

bool SNMP::setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )

setSecurity configures security-related session parameters used in SNMP protocol version 3

Список параметров

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

contextName

the context name

contextEngineID

the context EngineID

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SNMP::setSecurity() example

<?php
  $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
?>

Смотрите также

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP::set
SNMP::walk
SNMP


Fetch SNMP object subtree

SNMP::setSecurity
SNMPException
SNMP
PHP Manual

SNMP::walk

(PHP 5 >= 5.4.0)

SNMP::walk — Fetch SNMP object subtree

Описание

array SNMP::walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )

SNMP::walk() is used to read SNMP subtree rooted at specified object_id.

Список параметров

object_id

Root of subtree to be fetched

suffix_as_key

By default full OID notation is used for keys in output array. If set to TRUE subtree prefix will be removed from keys leaving only suffix of object_id.

non_repeaters

This specifies the number of supplied variables that should not be iterated over. The default is to use this value from SNMP object.

max_repetitions

This specifies the maximum number of iterations over the repeating variables. The default is to use this value from SNMP object.

Возвращаемые значения

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. When a SNMP error occures SNMP::getErrno() and SNMP::getError() can be used for retrieving error number (specific to SNMP extension, see class constants) and error message respectively.

Ошибки

Данный метод по умолчанию не генерирует исключения. Чтобы включить генерацию исключения SNMPException при возникновении некоторых ошибок данной библиотеки, необходимо установить параметр exceptions_enabled класса SNMP в соответствующее значение. Подробнее смотрите в объяснении параметра SNMP->exceptions_enabled.

Примеры

Пример #1 SNMP::walk() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $fulltree = $session->walk(".");
  print_r($fulltree);
  $session->close();
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Пример #2 suffix_as_key example

suffix_as_key may be used when merging multiple SNMP subtrees into one. This example maps interface names to their type.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $session->valueretrieval = SNMP_VALUE_PLAIN;
  $ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
  $session->valueretrieval = SNMP_VALUE_LIBRARY;
  $ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
  print_r($ifDescr);
  print_r($ifType);
  $result = array();
  foreach($ifDescr as $i => $n) {
    $result[$n] = $ifType[$i];
  }
  print_r($result);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Смотрите также

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::setSecurity
SNMPException
SNMP


The SNMPException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents an error raised by SNMP. You should not throw a SNMPException from your own code. See Exceptions for more information about Exceptions in PHP.

Обзор классов

SNMPException extends RuntimeException {
/* Свойства */
protected string $SNMPException->message ;
protected string $code ;
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

Textual error message. Exception::getMessage() to access it.

code

SNMPlibrary error code. Use Exception::getCode() to access it.

SNMP::walk
Sockets
SNMP


Sockets

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Socket Errors
  • Socket Функции
    • socket_accept — Accepts a connection on a socket
    • socket_bind — Binds a name to a socket
    • socket_clear_error — Clears the error on the socket or the last error code
    • socket_close — Closes a socket resource
    • socket_connect — Initiates a connection on a socket
    • socket_create_listen — Opens a socket on port to accept connections
    • socket_create_pair — Creates a pair of indistinguishable sockets and stores them in an array
    • socket_create — Create a socket (endpoint for communication)
    • socket_get_option — Gets socket options for the socket
    • socket_getpeername — Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
    • socket_getsockname — Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
    • socket_last_error — Returns the last error on the socket
    • socket_listen — Listens for a connection on a socket
    • socket_read — Reads a maximum of length bytes from a socket
    • socket_recv — Receives data from a connected socket
    • socket_recvfrom — Receives data from a socket whether or not it is connection-oriented
    • socket_select — Runs the select() system call on the given arrays of sockets with a specified timeout
    • socket_send — Sends data to a connected socket
    • socket_sendto — Sends a message to a socket, whether it is connected or not
    • socket_set_block — Sets blocking mode on a socket resource
    • socket_set_nonblock — Sets nonblocking mode for file descriptor fd
    • socket_set_option — Sets socket options for the socket
    • socket_shutdown — Shuts down a socket for receiving, sending, or both
    • socket_strerror — Return a string describing a socket error
    • socket_write — Write to a socket
SNMPException
Введение
Другие службы


Введение

The socket extension implements a low-level interface to the socket communication functions based on the popular BSD sockets, providing the possibility to act as a socket server as well as a client.

For a more generic client-side socket interface, see
stream_socket_client(),
stream_socket_server(),
fsockopen(), and
pfsockopen().

When using these functions, it is important to remember that while many of them have identical names to their C counterparts, they often have different declarations. Please be sure to read the descriptions to avoid confusion.

Those unfamiliar with socket programming can find a lot of useful material in the appropriate Unix man pages, and there is a great deal of tutorial information on socket programming in C on the web, much of which can be applied, with slight modifications, to socket programming in PHP. The » Unix Socket FAQ might be a good start.

Sockets
Установка и настройка
Sockets


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Sockets


Установка

The socket functions described here are part of an extension to PHP which must be enabled at compile time by giving the --enable-sockets option to configure.

Замечание: Поддержка IPv6 была добавлена в PHP 5.0.0.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

socket_accept(),
socket_create_listen() and
socket_create() return socket resources.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
Only available if compiled with IPv6 support.
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
Not available on Windows platforms.
MSG_EOF (integer)
Not available on Windows platforms.
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
TCP_NODELAY (integer)
Used to disable Nagle TCP algorithm. Added in PHP 5.2.7.
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)

The following constants are only defined under Windows.

SOCKET_EINTR (integer)
SOCKET_EBADF (integer)
SOCKET_EACCES (integer)
SOCKET_EFAULT (integer)
SOCKET_EINVAL (integer)
SOCKET_EMFILE (integer)
SOCKET_EWOULDBLOCK (integer)
SOCKET_EINPROGRESS (integer)
SOCKET_EALREADY (integer)
SOCKET_ENOTSOCK (integer)
SOCKET_EDESTADDRREQ (integer)
SOCKET_EMSGSIZE (integer)
SOCKET_EPROTOTYPE (integer)
SOCKET_ENOPROTOOPT (integer)
SOCKET_EPROTONOSUPPORT (integer)
SOCKET_ESOCKTNOSUPPORT (integer)
SOCKET_EOPNOTSUPP (integer)
SOCKET_EPFNOSUPPORT (integer)
SOCKET_EAFNOSUPPORT (integer)
SOCKET_EADDRINUSE (integer)
SOCKET_EADDRNOTAVAIL (integer)
SOCKET_ENETDOWN (integer)
SOCKET_ENETUNREACH (integer)
SOCKET_ENETRESET (integer)
SOCKET_ECONNABORTED (integer)
SOCKET_ECONNRESET (integer)
SOCKET_ENOBUFS (integer)
SOCKET_EISCONN (integer)
SOCKET_ENOTCONN (integer)
SOCKET_ESHUTDOWN (integer)
SOCKET_ETOOMYREFS (integer)
SOCKET_ETIMEDOUT (integer)
SOCKET_ECONNREFUSED (integer)
SOCKET_ELOOP (integer)
SOCKET_ENAMETOOLONG (integer)
SOCKET_EHOSTDOWN (integer)
SOCKET_EHOSTUNREACH (integer)
SOCKET_ENOTEMPTY (integer)
SOCKET_EPROCLIM (integer)
SOCKET_EUSERS (integer)
SOCKET_EDUOT (integer)
SOCKET_ESTALE (integer)
SOCKET_EREMOTE (integer)
SOCKET_EDISCON (integer)
SOCKET_SYSNOTREADY (integer)
SOCKET_VERNOTSUPPORTED (integer)
SOCKET_NOTINITIALISED (integer)
SOCKET_HOST_NOT_FOUND (integer)
SOCKET_TRY_AGAIN (integer)
SOCKET_NO_RECOVERY (integer)
SOCKET_NO_DATA (integer)
SOCKET_NO_ADDRESS (integer)

The following constants are only available on UNIX-like platforms. Each constant is only defined if their equal is available on the platform.

SOCKET_EPERM (integer)
Operation not permitted.
SOCKET_ENOENT (integer)
No such file or directory.
SOCKET_EINTR (integer)
Interrupted system call.
SOCKET_EIO (integer)
I/O error.
SOCKET_ENXIO (integer)
No such device or address.
SOCKET_E2BIG (integer)
Arg list too long.
SOCKET_EBADF (integer)
Bad file number.
SOCKET_EAGAIN (integer)
Try again.
SOCKET_ENOMEM (integer)
Out of memory.
SOCKET_EACCES (integer)
Permission denied.
SOCKET_EFAULT (integer)
Bad address.
SOCKET_ENOTBLK (integer)
Block device required.
SOCKET_EBUSY (integer)
Device or resource busy.
SOCKET_EEXIST (integer)
File exists.
SOCKET_EXDEV (integer)
Cross-device link.
SOCKET_ENODEV (integer)
No such device.
SOCKET_ENOTDIR (integer)
Not a directory.
SOCKET_EISDIR (integer)
Is a directory.
SOCKET_EINVAL (integer)
Invalid argument.
SOCKET_ENFILE (integer)
File table overflow.
SOCKET_EMFILE (integer)
Too many open files.
SOCKET_ENOTTY (integer)
Not a typewriter.
SOCKET_ENOSPC (integer)
No space left on device.
SOCKET_ESPIPE (integer)
Illegal seek.
SOCKET_EROFS (integer)
Read-only file system.
SOCKET_EMLINK (integer)
Too many links.
SOCKET_EPIPE (integer)
Broken pipe.
SOCKET_ENAMETOOLONG (integer)
File name too long.
SOCKET_ENOLCK (integer)
No record locks available.
SOCKET_ENOSYS (integer)
Function not implemented.
SOCKET_ENOTEMPTY (integer)
Directory not empty.
SOCKET_ELOOP (integer)
Too many symbolic links encountered.
SOCKET_EWOULDBLOCK (integer)
Operation would block.
SOCKET_ENOMSG (integer)
No message of desired type.
SOCKET_EIDRM (integer)
Identifier removed.
SOCKET_ECHRNG (integer)
Channel number out of range.
SOCKET_EL2NSYNC (integer)
Level 2 not synchronized.
SOCKET_EL3HLT (integer)
Level 3 halted.
SOCKET_EL3RST (integer)
Level 3 reset.
SOCKET_ELNRNG (integer)
Link number out of range.
SOCKET_EUNATCH (integer)
Protocol driver not attached.
SOCKET_ENOCSI (integer)
No CSI structure available.
SOCKET_EL2HLT (integer)
Level 2 halted.
SOCKET_EBADE (integer)
Invalid exchange.
SOCKET_EBADR (integer)
Invalid request descriptor.
SOCKET_EXFULL (integer)
Exchange full.
SOCKET_ENOANO (integer)
No anode.
SOCKET_EBADRQC (integer)
Invalid request code.
SOCKET_EBADSLT (integer)
Invalid slot.
SOCKET_ENOSTR (integer)
Device not a stream.
SOCKET_ENODATA (integer)
No data available.
SOCKET_ETIME (integer)
Timer expired.
SOCKET_ENOSR (integer)
Out of streams resources.
SOCKET_ENONET (integer)
Machine is not on the network.
SOCKET_EREMOTE (integer)
Object is remote.
SOCKET_ENOLINK (integer)
Link has been severed.
SOCKET_EADV (integer)
Advertise error.
SOCKET_ESRMNT (integer)
Srmount error.
SOCKET_ECOMM (integer)
Communication error on send.
SOCKET_EPROTO (integer)
Protocol error.
SOCKET_EMULTIHOP (integer)
Multihop attempted.
SOCKET_EBADMSG (integer)
Not a data message.
SOCKET_ENOTUNIQ (integer)
Name not unique on network.
SOCKET_EBADFD (integer)
File descriptor in bad state.
SOCKET_EREMCHG (integer)
Remote address changed.
SOCKET_ERESTART (integer)
Interrupted system call should be restarted.
SOCKET_ESTRPIPE (integer)
Streams pipe error.
SOCKET_EUSERS (integer)
Too many users.
SOCKET_ENOTSOCK (integer)
Socket operation on non-socket.
SOCKET_EDESTADDRREQ (integer)
Destination address required.
SOCKET_EMSGSIZE (integer)
Message too long.
SOCKET_EPROTOTYPE (integer)
Protocol wrong type for socket.
SOCKET_EPROTOOPT (integer)
Protocol not available.
SOCKET_EPROTONOSUPPORT (integer)
Protocol not supported.
SOCKET_ESOCKTNOSUPPORT (integer)
Socket type not supported.
SOCKET_EOPNOTSUPP (integer)
Operation not supported on transport endpoint.
SOCKET_EPFNOSUPPORT (integer)
Protocol family not supported.
SOCKET_EAFNOSUPPORT (integer)
Address family not supported by protocol.
SOCKET_ADDRINUSE (integer)
Address already in use.
SOCKET_EADDRNOTAVAIL (integer)
Cannot assign requested address.
SOCKET_ENETDOWN (integer)
Network is down.
SOCKET_ENETUNREACH (integer)
Network is unreachable.
SOCKET_ENETRESET (integer)
Network dropped connection because of reset.
SOCKET_ECONNABORTED (integer)
Software caused connection abort.
SOCKET_ECONNRESET (integer)
Connection reset by peer.
SOCKET_ENOBUFS (integer)
No buffer space available.
SOCKET_EISCONN (integer)
Transport endpoint is already connected.
SOCKET_ENOTCONN (integer)
Transport endpoint is not connected.
SOCKET_ESHUTDOWN (integer)
Cannot send after transport endpoint shutdown.
SOCKET_ETOOMANYREFS (integer)
Too many references: cannot splice.
SOCKET_ETIMEDOUT (integer)
Connection timed out.
SOCKET_ECONNREFUSED (integer)
Connection refused.
SOCKET_EHOSTDOWN (integer)
Host is down.
SOCKET_EHOSTUNREACH (integer)
No route to host.
SOCKET_EALREADY (integer)
Operation already in progress.
SOCKET_EINPROGRESS (integer)
Operation now in progress.
SOCKET_EISNAM (integer)
Is a named type file.
SOCKET_EREMOTEIO (integer)
Remote I/O error.
SOCKET_EDQUOT (integer)
Quota exceeded.
SOCKET_ENOMEDIUM (integer)
No medium found.
SOCKET_EMEDIUMTYPE (integer)
Wrong medium type.
Типы ресурсов
Примеры
Sockets


Примеры

Пример #1 Socket example: Simple TCP/IP server

This example shows a simple talkback server. Change the address and port variables to suit your setup and execute. You may then connect to the server with a command similar to: telnet 192.168.1.53 10000 (where the address and port match your setup). Anything you type will then be output on the server side, and echoed back to you. To disconnect, enter 'quit'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit(0);

/* Turn on implicit output flushing so we see what we're getting
 * as it comes in. */
ob_implicit_flush();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Send instructions. */
    $msg = "\nWelcome to the PHP Test Server. \n" .
        "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close($msgsock);
            break 2;
        }
        $talkback = "PHP: You said '$buf'.\n";
        socket_write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (true);
    socket_close($msgsock);
} while (true);

socket_close($sock);
?>

Пример #2 Socket example: Simple TCP/IP client

This example shows a simple, one-shot HTTP client. It simply connects to a page, submits a HEAD request, echoes the reply, and exits.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = getservbyname('www', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname('www.example.com');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Reading response:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>

Предопределенные константы
Socket Errors
Sockets


Socket Errors

The socket extension was written to provide a usable interface to the powerful BSD sockets. Care has been taken that the functions work equally well on Win32 and Unix implementations. Almost all of the sockets functions may fail under certain conditions and therefore emit an E_WARNING message describing the error. Sometimes this doesn't happen to the desire of the developer. For example the function socket_read() may suddenly emit an E_WARNING message because the connection broke unexpectedly. It's common to suppress the warning with the @-operator and catch the error code within the application with the socket_last_error() function. You may call the socket_strerror() function with this error code to retrieve a string describing the error. See their description for more information.

Замечание:

The E_WARNING messages generated by the socket extension are in English though the retrieved error message will appear depending on the current locale (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

Примеры
Socket Функции
Sockets


Socket Функции

Содержание

  • socket_accept — Accepts a connection on a socket
  • socket_bind — Binds a name to a socket
  • socket_clear_error — Clears the error on the socket or the last error code
  • socket_close — Closes a socket resource
  • socket_connect — Initiates a connection on a socket
  • socket_create_listen — Opens a socket on port to accept connections
  • socket_create_pair — Creates a pair of indistinguishable sockets and stores them in an array
  • socket_create — Create a socket (endpoint for communication)
  • socket_get_option — Gets socket options for the socket
  • socket_getpeername — Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
  • socket_getsockname — Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
  • socket_last_error — Returns the last error on the socket
  • socket_listen — Listens for a connection on a socket
  • socket_read — Reads a maximum of length bytes from a socket
  • socket_recv — Receives data from a connected socket
  • socket_recvfrom — Receives data from a socket whether or not it is connection-oriented
  • socket_select — Runs the select() system call on the given arrays of sockets with a specified timeout
  • socket_send — Sends data to a connected socket
  • socket_sendto — Sends a message to a socket, whether it is connected or not
  • socket_set_block — Sets blocking mode on a socket resource
  • socket_set_nonblock — Sets nonblocking mode for file descriptor fd
  • socket_set_option — Sets socket options for the socket
  • socket_shutdown — Shuts down a socket for receiving, sending, or both
  • socket_strerror — Return a string describing a socket error
  • socket_write — Write to a socket
Socket Errors
socket_accept
Sockets


Accepts a connection on a socket

Socket Функции
socket_bind
Socket Функции
PHP Manual

socket_accept

(PHP 4 >= 4.1.0, PHP 5)

socket_accept — Accepts a connection on a socket

Описание

resource socket_accept ( resource $socket )

After the socket socket has been created using socket_create(), bound to a name with socket_bind(), and told to listen for connections with socket_listen(), this function will accept incoming connections on that socket. Once a successful connection is made, a new socket resource is returned, which may be used for communication. If there are multiple connections queued on the socket, the first will be used. If there are no pending connections, socket_accept() will block until a connection becomes present. If socket has been made non-blocking using socket_set_blocking() or socket_set_nonblock(), FALSE will be returned.

The socket resource returned by socket_accept() may not be used to accept new connections. The original listening socket socket, however, remains open and may be reused.

Список параметров

socket

A valid socket resource created with socket_create().

Возвращаемые значения

Returns a new socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

Смотрите также

  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)
  • socket_bind() - Binds a name to a socket
  • socket_strerror() - Return a string describing a socket error

Socket Функции
socket_bind
Socket Функции


Binds a name to a socket

socket_accept
socket_clear_error
Socket Функции
PHP Manual

socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind — Binds a name to a socket

Описание

bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )

Binds the name given in address to the socket described by socket. This has to be done before a connection is be established using socket_connect() or socket_listen().

Список параметров

socket

A valid socket resource created with socket_create().

address

If the socket is of the AF_INET family, the address is an IP in dotted-quad notation (e.g. 127.0.0.1).

If the socket is of the AF_UNIX family, the address is the path of a Unix-domain socket (e.g. /tmp/my.sock).

port (Optional)

The port parameter is only used when binding an AF_INET socket, and designates the port on which to listen for connections.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Примеры

Пример #1 Using socket_bind() to set the source address

<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// An example list of IP addresses owned by the computer
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Bind the source address
socket_bind($sock, $sourceips['madcoder']);

// Connect to destination address
socket_connect($sock, '127.0.0.1', 80);

// Write
$request = 'GET / HTTP/1.1' . "\r\n" .
           'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Close
socket_close($sock);

?>

Примечания

Замечание:

This function must be used on the socket before socket_connect().

Замечание:

Windows 9x/ME compatibility note: socket_last_error() may return an invalid error code if trying to bind the socket to a wrong address that does not belong to your machine.

Смотрите также

  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_accept
socket_clear_error
Socket Функции


Clears the error on the socket or the last error code

socket_bind
socket_close
Socket Функции
PHP Manual

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_error — Clears the error on the socket or the last error code

Описание

void socket_clear_error ([ resource $socket ] )

This function clears the error code on the given socket or the global last socket error if no socket is specified.

This function allows explicitly resetting the error code value either of a socket or of the extension global last error code. This may be useful to detect within a part of the application if an error occurred or not.

Список параметров

socket

A valid socket resource created with socket_create().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_bind
socket_close
Socket Функции


Closes a socket resource

socket_clear_error
socket_connect
Socket Функции
PHP Manual

socket_close

(PHP 4 >= 4.1.0, PHP 5)

socket_close — Closes a socket resource

Описание

void socket_close ( resource $socket )

socket_close() closes the socket resource given by socket. This function is specific to sockets and cannot be used on any other type of resources.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • socket_bind() - Binds a name to a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)
  • socket_strerror() - Return a string describing a socket error

socket_clear_error
socket_connect
Socket Функции


Initiates a connection on a socket

socket_close
socket_create_listen
Socket Функции
PHP Manual

socket_connect

(PHP 4 >= 4.1.0, PHP 5)

socket_connect — Initiates a connection on a socket

Описание

bool socket_connect ( resource $socket , string $address [, int $port = 0 ] )

Initiate a connection to address using the socket resource socket, which must be a valid socket resource created with socket_create().

Список параметров

socket

address

The address parameter is either an IPv4 address in dotted-quad notation (e.g. 127.0.0.1) if socket is AF_INET, a valid IPv6 address (e.g. ::1) if IPv6 support is enabled and socket is AF_INET6 or the pathname of a Unix domain socket, if the socket family is AF_UNIX.

port

The port parameter is only used and is mandatory when connecting to an AF_INET or an AF_INET6 socket, and designates the port on the remote host to which a connection should be made.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Замечание:

If the socket is non-blocking then this function returns FALSE with an error Operation now in progress.

Смотрите также

  • socket_bind() - Binds a name to a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_close
socket_create_listen
Socket Функции


Opens a socket on port to accept connections

socket_connect
socket_create_pair
Socket Функции
PHP Manual

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_create_listen — Opens a socket on port to accept connections

Описание

resource socket_create_listen ( int $port [, int $backlog = 128 ] )

socket_create_listen() creates a new socket resource of type AF_INET listening on all local interfaces on the given port waiting for new connections.

This function is meant to ease the task of creating a new socket which only listens to accept new connections.

Список параметров

port

The port on which to listen on all interfaces.

backlog

The backlog parameter defines the maximum length the queue of pending connections may grow to. SOMAXCONN may be passed as backlog parameter, see socket_listen() for more information.

Возвращаемые значения

socket_create_listen() returns a new socket resource on success or FALSE on error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Примечания

Замечание:

If you want to create a socket which only listens on a certain interface you need to use socket_create(), socket_bind() and socket_listen().

Смотрите также

  • socket_create() - Create a socket (endpoint for communication)
  • socket_create_pair() - Creates a pair of indistinguishable sockets and stores them in an array
  • socket_bind() - Binds a name to a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_connect
socket_create_pair
Socket Функции


Creates a pair of indistinguishable sockets and stores them in an array

socket_create_listen
socket_create
Socket Функции
PHP Manual

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5)

socket_create_pair — Creates a pair of indistinguishable sockets and stores them in an array

Описание

bool socket_create_pair ( int $domain , int $type , int $protocol , array &$fd )

socket_create_pair() creates two connected and indistinguishable sockets, and stores them in fd. This function is commonly used in IPC (InterProcess Communication).

Список параметров

domain

The domain parameter specifies the protocol family to be used by the socket. See socket_create() for the full list.

type

The type parameter selects the type of communication to be used by the socket. See socket_create() for the full list.

protocol

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

See socket_create() for the full list of supported protocols.

fd

Reference to an array in which the two socket resources will be inserted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | This function is now re-enabled on Windows platforms.
4.3.0 | This function was due to a bug made unavailable on Windows platforms.

Примеры

Пример #1 socket_create_pair() example

<?php
$sockets = array();

/* On Windows we need to use AF_INET */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Setup socket pair */
if (socket_create_pair($domain, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair failed. Reason: ".socket_strerror(socket_last_error());
}
/* Send and Recieve Data */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ)) === false) {
    echo "socket_read() failed. Reason: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Close sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Пример #2 socket_create_pair() IPC example

<?php
$ary = array();
$strone = 'Message From Parent.';
$strtwo = 'Message From Child.';

if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() failed. Reason: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Could not fork Process.';
} elseif ($pid) {
    /*parent*/
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Recieved $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /*child*/
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Recieved $strone\n";
    }
    socket_close($ary[0]);
}
?>

Смотрите также

  • socket_create() - Create a socket (endpoint for communication)
  • socket_create_listen() - Opens a socket on port to accept connections
  • socket_bind() - Binds a name to a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_create_listen
socket_create
Socket Функции


Create a socket (endpoint for communication)

socket_create_pair
socket_get_option
Socket Функции
PHP Manual

socket_create

(PHP 4 >= 4.1.0, PHP 5)

socket_create — Create a socket (endpoint for communication)

Описание

resource socket_create ( int $domain , int $type , int $protocol )

Creates and returns a socket resource, also referred to as an endpoint of communication. A typical network connection is made up of 2 sockets, one performing the role of the client, and another performing the role of the server.

Список параметров

domain

The domain parameter specifies the protocol family to be used by the socket.

Available address/protocol families
Domain | Description
AF_INET | IPv4 Internet based protocols. TCP and UDP are common protocols of this protocol family.
AF_INET6 | IPv6 Internet based protocols. TCP and UDP are common protocols of this protocol family.
AF_UNIX | Local communication protocol family. High efficiency and low overhead make it a great form of IPC (Interprocess Communication).
type

The type parameter selects the type of communication to be used by the socket.

Available socket types
Type | Description
SOCK_STREAM | Provides sequenced, reliable, full-duplex, connection-based byte streams. An out-of-band data transmission mechanism may be supported. The TCP protocol is based on this socket type.
SOCK_DGRAM | Supports datagrams (connectionless, unreliable messages of a fixed maximum length). The UDP protocol is based on this socket type.
SOCK_SEQPACKET | Provides a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer is required to read an entire packet with each read call.
SOCK_RAW | Provides raw network protocol access. This special type of socket can be used to manually construct any type of protocol. A common use for this socket type is to perform ICMP requests (like ping).
SOCK_RDM | Provides a reliable datagram layer that does not guarantee ordering. This is most likely not implemented on your operating system.
protocol

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

Common protocols
Name | Description
icmp | The Internet Control Message Protocol is used primarily by gateways and hosts to report errors in datagram communication. The "ping" command (present in most modern operating systems) is an example application of ICMP.
udp | The User Datagram Protocol is a connectionless, unreliable, protocol with fixed record lengths. Due to these aspects, UDP requires a minimum amount of protocol overhead.
tcp | The Transmission Control Protocol is a reliable, connection based, stream oriented, full duplex protocol. TCP guarantees that all data packets will be received in the order in which they were sent. If any packet is somehow lost during communication, TCP will automatically retransmit the packet until the destination host acknowledges that packet. For reliability and performance reasons, the TCP implementation itself decides the appropriate octet boundaries of the underlying datagram communication layer. Therefore, TCP applications must allow for the possibility of partial record transmission.

Возвращаемые значения

socket_create() returns a socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

Список изменений

Версия | Описание
5.0.0 | The AF_INET6 constant was added.

Ошибки

If an invalid domain or type is given, socket_create() defaults to AF_INET and SOCK_STREAM respectively and additionally emits an E_WARNING message.

Смотрите также

  • socket_accept() - Accepts a connection on a socket
  • socket_bind() - Binds a name to a socket
  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_create_pair
socket_get_option
Socket Функции


Gets socket options for the socket

socket_create
socket_getpeername
Socket Функции
PHP Manual

socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option — Gets socket options for the socket

Описание

mixed socket_get_option ( resource $socket , int $level , int $optname )

The socket_get_option() function retrieves the value for the option specified by the optname parameter for the specified socket.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

level

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

optname
Available Socket Options
Option | Description | Type
SO_DEBUG | Reports whether debugging information is being recorded. | int
SO_BROADCAST | Reports whether transmission of broadcast messages is supported. | int
SO_REUSEADDR | Reports whether local addresses can be reused. | int
SO_KEEPALIVE | Reports whether connections are kept active with periodic transmission of messages. If the connected socket fails to respond to these messages, the connection is broken and processes writing to that socket are notified with a SIGPIPE signal. | int
SO_LINGER

Reports whether the socket lingers on socket_close() if data is present. By default, when the socket is closed, it attempts to send all unsent data. In the case of a connection-oriented socket, socket_close() will wait for its peer to acknowledge the data.

If l_onoff is non-zero and l_linger is zero, all the unsent data will be discarded and RST (reset) is sent to the peer in the case of a connection-oriented socket.

On the other hand, if l_onoff is non-zero and l_linger is non-zero, socket_close() will block until all the data is sent or the time specified in l_linger elapses. If the socket is non-blocking, socket_close() will fail and return an error.

array. The array will contain two keys: l_onoff and l_linger.
SO_OOBINLINE | Reports whether the socket leaves out-of-band data inline. | int
SO_SNDBUF | Reports the size of the send buffer. | int
SO_RCVBUF | Reports the size of the receive buffer. | int
SO_ERROR | Reports information about error status and clears it. | int (cannot be set by socket_set_option())
SO_TYPE | Reports the socket type (e.g. SOCK_STREAM). | int (cannot be set by socket_set_option())
SO_DONTROUTE | Reports whether outgoing messages bypass the standard routing facilities. | int
SO_RCVLOWAT | Reports the minimum number of bytes to process for socket input operations. | int
SO_RCVTIMEO | Reports the timeout value for input operations. | array. The array will contain two keys: sec which is the seconds part on the timeout value and usec which is the microsecond part of the timeout value.
SO_SNDTIMEO | Reports the timeout value specifying the amount of time that an output function blocks because flow control prevents data from being sent. | array. The array will contain two keys: sec which is the seconds part on the timeout value and usec which is the microsecond part of the timeout value.
SO_SNDLOWAT | Reports the minimum number of bytes to process for socket output operations. | int
TCP_NODELAY | Reports whether the Nagle TCP algorithm is disabled. | int

Возвращаемые значения

Returns the value of the given option, or FALSE on errors.

Примеры

Пример #1 socket_set_option() example

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

Список изменений

Версия | Описание
4.3.0 | The name of this function was changed. It used to be called socket_getopt().

socket_create
socket_getpeername
Socket Функции


Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

socket_get_option
socket_getsockname
Socket Функции
PHP Manual

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5)

socket_getpeername — Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

Описание

bool socket_getpeername ( resource $socket , string &$address [, int &$port ] )

Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

address

If the given socket is of type AF_INET or AF_INET6, socket_getpeername() will return the peers (remote) IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getpeername() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

port

If given, this will hold the port associated to address.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. socket_getpeername() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

Примечания

Замечание:

socket_getpeername() should not be used with AF_UNIX sockets created with socket_accept(). Only sockets created with socket_connect() or a primary server socket following a call to socket_bind() will return meaningful values.

Замечание:

For having socket_getpeername() to return a meaningful value, the socket it is applied upon must of course be one for which the concept of "peer" makes sense.

Смотрите также

  • socket_getsockname() - Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_get_option
socket_getsockname
Socket Функции


Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

socket_getpeername
socket_last_error
Socket Функции
PHP Manual

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5)

socket_getsockname — Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

Описание

bool socket_getsockname ( resource $socket , string &$addr [, int &$port ] )

Замечание: socket_getsockname() should not be used with AF_UNIX sockets created with socket_connect(). Only sockets created with socket_accept() or a primary server socket following a call to socket_bind() will return meaningful values.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

addr

If the given socket is of type AF_INET or AF_INET6, socket_getsockname() will return the local IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getsockname() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

port

If provided, this will hold the associated port.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. socket_getsockname() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

Смотрите также

  • socket_getpeername() - Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_getpeername
socket_last_error
Socket Функции


Returns the last error on the socket

socket_getsockname
socket_listen
Socket Функции
PHP Manual

socket_last_error

(PHP 4 >= 4.1.0, PHP 5)

socket_last_error — Returns the last error on the socket

Описание

int socket_last_error ([ resource $socket ] )

If a socket resource is passed to this function, the last error which occurred on this particular socket is returned. If the socket resource is omitted, the error code of the last failed socket function is returned. The latter is particularly helpful for functions like socket_create() which don't return a socket on failure and socket_select() which can fail for reasons not directly tied to a particular socket. The error code is suitable to be fed to socket_strerror() which returns a string describing the given error code.

Список параметров

socket

A valid socket resource created with socket_create().

Возвращаемые значения

This function returns a socket error code.

Примеры

Пример #1 socket_last_error() example

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Couldn't create socket: [$errorcode] $errormsg");
}
?>

Примечания

Замечание:

socket_last_error() does not clear the error code, use socket_clear_error() for this purpose.

socket_getsockname
socket_listen
Socket Функции


Listens for a connection on a socket

socket_last_error
socket_read
Socket Функции
PHP Manual

socket_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_listen — Listens for a connection on a socket

Описание

bool socket_listen ( resource $socket [, int $backlog = 0 ] )

After the socket socket has been created using socket_create() and bound to a name with socket_bind(), it may be told to listen for incoming connections on socket.

socket_listen() is applicable only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.

Список параметров

socket

A valid socket resource created with socket_create().

backlog

A maximum of backlog incoming connections will be queued for processing. If a connection request arrives with the queue full the client may receive an error with an indication of ECONNREFUSED, or, if the underlying protocol supports retransmission, the request may be ignored so that retries may succeed.

Замечание:

The maximum number passed to the backlog parameter highly depends on the underlying platform. On Linux, it is silently truncated to SOMAXCONN. On win32, if passed SOMAXCONN, the underlying service provider responsible for the socket will set the backlog to a maximum reasonable value. There is no standard provision to find out the actual backlog value on this platform.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Смотрите также

  • socket_accept() - Accepts a connection on a socket
  • socket_bind() - Binds a name to a socket
  • socket_connect() - Initiates a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)
  • socket_strerror() - Return a string describing a socket error

socket_last_error
socket_read
Socket Функции


Reads a maximum of length bytes from a socket

socket_listen
socket_recv
Socket Функции
PHP Manual

socket_read

(PHP 4 >= 4.1.0, PHP 5)

socket_read — Reads a maximum of length bytes from a socket

Описание

string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )

The function socket_read() reads from the socket resource socket created by the socket_create() or socket_accept() functions.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

length

The maximum number of bytes read is specified by the length parameter. Otherwise you can use \r, \n, or \0 to end reading (depending on the type parameter, see below).

type

Optional type parameter is a named constant:

  • PHP_BINARY_READ (Default) - use the system recv() function. Safe for reading binary data.
  • PHP_NORMAL_READ - reading stops at \n or \r.

Возвращаемые значения

socket_read() returns the data as a string on success, or FALSE on error (including if the remote host has closed the connection). The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual representation of the error.

Замечание:

socket_read() returns a zero length string ("") when there is no more data to read.

Список изменений

Версия | Описание
4.1.0 | The default value for type was changed from PHP_NORMAL_READ to PHP_BINARY_READ

Смотрите также

  • socket_accept() - Accepts a connection on a socket
  • socket_bind() - Binds a name to a socket
  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error
  • socket_write() - Write to a socket

socket_listen
socket_recv
Socket Функции


Receives data from a connected socket

socket_read
socket_recvfrom
Socket Функции
PHP Manual

socket_recv

(PHP 4 >= 4.1.0, PHP 5)

socket_recv — Receives data from a connected socket

Описание

int socket_recv ( resource $socket , string &$buf , int $len , int $flags )

The socket_recv() function receives len bytes of data in buf from socket. socket_recv() can be used to gather data from connected sockets. Additionally, one or more flags can be specified to modify the behaviour of the function.

buf is passed by reference, so it must be specified as a variable in the argument list. Data read from socket by socket_recv() will be returned in buf.

Список параметров

socket

The socket must be a socket resource previously created by socket_create().

buf

The data received will be fetched to the variable specified with buf. If an error occurs, if the connection is reset, or if no data is available, buf will be set to NULL.

len

Up to len bytes will be fetched from remote host.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

Possible values for flags
Flag | Description
MSG_OOB | Process out-of-band data.
MSG_PEEK | Receive data from the beginning of the receive queue without removing it from the queue.
MSG_WAITALL | Block until at least len are received. However, if a signal is caught or the remote host disconnects, the function may return less data.
MSG_DONTWAIT | With this flag set, the function returns even if it would normally have blocked.

Возвращаемые значения

socket_recv() returns the number of bytes received, or FALSE if there was an error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

Примеры

Пример #1 socket_recv() example

This example is a simple rewrite of the first example from Примеры to use socket_recv().

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = getservbyname('www', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname('www.example.com');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Reading response:\n\n";
$buf = 'This is my buffer.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
    echo "Read $bytes bytes from socket_recv(). Closing socket...";
} else {
    echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo $buf . "\n";
echo "OK.\n\n";
?>

The above example will produce something like:

<h2>TCP/IP Connection</h2>
OK.
Attempting to connect to '208.77.188.166' on port '80'...OK.
Sending HTTP HEAD request...OK.
Reading response:

Closing socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

OK.

socket_read
socket_recvfrom
Socket Функции


Receives data from a socket whether or not it is connection-oriented

socket_recv
socket_select
Socket Функции
PHP Manual

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5)

socket_recvfrom — Receives data from a socket whether or not it is connection-oriented

Описание

int socket_recvfrom ( resource $socket , string &$buf , int $len , int $flags , string &$name [, int &$port ] )

The socket_recvfrom() function receives len bytes of data in buf from name on port port (if the socket is not of type AF_UNIX) using socket. socket_recvfrom() can be used to gather data from both connected and unconnected sockets. Additionally, one or more flags can be specified to modify the behaviour of the function.

The name and port must be passed by reference. If the socket is not connection-oriented, name will be set to the internet protocol address of the remote host or the path to the UNIX socket. If the socket is connection-oriented, name is NULL. Additionally, the port will contain the port of the remote host in the case of an unconnected AF_INET or AF_INET6 socket.

Список параметров

socket

The socket must be a socket resource previously created by socket_create().

buf

The data received will be fetched to the variable specified with buf.

len

Up to len bytes will be fetched from remote host.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

Possible values for flags
Flag | Description
MSG_OOB | Process out-of-band data.
MSG_PEEK | Receive data from the beginning of the receive queue without removing it from the queue.
MSG_WAITALL | Block until at least len are received. However, if a signal is caught or the remote host disconnects, the function may return less data.
MSG_DONTWAIT | With this flag set, the function returns even if it would normally have blocked.
name

If the socket is of the type AF_UNIX type, name is the path to the file. Else, for unconnected sockets, name is the IP address of, the remote host, or NULL if the socket is connection-oriented.

port

This argument only applies to AF_INET and AF_INET6 sockets, and specifies the remote port from which the data is received. If the socket is connection-oriented, port will be NULL.

Возвращаемые значения

socket_recvfrom() returns the number of bytes received, or FALSE if there was an error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

Примеры

Пример #1 socket_recvfrom() example

<?php
error_reporting(E_ALL | E_STRICT);

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
?>

This example will initiate a UDP socket on port 1223 of 127.0.0.1 and print at most 12 characters received from a remote host.

Список изменений

Версия | Описание
4.3.0 | socket_recvfrom() is now binary safe.

Смотрите также

  • socket_recv() - Receives data from a connected socket
  • socket_send() - Sends data to a connected socket
  • socket_sendto() - Sends a message to a socket, whether it is connected or not
  • socket_create() - Create a socket (endpoint for communication)

socket_recv
socket_select
Socket Функции


Runs the select() system call on the given arrays of sockets with a specified timeout

socket_recvfrom
socket_send
Socket Функции
PHP Manual

socket_select

(PHP 4 >= 4.1.0, PHP 5)

socket_select — Runs the select() system call on the given arrays of sockets with a specified timeout

Описание

int socket_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

socket_select() accepts arrays of sockets and waits for them to change status. Those coming with BSD sockets background will recognize that those socket resource arrays are in fact the so-called file descriptor sets. Three independent arrays of socket resources are watched.

Список параметров

read

The sockets listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a socket resource is also ready on end-of-file, in which case a socket_read() will return a zero length string).

write

The sockets listed in the write array will be watched to see if a write will not block.

except

The sockets listed in the except array will be watched for exceptions.

tv_sec

The tv_sec and tv_usec together form the timeout parameter. The timeout is an upper bound on the amount of time elapsed before socket_select() return. tv_sec may be zero , causing socket_select() to return immediately. This is useful for polling. If tv_sec is NULL (no timeout), socket_select() can block indefinitely.

tv_usec

Внимание

On exit, the arrays are modified to indicate which socket resource actually changed status.

You do not need to pass every array to socket_select(). You can leave it out and use an empty array or NULL instead. Also do not forget that those arrays are passed by reference and will be modified after socket_select() returns.

Замечание:

Due a limitation in the current Zend Engine it is not possible to pass a constant modifier like NULL directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable:

Пример #1 Using NULL with socket_select()

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

Возвращаемые значения

On success socket_select() returns the number of socket resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned. The error code can be retrieved with socket_last_error().

Замечание:

Be sure to use the === operator when checking for an error. Since the socket_select() may return 0 the comparison with == would evaluate to TRUE:

Пример #2 Understanding socket_select()'s result

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "socket_select() failed, reason: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Примеры

Пример #3 socket_select() example

<?php
/* Prepare the read array */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$num_changed_sockets = socket_select($read, $write, $except, 0);

if ($num_changed_sockets === false) {
    /* Error handling */
} else if ($num_changed_sockets > 0) {
    /* At least at one of the sockets something interesting happened */
}
?>

Примечания

Замечание:

Be aware that some socket implementations need to be handled very carefully. A few basic rules:

  • You should always try to use socket_select() without timeout. Your program should have nothing to do if there is no data available. Code that depends on timeouts is not usually portable and difficult to debug.
  • No socket resource must be added to any set if you do not intend to check its result after the socket_select() call, and respond appropriately. After socket_select() returns, all socket resources in all arrays must be checked. Any socket resource that is available for writing must be written to, and any socket resource available for reading must be read from.
  • If you read/write to a socket returns in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.
  • It's common to most socket implementations that the only exception caught with the except array is out-of-bound data received on a socket.

Смотрите также

  • socket_read() - Reads a maximum of length bytes from a socket
  • socket_write() - Write to a socket
  • socket_last_error() - Returns the last error on the socket
  • socket_strerror() - Return a string describing a socket error

socket_recvfrom
socket_send
Socket Функции


Sends data to a connected socket

socket_select
socket_sendto
Socket Функции
PHP Manual

socket_send

(PHP 4 >= 4.1.0, PHP 5)

socket_send — Sends data to a connected socket

Описание

int socket_send ( resource $socket , string $buf , int $len , int $flags )

The function socket_send() sends len bytes to the socket socket from buf.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

buf

A buffer containing the data that will be sent to the remote host.

len

The number of bytes that will be sent to the remote host from buf.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

Possible values for flags
MSG_OOB | Send OOB (out-of-band) data.
MSG_EOR | Indicate a record mark. The sent data completes the record.
MSG_EOF | Close the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction.
MSG_DONTROUTE | Bypass routing, use direct interface.

Возвращаемые значения

socket_send() returns the number of bytes sent, or FALSE on error.

Смотрите также

  • socket_sendto() - Sends a message to a socket, whether it is connected or not

socket_select
socket_sendto
Socket Функции


Sends a message to a socket, whether it is connected or not

socket_send
socket_set_block
Socket Функции
PHP Manual

socket_sendto

(PHP 4 >= 4.1.0, PHP 5)

socket_sendto — Sends a message to a socket, whether it is connected or not

Описание

int socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr [, int $port = 0 ] )

The function socket_sendto() sends len bytes from buf through the socket socket to the port at the address addr.

Список параметров

socket

A valid socket resource created using socket_create().

buf

The sent data will be taken from buffer buf.

len

len bytes from buf will be sent.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

Possible values for flags
MSG_OOB | Send OOB (out-of-band) data.
MSG_EOR | Indicate a record mark. The sent data completes the record.
MSG_EOF | Close the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction.
MSG_DONTROUTE | Bypass routing, use direct interface.

addr

IP address of the remote host.

port

port is the remote port number at which the data will be sent.

Возвращаемые значения

socket_sendto() returns the number of bytes sent to the remote host, or FALSE if an error occurred.

Примеры

Пример #1 socket_sendto() Example

<?php
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

    $msg = "Ping !";
    $len = strlen($msg);

    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
    socket_close($sock);
?>

Смотрите также

  • socket_send() - Sends data to a connected socket

socket_send
socket_set_block
Socket Функции


Sets blocking mode on a socket resource

socket_sendto
socket_set_nonblock
Socket Функции
PHP Manual

socket_set_block

(PHP 4 >= 4.2.0, PHP 5)

socket_set_block — Sets blocking mode on a socket resource

Описание

bool socket_set_block ( resource $socket )

The socket_set_block() function removes the O_NONBLOCK flag on the socket specified by the socket parameter.

When an operation (e.g. receive, send, connect, accept, ...) is performed on a blocking socket, the script will pause its execution until it receives a signal or it can perform the operation.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 socket_set_block() example

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

This example creates a listening socket on all interfaces on port 1223 and sets the socket to O_BLOCK mode. socket_accept() will hang until there is a connection to accept.

Смотрите также

  • socket_set_nonblock() - Sets nonblocking mode for file descriptor fd
  • socket_set_option() - Sets socket options for the socket

socket_sendto
socket_set_nonblock
Socket Функции


Sets nonblocking mode for file descriptor fd

socket_set_block
socket_set_option
Socket Функции
PHP Manual

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5)

socket_set_nonblock — Sets nonblocking mode for file descriptor fd

Описание

bool socket_set_nonblock ( resource $socket )

The socket_set_nonblock() function sets the O_NONBLOCK flag on the socket specified by the socket parameter.

When an operation (e.g. receive, send, connect, accept, ...) is performed on a non-blocking socket, the script will not pause its execution until it receives a signal or it can perform the operation. Rather, if the operation would result in a block, the called function will fail.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 socket_set_nonblock() example

<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

This example creates a listening socket on all interfaces on port 1223 and sets the socket to O_NONBLOCK mode. socket_accept() will immediately fail unless there is a pending connection exactly at this moment.

Смотрите также

  • socket_set_block() - Sets blocking mode on a socket resource
  • socket_set_option() - Sets socket options for the socket

socket_set_block
socket_set_option
Socket Функции


Sets socket options for the socket

socket_set_nonblock
socket_shutdown
Socket Функции
PHP Manual

socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option — Sets socket options for the socket

Описание

bool socket_set_option ( resource $socket , int $level , int $optname , mixed $optval )

The socket_set_option() function sets the option specified by the optname parameter, at the specified protocol level, to the value pointed to by the optval parameter for the socket.

Список параметров

socket

A valid socket resource created with socket_create() or socket_accept().

level

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

optname

The available socket options are the same as those for the socket_get_option() function.

optval

The option value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 socket_set_option() example

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
    echo 'Unable to create socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'Unable to bind socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
    echo 'Unable to get socket option: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR is set on socket !' . PHP_EOL;
}
?>

Список изменений

Версия | Описание
4.3.0 | This function was renamed. It used to be called socket_setopt().

socket_set_nonblock
socket_shutdown
Socket Функции


Shuts down a socket for receiving, sending, or both

socket_set_option
socket_strerror
Socket Функции
PHP Manual

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5)

socket_shutdown — Shuts down a socket for receiving, sending, or both

Описание

bool socket_shutdown ( resource $socket [, int $how = 2 ] )

The socket_shutdown() function allows you to stop incoming, outgoing or all data (the default) from being sent through the socket

Список параметров

socket

A valid socket resource created with socket_create().

how

The value of how can be one of the following:

possible values for how
0 | Shutdown socket reading
1 | Shutdown socket writing
2 | Shutdown socket reading and writing

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

socket_set_option
socket_strerror
Socket Функции


Return a string describing a socket error

socket_shutdown
socket_write
Socket Функции
PHP Manual

socket_strerror

(PHP 4 >= 4.1.0, PHP 5)

socket_strerror — Return a string describing a socket error

Описание

string socket_strerror ( int $errno )

socket_strerror() takes as its errno parameter a socket error code as returned by socket_last_error() and returns the corresponding explanatory text.

Замечание:

Although the error messages generated by the socket extension are in English, the system messages retrieved with this function will appear depending on the current locale (LC_MESSAGES).

Список параметров

errno

A valid socket error number, likely produced by socket_last_error().

Возвращаемые значения

Returns the error message associated with the errno parameter.

Примеры

Пример #1 socket_strerror() example

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

The expected output from the above example (assuming the script is not run with root privileges):

socket_bind() failed: reason: Permission denied

Смотрите также

  • socket_accept() - Accepts a connection on a socket
  • socket_bind() - Binds a name to a socket
  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_create() - Create a socket (endpoint for communication)

socket_shutdown
socket_write
Socket Функции


Write to a socket

socket_strerror
SSH2
Socket Функции
PHP Manual

socket_write

(PHP 4 >= 4.1.0, PHP 5)

socket_write — Write to a socket

Описание

int socket_write ( resource $socket , string $buffer [, int $length = 0 ] )

The function socket_write() writes to the socket from the given buffer.

Список параметров

socket

buffer

The buffer to be written.

length

The optional parameter length can specify an alternate length of bytes written to the socket. If this length is greater then the buffer length, it is silently truncated to the length of the buffer.

Возвращаемые значения

Returns the number of bytes successfully written to the socket или FALSE в случае возникновения ошибки. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

Замечание:

It is perfectly valid for socket_write() to return zero which means no bytes have been written. Be sure to use the === operator to check for FALSE in case of an error.

Примечания

Замечание:

socket_write() does not necessarily write all bytes from the given buffer. It's valid that, depending on the network buffers etc., only a certain amount of data, even one byte, is written though your buffer is greater. You have to watch out so you don't unintentionally forget to transmit the rest of your data.

Смотрите также

  • socket_accept() - Accepts a connection on a socket
  • socket_bind() - Binds a name to a socket
  • socket_connect() - Initiates a connection on a socket
  • socket_listen() - Listens for a connection on a socket
  • socket_read() - Reads a maximum of length bytes from a socket
  • socket_strerror() - Return a string describing a socket error

socket_strerror
SSH2
Socket Функции


Secure Shell2

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SSH2 Функции
    • ssh2_auth_hostbased_file — Authenticate using a public hostkey
    • ssh2_auth_none — Authenticate as "none"
    • ssh2_auth_password — Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file — Authenticate using a public key
    • ssh2_connect — Connect to an SSH server
    • ssh2_exec — Execute a command on a remote server
    • ssh2_fetch_stream — Fetch an extended data stream
    • ssh2_fingerprint — Retrieve fingerprint of remote server
    • ssh2_methods_negotiated — Return list of negotiated methods
    • ssh2_publickey_add — Add an authorized publickey
    • ssh2_publickey_init — Initialize Publickey subsystem
    • ssh2_publickey_list — List currently authorized publickeys
    • ssh2_publickey_remove — Remove an authorized publickey
    • ssh2_scp_recv — Request a file via SCP
    • ssh2_scp_send — Send a file via SCP
    • ssh2_sftp_lstat — Stat a symbolic link
    • ssh2_sftp_mkdir — Create a directory
    • ssh2_sftp_readlink — Return the target of a symbolic link
    • ssh2_sftp_realpath — Resolve the realpath of a provided path string
    • ssh2_sftp_rename — Rename a remote file
    • ssh2_sftp_rmdir — Remove a directory
    • ssh2_sftp_stat — Stat a file on a remote filesystem
    • ssh2_sftp_symlink — Create a symlink
    • ssh2_sftp_unlink — Delete a file
    • ssh2_sftp — Initialize SFTP subsystem
    • ssh2_shell — Request an interactive shell
    • ssh2_tunnel — Open a tunnel through a remote server
socket_write
Введение
Другие службы


Введение

Привязка к библиотеке » libssh2, которая предоставляет доступ к ресурсам (shell, удалённый запуск, туннелирование, передача файлов) на удалённом компьютере с использованием криптографически защищённой передачи данных.

SSH2
Установка и настройка
SSH2


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SSH2


Требования

Для установки SSH2 требуется наличие установленных библиотек » OpenSSL и » libssh2. Убедитесь, что указанные библиотеки присутствуют в системе. Типичным названием пакета может быть openssl-dev.

Замечание: Требуется библиотека libssh2 версии 0.4 или более новая; также возможно, что новые выпуски pecl/ssh2 могут потребовать более новых версий библиотеки (смотрите информацию о выпусках).

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ssh2.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SSH2_FINGERPRINT_MD5 (integer)
Флаг для получения идентификатора сервера в виде хеш-суммы MD5 функцией ssh2_fingerprint().
SSH2_FINGERPRINT_SHA1 (integer)
Флаг для получения идентификатора сервера в виде хеш-суммы SHA1 функцией ssh2_fingerprint().
SSH2_FINGERPRINT_HEX (integer)
Флаг для получения идентификатора сервера функцией ssh2_fingerprint() в виде строки шестнадцатеричных символов.
SSH2_FINGERPRINT_RAW (integer)
Флаг для получения идентификатора сервера функцией ssh2_fingerprint() в виде неотформатированной строки восьмибитных символов.
SSH2_TERM_UNIT_CHARS (integer)
Флаг для функции ssh2_shell(), определяющий, что параметры width и height задаются в виде количества символов.
SSH2_TERM_UNIT_PIXELS (integer)
Флаг для функции ssh2_shell(), определяющий, что параметры width и height задаются в пикселях.
SSH2_DEFAULT_TERM_WIDTH (integer)
Принятое по умолчанию значение ширины окна терминала, принимаемое функцией ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (integer)
Принятое по умолчанию значение высоты окна терминала, принимаемое функцией ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (integer)
Принятая по умолчанию единица измерения значений ширины и высоты окна терминала, принимаемых функцией ssh2_shell().
SSH2_STREAM_STDIO (integer)
Флаг функции ssh2_fetch_stream(), запрашивающей суб-канал STDIO.
SSH2_STREAM_STDERR (integer)
Флаг функции ssh2_fetch_stream(), запрашивающей суб-канал STDERR.
SSH2_DEFAULT_TERMINAL (string)
Принятый по умолчанию тип терминала (например, vt102, ansi, xterm, vanilla), запрашиваемый функцией ssh2_shell().
Типы ресурсов
SSH2 Функции
SSH2


SSH2 Функции

Содержание

  • ssh2_auth_hostbased_file — Authenticate using a public hostkey
  • ssh2_auth_none — Authenticate as "none"
  • ssh2_auth_password — Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file — Authenticate using a public key
  • ssh2_connect — Connect to an SSH server
  • ssh2_exec — Execute a command on a remote server
  • ssh2_fetch_stream — Fetch an extended data stream
  • ssh2_fingerprint — Retrieve fingerprint of remote server
  • ssh2_methods_negotiated — Return list of negotiated methods
  • ssh2_publickey_add — Add an authorized publickey
  • ssh2_publickey_init — Initialize Publickey subsystem
  • ssh2_publickey_list — List currently authorized publickeys
  • ssh2_publickey_remove — Remove an authorized publickey
  • ssh2_scp_recv — Request a file via SCP
  • ssh2_scp_send — Send a file via SCP
  • ssh2_sftp_lstat — Stat a symbolic link
  • ssh2_sftp_mkdir — Create a directory
  • ssh2_sftp_readlink — Return the target of a symbolic link
  • ssh2_sftp_realpath — Resolve the realpath of a provided path string
  • ssh2_sftp_rename — Rename a remote file
  • ssh2_sftp_rmdir — Remove a directory
  • ssh2_sftp_stat — Stat a file on a remote filesystem
  • ssh2_sftp_symlink — Create a symlink
  • ssh2_sftp_unlink — Delete a file
  • ssh2_sftp — Initialize SFTP subsystem
  • ssh2_shell — Request an interactive shell
  • ssh2_tunnel — Open a tunnel through a remote server
Предопределенные константы
ssh2_auth_hostbased_file
SSH2


Authenticate using a public hostkey

SSH2 Функции
ssh2_auth_none
SSH2 Функции
PHP Manual

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Authenticate using a public hostkey

Описание

bool ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile [, string $passphrase [, string $local_username ]] )

Authenticate using a public hostkey read from a file.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

local_username

If local_username is omitted, then the value for username will be used for it.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

Примечания

Замечание:

ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7

SSH2 Функции
ssh2_auth_none
SSH2 Функции


Authenticate as "none"

ssh2_auth_hostbased_file
ssh2_auth_password
SSH2 Функции
PHP Manual

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — Authenticate as "none"

Описание

mixed ssh2_auth_none ( resource $session , string $username )

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Возвращаемые значения

Returns TRUE if the server does accept "none" as an authentication method, or an array of accepted authentication methods on failure.

Примеры

Пример #1 Retrieving a list of authentication methods

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>

ssh2_auth_hostbased_file
ssh2_auth_password
SSH2 Функции


Authenticate over SSH using a plain password

ssh2_auth_none
ssh2_auth_pubkey_file
SSH2 Функции
PHP Manual

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Authenticate over SSH using a plain password

Описание

bool ssh2_auth_password ( resource $session , string $username , string $password )

Authenticate over SSH using a plain password

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

ssh2_auth_none
ssh2_auth_pubkey_file
SSH2 Функции


Authenticate using a public key

ssh2_auth_password
ssh2_connect
SSH2 Функции
PHP Manual

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Authenticate using a public key

Описание

bool ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile [, string $passphrase ] )

Authenticate using a public key read from a file.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

ssh2_auth_password
ssh2_connect
SSH2 Функции


Connect to an SSH server

ssh2_auth_pubkey_file
ssh2_exec
SSH2 Функции
PHP Manual

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connect to an SSH server

Описание

resource ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

Список параметров

host

port

methods

methods may be an associative array with up to four parameters as described below.

methods may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, come separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from server to client.

* - Supported Values are dependent on methods supported by underlying library. See » libssh2 documentation for additional information.

client_to_server and server_to_client may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, come separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Замечание: Crypt and MAC method "none"

For security reasons, none is disabled by the underlying » libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

Callbacks parameters
Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns TRUE, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

Возвращаемые значения

Returns a resource on success, or FALSE on error.

Примеры

Пример #1 ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

Смотрите также

  • ssh2_fingerprint() - Retrieve fingerprint of remote server
  • ssh2_auth_none() - Authenticate as "none"
  • ssh2_auth_password() - Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file() - Authenticate using a public key

ssh2_auth_pubkey_file
ssh2_exec
SSH2 Функции


Execute a command on a remote server

ssh2_connect
ssh2_fetch_stream
SSH2 Функции
PHP Manual

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Execute a command on a remote server

Описание

resource ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Execute a command at the remote end and allocate a channel for it.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

command

pty

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Возвращаемые значения

Returns a stream on success или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

Смотрите также

  • ssh2_connect() - Connect to an SSH server
  • ssh2_shell() - Request an interactive shell
  • ssh2_tunnel() - Open a tunnel through a remote server

ssh2_connect
ssh2_fetch_stream
SSH2 Функции


Fetch an extended data stream

ssh2_exec
ssh2_fingerprint
SSH2 Функции
PHP Manual

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Fetch an extended data stream

Описание

resource ssh2_fetch_stream ( resource $channel , int $streamid )

Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

Список параметров

channel

streamid

An SSH2 channel stream.

Возвращаемые значения

Returns the requested stream resource.

Примеры

Пример #1 Opening a shell and retrieving the stderr stream associated with it

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Смотрите также

  • ssh2_shell() - Request an interactive shell
  • ssh2_exec() - Execute a command on a remote server
  • ssh2_connect() - Connect to an SSH server

ssh2_exec
ssh2_fingerprint
SSH2 Функции


Retrieve fingerprint of remote server

ssh2_fetch_stream
ssh2_methods_negotiated
SSH2 Функции
PHP Manual

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Retrieve fingerprint of remote server

Описание

string ssh2_fingerprint ( resource $session [, int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX ] )

Returns a server hostkey hash from an active session.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

flags

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW.

Возвращаемые значения

Returns the hostkey hash as a string.

Примеры

Пример #1 Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>

ssh2_fetch_stream
ssh2_methods_negotiated
SSH2 Функции


Return list of negotiated methods

ssh2_fingerprint
ssh2_publickey_add
SSH2 Функции
PHP Manual

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Return list of negotiated methods

Описание

array ssh2_methods_negotiated ( resource $session )

Returns list of negotiated methods.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Возвращаемые значения

Примеры

Пример #1 Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Смотрите также

  • ssh2_connect() - Connect to an SSH server

ssh2_fingerprint
ssh2_publickey_add
SSH2 Функции


Add an authorized publickey

ssh2_methods_negotiated
ssh2_publickey_init
SSH2 Функции
PHP Manual

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

Описание

bool ssh2_publickey_add ( resource $pkey , string $algoname , string $blob [, bool $overwrite = false [, array $attributes ]] )

Замечание: Подсистема публичных ключей используется для управления публичными ключами на сервере, на котором клиент уже прошел авторизацию. Для авторизации с помощью публичного ключа на удаленной системе, используйте вместо этого функцию ssh2_auth_pubkey_file() function instead.

Список параметров

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Смотрите также

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_methods_negotiated
ssh2_publickey_init
SSH2 Функции


Initialize Publickey subsystem

ssh2_publickey_add
ssh2_publickey_list
SSH2 Функции
PHP Manual

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Initialize Publickey subsystem

Описание

resource ssh2_publickey_init ( resource $session )

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return FALSE.

Список параметров

session

Возвращаемые значения

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methods или FALSE в случае возникновения ошибки.

Примечания

Замечание: Подсистема публичных ключей используется для управления публичными ключами на сервере, на котором клиент уже прошел авторизацию. Для авторизации с помощью публичного ключа на удаленной системе, используйте вместо этого функцию ssh2_auth_pubkey_file() function instead.

Смотрите также

  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_add
ssh2_publickey_list
SSH2 Функции


List currently authorized publickeys

ssh2_publickey_init
ssh2_publickey_remove
SSH2 Функции
PHP Manual

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — List currently authorized publickeys

Описание

array ssh2_publickey_list ( resource $pkey )

List currently authorized publickeys.

Список параметров

pkey

Publickey Subsystem resource

Возвращаемые значения

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Publickey elements
Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

Примеры

Пример #1 Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

Результат выполнения данного примера:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Примечания

Замечание: Подсистема публичных ключей используется для управления публичными ключами на сервере, на котором клиент уже прошел авторизацию. Для авторизации с помощью публичного ключа на удаленной системе, используйте вместо этого функцию ssh2_auth_pubkey_file() function instead.

Смотрите также

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey

ssh2_publickey_init
ssh2_publickey_remove
SSH2 Функции


Remove an authorized publickey

ssh2_publickey_list
ssh2_scp_recv
SSH2 Функции
PHP Manual

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Remove an authorized publickey

Описание

bool ssh2_publickey_remove ( resource $pkey , string $algoname , string $blob )

Removes an authorized publickey.

Список параметров

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Подсистема публичных ключей используется для управления публичными ключами на сервере, на котором клиент уже прошел авторизацию. Для авторизации с помощью публичного ключа на удаленной системе, используйте вместо этого функцию ssh2_auth_pubkey_file() function instead.

Смотрите также

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_list
ssh2_scp_recv
SSH2 Функции


Request a file via SCP

ssh2_publickey_remove
ssh2_scp_send
SSH2 Функции
PHP Manual

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — Request a file via SCP

Описание

bool ssh2_scp_recv ( resource $session , string $remote_file , string $local_file )

Copy a file from the remote server to the local filesystem using the SCP protocol.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

remote_file

Path to the remote file.

local_file

Path to the local file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

Смотрите также

  • ssh2_scp_send() - Send a file via SCP
  • copy() - Копирует файл

ssh2_publickey_remove
ssh2_scp_send
SSH2 Функции


Send a file via SCP

ssh2_scp_recv
ssh2_sftp_lstat
SSH2 Функции
PHP Manual

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — Send a file via SCP

Описание

bool ssh2_scp_send ( resource $session , string $local_file , string $remote_file [, int $create_mode = 0644 ] )

Copy a file from the local filesystem to the remote server using the SCP protocol.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

local_file

Path to the local file.

remote_file

Path to the remote file.

create_mode

The file will be created with the mode specified by create_mode.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

Смотрите также

  • ssh2_scp_recv() - Request a file via SCP
  • copy() - Копирует файл

ssh2_scp_recv
ssh2_sftp_lstat
SSH2 Функции


Stat a symbolic link

ssh2_scp_send
ssh2_sftp_mkdir
SSH2 Функции
PHP Manual

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Stat a symbolic link

Описание

array ssh2_sftp_lstat ( resource $sftp , string $path )

Stats a symbolic link on the remote filesystem without following the link.

This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Список параметров

sftp

path

Path to the remote symbolic link.

Возвращаемые значения

See the documentation for stat() for details on the values which may be returned.

Примеры

Пример #1 Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Смотрите также

  • ssh2_sftp_stat() - Stat a file on a remote filesystem
  • lstat() - Возвращает информацию о файле или символической ссылке
  • stat() - Возвращает информацию о файле

ssh2_scp_send
ssh2_sftp_mkdir
SSH2 Функции


Create a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
SSH2 Функции
PHP Manual

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Create a directory

Описание

bool ssh2_sftp_mkdir ( resource $sftp , string $dirname [, int $mode = 0777 [, bool $recursive = false ]] )

Creates a directory on the remote file server with permissions set to mode.

This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Path of the new directory.

mode

Permissions on the new directory.

recursive

If recursive is TRUE any parent directories required for dirname will be automatically created as well.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

Смотрите также

  • mkdir() - Создаёт директорию
  • ssh2_sftp_rmdir() - Remove a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
SSH2 Функции


Return the target of a symbolic link

ssh2_sftp_mkdir
ssh2_sftp_realpath
SSH2 Функции
PHP Manual

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Return the target of a symbolic link

Описание

string ssh2_sftp_readlink ( resource $sftp , string $link )

Returns the target of a symbolic link.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

link

Path of the symbolic link.

Возвращаемые значения

Returns the target of the symbolic link.

Примеры

Пример #1 Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

Смотрите также

  • readlink() - Возвращает файл, на который указывает символическая ссылка
  • ssh2_sftp_symlink() - Create a symlink

ssh2_sftp_mkdir
ssh2_sftp_realpath
SSH2 Функции


Resolve the realpath of a provided path string

ssh2_sftp_readlink
ssh2_sftp_rename
SSH2 Функции
PHP Manual

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Resolve the realpath of a provided path string

Описание

string ssh2_sftp_realpath ( resource $sftp , string $filename )

Translates filename into the effective real path on the remote filesystem.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Возвращаемые значения

Returns the real path as a string.

Примеры

Пример #1 Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

Смотрите также

  • realpath() - Возвращает канонизированный абсолютный путь к файлу
  • ssh2_sftp_symlink() - Create a symlink
  • ssh2_sftp_readlink() - Return the target of a symbolic link

ssh2_sftp_readlink
ssh2_sftp_rename
SSH2 Функции


Rename a remote file

ssh2_sftp_realpath
ssh2_sftp_rmdir
SSH2 Функции
PHP Manual

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Rename a remote file

Описание

bool ssh2_sftp_rename ( resource $sftp , string $from , string $to )

Renames a file on the remote filesystem.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

from

The current file that is being renamed.

to

The new file name that replaces from.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

Смотрите также

  • rename() - Переименовывает файл или директорию

ssh2_sftp_realpath
ssh2_sftp_rmdir
SSH2 Функции


Remove a directory

ssh2_sftp_rename
ssh2_sftp_stat
SSH2 Функции
PHP Manual

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Remove a directory

Описание

bool ssh2_sftp_rmdir ( resource $sftp , string $dirname )

Removes a directory from the remote file server.

This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

Смотрите также

  • rmdir() - Удаляет директорию
  • ssh2_sftp_mkdir() - Create a directory

ssh2_sftp_rename
ssh2_sftp_stat
SSH2 Функции


Stat a file on a remote filesystem

ssh2_sftp_rmdir
ssh2_sftp_symlink
SSH2 Функции
PHP Manual

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Stat a file on a remote filesystem

Описание

array ssh2_sftp_stat ( resource $sftp , string $path )

Stats a file on the remote filesystem following any symbolic links.

This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Возвращаемые значения

See the documentation for stat() for details on the values which may be returned.

Примеры

Пример #1 Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Смотрите также

  • ssh2_sftp_lstat() - Stat a symbolic link
  • lstat() - Возвращает информацию о файле или символической ссылке
  • stat() - Возвращает информацию о файле

ssh2_sftp_rmdir
ssh2_sftp_symlink
SSH2 Функции


Create a symlink

ssh2_sftp_stat
ssh2_sftp_unlink
SSH2 Функции
PHP Manual

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Create a symlink

Описание

bool ssh2_sftp_symlink ( resource $sftp , string $target , string $link )

Creates a symbolic link named link on the remote filesystem pointing to target.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

target

Target of the symbolic link.

link

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Смотрите также

  • ssh2_sftp_readlink() - Return the target of a symbolic link
  • symlink() - Создаёт символическую ссылку

ssh2_sftp_stat
ssh2_sftp_unlink
SSH2 Функции


Delete a file

ssh2_sftp_symlink
ssh2_sftp
SSH2 Функции
PHP Manual

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Delete a file

Описание

bool ssh2_sftp_unlink ( resource $sftp , string $filename )

Deletes a file on the remote filesystem.

Список параметров

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

Смотрите также

  • unlink() - Удаляет файл

ssh2_sftp_symlink
ssh2_sftp
SSH2 Функции


Initialize SFTP subsystem

ssh2_sftp_unlink
ssh2_shell
SSH2 Функции
PHP Manual

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — Initialize SFTP subsystem

Описание

resource ssh2_sftp ( resource $session )

Request the SFTP subsystem from an already connected SSH2 server.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Возвращаемые значения

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper.

Примеры

Пример #1 Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

Смотрите также

  • ssh2_scp_recv() - Request a file via SCP
  • ssh2_scp_send() - Send a file via SCP

ssh2_sftp_unlink
ssh2_shell
SSH2 Функции


Request an interactive shell

ssh2_sftp
ssh2_tunnel
SSH2 Функции
PHP Manual

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Request an interactive shell

Описание

resource ssh2_shell ( resource $session [, string $term_type = "vanilla" [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Open a shell at the remote end and allocate a stream for it.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

term_type

term_type should correspond to one of the entries in the target system's /etc/termcap file.

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Возвращаемые значения

Примеры

Пример #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Смотрите также

  • ssh2_exec() - Execute a command on a remote server
  • ssh2_tunnel() - Open a tunnel through a remote server
  • ssh2_fetch_stream() - Fetch an extended data stream

ssh2_sftp
ssh2_tunnel
SSH2 Функции


Open a tunnel through a remote server

ssh2_shell
Stomp
SSH2 Функции
PHP Manual

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Open a tunnel through a remote server

Описание

resource ssh2_tunnel ( resource $session , string $host , int $port )

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

Список параметров

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

host

port

Возвращаемые значения

Примеры

Пример #1 Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

Смотрите также

  • ssh2_connect() - Connect to an SSH server
  • fsockopen() - Open Internet or Unix domain socket connection

ssh2_shell
Stomp
SSH2 Функции


Stomp Client

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Примеры
  • Stomp
    • stomp_connect_error — Возвращает строку с описанием последней ошибки подключения
    • stomp_version — Возвращает текущую версию расширения Stomp
  • Stomp — Класс Stomp
    • Stomp::abort — Отменяет выполнение текущей транзакции
    • Stomp::ack — Подтверждает получение сообщения
    • Stomp::begin — Создает транзакцию
    • Stomp::commit — Выполняет текущую транзакцию
    • Stomp::__construct — Открывает соединение
    • Stomp::__destruct — Закрывает Stomp-соединение
    • Stomp::error — Возвращает последнюю ошибку Stomp
    • Stomp::getReadTimeout — Возвращает время максимального ожидания операции чтения
    • Stomp::getSessionId — Возвращает идентификатор текущей сессии Stomp
    • Stomp::hasFrame — Проверяет, возможно ли чтение фрейма
    • Stomp::readFrame — Выполняет операцию чтения следующего фрейма
    • Stomp::send — Отправляет сообщение
    • Stomp::setReadTimeout — Устанавливает предельное время ожидания операции чтения
    • Stomp::subscribe — Регистрирует подписку на указанную рассылку
    • Stomp::unsubscribe — Удаляет существующую подписку
  • StompFrame — Класс StompFrame
    • StompFrame::__construct — Конструктор
  • StompException — Класс StompException
    • StompException::getDetails — Возвращает сведения об исключении
ssh2_tunnel
Введение
Другие службы


Введение

Это расширение позволяет PHP приложениям взаимодействовать с любыми Stomp-совместимыми брокерами сообщений (Message Broker) через лёгкие объектно-ориентированные или процедурные интерфейсы. » Официальный сайт Stomp

Stomp
Установка и настройка
Stomp


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Stomp


Требования

PECL/stomp требует PHP 5.2.2 или выше.

» OpenSSL >= 0.9.6 и расширение openssl может также потребоваться для использования stomp через SSL.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/stomp

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

stomp.default_broker string

Брокер URK по умолчанию, используемый при подключении к брокеру сообщений, если прочие URI не указаны.

stomp.default_connection_timeout_sec integer

Секундная часть времени ожидания подключения по умолчанию.

stomp.default_connection_timeout_usec integer

Микросекундная часть времени ожидания подключения по умолчанию.

stomp.default_read_timeout_sec integer

Секундная часть времени ожидания операции чтения чтения по умолчанию.

stomp.default_read_timeout_usec integer

Микросекундная часть времени ожидания операции чтения по умолчанию.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Существует только один тип ресурсов, используемый в расширении stomp - это идентификатор ссылки для stomp соединения.

Настройка во время выполнения
Примеры
Установка и настройка


Примеры

Пример #1 Объектно-ориентированнй стиль

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* Подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* Отправка сообщения в очередь 'foo' */
$stomp->send($queue, $msg);

/* Подписка к сообщениям в очереди 'foo' */
$stomp->subscribe($queue);

/* Чтение фрейма */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    var_dump($frame);

    /* отклик, что сообщения было получено */
    $stomp->ack($frame);
}

/* Закрытие соединения */
unset($stomp);

?>

Результатом выполнения данного примера будет что-то подобное:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Пример #2 Процедурный стиль

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* Подключение */
$link = stomp_connect('ssl://localhost:61612');

/* Проверка подключения */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* Начало транзакции */
stomp_begin($link, 't1');

/* Отправка сообщения в очередь 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* Выполнение транзакции */
stomp_commit($link, 't1');

/* Подписка к сообщениям в очереди 'foo' */
stomp_subscribe($link, $queue);

/* Чтение фрейма */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    var_dump($frame);

    /* отклик, что сообщения было получено */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* Закрытие соединения */
stomp_close($link);

?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Типы ресурсов
Stomp
Stomp


Stomp
PHP Manual

Stomp

Содержание

  • stomp_connect_error — Возвращает строку с описанием последней ошибки подключения
  • stomp_version — Возвращает текущую версию расширения Stomp
Примеры
stomp_connect_error
Stomp
PHP Manual


Возвращает строку с описанием последней ошибки подключения

Stomp
stomp_version
Stomp
PHP Manual

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Возвращает строку с описанием последней ошибки подключения

Описание

string stomp_connect_error ( void )

Возвращает строку с описанием последней ошибки подключения.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Строка с описанием ошибки, или NULL если ошибки не произошло.

Примеры

Пример #1 Пример использования stomp_connect_error()

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}
?>

Результатом выполнения данного примера будет что-то подобное:

Ошибка соединения: Invalid Broker URI scheme

Stomp
stomp_version
Stomp


Возвращает текущую версию расширения Stomp

stomp_connect_error
Stomp
Stomp
PHP Manual

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Возвращает текущую версию расширения Stomp

Описание

string stomp_version ( void )

Возвращает строку, содержащую версию текущего расширения Stomp.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает текущую версию расширения Stomp

Примеры

Пример #1 Пример использования stomp_version()

<?php

var_dump(stomp_version());

?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "0.2.0"

stomp_connect_error
Stomp
Stomp


Класс Stomp

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет связь между PHP и Stomp совместимым брокером сообщений (Message Broker).

Обзор классов

Stomp {
/* Методы */
public bool abort ( string $transaction_id [, array $headers ] )
public bool ack ( mixed $msg [, array $headers ] )
public bool begin ( string $transaction_id [, array $headers ] )
public bool commit ( string $transaction_id [, array $headers ] )
__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )
public bool __destruct ( void )
public string error ( void )
public array getReadTimeout ( void )
public string getSessionId ( void )
public bool hasFrame ( void )
public stompframe readFrame ([ string $class_name = "stompFrame" ] )
public bool send ( string $destination , mixed $msg [, array $headers ] )
public void setReadTimeout ( int $seconds [, int $microseconds ] )
public bool subscribe ( string $destination [, array $headers ] )
public bool unsubscribe ( string $destination [, array $headers ] )
}

Содержание

  • Stomp::abort — Отменяет выполнение текущей транзакции
  • Stomp::ack — Подтверждает получение сообщения
  • Stomp::begin — Создает транзакцию
  • Stomp::commit — Выполняет текущую транзакцию
  • Stomp::__construct — Открывает соединение
  • Stomp::__destruct — Закрывает Stomp-соединение
  • Stomp::error — Возвращает последнюю ошибку Stomp
  • Stomp::getReadTimeout — Возвращает время максимального ожидания операции чтения
  • Stomp::getSessionId — Возвращает идентификатор текущей сессии Stomp
  • Stomp::hasFrame — Проверяет, возможно ли чтение фрейма
  • Stomp::readFrame — Выполняет операцию чтения следующего фрейма
  • Stomp::send — Отправляет сообщение
  • Stomp::setReadTimeout — Устанавливает предельное время ожидания операции чтения
  • Stomp::subscribe — Регистрирует подписку на указанную рассылку
  • Stomp::unsubscribe — Удаляет существующую подписку
stomp_version
Stomp::abort
Stomp


Отменяет выполнение текущей транзакции

Stomp
Stomp::ack
Stomp
PHP Manual

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Отменяет выполнение текущей транзакции

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::abort ( string $transaction_id [, array $headers ] )

Процедурный стиль:

bool stomp_abort ( resource $link , string $transaction_id [, array $headers ] )

Отменяет выполнение текущей транзакции.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

transaction_id

Тразакция, которую нужно прервать.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

/* начало транзакции */
$stomp->begin('t1');

/* отправка сообщения в очередь */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* откат транзакции */
$stomp->abort('t1');

/* разрыв подключения */
unset($stomp);
?>

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('tcp://localhost:61613');

/* проверка подключения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

/* начало транзакции */
stomp_begin($link, 't1');

/* отправка сообщения в очередь 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* откат транзакции */
stomp_abort($link, 't1');

/* разрыв подключения */
stomp_close($link);

?>

Stomp
Stomp::ack
Stomp


Подтверждает получение сообщения

Stomp::abort
Stomp::begin
Stomp
PHP Manual

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Подтверждает получение сообщения

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::ack ( mixed $msg [, array $headers ] )

Процедурный стиль:

bool stomp_ack ( resource $link , mixed $msg [, array $headers ] )

Подтверждает факт получения сообщения из очереди, используя подтверждение клиента.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

msg

Сообщение/идентификатор сообщения, получение которого должно быть подтверждено.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Также может быть указан заголовок транзакции, означающий что прием сообщения должен являться частью именованной транзакции.

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

/* отправка сообщения в очередь 'foo' */
$stomp->send($queue, $msg);

/* подписка на сообщения из очереди 'foo' */
$stomp->subscribe($queue);

/* чтение фрейма */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    /* подтверждение получения фрейма */
    $stomp->ack($frame);
}

/* отмена подписки к очереди */
$stomp->unsubscribe($queue);

/* закрытие подключения */
unset($stomp);

?>

Пример #2 Процедурный стиль

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

/* начало транзакции */
stomp_begin($link, 't1');

/* отправка сообщения в очередь  'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* подтверждение транзакции */
stomp_commit($link, 't1');

/* подписка на сообщения из очереди 'foo' */
stomp_subscribe($link, $queue);

/* чтение фрейма */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    /* подтверждение получения фрейма */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* отмена подписки к очереди */
stomp_unsubscribe($link, $queue);

/* закрытие подключения */
stomp_close($link);

?>

Stomp::abort
Stomp::begin
Stomp


Создает транзакцию

Stomp::ack
Stomp::commit
Stomp
PHP Manual

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Создает транзакцию

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::begin ( string $transaction_id [, array $headers ] )

Процедурный стиль:

bool stomp_begin ( resource $link , string $transaction_id [, array $headers ] )

Создает транзакцию.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

transaction_id

Идентификатор транзакции.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

См. stomp_commit() или stomp_abort().

Stomp::ack
Stomp::commit
Stomp


Выполняет текущую транзакцию

Stomp::begin
Stomp::__construct
Stomp
PHP Manual

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Выполняет текущую транзакцию

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::commit ( string $transaction_id [, array $headers ] )

Процедурный стиль:

bool stomp_commit ( resource $link , string $transaction_id [, array $headers ] )

Выполняет текущую транзакцию.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

transaction_id

Идентификатор транзакции.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

/* Начало транзакции */
$stomp->begin('t1');

/* отправка сообщения в очередь */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* выполнение транзакции */
$stomp->commit('t1');

/* закрытие подключения */
unset($stomp);

?>

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('tcp://localhost:61613');

/* проверка подключения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

/* Начало транзакции */
stomp_begin($link, 't1');

/* Отправка сообщения в очередь 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* Выполнение транзакции */
stomp_commit($link, 't1');

/* Закрытие изменения */
stomp_close($link);

?>

Stomp::begin
Stomp::__construct
Stomp


Открывает соединение

Stomp::commit
Stomp::__destruct
Stomp
PHP Manual

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Открывает соединение

Описание

Объектно-ориентированный стиль (конструктор):

Stomp::__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Процедурный стиль:

resource stomp_connect ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Открывает соединение к Stomp-совместимому брокеру сообщений (Message Broker).

Список параметров

broker

URI брокера

username

Имя пользователя

password

Пароль

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Замечание:

Также может быть указан заголовок транзакции, означающий что прием сообщения должен являться частью именованной транзакции.

Список изменений

Версия | Описание
1.0.1 | Добавлен параметр headers

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

/* закрытие соединения */
unset($stomp);

?>

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

/* Закрытие соединения */
stomp_close($link);

?>

Stomp::commit
Stomp::__destruct
Stomp


Закрывает Stomp-соединение

Stomp::__construct
Stomp::error
Stomp
PHP Manual

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Закрывает Stomp-соединение

Описание

Объектно-ориентированный стиль (декструктор):

public bool Stomp::__destruct ( void )

Процедурный стиль:

bool stomp_close ( resource $link )

Закрывает ранее открытые соединения.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

См. stomp_connect().

Stomp::__construct
Stomp::error
Stomp


Возвращает последнюю ошибку Stomp

Stomp::__destruct
Stomp::getReadTimeout
Stomp
PHP Manual

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Возвращает последнюю ошибку Stomp

Описание

Объектно-ориентированный стиль (метод):

public string Stomp::error ( void )

Процедурный стиль:

string stomp_error ( resource $link )

Возвращает последнюю ошибку Stomp.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

Возвращаемые значения

Возвращает текст ошибки или FALSE в случае ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
    var_dump($stomp->error());
}

/* Закрытие соединения */
unset($stomp);

?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
    var_dump(stomp_error($link));
}

/* закрытие соединения */
stomp_close($link);

?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Stomp::__destruct
Stomp::getReadTimeout
Stomp


Возвращает время максимального ожидания операции чтения

Stomp::error
Stomp::getSessionId
Stomp
PHP Manual

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Возвращает время максимального ожидания операции чтения

Описание

Объектно-ориентированный стиль (метод):

public array Stomp::getReadTimeout ( void )

Процедурный стиль:

array stomp_get_read_timeout ( resource $link )

Возвращает время максимального ожидания операции чтения

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

Возвращаемые значения

Возвращает массив с 2 элементами: sec и usec.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* закрытие соединения */
unset($stomp);

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* закрытие соединения */
stomp_close($link);

?>

Результатом выполнения данного примера будет что-то подобное:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Stomp::error
Stomp::getSessionId
Stomp


Возвращает идентификатор текущей сессии Stomp

Stomp::getReadTimeout
Stomp::hasFrame
Stomp
PHP Manual

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Возвращает идентификатор текущей сессии Stomp

Описание

Объектно-ориентированный стиль (метод):

public string Stomp::getSessionId ( void )

Процедурный стиль:

string stomp_get_session_id ( resource $link )

Возвращает идентификатор текущей сессии Stomp.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

Возвращаемые значения

Идентификатор сессии (string) в случае успеха или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* закрытие подключения */
unset($stomp);

?>

Результатом выполнения данного примера будет что-то подобное:

string(35) "ID:php.net-52873-1257291895530-4:14"

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* закрытие подключения */
stomp_close($link);

?>

Результатом выполнения данного примера будет что-то подобное:

string(35) "ID:php.net-52873-1257291895530-4:14"

Stomp::getReadTimeout
Stomp::hasFrame
Stomp


Проверяет, возможно ли чтение фрейма

Stomp::getSessionId
Stomp::readFrame
Stomp
PHP Manual

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Проверяет, возможно ли чтение фрейма

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::hasFrame ( void )

Процедурный стиль:

bool stomp_has_frame ( resource $link )

Проверяет, возможно ли чтение фрейма.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

Возвращаемые значения

Возвращает TRUE если фрейм возможно прочитать, иначе FALSE.

Stomp::getSessionId
Stomp::readFrame
Stomp


Выполняет операцию чтения следующего фрейма

Stomp::hasFrame
Stomp::send
Stomp
PHP Manual

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Выполняет операцию чтения следующего фрейма

Описание

Объектно-ориентированный стиль (метод):

public stompframe Stomp::readFrame ([ string $class_name = "stompFrame" ] )

Процедурный стиль:

array stomp_read_frame ( resource $link )

Выполняет операцию чтения следующего фрейма. Если возможно, то создаёт экземпляр указанного класса и передаёт параметры конструктору этого класса.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

class_name

Имя класса для создания экземпляра. Если не указан, возвращается объект stompFrame.

Возвращаемые значения

Замечание:

Также может быть указан заголовок транзакции, означающий что прием сообщения должен являться частью именованной транзакции.

Список изменений

Версия | Описание
Stomp 0.4.0 | Добавлен параметр class_name.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

/* подписка на сообщения из очереди 'foo' */
$stomp->subscribe('/queue/foo');

/* чтение фрейма */
var_dump($stomp->readFrame());

/* закрытие подключения */
unset($stomp);

?>

Результатом выполнения данного примера будет что-то подобное:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка соединения: ' . stomp_connect_error());
}

/* подписка на сообщения из очереди 'foo' */
stomp_subscribe($link, '/queue/foo');

/* чтение фрейма */
$frame = stomp_read_frame($link);

/* закрытие подключения */
stomp_close($link);

?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Stomp::hasFrame
Stomp::send
Stomp


Отправляет сообщение

Stomp::readFrame
Stomp::setReadTimeout
Stomp
PHP Manual

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Отправляет сообщение

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::send ( string $destination , mixed $msg [, array $headers ] )

Процедурный стиль:

bool stomp_send ( resource $link , string $destination , mixed $msg [, array $headers ] )

Отправляет сообщение брокеру сообщений (Message Broker).

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

destination

Назначение для отправки сообщения.

msg

Сообщение для отправки.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Также может быть указан заголовок транзакции, означающий что прием сообщения должен являться частью именованной транзакции.

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

См. stomp_ack().

Stomp::readFrame
Stomp::setReadTimeout
Stomp


Устанавливает предельное время ожидания операции чтения

Stomp::send
Stomp::subscribe
Stomp
PHP Manual

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Устанавливает предельное время ожидания операции чтения

Описание

Объектно-ориентированный стиль (метод):

public void Stomp::setReadTimeout ( int $seconds [, int $microseconds ] )

Процедурный стиль:

void stomp_set_read_timeout ( resource $link , integer $seconds [, integer $microseconds ] )

Устанавливает предельное время ожидания операции чтения.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

seconds

Секундная часть времени ожидания операции.

microseconds

Микросекундная времени ожидания операции.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

/* подключение */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Ошибка соединения: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* закрытие подключения */
unset($stomp);

?>

Пример #2 Процедурный стиль

<?php

/* подключение */
$link = stomp_connect('ssl://localhost:61612');

/* проверка соединения */
if (!$link) {
    die('Ошибка подключения: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* закрытие подключения */
stomp_close($link);

?>

Stomp::send
Stomp::subscribe
Stomp


Регистрирует подписку на указанную рассылку

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp
PHP Manual

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Регистрирует подписку на указанную рассылку

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::subscribe ( string $destination [, array $headers ] )

Процедурный стиль:

bool stomp_subscribe ( resource $link , string $destination [, array $headers ] )

Регистрирует подписку на указанную рассылку.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

destination

Рассылка, на которую необходимо зарегистрировать подписку.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

См. stomp_ack().

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp


Удаляет существующую подписку

Stomp::subscribe
StompFrame
Stomp
PHP Manual

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Удаляет существующую подписку

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::unsubscribe ( string $destination [, array $headers ] )

Процедурный стиль:

bool stomp_unsubscribe ( resource $link , string $destination [, array $headers ] )

Удаляет существующую подписку.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

destination

Подписка для удаления.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничегоо не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

См. stomp_ack().

Stomp::subscribe
StompFrame
Stomp


Класс StompFrame

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет сообщение, которое было отправлено или получено от Stomp-совместимого брокера сообщений (Message Broker).

Обзор классов

StompFrame {
/* Свойства */
public $StompFrame->command ;
public $headers ;
public $body ;
/* Методы */
StompFrame::__construct ([ string $command [, array $headers [, string $body ]]] )
}

Свойства

command

Команда фрейма.

headers

Заголовки фрейма (array).

body

Тело фрейма.

Содержание

  • StompFrame::__construct — Конструктор
Stomp::unsubscribe
StompFrame::__construct
Stomp


Конструктор

StompFrame
StompException
StompFrame
PHP Manual

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Конструктор

Описание

StompFrame::__construct ([ string $command [, array $headers [, string $body ]]] )

Конструктор.

Список параметров

command

Команда фрейма.

headers

Заголовки фрейма (array).

body

Тело фрейма.

StompFrame
StompException
StompFrame


Класс StompException

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет ошибку вызванную расширением Stomp. См. Расширения для получения подробной информации об исключениях в PHP.

Обзор классов

StompException extends Exception {
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
/* Методы */
public string getDetails ( void )
}

Содержание

  • StompException::getDetails — Возвращает сведения об исключении
StompFrame::__construct
StompException::getDetails
Stomp


Возвращает сведения об исключении

StompException
SVM
StompException
PHP Manual

StompException::getDetails

(Информация о версии неизвестна, возможно, только в SVN)

StompException::getDetails — Возвращает сведения об исключении

Описание

public string StompException::getDetails ( void )

Получает сведения об исключении.

Возвращаемые значения

Строка (string), содержащая описание ошибки.

StompException
SVM
StompException


Support Vector Machine

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Примеры
  • SVM — The SVM class
    • SVM::__construct — Construct a new SVM object
    • SVM::crossvalidate — Test training params on subsets of the training data.
    • SVM::getOptions — Return the current training parameters
    • SVM::setOptions — Set training parameters
    • SVM::train — Create a SVMModel based on training data
  • SVMModel — The SVMModel class
    • SVMModel::__construct — Construct a new SVMModel
    • SVMModel::load — Load a saved SVM Model
    • SVMModel::predict — Predict a value for previously unseen data
    • SVMModel::save — Save a model to a file
StompException::getDetails
Введение
Другие службы


Введение

LibSVM is an efficient solver for SVM classification and regression problems. The svm extension wraps this in a PHP interface for easy use in PHP scripts.

SVM
Установка и настройка
SVM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SVM


Требования

Libsvm itself is required, and is available through some package management - libsvm-devel for RPM based system or libsvm-dev for Debian based ones. Alternatively it is available direct from the website. If installing from the » official website then some steps will need to be taken as the package does not install automatically. For example, assuming the latest version is 3.1:

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.1
make lib
cp libsvm.so.1 /usr/lib
ln -s libsvm.so.1 libsvm.so
ldconfig
ldconfig --print | grep libsvm

This last step should show libsvm is installed.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/svm

Требования
Настройка во время выполнения
Установка и настройка


Примеры

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Data is supplied in either a file, a stream, or as an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

-1 1:0.43 3:0.12 9284:0.2

In a document classification problem, say a spam checker, each line would represent a document. There would be two classes, -1 for spam, 1 for ham. Each feature would represent some word, and the value would represent that importance of that word to the document (perhaps the frequency count, with the total scaled to unit length). Features that were 0 (e.g. the word did not appear in the document at all) would simply not be included.

In array mode, the data must be passed as an array of arrays. Each sub-array must have the class as the first element, then key => value sets for the feature values pairs.

This data is passed to the SVM class's train function, which will return an SVM model is successful.

Once a model has been generated, it can be used to make predictions about previously unseen data. This can be passed as an array to the model's predict function, in the same format as before, but without the label. The response will be the class.

Models can be saved and restored as required, using the save and load functions, which both take a file location.

Пример #1 Train from array

<?php
$data = array(
    array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
    array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);

$svm = new SVM();
$model = $svm->train($data);

$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>

Результатом выполнения данного примера будет что-то подобное:

int(-1)

Пример #2 Train from a file

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>

Типы ресурсов
SVM
SVM


The SVM class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Обзор классов

SVM {
/* Constants */
const integer C_SVC = 0 ;
const integer NU_SVC = 1 ;
const integer ONE_CLASS = 2 ;
const integer EPSILON_SVR = 3 ;
const integer NU_SVR = 4 ;
const integer KERNEL_LINEAR = 0 ;
const integer KERNEL_POLY = 1 ;
const integer KERNEL_RBF = 2 ;
const integer KERNEL_SIGMOID = 3 ;
const integer KERNEL_PRECOMPUTED = 4 ;
const integer OPT_TYPE = 101 ;
const integer OPT_KERNEL_TYPE = 102 ;
const integer OPT_DEGREE = 103 ;
const integer OPT_SHRINKING = 104 ;
const integer OPT_PROPABILITY = 105 ;
const integer OPT_GAMMA = 201 ;
const integer OPT_NU = 202 ;
const integer OPT_EPS = 203 ;
const integer OPT_P = 204 ;
const integer OPT_COEF_ZERO = 205 ;
const integer OPT_C = 206 ;
const integer OPT_CACHE_SIZE = 207 ;
/* Methods */
__construct ( void )
public float svm::crossvalidate ( array $problem , int $number_of_folds )
public array getOptions ( void )
public bool setOptions ( array $params )
public SVMModel svm::train ( array $problem [, array $weights ] )
}

Предопределенные константы

SVM Constants

SVM::C_SVC

The basic C_SVC SVM type. The default, and a good starting point

SVM::NU_SVC

The NU_SVC type uses a different, more flexible, error weighting

SVM::ONE_CLASS

One class SVM type. Train just on a single class, using outliers as negative examples

SVM::EPSILON_SVR

A SVM type for regression (predicting a value rather than just a class)

SVM::NU_SVR

A NU style SVM regression type

SVM::KERNEL_LINEAR

A very simple kernel, can work well on large document classification problems

SVM::KERNEL_POLY

A polynomial kernel

SVM::KERNEL_RBF

The common Gaussian RBD kernel. Handles non-linear problems well and is a good default for classification

SVM::KERNEL_SIGMOID

A kernel based on the sigmoid function. Using this makes the SVM very similar to a two layer sigmoid based neural network

SVM::KERNEL_PRECOMPUTED

A precomputed kernel - currently unsupported.

SVM::OPT_TYPE

The options key for the SVM type

SVM::OPT_KERNEL_TYPE

The options key for the kernel type

SVM::OPT_DEGREE

SVM::OPT_SHRINKING

Training parameter, boolean, for whether to use the shrinking heuristics

SVM::OPT_PROBABILITY

Training parmater, boolean, for whether to use probability estimates

SVM::OPT_GAMMA

Algorithm parameter for Poly, RBF and Sigmoid kernel types.

SVM::OPT_NU

The option key for the nu parameter, only used in the NU_ SVM types

SVM::OPT_EPS

The option key for the Epsilon parameter, used in epsilon regression

SVM::OPT_P

Training parameter used by Episilon SVR regression

SVM::OPT_COEF_ZERO

Algorithm parameter for poly and sigmoid kernels

SVM::OPT_C

The option for the cost parameter that controls tradeoff between errors and generality

SVM::OPT_CACHE_SIZE

Memory cache size, in MB

Содержание

  • SVM::__construct — Construct a new SVM object
  • SVM::crossvalidate — Test training params on subsets of the training data.
  • SVM::getOptions — Return the current training parameters
  • SVM::setOptions — Set training parameters
  • SVM::train — Create a SVMModel based on training data
Примеры
SVM::__construct
SVM


Construct a new SVM object

SVM
SVM::crossvalidate
SVM
PHP Manual

SVM::__construct

(PECL svm >= 0.1.0)

SVM::__construct — Construct a new SVM object

Описание

SVM::__construct ( void )

Constructs a new SVM object ready to accept training data.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Throws SVMException if the libsvm library could not be loaded

SVM
SVM::crossvalidate
SVM


Test training params on subsets of the training data.

SVM::__construct
SVM::getOptions
SVM
PHP Manual

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — Test training params on subsets of the training data.

Описание

public float svm::crossvalidate ( array $problem , int $number_of_folds )

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.

Список параметров

problem

The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.

number_of_folds

The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Возвращаемые значения

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

Смотрите также

  • SVM::train() - Create a SVMModel based on training data

SVM::__construct
SVM::getOptions
SVM


Return the current training parameters

SVM::crossvalidate
SVM::setOptions
SVM
PHP Manual

SVM::getOptions

(PECL svm >= 0.1.0)

SVM::getOptions — Return the current training parameters

Описание

public array SVM::getOptions ( void )

Retrieve an array containing the training parameters. The parameters will be keyed on the predefined SVM constants.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of configuration settings.

SVM::crossvalidate
SVM::setOptions
SVM


Set training parameters

SVM::getOptions
SVM::train
SVM
PHP Manual

SVM::setOptions

(PECL svm >= 0.1.0)

SVM::setOptions — Set training parameters

Описание

public bool SVM::setOptions ( array $params )

Set one or more training parameters.

Список параметров

params

An array of training parameters, keyed on the SVM constants.

Возвращаемые значения

Return true on success, throws SVMException on error.

SVM::getOptions
SVM::train
SVM


Create a SVMModel based on training data

SVM::setOptions
SVMModel
SVM
PHP Manual

SVM::train

(PECL svm >= 0.1.0)

SVM::train — Create a SVMModel based on training data

Описание

public SVMModel svm::train ( array $problem [, array $weights ] )

Train a support vector machine based on the supplied training data.

Список параметров

problem

The problem can be provided in three different ways. An array, where the data should start with the class label (usually 1 or -1) then followed by a sparse data set of dimension => data pairs. A URL to a file containing a SVM Light formatted problem, with the each line being a new training example, the start of each line containing the class (1, -1) then a series of tab separated data values shows as key:value. A opened stream pointing to a data source formatted as in the file above.

weights

Weights are an optional set of weighting parameters for the different classes, to help account for unbalanced training sets. For example, if the classes were 1 and -1, and -1 had significantly more example than one, the weight for -1 could be 0.5. Weights should be in the range 0-1.

Возвращаемые значения

Returns an SVMModel that can be used to classify previously unseen data. Throws SVMException on error

SVM::setOptions
SVMModel
SVM


The SVMModel class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SVMModel is the end result of the training process. It can be used to classify previously unseen data.

Обзор классов

SVMModel {
/* Methods */
__construct ([ string $filename ] )
public bool load ( string $filename )
public float predict ( array $data )
public bool save ( string $filename )
}

Содержание

  • SVMModel::__construct — Construct a new SVMModel
  • SVMModel::load — Load a saved SVM Model
  • SVMModel::predict — Predict a value for previously unseen data
  • SVMModel::save — Save a model to a file
SVM::train
SVMModel::__construct
SVM


Construct a new SVMModel

SVMModel
SVMModel::load
SVMModel
PHP Manual

SVMModel::__construct

(PECL svm >= 0.1.0)

SVMModel::__construct — Construct a new SVMModel

Описание

SVMModel::__construct ([ string $filename ] )

Build a new SVMModel. Models will usually be created from the SVM::train function, but then saved models may be restored directly.

Список параметров

filename

The filename for the saved model file this model should load.

Возвращаемые значения

Throws SVMException on error

Смотрите также

  • SVMModel::load() - Load a saved SVM Model

SVMModel
SVMModel::load
SVMModel


Load a saved SVM Model

SVMModel::__construct
SVMModel::predict
SVMModel
PHP Manual

SVMModel::load

(PECL svm >= 0.1.00.1.0)

SVMModel::load — Load a saved SVM Model

Описание

public bool SVMModel::load ( string $filename )

Load a model file ready for classification or regression.

Список параметров

filename

The filename of the model.

Возвращаемые значения

Throws SVMException on error. Returns true on success.

Смотрите также

  • SVMModel::save() - Save a model to a file

SVMModel::__construct
SVMModel::predict
SVMModel


Predict a value for previously unseen data

SVMModel::load
SVMModel::save
SVMModel
PHP Manual

SVMModel::predict

(PECL svm >= 0.1.0)

SVMModel::predict — Predict a value for previously unseen data

Описание

public float SVMModel::predict ( array $data )

This function accepts an array of data and attempts to predict the class or regression value based on the model extracted from previously trained data.

Список параметров

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

Возвращаемые значения

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Смотрите также

  • SVM::train() - Create a SVMModel based on training data

SVMModel::load
SVMModel::save
SVMModel


Save a model to a file

SVMModel::predict
SVN
SVMModel
PHP Manual

SVMModel::save

(PECL svm >= 0.1.0)

SVMModel::save — Save a model to a file

Описание

public bool SVMModel::save ( string $filename )

Save the model data to a file, for later use.

Список параметров

filename

The file to save the model to.

Возвращаемые значения

Throws SVMException on error. Returns true on success.

Смотрите также

  • SVMModel::load() - Load a saved SVM Model

SVMModel::predict
SVN
SVMModel


Subversion

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SVN
    • svn_add — Добавляет элементы в список запланированных для добавления в рабочую копию
    • svn_auth_get_parameter — Возвращает параметр аутентификации
    • svn_auth_set_parameter — Устанавливает параметр аутентификации
    • svn_blame — Построчно выводит автора и редакцию для файла
    • svn_cat — Возвращает содержимое файла в репозитарии
    • svn_checkout — Получает рабочую копию из репозитория
    • svn_cleanup — Рекурсивно очищает рабочую копию директории, завершает незаконченные операции и снимает блокировки
    • svn_client_version — Возвращает версию клиентских библиотек SVN
    • svn_commit — Отправляет изменения из рабочей директории в репозиторий
    • svn_delete — Удаляет элементы из рабочей копии или репозитория
    • svn_diff — Рекурсивно показывает различия двух файлов
    • svn_export — Экспортирует содержимое директории SVN
    • svn_fs_abort_txn — Отменяет тразнакцию, возвращает TRUE если отмена прошла успешно или FALSE в противном случае
    • svn_fs_apply_text — Создает и возвращает поток, который будет использован для замены
    • svn_fs_begin_txn2 — Создает новую транзакцию
    • svn_fs_change_node_prop — Возвращает TRUE если операция прошла успешно или FALSE в противном случае
    • svn_fs_check_path — Определяет, какая сущность находится в пути репозитария fsroot
    • svn_fs_contents_changed — Возвращает TRUE если содержимое отличается или FALSE в противном случае
    • svn_fs_copy — Копирует файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
    • svn_fs_delete — Удаляет файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
    • svn_fs_dir_entries — Перечисляет элементы директории по заданному пути; возвращает хэш имен директорий и типов файлов
    • svn_fs_file_contents — Возвращает поток для доступа к содержимому файла из данной файловой системы
    • svn_fs_file_length — Возвращает длину файла из данной файловой системы
    • svn_fs_is_dir — Возвращает TRUE если по данному пути находится директория или FALSE в противном случае
    • svn_fs_is_file — Возвращает TRUE если по данному пути находится файл или FALSE в противном случае
    • svn_fs_make_dir — Создает новую пустую директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
    • svn_fs_make_file — Создает новый пустой файл, возвращает TRUE если операция прошла успешно или FALSE в противном случае
    • svn_fs_node_created_rev — Возвращает номер ревизии, когда был создан путь в файловой системе
    • svn_fs_node_prop — Возвращает значение свойства для узла
    • svn_fs_props_changed — Возвращает TRUE если свойства разные или FALSE в противном случае
    • svn_fs_revision_prop — Возвращает значение данного свойства
    • svn_fs_revision_root — Возвращает дескриптор определенной версии корневой директории репозитария
    • svn_fs_txn_root — Создает и возвращает корень транзакции
    • svn_fs_youngest_rev — Возвращает номер самой ранней ревизии в файловой системе
    • svn_import — Импорт пути без версии в репозитории
    • svn_log — Возвращает комментарии к правкам в репозитории
    • svn_ls — Возвращает список содержимого директории репозитория URL, опционально для конкретной ревизии
    • svn_mkdir — Создает директорию в рабочей копии или в репозитарии
    • svn_repos_create — Создание нового репозитория Subversion
    • svn_repos_fs_begin_txn_for_commit — Создание новой транзакции
    • svn_repos_fs_commit_txn — Отправка транзакции и возвращение номера ревизии
    • svn_repos_fs — Возвращает дескриптор файловой системы для репозитория
    • svn_repos_hotcopy — Создает свежую копию репозитория по адресу repospath и копирует в destpath
    • svn_repos_open — Открывает репозиторий с общей блокировкой
    • svn_repos_recover — Запускает процедуры восстановления репозитория
    • svn_revert — Отменяет локальные изменения рабочей копии
    • svn_status — Возвращает SVN статус файлов и директорий рабочей копии
    • svn_update — Обновляет рабочую копию
SVMModel::save
Введение
Другие службы


Введение

Это расширение реализует работу PHP с » Subversion (SVN), системой управления версиями, что позволяет PHP скриптам взаимодействовать с SVN репозиториями и рабочими копиями без непосредственного вызова утилиты svn из командной строки.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

SVN
Установка и настройка
SVN


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SVN


Требования

Исполняемые файлы Subversion не требуются для использования данного расширения. Тем не менее, при его компиляции, библиотека libsvn (заголовки Subversion) должна быть доступна.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/svn

Если в ./configure есть проблемы с поиском SVN файлов (например, Subversion был установлен из другого каталога), используйте ./configure --with-svn=$USR_PATH для указания каталога, в котором находится include/subversion-1/.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Внимание

Если расширение компилируется с библиотекой libsvn 1.3, функции, которые работают с рабочими копиями, будут выполняться с ошибками при использовании рабочих копий, созданных Subversion 1.4.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SVN_REVISION_HEAD (integer)
Магическое число (-1), указывающее на последнюю ревизию
Константы, используемые с svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Свойство, определяющее имя пользователя по умолчанию, которое будет использоваться при выполнении базовой аутентификации
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Свойство, определяющее пароль пользователя по умолчанию, которое будет использоваться при выполнении базовой аутентификации
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Поле, предписывающее игнорирование ошибок верификации SSL сертификата
Константы файловой системы
SVN_FS_CONFIG_FS_TYPE (string)
Ключ конфигурации, определяющий тип файловой системы
SVN_FS_TYPE_BDB (string)
Файловая система, реализуемая Berkeley-DB
SVN_FS_TYPE_FSFS (string)
Файловая система, реализуемая стандартным образом
Константы заразервированых свойств
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
Константы статуса рабочей копии
SVN_WC_STATUS_NONE (int)
Статус отсутствует
SVN_WC_STATUS_UNVERSIONED (int)
Элемент не имеет версии в рабочей копии
SVN_WC_STATUS_NORMAL (int)
Элемент существует, действий над ним не происходит
SVN_WC_STATUS_ADDED (int)
Элемент запланирован к добавлению в репозиторий
SVN_WC_STATUS_MISSING (int)
Элемент имеет версию, но отсутствует в рабочей копии
SVN_WC_STATUS_DELETED (int)
Элемент запланирован к удалению
SVN_WC_STATUS_REPLACED (int)
Элемент был удален, а затем снова добавлен
SVN_WC_STATUS_MODIFIED (int)
Элемент (текст или свойства) был изменен
SVN_WC_STATUS_MERGED (int)
Локальные изменения элемента были объединены с изменениями в репозитории
SVN_WC_STATUS_CONFLICTED (int)
Локальные изменения элемента конфликтуют с изменениями в репозитории
SVN_WC_STATUS_IGNORED (int)
Элемент не имеет версии и игнорируется системой контроля версий
SVN_WC_STATUS_OBSTRUCTED (int)
Элемент, не имеющий версии, связан с ресурсом, имеющим версию.
SVN_WC_STATUS_EXTERNAL (int)
Неверсированный путь, пополняемый с использованием svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
Директория не содержит полного списка записей
Константы типа Node
SVN_NODE_NONE (int)
Отсутствует
SVN_NODE_FILE (int)
Файл
SVN_NODE_DIR (int)
Директория
SVN_NODE_UNKNOWN (int)
Нечто, неидентифицируемое Subversion
Типы ресурсов
SVN
SVN


SVN
PHP Manual

SVN

Содержание

  • svn_add — Добавляет элементы в список запланированных для добавления в рабочую копию
  • svn_auth_get_parameter — Возвращает параметр аутентификации
  • svn_auth_set_parameter — Устанавливает параметр аутентификации
  • svn_blame — Построчно выводит автора и редакцию для файла
  • svn_cat — Возвращает содержимое файла в репозитарии
  • svn_checkout — Получает рабочую копию из репозитория
  • svn_cleanup — Рекурсивно очищает рабочую копию директории, завершает незаконченные операции и снимает блокировки
  • svn_client_version — Возвращает версию клиентских библиотек SVN
  • svn_commit — Отправляет изменения из рабочей директории в репозиторий
  • svn_delete — Удаляет элементы из рабочей копии или репозитория
  • svn_diff — Рекурсивно показывает различия двух файлов
  • svn_export — Экспортирует содержимое директории SVN
  • svn_fs_abort_txn — Отменяет тразнакцию, возвращает TRUE если отмена прошла успешно или FALSE в противном случае
  • svn_fs_apply_text — Создает и возвращает поток, который будет использован для замены
  • svn_fs_begin_txn2 — Создает новую транзакцию
  • svn_fs_change_node_prop — Возвращает TRUE если операция прошла успешно или FALSE в противном случае
  • svn_fs_check_path — Определяет, какая сущность находится в пути репозитария fsroot
  • svn_fs_contents_changed — Возвращает TRUE если содержимое отличается или FALSE в противном случае
  • svn_fs_copy — Копирует файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
  • svn_fs_delete — Удаляет файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
  • svn_fs_dir_entries — Перечисляет элементы директории по заданному пути; возвращает хэш имен директорий и типов файлов
  • svn_fs_file_contents — Возвращает поток для доступа к содержимому файла из данной файловой системы
  • svn_fs_file_length — Возвращает длину файла из данной файловой системы
  • svn_fs_is_dir — Возвращает TRUE если по данному пути находится директория или FALSE в противном случае
  • svn_fs_is_file — Возвращает TRUE если по данному пути находится файл или FALSE в противном случае
  • svn_fs_make_dir — Создает новую пустую директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае
  • svn_fs_make_file — Создает новый пустой файл, возвращает TRUE если операция прошла успешно или FALSE в противном случае
  • svn_fs_node_created_rev — Возвращает номер ревизии, когда был создан путь в файловой системе
  • svn_fs_node_prop — Возвращает значение свойства для узла
  • svn_fs_props_changed — Возвращает TRUE если свойства разные или FALSE в противном случае
  • svn_fs_revision_prop — Возвращает значение данного свойства
  • svn_fs_revision_root — Возвращает дескриптор определенной версии корневой директории репозитария
  • svn_fs_txn_root — Создает и возвращает корень транзакции
  • svn_fs_youngest_rev — Возвращает номер самой ранней ревизии в файловой системе
  • svn_import — Импорт пути без версии в репозитории
  • svn_log — Возвращает комментарии к правкам в репозитории
  • svn_ls — Возвращает список содержимого директории репозитория URL, опционально для конкретной ревизии
  • svn_mkdir — Создает директорию в рабочей копии или в репозитарии
  • svn_repos_create — Создание нового репозитория Subversion
  • svn_repos_fs_begin_txn_for_commit — Создание новой транзакции
  • svn_repos_fs_commit_txn — Отправка транзакции и возвращение номера ревизии
  • svn_repos_fs — Возвращает дескриптор файловой системы для репозитория
  • svn_repos_hotcopy — Создает свежую копию репозитория по адресу repospath и копирует в destpath
  • svn_repos_open — Открывает репозиторий с общей блокировкой
  • svn_repos_recover — Запускает процедуры восстановления репозитория
  • svn_revert — Отменяет локальные изменения рабочей копии
  • svn_status — Возвращает SVN статус файлов и директорий рабочей копии
  • svn_update — Обновляет рабочую копию
Предопределенные константы
svn_add
SVN
PHP Manual


Добавляет элементы в список запланированных для добавления в рабочую копию

SVN
svn_auth_get_parameter
SVN
PHP Manual

svn_add

(PECL svn >= 0.1.0)

svn_add — Добавляет элементы в список запланированных для добавления в рабочую копию

Описание

bool svn_add ( string $path [, bool $recursive = true [, bool $force = false ]] )

Добавляет файл, папку или символическую ссылку path в рабочую копию. Данные будут добавлены в репозиторий при следующием вызове метода svn_commit() для рабочей копии.

Список параметров

path

Путь к добавляемой папке, файлу или ссылке.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

recursive

Если добавляется директория, флаг определят будет ли рекурсивно добавлено всё ее содержимое. По умолчанию TRUE

force

Если значение параметра эквивалентно TRUE -- Subversion будет рекурсивно просматривать уже известные директории, для того, чтобы добавить файлы, которые находятся в этих директориях, но не были взяты под контроль Subversion. По умолчанию FALSE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 svn_add() example

В рабочей директории, где svn status возвращает:

$ svn status
?      foobar.txt

...данный код:

<?php
svn_add('foobar.txt');
?>

...пометит файл foobar.txt как запланированный на добавление в репозиторий.

Смотрите также

  • » SVN документация по команде svn add

SVN
svn_auth_get_parameter
SVN


Возвращает параметр аутентификации

svn_add
svn_auth_set_parameter
SVN
PHP Manual

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Возвращает параметр аутентификации

Описание

string svn_auth_get_parameter ( string $key )

Возвращает параметр аутентификации по ключу key. Список возможных ключей и их значений доступен в списке констант аутентификации.

Список параметров

key

Имя ключа (строка). Чтобы указать ключ, используйте список констант аутентификации, определенный данным модулем.

Возвращаемые значения

Возвращает значение параметра по ключу key в виде строки, или NULL, если параметр не существует.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • svn_auth_set_parameter() - Устанавливает параметр аутентификации
  • Константы аутентификации

svn_add
svn_auth_set_parameter
SVN


Устанавливает параметр аутентификации

svn_auth_get_parameter
svn_blame
SVN
PHP Manual

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Устанавливает параметр аутентификации

Описание

void svn_auth_set_parameter ( string $key , string $value )

Устанавливает параметр аутентификации в значение value по ключу key. Список возможных ключей и их значений доступен в списке констант аутентификации.

Список параметров

key

Имя ключа (Строка). Чтобы указать ключ, используйте список констант аутентификации, определенный этим модулем.

value

Строковое значение устанавливаемого параметра по ключу. Формат значений может меняться в зависимости от параметра.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример аутентификации

Этот пример показывает как настроить SVN, чтобы имя пользователя по умолчанию было 'Bob', а пароль по умолчанию - 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Смотрите также

  • svn_auth_get_parameter() - Возвращает параметр аутентификации
  • Константы аутентификации

svn_auth_get_parameter
svn_blame
SVN


Построчно выводит автора и редакцию для файла

svn_auth_set_parameter
svn_cat
SVN
PHP Manual

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Построчно выводит автора и редакцию для файла

Описание

array svn_blame ( string $repository_url [, int $revision_no = SVN_REVISION_HEAD ] )

Построчно выводит автора и редакцию для файла из репозитария.

Список параметров

repository_url

URL репозитария.

revision_no

Номер ревизии.

Возвращаемые значения

array Построчный массив со следующей информацией: номер ревизии, номер строки, строка кода, автор и дата.

Примеры

Пример #1 Пример использования функции svn_blame()

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Смотрите также

  • svn_diff() - Рекурсивно показывает различия двух файлов
  • svn_logs()
  • svn_status() - Возвращает SVN статус файлов и директорий рабочей копии

svn_auth_set_parameter
svn_cat
SVN


Возвращает содержимое файла в репозитарии

svn_blame
svn_checkout
SVN
PHP Manual

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Возвращает содержимое файла в репозитарии

Описание

string svn_cat ( string $repos_url [, int $revision_no ] )

Возвращает содержимое по URL repos_url файла в репозитарии по состоянию на ревизию номер revision_no (необязательный параметр).

Список параметров

repos_url

Путь URL к элементу в репозитарии.

revision_no

Номер ревизии (целое число) соответствующего элемента, по умолчанию - HEAD (последняя ревизия).

Возвращаемые значения

Возвращает содержимое элемента в репозитарии в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример использования функции svn_cat()

Этот пример показывает как получить содержимое файла ревизии 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Смотрите также

  • svn_list()
  • » SVN документация по svn cat

svn_blame
svn_checkout
SVN


Получает рабочую копию из репозитория

svn_cat
svn_cleanup
SVN
PHP Manual

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Получает рабочую копию из репозитория

Описание

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags = 0 ]] )

Получает рабочую копию с ревизией revision из репозитория repos и размещает в targetpath.

Список параметров

repos

Путь (URL) к директории, которую необходимо получить из репозитория.

targetpath

Локальный путь, куда необходимо получить рабочую копию.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

revision

Номер ревизии (целое число), которую необходимо получить. По умолчанию HEAD, т.е. самая новая версия.

flags

Комбинации из констант SVN_NON_RECURSIVE и SVN_IGNORE_EXTERNALS.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Этот пример показывает, как получить директорию из репозитория в папку calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

Выражение dirname(__FILE__) используется для преобразования из относительного пути к calc в абсолютный путь. Если calc существует, то можно использовать realpath() для получения абсолютного пути.

Смотрите также

  • svn_add() - Добавляет элементы в список запланированных для добавления в рабочую копию
  • svn_commit() - Отправляет изменения из рабочей директории в репозиторий
  • svn_status() - Возвращает SVN статус файлов и директорий рабочей копии
  • svn_update() - Обновляет рабочую копию
  • » SVN документация о команде svn checkout

svn_cat
svn_cleanup
SVN


Рекурсивно очищает рабочую копию директории, завершает незаконченные операции и снимает блокировки

svn_checkout
svn_client_version
SVN
PHP Manual

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Рекурсивно очищает рабочую копию директории, завершает незаконченные операции и снимает блокировки

Описание

bool svn_cleanup ( string $workingdir )

Рекурсивно очищает рабочую копию директории workingdir, завершает любые незаконченные операции и снимает блокировки из рабочей копии. Используйте, когда необходимо возобновить работу недоступной рабочей копии.

Список параметров

workingdir

Путь к локальной рабочей копии для очистки.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Этот пример показывает, как очистить рабочую копию в директории help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

В связи со странным поведением относительных путей в SVN, необходим вызов функции realpath().

Смотрите также

  • update()
  • » SVN документация к команде svn cleanup

svn_checkout
svn_client_version
SVN


Возвращает версию клиентских библиотек SVN

svn_cleanup
svn_commit
SVN
PHP Manual

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Возвращает версию клиентских библиотек SVN

Описание

string svn_client_version ( void )

Возвращает версию клиентских библиотек SVN

Возвращаемые значения

Номер версии, обычно в формате x.y.z.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

<?php
echo svn_client_version();
?>

Результатом выполнения данного примера будет что-то подобное:

1.3.1

svn_cleanup
svn_commit
SVN


Отправляет изменения из рабочей директории в репозиторий

svn_client_version
svn_delete
SVN
PHP Manual

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Отправляет изменения из рабочей директории в репозиторий

Описание

array svn_commit ( string $log , array $targets [, bool $dontrecurse = false ] )

Отправляет изменения в файлах локальной рабочей копии, перчисленные в массиве targets в репозиторий, с сообщением log. Директории из массива targets будут рекурсивно добавлены если параметр dontrecurse не установлен в TRUE.

Замечание: Эта функция не имеет параметров для установки данных аутентификации, поэтому имя пользователя и пароль должны быть заданы с помощью функции svn_auth_set_parameter()

Список параметров

log

Строка комментария для текущего изменения.

targets

Массив с путями к локальным файлам или дерикториям, которые будут отправлены.

Внимание

Параметр должен быть массивом, строковое значение для добавления единичного элемента не поддеживается.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

dontrecurse

Флаг для отключения рекурсивной отправки директорий из массива targets. По умолчанию FALSE.

Возвращаемые значения

Возвращает массив в формате:

array(
    0 => Номер ревизии сделанного измения
    1 => Строка с датой и временем изменения в формате ISO 8601
    2 => Имя отправившего
)

При неудаче операции возвращается FALSE.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Этот пример отправляет директорию calculator в репозиторий, используя имя пользователя Bob и пароль abc123 (будем надяться, что пароль надежный):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Комментарий Bob\'а', array(realpath('calculator'))));
?>

Результат выполнения данного примера:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Смотрите также

  • svn_auth_set_parameter() - Устанавливает параметр аутентификации
  • » SVN документация о svn commit

svn_client_version
svn_delete
SVN


Удаляет элементы из рабочей копии или репозитория

svn_commit
svn_diff
SVN
PHP Manual

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Удаляет элементы из рабочей копии или репозитория

Описание

bool svn_delete ( string $path [, bool $force = false ] )

Удаляет файл, директорию или символическую ссылку path из рабочей копии. Элемент будет удален из репозитория при следующем вызове svn_commit() из рабочей копии.

Список параметров

path

Путь к удаляемому элементу.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

force

При TRUE, файл будет удален даже, если в нем есть локальные изменения. При FALSE локальные модификации вызовут сбой при выполнении операции. По умолчанию FALSE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • » SVN документация о svn delete

svn_commit
svn_diff
SVN


Рекурсивно показывает различия двух файлов

svn_delete
svn_export
SVN
PHP Manual

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Рекурсивно показывает различия двух файлов

Описание

array svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 )

Рекурсивно показывает различия двух файлов path1 и path2.

Замечание:

Это не инструмент просмотра общих изменений. Могут быть просмотрены различия только локальных файлов, которые находятся в системе контроля версий SVN : для других файлов различия просмотреть не удастся.

Список параметров

path1

Первый путь. Это может быть URL файла/директории в репозитарии SVN или путь к локальному файлу/директории.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

Внимание

Если путь к локальному файлу состоит только из обратных слэшей (\), без слэша (/), данному модулю не удастся найти необходимые файлы. Всегда заменяйте все обратные слэши (\) на слэши (/) используя эту функцию.

rev1

Номер ревизии первого файла. Используйте константу SVN_REVISION_HEAD для задания самой последней ревизии.

path2

Второй путь к файлу, аналогично path1

rev2

Номер ревизии второго файла, аналогично rev1.

Возвращаемые значения

Возвращает список массивов состоящий из двух потоков: первая - различия файлов; вторая - ошибки. Потоки могут быть прочитаны функцией fread(). При ошибке возвращает FALSE или NULL.

По умолчанию, вывод различий будет в стандартном формате Subversion, но также может использоваться » внешним инструментом показа различий, в зависимости от настройки Subversion.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Пример ниже иллюстрирует простое использование данной функции и получение данных из потока.

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

Результат выполнения данного примера:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Пример #2 Вывод различий между двумя ревизиями одного файла

Этот пример показывает как реализовать функцию-обертку, которая позволяет пользователю просматривать различия между двумя ревизиями одного файла, используя внешний путь репозитария (стандартный синтаксис такой реализации несколько избыточен):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Пример #3 Более удобный способ вывода различий между двумя файла

Этот пример показывает как реализовать функцию-обертку для вывода различий между двумя локальными файлами, которая является переносимой и лишена ошибок при работе с функцией realpath() и обратным слэшом.

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Смотрите также

  • » SVN документация по svn diff

svn_delete
svn_export
SVN


Экспортирует содержимое директории SVN

svn_diff
svn_fs_abort_txn
SVN
PHP Manual

svn_export

(PECL svn >= 0.3.0)

svn_export — Экспортирует содержимое директории SVN

Описание

bool svn_export ( string $frompath , string $topath [, bool $working_copy = true [, int $revision_no = -1 ]] )

Экспортирует данные как из рабочей копии, так и из репозитория в 'чистую' директорию.

Список параметров

frompath

Путь к текущему репозиторию или к рабочей копии.

topath

Путь к "чистой" папке для экспорта.

working_copy

При TRUE из рабочей копии будут так же экспортированы не отправленные в репозиторий файлы.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования svn_export()

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Смотрите также

  • svn_import() - Импорт пути без версии в репозитории

svn_diff
svn_fs_abort_txn
SVN


Отменяет тразнакцию, возвращает TRUE если отмена прошла успешно или FALSE в противном случае

svn_export
svn_fs_apply_text
SVN
PHP Manual

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Отменяет тразнакцию, возвращает TRUE если отмена прошла успешно или FALSE в противном случае

Описание

bool svn_fs_abort_txn ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Отменяет транзакцию, возвращает TRUE если отмена прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_export
svn_fs_apply_text
SVN


Создает и возвращает поток, который будет использован для замены

svn_fs_abort_txn
svn_fs_begin_txn2
SVN
PHP Manual

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Создает и возвращает поток, который будет использован для замены

Описание

resource svn_fs_apply_text ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает и возвращает поток, который будет использован для замены.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_abort_txn
svn_fs_begin_txn2
SVN


Создает новую транзакцию

svn_fs_apply_text
svn_fs_change_node_prop
SVN
PHP Manual

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Создает новую транзакцию

Описание

resource svn_fs_begin_txn2 ( resource $repos , int $rev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает новую транзакцию.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_apply_text
svn_fs_change_node_prop
SVN


Возвращает TRUE если операция прошла успешно или FALSE в противном случае

svn_fs_begin_txn2
svn_fs_check_path
SVN
PHP Manual

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Возвращает TRUE если операция прошла успешно или FALSE в противном случае

Описание

bool svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает TRUE если операция прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_begin_txn2
svn_fs_check_path
SVN


Определяет, какая сущность находится в пути репозитария fsroot

svn_fs_change_node_prop
svn_fs_contents_changed
SVN
PHP Manual

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Определяет, какая сущность находится в пути репозитария fsroot

Описание

int svn_fs_check_path ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Определяет, какая сущность находится в пути репозитария fsroot.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_change_node_prop
svn_fs_contents_changed
SVN


Возвращает TRUE если содержимое отличается или FALSE в противном случае

svn_fs_check_path
svn_fs_copy
SVN
PHP Manual

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Возвращает TRUE если содержимое отличается или FALSE в противном случае

Описание

bool svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает TRUE если содержимое отличается или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_check_path
svn_fs_copy
SVN


Копирует файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

svn_fs_contents_changed
svn_fs_delete
SVN
PHP Manual

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Копирует файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

Описание

bool svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Копирует файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_contents_changed
svn_fs_delete
SVN


Удаляет файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

svn_fs_copy
svn_fs_dir_entries
SVN
PHP Manual

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Удаляет файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

Описание

bool svn_fs_delete ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Удаляет файл или директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_copy
svn_fs_dir_entries
SVN


Перечисляет элементы директории по заданному пути; возвращает хэш имен директорий и типов файлов

svn_fs_delete
svn_fs_file_contents
SVN
PHP Manual

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Перечисляет элементы директории по заданному пути; возвращает хэш имен директорий и типов файлов

Описание

array svn_fs_dir_entries ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Перечисляет элементы директории по заданному пути; возвращает хэш имен директорий и типов файлов.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_delete
svn_fs_file_contents
SVN


Возвращает поток для доступа к содержимому файла из данной файловой системы

svn_fs_dir_entries
svn_fs_file_length
SVN
PHP Manual

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Возвращает поток для доступа к содержимому файла из данной файловой системы

Описание

resource svn_fs_file_contents ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает поток для доступа к содержимому файла из данной файловой системы.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_dir_entries
svn_fs_file_length
SVN


Возвращает длину файла из данной файловой системы

svn_fs_file_contents
svn_fs_is_dir
SVN
PHP Manual

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Возвращает длину файла из данной файловой системы

Описание

int svn_fs_file_length ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает длину файла из данной файловой системы.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_file_contents
svn_fs_is_dir
SVN


Возвращает TRUE если по данному пути находится директория или FALSE в противном случае

svn_fs_file_length
svn_fs_is_file
SVN
PHP Manual

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Возвращает TRUE если по данному пути находится директория или FALSE в противном случае

Описание

bool svn_fs_is_dir ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает TRUE если по данному пути находится директория или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_file_length
svn_fs_is_file
SVN


Возвращает TRUE если по данному пути находится файл или FALSE в противном случае

svn_fs_is_dir
svn_fs_make_dir
SVN
PHP Manual

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Возвращает TRUE если по данному пути находится файл или FALSE в противном случае

Описание

bool svn_fs_is_file ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает TRUE если по данному пути находится файл или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_is_dir
svn_fs_make_dir
SVN


Создает новую пустую директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

svn_fs_is_file
svn_fs_make_file
SVN
PHP Manual

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Создает новую пустую директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае

Описание

bool svn_fs_make_dir ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает новую пустую директорию, возвращает TRUE если операция прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_is_file
svn_fs_make_file
SVN


Создает новый пустой файл, возвращает TRUE если операция прошла успешно или FALSE в противном случае

svn_fs_make_dir
svn_fs_node_created_rev
SVN
PHP Manual

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Создает новый пустой файл, возвращает TRUE если операция прошла успешно или FALSE в противном случае

Описание

bool svn_fs_make_file ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает новый пустой файл, возвращает TRUE если операция прошла успешно или FALSE в противном случае.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_make_dir
svn_fs_node_created_rev
SVN


Возвращает номер ревизии, когда был создан путь в файловой системе

svn_fs_make_file
svn_fs_node_prop
SVN
PHP Manual

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Возвращает номер ревизии, когда был создан путь в файловой системе

Описание

int svn_fs_node_created_rev ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает номер ревизии, когда был создан путь в файловой системе.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_make_file
svn_fs_node_prop
SVN


Возвращает значение свойства для узла

svn_fs_node_created_rev
svn_fs_props_changed
SVN
PHP Manual

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Возвращает значение свойства для узла

Описание

string svn_fs_node_prop ( resource $fsroot , string $path , string $propname )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает значение свойства для узла.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_node_created_rev
svn_fs_props_changed
SVN


Возвращает TRUE если свойства разные или FALSE в противном случае

svn_fs_node_prop
svn_fs_revision_prop
SVN
PHP Manual

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Возвращает TRUE если свойства разные или FALSE в противном случае

Описание

bool svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает TRUE если свойства разные или FALSE в противном случае

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_node_prop
svn_fs_revision_prop
SVN


Возвращает значение данного свойства

svn_fs_props_changed
svn_fs_revision_root
SVN
PHP Manual

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Возвращает значение данного свойства

Описание

string svn_fs_revision_prop ( resource $fs , int $revnum , string $propname )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает значение данного свойства

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_props_changed
svn_fs_revision_root
SVN


Возвращает дескриптор определенной версии корневой директории репозитария

svn_fs_revision_prop
svn_fs_txn_root
SVN
PHP Manual

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Возвращает дескриптор определенной версии корневой директории репозитария

Описание

resource svn_fs_revision_root ( resource $fs , int $revnum )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает дескриптор определенной версии корневой директории репозитария

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_revision_prop
svn_fs_txn_root
SVN


Создает и возвращает корень транзакции

svn_fs_revision_root
svn_fs_youngest_rev
SVN
PHP Manual

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Создает и возвращает корень транзакции

Описание

resource svn_fs_txn_root ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает и возвращает корень транзакции

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_revision_root
svn_fs_youngest_rev
SVN


Возвращает номер самой ранней ревизии в файловой системе

svn_fs_txn_root
svn_import
SVN
PHP Manual

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Возвращает номер самой ранней ревизии в файловой системе

Описание

int svn_fs_youngest_rev ( resource $fs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает номер самой ранней ревизии в файловой системе

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_txn_root
svn_import
SVN


Импорт пути без версии в репозитории

svn_fs_youngest_rev
svn_log
SVN
PHP Manual

svn_import

(PECL svn >= 0.2.0)

svn_import — Импорт пути без версии в репозитории

Описание

bool svn_import ( string $path , string $url , bool $nonrecursive )

Добавление неверсионного пути path в репозиторий по адресу url. Если path является директорией и параметр nonrecursive имеет значение FALSE, директория будет добавлена в репозиторий рекурсивно.

Список параметров

path

Путь к файлу или директории для импорта.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

url

URL адрес репозитория.

nonrecursive

Следует ли обработать директории рекурсивно или нет.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Данный пример иллюстрирует базовое использование данной функции. Импорт директории с именем new-files в репозиторий с адресом http://www.example.com/svnroot/incoming/abc выглядит следующим образом:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Смотрите также

  • svn_add() - Добавляет элементы в список запланированных для добавления в рабочую копию
  • » SVN документация к команде svn import

svn_fs_youngest_rev
svn_log
SVN


Возвращает комментарии к правкам в репозитории

svn_import
svn_ls
SVN
PHP Manual

svn_log

(PECL svn >= 0.1.0)

svn_log — Возвращает комментарии к правкам в репозитории

Описание

array svn_log ( string $repos_url [, int $start_revision [, int $end_revision [, int $limit = 0 [, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY ]]]] )

svn_log() возвращает полную историю изменений конкретного элемента репозитория, расположенного по URL repos_url, или историю правок в конкретном диапазоне, если указан параметр start_revision. Данная функция эквивалентна команде SVN svn log --verbose -r $start_revision $repos_url.

Список параметров

repos_url

URL адрес репозитория для получения истории правок элемента.

start_revision

Начальный номер ревизии для получения. Используйте константу SVN_REVISION_HEAD для получения самой последней ревизии.

end_revision

Конечный номер ревизии для получения. По умолчанию при использовании параметра start_revision идентичен ему, в противном случае равен SVN_REVISION_INITIAL.

limit

Количество записей для получения.

flags

Любая комбинация SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS и SVN_STOP_ON_COPY.

Возвращаемые значения

В случае успеха, функция возвращает массив формата:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => Номер ревизии (целое число)
    [author] => Автор правки (строка)
    [msg] => Комментарий к изменениям (строка)
    [date] => Дата правки в формате ISO 8601, т.е. date('c')
    [paths] => Массив с путями к измененным файлам
        (
            [0] => Array
                (
                    [action] => Обозначение характера изменений
                    [path] =>  Абсолютный путь репозитория к измененному файлу
                )
            [1] => ...
        )
)
[1] => ...

Замечание:

Вывод всегда представлен как пронумерованный массив, содержащий массивы, кроме случаев отсутствия или только единственного экземпляра ревизий.

Значение action является подмножеством » первых букв состояний SVN, где возможные значения - это:

Действия
Буква | Описание
M | Элемент был изменен
A | Элемент был добавлен
D | Элемент был удален
R | Элемент был заменен

Если изменений элемента нет, возвращается пустой массив.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Пример использования svn_log()

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'К нашему бутерброду добавлены сыр и колбаса.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Смотрите также

  • » SVN документация к команде svn log

svn_import
svn_ls
SVN


Возвращает список содержимого директории репозитория URL, опционально для конкретной ревизии

svn_log
svn_mkdir
SVN
PHP Manual

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Возвращает список содержимого директории репозитория URL, опционально для конкретной ревизии

Описание

array svn_ls ( string $repos_url [, int $revision_no = SVN_REVISION_HEAD [, bool $recurse = false [, bool $peg = false ]]] )

Данная функция строит запрос по URL адресу репозитория и получает список файлов и директорий, опционально для конкретной ревизии. Это эквивалентно команде SVN svn list $repos_url[@$revision_no]

Замечание:

Данная функция не работает с локальными рабочими копиями репозитория. Параметр repos_url должен быть URL адресом репозитория.

Список параметров

url

URL адрес репозитория, например http://www.example.com/svnroot. Для доступа к локальному репозиторию Subversion через файловую систему используйте файловую URI схему, например file:///home/user/svn-repos.

revision

Целочисленный номер ревизии для получения списка содержимого. Если параметр опущен, используется последняя ревизия (HEAD).

recurse

Включает рекурсивный запрос.

Возвращаемые значения

В случае успеха данная функция возвращает массив имен файлов/директорий в формате:

[0] => Array
    (
        [created_rev] => Номер последней ревизии файла/папки
        [last_author] => Имя автора последней правки
        [size] => Размер файла в байтах
        [time] => Дата последнего изменения в формате 'M d H:i'
                  или 'M d Y', в зависимости от того, насколько велико время последней правки.
        [time_t] => отметка времени unix о последнем изменении (целое число)
        [name] => имя файла/директории
        [type] => тип, может принимать значения 'file' (файл) или 'dir' (директория)
    )
[1] => ...

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Пример использования svn_ls()

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Смотрите также

  • » SVN документация к команде svn list

svn_log
svn_mkdir
SVN


Создает директорию в рабочей копии или в репозитарии

svn_ls
svn_repos_create
SVN
PHP Manual

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Создает директорию в рабочей копии или в репозитарии

Описание

bool svn_mkdir ( string $path [, string $log_message ] )

Создает директорию в рабочей копии или в репозитарии.

Список параметров

path

Путь к рабочей копии или к репозитарию.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • svn_add() - Добавляет элементы в список запланированных для добавления в рабочую копию
  • svn_copy()

svn_ls
svn_repos_create
SVN


Создание нового репозитория Subversion

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN
PHP Manual

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Создание нового репозитория Subversion

Описание

resource svn_repos_create ( string $path [, array $config [, array $fsconfig ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создание нового репозитория Subversion по конкретному пути.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN


Создание новой транзакции

svn_repos_create
svn_repos_fs_commit_txn
SVN
PHP Manual

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Создание новой транзакции

Описание

resource svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создание новой транзакции.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_create
svn_repos_fs_commit_txn
SVN


Отправка транзакции и возвращение номера ревизии

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
SVN
PHP Manual

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Отправка транзакции и возвращение номера ревизии

Описание

int svn_repos_fs_commit_txn ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Отправляет транзакцию и возвращает номер новой ревизии

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
SVN


Возвращает дескриптор файловой системы для репозитория

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN
PHP Manual

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Возвращает дескриптор файловой системы для репозитория

Описание

resource svn_repos_fs ( resource $repos )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает дескриптор файловой системы для репозитория.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN


Создает свежую копию репозитория по адресу repospath и копирует в destpath

svn_repos_fs
svn_repos_open
SVN
PHP Manual

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Создает свежую копию репозитория по адресу repospath и копирует в destpath

Описание

bool svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Создает свежую копию репозитория по адресу repospath и копирует в destpath.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs
svn_repos_open
SVN


Открывает репозиторий с общей блокировкой

svn_repos_hotcopy
svn_repos_recover
SVN
PHP Manual

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Открывает репозиторий с общей блокировкой

Описание

resource svn_repos_open ( string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Открывает репозиторий с общей блокировкой.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_hotcopy
svn_repos_recover
SVN


Запускает процедуры восстановления репозитория

svn_repos_open
svn_revert
SVN
PHP Manual

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Запускает процедуры восстановления репозитория

Описание

bool svn_repos_recover ( string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Запускает процедуры восстановления репозитория, расположенного в path.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_open
svn_revert
SVN


Отменяет локальные изменения рабочей копии

svn_repos_recover
svn_status
SVN
PHP Manual

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Отменяет локальные изменения рабочей копии

Описание

bool svn_revert ( string $path [, bool $recursive = false ] )

Отменяет все локальные изменения файлов, расположенных в рабочей копии.

Список параметров

path

Путь к рабочей копии.

recursive

Опциональный параметр рекурсивной отмены правок.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • svn_delete() - Удаляет элементы из рабочей копии или репозитория
  • svn_export() - Экспортирует содержимое директории SVN

svn_repos_recover
svn_status
SVN


Возвращает SVN статус файлов и директорий рабочей копии

svn_revert
svn_update
SVN
PHP Manual

svn_status

(PECL svn >= 0.1.0)

svn_status — Возвращает SVN статус файлов и директорий рабочей копии

Описание

array svn_status ( string $path [, int $flags = 0 ] )

Возвращает SVN статус файлов и директорий рабочей копии, подвергнувшихся модификации, добавлению, удалению и прочим изменениям.

Список параметров

path

Локальный путь к файлу или директории для получения статуса.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

flags

Любая комбинация флагов SVN_NON_RECURSIVE, SVN_ALL (вне зависимости от статуса модификации), SVN_SHOW_UPDATES (к записям будут добавлены пункты со старыми правками), SVN_NO_IGNORE (игнорирование svn:ignore свойств при сканировании новых файлов) и SVN_IGNORE_EXTERNALS.

Возвращаемые значения

Возвращает пронумерованный массив, состоящий из ассоциативных массивов с подробными статусами элементов в репозитории:

Array (
    [0] => Array (
        // информация об элементе
    )
    [1] => ...
)

Информация об элементе может быть получена из ассоциативного массива по двум ключам:

path
Путь к файлу/директории в локальной файловой системе.
text_status
Код текстового статуса элемента. См. Для информации о возможных значениях, обратитесь к константам статусов.
repos_text_status
Код текстового статуса элемента в репозитории. Отображается если update установлен в TRUE. См. Для информации о возможных значениях, обратитесь к константам статусов.
prop_status
Код текстового статуса свойств элемента. См. Для информации о возможных значениях, обратитесь к константам статусов.
repos_prop_status
Код текстового статуса свойств элемента в репозитории. Отображается если update установлен в TRUE. См. Для информации о возможных значениях, обратитесь к константам статусов.
locked
Будет ли заблокирован элемент или нет. (Устанавливается при TRUE.)
copied
Будет ли скопирован эдемент (запланирован для добавления в истории правок). (Устанавливается при TRUE.)
switched
Будет ли элемент переключен используя команду переключения. (Устанавливается при TRUE)

Следующие ниже ключи устанавливаются только если элемент имеет версию:

name
Имя элемента в репозитории.
url
URL адрес элемента в репозитории.
repos
URL адрес репозитория.
revision
Номер ревизии рабочей копии.
kind
Тип элемента, т.е. файл или директория. См. Для информации о возможных значениях, обратитесь к константам типов.
schedule
Запланированное действия для элемента, т.е. добавление или удаления. Константы для данных магичских чисел не доступны, они эмулируются, согласно правилу:
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // никаких изменений
    define('svn_wc_schedule_add',     1); // элемент будет добавлен
    define('svn_wc_schedule_delete',  2); // элемент будет удален
    define('svn_wc_schedule_replace', 3); // элемент будет удален и добавлен
}
?>
deleted
Будет или нет элемент будет удален, но ревизия родителя не увеличится (Установлено при TRUE.)
absent
Будет или нет элемент помечен отсутствующим. Subversion будет помнить, что в этом месте что-то расположено, но не будет знать что именно. (Устанавливается при TRUE.)
incomplete
Будет или нет содержимое директории считаться неполным. (Устанавливается при TRUE.)
cmt_date
Отметка времени в формате Unix о дате последней правки (Независит от update.)
cmt_rev
Номер ревизии последнего обноваления. (Независит от update.)
cmt_author
Имя автора последней правки. (Независит от update.)
prop_time
Отметка времени в формате Unix о последней актуальной версии свойств.
text_time
Отметка времени в формате Unix о последней актуальной версии текста.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Простой пример

Приведенный ниже пример иллюстрирует базовое, теоретическое использование данной функции

<?php
print_r(svn_status(realpath('wc')));
?>

Результатом выполнения данного примера будет что-то подобное:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // элемент был изменен
        [repos_text_status] => 1 // нет доступной информации, выполнить update
        [prop_status] => 3 // нет изменений
        [repos_prop_status] => 1 // нет доступной информации, выполнить update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // не запланировано никаких действий
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Смотрите также

  • svn_update() - Обновляет рабочую копию
  • svn_log() - Возвращает комментарии к правкам в репозитории
  • » SVN документация для svn status

svn_revert
svn_update
SVN


Обновляет рабочую копию

svn_status
TCP
SVN
PHP Manual

svn_update

(PECL svn >= 0.1.0)

svn_update — Обновляет рабочую копию

Описание

int svn_update ( string $path [, int $revno = SVN_REVISION_HEAD [, bool $recurse = true ]] )

Обновляет рабочую копию, расположенную в path до ревизии revno. Если параметр recurse установлен в TRUE, директории будут обновлены рекурсивно.

Список параметров

path

Путь к локальной рабочей копии.

Замечание: Относительные пути будут вычислены как если бы текущая рабочая директория являлась домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, используйте realpath() или dirname(__FILE__).

revno

Номер ревизии для обновления, по умолчанию SVN_REVISION_HEAD.

recurse

Слудет ли рекурсивно обновлять директории.

Возвращаемые значения

В случае успеха возвращает новый номер ревизии, или FALSE в случае ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Базовый пример

Нижеприведенный пример иллюстрирует базовое применение данной функции:

<?php
echo svn_update(realpath('working-copy'));
?>

Результатом выполнения данного примера будет что-то подобное:

234

Смотрите также

  • svn_checkout() - Получает рабочую копию из репозитория
  • svn_commit() - Отправляет изменения из рабочей директории в репозиторий
  • » SVN документация к команде svn update

svn_status
TCP
SVN


TCP Wrappers

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • TCP Функции
    • tcpwrap_check — Performs a tcpwrap check
svn_update
Введение
Другие службы


Введение

The TCP wrappers provides a classical Unix mechanism which has been designed to check if the remote client is able to connect from the given IP address.

TCP
Установка и настройка
TCP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
TCP


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/tcpwrap.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
TCP Функции
TCP


TCP Функции

Содержание

  • tcpwrap_check — Performs a tcpwrap check
Предопределенные константы
tcpwrap_check
TCP


Performs a tcpwrap check

TCP Функции
Varnish
TCP Функции
PHP Manual

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Performs a tcpwrap check

Описание

bool tcpwrap_check ( string $daemon , string $address [, string $user [, bool $nodns = false ]] )

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

Список параметров

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to TRUE to avoid this.

Возвращаемые значения

This function returns TRUE if access should be granted, FALSE otherwise.

Примеры

Пример #1 Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

Смотрите также

For more details please consult hosts_access(3) man page.

TCP Функции
Varnish
TCP Функции


Varnish

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic VarnishAdmin usage
    • Basic VarnishStat usage
    • Basic VarnishLog usage
  • VarnishAdmin — The VarnishAdmin class
    • VarnishAdmin::auth — Authenticate on a varnish instance
    • VarnishAdmin::ban — Ban URLs using a VCL expression
    • VarnishAdmin::banUrl — Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic — Clear varnish instance panic messages
    • VarnishAdmin::connect — Connect to a varnish instance administration interface
    • VarnishAdmin::__construct — VarnishAdmin constructor
    • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
    • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat — Set the class compat configuration param
    • VarnishAdmin::setHost — Set the class host configuration param
    • VarnishAdmin::setIdent — Set the class ident configuration param
    • VarnishAdmin::setParam — Set configuration param on the current varnish instance
    • VarnishAdmin::setPort — Set the class port configuration param
    • VarnishAdmin::setSecret — Set the class secret configuration param
    • VarnishAdmin::setTimeout — Set the class timeout configuration param
    • VarnishAdmin::start — Start varnish worker process
    • VarnishAdmin::stop — Stop varnish worker process
  • VarnishStat — The VarnishStat class
    • VarnishStat::__construct — VarnishStat constructor
    • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
  • VarnishLog — The VarnishLog class
    • VarnishLog::__construct — Varnishlog constructor
    • VarnishLog::getLine — Get next log line
    • VarnishLog::getTagName — Get the log tag string representation by its index
tcpwrap_check
Введение
Другие службы


Введение

Varnish Cache is an open source, state of the art web application accelerator. The extension makes it possible to interact with a running varnish instance through TCP socket or shared memory.

Varnish
Установка и настройка
Varnish


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Varnish


Требования

To use this extension, you will need Varnish Cache of the version >=3.0 installed, available on the » Varnish Cache homepage

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/varnish.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

VARNISH_STATUS_SYNTAX (integer)
VARNISH_STATUS_UNKNOWN (integer)
VARNISH_STATUS_UNIMPL (integer)
VARNISH_STATUS_TOOFEW (integer)
VARNISH_STATUS_TOOMANY (integer)
VARNISH_STATUS_PARAM (integer)
VARNISH_STATUS_AUTH (integer)
VARNISH_STATUS_OK (integer)
VARNISH_STATUS_CANT (integer)
VARNISH_STATUS_COMMS (integer)
VARNISH_STATUS_CLOSE (integer)
VARNISH_CONFIG_IDENT (string)
VARNISH_CONFIG_HOST (string)
VARNISH_CONFIG_PORT (string)
VARNISH_CONFIG_TIMEOUT (string)
VARNISH_CONFIG_SECRET (string)
VARNISH_CONFIG_COMPAT (string)
VARNISH_COMPAT_2 (integer)
VARNISH_COMPAT_3 (integer)

Типы ресурсов
Примеры
Varnish


Примеры

Содержание

  • Basic VarnishAdmin usage
  • Basic VarnishStat usage
  • Basic VarnishLog usage
Предопределенные константы
Basic VarnishAdmin usage
Varnish


Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Пример #1 Ban an URL

<?php

$args = array(
    VARNISH_CONFIG_HOST    => "::1",
    VARNISH_CONFIG_PORT    => 6082,
    VARNISH_CONFIG_SECRET  => "5174826b-8595-4958-aa7a-0609632ad7ca",
    VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
    if(!$va->connect()) {
        throw new VarnishException("Connection failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    if(!$va->auth()) {
        throw new VarnishException("Auth failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    $status = $va->ban('req.url ~ "^/$"');
    if (VARNISH_STATUS_OK != $status) {
        throw new VarnishException("Ban method returned $status status\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);
Примеры
Basic VarnishStat usage
Примеры


Basic VarnishStat usage

The example illustrates getting varnish statistic snapshot from shared memory

Пример #1 Get statistic snapshot

<?php

$vs = new VarnishStat;

try {
    $data = $vs->getSnapshot();
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);
Basic VarnishAdmin usage
Basic VarnishLog usage
Примеры


Basic VarnishLog usage

The example illustrates reading varnish log lines from shared memory

Пример #1 Read varnish shared memory log

<?php

$vl = new VarnishLog;
while(1) {
    $line = $vl->getLine();
    printf("%s %d %s", VarnishLog::getTagName($line['tag'], $line['id'],
    $line['data']);
}

exit(0);
Basic VarnishStat usage
VarnishAdmin
Примеры


The VarnishAdmin class

(PECL varnish >= 0.3)

Введение

Обзор классов

VarnishAdmin {
/* Методы */
public boolean auth ( void )
public integer ban ( string $vcl_regex )
public integer banUrl ( string $vcl_regex )
public integer clearPanic ( void )
public boolean connect ( void )
public void __construct ([ array $args ] )
public string getPanic ( void )
public array getParams ( void )
public boolean isRunning ( void )
public void setCompat ( integer $compat )
public void setHost ( string $host )
public void setIdent ( string $ident )
public integer setParam ( string $name , string|integer $value )
public void setPort ( integer $port )
public void setSecret ( string $secret )
public void setTimeout ( integer $timeout )
public integer start ( void )
public integer stop ( void )
}

Содержание

  • VarnishAdmin::auth — Authenticate on a varnish instance
  • VarnishAdmin::ban — Ban URLs using a VCL expression
  • VarnishAdmin::banUrl — Ban an URL using a VCL expression
  • VarnishAdmin::clearPanic — Clear varnish instance panic messages
  • VarnishAdmin::connect — Connect to a varnish instance administration interface
  • VarnishAdmin::__construct — VarnishAdmin constructor
  • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
  • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
  • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
  • VarnishAdmin::setCompat — Set the class compat configuration param
  • VarnishAdmin::setHost — Set the class host configuration param
  • VarnishAdmin::setIdent — Set the class ident configuration param
  • VarnishAdmin::setParam — Set configuration param on the current varnish instance
  • VarnishAdmin::setPort — Set the class port configuration param
  • VarnishAdmin::setSecret — Set the class secret configuration param
  • VarnishAdmin::setTimeout — Set the class timeout configuration param
  • VarnishAdmin::start — Start varnish worker process
  • VarnishAdmin::stop — Stop varnish worker process
Basic VarnishLog usage
VarnishAdmin::auth
Varnish


Authenticate on a varnish instance

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin
PHP Manual

VarnishAdmin::auth

(PECL varnish >= 0.3)

VarnishAdmin::auth — Authenticate on a varnish instance

Описание

public boolean VarnishAdmin::auth ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin


Ban URLs using a VCL expression

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin
PHP Manual

VarnishAdmin::ban

(PECL varnish >= 0.3)

VarnishAdmin::ban — Ban URLs using a VCL expression

Описание

public integer VarnishAdmin::ban ( string $vcl_regex )

Список параметров

vcl_regex

Varnish VCL expression. It's based on the varnish ban command.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin


Ban an URL using a VCL expression

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin
PHP Manual

VarnishAdmin::banUrl

(PECL varnish >= 0.3)

VarnishAdmin::banUrl — Ban an URL using a VCL expression

Описание

public integer VarnishAdmin::banUrl ( string $vcl_regex )

Список параметров

vcl_regex

URL regular expression in PCRE compatible syntax. It's based on the ban.url varnish command.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin


Clear varnish instance panic messages

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin
PHP Manual

VarnishAdmin::clearPanic

(PECL varnish >= 0.4)

VarnishAdmin::clearPanic — Clear varnish instance panic messages

Описание

public integer VarnishAdmin::clearPanic ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin


Connect to a varnish instance administration interface

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin
PHP Manual

VarnishAdmin::connect

(PECL varnish >= 0.3)

VarnishAdmin::connect — Connect to a varnish instance administration interface

Описание

public boolean VarnishAdmin::connect ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin


VarnishAdmin constructor

VarnishAdmin::connect
VarnishAdmin::getPanic
VarnishAdmin
PHP Manual

VarnishAdmin::__construct

(PECL varnish >= 0.3)

VarnishAdmin::__construct — VarnishAdmin constructor

Описание

public void VarnishAdmin::__construct ([ array $args ] )

Список параметров

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident
VARNISH_CONFIG_HOST - varnish instance ip
VARNISH_CONFIG_PORT - varnish instance port
VARNISH_CONFIG_SECRET - varnish instance secret
VARNISH_CONFIG_TIMEOUT - connection read timeout
VARNISH_CONFIG_COMPAT - varnish major version compatibility

Возвращаемые значения

Примеры

Пример #1 VarnishAdmin::__construct() example

<?php
    $args = array(
        VARNISH_CONFIG_HOST => "::1",
        VARNISH_CONFIG_PORT => 6082,
        VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
        VARNISH_CONFIG_TIMEOUT => 300,
    );
    $va = new VarnishAdmin($args);
VarnishAdmin::connect
VarnishAdmin::getPanic
VarnishAdmin


Get the last panic message on a varnish instance

VarnishAdmin::__construct
VarnishAdmin::getParams
VarnishAdmin
PHP Manual

VarnishAdmin::getPanic

(PECL varnish >= 0.4)

VarnishAdmin::getPanic — Get the last panic message on a varnish instance

Описание

public string VarnishAdmin::getPanic ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the last panic message on the current varnish instance.

VarnishAdmin::__construct
VarnishAdmin::getParams
VarnishAdmin


Fetch current varnish instance configuration parameters

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin
PHP Manual

VarnishAdmin::getParams

(PECL varnish >= 0.4)

VarnishAdmin::getParams — Fetch current varnish instance configuration parameters

Описание

public array VarnishAdmin::getParams ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array with the varnish configuration parameters.

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin


Check if the varnish slave process is currently running

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin
PHP Manual

VarnishAdmin::isRunning

(PECL varnish >= 0.3)

VarnishAdmin::isRunning — Check if the varnish slave process is currently running

Описание

public boolean VarnishAdmin::isRunning ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin


Set the class compat configuration param

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin
PHP Manual

VarnishAdmin::setCompat

(PECL varnish >= 0.9.2)

VarnishAdmin::setCompat — Set the class compat configuration param

Описание

public void VarnishAdmin::setCompat ( integer $compat )

Список параметров

compat

Varnish compatibility option.

Возвращаемые значения

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin


Set the class host configuration param

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin
PHP Manual

VarnishAdmin::setHost

(PECL varnish >= 0.8)

VarnishAdmin::setHost — Set the class host configuration param

Описание

public void VarnishAdmin::setHost ( string $host )

Список параметров

host

Connection host configuration parameter.

Возвращаемые значения

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin


Set the class ident configuration param

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin
PHP Manual

VarnishAdmin::setIdent

(PECL varnish >= 0.8)

VarnishAdmin::setIdent — Set the class ident configuration param

Описание

public void VarnishAdmin::setIdent ( string $ident )

Список параметров

ident

Connection ident configuration parameter.

Возвращаемые значения

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin


Set configuration param on the current varnish instance

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin
PHP Manual

VarnishAdmin::setParam

(PECL varnish >= 0.4)

VarnishAdmin::setParam — Set configuration param on the current varnish instance

Описание

public integer VarnishAdmin::setParam ( string $name , string|integer $value )

Список параметров

name

Varnish configuration param name.

value

Varnish configuration param value.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin


Set the class port configuration param

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin
PHP Manual

VarnishAdmin::setPort

(PECL varnish >= 0.8)

VarnishAdmin::setPort — Set the class port configuration param

Описание

public void VarnishAdmin::setPort ( integer $port )

Список параметров

port

Connection port configuration parameter.

Возвращаемые значения

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin


Set the class secret configuration param

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin
PHP Manual

VarnishAdmin::setSecret

(PECL varnish >= 0.8)

VarnishAdmin::setSecret — Set the class secret configuration param

Описание

public void VarnishAdmin::setSecret ( string $secret )

Список параметров

secret

Connection secret configuration parameter.

Возвращаемые значения

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin


Set the class timeout configuration param

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin
PHP Manual

VarnishAdmin::setTimeout

(PECL varnish >= 0.8)

VarnishAdmin::setTimeout — Set the class timeout configuration param

Описание

public void VarnishAdmin::setTimeout ( integer $timeout )

Список параметров

timeout

Connection timeout configuration parameter.

Возвращаемые значения

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin


Start varnish worker process

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin
PHP Manual

VarnishAdmin::start

(PECL varnish >= 0.3)

VarnishAdmin::start — Start varnish worker process

Описание

public integer VarnishAdmin::start ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin


Stop varnish worker process

VarnishAdmin::start
VarnishStat
VarnishAdmin
PHP Manual

VarnishAdmin::stop

(PECL varnish >= 0.3)

VarnishAdmin::stop — Stop varnish worker process

Описание

public integer VarnishAdmin::stop ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the varnish command status.

VarnishAdmin::start
VarnishStat
VarnishAdmin


The VarnishStat class

(PECL varnish >= 0.3)

Введение

Обзор классов

VarnishStat {
/* Методы */
__construct ([ array $args ] )
public array getSnapshot ( void )
}

Содержание

  • VarnishStat::__construct — VarnishStat constructor
  • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
VarnishAdmin::stop
VarnishStat::__construct
Varnish


VarnishStat constructor

VarnishStat
VarnishStat::getSnapshot
VarnishStat
PHP Manual

VarnishStat::__construct

(PECL varnish >= 0.3)

VarnishStat::__construct — VarnishStat constructor

Описание

VarnishStat::__construct ([ array $args ] )

Список параметров

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Возвращаемые значения

VarnishStat
VarnishStat::getSnapshot
VarnishStat


Get the current varnish instance statistics snapshot

VarnishStat::__construct
VarnishLog
VarnishStat
PHP Manual

VarnishStat::getSnapshot

(PECL varnish >= 0.3)

VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot

Описание

public array VarnishStat::getSnapshot ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Array with the varnish statistic snapshot. The array keys are identical to that in the varnishstat tool.

VarnishStat::__construct
VarnishLog
VarnishStat


The VarnishLog class

(PECL varnish >= 0.6)

Введение

Обзор классов

VarnishLog {
/* Constants */
const integer TAG_Debug = 0 ;
const integer TAG_Error = 1 ;
const integer TAG_CLI = 2 ;
const integer TAG_StatSess = 3 ;
const integer TAG_ReqEnd = 4 ;
const integer TAG_SessionOpen = 5 ;
const integer TAG_SessionClose = 6 ;
const integer TAG_BackendOpen = 7 ;
const integer TAG_BackendXID = 8 ;
const integer TAG_BackendReuse = 9 ;
const integer TAG_BackendClose = 10 ;
const integer TAG_HttpGarbage = 11 ;
const integer TAG_Backend = 12 ;
const integer TAG_Length = 13 ;
const integer TAG_FetchError = 14 ;
const integer TAG_RxRequest = 15 ;
const integer TAG_RxResponse = 16 ;
const integer TAG_RxStatus = 17 ;
const integer TAG_RxURL = 18 ;
const integer TAG_RxProtocol = 19 ;
const integer TAG_RxHeader = 20 ;
const integer TAG_TxRequest = 21 ;
const integer TAG_TxResponse = 22 ;
const integer TAG_TxStatus = 23 ;
const integer TAG_TxURL = 24 ;
const integer TAG_TxProtocol = 25 ;
const integer TAG_TxHeader = 26 ;
const integer TAG_ObjRequest = 27 ;
const integer TAG_ObjResponse = 28 ;
const integer TAG_ObjStatus = 29 ;
const integer TAG_ObjURL = 30 ;
const integer TAG_ObjProtocol = 31 ;
const integer TAG_ObjHeader = 32 ;
const integer TAG_LostHeader = 33 ;
const integer TAG_TTL = 34 ;
const integer TAG_Fetch_Body = 35 ;
const integer TAG_VCL_acl = 36 ;
const integer TAG_VCL_call = 37 ;
const integer TAG_VCL_trace = 38 ;
const integer TAG_VCL_return = 39 ;
const integer TAG_VCL_error = 40 ;
const integer TAG_ReqStart = 41 ;
const integer TAG_Hit = 42 ;
const integer TAG_HitPass = 43 ;
const integer TAG_ExpBan = 44 ;
const integer TAG_ExpKill = 45 ;
const integer TAG_WorkThread = 46 ;
const integer TAG_ESI_xmlerror = 47 ;
const integer TAG_Hash = 48 ;
const integer TAG_Backend_health = 49 ;
const integer TAG_VCL_Log = 50 ;
const integer TAG_Gzip = 51 ;
/* Методы */
__construct ([ array $args ] )
public array getLine ( void )
public static void getTagName ( integer $index )
}

Предопределенные константы

VarnishLog Node Types

VarnishLog::TAG_Debug

VarnishLog::TAG_Error

VarnishLog::TAG_CLI

VarnishLog::TAG_StatSess

VarnishLog::TAG_ReqEnd

VarnishLog::TAG_SessionOpen

VarnishLog::TAG_SessionClose

VarnishLog::TAG_BackendOpen

VarnishLog::TAG_BackendXID

VarnishLog::TAG_BackendReuse

VarnishLog::TAG_BackendClose

VarnishLog::TAG_HttpGarbage

VarnishLog::TAG_Backend

VarnishLog::TAG_Length

VarnishLog::TAG_FetchError

VarnishLog::TAG_RxRequest

VarnishLog::TAG_RxResponse

VarnishLog::TAG_RxStatus

VarnishLog::TAG_RxURL

VarnishLog::TAG_RxProtocol

VarnishLog::TAG_RxHeader

VarnishLog::TAG_TxRequest

VarnishLog::TAG_TxResponse

VarnishLog::TAG_TxStatus

VarnishLog::TAG_TxURL

VarnishLog::TAG_TxProtocol

VarnishLog::TAG_TxHeader

VarnishLog::TAG_ObjRequest

VarnishLog::TAG_ObjResponse

VarnishLog::TAG_ObjStatus

VarnishLog::TAG_ObjURL

VarnishLog::TAG_ObjProtocol

VarnishLog::TAG_ObjHeader

VarnishLog::TAG_LostHeader

VarnishLog::TAG_TTL

VarnishLog::TAG_Fetch_Body

VarnishLog::TAG_VCL_acl

VarnishLog::TAG_VCL_call

VarnishLog::TAG_VCL_trace

VarnishLog::TAG_VCL_return

VarnishLog::TAG_VCL_error

VarnishLog::TAG_ReqStart

VarnishLog::TAG_Hit

VarnishLog::TAG_HitPass

VarnishLog::TAG_ExpBan

VarnishLog::TAG_ExpKill

VarnishLog::TAG_WorkThread

VarnishLog::TAG_ESI_xmlerror

VarnishLog::TAG_Hash

VarnishLog::TAG_Backend_health

VarnishLog::TAG_VCL_Log

VarnishLog::TAG_Gzip

Содержание

  • VarnishLog::__construct — Varnishlog constructor
  • VarnishLog::getLine — Get next log line
  • VarnishLog::getTagName — Get the log tag string representation by its index
VarnishStat::getSnapshot
VarnishLog::__construct
Varnish


Varnishlog constructor

VarnishLog
VarnishLog::getLine
VarnishLog
PHP Manual

VarnishLog::__construct

(PECL varnish >= 0.6)

VarnishLog::__construct — Varnishlog constructor

Описание

VarnishLog::__construct ([ array $args ] )

Список параметров

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Возвращаемые значения

VarnishLog
VarnishLog::getLine
VarnishLog


Get next log line

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog
PHP Manual

VarnishLog::getLine

(PECL varnish >= 0.6)

VarnishLog::getLine — Get next log line

Описание

public array VarnishLog::getLine ( void )

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array with the log line data.

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog


Get the log tag string representation by its index

VarnishLog::getLine
YAZ
VarnishLog
PHP Manual

VarnishLog::getTagName

(PECL varnish >= 0.6)

VarnishLog::getTagName — Get the log tag string representation by its index

Описание

public static void VarnishLog::getTagName ( integer $index )

Список параметров

index

Log tag index.

Возвращаемые значения

Returns the log tag name as string.

VarnishLog::getLine
YAZ
VarnishLog


YAZ

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • YAZ Функции
    • yaz_addinfo — Возвращает дополнительную информацию в случае ошибки
    • yaz_ccl_conf — Configure CCL parser
    • yaz_ccl_parse — Invoke CCL Parser
    • yaz_close — Закрывает соединение YAZ
    • yaz_connect — Подготавливает соединение с сервером Z39.50
    • yaz_database — Specifies the databases within a session
    • yaz_element — Specifies Element-Set Name for retrieval
    • yaz_errno — Returns error number
    • yaz_error — Returns error description
    • yaz_es_result — Inspects Extended Services Result
    • yaz_es — Prepares for an Extended Service Request
    • yaz_get_option — Returns value of option for connection
    • yaz_hits — Returns number of hits for last search
    • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
    • yaz_present — Prepares for retrieval (Z39.50 present)
    • yaz_range — Specifies a range of records to retrieve
    • yaz_record — Returns a record
    • yaz_scan_result — Returns Scan Response result
    • yaz_scan — Prepares for a scan
    • yaz_schema — Specifies schema for retrieval
    • yaz_search — Prepares for a search
    • yaz_set_option — Sets one or more options for connection
    • yaz_sort — Задает критерий сортировки
    • yaz_syntax — Задает предпочитаемый синтаксис для извлекаемой записи
    • yaz_wait — Ожидает выполнения запросов Z39.50 серверами
VarnishLog::getTagName
Введение
Другие службы


Введение

Данное расширение обеспечивает взаимодействие PHP с YAZ, инструментом взаимодействия с протоколом поиска информации (» Z39.50 Protocol for Information Retrieval). Используя это расширение, вы можете легко реализовать источник (клиент) Z39.50, который будет сканировать и осуществлять поиск параллельно по нескольким целям (серверам) Z39.50.

Модуль YAZ скрывает сложность взаимодействия по протоколу Z39.50, таким образом его довольно легко использовать. Он обеспечивает постоянное соединение без статуса, схожее с соединением к различным реляционным базам данных для PHP. Это означает, что сессии не сохраняют статус, но могут использоваться совместно несколькими пользователями. Таким образом, в большинстве случаев сохраняются шаги инициализации и само соединение.

YAZ доступен по » http://www.indexdata.dk/yaz/. Новую информацию, примеры скриптов и много другое для данного расширения вы можете найти на » http://www.indexdata.dk/phpyaz/.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

YAZ
Установка и настройка
YAZ


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
YAZ


Требования

Obtain YAZ (ANSI/NISO Z39.50 support) and install it. YAZ can be fetched in source or in various prebuilt packages from the » YAZ archive. Systems such as Debian GNU/Linux, Suse Linux, FreeBSD also has YAZ as part of their distribution.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/yaz

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание: Information specific to Windows users

php_yaz.dll depends on yaz.dll. The yaz.dll is part of the Win32 ZIP from the PHP site. It is also part of the Windows YAZ install available from the » YAZ WIN32 area.

On windows, don't forget to add the PHP directory to the PATH, so that the yaz.dll file can be found by the system.

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки, YAZ или Cyrus. Это связано с тем фактом, что они оба используют одни и те же внутренние символы. Замечание: Версии Yaz 2.0 и выше избавлены от этого недостатка.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

YAZ configuration options
Name | Default | Changeable | Changelog
yaz.max_links | "100" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 5.0.0.
yaz.log_file | NULL | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 5.0.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
YAZ


Примеры

PHP/YAZ keeps track of connections with targets (Z-Associations). A resource represents a connection to a target.

The script below demonstrates the parallel searching feature of the API. When invoked with no arguments it prints a query form; else (arguments are supplied) it searches the targets as given in array host.

Пример #1 Parallel searching using Yaz

<?php
$host=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        local test
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Library of Congress
    <br />
    RPN Query:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Search" />
    </form>
    ';
} else {
    echo 'You searched for ' . htmlspecialchars($query) . '<br />';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i], "usmarc");
        yaz_range($id[$i], 1, 10);
        yaz_search($id[$i], "rpn", $query);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr />' . $host[$i] . ':';
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Result Count $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i], $p, "string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo nl2br($rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>

Предопределенные константы
YAZ Функции
YAZ


YAZ Функции

Содержание

  • yaz_addinfo — Возвращает дополнительную информацию в случае ошибки
  • yaz_ccl_conf — Configure CCL parser
  • yaz_ccl_parse — Invoke CCL Parser
  • yaz_close — Закрывает соединение YAZ
  • yaz_connect — Подготавливает соединение с сервером Z39.50
  • yaz_database — Specifies the databases within a session
  • yaz_element — Specifies Element-Set Name for retrieval
  • yaz_errno — Returns error number
  • yaz_error — Returns error description
  • yaz_es_result — Inspects Extended Services Result
  • yaz_es — Prepares for an Extended Service Request
  • yaz_get_option — Returns value of option for connection
  • yaz_hits — Returns number of hits for last search
  • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
  • yaz_present — Prepares for retrieval (Z39.50 present)
  • yaz_range — Specifies a range of records to retrieve
  • yaz_record — Returns a record
  • yaz_scan_result — Returns Scan Response result
  • yaz_scan — Prepares for a scan
  • yaz_schema — Specifies schema for retrieval
  • yaz_search — Prepares for a search
  • yaz_set_option — Sets one or more options for connection
  • yaz_sort — Задает критерий сортировки
  • yaz_syntax — Задает предпочитаемый синтаксис для извлекаемой записи
  • yaz_wait — Ожидает выполнения запросов Z39.50 серверами
Примеры
yaz_addinfo
YAZ


Возвращает дополнительную информацию в случае ошибки

YAZ Функции
yaz_ccl_conf
YAZ Функции
PHP Manual

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Возвращает дополнительную информацию в случае ошибки

Описание

string yaz_addinfo ( resource $id )

Возвращает дополнительную информацию в случае ошибки последнего запроса к серверу.

С некоторыми серверами эта функция может вернуть ту же строку, что и функция yaz_error().

Список параметров

id

Дескриптор соединения, возвращаемый функцией yaz_connect().

Возвращаемые значения

Строка содержит дополнительную информацию об ошибке или пустое значение, если последняя операция прошла успешно или нет дополнительной информации от сервера.

Смотрите также

  • yaz_error() - Returns error description
  • yaz_errno() - Returns error number

YAZ Функции
yaz_ccl_conf
YAZ Функции


Configure CCL parser

yaz_addinfo
yaz_ccl_parse
YAZ Функции
PHP Manual

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — Configure CCL parser

Описание

void yaz_ccl_conf ( resource $id , array $config )

This function configures the CCL query parser for a server with definitions of access points (CCL qualifiers) and their mapping to RPN.

To map a specific CCL query to RPN afterwards call the yaz_ccl_parse() function.

Список параметров

id

The connection resource returned by yaz_connect().

config

An array of configuration. Each key of the array is the name of a CCL field and the corresponding value holds a string that specifies a mapping to RPN.

The mapping is a sequence of attribute-type, attribute-value pairs. Attribute-type and attribute-value is separated by an equal sign (=). Each pair is separated by white space.

Additional information can be found on the » CCL page.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

In the example below, the CCL parser is configured to support three CCL fields: ti, au and isbn. Each field is mapped to their BIB-1 equivalent. It is assumed that variable $id is the connection ID.

Пример #1 CCL configuration

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Смотрите также

  • yaz_ccl_parse() - Invoke CCL Parser

yaz_addinfo
yaz_ccl_parse
YAZ Функции


Invoke CCL Parser

yaz_ccl_conf
yaz_close
YAZ Функции
PHP Manual

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — Invoke CCL Parser

Описание

bool yaz_ccl_parse ( resource $id , string $query , array &$result )

This function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.

To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.

Список параметров

id

The connection resource returned by yaz_connect().

query

The CCL FIND query.

result

If the function was executed successfully, this will be an array containing the valid RPN query under the key rpn.

Upon failure, three indexes are set in this array to indicate the cause of failure:

  • errorcode - the CCL error code (integer)

  • errorstring - the CCL error string

  • errorpos - approximate position in query of failure (integer is character position)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 CCL Parsing

We will try to search using CCL. In the example below, $ccl is a CCL query.

<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>
yaz_ccl_conf
yaz_close
YAZ Функции


Закрывает соединение YAZ

yaz_ccl_parse
yaz_connect
YAZ Функции
PHP Manual

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Закрывает соединение YAZ

Описание

bool yaz_close ( resource $id )

Закрывает соединение, определяемое параметром id.

Замечание:

Функция закроет только непостоянные соединения, открытые функцией yaz_connect() с параметром persistent установленным в значение FALSE.

Список параметров

id

Дескриптор соединения, возвращаемый yaz_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • yaz_connect() - Подготавливает соединение с сервером Z39.50

yaz_ccl_parse
yaz_connect
YAZ Функции


Подготавливает соединение с сервером Z39.50

yaz_close
yaz_database
YAZ Функции
PHP Manual

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Подготавливает соединение с сервером Z39.50

Описание

mixed yaz_connect ( string $zurl [, mixed $options ] )

Функция возвращает дескриптор соединения в случае успеха и ноль в случае ошибки.

yaz_connect() подготавливает соединение с сервером Z39.50. Эта функция неблокирующая и не пытается установить соединение, а лишь готовит соединение для последующего выполнения функцией yaz_wait().

Замечание:

» YAZ proxy бесплатно доступный агент Z39.50.

Список параметров

zurl

Строка, принимающая форму host[:port][/database]. Если порт опущен, то по умолчанию используется 210 порт. Если опушено название базы данных, используется база с именем Default.

options

Если задается строка, то она рассматривается как строка аутентификации Z39.50 V2 (OpenAuth).

Если задан массив, то содержимое массива выступает в качестве параметров.

user

Имя пользователя для аутентификации.

group

Название группы для аутентификации.

password

Пароль для аутентификации.

cookie

Cookie для сессии (YAZ proxy).

proxy

Прокси для подключения (YAZ proxy).

persistent

Имеет логический тип. Если принимает TRUE - соединение постоянное, если FALSE - непостоянное соединение. По умолчанию соединение постоянное.

Замечание:

Если вы открыли постоянное соединение, вы не сможете закрыть его позднее с помощью yaz_close().

piggyback

Имеет логический тип. Если принимает TRUE,то режим передачи прямых и обратных пакетов включен; если FALSE, то данный режим отключен. По умолчанию режим передачи прямых и обратных пакетов включен.

Включение режима передачи прямых и обратных пакетов более эффективно и обычно снижает нагрузку в сети для впервые выбранных записей. Однако некоторые сервера Z39.50 не поддерживают режим прямых и обратных пакетов или игнорируют эту настройку. Для них данный режим должен быть отключен.

charset

Строка, определяющая кодировку используемую в Z39.50 и при передаче данных. Возможны такие значения как: ISO-8859-1, UTF-8, UTF-16.

Большинство серверов Z39.50 не поддерживают данную настройку (и таким образом она игнорируется). Много серверов используют кодировку ISO-8859-1 для запросов и сообщений. Кодировки записей в форматах MARC21/USMARC не затрагиваются данной опцией.

preferredMessageSize

Целочисленное параметр, определяющий максимальный размер всех записей, возвращенных сервером при поиске, в байтах. Для более подробной информации см. стандарт » Z39.50.

Замечание:

Эта опция поддерживается в версии PECL YAZ 1.0.5 и более поздних.

maximumRecordSize

Целочисленный параметр, определяющий максимальное количество байт в отдельной записи, возвращаемой сервером в результате поиска. Данный параметр относится к Exceptional-record-size в стандарте » Z39.50.

Замечание:

Эта опция поддерживается в версии PECL YAZ 1.0.5 и более поздних.

Возвращаемые значения

Дескриптор соединения в случае успеха, FALSE при ошибке.

Список изменений

Версия | Описание
4.1.0 | Был добавлен параметр options.

Смотрите также

  • yaz_close() - Закрывает соединение YAZ

yaz_close
yaz_database
YAZ Функции


Specifies the databases within a session

yaz_connect
yaz_element
YAZ Функции
PHP Manual

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Specifies the databases within a session

Описание

bool yaz_database ( resource $id , string $databases )

This function allows you to change databases within a session by specifying one or more databases to be used in search, retrieval, etc. - overriding databases specified in call to yaz_connect().

Список параметров

id

The connection resource returned by yaz_connect().

databases

A string containing one or more databases. Multiple databases are separated by a plus sign +.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

yaz_connect
yaz_element
YAZ Функции


Specifies Element-Set Name for retrieval

yaz_database
yaz_errno
YAZ Функции
PHP Manual

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Specifies Element-Set Name for retrieval

Описание

bool yaz_element ( resource $id , string $elementset )

This function sets the element set name for retrieval.

Call this function before yaz_search() or yaz_present() to specify the element set name for records to be retrieved.

Замечание:

If this function appears to have no effect, see the description of the piggybacking option in yaz_connect().

Список параметров

id

The connection resource returned by yaz_connect().

elementset

Most servers support F (for full records) and B (for brief records).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

yaz_database
yaz_errno
YAZ Функции


Returns error number

yaz_element
yaz_error
YAZ Функции
PHP Manual

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Returns error number

Описание

int yaz_errno ( resource $id )

Returns an error number for the server (last request) identified by id.

yaz_errno() should be called after network activity for each server - (after yaz_wait() returns) to determine the success or failure of the last operation (e.g. search).

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

Returns an error code. The error code is either a Z39.50 diagnostic code (usually a Bib-1 diagnostic) or a client side error code which is generated by PHP/YAZ itself, such as "Connect failed", "Init Rejected", etc.

Смотрите также

  • yaz_error() - Returns error description
  • yaz_addinfo() - Возвращает дополнительную информацию в случае ошибки

yaz_element
yaz_error
YAZ Функции


Returns error description

yaz_errno
yaz_es_result
YAZ Функции
PHP Manual

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Returns error description

Описание

string yaz_error ( resource $id )

yaz_error() returns an English text message corresponding to the last error number as returned by yaz_errno().

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

Returns an error text message for server (last request), identified by parameter id. An empty string is returned if the last operation was successful.

Смотрите также

  • yaz_errno() - Returns error number
  • yaz_addinfo() - Возвращает дополнительную информацию в случае ошибки

yaz_errno
yaz_es_result
YAZ Функции


Inspects Extended Services Result

yaz_error
yaz_es
YAZ Функции
PHP Manual

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Inspects Extended Services Result

Описание

array yaz_es_result ( resource $id )

This function inspects the last returned Extended Service result from a server. An Extended Service is initiated by either yaz_item_order() or yaz_es().

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

Returns array with element targetReference for the reference for the extended service operation (generated and returned from the server).

Смотрите также

  • yaz_es() - Prepares for an Extended Service Request

yaz_error
yaz_es
YAZ Функции


Prepares for an Extended Service Request

yaz_es_result
yaz_get_option
YAZ Функции
PHP Manual

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prepares for an Extended Service Request

Описание

void yaz_es ( resource $id , string $type , array $args )

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

Замечание:

Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

Список параметров

id

The connection resource returned by yaz_connect().

type

A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

args

An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM » Extended Services.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Record Update

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Смотрите также

  • yaz_es_result() - Inspects Extended Services Result

yaz_es_result
yaz_get_option
YAZ Функции


Returns value of option for connection

yaz_es
yaz_hits
YAZ Функции
PHP Manual

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Returns value of option for connection

Описание

string yaz_get_option ( resource $id , string $name )

Returns the value of the option specified with name.

Список параметров

id

The connection resource returned by yaz_connect().

name

The option name.

Возвращаемые значения

Returns the value of the specified option or an empty string if the option wasn't set.

Смотрите также

  • The description of yaz_set_option() - Sets one or more options for connection for available options

yaz_es
yaz_hits
YAZ Функции


Returns number of hits for last search

yaz_get_option
yaz_itemorder
YAZ Функции
PHP Manual

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Returns number of hits for last search

Описание

int yaz_hits ( resource $id [, array &$searchresult ] )

yaz_hits() returns the number of hits for the last search.

Список параметров

id

The connection resource returned by yaz_connect().

searchresult

Result array for detailed search result information.

Возвращаемые значения

Returns the number of hits for the last search or 0 if no search was performed.

The search result array (if supplied) holds information that is returned by a Z39.50 server in the SearchResult-1 format part of a search response. The SearchResult-1 format can be used to obtain information about hit counts for various parts of the query (subquery). In particular, it is possible to obtain hit counts for the individual search terms in a query. Information for first subquery is in $array[0], second subquery in $array[1], and so forth.

searchresult members
Element | Description
id | Sub query ID2 (string)
count | Result count / hits (integer)
subquery.term | Sub query term (string)
interpretation.term | Interpretated sub query term (string)
recommendation.term | Recommended sub query term (string)

Замечание:

The SearchResult facility requires PECL YAZ 1.0.5 or later and YAZ 2.1.9 or later.

Замечание:

Very few Z39.50 implementations support the SearchResult facility.

yaz_get_option
yaz_itemorder
YAZ Функции


Prepares for Z39.50 Item Order with an ILL-Request package

yaz_hits
yaz_present
YAZ Функции
PHP Manual

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package

Описание

void yaz_itemorder ( resource $id , array $args )

This function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See » this and the » specification.

Список параметров

id

The connection resource returned by yaz_connect().

args

Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.

The ILL-Request parameters are:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_hits
yaz_present
YAZ Функции


Prepares for retrieval (Z39.50 present)

yaz_itemorder
yaz_range
YAZ Функции
PHP Manual

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Prepares for retrieval (Z39.50 present)

Описание

bool yaz_present ( resource $id )

This function prepares for retrieval of records after a successful search.

The yaz_range() function should be called prior to this function to specify the range of records to be retrieved.

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

yaz_itemorder
yaz_range
YAZ Функции


Specifies a range of records to retrieve

yaz_present
yaz_record
YAZ Функции
PHP Manual

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Specifies a range of records to retrieve

Описание

void yaz_range ( resource $id , int $start , int $number )

Specifies a range of records to retrieve.

This function should be called before yaz_search() or yaz_present().

Список параметров

id

The connection resource returned by yaz_connect().

start

Specifies the position of the first record to be retrieved. The records numbers goes from 1 to yaz_hits().

number

Specifies the number of records to be retrieved.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_present
yaz_record
YAZ Функции


Returns a record

yaz_range
yaz_scan_result
YAZ Функции
PHP Manual

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Returns a record

Описание

string yaz_record ( resource $id , int $pos , string $type )

The yaz_record() function inspects a record in the current result set at the position specified by parameter pos.

Список параметров

id

The connection resource returned by yaz_connect().

pos

The record position. Records positions in a result set are numbered 1, 2, ... $hits where $hits is the count returned by yaz_hits().

type

The type specifies the form of the returned record.

Замечание:

It is the application which is responsible for actually ensuring that the records are returned from the Z39.50/SRW server in the proper format. The type given only specifies a conversion to take place on the client side (in PHP/YAZ).

Besides conversion of the transfer record to a string/array, PHP/YAZ it is also possible to perform a character set conversion of the record. Especially for USMARC/MARC21 that is recommended since these are typically returned in the character set MARC-8 that is not supported by browsers, etc. To specify a conversion, add ; charset=from, to where from is the original character set of the record and to is the resulting character set (as seen by PHP).

string

The record is returned as a string for simple display. In this mode, all MARC records are converted to a line-by-line format since ISO2709 is hardly readable. XML records and SUTRS are returned in their original format. GRS-1 are returned in a (ugly) line-by-line format.

This format is suitable if records are to be displayed in a quick way - for debugging - or because it is not feasible to perform proper display.

xml

The record is returned as an XML string if possible. In this mode, all MARC records are converted to » MARCXML. XML records and SUTRS are returned in their original format. GRS-1 is not supported.

This format is similar to string except that MARC records are converted to MARCXML

This format is suitable if records are processed by an XML parser or XSLT processor afterwards.

raw

The record is returned as a string in its original form. This type is suitable for MARC, XML and SUTRS. It does not work for GRS-1.

MARC records are returned as a ISO2709 string. XML and SUTRS are returned as strings.

syntax

The syntax of the record is returned as a string, i.e. USmarc, GRS-1, XML, etc.

database

The name of database associated with record at the position is returned as a string.

array

The record is returned as an array that reflects the GRS-1 structure. This type is suitable for MARC and GRS-1. XML, SUTRS are not supported and if the actual record is XML or SUTRS an empty string will be returned.

The array returned consists of a list corresponding to each leaf/internal node of GRS-1. Each list item consists a sub list with first element path and data (if data is available).

The path which is a string holds a list of each tree component (of the structured GRS-1 record) from root to leaf. Each component is a tag type, tag value pair of the form (type, value

String tags normally has a corresponding tag type 3. MARC can also be returned as an array (they are converted to GRS-1 internally).

Возвращаемые значения

Returns the record at position pos or an empty string if no record exists at the given position.

If no database record exists at the given position an empty string is returned.

Примеры

Пример #1 Array for GRS-1 record

Consider this GRS-1 record:

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
This record has two nodes at root level. First element at root level is (4,52) [tag type 4, tag value 52], and has data Robert M. Pirsig. Second element at root level (4,70) has a subtree with a single element (4,90). (4,90) has yet another sub tree (2,7) with data Transworld Publishers, ltd..

If this record is present at position $p, then

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>
will output:
Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Пример #2 Working with MARCXML

The following PHP snippet returns a MARC21/USMARC record as MARCXML. The original record is returned in marc-8 (unknown to most XML parsers), so we convert it to UTF-8 (which all XML parsers must support).

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

The record $rec can be processed with the Sablotron XSLT processor as follows:

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>

For PHP 5 the XSL extension must be used instead of Sablotron XSLT.

yaz_range
yaz_scan_result
YAZ Функции


Returns Scan Response result

yaz_record
yaz_scan
YAZ Функции
PHP Manual

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Returns Scan Response result

Описание

array yaz_scan_result ( resource $id [, array &$result ] )

yaz_scan_result() returns terms and associated information as received from the server in the last performed yaz_scan().

Список параметров

id

The connection resource returned by yaz_connect().

result

If given, this array will be modified to hold additional information taken from the Scan Response:

  • number - Number of entries returned

  • stepsize - Step size

  • position - Position of term

  • status - Scan status

Возвращаемые значения

Returns an array (0..n-1) where n is the number of terms returned. Each value is a pair where the first item is the term, and the second item is the result-count.

yaz_record
yaz_scan
YAZ Функции


Prepares for a scan

yaz_scan_result
yaz_schema
YAZ Функции
PHP Manual

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Prepares for a scan

Описание

void yaz_scan ( resource $id , string $type , string $startterm [, array $flags ] )

This function prepares for a Z39.50 Scan Request on the specified connection.

To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

Список параметров

id

The connection resource returned by yaz_connect().

type

Currently only type rpn is supported.

startterm

Starting term point for the scan.

The form in which the starting term is specified is given by parameter type.

The syntax this parameter is similar to the RPN query as described in yaz_search(). It consists of zero or more @attr-operator specifications, then followed by exactly one token.

flags

This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: number (number of terms requested), position (preferred position of term) and stepSize (preferred step size).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 PHP function that scans titles

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>

yaz_scan_result
yaz_schema
YAZ Функции


Specifies schema for retrieval

yaz_scan
yaz_search
YAZ Функции
PHP Manual

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Specifies schema for retrieval

Описание

void yaz_schema ( resource $id , string $schema )

yaz_schema() specifies the schema for retrieval.

This function should be called before yaz_search() or yaz_present().

Список параметров

id

The connection resource returned by yaz_connect().

schema

Must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as one of the known registered schemas: GILS-schema, Holdings, Zthes, ...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_scan
yaz_search
YAZ Функции


Prepares for a search

yaz_schema
yaz_set_option
YAZ Функции
PHP Manual

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prepares for a search

Описание

bool yaz_search ( resource $id , string $type , string $query )

yaz_search() prepares for a search on the given connection.

Like yaz_connect() this function is non-blocking and only prepares for a search to be executed later when yaz_wait() is called.

Список параметров

id

The connection resource returned by yaz_connect().

type

This parameter represents the query type - only "rpn" is supported now in which case the third argument specifies a Type-1 query in prefix query notation.

query

The RPN query is a textual representation of the Type-1 query as defined by the Z39.50 standard. However, in the text representation as used by YAZ a prefix notation is used, that is the operator precedes the operands. The query string is a sequence of tokens where white space is ignored unless surrounded by double quotes. Tokens beginning with an at-character (@) are considered operators, otherwise they are treated as search terms.

RPN Operators
Construct | Description
@and query1 query2 | intersection of query1 and query2
@or query1 query2 | union of query1 and query2
@not query1 query2 | query1 and not query2
@set name | result set reference
@attrset set query | specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query
@attr [set] type=value query | applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set.

You can find information about attributes at the » Z39.50 Maintenance Agency site.

Замечание:

If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf() and yaz_ccl_parse().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Query Examples

You can search for simple terms, like this:

computer
which matches documents where "computer" occur. No attributes are specified.

The query

"knuth donald"
matches documents where "knuth donald" occur (provided that the server supports phrase search).

This query applies two attributes for the same phrase.

@attr 1=1003 @attr 4=1 "knuth donald"
First attribute is type 1 (Bib-1 use), attribute value is 1003 (Author). Second attribute has is type 4 (structure), value 1 (phrase), so this should match documents where Donald Knuth is author.

The query

@and @or a b @not @or c d e
would in infix notation look like (a or b) and ((c or d) not e).

Another, more complex, one:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
The query as a whole uses the GILS attributeset. The query matches documents where art occur in the title (GILS,BIB-1) and in which company occur as Distributor (GILS).

yaz_schema
yaz_set_option
YAZ Функции


Sets one or more options for connection

yaz_search
yaz_sort
YAZ Функции
PHP Manual

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Sets one or more options for connection

Описание

void yaz_set_option ( resource $id , string $name , string $value )
void yaz_set_option ( resource $id , array $options )

Sets one or more options on the given connection.

Список параметров

id

The connection resource returned by yaz_connect().

name or options

May be either a string or an array.

If given as a string, this will be the name of the option to set. You'll need to give it's value.

If given as an array, this will be an associative array (option name => option value).

PHP/YAZ Connection Options
Name | Description
implementationName | implementation name of server
implementationVersion | implementation version of server
implementationId | implementation ID of server
schema | schema for retrieval. By default, no schema is used. Setting this option is equivalent to using function yaz_schema()
preferredRecordSyntax | record syntax for retrieval. By default, no syntax is used. Setting this option is equivalent to using function yaz_syntax()
start | offset for first record to be retrieved via yaz_search() or yaz_present(). First record is numbered has a start value of 0. Second record has start value 1. Setting this option in combination with option count has the same effect as calling yaz_range() except that records are numbered from 1 in yaz_range()
count | maximum number of records to be retrieved via yaz_search() or yaz_present().
elementSetName | element-set-name for retrieval. Setting this option is equivalent to calling yaz_element().
value

The new value of the option. Use this only if the previous argument is a string.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_search
yaz_sort
YAZ Функции


Задает критерий сортировки

yaz_set_option
yaz_syntax
YAZ Функции
PHP Manual

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Задает критерий сортировки

Описание

void yaz_sort ( resource $id , string $criteria )

Функция задает критерий сортировки и включает сортировку по Z39.50.

Эта функция должна быть вызвана до yaz_search(). Вызов этой функции отдельно не имеет никакого смысла. Когда она используется совместно с yaz_search(), параметры сортировки будут отосланы после поискового запроса и до того, как какая-либо запись будет получена по Z39.50 (yaz_present()).

Список параметров

id

Дескриптор соединения, возвращаемый yaz_connect().

criteria

Строка, принимающая вид поле1 флаг1 поле2 флаг2, где поле1 устанавливает первый атрибут сортировки, поле2 - второй и т.д.

Поле может определяться либо как числовая комбинация, состоящая из пары тип=значение и разделяемое запятой (например, 1=4,2=1), либо как строковый параметр (например, title). Флаг представляет собой последовательность символов, которая не может быть разделена пробелом.

Флаги сортировки
a

Сортировка по возрастанию

d

Сортировка по убыванию

i

Сортировка без учета регистра символов

s

Сортировка с учетом регистра символов

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Критерии сортировки

Чтобы отсортировать записи по заглавию, без учета регистра по возрастанию следует использовать следующий критерий:

1=4 ia

Если второй критерий сортировки должен идти по автору с учетом регистра и по возрастанию, критерий будет выглядеть как:

1=4 ia 1=1003 sa

yaz_set_option
yaz_syntax
YAZ Функции


Задает предпочитаемый синтаксис для извлекаемой записи

yaz_sort
yaz_wait
YAZ Функции
PHP Manual

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Задает предпочитаемый синтаксис для извлекаемой записи

Описание

void yaz_syntax ( resource $id , string $syntax )

yaz_syntax() задает предпочитаемый синтаксис для извлекаемой записи

Эта функция должна быть вызвана до yaz_search() или yaz_present().

Список параметров

id

Дескриптор соединения, возвращаемый yaz_connect().

syntax

Синтаксис должен быть задан как OID (Object Identifier, идентификатор объекта) в исходном формате, разделенным точками (например 1.2.840.10003.5.10) или в качестве известного зарегистрированного формата записи (sutrs, usmarc, grs1, xml и др.).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_sort
yaz_wait
YAZ Функции


Ожидает выполнения запросов Z39.50 серверами

yaz_syntax
YP/NIS
YAZ Функции
PHP Manual

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Ожидает выполнения запросов Z39.50 серверами

Описание

mixed yaz_wait ([ array &$options ] )

Функция выполняет сетевое (блокирующее) действие до завершения запроса,
подготовленного функциями
yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() and
yaz_itemorder().

yaz_wait() прекращает работу и возвращает результат после того как все сервера или завершат выполнение всех запросов или прервут их (в случае ошибок).

Список параметров

options

Ассоциативный массив параметров:

timeout

Устанавливает время ожидания в секундах. Если сервер не отвечает по прошествии этого времени, он считается нерабочим и yaz_wait() прекращает работу. По умолчанию ожидание составляет 15 секунд.

event

Имеет логический тип.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. В случае, если установлен параметр event, возвращает ресурс или FALSE в случае возникновения ошибки.

yaz_syntax
YP/NIS
YAZ Функции


YP/NIS

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • YP/NIS Функции
    • yp_all — Traverse the map and call a function on each entry
    • yp_cat — Return an array containing the entire map
    • yp_err_string — Returns the error string associated with the given error code
    • yp_errno — Returns the error code of the previous operation
    • yp_first — Returns the first key-value pair from the named map
    • yp_get_default_domain — Fetches the machine's default NIS domain
    • yp_master — Returns the machine name of the master NIS server for a map
    • yp_match — Returns the matched line
    • yp_next — Returns the next key-value pair in the named map
    • yp_order — Returns the order number for a map
yaz_wait
Введение
Другие службы


Введение

NIS (formerly called Yellow Pages) allows network management of important administrative files (e.g. the password file). For more information refer to the NIS manpage and » The Linux NIS(YP)/NYS/NIS+ HOWTO. There is also a book called » Managing NFS and NIS by Hal Stern.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

YP/NIS
Установка и настройка
YP/NIS


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
YP/NIS


Требования

None besides functions from standard Unix libraries which are always available (either libc or libnsl, configure will detect which one to use).

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/yp

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

YPERR_ACCESS (integer)
access violation (this has only been added recently and is only available from PECL SVN for now)
YPERR_BADARGS (integer)
The function arguments are bad
YPERR_BADDB (integer)
YP database is bad
YPERR_BUSY (integer)
Database busy
YPERR_DOMAIN (integer)
cannot bind to server in this domain
YPERR_KEY (integer)
no such key in map
YPERR_MAP (integer)
no such map in server's domain
YPERR_NODOM (integer)
Local domain name not set
YPERR_NOMORE (integer)
No more records in map database
YPERR_PMAP (integer)
Can't communicate with portmapper
YPERR_RESRC (integer)
resource allocation failure
YPERR_RPC (integer)
RPC failure - domain has been unbound
YPERR_YPBIND (integer)
Can't communicate with ypbind
YPERR_YPERR (integer)
internal yp server or client error
YPERR_YPSERV (integer)
Can't communicate with ypserv
YPERR_VERS (integer)
YP version mismatch
Типы ресурсов
YP/NIS Функции
YP/NIS


YP/NIS Функции

Содержание

  • yp_all — Traverse the map and call a function on each entry
  • yp_cat — Return an array containing the entire map
  • yp_err_string — Returns the error string associated with the given error code
  • yp_errno — Returns the error code of the previous operation
  • yp_first — Returns the first key-value pair from the named map
  • yp_get_default_domain — Fetches the machine's default NIS domain
  • yp_master — Returns the machine name of the master NIS server for a map
  • yp_match — Returns the matched line
  • yp_next — Returns the next key-value pair in the named map
  • yp_order — Returns the order number for a map
Предопределенные константы
yp_all
YP/NIS


Traverse the map and call a function on each entry

YP/NIS Функции
yp_cat
YP/NIS Функции
PHP Manual

yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_all — Traverse the map and call a function on each entry

Описание

void yp_all ( string $domain , string $map , string $callback )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

domain

The NIS domain name.

map

The NIS map.

callback

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

YP/NIS Функции
yp_cat
YP/NIS Функции


Return an array containing the entire map

yp_all
yp_err_string
YP/NIS Функции
PHP Manual

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_cat — Return an array containing the entire map

Описание

array yp_cat ( string $domain , string $map )

Returns all map entries.

Список параметров

domain

The NIS domain name.

map

The NIS map.

Возвращаемые значения

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.

yp_all
yp_err_string
YP/NIS Функции


Returns the error string associated with the given error code

yp_cat
yp_errno
YP/NIS Функции
PHP Manual

yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_err_string — Returns the error string associated with the given error code

Описание

string yp_err_string ( int $errorcode )

Returns the error message associated with the given error code. Useful to indicate what exactly went wrong.

Список параметров

errorcode

The error code.

Возвращаемые значения

Returns the error message, as a string.

Примеры

Пример #1 Example for NIS errors

<?php
echo "Error: " . yp_err_string(yp_errno());
?>

Смотрите также

  • yp_errno() - Returns the error code of the previous operation

yp_cat
yp_errno
YP/NIS Функции


Returns the error code of the previous operation

yp_err_string
yp_first
YP/NIS Функции
PHP Manual

yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_errno — Returns the error code of the previous operation

Описание

int yp_errno ( void )

Returns the error code of the previous operation.

Возвращаемые значения

Returns one of the YPERR_XXX error constants.

Смотрите также

  • yp_err_string() - Returns the error string associated with the given error code

yp_err_string
yp_first
YP/NIS Функции


Returns the first key-value pair from the named map

yp_errno
yp_get_default_domain
YP/NIS Функции
PHP Manual

yp_first

(PHP 4, PHP 5 <= 5.0.5)

yp_first — Returns the first key-value pair from the named map

Описание

array yp_first ( string $domain , string $map )

Gets the first key-value pair from the named map in the named domain.

Список параметров

domain

The NIS domain name.

map

The NIS map.

Возвращаемые значения

Returns the first key-value pair as an array on success, or FALSE on errors.

Примеры

Пример #1 Example for the NIS first

<?php
$entry = yp_first($domain, "passwd.byname");

$key = key($entry);
$value = $entry[$key];

echo "First entry in this map has key " . $key . " and value " . $value;
?>

Смотрите также

  • yp_next() - Returns the next key-value pair in the named map
  • yp_get_default_domain() - Fetches the machine's default NIS domain

yp_errno
yp_get_default_domain
YP/NIS Функции


Fetches the machine's default NIS domain

yp_first
yp_master
YP/NIS Функции
PHP Manual

yp_get_default_domain

(PHP 4, PHP 5 <= 5.0.5)

yp_get_default_domain — Fetches the machine's default NIS domain

Описание

string yp_get_default_domain ( void )

Returns the default domain of the node. Can be used as the domain parameter for successive NIS calls.

A NIS domain can be described a group of NIS maps. Every host that needs to look up information binds itself to a certain domain. Refer to the documents mentioned at the beginning for more detailed information.

Возвращаемые значения

Returns the default domain of the node or FALSE. Can be used as the domain parameter for successive NIS calls.

Примеры

Пример #1 Example for the default domain

<?php
$domain = yp_get_default_domain();
echo "Default NIS domain is: " . $domain;
?>

yp_first
yp_master
YP/NIS Функции


Returns the machine name of the master NIS server for a map

yp_get_default_domain
yp_match
YP/NIS Функции
PHP Manual

yp_master

(PHP 4, PHP 5 <= 5.0.5)

yp_master — Returns the machine name of the master NIS server for a map

Описание

string yp_master ( string $domain , string $map )

Returns the machine name of the master NIS server for a map.

Список параметров

domain

The NIS domain name.

map

The NIS map.

Возвращаемые значения

Примеры

Пример #1 Example for the NIS master

<?php
$number = yp_master($domain, $mapname);
echo "Master for this map is: " . $master;
?>

Смотрите также

  • yp_get_default_domain() - Fetches the machine's default NIS domain

yp_get_default_domain
yp_match
YP/NIS Функции


Returns the matched line

yp_master
yp_next
YP/NIS Функции
PHP Manual

yp_match

(PHP 4, PHP 5 <= 5.0.5)

yp_match — Returns the matched line

Описание

string yp_match ( string $domain , string $map , string $key )

Returns the value associated with the passed key out of the specified map.

Список параметров

domain

The NIS domain name.

map

The NIS map.

key

This key must be exact.

Возвращаемые значения

Returns the value, or FALSE on errors.

Примеры

Пример #1 Example for NIS match

<?php
$entry = yp_match($domain, "passwd.byname", "joe");
echo "Matched entry is: " . $entry;
?>

Результатом выполнения данного примера будет что-то подобное:

joe:##joe:11111:100:Joe User:/home/j/joe:/usr/local/bin/bash

Смотрите также

  • yp_get_default_domain() - Fetches the machine's default NIS domain

yp_master
yp_next
YP/NIS Функции


Returns the next key-value pair in the named map

yp_match
yp_order
YP/NIS Функции
PHP Manual

yp_next

(PHP 4, PHP 5 <= 5.0.5)

yp_next — Returns the next key-value pair in the named map

Описание

array yp_next ( string $domain , string $map , string $key )

Returns the next key-value pair in the named map after the specified key.

Список параметров

domain

map

key

Возвращаемые значения

Returns the next key-value pair as an array, or FALSE on errors.

Примеры

Пример #1 Example for NIS next

<?php
$entry = yp_next($domain, "passwd.byname", "joe");

if (!$entry) {
    echo "No more entries found\n";
    echo "<!--" . yp_errno() . ": " . yp_err_string() . "-->";
}

$key = key($entry);

echo "The next entry after joe has key " . $key
      . " and value " . $entry[$key];
?>

Смотрите также

  • yp_first() - Returns the first key-value pair from the named map
  • yp_get_default_domain() - Fetches the machine's default NIS domain

yp_match
yp_order
YP/NIS Функции


Returns the order number for a map

yp_next
Расширения для работы с поисковыми системами
YP/NIS Функции
PHP Manual

yp_order

(PHP 4, PHP 5 <= 5.0.5)

yp_order — Returns the order number for a map

Описание

int yp_order ( string $domain , string $map )

Gets the order number for a map.

Список параметров

domain

map

Возвращаемые значения

Returns the order number for a map or FALSE on error.

Примеры

Пример #1 Example for the NIS order

<?php
    $number = yp_order($domain, $mapname);
    echo "Order number for this map is: " . $number;
?>

Смотрите также

  • yp_get_default_domain() - Fetches the machine's default NIS domain

yp_next
Расширения для работы с поисковыми системами
YP/NIS Функции


Расширения для работы с поисковыми системами

  • mnoGoSearch
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • mnoGoSearch Функции
  • Solr — Apache Solr
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Solr Функции
    • Примеры
    • SolrUtils — The SolrUtils class
    • SolrInputDocument — The SolrInputDocument class
    • SolrDocument — The SolrDocument class
    • SolrDocumentField — The SolrDocumentField class
    • SolrObject — The SolrObject class
    • SolrClient — The SolrClient class
    • SolrResponse — The SolrResponse class
    • SolrQueryResponse — The SolrQueryResponse class
    • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrPingResponse — The SolrPingResponse class
    • SolrGenericResponse — The SolrGenericResponse class
    • SolrParams — The SolrParams class
    • SolrModifiableParams — The SolrModifiableParams class
    • SolrQuery — The SolrQuery class
    • SolrException — The SolrException class
    • SolrClientException — The SolrClientException class
    • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalOperationException — The SolrIllegalOperationException class
  • Sphinx — Клиент Sphinx
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SphinxClient — Класс SphinxClient
  • Swish — Swish Indexing
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Swish Функции
yp_order
mnoGoSearch
Справочник функций


mnoGoSearch

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • mnoGoSearch Функции
    • udm_add_search_limit — Add various search limits
    • udm_alloc_agent_array — Allocate mnoGoSearch session
    • udm_alloc_agent — Allocate mnoGoSearch session
    • udm_api_version — Get mnoGoSearch API version
    • udm_cat_list — Get all the categories on the same level with the current one
    • udm_cat_path — Get the path to the current category
    • udm_check_charset — Check if the given charset is known to mnogosearch
    • udm_check_stored — Check connection to stored
    • udm_clear_search_limits — Clear all mnoGoSearch search restrictions
    • udm_close_stored — Close connection to stored
    • udm_crc32 — Return CRC32 checksum of given string
    • udm_errno — Get mnoGoSearch error number
    • udm_error — Get mnoGoSearch error message
    • udm_find — Perform search
    • udm_free_agent — Free mnoGoSearch session
    • udm_free_ispell_data — Free memory allocated for ispell data
    • udm_free_res — Free mnoGoSearch result
    • udm_get_doc_count — Get total number of documents in database
    • udm_get_res_field — Fetch a result field
    • udm_get_res_param — Get mnoGoSearch result parameters
    • udm_hash32 — Return Hash32 checksum of gived string
    • udm_load_ispell_data — Load ispell data
    • udm_open_stored — Open connection to stored
    • udm_set_agent_param — Set mnoGoSearch agent session parameters
Расширения для работы с поисковыми системами
Введение
Расширения для работы с поисковыми системами


Введение

These functions allow you to access the mnoGoSearch (former UdmSearch) free search engine. mnoGoSearch is a full-featured search engine software for intranet and internet servers, distributed under the GNU license. mnoGoSearch has a number of unique features, which makes it appropriate for a wide range of applications from search within your site to a specialized search system such as cooking recipes or newspaper search, FTP archive search, news articles search, etc. It offers full-text indexing and searching for HTML, PDF, and text documents. mnoGoSearch consists of two parts. The first is an indexing mechanism (indexer). The purpose of the indexer is to walk through HTTP, FTP, NEWS servers or local files, recursively grabbing all the documents and storing meta-data about that documents in an SQL database in a smart and effective manner. After every document is referenced by its corresponding URL, meta-data is collected by the indexer for later use in a search process. The search is performed via Web interface. C, CGI, PHP and Perl search front ends are included.

More information about mnoGoSearch can be found at » http://www.mnogosearch.org/.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

mnoGoSearch
Установка и настройка
mnoGoSearch


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
mnoGoSearch


Требования

Download mnoGosearch from » http://www.mnogosearch.org/ and install it on your system. You need at least version 3.1.10 of mnoGoSearch installed to use these functions.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/mnogosearch.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание:

PHP contains built-in MySQL access library, which can be used to access MySQL. It is known that mnoGoSearch is not compatible with this built-in library and can work only with generic MySQL libraries. Thus, if you use mnoGoSearch with MySQL, during PHP configuration you have to indicate the directory of your MySQL installation, that was used during mnoGoSearch configuration, i.e. for example: --with-mnogosearch --with-mysql=/usr .

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

UDM_FIELD_URLID (integer)
UDM_FIELD_URL (integer)
UDM_FIELD_CONTENT (integer)
UDM_FIELD_TITLE (integer)
UDM_FIELD_KEYWORDS (integer)
UDM_FIELD_DESC (integer)
UDM_FIELD_DESCRIPTION (integer)
UDM_FIELD_TEXT (integer)
UDM_FIELD_SIZE (integer)
UDM_FIELD_RATING (integer)
UDM_FIELD_SCORE (integer)
UDM_FIELD_MODIFIED (integer)
UDM_FIELD_ORDER (integer)
UDM_FIELD_CRC (integer)
UDM_FIELD_CATEGORY (integer)
UDM_FIELD_LANG (integer)
UDM_FIELD_CHARSET (integer)
UDM_PARAM_PAGE_SIZE (integer)
UDM_PARAM_PAGE_NUM (integer)
UDM_PARAM_SEARCH_MODE (integer)
UDM_PARAM_CACHE_MODE (integer)
UDM_PARAM_TRACK_MODE (integer)
UDM_PARAM_PHRASE_MODE (integer)
UDM_PARAM_CHARSET (integer)
UDM_PARAM_LOCAL_CHARSET (integer)
UDM_PARAM_BROWSER_CHARSET (integer)
UDM_PARAM_STOPTABLE (integer)
UDM_PARAM_STOP_TABLE (integer)
UDM_PARAM_STOPFILE (integer)
UDM_PARAM_STOP_FILE (integer)
UDM_PARAM_WEIGHT_FACTOR (integer)
UDM_PARAM_WORD_MATCH (integer)
UDM_PARAM_MAX_WORD_LEN (integer)
UDM_PARAM_MAX_WORDLEN (integer)
UDM_PARAM_MIN_WORD_LEN (integer)
UDM_PARAM_MIN_WORDLEN (integer)
UDM_PARAM_ISPELL_PREFIXES (integer)
UDM_PARAM_ISPELL_PREFIX (integer)
UDM_PARAM_PREFIXES (integer)
UDM_PARAM_PREFIX (integer)
UDM_PARAM_CROSS_WORDS (integer)
UDM_PARAM_CROSSWORDS (integer)
UDM_PARAM_VARDIR (integer)
UDM_PARAM_DATADIR (integer)
UDM_PARAM_HLBEG (integer)
UDM_PARAM_HLEND (integer)
UDM_PARAM_SYNONYM (integer)
UDM_PARAM_SEARCHD (integer)
UDM_PARAM_QSTRING (integer)
UDM_PARAM_REMOTE_ADDR (integer)
UDM_LIMIT_CAT (integer)
UDM_LIMIT_URL (integer)
UDM_LIMIT_TAG (integer)
UDM_LIMIT_LANG (integer)
UDM_LIMIT_DATE (integer)
UDM_PARAM_FOUND (integer)
UDM_PARAM_NUM_ROWS (integer)
UDM_PARAM_WORDINFO (integer)
UDM_PARAM_WORD_INFO (integer)
UDM_PARAM_SEARCHTIME (integer)
UDM_PARAM_SEARCH_TIME (integer)
UDM_PARAM_FIRST_DOC (integer)
UDM_PARAM_LAST_DOC (integer)
UDM_MODE_ALL (integer)
UDM_MODE_ANY (integer)
UDM_MODE_BOOL (integer)
UDM_MODE_PHRASE (integer)
UDM_CACHE_ENABLED (integer)
UDM_CACHE_DISABLED (integer)
UDM_TRACK_ENABLED (integer)
UDM_TRACK_DISABLED (integer)
UDM_PHRASE_ENABLED (integer)
UDM_PHRASE_DISABLED (integer)
UDM_CROSS_WORDS_ENABLED (integer)
UDM_CROSSWORDS_ENABLED (integer)
UDM_CROSS_WORDS_DISABLED (integer)
UDM_CROSSWORDS_DISABLED (integer)
UDM_PREFIXES_ENABLED (integer)
UDM_PREFIX_ENABLED (integer)
UDM_ISPELL_PREFIXES_ENABLED (integer)
UDM_ISPELL_PREFIX_ENABLED (integer)
UDM_PREFIXES_DISABLED (integer)
UDM_PREFIX_DISABLED (integer)
UDM_ISPELL_PREFIXES_DISABLED (integer)
UDM_ISPELL_PREFIX_DISABLED (integer)
UDM_ISPELL_TYPE_AFFIX (integer)
UDM_ISPELL_TYPE_SPELL (integer)
UDM_ISPELL_TYPE_DB (integer)
UDM_ISPELL_TYPE_SERVER (integer)
UDM_MATCH_WORD (integer)
UDM_MATCH_BEGIN (integer)
UDM_MATCH_SUBSTR (integer)
UDM_MATCH_END (integer)
Типы ресурсов
mnoGoSearch Функции
mnoGoSearch


mnoGoSearch Функции

Содержание

  • udm_add_search_limit — Add various search limits
  • udm_alloc_agent_array — Allocate mnoGoSearch session
  • udm_alloc_agent — Allocate mnoGoSearch session
  • udm_api_version — Get mnoGoSearch API version
  • udm_cat_list — Get all the categories on the same level with the current one
  • udm_cat_path — Get the path to the current category
  • udm_check_charset — Check if the given charset is known to mnogosearch
  • udm_check_stored — Check connection to stored
  • udm_clear_search_limits — Clear all mnoGoSearch search restrictions
  • udm_close_stored — Close connection to stored
  • udm_crc32 — Return CRC32 checksum of given string
  • udm_errno — Get mnoGoSearch error number
  • udm_error — Get mnoGoSearch error message
  • udm_find — Perform search
  • udm_free_agent — Free mnoGoSearch session
  • udm_free_ispell_data — Free memory allocated for ispell data
  • udm_free_res — Free mnoGoSearch result
  • udm_get_doc_count — Get total number of documents in database
  • udm_get_res_field — Fetch a result field
  • udm_get_res_param — Get mnoGoSearch result parameters
  • udm_hash32 — Return Hash32 checksum of gived string
  • udm_load_ispell_data — Load ispell data
  • udm_open_stored — Open connection to stored
  • udm_set_agent_param — Set mnoGoSearch agent session parameters
Предопределенные константы
udm_add_search_limit
mnoGoSearch


Add various search limits

mnoGoSearch Функции
udm_alloc_agent_array
mnoGoSearch Функции
PHP Manual

udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_add_search_limit — Add various search limits

Описание

bool udm_add_search_limit ( resource $agent , int $var , string $val )

udm_add_search_limit() adds search restrictions.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

var

Defines the parameter, indicating limits. Possible var values:

  • UDM_LIMIT_URL - defines document URL limitations to limit the search through subsection of the database. It supports SQL % and _ LIKE wildcards, where % matches any number of characters, even zero characters, and _ matches exactly one character. E.g. http://www.example.___/catalog may stand for http://www.example.com/catalog and http://www.example.net/catalog.
  • UDM_LIMIT_TAG - defines site TAG limitations. In indexer-conf you can assign specific TAGs to various sites and parts of a site. Tags in mnoGoSearch 3.1.x are lines, that may contain metasymbols % and _. Metasymbols allow searching among groups of tags. E.g. there are links with tags ABCD and ABCE, and search restriction is by ABC_ - the search will be made among both of the tags.
  • UDM_LIMIT_LANG - defines document language limitations.
  • UDM_LIMIT_CAT - defines document category limitations. Categories are similar to tag feature, but nested. So you can have one category inside another and so on. You have to use two characters for each level. Use a hex number going from 0-F or a 36 base number going from 0-Z. Therefore a top-level category like 'Auto' would be 01. If it has a subcategory like 'Ford', then it would be 01 (the parent category) and then 'Ford' which we will give 01. Put those together and you get 0101. If 'Auto' had another subcategory named 'VW', then it's id would be 01 because it belongs to the 'Ford' category and then 02 because it's the next category. So it's id would be 0102. If VW had a sub category called 'Engine' then it's id would start at 01 again and it would get the 'VW' id 02 and 'Auto' id of 01, making it 010201. If you want to search for sites under that category then you pass it cat=010201 in the URL.

  • UDM_LIMIT_DATE - defines limitation by date the document was modified.

    Format of parameter value: a string with first character < or >, then with no space - date in unixtime format, for example:

    <?php
    udm_add_search_limit    ($udm, UDM_LIMIT_DATE, "&lt;908012006");
    ?>

    If > character is used, then the search will be restricted to those documents having a modification date greater than entered, if <, then smaller.

val

Defines the value of the current parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mnoGoSearch Функции
udm_alloc_agent_array
mnoGoSearch Функции


Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Функции
PHP Manual

udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent_array — Allocate mnoGoSearch session

Описание

resource udm_alloc_agent_array ( array $databases )

udm_alloc_agent_array() will create an agent with multiple database connections.

Список параметров

databases

The array databases must contain one database URL per element, analog to the first parameter of udm_alloc_agent().

Возвращаемые значения

Returns a resource link identifier on success или FALSE в случае возникновения ошибки.

Смотрите также

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Функции


Allocate mnoGoSearch session

udm_alloc_agent_array
udm_api_version
mnoGoSearch Функции
PHP Manual

udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent — Allocate mnoGoSearch session

Описание

resource udm_alloc_agent ( string $dbaddr [, string $dbmode ] )

Allocate a mnoGoSearch session.

Список параметров

dbaddr

dbaddr - URL-style database description, with options (type, host, database name, port, user and password) to connect to SQL database. Do not matter for built-in text files support. Format for dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently supported DBType values are: mysql, pgsql, msql, solid, mssql, oracle, and ibase. Actually, it does not matter for native libraries support, but ODBC users should specify one of the supported values. If your database type is not supported, you may use unknown instead.

dbmode

dbmode - You may select the SQL database mode of words storage. Possible values of dbmode are: single, multi, crc, or crc-multi. When single is specified, all words are stored in the same table. If multi is selected, words will be located in different tables depending of their lengths. "multi" mode is usually faster, but requires more tables in the database. If "crc" mode is selected, mnoGoSearch will store 32 bit integer word IDs calculated by CRC32 algorithm instead of words. This mode requires less disk space and it is faster comparing with "single" and "multi" modes. crc-multi uses the same storage structure with the "crc" mode, but also stores words in different tables depending on words lengths like in "multi" mode.

Замечание:

dbaddr and dbmode must match those used during indexing.

Возвращаемые значения

Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.

Примечания

Замечание:

In fact this function does not open a connection to the database and thus does not check the entered login and password. Establishing a connection to the database and login/password verification is done by udm_find().

udm_alloc_agent_array
udm_api_version
mnoGoSearch Функции


Get mnoGoSearch API version

udm_alloc_agent
udm_cat_list
mnoGoSearch Функции
PHP Manual

udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_api_version — Get mnoGoSearch API version

Описание

int udm_api_version ( void )

Gets the mnoGoSearch API version.

This function allows the user to identify which API functions are available, e.g. udm_get_doc_count() function is only available in mnoGoSearch 3.1.11 or later.

Возвращаемые значения

udm_api_version() returns the mnoGoSearch API version number. E.g. if mnoGoSearch 3.1.10 API is used, this function will return 30110.

Примеры

Пример #1 udm_api_version() example

<?php
if (udm_api_version() >= 30111) {
    echo  "Total number of URLs in database: " . udm_get_doc_count($udm) . "<br />\n";
}
?>

udm_alloc_agent
udm_cat_list
mnoGoSearch Функции


Get all the categories on the same level with the current one

udm_api_version
udm_cat_path
mnoGoSearch Функции
PHP Manual

udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_list — Get all the categories on the same level with the current one

Описание

array udm_cat_list ( resource $agent , string $category )

Gets all the categories on the same level with the current one.

The function can be useful for developing categories tree browser.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

category

Возвращаемые значения

Returns an array listing all categories of the same level as the current category in the categories tree.

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

$array[0] will contain '020300'
  $array[1] will contain 'Audi'
  $array[2] will contain '020301'
  $array[3] will contain 'BMW'
  $array[4] will contain '020302'
  $array[5] will contain 'Opel'
  ...
 etc.

Примеры

Following is an example of displaying links of the current level in format:

Audi
  BMW
  Opel
  ...

Пример #1 udm_cat_list()example

<?php
 $cat_list_arr = udm_cat_list($udm_agent, $cat);
 $cat_list = '';
 for ($i=0; $i<count($cat_list_arr); $i+=2) {
    $path = $cat_list_arr[$i];
    $name = $cat_list_arr[$i+1];
    $cat_list .= "<a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a><br />";
 }
?>

Смотрите также

  • udm_cat_path() - Get the path to the current category

udm_api_version
udm_cat_path
mnoGoSearch Функции


Get the path to the current category

udm_cat_list
udm_check_charset
mnoGoSearch Функции
PHP Manual

udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_path — Get the path to the current category

Описание

array udm_cat_path ( resource $agent , string $category )

Returns an array describing the path in the categories tree from the tree root to the current one, specified by category.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

category

Возвращаемые значения

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

For example, the call $array=udm_cat_path($agent, '02031D'); may return the following array:

 $array[0] will contain ''
 $array[1] will contain 'Root'
 $array[2] will contain '02'
 $array[3] will contain 'Sport'
 $array[4] will contain '0203'
 $array[5] will contain 'Auto'
 $array[4] will contain '02031D'
 $array[5] will contain 'Ferrari'

Примеры

Пример #1 Specifying path to the current category in the following format: '> Root > Sport > Auto > Ferrari'

<?php
  $cat_path_arr = udm_cat_path($udm_agent, $cat);
  $cat_path = '';
  for ($i=0; $i<count($cat_path_arr); $i+=2) {
    $path = $cat_path_arr[$i];
    $name = $cat_path_arr[$i+1];
    $cat_path .= " > <a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a> ";
  }
?>

Смотрите также

  • udm_cat_list() - Get all the categories on the same level with the current one

udm_cat_list
udm_check_charset
mnoGoSearch Функции


Check if the given charset is known to mnogosearch

udm_cat_path
udm_check_stored
mnoGoSearch Функции
PHP Manual

udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_check_charset — Check if the given charset is known to mnogosearch

Описание

bool udm_check_charset ( resource $agent , string $charset )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

udm_cat_path
udm_check_stored
mnoGoSearch Функции


Check connection to stored

udm_check_charset
udm_clear_search_limits
mnoGoSearch Функции
PHP Manual

udm_check_stored

(PHP 4 >= 4.2.0)

udm_check_stored — Check connection to stored

Описание

int udm_check_stored ( resource $agent , int $link , string $doc_id )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

udm_check_charset
udm_clear_search_limits
mnoGoSearch Функции


Clear all mnoGoSearch search restrictions

udm_check_stored
udm_close_stored
mnoGoSearch Функции
PHP Manual

udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_clear_search_limits — Clear all mnoGoSearch search restrictions

Описание

bool udm_clear_search_limits ( resource $agent )

udm_clear_search_limits() resets defined search limitations.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

Returns TRUE.

Смотрите также

  • udm_add_search_limit() - Add various search limits

udm_check_stored
udm_close_stored
mnoGoSearch Функции


Close connection to stored

udm_clear_search_limits
udm_crc32
mnoGoSearch Функции
PHP Manual

udm_close_stored

(PHP 4 >= 4.2.0)

udm_close_stored — Close connection to stored

Описание

int udm_close_stored ( resource $agent , int $link )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

udm_clear_search_limits
udm_crc32
mnoGoSearch Функции


Return CRC32 checksum of given string

udm_close_stored
udm_errno
mnoGoSearch Функции
PHP Manual

udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_crc32 — Return CRC32 checksum of given string

Описание

int udm_crc32 ( resource $agent , string $str )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

udm_close_stored
udm_errno
mnoGoSearch Функции


Get mnoGoSearch error number

udm_crc32
udm_error
mnoGoSearch Функции
PHP Manual

udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_errno — Get mnoGoSearch error number

Описание

int udm_errno ( resource $agent )

Receiving numeric agent error code.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

Returns the mnoGoSearch error number, zero if no error.

udm_crc32
udm_error
mnoGoSearch Функции


Get mnoGoSearch error message

udm_errno
udm_find
mnoGoSearch Функции
PHP Manual

udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_error — Get mnoGoSearch error message

Описание

string udm_error ( resource $agent )

Gets the agent error message.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

udm_error() returns mnoGoSearch error message, empty string if no error.

udm_errno
udm_find
mnoGoSearch Функции


Perform search

udm_error
udm_free_agent
mnoGoSearch Функции
PHP Manual

udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_find — Perform search

Описание

resource udm_find ( resource $agent , string $query )

Performs a search.

The search itself. The first argument - session, the next one - query itself. To find something just type words you want to find and press SUBMIT button. For example, "mysql odbc". You should not use quotes " in query, they are written here only to divide a query from other text. mnoGoSearch will find all documents that contain word "mysql" and/or word "odbc". Best documents having bigger weights will be displayed first. If you use search mode ALL, search will return documents that contain both (or more) words you entered. In case you use mode ANY, the search will return list of documents that contain any of the words you entered. If you want more advanced results you may use query language. You should select "bool" match mode in the search from.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

query

mnoGoSearch understands the following boolean operators:

& - logical AND. For example, "mysql & odbc". mnoGoSearch will find any URLs that contain both "mysql" and "odbc".

| - logical OR. For example "mysql|odbc". mnoGoSearch will find any URLs, that contain word "mysql" or word "odbc".

~ - logical NOT. For example "mysql & ~odbc". mnoGoSearch will find URLs that contain word "mysql" and do not contain word "odbc" at the same time. Note that ~ just excludes given word from results. Query "~odbc" will find nothing!

() - group command to compose more complex queries. For example "(mysql | msql) & ~postgres". Query language is simple and powerful at the same time. Just consider query as usual boolean expression.

Возвращаемые значения

Returns a result link identifier on success или FALSE в случае возникновения ошибки.

udm_error
udm_free_agent
mnoGoSearch Функции


Free mnoGoSearch session

udm_find
udm_free_ispell_data
mnoGoSearch Функции
PHP Manual

udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_agent — Free mnoGoSearch session

Описание

int udm_free_agent ( resource $agent )

Freeing up memory allocated for agent session.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

udm_find
udm_free_ispell_data
mnoGoSearch Функции


Free memory allocated for ispell data

udm_free_agent
udm_free_res
mnoGoSearch Функции
PHP Manual

udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_ispell_data — Free memory allocated for ispell data

Описание

bool udm_free_ispell_data ( int $agent )

Frees the memory allocated for ispell data.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

udm_free_ispell_data() always returns TRUE.

Примечания

Замечание:

This function is supported beginning from version 3.1.12 of mnoGoSearch and it does not do anything in previous versions.

udm_free_agent
udm_free_res
mnoGoSearch Функции


Free mnoGoSearch result

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Функции
PHP Manual

udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_res — Free mnoGoSearch result

Описание

bool udm_free_res ( resource $res )

Freeing up memory allocated for results.

Список параметров

res

A link to a result identifier, received after call to udm_find().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Функции


Get total number of documents in database

udm_free_res
udm_get_res_field
mnoGoSearch Функции
PHP Manual

udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_doc_count — Get total number of documents in database

Описание

int udm_get_doc_count ( resource $agent )

udm_get_doc_count() returns the number of documents in the database.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

Возвращаемые значения

Returns the number of documents.

Примечания

Замечание:

This function is supported only in mnoGoSearch 3.1.11 or later.

udm_free_res
udm_get_res_field
mnoGoSearch Функции


Fetch a result field

udm_get_doc_count
udm_get_res_param
mnoGoSearch Функции
PHP Manual

udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_field — Fetch a result field

Описание

string udm_get_res_field ( resource $res , int $row , int $field )

Fetch a mnoGoSearch result field.

Список параметров

res

res - a link to result identifier, received after call to udm_find().

row

row - the number of the link on the current page. May have values from 0 to UDM_PARAM_NUM_ROWS-1.

field

field - field identifier, may have the following values:

  • UDM_FIELD_URL - document URL field
  • UDM_FIELD_CONTENT - document Content-type field (for example, text/html).
  • UDM_FIELD_CATEGORY - document category field. Use udm_cat_path() to get full path to current category from the categories tree root. (This parameter is available only in PHP 4.0.6 or later).
  • UDM_FIELD_TITLE - document title field.
  • UDM_FIELD_KEYWORDS - document keywords field (from META KEYWORDS tag).
  • UDM_FIELD_DESC - document description field (from META DESCRIPTION tag).
  • UDM_FIELD_TEXT - document body text (the first couple of lines to give an idea of what the document is about).
  • UDM_FIELD_SIZE - document size.
  • UDM_FIELD_URLID - unique URL ID of the link.
  • UDM_FIELD_RATING - page rating (as calculated by mnoGoSearch).
  • UDM_FIELD_MODIFIED - last-modified field in unixtime format.
  • UDM_FIELD_ORDER - the number of the current document in set of found documents.
  • UDM_FIELD_CRC - document CRC.

Возвращаемые значения

udm_get_res_field() returns result field value on success, FALSE on error.

udm_get_doc_count
udm_get_res_param
mnoGoSearch Функции


Get mnoGoSearch result parameters

udm_get_res_field
udm_hash32
mnoGoSearch Функции
PHP Manual

udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_param — Get mnoGoSearch result parameters

Описание

string udm_get_res_param ( resource $res , int $param )

Gets the mnoGoSearch result parameters.

Список параметров

res

res - a link to result identifier, received after call to udm_find().

param

param - parameter identifier, may have the following values:

  • UDM_PARAM_NUM_ROWS - number of received found links on the current page. It is equal to UDM_PARAM_PAGE_SIZE for all search pages, on the last page - the rest of links.
  • UDM_PARAM_FOUND - total number of results matching the query.
  • UDM_PARAM_WORDINFO - information on the words found. E.g. search for "a good book" will return "a: stopword, good:5637, book: 120"
  • UDM_PARAM_SEARCHTIME - search time in seconds.
  • UDM_PARAM_FIRST_DOC - the number of the first document displayed on current page.
  • UDM_PARAM_LAST_DOC - the number of the last document displayed on current page.

Возвращаемые значения

udm_get_res_param() returns result parameter value on success, FALSE on error.

udm_get_res_field
udm_hash32
mnoGoSearch Функции


Return Hash32 checksum of gived string

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Функции
PHP Manual

udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_hash32 — Return Hash32 checksum of gived string

Описание

int udm_hash32 ( resource $agent , string $str )

udm_hash32() will take a string str and return a quite unique 32-bit hash number from it.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

str

The input string.

Возвращаемые значения

Returns a 32-bit hash number.

Смотрите также

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Функции


Load ispell data

udm_hash32
udm_open_stored
mnoGoSearch Функции
PHP Manual

udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_load_ispell_data — Load ispell data

Описание

bool udm_load_ispell_data ( resource $agent , int $var , string $val1 , string $val2 , int $flag )

udm_load_ispell_data() loads ispell data.

After using this function to free memory allocated for ispell data, please use udm_free_ispell_data(), even if you use UDM_ISPELL_TYPE_SERVER mode.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

var

Indicates the source for ispell data. May have the following values:

  • UDM_ISPELL_TYPE_DB - indicates that ispell data should be loaded from SQL. In this case, parameters val1 and val2 are ignored and should be left blank. flag should be equal to 1.

    Замечание:

    flag indicates that after loading ispell data from defined source it should be sorted (it is necessary for correct functioning of ispell). In case of loading ispell data from files there may be several calls to udm_load_ispell_data(), and there is no sense to sort data after every call, but only after the last one. Since in db mode all the data is loaded by one call, this parameter should have the value 1. In this mode in case of error, e.g. if ispell tables are absent, the function will return FALSE and code and error message will be accessible through udm_error() and udm_errno().

  • UDM_ISPELL_TYPE_AFFIX - indicates that ispell data should be loaded from file and initiates loading affixes file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    Пример #1 udm_load_ispell_data() example

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
        exit;
    }
    ?>

    Замечание:

    flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SPELL - indicates that ispell data should be loaded from file and initiates loading of ispell dictionary file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
     exit;
     }
    ?>

    Замечание:

    flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SERVER - enables spell server support. val1 parameter indicates address of the host running spell server. val2 ` is not used yet, but in future releases it is going to indicate number of port used by spell server. flag parameter in this case is not needed since ispell data is stored on spellserver already sorted.

    Spelld server reads spell-data from a separate configuration file (/usr/local/mnogosearch/etc/spelld.conf by default), sorts it and stores in memory. With clients server communicates in two ways: to indexer all the data is transferred (so that indexer starts faster), from search.cgi server receives word to normalize and then passes over to client (search.cgi) list of normalized word forms. This allows fastest, compared to db and text modes processing of search queries (by omitting loading and sorting all the spell data).

    udm_load_ispell_data() function in UDM_ISPELL_TYPE_SERVER mode does not actually load ispell data, but only defines server address. In fact, server is automatically used by udm_find() function when performing search. In case of errors, e.g. if spellserver is not running or invalid host indicated, there are no messages returned and ispell conversion does not work.

    Замечание:

    This function is available in mnoGoSearch 3.1.12 or later.

    Example:
    <?php
    if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
        echo     "Error loading ispell data from server<br />\n";
        exit;
    }
    ?>

The fastest mode is UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT is slower and UDM_ISPELL_TYPE_DB is the slowest. The above pattern is TRUE for mnoGoSearch 3.1.10 - 3.1.11. It is planned to speed up DB mode in future versions and it is going to be faster than TEXT mode.

val1

val2

flag

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #2 udm_load_ispell_data() example

<?php
if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
  printf("Error #%d: '%s'\n", udm_errno($udm), udm_error($udm));
  exit;
}
?>

udm_hash32
udm_open_stored
mnoGoSearch Функции


Open connection to stored

udm_load_ispell_data
udm_set_agent_param
mnoGoSearch Функции
PHP Manual

udm_open_stored

(PHP 4 >= 4.2.0)

udm_open_stored — Open connection to stored

Описание

int udm_open_stored ( resource $agent , string $storedaddr )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

udm_load_ispell_data
udm_set_agent_param
mnoGoSearch Функции


Set mnoGoSearch agent session parameters

udm_open_stored
Solr
mnoGoSearch Функции
PHP Manual

udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_set_agent_param — Set mnoGoSearch agent session parameters

Описание

bool udm_set_agent_param ( resource $agent , int $var , string $val )

Defines mnoGoSearch session parameters.

Список параметров

agent

A link to Agent, received after call to udm_alloc_agent().

var

The following parameters and their values are available:

  • UDM_PARAM_PAGE_NUM - used to choose search results page number (results are returned by pages beginning from 0, with UDM_PARAM_PAGE_SIZE results per page).
  • UDM_PARAM_PAGE_SIZE - number of search results displayed on one page.
  • UDM_PARAM_SEARCH_MODE - search mode. The following values available: UDM_MODE_ALL - search for all words; UDM_MODE_ANY - search for any word; UDM_MODE_PHRASE - phrase search; UDM_MODE_BOOL - boolean search. See udm_find() for details on boolean search.
  • UDM_PARAM_CACHE_MODE - turns on or off search result cache mode. When enabled, the search engine will store search results to disk. In case a similar search is performed later, the engine will take results from the cache for faster performance. Available values: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - turns on or off trackquery mode. Since version 3.1.2 mnoGoSearch has a query tracking support. Note that tracking is implemented in SQL version only and not available in built-in database. To use tracking, you have to create tables for tracking support. For MySQL, use create/mysql/track.txt. When doing a search, front-end uses those tables to store query words, a number of found documents and current Unix timestamp in seconds. Available values: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
  • UDM_PARAM_PHRASE_MODE - defines whether index database using phrases ("phrase" parameter in indexer.conf). Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Please note, that if phrase search is enabled (UDM_PHRASE_ENABLED), it is still possible to do search in any mode (ANY, ALL, BOOL or PHRASE). In 3.1.10 version of mnoGoSearch phrase search is supported only in sql and built-in database modes, while beginning with 3.1.11 phrases are supported in cachemode as well. Examples of phrase search: "Arizona desert" - This query returns all indexed documents that contain "Arizona desert" as a phrase. Notice that you need to put double quotes around the phrase
  • UDM_PARAM_CHARSET - defines local charset. Available values: set of charsets supported by mnoGoSearch, e.g. koi8-r, cp1251, ...
  • UDM_PARAM_STOPFILE - Defines name and path to stopwords file. (There is a small difference with mnoGoSearch - while in mnoGoSearch if relative path or no path entered, it looks for this file in relation to UDM_CONF_DIR, the module looks for the file in relation to current path, i.e. to the path where the PHP script is executed.)
  • UDM_PARAM_STOPTABLE - Load stop words from the given SQL table. You may use several StopwordTable commands. This command has no effect when compiled without SQL database support.
  • UDM_PARAM_WEIGHT_FACTOR - represents weight factors for specific document parts. Currently body, title, keywords, description, url are supported. To activate this feature please use degrees of 2 in *Weight commands of the indexer.conf. Let's imagine that we have these weights:
          URLWeight     1
      BodyWeight    2
      TitleWeight   4
      KeywordWeight 8
      DescWeight    16
    As far as indexer uses bit OR operation for word weights when some word presents several time in the same document, it is possible at search time to detect word appearance in different document parts. Word which appears only in the body will have 00000010 aggregate weight (in binary notation). Word used in all document parts will have 00011111 aggregate weight. This parameter's value is a string of hex digits ABCDE. Each digit is a factor for corresponding bit in word weight. For the given above weights configuration:
           E is a factor for weight 1  (URL Weight bit)
       D is a factor for weight 2  (BodyWeight bit)
       C is a factor for weight 4  (TitleWeight bit)
       B is a factor for weight 8  (KeywordWeight bit)
       A is a factor for weight 16 (DescWeight bit)
    Examples: UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs only. UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles only. UDM_PARAM_WEIGHT_FACTOR=11100 will search through Title,Keywords,Description but not through URL and Body. UDM_PARAM_WEIGHT_FACTOR=F9421 will search through:
            Description with factor 15  (F hex)
        Keywords with factor 9
        Title with factor  4
        Body with factor 2
        URL with factor 1
    If UDM_PARAM_WEIGHT_FACTOR variable is omitted, original weight value is taken to sort results. For a given above weight configuration it means that document description has a most big weight 16.
  • UDM_PARAM_WORD_MATCH - word match. You may use this parameter to choose word match type. This feature works only in "single" and "multi" modes using SQL based and built-in database. It does not work in cachemode and other modes since they use word CRC and do not support substring search. Available values: UDM_MATCH_BEGIN - word beginning match; UDM_MATCH_END - word ending match; UDM_MATCH_WORD - whole word match; UDM_MATCH_SUBSTR - word substring match.
  • UDM_PARAM_MIN_WORD_LEN - defines minimal word length. Any word shorter this limit is considered to be a stopword. Please note that this parameter value is inclusive, i.e. if UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will not be considered a stopword, while a word 2 characters long will be. Default value is 1.
  • UDM_PARAM_ISPELL_PREFIXES - Possible values: UDM_PREFIXES_ENABLED and UDM_PREFIXES_DISABLED, that respectively enable or disable using prefixes. E.g. if a word "tested" is in search query, also words like "test", "testing", etc. Only suffixes are supported by default. Prefixes usually change word meanings, for example if somebody is searching for the word "tested" one hardly wants "untested" to be found. Prefixes support may also be found useful for site's spelling checking purposes. In order to enable ispell, you have to load ispell data with udm_load_ispell_data().
  • UDM_PARAM_CROSS_WORDS - enables or disables crosswords support. Possible values: UDM_CROSS_WORDS_ENABLED and UDM_CROSS_WORDS_DISABLED. The crosswords feature allows to assign words between <a href="xxx"> and </a> also to a document this link leads to. It works in SQL database mode and is not supported in built-in database and Cachemode.
  • UDM_PARAM_VARDIR - specifies a custom path to directory where indexer stores data when using built-in database and in cache mode. By default /var directory of mnoGoSearch installation is used. Can have only string values.

val

Список изменений

Версия | Описание
4.1.0 | UDM_PARAM_VARDIR was added.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Crosswords are supported only in mnoGoSearch 3.1.11 or later.

udm_open_stored
Solr
mnoGoSearch Функции


Apache Solr

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Solr Функции
    • solr_get_version — Returns the current version of the Apache Solr extension
  • Примеры
  • SolrUtils — The SolrUtils class
    • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars — Escapes a lucene query string
    • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
    • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
  • SolrInputDocument — The SolrInputDocument class
    • SolrInputDocument::addField — Adds a field to the document
    • SolrInputDocument::clear — Resets the input document
    • SolrInputDocument::__clone — Creates a copy of a SolrDocument
    • SolrInputDocument::__construct — Constructor
    • SolrInputDocument::deleteField — Removes a field from the document
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Checks if a field exists
    • SolrInputDocument::getBoost — Retrieves the current boost value for the document
    • SolrInputDocument::getField — Retrieves a field by name
    • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount — Returns the number of fields in the document
    • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
    • SolrInputDocument::merge — Merges one input document into another
    • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost — Sets the boost value for this document
    • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
    • SolrInputDocument::sort — Sorts the fields within the document
    • SolrInputDocument::toArray — Returns an array representation of the input document
  • SolrDocument — The SolrDocument class
    • SolrDocument::addField — Adds a field to the document
    • SolrDocument::clear — Drops all the fields in the document
    • SolrDocument::__clone — Creates a copy of a SolrDocument object
    • SolrDocument::__construct — Constructor
    • SolrDocument::current — Retrieves the current field
    • SolrDocument::deleteField — Removes a field from the document
    • SolrDocument::__destruct — Destructor
    • SolrDocument::fieldExists — Checks if a field exists in the document
    • SolrDocument::__get — Acess the field as a property
    • SolrDocument::getField — Retrieves a field by name
    • SolrDocument::getFieldCount — Returns the number of fields in this document
    • SolrDocument::getFieldNames — Returns an array of fields names in the document
    • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
    • SolrDocument::__isset — Checks if a field exists
    • SolrDocument::key — Retrieves the current key
    • SolrDocument::merge — Merges source to the current SolrDocument
    • SolrDocument::next — Moves the internal pointer to the next field
    • SolrDocument::offsetExists — Checks if a particular field exists
    • SolrDocument::offsetGet — Retrieves a field
    • SolrDocument::offsetSet — Adds a field to the document
    • SolrDocument::offsetUnset — Removes a field
    • SolrDocument::reset — This is an alias to SolrDocument::clear()
    • SolrDocument::rewind — Resets the internal pointer to the beginning
    • SolrDocument::serialize — Used for custom serialization
    • SolrDocument::__set — Adds another field to the document
    • SolrDocument::sort — Sorts the fields in the document
    • SolrDocument::toArray — Returns an array representation of the document
    • SolrDocument::unserialize — Custom serialization of SolrDocument objects
    • SolrDocument::__unset — Removes a field from the document
    • SolrDocument::valid — Checks if the current position internally is still valid
  • SolrDocumentField — The SolrDocumentField class
    • SolrDocumentField::__construct — Constructor
    • SolrDocumentField::__destruct — Destructor
  • SolrObject — The SolrObject class
    • SolrObject::__construct — Creates Solr object
    • SolrObject::__destruct — Destructor
    • SolrObject::getPropertyNames — Returns an array of all the names of the properties
    • SolrObject::offsetExists — Checks if the property exists
    • SolrObject::offsetGet — Used to retrieve a property
    • SolrObject::offsetSet — Sets the value for a property
    • SolrObject::offsetUnset — Sets the value for the property
  • SolrClient — The SolrClient class
    • SolrClient::addDocument — Adds a document to the index
    • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit — Finalizes all add/deletes made to the index
    • SolrClient::__construct — Constructor for the SolrClient object
    • SolrClient::deleteById — Delete by Id
    • SolrClient::deleteByIds — Deletes by Ids
    • SolrClient::deleteByQueries — Removes all documents matching any of the queries
    • SolrClient::deleteByQuery — Deletes all documents matching the given query
    • SolrClient::__destruct — Destructor for SolrClient
    • SolrClient::getDebug — Returns the debug data for the last connection attempt
    • SolrClient::getOptions — Returns the client options set internally
    • SolrClient::optimize — Defragments the index
    • SolrClient::ping — Checks if Solr server is still up
    • SolrClient::query — Sends a query to the server
    • SolrClient::request — Sends a raw update request
    • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet — Changes the specified servlet type to a new value
    • SolrClient::threads — Checks the threads status
  • SolrResponse — The SolrResponse class
    • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus — Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
    • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse — Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
    • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
    • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode — Sets the parse mode
    • SolrResponse::success — Was the request a success
  • SolrQueryResponse — The SolrQueryResponse class
    • SolrQueryResponse::__construct — Constructor
    • SolrQueryResponse::__destruct — Destructor
  • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrUpdateResponse::__construct — Constructor
    • SolrUpdateResponse::__destruct — Destructor
  • SolrPingResponse — The SolrPingResponse class
    • SolrPingResponse::__construct — Constructor
    • SolrPingResponse::__destruct — Destructor
    • SolrPingResponse::getResponse — Returns the response from the server
  • SolrGenericResponse — The SolrGenericResponse class
    • SolrGenericResponse::__construct — Constructor
    • SolrGenericResponse::__destruct — Destructor
  • SolrParams — The SolrParams class
    • SolrParams::add — This is an alias for SolrParams::addParam
    • SolrParams::addParam — Adds a parameter to the object
    • SolrParams::get — This is an alias for SolrParams::getParam
    • SolrParams::getParam — Returns a parameter value
    • SolrParams::getParams — Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
    • SolrParams::serialize — Used for custom serialization
    • SolrParams::set — An alias of SolrParams::setParam
    • SolrParams::setParam — Sets the parameter to the specified value
    • SolrParams::toString — Returns all the name-value pair parameters in the object
    • SolrParams::unserialize — Used for custom serialization
  • SolrModifiableParams — The SolrModifiableParams class
    • SolrModifiableParams::__construct — Constructor
    • SolrModifiableParams::__destruct — Destructor
  • SolrQuery — The SolrQuery class
    • SolrQuery::addFacetDateField — Maps to facet.date
    • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
    • SolrQuery::addFacetField — Adds another field to the facet
    • SolrQuery::addFacetQuery — Adds a facet query
    • SolrQuery::addField — Specifies which fields to return in the result
    • SolrQuery::addFilterQuery — Specifies a filter query
    • SolrQuery::addHighlightField — Maps to hl.fl
    • SolrQuery::addMltField — Sets a field to use for similarity
    • SolrQuery::addMltQueryField — Maps to mlt.qf
    • SolrQuery::addSortField — Used to control how the results should be sorted
    • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField — Maps to stats.field parameter
    • SolrQuery::__construct — Constructor
    • SolrQuery::__destruct — Destructor
    • SolrQuery::getFacet — Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields — Returns all the facet.date fields
    • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields — Returns all the facet fields
    • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix — Returns the facet prefix
    • SolrQuery::getFacetQueries — Returns all the facet queries
    • SolrQuery::getFacetSort — Returns the facet sort type
    • SolrQuery::getFields — Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries — Returns an array of filter queries
    • SolrQuery::getHighlight — Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields — Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
    • SolrQuery::getQuery — Returns the main query
    • SolrQuery::getRows — Returns the maximum number of documents
    • SolrQuery::getSortFields — Returns all the sort fields
    • SolrQuery::getStart — Returns the offset in the complete result set
    • SolrQuery::getStats — Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets — Returns all the stats facets that were set
    • SolrQuery::getStatsFields — Returns all the statistics fields
    • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound — Returns the term to start at
    • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
    • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix — Returns the term prefix
    • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
    • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound — Returns the term to stop at
    • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeFacetDateField — Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField — Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
    • SolrQuery::removeField — Removes a field from the list of fields
    • SolrQuery::removeFilterQuery — Removes a filter query
    • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
    • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField — Removes one of the sort fields
    • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField — Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
    • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
    • SolrQuery::setExplainOther — Sets the explainOther common query parameter
    • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd — Maps to facet.date.end
    • SolrQuery::setFacetDateGap — Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart — Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit — Maps to facet.limit
    • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount — Maps to facet.mincount
    • SolrQuery::setFacetMissing — Maps to facet.missing
    • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
    • SolrQuery::setHighlight — Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
    • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt — Enables or disables moreLikeThis
    • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount — Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength — Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength — Sets the minimum word length
    • SolrQuery::setOmitHeader — Exclude the header from the returned results
    • SolrQuery::setQuery — Sets the search query
    • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo — Flag to show debug information
    • SolrQuery::setStart — Specifies the number of rows to skip
    • SolrQuery::setStats — Enables or disables the Stats component
    • SolrQuery::setTerms — Enables or disables the TermsComponent
    • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
    • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound — Specifies the Term to start from
    • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
    • SolrQuery::setTermsMinCount — Sets the minimum document frequency
    • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
    • SolrQuery::setTermsSort — Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound — Sets the term to stop at
    • SolrQuery::setTimeAllowed — The time allowed for search to finish
  • SolrException — The SolrException class
    • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrClientException — The SolrClientException class
    • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
udm_set_agent_param
Введение
Расширения для работы с поисковыми системами


Введение

The Solr extension allows you to communicate effectively with the Apache Solr server in PHP 5.

The Solr extension is an extremely fast, light-weight, feature-rich library that allows PHP developers to communicate effectively with Solr server instances.

It is compatible with both versions 1.3 and 1.4 of Apache Solr.

There are built-in tools to add documents and make updates to the solr server.

It also contains tools that allows you to build advanced queries to the server when searching for documents.

Solr
Установка и настройка
Solr


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Solr


Требования

PHP version 5.2.11 or later is required.

The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.

libxml2 2.6.31 or later is required.

libcurl 7.18.0 or later is also required.

The above library versions are required and attempting to hack the code to make it compile is strongly discouraged. It will fail, possibly with errors that could be hard to debug

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/solr.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Замечание:

The solr module can be compiled in debug mode by passing the --enable-solr-debug flag to configure

When building manually, be sure to include curl and libxml support within the build.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SOLR_MAJOR_VERSION (integer)
SOLR_MINOR_VERSION (integer)
SOLR_PATCH_VERSION (integer)
SOLR_EXTENSION_VERSION (string)

Типы ресурсов
Solr Функции
Solr


Solr Функции

Содержание

  • solr_get_version — Returns the current version of the Apache Solr extension
Предопределенные константы
solr_get_version
Solr


Returns the current version of the Apache Solr extension

Solr Функции
Примеры
Solr Функции
PHP Manual

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Returns the current version of the Apache Solr extension

Описание

string solr_get_version ( void )

This function returns the current version of the extension as a string.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

It returns a string on success and FALSE on failure.

Ошибки

This function throws no errors or exceptions.

Примеры

Пример #1 solr_get_version() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

$solr_version = solr_get_version();

print $solr_version;

?>

Результатом выполнения данного примера будет что-то подобное:

0.9.6

Смотрите также

  • SolrUtils::getSolrVersion() - Returns the current version of the Solr extension

Solr Функции
Примеры
Solr Функции


Примеры

Examples of how to use the Apache Solr extension in PHP

Пример #1 Contents of the BootStrap file

<?php

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', true);

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Пример #2 Adding a document to the index

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Пример #3 Merging one document into another document

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Пример #4 Searching for documents - SolrObject responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Пример #5 Searching for documents - SolrDocument responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$response = $query_response->getResponse();

print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Пример #6 Simple TermsComponent example - basic

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

$query->setTermsField('cat');

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Пример #7 Simple TermsComponent example - using a prefix

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

$query->setTermsField('cat')->setTermsPrefix($prefix);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Пример #8 Simple TermsComponent example - specifying a minimum frequency

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

/* Return only terms with a frequency of 2 or greater */
$min_frequency = 2;

$query->setTermsField('cat')->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Пример #9 Simple Facet Example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Пример #10 Simple Facet Example - with optional field override for mincount

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Пример #11 Connecting to SSL-Enabled Server

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'timeout'  => SOLR_SERVER_TIMEOUT,
    'secure'   => SOLR_SECURE,
    'ssl_cert' => SOLR_SSL_CERT_ONLY,
    'ssl_key'  => SOLR_SSL_KEY,
    'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
    'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)
solr_get_version
SolrUtils
Solr


The SolrUtils class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Contains utility methods for retrieving the current extension version and preparing query phrases.

Also contains method for escaping query strings and parsing XML responses.

Обзор классов

abstract SolrUtils {
/* Методы */
public static SolrObject digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )
public static string escapeQueryChars ( string $str )
public static string getSolrVersion ( void )
public static string queryPhrase ( string $str )
}

Содержание

  • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
  • SolrUtils::escapeQueryChars — Escapes a lucene query string
  • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
  • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
Примеры
SolrUtils::digestXmlResponse
Solr


Parses an response XML string into a SolrObject

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils
PHP Manual

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject

Описание

public static SolrObject SolrUtils::digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )

This method parses an response XML string from the Apache Solr server into a SolrObject. It throws a SolrException if there was an error.

Список параметров

xmlresponse

The XML response string from the Solr server.

parse_mode

Use SolrResponse::PARSE_SOLR_OBJ or SolrResponse::PARSE_SOLR_DOC

Возвращаемые значения

Returns the SolrObject representing the XML response.

If the parse_mode parameter is set to SolrResponse::PARSE_SOLR_OBJ Solr documents will be parses as SolrObject instances.

If it is set to SolrResponse::PARSE_SOLR_DOC, they will be parsed as SolrDocument instances.

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils


Escapes a lucene query string

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils
PHP Manual

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Escapes a lucene query string

Описание

public static string SolrUtils::escapeQueryChars ( string $str )

Lucene supports escaping special characters that are part of the query syntax.

The current list special characters are:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

These characters are part of the query syntax and must be escaped

Список параметров

str

This is the query string to be escaped.

Возвращаемые значения

Returns the escaped string или FALSE в случае возникновения ошибки.

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils


Returns the current version of the Solr extension

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils
PHP Manual

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Returns the current version of the Solr extension

Описание

public static string SolrUtils::getSolrVersion ( void )

Returns the current Solr version.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The current version of the Apache Solr extension.

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils


Prepares a phrase from an unescaped lucene string

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils
PHP Manual

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string

Описание

public static string SolrUtils::queryPhrase ( string $str )

Prepares a phrase from an unescaped lucene string.

Список параметров

str

The lucene phrase.

Возвращаемые значения

Returns the phrase contained in double quotes.

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils


The SolrInputDocument class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class represents a Solr document that is about to be submitted to the Solr index.

Обзор классов

final SolrInputDocument {
/* Константы */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Методы */
public bool addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )
public bool clear ( void )
public void __clone ( void )
__construct ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public float getBoost ( void )
public SolrDocumentField getField ( string $fieldName )
public float getFieldBoost ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public bool merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )
public bool reset ( void )
public bool setBoost ( float $documentBoostValue )
public bool setFieldBoost ( string $fieldName , float $fieldBoostValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )
public array toArray ( void )
}

Предопределенные константы

SolrInputDocument Class Constants

SolrInputDocument::SORT_DEFAULT

Sorts the fields in ascending order.

SolrInputDocument::SORT_ASC

Sorts the fields in ascending order.

SolrInputDocument::SORT_DESC

Sorts the fields in descending order.

SolrInputDocument::SORT_FIELD_NAME

Sorts the fields by name

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by boost value.

Содержание

  • SolrInputDocument::addField — Adds a field to the document
  • SolrInputDocument::clear — Resets the input document
  • SolrInputDocument::__clone — Creates a copy of a SolrDocument
  • SolrInputDocument::__construct — Constructor
  • SolrInputDocument::deleteField — Removes a field from the document
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Checks if a field exists
  • SolrInputDocument::getBoost — Retrieves the current boost value for the document
  • SolrInputDocument::getField — Retrieves a field by name
  • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
  • SolrInputDocument::getFieldCount — Returns the number of fields in the document
  • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
  • SolrInputDocument::merge — Merges one input document into another
  • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
  • SolrInputDocument::setBoost — Sets the boost value for this document
  • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
  • SolrInputDocument::sort — Sorts the fields within the document
  • SolrInputDocument::toArray — Returns an array representation of the input document
SolrUtils::queryPhrase
SolrInputDocument::addField
Solr


Adds a field to the document

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument
PHP Manual

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Adds a field to the document

Описание

public bool SolrInputDocument::addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )

For multi-value fields, if a valid boost value is specified, the specified value will be multiplied by the current boost value for this field.

Список параметров

fieldName

The name of the field

fieldValue

The value for the field.

fieldBoostValue

The index time boost for the field. Though this cannot be negative, you can still pass values less than 1.0 but they must be greater than zero.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument


Resets the input document

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument
PHP Manual

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Resets the input document

Описание

public bool SolrInputDocument::clear ( void )

Resets the document by dropping all the fields and resets the document boost to zero.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument


Creates a copy of a SolrDocument

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument
PHP Manual

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Creates a copy of a SolrDocument

Описание

public void SolrInputDocument::__clone ( void )

Should not be called directly. It is used to create a deep copy of a SolrInputDocument.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Creates a new SolrInputDocument instance.

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument


Constructor

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument
PHP Manual

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructor

Описание

SolrInputDocument::__construct ( void )

Constructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument


Removes a field from the document

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument
PHP Manual

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Removes a field from the document

Описание

public bool SolrInputDocument::deleteField ( string $fieldName )

Removes a field from the document.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument


Destructor

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument
PHP Manual

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Описание

public void SolrInputDocument::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument


Checks if a field exists

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument
PHP Manual

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Checks if a field exists

Описание

public bool SolrInputDocument::fieldExists ( string $fieldName )

Checks if a field exists

Список параметров

fieldName

Name of the field.

Возвращаемые значения

Returns TRUE if the field was found and FALSE if it was not found.

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument


Retrieves the current boost value for the document

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument
PHP Manual

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Retrieves the current boost value for the document

Описание

public float SolrInputDocument::getBoost ( void )

Retrieves the current boost value for the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the boost value on success and FALSE on failure.

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument


Retrieves a field by name

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Retrieves a field by name

Описание

public SolrDocumentField SolrInputDocument::getField ( string $fieldName )

Retrieves a field in the document.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Returns a SolrDocumentField object on success and FALSE on failure.

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument


Retrieves the boost value for a particular field

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field

Описание

public float SolrInputDocument::getFieldBoost ( string $fieldName )

Retrieves the boost value for a particular field.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Returns the boost value for the field or FALSE if there was an error.

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument


Returns the number of fields in the document

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Returns the number of fields in the document

Описание

public int SolrInputDocument::getFieldCount ( void )

Returns the number of fields in the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success или FALSE в случае возникновения ошибки.

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument


Returns an array containing all the fields in the document

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document

Описание

public array SolrInputDocument::getFieldNames ( void )

Returns an array containing all the fields in the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and FALSE on failure.

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument


Merges one input document into another

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument
PHP Manual

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Merges one input document into another

Описание

public bool SolrInputDocument::merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )

Merges one input document into another.

Список параметров

sourceDoc

The source document.

overwrite

If this is TRUE it will replace matching fields in the destination document.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. In the future, this will be modified to return the number of fields in the new document.

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument


This is an alias of SolrInputDocument::clear

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument
PHP Manual

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — This is an alias of SolrInputDocument::clear

Описание

public bool SolrInputDocument::reset ( void )

This is an alias of SolrInputDocument::clear

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument


Sets the boost value for this document

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Sets the boost value for this document

Описание

public bool SolrInputDocument::setBoost ( float $documentBoostValue )

Sets the boost value for this document.

Список параметров

documentBoostValue

The index-time boost value for this document.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument


Sets the index-time boost value for a field

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument
PHP Manual

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field

Описание

public bool SolrInputDocument::setFieldBoost ( string $fieldName , float $fieldBoostValue )

Sets the index-time boost value for a field. This replaces the current boost value for this field.

Список параметров

fieldName

The name of the field.

fieldBoostValue

The index time boost value.

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument


Sorts the fields within the document

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument
PHP Manual

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Sorts the fields within the document

Описание

public bool SolrInputDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The $order_by parameter must be one of :

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   The sort direction can be one of :

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Список параметров

sortOrderBy

The sort criteria

sortDirection

The sort direction

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument


Returns an array representation of the input document

SolrInputDocument::sort
SolrDocument
SolrInputDocument
PHP Manual

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Returns an array representation of the input document

Описание

public array SolrInputDocument::toArray ( void )

Returns an array representation of the input document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing the fields. It returns FALSE on failure.

SolrInputDocument::sort
SolrDocument
SolrInputDocument


The SolrDocument class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a Solr document retrieved from a query response.

Обзор классов

final SolrDocument implements ArrayAccess , Iterator , Traversable , Serializable {
/* Константы */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Методы */
public bool addField ( string $fieldName , string $fieldValue )
public bool clear ( void )
public void __clone ( void )
__construct ( void )
public SolrDocumentField current ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public SolrDocumentField __get ( string $fieldName )
public SolrDocumentField getField ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public SolrInputDocument getInputDocument ( void )
public bool __isset ( string $fieldName )
public string key ( void )
public bool merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )
public void next ( void )
public bool offsetExists ( string $fieldName )
public SolrDocumentField offsetGet ( string $fieldName )
public void offsetSet ( string $fieldName , string $fieldValue )
public void offsetUnset ( string $fieldName )
public bool reset ( void )
public void rewind ( void )
public string serialize ( void )
public bool __set ( string $fieldName , string $fieldValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )
public array toArray ( void )
public void unserialize ( string $serialized )
public bool __unset ( string $fieldName )
public bool valid ( void )
}

Предопределенные константы

SolrDocument Node Types

SolrDocument::SORT_DEFAULT

Default mode for sorting fields within the document.

SolrDocument::SORT_ASC

Sorts the fields in ascending order

SolrDocument::SORT_DESC

Sorts the fields in descending order

SolrDocument::SORT_FIELD_NAME

Sorts the fields by field name.

SolrDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values in each field.

SolrDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by thier boost values.

Содержание

  • SolrDocument::addField — Adds a field to the document
  • SolrDocument::clear — Drops all the fields in the document
  • SolrDocument::__clone — Creates a copy of a SolrDocument object
  • SolrDocument::__construct — Constructor
  • SolrDocument::current — Retrieves the current field
  • SolrDocument::deleteField — Removes a field from the document
  • SolrDocument::__destruct — Destructor
  • SolrDocument::fieldExists — Checks if a field exists in the document
  • SolrDocument::__get — Acess the field as a property
  • SolrDocument::getField — Retrieves a field by name
  • SolrDocument::getFieldCount — Returns the number of fields in this document
  • SolrDocument::getFieldNames — Returns an array of fields names in the document
  • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
  • SolrDocument::__isset — Checks if a field exists
  • SolrDocument::key — Retrieves the current key
  • SolrDocument::merge — Merges source to the current SolrDocument
  • SolrDocument::next — Moves the internal pointer to the next field
  • SolrDocument::offsetExists — Checks if a particular field exists
  • SolrDocument::offsetGet — Retrieves a field
  • SolrDocument::offsetSet — Adds a field to the document
  • SolrDocument::offsetUnset — Removes a field
  • SolrDocument::reset — This is an alias to SolrDocument::clear()
  • SolrDocument::rewind — Resets the internal pointer to the beginning
  • SolrDocument::serialize — Used for custom serialization
  • SolrDocument::__set — Adds another field to the document
  • SolrDocument::sort — Sorts the fields in the document
  • SolrDocument::toArray — Returns an array representation of the document
  • SolrDocument::unserialize — Custom serialization of SolrDocument objects
  • SolrDocument::__unset — Removes a field from the document
  • SolrDocument::valid — Checks if the current position internally is still valid
SolrInputDocument::toArray
SolrDocument::addField
Solr


Adds a field to the document

SolrDocument
SolrDocument::clear
SolrDocument
PHP Manual

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — Adds a field to the document

Описание

public bool SolrDocument::addField ( string $fieldName , string $fieldValue )

This method adds a field to the SolrDocument instance.

Список параметров

fieldName

The name of the field

fieldValue

The value of the field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument
SolrDocument::clear
SolrDocument


Drops all the fields in the document

SolrDocument::addField
SolrDocument::__clone
SolrDocument
PHP Manual

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Drops all the fields in the document

Описание

public bool SolrDocument::clear ( void )

Resets the current object. Discards all the fields and resets the document boost to zero.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::addField
SolrDocument::__clone
SolrDocument


Creates a copy of a SolrDocument object

SolrDocument::clear
SolrDocument::__construct
SolrDocument
PHP Manual

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Creates a copy of a SolrDocument object

Описание

public void SolrDocument::__clone ( void )

Creates a copy of a SolrDocument object. Not to be called directly.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrDocument::clear
SolrDocument::__construct
SolrDocument


Constructor

SolrDocument::__clone
SolrDocument::current
SolrDocument
PHP Manual

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructor

Описание

SolrDocument::__construct ( void )

Constructor for SolrDocument

Список параметров

У этой функции нет параметров.

Возвращаемые значения

SolrDocument::__clone
SolrDocument::current
SolrDocument


Retrieves the current field

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument
PHP Manual

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Retrieves the current field

Описание

public SolrDocumentField SolrDocument::current ( void )

Retrieves the current field

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the field

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument


Removes a field from the document

SolrDocument::current
SolrDocument::__destruct
SolrDocument
PHP Manual

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Removes a field from the document

Описание

public bool SolrDocument::deleteField ( string $fieldName )

Removes a field from the document.

Список параметров

fieldName

Name of the field

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::current
SolrDocument::__destruct
SolrDocument


Destructor

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument
PHP Manual

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructor

Описание

public void SolrDocument::__destruct ( void )

Destructor for SolrDocument.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument


Checks if a field exists in the document

SolrDocument::__destruct
SolrDocument::__get
SolrDocument
PHP Manual

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Checks if a field exists in the document

Описание

public bool SolrDocument::fieldExists ( string $fieldName )

Checks if the requested field as a valid fieldname in the document.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Returns TRUE if the field is present and FALSE if it does not.

SolrDocument::__destruct
SolrDocument::__get
SolrDocument


Acess the field as a property

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument
PHP Manual

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Acess the field as a property

Описание

public SolrDocumentField SolrDocument::__get ( string $fieldName )

Magic method for accessing the field as a property.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Returns a SolrDocumentField instance.

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument


Retrieves a field by name

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument
PHP Manual

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Retrieves a field by name

Описание

public SolrDocumentField SolrDocument::getField ( string $fieldName )

Retrieves a field by name.

Список параметров

fieldName

Name of the field.

Возвращаемые значения

Returns a SolrDocumentField on success and FALSE on failure.

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument


Returns the number of fields in this document

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument
PHP Manual

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Returns the number of fields in this document

Описание

public int SolrDocument::getFieldCount ( void )

Returns the number of fields in this document. Multi-value fields are only counted once.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and FALSE on failure.

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument


Returns an array of fields names in the document

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument
PHP Manual

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Returns an array of fields names in the document

Описание

public array SolrDocument::getFieldNames ( void )

Returns an array of fields names in the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing the names of the fields in this document.

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument


Returns a SolrInputDocument equivalent of the object

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument
PHP Manual

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object

Описание

public SolrInputDocument SolrDocument::getInputDocument ( void )

Returns a SolrInputDocument equivalent of the object. This is useful if one wishes to resubmit/update a document retrieved from a query.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SolrInputDocument on success and NULL on failure.

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument


Checks if a field exists

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument
PHP Manual

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Checks if a field exists

Описание

public bool SolrDocument::__isset ( string $fieldName )

Checks if a field exists

Список параметров

fieldName

Name of the field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument


Retrieves the current key

SolrDocument::__isset
SolrDocument::merge
SolrDocument
PHP Manual

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Retrieves the current key

Описание

public string SolrDocument::key ( void )

Retrieves the current key.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the current key.

SolrDocument::__isset
SolrDocument::merge
SolrDocument


Merges source to the current SolrDocument

SolrDocument::key
SolrDocument::next
SolrDocument
PHP Manual

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Merges source to the current SolrDocument

Описание

public bool SolrDocument::merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )

Merges source to the current SolrDocument.

Список параметров

sourceDoc

The source document.

overwrite

If this is TRUE then fields with the same name in the destination document will be overwritten.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::key
SolrDocument::next
SolrDocument


Moves the internal pointer to the next field

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument
PHP Manual

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Moves the internal pointer to the next field

Описание

public void SolrDocument::next ( void )

Moves the internal pointer to the next field.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method has no return value.

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument


Checks if a particular field exists

SolrDocument::next
SolrDocument::offsetGet
SolrDocument
PHP Manual

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Checks if a particular field exists

Описание

public bool SolrDocument::offsetExists ( string $fieldName )

Checks if a particular field exists. This is used when the object is treated as an array.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::next
SolrDocument::offsetGet
SolrDocument


Retrieves a field

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument
PHP Manual

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Retrieves a field

Описание

public SolrDocumentField SolrDocument::offsetGet ( string $fieldName )

This is used to retrieve the field when the object is treated as an array.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Returns a SolrDocumentField object.

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument


Adds a field to the document

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument
PHP Manual

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Adds a field to the document

Описание

public void SolrDocument::offsetSet ( string $fieldName , string $fieldValue )

Used when the object is treated as an array to add a field to the document.

Список параметров

fieldName

The name of the field.

fieldValue

The value for this field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument


Removes a field

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument
PHP Manual

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Removes a field

Описание

public void SolrDocument::offsetUnset ( string $fieldName )

Removes a field from the document.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

No return value.

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument


This is an alias to SolrDocument::clear()

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument
PHP Manual

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — This is an alias to SolrDocument::clear()

Описание

public bool SolrDocument::reset ( void )

This is an alias to SolrDocument::clear()

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument


Resets the internal pointer to the beginning

SolrDocument::reset
SolrDocument::serialize
SolrDocument
PHP Manual

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Resets the internal pointer to the beginning

Описание

public void SolrDocument::rewind ( void )

Resets the internal pointer to the beginning.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

This method has no return value.

SolrDocument::reset
SolrDocument::serialize
SolrDocument


Used for custom serialization

SolrDocument::rewind
SolrDocument::__set
SolrDocument
PHP Manual

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Used for custom serialization

Описание

public string SolrDocument::serialize ( void )

Used for custom serialization.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string representing the serialized Solr document.

SolrDocument::rewind
SolrDocument::__set
SolrDocument


Adds another field to the document

SolrDocument::serialize
SolrDocument::sort
SolrDocument
PHP Manual

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Adds another field to the document

Описание

public bool SolrDocument::__set ( string $fieldName , string $fieldValue )

Adds another field to the document. Used to set the fields as new properties.

Список параметров

fieldName

Name of the field.

fieldValue

Field value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::serialize
SolrDocument::sort
SolrDocument


Sorts the fields in the document

SolrDocument::__set
SolrDocument::toArray
SolrDocument
PHP Manual

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Sorts the fields in the document

Описание

public bool SolrDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The sortOrderBy parameter must be one of :

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   The sortDirection can be one of :

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   The default way is to sort in ascending order.

Список параметров

sortOrderBy

The sort criteria.

sortDirection

The sort direction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::__set
SolrDocument::toArray
SolrDocument


Returns an array representation of the document

SolrDocument::sort
SolrDocument::unserialize
SolrDocument
PHP Manual

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Returns an array representation of the document

Описание

public array SolrDocument::toArray ( void )

Returns an array representation of the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array representation of the document.

Примеры

Пример #1 SolrDocument::toArray() example

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)

SolrDocument::sort
SolrDocument::unserialize
SolrDocument


Custom serialization of SolrDocument objects

SolrDocument::toArray
SolrDocument::__unset
SolrDocument
PHP Manual

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Custom serialization of SolrDocument objects

Описание

public void SolrDocument::unserialize ( string $serialized )

Custom serialization of SolrDocument objects

Список параметров

serialized

An XML representation of the document.

Возвращаемые значения

None.

SolrDocument::toArray
SolrDocument::__unset
SolrDocument


Removes a field from the document

SolrDocument::unserialize
SolrDocument::valid
SolrDocument
PHP Manual

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Removes a field from the document

Описание

public bool SolrDocument::__unset ( string $fieldName )

Removes a field from the document when the field is access as an object property.

Список параметров

fieldName

The name of the field.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrDocument::unserialize
SolrDocument::valid
SolrDocument


Checks if the current position internally is still valid

SolrDocument::__unset
SolrDocumentField
SolrDocument
PHP Manual

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Checks if the current position internally is still valid

Описание

public bool SolrDocument::valid ( void )

Checks if the current position internally is still valid. It is used during foreach operations.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE on success and FALSE if the current position is no longer valid.

SolrDocument::__unset
SolrDocumentField
SolrDocument


The SolrDocumentField class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This represents a field in a Solr document. All its properties are read-only.

Обзор классов

final SolrDocumentField {
/* Свойства */
readonly public string $SolrDocumentField->name ;
readonly public float $boost ;
readonly public array $values ;
/* Методы */
SolrDocumentField::__construct ( void )
public void SolrDocumentField::__destruct ( void )
}

Свойства

name

The name of the field.

boost

The boost value for the field

values

An array of values for this field

Содержание

  • SolrDocumentField::__construct — Constructor
  • SolrDocumentField::__destruct — Destructor
SolrDocument::valid
SolrDocumentField::__construct
Solr


Constructor

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField
PHP Manual

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructor

Описание

SolrDocumentField::__construct ( void )

Constructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField


Destructor

SolrDocumentField::__construct
SolrObject
SolrDocumentField
PHP Manual

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructor

Описание

public void SolrDocumentField::__destruct ( void )

Destructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrDocumentField::__construct
SolrObject
SolrDocumentField


The SolrObject class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This is an object whose properties can also by accessed using the array syntax. All its properties are read-only.

Обзор классов

final SolrObject implements ArrayAccess {
/* Методы */
__construct ( void )
public void __destruct ( void )
public array getPropertyNames ( void )
public bool offsetExists ( string $property_name )
public mixed offsetGet ( string $property_name )
public void offsetSet ( string $property_name , string $property_value )
public void offsetUnset ( string $property_name )
}

Содержание

  • SolrObject::__construct — Creates Solr object
  • SolrObject::__destruct — Destructor
  • SolrObject::getPropertyNames — Returns an array of all the names of the properties
  • SolrObject::offsetExists — Checks if the property exists
  • SolrObject::offsetGet — Used to retrieve a property
  • SolrObject::offsetSet — Sets the value for a property
  • SolrObject::offsetUnset — Sets the value for the property
SolrDocumentField::__destruct
SolrObject::__construct
Solr


Creates Solr object

SolrObject
SolrObject::__destruct
SolrObject
PHP Manual

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Creates Solr object

Описание

SolrObject::__construct ( void )

Creates Solr object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

Примеры

Пример #1 SolrObject::__construct() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

SolrObject
SolrObject::__destruct
SolrObject


Destructor

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject
PHP Manual

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructor

Описание

public void SolrObject::__destruct ( void )

The destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject


Returns an array of all the names of the properties

SolrObject::__destruct
SolrObject::offsetExists
SolrObject
PHP Manual

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Returns an array of all the names of the properties

Описание

public array SolrObject::getPropertyNames ( void )

Returns an array of all the names of the properties

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array.

SolrObject::__destruct
SolrObject::offsetExists
SolrObject


Checks if the property exists

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject
PHP Manual

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Checks if the property exists

Описание

public bool SolrObject::offsetExists ( string $property_name )

Checks if the property exists. This is used when the object is treated as an array.

Список параметров

property_name

The name of the property.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject


Used to retrieve a property

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject
PHP Manual

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Used to retrieve a property

Описание

public mixed SolrObject::offsetGet ( string $property_name )

Used to get the value of a property. This is used when the object is treated as an array.

Список параметров

property_name

Name of the property.

Возвращаемые значения

Returns the property value.

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject


Sets the value for a property

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject
PHP Manual

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Sets the value for a property

Описание

public void SolrObject::offsetSet ( string $property_name , string $property_value )

Sets the value for a property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Список параметров

property_name

The name of the property.

property_value

The new value.

Возвращаемые значения

None.

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject


Sets the value for the property

SolrObject::offsetSet
SolrClient
SolrObject
PHP Manual

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Sets the value for the property

Описание

public void SolrObject::offsetUnset ( string $property_name )

Sets the value for the property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Список параметров

property_name

The name of the property.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SolrObject::offsetUnset() example

<?php
/* ... */
?>

Результатом выполнения данного примера будет что-то подобное:

...

Смотрите также

  • Classname::Method()

SolrObject::offsetSet
SolrClient
SolrObject


The SolrClient class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Used to send requests to a Solr server. Currently, cloning and serialization of SolrClient instances is not supported.

Обзор классов

final SolrClient {
/* Константы */
const integer SEARCH_SERVLET_TYPE = 1 ;
const integer UPDATE_SERVLET_TYPE = 2 ;
const integer THREADS_SERVLET_TYPE = 4 ;
const integer PING_SERVLET_TYPE = 8 ;
const integer TERMS_SERVLET_TYPE = 16 ;
const string DEFAULT_SEARCH_SERVLET = select ;
const string DEFAULT_UPDATE_SERVLET = update ;
const string DEFAULT_THREADS_SERVLET = admin/threads ;
const string DEFAULT_PING_SERVLET = admin/ping ;
const string DEFAULT_TERMS_SERVLET = terms ;
/* Методы */
public SolrUpdateResponse addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public void addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public SolrUpdateResponse commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public __construct ( array $clientOptions )
public SolrUpdateResponse deleteById ( string $id )
public SolrUpdateResponse deleteByIds ( array $ids )
public SolrUpdateResponse deleteByQueries ( array $queries )
public SolrUpdateResponse deleteByQuery ( string $query )
public void __destruct ( void )
public string getDebug ( void )
public array getOptions ( void )
public SolrUpdateResponse optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public SolrPingResponse ping ( void )
public SolrQueryResponse query ( SolrParams $query )
public void request ( string $raw_request )
public SolrUpdateResponse rollback ( void )
public void setResponseWriter ( string $responseWriter )
public bool setServlet ( int $type , string $value )
public void threads ( void )
}

Предопределенные константы

SolrClient Node Types

SolrClient::SEARCH_SERVLET_TYPE

Used when updating the search servlet.

SolrClient::UPDATE_SERVLET_TYPE

Used when updating the update servlet.

SolrClient::THREADS_SERVLET_TYPE

Used when updating the threads servlet.

SolrClient::PING_SERVLET_TYPE

Used when updating the ping servlet.

SolrClient::TERMS_SERVLET_TYPE

Used when updating the terms servlet.

SolrClient::DEFAULT_SEARCH_SERVLET

This is the intial value for the search servlet.

SolrClient::DEFAULT_UPDATE_SERVLET

This is the intial value for the update servlet.

SolrClient::DEFAULT_THREADS_SERVLET

This is the intial value for the threads servlet.

SolrClient::DEFAULT_PING_SERVLET

This is the intial value for the ping servlet.

SolrClient::DEFAULT_TERMS_SERVLET

This is the intial value for the terms servlet used for the TermsComponent

Содержание

  • SolrClient::addDocument — Adds a document to the index
  • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit — Finalizes all add/deletes made to the index
  • SolrClient::__construct — Constructor for the SolrClient object
  • SolrClient::deleteById — Delete by Id
  • SolrClient::deleteByIds — Deletes by Ids
  • SolrClient::deleteByQueries — Removes all documents matching any of the queries
  • SolrClient::deleteByQuery — Deletes all documents matching the given query
  • SolrClient::__destruct — Destructor for SolrClient
  • SolrClient::getDebug — Returns the debug data for the last connection attempt
  • SolrClient::getOptions — Returns the client options set internally
  • SolrClient::optimize — Defragments the index
  • SolrClient::ping — Checks if Solr server is still up
  • SolrClient::query — Sends a query to the server
  • SolrClient::request — Sends a raw update request
  • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
  • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
  • SolrClient::setServlet — Changes the specified servlet type to a new value
  • SolrClient::threads — Checks the threads status
SolrObject::offsetUnset
SolrClient::addDocument
Solr


Adds a document to the index

SolrClient
SolrClient::addDocuments
SolrClient
PHP Manual

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Adds a document to the index

Описание

public SolrUpdateResponse SolrClient::addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )

This method adds a document to the index.

Список параметров

doc

The SolrInputDocument instance.

allowDups

If FALSE duplicates will be overwritten.

commitWithin

Number of milliseconds within which to commit this document. Available since Solr 1.4

Возвращаемые значения

Returns a SolrUpdateResponse object or throws a SolrClientException on failure.

Примеры

Пример #1 SolrClient::addDocument() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Смотрите также

  • SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index

SolrClient
SolrClient::addDocuments
SolrClient


Adds a collection of SolrInputDocument instances to the index

SolrClient::addDocument
SolrClient::commit
SolrClient
PHP Manual

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index

Описание

public void SolrClient::addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Adds a collection of documents to the index.

Список параметров

docs

An array containing the collection of SolrInputDocument instances. This array must be an actual variable.

allowDups

If FALSE duplicates will be overwritten.

commitWithin

Number of milliseconds within which to commit the documents to the index. This was only available since Solr 1.4

Возвращаемые значения

Returns a SolrUpdateResponse object on success and throws a SolrClientException on failure.

Примеры

Пример #1 SolrClient::addDocuments() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);

print_r($updateResponse->getResponse());

?>

Результатом выполнения данного примера будет что-то подобное:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Смотрите также

  • SolrClient::addDocument() - Adds a document to the index

SolrClient::addDocument
SolrClient::commit
SolrClient


Finalizes all add/deletes made to the index

SolrClient::addDocuments
SolrClient::__construct
SolrClient
PHP Manual

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finalizes all add/deletes made to the index

Описание

public SolrUpdateResponse SolrClient::commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

This method finalizes all add/deletes made to the index.

Список параметров

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

waitFlush

Block until index changes are flushed to disk.

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Возвращаемые значения

Returns a SolrUpdateResponse object on success or throws a SolrClientException on failure.

Смотрите также

  • SolrClient::optimize() - Defragments the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit

SolrClient::addDocuments
SolrClient::__construct
SolrClient


Constructor for the SolrClient object

SolrClient::commit
SolrClient::deleteById
SolrClient
PHP Manual

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor for the SolrClient object

Описание

public SolrClient::__construct ( array $clientOptions )

Constructor for the SolrClient object

Список параметров

clientOptions

This is an array containing one of the following keys :

- secure          (Boolean value indicating whether or not to connect in secure mode)
 - hostname        (The hostname for the Solr server)
 - port            (The port number)
 - path            (The path to solr)
 - wt              (The name of the response writer e.g. xml, phpnative)
 - login           (The username used for HTTP Authentication, if any)
 - password        (The HTTP Authentication password)
 - proxy_host      (The hostname for the proxy server, if any)
 - proxy_port      (The proxy port)
 - proxy_login     (The proxy username)
 - proxy_password  (The proxy password)
 - timeout         (This is maximum time in seconds allowed for the http data transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to verify peer with )

 Please note the if the ssl_cert file only contains the private certificate, you have to specify a separate ssl_key file

 The ssl_keypassword option is required if the ssl_cert or ssl_key options are set.

Примеры

Пример #1 SolrClient::__construct() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_PATH_TO_SOLR,
    'wt'       => SOLR_PHP_NATIVE_RESPONSE_WRITER,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • SolrClient::getOptions() - Returns the client options set internally

SolrClient::commit
SolrClient::deleteById
SolrClient


Delete by Id

SolrClient::__construct
SolrClient::deleteByIds
SolrClient
PHP Manual

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Delete by Id

Описание

public SolrUpdateResponse SolrClient::deleteById ( string $id )

Deletes the document with the specified ID. Where ID is the value of the uniqueKey field declared in the schema

Список параметров

id

The value of the uniqueKey field declared in the schema

Возвращаемые значения

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Смотрите также

  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::__construct
SolrClient::deleteByIds
SolrClient


Deletes by Ids

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient
PHP Manual

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Deletes by Ids

Описание

public SolrUpdateResponse SolrClient::deleteByIds ( array $ids )

Deletes a collection of documents with the specified set of ids.

Список параметров

ids

An array of IDs representing the uniqueKey field declared in the schema for each document to be deleted. This must be an actual php variable.

Возвращаемые значения

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Смотрите также

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient


Removes all documents matching any of the queries

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient
PHP Manual

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Removes all documents matching any of the queries

Описание

public SolrUpdateResponse SolrClient::deleteByQueries ( array $queries )

Removes all documents matching any of the queries

Список параметров

queries

The array of queries. This must be an actual php variable.

Возвращаемые значения

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Смотрите также

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient


Deletes all documents matching the given query

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient
PHP Manual

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Deletes all documents matching the given query

Описание

public SolrUpdateResponse SolrClient::deleteByQuery ( string $query )

Deletes all documents matching the given query.

Список параметров

query

The query

Возвращаемые значения

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Смотрите также

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient


Destructor for SolrClient

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient
PHP Manual

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor for SolrClient

Описание

public void SolrClient::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Destructor for SolrClient

Смотрите также

  • SolrClient::__construct() - Constructor for the SolrClient object

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient


Returns the debug data for the last connection attempt

SolrClient::__destruct
SolrClient::getOptions
SolrClient
PHP Manual

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Returns the debug data for the last connection attempt

Описание

public string SolrClient::getDebug ( void )

Returns the debug data for the last connection attempt

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and null if there is nothing to return.

SolrClient::__destruct
SolrClient::getOptions
SolrClient


Returns the client options set internally

SolrClient::getDebug
SolrClient::optimize
SolrClient
PHP Manual

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Returns the client options set internally

Описание

public array SolrClient::getOptions ( void )

Returns the client options set internally. Very useful for debugging. The values returned are readonly and can only be set when the object is instantiated.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing all the options for the SolrClient object set internally.

Смотрите также

  • SolrClient::__construct() - Constructor for the SolrClient object

SolrClient::getDebug
SolrClient::optimize
SolrClient


Defragments the index

SolrClient::getOptions
SolrClient::ping
SolrClient
PHP Manual

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragments the index

Описание

public SolrUpdateResponse SolrClient::optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

Defragments the index for faster search performance.

Список параметров

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

waitFlush

Block until index changes are flushed to disk.

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Возвращаемые значения

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Смотрите также

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit

SolrClient::getOptions
SolrClient::ping
SolrClient


Checks if Solr server is still up

SolrClient::optimize
SolrClient::query
SolrClient
PHP Manual

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Checks if Solr server is still up

Описание

public SolrPingResponse SolrClient::ping ( void )

Checks if the Solr server is still alive. Sends a HEAD request to the Apache Solr server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SolrPingResponse object on success and throws a SolrClientException on failure.

Примеры

Пример #1 SolrClient::ping() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

Результатом выполнения данного примера будет что-то подобное:

SolrClient::optimize
SolrClient::query
SolrClient


Sends a query to the server

SolrClient::ping
SolrClient::request
SolrClient
PHP Manual

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Sends a query to the server

Описание

public SolrQueryResponse SolrClient::query ( SolrParams $query )

Sends a query to the server.

Список параметров

query

A SolrParam object. It is recommended to use SolrQuery for advanced queries.

Возвращаемые значения

Returns a SolrQueryResponse object on success and throws a SolrClientException object on failure.

Примеры

Пример #1 SolrClient::query() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrClient::ping
SolrClient::request
SolrClient


Sends a raw update request

SolrClient::query
SolrClient::rollback
SolrClient
PHP Manual

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Sends a raw update request

Описание

public void SolrClient::request ( string $raw_request )

Sends a raw XML update request to the server

Список параметров

raw_request

An XML string with the raw request to the server.

Возвращаемые значения

Returns a SolrUpdateResponse on success. Throws a SolrClientException on failure.

Примеры

Пример #1 SolrClient::request() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$update_response = $client->request("<commit/>");

$response = $update_response->getResponse();

print_r($response);
?>

Результатом выполнения данного примера будет что-то подобное:

...

SolrClient::query
SolrClient::rollback
SolrClient


Rollbacks all add/deletes made to the index since the last commit

SolrClient::request
SolrClient::setResponseWriter
SolrClient
PHP Manual

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit

Описание

public SolrUpdateResponse SolrClient::rollback ( void )

Rollbacks all add/deletes made to the index since the last commit. It neither calls any event listeners nor creates a new searcher.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Смотрите также

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::optimize() - Defragments the index

SolrClient::request
SolrClient::setResponseWriter
SolrClient


Sets the response writer used to prepare the response from Solr

SolrClient::rollback
SolrClient::setServlet
SolrClient
PHP Manual

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr

Описание

public void SolrClient::setResponseWriter ( string $responseWriter )

Sets the response writer used to prepare the response from Solr

Список параметров

responseWriter

One of the following :

- xml
 - phpnative

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SolrClient::setResponseWriter() example

<?php

// This is my custom class for objects
class SolrClass
{
   public $_properties = array();

   public function __get($property_name) {

      if (property_exists($this, $property_name)) {

          return $this->$property_name;

      } else if (isset($_properties[$property_name])) {

          return $_properties[$property_name];
      }

      return null;
   }
}

$options = array
(
  'hostname' => 'localhost',
  'port' => 8983,
  'path' => '/solr/core1'
);

$client = new SolrClient($options);

// This uses the org.apache.solr.request.PHPNativeResponseWriter class on Solr
// Visit the following pages for more details
// https://issues.apache.org/jira/browse/SOLR-1967
// http://wiki.apache.org/solr/QueryResponseWriter
// http://wiki.apache.org/solr/SolPHP
$client->setResponseWriter("phpnative");

//$response = $client->ping();

$query = new SolrQuery();

$query->setQuery("*:*");

$query->set("objectClassName", "SolrClass");

$query->set("objectPropertiesStorageMode", 1); // 0 for independent properties, 1 for combined

try
{

$response = $client->query($query);

$resp = $response->getResponse();

print_r($response);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>

Результатом выполнения данного примера будет что-то подобное:

SolrClient::rollback
SolrClient::setServlet
SolrClient


Changes the specified servlet type to a new value

SolrClient::setResponseWriter
SolrClient::threads
SolrClient
PHP Manual

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Changes the specified servlet type to a new value

Описание

public bool SolrClient::setServlet ( int $type , string $value )

Changes the specified servlet type to a new value

Список параметров

type

One of the following :

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

The new value for the servlet

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrClient::setResponseWriter
SolrClient::threads
SolrClient


Checks the threads status

SolrClient::setServlet
SolrResponse
SolrClient
PHP Manual

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Checks the threads status

Описание

public void SolrClient::threads ( void )

Checks the threads status

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SolrGenericResponse object.

SolrClient::setServlet
SolrResponse
SolrClient


The SolrResponse class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a response from the Solr server.

Обзор классов

abstract SolrResponse {
/* Константы */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Свойства */
protected integer $SolrResponse->http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Методы */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Свойства

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request.

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server.

http_raw_response

The response message from the server.

http_digested_response

The response in PHP serialized format.

Предопределенные константы

SolrResponse Class Constants

SolrResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Содержание

  • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
  • SolrResponse::getHttpStatus — Returns the HTTP status of the response
  • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
  • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
  • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
  • SolrResponse::getRawResponse — Returns the raw response from the server
  • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
  • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
  • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
  • SolrResponse::setParseMode — Sets the parse mode
  • SolrResponse::success — Was the request a success
SolrClient::threads
SolrResponse::getDigestedResponse
Solr


Returns the XML response as serialized PHP data

SolrResponse
SolrResponse::getHttpStatus
SolrResponse
PHP Manual

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data

Описание

public string SolrResponse::getDigestedResponse ( void )

Returns the XML response as serialized PHP data

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the XML response as serialized PHP data

SolrResponse
SolrResponse::getHttpStatus
SolrResponse


Returns the HTTP status of the response

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse
PHP Manual

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Returns the HTTP status of the response

Описание

public int SolrResponse::getHttpStatus ( void )

Returns the HTTP status of the response.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the HTTP status of the response.

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse


Returns more details on the HTTP status

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse
PHP Manual

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status

Описание

public string SolrResponse::getHttpStatusMessage ( void )

Returns more details on the HTTP status.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns more details on the HTTP status

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse


Returns the raw request sent to the Solr server

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse
PHP Manual

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Returns the raw request sent to the Solr server

Описание

public string SolrResponse::getRawRequest ( void )

Returns the raw request sent to the Solr server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the raw request sent to the Solr server

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse


Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse
PHP Manual

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server

Описание

public string SolrResponse::getRawRequestHeaders ( void )

Returns the raw request headers sent to the Solr server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse


Returns the raw response from the server

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse
PHP Manual

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Returns the raw response from the server

Описание

public string SolrResponse::getRawResponse ( void )

Returns the raw response from the server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the raw response from the server.

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse


Returns the raw response headers from the server

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse
PHP Manual

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server

Описание

public string SolrResponse::getRawResponseHeaders ( void )

Returns the raw response headers from the server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the raw response headers from the server.

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse


Returns the full URL the request was sent to

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse
PHP Manual

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Returns the full URL the request was sent to

Описание

public string SolrResponse::getRequestUrl ( void )

Returns the full URL the request was sent to.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the full URL the request was sent to

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse


Returns a SolrObject representing the XML response from the server

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse
PHP Manual

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server

Описание

public SolrObject SolrResponse::getResponse ( void )

Returns a SolrObject representing the XML response from the server.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a SolrObject representing the XML response from the server

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse


Sets the parse mode

SolrResponse::getResponse
SolrResponse::success
SolrResponse
PHP Manual

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Sets the parse mode

Описание

public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )

Sets the parse mode.

Список параметров

parser_mode

SolrResponse::PARSE_SOLR_DOC parses documents in SolrDocument instances. SolrResponse::PARSE_SOLR_OBJ parses document into SolrObjects.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SolrResponse::getResponse
SolrResponse::success
SolrResponse


Was the request a success

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse
PHP Manual

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — Was the request a success

Описание

public bool SolrResponse::success ( void )

Used to check if the request to the server was successful.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if it was successful and FALSE if it was not.

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse


The SolrQueryResponse class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a response to a query request.

Обзор классов

final SolrQueryResponse extends SolrResponse {
/* Константы */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Свойства */
/* Методы */
__construct ( void )
public void __destruct ( void )
/* Наследуемые методы */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Свойства

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Предопределенные константы

SolrQueryResponse Class constants

SolrQueryResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrQueryResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Содержание

  • SolrQueryResponse::__construct — Constructor
  • SolrQueryResponse::__destruct — Destructor
SolrResponse::success
SolrQueryResponse::__construct
Solr


Constructor

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse
PHP Manual

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructor

Описание

SolrQueryResponse::__construct ( void )

Constructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse


Destructor

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse
PHP Manual

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructor

Описание

public void SolrQueryResponse::__destruct ( void )

Destructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse


The SolrUpdateResponse class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a response to an update request.

Обзор классов

final SolrUpdateResponse extends SolrResponse {
/* Константы */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Свойства */
/* Методы */
__construct ( void )
public void __destruct ( void )
/* Наследуемые методы */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Свойства

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Предопределенные константы

SolrUpdateResponse Class Constants

SolrUpdateResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrUpdateResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Содержание

  • SolrUpdateResponse::__construct — Constructor
  • SolrUpdateResponse::__destruct — Destructor
SolrQueryResponse::__destruct
SolrUpdateResponse::__construct
Solr


Constructor

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructor

Описание

SolrUpdateResponse::__construct ( void )

Constructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse


Destructor

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructor

Описание

public void SolrUpdateResponse::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse


The SolrPingResponse class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a response to a ping request to the server

Обзор классов

final SolrPingResponse extends SolrResponse {
/* Константы */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Свойства */
/* Методы */
__construct ( void )
public void __destruct ( void )
public string getResponse ( void )
/* Наследуемые методы */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Свойства

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Предопределенные константы

SolrPingResponse Class Constants

SolrPingResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrPingResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Содержание

  • SolrPingResponse::__construct — Constructor
  • SolrPingResponse::__destruct — Destructor
  • SolrPingResponse::getResponse — Returns the response from the server
SolrUpdateResponse::__destruct
SolrPingResponse::__construct
Solr


Constructor

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse
PHP Manual

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructor

Описание

SolrPingResponse::__construct ( void )

Constructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse


Destructor

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse
PHP Manual

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructor

Описание

public void SolrPingResponse::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse


Returns the response from the server

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse
PHP Manual

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Returns the response from the server

Описание

public string SolrPingResponse::getResponse ( void )

Returns the response from the server. This should be empty because the request as a HEAD request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an empty string.

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse


The SolrGenericResponse class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a response from the solr server.

Обзор классов

final SolrGenericResponse extends SolrResponse {
/* Константы */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Свойства */
/* Методы */
__construct ( void )
public void __destruct ( void )
/* Наследуемые методы */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Свойства

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Предопределенные константы

SolrGenericResponse Class constants

SolrGenericResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrGenericResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Содержание

  • SolrGenericResponse::__construct — Constructor
  • SolrGenericResponse::__destruct — Destructor
SolrPingResponse::getResponse
SolrGenericResponse::__construct
Solr


Constructor

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse
PHP Manual

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructor

Описание

SolrGenericResponse::__construct ( void )

Constructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse


Destructor

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse
PHP Manual

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructor

Описание

public void SolrGenericResponse::__destruct ( void )

Destructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse


The SolrParams class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a collection of name-value pairs sent to the Solr server during a request.

Обзор классов

abstract SolrParams implements Serializable {
/* Методы */
final public SolrParams add ( string $name , string $value )
public SolrParams addParam ( string $name , string $value )
final public mixed get ( string $param_name )
final public mixed getParam ([ string $param_name ] )
final public array getParams ( void )
final public array getPreparedParams ( void )
final public string serialize ( void )
final public void set ( string $name , string $value )
public SolrParams setParam ( string $name , string $value )
final public string toString ([ bool $url_encode = false ] )
final public void unserialize ( string $serialized )
}

Содержание

  • SolrParams::add — This is an alias for SolrParams::addParam
  • SolrParams::addParam — Adds a parameter to the object
  • SolrParams::get — This is an alias for SolrParams::getParam
  • SolrParams::getParam — Returns a parameter value
  • SolrParams::getParams — Returns an array of non URL-encoded parameters
  • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
  • SolrParams::serialize — Used for custom serialization
  • SolrParams::set — An alias of SolrParams::setParam
  • SolrParams::setParam — Sets the parameter to the specified value
  • SolrParams::toString — Returns all the name-value pair parameters in the object
  • SolrParams::unserialize — Used for custom serialization
SolrGenericResponse::__destruct
SolrParams::add
Solr


This is an alias for SolrParams::addParam

SolrParams
SolrParams::addParam
SolrParams
PHP Manual

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — This is an alias for SolrParams::addParam

Описание

final public SolrParams SolrParams::add ( string $name , string $value )

This is an alias for SolrParams::addParam

Список параметров

name

The name of the parameter

value

The value of the parameter

Возвращаемые значения

Returns a SolrParams instance on success

SolrParams
SolrParams::addParam
SolrParams


Adds a parameter to the object

SolrParams::add
SolrParams::get
SolrParams
PHP Manual

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Adds a parameter to the object

Описание

public SolrParams SolrParams::addParam ( string $name , string $value )

Adds a parameter to the object. This is used for parameters that can be specified multiple times.

Список параметров

name

Name of parameter

value

Value of parameter

Возвращаемые значения

Returns a SolrParam object on success and FALSE on failure.

SolrParams::add
SolrParams::get
SolrParams


This is an alias for SolrParams::getParam

SolrParams::addParam
SolrParams::getParam
SolrParams
PHP Manual

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — This is an alias for SolrParams::getParam

Описание

final public mixed SolrParams::get ( string $param_name )

This is an alias for SolrParams::getParam

Список параметров

param_name

Then name of the parameter

Возвращаемые значения

Returns an array or string depending on the type of parameter

SolrParams::addParam
SolrParams::getParam
SolrParams


Returns a parameter value

SolrParams::get
SolrParams::getParams
SolrParams
PHP Manual

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Returns a parameter value

Описание

final public mixed SolrParams::getParam ([ string $param_name ] )

Returns a parameter with name param_name

Список параметров

param_name

The name of the parameter

Возвращаемые значения

Returns a string or an array depending on the type of the parameter

SolrParams::get
SolrParams::getParams
SolrParams


Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams
PHP Manual

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Returns an array of non URL-encoded parameters

Описание

final public array SolrParams::getParams ( void )

Returns an array of non URL-encoded parameters

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams


Returns an array of URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams
PHP Manual

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Returns an array of URL-encoded parameters

Описание

final public array SolrParams::getPreparedParams ( void )

Returns an array on URL-encoded parameters

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams


Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams
PHP Manual

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Used for custom serialization

Описание

final public string SolrParams::serialize ( void )

Used for custom serialization

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams


An alias of SolrParams::setParam

SolrParams::serialize
SolrParams::setParam
SolrParams
PHP Manual

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — An alias of SolrParams::setParam

Описание

final public void SolrParams::set ( string $name , string $value )

An alias of SolrParams::setParam

Список параметров

name

Then name of the parameter

value

The parameter value

Возвращаемые значения

Returns an instance of the SolrParams object on success

SolrParams::serialize
SolrParams::setParam
SolrParams


Sets the parameter to the specified value

SolrParams::set
SolrParams::toString
SolrParams
PHP Manual

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Sets the parameter to the specified value

Описание

public SolrParams SolrParams::setParam ( string $name , string $value )

Sets the query parameter to the specified value. This is used for parameters that can only be specified once. Subsequent calls with the same parameter name will override the existing value

Список параметров

name

Name of the parameter

value

Value of the parameter

Возвращаемые значения

Returns a SolrParam object on success and FALSE on value.

Примеры

Пример #1 SolrParams::setParam() example

<?php

$param = new SolrParam();

$param->setParam('q', 'solr')->setParam('rows', 2);

?>

Результатом выполнения данного примера будет что-то подобное:

SolrParams::set
SolrParams::toString
SolrParams


Returns all the name-value pair parameters in the object

SolrParams::setParam
SolrParams::unserialize
SolrParams
PHP Manual

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Returns all the name-value pair parameters in the object

Описание

final public string SolrParams::toString ([ bool $url_encode = false ] )

Returns all the name-value pair parameters in the object

Список параметров

url_encode

Whether to return URL-encoded values

Возвращаемые значения

Returns a string on success and FALSE on failure.

SolrParams::setParam
SolrParams::unserialize
SolrParams


Used for custom serialization

SolrParams::toString
SolrModifiableParams
SolrParams
PHP Manual

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Used for custom serialization

Описание

final public void SolrParams::unserialize ( string $serialized )

Used for custom serialization

Список параметров

serialized

The serialized representation of the object

Возвращаемые значения

None

SolrParams::toString
SolrModifiableParams
SolrParams


The SolrModifiableParams class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a collection of name-value pairs sent to the Solr server during a request.

Обзор классов

SolrModifiableParams extends SolrParams implements Serializable {
/* Методы */
__construct ( void )
public void __destruct ( void )
/* Наследуемые методы */
final public SolrParams SolrParams::add ( string $name , string $value )
public SolrParams SolrParams::addParam ( string $name , string $value )
final public mixed SolrParams::get ( string $param_name )
final public mixed SolrParams::getParam ([ string $param_name ] )
final public array SolrParams::getParams ( void )
final public array SolrParams::getPreparedParams ( void )
final public string SolrParams::serialize ( void )
final public void SolrParams::set ( string $name , string $value )
public SolrParams SolrParams::setParam ( string $name , string $value )
final public string SolrParams::toString ([ bool $url_encode = false ] )
final public void SolrParams::unserialize ( string $serialized )
}

Содержание

  • SolrModifiableParams::__construct — Constructor
  • SolrModifiableParams::__destruct — Destructor
SolrParams::unserialize
SolrModifiableParams::__construct
Solr


Constructor

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams
PHP Manual

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructor

Описание

SolrModifiableParams::__construct ( void )

Constructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams


Destructor

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams
PHP Manual

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructor

Описание

public void SolrModifiableParams::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams


The SolrQuery class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a collection of name-value pairs sent to the Solr server during a request.

Обзор классов

SolrQuery extends SolrModifiableParams implements Serializable {
/* Константы */
const integer ORDER_ASC = 0 ;
const integer ORDER_DESC = 1 ;
const integer FACET_SORT_INDEX = 0 ;
const integer FACET_SORT_COUNT = 1 ;
const integer TERMS_SORT_INDEX = 0 ;
const integer TERMS_SORT_COUNT = 1 ;
/* Свойства */
/* Методы */
public SolrQuery addFacetDateField ( string $dateField )
public SolrQuery addFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery addFacetField ( string $field )
public SolrQuery addFacetQuery ( string $facetQuery )
public SolrQuery addField ( string $field )
public SolrQuery addFilterQuery ( string $fq )
public SolrQuery addHighlightField ( string $field )
public SolrQuery addMltField ( string $field )
public SolrQuery addMltQueryField ( string $field , float $boost )
public SolrQuery addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )
public SolrQuery addStatsFacet ( string $field )
public SolrQuery addStatsField ( string $field )
__construct ([ string $q ] )
public void __destruct ( void )
public bool getFacet ( void )
public string getFacetDateEnd ([ string $field_override ] )
public array getFacetDateFields ( void )
public string getFacetDateGap ([ string $field_override ] )
public string getFacetDateHardEnd ([ string $field_override ] )
public array getFacetDateOther ([ string $field_override ] )
public string getFacetDateStart ([ string $field_override ] )
public array getFacetFields ( void )
public int getFacetLimit ([ string $field_override ] )
public string getFacetMethod ([ string $field_override ] )
public int getFacetMinCount ([ string $field_override ] )
public bool getFacetMissing ([ string $field_override ] )
public int getFacetOffset ([ string $field_override ] )
public string getFacetPrefix ([ string $field_override ] )
public array getFacetQueries ( void )
public int getFacetSort ([ string $field_override ] )
public array getFields ( void )
public array getFilterQueries ( void )
public bool getHighlight ( void )
public string getHighlightAlternateField ([ string $field_override ] )
public array getHighlightFields ( void )
public string getHighlightFormatter ([ string $field_override ] )
public string getHighlightFragmenter ([ string $field_override ] )
public int getHighlightFragsize ([ string $field_override ] )
public bool getHighlightHighlightMultiTerm ( void )
public int getHighlightMaxAlternateFieldLength ([ string $field_override ] )
public int getHighlightMaxAnalyzedChars ( void )
public bool getHighlightMergeContiguous ([ string $field_override ] )
public int getHighlightRegexMaxAnalyzedChars ( void )
public string getHighlightRegexPattern ( void )
public float getHighlightRegexSlop ( void )
public bool getHighlightRequireFieldMatch ( void )
public string getHighlightSimplePost ([ string $field_override ] )
public string getHighlightSimplePre ([ string $field_override ] )
public int getHighlightSnippets ([ string $field_override ] )
public bool getHighlightUsePhraseHighlighter ( void )
public bool getMlt ( void )
public bool getMltBoost ( void )
public int getMltCount ( void )
public array getMltFields ( void )
public int getMltMaxNumQueryTerms ( void )
public int getMltMaxNumTokens ( void )
public int getMltMaxWordLength ( void )
public int getMltMinDocFrequency ( void )
public int getMltMinTermFrequency ( void )
public int getMltMinWordLength ( void )
public array getMltQueryFields ( void )
public string getQuery ( void )
public int getRows ( void )
public array getSortFields ( void )
public int getStart ( void )
public bool getStats ( void )
public array getStatsFacets ( void )
public array getStatsFields ( void )
public bool getTerms ( void )
public string getTermsField ( void )
public bool getTermsIncludeLowerBound ( void )
public bool getTermsIncludeUpperBound ( void )
public int getTermsLimit ( void )
public string getTermsLowerBound ( void )
public int getTermsMaxCount ( void )
public int getTermsMinCount ( void )
public string getTermsPrefix ( void )
public bool getTermsReturnRaw ( void )
public int getTermsSort ( void )
public string getTermsUpperBound ( void )
public int getTimeAllowed ( void )
public SolrQuery removeFacetDateField ( string $field )
public SolrQuery removeFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery removeFacetField ( string $field )
public SolrQuery removeFacetQuery ( string $value )
public SolrQuery removeField ( string $field )
public SolrQuery removeFilterQuery ( string $fq )
public SolrQuery removeHighlightField ( string $field )
public SolrQuery removeMltField ( string $field )
public SolrQuery removeMltQueryField ( string $queryField )
public SolrQuery removeSortField ( string $field )
public SolrQuery removeStatsFacet ( string $value )
public SolrQuery removeStatsField ( string $field )
public SolrQuery setEchoHandler ( bool $flag )
public SolrQuery setEchoParams ( string $type )
public SolrQuery setExplainOther ( string $query )
public SolrQuery setFacet ( bool $flag )
public SolrQuery setFacetDateEnd ( string $value [, string $field_override ] )
public SolrQuery setFacetDateGap ( string $value [, string $field_override ] )
public SolrQuery setFacetDateHardEnd ( bool $value [, string $field_override ] )
public SolrQuery setFacetDateStart ( string $value [, string $field_override ] )
public SolrQuery setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )
public SolrQuery setFacetLimit ( int $limit [, string $field_override ] )
public SolrQuery setFacetMethod ( string $method [, string $field_override ] )
public SolrQuery setFacetMinCount ( int $mincount [, string $field_override ] )
public SolrQuery setFacetMissing ( bool $flag [, string $field_override ] )
public SolrQuery setFacetOffset ( int $offset [, string $field_override ] )
public SolrQuery setFacetPrefix ( string $prefix [, string $field_override ] )
public SolrQuery setFacetSort ( int $facetSort [, string $field_override ] )
public SolrQuery setHighlight ( bool $flag )
public SolrQuery setHighlightAlternateField ( string $field [, string $field_override ] )
public SolrQuery setHighlightFormatter ( string $formatter [, string $field_override ] )
public SolrQuery setHighlightFragmenter ( string $fragmenter [, string $field_override ] )
public SolrQuery setHighlightFragsize ( int $size [, string $field_override ] )
public SolrQuery setHighlightHighlightMultiTerm ( bool $flag )
public SolrQuery setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )
public SolrQuery setHighlightMaxAnalyzedChars ( int $value )
public SolrQuery setHighlightMergeContiguous ( bool $flag [, string $field_override ] )
public SolrQuery setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )
public SolrQuery setHighlightRegexPattern ( string $value )
public SolrQuery setHighlightRegexSlop ( float $factor )
public SolrQuery setHighlightRequireFieldMatch ( bool $flag )
public SolrQuery setHighlightSimplePost ( string $simplePost [, string $field_override ] )
public SolrQuery setHighlightSimplePre ( string $simplePre [, string $field_override ] )
public SolrQuery setHighlightSnippets ( int $value [, string $field_override ] )
public SolrQuery setHighlightUsePhraseHighlighter ( bool $flag )
public SolrQuery setMlt ( bool $flag )
public SolrQuery setMltBoost ( bool $flag )
public SolrQuery setMltCount ( int $count )
public SolrQuery setMltMaxNumQueryTerms ( int $value )
public SolrQuery setMltMaxNumTokens ( int $value )
public SolrQuery setMltMaxWordLength ( int $maxWordLength )
public SolrQuery setMltMinDocFrequency ( int $minDocFrequency )
public SolrQuery setMltMinTermFrequency ( int $minTermFrequency )
public SolrQuery setMltMinWordLength ( int $minWordLength )
public SolrQuery setOmitHeader ( bool $flag )
public SolrQuery setQuery ( string $query )
public SolrQuery setRows ( int $rows )
public SolrQuery setShowDebugInfo ( bool $flag )
public SolrQuery setStart ( int $start )
public SolrQuery setStats ( bool $flag )
public SolrQuery setTerms ( bool $flag )
public SolrQuery setTermsField ( string $fieldname )
public SolrQuery setTermsIncludeLowerBound ( bool $flag )
public SolrQuery setTermsIncludeUpperBound ( bool $flag )
public SolrQuery setTermsLimit ( int $limit )
public SolrQuery setTermsLowerBound ( string $lowerBound )
public SolrQuery setTermsMaxCount ( int $frequency )
public SolrQuery setTermsMinCount ( int $frequency )
public SolrQuery setTermsPrefix ( string $prefix )
public SolrQuery setTermsReturnRaw ( bool $flag )
public SolrQuery setTermsSort ( int $sortType )
public SolrQuery setTermsUpperBound ( string $upperBound )
public SolrQuery setTimeAllowed ( int $timeAllowed )
/* Наследуемые методы */
SolrModifiableParams::__construct ( void )
public void SolrModifiableParams::__destruct ( void )
}

Предопределенные константы

SolrQuery Node Types

SolrQuery::ORDER_ASC

Used to specify that the sorting should be in acending order

SolrQuery::ORDER_DESC

Used to specify that the sorting should be in descending order

SolrQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index

SolrQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count

SolrQuery::TERMS_SORT_INDEX

Used in the TermsComponent

SolrQuery::TERMS_SORT_COUNT

Used in the TermsComponent

Содержание

  • SolrQuery::addFacetDateField — Maps to facet.date
  • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
  • SolrQuery::addFacetField — Adds another field to the facet
  • SolrQuery::addFacetQuery — Adds a facet query
  • SolrQuery::addField — Specifies which fields to return in the result
  • SolrQuery::addFilterQuery — Specifies a filter query
  • SolrQuery::addHighlightField — Maps to hl.fl
  • SolrQuery::addMltField — Sets a field to use for similarity
  • SolrQuery::addMltQueryField — Maps to mlt.qf
  • SolrQuery::addSortField — Used to control how the results should be sorted
  • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
  • SolrQuery::addStatsField — Maps to stats.field parameter
  • SolrQuery::__construct — Constructor
  • SolrQuery::__destruct — Destructor
  • SolrQuery::getFacet — Returns the value of the facet parameter
  • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
  • SolrQuery::getFacetDateFields — Returns all the facet.date fields
  • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
  • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
  • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
  • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
  • SolrQuery::getFacetFields — Returns all the facet fields
  • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
  • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
  • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
  • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
  • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
  • SolrQuery::getFacetPrefix — Returns the facet prefix
  • SolrQuery::getFacetQueries — Returns all the facet queries
  • SolrQuery::getFacetSort — Returns the facet sort type
  • SolrQuery::getFields — Returns the list of fields that will be returned in the response
  • SolrQuery::getFilterQueries — Returns an array of filter queries
  • SolrQuery::getHighlight — Returns the state of the hl parameter
  • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
  • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
  • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
  • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
  • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
  • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
  • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
  • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
  • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
  • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
  • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
  • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
  • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
  • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
  • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
  • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
  • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
  • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
  • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
  • SolrQuery::getMltFields — Returns all the fields to use for similarity
  • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
  • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
  • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
  • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
  • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
  • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
  • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
  • SolrQuery::getQuery — Returns the main query
  • SolrQuery::getRows — Returns the maximum number of documents
  • SolrQuery::getSortFields — Returns all the sort fields
  • SolrQuery::getStart — Returns the offset in the complete result set
  • SolrQuery::getStats — Returns whether or not stats is enabled
  • SolrQuery::getStatsFacets — Returns all the stats facets that were set
  • SolrQuery::getStatsFields — Returns all the statistics fields
  • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
  • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
  • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
  • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
  • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
  • SolrQuery::getTermsLowerBound — Returns the term to start at
  • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
  • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
  • SolrQuery::getTermsPrefix — Returns the term prefix
  • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
  • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
  • SolrQuery::getTermsUpperBound — Returns the term to stop at
  • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
  • SolrQuery::removeFacetDateField — Removes one of the facet date fields
  • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
  • SolrQuery::removeFacetField — Removes one of the facet.date parameters
  • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
  • SolrQuery::removeField — Removes a field from the list of fields
  • SolrQuery::removeFilterQuery — Removes a filter query
  • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
  • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
  • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
  • SolrQuery::removeSortField — Removes one of the sort fields
  • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
  • SolrQuery::removeStatsField — Removes one of the stats.field parameters
  • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
  • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
  • SolrQuery::setExplainOther — Sets the explainOther common query parameter
  • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
  • SolrQuery::setFacetDateEnd — Maps to facet.date.end
  • SolrQuery::setFacetDateGap — Maps to facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
  • SolrQuery::setFacetDateStart — Maps to facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
  • SolrQuery::setFacetLimit — Maps to facet.limit
  • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
  • SolrQuery::setFacetMinCount — Maps to facet.mincount
  • SolrQuery::setFacetMissing — Maps to facet.missing
  • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
  • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
  • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
  • SolrQuery::setHighlight — Enables or disables highlighting
  • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
  • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
  • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
  • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
  • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
  • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
  • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
  • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
  • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
  • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
  • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
  • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
  • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
  • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
  • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
  • SolrQuery::setMlt — Enables or disables moreLikeThis
  • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
  • SolrQuery::setMltCount — Set the number of similar documents to return for each result
  • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
  • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
  • SolrQuery::setMltMaxWordLength — Sets the maximum word length
  • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
  • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
  • SolrQuery::setMltMinWordLength — Sets the minimum word length
  • SolrQuery::setOmitHeader — Exclude the header from the returned results
  • SolrQuery::setQuery — Sets the search query
  • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
  • SolrQuery::setShowDebugInfo — Flag to show debug information
  • SolrQuery::setStart — Specifies the number of rows to skip
  • SolrQuery::setStats — Enables or disables the Stats component
  • SolrQuery::setTerms — Enables or disables the TermsComponent
  • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
  • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
  • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
  • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
  • SolrQuery::setTermsLowerBound — Specifies the Term to start from
  • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
  • SolrQuery::setTermsMinCount — Sets the minimum document frequency
  • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
  • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
  • SolrQuery::setTermsSort — Specifies how to sort the returned terms
  • SolrQuery::setTermsUpperBound — Sets the term to stop at
  • SolrQuery::setTimeAllowed — The time allowed for search to finish
SolrModifiableParams::__destruct
SolrQuery::addFacetDateField
Solr


Maps to facet.date

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery
PHP Manual

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Maps to facet.date

Описание

public SolrQuery SolrQuery::addFacetDateField ( string $dateField )

This method allows you to specify a field which should be treated as a facet.

It can be used multiple times with different field names to indicate multiple facet fields

Список параметров

dateField

The name of the date field.

Возвращаемые значения

Returns a SolrQuery object.

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery


Adds another facet.date.other parameter

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery
PHP Manual

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Adds another facet.date.other parameter

Описание

public SolrQuery SolrQuery::addFacetDateOther ( string $value [, string $field_override ] )

Sets the facet.date.other parameter. Accepts an optional field override

Список параметров

value

The value to use.

field_override

The field name for the override.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery


Adds another field to the facet

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery
PHP Manual

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Adds another field to the facet

Описание

public SolrQuery SolrQuery::addFacetField ( string $field )

Adds another field to the facet

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery


Adds a facet query

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery
PHP Manual

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Adds a facet query

Описание

public SolrQuery SolrQuery::addFacetQuery ( string $facetQuery )

Adds a facet query

Список параметров

facetQuery

The facet query

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery


Specifies which fields to return in the result

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery
PHP Manual

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Specifies which fields to return in the result

Описание

public SolrQuery SolrQuery::addField ( string $field )

This method is used to used to specify a set of fields to return, thereby restricting the amount of data returned in the response.

It should be called multiple time, once for each field name.

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery


Specifies a filter query

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery
PHP Manual

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Specifies a filter query

Описание

public SolrQuery SolrQuery::addFilterQuery ( string $fq )

Specifies a filter query

Список параметров

fq

The filter query

Возвращаемые значения

Returns the current SolrQuery object.

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery


Maps to hl.fl

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery
PHP Manual

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Maps to hl.fl

Описание

public SolrQuery SolrQuery::addHighlightField ( string $field )

Maps to hl.fl. This is used to specify that highlighted snippets should be generated for a particular field

Список параметров

field

Name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery


Sets a field to use for similarity

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery
PHP Manual

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Sets a field to use for similarity

Описание

public SolrQuery SolrQuery::addMltField ( string $field )

Maps to mlt.fl. It specifies that a field should be used for similarity.

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery


Maps to mlt.qf

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery
PHP Manual

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Maps to mlt.qf

Описание

public SolrQuery SolrQuery::addMltQueryField ( string $field , float $boost )

Maps to mlt.qf. It is used to specify query fields and their boosts

Список параметров

field

The name of the field

boost

Its boost value

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery


Used to control how the results should be sorted

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery
PHP Manual

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Used to control how the results should be sorted

Описание

public SolrQuery SolrQuery::addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )

Used to control how the results should be sorted.

Список параметров

field

The name of the field

order

The sort direction. This should be either SolrQuery::ORDER_ASC or SolrQuery::ORDER_DESC.

Возвращаемые значения

Returns the current SolrQuery object.

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery


Requests a return of sub results for values within the given facet

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery
PHP Manual

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet

Описание

public SolrQuery SolrQuery::addStatsFacet ( string $field )

Requests a return of sub results for values within the given facet. Maps to the stats.facet field

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery


Maps to stats.field parameter

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery
PHP Manual

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Maps to stats.field parameter

Описание

public SolrQuery SolrQuery::addStatsField ( string $field )

Maps to stats.field parameter This methods adds another stats.field parameter.

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery


Constructor

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery
PHP Manual

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructor

Описание

SolrQuery::__construct ([ string $q ] )

Constructor.

Список параметров

q

Optional search query

Возвращаемые значения

None

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery


Destructor

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery
PHP Manual

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructor

Описание

public void SolrQuery::__destruct ( void )

Destructor

Список параметров

У этой функции нет параметров.

Возвращаемые значения

None.

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery


Returns the value of the facet parameter

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Returns the value of the facet parameter

Описание

public bool SolrQuery::getFacet ( void )

Returns the value of the facet parameter.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery


Returns the value for the facet.date.end parameter

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter

Описание

public string SolrQuery::getFacetDateEnd ([ string $field_override ] )

Returns the value for the facet.date.end parameter. This method accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery


Returns all the facet.date fields

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery
PHP Manual

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Returns all the facet.date fields

Описание

public array SolrQuery::getFacetDateFields ( void )

Returns all the facet.date fields

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns all the facet.date fields as an array or NULL if none was set

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery


Returns the value of the facet.date.gap parameter

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter

Описание

public string SolrQuery::getFacetDateGap ([ string $field_override ] )

Returns the value of the facet.date.gap parameter. It accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery


Returns the value of the facet.date.hardend parameter

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery
PHP Manual

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter

Описание

public string SolrQuery::getFacetDateHardEnd ([ string $field_override ] )

Returns the value of the facet.date.hardend parameter. Accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery


Returns the value for the facet.date.other parameter

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery
PHP Manual

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter

Описание

public array SolrQuery::getFacetDateOther ([ string $field_override ] )

Returns the value for the facet.date.other parameter. This method accepts an optional field override.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery


Returns the lower bound for the first date range for all date faceting on this field

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field

Описание

public string SolrQuery::getFacetDateStart ([ string $field_override ] )

Returns the lower bound for the first date range for all date faceting on this field. Accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery


Returns all the facet fields

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery
PHP Manual

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Returns all the facet fields

Описание

public array SolrQuery::getFacetFields ( void )

Returns all the facet fields

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array of all the fields and NULL if none was set

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery


Returns the maximum number of constraint counts that should be returned for the facet fields

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery
PHP Manual

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields

Описание

public int SolrQuery::getFacetLimit ([ string $field_override ] )

Returns the maximum number of constraint counts that should be returned for the facet fields. This method accepts an optional field override

Список параметров

field_override

The name of the field to override for

Возвращаемые значения

Returns an integer on success and NULL if not set

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery


Returns the value of the facet.method parameter

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery
PHP Manual

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Returns the value of the facet.method parameter

Описание

public string SolrQuery::getFacetMethod ([ string $field_override ] )

Returns the value of the facet.method parameter. This accepts an optional field override.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery


Returns the minimum counts for facet fields should be included in the response

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery
PHP Manual

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response

Описание

public int SolrQuery::getFacetMinCount ([ string $field_override ] )

Returns the minimum counts for facet fields should be included in the response. It accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns an integer on success and NULL if not set

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery


Returns the current state of the facet.missing parameter

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery
PHP Manual

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter

Описание

public bool SolrQuery::getFacetMissing ([ string $field_override ] )

Returns the current state of the facet.missing parameter. This accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a boolean on success and NULL if not set

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery


Returns an offset into the list of constraints to be used for pagination

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery
PHP Manual

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination

Описание

public int SolrQuery::getFacetOffset ([ string $field_override ] )

Returns an offset into the list of constraints to be used for pagination. Accepts an optional field override

Список параметров

field_override

The name of the field to override for.

Возвращаемые значения

Returns an integer on success and NULL if not set

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery


Returns the facet prefix

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery
PHP Manual

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Returns the facet prefix

Описание

public string SolrQuery::getFacetPrefix ([ string $field_override ] )

Returns the facet prefix

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery


Returns all the facet queries

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery
PHP Manual

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Returns all the facet queries

Описание

public array SolrQuery::getFacetQueries ( void )

Returns all the facet queries

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery


Returns the facet sort type

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery
PHP Manual

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Returns the facet sort type

Описание

public int SolrQuery::getFacetSort ([ string $field_override ] )

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT)

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT) on success or NULL if not set.

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery


Returns the list of fields that will be returned in the response

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery
PHP Manual

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Returns the list of fields that will be returned in the response

Описание

public array SolrQuery::getFields ( void )

Returns the list of fields that will be returned in the response

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery


Returns an array of filter queries

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery
PHP Manual

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Returns an array of filter queries

Описание

public array SolrQuery::getFilterQueries ( void )

Returns an array of filter queries. These are queries that can be used to restrict the super set of documents that can be returned, without influencing score

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery


Returns the state of the hl parameter

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Returns the state of the hl parameter

Описание

public bool SolrQuery::getHighlight ( void )

Returns a boolean indicating whether or not to enable highlighted snippets to be generated in the query response.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery


Returns the highlight field to use as backup or default

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery
PHP Manual

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default

Описание

public string SolrQuery::getHighlightAlternateField ([ string $field_override ] )

Returns the highlight field to use as backup or default. It accepts an optional override.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery


Returns all the fields that Solr should generate highlighted snippets for

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for

Описание

public array SolrQuery::getHighlightFields ( void )

Returns all the fields that Solr should generate highlighted snippets for

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery


Returns the formatter for the highlighted output

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output

Описание

public string SolrQuery::getHighlightFormatter ([ string $field_override ] )

Returns the formatter for the highlighted output

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery


Returns the text snippet generator for highlighted text

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text

Описание

public string SolrQuery::getHighlightFragmenter ([ string $field_override ] )

Returns the text snippet generator for highlighted text. Accepts an optional field override.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery


Returns the number of characters of fragments to consider for highlighting

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting

Описание

public int SolrQuery::getHighlightFragsize ([ string $field_override ] )

Returns the number of characters of fragments to consider for highlighting. Zero implies no fragmenting. The entire field should be used.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns an integer on success or NULL if not set.

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery


Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Описание

public bool SolrQuery::getHighlightHighlightMultiTerm ( void )

Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery


Returns the maximum number of characters of the field to return

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return

Описание

public int SolrQuery::getHighlightMaxAlternateFieldLength ([ string $field_override ] )

Returns the maximum number of characters of the field to return

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery


Returns the maximum number of characters into a document to look for suitable snippets

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets

Описание

public int SolrQuery::getHighlightMaxAnalyzedChars ( void )

Returns the maximum number of characters into a document to look for suitable snippets

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery


Returns whether or not the collapse contiguous fragments into a single fragment

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment

Описание

public bool SolrQuery::getHighlightMergeContiguous ([ string $field_override ] )

Returns whether or not the collapse contiguous fragments into a single fragment. Accepts an optional field override.

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery


Returns the maximum number of characters from a field when using the regex fragmenter

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter

Описание

public int SolrQuery::getHighlightRegexMaxAnalyzedChars ( void )

Returns the maximum number of characters from a field when using the regex fragmenter

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery


Returns the regular expression for fragmenting

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting

Описание

public string SolrQuery::getHighlightRegexPattern ( void )

Returns the regular expression used for fragmenting

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery


Returns the deviation factor from the ideal fragment size

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size

Описание

public float SolrQuery::getHighlightRegexSlop ( void )

Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accomodate the regular expression

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a double on success and NULL if not set.

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery


Returns if a field will only be highlighted if the query matched in this particular field

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field

Описание

public bool SolrQuery::getHighlightRequireFieldMatch ( void )

Returns if a field will only be highlighted if the query matched in this particular field.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery


Returns the text which appears after a highlighted term

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term

Описание

public string SolrQuery::getHighlightSimplePost ([ string $field_override ] )

Returns the text which appears after a highlighted term. Accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery


Returns the text which appears before a highlighted term

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term

Описание

public string SolrQuery::getHighlightSimplePre ([ string $field_override ] )

Returns the text which appears before a highlighted term. Accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery


Returns the maximum number of highlighted snippets to generate per field

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field

Описание

public int SolrQuery::getHighlightSnippets ([ string $field_override ] )

Returns the maximum number of highlighted snippets to generate per field. Accepts an optional field override

Список параметров

field_override

The name of the field

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery


Returns the state of the hl.usePhraseHighlighter parameter

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery
PHP Manual

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter

Описание

public bool SolrQuery::getHighlightUsePhraseHighlighter ( void )

Returns whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery


Returns whether or not MoreLikeThis results should be enabled

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery
PHP Manual

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled

Описание

public bool SolrQuery::getMlt ( void )

Returns whether or not MoreLikeThis results should be enabled

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery


Returns whether or not the query will be boosted by the interesting term relevance

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery
PHP Manual

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance

Описание

public bool SolrQuery::getMltBoost ( void )

Returns whether or not the query will be boosted by the interesting term relevance

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery


Returns the number of similar documents to return for each result

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery
PHP Manual

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Returns the number of similar documents to return for each result

Описание

public int SolrQuery::getMltCount ( void )

Returns the number of similar documents to return for each result

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery


Returns all the fields to use for similarity

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Returns all the fields to use for similarity

Описание

public array SolrQuery::getMltFields ( void )

Returns all the fields to use for similarity

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery


Returns the maximum number of query terms that will be included in any generated query

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query

Описание

public int SolrQuery::getMltMaxNumQueryTerms ( void )

Returns the maximum number of query terms that will be included in any generated query

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery


Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Описание

public int SolrQuery::getMltMaxNumTokens ( void )

Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery


Returns the maximum word length above which words will be ignored

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored

Описание

public int SolrQuery::getMltMaxWordLength ( void )

Returns the maximum word length above which words will be ignored

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery


Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Описание

public int SolrQuery::getMltMinDocFrequency ( void )

Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery


Returns the frequency below which terms will be ignored in the source document

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document

Описание

public int SolrQuery::getMltMinTermFrequency ( void )

Returns the frequency below which terms will be ignored in the source document

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery


Returns the minimum word length below which words will be ignored

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery
PHP Manual

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored

Описание

public int SolrQuery::getMltMinWordLength ( void )

Returns the minimum word length below which words will be ignored

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery


Returns the query fields and their boosts

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery
PHP Manual

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Returns the query fields and their boosts

Описание

public array SolrQuery::getMltQueryFields ( void )

Returns the query fields and their boosts

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery


Returns the main query

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery
PHP Manual

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Returns the main query

Описание

public string SolrQuery::getQuery ( void )

Returns the main search query

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery


Returns the maximum number of documents

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery
PHP Manual

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Returns the maximum number of documents

Описание

public int SolrQuery::getRows ( void )

Returns the maximum number of documents from the complete result set to return to the client for every request

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery


Returns all the sort fields

SolrQuery::getRows
SolrQuery::getStart
SolrQuery
PHP Manual

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Returns all the sort fields

Описание

public array SolrQuery::getSortFields ( void )

Returns all the sort fields

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if none of the parameters was set.

SolrQuery::getRows
SolrQuery::getStart
SolrQuery


Returns the offset in the complete result set

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery
PHP Manual

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Returns the offset in the complete result set

Описание

public int SolrQuery::getStart ( void )

Returns the offset in the complete result set for the queries where the set of returned documents should begin.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery


Returns whether or not stats is enabled

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery
PHP Manual

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Returns whether or not stats is enabled

Описание

public bool SolrQuery::getStats ( void )

Returns whether or not stats is enabled

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery


Returns all the stats facets that were set

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery
PHP Manual

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Returns all the stats facets that were set

Описание

public array SolrQuery::getStatsFacets ( void )

Returns all the stats facets that were set

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery


Returns all the statistics fields

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery
PHP Manual

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Returns all the statistics fields

Описание

public array SolrQuery::getStatsFields ( void )

Returns all the statistics fields

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array on success and NULL if not set.

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery


Returns whether or not the TermsComponent is enabled

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery
PHP Manual

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled

Описание

public bool SolrQuery::getTerms ( void )

Returns whether or not the TermsComponent is enabled

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery


Returns the field from which the terms are retrieved

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Returns the field from which the terms are retrieved

Описание

public string SolrQuery::getTermsField ( void )

Returns the field from which the terms are retrieved

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery


Returns whether or not to include the lower bound in the result set

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set

Описание

public bool SolrQuery::getTermsIncludeLowerBound ( void )

Returns whether or not to include the lower bound in the result set

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery


Returns whether or not to include the upper bound term in the result set

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set

Описание

public bool SolrQuery::getTermsIncludeUpperBound ( void )

Returns whether or not to include the upper bound term in the result set

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery


Returns the maximum number of terms Solr should return

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return

Описание

public int SolrQuery::getTermsLimit ( void )

Returns the maximum number of terms Solr should return

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery


Returns the term to start at

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Returns the term to start at

Описание

public string SolrQuery::getTermsLowerBound ( void )

Returns the term to start at

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery


Returns the maximum document frequency

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery
PHP Manual

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Returns the maximum document frequency

Описание

public int SolrQuery::getTermsMaxCount ( void )

Returns the maximum document frequency

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery


Returns the minimum document frequency to return in order to be included

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery
PHP Manual

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included

Описание

public int SolrQuery::getTermsMinCount ( void )

Returns the minimum document frequency to return in order to be included

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery


Returns the term prefix

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Returns the term prefix

Описание

public string SolrQuery::getTermsPrefix ( void )

Returns the prefix to which matching terms must be restricted. This will restrict matches to only terms that start with the prefix

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery


Whether or not to return raw characters

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery
PHP Manual

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Whether or not to return raw characters

Описание

public bool SolrQuery::getTermsReturnRaw ( void )

Returns a boolean indicating whether or not to return the raw characters of the indexed term, regardless of if it is human readable

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery


Returns an integer indicating how terms are sorted

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted

Описание

public int SolrQuery::getTermsSort ( void )

SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are sorted by term frequency (highest count first)

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an integer on success and NULL if not set.

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery


Returns the term to stop at

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery
PHP Manual

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Returns the term to stop at

Описание

public string SolrQuery::getTermsUpperBound ( void )

Returns the term to stop at

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string on success and NULL if not set.

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery


Returns the time in milliseconds allowed for the query to finish

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery
PHP Manual

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish

Описание

public int SolrQuery::getTimeAllowed ( void )

Returns the time in milliseconds allowed for the query to finish.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns and integer on success and NULL if it is not set.

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery


Removes one of the facet date fields

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery
PHP Manual

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Removes one of the facet date fields

Описание

public SolrQuery SolrQuery::removeFacetDateField ( string $field )

The name of the field

Список параметров

field

The name of the date field to remove

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery


Removes one of the facet.date.other parameters

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery
PHP Manual

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters

Описание

public SolrQuery SolrQuery::removeFacetDateOther ( string $value [, string $field_override ] )

Removes one of the facet.date.other parameters

Список параметров

value

The value

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery


Removes one of the facet.date parameters

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery
PHP Manual

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Removes one of the facet.date parameters

Описание

public SolrQuery SolrQuery::removeFacetField ( string $field )

Removes one of the facet.date parameters

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery


Removes one of the facet.query parameters

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery
PHP Manual

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Removes one of the facet.query parameters

Описание

public SolrQuery SolrQuery::removeFacetQuery ( string $value )

Removes one of the facet.query parameters.

Список параметров

value

The value

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery


Removes a field from the list of fields

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery
PHP Manual

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Removes a field from the list of fields

Описание

public SolrQuery SolrQuery::removeField ( string $field )

Removes a field from the list of fields

Список параметров

field

Name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery


Removes a filter query

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery
PHP Manual

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Removes a filter query

Описание

public SolrQuery SolrQuery::removeFilterQuery ( string $fq )

Removes a filter query.

Список параметров

fq

The filter query to remove

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery


Removes one of the fields used for highlighting

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery
PHP Manual

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Removes one of the fields used for highlighting

Описание

public SolrQuery SolrQuery::removeHighlightField ( string $field )

Removes one of the fields used for highlighting.

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery


Removes one of the moreLikeThis fields

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery
PHP Manual

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Removes one of the moreLikeThis fields

Описание

public SolrQuery SolrQuery::removeMltField ( string $field )

Removes one of the moreLikeThis fields.

Список параметров

field

Name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery


Removes one of the moreLikeThis query fields

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery
PHP Manual

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields

Описание

public SolrQuery SolrQuery::removeMltQueryField ( string $queryField )

Removes one of the moreLikeThis query fields.

Список параметров

queryField

The query field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery


Removes one of the sort fields

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery
PHP Manual

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Removes one of the sort fields

Описание

public SolrQuery SolrQuery::removeSortField ( string $field )

Removes one of the sort fields

Список параметров

field

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery


Removes one of the stats.facet parameters

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery
PHP Manual

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters

Описание

public SolrQuery SolrQuery::removeStatsFacet ( string $value )

Removes one of the stats.facet parameters

Список параметров

value

The value

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery


Removes one of the stats.field parameters

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery
PHP Manual

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Removes one of the stats.field parameters

Описание

public SolrQuery SolrQuery::removeStatsField ( string $field )

Removes one of the stats.field parameters

Список параметров

field

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery


Toggles the echoHandler parameter

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery
PHP Manual

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Toggles the echoHandler parameter

Описание

public SolrQuery SolrQuery::setEchoHandler ( bool $flag )

If set to true, Solr places the name of the handle used in the response to the client for debugging purposes.

Список параметров

flag

TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery


Determines what kind of parameters to include in the response

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery
PHP Manual

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determines what kind of parameters to include in the response

Описание

public SolrQuery SolrQuery::setEchoParams ( string $type )

Instructs Solr what kinds of Request parameters should be included in the response for debugging purposes, legal values include:

- none - don't include any request parameters for debugging
- explicit - include the parameters explicitly specified by the client in the request
- all - include all parameters involved in this request, either specified explicitly by the client, or implicit because of the request handler configuration.

Список параметров

type

The type of parameters to include

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery


Sets the explainOther common query parameter

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery
PHP Manual

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Sets the explainOther common query parameter

Описание

public SolrQuery SolrQuery::setExplainOther ( string $query )

Sets the explainOther common query parameter

Список параметров

query

The Lucene query to identify a set of documents

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery


Maps to the facet parameter. Enables or disables facetting

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting

Описание

public SolrQuery SolrQuery::setFacet ( bool $flag )

Enables or disables faceting.

Список параметров

value

TRUE enables faceting and FALSE disables it.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery


Maps to facet.date.end

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery
PHP Manual

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Maps to facet.date.end

Описание

public SolrQuery SolrQuery::setFacetDateEnd ( string $value [, string $field_override ] )

Maps to facet.date.end

Список параметров

value

See facet.date.end

field_override

Name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery


Maps to facet.date.gap

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Maps to facet.date.gap

Описание

public SolrQuery SolrQuery::setFacetDateGap ( string $value [, string $field_override ] )

Maps to facet.date.gap

Список параметров

value

See facet.date.gap

field_override

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery


Maps to facet.date.hardend

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery
PHP Manual

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend

Описание

public SolrQuery SolrQuery::setFacetDateHardEnd ( bool $value [, string $field_override ] )

Maps to facet.date.hardend

Список параметров

value

See facet.date.hardend

field_override

The name of the field

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery


Maps to facet.date.start

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery
PHP Manual

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Maps to facet.date.start

Описание

public SolrQuery SolrQuery::setFacetDateStart ( string $value [, string $field_override ] )

Maps to facet.date.start

Список параметров

value

See facet.date.start

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery


Sets the minimum document frequency used for determining term count

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery
PHP Manual

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count

Описание

public SolrQuery SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )

Sets the minimum document frequency used for determining term count

Список параметров

value

The minimum frequency

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery


Maps to facet.limit

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery
PHP Manual

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Maps to facet.limit

Описание

public SolrQuery SolrQuery::setFacetLimit ( int $limit [, string $field_override ] )

Maps to facet.limit. Sets the maximum number of constraint counts that should be returned for the facet fields.

Список параметров

limit

The maximum number of constraint counts

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery


Specifies the type of algorithm to use when faceting a field

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery
PHP Manual

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field

Описание

public SolrQuery SolrQuery::setFacetMethod ( string $method [, string $field_override ] )

Specifies the type of algorithm to use when faceting a field. This method accepts optional field override.

Список параметров

method

The method to use.

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery


Maps to facet.mincount

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery
PHP Manual

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Maps to facet.mincount

Описание

public SolrQuery SolrQuery::setFacetMinCount ( int $mincount [, string $field_override ] )

Sets the minimum counts for facet fields that should be included in the response

Список параметров

mincount

The minimum count

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery


Maps to facet.missing

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery
PHP Manual

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Maps to facet.missing

Описание

public SolrQuery SolrQuery::setFacetMissing ( bool $flag [, string $field_override ] )

Used to indicate that in addition to the Term-based constraints of a facet field, a count of all matching results which have no value for the field should be computed

Список параметров

flag

TRUE turns this feature on. FALSE disables it.

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery


Sets the offset into the list of constraints to allow for pagination

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery
PHP Manual

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination

Описание

public SolrQuery SolrQuery::setFacetOffset ( int $offset [, string $field_override ] )

Sets the offset into the list of constraints to allow for pagination.

Список параметров

offset

The offset

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery


Specifies a string prefix with which to limits the terms on which to facet

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery
PHP Manual

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet

Описание

public SolrQuery SolrQuery::setFacetPrefix ( string $prefix [, string $field_override ] )

Specifies a string prefix with which to limits the terms on which to facet.

Список параметров

prefix

The prefix string

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery


Determines the ordering of the facet field constraints

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery
PHP Manual

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determines the ordering of the facet field constraints

Описание

public SolrQuery SolrQuery::setFacetSort ( int $facetSort [, string $field_override ] )

Determines the ordering of the facet field constraints

Список параметров

facetSort

Use SolrQuery::FACET_SORT_INDEX for sorting by index order or SolrQuery::FACET_SORT_COUNT for sorting by count.

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery


Enables or disables highlighting

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Enables or disables highlighting

Описание

public SolrQuery SolrQuery::setHighlight ( bool $flag )

Setting it to TRUE enables highlighted snippets to be generated in the query response.

Setting it to FALSE disables highlighting

Список параметров

flag

Enable or disable highlighting

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery


Specifies the backup field to use

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Specifies the backup field to use

Описание

public SolrQuery SolrQuery::setHighlightAlternateField ( string $field [, string $field_override ] )

If a snippet cannot be generated because there were no matching terms, one can specify a field to use as the backup or default summary

Список параметров

field

The name of the backup field

field_override

The name of the field we are overriding this setting for.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery


Specify a formatter for the highlight output

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output

Описание

public SolrQuery SolrQuery::setHighlightFormatter ( string $formatter [, string $field_override ] )

Specify a formatter for the highlight output.

Список параметров

formatter

Currently the only legal value is "simple"

field_override

The name of the field.

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery


Sets a text snippet generator for highlighted text

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text

Описание

public SolrQuery SolrQuery::setHighlightFragmenter ( string $fragmenter [, string $field_override ] )

Specify a text snippet generator for highlighted text.

Список параметров

fragmenter

The standard fragmenter is gap. Another option is regex, which tries to create fragments that resembles a certain regular expression

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery


The size of fragments to consider for highlighting

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting

Описание

public SolrQuery SolrQuery::setHighlightFragsize ( int $size [, string $field_override ] )

Sets the size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).

Список параметров

size

The size, in characters, of fragments to consider for highlighting

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery


Use SpanScorer to highlight phrase terms

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms

Описание

public SolrQuery SolrQuery::setHighlightHighlightMultiTerm ( bool $flag )

Use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Список параметров

flag

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery


Sets the maximum number of characters of the field to return

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return

Описание

public SolrQuery SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )

If SolrQuery::setHighlightAlternateField() was passed the value TRUE, this parameter specifies the maximum number of characters of the field to return

Any value less than or equal to 0 means unlimited.

Список параметров

fieldLength

The length of the field

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery


Specifies the number of characters into a document to look for suitable snippets

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets

Описание

public SolrQuery SolrQuery::setHighlightMaxAnalyzedChars ( int $value )

Specifies the number of characters into a document to look for suitable snippets

Список параметров

value

The number of characters into a document to look for suitable snippets

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery


Whether or not to collapse contiguous fragments into a single fragment

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment

Описание

public SolrQuery SolrQuery::setHighlightMergeContiguous ( bool $flag [, string $field_override ] )

Whether or not to collapse contiguous fragments into a single fragment

Список параметров

value

Whether or not to collapse contiguous fragments into a single fragment

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery


Specify the maximum number of characters to analyze

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze

Описание

public SolrQuery SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )

Specify the maximum number of characters to analyze from a field when using the regex fragmenter

Список параметров

maxAnalyzedChars

The maximum number of characters to analyze from a field when using the regex fragmenter

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery


Specify the regular expression for fragmenting

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting

Описание

public SolrQuery SolrQuery::setHighlightRegexPattern ( string $value )

Specifies the regular expression for fragmenting. This could be used to extract sentences

Список параметров

value

The regular expression for fragmenting. This could be used to extract sentences

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery


Sets the factor by which the regex fragmenter can stray from the ideal fragment size

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size

Описание

public SolrQuery SolrQuery::setHighlightRegexSlop ( float $factor )

The factor by which the regex fragmenter can stray from the ideal fragment size ( specfied by SolrQuery::setHighlightFragsize )to accomodate the regular expression

Список параметров

factor

The factor by which the regex fragmenter can stray from the ideal fragment size

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery


Require field matching during highlighting

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting

Описание

public SolrQuery SolrQuery::setHighlightRequireFieldMatch ( bool $flag )

If TRUE, then a field will only be highlighted if the query matched in this particular field.

This will only work if SolrQuery::setHighlightUsePhraseHighlighter() was set to TRUE

Список параметров

flag

TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery


Sets the text which appears after a highlighted term

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term

Описание

public SolrQuery SolrQuery::setHighlightSimplePost ( string $simplePost [, string $field_override ] )

Sets the text which appears before a highlighted term

Список параметров

simplePost

Sets the text which appears after a highlighted term

The default is </em>

field_override

The name of the field.

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery


Sets the text which appears before a highlighted term

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term

Описание

public SolrQuery SolrQuery::setHighlightSimplePre ( string $simplePre [, string $field_override ] )

Sets the text which appears before a highlighted term

The default is <em>

Список параметров

simplePre

The text which appears before a highlighted term

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery


Sets the maximum number of highlighted snippets to generate per field

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field

Описание

public SolrQuery SolrQuery::setHighlightSnippets ( int $value [, string $field_override ] )

Sets the maximum number of highlighted snippets to generate per field

Список параметров

value

The maximum number of highlighted snippets to generate per field

field_override

The name of the field.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery


Whether to highlight phrase terms only when they appear within the query phrase

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery
PHP Manual

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase

Описание

public SolrQuery SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag )

Sets whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Список параметров

value

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery


Enables or disables moreLikeThis

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery
PHP Manual

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Enables or disables moreLikeThis

Описание

public SolrQuery SolrQuery::setMlt ( bool $flag )

Enables or disables moreLikeThis

Список параметров

flag

TRUE enables it and FALSE turns it off.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery


Set if the query will be boosted by the interesting term relevance

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery
PHP Manual

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance

Описание

public SolrQuery SolrQuery::setMltBoost ( bool $flag )

Set if the query will be boosted by the interesting term relevance

Список параметров

value

Sets to TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery


Set the number of similar documents to return for each result

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Set the number of similar documents to return for each result

Описание

public SolrQuery SolrQuery::setMltCount ( int $count )

Set the number of similar documents to return for each result

Список параметров

count

The number of similar documents to return for each result

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery


Sets the maximum number of query terms included

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included

Описание

public SolrQuery SolrQuery::setMltMaxNumQueryTerms ( int $value )

Sets the maximum number of query terms that will be included in any generated query.

Список параметров

value

The maximum number of query terms that will be included in any generated query

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery


Specifies the maximum number of tokens to parse

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse

Описание

public SolrQuery SolrQuery::setMltMaxNumTokens ( int $value )

Specifies the maximum number of tokens to parse in each example doc field that is not stored with TermVector support.

Список параметров

value

The maximum number of tokens to parse

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery


Sets the maximum word length

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Sets the maximum word length

Описание

public SolrQuery SolrQuery::setMltMaxWordLength ( int $maxWordLength )

Sets the maximum word length above which words will be ignored.

Список параметров

maxWordLength

The maximum word length above which words will be ignored

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery


Sets the mltMinDoc frequency

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency

Описание

public SolrQuery SolrQuery::setMltMinDocFrequency ( int $minDocFrequency )

The frequency at which words will be ignored which do not occur in at least this many docs.

Список параметров

minDocFrequency

Sets the frequency at which words will be ignored which do not occur in at least this many docs.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery


Sets the frequency below which terms will be ignored in the source docs

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs

Описание

public SolrQuery SolrQuery::setMltMinTermFrequency ( int $minTermFrequency )

Sets the frequency below which terms will be ignored in the source docs

Список параметров

minTermFrequency

The frequency below which terms will be ignored in the source docs

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery


Sets the minimum word length

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery
PHP Manual

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Sets the minimum word length

Описание

public SolrQuery SolrQuery::setMltMinWordLength ( int $minWordLength )

Sets the minimum word length below which words will be ignored.

Список параметров

minWordLength

The minimum word length below which words will be ignored

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery


Exclude the header from the returned results

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery
PHP Manual

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Exclude the header from the returned results

Описание

public SolrQuery SolrQuery::setOmitHeader ( bool $flag )

Exclude the header from the returned results.

Список параметров

flag

TRUE excludes the header from the result.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery


Sets the search query

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery
PHP Manual

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Sets the search query

Описание

public SolrQuery SolrQuery::setQuery ( string $query )

Sets the search query.

Список параметров

query

The search query

Возвращаемые значения

Returns the current SolrQuery object

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery


Specifies the maximum number of rows to return in the result

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery
PHP Manual

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Specifies the maximum number of rows to return in the result

Описание

public SolrQuery SolrQuery::setRows ( int $rows )

Specifies the maximum number of rows to return in the result

Список параметров

rows

The maximum number of rows to return

Возвращаемые значения

Returns the current SolrQuery object.

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery


Flag to show debug information

SolrQuery::setRows
SolrQuery::setStart
SolrQuery
PHP Manual

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Flag to show debug information

Описание

public SolrQuery SolrQuery::setShowDebugInfo ( bool $flag )

Whether to show debug info

Список параметров

flag

Whether to show debug info. TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setRows
SolrQuery::setStart
SolrQuery


Specifies the number of rows to skip

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery
PHP Manual

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Specifies the number of rows to skip

Описание

public SolrQuery SolrQuery::setStart ( int $start )

Specifies the number of rows to skip. Useful in pagination of results.

Список параметров

start

The number of rows to skip.

Возвращаемые значения

Returns the current SolrQuery object.

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery


Enables or disables the Stats component

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery
PHP Manual

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Enables or disables the Stats component

Описание

public SolrQuery SolrQuery::setStats ( bool $flag )

Enables or disables the Stats component.

Список параметров

flag

TRUE turns on the stats component and FALSE disables it.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery


Enables or disables the TermsComponent

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery
PHP Manual

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Enables or disables the TermsComponent

Описание

public SolrQuery SolrQuery::setTerms ( bool $flag )

Enables or disables the TermsComponent

Список параметров

flag

TRUE enables it. FALSE turns it off

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery


Sets the name of the field to get the Terms from

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Sets the name of the field to get the Terms from

Описание

public SolrQuery SolrQuery::setTermsField ( string $fieldname )

Sets the name of the field to get the terms from

Список параметров

fieldname

The field name

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery


Include the lower bound term in the result set

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set

Описание

public SolrQuery SolrQuery::setTermsIncludeLowerBound ( bool $flag )

Include the lower bound term in the result set.

Список параметров

flag

Include the lower bound term in the result set

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery


Include the upper bound term in the result set

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set

Описание

public SolrQuery SolrQuery::setTermsIncludeUpperBound ( bool $flag )

Include the upper bound term in the result set.

Список параметров

flag

TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery


Sets the maximum number of terms to return

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Sets the maximum number of terms to return

Описание

public SolrQuery SolrQuery::setTermsLimit ( int $limit )

Sets the maximum number of terms to return

Список параметров

limit

The maximum number of terms to return. All the terms will be returned if the limit is negative.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery


Specifies the Term to start from

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Specifies the Term to start from

Описание

public SolrQuery SolrQuery::setTermsLowerBound ( string $lowerBound )

Specifies the Term to start from

Список параметров

lowerBound

The lower bound Term

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery


Sets the maximum document frequency

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery
PHP Manual

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Sets the maximum document frequency

Описание

public SolrQuery SolrQuery::setTermsMaxCount ( int $frequency )

Sets the maximum document frequency.

Список параметров

frequency

The maximum document frequency.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery


Sets the minimum document frequency

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery
PHP Manual

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Sets the minimum document frequency

Описание

public SolrQuery SolrQuery::setTermsMinCount ( int $frequency )

Sets the minimum doc frequency to return in order to be included

Список параметров

frequency

The minimum frequency

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery


Restrict matches to terms that start with the prefix

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix

Описание

public SolrQuery SolrQuery::setTermsPrefix ( string $prefix )

Restrict matches to terms that start with the prefix

Список параметров

prefix

Restrict matches to terms that start with the prefix

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery


Return the raw characters of the indexed term

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery
PHP Manual

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term

Описание

public SolrQuery SolrQuery::setTermsReturnRaw ( bool $flag )

If true, return the raw characters of the indexed term, regardless of if it is human readable

Список параметров

value

TRUE or FALSE

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery


Specifies how to sort the returned terms

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Specifies how to sort the returned terms

Описание

public SolrQuery SolrQuery::setTermsSort ( int $sortType )

If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the terms in index order

Список параметров

sortType

SolrQuery::TERMS_SORT_INDEX or SolrQuery::TERMS_SORT_COUNT

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery


Sets the term to stop at

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery
PHP Manual

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Sets the term to stop at

Описание

public SolrQuery SolrQuery::setTermsUpperBound ( string $upperBound )

Sets the term to stop at

Список параметров

upperBound

The term to stop at

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery


The time allowed for search to finish

SolrQuery::setTermsUpperBound
SolrException
SolrQuery
PHP Manual

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — The time allowed for search to finish

Описание

public SolrQuery SolrQuery::setTimeAllowed ( int $timeAllowed )

The time allowed for a search to finish. This value only applies to the search and not to requests in general. Time is in milliseconds. Values less than or equal to zero implies no time restriction. Partial results may be returned, if there are any.

Список параметров

timeAllowed

The time allowed for a search to finish.

Возвращаемые значения

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsUpperBound
SolrException
SolrQuery


The SolrException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This is the base class for all exception thrown by the Solr extension classes.

Обзор классов

SolrException extends Exception {
/* Свойства */
protected integer $SolrException->sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Методы */
public array SolrException::getInternalInfo ( void )
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Содержание

  • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
SolrQuery::setTimeAllowed
SolrException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrException
SolrClientException
SolrException
PHP Manual

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Returns internal information where the Exception was thrown

Описание

public array SolrException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrException
SolrClientException
SolrException


The SolrClientException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

An exception thrown when there is an error while making a request to the server from the client.

Обзор классов

SolrClientException extends SolrException {
/* Свойства */
/* Методы */
public array getInternalInfo ( void )
/* Наследуемые методы */
public array SolrException::getInternalInfo ( void )
}

Свойства

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Содержание

  • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
SolrException::getInternalInfo
SolrClientException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrClientException
SolrIllegalArgumentException
SolrClientException
PHP Manual

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown

Описание

public array SolrClientException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrClientException
SolrIllegalArgumentException
SolrClientException


The SolrIllegalArgumentException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This object is thrown when an illeglal or invalid argument is passed to a method.

Обзор классов

SolrIllegalArgumentException extends SolrException {
/* Свойства */
/* Методы */
public array getInternalInfo ( void )
/* Наследуемые методы */
public array SolrException::getInternalInfo ( void )
}

Свойства

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Содержание

  • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
SolrClientException::getInternalInfo
SolrIllegalArgumentException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException
PHP Manual

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown

Описание

public array SolrIllegalArgumentException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException


The SolrIllegalOperationException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This object is thrown when an illegal or unsupported operation is performed on an object.

Обзор классов

SolrIllegalOperationException extends SolrException {
/* Свойства */
/* Методы */
public array getInternalInfo ( void )
/* Наследуемые методы */
public array SolrException::getInternalInfo ( void )
}

Свойства

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Содержание

  • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
SolrIllegalArgumentException::getInternalInfo
SolrIllegalOperationException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrIllegalOperationException
Sphinx
SolrIllegalOperationException
PHP Manual

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown

Описание

public array SolrIllegalOperationException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrIllegalOperationException
Sphinx
SolrIllegalOperationException


Клиент Sphinx

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • SphinxClient — Класс SphinxClient
    • SphinxClient::addQuery — Добавление запроса к очереди запросов
    • SphinxClient::buildExcerpts — Построение текстовых фрагментов
    • SphinxClient::buildKeywords — Извлечение ключевых слов из запроса
    • SphinxClient::close — Закрытие ранее открытого постоянного соединения
    • SphinxClient::__construct — Создание нового объекта SphinxClient
    • SphinxClient::escapeString — Экранирование спецсимволов
    • SphinxClient::getLastError — Получение последнего сообщения об ошибке
    • SphinxClient::getLastWarning — Получение последнего предупреждения
    • SphinxClient::open — Создание постоянного подключения к серверу
    • SphinxClient::query — Выполнение поискового запроса
    • SphinxClient::resetFilters — Обнуление всех фильтров
    • SphinxClient::resetGroupBy — Сброс всех настроек группировок
    • SphinxClient::runQueries — Выполнение набора поисковых запросов
    • SphinxClient::setArrayResult — Изменение формата массива с набором результатов запроса
    • SphinxClient::setConnectTimeout — Установка таймаута соединения
    • SphinxClient::setFieldWeights — Установка весовых коэффициентов полей
    • SphinxClient::setFilter — Добавление фильтра по типу поля integer
    • SphinxClient::setFilterFloatRange — Добавление фильтра по диапазону значений (для поля типа float)
    • SphinxClient::setFilterRange — Добавление фильтра по диапазону значений (для поля типа integer)
    • SphinxClient::setGeoAnchor — Установка опорной точки для рассчета географической удаленности
    • SphinxClient::setGroupBy — Установка аттрибута группировки
    • SphinxClient::setGroupDistinct — Установка названия аттрибута для расчета количества уникальных значений при группировке
    • SphinxClient::setIDRange — Установка диапазона значений допустимых ID документов
    • SphinxClient::setIndexWeights — Установка весовых коэффициентов индексов
    • SphinxClient::setLimits — Установка смещения и предельного числа значений для набора результатов
    • SphinxClient::setMatchMode — Установка режима совпадения при полнотекстовом поиске
    • SphinxClient::setMaxQueryTime — Установка максимального времени выполнения запроса
    • SphinxClient::setOverride — Временное переопределение значений атрибута для документов
    • SphinxClient::setRankingMode — Установка режима ранжирования
    • SphinxClient::setRetries — Установка количества повторных попыток и задержки между ними
    • SphinxClient::setSelect — Установка условия выборки
    • SphinxClient::setServer — Установка хоста и порта searchd
    • SphinxClient::setSortMode — Установка режима сортировки результатов
    • SphinxClient::status — Запрос статуса searchd
    • SphinxClient::updateAttributes — Обновление аттрибутов документа
SolrIllegalOperationException::getInternalInfo
Введение
Расширения для работы с поисковыми системами


Введение

Это расширение предоставляет интерфейс для работы с клиентской библиотекой Sphinx. Sphinx - это поисковый движок, позволяющий производить быстрый, эффективный на больших объемах и релевантный полнотекстовый поиск в ваших приложениях. Sphinx был специально разработан для хорошей интеграции с реляционными базами данных и скриптовыми языками программирования. Как Sphinx, так и клиентская библиотека могут быть получены с » официального сайта

Sphinx
Установка и настройка
Sphinx


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Sphinx


Требования

PECL/sphinx требует версию PHP не ниже 5.2.2.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/sphinx.

Если скрипт ./configure, сгенерированный с помощью phpize, не может найти файлы libsphinxclient files (например, в случае их установки не в директорию по умолчанию), воспользуйтесь командой ./configure --with-sphinx=$PREFIX, где $PREFIX - путь к libsphinxclient.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SEARCHD_OK (integer)
SEARCHD_ERROR (integer)
SEARCHD_RETRY (integer)
SEARCHD_WARNING (integer)
SPH_MATCH_ALL (integer)
SPH_MATCH_ANY (integer)
SPH_MATCH_PHRASE (integer)
SPH_MATCH_BOOLEAN (integer)
SPH_MATCH_EXTENDED (integer)
SPH_MATCH_FULLSCAN (integer)
SPH_MATCH_EXTENDED2 (integer)
SPH_RANK_PROXIMITY_BM25 (integer)
SPH_RANK_BM25 (integer)
SPH_RANK_NONE (integer)
SPH_RANK_WORDCOUNT (integer)
SPH_SORT_RELEVANCE (integer)
SPH_SORT_ATTR_DESC (integer)
SPH_SORT_ATTR_ASC (integer)
SPH_SORT_TIME_SEGMENTS (integer)
SPH_SORT_EXTENDED (integer)
SPH_SORT_EXPR (integer)
SPH_FILTER_VALUES (integer)
SPH_FILTER_RANGE (integer)
SPH_FILTER_FLOATRANGE (integer)
SPH_ATTR_INTEGER (integer)
SPH_ATTR_TIMESTAMP (integer)
SPH_ATTR_ORDINAL (integer)
SPH_ATTR_BOOL (integer)
SPH_ATTR_FLOAT (integer)
SPH_ATTR_MULTI (integer)
SPH_GROUPBY_DAY (integer)
SPH_GROUPBY_WEEK (integer)
SPH_GROUPBY_MONTH (integer)
SPH_GROUPBY_YEAR (integer)
SPH_GROUPBY_ATTR (integer)
SPH_GROUPBY_ATTRPAIR (integer)

Типы ресурсов
Примеры
Sphinx


Примеры

Пример #1 Примеры использования

<?php

$s = new SphinxClient;
$s->setServer("localhost", 6712);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

?>

Результатом выполнения данного примера будет что-то подобное:

array(10) {
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  ["fields"]=>
  array(3) {
    [0]=>
    string(7) "subject"
    [1]=>
    string(4) "body"
    [2]=>
    string(6) "author"
  }
  ["attrs"]=>
  array(0) {
  }
  ["matches"]=>
  array(1) {
    [3]=>
    array(2) {
      ["weight"]=>
      int(1)
      ["attrs"]=>
      array(0) {
      }
    }
  }
  ["total"]=>
  int(1)
  ["total_found"]=>
  int(1)
  ["time"]=>
  float(0)
  ["words"]=>
  array(1) {
    ["to"]=>
    array(2) {
      ["docs"]=>
      int(1)
      ["hits"]=>
      int(1)
    }
  }
}
Предопределенные константы
SphinxClient
Sphinx


Класс SphinxClient

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс SphinxClient предоставляет объектно-ориентированный интерфейс к Sphinx.

Обзор классов

SphinxClient {
/* Методы */
public int addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )
public array buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )
public array buildKeywords ( string $query , string $index , bool $hits )
public bool close ( void )
__construct ( void )
public string escapeString ( string $string )
public string getLastError ( void )
public string getLastWarning ( void )
public bool open ( void )
public array query ( string $query [, string $index = "*" [, string $comment = "" ]] )
public void resetFilters ( void )
public void resetGroupBy ( void )
public array runQueries ( void )
public bool setArrayResult ( bool $array_result = false )
public bool setConnectTimeout ( float $timeout )
public bool setFieldWeights ( array $weights )
public bool setFilter ( string $attribute , array $values [, bool $exclude = false ] )
public bool setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )
public bool setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )
public bool setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )
public bool setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )
public bool setGroupDistinct ( string $attribute )
public bool setIDRange ( int $min , int $max )
public bool setIndexWeights ( array $weights )
public bool setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )
public bool setMatchMode ( int $mode )
public bool setMaxQueryTime ( int $qtime )
public bool setOverride ( string $attribute , int $type , array $values )
public bool setRankingMode ( int $ranker )
public bool setRetries ( int $count [, int $delay = 0 ] )
public bool setSelect ( string $clause )
public bool setServer ( string $server , int $port )
public bool setSortMode ( int $mode [, string $sortby ] )
public array status ( void )
public int updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )
}

Содержание

  • SphinxClient::addQuery — Добавление запроса к очереди запросов
  • SphinxClient::buildExcerpts — Построение текстовых фрагментов
  • SphinxClient::buildKeywords — Извлечение ключевых слов из запроса
  • SphinxClient::close — Закрытие ранее открытого постоянного соединения
  • SphinxClient::__construct — Создание нового объекта SphinxClient
  • SphinxClient::escapeString — Экранирование спецсимволов
  • SphinxClient::getLastError — Получение последнего сообщения об ошибке
  • SphinxClient::getLastWarning — Получение последнего предупреждения
  • SphinxClient::open — Создание постоянного подключения к серверу
  • SphinxClient::query — Выполнение поискового запроса
  • SphinxClient::resetFilters — Обнуление всех фильтров
  • SphinxClient::resetGroupBy — Сброс всех настроек группировок
  • SphinxClient::runQueries — Выполнение набора поисковых запросов
  • SphinxClient::setArrayResult — Изменение формата массива с набором результатов запроса
  • SphinxClient::setConnectTimeout — Установка таймаута соединения
  • SphinxClient::setFieldWeights — Установка весовых коэффициентов полей
  • SphinxClient::setFilter — Добавление фильтра по типу поля integer
  • SphinxClient::setFilterFloatRange — Добавление фильтра по диапазону значений (для поля типа float)
  • SphinxClient::setFilterRange — Добавление фильтра по диапазону значений (для поля типа integer)
  • SphinxClient::setGeoAnchor — Установка опорной точки для рассчета географической удаленности
  • SphinxClient::setGroupBy — Установка аттрибута группировки
  • SphinxClient::setGroupDistinct — Установка названия аттрибута для расчета количества уникальных значений при группировке
  • SphinxClient::setIDRange — Установка диапазона значений допустимых ID документов
  • SphinxClient::setIndexWeights — Установка весовых коэффициентов индексов
  • SphinxClient::setLimits — Установка смещения и предельного числа значений для набора результатов
  • SphinxClient::setMatchMode — Установка режима совпадения при полнотекстовом поиске
  • SphinxClient::setMaxQueryTime — Установка максимального времени выполнения запроса
  • SphinxClient::setOverride — Временное переопределение значений атрибута для документов
  • SphinxClient::setRankingMode — Установка режима ранжирования
  • SphinxClient::setRetries — Установка количества повторных попыток и задержки между ними
  • SphinxClient::setSelect — Установка условия выборки
  • SphinxClient::setServer — Установка хоста и порта searchd
  • SphinxClient::setSortMode — Установка режима сортировки результатов
  • SphinxClient::status — Запрос статуса searchd
  • SphinxClient::updateAttributes — Обновление аттрибутов документа
Примеры
SphinxClient::addQuery
Sphinx


Добавление запроса к очереди запросов

SphinxClient
SphinxClient::buildExcerpts
SphinxClient
PHP Manual

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Добавление запроса к очереди запросов

Описание

public int SphinxClient::addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )

Добавляет запрос с текущими настройками к очереди запросов. Этот метод никак не влияет на некущие настройки (сортировка, фильтрация, группировка и т.п.).

Список параметров

query

Строка запроса.

index

Название индекса (или названия).

comment

Возвращаемые значения

Возвращает индекс массива результатов, который будет возвращен с помощью SphinxClient::runQueries или false в случае ошибки.

Смотрите также

  • SphinxClient::runQueries
  • SphinxClient::query

SphinxClient
SphinxClient::buildExcerpts
SphinxClient


Построение текстовых фрагментов

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient
PHP Manual

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Построение текстовых фрагментов

Описание

public array SphinxClient::buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )

Подключается к searchd и отправляет запрос на генерацию фрагментов указанных документов, и возвращает результаты.

Список параметров

docs

Массив строк с содержимым документов.

index

Название индекса.

words

Ключевые слова, которые необходимо подсветить.

opts

Ассоциативный массив с дополнительными параметрами подсветки (см. ниже).

Параметры подсветки
Параметр | Описание
"before_match" | Строка, вставляемая перед ключевым словом. По умолчанию "<b>".
"after_match" | Строка, вставляемая после ключевого слова. По умолчанию "</b>".
"chunk_separator" | Строка, вставляемая между частями фрагмента. по умолчанию " ... ".
"limit" | Максимальный размер фрагмента в символах. Integer, по умолчанию 256.
"around" | Сколько слов необходимо выбрать вокруг каждого совпадающего с ключевыми словами блока. Integer, по умолчанию 5.
"exact_phrase" | Необходимо ли подсвечивать только точное совпадение с поисковой фразой, а не отдельные ключенвые слова. Boolean, по умолчанию FALSE.
"single_passage" | Необходимо ли извлечь только единичный наиболее подходящий фрагмент. Boolean, по умолчанию FALSE.

Возвращаемые значения

При успехе возвращает массив фрагментов. или FALSE в случае возникновения ошибки.

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient


Извлечение ключевых слов из запроса

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient
PHP Manual

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Извлечение ключевых слов из запроса

Описание

public array SphinxClient::buildKeywords ( string $query , string $index , bool $hits )

Извлекает ключевые слова из query, используя настройки tokenizer (лексера) для указанного index, опционально с частотной статистикой по ключевым словам.

Список параметров

query

Запрос для извлечения ключевых слов.

index

Индекс для получения настроек tokenizer (лексера) и частотной статистики ключевых слов.

hits

Бинарный флаг, включающий/выключающий генерацию статистики ключевых слов.

Возвращаемые значения

Возвращает массив ассоциативных массивов с информацией по каждому ключевому слову.

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient


Закрытие ранее открытого постоянного соединения

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient
PHP Manual

SphinxClient::close

(PECL sphinx >= 1.0.3)

SphinxClient::close — Закрытие ранее открытого постоянного соединения

Описание

public bool SphinxClient::close ( void )

Закрывает ранее открытое постоянное соединение.

Список параметров

У этой функции нет параметров.

Список изменений

PECL/sphinx Версия | Описание
1.0.3 | Добавлен метод SphinxClient::close(). Доступен только если модуль cкомпилирован с версией libsphinxclient >= 0.9.9.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::open

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient


Создание нового объекта SphinxClient

SphinxClient::close
SphinxClient::escapeString
SphinxClient
PHP Manual

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Создание нового объекта SphinxClient

Описание

SphinxClient::__construct ( void )

Создает новый объект SphinxClient.

Список параметров

У этой функции нет параметров.

SphinxClient::close
SphinxClient::escapeString
SphinxClient


Экранирование спецсимволов

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient
PHP Manual

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Экранирование спецсимволов

Описание

public string SphinxClient::escapeString ( string $string )

Экранирует символы, которые воспринимаются как специальные операторы парсером запроса.

Список параметров

string

Строка для экранирования.

Возвращаемые значения

Возвращает экранированную строку.

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient


Получение последнего сообщения об ошибке

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient
PHP Manual

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Получение последнего сообщения об ошибке

Описание

public string SphinxClient::getLastError ( void )

Возвращает строку, содержащую последнее сообщение об ошибке. Если во время предыдущего вызова API ошибок не было, возвращается пустая строка. Этот метод не обнуляет сообщение об ошибке, таким образом, его можно вызывать несколько раз.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает последнее сообщение об ошибке или пустую строку в случае их отсутствия.

Смотрите также

  • SphinxClient::getLastWarning

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient


Получение последнего предупреждения

SphinxClient::getLastError
SphinxClient::open
SphinxClient
PHP Manual

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Получение последнего предупреждения

Описание

public string SphinxClient::getLastWarning ( void )

Возвращает последнее сообщение с предупреждением. Если во время предыдущего вызова API предупреждений не было, возвращается пустая строка. Этот метод не обнуляет сообщение о предупреждении, таким образом, его можно вызывать несколько раз.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает последнее сообщение с предупреждением или пустую строку, если предупреждений не было.

Смотрите также

  • SphinxClient::getLastError

SphinxClient::getLastError
SphinxClient::open
SphinxClient


Создание постоянного подключения к серверу

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient
PHP Manual

SphinxClient::open

(PECL sphinx >= 1.0.3)

SphinxClient::open — Создание постоянного подключения к серверу

Описание

public bool SphinxClient::open ( void )

Создает постоянное подключение к серверу.

Список параметров

У этой функции нет параметров.

Список изменений

PECL/sphinx Версия | Описание
1.0.3 | Добавлен метод SphinxClient::open(), доступен только если модуль скомпилирован с версией libsphinxclient >= 0.9.9.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::close

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient


Выполнение поискового запроса

SphinxClient::open
SphinxClient::resetFilters
SphinxClient
PHP Manual

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Выполнение поискового запроса

Описание

public array SphinxClient::query ( string $query [, string $index = "*" [, string $comment = "" ]] )

Подключается к серверу searchd, выполняет указанный поисковый запрос с текущими настройками, получает и возвращает набор результатов.

Список параметров

query

Строка запроса.

index

Название индекса (или множество названий).

comment

Возвращаемые значения

При успехе SphinxClient::query() возвращает список найденных совпадений и дополнительную статистику по запросу. Набор результатов - это (если не указано иное) ассоциативный массив со следующими ключами и значениями:

Структура набора результатов
Ключ | Описание значения
"matches" | Массив с ID найденных документов в качестве ключей и их весами и аттрибутами в качестве значений.
"total" | Общее число найденных и полученных совпадений (зависит от ваших настроек).
"total_found" | Общее число найденных документов, удовлетворяющих запросу.
"words" | Массив со словами (приведенными к одному регистру и словоформе) в качестве ключей и статистика по этим словам в качестве значений.
"error" | Ошибка запроса, полученная от searchd
"warning" | Предупреждение, полученное от searchd

Смотрите также

  • SphinxClient::runQueries
  • SphinxClient::addQuery

SphinxClient::open
SphinxClient::resetFilters
SphinxClient


Обнуление всех фильтров

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient
PHP Manual

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Обнуление всех фильтров

Описание

public void SphinxClient::resetFilters ( void )

Обнуляет все выставленные на данный момент фильтры. Вызов этого метота обычно требуется при использовании очереди запросов. При необходимости установки различных фильтров для различных запросов в очереди следует вызвать SphinxClient::resetFilters() и добавить новые фильтмы, используя соответствующие вызовы.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SphinxClient::resetGroupBy

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient


Сброс всех настроек группировок

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient
PHP Manual

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Сброс всех настроек группировок

Описание

public void SphinxClient::resetGroupBy ( void )

Очищает все текущие настройки группировок и отключает группировку. Этот запрос обычно требуется только при использовании очереди запросов.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SphinxClient::resetGroupBy

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient


Выполнение набора поисковых запросов

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient
PHP Manual

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Выполнение набора поисковых запросов

Описание

public array SphinxClient::runQueries ( void )

Подключается к searchd, выполняет набор из всех запросов, добавленных с помощью SphinxClient::addQuery, получает и возвращает набор результатов.

Возвращаемые значения

Возвращает FALSE в случае неудачи или массив с набором результатов в случае успеха.

Смотрите также

  • SphinxClient::addQuery
  • SphinxClient::query

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient


Изменение формата массива с набором результатов запроса

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient
PHP Manual

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Изменение формата массива с набором результатов запроса

Описание

public bool SphinxClient::setArrayResult ( bool $array_result = false )

Контролирует формат массивов с наборами результатов запроса (должны ли результаты быть возвращены в виде обычного массива или же ассоциативного).

Список параметров

array_result

Если array_result установлен как FALSE, результаты возвращаются в виде ассоциативного массива, с идентификаторами документов в качестве ключей, и остальной информацией (веса, аттрибуты) в качестве значений. Если array_result установлен как TRUE, результаты возвращаются в виде обычного массива с полной информацией по совпадениям, включая идентификаторы документов.

Возвращаемые значения

Всегда возвращает TRUE.

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient


Установка таймаута соединения

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient
PHP Manual

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Установка таймаута соединения

Описание

public bool SphinxClient::setConnectTimeout ( float $timeout )

Устанавливает таймаут (в секундах) на соединение к searchd.

Список параметров

timeout

Таймаут в секундах.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMaxQueryTime

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient


Установка весовых коэффициентов полей

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient
PHP Manual

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Установка весовых коэффициентов полей

Описание

public bool SphinxClient::setFieldWeights ( array $weights )

Связывает весовые коэффициенты полей с их названиями.

Ранжирование результатов может основываться на весовых коэффициентах полей. В » документации Sphinx описано, как именно влияет на веса близость фразы к поисковой. Этот запрос позволяет вам указать веса не по умолчанию для полнотекстовых полей.

Веса должна быть положительными 32-битными integer, будьте внимательны, чтобы не выйти за рамки в 32-х битного максимума. Итоговый вес также является 32-битным integer. Значение весов по умолчанию равно 1. Неизвестные названия полей игнорируются без генерации ошибок или предупреждений.

Список параметров

weights

Ассоциативный массив названий полей и их весовых коэффициентов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setIndexWeights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient


Добавление фильтра по типу поля integer

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient
PHP Manual

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Добавление фильтра по типу поля integer

Описание

public bool SphinxClient::setFilter ( string $attribute , array $values [, bool $exclude = false ] )

Добавляет новый фильтр по типу поля integer к имеющемуся списку фильтров.

Список параметров

attribute

Название аттрибута.

values

Обычный массив значений типа integer.

exclude

Если TRUE, то попадающие под фильтр документы исключаются из списка результатов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient


Добавление фильтра по диапазону значений (для поля типа float)

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient
PHP Manual

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Добавление фильтра по диапазону значений (для поля типа float)

Описание

public bool SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )

Добавляет новый фильтр по диапазону значений для поля типа float к имеющемуся списку фильтров. В список результатов попадут только те документы, в которых значение attribute, хранящееся в индексе, находится в диапазоне между min и max, включая значения в точности равные min или max (или же будут исключены из него, если параметр exclude установлен в TRUE).

Список параметров

attribute

Название аттрибута.

min

Минимальное значение.

max

Максимальное значение.

exclude

Если установлено в TRUE, то попадающие под фильтр документы будут исключены из списка результатов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient


Добавление фильтра по диапазону значений (для поля типа integer)

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient
PHP Manual

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Добавление фильтра по диапазону значений (для поля типа integer)

Описание

public bool SphinxClient::setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )

Добавляет новый фильтр по диапазону значений для поля типа integer к имеющемуся списку фильтров. В список результатов попадут только те документы, в которых значение attribute, хранящееся в индексе, находится в диапазоне между min и max, включая значения, в точности равные min или max (или же будут исключены из него, если параметр exclude установлен в TRUE).

Список параметров

attribute

Название аттрибута.

min

Минимальное значение.

max

Максимальное значение.

exclude

Если установлено в TRUE, то попадающие под фильтр документы будут исключены из списка результатов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient


Установка опорной точки для рассчета географической удаленности

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient
PHP Manual

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Установка опорной точки для рассчета географической удаленности

Описание

public bool SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )

Устанавливает опорной точку для рассчета географической удаленности (geodistance) и включает эту возможность.

После установки якорной точки вы можете использовать "магический" аттрибут "@geodist" в ваших фильтрах и/или математических выражениях сортировки.

Список параметров

attrlat

Название аттрибута, хранящего широту.

attrlong

Название аттрибута, хранящего долготу.

latitude

Широта якоря в радианах.

longitude

Долгота якоря в радианах.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient


Установка аттрибута группировки

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient
PHP Manual

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Установка аттрибута группировки

Описание

public bool SphinxClient::setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )

Устанавливает аттрибут группировки, функцию и режим группировки, и включает группировку.

Возможность группировки очень схожа с условием GROUP BY в SQL. Результаты вызова этой функции будут схожи с результатами, которые мог бы вернуть следующий псевдокод: SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Список параметров

attribute

Строка, содержащая аттрибут, по которому производится группировка.

func

Константа, указывающая какая именно функция будет применима к значению аттрибута для рассчета группировки.

groupsort

Необязательное условие, контролирующее сортировку групп.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient


Установка названия аттрибута для расчета количества уникальных значений при группировке

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient
PHP Manual

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Установка названия аттрибута для расчета количества уникальных значений при группировке

Описание

public bool SphinxClient::setGroupDistinct ( string $attribute )

Устанавливает название аттрибута, используемого для расчета количества уникальных значений при группировке. Доступна только для сгруппированных запросов. Для каждой из групп будут сохранены все значения поля attribute, затем количество уникальных значений будет рассчитано и возвращено в клиент. Это свойство сходно с условием COUNT(DISTINCT) в SQL.

Список параметров

attribute

Строка, содержащая аттрибут, по которому происходит группировка.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient


Установка диапазона значений допустимых ID документов

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient
PHP Manual

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Установка диапазона значений допустимых ID документов

Описание

public bool SphinxClient::setIDRange ( int $min , int $max )

Устанавливает допустимый диапазон ID документов. Диапазон по умолчанию - от 0 до 0, то есть без ограничений. В список результатов попадут только документы, имеющие ID документа в границах между min и max (включая ID, в точности равные min или max).

Список параметров

min

Минимальное значение ID.

max

Максимальное значение ID.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient


Установка весовых коэффициентов индексов

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient
PHP Manual

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Установка весовых коэффициентов индексов

Описание

public bool SphinxClient::setIndexWeights ( array $weights )

Устанавливает весовые коэффициенты индексов и включает суммирование соответствующих весов для различных индексов.

Список параметров

weights

Ассоциативный массив, связывающий названия индексов (string) с их весами (integer). По умолчанию - пустой массив, то есть взвешенное суммирование отключено.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient


Установка смещения и предельного числа значений для набора результатов

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient
PHP Manual

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Установка смещения и предельного числа значений для набора результатов

Описание

public bool SphinxClient::setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )

Устанавливает смещение offset для получаемого от сервера набора результатов, и количество записей limit, которое необходимо получить с данным смещением. Дополнительно может контролировать максимальное число результатов для данного запроса max_matches и пороговое количество совпадений cutoff, после превышения которого можно прекратить поиск.

Список параметров

offset

Смещение набора результатов.

limit

Количество необходимых к получению результатов.

max_matches

Контролирует количество совпадений, которые searchd будет хранить в оперативной памяти в процессе поиска.

cutoff

Используется для повышенного контроля за производительностью. Параметр указывает searchd принудительно останавливать поиск, как только было найдено и обработано cutoff совпадений.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient


Установка режима совпадения при полнотекстовом поиске

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient
PHP Manual

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Установка режима совпадения при полнотекстовом поиске

Описание

public bool SphinxClient::setMatchMode ( int $mode )

Устанавливает режим совпадения при полнотекстовом поиске. Параметр mode должен быть одной из описанных ниже констант.

Режимы совпадения
Константа | Описание
SPH_MATCH_ALL | Найдены все слова запроса (режим по умолчанию).
SPH_MATCH_ANY | Найдено любое из слов запроса.
SPH_MATCH_PHRASE | Найдена в точности поисковая фраза.
SPH_MATCH_BOOLEAN | Поиск с использованием в запросе логических операторов.
SPH_MATCH_EXTENDED | Запрос рассматривается как выражение с использованием внутреннего языка запросов Sphinx.
SPH_MATCH_FULLSCAN | Включает полное сканирование.
SPH_MATCH_EXTENDED2 | Работает аналогично SPH_MATCH_EXTENDED с добавлением поддержки ранжирования и количественного поиска (quorum searching).

Список параметров

mode

Режим совпадения.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient


Установка максимального времени выполнения запроса

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient
PHP Manual

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Установка максимального времени выполнения запроса

Описание

public bool SphinxClient::setMaxQueryTime ( int $qtime )

Устанавливает максимальное время выполнения запроса.

Список параметров

qtime

Максимальное время выполнения запроса, в миллисекундах. Должно быть положительным целым числом. Значение по умолчанию 0, то есть без ограничений.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient


Временное переопределение значений атрибута для документов

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient
PHP Manual

SphinxClient::setOverride

(PECL sphinx >= 1.0.3)

SphinxClient::setOverride — Временное переопределение значений атрибута для документов

Описание

public bool SphinxClient::setOverride ( string $attribute , int $type , array $values )

Временно переопределяет значение атрибута в документах в пределах одного запроса. Переопределение позволяет вам временно "обновить" значения аттрибутов для некоторых документов в пределах одного запроса, не затрагивая остальные. Это может быть полезно для персонифицированных данных.

Список параметров

attribute

Название атрибута.

type

Тип атрибута. Поддерживаются только скалярные атрибуты.

values

Массив значений атрибутов, связывающих ID документов с переопределенными значениями атрибутов.

Список изменений

PECL/sphinx Версия | Описание
1.0.3 | Добавлен метод SphinxClient::setOverride(), доступен только если при компиляции версия libsphinxclient >= 0.9.9.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient


Установка режима ранжирования

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient
PHP Manual

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Установка режима ранжирования

Описание

public bool SphinxClient::setRankingMode ( int $ranker )

Устанавливает режим ранжирования. Доступна только в режиме совпадения SPH_MATCH_EXTENDED2.

Режимы ранжирования
Константа | Описание
SPH_RANK_PROXIMITY_BM25 | Режим ранжирования по умолчанию, использующий как близостное, так и BM25 ранжирование.
SPH_RANK_BM25 | Статистический режим ранжирования, использующий только метод BM25 (наиболее близкий к другим полнотекстовым движкам). Этот режим быстрее, но может давать худший результат на запросах, содержащих более одного ключевого слова.
SPH_RANK_NONE | Отключает ранжирование. Этот режим самый быстрый. Фактически является эквивалентом логического поиска, и всем совпадениям присваивается вес 1.

Список параметров

ranker

Режим ранжирования.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMatchMode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient


Установка количества повторных попыток и задержки между ними

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient
PHP Manual

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Установка количества повторных попыток и задержки между ними

Описание

public bool SphinxClient::setRetries ( int $count [, int $delay = 0 ] )

Устанавливает на searchd количество повторных попыток и задержку между ними.

При временных проблемах searchd будет делать повторные попытки вплоть до count на одного агента. delay - это задержка между попытками, в миллисекундах. По умолчанию повторные попытки отключены. Обратите внимание, что этот запрос не дает команды самому API делать повторные попытки в случае неудачи. Он лишь передает новые параметры демону searchd.

Список параметров

count

Количество повторных попыток.

delay

Задержка между попытками, в миллисекундах.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient


Установка условия выборки

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient
PHP Manual

SphinxClient::setSelect

(PECL sphinx >= 1.0.1)

SphinxClient::setSelect — Установка условия выборки

Описание

public bool SphinxClient::setSelect ( string $clause )

Устанавливает условия выборки, содержит конкретные атрибуты для выборки и выражения для рассчета и последующей выборки.

Список параметров

clause

Условия, схожие с языком SQL.

Список изменений

PECL/sphinx Версия | Описание
1.0.1 | Добавлен метод SphinxClient::setSelect(), доступен только если при компиляции версия libsphinxclient >= 0.9.9.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient


Установка хоста и порта searchd

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient
PHP Manual

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Установка хоста и порта searchd

Описание

public bool SphinxClient::setServer ( string $server , int $port )

Устанавливает имя хоста и TCP-порт демона searchd. Все последующие запросы будут использовать новые настройки хоста и порта. Хост и порт по умолчанию имеют значения 'localhost' и 3312, соответственно.

Список параметров

server

IP-адрес или хост.

port

Номер порта.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient


Установка режима сортировки результатов

SphinxClient::setServer
SphinxClient::status
SphinxClient
PHP Manual

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Установка режима сортировки результатов

Описание

public bool SphinxClient::setSortMode ( int $mode [, string $sortby ] )

Устанавливает режим сортировки результатов. Список режимов в таблице ниже.

Sorting modes
Константа | Описание
SPH_SORT_RELEVANCE | Сортировка по релевантности в порядке убывания (лучшие совпадения выводятся раньше).
SPH_SORT_ATTR_DESC | Сортировка по аттрибуту в порядке убывания (большие значения аттрибута выводятся раньше).
SPH_SORT_ATTR_ASC | Сортировка по аттрибуту в порядке возрастания (меньшие значения аттрибута выводятся первыми).
SPH_SORT_TIME_SEGMENTS | Сортировка по временным интервалам (последний час/день/неделя/месяц) в порядке убывания, а затем по релевантности в порядке убывания.
SPH_SORT_EXTENDED | Сортировка по схожей с форматом SQL комбинации столбцов в порядке ASC/DESC.
SPH_SORT_EXPR | Сортировка по арифметическому выражению.

Список параметров

mode

Режим сортировки.

sortby

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode

SphinxClient::setServer
SphinxClient::status
SphinxClient


Запрос статуса searchd

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient
PHP Manual

SphinxClient::status

(PECL sphinx >= 1.0.3)

SphinxClient::status — Запрос статуса searchd

Описание

public array SphinxClient::status ( void )

Запрашивает статус searchd, и возвращает массив в формате пар ключ-значение.

Список параметров

У этой функции нет параметров.

Список изменений

PECL/sphinx Версия | Описание
1.0.3 | Добавлен метод SphinxClient::status(), доступен только если модуль скомпилирован с версией libsphinxclient >= 0.9.9.

Возвращаемые значения

Возвращает ассоциативный массив статистики поискового сервера. или FALSE в случае возникновения ошибки.

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient


Обновление аттрибутов документа

SphinxClient::status
Swish
SphinxClient
PHP Manual

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Обновление аттрибутов документа

Описание

public int SphinxClient::updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )

Моментально обновляет указанные значения аттрибутов в указанных документах.

Список параметров

index

Название индекса (или индексов) для обновления.

attributes

Массив названий аттрибутов, которые будут обновлены.

values

Ассоциативный массив, содержащий ID документов в качестве ключей и массив значений аттрибутов в качестве значений.

Возвращаемые значения

Возвращает количество измененных документов (0 или более) в случае успеха, или FALSE в случае неудачи.

SphinxClient::status
Swish
SphinxClient


Swish Indexing

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
  • Swish Функции
    • Swish::__construct — Construct a Swish object
    • Swish->getMetaList — Get the list of meta entries for the index
    • Swish->getPropertyList — Get the list of properties for the index
    • Swish->prepare — Prepare a search query
    • Swish->query — Execute a query and return results object
    • SwishResult->getMetaList — Get a list of meta entries
    • SwishResult->stem — Stems the given word
    • SwishResults->getParsedWords — Get an array of parsed words
    • SwishResults->getRemovedStopwords — Get an array of stopwords removed from the query
    • SwishResults->nextResult — Get the next search result
    • SwishResults->seekResult — Set current seek pointer to the given position
    • SwishSearch->execute — Execute the search and get the results
    • SwishSearch->resetLimit — Reset the search limits
    • SwishSearch->setLimit — Set the search limits
    • SwishSearch->setPhraseDelimiter — Set the phrase delimiter
    • SwishSearch->setSort — Set the sort order
    • SwishSearch->setStructure — Set the structure flag in the search object
SphinxClient::updateAttributes
Введение
Расширения для работы с поисковыми системами


Введение

The swish extension provides the bindings for Swish-e API. Swish-e stands for "Simple Web Indexing System for Humans - Enhanced" and is an open source system for indexing and search. Swish-e itself is licensed under GPL license, but uses a clause that allows applications to link against the library if every copy of the combined work is accompanied by the URL to Swish-e source code. Here it is: » http://swish-e.org.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Swish
Установка и настройка
Swish


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Swish


Требования

PECL/swish requires PHP 5.1.3 or newer.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/swish.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Swish::META_TYPE_UNDEF (integer)
Swish::META_TYPE_STRING (integer)
Swish::META_TYPE_ULONG (integer)
Swish::META_TYPE_DATE (integer)
Swish::IN_FILE_BIT (integer)
Swish::IN_TITLE_BIT (integer)
Swish::IN_HEAD_BIT (integer)
Swish::IN_BODY_BIT (integer)
Swish::IN_COMMENTS_BIT (integer)
Swish::IN_HEADER_BIT (integer)
Swish::IN_EMPHASIZED_BIT (integer)
Swish::IN_META_BIT (integer)
Swish::IN_FILE (integer)
Swish::IN_TITLE (integer)
Swish::IN_HEAD (integer)
Swish::IN_BODY (integer)
Swish::IN_COMMENTS (integer)
Swish::IN_HEADER (integer)
Swish::IN_EMPHASIZED (integer)
Swish::IN_META (integer)
Swish::IN_ALL (integer)
Типы ресурсов
Примеры
Swish


Примеры

Содержание

  • Basic usage
Предопределенные константы
Basic usage
Swish


Basic usage

Пример #1 Basic search query

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Found ", $results->hits, " results\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //break after the first result
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Found 9 results
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}
Примеры
Swish Функции
Примеры


Swish Функции

Содержание

  • Swish::__construct — Construct a Swish object
  • Swish->getMetaList — Get the list of meta entries for the index
  • Swish->getPropertyList — Get the list of properties for the index
  • Swish->prepare — Prepare a search query
  • Swish->query — Execute a query and return results object
  • SwishResult->getMetaList — Get a list of meta entries
  • SwishResult->stem — Stems the given word
  • SwishResults->getParsedWords — Get an array of parsed words
  • SwishResults->getRemovedStopwords — Get an array of stopwords removed from the query
  • SwishResults->nextResult — Get the next search result
  • SwishResults->seekResult — Set current seek pointer to the given position
  • SwishSearch->execute — Execute the search and get the results
  • SwishSearch->resetLimit — Reset the search limits
  • SwishSearch->setLimit — Set the search limits
  • SwishSearch->setPhraseDelimiter — Set the phrase delimiter
  • SwishSearch->setSort — Set the sort order
  • SwishSearch->setStructure — Set the structure flag in the search object
Basic usage
Swish::__construct
Swish


Construct a Swish object

Swish Функции
Swish->getMetaList
Swish Функции
PHP Manual

Swish::__construct

(PECL swish >= 0.1.0)

Swish::__construct — Construct a Swish object

Описание

void Swish::__construct ( string $index_names )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

index_names

The list of index files separated by spaces.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 A Swish::__construct() example

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

Результатом выполнения данного примера будет что-то подобное:

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

Swish Функции
Swish->getMetaList
Swish Функции


Get the list of meta entries for the index

Swish::__construct
Swish->getPropertyList
Swish Функции
PHP Manual

Swish->getMetaList

(PECL swish >= 0.1.0)

Swish->getMetaList — Get the list of meta entries for the index

Описание

array Swish->getMetaList ( string $index_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

index_name

The name of the index file.

Возвращаемые значения

Returns an array of meta entries for the given index.

Примеры

Пример #1 Basic Swish->getMetaList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

Swish::__construct
Swish->getPropertyList
Swish Функции


Get the list of properties for the index

Swish->getMetaList
Swish->prepare
Swish Функции
PHP Manual

Swish->getPropertyList

(PECL swish >= 0.1.0)

Swish->getPropertyList — Get the list of properties for the index

Описание

array Swish->getPropertyList ( string $index_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

index_name

The name of the index file.

Возвращаемые значения

Returns an array of properties for the given index.

Примеры

Пример #1 Basic Swish->getPropertyList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

Swish->getMetaList
Swish->prepare
Swish Функции


Prepare a search query

Swish->getPropertyList
Swish->query
Swish Функции
PHP Manual

Swish->prepare

(PECL swish >= 0.1.0)

Swish->prepare — Prepare a search query

Описание

object Swish->prepare ([ string $query ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Prepare and return a search object, which you can later use for unlimited number of queries.

Список параметров

query

Optional query string. The query can be also set using SwishSearch->execute() method.

Возвращаемые значения

Returns SwishSearch object.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic Swish->prepare() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Found: ", $results->hits, " hits\n";

    $results = $search->execute("new search");

    echo "Found: ", $results->hits, " hits\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Found: 2 hits
Found: 5 hits

Swish->getPropertyList
Swish->query
Swish Функции


Execute a query and return results object

Swish->prepare
SwishResult->getMetaList
Swish Функции
PHP Manual

Swish->query

(PECL swish >= 0.1.0)

Swish->query — Execute a query and return results object

Описание

object Swish->query ( string $query )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

A quick method to execute a search with default parameters.

Список параметров

query

Query string.

Возвращаемые значения

Returns SwishResults object.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic Swish->query() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Found: 1 hits

Swish->prepare
SwishResult->getMetaList
Swish Функции


Get a list of meta entries

Swish->query
SwishResult->stem
Swish Функции
PHP Manual

SwishResult->getMetaList

(PECL swish >= 0.1.0)

SwishResult->getMetaList — Get a list of meta entries

Описание

array SwishResult->getMetaList ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Возвращаемые значения

Returns the same array as swish->getmetalist(), but uses the index file from the result handle.

Swish->query
SwishResult->stem
Swish Функции


Stems the given word

SwishResult->getMetaList
SwishResults->getParsedWords
Swish Функции
PHP Manual

SwishResult->stem

(PECL swish >= 0.1.0)

SwishResult->stem — Stems the given word

Описание

array SwishResult->stem ( string $word )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Stems the word based on the fuzzy mode used during indexing. Each result object is linked with its index, so the results are based on this index.

Список параметров

word

The word to stem.

Возвращаемые значения

Returns array containing the stemmed word variants (usually just one).

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic SwishResult->stem() example

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); //the results fully depend on the stemmer used in the index
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

SwishResult->getMetaList
SwishResults->getParsedWords
Swish Функции


Get an array of parsed words

SwishResult->stem
SwishResults->getRemovedStopwords
Swish Функции
PHP Manual

SwishResults->getParsedWords

(PECL swish >= 0.1.0)

SwishResults->getParsedWords — Get an array of parsed words

Описание

array SwishResults->getParsedWords ( string $index_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

indexi_name

The name of the index used to initialize Swish object.

Возвращаемые значения

An array of parsed words with stopwords removed. The list of parsed words may be useful for highlighting search terms in the results.

Примеры

Пример #1 Basic SwishResults->getParsedWords() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); //same result in a different way

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

SwishResult->stem
SwishResults->getRemovedStopwords
Swish Функции


Get an array of stopwords removed from the query

SwishResults->getParsedWords
SwishResults->nextResult
Swish Функции
PHP Manual

SwishResults->getRemovedStopwords

(PECL swish >= 0.1.0)

SwishResults->getRemovedStopwords — Get an array of stopwords removed from the query

Описание

array SwishResults->getRemovedStopwords ( string $index_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

index_name

The name of the index used to initialize Swish object.

Возвращаемые значения

Returns array of stopwords removed from the query.

SwishResults->getParsedWords
SwishResults->nextResult
Swish Функции


Get the next search result

SwishResults->getRemovedStopwords
SwishResults->seekResult
Swish Функции
PHP Manual

SwishResults->nextResult

(PECL swish >= 0.1.0)

SwishResults->nextResult — Get the next search result

Описание

object SwishResults->nextResult ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Возвращаемые значения

Returns the next SwishResult object in the result set or FALSE if there are no more results available.

Примеры

Пример #1 Basic SwishResults->nextResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* do something with the result object */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

SwishResults->getRemovedStopwords
SwishResults->seekResult
Swish Функции


Set current seek pointer to the given position

SwishResults->nextResult
SwishSearch->execute
Swish Функции
PHP Manual

SwishResults->seekResult

(PECL swish >= 0.1.0)

SwishResults->seekResult — Set current seek pointer to the given position

Описание

int SwishResults->seekResult ( int $position )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

position

Zero-based position number. Cannot be less than zero.

Возвращаемые значения

Returns new position value on success.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic SwishResults->seekResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); //this will succeed
    var_dump($results->seekResult(100)); //this will fail

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
Error: No more results

SwishResults->nextResult
SwishSearch->execute
Swish Функции


Execute the search and get the results

SwishResults->seekResult
SwishSearch->resetLimit
Swish Функции
PHP Manual

SwishSearch->execute

(PECL swish >= 0.1.0)

SwishSearch->execute — Execute the search and get the results

Описание

object SwishSearch->execute ([ string $query ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Searches the index file(s) based on the parameters set in the search object.

Список параметров

query

The query string is an optional parameter, it can be also set using Swish->prepare() method. The query string is preserved between executions, so you can set it once, but execute the search multiple times.

Возвращаемые значения

Returns SwishResults object.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic SwishSearch->execute() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "First query found: ", $results->hits, " hits\n";

    $results = $search->execute("new OR query");
    echo "Second query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 2 hits
Second query found: 12 hits

SwishResults->seekResult
SwishSearch->resetLimit
Swish Функции


Reset the search limits

SwishSearch->execute
SwishSearch->setLimit
Swish Функции
PHP Manual

SwishSearch->resetLimit

(PECL swish >= 0.1.0)

SwishSearch->resetLimit — Reset the search limits

Описание

void SwishSearch->resetLimit ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Reset the search limits previous set by SwishSearch->setLimit.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Basic SwishSearch->resetLimit() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 5 hits
Second query found: 2 hits
Third query found: 5 hits

SwishSearch->execute
SwishSearch->setLimit
Swish Функции


Set the search limits

SwishSearch->resetLimit
SwishSearch->setPhraseDelimiter
Swish Функции
PHP Manual

SwishSearch->setLimit

(PECL swish >= 0.1.0)

SwishSearch->setLimit — Set the search limits

Описание

void SwishSearch->setLimit ( string $property , string $low , string $high )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

property

Search result property name.

low

The lowest value of the property.

high

The highest value of the property.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws SwishException on error.

Примеры

Пример #1 Basic SwishSearch->setLimit() example

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 2 hits
Hit #1 - 4261 bytes
Hit #2 - 4768 bytes

SwishSearch->resetLimit
SwishSearch->setPhraseDelimiter
Swish Функции


Set the phrase delimiter

SwishSearch->setLimit
SwishSearch->setSort
Swish Функции
PHP Manual

SwishSearch->setPhraseDelimiter

(PECL swish >= 0.1.0)

SwishSearch->setPhraseDelimiter — Set the phrase delimiter

Описание

void SwishSearch->setPhraseDelimiter ( string $delimiter )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

delimiter

Phrase delimiter character. The default delimiter is double-quotes.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Basic SwishSearch->setPhraseDelimiter() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); //looking for "every time"
    echo "First query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); //the same query, but using different delimiter
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); //looking for "every" and "time"
    echo "Third query found: ", $results->hits, " hits\n";

    //let's look at parsed words
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 1 hits
Second query found: 1 hits
Third query found: 2 hits
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

SwishSearch->setLimit
SwishSearch->setSort
Swish Функции


Set the sort order

SwishSearch->setPhraseDelimiter
SwishSearch->setStructure
Swish Функции
PHP Manual

SwishSearch->setSort

(PECL swish >= 0.1.0)

SwishSearch->setSort — Set the sort order

Описание

void SwishSearch->setSort ( string $sort )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

sort

Sort order of the results is a string containing name of a result property combined with sort direction ("asc" or "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Basic SwishSearch->setSort() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setSort("swishdocsize desc"); //sort by document size
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 5 hits
Hit #1 - 37937 bytes
Hit #2 - 15427 bytes
Hit #3 - 7126 bytes
Hit #4 - 4768 bytes
Hit #5 - 4261 bytes

SwishSearch->setPhraseDelimiter
SwishSearch->setStructure
Swish Функции


Set the structure flag in the search object

SwishSearch->setSort
Расширения для работы с серверами
Swish Функции
PHP Manual

SwishSearch->setStructure

(PECL swish >= 0.1.0)

SwishSearch->setStructure — Set the structure flag in the search object

Описание

void SwishSearch->setStructure ( int $structure )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

structure

The structure flag a bitmask is used to limit search to certain parts of HTML documents (like title, meta, body etc.). Its possible values are listed below. To combine several values use bitwise OR operator, see example below.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Basic SwishSearch->setStructure() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); //search in title and head
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_ALL); //search in whole document, the default value
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

First query found: 5 hits
Second query found: 0 hits
Third query found: 5 hits

SwishSearch->setSort
Расширения для работы с серверами
Swish Функции


Расширения для работы с серверами

  • Apache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Apache
  • IIS — IIS Administration
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IIS Функции
  • NSAPI
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • NSAPI Функции
SwishSearch->setStructure
Apache
Справочник функций


Apache

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Apache
    • apache_child_terminate — Завершить процесс Apache по окончании текущего запроса
    • apache_get_modules — Возвращает список загруженных модулей сервера Apache
    • apache_get_version — Возвращает версию Apache
    • apache_getenv — Получить переменную окружения подпроцесса сервера Apache
    • apache_lookup_uri — Осуществить частичный запрос на указанный URI и вернуть все полученные сведения
    • apache_note — Возвращает и установливает уведомления к запросу Apache
    • apache_request_headers — Получает список всех заголовков HTTP-запроса
    • apache_reset_timeout — Сбрасывает таймер сервера Apache
    • apache_response_headers — Возвращает список всех HTTP заголовков ответа Apache
    • apache_setenv — Устанавливает переменную subprocess_env Apache
    • getallheaders — Возвращает все заголовки HTTP-запроса
    • virtual — Выполняет подзапрос Apache
Расширения для работы с серверами
Введение
Расширения для работы с серверами


Введение

Эти функции доступны только в том случае, если PHP работает в качестве модуля Apache.

Замечание: Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше не создаётся под SAPI Apache 2, в отличие от Apache 1, где она создаётся с тем же значением, что и SCRIPT_FILENAME (если другое значение не было установлено самим Apache). Это изменение было сделано для соответствия спецификации CGI, которая гласит, что PATH_TRANSLATED должна быть объявлена только тогда, когда определена переменная PATH_INFO. Пользователи Apache 2 могут использовать опцию AcceptPathInfo = On в httpd.conf для объявления переменной PATH_INFO.

Apache
Установка и настройка
Apache


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Apache


Установка

Установка PHP в качестве модуля Apache описана в соответствующей главе.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

The behaviour of the Apache PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by php_flag settings in the server configuration file or local .htaccess files.

Пример #1 Turning off PHP parsing for a directory using .htaccess

php_flag engine off

Apache configuration options
Name | Default | Changeable | Changelog
engine | "1" | PHP_INI_ALL | Available since PHP 4.0.5.
child_terminate | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
last_modified | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
xbithack | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

engine boolean

Turns PHP parsing on or off. This directive is really only useful in the Apache module version of PHP. It is used by sites that would like to turn PHP parsing on and off on a per-directory or per-virtual server basis. By putting engine off in the appropriate places in the httpd.conf file, PHP can be enabled or disabled.

child_terminate boolean

Specify whether PHP scripts may request child process termination on end of request, see also apache_child_terminate().

last_modified boolean

Send PHP scripts modification date as Last-Modified: header for this request.

xbithack boolean

Parse files with executable bit set as PHP regardless of their file ending.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Apache
Apache


Apache
PHP Manual

Apache

Содержание

  • apache_child_terminate — Завершить процесс Apache по окончании текущего запроса
  • apache_get_modules — Возвращает список загруженных модулей сервера Apache
  • apache_get_version — Возвращает версию Apache
  • apache_getenv — Получить переменную окружения подпроцесса сервера Apache
  • apache_lookup_uri — Осуществить частичный запрос на указанный URI и вернуть все полученные сведения
  • apache_note — Возвращает и установливает уведомления к запросу Apache
  • apache_request_headers — Получает список всех заголовков HTTP-запроса
  • apache_reset_timeout — Сбрасывает таймер сервера Apache
  • apache_response_headers — Возвращает список всех HTTP заголовков ответа Apache
  • apache_setenv — Устанавливает переменную subprocess_env Apache
  • getallheaders — Возвращает все заголовки HTTP-запроса
  • virtual — Выполняет подзапрос Apache
Предопределенные константы
apache_child_terminate
Apache
PHP Manual


Завершить процесс Apache по окончании текущего запроса

Apache
apache_get_modules
Apache
PHP Manual

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5)

apache_child_terminate — Завершить процесс Apache по окончании текущего запроса

Описание

bool apache_child_terminate ( void )

apache_child_terminate() регистрирует процесс Apache, обслуживающий текущий запрос PHP с тем, чтобы завершить его по окончании выполнения PHP скрипта. Эта функция может быть использована для завершения процесса, для работы которого понадобилось значительное количество оперативной памяти, не возвращенной операционной системе по завершении работы PHP скрипта.

Возвращаемые значения

Возвращает TRUE, если PHP работает в качестве Apache 1 модуля, версия Apache не является многопоточной и параметр конфигурации PHP child_terminate включен (по умолчанию выключен). В противном случае функция возвратит FALSE и сгенерирует ошибку уровня E_WARNING.

Список изменений

Версия | Описание
5.4.0 | Эта функция стала доступной в режиме FastCGI. Ранее она поддерживалась только при запуске PHP в качестве модуля для Apache.

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

Смотрите также

  • exit() - Output a message and terminate the current script

Apache
apache_get_modules
Apache


Возвращает список загруженных модулей сервера Apache

apache_child_terminate
apache_get_version
Apache
PHP Manual

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5)

apache_get_modules — Возвращает список загруженных модулей сервера Apache

Описание

array apache_get_modules ( void )

Возвращает список загруженных модулей сервера Apache.

Возвращаемые значения

Массив загруженных модулей сервера Apache.

Список изменений

Версия | Описание
5.0.0 | Функция стала доступна при использовании Apache 1, или PHP Apache 2 filter API. Ранее это было возможно только c Apache 2 handler API.

Примеры

Пример #1 Пример использования apache_get_modules()

<?php
print_r(apache_get_modules());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

apache_child_terminate
apache_get_version
Apache


Возвращает версию Apache

apache_get_modules
apache_getenv
Apache
PHP Manual

apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version — Возвращает версию Apache

Описание

string apache_get_version ( void )

Возвращает версию Apache.

Возвращаемые значения

Возвращает версию Apache или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.4 | Стала доступной при использовании Apache 1.
5.0.0 | Стала доступной при использовании Apache 2 filter API.

Примеры

Пример #1 Пример apache_get_version()

<?php
$version = apache_get_version();
echo "$version\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Apache/1.3.29 (Unix) PHP/4.3.4

Смотрите также

  • phpinfo() - Outputs information about PHP's configuration

apache_get_modules
apache_getenv
Apache


Получить переменную окружения подпроцесса сервера Apache

apache_get_version
apache_lookup_uri
Apache
PHP Manual

apache_getenv

(PHP 4 >= 4.3.0, PHP 5)

apache_getenv — Получить переменную окружения подпроцесса сервера Apache

Описание

string apache_getenv ( string $variable [, bool $walk_to_top ] )

Получить переменную окружения сервера Apache, указанную параметром variable.

Эта функция требует Apache 2, в противном случае она не определена.

Список параметров

variable

Переменная окружения сервера Apache

walk_to_top

Получить переменную верхнего уровня, доступную для всех уровней сервера Apache или нет.

Возвращаемые значения

Значение переменной окружения сервера Apache в случае успеха или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования apache_getenv()

Приведенный ниже пример показывает, как можно получить значение переменной окружения сервера Apache SERVER_ADDR.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

Результатом выполнения данного примера будет что-то подобное:

42.24.42.240

Смотрите также

  • apache_setenv() - Устанавливает переменную subprocess_env Apache
  • getenv() - Gets the value of an environment variable
  • "Суперглобальные переменные"

apache_get_version
apache_lookup_uri
Apache


Осуществить частичный запрос на указанный URI и вернуть все полученные сведения

apache_getenv
apache_note
Apache
PHP Manual

apache_lookup_uri

(PHP 4, PHP 5)

apache_lookup_uri — Осуществить частичный запрос на указанный URI и вернуть все полученные сведения

Описание

object apache_lookup_uri ( string $filename )

Эта функция осуществляет частичный запрос на указанный URI. Этого достаточно для получения всей важной информации о переданном функции ресурсе.

Эта функция поддерживается только если PHP установлен в качестве модуля Apache.

Список параметров

filename

Имя файла (URI), который запрашивается.

Возвращаемые значения

Объект, содержащий информацию о переданном URI. Свойствами данного объекта являются:

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Примеры

Пример #1 Пример использования apache_lookup_uri()

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo 'file exists!';
}
?>

Результатом выполнения данного примера будет что-то подобное:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
file exists!

apache_getenv
apache_note
Apache


Возвращает и установливает уведомления к запросу Apache

apache_lookup_uri
apache_request_headers
Apache
PHP Manual

apache_note

(PHP 4, PHP 5)

apache_note — Возвращает и установливает уведомления к запросу Apache

Описание

string apache_note ( string $note_name [, string $note_value ] )

Эта функция является оберткой для table_get и table_set. С её помощью можно редактировать таблицу уведомлений (apache notes table), которая создаётся во время передачи запроса. Таблица уведомлений позволяет модулям Apache обмениваться данными.

Основное назначение apache_note() - передавать информацию из одного модуля в другой внутри одного запроса.

Список параметров

note_name

Название уведомления.

note_value

Значение уведомления.

Возвращаемые значения

Если функция вызывается с одним аргументом, она возвращает текущее значение уведомления note_name. Если функция вызывается с двумя аргументами, она устанавливает значение уведомления note_name в note_value и возвращает предыдущее значение note_name. Если значение уведомления не может быть получено, будет возвращено FALSE.

Примеры

Пример #1 Пример передачи информации между PHP и Perl

<?php

apache_note('name', 'Fredrik Ekengren');

// Call perl script
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Получить запрашиваемый объект Apache
my $r = Apache->request()->main();

# Получить переданные данные
my $name = $r->notes('name');

# Некоторые действия с данными

# Передача результата назад в PHP
$r->notes('resultdata', $result);

Пример #2 Пример записи значений в access.log

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" может быть использован в директиве LogFormat

Смотрите также

  • virtual() - Выполняет подзапрос Apache

apache_lookup_uri
apache_request_headers
Apache


Получает список всех заголовков HTTP-запроса

apache_note
apache_reset_timeout
Apache
PHP Manual

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_request_headers — Получает список всех заголовков HTTP-запроса

Описание

array apache_request_headers ( void )

Получает список всех заголовков HTTP текущего запроса.

Возвращаемые значения

Ассоциативный массив, содержащий все HTTP-заголовки текущего запроса, или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.4.0 | Данная функция стала доступной при использовании FastCGI. До этого поддерживалась только в случае использования PHP как модуля Apache.
4.3.3 | Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.

Примеры

Пример #1 Пример использования apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Примечания

Замечание:

Также можно получить значения широко используемых CGI-переменных, получив их из окружения сервера; это работает независимо от того, установлен PHP в качестве модуля Apache или нет. Для того, чтобы получить список всех доступных переменных окружения, используйте функцию phpinfo().

Смотрите также

  • apache_response_headers() - Возвращает список всех HTTP заголовков ответа Apache

apache_note
apache_reset_timeout
Apache


Сбрасывает таймер сервера Apache

apache_request_headers
apache_response_headers
Apache
PHP Manual

apache_reset_timeout

(PHP 5 >= 5.1.0)

apache_reset_timeout — Сбрасывает таймер сервера Apache

Описание

bool apache_reset_timeout ( void )

apache_reset_timeout() сбрасывает таймер сервера Apache, который по-умолчанию установлен в 300 секунд. При set_time_limit(0); ignore_user_abort(true) и периодических вызовах apache_reset_timeout(), Apache теоретически может работать вечно.

Эта функция требует Apache 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция недоступна в безопасном режиме.

Смотрите также

  • set_time_limit() - Limits the maximum execution time
  • ignore_user_abort() - Set whether a client disconnect should abort script execution

apache_request_headers
apache_response_headers
Apache


Возвращает список всех HTTP заголовков ответа Apache

apache_reset_timeout
apache_setenv
Apache
PHP Manual

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers — Возвращает список всех HTTP заголовков ответа Apache

Описание

array apache_response_headers ( void )

Возвращает список всех HTTP заголовков ответа Apache

Возвращаемые значения

Массив HTTP заголовков ответа Apache при успешном выполнении или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.4.0 | Данная функция стала доступной при использовании FastCGI. Раньше она была доступна только если PHP был установлен, как модуль Apache.
4.3.3 | Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.

Примеры

Пример #1 Пример использования apache_response_headers()

<?php
print_r(apache_response_headers());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Смотрите также

  • apache_request_headers() - Получает список всех заголовков HTTP-запроса
  • headers_sent() - Checks if or where headers have been sent
  • headers_list() - Returns a list of response headers sent (or ready to send)

apache_reset_timeout
apache_setenv
Apache


Устанавливает переменную subprocess_env Apache

apache_response_headers
getallheaders
Apache
PHP Manual

apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv — Устанавливает переменную subprocess_env Apache

Описание

bool apache_setenv ( string $variable , string $value [, bool $walk_to_top = false ] )

apache_setenv() устанавливает значение переменной окружения Apache, определенной как variable.

Замечание:

При установке перенной окружения Apache, соответствующая ей переменная $_SERVER не изменяется.

Список параметров

variable

Переменная окружения, которую требуется установить.

value

Новое значение переменной variable.

walk_to_top

Делать ли доступной переменную для всех уровней Apache.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования apache_setenv() для установки переменной окружения Apache.

<?php
apache_setenv("EXAMPLE_VAR", "Какое-либо значение");
?>

Примечания

Замечание:

apache_setenv() можно использовать вместе с apache_getenv() на разных страницах или для определения переменных, которые требуется передать включениям на стороне сервера SSI (.shtml), которые, в свою очередь, были включены в PHP скрипты.

Смотрите также

  • apache_getenv() - Получить переменную окружения подпроцесса сервера Apache

apache_response_headers
getallheaders
Apache


Возвращает все заголовки HTTP-запроса

apache_setenv
virtual
Apache
PHP Manual

getallheaders

(PHP 4, PHP 5)

getallheaders — Возвращает все заголовки HTTP-запроса

Описание

array getallheaders ( void )

Возвращает все заголовки для текущего HTTP-запроса.

Эта функция является псевдонимом функции apache_request_headers(). Пожалуйста, обратитесь к описанию функции apache_request_headers() для получения детальной информации о ее работе.

Возвращаемые значения

Ассоциативный массив, содержащий все HTTP-заголовки для данного запроса или FALSE в случае возникновения ошибок.

Список изменений

Версия | Описание
5.4.0 | Эта функция стала доступной при использовании FastCGI. Ранее она была доступна только если PHP был установлен, как модуль Apache.
4.3.3 | Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.
4.3.0 | Функция стала псевдонимом для apache_request_headers(). Соответственно, она была переименована. Это связано с тем, что данная функция работоспособна только в том случае, если PHP был собран в качестве модуля Apache.

Примеры

Пример #1 Пример использования getallheaders()

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

?>

Смотрите также

  • apache_response_headers() - Возвращает список всех HTTP заголовков ответа Apache

apache_setenv
virtual
Apache


Выполняет подзапрос Apache

getallheaders
IIS
Apache
PHP Manual

virtual

(PHP 4, PHP 5)

virtual — Выполняет подзапрос Apache

Описание

bool virtual ( string $filename )

Функция virtual() специфична для сервера Apache и является эквивалентом конструкции <!--#include virtual...-->, используемой в mod_include. Данная функция выполняет подзапрос Apache. Это бывает полезным в тех случаях, когда необходимо включить в свой скрипт результат выполнения других CGI-скриптов или файлов .shtml, а также добавления всего, что должно быть обработано Apache. Обратите внимание, что CGI-скрипты должны отдавать корректные CGI-заголовки. Как минимум, CGI-скрипт должен создавать заголовок Content-Type.

Перед тем, как осуществится выполнение подзапроса, все буферы сбрасываются и выдаются в браузер, при этом отсылаются заголовки, помещенные в буфер.

Эта функция поддерживается только если PHP установлен в качестве модуля Apache.

Список параметров

filename

Имя файла, для которого будет выполнен подзапрос.

Возвращаемые значения

Результат выполнения подзапроса в случае успеха или FALSE в случае ошибки.

Список изменений

Версия | Описание
4.3.3 | Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.
4.0.6 | Данную функцию стало возможно использовать для файлов PHP. Тем не менее, для файлов PHP лучше использовать функции include() или require().

Примеры

Пример использования смотрите в функции apache_note().

Примечания

Внимание

Строка запроса может быть передана вызываемому файлу, однако значение переменной $_GET будет скопировано из родительского скрипта, лишь $_SERVER['QUERY_STRING'] будет содержать переданную строку запроса. Строка запроса может быть передана только при использовании Apache 2. Запрошенный файл не будет отражен в журнале доступа (access log) Apache.

Замечание:

Переменные окружения, установленные в запрошенном файле, не видимы из вызвавшего его скрипта.

Смотрите также

  • apache_note() - Возвращает и установливает уведомления к запросу Apache

getallheaders
IIS
Apache


IIS Administration

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • IIS Функции
    • iis_add_server — Creates a new virtual web server
    • iis_get_dir_security — Gets Directory Security
    • iis_get_script_map — Gets script mapping on a virtual directory for a specific extension
    • iis_get_server_by_comment — Return the instance number associated with the Comment
    • iis_get_server_by_path — Return the instance number associated with the Path
    • iis_get_server_rights — Gets server rights
    • iis_get_service_state — Returns the state for the service defined by ServiceId
    • iis_remove_server — Removes the virtual web server indicated by ServerInstance
    • iis_set_app_settings — Creates application scope for a virtual directory
    • iis_set_dir_security — Sets Directory Security
    • iis_set_script_map — Sets script mapping on a virtual directory
    • iis_set_server_rights — Sets server rights
    • iis_start_server — Starts the virtual web server
    • iis_start_service — Starts the service defined by ServiceId
    • iis_stop_server — Stops the virtual web server
    • iis_stop_service — Stops the service defined by ServiceId
virtual
Введение
Расширения для работы с серверами


Введение

This extension is available for Win32 only. It provides functions to administrate Microsoft Internet Information Server (IIS). The extension includes function to create web sites and virtual directories as well as configuring security and script mapping. These functions have been added in PHP 4.

IIS
Установка и настройка
IIS


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
IIS


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/iisfunc.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

IIS_READ (integer)
IIS_WRITE (integer)
IIS_EXECUTE (integer)
IIS_SCRIPT (integer)
IIS_ANONYMOUS (integer)
IIS_BASIC (integer)
IIS_NTLM (integer)
IIS_STARTING (integer)
IIS_STOPPED (integer)
IIS_PAUSED (integer)
IIS_RUNNING (integer)
Типы ресурсов
IIS Функции
IIS


IIS Функции

Содержание

  • iis_add_server — Creates a new virtual web server
  • iis_get_dir_security — Gets Directory Security
  • iis_get_script_map — Gets script mapping on a virtual directory for a specific extension
  • iis_get_server_by_comment — Return the instance number associated with the Comment
  • iis_get_server_by_path — Return the instance number associated with the Path
  • iis_get_server_rights — Gets server rights
  • iis_get_service_state — Returns the state for the service defined by ServiceId
  • iis_remove_server — Removes the virtual web server indicated by ServerInstance
  • iis_set_app_settings — Creates application scope for a virtual directory
  • iis_set_dir_security — Sets Directory Security
  • iis_set_script_map — Sets script mapping on a virtual directory
  • iis_set_server_rights — Sets server rights
  • iis_start_server — Starts the virtual web server
  • iis_start_service — Starts the service defined by ServiceId
  • iis_stop_server — Stops the virtual web server
  • iis_stop_service — Stops the service defined by ServiceId
Предопределенные константы
iis_add_server
IIS


Creates a new virtual web server

IIS Функции
iis_get_dir_security
IIS Функции
PHP Manual

iis_add_server

(PECL iisfunc SVN)

iis_add_server — Creates a new virtual web server

Описание

int iis_add_server ( string $path , string $comment , string $server_ip , int $port , string $host_name , int $rights , int $start_server )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

IIS Функции
iis_get_dir_security
IIS Функции


Gets Directory Security

iis_add_server
iis_get_script_map
IIS Функции
PHP Manual

iis_get_dir_security

(PECL iisfunc SVN)

iis_get_dir_security — Gets Directory Security

Описание

int iis_get_dir_security ( int $server_instance , string $virtual_path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_add_server
iis_get_script_map
IIS Функции


Gets script mapping on a virtual directory for a specific extension

iis_get_dir_security
iis_get_server_by_comment
IIS Функции
PHP Manual

iis_get_script_map

(PECL iisfunc SVN)

iis_get_script_map — Gets script mapping on a virtual directory for a specific extension

Описание

string iis_get_script_map ( int $server_instance , string $virtual_path , string $script_extension )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_get_dir_security
iis_get_server_by_comment
IIS Функции


Return the instance number associated with the Comment

iis_get_script_map
iis_get_server_by_path
IIS Функции
PHP Manual

iis_get_server_by_comment

(PECL iisfunc SVN)

iis_get_server_by_comment — Return the instance number associated with the Comment

Описание

int iis_get_server_by_comment ( string $comment )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_get_script_map
iis_get_server_by_path
IIS Функции


Return the instance number associated with the Path

iis_get_server_by_comment
iis_get_server_rights
IIS Функции
PHP Manual

iis_get_server_by_path

(PECL iisfunc SVN)

iis_get_server_by_path — Return the instance number associated with the Path

Описание

int iis_get_server_by_path ( string $path )

Each virtual server in IIS is associated with an instance number. iis_get_server_by_path() finds the instance number from the actual path to the root directory.

Список параметров

path

The path to the root directory

Возвращаемые значения

Returns the server instance number.

iis_get_server_by_comment
iis_get_server_rights
IIS Функции


Gets server rights

iis_get_server_by_path
iis_get_service_state
IIS Функции
PHP Manual

iis_get_server_rights

(PECL iisfunc SVN)

iis_get_server_rights — Gets server rights

Описание

int iis_get_server_rights ( int $server_instance , string $virtual_path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_get_server_by_path
iis_get_service_state
IIS Функции


Returns the state for the service defined by ServiceId

iis_get_server_rights
iis_remove_server
IIS Функции
PHP Manual

iis_get_service_state

(PECL iisfunc SVN)

iis_get_service_state — Returns the state for the service defined by ServiceId

Описание

int iis_get_service_state ( string $service_id )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_get_server_rights
iis_remove_server
IIS Функции


Removes the virtual web server indicated by ServerInstance

iis_get_service_state
iis_set_app_settings
IIS Функции
PHP Manual

iis_remove_server

(PECL iisfunc SVN)

iis_remove_server — Removes the virtual web server indicated by ServerInstance

Описание

int iis_remove_server ( int $server_instance )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_get_service_state
iis_set_app_settings
IIS Функции


Creates application scope for a virtual directory

iis_remove_server
iis_set_dir_security
IIS Функции
PHP Manual

iis_set_app_settings

(PECL iisfunc SVN)

iis_set_app_settings — Creates application scope for a virtual directory

Описание

int iis_set_app_settings ( int $server_instance , string $virtual_path , string $application_scope )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_remove_server
iis_set_dir_security
IIS Функции


Sets Directory Security

iis_set_app_settings
iis_set_script_map
IIS Функции
PHP Manual

iis_set_dir_security

(PECL iisfunc SVN)

iis_set_dir_security — Sets Directory Security

Описание

int iis_set_dir_security ( int $server_instance , string $virtual_path , int $directory_flags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_set_app_settings
iis_set_script_map
IIS Функции


Sets script mapping on a virtual directory

iis_set_dir_security
iis_set_server_rights
IIS Функции
PHP Manual

iis_set_script_map

(PECL iisfunc SVN)

iis_set_script_map — Sets script mapping on a virtual directory

Описание

int iis_set_script_map ( int $server_instance , string $virtual_path , string $script_extension , string $engine_path , int $allow_scripting )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_set_dir_security
iis_set_server_rights
IIS Функции


Sets server rights

iis_set_script_map
iis_start_server
IIS Функции
PHP Manual

iis_set_server_rights

(PECL iisfunc SVN)

iis_set_server_rights — Sets server rights

Описание

int iis_set_server_rights ( int $server_instance , string $virtual_path , int $directory_flags )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_set_script_map
iis_start_server
IIS Функции


Starts the virtual web server

iis_set_server_rights
iis_start_service
IIS Функции
PHP Manual

iis_start_server

(PECL iisfunc SVN)

iis_start_server — Starts the virtual web server

Описание

int iis_start_server ( int $server_instance )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_set_server_rights
iis_start_service
IIS Функции


Starts the service defined by ServiceId

iis_start_server
iis_stop_server
IIS Функции
PHP Manual

iis_start_service

(PECL iisfunc SVN)

iis_start_service — Starts the service defined by ServiceId

Описание

int iis_start_service ( string $service_id )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_start_server
iis_stop_server
IIS Функции


Stops the virtual web server

iis_start_service
iis_stop_service
IIS Функции
PHP Manual

iis_stop_server

(PECL iisfunc SVN)

iis_stop_server — Stops the virtual web server

Описание

int iis_stop_server ( int $server_instance )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_start_service
iis_stop_service
IIS Функции


Stops the service defined by ServiceId

iis_stop_server
NSAPI
IIS Функции
PHP Manual

iis_stop_service

(PECL iisfunc SVN)

iis_stop_service — Stops the service defined by ServiceId

Описание

int iis_stop_service ( string $service_id )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

iis_stop_server
NSAPI
IIS Функции


NSAPI

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • NSAPI Функции
    • nsapi_request_headers — Fetch all HTTP request headers
    • nsapi_response_headers — Fetch all HTTP response headers
    • nsapi_virtual — Perform an NSAPI sub-request
iis_stop_service
Введение
Расширения для работы с серверами


Введение

These functions are only available when running PHP as a NSAPI module in Netscape/iPlanet/Sun webservers.

NSAPI
Установка и настройка
NSAPI


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
NSAPI


Установка

For PHP installation on Netscape/iPlanet/Sun webservers see the NSAPI section (UNIX, Windows) in the installation chapter.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

The behaviour of the NSAPI PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by additional parameters to the php4_execute call in obj.conf

NSAPI configuration options
Name | Default | Changeable | Changelog
nsapi.read_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.3.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

nsapi.read_timeout integer

Sets the time in seconds the plugin is waiting for POST data from the client.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
NSAPI Функции
NSAPI


NSAPI Функции

Смотрите также

NSAPI implements a subset of the functions from the Apache module for maximum compatibility.

Apache functions implemented by NSAPI
Apache function (only as alias) | NSAPI function | Description
apache_request_headers() | nsapi_request_headers() | Fetch all HTTP request headers
apache_response_headers() | nsapi_response_headers() | Fetch all HTTP response headers
getallheaders() | nsapi_request_headers() | Fetch all HTTP request headers
virtual() | nsapi_virtual() | Make NSAPI sub-request

Содержание

  • nsapi_request_headers — Fetch all HTTP request headers
  • nsapi_response_headers — Fetch all HTTP response headers
  • nsapi_virtual — Perform an NSAPI sub-request
Предопределенные константы
nsapi_request_headers
NSAPI


Fetch all HTTP request headers

NSAPI Функции
nsapi_response_headers
NSAPI Функции
PHP Manual

nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_request_headers — Fetch all HTTP request headers

Описание

array nsapi_request_headers ( void )

nsapi_request_headers() gets all the HTTP headers in the current request. This is only supported when PHP runs as a NSAPI module.

Замечание:

Prior to PHP 4.3.3, getallheaders() was only available for the Apache servers. After PHP 4.3.3, getallheaders() is an alias for nsapi_request_headers() if you use the NSAPI module.

Замечание:

You can also get at the value of the common CGI variables by reading them from the $_SERVER superglobal, which works whether or not you are using PHP as a NSAPI module.

Возвращаемые значения

Returns an associative array with all the HTTP headers.

Примеры

Пример #1 nsapi_request_headers() example

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

NSAPI Функции
nsapi_response_headers
NSAPI Функции


Fetch all HTTP response headers

nsapi_request_headers
nsapi_virtual
NSAPI Функции
PHP Manual

nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_response_headers — Fetch all HTTP response headers

Описание

array nsapi_response_headers ( void )

Gets all the NSAPI response headers.

Возвращаемые значения

Returns an associative array with all the NSAPI response headers.

Смотрите также

  • nsapi_request_headers() - Fetch all HTTP request headers
  • headers_sent() - Checks if or where headers have been sent

nsapi_request_headers
nsapi_virtual
NSAPI Функции


Perform an NSAPI sub-request

nsapi_response_headers
Расширения для работы с сессиями
NSAPI Функции
PHP Manual

nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5)

nsapi_virtual — Perform an NSAPI sub-request

Описание

bool nsapi_virtual ( string $uri )

nsapi_virtual() is an NSAPI-specific function which is equivalent to <!--#include virtual...--> in SSI (.shtml files). It does an NSAPI sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you'd parse through webserver.

To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

You cannot make recursive requests with this function to other PHP scripts. If you want to include PHP scripts, use include() or require().

Замечание:

This function depends on a undocumented feature of the Netscape/iPlanet/Sun webservers. Use phpinfo() to determine if it is available. In the Unix environment it should always work, in Windows it depends on the name of a ns-httpdXX.dll file.

Read the note about subrequests in the NSAPI section (UNIX, Windows) if you experience this problem.

Список параметров

uri

The URI of the script.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

nsapi_response_headers
Расширения для работы с сессиями
NSAPI Функции


Расширения для работы с сессиями

  • Msession — Mohawk Software Session Handler Functions
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Msession Функции
  • Сессии — Управление сессиями
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Отслеживание прогресса загрузки файлов с помощью сессий
    • Безопасность сессий
    • Session Функции
  • Session PgSQL — PostgreSQL Session Save Handler
    • Введение
    • Установка и настройка
    • Table definitions
    • Предопределенные константы
    • Session PgSQL Функции
nsapi_virtual
Msession
Справочник функций


Mohawk Software Session Handler Functions

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Msession Функции
    • msession_connect — Connect to msession server
    • msession_count — Get session count
    • msession_create — Create a session
    • msession_destroy — Destroy a session
    • msession_disconnect — Close connection to msession server
    • msession_find — Find all sessions with name and value
    • msession_get_array — Get array of msession variables
    • msession_get_data — Get data session unstructured data
    • msession_get — Get value from session
    • msession_inc — Increment value in session
    • msession_list — List all sessions
    • msession_listvar — List sessions with variable
    • msession_lock — Lock a session
    • msession_plugin — Call an escape function within the msession personality plugin
    • msession_randstr — Get random string
    • msession_set_array — Set msession variables from an array
    • msession_set_data — Set data session unstructured data
    • msession_set — Set value in session
    • msession_timeout — Set/get session timeout
    • msession_uniq — Get unique id
    • msession_unlock — Unlock a session
Расширения для работы с сессиями
Введение
Расширения для работы с сессиями


Введение

msession is an interface to a high speed session daemon which can run either locally or remotely. It is designed to provide consistent session management for a PHP web farm. More Information about msession and the session server software itself can be found at » http://www.mohawksoft.org/?q=node/8.

Замечание: Для Windows-платформ это расширение недоступно.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.3.

Msession
Установка и настройка
Msession


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Msession


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/msession.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.3

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Msession Функции
Msession


Msession Функции

Содержание

  • msession_connect — Connect to msession server
  • msession_count — Get session count
  • msession_create — Create a session
  • msession_destroy — Destroy a session
  • msession_disconnect — Close connection to msession server
  • msession_find — Find all sessions with name and value
  • msession_get_array — Get array of msession variables
  • msession_get_data — Get data session unstructured data
  • msession_get — Get value from session
  • msession_inc — Increment value in session
  • msession_list — List all sessions
  • msession_listvar — List sessions with variable
  • msession_lock — Lock a session
  • msession_plugin — Call an escape function within the msession personality plugin
  • msession_randstr — Get random string
  • msession_set_array — Set msession variables from an array
  • msession_set_data — Set data session unstructured data
  • msession_set — Set value in session
  • msession_timeout — Set/get session timeout
  • msession_uniq — Get unique id
  • msession_unlock — Unlock a session
Предопределенные константы
msession_connect
Msession


Connect to msession server

Msession Функции
msession_count
Msession Функции
PHP Manual

msession_connect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_connect — Connect to msession server

Описание

bool msession_connect ( string $host , string $port )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Msession Функции
msession_count
Msession Функции


Get session count

msession_connect
msession_create
Msession Функции
PHP Manual

msession_count

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_count — Get session count

Описание

int msession_count ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_connect
msession_create
Msession Функции


Create a session

msession_count
msession_destroy
Msession Функции
PHP Manual

msession_create

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_create — Create a session

Описание

bool msession_create ( string $session [, string $classname [, string $data ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_count
msession_destroy
Msession Функции


Destroy a session

msession_create
msession_disconnect
Msession Функции
PHP Manual

msession_destroy

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_destroy — Destroy a session

Описание

bool msession_destroy ( string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_create
msession_disconnect
Msession Функции


Close connection to msession server

msession_destroy
msession_find
Msession Функции
PHP Manual

msession_disconnect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_disconnect — Close connection to msession server

Описание

void msession_disconnect ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_destroy
msession_find
Msession Функции


Find all sessions with name and value

msession_disconnect
msession_get_array
Msession Функции
PHP Manual

msession_find

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_find — Find all sessions with name and value

Описание

array msession_find ( string $name , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_disconnect
msession_get_array
Msession Функции


Get array of msession variables

msession_find
msession_get_data
Msession Функции
PHP Manual

msession_get_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_array — Get array of msession variables

Описание

array msession_get_array ( string $session )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_find
msession_get_data
Msession Функции


Get data session unstructured data

msession_get_array
msession_get
Msession Функции
PHP Manual

msession_get_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_data — Get data session unstructured data

Описание

string msession_get_data ( string $session )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_get_array
msession_get
Msession Функции


Get value from session

msession_get_data
msession_inc
Msession Функции
PHP Manual

msession_get

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get — Get value from session

Описание

string msession_get ( string $session , string $name , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_get_data
msession_inc
Msession Функции


Increment value in session

msession_get
msession_list
Msession Функции
PHP Manual

msession_inc

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_inc — Increment value in session

Описание

string msession_inc ( string $session , string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_get
msession_list
Msession Функции


List all sessions

msession_inc
msession_listvar
Msession Функции
PHP Manual

msession_list

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_list — List all sessions

Описание

array msession_list ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_inc
msession_listvar
Msession Функции


List sessions with variable

msession_list
msession_lock
Msession Функции
PHP Manual

msession_listvar

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_listvar — List sessions with variable

Описание

array msession_listvar ( string $name )

Used for searching sessions with common attributes.

Список параметров

name

The name being searched.

Возвращаемые значения

Returns an associative array of value/session for all sessions with a variable named name.

msession_list
msession_lock
Msession Функции


Lock a session

msession_listvar
msession_plugin
Msession Функции
PHP Manual

msession_lock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_lock — Lock a session

Описание

int msession_lock ( string $name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_listvar
msession_plugin
Msession Функции


Call an escape function within the msession personality plugin

msession_lock
msession_randstr
Msession Функции
PHP Manual

msession_plugin

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_plugin — Call an escape function within the msession personality plugin

Описание

string msession_plugin ( string $session , string $val [, string $param ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_lock
msession_randstr
Msession Функции


Get random string

msession_plugin
msession_set_array
Msession Функции
PHP Manual

msession_randstr

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_randstr — Get random string

Описание

string msession_randstr ( int $param )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_plugin
msession_set_array
Msession Функции


Set msession variables from an array

msession_randstr
msession_set_data
Msession Функции
PHP Manual

msession_set_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_array — Set msession variables from an array

Описание

void msession_set_array ( string $session , array $tuples )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_randstr
msession_set_data
Msession Функции


Set data session unstructured data

msession_set_array
msession_set
Msession Функции
PHP Manual

msession_set_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_data — Set data session unstructured data

Описание

bool msession_set_data ( string $session , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_set_array
msession_set
Msession Функции


Set value in session

msession_set_data
msession_timeout
Msession Функции
PHP Manual

msession_set

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set — Set value in session

Описание

bool msession_set ( string $session , string $name , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_set_data
msession_timeout
Msession Функции


Set/get session timeout

msession_set
msession_uniq
Msession Функции
PHP Manual

msession_timeout

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_timeout — Set/get session timeout

Описание

int msession_timeout ( string $session [, int $param ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_set
msession_uniq
Msession Функции


Get unique id

msession_timeout
msession_unlock
Msession Функции
PHP Manual

msession_uniq

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_uniq — Get unique id

Описание

string msession_uniq ( int $param [, string $classname [, string $data ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_timeout
msession_unlock
Msession Функции


Unlock a session

msession_uniq
Сессии
Msession Функции
PHP Manual

msession_unlock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_unlock — Unlock a session

Описание

int msession_unlock ( string $session , int $key )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

msession_uniq
Сессии
Msession Функции


Управление сессиями

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic usage
    • Передача идентификатора сессии
    • Пользовательские обработчики сессии
  • Отслеживание прогресса загрузки файлов с помощью сессий
  • Безопасность сессий
  • Session Функции
    • session_cache_expire — Return current cache expire
    • session_cache_limiter — Get and/or set the current cache limiter
    • session_commit — Псевдоним session_write_close
    • session_decode — Decodes session data from a string
    • session_destroy — Destroys all data registered to a session
    • session_encode — Encodes the current session data as a string
    • session_get_cookie_params — Get the session cookie parameters
    • session_id — Get and/or set the current session id
    • session_is_registered — Find out whether a global variable is registered in a session
    • session_module_name — Get and/or set the current session module
    • session_name — Get and/or set the current session name
    • session_regenerate_id — Update the current session id with a newly generated one
    • session_register — Register one or more global variables with the current session
    • session_save_path — Get and/or set the current session save path
    • session_set_cookie_params — Set the session cookie parameters
    • session_set_save_handler — Sets user-level session storage functions
    • session_start — Initialize session data
    • session_unregister — Unregister a global variable from the current session
    • session_unset — Free all session variables
    • session_write_close — Write session data and end session
msession_unlock
Введение
Расширения для работы с сессиями


Введение

Поддержка сессий в PHP заключается в способе сохранения некоторых данных между несколькими последовательными доступами. Это позволяет наилучшим образом разработать индивдуальные приложения и увеличить привлекательность веб-сайта.

Каждому посетителю сайта присваивается уникальный идентификатор, называемый идентификатором сессии (session id). Он хранится либо в cookie на стороне пользователя, либо передается через URL.

Поддержка сессий позволяет регистрировать произвольное количество переменных с целью их сохранения между запросами. В тот момент, когда посетитель получает доступ к сайту, PHP проверяет (автоматически, если session.auto_start установлено в 1, или по запросу явным образом через вызов session_start() или неявным через session_register()), если определенный идентификатор сессии послан вместе с запросом. Если это так, восстанавливается сохраненное ранее окружение.

Предостережение

При включенном session.auto_start, единственным способом помещения объектов в сессию останется загрузка описаний класса с помощью auto_prepend_file. В противном случае придется выполнить сериализацию (serialize()) и десериализацию (unserialize()) объекта вручную.

Все зарегистрированные переменные сериализуются после выполнения запроса. Зарегистрированные, но неопределенные переменные помечаются как неопределенные. При последующих доступах они не определяются сессионным модулем пока пользователь заново не определит их.

Внимание

Некоторые типы данных не могут быть сериализованы и, таким образом, не могут храниться в сессии. Эти типы включают в себя переменные типа resource и объекты с циклическими ссылками (например, объекты, которые передают ссылку сами на себя через другой объект).

Замечание:

При работе с сессиями обратите внимание, что запись в сессии не создается прежде чем переменная регистрируется через функцию session_register() или через добавление нового ключа в суперглобальном массиве $_SESSION. Это правило действует вне зависимости от того, была ли сессия запущена с использованием функции session_start().

Замечание:

В PHP 5.2.2 была добавлена незадокументированная возможность, позволяющая хранить сессионный файлы в каталоге "/tmp" даже если open_basedir была включена и "/tmp" не был явным образом добавлен в список разрешенных путей. Эта особенность была убрана из PHP по состоянию на PHP 5.3.0.

Сессии
Установка и настройка
Сессии


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Сессии


Требования

Для сборки этого расширения не требуются внешние библиотеки.

Замечание:

При желании можно использовать квотирование разделяемой памяти (mm), разработанное Ralf S. Engelschall, для хранения сессии. Для этого необходимо скачать и установить » mm. Данная опция не доступна для платформ на базе ОС Windows. Следует также обратить внимание, что модуль хранения данных сессии при использовании mm не гарантирует блокировку информации сессии при параллельных запросах. Возможно, в таком случае целесообразно использование файловой системы в разделяемой памяти (Например, TMPFS в Solaris/Linux или /dev/md для BSD), чтобы хранить сессии в файлах, блокируемых при обращении к ним. Поскольку данные сессии хранятся в разделяемой памяти, перезапуск web-сервера приведет к их удалению.

Установка и настройка
Установка
Установка и настройка


Установка

Поддержка механизма сессий включена в PHP по умолчанию. Если необходимо собрать PHP без такой поддержки, нужно указать опцию --disable-session при конфигурации PHP. Для использования квотирования разделяемой памяти (mm) для хранения данных сессии необходимо сконфигурировать PHP с опцией --with-mm[=DIR] .

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание:

По умолчанию, все данные, связанные с конкретной сессией будут храниться в файле в директории, указанной в опции session.save_path файла конфигурации. Файл создается для каждой сессии (независимо от наличия ассоциированных с ней данных). Это связано с тем, что сессия открывается (создается файл), но никакие данные еще не записаны. Следует обратить внимание, что такое поведение является побочным эффектом ограничений в работе с файловой системой и вполне возможно, что пользовательский обработчик сессии (похожий на тот, что использует базу данных) не отслеживает файлы сессий, в которых нет хранимых данных.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки механизма сессий
Наименование | По умолчанию | Место изменения | История изменений
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Доступна с PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Доступна с PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Доступна с PHP 5.2.0.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Доступна с PHP 4.3.0.
session.referer_check | "" | PHP_INI_ALL |
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.2.3. PHP_INI_PERDIR в PHP < 5. Доступна с PHP 4.0.3.
session.bug_compat_42 | "1" | PHP_INI_ALL | Доступна с PHP 4.3.0. Упразднена в PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Доступна с PHP 4.3.0. Упразднена в PHP 5.4.0.
session.hash_function | "0" | PHP_INI_ALL | Доступна с PHP 5.0.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Доступна с PHP 5.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Доступна с PHP 4.0.4.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Доступна с PHP 5.4.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Система управления сессиями поддерживает ряд опций, которые могут быть указаны в файле php.ini. Ниже приводится краткий обзор.

session.save_handler string
session.save_handler определяет имя обработчика, который используется для хранения и извлечения данных, связанных с сессией. По умолчанию имеет значение files. Следует обратить внимание, что некоторые расширения могут зарегистрировать собственные обработчики (save_handler). Текущие зарегистрированные обработчики отображаются в phpinfo(). См. также session_set_save_handler().
session.save_path string
session.save_path определяет аргумент, который передается в обработчик сохранения. При установленном по умолчанию обработчике files, аргумент содержит путь, где будут создаваться файлы. См. также session_save_path().

У этой директивы также существует дополнительный аргумент N, определяющий глубину размещения файлов сессии относительно указанной директории. Например, указание '5;/tmp' может в конечном итоге привести к такому размещению файла сессии: /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . Для того, чтобы использовать аргумент N, необходимо предварительно создать все эти директории. Помочь в этом может небольшой скрипт, расположенный в ext/session. Версия для bash называется mod_files.sh, а Windows-версия - mod_files.bat. Также следует учитывать, что если N определен и больше 0, то автоматическая сборка мусора не выполняется, подробнее см. информацию в файле php.ini. Если используется N, необходимо также удостовериться, что значение session.save_path указано в кавычках, поскольку разделитель (;) в php.ini используется как знак комментария.

Внимание

Если установить в качестве значения общедоступную для чтения директорию, например, /tmp (по умолчанию), остальные пользователи сервера получат возможность перехватить сессию пользователя, получив список файлов такой директории.

Замечание: До версии PHP 4.3.6, для использования механизма сессий пользователям Windows приходилось изменять эту переменную. Необходимо было указать корректный путь, например, такой: c:/temp.

session.name string
session.name определяет название сессии, используемое как название Cookies. Может содержать только цифры и буквы. По умолчанию равно PHPSESSID. См. также session_name().
session.auto_start boolean
session.auto_start определяет, будет ли модуль сессии запускать сессию автоматически при старте. Значение по умолчанию 0 (отключено).
session.serialize_handler string
session.serialize_handler определяет имя обработчика, который используется для сериализации / десериализации данных. В настоящее время используется внутренний формат PHP (наименование php или php_binary), а также поддерживается WDDX (наименование wddx). WDDX доступен только в том случае, если PHP скомпилирован с поддержкой WDDX. Значение по умолчанию: php.
session.gc_probability integer
session.gc_probability в сочетании с session.gc_divisor определяет вероятность запуска функции сборщика мусора (gc, garbage collection). По умолчанию равна 1. См. подробнее в session.gc_divisor.
session.gc_divisor integer
session.gc_divisor в сочетании с session.gc_probability вероятность запуска функции сборщика мусора (gc, garbage collection) при каждой инициализации сессии. Вероятность рассчитывается как gc_probability/gc_divisor, т.е. 1/100 означает, что функция gc запускается в одном случае из ста, или 1% при каждом запросе. session.gc_divisor по умолчанию имеет значение 100.
session.gc_maxlifetime integer
session.gc_maxlifetime задает отсрочку времени в секундах, после которой данные будут рассматриваться как "мусор" и потенциально будут удалены. Сбор мусора может произойти в течение старта сессии (в зависимости от значений session.gc_probability и session.gc_divisor).

Замечание:

Если разные скрипты имеют разные значения session.gc_maxlifetime, но при этом одни и те же места для хранения данных сессии, то скрипт с минимальным значением уничтожит все данные. В таком случае следует использовать эту директиву вместе с session.save_path.

Замечание: Если по умолчанию используется обработчик file, файловая система должна отслеживать время доступа (access time, atime). Windows FAT этого не позволяет, при использовании данной файловой системы (или любой другой без поддержки отслеживания времени доступа) придется разрабатывать собственный способ сборки сессионного мусора. Начиная с версии PHP 4.2.3 используется mtime (modified date, дата изменений) вместо atime. В этом случае поддержка файловой системой atime не требуется.

session.referer_check string
session.referer_check содержит подстроку, которую можно использовать при проверке HTTP Referer. Если клиентом был послан referer и подстрока не была выявлена, то идентификатор сессии будет помечен как недействительный. По умолчанию используется пустая строка.
session.entropy_file string
session.entropy_file содержит путь к ресурсу (файлу), используемому как дополнительный источник энтропии в процессе создания идентификатора сессии. Например, /dev/random или /dev/urandom, которые доступны на многих Unix-системах. Эта возможность также поддерживается в Windows начиная с версии PHP 5.3.3. Указание ненулевого значения в session.entropy_length предписывает PHP использовать в качестве источника энтропии Windows Random API.
session.entropy_length integer
session.entropy_length определяет количество байт, которые будут прочитаны из вышеуказанного файла. По умолчанию 0 (отключено).
session.use_cookies boolean
session.use_cookies определяет, будет ли модуль использовать cookies для хранения идентификатора сессии на стороне клиента. По умолчанию 1 (включено).
session.use_only_cookies boolean
session.use_only_cookies определяет, будет ли модуль использовать только cookies для хранения идентификатора сессии на стороне клиента. Включение этого параметра предотвращает атаки с использованием идентификатора сессии, размещенного в URL. Добавлено в PHP 4.3.0. Значение по умолчанию 1 (включено) с версии PHP 5.3.0.
session.cookie_lifetime integer
session.cookie_lifetime указывает время жизни cookies, отправляемого в браузер клиента, в секундах. Значение 0 означает, что cookies будут валидны до закрытия браузера. По умолчанию равно 0. См. также session_get_cookie_params() и session_set_cookie_params().

Замечание:

Отметка окончания времени устанавливается по отношению к серверному времени, который не обязательно совпадает с временем в браузере клиента.

session.cookie_path string
session.cookie_path определяет устанавливаемый путь в сессионной cookie. По умолчанию /. См. также session_get_cookie_params() и session_set_cookie_params().
session.cookie_domain string
session.cookie_domain определяет устанавливаемый домен в сессионной cookie. В соответствии со спецификацией нет смысла дополнительно указывать имя хоста, который сгенерировал cookies. См. также session_get_cookie_params() и session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure указывает, должны ли cookies передаваться только через защищенное соединение. По умолчанию off. Добавлено в версии PHP 4.0.4. См. также session_get_cookie_params() и session_set_cookie_params().
session.cookie_httponly boolean
Отметка, согласно которой доступ к cookies может быть получен только через HTTP протокол. Это означает, что cookies не будут доступны через скриптовые языки, такие как JavaScrupt. Данная настройка позволяет эффективно защитить от XSS атак (к сожалению, эта функция поддерживается не всеми браузерами).
session.cache_limiter string
session.cache_limiter определяет метод контроля кэша, используемого для страниц сессий. Может принимать одно из следующих значений: nocache, private, private_no_expire или public. По умолчанию nocache. Подробнее о данных значениях смотрите в session_cache_limiter().
session.cache_expire integer
session.cache_expire указывает время жизни кэшированных страниц сессий в минутах, это никак не влияет на ограничитель nocache. По умолчанию 180. См. также session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid указывает, используется ли прозрачная поддержка sid или нет. По умолчанию 0 (отключено).

Замечание: В PHP 4.1.2 и более ранних версиях, данная опция доступна при компиляции с --enable-trans-sid. Начиная с PHP 4.2.0, возможность trans-sid всегда доступна. Управление сессией на основе URL имеет дополнительные риски безопасности по сравнению с управлением на основе cookies. В качестве примера можно упомянуть такие ситуации, когда пользователи могут отправить URL, содержащий идентификатор активной сессии своим друзьям по электронной почте или сохранить ссылку с идентификатором в закладках и все время посещать сайт с одним и тем же идентификатором.

session.bug_compat_42 boolean
PHP версии 4.2.3 и более ранние имеют недокументированную особенность/ошибку, позволяющую инициализировать переменную сессии как глобальную при отключенной директиве register_globals. PHP 4.3.0 и более поздние предупреждают, если используется эта особенность и включена опция session.bug_compat_warn. Эта особенность/ошибка может быть отключена при отключении данной директивы.
session.bug_compat_warn boolean
PHP версии 4.2.3 и более ранние имеют недокументированную особенность/ошибку, позволяющую инициализировать переменную сессии как глобальную, при отключенной директиве register_globals. PHP 4.3.0 и более поздние предупреждают, если используется эта особенность при помощи включения директив session.bug_compat_42 и session.bug_compat_warn.
session.hash_function mixed
session.hash_function позволяет указать алгоритм хэширования, используемый для генерации идентификатора сессии. '0' означает MD5 (128 bits), а '1' означает SHA-1 (160 bits).

Начиная с PHP 5.3.0 также стало возможным указать любой из алгоритмов, предусмотренных расширением hash (если оно доступно), например sha512 или whirlpool. Полный список алгоритмов может быть получен с помощью функции hash_algos().

Замечание:

Эта опция была добавлена в PHP 5.

session.hash_bits_per_character integer
session.hash_bits_per_character позволяет указать сколько бит хранится в каждом символе при преобразовании бинарного представления во что-либо более удобочитаемое. Возможные значения: '4' (0-9, a-f), '5' (0-9, a-v) и '6' (0-9, a-z, A-Z, "-", ",").

Замечание:

Эта опция была добавлена в PHP 5.

url_rewriter.tags string
url_rewriter.tags определяет, какие HTML-теги будут переписаны при включении идентификатора сессии при условии включенной поддержки transparent sid. По умолчанию a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=

Замечание: Если необходимо строгое соответствие HTML/XHTML, то следует удалить элементы form из документа и использовать тэг <fieldset> в HTML формах.

session.upload_progress.enabled boolean
Включает отслеживание прогресса загрузки файлов и заполнение соответствующей переменной в массиве $_SESSION. По умолчанию равна 1, включена.
session.upload_progress.cleanup boolean
Чистка информации о прогрессе загрузки файлов по завершении обработки POST-данных (т.е. по завершении загрузки). По умолчанию равна 1, включена.

Замечание: Строго рекомендуется не отключать эту опцию.

session.upload_progress.prefix string
Префикс, используемый для ключа прогресса загрузки в массиве $_SESSION. Для обеспечения уникальности данный ключ будет присоединен к значению $_POST[ini_get("session.upload_progress.name")]. По умолчанию равен "upload_progress_".
session.upload_progress.name string
Имя ключа, используемого в массиве $_SESSION, для хранения информации о прогрессе. Смотрите также директиву session.upload_progress.prefix. Если элемент $_POST[ini_get("session.upload_progress.name")] не передан, прогресс загрузки данного файла не будет отслеживаться. По умолчанию равно "PHP_SESSION_UPLOAD_PROGRESS".
session.upload_progress.freq mixed
Определяет частоту обновления информации о прогрессе загрузки. Можно указать значение в байтах (т.е. "обновлять информацию о прогрессе каждые 100 байт") или в процентах (т.е. "обновлять информацию о прогрессе после получения 1% данных от размера файла"). По умолчанию равна "1%".
session.upload_progress.min-freq integer
Минимальная задержка между обновлениями, в секундах. По умолчанию равна "1" (одной секунде).

Настройки track_vars и register_globals влияют на способ хранения и использования переменных сессии.

Прогресс загрузки файлов не будет обрабатываться, если не включена опция session.upload_progress.enabled и не установлена переменная $_POST[ini_get("session.upload_progress.name")]. Подробнее об этом смотрите в главе "Отслеживание прогресса загрузки файлов с помощью сессий".

Замечание:

Начиная с PHP 4.0.3, опция track_vars постоянно включена.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SID (string)
Константа, содеращая либо имя сессии и идентификатор в виде "name=ID" либо пустую строку, если идентификатор сессии был установлен в соответствующие куки. Это тот же идентификатор, что возвращает функция session_id().
Типы ресурсов
Примеры
Сессии


Примеры

Содержание

  • Basic usage
  • Передача идентификатора сессии
  • Пользовательские обработчики сессии
Предопределенные константы
Basic usage
Сессии


Basic usage

Замечание:

По состоянию на PHP 4.1.0, $_SESSION доступна в качестве глобальной переменной так же, как доступны $_POST, $_GET, $_REQUEST и прочие. В отличие от $HTTP_SESSION_VARS переменная $_SESSION всегда глобальна. Таким образом, нет необходимости в использовании ключевого слова global для $_SESSION. Обратите внимание, данная документация была изменена для повсеместного использования $_SESSION. Если вы предпочитаете старый стиль, можете использовать также $HTTP_SESSION_VARS вместо $_SESSION. Следует также отметить, что для доступа к $_SESSION необходимо предварительно выполнить session_start().

Имена ключей ассоциативного массива $_SESSION подчиняются тем же ограничениям, что и обычные имена переменных PHP. Например, они не могут начинаться с цифры и должны начинаться с буквы или знака нижнего подчеркивания. Для дополнительных деталей смотрите раздел о переменных данного руководства.

Если register_globals выключена, только члены глобального ассоциативного массива $_SESSION могут быть зарегистрированы в качестве сессионной переменной. Переменные восстановленной сессии могут быть доступны только в массиве $_SESSION.

Использование $_SESSION (или $HTTP_SESSION_VARS в PHP 4.0.6 и младше) рекомендуется для увеличения безопасности и повышения читаемости кода. При использовании $_SESSION нет необходимости в использовании функций session_register(), session_unregister() и session_is_registered(). Сессионные переменные доступны как и все прочие переменные.

Пример #1 Регистрация переменную с помощью $_SESSION.

<?php
session_start();
// Используем $HTTP_SESSION_VARS в PHP 4.0.6 или более ранних
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

Пример #2 Дерегистрация переменной с помощью $_SESSION при выключенной register_globals.

<?php
session_start();
// Используем $HTTP_SESSION_VARS в PHP 4.0.6 или более ранних
unset($_SESSION['count']);
?>

Предостережение

НЕ ОЧИЩАЙТЕ $_SESSION целиком, испольуя unset($_SESSION), так как это отключит возможность регистрации сессионных переменных через суперглобальную переменную $_SESSION.

Внимание

Вы не можете использовать ссылки в сессионных переменных, так как не существует реального способа восстановления ссылки к другой переменной.

Если register_globals включена, то любая глобальная переменная может быть зарегистрирована в качестве сессионной. При перезапуске сессии эти переменные будут восстановлены в соответствующие им глобальные переменные. Ввиду того, что PHP должен знать, какие именно глобальные переменные зарегистрированы в качестве сессионных, пользователям следует регистрировать переменные с использованием функции session_register(). Этого можно избежать при использовании только $_SESSION.

Предостережение

В версии PHP 4.3.0 и более ранних при использовании $_SESSION и выключенной register_globals, не пользуйтесь session_register(), session_is_registered() или session_unregister(). Рекомендуется выключить register_globals с точки зрения безопасности и производительности.

Если register_globals включена, то глобальные переменные и записи в $_SESSION будут автоматически ссылаться на одни и те же значения, которые были зарегистрированы в предыдущем экземпляре сессии. Тем не менее, если переменная зарегистрирована в $_SESSION, то глобальная переменная будет доступна начиная со следующего запроса.

В версии PHP 4.2.3 и более ранних присутствует дефект. Если зарегистрировать новую сессионную переменную, используя session_register(), то переменная в глобальной области и запись в $_SESSION не будут ссылаться на одно и то же значение до тех пор, пока не будет выполнен следующий session_start(). Это значит, что изменение вновь зарегистрированной глобальной переменной не будет отражено в $_SESSION. Это поведение было исправлено в PHP 4.3.0.

Примеры
Передача идентификатора сессии
Примеры


Передача идентификатора сессии

Существуют два метода передачи идентификатора сессии:

  • Cookies
  • Параметр URL

Модуль сессии поддерживает оба метода. Метод с cookies является оптимальным, но он не всегда доступен. Поэтому PHP предоставляет второй способ, который внедряет идентификатор сессии непосредственно в URL.

PHP умеет преобразовывать ссылки прорзачно. Однако, если вы используете версию PHP младше 4.2.0, вам следует включить эту возможность вручную при сборке PHP. Под UNIX следует передать конфигуратору опцию --enable-trans-sid. Если эта опция сборки и опция времени исполнения session.use_trans_sid включены, в относительные URI будут автоматически добавляться идентификаторы сессии.

Замечание:

Директива arg_separator.output из php.ini позволяет настраивать разделитель аргументов. Для полной совместимости с XHTML следует указывать &amp;.

В качестве альтернативы вы можете использовать константу SID, которая устанавливается при запуске сессии. Если клиентское ПО не хранит подходящую сессионную cookie, SID имеет вид session_name=session_id. В противном случае содержит пустую строку. Таким образом, вы можете в любом случае внедрять его в URL.

Приведенный ниже пример демонстрирует, как зарегистрировать переменную и как правильно построить ссылку на другую страницу, используя SID.

Пример #1 Подсчет количества посещений конкретного пользователя

<?php

session_start();

if (empty($_SESSION['count'])) {
 $_SESSION['count'] = 1;
} else {
 $_SESSION['count']++;
}
?>

<p>
Здравствуйте, посетитель, вы видели эту страницу <?php echo $_SESSION['count']; ?> раз.
</p>

<p>
<a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">Нажмите сюда
here</a>, чтобы продолжить.
</p>

Функция htmlspecialchars() может использоваться для вывода SID с целью предотвращения XSS-аттак.

Вывод SID способом, показанном выше, не является обязательным, если опция --enable-trans-sid была использована при компиляции PHP.

Замечание:

Подразумевается, что неотносительные URL указывают только на внешние сайты и потому SID к ним не добавляется, так как это увеличивало бы риски в области безопасности, в частности, риск утечки SID другому серверу.

Basic usage
Пользовательские обработчики сессии
Примеры


Пользовательские обработчики сессии

Для реализации хранилища данных (или любого иного хранилища) следует использовать session_set_save_handler(), чтобы создать набор пользовательских функций хранилища.

Передача идентификатора сессии
Отслеживание прогресса загрузки файлов с помощью сессий
Примеры


Отслеживание прогресса загрузки файлов с помощью сессий

PHP может отслеживать прогресс загрузки отдельных файлов при включенной опции session.upload_progress.enabled. Данная информация не особенно полезна для запроса, непосредственно закачивающего файл, однако, в течение данной загрузки приложение может посылать POST-запросы на отдельную страницу (например, с помощью XHR) для проверки статуса.

Прогресс закачки будет доступен в суперглобальной переменной $_SESSION в процессе закачки, а также при отправке POST-запросом переменной с именем равным значению опции session.upload_progress.name. Как только PHP обнаружит такой POST-запрос, он создаст массив в $_SESSION, ключом которого будет конкатенация значений опций session.upload_progress.prefix и session.upload_progress.name. Ключ обычно можно получить прочитав эти опции, т.е.:

<?php
$key = ini_get("session.upload_progress.prefix") . ini_get("session.upload-progress.name");
var_dump($_SESSION[$key]);
?>

Также возможно отменить загружаемый в данный момент файл, установив ключ $_SESSION[$key]["cancel_upload"] в значение TRUE. При загрузке нескольких файлов за один раз, это действие отменит только текущий загружаемый файл и все следующие за ним, но не удалит уже успешно загруженные к этому времени файлы. Если закачка была отменена этим способом, то элемент с ключом error в массиве $_FILES будет установлен в UPLOAD_ERR_EXTENSION.

Опции session.upload_progress.freq и session.upload_progress.min_freq контролируют частоту обновления информации о прогрессе загрузки. При разумных значениях этих двух настроек, накладные расходы данной функции практически неощутимы.

Пример #1 Пример

Пример структуры массива прогресса загрузки.

<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>

Данные в сессии будут выглядеть примерно так:

<?php
$_SESSION["upload_progress_123"] = array(
 "start_time" => 1234567890,   // Время начала запроса
 "content_length" => 57343257, // Длина содержимого POST
 "bytes_processed" => 453489,  // Количество полученных и обработанных байт
 "done" => false,              // true при завершении обработки POST, успешно или нет
 "files" => array(
  0 => array(
   "field_name" => "file1",       // Имя поля <input/>
   // Следующие 3 элемента аналогичны соответствующим элементам массива $_FILES
   "name" => "foo.avi",
   "tmp_name" => "/tmp/phpxxxxxx",
   "error" => 0,
   "done" => true,                // True, если обработчик POST закончил обработку данного файла
   "start_time" => 1234567890,    // Время начала обработки этого файла
   "bytes_processed" => 57343250, // Количество полученных и обработанных байт этого файла
  ),
  // И еще один файл, загрузка которого еще не закончена в том же запросе
  1 => array(
   "field_name" => "file2",
   "name" => "bar.avi",
   "tmp_name" => NULL,
   "error" => 0,
   "done" => false,
   "start_time" => 1234567899,
   "bytes_processed" => 54554,
  ),
 )
);

Пользовательские обработчики сессии
Безопасность сессий
Сессии


Безопасность сессий

Внешние ссылки: » Атака "Фиксация сессии"

Модуль сессии не позволяет гарантировать, что хранимая информация доступна только пользователю, который создал сессию. Необходимо принять дополнительные меры по защите целостности сессии основываясь на ассоциированных с ней данных.

Оценка важности данных, передаваемых в рамках сессии, важна для выбора мер по защите этой информации -- обычно это приводит к ухудшению удобства для конечного пользователя. Например, если необходимо защитить пользователя от простейших методов социальной инженерии, следует включить session.use_only_cookies. В данном случае со стороны пользовательского ПО обязательна поддержка кук, иначе механизм сессий не будет работать.

Существует несколько способов утечки существующего идентификатора сессии третьим лицам. Такая утечка позволяет злоумышленнику получить доступ ко всем данным, ассоциированным с конкретным идентификатором сессии. Во-первых, передача идентификатора сессии в URL. При переходе на внешний сайт идентификатор сессии пользователя и адрес ресурса могут попасть в статистику переходов данного сайта. Во-вторых, при более активной атаке возможно прослушивание сетевого трафика злоумышленником. Если канал передачи данных не зашифрован, идентификаторы сессии будут переданы в виде простого текста. В таком случае решением является обязательное использование SSL пользователями при доступе к сайту.

Отслеживание прогресса загрузки файлов с помощью сессий
Session Функции
Сессии


Session Функции

Содержание

  • session_cache_expire — Return current cache expire
  • session_cache_limiter — Get and/or set the current cache limiter
  • session_commit — Псевдоним session_write_close
  • session_decode — Decodes session data from a string
  • session_destroy — Destroys all data registered to a session
  • session_encode — Encodes the current session data as a string
  • session_get_cookie_params — Get the session cookie parameters
  • session_id — Get and/or set the current session id
  • session_is_registered — Find out whether a global variable is registered in a session
  • session_module_name — Get and/or set the current session module
  • session_name — Get and/or set the current session name
  • session_regenerate_id — Update the current session id with a newly generated one
  • session_register — Register one or more global variables with the current session
  • session_save_path — Get and/or set the current session save path
  • session_set_cookie_params — Set the session cookie parameters
  • session_set_save_handler — Sets user-level session storage functions
  • session_start — Initialize session data
  • session_unregister — Unregister a global variable from the current session
  • session_unset — Free all session variables
  • session_write_close — Write session data and end session
Безопасность сессий
session_cache_expire
Сессии


Return current cache expire

Session Функции
session_cache_limiter
Session Функции
PHP Manual

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expire — Return current cache expire

Описание

int session_cache_expire ([ string $new_cache_expire ] )

session_cache_expire() returns the current setting of session.cache_expire.

The cache expire is reset to the default value of 180 stored in session.cache_expire at request startup time. Thus, you need to call session_cache_expire() for every request (and before session_start() is called).

Список параметров

new_cache_expire

If new_cache_expire is given, the current cache expire is replaced with new_cache_expire.

Замечание: Setting new_cache_expire is of value only, if session.cache_limiter is set to a value different from nocache.

Возвращаемые значения

Returns the current setting of session.cache_expire. The value returned should be read in minutes, defaults to 180.

Примеры

Пример #1 session_cache_expire() example

<?php

/* set the cache limiter to 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* start the session */

session_start();

echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
?>

Смотрите также

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Get and/or set the current cache limiter

Session Функции
session_cache_limiter
Session Функции


Get and/or set the current cache limiter

session_cache_expire
session_commit
Session Функции
PHP Manual

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5)

session_cache_limiter — Get and/or set the current cache limiter

Описание

string session_cache_limiter ([ string $cache_limiter ] )

session_cache_limiter() returns the name of the current cache limiter.

The cache limiter defines which cache control HTTP headers are sent to the client. These headers determine the rules by which the page content may be cached by the client and intermediate proxies. Setting the cache limiter to nocache disallows any client/proxy caching. A value of public permits caching by proxies and the client, whereas private disallows caching by proxies and permits the client to cache the contents.

In private mode, the Expire header sent to the client may cause confusion for some browsers, including Mozilla. You can avoid this problem by using private_no_expire mode. The Expire header is never sent to the client in this mode.

The cache limiter is reset to the default value stored in session.cache_limiter at request startup time. Thus, you need to call session_cache_limiter() for every request (and before session_start() is called).

Список параметров

cache_limiter

If cache_limiter is specified, the name of the current cache limiter is changed to the new value.

Possible values
Value Headers sent
public
Expires: (sometime in the future, according session.cache_expire)
Cache-Control: public, max-age=(sometime in the future, according to session.cache_expire)
Last-Modified: (the timestamp of when the session was last saved)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire in the future), pre-check=(session.cache_expire in the future)
Last-Modified: (the timestamp of when the session was last saved)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire in the future), pre-check=(session.cache_expire in the future)
Last-Modified: (the timestamp of when the session was last saved)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Возвращаемые значения

Returns the name of the current cache limiter.

Список изменений

Версия | Описание
4.2.0 | The private_no_expire cache limiter was added.

Примеры

Пример #1 session_cache_limiter() example

<?php

/* set the cache limiter to 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "The cache limiter is now set to $cache_limiter<br />";
?>

Смотрите также

  • session.cache_limiter

session_cache_expire
session_commit
Session Функции


Псевдоним session_write_close

session_cache_limiter
session_decode
Session Функции
PHP Manual

session_commit

(PHP 4 >= 4.4.0, PHP 5)

session_commit — Псевдоним session_write_close()

Описание

Эта функция является псевдонимом: session_write_close().

session_cache_limiter
session_decode
Session Функции


Decodes session data from a string

session_commit
session_destroy
Session Функции
PHP Manual

session_decode

(PHP 4, PHP 5)

session_decode — Decodes session data from a string

Описание

bool session_decode ( string $data )

session_decode() decodes the session data in data, setting variables stored in the session.

Список параметров

data

The encoded data to be stored.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • session_encode() - Encodes the current session data as a string

session_commit
session_destroy
Session Функции


Destroys all data registered to a session

session_decode
session_encode
Session Функции
PHP Manual

session_destroy

(PHP 4, PHP 5)

session_destroy — Destroys all data registered to a session

Описание

bool session_destroy ( void )

session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.

In order to kill the session altogether, like to log the user out, the session id must also be unset. If a cookie is used to propagate the session id (default behavior), then the session cookie must be deleted. setcookie() may be used for that.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Destroying a session with $_SESSION

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>

Примечания

Замечание:

Only use session_unset() for older deprecated code that does not use $_SESSION.

Смотрите также

  • unset() - Удаляет переменную
  • setcookie() - Send a cookie

session_decode
session_encode
Session Функции


Encodes the current session data as a string

session_destroy
session_get_cookie_params
Session Функции
PHP Manual

session_encode

(PHP 4, PHP 5)

session_encode — Encodes the current session data as a string

Описание

string session_encode ( void )

session_encode() returns a string with the contents of the current session encoded within.

Возвращаемые значения

Returns the contents of the current session encoded.

Смотрите также

  • session_decode() - Decodes session data from a string

session_destroy
session_get_cookie_params
Session Функции


Get the session cookie parameters

session_encode
session_id
Session Функции
PHP Manual

session_get_cookie_params

(PHP 4, PHP 5)

session_get_cookie_params — Get the session cookie parameters

Описание

array session_get_cookie_params ( void )

Gets the session cookie parameters.

Возвращаемые значения

Returns an array with the current session cookie information, the array contains the following items:

  • "lifetime" - The lifetime of the cookie in seconds.
  • "path" - The path where information is stored.
  • "domain" - The domain of the cookie.
  • "secure" - The cookie should only be sent over secure connections.
  • "httponly" - The cookie can only be accessed through the HTTP protocol.

Список изменений

Версия | Описание
5.2.0 | The "httponly" entry was added in the returned array.
4.0.4 | The "secure" entry was added in the returned array.

Смотрите также

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_set_cookie_params() - Set the session cookie parameters

session_encode
session_id
Session Функции


Get and/or set the current session id

session_get_cookie_params
session_is_registered
Session Функции
PHP Manual

session_id

(PHP 4, PHP 5)

session_id — Get and/or set the current session id

Описание

string session_id ([ string $id ] )

session_id() is used to get or set the session id for the current session.

The constant SID can also be used to retrieve the current name and session id as a string suitable for adding to URLs. See also Session handling.

Список параметров

id

If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose. Depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range a-z A-Z 0-9 , (comma) and - (minus)!

Замечание: When using session cookies, specifying an id for session_id() will always send a new cookie when session_start() is called, regardless if the current session id is identical to the one being set.

Возвращаемые значения

session_id() returns the session id for the current session or the empty string ("") if there is no current session (no current session id exists).

Список изменений

Версия | Описание
5.0.0 | The , (comma) and - (minus) characters are allowed in the file session handler.

Смотрите также

  • session_regenerate_id() - Update the current session id with a newly generated one
  • session_start() - Initialize session data
  • session_set_save_handler() - Sets user-level session storage functions
  • session.save_handler

session_get_cookie_params
session_is_registered
Session Функции


Find out whether a global variable is registered in a session

session_id
session_module_name
Session Функции
PHP Manual

session_is_registered

(PHP 4, PHP 5)

session_is_registered — Find out whether a global variable is registered in a session

Описание

bool session_is_registered ( string $name )

Finds out whether a global variable is registered in a session.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

name

The variable name.

Возвращаемые значения

session_is_registered() returns TRUE if there is a global variable with the name name registered in the current session, FALSE otherwise.

Примечания

Замечание:

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $_SESSION.

Предостережение

If you are using $_SESSION
(or $HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered() and
session_unregister().

session_id
session_module_name
Session Функции


Get and/or set the current session module

session_is_registered
session_name
Session Функции
PHP Manual

session_module_name

(PHP 4, PHP 5)

session_module_name — Get and/or set the current session module

Описание

string session_module_name ([ string $module ] )

session_module_name() gets the name of the current session module.

Список параметров

module

If module is specified, that module will be used instead.

Возвращаемые значения

Returns the name of the current session module.

session_is_registered
session_name
Session Функции


Get and/or set the current session name

session_module_name
session_regenerate_id
Session Функции
PHP Manual

session_name

(PHP 4, PHP 5)

session_name — Get and/or set the current session name

Описание

string session_name ([ string $name ] )

session_name() returns the name of the current session. If name is given, session_name() will update the session name and return the old session name.

The session name is reset to the default value stored in session.name at request startup time. Thus, you need to call session_name() for every request (and before session_start() or session_register() are called).

Список параметров

name

The session name references the name of the session, which is used in cookies and URLs (e.g. PHPSESSID). It should contain only alphanumeric characters; it should be short and descriptive (i.e. for users with enabled cookie warnings). If name is specified, the name of the current session is changed to its value.

Внимание

The session name can't consist of digits only, at least one letter must be present. Otherwise a new session id is generated every time.

Возвращаемые значения

Returns the name of the current session.

Примеры

Пример #1 session_name() example

<?php

/* set the session name to WebsiteID */

$previous_name = session_name("WebsiteID");

echo "The previous session name was $previous_name<br />";
?>

Смотрите также

  • The session.name configuration directive

session_module_name
session_regenerate_id
Session Функции


Update the current session id with a newly generated one

session_name
session_register
Session Функции
PHP Manual

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5)

session_regenerate_id — Update the current session id with a newly generated one

Описание

bool session_regenerate_id ([ bool $delete_old_session = false ] )

session_regenerate_id() will replace the current session id with a new one, and keep the current session information.

Список параметров

delete_old_session

Whether to delete the old associated session file or not.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.3 | Since then, if session cookies are enabled, use of session_regenerate_id() will also submit a new session cookie with the new session id.
5.1.0 | Added the delete_old_session parameter.

Примеры

Пример #1 A session_regenerate_id() example

<?php
session_start();

$old_sessionid = session_id();

session_regenerate_id();

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

Смотрите также

  • session_id() - Get and/or set the current session id
  • session_start() - Initialize session data
  • session_name() - Get and/or set the current session name

session_name
session_register
Session Функции


Register one or more global variables with the current session

session_regenerate_id
session_save_path
Session Функции
PHP Manual

session_register

(PHP 4, PHP 5)

session_register — Register one or more global variables with the current session

Описание

bool session_register ( mixed $name [, mixed $... ] )

session_register() accepts a variable number of arguments, any of which can be either a string holding the name of a variable or an array consisting of variable names or other arrays. For each name, session_register() registers the global variable with that name in the current session.

You can also create a session variable by simply setting the appropriate member of the $_SESSION or $HTTP_SESSION_VARS (PHP < 4.1.0) array.

<?php
// Use of session_register() is deprecated
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>

If session_start() was not called before this function is called, an implicit call to session_start() with no parameters will be made. $_SESSION does not mimic this behavior and requires session_start() before use.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

name

A string holding the name of a variable or an array consisting of variable names or other arrays.

...

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Предостережение

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

Замечание: register_globals: важное замечание

Начиная с PHP 4.2.0, значением директивы PHP register_globals по умолчанию является off (выключено). Сообщество PHP рекомендует всем не полагаться на эту директиву, а использовать вместо этого иные средства, такие как superglobals.

Предостережение

This registers a global variable. If you want to register a session variable from within a function, you need to make sure to make it global using the global keyword or the $GLOBALS[] array, or use the special session arrays as noted below.

Предостережение

If you are using $_SESSION
(or $HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered(), and
session_unregister().

Замечание:

It is currently impossible to register resource variables in a session. For example, you cannot create a connection to a database and store the connection id as a session variable and expect the connection to still be valid the next time the session is restored. PHP functions that return a resource are identified by having a return type of resource in their function definition. A list of functions that return resources are available in the resource types appendix.

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, assign values to $_SESSION. For example: $_SESSION['var'] = 'ABC';

Смотрите также

  • session_is_registered() - Find out whether a global variable is registered in a session
  • session_unregister() - Unregister a global variable from the current session
  • $_SESSION

session_regenerate_id
session_save_path
Session Функции


Get and/or set the current session save path

session_register
session_set_cookie_params
Session Функции
PHP Manual

session_save_path

(PHP 4, PHP 5)

session_save_path — Get and/or set the current session save path

Описание

string session_save_path ([ string $path ] )

session_save_path() returns the path of the current directory used to save session data.

Список параметров

path

Session data path. If specified, the path to which data is saved will be changed. session_save_path() needs to be called before session_start() for that purpose.

Замечание:

On some operating systems, you may want to specify a path on a filesystem that handles lots of small files efficiently. For example, on Linux, reiserfs may provide better performance than ext2fs.

Возвращаемые значения

Returns the path of the current directory used for data storage.

Смотрите также

  • The session.save_path configuration directive

session_register
session_set_cookie_params
Session Функции


Set the session cookie parameters

session_save_path
session_set_save_handler
Session Функции
PHP Manual

session_set_cookie_params

(PHP 4, PHP 5)

session_set_cookie_params — Set the session cookie parameters

Описание

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

Set cookie parameters defined in the php.ini file. The effect of this function only lasts for the duration of the script. Thus, you need to call session_set_cookie_params() for every request and before session_start() is called.

Список параметров

lifetime

Lifetime of the session cookie, defined in seconds.

path

Path on the domain where the cookie will work. Use a single slash ('/') for all paths on the domain.

domain

Cookie domain, for example 'www.php.net'. To make cookies visible on all subdomains then the domain must be prefixed with a dot like '.php.net'.

secure

If TRUE cookie will only be sent over secure connections.

httponly

If set to TRUE then PHP will attempt to send the httponly flag when setting the session cookie.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.2.0 | The httponly parameter was added.
4.0.4 | The secure parameter was added.

Смотрите также

  • session.cookie_lifetime
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_get_cookie_params() - Get the session cookie parameters

session_save_path
session_set_save_handler
Session Функции


Sets user-level session storage functions

session_set_cookie_params
session_start
Session Функции
PHP Manual

session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler — Sets user-level session storage functions

Описание

bool session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback $destroy , callback $gc )

session_set_save_handler() sets the user-level session storage functions which are used for storing and retrieving data associated with a session. This is most useful when a storage method other than those supplied by PHP sessions is preferred. i.e. Storing the session data in a local database.

Список параметров

open

Open function, this works like a constructor in classes and is executed when the session is being opened. The open function expects two parameters, where the first is the save path and the second is the session name.

close

Close function, this works like a destructor in classes and is executed when the session operation is done.

read

Read function must return string value always to make save handler work as expected. Return empty string if there is no data to read. Return values from other handlers are converted to boolean expression. TRUE for success, FALSE for failure.

write

Write function that is called when session data is to be saved. This function expects two parameters: an identifier and the data associated with it.

Замечание:

The "write" handler is not executed until after the output stream is closed. Thus, output from debugging statements in the "write" handler will never be seen in the browser. If debugging output is necessary, it is suggested that the debug output be written to a file instead.

destroy

The destroy handler, this is executed when a session is destroyed with session_destroy() and takes the session id as its only parameter.

gc

The garbage collector, this is executed when the session garbage collector is executed and takes the max session lifetime as its only parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 session_set_save_handler() example

The following example provides file based session storage similar to the PHP sessions default save handler files. This example could easily be extended to cover database storage using your favorite PHP supported database engine.

<?php
function open($save_path, $session_name)
{
  global $sess_save_path;

  $sess_save_path = $save_path;
  return(true);
}

function close()
{
  return(true);
}

function read($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return (string) @file_get_contents($sess_file);
}

function write($id, $sess_data)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "w")) {
    $return = fwrite($fp, $sess_data);
    fclose($fp);
    return $return;
  } else {
    return(false);
  }

}

function destroy($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

function gc($maxlifetime)
{
  global $sess_save_path;

  foreach (glob("$sess_save_path/sess_*") as $filename) {
    if (filemtime($filename) + $maxlifetime < time()) {
      @unlink($filename);
    }
  }
  return true;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

session_start();

// proceed to use sessions normally

?>

Примечания

Внимание

As of PHP 5.0.5 the write and close handlers are called after object destruction and therefore cannot use objects or throw exceptions. The object destructors can however use sessions.

It is possible to call session_write_close() from the destructor to solve this chicken and egg problem.

Внимание

Current working directory is changed with some SAPIs if session is closed in the script termination. It is possible to close the session earlier with session_write_close().

Смотрите также

  • The session.save_handler configuration directive

session_set_cookie_params
session_start
Session Функции


Initialize session data

session_set_save_handler
session_unregister
Session Функции
PHP Manual

session_start

(PHP 4, PHP 5)

session_start — Initialize session data

Описание

bool session_start ( void )

session_start() creates a session or resumes the current one based on a session identifier passed via a GET or POST request, or passed via a cookie.

To use a named session, call session_name() before calling session_start().

When session.use_trans_sid is enabled, the session_start() function will register an internal output handler for URL rewriting.

If a user uses ob_gzhandler or similar with ob_start(), the function order is important for proper output. For example, ob_gzhandler must be registered before starting the session.

Возвращаемые значения

This function returns TRUE if a session was successfully started, otherwise FALSE.

Список изменений

Версия | Описание
5.3.0 | If a session fails to start, then FALSE is returned. Previously TRUE was returned.
4.3.3 | As of PHP 4.3.3, calling session_start() after the session was previously started will result in an error of level E_NOTICE. Also, the second session start will simply be ignored.

Примеры

Пример #1 A session example: page1.php

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

After viewing page1.php, the second page page2.php will magically contain the session data. Read the session reference for information on propagating session ids as it, for example, explains what the constant SID is all about.

Пример #2 A session example: page2.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

Примечания

Замечание:

To use cookie-based sessions, session_start() must be called before outputing anything to the browser.

Замечание:

Use of zlib.output_compression is recommended instead of ob_gzhandler()

Замечание:

This function sends out several HTTP headers depending on the configuration. See session_cache_limiter() to customize these headers.

Смотрите также

  • $_SESSION
  • The session.auto_start configuration directive
  • session_id() - Get and/or set the current session id

session_set_save_handler
session_unregister
Session Функции


Unregister a global variable from the current session

session_start
session_unset
Session Функции
PHP Manual

session_unregister

(PHP 4, PHP 5)

session_unregister — Unregister a global variable from the current session

Описание

bool session_unregister ( string $name )

session_unregister() unregisters the global variable named name from the current session.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

name

The variable name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable. Do not unset() $_SESSION itself as this will disable the special function of the $_SESSION superglobal.

Предостережение

This function does not unset the corresponding global variable for name, it only prevents the variable from being saved as part of the session. You must call unset() to remove the corresponding global variable.

Предостережение

If you are using $_SESSION (or
$HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered() and
session_unregister().

session_start
session_unset
Session Функции


Free all session variables

session_unregister
session_write_close
Session Функции
PHP Manual

session_unset

(PHP 4, PHP 5)

session_unset — Free all session variables

Описание

void session_unset ( void )

The session_unset() function frees all session variables currently registered.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable, i.e. unset ($_SESSION['varname']);.

Предостережение

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.

session_unregister
session_write_close
Session Функции


Write session data and end session

session_unset
Session PgSQL
Session Функции
PHP Manual

session_write_close

(PHP 4 >= 4.0.4, PHP 5)

session_write_close — Write session data and end session

Описание

void session_write_close ( void )

End the current session and store session data.

Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

session_unset
Session PgSQL
Session Функции


PostgreSQL Session Save Handler

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Table definitions
  • Предопределенные константы
  • Session PgSQL Функции
    • session_pgsql_add_error — Increments error counts and sets last error message
    • session_pgsql_get_error — Returns number of errors and last error message
    • session_pgsql_get_field — Get custom field value
    • session_pgsql_reset — Reset connection to session database servers
    • session_pgsql_set_field — Set custom field value
    • session_pgsql_status — Get current save handler status
session_write_close
Введение
Расширения для работы с сессиями


Введение

Замечание: Для Windows-платформ это расширение недоступно.

This module provides an additional session save handler for the session module using » PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.

Session PgSQL is designed to scale any size of web sites and offers some advanced features:

  • session tables are created automatically
  • automatic session table vacuum
  • better garbage collection
  • multiple PostgreSQL servers support
  • automatic database server failover (switching)
  • automatic database server load balancing if there are multiple PostgreSQL servers.
  • short circuit UPDATE

Session PgSQL
Установка и настройка
Session PgSQL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Session PgSQL


Требования

You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database server. libpq that comes with PostgreSQL 7.2.0 or later (and header files to build) and » libmm (and header files).

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/session_pgsql.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
Table definitions
Установка и настройка


Table definitions

Session table definition

CREATE TABLE php_session (
 sess_id            text,
 sess_name          text,
 sess_data          text,
 sess_created       integer,
 sess_modified      integer,
 sess_expire        integer,
 sess_addr_created  text,
 sess_addr_modified text,
 sess_counter       integer,
 sess_error         integer,
 sess_warning       integer,
 sess_notice        integer,
 sess_err_message   text,
 sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

Внимание

If you use HASH for INDEX, you'll have a deadlock problem when the server load is very high. Even if it's unlikely to have a deadlock under normal operation, it can occur. Do not use HASH for INDEX.

You may change the session table as long as all fields are defined.

Application variables table definition

CREATE TABLE php_app_vars (
 app_modified       integer,
 app_name           text,
 app_vars           text
);

Типы ресурсов
Предопределенные константы
Session PgSQL


Предопределенные константы

Данное расширение не определяет никакие константы.

Table definitions
Session PgSQL Функции
Session PgSQL


Session PgSQL Функции

Contact Information

I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.

If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at » yohgaki@php.net. Any help is very welcome.

Содержание

  • session_pgsql_add_error — Increments error counts and sets last error message
  • session_pgsql_get_error — Returns number of errors and last error message
  • session_pgsql_get_field — Get custom field value
  • session_pgsql_reset — Reset connection to session database servers
  • session_pgsql_set_field — Set custom field value
  • session_pgsql_status — Get current save handler status
Предопределенные константы
session_pgsql_add_error
Session PgSQL


Increments error counts and sets last error message

Session PgSQL Функции
session_pgsql_get_error
Session PgSQL Функции
PHP Manual

session_pgsql_add_error

(PECL session_pgsql SVN)

session_pgsql_add_error — Increments error counts and sets last error message

Описание

bool session_pgsql_add_error ( int $error_level [, string $error_message ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

error_level

error_message

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • session_pgsql_get_error() - Returns number of errors and last error message

Session PgSQL Функции
session_pgsql_get_error
Session PgSQL Функции


Returns number of errors and last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Функции
PHP Manual

session_pgsql_get_error

(PECL session_pgsql SVN)

session_pgsql_get_error — Returns number of errors and last error message

Описание

array session_pgsql_get_error ([ bool $with_error_message = false ] )

Get the number of errors and optional the error messages.

Список параметров

with_error_message

Set to TRUE the literal error message for each error is also returned.

Возвращаемые значения

The number of errors are returned as array.

Смотрите также

  • session_pgsql_add_error() - Increments error counts and sets last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Функции


Get custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Функции
PHP Manual

session_pgsql_get_field

(PECL session_pgsql SVN)

session_pgsql_get_field — Get custom field value

Описание

string session_pgsql_get_field ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • session_pgsql_set_field() - Set custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Функции


Reset connection to session database servers

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Функции
PHP Manual

session_pgsql_reset

(PECL session_pgsql SVN)

session_pgsql_reset — Reset connection to session database servers

Описание

bool session_pgsql_reset ( void )

Reset the connection to the session database servers.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Функции


Set custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Функции
PHP Manual

session_pgsql_set_field

(PECL session_pgsql SVN)

session_pgsql_set_field — Set custom field value

Описание

bool session_pgsql_set_field ( string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

value

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • session_pgsql_get_field() - Get custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Функции


Get current save handler status

session_pgsql_set_field
Обработка текста
Session PgSQL Функции
PHP Manual

session_pgsql_status

(PECL session_pgsql SVN)

session_pgsql_status — Get current save handler status

Описание

array session_pgsql_status ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

session_pgsql_set_field
Обработка текста
Session PgSQL Функции


Обработка текста

  • BBCode — Bulletin Board Code
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • BBCode Функции
  • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Регулярные выражения PCRE
    • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
  • Регулярные выражения POSIX — Регулярные выражения (расширенные POSIX)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Функции регулярных выражений POSIX
  • ssdeep — ssdeep Fuzzy Hashing
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • ssdeep Функции
  • Строки
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Обработка строк
session_pgsql_status
BBCode
Справочник функций


Bulletin Board Code

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • BBCode Функции
    • bbcode_add_element — Добавляет элемент bbcode
    • bbcode_add_smiley — Добавляет смайлы для разбора парсером
    • bbcode_create — Create a BBCode Resource
    • bbcode_destroy — Закрывает ресурс BBCode_container
    • bbcode_parse — Производит разбор строки в соответствии с заданным набором правил
    • bbcode_set_arg_parser — Подключает другой парсер для применения иного набора правил в качестве параметров разбора
    • bbcode_set_flags — Устанавливает или изменяет настройки парсера
Обработка текста
Введение
Обработка текста


Введение

Этот модуль позволяет упростить разбор текста с BBCode для преобразования его в HTML или другой язык разметки. Он использует однопроходную обработку и значительно превосходит по скорости вариант, основанный на использовании регулярных выражений. Кроме того, он позволяет получить корректный HTML за счет переупорядочивания открывающих / закрывающих тегов и автоматического закрытия незакрытых тегов.

С версии 0.10.1 поддерживается цитирование с использованием одинарных кавычек, двойных кавычек и HTML экранированных двойных кавычек.

BBCode
Установка и настройка
BBCode


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
BBCode


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/bbcode

Альтернативный вариант, написанный на PHP - PEAR пакет » HTML_BBCodeParser.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Расширение BBCode использует один параметр типа resource: BBCode_Container, возвращаемый функцией bbcode_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

BBCODE_TYPE_NOARG (integer)
This BBCode tag does not accept any arguments.
BBCODE_TYPE_SINGLE (integer)
This BBCode tag does not have a corresponding close tag.
BBCODE_TYPE_ARG (integer)
This BBCode tag need an argument.
BBCODE_TYPE_OPTARG (integer)
This BBCode tag accept an optional argument.
BBCODE_TYPE_ROOT (integer)
This BBCode tag is the special tag root (nesting level 0).
BBCODE_FLAGS_ARG_PARSING (integer)
This BBCode tag require argument sub-parsing (the argument is also parsed by the BBCode extension). As Of 0.10.2 another parser can be used as argument parser.
BBCODE_FLAGS_CDATA_NOT_ALLOWED (integer)
This BBCode Tag does not accept content (it voids it automatically).
BBCODE_FLAGS_SMILEYS_ON (integer) - since 0.10.2
This BBCode Tag accepts smileys.
BBCODE_FLAGS_SMILEYS_OFF (integer) - since 0.10.2
This BBCode Tag does not accept smileys.
BBCODE_FLAGS_ONE_OPEN_PER_LEVEL (integer) - since 0.10.2
This BBCode Tag automatically closes if another tag of the same type is found at the same nesting level.
BBCODE_FLAGS_REMOVE_IF_EMPTY (integer) - since 0.10.2
This BBCode Tag is automatically removed if content is empty it allows to produce lighter HTML.
BBCODE_FLAGS_DENY_REOPEN_CHILD (integer) - since 0.10.3
This BBCode Tag does not allow unclosed children to reopen when automatically closed.
BBCODE_ARG_DOUBLE_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with double quotes (")
BBCODE_ARG_SINGLE_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with single quotes (')
BBCODE_ARG_HTML_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with HTML version of double quotes (&quot;)
BBCODE_ARG_QUOTE_ESCAPING (integer) - since 1.0.2
This is a parser option allowing argument quotes to be escaped this permit the quote delimiter to be found in the string escaping character is \ it can escape any quoting character or itself, if found in front of a non escapable character, it will be dropped. Default behaviour is not to use escaping.
BBCODE_AUTO_CORRECT (integer) - since 0.10.2
This is a parser option changing the way errors are treated. It automatically closes tag in the order they are opened. And treat tags with only an open tag as if there were a close tag present.
BBCODE_CORRECT_REOPEN_TAGS (integer) - since 0.10.2
This is a parser option changing the way errors are treated. It automatically reopens tag if close tags are not in the good order.
BBCODE_DISABLE_TREE_BUILD (integer) - since 0.10.2
This is a parser option disabling the BBCode parsing it can be useful if only the "smiley" replacement must be used.
BBCODE_DEFAULT_SMILEYS_ON (integer) - since 0.10.2
This is a parser option setting smileys to ON if no flag is given at tag level.
BBCODE_DEFAULT_SMILEYS_OFF (integer) - since 0.10.2
This is a parser option setting smileys to OFF if no flag is given at tag level.
BBCODE_FORCE_SMILEYS_OFF (integer) - since 0.10.2
This is a parser option disabling completely the smileys parsing.
BBCODE_SMILEYS_CASE_INSENSITIVE (integer) - since 0.10.3
Use a case insensitive Detection for smileys instead of a simple binary search.
BBCODE_SET_FLAGS_SET (integer) - since 0.10.2
This permits to SET the complete flag set on a parser.
BBCODE_SET_FLAGS_ADD (integer) - since 0.10.2
This permits to switch a flag set ON on a parser.
BBCODE_SET_FLAGS_REMOVE (integer) - since 0.10.2
This permits to switch a flag set OFF on a parser.
Типы ресурсов
BBCode Функции
BBCode


BBCode Функции

Содержание

  • bbcode_add_element — Добавляет элемент bbcode
  • bbcode_add_smiley — Добавляет смайлы для разбора парсером
  • bbcode_create — Create a BBCode Resource
  • bbcode_destroy — Закрывает ресурс BBCode_container
  • bbcode_parse — Производит разбор строки в соответствии с заданным набором правил
  • bbcode_set_arg_parser — Подключает другой парсер для применения иного набора правил в качестве параметров разбора
  • bbcode_set_flags — Устанавливает или изменяет настройки парсера
Предопределенные константы
bbcode_add_element
BBCode


Добавляет элемент bbcode

BBCode Функции
bbcode_add_smiley
BBCode Функции
PHP Manual

bbcode_add_element

(PECL bbcode >= 0.9.0)

bbcode_add_element — Добавляет элемент bbcode

Описание

bool bbcode_add_element ( resource $bbcode_container , string $tag_name , array $tag_rules )

Добавляет тег в существующий набор тегов (tag_set) BBCode_Container используя tag_rules.

Список параметров

bbcode_container

BBCode_Container типа resource, возвращаемый функцией bbcode_create().

tag_name

Новый тег, добавляемый в набор тегов BBCode_Container.

tag_rules

Ассоциативный массив, содержащий правила разбора; см. bbcode_create() для возможных значений ключей.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

BBCode Функции
bbcode_add_smiley
BBCode Функции


Добавляет смайлы для разбора парсером

bbcode_add_element
bbcode_create
BBCode Функции
PHP Manual

bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley — Добавляет смайлы для разбора парсером

Описание

bool bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by )

Добавляет смайлы для разбора парсером

Список параметров

bbcode_container

BBCode_Container типа resource, возвращаемый функцией bbcode_create().

smiley

Строка, которая будет заменена при совпадении.

replace_by

Строка, которая заменяет смайл при совпадении.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования bbcode_add_smiley()

<?php
/*
 * Подготовка набора правил
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>',
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>',
                       'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>',
                       'close_tag'=>'</i>',
                       'childs'=>'b'),
);
/*
 * Разбираемый текст
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * Инициализация парсера
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Добавление правил для смайлов в парсер
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Разбор текста
 */
echo bbcode_parse($BBHandler,$text);
?>

Результат выполнения данного примера:

<i> No parse Test </i> <img src="smiley.gif" alt=":)" />
<b> Parsed, with smiley <img src="sad.gif" alt=":(" /> </b>
<u> Parsed, with no smiley :D </u>

bbcode_add_element
bbcode_create
BBCode Функции


Create a BBCode Resource

bbcode_add_smiley
bbcode_destroy
BBCode Функции
PHP Manual

bbcode_create

(PECL bbcode >= 0.9.0)

bbcode_create — Create a BBCode Resource

Описание

resource bbcode_create ([ array $bbcode_initial_tags ] )

This function returns a new BBCode Resource used to parse BBCode strings.

Список параметров

bbcode_initial_tags

An associative array containing the tag names as keys and parameters required to correctly parse BBCode as their value. The following key/value pairs are supported:

  • flags optional - a flag set based on the BBCODE_FLAGS_* constants.
  • type required - an int indicating the type of tag. Use the BBCODE_TYPE_* constants.
  • open_tag required - the HTML replacement string for the open tag.
  • close_tag required - the HTML replacement string for the close tag.
  • default_arg optional - use this value as the default argument if none is provided and tag_type is of type OPTARG.
  • content_handling optional - Gives the callback used for modification of the content. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument)
  • param_handling optional - Gives the callback used for modification of the argument. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument)
  • childs optional - List of accepted children for the tag. The format of the list is a comma separated string. If the list starts with ! it will be the list of rejected children for the tag.
  • parent optional - List of accepted parents for the tag. The format of the list is a comma separated string.

Возвращаемые значения

Returns a BBCode_Container

Примеры

Пример #1 bbcode_create() example

<?php
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  'childs'=>'!i'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>',
                    'close_tag'=>'</i>', 'childs'=>'b'),
    'url'=>      array('type'=>BBCODE_TYPE_OPTARG,
                    'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>',
                    'default_arg'=>'{CONTENT}',
                    'childs'=>'b,i'),
    'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    'open_tag'=>'<img src="', 'close_tag'=>'" />',
                    'childs'=>''),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>',
                    'close_tag'=>'</b>'),
);
$text=<<<EOF
[b]Bold Text[/b]
[i]Italic Text[/i]
[url]http://www.php.net/[/url]
[url=http://pecl.php.net/][b]Content Text[/b][/url]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[url=http://www.php.net/]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[/url]
EOF;
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
?>

Результат выполнения данного примера:

<b>Bold Text</b>
[i]Italic Text[/i]
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>

bbcode_add_smiley
bbcode_destroy
BBCode Функции


Закрывает ресурс BBCode_container

bbcode_create
bbcode_parse
BBCode Функции
PHP Manual

bbcode_destroy

(PECL bbcode >= 0.9.0)

bbcode_destroy — Закрывает ресурс BBCode_container

Описание

bool bbcode_destroy ( resource $bbcode_container )

Эта функция закрывает resource, возвращаемый функцией bbcode_create().

Список параметров

bbcode_container

BBCode_Container типа resource, возвращаемый функцией bbcode_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

bbcode_create
bbcode_parse
BBCode Функции


Производит разбор строки в соответствии с заданным набором правил

bbcode_destroy
bbcode_set_arg_parser
BBCode Функции
PHP Manual

bbcode_parse

(PECL bbcode >= 0.9.0)

bbcode_parse — Производит разбор строки в соответствии с заданным набором правил

Описание

string bbcode_parse ( resource $bbcode_container , string $to_parse )

Эта функция производит разбор строки to_parse в соответствии с правилами в bbcode_container, возвращаемом функцией bbcode_create()

Список параметров

bbcode_container

BBCode_Container типа resource, возвращаемый функцией bbcode_create().

to_parse

Строка, которую необходимо разобрать.

Возвращаемые значения

Возвращает разобранную строку, или FALSE в случае возникновения ошибки.

bbcode_destroy
bbcode_set_arg_parser
BBCode Функции


Подключает другой парсер для применения иного набора правил в качестве параметров разбора

bbcode_parse
bbcode_set_flags
BBCode Функции
PHP Manual

bbcode_set_arg_parser

(PECL bbcode >= 0.10.2)

bbcode_set_arg_parser — Подключает другой парсер для применения иного набора правил в качестве параметров разбора

Описание

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Подключает другой парсер для bbcode_container. Этот парсер используется только для получения параметров разбора. Если эта функция не используется, парсер использует параметры по умолчанию для исходного парсера.

Список параметров

bbcode_container

BBCode_Container resource, возвращаемый функцией bbcode_create().

bbcode_arg_parser

Значение BBCode_Container типа resource, возвращаемое функцией bbcode_create(). Используется только для получения параметров парсера

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования bbcode_set_arg_parser()

<?php
/*
 * Создание набора правил bbcode для основного парсера
 */
$arrayBBCode=array(
    'quote'=>    array('type'=>BBCODE_TYPE_ARG,
                       'open_tag'=>'<quote><h4>Source: {PARAM}</h4>',
                       'close_tag'=>'</quote>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Создание набора правил bbcode для параметров парсера
 */
$arrayBBCode_arg=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Текст, который нужно разобрать
 */
$text=<<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Bar example :)[/b] :)
EOF;
/*
 * Инициализация двух парсеров
 */
$BBHandler=bbcode_create($arrayBBCode);
$BBArgHandler=bbcode_create($arrayBBCode_arg);
/*
 * Установка флагов для парсеров
 */
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
 * Подключение $BBArgHandler как параметров парсера BBHandler
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Добавление правил для обработки смайлов в основной парсер
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Используем основной парсер для разбора текста
 */
echo bbcode_parse($BBHandler,$text);
?>

Результат выполнения данного примера:

<quote><h4>Source: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Bar example :)</b> <img src="smiley.gif" alt=":)" />

bbcode_parse
bbcode_set_flags
BBCode Функции


Устанавливает или изменяет настройки парсера

bbcode_set_arg_parser
PCRE
BBCode Функции
PHP Manual

bbcode_set_flags

(PECL bbcode >= 0.10.2)

bbcode_set_flags — Устанавливает или изменяет настройки парсера

Описание

bool bbcode_set_flags ( resource $bbcode_container , int $flags [, int $mode = BBCODE_SET_FLAGS_SET ] )

Устанавливает или изменяет настройки парсера

Список параметров

bbcode_container

BBCode_Container типа resource, возвращаемый функцией bbcode_create().

flags

Набор флагов, которые будут применены к настройкам bbcode_container

mode

Одна из констант BBCODE_SET_FLAGS_* используемых для установки, снятия указанного набора флагов или замены набора флагов другим набором.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования bbcode_set_flags()

<?php
/*
 * Подготовка набора правил
 */
$arrayBBCode=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
 * Парные неправильно вложенные BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Включение открытия автоматически закрытых элементов
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);

/*
 * Непарные неправильно вложенные BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Включение автоматического закрытия для требующих этого тегов
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>

Результат выполнения данного примера:

<i> Parser <b> Auto Correction </b></i> at work
<i> Parser <b> Auto Correction </b></i><b> at work </b>
<i> Parser [b] Auto Correction </i> at work
<i> Parser <b> Auto Correction </b></i><b> at work
</b>

bbcode_set_arg_parser
PCRE
BBCode Функции


Функции для работы с регулярными выражениями (Perl-совместимые)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Регулярные выражения PCRE
    • Описание синтаксиса Perl-совместимых регулярных выражений — Синтаксис регулярных выражений
    • Описывает возможные модификаторы шаблонов Perl-совместимых регулярных выражений (PCRE) — Модификаторы шаблонов
    • Differences From Perl — Perl Differences
    • Differences from POSIX regex
  • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • preg_filter — Производит поиск и замену по регулярному выражению
    • preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    • preg_last_error — Возвращает код ошибки выполнения последнего регулярного выражения PCRE
    • preg_match_all — Выполняет глобальный поиск шаблона в строке
    • preg_match — Выполняет проверку на соответствие регулярному выражению
    • preg_quote — Экранирует символы в регулярных выражениях
    • preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием callback-функции
    • preg_replace — Выполняет поиск и замену по регулярному выражению
    • preg_split — Разбивает строку по регулярному выражению
bbcode_set_flags
Введение
Обработка текста


Введение

Синтакcис шаблонов, используемых в функциях этого раздела, во многом похож на синтаксис, используемый в Perl. Выражение должно быть заключено в разделители, например, прямые слэши '/'. Разделителем могут выступать произвольные символы, кроме буквенно-цифровых, обратного слэша '\' и нулевого байта. Если символ разделителя встречается в шаблоне, его необходимо экранировать. Начиная с PHP 4.0.4 в качестве разделителя доступны комбинации, используемые в Perl: (), {}, [] и <>. Подробней об этом рассказано в разделе "Синтаксис регулярных выражений".

После закрывающего разделителя можно указывать различные модификаторы, влияющие на работу регулярных выражений. Детальная информация доступна в разделе "Модификаторы шаблонов".

PHP также поддерживает POSIX-совместимые регулярные выражения, используя POSIX-совместимые функции регулярных выражений.

Замечание:

Этот модуль хранит глобальный (1 на поток) кэш компилированных регулярных выражений (до 4096).

Внимание

Помните об ограничениях PCRE. См. документацию по PCRE » http://www.pcre.org/pcre.txt для информации.

Библиотека PCRE - это набор функций, реализующих разбор регулярных выражений с помощью того же синтаксиса и семантики, которая была реализована в Perl 5, с некоторыми небольшими отличиями (см. ниже). Текущая реализация соответствует версии Perl 5.005.

PCRE
Установка и настройка
PCRE


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PCRE


Установка

Начиная с PHP 4.2.0, эти функции включены по умолчанию. Вы можете отключить их при помощи опции --without-pcre-regex . В случае если вы хотите использовать библиотеку, отличную от идущей в стандартной поставке РНР, используйте опцию --with-pcre-regex=DIR для указания директории, содержащей необходимые файлы. Если у вас версия PHP менее, чем 4.2.0, вам необходимо сконфигурировать и пересобрать PHP с опцией --with-pcre-regex[=DIR] , чтобы включить поддержку PCRE-функций.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание:

Начиная с версии PHP 5.3.0 это расширение не может быть отключено и поэтому всегда присутствует.

Также еще возможно собрать данное расширение с внешней библиотекой PCRE с помощью опции --with-pcre-regex=DIR

PCRE - активный проект и по мере того как он меняется, меняется и функционал PHP, который полагается на него. Возможно, некоторые части документации PHP устарели в том плане, что они не покрывает новейшие возможности, которые предоставляет PCRE. Список изменений можно найти в » списке изменений библиотеки PCRE, а также в следующей прилагаемой здесь истории PCRE:

История обновлений поставляемой библиотеки PCRE
PHP Версия | Обновленная PCRE Версия | Замечания
5.3.6 | 8.11 |
5.3.4 | 8.10 |
5.3.3 | 8.02 |
5.3.2 | 8.00 |
5.3.0 | 7.9 |
5.2.7 | 7.8 |
5.2.6 | 7.6 |
5.2.5 | 7.3 |
5.2.4 | 7.2 |
5.2.2 | 7.0 |
5.2.0 | 6.7 |
5.1.0 | 6.2 |
5.0.5 | 5.0 |
5.0.0 | 4.5 |
4.4.7 | 7.7 |

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции конфигурации PCRE
Имя | Значение по умолчанию | Место изменения | История изменения
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Доступна с PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Доступна с PHP 5.2.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

pcre.backtrack_limit integer

Лимит обратных ссылок PCRE.

pcre.recursion_limit integer

Лимит на рекурсию. Не забывайте о том, что если вы установите достаточно высокое значение, то PCRE может превысить размер стэка (установленный операционной системой) и в конце концов вызовет крушение PHP.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

PREG константы
Константа | Описание | С версии
PREG_PATTERN_ORDER | Меняет порядок элементов в результирующем массиве так, чтобы элемент $matches[0] содержал полные вхождения шаблона, элемент $matches[1] - все вхождения первой взятой в круглые скобки подмаски, и так далее. Только preg_match_all() реагирует на данный модификатор. |
PREG_SET_ORDER | Меняет порядок элементов в результирующем массиве так, чтобы элемент $matches[0] содержал первый набор вхождений (полное вхождение, вхождение первой подмаски, заключенной в круглые скобки...), аналогично элемент $matches[1] - второй набор вхождений, и так далее. Только preg_match_all() реагирует на данный модификатор. |
PREG_OFFSET_CAPTURE | Смотрите описание флага PREG_SPLIT_OFFSET_CAPTURE. | 4.3.0
PREG_SPLIT_NO_EMPTY | В случае, если этот флаг указан, функция preg_split() вернет только непустые подстроки. |
PREG_SPLIT_DELIM_CAPTURE | В случае, если этот флаг указан, то preg_split() также возвращает выражение, заключенное в круглые скобки в шаблоне разделителя. | 4.0.5
PREG_SPLIT_OFFSET_CAPTURE | В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Этот флаг используется только в функции preg_split(). | 4.3.0
PREG_NO_ERROR | Возвращается функцией preg_last_error(), если ошибок нет. | 5.2.0
PREG_INTERNAL_ERROR | Возвращается функцией preg_last_error() в случае, если произошла внутренняя ошибка PCRE. | 5.2.0
PREG_BACKTRACK_LIMIT_ERROR | Возвращается функцией preg_last_error() в случае, когда лимит обратных ссылок был исчерпан. | 5.2.0
PREG_RECURSION_LIMIT_ERROR | Возвращается функцией preg_last_error() в случае, если лимит рекурсии был исчерпан. | 5.2.0
PREG_BAD_UTF8_ERROR | Возвращается функцией preg_last_error(), если последняя ошибка была вызвана поврежденными UTF-8 данными (только при запуске в режиме UTF-8). | 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR | Возвращается функцией preg_last_error(), если смещение не соответствует началу корректной кодовой точки UTF-8 (только при запуске в режиме UTF-8). | 5.3.0
PCRE_VERSION | Версия и дата релиза PCRE (например, "7.0 18-Dec-2006"). | 5.2.4
Типы ресурсов
Примеры
PCRE


Примеры

Пример #1 Примеры правильных шаблонов

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Пример #2 Примеры неправильных шаблонов

  • /href='(.*)' - пропущен закрывающий ограничитель
  • /\w+\s*\w+/J - неизвестный модификатор 'J'
  • 1-\d3-\d3-\d4| - пропущен открывающий ограничитель

Предопределенные константы
Регулярные выражения PCRE
PCRE


Регулярные выражения PCRE

Содержание

  • Описание синтаксиса Perl-совместимых регулярных выражений
  • Описывает возможные модификаторы шаблонов Perl-совместимых регулярных выражений (PCRE)
  • Differences From Perl
  • Differences from POSIX regex
Примеры
Описание синтаксиса Perl-совместимых регулярных выражений
PCRE


Синтаксис регулярных выражений

Содержание

  • Вступление
  • Разделители
  • Метасимволы
  • Экранирующие последовательности
  • Свойства Unicode-символов
  • Якоря
  • Метасимвол точка
  • Символьные классы
  • Альтернативный выбор
  • Установка внутренних опций
  • Подмаски
  • Повторение
  • Обратные ссылки
  • Утверждения
  • Однократные подмаски
  • Условные подмаски
  • Комментарии
  • Рекурсивные шаблоны
  • Производительность
Регулярные выражения PCRE
Вступление
Регулярные выражения PCRE


Вступление

Ниже описаны синтаксис и семантика регулярных выражений, поддерживаемых библиотекой PCRE. Регулярные выражения также описаны в документации языка Perl и во множестве других книг, некоторые содержат большое количество примеров. Очень подробно регулярные выражения описаны в книге Джеффри Фридла "Регулярные выражения" (Jeffrey Friedl "Mastering Regular Expressions"), опубликованной издательством O'Reilly (ISBN 1-56592-257-3). Описание ниже дано в качестве справочной информации.

Регулярное выражение - это шаблон, с которым сравнивается указанная строка слева направо. Большинство символов в шаблоне являются самими собой, и совпадают с соответствующими символами в искомой строке. В качестве банального примера, шаблон The quick brown fox соответствует той части искомой строки, которая с ним совпадает.

Описание синтаксиса Perl-совместимых регулярных выражений
Разделители
Описание синтаксиса Perl-совместимых регулярных выражений


Разделители

При использовании любой PCRE функции необходимо заключать шаблон в разделители. Разделителем может быть любой символ не являющийся буквой, цифрой, обратной косой чертой или каким-либо пробельным символом.

Часто используемыми разделителями являются косые черты (/), знаки решетки (#) и тильды (~). Ниже представлены примеры шаблонов с корректными разделителями.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Если необходимо использовать разделитель внутри шаблона, его нужно проэкранировать с помощью обратной косой черты. Если разделитель часто используется в шаблоне, в целях удобочитаемости, лучше выбрать другой разделитель для этого шаблона.

/http:\/\//
#http://#
Функция preg_quote() может быть использована для экранирования строки, используемой в шаблоне, а ее необязательный второй параметр позволяет указать используемый разделитель.

В дополнение к вышеупомянутым разделителям, также возможно использовать скобки, где открывающая и закрывающая скобки, соответственно, являются открывающим и закрывающим разделителем.

{this is a pattern}

После закрывающего разделителями можно использовать модификаторы шаблонов. Ниже следуюет пример регистро-независимого поиска:

#[a-z]#i

Вступление
Метасимволы
Описание синтаксиса Perl-совместимых регулярных выражений


Метасимволы

Сила регулярных выражений исходит из возможности использовать условия и повторения в шаблоне. Они записываются при помощи метасимволов, которые специальным образом интерпретируются.

Существуют два различных набора метасимволов: те, которые используются внутри квадратных скобок, и те, которые используются вне квадратных скобок. Вне квадратных скобок используются следующие метасимволы:

\
общий экранирующий символ, допускающий несколько вариантов применения
^
декларирует начало данных (или строки, в многострочном режиме)
$
декларирует конец данных (или строки, в многострочном режиме)
.
соответствует любому символу, кроме перевода строки (по умолчанию)
[
начало описания символьного класса
]
конец описания символьного класса
|
начало ветки условного выбора
(
начало подмаски
)
конец подмаски
?
расширяет смысл метасимвола (, является также квантификатором, означающим отсутствие либо ровно 1 вхождение, также преобразует жадные квантификаторы в ленивые (смотрите повторение)
*
квантификатор, означающий 0 или более вхождений
+
квантификатор, означающий 1 или более вхождений
{
начало количественного квантификатора
}
конец количественного квантификатора
Часть шаблона, заключенная в квадратные скобки, называется "символьным классом". Внутри символьных классов используются следующие метасимволы:
\
общий экранирующий символ
^
означает отрицание класса, допустим только в начале класса
-
означает символьный интервал
]
завершает символьный класс
Следующие разделы детально описывают каждый из перечисленных метасимволов.

Разделители
Экранирующие последовательности
Описание синтаксиса Perl-совместимых регулярных выражений


Экранирующие последовательности

Обратная косая черта ('\') имеет несколько применений. Прежде всего, если она предшествует не буквенно-цифровому символу, она снимает с него специальное значение, которое он мог иметь. Применение обратной косой черты как экранирующего символа допустимо как в символьном классе, так и вне него.

Например, если вы хотите задать соответствие символу "*", в шаблоне необходимо указать "\*". Это предотвратит трактование последующего символа как метасимвола с особым значением. Всегда безопасно экранировать не буквенно-цифровые символы с помощью "\", если вы хотите убедиться, что они означают в шаблоне самих себя. В частном случае для сопоставления с самим символом обратной косой черты, используйте запись "\\".

Замечание:

PHP-cтроки, заключенные в одинарные и двойные кавычки интерпретируют обратную косую черту по-разному. Поэтому, если необходимо совпадение \ с регулярным выражением \\, в PHP-коде нужно использовать "\\\\" или '\\\\'.

В случае, если указан модификатор PCRE_EXTENDED, пробельные символы в шаблоне (вне описания символьного класса) игнорируются. Также игнорируется часть строки, находящаяся между символом "#" (опять же, не участвующем в описании символьного класса) и следующим символом перевода строки. В таком случае обратный слэш можно применять как экранирующий символ для указания вхождений пробельных символов или символа "#" в шаблоне.

Второе применение обратного слэша заключается в том, что он позволяет использовать непечатные символы в видимой форме в описании шаблона. При том, что в PCRE нет ограничений на использование непечатных символов (исключая бинарный ноль, который интерпретируется как конец шаблона), при редактировании программного кода в каком-либо текстовом редакторе гораздо удобнее использовать следующие комбинации, чем реальные символы, которые они представляют:

\a
символ оповещения, сигнал, (BEL, шестнадцатиричный код 07)
\cx
"Ctrl+x", где x - произвольный символ
\e
escape (шестнадцатеричный код 1B)
\f
разрыв страницы (шестнадцатиричный код 0C)
\n
перевод строки (шестнадцатиричный код 0A)
\p{xx}
символ со свойством xx, подробнее смотрите свойства unicode
\P{xx}
символ без свойства xx, подробнее смотрите свойства unicode
\r
возврат каретки (шестнадцатиричный код 0D)
\t
табуляция (шестнадцатиричный код 09)
\xhh
символ с шестнадцатиричным кодом hh
\ddd
символ с восьмеричным кодом ddd, либо ссылка на подмаску

Если быть более точным, комбинация "\cx" интерпретируется следующим образом: если "x" - символ нижнего регистра, он преобразуется в верхний регистр. После этого шестой бит символа (шестнадцатеричный код 40) инвертируется. Таким образом "\cz" интерпретируется как шестнадцатеричное значение 1A, в то время как "\c{" получает шестнадцатиричное значение 3B, а "\c;" - 7B.

После "\x" считываются еще две шестнадцатиричные цифры (они могут быть записаны в нижнем или верхнем регистре). В режиме UTF-8, разрешается использование "\x{...}", где содержимое скобок является строкой из шестнадцатеричных цифр. Она интерпретируется как символ UTF-8 character с кодом, совпадающим с данным шестнадцатеричным числом. Исходная шестнадцатеричная экранирующая последовательность, \xhh, совпадает с двухбайтным UTF-8 символом, если его значение превышает 127.

После "\0" считываются две восьмеричные цифры. Если в записи менее двух цифр, будут использованы все фактически присутствующие цифры. Таким образом, последовательность "\0\x\07" будет интерпретирована как два бинарных нуля, за которыми следует символ оповещения (звонок). В случае, если вы используете представление числа в восьмеричном коде, убедитесь, что за начальным нулем следуют две значащие цифры.

Обработка обратного слэша, за которым следует ненулевая цифра, несколько сложнее. Вне символьного класса PCRE воспринимает обратный слэш и следующие за ним цифры как десятичное число. Если полученное значение меньше десяти, либо если шаблон содержит по меньшей мере такое же количество предшествующих текущей позиции подмасок, вся конструкция интерпретируется как ссылка на подмаску. Более детальное описание будет приведено ниже при обсуждении механизма работы подмасок.

Внутри символьного класса, либо если полученное значение больше 9 и соответствующее количество предшествующих подмасок отсутствует, PCRE считывает до трех восьмеричных цифр, следующих за обратным слэшем, и генерирует один байт из последних 8-ми значащих битов полученного значения. Все последующие цифры обозначают себя же. Например:

\040
еще один способ записи пробела
\40
то же самое в случае, если данной записи предшествует менее сорока подмасок
\7
всегда интерпретируется как ссылка на подмаску
\11
может быть как обратной ссылкой, так и альтернативной записью символа табуляции
\011
всегда интерпретируется как символ табуляции
\0113
символ табуляции, за которым следует цифра "3"
\113
интерпретируется как символ с восьмеричным кодом 113 (так как ссылок на подмаски не может быть более чем 99)
\377
байт, всецело состоящий из единичных битов
\81
либо обратная ссылка, либо бинарный ноль, за которым следуют цифры "8" и "1"

Следует помнить, что восьмеричные значения, превышающие 100, следует писать без лидирующего нуля, так как читается не более трех восьмеричных цифр.

Все последовательности, определяющие однобайтное значение, могут встречаться как внутри, так и вне символьных классов. Кроме того, внутри символьного класса запись "\b" интерпретируется как символ возврата ('backspace', шестнадцатеричный код 08). Вне символьного класса она имеет другое значение (какое именно, описано ниже).

Третье использование обратного слэша - указание общего типа символов:

\d
любая десятичная цифра
\D
любой символ, кроме десятичной цифры
\h
любой горизонтальный пробельный символ (начиная с версии PHP 5.2.4)
\H
любой символ, не являющийся горизонтальным пробельным символом (начиная с версии PHP 5.2.4)
\s
любой пробельный символ
\S
любой непробельный символ
\v
любой вертикальный пробельный символ (начиная с версии PHP 5.2.4)
\V
любой символ, не являющийся вертикальным пробельным символом (начиная с версии PHP 5.2.4)
\w
Любой символ, образующий "слово"
\W
Любой символ, не образующий "слово"

Каждая пара таких специальных последовательностей делит полное множество всех символов на два непересекающихся множества. Любой символ соответствует одному и только одному множеству из пары.

Символ, образующий "слово" - это произвольная цифра, буква или символ подчеркивания, проще говоря, любой символ, который может являться частью "слова" в Perl. Определение букв и цифр управляется символьными таблицами, с которыми была собрана PCRE. И, как следствие, эти наборы могут отличаться в различных локализированных дистрибутивах. Например, в локали "fr" (Франция) некоторые символы с кодом выше 128 используются для записи ударных символов и, соответственно, соответствуют маске \w.

Описанные выше типы символов могут применяться как внутри, так и вне символьных классов, и соответствуют одному символу данного типа. Если текущая точка сравнения находится в конце строки, ни один из них не сможет совпасть, так как нет символа, с которым могло бы произойти совпадение.

Четвертое использование обратного слэша - определение некоторых формальных утверждений, описывающих условия касательно месторасположения особых позиций в строке и совершенно не затрагивающих сами символы. Использование подмасок как более сложных формальных утверждений описано ниже. Такими управляющими последовательностями являются:

\b
граница слова
\B
не является границей слова
\A
начало данных (независимо от многострочного режима)
\Z
конец данных либо позиция перед последним переводом строки (независимо от многострочного режима)
\z
конец данных (независимо от многострочного режима)
\G
первая совпадающая позиция в строке

Описанные выше последовательности не могут встречаться в символьных классах (исключая комбинацию "\b", которая внутри класса означает символ возврата 'backspace').

Границей слова считается такая позиция в строке, в которой из текущего и последующего символа только один соответствует \w или \W (т.е. один из них соответствует \w, а другой \W). Начало или конец строки также соответствуют границе слова в случае, если первый или, соответственно, последний символ совпадает с \w.

Специальные последовательности \A, \Z и \z отличаются от общеупотребляемых метасимволов начала строки '^' и конца строки '$' (описанных ниже) тем, что они всегда совпадают либо в самом начале либо в самом конце строки. На них никак не влияют опции PCRE_MULTILINE и PCRE_DOLLAR_ENDONLY. Разница между \Z и \z в том, что \Z соответствует позиции перед последним символом в случае, если последний символ - перевод строки, кроме самого конца строки. В то время, как \z соответствует исключительно концу данных.

Утверждение \G является истинным только в том случае, если текущая проверяемая позиция находится в начале совпадения, указанного параметром offset функции preg_match(). Она отличается от \A при ненулевом значении параметра offset.

\Q и \E могут быть использованы для игнорирования метасимволов регулярных выражений в шаблоне. Например: \w+\Q.$.\E$ совпадет с один или более символов, составляющих "слово",за которыми следуют символы .$. и якорь в конце строки.

Последовательность \K может быть использована для сброса начала совпадения начиная с версии PHP 5.2.4. Например, шаблон foo\Kbar совпадет с "foobar", но сообщит о том, что совпал только с "bar". Использование \K не мешает установке подмасок. Например, если шаблон (foo)\Kbar совпадет со строкой "foobar", первой подмаской все равно будет являться "foo".

Метасимволы
Свойства Unicode-символов
Описание синтаксиса Perl-совместимых регулярных выражений


Свойства Unicode-символов

Начиная с версии 5.1.0, были добавлены три дополнительные управляющие последовательности, совпадающих с некоторыми общими символьными типами в режиме UTF-8. Вот они:

\p{xx}
символ со свойством xx
\P{xx}
символ без свойства xx
\X
расширенная последовательность Unicode

Имена свойств, представленные выше как xx, ограничены общими категориями свойств Unicode. Каждый символ имеет ровно одно такое свойство, указываемое двубуквенной аббревиатурой. Для совместимости с Perl также можно указать отрицание добавлением знака "^" между открывающей скобкой и именем свойства. Например, \p{^Lu} - это то же самое, что и \P{Lu}.

Если с \p или \P указана только одна буква, она включает все свойства, которые начинаются с этой буквы. В этом случае, если не используется отрицание, фигурные скобки необязательны; следующие два примера эквивалентны:

\p{L}
\pL

Поддерживаемые коды свойств
Свойство | Совпадение | Замечание
C | Другое |
Cc | Control |
Cf | Формат |
Cn | Не присвоено |
Co | Частное использование |
Cs | Суррогат |
L | Буква | Включает следующие свойства: Ll, Lm, Lo, Lt и Lu.
Ll | Строчная буква |
Lm | Модификатор буквы |
Lo | Другая буква |
Lt | Заглавная буква |
Lu | Прописная буква |
M | Знак |
Mc | Пробельный знак |
Me | Окружающий знак |
Mn | Непробельный знак |
N | Число |
Nd | Десятичное число |
Nl | Буквенное число |
No | Другое число |
P | Пунктуация |
Pc | Соединяющая пунктуация |
Pd | Знаки тире |
Pe | Закрывающая пунктуация |
Pf | Заключительная пунктуация |
Pi | Начальная пунктуация |
Po | Другая пунктуация |
Ps | Открывающая пунктуация |
S | Символ |
Sc | Денежный знак |
Sk | Модификатор символа |
Sm | Математический символ |
So | Другой символ |
Z | Разделитель |
Zl | Разделитель строки |
Zp | Разделитель абзаца |
Zs | Пробельный разделитель |

Расширенные свойства, такие как греческие ("Greek") или музыкальные символы ("InMusicalSymbols") не поддерживаются в PCRE.

Указывание регистро-независимого (безрегистрового) режима не влияет на эти управляющие последовательности. Например, \p{Lu} всегда совпадает только с прописными буквами.

Последовательность \X совпадает с любым числом Unicode символов, формирующих расширенную Unicode последовательность. \X эквивалентно (?>\PM\pM*).

Это означает, что совпадет символ без свойства "знака" ("mark" property), за которым идет ноль или более символов со свойством "знака", и вся последовательность обрабатывается как одна неделимая группа (смотрите ниже). Символы со свойством "знака" - это обычно знаки ударения, влияющие на предыдущий символ.

Совпадение символов по Unicode свойству не является быстрой операцией, потому для этой цели PCRE необходимо осуществить поиск в структуре данных с более чем пятнадцатью тысяч символов. Поэтому традиционные управляющие последовательности в PCRE, такие как \d и \w, не используют Unicode свойства.

Экранирующие последовательности
Якоря
Описание синтаксиса Perl-совместимых регулярных выражений


Якоря

По умолчанию, вне символьного класса метасимвол начала строки (^) соответствует началу обрабатываемых данных (если не используются модификаторы). Внутри символьного класса он (^) имеет совершенно другое значение.

Метасимвол начала строки (^) не обязан быть первым символом шаблона в случае, если в шаблоне используются несколько альтернатив, но должен быть первым символом в каждой из альтернатив, в которой он встречается, если шаблон когда-либо сопоставим с соответствующей веткой. Если все альтернативы начинаются с метасимвола начала строки (^), то шаблон ограничен для совпадения исключительно в начале строки, говорят что шаблон "заякорен". (Существуют и другие способы "заякорить" шаблон).

Соответствие метасимволу конца строки (знак доллара, $) достигается только в конце строки или непосредственно перед последним символом в случае, если им является перевод строки (если модификаторы не указаны). Метасимвол конца строки ($) не обязан быть последним символом шаблона в случае, если используется несколько альтернатив, но должен быть последним символом в каждой альтернативе, в которой он фигурирует. Внутри символьного класса символ '$' не имеет специального значения.

Поведение метасимвола конца строки может быть изменено при помощи модификатора PCRE_DOLLAR_ENDONLY так, чтобы он соответствовал исключительно концу строки. Данный флаг никак не касается специальной последовательности \Z.

Значение метасимволов начала и конца строки меняется в случае, если используется модификатор PCRE_MULTILINE. В таком случае, помимо совпадений в начале или в конце строки, метасимволы '^' и '$' соответствуют позиции непосредственно после символа перевода строки "\n". Например, шаблон /^abc$/ встречается в строке "def\nabc" в многострочном режиме и не встречается в нормальном режиме. Таким образом, шаблон который "заякорен" в однострочном режиме, все ветки которого, начинаются с "^", не будет являться "заякоренным" в многострочном режиме. Модификатор PCRE_DOLLAR_ENDONLY игнорируется в случае, если модификатор установлен PCRE_MULTILINE.

Следует заметить, что служебные последовательности \A, \Z и \z могут использоваться для сопоставления с началом либо концом строки в обоих режимах. И если все ветви шаблона начинаются с \A, шаблон будет "заякорен" независимо от присутствия модификатора PCRE_MULTILINE.

Свойства Unicode-символов
Метасимвол точка
Описание синтаксиса Perl-совместимых регулярных выражений


Метасимвол точка

Вне символьного класса точка соответствует любому (в том числе и непечатному, бинарному) символу, кроме символа перевода строки '\n' (в обычном режиме). В случае, если используется модификатор PCRE_DOTALL, точка соответствует также символу перевода строки. Обработка метасимвола "точка", никак не связана с метасимволами начала и конца строки, единственное, что у них общего - так это специальное отношение к символу перевода строки. Внутри символьного класса точка не имеет специального значения.

Для совпадения с одним байтом можно использовать последовательность \C. Это может быть полезно в режиме UTF-8, так как с точкой в этом режиме будет совпадать целый символ, который может состоять из нескольких байт.

Якоря
Символьные классы
Описание синтаксиса Perl-совместимых регулярных выражений


Символьные классы

Открывающая квадратная скобка объявляет начало символьного класса, завершаемого закрывающей квадратной скобкой. Символ ']' не имеет специального значения, и в случае, если закрывающая квадратная скобка необходима как член символьного класса, она должна быть первым символом непосредственно после открывающей квадратной скобки (если используется метасимвол '^', то непосредственно после него), либо экранироваться при помощи обратного слэша.

Символьный класс соответствует одиночному символу обрабатываемой строки, причем сам символ должен содержаться в наборе, определяемым классом. В случае, если первым символом описания класса является '^', логика работы инвертируется: класс соответствует одиночному символу, который не содержится в наборе, определяемым классом. Если символ '^' необходим как член класса, его не следует помещать первым символом в описании класса либо необходимо экранировать при помощи обратного слэша.

К примеру, символьный класс [aeiou] соответствует любой гласной букве в нижнем регистре, в то время, как [^aeiou] соответствует любому символу, не являющемуся гласной буквой нижнего регистра. Следует понимать, что символ '^' всего лишь удобный инструмент для описания символов, не используемых в сопоставлении, это не утверждение, так как он все же занимает символ в обрабатываемой строке, и не совпадет, если текущая позиция сравнения находится в конце строки.

В случае, если производится регистронезависимое сопоставление, любая буква символьного класса соответствует как своему верхнему, так и нижнему регистру. Таким образом символьный класс [aeiou] соответствует как 'A', так и 'a'. Аналогично, класс [^aeiou] не соответствует ни 'A', ни 'a', тогда как в регистрозависимом режиме совпадение бы состоялось.

Внутри символьного класса символ перевода строки "\n" не имеет специального значения, независимо от наличия модификаторов PCRE_DOTALL и PCRE_MULTILINE. Символьные классы, построенные на отрицании, например [^a], всегда соответствуют символу перевода строки.

Символ минус '-' (дефис) внутри класса используется для задания символьного диапазона. Например, [d-m] соответствует любому символу, находящемуся между 'd' и 'm', включая сами символы 'd' и 'm'. В случае, если '-' необходим, как член класса, он должен находиться в такой позиции, в которой он не может интерпретироваться как диапазон (как правило, это первый и последний символ описания класса), либо экранироваться при помощи обратного слэша.

Недопустимо использовать закрывающую квадратную скобку "]" в качестве границы символьного диапазона. К примеру шаблон '[W-]46]' будет интерпретирован как символьный класс, состоящий из двух символов ("W" и "-"), за которыми следует строка "46]", таким образом шаблон будет соответствовать строкам "W46]" или "-46]". Чтобы все же использовать символ ']' в описании диапазона, его необходимо экранировать при помощи обратного слэша, к примеру шаблон [W-\]46] будет интерпретирован как символьный класс, состоящий из символьного диапазона вместе с двумя последующими символами '4' и '6'. Такого же результата можно достичь используя шестнадцатиричное или восьмеричное представление символа ']'.

Для построения символьных диапазонов используется ASCII представление символов. Таким образом пограничные символы можно задавать непосредственно в числовом представлении, например, [\000-\037]. В случае, если выполняется регистронезависимый поиск, символы, описанные в диапазоне, также будут соответствовать символам обеих регистров. К примеру, диапазоны [W-c] и [][\^_`wxyzabc] эквивалентны (в случае регистронезависимого поиска). Например, если установлена локаль "fr" (Франция) можно использовать [\xc8-\xcb] для задания соответствия ударному 'E' в обоих регистрах.

Общие типы символов \d, \D, \s, \S, \w, и \W также могут использоваться в символьных классах, добавляя при этом в класс те символы, которым соответствуют. Например, класс [\dABCDEF] соответствует любой шестнадцатиричной цифре. Символ '^' может использоваться совместно с общим типом, взятым в верхнем регистре, для указания более узкого набора символов. Например, класс [^\W_] соответствует любой букве или цифре, но не символу подчеркивания.

Все небуквенно-цифровые символы, кроме \, -, ^ (вначале) и завершающего ']', не являются специальными символами, но использование экранирующего слэша перед ними не навредит. Символ конца шаблона всегда является особым случаем и всегда должен быть проэкранирован внутри выражения.

Perl поддерживает нотацию POSIX для символьных классов. Это включает использование имен, заключенных в [: и :], в свою очередь заключенных в квадратные скобки. PCRE также поддерживает эту запись. Например, [01[:alpha:]%] совпадет с "0", "1", любым алфавитным символом или "%". Поддерживаются следующие имена классов:

Символьные классы
alnum | буквы и цифры
alpha | буквы
ascii | символы с кодами 0 - 127
blank | только пробел или символ табуляции
cntrl | управляющие символы
digit | десятичные цифры (то же самое, что и \d)
graph | печатные символы, исключая пробел
lower | строчные буквы
print | печатные символы, включая пробел
punct | печатные символы, исключая буквы и цифры
space | пробельные символы(почти то же самое, что и \s)
upper | прописные буквы
word | символы "слова" (то же самое, что и \w)
xdigit | шестнадцатеричные цифры
Класс пробельных символов (space) - это горизонтальная табуляция (HT, 9), перевод строки (LF, 10), вертикальная табуляция (VT, 11), разрыв страницы (FF, 12), возврат каретки (CR, 13) и пробел (32). Учтите, что этот список включает вертикальную табуляцию (VT, код 11). Это отличает "space" от \s, который не включает этот символ (для совместимости с Perl).

Название word - это расширение Perl, а blank - расширение GNU, начиная с версии Perl 5.8. Другое расширение Perl - это отрицание, которое указывается символом ^ после двоеточия. Например, [12[:^digit:]] совпадет с "1", "2", или с любой нецифрой.

В режиме UTF-8, символы со значениями, превышающими 128, не совпадут ни с одним из символьных классов POSIX.

Метасимвол точка
Альтернативный выбор
Описание синтаксиса Perl-совместимых регулярных выражений


Альтернативный выбор

Символ вертикальной черты '|' используется для разделения альтернативных масок. Например, шаблон gilbert|sullivan соответствует как "gilbert", так и "sullivan". Допустимо указывать любое количество альтернатив, также допустимо указывать пустые альтернативы (соответствуют пустой строке). В процессе поиска соответствия просматриваются все перечисленные альтернативы слева направо, останавливаясь после первого найденного соответствия. В случае, если альтернативные варианты перечислены в подмаске, то весь шаблон совпадет только в случае соответствия одного из альтернативных вариантов подмаски и остатка основного шаблона.

Символьные классы
Установка внутренних опций
Описание синтаксиса Perl-совместимых регулярных выражений


Установка внутренних опций

Установки PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED и PCRE_DUPNAMES могут быть локально предопределены в шаблоне с использованием специальных Perl-последовательностей, заключенных между символами "(?" и ")". Ниже представлен список этих опций:

Символы внутренних опций
i | для PCRE_CASELESS
m | для PCRE_MULTILINE
s | для PCRE_DOTALL
x | для PCRE_EXTENDED
U | для PCRE_UNGREEDY
X | для PCRE_EXTRA
J | для PCRE_INFO_JCHANGED

Например, (?im) указывает на регистронезависимый, многострочный режим поиска. Также можно сбросить опцию, поставив перед ней символ '-', либо комбинировать установку и отмену режимов. Например, (?im-sx) устанавливает флаги PCRE_CASELESS, PCRE_MULTILINE и отменяет флаги PCRE_DOTALL и PCRE_EXTENDED. В случае, если символ расположен одновременно после и перед символом '-', опция будет отменена.

Если изменение опции происходит на самом верхнем уровне (т.е. вне подмаски), изменение будет применено к оставшейся части шаблона. Таким образом, /ab(?i)c/ совпадет только с "abc" и "abC".

Если изменение опции происходит внутри подмаски, эффект будет другим. Это изменение поведения в Perl 5.005. Изменение опции внутри подмаски повлияет только на оставшуюся часть этой подмаски, то есть (a(?i)b)c совпадет только с 'abc' и 'aBc' и больше ни с чем (разумеется, если PCRE_CASELESS не включен). Это означает, что в разных частях шаблона опции могут отличаться. Любые изменения, произошедшие в одной альтернативной ветке, переносятся и в другие ветки в пределах одной подмаски. Например, (a(?i)b|c) совпадет с "ab", "aB", "c", и "C", хотя и при совпадении с "C" первая ветка была отброшена до установки опции. Это происходит потому, что установка всех опций происходит на этапе компиляции. В противном случае могло быть весьма странное поведение.

Опции, специфичные для PCRE, такие как PCRE_UNGREEDY и PCRE_EXTRA могут быть установлены точно так же, как и Perl-совместимые опции, путем использования символов U и X соответственно. Флаг (?X) специфичен тем, что должен быть расположен в шаблоне прежде, чем будет использоваться любая другая дополнительная возможность, даже если он расположен на верхнем уровне. Лучше всего размещать флаг (?X) в самом начале шаблона.

Альтернативный выбор
Подмаски
Описание синтаксиса Perl-совместимых регулярных выражений


Подмаски

Подмаски ограничиваются круглыми скобками, которые могут быть вложенными. Использование части шаблона как подмаски имеет следующие функции:

  1. Локализирует набор альтернатив. Например, шаблон cat(aract|erpillar|) соответствует одному из слов "cat", "cataract" или "caterpillar". Без использования скобок он соответствовал бы строкам "cataract", "erpillar" или пустой строке.

  2. Указывает на необходимость захвата подстроки (как показано выше). В том случае, если соответствие шаблону было найдено, подстрока, соответствующая подмаске, также передается обратно вызывающему при помощи аргумента ovector функции pcre_exec(). Открывающие круглые скобки нумеруются слева направо (начиная с единицы) и их порядковые номера используются для нумерации соответствующих подстрок в результате.

Например, если строка "the red king" сопоставляется с шаблоном the ((red|white) (king|queen)), будут захвачены подстроки "red king", "red" и "king", с номерами 1, 2 и 3 соответственно.

На самом деле выполнение одновременно двух функций не всегда удобно. Бывают случаи, когда необходима группировка альтернатив без захвата строки. В случае, если после открывающей круглой скобки следует "?:", захват строки не происходит, и текущая подмаска не нумеруется. Например, если строка "the white queen" сопоставляется с шаблоном the ((?:red|white) (king|queen)), будут захвачены подстроки "white queen" и "queen", и они будут пронумерованы 1 и 2 соответственно. Максимальное количество захватывающих подмасок - 99, максимальное количество всех подмасок (как захватывающих, так и нет) - 200.

В случае, если в незахватывающей подмаске необходимо указать дополнительные опции, можно воспользоваться удобным сокращением: символ, обозначающий устанавливаемую опцию помещается между "?" и ":". Таким образом, следующие два шаблона

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

соответствуют одному и тому же набору строк. Поскольку альтернативные версии берутся слева направо, и установленные опции сохраняют свое действие до конца подмаски, опция, установленная в одной ветке, также имеет эффект во всех последующих ветках. Поэтому приведенные выше шаблоны совпадают как с "SUNDAY", так и с "Saturday".

Также можно использовать именованные подмаски с помощью синтаксиса (?P<name>pattern). Эта подмаска будет индексирована в массиве совпадений кроме обычного числового индекса, еще и по имени name. В PHP 5.2.2 было добавлено два альтернативных синтаксиса: (?<name>pattern) и (?'name'pattern).

Иногда бывает необходимо иметь несколько совпадений, исключающих друг друга. Обычно, каждое такое совпадение получает свой собственный номер, даже если шаблон позволяет совпасть только одному из них. Синтаксис (?| позволяет обойти это поведение и убрать дублирующиеся номера. Рассмотрим следующее регулярное выражение, сопоставленное со строкой Sunday:

(?:(Sat)ur|(Sun))day

Здесь Sun сохраняется в ссылке 2, тогда как ссылка 1 пуста. Если же совпадет Sat, то она будет помещена в ссылку 1, а ссылка 2 вообще не будет существовать. Использование (?| в шаблоне решает эту проблему:

(?|(Sat)ur|(Sun))day

В этом шаблоне обе подмаски Sun и Sat будут сохранены под номером 1.

Установка внутренних опций
Повторение
Описание синтаксиса Perl-совместимых регулярных выражений


Повторение

Повторение задается при помощи квантификаторов, следующих за любым из указанных ниже элементов:

  • произвольным, возможно экранированным, символом
  • метасимволом "точка"
  • символьным классом
  • ссылкой на предыдущий фрагмент шаблона (см. следующий раздел)
  • взятой в круглый скобки подмаской (если это не утверждение - см. далее)

Общий квантификатор повторения указывает минимальное и максимальное допустимое количество совпадений, согласно двум числам, заключенными в фигурные скобки и разделенными запятой. Числа должны быть меньше чем 65536, и первое число не должно превышать второе по значению. Например: z{2,4} соответствует "zz", "zzz" или "zzzz". Закрывающая фигурная скобка сама по себе не является специальным символом. В случае, если второе число опущено, но запятая присутствует, нет верхнего предела; в случае, если и второе число и запятая опущены, требуется точное число повторений. Таким образом [aeiou]{3,} соответствует как минимум трем последовательным гласным (а также любому их количеству выше трех), в то время как \d{8} соответствует ровно восьми цифрам. Открывающая фигурная скобка, расположенная в недопустимой для квантификатора позиции, либо не соответствующая синтаксису квантификатора, интерпретируется как обыкновенная символьная строка. Например, {,6} не является квантификатором, а интерпретируется как символьная строка из четырех символов.

Квантификатор {0} является допустимым и ведет себя таким образом, будто бы сам квантификатор и предшествующий ему элемент отсутствуют.

Для удобства (а так же обратной совместимости) три наиболее распространённых квантификатора имеют односимвольные аббревиатуры:

Односимвольные квантификаторы
* | эквивалентен {0,}
+ | эквивалентен {1,}
? | эквивалентен {0,1}

Можно конструировать бесконечные циклы, указав после шаблона, совпадающего с пустой строкой, квантификатор, не имеющий верхнего предела, например: (a?)*

Ранние версии Perl и PCRE выдавали ошибку во время компиляции для таких шаблонов. Однако, поскольку бывают случаи, когда подобные шаблоны могли бы быть полезны, была добавлена поддержка таких шаблонов. Но если любое повторение такой подмаски фактически не совпадает ни с какими символами, цикл принудительно прерывается.

По умолчанию, все квантификаторы являются "жадными", это означает, что они совпадают максимально возможное количество раз (но не более, чем максимально допустимое количество раз), не приводя к невозможности сопоставления остальных частей шаблона. Классический пример проблем, которые могут возникнуть в связи с такой особенностью квантификаторов - нахождение комментариев в C-программах. Комментарием считается произвольный текст, находящийся внутри символьных комбинаций /* и */ (при этом, символы '/' и '*' также могут быть частью комментария). Попытка найти комментарии при помощи шаблона /\*.*\*/ в строке /* первый комментарий */ не комментарий /* второй комментарий */ закончится неудачей, поскольку указанный шаблон соответствует всей строке целиком (из-за жадности кватификатора '*').

Однако, если сразу же после квантификатора идет вопросительный знак, он становится "ленивым" и соответствует минимально допустимому количеству раз. Таким образом, шаблон /\*.*?\*/ корректно находит все комментарии языка Си. Использование символа '?' после квантификатора влияет исключительно на его жадность, и не затрагивает никакие другие свойства. Не следует путать использование символа '?' как, собственно, квантификатора (ноль либо одно соответствие) и как ограничителя жадности. Также в следствие его двойственной функциональности может использоваться следующая запись: \d??\d, которая в первую очередь соответствует одной цифре, но также может соответствовать и двум цифрам, если это необходимо для соответствия остальных частей шаблона.

В случае, если установлена опция PCRE_UNGREEDY (отсутствующая в Perl), квантификаторы не являются жадными по умолчанию, но могут становиться таковыми, если за ними следует символ '?'. Говоря другими словами, знак вопроса инвертирует жадность квантификаторов.

Квантификаторы, за которыми следует +, являются "захватывающими". Они поглощают столько символов, сколько могут и не возвращаются обратно для совпадения остатка шаблона. Таким образом .*abc совпадет с "aabc", а .*+abc - нет, потому что .*+ захватит всю строку целиком. Захватывающие квантификаторы могут быть использованы для ускорения обработки.

В случае, если используется подмаска с квантификатором, для которого задано минимальное количество повторений (больше одного), либо задано максимальное количество повторений, то для откомпилированного шаблона требуется больше памяти (пропорционально минимуму либо максимуму соответственно).

В случае, если шаблон начинается с .* либо .{0,}, и установлен модификатор PCRE_DOTALL (являющийся аналогом Perl-опции /s), который позволяет метасимволу "точка" соответствовать переводам строк, шаблон неявно заякоривается. Это происходит поскольку все последующие конструкции будут сопоставляться с каждой символьной позицией в обрабатываемом тексте, и, как следствие, начало строки - единственная позиция, дающая наиболее полное совпадение. PCRE рассматривает каждый такой шаблон, как если бы ему предшествовала последовательность \A. В случае, если известно, что данные не содержат переводов строк, а сам шаблон начинается на .*, рекомендуется использовать PCRE_DOTALL для оптимизации шаблона, либо использовать метасимвол '^' для указания явного заякоривания.

В случае, если захватывающая подмаска повторяется, результирующим значением подмаски будет подстрока, совпадающая с результатом последней итерации. Например, после того, как (tweedle[dume]{3}\s*)+ совпадет с "tweedledum tweedledee", результирующим значением подмаски будет "tweedledee". Однако, если присутствуют вложенные захватывающие подмаски, соответствующие значения могут быть установлены в предыдущих итерациях. Например, после того, как /(a|(b))+/ совпадет с "aba", значением второй захваченной подстроки будет "b".

Подмаски
Обратные ссылки
Описание синтаксиса Perl-совместимых регулярных выражений


Обратные ссылки

Вне символьного класса обратный слэш с последующей цифрой больше нуля (и, возможно, последующими цифрами) интерпретируется как ссылка на предшествующую захватывающую подмаску, предполагая, что соответствующее количество предшествующих открывающих круглых скобок присутствует.

Однако, в случае, если следующее за обратным слэшем число меньше 10, оно всегда интерпретируется как обратная ссылка, и приводит к ошибке только в том случае, если нет соответствующего числа открывающих скобок. Другими словами, открывающие скобки не обязаны предшествовать ссылке для чисел меньше 10. "Упреждающая обратная ссылка" может смысл, если используется повторение и более поздняя подмаска участвует в ранней итерации. Более детальную информацию об обработке цифр после обратного слэша можно найти в разделе "Обратный слэш".

Обратная ссылка сопоставляется с частью строки, захваченной соответствующей подмаской, но не с самой подмаской. Таким образом шаблон (sens|respons)e and \1ibility соответствует "sense and sensibility", "response and responsibility", но не "sense and responsibility". В случае, если обратная ссылка обнаружена во время регистрозависимого поиска, то при сопоставлении обратной ссылки регистр также учитывается. Например, ((?i)rah)\s+\1 соответствует "rah rah" и "RAH RAH", но не "RAH rah", хотя сама подмаска сопоставляется без учета регистра.

На одну и ту же подмаску может быть несколько ссылок. Если подмаска не участвовала в сопоставлении, то сопоставление со ссылкой на нее всегда терпит неудачу. Например, шаблон (a|(bc))\2 терпит неудачу, если находит соответствие с "a" раньше, чем с "bc". Поскольку может быть до 99 обратных ссылок, все цифры, следующие за обратным слэшем, рассматриваются как часть потенциальной обратной ссылки. Если за ссылкой должна следовать цифра, необходимо использовать ограничитель. В случае, если указан флаг PCRE_EXTENDED, ограничителем может быть любой пробельный символ. В противном случае можно использовать пустой комментарий.

Ссылка на подмаску, внутри которой она расположена, всегда терпит неудачу, если это первое сопоставление текущей подмаски. Например, шаблон (a\1) не соответствует ни одной строке. Но все же такие ссылки бывают полезны в повторяющихся подмасках. Например, шаблон (a|b\1)+ совпадает с любым количеством "a", "aba", "ababaa"... При каждой итерации подмаски обратная ссылка соответствует той части строки, которая была захвачена при предыдущей итерации. Чтобы такая конструкция работала, шаблон должен быть построен так, чтобы при первой итерации сопоставление с обратной ссылкой не производилось. Этого можно достичь, используя альтернативы (как в предыдущем примере), либо квантификаторы с минимумом, равным нулю.

Начиная с PHP 5.2.2, управляющая последовательность \g может быть использована для абсолютных и относительных ссылок на подмаски. После этой последовательности должно быть указано беззнаковое или отрицательное число, при желании заключенное в фигурные скобки. Последовательности \1, \g1 и \g{1} эквивалентны друг другу. Использование этого шаблона с беззнаковым числом поможет избежать двусмысленности, присущей числам после обратного слэша. Это также помогает отличить обратные ссылки от символов в восьмеричном формате, а также упрощает запись числового литерала сразу после обратной ссылки, например, \g{2}1.

Использование отрицательных чисел с \g полезно при использовании относительных ссылок. Например, (foo)(bar)\g{-1} соответствует "foobarbar", а (foo)(bar)\g{-2} соответствует "foobarfoo". Это также может быть полезно в длинных шаблонах, в качестве альтернативы отслеживания числа подмасок, на которые можно ссылаться в последующей части шаблона.

Указать обратную ссылку на именованную подмаску можно с помощью (?P=name) или, начиная с PHP 5.2.2, \k<name> или \k'name'. Кроме того, в PHP 5.2.4 была добавлена поддержка \k{name} и \g{name}.

Повторение
Утверждения
Описание синтаксиса Perl-совместимых регулярных выражений


Утверждения

Утверждения - это проверки касательно символов, идущих до или после текущей позиции сопоставления, ничего при этом не поглощая (никакие символы исходного текста не ставятся в соответствие утверждениям). Наиболее простые варианты утверждений, такие как \b, \B, \A, \Z, \z, ^ и $ были рассмотрены ранее. Более сложные утверждения записываются как подмаски. Утверждения бывают двух видов: те, которые анализируют текст, следующий после текущей позиции (look ahead), и идущий перед ней (look behind).

Сопоставление подмаски, содержащий утверждение, происходит обычным образом, за исключением того, что текущая позиция не изменяется. Утверждения касательно последующего текста начинаются с (?= для положительных утверждений и с (?! для отрицающих утверждений. Например, \w+(?=;) совпадает со словом, за которым следует символ ';', но при этом сама точка с запятой в совпадение не включается. А foo(?!bar) соответствует любому появлению "foo", после которого не идёт "bar". Заметим, что похожий шаблон (?!foo)bar не будет искать вхождение "bar", которому предшествует любая строка за исключением "foo". Но, тем не менее, он будет соответствовать любым вхождениям подстроки "bar", поскольку условие (?!foo) всегда TRUE, если следующие три символа - "bar". Для получения желаемого результата необходимо воспользоваться второй категорией утверждений.

Утверждения касательно предшествующего текста начинаются с (?<= для положительных утверждений и (?<! для отрицающих. Например, (?<!foo)bar найдёт вхождения "bar", которым не предшествует "foo". Сами утверждения 'назад' ограничены так, чтобы все подстроки, которым они соответствуют, имели фиксированную длину. Но, в случае, если используются несколько альтернатив, они не обязаны иметь одинаковую длину. Таким образом шаблон (?<=bullock|donkey) корректен, но (?<!dogs?|cats?) вызовет ошибку во время компиляции. Ветки, которые соответствуют строкам разной длины, разрешены только на верхнем уровне утверждений касательно предшествующего текста. Это расширение относительно Perl 5.005, который требует чтобы все ветки соответствовали строкам одинаковой длины. Такое утверждение как (?<=ab(c|de)) не корректно, поскольку верхний уровень маски может соответствовать строкам разной длины, но его можно преобразовать к корректному шаблону, используя альтернативы на верхнем уровне: (?<=abc|abde) Утверждения касательно предшествующего текста реализованы так, что для каждой альтернативы текущая позиция временно переносится назад, на фиксированную ширину, после чего выполняется поиск соответствия условию. В случае, если перед текущей позицией недостаточно символов, поиск соответствия терпит неудачу. Утверждения назад в сочетании с однократными подмасками могут быть особенно удобны для поиска в конце строки; соответствующий пример приведен в конце раздела "Однократные подмаски".

Несколько утверждений (разных типов) могут присутствовать в утверждении, например: (?<=\d{3})(?<!999)foo совпадает с подстрокой "foo", которой предшествуют три цифры, отличные от "999". Следует понимать, что каждое из утвержений проверяется относительно одной и той же позиции в обрабатываемом тексте. Вначале выполняется проверка того, что предшествующие три символа - это цифры, затем проверяется, чтобы эти же цифры не являлись числом 999. Приведенный выше шаблон не соответствует подстроке "foo", которой предшествуют шесть символов, первые три из которых - цифры, а последние три не образуют "999". Например, он не соответствует строке "123abcfoo", в то время как шаблон (?<=\d{3}...)(?<!999)foo соответствует.

В этом случае анализируются предшествующие шесть символов на предмет того, чтобы первые три из них были цифрами, а последние три не образовали "999".

Утверждения могут быть вложенными, причем в произвольных сочетаниях: (?<=(?<!foo)bar)baz соответствует подстроке "baz", которой предшествует "bar", перед которой, в свою очередь, нет "foo", а (?<=\d{3}...(?<!999))foo - совершенно другой шаблон, соответствующий подстроке "foo", которой предшествуют три цифры и три произвольных символа, отличных от "999".

Утверждающие подмаски являются незахватывающими и неповторяемыми, поскольку бессмысленно повторять одно и то же несколько раз. Если в утверждении произвольного типа находится захватывающая подмаска, она нумеруется в той же последовательности, что и все остальные захватывающие подмаски, но захват соответствующих значений происходит только для положительных утверждений, поскольку для отрицающих это не имеет смысла.

В утверждениях обрабатывается не более, чем 200 захватывающих подмасок.

Обратные ссылки
Однократные подмаски
Описание синтаксиса Perl-совместимых регулярных выражений


Однократные подмаски

Как для минимального, так и максимального количества повторений, если последующая часть шаблона терпит неудачу при сопоставлении, происходит повторный анализ повторяемого выражения на предмет того, возможно ли успешное сопоставление всего шаблона при другом количестве повторений. Бывают случаи, когда необходимо изменить описанную логику работы для реализации специфического сопоставления либо оптимизации шаблона (если автор уверен, что других вариантов соответствия нет).

В качестве примера, рассмотрим шаблон \d+foo в применении к строке 123456bar

После того, как \d+ будет сопоставлен с первыми шестью цифрами, сопоставление "foo" потерпит неудачу. После этого, в соответствие \d+, будет сопоставлено 5 цифр, после очередной неудачи будет сопоставлено 4 цифры и так далее. В конце концов весь шаблон потерпит неудачу. Однократные подмаски указывают, что если одна часть шаблона была сопоставлена, ее не стоит анализировать повторно. Применимо к приведенному выше примеру весь шаблон потерпел бы неудачу после первого же неудачного сопоставления с "foo". Записываются однократные шаблоны при помощи круглых скобок следующим образом: (?>. Например: (?>\d+)bar

Этот вид подмаски предотвращает повторный ее анализ в случае, если сопоставление последующих элементов терпят неудачу. Однако, это не мешает повторно анализировать любые другие элементы, в том числе предшествующие однократной подмаске.

Говоря другими словами, подмаски такого типа соответствуют той части подстроки, которой соответствовала бы одиночная изолированная маска, заякоренная на текущей позиции обрабатываемого текста.

Однократные подмаски являются незахватывающими. Простые примеры, подобные приведенному выше, можно охарактеризовать как безусловный захват максимального количества повторений. В то время как \d+ и \d+? корректируются так, чтобы остальные части шаблона так же совпали, (?>\d+) соответствует исключительно максимальной по длине последовательности цифр, даже если это приводит к неудаче при сопоставлении других частей шаблона.

Однократные подмаски могут включать в себя более сложные конструкции, а также могут быть вложенными.

Однократные подмаски могут использоваться совместно с утверждениями касательно предшествующего текста для описания эффективных сопоставлений в конце обрабатываемого текста. Рассмотрим простой шаблон abcd$ в применении к длинному тексту, который не соответствует указанной маске. Поскольку поиск происходит слева направо, вначале PCRE будет искать букву "a", и только потом анализировать следующие записи в шаблоне. В случае, если шаблон указан в виде ^.*abcd$. В таком случае вначале .* сопоставляется со всей строкой, после чего сопоставление терпит неудачу (так как нет последующего символа 'a'). После чего .* сопоставляется со всей строкой, кроме последнего символа, потом кроме двух последних символов, и так далее. В конечном итоге поиск символа 'a' происходит по всей строке. Однако, если шаблон записать в виде: ^(?>.*)(?<=abcd) повторный анализ для .* не выполняется, и, как следствие, может соответствовать только всей строке целиком. После чего утверждение проверяет последние четыре символа на совпадение с 'abcd', и в случае неудачи все сопоставление терпит неудачу. Для больших объемов обрабатываемого текста этот подход имеет значительный выигрыш во времени выполнения.

Если шаблон содержит неограниченное повторение внутри подмаски, которая в свою очередь также может повторяться неограниченное количество раз, использование однократных подмасок позволяет избегать многократных неудачных сопоставлений, которые длятся достаточно продолжительное время. Шаблон (\D+|<\d+>)*[!?] соответствует неограниченному количеству подстрок, которые состоят не из цифр, либо из цифр заключенных в <>, за которыми следует ? либо !. В случае, если в обрабатываемом тексте содержатся соответствия, время работы регулярного выражения будет невелико. Но если его применить к строке aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa это займет длительное время. Это связанно с тем, что строка может быть разделена между двумя частями шаблона многими способами, и все они будут опробованы (в примере мы использовали [?!], поскольку в случае одиночного символа в конце шаблона и PCRE и Perl выполняют оптимизацию. Они запоминают последний одиночный символ и в случае его отсутствия выдают неудачу). Если изменить шаблон на ((?>\D+)|<\d+>)*[!?], нецифровые последовательности не могут быть разорваны, и невозможность сопоставления обнаруживается гораздо быстрее.

Утверждения
Условные подмаски
Описание синтаксиса Perl-совместимых регулярных выражений


Условные подмаски

В PCRE реализована возможность подчинять шаблон условию либо выбирать из двух условных подмасок в зависимости от успеха сопоставления предыдущей подмаски. Условные подмаски имеют две допустимые формы использования:

(?(condition)yes-pattern)
(?(condition)yes-pattern|no-pattern)

В случае успешного сопоставления условия condition, используется подмаска yes-pattern, в противном случае no-pattern (если он присутствует). Если указано более двух альтернатив, возникнет ошибка во время компиляции.

Условия бывают двух видов. В случае, если между скобками заключены цифры, условие будет выполняться в том случае, если подмаска с соответствующим номером была успешно сопоставлена. Рассмотрим следующий шаблон (он содержит незначащий пробел для удобства чтения, подразумевается использование модификатора PCRE_EXTENDED), разделив его для удобства на три смысловые части: ( \( )? [^()]+ (?(1) \) )

Первая часть соответствует опциональной открывающей скобке, и в случае если она присутствует, захватывает ее как значение первой подмаски. Следующая часть соответствует одному или более символам, отличным от круглой скобки. Третья часть является условной подмаской, зависящей от результата сопоставления первой подмаски. В случае, если в начале обрабатываемых данных была обнаружена открывающая круглая скобка, условие будет интерпретировано как истина, и, следовательно, для успешного сопоставления третьей части шаблона необходима закрывающая круглая скобка. В противном случае, поскольку не указана вторая ветвь условного шаблона, третья часть будет сопоставлена с пустой строкой. Суммируя все вышесказанное, приведенный шаблон совпадает с последовательностью не-скобок, возможно, заключенной в круглые скобки.

Если условием является строка (R), оно будет выполнено, если будет произведен рекурсивный вызов к шаблону или подмаске. На "самом верхнем уровне" условие ложно.

Если условие не является последовательностью цифр или (R), оно должно быть утверждением. Это может быть либо положительная или отрицательная проверка последующего либо предыдущего текста. Рассмотрим данный шаблон, снова содержащий незначащие пробелы, с двумя альтернативами на второй строке:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

Приведен пример с утверждающим условием касательно предшествующего текста, которое выполняется для необязательной последовательности не-букв с последующей буквой. Говоря другими словами, указанное условие проверяет наличие хотя бы одной предшествующей буквы. В случае, если буква найдена, выполняется сопоставление с первой альтернативой, в противном случае - со второй альтернативой. Приведенный шаблон соответствует строкам двух видов: dd-aaa-dd либо dd-dd-dd, где aaaa - это буквы, а dd - цифры.

Однократные подмаски
Комментарии
Описание синтаксиса Perl-совместимых регулярных выражений


Комментарии

Служебная последовательность (?# обозначает начало комментария, который продолжается до ближайшей закрывающей скобки. Вложенные скобки не допускаются. Символы, находящиеся внутри комментария, не принимают участия в сопоставлении шаблона.

В случае, если используется модификатор PCRE_EXTENDED, неэкранированный символ '#' вне символьного класса также означает начало блока комментария, который длится до конца текущей строки.

Условные подмаски
Рекурсивные шаблоны
Описание синтаксиса Perl-совместимых регулярных выражений


Рекурсивные шаблоны

Рассмотрим задачу поиска соответствия со строкой, находящихся внутри неограниченного количества круглых скобок. Без использования рекурсии лучшее, что можно сделать - написать шаблон, который будет решать задачу для некоторой ограниченной глубины вложенности, так как обработать неограниченную глубину не предоставляется возможным. В Perl 5.6 предоставлены некоторые экспериментальные возможности, которые в том числе позвояляют реализовать рекурсию в шаблонах. Специально обозначение (?R) используется для указания рекурсивной подмаски. Таким образом, приведем PCRE шаблон, решающий поставленную задачу (подразумевается, что используется модификатор PCRE_EXTENDED, незначащие пробелы игнорируются): \( ( (?>[^()]+) | (?R) )* \)

Вначале он соответствует открывающей круглой скобке. Далее он соответствует любому количеству подстрок, каждая из которых может быть последовательностью не-скобок, либо строкой, рекурсивно соответствующей шаблону (т.е. строкой, корректно заключенной в круглые скобки). И, в конце, идет закрывающая круглая скобка.

Приведенный пример шаблона использует вложенные неограниченные повторения, поэтому использование однократных шаблонов значительно ускоряет процесс сопоставления, особенно в случаях, когда строка не соответствует заданной маске. Например, если его применить к строке: (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(), то несоответствие будет обнаружено достаточно быстро. Но в случае, если однократные шаблоны не используются, сопоставление будет затягиваться на длительное время, так как существует множество способов разделения строки между квантификаторами + и *, и все они должны быть проверены, прежде чем будет выдано сообщение о неудаче.

Значение, устанавливаемое для захватывающей подмаски будет соответствовать значению, захваченному на наиболее глубоком уровне рекурсии. В случае, если приведенный выше шаблон сопоставляется со строкой (ab(cd)ef), захваченным значением будет 'ef', которое является последним значением, принимаемым на верхнем уровне. В случае, если добавить дополнительные скобки \( ( ( (?>[^()]+) | (?R) )* ) \), захваченным значением будет "ab(cd)ef". В случае, если в шаблоне встречается более, чем 15 захватывающих скобок, PCRE требуется больше памяти для обработки рекурсии, чем обычно. Память выделяется при помощи функции pcre_malloc, и освобождается соответственно функцией pcre_free. Если память не может быть выделена, сохраняются данные только для первых 15 захватывающих скобок, так как нет способа выдать ошибку out-of-memory изнутри рекурсии.

(?1), (?2) и так далее также могут быть использованы для рекурсивных подмасок. Также возможно использовать именованные подмаски: (?P>name) или (?P&name).

Если синтаксис ссылки на рекурсивную подмаску (как по имени, так и по числовому индексу) используется вне скобок, к которым он относится, он отрабатывает аналогично подпрограмме в языке программирования. Возьмем более ранний пример, указывающий что шаблон (sens|respons)e and \1ibility соответствует "sense and sensibility" и "response and responsibility", но не "sense and responsibility". Если вместо этого использовать шаблон (sens|respons)e and (?1)ibility, он совпадет с "sense and responsibility" так же, как и с другими двумя строками. Однако, такие ссылки должны быть указаны после подмаски, на которую они ссылаются.

Максимальная строка обрабатываемой строки не должна превышать максимально доступного целого числа. Однако, так как для обработки подмасок и бесконечного повторения PCRE использует рекурсию, это означает, что размер обрабатываемых строк в некоторых шаблонах также может быть ограничен доступным размером стэка.

Комментарии
Производительность
Описание синтаксиса Perl-совместимых регулярных выражений


Производительность

Некотрые элементы, которые могут встречаться в шаблонах, являются более эффективными, чем ряд других. Например, гораздо эффективней использовать символьный класс [aeiou] вместо набора альтернатив (a|e|i|o|u). Как правило, более простая конструкция является более эффективной. Книга Джеффри Фридла содержит много обсуждений вопроса оптимизации регулярных выражений.

В случае, если шаблон начинается с .* и используется флаг PCRE_DOTALL, шаблон неявно заякоривается, так как он может совпадать только в начале строки. Но если PCRE_DOTALL не используется, PCRE не может выполнить соответствующую оптимизацию, так как в таком случае метасимвол '.' не соответствует символу начала строки (если обрабатываемые данные содержат переводы строк, такой шаблон может соответствовать шаблону не от начала строки, а от позиции непосредственно после перевода строки). Например, применяя шаблон (.*) second к строке "first\nand second" (где \n обозначает символ перевода строки), значение, захваченное первой подмаской, будет 'and'. Чтобы обработать все возможные точки соответствия, PCRE пытается сопоставить шаблон после каждого символа перевода строки.

В случае, если вы используете подобные шаблоны для обработки данных, не содержащих переводы строк, для лучшей производительности используйте модификатор PCRE_DOTALL, либо начинайте шаблон с ^.* для указания явного заякоривания. Это предотвратит PСRE от поиска символов новых строк и дополнительных попыток сопоставить шаблон с каждой такой найденной позицией.

Избегайте шаблонов, которые содержат вложенные неограниченные повторения. Сопоставление их со строками, не содержащими совпадений, занимает длительное время. Рассмотрим пример шаблона (a+)*

Он может соответствовать с "aaaa" 33-мя различными способами, и эта цифра очень быстро растет при увеличении строки. (В данном примере, квантификатор * может совпадать 0, 1, 2, 3 или 4 раза, и для каждого такого случая, кроме нуля, квантификатор + также может совпадать различное число раз.) Если остаток шаблона таков, что все совпадение терпит неудачу, PCRE должна попробовать все возможные варианты совпадения, что может потребовать огромного количества времени.

При помощи оптимизации можно отловить наиболее простые случаи, такие как (a+)*b где следом идёт литеральный символ. Прежде, чем производить стандартную процедуру поиска, PCRE проверяет в последующей подстроке наличие символа 'b', и, в случае отсутствия такового, попытка сопоставления немедленно завершается неудачей. Однако, когда последующего литерала нет, оптимизация не может быть применена. Вы можете ощутить разницу, сравнив поведение (a+)*\d с поведением приведенного выше шаблона. Первый определяет невозможность сопоставления практически сразу же, при сопоставлении со строкой состоящей из символов 'a', в то время как второй тратит длительное время на поиск в строках длинее 20 символов.

Рекурсивные шаблоны
Описывает возможные модификаторы шаблонов Perl-совместимых регулярных выражений (PCRE)
Описание синтаксиса Perl-совместимых регулярных выражений


Модификаторы шаблонов

Ниже перечислены все доступные на сегодняшний день модификаторы. Имя, взятое в круглые скобки, указывает внутреннее PCRE имя для данного модификатора. Пробелы и переводы строк в модификаторах игнорируются, другие символы вызывают ошибки.

i (PCRE_CASELESS)
Если этот модификатор используется, символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра.
m (PCRE_MULTILINE)
По умолчанию PCRE обрабатывает данные как однострочную символьную строку (даже если она содержит несколько разделителей строк). Метасимвол начала строки '^' соответствует только началу обрабатываемого текста, в то время как метасимвол "конец строки" '$' соответствует концу текста, либо позиции перед завершающим текст переводом строки (в случае, если модификатор D не установлен). В Perl ситуация полностью аналогична. Если этот модификатор используется, метасимволы "начало строки" и "конец строки" также соответствуют позициям перед произвольным символом перевода и строки и, соответственно, после, как и в самом начале и в самом конце строки. Это соответствует Perl-модификатору /m. В случае, если обрабатываемый текст не содержит символов перевода строки, либо шаблон не содержит метасимволов '^' или '$', данный модификатор не имеет никакого эффекта.
s (PCRE_DOTALL)
Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк. Этот модификатор эквивалентен записи /s в Perl. Класс символов, построенный на отрицании, например [^a], всегда соответствует переводу строки, независимо от наличия этого модификатора.
x (PCRE_EXTENDED)
Если используется данный модификатор, неэкранированные пробелы, символы табуляции и пустой строки будут проигнорированы в шаблоне, если они не являются частью символьного класса. Также игнорируются все символы между неэкранированным символом '#' (если он не является частью символьного класса) и символом перевода строки (включая сами символы '\n' и '#'). Это эквивалентно Perl-модификатору /x, и позволяет размещать комментарии в сложных шаблонах. Замечание: это касается только символьных данных. Пробельные символы не фигурируют в служебных символьных последовательностях, к примеру, в последовательности '(?(', открывающей условную подмаску.
e (PREG_REPLACE_EVAL)
Если используется данный модификатор, preg_replace() после выполнения стандартных подстановок в заменяемой строке интерпретирует ее как PHP-код и использует результат для замены искомой строки. Одинарные и двойные кавычки, обратные слэши (\) NULL-символы будут проэкранированы обратными слэшами в подставляемых обратных ссылках.
Подсказка

Убедитесь, что параметр replacement содержит строку с корректным PHP-кодом, иначе PHP сообщит об ошибке парсинга на строке, содержащей вызов preg_replace().

Замечание:

Этот модификатор используется только в функции preg_replace(), в других PCRE функциях он игнорируется.

A (PCRE_ANCHORED)
Если используется данный модификатор, соответствие шаблону будет достигаться только в том случае, если он "заякорен", т.е. соответствует началу строки, в которой производится поиск. Того же эффекта можно достичь подходящей конструкцией с вложенным шаблоном, которая является единственным способом реализации этого поведения в Perl.
D (PCRE_DOLLAR_ENDONLY)
Если используется данный модификатор, метасимвол $ в шаблоне соответствует только окончанию обрабатываемых данных. Без этого модификатора метасимвол $ соответствует также позиции перед последним символом, в случае, если им является перевод строки (но не распространяется на любые другие переводы строк). Данный модификатор игнорируется, если используется модификатор m. В языке Perl аналогичный модификатор отсутствует.
S
В случае, если планируется многократно использовать шаблон, имеет смысл потратить немного больше времени на его анализ, чтобы уменьшить время его выполнения. В случае, если данный модификатор используется, проводится дополнительный анализ шаблона. В настоящем это имеет смысл только для "незаякоренных" шаблонов, не начинающихся с какого-либо определенного символа.
U (PCRE_UNGREEDY)
Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ ?. Такая возможность не совместима с Perl. Его также можно установить с помощью (?U) установки модификатора внутри шаблона или добавив знак вопроса после квантификатора (например, .*?).

Замечание:

В нежадном режиме обычно невозможно совпадение символов превышающих pcre.backtrack_limit.

X (PCRE_EXTRA)
Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: любой обратный слэш в шаблоне, за которым следует символ, не имеющий специального значения, приводят к ошибке. Это обусловлено тем, что подобные комбинации зарезервированы для дальнейшего развития. По умолчанию же, как и в Perl, слэш со следующим за ним символом без специального значения трактуется как опечатка. На сегодняшний день это все возможности, которые управляются данным модификатором
J (PCRE_INFO_JCHANGED)
Модификатор (?J) меняет значение локальной опции PCRE_DUPNAMES - подшаблоны могут иметь одинковые имена.
u (PCRE8)
Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF-8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ. Валидность UTF-8 в шаблоне проверяется начиная с PHP 4.3.5.

Производительность
Differences From Perl
Регулярные выражения PCRE


Perl Differences

The differences described here are with respect to Perl 5.005.

  1. By default, a whitespace character is any character that the C library function isspace() recognizes, though it is possible to compile PCRE with alternative character type tables. Normally isspace() matches space, formfeed, newline, carriage return, horizontal tab, and vertical tab. Perl 5 no longer includes vertical tab in its set of whitespace characters. The \v escape that was in the Perl documentation for a long time was never in fact recognized. However, the character itself was treated as whitespace at least up to 5.002. In 5.004 and 5.005 it does not match \s.
  2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl permits them, but they do not mean what you might think. For example, (?!a){3} does not assert that the next three characters are not "a". It just asserts that the next character is not "a" three times.
  3. Capturing subpatterns that occur inside negative lookahead assertions are counted, but their entries in the offsets vector are never set. Perl sets its numerical variables from any such patterns that are matched before the assertion fails to match something (thereby succeeding), but only if the negative lookahead assertion contains just one branch.
  4. Though binary zero characters are supported in the subject string, they are not allowed in a pattern string because it is passed as a normal C string, terminated by zero. The escape sequence "\x00" can be used in the pattern to represent a binary zero.
  5. The following Perl escape sequences are not supported: \l, \u, \L, \U. In fact these are implemented by Perl's general string-handling and are not part of its pattern matching engine.
  6. The Perl \G assertion is not supported as it is not relevant to single pattern matches.
  7. Fairly obviously, PCRE does not support the (?{code}) and (??{code}) construction. However, there is support for recursive patterns.
  8. There are at the time of writing some oddities in Perl 5.005_02 concerned with the settings of captured strings when part of a pattern is repeated. For example, matching "aba" against the pattern /^(a(b)?)+$/ sets $2 to the value "b", but matching "aabbaa" against /^(aa(bb)?)+$/ leaves $2 unset. However, if the pattern is changed to /^(aa(b(b))?)+$/ then $2 (and $3) get set. In Perl 5.004 $2 is set in both cases, and that is also TRUE of PCRE. If in the future Perl changes to a consistent state that is different, PCRE may change to follow.
  9. Another as yet unresolved discrepancy is that in Perl 5.005_02 the pattern /^(a)?(?(1)a|b)+$/ matches the string "a", whereas in PCRE it does not. However, in both Perl and PCRE /^(a)?a/ matched against "a" leaves $1 unset.

  10. PCRE provides some extensions to the Perl regular expression facilities:

    1. Although lookbehind assertions must match fixed length strings, each alternative branch of a lookbehind assertion can match a different length of string. Perl 5.005 requires them all to have the same length.
    2. If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $ meta-character matches only at the very end of the string.
    3. If PCRE_EXTRA is set, a backslash followed by a letter with no special meaning is faulted.
    4. If PCRE_UNGREEDY is set, the greediness of the repetition quantifiers is inverted, that is, by default they are not greedy, but if followed by a question mark they are.

Описывает возможные модификаторы шаблонов Perl-совместимых регулярных выражений (PCRE)
Differences from POSIX regex
Регулярные выражения PCRE


Differences from POSIX regex

As of PHP 5.3.0, the POSIX Regex extension is deprecated. There are a number of differences between POSIX regex and PCRE regex. This page lists the most notable ones that are necessary to know when converting to PCRE.

  1. The PCRE functions require that the pattern is enclosed by delimiters.
  2. Unlike POSIX, the PCRE extension does not have dedicated functions for case-insensitive matching. Instead, this is supported using the i (PCRE_CASELESS) pattern modifier. Other pattern modifiers are also available for changing the matching strategy.
  3. The POSIX functions find the longest of the leftmost match, but PCRE stops on the first valid match. If the string doesn't match at all it makes no difference, but if it matches it may have dramatic effects on both the resulting match and the matching speed. To illustrate this difference, consider the following example from "Mastering Regular Expressions" by Jeffrey Friedl. Using the pattern one(self)?(selfsufficient)? on the string oneselfsufficient with PCRE will result in matching oneself, but using POSIX the result will be the full string oneselfsufficient. Both (sub)strings match the original string, but POSIX requires that the longest be the result.

Function replacements
POSIX | PCRE
ereg_replace() | preg_replace()
ereg() | preg_match()
eregi_replace() | preg_replace()
eregi() | preg_match()
split() | preg_split()
spliti() | preg_split()
sql_regcase() | No equivalent

Differences From Perl
PCRE
Регулярные выражения PCRE


Функции для работы с регулярными выражениями (Perl-совместимые)

Содержание

  • preg_filter — Производит поиск и замену по регулярному выражению
  • preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
  • preg_last_error — Возвращает код ошибки выполнения последнего регулярного выражения PCRE
  • preg_match_all — Выполняет глобальный поиск шаблона в строке
  • preg_match — Выполняет проверку на соответствие регулярному выражению
  • preg_quote — Экранирует символы в регулярных выражениях
  • preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием callback-функции
  • preg_replace — Выполняет поиск и замену по регулярному выражению
  • preg_split — Разбивает строку по регулярному выражению
Differences from POSIX regex
preg_filter
PCRE


Производит поиск и замену по регулярному выражению

PCRE
preg_grep
PCRE
PHP Manual

preg_filter

(PHP 5 >= 5.3.0)

preg_filter — Производит поиск и замену по регулярному выражению

Описание

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Функция preg_filter() идентична функции preg_replace() за исключением того, что возвращает только те значения (возможно, преобразованные), в которых найдено совпадение. Подробнее о работе функции читайте в документации к preg_replace().

Возвращаемые значения

Возвращает array, если аргумент subject имеет тип array, или string в противном случае.

Если совпадений не найдено или возникла ошибка, возвращается пустой массив array, когда subject имеет тип array, или NULL в противном случае.

Примеры

Пример #1 Пример для сравнения функций preg_filter() и preg_replace()

<?php
$subject = array('1', 'а', '2', 'б', '3', 'А', 'Б', '4');
$pattern = array('/\d/', '/[а-я]/', '/[1а]/');
$replace = array('А:$0', 'Б:$0', 'В:$0');

echo "preg_filter возвращает\n";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace возвращает\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

Результат выполнения данного примера:

preg_filter возвращает
Array
(
    [0] => А:В:1
    [1] => Б:В:а
    [2] => А:2
    [3] => Б:б
    [4] => А:3
    [7] => А:4
)
preg_replace возвращает
Array
(
    [0] => А:В:1
    [1] => Б:В:а
    [2] => А:2
    [3] => Б:б
    [4] => А:3
    [5] => А
    [6] => Б
    [7] => А:4
)

Смотрите также

  • Шаблоны PCRE
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_replace_callback() - Выполняет поиск по регулярному выражению и замену с использованием callback-функции
  • preg_grep() - Возвращает массив вхождений, которые соответствуют шаблону
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

PCRE
preg_grep
PCRE


Возвращает массив вхождений, которые соответствуют шаблону

preg_filter
preg_last_error
PCRE
PHP Manual

preg_grep

(PHP 4, PHP 5)

preg_grep — Возвращает массив вхождений, которые соответствуют шаблону

Описание

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

Возвращает массив, состоящий из элементов входящего массива input, которые соответствуют заданному шаблону pattern.

Список параметров

pattern

Искомый шаблон, строка.

input

Входящий массив.

flags

В случае, если установлен в PREG_GREP_INVERT, функция preg_grep() возвращает те элементы массива, которые не соответствуют заданному шаблону pattern.

Возвращаемые значения

Возвращает массив, индексированный ключами из массива input.

Список изменений

Версия | Описание
4.2.0 | Добавлен параметр flags.
4.0.4 | До этой версии, возвращаемый массив индексировался ключами вне зависимости от массива input. Если вы хотите воспроизвести это поведение, используйте функцию array_values() на полученных значениях для переиндексации.

Примеры

Пример #1 Пример использования preg_grep()

<?php
// Возвращает все элементы массива,
// содержащие числа с плавающей точкой
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

Смотрите также

  • Регулярные выражения PCRE
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_filter() - Производит поиск и замену по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_filter
preg_last_error
PCRE


Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_grep
preg_match_all
PCRE
PHP Manual

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_error — Возвращает код ошибки выполнения последнего регулярного выражения PCRE

Описание

int preg_last_error ( void )

Возвращает код ошибки выполнения последнего регулярного выражения PCRE.

Пример #1 Пример использования preg_last_error()

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Был исчерпан лимит обратных ссылок!';
}

?>

Результат выполнения данного примера:

Был исчерпан лимит обратных ссылок!

Возвращаемые значения

Возвращает одну из следующих констант, (описанных на отдельной странице.):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (см. также pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (см. также pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (начиная с PHP 5.3.0)

preg_grep
preg_match_all
PCRE


Выполняет глобальный поиск шаблона в строке

preg_last_error
preg_match
PCRE
PHP Manual

preg_match_all

(PHP 4, PHP 5)

preg_match_all — Выполняет глобальный поиск шаблона в строке

Описание

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )

Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches в порядке, определяемом комбинацией флагов flags.

После нахождения первого соответствия последующие поиски будут осуществляться не с начала строки, а от конца последнего найденного вхождения.

Список параметров

pattern

Искомый шаблон, строка.

subject

Входная строка.

matches

Параметр flags регулирует порядок вывода совпадений в возвращаемом многомерном массиве.

flags

Может быть комбинацией следующих флагов (необходимо понимать, что использование PREG_PATTERN_ORDER одновременно с PREG_SET_ORDER бессмысленно):

PREG_PATTERN_ORDER

Упорядочивает результаты так, что элемент $matches[0] содержит массив полных вхождений шаблона, элемент $matches[1] содержит массив вхождений первой подмаски, и так далее.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>пример: </b><div align=left>это тест</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Результат выполнения данного примера:

<b>пример: </b>, <div align=left>это тест</div>
пример: , это тест

Таким образом, $out[0] содержит массив полных вхождений шаблона, а $out[1] содержит массив подстрок, содержащихся в тегах.

PREG_SET_ORDER

Упорядочивает результаты так, что элемент $matches[0] содержит первый набор вхождений, элемент $matches[1] содержит второй набор вхождений, и так далее.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>пример: </b><div align=\"left\">это тест</div>",
    $out, PREG_SET_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Результат выполнения данного примера:

<b>пример: </b>, пример:
<div align="left">это тест</div>, это тест

PREG_OFFSET_CAPTURE

В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемого массива matches в массив, каждый элемент которого содержит массив, содержащий в индексе с номером 0 найденную подстроку, а смещение этой подстроки в параметре subject - в индексе 1.

В случае если флаги не были указаны, по умолчанию используется PREG_PATTERN_ORDER.

offset

Обычно поиск осуществляется слева направо, с начала строки. Дополнительный параметр offset может быть использован для указания альтернативной начальной позиции для поиска.

Замечание:

Использование параметра offset не эквивалентно замене сопоставляемой строки выражением substr($subject, $offset) при вызове функции preg_match_all(), поскольку шаблон pattern может содержать такие условия как ^, $ или (?<=x). Вы можете найти соответствующие примеры в описании функции preg_match().

Возвращаемые значения

Возвращает количество найденных вхождений шаблона (которое может быть и нулем) либо FALSE, если во время выполнения возникли какие-либо ошибки.

Список изменений

Версия | Описание
5.4.0 | Параметр matches стал необязательным.
5.3.6 | Возвращает FALSE если offset больше чем длина subject.
5.2.2 | Именованные подмаски теперь принимают синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии принимали только (?P<name>).
4.3.3 | Добавлен параметр offset
4.3.0 | Добавлен флаг PREG_OFFSET_CAPTURE

Примеры

Пример #1 Получение всех телефонных номеров из текста.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Звоните 555-1212 или 1-800-555-1212", $phones);
?>

Пример #2 Жадный поиск совпадений с HTML-тэгами

<?php
// Запись \\2 является примером использования ссылок на подмаски.
// Она означает необходимость соответствия подстроки строке, захваченной
// второй подмаской, в нашем примере это ([\w]+).
// Дополнительный обратный слэш необходим, так как используются двойные кавычки.
$html = "<b>полужирный текст</b><a href=howdy.html>нажми</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);

foreach ($matches as $val) {
    echo "совпадение: " . $val[0] . "\n";
    echo "часть 1: " . $val[1] . "\n";
    echo "часть 2: " . $val[2] . "\n";
    echo "часть 3: " . $val[3] . "\n";
    echo "часть 4: " . $val[4] . "\n\n";
}
?>

Результат выполнения данного примера:

совпадение: <b>полужирный текст</b>
часть 1: <b>
часть 2: b
часть 3: полужирный текст
часть 4: </b>

matched: <a href=hody.html>нажми</a>
часть 1: <a href=howdy.html>
часть 2: a
часть 3: нажми
часть 4: </a>

Пример #3 Использование именованных подмасок

<?php

$str = <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* Это также работает в PHP 5.2.2 (PCRE 7.0) и более поздних версиях,
 * однако, вышеуказанная форма рекомендуется для обратной совместимости */
// preg_match_all('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

Результат выполнения данного примера:

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [name] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [digit] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Смотрите также

  • "Регулярные выражения PCRE"
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_last_error
preg_match
PCRE


Выполняет проверку на соответствие регулярному выражению

preg_match_all
preg_quote
PCRE
PHP Manual

preg_match

(PHP 4, PHP 5)

preg_match — Выполняет проверку на соответствие регулярному выражению

Описание

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Ищет в заданном тексте subject совпадения с шаблоном pattern.

Список параметров

pattern

Искомый шаблон, строка.

subject

Входная строка.

matches

В случае, если указан дополнительный параметр matches, он будет заполнен результатами поиска. Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] - часть строки, соответствующую первой подмаске, и так далее.

flags

flags может принимать значение следующего флага:

PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемого массива matches в массив, каждый элемент которого содержит массив, содержащий в индексе с номером 0 найденную подстроку, а смещение этой подстроки в параметре subject - в индексе 1.

offset

Обычно поиск осуществляется слева направо, с начала строки. Можно использовать дополнительный параметр offset для указания альтернативной начальной позиции для поиска (в байтах).

Замечание:

Использование параметра offset не эквивалентно замене сопоставляемой строки выражением substr($subject, $offset) при вызове функции preg_match(), поскольку шаблон pattern может содержать такие условия как ^, $ или (?<=x). Сравните:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

Результат выполнения данного примера:

Array
(
)

В то время как этот пример

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

выведет следующее:

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

Возвращаемые значения

Функция preg_match() возвращает количество найденных соответствий шаблона pattern. Это может быть 0 (совпадения не найдены) и 1, поскольку preg_match() прекращает свою работу после первого найденного совпадения. Функция же preg_match_all(), наоборот, будет продолжать свою работу пока не достигнет конца subject. Функция preg_match() возвращает FALSE в случае, если во время выполнения возникли какие-либо ошибки.

Список изменений

Версия | Описание
5.3.6 | Возвращает FALSE если offset больше, чем длина subject.
5.2.2 | Именованные подмаски теперь позволяют синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии позволяли только (?P<name>).
4.3.3 | Добавлен параметр offset
4.3.0 | Добавлен флаг PREG_OFFSET_CAPTURE
4.3.0 | Добавлен параметр flags

Примеры

Пример #1 Поиск подстроки "php" в тексте

<?php
// Символ "i" после закрывающего ограничителя шаблона означает
// регистронезависимый поиск.
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "Вхождение найдено.";
} else {
    echo "Вхождение не найдено.";
}
?>

Пример #2 Поиск слова "web" в тексте

<?php
/* Специальная последовательность \b в шаблоне означает границу слова,
 *  следовательно, только изолированное вхождение слова 'web' будет
   соответствовать маске, в отличие от "webbing" или "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    echo "Вхождение найдено.";
} else {
    echo "Вхождение не найдено.";
}

if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    echo "Вхождение найдено.";
} else {
    echo "Вхождение не найдено.";
}
?>

Пример #3 Извлечение доменного имени из URL

<?php
// Извлекаем имя хоста из URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $matches);
$host = $matches[1];

// извлекаем две последние части имени хоста
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "доменное имя: {$matches[0]}\n";
?>

Результат выполнения данного примера:

доменное имя: php.net

Пример #4 Использование именованных подмасок

<?php

$str = 'foobar: 2008';

preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* Это также работает в PHP 5.2.2 (PCRE 7.0) и более поздних версиях,
 * однако, вышеуказанная форма рекомендуется для обратной совместимости */
// preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

Результат выполнения данного примера:

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [digit] => 2008
    [2] => 2008
)

Примечания

Подсказка

Не используйте функцию preg_match(), если необходимо проверить наличие подстроки в заданной строке. Используйте для этого strpos() либо strstr(), поскольку они выполнят эту задачу гораздо быстрее.

Смотрите также

  • "Регулярные выражения PCRE"
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_match_all
preg_quote
PCRE


Экранирует символы в регулярных выражениях

preg_match
preg_replace_callback
PCRE
PHP Manual

preg_quote

(PHP 4, PHP 5)

preg_quote — Экранирует символы в регулярных выражениях

Описание

string preg_quote ( string $str [, string $delimiter = NULL ] )

Функция preg_quote() принимает строку str и добавляет обратный слэш перед каждым служебным символом. Это бывает полезно, если в составлении шаблона участвуют строковые переменные, значение которых в процессе работы скрипта может меняться.

В регулярных выражениях служебными считаются следующие символы: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

Список параметров

str

Входная строка.

delimiter

В случае если указан необязательный параметр delimiter, он будет также экранироваться. Это удобно для экранирования разделителя, который используется в PCRE функциях. Наиболее распространенным разделителем является символ '/'.

Возвращаемые значения

Возвращает экранированную строку.

Список изменений

Версия | Описание
5.3.0 | Символ - теперь экранируется

Примеры

Пример #1 preg_quote() пример

<?php
$keywords = '$40 за g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // возвращает \$40 за g3\/400
?>

Пример #2 Выделение курсивом слова в тексте

<?php
// В данном примере preg_quote($word) используется, чтобы
// избежать трактовки символа '*' как спец. символа.

$textbody = "Эту книгу *очень* тяжело найти.";
$word = "*очень*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

preg_match
preg_replace_callback
PCRE


Выполняет поиск по регулярному выражению и замену с использованием callback-функции

preg_quote
preg_replace
PCRE
PHP Manual

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием callback-функции

Описание

mixed preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

Поведение этой функции во многом напоминает preg_replace(), за исключением того, что вместо параметра replacement необходимо указывать callback-функцию.

Список параметров

pattern

Искомый шаблон. Может быть как строкой, так и массивом строк.

callback

Вызываемая callback-функция, которой будет передан массив совпавших элементов из строки subject. Callback-функция должна вернуть строку с заменой.

Достаточно часто callback функция, кроме как в вызове preg_replace_callback(), ни в чем больше не участвует. Исходя из этих соображений, можно использовать анонимные функции (начиная с версии PHP 5.3.0) или create_function() для создания безымянной callback-функции непосредственно в вызове preg_replace_callback(). Если вы используете такой подход, вся информация, связанная с заменой по регулярному выражению, будет собрана в одном месте, и пространство имен функций не будет загромождаться неиспользуемыми записями.

Пример #1 preg_replace_callback() и create_function()

<?php
/* фильтр, подобный тому, что используется в системах Unix
 * для преобразования заглавных букв в началье параграфа в строчные */
$fp = fopen("php://stdin", "r") or die("не удалось прочесть stdin");
while (!feof($fp)) {
    $line = fgets($fp);
    $line = preg_replace_callback(
        '|<p>\s*\w|',
        create_function(
            // Использование одиночных кавычек в данном случае принципиально,
            // альтернатива - экранировать все символы '$'
            '$matches',
            'return strtolower($matches[0]);'
        ),
        $line
    );
    echo $line;
}
fclose($fp);
?>

subject

Строка или массив строк для поиска и замены.

limit

Максимально возможное количество замен для каждого шаблона в каждой строке subject. По умолчанию равно -1 (без ограничений).

count

Если указана, то эта переменная будет заполнена количеством произведенных замен.

Возвращаемые значения

preg_replace_callback() возвращает массив, если параметр subject является массивом, иначе возвращается строка. В случае ошибок возвращается NULL

Если найдены совпадения, будет возвращена результирующая строка, иначе subject вернется неизмененным.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр count

Примеры

Пример #2 Пример использования preg_replace_callback()

<?php
// Этот текст был использован в 2002 году
// мы хотим обновить даты к 2003 году
$text = "День дураков: 01/04/2002\n";
$text.= "Последнее Рождество было: 24/12/2001\n";
// callback-функция
function next_year($matches)
{
  // как обычно: $matches[0] -  полное вхождение шаблона
  // $matches[1] - вхождение первой подмаски,
  // заключенной в круглые скобки, и так далее...
  return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);

?>

Результат выполнения данного примера:

День дураков: 01/04/2003
Последнее Рождество было: 24/12/2002

Пример #3 Рекурсивная обработка BB-кодов с помощью preg_replace_callback()

<?php
$input = "верх [indent] глубже [indent] еще глубже [/indent] глубже [/indent] верх";

function parseTagsRecursive($input)
{

    $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

    if (is_array($input)) {
        $input = '<div style="margin-left: 10px">'.$input[1].'</div>';
    }

    return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}

$output = parseTagsRecursive($input);

echo $output;
?>

Смотрите также

  • "Регулярные выражения PCRE"
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE
  • create_function() - Создаёт анонимную (лямбда) функцию
  • "Анонимные функции"
  • информация о типе callback

preg_quote
preg_replace
PCRE


Выполняет поиск и замену по регулярному выражению

preg_replace_callback
preg_split
PCRE
PHP Manual

preg_replace

(PHP 4, PHP 5)

preg_replace — Выполняет поиск и замену по регулярному выражению

Описание

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Выполняет поиск совпадений в строке subject с шаблоном pattern и заменяет их на replacement.

Список параметров

pattern

Искомый шаблон. Может быть как строкой, так и массивом строк.

Также доступны некоторые модификаторы PCRE, включая 'e' (PREG_REPLACE_EVAL), специфичный только для этой функции.

replacement

Строка или массив строк для замены. Если этот параметр является строкой, а pattern является массивом, все шаблоны будут заменены этой строкой. Если и pattern и replacement являются массивами, каждый элемент pattern будет заменен соответствующим элементом из replacement. Если массив replacement содержит меньше элементов, чем массив pattern, то все лишние шаблоны из pattern будут заменены пустыми строками.

replacement может содержать ссылки вида \\n, либо (начиная с PHP 4.0.4) $n, причем последний вариант предпочтительней. Каждая такая ссылка будет заменена на подстроку, соответствующую n-ой подмаске. n может принимать значения от 0 до 99, причем ссылка \\0 (либо $0) соответствует вхождению всего шаблона. Подмаски нумеруются слева направо, начиная с единицы. Для использования обратного слэша, его необходимо продублировать (строка PHP "\\\\").

При замене по шаблону с использованием ссылок на подмаски может возникнуть ситуация, когда непосредственно за маской следует цифра (например, установка цифры сразу после совпавшей маски). В таком случае нельзя использовать знакомую нотацию вида \\1 для ссылки на подмаски. Запись, например, \\11, смутит preg_replace(), так как она не сможет понять, хотите ли вы использовать ссылку \\1, за которой следует цифра 1 или же вы хотите просто использовать ссылку \\11, за которой ничего не следует. Это недоразумение можно устранить, если воспользоваться конструкцией \${1}1, использующей изолированную ссылку $1, и следующую за ней цифру 1.

При использовании модификатора e эта функция экранирует некоторые символы (а именно ', ", \ и NULL) в строках, замещающих обратные ссылки. Это сделано для удостоверения корректности синтаксиса при использовании обратных ссылок внутри одинарных или двойных кавычек (например, 'strlen(\'$1\')+strlen("$2")'). Убедитесь, что вы владеете синтаксисом обработки строк PHP для того, чтобы точно осознавать, как будет выглядеть интерпретированная строка.

subject

Строка или массив строк для поиска и замены.

Если subject является массивом, то поиск с заменой осуществляется для каждого элемента массива subject, а возвращаемое значение также будет являться массивом.

limit

Максимально возможное количество замен каждого шаблона для каждой строки subject. По умолчанию равно -1 (без ограничений).

count

Если указана, то эта переменная будет заполнена количеством произведенных замен.

Возвращаемые значения

preg_replace() возвращает массив, если параметр subject является массивом, иначе возвращается строка.

Если найдены совпадения, возвращается новая версия subject, иначе subject возвращается нетронутым, в случае ошибки возвращается NULL.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр count
4.0.4 | Добавлена форма '$n' для параметра replacement
4.0.2 | Добавлен параметр limit

Примеры

Пример #1 Использование подмасок, за которыми следует цифра

<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

Результат выполнения данного примера:

April1,2003

Пример #2 Использование массивов с числовыми индексами в качестве аргументов функции preg_replace()

<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>

Результат выполнения данного примера:

The bear black slow jumped over the lazy dog.

Отсортировав по ключам шаблоны и замены, получаем желаемый результат:

<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>

Результат выполнения данного примера:

The slow black bear jumped over the lazy dog.

Пример #3 Замена по нескольким шаблонам

<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                   '/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>

Результат выполнения данного примера:

$startDate = 5/27/1999

Пример #4 Использование 'e'-модификатора

<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
             "'\\1'.strtoupper('\\2').'\\3'",
             $html_body);
?>

Преобразует все HTML-теги к верхнему регистру

Пример #5 Чистка пробелов

Этот пример вычищает лишние пробелы из строки.

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Это теперь будет 'foo o'
echo $str;
?>

Пример #6 Использование параметра count

<?php
$count = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
?>

Результат выполнения данного примера:

xp***to
3

Примечания

Замечание:

При использовании массивов в pattern и replacement, ключи обрабатываются в том порядке, в котором они находятся в массиве. Этот порядок не всегда совпадает с числовым порядком индексов. Если вы используете индексы для сопоставления друг с другом нужного pattern и replacement, то вам необходимо прогнать через функцию ksort() оба массива перед использованием preg_replace().

Смотрите также

  • "Регулярные выражения PCRE"
  • preg_filter() - Производит поиск и замену по регулярному выражению
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_replace_callback() - Выполняет поиск по регулярному выражению и замену с использованием callback-функции
  • preg_split() - Разбивает строку по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_replace_callback
preg_split
PCRE


Разбивает строку по регулярному выражению

preg_replace
Регулярные выражения POSIX
PCRE
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_split — Разбивает строку по регулярному выражению

Описание

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Разбивает строку по регулярному выражению.

Список параметров

pattern

Искомый шаблон, строка.

subject

Входная строка.

limit

Если указан, функция возвращает не более, чем limit подстрок, оставшаяся часть строки будет возвращена в последней подстроке. Специальное значение limit, равное -1, 0 или NULL подразумевает отсутствие ограничения, и, в качестве фактического стандарта в PHP, можно использовать NULL для пропуска параметра flags.

flags

flags может быть любой комбинацией следующих флагов (объединенных с помощью побитового оператора |):

PREG_SPLIT_NO_EMPTY
Если указан этот флаг, функция preg_split() вернет только непустые подстроки.
PREG_SPLIT_DELIM_CAPTURE
Если указан этот флаг, выражение, заключенное в круглые скобки в разделяющем шаблоне, также извлекается из заданной строки и возвращается функцией.
PREG_SPLIT_OFFSET_CAPTURE

Если указан этот флаг, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемого массива: каждый элемент будет содержать массив, содержащий в индексе с номером 0 найденную подстроку, а смещение этой подстроки в параметре subject - в индексе 1.

Возвращаемые значения

Возвращает массив, состоящий из подстрок заданной строки subject, которая разбита по границам, соответствующим шаблону pattern.

Список изменений

Версия | Описание
4.3.0 | Добавлен флаг PREG_SPLIT_OFFSET_CAPTURE
4.0.5 | Добавлен флаг PREG_SPLIT_DELIM_CAPTURE

Примеры

Пример #1 preg_split() пример: Получение подстрок из заданного текста

<?php
// разбиваем строку по произвольному числу запятых и пробельных символов,
// которые включают в себя  " ", \r, \t, \n и \f
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
?>

Пример #2 Разбиваем строку на составляющие символы

<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Пример #3 Разбиваем строку с указанием смещения для каждой из найденных подстрок

<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

Результат выполнения данного примера:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Примечания

Подсказка

Если вам не нужна мощь регулярных выражений, вы можете выбрать более быстрые (хоть и простые) альтернативы наподобие explode() или str_split().

Смотрите также

  • "Регулярные выражения PCRE"
  • implode() - Объединяет элементы массива в строку
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE

preg_replace
Регулярные выражения POSIX
PCRE


Регулярные выражения (расширенные POSIX)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Функции регулярных выражений POSIX
    • ereg_replace — Осуществляет замену по регулярному выражению
    • ereg — Совпадение с регулярным выражением
    • eregi_replace — Осуществляет замену по регулярному выражению без учета регистра
    • eregi — Совпадение с регулярным выражением без учёта регистра
    • split — Разбиение строки на массив по регулярному выражению
    • spliti — Разбивает строку в массив с помощью регулярного выражения без учета регистра
    • sql_regcase — Создает регулярное выражение для регистронезависимого сравнения
preg_split
Введение
Обработка текста


Введение

Подсказка

PHP также поддерживает синтаксис Perl-совместимых регулярных выражений с помощью функций PCRE. Эти функции поддерживают минимальный поиск, утверждения, условные подмаски и некоторые другие особенности, не поддерживаемые синтаксисом расширенных регулярных выражений POSIX‎.

Внимание

Данные функции регулярных выражений не являются бинарно-безопасными в отличие от функций PCRE.

Замечание:

Так как в PHP 5.3.0 это расширение устарело, вызов любой функции, предоставленной в нем, будет выдавать уведомление E_DEPRECATED.

Регулярные выражения используются для сложной манипуляции со строками. PHP использует расширенные регулярные выражения POSIX‎, как определено в POSIX 1003.2. Полное описание регулярных выражений POSIX смотрите на » страницах справки по регулярным выражениям, включенных в директорию regex дистрибутива PHP. Справка представлена в формате UNIX, поэтому вам понадобится сделать что-то вроде man /usr/local/src/regex/regex.7, чтобы прочитать ее.

Регулярные выражения POSIX
Установка и настройка
Регулярные выражения POSIX


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Регулярные выражения POSIX


Установка

Внимание

Не изменяйте TYPE, если вы не знаете что делаете.

Для включения поддержки регулярных выражений необходимо скомпилировать PHP c ключом --with-regex[=TYPE] , где TYPE может принимать значение system, apache, php. По умолчанию используется php.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Регулярные выражения POSIX


Примеры

Пример #1 Примеры регулярных выражений

<?php
// Вернет true, если "abc" найдено где-либо в $string.
ereg("abc", $string);

// Вернет true, если "abc" найдено в начале $string.
ereg("^abc", $string);

// Вернет true, если "abc" найдено в конце $string.
ereg("abc$", $string);

// Вернет true, если браузер клиента Netscape 2, 3 или MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Поместит три слова разделенных пробелами в $regs[1], $regs[2] и $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);

// Вставит тег <br /> в начало $string.
$string = ereg_replace("^", "<br />", $string);

// Вставит тег <br /> в конец $string.
$string = ereg_replace("$", "<br />", $string);

// Уберет все символы новой строки из $string.
$string = ereg_replace("\n", "", $string);
?>

Предопределенные константы
Функции регулярных выражений POSIX
Регулярные выражения POSIX


Функции регулярных выражений POSIX

Смотрите также

Для регулярных выражений с Perl-совместимым синтаксисом смотрите функции PCRE. Простое сравнение с шаблоном подстановок командной оболочки обеспечивается функцией fnmatch().

Содержание

  • ereg_replace — Осуществляет замену по регулярному выражению
  • ereg — Совпадение с регулярным выражением
  • eregi_replace — Осуществляет замену по регулярному выражению без учета регистра
  • eregi — Совпадение с регулярным выражением без учёта регистра
  • split — Разбиение строки на массив по регулярному выражению
  • spliti — Разбивает строку в массив с помощью регулярного выражения без учета регистра
  • sql_regcase — Создает регулярное выражение для регистронезависимого сравнения
Примеры
ereg_replace
Регулярные выражения POSIX


Осуществляет замену по регулярному выражению

Функции регулярных выражений POSIX
ereg
Функции регулярных выражений POSIX
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Осуществляет замену по регулярному выражению

Описание

string ereg_replace ( string $pattern , string $replacement , string $string )

Эта функция сканирует строку string для поиска совпадений с pattern, затем заменяет совпавший текст на replacement.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Расширенное регулярное выражение POSIX.

replacement

Если pattern содержит подстроки в скобках, replacement может содержать подстроки вида \\digit, которые будут заменены текстом, совпавшим с digit-подстрокой в скобках; \\0 воспроизведет все содержимое строки. Может использоваться до 9 подстрок. Круглые скобки могут быть вложенными, в этом случае они подсчитываются по открывающим скобкам.

string

Исходная cтрока.

Возвращаемые значения

Возвращается измененная строка. Если в строке string совпадений не найдено, она возвратится без изменений.

Примеры

Например, следующий фрагмент кода печатает "This was a test" три раза:

Пример #1 Пример использования ereg_replace()

<?php

$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);

?>

Единственное, что следует принять к сведению - если вы используете целочисленное значение как параметр replacement, вы можете не получить ожидаемого результата. Это происходит из-за того, что функция ereg_replace() будет интерпретировать число как порядковое значение символа. Например:

Пример #2 Пример использования ereg_replace()

<?php
/* Это будет работать не так, как ожидалось. */
$num = 4;
$string = "В этой строке четыре слова.";
$string = ereg_replace('четыре', $num, $string);
echo $string;   /* Вывод: 'В этой строке   слова.' */

/* Это будет работать. */
$num = '4';
$string = "В этой строке четыре слова.";
$string = ereg_replace('четыре', $num, $string);
echo $string;   /* Вывод: 'В этой строке 4 слова.' */
?>

Пример #3 Замена URL-адресов на ссылки

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\\0\">\\0</a>", $text);
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Подсказка

Функция preg_replace(), которая использует Perl-совместимый синтаксис регулярного выражения, часто является более быстрой альтернативой функции ereg_replace().

Смотрите также

  • ereg() - Совпадение с регулярным выражением
  • eregi() - Совпадение с регулярным выражением без учёта регистра
  • eregi_replace() - Осуществляет замену по регулярному выражению без учета регистра
  • str_replace() - Заменяет все вхождения строки поиска на строку замены
  • preg_match() - Выполняет проверку на соответствие регулярному выражению

Функции регулярных выражений POSIX
ereg
Функции регулярных выражений POSIX


Совпадение с регулярным выражением

ereg_replace
eregi_replace
Функции регулярных выражений POSIX
PHP Manual

ereg

(PHP 4, PHP 5)

ereg — Совпадение с регулярным выражением

Описание

int ereg ( string $pattern , string $string [, array &$regs ] )

Ищет в строке string совпадения с регулярным выражением, заданным в pattern регистрозависимым образом.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Регулярное выражение, чувствительное к регистру.

string

Входная строка.

regs

Если совпадения найдены для подстрок в скобках из pattern, и функция вызывается с третьим аргументом regs, совпадения будут сохранены в элементах массива regs.

$regs[1] будет содержать подстроку, которая начинается с первой левой круглой скобки; $regs[2] будет содержать подстроку, начинающуюся со второй, и т.д. $regs[0] будет содержать полную копию совпавшей строки.

Возвращаемые значения

Возвращает длину совпавшей строки, если совпадение c pattern найдено в string, или FALSE, если совпадений не было или возникла ошибка.

Если необязательный параметр regs не передан, или длина совпавшей строки равна 0, функция возвращает 1.

Список изменений

Версия | Описание
4.1.0 | Вплоть до (и включая) PHP 4.1.0 $regs будет заполняться точно десятью элементами, хотя реально может совпасть больше или меньше десяти подстрок в скобках. Это не влияет на способность ereg() совпадать с большим количеством подстрок. Если совпадения не найдены, $regs не будет изменен функцией ereg().

Примеры

Пример #1 Пример использования ereg()

Следующий фрагмент кода принимает дату в формате ISO (YYYY-MM-DD) и печатает её в формате DD.MM.YYYY:

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Недопустимый формат даты: $date";
}
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Замечание:

Функция preg_match(), которая использует Perl-совместимый синтаксис регулярного выражения, часто является более быстрой альтернативой функции ereg().

Смотрите также

  • eregi() - Совпадение с регулярным выражением без учёта регистра
  • ereg_replace() - Осуществляет замену по регулярному выражению
  • eregi_replace() - Осуществляет замену по регулярному выражению без учета регистра
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strpos() - Возвращает позицию первого вхождения подстроки
  • strstr() - Находит первое вхождение подстроки
  • quotemeta() - Экранирует специальные символы

ereg_replace
eregi_replace
Функции регулярных выражений POSIX


Осуществляет замену по регулярному выражению без учета регистра

ereg
eregi
Функции регулярных выражений POSIX
PHP Manual

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Осуществляет замену по регулярному выражению без учета регистра

Описание

string eregi_replace ( string $pattern , string $replacement , string $string )

Эта функция идентична функции ereg_replace() за исключением того, что игнорирует регистр при сравнении алфавитных символов.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Расширенное регулярное выражение POSIX.

replacement

Если pattern содержит подстроки в скобках, replacement может содержать подстроки вида \\digit, которые будут заменены текстом, совпавшим с digit-подстрокой в скобках; \\0 воспроизведет все содержимое строки. Может использоваться до 9 подстрок. Круглые скобки могут быть вложенными, в этом случае они подсчитываются по открывающим скобкам.

string

Исходная строка.

Возвращаемые значения

Возвращается измененная строка. Если в строке string совпадений не найдено, она возвратится без изменений.

Примеры

Пример #1 Выделение результатов поиска

<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Смотрите также

  • ereg() - Совпадение с регулярным выражением
  • eregi() - Совпадение с регулярным выражением без учёта регистра
  • ereg_replace() - Осуществляет замену по регулярному выражению

ereg
eregi
Функции регулярных выражений POSIX


Совпадение с регулярным выражением без учёта регистра

eregi_replace
split
Функции регулярных выражений POSIX
PHP Manual

eregi

(PHP 4, PHP 5)

eregi — Совпадение с регулярным выражением без учёта регистра

Описание

int eregi ( string $pattern , string $string [, array &$regs ] )

Эта функция идентична функции ereg() за исключением того, что игнорирует регистр при сравнении алфавитных символов.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Регистронезависимое регулярное выражение.

string

Входная строка.

regs

Если совпадения найдены для подстрок в скобках из pattern, и функция вызывается с третьим аргументом regs, совпадения будут сохранены в элементах массива regs.

$regs[1] будет содержать подстроку, которая начинается с первой левой круглой скобки; $regs[2] будет содержать подстроку, начинающуюся со второй, и т.д. $regs[0] будет содержать полную копию совпавшей строки.

Возвращаемые значения

Возвращает длину совпавшей строки, если совпадения с pattern найдены в string, или FALSE, если совпадений не найдено или возникла ошибка.

Если дополнительный параметр regs не передан, или длина совпавшей строки равна 0, функция возвращает 1.

Примеры

Пример #1 Пример использования eregi()

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "'$string' содержит 'z' или 'Z'!";
}
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Смотрите также

  • ereg() - Совпадение с регулярным выражением
  • ereg_replace() - Осуществляет замену по регулярному выражению
  • eregi_replace() - Осуществляет замену по регулярному выражению без учета регистра
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • stristr() - Регистро-независимый вариант функции strstr

eregi_replace
split
Функции регулярных выражений POSIX


Разбиение строки на массив по регулярному выражению

eregi
spliti
Функции регулярных выражений POSIX
PHP Manual

split

(PHP 4, PHP 5)

split — Разбиение строки на массив по регулярному выражению

Описание

array split ( string $pattern , string $string [, int $limit = -1 ] )

Разбивает строку string на массив по регулярному выражению.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Регулярное выражение, чувствительное к регистру.

Если необходимо разбить строку по символам, являющимся специальными для регулярных выражений, их следует экранировать. Если вам кажется, что split() (или любая другая функция, работающая с регулярными выражениями) ведет себя неожиданно, пожалуйста, прочтите файл regex.7, расположенный в поддиректории regex/ дистрибутива PHP. Он сохранен в формате manpage, поэтому для удобства чтения используйте команду man /usr/local/src/regex/regex.7.

string

Входная строка.

limit

Если указан параметр limit, возвращаемый массив будет содержать максимум limit элементов, причем последний элемент будет включать всю оставшуюся часть строки string.

Возвращаемые значения

Возвращает массив строк, каждая из которых является строкой, образованной разбиением строки string чувствительным к регистру регулярным выражением pattern.

Если pattern встречается n раз, результирующий массив будет содержать n+1 элементов. Например, если pattern в строке отсутствует, будет возвращен массив, содержащий 1 элемент. Само собой, это также верно в случае, когда string является пустой строкой. В случае ошибки split() возвращает FALSE.

Примеры

Пример #1 Пример использования split()

Получаем первые четыре поля строки из /etc/passwd:

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

Пример #2 Пример использования split()

Распознаем дату, отформатированную с использованием слешей, точек или дефисов:

<?php
// Разделителями могут быть слеши, точки или дефисы
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Месяц: $month; День: $day; Год: $year<br />\n";
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Подсказка

preg_split(), использующая Perl-совместимый синтаксис регулярных выражений, чаще всего работает быстрее split(). В случае, когда нет необходимости использовать регулярные выражения, эффективнее использовать explode(), которая не использует дополнительные ресурсы для разбора регулярного выражения.

Подсказка

Пользователям, которым необходимо эмулировать поведение @chars = split('', $str) из Perl, следует обратиться к примерам для preg_split() или str_split().

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • spliti() - Разбивает строку в массив с помощью регулярного выражения без учета регистра
  • str_split() - Преобразует строку в массив
  • explode() - Разбивает строку с помощью разделителя
  • implode() - Объединяет элементы массива в строку
  • chunk_split() - Разбивает строку на фрагменты
  • wordwrap() - Переносит строку по указанному количеству символов

eregi
spliti
Функции регулярных выражений POSIX


Разбивает строку в массив с помощью регулярного выражения без учета регистра

split
sql_regcase
Функции регулярных выражений POSIX
PHP Manual

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Разбивает строку в массив с помощью регулярного выражения без учета регистра

Описание

array spliti ( string $pattern , string $string [, int $limit = -1 ] )

Разбивает строку string в массив с помощью регулярного выражения.

Эта функция идентична функции split() за исключением того, что она игнорирует регистр символов при сравнении.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

pattern

Регистронезависимое регулярное выражение.

Если вы хотите разделить строку по символам, которые являются специальными символами регулярного выражения, вам сначала нужно заэкранировать эти символы. Если вы думаете, что функция spliti() (или другая функция для работы с регулярными выражениями) делает что-то странное, пожалуйста, прочитайте файл regex.7, который находится в папке regex/ дитсрибутива PHP. Этот файл находится в формате manpage, поэтому вы можете прочитать его коммандой man /usr/local/src/regex/regex.7.

string

Строка для разделения.

limit

Если установлен limit, возвращаемый массив будет содержать максимум limit элементов, в котором последний элемент содержит всю строку string.

Возвращаемые значения

Возвращает массив строк, каждая из которых является подстрокой строки string, образованный с помощью регистронезависимого разделения регулярным выражением pattern.

Если встречаются n вхождений pattern, возвращаемый массив будет содержать n+1 элементов. К примеру, если вхождений pattern не будет найдено, то будет возвращен массив только с одним элементом. Естественно, это также справедливо, если string пустая. Если в процессе возникает ошибка, spliti() возвращает FALSE.

Примеры

Разделение строки, используя 'a' как разделитель:

Пример #1 Пример spliti()

<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

Результат выполнения данного примера:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • split() - Разбиение строки на массив по регулярному выражению
  • explode() - Разбивает строку с помощью разделителя
  • implode() - Объединяет элементы массива в строку

split
sql_regcase
Функции регулярных выражений POSIX


Создает регулярное выражение для регистронезависимого сравнения

spliti
ssdeep
Функции регулярных выражений POSIX
PHP Manual

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Создает регулярное выражение для регистронезависимого сравнения

Описание

string sql_regcase ( string $string )

Создает регулярное выражение для регистронезависимого сравнения.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

string

Входная строка.

Возвращаемые значения

Создает допустимое регулярное выражение, которое будет совпадать с string, игнорируя регистр символов. Это выражение является string, в которой каждый буквенный символ заменен на символьный класс (выражение в квадратных скобках); каждый такой символьный класс содержит символы в нижнем и верхнем регистре. Другие символы остаются без изменений.

Примеры

Пример #1 Пример функции sql_regcase()

<?php
echo sql_regcase("Foo - bar.");
?>

Результат выполнения данного примера:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

Это может быть использовано для получения регистронезависимых шаблонов поиска на системах, которые поддерживают только регистрозависимые регулярные выражения.

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции повлечет ошибку уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.

spliti
ssdeep
Функции регулярных выражений POSIX


ssdeep Fuzzy Hashing

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • ssdeep Функции
    • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
    • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
sql_regcase
Введение
Обработка текста


Введение

ssdeep is a utility for creating and comparing fuzzy hashes or » context-triggered piecewise hashing.

Fuzzy hashing can match signatures which have "...sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length". (» ssdeep project page)

This extension provides functions for creating and comparing fuzzy hashes.

ssdeep
Установка и настройка
ssdeep


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ssdeep


Требования

This extension requires the » ssdeep library.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/ssdeep.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
ssdeep Функции
ssdeep


ssdeep Функции

Содержание

  • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
  • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
  • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
Предопределенные константы
ssdeep_fuzzy_compare
ssdeep


Calculates the match score between two fuzzy hash signatures

ssdeep Функции
ssdeep_fuzzy_hash_filename
ssdeep Функции
PHP Manual

ssdeep_fuzzy_compare

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures

Описание

int ssdeep_fuzzy_compare ( string $signature1 , string $signature2 )

Calculates the match score between signature1 and signature2 using » context-triggered piecewise hashing, and returns the match score.

Список параметров

signature1

The first fuzzy hash signature string.

signature2

The second fuzzy hash signature string.

Возвращаемые значения

Returns an integer from 0 to 100 on success, FALSE otherwise.

ssdeep Функции
ssdeep_fuzzy_hash_filename
ssdeep Функции


Create a fuzzy hash from a file

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
ssdeep Функции
PHP Manual

ssdeep_fuzzy_hash_filename

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file

Описание

string ssdeep_fuzzy_hash_filename ( string $file_name )

ssdeep_fuzzy_hash_filename() calculates the hash of the file specified by file_name using » context-triggered piecewise hashing, and returns that hash.

Список параметров

file_name

The filename of the file to hash.

Возвращаемые значения

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
ssdeep Функции


Create a fuzzy hash from a string

ssdeep_fuzzy_hash_filename
Строки
ssdeep Функции
PHP Manual

ssdeep_fuzzy_hash

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash — Create a fuzzy hash from a string

Описание

string ssdeep_fuzzy_hash ( string $to_hash )

ssdeep_fuzzy_hash() calculates the hash of to_hash using » context-triggered piecewise hashing, and returns that hash.

Список параметров

to_hash

The input string.

Возвращаемые значения

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_hash_filename
Строки
ssdeep Функции


Строки

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Обработка строк
    • addcslashes — Экранирует cтроку слэшами в стиле языка C
    • addslashes — Экранирует строку с помощью слэшей
    • bin2hex — Преобразует бинарные данные в шестнадцатиричное представление
    • chop — Псевдоним rtrim
    • chr — Возвращает символ по его коду
    • chunk_split — Разбивает строку на фрагменты
    • convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую
    • convert_uudecode — Декодирует строку из формата uuencode в обычный вид
    • convert_uuencode — Кодирует строку в формат uuencode
    • count_chars — Возвращает информацию о символах, входящих в строку
    • crc32 — Вычисляет полином CRC32 для строки
    • crypt — Необратимое хэширование строки
    • echo — Выводит одну или более строк
    • explode — Разбивает строку с помощью разделителя
    • fprintf — Записывает отформатированную строку в поток
    • get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
    • hebrev — Преобразует текст на иврите из логической кодировки в визуальную
    • hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
    • hex2bin — Converts the hex representation of data to binary
    • html_entity_decode — Преобразует все HTML-сущности в соответствующие символы
    • htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности
    • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
    • htmlspecialchars — Преобразует специальные символы в HTML-сущности
    • implode — Объединяет элементы массива в строку
    • join — Псевдоним implode
    • lcfirst — Преобразует первый символ строки в нижний регистр
    • levenshtein — Вычисляет расстояние Левенштейна между двумя строками
    • localeconv — Возвращает информацию о числовых форматах
    • ltrim — Удаляет пробелы (или другие символы) из начала строки
    • md5_file — Возвращает MD5-хэш файла
    • md5 — Возвращает MD5-хэш строки
    • metaphone — Возвращает ключ metaphone для строки
    • money_format — Форматирует число как денежную величину
    • nl_langinfo — Возвращает информацию о языке и локали
    • nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки
    • number_format — Форматирует число с разделением групп
    • ord — Возвращает ASCII-код символа
    • parse_str — Разбирает строку в переменные
    • print — Выводит строку
    • printf — Выводит отформатированную строку
    • quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битовую строку
    • quoted_printable_encode — Кодирует 8-битную строку в с помощью метода quoted-printable
    • quotemeta — Экранирует специальные символы
    • rtrim — Удаляет пробелы (или другие символы) из конца строки
    • setlocale — Устанавливает настройки локали
    • sha1_file — Возвращает SHA1-хэш файла
    • sha1 — Возвращает SHA1-хэш строки
    • similar_text — Вычисляет степень похожести двух строк
    • soundex — Возвращает ключ soundex для строки
    • sprintf — Возвращает отформатированную строку
    • sscanf — Разбирает строку в соответствии с заданным форматом
    • str_getcsv — Выполняет разбор CSV-строки в массив
    • str_ireplace — Регистро-независимый вариант функции str_replace
    • str_pad — Дополняет строку другой строкой до заданной длины
    • str_repeat — Возвращает повторяющуюся строку
    • str_replace — Заменяет все вхождения строки поиска на строку замены
    • str_rot13 — Выполняет преобразование ROT13 над строкой
    • str_shuffle — Переставляет символы в строке случайным образом
    • str_split — Преобразует строку в массив
    • str_word_count — Возвращает информацию о словах, входящих в строку
    • strcasecmp — Бинарно-безопасное сравнение строк без учета регистра
    • strchr — Псевдоним strstr
    • strcmp — Бинарно-безопасное сравнение строк
    • strcoll — Сравнение строк с учетом текущей локали
    • strcspn — Возвращает длину участка в начале строки, не соответствующего маске
    • strip_tags — Удаляет HTML и PHP-теги из строки
    • stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes
    • stripos — Возвращает позицию первого вхождения подстроки без учета регистра
    • stripslashes — Удаляет экранирование символов
    • stristr — Регистро-независимый вариант функции strstr
    • strlen — Возвращает длину строки
    • strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "natural order"
    • strnatcmp — Сравнение строк с использованием алгоритма "natural order"
    • strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
    • strncmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
    • strpbrk — Ищет в строке любой символ из заданного набора
    • strpos — Возвращает позицию первого вхождения подстроки
    • strrchr — Находит последнее вхождение символа в строке
    • strrev — Переворачивает строку задом наперед
    • strripos — Возвращает позицию последнего вхождения подстроки без учета регистра
    • strrpos — Возвращает позицию последнего вхождения подстроки в строке
    • strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
    • strstr — Находит первое вхождение подстроки
    • strtok — Разбивает строку на токены
    • strtolower — Преобразует строку в нижний регистр
    • strtoupper — Преобразует строку в верхний регистр
    • strtr — Преобразует заданные символы или заменяет подстроки
    • substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
    • substr_count — Возвращает число вхождений подстроки
    • substr_replace — Заменяет часть строки
    • substr — Возвращает подстроку
    • trim — Удаляет пробелы (или другие символы) из начала и конца строки
    • ucfirst — Преобразует первый символ строки в верхний регистр
    • ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
    • vfprintf — Записывает отформатированную строку в поток
    • vprintf — Выводит отформатированную строку
    • vsprintf — Возвращает отформатированную строку
    • wordwrap — Переносит строку по указанному количеству символов
ssdeep_fuzzy_hash
Введение
Обработка текста


Введение

Эти функции предназначены для выполнения различных манипуляций со строками. Более специализированные функции см. в разделах, посвященных регулярным выражениям и обработке URL.

Для получения общей информации о работе со строками, особенно об использовании одиночных, двойных кавычек и экранировании символов, смотрите главу Строки в разделе Типы .

Строки
Установка и настройка
Строки


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Строки


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

CRYPT_SALT_LENGTH integer
CRYPT_STD_DES integer
CRYPT_EXT_DES integer
CRYPT_MD5 integer
CRYPT_BLOWFISH integer
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)
Типы ресурсов
Обработка строк
Строки


Обработка строк

Смотрите также

Для получения информации о более сложной обработке строк обратитесь к разделам о регулярных выражениях: POSIX-совместимых и Perl-совместимых.

Содержание

  • addcslashes — Экранирует cтроку слэшами в стиле языка C
  • addslashes — Экранирует строку с помощью слэшей
  • bin2hex — Преобразует бинарные данные в шестнадцатиричное представление
  • chop — Псевдоним rtrim
  • chr — Возвращает символ по его коду
  • chunk_split — Разбивает строку на фрагменты
  • convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую
  • convert_uudecode — Декодирует строку из формата uuencode в обычный вид
  • convert_uuencode — Кодирует строку в формат uuencode
  • count_chars — Возвращает информацию о символах, входящих в строку
  • crc32 — Вычисляет полином CRC32 для строки
  • crypt — Необратимое хэширование строки
  • echo — Выводит одну или более строк
  • explode — Разбивает строку с помощью разделителя
  • fprintf — Записывает отформатированную строку в поток
  • get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • hebrev — Преобразует текст на иврите из логической кодировки в визуальную
  • hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
  • hex2bin — Converts the hex representation of data to binary
  • html_entity_decode — Преобразует все HTML-сущности в соответствующие символы
  • htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
  • htmlspecialchars — Преобразует специальные символы в HTML-сущности
  • implode — Объединяет элементы массива в строку
  • join — Псевдоним implode
  • lcfirst — Преобразует первый символ строки в нижний регистр
  • levenshtein — Вычисляет расстояние Левенштейна между двумя строками
  • localeconv — Возвращает информацию о числовых форматах
  • ltrim — Удаляет пробелы (или другие символы) из начала строки
  • md5_file — Возвращает MD5-хэш файла
  • md5 — Возвращает MD5-хэш строки
  • metaphone — Возвращает ключ metaphone для строки
  • money_format — Форматирует число как денежную величину
  • nl_langinfo — Возвращает информацию о языке и локали
  • nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки
  • number_format — Форматирует число с разделением групп
  • ord — Возвращает ASCII-код символа
  • parse_str — Разбирает строку в переменные
  • print — Выводит строку
  • printf — Выводит отформатированную строку
  • quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битовую строку
  • quoted_printable_encode — Кодирует 8-битную строку в с помощью метода quoted-printable
  • quotemeta — Экранирует специальные символы
  • rtrim — Удаляет пробелы (или другие символы) из конца строки
  • setlocale — Устанавливает настройки локали
  • sha1_file — Возвращает SHA1-хэш файла
  • sha1 — Возвращает SHA1-хэш строки
  • similar_text — Вычисляет степень похожести двух строк
  • soundex — Возвращает ключ soundex для строки
  • sprintf — Возвращает отформатированную строку
  • sscanf — Разбирает строку в соответствии с заданным форматом
  • str_getcsv — Выполняет разбор CSV-строки в массив
  • str_ireplace — Регистро-независимый вариант функции str_replace
  • str_pad — Дополняет строку другой строкой до заданной длины
  • str_repeat — Возвращает повторяющуюся строку
  • str_replace — Заменяет все вхождения строки поиска на строку замены
  • str_rot13 — Выполняет преобразование ROT13 над строкой
  • str_shuffle — Переставляет символы в строке случайным образом
  • str_split — Преобразует строку в массив
  • str_word_count — Возвращает информацию о словах, входящих в строку
  • strcasecmp — Бинарно-безопасное сравнение строк без учета регистра
  • strchr — Псевдоним strstr
  • strcmp — Бинарно-безопасное сравнение строк
  • strcoll — Сравнение строк с учетом текущей локали
  • strcspn — Возвращает длину участка в начале строки, не соответствующего маске
  • strip_tags — Удаляет HTML и PHP-теги из строки
  • stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes
  • stripos — Возвращает позицию первого вхождения подстроки без учета регистра
  • stripslashes — Удаляет экранирование символов
  • stristr — Регистро-независимый вариант функции strstr
  • strlen — Возвращает длину строки
  • strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "natural order"
  • strnatcmp — Сравнение строк с использованием алгоритма "natural order"
  • strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strncmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strpbrk — Ищет в строке любой символ из заданного набора
  • strpos — Возвращает позицию первого вхождения подстроки
  • strrchr — Находит последнее вхождение символа в строке
  • strrev — Переворачивает строку задом наперед
  • strripos — Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrpos — Возвращает позицию последнего вхождения подстроки в строке
  • strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
  • strstr — Находит первое вхождение подстроки
  • strtok — Разбивает строку на токены
  • strtolower — Преобразует строку в нижний регистр
  • strtoupper — Преобразует строку в верхний регистр
  • strtr — Преобразует заданные символы или заменяет подстроки
  • substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • substr_count — Возвращает число вхождений подстроки
  • substr_replace — Заменяет часть строки
  • substr — Возвращает подстроку
  • trim — Удаляет пробелы (или другие символы) из начала и конца строки
  • ucfirst — Преобразует первый символ строки в верхний регистр
  • ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
  • vfprintf — Записывает отформатированную строку в поток
  • vprintf — Выводит отформатированную строку
  • vsprintf — Возвращает отформатированную строку
  • wordwrap — Переносит строку по указанному количеству символов
Предопределенные константы
addcslashes
Строки


Экранирует cтроку слэшами в стиле языка C

Обработка строк
addslashes
Обработка строк
PHP Manual

addcslashes

(PHP 4, PHP 5)

addcslashes — Экранирует cтроку слэшами в стиле языка C

Описание

string addcslashes ( string $str , string $charlist )

Возвращает строку, экранированную обратными слэшами перед символами, указанными в параметре charlist.

Список параметров

str

Экранируемая строка.

charlist

Список экранируемых символов. Если charlist содержит символы \n, \r и т.п., они будут преобразованы в стиле C, тогда как другие нецифробуквенные символы с ASCII-кодами ниже 32 и выше 126 будут преобразованы в восьмеричное представление.

Следует быть внимательным при указании диапазона символов в аргументе charlist. Проверяйте, какие символы входят в этот диапазон.

<?php
echo addcslashes('foo[ ]', 'A..z');
// выводит:  \f\o\o\[ \]
// Будут экранированы заглавные и строчные английские буквы
// ... а также [\]^_`
?>
Также, если ASCII-код первого символа диапазона больше, чем последнего, диапазон не будет создан. Вместо этого будут экранироваться только первый символ, последний символ и точка. Для определения ASCII-кода символов используйте функцию ord().
<?php
echo addcslashes("zoo['.']", 'z..A');
// выводит:  \zoo['\.']
?>

Будьте внимательны при экранировании символв 0, a, b, f, n, r, t и v. Они будут преобразованы в \0, \a, \b, \f, \n, \r, \t и \v. В C все они являются предопределенными escape-последовательностями, в то время как в PHP это только \0 (NULL), \r (возврат каретки), \n (перевод строки), \f (разрыв страницы), \v (вертикальная табуляция) и \t (табуляция).

Возвращаемые значения

Возвращает экранированную строку.

Список изменений

Версия | Описание
5.2.5 | Добавлены экранирующие последовательности \v и \f.

Примеры

charlist, например, "\0..\37", что проэкранирует все символы с ASCII-кодами от 0 до 31.

Пример #1 addcslashes() example

<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>

Смотрите также

  • stripcslashes() - Удаляет экранирование символов, произведенное функцией addcslashes
  • stripslashes() - Удаляет экранирование символов
  • addslashes() - Экранирует строку с помощью слэшей
  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • quotemeta() - Экранирует специальные символы

Обработка строк
addslashes
Обработка строк


Экранирует строку с помощью слэшей

addcslashes
bin2hex
Обработка строк
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashes — Экранирует строку с помощью слэшей

Описание

string addslashes ( string $str )

Возвращает строку, в которой перед каждым спецсимволом добавлен обратный слэш, например, для последующего использования этой строки в запросе к базе данных и т.п. Экранируются одиночная кавычка ('), двойная кавычка ("), обратный слэш (\) и NUL (байт NULL).

Функция addslashes() часто применяется при записи в базу данных. Предположим, если нужно внести в базу данных имя O'reilly, то эту строку необходимо проэкранировать. Настоятельно рекомендуется использовать функцию экранирования, специфичную для используемой вами базы данных (например, mysqli_real_escape_string() для MySQL или pg_escape_string() для PostgreSQL), но если используемая вами база данных не имеет собственной функции экранирования и для экранирования специальных символов используется символ \, то для этой цели можно воспользоваться данной функцией. Заметьте, что сам символ \ в базу данных записан не будет, он используется только для корректной передачи данных в базу. Если директива конфигурации magic_quotes_sybase имеет значение on, то символ одинарной кавычки ' будет экранироваться добавлением еще одной кавычки ' вместо обратного слэша.

Директива конфигурации magic_quotes_gpc по умолчанию имеет значение on, при этом функция addslashes() автоматически применяется ко всем данным GET, POST, и COOKIE. Не используйте addslashes() для данных, обработанных magic_quotes_gpc, чтобы избежать двойного экранирования. Для проверки состояния этой директивы используется get_magic_quotes_gpc().

Список параметров

str

Экранируемая строка.

Возвращаемые значения

Возвращает экранируемую строку.

Примеры

Пример #1 Пример использования addslashes()

<?php
$str = "Ваше имя O'reilly?";

// выводит: Ваше имя O\'reilly?
echo addslashes($str);
?>

Смотрите также

  • stripcslashes() - Удаляет экранирование символов, произведенное функцией addcslashes
  • stripslashes() - Удаляет экранирование символов
  • addcslashes() - Экранирует cтроку слэшами в стиле языка C
  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • quotemeta() - Экранирует специальные символы
  • get_magic_quotes_gpc() - Gets the current configuration setting of magic_quotes_gpc

addcslashes
bin2hex
Обработка строк


Преобразует бинарные данные в шестнадцатиричное представление

addslashes
chop
Обработка строк
PHP Manual

bin2hex

(PHP 4, PHP 5)

bin2hex — Преобразует бинарные данные в шестнадцатиричное представление

Описание

string bin2hex ( string $str )

Возвращает ASCII-строку, содержащую шестнадцатиричное представление аргумента str. Преобразование производится побайтно, начиная с верхнего полубайта.

Список параметров

str

Строка.

Возвращаемые значения

Возвращает шестнадцатиричное представление указанной строки.

Смотрите также

  • hex2bin() - Converts the hex representation of data to binary
  • pack() - Pack data into binary string

addslashes
chop
Обработка строк


Псевдоним rtrim

bin2hex
chr
Обработка строк
PHP Manual

chop

(PHP 4, PHP 5)

chop — Псевдоним rtrim()

Описание

Эта функция является псевдонимом: rtrim().

Примечания

Замечание:

Действие chop() отличается от одноименной функции chop() языка Perl, удаляющей последний символ строки.

bin2hex
chr
Обработка строк


Возвращает символ по его коду

chop
chunk_split
Обработка строк
PHP Manual

chr

(PHP 4, PHP 5)

chr — Возвращает символ по его коду

Описание

string chr ( int $ascii )

Возвращает строку из одного символа, код которого задан аргументом ascii.

Эта функция дополняет функцию ord().

Список параметров

ascii

ASCII-код.

Возвращаемые значения

Возвращает символ по его коду.

Примеры

Пример #1 Пример использования chr()

<?php
$str = "Эта строка заканчивается на escape: ";
$str .= chr(27); /* добавляет символ escape в конец $str */

/* Но обычно лучше использовать такую конструкцию */

$str = sprintf("The string ends in escape: %c", 27);
?>

Смотрите также

  • Описание формата %c функции sprintf()
  • ord()
  • » Таблица ASCII-кодов

chop
chunk_split
Обработка строк


Разбивает строку на фрагменты

chr
convert_cyr_string
Обработка строк
PHP Manual

chunk_split

(PHP 4, PHP 5)

chunk_split — Разбивает строку на фрагменты

Описание

string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] )

Функция используется для разбиения строки на фрагменты, например, для приведения результата функции base64_encode() в соответствие с требованиями RFC 2045. Она вставляет строку end после каждых chunklen символов.

Список параметров

body

Разбиваемая строка.

chunklen

Длина фрагмента.

end

Последовательность символов, используемая в качестве конца строки.

Возвращаемые значения

Возвращает преобразованную строку.

Примеры

Пример #1 Пример использования chunk_split()

<?php
// форматирование данных в соответствии с RFC 2045
$new_string = chunk_split(base64_encode($data));
?>

Смотрите также

  • str_split() - Преобразует строку в массив
  • explode() - Разбивает строку с помощью разделителя
  • split() - Разбиение строки на массив по регулярному выражению
  • wordwrap() - Переносит строку по указанному количеству символов
  • » RFC 2045

chr
convert_cyr_string
Обработка строк


Преобразует строку из одной кириллической кодировки в другую

chunk_split
convert_uudecode
Обработка строк
PHP Manual

convert_cyr_string

(PHP 4, PHP 5)

convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую

Описание

string convert_cyr_string ( string $str , string $from , string $to )

Преобразует строку из одной кириллической кодировки в другую.

Список параметров

str

Конвертируемая строка.

from

Исходная кириллическая кодировка, один символ.

to

Целевая кириллическая кодировка, один символ.

Поддерживаются следующие символы:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

Возвращаемые значения

Возвращает преобразованную строку.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

chunk_split
convert_uudecode
Обработка строк


Декодирует строку из формата uuencode в обычный вид

convert_cyr_string
convert_uuencode
Обработка строк
PHP Manual

convert_uudecode

(PHP 5)

convert_uudecode — Декодирует строку из формата uuencode в обычный вид

Описание

string convert_uudecode ( string $data )

convert_uudecode() декодирует строку из формата uuencode в обычный вид.

Список параметров

data

Данные в формате uuencode.

Возвращаемые значения

Возвращает декодированные данные в виде строки.

Примеры

Пример #1 Пример использования convert_uudecode()

<?php
/* Догадаетесь, что выведет этот код? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Смотрите также

  • convert_uuencode() - Кодирует строку в формат uuencode

convert_cyr_string
convert_uuencode
Обработка строк


Кодирует строку в формат uuencode

convert_uudecode
count_chars
Обработка строк
PHP Manual

convert_uuencode

(PHP 5)

convert_uuencode — Кодирует строку в формат uuencode

Описание

string convert_uuencode ( string $data )

convert_uuencode() кодирует строку с помощью алгоритма uuencode.

Кодирование uuencode переводит строки (включая бинарные символы) в последовательности печатных (7-битных) ASCII-символов, что позволяет безопасно обмениваться данными через сеть. Закодированные данные примерно на 35% больше оригинала.

Список параметров

data

Кодируемые данные.

Возвращаемые значения

Возвращает закодированные данные в формате uuencode.

Примеры

Пример #1 Пример использования convert_uuencode()

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

Смотрите также

  • convert_uudecode() - Декодирует строку из формата uuencode в обычный вид
  • base64_encode() - Kодирует данные алгоритмом MIME base64

convert_uudecode
count_chars
Обработка строк


Возвращает информацию о символах, входящих в строку

convert_uuencode
crc32
Обработка строк
PHP Manual

count_chars

(PHP 4, PHP 5)

count_chars — Возвращает информацию о символах, входящих в строку

Описание

mixed count_chars ( string $string [, int $mode = 0 ] )

Подсчитывает количество вхождений каждого из символов с ASII-кодами в диапазоне (0..255) в строке string и возвращает эту информацию в различных форматах.

Список параметров

string

Исследуемая строка.

mode

Смотрите возвращаемые значения.

Возвращаемые значения

В зависимости от параметра mode count_chars() возвращает одно из следующих значений:

  • 0 - массив, индексами которого являются ASCII-коды, а значениями - число вхождений соответствующего символа.
  • 1 - то же, что и для 0, но информация о символах с нулевым числом вхождений не включается в массив.
  • 2 - то же, что и для 0, но в массив включается информация только о символах с нулевым числом вхождений.
  • 3 - строка, содержащая все уникальные символы в исследуемой строке.
  • 4 - строка, состоящая из символов, которые не входят в исходую строку.

Примеры

Пример #1 Пример использования count_chars()

<?php
$data = "Two Ts and one F.";

foreach (count_chars($data, 1) as $i => $val) {
   echo "\"" , chr($i) , "\" встречается в строке $val раз(а).\n";
}
?>

Результат выполнения данного примера:

" " встречается в строке 4 раз(а).
"." встречается в строке 1 раз(а).
"F" встречается в строке 1 раз(а).
"T" встречается в строке 2 раз(а).
"a" встречается в строке 1 раз(а).
"d" встречается в строке 1 раз(а).
"e" встречается в строке 1 раз(а).
"n" встречается в строке 2 раз(а).
"o" встречается в строке 2 раз(а).
"s" встречается в строке 1 раз(а).
"w" встречается в строке 1 раз(а).

Смотрите также

  • strpos() - Возвращает позицию первого вхождения подстроки
  • substr_count() - Возвращает число вхождений подстроки

convert_uuencode
crc32
Обработка строк


Вычисляет полином CRC32 для строки

count_chars
crypt
Обработка строк
PHP Manual

crc32

(PHP 4 >= 4.0.1, PHP 5)

crc32 — Вычисляет полином CRC32 для строки

Описание

int crc32 ( string $str )

Функция вычисляет циклический избыточный код 32-битных полиномов (CRC32) для строки str. Это обычно используется для контроля целостности передаваемых данных.

В PHP целые числа имеют знак, поэтому многие контрольные суммы могут оказаться отрицательными. Для получения строкового представления CRC32 без знака используйте формат "%u" в функциях sprintf() или printf().

Список параметров

str

Данные.

Возвращаемые значения

Возвращает контрольную сумму crc32 строки str в виде целого числа.

Примеры

Пример #1 Вывод контрольной суммы CRC32

Этот пример иллюстрирует вывод вычисленной контрольной суммы с помощью функции printf():

<?php
$checksum = crc32("Быстрый коричневый лис перепрыгнул через ленивую собаку.");
printf("%u\n", $checksum);
?>

Смотрите также

  • md5() - Возвращает MD5-хэш строки
  • sha1() - Возвращает SHA1-хэш строки

count_chars
crypt
Обработка строк


Необратимое хэширование строки

crc32
echo
Обработка строк
PHP Manual

crypt

(PHP 4, PHP 5)

crypt — Необратимое хэширование строки

Описание

string crypt ( string $str [, string $salt ] )

crypt() возвращает хэшированную строку, полученную с помощью стандартного алгоритма UNIX, основанного на DES, или другого алгоритма, имеющегося в системе.

Некоторые операционные системы поддерживают несколько алгоритмов хэширования. Иногда стандартный алгоритм, основанный на DES, заменяется алгоритмом на основе MD5. Вид хэширования определяется переданным аргументом salt (соль). До версии PHP 5.3, PHP определял доступные алгоритмы шифрования во время инсталляции, базируясь на системной функции crypt(). Если соль не указана, будет автоматически сгенерирована стандартная случайная двухсимвольная (DES) либо двенадцатисимвольная (MD5) соль, в зависимости от доступности алгоритма MD5 в crypt(). Предопределенная константа CRYPT_SALT_LENGTH позволяет определить максимально доступную длину соли в соответствии с используемыми алгоритмами.

Стандартная функция crypt() на основе DES копирует возвращает соль в качестве первых двух символов возвращаемой строки. Кроме того, она использует только первые восемь символов строки str, поэтому более длинные строки, начинающиеся с тех же восьми символов, сгенерируют один и тот же результат (при использовании одинаковой соли).

На системах, где функция crypt() поддерживает несколько алгоритмов хэширования, следующие константы устанавливаются в 0 или 1 в зависимости от доступности соответствующего алгоритма:

  • CRYPT_STD_DES - Стандартное DES-шифрование с двухсимвольной солью из алфавита "./0-9A-Za-z""./0-9A-Za-z". Использование других символов в соли повлечет за собой отказ работы crypt().
  • CRYPT_EXT_DES - Расширенное DES-шифрование. "Соль" является девятисимвольной строкой, состоящей из символа подчеркивания, за которым следуют 4 байта счетчика итерации и 4 байта соли. Эти данные будут закодированы в виде печатаемых символов, 6 бит на символ, с меньшим значащим символом указанным первым. Значения от 0 до 63 кодируются как "./0-9A-Za-z". Использование других символов в соли повлечет за собой отказ работы crypt().
  • CRYPT_MD5 - MD5-шифрование с 12-символьной солью, начинающейся с $1$
  • CRYPT_BLOWFISH - Blowfish-шифрование со следующей солью: "$2a$", весовой параметр из двух цифр, "$" и 22 цифры из алфавита "./0-9A-Za-z". Использование других символов в соли повлечет за собой возвращение пустой строки. Весовой параметр из двух цифр является двоичным логарифмом счетчика итераций низлежащего хэширующего алгоритма, основанного на Blowfish, и должен быть в диапазоне 04-31, значения вне данного диапазона вызовут отказ crypt().
  • CRYPT_SHA256 - хэш SHA-256 с шестнадцатисимвольной солью, начинающейся с $5$. Если строка с солью начинается с 'rounds=<N>$', число N будет использовано для обозначения количества раундов хэширования, по аналогии с весовым параметром в Blowfish. По умолчанию используемое количество раундов равно 5000, минимально доступно 1000 и максимально 999,999,999. Любой значение вне этого диапазона будет усечено до ближайшего лимита.
  • CRYPT_SHA512 - хэш SHA-512 с шестнадцатисимвольной солью, начинающейся с $6$. Если строка с солью начинается с 'rounds=<N>$', число N будет использовано для обозначения количества раундов хэширования, по аналогии с весовым параметром в Blowfish. По умолчанию используемое количество раундов равно 5000, минимально доступно 1000 и максимально 999,999,999. Любой значение вне этого диапазона будет усечено до ближайшего лимита.

Замечание:

Начиная с версии PHP 5.3.0, PHP использует свою собственную реализацию, которая будет использована при отсутствии в системе какого-либо алгоритма.

Список параметров

str

Хэшируемая строка.

salt

Необязательный параметр с солью, на которой будет основано хэширование. Если не указан, поведение определяется по наличию реализованных алгоритмов в системе и может привести к неожиданным результатам.

Возвращаемые значения

Возвращает хэшированную строку или строку короче 13 символов, гарантированно отличающуюся от соли в случае ошибки.

Список изменений

Версия | Описание
5.3.2 | Добавлено хэширование алгоритмами SHA-256 и SHA-512, основанное на » реализации Ulrich Drepper.
5.3.2 | Исправлено поведение Blowfish при некорректных раундах: теперь возвращается "ошибочная" строка ("*0" или "*1") вместо отката к использованию DES.
5.3.0 | PHP теперь использует собственную реализацию MD5, стандартного DES, расширенного DES и Blowfish алгоритмов, которые будут использованы в случае отсутствия их поддержки в системе.

Примеры

Пример #1 Пример использования crypt()

<?php
$password = crypt('mypassword'); // соль будет сгенерирована автоматически

/* Для проверки пароля в качестве параметра salt следует передавать результат работы
   crypt() целиком во избежание проблем при использовании различных
   алгоритмов (как уже было отмечено выше, стандартный DES-алгоритм
   использует 2-символьную соль, а MD5 - 12-символьную. */
if (crypt($user_input, $password) == $password) {
   echo "Пароль верен!";
}
?>

Пример #2 Использование crypt() и htpasswd

<?php
// пароль
$password = 'mypassword';

// получение хэша, соль генерируется автоматически
$hash = crypt($password);
?>

Пример #3 Использование crypt() с различными видами хэшей

<?php
if (CRYPT_STD_DES == 1) {
    echo 'Стандартный DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'Расширенный DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:             ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:        ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA256 == 1) {
    echo 'SHA-256:         ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA512 == 1) {
    echo 'SHA-512:         ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$') . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Стандартный DES: rl.3StKT.4T8M
Расширенный DES: _J9..rasmBYk8r9AiWNc
MD5:             $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish:        $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
SHA-256:         $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
SHA-512:         $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

Примечания

Замечание: Функция расшифровки отсутствует, так как crypt() использует необратимый алгоритм хэширования.

Смотрите также

  • md5() - Возвращает MD5-хэш строки
  • Расширение Mcrypt
  • Страница руководства Unix по вашей функции crypt

crc32
echo
Обработка строк


Выводит одну или более строк

crypt
explode
Обработка строк
PHP Manual

echo

(PHP 4, PHP 5)

echo — Выводит одну или более строк

Описание

void echo ( string $arg1 [, string $... ] )

Выводит все аргументы.

На самом деле echo() - это не функция, а конструкция языка, поэтому заключать аргументы в скобки необязательно. echo() (в отличии от других языковых конструкций) не ведет себя как функция, поэтому не всегда может быть использована в контексте функции. Вдобавок, если вы хотите передать более одного аргумента в echo(), эти аргументы нельзя заключать в скобки.

echo() имеет также краткую форму, представляющую собой знак равенства, следующий непосредственно за открывающим тэгом. Этот сокращенный синтаксис допустим только когда включена директива конфигурации short_open_tag.

I have <?=$foo?> foo.

Список параметров

arg1

The parameter to output.

...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Примеры использования echo()

<?php
echo "Привет мир!";

echo "Это займет
несколько строк. Переводы строки тоже
выводятся";

echo "Это займет\nнесколько строк. Переводы строки тоже\nвыводятся";

echo "Экранирование символов делается \"Так\".";

// с echo можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

echo "foo - это $foo"; // foo - это foobar

// ... и массивы
$baz = array("value" => "foo");

echo "это {$baz['value']} !"; // это foo !

// При использовании одиночных кавычек выводится имя переменной, а не значение
echo 'foo - это $foo'; // foo - это $foo

// Если вы не используете другие символы, можно вывести просто значения переменных
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Некоторые предпочитают передачу нескольких аргументов вместо конкатенации
echo 'Эта ', 'строка ', 'была ', 'создана ', 'несколькими параметрами.', chr(10);
echo 'Эта ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.' . "\n";

echo <<<END
Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных $variable.
Заметьте, что закрывающий идентификатор должен
располагаться в отдельной строке. никаких пробелов!
END;

// Следующая строка неверна, так как echo не является функцией
($some_var) ? echo 'true' : echo 'false';

// Но это можно записать по другому
($some_var) ? print 'true' : print 'false'; // print также является конструкцией языка,
                                            // но ведет себя как функция, поэтому она
                                            // может быть использована в этом контексте.
echo $some_var ? 'true': 'false'; // echo вынесен за пределы выражения
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Смотрите также

  • print() - Выводит строку
  • printf() - Выводит отформатированную строку
  • flush() - Сброс буфера вывода
  • Heredoc синтаксис

crypt
explode
Обработка строк


Разбивает строку с помощью разделителя

echo
fprintf
Обработка строк
PHP Manual

explode

(PHP 4, PHP 5)

explode — Разбивает строку с помощью разделителя

Описание

array explode ( string $delimiter , string $string [, int $limit ] )

Возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя.

Список параметров

delimiter

Разделитель.

string

Входная строка.

limit

Если аргумент limit является положительным, возвращаемый массив будет содержать максимум limit элементов, при этом последний элемент будет содержать остаток строки string.

Если параметр limit отрицателен, то будут возвращены все компоненты кроме последних -limit.

Если limit равен нулю, то он расценивается как 1.

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, но для explode() это недопустимо. Убедитесь в том, что delimiter указан перед аргументом string.

Возвращаемые значения

Возвращает массив (array) строк (string), созданный делением параметра string по границам, указанным параметром delimiter.

Если delimiter является пустой строкой (""), explode() возвращает FALSE. Если delimiter не содержится в string, и используется отрицательный limit, то будет возвращен пустой массив (array), иначе будет возвращен массив, содержащий string.

Список изменений

Версия | Описание
5.1.0 | Добавлена поддержка отрицательных значений limit
4.0.1 | Добавлен параметр limit

Примеры

Пример #1 Пример использования explode()

<?php
// Пример 1
$pizza  = "кусок1 кусок2 кусок3 кусок4 кусок5 кусок6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // кусок1
echo $pieces[1]; // кусок2

// Пример 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Пример #2 Примеры с использованием параметра limit

<?php
$str = 'один|два|три|четыре';

// положительный лимит
print_r(explode('|', $str, 2));

// отрицательный лимит (начиная с PHP 5.1)
print_r(explode('|', $str, -1));
?>

Результат выполнения данного примера:

Array
(
    [0] => один
    [1] => два|три|четыре
)
Array
(
    [0] => один
    [1] => два
    [2] => три
)

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • str_split() - Преобразует строку в массив
  • mb_split() - Split multibyte string using regular expression
  • str_word_count() - Возвращает информацию о словах, входящих в строку
  • strtok() - Разбивает строку на токены
  • implode() - Объединяет элементы массива в строку

echo
fprintf
Обработка строк


Записывает отформатированную строку в поток

explode
get_html_translation_table
Обработка строк
PHP Manual

fprintf

(PHP 5)

fprintf — Записывает отформатированную строку в поток

Описание

int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )

Записывает строку, созданную с использованием строки формата format, в поток, дескриптор которого передается в параметре handle.

Список параметров

handle

Указатель (resource) на файл, обычно создаваемый с помощью функции fopen().

format

Описание параметра format смотрите в описании функции sprintf().

args

...

Возвращаемые значения

Возвращает длину записанной строки.

Примеры

Пример #1 fprintf(): заполнение нулями

<?php
if (!($fp = fopen('date.txt', 'w'))) {
    return;
}

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// запишет форматированную ISO дату в файл date.txt
?>

Пример #2 fprintf(): форматирование денежных величин

<?php
if (!($fp = fopen('currency.txt', 'w'))) {
    return;
}

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$len = fprintf($fp, '%01.2f', $money);
// строка "123.10" записана в файл currency.txt

echo "записано $len байт в файл currency.txt";
// используйте возвращаемое из fprintf значение для определения количества записанных байт
?>

Смотрите также

  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • vsprintf() - Возвращает отформатированную строку
  • number_format() - Форматирует число с разделением групп

explode
get_html_translation_table
Обработка строк


Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities

fprintf
hebrev
Обработка строк
PHP Manual

get_html_translation_table

(PHP 4, PHP 5)

get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities()

Описание

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $quote_style = ENT_COMPAT [, string $charset_hint ]]] )

get_html_translation_table() возвращает таблицу
преобразований, используемую функциями htmlspecialchars()
и htmlentities() с кодировкой по умолчанию.

Замечание:

Специальные символы могут быть закодированы разными способами. Например, " может быть закодирован как &quot;, &#34; или &#x22. get_html_translation_table() возвращает только формы, используемые функциями htmlspecialchars() и htmlentities().

Список параметров

table

Существуют две новые константы (HTML_ENTITIES, HTML_SPECIALCHARS), позволяющие указать нужную таблицу преобразований.

quote_style

Аналогично функциям htmlspecialchars() и htmlentities() можно задать необязательный аргумент quote_style. Описание режимов этого параметра см. в описании функции htmlspecialchars().

charset_hint

Аналогично функции htmlentities(), данная функция принимает необязательный третий параметр charset, определяющий используемую при преобразовании кодировку. В настоящий момент по умолчанию используется ISO-8859-1.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Поддерживаемые кодировки
Кодировка | Псевдонимы | Описание
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8 | 8-битная Unicode, совместимая с ASCII.
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. Поддерживается в версии 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. Поддерживается в версии 4.3.2.
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows.
KOI8-R | koi8-ru, koi8r | Русская кодировка. Поддерживается в версии 4.3.2.
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване.
GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге.
Shift_JIS | SJIS, 932 | Японская кодировка.
EUC-JP | EUCJP | Японская кодировка.
'' Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

Возвращаемые значения

Возвращает таблицу преобразований в виде массива.

Список изменений

Версия | Описание
5.3.4 | Добавлен параметр charset_hint.

Примеры

Пример #1 Пример таблицы преобразований

<?php
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Krämer";
$encoded = strtr($str, $trans);

echo $encoded;
?>

Результат выполнения данного примера:

Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer

Смотрите также

  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • html_entity_decode() - Преобразует все HTML-сущности в соответствующие символы

fprintf
hebrev
Обработка строк


Преобразует текст на иврите из логической кодировки в визуальную

get_html_translation_table
hebrevc
Обработка строк
PHP Manual

hebrev

(PHP 4, PHP 5)

hebrev — Преобразует текст на иврите из логической кодировки в визуальную

Описание

string hebrev ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Преобразует текст на иврите из логической кодировки в визуальную.

Эта функция пытается избежать разрывов слов.

Список параметров

hebrew_text

Входная строка на иврите.

max_chars_per_line

Этот необязательный параметр указывает максимально возвращаемое число символов на строку.

Возвращаемые значения

Возвращает строку в визуальной кодировке.

Смотрите также

  • hebrevc() - Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки

get_html_translation_table
hebrevc
Обработка строк


Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки

hebrev
hex2bin
Обработка строк
PHP Manual

hebrevc

(PHP 4, PHP 5)

hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки

Описание

string hebrevc ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Эта функция похожа на hebrev() с тем отличием, что что она преобразует символы перевода строки (\n) в "<br>\n".

Эта функция пытается избежать разрывов слов.

Список параметров

hebrew_text

Входная строка на иврите.

max_chars_per_line

Этот необязательный параметр указывает максимально возвращаемое число символов на строку.

Возвращаемые значения

Возвращает строку в визуальной кодировке.

Смотрите также

  • hebrev() - Преобразует текст на иврите из логической кодировки в визуальную

hebrev
hex2bin
Обработка строк


Converts the hex representation of data to binary

hebrevc
html_entity_decode
Обработка строк
PHP Manual

hex2bin

(Информация о версии неизвестна, возможно, только в SVN)

hex2bin — Converts the hex representation of data to binary

Описание

string hex2bin ( string $data )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

data

Hexadecimal representation of data.

Возвращаемые значения

Returns the binary representation of the given data.

Смотрите также

  • bin2hex() - Преобразует бинарные данные в шестнадцатиричное представление
  • unpack() - Распаковывает данные из бинарной строки

hebrevc
html_entity_decode
Обработка строк


Преобразует все HTML-сущности в соответствующие символы

hex2bin
htmlentities
Обработка строк
PHP Manual

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode — Преобразует все HTML-сущности в соответствующие символы

Описание

string html_entity_decode ( string $string [, int $quote_style = ENT_COMPAT [, string $charset = 'UTF-8' ]] )

html_entity_decode() является противоположностью функции htmlentities(), она преобразует все HTML-сущности в строке string в соответствующие символы.

Список параметров

string

Входная строка.

quote_style

Необязательный аргумент quote_style позволяет указать способ обработки 'одиночных' и "двойных" кавычек. Значением этого аргумента может быть одна из трех следующих констант:

Константы quote_style
Имя константы | Описание
ENT_COMPAT | Преобразуются двойные кавычки, одиночные остаются без изменений.
ENT_QUOTES | Преобразуются и двойные, и одиночные кавычки.
ENT_NOQUOTES | И двойные, и одиночные кавычки остаются без изменений.

charset

Определяет кодировку, используемую при преобразовании. Передача пустой строки включит автоматическое определение кодировки, основанное на значениях внутренней кодировки mbstring и текущей локали.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Поддерживаемые кодировки
Кодировка | Псевдонимы | Описание
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8 | 8-битная Unicode, совместимая с ASCII.
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. Поддерживается в версии 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. Поддерживается в версии 4.3.2.
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows.
KOI8-R | koi8-ru, koi8r | Русская кодировка. Поддерживается в версии 4.3.2.
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване.
GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге.
Shift_JIS | SJIS, 932 | Японская кодировка.
EUC-JP | EUCJP | Японская кодировка.
'' Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

Возвращаемые значения

Возвращает раскодированную строку.

Список изменений

Версия | Описание
5.4.0 | Кодировка по умолчанию сменилась с ISO-8859-1 на UTF-8.
5.0.0 | Добавлена поддержка многобайтных символов.

Примеры

Пример #1 Декодирование HTML-сущностей

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now

// в версиях до PHP 4.3.0 можно сделать так:
function unhtmlentities($string)
{
    // заменяет числовые сущности
    $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
    $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
    // заменяем буквенные сущности
    $trans_tbl = get_html_translation_table(HTML_ENTITIES);
    $trans_tbl = array_flip($trans_tbl);
    return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // I'll "walk" the <b>dog</b> now

?>

Примечания

Замечание:

Может показаться странным, что результатом вызова trim(html_entity_decode('&nbsp;')); не является пустая строка. Причина том, что '&nbsp;' преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim()),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.

Смотрите также

  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • get_html_translation_table() - Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • urldecode() - Декодирование URL-кодированной строки

hex2bin
htmlentities
Обработка строк


Преобразует все возможные символы в соответствующие HTML-сущности

html_entity_decode
htmlspecialchars_decode
Обработка строк
PHP Manual

htmlentities

(PHP 4, PHP 5)

htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности

Описание

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $charset [, bool $double_encode = true ]]] )

Эта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствющие HTML-сущности (для тех символов, для которых HTML сущности существуют).

Если же вы хотите раскодировать строку (наоборот), используйте html_entity_decode().

Список параметров

string

Входная строка.

flags

Битовая маска из нижеуказанных флагов, определяющих режим обработки кавычек, некорректных кодовых последовательностей и используемый тип документа. По умолчанию используется ENT_COMPAT | ENT_HTML401.

Доступные значения параметра flags
Название константы | Описание
ENT_COMPAT | Преобразует двойные кавычки, одинарные кавычки не изменяются.
ENT_QUOTES | Преобразует как двойные, так и одинарные кавычки.
ENT_NOQUOTES | Оставляет без изменения как двойные, так и одинарные кавычки.
ENT_IGNORE | Молча отбрасывает некорректные кодовые последовательности вместо возврата пустой строки. Добавлена в PHP 5.3.0. Данная возможность предоставляется в целях обратной совместимости, избегайте ее использования, т.к. она может внести уязвимости в ваш код.
ENT_SUBSTITUTE | Заменяет некорреткные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки, вместо возврата пустой строки.
ENT_DISALLOWED | Заменяет кодовые последовательности, несоответствующие указанному типу документа символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки.
ENT_HTML401 | Обработка кода в соответствии с HTML 4.01.
ENT_XML1 | Обработка кода в соответствии с XML 1.
ENT_XHTML | Обработка кода в соответствии с XHTML.
ENT_HTML5 | Обработка кода в соответствии с HTML 5.

charset

Подобно htmlspecialchars(), необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. По умолчанию, в настоящее время используется кодировка ISO-8859-1. Однако, наиболее вероятно это значение изменится в будущих версиях PHP; строго рекомендуется указывать кодировку вручную при использовании данной функции.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Поддерживаемые кодировки
Кодировка | Псевдонимы | Описание
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8 | 8-битная Unicode, совместимая с ASCII.
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. Поддерживается в версии 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. Поддерживается в версии 4.3.2.
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows.
KOI8-R | koi8-ru, koi8r | Русская кодировка. Поддерживается в версии 4.3.2.
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване.
GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге.
Shift_JIS | SJIS, 932 | Японская кодировка.
EUC-JP | EUCJP | Японская кодировка.
'' Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

double_encode

При выключении параметра double_encode PHP не будет преобразовывать существующие html-сущности. По умолчанию преобразуется все без ограничений.

Возвращаемые значения

Возвращает преобразованную строку.

Список изменений

Версия | Описание
5.4.0 | Добавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
5.3.0 | Добавлена константа ENT_IGNORE.
5.2.3 | Добавлен параметр double_encode.
4.1.0 | Добавлен параметр charset.
4.0.3 | Добавлен параметр flags.

Примеры

Пример #1 Пример использования htmlentities()

<?php
$str = "A 'quote' is <b>bold</b>";

// выводит: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// выводит: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Пример #2 Использование ENT_IGNORE

<?php
$str = "\x8F!!!";

// Выводит пустую строку
echo htmlentities($str, ENT_QUOTES, "UTF-8");

// Выводит "!!!"
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>

Смотрите также

  • html_entity_decode() - Преобразует все HTML-сущности в соответствующие символы
  • get_html_translation_table() - Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки
  • urlencode() - URL-кодирование строки

html_entity_decode
htmlspecialchars_decode
Обработка строк


Преобразует специальные HTML-сущности обратно в соответствующие символы

htmlentities
htmlspecialchars
Обработка строк
PHP Manual

htmlspecialchars_decode

(PHP 5 >= 5.1.0)

htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы

Описание

string htmlspecialchars_decode ( string $string [, int $quote_style = ENT_COMPAT ] )

Эта функция является антиподом htmlspecialchars(). Она преобразует специальные HTML-сущности обратно в соответствующие символы.

Конвертируемые сущности : &amp;, &quot; (когда ENT_NOQUOTES не установлена), &#039; (когда ENT_QUOTES установлена), &lt; и &gt;.

Список параметров

string

Строка, которую надо преобразовать

quote_style

Стиль кавычек. Может принимать значение одной из следующих констант:

Константы quote_style
Имя константы | Описание
ENT_COMPAT | Преобразует двойные кавычки и пропускает одинарные (по умолчанию)
ENT_QUOTES | Преобразует и двойные, и одинарные кавычки
ENT_NOQUOTES | Не преобразует ни двойные, ни одинарные кавычки

Возвращаемые значения

Возвращает преобразованную строку.

Примеры

Пример #1 Пример использования функции htmlspecialchars_decode()

<?php
$str = '<p>this -&gt; &quot;</p>';

echo htmlspecialchars_decode($str);

// обратите внимание, что в данном случае кавычки не будут преобразованы
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

Результат выполнения данного примера:

<p>this -> "</p>
<p>this -> &quot;</p>

Смотрите также

  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • html_entity_decode() - Преобразует все HTML-сущности в соответствующие символы
  • get_html_translation_table() - Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities

htmlentities
htmlspecialchars
Обработка строк


Преобразует специальные символы в HTML-сущности

htmlspecialchars_decode
implode
Обработка строк
PHP Manual

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars — Преобразует специальные символы в HTML-сущности

Описание

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $charset [, bool $double_encode = true ]]] )

В HTML некоторые символы имеют специальное значение и для сохранения своего значения должны быть преобразованы в HTML-сущности. Эта функция возвращает строку, над которой проведены некоторые из таких преобразований. Этих преобразований достаточно для большинства задач веб-программирования. Если вам нужно преобразовать все возможные сущности, используйте htmlentities().

Эта функция полезна при отображении данных, введенных пользователем, которые могут содержать нежелательные HTML тэги, например в форуме или гостевой книге.

Производятся следующие преобразования:

  • '&' (амперсанд) преобразуется в '&amp;'
  • '"' (двойная кавычка) преобразуется в '&quot;' в режиме ENT_NOQUOTES is not set.
  • "'" (одиночная кавычка) преобразуется в '&#039;' только в режиме ENT_QUOTES.
  • '<' (знак "меньше чем") преобразуется в '&lt;'
  • '>' (знак "больше чем") преобразуется в '&gt;'

Список параметров

string

Конвертируемая строка (string).

flags

Битовая маска из нижеуказанных флагов, определяющих режим обработки кавычек, некорректных кодовых последовательностей и используемый тип документа. По умолчанию используется ENT_COMPAT | ENT_HTML401.

Доступные значения параметра flags
Название константы | Описание
ENT_COMPAT | Преобразует двойные кавычки, одинарные кавычки не изменяются.
ENT_QUOTES | Преобразует как двойные, так и одинарные кавычки.
ENT_NOQUOTES | Оставляет без изменения как двойные, так и одинарные кавычки.
ENT_IGNORE | Молча отбрасывает некорректные кодовые последовательности вместо возврата пустой строки. Добавлена в PHP 5.3.0. Данная возможность предоставляется в целях обратной совместимости, избегайте ее использования, т.к. она может внести уязвимости в ваш код.
ENT_SUBSTITUTE | Заменяет некорреткные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки, вместо возврата пустой строки.
ENT_DISALLOWED | Заменяет кодовые последовательности, несоответствующие указанному типу документа символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки.
ENT_HTML401 | Обработка кода в соответствии с HTML 4.01.
ENT_XML1 | Обработка кода в соответствии с XML 1.
ENT_XHTML | Обработка кода в соответствии с XHTML.
ENT_HTML5 | Обработка кода в соответствии с HTML 5.

charset

Указывает кодировку, используемую для преобразования. Кодировкой по умолчанию является ISO-8859-1.

Для целей этой функции кодировки ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 и KOI8-R являются практически эквивалентными, предполагая то, что сама строка string содержит корректные символы в указанной кодировке, то символы, изменяемые htmlspecialchars(), останутся на тех же местах во всех этих кодировках.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Поддерживаемые кодировки
Кодировка | Псевдонимы | Описание
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8 | 8-битная Unicode, совместимая с ASCII.
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. Поддерживается в версии 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. Поддерживается в версии 4.3.2.
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows.
KOI8-R | koi8-ru, koi8r | Русская кодировка. Поддерживается в версии 4.3.2.
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване.
GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге.
Shift_JIS | SJIS, 932 | Японская кодировка.
EUC-JP | EUCJP | Японская кодировка.
'' Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

double_encode

Если параметр double_encode выключен, то PHP не будет преобразовывать существующие html-сущности, по умолчанию преобразуется все без ограничений.

Возвращаемые значения

Преобразованная строка (string).

Если входная строка string содержит неверную последовательность символов в указанной кодировке charset и флаг ENT_IGNORE не установлен, то htmlspecialchars() вернет пустую строку.

Список изменений

Версия | Описание
5.4.0 | Добавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
5.3.0 | Добавлена константа ENT_IGNORE.
5.2.3 | Добавлен параметр double_encode.
4.1.0 | Добавлен параметр charset.

Примеры

Пример #1 Пример использования htmlspecialchars()

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Примечания

Замечание:

Обратите внимание, что функция не производит других преобразований кроме описанных выше. Для преобразования всех HTML сущностей используйте htmlentities().

Смотрите также

  • get_html_translation_table() - Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • htmlspecialchars_decode() - Преобразует специальные HTML-сущности обратно в соответствующие символы
  • strip_tags() - Удаляет HTML и PHP-теги из строки
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки

htmlspecialchars_decode
implode
Обработка строк


Объединяет элементы массива в строку

htmlspecialchars
join
Обработка строк
PHP Manual

implode

(PHP 4, PHP 5)

implode — Объединяет элементы массива в строку

Описание

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

Объединяет элменты массива с помощью строки glue.

Замечание:

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, однако для унификации с функцией explode() следует использовать документированный порядок аргументов.

Список параметров

glue

По умолчанию равен пустой строке. Это не является предпочтительным вариантом использования implode(), т.к. glue в таком случае будет вторым параметром, а это значит, что используется нежелательный прототип.

pieces

Массив объединяемых строк.

Возвращаемые значения

Возвращает строку, содержащую строкое представление всех элементов массива в указанном порядке, со строкой glue между каждым элементом.

Список изменений

Версия | Описание
4.3.0 | Параметр glue стал необязательным

Примеры

Пример #1 Пример использования implode()

<?php

$array = array('имя', 'почта', 'телефон');
$comma_separated = implode(",", $array);

echo $comma_separated; // имя,почта,телефон

// Пустая строка при использовании пустого массива:
var_dump(implode('hello', array())); // string(0) ""

?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • explode() - Разбивает строку с помощью разделителя
  • preg_split() - Разбивает строку по регулярному выражению

htmlspecialchars
join
Обработка строк


Псевдоним implode

implode
lcfirst
Обработка строк
PHP Manual

join

(PHP 4, PHP 5)

join — Псевдоним implode()

Описание

Эта функция является псевдонимом: implode().

implode
lcfirst
Обработка строк


Преобразует первый символ строки в нижний регистр

join
levenshtein
Обработка строк
PHP Manual

lcfirst

(PHP 5 >= 5.3.0)

lcfirst — Преобразует первый символ строки в нижний регистр

Описание

string lcfirst ( string $str )

Возвращает строку str, первый символ которой был преобразован в нижний регистр, если этот символ является буквой.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C", символ ä не будет преобразован.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает результирующую строку.

Примеры

Пример #1 Пример использования lcfirst()

<?php
$foo = 'HelloWorld';
$foo = lcfirst($foo);             // helloWorld

$bar = 'HELLO WORLD!';
$bar = lcfirst($bar);             // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
?>

Смотрите также

  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • strtolower() - Преобразует строку в нижний регистр
  • strtoupper() - Преобразует строку в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке

join
levenshtein
Обработка строк


Вычисляет расстояние Левенштейна между двумя строками

lcfirst
localeconv
Обработка строк
PHP Manual

levenshtein

(PHP 4 >= 4.0.1, PHP 5)

levenshtein — Вычисляет расстояние Левенштейна между двумя строками

Описание

int levenshtein ( string $str1 , string $str2 )
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )

Расстояние Левенштейна - это минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2. Сложность алгоритма равна O(m*n), где n и m - длины строк str1 и str2 (неплохо по сравнению с similar_text(), имеющей сложность O(max(n,m)**3), но все же довольно много).

В простейшей форме функция принимает в качестве аргументов две строки и возвращает минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2.

Второй вариант принимает три дополнительных аргумента, задающих стоимость операций вставки, замены и удаления. Этот вариант универсальнее первого, но не так эффективен.

Список параметров

str1

Одна из строк, для которых вычисляется расстояние Левенштейна.

str2

Одна из строк, для которых вычисляется расстояние Левенштейна.

cost_ins

Определяет стоимость вставки.

cost_rep

Определяет стоимость замены.

cost_del

Определяет стоимость удаления.

Возвращаемые значения

Эта функция возвращает расстояние Левенштейна между двумя строками, или -1, если хотя бы одна из строк длиннее 255 символов.

Примеры

Пример #1 Пример использования levenshtein()

<?php
// введенное слово с опечаткой
$input = 'carrrot';

// массив сверяемых слов
$words  = array('apple','pineapple','banana','orange',
                'radish','carrot','pea','bean','potato');

// кратчайшее расстояние пока еще не найдено
$shortest = -1;

// проходим по словам для нахождения самого близкого варианта
foreach ($words as $word) {

    // вычисляем расстояние между входным словом и текущим
    $lev = levenshtein($input, $word);

    // проверяем полное совпадение
    if ($lev == 0) {

        // это ближайшее слово (точное совпадение)
        $closest = $word;
        $shortest = 0;

        // выходим из цикла - мы нашли точное совпадение
        break;
    }

    // если это расстояние меньше следующего наименьшего расстояния
    // ИЛИ если следующее самое короткое слово еще не было найдено
    if ($lev <= $shortest || $shortest < 0) {
        // set the closest match, and shortest distance
        $closest  = $word;
        $shortest = $lev;
    }
}

echo "Вы ввели: $input\n";
if ($shortest == 0) {
    echo "Найдено точное совпадение: $closest\n";
} else {
    echo "Вы не имели в виду: $closest?\n";
}

?>

Результат выполнения данного примера:

Вы ввели: carrrot
Вы не имели в виду: carrot?

Смотрите также

  • soundex() - Возвращает ключ soundex для строки
  • similar_text() - Вычисляет степень похожести двух строк
  • metaphone() - Возвращает ключ metaphone для строки

lcfirst
localeconv
Обработка строк


Возвращает информацию о числовых форматах

levenshtein
ltrim
Обработка строк
PHP Manual

localeconv

(PHP 4 >= 4.0.5, PHP 5)

localeconv — Возвращает информацию о числовых форматах

Описание

array localeconv ( void )

Возвращает ассоциативный массив с информацией о числовых и денежных форматах в текущей локали.

Возвращаемые значения

localeconv() возвращает данные, основанные на текущей локали, установленной функцией setlocale(). Возвращаемый массив содержит следующие элементы:

Элемент | Описание
decimal_point | Символ десятичной точки
thousands_sep | Разделитель групп
grouping | Массив, содержащий количества цифр в группах для числовых данных
int_curr_symbol | Международное обозначение валюты (например, RUB)
currency_symbol | Национальное обозначение валюты (например, руб)
mon_decimal_point | Символ десятичной точки в денежном формате
mon_thousands_sep | Разделитель групп в денежном формате
mon_grouping | Массив, содержащий количества цифр в группах для денежных данных
positive_sign | Знак для положительных чисел
negative_sign | Знак для отрицательных чисел
int_frac_digits | Число разрядов после точки (международное)
frac_digits | Число разрядов после точки (национальное)
p_cs_precedes | TRUE, если currency_symbol записывается перед положительным значением, иначе FALSE
p_sep_by_space | TRUE, если currency_symbol отделяется от положительного значения пробелом, иначе FALSE
n_cs_precedes | TRUE, если currency_symbol записывается перед отрицательным значением, иначе FALSE
n_sep_by_space | TRUE, если currency_symbol отделяется от отрицательного значения пробелом, иначе FALSE
p_sign_posn Для положительных чисел:
  • 0 - Число и обозначение валюты заключаются в скобки
  • 1 - Знак записывается перед числом и обозначением валюты
  • 2 - Знак записывается после числа и обозначения валюты
  • 3 - Знак записывается перед обозначением валюты
  • 4 - Знак записывается после обозначения валюты
n_sign_posn Для отрицательных чисел:
  • 0 - Число и обозначение валюты заключаются в скобки
  • 1 - Знак записывается перед числом и обозначением валюты
  • 2 - Знак записывается после числа и обозначения валюты
  • 3 - Знак записывается перед обозначением валюты
  • 4 - Знак записывается после обозначения валюты

p_sign_posn и n_sign_posn содержат строку с опциями форматирования. Каждое число представляет собой одно из вышеперечисленных условий.

Элементы группировки содержат массивы, которые описывают способ группировки цифр. Например, поле группировки денежных величин в локали nl_NL (в режиме UTF-8 со знаком евро) содержит массив из двух элементов со значениями 3 и 3. Больший индекс массива соответствует группировке цифр, расположенных левее. Если элемент массива равен CHAR_MAX, последующие цифры не группируются. Если элемент массива равен 0, используется значение предыдущего элемента.

Примеры

Пример #1 Пример использования localeconv()

<?php
if (false !== setlocale(LC_ALL, 'ru_RU.UTF-8')) {
    $locale_info = localeconv();
    print_r($locale_info);
}
?>

Результат выполнения данного примера:

Array
(
    [decimal_point] => ,
    [thousands_sep] =>
    [int_curr_symbol] => RUB
    [currency_symbol] => руб
    [mon_decimal_point] => .
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 0
    [p_sep_by_space] => 1
    [n_cs_precedes] => 0
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 1
    [grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Смотрите также

  • setlocale() - Устанавливает настройки локали

levenshtein
ltrim
Обработка строк


Удаляет пробелы (или другие символы) из начала строки

localeconv
md5_file
Обработка строк
PHP Manual

ltrim

(PHP 4, PHP 5)

ltrim — Удаляет пробелы (или другие символы) из начала строки

Описание

string ltrim ( string $str [, string $charlist ] )

Удаляет пробелы (или другие символы) из начала строки.

Список параметров

str

Входная строка.

charlist

С помощью параметра charlist можно также указать удаляемые символы. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Эта функция возвращает строку str с удаленными из начала строки пробелами. Если второй параметр не передан, ltrim() удаляет следующие символы:

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Список изменений

Версия | Описание
4.1.0 | Добавлен параметр charlist.

Примеры

Пример #1 Пример использования ltrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// удаляем управляющие ASCII-символы с начала $binary
// (от 0 до 31 включительно)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

Результат выполнения данного примера:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

Смотрите также

  • trim() - Удаляет пробелы (или другие символы) из начала и конца строки
  • rtrim() - Удаляет пробелы (или другие символы) из конца строки

localeconv
md5_file
Обработка строк


Возвращает MD5-хэш файла

ltrim
md5
Обработка строк
PHP Manual

md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file — Возвращает MD5-хэш файла

Описание

string md5_file ( string $filename [, bool $raw_output = false ] )

Вычисляет MD5-хэш файла, имя которого задано аргументом filename, используя » алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш. Хэш представляет собой 32-значное шестнадцатеричное число.

Список параметров

filename

Имя файла

raw_output

Если имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Возвращаемые значения

Возвращает строку в случае успеха, иначе FALSE.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр raw_output
5.1.0 | Функция изменена для работы с потоковым API. Это означает, что ее можно использовать с обертками, например, так: md5_file('http://example.com/..')

Примеры

Пример #1 Пример использования md5_file()

<?php
$file = 'php-5.3.0alpha2-Win32-VC9-x64.zip';

echo 'MD5-хэш файла ' . $file . ': ' . md5_file($file);
?>

Смотрите также

  • md5() - Возвращает MD5-хэш строки
  • sha1_file() - Возвращает SHA1-хэш файла
  • crc32() - Вычисляет полином CRC32 для строки

ltrim
md5
Обработка строк


Возвращает MD5-хэш строки

md5_file
metaphone
Обработка строк
PHP Manual

md5

(PHP 4, PHP 5)

md5 — Возвращает MD5-хэш строки

Описание

string md5 ( string $str [, bool $raw_output = false ] )

Вычисляет MD5-хэш строки str используя » алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш.

Список параметров

str

Строка.

raw_output

Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Возвращаемые значения

Возвращает хэш в виде 32-символьного шестнадцатеричного числа.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр raw_output.

Примеры

Пример #1 Пример использования md5()

<?php
$str = 'яблоко';

if (md5($str) === '1afa148eb41f2e7103f21410bf48346c') {
    echo "Вам зеленое или красное яблоко?";
}
?>

Примечания

Замечание: Безопасное хэширование паролей

В связи с быстрой природой хэширующего алгоритма не рекомендуется использовать эту функцию для обеспечения безопасности паролей. Подробнее об этом можно прочитать здесь.

Смотрите также

  • md5_file() - Возвращает MD5-хэш файла
  • sha1_file() - Возвращает SHA1-хэш файла
  • crc32() - Вычисляет полином CRC32 для строки
  • sha1() - Возвращает SHA1-хэш строки
  • hash() - Генерирует хеш-код (дайджест сообщения)

md5_file
metaphone
Обработка строк


Возвращает ключ metaphone для строки

md5
money_format
Обработка строк
PHP Manual

metaphone

(PHP 4, PHP 5)

metaphone — Возвращает ключ metaphone для строки

Описание

string metaphone ( string $str [, int $phonemes = 0 ] )

Возвращает ключ metaphone для строки str.

Подобно функции soundex(), metaphone возвращает одинаковое значение для слов, имеющих сходное произношение. Эта функция более точна, чем soundex(), так как учитывает основные правила произношения английского языка. Длина возвращаемой строки не фиксирована.

Функция metaphone была написана Lawrence Philips <lphilips at verity dot com> и описана в книге ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

Список параметров

str

Входная строка.

phonemes

Этот параметр выставляет ограничение в phonemes символов на длину возвращаемого ключа metaphone. Значение по умолчанию 0 означает отсутствие ограничений.

Возвращаемые значения

Возвращает ключ metaphone в виде строки, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой пример использования metaphone()

<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

Результатом выполнения данного примера будет что-то подобное:

string(7) "PRKRMNK"
string(6) "PRKRMR"

Пример #2 Использование параметра phonemes

<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>

Результатом выполнения данного примера будет что-то подобное:

string(5) "PRKRM"
string(5) "PRKRM"

md5
money_format
Обработка строк


Форматирует число как денежную величину

metaphone
nl_langinfo
Обработка строк
PHP Manual

money_format

(PHP 4 >= 4.3.0, PHP 5)

money_format — Форматирует число как денежную величину

Описание

string money_format ( string $format , float $number )

money_format() форматирует число number как денежную величину. Эта функция вызывает функцию strfmon() языка C, но позволяет преобразовать только одно число за один вызов.

Список параметров

format

Описание формата состоит из:

  • символа %

  • необязательных флагов

  • необязательной ширины поля

  • необязательной точности до запятой

  • необязательной точности после запятой

  • обязательного описателя преобразования

Флаги

Могут быть использованы следующие флаги:

=f

Символ =, за которым следует еще один символ f, задает символ заполнения. По умолчанию пробел.

^

Отключает группировку символов (определяемую текущей локалью).

+ или (

Задает способ форматирования положительных и отрицательных значений. При использовании + будут использоваться аналоги символов + и - из текущей локали. Если указана (, отрицательные числа будут заключены в скобки. По умолчанию +.

!

Подавляет вывод символа валюты.

-

Если этот флаг задан, поля будут выравнены влево (с отбивкой вправо), вместо используемого по умолчанию выравнивания вправо (с отбивкой влево).

Ширина поля

w

Строка из десятичных цифр, задающая минимальную ширину поля. Поле будет выравнено вправо, если не указан флаг -. Значение по умолчанию - 0 (ноль).

Точность до запятой

#n

Максимальное количество цифр (n), которое ожидается до запятой. Это обычно используется при выводе значений одно под другим, чтобы десятичные точки располагались в одной колонке, при этом используется символ заполнения, если число цифр меньше n. Если число цифр больше n, этот параметр игнорируется.

Если группировка не была отключена флагом ^, разделители групп будут вставлены перед добавлением символов заполнения. Разделители групп не вставляются между символами заполнения, даже если заполнитель - цифра.

Для обеспечения выравнивания, все символы, выводимые до или после числа, такие как сивол валюты или знак, будут дополнены пробелами до одинаковой ширины.

Точность после запятой

.p

Точка, за которой следует число знаков (p), выводимых после запятой. Если значение p равно нулю, десятичная точка и цифры после нее не будут выводиться. Если этот параметр отсутствует, число знаков после запятой определяется текущей локалью. Перед форматированием число округляется до указанного количества знаков.

Описатель преобразования

i

Используется международный денежный формат из текущей локали (например, для американской локали: USD 1,234.56).

n

Используется национальный денежный формат из текущей локали (например, для локали de_DE: EU1.234,56).

%

Вставляет символ %.

number

Форматируемое число.

Возвращаемые значения

Возвращает отформатированную строку. Символы перед и после описания формата возвращаются без изменений. Если number не является числом, то будет возвращен NULL и вызвана ошибка уровня E_WARNING.

Примечания

Замечание:

Функция money_format() определена только если в системе присутствует функция strfmon. Например, в Windows она отсутствует, поэтому money_format() не определена в Windows.

Замечание:

На работу этой функции влияет установка категории LC_MONETARY текущей локали. Перед использованием этой функции установите нужную локаль с помощью setlocale().

Примеры

Пример #1 Пример использования money_format()

Проиллюстрируем применение этой функции для различных локалей и разных описаний формата.

<?php

$number = 1234.56;

// международный формат в локали en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Итальянский национальный формат с 2 знаками после запятой
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56

// Использование отрицательных чисел
$number = -1234.5672;

// национальный формат США, с использованием скобок для
// отрицательных чисел и 10 знаков до запятой
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// подобно предыдущему, но с добавлением 2 знаков после запятой
// и '*' в качестве символа заполнения
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Выравнивание влево, ширина 14 знаков, 8 знаков до запятой,
// 2 знака после запятой, без разбиения на группы
// с использованием  международного формата в локали de_DE.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****

// А теперь добавим текст перед и после описанием формата
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'Итоговая сумма: %i (после 10%% скидки)';
echo money_format($fmt, 1234.56) . "\n";
// Итоговая сумма:  GBP 1,234.56 (после 10% скидки)

?>

Смотрите также

  • setlocale() - Устанавливает настройки локали
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • sprintf() - Возвращает отформатированную строку
  • printf() - Выводит отформатированную строку
  • number_format() - Форматирует число с разделением групп

metaphone
nl_langinfo
Обработка строк


Возвращает информацию о языке и локали

money_format
nl2br
Обработка строк
PHP Manual

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5)

nl_langinfo — Возвращает информацию о языке и локали

Описание

string nl_langinfo ( int $item )

nl_langinfo() используется для доступа к отдельным элементам различных категорий текущей локали. В отличии от localeconv(), возвращающей все элементы, nl_langinfo() позволяет выбрать отдельный элемент.

Список параметров

item

item может быть целым числом или соответствующей константой. Ниже приведены возможные константы для item и их описания. Для некоторых локалей отдельные константы могут быть неопределены.

Константы nl_langinfo
Константа | Описание
Константы в категории LC_TIME
ABDAY_(1-7) | Сокращенное название n-го дня недели.
DAY_(1-7) | Полное название n-го дня недели (DAY_1 соответствует воскресенью).
ABMON_(1-12) | Сокращенное название n-го месяца.
MON_(1-12) | Полное название n-го месяца.
AM_STR | Обозначение "до полудня".
PM_STR | Обозначение "после полудня".
D_T_FMT | Строка, которую можно использовать в качестве формата с функцией strftime() для вывода даты и времени.
D_FMT | Строка, которую можно использовать в качестве формата с функцией strftime() для вывода даты.
T_FMT | Строка, которую можно использовать в качестве формата с функцией strftime() для вывода времени.
T_FMT_AMPM | Строка, которую можно использовать в качестве формата с функцией strftime() для вывода времени в 12-часовом формате.
ERA | Эра
ERA_YEAR | Год в формате с эрой
ERA_D_T_FMT | Дата и время в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_D_FMT | Дата в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_T_FMT | Время в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
Константы в категории LC_MONETARY
INT_CURR_SYMBOL | Международное обозначение валюты.
CURRENCY_SYMBOL | Национальное обозначение валюты.
CRNCYSTR | Аналог CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Символ десятичной точки.
MON_THOUSANDS_SEP | Разделитель тысяч (групп из 3 цифр).
MON_GROUPING | Аналогичен элементу "grouping".
POSITIVE_SIGN | Знак для положительных чисел.
NEGATIVE_SIGN | Знак для отрицательных чисел.
INT_FRAC_DIGITS | Количество знаков после запятой (международный формат).
FRAC_DIGITS | Количество знаков после запятой (национальный формат).
P_CS_PRECEDES | Возвращает 1, если CURRENCY_SYMBOL записывется перед положительным значением.
P_SEP_BY_SPACE | Возвращает 1, если CURRENCY_SYMBOL отделяется от положительного значения пробелом.
N_CS_PRECEDES | Возвращает 1, если CURRENCY_SYMBOL записывется перед отрицательным значением.
N_SEP_BY_SPACE | Возвращает 1, если CURRENCY_SYMBOL отделяется от отрицательного значения пробелом.
P_SIGN_POSN
  • Возвращает 0, если число и обозначение валюты CURRENCY_SYMBOL заключаются в скобки
  • Возвращает 1, если знак записывается перед числом и обозначением валюты CURRENCY_SYMBOL
  • Возвращает 2, если знак записывается после числа и обозначения валюты CURRENCY_SYMBOL
  • Возвращает 3, если знак записывается перед обозначением валюты CURRENCY_SYMBOL
  • Возвращает 4, если знак записывается после обозначения валюты CURRENCY_SYMBOL
N_SIGN_POSN
Константы в категории LC_NUMERIC
DECIMAL_POINT | Символ десятичной точки.
RADIXCHAR | Аналогично DECIMAL_POINT.
THOUSANDS_SEP | Разделитель тысяч (групп из 3 цифр).
THOUSEP | Аналогично THOUSANDS_SEP.
GROUPING
Константы в категории LC_MESSAGES
YESEXPR | Регулярное выражение, при совпадении с которым строка рассматривается как положительный ответ ("yes").
NOEXPR | Регулярное выражение, при совпадении с которым строка рассматривается как отрицательный ответ ("no").
YESSTR | Слово "да" ("yes").
NOSTR | Слово "нет" ("no").
Константы в категории LC_CTYPE
CODESET | Возвращает строку с именем текущей кодировки.

Возвращаемые значения

Возвращает элемент в виде строки, или FALSE если item передан неправильно.

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

Смотрите также

  • setlocale() - Устанавливает настройки локали
  • localeconv() - Возвращает информацию о числовых форматах

money_format
nl2br
Обработка строк


Вставляет HTML-код разрыва строки перед каждым переводом строки

nl_langinfo
number_format
Обработка строк
PHP Manual

nl2br

(PHP 4, PHP 5)

nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки

Описание

string nl2br ( string $string [, bool $is_xhtml = true ] )

Возвращает строку string, в которой перед каждым переводом строки (\r\n, \n\r, \n и \r) вставлен '<br />' или '<br>'.

Список параметров

string

Входная строка.

is_xhtml

Использовать совместимые с XHTML переводы строк или нет.

Возвращаемые значения

Возвращает измененную строку.

Примеры

Пример #1 Пример использования nl2br()

<?php
echo nl2br("foo - это вам не\n bar");
?>

Результат выполнения данного примера:

foo - это вам не<br />
 bar

Пример #2 Генерирование корректной HTML-верстки с помощью параметра is_xhtml

<?php
echo nl2br("Привет!\r\nЭтой мой HTML-документ", false);
?>

Результат выполнения данного примера:

Привет!<br>
Этой мой HTML-документ

Пример #3 Различные разделители строк

<?php
$string = "This\r\nis\n\ra\nstring\r";
echo nl2br($string);
?>

Результат выполнения данного примера:

This<br />
is<br />
a<br />
string<br />

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный параметр is_xhtml.
4.0.5 | nl2br() теперь совместима с XHTML. Все старые версии возвращали string, в которой перед переводами строк были вставлены '<br>' вместо '<br />'.

Смотрите также

  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • wordwrap() - Переносит строку по указанному количеству символов
  • str_replace() - Заменяет все вхождения строки поиска на строку замены

nl_langinfo
number_format
Обработка строк


Форматирует число с разделением групп

nl2br
ord
Обработка строк
PHP Manual

number_format

(PHP 4, PHP 5)

number_format — Форматирует число с разделением групп

Описание

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

Функция принимает один, два или четыре аргумента (не три):

Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой (",") между каждыми тремя цифрами.

Если переданы два аргумента, number будет отформатирован с decimals знаками после точки (".") и с запятой (",") между каждыми тремя цифрами.

Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделителем между между каждыми тремя цифрами, при этом в качестве десятичной точки будет использован dec_point, а в качестве разделителя групп - thousands_sep.

Возвращаемые значения

Возвращается отформатированное число number.

Список параметров

number

Форматируемое число.

decimals

Устанавливает число знаков после запятой.

dec_point

Устанавливает разделитель дробной части.

thousands_sep

Устанавливает разделитель тысяч.

Список изменений

Версия | Описание
5.4.0 | Функция поддерживает многобайтную строку в качестве параметров dec_point и thousands_sep. В предыдущих версиях в качестве разделителя использовался только первый байт из каждого параметра.

Примеры

Пример #1 Пример использования number_format()

Во Франции обычно используются 2 знака после запятой (','), и пробел (' ') в качестве разделителя групп. Такое форматирование получается при использовании следующего кода:

<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,235

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Смотрите также

  • money_format() - Форматирует число как денежную величину
  • sprintf() - Возвращает отформатированную строку
  • printf() - Выводит отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом

nl2br
ord
Обработка строк


Возвращает ASCII-код символа

number_format
parse_str
Обработка строк
PHP Manual

ord

(PHP 4, PHP 5)

ord — Возвращает ASCII-код символа

Описание

int ord ( string $string )

Возвращает ASCII-код первого символа строки string.

Эта функция дополняет функцию chr().

Список параметров

string

Символ.

Возвращаемые значения

Возвращает ASCII-код в виде целого числа.

Примеры

Пример #1 Пример использования ord()

<?php
$str = "\n";
if (ord($str) == 10) {
    echo "Первый символ \$str - перевод строки.\n";
}
?>

Смотрите также

  • chr() - Возвращает символ по его коду
  • » Таблица ASCII-кодов

number_format
parse_str
Обработка строк


Разбирает строку в переменные

ord
print
Обработка строк
PHP Manual

parse_str

(PHP 4, PHP 5)

parse_str — Разбирает строку в переменные

Описание

void parse_str ( string $str [, array &$arr ] )

Разбирает строку str, которая должна иметь формат строки запроса URL и присваивает значения переменным в текущем контексте.

Замечание:

Для получения текущей QUERY_STRING, можно использовать переменную $_SERVER['QUERY_STRING']. Кроме того, возможно вы захотите прочесть раздел о переменных вне PHP.

Замечание:

Опция magic_quotes_gpc влияет на вывод этой функции, так как parse_str() использует тот же механизм, что используется в PHP для заполнения $_GET, $_POST и других переменных.

Список параметров

str

Входная строка.

arr

Если указан второй параметр arr, то вместо присвоения переменных в текущем контексте они будут сохранены в этом параметре в качестве элементов массива.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.0.3 | Добавлен параметр arr

Примеры

Пример #1 Использование parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Смотрите также

  • parse_url() - Разбирает URL и возвращает его компоненты
  • pathinfo() - Возвращает информацию о пути к файлу
  • http_build_query() - Генерирует URL-кодированную строку запроса
  • get_magic_quotes_gpc() - Gets the current configuration setting of magic_quotes_gpc
  • urldecode() - Декодирование URL-кодированной строки

ord
print
Обработка строк


Выводит строку

parse_str
printf
Обработка строк
PHP Manual

print

(PHP 4, PHP 5)

print — Выводит строку

Описание

int print ( string $arg )

Выводит arg.

print() не является "настоящей" функцией (это конструкция языка), поэтому заключать аргументы в скобки необязательно.

Список параметров

arg

Вводимые данные.

Возвращаемые значения

Возвращает 1, всегда.

Примеры

Пример #1 Примеры использования print()

<?php
print("Привет мир!");

print "print() можно использовать и без скобок.";

print "Это займет
несколько строк. Переводы строки тоже
выводятся";

print "Это займет\nнесколько строк. Переводы строки тоже\nвыводятся";

print "Экранирование символов делается \"Так\".";

// с print можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

print "foo - это $foo"; // foo - это foobar

// ... и массивы
$bar = array("value" => "foo");

print "это {$bar['value']} !"; // это foo !

// При использовании одиночных кавычек выводится имя переменной, а не значение
print 'foo - это $foo'; // foo - это $foo

// Если вы не используете другие символы, можно вывести просто значения переменных
print $foo;          // foobar

print <<<END
Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных $variable.
Заметьте, что закрывающий идентификатор должен
располагаться в отдельной строке, никаких пробелов!
END;
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Смотрите также

  • echo() - Выводит одну или более строк
  • printf() - Выводит отформатированную строку
  • flush() - Сброс буфера вывода
  • Heredoc синтаксис

parse_str
printf
Обработка строк


Выводит отформатированную строку

print
quoted_printable_decode
Обработка строк
PHP Manual

printf

(PHP 4, PHP 5)

printf — Выводит отформатированную строку

Описание

int printf ( string $format [, mixed $args [, mixed $... ]] )

Выводит строку, отформатированную в соответствии с аргументом format.

Список параметров

format

Описание параметра format смотрите в описании функции sprintf().

args

...

Возвращаемые значения

Возвращает длину выведенной строки.

Смотрите также

  • print() - Выводит строку
  • sprintf() - Возвращает отформатированную строку
  • vprintf() - Выводит отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • flush() - Сброс буфера вывода

print
quoted_printable_decode
Обработка строк


Преобразует строку, закодированную методом quoted-printable в 8-битовую строку

printf
quoted_printable_encode
Обработка строк
PHP Manual

quoted_printable_decode

(PHP 4, PHP 5)

quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битовую строку

Описание

string quoted_printable_decode ( string $str )

Эта функция возращает 8-битную бинарную строку, соответствующую указанной строке в кодировке quoted-printable (в соответствии с разделом 6.7 » RFC2045, а не разделом 4.5.2 » RFC2821, т.е. дополнительные точки не будут вырезаны из начала строки).

Эта функция подобна функции imap_qprint(), но не требует для своей работы модуля IMAP.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает 8-битную бинарную строку.

Смотрите также

  • quoted_printable_encode() - Кодирует 8-битную строку в с помощью метода quoted-printable

printf
quoted_printable_encode
Обработка строк


Кодирует 8-битную строку в с помощью метода quoted-printable

quoted_printable_decode
quotemeta
Обработка строк
PHP Manual

quoted_printable_encode

(PHP 5 >= 5.3.0)

quoted_printable_encode — Кодирует 8-битную строку в с помощью метода quoted-printable

Описание

string quoted_printable_encode ( string $str )

Возвращает строку, закодированную в формат quoted-printable в соответствии с разделом 6.7 » RFC2045.

Эта функция подобна функции imap_8bit(), за исключением того что не требует для своей работы модуля IMAP.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает закодированную строку.

Смотрите также

  • quoted_printable_decode() - Преобразует строку, закодированную методом quoted-printable в 8-битовую строку
  • iconv_mime_encode() - Composes a MIME header field

quoted_printable_decode
quotemeta
Обработка строк


Экранирует специальные символы

quoted_printable_encode
rtrim
Обработка строк
PHP Manual

quotemeta

(PHP 4, PHP 5)

quotemeta — Экранирует специальные символы

Описание

string quotemeta ( string $str )

Возвращает модифицированную строку, в которой перед каждым символом из следующего списка:

. \ + * ? [ ^ ] ( $ )
вставлен обратный слэш (\).

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает экранированную строку, или FALSE, если в качестве параметра str была указана пустая строка.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • addslashes() - Экранирует строку с помощью слэшей
  • addcslashes() - Экранирует cтроку слэшами в стиле языка C
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности
  • nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки
  • stripslashes() - Удаляет экранирование символов
  • stripcslashes() - Удаляет экранирование символов, произведенное функцией addcslashes
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_quote() - Экранирует символы в регулярных выражениях

quoted_printable_encode
rtrim
Обработка строк


Удаляет пробелы (или другие символы) из конца строки

quotemeta
setlocale
Обработка строк
PHP Manual

rtrim

(PHP 4, PHP 5)

rtrim — Удаляет пробелы (или другие символы) из конца строки

Описание

string rtrim ( string $str [, string $charlist ] )

Эта функция возвращает строку str с удаленными из конца строки пробелами.

Если второй параметр не передан, rtrim() удаляет следующие символы:

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Список параметров

str

Входная строка.

charlist

С помощью параметра charlist можно также указать удаляемые символы. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Возвращает модифицированную строку.

Список изменений

Версия | Описание
4.1.0 | Добавлен параметр charlist.

Примеры

Пример #1 Пример использования rtrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = rtrim($text);
var_dump($trimmed);

$trimmed = rtrim($text, " \t.");
var_dump($trimmed);

$trimmed = rtrim($hello, "Hdle");
var_dump($trimmed);

// удаляем управляющие ASCII-символы с конца $binary
// (от 0 до 31 включительно)
$clean = rtrim($binary, "\x00..\x1F");
var_dump($clean);

?>

Результат выполнения данного примера:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "        These are a few words :) ..."
string(26) "        These are a few words :)"
string(9) "Hello Wor"
string(15) "    Example string"

Смотрите также

  • trim() - Удаляет пробелы (или другие символы) из начала и конца строки
  • ltrim() - Удаляет пробелы (или другие символы) из начала строки

quotemeta
setlocale
Обработка строк


Устанавливает настройки локали

rtrim
sha1_file
Обработка строк
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocale — Устанавливает настройки локали

Описание

string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale )

Устанавливает настройки локали.

Список параметров

category

Параметр category это именованная константа, определяющая категорию функций, на которые будет влиять установка локали:

  • LC_ALL - все нижеперечисленное
  • LC_COLLATE - функции сравнения строк, смотри strcoll()
  • LC_CTYPE - функции преобразования и классификации строк, например strtoupper()
  • LC_MONETARY - для функции localeconv()
  • LC_NUMERIC - задает символ десятичного разделения (см. также localeconv())
  • LC_TIME - форматирование даты/времени функцией strftime()
  • LC_MESSAGES для системынх сообщений (доступна если PHP был скомпилирован с поддержкой libintl)

locale

Если в качестве locale передана пустая строка "" или NULL, имена локалей будут взяты из одноименных переменных окружения или переменной с именем "LANG".

Если в качестве locale передан NULL или "0", локаль изменена не будет, а будет возвращено текущее значение.

Если в качестве locale передан массив, или после этого аргумента следуют дополнительные аргументы, функция будет использовать элементы массива или аргументы по порядку в качестве имен локали до тех пор, пока установка локали не будет успешной. Это удобно, если одна и та же локаль имеет разное имя в различных системах, или для создания запасного варианта при отсутствии какой-либо локали в системе.

...

(Необязательные аргументы в виде строк или массивов для установки настроек локали до первой успешной попытки.)

Замечание:

На Windows, setlocale(LC_ALL, '') устанавливает имена локалей из системных региональных/языковых настроек (доступных через Панель Управления).

Возвращаемые значения

Возвращает имя вновь установленной локали или FALSE если система не поддерживает установку локали, указанная локаль не существует или передано недопустимое имя категории.

Недопустимое имя категории также вызывает предупредение. Имена локалей и категорий описаны в » RFC 1766 и » ISO 639. Разные системы имеют различных схемы именования локалей.

Замечание:

Возвращаемое функцией setlocale() значение зависит от системы, на которой запущен PHP. Она возвращает точно то же значение, что и системная функция setlocale.

Список изменений

Версия | Описание
5.3.0 | Эта функция в настоящее время бросает уведомления E_DEPRECATED, если строка передается в параметре category вместо одной из констант LC_*.
4.3.0 | Доступна передача нескольких локалей.
4.2.0 | Передача category в виде строки больше не поддерживается, рекомендуется использовать перечисленные выше константы. Передача этих констант как строк (в кавычках) вызовет вывод предупреждения.

Примеры

Пример #1 Примеры использования setlocale()

<?php
/* Установка голландской локали */
setlocale(LC_ALL, 'nl_NL');

/* выводит: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* попытка использовать различные локали для  немецкого языка (с PHP 4.3.0) */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "На этой системе немецкая локаль имеет имя '$loc_de'";
?>

Пример #2 Примеры использования setlocale() в Windows

<?php
/* Установка голландской локали */
setlocale(LC_ALL, 'nld_nld');

/* выводит: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* попытка использовать различные локали для  немецкого языка (с PHP 4.3.0) */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Предпочитаемая немецкая локаль на этой системе: '$loc_de'";
?>

Примечания

Внимание

Информация о локали модифицируется во всем процессе, а не по каждому потоку отдельно. Если вы используете PHP на многопоточном сервере, таком как IIS или Apache под Windows, вы можете обнаружить неожиданные изменения в настройках локали во время выполнения скриптов, никогда и не вызывавших setlocale(). Это происходит из-за того, что другие скрипты, запущенные в параллельных потоках данного процесса, в то же самое время поменяли настройки локали для всего процесса с помощью setlocale().

Подсказка

Пользователи Windows найдут полезной информацию о значениях locale на сайте Microsoft MSDN. Поддерживаемые языки перечислены здесь: » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp, а значения стран/регионов здесь: » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp.

rtrim
sha1_file
Обработка строк


Возвращает SHA1-хэш файла

setlocale
sha1
Обработка строк
PHP Manual

sha1_file

(PHP 4 >= 4.3.0, PHP 5)

sha1_file — Возвращает SHA1-хэш файла

Описание

string sha1_file ( string $filename [, bool $raw_output = false ] )

Вычисляет SHA1-хэш файла, имя которого задано аргументом filename, используя алгоритм » US Secure Hash Algorithm 1 и возвращает этот хэш.

Список параметров

filename

Имя хэшируемого файла.

raw_output

Если установлен в TRUE, возвращает 20-символьный хэш в бинарном формате.

Возвращаемые значения

Возвращает строку в случае успеха, иначе возвращается FALSE.

Примеры

Пример #1 Пример использования sha1_file()

<?php
foreach(glob('/home/Kalle/myproject/*.php') as $ent)
{
    if(is_dir($ent))
    {
        continue;
    }

    echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
}
?>

Список изменений

Версия | Описание
5.1.0 | Функция теперь работает с потоковым API. Это означает, что ее можно использовать с обертками, например, sha1_file('http://example.com/..')
5.0.0 | Добавлен параметр raw_output

Смотрите также

  • sha1() - Возвращает SHA1-хэш строки
  • md5_file() - Возвращает MD5-хэш файла
  • crc32() - Вычисляет полином CRC32 для строки

setlocale
sha1
Обработка строк


Возвращает SHA1-хэш строки

sha1_file
similar_text
Обработка строк
PHP Manual

sha1

(PHP 4 >= 4.3.0, PHP 5)

sha1 — Возвращает SHA1-хэш строки

Описание

string sha1 ( string $str [, bool $raw_output = false ] )

Возвращает SHA1-хэш строки str, вычисленный по алгоритму » US Secure Hash Algorithm 1.

Список параметров

str

Входная строка.

raw_output

Если необязательный аргумент raw_output имеет значение TRUE, хэш возвращается в виде бинарной строки из 20 символов, иначе он будет возвращен в виде 40-символьного шестнадцатеричного числа.

Возвращаемые значения

Возвращает SHA1-хэш в виде строки.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр raw_output.

Примеры

Пример #1 Пример использования sha1()

<?php
$str = 'яблоко';

if (sha1($str) === '88b184adea10bf987b15257a5d6c5cb94eba69d3') {
    echo "Желаете зеленое или красное яблоко?";
}
?>

Примечания

Замечание: Безопасное хэширование паролей

В связи с быстрой природой хэширующего алгоритма не рекомендуется использовать эту функцию для обеспечения безопасности паролей. Подробнее об этом можно прочитать здесь.

Смотрите также

  • sha1_file() - Возвращает SHA1-хэш файла
  • crc32() - Вычисляет полином CRC32 для строки
  • md5() - Возвращает MD5-хэш строки
  • hash() - Генерирует хеш-код (дайджест сообщения)

sha1_file
similar_text
Обработка строк


Вычисляет степень похожести двух строк

sha1
soundex
Обработка строк
PHP Manual

similar_text

(PHP 4, PHP 5)

similar_text — Вычисляет степень похожести двух строк

Описание

int similar_text ( string $first , string $second [, float &$percent ] )

Вычисляет степень похожести двух строк по алгоритму, описанному Oliver [1993]. Эта реализация алгоритма не использует стека, использованного в оригинале, вместо этого применяются рекурсивные вызовы, что в некоторых случаях может ускорить процесс. Сложность алгоритма составляет O(N**3), где N - длина более длинной из двух строк.

Список параметров

first

Первая строка.

second

Вторая строка.

percent

При передаче по ссылке третьего аргумента, similar_text() присваивоит ему степень похожести двух строк в процентах.

Возвращаемые значения

Возвращается количество совпадающих символов в двух строках.

Смотрите также

  • levenshtein() - Вычисляет расстояние Левенштейна между двумя строками
  • soundex() - Возвращает ключ soundex для строки

sha1
soundex
Обработка строк


Возвращает ключ soundex для строки

similar_text
sprintf
Обработка строк
PHP Manual

soundex

(PHP 4, PHP 5)

soundex — Возвращает ключ soundex для строки

Описание

string soundex ( string $str )

Возвращает ключ soundex для строки str.

Двум словам, имеющим схожее произношение, соответствует один и тот же ключ soundex. Это свойство может быть использовано, например, при поиске по базе даных, когда известно произношение слова и неизвестно его написание. Данная функция возвращает строку из 4 символов, начинающуюся с буквы.

Данная реализация функции soundex описана Дональдом Кнутом (Donald Knuth) в книге "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), стр. 391-392.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает ключ soundex в виде строки.

Примеры

Пример #1 Примеры soundex

<?php
soundex("Euler")       == soundex("Ellery");    // E460
soundex("Gauss")       == soundex("Ghosh");     // G200
soundex("Hilbert")     == soundex("Heilbronn"); // H416
soundex("Knuth")       == soundex("Kant");      // K530
soundex("Lloyd")       == soundex("Ladd");      // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Смотрите также

  • levenshtein() - Вычисляет расстояние Левенштейна между двумя строками
  • metaphone() - Возвращает ключ metaphone для строки
  • similar_text() - Вычисляет степень похожести двух строк

similar_text
sprintf
Обработка строк


Возвращает отформатированную строку

soundex
sscanf
Обработка строк
PHP Manual

sprintf

(PHP 4, PHP 5)

sprintf — Возвращает отформатированную строку

Описание

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

Возвращает строку, созданную с использованием строки формата format.

Список параметров

format

Строка формата состоит из нуля и более директив: обычных символов (за исключением %), которые копируются напрямую в результирующую строку, и описателей преобразований, каждый из которых заменяется на один из параметров. Это относится как к sprintf(), так и к printf().

Каждый описатель преобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

  1. Необязательный описатель знака, указывающий как знак (- или +) будет применен к числу. По умолчанию, используется только знак минус, если число отрицательное. Этот описатель заставляет положительные числа также отображать знак плюс, он был добавлен в PHP 4.3.0.
  2. Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью одиночной кавычки ('). См. примеры ниже.
  3. Необязательный описатель выравнивания, определяющий выранивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.
  4. Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.
  5. Необязательный описатель точности, указанный в форме точки ('.'), после которой следует необязательная строка из десятичных чисел, определяющая, сколько десятичных разрядов отображать для чисел с плавающей точкой. При использовании со строками этот описатель выступает в роли обрезающей точки, устанавливающей максимальный лимит символов.

  6. Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

    • % - символ процента. Аргумент не используется.
    • b - аргумент трактуется как целое и выводится в виде двоичного числа.
    • c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
    • d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
    • e - аргумент трактуется как число в в научной нотации (например, 1.2e+2). Описатель точности указывает на количество знаков после запятой, начиная с версии PHP 5.2.1. В более ранних версиях он обозначал количество значащих цифр (на один знак меньше).
    • E - аналогично %e, но использует заглавную букву (например, 1.2E+2).
    • u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
    • f - аргумент трактуется как число с плавающей точкой и также выводится в зависимости от локали.
    • F - аргумент трактуется как число с плавающей точкой и также выводится, но без зависимости от локали. Доступно, начиная с версии PHP 4.3.10 и PHP 5.0.3.
    • g - выбирает самую краткую запись из %e и %f.
    • G - выбирает самую краткую запись из %E и %f.
    • o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
    • s - аргумент трактуется как строка.
    • x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре).
    • X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре).

В строке формата поддерживается нумерация и изменение порядка параметров. Например:

Пример #1 Изменение порядка параметров

<?php
$num = 5;
$location = 'дереве';

$format = '%d обезьян сидят на %s';
printf($format, $num, $location);
?>
Этот код выведет "5 обезьян сидят на дереве". Теперь представьте, что строка формата содержится в отдельном файле, который потом будет переведен на другой язык, и мы переписываем ее в таком виде:

Пример #2 Изменение порядка параметров

<?php
$format = 'На %s сидят %d обезьян';
printf($format, $num, $location);
?>
Появляется проблема: порядок описателей преобразования не соответствует порядку аргументов. Мы не хотим менять код, и нам нужно указать, какому аргументу соответствует тот или иной описатель преобразования.

Пример #3 Изменение порядка параметров

<?php
$format = 'На %2$s сидят %1$d обезьян';
printf($format, $num, $location);
?>
Нумерация аргументов имеет еще одно применение: она позволяет вывести один и тот же аргумент несколько раз без передачи функции дополнительных параметров.

Пример #4 Изменение порядка параметров

<?php
$format = 'На %2$s сидят %1$d обезьян.
           Как здорово, когда на %2$s сидят %1$d обезьян.';
printf($format, $num, $location);
?>
При изменении порядка параметров описатель позиции n$ должен идти сразу за знаком процента (%) прежде всех остальных описателей, как показано в примере ниже.

Пример #5 Использование описателя позиции и совместо с другими описателями

<?php
$format= 'На %2$s сидят %1$04d обезьян';
printf($format, $num, $location);
?>

Результат выполнения данного примера:

На дереве сидят 0005 обезьян

args

...

Возвращаемые значения

Возвращает строку, отформатированную в соответствии со строкой format.

Список изменений

Версия | Описание
4.0.6 | Добавлена поддержка нумерации/изменения порядка аргументов

Примеры

Пример #6 sprintf(): заполнение нулями

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'

// заметьте, двойной %% выводится как одинарный '%'
printf("%%b = '%b'\n", $n); // двоичное представление
printf("%%c = '%c'\n", $c); // выводит символ ascii, аналогично функции chr()
printf("%%d = '%d'\n", $n); // обычное целое число
printf("%%e = '%e'\n", $n); // научная нотация
printf("%%u = '%u'\n", $n); // беззнаковое целое представление положительного числа
printf("%%u = '%u'\n", $u); // беззнаковое целое представление отрицательного числа
printf("%%f = '%f'\n", $n); // представление числа с плавающей точкой
printf("%%o = '%o'\n", $n); // восьмеричное представление
printf("%%s = '%s'\n", $n); // строка
printf("%%x = '%x'\n", $n); // шестнадцатеричное представление (нижний регистр)
printf("%%X = '%X'\n", $n); // шестнадцатеричное представление (верхний регистр)

printf("%%+d = '%+d'\n", $n); // описатель знака с положительным целым числом
printf("%%+d = '%+d'\n", $u); // описатель знака с отрицательным целым числом
?>

Результат выполнения данного примера:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Пример #7 printf(): описатели строк

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // обычный вывод строки
printf("[%10s]\n",    $s); // выравнивание вправо с пробелами
printf("[%-10s]\n",   $s); // выравнивание влево с пробелами
printf("[%010s]\n",   $s); // дополнение нулями также работает со строками
printf("[%'#10s]\n",  $s); // использование собственного дополняющего символа '#'
printf("[%10.10s]\n", $t); // выравнивание влево с обрезкой в 10 символов
?>

Результат выполнения данного примера:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Пример #8 sprintf(): целые числа, дополненные нулями

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Пример #9 sprintf(): форматирование денежных величин

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted выведет "123.10"
?>

Пример #10 sprintf(): научная нотация

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // выведет 3.625e+8
?>

Смотрите также

  • printf() - Выводит отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • vsprintf() - Возвращает отформатированную строку
  • number_format() - Форматирует число с разделением групп

soundex
sscanf
Обработка строк


Разбирает строку в соответствии с заданным форматом

sprintf
str_getcsv
Обработка строк
PHP Manual

sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Разбирает строку в соответствии с заданным форматом

Описание

mixed sscanf ( string $str , string $format [, mixed &$... ] )

Функция sscanf() похожа на функцию printf(), но используется не для вывода, а для ввода данных. sscanf() интерпретирует строку str в соответствии с форматом format, указанным в документации к функцииsprintf().

Любые пробельные символы в строке формата соответствуют любым пробельным символам во входной строке. Это значит, что, например, символ табуляции \t в строке формата соответствует символу пробела во входной строке.

Список параметров

str

Обрабатываемая строка (string).

format

Формат, в соответствии с которым будет интерпретирована строка str, описанный в документации к функции sprintf() со следующими отличиями:

  • На функцию не влияют настройки локали.
  • F, g, G и b не поддерживаются.
  • D обозначает десятичное число.
  • i обозначает целое число с автоматическим определением системы счисления.
  • n обозначает обработанное количество символов на данный момент.

...

Необязательные переменные, передаваемые по ссылке, которым будут присвоены считанные значения.

Возвращаемые значения

Если переданы только эти два аргумента, будет возвращен массив. В противном случае, считанные из строки значения будут присвоены переменным, переданным через дополнительные аргументы, и будет возвращено количество присвоенных значений. Дополнительные аргументы должны передаваться по ссылке.

Примеры

Пример #1 Пример использования sscanf()

<?php
// получаем серийный номер
list($serial) = sscanf("SN/2350001", "SN/%d");
// и дату изготовления
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Узел $serial был изготовлен: $year-" . substr($month, 0, 3) . "-$day\n";
?>

Если переданы необязательные аргументы, значения будут присвоены им, а возвращено будет количество присвоенных значений.

Пример #2 sscanf() - использование необязательных аргументов

<?php
// получить имя автора и сформировать запись в формате DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

Смотрите также

  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку

sprintf
str_getcsv
Обработка строк


Выполняет разбор CSV-строки в массив

sscanf
str_ireplace
Обработка строк
PHP Manual

str_getcsv

(PHP 5 >= 5.3.0)

str_getcsv — Выполняет разбор CSV-строки в массив

Описание

array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )

Данная функция выполняет разбор строки в формате CSV и возвращает массив с полученными из строки полями.

Список параметров

input

Обрабатываемая строка.

delimiter

Устанавливает разделитель поля (только один символ).

enclosure

Устанавливает символ ограничителя поля (только один символ).

escape

Устанавливает экранирующий символ (только один символ). По умолчанию равен обратному слэшу (\).

Возвращаемые значения

Возвращает индексированный массив, содержащий полученные из строки поля.

Смотрите также

  • fgetcsv() - Читает строку из файла и производит разбор данных CSV

sscanf
str_ireplace
Обработка строк


Регистро-независимый вариант функции str_replace

str_getcsv
str_pad
Обработка строк
PHP Manual

str_ireplace

(PHP 5)

str_ireplace — Регистро-независимый вариант функции str_replace()

Описание

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Эта функция возвращает строку или массив, в котором все вхождения search в subject заменены на replace (без учета регистра символов). Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее preg_replace() с модификатором i.

Список параметров

Если search и replace - массивы, то str_ireplace() использует каждое значение из соответствующего массива для поиска и замены в subject. Если в массиве replace меньше элементов, чем в search, в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то эта строка замены будет использована для каждого элемента массива search. Обратный случай смысла не имеет.

Если search или replace являются массивами, их элементы будут обработаны от первого к последнему.

search

Искомое значение, также известное как needle (иголка). Для множества искомых значений можно использовать массив.

replace

Значение замены, будет использовано для замены искомых значений search. Для множества значений можно использовать массив.

subject

Строка или массив, в котором производится поиск и замена, также известный как haystack (стог сена).

Если subject является массивом, то поиск с заменой будет осуществляться над каждым элементом subject, а результатом функции также будет являться массив.

count

Если передан, то будет установлен в количество произведенных замен.

Возвращаемые значения

Возвращает строку или массив с замененными значениями.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр count.

Примеры

Пример #1 Пример использования str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Предостережение

Замечание о порядке замены

Так как str_ireplace() осуществляет замену слева направо, то при использовании множественных замен она может заменить ранее вставленное значение на другое. Пример №2 в документации str_replace() поясняет как это работает на практике.

Смотрите также

  • str_replace() - Заменяет все вхождения строки поиска на строку замены
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • strtr() - Преобразует заданные символы или заменяет подстроки

str_getcsv
str_pad
Обработка строк


Дополняет строку другой строкой до заданной длины

str_ireplace
str_repeat
Обработка строк
PHP Manual

str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad — Дополняет строку другой строкой до заданной длины

Описание

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

Эта функция возвращает строку input, дополненную слева, справа или с обоих сторон до заданной длины. Если необязательный аргумент pad_string не передан, то input будет дополнен пробелами, иначе он будет дополнен символами из pad_string до нужной длины

Список параметров

input

Входная строка.

pad_length

Если значение pad_length отрицательно, меньше или равно длине входной строки, то дополнения не происходит.

pad_string

Замечание:

pad_string может быть урезана, если необходимое количество дополняемых символов не делится нацело на длину строки pad_string.

pad_type

Необязательный аргумент pad_type может иметь значение STR_PAD_RIGHT, STR_PAD_LEFT или STR_PAD_BOTH. Если не указан, то по умолчанию используется STR_PAD_RIGHT.

Возвращаемые значения

Возвращает дополненную строку.

Примеры

Пример #1 Пример использования str_pad()

<?php
$input = "Alien";
echo str_pad($input, 10);                      // выводит "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // выводит "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // выводит "__Alien___"
echo str_pad($input, 6 , "___");               // выводит "Alien_"
?>

str_ireplace
str_repeat
Обработка строк


Возвращает повторяющуюся строку

str_pad
str_replace
Обработка строк
PHP Manual

str_repeat

(PHP 4, PHP 5)

str_repeat — Возвращает повторяющуюся строку

Описание

string str_repeat ( string $input , int $multiplier )

Возвращает строку input, повторенную multiplier раз.

Список параметров

input

Повторяемая строка.

multiplier

Количество раз, которые нужно повторить строку input.

multiplier должен быть больше или равен нулю. Если он равен нулю, возвращается пустая строка.

Возвращаемые значения

Возвращает повторяющуюся строку.

Примеры

Пример #1 Пример использования str_repeat()

<?php
echo str_repeat("-=", 10);
?>

Результат выполнения данного примера:

-=-=-=-=-=-=-=-=-=-=

Смотрите также

  • for
  • str_pad() - Дополняет строку другой строкой до заданной длины
  • substr_count() - Возвращает число вхождений подстроки

str_pad
str_replace
Обработка строк


Заменяет все вхождения строки поиска на строку замены

str_repeat
str_rot13
Обработка строк
PHP Manual

str_replace

(PHP 4, PHP 5)

str_replace — Заменяет все вхождения строки поиска на строку замены

Описание

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Эта функция возвращает строку или массив, в котором все вхождения search в subject заменены на replace.

Если не нужны сложные правила поиска/замены (например, регулярные выражения), использование этой функции предпочтительнее preg_replace().

Список параметров

Если search и replace - массивы, то str_replace() использует каждое значение из соответствующего массива для поиска и замены в subject. Если в массиве replace меньше элементов, чем в search, в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то эта строка замены будет использована для каждого элемента массива search. Обратный случай смысла не имеет.

Если search или replace являются массивами, их элементы будут обработаны от первого к последнему.

search

Искомое значение, также известное как needle (иголка). Для множества искомых значений можно использовать массив.

replace

Значение замены, будет использовано для замены искомых значений search. Для множества значений можно использовать массив.

subject

Строка или массив, в котором производится поиск и замена, также известный как haystack (стог сена).

Если subject является массивом, то поиск с заменой будет осуществляться над каждым элементом subject, а результатом функции также будет являться массив.

count

Если передан, то будет установлен в количество произведенных замен.

Возвращаемые значения

Эта функция возвращает строку или массив с замененными значениями.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр count.
4.3.3 | Поведение этой функции изменилось. В старых версиях существовала ошибка при одновременной передаче массивов в аргументах search и replace. Ошибка заключается в том, что пустые элементы массива search пропускались без перемещения к следующему элементу массива replace. Эта ошибка была исправлена в PHP 4.3.3. Если ваши скрипты использовали эту ошибку, то в них нужно удалить пустые элементы из массива search перед вызовом этой функции.
4.0.5 | Большинство параметров теперь могут принимать тип array.

Примеры

Пример #1 Примеры использования str_replace()

<?php
// присваивает <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// присваивает: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// присваивает: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// присваивает: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>

Пример #2 Примеры потенциальных трюков с str_replace()

<?php
// Порядок замены
$str     = "Строка 1\nСтрока 2\rСтрока 3\r\nСтрока 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';

// Обрабатывает сначала \r\n для избежания их повторной замены.
echo $newstr = str_replace($order, $replace, $str);

// Выводит F, т.к. A заменяется на B, затем B на C, и так далее...
// В итоге E будет заменено F, так как замена происходит слева направо.
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

// Выводит: яблорехкорех орех (по вышеуказанной причине)
$letters = array('я', 'о');
$fruit   = array('яблоко', 'орех');
$text    = 'я о';
$output  = str_replace($letters, $fruit, $text);
echo $output;
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Предостережение

Замечание о порядке замены

Так как str_replace() осуществляет замену слева направо, то при использовании множественных замен она может заменить ранее вставленное значение на другое. Смотрите также примеры на этой странице.

Замечание:

Эта функция чувствительна к регистру. Используйте str_ireplace() для замены, нечувствительной к регистру.

Смотрите также

  • str_ireplace() - Регистро-независимый вариант функции str_replace
  • substr_replace() - Заменяет часть строки
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • strtr() - Преобразует заданные символы или заменяет подстроки

str_repeat
str_rot13
Обработка строк


Выполняет преобразование ROT13 над строкой

str_replace
str_shuffle
Обработка строк
PHP Manual

str_rot13

(PHP 4 >= 4.2.0, PHP 5)

str_rot13 — Выполняет преобразование ROT13 над строкой

Описание

string str_rot13 ( string $str )

Выполняет над строкой str преобразование ROT13 и возвращает полученную строку.

Преобразование ROT13 заключается в простом сдвиге каждой латинской буквы на 13 позиций в алфавите, остальные символы не изменяются. Обратное преобразование выполняется той же функцией, так как передача закодированной строки в качестве аргумента вернет ее оригинальную версию.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает ROT13 версию переданной строки.

Примеры

Пример #1 Пример использования str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Список изменений

Версия | Описание
4.3.0 | В функции была исправлена ошибка, которая заключалась в том, что str также изменялась, как при передаче по ссылке.

str_replace
str_shuffle
Обработка строк


Переставляет символы в строке случайным образом

str_rot13
str_split
Обработка строк
PHP Manual

str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle — Переставляет символы в строке случайным образом

Описание

string str_shuffle ( string $str )

str_shuffle() перемешивает символы в строке. Выбирается одна возможная перестановка из всех возможных.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает перемешанную строку.

Примеры

Пример #1 Пример использования str_shuffle()

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// выведет что-то вроде этого: bfdaec
echo $shuffled;
?>

Смотрите также

  • shuffle() - Перемешивает массив
  • rand() - Генерирует случайное число

str_rot13
str_split
Обработка строк


Преобразует строку в массив

str_shuffle
str_word_count
Обработка строк
PHP Manual

str_split

(PHP 5)

str_split — Преобразует строку в массив

Описание

array str_split ( string $string [, int $split_length = 1 ] )

Преобразует строку в массив.

Список параметров

string

Входная строка.

split_length

Максимальная длина фрагмента.

Возвращаемые значения

Если указан необязательный аргумент split_length, возвращаемый массив будет содержать части исходной строки длиной split_length каждая, иначе каждый элемент будет содержать один символ.

Если split_length меньше 1, возвращается FALSE. Если split_length больше длины строки string, то вся строка будет возвращена в первом и единственном элементе массива.

Примеры

Пример #1 Пример использования str_split()

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

Результат выполнения данного примера:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Смотрите также

  • chunk_split() - Разбивает строку на фрагменты
  • preg_split() - Разбивает строку по регулярному выражению
  • explode() - Разбивает строку с помощью разделителя
  • count_chars() - Возвращает информацию о символах, входящих в строку
  • str_word_count() - Возвращает информацию о словах, входящих в строку
  • for

str_shuffle
str_word_count
Обработка строк


Возвращает информацию о словах, входящих в строку

str_split
strcasecmp
Обработка строк
PHP Manual

str_word_count

(PHP 4 >= 4.3.0, PHP 5)

str_word_count — Возвращает информацию о словах, входящих в строку

Описание

mixed str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

Подсчитывает количество слов, входящих в строку string. Если необязательный аргумент format не передан, возвращается целое число, равное количеству слов. В случае, если указан аргумент format, возвращается массив, содержимое которого зависит от значения format. Ниже описаны допустимые значения аргумента format и соответствующие им возвращаемые значения.

Для этой функции "слово" обозначает строку с алфавитными символами, зависящую от локали, которая также может содержать символы "'" и "-", но не может начинаться с них.

Список параметров

string

Строка

format

Указывает возвращаемое значение данной функции. На данный момент поддерживаются следующие значения:

  • 0 - возвращает количество найденных слов
  • 1 - возвращается массив, содержащий все слова, входящие в строку string
  • 2 - возвращается массив, индексами которого являются позиции в строке string, а значениями - соответствующие слова.

charlist

Список дополнительных символов, которые будут рассматриваться как "слово"

Возвращаемые значения

Возвращает массив или целое число, в зависимости от указанного параметра format.

Список изменений

Версия | Описание
5.1.0 | Добавлен параметр charlist

Примеры

Пример #1 Пример использования str_word_count()

<?php

$str = "Hello fri3nd, you're
       looking          good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

Результат выполнения данного примера:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)

Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

7

Смотрите также

  • explode() - Разбивает строку с помощью разделителя
  • preg_split() - Разбивает строку по регулярному выражению
  • split() - Разбиение строки на массив по регулярному выражению
  • count_chars() - Возвращает информацию о символах, входящих в строку
  • substr_count() - Возвращает число вхождений подстроки

str_split
strcasecmp
Обработка строк


Бинарно-безопасное сравнение строк без учета регистра

str_word_count
strchr
Обработка строк
PHP Manual

strcasecmp

(PHP 4, PHP 5)

strcasecmp — Бинарно-безопасное сравнение строк без учета регистра

Описание

int strcasecmp ( string $str1 , string $str2 )

Бинарно-безопасное сравнение строк без учета регистра.

Список параметров

str1

Первая строка

str2

Вторая строка

Возвращаемые значения

Возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Примеры

Пример #1 Пример использования strcasecmp()

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 равно $var2 при сравнении без учета регистра';
}
?>

Смотрите также

  • strcmp() - Бинарно-безопасное сравнение строк
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • substr_compare() - Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • stristr() - Регистро-независимый вариант функции strstr
  • substr() - Возвращает подстроку

str_word_count
strchr
Обработка строк


Псевдоним strstr

strcasecmp
strcmp
Обработка строк
PHP Manual

strchr

(PHP 4, PHP 5)

strchr — Псевдоним strstr()

Описание

Эта функция является псевдонимом: strstr().

strcasecmp
strcmp
Обработка строк


Бинарно-безопасное сравнение строк

strchr
strcoll
Обработка строк
PHP Manual

strcmp

(PHP 4, PHP 5)

strcmp — Бинарно-безопасное сравнение строк

Описание

int strcmp ( string $str1 , string $str2 )

Эта функция учитывает регистр символов.

Список параметров

str1

Первая строка.

str2

Вторая строка.

Возвращаемые значения

Возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Смотрите также

  • strcasecmp() - Бинарно-безопасное сравнение строк без учета регистра
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • substr_compare() - Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • strncmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strstr() - Находит первое вхождение подстроки
  • substr() - Возвращает подстроку

strchr
strcoll
Обработка строк


Сравнение строк с учетом текущей локали

strcmp
strcspn
Обработка строк
PHP Manual

strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll — Сравнение строк с учетом текущей локали

Описание

int strcoll ( string $str1 , string $str2 )

Обратите внимание, что эта функция учитывает регистр символов, и, в отличие от strcmp() не безопасна для обработки данных в двоичной форме.

strcoll() при сравнении использует установки текущей локали. Если установлена локаль C или POSIX, эта функция аналогична strcmp().

Список параметров

str1

Первая строка.

str2

Вторая строка.

Возвращаемые значения

Возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0, если они равны.

Список изменений

Версия | Описание
4.2.3 | Теперь эта функция работает и на win32.

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strcmp() - Бинарно-безопасное сравнение строк
  • strcasecmp() - Бинарно-безопасное сравнение строк без учета регистра
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strncmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strstr() - Находит первое вхождение подстроки
  • setlocale() - Устанавливает настройки локали

strcmp
strcspn
Обработка строк


Возвращает длину участка в начале строки, не соответствующего маске

strcoll
strip_tags
Обработка строк
PHP Manual

strcspn

(PHP 4, PHP 5)

strcspn — Возвращает длину участка в начале строки, не соответствующего маске

Описание

int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

Возвращает длину участка в начале строки str1, который не содержит ни одного символа из строки str2.

Список параметров

str1

Первая строка.

str2

Вторая строка.

start

Начальная позиция сравнения строки.

length

Длина сравнения строки.

Возвращаемые значения

Возвращает длину фрагмента в виде целого числа.

Список изменений

Версия | Описание
4.3.0 | Добавлены параметры start и length

Примеры

Пример #1 Пример использования strcspn()

<?php
$a = strcspn('abcd',  'apple');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
?>

Результат выполнения данного примера:

int(0)
int(0)
int(2)
int(2)

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strspn() - Возвращает длину участка в начале строки, полностью соответствующего маске

strcoll
strip_tags
Обработка строк


Удаляет HTML и PHP-теги из строки

strcspn
stripcslashes
Обработка строк
PHP Manual

strip_tags

(PHP 4, PHP 5)

strip_tags — Удаляет HTML и PHP-теги из строки

Описание

string strip_tags ( string $str [, string $allowable_tags ] )

Эта функция пытается возвратить строку str, из которой удалены все NUL-байты, HTML и PHP теги. Для удаления тегов используется тот же автомат, что и в функции fgetss().

Список параметров

str

Входная строка.

allowable_tags

Второй необязательный параметр может быть использован для указания тегов, которые не нужно удалять.

Замечание:

Комментарии HTML и PHP-теги также будут удалены. Это жестко записано в коде и не может быть изменено с помощью параметра allowable_tags.

Замечание:

Этот параметр не должен содержать пробелов. strip_tags() рассматривает тег как нечувствительную к регистру строку, находящуюся между < и первым пробелом или >. Это означает, что strip_tags("<br/>", "<br>") вернет пустую строку.

Возвращаемые значения

Возвращает строку без тегов.

Список изменений

Версия | Описание
5.0.0 | strip_tags() теперь безопасна для обработки бинарных данных
4.3.0 | Комментарии HTML теперь всегда удаляются

Примеры

Пример #1 Пример использования strip_tags()

<?php
$text = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment">Еще текст</a>';
echo strip_tags($text);
echo "\n";

// Разрешаем <p> и <a>
echo strip_tags($text, '<p><a>');
?>

Результат выполнения данного примера:

Параграф. Еще текст
<p>Параграф.</p> <a href="#fragment">Еще текст</a>

Примечания

Внимание

Из-за того, что strip_tags() не проверяет валидность HTML, то частичные или сломанные теги могут послужить удалением большего количества текста или данных, чем ожидалось.

Внимание

Эта функция не изменяет атрибуты тегов, разрешенных с помощью allowable_tags, включая такие атрибуты как style и onmouseover, которые могут быть использованы озорными пользователями при посылке текста, отображаемого также и другим пользователям.

Смотрите также

  • htmlspecialchars() - Преобразует специальные символы в HTML-сущности

strcspn
stripcslashes
Обработка строк


Удаляет экранирование символов, произведенное функцией addcslashes

strip_tags
stripos
Обработка строк
PHP Manual

stripcslashes

(PHP 4, PHP 5)

stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes()

Описание

string stripcslashes ( string $str )

Удаляет экранирующие обратные слэши. Распознает экранирование в стиле C (\n, \r ..., восьмеричное и шестнадцатиричное представление).

Список параметров

str

Строка, с которой нужно убрать экранирование.

Возвращаемые значения

Возвращает неэкранированную строку.

Смотрите также

  • addcslashes() - Экранирует cтроку слэшами в стиле языка C

strip_tags
stripos
Обработка строк


Возвращает позицию первого вхождения подстроки без учета регистра

stripcslashes
stripslashes
Обработка строк
PHP Manual

stripos

(PHP 5)

stripos — Возвращает позицию первого вхождения подстроки без учета регистра

Описание

int stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Возвращает позицию первого вхождения подстроки needle в строку haystack.

В отличие от strpos(), эта функция не учитывает регистр символов.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Заметьте, что needle может содержать строку из одного или более символов.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

offset

Необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Возвращается всегда позиция относительно начала строки haystack.

Возвращаемые значения

Возвращает позицию в виде целого числа. Если подстрока needle не найдена, stripos() возвращает boolean FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования stripos()

<?php
$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Конечно, 'a' не входит в 'xyz'
if ($pos1 === false) {
    echo "Строка '$findme' не найдена в строке '$mystring1'";
}

// Заметьте, что используется ===.  Использование == не даст верного
// результата, так как 'a' в нулевой позиции.
if ($pos2 !== false) {
    echo "Нашел '$findme' в '$mystring2' в позиции $pos2";
}
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strpos() - Возвращает позицию первого вхождения подстроки
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки
  • strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
  • str_ireplace() - Регистро-независимый вариант функции str_replace

stripcslashes
stripslashes
Обработка строк


Удаляет экранирование символов

stripos
stristr
Обработка строк
PHP Manual

stripslashes

(PHP 4, PHP 5)

stripslashes — Удаляет экранирование символов

Описание

string stripslashes ( string $str )

Удаляет экранирующие символы.

Замечание:

Если включена директива magic_quotes_sybase, вместо обратных слэшей будут удаляться двойные одинарные кавычки.

Функцию stripslashes() можно использовать, например, если директива конфигурации magic_quotes_gpc имеет значение on (она включена по умолчанию), и экранирование символов не требуется. Например, данные не вставляются в базу данных, а просто выводятся в браузер.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает строку с вырезанными обратными слэшами. (\' становится ' и т.п.) Двойные обратные слэши (\\) становятся одинарными (\).

Примеры

Пример #1 Пример использования stripslashes()

<?php
$str = "Ваc зовут O\'reilly?";

// выводит: Вас зовут O'reilly?
echo stripslashes($str);
?>

Замечание:

stripslashes() не рекурсивна. Если вы хотите применить ее к многомерному массиву, то вам необходимо использовать рекурсивную функцию.

Пример #2 Использование stripslashes() с массивом

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Пример
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Вывод
print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Смотрите также

  • addslashes() - Экранирует строку с помощью слэшей
  • get_magic_quotes_gpc() - Gets the current configuration setting of magic_quotes_gpc

stripos
stristr
Обработка строк


Регистро-независимый вариант функции strstr

stripslashes
strlen
Обработка строк
PHP Manual

stristr

(PHP 4, PHP 5)

stristr — Регистро-независимый вариант функции strstr()

Описание

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Возвращает всю строку haystack начиная с первого вхождения needle.

Список параметров

haystack

Строка, в которой производится поиск

needle

Если needle не является строкой, он приводится к целому и трактуется как код символа.

before_needle

Если установлен в TRUE, stristr() возвращает часть строки haystack до первого вхождения needle.

needle и haystack обрабатываются без учета регистра.

Возвращаемые значения

Возвращает указанную подстроку. Если подстрока needle не найдена, возвращается FALSE.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный параметр before_needle.
4.3.0 | stristr() теперь бинарно-безопасна.

Примеры

Пример #1 Пример использования stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e'); // выводит ER@EXAMPLE.com
  echo stristr($email, 'e', true); // Начиная с PHP 5.3.0, выводит US
?>

Пример #2 Проверка на вхождение строки

<?php
  $string = 'Hello World!';
  if(stristr($string, 'earth') === FALSE) {
    echo '"earth" не найдена в строке';
  }
// выводит: "earth" не найдена в строке
?>

Пример #3 Использование "нестроки" в поиске

<?php
  $string = 'APPLE';
  echo stristr($string, 97); // 97 = a в нижнем регистре
// выводит: APPLE
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strstr() - Находит первое вхождение подстроки
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку
  • preg_match() - Выполняет проверку на соответствие регулярному выражению

stripslashes
strlen
Обработка строк


Возвращает длину строки

stristr
strnatcasecmp
Обработка строк
PHP Manual

strlen

(PHP 4, PHP 5)

strlen — Возвращает длину строки

Описание

int strlen ( string $string )

Возвращает длину строки string.

Список параметров

string

Строка (string), для которой измеряется длина.

Возвращаемые значения

Длина строки string в случае успеха, и 0, если string пуста.

Список изменений

Версия | Описание
5.3.0 | Ранние версии этой функции рассматривали массивы как строку Array, возвращая таким образом 5 в качестве длины этой строки, и вызывали ошибку уровня E_NOTICE.

Примеры

Пример #1 Пример использования strlen()

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Примечания

Замечание:

strlen() возвращает NULL при использовании на массивах, а также выводит ошибку уровня E_WARNING.

Смотрите также

  • count() - Подсчитывает количество элементов массива или что-то в объекте
  • mb_strlen() - Get string length

stristr
strnatcasecmp
Обработка строк


Сравнение строк без учета регистра с использованием алгоритма "natural order"

strlen
strnatcmp
Обработка строк
PHP Manual

strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "natural order"

Описание

int strnatcasecmp ( string $str1 , string $str2 )

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек. Эта функция подобна strnatcmp(), за исключением того, что сравнение происходит без учета регистра символов. Для получения дополнительной информации см. » Natural Order String Comparison

Список параметров

str1

Первая строка.

str2

Вторая строка.

Возвращаемые значения

Подобно другим функциям сравнения строк, данная функция возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strcmp() - Бинарно-безопасное сравнение строк
  • strcasecmp() - Бинарно-безопасное сравнение строк без учета регистра
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strncmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strstr() - Находит первое вхождение подстроки
  • setlocale() - Устанавливает настройки локали

strlen
strnatcmp
Обработка строк


Сравнение строк с использованием алгоритма "natural order"

strnatcasecmp
strncasecmp
Обработка строк
PHP Manual

strnatcmp

(PHP 4, PHP 5)

strnatcmp — Сравнение строк с использованием алгоритма "natural order"

Описание

int strnatcmp ( string $str1 , string $str2 )

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек, такой алгоритм называется "natural ordering". Сравнение происходит с учетом регистра.

Список параметров

str1

Первая строка.

str2

Вторая строка.

Возвращаемые значения

Подобно другим функциям сравнения строк, данная функция возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Примеры

Пример, показывающий отличие этого алгоритма от обычных функций сравнения (используемых в strcmp()), приведен ниже:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Стандартный алгоритм сравнения\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nАлгоритм \"natural order\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Результат выполнения данного примера:

Стандартный алгоритм сравнения
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Алгоритм "natural order"
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Для получения дополнительной информации см. » Natural Order String Comparison

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strcasecmp() - Бинарно-безопасное сравнение строк без учета регистра
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strcmp() - Бинарно-безопасное сравнение строк
  • strncmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strnatcasecmp() - Сравнение строк без учета регистра с использованием алгоритма "natural order"
  • strstr() - Находит первое вхождение подстроки
  • natsort() - Сортирует массив, используя алгоритм "natural order"
  • natcasesort() - Сортирует массив, используя алгоритм "natural order" без учета регистра символов

strnatcasecmp
strncasecmp
Обработка строк


Бинарно-безопасное сравнение первых n символов строк без учета регистра

strnatcmp
strncmp
Обработка строк
PHP Manual

strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра

Описание

int strncasecmp ( string $str1 , string $str2 , int $len )

Эта функция подобна strcasecmp(), за исключением того, что можно указать максимальное количество символов в обоих строках, которые будут участвовать в сравнении.

Список параметров

str1

Первая строка.

str2

Вторая строка.

len

Количество символов, участвующих в сравнении.

Возвращаемые значения

Возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Смотрите также

  • strncmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • substr_compare() - Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • strcasecmp() - Бинарно-безопасное сравнение строк без учета регистра
  • stristr() - Регистро-независимый вариант функции strstr
  • substr() - Возвращает подстроку

strnatcmp
strncmp
Обработка строк


Бинарно-безопасное сравнение первых n символов строк без учета регистра

strncasecmp
strpbrk
Обработка строк
PHP Manual

strncmp

(PHP 4, PHP 5)

strncmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра

Описание

int strncmp ( string $str1 , string $str2 , int $len )

Эта функция подобна strcmp(), за исключением того, что можно указать максимальное количество символов в обоих строках, которые будут участвовать в сравнении.

Эта функция учитывает регистр символов.

Список параметров

str1

Первая строка.

str2

Вторая строка.

len

Количество символов, используемых в сравнении.

Возвращаемые значения

Возвращает отрицательное число, если str1 меньше, чем str2, положительное число, если str1 больше, чем str2, и 0 если строки равны.

Смотрите также

  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • substr_compare() - Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • strcmp() - Бинарно-безопасное сравнение строк
  • strstr() - Находит первое вхождение подстроки
  • substr() - Возвращает подстроку

strncasecmp
strpbrk
Обработка строк


Ищет в строке любой символ из заданного набора

strncmp
strpos
Обработка строк
PHP Manual

strpbrk

(PHP 5)

strpbrk — Ищет в строке любой символ из заданного набора

Описание

string strpbrk ( string $haystack , string $char_list )

strpbrk() ищет в строке haystack символы из набора char_list.

Список параметров

haystack

Строка, в которой производится поиск char_list.

char_list

Данный параметр чувствителен к регистру.

Возвращаемые значения

Возвращает строку, начиная с найденного символа, или FALSE, если он не был найден.

Примеры

Пример #1 Пример использования strpbrk()

<?php

$text = 'This is a Simple text.';

// Этот код выдаст "is is a Simple text.", т.к. символ 'i' встретится раньше
echo strpbrk($text, 'mi');

// Этот код выдаст "Simple text.", т.к. символы чувствительны к регистру
echo strpbrk($text, 'S');
?>

strncmp
strpos
Обработка строк


Возвращает позицию первого вхождения подстроки

strpbrk
strrchr
Обработка строк
PHP Manual

strpos

(PHP 4, PHP 5)

strpos — Возвращает позицию первого вхождения подстроки

Описание

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Возвращает позицию первого вхождения подстроки needle в строку haystack.

Список параметров

haystack

Строка, в которой производится поиск

needle

Если needle не является строкой, он приводится к целому и трактуется как код символа.

offset

Необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Возвращается всегда позиция относительно начала строки haystack.

Возвращаемые значения

Возвращает позицию в виде целого числа. Если подстрока needle не найдена, strpos() возвращает boolean FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Использование ===

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Заметьте, что используется ===.  Использование == не даст верного
// результата, так как 'a' находится в нулевой позиции.
if ($pos === false) {
    echo "Строка '$findme' не найдена в строке '$mystring'";
} else {
    echo "Строка '$findme' найдена в строке '$mystring'";
    echo " в позиции $pos";
}
?>

Пример #2 Использование !==

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Оператор !== также можно использовать.  Использование != не даст верного
// результата, так как 'a' находится в нулевой позиции. Выражение (0 != false) приводится
// к false.
if ($pos !== false) {
     echo "Строка '$findme' найдена в строке '$mystring'";
         echo " в позиции $pos";
} else {
     echo "Строка '$findme' не найдена в строке '$mystring'";
}
?>

Пример #3 Использование смещения

<?php
// Можно искать символ, игнорируя символы до определенного смещения
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, не 0
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки

strpbrk
strrchr
Обработка строк


Находит последнее вхождение символа в строке

strpos
strrev
Обработка строк
PHP Manual

strrchr

(PHP 4, PHP 5)

strrchr — Находит последнее вхождение символа в строке

Описание

string strrchr ( string $haystack , mixed $needle )

Возвращает подстроку строки haystack начиная с последнего вхождения needle до конца строки.

Список параметров

haystack

Строка, в которой производится поиск

needle

Если needle состоит более чем из одного символа, используется только первый символ. Это поведение отличается от strstr().

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Возвращаемые значения

Функция возвращает фрагмент строки, или FALSE, если подстрока needle не найдена.

Список изменений

Версия | Описание
4.3.0 | Эта функция теперь бинарно-безопасна.

Примеры

Пример #1 Пример использования strrchr()

<?php
// получить последнюю директорию из $PATH
$dir = substr(strrchr($PATH, ":"), 1);

// получить все после последнего перевода строки
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strstr() - Находит первое вхождение подстроки
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr

strpos
strrev
Обработка строк


Переворачивает строку задом наперед

strrchr
strripos
Обработка строк
PHP Manual

strrev

(PHP 4, PHP 5)

strrev — Переворачивает строку задом наперед

Описание

string strrev ( string $string )

Возвращает строку string, перевернутую задом наперед.

Список параметров

string

Переворачиваемая строка.

Возвращаемые значения

Возвращает перевернутую строку.

Примеры

Пример #1 Пример использования strrev()

<?php
echo strrev("Hello world!"); // выводит "!dlrow olleH"
?>

strrchr
strripos
Обработка строк


Возвращает позицию последнего вхождения подстроки без учета регистра

strrev
strrpos
Обработка строк
PHP Manual

strripos

(PHP 5)

strripos — Возвращает позицию последнего вхождения подстроки без учета регистра

Описание

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Возвращает позицию последнего вхождения подстроки. В отличие от strrpos(), strripos() не учитывает регистр символов.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Если параметр needle не является строкой, то он будет преобразован к целому и обработан как код символа.

offset

Если указан, то поиск прекратится при достижении этого количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки.

Возвращаемые значения

Возвращает номер позиции последнего вхождения needle. Учтите, что позиции в строке считаются с 0, а не с 1.

Если подстрока needle не найдена, возвращается FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования strripos()

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "К сожалению, ($needle) не найдена в ($haystack)";
} else {
    echo "Поздравляем!\n";
    echo "Последнее вхождение ($needle) найдено в ($haystack) в позиции ($pos)";
}
?>

Результат выполнения данного примера:

   Поздравляем!
   Последнее вхождение (aB) найдено в (ababcd) в позиции (2)

Смотрите также

  • strpos() - Возвращает позицию первого вхождения подстроки
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки

strrev
strrpos
Обработка строк


Возвращает позицию последнего вхождения подстроки в строке

strripos
strspn
Обработка строк
PHP Manual

strrpos

(PHP 4, PHP 5)

strrpos — Возвращает позицию последнего вхождения подстроки в строке

Описание

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Возвращает позицию последнего вхождения needle в строку haystack.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Если needle не является строкой, то он приводится к целому и трактуется как код символа.

offset

Если указан, то поиск прекратится при достижении этого количества символов с начала строки. Если передано отрицательное значение, поиск начнется с указанного количества символов от конца строки.

Возвращаемые значения

Возвращает позицию искомой строки. Возвращает FALSE, если строка не была найдена.

Список изменений

Версия | Описание
5.0.0 | Параметр needle может быть строкой из более чем одного символа.
5.0.0 | Добавлен параметр offset.

Примеры

Пример #1 Проверка существования искомой строки

Легко ошибиться и перепутать возвращаемые значения в случаях "символ найден в нулевой позиции" и "символ не найден". Вот так можно узнать разницу:

<?php

$pos = strrpos($mystring, "b");
if ($pos === false) { // обратите внимание: три знака равенства
    // не найдено...
}

?>

Пример #2 Поиск со смещением

<?php
$foo = "0123456789a123456789b123456789c";

var_dump(strrpos($foo, '7', -5));  // Поиск происходит в обратном направлении и
                                   // начинается с пятой позиции с конца. Результат: int(17)

var_dump(strrpos($foo, '7', 20));  // Начинает поиск с 20 позиции в строке.
                                   // Результат: int(27)

var_dump(strrpos($foo, '7', 28));  // Результат: bool(false)
?>

Смотрите также

  • strpos() - Возвращает позицию первого вхождения подстроки
  • strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку
  • stristr() - Регистро-независимый вариант функции strstr
  • strstr() - Находит первое вхождение подстроки

strripos
strspn
Обработка строк


Возвращает длину участка в начале строки, полностью соответствующего маске

strrpos
strstr
Обработка строк
PHP Manual

strspn

(PHP 4, PHP 5)

strspn — Возвращает длину участка в начале строки, полностью соответствующего маске

Описание

int strspn ( string $subject , string $mask [, int $start [, int $length ]] )

Возвращает длину участка от начала строки subject, содержащий только символы из mask.

Если параметры start и length не указаны, то будет исследована вся строка subject. Если они указаны, то эффект будет аналогичен вызову strspn(substr($subject, $start, $length) $mask) (подробнее см. функцию substr).

Строка кода:

<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
присвоит 2 переменной $var, так как "42" - это начальный участок строки subject, состоящий только из символов "1234567890".

Список параметров

subject

Исследуемая строка.

mask

Список из разрешенных символов.

start

Позиция начала поиска в subject.

Если start указан и неотрицателен, то strspn() начнет искать в строке subject начиная с позиции start. К примеру, в строке 'abcdef', символом с позицией 0 является 'a', символом с позицией 2 является 'c' и т.д.

Если start указан и отрицателен, то strspn() начнет поиск в строке subject с позиции, отстоящей на start символов с конца subject.

length

Длина исследуемого фрагмента subject.

Если length указан и неотрицателен, то строка subject будет исследована в течение length после стартовой позиции.

Если length указана и отрицательна, то строка subject будет исследована начиная со стартовой позиции до позиции, отстоящей на length символов с конца subject.

Возвращаемые значения

Возвращает длину первого участка subject, состоящего целиком из символов в mask.

Список изменений

Версия | Описание
4.3.0 | Добавлены параметры start и length

Примеры

Пример #1 Пример использования strspn()

<?php
// subject не начинается ни из какого символа из mask
var_dump(strspn("foo", "o"));

// проверить два символа из subject начиная с позиции 1
var_dump(strspn("foo", "o", 1, 2));

// проверить один символ из subject начиная с позиции 1
var_dump(strspn("foo", "o", 1, 1));
?>

Результат выполнения данного примера:

int(0)
int(2)
int(1)

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strcspn() - Возвращает длину участка в начале строки, не соответствующего маске

strrpos
strstr
Обработка строк


Находит первое вхождение подстроки

strspn
strtok
Обработка строк
PHP Manual

strstr

(PHP 4, PHP 5)

strstr — Находит первое вхождение подстроки

Описание

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки haystack.

Замечание:

Эта функция учитывает регистр символов. Для поиска без учета регистра используйте stristr().

Замечание:

Если нужно лишь определить, встречается ли подстрока needle в haystack, используйте более быструю и менее ресурсоемкую функцию strpos().

Список параметров

haystack

Входная строка.

needle

Если needle не является строкой, он приводится к целому и трактуется как код символа.

before_needle

Если установлен в TRUE, strstr() возвращает часть строки haystack до первого вхождения needle.

Возвращаемые значения

Возвращает часть строки, или FALSE, если needle не найдена.

Список изменений

Версия | Описание
5.3.0 | Добавлен необязательный параметр before_needle.
4.3.0 | strstr() теперь бинарно-безопасна.

Примеры

Пример #1 Пример использования strstr()

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // выводит @example.com

$user = strstr($email, '@', true); // Начиная с PHP 5.3.0
echo $user; // выводит name
?>

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • stristr() - Регистро-независимый вариант функции strstr
  • strpos() - Возвращает позицию первого вхождения подстроки
  • strrchr() - Находит последнее вхождение символа в строке
  • substr() - Возвращает подстроку

strspn
strtok
Обработка строк


Разбивает строку на токены

strstr
strtolower
Обработка строк
PHP Manual

strtok

(PHP 4, PHP 5)

strtok — Разбивает строку на токены

Описание

string strtok ( string $str , string $token )
string strtok ( string $token )

strtok() разбивает строку str на подстроки (токены), используя в качестве разделителей символы из token. Например, строку "This is an example string" можно разбить на отдельные слова используя пробел в качестве разделителя.

Заметьте, что исходная строка передается только при первом вызове этой функции. Последующим вызовам передаются только разделители, так как эта функция сохраняет исходную строку и запоминает позицию в этой строке между вызовами. Для работы с новой строкой нужно снова вызвать функцию с двумя аргументами. Обратите внимание, что в параметре token можно использовать несколько разделителей. Строка будет делиться по любому найденному символу, присутствующему в этом параметре.

Список параметров

str

Строка (string), разбиваемая на подстроки (токены).

token

Разделитель строки str.

Возвращаемые значения

Токен (string).

Примеры

Пример #1 Пример использования strtok()

<?php
$string = "This is\tan example\nstring";
/* В качестве разделителей используем пробел, табуляцию и перевод строки */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Word=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

Начиная с PHP 4.1.0, был изменен способ обработки пустых подстрок. До версии 4.1.0 эта функция возвращала пустые подстроки, а начиная с 4.1.0 эти подстроки пропускаются.

Пример #2 Старый способ обработки пустых подстрок функцией strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

Результат выполнения данного примера:

    string(0) ""
    string(9) "something"

Пример #3 Новый способ обработки пустых подстрок функцией strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

Результат выполнения данного примера:

    string(9) "something"
    bool(false)

Примечания

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Смотрите также

  • split() - Разбиение строки на массив по регулярному выражению
  • explode() - Разбивает строку с помощью разделителя

strstr
strtolower
Обработка строк


Преобразует строку в нижний регистр

strtok
strtoupper
Обработка строк
PHP Manual

strtolower

(PHP 4, PHP 5)

strtolower — Преобразует строку в нижний регистр

Описание

string strtolower ( string $str )

Возвращает строку string, в которой все буквенные символы переведены в нижний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C", символ Ä не будет преобразован.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает строку в нижнем регистре.

Примеры

Пример #1 Пример использования strtolower()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // выводит: mary had a little lamb and she loved it so
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strtoupper() - Преобразует строку в верхний регистр
  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке
  • mb_strtolower() - Make a string lowercase

strtok
strtoupper
Обработка строк


Преобразует строку в верхний регистр

strtolower
strtr
Обработка строк
PHP Manual

strtoupper

(PHP 4, PHP 5)

strtoupper — Преобразует строку в верхний регистр

Описание

string strtoupper ( string $string )

Возвращает строку string, в которой все буквенные символы переведены в верхний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C", символ ä не будет преобразован.

Список параметров

string

Входная строка.

Возвращаемые значения

Возвращает строку в верхнем регистре.

Примеры

Пример #1 Пример использования strtoupper()

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // выводит: MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strtolower() - Преобразует строку в нижний регистр
  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке
  • mb_strtoupper() - Make a string uppercase

strtolower
strtr
Обработка строк


Преобразует заданные символы или заменяет подстроки

strtoupper
substr_compare
Обработка строк
PHP Manual

strtr

(PHP 4, PHP 5)

strtr — Преобразует заданные символы или заменяет подстроки

Описание

string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

Если указаны три аргумента, эта функция возвращает копию str, в которой все вхождения каждого символа (однобайтного) из from были заменены на соответствующий символ в параметре to, т.е. каждое вхождение из $from[$n] заменяется на $to[$n], где $n это корректное смещение строки в обоих аргументах.

Если длины строк from и to отличаются, "лишние" символы в более длинной строке не используются. Длина возвращаемого значения будет такой же, как и длина str.

strtr() может вызываться с двумя аргументами. В этом случае from должен быть массивом (array), в форме array('from' => 'to', ...). Функция возвратит строку, в которой все ключи массива будут заменены их элементами. strtr() в первую очередь заменяет более длинные ключи, причем одна и та же строка поиска используется только один раз.

В этом случае, ключи и значения могут иметь любую длину, за исключением того, что ключи не должны быть пустыми. Кроме того, длина возвращаемого значения может отличаться от str. Однако, стоит учесть тот факт, что эта функция максимально эффективна в том случае, если все ключи имеют одинаковый размер.

Список параметров

str

Заменяемая строка (string).

from

Строка (string), которая будет заменена на строку to.

to

Строка (string), заменяющая строку from.

replace_pairs

Параметр replace_pairs может быть использован вместо to и from, в этом случае он является массивом (array) и имеет форму array('from' => 'to', ...).

Возвращаемые значения

Возвращает строку (string) с произведенными в ней заменами.

Если replace_pairs содержит ключ, являющийся пустой строкой (""), то будет возвращено значение FALSE.

Примеры

Пример #1 Пример использования strtr()

<?php
//В этой форме strtr() осуществляет побайтное преобразование
//Таким образом, здесь подразумевается однобайтная кодировка:
$addr = strtr($addr, "äåö", "aao");
?>

Следующий пример демонстрирует поведение функции strtr() при вызове только с двумя аргументами. Обратите внимание на приоритет замен ("h" не используется, так как существуют более длинные совпадения) и как замененный текст больше не участвует в поиске.

Пример #2 Пример использования strtr() с двумя аргументами

<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

Результат выполнения данного примера:

hello all, I said hi

Эти два режима довольно сильно различаются. При вызове strtr() с тремя аргументами заменяются байты, а при вызове с двумя аргументами могут быть заменены и более длинные подстроки.

Пример #3 Сравнение поведения функции strtr()

<?php
echo strtr("baab", "ab", "01"),"\n";

$trans = array("ab" => "01");
echo strtr("baab", $trans);
?>

Результат выполнения данного примера:

1001
ba01

Смотрите также

  • str_replace() - Заменяет все вхождения строки поиска на строку замены
  • preg_replace() - Выполняет поиск и замену по регулярному выражению

strtoupper
substr_compare
Обработка строк


Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра

strtr
substr_count
Обработка строк
PHP Manual

substr_compare

(PHP 5)

substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра

Описание

int substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = false ]] )

substr_compare() сравнивает строку main_str (начиная с позиции offset) со строкой str. В сравнении участвуют максимум length символов.

Список параметров

main_str

Основная сравниваемая строка.

str

Следующая сравниваемая строка.

offset

Стартовая позиция сравнения. Если отрицательна, то обозначает смещение с конца строки.

length

Длина сравнения. По умолчанию используется максимальная из длин str и main_str минус offset.

case_insensitivity

Если case_sensitivity имеет значение TRUE, сравнение выполняется с учетом регистра.

Возвращаемые значения

Возвращает отрицательное число, если строка main_str (начиная с символа offset) меньше, чем str; положительное число, если она больше str; 0 если строки равны. Если offset больше или равен длине main_str или length передан и меньше 1, substr_compare() выводит предупреждение и возвращает FALSE.

Список изменений

Версия | Описание
5.1.0 | Добавлена возможность использования отрицательных значений в offset.

Примеры

Пример #1 Пример использования substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // предупреждение
?>

strtr
substr_count
Обработка строк


Возвращает число вхождений подстроки

substr_compare
substr_replace
Обработка строк
PHP Manual

substr_count

(PHP 4, PHP 5)

substr_count — Возвращает число вхождений подстроки

Описание

int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

substr_count() возвращает число вхождений подстроки needle в строку haystack. Заметьте, что параметр needle чувствителен к регистру.

Замечание:

Эта функция не подсчитывает перекрывающиеся подстроки. Смотрите пример ниже!

Список параметров

haystack

Строка, в которой ведется поиск

needle

Искомая подстрока

offset

Смещение начала отсчета

length

Максимальная длина строки в которой будет производится поиск подстроки после указанного смещения. Если сумма смещения и максимальной длины будет больше длины haystack, то будет выведено предупреждение.

Возвращаемые значения

Эта функция возвращает integer.

Список изменений

Версия | Описание
5.1.0 | Добавлены параметры offset и length

Примеры

Пример #1 Пример использования substr_count()

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// строка уменьшается до 's is a test', поэтому вывод будет 1
echo substr_count($text, 'is', 3);

// текст уменьшается до 's i', поэтому вывод будет 0
echo substr_count($text, 'is', 3, 3);

// генерирует предупреждение, так как  5+10 > 14
echo substr_count($text, 'is', 5, 10);

// выводит только 1, т.к. перекрывающиеся подстроки не учитываются
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Смотрите также

  • count_chars() - Возвращает информацию о символах, входящих в строку
  • strpos() - Возвращает позицию первого вхождения подстроки
  • substr() - Возвращает подстроку
  • strstr() - Находит первое вхождение подстроки

substr_compare
substr_replace
Обработка строк


Заменяет часть строки

substr_count
substr
Обработка строк
PHP Manual

substr_replace

(PHP 4, PHP 5)

substr_replace — Заменяет часть строки

Описание

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

substr_replace() заменяет часть строки string, начинающуюся с символа с порядковым номером start и (необязательной) длиной length, строкой replacement и возвращает результат.

Список параметров

string

Входная строка.

Также можно указать массив строк, в этом случае замены будут происходить с каждой предоставленной строкой. В этом случае параметры replacement, start и length могут быть как скалярными значениями - в этом случае эти значения будут применены к каждой строке, так и массивами - в этом случае соответствующие элементы массивов будут применены к каждой предоставленной строке.

replacement

Строка замены.

start

Если start положителен, замена начинается с символа с порядковым номером start строки string.

Если start отрицателен, замена начинается с символа с порядковым номером start, считая от конца строки string.

length

Если аргумент положителен, то он представляет собой длину заменяемой подстроки в строке string. Если этот аргумент отрицательный, он определяет количество символов от конца строки string, на которых заканчивается замена. Этот аргумент необязателен и по умолчанию равен strlen(string);, т.е. замена до конца строки string. Разумеется, если length равен нулю, то это эквивалентно вставке replacement в string на указанной позиции start.

Возвращаемые значения

Возвращает результирущую строку. Если string является массивом, то возвращает массив.

Список изменений

Версия | Описание
4.3.3 | Все параметры теперь могут являться массивами.

Примеры

Пример #1 Простой пример использования substr_replace()

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Оригинал: $var<hr />\n";

/* Обе следующих строки заменяют всю строку $var на 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Вставляет 'bob' в начало $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Обе следующих строки заменяют 'MNRPQR' in $var на 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Удаляет 'MNRPQR' из $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Пример #2 Использование substr_replace() для одновременной множественной замены строк

<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');

// Простой случай: заменяем XXX на YYY в каждой строке.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";

// Более сложный случай с уникальными заменами.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";

// Замены с разными количествами символов.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>

Результат выполнения данного примера:

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • str_replace() - Заменяет все вхождения строки поиска на строку замены
  • substr() - Возвращает подстроку
  • Доступ к символу в строке и его изменение

substr_count
substr
Обработка строк


Возвращает подстроку

substr_replace
trim
Обработка строк
PHP Manual

substr

(PHP 4, PHP 5)

substr — Возвращает подстроку

Описание

string substr ( string $string , int $start [, int $length ] )

Возвращает подстроку строки string, начинающейся с start символа по счету и длиной length символов.

Список параметров

string

Входная строка. Должна содержать хотя бы один символ.

start

Если start неотрицателен, возвращаемая подстрока начинается с позиции start от начала строки, считая от нуля. Например, в строке 'abcdef', в позиции 0 находится символ 'a', в позиции 2 - символ 'c', и т.д.

Если start отрицательный, возвращаемая подстрока начинается с позиции, отстоящей на start символов от конца строки string.

Если string меньше либо содержит ровно start символов, будет возвращено FALSE.

Пример #1 Использование отрицательного параметра start

<?php
$rest = substr("abcdef", -1);    // возвращает "f"
$rest = substr("abcdef", -2);    // возвращает "ef"
$rest = substr("abcdef", -3, 1); // возвращает "d"
?>

length

Если length положительный, возвращаемая строка будет не длиннее length символов, начиная с параметраstart (в зависимости от длины string).

Если length отрицательный, то будет отброшено указанное этим аргументом число символов с конца строки string (после того как будет вычислена стартовая позиция, если start отрицателен). Если при этом позиция начала подстроки, определяемая аргументом start, находится в отброшенной части строки или за ней, возвращается false.

Если указан параметр length и является одним из 0, FALSE или NULL, то будет возвращена пустая строка.

Если параметр length опущен, то будет возвращена подстрока, начинающаяся с позиции, указанной параметром start и длящейся до конца строки.

Пример #2 Использование отрицательного параметра length

<?php
$rest = substr("abcdef", 0, -1);  // возвращает "abcde"
$rest = substr("abcdef", 2, -1);  // возвращает "cde"
$rest = substr("abcdef", 4, -4);  // возвращает false
$rest = substr("abcdef", -3, -1); // возвращает "de"
?>

Возвращаемые значения

Возвращает извлеченную часть строки, или FALSE в случае возникновения ошибки или пустую строку.

Список изменений

Версия | Описание
5.2.2 - 5.2.6 | Если параметр start указывает на позицию с отрицательной обрезкой, возвращается FALSE. Другие версии возвращают строку с начала.

Примеры

Пример #3 Базовое использование substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Получить доступ к отдельному символу в строке
// можно также с помощью "квадратных скобок"
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

Пример #4 substr() и приведение типов

<?php
class apple {
    public function __toString() {
        return "green";
    }
}

echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

Результат выполнения данного примера:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Ошибки

Возвращает FALSE в случае ошибки.

<?php
var_dump(substr('a', 1)); // bool(false)
?>

Смотрите также

  • strrchr() - Находит последнее вхождение символа в строке
  • substr_replace() - Заменяет часть строки
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • trim() - Удаляет пробелы (или другие символы) из начала и конца строки
  • mb_substr() - Возвращает часть строки
  • wordwrap() - Переносит строку по указанному количеству символов
  • Посимвольный доступ и изменение строки

substr_replace
trim
Обработка строк


Удаляет пробелы (или другие символы) из начала и конца строки

substr
ucfirst
Обработка строк
PHP Manual

trim

(PHP 4, PHP 5)

trim — Удаляет пробелы (или другие символы) из начала и конца строки

Описание

string trim ( string $str [, string $charlist ] )

Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Список параметров

str

Обрезаемая строка (string).

charlist

Можно также задать список символов для удаления с помощью необязательного аргумента charlist. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Обрезаемая строка.

Список изменений

Версия | Описание
4.1.0 | Добавлен необязательный параметр charlist.

Примеры

Пример #1 Пример использования trim()

<?php

$text   = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

$trimmed = trim($hello, 'HdWr');
var_dump($trimmed);

// удаляем управляющие ASCII-символы с начала и конца $binary
// (от 0 до 31 включительно)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

Результат выполнения данного примера:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(9) "ello Worl"
string(14) "Example string"

Пример #2 Обрезание значений массива с помощью trim()

<?php
function trim_value(&$value)
{
    $value = trim($value);
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

Примечания

Замечание: Возможные трюки: удаление символов из середины строки

Так как trim() удаляет символы с начала и конца строки string, то удаление (или неудаление) символов из середины строки может ввести в недоумение. trim('abc', 'bad') удалит как 'a', так и 'b', потому что удаление 'a' сдвинет 'b' к началу строки, что также позволит ее удалить. Вот почему это "работает", тогда как trim('abc', 'b') очевидно нет.

Смотрите также

  • ltrim() - Удаляет пробелы (или другие символы) из начала строки
  • rtrim() - Удаляет пробелы (или другие символы) из конца строки
  • str_replace() - Заменяет все вхождения строки поиска на строку замены

substr
ucfirst
Обработка строк


Преобразует первый символ строки в верхний регистр

trim
ucwords
Обработка строк
PHP Manual

ucfirst

(PHP 4, PHP 5)

ucfirst — Преобразует первый символ строки в верхний регистр

Описание

string ucfirst ( string $str )

Возвращает строку str, в которой первый символ переведен в верхний регистр, если этот символ является буквой.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C", символ ä не будет преобразован.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает результирующую строку.

Примеры

Пример #1 Пример использования ucfirst()

<?php
$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>

Смотрите также

  • lcfirst() - Преобразует первый символ строки в нижний регистр
  • strtolower() - Преобразует строку в нижний регистр
  • strtoupper() - Преобразует строку в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке

trim
ucwords
Обработка строк


Преобразует в верхний регистр первый символ каждого слова в строке

ucfirst
vfprintf
Обработка строк
PHP Manual

ucwords

(PHP 4, PHP 5)

ucwords — Преобразует в верхний регистр первый символ каждого слова в строке

Описание

string ucwords ( string $str )

Возвращает строку str, в которой первый символ каждого слова переведен в верхний регистр, если этот символ является буквой.

Эта функция считает словами последовательности символов, разделенных пробельными символами, которыми являются пробел, разрыв страницы, перевод строки, возврат каретки, горизонтальная и вертикальная табуляция.

Список параметров

str

Входная строка.

Возвращаемые значения

Возвращает модифицированную строку.

Примеры

Пример #1 Пример использования ucwords()

<?php
$foo = 'hello world!';
$foo = ucwords($foo);             // Hello World!

$bar = 'HELLO WORLD!';
$bar = ucwords($bar);             // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strtoupper() - Преобразует строку в верхний регистр
  • strtolower() - Преобразует строку в нижний регистр
  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • mb_convert_case() - Perform case folding on a string

ucfirst
vfprintf
Обработка строк


Записывает отформатированную строку в поток

ucwords
vprintf
Обработка строк
PHP Manual

vfprintf

(PHP 5)

vfprintf — Записывает отформатированную строку в поток

Описание

int vfprintf ( resource $handle , string $format , array $args )

Записывает строку, отформатированную в соответствии с параметром format в поток handle.

Данная функция похожа на fprintf(), но принимает не переменное число аргументов, а массив.

Список параметров

handle

format

Описание параметра format смотрите в документации к функции sprintf().

args

Возвращаемые значения

Возвращает длину выведенной строки.

Примеры

Пример #1 vfprintf(): дополнение нулями целых чисел

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// запишет дату в формате ISO в date.txt
?>

Смотрите также

  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • vsprintf() - Возвращает отформатированную строку
  • number_format() - Форматирует число с разделением групп

ucwords
vprintf
Обработка строк


Выводит отформатированную строку

vfprintf
vsprintf
Обработка строк
PHP Manual

vprintf

(PHP 4 >= 4.1.0, PHP 5)

vprintf — Выводит отформатированную строку

Описание

int vprintf ( string $format , array $args )

Выводит значения массива, отформатированные в соответствии с аргументом format, описанном в документации функции sprintf().

Эта функция подобна printf(), но она принимает не переменное число аргументов, а массив.

Список параметров

format

Описание параметра format смотрите в документации к функции sprintf().

args

Возвращаемые значения

Возвращает длину выведенной строки.

Примеры

Пример #1 vprintf(): дополнение нулями целых чисел

<?php
vprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Смотрите также

  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку
  • vsprintf() - Возвращает отформатированную строку

vfprintf
vsprintf
Обработка строк


Возвращает отформатированную строку

vprintf
wordwrap
Обработка строк
PHP Manual

vsprintf

(PHP 4 >= 4.1.0, PHP 5)

vsprintf — Возвращает отформатированную строку

Описание

string vsprintf ( string $format , array $args )

Эта функция подобна sprintf(), но она принимает не переменное число аргументов, а массив.

Список параметров

format

Описание параметра format смотрите в документации к функции sprintf().

args

Возвращаемые значения

Возвращает значения массива в виде строки, отформатированные в соответствии с параметром format, описанном в документации к функции sprintf().

Примеры

Пример #1 vsprintf(): дополнение нулями целых чисел

<?php
print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Смотрите также

  • sprintf() - Возвращает отформатированную строку
  • vprintf() - Выводит отформатированную строку

vprintf
wordwrap
Обработка строк


Переносит строку по указанному количеству символов

vsprintf
Расширения, относящиеся к переменным и типам
Обработка строк
PHP Manual

wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap — Переносит строку по указанному количеству символов

Описание

string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )

Переносит строку по указанному количеству символов.

Список параметров

str

Входная строка.

width

Допустимая ширина строки.

break

Символ переноса строки можно указать с помощью необязательного параметра break.

cut

Если параметр cut установлен в TRUE, строка всегда будет переноситься на указанной ширине или раньше. Поэтому, если исходная строка содержит слово длиннее заданной ширины строки, то оно будет разорвано. (Смотрите второй пример).

Возвращаемые значения

Возвращает строку, с вставленными символами переноса на указанной ширине.

Список изменений

Версия | Описание
4.0.3 | Добавлен необязательный параметр cut.

Примеры

Пример #1 Пример использования wordwrap()

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

Результат выполнения данного примера:

The quick brown fox<br />
jumped over the lazy<br />
dog.

Пример #2 Пример использования wordwrap()

<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

Результат выполнения данного примера:

A very
long
wooooooo
ooooord.

Смотрите также

  • nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки
  • chunk_split() - Разбивает строку на фрагменты

vsprintf
Расширения, относящиеся к переменным и типам
Обработка строк


Расширения, относящиеся к переменным и типам

  • Массивы
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Sorting Arrays
    • Функции для работы с массивами
  • Классы/Объекты — Функции работы с Классами/Объектами
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Классы/Объекты
  • Classkit
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • classkit
  • Ctype — Функции определения типа символов
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Ctype
  • Filter — Фильтрация данных
    • Введение
    • Установка и настройка
    • Types of filters
    • Предопределенные константы
    • Примеры
    • Фильтрация данных
  • Управление функциями
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Управление функциями
  • Object Aggregation — Object Aggregation/Composition [PHP 4]
    • Введение
    • Примеры
    • Object Aggregation Функции
  • Quickhash
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashIntStringHash — The QuickHashIntStringHash class
  • Reflection
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Расширение
    • Reflection — Класс Reflection
    • ReflectionClass — Класс ReflectionClass
    • ReflectionExtension — Класс ReflectionExtension
    • ReflectionFunction — Класс ReflectionFunction
    • ReflectionFunctionAbstract — Класс ReflectionFunctionAbstract
    • ReflectionMethod — Класс ReflectionMethod
    • ReflectionObject — Класс ReflectionObject
    • ReflectionParameter — Класс ReflectionParameter
    • ReflectionProperty — Класс ReflectionProperty
    • Reflector — Интерфейс Reflector
    • ReflectionException — Класс ReflectionException
  • Функции для работы с переменными
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции для работы с переменными
wordwrap
Массивы
Справочник функций


Массивы

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Sorting Arrays
  • Функции для работы с массивами
    • array_change_key_case — Меняет регистр ключей в массиве
    • array_chunk — Разбивает массив на части
    • array_combine — Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений
    • array_count_values — Подсчитывает количество всех значений массива
    • array_diff_assoc — Вычисляет расхождение массивов с дополнительной проверкой индекса
    • array_diff_key — Вычисляет расхождение массивов, сравнивая ключи
    • array_diff_uassoc — Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
    • array_diff_ukey — Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
    • array_diff — Вычислить расхождение массивов
    • array_fill_keys — Создает массив и заполняет его значениями, с определенными ключами
    • array_fill — Заполняет массив значениями
    • array_filter — Фильтрует элементы массива с помощью callback-функции
    • array_flip — Меняет местами ключи с их значениями в массиве
    • array_intersect_assoc — Вычисляет схождение массивов с дополнительной проверкой индекса
    • array_intersect_key — Вычислить пересечение массивов, сравнивая ключи
    • array_intersect_uassoc — Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
    • array_intersect_ukey — Вычисляет схождение массивов, используя callback-функцию для сравнения ключей
    • array_intersect — Вычисляет схождение массивов
    • array_key_exists — Проверяет, присутствует ли в массиве указанный ключ или индекс
    • array_keys — Возвращает все или некоторое подмножество ключей массива
    • array_map — Применяет callback-функцию ко всем элементам указанных массивов
    • array_merge_recursive — Рекурсивное слияние двух или более массивов
    • array_merge — Сливает один или большее количество массивов
    • array_multisort — Сортирует несколько массивов или многомерные массивы
    • array_pad — Дополнить размер массива определенным значением до заданной величины
    • array_pop — Извлекает последний элемент массива
    • array_product — Вычислить произведение значений массива
    • array_push — Добавляет один или несколько элеметов в конец массива
    • array_rand — Выбирает одно или несколько случайных значений из массива
    • array_reduce — Итеративно уменьшает массив к единственному значению, используя callback-функцию
    • array_replace_recursive — Рекурсивно заменяет элементы первого массива элементами переданных массивов
    • array_replace — Replaces elements from passed arrays into the first array
    • array_reverse — Возвращает массив с элементами в обратном порядке
    • array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
    • array_shift — Извлекает первый элемент массива
    • array_slice — Выбирает срез массива
    • array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
    • array_sum — Вычисляет сумму значений массива
    • array_udiff_assoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
    • array_udiff_uassoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
    • array_udiff — Вычисляет расхождение массивов, используя для сравнения callback-функцию
    • array_uintersect_assoc — Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
    • array_uintersect_uassoc — Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию
    • array_uintersect — Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
    • array_unique — Убирает повторяющиеся значения из массива
    • array_unshift — Добавляет один или несколько элементов в начало массива
    • array_values — Выбирает все значения массива
    • array_walk_recursive — Рекурсивно применяет пользовательскую функцию к каждому элементу массива
    • array_walk — Применяет пользовательскую функцию к каждому элементу массива
    • array — Создает массив
    • arsort — Сортирует массив в обратном порядке, сохраняя ключи
    • asort — Сортирует массив, сохраняя ключи
    • compact — Создает массив, содержащий названия переменных и их значения
    • count — Подсчитывает количество элементов массива или что-то в объекте
    • current — Возвращает текущий элемент массива
    • each — Возвращает текущую пару ключ/значение из массива и смещает его указатель
    • end — Устанавливает внутренний указатель массива на его последний элемент
    • extract — Импортирует переменные из массива в текущую таблицу символов
    • in_array — Проверяет, присутствует ли в массиве значение
    • key — Выбирает ключ из массива
    • krsort — Сортирует массив по ключам в обратном порядке
    • ksort — Сортирует массив по ключам
    • list — Присваивает переменным из списка значения подобно массиву
    • natcasesort — Сортирует массив, используя алгоритм "natural order" без учета регистра символов
    • natsort — Сортирует массив, используя алгоритм "natural order"
    • next — Передвигает внутренний указатель массива на одну позицию вперёд
    • pos — Псевдоним current
    • prev — Передвигает внутренний указатель массива на одну позицию назад
    • range — Создает массив, содержащий диапазон элементов
    • reset — Устанавливает внутренний указатель массива на его первый элемент
    • rsort — Сортирует массив в обратном порядке
    • shuffle — Перемешивает массив
    • sizeof — Псевдоним count
    • sort — Сортирует массив
    • uasort — Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей
    • uksort — Сортирует массив по ключам, используя пользовательскую функцию для сравнения ключей
    • usort — Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов
Расширения, относящиеся к переменным и типам
Введение
Расширения, относящиеся к переменным и типам


Введение

Эти функции позволяют различными способами оперировать массивами. Массивы идеально подходят для хранения, изменения и работы с наборами переменных.

Поддерживаются одно- и многомерные массивы, как созданные пользователем, так и возвращенные в качестве результата какой-либо функцией. Используя специальные функции можно записать в массив результы запроса к базам данных. Так же существуют функции, возвращающие массивы в качестве результата.

За дополнительными сведениями о создании и использовании массивов в PHP, смотрите главу Массивы данного руководства. Смотрите также операции над массивами.

Массивы
Установка и настройка
Массивы


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Массивы


Предопределенные константы

Перечисленные ниже константы всегда доступны как часть ядра PHP.

CASE_LOWER (integer)
CASE_LOWER используется с array_change_key_case() для конвертации ключей массива в нижний регистр. Это действие по умолчанию для array_change_key_case().
CASE_UPPER (integer)
CASE_UPPER используется c array_change_key_case() для конвертации ключей массива в верхний регистр.

Флаги, изменяющие порядок сортировки:

SORT_ASC (integer)
SORT_ASC используется с array_multisort() для сортировки в порядке возрастания.
SORT_DESC (integer)
SORT_DESC используется с array_multisort() для сортировки в порядке убывания.

Флаги сортировки, используемые различными функциями:

SORT_REGULAR (integer)
SORT_REGULAR используется для обычного сравнения элементов массива.
SORT_NUMERIC (integer)
SORT_NUMERIC используется для сравнения элементов, как цифр.
SORT_STRING (integer)
SORT_STRING используется для сравнения элементов, как строк.
SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRING используется для сравнения элементов, как строк на базе текущей локали. Добавлено в PHP 4.4.0 и 5.0.2.

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)
Типы ресурсов
Sorting Arrays
Массивы


Sorting Arrays

PHP has several functions that deal with sorting arrays, and this document exists to help sort it all out.

The main differences are:

  • Some sort based on the array keys, whereas others by the values: $array['key'] = 'value';
  • Whether or not the correlation between the keys and values are maintained after the sort, which may mean the keys are reset numerically (0,1,2 ...)
  • The order of the sort: alphabetical, low to high (ascending), high to low (descending), numerical, natural, random, or user defined
  • Note: All of these sort functions act directly on the array variable itself, as opposed to returning a new sorted array
  • If any of these sort functions evaluates two members as equal then the order is undefined (the sorting is not stable).

Sorting function attributes
Function name | Sorts by | Maintains key association | Order of sort | Related functions
array_multisort() | value | associative yes, numeric no | first array or sort options | array_walk()
asort() | value | yes | low to high | arsort()
arsort() | value | yes | high to low | asort()
krsort() | key | yes | high to low | ksort()
ksort() | key | yes | low to high | asort()
natcasesort() | value | yes | natural, case insensitive | natsort()
natsort() | value | yes | natural | natcasesort()
rsort() | value | no | high to low | sort()
shuffle() | value | no | random | array_rand()
sort() | value | no | low to high | rsort()
uasort() | value | yes | user defined | uksort()
uksort() | key | yes | user defined | uasort()
usort() | value | no | user defined | uasort()

Предопределенные константы
Функции для работы с массивами
Массивы


Функции для работы с массивами

Смотрите также

См. также is_array(), explode(),
implode(), split(),
preg_split() и unset().

Содержание

  • array_change_key_case — Меняет регистр ключей в массиве
  • array_chunk — Разбивает массив на части
  • array_combine — Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений
  • array_count_values — Подсчитывает количество всех значений массива
  • array_diff_assoc — Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_key — Вычисляет расхождение массивов, сравнивая ключи
  • array_diff_uassoc — Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_diff_ukey — Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
  • array_diff — Вычислить расхождение массивов
  • array_fill_keys — Создает массив и заполняет его значениями, с определенными ключами
  • array_fill — Заполняет массив значениями
  • array_filter — Фильтрует элементы массива с помощью callback-функции
  • array_flip — Меняет местами ключи с их значениями в массиве
  • array_intersect_assoc — Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_key — Вычислить пересечение массивов, сравнивая ключи
  • array_intersect_uassoc — Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_intersect_ukey — Вычисляет схождение массивов, используя callback-функцию для сравнения ключей
  • array_intersect — Вычисляет схождение массивов
  • array_key_exists — Проверяет, присутствует ли в массиве указанный ключ или индекс
  • array_keys — Возвращает все или некоторое подмножество ключей массива
  • array_map — Применяет callback-функцию ко всем элементам указанных массивов
  • array_merge_recursive — Рекурсивное слияние двух или более массивов
  • array_merge — Сливает один или большее количество массивов
  • array_multisort — Сортирует несколько массивов или многомерные массивы
  • array_pad — Дополнить размер массива определенным значением до заданной величины
  • array_pop — Извлекает последний элемент массива
  • array_product — Вычислить произведение значений массива
  • array_push — Добавляет один или несколько элеметов в конец массива
  • array_rand — Выбирает одно или несколько случайных значений из массива
  • array_reduce — Итеративно уменьшает массив к единственному значению, используя callback-функцию
  • array_replace_recursive — Рекурсивно заменяет элементы первого массива элементами переданных массивов
  • array_replace — Replaces elements from passed arrays into the first array
  • array_reverse — Возвращает массив с элементами в обратном порядке
  • array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
  • array_shift — Извлекает первый элемент массива
  • array_slice — Выбирает срез массива
  • array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
  • array_sum — Вычисляет сумму значений массива
  • array_udiff_assoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_udiff — Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_uintersect_assoc — Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc — Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию
  • array_uintersect — Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_unique — Убирает повторяющиеся значения из массива
  • array_unshift — Добавляет один или несколько элементов в начало массива
  • array_values — Выбирает все значения массива
  • array_walk_recursive — Рекурсивно применяет пользовательскую функцию к каждому элементу массива
  • array_walk — Применяет пользовательскую функцию к каждому элементу массива
  • array — Создает массив
  • arsort — Сортирует массив в обратном порядке, сохраняя ключи
  • asort — Сортирует массив, сохраняя ключи
  • compact — Создает массив, содержащий названия переменных и их значения
  • count — Подсчитывает количество элементов массива или что-то в объекте
  • current — Возвращает текущий элемент массива
  • each — Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • end — Устанавливает внутренний указатель массива на его последний элемент
  • extract — Импортирует переменные из массива в текущую таблицу символов
  • in_array — Проверяет, присутствует ли в массиве значение
  • key — Выбирает ключ из массива
  • krsort — Сортирует массив по ключам в обратном порядке
  • ksort — Сортирует массив по ключам
  • list — Присваивает переменным из списка значения подобно массиву
  • natcasesort — Сортирует массив, используя алгоритм "natural order" без учета регистра символов
  • natsort — Сортирует массив, используя алгоритм "natural order"
  • next — Передвигает внутренний указатель массива на одну позицию вперёд
  • pos — Псевдоним current
  • prev — Передвигает внутренний указатель массива на одну позицию назад
  • range — Создает массив, содержащий диапазон элементов
  • reset — Устанавливает внутренний указатель массива на его первый элемент
  • rsort — Сортирует массив в обратном порядке
  • shuffle — Перемешивает массив
  • sizeof — Псевдоним count
  • sort — Сортирует массив
  • uasort — Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей
  • uksort — Сортирует массив по ключам, используя пользовательскую функцию для сравнения ключей
  • usort — Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов
Sorting Arrays
array_change_key_case
Массивы


Меняет регистр ключей в массиве

Функции для работы с массивами
array_chunk
Функции для работы с массивами
PHP Manual

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5)

array_change_key_case — Меняет регистр ключей в массиве

Описание

array array_change_key_case ( array $input [, int $case = CASE_LOWER ] )

Возвращает массив input, все ключи которого преобразованы в нижний или верхний регистр. Числовые ключи останутся нетронутыми.

Список параметров

input

Обрабатываемый массив

case

Либо CASE_UPPER, либо CASE_LOWER (используется по умолчанию)

Возвращаемые значения

Возвращает массив с ключами, преобразованными в верхний или нижний регистр, либо FALSE, если input не является массивом.

Ошибки

Генерирует ошибку уровня E_WARNING, если input не является массивом.

Примеры

Пример #1 Пример использования array_change_key_case()

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

Результат выполнения данного примера:

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Примечания

Замечание:

Если массив содержит индексы, которые станут одноименными после применения данной функции (например, "keY" и "kEY"), значение последнего одноименного индекса перекроет другие совпадающие значения из этого массива.

Функции для работы с массивами
array_chunk
Функции для работы с массивами


Разбивает массив на части

array_change_key_case
array_combine
Функции для работы с массивами
PHP Manual

array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk — Разбивает массив на части

Описание

array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )

Разбивает массив на несколько частей размером size. Последний массив из полученных может содержать меньшее количество значений, чем указано в size.

Список параметров

input

Обрабатываемый массив

size

Размер каждой части

preserve_keys

Если установлено в TRUE, ключи оригинального массива будут сохранены. По умолчанию установлено в FALSE, что переиндексирует каждую часть с числовыми ключами

Возвращаемые значения

Возвращает многомерный массив с числовыми индексами, начинающимися с нуля, каждый элемент которого содержит size элементов из оригинального массива.

Ошибки

Если size меньше 1, будет сгенерирована ошибка уровня E_WARNING и возвращен NULL.

Примеры

Пример #1 Пример использования array_chunk()

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

Результат выполнения данного примера:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

array_change_key_case
array_combine
Функции для работы с массивами


Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений

array_chunk
array_count_values
Функции для работы с массивами
PHP Manual

array_combine

(PHP 5)

array_combine — Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений

Описание

array array_combine ( array $keys , array $values )

Создает array, используя значения массива keys в качестве ключей и значения масссива values в качестве соответствующих значений.

Список параметров

keys

Массив ключей. Некорректные значения для ключей будут преобразованы в string.

values

Массив значений

Возвращаемые значения

Возвращает скомбинированный array, либо FALSE, если количество элементов в массивах не совпадает.

Ошибки

Генерирует ошибку уровня E_WARNING, если количество элементов в keys и values не совпадает.

Список изменений

Версия | Описание
5.4.0 | Предыдущие версии выдавали E_WARNING и возвращали FALSE для пустых массивов.

Примеры

Пример #1 Простой пример использования array_combine()

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

Результат выполнения данного примера:

Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)

Смотрите также

  • array_merge() - Сливает один или большее количество массивов
  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива
  • array_values() - Выбирает все значения массива

array_chunk
array_count_values
Функции для работы с массивами


Подсчитывает количество всех значений массива

array_combine
array_diff_assoc
Функции для работы с массивами
PHP Manual

array_count_values

(PHP 4, PHP 5)

array_count_values — Подсчитывает количество всех значений массива

Описание

array array_count_values ( array $input )

Функция array_count_values() возвращает массив, ключами которого являются значения массива input, а значениями - частота повторения значений input.

Список параметров

input

Массив подсчитываемых значений

Возвращаемые значения

Возвращает ассоциативный массив со значениями input в качестве ключей и их количества в качестве значений.

Ошибки

Генерирует ошибку уровня E_WARNING для каждого элемента, не являющегося string или integer.

Примеры

Пример #1 Пример использования array_count_values()

<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

Результат выполнения данного примера:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

Смотрите также

  • count() - Подсчитывает количество элементов массива или что-то в объекте
  • array_unique() - Убирает повторяющиеся значения из массива
  • array_values() - Выбирает все значения массива
  • count_chars() - Возвращает информацию о символах, входящих в строку

array_combine
array_diff_assoc
Функции для работы с массивами


Вычисляет расхождение массивов с дополнительной проверкой индекса

array_count_values
array_diff_key
Функции для работы с массивами
PHP Manual

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc — Вычисляет расхождение массивов с дополнительной проверкой индекса

Описание

array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )

Сравнивает array1 с array2 и возвращает разницу. В отличие от array_diff(), ключи также участвуют в сравнении.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

Возвращаемые значения

Возвращает array, содержащие все значения из массива array1, которых нет в любом из последующих массивов.

Примеры

Пример #1 Пример использования array_diff_assoc()

В вышеприведённом примере вы видите, что пара "a" => "green" содержится в обоих массивах и поэтому её не содержится в выводе функции. Наоборот, пара 0 => "red" содержится в выводе функции, потому что во втором аргументе значению "red" соответствует ключ 1.

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Пример #2 Пример array_diff_assoc()

Два значения пар key => value считаются равными только тогда, если (string) $elem1 === (string) $elem2 . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [0] => 0
    [1] => 1
    )

Примечания

Замечание: Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_assoc($array1[0], $array2[0]);.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса

array_count_values
array_diff_key
Функции для работы с массивами


Вычисляет расхождение массивов, сравнивая ключи

array_diff_assoc
array_diff_uassoc
Функции для работы с массивами
PHP Manual

array_diff_key

(PHP 5 >= 5.1.0)

array_diff_key — Вычисляет расхождение массивов, сравнивая ключи

Описание

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

Сравнивает ключи array1 с ключами array2 и возвращает разницу. Эта функция схожа с array_diff() за исключением того, что сравниваются ключи, а не значения.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

Возвращаемые значения

Возвращает array, содержащий все элементы array1 с ключами, которых нет в во всех последующих массивах.

Примеры

Пример #1 Пример использования array_diff_key()

Два ключа пар key => value считаются равными только тогда, когда (string) $key1 === (string) $key2 . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

Результат выполнения данного примера:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Примечания

Замечание:

Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_key($array1[0], $array2[0]);.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_diff_ukey() - Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_intersect_key() - Вычислить пересечение массивов, сравнивая ключи
  • array_intersect_ukey() - Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

array_diff_assoc
array_diff_uassoc
Функции для работы с массивами


Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции

array_diff_key
array_diff_ukey
Функции для работы с массивами
PHP Manual

array_diff_uassoc

(PHP 5)

array_diff_uassoc — Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции

Описание

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

Сравнивает array1 c array2 и возвращает разницу. В отличие от array_diff(), для сравнения используются ключи.

В отличие от array_diff_assoc(), для сравнения ключей используется пользовательская функция, а не встроенная.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

key_compare_func

Используемая callback-функция. Данная функция должна возвращать целое число, меньшее, равное, либо большее нуля, если первый аргумент соответственно считается меньшим, равным, либо большим, чем второй.

Возвращаемые значения

Возвращает array, содержащий все элементы array1, которых нет во всех остальных массивах.

Примеры

Пример #1 Пример использования array_diff_uassoc()

Пара "a" => "green" существует в обоих массивах и поэтому отсутствует в выводе функции. Наоборот, пара 0 => "red" находится в выводе функции, так как второй аргумент "red" имеет ключ, равный 1.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Равенство 2 индексов проверяется функцией, предоставляемой пользователем.

Примечания

Замечание:

Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_diff_key
array_diff_ukey
Функции для работы с массивами


Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей

array_diff_uassoc
array_diff
Функции для работы с массивами
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей

Описание

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

Сравнивает ключи array1 с ключами array2 и возвращает разницу. Эта функция похожа на array_diff() за исключением того, что сравниваются ключи, а не значения.

В отличие от функции array_diff_key() для сравнения ключей используется функция, предоставляемая пользователем, а не встроенная функция.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

key_compare_func

Применяемая callback-функция. Данная функция должна возвращать целое число, меньшее, равное, либо большее нуля, если первый аргумент соответственно считается меньшим, равным, либо большим, чем второй.

Возвращаемые значения

Возвращает array, содержащий все элементы array1, отсутствующие в каком-либо из всех остальных массивов.

Примеры

Пример #1 Пример использования array_diff_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

Результат выполнения данного примера:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Примечания

Замечание:

Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_diff_key() - Вычисляет расхождение массивов, сравнивая ключи
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_intersect_key() - Вычислить пересечение массивов, сравнивая ключи
  • array_intersect_ukey() - Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

array_diff_uassoc
array_diff
Функции для работы с массивами


Вычислить расхождение массивов

array_diff_ukey
array_fill_keys
Функции для работы с массивами
PHP Manual

array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff — Вычислить расхождение массивов

Описание

array array_diff ( array $array1 , array $array2 [, array $... ] )

Сравнивает array1 с array2 и возвращает разницу.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

Возвращаемые значения

Возвращает array, содержащий элементы array1, отсутствующие в любом из всех остальных массивах.

Примеры

Пример #1 Пример использования array_diff()

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

Множественные совпадения в $array1 обрабатываются как одно. Результат будет следующим :

Array
(
    [1] => blue
)

Примечания

Замечание:

Два элемента считаются одинаковыми тогда и только тогда, если (string) $elem1 === (string) $elem2. Другими словами, когда их строковое представление идентично.

Замечание:

Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff($array1[0], $array2[0]);.

Смотрите также

  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса

array_diff_ukey
array_fill_keys
Функции для работы с массивами


Создает массив и заполняет его значениями, с определенными ключами

array_diff
array_fill
Функции для работы с массивами
PHP Manual

array_fill_keys

(PHP 5 >= 5.2.0)

array_fill_keys — Создает массив и заполняет его значениями, с определенными ключами

Описание

array array_fill_keys ( array $keys , mixed $value )

Создает и заполняет массив значением параметра value, используя значения массива keys в качестве ключей.

Список параметров

keys

Массив значений, которые будут использованы в качестве ключей. Некорректные ключи массива будут преобразованы в string.

value

Заполняемое значение

Возвращаемые значения

Возвращает заполненный массив

Примеры

Пример #1 Пример использования array_fill_keys()

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

Результат выполнения данного примера:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Смотрите также

  • array_fill() - Заполняет массив значениями
  • array_combine() - Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений

array_diff
array_fill
Функции для работы с массивами


Заполняет массив значениями

array_fill_keys
array_filter
Функции для работы с массивами
PHP Manual

array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill — Заполняет массив значениями

Описание

array array_fill ( int $start_index , int $num , mixed $value )

Заполняет массив num элементами со значением value, начиная с ключа start_index.

Список параметров

start_index

Первый индекс возвращаемого массива.

Если start_index отрицателен, первым индексом возвращаемого массива будет start_index, а последующие индексы будут начинаться с нуля (смотрите пример).

num

Количество вставляемых элементов, должно быть больше нуля.

value

Значение для заполнения

Возвращаемые значения

Возвращает заполненный мссив

Ошибки

Генерирует ошибку уровня E_WARNING, если num меньше единицы.

Примеры

Пример #1 Пример использования array_fill()

<?php
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);
?>

Результат выполнения данного примера:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
Array
(
    [-2] => pear
    [0] => pear
    [1] => pear
    [2] => pear
)

Примечания

Смотрите также подробное описание отрицательных ключей в разделе Массивы.

Смотрите также

  • array_fill_keys() - Создает массив и заполняет его значениями, с определенными ключами
  • str_repeat() - Возвращает повторяющуюся строку
  • range() - Создает массив, содержащий диапазон элементов

array_fill_keys
array_filter
Функции для работы с массивами


Фильтрует элементы массива с помощью callback-функции

array_fill
array_flip
Функции для работы с массивами
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Фильтрует элементы массива с помощью callback-функции

Описание

array array_filter ( array $input [, callback $callback ] )

Обходит каждое значение массива input, передавая его в callback-функцию. Если callback-функция возвращает true, данное значение возвращается в массив input. Ключи массива сохраняются.

Список параметров

input

Итерируемый массив

callback

Используемая callback-функция

Если callback-функция не передана, все значения массива input равные FALSE (см. преобразование в булевый тип) будут удалены.

Возвращаемые значения

Возвращает отфильтрованный массив.

Примеры

Пример #1 Пример использования array_filter()

<?php
function odd($var)
{
    // является ли переданное число нечетным
    return($var & 1);
}

function even($var)
{
    // является ли переданное число четным
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Нечетные:\n";
print_r(array_filter($array1, "odd"));
echo "Четные:\n";
print_r(array_filter($array2, "even"));
?>

Результат выполнения данного примера:

Нечетные:
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Четные:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Пример #2 Использование array_filter() без callback-функции

<?php

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?>

Результат выполнения данного примера:

Array
(
    [0] => foo
    [2] => -1
)

Примечания

Предостережение

Если callback-функция изменяет массив (например, добавляет или удаляет элементы), поведение этой функции неопределено.

Смотрите также

  • array_map() - Применяет callback-функцию ко всем элементам указанных массивов
  • array_reduce() - Итеративно уменьшает массив к единственному значению, используя callback-функцию
  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива

array_fill
array_flip
Функции для работы с массивами


Меняет местами ключи с их значениями в массиве

array_filter
array_intersect_assoc
Функции для работы с массивами
PHP Manual

array_flip

(PHP 4, PHP 5)

array_flip — Меняет местами ключи с их значениями в массиве

Описание

array array_flip ( array $trans )

Функция array_flip() возвращает array наоборот, то есть ключи массива trans становятся значениями, а значения массива trans становятся ключами.

Обратите внимание, что значения массива trans должны быть корректными ключами, то есть они должны иметь тип integer или string. Если значение имеет неверный тип, будет выдано предупреждение и данная пара ключ/значение не будет обработана.

Если значение встречается несколько раз, для обработки будет использоваться последний встреченный ключ, а все остальные будут потеряны.

Список параметров

trans

Массив переворачиваемых пар ключ/значение.

Возвращаемые значения

Возвращает перевернутый массив в случае успеха, или NULL в случае ошибки.

Примеры

Пример #1 Пример использования array_flip()

<?php
$trans = array_flip($trans);
$original = strtr($str, $trans);
?>

Пример #2 Пример использования array_flip() с коллизиями

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

теперь $trans содержит:

Array
(
    [1] => b
    [2] => c
)

Смотрите также

  • array_values() - Выбирает все значения массива
  • array_keys() - Возвращает все или некоторое подмножество ключей массива
  • array_reverse() - Возвращает массив с элементами в обратном порядке

array_filter
array_intersect_assoc
Функции для работы с массивами


Вычисляет схождение массивов с дополнительной проверкой индекса

array_flip
array_intersect_key
Функции для работы с массивами
PHP Manual

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_intersect_assoc — Вычисляет схождение массивов с дополнительной проверкой индекса

Описание

array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )

Функция array_intersect_assoc() возвращает массив, содержащий все значения массива array1, которые содержатся во всех указанных аргументах. Обратите внимание, что при сравнении используются ключи, в отличии от функции array_intersect().

Список параметров

array1

Основной проверяемый массив.

array2

Массив, с которым идет сравнение

array

Переменный список сравниваемых массивов

Возвращаемые значения

Возвращает ассоциативный массив, содержащий все элементы массива array1, которые существуют во всех переданных аргументах.

Примеры

Пример #1 Пример использования array_intersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

Результат выполнения данного примера:

Array
(
    [a] => green
)

В нашем примере видно, что только пара "a" => "green", содержится в обоих массивах и таким образом возвращается. Значение "red" не возвращается, потому что в массиве $array1 его ключ - 0, в то время как ключ значения "red" в массиве $array2 - 1, а ключ "b" не возвращается потому, что его значения различны в каждом массиве.

Два значения пар key => value считаются равными только, если (string) $elem1 === (string) $elem2 . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.

Смотрите также

  • array_intersect() - Вычисляет схождение массивов
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию
  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
array_flip
array_intersect_key
Функции для работы с массивами


Вычислить пересечение массивов, сравнивая ключи

array_intersect_assoc
array_intersect_uassoc
Функции для работы с массивами
PHP Manual

array_intersect_key

(PHP 5 >= 5.1.0)

array_intersect_key — Вычислить пересечение массивов, сравнивая ключи

Описание

array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )

array_intersect_key() возвращает массив, содержащий все элементы array1, имеющие ключи, содержащиеся во всех последующих параметрах..

Список параметров

array1

Основной проверяемый массив.

array2

Массив, с которым идет сравнение.

array

Переменный список сравниваемых массивов

Возвращаемые значения

Возвращает ассоциативный массив, содержащий все элементы array1, имеющие ключи, содержащиеся во всех остальных параметрах. arguments.

Примеры

Пример #1 Пример использования array_intersect_key()

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

Результат выполнения данного примера:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

В нашем примере только ключи 'blue' и 'green' содержатся в обоих массивах и поэтому возвращаются. Также обратите внимание, что значения, соответствующие ключам 'blue' и 'green' различны в исходных массивах. Совпадение все равно происходит, так как сравниваются только ключи. Возвращаемые значения берутся из array1.

Два ключа пар key => value считаются равными только, если (string) $key1 === (string) $key2 . Другими словами, применяется строгая проверка, означающая, что строковые представления должны быть одинаковыми.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_diff_key() - Вычисляет расхождение массивов, сравнивая ключи
  • array_diff_ukey() - Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_intersect_ukey() - Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

array_intersect_assoc
array_intersect_uassoc
Функции для работы с массивами


Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции

array_intersect_key
array_intersect_ukey
Функции для работы с массивами
PHP Manual

array_intersect_uassoc

(PHP 5)

array_intersect_uassoc — Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции

Описание

array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_intersect_uassoc() возвращает массив, содержащий значения array1, содержащиеся во всех последующих параметрах. Обратите внимание, что в отличие от array_intersect(), для сравнения используются ключи.

Для сравнения ключей используется функция, предоставляемая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, меньше, равен или больше второго.

Список параметров

array1

Исходный сравниваемый массив

array2

Первый массив, с которым сравниваются ключи.

array

Дополнительные массивы, с которыми осуществляется сравнение.

key_compare_func

Предоставленная пользователем callback-функция.

Возвращаемые значения

Возвращает все элементы array1, чьи значения существуют во всех аргументах.

Примеры

Пример #1 Пример использования array_intersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

Результат выполнения данного примера:

Array
(
    [b] => brown
)

Смотрите также

  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию
  • array_intersect_key() - Вычислить пересечение массивов, сравнивая ключи
  • array_intersect_ukey() - Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

array_intersect_key
array_intersect_ukey
Функции для работы с массивами


Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

array_intersect_uassoc
array_intersect
Функции для работы с массивами
PHP Manual

array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey — Вычисляет схождение массивов, используя callback-функцию для сравнения ключей

Описание

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_intersect_ukey() возвращает массив, содержащий значения array1, имеющие ключи, содержащиеся во всех последующих параметрах.

Для сравнения используется функция, предосталяемая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый ключ, соответственно, меньше, равен или больше второго.

Список параметров

array1

Основной проверяемый массив.

array2

Первый массив, с которым сравниваются ключи.

array

Дополнительные массивы, с которыми осуществляется сравнение ключей.

key_compare_func

Предоставленная пользователем callback-функция.

Возвращаемые значения

Возвращает все элементы array1, чьи ключи существуют во всех переданных аргументах.

Примеры

Пример #1 Пример использования array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

Результат выполнения данного примера:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

В нашем примере только ключи 'blue' и 'green' содержатся в обоих массивах и поэтому возвращаются. Также обратите внимание, что значения, соответствующие ключам 'blue' и 'green' отличаются между массивами. Совпадение все равно происходит, так как сравниваются только ключи. Возвращаемые значения берутся из array1.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_diff_key() - Вычисляет расхождение массивов, сравнивая ключи
  • array_diff_ukey() - Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_intersect_key() - Вычислить пересечение массивов, сравнивая ключи

array_intersect_uassoc
array_intersect
Функции для работы с массивами


Вычисляет схождение массивов

array_intersect_ukey
array_key_exists
Функции для работы с массивами
PHP Manual

array_intersect

(PHP 4 >= 4.0.1, PHP 5)

array_intersect — Вычисляет схождение массивов

Описание

array array_intersect ( array $array1 , array $array2 [, array $ ... ] )

Функция array_intersect() возвращает массив, содержащий все значения массива array1, которые содержатся во всех аргументах. Обратите внимание, что ключи сохраняются.

Список параметров

array1

Основной проверяемый массив

array2

Массив, с которым идет сравнение значений

array

Дополнительные массивы для сравнения

Возвращаемые значения

Возвращает массив, содержащий все значения array1, которые существуют во всех переданных аргументах.

Примеры

Пример #1 Пример использования array_intersect()

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [a] => green
    [0] => red
)

Примечания

Замечание: Два элемента считаются одинаковыми тогда и только тогда, когда (string) $elem1 === (string) $elem2. Другими словами, когда их строковые представления идентичны.

Смотрите также

  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса

array_intersect_ukey
array_key_exists
Функции для работы с массивами


Проверяет, присутствует ли в массиве указанный ключ или индекс

array_intersect
array_keys
Функции для работы с массивами
PHP Manual

array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

array_key_exists — Проверяет, присутствует ли в массиве указанный ключ или индекс

Описание

bool array_key_exists ( mixed $key , array $search )

Функция array_key_exists() возвращает TRUE, если в массиве присутствует указанный ключ key. Параметр key может быть любым значением, которое подходит для индекса массива.

Список параметров

key

Проверяемое значение

search

Массив с проверяемыми ключами

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Данная функция больше не работает с объектами, Используйте для этого property_exists().

Примеры

Пример #1 Пример использования array_key_exists()

<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
    echo "The 'first' element is in the array";
}
?>

Пример #2 array_key_exists() и isset()

isset() не возвращает TRUE для ключей массива, указывающих на NULL, а array_key_exists() возвращает.

<?php
$search_array = array('first' => null, 'second' => 4);

// возвращает false
isset($search_array['first']);

// возвращает true
array_key_exists('first', $search_array);
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: key_exists()

Смотрите также

  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • array_keys() - Возвращает все или некоторое подмножество ключей массива
  • in_array() - Проверяет, присутствует ли в массиве значение
  • property_exists() - Проверяет, содержит ли объект или класс указанный атрибут

array_intersect
array_keys
Функции для работы с массивами


Возвращает все или некоторое подмножество ключей массива

array_key_exists
array_map
Функции для работы с массивами
PHP Manual

array_keys

(PHP 4, PHP 5)

array_keys — Возвращает все или некоторое подмножество ключей массива

Описание

array array_keys ( array $input [, mixed $search_value [, bool $strict = false ]] )

Функция array_keys() возвращает числовые и строковые ключи, содержащиеся в массиве input.

Если указан необязательный параметр search_value, функция возвращает только ключи, совпадающие с этим параметром. В обратном случае, функция возвращает все ключи массива input.

Список параметров

input

Массив, содержащий возвращаемые ключи.

search_value

Если указано, будут возвращены только ключи, содержащие данное значение.

strict

Определяет использование строгой проверки на равенство (===) при поиске.

Возвращаемые значения

Возвращает массив со всеми ключами input.

Список изменений

Версия | Описание
5.0.0 | Добавлен параметр strict.

Примеры

Пример #1 Пример использования array_keys()

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

Результат выполнения данного примера:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Смотрите также

  • array_values() - Выбирает все значения массива
  • array_key_exists() - Проверяет, присутствует ли в массиве указанный ключ или индекс
  • array_search() - Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи

array_key_exists
array_map
Функции для работы с массивами


Применяет callback-функцию ко всем элементам указанных массивов

array_keys
array_merge_recursive
Функции для работы с массивами
PHP Manual

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map — Применяет callback-функцию ко всем элементам указанных массивов

Описание

array array_map ( callback $callback , array $arr1 [, array $... ] )

Функция array_map() возвращает массив, содержащий элементы arr1 после их обработки callback-функцией. Количество параметров, передаваемых callback-функции, должно совпадать с количеством массивов, переданным функции array_map().

Список параметров

callback

Callback-функция, применяемая к каждому элементу в каждом массиве.

arr1

Массив, к которому применяется callback-функция.

array

Дополнительные массивы для обработки callback-функцией.

Возвращаемые значения

Возвращает массив, содержащий все элементы arr1 после применения callback-функции к каждому из них.

Примеры

Пример #1 Пример использования array_map()

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

В результате переменная $b будет содержать:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Пример #2 Использование array_map() вместе с lambda-функцией (начиная с версии PHP 5.3.0)

<?php
$func = function($value) {
    return $value * 2;
};

print_r(array_map($func, range(1, 5)));
?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Пример #3 Пример использования array_map(): обработка нескольких массивов

<?php
function show_Spanish($n, $m)
{
    return("Число $n по-испански - $m");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

Результат выполнения данного примера:

// вывод $c
Array
(
    [0] => Число 1 по-испански - uno
    [1] => Число 2 по-испански - dos
    [2] => Число 3 по-испански - tres
    [3] => Число 4 по-испански - cuatro
    [4] => Число 5 по-испански - cinco
)

// вывод $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Обычно при обработке двух или более массивов, они имеют одинаковую длину, так как callback-функция применяется параллельно к соответствующим элементам массивов. Если массивы имеют различную длину, самый маленький из них дополняется элементами с пустыми значениями.

Интересным эффектом при использовании этой функции является создание массива массивов, что может быть достигнуто путем использования значения NULL в качестве имени callback-функции.

Пример #4 Создание массива массивов

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

Результат выполнения данного примера:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

Если массив-аргумент содержит строковые ключи, то результирующий массив будет содержать строковые ключи тогда и только тогда, если передан ровно один массив. Если передано больше одного аргумента, то результирующий массив будет всегда содержать числовые ключи.

Пример #5 Использование array_map() со строковыми ключами

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null, $arr));
var_dump(array_map(null, $arr, $arr));
?>

Результат выполнения данного примера:

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

Смотрите также

  • array_filter() - Фильтрует элементы массива с помощью callback-функции
  • array_reduce() - Итеративно уменьшает массив к единственному значению, используя callback-функцию
  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива
  • create_function() - Создаёт анонимную (лямбда) функцию
  • информация о типе callback

array_keys
array_merge_recursive
Функции для работы с массивами


Рекурсивное слияние двух или более массивов

array_map
array_merge
Функции для работы с массивами
PHP Manual

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5)

array_merge_recursive — Рекурсивное слияние двух или более массивов

Описание

array array_merge_recursive ( array $array1 [, array $... ] )

Функция array_merge_recursive() сливает элементы двух или более массивов таким образом, что значения одного массива присоединяются в конец другого. Возвращает результирующий массив.

Если входные массивы имеют одинаковые строковые ключи, то значения этих ключей сливаются в массив, и это делается рекурсивно, так что если одно из значений является массивом, то функция сливает его с соответствующим значением в другом массиве. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.

Список параметров

array1

Первоначальный массив для слияния.

...

Дополнительные рекурсивно сливаемые массивы.

Возвращаемые значения

Массив значений, полученный в результате слияния аргументов вместе.

Примеры

Пример #1 Пример использования array_merge_recursive()

<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)

Смотрите также

  • array_merge() - Сливает один или большее количество массивов

array_map
array_merge
Функции для работы с массивами


Сливает один или большее количество массивов

array_merge_recursive
array_multisort
Функции для работы с массивами
PHP Manual

array_merge

(PHP 4, PHP 5)

array_merge — Сливает один или большее количество массивов

Описание

array array_merge ( array $array1 [, array $... ] )

Сливает элементы одного или большего количества массивов таким образом, что значения одного массива присоединяются к концу предыдущего. Результатом работы функции является новый массив.

Если входные массивы имеют одинаковые строковые ключи, тогда каждое последующее значение будет заменять предыдущее. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.

В результирующем массиве значения исходного массива с числовыми ключами будут перенумерованы в возрастающем порядке, начиная с нуля.

Список параметров

array1

Исходный сливаемый массив.

...

Дополнительные сливаемые массивы.

Возвращаемые значения

Возвращает результирующий массив.

Список изменений

Версия Описание
5.0.0
Внимание

Поведение функции array_merge() было изменено в PHP 5. В отличие от PHP 4, array_merge() принимает параметры только типа array. Однако вы можете использовать приведение типов. Смотрите следующий пример для уточнения подробностей.

Пример #1 Пример использования array_merge() в PHP 5

<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>

Результат выполнения данного примера:

    Array
    (
        [0] => foo
        [1] => bar
    )

Примеры

Пример #2 Пример использования array_merge()

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Пример #3 Простой пример использования array_merge()

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

Помните, что числовые ключи будут перенумерованы!

Array
(
    [0] => data
)

Если вы хотите дополнить первый массив элементами второго без перезаписи элементов первого массива и без переиндексации, используйте оператор объединения массивов +:

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>

Ключи из первого массива будут сохранены. Если ключ массива существует в обоих массивах, то будет использован элемент из первого массива, а соответствующий элемент из второго массива будет проигнорирован.

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

Смотрите также

  • array_merge_recursive() - Рекурсивное слияние двух или более массивов
  • array_combine() - Создает новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений
  • array operators

array_merge_recursive
array_multisort
Функции для работы с массивами


Сортирует несколько массивов или многомерные массивы

array_merge
array_pad
Функции для работы с массивами
PHP Manual

array_multisort

(PHP 4, PHP 5)

array_multisort — Сортирует несколько массивов или многомерные массивы

Описание

bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $... ]]] )

Функция array_multisort() может быть использована для сортировки сразу нескольких массивов или одного многомерного массива в соответствии с одной или несколькими размерностями.

Ассоциативные (string) ключи будут сохранены, но числовые ключи будут переиндексированы.

Список параметров

arr

Сортируемый массив (array).

arg

Необязательные другие массивы (array), или опции сортировки для предыдущего аргумента (array): SORT_ASC, SORT_DESC, SORT_REGULAR, SORT_NUMERIC, SORT_STRING.

...

Дополнительные параметры (arg).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Сортировка нескольких массивов

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

В вышеприведенном примере, после того, как будет осуществлена сортировка, первый массив будет содержать 0, 10, 100, 100. Второй - 4, 1, 2, 3. Элементы второго массива, соответствующие идентичным элементам первого (100 и 100), также будут отсортированы.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Пример #2 Сортировка многомерного массива

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

В вышеприведенном примере, после сортировки, первый массив будет содержать "10", 100, 100, 11, "a" (его элементы были отсортированы в возрастающем порядке), а второй массив будет содержать 1, 3, "2", 2, 1 (элементы отсортированы как числа, в порядке убывания).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Пример #3 Сортировка результатов из базы данных

В этом примере, каждый элемент массива data представляет собой ряд таблицы. Такой тип данных типичен для записей базы данных.

Примерные данные:

# том  | издание
volume | edition
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Данные представлены в виде массива с именем data. Обычно их можно получить, к пример, с помощью цикла из функции mysql_fetch_assoc().

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

В нашем примере мы будем сортировать по volume в убывающем порядке, а по edition - в возрастающем.

У нас есть массив строк, но array_multisort() необходим массив столбцов, поэтому сначала мы используем следующий код для получения столбцов, а потом выполним сортировку.

<?php
// Получение списка столбцов
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// Сортируем данные по volume по убыванию и по edition по возрастанию
// Добавляем $data в качестве последнего параметра, для сортировки по общему ключу
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

Теперь данные отсортированы и будут выглядеть вот так:

volume | edition
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

Пример #4 Сортировка без учета регистра

Обе константы SORT_STRING и SORT_REGULAR учитывают регистр при сортировке, строки, начинающиеся с заглавной буквы будут выставлены раньше строк, начинающихся со строчной буквы.

Для выполнения безрегистрового поиска нужно заставить выполнить порядок сортировки по копии оригинального массива, переведенного в нижний регистр.

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);

print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

Смотрите также

  • usort() - Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов
  • The сравнение функций сортировки массивов

array_merge
array_pad
Функции для работы с массивами


Дополнить размер массива определенным значением до заданной величины

array_multisort
array_pop
Функции для работы с массивами
PHP Manual

array_pad

(PHP 4, PHP 5)

array_pad — Дополнить размер массива определенным значением до заданной величины

Описание

array array_pad ( array $input , int $pad_size , mixed $pad_value )

Функция array_pad() возвращает копию массива input, дополненного до размера pad_size элементами со значением pad_value. Если параметр pad_size положителен, то массив увеличивается вправо, если отрицателен - влево. Если абсолютное значение параметра pad_size меньше или равно размеру массива input, функция не производит никаких операций. За один раз возможно добавить максимум 1048576 элементов.

Список параметров

input

Исходный массив, к которому дополняются элементы.

pad_size

Новый размер массива.

pad_value

Дополняемое значение, если длина массива input меньше pad_size.

Возвращаемые значения

Возвращает копию input, дополненного до размера указанного pad_size значением pad_value. Если параметр pad_size положителен, то массив дополняется вправо, если он отрицателен - влево. Если абсолютное значение pad_size меньше либо равно длине input, то дополнение не происходит.

Примеры

Пример #1 Пример использования array_pad()

<?php
$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// результат: array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// результат: array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// операция не произведена

Смотрите также

  • array_fill() - Заполняет массив значениями
  • range() - Создает массив, содержащий диапазон элементов

array_multisort
array_pop
Функции для работы с массивами


Извлекает последний элемент массива

array_pad
array_product
Функции для работы с массивами
PHP Manual

array_pop

(PHP 4, PHP 5)

array_pop — Извлекает последний элемент массива

Описание

mixed array_pop ( array &$array )

array_pop() извлекает и возвращает последнее значение параметра array, уменьшая размер array на один элемент. Если array пуст (или не является массивом), будет возвращён NULL. Кроме этого, если передан не массив, будет вызвано предупреждение.

Замечание: Эта функция при вызове сбрасывает указатель массива, переданного параметром.

Список параметров

array

Массив, из которого берется значение.

Возвращаемые значения

Возвращает последний элемент массива array. Если array пуст (или не является массивом), будет возвращен NULL.

Примеры

Пример #1 Пример использованияarray_pop()

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

После этого, в $stack будет только 3 элемента:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)

и raspberry будет присвоено переменной $fruit.

Смотрите также

  • array_push() - Добавляет один или несколько элеметов в конец массива
  • array_shift() - Извлекает первый элемент массива
  • array_unshift() - Добавляет один или несколько элементов в начало массива

array_pad
array_product
Функции для работы с массивами


Вычислить произведение значений массива

array_pop
array_push
Функции для работы с массивами
PHP Manual

array_product

(PHP 5 >= 5.1.0)

array_product — Вычислить произведение значений массива

Описание

number array_product ( array $array )

array_product() возвращает произведение значений массива.

Список параметров

array

Массив.

Возвращаемые значения

Возвращает произведение в виде integer или float.

Примеры

Пример #1 Примеры использования array_product()

<?php

$a = array(2, 4, 6, 8);
echo "product(a) = " . array_product($a) . "\n";

?>

Результат выполнения данного примера:

product(a) = 384

array_pop
array_push
Функции для работы с массивами


Добавляет один или несколько элеметов в конец массива

array_product
array_rand
Функции для работы с массивами
PHP Manual

array_push

(PHP 4, PHP 5)

array_push — Добавляет один или несколько элеметов в конец массива

Описание

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() использует array как стэк, и добавляет переданные значения в конец массива array. Длина array увеличивается на количество переданных значений. Имеет тот же эффект, что и выражение:

<?php
$array[] = $var;
?>
повторенное для каждой var.

Замечание: Вместо использования array_push() для добавления одного элемента в массив, лучше использовать $array[] = , потому что в этом случае не происходит затрат на вызов функции.

Замечание: array_push() вызовет предупреждение, если первый аргумент не является массивом. Это отличается от поведения конструкции $var[], в случае которой будет создан новый массив.

Список параметров

array

Входной массив.

var

Записываемое значение.

Возвращаемые значения

Возвращает новое количество элементов в массиве.

Примеры

Пример #1 Пример использования array_push()

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

Результат выполнения данного примера:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

Смотрите также

  • array_pop() - Извлекает последний элемент массива
  • array_shift() - Извлекает первый элемент массива
  • array_unshift() - Добавляет один или несколько элементов в начало массива

array_product
array_rand
Функции для работы с массивами


Выбирает одно или несколько случайных значений из массива

array_push
array_reduce
Функции для работы с массивами
PHP Manual

array_rand

(PHP 4, PHP 5)

array_rand — Выбирает одно или несколько случайных значений из массива

Описание

mixed array_rand ( array $input [, int $num_req = 1 ] )

Выбирает одно или несколько случайных значений из массива. Возвращает ключ (или ключи) данных случайных элементов.

Список параметров

input

Входной массив.

num_req

Определяет количество выбираемых элементов. Попытка выбрать больше элементов, чем есть в массиве, сгенерирует ошибку уровня E_WARNING.

Возвращаемые значения

Если вы выбираете только одно значение, функция array_rand() возвращает ключ, соответствующий этому значению. В обратном случае, она возвращает массив ключей, соответствующих случайным значениям. Это сделано так образом, чтобы дать возможность выбрать из массива как случайные значения, так и случайные ключи.

Список изменений

Версия | Описание
5.2.10 | Возвращаемый массив ключей больше не возвращается в случайном порядке.
4.2.0 | Генератор случайных чисел инициализируется автоматически.

Примеры

Пример #1 Пример использования array_rand()

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Смотрите также

  • shuffle() - Перемешивает массив

array_push
array_reduce
Функции для работы с массивами


Итеративно уменьшает массив к единственному значению, используя callback-функцию

array_rand
array_replace_recursive
Функции для работы с массивами
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce — Итеративно уменьшает массив к единственному значению, используя callback-функцию

Описание

mixed array_reduce ( array $input , callback $function [, mixed $initial = NULL ] )

array_reduce() итеративно применяет callback-функцию function к элементам массива input и, таким образом, сводит массив к единственному значению.

Список параметров

input

Входной массив.

function

Callback-функция.

initial

Если передан необязательный параметр initial, то он будет использован в начале процесса, или в качестве окончательного результата в случае пустого массива.

Возвращаемые значения

Возвращает получившееся значение.

Если массив пуст и не передан параметр initial, array_reduce() вернет NULL.

Список изменений

Версия | Описание
5.3.0 | Параметр initial теперь позволяет передать mixed, ранее передавался только integer.

Примеры

Пример #1 Пример использованияarray_reduce()

<?php
function rsum($v, $w)
{
    $v += $w;
    return $v;
}

function rmul($v, $w)
{
    $v *= $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", "No data to reduce");
?>

В результате переменная $b содержит 15, $c содержит 1200 (= 10*1*2*3*4*5*10), и $d содержит No data to reduce.

Смотрите также

  • array_filter() - Фильтрует элементы массива с помощью callback-функции
  • array_map() - Применяет callback-функцию ко всем элементам указанных массивов
  • array_unique() - Убирает повторяющиеся значения из массива
  • array_count_values() - Подсчитывает количество всех значений массива

array_rand
array_replace_recursive
Функции для работы с массивами


Рекурсивно заменяет элементы первого массива элементами переданных массивов

array_reduce
array_replace
Функции для работы с массивами
PHP Manual

array_replace_recursive

(PHP 5 >= 5.3.0)

array_replace_recursive — Рекурсивно заменяет элементы первого массива элементами переданных массивов

Описание

array array_replace_recursive ( array &$array , array &$array1 [, array &$... ] )

array_replace_recursive() заменяет значения первого массива array на соответствующие по ключам значения из всех следующих массивов. Если ключ из первого массива есть во втором, его значение будет заменено на значение из второго массива. Если ключ есть во втором массиве, но отсутствует в первом, он будет создан в первом массиве. Если ключ есть только в первом массиве, то он остается как есть. Если передано несколько массивов, они будут обработаны по порядку, последующие перезаписывают предыдущие значения.

array_replace_recursive() - рекурсивная функция: она будет рекурсивно углубляться в массивы и применять к всем внутренним значениям один и тот же процесс.

Если значение, переданное в array является скалярным, оно будет заменено значением в array1, которое может быть как скалярным так и массивом. Если оба значения, переданные в array и array1 - массивы, array_replace_recursive() будет заменять их значения рекурсивно.

Список параметров

array

Массив, элементы которого будут заменены.

array1

Массив, из которого будут взяты элементы для замены.

...

Дополнительные массивы, из которых будут браться элементы для замены.

Возвращаемые значения

Возвращает array, или NULL, если произошла ошибка.

Примеры

Пример #1 Пример использования array_replace_recursive()

<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>

Результат выполнения данного примера:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Пример #2 array_replace_recursive() and recursive behavior

<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);

?>

Результат выполнения данного примера:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

Смотрите также

  • array_replace() - Replaces elements from passed arrays into the first array

array_reduce
array_replace
Функции для работы с массивами


Replaces elements from passed arrays into the first array

array_replace_recursive
array_reverse
Функции для работы с массивами
PHP Manual

array_replace

(PHP 5 >= 5.3.0)

array_replace — Replaces elements from passed arrays into the first array

Описание

array array_replace ( array &$array , array &$array1 [, array &$... ] )

array_replace() replaces the values of the first array with the same values from all the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later arrays overwriting the previous values.

array_replace() is not recursive : it will replace values in the first array by whatever type is in the second array.

Список параметров

array

The array in which elements are replaced.

array1

The array from which elements will be extracted.

...

More arrays from which elements will be extracted. Values from later arrays overwrite the previous values.

Возвращаемые значения

Returns an array, or NULL if an error occurs.

Примеры

Пример #1 array_replace() example

<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

Результат выполнения данного примера:

Array
(
    [0] => grape
    [1] => banana
    [2] => apple
    [3] => raspberry
    [4] => cherry
)

Смотрите также

  • array_replace_recursive() - Рекурсивно заменяет элементы первого массива элементами переданных массивов

array_replace_recursive
array_reverse
Функции для работы с массивами


Возвращает массив с элементами в обратном порядке

array_replace
array_search
Функции для работы с массивами
PHP Manual

array_reverse

(PHP 4, PHP 5)

array_reverse — Возвращает массив с элементами в обратном порядке

Описание

array array_reverse ( array $array [, bool $preserve_keys = false ] )

Принимает массив array и возвращает новый массив, содержащем элементы исходного массива в обратном порядке.

Список параметров

array

Входной массив.

preserve_keys

Если установлено в TRUE, то ключи будут сохранены.

Возвращаемые значения

Возвращает массив с элементами в обратном порядке.

Список изменений

Версия | Описание
4.0.3 | Добавлен параметр preserve_keys.

Примеры

Пример #1 Пример использования array_reverse()

<?php
$input  = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input, true);
?>

Оба массива $result и $result_keyed содержат одинаковые значения, но обратите внимание на различные ключи. Распечатка $result и $result_keyed будет такой:

Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

Смотрите также

  • array_flip() - Меняет местами ключи с их значениями в массиве

array_replace
array_search
Функции для работы с массивами


Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи

array_reverse
array_shift
Функции для работы с массивами
PHP Manual

array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи

Описание

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

Ищет в haystack значение needle.

Список параметров

needle

Искомое значение.

Замечание:

Если needle является строкой, сравнение происходит с учетом регистра.

haystack

Массив.

strict

Если третий параметр strict установлен в TRUE, то функция array_search() будет искать идентичные элементы в haystack. Это означает, что также будут проверяться типы needle в haystack, а объекты должны быть одни и тем же экземпляром.

Возвращаемые значения

Возвращает ключ для needle, если он был найден в массиве, иначе FALSE.

Если needle присутствует в haystack более одного раза, будет возвращён первый найденный ключ. Для того, чтобы возвратить ключи для всех найденных значений, используйте функцию array_keys() с необязательным параметром search_value.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Список изменений

Версия | Описание
4.2.0 | До PHP 4.2.0, array_search() при неудаче возвращал NULL вместо FALSE.

Примеры

Пример #1 Пример использования array_search()

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Смотрите также

  • array_keys() - Возвращает все или некоторое подмножество ключей массива
  • array_values() - Выбирает все значения массива
  • array_key_exists() - Проверяет, присутствует ли в массиве указанный ключ или индекс
  • in_array() - Проверяет, присутствует ли в массиве значение

array_reverse
array_shift
Функции для работы с массивами


Извлекает первый элемент массива

array_search
array_slice
Функции для работы с массивами
PHP Manual

array_shift

(PHP 4, PHP 5)

array_shift — Извлекает первый элемент массива

Описание

mixed array_shift ( array &$array )

array_shift() извлекает первое значение массива array и возвращает его, сокращая размер array на один элемент. Все числовые ключи будут изменены таким образом, что нумерация массива начнётся с нуля, в то время как строковые ключи останутся прежними.

Замечание: Эта функция при вызове сбрасывает указатель массива, переданного параметром.

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает извлекаемое значение, или NULL, если array пуст или не является массивом.

Примеры

Пример #1 Пример использования array_shift()

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

Результат выполнения данного примера:

Array
(
    [0] => banana
    [1] => apple
    [2] => raspberry
)

и значение orange будет присвоено переменной $fruit.

Смотрите также

  • array_unshift() - Добавляет один или несколько элементов в начало массива
  • array_push() - Добавляет один или несколько элеметов в конец массива
  • array_pop() - Извлекает последний элемент массива

array_search
array_slice
Функции для работы с массивами


Выбирает срез массива

array_shift
array_splice
Функции для работы с массивами
PHP Manual

array_slice

(PHP 4, PHP 5)

array_slice — Выбирает срез массива

Описание

array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys = false ]] )

array_slice() возвращает последовательность элементов массива array, определённую параметрами offset и length.

Замечание: Эта функция при вызове сбрасывает указатель массива, переданного параметром.

Список параметров

array

Входной массив.

offset

Если параметр offset неотрицателен, последовательность начнётся на указанном расстоянии от начала array. Если offset отрицателен, последовательность начнётся на расстоянии указанном расстоянии от конца array.

length

Если в эту функцию передан положительный параметр length, последовательность будет включать указанное количество элементов. Если в эту функцию передан отрицательный параметр length, последовательность остановится на указанном расстоянии от конца массива. Если он опущен, последовательность будет содержать все элементы с offset до конца массива array.

preserve_keys

Обратите внимание, что по умолчанию array_slice() сбрасывает ключи массива. Вы можете переопределить это поведение, установив параметр preserve_keys в TRUE.

Возвращаемые значения

Возвращает срез.

Список изменений

Версия | Описание
5.0.2 | Добавлен необязательный параметр preserve_keys.

Примеры

Пример #1 Пример использования array_slice()

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // возвращает "c", "d", и "e"
$output = array_slice($input, -2, 1);  // возвращает "d"
$output = array_slice($input, 0, 3);   // возвращает "a", "b", и "c"

// заметьте разницу в индексах массивов
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Результат выполнения данного примера:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Смотрите также

  • array_splice() - Удаляет часть массива и заменяет её чем-нибудь ещё
  • unset() - Удаляет переменную

array_shift
array_splice
Функции для работы с массивами


Удаляет часть массива и заменяет её чем-нибудь ещё

array_slice
array_sum
Функции для работы с массивами
PHP Manual

array_splice

(PHP 4, PHP 5)

array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё

Описание

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )

Удаляет length элементов, расположенных на расстоянии offset из массива input, и заменяет их элементами массива replacement, если он передан в качестве параметра.

Обратите внимание, что числовые ключи в массиве input не сохраняются.

Замечание: Если параметр replacement не является массивом, он будет преобразован к нему (т.е. (array) $parameter). Это может привести к не ожиданным результатам при использовании объекта или NULL в качестве replacement.

Список параметров

input

Входной массив.

offset

Если параметр offset положителен, будут удалены элементы, находящиеся на расстоянии offset от начала input. Если offset отрицателен, будут удалены элементы, находящиеся на расстоянии offset от конца input.

length

Если параметр length опущен, будут удалены все элементы начиная с позиции offset и до конца массива. Если length указан и он положителен, то будет удалено именно столько элементов. Если же параметр length отрицателен, то конец удаляемой части элементов будет отстоять на это количество от конца массива. Совет: для того, чтобы удалить все элементы массива, начиная с позиции offset до конца массива, в то время как указан параметр replacement, используйте count($input) в качестве параметра length.

replacement

Если передан массив replacement в качестве аргумента, тогда удалённые элементы будут заменены элементами этого массива.

Если параметры offset и length таковы, что из исходного массива не будет ничего удалено, тогда элементы массива replacement будут вставлены на позицию offset. Обратите внимание, что ключи массива replacement не сохраняются.

Совет: если replacement является просто одним элементом, нет необходимости заключать его в array(), если только этот элемент сам не является массивом, объектом или NULL.

Возвращаемые значения

Возвращает массив, содержащий удалённые элементы.

Примеры

Пример #1 Примеры использования array_splice()

<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input теперь array("red", "green")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input теперь array("red", "yellow")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input теперь array("red", "orange")

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input теперь array("red", "green",
//          "blue", "black", "maroon")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input теперь array("red", "green",
//          "blue", "purple", "yellow");
?>

Пример #2 array_splice() examples

Следующие выражения одинаково меняют значения массива $input:

<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // для массивов, где ключ равен смещению
array_splice($input, $x, 1, $y);
?>

Смотрите также

  • array_slice() - Выбирает срез массива
  • unset() - Удаляет переменную
  • array_merge() - Сливает один или большее количество массивов

array_slice
array_sum
Функции для работы с массивами


Вычисляет сумму значений массива

array_splice
array_udiff_assoc
Функции для работы с массивами
PHP Manual

array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum — Вычисляет сумму значений массива

Описание

number array_sum ( array $array )

array_sum() возвращает сумму значений массива.

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает сумму значений в виде integer или float.

Список изменений

Версия | Описание
4.2.1 | PHP более ранних, чем 4.2.1, версий модифицировал переданный в качестве аргумента массив и конвертировал строки в числа (что в большинстве случаев означало конвертирование в 0, в зависимости от их значения).

Примеры

Пример #1 Пример использования array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

Результат выполнения данного примера:

sum(a) = 20
sum(b) = 6.9

array_splice
array_udiff_assoc
Функции для работы с массивами


Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию

array_sum
array_udiff_uassoc
Функции для работы с массивами
PHP Manual

array_udiff_assoc

(PHP 5)

array_udiff_assoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию

Описание

array array_udiff_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Вычисляет расхождение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию.

Замечание: Пожалуйста, обратите внимание, что эта функция обрабатывает только одно измерение многомерного массива. Разумеется, вы можете обработать более одного измерения, используя, например, array_udiff_assoc($array1[0], $array2[0], "some_comparison_func");.

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Callback-функция, используемая для сравнения.

Callback-функция сравнения, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, меньше, равен или больше второго.

Возвращаемые значения

array_udiff_assoc() возвращает array, содержащий все элементы array1, которых нет в каком-либо из всех остальных аргументов. Обратите внимание, что в отличие от array_diff() и array_udiff() в сравнении используются ключи. Сравнение данных массива производится с помощью callback-функции, предоставленной пользователем. В этом смысле, поведение этой функции отличается от array_diff_assoc(), которая используется встроенную функцию для сравнения.

Примеры

Пример #1 Пример использования array_udiff_assoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

В примере выше вы видите, что пара "1" => new cr(4) имеется в обоих массивах и поэтому её нет в выводе функции.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_sum
array_udiff_uassoc
Функции для работы с массивами


Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию

array_udiff_assoc
array_udiff
Функции для работы с массивами
PHP Manual

array_udiff_uassoc

(PHP 5)

array_udiff_uassoc — Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию

Описание

array array_udiff_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию.

Обратите внимание, что для сравнения используются ключи, в отличие от array_diff() и array_udiff().

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Callback-функция, используемая для сравнения.

Callback-функция для сравнения, предоставленная пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен быть меньше, равен или больше второго.

Сравнение данных массивов осуществляется с помощью callback-функции, предоставленной пользователем: data_compare_func. В этом плане данная функция отличается от array_diff_assoc(), которая использует для сравнения встроенную функцию.

key_compare_func

Сравнение ключей (индексов) также осуществляется с помощью callback-функции key_compare_func. Это отличается от поведения array_udiff_assoc(), которая сравнивает индексы с помощью встроенной функции.

Возвращаемые значения

Возвращает array, содержащий все элементы array1, которых нет в каком-либо из остальных аргументов.

Примеры

Пример #1 Пример использованияarray_udiff_uassoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    static function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

В вышеприведённом примере вы можете видеть, что пара "1" => new cr(4) присутствует в обоих массивах и поэтому отсутствует в выводе функции. Помните, что необходимо использовать две функции обратного вызова.

Примечания

Замечание: Пожалуйста, обратите внимание, что эта функция обрабатывает только одно измерение многомерного массива. Разумеется, вы можете обработать более одного измерения, используя array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_udiff_assoc
array_udiff
Функции для работы с массивами


Вычисляет расхождение массивов, используя для сравнения callback-функцию

array_udiff_uassoc
array_uintersect_assoc
Функции для работы с массивами
PHP Manual

array_udiff

(PHP 5)

array_udiff — Вычисляет расхождение массивов, используя для сравнения callback-функцию

Описание

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Вычисляет расхождение массивов, используя для сравнения данных callback-функцию. Это отличается от поведения array_diff(), которая использует встроенную функцию для сравнения данных.

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Callback-функция, используемая для сравнения.

Callback-функция, предоставленная пользователем, которая будет использована для сравнения. Она должна возвращать целое число меньшее, равно или большее нуля, если первый аргумент, соответственно, меньше, равен или больше второго.

Возвращаемые значения

Возвращает массив, содержащий все элементы array1, которые не существуют в каком-либо из других аргументов.

Примеры

Пример #1 Пример использования array_udiff()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )

)

Примечания

Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение многомерного массива. Разумеется, вы можете обработать более одного измерения, используя array_udiff($array1[0], $array2[0], "data_compare_func");.

Смотрите также

  • array_diff() - Вычислить расхождение массивов
  • array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
  • array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_udiff_uassoc
array_uintersect_assoc
Функции для работы с массивами


Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию

array_udiff
array_uintersect_uassoc
Функции для работы с массивами
PHP Manual

array_uintersect_assoc

(PHP 5)

array_uintersect_assoc — Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию

Описание

array array_uintersect_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию.

Учтите, что в сравнении используются ключи, в отличии от array_uintersect(). Значения сравниваются с помощью callback-функции.

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Используемая для сравнения callback-функция, предоставленная пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен быть меньше, равен или больше второго.

Возвращаемые значения

Возвращает массив, содержащий все элементы array1, которые существуют во всех остальных аргументах.

Примеры

Пример #1 Пример использования array_uintersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

Результат выполнения данного примера:

Array
(
    [a] => green
)

Смотрите также

  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_udiff
array_uintersect_uassoc
Функции для работы с массивами


Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_uintersect_assoc
array_uintersect
Функции для работы с массивами
PHP Manual

array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc — Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

Описание

array array_uintersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию. Обратите внимание, что в отличии от array_uintersect(), в сравнении принимают участие ключи. Для сравнения и ключей, и значений используется callback-функция.

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Используемая для сравнения callback-функция, предоставленная пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен быть меньше, равен или больше второго.

key_compare_func

Callback-функция для сравнения ключей.

Возвращаемые значения

Возвращает массив, содержащий все элементы array1, которые существуют во всех остальных аргументах.

Примеры

Пример #1 Пример использования array_uintersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

Результат выполнения данного примера:

Array
(
    [a] => green
    [b] => brown
)

Смотрите также

  • array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_intersect_uassoc() - Вычисляет схождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию

array_uintersect_assoc
array_uintersect
Функции для работы с массивами


Вычисляет пересечение массивов, используя для сравнения значений callback-функцию

array_uintersect_uassoc
array_unique
Функции для работы с массивами
PHP Manual

array_uintersect

(PHP 5)

array_uintersect — Вычисляет пересечение массивов, используя для сравнения значений callback-функцию

Описание

array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Вычисляет пересечение массивов, используя для сравнения значений callback-функцию.

Список параметров

array1

Первый массив.

array2

Второй массив.

data_compare_func

Используемая для сравнения callback-функция.

Используемая для сравнения callback-функция, предоставленная пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен быть меньше, равен или больше второго.

Возвращаемые значения

Возвращает массив, содержащий все элементы array1, которые существуют во всех остальных аргументах.

Примеры

Пример #1 Пример использования array_uintersect()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

Результат выполнения данного примера:

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

Смотрите также

  • array_intersect() - Вычисляет схождение массивов
  • array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений callback-функцию

array_uintersect_uassoc
array_unique
Функции для работы с массивами


Убирает повторяющиеся значения из массива

array_uintersect
array_unshift
Функции для работы с массивами
PHP Manual

array_unique

(PHP 4 >= 4.0.1, PHP 5)

array_unique — Убирает повторяющиеся значения из массива

Описание

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

Принимает входной array и возвращает новый массив без повторяющихся значений.

Обратите внимание, что ключи сохранятся. array_unique() сначала сортирует значения как строки, сохраняет первый встреченный ключ для каждого значения и игнорирует все последующие ключи. Это не означает, что первый ключ каждого значения неотсортированного array будет сохранён.

Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление. Будет использован первый элемент.

Список параметров

array

Входной массив.

sort_flags

Можно испольовать необязательный второй параметр sort_flags для изменения поведения сортировки с помощью следующих значений:

Виды сортировок флагов:

  • SORT_REGULAR - нормальное сравнение элементов (типы не меняются)
  • SORT_NUMERIC - элементы сравниваются как числа
  • SORT_STRING - элементы сравниваются как строки
  • SORT_LOCALE_STRING - элементы сравниваются как строки, в зависимости от установленной локали.

Возвращаемые значения

Возвращает отфильтрованный массив.

Список изменений

Версия | Описание
5.2.10 | Значение по умолчанию параметра sort_flags изменено обратно на SORT_STRING.
5.2.9 | Добавлен необязательный параметр sort_flags, по умолчанию равный SORT_REGULAR. До версии 5.2.9, это функция сортировала массив с помощью SORT_STRING.

Примеры

Пример #1 Пример использования array_unique()

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

Пример #2 array_unique() и типы:

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

Результат выполнения данного примера:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Смотрите также

  • array_count_values() - Подсчитывает количество всех значений массива

Примечания

Замечание: Обратите внимание, что array_unique() не предназначена для работы с многомерными массивами.

array_uintersect
array_unshift
Функции для работы с массивами


Добавляет один или несколько элементов в начало массива

array_unique
array_values
Функции для работы с массивами
PHP Manual

array_unshift

(PHP 4, PHP 5)

array_unshift — Добавляет один или несколько элементов в начало массива

Описание

int array_unshift ( array &$array , mixed $var [, mixed $... ] )

array_unshift() добавляет переданные в качестве аргументов элементы в начало массива array. Обратите внимание, что список элементов добавляется целиком, то есть порядок элементов сохраняется. Все числовые ключи будут изменены таким образом, что нумерация массива будет начинаться с нуля, в то время как строковые ключи останутся прежними.

Список параметров

array

Входной массив.

var

Добавляемая в начало переменная.

Возвращаемые значения

Возвращает новое количество элементов в array.

Примеры

Пример #1 Пример использования array_unshift()

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

Результат выполнения данного примера:

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

Смотрите также

  • array_shift() - Извлекает первый элемент массива
  • array_push() - Добавляет один или несколько элеметов в конец массива
  • array_pop() - Извлекает последний элемент массива

array_unique
array_values
Функции для работы с массивами


Выбирает все значения массива

array_unshift
array_walk_recursive
Функции для работы с массивами
PHP Manual

array_values

(PHP 4, PHP 5)

array_values — Выбирает все значения массива

Описание

array array_values ( array $input )

array_values() возвращает массив cо всеми элементами массива input. Она также заново индексирует возвращаемый массив числовыми индексами.

Список параметров

input

Массив.

Возвращаемые значения

Возвращает индексированный массив значений.

Примеры

Пример #1 Пример использованияarray_values()

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

Результат выполнения данного примера:

Array
(
    [0] => XL
    [1] => gold
)

Смотрите также

  • array_keys() - Возвращает все или некоторое подмножество ключей массива

array_unshift
array_walk_recursive
Функции для работы с массивами


Рекурсивно применяет пользовательскую функцию к каждому элементу массива

array_values
array_walk
Функции для работы с массивами
PHP Manual

array_walk_recursive

(PHP 5)

array_walk_recursive — Рекурсивно применяет пользовательскую функцию к каждому элементу массива

Описание

bool array_walk_recursive ( array &$input , callback $funcname [, mixed $userdata ] )

Применяет пользовательскую функцию funcname к каждому элементу массива input. Эта функция обрабатывает каждый элемент многомерного массива.

Список параметров

input

Входной массив.

funcname

Обычно, funcname принимает два параметра. Первым параметром идет значение элемента массива input, а вторым - его ключ.

Замечание:

Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам массива.

userdata

Если указан необязательный параметр userdata, то он будет передан третьим параметром функции funcname.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования array_walk_recursive()

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

Результат выполнения данного примера:

a holds apple
b holds banana
sour holds lemon

Обратите внимание, что ключ 'sweet' никогда не отображается. Любой ключ, содержащий значение типа array, не будет передаваться в функцию.

Смотрите также

  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива
  • информация о типе callback

array_values
array_walk
Функции для работы с массивами


Применяет пользовательскую функцию к каждому элементу массива

array_walk_recursive
array
Функции для работы с массивами
PHP Manual

array_walk

(PHP 4, PHP 5)

array_walk — Применяет пользовательскую функцию к каждому элементу массива

Описание

bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )

Применяет пользовательскую функцию funcname к каждому элементу массива array.

array_walk() не подвержена влиянию внутреннего указателя массива array. array_walk() обойдёт все элементы массива независимо от позиции указателя.

Список параметров

array

Входной массив.

funcname

Обычно функция funcname принимает два параметра. В качестве первого параметра идет значение элемента массива array, а ключ - в качестве второго.

Замечание:

Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам оригинального массива.

Замечание:

Множество встроенных функций (например, strtolower()) выводят предупреждение, если им передано больше параметров, чем они ожидают, или которые не могут непосредственно использоваться в funcname.

Потенциально изменены могут быть только значения массива array; структура самого массива не может быть изменена, то есть нельзя добавить, удалить или поменять порядок элементов. Если callback-функция не соответствует этому требованию, поведение данной функции станет неопределённым и непредсказуемым.

userdata

Если указан необязательный параметр userdata, он будет передан в качестве третьего параметра в callback-функцию funcname.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Если функция funcname требует больше параметров, чем передано на самом деле, каждый раз, когда array_walk() будет вызывать funcname, будет генерироваться ошибка уровня E_WARNING. Эти предупреждения могут быть подавлены добавлением оператора управления ошибками PHP @ в вызов array_walk(), или использованием error_reporting().

Примеры

Пример #1 Пример использования array_walk()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2<br />\n";
}

echo "До ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... и после:\n";

array_walk($fruits, 'test_print');
?>

Результат выполнения данного примера:

До ...:
d. lemon
a. orange
b. banana
c. apple
... и после:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

Смотрите также

  • array_walk_recursive() - Рекурсивно применяет пользовательскую функцию к каждому элементу массива
  • iterator_apply() - Call a function for every element in an iterator
  • create_function() - Создаёт анонимную (лямбда) функцию
  • list() - Присваивает переменным из списка значения подобно массиву
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • array_map() - Применяет callback-функцию ко всем элементам указанных массивов
  • информация о типе callback
  • foreach

array_walk_recursive
array
Функции для работы с массивами


Создает массив

array_walk
arsort
Функции для работы с массивами
PHP Manual

array

(PHP 4, PHP 5)

array — Создает массив

Описание

array array ([ mixed $... ] )

Создает массив. Подробнее о массивах читайте в разделе "Массивы".

Список параметров

...

Синтаксис "индекс => значения", разделённые запятыми, определяет индексы и их значения. Индекс может быть строкой или целым числом. Если индекс опущен, будет автоматически сгенерирован числовой индекс, начиная с 0. Если индекс - число, следующим сгенерированным индексом будет число, равное максимальному числовому индексу + 1. Обратите внимание, что если определены два одинаковых индекса, последующий перезапишет предыдущий.

Наличие висячей запятой после последнего элемента массива, несмотря на некоторую необычность, является корректным синтаксисом.

Возвращаемые значения

Возвращает массив параметров. Параметрам может быть назначен индекс с помощью оператора =>. Подробнее о массивах читайте в разделе "Массивы".

Примеры

Последующие примеры демонстрируют создание двухмерного массива, определение ключей ассоциативных массивов и и способ генерации числовых индексов для обычных массивов, если нумерация начинается с произвольного числа.

Пример #1 Пример использования array()

<?php
$fruits = array (
    "fruits"  => array("a" => "orange", "b" => "banana", "c" => "apple"),
    "numbers" => array(1, 2, 3, 4, 5, 6),
    "holes"   => array("first", 5 => "second", "third")
);
?>

Пример #2 Автоматическая индексация с помощью array()

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Обратите внимание, что индекс '3' определён дважды, и содержит последнее значение 13. Индекс 4 определён после индекса 8, и следующий сгенерированный индекс (значение 19) - 9, начиная с максимального индекса 8.

Этот пример создаёт массив, нумерация которого начинаяется с 1.

Пример #3 array(), нумерация которого начинаяется с 1

<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

Результат выполнения данного примера:

Array
(
    [1] => January
    [2] => February
    [3] => March
)

Как и в Perl, вы имеете доступ к значениям массива внутри двойных кавычек. Однако в PHP нужно заключить ваш массив в фигурные скобки.

Пример #4 Доступ к массиву внутри двойных кавычек

<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>

Примечания

Замечание:

array() является языковой конструкцией, используемой для представления литеральных массивов, и не является обычной функцией.

Смотрите также

  • array_pad() - Дополнить размер массива определенным значением до заданной величины
  • list() - Присваивает переменным из списка значения подобно массиву
  • count() - Подсчитывает количество элементов массива или что-то в объекте
  • range() - Создает массив, содержащий диапазон элементов
  • foreach
  • Тип массив

array_walk
arsort
Функции для работы с массивами


Сортирует массив в обратном порядке, сохраняя ключи

array
asort
Функции для работы с массивами
PHP Manual

arsort

(PHP 4, PHP 5)

arsort — Сортирует массив в обратном порядке, сохраняя ключи

Описание

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Эта функция сортирует массив в обратном порядке таким образом, что сохраняются отношения между ключами и значениями.

Она полезна, в основном, при сортировке ассоциативных массивов, когда важно сохранить отношение ключ => значение.

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования arsort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

a = orange
d = lemon
b = banana
c = apple

Названия фруктов были отсортированы в обратном порядке и ключи, ассоциированные с элементами, были сохранены.

Смотрите также

  • asort() - Сортирует массив, сохраняя ключи
  • The сравнение функций сортировки массивов

array
asort
Функции для работы с массивами


Сортирует массив, сохраняя ключи

arsort
compact
Функции для работы с массивами
PHP Manual

asort

(PHP 4, PHP 5)

asort — Сортирует массив, сохраняя ключи

Описание

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Эта функция сортирует массив таким образом, что сохраняются отношения между ключами и значениями. Она полезна, в основном, при сортировке ассоциативных массивов, когда важно сохранить отношение ключ => значение.

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования asort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

c = apple
b = banana
d = lemon
a = orange

Названия фруктов были отсортированы в алфавитном порядке и ключи, ассоциированные с элементами, были сохранены.

Смотрите также

  • arsort() - Сортирует массив в обратном порядке, сохраняя ключи
  • The сравнение функций сортировки массивов

arsort
compact
Функции для работы с массивами


Создает массив, содержащий названия переменных и их значения

asort
count
Функции для работы с массивами
PHP Manual

compact

(PHP 4, PHP 5)

compact — Создает массив, содержащий названия переменных и их значения

Описание

array compact ( mixed $varname [, mixed $... ] )

Создает массив, содержащий переменные и их значения.

Для каждого из переданного параметров, функция compact() ищет переменную с указанным именем в текущей таблице символов и добавляет их в выводимый массив так, что имя переменной становится ключом, а содержимое переменной становится значением этого ключа. Короче говоря, она обратна функции extract().

Любые неустановленные строки будут просто пропущены.

Список параметров

varname

compact() принимает неограниченное количество параметров. Любой из параметров может быть либо строкой, содержащей название переменной, либо массивом названий переменных. Массив может содержать вложенные массивы названий переменных; функция compact() обрабатывает их рекурсивно.

Возвращаемые значения

Возвращает массив со всеми переменными, добавленными в него.

Примеры

Пример #1 Пример использования compact()

<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

Примечания

Замечание: Замечания по работе функции compact

Так как переменные переменных не могут быть использованы с суперглобальными массивами внутри функций, суперглобальные массивы не могут быть переданы в compact().

Смотрите также

  • extract() - Импортирует переменные из массива в текущую таблицу символов

asort
count
Функции для работы с массивами


Подсчитывает количество элементов массива или что-то в объекте

compact
current
Функции для работы с массивами
PHP Manual

count

(PHP 4, PHP 5)

count — Подсчитывает количество элементов массива или что-то в объекте

Описание

int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

Подсчитывает количество элементов массива или что-то в объекте.

Для объектов, если у вас включена поддержка SPL, вы можете перехватить count(), реализуя интерфейс Countable. Этот интерфейс имеет ровно один метод, Countable::count(), который возвращает значение функции count().

Пожалуйста, смотрите раздел "Массивы" в этом руководстве для более детального представления о реализации и использовании массивов в PHP.

Список параметров

var

Массив или объект.

mode

Если необязательный параметр mode установлен в COUNT_RECURSIVE (или 1), count() будет рекурсивно подсчитывать количество элементов массива. Это особенно полезно для подсчёта всех элементов многомерных массивов. count() не обнаруживает бесконечную рекурсию.

Возвращаемые значения

Возвращает количество элементов в var. Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если var - NULL, то будет возвращён 0.

Предостережение

count() может возвратить 0 для переменных, которые не установлены, но также может возвратить 0 для переменных, которые инициализированы пустым массивом. Используйте функцию isset() для того, чтобы протестировать, установлена ли переменная.

Список изменений

Версия | Описание
4.2.0 | Добавлен необязательный параметр mode.

Примеры

Пример #1 Пример использования count()

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

Пример #2 Пример рекурсивного использования count()

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// рекурсивный count
echo count($food, COUNT_RECURSIVE); // выводит 8

// обычный count
echo count($food); // выводит 2

?>

Смотрите также

  • is_array() - Определяет, является ли переменная массивом
  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • strlen() - Возвращает длину строки

compact
current
Функции для работы с массивами


Возвращает текущий элемент массива

count
each
Функции для работы с массивами
PHP Manual

current

(PHP 4, PHP 5)

current — Возвращает текущий элемент массива

Описание

mixed current ( array &$array )

У каждого массива имеется внутренний указатель на его "текущий" элемент, который инициализирован первым элементом, добавленным в массив.

Список параметров

array

Массив.

Возвращаемые значения

Функция current() просто возвращает значение элемента массива, на который указывает его внутренний указатель. Она не перемещает указатель куда бы то ни было. Если внутренний указатель находится за пределами списка элементов или массив пуст, current() возвращает FALSE.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования current() и дружественных функций

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Примечания

Замечание: Вы не сможете отличить конец массива от boolean элемента FALSE. Для корректного обхода массива, который может содержать FALSE элементы, смотрите функцию each().

Смотрите также

  • end() - Устанавливает внутренний указатель массива на его последний элемент
  • key() - Выбирает ключ из массива
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • prev() - Передвигает внутренний указатель массива на одну позицию назад
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд

count
each
Функции для работы с массивами


Возвращает текущую пару ключ/значение из массива и смещает его указатель

current
end
Функции для работы с массивами
PHP Manual

each

(PHP 4, PHP 5)

each — Возвращает текущую пару ключ/значение из массива и смещает его указатель

Описание

array each ( array &$array )

Возвращает текущую пару ключ/значение из массива и смещает его указатель.

После выполнения each(), указатель массива перемещается к следующему его элементу, пока не будет достигнут конец массива. Для повторного обхода массива при помощи each необходимо использовать функцию reset().

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает текущую пару ключ/значение из массива array. Данная пара возвращается в массива из четырех элементов, с ключами 0, 1, key и value. Элементы 0 и key содержат имя ключа элемента массива, а 1 и value содержат его данные.

Если внутренний указатель массива указывает за его пределы, each() возвратит FALSE.

Примеры

Пример #1 Примеры использования each()

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar теперь содержит следующие пары ключ/значение:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar теперь содержит следующие пары ключ/значение:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() обычно используется совместно с list() для обхода массива, как в этом примере:

Пример #2 Обход массива функцией each()

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

Результат выполнения данного примера:

a => apple
b => banana
c => cranberry

Предостережение

Поскольку добавление элемента в массив сбрасывает указатель, вышеприведённый пример может привести бесконечному циклу, если мы будем присваивать $fruit другие значения внутри цикла.

Внимание

Функция each() также принимает и объекты, но может возратить неожиданные результаты, поэтому итерировать свойства объекта с помощью each() не рекомендуется.

Смотрите также

  • key() - Выбирает ключ из массива
  • list() - Присваивает переменным из списка значения подобно массиву
  • current() - Возвращает текущий элемент массива
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд
  • prev() - Передвигает внутренний указатель массива на одну позицию назад
  • foreach
  • Итерация объектов

current
end
Функции для работы с массивами


Устанавливает внутренний указатель массива на его последний элемент

each
extract
Функции для работы с массивами
PHP Manual

end

(PHP 4, PHP 5)

end — Устанавливает внутренний указатель массива на его последний элемент

Описание

mixed end ( array &$array )

end() устанавливает внутренний указатель array на последний элемент и возвращает его значение.

Список параметров

array

Массив. Этот массив передается по ссылке, потому что он модифицируется данной функцией. Это означает что вы должны передать его как реальную переменную, а не как функцию, возвращающую массив, так как по ссылке можно передавать только реальные переменные.

Возвращаемые значения

Возвращает значение последнего элемента или FALSE для пустого массива.

Примеры

Пример #1 Пример использования end()

<?php

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry

?>

Смотрите также

  • current() - Возвращает текущий элемент массива
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • prev() - Передвигает внутренний указатель массива на одну позицию назад
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд

each
extract
Функции для работы с массивами


Импортирует переменные из массива в текущую таблицу символов

end
in_array
Функции для работы с массивами
PHP Manual

extract

(PHP 4, PHP 5)

extract — Импортирует переменные из массива в текущую таблицу символов

Описание

int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )

Импортирует переменные из массива в текущую таблицу символов.

Каждый ключ проверяется на предмет корректного имени переменной. Также проверяются совпадения с существующими переменными в символьной таблице.

Список параметров

var_array

Ассоциативный массив. Эта функция рассматривает ключи массива в качестве имен переменных, а их значения - в качестве значений этих переменных. Для каждой пары ключ/значение будет создана переменная в текущей таблице символов, в соответствии с параметрами extract_type и prefix.

Вы должны использовать ассоциативный массив, использование числовых массивов не приведёт ни к каким результатам, если вы не используете EXTR_PREFIX_ALL или EXTR_PREFIX_INVALID.

extract_type

Параметр extract_type определяет способ трактования неправильных/числовых ключей и коллизий. Он может принимать следующие значения:

EXTR_OVERWRITE
Если переменная с таким именем существует, она будет перезаписана.
EXTR_SKIP
Если переменная с таким именем существует, ее текущее значение не будет перезаписано.
EXTR_PREFIX_SAME
Если переменная с таким именем существует, к её имени будет добавлен префикс, определённый параметром prefix.
EXTR_PREFIX_ALL
Добавить префикс prefix ко всем именам переменных.
EXTR_PREFIX_INVALID
Добавить префикс prefix только к некорректным/числовым именам переменных.
EXTR_IF_EXISTS
Перезаписать только переменные, уже имеющиеся в текущей таблице символов, в противном случае не делать ничего. Данная возможность полезна для определения списка приемлемых переменных и для извлечения только тех переменных, которые вы уже определили из массивов типа $_REQUEST, например.
EXTR_PREFIX_IF_EXISTS
Создать только префикс-версии переменных, если версия данной переменной без префикса уже существует в текущей символьной таблице.
EXTR_REFS
Извлечь переменные как ссылки. Это означает, что значения таких переменных будут всё ещё ссылаться на значения массива var_array. Вы можете использовать этот флаг отдельно или комбинировать его с другими значениями extract_type с помощью побитового 'или'.

Если extract_type не указан, он трактуется как EXTR_OVERWRITE.

prefix

Обратите внимание, что prefix имеет значение, только если extract_type установлен в EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS. Если в результате добавления префикса, не будет получено допустимое имя для переменной, она не будет импортирована в текущую символьную таблицу.

Возвращаемые значения

Возвращает количество переменных, успешно импортированных в текущую таблицу символов.

Список изменений

Версия | Описание
4.3.0 | Добавлена константа EXTR_REFS.
4.2.0 | Добавлены константы EXTR_IF_EXISTS и EXTR_PREFIX_IF_EXISTS.
4.0.5 | Эта функция теперь возвращает количество извлеченных переменных. Добавлена константа EXTR_PREFIX_INVALID. Константа EXTR_PREFIX_ALL также включает числовые переменные.

Примеры

Пример #1 Пример использования extract()

Функцию extract() также можно использовать для импорта в текущую таблицу символов переменных, содержащихся в ассоциативном массиве, возвращённом функцией wddx_deserialize().

<?php

/* Предположим, что $var_array - это массив, полученный в результате
   wddx_deserialize */

$size = "large";
$var_array = array("color" => "blue",
                   "size"  => "medium",
                   "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>

Результат выполнения данного примера:

blue, large, sphere, medium

Переменная $size не была перезаписана, потому что мы определили EXTR_PREFIX_SAME, в результате чего была создана переменная $wddx_size. Если был бы определён флаг EXTR_SKIP, тогда переменная $wddx_size не была бы создана. EXTR_OVERWRITE была бы причиной того, что переменной $size было бы присвоено значение "medium", и EXTR_PREFIX_ALL была бы причиной того, что были бы также созданы новые переменные $wddx_color, $wddx_size и $wddx_shape.

Примечания

Внимание

Не используйте функцию extract() на непроверенных данных, таких как пользовательский ввод ($_GET, $_FILES и т.п.). Если вы сделаете это, например, для того, что бы временно запустить старый код, использующий register_globals, используйте соответствующий флаг extract_type для того, что бы не перезаписать уже установленные переменные, такой как EXTR_SKIP и удостоверьтесь, что вы извлекаете содержимое в том же порядке, что указан в директиве variables_order в php.ini.

Замечание:

Если у вас включена директива register_globals и вы используете extract() с массивом $_FILES и параметром EXTR_SKIP, вы можете быть удивлены результатами.

Внимание

Это нерекомендуемая практика и документирована здесь только для полноты картины. Использование register_globals считается устаревшим и вызов extract() на непроверенных данных, таких как $_FILES, как уже было сказано выше, потенциальный риск безопасности. Если вы столкнулись с данным случаем, это означает что вы используете как минимум две плохие практики кодирования.

<?php

/* Предположим, что $testfile это имя input загрузки файла
   и что директива register_globals включена. */

var_dump($testfile);
extract($_FILES, EXTR_SKIP);
var_dump($testfile);
var_dump($testfile['tmp_name']);

?>
Вы можете ожидать что-нибудь вроде следующего:
string(14) "/tmp/phpgCCPX8"
array(5) {
  ["name"]=>
  string(10) "somefile.txt"
  ["type"]=>
  string(24) "application/octet-stream"
  ["tmp_name"]=>
  string(14) "/tmp/phpgCCPX8"
  ["error"]=>
  int(0)
  ["size"]=>
  int(4208)
}
string(14) "/tmp/phpgCCPX8"
Однако, вместо этого вы увидите что-нибудь вроде этого:
string(14) "/tmp/phpgCCPX8"
string(14) "/tmp/phpgCCPX8"
string(1) "/"

Это происходит потому, что так как включена директива register_globals, переменная $testfile уже существует в глобальной области видимости в момент вызова extract(). А так как указан параметр EXTR_SKIP, $testfile не будет перезаписана содержимым массива $_FILES, поэтому $testfile останется строкой. Так как к строкам можно обращаться с помощью синтаксиса массивов и нечисловая строка tmp_name интерпретируется как 0, PHP воспринимает $testfile['tmp_name'] как $testfile[0].

Смотрите также

  • compact() - Создает массив, содержащий названия переменных и их значения

end
in_array
Функции для работы с массивами


Проверяет, присутствует ли в массиве значение

extract
key
Функции для работы с массивами
PHP Manual

in_array

(PHP 4, PHP 5)

in_array — Проверяет, присутствует ли в массиве значение

Описание

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Ищет в haystack значение needle. Если strict не установлен, то при поиске будет использовано нестрогое сравнение.

Список параметров

needle

Искомое значение.

Замечание:

Если needle - строка, сравнение будет произведено с учетом регистра.

haystack

Массив.

strict

Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие типов параметра needle и соответствующего значения массива haystack.

Возвращаемые значения

Возвращает TRUE, если needle был найден в массиве, и FALSE в обратном случае.

Список изменений

Версия | Описание
4.2.0 | needle теперь может быть массивом.

Примеры

Пример #1 Пример использования in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Нашел Irix";
}
if (in_array("mac", $os)) {
    echo "Нашел mac";
}
?>

Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:

Нашел Irix

Пример #2 Пример использования in_array() с параметром strict

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' найдено со строгой проверкой\n";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 найдено со строгой проверкой\n";
}
?>

Результат выполнения данного примера:

1.13 найдено со строгой проверкой

Пример #3 Пример использования in_array() с массивом в качестве параметра needle

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "'ph' найдено\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "'fi' найдено\n";
}

if (in_array('o', $a)) {
    echo "'o' найдено\n";
}
?>

Результат выполнения данного примера:

  'ph' найдено
  'o' найдено

Смотрите также

  • array_search() - Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • array_key_exists() - Проверяет, присутствует ли в массиве указанный ключ или индекс

extract
key
Функции для работы с массивами


Выбирает ключ из массива

in_array
krsort
Функции для работы с массивами
PHP Manual

key

(PHP 4, PHP 5)

key — Выбирает ключ из массива

Описание

mixed key ( array &$array )

key() возвращает индекс текущего элемента массива.

Список параметров

array

Массив.

Возвращаемые значения

Функция key() просто возвращает ключ того элемента массива, на который в данный момент указывает внутренний указатель массива. Он не сдвигает указатель ни в каком направлении. Если внутренний указатель указывает вне границ массива или массив пуст, key() возвратит NULL.

Примеры

Пример #1 Пример использования key()

<?php
$array = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
    'fruit4' => 'apple',
    'fruit5' => 'apple');

// этот цикл выведет все ключи ассоциативного массива,
// значения которых равны "apple"
while ($fruit_name = current($array)) {
    if ($fruit_name == 'apple') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

Результат выполнения данного примера:

fruit1<br />
fruit4<br />
fruit5<br />

Смотрите также

  • current() - Возвращает текущий элемент массива
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд

in_array
krsort
Функции для работы с массивами


Сортирует массив по ключам в обратном порядке

key
ksort
Функции для работы с массивами
PHP Manual

krsort

(PHP 4, PHP 5)

krsort — Сортирует массив по ключам в обратном порядке

Описание

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Сортирует массив по ключам в обратном порядке, сохраняя отношения между ключами и значениями. Эта функция полезна, в основном, для работы с ассоциативными массивами.

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования krsort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

d = lemon
c = apple
b = banana
a = orange

Смотрите также

  • arsort() - Сортирует массив в обратном порядке, сохраняя ключи
  • ksort() - Сортирует массив по ключам
  • The сравнение функций сортировки массивов

key
ksort
Функции для работы с массивами


Сортирует массив по ключам

krsort
list
Функции для работы с массивами
PHP Manual

ksort

(PHP 4, PHP 5)

ksort — Сортирует массив по ключам

Описание

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Сортирует массив по ключам, сохраняя отношения между ключами и значениями. Эта функция полезна, в основном, для работы с ассоциативными массивами.

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее смотри функцию sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ksort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

a = orange
b = banana
c = apple
d = lemon

Смотрите также

  • asort() - Сортирует массив, сохраняя ключи
  • The сравнение функций сортировки массивов

krsort
list
Функции для работы с массивами


Присваивает переменным из списка значения подобно массиву

ksort
natcasesort
Функции для работы с массивами
PHP Manual

list

(PHP 4, PHP 5)

list — Присваивает переменным из списка значения подобно массиву

Описание

array list ( mixed $varname [, mixed $... ] )

Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку переменных значения за одну операцию.

Список параметров

varname

Переменная.

Возвращаемые значения

Возвращает присвоенный массив.

Примеры

Пример #1 Примеры использования list()

<?php

$info = array('кофе', 'коричневый', 'кофеин');

// Составить список всех переменных
list($drink, $color, $power) = $info;
echo "$drink - $color, а $power делает его особенным.\n";

// Составить список только некоторых из них
list($drink, , $power) = $info;
echo "В $drink есть $power.\n";

// Или только третья
list( , , $power) = $info;
echo "Мне нужен $power!\n";

// list() не работает со строками
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Пример #2 Пример использования list()

<table>
 <tr>
  <th>Имя работника</th>
  <th>Зарплата</th>
 </tr>

<?php

$result = mysql_query("SELECT id, name, salary FROM employees", $conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
    echo " <tr>\n" .
          "  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          "  <td>$salary</td>\n" .
          " </tr>\n";
}

?>

</table>

Пример #3 Использование list() с индексами массивов

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Пример #4 Использование list() с индексами массива

<?php

$info = array('кофе', 'коричневый', 'кофеин');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Выведет (сравните порядок исходных элементов с порядком, в в котором они были перезаписаны list()):

array(3) {
  [2]=>
  string(12) "кофеин"
  [1]=>
  string(20) "коричневый"
  [0]=>
  string(8) "кофе"
}

Примечания

Внимание

list() присваивает значения начиная с крайнего правого параметра. Если вы используете простые переменные, можете не беспокоиться об этом. Но если вы используете индексные массивы, вы можете ожидать, что в результате выполнения функции list() вы получите тот же порядок элементов, что и в исходном массиве: слева направо; однако это не так. Они будут присвоены в обратном порядке.

Замечание:

list() работает только с массивами, индексами которых являются числа и нумерация которых начинается с 0.

Смотрите также

  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • array() - Создает массив
  • extract() - Импортирует переменные из массива в текущую таблицу символов

ksort
natcasesort
Функции для работы с массивами


Сортирует массив, используя алгоритм "natural order" без учета регистра символов

list
natsort
Функции для работы с массивами
PHP Manual

natcasesort

(PHP 4, PHP 5)

natcasesort — Сортирует массив, используя алгоритм "natural order" без учета регистра символов

Описание

bool natcasesort ( array &$array )

natcasesort() - это регистронезависимый аналог natsort().

Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется "natural ordering".

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования natcasesort()

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo "Обычная сортировка\n";
print_r($array1);

natcasesort($array2);
echo "\nNatural order сортировка (без учета регистра)\n";
print_r($array2);
?>

Результат выполнения данного примера:

Обычная сортировка
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Natural order сортировка (без учета регистра)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Подробнее смотри статью Martin Pool » Natural Order String Comparison.

Смотрите также

  • natsort() - Сортирует массив, используя алгоритм "natural order"
  • The сравнение функций сортировки массивов
  • strnatcmp() - Сравнение строк с использованием алгоритма "natural order"
  • strnatcasecmp() - Сравнение строк без учета регистра с использованием алгоритма "natural order"

list
natsort
Функции для работы с массивами


Сортирует массив, используя алгоритм "natural order"

natcasesort
next
Функции для работы с массивами
PHP Manual

natsort

(PHP 4, PHP 5)

natsort — Сортирует массив, используя алгоритм "natural order"

Описание

bool natsort ( array &$array )

Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется "natural ordering". Отличие алгоритма "natural ordering" от обычных алгоритмов сортировки, применяемых, например, функцией sort() можно увидеть в примере ниже.

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.10 | В строках, отбитых нулями спереди, (например, '00005') теперь данная отбивка игнорируется.

Примеры

Пример #1 Простой пример использования natsort()

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Обычная сортировка\n";
print_r($array1);

natsort($array2);
echo "\nСортировка natural order\n";
print_r($array2);
?>

Результат выполнения данного примера:

Обычная сортировка
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Сортировка natural order
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Подробнее смотри статью Martin Pool » Natural Order String Comparison.

Пример #2 Примеры использования различных трюков с natsort()

<?php
echo "Отрицательные числа\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo "Отбивка нулями\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);

echo "Другие символы\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);

echo "Сортировка по ключу\n";
$smoothie = array('orange' => 1, 'apple' => 1, 'yogurt' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>

Результат выполнения данного примера:

Отрицательные числа
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

Отбивка нулями
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Другие символы
Array
(
    [0] => image_1.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
    [3] => image_4.jpg
)
Array
(
    [0] => image_1.jpg
    [3] => image_4.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
)

Сортировка по ключу
Array
(
    [orange] => 1
    [apple]  => 1
    [yogurt] => 4
    [banana] => 4
)
Array
(
    [apple]  => 1
    [banana] => 4
    [orange] => 1
    [yogurt] => 4
)

Смотрите также

  • natcasesort() - Сортирует массив, используя алгоритм "natural order" без учета регистра символов
  • The сравнение функций сортировки массивов
  • strnatcmp() - Сравнение строк с использованием алгоритма "natural order"
  • strnatcasecmp() - Сравнение строк без учета регистра с использованием алгоритма "natural order"

natcasesort
next
Функции для работы с массивами


Передвигает внутренний указатель массива на одну позицию вперёд

natsort
pos
Функции для работы с массивами
PHP Manual

next

(PHP 4, PHP 5)

next — Передвигает внутренний указатель массива на одну позицию вперёд

Описание

mixed next ( array &$array )

next() ведёт себя подобно current(), но с одним отличием. Перед тем, как возвратить значение элемента массива, эта функция передвигает его внутренний указатель на одну позицию вперёд. Другими словами, она возвращает следующий элемент массива и сдвигает его внутренний указатель на одну позицию.

Список параметров

array

Массив array модифицируется данной функцией.

Возвращаемые значения

Возвращает значение элемента массива, находящегося на позиции, следующей за позицией внутренний указателя или FALSE, если достигнут конец массива.

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования next() и друзей

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Примечания

Замечание: Вы не сможете отличить конец массива от boolean элемента FALSE. Для корректного обхода массива, который может содержать FALSE элементы, смотрите функцию each().

Смотрите также

  • current() - Возвращает текущий элемент массива
  • end() - Устанавливает внутренний указатель массива на его последний элемент
  • prev() - Передвигает внутренний указатель массива на одну позицию назад
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель

natsort
pos
Функции для работы с массивами


Псевдоним current

next
prev
Функции для работы с массивами
PHP Manual

pos

(PHP 4, PHP 5)

pos — Псевдоним current()

Описание

Эта функция является псевдонимом: current()

next
prev
Функции для работы с массивами


Передвигает внутренний указатель массива на одну позицию назад

pos
range
Функции для работы с массивами
PHP Manual

prev

(PHP 4, PHP 5)

prev — Передвигает внутренний указатель массива на одну позицию назад

Описание

mixed prev ( array &$array )

Передвигает внутренний указатель массива на одну позицию назад.

prev() ведёт себя подобно next(), за исключением того, что она передвигает внутренний указатель массива на одну позицию назад, а не вперёд.

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает значение массива, на которое ранее указывал внутренний указатель массива, или FALSE если больше элементов нет.

Примеры

Пример #1 Пример использования prev() и друзей

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Примечания

Внимание

Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Замечание: Вы не сможете различить начало массива от boolean элемента FALSE. Для корректного обхода массива, который может содержать элементы FALSE, смотрите функцию each().

Смотрите также

  • current() - Возвращает текущий элемент массива
  • end() - Устанавливает внутренний указатель массива на его последний элемент
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель

pos
range
Функции для работы с массивами


Создает массив, содержащий диапазон элементов

prev
reset
Функции для работы с массивами
PHP Manual

range

(PHP 4, PHP 5)

range — Создает массив, содержащий диапазон элементов

Описание

array range ( mixed $start , mixed $limit [, number $step = 1 ] )

Создает массив, содержащий диапазон элементов.

Список параметров

start

Первое значение последовательности.

limit

Конечное значение, которым заканчивается последовательность.

step

Если указан параметр step, то он будет использоваться как инкремент между элементами последовательности. step должен быть положительным числом. Если step не указан, он принимает значение по умолчанию 1.

Возвращаемые значения

Возвращает массив элементов от start до limit, включительно.

Список изменений

Версия | Описание
5.0.0 | Добавлен необязательный параметр step.
4.1.0 to 4.3.2 | В PHP версий с 4.1.0 по 4.3.2, range() рассматривала числовые строки именно как строки, а не числа. Вместо них использовалась последовательность знаков. Например, "4242" трактовалось как "4".
4.1.0 | До появления PHP 4.1.0, range() создавала только массивы, содержащие диапазон чисел в порядке возрастания. Поддержка диапазонов знаков и убывающих диапазонов была добавлена в версии 4.1.0. Диапазон знаков можно задать только при помощи строки из одного знака. Если длина такой строки будет более одного знака, будет использован только первый знак.

Примеры

Пример #1 Примеры использования range()

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
    echo $number;
}

// Параметр step был добавлен в 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
    echo $number;
}

// Использование последовательности знаков было добавлено в версии 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letter) {
    echo $letter;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letter) {
    echo $letter;
}
?>

Смотрите также

  • shuffle() - Перемешивает массив
  • array_fill() - Заполняет массив значениями
  • foreach

prev
reset
Функции для работы с массивами


Устанавливает внутренний указатель массива на его первый элемент

range
rsort
Функции для работы с массивами
PHP Manual

reset

(PHP 4, PHP 5)

reset — Устанавливает внутренний указатель массива на его первый элемент

Описание

mixed reset ( array &$array )

reset() перемещает внутренний указатель array к его первому элементу и возвращает значение первого элемента массива.

Список параметров

array

Входной массив.

Возвращаемые значения

Возвращает значение первого элемента массива, или FALSE, если массив пуст.

Примеры

Пример #1 Пример использования reset()

<?php

$array = array('первый шаг', 'второй шаг', 'третий шаг', 'четвертый шаг');

// по умолчанию указатель указывает на первый элемент
echo current($array) . "<br />\n"; // "первый шаг"

// пропускаем два шага
next($array);
next($array);
echo current($array) . "<br />\n"; // "третий шаг"

// сбрасываем указатель, тем самым возвращаемся к первому шагу
reset($array);
echo current($array) . "<br />\n"; // "первый шаг"

?>

Смотрите также

  • current() - Возвращает текущий элемент массива
  • each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
  • end() - Устанавливает внутренний указатель массива на его последний элемент
  • next() - Передвигает внутренний указатель массива на одну позицию вперёд
  • prev() - Передвигает внутренний указатель массива на одну позицию назад

range
rsort
Функции для работы с массивами


Сортирует массив в обратном порядке

reset
shuffle
Функции для работы с массивами
PHP Manual

rsort

(PHP 4, PHP 5)

rsort — Сортирует массив в обратном порядке

Описание

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Эта функция сортирует массив в обратном порядке (от большего к меньшему).

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее смотрите функцию sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования rsort()

<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Результат выполнения данного примера:

0 = orange
1 = lemon
2 = banana
3 = apple

Названия фруктов были отсортированы по алфавиту в обратном порядке.

Примечания

Замечание: Эта функция присваивает новые ключи элементам массива. Она удалит все существующие ключи, а не просто переупорядочит их.

Смотрите также

  • arsort() - Сортирует массив в обратном порядке, сохраняя ключи
  • krsort() - Сортирует массив по ключам в обратном порядке
  • The сравнение функций сортировки массивов

reset
shuffle
Функции для работы с массивами


Перемешивает массив

rsort
sizeof
Функции для работы с массивами
PHP Manual

shuffle

(PHP 4, PHP 5)

shuffle — Перемешивает массив

Описание

bool shuffle ( array &$array )

Эта функция перемешивает элементы массива в случайном порядке.

Список параметров

array

Массив.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования shuffle()

<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

Список изменений

Версия | Описание
4.2.0 | Генератор случайных чисел инициализируется автоматически.

Примечания

Замечание: Эта функция присваивает новые ключи элементам массива. Она удалит все существующие ключи, а не просто переупорядочит их.

Смотрите также

  • The сравнение функций сортировки массивов

rsort
sizeof
Функции для работы с массивами


Псевдоним count

shuffle
sort
Функции для работы с массивами
PHP Manual

sizeof

(PHP 4, PHP 5)

sizeof — Псевдоним count()

Описание

Эта функция является псевдонимом: count().

shuffle
sort
Функции для работы с массивами


Сортирует массив

sizeof
uasort
Функции для работы с массивами
PHP Manual

sort

(PHP 4, PHP 5)

sort — Сортирует массив

Описание

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Эта функция сортирует массив. После завершения работы функции элементы массива будут расположены в порядке возрастания.

Список параметров

array

Входной массив.

sort_flags

Дополнительный второй параметр sort_flags можно использовать для изменения поведения сортировки, используя следующие значения:

Флаги сортировки:

  • SORT_REGULAR - обычное сравнение элементов (без изменения типов)
  • SORT_NUMERIC - числовое сравнение элементов
  • SORT_STRING - строковое сравнение элементов
  • SORT_LOCALE_STRING - строковое сравнение элементов в зависимости от текущей локали. strings, based on the current locale. Добавлено в версиях PHP 4.4.0 и 5.0.2, используется системная локаль, которая может быть изменена с помощью функции setlocale().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования sort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Результат выполнения данного примера:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

Фрукты отсортированы в алфавитном порядке.

Примечания

Замечание: Эта функция присваивает новые ключи элементам массива. Она удалит все существующие ключи, а не просто переупорядочит их.

Замечание: Как и большинство функций сортировки в PHP, sort() использует реализацию алгоритма » быстрой сортировки.

Внимание

Будьте осторожны при сортировке массивов, содержащих элементы разных типов, так как в этом случае результат работы функции sort() может быть непредсказуемым.

Смотрите также

  • asort() - Сортирует массив, сохраняя ключи
  • The сравнение функций сортировки массивов

sizeof
uasort
Функции для работы с массивами


Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей

sort
uksort
Функции для работы с массивами
PHP Manual

uasort

(PHP 4, PHP 5)

uasort — Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей

Описание

bool uasort ( array &$array , callback $cmp_function )

Эта функция сортирует массив таким образом, что его индексы сохраняют отношения с элементами, с которыми ранее были ассоциированы, с помощью callback-функции, предоставленной пользователем.

Это обычно используется при сортировке ассоциативных массивов, в которых важен актуальный порядок элементов.

Список параметров

array

Входной массив.

cmp_function

Смотрите функции usort() и uksort() для примеров callback-функций сортировки, предоставленных пользователем.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой пример использования uasort()

<?php
// Функция сравнения
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Сортируемый массив
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);

// Сортируем и выводим получившийся массив
uasort($array, 'cmp');
print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Смотрите также

  • usort() - Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов
  • The сравнение функций сортировки массивов

sort
uksort
Функции для работы с массивами


Сортирует массив по ключам, используя пользовательскую функцию для сравнения ключей

uasort
usort
Функции для работы с массивами
PHP Manual

uksort

(PHP 4, PHP 5)

uksort — Сортирует массив по ключам, используя пользовательскую функцию для сравнения ключей

Описание

bool uksort ( array &$array , callback $cmp_function )

uksort() отсортирует массив, используя для сравнения его ключей функцию, предоставленную пользователем. Используйте эту функцию, если массив должен быть отсортирован по какому-нибудь необычному признаку.

Список параметров

array

Входной массив.

cmp_function

Callback-функция, используемая для сравнения.

Функция cmp_function должна принимать два параметра, которым будут присвоены значения двух ключей array. Функция, используемая для сравнения, должна возвращать целое число, меньшее, равное или большее нуля, если первый параметр должен быть меньше, равен или больше второго.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования uksort()

<?php
function cmp($a, $b)
{
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

uksort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

Результат выполнения данного примера:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Смотрите также

  • usort() - Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов
  • The сравнение функций сортировки массивов

uasort
usort
Функции для работы с массивами


Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов

uksort
Классы/Объекты
Функции для работы с массивами
PHP Manual

usort

(PHP 4, PHP 5)

usort — Сортирует массив по значениям используя пользовательскую функцию для сравнения элементов

Описание

bool usort ( array &$array , callback $cmp_function )

Эта функция сортирует элементы массива, используя для сравнения значений callback-функцию, предоставленную пользователем. Используйте эту функцию, если вам нужно отсортировать массив по какому-нибудь необычному признаку.

Замечание:

Если два элемента исходного массива равны, их порядок в отсортированном массиве неопределён.

Замечание: Эта функция присваивает новые ключи элементам массива. Она удалит все существующие ключи, а не просто переупорядочит их.

Список параметров

array

Входной массив.

cmp_function

Функция, используемая для сравнения, должна возвращать целое число, меньшее, равное или большее нуля, если первый аргумент соответственно меньше, равен или больше второго.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.1.0 | Представлен новый алгоритм сортировки. Функция cmp_function не сохраняет исходный порядок одинаковых элементов.

Примеры

Пример #1 Пример использования usort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

Результат выполнения данного примера:

0: 1
1: 2
2: 3
3: 5
4: 6

Замечание:

Очевидно, что для этого тривиального случая более подходит функция sort().

Пример #2 Пример использования функции usort() с многомерными массивами

<?php
function cmp($a, $b)
{
    return strcmp($a["fruit"], $b["fruit"]);
}

$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";

usort($fruits, "cmp");

while (list($key, $value) = each($fruits)) {
    echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>

При сортировке многомерного массива переменные $a и $b содержат ссылки на первые два индекса массива.

Результат выполнения данного примера:

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

Пример #3 Пример использования usort() с методом класса

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* Это статическая функция сравнения: */
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->name);
        $bl = strtolower($b->name);
        if ($al == $bl) {
            return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
    echo $item->name . "\n";
}
?>

Результат выполнения данного примера:

b
c
d

Смотрите также

  • uasort() - Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей
  • The сравнение функций сортировки массивов

uksort
Классы/Объекты
Функции для работы с массивами


Функции работы с Классами/Объектами

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Классы/Объекты
    • call_user_method_array — Вызывает метод объекта с массивом параметров [устаревшее]
    • call_user_method — Вызывает метод указанного объекта [устаревшее]
    • class_alias — Создает псевдоним для указанного класса
    • class_exists — Проверяет, был ли объявлен класс
    • get_called_class — Имя класса, полученное с помощью позднего статического связывания
    • get_class_methods — Возвращает массив имен методов класса
    • get_class_vars — Возвращает объявленные по умолчанию свойства класса
    • get_class — Возвращает имя класса, к которому принадлежит объект
    • get_declared_classes — Возвращает массив с именами объявленных классов
    • get_declared_interfaces — Возвращает массив всех объявленных интерфейсов
    • get_object_vars — Возвращает свойства указанного объекта
    • get_parent_class — Возвращает имя родительского класса для объекта или класса
    • interface_exists — Проверяет, определен ли интерфейс
    • is_a — Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков
    • is_subclass_of — Проверяет, содержит ли объект в своем дереве предков указанный класс
    • method_exists — Проверяет, существует ли метод в данном классе
    • property_exists — Проверяет, содержит ли объект или класс указанный атрибут
usort
Введение
Расширения, относящиеся к переменным и типам


Введение

Эти функции позволяют получить информацию о классах и экземплярах объектов. Вы можете получить имя класса, которому принадлежит объект, равно как и все его свойства и методы. Используя эти функции, вы сможете установить не только принадлежность объекта к конкретному классу, но и определить порядок наследования (к примеру, какой класс наследует класс данного объекта).

Классы/Объекты
Установка и настройка
Классы/Объекты


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Классы/Объекты


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Классы/Объекты


Примеры

В приведённом ниже примере, мы сначала определим базовый класс и класс его наследующий. Базовый класс описывает овощ: съедобен ли и какого внешне цвета. Дочерний класс Spinach добавляет метод приготовления овоща и проверки -- был ли он уже приготовлен.

Пример #1 classes.inc

<?php

// базовый класс с основными свойствами и методами
class Vegetable {

    var $edible;
    var $color;

    function Vegetable($edible, $color="green")
    {
        $this->edible = $edible;
        $this->color = $color;
    }

    function is_edible()
    {
        return $this->edible;
    }

    function what_color()
    {
        return $this->color;
    }

} // конец класса Vegetable

// расширяет базовый класс
class Spinach extends Vegetable {

    var $cooked = false;

    function Spinach()
    {
        $this->Vegetable(true, "green");
    }

    function cook_it()
    {
        $this->cooked = true;
    }

    function is_cooked()
    {
        return $this->cooked;
    }

} // конец класса Spinach

?>

Теперь мы создадим по объекту каждого класса и распечатаем информацию о них, включая порядок их наследования. Также мы объявим несколько функций-утилит, главным образом для удобного вывода результатов.

Пример #2 test_script.php

<pre>
<?php

include "classes.inc";

// функции-утилиты

function print_vars($obj)
{
    $arr = get_object_vars($obj);
    while (list($prop, $val) = each($arr))
        echo "\t$prop = $val\n";
}

function print_methods($obj)
{
    $arr = get_class_methods(get_class($obj));
    foreach ($arr as $method)
        echo "\tfunction $method()\n";
}

function class_parentage($obj, $class)
{
    if (is_subclass_of($GLOBALS[$obj], $class)) {
        echo "Object $obj belongs to class " . get_class($$obj);
        echo " a subclass of $class\n";
    } else {
        echo "Object $obj does not belong to a subclass of $class\n";
    }
}

// создание экземпляров объектов

$veggie = new Vegetable(true, "blue");
$leafy = new Spinach();

// распечатка информации об объектах
echo "veggie: CLASS " . get_class($veggie) . "\n";
echo "leafy: CLASS " . get_class($leafy);
echo ", PARENT " . get_parent_class($leafy) . "\n";

// показать свойства объекта класса Spinach
echo "\nveggie: Properties\n";
print_vars($veggie);

// и методы объекта базового класса Vegetable
echo "\nleafy: Methods\n";
print_methods($leafy);

echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>

Важно заметить, что в приведенном выше примере объект $leafy -- экземпляр класса Spinach, который наследует класс Vegetable, вследствие чего последняя часть скрипта выведет:

       [...]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable

Предопределенные константы
Классы/Объекты
Классы/Объекты


Классы/Объекты
PHP Manual

Классы/Объекты

Содержание

  • call_user_method_array — Вызывает метод объекта с массивом параметров [устаревшее]
  • call_user_method — Вызывает метод указанного объекта [устаревшее]
  • class_alias — Создает псевдоним для указанного класса
  • class_exists — Проверяет, был ли объявлен класс
  • get_called_class — Имя класса, полученное с помощью позднего статического связывания
  • get_class_methods — Возвращает массив имен методов класса
  • get_class_vars — Возвращает объявленные по умолчанию свойства класса
  • get_class — Возвращает имя класса, к которому принадлежит объект
  • get_declared_classes — Возвращает массив с именами объявленных классов
  • get_declared_interfaces — Возвращает массив всех объявленных интерфейсов
  • get_object_vars — Возвращает свойства указанного объекта
  • get_parent_class — Возвращает имя родительского класса для объекта или класса
  • interface_exists — Проверяет, определен ли интерфейс
  • is_a — Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков
  • is_subclass_of — Проверяет, содержит ли объект в своем дереве предков указанный класс
  • method_exists — Проверяет, существует ли метод в данном классе
  • property_exists — Проверяет, содержит ли объект или класс указанный атрибут
Примеры
call_user_method_array
Классы/Объекты
PHP Manual


Вызывает метод объекта с массивом параметров [устаревшее]

Классы/Объекты
call_user_method
Классы/Объекты
PHP Manual

call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array — Вызывает метод объекта с массивом параметров [устаревшее]

Описание

mixed call_user_method_array ( string $method_name , object &$obj , array $params )
Внимание

Функция call_user_method_array() устарела с выходом 4.1.0.

Список параметров

method_name

Имя вызываемого метода.

obj

Объект (object), содержащий вызываемый метод method_name.

params

Массив параметров.

Примеры

Пример #1 Альтернатива call_user_method_array()

<?php
call_user_func_array(array($obj, $method_name), $params);
call_user_func_array(array(&$obj, $method_name), $params); // PHP 4
?>

Смотрите также

  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре

Классы/Объекты
call_user_method
Классы/Объекты


Вызывает метод указанного объекта [устаревшее]

call_user_method_array
class_alias
Классы/Объекты
PHP Manual

call_user_method

(PHP 4, PHP 5)

call_user_method — Вызывает метод указанного объекта [устаревшее]

Описание

mixed call_user_method ( string $method_name , object &$obj [, mixed $parameter [, mixed $... ]] )
Внимание

Функция call_user_method_array() устарела с выходом 4.1.0.

Список параметров

method_name

Имя вызываемого метода.

obj

Объект (object), содержащий вызываемый метод method_name.

parameter ...

Необязательные параметры.

Примеры

Пример #1 Альтернатива call_user_method()

<?php
call_user_func(array($obj, $method_name), $parameter /* , ... */);
call_user_func(array(&$obj, $method_name), $parameter /* , ... */); // PHP 4
?>

Смотрите также

  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре

call_user_method_array
class_alias
Классы/Объекты


Создает псевдоним для указанного класса

call_user_method
class_exists
Классы/Объекты
PHP Manual

class_alias

(PHP 5 >= 5.3.0)

class_alias — Создает псевдоним для указанного класса

Описание

bool class_alias ([ string $original [, string $alias ]] )

Создает псевдоним alias для класса original. Новый класс с псевдонимом будет точно таким же, как и оригинальный класс.

Список параметров

original

Оригинальный класс.

alias

Имя псевдонима для класса.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования class_alias()

<?php

class foo { }

class_alias('foo', 'bar');

$a = new foo;
$b = new bar;

// объекты одинаковы
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// классы одинаковы
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

Результат выполнения данного примера:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Смотрите также

  • get_parent_class() - Возвращает имя родительского класса для объекта или класса
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс

call_user_method
class_exists
Классы/Объекты


Проверяет, был ли объявлен класс

class_alias
get_called_class
Классы/Объекты
PHP Manual

class_exists

(PHP 4, PHP 5)

class_exists — Проверяет, был ли объявлен класс

Описание

bool class_exists ( string $class_name [, bool $autoload = true ] )

Эта функция проверяет, был ли объявлен указанный класс или нет.

Список параметров

class_name

Имя класса. Воспринимается без учета регистра.

autoload

Вызывать ли по умолчанию __autoload.

Возвращаемые значения

Возвращает TRUE, если класс class_name объявлен, иначе FALSE.

Список изменений

Версия | Описание
5.0.2 | Больше не возвращает TRUE для объявленных интерфейсов. Используйте для этого interface_exists().
5.0.0 | Добавлен параметр autoload.

Примеры

Пример #1 Пример использования class_exists()

<?php
// Проверяем существование класса перед его использованием
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Пример #2 Пример использования параметра autoload

<?php
function __autoload($class)
{
    include($class . '.php');

    // Проверяем необходимость подключения указанного класса
    if (!class_exists($class, false)) {
        trigger_error("Unable to load class: $class", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Смотрите также

  • function_exists() - Возвращает TRUE, если указанная функция определена
  • interface_exists() - Проверяет, определен ли интерфейс
  • get_declared_classes() - Возвращает массив с именами объявленных классов

class_alias
get_called_class
Классы/Объекты


Имя класса, полученное с помощью позднего статического связывания

class_exists
get_class_methods
Классы/Объекты
PHP Manual

get_called_class

(PHP 5 >= 5.3.0)

get_called_class — Имя класса, полученное с помощью позднего статического связывания

Описание

string get_called_class ( void )

Возвращает имя класса, из которого был вызван статический метод.

Возвращаемые значения

Возвращает имя класса. Возвращает FALSE, если было вызвано вне класса.

Примеры

Пример #1 Пример использования get_called_class()

<?php

class foo {
    static public function test() {
        var_dump(get_called_class());
    }
}

class bar extends foo {
}

foo::test();
bar::test();

?>

Результат выполнения данного примера:

string(3) "foo"
string(3) "bar"

Смотрите также

  • get_parent_class() - Возвращает имя родительского класса для объекта или класса
  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс

class_exists
get_class_methods
Классы/Объекты


Возвращает массив имен методов класса

get_called_class
get_class_vars
Классы/Объекты
PHP Manual

get_class_methods

(PHP 4, PHP 5)

get_class_methods — Возвращает массив имен методов класса

Описание

array get_class_methods ( mixed $class_name )

Возвращает массив имен методов класса.

Список параметров

class_name

The class name or an object instance

Возвращаемые значения

Возвращает массив имен методов, объявленных в классе class_name. В случае ошибки будет возвращен NULL.

Список изменений

Версия | Описание
5.0.0 | Начиная с PHP 5, эта функция возвращает имена методов именно так, как они были объявлены (с учетом регистра). В PHP 4 они возвращались в нижнем регистре.
4.0.6 | Добавлена возможность указания самого объекта.

Примеры

Пример #1 Пример использования get_class_methods()

<?php

class myclass {
    // конструктор
    function myclass()
    {
        return(true);
    }

    // метод 1
    function myfunc1()
    {
        return(true);
    }

    // метод 2
    function myfunc2()
    {
        return(true);
    }
}

$class_methods = get_class_methods('myclass');
// или
$class_methods = get_class_methods(new myclass());

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

Результат выполнения данного примера:

myclass
myfunc1
myfunc2

Смотрите также

  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • get_class_vars() - Возвращает объявленные по умолчанию свойства класса
  • get_object_vars() - Возвращает свойства указанного объекта

get_called_class
get_class_vars
Классы/Объекты


Возвращает объявленные по умолчанию свойства класса

get_class_methods
get_class
Классы/Объекты
PHP Manual

get_class_vars

(PHP 4, PHP 5)

get_class_vars — Возвращает объявленные по умолчанию свойства класса

Описание

array get_class_vars ( string $class_name )

Возвращает объявленные по умолчанию свойства указанного класса.

Список параметров

class_name

Имя класса

Возвращаемые значения

Возвращает ассоциативный массив объявленных свойств класса, видимых из текущей области видимости, с их значением по умолчанию. Получившиеся элементы массива имеют форму varname => value.

Список изменений

Версия | Описание
5.0.3 | В зависимости от области видимости, get_class_vars() вернет только те свойства, доступ к которым может быть получен из текущей области видимости.
5.0.2 | Вызов get_class_vars() не вернет все свойства в качестве массива, в отличие от предыдущего поведения, где protected и private свойства имели префикс с нулевым байтом.
5.0.1 | Вызов get_class_vars() покажет все свойства, как при конвертировании объекта в класс.
До версии 4.2.0 | Неинициализированные переменные класса не будут возвращены функцией get_class_vars()

Примеры

Пример #1 Пример использования get_class_vars()

<?php

class myclass {

    var $var1; // переменная не имеет начального значения...
    var $var2 = "xyz";
    var $var3 = 100;
    private $var4; // PHP 5

    // конструктор
    function myclass() {
        // change some properties
        $this->var1 = "foo";
        $this->var2 = "bar";
        return true;
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

Результат выполнения данного примера:

// До PHP 4.2.0
var2 : xyz
var3 : 100

// Начиная с PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Пример #2 get_class_vars() и поведение области видимости

<?php
function format($array)
{
    return implode('|', array_keys($array)) . "\r\n";
}

class TestCase
{
    public $a    = 1;
    protected $b = 2;
    private $c   = 3;

    public static function expose()
    {
        echo format(get_class_vars(__CLASS__));
    }
}

TestCase::expose();
echo format(get_class_vars('TestCase'));
?>

Результат выполнения данного примера:

// 5.0.0
a| * b| TestCase c
a| * b| TestCase c

// 5.0.1 - 5.0.2
a|b|c
a|b|c

// 5.0.3 +
a|b|c
a

Смотрите также

  • get_class_methods() - Возвращает массив имен методов класса
  • get_object_vars() - Возвращает свойства указанного объекта

get_class_methods
get_class
Классы/Объекты


Возвращает имя класса, к которому принадлежит объект

get_class_vars
get_declared_classes
Классы/Объекты
PHP Manual

get_class

(PHP 4, PHP 5)

get_class — Возвращает имя класса, к которому принадлежит объект

Описание

string get_class ([ object $object = NULL ] )

Возвращает имя класса, экземпляром которого является объект object.

Список параметров

object

Тестируемый объект. Внутри класса этот параметр может быть опущен.

Возвращаемые значения

Возвращает имя класса, к которому принадлежит экземпляр object. Возвращает FALSE, если object не является объектом.

Если параметр object опущен внутри класса, будет возвращено имя этого класса.

Ошибки

Если get_class() будет вызвана с чем-то другим, не являющимся объектом, будет вызвана ошибка уровня E_WARNING.

Список изменений

Версия | Описание
Начиная с версии 5.3.0 | NULL стал значением по умолчанию для параметра object, поэтому передача NULL в object теперь имеет тот же самый эффект, как и отсутствие какой-либо передачи вообще.
Начиная с версии 5.0.0 | Имя класса теперь возвращается в оригинальной записи.
Начиная с версии 5.0.0 | Параметр object стал необязателен при вызове из метода объекта.

Примеры

Пример #1 Использование get_class()

<?php

class foo {
    function name()
    {
        echo "My name is " , get_class($this) , "\n";
    }
}

// создание объекта
$bar = new foo();

// внешний вызов
echo "Its name is " , get_class($bar) , "\n";

// внутренний вызов
$bar->name();

?>

Результат выполнения данного примера:

Its name is foo
My name is foo

Пример #2 Использование get_class() в родительском классе

<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

Результат выполнения данного примера:

string(3) "foo"
string(3) "bar"

Смотрите также

  • get_called_class() - Имя класса, полученное с помощью позднего статического связывания
  • get_parent_class() - Возвращает имя родительского класса для объекта или класса
  • gettype() - Возвращает тип переменной
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс

get_class_vars
get_declared_classes
Классы/Объекты


Возвращает массив с именами объявленных классов

get_class
get_declared_interfaces
Классы/Объекты
PHP Manual

get_declared_classes

(PHP 4, PHP 5)

get_declared_classes — Возвращает массив с именами объявленных классов

Описание

array get_declared_classes ( void )

Возвращает объявленные классы.

Возвращаемые значения

Возвращает массив имен объявленных классов текущего скрипта.

Замечание:

Учтите также, что в зависимости от расширений, собранных или загруженных в PHP, может варьироваться число дополнительных классов. Это означает, что вы не сможете использовать собственные классы с данными именами. Список предопределенных классов находится в разделе дополнения "Предопределенные Классы".

Примеры

Пример #1 Пример использования get_declared_classes()

<?php
print_r(get_declared_classes());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Смотрите также

  • class_exists() - Проверяет, был ли объявлен класс
  • get_declared_interfaces() - Возвращает массив всех объявленных интерфейсов
  • get_defined_functions() - Возвращает массив всех определённых функций

get_class
get_declared_interfaces
Классы/Объекты


Возвращает массив всех объявленных интерфейсов

get_declared_classes
get_object_vars
Классы/Объекты
PHP Manual

get_declared_interfaces

(PHP 5)

get_declared_interfaces — Возвращает массив всех объявленных интерфейсов

Описание

array get_declared_interfaces ( void )

Возвращает объявленные интерфейсы.

Возвращаемые значения

Возвращает массив имен всех объявленных интерфейсов в текущем скрипте.

Примеры

Пример #1 Пример использования get_declared_interfaces()

<?php
print_r(get_declared_interfaces());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Смотрите также

  • get_declared_classes() - Возвращает массив с именами объявленных классов
  • class_implements() - Return the interfaces which are implemented by the given class

get_declared_classes
get_object_vars
Классы/Объекты


Возвращает свойства указанного объекта

get_declared_interfaces
get_parent_class
Классы/Объекты
PHP Manual

get_object_vars

(PHP 4, PHP 5)

get_object_vars — Возвращает свойства указанного объекта

Описание

array get_object_vars ( object $object )

Возвращает видимые нестатические свойства указанного объекта object в соответствии с областью видимости.

Список параметров

object

Экземпляр объекта

Возвращаемые значения

Возвращает ассоциативный массив нестатических свойств объекта object, доступных в данной области видимости. Если свойству не было присвоено значение, оно будет возвращено со значением NULL.

Список изменений

Версия | Описание
5.3.0 | Функция теперь возвращает NULL, если object не является объектом.
до версии 5.3.0 | Если object не являлся объектом, get_object_vars() возвращала FALSE
prior to 4.2.0 | В случае если свойству объекта object не было присвоено значения, оно не возвращалось в массиве

Примеры

Пример #1 Пример использования get_object_vars()

<?php

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

Результат выполнения данного примера:

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Смотрите также

  • get_class_methods() - Возвращает массив имен методов класса
  • get_class_vars() - Возвращает объявленные по умолчанию свойства класса

get_declared_interfaces
get_parent_class
Классы/Объекты


Возвращает имя родительского класса для объекта или класса

get_object_vars
interface_exists
Классы/Объекты
PHP Manual

get_parent_class

(PHP 4, PHP 5)

get_parent_class — Возвращает имя родительского класса для объекта или класса

Описание

string get_parent_class ([ mixed $object ] )

Возвращает имя родительского класса для объекта или класса.

Список параметров

object

Тестируемый объект или имя класса

Возвращаемые значения

Возвращает имя родительского класса, если object является объектом или именем класса.

Замечание:

Если объект не имеет родителя, будет возвращено FALSE.

Если функция вызвана без параметров вне объекта, эта функция возвращает FALSE.

Список изменений

Версия | Описание
До версии 5.1.0 | Если функция была вызвана без параметров внутри объекта, то будет возвращено NULL вместе с предупреждением.
С версии 5.0.0 | Параметр object стал необязательным, если вызов происходит внутри метода данного объекта.
С версии 4.0.5 | Если object - строка, возвращает имя родительского класса указанного класса.

Примеры

Пример #1 Пример использования get_parent_class()

<?php

class dad {
    function dad()
    {
    // реализация какой-нибудь логики
    }
}

class child extends dad {
    function child()
    {
        echo "I'm " , get_parent_class($this) , "'s son\n";
    }
}

class child2 extends dad {
    function child2()
    {
        echo "I'm " , get_parent_class('child2') , "'s son too\n";
    }
}

$foo = new child();
$bar = new child2();

?>

Результат выполнения данного примера:

I'm dad's son
I'm dad's son too

Смотрите также

  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс

get_object_vars
interface_exists
Классы/Объекты


Проверяет, определен ли интерфейс

get_parent_class
is_a
Классы/Объекты
PHP Manual

interface_exists

(PHP 5 >= 5.0.2)

interface_exists — Проверяет, определен ли интерфейс

Описание

bool interface_exists ( string $interface_name [, bool $autoload = true ] )

Проверяет, определен ли указанный интерфейс.

Список параметров

interface_name

Имя интерфейса

autoload

Определяет, использовать ли по умолчанию __autoload или нет

Возвращаемые значения

Возвращает TRUE, если интерфейс, заданный именем interface_name был определен, FALSE в остальных случаях.

Примеры

Пример #1 Пример использования interface_exists()

<?php
// Проверяем существование интерфейса перед его использованием
if (interface_exists('MyInterface')) {
    class MyClass implements MyInterface
    {
        // Методы
    }
}

?>

Смотрите также

  • class_exists() - Проверяет, был ли объявлен класс

get_parent_class
is_a
Классы/Объекты


Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков

interface_exists
is_subclass_of
Классы/Объекты
PHP Manual

is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a — Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков

Описание

bool is_a ( object $object , string $class_name )

Проверяет, принадлежит ли объект object к данному классу или содержит данный класс в числе своих предков

Список параметров

object

Тестируемый объект

class_name

Имя класса

Возвращаемые значения

Возвращает TRUE, если объект принадлежит данному классу или имеет данный класс в числе своих предков, иначе возвращается FALSE.

Список изменений

Версия | Описание
5.3.0 | Данная функция больше не считается устаревшей, а значит, не будет выводить E_STRICT предупреждения.
5.0.0 | Эта функция была помечена устаревшей в пользу оператора instanceof. Вызов данной функции вызовет предупреждение уровня E_STRICT.

Примеры

Пример #1 Пример использования is_a()

<?php
// объявление класса
class WidgetFactory
{
  var $oink = 'moo';
}

// создание нового объекта
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "да, \$WF все еще WidgetFactory\n";
}
?>

Пример #2 Использование оператора instanceof в PHP 5

<?php
if ($WF instanceof WidgetFactory) {
    echo 'Да, $WF - WidgetFactory';
}
?>

Смотрите также

  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • get_parent_class() - Возвращает имя родительского класса для объекта или класса
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс

interface_exists
is_subclass_of
Классы/Объекты


Проверяет, содержит ли объект в своем дереве предков указанный класс

is_a
method_exists
Классы/Объекты
PHP Manual

is_subclass_of

(PHP 4, PHP 5)

is_subclass_of — Проверяет, содержит ли объект в своем дереве предков указанный класс

Описание

bool is_subclass_of ( mixed $object , string $class_name )

Проверяет, содержит ли объект object в своем дереве предков класс class_name .

Список параметров

object

Имя класса или экземпляр объекта

class_name

Имя класса

Возвращаемые значения

Эта функция возвращает TRUE, если объект object принадлежит к классу, наследующему от class_name, иначе она возвращает FALSE.

Список изменений

Версия | Описание
5.0.3 | Вы также можете передать параметр object в виде строки (имени класса)

Примеры

Пример #1 Пример использования is_subclass_of()

<?php
// объявляем класс
class WidgetFactory
{
  var $oink = 'moo';
}

// объявляем наследника
class WidgetFactory_Child extends WidgetFactory
{
  var $oink = 'oink';
}

// создаем новый объект
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (is_subclass_of($WFC, 'WidgetFactory')) {
  echo "да, \$WFC наследует WidgetFactory\n";
} else {
  echo "нет, \$WFC не наследует WidgetFactory\n";
}

if (is_subclass_of($WF, 'WidgetFactory')) {
  echo "да, \$WF наследует WidgetFactory\n";
} else {
  echo "нет, \$WF не наследует WidgetFactory\n";
}

// применимо только с версии PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo "да, WidgetFactory_Child наследует WidgetFactory\n";
} else {
  echo "нет, WidgetFactory_Child не наследует WidgetFactory\n";
}
?>

Результат выполнения данного примера:

да, $WFC наследует WidgetFactory
нет, $WF не наследует WidgetFactory
да, WidgetFactory_Child наследует WidgetFactory

Примечания

Замечание:

Вызов этой функции будет использовать все зарегистрированные функции автозагрузки, если класс еще неизвестен.

Смотрите также

  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • get_parent_class() - Возвращает имя родительского класса для объекта или класса
  • is_a() - Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков

is_a
method_exists
Классы/Объекты


Проверяет, существует ли метод в данном классе

is_subclass_of
property_exists
Классы/Объекты
PHP Manual

method_exists

(PHP 4, PHP 5)

method_exists — Проверяет, существует ли метод в данном классе

Описание

bool method_exists ( mixed $object , string $method_name )

Проверяет, существует ли метод класса, в указанном объекте object.

Список параметров

object

Экземпляр объекта или имя класса

method_name

Имя метода

Возвращаемые значения

Возвращает TRUE, если метод method_name определен для указанного объекта object, иначе возвращает FALSE.

Примечания

Замечание:

Вызов этой функции будет использовать все зарегистрированные функции автозагрузки, если класс еще неизвестен.

Примеры

Пример #1 Пример использования method_exists()

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

Результат выполнения данного примера:

bool(true)

Пример #2 Пример статического использования method_exists()

<?php
var_dump(method_exists('Directory','read'));
?>

Результат выполнения данного примера:

bool(true)

Смотрите также

  • function_exists() - Возвращает TRUE, если указанная функция определена
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • class_exists() - Проверяет, был ли объявлен класс

is_subclass_of
property_exists
Классы/Объекты


Проверяет, содержит ли объект или класс указанный атрибут

method_exists
Classkit
Классы/Объекты
PHP Manual

property_exists

(PHP 5 >= 5.1.0)

property_exists — Проверяет, содержит ли объект или класс указанный атрибут

Описание

bool property_exists ( mixed $class , string $property )

Функция проверяет, существует ли атрибут property в указанном классе.

Замечание:

В противоположность isset(), property_exists() возвращает TRUE даже если свойство имеет значение NULL.

Список параметров

class

Имя класса или объекта класса для проверки

property

Имя свойства

Возвращаемые значения

Возвращает TRUE, если свойство существует, FALSE - если оно не существует или NULL в случае ошибки.

Примечания

Замечание:

Вызов этой функции будет использовать все зарегистрированные функции автозагрузки, если класс еще неизвестен.

Замечание:

Функция property_exists() не определяет магически доступные свойства с помощью метода __get.

Список изменений

Версия | Описание
5.3.0 | Эта функция проверяет существование свойства вне зависимости от его доступности.

Примеры

Пример #1 Пример использования property_exists()

<?php

class myClass {
    public $mine;
    private $xpto;
    static protected $test;

    static function test() {
        var_dump(property_exists('myClass', 'xpto')); //true
    }
}

var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //true, начиная с версии PHP 5.3.0
var_dump(property_exists('myClass', 'bar'));    //false
var_dump(property_exists('myClass', 'test'));   //true, начиная с версии PHP 5.3.0
myClass::test();

?>

Смотрите также

  • method_exists() - Проверяет, существует ли метод в данном классе

method_exists
Classkit
Классы/Объекты


Classkit

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • classkit
    • classkit_import — Импортирует определения методов нового класса из файла
    • classkit_method_add — Динамически добавляет новый метод в заданный класс
    • classkit_method_copy — Копирует метод из одного класса в другой
    • classkit_method_redefine — Динамически меняет код заданного метода
    • classkit_method_remove — Динамически удаляет заданный метод
    • classkit_method_rename — Динамически меняет имя заданного метода
property_exists
Введение
Расширения, относящиеся к переменным и типам


Введение

Эти функции позволяют динамически управлять классами PHP во время выполнения.

Замечание:

Этот модуль был заменен модулем runkit, который не ограничивается управлением классами, а умеет управлять так же и функциями.

Classkit
Установка и настройка
Classkit


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Classkit


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/classkit.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

CLASSKIT_ACC_PRIVATE (int)
Помечает метод, как private
CLASSKIT_ACC_PROTECTED (int)
Помечает метод, как protected
CLASSKIT_ACC_PUBLIC (int)
Помечает метод, как public

Типы ресурсов
classkit
Classkit


Classkit
PHP Manual

classkit

Содержание

  • classkit_import — Импортирует определения методов нового класса из файла
  • classkit_method_add — Динамически добавляет новый метод в заданный класс
  • classkit_method_copy — Копирует метод из одного класса в другой
  • classkit_method_redefine — Динамически меняет код заданного метода
  • classkit_method_remove — Динамически удаляет заданный метод
  • classkit_method_rename — Динамически меняет имя заданного метода
Предопределенные константы
classkit_import
Classkit
PHP Manual


Импортирует определения методов нового класса из файла

classkit
classkit_method_add
classkit
PHP Manual

classkit_import

(PECL classkit >= 0.3)

classkit_import — Импортирует определения методов нового класса из файла

Описание

array classkit_import ( string $filename )

Замечание: Эта функция не может быть использована для влияния на работающие в данный момент (или цепные) методы.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

filename

Имя файла с определениями методов класса

Возвращаемые значения

Ассоциативный массив импортированных методов

Примеры

Пример #1 Пример использования classkit_import()

<?php
// file: newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// требуется newclass.php (см. выше)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// вывод оригинала
echo $e->foo();

// импорт замещающего метода
classkit_import('newclass.php');

// вывод импортированного метода
echo $e->foo();

?>

Результат выполнения данного примера:

foo!
bar!

Смотрите также

  • classkit_method_add() - Динамически добавляет новый метод в заданный класс
  • classkit_method_copy() - Копирует метод из одного класса в другой

classkit
classkit_method_add
classkit


Динамически добавляет новый метод в заданный класс

classkit_import
classkit_method_copy
classkit
PHP Manual

classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — Динамически добавляет новый метод в заданный класс

Описание

bool classkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

classname

Класс, в который этот метод будет добавлен

methodname

Имя добавляемого метода

args

Список аргументов для созданного метода с разделителем ","

code

Код, который будет выполняться во время вызова methodname

flags

Тип создаваемого метода, может быть CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED или CLASSKIT_ACC_PRIVATE

Замечание:

Этот параметр используется только в PHP начиная с 5 версии, поскольку в предыдущих версиях все методы были общедоступными.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования classkit_method_add()

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// создается объект Example
$e = new Example();

// Добавляется новый общедоступный метод
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// сложение 12 + 4
echo $e->add(12, 4);
?>

Результат выполнения данного примера:

16

Смотрите также

  • classkit_method_copy() - Копирует метод из одного класса в другой
  • classkit_method_redefine() - Динамически меняет код заданного метода
  • classkit_method_remove() - Динамически удаляет заданный метод
  • classkit_method_rename() - Динамически меняет имя заданного метода
  • create_function() - Создаёт анонимную (лямбда) функцию

classkit_import
classkit_method_copy
classkit


Копирует метод из одного класса в другой

classkit_method_add
classkit_method_redefine
classkit
PHP Manual

classkit_method_copy

(PECL classkit >= 0.2)

classkit_method_copy — Копирует метод из одного класса в другой

Описание

bool classkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

dClass

Класс, в который необходимо скопировать метод

dMethod

Имя нового метода

sClass

Исходный класс, содержащий копируемый метод

sMethod

Имя копируемого метода из исходного класса. Если этот параметр не указан, предполагается значение dMethod.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования classkit_method_copy()

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // изначально без методов
}

// копируется метод example() из класса Foo в класс Bar, с новым именем baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// вывод скопированной функции
echo Bar::baz();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • classkit_method_add() - Динамически добавляет новый метод в заданный класс
  • classkit_method_redefine() - Динамически меняет код заданного метода
  • classkit_method_remove() - Динамически удаляет заданный метод
  • classkit_method_rename() - Динамически меняет имя заданного метода

classkit_method_add
classkit_method_redefine
classkit


Динамически меняет код заданного метода

classkit_method_copy
classkit_method_remove
classkit
PHP Manual

classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Динамически меняет код заданного метода

Описание

bool classkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )

Замечание: Эта функция не может быть использована для влияния на работающие в данный момент (или цепные) методы.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

classname

Класс, в котором необходимо переопределить метод

methodname

Имя переопределяемого метода

args

Список аргументов переопределяемого метода с разделителем ","

code

Новый код, который будет выполняться во время вызова methodname

flags

Переопределяемый метод может быть CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED или CLASSKIT_ACC_PRIVATE

Замечание:

Этот параметр используется только в PHP начиная с 5 версии, поскольку в предыдущих версиях все методы были общедоступными.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования classkit_method_redefine()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// создается объект Example
$e = new Example();

// вывод Example::foo() (до переопределения)
echo "Before: " . $e->foo();

// Переопределение метода 'foo'
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// вывод Example::foo() (после переопределения)
echo "After: " . $e->foo();
?>

Результат выполнения данного примера:

Before: foo!
After: bar!

Смотрите также

  • classkit_method_add() - Динамически добавляет новый метод в заданный класс
  • classkit_method_copy() - Копирует метод из одного класса в другой
  • classkit_method_remove() - Динамически удаляет заданный метод
  • classkit_method_rename() - Динамически меняет имя заданного метода

classkit_method_copy
classkit_method_remove
classkit


Динамически удаляет заданный метод

classkit_method_redefine
classkit_method_rename
classkit
PHP Manual

classkit_method_remove

(PECL classkit >= 0.1)

classkit_method_remove — Динамически удаляет заданный метод

Описание

bool classkit_method_remove ( string $classname , string $methodname )

Замечание: Эта функция не может быть использована для влияния на работающие в данный момент (или цепные) методы.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

classname

Класс, в котором необходимо удалить метод

methodname

Имя удаляемого метода

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования classkit_method_remove()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Удаление метода 'foo'
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Результат выполнения данного примера:

bar

Смотрите также

  • classkit_method_add() - Динамически добавляет новый метод в заданный класс
  • classkit_method_copy() - Копирует метод из одного класса в другой
  • classkit_method_redefine() - Динамически меняет код заданного метода
  • classkit_method_rename() - Динамически меняет имя заданного метода

classkit_method_redefine
classkit_method_rename
classkit


Динамически меняет имя заданного метода

classkit_method_remove
Ctype
classkit
PHP Manual

classkit_method_rename

(PECL classkit >= 0.1)

classkit_method_rename — Динамически меняет имя заданного метода

Описание

bool classkit_method_rename ( string $classname , string $methodname , string $newname )

Замечание: Эта функция не может быть использована для влияния на работающие в данный момент (или цепные) методы.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

classname

Класс, в котором необходимо переименовать метод

methodname

Имя переименовываемого метода

newname

Новое имя метода после переименования

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования classkit_method_rename()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Переименование метода 'foo' в 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// вывод переименованной функции
echo Example::bar();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • classkit_method_add() - Динамически добавляет новый метод в заданный класс
  • classkit_method_copy() - Копирует метод из одного класса в другой
  • classkit_method_redefine() - Динамически меняет код заданного метода
  • classkit_method_remove() - Динамически удаляет заданный метод

classkit_method_remove
Ctype
classkit


Функции определения типа символов

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Ctype
    • ctype_alnum — Проверяет на наличие буквенно-цифровых символов
    • ctype_alpha — Проверяет на наличие буквенных символов
    • ctype_cntrl — Проверяет на наличие управляющих символов
    • ctype_digit — Проверяет на наличие цифровых символов в строке
    • ctype_graph — Проверяет наличие всех печатных символов, кроме пробела
    • ctype_lower — Проверяет наличие символов в нижнем регистре
    • ctype_print — Проверяет на наличие печатных символов
    • ctype_punct — Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами
    • ctype_space — Проверяет наличие пробельных символов
    • ctype_upper — Проверяет на наличие символов в верхнем регистре
    • ctype_xdigit — Проверяет наличие шестнадцатиричных цифр
classkit_method_rename
Введение
Расширения, относящиеся к переменным и типам


Введение

Функции, представленные этим расширением, позволяют проверить принадлежность символа или строки определенному классу символов, принимая во внимание текущие региональные установки (см. также функцию setlocale()).

Будучи вызванными с целочисленным аргументом, эти функции полностью аналогичны своим эквивалентам в языке C (из ctype.h). Это означает, что если вы передаёте целое значение менее 256, функции проверяют соответствует ли это значение ASCII указанному классу символов (цифры находятся в диапазоне 0x30-0x39). Если число находится в пределах от -128 до -1 включительно, то к его значению будет прибавлено 256 и сравнение будет проводиться с использованием результата сложения.

Если аргументом выступает строка, то функции будут проверять каждый символ в этой строке и вернут TRUE только если каждый символ удовлетворяет требуемому условию. При вызове с пустой строкой в качестве аргумента, функции всегда возвращают TRUE в PHP < 5.1 и FALSE после 5.1.

При передаче данных других типов (кроме целого или строки) функции сразу же возвращают FALSE.

Следует обратить внимание на то, что данные функции работают значительно быстрее, чем регулярные выражения и даже эквивалентиные str_* и is_* функции. Это происходит потому, что ctype использует родную библиотеку C и поэтому выполняется значительно быстрее.

Ctype
Установка и настройка
Ctype


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Ctype


Требования

Стандартная библиотека C всегда доступна, поэтому дополнительных требования нет.

Установка и настройка
Установка
Установка и настройка


Установка

Начиная с PHP 4.2.0 эти функции включены по умолчанию. В предыдущих версиях вы должны сконфигурировать и откомпилировать PHP с --enable-ctype . Запретить поддержку ctype можно с помощью --disable-ctype .

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: Встроенная поддержка ctype доступна с PHP 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Ctype
Ctype


Ctype
PHP Manual

Ctype

Содержание

  • ctype_alnum — Проверяет на наличие буквенно-цифровых символов
  • ctype_alpha — Проверяет на наличие буквенных символов
  • ctype_cntrl — Проверяет на наличие управляющих символов
  • ctype_digit — Проверяет на наличие цифровых символов в строке
  • ctype_graph — Проверяет наличие всех печатных символов, кроме пробела
  • ctype_lower — Проверяет наличие символов в нижнем регистре
  • ctype_print — Проверяет на наличие печатных символов
  • ctype_punct — Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами
  • ctype_space — Проверяет наличие пробельных символов
  • ctype_upper — Проверяет на наличие символов в верхнем регистре
  • ctype_xdigit — Проверяет наличие шестнадцатиричных цифр
Предопределенные константы
ctype_alnum
Ctype
PHP Manual


Проверяет на наличие буквенно-цифровых символов

Ctype
ctype_alpha
Ctype
PHP Manual

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum — Проверяет на наличие буквенно-цифровых символов

Описание

bool ctype_alnum ( string $text )

Проверяет, все ли символы в переданной строке text являются буквенно-цифровыми. В стандартной локали C буквами являются только [A-Za-z].

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является буквой или цифрой, иначе возвращается FALSE.

Примеры

Пример #1 Пример использования ctype_alnum() (с использованием локали по умолчанию)

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "Строка $testcase состоит только из букв и цифр.\n";
    } else {
        echo "Строка $testcase не состоит только из букв и цифр.\n";
    }
}
?>

Результат выполнения данного примера:

Строка AbCd1zyZ9 состоит только из букв и цифр.
Строка foo!#$bar не состоит только из букв и цифр.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_alpha() - Проверяет на наличие буквенных символов
  • ctype_digit() - Проверяет на наличие цифровых символов в строке
  • setlocale() - Устанавливает настройки локали

Ctype
ctype_alpha
Ctype


Проверяет на наличие буквенных символов

ctype_alnum
ctype_cntrl
Ctype
PHP Manual

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5)

ctype_alpha — Проверяет на наличие буквенных символов

Описание

bool ctype_alpha ( string $text )

Проверяет, все ли символы в переданной строке text являются буквенными. В стандартной локали C буквами являются только [A-Za-z] и ctype_alpha() эквивалентна (ctype_upper($text) || ctype_lower($text)), если $text состоит всего из одного символа, но в других языках есть буквы, которые не считаются ни верхним, ни нижним регистром.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является буквой из текущей локали, FALSE в противном случае.

Примеры

Пример #1 Пример использования ctype_alpha() (с использованием локали по умолчанию)

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
    if (ctype_alpha($testcase)) {
        echo "Строка $testcase состоит только из букв.\n";
    } else {
        echo "Строка $testcase состоит не только из букв.\n";
    }
}
?>

Результат выполнения данного примера:

Строка KjgWZC состоит только из букв.
Строка arf12 состоит не только из букв.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_upper() - Проверяет на наличие символов в верхнем регистре
  • ctype_lower() - Проверяет наличие символов в нижнем регистре
  • setlocale() - Устанавливает настройки локали

ctype_alnum
ctype_cntrl
Ctype


Проверяет на наличие управляющих символов

ctype_alpha
ctype_digit
Ctype
PHP Manual

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5)

ctype_cntrl — Проверяет на наличие управляющих символов

Описание

bool ctype_cntrl ( string $text )

Проверяет, все ли символы в переданной строке text являются управляющими символами. Управляющими символами, к примеру, являются перевод строки, символ табуляции, escape.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является управляющим символом из текущей локали, FALSE в противном случае.

Примеры

Пример #1 Пример использования ctype_cntrl()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => 'arf12');
foreach ($strings as $name => $testcase) {
    if (ctype_cntrl($testcase)) {
        echo "Строка '$name' состоит только из управляющих символов.\n";
    } else {
        echo "Строка '$name' не состоит только из управляющих символов.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 'string1' состоит только из управляющих символов.
Строка 'string2' не состоит только из управляющих символов.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_print() - Проверяет на наличие печатных символов

ctype_alpha
ctype_digit
Ctype


Проверяет на наличие цифровых символов в строке

ctype_cntrl
ctype_graph
Ctype
PHP Manual

ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit — Проверяет на наличие цифровых символов в строке

Описание

bool ctype_digit ( string $text )

Проверяет, являются ли все символы в строке text цифровыми.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE если каждый символ строки text является десятичной цифрой, либо FALSE в противном случае.

Список изменений

Версия | Описание
5.1.0 | До версии PHP 5.1.0 эта функция возвращала TRUE, если в качестве text передавалась пустая строка.

Примеры

Пример #1 Пример использования ctype_digit()

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
    if (ctype_digit($testcase)) {
        echo "Строка $testcase состоит только из цифр.\n";
    } else {
        echo "Строка $testcase не состоит только из цифр.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 1820.20 не состоит только из цифр.
Строка 10002 состоит только из цифр.
Строка wsl!12 не состоит только из цифр.

Пример #2 Пример использования ctype_digit() со сравнением строк и целых чисел

<?php

$numeric_string = '42';
$integer        = 42;

ctype_digit($numeric_string);  // true
ctype_digit($integer);         // false (ASCII 42 это символ * )

is_numeric($numeric_string);   // true
is_numeric($integer);          // true
?>

Примечания

Замечание:

Для извлечения пользы из работы этой функции ей необходимо передавать строку (string), поэтому, если ей, к примеру, будет передан integer, то она может не возвратить ожидаемый результат. Однако, необходимо учитывать, что HTML-формы передают числовые строки, а не целые числа. Подробнее читайте в разделе "Типы" данного руководства.

Смотрите также

  • ctype_alnum() - Проверяет на наличие буквенно-цифровых символов
  • ctype_xdigit() - Проверяет наличие шестнадцатиричных цифр
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_string() - Проверяет, является ли переменная строкой

ctype_cntrl
ctype_graph
Ctype


Проверяет наличие всех печатных символов, кроме пробела

ctype_digit
ctype_lower
Ctype
PHP Manual

ctype_graph

(PHP 4 >= 4.0.4, PHP 5)

ctype_graph — Проверяет наличие всех печатных символов, кроме пробела

Описание

bool ctype_graph ( string $text )

Проверяет, все ли символы в переданной строке text являются видимыми при печати.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text печатный и фактически создает видимый вывод (без пробельных символов), FALSE в противном случае.

Примеры

Пример #1 Пример использования ctype_graph()

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_graph($testcase)) {
        echo "Строка '$name' состоит только из (видимых) печатных символов.\n";
    } else {
        echo "Строка '$name' не состоит только из (видимых) печатных символов.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 'string1' не состоит только из (видимых) печатных символов.
Строка 'string2' состоит только из (видимых) печатных символов.
Строка 'string3' состоит только из (видимых) печатных символов.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_alnum() - Проверяет на наличие буквенно-цифровых символов
  • ctype_print() - Проверяет на наличие печатных символов
  • ctype_punct() - Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

ctype_digit
ctype_lower
Ctype


Проверяет наличие символов в нижнем регистре

ctype_graph
ctype_print
Ctype
PHP Manual

ctype_lower

(PHP 4 >= 4.0.4, PHP 5)

ctype_lower — Проверяет наличие символов в нижнем регистре

Описание

bool ctype_lower ( string $text )

Проверяет, все ли символы в переданной строке text являются буквами в нижнем регистре.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является буквой в нижнем регистре в текущей локали.

Примеры

Пример #1 Пример использования ctype_lower() (с использованием локали по умолчанию)

<?php
$strings = array('aac123', 'qiutoas', 'QASsdks');
foreach ($strings as $testcase) {
    if (ctype_lower($testcase)) {
        echo "Строка $testcase состоит только из букв в нижнем регистре.\n";
    } else {
        echo "Строка $testcase не состоит только из букв в нижнем регистре.\n";
    }
}
?>

Результат выполнения данного примера:

Строка aac123 не состоит только из букв в нижнем регистре.
Строка qiutoas состоит только из букв в нижнем регистре.
Строка QASsdks не состоит только из букв в нижнем регистре.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_alpha() - Проверяет на наличие буквенных символов
  • ctype_upper() - Проверяет на наличие символов в верхнем регистре
  • setlocale() - Устанавливает настройки локали

ctype_graph
ctype_print
Ctype


Проверяет на наличие печатных символов

ctype_lower
ctype_punct
Ctype
PHP Manual

ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print — Проверяет на наличие печатных символов

Описание

bool ctype_print ( string $text )

Проверяет, все ли символы в переданной строке text являются печатными.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text фактически создает вывод (включая пустой). Возвращает FALSE, если text содержит управляющие символы, или символы, которые вообще не имеют никакого вывода или функции управления.

Примеры

Пример #1 Пример использования ctype_print()

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_print($testcase)) {
        echo "Строка '$name' состоит только из печатных символов.\n";
    } else {
        echo "Строка '$name' не состоит только из печатных символов.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 'string1' не состоит только из печатных символов.
Строка 'string2' состоит только из печатных символов.
Строка 'string3' состоит только из печатных символов.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_cntrl() - Проверяет на наличие управляющих символов
  • ctype_graph() - Проверяет наличие всех печатных символов, кроме пробела
  • ctype_punct() - Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

ctype_lower
ctype_punct
Ctype


Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

ctype_print
ctype_space
Ctype
PHP Manual

ctype_punct

(PHP 4 >= 4.0.4, PHP 5)

ctype_punct — Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

Описание

bool ctype_punct ( string $text )

Проверяет, все ли символы в переданной строке text являются знаками пунктуации.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является печатным, но не является ни буквой, ни цифрой, ни пустым символом, иначе будет возвращено FALSE.

Примеры

Пример #1 Пример использования ctype_punct()

<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
    if (ctype_punct($testcase)) {
        echo "Строка $testcase состоит только из знаков пунктуации.\n";
    } else {
        echo "Строка $testcase не состоит только из знаков пунктуации.\n";
    }
}
?>

Результат выполнения данного примера:

Строка ABasdk!@!$# не состоит только из знаков пунктуации.
Строка !@ # $ не состоит только из знаков пунктуации.
Строка *&$() состоит только из знаков пунктуации.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_cntrl() - Проверяет на наличие управляющих символов
  • ctype_graph() - Проверяет наличие всех печатных символов, кроме пробела

ctype_print
ctype_space
Ctype


Проверяет наличие пробельных символов

ctype_punct
ctype_upper
Ctype
PHP Manual

ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_space — Проверяет наличие пробельных символов

Описание

bool ctype_space ( string $text )

Проверяет, все ли символы в переданной строке text являются пробельными.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text создает какой-нибудь из пробельных символов, FALSE в противном случае. Кроме пробела, сюда также относятся символы табуляции, вертикальной табуляции, перевода строки, возврата каретки и перевода страницы.

Примеры

Пример #1 Пример использования ctype_space()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
    if (ctype_space($testcase)) {
        echo "Строка '$name' состоит только из пробельных символов.\n";
    } else {
        echo "Строка '$name' не состоит только из пробельных символов.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 'string1' состоит только из пробельных символов.
Строка 'string2' не состоит только из пробельных символов.
Строка 'string3' не состоит только из пробельных символов.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_cntrl() - Проверяет на наличие управляющих символов
  • ctype_graph() - Проверяет наличие всех печатных символов, кроме пробела
  • ctype_punct() - Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

ctype_punct
ctype_upper
Ctype


Проверяет на наличие символов в верхнем регистре

ctype_space
ctype_xdigit
Ctype
PHP Manual

ctype_upper

(PHP 4 >= 4.0.4, PHP 5)

ctype_upper — Проверяет на наличие символов в верхнем регистре

Описание

bool ctype_upper ( string $text )

Проверяет, все ли символы в переданной строке text являются буквами в верхнем регистре.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text является буквой в верхнем регистре в текущей локали.

Примеры

Пример #1 Пример использования ctype_upper() (с использованием локали по умолчанию)

<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
    if (ctype_upper($testcase)) {
        echo "Строка $testcase состоит только из букв в верхнем регистре.\n";
    } else {
        echo "Строка $testcase не состоит только из букв в верхнем регистре.\n";
    }
}
?>

Результат выполнения данного примера:

Строка AKLWC139 не состоит только из букв в верхнем регистре.
Строка LMNSDO состоит только из букв в верхнем регистре.
Строка akwSKWsm не состоит только из букв в верхнем регистре.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_alpha() - Проверяет на наличие буквенных символов
  • ctype_lower() - Проверяет наличие символов в нижнем регистре
  • setlocale() - Устанавливает настройки локали

ctype_space
ctype_xdigit
Ctype


Проверяет наличие шестнадцатиричных цифр

ctype_upper
Filter
Ctype
PHP Manual

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit — Проверяет наличие шестнадцатиричных цифр

Описание

bool ctype_xdigit ( string $text )

Проверяет, являются ли все символы в строке text шестнадцатиричными 'цифрами'.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE если каждый символ строки text является шестнадцатиричной 'цифрой', то есть десятичной цифрой либо символом из диапазона [A-Fa-f], в обратном случае возвращает FALSE.

Примеры

Пример #1 Пример использования ctype_xdigit()

<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
    if (ctype_xdigit($testcase)) {
        echo "Строка $testcase состоит из шестнадцатиричных цифр.\n";
    } else {
        echo "Строка $testcase состоит не только из шестнадцатиричных цифр.\n";
    }
}
?>

Результат выполнения данного примера:

Строка AB10BC99 состоит из шестнадцатиричных цифр.
Строка AR1012 состоит не только из шестнадцатиричных цифр.
Строка ab12bc99 состоит из шестнадцатиричных цифр.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_digit() - Проверяет на наличие цифровых символов в строке

ctype_upper
Filter
Ctype


Фильтрация данных

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Types of filters
    • Фильтры валидации данных
    • Очищающие фильтры
    • Остальные фильтры
    • Флаги, используемые в фильтрах
  • Предопределенные константы
  • Примеры
    • Валидация
    • Нормализация значения (Sanitizing)
  • Фильтрация данных
    • filter_has_var — Проверяет существование переменной указанного типа
    • filter_id — Возвращает идентификатор, принадлежащий именованному фильтру
    • filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
    • filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует ее
    • filter_list — Возвращает список всех поддерживаемых фильтров
    • filter_var_array — Принимает несколько переменных и, при необходимости, фильтрует их
    • filter_var — Фильтрует переменную с помощью определенного фильтра
ctype_xdigit
Введение
Расширения, относящиеся к переменным и типам


Введение

Фильтры данного расширения позволяют выполнить валидацию данных и обезопасить их от возможных вредоносных конструкций. Это особенно полезно, если содержимое получено из неизвестных или ненадежных источников, таких, как пользовательский ввод. Например, такие данные можно получить из HTML-форм.

Существует два основных типа фильтрации: проверка и очистка.

Проверка используется для определения соответствия данных определённым критериям. Например, применение FILTER_VALIDATE_EMAIL позволяет проверить, являются ли введённые данные адресом email, однако, сами данные при этом останутся нетронутыми.

Очистка используется для для извлечения из данных нежелательных конструкций. Например, применение FILTER_SANITIZE_EMAIL удалит все символы, которые не должен содержать email-адрес. То есть, проверки данных не происходит.

Кроме того, можно использовать различные флаги, как для проверки, так и для очистки, для более тонкой настройки согласно вашим нуждам. Например, передача флага FILTER_FLAG_PATH_REQUIRED при фильтрации URL установит необходимым условием наличие пути в ссылке (например, /foo в http://example.org/foo).

Filter
Установка и настройка
Filter


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Filter


Установка

Начиная с версии PHP 5.2.0 расширение filter включено по умолчанию. До этой версии использовалось экспериментальное PECL-расширение, однако, оно больше не обновляется и поэтому не рекомендуется к использованию.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Filter
Имя | Значение по умолчанию | Область изменения | История изменений
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL в filter <= 0.9.4. Доступна с PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL в filter <= 0.9.4. Доступна с PHP 5.2.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

filter.default string

Фильтрует все $_GET, $_POST, $_COOKIE, $_REQUEST и $_SERVER данные этим фильтром. Исходные данные могут быть получены с помощью filter_input().

Принимает имя указанного фильтра как значение по умолчанию. Имена фильтров можно найти в списке существующих фильтров.

filter.default_flags integer

Флаги по умолчанию. Имена флагов можно найти в списке существующих флагов.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
Types of filters
Установка и настройка


Types of filters

Содержание

  • Фильтры валидации данных
  • Очищающие фильтры
  • Остальные фильтры
  • Флаги, используемые в фильтрах
Типы ресурсов
Фильтры валидации данных
Filter


Фильтры валидации данных

Список фильтров валидации данных
ID | Имя | Параметры | Флаги | Описание
FILTER_VALIDATE_BOOLEAN | "boolean" |  | FILTER_NULL_ON_FAILURE | Возвращает TRUE для значений "1", "true", "on" и "yes". Иначе возвращает FALSE. Если установлен флаг FILTER_NULL_ON_FAILURE, то FALSE возвращается только для значений "0", "false", "off", "no" и "", а NULL будет возвращен для всех небулевых значений.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Проверяет, что значение является корректным e-mail.
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Проверяет, что значение является корректным числом с плавающей точкой.
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Проверяет, что значение является корректным целым числом, и, при необходимости, входит в определенный диапазон.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Проверяет, что значение является корректным IP-адресом, при необходимости только для протоколов IPv4 или IPv6, а также отсутствие вхождения в частные или зарезервированные диапазоны.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Проверяет значение на соответствие regexp, Perl-совместимому регулярному выражению.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Validates value as URL (according to » http://www.faqs.org/rfcs/rfc2396), optionally with required components. Note that the function will only find ASCII URLs to be valid; internationalized domain names (containing non-ASCII characters) will fail.

Замечание:

Числа +0 и -0 не пройдут проверку на целые числа, но пройдут ее на числа с плавающей точкой.

Types of filters
Очищающие фильтры
Types of filters


Очищающие фильтры

Список очищающих фильтров
ID | Имя | Параметры | Флаги | Описание
FILTER_SANITIZE_EMAIL | "email" |  |  | Удаляет все символы, кроме букв, цифр и !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | Кодирует строку в формат URL, при необходимости удаляет или кодирует специальные символы.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Применяется функция addslashes().
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Удаляет все символы, кроме цифр, +- и, при необходимости, .,eE.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Удаляет все символы, кроме цифр и знаков плюса и минуса.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Экранирует HTML-символы '"<>& и символы с ASCII-кодом, меньшим 32, при необходимости удаляет или кодирует остальные специальные символы.
FILTER_SANITIZE_FULL_SPECIAL_CHARS | "full_special_chars" |  | FILTER_FLAG_NO_ENCODE_QUOTES, | Эквивалентно вызову htmlspecialchars() с установленным параметром ENT_QUOTES. Кодирование кавычек может быть отключено с помощью установки флага FILTER_FLAG_NO_ENCODE_QUOTES. Аналогично htmlspecialchars(), этот фильтр принимает во внимание default_charset и, если будет обнаружена некорректная последовательность байт для данной кодировки, то вся строка будет признана негодной и и результатом будет строка нулевой длины.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Удаляет тэги, при необходимости удаляет или кодирует специальные символы.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Псевдоним фильтра "string".
FILTER_SANITIZE_URL | "url" |  |  | Удаляет все символы, кроме букв, цифр и $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Бездействует, при необходимости удаляет или кодирует специальные символы.

Фильтры валидации данных
Остальные фильтры
Types of filters


Остальные фильтры

Список различных фильтров
ID | Имя | Параметры | Флаги | Описание
FILTER_CALLBACK | "callback" | callback функция или метод |  | Вызывается пользовательская функция для фильтрации данных.

Очищающие фильтры
Флаги, используемые в фильтрах
Types of filters


Флаги, используемые в фильтрах

Список используемых флагов в фильтрах
ID | Используется совместно с фильтром | Описание
FILTER_FLAG_STRIP_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Удаляет символы, код которых <32.
FILTER_FLAG_STRIP_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Удаляет символы, код которых >127.
FILTER_FLAG_ALLOW_FRACTION | FILTER_SANITIZE_NUMBER_FLOAT | Разрешает наличие точки (.) в качестве десятичного разделителя в числах.
FILTER_FLAG_ALLOW_THOUSAND | FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT | Разрешает наличие запятой (,) в качестве разделителя тысяч в числах.
FILTER_FLAG_ALLOW_SCIENTIFIC | FILTER_SANITIZE_NUMBER_FLOAT | Разрешает наличие e и E для научных нотаций чисел.
FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_SANITIZE_STRING | При установке этого флага одиночные (') и двойные (") кавычки кодироваться не будут.
FILTER_FLAG_ENCODE_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Кодирует все символы, код которых <32.
FILTER_FLAG_ENCODE_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Кодирует все символы, код которых >127.
FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Кодирует амперсанд (&).
FILTER_NULL_ON_FAILURE | FILTER_VALIDATE_BOOLEAN | Возвращает NULL для неопознанных булевых значений.
FILTER_FLAG_ALLOW_OCTAL | FILTER_VALIDATE_INT | Трактует ввод, начинающийся с нуля (0) как восьмеричное число. Для этого последующие числа должны быть в диапазоне 0-7.
FILTER_FLAG_ALLOW_HEX | FILTER_VALIDATE_INT | Трактует ввод, начинающийся с 0x или 0X как шестнадцатеричное число. Для этого последующие символы должны быть в диапазоне a-fA-F0-9.
FILTER_FLAG_IPV4 | FILTER_VALIDATE_IP | Разрешает формат IPv4 для IP-адреса.
FILTER_FLAG_IPV6 | FILTER_VALIDATE_IP | Разрешает формат IPv6 для IP-адреса.
FILTER_FLAG_NO_PRIV_RANGE | FILTER_VALIDATE_IP | Запрещает успешное прохождение проверки для следующих частных IPv4-диапазонов: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Запрещает успешное прохождение проверки для IPv6-адресов, начинающихся с FD или FC.
FILTER_FLAG_NO_RES_RANGE | FILTER_VALIDATE_IP | Запрещает успешное прохождение проверки для следующих зарезервированных IPv4-диапазонов: 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24 и 224.0.0.0/4. Данный флаг не применяется к IPv6-адресам.
FILTER_FLAG_PATH_REQUIRED | FILTER_VALIDATE_URL | Включает содержание пути в URL в качестве необходимого условия.
FILTER_FLAG_QUERY_REQUIRED | FILTER_VALIDATE_URL | Включает содержание строки запроса (query string) в URL в качестве необходимого условия.

Остальные фильтры
Предопределенные константы
Types of filters


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

INPUT_POST (integer)
POST переменные.
INPUT_GET (integer)
GET переменные.
INPUT_COOKIE (integer)
COOKIE переменные.
INPUT_ENV (integer)
ENV переменные.
INPUT_SERVER (integer)
SERVER переменные.
INPUT_SESSION (integer)
SESSION переменные. (еще не реализовано)
INPUT_REQUEST (integer)
REQUEST переменные. (еще не реализовано)
FILTER_FLAG_NONE (integer)
Не использовать флаги.
FILTER_REQUIRE_SCALAR (integer)
Флаг используется для указания необходимости скалярного значения в качестве входного значения.
FILTER_REQUIRE_ARRAY (integer)
Требовать массив в качестве входного значения.
FILTER_FORCE_ARRAY (integer)
Всегда возвращать массив.
FILTER_NULL_ON_FAILURE (integer)
Использовать NULL вместо FALSE в случае ошибки.
FILTER_VALIDATE_INT (integer)
Идентификатор фильтра "int".
FILTER_VALIDATE_BOOLEAN (integer)
Идентификатор фильтра "boolean".
FILTER_VALIDATE_FLOAT (integer)
Идентификатор фильтра "float".
FILTER_VALIDATE_REGEXP (integer)
Идентификатор фильтра "validate_regexp".
FILTER_VALIDATE_URL (integer)
Идентификатор фильтра "validate_url".
FILTER_VALIDATE_EMAIL (integer)
Идентификатор фильтра "validate_email".
FILTER_VALIDATE_IP (integer)
Идентификатор фильтра "validate_ip".
FILTER_DEFAULT (integer)
Идентификатор фильтра по умолчанию ("string").
FILTER_UNSAFE_RAW (integer)
Идентификатор фильтра "unsafe_raw".
FILTER_SANITIZE_STRING (integer)
Идентификатор фильтра "string".
FILTER_SANITIZE_STRIPPED (integer)
Идентификатор фильтра "stripped".
FILTER_SANITIZE_ENCODED (integer)
Идентификатор фильтра "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (integer)
Идентификатор фильтра "special_chars".
FILTER_SANITIZE_EMAIL (integer)
Идентификатор фильтра "email".
FILTER_SANITIZE_URL (integer)
Идентификатор фильтра "url".
FILTER_SANITIZE_NUMBER_INT (integer)
Идентификатор фильтра "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (integer)
Идентификатор фильтра "number_float".
FILTER_SANITIZE_MAGIC_QUOTES (integer)
Идентификатор фильтра "magic_quotes".
FILTER_CALLBACK (integer)
Идентификатор фильтра "callback".
FILTER_FLAG_ALLOW_OCTAL (integer)
Разрешить восьмеричную запись (0[0-7]+) в фильтре "int".
FILTER_FLAG_ALLOW_HEX (integer)
Разрешить шестнадцатиричную запись (0x[0-9a-fA-F]+) в фильтре "int".
FILTER_FLAG_STRIP_LOW (integer)
Удалять символы с ASCII кодом, меньшим 32.
FILTER_FLAG_STRIP_HIGH (integer)
Удалять символы с ASCII кодом, большим 127.
FILTER_FLAG_ENCODE_LOW (integer)
Кодировать символы с ASCII кодом, меньшим 32.
FILTER_FLAG_ENCODE_HIGH (integer)
Кодировать символы с ASCII кодом, большим 127.
FILTER_FLAG_ENCODE_AMP (integer)
Кодировать &.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
Не кодировать ' и ".
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(На данный момент не используется.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Разрешить дробную часть в фильтре "number_float".
FILTER_FLAG_ALLOW_THOUSAND (integer)
Разрешить разделитель (,) между группами цифр по 3 в фильтре "number_float".
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Разрешить научную запись (e, E) в фильтре "number_float".
FILTER_FLAG_PATH_REQUIRED (integer)
Требовать наличие составляющей "путь" в фильтре "validate_url".
FILTER_FLAG_QUERY_REQUIRED (integer)
Требовать наличие строки запроса в фильтре "validate_url".
FILTER_FLAG_IPV4 (integer)
Разрешить только IPv4 адреса в фильтре "validate_ip".
FILTER_FLAG_IPV6 (integer)
Разрешить только IPv6 адреса в фильтре "validate_ip".
FILTER_FLAG_NO_RES_RANGE (integer)
Запретить зарезервированные адреса в фильтре "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE (integer)
Запретить частные адреса в фильтре "validate_ip".
Флаги, используемые в фильтрах
Примеры
Filter


Примеры

Содержание

  • Валидация
  • Нормализация значения (Sanitizing)
Предопределенные константы
Валидация
Filter


Валидация

Пример #1 Валидация e-mail адреса, используя функцию filter_var()

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "E-mail (email_a) указан верно.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "E-mail (email_b) указан верно.";
}
?>

Результат выполнения данного примера:

E-mail (email_a) указан верно.

Пример #2 Валидация IP адреса, используя функцию filter_var()

<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
    echo "Адрес (ip_a) указан верно.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
    echo "Адрес (ip_b) указан верно.";
}
?>

Результат выполнения данного примера:

Адрес (ip_a) указан верно.

Пример #3 Дополнительные параметры функции filter_var()

<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
    'options' => array(
                      'min_range' => 0,
                      'max_range' => 3,
                      )
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Число (int_a) является верным (от 0 до 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Число (int_b) является верным (от 0 до 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Число (int_c) является верным (от 0 до 3).\n";
}

$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
    echo "Число (int_c) является верным (от 0 и 3) и равно $int_c.";
}
?>

Результат выполнения данного примера:

Число (int_a) является верным (от 0 до 3).
Число (int_c) является верным (от 0 до 3).

Примеры
Нормализация значения (Sanitizing)
Примеры


Нормализация значения (Sanitizing)

Пример #1 Нормализация и валидация e-mail адресов

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
    echo "Нормализованный e-mail (a) является верным.\n";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
    echo "Нормализованный e-mail (b) является верным.";
} else {
    echo "Нормализованный e-mail (b) является неверным.\n";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
    echo "Нормализованный e-mail (c) является верным.\n";
    echo "До нормализации: $c\n";
    echo "После нормализации: $sanitized_c\n";
}
?>

Результат выполнения данного примера:

Нормализованный e-mail (a) является верным.
Нормализованный e-mail (b) является неверным.
Нормализованный e-mail (c) является верным.
До нормализации: (bogus@example.org)
После нормализации: bogus@example.org

Валидация
Фильтрация данных
Примеры


Фильтрация данных

Содержание

  • filter_has_var — Проверяет существование переменной указанного типа
  • filter_id — Возвращает идентификатор, принадлежащий именованному фильтру
  • filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_list — Возвращает список всех поддерживаемых фильтров
  • filter_var_array — Принимает несколько переменных и, при необходимости, фильтрует их
  • filter_var — Фильтрует переменную с помощью определенного фильтра
Нормализация значения (Sanitizing)
filter_has_var
Filter


Проверяет существование переменной указанного типа

Фильтрация данных
filter_id
Фильтрация данных
PHP Manual

filter_has_var

(PHP 5 >= 5.2.0)

filter_has_var — Проверяет существование переменной указанного типа

Описание

bool filter_has_var ( int $type , string $variable_name )

Список параметров

type

Один из INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV.

variable_name

Имя проверяемой переменной.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Фильтрация данных
filter_id
Фильтрация данных


Возвращает идентификатор, принадлежащий именованному фильтру

filter_has_var
filter_input_array
Фильтрация данных
PHP Manual

filter_id

(PHP 5 >= 5.2.0)

filter_id — Возвращает идентификатор, принадлежащий именованному фильтру

Описание

int filter_id ( string $filtername )

Список параметров

filtername

Имя фильтра.

Возвращаемые значения

Идентификатор фильтра в случае успеха или FALSE, если фильтр не существует.

Смотрите также

  • filter_list() - Возвращает список всех поддерживаемых фильтров

filter_has_var
filter_input_array
Фильтрация данных


Принимает несколько переменных извне PHP и, при необходимости, фильтрует их

filter_id
filter_input
Фильтрация данных
PHP Manual

filter_input_array

(PHP 5 >= 5.2.0)

filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их

Описание

mixed filter_input_array ( int $type [, mixed $definition ] )

Эта функция полезна для получения множества переменных без многократного вызова функции filter_input().

Список параметров

type

Один из INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER или INPUT_ENV.

definition

Массив, определяющий аргументы. Допустимый ключ - строка string, содержащая имя переменной, и допустимое значение - или тип filter, или массив array, при необходимости определяющий фильтр, флаги и параметры. Если значение является массивом, допустимыми ключами являются filter, который определяет (тип фильтра ), flags, который определяет любые флаги, применяемые к фильтру и options, который определяет любые параметры, применяемые к фильтру. См. пример ниже для лучшего понимания.

Этот параметр также может быть целым числом, содержащим предопределенную фильтровую константу. Затем все значения во входном массиве фильтруются этим фильтром.

Возвращаемые значения

Массив, содержащий значения запрошенных переменных в случае успеха, или FALSE в случае возникновения ошибки. Значение массива будет FALSE, если фильтрация завершилась неудачей, или NULL, если переменная не определена. Либо, если установлен флаг FILTER_NULL_ON_FAILURE, возвращается FALSE, если переменная не определена и NULL, если фильтрация завершилась неудачей.

Примеры

Пример #1 Пример использования filter_input_array()

<?php
error_reporting(E_ALL | E_STRICT);
/* данные, полученные методом POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

Результат выполнения данного примера:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Примечания

Замечание:

В массиве INPUT_SERVER нет ключа REQUEST_TIME, потому что он будет позднее в $_SERVER.

Смотрите также

  • filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
  • Types of filters

filter_id
filter_input
Фильтрация данных


Принимает переменную извне PHP и, при необходимости, фильтрует ее

filter_input_array
filter_list
Фильтрация данных
PHP Manual

filter_input

(PHP 5 >= 5.2.0)

filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует ее

Описание

mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Список параметров

type

Один из INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER или INPUT_ENV.

variable_name

Имя получаемой переменной.

filter

Идентификатор применяемого фильтра. См.список допустимых значений в Types of filters

options

Ассоциативный массив параметров либо логическое ИЛИ флагов. Если фильтр принимает параметры, флаги могут быть указаны в элементе массива "flags".

Возвращаемые значения

Значение запрашиваемой переменной в случае успеха, FALSE, если фильтрация завершилась неудачей, или NULL, если переменная variable_name не определена. Если установлен флаг FILTER_NULL_ON_FAILURE, функция возвращает FALSE, если переменная не определена и NULL, если фильтрация завершилась неудачей.

Примеры

Пример #1 Пример использования filter_input()

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "Вы искали $search_html.\n";
echo "<a href='?search=$search_url'>Искать снова.</a>";
?>

Результатом выполнения данного примера будет что-то подобное:

Вы искали Me &#38; son.
<a href='?search=Me%20%26%20son'>Искать снова.</a>

Смотрите также

  • filter_var() - Фильтрует переменную с помощью определенного фильтра
  • filter_input_array() - Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
  • Types of filters

filter_input_array
filter_list
Фильтрация данных


Возвращает список всех поддерживаемых фильтров

filter_input
filter_var_array
Фильтрация данных
PHP Manual

filter_list

(PHP 5 >= 5.2.0)

filter_list — Возвращает список всех поддерживаемых фильтров

Описание

array filter_list ( void )

Возвращаемые значения

Возвращает массив имен всех поддерживаемых фильтров, пустой массив, если таких фильтров не существует. Идентификаторы (ID) фильтров не являются ключами этого массива, они могут быть получены с помощью функции filter_id() по имени фильтра.

Примеры

Пример #1 Пример использования filter_list()

<?php
print_r(filter_list());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

filter_input
filter_var_array
Фильтрация данных


Принимает несколько переменных и, при необходимости, фильтрует их

filter_list
filter_var
Фильтрация данных
PHP Manual

filter_var_array

(PHP 5 >= 5.2.0)

filter_var_array — Принимает несколько переменных и, при необходимости, фильтрует их

Описание

mixed filter_var_array ( array $data [, mixed $definition ] )

Эта функция полезна для получения множества переменных без многократного вызова функции filter_var().

Список параметров

data

Массив со строковыми ключами, содержащий данные для фильтрации.

definition

Массив, определяющий параметры. Допустимый ключ - строка string, содержащая имя переменной и допустимое значение - или тип фильтра, или массив array, при необходимости определяющий фильтр, флаги и параметры. Если значение является массивом, допустимыми ключами являются filter, который определяет тип фильтра, flags, который определяет любые флаги, применяемые к фильтру, и options, который определяет любые параметры, применяемые к фильтру. См. пример ниже для лучшего понимания.

Этот параметр также может быть целым числом, содержащим предопределенную фильтровую константу. Затем все значения во входном массиве фильтруются этим фильтром.

Возвращаемые значения

Массив, содержащий значения запрошенных переменных в случае успеха, или FALSE в случае возникновения ошибки. Значение массива будет FALSE, если фильтрация завершилась неудачей, или NULL, если если переменная не определена.

Примеры

Пример #1 Пример использования filter_var_array()

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

Результат выполнения данного примера:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Смотрите также

  • filter_input_array() - Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • filter_var() - Фильтрует переменную с помощью определенного фильтра
  • filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • Types of filters

filter_list
filter_var
Фильтрация данных


Фильтрует переменную с помощью определенного фильтра

filter_var_array
Управление функциями
Фильтрация данных
PHP Manual

filter_var

(PHP 5 >= 5.2.0)

filter_var — Фильтрует переменную с помощью определенного фильтра

Описание

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Список параметров

variable

Значение переменной для фильтрации.

filter

ID используемого фильтра. Список доступных фильтров Types of filters.

options

Ассоциативный массив параметров либо логическая дизъюнкция (операция ИЛИ) флагов. Если фильтр принимает параметры, флаги могут быть указаны в элементе массива "flags". Для фильтра "callback" должен быть указан тип callback. Фильтр "callback" должен принимать один аргумент, значение для фильтрации, и возвращать значение после фильтрации.

<?php
// используйте этот формат для фильтров с дополнительными параметрами
$options = array(
    'options' => array(
        'default' => 3, // значение, возвращаемое, если фильтрация завершилась неудачей
        // другие параметры
        'min_range' => 0
    ),
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);

// для фильтра, который принимает только флаги, вы можете передать их непосредственно
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// для фильтра, который принимает только флаги, вы так же можете передать их как массив
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
                  array('flags' => FILTER_NULL_ON_FAILURE));

// фильтр "callback"
function foo($value)
{
    $ret = new stdClass;
    $ret->value = filter_var($value, FILTER_VALIDATE_BOOLEAN,
                             array('flags' => FILTER_NULL_ON_FAILURE));
    return $ret;
}
$var = filter_var('yes', FILTER_CALLBACK, array('options' => 'foo'));
?>

Возвращаемые значения

Возвращает отфильтрованные данные или FALSE, если фильтрация завершилась неудачей.

Примеры

Пример #1 Пример использования filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

Результат выполнения данного примера:

string(15) "bob@example.com"
bool(false)

Смотрите также

  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
  • filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_input_array() - Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • Types of filters
  • информация о типе callback

filter_var_array
Управление функциями
Фильтрация данных


Управление функциями

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Управление функциями
    • call_user_func_array — Вызывает пользовательскую функцию с массивом параметров
    • call_user_func — Вызывает пользовательскую функцию, указанную в первом параметре
    • create_function — Создаёт анонимную (лямбда) функцию
    • forward_static_call_array — Call a static method and pass the arguments as array
    • forward_static_call — Call a static method
    • func_get_arg — Возвращает элемент из списка аргументов
    • func_get_args — Возвращает массив, содержащий аргументы функции
    • func_num_args — Возвращает количество аргументов, переданных функции
    • function_exists — Возвращает TRUE, если указанная функция определена
    • get_defined_functions — Возвращает массив всех определённых функций
    • register_shutdown_function — Регистрирует функцию, которая выполнится по завершении работы скрипта
    • register_tick_function — Регистрирует функцию для выполнения при каждом тике
    • unregister_tick_function — Удаляет функцию из списка зарегистрированных для выполнения при каждом тике
filter_var
Введение
Расширения, относящиеся к переменным и типам


Введение

Эти функции позволяют различными способами решать проблемы, возникающие при работе с функциями.

Управление функциями
Установка и настройка
Управление функциями


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Управление функциями


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Управление функциями
Управление функциями


Управление функциями
PHP Manual

Управление функциями

Содержание

  • call_user_func_array — Вызывает пользовательскую функцию с массивом параметров
  • call_user_func — Вызывает пользовательскую функцию, указанную в первом параметре
  • create_function — Создаёт анонимную (лямбда) функцию
  • forward_static_call_array — Call a static method and pass the arguments as array
  • forward_static_call — Call a static method
  • func_get_arg — Возвращает элемент из списка аргументов
  • func_get_args — Возвращает массив, содержащий аргументы функции
  • func_num_args — Возвращает количество аргументов, переданных функции
  • function_exists — Возвращает TRUE, если указанная функция определена
  • get_defined_functions — Возвращает массив всех определённых функций
  • register_shutdown_function — Регистрирует функцию, которая выполнится по завершении работы скрипта
  • register_tick_function — Регистрирует функцию для выполнения при каждом тике
  • unregister_tick_function — Удаляет функцию из списка зарегистрированных для выполнения при каждом тике
Предопределенные константы
call_user_func_array
Управление функциями
PHP Manual


Вызывает пользовательскую функцию с массивом параметров

Управление функциями
call_user_func
Управление функциями
PHP Manual

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array — Вызывает пользовательскую функцию с массивом параметров

Описание

mixed call_user_func_array ( callback $function , array $param_arr )

Вызывает пользовательскую функцию function, с параметрами из массива param_arr.

Список параметров

function

Вызываемая функция.

param_arr

Передаваемые в функцию параметры, в качестве индексированного массива.

Возвращаемые значения

Возвращает результат функции или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее, их вызов с помощью синтаксиса двойного двоеточия вызывал предупреждение уровня E_STRICT, так как они расценивались как статические вызовы.

Примеры

Пример #1 Использование call_user_func_array()

<?php
function foobar($arg, $arg2) {
    echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}

// Вызываем функцию foobar() с 2 аргументами
call_user_func_array("foobar", array("one", "two"));

// Вызываем метод $foo->bar() с 2 аргументами
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>

Результатом выполнения данного примера будет что-то подобное:

foobar got one and two
foo::bar got three and four

Пример #2 Пример использования call_user_func_array() и имени из пространства имен

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Hello {$name}!\n";
    }
}

// Начиная с версии PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));

// Начиная с версии PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));

?>

Результатом выполнения данного примера будет что-то подобное:

Hello Hannes!
Hello Philip!

Пример #3 Использование lambda-функции

<?php

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* Начиная с версии PHP 5.3.0 */

?>

Результат выполнения данного примера:

int(8)

Примечания

Замечание:

Переменные-ссылки в param_arr передаются в функцию по ссылке, вне зависимости от того, ожидает ли функция передачу соответствующего параметра по ссылке или нет. Эта форма "динамической" передачи по ссылке не выводит замечания об устаревшем поведении, но тем не менее считается устаревшей, и, скорее всего, будет удалена в следующей версии PHP. Далее, это не влияет на встроенные функции, у которых учитывается сигнатура функции. Передача по значению параметра функции, при ожидаемой передачи по ссылке, вызовет предупреждение и заставит call_user_func() вернуть FALSE (за исключением если переданное значение имеет количество ссылок (reference count) равное 1).

Замечание:

Callback-функции, зарегистрированные такими функциями как call_user_func() и call_user_func_array(), не будут вызваны при наличии непойманного исключения, брошенного в предыдущей callback-функции.

Смотрите также

  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре
  • информация о типе callback

Управление функциями
call_user_func
Управление функциями


Вызывает пользовательскую функцию, указанную в первом параметре

call_user_func_array
create_function
Управление функциями
PHP Manual

call_user_func

(PHP 4, PHP 5)

call_user_func — Вызывает пользовательскую функцию, указанную в первом параметре

Описание

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

Вызывает пользовательскую функцию, переданную в параметре function.

Список параметров

function

Вызываемая функция. Методы класса также могут быть вызваны статически при передаче array($classname, $methodname) в качестве данного параметра. Кроме того, можно вызывать методы объектов с помощью передачи в данный параметр array($objectinstance, $methodname).

parameter

Ноль или более параметров, передаваемые в функцию.

Замечание:

Учтите, что параметры для call_user_func() не передаются по ссылке.

Пример #1 Пример использования call_user_func() с ссылками

<?php
error_reporting(E_ALL);
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func('increment', $a);
echo $a."\n";

call_user_func_array('increment', array(&$a)); // Вместо этого можно использовать этот способ до PHP 5.3
echo $a."\n";
?>

Результат выполнения данного примера:

0
1

Возвращаемые значения

Возвращает результат функции, или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Изменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее, при их вызове с помощью синтаксиса двойного двоеточия вызывалась ошибка уровня E_STRICT, т.к. они интерпретировались как статические вызовы.

Примеры

Пример #2 Пример использования call_user_func()

<?php
function barber($type)
{
    echo "Вы хотели стрижку $type, без проблем\n";
}
call_user_func('barber', "под горшок");
call_user_func('barber', "наголо");
?>

Результат выполнения данного примера:

Вы хотели стрижку под горшок, без проблем
Вы хотели стрижку наголо, без проблем

Пример #3 Использование call_user_func() и пространства имен

<?php

namespace Foobar;

class Foo {
    static public function test() {
        print "Привет, мир!\n";
    }
}

call_user_func(__NAMESPACE__ .'\Foo::test'); // Начиная с версии PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // Начиная с версии PHP 5.3.0

?>

Результат выполнения данного примера:

Привет, мир!
Привет, мир!

Пример #4 Вызов метода класса из call_user_func()

<?php

class myclass {
    static function say_hello()
    {
        echo "Привет!\n";
    }
}

$classname = "myclass";

call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello'); // Начиная с версии 5.2.3

$myobject = new myclass();

call_user_func(array($myobject, 'say_hello'));

?>

Результат выполнения данного примера:

Привет!
Привет!
Привет!

Пример #5 Использование лямбда-функции и call_user_func()

<?php
call_user_func(function($arg) { print "[$arg]\n"; }, 'test'); /* Начиная с версии PHP 5.3.0 */
?>

Результат выполнения данного примера:

[test]

Примечания

Замечание:

Callback-функции, зарегистрированные такими функциями как call_user_func() и call_user_func_array(), не будут вызваны при наличии непойманного исключения, брошенного в предыдущей callback-функции.

Смотрите также

  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • информация о типе callback

call_user_func_array
create_function
Управление функциями


Создаёт анонимную (лямбда) функцию

call_user_func
forward_static_call_array
Управление функциями
PHP Manual

create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function — Создаёт анонимную (лямбда) функцию

Описание

string create_function ( string $args , string $code )

Создаёт анонимную функцию из переданных параметров и возвращает её уникальное имя.

Список параметров

Обычно параметры передаются строкой в одинарных кавычках. Основанием для использования строк в одинарных кавычках является защита имён переменных от обработки, другими словами, если вы будете использовать двойные кавычки, то необходимо будет проэкранировать все имена переменных, вот так: \$avar.

args

Аргументы функции.

code

Код функции.

Возвращаемые значения

Возвращает уникальное имя функции в виде строки, или FALSE в случае ошибки.

Примеры

Пример #1 Создание анонимной функции с помощью create_function()

Вы можете использовать эту функцию (к примеру) для создания функций на основании информации, полученной во время выполнения программы:

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "Новая анонимная функция: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// выводит
// Новая анонимная функция: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Или, возможно, чтобы иметь общий обработчик для применения набора операций к списку параметров:

Пример #2 Создание функции-обработчика с помощью create_function()

<?php
function process($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// создаем кучу математических функций
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "тригонометрия: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "гипотенуза: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nИспользуем первый массив анонимных функций\n";
echo "параметры: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// теперь создаем кучу функций обработки строк
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'и \"$b\"\n** для меня одинаковы! (смотря по первым 3 символам)";'),
    create_function('$a,$b', '; return "CRC: " . crc32($a) . ", ".crc32($b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nИспользование второго массива анонимных функций\n";
process("Варкалось. Хливкие шорьки пырялись по наве", "Варабей под кровлю, а сова на ловлю", $garr);
?>

Результат выполнения данного примера:

Используем первый массив анонимных функций
параметры: 2.3445, M_PI
тригонометрия: -1.6291725057799
гипотенуза: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a)/b = 0.27122299212594

Использование второго массива анонимных функций
** "Варабей под кровлю, а сова на ловлю" и "Варкалось. Хливкие шорьки пырялись по наве"
** для меня одинаковы! (смотря по первым 3 символам)
CRC: -1622439884, -458910041
similar(a,b) = 25(35.460992907801%)

Однако, вероятно, наиболее обоснованное использование лямбда (анонимных) функций - это создание функций-обработчиков, например, при использовании array_walk() или usort()

Пример #3 Использование анонимной функции как функции-обработчика

<?php
$av = array("о, ", "эх, ", "то ", "это ");
array_walk($av, create_function('&$v,$k', '$v = $v . "манго";'));
print_r($av);
?>

Результат выполнения данного примера:

Array
(
  [0] => о, манго
  [1] => эх, манго
  [2] => то манго
  [3] => это манго
)

Сортировка строк по их длине

<?php

$sv = array("мало", "много", "большая строка", "строка строка строка");
print_r($sv);

?>

Результат выполнения данного примера:

Array
(
  [0] => мало
  [1] => много
  [2] => большая строка
  [3] => строка строка строка
)

Теперь отсортируем их в обратном порядке:

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

Результат выполнения данного примера:

Array
(
  [0] => строка строка строка
  [1] => большая строка
  [2] => много
  [3] => мало
)

Смотрите также

  • "Анонимные функции"

call_user_func
forward_static_call_array
Управление функциями


Call a static method and pass the arguments as array

create_function
forward_static_call
Управление функциями
PHP Manual

forward_static_call_array

(PHP 5 >= 5.3.0)

forward_static_call_array — Call a static method and pass the arguments as array

Описание

mixed forward_static_call_array ( callback $function , array $parameters )

Calls a user defined function or method given by the function parameter. This function must be called within a method context, it can't be used outside a class. It uses the late static binding. All arguments of the forwarded method are passed as values, and as an array, similarly to call_user_func_array().

Список параметров

function

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

parameter

One parameter, gathering all the method parameter in one array.

Замечание:

Note that the parameters for forward_static_call_array() are not passed by reference.

Возвращаемые значения

Returns the function result, or FALSE on error.

Примеры

Пример #1 forward_static_call_array() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call_array(array('A', 'test'), array('more', 'args'));
        forward_static_call_array( 'test', array('other', 'args'));
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

Результат выполнения данного примера:

B
B more,args
C other,args

Смотрите также

  • forward_static_call() - Call a static method
  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре
  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • информация о типе callback

create_function
forward_static_call
Управление функциями


Call a static method

forward_static_call_array
func_get_arg
Управление функциями
PHP Manual

forward_static_call

(PHP 5 >= 5.3.0)

forward_static_call — Call a static method

Описание

mixed forward_static_call ( callback $function [, mixed $parameter [, mixed $... ]] )

Calls a user defined function or method given by the function parameter, with the following arguments. This function must be called within a method context, it can't be used outside a class. It uses the late static binding.

Список параметров

function

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

parameter

Zero or more parameters to be passed to the function.

Возвращаемые значения

Returns the function result, or FALSE on error.

Примеры

Пример #1 forward_static_call() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call(array('A', 'test'), 'more', 'args');
        forward_static_call( 'test', 'other', 'args');
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

Результат выполнения данного примера:

B
B more,args
C other,args

Смотрите также

  • forward_static_call_array() - Call a static method and pass the arguments as array
  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • информация о типе callback

forward_static_call_array
func_get_arg
Управление функциями


Возвращает элемент из списка аргументов

forward_static_call
func_get_args
Управление функциями
PHP Manual

func_get_arg

(PHP 4, PHP 5)

func_get_arg — Возвращает элемент из списка аргументов

Описание

mixed func_get_arg ( int $arg_num )

Возвращает указанный аргумент из списка аргументов пользовательской функции.

Эта функция может быть использована совместно с func_get_args() и func_num_args() для создания функций с переменным количеством аргументов.

Список параметров

arg_num

Номер аргумента. Аргументы функции считаются с нуля.

Возвращаемые значения

Возвращает указанный аргумент, или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь может быть использована в качестве параметра функции.
5.3.0 | Если эта функция вызвана в глобальной области видимости файла, подключенного с помощью include() или require() из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.

Ошибки

Генерирует предупреждение при вызове вне определения функции, или если arg_num больше реально переданного количества аргументов.

Примеры

Пример #1 Пример использования func_get_arg()

<?php
function foo()
{
     $numargs = func_num_args();
     echo "Количество аргументов: $numargs<br />\n";
     if ($numargs >= 2) {
         echo "Второй аргумент: " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

Пример #2 Использование func_get_arg() до и после PHP 5.3

test.php
<?php
function foo() {
    include './fga.inc';
}

foo('Первый аргумент', 'Второй аргумент');
?>

fga.php
<?php

$arg = func_get_arg(1);
var_export($arg);

?>

Вывод до PHP 5.3:

'Второй аргумент'

Вывод в PHP 5.3 и выше:

Warning: func_get_arg():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Пример #3 Пример передачи аргументов по ссылке и по значению с func_get_arg()

<?php
function byVal($arg) {
    echo 'Передан          : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'После изменения  : ', var_export(func_get_arg(0)), PHP_EOL;
}

function byRef(&$arg) {
    echo 'Передан          : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'После изменения  : ', var_export(func_get_arg(0)), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

Результат выполнения данного примера:

Передан : 'bar'
После изменения : 'bar'
Передан : 'bar'
После изменения : 'baz'

Примечания

Замечание:

Так как для определения параметров данной функции необходим контекст выполнения, она не может быть передана в качестве параметра в версиях PHP до 5.3.0. Если функцию все же необходимо передать, то нужно присвоить ее переменной, которую уже можно использовать при передаче.

Замечание:

Если аргументы были переданы по ссылке, то все изменения аргументов будут отражены на возвращаемых функцией значениях.

Замечание: Эта функция возвращает только копии переданных аргументов, и не возвращает значения по умолчанию (непереданных) аргументов.

Смотрите также

  • func_get_args() - Возвращает массив, содержащий аргументы функции
  • func_num_args() - Возвращает количество аргументов, переданных функции

forward_static_call
func_get_args
Управление функциями


Возвращает массив, содержащий аргументы функции

func_get_arg
func_num_args
Управление функциями
PHP Manual

func_get_args

(PHP 4, PHP 5)

func_get_args — Возвращает массив, содержащий аргументы функции

Описание

array func_get_args ( void )

Возвращает массив, содержащий аргументы функции.

Эта функция может быть использована совместно с func_num_args() и func_get_arg() для создания функций с переменным количеством аргументов.

Возвращаемые значения

Возвращает массив, в котором каждый элемент является копией соответствующего члена списка аргументов пользовательской функции.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь может быть использована в качестве параметра функции.
5.3.0 | Если эта функция вызвана в глобальной области видимости файла, подключенного с помощью include() или require() из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.

Ошибки

Генерирует предупреждение при вызове вне определения функции.

Примеры

Пример #1 Пример использования func_get_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Количество аргументов: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Второй аргумент: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Аргумент №$i: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

Результат выполнения данного примера:

Количество аргументов: 3<br />
Второй аргумент: 2<br />
Аргумент №0: 1<br />
Аргумент №1: 2<br />
Аргумент №2: 3<br />

Пример #2 Использование func_get_args() до и после PHP 5.3

test.php
<?php
function foo() {
    include './fga.inc';
}

foo('Первый аргумент', 'Второй аргумент');
?>

fga.inc
<?php

$args = func_get_args();
var_export($args);

?>

Вывод до PHP 5.3:

array (
  0 => 'Первый аргумент',
  1 => 'Второй аргумент',
)

Вывод в PHP 5.3 и выше:

Warning: func_get_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Пример #3 Пример передачи аргументов по ссылке и по значению с func_get_args()

<?php
function byVal($arg) {
    echo 'Передан          : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'После изменения  : ', var_export(func_get_args()), PHP_EOL;
}

function byRef(&$arg) {
    echo 'Передан          : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'После изменения  : ', var_export(func_get_args()), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

Результат выполнения данного примера:

Передан : array (
0 => 'bar',
)
После изменения : array (
0 => 'bar',
)
Передан : array (
0 => 'bar',
)
После изменения : array (
0 => 'baz',
)

Примечания

Замечание:

Так как для определения параметров данной функции необходим контекст выполнения, она не может быть передана в качестве параметра в версиях PHP до 5.3.0. Если функцию все же необходимо передать, то нужно присвоить ее переменной, которую уже можно использовать при передаче.

Замечание:

Если аргументы были переданы по ссылке, то все изменения аргументов будут отражены на возвращаемых функцией значениях.

Замечание: Эта функция возвращает только копии переданных аргументов, и не возвращает значения по умолчанию (непереданных) аргументов.

Смотрите также

  • func_get_arg() - Возвращает элемент из списка аргументов
  • func_num_args() - Возвращает количество аргументов, переданных функции

func_get_arg
func_num_args
Управление функциями


Возвращает количество аргументов, переданных функции

func_get_args
function_exists
Управление функциями
PHP Manual

func_num_args

(PHP 4, PHP 5)

func_num_args — Возвращает количество аргументов, переданных функции

Описание

int func_num_args ( void )

Возвращает количество аргументов, переданных функции.

Эта функция также может быть использована совместно с func_get_arg() и func_get_args() для создания функций с переменным количеством аргументов.

Возвращаемые значения

Возвращает количество аргументов, переданных текущей пользовательской функции.

Список изменений

Версия | Описание
5.3.0 | Эта функция теперь может быть использована в качестве параметра функции.
5.3.0 | Если эта функция вызвана в глобальной области видимости файла, подключенного с помощью include() или require() из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение -1.

Ошибки

Генерирует предупреждение при вызове вне определения функции.

Примеры

Пример #1 Пример использования func_num_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Количество аргументов: $numargs\n";
}

foo(1, 2, 3);
?>

Результат выполнения данного примера:

Количество аргументов: 3

Пример #2 Использование func_num_args() до и после PHP 5.3

test.php
<?php
function foo() {
    include './fna.php';
}

foo('Первый аргумент', 'Второй аргумент');
?>

fna.php
<?php

$num_args = func_num_args();
var_export($num_args);

?>

Вывод до PHP 5.3:

2

Вывод в PHP 5.3 и выше будет содержать что-то типа следующего:

Warning: func_num_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fna.php on line 3
-1

Примечания

Замечание:

Так как для определения параметров данной функции необходим контекст выполнения, она не может быть передана в качестве параметра в версиях PHP до 5.3.0. Если функцию все же необходимо передать, то нужно присвоить ее переменной, которую уже можно использовать при передаче.

Смотрите также

  • func_get_arg() - Возвращает элемент из списка аргументов
  • func_get_args() - Возвращает массив, содержащий аргументы функции

func_get_args
function_exists
Управление функциями


Возвращает TRUE, если указанная функция определена

func_num_args
get_defined_functions
Управление функциями
PHP Manual

function_exists

(PHP 4, PHP 5)

function_exists — Возвращает TRUE, если указанная функция определена

Описание

bool function_exists ( string $function_name )

Проверяет, есть ли в списке определённых функций, как встроенных, так и пользовательских, функция function_name.

Список параметров

function_name

Имя функции, строка.

Возвращаемые значения

Возвращает TRUE, если function_name существует и является функцией, иначе возвращается FALSE.

Замечание:

Эта функция возвращает FALSE для языковых конструкций, таких как include_once() или echo().

Примеры

Пример #1 Пример использования function_exists()

<?php
if (function_exists('imap_open')) {
    echo "IMAP функции доступны.<br />\n";
} else {
    echo "IMAP функции недоступны.<br />\n";
}
?>

Примечания

Замечание:

Обратите внимание, что название функции может присутствовать, даже если саму функцию невозможно использовать из-за настроек конфигурации или опций компиляции (например, как для функций image).

Смотрите также

  • method_exists() - Проверяет, существует ли метод в данном классе
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • get_defined_functions() - Возвращает массив всех определённых функций
  • class_exists() - Проверяет, был ли объявлен класс

func_num_args
get_defined_functions
Управление функциями


Возвращает массив всех определённых функций

function_exists
register_shutdown_function
Управление функциями
PHP Manual

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5)

get_defined_functions — Возвращает массив всех определённых функций

Описание

array get_defined_functions ( void )

Возвращает массив всех определённых функций.

Возвращаемые значения

Эта функция возвращает многомерный массив, содержащий список всех определённых функций, встроенных и пользовательских. Встроенные функции перечислены в элементе массива $arr["internal"], а определенные пользователем - в элементе $arr["user"] (см. пример ниже).

Примеры

Пример #1 Пример использования get_defined_functions()

<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)

Смотрите также

  • function_exists() - Возвращает TRUE, если указанная функция определена
  • get_defined_vars() - Возвращает массив всех определенных переменных
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • get_declared_classes() - Возвращает массив с именами объявленных классов

function_exists
register_shutdown_function
Управление функциями


Регистрирует функцию, которая выполнится по завершении работы скрипта

get_defined_functions
register_tick_function
Управление функциями
PHP Manual

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function — Регистрирует функцию, которая выполнится по завершении работы скрипта

Описание

void register_shutdown_function ( callback $function [, mixed $parameter [, mixed $... ]] )

Регистрирует функцию function, которая выполнится после завершения работы скрипта или при вызове функции exit().

Возможна регистрация нескольких подобных функций с помощью register_shutdown_function(), при этом функции будут выполняться в том порядке, в каком они были зарегистрированы. Если вы вызовете exit() в одной из зарегистрированных завершающих функций, процесс будет полностью остановлен и последующие завершающие функции не будут вызваны.

Список параметров

function

Регистрируемая завершающая функция.

Завершающие функции вызываются в течение запроса, это значит что из них можно посылать данные на вывод. В данный момент невозможно использовать функции буферизации вывода в завершающих функциях.

Завершающие функции вызываются после закрытия всех открытых буферов вывода, поэтому, например, вывод из них не будет сжат при включенной опции zlib.output_compression.

parameter

Разрешается передавать параметры в завершающую функцию, указав их как дополнительные параметры.

...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.1.0 | Зарегистрированные завершающие функции теперь вызываются в течение запроса. В ранних версиях, выполнявшихся в Apache, зарегистрированные завершающие функции вызывались после того, как запрос был полностью завершен (включая отсылку всех буферов вывода), так что было невозможно послать вывод в браузер с помощью echo() или print(), или получить содержимое буферов вывода из ob_get_contents(). Заголовки также уже были посланы к этому моменту.

Примеры

Пример #1 Пример использования register_shutdown_function()

<?php
function shutdown()
{
    // Это наша завершающая функция,
    // здесь мы можем выполнить кое-какую работу
    // перед тем как скрипт полностью завершится.

    echo 'Скрипт успешно завершился', PHP_EOL;
}

register_shutdown_function('shutdown');
?>

Примечания

Замечание:

Обычно неопределённые функции вызывают фатальные ошибки в PHP, но если function, вызванная при помощи register_shutdown_function(), неопределена, уровень ошибки изменяется на E_WARNING. Также, из-за внутренних причин, эта ошибка будет отображаться как Unknown at line #0.

Замечание:

На некоторых веб-серверах рабочая директория скрипта может измениться внутри завершающей функции, например, Apache.

Смотрите также

  • auto_append_file
  • exit() - Output a message and terminate the current script
  • Раздел "Обработка соединений"

get_defined_functions
register_tick_function
Управление функциями


Регистрирует функцию для выполнения при каждом тике

register_shutdown_function
unregister_tick_function
Управление функциями
PHP Manual

register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function — Регистрирует функцию для выполнения при каждом тике

Описание

bool register_tick_function ( callback $function [, mixed $arg [, mixed $... ]] )

Регистрирует функцию function, которая должна вызываться при каждом тике.

Список параметров

function

Строка с именем функции, или массив, состоящий из объекта и метода.

arg

...

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования register_tick_function()

<?php
declare(ticks=1);

// using a function as the callback
register_tick_function('my_function', true);

// using an object->method
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

Список изменений

Версия | Описание
5.3.0 | Тики теперь поддерживаются и на потоковых модулях веб-серверов.

Примечания

Внимание

Не используйте register_tick_function() на потоковых модулях веб-серверов с PHP 5.2 и ниже.

Смотрите также

  • declare
  • unregister_tick_function() - Удаляет функцию из списка зарегистрированных для выполнения при каждом тике

register_shutdown_function
unregister_tick_function
Управление функциями


Удаляет функцию из списка зарегистрированных для выполнения при каждом тике

register_tick_function
Object Aggregation
Управление функциями
PHP Manual

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5)

unregister_tick_function — Удаляет функцию из списка зарегистрированных для выполнения при каждом тике

Описание

void unregister_tick_function ( string $function_name )

Удаляет function_name из списка функций, зарегистрированных для выполнения при каждом тике (см. tick).

Список параметров

function_name

Название функции, строка.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • register_tick_function() - Регистрирует функцию для выполнения при каждом тике

register_tick_function
Object Aggregation
Управление функциями


Object Aggregation/Composition [PHP 4]

  • Введение
  • Примеры
    • Object Aggregation examples
    • Примеры
  • Object Aggregation Функции
    • aggregate_info — Gets aggregation information for a given object
    • aggregate_methods_by_list — Selective dynamic class methods aggregation to an object
    • aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression
    • aggregate_methods — Dynamic class and object aggregation of methods
    • aggregate_properties_by_list — Selective dynamic class properties aggregation to an object
    • aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression
    • aggregate_properties — Dynamic aggregation of class properties to an object
    • aggregate — Dynamic class and object aggregation of methods and properties
    • aggregation_info — Псевдоним aggregate_info
    • deaggregate — Removes the aggregated methods and properties from an object
unregister_tick_function
Введение
Расширения, относящиеся к переменным и типам


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

In Object Oriented Programming, it is common to see the composition of simple classes (and/or instances) into a more complex one. This is a flexible strategy for building complicated objects and object hierarchies and can function as a dynamic alternative to multiple inheritance. There are two ways to perform class (and/or object) composition depending on the relationship between the composed elements: Association and Aggregation.

Object Aggregation
Примеры
Object Aggregation


Примеры

Содержание

  • Object Aggregation examples
  • Примеры
Введение
Object Aggregation examples
Object Aggregation


Object Aggregation examples

An Association is a composition of independently constructed and externally visible parts. When we associate classes or objects, each one keeps a reference to the ones it is associated with. When we associate classes statically, one class will contain a reference to an instance of the other class. For example:

Пример #1 Class association

<?php
class MyDateTime {

  function MyDateTime()
  {
      // empty constructor
  }

  function now()
  {
      return date("Y-m-d H:i:s");
  }
}

class Report {
  var $_dt;
  // more properties ...

  function Report()
  {
      $this->_dt = new MyDateTime();
      // initialization code ...
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // more code ...
  }

  // more methods ...
}

$rep = new Report();
?>
We can also associate instances at runtime by passing a reference in a constructor (or any other method), which allow us to dynamically change the association relationship between objects. We will modify the example above to illustrate this point:

Пример #2 Object association

<?php
class MyDateTime {
  // same as previous example
}

class MyDateTimePlus {
  var $_format;

  function MyDateTimePlus($format="Y-m-d H:i:s")
  {
      $this->_format = $format;
  }

  function now()
  {
      return date($this->_format);
  }
}

class Report {
  var $_dt;    // we'll keep the reference to MyDateTime here
  // more properties ...

  function Report()
  {
      // do some initialization
  }

  function setMyDateTime(&$dt)
  {
      $this->_dt =& $dt;
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // more code ...
  }

  // more methods ...
}

$rep = new Report();
$dt = new MyDateTime();
$dtp = new MyDateTimePlus("l, F j, Y (h:i:s a, T)");

// generate report with simple date for web display
$rep->setMyDateTime($dt);
echo $rep->generateReport();

// later on in the code ...

// generate report with fancy date
$rep->setMyDateTime($dtp);
$output = $rep->generateReport();
// save $output in database
// ... etc ...
?>

Aggregation, on the other hand, implies encapsulation (hidding) of the parts of the composition. We can aggregate classes by using a (static) inner class (PHP does not yet support inner classes), in this case the aggregated class definition is not accessible, except through the class that contains it. The aggregation of instances (object aggregation) involves the dynamic creation of subobjects inside an object, in the process, expanding the properties and methods of that object.

Object aggregation is a natural way of representing a whole-part relationship, (for example, molecules are aggregates of atoms), or can be used to obtain an effect equivalent to multiple inheritance, without having to permanently bind a subclass to two or more parent classes and their interfaces. In fact object aggregation can be more flexible, in which we can select what methods or properties to "inherit" in the aggregated object.

Примеры
Примеры
Примеры


Примеры
PHP Manual

Примеры

We define 3 classes, each implementing a different storage method:

Пример #1 storage_classes.inc

<?php
class FileStorage {
   var $data;

   function FileStorage($data)
   {
       $this->data = $data;
   }

   function write($name)
   {
       $fp = fopen(name, "w");
       fwrite($fp, $this->data);
       fclose($data);
   }
}

class WDDXStorage {
   var $data;
   var $version = "1.0";
   var $_id; // "private" variable

   function WDDXStorage($data)
   {
       $this->data = $data;
       $this->_id = $this->_genID();
   }

   function store()
   {
       if ($this->_id) {
           $pid = wddx_packet_start($this->_id);
           wddx_add_vars($pid, "this->data");
           $packet = wddx_packet_end($pid);
       } else {
           $packet = wddx_serialize_value($this->data);
       }
       $dbh = dba_open("varstore", "w", "gdbm");
       dba_insert(md5(uniqid("", true)), $packet, $dbh);
       dba_close($dbh);
   }

   // a private method
   function _genID()
   {
       return md5(uniqid(rand(), true));
   }
}

class DBStorage {
   var $data;
   var $dbtype = "mysql";

   function DBStorage($data)
   {
       $this->data = $data;
   }

   function save()
   {
       $dbh = mysql_connect();
       mysql_select_db("storage", $dbh);
       $serdata = serialize($this->data);
       mysql_query("insert into vars ('$serdata',now())", $dbh);
       mysql_close($dbh);
   }
}

?>

We then instantiate a couple of objects from the defined classes, and perform some aggregations and deaggregations, printing some object information along the way:

Пример #2 test_aggregation.php

<?php
include "storageclasses.inc";

// some utilty functions

function p_arr($arr)
{
   foreach ($arr as $k => $v)
       $out[] = "\t$k => $v";
   return implode("\n", $out);
}

function object_info($obj)
{
   $out[] = "Class: " . get_class($obj);
   foreach (get_object_vars($obj) as $var=>$val) {
       if (is_array($val)) {
           $out[] = "property: $var (array)\n" . p_arr($val);
       } else {
           $out[] = "property: $var = $val";
       }
   }
   foreach (get_class_methods($obj) as $method) {
       $out[] = "method: $method";
   }
   return implode("\n", $out);
}

$data = array(M_PI, "kludge != cruft");

// we create some basic objects
$fs = new FileStorage($data);
$ws = new WDDXStorage($data);

// print information on the objects
echo "\$fs object\n";
echo object_info($fs) . "\n";
echo "\n\$ws object\n";
echo object_info($ws) . "\n";

// do some aggregation

echo "\nLet's aggregate \$fs to the WDDXStorage class\n";
aggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nNow let us aggregate it to the DBStorage class\n";
aggregate($fs, "DBStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nAnd finally deaggregate WDDXStorage\n";
deaggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

?>

We will now consider the output to understand some of the side-effects and limitation of object aggregation in PHP. First, the newly created $fs and $ws objects give the expected output (according to their respective class declaration). Note that for the purposes of object aggregation, private elements of a class/object begin with an underscore character ("_"), even though there is not real distinction between public and private class/object elements in PHP.

$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
method: filestorage
method: write

$ws object
Class: wddxstorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
property: _id = ID::9bb2b640764d4370eb04808af8b076a5
method: wddxstorage
method: store
method: _genid

We then aggregate $fs with the WDDXStorage class, and print out the object information. We can see now that even though nominally the $fs object is still of FileStorage, it now has the property $version, and the method store(), both defined in WDDXStorage. One important thing to note is that it has not aggregated the private elements defined in the class, which are present in the $ws object. Also absent is the constructor from WDDXStorage, which will not be logical to aggegate.

Let's aggregate $fs to the WDDXStorage class
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
method: filestorage
method: write
method: store

The process of aggregation is cumulative, so when we aggregate $fs with the class DBStorage, generating an object that can use the storage methods of all the defined classes.

Now let us aggregate it to the DBStorage class
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: version = 1.0
property: dbtype = mysql
method: filestorage
method: write
method: store
method: save

Finally, the same way we aggregated properties and methods dynamically, we can also deaggregate them from the object. So, if we deaggregate the class WDDXStorage from $fs, we will obtain:

And deaggregate the WDDXStorage methods and properties
$fs object
Class: filestorage
property: data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
property: dbtype = mysql
method: filestorage
method: write
method: save

One point that we have not mentioned above, is that the process of aggregation will not override existing properties or methods in the objects. For example, the class FileStorage defines a $data property, and the class WDDXStorage also defines a similar property which will not override the one in the object acquired during instantiation from the class FileStorage.

Object Aggregation examples
Object Aggregation Функции
Примеры
PHP Manual


Object Aggregation Функции

Содержание

  • aggregate_info — Gets aggregation information for a given object
  • aggregate_methods_by_list — Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression
  • aggregate_methods — Dynamic class and object aggregation of methods
  • aggregate_properties_by_list — Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression
  • aggregate_properties — Dynamic aggregation of class properties to an object
  • aggregate — Dynamic class and object aggregation of methods and properties
  • aggregation_info — Псевдоним aggregate_info
  • deaggregate — Removes the aggregated methods and properties from an object
Примеры
aggregate_info
Object Aggregation


Gets aggregation information for a given object

Object Aggregation Функции
aggregate_methods_by_list
Object Aggregation Функции
PHP Manual

aggregate_info

(PHP 4 >= 4.3.0)

aggregate_info — Gets aggregation information for a given object

Описание

array aggregate_info ( object $object )

Gets the aggregation information for the given object.

Список параметров

object

Возвращаемые значения

Returns the aggregation information as an associative array of arrays of methods and properties. The key for the main array is the name of the aggregated class.

Примеры

Пример #1 Using aggregate_info()

<?php

class Slicer {
    var $vegetable;

    function Slicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function slice_it($num_cuts)
    {
        echo "Doing some simple slicing\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some slicing
        }
    }
}

class Dicer {
    var $vegetable;
    var $rotation_angle = 90;   // degrees

    function Dicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function dice_it($num_cuts)
    {
        echo "Cutting in one direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some cutting
        }
        $this->rotate($this->rotation_angle);
        echo "Cutting in a second direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some more cutting
        }
    }

    function rotate($deg)
    {
        echo "Now rotating {$this->vegetable} {$deg} degrees\n";
    }

    function _secret_super_dicing($num_cuts)
    {
        // so secret we cannot show you ;-)
    }
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

Результат выполнения данного примера:

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)
As you can see, all properties and methods of the Dicer class have been aggregated into our new object, with the exception of the class constructor and the method _secret_super_dicing()

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

Object Aggregation Функции
aggregate_methods_by_list
Object Aggregation Функции


Selective dynamic class methods aggregation to an object

aggregate_info
aggregate_methods_by_regexp
Object Aggregation Функции
PHP Manual

aggregate_methods_by_list

(PHP 4 >= 4.2.0)

aggregate_methods_by_list — Selective dynamic class methods aggregation to an object

Описание

void aggregate_methods_by_list ( object $object , string $class_name , array $methods_list [, bool $exclude = false ] )

Aggregates methods from a class to an existing object using a list of method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Список параметров

object

class_name

methods_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of methods to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_info
aggregate_methods_by_regexp
Object Aggregation Функции


Selective class methods aggregation to an object using a regular expression

aggregate_methods_by_list
aggregate_methods
Object Aggregation Функции
PHP Manual

aggregate_methods_by_regexp

(PHP 4 >= 4.2.0)

aggregate_methods_by_regexp — Selective class methods aggregation to an object using a regular expression

Описание

void aggregate_methods_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Aggregates methods from a class to an existing object using a regular expression to match method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Список параметров

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of methods to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods_by_list
aggregate_methods
Object Aggregation Функции


Dynamic class and object aggregation of methods

aggregate_methods_by_regexp
aggregate_properties_by_list
Object Aggregation Функции
PHP Manual

aggregate_methods

(PHP 4 >= 4.2.0)

aggregate_methods — Dynamic class and object aggregation of methods

Описание

void aggregate_methods ( object $object , string $class_name )

Aggregates all methods defined in a class to an existing object, except for the class constructor, or methods whose names start with an underscore character (_) which are considered private to the aggregated class.

Список параметров

object

class_name

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods_by_regexp
aggregate_properties_by_list
Object Aggregation Функции


Selective dynamic class properties aggregation to an object

aggregate_methods
aggregate_properties_by_regexp
Object Aggregation Функции
PHP Manual

aggregate_properties_by_list

(PHP 4 >= 4.2.0)

aggregate_properties_by_list — Selective dynamic class properties aggregation to an object

Описание

void aggregate_properties_by_list ( object $object , string $class_name , array $properties_list [, bool $exclude = false ] )

Aggregates properties from a class to an existing object using a list of property names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Список параметров

object

class_name

properties_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of class properties to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • aggregate_info() - Gets aggregation information for a given object
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_methods
aggregate_properties_by_regexp
Object Aggregation Функции


Selective class properties aggregation to an object using a regular expression

aggregate_properties_by_list
aggregate_properties
Object Aggregation Функции
PHP Manual

aggregate_properties_by_regexp

(PHP 4 >= 4.2.0)

aggregate_properties_by_regexp — Selective class properties aggregation to an object using a regular expression

Описание

void aggregate_properties_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Aggregates properties from a class to an existing object using a regular expression to match their names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

Список параметров

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of class properties to include in the aggregation (i.e. exclude is FALSE), or to exclude from the aggregation (exclude is TRUE).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_info() - Gets aggregation information for a given object
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties_by_list
aggregate_properties
Object Aggregation Функции


Dynamic aggregation of class properties to an object

aggregate_properties_by_regexp
aggregate
Object Aggregation Функции
PHP Manual

aggregate_properties

(PHP 4 >= 4.2.0)

aggregate_properties — Dynamic aggregation of class properties to an object

Описание

void aggregate_properties ( object $object , string $class_name )

Aggregates all properties defined in a class to an existing object, except for properties whose names start with an underscore character (_) which are considered private to the aggregated class.

Список параметров

object

class_name

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties()
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties_by_regexp
aggregate
Object Aggregation Функции


Dynamic class and object aggregation of methods and properties

aggregate_properties
aggregation_info
Object Aggregation Функции
PHP Manual

aggregate

(PHP 4 >= 4.2.0)

aggregate — Dynamic class and object aggregation of methods and properties

Описание

void aggregate ( object $object , string $class_name )

Aggregates methods and properties defined in a class to an existing object. Methods and properties with names starting with an underscore character (_) are considered private to the aggregated class and are not used, constructors are also excluded from the aggregation procedure.

Список параметров

object

class_name

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate_info() - Gets aggregation information for a given object
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate() - Removes the aggregated methods and properties from an object

aggregate_properties
aggregation_info
Object Aggregation Функции


Псевдоним aggregate_info

aggregate
deaggregate
Object Aggregation Функции
PHP Manual

aggregation_info

(PHP 4 >= 4.2.0 and < 4.3.0)

aggregation_info — Псевдоним aggregate_info()

Описание

Эта функция является псевдонимом: aggregate_info().

aggregate
deaggregate
Object Aggregation Функции


Removes the aggregated methods and properties from an object

aggregation_info
Quickhash
Object Aggregation Функции
PHP Manual

deaggregate

(PHP 4 >= 4.2.0)

deaggregate — Removes the aggregated methods and properties from an object

Описание

void deaggregate ( object $object [, string $class_name ] )

Removes the methods and properties from classes that were aggregated to an object.

Список параметров

object

class_name

If the optional class_name parameters is passed, only those methods and properties defined in that class are removed, otherwise all aggregated methods and properties are eliminated.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • aggregate() - Dynamic class and object aggregation of methods and properties
  • aggregate_methods() - Dynamic class and object aggregation of methods
  • aggregate_methods_by_list() - Selective dynamic class methods aggregation to an object
  • aggregate_methods_by_regexp() - Selective class methods aggregation to an object using a regular expression
  • aggregate_properties() - Dynamic aggregation of class properties to an object
  • aggregate_properties_by_list() - Selective dynamic class properties aggregation to an object
  • aggregate_properties_by_regexp() - Selective class properties aggregation to an object using a regular expression
  • deaggregate()

aggregation_info
Quickhash
Object Aggregation Функции


Quickhash

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
  • Предопределенные константы
  • Примеры
  • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntSet::add — This method adds a new entry to the set
    • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
    • QuickHashIntSet::delete — This method deletes an entry from the set
    • QuickHashIntSet::exists — This method checks whether a key is part of the set
    • QuickHashIntSet::getSize — Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
    • QuickHashIntSet::loadFromString — This factory method creates a set from a string
    • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString — This method returns a serialized version of the set
  • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashIntHash::add — This method adds a new entry to the hash
    • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
    • QuickHashIntHash::delete — This method deletes am entry from the hash
    • QuickHashIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize — Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashStringIntHash::add — This method adds a new entry to the hash
    • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
    • QuickHashStringIntHash::delete — This method deletes am entry from the hash
    • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashIntStringHash — The QuickHashIntStringHash class
    • QuickHashIntStringHash::add — This method adds a new entry to the hash
    • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
    • QuickHashIntStringHash::delete — This method deletes am entry from the hash
    • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value
deaggregate
Введение
Расширения, относящиеся к переменным и типам


Введение

The quickhash extension contains a set of specific strongly-typed classes to deal with specific set and hash implementations.

Quickhash
Установка и настройка
Quickhash


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
Введение
Требования
Quickhash


Требования

This extension requires no additional libraries.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/quickhash

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Настройка во время выполнения
Примеры
Quickhash


Примеры

Пример #1 Quickhash Example

<?php
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
$set->add( 1 );
$set->add( 3 );

var_dump( $set->exists( 3 ) );
var_dump( $set->exists( 4 ) );

$set->saveToFile( "/tmp/test-set.set" );

$newSet = QuickHashIntSet::loadFromFile(
    "/tmp/test-set.set"
);

var_dump( $newSet->exists( 3 ) );
var_dump( $newSet->exists( 4 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)
bool(true)
bool(false)

Пример #2 Quickhash ArrayAccess Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding and updating hash entries.
$hash[3] = 145926;
$hash[3] = 1415926;
$hash[2] = 72;

// Checking if keys exist
var_dump( isset( $hash[3] ) );

// Removing hash entries
unset( $hash[2] );

// Retrieving the value stored for a hash
echo $hash[3], "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
1415926

Пример #3 Quickhash Iterator Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding hash entries.
$hash[1] = 145926;
$hash[2] = 1415926;
$hash[3] = 72;
$hash[4] = 712314;
$hash[5] = -4234;

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

5 => -4234
4 => 712314
1 => 145926
2 => 1415926
3 => 72

Пример #4 Quickhash String Values Example

<?php
$hash = new QuickHashIntStringHash( 64 );

// Adding hash entries.
$hash[1] = "one million four hundred fifteen thousand nine hundred twenty six";
$hash->add( 2, "one more" );1415926;

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

1 => one million four hundred fifteen thousand nine hundred twenty six
2 => one more
Предопределенные константы
QuickHashIntSet
Quickhash


The QuickHashIntSet class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class wraps around a set containing integer numbers.

Sets can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Обзор классов

QuickHashIntSet {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public boolean add ( integer $key )
__construct ( integer $size [, integer $options ] )
public boolean delete ( integer $key )
public boolean exists ( integer $key )
publicinteger getSize ( void )
public static QuickHashIntSet loadFromFile ( string $filename [, integer $options ] )
public static QuickHashIntSet loadFromString ( string $contents [, integer $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
}

Предопределенные константы

QuickHashIntSet Node Types

QuickHashIntSet::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntSet::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntSet::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntSet::HASHER_JENKINS2

Selects a variant hashing algorithm.

Содержание

  • QuickHashIntSet::add — This method adds a new entry to the set
  • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
  • QuickHashIntSet::delete — This method deletes an entry from the set
  • QuickHashIntSet::exists — This method checks whether a key is part of the set
  • QuickHashIntSet::getSize — Returns the number of elements in the set
  • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
  • QuickHashIntSet::loadFromString — This factory method creates a set from a string
  • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
  • QuickHashIntSet::saveToString — This method returns a serialized version of the set
Примеры
QuickHashIntSet::add
Quickhash


This method adds a new entry to the set

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet
PHP Manual

QuickHashIntSet::add

(PECL quickhash >= Unknown)

QuickHashIntSet::add — This method adds a new entry to the set

Описание

public boolean QuickHashIntSet::add ( integer $key )

This method adds a new entry to the set, and returns whether the entry was added. Entries are by default always added unless QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was created.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

TRUE when the entry was added, and FALSE if the entry was not added.

Примеры

Пример #1 QuickHashIntSet::add() example

<?php
echo "without dupe checking\n";
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

echo "\nwith dupe checking\n";
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

without dupe checking
bool(false)
bool(true)
bool(true)
bool(true)

with dupe checking
bool(false)
bool(true)
bool(true)
bool(false)

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet


Creates a new QuickHashIntSet object

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet
PHP Manual

QuickHashIntSet::__construct

(PECL quickhash >= Unknown)

QuickHashIntSet::__construct — Creates a new QuickHashIntSet object

Описание

QuickHashIntSet::__construct ( integer $size [, integer $options ] )

This constructor creates a new QuickHashIntSet. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Список параметров

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The options that you can pass in are: QuickHashIntSet::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the set; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 or QuickHashIntSet::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Возвращаемые значения

Returns a new QuickHashIntSet object.

Примеры

Пример #1 QuickHashIntSet::__construct() example

<?php
var_dump( new QuickHashIntSet( 1024 ) );
var_dump( new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntSet(
        1024,
        QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC | QuickHashIntSet::HASHER_JENKINS2
    )
);
?>

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet


This method deletes an entry from the set

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet
PHP Manual

QuickHashIntSet::delete

(PECL quickhash >= Unknown)

QuickHashIntSet::delete — This method deletes an entry from the set

Описание

public boolean QuickHashIntSet::delete ( integer $key )

This method deletes an entry from the set, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the set itself is freed.

Список параметров

key

The key of the entry to delete.

Возвращаемые значения

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Примеры

Пример #1 QuickHashIntSet::delete() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->delete( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->delete( 4 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet


This method checks whether a key is part of the set

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet
PHP Manual

QuickHashIntSet::exists

(PECL quickhash >= Unknown)

QuickHashIntSet::exists — This method checks whether a key is part of the set

Описание

public boolean QuickHashIntSet::exists ( integer $key )

This method checks whether an entry with the provided key exists in the set.

Список параметров

key

The key of the entry to check for whether it exists in the set.

Возвращаемые значения

Returns TRUE when the entry was found, or FALSE when the entry is not found.

Примеры

Пример #1 QuickHashIntSet::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $set->add( $key );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Creating set: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet


Returns the number of elements in the set

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::getSize

(PECL quickhash >= Unknown)

QuickHashIntSet::getSize — Returns the number of elements in the set

Описание

publicinteger QuickHashIntSet::getSize ( void )

Returns the number of elements in the set.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The number of elements in the set.

Примеры

Пример #1 QuickHashIntSet::getSize() example

<?php
$set = new QuickHashIntSet( 8 );
var_dump( $set->add( 2 ) );
var_dump( $set->add( 3 ) );
var_dump( $set->getSize() );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
int(2)

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet


This factory method creates a set from a file

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromFile — This factory method creates a set from a file

Описание

public static QuickHashIntSet QuickHashIntSet::loadFromFile ( string $filename [, integer $options ] )

This factory method creates a new set from a definition file on disk. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Список параметров

filename

The filename of the file to read the set from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashIntSet.

Примеры

Пример #1 QuickHashIntSet::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
    $file,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet


This factory method creates a set from a string

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromString — This factory method creates a set from a string

Описание

public static QuickHashIntSet QuickHashIntSet::loadFromString ( string $contents [, integer $options ] )

This factory method creates a new set from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Список параметров

contents

The string containing a serialized format of the set.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two automatically limited from 64 to 4194304.

Возвращаемые значения

Returns a new QuickHashIntSet.

Примеры

Пример #1 QuickHashIntSet::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.set" );
$set = QuickHashIntSet::loadFromString(
    $contents,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet


This method stores an in-memory set to disk

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToFile — This method stores an in-memory set to disk

Описание

public void QuickHashIntSet::saveToFile ( string $filename )

This method stores an existing set to a file on disk, in the same format that loadFromFile() can read.

Список параметров

filename

The filename of the file to store the hash in.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 QuickHashIntSet::saveToFile() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

$set->saveToFile( '/tmp/test.set' );
?>

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet


This method returns a serialized version of the set

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToString

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToString — This method returns a serialized version of the set

Описание

public string QuickHashIntSet::saveToString ( void )

This method returns a serialized version of the set in the same format that loadFromString() can read.

Возвращаемые значения

This method returns a string containing a serialized format of the set. Each element is stored as a four byte value in the Endianness that the current system uses.

Примеры

Пример #1 QuickHashIntSet::saveToString() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

var_dump( $set->saveToString() );
?>

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet


The QuickHashIntHash class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class wraps around a hash containing integer numbers, where the values are also integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Обзор классов

QuickHashIntHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public boolean add ( integer $key [, integer $value ] )
__construct ( integer $size [, integer $options ] )
public boolean delete ( integer $key )
public boolean exists ( integer $key )
public integer get ( integer $key )
public integer getSize ( void )
public static QuickHashIntHash loadFromFile ( string $filename [, integer $options ] )
public static QuickHashIntHash loadFromString ( string $contents [, integer $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public boolean set ( integer $key , integer $value )
public boolean update ( integer $key , integer $value )
}

Предопределенные константы

QuickHashIntHash Node Types

QuickHashIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Содержание

  • QuickHashIntHash::add — This method adds a new entry to the hash
  • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
  • QuickHashIntHash::delete — This method deletes am entry from the hash
  • QuickHashIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntHash::getSize — Returns the number of elements in the hash
  • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntHash::update — This method updates an entry in the hash with a new value
QuickHashIntSet::saveToString
QuickHashIntHash::add
Quickhash


This method adds a new entry to the hash

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash
PHP Manual

QuickHashIntHash::add

(PECL quickhash >= Unknown)

QuickHashIntHash::add — This method adds a new entry to the hash

Описание

public boolean QuickHashIntHash::add ( integer $key [, integer $value ] )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Список параметров

key

The key of the entry to add.

value

The optional value of the entry to add. If no value is specified, 1 will be used.

Возвращаемые значения

TRUE when the entry was added, and FALSE if the entry was not added.

Примеры

Пример #1 QuickHashIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 22 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 78 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 9 ) );

echo "\ndefault value\n";
var_dump( $hash->add( 5 ) );
var_dump( $hash->get( 5 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

default value
bool(true)
int(1)

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash


Creates a new QuickHashIntHash object

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash
PHP Manual

QuickHashIntHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntHash::__construct — Creates a new QuickHashIntHash object

Описание

QuickHashIntHash::__construct ( integer $size [, integer $options ] )

This constructor creates a new QuickHashIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Список параметров

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntHash::HASHER_NO_HASH, QuickHashIntHash::HASHER_JENKINS1 or QuickHashIntHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Возвращаемые значения

Returns a new QuickHashIntHash object.

Примеры

Пример #1 QuickHashIntHash::__construct() example

<?php
var_dump( new QuickHashIntHash( 1024 ) );
var_dump( new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntHash(
        1024,
        QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash


This method deletes am entry from the hash

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash
PHP Manual

QuickHashIntHash::delete

(PECL quickhash >= Unknown)

QuickHashIntHash::delete — This method deletes am entry from the hash

Описание

public boolean QuickHashIntHash::delete ( integer $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Список параметров

key

The key of the entry to delete.

Возвращаемые значения

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Примеры

Пример #1 QuickHashIntHash::delete() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 5 ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash


This method checks whether a key is part of the hash

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash
PHP Manual

QuickHashIntHash::exists

(PECL quickhash >= Unknown)

QuickHashIntHash::exists — This method checks whether a key is part of the hash

Описание

public boolean QuickHashIntHash::exists ( integer $key )

This method checks whether an entry with the provided key exists in the hash.

Список параметров

key

The key of the entry to check for whether it exists in the hash.

Возвращаемые значения

Returns TRUE when the entry was found, or FALSE when the entry is not found.

Примеры

Пример #1 QuickHashIntHash::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating hash: ", microtime( true ), "\n";
$hash = new QuickHashIntHash( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $hash->add( $key, 56 );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $hash->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Creating hash: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash


This method retrieves a value from the hash by its key

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash
PHP Manual

QuickHashIntHash::get

(PECL quickhash >= Unknown)

QuickHashIntHash::get — This method retrieves a value from the hash by its key

Описание

public integer QuickHashIntHash::get ( integer $key )

This method retrieves a value from the hash by its key.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The value if the key exists, or NULL if the key wasn't part of the hash.

Примеры

Пример #1 QuickHashIntHash::get() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2 ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
int(1)
bool(true)
int(5)

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash


Returns the number of elements in the hash

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntHash::getSize — Returns the number of elements in the hash

Описание

public integer QuickHashIntHash::getSize ( void )

Returns the number of elements in the hash.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The number of elements in the hash.

Примеры

Пример #1 QuickHashIntHash::getSize() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->add( 2 ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
int(2)

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash


This factory method creates a hash from a file

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — This factory method creates a hash from a file

Описание

public static QuickHashIntHash QuickHashIntHash::loadFromFile ( string $filename [, integer $options ] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x11\0', the number of elements as a 32 bit signed integer in system Endianness, followed by 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each hash element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key. An example could be:

Пример #1 QuickHash IntHash file format

00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
00000010  03 00 00 00 09 00 00 00                           |........|
00000018

Пример #2 QuickHash IntHash file format

header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
00000000  51 48 11 00

number of elements:
00000004  02 00 00 00

data string:
00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

key/value 1 (key = 1, value = 1)
01 00 00 00  01 00 00 00

key/value 2 (key = 3, value = 9)
03 00 00 00  09 00 00 00

Список параметров

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashIntHash.

Примеры

Пример #3 QuickHashIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
    $file,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash


This factory method creates a hash from a string

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromString — This factory method creates a hash from a string

Описание

public static QuickHashIntHash QuickHashIntHash::loadFromString ( string $contents [, integer $options ] )

This factory method creates a new hash from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key.

Список параметров

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashIntHash.

Примеры

Пример #1 QuickHashIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntHash::loadFromString(
    $contents,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash


This method stores an in-memory hash to disk

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk

Описание

public void QuickHashIntHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Список параметров

filename

The filename of the file to store the hash in.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 QuickHashIntHash::saveToFile() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 43 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 52 ) );

$hash->saveToFile( '/tmp/test.hash' );
?>

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash


This method returns a serialized version of the hash

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToString — This method returns a serialized version of the hash

Описание

public string QuickHashIntHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Возвращаемые значения

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Примеры

Пример #1 QuickHashIntHash::saveToString() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 34 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 55 ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash
PHP Manual

QuickHashIntHash::set

(PECL quickhash >= Unknown)

QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Описание

public boolean QuickHashIntHash::set ( integer $key , integer $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add or update.

value

The new value to set the entry with.

Возвращаемые значения

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Примеры

Пример #1 QuickHashIntHash::set() example

<?php
$hash = new QuickHashIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, 16091 ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, 29906 ) );
var_dump( $hash->get( 46692 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash


This method updates an entry in the hash with a new value

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash
PHP Manual

QuickHashIntHash::update

(PECL quickhash >= Unknown)

QuickHashIntHash::update — This method updates an entry in the hash with a new value

Описание

public boolean QuickHashIntHash::update ( integer $key , integer $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add.

value

The new value to update the entry with.

Возвращаемые значения

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Примеры

Пример #1 QuickHashIntHash::update() example

<?php
$hash = new QuickHashIntHash( 1024 );

var_dump( $hash->add( 141421, 173205 ) );
var_dump( $hash->update( 141421, 223606 ) );
var_dump( $hash->get( 141421 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
int(223606)

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash


The QuickHashStringIntHash class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class wraps around a hash containing strings, where the values are integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Обзор классов

QuickHashStringIntHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
/* Methods */
public boolean add ( string $key , int $value )
__construct ( integer $size [, integer $options ] )
public boolean delete ( string $key )
public boolean exists ( string $key )
public integer get ( string $key )
public integer getSize ( void )
public static QuickHashStringIntHash loadFromFile ( string $filename [, integer $options ] )
public static QuickHashStringIntHash loadFromString ( string $contents [, integer $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public boolean set ( string $key , int $value )
public boolean update ( string $key , integer $value )
}

Предопределенные константы

QuickHashStringIntHash Node Types

QuickHashStringIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

Содержание

  • QuickHashStringIntHash::add — This method adds a new entry to the hash
  • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
  • QuickHashStringIntHash::delete — This method deletes am entry from the hash
  • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
  • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
QuickHashIntHash::update
QuickHashStringIntHash::add
Quickhash


This method adds a new entry to the hash

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::add

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::add — This method adds a new entry to the hash

Описание

public boolean QuickHashStringIntHash::add ( string $key , int $value )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Список параметров

key

The key of the entry to add.

value

The value of the entry to add.

Возвращаемые значения

TRUE when the entry was added, and FALSE if the entry was not added.

Примеры

Пример #1 QuickHashStringIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 22 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 78 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 9 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

without dupe checking
object(QuickHashStringIntHash)#1 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
object(QuickHashStringIntHash)#2 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash


Creates a new QuickHashStringIntHash object

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::__construct

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object

Описание

QuickHashStringIntHash::__construct ( integer $size [, integer $options ] )

This constructor creates a new QuickHashStringIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Список параметров

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash and QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager.

Возвращаемые значения

Returns a new QuickHashStringIntHash object.

Примеры

Пример #1 QuickHashStringIntHash::__construct() example

<?php
var_dump( new QuickHashStringIntHash( 1024 ) );
var_dump( new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ) );
?>

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash


This method deletes am entry from the hash

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::delete

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::delete — This method deletes am entry from the hash

Описание

public boolean QuickHashStringIntHash::delete ( string $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Список параметров

key

The key of the entry to delete.

Возвращаемые значения

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Примеры

Пример #1 QuickHashStringIntHash::delete() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->add( 'four', 5 ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
int(5)
bool(true)
bool(false)
bool(false)
bool(false)

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash


This method checks whether a key is part of the hash

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::exists

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::exists — This method checks whether a key is part of the hash

Описание

public boolean QuickHashStringIntHash::exists ( string $key )

This method checks whether an entry with the provided key exists in the hash.

Список параметров

key

The key of the entry to check for whether it exists in the hash.

Возвращаемые значения

Returns TRUE when the entry was found, or FALSE when the entry is not found.

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash


This method retrieves a value from the hash by its key

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::get

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::get — This method retrieves a value from the hash by its key

Описание

public integer QuickHashStringIntHash::get ( string $key )

This method retrieves a value from the hash by its key.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The value if the key exists, or NULL if the key wasn't part of the hash.

Примеры

Пример #1 QuickHashStringIntHash::get() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->get( "one" ) );

var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->get( "two" ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
int(2)

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash


Returns the number of elements in the hash

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::getSize

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::getSize — Returns the number of elements in the hash

Описание

public integer QuickHashStringIntHash::getSize ( void )

Returns the number of elements in the hash.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The number of elements in the hash.

Примеры

Пример #1 QuickHashStringIntHash::getSize() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->add( "three", 5 ) );
var_dump( $hash->getSize() );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
int(2)

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash


This factory method creates a hash from a file

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromFile

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file

Описание

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromFile ( string $filename [, integer $options ] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x21\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. The follows another signed 32 bit integer containing the number of bucket lists. After the header and the strings, the elements follow. They are ordered by bucket list so that the keys don't have to be hashed in order to restore the hash. For each bucket list, the following information is stored (all as 32 bit integers): the bucket list index, the number of elements in that list, and then in pairs of two unsigned 32 bit integers the elements, where the first one is the index into the string list containing the keys, and the second one the value. An example could be:

Пример #1 QuickHash StringIntHash file format

<![CDATA[00000000  51 48 21 00 02 00 00 00  09 00 00 00 40 00 00 00  |QH!.........@...|
00000010  4f 4e 45 00 4e 49 4e 45  00 07 00 00 00 01 00 00  |ONE.NINE........|
00000020  00 00 00 00 00 01 00 00  00 2f 00 00 00 01 00 00  |........./......|
00000030  00 04 00 00 00 03 00 00  00                       |.........|
00000039

Пример #2 QuickHash IntHash file format

header signature ('QH'; key type: 2; value type: 1; filler: \0x00)
00000000  51 48 21 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

number of hash bucket lists (this is configured for hashes as argument to the
constructor normally, 64 in this case):
0000000C  40 00 00 00

string values:
00000010  4f 4e 45 00 4e 49 4e 45  00

bucket lists:
  bucket list 1 (with key 7, and 1 element):
    header:
    07 00 00 00 01 00 00 00
    elements (key index: 0 ('ONE'), value = 0):
    00 00 00 00 01 00 00 00
  bucket list 2 (with key 0x2f, and 1 element):
    header:
    2f 00 00 00 01 00 00 00
    elements (key index: 4 ('NINE'), value = 3):
    04 00 00 00 03 00 00 00

Список параметров

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is read from the file format (unlike the QuickHashIntHash and QuickHashIntStringHash classes, where it is automatically calculated from the number of entries in the hash.)

Возвращаемые значения

Returns a new QuickHashStringIntHash.

Примеры

Пример #3 QuickHashStringIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash.string";
$hash = QuickHashStringIntHash::loadFromFile(
    $file,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash


This factory method creates a hash from a string

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromString

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string

Описание

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromString ( string $contents [, integer $options ] )

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Список параметров

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashStringIntHash.

Примеры

Пример #1 QuickHashStringIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash.string" );
$hash = QuickHashStringIntHash::loadFromString(
    $contents,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash


This method stores an in-memory hash to disk

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToFile

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk

Описание

public void QuickHashStringIntHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Список параметров

filename

The filename of the file to store the hash in.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 QuickHashStringIntHash::saveToFile() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

$hash->saveToFile( '/tmp/test.hash.string' );
?>

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash


This method returns a serialized version of the hash

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToString

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash

Описание

public string QuickHashStringIntHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Возвращаемые значения

This method returns a serialized format of an existing hash, in the same format that loadFromString() can read.

Примеры

Пример #1 QuickHashStringIntHash::saveToString() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

var_dump( $hash->saveToString() );
?>

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::set

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Описание

public boolean QuickHashStringIntHash::set ( string $key , int $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Возвращаемые значения

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Примеры

Пример #1 QuickHashStringIntHash::set() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 16091 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );

echo "Set->Update\n";
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 29906 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
?>

Результатом выполнения данного примера будет что-то подобное:

Set->Add
bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash


This method updates an entry in the hash with a new value

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::update

(Информация о версии неизвестна, возможно, только в SVN)

QuickHashStringIntHash::update — This method updates an entry in the hash with a new value

Описание

public boolean QuickHashStringIntHash::update ( string $key , integer $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Возвращаемые значения

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Примеры

Пример #1 QuickHashStringIntHash::update() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

$hash->add( 'six', 314159265 );
$hash->add( "a lot", 314159265 );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";

var_dump( $hash->update( 'a lot', 314159266 ) );
var_dump( $hash->update( "a lot plus one", 314159999 ) );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

314159265
314159265
bool(true)
bool(false)
314159265
314159266

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash


The QuickHashIntStringHash class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This class wraps around a hash containing integer numbers, where the values are strings. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Обзор классов

QuickHashIntStringHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public boolean add ( integer $key , string $value )
__construct ( integer $size [, integer $options ] )
public boolean delete ( integer $key )
public boolean exists ( integer $key )
public integer get ( integer $key )
public integer getSize ( void )
public static QuickHashIntStringHash loadFromFile ( string $filename [, integer $options ] )
public static QuickHashIntStringHash loadFromString ( string $contents [, integer $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public boolean set ( integer $key , string $value )
public boolean update ( integer $key , string $value )
}

Предопределенные константы

QuickHashIntStringHash Node Types

QuickHashIntStringHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntStringHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntStringHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntStringHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Содержание

  • QuickHashIntStringHash::add — This method adds a new entry to the hash
  • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
  • QuickHashIntStringHash::delete — This method deletes am entry from the hash
  • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
  • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value
QuickHashStringIntHash::update
QuickHashIntStringHash::add
Quickhash


This method adds a new entry to the hash

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::add

(PECL quickhash >= Unknown)

QuickHashIntStringHash::add — This method adds a new entry to the hash

Описание

public boolean QuickHashIntStringHash::add ( integer $key , string $value )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash was created.

Список параметров

key

The key of the entry to add.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Возвращаемые значения

TRUE when the entry was added, and FALSE if the entry was not added.

Примеры

Пример #1 QuickHashIntStringHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twenty two" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twelve" ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "seventy eight" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "nine" ) );
?>

Результатом выполнения данного примера будет что-то подобное:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(10) "twenty two"
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(13) "seventy eight"
bool(false)

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash


Creates a new QuickHashIntStringHash object

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object

Описание

QuickHashIntStringHash::__construct ( integer $size [, integer $options ] )

This constructor creates a new QuickHashIntStringHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Список параметров

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntStringHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntStringHash::HASHER_NO_HASH, QuickHashIntStringHash::HASHER_JENKINS1 or QuickHashIntStringHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Возвращаемые значения

Returns a new QuickHashIntStringHash object.

Примеры

Пример #1 QuickHashIntStringHash::__construct() example

<?php
var_dump( new QuickHashIntStringHash( 1024 ) );
var_dump( new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntStringHash(
        1024,
        QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash


This method deletes am entry from the hash

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::delete

(PECL quickhash >= Unknown)

QuickHashIntStringHash::delete — This method deletes am entry from the hash

Описание

public boolean QuickHashIntStringHash::delete ( integer $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Список параметров

key

The key of the entry to delete.

Возвращаемые значения

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Примеры

Пример #1 QuickHashIntStringHash::delete() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "five" ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash


This method checks whether a key is part of the hash

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::exists

(PECL quickhash >= Unknown)

QuickHashIntStringHash::exists — This method checks whether a key is part of the hash

Описание

public boolean QuickHashIntStringHash::exists ( integer $key )

This method checks whether an entry with the provided key exists in the hash.

Список параметров

key

The key of the entry to check for whether it exists in the hash.

Возвращаемые значения

Returns TRUE when the entry was found, or FALSE when the entry is not found.

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash


This method retrieves a value from the hash by its key

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::get

(PECL quickhash >= Unknown)

QuickHashIntStringHash::get — This method retrieves a value from the hash by its key

Описание

public integer QuickHashIntStringHash::get ( integer $key )

This method retrieves a value from the hash by its key.

Список параметров

key

The key of the entry to add.

Возвращаемые значения

The value if the key exists, or NULL if the key wasn't part of the hash.

Примеры

Пример #1 QuickHashIntStringHash::get() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(false)
bool(true)
string(3) "two"
bool(true)
string(1) "5"

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash


Returns the number of elements in the hash

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntStringHash::getSize — Returns the number of elements in the hash

Описание

public integer QuickHashIntStringHash::getSize ( void )

Returns the number of elements in the hash.

Возвращаемые значения

The number of elements in the hash.

Примеры

Пример #1 QuickHashIntStringHash::getSize() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
int(2)

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash


This factory method creates a hash from a file

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file

Описание

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromFile ( string $filename [, integer $options ] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x12\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. After the header and the strings, the elements follow in pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index in the the element data string. An example could be:

Пример #1 QuickHash IntString file format

00000000  51 48 12 00 02 00 00 00  09 00 00 00 4f 4e 45 00  |QH..........ONE.|
00000010  4e 49 4e 45 00 01 00 00  00 00 00 00 00 03 00 00  |NINE............|
00000020  00 04 00 00 00                                    |.....|
00000025

Пример #2 QuickHash IntString file format

header signature ('QH'; key type: 1; value type: 2; filler: \0x00)
00000000  51 48 12 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

string values:
0000000C  4f 4e 45 00 4e 49 4e 45  00

data string:
00000015  01 00 00 00 00 00 00 00  03 00 00 00 04 00 00 00

key/value 1 (key = 1, string index = 0 ("ONE")):
01 00 00 00  00 00 00 00

key/value 2 (key = 3, string index = 4 ("NINE")):
03 00 00 00  04 00 00 00

Список параметров

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashIntStringHash.

Примеры

Пример #3 QuickHashIntStringHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
    $file,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash


This factory method creates a hash from a string

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string

Описание

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromString ( string $contents [, integer $options ] )

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Список параметров

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Возвращаемые значения

Returns a new QuickHashIntStringHash.

Примеры

Пример #1 QuickHashIntStringHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntStringHash::loadFromString(
    $contents,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash


This method stores an in-memory hash to disk

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk

Описание

public void QuickHashIntStringHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Список параметров

filename

The filename of the file to store the hash in.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 QuickHashIntStringHash::saveToFile() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fourty three" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fifty two" ) );

$hash->saveToFile( '/tmp/test.string.hash' );
?>

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash


This method returns a serialized version of the hash

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash

Описание

public string QuickHashIntStringHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Возвращаемые значения

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Примеры

Пример #1 QuickHashIntStringHash::saveToString() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "thirty four" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 5, "fifty five" ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::set

(PECL quickhash >= Unknown)

QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Описание

public boolean QuickHashIntStringHash::set ( integer $key , string $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Возвращаемые значения

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Примеры

Пример #1 QuickHashIntStringHash::set() example

<?php
$hash = new QuickHashIntStringHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) );
var_dump( $hash->get( 46692 ) );
?>

Результатом выполнения данного примера будет что-то подобное:

Set->Add
bool(false)
int(2)
string(27) "sixteen thousand ninety one"
Set->Update
int(1)
string(37) "twenty nine thousand nine hundred six"

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash


This method updates an entry in the hash with a new value

QuickHashIntStringHash::set
Reflection
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::update

(PECL quickhash >= Unknown)

QuickHashIntStringHash::update — This method updates an entry in the hash with a new value

Описание

public boolean QuickHashIntStringHash::update ( integer $key , string $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Список параметров

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Возвращаемые значения

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Примеры

Пример #1 QuickHashIntStringHash::update() example

<?php
$hash->add( 161803398, "--" );
$hash->add( 314159265, "a lot" );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";

var_dump( $hash->update( 314159265, "a lot plus one" ) );
var_dump( $hash->update( 314159999, "a lot plus one" ) );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

--
a lot
bool(true)
bool(false)
--
a lot plus one

QuickHashIntStringHash::set
Reflection
QuickHashIntStringHash


Reflection

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Расширение
  • Reflection — Класс Reflection
    • Reflection::export — Экспортирует Reflection
    • Reflection::getModifierNames — Gets modifier names
  • ReflectionClass — Класс ReflectionClass
    • ReflectionClass::__clone — Клонирует объект
    • ReflectionClass::__construct — Создаёт объект класса ReflectionClass
    • ReflectionClass::export — Экспортирует класс
    • ReflectionClass::getConstant — Возвращает определенную константу
    • ReflectionClass::getConstants — Возвращает константы
    • ReflectionClass::getConstructor — Возвращает конструктор
    • ReflectionClass::getDefaultProperties — Возвращает свойства по умолчанию
    • ReflectionClass::getDocComment — Возвращает doc-блоки комментариев
    • ReflectionClass::getEndLine — Возвращает номер последней строки
    • ReflectionClass::getExtension — Возвращает информацию о расширении
    • ReflectionClass::getExtensionName — Возвращает имя расширения
    • ReflectionClass::getFileName — Возвращает имя файла, в котором объявлен класс
    • ReflectionClass::getInterfaceNames — Возвращает имена интерфейсов
    • ReflectionClass::getInterfaces — Возвращает интерфейсы
    • ReflectionClass::getMethod — Возвращает объект класса ReflectionMethod
    • ReflectionClass::getMethods — Возвращает список методов
    • ReflectionClass::getModifiers — Возвращает информацию о модификаторах класса
    • ReflectionClass::getName — Возвращает имя класса
    • ReflectionClass::getNamespaceName — Возвращает название пространства имён
    • ReflectionClass::getParentClass — Возвращает родительский класс
    • ReflectionClass::getProperties — Возвращает свойства
    • ReflectionClass::getProperty — Возвращает свойство
    • ReflectionClass::getShortName — Возвращает короткое имя
    • ReflectionClass::getStartLine — Возвращает номер начальной строки
    • ReflectionClass::getStaticProperties — Возвращает static свойства
    • ReflectionClass::getStaticPropertyValue — Возвращает значение static свойства
    • ReflectionClass::getTraitAliases — Возвращает массив trait-псевдонимов
    • ReflectionClass::getTraitNames — Возвращает массив trait-имён, задействованных в этом классе
    • ReflectionClass::getTraits — Возвращает массив traits, задействованных в этом классе
    • ReflectionClass::hasConstant — Проверяет, задана ли константа
    • ReflectionClass::hasMethod — Проверяет, задан ли метод
    • ReflectionClass::hasProperty — Проверяет, задано ли свойство
    • ReflectionClass::implementsInterface — Проверяет, реализуется ли интерфейс
    • ReflectionClass::inNamespace — Проверяет, определён ли класс в пространстве имён
    • ReflectionClass::isAbstract — Проверяет, является ли класс абстрактным
    • ReflectionClass::isCloneable — Проверяет, можно ли клонировать этот класс
    • ReflectionClass::isFinal — Проверяет, является ли класс окончательным (final)
    • ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
    • ReflectionClass::isInstantiable — Проверяет, можно ли создать экземпляр класса
    • ReflectionClass::isInterface — Проверяет, является ли класс интерфейсом
    • ReflectionClass::isInternal — Проверяет, является ли класс встроенным
    • ReflectionClass::isIterateable — Проверяет, является ли класс итерируемым
    • ReflectionClass::isSubclassOf — Проверяет, является ли класс подклассом
    • ReflectionClass::isTrait — Проверяет, является ли класс trait
    • ReflectionClass::isUserDefined — Проверяет, является ли класс пользовательским
    • ReflectionClass::newInstance — Создаёт экземпляр класса с переданными аргументами
    • ReflectionClass::newInstanceArgs — Создаёт экземпляр класса с переданными параметрами
    • ReflectionClass::newInstanceWithoutConstructor — Создаёт новый экземпляр класса без вызова конструктора
    • ReflectionClass::setStaticPropertyValue — Устанавливает значение static-свойства
    • ReflectionClass::__toString — Возвращает строковое представление объекта класса ReflectionClass
  • ReflectionExtension — Класс ReflectionExtension
    • ReflectionExtension::__clone — Клонирует объект
    • ReflectionExtension::__construct — Создаёт объект класса ReflectionExtension
    • ReflectionExtension::export — Экспортирует модуль
    • ReflectionExtension::getClasses — Возвращает классы
    • ReflectionExtension::getClassNames — Gets class names
    • ReflectionExtension::getConstants — Gets constants
    • ReflectionExtension::getDependencies — Gets dependencies
    • ReflectionExtension::getFunctions — Gets extension functions
    • ReflectionExtension::getINIEntries — Gets extension ini entries
    • ReflectionExtension::getName — Gets extension name
    • ReflectionExtension::getVersion — Gets extension version
    • ReflectionExtension::info — Print extension info
    • ReflectionExtension::isPersistent — Returns whether this extension is persistent
    • ReflectionExtension::isTemporary — Returns whether this extension is temporary
    • ReflectionExtension::__toString — To string
  • ReflectionFunction — Класс ReflectionFunction
    • ReflectionFunction::__construct — Constructs a ReflectionFunction object
    • ReflectionFunction::export — Exports function
    • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
    • ReflectionFunction::invoke — Invokes function
    • ReflectionFunction::invokeArgs — Invokes function args
    • ReflectionFunction::isDisabled — Checks if function is disabled
    • ReflectionFunction::__toString — To string
  • ReflectionFunctionAbstract — Класс ReflectionFunctionAbstract
    • ReflectionFunctionAbstract::__clone — Clones function
    • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getDocComment — Gets doc comment
    • ReflectionFunctionAbstract::getEndLine — Gets end line number
    • ReflectionFunctionAbstract::getExtension — Gets extension info
    • ReflectionFunctionAbstract::getExtensionName — Gets extension name
    • ReflectionFunctionAbstract::getFileName — Gets file name
    • ReflectionFunctionAbstract::getName — Gets function name
    • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
    • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
    • ReflectionFunctionAbstract::getParameters — Gets parameters
    • ReflectionFunctionAbstract::getShortName — Gets function short name
    • ReflectionFunctionAbstract::getStartLine — Gets starting line number
    • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
    • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
    • ReflectionFunctionAbstract::isClosure — Checks if closure
    • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
    • ReflectionFunctionAbstract::isInternal — Checks if is internal
    • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
    • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
    • ReflectionFunctionAbstract::__toString — To string
  • ReflectionMethod — Класс ReflectionMethod
    • ReflectionMethod::__construct — Constructs a ReflectionMethod
    • ReflectionMethod::export — Export a reflection method.
    • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.
    • ReflectionMethod::getModifiers — Gets the method modifiers
    • ReflectionMethod::getPrototype — Gets the method prototype (if there is one).
    • ReflectionMethod::invoke — Invoke
    • ReflectionMethod::invokeArgs — Invoke args
    • ReflectionMethod::isAbstract — Checks if method is abstract
    • ReflectionMethod::isConstructor — Checks if method is a constructor
    • ReflectionMethod::isDestructor — Checks if method is a destructor
    • ReflectionMethod::isFinal — Checks if method is final
    • ReflectionMethod::isPrivate — Checks if method is private
    • ReflectionMethod::isProtected — Checks if method is protected
    • ReflectionMethod::isPublic — Checks if method is public
    • ReflectionMethod::isStatic — Checks if method is static
    • ReflectionMethod::setAccessible — Set method accessibility
    • ReflectionMethod::__toString — Returns the string representation of the Reflection method object.
  • ReflectionObject — Класс ReflectionObject
    • ReflectionObject::__construct — Constructs a ReflectionObject
    • ReflectionObject::export — Export
  • ReflectionParameter — Класс ReflectionParameter
    • ReflectionParameter::allowsNull — Checks if null is allowed
    • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
    • ReflectionParameter::__clone — Clone
    • ReflectionParameter::__construct — Construct
    • ReflectionParameter::export — Exports
    • ReflectionParameter::getClass — Get class
    • ReflectionParameter::getDeclaringClass — Gets declaring class
    • ReflectionParameter::getDeclaringFunction — Gets declaring function
    • ReflectionParameter::getDefaultValue — Gets default parameter value
    • ReflectionParameter::getName — Gets parameter name
    • ReflectionParameter::getPosition — Gets parameter position
    • ReflectionParameter::isArray — Checks if parameter expects an array
    • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
    • ReflectionParameter::isOptional — Checks if optional
    • ReflectionParameter::isPassedByReference — Checks if passed by reference
    • ReflectionParameter::__toString — To string
  • ReflectionProperty — Класс ReflectionProperty
    • ReflectionProperty::__clone — Clone
    • ReflectionProperty::__construct — Construct a ReflectionProperty object
    • ReflectionProperty::export — Export
    • ReflectionProperty::getDeclaringClass — Gets declaring class
    • ReflectionProperty::getDocComment — Gets doc comment
    • ReflectionProperty::getModifiers — Gets modifiers
    • ReflectionProperty::getName — Gets property name
    • ReflectionProperty::getValue — Gets value
    • ReflectionProperty::isDefault — Checks if default value
    • ReflectionProperty::isPrivate — Checks if property is private
    • ReflectionProperty::isProtected — Checks if property is protected
    • ReflectionProperty::isPublic — Checks if property is public
    • ReflectionProperty::isStatic — Checks if property is static
    • ReflectionProperty::setAccessible — Set property accessibility
    • ReflectionProperty::setValue — Set property value
    • ReflectionProperty::__toString — To string
  • Reflector — Интерфейс Reflector
    • Reflector::export — Exports
    • Reflector::__toString — To string
  • ReflectionException — Класс ReflectionException
QuickHashIntStringHash::update
Введение
Расширения, относящиеся к переменным и типам


Введение

PHP 5 включает в себя полноценный Reflection API, который предоставляет возможность проводить реверс-инжиниринг реверс-инжиниринг классов, интерфейсов, функций, методов и модулей. Кроме того, Reflection API позволяет получать doc-блоки комментариев функций, классов и методов.

Обратите внимание, что определённая часть внутреннего API не содержит кода, который необходим для работы модуля Reflection. Например, внутренний PHP-класс может не иметь reflection-данных для своих свойств. Однако это известные ошибки и впоследствии такие классы будут исправлены.

Reflection
Установка и настройка
Reflection


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Reflection


Предопределенные константы

Каждый класс описывает свои собственные константы.

Типы ресурсов
Примеры
Reflection


Примеры

В документации по Reflection вы сможете встретить множество примеров, чаще всего в описании конструкторов классов.

Пример #1 Пример использования Reflection из shell (Терминала)

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

Результатом выполнения данного примера будет что-то подобное:

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled
Предопределенные константы
Расширение
Reflection


Расширение

Если вам нужна специализированная версия встроенного класса (который, например, сможет генерировать цветной HTML при экспорте, будет иметь легкодоступные свойства вместо методов или же какие-нибудь вспомогательные методы), то можете просто взять и расширить его.

Пример #1 Расширение встроенных классов

<?php
/**
 * Мой Reflection_Method класс
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Демо-класс #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Демо-класс #2
 *
 */
class U extends T {
    function x() {}
}

// Выведем информацию о методе
var_dump(new My_Reflection_Method('U', 'x'));
?>

Результатом выполнения данного примера будет что-то подобное:

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Предостережение

Когда вы переопределяете конструктор, обязательно не забудьте вызвать родительский конструктор до любого добавленного вами кода. Если так не делать, то вы можете получить сообщение об ошибке вида: Fatal error: Internal error: Failed to retrieve the reflection object

Примеры
Reflection
Reflection


Класс Reflection

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс Reflection.

Обзор классов

Reflection {
/* Методы */
public static void export ( Reflector $reflector [, bool $return = false ] )
public static array getModifierNames ( int $modifiers )
}

Содержание

  • Reflection::export — Экспортирует Reflection
  • Reflection::getModifierNames — Gets modifier names
Расширение
Reflection::export
Reflection


Экспортирует Reflection

Reflection
Reflection::getModifierNames
Reflection
PHP Manual

Reflection::export

(PHP 5)

Reflection::export — Экспортирует Reflection

Описание

public static void Reflection::export ( Reflector $reflector [, bool $return = false ] )

Экспортирует Reflection.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

reflector

Экспортируемый объект Reflection.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • Reflection::getModifierNames() - Gets modifier names

Reflection
Reflection::getModifierNames
Reflection


Gets modifier names

Reflection::export
ReflectionClass
Reflection
PHP Manual

Reflection::getModifierNames

(PHP 5)

Reflection::getModifierNames — Gets modifier names

Описание

public static array Reflection::getModifierNames ( int $modifiers )

Gets modifier names.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

modifiers

The modifiers to get, which is from a numeric value.

Возвращаемые значения

An array of modifier names.

Смотрите также

  • Reflection::export() - Экспортирует Reflection

Reflection::export
ReflectionClass
Reflection


Класс ReflectionClass

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionClass сообщает информацию о классе.

Обзор классов

ReflectionClass implements Reflector {
/* Константы */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Свойства */
public $ReflectionClass->name ;
/* Методы */
final private void ReflectionClass::__clone ( void )
ReflectionClass::__construct ( mixed $argument )
public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )
public mixed ReflectionClass::getConstant ( string $name )
public array ReflectionClass::getConstants ( void )
public object ReflectionClass::getConstructor ( void )
public array ReflectionClass::getDefaultProperties ( void )
public string ReflectionClass::getDocComment ( void )
public int ReflectionClass::getEndLine ( void )
public ReflectionExtension ReflectionClass::getExtension ( void )
public string ReflectionClass::getExtensionName ( void )
public string ReflectionClass::getFileName ( void )
public array ReflectionClass::getInterfaceNames ( void )
public array ReflectionClass::getInterfaces ( void )
public ReflectionMethod ReflectionClass::getMethod ( string $name )
public array ReflectionClass::getMethods ([ string $filter ] )
public int ReflectionClass::getModifiers ( void )
public string ReflectionClass::getName ( void )
public string ReflectionClass::getNamespaceName ( void )
public object ReflectionClass::getParentClass ( void )
public array ReflectionClass::getProperties ([ int $filter ] )
public ReflectionProperty ReflectionClass::getProperty ( string $name )
public string ReflectionClass::getShortName ( void )
public int ReflectionClass::getStartLine ( void )
public array ReflectionClass::getStaticProperties ( void )
public mixed ReflectionClass::getStaticPropertyValue ( string $name [, string $default ] )
public array ReflectionClass::getTraitAliases ( void )
public array ReflectionClass::getTraitNames ( void )
public array ReflectionClass::getTraits ( void )
public bool ReflectionClass::hasConstant ( string $name )
public bool ReflectionClass::hasMethod ( string $name )
public bool ReflectionClass::hasProperty ( string $name )
public bool ReflectionClass::implementsInterface ( string $interface )
public bool ReflectionClass::inNamespace ( void )
public bool ReflectionClass::isAbstract ( void )
public bool ReflectionClass::isCloneable ( void )
public bool ReflectionClass::isFinal ( void )
public bool ReflectionClass::isInstance ( object $object )
public bool ReflectionClass::isInstantiable ( void )
public bool ReflectionClass::isInterface ( void )
public bool ReflectionClass::isInternal ( void )
public bool ReflectionClass::isIterateable ( void )
public bool ReflectionClass::isSubclassOf ( string $class )
public bool ReflectionClass::isTrait ( void )
public bool ReflectionClass::isUserDefined ( void )
public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )
public object ReflectionClass::newInstanceArgs ([ array $args ] )
public object ReflectionClass::newInstanceWithoutConstructor ( void )
public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )
public string ReflectionClass::__toString ( void )
}

Свойства

name

Описание свойства

Предопределенные константы

Типы узлов ReflectionClass

ReflectionClass::IS_IMPLICIT_ABSTRACT

ReflectionClass::IS_EXPLICIT_ABSTRACT

ReflectionClass::IS_FINAL

Содержание

  • ReflectionClass::__clone — Клонирует объект
  • ReflectionClass::__construct — Создаёт объект класса ReflectionClass
  • ReflectionClass::export — Экспортирует класс
  • ReflectionClass::getConstant — Возвращает определенную константу
  • ReflectionClass::getConstants — Возвращает константы
  • ReflectionClass::getConstructor — Возвращает конструктор
  • ReflectionClass::getDefaultProperties — Возвращает свойства по умолчанию
  • ReflectionClass::getDocComment — Возвращает doc-блоки комментариев
  • ReflectionClass::getEndLine — Возвращает номер последней строки
  • ReflectionClass::getExtension — Возвращает информацию о расширении
  • ReflectionClass::getExtensionName — Возвращает имя расширения
  • ReflectionClass::getFileName — Возвращает имя файла, в котором объявлен класс
  • ReflectionClass::getInterfaceNames — Возвращает имена интерфейсов
  • ReflectionClass::getInterfaces — Возвращает интерфейсы
  • ReflectionClass::getMethod — Возвращает объект класса ReflectionMethod
  • ReflectionClass::getMethods — Возвращает список методов
  • ReflectionClass::getModifiers — Возвращает информацию о модификаторах класса
  • ReflectionClass::getName — Возвращает имя класса
  • ReflectionClass::getNamespaceName — Возвращает название пространства имён
  • ReflectionClass::getParentClass — Возвращает родительский класс
  • ReflectionClass::getProperties — Возвращает свойства
  • ReflectionClass::getProperty — Возвращает свойство
  • ReflectionClass::getShortName — Возвращает короткое имя
  • ReflectionClass::getStartLine — Возвращает номер начальной строки
  • ReflectionClass::getStaticProperties — Возвращает static свойства
  • ReflectionClass::getStaticPropertyValue — Возвращает значение static свойства
  • ReflectionClass::getTraitAliases — Возвращает массив trait-псевдонимов
  • ReflectionClass::getTraitNames — Возвращает массив trait-имён, задействованных в этом классе
  • ReflectionClass::getTraits — Возвращает массив traits, задействованных в этом классе
  • ReflectionClass::hasConstant — Проверяет, задана ли константа
  • ReflectionClass::hasMethod — Проверяет, задан ли метод
  • ReflectionClass::hasProperty — Проверяет, задано ли свойство
  • ReflectionClass::implementsInterface — Проверяет, реализуется ли интерфейс
  • ReflectionClass::inNamespace — Проверяет, определён ли класс в пространстве имён
  • ReflectionClass::isAbstract — Проверяет, является ли класс абстрактным
  • ReflectionClass::isCloneable — Проверяет, можно ли клонировать этот класс
  • ReflectionClass::isFinal — Проверяет, является ли класс окончательным (final)
  • ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
  • ReflectionClass::isInstantiable — Проверяет, можно ли создать экземпляр класса
  • ReflectionClass::isInterface — Проверяет, является ли класс интерфейсом
  • ReflectionClass::isInternal — Проверяет, является ли класс встроенным
  • ReflectionClass::isIterateable — Проверяет, является ли класс итерируемым
  • ReflectionClass::isSubclassOf — Проверяет, является ли класс подклассом
  • ReflectionClass::isTrait — Проверяет, является ли класс trait
  • ReflectionClass::isUserDefined — Проверяет, является ли класс пользовательским
  • ReflectionClass::newInstance — Создаёт экземпляр класса с переданными аргументами
  • ReflectionClass::newInstanceArgs — Создаёт экземпляр класса с переданными параметрами
  • ReflectionClass::newInstanceWithoutConstructor — Создаёт новый экземпляр класса без вызова конструктора
  • ReflectionClass::setStaticPropertyValue — Устанавливает значение static-свойства
  • ReflectionClass::__toString — Возвращает строковое представление объекта класса ReflectionClass
Reflection::getModifierNames
ReflectionClass::__clone
Reflection


Клонирует объект

ReflectionClass
ReflectionClass::__construct
ReflectionClass
PHP Manual

ReflectionClass::__clone

(PHP 5)

ReflectionClass::__clone — Клонирует объект

Описание

final private void ReflectionClass::__clone ( void )

Клонирует объект.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ReflectionClass::__tostring() - Возвращает строковое представление объекта класса ReflectionClass
  • Клонирование объекта

ReflectionClass
ReflectionClass::__construct
ReflectionClass


Создаёт объект класса ReflectionClass

ReflectionClass::__clone
ReflectionClass::export
ReflectionClass
PHP Manual

ReflectionClass::__construct

(PHP 5)

ReflectionClass::__construct — Создаёт объект класса ReflectionClass

Описание

ReflectionClass::__construct ( mixed $argument )

Создаёт новый объект класса ReflectionClass.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

argument

В качестве аргумента может принимать строку (string), содержащую имя исследуемого класса, либо объект (object).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Простой пример использования ReflectionClass

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

Результатом выполнения данного примера будет что-то подобное:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Смотрите также

  • ReflectionObject::__construct() - Constructs a ReflectionObject
  • Конструкторы

ReflectionClass::__clone
ReflectionClass::export
ReflectionClass


Экспортирует класс

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass
PHP Manual

ReflectionClass::export

(PHP 5)

ReflectionClass::export — Экспортирует класс

Описание

public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )

Экспортирует reflected (отражённый) класс.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

argument

Экспортируемый объект Reflection.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • ReflectionClass::getName() - Возвращает имя класса

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass


Возвращает определенную константу

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass
PHP Manual

ReflectionClass::getConstant

(PHP 5)

ReflectionClass::getConstant — Возвращает определенную константу

Описание

public mixed ReflectionClass::getConstant ( string $name )

Возвращает определенную константу.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Имя константы.

Возвращаемые значения

Значение константы.

Смотрите также

  • ReflectionClass::getConstants() - Возвращает константы

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass


Возвращает константы

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass
PHP Manual

ReflectionClass::getConstants

(PHP 5)

ReflectionClass::getConstants — Возвращает константы

Описание

public array ReflectionClass::getConstants ( void )

Возвращает определённые в классе константы.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Массив (array) констант. Имя константы - ключ, значение константы - значение.

Смотрите также

  • ReflectionClass::getConstant() - Возвращает определенную константу

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass


Возвращает конструктор

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass
PHP Manual

ReflectionClass::getConstructor

(PHP 5)

ReflectionClass::getConstructor — Возвращает конструктор

Описание

public object ReflectionClass::getConstructor ( void )

Возвращает конструктор класса.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Объект класса ReflectionMethod.

Смотрите также

  • ReflectionClass::getName() - Возвращает имя класса

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass


Возвращает свойства по умолчанию

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass
PHP Manual

ReflectionClass::getDefaultProperties

(PHP 5)

ReflectionClass::getDefaultProperties — Возвращает свойства по умолчанию

Описание

public array ReflectionClass::getDefaultProperties ( void )

Возвращает свойства класса по умолчанию (включая наследованные свойства).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Ассоциативный массив (array) свойств по умолчанию, ключами которого являются имена свойств, а значениями -- соответствующие значения по умолчанию или же NULL, если этому свойству не было задано значение по умолчанию. Функция не различает static (статические) и non static (не статические) свойства, а также не предоставляет информацию о модификаторах видимости при выводе.

Примеры

Пример #1 Пример использования ReflectionClass::getDefaultProperties()

<?php
class Bar {
    protected $inheritedProperty = 'наследованное свойство по умолчанию';
}

class Foo extends Bar {
    public $property = 'свойство по умолчанию';
    private $privateProperty = 'закрытое свойство по умолчанию';
    public static $staticProperty = 'статическое свойство';
    public $defaultlessProperty;
}

$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getDefaultProperties());
?>

Результат выполнения данного примера:

array(5) {
   ["staticProperty"]=>
   string(14) "статическое свойство"
   ["property"]=>
   string(15) "свойство по умолчанию"
   ["privateProperty"]=>
   string(22) "закрытое свойство по умолчанию"
   ["defaultlessProperty"]=>
   NULL
   ["inheritedProperty"]=>
   string(16) "наследованное свойство по умолчанию"
}

Смотрите также

  • ReflectionClass::getProperties() - Возвращает свойства
  • ReflectionClass::getStaticProperties() - Возвращает static свойства
  • ReflectionClass::getProperty() - Возвращает свойство

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass


Возвращает doc-блоки комментариев

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass
PHP Manual

ReflectionClass::getDocComment

(PHP 5 >= 5.1.0)

ReflectionClass::getDocComment — Возвращает doc-блоки комментариев

Описание

public string ReflectionClass::getDocComment ( void )

Возвращает doc-блоки комментариев класса.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

doc-блок комментариев, если он существует, в противном случае FALSE

Примеры

Пример #1 Пример использования ReflectionClass::getDocComment()

<?php
/**
* Тестовый класс
*
* @param  foo bar
* @return baz
*/
class TestClass { }

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())
?>

Результат выполнения данного примера:

string(55) "/**
* Тестовый класс
*
* @param  foo bar
* @return baz
*/"

Смотрите также

  • ReflectionClass::getName() - Возвращает имя класса

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass


Возвращает номер последней строки

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass
PHP Manual

ReflectionClass::getEndLine

(PHP 5)

ReflectionClass::getEndLine — Возвращает номер последней строки

Описание

public int ReflectionClass::getEndLine ( void )

Возвращает номер последней строки определения пользовательского класса.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Номер последней строки определения пользовательского класса или FALSE, если номер неизвестен.

Примеры

Пример #1 Пример использования ReflectionClass::getEndLine()

<?php
// Тестовый класс
class TestClass { }

$rc = new ReflectionClass('TestClass');

echo $rc->getEndLine();
?>

Результат выполнения данного примера:

3

Смотрите также

  • ReflectionClass::getStartLine() - Возвращает номер начальной строки

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass


Возвращает информацию о расширении

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass
PHP Manual

ReflectionClass::getExtension

(PHP 5)

ReflectionClass::getExtension — Возвращает информацию о расширении

Описание

public ReflectionExtension ReflectionClass::getExtension ( void )

Возвращает объект расширения класса ReflectionExtension.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Объект класса ReflectionExtension.

Смотрите также

  • ReflectionClass::getExtensionName() - Возвращает имя расширения

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass


Возвращает имя расширения

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass
PHP Manual

ReflectionClass::getExtensionName

(PHP 5)

ReflectionClass::getExtensionName — Возвращает имя расширения

Описание

public string ReflectionClass::getExtensionName ( void )

Возвращает имя расширения.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Имя расширения.

Смотрите также

  • ReflectionClass::getExtension() - Возвращает информацию о расширении

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass


Возвращает имя файла, в котором объявлен класс

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass
PHP Manual

ReflectionClass::getFileName

(PHP 5)

ReflectionClass::getFileName — Возвращает имя файла, в котором объявлен класс

Описание

public string ReflectionClass::getFileName ( void )

Возвращает имя файла, в котором объявлен класс.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает имя файла, в котором объявлен класс. Если класс объявлен в ядре PHP или в расширении PHP, возвращает FALSE.

Смотрите также

  • ReflectionClass::getExtensionName() - Возвращает имя расширения

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass


Возвращает имена интерфейсов

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass
PHP Manual

ReflectionClass::getInterfaceNames

(PHP 5 >= 5.2.0)

ReflectionClass::getInterfaceNames — Возвращает имена интерфейсов

Описание

public array ReflectionClass::getInterfaceNames ( void )

Возвращает имена интерфейсов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Массив имен интерфейсов.

Примеры

Пример #1 Пример использования ReflectionClass::getInterfaceNames()

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Foo
    [1] => Bar
)

Смотрите также

  • ReflectionClass::getInterfaces() - Возвращает интерфейсы

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass


Возвращает интерфейсы

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass
PHP Manual

ReflectionClass::getInterfaces

(PHP 5)

ReflectionClass::getInterfaces — Возвращает интерфейсы

Описание

public array ReflectionClass::getInterfaces ( void )

Возвращает интерфейсы.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Ассоциативный массив (array) интерфейсов, в котором ключами являются имена интерфейсов, а значениями -- объекты ReflectionClass.

Примеры

Пример #1 Пример использования ReflectionClass::getInterfaces()

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Смотрите также

  • ReflectionClass::getInterfaceNames() - Возвращает имена интерфейсов

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass


Возвращает объект класса ReflectionMethod

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass
PHP Manual

ReflectionClass::getMethod

(PHP 5)

ReflectionClass::getMethod — Возвращает объект класса ReflectionMethod

Описание

public ReflectionMethod ReflectionClass::getMethod ( string $name )

Возвращает объект класса ReflectionMethod, содержащий информацию о методе.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Исследуемый метод.

Возвращаемые значения

Объект класса ReflectionMethod.

Смотрите также

  • ReflectionClass::getMethod()

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass


Возвращает список методов

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass
PHP Manual

ReflectionClass::getMethods

(PHP 5)

ReflectionClass::getMethods — Возвращает список методов

Описание

public array ReflectionClass::getMethods ([ string $filter ] )

Возвращает список методов.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

filter

Любая комбинация из следующих констант: ReflectionMethod::IS_STATIC,
ReflectionMethod::IS_PUBLIC,
ReflectionMethod::IS_PROTECTED,
ReflectionMethod::IS_PRIVATE,
ReflectionMethod::IS_ABSTRACT,
ReflectionMethod::IS_FINAL.

Возвращаемые значения

Массив (array) методов.

Смотрите также

  • ReflectionClass::getMethod() - Возвращает объект класса ReflectionMethod

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass


Возвращает информацию о модификаторах класса

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass
PHP Manual

ReflectionClass::getModifiers

(PHP 5)

ReflectionClass::getModifiers — Возвращает информацию о модификаторах класса

Описание

public int ReflectionClass::getModifiers ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionClass::getProperties() - Возвращает свойства

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass


Возвращает имя класса

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass
PHP Manual

ReflectionClass::getName

(PHP 5)

ReflectionClass::getName — Возвращает имя класса

Описание

public string ReflectionClass::getName ( void )

Возвращает имя класса.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Имя класса.

Примеры

Пример #1 Пример использования ReflectionClass::getName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Результат выполнения данного примера:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Смотрите также

  • ReflectionClass::getNamespaceName() - Возвращает название пространства имён

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass


Возвращает название пространства имён

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass
PHP Manual

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionClass::getNamespaceName — Возвращает название пространства имён

Описание

public string ReflectionClass::getNamespaceName ( void )

Возвращает название пространства имён.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Название пространства имён.

Примеры

Пример #1 Пример использования ReflectionClass::getNamespaceName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Результат выполнения данного примера:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Смотрите также

  • ReflectionClass::getParentClass() - Возвращает родительский класс
  • namespaces

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass


Возвращает родительский класс

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass
PHP Manual

ReflectionClass::getParentClass

(PHP 5)

ReflectionClass::getParentClass — Возвращает родительский класс

Описание

public object ReflectionClass::getParentClass ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Объект класса ReflectionClass.

Смотрите также

  • ReflectionClass::__construct() - Создаёт объект класса ReflectionClass

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass


Возвращает свойства

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass
PHP Manual

ReflectionClass::getProperties

(PHP 5)

ReflectionClass::getProperties — Возвращает свойства

Описание

public array ReflectionClass::getProperties ([ int $filter ] )

Возвращает reflected (отражённые) свойства.

Список параметров

filter

Опциональный фильтр, позволяющий возвращать только желаемые типы свойств. Он настраивается с помощью констант ReflectionProperty, по умолчанию позволяет возвращать свойства всех типов.

Возвращаемые значения

Массив объектов класса ReflectionProperty.

Примеры

Пример #1 Пример фильтрации с помощью ReflectionClass::getProperties()

В этом примере демонстрируется использование параметра filter, который в данном случае не пропускает private (закрытые) свойства.

<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
    print $prop->getName() . "\n";
}

var_dump($props);

?>

Результатом выполнения данного примера будет что-то подобное:

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Смотрите также

  • ReflectionClass::getProperty() - Возвращает свойство
  • ReflectionProperty
  • константы ReflectionProperty

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass


Возвращает свойство

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass
PHP Manual

ReflectionClass::getProperty

(PHP 5)

ReflectionClass::getProperty — Возвращает свойство

Описание

public ReflectionProperty ReflectionClass::getProperty ( string $name )

Возвращает свойство.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Имя свойства.

Возвращаемые значения

Объект класса ReflectionProperty.

Смотрите также

  • ReflectionClass::getProperties() - Возвращает свойства

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass


Возвращает короткое имя

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass
PHP Manual

ReflectionClass::getShortName

(PHP 5 >= 5.3.0)

ReflectionClass::getShortName — Возвращает короткое имя

Описание

public string ReflectionClass::getShortName ( void )

Возвращает короткое имя класса, ту часть, которая не относится к названию пространства имён.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Короткое имя класса.

Примеры

Пример #1 Пример использования ReflectionClass::getShortName()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Результат выполнения данного примера:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Смотрите также

  • ReflectionClass::getName() - Возвращает имя класса

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass


Возвращает номер начальной строки

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass
PHP Manual

ReflectionClass::getStartLine

(PHP 5)

ReflectionClass::getStartLine — Возвращает номер начальной строки

Описание

public int ReflectionClass::getStartLine ( void )

Возвращает номер начальной строки.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Номер начальной строки в виде целого числа (integer).

Смотрите также

  • ReflectionClass::getEndLine() - Возвращает номер последней строки

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass


Возвращает static свойства

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::getStaticProperties

(PHP 5)

ReflectionClass::getStaticProperties — Возвращает static свойства

Описание

public array ReflectionClass::getStaticProperties ( void )

Возвращает static (статические) свойства.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Массив (array) static свойств.

Смотрите также

  • ReflectionClass::getStaticPropertyValue() - Возвращает значение static свойства
  • ReflectionClass::setStaticPropertyValue() - Устанавливает значение static-свойства

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass


Возвращает значение static свойства

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass
PHP Manual

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValue — Возвращает значение static свойства

Описание

public mixed ReflectionClass::getStaticPropertyValue ( string $name [, string $default ] )

Возвращает значение static (статического) свойства.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

default

Возвращаемые значения

Смотрите также

  • ReflectionClass::getStaticProperties() - Возвращает static свойства
  • ReflectionClass::setStaticPropertyValue() - Устанавливает значение static-свойства

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass


Возвращает массив trait-псевдонимов

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass
PHP Manual

ReflectionClass::getTraitAliases

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::getTraitAliases — Возвращает массив trait-псевдонимов

Описание

public array ReflectionClass::getTraitAliases ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает ассоциативный массив, ключами которого являются новые имена методов, а в значениями -- оригинальные имена методов (в формате "TraitName::original"). В случае возникновения ошибки возвращает NULL.

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass


Возвращает массив trait-имён, задействованных в этом классе

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass
PHP Manual

ReflectionClass::getTraitNames

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::getTraitNames — Возвращает массив trait-имён, задействованных в этом классе

Описание

public array ReflectionClass::getTraitNames ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает массив, значениями которого являются trait-имена. В случае возникновения ошибки возвращает NULL.

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass


Возвращает массив traits, задействованных в этом классе

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass
PHP Manual

ReflectionClass::getTraits

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::getTraits — Возвращает массив traits, задействованных в этом классе

Описание

public array ReflectionClass::getTraits ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает ассоциативный массив, ключами которого являются имена traits, а значениями -- экземпляры класса ReflectionClass для каждого trait. В случае возникновения ошибки возвращает NULL.

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass


Проверяет, задана ли константа

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass
PHP Manual

ReflectionClass::hasConstant

(PHP 5 >= 5.1.0)

ReflectionClass::hasConstant — Проверяет, задана ли константа

Описание

public bool ReflectionClass::hasConstant ( string $name )

Проверяет, задана ли в классе указанная константа или нет.

Список параметров

name

Имя проверяемой константы.

Возвращаемые значения

TRUE если константа задана, в противном случае FALSE.

Примеры

Пример #1 Пример использования ReflectionClass::hasConstant()

<?php
class Foo {
    const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(false)

Смотрите также

  • ReflectionClass::hasMethod() - Проверяет, задан ли метод
  • ReflectionClass::hasProperty() - Проверяет, задано ли свойство

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass


Проверяет, задан ли метод

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass
PHP Manual

ReflectionClass::hasMethod

(PHP 5 >= 5.1.0)

ReflectionClass::hasMethod — Проверяет, задан ли метод

Описание

public bool ReflectionClass::hasMethod ( string $name )

Проверяет, задан ли в классе указанный метод или нет.

Список параметров

name

Имя проверяемого метода.

Возвращаемые значения

TRUE если метод задан, в противном случае FALSE

Примеры

Пример #1 Пример использования ReflectionClass::hasMethod()

<?php
Class C {
    public function publicFoo() {
        return true;
    }

    protected function protectedFoo() {
        return true;
    }

    private function privateFoo() {
        return true;
    }

    static function staticFoo() {
        return true;
    }
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// C не имеет метода bar
var_dump($rc->hasMethod('bar'));

// Имена методов регистронезависимые
var_dump($rc->hasMethod('PUBLICfOO'));
?>

Результат выполнения данного примера:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Смотрите также

  • ReflectionClass::hasConstant() - Проверяет, задана ли константа
  • ReflectionClass::hasProperty() - Проверяет, задано ли свойство

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass


Проверяет, задано ли свойство

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass
PHP Manual

ReflectionClass::hasProperty

(PHP 5 >= 5.1.0)

ReflectionClass::hasProperty — Проверяет, задано ли свойство

Описание

public bool ReflectionClass::hasProperty ( string $name )

Проверяет, задано ли в классе указанное свойство или нет.

Список параметров

name

Имя проверяемого свойства.

Возвращаемые значения

TRUE если свойство задано, в противном случае FALSE

Примеры

Пример #1 Пример использования ReflectionClass::hasProperty()

<?php
class Foo {
    public    $p1;
    protected $p2;
    private   $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
bool(true)
bool(true)
bool(false)

Смотрите также

  • ReflectionClass::hasConstant() - Проверяет, задана ли константа
  • ReflectionClass::hasMethod() - Проверяет, задан ли метод

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass


Проверяет, реализуется ли интерфейс

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass
PHP Manual

ReflectionClass::implementsInterface

(PHP 5)

ReflectionClass::implementsInterface — Проверяет, реализуется ли интерфейс

Описание

public bool ReflectionClass::implementsInterface ( string $interface )

Проверяет, реализует ли класс указанный интерфейс или нет.

Список параметров

interface

Имя интерфейса.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
  • interface_exists() - Проверяет, определен ли интерфейс
  • Интерфейсы объектов

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass


Проверяет, определён ли класс в пространстве имён

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass
PHP Manual

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0)

ReflectionClass::inNamespace — Проверяет, определён ли класс в пространстве имён

Описание

public bool ReflectionClass::inNamespace ( void )

Проверяет, определён ли класс в пространстве имён.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::inNamespace()

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Результат выполнения данного примера:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Смотрите также

  • ReflectionClass::getNamespaceName() - Возвращает название пространства имён
  • PHP Namespaces

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass


Проверяет, является ли класс абстрактным

ReflectionClass::inNamespace
ReflectionClass::isCloneable
ReflectionClass
PHP Manual

ReflectionClass::isAbstract

(PHP 5)

ReflectionClass::isAbstract — Проверяет, является ли класс абстрактным

Описание

public bool ReflectionClass::isAbstract ( void )

Проверяет, является ли класс абстрактным.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::isAbstract()

<?php
class          TestClass { }
abstract class TestAbstractClass { }

$testClass     = new ReflectionClass('TestClass');
$abstractClass = new ReflectionClass('TestAbstractClass');

var_dump($testClass->isAbstract());
var_dump($abstractClass->isAbstract());
?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
  • Абстрактные классы

ReflectionClass::inNamespace
ReflectionClass::isCloneable
ReflectionClass


Проверяет, можно ли клонировать этот класс

ReflectionClass::isAbstract
ReflectionClass::isFinal
ReflectionClass
PHP Manual

ReflectionClass::isCloneable

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::isCloneable — Проверяет, можно ли клонировать этот класс

Описание

public bool ReflectionClass::isCloneable ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если класс можно клонировать, в противном случае FALSE.

ReflectionClass::isAbstract
ReflectionClass::isFinal
ReflectionClass


Проверяет, является ли класс окончательным (final)

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass
PHP Manual

ReflectionClass::isFinal

(PHP 5)

ReflectionClass::isFinal — Проверяет, является ли класс окончательным (final)

Описание

public bool ReflectionClass::isFinal ( void )

Проверяет, является ли класс окончательным (final).

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::isAbstract()

<?php
class       TestClass { }
final class TestFinalClass { }

$normalClass = new ReflectionClass('TestClass');
$finalClass  = new ReflectionClass('TestFinalClass');

var_dump($normalClass->isFinal());
var_dump($finalClass->isFinal());

?>

Результат выполнения данного примера:

bool(false)
bool(true)

Смотрите также

  • ReflectionClass::isAbstract() - Проверяет, является ли класс абстрактным
  • Ключевое слово "final"

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass


Проверяет, принадлежит ли объект классу

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass
PHP Manual

ReflectionClass::isInstance

(PHP 5)

ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу

Описание

public bool ReflectionClass::isInstance ( object $object )

Проверяет, является ли объект экземпляром класса.

Список параметров

object

Проверяемый объект.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::isInstance() и его аналогов

<?php
// Пример использования
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
    echo "Yes";
}

// Аналогично этому
if ($arg instanceof Foo) {
    echo "Yes";
}

// Аналогично этому
if (is_a($arg, 'Foo')) {
    echo "Yes";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Yes
Yes
Yes

Смотрите также

  • ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
  • Операторы проверки типа (instanceof)
  • Интерфейсы объектов
  • is_a() - Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass


Проверяет, можно ли создать экземпляр класса

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass
PHP Manual

ReflectionClass::isInstantiable

(PHP 5)

ReflectionClass::isInstantiable — Проверяет, можно ли создать экземпляр класса

Описание

public bool ReflectionClass::isInstantiable ( void )

Проверяет, можно ли создать экземпляр класса.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::isInstantiable()

<?php
class C { }

interface iface {
    function f1();
}

class ifaceImpl implements iface {
    function f1() {}
}

abstract class abstractClass {
    function f1() { }
    abstract function f2();
}

class D extends abstractClass {
    function f2() { }
}

$classes = array("C", "iface", "ifaceImpl", "abstractClass", "D");

foreach($classes  as $class ) {
    $reflectionClass = new ReflectionClass($class);
    echo "Можно ли создать экземпляр класса $class?  ";
    var_dump($reflectionClass->IsInstantiable());
}

?>

Результат выполнения данного примера:

Можно ли создать экземпляр класса C?  bool(true)
Можно ли создать экземпляр класса iface?  bool(false)
Можно ли создать экземпляр класса ifaceImpl?  bool(true)
Можно ли создать экземпляр класса abstractClass?  bool(false)
Можно ли создать экземпляр класса D?  bool(true)

Смотрите также

  • ReflectionClass::isInstance() - Проверяет, принадлежит ли объект классу

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass


Проверяет, является ли класс интерфейсом

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass
PHP Manual

ReflectionClass::isInterface

(PHP 5)

ReflectionClass::isInterface — Проверяет, является ли класс интерфейсом

Описание

public bool ReflectionClass::isInterface ( void )

Проверяет, является ли класс интерфейсом или нет.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ReflectionClass::isInstance() - Проверяет, принадлежит ли объект классу

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass


Проверяет, является ли класс встроенным

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass
PHP Manual

ReflectionClass::isInternal

(PHP 5)

ReflectionClass::isInternal — Проверяет, является ли класс встроенным

Описание

public bool ReflectionClass::isInternal ( void )

Проверяет, является ли класс встроенным, а не пользовательским.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ReflectionClass::isUserDefined() - Проверяет, является ли класс пользовательским

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass


Проверяет, является ли класс итерируемым

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass
PHP Manual

ReflectionClass::isIterateable

(PHP 5)

ReflectionClass::isIterateable — Проверяет, является ли класс итерируемым

Описание

public bool ReflectionClass::isIterateable ( void )

Проверяет, является ли класс итерируемым (iterateable) или нет.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ReflectionClass::isIterateable()

<?php

class IteratorClass implements Iterator {
    public function __construct() { }
    public function key() { }
    public function current() { }
    function next() { }
    function valid() { }
    function rewind() { }
}
class DerivedClass extends IteratorClass { }
class NonIterator { }

function dump_iterateable($class) {
    $reflection = new ReflectionClass($class);
    var_dump($reflection->isIterateable());
}

$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");

foreach ($classes as $class) {
    echo "Является ли класс $class итерируемым? ";
    dump_iterateable($class);
}
?>

Результат выполнения данного примера:

Является ли класс ArrayObject итерируемым? bool(true)
Является ли класс IteratorClass итерируемым? bool(true)
Является ли класс DerivedClass итерируемым? bool(true)
Является ли класс NonIterator итерируемым? bool(false)

Смотрите также

  • ReflectionClass::__construct() - Создаёт объект класса ReflectionClass

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass


Проверяет, является ли класс подклассом

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass
PHP Manual

ReflectionClass::isSubclassOf

(PHP 5)

ReflectionClass::isSubclassOf — Проверяет, является ли класс подклассом

Описание

public bool ReflectionClass::isSubclassOf ( string $class )

Проверяет, является ли класс подклассом указанного класса.

Список параметров

class

Имя класса, по которому будет вестись проверка.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
  • is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс
  • get_parent_class() - Возвращает имя родительского класса для объекта или класса

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass


Проверяет, является ли класс trait

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass
PHP Manual

ReflectionClass::isTrait

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::isTrait — Проверяет, является ли класс trait

Описание

public bool ReflectionClass::isTrait ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE, если класс является trait, в противном случае FALSE. В случае возникновения ошибки возвращает NULL.

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass


Проверяет, является ли класс пользовательским

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass
PHP Manual

ReflectionClass::isUserDefined

(PHP 5)

ReflectionClass::isUserDefined — Проверяет, является ли класс пользовательским

Описание

public bool ReflectionClass::isUserDefined ( void )

Проверяет, является ли класс пользовательским, а не встроенным.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ReflectionClass::isInternal() - Проверяет, является ли класс встроенным

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass


Создаёт экземпляр класса с переданными аргументами

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass
PHP Manual

ReflectionClass::newInstance

(PHP 5)

ReflectionClass::newInstance — Создаёт экземпляр класса с переданными аргументами

Описание

public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )

Создаёт новый экземпляр класса. Принятые аргументы передаются в конструктор класса.

Список параметров

args

Принимает произвольное число аргументов, подобно функции call_user_func(), которые затем передаются в конструктор класса.

Возвращаемые значения

Ошибки

Если конструктор не является public (общедоступным), то это приведёт к выбросу исключения ReflectionException.

Если конструктор отсутствует, а параметр args имеет один и более аргументов, то это приведёт к выбросу исключения ReflectionException.

Смотрите также

  • ReflectionClass::newInstanceArgs() - Создаёт экземпляр класса с переданными параметрами
  • ReflectionClass::newInstanceWithoutConstructor() - Создаёт новый экземпляр класса без вызова конструктора

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass


Создаёт экземпляр класса с переданными параметрами

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass
PHP Manual

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3)

ReflectionClass::newInstanceArgs — Создаёт экземпляр класса с переданными параметрами

Описание

public object ReflectionClass::newInstanceArgs ([ array $args ] )

Создаёт новый экземпляр класса. Принятые аргументы передаются в конструктор класса.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

args

Массив (array) аргументов, который затем передаётся в конструктор класса.

Возвращаемые значения

Возвращает новый экземпляр класса.

Ошибки

Если конструктор не является public (общедоступным), то это приведёт к генерации исключения ReflectionException.

Если конструктор отсутствует, а параметр args имеет один и более аргументов, то это приведёт к генерации исключения ReflectionException.

Смотрите также

  • ReflectionClass::newInstance() - Создаёт экземпляр класса с переданными аргументами
  • ReflectionClass::newInstanceWithoutConstructor() - Создаёт новый экземпляр класса без вызова конструктора

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass


Создаёт новый экземпляр класса без вызова конструктора

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::newInstanceWithoutConstructor

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionClass::newInstanceWithoutConstructor — Создаёт новый экземпляр класса без вызова конструктора

Описание

public object ReflectionClass::newInstanceWithoutConstructor ( void )

Создаёт новый экземпляр класса без вызова конструктора.

Список параметров

Возвращаемые значения

Ошибки

Если класс является встроенным, и его экземпляр не может быть создан без вызова конструктора, то это приведёт к генерации исключения ReflectionException.

Смотрите также

  • ReflectionClass::newInstance() - Создаёт экземпляр класса с переданными аргументами
  • ReflectionClass::newInstanceArgs() - Создаёт экземпляр класса с переданными параметрами

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass


Устанавливает значение static-свойства

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass
PHP Manual

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::setStaticPropertyValue — Устанавливает значение static-свойства

Описание

public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )

Устанавливает значение статического (static) свойства.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

name

Имя свойства.

value

Новое значение.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ReflectionClass::getStaticPropertyValue() - Возвращает значение static свойства

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass


Возвращает строковое представление объекта класса ReflectionClass

ReflectionClass::setStaticPropertyValue
ReflectionExtension
ReflectionClass
PHP Manual

ReflectionClass::__toString

(PHP 5)

ReflectionClass::__toString — Возвращает строковое представление объекта класса ReflectionClass

Описание

public string ReflectionClass::__toString ( void )

Возвращает строковое представление объекта класса ReflectionClass.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Строковое представление экземпляра класса ReflectionClass.

Примеры

Пример #1 Пример использования ReflectionClass::__toString()

<?php
$reflectionClass = new ReflectionClass('Exception');
echo $reflectionClass->__toString();
?>

Результат выполнения данного примера:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Смотрите также

  • ReflectionClass::export() - Экспортирует класс
  • __toString

ReflectionClass::setStaticPropertyValue
ReflectionExtension
ReflectionClass


Класс ReflectionExtension

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionExtension сообщает информация о модулях.

Обзор классов

ReflectionExtension implements Reflector {
/* Свойства */
public $ReflectionExtension->name ;
/* Методы */
final private void ReflectionExtension::__clone ( void )
ReflectionExtension::__construct ( string $name )
public static string ReflectionExtension::export ( string $name [, string $return = false ] )
public array ReflectionExtension::getClasses ( void )
public array ReflectionExtension::getClassNames ( void )
public array ReflectionExtension::getConstants ( void )
public array ReflectionExtension::getDependencies ( void )
public array ReflectionExtension::getFunctions ( void )
public array ReflectionExtension::getINIEntries ( void )
public string ReflectionExtension::getName ( void )
public string ReflectionExtension::getVersion ( void )
public void ReflectionExtension::info ( void )
public void ReflectionExtension::isPersistent ( void )
public void ReflectionExtension::isTemporary ( void )
public string ReflectionExtension::__toString ( void )
}

Свойства

name

Имя модуля. Значение свойсвтва совпадает с тем, что возвращает метод ReflectionExtension::getName()

Содержание

  • ReflectionExtension::__clone — Клонирует объект
  • ReflectionExtension::__construct — Создаёт объект класса ReflectionExtension
  • ReflectionExtension::export — Экспортирует модуль
  • ReflectionExtension::getClasses — Возвращает классы
  • ReflectionExtension::getClassNames — Gets class names
  • ReflectionExtension::getConstants — Gets constants
  • ReflectionExtension::getDependencies — Gets dependencies
  • ReflectionExtension::getFunctions — Gets extension functions
  • ReflectionExtension::getINIEntries — Gets extension ini entries
  • ReflectionExtension::getName — Gets extension name
  • ReflectionExtension::getVersion — Gets extension version
  • ReflectionExtension::info — Print extension info
  • ReflectionExtension::isPersistent — Returns whether this extension is persistent
  • ReflectionExtension::isTemporary — Returns whether this extension is temporary
  • ReflectionExtension::__toString — To string
ReflectionClass::__toString
ReflectionExtension::__clone
Reflection


Клонирует объект

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension
PHP Manual

ReflectionExtension::__clone

(PHP 5)

ReflectionExtension::__clone — Клонирует объект

Описание

final private void ReflectionExtension::__clone ( void )

clone-метод предотвращает клонирование объекта. Reflection-объекты не могут быть клонированы.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Метод ничего не возвращает, в случае вызова возникает фатальная ошибка.

Смотрите также

  • ReflectionExtension::__construct() - Создаёт объект класса ReflectionExtension
  • Клонирование объектов

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension


Создаёт объект класса ReflectionExtension

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension
PHP Manual

ReflectionExtension::__construct

(PHP 5)

ReflectionExtension::__construct — Создаёт объект класса ReflectionExtension

Описание

ReflectionExtension::__construct ( string $name )

Создаёт объект (object) класса ReflectionExtension.

Список параметров

name

Имя модуля.

Возвращаемые значения

Объект (object) класса ReflectionExtension.

Примеры

Пример #1 Пример использования ReflectionExtension

<?php
$ext = new ReflectionExtension('Reflection');

printf('Модуль: %s (версия: %s)', $ext->getName(), $ext->getVersion());
?>

Результатом выполнения данного примера будет что-то подобное:

Модуль: Reflection (версия: $Revision: 316929 $)

Смотрите также

  • ReflectionExtension::info() - Print extension info
  • Конструкторы

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension


Экспортирует модуль

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension
PHP Manual

ReflectionExtension::export

(PHP 5)

ReflectionExtension::export — Экспортирует модуль

Описание

public static string ReflectionExtension::export ( string $name [, string $return = false ] )

Экспортирует отражённый модуль. Формат вывода этой функции такой же как и при CLI-параметре --re [extension].

Список параметров

name

Экспортируемый объект Reflection.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • ReflectionExtension::info() - Print extension info

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension


Возвращает классы

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension
PHP Manual

ReflectionExtension::getClasses

(PHP 5)

ReflectionExtension::getClasses — Возвращает классы

Описание

public array ReflectionExtension::getClasses ( void )

Возвращает список классов модуля.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Массив объектов класса ReflectionClass, по одному на каждый класс модуля. Если не задано ни одного класса, то возвращается пустой массив.

Примеры

Пример #1 Пример использования ReflectionExtension::getClasses()

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  ["XMLWriter"]=>
  &object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Смотрите также

  • ReflectionExtension::getClassNames() - Gets class names

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension


Gets class names

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension
PHP Manual

ReflectionExtension::getClassNames

(PHP 5)

ReflectionExtension::getClassNames — Gets class names

Описание

public array ReflectionExtension::getClassNames ( void )

Gets a listing of class names as defined in the extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of class names, as defined in the extension. If no classes are defined, an empty array is returned.

Примеры

Пример #1 ReflectionExtension::getClassNames() example

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

Результатом выполнения данного примера будет что-то подобное:

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Смотрите также

  • ReflectionExtension::getClasses() - Возвращает классы
  • ReflectionExtension::getName() - Gets extension name

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension


Gets constants

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension
PHP Manual

ReflectionExtension::getConstants

(PHP 5)

ReflectionExtension::getConstants — Gets constants

Описание

public array ReflectionExtension::getConstants ( void )

Get defined constants from an extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An associative array with constant names as keys.

Примеры

Пример #1 ReflectionExtension::getConstants() example

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Смотрите также

  • ReflectionExtension::getINIEntries() - Gets extension ini entries

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension


Gets dependencies

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension
PHP Manual

ReflectionExtension::getDependencies

(PHP 5)

ReflectionExtension::getDependencies — Gets dependencies

Описание

public array ReflectionExtension::getDependencies ( void )

Gets dependencies, by listing both required and conflicting dependencies.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An associative array with dependencies as keys and either Required, Optional or Conflicts as the values.

Примеры

Пример #1 ReflectionExtension::getDependencies() example

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Смотрите также

  • ReflectionClass::getVersion()

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension


Gets extension functions

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension
PHP Manual

ReflectionExtension::getFunctions

(PHP 5)

ReflectionExtension::getFunctions — Gets extension functions

Описание

public array ReflectionExtension::getFunctions ( void )

Get defined functions from an extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An associative array of ReflectionFunction objects, for each function defined in the extension with the keys being the function names. If no function are defined, an empty array is returned.

Примеры

Пример #1 ReflectionExtension::getFunctions() example

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Смотрите также

  • ReflectionExtension::getClasses() - Возвращает классы

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension


Gets extension ini entries

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension
PHP Manual

ReflectionExtension::getINIEntries

(PHP 5)

ReflectionExtension::getINIEntries — Gets extension ini entries

Описание

public array ReflectionExtension::getINIEntries ( void )

Get the ini entries for an extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An associative array with the ini entries as keys, with their defined values as values.

Примеры

Пример #1 ReflectionExtension::getINIEntries() example

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Смотрите также

  • ReflectionExtension::getConstants() - Gets constants

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension


Gets extension name

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension
PHP Manual

ReflectionExtension::getName

(PHP 5)

ReflectionExtension::getName — Gets extension name

Описание

public string ReflectionExtension::getName ( void )

Gets the extensions name.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The extensions name.

Примеры

Пример #1 ReflectionExtension::getName() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

Результатом выполнения данного примера будет что-то подобное:

string(6) "mysqli"

Смотрите также

  • ReflectionExtension::getClassNames() - Gets class names

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension


Gets extension version

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension
PHP Manual

ReflectionExtension::getVersion

(PHP 5)

ReflectionExtension::getVersion — Gets extension version

Описание

public string ReflectionExtension::getVersion ( void )

Gets the version of the extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The version of the extension.

Примеры

Пример #1 ReflectionExtension::getVersion() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

Результатом выполнения данного примера будет что-то подобное:

string(3) "0.1"

Смотрите также

  • ReflectionExtension::info() - Print extension info

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension


Print extension info

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension
PHP Manual

ReflectionExtension::info

(PHP 5)

ReflectionExtension::info — Print extension info

Описание

public void ReflectionExtension::info ( void )

Prints out the "phpinfo()" snippet for the given extension.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Information about the extension.

Примеры

Пример #1 ReflectionExtension::info() example

<?php
$ext = new ReflectionExtension('mysqli');
$ext->info();
?>

Результатом выполнения данного примера будет что-то подобное:

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision: 315808 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000

Смотрите также

  • ReflectionExtension::getName() - Gets extension name
  • phpinfo() - Outputs information about PHP's configuration

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension


Returns whether this extension is persistent

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension
PHP Manual

ReflectionExtension::isPersistent

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionExtension::isPersistent — Returns whether this extension is persistent

Описание

public void ReflectionExtension::isPersistent ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE for extensions loaded by extension, FALSE otherwise.

Смотрите также

  • ReflectionExtension::isTemporary() - Returns whether this extension is temporary

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension


Returns whether this extension is temporary

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension
PHP Manual

ReflectionExtension::isTemporary

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionExtension::isTemporary — Returns whether this extension is temporary

Описание

public void ReflectionExtension::isTemporary ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE for extensions loaded by dl(), FALSE otherwise.

Смотрите также

  • ReflectionExtension::isPersistent() - Returns whether this extension is persistent

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension


To string

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension
PHP Manual

ReflectionExtension::__toString

(PHP 5)

ReflectionExtension::__toString — To string

Описание

public string ReflectionExtension::__toString ( void )

Exports a reflected extension and returns it as a string. This is the same as the ReflectionExtension::export() with the return set to TRUE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns the exported extension as a string, in the same way as the ReflectionExtension::export().

Смотрите также

  • ReflectionExtension::__construct() - Создаёт объект класса ReflectionExtension
  • ReflectionExtension::export() - Экспортирует модуль
  • __toString

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension


Класс ReflectionFunction

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionFunction сообщает информацию о функциях.

Такие же методы, за исключением invoke(),
invokeArgs(), export() и
isDisabled(), имеются в родительском классе
ReflectionFunctionAbstract.

Обзор классов

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Константы */
const integer IS_DEPRECATED = 262144 ;
/* Свойства */
public $ReflectionFunction->name ;
/* Методы */
ReflectionFunction::__construct ( mixed $name )
public static string ReflectionFunction::export ( string $name [, string $return ] )
public Closure ReflectionFunction::getClosure ( void )
public mixed ReflectionFunction::invoke ([ mixed $parameter [, mixed $... ]] )
public mixed ReflectionFunction::invokeArgs ( array $args )
public bool ReflectionFunction::isDisabled ( void )
public string ReflectionFunction::__toString ( void )
/* Наследуемые методы */
final private void ReflectionFunctionAbstract::__clone ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Свойства

name

Требуется описание

Предопределенные константы

ReflectionFunction Node Types

ReflectionFunction::IS_DEPRECATED

Требуется описание

Содержание

  • ReflectionFunction::__construct — Constructs a ReflectionFunction object
  • ReflectionFunction::export — Exports function
  • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
  • ReflectionFunction::invoke — Invokes function
  • ReflectionFunction::invokeArgs — Invokes function args
  • ReflectionFunction::isDisabled — Checks if function is disabled
  • ReflectionFunction::__toString — To string
ReflectionExtension::__toString
ReflectionFunction::__construct
Reflection


Constructs a ReflectionFunction object

ReflectionFunction
ReflectionFunction::export
ReflectionFunction
PHP Manual

ReflectionFunction::__construct

(PHP 5)

ReflectionFunction::__construct — Constructs a ReflectionFunction object

Описание

ReflectionFunction::__construct ( mixed $name )

Constructs a ReflectionFunction object.

Список параметров

name

The name of the function to reflect or a closure.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

A ReflectionException if the name parameter does not contain a valid function.

Список изменений

Версия | Описание
5.3.0 | name can now be a closure.

Примеры

Пример #1 ReflectionFunction::__construct() example

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter1()
{
    static $c = 0;
    return ++$c;
}

/**
 * Another simple counter
 *
 * @return    int
 */
$counter2 = function()
{
    static $d = 0;
    return ++$d;

};

function dumpReflectionFunction($func)
{
    // Print out basic information
    printf(
        "\n\n===> The %s function '%s'\n".
        "     declared in %s\n".
        "     lines %d to %d\n",
        $func->isInternal() ? 'internal' : 'user-defined',
        $func->getName(),
        $func->getFileName(),
        $func->getStartLine(),
        $func->getEndline()
    );

    // Print documentation comment
    printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

    // Print static variables if existant
    if ($statics = $func->getStaticVariables())
    {
        printf("---> Static variables: %s\n", var_export($statics, 1));
    }
}

// Create an instance of the ReflectionFunction class
dumpReflectionFunction(new ReflectionFunction('counter1'));
dumpReflectionFunction(new ReflectionFunction($counter2));
?>

Результатом выполнения данного примера будет что-то подобное:

===> The user-defined function 'counter1'
     declared in Z:\reflectcounter.php
     lines 7 to 11
---> Documentation:
 '/**
 * A simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'c' => 0,
)

===> The user-defined function '{closure}'
     declared in Z:\reflectcounter.php
     lines 18 to 23
---> Documentation:
 '/**
 * Another simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'd' => 0,
)

Смотрите также

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors

ReflectionFunction
ReflectionFunction::export
ReflectionFunction


Exports function

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction
PHP Manual

ReflectionFunction::export

(PHP 5)

ReflectionFunction::export — Exports function

Описание

public static string ReflectionFunction::export ( string $name [, string $return ] )

Exports a Reflected function.

Список параметров

name

Экспортируемый объект Reflection.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • ReflectionFunction::invoke() - Invokes function

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction


Returns a dynamically created closure for the function

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction
PHP Manual

ReflectionFunction::getClosure

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionFunction::getClosure — Returns a dynamically created closure for the function

Описание

public Closure ReflectionFunction::getClosure ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns Closure. Returns NULL in case of an error.

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction


Invokes function

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction
PHP Manual

ReflectionFunction::invoke

(PHP 5)

ReflectionFunction::invoke — Invokes function

Описание

public mixed ReflectionFunction::invoke ([ mixed $parameter [, mixed $... ]] )

Invokes a reflected function.

Список параметров

args

The passed in argument list. It accepts a variable number of arguments which are passed to the function much like call_user_func() is.

Возвращаемые значения

Returns the result of the invoked function call.

Примеры

Пример #1 ReflectionFunction::invoke() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invoke('Dr', 'Phil');
?>

Результат выполнения данного примера:

Dr. Phil

Примечания

Замечание:

If the function has arguments that need to be references, then they must be references in the passed argument list.

Смотрите также

  • ReflectionFunction::export() - Exports function
  • __invoke

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction


Invokes function args

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction
PHP Manual

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionFunction::invokeArgs — Invokes function args

Описание

public mixed ReflectionFunction::invokeArgs ( array $args )

Invokes args.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

args

The passed arguments to the function as an array, much like call_user_func_array() works.

Возвращаемые значения

Returns the result of the invoked function

Примеры

Пример #1 ReflectionFunction::invokeArgs() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

Результат выполнения данного примера:

Dr. Phil

Пример #2 ReflectionFunction::invokeArgs() with references example

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach ($conditions as $condition) {
        if (!$condition) {
            $false_conditions[] = $condition;
        }
    }
}

$function_ref     = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

Результат выполнения данного примера:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Примечания

Замечание:

If the function has arguments that need to be references, then they must be references in the passed argument list.

Смотрите также

  • ReflectionFunction::invoke() - Invokes function
  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters
  • __invoke

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction


Checks if function is disabled

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction
PHP Manual

ReflectionFunction::isDisabled

(PHP 5)

ReflectionFunction::isDisabled — Checks if function is disabled

Описание

public bool ReflectionFunction::isDisabled ( void )

Checks if the function is disabled, via the disable_functions directive.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's disable, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined
  • disable_functions directive

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction


To string

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction
PHP Manual

ReflectionFunction::__toString

(PHP 5)

ReflectionFunction::__toString — To string

Описание

public string ReflectionFunction::__toString ( void )

To string.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns ReflectionFunction::export()-like output for the function.

Примеры

Пример #1 ReflectionFunction::__toString() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

echo new ReflectionFunction('title');
?>

Результатом выполнения данного примера будет что-то подобное:

Function [ <user> function person ] {
  @@ Command line code 1 - 1

  - Parameters [2] {
    Parameter #0 [ <required> $prefix ]
    Parameter #1 [ <required> $name ]
  }
}

Смотрите также

  • ReflectionFunction::export() - Exports function
  • ReflectionClass::clone()
  • __toString

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction


Класс ReflectionFunctionAbstract

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Является родительским классом для ReflectionFunction, более подробную информацию смотрите в описании этого дочернего класса.

Обзор классов

ReflectionFunctionAbstract implements Reflector {
/* Свойства */
public $ReflectionFunctionAbstract->name ;
/* Методы */
final private void ReflectionFunctionAbstract::__clone ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Свойства

name

Требуется описание

Содержание

  • ReflectionFunctionAbstract::__clone — Clones function
  • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
  • ReflectionFunctionAbstract::getDocComment — Gets doc comment
  • ReflectionFunctionAbstract::getEndLine — Gets end line number
  • ReflectionFunctionAbstract::getExtension — Gets extension info
  • ReflectionFunctionAbstract::getExtensionName — Gets extension name
  • ReflectionFunctionAbstract::getFileName — Gets file name
  • ReflectionFunctionAbstract::getName — Gets function name
  • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
  • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
  • ReflectionFunctionAbstract::getParameters — Gets parameters
  • ReflectionFunctionAbstract::getShortName — Gets function short name
  • ReflectionFunctionAbstract::getStartLine — Gets starting line number
  • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
  • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
  • ReflectionFunctionAbstract::isClosure — Checks if closure
  • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
  • ReflectionFunctionAbstract::isInternal — Checks if is internal
  • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
  • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
  • ReflectionFunctionAbstract::__toString — To string
ReflectionFunction::__toString
ReflectionFunctionAbstract::__clone
Reflection


Clones function

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__clone

(PHP 5)

ReflectionFunctionAbstract::__clone — Clones function

Описание

final private void ReflectionFunctionAbstract::__clone ( void )

Clones a function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • Object cloning

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract


Returns this pointer bound to closure

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getClosureThis

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure

Описание

public object ReflectionFunctionAbstract::getClosureThis ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns $this pointer. Returns NULL in case of an error.

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract


Gets doc comment

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0)

ReflectionFunctionAbstract::getDocComment — Gets doc comment

Описание

public string ReflectionFunctionAbstract::getDocComment ( void )

Get a Doc comment from a function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The doc comment if it exists, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract


Gets end line number

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getEndLine

(PHP 5)

ReflectionFunctionAbstract::getEndLine — Gets end line number

Описание

public int ReflectionFunctionAbstract::getEndLine ( void )

Get the ending line number.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The ending line number of the user defined function, or FALSE if unknown.

Смотрите также

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract


Gets extension info

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtension

(PHP 5)

ReflectionFunctionAbstract::getExtension — Gets extension info

Описание

public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )

Get the extension information of a function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The extension information, as a ReflectionExtension object.

Смотрите также

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract


Gets extension name

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtensionName

(PHP 5)

ReflectionFunctionAbstract::getExtensionName — Gets extension name

Описание

public string ReflectionFunctionAbstract::getExtensionName ( void )

Get the extensions name.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The extensions name.

Смотрите также

  • ReflectionFunctionAbstract::getExtension() - Gets extension info

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract


Gets file name

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getFileName

(PHP 5)

ReflectionFunctionAbstract::getFileName — Gets file name

Описание

public string ReflectionFunctionAbstract::getFileName ( void )

Gets the file name from a user-defined function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The file name.

Смотрите также

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract


Gets function name

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getName

(PHP 5)

ReflectionFunctionAbstract::getName — Gets function name

Описание

public string ReflectionFunctionAbstract::getName ( void )

Get the name of the function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The name of the function.

Смотрите также

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name
  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract


Gets namespace name

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getNamespaceName — Gets namespace name

Описание

public string ReflectionFunctionAbstract::getNamespaceName ( void )

Get the namespace name where the class is defined.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The namespace name.

Смотрите также

  • ReflectionFunctionAbstract::getFileName() - Gets file name
  • namespaces

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract


Gets number of parameters

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters

Описание

public int ReflectionFunctionAbstract::getNumberOfParameters ( void )

Get the number of parameters that a function defines, both optional and required.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of parameters.

Смотрите также

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Gets number of required parameters

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract


Gets number of required parameters

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters

Описание

public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )

Get the number of required parameters that a function defines.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The number of required parameters.

Смотрите также

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract


Gets parameters

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getParameters

(PHP 5)

ReflectionFunctionAbstract::getParameters — Gets parameters

Описание

public array ReflectionFunctionAbstract::getParameters ( void )

Get the parameters as an array of ReflectionParameter.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The parameters, as a ReflectionParameter object.

Смотрите также

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract


Gets function short name

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getShortName — Gets function short name

Описание

public string ReflectionFunctionAbstract::getShortName ( void )

Get the short name of the function (without the namespace part).

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The short name of the function.

Смотрите также

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract


Gets starting line number

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStartLine

(PHP 5)

ReflectionFunctionAbstract::getStartLine — Gets starting line number

Описание

public int ReflectionFunctionAbstract::getStartLine ( void )

Gets the starting line number of the function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The starting line number.

Смотрите также

  • ReflectionFunctionAbstract::getEndLine() - Gets end line number

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract


Gets static variables

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStaticVariables

(PHP 5)

ReflectionFunctionAbstract::getStaticVariables — Gets static variables

Описание

public array ReflectionFunctionAbstract::getStaticVariables ( void )

Get the static variables.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of static variables.

Смотрите также

  • ReflectionFunctionAbstract::getParameters() - Gets parameters

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract


Checks if function in namespace

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::inNamespace — Checks if function in namespace

Описание

public bool ReflectionFunctionAbstract::inNamespace ( void )

Checks whether a function is defined in a namespace.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's in a namespace, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract


Checks if closure

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::isClosure — Checks if closure

Описание

public bool ReflectionFunctionAbstract::isClosure ( void )

Checks whether it's a closure.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's a closure, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::()

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract


Checks if deprecated

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isDeprecated

(PHP 5)

ReflectionFunctionAbstract::isDeprecated — Checks if deprecated

Описание

public bool ReflectionFunctionAbstract::isDeprecated ( void )

Checks whether the function is deprecated.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's deprecated, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::getDocComment() - Gets doc comment

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract


Checks if is internal

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isInternal

(PHP 5)

ReflectionFunctionAbstract::isInternal — Checks if is internal

Описание

public bool ReflectionFunctionAbstract::isInternal ( void )

Checks whether the function is internal, as opposed to user-defined.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's internal, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract


Checks if user defined

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isUserDefined

(PHP 5)

ReflectionFunctionAbstract::isUserDefined — Checks if user defined

Описание

public bool ReflectionFunctionAbstract::isUserDefined ( void )

Checks whether the function is user-defined, as opposed to internal.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it's user-defined, otherwise false;

Смотрите также

  • ReflectionFunctionAbstract::isInternal() - Checks if is internal

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract


Checks if returns reference

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::returnsReference

(PHP 5)

ReflectionFunctionAbstract::returnsReference — Checks if returns reference

Описание

public bool ReflectionFunctionAbstract::returnsReference ( void )

Checks whether the function returns a reference.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if it returns a reference, otherwise FALSE

Смотрите также

  • ReflectionFunctionAbstract::isClosure() - Checks if closure

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract


To string

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__toString

(PHP 5)

ReflectionFunctionAbstract::__toString — To string

Описание

abstract public void ReflectionFunctionAbstract::__toString ( void )

To string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The string.

Смотрите также

  • ReflectionClass::clone()
  • __toString

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract


Класс ReflectionMethod

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionMethod сообщает информацию о методах.

Обзор классов

ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Константы */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
const integer IS_ABSTRACT = 2 ;
const integer IS_FINAL = 4 ;
/* Свойства */
public $ReflectionMethod->name ;
public $class ;
/* Методы */
ReflectionMethod::__construct ( mixed $class , string $name )
public static string ReflectionMethod::export ( string $class , string $name [, bool $return = false ] )
public Closure ReflectionMethod::getClosure ( string $object )
public ReflectionClass ReflectionMethod::getDeclaringClass ( void )
public int ReflectionMethod::getModifiers ( void )
public ReflectionMethod ReflectionMethod::getPrototype ( void )
public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )
public mixed ReflectionMethod::invokeArgs ( object $object , array $args )
public bool ReflectionMethod::isAbstract ( void )
public bool ReflectionMethod::isConstructor ( void )
public bool ReflectionMethod::isDestructor ( void )
public bool ReflectionMethod::isFinal ( void )
public bool ReflectionMethod::isPrivate ( void )
public bool ReflectionMethod::isProtected ( void )
public bool ReflectionMethod::isPublic ( void )
public bool ReflectionMethod::isStatic ( void )
public void ReflectionMethod::setAccessible ( bool $accessible )
public string ReflectionMethod::__toString ( void )
/* Наследуемые методы */
final private void ReflectionFunctionAbstract::__clone ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Свойства

name

Имя метода

class

Имя класса

Предопределенные константы

Типы узлов ReflectionMethod

ReflectionMethod::IS_STATIC

Указывает на то, что это статический метод.

ReflectionMethod::IS_PUBLIC

Указывает на то, что это публичный метод.

ReflectionMethod::IS_PROTECTED

Указывает на то, что это защищённый метод.

ReflectionMethod::IS_PRIVATE

Указывает на то, что это приватный метод.

ReflectionMethod::IS_ABSTRACT

Указывает на то, что это абстрактный метод.

ReflectionMethod::IS_FINAL

Указывает на то, что это финализированный метод.

Содержание

  • ReflectionMethod::__construct — Constructs a ReflectionMethod
  • ReflectionMethod::export — Export a reflection method.
  • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
  • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.
  • ReflectionMethod::getModifiers — Gets the method modifiers
  • ReflectionMethod::getPrototype — Gets the method prototype (if there is one).
  • ReflectionMethod::invoke — Invoke
  • ReflectionMethod::invokeArgs — Invoke args
  • ReflectionMethod::isAbstract — Checks if method is abstract
  • ReflectionMethod::isConstructor — Checks if method is a constructor
  • ReflectionMethod::isDestructor — Checks if method is a destructor
  • ReflectionMethod::isFinal — Checks if method is final
  • ReflectionMethod::isPrivate — Checks if method is private
  • ReflectionMethod::isProtected — Checks if method is protected
  • ReflectionMethod::isPublic — Checks if method is public
  • ReflectionMethod::isStatic — Checks if method is static
  • ReflectionMethod::setAccessible — Set method accessibility
  • ReflectionMethod::__toString — Returns the string representation of the Reflection method object.
ReflectionFunctionAbstract::__toString
ReflectionMethod::__construct
Reflection


Constructs a ReflectionMethod

ReflectionMethod
ReflectionMethod::export
ReflectionMethod
PHP Manual

ReflectionMethod::__construct

(PHP 5)

ReflectionMethod::__construct — Constructs a ReflectionMethod

Описание

ReflectionMethod::__construct ( mixed $class , string $name )

Constructs a new ReflectionMethod.

Список параметров

class

Classname or object (instance of the class) that contains the method.

name

Name of the method.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

A ReflectionException is thrown if the given method does not exist.

Примеры

Пример #1 ReflectionMethod::__construct() example

<?php
class Counter
{
    private static $c = 0;

    /**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Create an instance of the ReflectionMethod class
$method = new ReflectionMethod('Counter', 'increment');

// Print out basic information
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), 1));

// Print static variables if existant
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the method
printf("---> Invocation results in: ");
var_dump($method->invoke(NULL));
?>

Результатом выполнения данного примера будет что-то подобное:

===> The user-defined final public static method 'increment' (which is a regular method)
     declared in /Users/philip/cvs/phpdoc/test.php
     lines 14 to 17
     having the modifiers 261[final public static]
---> Documentation:
 '/**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Invocation results in: int(1)

Смотрите также

  • ReflectionMethod::export() - Export a reflection method.
  • Constructors

ReflectionMethod
ReflectionMethod::export
ReflectionMethod


Export a reflection method.

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod
PHP Manual

ReflectionMethod::export

(PHP 5)

ReflectionMethod::export — Export a reflection method.

Описание

public static string ReflectionMethod::export ( string $class , string $name [, bool $return = false ] )

Exports a ReflectionMethod.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

class

The class name.

name

The name of the method.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::__toString() - Returns the string representation of the Reflection method object.

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod


Returns a dynamically created closure for the method

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod
PHP Manual

ReflectionMethod::getClosure

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionMethod::getClosure — Returns a dynamically created closure for the method

Описание

public Closure ReflectionMethod::getClosure ( string $object )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

object

Forbidden for static methods, required for other methods.

Возвращаемые значения

Returns Closure. Returns NULL in case of an error.

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod


Gets declaring class for the reflected method.

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod
PHP Manual

ReflectionMethod::getDeclaringClass

(PHP 5)

ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.

Описание

public ReflectionClass ReflectionMethod::getDeclaringClass ( void )

Gets the declaring class for the reflected method.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionClass object of the class that the reflected method is part of.

Примеры

Пример #1 ReflectionMethod::getDeclaringClass() example

<?php
class HelloWorld {

    protected function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
var_dump($reflectionMethod->getDeclaringClass());
?>

Результат выполнения данного примера:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(10) "HelloWorld"
}

Смотрите также

  • ReflectionMethod::isAbstract() - Checks if method is abstract

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod


Gets the method modifiers

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod
PHP Manual

ReflectionMethod::getModifiers

(PHP 5)

ReflectionMethod::getModifiers — Gets the method modifiers

Описание

public int ReflectionMethod::getModifiers ( void )

Gets the method modifiers.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A numeric representation of the modifiers. The modifiers are listed below. The actual meanings of these modifiers are described in the predefined constants.

ReflectionMethod modifiers
value | constant
1 | ReflectionMethod::IS_STATIC
2 | ReflectionMethod::IS_ABSTRACT
4 | ReflectionMethod::IS_FINAL
256 | ReflectionMethod::IS_PUBLIC
512 | ReflectionMethod::IS_PROTECTED
1024 | ReflectionMethod::IS_PRIVATE

Примеры

Пример #1 ReflectionMethod::getModifiers() example

<?php
class Testing
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

Результатом выполнения данного примера будет что-то подобное:

Modifiers for method foo():
261
final public static
Modifiers for method bar():
65792
public

Смотрите также

  • Reflection::getModifierNames() - Gets modifier names

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod


Gets the method prototype (if there is one).

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod
PHP Manual

ReflectionMethod::getPrototype

(PHP 5)

ReflectionMethod::getPrototype — Gets the method prototype (if there is one).

Описание

public ReflectionMethod ReflectionMethod::getPrototype ( void )

Returns the methods prototype.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionMethod instance of the method prototype.

Ошибки

A ReflectionException exception is thrown if the method does not have a prototype.

Примеры

Пример #1 ReflectionMethod::getPrototype() example

<?php
class Hello {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}
class HelloWorld extends Hello {

    public function sayHelloTo($name) {
        return 'Hello world: ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
var_dump($reflectionMethod->getPrototype());
?>

Результат выполнения данного примера:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(10) "sayHelloTo"
  ["class"]=>
  string(5) "Hello"
}

Смотрите также

  • ReflectionMethod::getModifiers() - Gets the method modifiers

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod


Invoke

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod
PHP Manual

ReflectionMethod::invoke

(PHP 5)

ReflectionMethod::invoke — Invoke

Описание

public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )

Invokes a reflected method.

Список параметров

object

The object to invoke the method on. For static methods, pass null to this parameter.

parameter

Zero or more parameters to be passed to the method. It accepts a variable number of parameters which are passed to the method.

Возвращаемые значения

Returns the method result.

Ошибки

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Примеры

Пример #1 ReflectionMethod::invoke() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

Результат выполнения данного примера:

Hello Mike

Смотрите также

  • ReflectionMethod::invokeArgs() - Invoke args
  • __invoke

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod


Invoke args

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod
PHP Manual

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionMethod::invokeArgs — Invoke args

Описание

public mixed ReflectionMethod::invokeArgs ( object $object , array $args )

Invoke arguments.

Список параметров

object

The object to invoke the method on. In case of static methods, you can pass null to this parameter.

args

The parameters to be passed to the function, as an array.

Возвращаемые значения

Returns the method result.

Ошибки

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Примеры

Пример #1 ReflectionMethod::invokeArgs() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>

Результат выполнения данного примера:

Hello Mike

Смотрите также

  • ReflectionMethod::invoke() - Invoke
  • __invoke

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod


Checks if method is abstract

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod
PHP Manual

ReflectionMethod::isAbstract

(PHP 5)

ReflectionMethod::isAbstract — Checks if method is abstract

Описание

public bool ReflectionMethod::isAbstract ( void )

Checks if the method is abstract.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is abstract, otherwise FALSE

Смотрите также

  • ReflectionMethod::getDeclaringClass() - Gets declaring class for the reflected method.

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod


Checks if method is a constructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod
PHP Manual

ReflectionMethod::isConstructor

(PHP 5)

ReflectionMethod::isConstructor — Checks if method is a constructor

Описание

public bool ReflectionMethod::isConstructor ( void )

Checks if the method is a constructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is a constructor, otherwise FALSE

Смотрите также

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::isAbstract() - Checks if method is abstract
  • ReflectionMethod::isDestructor() - Checks if method is a destructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod


Checks if method is a destructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod
PHP Manual

ReflectionMethod::isDestructor

(PHP 5)

ReflectionMethod::isDestructor — Checks if method is a destructor

Описание

public bool ReflectionMethod::isDestructor ( void )

Checks if the method is a destructor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is a destructor, otherwise FALSE

Смотрите также

  • ReflectionMethod::isConstructor() - Checks if method is a constructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod


Checks if method is final

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod
PHP Manual

ReflectionMethod::isFinal

(PHP 5)

ReflectionMethod::isFinal — Checks if method is final

Описание

public bool ReflectionMethod::isFinal ( void )

Checks if the method is final.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is final, otherwise FALSE

Смотрите также

  • ReflectionMethod::isStatic() - Checks if method is static

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod


Checks if method is private

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod
PHP Manual

ReflectionMethod::isPrivate

(PHP 5)

ReflectionMethod::isPrivate — Checks if method is private

Описание

public bool ReflectionMethod::isPrivate ( void )

Checks if the method is private.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is private, otherwise FALSE

Смотрите также

  • ReflectionMethod::isPublic() - Checks if method is public

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod


Checks if method is protected

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod
PHP Manual

ReflectionMethod::isProtected

(PHP 5)

ReflectionMethod::isProtected — Checks if method is protected

Описание

public bool ReflectionMethod::isProtected ( void )

Checks if the method is protected.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is protected, otherwise FALSE

Смотрите также

  • ReflectionMethod::isPrivate() - Checks if method is private

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod


Checks if method is public

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod
PHP Manual

ReflectionMethod::isPublic

(PHP 5)

ReflectionMethod::isPublic — Checks if method is public

Описание

public bool ReflectionMethod::isPublic ( void )

Checks if the method is public.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is public, otherwise FALSE

Смотрите также

  • ReflectionMethod::isPrivate() - Checks if method is private

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod


Checks if method is static

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod
PHP Manual

ReflectionMethod::isStatic

(PHP 5)

ReflectionMethod::isStatic — Checks if method is static

Описание

public bool ReflectionMethod::isStatic ( void )

Checks if the method is static.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the method is static, otherwise FALSE

Смотрите также

  • ReflectionMethod::isFinal() - Checks if method is final

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod


Set method accessibility

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod
PHP Manual

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2)

ReflectionMethod::setAccessible — Set method accessibility

Описание

public void ReflectionMethod::setAccessible ( bool $accessible )

Sets a method to be accessible. For example, it may allow protected and private methods to be invoked.

Список параметров

accessible

TRUE to allow accessibility, or FALSE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ReflectionMethod::isPrivate() - Checks if method is private
  • ReflectionMethod::isProtected() - Checks if method is protected

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod


Returns the string representation of the Reflection method object.

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod
PHP Manual

ReflectionMethod::__toString

(PHP 5)

ReflectionMethod::__toString — Returns the string representation of the Reflection method object.

Описание

public string ReflectionMethod::__toString ( void )

Returns the string representation of the Reflection method object.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A string representation of this ReflectionMethod instance.

Примеры

Пример #1 ReflectionMethod::__toString() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
echo $reflectionMethod;
?>

Результат выполнения данного примера:

Method [ <user> public method sayHelloTo ] {
  @@ /var/www/examples/reflection.php 16 - 18

  - Parameters [1] {
    Parameter #0 [ <required> $name ]
  }
}

Смотрите также

  • ReflectionMethod::export() - Export a reflection method.
  • __toString

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod


Класс ReflectionObject

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionObject сообщает информацию об объектах (object).

Обзор классов

ReflectionObject extends ReflectionClass implements Reflector {
/* Константы */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Свойства */
/* Методы */
__construct ( object $argument )
public static string export ( string $argument [, bool $return ] )
/* Наследуемые методы */
final private void ReflectionClass::__clone ( void )
ReflectionClass::__construct ( mixed $argument )
public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )
public mixed ReflectionClass::getConstant ( string $name )
public array ReflectionClass::getConstants ( void )
public object ReflectionClass::getConstructor ( void )
public array ReflectionClass::getDefaultProperties ( void )
public string ReflectionClass::getDocComment ( void )
public int ReflectionClass::getEndLine ( void )
public ReflectionExtension ReflectionClass::getExtension ( void )
public string ReflectionClass::getExtensionName ( void )
public string ReflectionClass::getFileName ( void )
public array ReflectionClass::getInterfaceNames ( void )
public array ReflectionClass::getInterfaces ( void )
public ReflectionMethod ReflectionClass::getMethod ( string $name )
public array ReflectionClass::getMethods ([ string $filter ] )
public int ReflectionClass::getModifiers ( void )
public string ReflectionClass::getName ( void )
public string ReflectionClass::getNamespaceName ( void )
public object ReflectionClass::getParentClass ( void )
public array ReflectionClass::getProperties ([ int $filter ] )
public ReflectionProperty ReflectionClass::getProperty ( string $name )
public string ReflectionClass::getShortName ( void )
public int ReflectionClass::getStartLine ( void )
public array ReflectionClass::getStaticProperties ( void )
public mixed ReflectionClass::getStaticPropertyValue ( string $name [, string $default ] )
public array ReflectionClass::getTraitAliases ( void )
public array ReflectionClass::getTraitNames ( void )
public array ReflectionClass::getTraits ( void )
public bool ReflectionClass::hasConstant ( string $name )
public bool ReflectionClass::hasMethod ( string $name )
public bool ReflectionClass::hasProperty ( string $name )
public bool ReflectionClass::implementsInterface ( string $interface )
public bool ReflectionClass::inNamespace ( void )
public bool ReflectionClass::isAbstract ( void )
public bool ReflectionClass::isCloneable ( void )
public bool ReflectionClass::isFinal ( void )
public bool ReflectionClass::isInstance ( object $object )
public bool ReflectionClass::isInstantiable ( void )
public bool ReflectionClass::isInterface ( void )
public bool ReflectionClass::isInternal ( void )
public bool ReflectionClass::isIterateable ( void )
public bool ReflectionClass::isSubclassOf ( string $class )
public bool ReflectionClass::isTrait ( void )
public bool ReflectionClass::isUserDefined ( void )
public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )
public object ReflectionClass::newInstanceArgs ([ array $args ] )
public object ReflectionClass::newInstanceWithoutConstructor ( void )
public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )
public string ReflectionClass::__toString ( void )
}

Свойства

name

Требуется описание

Предопределенные константы

Типы узлов ReflectionObject

ReflectionObject::IS_IMPLICIT_ABSTRACT

Здесь описание...

ReflectionObject::IS_EXPLICIT_ABSTRACT

Здесь описание...

ReflectionObject::IS_FINAL

Здесь описание...

Содержание

  • ReflectionObject::__construct — Constructs a ReflectionObject
  • ReflectionObject::export — Export
ReflectionMethod::__toString
ReflectionObject::__construct
Reflection


Constructs a ReflectionObject

ReflectionObject
ReflectionObject::export
ReflectionObject
PHP Manual

ReflectionObject::__construct

(PHP 5)

ReflectionObject::__construct — Constructs a ReflectionObject

Описание

ReflectionObject::__construct ( object $argument )

Constructs a ReflectionObject.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

argument

An object instance.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ReflectionObject::export() - Export
  • Constructors

ReflectionObject
ReflectionObject::export
ReflectionObject


Export

ReflectionObject::__construct
ReflectionParameter
ReflectionObject
PHP Manual

ReflectionObject::export

(PHP 5)

ReflectionObject::export — Export

Описание

public static string ReflectionObject::export ( string $argument [, bool $return ] )

Exports a reflection.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

argument

Экспортируемый объект Reflection.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Если параметр return установлен в TRUE, тогда экспортируемый объект будет возвращен как string, иначе будет возвращен NULL.

Смотрите также

  • ReflectionObject::__construct() - Constructs a ReflectionObject

ReflectionObject::__construct
ReflectionParameter
ReflectionObject


Класс ReflectionParameter

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionParameter сообщает информацию об аргументах методов и функций.

Чтобы иметь возможность исследовать аргументы функции, сначала создайте представителя класса ReflectionFunction либо ReflectionMethod и затем используйте его метод ReflectionFunctionAbstract::getParameters() для получения массива аргументов.

Обзор классов

ReflectionParameter implements Reflector {
/* Свойства */
public $ReflectionParameter->name ;
/* Методы */
public bool ReflectionParameter::allowsNull ( void )
public bool ReflectionParameter::canBePassedByValue ( void )
final private void ReflectionParameter::__clone ( void )
ReflectionParameter::__construct ( string $function , string $parameter )
public static string ReflectionParameter::export ( string $function , string $parameter [, bool $return ] )
public ReflectionClass ReflectionParameter::getClass ( void )
public ReflectionClass ReflectionParameter::getDeclaringClass ( void )
public ReflectionFunction ReflectionParameter::getDeclaringFunction ( void )
public mixed ReflectionParameter::getDefaultValue ( void )
public string ReflectionParameter::getName ( void )
public int ReflectionParameter::getPosition ( void )
public bool ReflectionParameter::isArray ( void )
public bool ReflectionParameter::isDefaultValueAvailable ( void )
public bool ReflectionParameter::isOptional ( void )
public bool ReflectionParameter::isPassedByReference ( void )
public string ReflectionParameter::__toString ( void )
}

Свойства

name

Требуется описание

Содержание

  • ReflectionParameter::allowsNull — Checks if null is allowed
  • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
  • ReflectionParameter::__clone — Clone
  • ReflectionParameter::__construct — Construct
  • ReflectionParameter::export — Exports
  • ReflectionParameter::getClass — Get class
  • ReflectionParameter::getDeclaringClass — Gets declaring class
  • ReflectionParameter::getDeclaringFunction — Gets declaring function
  • ReflectionParameter::getDefaultValue — Gets default parameter value
  • ReflectionParameter::getName — Gets parameter name
  • ReflectionParameter::getPosition — Gets parameter position
  • ReflectionParameter::isArray — Checks if parameter expects an array
  • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
  • ReflectionParameter::isOptional — Checks if optional
  • ReflectionParameter::isPassedByReference — Checks if passed by reference
  • ReflectionParameter::__toString — To string
ReflectionObject::export
ReflectionParameter::allowsNull
Reflection


Checks if null is allowed

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter
PHP Manual

ReflectionParameter::allowsNull

(PHP 5)

ReflectionParameter::allowsNull — Checks if null is allowed

Описание

public bool ReflectionParameter::allowsNull ( void )

Checks whether the parameter allows NULL.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if NULL is allowed, otherwise FALSE

Смотрите также

  • ReflectionParameter::isOptional() - Checks if optional

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter


Returns whether this parameter can be passed by value

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter
PHP Manual

ReflectionParameter::canBePassedByValue

(Информация о версии неизвестна, возможно, только в SVN)

ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value

Описание

public bool ReflectionParameter::canBePassedByValue ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns TRUE if the parameter can be passed by value, FALSE otherwise. Returns NULL in case of an error.

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter


Clone

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter
PHP Manual

ReflectionParameter::__clone

(PHP 5)

ReflectionParameter::__clone — Clone

Описание

final private void ReflectionParameter::__clone ( void )

Clones.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionParameter::toString()
  • Object cloning

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter


Construct

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter
PHP Manual

ReflectionParameter::__construct

(PHP 5)

ReflectionParameter::__construct — Construct

Описание

ReflectionParameter::__construct ( string $function , string $parameter )

Constructs a ReflectionParameter class.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

function

The function to reflect parameters from.

parameter

The parameter.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Using the ReflectionParameter class

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i, // $param->getPosition() can be used from PHP 5.2.3
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

Результатом выполнения данного примера будет что-то подобное:

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

Смотрите также

  • ReflectionFunction::__construct() - Constructs a ReflectionFunction object
  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter


Exports

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter
PHP Manual

ReflectionParameter::export

(PHP 5)

ReflectionParameter::export — Exports

Описание

public static string ReflectionParameter::export ( string $function , string $parameter [, bool $return ] )

Exports.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

function

The function name.

parameter

The parameter name.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

The exported reflection.

Смотрите также

  • ReflectionParameter::toString()

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter


Get class

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter
PHP Manual

ReflectionParameter::getClass

(PHP 5)

ReflectionParameter::getClass — Get class

Описание

public ReflectionClass ReflectionParameter::getClass ( void )

Gets a class.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionClass object.

Смотрите также

  • ReflectionParameter::getDeclaringClass() - Gets declaring class

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter


Gets declaring class

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringClass

(PHP 5)

ReflectionParameter::getDeclaringClass — Gets declaring class

Описание

public ReflectionClass ReflectionParameter::getDeclaringClass ( void )

Gets the declaring class.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionClass object.

Смотрите также

  • ReflectionParameter::getClass() - Get class

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter


Gets declaring function

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.2.3)

ReflectionParameter::getDeclaringFunction — Gets declaring function

Описание

public ReflectionFunction ReflectionParameter::getDeclaringFunction ( void )

Gets the declaring function.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionFunction object.

Смотрите также

  • ReflectionParameter::getDeclaringClass() - Gets declaring class

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter


Gets default parameter value

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3)

ReflectionParameter::getDefaultValue — Gets default parameter value

Описание

public mixed ReflectionParameter::getDefaultValue ( void )

Gets the default value of the parameter for a user-defined function or method. If the parameter is not optional a ReflectionException will be thrown.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The parameters default value.

Примеры

Пример #1 Getting

<?php
function foo($test, $bar = 'baz')
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Name: ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Default value: ' . $param->getDefaultValue() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

Результат выполнения данного примера:

Name: test

Name: bar
Default value: baz

Примечания

Замечание:

Due to implementation details, it is not possible to get the default value of built-in functions or methods of built-in classes. Trying to do this will result a ReflectionException being thrown.

Смотрите также

  • ReflectionParameter::isOptional() - Checks if optional
  • ReflectionParameter::isPassedByReference() - Checks if passed by reference

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getName
ReflectionParameter


Gets parameter name

ReflectionParameter::getDefaultValue
ReflectionParameter::getPosition
ReflectionParameter
PHP Manual

ReflectionParameter::getName

(PHP 5)

ReflectionParameter::getName — Gets parameter name

Описание

public string ReflectionParameter::getName ( void )

Gets the name of the parameter.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The name of the reflected parameter.

Смотрите также

  • ReflectionParameter::getValue()

ReflectionParameter::getDefaultValue
ReflectionParameter::getPosition
ReflectionParameter


Gets parameter position

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter
PHP Manual

ReflectionParameter::getPosition

(PHP 5 >= 5.2.3)

ReflectionParameter::getPosition — Gets parameter position

Описание

public int ReflectionParameter::getPosition ( void )

Gets the position of the parameter.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The position of the parameter, left to right, starting at position #0.

Смотрите также

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter


Checks if parameter expects an array

ReflectionParameter::getPosition
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter
PHP Manual

ReflectionParameter::isArray

(PHP 5 >= 5.1.0)

ReflectionParameter::isArray — Checks if parameter expects an array

Описание

public bool ReflectionParameter::isArray ( void )

Checks if the parameter expects an array.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if an array is expected, FALSE otherwise.

Смотрите также

  • ReflectionParameter::isOptional() - Checks if optional

ReflectionParameter::getPosition
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter


Checks if a default value is available

ReflectionParameter::isArray
ReflectionParameter::isOptional
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3)

ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available

Описание

public bool ReflectionParameter::isDefaultValueAvailable ( void )

Checks if a default value for the parameter is available.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if a default value is available, otherwise FALSE

Смотрите также

  • ReflectionParameter::getDefaultValue() - Gets default parameter value
  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isArray
ReflectionParameter::isOptional
ReflectionParameter


Checks if optional

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isPassedByReference
ReflectionParameter
PHP Manual

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3)

ReflectionParameter::isOptional — Checks if optional

Описание

public bool ReflectionParameter::isOptional ( void )

Checks if the parameter is optional.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the parameter is optional, otherwise FALSE

Смотрите также

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isPassedByReference
ReflectionParameter


Checks if passed by reference

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter
PHP Manual

ReflectionParameter::isPassedByReference

(PHP 5)

ReflectionParameter::isPassedByReference — Checks if passed by reference

Описание

public bool ReflectionParameter::isPassedByReference ( void )

Checks if the parameter is passed in by reference.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the parameter is passed in by reference, otherwise FALSE

Смотрите также

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter


To string

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter
PHP Manual

ReflectionParameter::__toString

(PHP 5)

ReflectionParameter::__toString — To string

Описание

public string ReflectionParameter::__toString ( void )

To string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionParameter::export() - Exports
  • __toString

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter


Класс ReflectionProperty

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionProperty сообщает информацию о свойствах класса.

Обзор классов

ReflectionProperty implements Reflector {
/* Константы */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
/* Свойства */
public $ReflectionProperty->name ;
public $class ;
/* Методы */
final private void ReflectionProperty::__clone ( void )
ReflectionProperty::__construct ( mixed $class , string $name )
public static string ReflectionProperty::export ( mixed $class , string $name [, bool $return ] )
public ReflectionClass ReflectionProperty::getDeclaringClass ( void )
public string ReflectionProperty::getDocComment ( void )
public int ReflectionProperty::getModifiers ( void )
public string ReflectionProperty::getName ( void )
public mixed ReflectionProperty::getValue ( object $object )
public bool ReflectionProperty::isDefault ( void )
public bool ReflectionProperty::isPrivate ( void )
public bool ReflectionProperty::isProtected ( void )
public bool ReflectionProperty::isPublic ( void )
public bool ReflectionProperty::isStatic ( void )
public void ReflectionProperty::setAccessible ( bool $accessible )
public void ReflectionProperty::setValue ( object $object , mixed $value )
public string ReflectionProperty::__toString ( void )
}

Свойства

name

Требуется описание

class

Требуется описание

Предопределенные константы

Типы узлов ReflectionProperty

ReflectionProperty::IS_STATIC

Здесь описание...

ReflectionProperty::IS_PUBLIC

Здесь описание...

ReflectionProperty::IS_PROTECTED

Здесь описание...

ReflectionProperty::IS_PRIVATE

Здесь описание...

Содержание

  • ReflectionProperty::__clone — Clone
  • ReflectionProperty::__construct — Construct a ReflectionProperty object
  • ReflectionProperty::export — Export
  • ReflectionProperty::getDeclaringClass — Gets declaring class
  • ReflectionProperty::getDocComment — Gets doc comment
  • ReflectionProperty::getModifiers — Gets modifiers
  • ReflectionProperty::getName — Gets property name
  • ReflectionProperty::getValue — Gets value
  • ReflectionProperty::isDefault — Checks if default value
  • ReflectionProperty::isPrivate — Checks if property is private
  • ReflectionProperty::isProtected — Checks if property is protected
  • ReflectionProperty::isPublic — Checks if property is public
  • ReflectionProperty::isStatic — Checks if property is static
  • ReflectionProperty::setAccessible — Set property accessibility
  • ReflectionProperty::setValue — Set property value
  • ReflectionProperty::__toString — To string
ReflectionParameter::__toString
ReflectionProperty::__clone
Reflection


Clone

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty
PHP Manual

ReflectionProperty::__clone

(PHP 5)

ReflectionProperty::__clone — Clone

Описание

final private void ReflectionProperty::__clone ( void )

Clones.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionProperty::export() - Export
  • Object cloning

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty


Construct a ReflectionProperty object

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty
PHP Manual

ReflectionProperty::__construct

(PHP 5)

ReflectionProperty::__construct — Construct a ReflectionProperty object

Описание

ReflectionProperty::__construct ( mixed $class , string $name )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

class

The class name, that contains the property.

name

The name of the property being reflected.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Trying to get or set private or protected class property's values will result in an exception being thrown.

Примеры

Пример #1 ReflectionProperty::__construct() example

<?php
class String
{
    public $length  = 5;
}

// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('String', 'length');

// Print out basic information
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Create an instance of String
$obj= new String();

// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

Результатом выполнения данного примера будет что-то подобное:

===> The public property 'length' (which was declared at compile-time)
     having the modifiers array (
  0 => 'public',
)
---> Value is: int(5)
---> Setting value to 10, new value is: int(10)
object(String)#2 (1) {
  ["length"]=>
  int(10)
}

Пример #2 Getting value from private and protected properties using ReflectionProperty class

<?php

class Foo {
    public $x = 1;
    protected $y = 2;
    private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

?>

Результатом выполнения данного примера будет что-то подобное:

int(2)
int(3)

Смотрите также

  • ReflectionProperty::getName() - Gets property name
  • Constructors

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty


Export

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty
PHP Manual

ReflectionProperty::export

(PHP 5)

ReflectionProperty::export — Export

Описание

public static string ReflectionProperty::export ( mixed $class , string $name [, bool $return ] )

Exports a reflection.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

argument

Экспортируемый объект Reflection.

name

The property name.

return

Установка в TRUE вернет экспортируемое значение, в отличие от поведения, где этот параметр опущен. Установка в FALSE (по умолчанию) сделает противоположное.

Возвращаемые значения

Смотрите также

  • ReflectionProperty::toString()

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty


Gets declaring class

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty
PHP Manual

ReflectionProperty::getDeclaringClass

(PHP 5)

ReflectionProperty::getDeclaringClass — Gets declaring class

Описание

public ReflectionClass ReflectionProperty::getDeclaringClass ( void )

Gets the declaring class.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A ReflectionClass object.

Смотрите также

  • ReflectionProperty::getName() - Gets property name

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty


Gets doc comment

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty
PHP Manual

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0)

ReflectionProperty::getDocComment — Gets doc comment

Описание

public string ReflectionProperty::getDocComment ( void )

Gets the doc comment.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The doc comment.

Смотрите также

  • ReflectionProperty::export() - Export

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty


Gets modifiers

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty
PHP Manual

ReflectionProperty::getModifiers

(PHP 5)

ReflectionProperty::getModifiers — Gets modifiers

Описание

public int ReflectionProperty::getModifiers ( void )

Gets the modifiers.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A numeric representation of the modifiers.

Смотрите также

  • ReflectionProperty::isPrivate() - Checks if property is private
  • Reflection::getModifierNames() - Gets modifier names

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty


Gets property name

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty
PHP Manual

ReflectionProperty::getName

(PHP 5)

ReflectionProperty::getName — Gets property name

Описание

public string ReflectionProperty::getName ( void )

Gets the properties name.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The name of the reflected property.

Смотрите также

  • ReflectionProperty::getValue() - Gets value

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty


Gets value

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty
PHP Manual

ReflectionProperty::getValue

(PHP 5)

ReflectionProperty::getValue — Gets value

Описание

public mixed ReflectionProperty::getValue ( object $object )
public mixed ReflectionProperty::getValue ( void )

Gets the properties value.

Список параметров

object

If the property is non-static an object must be provided to fetch the property from. If you want to fetch the default property without providing an object use ReflectionClass::getDefaultProperties() instead.

Возвращаемые значения

The current value of the property.

Ошибки

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Примеры

Пример #1 ReflectionProperty::getValue() example

<?php
class Foo {
    public static $staticProperty = 'foobar';

    public $property = 'barfoo';
    protected $privateProperty = 'foofoo';
}

$reflectionClass = new ReflectionClass('Foo');

var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
var_dump($reflectionProperty->getValue(new Foo));
?>

Результат выполнения данного примера:

string(6) "foobar"
string(6) "barfoo"
string(6) "foofoo"

Смотрите также

  • ReflectionProperty::setValue() - Set property value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::getDefaultProperties() - Возвращает свойства по умолчанию
  • ReflectionClass::getStaticPropertyValue() - Возвращает значение static свойства

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty


Checks if default value

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty
PHP Manual

ReflectionProperty::isDefault

(PHP 5)

ReflectionProperty::isDefault — Checks if default value

Описание

public bool ReflectionProperty::isDefault ( void )

Checks whether the property is the default.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the property was declared at compile-time, or FALSE if it was created at run-time.

Смотрите также

  • ReflectionProperty::getValue() - Gets value

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty


Checks if property is private

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty
PHP Manual

ReflectionProperty::isPrivate

(PHP 5)

ReflectionProperty::isPrivate — Checks if property is private

Описание

public bool ReflectionProperty::isPrivate ( void )

Checks whether the property is private.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the property is private, FALSE otherwise.

Смотрите также

  • ReflectionProperty::isPublic() - Checks if property is public

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty


Checks if property is protected

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty
PHP Manual

ReflectionProperty::isProtected

(PHP 5)

ReflectionProperty::isProtected — Checks if property is protected

Описание

public bool ReflectionProperty::isProtected ( void )

Checks whether the property is protected.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the property is protected, FALSE otherwise.

Смотрите также

  • ReflectionProperty::isPrivate() - Checks if property is private

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty


Checks if property is public

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty
PHP Manual

ReflectionProperty::isPublic

(PHP 5)

ReflectionProperty::isPublic — Checks if property is public

Описание

public bool ReflectionProperty::isPublic ( void )

Checks whether the property is public.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the property is public, FALSE otherwise.

Смотрите также

  • ReflectionProperty::isPrivate() - Checks if property is private

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty


Checks if property is static

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty
PHP Manual

ReflectionProperty::isStatic

(PHP 5)

ReflectionProperty::isStatic — Checks if property is static

Описание

public bool ReflectionProperty::isStatic ( void )

Checks whether the property is static.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE if the property is static, FALSE otherwise.

Смотрите также

  • ReflectionProperty::isPrivate() - Checks if property is private

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty


Set property accessibility

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty
PHP Manual

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0)

ReflectionProperty::setAccessible — Set property accessibility

Описание

public void ReflectionProperty::setAccessible ( bool $accessible )

Sets a property to be accessible. For example, it may allow protected and private properties to be accessed.

Список параметров

accessible

TRUE to allow accessibility, or FALSE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isProtected() - Checks if property is protected

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty


Set property value

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty
PHP Manual

ReflectionProperty::setValue

(PHP 5)

ReflectionProperty::setValue — Set property value

Описание

public void ReflectionProperty::setValue ( object $object , mixed $value )
public void ReflectionProperty::setValue ( mixed $value )

Sets (changes) the property's value.

Список параметров

object

If the property is non-static an object must be provided to change the property on. If the property is static this parameter is left out and only value needs to be provided.

value

The new value.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Примеры

Пример #1 ReflectionProperty::setValue() example

<?php
class Foo {
    public static $staticProperty;

    public $property;
    protected $privateProperty;
}

$reflectionClass = new ReflectionClass('Foo');

$reflectionClass->getProperty('staticProperty')->setValue('foo');
var_dump(Foo::$staticProperty);

$foo = new Foo;

$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>

Результат выполнения данного примера:

string(3) "foo"
string(3) "bar"
string(6) "foobar"

Смотрите также

  • ReflectionProperty::getValue() - Gets value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::setStaticPropertyValue() - Устанавливает значение static-свойства

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty


To string

ReflectionProperty::setValue
Reflector
ReflectionProperty
PHP Manual

ReflectionProperty::__toString

(PHP 5)

ReflectionProperty::__toString — To string

Описание

public string ReflectionProperty::__toString ( void )

To string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionProperty::()
  • __toString

ReflectionProperty::setValue
Reflector
ReflectionProperty


Интерфейс Reflector

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Интерфейс Reflector реализуют все экспортируемые Reflection-классы.

Обзор классов

Reflector {
/* Методы */
abstract public static string export ( void )
abstract public string __toString ( void )
}

Содержание

  • Reflector::export — Exports
  • Reflector::__toString — To string
ReflectionProperty::__toString
Reflector::export
Reflection


Exports

Reflector
Reflector::__toString
Reflector
PHP Manual

Reflector::export

(PHP 5)

Reflector::export — Exports

Описание

abstract public static string Reflector::export ( void )

Exports.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • Reflection::__toString()

Reflector
Reflector::__toString
Reflector


To string

Reflector::export
ReflectionException
Reflector
PHP Manual

Reflector::__toString

(PHP 5)

Reflector::__toString — To string

Описание

abstract public string Reflector::__toString ( void )

To string.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Смотрите также

  • ReflectionProperty::export() - Export
  • __toString

Reflector::export
ReflectionException
Reflector


Класс ReflectionException

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Класс ReflectionException.

Обзор классов

ReflectionException extends Exception {
/* Свойства */
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

Требуется описание

code

Требуется описание

file

Требуется описание

line

Требуется описание

Reflector::__toString
Функции для работы с переменными
Reflection


Функции для работы с переменными

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции для работы с переменными
    • debug_zval_dump — Выводит строковое представление внутреннего значения zend
    • doubleval — Псевдоним floatval
    • empty — Проверяет, пуста ли переменная
    • floatval — Возвращает значение переменной в виде числа с плавающей точкой
    • get_defined_vars — Возвращает массив всех определенных переменных
    • get_resource_type — Возвращает тип ресурса
    • gettype — Возвращает тип переменной
    • import_request_variables — Импортирует переменные GET/POST/Cookie в глобальную область видимости
    • intval — Возвращает целое значение переменной
    • is_array — Определяет, является ли переменная массивом
    • is_bool — Проверяет, является ли переменная булевой
    • is_callable — Проверяет, может ли значение переменной быть вызвано в качестве функции
    • is_double — Псевдоним is_float
    • is_float — Проверяет, является ли переменная числом с плавающей точкой
    • is_int — Проверяет, является ли переменная переменной целочисленного типа
    • is_integer — Псевдоним is_int
    • is_long — Псевдоним is_int
    • is_null — Проверяет, является ли значение переменной равным NULL
    • is_numeric — Проверяет, является ли переменная числом или строкой, содержащей число
    • is_object — Проверяет, является ли переменная объектом
    • is_real — Псевдоним is_float
    • is_resource — Проверяет, является ли переменная ресурсом
    • is_scalar — Проверяет, является ли переменная скалярным значением
    • is_string — Проверяет, является ли переменная строкой
    • isset — Определяет, была ли установлена переменная значением отличным от NULL
    • print_r — Выводит удобочитаемую информацию о переменной
    • serialize — Генерирует пригодное для хранения представление переменной
    • settype — Присваивает переменной новый тип
    • strval — Возвращает строковое значение переменной
    • unserialize — Создает PHP-значение из хранимого представления
    • unset — Удаляет переменную
    • var_dump — Выводит информацию о переменной
    • var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
ReflectionException
Введение
Расширения, относящиеся к переменным и типам


Введение

Для более подробной информации о поведении и работе с переменными см. раздел "Переменные", секцию "Справочник языка" руководства.

Функции для работы с переменными
Установка и настройка
Функции для работы с переменными


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Функции для работы с переменными


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Variables
Имя | Значение по умолчанию | Область изменения | Changelog
unserialize_callback_func | NULL | PHP_INI_ALL | Доступна с PHP 4.2.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

unserialize_callback_func string

Если в процессе десериализации будет обнаружен неопределенный класс, то будет вызвана callback-функция unserialize(). Если указанная callback-функция не определена или не может определить отсутствующий класс, то будет выведено предупреждение.

См. также unserialize() и раздел автозагрузки объектов.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Функции для работы с переменными
Функции для работы с переменными


Функции для работы с переменными
PHP Manual

Функции для работы с переменными

Содержание

  • debug_zval_dump — Выводит строковое представление внутреннего значения zend
  • doubleval — Псевдоним floatval
  • empty — Проверяет, пуста ли переменная
  • floatval — Возвращает значение переменной в виде числа с плавающей точкой
  • get_defined_vars — Возвращает массив всех определенных переменных
  • get_resource_type — Возвращает тип ресурса
  • gettype — Возвращает тип переменной
  • import_request_variables — Импортирует переменные GET/POST/Cookie в глобальную область видимости
  • intval — Возвращает целое значение переменной
  • is_array — Определяет, является ли переменная массивом
  • is_bool — Проверяет, является ли переменная булевой
  • is_callable — Проверяет, может ли значение переменной быть вызвано в качестве функции
  • is_double — Псевдоним is_float
  • is_float — Проверяет, является ли переменная числом с плавающей точкой
  • is_int — Проверяет, является ли переменная переменной целочисленного типа
  • is_integer — Псевдоним is_int
  • is_long — Псевдоним is_int
  • is_null — Проверяет, является ли значение переменной равным NULL
  • is_numeric — Проверяет, является ли переменная числом или строкой, содержащей число
  • is_object — Проверяет, является ли переменная объектом
  • is_real — Псевдоним is_float
  • is_resource — Проверяет, является ли переменная ресурсом
  • is_scalar — Проверяет, является ли переменная скалярным значением
  • is_string — Проверяет, является ли переменная строкой
  • isset — Определяет, была ли установлена переменная значением отличным от NULL
  • print_r — Выводит удобочитаемую информацию о переменной
  • serialize — Генерирует пригодное для хранения представление переменной
  • settype — Присваивает переменной новый тип
  • strval — Возвращает строковое значение переменной
  • unserialize — Создает PHP-значение из хранимого представления
  • unset — Удаляет переменную
  • var_dump — Выводит информацию о переменной
  • var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
Предопределенные константы
debug_zval_dump
Функции для работы с переменными
PHP Manual


Выводит строковое представление внутреннего значения zend

Функции для работы с переменными
doubleval
Функции для работы с переменными
PHP Manual

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5)

debug_zval_dump — Выводит строковое представление внутреннего значения zend

Описание

void debug_zval_dump ( mixed $variable )

Выводит строковое представление внутреннего значения zend.

Список параметров

variable

Обрабатываемая переменная.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования debug_zval_dump()

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

Результат выполнения данного примера:

&string(11) "Hello World" refcount(3)

Замечание: Предостережение по поводу refcount

Значение refcount, возвращаемое этой функцией, в некоторых случаях неочевидно. Например, разработчик может ожидать, что в приведенном выше примере значение refcount будет 2. Третья ссылка была создана в момент вызова debug_zval_dump().

Это поведение более сложно, когда переменная не передается в функцию debug_zval_dump() по ссылке. Для иллюстрации рассмотрим немного измененный вариант приведенного выше примера:

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // в этот раз не передается по ссылке
?>

Результат выполнения данного примера:

string(11) "Hello World" refcount(1)

Почему refcount(1)? Потому что копия $var1 создается при вызове функции.

Эта функция становится еще более сбивающей с толку, когда передается переменная со значением refcount, равным 1 (копированием по значению):

<?php
$var1 = 'Hello World';

debug_zval_dump($var1);
?>

Результат выполнения данного примера:

string(11) "Hello World" refcount(2)

Значение refcount, равное 2, в данном случае совсем непонятно. Особенно учитывая приведенные выше примеры. Так в чем же дело?

Когда переменная имеет единственную ссылку (как было с переменной $var1, перед тем, как ее передали в качестве аргумента в функцию debug_zval_dump()), процессор PHP оптимизирует метод, которым она передается в функцию. Внутренне, PHP рассматривает $var1 как ссылку (таким образом refcount увеличивается для области видимости функции), при условии, что если в переданную ссылку придется производить запись, то будет создана ее копия, но только в момент записи. Такое поведение известно как "copy on write."

Таким образом, если debug_zval_dump() приходится писать в свой единственный параметр (а она не делает этого), то будет создана копия. До этого момента параметр остается ссылкой, приводя к увеличению refcount до 2 в области видимости вызова функции.

Смотрите также

  • var_dump() - Выводит информацию о переменной
  • debug_backtrace() - Generates a backtrace
  • "Ссылки. Разъяснения"
  • "» Ссылки. Разъяснения (от Derick Rethans)"

Функции для работы с переменными
doubleval
Функции для работы с переменными


Псевдоним floatval

debug_zval_dump
empty
Функции для работы с переменными
PHP Manual

doubleval

(PHP 4, PHP 5)

doubleval — Псевдоним floatval()

Описание

Эта функция является псевдонимом: floatval().

Список изменений

Версия | Описание
4.2.0 | doubleval() стала псевдонимом функции floatval(). До этого времени существовала только функция doubleval().

debug_zval_dump
empty
Функции для работы с переменными


Проверяет, пуста ли переменная

doubleval
floatval
Функции для работы с переменными
PHP Manual

empty

(PHP 4, PHP 5)

empty — Проверяет, пуста ли переменная

Описание

bool empty ( mixed $var )

Проверяет, пуста ли переменная.

Список параметров

var

Проверяемая переменная

Замечание:

empty() проверяет только переменные, и попытка проверить что-то еще вызовет ошибку синтаксиса. Другими словами, следующий код не будет работать: empty(trim($name)).

empty() является противоположностью (boolean) var, за исключением того, что в случае неопределенной переменной не будет сгенерировано предупреждения.

Возвращаемые значения

Возвращает FALSE, если var содержит непустое и ненулевое значение.

Следующие значения воспринимаются как пустые:

  • "" (пустая строка)
  • 0 (целое число)
  • 0.0 (дробное число)
  • "0" (строка)
  • NULL
  • FALSE
  • array() (пустой массив)
  • var $var; (переменная объявлена, но не имеет значения в классе)

Список изменений

Версия | Описание
PHP 5.0.0 | Начиная с PHP 5, объекты без свойств более не считаются пустыми.

Примеры

Пример #1 Простое сравнение empty() и isset().

<?php
$var = 0;

// Принимает значение true, потому что $var пусто
if (empty($var)) {
    echo '$var или 0, или пусто, или вообще не определена';
}

// Принимает значение true, потому что $var определена
if (isset($var)) {
    echo '$var определена, даже если она пустая';
}
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание:

При использовании функции empty() на недоступных (необъявленных) свойствах объекта будет вызван встроенный метод объекта __isset, если он определен.

Смотрите также

  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • __isset
  • unset() - Удаляет переменную
  • array_key_exists() - Проверяет, присутствует ли в массиве указанный ключ или индекс
  • count() - Подсчитывает количество элементов массива или что-то в объекте
  • strlen() - Возвращает длину строки
  • Таблица сравнения типов

doubleval
floatval
Функции для работы с переменными


Возвращает значение переменной в виде числа с плавающей точкой

empty
get_defined_vars
Функции для работы с переменными
PHP Manual

floatval

(PHP 4 >= 4.2.0, PHP 5)

floatval — Возвращает значение переменной в виде числа с плавающей точкой

Описание

float floatval ( mixed $var )

Возвращает значение переменной var в виде числа с плавающей точкой (float).

Список параметров

var

Может быть любого скалярного типа. floatval() нельзя использовать с объектами, в этом случае возникнет ошибка уровня E_NOTICE и функция вернет 1.

Возвращаемые значения

Значение заданной переменной в виде числа с плавающей точкой. Пустые массивы в качестве аргумента возвращают 0, непустые массивы возвращают 1.

Примеры

Пример #1 Пример использования floatval()

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?>

Смотрите также

  • intval() - Возвращает целое значение переменной
  • strval() - Возвращает строковое значение переменной
  • settype() - Присваивает переменной новый тип
  • Манипуляции с типами

empty
get_defined_vars
Функции для работы с переменными


Возвращает массив всех определенных переменных

floatval
get_resource_type
Функции для работы с переменными
PHP Manual

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5)

get_defined_vars — Возвращает массив всех определенных переменных

Описание

array get_defined_vars ( void )

Эта функция возвращает многомерный массив, содержащий список всех определенных переменных, будь то переменные окружения, серверные переменные или переменные, определенные пользователем, в той области видимости, в которой была вызвана get_defined_vars().

Возвращаемые значения

Многомерный массив со всеми переменными.

Примеры

Пример #1 Пример использования get_defined_vars()

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// печатает $b
print_r($arr["b"]);

/* печатает путь до интерпретатора PHP (при использовании режима CGI)
 * например, /usr/local/bin/php */
echo $arr["_"];

// печатает параметры командной строки, если они есть
print_r($arr["argv"]);

// печатает все серверные переменные
print_r($arr["_SERVER"]);

// печатает все доступные ключи для массивов переменных
print_r(array_keys(get_defined_vars()));
?>

Список изменений

Версия | Описание
5.0.0 | Переменная $GLOBALS включена в возвращаемый результирующий массив.

Смотрите также

  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • get_defined_functions() - Возвращает массив всех определённых функций
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values

floatval
get_resource_type
Функции для работы с переменными


Возвращает тип ресурса

get_defined_vars
gettype
Функции для работы с переменными
PHP Manual

get_resource_type

(PHP 4 >= 4.0.2, PHP 5)

get_resource_type — Возвращает тип ресурса

Описание

string get_resource_type ( resource $handle )

Функция возвращает тип данного ресурса.

Список параметров

handle

Определяемый дескриптор ресурса.

Возвращаемые значения

Если данный параметр handle является ресурсом, функция возвращает строку, указывающую его тип. Если тип не определяется этой функцией, возвращаемым значением будет строка Unknown.

Функция возвращает FALSE и вызывает ошибку, если handle не является ресурсом (resource).

Примеры

Пример #1 Пример использования get_resource_type()

<?php
// выводит: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// выводит: file
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// выводит: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

get_defined_vars
gettype
Функции для работы с переменными


Возвращает тип переменной

get_resource_type
import_request_variables
Функции для работы с переменными
PHP Manual

gettype

(PHP 4, PHP 5)

gettype — Возвращает тип переменной

Описание

string gettype ( mixed $var )

Возвращает тип PHP-переменной var.

Внимание

Не используйте gettype() для проверки определенного типа, так как возвращаемая строка может измениться в последующих версиях. Вдобавок, эта операция довольно медленная, так как она использует сравнение строк.

Используйте функции is_* вместо нее.

Список параметров

var

Переменная, у которой проверяется тип.

Возвращаемые значения

Возможными значениями возвращаемой строки являются:

  • "boolean"
  • "integer"
  • "double" (по историческим причинам в случае типа float возвращается "double", а не просто "float")
  • "string"
  • "array"
  • "object"
  • "resource"
  • "NULL"
  • "unknown type"

Примеры

Пример #1 Пример использования gettype()

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
    echo gettype($value), "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

integer
double
NULL
object
string

Смотрите также

  • settype() - Присваивает переменной новый тип
  • get_class() - Возвращает имя класса, к которому принадлежит объект
  • is_array() - Определяет, является ли переменная массивом
  • is_bool() - Проверяет, является ли переменная булевой
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_null() - Проверяет, является ли значение переменной равным NULL
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_object() - Проверяет, является ли переменная объектом
  • is_resource() - Проверяет, является ли переменная ресурсом
  • is_scalar() - Проверяет, является ли переменная скалярным значением
  • is_string() - Проверяет, является ли переменная строкой
  • function_exists() - Возвращает TRUE, если указанная функция определена
  • method_exists() - Проверяет, существует ли метод в данном классе

get_resource_type
import_request_variables
Функции для работы с переменными


Импортирует переменные GET/POST/Cookie в глобальную область видимости

gettype
intval
Функции для работы с переменными
PHP Manual

import_request_variables

(PHP 4 >= 4.1.0, PHP 5)

import_request_variables — Импортирует переменные GET/POST/Cookie в глобальную область видимости

Описание

bool import_request_variables ( string $types [, string $prefix ] )

Импортирует переменные GET/POST/Cookie в глобальную область видимости. Это бывает полезно, если при отключенной директиве register_globals и желании видеть некоторые переменные в глобальной области видимости.

Если необходимо импортировать в глобальную область видимости другие переменные, такие, как $_SERVER, воспользуйтесь функцией extract().

Список параметров

types

С помощью параметра types, можно указать, какие переменные запроса необходимо импортировать. Можно использовать символы 'G', 'P' и 'C' соответственно для GET, POST и Cookie. Данные символы не являются регистро-зависимыми, поэтому также можно использовать любую комбинацию из 'g', 'p' и 'c'. POST включает в себя информацию о загруженных файлах методом POST.

Замечание:

Имейте в виду, что порядок букв имеет значение, т.е. при использовании "GP" переменные POST перезапишут переменные GET с таким же именем. Любые буквы, отличные от GPC, игнорируются.

prefix

Префикс имени переменной, добавляемый перед всеми именами переменных, импортируемых в глобальную область видимости. То есть, если есть переменная GET с именем "userid", и указан префикс "pref_", то результатом будет глобальная переменная с именем $pref_userid.

Замечание:

Несмотря на то, что prefix - необязательный параметр, будет вызвана ошибка уровня E_NOTICE, если префикс не будет указан или будет указана пустая строка в качестве префикса. Это потенциальная брешь в безопасности. Ошибки уровня Notice не отображаются при использовании уровня отображения ошибок по умолчанию.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования import_request_variables()

<?php
// В примере импортируются переменные GET и POST
// с префиксом "rvar_"
import_request_variables("gp", "rvar_");

echo $rvar_foo;
?>

Смотрите также

  • $_REQUEST
  • register_globals
  • Предопределенные переменные
  • extract() - Импортирует переменные из массива в текущую таблицу символов

gettype
intval
Функции для работы с переменными


Возвращает целое значение переменной

import_request_variables
is_array
Функции для работы с переменными
PHP Manual

intval

(PHP 4, PHP 5)

intval — Возвращает целое значение переменной

Описание

int intval ( mixed $var [, int $base = 10 ] )

Возвращает целое значение переменной var, используя указанное основание системы исчисления base для преобразования (по умолчанию основание равно 10). intval() нельзя использовать с объектами, попытка это сделать вызовет ошибку уровня E_NOTICE и вернет значение 1.

Список параметров

var

Скалярное значение для конвертации в целое

base

Основание системы исчисления для преобразования

Возвращаемые значения

Целое значение переменной var в случае успеха, или 0 в случае неудачи. Для пустых массивов возвращается 0, для непустых возвращается 1.

Максимальное значение зависит от операционной системы. В 32-х битных системах максимальное знаковое целое лежит в диапазоне от -2147483648 до 2147483647. Так, например, в такой системе, intval('1000000000000') вернет 2147483647. Максимальное знаковое целое значение для 64-х битных систем - 9223372036854775807.

Для строк функция скорее всего вернет 0, хотя это зависит от первого символа в строке. Применяются общие правила преобразований в целые.

Примеры

Пример #1 Примеры использования intval()

Следующие примеры приведены для 32-х битной системы.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
?>

Примечания

Замечание:

Параметр base применяется только в том случае, если параметр var является строкой.

Список изменений

Версия | Описание
5.1.0 | Генерирует ошибку уровня E_NOTICE и возвращает 1, если в качестве var передан объект.

Смотрите также

  • floatval() - Возвращает значение переменной в виде числа с плавающей точкой
  • strval() - Возвращает строковое значение переменной
  • settype() - Присваивает переменной новый тип
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • Манипуляции с типами
  • Математические Функции Произвольной Точности BCMath

import_request_variables
is_array
Функции для работы с переменными


Определяет, является ли переменная массивом

intval
is_bool
Функции для работы с переменными
PHP Manual

is_array

(PHP 4, PHP 5)

is_array — Определяет, является ли переменная массивом

Описание

bool is_array ( mixed $var )

Определяет, является ли данная переменная массивом.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если переменная var является массивом array, или FALSE в противном случае.

Примеры

Пример #1 Проверяет, является ли переменная массивом

<?php
$yes = array('это', 'массив');

echo is_array($yes) ? 'Массив' : 'Не массив';
echo "\n";

$no = 'это строка';

echo is_array($no) ? 'Массив' : 'Не массив';
?>

Результат выполнения данного примера:

Массив
Не массив

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом

intval
is_bool
Функции для работы с переменными


Проверяет, является ли переменная булевой

is_array
is_callable
Функции для работы с переменными
PHP Manual

is_bool

(PHP 4, PHP 5)

is_bool — Проверяет, является ли переменная булевой

Описание

bool is_bool ( mixed $var )

Проверяет, является ли данная переменная булевой.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является переменной типа boolean, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_bool()

<?php
$a = false;
$b = 0;

// Так как $a является булевой переменной, функция вернет true
if (is_bool($a) === true) {
    echo "Да, это булевая переменная";
}

// Так как $b не является булевой переменной, функция вернет false
if (is_bool($b) === false) {
    echo "Нет, это не булевая переменная";
}
?>

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_array
is_callable
Функции для работы с переменными


Проверяет, может ли значение переменной быть вызвано в качестве функции

is_bool
is_double
Функции для работы с переменными
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable — Проверяет, может ли значение переменной быть вызвано в качестве функции

Описание

bool is_callable ( callback $name [, bool $syntax_only = false [, string &$callable_name ]] )

Проверяет, может ли значение переменной быть вызвано в качестве функции. С помощью данной функции можно проверить, что простая переменная содержит корректное имя функции, или что массив содержит правильно заданный объект и имя функции.

Список параметров

name

Может быть как именем функции, заданным строковой переменной, так и объектом и именем вызываемого метода, например:

array($SomeObject, 'MethodName')

syntax_only

Если равен TRUE, функция только проверяет, что name может быть функцией или методом. В этом случае будут игнорироваться переменные, не являющиеся строкой или массивом c неправильной структурой для имени callback-функции. Правильная структура предполагает наличие только 2 элементов, первый из которых - объект или строка, а второй - строка.

callable_name

Получает "имя для вызова". В примере ниже это "someClass::someMethod". Следует иметь ввиду, что хотя запись someClass::SomeMethod() означает вызываемый статический метод, в данном случае это не так.

Возвращаемые значения

Возвращает TRUE, если name может быть вызвана, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_callable()

<?php
//  Как проверить переменную, чтобы узнать, может ли она быть вызвана
//  как функция.

//
//  Простая переменная, содержащая имя функции
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // someFunction

//
//  Массив, содержащий метод класса
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass::someMethod

?>

Смотрите также

  • function_exists() - Возвращает TRUE, если указанная функция определена
  • method_exists() - Проверяет, существует ли метод в данном классе

is_bool
is_double
Функции для работы с переменными


Псевдоним is_float

is_callable
is_float
Функции для работы с переменными
PHP Manual

is_double

(PHP 4, PHP 5)

is_double — Псевдоним is_float()

Описание

Эта функция является псевдонимом: is_float().

is_callable
is_float
Функции для работы с переменными


Проверяет, является ли переменная числом с плавающей точкой

is_double
is_int
Функции для работы с переменными
PHP Manual

is_float

(PHP 4, PHP 5)

is_float — Проверяет, является ли переменная числом с плавающей точкой

Описание

bool is_float ( mixed $var )

Проверяет, является ли данная переменная числом с плавающей точкой.

Замечание:

Чтобы проверить, является ли переменная числом или строкой, содержащей число (как поле ввода в форме, которое всегда является строкой), используйте is_numeric().

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является переменной типа float, FALSE в противном случае.

Примеры

Пример #1 Пример использования is_float()

<?php
if (is_float(27.25)) {
    echo "is float\n";
} else {
    echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7));  //Научная форма записи
var_dump(is_float(true));
?>

Результат выполнения данного примера:

is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Смотрите также

  • is_bool() - Проверяет, является ли переменная булевой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_string() - Проверяет, является ли переменная строкой
  • is_array() - Определяет, является ли переменная массивом
  • is_object() - Проверяет, является ли переменная объектом

is_double
is_int
Функции для работы с переменными


Проверяет, является ли переменная переменной целочисленного типа

is_float
is_integer
Функции для работы с переменными
PHP Manual

is_int

(PHP 4, PHP 5)

is_int — Проверяет, является ли переменная переменной целочисленного типа

Описание

bool is_int ( mixed $var )

Проверяет, является ли тип переменной целочисленным.

Замечание:

Чтобы проверить, что переменная является числом или строкой, содержащей число (как поле ввода в форме, которое всегда является строкой), используйте is_numeric().

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является целым числом, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_int()

<?php
if (is_int(23)) {
    echo "целое\n";
} else {
    echo "не целое\n";
}
var_dump(is_int(23));
var_dump(is_int("23"));
var_dump(is_int(23.5));
var_dump(is_int(true));
?>

Результат выполнения данного примера:

целое
bool(true)
bool(false)
bool(false)
bool(false)

Смотрите также

  • is_bool() - Проверяет, является ли переменная булевой
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_string() - Проверяет, является ли переменная строкой
  • is_array() - Определяет, является ли переменная массивом
  • is_object() - Проверяет, является ли переменная объектом

is_float
is_integer
Функции для работы с переменными


Псевдоним is_int

is_int
is_long
Функции для работы с переменными
PHP Manual

is_integer

(PHP 4, PHP 5)

is_integer — Псевдоним is_int()

Описание

Эта функция является псевдонимом: is_int().

is_int
is_long
Функции для работы с переменными


Псевдоним is_int

is_integer
is_null
Функции для работы с переменными
PHP Manual

is_long

(PHP 4, PHP 5)

is_long — Псевдоним is_int()

Описание

Эта функция является псевдонимом: is_int().

is_integer
is_null
Функции для работы с переменными


Проверяет, является ли значение переменной равным NULL

is_long
is_numeric
Функции для работы с переменными
PHP Manual

is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null — Проверяет, является ли значение переменной равным NULL

Описание

bool is_null ( mixed $var )

Проверяет, является ли значение данной переменной равным NULL.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если значение var равно null, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_null()

<?php

error_reporting(E_ALL);

$foo = NULL;
var_dump(is_null($inexistent), is_null($foo));

?>
Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)

Смотрите также

  • The NULL type
  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • is_bool() - Проверяет, является ли переменная булевой
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_long
is_numeric
Функции для работы с переменными


Проверяет, является ли переменная числом или строкой, содержащей число

is_null
is_object
Функции для работы с переменными
PHP Manual

is_numeric

(PHP 4, PHP 5)

is_numeric — Проверяет, является ли переменная числом или строкой, содержащей число

Описание

bool is_numeric ( mixed $var )

Проверяет, является ли данная переменная числом. Строки, содержащие числа, состоят из необязательного знака, любого количества цифр, необязательной десятичной части и необязательной экспоненциальной части. Так, +0123.45e6 является верным числовым значением. Шестнадцатеричная запись (0xFF) также допускается, но только без знака, десятичной и экспоненциальной части.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является числом или строкой, содержащей число, в противном случае возвращается FALSE.

Примеры

Пример #1 Примеры использованияis_numeric()

<?php
$tests = array(
    "42",
    1337,
    "1e4",
    "not numeric",
    array(),
    9.1
);

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' - число", PHP_EOL;
    } else {
        echo "'{$element}' - НЕ число", PHP_EOL;
    }
}
?>

Результат выполнения данного примера:

'42' - число
'1337' - число
'1e4' - число
'not numeric' - НЕ число
'Array' - НЕ число
'9.1' - число

Смотрите также

  • ctype_digit() - Проверяет на наличие цифровых символов в строке
  • is_bool() - Проверяет, является ли переменная булевой
  • is_null() - Проверяет, является ли значение переменной равным NULL
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_null
is_object
Функции для работы с переменными


Проверяет, является ли переменная объектом

is_numeric
is_real
Функции для работы с переменными
PHP Manual

is_object

(PHP 4, PHP 5)

is_object — Проверяет, является ли переменная объектом

Описание

bool is_object ( mixed $var )

Проверяет, является ли данная переменная объектом.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является объектом, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_object()

<?php
// Объявляем простую функцию, которая возвращает
// массив из нашего объекта
function get_students($obj)
{
    if (!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// Создаем новый экземпляр класса
// и заполняем некоторыми значениями

$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));
?>

Примечания

Замечание:

Функция вернет FALSE, если применяется к десериализованному объекту, у которого отсутствует объявление класса (даже если gettype() возвращает object).

Смотрите также

  • is_bool() - Проверяет, является ли переменная булевой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_string() - Проверяет, является ли переменная строкой
  • is_array() - Определяет, является ли переменная массивом

is_numeric
is_real
Функции для работы с переменными


Псевдоним is_float

is_object
is_resource
Функции для работы с переменными
PHP Manual

is_real

(PHP 4, PHP 5)

is_real — Псевдоним is_float()

Описание

Эта функция является псевдонимом: is_float().

is_object
is_resource
Функции для работы с переменными


Проверяет, является ли переменная ресурсом

is_real
is_scalar
Функции для работы с переменными
PHP Manual

is_resource

(PHP 4, PHP 5)

is_resource — Проверяет, является ли переменная ресурсом

Описание

bool is_resource ( mixed $var )

Проверяет, является ли данная переменная ресурсом.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является ресурсом, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_resource()

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('Ошибка соединения : ' . mysql_error());
}

?>

Смотрите также

  • "Тип "ресурс""
  • get_resource_type() - Возвращает тип ресурса

is_real
is_scalar
Функции для работы с переменными


Проверяет, является ли переменная скалярным значением

is_resource
is_string
Функции для работы с переменными
PHP Manual

is_scalar

(PHP 4 >= 4.0.5, PHP 5)

is_scalar — Проверяет, является ли переменная скалярным значением

Описание

bool is_scalar ( mixed $var )

Проверяет, является ли данная переменная скалярным значением.

Скалярными переменными - это переменные с типами integer, float, string и boolean. Типы array, object и resource не являются скалярными.

Замечание:

is_scalar() не считает переменные типа resource скалярными, так как ресурсы являются абстрактными типами данных, которые в настоящее время основаны на целом типе. Не стоит полагаться на данную деталь реализации, так как она может измениться.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является скалярным значением, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_scalar()

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");

show_var($pi);
show_var($proteins)

?>

Результат выполнения данного примера:

3.1416
array(3) {
  [0]=>
  string(10) "hemoglobin"
  [1]=>
  string(20) "cytochrome c oxidase"
  [2]=>
  string(10) "ferredoxin"
}

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_numeric() - Проверяет, является ли переменная числом или строкой, содержащей число
  • is_real() - Псевдоним is_float
  • is_string() - Проверяет, является ли переменная строкой
  • is_bool() - Проверяет, является ли переменная булевой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_resource
is_string
Функции для работы с переменными


Проверяет, является ли переменная строкой

is_scalar
isset
Функции для работы с переменными
PHP Manual

is_string

(PHP 4, PHP 5)

is_string — Проверяет, является ли переменная строкой

Описание

bool is_string ( mixed $var )

Проверяет, является ли данная переменная строкой.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является строкой, и FALSE в противном случае.

Примеры

Пример #1 Пример использования is_string()

<?php
if (is_string("23")) {
    echo "строка\n";
} else {
    echo "не строка\n";
}
var_dump(is_string('abc'));
var_dump(is_string("23"));
var_dump(is_string(23.5));
var_dump(is_string(true));
?>

Результат выполнения данного примера:

строка
bool(true)
bool(true)
bool(false)
bool(false)

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная переменной целочисленного типа
  • is_bool() - Проверяет, является ли переменная булевой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_scalar
isset
Функции для работы с переменными


Определяет, была ли установлена переменная значением отличным от NULL

is_string
print_r
Функции для работы с переменными
PHP Manual

isset

(PHP 4, PHP 5)

isset — Определяет, была ли установлена переменная значением отличным от NULL

Описание

bool isset ( mixed $var [, mixed $... ] )

Определяет, была ли установлена переменная значением отличным от NULL

Если переменная была удалена с помощью unset(), то она больше не считается установленной. isset() вернет FALSE, если проверяемая переменная имеет значение NULL. Следует помнить, что NULL-байт ("\0") не является эквивалентом константе PHP NULL.

Если были переданы несколько параметров, то isset() вернет TRUE только в том случае, если все параметры определены. Проверка происходит слева направо и заканчивается, как только будет встречена неопределенная переменная.

Список параметров

var

Проверяемая переменная.

...

Другая переменная ...

Возвращаемые значения

Возвращает TRUE, если var определена и значение отличное от NULL, и FALSE в противном случае.

Примеры

Пример #1 Пример использования isset()

<?php

$var = '';

// Проверка вернет TRUE, поэтому текст будет напечатан.
if (isset($var)) {
    echo "Эта переменная определена, поэтому меня и напечатали.";
}

// В следующем примере мы используем var_dump для вывода
// значения, возвращаемого isset().

$a = "test";
$b = "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

Функция также работает с элементами массивов:

<?php

$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

// Элемент с ключом 'hello' равен NULL, поэтому он считается неопределенным
// Если Вы хотите проверить существование ключей со значением NULL, используйте:
var_dump(array_key_exists('hello', $a)); // TRUE

// Проверка вложенных элементов массива
var_dump(isset($a['pie']['a']));        // TRUE
var_dump(isset($a['pie']['b']));        // FALSE
var_dump(isset($a['cake']['a']['b']));  // FALSE

?>

Примечания

Внимание

isset() работает только с переменными, поэтому передача в качестве параметров любых других значений приведет к ошибке парсинга. Для проверки определения констант используйте функцию defined().

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание:

При использовании isset() на недоступных свойствах объекта, будет вызываться перегруженный метод __isset, если он существует.

Смотрите также

  • empty() - Проверяет, пуста ли переменная
  • __isset
  • unset() - Удаляет переменную
  • defined() - Проверяет существование указанной именованной константы
  • Таблица сравнения типов
  • array_key_exists() - Проверяет, присутствует ли в массиве указанный ключ или индекс
  • is_null() - Проверяет, является ли значение переменной равным NULL
  • Оператор управления ошибками @

is_string
print_r
Функции для работы с переменными


Выводит удобочитаемую информацию о переменной

isset
serialize
Функции для работы с переменными
PHP Manual

print_r

(PHP 4, PHP 5)

print_r — Выводит удобочитаемую информацию о переменной

Описание

mixed print_r ( mixed $expression [, bool $return = false ] )

print_r() выводит информацию о переменной в удобочитаемом виде.

print_r(), var_dump() и var_export() могут также показывать защищенные (protected) и закрытые (private) атрибуты объектов в PHP 5. Статические элементы класса не будут отображены.

Следует помнить, что print_r() установит внутренний указатель массива в его конец. Используйте функцию reset() для установки его в начало массива.

Список параметров

expression

Выражение для вывода на экран.

return

Если вы хотите перехватить вывод print_r(), используйте параметр return. Если его значение равно TRUE, то print_r() вернет результат вывода вместо вывода в браузер (который производится по умолчанию).

Возвращаемые значения

Если в функцию передаются значения типов string, integer или float, будет напечатано само значение. Если передается массив array, значения будут напечатаны в формате, показывающем ключи и элементы массива. Аналогичный формат вывода используется для объектов.

Если параметр return установлен в TRUE, данная функция вернет строку (string). В противном случае возвращаемое значение будет равно TRUE.

Примечания

Замечание:

При использовании параметра return данная функция использует внутреннюю буферизацию вывода, поэтому она не может быть использована внутри callback-функции ob_start().

Список изменений

Версия | Описание
4.3.0 | Добавлен параметр return. Если вам необходимо перехватить вывод print_r() в ранних версиях PHP, используйте функции буферизации вывода.
4.0.4 | В версиях PHP до 4.0.4, print_r() будет выполняться бесконечно, если передается массив или объект, содержащий прямую или косвенную ссылку на себя. Примером является print_r($GLOBALS), поскольку $GLOBALS является глобальной переменной, которая содержит ссылку на себя.

Примеры

Пример #1 Пример использования print_r()

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

Результат выполнения данного примера:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Пример #2 Пример использования параметра return

<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results теперь содержит вывод print_r
?>

Смотрите также

  • ob_start() - Включение буферизации вывода
  • var_dump() - Выводит информацию о переменной
  • var_export() - Выводит в браузер или возвращает интерпретируемое строковое представление переменной

isset
serialize
Функции для работы с переменными


Генерирует пригодное для хранения представление переменной

print_r
settype
Функции для работы с переменными
PHP Manual

serialize

(PHP 4, PHP 5)

serialize — Генерирует пригодное для хранения представление переменной

Описание

string serialize ( mixed $value )

Генерирует пригодное для хранения представление переменной

Это полезно для хранения или передачи значений PHP между скриптами без потери их типа и структуры.

Для превращения сериализованной строки обратно в PHP-значение, используйте функцию unserialize().

Список параметров

value

Значение, которое необходимо сериализовать. serialize() обрабатывает все типы, кроме resource. Возможно также сериализовать массивы, которые содержат ссылки на себя. Циклические ссылки внутри сериализуемого массива/объекта также сохраняются. Любые другие ссылки будут потеряны.

При сериализации объекта PHP пытается вызвать магический метод __sleep перед сериализацией. Это делается для того, чтобы позволить объекту в последний момент произвести очистку и тому подобные операции перед сериализацией. Аналогично, когда объект восстанавливается функцией unserialize(), вызывается магический метод __wakeup.

Замечание:

В начало имен приватных членов объекта дополняется имя класса, а в начало имен защищенных членов '*'. Эти дополненные значения окружаются нулевым байтом (0x00) с обеих сторон.

Возвращаемые значения

Возвращает строку, содержащую потоковое представление переменной value, которая может быть сохранена где угодно.

Примеры

Пример #1 Пример использования serialize()

<?php
// $session_data содержит многомерный массив с сессионной
// информацией о текущем пользователе. Мы используем serialize() для сохранения
// этой информации в базе данных в конце запроса.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, $sqldata)) {
        /* Код, выполняемый при ошибке.. */
    }
}
?>

Список изменений

Версия | Описание
4.0.7 | Был исправлен процесс сериализации объектов.

Примечания

Замечание:

Заметьте, что много встроенных в PHP объектов не может быть сериализовано. Однако, те из них, которые поддерживают эту возможность, реализуют или интерфейс Serializable, или магические методы __sleep и __wakeup. Если встроенный класс не удовлетворяет этим требованиям, он не может быть надежно сериализован.

Исторически есть некоторые исключения из вышеуказанного правила, когда некоторые внутренние объекты могут быть сериализованы без реализации интерфейса или магических методов. К примеру, ArrayObject до PHP 5.2.0.

Смотрите также

  • unserialize() - Создает PHP-значение из хранимого представления
  • Сериализация объектов
  • __sleep
  • __wakeup

print_r
settype
Функции для работы с переменными


Присваивает переменной новый тип

serialize
strval
Функции для работы с переменными
PHP Manual

settype

(PHP 4, PHP 5)

settype — Присваивает переменной новый тип

Описание

bool settype ( mixed &$var , string $type )

Присваивает переменной var тип type.

Список параметров

var

Преобразуемая переменная.

type

Допустимыми значениями параметра type являются:

  • "boolean" (или, начиная с PHP версии 4.2.0, "bool")
  • "integer" (или, начиная с PHP версии 4.2.0, "int")
  • "float" (возможно только c PHP 4.2.0, для предыдущих версий используйте устаревший вариант "double")
  • "string"
  • "array"
  • "object"
  • "null" (начиная с PHP версии 4.2.0)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования settype()

<?php
$foo = "5bar"; // строка
$bar = true;   // булевое значение

settype($foo, "integer"); // $foo теперь 5   (целое)
settype($bar, "string");  // $bar теперь "1" (строка)
?>

Примечания

Замечание:

Максимальное значение для "int" равно PHP_INT_MAX.

Смотрите также

  • gettype() - Возвращает тип переменной
  • Приведение типов
  • Манипуляции с типами

serialize
strval
Функции для работы с переменными


Возвращает строковое значение переменной

settype
unserialize
Функции для работы с переменными
PHP Manual

strval

(PHP 4, PHP 5)

strval — Возвращает строковое значение переменной

Описание

string strval ( mixed $var )

Возвращает строковое значение переменной. См. документацию по типу string для более подробной информации о преобразовании в строку.

Эта функция не производит форматирование возвращаемого значения. Если необходимо привести числовое значение к строке с особым форматом, воспользуйтесь sprintf() или number_format().

Список параметров

var

Переменная, которую необходимо преобразовать в строку.

var может быть любого скалярного типа или объектом, который реализует метод __toString. strval() нельзя применить к массиву или объекту, которые не реализуют метод __toString.

Возвращаемые значения

Строковое значение (string) параметра var.

Примеры

Пример #1 Пример использования strval() с магическим методом PHP 5 __toString.

<?php
class StrValTest
{
    public function __toString()
    {
        return __CLASS__;
    }
}

// Выводит 'StrValTest'
echo strval(new StrValTest);
?>

Смотрите также

  • floatval() - Возвращает значение переменной в виде числа с плавающей точкой
  • intval() - Возвращает целое значение переменной
  • settype() - Присваивает переменной новый тип
  • sprintf() - Возвращает отформатированную строку
  • number_format() - Форматирует число с разделением групп
  • Манипуляции с типами
  • __toString

settype
unserialize
Функции для работы с переменными


Создает PHP-значение из хранимого представления

strval
unset
Функции для работы с переменными
PHP Manual

unserialize

(PHP 4, PHP 5)

unserialize — Создает PHP-значение из хранимого представления

Описание

mixed unserialize ( string $str )

unserialize() принимает одну сериализованную переменную и конвертирует ее обратно в значение PHP.

Список параметров

str

Сериализованная строка.

Если переменная, требующая десериализации, является объектом, то после успешного восстановления объекта PHP автоматически попытается вызвать магический метод __wakeup (если он существует).

Замечание: Директива unserialize_callback_func

Существует возможность указать функцию обратного вызова, которая будет вызвана, если в процессе десериализации должен быть проинициализирован неопределенный класс. (для предотвращения получения неполного объекта object "__PHP_Incomplete_Class".) Используйте php.ini, ini_set() или .htaccess для определения функции 'unserialize_callback_func'. Данная функция будет вызываться каждый раз, когда должен быть проинициализирован неопределенный класс. Для отключения этой возможности просто оставьте значение директивы пустым.

Возвращаемые значения

Возвращается преобразованное значение, которое принимать один из типов boolean, integer, float, string, array или object.

В случае, если переданная строка не поддается десериализации, возвращается FALSE и генерируется E_NOTICE.

Список изменений

Версия | Описание
4.2.0 | Стала доступна директива unserialize_callback_func.

Примеры

Пример #1 Пример использования unserialize()

<?php
// Мы используем функцию unserialize() для загрузки сессионных данных в массив
// $session_data из строки, извлекаемой из базы данных.
// Данный пример дополняет пример, описывающий использование serialize().

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata) || !odbc_fetch_into($stmt, $tmp)) {
    // если процедура извлечения данных не удалась, то инициализируем пустой массив
    $session_data = array();
} else {
    // сейчас у нас должны быть сериализованные данные в $tmp[0].
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // что-то пошло не так, инициализируем пустой массив
        $session_data = array();
    }
}
?>

Пример #2 Пример использования unserialize_callback_func

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// директива unserialize_callback_func доступна с PHP 4.2.0
ini_set('unserialize_callback_func', 'mycallback'); // определяем свою функцию обратного вызова

function mycallback($classname)
{
    // просто подключаете файл, содержащий определение класса
    // $classname указывает, для какого класса требуется определение
}
?>

Примечания

Внимание

FALSE возвращается как в случае ошибки, так и в случае, если десериализуется сериализованное значение FALSE. Этот особый случай можно отловить, используя сравнение str со значением serialize(false), или перехватив сгенерированную ошибку E_NOTICE.

Смотрите также

  • serialize() - Генерирует пригодное для хранения представление переменной
  • Автозагрузка объектов
  • unserialize_callback_func
  • __wakeup

strval
unset
Функции для работы с переменными


Удаляет переменную

unserialize
var_dump
Функции для работы с переменными
PHP Manual

unset

(PHP 4, PHP 5)

unset — Удаляет переменную

Описание

void unset ( mixed $var [, mixed $... ] )

unset() удаляет перечисленные переменные.

Поведение unset() внутри пользовательской функции может отличаться, в зависимости от того, какой тип имеет переменная, которую необходимо удалить.

Если переменная, объявленная глобальной, удаляется внутри функции, то будет удалена только локальная переменная. Переменная в области видимости вызова функции сохранит то же значение, что и до вызова unset().

<?php
function destroy_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>

Результат выполнения данного примера:

bar

Если необходимо удалить глобальную переменную внутри функции, то для этого нужно использовать массив $GLOBALS:

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Если переменная, которая передается ПО ССЫЛКЕ, удаляется внутри функции, то будет удалена только локальная пременная. Переменная в области видимости вызова функции сохранит то же значение, что и до вызова unset().

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

Результат выполнения данного примера:

something
something

Если статическая переменная удаляется внутри функции, unset() удалит переменную только в контексте дальнейшего выполнения функции. При последующем вызове предыдущее значение переменной будет восстановлено.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "До удаления: $bar, ";
    unset($bar);
    $bar = 23;
    echo "После удаления: $bar\n";
}

foo();
foo();
foo();
?>

Результат выполнения данного примера:

До удаления: 1, После удаления: 23
До удаления: 2, После удаления: 23
До удаления: 3, После удаления: 23

Список параметров

var

Удаляемая переменная.

...

Другая переменная ...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.0.1 | Добавлена поддержка нескольких аргументов.

Примеры

Пример #1 Пример использования unset()

<?php
// удаляем одну переменную
unset($foo);

// удаляем один элемент массива
unset($bar['quux']);

// удаляем несколько переменных
unset($foo1, $foo2, $foo3);
?>

Пример #2 Использование преобразования типа (unset)

<?php
$name = 'Felipe';

var_dump((unset) $name);
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание:

Существует возможность удалить даже аттрибуты объекта, видимые в текущем контексте.

Замечание:

Начиная с PHP 5 невозможно удалить $this внутри метода объекта.

Замечание:

При использовании unset() на недоступных или необъявленных свойствах объекта, будет вызван встроенный метод объекта __unset, если он определен.

Смотрите также

  • isset() - Определяет, была ли установлена переменная значением отличным от NULL
  • empty() - Проверяет, пуста ли переменная
  • __unset
  • array_splice() - Удаляет часть массива и заменяет её чем-нибудь ещё

unserialize
var_dump
Функции для работы с переменными


Выводит информацию о переменной

unset
var_export
Функции для работы с переменными
PHP Manual

var_dump

(PHP 4, PHP 5)

var_dump — Выводит информацию о переменной

Описание

void var_dump ( mixed $expression [, mixed $... ] )

Функция отображает структурированную информацию об одном или нескольких выражениях, включая их тип и значение. Массивы и объекты анализируются рекурсивно с разным отступом у значений для визуального отображения структуры.

В PHP 5 все общедоступные, закрытые и защищенные свойства объекта будут возвращены при выводе.

Подсказка

Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в string.

Список параметров

expression

Переменная, значение которой необходимо отобразить.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования var_dump()

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

Результат выполнения данного примера:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

Результат выполнения данного примера:

float(3.1)
bool(true)

Смотрите также

  • var_export() - Выводит в браузер или возвращает интерпретируемое строковое представление переменной
  • print_r() - Выводит удобочитаемую информацию о переменной

unset
var_export
Функции для работы с переменными


Выводит в браузер или возвращает интерпретируемое строковое представление переменной

var_dump
Веб-сервисы
Функции для работы с переменными
PHP Manual

var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной

Описание

mixed var_export ( mixed $expression [, bool $return = false ] )

var_export() возвращает структурированную информацию о данной переменной. Функция аналогична var_dump() за одним исключением: возвращаемое представление является полноценным PHP кодом.

Список параметров

expression

Переменная, которую необходимо экспортировать.

return

Если передано и значение равно TRUE, var_export() вернет представление переменной вместо его вывода.

Возвращаемые значения

Возвращает представление переменной, если параметр return передан и равен TRUE. В противном случае функция возвращает NULL.

Примечания

Замечание:

При использовании параметра return данная функция использует внутреннюю буферизацию вывода, поэтому она не может быть использована внутри callback-функции ob_start().

Список изменений

Версия | Описание
5.1.0 | Стало возможным экспортировать классы и массивы, содержащие другие классы, используя магический метод __set_state.

Примеры

Пример #1 Примеры использования var_export()

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

Результат выполнения данного примера:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

Результат выполнения данного примера:

3.1

Пример #2 Экспорт классов в PHP с версии 5.1.0

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

Результат выполнения данного примера:

A::__set_state(array(
   'var' => 5,
))

Пример #3 Использование __set_state (в PHP с версии 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array)
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

Результат выполнения данного примера:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Примечания

Замечание:

Переменные типа resource не могут быть экспортированы с помощью этой функции.

Замечание:

var_export() не обрабатывает циклические ссылки, так как было бы почти невозможно сгенерировать интерпретируемый PHP код для такого случая. Если необходимо производить какие-то действия с полным представлением массива или объекта, используйте функцию serialize().

Смотрите также

  • print_r() - Выводит удобочитаемую информацию о переменной
  • serialize() - Генерирует пригодное для хранения представление переменной
  • var_dump() - Выводит информацию о переменной

var_dump
Веб-сервисы
Функции для работы с переменными


Веб-сервисы

  • OAuth
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • OAuth Функции
    • OAuth — The OAuth class
    • OAuthProvider — The OAuthProvider class
    • OAuthException — OAuthException class
  • SCA
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SCA Функции
  • SOAP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SOAP Функции
    • SoapClient — The SoapClient class
    • SoapServer — The SoapServer class
    • SoapFault — The SoapFault class
    • SoapHeader — The SoapHeader class
    • SoapParam — The SoapParam class
    • SoapVar — The SoapVar class
  • XML-RPC
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • XML-RPC Функции
var_export
OAuth
Справочник функций


OAuth

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • FireEagle
  • OAuth Функции
    • oauth_get_sbs — Generate a Signature Base String
    • oauth_urlencode — Encode a URI to RFC 3986
  • OAuth — The OAuth class
    • OAuth::__construct — Create a new OAuth object
    • OAuth::__destruct — The destructor
    • OAuth::disableDebug — Turn off verbose debugging
    • OAuth::disableRedirects — Turn off redirects
    • OAuth::disableSSLChecks — Turn off SSL checks
    • OAuth::enableDebug — Turn on verbose debugging
    • OAuth::enableRedirects — Turn on redirects
    • OAuth::enableSSLChecks — Turn on SSL checks
    • OAuth::fetch — Fetch an OAuth protected resource
    • OAuth::getAccessToken — Fetch an access token
    • OAuth::getCAPath — Gets CA information
    • OAuth::getLastResponse — Get the last response
    • OAuth::getLastResponseInfo — Get HTTP information about the last response
    • OAuth::getRequestToken — Fetch a request token
    • OAuth::setAuthType — Set authorization type
    • OAuth::setCAPath — Set CA path and info
    • OAuth::setNonce — Set the nonce for subsequent requests
    • OAuth::setRequestEngine — The setRequestEngine purpose
    • OAuth::setRSACertificate — Set the RSA certificate
    • OAuth::setTimestamp — Set the timestamp
    • OAuth::setToken — Sets the token and secret
    • OAuth::setVersion — Set the OAuth version
  • OAuthProvider — The OAuthProvider class
    • OAuthProvider::addRequiredParameter — Add required parameters
    • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest — Check an oauth request
    • OAuthProvider::__construct — Constructs a new OAuthProvider object
    • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
    • OAuthProvider::generateToken — Generate a random token
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remove a required parameter
    • OAuthProvider::reportProblem — Report a problem
    • OAuthProvider::setParam — Set a parameter
    • OAuthProvider::setRequestTokenPath — Set request token path
    • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
  • OAuthException — OAuthException class
Веб-сервисы
Введение
Веб-сервисы


Введение

This extension provides OAuth consumer and provider bindings. OAuth is an authorization protocol built on top of HTTP which allows applications to securely access data without having to store usernames and passwords.

OAuth
Установка и настройка
OAuth


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
OAuth


Требования

PECL/oauth requires PHP 5.1 or newer, ext/hash and ext/pcre.

PECL/oauth may optionally require libcurl if selected at build time. If configured with libcurl, it must be built with HTTPS support.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pear.php.net/package/oauth

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Most of these constants involve problems, which are also described within the official OAuth » Problem Reporting documentation. Note however, that these constant names are specific to PHP, although the naming scheme is similar.

OAUTH_SIG_METHOD_RSASHA1 (string)
OAuth RSA-SHA1 signature method.
OAUTH_SIG_METHOD_HMACSHA1 (string)

OAuth HMAC-SHA1 signature method.

OAUTH_SIG_METHOD_HMACSHA256 (string)
OAuth HMAC-SHA256 signature method.
OAUTH_AUTH_TYPE_AUTHORIZATION (string)

This constant represents putting OAuth parameters in the Authorization header.

OAUTH_AUTH_TYPE_NONE (string)

This constant indicates a NoAuth OAuth request.

OAUTH_AUTH_TYPE_URI (string)

This constant represents putting OAuth parameters in the request URI.

OAUTH_AUTH_TYPE_FORM (string)

This constant represents putting OAuth parameters as part of the HTTP POST body.

OAUTH_HTTP_METHOD_GET (string)

Use the GET method for the OAuth request.

OAUTH_HTTP_METHOD_POST (string)

Use the POST method for the OAuth request.

OAUTH_HTTP_METHOD_PUT (string)

Use the PUT method for the OAuth request.

OAUTH_HTTP_METHOD_HEAD (string)

Use the HEAD method for the OAuth request.

OAUTH_HTTP_METHOD_DELETE (string)
Use the DELETE method for the OAuth request.
OAUTH_REQENGINE_STREAMS (integer)
Used by Oauth::setReqeustEngine() to set the engine to PHP streams, as opposed to OAUTH_REQENGINE_CURL for Curl.
OAUTH_REQENGINE_CURL (integer)
Used by Oauth::setReqeustEngine() to set the engine to Curl, as opposed to OAUTH_REQENGINE_STREAMS for PHP streams.
OAUTH_OK (integer)
Life is good.
OAUTH_BAD_NONCE (integer)
The oauth_nonce value was used in a previous request, therefore it cannot be used now.
OAUTH_BAD_TIMESTAMP (integer)
The oauth_timestamp value was not accepted by the service provider. In this case, the response should also contain the oauth_acceptable_timestamps parameter.
OAUTH_CONSUMER_KEY_UNKNOWN (integer)
The oauth_consumer_key is temporarily unacceptable to the service provider. For example, the service provider may be throttling the consumer.
OAUTH_CONSUMER_KEY_REFUSED (integer)
The consumer key was refused.
OAUTH_INVALID_SIGNATURE (integer)
The oauth_signature is invalid, as it does not match the signature computed by the service provider.
OAUTH_TOKEN_USED (integer)
The oauth_token has been consumed. It can no longer be used because it has already been used in the previous request (or requests).
OAUTH_TOKEN_EXPIRED (integer)
The oauth_token has expired.
OAUTH_TOKEN_REVOKED (integer)
The oauth_token has been revoked, and will never be accepted.
OAUTH_TOKEN_REJECTED (integer)
The oauth_token was not accepted by the service provider. The reason is not known, but it might be because the token was never issued, already consumed, expired, and/or forgotten by the service provider.
OAUTH_VERIFIER_INVALID (integer)
The oauth_verifier is incorrect.
OAUTH_PARAMETER_ABSENT (integer)
A required parameter was not received. In this case, the response should also contain the oauth_parameters_absent parameter.
OAUTH_SIGNATURE_METHOD_REJECTED (integer)
The oauth_signature_method was not accepted by service provider.

Типы ресурсов
Примеры
OAuth


Примеры

Содержание

  • FireEagle
Предопределенные константы
FireEagle
OAuth


FireEagle

<?php
$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// In state=1 the next request should include an oauth_token.
// If it doesn't go back to 0
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
  $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
    $request_token_info = $oauth->getRequestToken($req_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
  } else if($_SESSION['state']==1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch("$api_url/user.json");
  $json = json_decode($oauth->getLastResponse());
  print_r($json);
} catch(OAuthException $E) {
  print_r($E);
}
?>

Примеры
OAuth Функции
Примеры


OAuth Функции

Содержание

  • oauth_get_sbs — Generate a Signature Base String
  • oauth_urlencode — Encode a URI to RFC 3986
FireEagle
oauth_get_sbs
OAuth


Generate a Signature Base String

OAuth Функции
oauth_urlencode
OAuth Функции
PHP Manual

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Generate a Signature Base String

Описание

string oauth_get_sbs ( string $http_method , string $uri [, array $request_parameters ] )

Generates a Signature Base String according to pecl/oauth.

Список параметров

http_method

The HTTP method.

uri

URI to encode.

request_parameters

Array of request parameters.

Возвращаемые значения

Returns a Signature Base String.

OAuth Функции
oauth_urlencode
OAuth Функции


Encode a URI to RFC 3986

oauth_get_sbs
OAuth
OAuth Функции
PHP Manual

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Encode a URI to RFC 3986

Описание

string oauth_urlencode ( string $uri )

Encodes a URI to » RFC 3986.

Список параметров

uri

URI to encode.

Возвращаемые значения

Returns an » RFC 3986 encoded string.

oauth_get_sbs
OAuth
OAuth Функции


The OAuth class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The OAuth extension provides a simple interface to interact with data providers using the OAuth HTTP specification to protect private resources.

Обзор классов

OAuth {
/* Properties */
public $OAuth->debug ;
public $sslChecks ;
public $debugInfo ;
/* Методы */
OAuth::__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )
public void OAuth::__destruct ( void )
public bool OAuth::disableDebug ( void )
public bool OAuth::disableRedirects ( void )
public bool OAuth::disableSSLChecks ( void )
public bool OAuth::enableDebug ( void )
public bool OAuth::enableRedirects ( void )
public bool OAuth::enableSSLChecks ( void )
public mixed OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )
public array OAuth::getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )
public array OAuth::getCAPath ( void )
public string OAuth::getLastResponse ( void )
public array OAuth::getLastResponseInfo ( void )
public array OAuth::getRequestToken ( string $request_token_url [, string $callback_url ] )
public mixed OAuth::setAuthType ( int $auth_type )
public mixed OAuth::setCAPath ([ string $ca_path [, string $ca_info ]] )
public mixed OAuth::setNonce ( string $nonce )
public void OAuth::setRequestEngine ( int $reqengine )
public mixed OAuth::setRSACertificate ( string $cert )
public mixed OAuth::setTimestamp ( string $timestamp )
public bool OAuth::setToken ( string $token , string $token_secret )
public bool OAuth::setVersion ( string $version )
}

Свойства

debug

sslChecks

debugInfo

Содержание

  • OAuth::__construct — Create a new OAuth object
  • OAuth::__destruct — The destructor
  • OAuth::disableDebug — Turn off verbose debugging
  • OAuth::disableRedirects — Turn off redirects
  • OAuth::disableSSLChecks — Turn off SSL checks
  • OAuth::enableDebug — Turn on verbose debugging
  • OAuth::enableRedirects — Turn on redirects
  • OAuth::enableSSLChecks — Turn on SSL checks
  • OAuth::fetch — Fetch an OAuth protected resource
  • OAuth::getAccessToken — Fetch an access token
  • OAuth::getCAPath — Gets CA information
  • OAuth::getLastResponse — Get the last response
  • OAuth::getLastResponseInfo — Get HTTP information about the last response
  • OAuth::getRequestToken — Fetch a request token
  • OAuth::setAuthType — Set authorization type
  • OAuth::setCAPath — Set CA path and info
  • OAuth::setNonce — Set the nonce for subsequent requests
  • OAuth::setRequestEngine — The setRequestEngine purpose
  • OAuth::setRSACertificate — Set the RSA certificate
  • OAuth::setTimestamp — Set the timestamp
  • OAuth::setToken — Sets the token and secret
  • OAuth::setVersion — Set the OAuth version
oauth_urlencode
OAuth::__construct
OAuth


Create a new OAuth object

OAuth
OAuth::__destruct
OAuth
PHP Manual

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Create a new OAuth object

Описание

OAuth::__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )

Creates a new OAuth object

Список параметров

consumer_key

The consumer key provided by the service provider.

consumer_secret

The consumer secret provided by the service provider.

signature_method

This optional parameter defines which signature method to use, by default it is OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

This optional parameter defines how to pass the OAuth parameters to a consumer, by default it is OAUTH_AUTH_TYPE_AUTHORIZATION (in the Authorization header).

OAuth
OAuth::__destruct
OAuth


The destructor

OAuth::__construct
OAuth::disableDebug
OAuth
PHP Manual

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — The destructor

Описание

public void OAuth::__destruct ( void )

The destructor.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • OAuth::__construct() - Create a new OAuth object
OAuth::__construct
OAuth::disableDebug
OAuth


Turn off verbose debugging

OAuth::__destruct
OAuth::disableRedirects
OAuth
PHP Manual

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Turn off verbose debugging

Описание

public bool OAuth::disableDebug ( void )

Turns off verbose request information (off by default). Alternatively, the debug property can be set to a FALSE value to turn debug off.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Список изменений

Версия | Описание
0.99.8 | The related debug property was added.

Смотрите также

  • OAuth::enableDebug() - Turn on verbose debugging

OAuth::__destruct
OAuth::disableRedirects
OAuth


Turn off redirects

OAuth::disableDebug
OAuth::disableSSLChecks
OAuth
PHP Manual

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Turn off redirects

Описание

public bool OAuth::disableRedirects ( void )

Disable redirects from being followed automatically, thus allowing the request to be manually redirected.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Смотрите также

  • OAuth::enableRedirects() - Turn on redirects
OAuth::disableDebug
OAuth::disableSSLChecks
OAuth


Turn off SSL checks

OAuth::disableRedirects
OAuth::enableDebug
OAuth
PHP Manual

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Turn off SSL checks

Описание

public bool OAuth::disableSSLChecks ( void )

Turns off the usual SSL peer certificate and host checks, this is not for production environments. Alternatively, the sslChecks member can be set to FALSE to turn SSL checks off.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Список изменений

Версия | Описание
0.99.8 | The sslChecks member was added

Смотрите также

  • OAuth::enableSSLChecks() - Turn on SSL checks

OAuth::disableRedirects
OAuth::enableDebug
OAuth


Turn on verbose debugging

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth
PHP Manual

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Turn on verbose debugging

Описание

public bool OAuth::enableDebug ( void )

Turns on verbose request information useful for debugging, the debug information is stored in the debugInfo member. Alternatively, the debug member can be set to a non-FALSE value to turn debug on.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Список изменений

Версия | Описание
0.99.8 | The debug and debugInfo members were added

Смотрите также

  • OAuth::disableDebug() - Turn off verbose debugging

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth


Turn on redirects

OAuth::enableDebug
OAuth::enableSSLChecks
OAuth
PHP Manual

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Turn on redirects

Описание

public bool OAuth::enableRedirects ( void )

Follow and sign redirects automatically, which is enabled by default.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Смотрите также

  • OAuth::disableRedirects() - Turn off redirects
OAuth::enableDebug
OAuth::enableSSLChecks
OAuth


Turn on SSL checks

OAuth::enableRedirects
OAuth::fetch
OAuth
PHP Manual

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Turn on SSL checks

Описание

public bool OAuth::enableSSLChecks ( void )

Turns on the usual SSL peer certificate and host checks (enabled by default). Alternatively, the sslChecks member can be set to a non-FALSE value to turn SSL checks off.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE

Список изменений

Версия | Описание
0.99.8 | The sslChecks member was added

Смотрите также

  • OAuth::disableSSLChecks() - Turn off SSL checks

OAuth::enableRedirects
OAuth::fetch
OAuth


Fetch an OAuth protected resource

OAuth::enableSSLChecks
OAuth::getAccessToken
OAuth
PHP Manual

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Fetch an OAuth protected resource

Описание

public mixed OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )

Fetch a resource.

Список параметров

protected_resource_url

URL to the OAuth protected resource.

extra_parameters

Extra parameters to send with the request for the resource.

http_method

One of the OAUTH_HTTP_METHOD_* OAUTH constants, which includes GET, POST, PUT, HEAD, or DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information prior to the request (if OAuth credentials are in the Authorization header).

http_headers

HTTP client headers (such as User-Agent, Accept, etc.)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.
0.99.5 | The http_method parameter was added
0.99.8 | The http_headers parameter was added

Примеры

Пример #1 OAuth::fetch() example

<?php
try {
    $oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setToken("access_token","access_token_secret");

    $oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

    $response_info = $oauth->getLastResponseInfo();
    header("Content-Type: {$response_info["content_type"]}");
    echo $oauth->getLastResponse();
} catch(OAuthException $E) {
    echo "Exception caught!\n";
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Смотрите также

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret

OAuth::enableSSLChecks
OAuth::getAccessToken
OAuth


Fetch an access token

OAuth::fetch
OAuth::getCAPath
OAuth
PHP Manual

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Fetch an access token

Описание

public array OAuth::getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )

Fetch an access token, secret and any additional response parameters from the service provider.

Список параметров

access_token_url

URL to the access token API.

auth_session_handle

Authorization session handle, this parameter does not have any citation in the core OAuth 1.0 specification but may be implemented by large providers. » See ScalableOAuth for more information.

verifier_token

For service providers which support 1.0a, a verifier_token must be passed while exchanging the request token for the access token. If the verifier_token is present in $_GET or $_POST it is passed automatically and the caller does not need to specify a verifier_token (usually if the access token is exchanged at the oauth_callback URL). » See ScalableOAuth for more information.

Возвращаемые значения

Returns an array containing the parsed OAuth response on success or FALSE on failure.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.
0.99.9 | The verifier_token parameter was added

Примеры

Пример #1 OAuth::getAccessToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $oauth->setToken($request_token,$request_token_secret);
    $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Failed fetching access token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Смотрите также

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret

OAuth::fetch
OAuth::getCAPath
OAuth


Gets CA information

OAuth::getAccessToken
OAuth::getLastResponse
OAuth
PHP Manual

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Gets CA information

Описание

public array OAuth::getCAPath ( void )

Gets the Certificate Authority information, which includes the ca_path and ca_info set by OAuth::setCaPath().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of Certificate Authority information, specifically as ca_path and ca_info keys within the returned associative array.

Смотрите также

  • OAuth::setCAPath() - Set CA path and info
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
OAuth::getAccessToken
OAuth::getLastResponse
OAuth


Get the last response

OAuth::getCAPath
OAuth::getLastResponseInfo
OAuth
PHP Manual

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Get the last response

Описание

public string OAuth::getLastResponse ( void )

Get the raw response of the most recent request.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the last response.

Смотрите также

  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::fetch() - Fetch an OAuth protected resource

OAuth::getCAPath
OAuth::getLastResponseInfo
OAuth


Get HTTP information about the last response

OAuth::getLastResponse
OAuth::getRequestToken
OAuth
PHP Manual

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Get HTTP information about the last response

Описание

public array OAuth::getLastResponseInfo ( void )

Get HTTP information about the last response.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns an array containing the response information for the last request. Constants from curl_getinfo() may be used.

Смотрите также

  • OAuth::fetch() - Fetch an OAuth protected resource
  • OAuth::getLastResponse() - Get the last response

OAuth::getLastResponse
OAuth::getRequestToken
OAuth


Fetch a request token

OAuth::getLastResponseInfo
OAuth::setAuthType
OAuth
PHP Manual

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Fetch a request token

Описание

public array OAuth::getRequestToken ( string $request_token_url [, string $callback_url ] )

Fetch a request token, secret and any additional response parameters from the service provider.

Список параметров

request_token_url

URL to the request token API.

callback_url

OAuth callback URL. If callback_url is passed and is an empty value, it is set to "oob" to address the OAuth 2009.1 advisory.

Возвращаемые значения

Returns an array containing the parsed OAuth response on success or FALSE on failure.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.
0.99.9 | The callback_url parameter was added

Примеры

Пример #1 OAuth::getRequestToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
    if(!empty($request_token_info)) {
        print_r($request_token_info);
    } else {
        print "Failed fetching request token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Смотрите также

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response

OAuth::getLastResponseInfo
OAuth::setAuthType
OAuth


Set authorization type

OAuth::getRequestToken
OAuth::setCAPath
OAuth
PHP Manual

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Set authorization type

Описание

public mixed OAuth::setAuthType ( int $auth_type )

Set where the OAuth parameters should be passed.

Список параметров

auth_type

auth_type can be one of the following flags (in order of decreasing preference as per OAuth 1.0 section 5.2):

OAUTH_AUTH_TYPE_AUTHORIZATION
Pass the OAuth parameters in the HTTP Authorization header.
OAUTH_AUTH_TYPE_FORM
Append the OAuth parameters to the HTTP POST request body.
OAUTH_AUTH_TYPE_URI
Append the OAuth parameters to the request URI.
OAUTH_AUTH_TYPE_NONE
None.

Возвращаемые значения

Returns TRUE if a parameter is correctly set, otherwise FALSE (e.g., if an invalid auth_type is passed in.)

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.

OAuth::getRequestToken
OAuth::setCAPath
OAuth


Set CA path and info

OAuth::setAuthType
OAuth::setNonce
OAuth
PHP Manual

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Set CA path and info

Описание

public mixed OAuth::setCAPath ([ string $ca_path [, string $ca_info ]] )

Sets the Certificate Authority (CA), both for path and info.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

ca_path

The CA Path being set.

ca_info

The CA Info being set.

Возвращаемые значения

Returns TRUE on success, or FALSE if either ca_path or ca_info are considered invalid.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.

Смотрите также

  • OAuth::getCaPath() - Gets CA information
OAuth::setAuthType
OAuth::setNonce
OAuth


Set the nonce for subsequent requests

OAuth::setCAPath
OAuth::setRequestEngine
OAuth
PHP Manual

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Set the nonce for subsequent requests

Описание

public mixed OAuth::setNonce ( string $nonce )

Sets the nonce for all subsequent requests.

Список параметров

nonce

The value for oauth_nonce.

Возвращаемые значения

Returns TRUE on success, or FALSE if the nonce is considered invalid.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.

Смотрите также

  • OAuth::setToken() - Sets the token and secret
  • OAuth::setAuthType() - Set authorization type
  • OAuth::setVersion() - Set the OAuth version

OAuth::setCAPath
OAuth::setRequestEngine
OAuth


The setRequestEngine purpose

OAuth::setNonce
OAuth::setRSACertificate
OAuth
PHP Manual

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — The setRequestEngine purpose

Описание

public void OAuth::setRequestEngine ( int $reqengine )

Sets the Request Engine, that will be sending the HTTP requests.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

reqengine

The desired request engine. Set to OAUTH_REQENGINE_STREAMS to use PHP Streams, or OAUTH_REQENGINE_CURL to use Curl.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Emits an OAuthException exception if an invalid request engine is chosen.

Примеры

Пример #1 OAuth::setRequestEngine() example

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Смотрите также

  • Curl
  • PHP streams
  • OAuthException
OAuth::setNonce
OAuth::setRSACertificate
OAuth


Set the RSA certificate

OAuth::setRequestEngine
OAuth::setTimestamp
OAuth
PHP Manual

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — Set the RSA certificate

Описание

public mixed OAuth::setRSACertificate ( string $cert )

Sets the RSA certificate.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

cert

The RSA certificate.

Возвращаемые значения

Returns TRUE on success, or FALSE on failure (e.g., the RSA certificate cannot be parsed.)

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.

Примеры

Пример #1 An OAuth::setRsaCertificate() example

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Смотрите также

  • OAuth::setCaPath() - Set CA path and info
OAuth::setRequestEngine
OAuth::setTimestamp
OAuth


Set the timestamp

OAuth::setRSACertificate
OAuth::setToken
OAuth
PHP Manual

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Set the timestamp

Описание

public mixed OAuth::setTimestamp ( string $timestamp )

Sets the OAuth timestamp for subsequent requests.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

timestamp

The timestamp.

Возвращаемые значения

Returns TRUE, unless the timestamp is invalid, in which case FALSE is returned.

Список изменений

Версия | Описание
1.0.0 | Раньше при ошибке возвращался NULL вместо FALSE.

Смотрите также

  • OAuth::setNonce() - Set the nonce for subsequent requests
OAuth::setRSACertificate
OAuth::setToken
OAuth


Sets the token and secret

OAuth::setTimestamp
OAuth::setVersion
OAuth
PHP Manual

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Sets the token and secret

Описание

public bool OAuth::setToken ( string $token , string $token_secret )

Set the token and secret for subsequent requests.

Список параметров

token

The OAuth token.

token_secret

The OAuth token secret.

Возвращаемые значения

TRUE

Примеры

Пример #1 OAuth::setToken() example

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>

OAuth::setTimestamp
OAuth::setVersion
OAuth


Set the OAuth version

OAuth::setToken
OAuthProvider
OAuth
PHP Manual

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Set the OAuth version

Описание

public bool OAuth::setVersion ( string $version )

Sets the OAuth version for subsequent requests

Список параметров

version

OAuth version, default value is always "1.0"

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

OAuth::setToken
OAuthProvider
OAuth


The OAuthProvider class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Manages an OAuth provider class.

See also an external in-depth tutorial titled » Writing an OAuth Provider Service, which takes a hands-on approach to providing this service. There are also » OAuth provider examples within the OAuth extensions sources.

Обзор классов

OAuthProvider {
/* Methods */
final public bool addRequiredParameter ( string $req_params )
public void callconsumerHandler ( void )
public void callTimestampNonceHandler ( void )
public void calltokenHandler ( void )
public void checkOAuthRequest ([ string $uri [, string $method ]] )
__construct ([ array $params_array ] )
public void consumerHandler ( callback $callback_function )
final public static string generateToken ( int $size [, bool $strong = false ] )
public void is2LeggedEndpoint ( mixed $params_array )
public void isRequestTokenEndpoint ( bool $will_issue_request_token )
final public bool removeRequiredParameter ( string $req_params )
final public static string reportProblem ( string $oauthexception [, bool $send_headers = true ] )
final public bool setParam ( string $param_key [, mixed $param_val ] )
final public bool setRequestTokenPath ( string $path )
public void timestampNonceHandler ( callback $callback_function )
public void tokenHandler ( callback $callback_function )
}

Содержание

  • OAuthProvider::addRequiredParameter — Add required parameters
  • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
  • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
  • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
  • OAuthProvider::checkOAuthRequest — Check an oauth request
  • OAuthProvider::__construct — Constructs a new OAuthProvider object
  • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
  • OAuthProvider::generateToken — Generate a random token
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remove a required parameter
  • OAuthProvider::reportProblem — Report a problem
  • OAuthProvider::setParam — Set a parameter
  • OAuthProvider::setRequestTokenPath — Set request token path
  • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
  • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
OAuth::setVersion
OAuthProvider::addRequiredParameter
OAuth


Add required parameters

OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider
PHP Manual

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Add required parameters

Описание

final public bool OAuthProvider::addRequiredParameter ( string $req_params )

Add required oauth provider parameters.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

req_params

The required parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OAuthProvider::removeRequiredParameter() - Remove a required parameter
OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider


Calls the consumerNonceHandler callback

OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::callconsumerHandler

(Информация о версии неизвестна, возможно, только в SVN)

OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback

Описание

public void OAuthProvider::callconsumerHandler ( void )

Calls the registered consumer handler callback function, which is set with OAuthProvider::consumerHandler().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Если callback-функция не может быть вызвана или отсутствует, то вызывается ошибка уровня E_ERROR.

Смотрите также

  • OAuthProvider::consumerHandler() - Set the consumerHandler handler callback
OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider


Calls the timestampNonceHandler callback

OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider
PHP Manual

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback

Описание

public void OAuthProvider::callTimestampNonceHandler ( void )

Calls the registered timestamp handler callback function, which is set with OAuthProvider::timestampNonceHandler().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Если callback-функция не может быть вызвана или отсутствует, то вызывается ошибка уровня E_ERROR.

Смотрите также

  • OAuthProvider::timestampNonceHandler() - Set the timestampNonceHandler handler callback
OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider


Calls the tokenNonceHandler callback

OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider
PHP Manual

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback

Описание

public void OAuthProvider::calltokenHandler ( void )

Calls the registered token handler callback function, which is set with OAuthProvider::tokenHandler().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Если callback-функция не может быть вызвана или отсутствует, то вызывается ошибка уровня E_ERROR.

Смотрите также

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback
OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider


Check an oauth request

OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider
PHP Manual

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Check an oauth request

Описание

public void OAuthProvider::checkOAuthRequest ([ string $uri [, string $method ]] )

Checks an OAuth request.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

uri

The optional URI, or endpoint.

method

The HTTP method. Optionally pass in one of the OAUTH_HTTP_METHOD_* OAuth constants.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Emits an E_ERROR level error if the HTTP method cannot be detected.

Смотрите также

  • OAuthProvider::reportProblem() - Report a problem
OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider


Constructs a new OAuthProvider object

OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider
PHP Manual

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Constructs a new OAuthProvider object

Описание

OAuthProvider::__construct ([ array $params_array ] )

Initiates a new OAuthProvider object.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

params_array

Setting these optional parameters is limited to the CLI SAPI.

Возвращаемые значения

An OAuthProvider object.

Примеры

Пример #1 OAuthProvider::__construct() example

<?php
try {

    $op = new OAuthProvider();

    // Uses user-defined callback functions
    $op->consumerHandler(array($this, 'lookupConsumer'));
    $op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
    $op->tokenHandler(array($this, 'myTokenHandler'));

    // Ignore the foo_uri parameter
    $op->setParam('foo_uri', NULL);

    // No token needed for this end point
    $op->setRequestTokenPath('/v1/oauth/request_token');

    $op->checkOAuthRequest();

} catch (OAuthException $e) {

    echo OAuthProvider::reportProblem($e);
}
?>

Смотрите также

  • OAuthProvider::setParam() - Set a parameter
OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider


Set the consumerHandler handler callback

OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider
PHP Manual

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Set the consumerHandler handler callback

Описание

public void OAuthProvider::consumerHandler ( callback $callback_function )

Sets the consumer handler callback, which will later be called with OAuthProvider::callConsumerHandler().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

callback_function

The callback functions name.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Example OAuthProvider::consumerHandler() callback

<?php
function lookupConsumer($provider) {

    if ($provider->consumer_key === 'unknown') {
        return OAUTH_CONSUMER_KEY_UNKNOWN;
    } else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
        return OAUTH_CONSUMER_KEY_REFUSED;
    }

    $provider->consumer_secret = "the_consumers_secret";

    return OAUTH_OK;
}
?>

Смотрите также

  • OAuthProvider::callConsumerHandler() - Calls the consumerNonceHandler callback
OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider


Generate a random token

OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider
PHP Manual

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Generate a random token

Описание

final public static string OAuthProvider::generateToken ( int $size [, bool $strong = false ] )

Generates a string of pseudo-random bytes.

Список параметров

size

The desired token length, in terms of bytes.

strong

Setting to TRUE means /dev/random will be used for entropy, as otherwise the non-blocking /dev/urandom is used. This parameter is ignored on Windows.

Возвращаемые значения

The generated token, as a string of bytes.

Ошибки

If the strong parameter is TRUE, then an E_WARNING level error will be emitted when the fallback rand() implementation is used to fill the remaining random bytes (e.g., when not enough random data was found, initially).

Примеры

Пример #1 OAuthProvider::generateToken() example

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t),  PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

Результатом выполнения данного примера будет что-то подобное:

4
b6a82c27

Примечания

Замечание:

When not enough random data is available to the system, this function will fill the remaining random bytes using the internal PHP rand() implementation.

Смотрите также

  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source
OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider


is2LeggedEndpoint

OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider
PHP Manual

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Описание

public void OAuthProvider::is2LeggedEndpoint ( mixed $params_array )

The 2-legged flow, or request signing. It does not require a token.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

params_array

Возвращаемые значения

An OAuthProvider object.

Примеры

Пример #1 OAuthProvider::is2LeggedEndpoint() example

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Смотрите также

  • OAuthProvider::__construct() - Constructs a new OAuthProvider object
OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider


Sets isRequestTokenEndpoint

OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider
PHP Manual

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint

Описание

public void OAuthProvider::isRequestTokenEndpoint ( bool $will_issue_request_token )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

will_issue_request_token

Sets whether or not it will issue a request token, thus determining if OAuthProvider::tokenHandler() needs to be called.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • OAuthProvider::setRequestTokenPath() - Set request token path
  • OAuthProvider::reportProblem() - Report a problem
OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider


Remove a required parameter

OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider
PHP Manual

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remove a required parameter

Описание

final public bool OAuthProvider::removeRequiredParameter ( string $req_params )

Removes a required parameter.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

req_params

The required parameter to be removed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OAuthProvider::setParam() - Set a parameter
  • OAuthProvider::addRequiredParameter() - Add required parameters
OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider


Report a problem

OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider
PHP Manual

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Report a problem

Описание

final public static string OAuthProvider::reportProblem ( string $oauthexception [, bool $send_headers = true ] )

Pass in a problem as an OAuthException, with possible problems listed in the OAuth constants section.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

oauthexception

The OAuthException.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • OAuthProvider::checkOAuthRequest() - Check an oauth request
  • OAuthProvider::isRequestTokenEndpoint() - Sets isRequestTokenEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider


Set a parameter

OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider
PHP Manual

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Set a parameter

Описание

final public bool OAuthProvider::setParam ( string $param_key [, mixed $param_val ] )

Sets a parameter.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

param_key

The parameter key.

param_val

The optional parameter value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OAuthProvider::addRequiredParameter() - Add required parameters
OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider


Set request token path

OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Set request token path

Описание

final public bool OAuthProvider::setRequestTokenPath ( string $path )

Sets the request tokens path.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

path

The path.

Возвращаемые значения

TRUE

Смотрите также

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback
OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider


Set the timestampNonceHandler handler callback

OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider
PHP Manual

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback

Описание

public void OAuthProvider::timestampNonceHandler ( callback $callback_function )

Sets the timestamp nonce handler callback, which will later be called with OAuthProvider::callTimestampNonceHandler(). Errors related to timestamp/nonce are thrown to this callback.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

callback_function

The callback functions name.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Example OAuthProvider::timestampNonceHandler() callback

<?php
function timestampNonceChecker($provider) {

    if ($provider->nonce === 'bad') {
        return OAUTH_BAD_NONCE;
    } elseif ($provider->timestamp == '0') {
        return OAUTH_BAD_TIMESTAMP;
    }

    return OAUTH_OK;
}
?>

Смотрите также

  • OAuthProvider::callTimestampNonceHandler() - Calls the timestampNonceHandler callback
OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider


Set the tokenHandler handler callback

OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider
PHP Manual

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Set the tokenHandler handler callback

Описание

public void OAuthProvider::tokenHandler ( callback $callback_function )

Sets the token handler callback, which will later be called with OAuthProvider::callTokenHandler().

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

callback_function

The callback functions name.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Example OAuthProvider::tokenHandler() callback

<?php
function tokenHandler($provider) {

    if ($provider->token === 'rejected') {
        return OAUTH_TOKEN_REJECTED;
    } elseif ($provider->token === 'revoked') {
        return OAUTH_TOKEN_REVOKED;
    }

    $provider->token_secret = "the_tokens_secret";
    return OAUTH_OK;
}
?>

Смотрите также

  • OAuthProvider::callTokenHandler() - Calls the tokenNonceHandler callback
OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider


OAuthException class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

This exception is thrown when exceptional errors occur while using the OAuth extension and contains useful debugging information.

Обзор классов

OAuthException extends Exception {
/* Свойства */
public $OAuthException->lastResponse ;
public $debugInfo ;
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

A human readable message about what went wrong

code

Exception code

file

File where exception was thrown

line

File where exception was thrown

lastResponse

The response of the exception which occurred, if any

debugInfo

OAuthProvider::tokenHandler
SCA
OAuth


SCA

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • The structure of a Service Component
    • Obtaining a proxy for another Service Component
    • Calling another Service Component
    • Locating and calling services from a script which is not an SCA Component
    • Exposing a Service Component as a Web service
    • Deploying an SCA component
    • Obtaining the WSDL for an SCA component offering a Service as a Web service
    • Understanding how the WSDL is generated
    • Working with Data Structures
    • Error handling
  • SCA Функции
    • SCA_LocalProxy::createDataObject — create an SDO
    • SCA_SoapProxy::createDataObject — create an SDO
    • SCA::createDataObject — create an SDO
    • SCA::getService — Obtain a proxy for a service
OAuthException
Введение
Веб-сервисы


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

SCA for PHP makes it possible for a PHP programmer to write reusable components, which can be called in a variety of ways, with an identical interface and with a minimum of fuss. At present components can call each other either locally or via Web services, but in the future it is expected that other ways will be possible. It provides the programmer with a way of doing this which will look as natural as possible in PHP.

SCA components use phpDocumentor-style (see http://www.phpdoc.org/) annotations to declare dependencies on other SCA components or Web services. The SCA for PHP runtime resolves these dependencies at runtime on behalf of the components, and thus allows the PHP programmer to focus on the business logic rather than on locating and obtaining references to dependencies.

The SCA for PHP programming model can be extended to support a number of service types, such as REST and Atompub. However, Web services (more accurately, WSDL defined, SOAP/HTTP services), are the only type currently specified.

Components also use annotations to define the interface which they expose as a service. The SCA for PHP runtime will automatically generate WSDL from these annotations, so that an SCA component is easily exposed as a web service. These annotations are a natural extension to those provided by phpDocumentor. Deploying a Web service can be as simple as placing a PHP component under the document root of a web server.

Components also use annotations to specify data structures (expressed using XML schema complex types) which are then handled using Service Data Objects (SDOs).

A PHP script which is not an SCA component and which contains no annotations can use the services of an SCA component. A PHP script or component can make calls to a web service that is not an SCA component, but using the same system of calls or annotations to obtain a reference.

First we show a single SCA component, ConvertedStockQuote which illustrates many of the features of SCA for PHP. It has one method, getQuote(), which given a stock "ticker" obtains a price quote for that stock, converted to a given currency. We shall be using this example as a basis for explaining the SCA for PHP throughout the rest of this document.

Пример #1 A sample SCA component

<?php

include "SCA/SCA.php";

/**
 * Calculate a stock price for a given ticker symbol in a given currency.
 *
 * @service
 * @binding.soap
 */
class ConvertedStockQuote {

    /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

In this example, we see that an SCA component is implemented by a script containing a PHP class and includes SCA.php. The class contains a mixture of business logic and references to other components or services. In the illustrated getQuote() method there is only business logic, but it relies on the instance variables $stock_quote and $exchange_rate having been initialized. These refer to two other components and will be initialized by the SCA runtime with proxies for these two services, whenever this component executes. The annotations for these two services show one to be a local component, which will be called within the same PHP runtime, and one to be a remote component which will be called via a SOAP request. This component also exposes the getQuote() method both locally and as a web service, so it in turn can be called either locally or remotely.

SCA
Установка и настройка
SCA


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SCA


Требования

If you want to use SCA to consume or produce Web services then you need PHP 5.2.0 or later, built with the soap extension enabled. If you just want to use local components, and do not wish to use the Web service bindings, then this version of SCA for PHP will also run with PHP 5.1.6.

SCA is packaged along with SDO in one combined package on PECL. See http://www.php.net/sdo#sdo.installation for installing the SCA_SDO package from PECL. The SCA code must be on the include path of your PHP installation, for example if it is installed as /usr/local/lib/php/SCA, the include_path directive must include /usr/local/lib/php

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/sca.

DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
SCA


Примеры

Содержание

  • The structure of a Service Component
  • Obtaining a proxy for another Service Component
  • Calling another Service Component
  • Locating and calling services from a script which is not an SCA Component
  • Exposing a Service Component as a Web service
  • Deploying an SCA component
  • Obtaining the WSDL for an SCA component offering a Service as a Web service
  • Understanding how the WSDL is generated
  • Working with Data Structures
  • Error handling

The examples in the subsequent sections illustrate the following aspects of PHP for SCA:

  • How PHP annotations are used to define PHP classes as SCA components, and how annotations are used to define the services.

  • How an SCA component can be exposed as a Web service

  • How an SCA component can consume a Web service, whether provided by another SCA component or by some other service which knows nothing of SCA

  • How an SCA component can call another SCA component locally (within the same process and on the same call stack)

  • How a client script which is not an SCA component can use the getService call to obtain a proxy for an SCA component.

  • How data structures such as Addresses, or Puchase Orders, are represented as Service Data Objects, and handled.

  • How SCA components are deployed, and in particular how and when WSDL is generated for a service.

  • How parameters are always passed by value (and not by reference) between components, even when the calls are local. This ensures that the semantics of a call do not change depending on the location of a component.

  • How positional parameters to a service are supported, even when the underlying WSDL is document literal wrapped, and naturally supports only named parameters.

  • How business and runtime exceptions are handled.

Предопределенные константы
The structure of a Service Component
SCA


The structure of a Service Component

A service component is implemented by a class. To identify it as a service component, it contains an @service annotation. The SCA runtime will use the file name of the script to determine the component name, by convention. The class and script file must therefore share the same name.

PHP SCA components always expose a service, and there is no way for a component to be invoked other than to be called as a result of a Web service request, or called directly from another component or from a script. For this reason a valid PHP SCA component will always contain an @service annotation and at least one public method.

Each SCA Component requires that the SCA.php script is included. As well as containing the definition of the SCA class, this script contains executable PHP code that will run whenever the script is called, and which will be responsible for making the component behave as needed.

Предостережение

It is very important that if your file contains other includes, they come before the include for SCA.php. If there are includes after the include for SCA.php, they will not have been processed when the SCA runtime runs your class.

The example below illustrates this overall structure

Пример #1 The structure of an SCA for PHP component

<?php

// any includes

include "SCA/SCA.php";

/**
 * @service
 */

class ConvertedStockQuote {

       // instance variables, business logic, including at least one public method

}
?>

Примеры
Obtaining a proxy for another Service Component
Примеры


Obtaining a proxy for another Service Component

One SCA component can call the service provided by another SCA component. The service a component provides is made up of all of its public methods. SCA for PHP currently provides two ways for one component to call another: either locally (i.e. within the same PHP run-time, and on the same call stack) or remotely if the called component exposes a Web service binding.

In order for one component to call another, the calling component needs a proxy for the called component. This proxy is usually provided as an instance variable in the calling component, though proxies can also be obtained with the SCA::getService() call, as we shall see later. When a component is constructed, proxies are constructed for any instance variable which refer to another component, and these proxies are "injected" into the instance variables. Proxies are always used, whether the component is local or remote, in order to provide identical calling behavior between remote and local calls (for example, local calls are made to always pass data by-value). The proxies know how to locate the required component and to pass the calls made on to them.

Instance variables which are intended to hold proxies for services are indicated by the two PHPDocumentor-style annotations, @reference and @binding. Both annotations are placed in the documentation section for a class instance variable, as shown by the code below.

The @reference annotation before an instance variable indicates that the instance variable is to be initialized with a proxy to a component.

The @binding annotation has two forms @binding.php and @binding.soap, and indicates that the proxy is either for a local component or for a Web service respectively. For both @binding.php and @binding.soap, the annotation gives a target URI.

At the moment, with the annotation-based method of specifying dependencies, the only way to alter the intended target of a reference is to alter the annotation within the component.

In our ConvertedStockQuote example, the $exchange_rate instance variable will be initialized with a proxy to the local ExchangeRate component whenever an instance of the ConvertedStockQuote is constructed.

Пример #1 Obtaining a proxy for a local PHP class

<?php
   /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

For @binding.php, the URI identifies the location of the script containing the implementation of the component. The component will be called locally. The service provided is the set of public methods of the component. The URI must be a simple pathname, either absolute or relative. The component will be loaded with the PHP include directive, after testing to see if it is already loaded with class_exists(). If the URI is a relative path, it is resolved relative to the component containing the annotation. Note that this is different from the normal PHP behaviour where scripts would be looked for along the PHP include_path, This is intended to provide some location-independence for cross-component references.

If this ExchangeRate service were remote and to be called as a Web service, only the @binding line changes. Instead of giving the location of a PHP class, it gives the location of the WSDL describing the web service. In our example component, this is illustrated by the second reference:

Пример #2 Obtaining a proxy for a web service

<?php
/**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

The StockQuote component will be called via a Web service request. In this case the URI for the WSDL can be a simple pathname, or may contain a PHP wrapper and begin, for example, with file:// or http://. In the event that it is a simple pathname, it can be absolute or relative, and if relative will be resolved relative to the component containing the annotation. Note that this is like the behaviour for @binding.php, and different from the normal PHP behaviour where the file would be looked for relative to the PHP current working directory, which would usually be the location of the first script to be called. This behaviour is intended to give consistency across the different bindings and to provide some location-independence for references between components.

The structure of a Service Component
Calling another Service Component
Примеры


Calling another Service Component

The ConvertedStockQuote example also calls the proxies for the two components to which it refers.

Пример #1 Calling services

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

The call to the StockQuote service is a call to a local service; the call to the ExchangeRate service is a call to a remote service. Note that the way the call is made looks the same regardless of whether the call is to a local service or a remote one.

The proxies which have been injected ensure that the way calls to components look and behave are the same way regardless of whether they are to a local or remote service, so that components are not sensitive to whether a call is to a local or a remote service. For example, the proxy for a local service takes copies of the arguments and passes only those copies, to ensure that calls are made to be pass-by-value, as they would be for a remote call. Also, the proxy for a remote service takes the arguments from a positional parameter list and ensures they are packaged properly in a SOAP request and converted back to a positional parameter list at the far end.

In the example above, the $ticker and $currency are clearly PHP scalar types. Components can pass the PHP scalar types string, integer, float and boolean, but data structures on service calls are always passed as Service Data Objects (SDOs). A later section describes how a component can create an SDO to pass on a local or Web service call, or how a component can create an SDO to return. The PHP SDO project documentation describes how to work with the SDO APIs (see the SDO pages).

Obtaining a proxy for another Service Component
Locating and calling services from a script which is not an SCA Component
Примеры


Locating and calling services from a script which is not an SCA Component

SCA components obtain proxies for other components or services as instance variables annotated with @reference, but this is not possible for a script that is not itself also a component. A client script which is not a component must use the SCA::getService() static method to obtain a proxy for a service, whether local or remote. The getService() method takes a URI as the argument. Typically this is the location of a local PHP script containing a component, or of a wsdl file, and is used in exactly the same way as the targets of the @binding annotations described in the previous section: that is, relative URIs are resolved against the location of the client script and not against the PHP include_path or current working directory.

For example, a script that needed to obtain proxies for the ExchangeRate and StockQuote services but was not a component would use the getService() method as follows:

Пример #1 Obtaining a proxy using getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Methods on services can then be called on the returned proxy, just as they can in a component.

Пример #2 Making calls on the proxy

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Calling another Service Component
Exposing a Service Component as a Web service
Примеры


Exposing a Service Component as a Web service

SCA for PHP can generate WSDL from the annotations within a service component, so that it can be easily deployed and exposed as a Web service. To provide SCA with the information it needs to generate the WSDL, it is necessary to add the annotation @binding.soap under the @service annotation and to specify the parameters and return values of the methods using the @param and @return annotations. These annotations will be read when WSDL is generated, and the order and types of the parameters determine the contents of the <schema> section of the WSDL.

SCA for PHP always generates document/literal wrapped WSDL for components that are exposing a Web service. Note that this does not stop components from consuming Web services which are not SCA components and which are documented with WSDL written in a different style.

The scalar types which can be used in the @param annotation are the four common PHP scalar types: boolean, integer, float and string. These are simply mapped to the XML schema types of the same name in the WSDL. The example below, which is a trivial implementation of the StockQuote service that the ConvertedStockQuote component calls, illustrates string and float types.

Пример #1 StockQuote Service

<?php

include "SCA/SCA.php";

/**
 * Scaffold implementation for a remote StockQuote Web service.
 *
 * @service
 * @binding.soap
 *
 */
class StockQuote {

    /**
     * Get a stock quote for a given ticker symbol.
     *
     * @param string $ticker The ticker symbol.
     * @return float The stock quote.
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

WSDL much like the following (though with a service location other than 'localhost', probably) would be generated from this service:

Пример #2 Generated WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
    xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
  <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://StockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

  <message name="getQuoteRequest">
    <part name="getQuoteRequest" element="tns2:getQuote"/>
  </message>
  <message name="getQuoteResponse">
    <part name="return" element="tns2:getQuoteResponse"/>
  </message>
  <portType name="StockQuotePortType">
    <operation name="getQuote">
      <input message="tns2:getQuoteRequest"/>
      <output message="tns2:getQuoteResponse"/>
    </operation>
  </portType>
  <binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
    <operation name="getQuote">
      <input>
        <tns3:body xsi:type="tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  </binding>
  <service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns2:StockQuoteBinding">
      <tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Locating and calling services from a script which is not an SCA Component
Deploying an SCA component
Примеры


Deploying an SCA component

There are no special steps needed to deploy a PHP SCA component. It is sufficient to place the component PHP script in its proper place under the web server document root, just like any other PHP script. It is the SCA::initComponent() executable line within each component that will be executed whenever the script is called, and which will be responsible for making the component respond appropriately to Web service calls, local calls, or requests for WSDL.

Exposing a Service Component as a Web service
Obtaining the WSDL for an SCA component offering a Service as a Web service
Примеры


Obtaining the WSDL for an SCA component offering a Service as a Web service

SCA components that expose a Web service interface (i.e. have an @binding.soap annotation) will return their WSDL definition in response to an HTTP request with a get parameter of "wsdl". The usual way to obtain this is with "?wsdl" on the end of a URL. The example below uses file_get_contents() to obtain WSDL from a service and writes it to a temporary file before then obtaining a proxy for the service in the usual way. You could of course also obtain the WSDL in a browser, or by some other means, and save the file yourself.

Пример #1 Generated WSDL

<?php
$wsdl = file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

NOTE: If the wsdl requires imported xsds, these will need to be fetched separately.

Deploying an SCA component
Understanding how the WSDL is generated
Примеры


Understanding how the WSDL is generated

SCA for PHP generates WSDL for components which contain an @binding.soap annotation after the @service annotation. To generate WSDL, the SCA runtime reflects on the component and examines the @param and @return annotations for each public method, as well as any @types annotations within the component. The information from the @param and @return annotations is used to build the <types> section of the WSDL. Any @types annotations which specify a separate schema file will result in an <import> element for that schema within the WSDL.

Location attribute of the <service> element

At the bottom of the WSDL is the <service> element which uses the location attribute to identify the URL of the service. For example this might look as follows:

Пример #1 location attribute

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Note that this location is relative to the document root of the web server, and cannot be worked out in advance. It can only be worked out once the component is in its proper place under a running web server, when the hostname and port can be known and placed in the WSDL. Detail from the URL that requests the WSDL is used, so for example if the WSDL is generated in response to a request to http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, a location of http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php is what will be inserted into the location attribute in the WSDL.

Document/literal wrapped WSDL and positional parameters

SCA for PHP generates WSDL in the document/literal wrapped style. This style encloses the parameters and return types of a method in 'wrappers' which are named after the corresponding method. The <types> element at the top of the WSDL defines each of these wrappers. If we consider the getQuote() method of the ConvertedStockQuote example:

Пример #2 method with two arguments

<?php
   /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

The WSDL generated to define this method will name both the method and the parameters, and give an XML schema type for the parameters. The types section of the WSDL looks like this:

Пример #3 types section illustrating named parameters

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://ConvertedStockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
            <xs:element name="currency" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

The SCA run-time has special processing to handle how positional parameter lists in the interface are converted to XML containing named parameters in the soap request, and then back to positional parameter lists again. To see why this matters, consider how a PHP script which used a different interface to make a SOAP call would need to construct the parameter list. A PHP script using the PHP SoapClient, for example, would need to pass the SoapClient a single parameter giving the values for "ticker" and "currency", perhaps as an associative array. To insist that SCA components construct parameter lists to make Web service calls in this way would be to make local and remote calls look different, so a different approach is needed.

When SCA generates WSDL for an SCA component it includes a comment in the WSDL which marks that WSDL as being the interface for an SCA component. In this case, when one SCA component calls another through a Web service, the SCA runtime on the calling end takes the positional parameter list from the call and assigns the values one by one to the named elements in the soap message. For example a call to the getQuote() method defined above that passes the values 'IBM' and 'USD' and looks like this:

<?php
  $quote = $remote_service->getQuote('IBM','USD');
?>

will result in a soap message containing the following:

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

On the service-providing end, the SCA run-time takes the parameters one by one from the soap message and forms a positional parameter list from them, re-forming the argument list ('IBM','USD').

Предостережение

At both ends the SCA runtime relies on the order in which the parameters appear in the soap message being the same as that in the target method's parameter list. This is ultimately determined by the order of the @param annotations: this determines the order in which the parameters appear in the WSDL and thereby the order in which they appear in the soap message. Therefore it is essential that the order of the @param annotations matches that of the parameters in the method's parameter list.

Obtaining the WSDL for an SCA component offering a Service as a Web service
Working with Data Structures
Примеры


Working with Data Structures

SCA components can pass and return the four PHP scalar types boolean, integer, float and string, but to pass or return data structures, SCA components use Service Data Objects (SDOs). SDOs are described in much more detail in the SDO pages of this manual. Readers familiar with SDOs will know that they are suitable for representing the sort of structured and semi-structured data that is frequently modeled in XML, and that they serialize very naturally for passing between remote components, or in Web services. SDOs are presently the only supported way to pass and return data structures. It is not possible to pass or return PHP objects, or PHP arrays.

The SCA runtime always assures data is passed by-value, even for local calls. To do this, the SCA runtime copies any SDOs in the parameter list before passing them on, just as it does for scalar types.

How data structures are defined to SCA components

Currently the only mechanism for specifying the location of a data structure definition is by specifying the types in an XML schema file. However, in the future it may be possible to define types in other ways, such as based on PHP classes or interfaces, or based on definitions expressed as associative arrays.

To illustrate the use of SDOs we introduce a new component. The PortfolioMangement service below returns an SDO representing a stock portfolio for a given customer.

Пример #1 A Component that uses Data Structures

<?php

include "SCA/SCA.php";

/**
 * Manage the portfolio for a customer.
 *
 * @service
 * @binding.soap
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Get the stock portfolio for a given customer.
     *
     * @param integer $customer_id The id for the customer
     * @return Portfolio http://www.example.org/Portfolio The stock portfolio (symbols and quantities)
     */
    function getPortfolio($customer_id) {
        // Pretend we just got this from a database
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

The @types annotation:

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

indicates that types in the namespace http://www.example.org/Portfolio will be found in the schema file located by the URI PortfolioTypes.xsd. The generated WSDL would reproduce this information with an import statement as follows:

<xs:import schemaLocation="PortfolioTypes.xsd"
                      namespace="http://www.example.org/Portfolio"/>

so the URI, absolute or relative, must be one that can be resolved when included in the schemaLocation attribute.

Creating SDOs

Readers familiar with SDOs will know that they are always created according to a description of the permitted structure (sometimes referred to as the 'schema' or 'model') and that, rather than creating them directly using 'new', some form of data factory is needed. Often, an existing data object can be used as the data factory, but sometimes, and especially in order to get the first data object, something else must act as the data factory.

In SCA, either the SCA runtime class or the proxies for services, whether local or remote, can act as the data factories for SDOs. The choice of which to use, and when, is described in the next two sections.

We switch to a new example in order to illustrate the creation of SDOs, both to pass to a service, and to be returned from a service.

Creating an SDO to pass to a service

A caller of a service which requires a data structure to be passed in to it uses the proxy to the service as the data factory for the corresponding SDOs. For example, suppose a component makes use of a proxy for a service provided by a local AddressBook component.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

The AddressBook component that it wishes to call is defined as follows:

<?php
/**
* @service
* @binding.soap
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (a person object)
     * @return addressType http://addressbook (the address object for the person object)
     */
    function lookupAddress($person)  {
        ...
    }
}
?>

The AddressBook component provides a service method called lookupAddress() which uses types from the http://addressbook namespace. The lookupAddress method takes a personType data structure and returns an addressType. Both types are defined in the schema file addressbook.xsd.

Once the component that wishes to use the AddressBook component has been constructed, so that the $address_book instance variable contains a proxy for the service, the calling component can use the proxy in $address_book to create the person SDO, as shown below:

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Note, the use of the proxy as the means to create the SDO is not limited to SCA components. If a service is being called from a general PHP script, and the proxy was obtained with getService() then the same approach is used.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Creating an SDO to return from a component

A component that needs to create a data object for return to a caller will not have a proxy to use as a data object, In this case it uses the createDataObject() static method on SCA.php. Hence if the AddressBook component described above needed to create an object of type addressType within the namespace http://addressbook, it might do so as follows:

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Understanding how the WSDL is generated
Error handling
Примеры


Error handling

This section describes how errors are handled. There are two types of errors:

  • SCA runtime exceptions are those that signal problems in the management of the execution of components, and in the interaction with remote services. These might occur due to network or configuration problems.

  • Business exceptions are those that are defined by the programmer. They extend the PHP Exception class, and are thrown and caught deliberately as part of the business logic.

Handling of Runtime exceptions

There are two types of SCA runtime exception:

  • SCA_RuntimeException - signals a problem found by or perhaps occurring within the SCA runtime. This can be thrown for a variety of reasons, many of which can occur regardless of whether a connection is being made to a local or a remote service: an error in one of the annotations within a component, a missing WSDL or php file, and so on. In the case of Web services, an SCA_RuntimeException can also be thrown if a SoapFault is received from a remote Web service and the fault code in the SoapFault indicates that a retry is unlikely to be successful.

  • SCA_ServiceUnavailableException - this is a subclass of SCA_RuntimeException and signals a problem in connecting to or using a remote service, but one which might succeed if retried. In the case of Web services, this exception is thrown if a SoapFault is received with a fault code that indicates that a retry might be successful.

Handling of Business exceptions

Business exceptions may be defined and thrown by a component in the normal way, regardless of whether the component has been called locally or remotely. The SCA runtime does not catch business exceptions that have been thrown by a component called locally, so they will be returned to a caller in the normal way. If a component has been called via a Web service, on the other hand, the SCA runtime on the service providing end does catch business exceptions, and will ensure these are passed back to the calling end and re-thrown. Assuming that the calling end has a definition of the exception (that is, is able to include a file containing the PHP class defining the exception) the re-thrown exception will contain the same details as the original, so that the getLine() and getFile() methods for example will contain the location where the exception was thrown within the business logic. The exception will be passed in the detail field of a soap fault with a fault code of "Client".

Working with Data Structures
SCA Функции
Примеры


Error handling
SCA_LocalProxy::createDataObject
SCA
PHP Manual

SCA Функции

Предопределенные классы

Most of the interface to SCA is through the annotations within SCA components so there are few public classes and methods. The only SCA classes that scripts or components can call are the SCA class itself, and the proxy classes SCA_LocalProxy and SCA_SoapProxy.

SCA

Much of the work of the SCA class is performed when the file SCA.php is included within an SCA component. However, a PHP script may include SCA.php and call the getService() method on the SCA class in order to obtain a proxy for a service. A component will not need to do this as proxies are obtained instead by defining an instance variable with the @reference annotation.

Components that need to create an SDO to return to a caller will need a data factory to call. For this purpose the SCA class supports the createDataObject() method, which will create an SDO according to the model defined by the component's @types annotations. The arguments to createDataObject() are the same as those to SDO's XML Data Access Service.

Методы

  • getService - obtain a proxy for a service

  • createDataObject - create an SDO

SCA_LocalProxy

When getService() is called with the target of a local PHP component, a local proxy is returned. A local proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.php anotation. When the script or component makes calls on the local proxy, they are passed on to the target component itself.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_LocalProxy class supports the createDataObject() method, which will create an SDO according to the model defined by the components' @types annotations. The arguments to the createDataObject() are the same as those to SDO's XML Data Access Service.

Методы

  • createDataObject - create an SDO

SCA_SoapProxy

When getService() is called with the target of a WSDL file, a SOAP proxy is returned. A SOAP proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.soap anotations. When the script or component makes calls on the SOAP proxy, they are formed into Web service SOAP requests and passed on to the target component, with the help of the PHP Soap extension.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_SoapProxy class supports the createDataObject() method, which will create an SDO according to the model defined within the target WSDL. The arguments to the createDataObject() are the same as those to SDO's XML Data Access Service.

Методы

  • createDataObject - create an SDO

Содержание

  • SCA_LocalProxy::createDataObject — create an SDO
  • SCA_SoapProxy::createDataObject — create an SDO
  • SCA::createDataObject — create an SDO
  • SCA::getService — Obtain a proxy for a service
Error handling
SCA_LocalProxy::createDataObject
SCA
PHP Manual


create an SDO

SCA Функции
SCA_SoapProxy::createDataObject
SCA Функции
PHP Manual

SCA_LocalProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_LocalProxy::createDataObject — create an SDO

Описание

SDO_DataObject SCA_LocalProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a local service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined in one of the schema files which are specified on the @types annotation within the component for which the SCA_LocalProxy object is a proxy.

Список параметров

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Возвращаемые значения

Returns the newly created SDO_DataObject.

Ошибки

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations within the component for which the SCA_LocalProxy object is a proxy..

SCA Функции
SCA_SoapProxy::createDataObject
SCA Функции


create an SDO

SCA_LocalProxy::createDataObject
SCA::createDataObject
SCA Функции
PHP Manual

SCA_SoapProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_SoapProxy::createDataObject — create an SDO

Описание

SDO_DataObject SCA_SoapProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a web service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined within the WSDL for the web service. If the web service is also an SCA component then the types will have been defined within one of the schema files which are specified on the @types annotation within the component for which the SCA_SoapProxy object is a proxy.

Список параметров

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Возвращаемые значения

Returns the newly created SDO_DataObject.

Ошибки

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type found in the WSDL that was used to initialise this SCA_SoapProxy.

SCA_LocalProxy::createDataObject
SCA::createDataObject
SCA Функции


create an SDO

SCA_SoapProxy::createDataObject
SCA::getService
SCA Функции
PHP Manual

SCA::createDataObject

(PECL SDO >= 0.5.0)

SCA::createDataObject — create an SDO

Описание

SDO_DataObject SCA::createDataObject ( string $type_namespace_uri , string $type_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This method is used inside an SCA component that needs to create an SDO to return. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in one of the schema files which are specified on the @types annotation within the component.

Список параметров

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Возвращаемые значения

Returns the newly created SDO_DataObject.

Ошибки

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations.

SCA_SoapProxy::createDataObject
SCA::getService
SCA Функции


Obtain a proxy for a service

SCA::createDataObject
SOAP
SCA Функции
PHP Manual

SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService — Obtain a proxy for a service

Описание

mixed SCA::getService ( string $target [, string $binding [, array $config ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Examine the target and initialize and return a proxy of the appropriate sort. If the target is for a local PHP component the returned proxy will be an SCA_LocalProxy. If the target is for a WSDL file, the returned proxy will be a SCA_SoapProxy.

Список параметров

target

An absolute or relative path to the target service or service description (e.g. a URL to a json-rpc service description, a PHP component, a WSDL file, and so on.). A relative path, if specified, is resolved relative to the location of the script issuing the getService() call, and not against the include_path or current working directory.

binding

The binding (i.e. protocol) to use to communicate with the service (e.g binding.jsonrpc for a json-rpc service). Note, some service types can be deduced from the target parameter (e.g. if the target parameter ends in .wsdl then SCA will assume binding.soap). Any binding which can be specified in an annotation can be specified here. For example 'binding.soap' is equivalent to the '@binding.soap' annotation.

config

Any additional configuration properties for the binding (e.g. array('location' => 'http://example.org')). Any binding configuration which can be specified in an annotation can be specified here. For example, 'location' is equivalent to the '@location' annotation to configure the location of a target soap service.

Возвращаемые значения

The SCA_LocalProxy or SCA_SoapProxy.

Примеры

Пример #1 An SCA::getService() example

This example shows how to get a proxy to an email soap service described by EmailService.wsdl and located at http://example.org.

<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

Результат выполнения данного примера:

SCA::createDataObject
SOAP
SCA Функции


SOAP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SOAP Функции
    • is_soap_fault — Checks if a SOAP call has failed
    • use_soap_error_handler — Set whether to use the SOAP error handler
  • SoapClient — The SoapClient class
    • SoapClient::__call — Вызывает SOAP-функцию (устаревший)
    • SoapClient::__construct — Конструктор SoapClient
    • SoapClient::__doRequest — Performs a SOAP request
    • SoapClient::__getFunctions — Returns list of available SOAP functions
    • SoapClient::__getLastRequest — Returns last SOAP request
    • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
    • SoapClient::__getLastResponse — Returns last SOAP response
    • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
    • SoapClient::__getTypes — Returns a list of SOAP types
    • SoapClient::__setCookie — The __setCookie purpose
    • SoapClient::__setLocation — Sets the location of the Web service to use
    • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
    • SoapClient::__soapCall — Вызывает SOAP-функцию
    • SoapClient::SoapClient — Конструктор SoapClient
  • SoapServer — The SoapServer class
    • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
    • SoapServer::addSoapHeader — Add a SOAP header to the response
    • SoapServer::__construct — SoapServer constructor
    • SoapServer::fault — Issue SoapServer fault indicating an error
    • SoapServer::getFunctions — Returns list of defined functions
    • SoapServer::handle — Handles a SOAP request
    • SoapServer::setClass — Устанавливает класс, который будет обрабатывать SOAP-запросы
    • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
    • SoapServer::setPersistence — Sets SoapServer persistence mode
    • SoapServer::SoapServer — SoapServer constructor
  • SoapFault — The SoapFault class
    • SoapFault::__construct — SoapFault constructor
    • SoapFault::SoapFault — SoapFault constructor
    • SoapFault::__toString — Obtain a string representation of a SoapFault
  • SoapHeader — The SoapHeader class
    • SoapHeader::__construct — SoapHeader constructor
    • SoapHeader::SoapHeader — SoapHeader constructor
  • SoapParam — The SoapParam class
    • SoapParam::__construct — SoapParam constructor
    • SoapParam::SoapParam — SoapParam constructor
  • SoapVar — The SoapVar class
    • SoapVar::__construct — SoapVar constructor
    • SoapVar::SoapVar — SoapVar constructor
SCA::getService
Введение
Веб-сервисы


Введение

The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications.

SOAP
Установка и настройка
SOAP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SOAP


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

Установка и настройка
Установка
Установка и настройка


Установка

To enable SOAP support, configure PHP with --enable-soap .

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

SOAP Опции настройки
Имя | По умолчанию | Меняемо | Список изменений
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

soap.wsdl_cache_enabled integer

Enables or disables the WSDL caching feature.

soap.wsdl_cache_dir string

Sets the directory name where the SOAP extension will put cache files.

soap.wsdl_cache_ttl integer

Sets the number of seconds (time to live) that cached files will be used instead of the originals.

soap.wsdl_cache integer

If soap.wsdl_cache_enabled is on, this setting determines the type of caching. It can be any of: WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) or WSDL_CACHE_BOTH (3). This can also be set via the options array in the SoapClient or SoapServer constructor.

soap.wsdl_cache_limit integer

Maximum number of in-memory cached WSDL files. Adding further files into a full memory cache will delete the oldest files from it.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SOAP constants
Constant | Value | Description
SOAP_1_1 (integer) | 1 |
SOAP_1_2 (integer) | 2 |
SOAP_PERSISTENCE_SESSION (integer) | 1 |
SOAP_PERSISTENCE_REQUEST (integer) | 2 |
SOAP_FUNCTIONS_ALL (integer) | 999 |
SOAP_ENCODED (integer) | 1 |
SOAP_LITERAL (integer) | 2 |
SOAP_RPC (integer) | 1 |
SOAP_DOCUMENT (integer) | 2 |
SOAP_ACTOR_NEXT (integer) | 1 |
SOAP_ACTOR_NONE (integer) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER (integer) | 3 |
SOAP_COMPRESSION_ACCEPT (integer) | 32 |
SOAP_COMPRESSION_GZIP (integer) | 0 |
SOAP_COMPRESSION_DEFLATE (integer) | 16 |
SOAP_AUTHENTICATION_BASIC (integer) | 0 |
SOAP_AUTHENTICATION_DIGEST (integer) | 1 |
UNKNOWN_TYPE (integer) | 999998 |
XSD_STRING (integer) | 101 |
XSD_BOOLEAN (integer) | 102 |
XSD_DECIMAL (integer) | 103 |
XSD_FLOAT (integer) | 104 |
XSD_DOUBLE (integer) | 105 |
XSD_DURATION (integer) | 106 |
XSD_DATETIME (integer) | 107 |
XSD_TIME (integer) | 108 |
XSD_DATE (integer) | 109 |
XSD_GYEARMONTH (integer) | 110 |
XSD_GYEAR (integer) | 111 |
XSD_GMONTHDAY (integer) | 112 |
XSD_GDAY (integer) | 113 |
XSD_GMONTH (integer) | 114 |
XSD_HEXBINARY (integer) | 115 |
XSD_BASE64BINARY (integer) | 116 |
XSD_ANYURI (integer) | 117 |
XSD_QNAME (integer) | 118 |
XSD_NOTATION (integer) | 119 |
XSD_NORMALIZEDSTRING (integer) | 120 |
XSD_TOKEN (integer) | 121 |
XSD_LANGUAGE (integer) | 122 |
XSD_NMTOKEN (integer) | 123 |
XSD_NAME (integer) | 124 |
XSD_NCNAME (integer) | 125 |
XSD_ID (integer) | 126 |
XSD_IDREF (integer) | 127 |
XSD_IDREFS (integer) | 128 |
XSD_ENTITY (integer) | 129 |
XSD_ENTITIES (integer) | 130 |
XSD_INTEGER (integer) | 131 |
XSD_NONPOSITIVEINTEGER (integer) | 132 |
XSD_NEGATIVEINTEGER (integer) | 133 |
XSD_LONG (integer) | 134 |
XSD_INT (integer) | 135 |
XSD_SHORT (integer) | 136 |
XSD_BYTE (integer) | 137 |
XSD_NONNEGATIVEINTEGER (integer) | 138 |
XSD_UNSIGNEDLONG (integer) | 139 |
XSD_UNSIGNEDINT (integer) | 140 |
XSD_UNSIGNEDSHORT (integer) | 141 |
XSD_UNSIGNEDBYTE (integer) | 142 |
XSD_POSITIVEINTEGER (integer) | 143 |
XSD_NMTOKENS (integer) | 144 |
XSD_ANYTYPE (integer) | 145 |
XSD_ANYXML (integer) | 147 |
APACHE_MAP (integer) | 200 |
SOAP_ENC_OBJECT (integer) | 301 |
SOAP_ENC_ARRAY (integer) | 300 |
XSD_1999_TIMEINSTANT (integer) | 401 |
XSD_NAMESPACE (integer) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE (integer) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS (integer) | 1 |
SOAP_WAIT_ONE_WAY_CALLS (integer) | 2 |
SOAP_USE_XSI_ARRAY_TYPE (integer) | 4 |
WSDL_CACHE_NONE (integer) | 0 |
WSDL_CACHE_DISK (integer) | 1 |
WSDL_CACHE_MEMORY (integer) | 2 |
WSDL_CACHE_BOTH (integer) | 3 |
Типы ресурсов
SOAP Функции
SOAP


SOAP Функции

Содержание

  • is_soap_fault — Checks if a SOAP call has failed
  • use_soap_error_handler — Set whether to use the SOAP error handler
Предопределенные константы
is_soap_fault
SOAP


Checks if a SOAP call has failed

SOAP Функции
use_soap_error_handler
SOAP Функции
PHP Manual

is_soap_fault

(Unknown)

is_soap_fault — Checks if a SOAP call has failed

Описание

bool is_soap_fault ( mixed $object )

This function is useful to check if the SOAP call failed, but without using exceptions. To use it, create a SoapClient object with the exceptions option set to zero or FALSE. In this case, the SOAP method will return a special SoapFault object which encapsulates the fault details (faultcode, faultstring, faultactor and faultdetails).

If exceptions is not set then SOAP call will throw an exception on error. is_soap_fault() checks if the given parameter is a SoapFault object.

Список параметров

object

The object to test.

Возвращаемые значения

This will return TRUE on error, and FALSE otherwise.

Примеры

Пример #1 is_soap_fault() example

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Пример #2 SOAP's standard method for error reporting is exceptions

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient
  • SoapFault::SoapFault() - SoapFault constructor

SOAP Функции
use_soap_error_handler
SOAP Функции


Set whether to use the SOAP error handler

is_soap_fault
SoapClient
SOAP Функции
PHP Manual

use_soap_error_handler

(Unknown)

use_soap_error_handler — Set whether to use the SOAP error handler

Описание

bool use_soap_error_handler ([ bool $handler = true ] )

This function sets whether or not to use the SOAP error handler in the SOAP server. It will return the previous value. If set to TRUE, details of errors in a SoapServer application will be sent to the clients. If FALSE, no information will be sent.

Список параметров

handler

Set to TRUE to send error details to clients.

Возвращаемые значения

Returns the original value.

Смотрите также

  • set_error_handler() - Sets a user-defined error handler function
  • set_exception_handler() - Sets a user-defined exception handler function

is_soap_fault
SoapClient
SOAP Функции


The SoapClient class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.

Обзор классов

SoapClient {
/* Методы */
public mixed __call ( string $function_name , string $arguments )
SoapClient ( mixed $wsdl [, array $options ] )
public string __doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )
public array __getFunctions ( void )
public string __getLastRequest ( void )
public string __getLastRequestHeaders ( void )
public string __getLastResponse ( void )
public string __getLastResponseHeaders ( void )
public array __getTypes ( void )
public void __setCookie ( string $name [, string $value ] )
public string __setLocation ([ string $new_location ] )
public bool __setSoapHeaders ([ mixed $soapheaders ] )
public mixed __soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )
SoapClient ( mixed $wsdl [, array $options ] )
}

Содержание

  • SoapClient::__call — Вызывает SOAP-функцию (устаревший)
  • SoapClient::__construct — Конструктор SoapClient
  • SoapClient::__doRequest — Performs a SOAP request
  • SoapClient::__getFunctions — Returns list of available SOAP functions
  • SoapClient::__getLastRequest — Returns last SOAP request
  • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse — Returns last SOAP response
  • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
  • SoapClient::__getTypes — Returns a list of SOAP types
  • SoapClient::__setCookie — The __setCookie purpose
  • SoapClient::__setLocation — Sets the location of the Web service to use
  • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
  • SoapClient::__soapCall — Вызывает SOAP-функцию
  • SoapClient::SoapClient — Конструктор SoapClient
use_soap_error_handler
SoapClient::__call
SOAP


Вызывает SOAP-функцию (устаревший)

SoapClient
SoapClient::__construct
SoapClient
PHP Manual

SoapClient::__call

(PHP 5 >= 5.0.1)

SoapClient::__call — Вызывает SOAP-функцию (устаревший)

Описание

public mixed SoapClient::__call ( string $function_name , string $arguments )

Этот метод устаревший. Используйте SoapClient::__soapCall вместо него.

SoapClient
SoapClient::__construct
SoapClient


Конструктор SoapClient

SoapClient::__call
SoapClient::__doRequest
SoapClient
PHP Manual

SoapClient::__construct

(PHP 5 >= 5.0.1)

SoapClient::__construct — Конструктор SoapClient

Описание

SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Эта функция является псевдонимом: SoapClient::SoapClient()

SoapClient::__call
SoapClient::__doRequest
SoapClient


Performs a SOAP request

SoapClient::__construct
SoapClient::__getFunctions
SoapClient
PHP Manual

SoapClient::__doRequest

(PHP 5 >= 5.0.1)

SoapClient::__doRequest — Performs a SOAP request

Описание

public string SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

Список параметров

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

one_way

If one_way is set to 1, this method returns nothing. Use this where a response is not expected.

Возвращаемые значения

The XML SOAP response.

Список изменений

Версия | Описание
5.1.3 | The one_way parameter was added.

Примеры

Пример #1 SoapClient::__doRequest() example

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version, $one_way = 0) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

SoapClient::__construct
SoapClient::__getFunctions
SoapClient


Returns list of available SOAP functions

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient
PHP Manual

SoapClient::__getFunctions

(PHP 5 >= 5.0.1)

SoapClient::__getFunctions — Returns list of available SOAP functions

Описание

public array SoapClient::__getFunctions ( void )

Returns an array of functions described in the WSDL for the Web service.

Замечание:

Эта функция работает только в режиме WSDL.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The array of SOAP function prototypes, detailing the return type, the function name and type-hinted paramaters.

Примеры

Пример #1 SoapClient::__getFunctions() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>

Результат выполнения данного примера:

array(26) {
  [0]=>
  string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)"
  [1]=>
  string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)"
  [2]=>
  string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)"
...
  [23]=>
  string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)"
  [24]=>
  string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)"
  [25]=>
  string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)"
}

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient


Returns last SOAP request

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient
PHP Manual

SoapClient::__getLastRequest

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequest — Returns last SOAP request

Описание

public string SoapClient::__getLastRequest ( void )

Returns the XML sent in the last SOAP request.

Замечание:

This method works only if the SoapClient object was created with the trace option set to TRUE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The last SOAP request, as an XML string.

Примеры

Пример #1 SoapClient->__getLastRequest() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Смотрите также

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse() - Returns last SOAP response
  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient


Returns the SOAP headers from the last request

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient
PHP Manual

SoapClient::__getLastRequestHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request

Описание

public string SoapClient::__getLastRequestHeaders ( void )

Returns the SOAP headers from the last request.

Замечание:

This function only works if the SoapClient object was created with the trace option set to TRUE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The last SOAP request headers.

Примеры

Пример #1 SoapClient->__getLastRequest() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Смотрите также

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient


Returns last SOAP response

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient
PHP Manual

SoapClient::__getLastResponse

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponse — Returns last SOAP response

Описание

public string SoapClient::__getLastResponse ( void )

Returns the XML received in the last SOAP response.

Замечание:

This method works only if the SoapClient object was created with the trace option set to TRUE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The last SOAP response, as an XML string.

Примеры

Пример #1 SoapClient->__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>

Смотрите также

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient


Returns the SOAP headers from the last response

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient
PHP Manual

SoapClient::__getLastResponseHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response

Описание

public string SoapClient::__getLastResponseHeaders ( void )

Returns the SOAP headers from the last response.

Замечание:

This function only works if the SoapClient object was created with the trace option set to TRUE.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The last SOAP response headers.

Примеры

Пример #1 SoapClient->__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Смотрите также

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient


Returns a list of SOAP types

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient
PHP Manual

SoapClient::__getTypes

(PHP 5 >= 5.0.1)

SoapClient::__getTypes — Returns a list of SOAP types

Описание

public array SoapClient::__getTypes ( void )

Returns an array of types described in the WSDL for the Web service.

Замечание:

Эта функция работает только в режиме WSDL.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

The array of SOAP types, detailing all structures and types.

Примеры

Пример #1 SoapClient::__getTypes() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

Результат выполнения данного примера:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient


The __setCookie purpose

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient
PHP Manual

SoapClient::__setCookie

(PHP 5 >= 5.0.4)

SoapClient::__setCookie — The __setCookie purpose

Описание

public void SoapClient::__setCookie ( string $name [, string $value ] )

Defines a cookie to be sent along with the SOAP requests.

Замечание:

Calling this method will affect all following calls to SoapClient methods.

Список параметров

name

The name of the cookie.

value

The value of the cookie. If not specified, the cookie will be deleted.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient


Sets the location of the Web service to use

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient
PHP Manual

SoapClient::__setLocation

(PHP 5 >= 5.0.1)

SoapClient::__setLocation — Sets the location of the Web service to use

Описание

public string SoapClient::__setLocation ([ string $new_location ] )

Sets the endpoint URL that will be touched by following SOAP requests. This is equivalent to specifying the location option when constructing the SoapClient.

Замечание:

Calling this method is optional. The SoapClient uses the endpoint from the WSDL file by default.

Список параметров

new_location

The new endpoint URL.

Возвращаемые значения

The old endpoint URL.

Примеры

Пример #1 SoapClient::__setLocation() example

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // unsets the location option

echo $old_location;

?>

Результатом выполнения данного примера будет что-то подобное:

http://www.somethirdparty.com

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient


Sets SOAP headers for subsequent calls

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient
PHP Manual

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5)

SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls

Описание

public bool SoapClient::__setSoapHeaders ([ mixed $soapheaders ] )

Defines headers to be sent along with the SOAP requests.

Замечание:

Calling this method will replace any previous values.

Список параметров

soapheaders

The headers to be set. It could be SoapHeader object or array of SoapHeader objects. If not specified or set to NULL, the headers will be deleted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 SoapClient::__setSoapHeaders() example

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Пример #2 Set Multiple Headers

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world again');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient


Вызывает SOAP-функцию

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient
PHP Manual

SoapClient::__soapCall

(PHP 5 >= 5.0.1)

SoapClient::__soapCall — Вызывает SOAP-функцию

Описание

public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )

Это низкоуровневая функция API, которая позволяет сделать SOAP-вызов. Обычно в WSDL-режиме SOAP-функции вызываются как методы объекта SoapClient. Этот же метод полезен в не WSDL-режиме, когда soapaction не известен, uri отличается от URI по умолчанию или когда отправляются и/или принимаются SOAP-заголовки.

В случае ошибки, вызов SOAP-функции может привести к исключению или к возврату объекта SoapFault, если исключения отключены. Проверить, что вызов функции завершился неудачей, можно обработав исключение SoapFault или проверить результат с помощью функции is_soap_fault().

Список параметров

function_name

Имя вызываемой SOAP-функции.

arguments

Массив аргументов, передаваемых в функцию. Это может быть упорядоченный или ассоциативный массив.

options

Ассоциативный массив настроек, передаваемых клиенту.

Настройка location - URL удаленной веб-службы.

Настройка uri - целевое пространство имен SOAP-службы.

Настройка soapaction - действия для вызова.

input_headers

Массив заголовков, которые будут отправлены с SOAP-запросом.

output_headers

Если указан, то этот массив будет заполнен заголовками SOAP-ответа.

Возвращаемые значения

SOAP-функции могут возвращать одно или несколько значений. Если SOAP-функция возвращает только одно значение, то __soapCall вернет простое значение (например, число, строку и так далее). Если возвращается несколько значений, то __soapCall вернет ассоциативный массив именованных возвращаемых параметров.

В случае ошибки, если объект SoapClient был создан с настройкой trace, установленной в FALSE, будет возвращен объект SoapFault.

Примеры

Пример #1 Пример использования SoapClient::__soapCall()

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient
  • SoapParam::SoapParam() - SoapParam constructor
  • SoapVar::SoapVar() - SoapVar constructor
  • SoapHeader::SoapHeader() - SoapHeader constructor
  • SoapFault::SoapFault() - SoapFault constructor
  • is_soap_fault() - Checks if a SOAP call has failed

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient


Конструктор SoapClient

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

SoapClient::SoapClient

(PHP 5 >= 5.0.1)

SoapClient::SoapClient — Конструктор SoapClient

Описание

SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Конструктор создает объект SoapClient в WSDL или не-WSDL режиме.

Список параметров

wsdl

URI файла WSDL или NULL, если работа происходит в режиме не-WSDL.

Замечание:

Во время разработки кэширование WSDL можно отключить, используя настройку soap.wsdl_cache_ttl в php.ini, иначе изменения, сделанные в WSDL файле, не будут иметь эффекта до тех пор, пока не истечет время, указанное в soap.wsdl_cache_ttl.

options

Массив настроек. Если работа происходит в режиме WSDL, то этот параметр необязательный. Если в не-WSDL режиме, то должны быть установлены опции location и uri, где location - URL запроса и uri - целевое пространство имен SOAP-сервиса.

Опции style и use используются только в не-WSDL режиме. В WSDL режиме они берутся из WSDL файла.

Опция soap_version определяет, будет ли использоваться SOAP-клиент версии 1.1 (по умолчанию) или 1.2.

Для HTTP аутентификации могут быть использованы опции login и password для получения полномочий. Для реализации HTTP соединения через proxy-сервер используются настройки proxy_host, proxy_port, proxy_login и proxy_password. Для HTTPS сертификата аутентификации клиента используются опции local_cert и passphrase. Аутентификация может быть передана через authentication. Метод аутентификации может быть SOAP_AUTHENTICATION_BASIC (по умолчанию) или SOAP_AUTHENTICATION_DIGEST.

Опция compression позволяет сжимать запросы и ответы HTTP SOAP.

Опция encoding определяет внутреннюю кодировку. Опция не меняет кодировку SOAP-запросов (она всегда utf-8), но преобразует строки в нее.

Опция trace включает отслеживание запроса и в случае ошибки можно получить обратную трассировку. По умолчанию имеет значение FALSE.

Опция classmap может использоваться для перевода некоторых WSDL-типов в PHP классы. Опция должна представлять собой массив, в качестве ключей которого указаны WSDL-типы, а в качестве значений - имена PHP классов.

Установленная булевая опция trace
позволяет использовать следующие методы:

SoapClient->__getLastRequest,

SoapClient->__getLastRequestHeaders,

SoapClient->__getLastResponse и

SoapClient->__getLastResponseHeaders.

Опция exceptions принимает булевые значения и определяет будут ли SOAP-ошибки бросать исключения типа SoapFault.

Опция connection_timeout определяет тайм-аут в секундах для соединения с SOAP-сервисом. Опция не устанавливает тайм-аут для сервисов с медленными ответами. Для ограничения времени ожидания вызовов используется default_socket_timeout.

Опция typemap является массивом сопоставления типов. Массив сопоставления типов - это массив с ключами type_name, type_ns (URI пространства имен), from_xml (функция обратного вызова принимает один строковый параметр) и to_xml (функция обратного вызова принимает объект в качестве параметра).

Опция cache_wsdl принимает одно из значений: WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY или WSDL_CACHE_BOTH.

Опция user_agent определяет строку для использования в User-Agent заголовке.

Опция stream_context - это resource для context.

Опция features является битовой маской SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE, SOAP_WAIT_ONE_WAY_CALLS.

Примеры

Пример #1 Пример использования SoapClient::SoapClient()

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

SoapClient::__soapCall
SoapServer
SoapClient


The SoapServer class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

The SoapServer class provides a server for the » SOAP 1.1 and » SOAP 1.2 protocols. It can be used with or without a WSDL service description.

Обзор классов

SoapServer {
/* Методы */
public void addFunction ( mixed $functions )
public void addSoapHeader ( SoapHeader $object )
__construct ( mixed $wsdl [, array $options ] )
public void fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )
public array getFunctions ( void )
public void handle ([ string $soap_request ] )
public void setClass ( string $class_name [, mixed $args [, mixed $... ]] )
public void setObject ( object $object )
public void setPersistence ( int $mode )
SoapServer ( mixed $wsdl [, array $options ] )
}

Содержание

  • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
  • SoapServer::addSoapHeader — Add a SOAP header to the response
  • SoapServer::__construct — SoapServer constructor
  • SoapServer::fault — Issue SoapServer fault indicating an error
  • SoapServer::getFunctions — Returns list of defined functions
  • SoapServer::handle — Handles a SOAP request
  • SoapServer::setClass — Устанавливает класс, который будет обрабатывать SOAP-запросы
  • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
  • SoapServer::setPersistence — Sets SoapServer persistence mode
  • SoapServer::SoapServer — SoapServer constructor
SoapClient::SoapClient
SoapServer::addFunction
SOAP


Adds one or more functions to handle SOAP requests

SoapServer
SoapServer::addSoapHeader
SoapServer
PHP Manual

SoapServer::addFunction

(PHP 5 >= 5.0.1)

SoapServer::addFunction — Adds one or more functions to handle SOAP requests

Описание

public void SoapServer::addFunction ( mixed $functions )

Exports one or more functions for remote clients

Список параметров

functions

To export one function, pass the function name into this parameter as a string.

To export several functions, pass an array of function names.

To export all the functions, pass a special constant SOAP_FUNCTIONS_ALL.

Замечание:

functions must receive all input arguments in the same order as defined in the WSDL file (They should not receive any output parameters as arguments) and return one or more values. To return several values they must return an array with named output parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SoapServer::addFunction() example

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Смотрите также

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::setClass() - Устанавливает класс, который будет обрабатывать SOAP-запросы

SoapServer
SoapServer::addSoapHeader
SoapServer


Add a SOAP header to the response

SoapServer::addFunction
SoapServer::__construct
SoapServer
PHP Manual

SoapServer::addSoapHeader

(PHP 5 >= 5.0.1)

SoapServer::addSoapHeader — Add a SOAP header to the response

Описание

public void SoapServer::addSoapHeader ( SoapHeader $object )

Adds a SOAP header to be returned with the response to the current request.

Список параметров

object

The header to be returned.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SoapServer::addFunction
SoapServer::__construct
SoapServer


SoapServer constructor

SoapServer::addSoapHeader
SoapServer::fault
SoapServer
PHP Manual

SoapServer::__construct

(PHP 5 >= 5.0.1)

SoapServer::__construct — SoapServer constructor

Описание

SoapServer::__construct ( mixed $wsdl [, array $options ] )

Эта функция является псевдонимом: SoapServer::SoapServer()

SoapServer::addSoapHeader
SoapServer::fault
SoapServer


Issue SoapServer fault indicating an error

SoapServer::__construct
SoapServer::getFunctions
SoapServer
PHP Manual

SoapServer::fault

(PHP 5 >= 5.0.1)

SoapServer::fault — Issue SoapServer fault indicating an error

Описание

public void SoapServer::fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )

Sends a response to the client of the current request indicating an error.

Замечание:

This can only be called when handling a request.

Список параметров

code

The error code to return

string

A brief description of the error

actor

A string identifying the actor that caused the fault.

details

More details of the fault

name

The name of the fault. This can be used to select a name from a WSDL file.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SoapFault::SoapFault() - SoapFault constructor

SoapServer::__construct
SoapServer::getFunctions
SoapServer


Returns list of defined functions

SoapServer::fault
SoapServer::handle
SoapServer
PHP Manual

SoapServer::getFunctions

(PHP 5 >= 5.0.1)

SoapServer::getFunctions — Returns list of defined functions

Описание

public array SoapServer::getFunctions ( void )

Returns a list of the defined functions in the SoapServer object. This method returns the list of all functions added by SoapServer::addFunction() or SoapServer::setClass().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

An array of the defined functions.

Примеры

Пример #1 SoapServer::getFunctions() example

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "This SOAP server can handle following functions: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Смотрите также

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setClass() - Устанавливает класс, который будет обрабатывать SOAP-запросы

SoapServer::fault
SoapServer::handle
SoapServer


Handles a SOAP request

SoapServer::getFunctions
SoapServer::setClass
SoapServer
PHP Manual

SoapServer::handle

(PHP 5 >= 5.0.1)

SoapServer::handle — Handles a SOAP request

Описание

public void SoapServer::handle ([ string $soap_request ] )

Processes a SOAP request, calls necessary functions, and sends a response back.

Список параметров

soap_request

The SOAP request. If this argument is omitted, the request is assumed to be in the raw POST data of the HTTP request.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SoapServer::handle() example

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Смотрите также

  • SoapServer::SoapServer() - SoapServer constructor

SoapServer::getFunctions
SoapServer::setClass
SoapServer


Устанавливает класс, который будет обрабатывать SOAP-запросы

SoapServer::handle
SoapServer::setObject
SoapServer
PHP Manual

SoapServer::setClass

(PHP 5 >= 5.0.1)

SoapServer::setClass — Устанавливает класс, который будет обрабатывать SOAP-запросы

Описание

public void SoapServer::setClass ( string $class_name [, mixed $args [, mixed $... ]] )

Экспортирует все методы из заданного класса

Чтобы сохранить объект для каждого последующего запроса в рамках данной PHP-сессии, можно использовать метод SoapServer::setPersistence()

Список параметров

class_name

Имя передаваемого класса.

args

Необязательные параметры, которые будут переданы в конструктор класса в процессе создания объекта.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setPersistence() - Sets SoapServer persistence mode

SoapServer::handle
SoapServer::setObject
SoapServer


Sets the object which will be used to handle SOAP requests

SoapServer::setClass
SoapServer::setPersistence
SoapServer
PHP Manual

SoapServer::setObject

(PHP 5 >= 5.2.0)

SoapServer::setObject — Sets the object which will be used to handle SOAP requests

Описание

public void SoapServer::setObject ( object $object )

This sets a specific object as the handler for SOAP requests, rather than just a class as in SoapServer::setClass().

Список параметров

object

The object to handle the requests.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SoapServer::setClass() - Устанавливает класс, который будет обрабатывать SOAP-запросы

SoapServer::setClass
SoapServer::setPersistence
SoapServer


Sets SoapServer persistence mode

SoapServer::setObject
SoapServer::SoapServer
SoapServer
PHP Manual

SoapServer::setPersistence

(PHP 5 >= 5.1.2)

SoapServer::setPersistence — Sets SoapServer persistence mode

Описание

public void SoapServer::setPersistence ( int $mode )

This function allows saving data between requests in a PHP session. It works only with a server that exports functions from a class with SoapServer::setClass() or SoapServer::setObject().

Замечание:

The persistence SOAP_PERSISTENCE_SESSION makes only objects of the given class persistent, but not the class static data. In this case, use $this->bar instead of self::$bar.

Список параметров

mode

One of the SOAP_PERSISTENCE_XXX constants.

SOAP_PERSISTENCE_REQUEST - persist the object for the duration of a request.

SOAP_PERSISTENCE_SESSION - persist the object for the duration of a session.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SoapServer::setClass() - Устанавливает класс, который будет обрабатывать SOAP-запросы
  • SoapServer::setObject() - Sets the object which will be used to handle SOAP requests

SoapServer::setObject
SoapServer::SoapServer
SoapServer


SoapServer constructor

SoapServer::setPersistence
SoapFault
SoapServer
PHP Manual

SoapServer::SoapServer

(PHP 5 >= 5.0.1)

SoapServer::SoapServer — SoapServer constructor

Описание

SoapServer::SoapServer ( mixed $wsdl [, array $options ] )

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

Список параметров

wsdl

To use the SoapServer in WSDL mode, pass the URI of a WSDL file. Otherwise, pass NULL and set the uri option to the target namespace for the server.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor).

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

The cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

There is also a features option which can be set to SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

Примеры

Пример #1 SoapServer::SoapServer() example

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Список изменений

Версия | Описание
5.2.0 | Added the typemap option.

Смотрите также

  • SoapClient::SoapClient() - Конструктор SoapClient

SoapServer::setPersistence
SoapFault
SoapServer


The SoapFault class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a SOAP fault.

Обзор классов

SoapFault extends Exception {
/* Свойства */
/* Методы */
__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
public string __toString ( void )
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

message

Prop description

code

Prop description

file

Prop description

line

Prop description

Содержание

  • SoapFault::__construct — SoapFault constructor
  • SoapFault::SoapFault — SoapFault constructor
  • SoapFault::__toString — Obtain a string representation of a SoapFault
SoapServer::SoapServer
SoapFault::__construct
SOAP


SoapFault constructor

SoapFault
SoapFault::SoapFault
SoapFault
PHP Manual

SoapFault::__construct

(PHP 5 >= 5.0.1)

SoapFault::__construct — SoapFault constructor

Описание

SoapFault::__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

Эта функция является псевдонимом: SoapFault::SoapFault()

SoapFault
SoapFault::SoapFault
SoapFault


SoapFault constructor

SoapFault::__construct
SoapFault::__toString
SoapFault
PHP Manual

SoapFault::SoapFault

(PHP 5 >= 5.0.1)

SoapFault::SoapFault — SoapFault constructor

Описание

SoapFault::SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

This class is used to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and detail are standard elements of a SOAP Fault.

Список параметров

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

More details about the cause of the error.

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

Примеры

Пример #1 Some examples

<?php
function test($x)
{
    return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

Пример #2 Some examples

<?php
function test($x)
{
    throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Смотрите также

  • SoapServer::fault() - Issue SoapServer fault indicating an error
  • is_soap_fault() - Checks if a SOAP call has failed

SoapFault::__construct
SoapFault::__toString
SoapFault


Obtain a string representation of a SoapFault

SoapFault::SoapFault
SoapHeader
SoapFault
PHP Manual

SoapFault::__toString

(PHP 5 >= 5.0.1)

SoapFault::__toString — Obtain a string representation of a SoapFault

Описание

public string SoapFault::__toString ( void )

Returns a string representation of the SoapFault.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

A string describing the SoapFault.

SoapFault::SoapFault
SoapHeader
SoapFault


The SoapHeader class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents a SOAP header.

Обзор классов

SoapHeader {
/* Методы */
__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )
}

Содержание

  • SoapHeader::__construct — SoapHeader constructor
  • SoapHeader::SoapHeader — SoapHeader constructor
SoapFault::__toString
SoapHeader::__construct
SOAP


SoapHeader constructor

SoapHeader
SoapHeader::SoapHeader
SoapHeader
PHP Manual

SoapHeader::__construct

(PHP 5 >= 5.0.1)

SoapHeader::__construct — SoapHeader constructor

Описание

SoapHeader::__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )

Эта функция является псевдонимом: SoapHeader::SoapHeader()

SoapHeader
SoapHeader::SoapHeader
SoapHeader


SoapHeader constructor

SoapHeader::__construct
SoapParam
SoapHeader
PHP Manual

SoapHeader::SoapHeader

(PHP 5 >= 5.0.1)

SoapHeader::SoapHeader — SoapHeader constructor

Описание

SoapHeader::SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )

Constructs a new SoapHeader object.

Список параметров

namespace

The namespace of the SOAP header element.

name

The name of the SoapHeader object.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

Примеры

Пример #1 SoapHeader::SoapHeader() example

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Смотрите также

  • SoapClient::__soapCall() - Вызывает SOAP-функцию
  • SoapVar::SoapVar() - SoapVar constructor
  • SoapParam::SoapParam() - SoapParam constructor
  • SoapServer::addSoapHeader() - Add a SOAP header to the response

SoapHeader::__construct
SoapParam
SoapHeader


The SoapParam class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Represents parameter to a SOAP call.

Обзор классов

SoapParam {
/* Методы */
__construct ( mixed $data , string $name )
SoapParam ( mixed $data , string $name )
}

Содержание

  • SoapParam::__construct — SoapParam constructor
  • SoapParam::SoapParam — SoapParam constructor
SoapHeader::SoapHeader
SoapParam::__construct
SOAP


SoapParam constructor

SoapParam
SoapParam::SoapParam
SoapParam
PHP Manual

SoapParam::__construct

(PHP 5 >= 5.0.1)

SoapParam::__construct — SoapParam constructor

Описание

SoapParam::__construct ( mixed $data , string $name )

Эта функция является псевдонимом: SoapParam::SoapParam()

SoapParam
SoapParam::SoapParam
SoapParam


SoapParam constructor

SoapParam::__construct
SoapVar
SoapParam
PHP Manual

SoapParam::SoapParam

(PHP 5 >= 5.0.1)

SoapParam::SoapParam — SoapParam constructor

Описание

SoapParam::SoapParam ( mixed $data , string $name )

Constructs a new SoapParam object.

Список параметров

data

The data to pass or return. This parameter can be passed directly as PHP value, but in this case it will be named as paramN and the SOAP service may not understand it.

name

The parameter name.

Примеры

Пример #1 SoapParam::SoapParam() example

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Смотрите также

  • SoapClient::__soapCall() - Вызывает SOAP-функцию
  • SoapVar::SoapVar() - SoapVar constructor

SoapParam::__construct
SoapVar
SoapParam


The SoapVar class

(Информация о версии неизвестна, возможно, только в SVN)

Введение

A class representing a variable or object for use with SOAP services.

Обзор классов

SoapVar {
/* Методы */
__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
}

Содержание

  • SoapVar::__construct — SoapVar constructor
  • SoapVar::SoapVar — SoapVar constructor
SoapParam::SoapParam
SoapVar::__construct
SOAP


SoapVar constructor

SoapVar
SoapVar::SoapVar
SoapVar
PHP Manual

SoapVar::__construct

(PHP 5 >= 5.0.1)

SoapVar::__construct — SoapVar constructor

Описание

SoapVar::__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Эта функция является псевдонимом: SoapVar::SoapVar()

SoapVar
SoapVar::SoapVar
SoapVar


SoapVar constructor

SoapVar::__construct
XML-RPC
SoapVar
PHP Manual

SoapVar::SoapVar

(PHP 5 >= 5.0.1)

SoapVar::SoapVar — SoapVar constructor

Описание

SoapVar::SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Constructs a new SoapVar object.

Список параметров

data

The data to pass or return.

encoding

The encoding ID, one of the XSD_... constants.

type_name

The type name.

type_namespace

The type namespace.

node_name

The XML node name.

node_namespace

The XML node namespace.

Примеры

Пример #1 SoapVar::SoapVar() example

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Смотрите также

  • SoapClient::__soapCall() - Вызывает SOAP-функцию
  • SoapParam::SoapParam() - SoapParam constructor

SoapVar::__construct
XML-RPC
SoapVar


XML-RPC

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XML-RPC Функции
    • xmlrpc_decode_request — Декодирует XML в нативные типы PHP
    • xmlrpc_decode — Декодирует XML в нативные типы PHP
    • xmlrpc_encode_request — Генерирует XML для метода запроса
    • xmlrpc_encode — Генерирует XML для PHP значения
    • xmlrpc_get_type — Получает XML-RPC тип для значения PHP
    • xmlrpc_is_fault — Определяет, является ли массив значений представлением ошибки XMLRPC
    • xmlrpc_parse_method_descriptions — Декодирует XML в список описаний методов
    • xmlrpc_server_add_introspection_data — Добавляет документацию самоанализа
    • xmlrpc_server_call_method — Разбирает XML запросы и вызывающие методы
    • xmlrpc_server_create — Создаёт XML-RPC сервер
    • xmlrpc_server_destroy — Уничтожает серверные ресурсы
    • xmlrpc_server_register_introspection_callback — Регистрирует функцию PHP для генерации документации
    • xmlrpc_server_register_method — Регистрирует функцию PHP к методу ресурса, соответствующему method_name
    • xmlrpc_set_type — Устанавливает тип XML-RPC, base64 или datetime для значения строки PHP
SoapVar::SoapVar
Введение
Веб-сервисы


Введение

Эти функции могут быть использованы для написания XML-RPC серверов и клиентов. Вы можете найти более подробную информацию о XML-RPC по ссылке » http://www.xmlrpc.com/, и много документации для этого расширения и его функций по ссылке » http://xmlrpc-epi.sourceforge.net/.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

XML-RPC
Установка и настройка
XML-RPC


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XML-RPC


Установка

Поддержка XML-RPC в PHP не включена по умолчанию. Вам нужно будет использовать конфигурационную опцию --with-xmlrpc[=DIR] при компиляции PHP для включения поддержки XML-RPC. Это расширение входит в комплектацию PHP начиная с версии 4.1.0.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Это расширение определяет XML-RPC серверный ресурс, возвращаемый xmlrpc_server_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
XML-RPC Функции
XML-RPC


XML-RPC Функции

Содержание

  • xmlrpc_decode_request — Декодирует XML в нативные типы PHP
  • xmlrpc_decode — Декодирует XML в нативные типы PHP
  • xmlrpc_encode_request — Генерирует XML для метода запроса
  • xmlrpc_encode — Генерирует XML для PHP значения
  • xmlrpc_get_type — Получает XML-RPC тип для значения PHP
  • xmlrpc_is_fault — Определяет, является ли массив значений представлением ошибки XMLRPC
  • xmlrpc_parse_method_descriptions — Декодирует XML в список описаний методов
  • xmlrpc_server_add_introspection_data — Добавляет документацию самоанализа
  • xmlrpc_server_call_method — Разбирает XML запросы и вызывающие методы
  • xmlrpc_server_create — Создаёт XML-RPC сервер
  • xmlrpc_server_destroy — Уничтожает серверные ресурсы
  • xmlrpc_server_register_introspection_callback — Регистрирует функцию PHP для генерации документации
  • xmlrpc_server_register_method — Регистрирует функцию PHP к методу ресурса, соответствующему method_name
  • xmlrpc_set_type — Устанавливает тип XML-RPC, base64 или datetime для значения строки PHP
Предопределенные константы
xmlrpc_decode_request
XML-RPC


Декодирует XML в нативные типы PHP

XML-RPC Функции
xmlrpc_decode
XML-RPC Функции
PHP Manual

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode_request — Декодирует XML в нативные типы PHP

Описание

mixed xmlrpc_decode_request ( string $xml , string &$method [, string $encoding ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

XML-RPC Функции
xmlrpc_decode
XML-RPC Функции


Декодирует XML в нативные типы PHP

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Функции
PHP Manual

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode — Декодирует XML в нативные типы PHP

Описание

mixed xmlrpc_decode ( string $xml [, string $encoding = "iso-8859-1" ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

xml

XML ответ, возвращаемый методом XMLRPC.

encoding

Входящая кодировка, поддерживаемая iconv.

Возвращаемые значения

Возвращает массив, или число, или строку, или логическое значение в соответствии с ответом, возвращаемым методом XMLRPC.

Примеры

Смотрите пример xmlrpc_encode_request().

Смотрите также

  • xmlrpc_encode_request() - Генерирует XML для метода запроса
  • xmlrpc_is_fault() - Определяет, является ли массив значений представлением ошибки XMLRPC

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Функции


Генерирует XML для метода запроса

xmlrpc_decode
xmlrpc_encode
XML-RPC Функции
PHP Manual

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode_request — Генерирует XML для метода запроса

Описание

string xmlrpc_encode_request ( string $method , mixed $params [, array $output_options ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

method

Имя метода для вызова.

params

Параметры метода, совместимые с сигнатурой вызова.

output_options

Массив, уточняющий параметры вывода, может содержать (значения по умолчанию выделены):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (может быть строка с одним значением или массив с несколькими значениями)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, другой набор символов, поддерживаемый iconv

Возвращаемые значения

Возвращает строку, содержащую XML-представление запроса.

Примеры

Пример #1 Пример клиентской функции XMLRPC

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Смотрите также

  • stream_context_create() - Создаёт контекст потока
  • file_get_contents() - Читает содержимое файла в строку
  • xmlrpc_decode() - Декодирует XML в нативные типы PHP

xmlrpc_decode
xmlrpc_encode
XML-RPC Функции


Генерирует XML для PHP значения

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Функции
PHP Manual

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode — Генерирует XML для PHP значения

Описание

string xmlrpc_encode ( mixed $value )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Функции


Получает XML-RPC тип для значения PHP

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Функции
PHP Manual

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_get_type — Получает XML-RPC тип для значения PHP

Описание

string xmlrpc_get_type ( mixed $value )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Эта функция особенно полезна для base64 и строки, содержащей дату.

Список параметров

value

Значение PHP

Возвращаемые значения

Возвращает тип XML-RPC.

Примеры

Пример #1 Пример XML-RPC типа

<?php
echo xmlrpc_get_type(null) . "\n"; // base64
echo xmlrpc_get_type(false) . "\n"; // boolean
echo xmlrpc_get_type(1) . "\n"; // int
echo xmlrpc_get_type(1.0) . "\n"; // double
echo xmlrpc_get_type("") . "\n"; // string
echo xmlrpc_get_type(array()) . "\n"; // array
echo xmlrpc_get_type(new stdClass) . "\n"; // array
echo xmlrpc_get_type(STDIN) . "\n"; // int
?>

Смотрите также

  • xmlrpc_set_type() - Устанавливает тип XML-RPC, base64 или datetime для значения строки PHP

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Функции


Определяет, является ли массив значений представлением ошибки XMLRPC

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Функции
PHP Manual

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault — Определяет, является ли массив значений представлением ошибки XMLRPC

Описание

bool xmlrpc_is_fault ( array $arg )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

arg

Массив, возвращаемый xmlrpc_decode().

Возвращаемые значения

Возвращает TRUE, если аргумент означает ошибку, в противном случае - FALSE. Описание ошибки доступно в $arg["faultString"],а код ошибки в $arg["faultCode"].

Примеры

Смотри пример xmlrpc_encode_request().

Смотрите также

  • xmlrpc_decode() - Декодирует XML в нативные типы PHP

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Функции


Декодирует XML в список описаний методов

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
XML-RPC Функции
PHP Manual

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_parse_method_descriptions — Декодирует XML в список описаний методов

Описание

array xmlrpc_parse_method_descriptions ( string $xml )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
XML-RPC Функции


Добавляет документацию самоанализа

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
XML-RPC Функции
PHP Manual

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_add_introspection_data — Добавляет документацию самоанализа

Описание

int xmlrpc_server_add_introspection_data ( resource $server , array $desc )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
XML-RPC Функции


Разбирает XML запросы и вызывающие методы

xmlrpc_server_add_introspection_data
xmlrpc_server_create
XML-RPC Функции
PHP Manual

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_call_method — Разбирает XML запросы и вызывающие методы

Описание

string xmlrpc_server_call_method ( resource $server , string $xml , mixed $user_data [, array $output_options ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_add_introspection_data
xmlrpc_server_create
XML-RPC Функции


Создаёт XML-RPC сервер

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Функции
PHP Manual

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_create — Создаёт XML-RPC сервер

Описание

resource xmlrpc_server_create ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Функции


Уничтожает серверные ресурсы

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
XML-RPC Функции
PHP Manual

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_destroy — Уничтожает серверные ресурсы

Описание

int xmlrpc_server_destroy ( resource $server )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
XML-RPC Функции


Регистрирует функцию PHP для генерации документации

xmlrpc_server_destroy
xmlrpc_server_register_method
XML-RPC Функции
PHP Manual

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_introspection_callback — Регистрирует функцию PHP для генерации документации

Описание

bool xmlrpc_server_register_introspection_callback ( resource $server , string $function )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_destroy
xmlrpc_server_register_method
XML-RPC Функции


Регистрирует функцию PHP к методу ресурса, соответствующему method_name

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
XML-RPC Функции
PHP Manual

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_method — Регистрирует функцию PHP к методу ресурса, соответствующему method_name

Описание

bool xmlrpc_server_register_method ( resource $server , string $method_name , string $function )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
XML-RPC Функции


Устанавливает тип XML-RPC, base64 или datetime для значения строки PHP

xmlrpc_server_register_method
Расширения только для Windows
XML-RPC Функции
PHP Manual

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_set_type — Устанавливает тип XML-RPC, base64 или datetime для значения строки PHP

Описание

bool xmlrpc_set_type ( string &$value , string $type )

Устанавливает XML-RPC тип, base64 или datetime для значения строки PHP.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

value

Значение для установки типа.

type

'base64' или 'datetime'

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. В случае успеха, value конвертируется в объект.

Примеры

Пример #1 Пример использования xmlrpc_set_type()

<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>

Результатом выполнения данного примера будет что-то подобное:

<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>20090322T23:43:03</dateTime.iso8601>
 </value>
</param>
</params>

Ошибки

Выдает сообщение E_WARNING для не поддерживаемых типов XMLRPC.

xmlrpc_server_register_method
Расширения только для Windows
XML-RPC Функции


Расширения только для Windows

  • .NET
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • .NET Функции
  • COM — COM and .Net (Windows)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Errors and error handling
    • Примеры
    • COM Функции
  • Принтер
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Принтер
  • W32api
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • W32api
  • win32ps
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • win32ps Функции
  • win32service
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • win32service
xmlrpc_set_type
.NET
Справочник функций


.NET

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • .NET Функции
    • dotnet_load — Загружает модуль DOTNET
Расширения только для Windows
Введение
Расширения только для Windows


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

.NET
Установка и настройка
.NET


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
.NET


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
.NET Функции
.NET


.NET Функции

Содержание

  • dotnet_load — Загружает модуль DOTNET
Предопределенные константы
dotnet_load
.NET


Загружает модуль DOTNET

.NET Функции
COM
.NET Функции
PHP Manual

dotnet_load

(PHP 4)

dotnet_load — Загружает модуль DOTNET

Описание

int dotnet_load ( string $assembly_name [, string $datatype_name [, int $codepage ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список изменений

Версия | Описание
4.1.0 | Добавлен параметр codepage

.NET Функции
COM
.NET Функции


COM and .Net (Windows)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Errors and error handling
  • Примеры
    • For Each
    • Arrays and Array-style COM properties
  • COM Функции
    • COM — COM class
    • DOTNET — DOTNET class
    • VARIANT — VARIANT class
    • com_addref — Increases the components reference counter [deprecated]
    • com_create_guid — Generate a globally unique identifier (GUID)
    • com_event_sink — Connect events from a COM object to a PHP object
    • com_get_active_object — Returns a handle to an already running instance of a COM object
    • com_get — Gets the value of a COM Component's property [deprecated]
    • com_invoke — Calls a COM component's method [deprecated]
    • com_isenum — Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]
    • com_load_typelib — Loads a Typelib
    • com_load — Creates a new reference to a COM component [deprecated]
    • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
    • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
    • com_propget — Псевдоним com_get
    • com_propput — Псевдоним com_set
    • com_propset — Псевдоним com_set
    • com_release — Decreases the components reference counter [deprecated]
    • com_set — Assigns a value to a COM component's property
    • variant_abs — Returns the absolute value of a variant
    • variant_add — "Adds" two variant values together and returns the result
    • variant_and — Performs a bitwise AND operation between two variants
    • variant_cast — Convert a variant into a new variant object of another type
    • variant_cat — concatenates two variant values together and returns the result
    • variant_cmp — Compares two variants
    • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
    • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
    • variant_div — Returns the result from dividing two variants
    • variant_eqv — Performs a bitwise equivalence on two variants
    • variant_fix — Returns the integer portion of a variant
    • variant_get_type — Returns the type of a variant object
    • variant_idiv — Converts variants to integers and then returns the result from dividing them
    • variant_imp — Performs a bitwise implication on two variants
    • variant_int — Returns the integer portion of a variant
    • variant_mod — Divides two variants and returns only the remainder
    • variant_mul — Multiplies the values of the two variants
    • variant_neg — Performs logical negation on a variant
    • variant_not — Performs bitwise not negation on a variant
    • variant_or — Performs a logical disjunction on two variants
    • variant_pow — Returns the result of performing the power function with two variants
    • variant_round — Rounds a variant to the specified number of decimal places
    • variant_set_type — Convert a variant into another type "in-place"
    • variant_set — Assigns a new value for a variant object
    • variant_sub — Subtracts the value of the right variant from the left variant value
    • variant_xor — Performs a logical exclusion on two variants
dotnet_load
Введение
Расширения только для Windows


Введение

COM is an acronym for Component Object Model; it is an object orientated layer (and associated services) on top of DCE RPC (an open standard) and defines a common calling convention that enables code written in any language to call and interoperate with code written in any other language (provided those languages are COM aware). Not only can the code be written in any language, but it need not even be part of the same executable; the code can be loaded from a DLL, be found in another process running on the same machine, or, with DCOM (Distributed COM), be found in another process on a remote machine, all without your code even needing to know where a component resides.

There is a subset of COM known as OLE Automation which comprises a set of COM interfaces that allow loose binding to COM objects, so that they can be introspected and called at run-time without compile-time knowledge of how the object works. The PHP COM extension utilizes the OLE Automation interfaces to allow you to create and call compatible objects from your scripts. Technically speaking, this should really be called the "OLE Automation Extension for PHP", since not all COM objects are OLE compatible.

Now, why would or should you use COM? COM is one of the main ways to glue applications and components together on the Windows platform; using COM you can launch Microsoft Word, fill in a document template and save the result as a Word document and send it to a visitor of your web site. You can also use COM to perform administrative tasks for your network and to configure your IIS; these are just the most common uses; you can do much more with COM.

Starting with PHP 5, this extension (and this documentation) was rewritten from scratch and much of the old confusing and bogus cruft has be removed. Additionally, we support the instantiation and creation of .Net assemblies using the COM interoperability layer provided by Microsoft.

Please read » this article for an overview of the changes in this extension in PHP 5.

COM
Установка и настройка
COM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
COM


Требования

COM functions are only available for the Windows version of PHP.

.Net support requires PHP 5 and the .Net runtime.

Установка и настройка
Установка
Установка и настройка


Установка

Для использования этих функций не требуется проведение установки, поскольку они являются частью ядра PHP.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

You are responsible for installing support for the various COM objects that you intend to use (such as MS Word); we don't and can't bundle all of those with PHP.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Com configuration options
Name | Default | Changeable | Changelog
com.allow_dcom | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Available since PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

com.allow_dcom

When this is turned on, PHP will be allowed to operate as a D-COM (Distributed COM) client and will allow the PHP script to instantiate COM objects on a remote server.

com.autoregister_typelib

When this is turned on, PHP will attempt to register constants from the typelibrary of objects that it instantiates, if those objects implement the interfaces required to obtain that information. The case sensitivity of the constants it registers is controlled by the configuration directive.

com.autoregister_verbose

When this is turned on, any problems with loading a typelibrary during object instantiation will be reported using the PHP error mechanism. The default is off, which does not emit any indication if there was an error finding or loading the type library.

com.autoregister_casesensitive

When this is turned on (the default), constants found in auto-loaded type libraries will be registered case sensitively. See com_load_typelib() for more details.

com.code_page

It controls the default character set code-page to use when passing strings to and from COM objects. If set to an empty string, PHP will assume that you want CP_ACP, which is the default system ANSI code page.

If the text in your scripts is encoded using a different encoding/character set by default, setting this directive will save you from having to pass the code page as a parameter to the COM class constructor. Please note that by using this directive (as with any PHP configuration directive), your PHP script becomes less portable; you should use the COM constructor parameter whenever possible.

Замечание: This configuration directive was introduced with PHP 5.

com.typelib_file

When set, this should hold the path to a file that contains a list of typelibraries that should be loaded on startup. Each line of the file will be treated as the type library name and loaded as though you had called com_load_typelib(). The constants will be registered persistently, so that the library only needs to be loaded once. If a type library name ends with the string #cis or #case_insensitive, then the constants from that library will be registered case insensitively.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines a reference to a COM component returned by deprecated com_load() (this function does not exist in PHP 5; use the COM class instead).

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

COM constants
Constant | Value | Description | Notes
CLSCTX_INPROC_SERVER (integer) | 1 | The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context. |
CLSCTX_INPROC_HANDLER (integer) | 2 | The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely. |
CLSCTX_LOCAL_SERVER (integer) | 4 | The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space. |
CLSCTX_REMOTE_SERVER (integer) | 16 | A remote context. The code that creates and manages objects of this class is run on a different computer. |
CLSCTX_SERVER (integer) | 21 | Indicates server code, whether in-process, local, or remote. This definition ORs CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, and CLSCTX_REMOTE_SERVER. |
CLSCTX_ALL (integer) | 23 | Indicates all class contexts. This definition ORs CLSCTX_INPROC_HANDLER and CLSCTX_SERVER. |
VT_NULL (integer) | 1 | NULL pointer reference. |
VT_EMPTY (integer) | 0 | A property with a type indicator of VT_EMPTY has no data associated with it; that is, the size of the value is zero. |
VT_UI1 (integer) | 17 | 1-byte unsigned integer. |
VT_I2 (integer) | 2 | Two bytes representing a 2-byte signed integer value. |
VT_I4 (integer) | 3 | 4-byte signed integer value. |
VT_R4 (integer) | 4 | 32-bit IEEE floating point value. |
VT_R8 (integer) | 5 | 64-bit IEEE floating point value. |
VT_BOOL (integer) | 11 | Boolean value. |
VT_ERROR (integer) | 10 | Error code; containing the status code associated with the error. |
VT_CY (integer) | 6 | 8-byte two's complement integer (scaled by 10,000). |
VT_DATE (integer) | 7 | A 64-bit floating point number representing the number of days (not seconds) since December 31, 1899. For example, January 1, 1900, is 2.0, January 2, 1900, is 3.0, and so on). This is stored in the same representation as VT_R8. |
VT_BSTR (integer) | 8 | Pointer to a null-terminated Unicode string. |
VT_DECIMAL (integer) | 14 | A decimal structure. |
VT_UNKNOWN (integer) | 13 | A pointer to an object that implements the IUnknown interface. |
VT_DISPATCH (integer) | 9 | A pointer to a pointer to an object was specified. |
VT_VARIANT (integer) | 12 | A type indicator followed by the corresponding value. VT_VARIANT can be used only with VT_BYREF. |
VT_I1 (integer) | 16 | 1-byte signed integer. |
VT_UI2 (integer) | 18 | 2-byte unsigned integer. |
VT_UI4 (integer) | 19 | 4-byte unsigned integer. |
VT_INT (integer) | 22 | 4-byte signed integer value (equivalent to VT_I4). |
VT_UINT (integer) | 23 | 4-byte unsigned integer (equivalent to VT_UI4). |
VT_ARRAY (integer) | 8192 | If the type indicator is combined with VT_ARRAY by an OR operator, the value is a pointer to a SAFEARRAY. VT_ARRAY can use the OR with the following data types: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN and VT_VARIANT. |
VT_BYREF (integer) | 16384 | If the type indicator is combined with VT_BYREF by an OR operator, the value is a reference. Reference types are interpreted as a reference to data, similar to the reference type in C++. |
CP_ACP (integer) | 0 | Default to ANSI code page. |
CP_MACCP (integer) | 2 | Macintosh code page. |
CP_OEMCP (integer) | 1 | Default to OEM code page. |
CP_UTF7 (integer) | 65000 | Unicode (UTF-7). |
CP_UTF8 (integer) | 65001 | Unicode (UTF-8). |
CP_SYMBOL (integer) | 42 | SYMBOL translations. |
CP_THREAD_ACP (integer) | 3 | Current thread's ANSI code page |
VARCMP_LT (integer) | 0 | The left bstr is less than right bstr. |
VARCMP_EQ (integer) | 1 | The two parameters are equal. |
VARCMP_GT (integer) | 2 | The left bstr is greater than right bstr. |
VARCMP_NULL (integer) | 3 | Either expression is NULL. |
NORM_IGNORECASE (integer) | 1 | Ignore case sensitivity. |
NORM_IGNORENONSPACE (integer) | 2 | Ignore nonspacing characters. |
NORM_IGNORESYMBOLS (integer) | 4 | Ignore symbols. |
NORM_IGNOREWIDTH (integer) | 131072 | Ignore string width. |
NORM_IGNOREKANATYPE (integer) | 65536 | Ignore Kana type. |
NORM_IGNOREKASHIDA (integer) | 262144 | Ignore Arabic kashida characters. | Availability is dependent upon under lying library.
DISP_E_DIVBYZERO (integer) | -2147352558 | A return error that indicates a divide by zero error. |
DISP_E_OVERFLOW (integer) | -2147352566 | An error that indicates that a value could not be coerced to its expected representation. |
MK_E_UNAVAILABLE (integer) | -2147221021 | iMoniker COM status code, return on errors where the function call failed due to unavailability. |
Типы ресурсов
Errors and error handling
COM


Errors and error handling

Exceptions (PHP 5)

This extension will throw instances of the class com_exception whenever there is a potentially fatal error reported by COM. All COM exceptions have a well-defined code property that corresponds to the HRESULT return value from the various COM operations. You may use this code to make programmatic decisions on how to handle the exception.

Предопределенные константы
Примеры
COM


Примеры

Содержание

  • For Each
  • Arrays and Array-style COM properties
Errors and error handling
For Each
COM


For Each

Starting with PHP 5, you may use PHP's own foreach statement to iterate over the contents of a standard COM/OLE IEnumVariant. In layman's terms, this means that you can use foreach in places where you would have used For Each in VB/ASP code.

Пример #1 For Each in ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Пример #2 while() ... Next() in PHP 4

<?php
$domainObject = new COM("WinNT://Domain");
while ($obj = $domainObject->Next()) {
   echo $obj->Name . "<br />";
}
?>

Пример #3 foreach in PHP 5

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>

Примеры
Arrays and Array-style COM properties
Примеры


Arrays and Array-style COM properties

Many COM objects expose their properties as arrays, or using array-style access. In PHP 4, you may use PHP array syntax to read/write such a property, but only a single dimension is allowed. If you want to read a multi-dimensional property, you could instead make the property access into a function call, with each parameter representing each dimension of the array access, but there is no way to write to such a property.

PHP 5 introduces the following new features to make your life easier:

  • Access multi-dimensional arrays, or COM properties that require multiple parameters using PHP array syntax. You can also write or set properties using this technique.

  • Iterate SafeArrays ("true" arrays) using the foreach control structure. This works because SafeArrays include information about their size. If an array-style property implements IEnumVariant then you can also use foreach for that property too; take a look at For Each for more information on this topic.

For Each
COM Функции
Примеры


COM Функции

Смотрите также

For further information on COM read the » COM specification or perhaps take a look at Don Box's » Yet Another COM Library (YACL). You might find some additional useful information in our FAQ for PHP и COM. If you're thinking of using MS Office applications on the server side, you should read the information here: » Considerations for Server-Side Automation of Office.

Содержание

  • COM — COM class
  • DOTNET — DOTNET class
  • VARIANT — VARIANT class
  • com_addref — Increases the components reference counter [deprecated]
  • com_create_guid — Generate a globally unique identifier (GUID)
  • com_event_sink — Connect events from a COM object to a PHP object
  • com_get_active_object — Returns a handle to an already running instance of a COM object
  • com_get — Gets the value of a COM Component's property [deprecated]
  • com_invoke — Calls a COM component's method [deprecated]
  • com_isenum — Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]
  • com_load_typelib — Loads a Typelib
  • com_load — Creates a new reference to a COM component [deprecated]
  • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
  • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
  • com_propget — Псевдоним com_get
  • com_propput — Псевдоним com_set
  • com_propset — Псевдоним com_set
  • com_release — Decreases the components reference counter [deprecated]
  • com_set — Assigns a value to a COM component's property
  • variant_abs — Returns the absolute value of a variant
  • variant_add — "Adds" two variant values together and returns the result
  • variant_and — Performs a bitwise AND operation between two variants
  • variant_cast — Convert a variant into a new variant object of another type
  • variant_cat — concatenates two variant values together and returns the result
  • variant_cmp — Compares two variants
  • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
  • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
  • variant_div — Returns the result from dividing two variants
  • variant_eqv — Performs a bitwise equivalence on two variants
  • variant_fix — Returns the integer portion of a variant
  • variant_get_type — Returns the type of a variant object
  • variant_idiv — Converts variants to integers and then returns the result from dividing them
  • variant_imp — Performs a bitwise implication on two variants
  • variant_int — Returns the integer portion of a variant
  • variant_mod — Divides two variants and returns only the remainder
  • variant_mul — Multiplies the values of the two variants
  • variant_neg — Performs logical negation on a variant
  • variant_not — Performs bitwise not negation on a variant
  • variant_or — Performs a logical disjunction on two variants
  • variant_pow — Returns the result of performing the power function with two variants
  • variant_round — Rounds a variant to the specified number of decimal places
  • variant_set_type — Convert a variant into another type "in-place"
  • variant_set — Assigns a new value for a variant object
  • variant_sub — Subtracts the value of the right variant from the left variant value
  • variant_xor — Performs a logical exclusion on two variants
Arrays and Array-style COM properties
COM
COM


COM class

COM Функции
DOTNET
COM Функции
PHP Manual

COM

(PHP 4 >= 4.1.0, PHP 5)

COM — COM class

$obj = new COM("Application.ID")

Description

The COM class allows you to instantiate an OLE compatible COM object and call its methods and access its properties.

Methods

com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib ]]] )

COM class constructor. The parameters have the following meanings:

module_name
Can be a ProgID, Class ID or Moniker that names the component to load. A ProgID is typically the application or DLL name, followed by a period, followed by the object name. e.g: Word.Application. A Class ID is the UUID that uniquely identifies a given class. A Moniker is a special form of naming, similar in concept to a URL scheme, that identifies a resource and specifies how it should be loaded. As an example, you could load up Word and get an object representing a word document by specifying the full path to the word document as the module name, or you can use LDAP: as a moniker to use the ADSI interface to LDAP.
server_name
The name of the DCOM server on which the component should be loaded and run. If NULL, the object is run using the default for the application. The default is typically to run it on the local machine, although the administrator might have configured the application to launch on a different machine. If you specify a non-NULL value for server, PHP will refuse to load the object unless the configuration option is set to TRUE.

If server_name is an array, it should contain the following elements (case sensitive!). Note that they are all optional (although you need to specify both Username and Password together); if you omit the Server setting, the default server will be used (as mentioned above), and the instantiation of the object will not be affected by the directive.

DCOM server name
server_name key | type | description
Server | string | The name of the server.
Username | string | The username to connect as.
Password | string | The password for Username.
Flags | integer | One or more of the following constants, logically OR'd together: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER and CLSCTX_ALL. The default value if not specified here is CLSCTX_SERVER if you also omit Server, or CLSCTX_REMOTE_SERVER if you do specify a server. You should consult the Microsoft documentation for CoCreateInstance for more information on the meaning of these constants; you will typically never have to use them.

codepage
Specifies the codepage that is used to convert strings to unicode-strings and vice versa. The conversion is applied whenever a PHP string is passed as a parameter or returned from a method of this COM object. The code page is sticky in PHP 5, which means that it will propagate to objects and variants returned from the object. Possible values are CP_ACP (use system default ANSI code page - the default if this parameter is omitted), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (use codepage/locale set for the current executing thread), CP_UTF7 and CP_UTF8. You may also use the number for a given codepage; consult the Microsoft documentation for more details on codepages and their numeric values.

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM.

Starting with PHP 5, PHP will automatically detect methods that accept parameters by reference, and will automatically convert regular PHP variables to a form that can be passed by reference. This means that you can call the method very naturally; you needn't go to any extra effort in your code.

In PHP 4, to pass parameters by reference you need to create an instance of the VARIANT class to wrap the byref parameters.

Pseudo Methods

In PHP versions prior to 5, a number of not very pleasant hacks meant that the following method names were not passed through to COM and were handled directly by PHP. PHP 5 eliminates these things; read the details below to determine how to fix your scripts. These magic method names are case insensitive.

void COM::AddRef ( void )

Artificially adds a reference count to the COM object.

Внимание

You should never need to use this method. It exists as a logical complement to the Release() method below.

void COM::Release ( void )

Artificially removes a reference count from the COM object.

Внимание

You should never need to use this method. Its existence in PHP is a bug designed to work around a bug that keeps COM objects running longer than they should.

Pseudo Methods for Iterating

These pseudo methods are only available if com_isenum() returns TRUE, in which case, they hide any methods with the same names that might otherwise be provided by the COM object. These methods have all been eliminated in PHP 5, and you should use For Each instead.

variant COM::All ( void )

Returns a variant representing a SafeArray that has 10 elements; each element will be an empty/null variant. This function was supposed to return an array containing all the elements from the iterator, but was never completed. Do not use.

variant COM::Next ( void )

Returns a variant representing the next element available from the iterator, or FALSE when there are no more elements.

variant COM::Prev ( void )

Returns a variant representing the previous element available from the iterator, or FALSE when there are no more elements.

void COM::Reset ( void )

Rewinds the iterator back to the start.

COM examples

Пример #1 COM example (1)

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

Пример #2 COM example (2)

<?php

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // increments rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

COM Функции
DOTNET
COM Функции


DOTNET class

COM
VARIANT
COM Функции
PHP Manual

DOTNET

(PHP 4 >= 4.1.0, PHP 5)

DOTNET — DOTNET class

$obj = new DOTNET("assembly", "classname")

Description

The DOTNET class allows you to instantiate a class from a .Net assembly and call its methods and access its properties.

Methods

string DOTNET::DOTNET ( string $assembly_name , string $class_name [, int $codepage ] )

DOTNET class constructor. assembly_name specifies which assembly should be loaded, and class_name specifices which class in that assembly to instantiate. You may optionally specify a codepage to use for unicode string transformations; see the COM class for more details on code pages.

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a DOTNET object, PHP treats it identically to any other COM object; all the same rules apply.

Пример #1 DOTNET example

<?php
 $stack = new DOTNET("mscorlib", "System.Collections.Stack");
 $stack->Push(".Net");
 $stack->Push("Hello ");
 echo $stack->Pop() . $stack->Pop();
?>

Замечание:

You need to install the .Net runtime on your web server to take advantage of this feature.

COM
VARIANT
COM Функции


VARIANT class

DOTNET
com_addref
COM Функции
PHP Manual

VARIANT

(PHP 4 >= 4.1.0, PHP 5)

VARIANT — VARIANT class

$vVar = new VARIANT($var)

Description

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The VARIANT class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

Methods

object VARIANT::VARIANT ([ mixed $value [, int $type [, int $codepage ]]] )

VARIANT class constructor. Parameters:

value
initial value. if omitted, or set to NULL an VT_EMPTY object is created.
type
specifies the content type of the VARIANT object. Possible values are one of the VT_XXX Предопределенные константы. In PHP versions prior to PHP 5, you could force PHP to pass a variant object by reference by OR'ing VT_BYREF with the type. In PHP 5, this hack is not supported; instead, PHP 5 can detect parameters passed by reference automatically; they do not even need to be passed as VARIANT objects. Consult the MSDN library for additional information on the VARIANT type.
codepage
specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the COM class for more information.

PHP versions prior to PHP 5 define a number of (undocumented) virtual properties for instances of the VARIANT class; these properties have all been removed in PHP 5 in favour of its more natural syntax; these differences are best highlighted by example:

Пример #1 Variant example, PHP 4.x style

<?php
$v = new VARIANT(42);
print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>

Пример #2 Variant example, PHP 5 style

<?php
$v = new VARIANT(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

The reason for the change is that, internally, the COM extension sees VARIANT, COM and DOTNET classes as the same thing, and the design philosophy for these classes is that all property and member accesses are passed through to COM with no interference. The new syntax is more natural and less effort, and most of the removed virtual properties didn't make any sense in a PHP context in any case.

Замечание:

PHP 5 takes a much simpler approach to handling VARIANTs; when returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the VARIANT class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by print()ing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

DOTNET
com_addref
COM Функции


Increases the components reference counter [deprecated]

VARIANT
com_create_guid
COM Функции
PHP Manual

com_addref

(PHP 4 >= 4.1.0)

com_addref — Increases the components reference counter [deprecated]

Описание

void com_addref ( void )

Increases the components reference counter.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Внимание

You should never need to use this function.

VARIANT
com_create_guid
COM Функции


Generate a globally unique identifier (GUID)

com_addref
com_event_sink
COM Функции
PHP Manual

com_create_guid

(PHP 5)

com_create_guid — Generate a globally unique identifier (GUID)

Описание

string com_create_guid ( void )

Generates a Globally Unique Identifier (GUID).

A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to enclose a GUID in curly braces.

Возвращаемые значения

Returns the GUID as a string.

Смотрите также

  • uuid_create() in the PECL uuid extension

com_addref
com_event_sink
COM Функции


Connect events from a COM object to a PHP object

com_create_guid
com_get_active_object
COM Функции
PHP Manual

com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sink — Connect events from a COM object to a PHP object

Описание

bool com_event_sink ( variant $comobject , object $sinkobject [, mixed $sinkinterface ] )

Instructs COM to sink events generated by comobject into the PHP object sinkobject.

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

Список параметров

comobject

sinkobject

sinkobject should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

sinkinterface

PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject, but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 COM event sink example

<?php
class IEEventSinker {
    var $terminated = false;

   function ProgressChange($progress, $progressmax) {
      echo "Download progress: $progress / $progressmax\n";
    }

    function DocumentComplete(&$dom, $url) {
      echo "Document $url complete\n";
    }

    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

Смотрите также

  • com_print_typeinfo() - Print out a PHP class definition for a dispatchable interface
  • com_message_pump() - Process COM messages, sleeping for up to timeoutms milliseconds

com_create_guid
com_get_active_object
COM Функции


Returns a handle to an already running instance of a COM object

com_event_sink
com_get
COM Функции
PHP Manual

com_get_active_object

(PHP 5)

com_get_active_object — Returns a handle to an already running instance of a COM object

Описание

variant com_get_active_object ( string $progid [, int $code_page ] )

com_get_active_object() is similar to creating a new instance of a COM object, except that it will only return an object to your script if the object is already running. OLE applications use something known as the Running Object Table to allow well-known applications to be launched only once; this function exposes the COM library function GetActiveObject() to get a handle on a running instance.

Список параметров

progid

progid must be either the ProgID or CLSID for the object that you want to access (for example Word.Application).

code_page

Acts in precisely the same way that it does for the COM class.

Возвращаемые значения

If the requested object is running, it will be returned to your script just like any other COM object.

Ошибки

There are a variety of reasons why this function might fail, the most common being that the object is not already running. In that situation, the exception error code will be MK_E_UNAVAILABLE; you can use the getCode method of the exception object to check the exception code.

Примечания

Внимание

Using com_get_active_object() in a web server context is not always a smart idea. Most COM/OLE applications are not designed to handle more than one client concurrently, even (or especially!) Microsoft Office. You should read » Considerations for Server-Side Automation of Office for more information on the general issues involved.

com_event_sink
com_get
COM Функции


Gets the value of a COM Component's property [deprecated]

com_get_active_object
com_invoke
COM Функции
PHP Manual

com_get

(PHP 4)

com_get — Gets the value of a COM Component's property [deprecated]

Описание

Deprecated, use the OO syntax instead.

Пример #1 OO syntax

<?php
// do this
$var = $obj->property;
// instead of this:
$var = com_get($obj, 'property');
?>

Примечания

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_get_active_object
com_invoke
COM Функции


Calls a COM component's method [deprecated]

com_get
com_isenum
COM Функции
PHP Manual

com_invoke

(PHP 4)

com_invoke — Calls a COM component's method [deprecated]

Description

mixed com_invoke ( resource $com_object , string $function_name [, mixed $function_parameters ] )

com_invoke() invokes the method named function_name of the COM component referenced by com_object. com_invoke() returns FALSE on error, returns the function_name's return value on success. All the extra parameters function_parameters are passed to the method function_name.

Пример #1 Don't use com_invoke(), use OO syntax instead

<?php
// do this
$val = $obj->method($one, $two);
// instead of this:
$val = com_invoke($obj, 'method', $one, $two);
?>

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_get
com_isenum
COM Функции


Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]

com_invoke
com_load_typelib
COM Функции
PHP Manual

com_isenum

(PHP 4 >= 4.1.0)

com_isenum — Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]

Описание

bool com_isenum ( variant $com_module )

Checks to see if a COM object can be enumerated using the Next() method hack. See COM class for more details on these methods.

Список параметров

com_module

The COM object.

Возвращаемые значения

Returns TRUE if the object can be enumerated, FALSE otherwise.

Примечания

Замечание:

This function does not exist in PHP 5; use the more natural foreach statement to iterate over the contents of COM objects. See For Each for more details.

com_invoke
com_load_typelib
COM Функции


Loads a Typelib

com_isenum
com_load
COM Функции
PHP Manual

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5)

com_load_typelib — Loads a Typelib

Описание

bool com_load_typelib ( string $typelib_name [, bool $case_insensitive = true ] )

Loads a type-library and registers its constants in the engine, as though they were defined using define().

Note that it is much more efficient to use the configuration setting to pre-load and register the constants, although not so flexible.

If you have turned on , then PHP will attempt to automatically register the constants associated with a COM object when you instantiate it. This depends on the interfaces provided by the COM object itself, and may not always be possible.

Список параметров

typelib_name

typelib_name can be one of the following:

  • The filename of a .tlb file or the executable module that contains the type library.

  • The type library GUID, followed by its version number, for example {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • The type library name, e.g. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP will attempt to resolve the type library in this order, as the process gets more and more expensive as you progress down the list; searching for the type library by name is handled by physically enumerating the registry until we find a match.

case_insensitive

The case_insensitive behaves in the same way as the parameter with the same name in the define() function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

com_isenum
com_load
COM Функции


Creates a new reference to a COM component [deprecated]

com_load_typelib
com_message_pump
COM Функции
PHP Manual

com_load

(PHP 4)

com_load — Creates a new reference to a COM component [deprecated]

Описание

Deprecated, use the OO syntax instead.

Пример #1 OO syntax

<?php
// do this
$obj = new COM($module);
// instead of this:
$obj = com_load($module);
?>

Примечания

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_load_typelib
com_message_pump
COM Функции


Process COM messages, sleeping for up to timeoutms milliseconds

com_load
com_print_typeinfo
COM Функции
PHP Manual

com_message_pump

(PHP 4 >= 4.2.0, PHP 5)

com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds

Описание

bool com_message_pump ([ int $timeoutms = 0 ] )

This function will sleep for up to timeoutms milliseconds, or until a message arrives in the queue.

The purpose of this function is to route COM calls between apartments and handle various synchronization issues. This allows your script to wait efficiently for events to be triggered, while still handling other events or running other code in the background. You should use it in a loop, as demonstrated by the example in the com_event_sink() function, until you are finished using event bound COM objects.

Список параметров

timeoutms

The timeout, in milliseconds.

If you do not specify a value for timeoutms, then 0 will be assumed. A 0 value means that no waiting will be performed; if there are messages pending they will be dispatched as before; if there are no messages pending, the function will return FALSE immediately without sleeping.

Возвращаемые значения

If a message or messages arrives before the timeout, they will be dispatched, and the function will return TRUE. If the timeout occurs and no messages were processed, the return value will be FALSE.

com_load
com_print_typeinfo
COM Функции


Print out a PHP class definition for a dispatchable interface

com_message_pump
com_propget
COM Функции
PHP Manual

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5)

com_print_typeinfo — Print out a PHP class definition for a dispatchable interface

Описание

bool com_print_typeinfo ( object $comobject [, string $dispinterface [, bool $wantsink = false ]] )

The purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.

Список параметров

comobject

comobject should be either an instance of a COM object, or be the name of a typelibrary (which will be resolved according to the rules set out in com_load_typelib()).

dispinterface

The name of an IDispatch descendant interface that you want to display.

wantsink

If set to TRUE, the corresponding sink interface will be displayed instead.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • com_event_sink() - Connect events from a COM object to a PHP object
  • com_load_typelib() - Loads a Typelib

com_message_pump
com_propget
COM Функции


Псевдоним com_get

com_print_typeinfo
com_propput
COM Функции
PHP Manual

com_propget

(PHP 4)

com_propget — Псевдоним com_get()

Описание

Эта функция является псевдонимом: com_get().

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_print_typeinfo
com_propput
COM Функции


Псевдоним com_set

com_propget
com_propset
COM Функции
PHP Manual

com_propput

(PHP 4)

com_propput — Псевдоним com_set()

Описание

Эта функция является псевдонимом: com_set().

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_propget
com_propset
COM Функции


Псевдоним com_set

com_propput
com_release
COM Функции
PHP Manual

com_propset

(PHP 4)

com_propset — Псевдоним com_set()

Описание

Эта функция является псевдонимом: com_set().

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_propput
com_release
COM Функции


Decreases the components reference counter [deprecated]

com_propset
com_set
COM Функции
PHP Manual

com_release

(PHP 4 >= 4.1.0)

com_release — Decreases the components reference counter [deprecated]

Описание

void com_release ( void )

Decreases the components reference counter.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.0.0 | This function was removed.

Примечания

Внимание

You should never need to use this function.

com_propset
com_set
COM Функции


Assigns a value to a COM component's property

com_release
variant_abs
COM Функции
PHP Manual

com_set

(PHP 4)

com_set — Assigns a value to a COM component's property

Описание

Deprecated, use the OO syntax instead.

Пример #1 OO syntax

<?php
// do this
$obj->property = $value;
// instead of this:
com_set($obj, 'property', $value);
?>

Примечания

Замечание: Эта функция не существует в PHP 5; вместо этого для доступа к свойствам и вызову методов используйте обычный и более привычный объектно-ориентированный синтаксис.

com_release
variant_abs
COM Функции


Returns the absolute value of a variant

com_set
variant_add
COM Функции
PHP Manual

variant_abs

(PHP 5)

variant_abs — Returns the absolute value of a variant

Описание

mixed variant_abs ( mixed $val )

Returns the absolute value of a variant.

Список параметров

val

The variant.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the absolute value of val.

Смотрите также

  • abs() - Модуль числа

com_set
variant_add
COM Функции


"Adds" two variant values together and returns the result

variant_abs
variant_and
COM Функции
PHP Manual

variant_add

(PHP 5)

variant_add — "Adds" two variant values together and returns the result

Описание

mixed variant_add ( mixed $left , mixed $right )

Adds left to right using the following rules (taken from the MSDN library), which correspond to those of Visual Basic:

Variant Addition Rules
If | Then
Both expressions are of the string type | Concatenation
One expression is a string type and the other a character | Addition
One expression is numeric and the other is a string | Addition
Both expressions are numeric | Addition
Either expression is NULL | NULL is returned
Both expressions are empty | Integer subtype is returned

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the result.

Смотрите также

  • variant_sub() - Subtracts the value of the right variant from the left variant value

variant_abs
variant_and
COM Функции


Performs a bitwise AND operation between two variants

variant_add
variant_cast
COM Функции
PHP Manual

variant_and

(PHP 5)

variant_and — Performs a bitwise AND operation between two variants

Описание

mixed variant_and ( mixed $left , mixed $right )

Performs a bitwise AND operation. Note that this is slightly different from a regular AND operation.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant AND Rules
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

Смотрите также

  • variant_or() - Performs a logical disjunction on two variants

variant_add
variant_cast
COM Функции


Convert a variant into a new variant object of another type

variant_and
variant_cat
COM Функции
PHP Manual

variant_cast

(PHP 5)

variant_cast — Convert a variant into a new variant object of another type

Описание

variant variant_cast ( variant $variant , int $type )

This function makes a copy of variant and then performs a variant cast operation to force the copy to have the type given by type.

This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

Список параметров

variant

The variant.

type

type should be one of the VT_XXX constants.

Возвращаемые значения

Returns a VT_DATE variant.

Смотрите также

  • variant_set_type() - Convert a variant into another type "in-place"

variant_and
variant_cat
COM Функции


concatenates two variant values together and returns the result

variant_cast
variant_cmp
COM Функции
PHP Manual

variant_cat

(PHP 5)

variant_cat — concatenates two variant values together and returns the result

Описание

mixed variant_cat ( mixed $left , mixed $right )

Concatenates left with right and returns the result.

This function is notionally equivalent to $left . $right.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the result of the concatenation.

Смотрите также

  • Строковые операторы for the string concatenation operator

variant_cast
variant_cmp
COM Функции


Compares two variants

variant_cat
variant_date_from_timestamp
COM Функции
PHP Manual

variant_cmp

(PHP 5)

variant_cmp — Compares two variants

Описание

int variant_cmp ( mixed $left , mixed $right [, int $lcid [, int $flags ]] )

Compares left with right.

This function will only compare scalar values, not arrays or variant records.

Список параметров

left

The left operand.

right

The right operand.

lcid

A valid Locale Identifier to use when comparing strings (this affects string collation).

flags

flags can be one or more of the following values OR'd together, and affects string comparisons:

Variant Comparision Flags
value | meaning
NORM_IGNORECASE | Compare case insensitively
NORM_IGNORENONSPACE | Ignore nonspacing characters
NORM_IGNORESYMBOLS | Ignore symbols
NORM_IGNOREWIDTH | Ignore string width
NORM_IGNOREKANATYPE | Ignore Kana type
NORM_IGNOREKASHIDA | Ignore Arabic kashida characters

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns one of the following:

Variant Comparision Results
value | meaning
VARCMP_LT | left is less than right
VARCMP_EQ | left is equal to right
VARCMP_GT | left is greater than right
VARCMP_NULL | Either left, right or both are NULL

variant_cat
variant_date_from_timestamp
COM Функции


Returns a variant date representation of a Unix timestamp

variant_cmp
variant_date_to_timestamp
COM Функции
PHP Manual

variant_date_from_timestamp

(PHP 5)

variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp

Описание

variant variant_date_from_timestamp ( int $timestamp )

Converts timestamp from a unix timestamp value into a variant of type VT_DATE. This allows easier interopability between the unix-ish parts of PHP and COM.

Список параметров

timestamp

A unix timestamp.

Возвращаемые значения

Returns a VT_DATE variant.

Смотрите также

  • variant_date_to_timestamp() - Converts a variant date/time value to Unix timestamp
  • mktime() - Возвращает метку времени Unix для заданной даты
  • time() - Возвращает текущую метку времени Unix

variant_cmp
variant_date_to_timestamp
COM Функции


Converts a variant date/time value to Unix timestamp

variant_date_from_timestamp
variant_div
COM Функции
PHP Manual

variant_date_to_timestamp

(PHP 5)

variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp

Описание

int variant_date_to_timestamp ( variant $variant )

Converts variant from a VT_DATE (or similar) value into a Unix timestamp. This allows easier interopability between the Unix-ish parts of PHP and COM.

Список параметров

variant

The variant.

Возвращаемые значения

Returns a unix timestamp.

Смотрите также

  • variant_date_from_timestamp() - Returns a variant date representation of a Unix timestamp
  • date() - Форматирует вывод системной даты/времени
  • strftime() - Форматирует текущую дату/время с учетом текущих настроек локали

variant_date_from_timestamp
variant_div
COM Функции


Returns the result from dividing two variants

variant_date_to_timestamp
variant_eqv
COM Функции
PHP Manual

variant_div

(PHP 5)

variant_div — Returns the result from dividing two variants

Описание

mixed variant_div ( mixed $left , mixed $right )

Divides left by right and returns the result.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Double is returned
One expression is a string type and the other a character | Division and a double is returned
One expression is numeric and the other is a string | Division and a double is returned.
Both expressions are numeric | Division and a double is returned
Either expression is NULL | NULL is returned
right is empty and left is anything but empty | A com_exception with code DISP_E_DIVBYZERO is thrown
left is empty and right is anything but empty. | 0 as type double is returned
Both expressions are empty | A com_exception with code DISP_E_OVERFLOW is thrown

Смотрите также

  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_date_to_timestamp
variant_eqv
COM Функции


Performs a bitwise equivalence on two variants

variant_div
variant_fix
COM Функции
PHP Manual

variant_eqv

(PHP 5)

variant_eqv — Performs a bitwise equivalence on two variants

Описание

mixed variant_eqv ( mixed $left , mixed $right )

Performs a bitwise equivalence on two variants.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

If each bit in left is equal to the corresponding bit in right then TRUE is returned, otherwise FALSE is returned.

variant_div
variant_fix
COM Функции


Returns the integer portion of a variant

variant_eqv
variant_get_type
COM Функции
PHP Manual

variant_fix

(PHP 5)

variant_fix — Returns the integer portion of a variant

Описание

mixed variant_fix ( mixed $variant )

Gets the integer portion of a variant.

Список параметров

variant

The variant.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

Примечания

Внимание

This documentation is based on the MSDN documentation; it appears that this function is either the same as variant_int(), or that there is an error in the MSDN documentation.

Смотрите также

  • variant_int() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Округляет дробь в меньшую сторону
  • ceil() - Округляет дробь в большую сторону
  • round() - Округляет число типа float

variant_eqv
variant_get_type
COM Функции


Returns the type of a variant object

variant_fix
variant_idiv
COM Функции
PHP Manual

variant_get_type

(PHP 5)

variant_get_type — Returns the type of a variant object

Описание

int variant_get_type ( variant $variant )

Returns the type of a variant object.

Список параметров

variant

The variant object.

Возвращаемые значения

This function returns an integer value that indicates the type of variant, which can be an instance of COM, DOTNET or VARIANT classes. The return value can be compared to one of the VT_XXX constants.

The return value for COM and DOTNET objects will usually be VT_DISPATCH; the only reason this function works for those classes is because COM and DOTNET are descendants of VARIANT.

In PHP versions prior to 5, you could obtain this information from instances of the VARIANT class ONLY, by reading a fake type property. See the VARIANT class for more information on this.

variant_fix
variant_idiv
COM Функции


Converts variants to integers and then returns the result from dividing them

variant_get_type
variant_imp
COM Функции
PHP Manual

variant_idiv

(PHP 5)

variant_idiv — Converts variants to integers and then returns the result from dividing them

Описание

mixed variant_idiv ( mixed $left , mixed $right )

Converts left and right to integer values, and then performs integer division.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant Integer Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Division and integer is returned
One expression is a string type and the other a character | Division
One expression is numeric and the other is a string | Division
Both expressions are numeric | Division
Either expression is NULL | NULL is returned
Both expressions are empty | A com_exception with code DISP_E_DIVBYZERO is thrown

Смотрите также

  • variant_div() - Returns the result from dividing two variants

variant_get_type
variant_imp
COM Функции


Performs a bitwise implication on two variants

variant_idiv
variant_int
COM Функции
PHP Manual

variant_imp

(PHP 5)

variant_imp — Performs a bitwise implication on two variants

Описание

mixed variant_imp ( mixed $left , mixed $right )

Performs a bitwise implication operation.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant Implication Table
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

variant_idiv
variant_int
COM Функции


Returns the integer portion of a variant

variant_imp
variant_mod
COM Функции
PHP Manual

variant_int

(PHP 5)

variant_int — Returns the integer portion of a variant

Описание

mixed variant_int ( mixed $variant )

Gets the integer portion of a variant.

Список параметров

variant

The variant.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

Смотрите также

  • variant_fix() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Округляет дробь в меньшую сторону
  • ceil() - Округляет дробь в большую сторону
  • round() - Округляет число типа float

variant_imp
variant_mod
COM Функции


Divides two variants and returns only the remainder

variant_int
variant_mul
COM Функции
PHP Manual

variant_mod

(PHP 5)

variant_mod — Divides two variants and returns only the remainder

Описание

mixed variant_mod ( mixed $left , mixed $right )

Divides left by right and returns the remainder.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the remainder of the division.

Смотрите также

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_int
variant_mul
COM Функции


Multiplies the values of the two variants

variant_mod
variant_neg
COM Функции
PHP Manual

variant_mul

(PHP 5)

variant_mul — Multiplies the values of the two variants

Описание

mixed variant_mul ( mixed $left , mixed $right )

Multiplies left by right.

Список параметров

left

The left operand.

right

The right operand.

Boolean values are converted to -1 for FALSE and 0 for TRUE.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant Multiplication Rules
If | Then
Both expressions are of the string, date, character, boolean type | Multiplication
One expression is a string type and the other a character | Multiplication
One expression is numeric and the other is a string | Multiplication
Both expressions are numeric | Multiplication
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Смотрите также

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_mod
variant_neg
COM Функции


Performs logical negation on a variant

variant_mul
variant_not
COM Функции
PHP Manual

variant_neg

(PHP 5)

variant_neg — Performs logical negation on a variant

Описание

mixed variant_neg ( mixed $variant )

Performs logical negation of variant.

Список параметров

variant

The variant.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the result of the logical negation.

variant_mul
variant_not
COM Функции


Performs bitwise not negation on a variant

variant_neg
variant_or
COM Функции
PHP Manual

variant_not

(PHP 5)

variant_not — Performs bitwise not negation on a variant

Описание

mixed variant_not ( mixed $variant )

Performs bitwise not negation on variant and returns the result.

Список параметров

variant

The variant.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the bitwise not negation. If variant is NULL, the result will also be NULL.

variant_neg
variant_or
COM Функции


Performs a logical disjunction on two variants

variant_not
variant_pow
COM Функции
PHP Manual

variant_or

(PHP 5)

variant_or — Performs a logical disjunction on two variants

Описание

mixed variant_or ( mixed $left , mixed $right )

Performs a bitwise OR operation. Note that this is slightly different from a regular OR operation.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant OR Rules
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

Смотрите также

  • variant_and() - Performs a bitwise AND operation between two variants
  • variant_xor() - Performs a logical exclusion on two variants

variant_not
variant_pow
COM Функции


Returns the result of performing the power function with two variants

variant_or
variant_round
COM Функции
PHP Manual

variant_pow

(PHP 5)

variant_pow — Returns the result of performing the power function with two variants

Описание

mixed variant_pow ( mixed $left , mixed $right )

Returns the result of left to the power of right.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the result of left to the power of right.

Смотрите также

  • pow() - Возведение в степень

variant_or
variant_round
COM Функции


Rounds a variant to the specified number of decimal places

variant_pow
variant_set_type
COM Функции
PHP Manual

variant_round

(PHP 5)

variant_round — Rounds a variant to the specified number of decimal places

Описание

mixed variant_round ( mixed $variant , int $decimals )

Returns the value of variant rounded to decimals decimal places.

Список параметров

variant

The variant.

decimals

Number of decimal places.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Returns the rounded value.

Смотрите также

  • round() - Округляет число типа float

variant_pow
variant_set_type
COM Функции


Convert a variant into another type "in-place"

variant_round
variant_set
COM Функции
PHP Manual

variant_set_type

(PHP 5)

variant_set_type — Convert a variant into another type "in-place"

Описание

void variant_set_type ( variant $variant , int $type )

This function is similar to variant_cast() except that the variant is modified "in-place"; no new variant is created. The parameters for this function have identical meaning to those of variant_cast().

Список параметров

variant

The variant.

type

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • variant_cast() - Convert a variant into a new variant object of another type

variant_round
variant_set
COM Функции


Assigns a new value for a variant object

variant_set_type
variant_sub
COM Функции
PHP Manual

variant_set

(PHP 5)

variant_set — Assigns a new value for a variant object

Описание

void variant_set ( variant $variant , mixed $value )

Converts value to a variant and assigns it to the variant object; no new variant object is created, and the old value of variant is freed/released.

Список параметров

variant

The variant.

value

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

variant_set_type
variant_sub
COM Функции


Subtracts the value of the right variant from the left variant value

variant_set
variant_xor
COM Функции
PHP Manual

variant_sub

(PHP 5)

variant_sub — Subtracts the value of the right variant from the left variant value

Описание

mixed variant_sub ( mixed $left , mixed $right )

Subtracts right from left.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant Subtraction Rules
If | Then
Both expressions are of the string type | Subtraction
One expression is a string type and the other a character | Subtraction
One expression is numeric and the other is a string | Subtraction.
Both expressions are numeric | Subtraction
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Смотрите также

  • variant_add() - "Adds" two variant values together and returns the result

variant_set
variant_xor
COM Функции


Performs a logical exclusion on two variants

variant_sub
Принтер
COM Функции
PHP Manual

variant_xor

(PHP 5)

variant_xor — Performs a logical exclusion on two variants

Описание

mixed variant_xor ( mixed $left , mixed $right )

Performs a logical exclusion.

Список параметров

left

The left operand.

right

The right operand.

Замечание:

Как и со всеми вариантными арифметическими функциями, параметры этой функции могут быть как родными PHP типами (integer, string, floating point, boolean или NULL), так и экземплярами классов COM, VARIANT или DOTNET. Родные PHP типы будут преобразованы в варианты (variants) по тем же самым правилам, что и в конструкторе класса VARIANT. У Объектов COM и DOTNET будет взято и использовано их значение по умолчанию в качестве значения варианта.

Вариантные арфиметические функции являются обертками вокруг одноименных функций в библиотеке COM; для более подробной информации по этим функциям проконсультируйтесь с библиотекой MSDN. Названия PHP-функций немного отличаются; например, variant_add() в PHP соответствует VarAdd() в документации MSDN.

Возвращаемые значения

Variant XOR Rules
If left is | If right is | then the result is
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

Смотрите также

  • variant_or() - Performs a logical disjunction on two variants
  • variant_and() - Performs a bitwise AND operation between two variants

variant_sub
Принтер
COM Функции


Принтер

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Принтер
    • printer_abort — Удаляет файл из буфера подготовки к печати
    • printer_close — Закрывает соединение с принтером
    • printer_create_brush — Create a new brush
    • printer_create_dc — Создает новый контекст устройства
    • printer_create_font — Create a new font
    • printer_create_pen — Create a new pen
    • printer_delete_brush — Удаляет кисть
    • printer_delete_dc — Удаляет контекст устройства
    • printer_delete_font — Удаляет выбранный шрифт
    • printer_delete_pen — Удаляет перо
    • printer_draw_bmp — Рисует bmp
    • printer_draw_chord — Рисует хорду
    • printer_draw_elipse — Рисует эллипс
    • printer_draw_line — Рисует линию
    • printer_draw_pie — Рисует сектор круга
    • printer_draw_rectangle — Рисует прямоугольник
    • printer_draw_roundrect — Рисует прямоугольник со сглаженными углами
    • printer_draw_text — Рисует текст
    • printer_end_doc — Закрывает документ
    • printer_end_page — Закрывает активную страницу
    • printer_get_option — Получает настройки принтера
    • printer_list — Возвращает массив принтеров, подсоединенных к серверу
    • printer_logical_fontheight — Получает логическую высоту шрифта
    • printer_open — Открывает соединение с принтером
    • printer_select_brush — Выбирает кисть
    • printer_select_font — Выбирает шрифт
    • printer_select_pen — Выбирает перо
    • printer_set_option — Настройка соединения с принтером
    • printer_start_doc — Начинает новый документ
    • printer_start_page — Начинает новую страницу
    • printer_write — Отправляет данные на принтер
variant_xor
Введение
Расширения только для Windows


Введение

Этим функции доступны только в Windows 9.x, ME, NT4 и 2000. Они были добавлены в PHP 4.0.4.

Принтер
Установка и настройка
Принтер


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Принтер


Установка

Этот модуль » PECL не поставляется с PHP.

Для использования этих функций пользователи Windows должны включить файл php_printer.dll в php.ini. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции конфигурации принтера
Имя | Значение по-умолчанию | Изменяемость | Измения
printer.default_printer | "" | PHP_INI_ALL | Доступно с PHP 4.0.6. Удалено в PHP 4.1.1.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Этот модуль определяет дискрипторы к соединению с принтером, к кисти, к шрифту, к перу.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

PRINTER_COPIES (integer)
PRINTER_MODE (integer)
PRINTER_TITLE (integer)
PRINTER_DEVICENAME (integer)
PRINTER_DRIVERVERSION (integer)
PRINTER_OUTPUT_FILE (integer)
PRINTER_RESOLUTION_Y (integer)
PRINTER_RESOLUTION_X (integer)
PRINTER_SCALE (integer)
PRINTER_BACKGROUND_COLOR (integer)
PRINTER_PAPER_LENGTH (integer)
PRINTER_PAPER_WIDTH (integer)
PRINTER_PAPER_FORMAT (integer)
PRINTER_FORMAT_CUSTOM (integer)
PRINTER_FORMAT_LETTER (integer)
PRINTER_FORMAT_LEGAL (integer)
PRINTER_FORMAT_A3 (integer)
PRINTER_FORMAT_A4 (integer)
PRINTER_FORMAT_A5 (integer)
PRINTER_FORMAT_B4 (integer)
PRINTER_FORMAT_B5 (integer)
PRINTER_FORMAT_FOLIO (integer)
PRINTER_ORIENTATION (integer)
PRINTER_ORIENTATION_PORTRAIT (integer)
PRINTER_ORIENTATION_LANDSCAPE (integer)
PRINTER_TEXT_COLOR (integer)
PRINTER_TEXT_ALIGN (integer)
PRINTER_TA_BASELINE (integer)
PRINTER_TA_BOTTOM (integer)
PRINTER_TA_TOP (integer)
PRINTER_TA_CENTER (integer)
PRINTER_TA_LEFT (integer)
PRINTER_TA_RIGHT (integer)
PRINTER_PEN_SOLID (integer)
PRINTER_PEN_DASH (integer)
PRINTER_PEN_DOT (integer)
PRINTER_PEN_DASHDOT (integer)
PRINTER_PEN_DASHDOTDOT (integer)
PRINTER_PEN_INVISIBLE (integer)
PRINTER_BRUSH_SOLID (integer)
PRINTER_BRUSH_CUSTOM (integer)
PRINTER_BRUSH_DIAGONAL (integer)
PRINTER_BRUSH_CROSS (integer)
PRINTER_BRUSH_DIAGCROSS (integer)
PRINTER_BRUSH_FDIAGONAL (integer)
PRINTER_BRUSH_HORIZONTAL (integer)
PRINTER_BRUSH_VERTICAL (integer)
PRINTER_FW_THIN (integer)
PRINTER_FW_ULTRALIGHT (integer)
PRINTER_FW_LIGHT (integer)
PRINTER_FW_NORMAL (integer)
PRINTER_FW_MEDIUM (integer)
PRINTER_FW_BOLD (integer)
PRINTER_FW_ULTRABOLD (integer)
PRINTER_FW_HEAVY (integer)
PRINTER_ENUM_LOCAL (integer)
PRINTER_ENUM_NAME (integer)
PRINTER_ENUM_SHARED (integer)
PRINTER_ENUM_DEFAULT (integer)
PRINTER_ENUM_CONNECTIONS (integer)
PRINTER_ENUM_NETWORK (integer)
PRINTER_ENUM_REMOTE (integer)
Типы ресурсов
Принтер
Принтер


Принтер
PHP Manual

Принтер

Содержание

  • printer_abort — Удаляет файл из буфера подготовки к печати
  • printer_close — Закрывает соединение с принтером
  • printer_create_brush — Create a new brush
  • printer_create_dc — Создает новый контекст устройства
  • printer_create_font — Create a new font
  • printer_create_pen — Create a new pen
  • printer_delete_brush — Удаляет кисть
  • printer_delete_dc — Удаляет контекст устройства
  • printer_delete_font — Удаляет выбранный шрифт
  • printer_delete_pen — Удаляет перо
  • printer_draw_bmp — Рисует bmp
  • printer_draw_chord — Рисует хорду
  • printer_draw_elipse — Рисует эллипс
  • printer_draw_line — Рисует линию
  • printer_draw_pie — Рисует сектор круга
  • printer_draw_rectangle — Рисует прямоугольник
  • printer_draw_roundrect — Рисует прямоугольник со сглаженными углами
  • printer_draw_text — Рисует текст
  • printer_end_doc — Закрывает документ
  • printer_end_page — Закрывает активную страницу
  • printer_get_option — Получает настройки принтера
  • printer_list — Возвращает массив принтеров, подсоединенных к серверу
  • printer_logical_fontheight — Получает логическую высоту шрифта
  • printer_open — Открывает соединение с принтером
  • printer_select_brush — Выбирает кисть
  • printer_select_font — Выбирает шрифт
  • printer_select_pen — Выбирает перо
  • printer_set_option — Настройка соединения с принтером
  • printer_start_doc — Начинает новый документ
  • printer_start_page — Начинает новую страницу
  • printer_write — Отправляет данные на принтер
Предопределенные константы
printer_abort
Принтер
PHP Manual


Удаляет файл из буфера подготовки к печати

Принтер
printer_close
Принтер
PHP Manual

printer_abort

(PECL printer SVN)

printer_abort — Удаляет файл из буфера подготовки к печати

Описание

void printer_abort ( resource $printer_handle )

Эта функция удаляет файл из буфера подготовки к печати.

Список параметров

printer_handle

printer_handle должен быть действующим дескриптором принтера.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_abort()

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

Принтер
printer_close
Принтер


Закрывает соединение с принтером

printer_abort
printer_create_brush
Принтер
PHP Manual

printer_close

(PECL printer SVN)

printer_close — Закрывает соединение с принтером

Описание

void printer_close ( resource $printer_handle )

Эта функция закрывает соединение с сервером. printer_close() также закрывает активный контекст устройства.

Список параметров

printer_handle

printer_handle должен быть активным дескриптором устройства.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_close()

<?php
$handle = printer_open();
printer_close($handle);
?>

printer_abort
printer_create_brush
Принтер


Create a new brush

printer_close
printer_create_dc
Принтер
PHP Manual

printer_create_brush

(PECL printer SVN)

printer_create_brush — Create a new brush

Описание

resource printer_create_brush ( int $style , string $color )

The function creates a new brush and returns a handle to it. A brush is used to fill shapes. For an example see printer_select_brush().

Список параметров

style

style must be one of the following constants:

  • PRINTER_BRUSH_SOLID: creates a brush with a solid color.
  • PRINTER_BRUSH_DIAGONAL: creates a brush with a 45-degree upward left-to-right hatch ( / ).
  • PRINTER_BRUSH_CROSS: creates a brush with a cross hatch ( + ).
  • PRINTER_BRUSH_DIAGCROSS: creates a brush with a 45 cross hatch ( x ).
  • PRINTER_BRUSH_FDIAGONAL: creates a brush with a 45-degree downward left-to-right hatch ( \ ).
  • PRINTER_BRUSH_HORIZONTAL: creates a brush with a horizontal hatch ( - ).
  • PRINTER_BRUSH_VERTICAL: creates a brush with a vertical hatch ( | ).
  • PRINTER_BRUSH_CUSTOM: creates a custom brush from an BMP file. The second parameter is used to specify the BMP instead of the RGB color code.

color

color must be a color in RGB hex format, i.e. "000000" for black.

Возвращаемые значения

Returns a brush handle or FALSE on error.

printer_close
printer_create_dc
Принтер


Создает новый контекст устройства

printer_create_brush
printer_create_font
Принтер
PHP Manual

printer_create_dc

(PECL printer SVN)

printer_create_dc — Создает новый контекст устройства

Описание

void printer_create_dc ( resource $printer_handle )

Эта функция создает новый контекст устройства. Контекст устройства используется для настройки графических объектов документа.

Список параметров

printer_handle

printer_handle должен быть активным дескриптором устройства.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_create_dc()

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* Тут выполняем некоторые операции с контекстом устройства */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* Создаем другой контекст устройства */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* Тут выполняем некоторые операции с контекстом устройства */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_create_brush
printer_create_font
Принтер


Create a new font

printer_create_dc
printer_create_pen
Принтер
PHP Manual

printer_create_font

(PECL printer SVN)

printer_create_font — Create a new font

Описание

resource printer_create_font ( string $face , int $height , int $width , int $font_weight , bool $italic , bool $underline , bool $strikeout , int $orientation )

The function creates a new font and returns a handle to it. A font is used to draw text. For an example see printer_select_font().

Список параметров

face

face must be a string specifying the font face.

height

height specifies the font height.

width

width specifies the font width.

font_weight

The font_weight specifies the font weight (400 is normal), and can be one of the following predefined constants.

  • PRINTER_FW_THIN: sets the font weight to thin (100).
  • PRINTER_FW_ULTRALIGHT: sets the font weight to ultra light (200).
  • PRINTER_FW_LIGHT: sets the font weight to light (300).
  • PRINTER_FW_NORMAL: sets the font weight to normal (400).
  • PRINTER_FW_MEDIUM: sets the font weight to medium (500).
  • PRINTER_FW_BOLD: sets the font weight to bold (700).
  • PRINTER_FW_ULTRABOLD: sets the font weight to ultra bold (800).
  • PRINTER_FW_HEAVY: sets the font weight to heavy (900).

italic

italic can be TRUE or FALSE, and sets whether the font should be italic.

underline

underline can be TRUE or FALSE, and sets whether the font should be underlined.

strikeout

strikeout can be TRUE or FALSE, and sets whether the font should be stroked out.

orientaton

orientation specifies a rotation.

Возвращаемые значения

Returns a font handle on success or FALSE on error.

printer_create_dc
printer_create_pen
Принтер


Create a new pen

printer_create_font
printer_delete_brush
Принтер
PHP Manual

printer_create_pen

(PECL printer SVN)

printer_create_pen — Create a new pen

Описание

resource printer_create_pen ( int $style , int $width , string $color )

The function creates a new pen and returns a handle to it. A pen is used to draw lines and curves. For an example see printer_select_pen().

Список параметров

style

style must be one of the following constants:

  • PRINTER_PEN_SOLID: creates a solid pen.
  • PRINTER_PEN_DASH: creates a dashed pen.
  • PRINTER_PEN_DOT: creates a dotted pen.
  • PRINTER_PEN_DASHDOT: creates a pen with dashes and dots.
  • PRINTER_PEN_DASHDOTDOT: creates a pen with dashes and double dots.
  • PRINTER_PEN_INVISIBLE: creates an invisible pen.

width

width specifies the width of the pen.

color

color must be a color in RGB hex format, i.e. "000000" for black.

Возвращаемые значения

Returns a pen handle or FALSE on error.

printer_create_font
printer_delete_brush
Принтер


Удаляет кисть

printer_create_pen
printer_delete_dc
Принтер
PHP Manual

printer_delete_brush

(PECL printer SVN)

printer_delete_brush — Удаляет кисть

Описание

void printer_delete_brush ( resource $brush_handle )

Эта функция удаляет выбранную кисть. За примером обращайтесь к описанию функции printer_select_brush().

Список параметров

brush_handle

brush_handle должен быть действительным дескриптором кисти.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_create_pen
printer_delete_dc
Принтер


Удаляет контекст устройства

printer_delete_brush
printer_delete_font
Принтер
PHP Manual

printer_delete_dc

(PECL printer SVN)

printer_delete_dc — Удаляет контекст устройства

Описание

bool printer_delete_dc ( resource $printer_handle )

Эта функция удаляет контекст устройства. За примером обращайтесь к описанию функции printer_create_dc().

Список параметров

printer_handle

printer_handle должен быть активным дескриптором устройства.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_delete_brush
printer_delete_font
Принтер


Удаляет выбранный шрифт

printer_delete_dc
printer_delete_pen
Принтер
PHP Manual

printer_delete_font

(PECL printer SVN)

printer_delete_font — Удаляет выбранный шрифт

Описание

void printer_delete_font ( resource $font_handle )

Эта функция удаляет выбранный шрифт. За примером обращайтесь к описанию функции printer_select_font().

Список параметров

font_handle

font_handle должен быть действительным дескриптором шрифта.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_delete_dc
printer_delete_pen
Принтер


Удаляет перо

printer_delete_font
printer_draw_bmp
Принтер
PHP Manual

printer_delete_pen

(PECL printer SVN)

printer_delete_pen — Удаляет перо

Описание

void printer_delete_pen ( resource $pen_handle )

Эта функция удаляет выбранное перо. За примером обращайтесь к описанию функции printer_select_pen().

Список параметров

pen_handle

pen_handle должен быть действительным дескриптором пера.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_delete_font
printer_draw_bmp
Принтер


Рисует bmp

printer_delete_pen
printer_draw_chord
Принтер
PHP Manual

printer_draw_bmp

(PECL printer SVN)

printer_draw_bmp — Рисует bmp

Описание

bool printer_draw_bmp ( resource $printer_handle , string $filename , int $x , int $y [, int $width ], int $height )

Эта функция рисует картинку из файла с расширением .bmp.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

filename

Путь к рисуемому файлу bmp.

x

Верхняя левая координата x картинки.

y

Верхняя левая координата y картинки.

width

Ширина картинки.

height

Высота картинки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_draw_bmp()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_draw_bmp($handle, "c:\\image.bmp", 1, 1);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_delete_pen
printer_draw_chord
Принтер


Рисует хорду

printer_draw_bmp
printer_draw_elipse
Принтер
PHP Manual

printer_draw_chord

(PECL printer SVN)

printer_draw_chord — Рисует хорду

Описание

void printer_draw_chord ( resource $printer_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 )

Эта функция рисует хорду.

Список параметров

printer_handle

printer_handle должен быть корректным дескриптором принтера.

rec_x

rec_x - координата x верхнего левого угла ограничивающего прямоугольника.

rec_y

rec_y - координата y верхнего левого угла ограничивающего прямоугольника.

rec_x1

rec_x1 - координата x нижнего правого угла ограничивающего прямоугольника.

rec_y1

rec_y1 - координата y нижнего правого угла ограничивающего прямоугольника.

rad_x

rad_x - координата x луча, определяющая начало хорды.

rad_y

rad_y - координата y луча, определяющая начало хорды.

rad_x1

rad_x1 - координата x луча, определяющая конец хорды.

rad_y1

rad_y1 - координата y луча, определяющего конец хорды.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования printer_draw_chord()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_chord($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_bmp
printer_draw_elipse
Принтер


Рисует эллипс

printer_draw_chord
printer_draw_line
Принтер
PHP Manual

printer_draw_elipse

(PECL printer SVN)

printer_draw_elipse — Рисует эллипс

Описание

void printer_draw_elipse ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

Эта функция рисует эллипс.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

ul_x

ul_x - верхняя левая координата x эллипса.

ul_y

ul_y - верхняя левая координата y эллипса.

lr_x

lr_x - нижняя правая координата x эллипса.

lr_y

lr_y - нижняя правая координата y эллипса.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_elipse()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_elipse($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_chord
printer_draw_line
Принтер


Рисует линию

printer_draw_elipse
printer_draw_pie
Принтер
PHP Manual

printer_draw_line

(PECL printer SVN)

printer_draw_line — Рисует линию

Описание

void printer_draw_line ( resource $printer_handle , int $from_x , int $from_y , int $to_x , int $to_y )

Эта функция рисует линию, используя выбранное перо.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

from_x

from_x - координата x начальной точки.

from_y

from_y - координата y начальной точки.

to_x

to_x - координата x конечной точки.

to_y

to_y - координата y конечной точки.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_line()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "000000");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 10, 1000, 10);
printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_elipse
printer_draw_pie
Принтер


Рисует сектор круга

printer_draw_line
printer_draw_rectangle
Принтер
PHP Manual

printer_draw_pie

(PECL printer SVN)

printer_draw_pie — Рисует сектор круга

Описание

void printer_draw_pie ( resource $printer_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 )

Эта функция рисует сектор круга.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

rec_x

rec_x - верхняя левая координата x ограничивающего прямоугольника.

rec_y

rec_y - верхняя левая координата y ограничивающего прямоугольника.

rec_x1

rec_x1 - нижняя правая координата x ограничивающего прямоугольника.

rec_y1

rec_y1 - нижняя правая координата y ограничивающего прямоугольника.

rad1_x

rad1_x - координата x окончания первого луча.

rad1_y

rad1_y - координата y окончания первого луча.

rad2_x

rad2_x - координата x окончания второго луча.

rad2_y

rad2_y - координата y окончания второго луча.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_pie()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_pie($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_line
printer_draw_rectangle
Принтер


Рисует прямоугольник

printer_draw_pie
printer_draw_roundrect
Принтер
PHP Manual

printer_draw_rectangle

(PECL printer SVN)

printer_draw_rectangle — Рисует прямоугольник

Описание

void printer_draw_rectangle ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

Эта функция рисует прямоугольник.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

ul_x

ul_x - верхняя левая координата x прямоугольника.

ul_y

ul_y - верхняя левая координата y прямоугольника.

lr_x

lr_x - нижняя правая координата x прямоугольника.

lr_y

lr_y - нижняя правая координата y прямоугольника.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_rectangle()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_pie
printer_draw_roundrect
Принтер


Рисует прямоугольник со сглаженными углами

printer_draw_rectangle
printer_draw_text
Принтер
PHP Manual

printer_draw_roundrect

(PECL printer SVN)

printer_draw_roundrect — Рисует прямоугольник со сглаженными углами

Описание

void printer_draw_roundrect ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y , int $width , int $height )

Эта функция рисует прямоугольник со сглаженными углами.

Список параметров

printer_handle

printer_handle должен быть действительный дескриптор.

ul_x

ul_x - координата x верхнего левого угла прямоугольника.

ul_y

ul_y - координата y верхнего левого угла прямоугольника.

lr_x

lr_x - координата x нижнего правого угла прямоугольника.

lr_y

lr_y - координата y нижнего правого угла прямоугольника.

width

width - ширина эллипса.

height

height - высота эллипса.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_roundrect()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_roundrect($handle, 1, 1, 500, 500, 200, 200);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_rectangle
printer_draw_text
Принтер


Рисует текст

printer_draw_roundrect
printer_end_doc
Принтер
PHP Manual

printer_draw_text

(PECL printer SVN)

printer_draw_text — Рисует текст

Описание

void printer_draw_text ( resource $printer_handle , string $text , int $x , int $y )

Эта функция рисует текст text на позиции x, y, используя выбранный шрифт.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

text

Текст, который должен быть отрисован.

x

Координата x места отрисовки текста.

y

Координата y места отрисовки текста.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_draw_text()

<?php
$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_draw_roundrect
printer_end_doc
Принтер


Закрывает документ

printer_draw_text
printer_end_page
Принтер
PHP Manual

printer_end_doc

(PECL printer SVN)

printer_end_doc — Закрывает документ

Описание

bool printer_end_doc ( resource $printer_handle )

Закрывает новый документ в спулере принтера. После этого документ готов к печати. За примером обращайтесь к описанию функции printer_start_doc().

Список параметров

printer_handle

printer_handle должен быть действительным дескриптером принтера.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_draw_text
printer_end_page
Принтер


Закрывает активную страницу

printer_end_doc
printer_get_option
Принтер
PHP Manual

printer_end_page

(PECL printer SVN)

printer_end_page — Закрывает активную страницу

Описание

bool printer_end_page ( resource $printer_handle )

Функция закрывает активную страницу в активном документе. За примером обращайтесь к описанию функции printer_start_doc().

Список параметров

printer_handle

printer_handle должен быть действительным дескриптером принтера.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_end_doc
printer_get_option
Принтер


Получает настройки принтера

printer_end_page
printer_list
Принтер
PHP Manual

printer_get_option

(PECL printer SVN)

printer_get_option — Получает настройки принтера

Описание

mixed printer_get_option ( resource $printer_handle , string $option )

Эта функция получает настройки опции, указанной в параметре option.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

option

Прочитайте о функции printer_set_option(), чтобы узнать какие опции вы можете прочитать. Также доступны следующие настройки:

  • PRINTER_DEVICENAME возвращает название принтера.
  • PRINTER_DRIVERVERSION возвращает версию драйвера принтера.

Возвращаемые значения

Возвращает значение параметра, указанного в option.

Примеры

Пример #1 Пример printer_get_option()

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

printer_end_page
printer_list
Принтер


Возвращает массив принтеров, подсоединенных к серверу

printer_get_option
printer_logical_fontheight
Принтер
PHP Manual

printer_list

(PECL printer SVN)

printer_list — Возвращает массив принтеров, подсоединенных к серверу

Описание

array printer_list ( int $enumtype [, string $name [, int $level ]] )

Функция перечисляет доступные принтеры и их возможности.

Список параметров

enumtype

enumtype должен равнятся одной из нижеперечисленных констант:

  • PRINTER_ENUM_LOCAL: указывает локально установленные принтеры.
  • PRINTER_ENUM_NAME: указывает принтеры, принадлежащие name, который может быть сервером, доментом или провайдером печати.
  • PRINTER_ENUM_SHARED: этот параметр не может быть использован индивидуально, он должен быть присоединен к другим параметрам битовой операцией ИЛИ (|), к примеру к 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.

name

Используется с PRINTER_ENUM_NAME.

level

level указывает уровень запроса информации. Может быть 1,2,4 или 5.

Возвращаемые значения

Возвращает массив принтеров.

Примеры

Пример #1 Пример printer_list()

<?php
/* обнаружает локальные расшаренные принтеры */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

printer_get_option
printer_logical_fontheight
Принтер


Получает логическую высоту шрифта

printer_list
printer_open
Принтер
PHP Manual

printer_logical_fontheight

(PECL printer SVN)

printer_logical_fontheight — Получает логическую высоту шрифта

Описание

int printer_logical_fontheight ( resource $printer_handle , int $height )

Функция вычисляет логическую высоту шрифта height.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором шрифта.

height

Высота шрифта.

Возвращаемые значения

Возвращает логическую высоту шрифта или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_logical_fontheight()

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

printer_list
printer_open
Принтер


Открывает соединение с принтером

printer_logical_fontheight
printer_select_brush
Принтер
PHP Manual

printer_open

(PECL printer SVN)

printer_open — Открывает соединение с принтером

Описание

resource printer_open ([ string $printername ] )

Функция пытается открыть соединение с указанным принетром.

printer_open() также создает контекст устройства.

Список параметров

printername

Имя принтера. Если параметр не указан, функция пытается установить соединение с принтером по-умолчанию (если он не указан в php.ini как printer.default_printer, PHP попытается найти его самостоятельно).

Возвращаемые значения

В случае успеха возвращает дескриптор принтера или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_open()

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

printer_logical_fontheight
printer_select_brush
Принтер


Выбирает кисть

printer_open
printer_select_font
Принтер
PHP Manual

printer_select_brush

(PECL printer SVN)

printer_select_brush — Выбирает кисть

Описание

void printer_select_brush ( resource $printer_handle , resource $brush_handle )

Эта функция выбирает выбирает кисть, которая становится активным объектом рисования для текущего контекста устройства. Кисть используется для закраски фигур. Если вы рисуете прямоугольник, кисть используется для рисования фигуры, а перо используется для рисования краев.

Если вы не выберите кисть до рисования фигуры, фигура будет незакрашенной.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором устройства.

brush_handle

brush_handle должен быть действительным дескриптором кисти.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_select_brush()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);
$brush = printer_create_brush(PRINTER_BRUSH_CUSTOM, "c:\\brush.bmp");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "000000");
printer_select_brush($handle, $brush);
printer_draw_rectangle($handle, 1, 501, 500, 1001);
printer_delete_brush($brush);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_open
printer_select_font
Принтер


Выбирает шрифт

printer_select_brush
printer_select_pen
Принтер
PHP Manual

printer_select_font

(PECL printer SVN)

printer_select_font — Выбирает шрифт

Описание

void printer_select_font ( resource $printer_handle , resource $font_handle )

Эта функция выбирает шрифт для рисования текста.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором устройства.

font_handle

font_handle должен быть действительным дескриптором шрифта.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_select_font()

<?php
$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_brush
printer_select_pen
Принтер


Выбирает перо

printer_select_font
printer_set_option
Принтер
PHP Manual

printer_select_pen

(PECL printer SVN)

printer_select_pen — Выбирает перо

Описание

void printer_select_pen ( resource $printer_handle , resource $pen_handle )

Эта функция выбирает выбирает перо, которое становится активным объектом рисования для текущего контекста устройства. Перо используется для рисования прямых и кривых линий. К примеру, если вы рисуете одиночную линию, используется перо. Если вы рисуете прямоугольник, перо используется для рисования краев, а кисть используется для закраски фигуры. Если вы не выберите перо перед рисованием, фигура не будет иметь кромки.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

pen_handle

pen_handle должен быть действительным дескриптором пера.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример printer_select_pen()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "2222FF");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_select_font
printer_set_option
Принтер


Настройка соединения с принтером

printer_select_pen
printer_start_doc
Принтер
PHP Manual

printer_set_option

(PECL printer SVN)

printer_set_option — Настройка соединения с принтером

Описание

bool printer_set_option ( resource $printer_handle , int $option , mixed $value )

Эта функция настраивает опции для текущего соединения.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптором принтера.

option

Этот параметр может быть одной из следующих констант:

  • PRINTER_COPIES: указывает, сколько копий должно быть напечатано, value должен быть целым числом(integer).
  • PRINTER_MODE: указывает тип данных (text, raw или emf), value должен быть строкового типа(string).
  • PRINTER_TITLE: указывает имя документа, value должен быть строкового типа(string).
  • PRINTER_ORIENTATION: указывает ориентирование бумаги, value может быть или PRINTER_ORIENTATION_PORTRAIT, или PRINTER_ORIENTATION_LANDSCAPE
  • PRINTER_RESOLUTION_Y: указывает вертикальное разрешение в точках на дюйм, value должен быть целым числом(integer).
  • PRINTER_RESOLUTION_X: указывает горизонтальное разрешение в точках на дюйм, value должен быть целым числом(integer).
  • PRINTER_PAPER_FORMAT: указывает предопределенный формат бумаги, установите значение value равным PRINTER_FORMAT_CUSTOM, если вы хотите указать нестандартный формат с шириной PRINTER_PAPER_WIDTH и длиной PRINTER_PAPER_LENGTH. value может быть одной из следующих констант:
    • PRINTER_FORMAT_CUSTOM: Позволяет задать нестандартный формат.
    • PRINTER_FORMAT_LETTER: задает стандартный формат писем (8 1/2 на 11 дюймов).
    • PRINTER_FORMAT_LEGAL: задает стандартный формат 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 by 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 указывает длину бумаги в миллиметрах, value должен быть типа integer.
  • PRINTER_PAPER_WIDTH: Если PRINTER_PAPER_FORMAT равен PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH указывает ширину бумаги в миллиметрах, value должен быть типа integer.
  • PRINTER_SCALE: Задает коэффициент масштабировки вывода печати. размер страницы масштабируется от физического размера страницы коэффициентом равным scale/100. К примеру, если вы установите scale равным 50, вывод печати будет равен половине первончального размера. value должен быть типа integer.
  • PRINTER_BACKGROUND_COLOR: задает фоновый цвет для текущего контекста устройства, value должен быть строкой, содержащей rgb информацию в шестнадцатеричном формате, к примеру "005533".
  • PRINTER_TEXT_COLOR: задает цвет текста для текущего контекста устройства, value должен быть строкой, содержащей rgb информацию в шестнадцатеричном формате, к примеру "005533".
  • PRINTER_TEXT_ALIGN: задает выравнивание текста для текущего контекста устройства, value может быть скомбенирован через операцию ИЛИ (|) с нижеследующими константами:
    • PRINTER_TA_BASELINE: текст будет выровнен по базовой линии.
    • PRINTER_TA_BOTTOM: текст будет выровнен по низу.
    • PRINTER_TA_TOP: текст будет выровнен по верху.
    • PRINTER_TA_CENTER: текст будет выровнен по центру.
    • PRINTER_TA_LEFT: текст будет выровнен по левому краю.
    • PRINTER_TA_RIGHT: текст будет выровнен по правому краю.

value

Значение option.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_set_option()

<?php
$handle = printer_open();
printer_set_option($handle, PRINTER_SCALE, 75);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_LEFT);
printer_close($handle);
?>

printer_select_pen
printer_start_doc
Принтер


Начинает новый документ

printer_set_option
printer_start_page
Принтер
PHP Manual

printer_start_doc

(PECL printer SVN)

printer_start_doc — Начинает новый документ

Описание

bool printer_start_doc ( resource $printer_handle [, string $document ] )

Эта функция создает новый документ в спулере принтера. Документ может содержать несколько страниц, используется для планировки задачи печати в спулере.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптером принтера.

document

Необязательный параметр document может использоватся для указания альтернативного имени документа.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_start_doc()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_set_option
printer_start_page
Принтер


Начинает новую страницу

printer_start_doc
printer_write
Принтер
PHP Manual

printer_start_page

(PECL printer SVN)

printer_start_page — Начинает новую страницу

Описание

bool printer_start_page ( resource $printer_handle )

Эта функция создает новую страницу в активном документе. Для примера смотрите функцию printer_start_doc().

Список параметров

printer_handle

printer_handle должен быть действующим дескриптором устройства.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_start_doc
printer_write
Принтер


Отправляет данные на принтер

printer_start_page
W32api
Принтер
PHP Manual

printer_write

(PECL printer SVN)

printer_write — Отправляет данные на принтер

Описание

bool printer_write ( resource $printer_handle , string $content )

Отправляет content прямо на принтер.

Список параметров

printer_handle

printer_handle должен быть действительным дескриптером принтера.

content

Данные, отправляемые на печать.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример printer_write()

<?php
$handle = printer_open();
printer_write($handle, "Текст для печати");
printer_close($handle);
?>

printer_start_page
W32api
Принтер


W32api

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры w32api
  • W32api
    • w32api_deftype — Defines a type for use with other w32api_functions
    • w32api_init_dtype — Creates an instance of the data type typename and fills it with the values passed
    • w32api_invoke_function — Invokes function funcname with the arguments passed after the function name
    • w32api_register_function — Registers function function_name from library with PHP
    • w32api_set_call_method — Sets the calling method used
printer_write
Введение
Расширения только для Windows


Введение

Это расширение является общим расширением API для DLL. Изначально оно было написано для того, чтобы осуществить доступ к API Win32 из PHP, а также обеспечить доступ к функциям, полученным из других DLL.

На данный момент поддерживаются общие типы данных PHP (string, boolean, float, integer и null) и типы, которые вы определили с помощью w32api_deftype().

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

W32api
Установка и настройка
W32api


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
W32api


Требования

Расширение будет работать только на системах Windows.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/w32api.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.1.0

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Это расширение определяет один тип ресурса, используемый для определяемых пользователем типов. Имя этого ресурса "dynaparm"

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

DC_MICROSOFT (integer)
DC_BORLAND (integer)
DC_CALL_CDECL (integer)
DC_CALL_STD (integer)
DC_RETVAL_MATH4 (integer)
DC_RETVAL_MATH8 (integer)
DC_CALL_STD_BO (integer)
DC_CALL_STD_MS (integer)
DC_CALL_STD_M8 (integer)
DC_FLAG_ARGPTR (integer)
Типы ресурсов
Примеры
W32api


Примеры

Содержание

  • Примеры w32api
Предопределенные константы
Примеры w32api
W32api


Примеры w32api

Этот пример получает время работы системы и отображает его в окне сообщения.

Пример #1 Получить аптайм и отобразить его в окне сообщения

<?php
// Определение необходимых констант, полученных из
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Загрузка расширения
dl("php_w32api.dll");

// Регистрация функции GetTickCount из kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Регистрация функции MessageBoxA из User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Получение аптайма
$ticks = GetTickCount();

// Конвертация аптайма в удобочитаемый текст
$secs  = floor($ticks / 1000);
$mins  = floor($secs / 60);
$hours = floor($mins / 60);

$str = sprintf("Вы используете ваш компьютер уже:" .
                "\r\n %d милисекунд, или \r\n %d секунд" .
                "или \r\n %d минут или\r\n %d часов %d минут.",
                $ticks,
                $secs,
                $mins,
                $hours,
                $mins - ($hours*60));

// Отобразить окно сообщения только с кнопкой ОК и текстом аптайма
MessageBoxA(NULL,
            $str,
            "Аптайм",
            MB_OK);
?>
Примеры
W32api
Примеры


W32api
PHP Manual

W32api

Содержание

  • w32api_deftype — Defines a type for use with other w32api_functions
  • w32api_init_dtype — Creates an instance of the data type typename and fills it with the values passed
  • w32api_invoke_function — Invokes function funcname with the arguments passed after the function name
  • w32api_register_function — Registers function function_name from library with PHP
  • w32api_set_call_method — Sets the calling method used
Примеры w32api
w32api_deftype
W32api
PHP Manual


Defines a type for use with other w32api_functions

W32api
w32api_init_dtype
W32api
PHP Manual

w32api_deftype

(PHP 4 >= 4.2.0)

w32api_deftype — Defines a type for use with other w32api_functions

Описание

bool w32api_deftype ( string $typename , string $member1_type , string $member1_name [, string $... [, string $... ]] )

You need to call this function if you would like to define a type for a w32api call.

Список параметров

typename

The name of the type.

member1_type

A member type can be a user defined type. All the type names are case sensitive. Built in type names should be provided in lowercase.

member1_name

The member name of member1_type.

...

...

This function takes 2n+1 arguments, where n is the number of members the type has. After that is the type of the member followed by the members name (in pairs).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

W32api
w32api_init_dtype
W32api


Creates an instance of the data type typename and fills it with the values passed

w32api_deftype
w32api_invoke_function
W32api
PHP Manual

w32api_init_dtype

(PHP 4 >= 4.2.0)

w32api_init_dtype — Creates an instance of the data type typename and fills it with the values passed

Описание

resource w32api_init_dtype ( string $typename , mixed $value [, mixed $... ] )

This function creates an instance of the data type named typename, filling in the values of the data type.

Список параметров

typename

The typename parameter is case sensitive.

value

You should give the values in the same order as you defined the data type with w32api_deftype().

...

Возвращаемые значения

Returns a dynaparm resource.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

w32api_deftype
w32api_invoke_function
W32api


Invokes function funcname with the arguments passed after the function name

w32api_init_dtype
w32api_register_function
W32api
PHP Manual

w32api_invoke_function

(PHP 4 >= 4.2.0)

w32api_invoke_function — Invokes function funcname with the arguments passed after the function name

Описание

mixed w32api_invoke_function ( string $funcname , mixed $argument [, mixed $... ] )

w32api_invoke_function() tries to find the previously registered function, passing the parameters you provided.

Список параметров

funcname

The function name.

argument

Any of the arguments can be of any PHP type or w32api_deftype() defined type, as needed.

...

Возвращаемые значения

The return type is the one you set when you registered the function, the value is the one returned by the function itself.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

w32api_init_dtype
w32api_register_function
W32api


Registers function function_name from library with PHP

w32api_invoke_function
w32api_set_call_method
W32api
PHP Manual

w32api_register_function

(PHP 4 >= 4.2.0)

w32api_register_function — Registers function function_name from library with PHP

Описание

bool w32api_register_function ( string $library , string $function_name , string $return_type )

This function tries to find the function_name function in library, and tries to import it into PHP.

Список параметров

library

The library name, as a string.

function_name

The function name, as a string.

return_type

The function will be registered with the given return_type. This type can be a generic PHP type, or a type defined with w32api_deftype(). All type names are case sensitive. Built in type names should be provided in lowercase.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

w32api_invoke_function
w32api_set_call_method
W32api


Sets the calling method used

w32api_register_function
win32ps
W32api
PHP Manual

w32api_set_call_method

(PHP 4 >= 4.2.0)

w32api_set_call_method — Sets the calling method used

Описание

void w32api_set_call_method ( int $method )

This function sets the method call type.

Список параметров

method

Can be one of DC_CALL_CDECL or DC_CALL_STD (the extension default).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

w32api_register_function
win32ps
W32api


win32ps

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры Win32ps
  • win32ps Функции
    • win32_ps_list_procs — List running processes
    • win32_ps_stat_mem — Stat memory utilization
    • win32_ps_stat_proc — Stat process
w32api_set_call_method
Введение
Расширения только для Windows


Введение

Расширение win32ps является специфическим расширением для Windows, которое позволяет PHP получать статистику о процессе и использовании памяти.

win32ps
Установка и настройка
win32ps


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
win32ps


Требования

Windows NT, Windows 2000, Windows XP или Windows Server 2003. Любая версия Windows, производная от Windows NT, должна быть совместимой.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/win32ps.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
win32ps


Примеры

Содержание

  • Примеры Win32ps
Предопределенные константы
Примеры Win32ps
win32ps


Примеры Win32ps

Пример #1 Статистические данные о текущем процессе PHP

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

Пример #2 Статистические данные о глобальном использовании памяти

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

Примеры
win32ps Функции
Примеры


win32ps Функции

Содержание

  • win32_ps_list_procs — List running processes
  • win32_ps_stat_mem — Stat memory utilization
  • win32_ps_stat_proc — Stat process
Примеры Win32ps
win32_ps_list_procs
win32ps


List running processes

win32ps Функции
win32_ps_stat_mem
win32ps Функции
PHP Manual

win32_ps_list_procs

(PECL win32ps >= 1.0.1)

win32_ps_list_procs — List running processes

Описание

array win32_ps_list_procs ( void )

Retrieves statistics about all running processes.

Возвращаемые значения

Returns FALSE on failure, or an array consisting of process statistics like win32_ps_stat_proc() returns for all running processes on success.

Смотрите также

  • win32_ps_stat_proc() - Stat process

win32ps Функции
win32_ps_stat_mem
win32ps Функции


Stat memory utilization

win32_ps_list_procs
win32_ps_stat_proc
win32ps Функции
PHP Manual

win32_ps_stat_mem

(PECL win32ps >= 1.0.1)

win32_ps_stat_mem — Stat memory utilization

Описание

array win32_ps_stat_mem ( void )

Retrieves statistics about the global memory utilization.

Возвращаемые значения

Returns FALSE on failure, or an array consisting of the following information on success:

load

The current memory load in percent of physical memory.

unit

This is always 1024, and indicates that the following values are the count of 1024 bytes.

total_phys

The amount of total physical memory.

avail_phys

The amount of still available physical memory.

total_pagefile

The amount of total pageable memory (physical memory + paging file).

avail_pagefile

The amount of still available pageable memory (physical memory + paging file).

total_virtual

The amount of total virtual memory for a process.

avail_virtual

The amount of still available virtual memory for a process.

win32_ps_list_procs
win32_ps_stat_proc
win32ps Функции


Stat process

win32_ps_stat_mem
win32service
win32ps Функции
PHP Manual

win32_ps_stat_proc

(PECL win32ps >= 1.0.1)

win32_ps_stat_proc — Stat process

Описание

array win32_ps_stat_proc ([ int $pid = 0 ] )

Retrieves statistics about the process with the process id pid.

Список параметров

pid

The process id of the process to stat. If omitted, the id of the current process.

Возвращаемые значения

Returns FALSE on failure, or an array consisting of the following information on success:

pid

The process id.

exe

The path to the executable image.

mem

An array containing information about the following memory utilization indicators: page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage and peak_pagefile_usage.

tms

An array containing information about the following CPU time utilization indicators: created, kernel and user.

Смотрите также

  • win32_ps_list_procs() - List running processes

win32_ps_stat_mem
win32service
win32ps Функции


win32service

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Win32Service Service Type Bitmasks
    • Win32Service Service Status Constants
    • Win32Service Service Control Message Constants
    • Win32Service Service Control Message Accepted Bitmasks
    • Win32Service Service Start Type Constants
    • Win32Service Service Error Control Constants
    • Win32Service Service Flag Constants
    • Win32 Error Codes
    • Win32 Base Priority Classes
  • Примеры
  • win32service
    • win32_continue_service — Возобновляет работу приостановленной службы
    • win32_create_service — Creates a new service entry in the SCM database
    • win32_delete_service — Deletes a service entry from the SCM database
    • win32_get_last_control_message — Returns the last control message that was sent to this service
    • win32_pause_service — Pauses a service
    • win32_query_service_status — Queries the status of a service
    • win32_set_service_status — Update the service status
    • win32_start_service_ctrl_dispatcher — Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем
    • win32_start_service — Запускает службу
    • win32_stop_service — Останавливает службу
win32_ps_stat_proc
Введение
Расширения только для Windows


Введение

Расширение win32service - это специальное Windows-расширение, которое позволяет PHP взаимодействовать с диспетчером управления службами для запуска, остановки, добавления и удаления служб, и даже запускать ваши PHP скрипты как службы.

win32service
Установка и настройка
win32service


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
win32service


Требования

Windows NT, Windows 2000, Windows XP или Windows Server 2003. Любая версия Windows, начиная с Windows NT, совместима.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/win32service

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Содержание

  • Win32Service Service Type Bitmasks
  • Win32Service Service Status Constants
  • Win32Service Service Control Message Constants
  • Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Start Type Constants
  • Win32Service Service Error Control Constants
  • Win32Service Service Flag Constants
  • Win32 Error Codes
  • Win32 Base Priority Classes

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Типы ресурсов
Win32Service Service Type Bitmasks
win32service


Win32Service Service Type Bitmasks

Предопределенные константы
Win32Service Service Status Constants
Предопределенные константы
PHP Manual
Win32Service Service Type Bitmasks
Constant | Value | Description
WIN32_SERVICE_WIN32_OWN_PROCESS | 0x00000010 | The service runs in its own process.
WIN32_SERVICE_INTERACTIVE_PROCESS | 0x00000100 | The service can interact with the desktop. This option is not available on Windows Vista or later.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE | 0x00000110 | The service runs in its own process and can interact with the desktop. This option is not available on Windows Vista or later.
Предопределенные константы
Win32Service Service Status Constants
Предопределенные константы


Win32Service Service Status Constants

Win32Service Service Type Bitmasks
Win32Service Service Control Message Constants
Предопределенные константы
PHP Manual
Win32Service Service Status Constants
Constant | Value | Description
WIN32_SERVICE_CONTINUE_PENDING | 0x00000005 | The service continue is pending.
WIN32_SERVICE_PAUSE_PENDING | 0x00000006 | The service pause is pending.
WIN32_SERVICE_PAUSED | 0x00000007 | The service is paused.
WIN32_SERVICE_RUNNING | 0x00000004 | The service is running.
WIN32_SERVICE_START_PENDING | 0x00000002 | The service is starting.
WIN32_SERVICE_STOP_PENDING | 0x00000003 | The service is stopping.
WIN32_SERVICE_STOPPED | 0x00000001 | The service is not running.
Win32Service Service Type Bitmasks
Win32Service Service Control Message Constants
Предопределенные константы


Win32Service Service Control Message Constants

Win32Service Service Status Constants
Win32Service Service Control Message Accepted Bitmasks
Предопределенные константы
PHP Manual
Win32Service Service Control Message Constants
Constant | Value | Description
WIN32_SERVICE_CONTROL_CONTINUE | 0x00000003 | Notifies a paused service that it should resume.
WIN32_SERVICE_CONTROL_INTERROGATE | 0x00000004 | Notifies a service that it should report its current status information to the service control manager.
WIN32_SERVICE_CONTROL_PAUSE | 0x00000002 | Notifies a service that it should pause.
WIN32_SERVICE_CONTROL_PRESHUTDOWN | 0x0000000F | Notifies a service that the system will be shutting down. A service that handles this notification blocks system shutdown until the service stops or the preshutdown time-out interval expires. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_CONTROL_SHUTDOWN | 0x00000005 | Notifies a service that the system is shutting down so the service can perform cleanup tasks. If a service accepts this control code, it must stop after it performs its cleanup tasks. After the SCM sends this control code, it will not send other control codes to the service.
WIN32_SERVICE_CONTROL_STOP | 0x00000001 | Notifies a service that it should stop.
Win32Service Service Status Constants
Win32Service Service Control Message Accepted Bitmasks
Предопределенные константы


Win32Service Service Control Message Accepted Bitmasks

Win32Service Service Control Message Constants
Win32Service Service Start Type Constants
Предопределенные константы
PHP Manual
Win32Service Service Control Message Accepted Bitmasks
Constant | Value | Description
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE | 0x00000002 | The service can be paused and continued. This control code allows the service to receive WIN32_SERVICE_CONTROL_PAUSE and WIN32_SERVICE_CONTROL_CONTINUE notifications.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN | 0x00000100 | The service can perform preshutdown tasks. This control code enables the service to receive WIN32_SERVICE_CONTROL_PRESHUTDOWN notifications. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_ACCEPT_SHUTDOWN | 0x00000004 | The service is notified when system shutdown occurs. This control code allows the service to receive WIN32_SERVICE_CONTROL_SHUTDOWN notifications.
WIN32_SERVICE_ACCEPT_STOP | 0x00000001 | The service can be stopped. This control code allows the service to receive WIN32_SERVICE_CONTROL_STOP notifications.
Win32Service Service Control Message Constants
Win32Service Service Start Type Constants
Предопределенные константы


Win32Service Service Start Type Constants

Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Error Control Constants
Предопределенные константы
PHP Manual
Win32Service Service Start Type Constants
Constant | Value | Description
WIN32_SERVICE_AUTO_START | 0x00000002 | A service started automatically by the service control manager during system startup.
WIN32_SERVICE_DEMAND_START | 0x00000003 | A service started by the service control manager when a process calls the StartService function.
WIN32_SERVICE_DISABLED | 0x00000004 | A service that cannot be started. Attempts to start the service result in the error code WIN32_ERROR_SERVICE_DISABLED.
Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Error Control Constants
Предопределенные константы


Win32Service Service Error Control Constants

Win32Service Service Start Type Constants
Win32Service Service Flag Constants
Предопределенные константы
PHP Manual
Win32Service Service Error Control Constants
Constant | Value | Description
WIN32_SERVICE_ERROR_IGNORE | 0x00000000 | The startup program ignores the error and continues the startup operation.
WIN32_SERVICE_ERROR_NORMAL | 0x00000001 | The startup program logs the error in the event log but continues the startup operation.
Win32Service Service Start Type Constants
Win32Service Service Flag Constants
Предопределенные константы


Win32Service Service Flag Constants

Win32Service Service Error Control Constants
Win32 Error Codes
Предопределенные константы
PHP Manual
Win32Service Service Flag Constants
Constant | Value | Description
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS | 0x00000001 | The service runs in a system process that must always be running.
Win32Service Service Error Control Constants
Win32 Error Codes
Предопределенные константы


Win32 Error Codes

Win32Service Service Flag Constants
Win32 Base Priority Classes
Предопределенные константы
PHP Manual
Win32 Error Codes
Constant | Value | Description
WIN32_ERROR_ACCESS_DENIED | 0x00000005 | The handle to the SCM database does not have the appropriate access rights.
WIN32_ERROR_CIRCULAR_DEPENDENCY | 0x00000423 | A circular service dependency was specified.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST | 0x00000429 | The specified database does not exist.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING | 0x0000041B | The service cannot be stopped because other running services are dependent on it.
WIN32_ERROR_DUPLICATE_SERVICE_NAME | 0x00000436 | The display name already exists in the service control manager database either as a service name or as another display name.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT | 0x00000427 | This error is returned if the program is being run as a console application rather than as a service. If the program will be run as a console application for debugging purposes, structure it such that service-specific code is not called.
WIN32_ERROR_INSUFFICIENT_BUFFER | 0x0000007A | The buffer is too small for the service status structure. Nothing was written to the structure.
WIN32_ERROR_INVALID_DATA | 0x0000000D | The specified service status structure is invalid.
WIN32_ERROR_INVALID_HANDLE | 0x00000006 | The handle to the specified service control manager database is invalid.
WIN32_ERROR_INVALID_LEVEL | 0x0000007C | The InfoLevel parameter contains an unsupported value.
WIN32_ERROR_INVALID_NAME | 0x0000007B | The specified service name is invalid.
WIN32_ERROR_INVALID_PARAMETER | 0x00000057 | A parameter that was specified is invalid.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT | 0x00000421 | The user account name specified in the user parameter does not exist. See win32_create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL | 0x0000041C | The requested control code is not valid, or it is unacceptable to the service.
WIN32_ERROR_PATH_NOT_FOUND | 0x00000003 | The service binary file could not be found.
WIN32_ERROR_SERVICE_ALREADY_RUNNING | 0x00000420 | An instance of the service is already running.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL | 0x00000425 | The requested control code cannot be sent to the service because the state of the service is WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING, or WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED | 0x0000041F | The database is locked.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED | 0x00000433 | The service depends on a service that does not exist or has been marked for deletion.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL | 0x0000042C | The service depends on another service that has failed to start.
WIN32_ERROR_SERVICE_DISABLED | 0x00000422 | The service has been disabled.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST | 0x00000424 | The specified service does not exist as an installed service.
WIN32_ERROR_SERVICE_EXISTS | 0x00000431 | The specified service already exists in this database.
WIN32_ERROR_SERVICE_LOGON_FAILED | 0x0000042D | The service did not start due to a logon failure. This error occurs if the service is configured to run under an account that does not have the "Log on as a service" right.
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE | 0x00000430 | The specified service has already been marked for deletion.
WIN32_ERROR_SERVICE_NO_THREAD | 0x0000041E | A thread could not be created for the service.
WIN32_ERROR_SERVICE_NOT_ACTIVE | 0x00000426 | The service has not been started.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT | 0x0000041D | The process for the service was started, but it did not call StartServiceCtrlDispatcher, or the thread that called StartServiceCtrlDispatcher may be blocked in a control handler function.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS | 0x0000045B | The system is shutting down; this function cannot be called.
WIN32_NO_ERROR | 0x00000000 | No error.
Win32Service Service Flag Constants
Win32 Base Priority Classes
Предопределенные константы


Win32 Base Priority Classes

Win32 Error Codes
Примеры
Предопределенные константы
PHP Manual
Win32 Base Priority Classes
Constant | Value | Description
WIN32_ABOVE_NORMAL_PRIORITY_CLASS | 0x00008000 | Process that has priority above WIN32_NORMAL_PRIORITY_CLASS but below WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS | 0x00004000 | Process that has priority above WIN32_IDLE_PRIORITY_CLASS but below WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS | 0x00000080 | Process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
WIN32_IDLE_PRIORITY_CLASS | 0x00000040 | Process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
WIN32_NORMAL_PRIORITY_CLASS | 0x00000020 | Process with no special scheduling needs.
WIN32_REALTIME_PRIORITY_CLASS | 0x00000100 | Process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Win32 Error Codes
Примеры
Предопределенные константы


Примеры

Пример #1 Registering a PHP script to run as a service

<?php
win32_create_service(array(
    'service'     => 'dummyphp',                                           # the name of your service
    'display'     => 'sample dummy PHP service',                           # short description
    'description' => 'This is a dummy Windows service created using PHP.', # long description
    'params'      => '"' . __FILE__ . '"  run',                            # path to the script and parameters
));
?>

Пример #2 Unregistering a service

<?php
win32_delete_service('dummyphp');
?>

Пример #3 Running as a service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # do your work here.
    # try not to take up more than 30 seconds before going around the loop
    # again
  }
}
?>

Win32 Base Priority Classes
win32service
win32service


win32service
PHP Manual

win32service

Содержание

  • win32_continue_service — Возобновляет работу приостановленной службы
  • win32_create_service — Creates a new service entry in the SCM database
  • win32_delete_service — Deletes a service entry from the SCM database
  • win32_get_last_control_message — Returns the last control message that was sent to this service
  • win32_pause_service — Pauses a service
  • win32_query_service_status — Queries the status of a service
  • win32_set_service_status — Update the service status
  • win32_start_service_ctrl_dispatcher — Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем
  • win32_start_service — Запускает службу
  • win32_stop_service — Останавливает службу
Примеры
win32_continue_service
win32service
PHP Manual


Возобновляет работу приостановленной службы

win32service
win32_create_service
win32service
PHP Manual

win32_continue_service

(PECL win32service SVN)

win32_continue_service — Возобновляет работу приостановленной службы

Описание

int win32_continue_service ( string $servicename [, string $machine ] )

Возобновляет работу обозначенной приостановленной службы. Требует административных привилегий.

Список параметров

servicename

Короткое название службы.

machine

Необязательное имя машины. Если не указано, используется на локальной машине.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Смотрите также

  • win32_start_service() - Запускает службу
  • Коды Ошибок Win32

win32service
win32_create_service
win32service


Creates a new service entry in the SCM database

win32_continue_service
win32_delete_service
win32service
PHP Manual

win32_create_service

(PECL win32service SVN)

win32_create_service — Creates a new service entry in the SCM database

Описание

mixed win32_create_service ( array $details [, string $machine ] )

Список параметров

details

An array of service details:

service

The short name of the service. This is the name that you will use to control the service using the net command. The service must be unique (no two services can share the same name), and, ideally, should avoid having spaces in the name.

display

The display name of the service. This is the name that you will see in the Services Applet.

description

The long description of the service. This is the description that you will see in the Services Applet.

user

The name of the user account under which you want the service to run. If omitted, the service will run as the LocalSystem account. If the username is specified, you must also provide a password.

password

The password that corresponds to the user.

path

The full path to the executable module that will be launched when the service is started. If omitted, the path to the current PHP process will be used.

params

Command line parameters to pass to the service when it starts. If you want to run a PHP script as the service, then the first parameter should be the full path to the PHP script that you intend to run. If the script name or path contains spaces, then wrap the full path to the PHP script with ".

load_order

Controls the load_order. This is not yet fully supported.

svc_type

Sets the service type. If omitted, the default value is WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.

start_type

Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START which means the service will be launched when the machine starts up.

error_control

Informs the SCM what it should do when it detects a problem with the service. The default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.

delayed_start

If delayed_start is set to TRUE, then this will inform the SCM that this service should be started after other auto-start services are started plus a short delay.

Any service can be marked as a delayed auto-start service; however, this setting has no effect unless the service's start_type is WIN32_SERVICE_AUTO_START.

This setting is only applicable on Windows Vista and Windows Server 2008 or greater.

base_priority

To reduce the impact on processor utilisation, it may be necessary to set a base priority lower than normal.

The base_priority can be set to one of the constants define in Win32 Base Priority Classes.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Примеры

Пример #1 A win32_create_service() example

Create a service with the short name 'dummyphp'.

<?php
$x = win32_create_service(array(
    'service'     => 'dummyphp',                                           # the name of your service
    'display'     => 'sample dummy PHP service',                           # short description
    'description' => 'This is a dummy Windows service created using PHP.', # long description
    'params'      => '"' . __FILE__ . '"  run',                            # path to the script and parameters
));
debug_zval_dump($x);
?>

Смотрите также

  • win32_delete_service() - Deletes a service entry from the SCM database
  • Win32 Base Priority Classes
  • Win32 Error Codes

win32_continue_service
win32_delete_service
win32service


Deletes a service entry from the SCM database

win32_create_service
win32_get_last_control_message
win32service
PHP Manual

win32_delete_service

(PECL win32service SVN)

win32_delete_service — Deletes a service entry from the SCM database

Описание

mixed win32_delete_service ( string $servicename [, string $machine ] )

Attempts to delete a service from the SCM database. Administrative privileges are required for this to succeed.

This function really just marks the service for deletion. If other processes (such as the Services Applet) are open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion, further attempts to delete it will fail, and attempts to create a new service with that name will also fail.

Список параметров

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Примеры

Пример #1 A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

Смотрите также

  • win32_create_service() - Creates a new service entry in the SCM database
  • Win32 Error Codes

win32_create_service
win32_get_last_control_message
win32service


Returns the last control message that was sent to this service

win32_delete_service
win32_pause_service
win32service
PHP Manual

win32_get_last_control_message

(PECL win32service SVN)

win32_get_last_control_message — Returns the last control message that was sent to this service

Описание

int win32_get_last_control_message ( void )

Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.

Возвращаемые значения

Returns a control constant which will be one of the Win32Service Service Control Message Constants: WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.

Смотрите также

  • win32_start_service_ctrl_dispatcher() - Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем
  • Win32Service Service Control Message Constants

win32_delete_service
win32_pause_service
win32service


Pauses a service

win32_get_last_control_message
win32_query_service_status
win32service
PHP Manual

win32_pause_service

(PECL win32service SVN)

win32_pause_service — Pauses a service

Описание

int win32_pause_service ( string $servicename [, string $machine ] )

Pauses a named service. Requires administrative privileges.

Список параметров

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Смотрите также

  • win32_start_service() - Запускает службу
  • Win32 Error Codes

win32_get_last_control_message
win32_query_service_status
win32service


Queries the status of a service

win32_pause_service
win32_set_service_status
win32service
PHP Manual

win32_query_service_status

(PECL win32service SVN)

win32_query_service_status — Queries the status of a service

Описание

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Queries the current status for a service, returning an array of information.

Список параметров

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Возвращаемые значения

Returns an array consisting of the following information on success, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

ServiceType

The dwServiceType. See Win32Service Service Type Bitmasks.

CurrentState

The dwCurrentState. See Win32Service Service Status Constants.

ControlsAccepted

Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags. See Win32Service Service Service Flag Constants.

Смотрите также

  • Win32Service Predefined Constants

win32_pause_service
win32_set_service_status
win32service


Update the service status

win32_query_service_status
win32_start_service_ctrl_dispatcher
win32service
PHP Manual

win32_set_service_status

(PECL win32service SVN)

win32_set_service_status — Update the service status

Описание

bool win32_set_service_status ( int $status [, int $checkpoint = 0 ] )

Informs the SCM of the current status of a running service. This call is only valid for a running service process.

Список параметров

status

The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

checkpoint

The checkpoint value the service increments periodically to report its progress during a lengthy start, stop, pause, or continue operation. For example, the service should increment this value as it completes each step of its initialization when it is starting up.

The checkpoint is only valid when the status is one of WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING or WIN32_SERVICE_PAUSE_PENDING.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Смотрите также

  • win32_start_service_ctrl_dispatcher() - Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем
  • Win32Service Service Status Constants

win32_query_service_status
win32_start_service_ctrl_dispatcher
win32service


Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем

win32_set_service_status
win32_start_service
win32service
PHP Manual

win32_start_service_ctrl_dispatcher

(PECL win32service SVN)

win32_start_service_ctrl_dispatcher — Добавляет в Диспетчер Служб скрипт, который может быть использован как служба с заданным именем

Описание

mixed win32_start_service_ctrl_dispatcher ( string $name )

При запуске с помощью диспетчера служб, процессу службы необходимо сверяться с ним для мониторинга службы и связи с ней. Эта функция выполняет сверку посредством создания потока для обработки низкоуровневой связи с диспетчером служб.

После запуска процесс службы должен осуществить два действия. Первое - сообщить диспетчеру служб, что служба запущена. Это осуществляется путем вызова win32_set_service_status() с константой WIN32_SERVICE_RUNNING. Если вам необходимо выполнить некий длительный процесс перед запуском службы, то вы можете использовать константу WIN32_SERVICE_START_PENDING. Второе - продолжить сверку с диспетчером служб, чтобы определить необходимость отключения. Это осуществляется посредством периодического вызова win32_get_last_control_message() и обработки кода возврата соответствующим образом.

Список параметров

name

Короткое имя службы, как при добавлении с помощью win32_create_service().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Примеры

Пример #1 Пример win32_start_service_ctrl_dispatcher()

Проверьте, запущен ли сервис в диспетчере служб.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {

  die("Я, вероятно, не запущен в диспетчере служб");
}

win32_set_service_status(WIN32_SERVICE_START_PENDING);

// Некий длительный процесс для обработки и запуска службы.

win32_set_service_status(WIN32_SERVICE_RUNNING);

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # здесь производятся какие-то действия, не занимающие больше чем 30 секунд
  # перед соответствующим переходом в цикл.
}
?>

Смотрите также

  • win32_set_service_status() - Update the service status
  • win32_get_last_control_message() - Returns the last control message that was sent to this service
  • Коды Ошибок Win32

win32_set_service_status
win32_start_service
win32service


Запускает службу

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service
PHP Manual

win32_start_service

(PECL win32service SVN)

win32_start_service — Запускает службу

Описание

int win32_start_service ( string $servicename [, string $machine ] )

Производит попытку запуска обозначенной службы. Обычно требует административных привилегий.

Список параметров

servicename

Короткое название службы.

machine

Необязательное имя машины. Если не указано, используется на локальной машине.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Смотрите также

  • win32_stop_service() - Останавливает службу
  • Коды Ошибок Win32

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service


Останавливает службу

win32_start_service
Обработка XML
win32service
PHP Manual

win32_stop_service

(PECL win32service SVN)

win32_stop_service — Останавливает службу

Описание

int win32_stop_service ( string $servicename [, string $machine ] )

Останавливает обозначенную службу. Требует административных привилегий.

Список параметров

servicename

Короткое название службы.

machine

Необязательное имя машины. Если не указано, используется на локальной машине.

Возвращаемые значения

Возвращает WIN32_NO_ERROR в случае успешного завершения, FALSE если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

Смотрите также

  • win32_start_service() - Запускает службу
  • Коды Ошибок Win32

win32_start_service
Обработка XML
win32service


Обработка XML

  • DOM — Document Object Model
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DOMAttr — Класс DOMAttr
    • DOMCdataSection — Класс DOMCdataSection
    • DOMCharacterData — Класс DOMCharacterData
    • DOMComment — Класс DOMComment
    • DOMDocument — Класс DOMDocument
    • DOMDocumentFragment — Класс DOMDocumentFragment
    • DOMDocumentType — Класс DOMDocumentType
    • DOMElement — Класс DOMElement
    • DOMEntity — Класс DOMEntity
    • DOMEntityReference — Класс DOMEntityReference
    • DOMException — Класс DOMException
    • DOMImplementation — Класс DOMImplementation
    • DOMNamedNodeMap — Класс DOMNamedNodeMap
    • DOMNode — Класс DOMNode
    • DOMNodeList — Класс DOMNodeList
    • DOMNotation — Класс DOMNotation
    • DOMProcessingInstruction — Класс DOMProcessingInstruction
    • DOMText — The DOMText class
    • DOMXPath — Класс DOMXPath
    • DOM Функции
  • DOM XML (PHP 4)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DOM XML (PHP 4) Функции
  • libxml
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • libXMLError — Класс libXMLError
    • libxml Функции
  • qtdom
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • qtdom
  • SDO — Service Data Objects
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Limitations
    • Примеры
    • SDO Функции
  • SDO-DAS-Relational — SDO Relational Data Access Service
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Limitations
    • SDO-DAS-Relational Функции
  • SDO DAS XML — SDO XML Data Access Service
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SDO DAS XML Функции
  • SimpleXML
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SimpleXMLElement — Класс SimpleXMLElement
    • SimpleXML
  • WDDX
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • WDDX Функции
  • XML-анализатор
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Event Handlers
    • Приведение к одному регистру
    • Коды ошибок
    • Character Encoding
    • Примеры
    • Функции парсера XML
  • XMLReader
    • Введение
    • Установка и настройка
    • XMLReader — Класс XMLReader
  • XMLWriter
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • XMLWriter
  • XSL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • XSLTProcessor — Класс XSLTProcessor
  • XSLT (PHP 4)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • XSLT (PHP 4) Функции
win32_stop_service
DOM
Справочник функций


Document Object Model

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • DOMAttr — Класс DOMAttr
    • DOMAttr::__construct — Создает экземпляр класса DOMAttr
    • DOMAttr::isId — Проверяет, является ли атрибут описанным в DTD ID
  • DOMCdataSection — Класс DOMCdataSection
    • DOMCdataSection::__construct — Создает новый экземпляр класса DOMCdataSection
  • DOMCharacterData — Класс DOMCharacterData
    • DOMCharacterData::appendData — Добавляет строку в конец символьных данных узла
    • DOMCharacterData::deleteData — Удаление диапазона символов из узла
    • DOMCharacterData::insertData — Вставляет строку после заданного отступа из 16-битных блоков
    • DOMCharacterData::replaceData — Заменяет подстроку в узле типа DOMCharacterData
    • DOMCharacterData::substringData — Извлекает определенный диапазон данных из узла
  • DOMComment — Класс DOMComment
    • DOMComment::__construct — Создает новый экземпляр класса DOMComment
  • DOMDocument — Класс DOMDocument
    • DOMDocument::__construct — Создание нового DOMDocument объекта
    • DOMDocument::createAttribute — Создает новый атрибут
    • DOMDocument::createAttributeNS — Создает новый узел-атрибут с соответствующим ему пространством имен
    • DOMDocument::createCDATASection — Создает новый cdata узел
    • DOMDocument::createComment — Создает новый узел-комментарий
    • DOMDocument::createDocumentFragment — Создание фрагмента докуента
    • DOMDocument::createElement — Создает новый узел-элемент
    • DOMDocument::createElementNS — Создание нового узла-элемента с соответствующим пространством имен
    • DOMDocument::createEntityReference — Создание нового узла-ссылки на сущность
    • DOMDocument::createProcessingInstruction — Создает новый PI-узел
    • DOMDocument::createTextNode — Создает новый текстовый узел
    • DOMDocument::getElementById — Ищет элемент с заданным id
    • DOMDocument::getElementsByTagName — Ищет все элементы с заданным именем
    • DOMDocument::getElementsByTagNameNS — Ищет элементы с заданным именем в определенном пространстве имен
    • DOMDocument::importNode — Импорт узла в текущий документ
    • DOMDocument::load — Загрузка XML из файла
    • DOMDocument::loadHTML — Загрузка HTML из строки
    • DOMDocument::loadHTMLFile — Загрузка HTML из файла
    • DOMDocument::loadXML — Загрузка XML из строки
    • DOMDocument::normalizeDocument — Нормализует документ
    • DOMDocument::registerNodeClass — Регистрация расширенного класса, используемого для создания базового типа узлов
    • DOMDocument::relaxNGValidate — Производит проверку документа на правильность построения посредством relaxNG
    • DOMDocument::relaxNGValidateSource — Проверяет документ посредством relaxNG
    • DOMDocument::save — Сохраняет XML дерево из внутреннего представления в файл
    • DOMDocument::saveHTML — Сохраняет документ из внутреннего представления в строку, используя HTML форматирование
    • DOMDocument::saveHTMLFile — Сохраняет документ из внутреннего представления в файл, используя HTML форматирование
    • DOMDocument::saveXML — Сохраняет XML дерево из внутреннего представления в виде строки
    • DOMDocument::schemaValidate — Проверяет действительности документа, основываясь на заданной схеме
    • DOMDocument::schemaValidateSource — Проверяет действительность документа, основываясь на схеме
    • DOMDocument::validate — Проверяет документ на соответствие его DTD
    • DOMDocument::xinclude — Проводит вставку XInclude разделов в объектах DOMDocument
  • DOMDocumentFragment — Класс DOMDocumentFragment
    • DOMDocumentFragment::appendXML — Добавление необработанных XML данных
  • DOMDocumentType — Класс DOMDocumentType
  • DOMElement — Класс DOMElement
    • DOMElement::__construct — Создание нового объекта класса DOMElement
    • DOMElement::getAttribute — Возвращает значение атрибута
    • DOMElement::getAttributeNode — Возвращает узел атрибута
    • DOMElement::getAttributeNodeNS — Возвращает узел атрибута
    • DOMElement::getAttributeNS — Возвращает значение атрибута
    • DOMElement::getElementsByTagName — Возвращает элементы по имени тэга
    • DOMElement::getElementsByTagNameNS — Получение элементов по локальному имени в заданном пространстве имен
    • DOMElement::hasAttribute — Проверяет наличие атрибута
    • DOMElement::hasAttributeNS — Проверяет, существует ли заданный атрибут
    • DOMElement::removeAttribute — Удаляет атрибут
    • DOMElement::removeAttributeNode — Удаляет атрибут
    • DOMElement::removeAttributeNS — Удаляет атрибут
    • DOMElement::setAttribute — Устанавливает значение атрибута
    • DOMElement::setAttributeNode — Добавляет новый узел атрибута к элементу
    • DOMElement::setAttributeNodeNS — Добавляет новый атрибут к элементу
    • DOMElement::setAttributeNS — Добавляет новый атрибут
    • DOMElement::setIdAttribute — Объявляет атрибут с заданным именем ключевым атрибутом
    • DOMElement::setIdAttributeNode — Объявляет заданный узал атрибута ключевым
    • DOMElement::setIdAttributeNS — Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим
  • DOMEntity — Класс DOMEntity
  • DOMEntityReference — Класс DOMEntityReference
    • DOMEntityReference::__construct — Создает новый объект класса DOMEntityReference
  • DOMException — Класс DOMException
  • DOMImplementation — Класс DOMImplementation
    • DOMImplementation::__construct — Создает новый объект класса DOMImplementation
    • DOMImplementation::createDocument — Создает объект класса DOMDocument заданного типа с элементом document
    • DOMImplementation::createDocumentType — Создает пустой объект класса DOMDocumentType
    • DOMImplementation::hasFeature — Тестирует реализацию специфичных возможностей объекта DOMImplementation
  • DOMNamedNodeMap — Класс DOMNamedNodeMap
    • DOMNamedNodeMap::getNamedItem — Извлекает узел с заданным именем
    • DOMNamedNodeMap::getNamedItemNS — Извлекает узел с заданным локальным именем и URI пространства имен
    • DOMNamedNodeMap::item — Извлекает узел с заданным индексом
  • DOMNode — Класс DOMNode
    • DOMNode::appendChild — Добавляет новый дочерний узел в конец списка потомков
    • DOMNode::cloneNode — Клонирует узел
    • DOMNode::getLineNo — Возвращает номер строки узла
    • DOMNode::getNodePath — Get an XPath for a node
    • DOMNode::hasAttributes — Проверяет, содержит ли данный узел атрибуты
    • DOMNode::hasChildNodes — Проверяет, содержит ли данный узел потомков
    • DOMNode::insertBefore — Добавляет новый дочерний узел перед опорным узлом
    • DOMNode::isDefaultNamespace — Проверяет, совпадает ли URI пространства имен узла с пространством имен по умолчанию
    • DOMNode::isSameNode — Проверяет, являются ли два узла одним и тем же узлом
    • DOMNode::isSupported — Проверяет, поддерживается ли заданное свойство в определенной версии
    • DOMNode::lookupNamespaceURI — Получает URI пространства имен узла по префиксу
    • DOMNode::lookupPrefix — Возвращает префикс пространства имен узла из URI пространства имен
    • DOMNode::normalize — Нормализует узел
    • DOMNode::removeChild — Удаляет дочерний узел из списка потомков
    • DOMNode::replaceChild — Заменяет дочерний узел
  • DOMNodeList — Класс DOMNodeList
    • DOMNodelist::item — Извлекает узел с заданным индексом
  • DOMNotation — Класс DOMNotation
  • DOMProcessingInstruction — Класс DOMProcessingInstruction
    • DOMProcessingInstruction::__construct — Создает новый объект классаDOMProcessingInstruction
  • DOMText — The DOMText class
    • DOMText::__construct — Создает объект класса DOMText
    • DOMText::isWhitespaceInElementContent — Определяет, содержит ли текстовый узел пробел в содержимом
    • DOMText::splitText — Разделяет узел на два, начиная с заданной позиции
  • DOMXPath — Класс DOMXPath
    • DOMXPath::__construct — Создает новый объект класса DOMXPath
    • DOMXPath::evaluate — Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно
    • DOMXPath::query — Выполняет заданное XPath выражение
    • DOMXPath::registerNamespace — Ассоциирует пространство имен с объектом DOMXPath
    • DOMXPath::registerPhpFunctions — Регистрация функций PHP как XPath функций
  • DOM Функции
    • dom_import_simplexml — Получает объект класса DOMElement из объекта класса SimpleXMLElement
Обработка XML
Введение
Обработка XML


Введение

Расширение DOM позволяет вам работать с XML-документами через DOM API с PHP 5.

Для PHP 4 используйте DOM XML.

Замечание:

Расширение DOM использует кодировку UTF-8. Используйте функции utf8_encode ()() и utf8_decode ()() для работы с текстами в кодировке ISO-8859-1 или функцию Iconv для других кодировок.

DOM
Установка и настройка
DOM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DOM


Установка

Это расширение включено по умолчанию. Оно может быть отключено во время выполнения с помощью следующей опции: --disable-dom

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XML констаты
Констата | Значение | Описание
XML_ELEMENT_NODE (integer) | 1 | Узел класса DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Узел класса DOMAttr
XML_TEXT_NODE (integer) | 3 | Узел класса DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Узел класса DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Узел класса DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Узел класса DOMEntity
XML_PI_NODE (integer) | 7 | Узел класса DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Узел класса DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Узел класса DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Узел класса DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Узел класса DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Узел класса DOMNotation
XML_HTML_DOCUMENT_NODE (integer) | 13 |
XML_DTD_NODE (integer) | 14 |
XML_ELEMENT_DECL_NODE (integer) | 15 |
XML_ATTRIBUTE_DECL_NODE (integer) | 16 |
XML_ENTITY_DECL_NODE (integer) | 17 |
XML_NAMESPACE_DECL_NODE (integer) | 18 |
XML_ATTRIBUTE_CDATA (integer) | 1 |
XML_ATTRIBUTE_ID (integer) | 2 |
XML_ATTRIBUTE_IDREF (integer) | 3 |
XML_ATTRIBUTE_IDREFS (integer) | 4 |
XML_ATTRIBUTE_ENTITY (integer) | 5 |
XML_ATTRIBUTE_NMTOKEN (integer) | 7 |
XML_ATTRIBUTE_NMTOKENS (integer) | 8 |
XML_ATTRIBUTE_ENUMERATION (integer) | 9 |
XML_ATTRIBUTE_NOTATION (integer) | 10 |
Константы DOMException
Констата | Значение | Описание
DOM_PHP_ERR (integer) | 0 | Эта ошибка не является частью спецификации DOM. Предназначена для обработки ошибок PHP.
DOM_INDEX_SIZE_ERR (integer) | 1 | Если индекс отрицательный или выходит за пределы возможных значений.
DOMSTRING_SIZE_ERR (integer) | 2 | Если указанный фрагмент текста не помещается в DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | Если невозможно вставить узел
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | Если узел используется в другом документе в котором был создан.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | Если указан недопустимый символ в названии.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | Если данные, указанные для узла, не поддерживаются.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | Если происходит попытка изменить объект, который не поддерживает изменения.
DOM_NOT_FOUND_ERR (integer) | 8 | Если пытаться изменить контекст узла, которого не существует
DOM_NOT_SUPPORTED_ERR (integer) | 9 | Если не поддерживается требуемый тип объекта или операции.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | Если пытаться добавить атрибут, который используется в другом месте.
DOM_INVALID_STATE_ERR (integer) | 11 | Если пытаться использовать объект, которого нет или не возможно использовать.
DOM_SYNTAX_ERR (integer) | 12 | Используются недопустимые символы.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | Если пытаться изменить тип базовому объекту.
DOM_NAMESPACE_ERR (integer) | 14 | Если пытаться создать или изменить объект с некорректным пространством имён.
DOM_INVALID_ACCESS_ERR (integer) | 15 | Если параметр или операция не поддерживается базовым объектом.
DOM_VALIDATION_ERR (integer) | 16 | Если при вызове методов insertBefore или removeChild узел становиться недействительным, то срабтает это исключение и операция не будет выполнена.
Типы ресурсов
DOMAttr
DOM


Класс DOMAttr

(PHP 5)

Введение

DOMAttr предоставляет работу с атрибутами в объекте DOMElement.

Обзор классов

DOMAttr extends DOMNode {
/* Свойства */
public readonly string $DOMAttr->name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Методы */
DOMAttr::__construct ( string $name [, string $value ] )
bool DOMAttr::isId ( void )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

name

Имя атрибута

ownerElement

Элемент, который содержит атрибут

schemaTypeInfo

В данный момент не реализованно, возвращает NULL

specified

В данный момент не реализованно, возвращает NULL

value

Значение атрибута

Смотрите также

  • » спецификация W3C элемента Attr

Содержание

  • DOMAttr::__construct — Создает экземпляр класса DOMAttr
  • DOMAttr::isId — Проверяет, является ли атрибут описанным в DTD ID
Предопределенные константы
DOMAttr::__construct
DOM


Создает экземпляр класса DOMAttr

DOMAttr
DOMAttr::isId
DOMAttr
PHP Manual

DOMAttr::__construct

(PHP 5)

DOMAttr::__construct — Создает экземпляр класса DOMAttr

Описание

DOMAttr::__construct ( string $name [, string $value ] )

Создает новый объект класса DOMAttr. Объект будет доступен только для чтения. Он может быть добавлен к документу, другие узлы нельзя добавить к этому объекту, пока он присоединен к документу. Для создания узла с возможностью модификации используйте DOMDocument::createAttribute.

Список параметров

name

Имя (тэг) атрибута.

value

Значение атрибута.

Примеры

Пример #1 Создание нового объекта класса DOMAttr

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<root attr="attrvalue" />

Смотрите также

  • DOMDocument::createAttribute() - Создает новый атрибут

DOMAttr
DOMAttr::isId
DOMAttr


Проверяет, является ли атрибут описанным в DTD ID

DOMAttr::__construct
DOMCdataSection
DOMAttr
PHP Manual

DOMAttr::isId

(PHP 5)

DOMAttr::isId — Проверяет, является ли атрибут описанным в DTD ID

Описание

bool DOMAttr::isId ( void )

Эта функция проверяет, является ли атрибут ID, описанным в DTD.

В соответствии со стандартом DOM это требует наличия DTD, которая предписывает ID атрибуту иметь соответствующий ID тип. Перед применением этой функции необходимо проверять документ на действительность с помощью DOMDocument::validate или DOMDocument::validateOnParse.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DOMAttr->isId()

<?php

$doc = new DomDocument;

// Необходимо проверить документ на действительность перед тем как ссылаться на id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// Достаем атрибут с именем id из элемента chapter
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

DOMAttr::__construct
DOMCdataSection
DOMAttr


Класс DOMCdataSection

(PHP 5)

Введение

Класс DOMCdataSection наследуется от DOMText текстового представления CData структур.

Обзор классов

DOMCdataSection extends DOMText {
/* Методы */
public __construct ( string $value )
/* Наследуемые методы */
bool DOMText::isWhitespaceInElementContent ( void )
DOMText DOMText::splitText ( int $offset )
}

Содержание

  • DOMCdataSection::__construct — Создает новый экземпляр класса DOMCdataSection
DOMAttr::isId
DOMCdataSection::__construct
DOM


Создает новый экземпляр класса DOMCdataSection

DOMCdataSection
DOMCharacterData
DOMCdataSection
PHP Manual

DOMCdataSection::__construct

(PHP 5)

DOMCdataSection::__construct — Создает новый экземпляр класса DOMCdataSection

Описание

public DOMCdataSection::__construct() ( string $value )

Создает новый CDATA узел. Работает так же, как класс DOMText.

Список параметров

value

Значение CDATA узла. Если переданное значение не поддерживается, будет создан пустой CDATA узел.

Примеры

Пример #1 Создание объекта класса DOMCdataSection

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMCdataSection('root value'));
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[root value]]></root>

Смотрите также

  • DOMText::__construct() - Создает объект класса DOMText
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMCdataSection
DOMCharacterData
DOMCdataSection


Класс DOMCharacterData

(PHP 5)

Введение

Представляет узлы с символьными данными. Нельзя создать узел из этого класса напрямую, узлы создаются из наследуемых от него классов.

Обзор классов

DOMCharacterData extends DOMNode {
/* Свойства */
public string $DOMCharacterData->data ;
readonly public int $length ;
/* Методы */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

data

Содержимое узла.

length

Длина строки содержащейся в узле.

Смотрите также

  • » W3C спецификация символьных данных

Содержание

  • DOMCharacterData::appendData — Добавляет строку в конец символьных данных узла
  • DOMCharacterData::deleteData — Удаление диапазона символов из узла
  • DOMCharacterData::insertData — Вставляет строку после заданного отступа из 16-битных блоков
  • DOMCharacterData::replaceData — Заменяет подстроку в узле типа DOMCharacterData
  • DOMCharacterData::substringData — Извлекает определенный диапазон данных из узла
DOMCdataSection::__construct
DOMCharacterData::appendData
DOM


Добавляет строку в конец символьных данных узла

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData
PHP Manual

DOMCharacterData::appendData

(PHP 5)

DOMCharacterData::appendData — Добавляет строку в конец символьных данных узла

Описание

void DOMCharacterData::appendData ( string $data )

Добавляет строку data в конец символьных данных узла.

Список параметров

data

Добавляемая строка.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • DOMCharacterData::deleteData() - Удаление диапазона символов из узла
  • DOMCharacterData::insertData() - Вставляет строку после заданного отступа из 16-битных блоков
  • DOMCharacterData::replaceData() - Заменяет подстроку в узле типа DOMCharacterData
  • DOMCharacterData::substringData() - Извлекает определенный диапазон данных из узла

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData


Удаление диапазона символов из узла

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData
PHP Manual

DOMCharacterData::deleteData

(PHP 5)

DOMCharacterData::deleteData — Удаление диапазона символов из узла

Описание

void DOMCharacterData::deleteData ( int $offset , int $count )

Удаляет count символов, начиная с позиции offset.

Список параметров

offset

Позиция, с которой будут удаляться символы.

count

Количество удаляемых символов. Если offset и count в сумме окажется больше значения длины строки данных узла, будут удалены все символы до конца данных.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_INDEX_SIZE_ERR

Возникает, если offset меньше нуля или больше количества 16-битных блоков в области данных, либо если count имеет отрицательное значение.

Смотрите также

  • DOMCharacterData::appendData() - Добавляет строку в конец символьных данных узла
  • DOMCharacterData::insertData() - Вставляет строку после заданного отступа из 16-битных блоков
  • DOMCharacterData::replaceData() - Заменяет подстроку в узле типа DOMCharacterData
  • DOMCharacterData::substringData() - Извлекает определенный диапазон данных из узла

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData


Вставляет строку после заданного отступа из 16-битных блоков

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData
PHP Manual

DOMCharacterData::insertData

(PHP 5)

DOMCharacterData::insertData — Вставляет строку после заданного отступа из 16-битных блоков

Описание

void DOMCharacterData::insertData ( int $offset , string $data )

Вставляет строку data в позицию offset.

Список параметров

offset

Отступ в символах, начиная с которого будет вставлена строка.

data

Вставляемая строка.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_INDEX_SIZE_ERR

Возникает, если offset меньше нуля или больше количества 16-битных блоков в данных.

Смотрите также

  • DOMCharacterData::appendData() - Добавляет строку в конец символьных данных узла
  • DOMCharacterData::deleteData() - Удаление диапазона символов из узла
  • DOMCharacterData::replaceData() - Заменяет подстроку в узле типа DOMCharacterData
  • DOMCharacterData::substringData() - Извлекает определенный диапазон данных из узла

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData


Заменяет подстроку в узле типа DOMCharacterData

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData
PHP Manual

DOMCharacterData::replaceData

(PHP 5)

DOMCharacterData::replaceData — Заменяет подстроку в узле типа DOMCharacterData

Описание

void DOMCharacterData::replaceData ( int $offset , int $count , string $data )

Заменяет count символов, начиная с позиции offset, на строку data.

Список параметров

offset

Позиция, с которой начинается замена.

count

Количество символов для замены. Если offset и count в сумме превышают длину строки данных, будут заменены все символы до конца данных.

data

Строка, на которую будет производиться замена.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_INDEX_SIZE_ERR

Возникает, если offset меньше нуля или больше количества 16-битных блоков в области данных, либо если count имеет отрицательное значение.

Смотрите также

  • DOMCharacterData::appendData() - Добавляет строку в конец символьных данных узла
  • DOMCharacterData::deleteData() - Удаление диапазона символов из узла
  • DOMCharacterData::insertData() - Вставляет строку после заданного отступа из 16-битных блоков
  • DOMCharacterData::substringData() - Извлекает определенный диапазон данных из узла

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData


Извлекает определенный диапазон данных из узла

DOMCharacterData::replaceData
DOMComment
DOMCharacterData
PHP Manual

DOMCharacterData::substringData

(PHP 5)

DOMCharacterData::substringData — Извлекает определенный диапазон данных из узла

Описание

string DOMCharacterData::substringData ( int $offset , int $count )

Возвращает требуемую подстроку.

Список параметров

offset

Начало извлекаемой подстроки.

count

Количество извлекаемых символов.

Возвращаемые значения

Запрашиваемая подстрока. Если offset и count в сумме превышают длину строки данных узла, будут извлечены все символы до конца строки.

Ошибки

DOM_INDEX_SIZE_ERR

Возникает, если offset меньше нуля или больше количества 16-битных блоков в области данных, либо если count имеет отрицательное значение.

Смотрите также

  • DOMCharacterData::appendData() - Добавляет строку в конец символьных данных узла
  • DOMCharacterData::deleteData() - Удаление диапазона символов из узла
  • DOMCharacterData::insertData() - Вставляет строку после заданного отступа из 16-битных блоков
  • DOMCharacterData::replaceData() - Заменяет подстроку в узле типа DOMCharacterData

DOMCharacterData::replaceData
DOMComment
DOMCharacterData


Класс DOMComment

(PHP 5)

Введение

Представляет узлы комментариев, строки отделенные символами <!-- и -->.

Обзор классов

DOMComment extends DOMCharacterData {
/* Методы */
DOMComment::__construct ([ string $value ] )
/* Наследуемые методы */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Смотрите также

  • » W3C спецификация комментариев

Содержание

  • DOMComment::__construct — Создает новый экземпляр класса DOMComment
DOMCharacterData::substringData
DOMComment::__construct
DOM


Создает новый экземпляр класса DOMComment

DOMComment
DOMDocument
DOMComment
PHP Manual

DOMComment::__construct

(PHP 5)

DOMComment::__construct — Создает новый экземпляр класса DOMComment

Описание

DOMComment::__construct ([ string $value ] )

Создает новый объект класса DOMComment. Объект будет доступен только для чтения. Его можно добавить к документу. Другие узлы нельзя добавлять к объекту, пока он присоединен к документу. Для создания модифицируемого узла используйте DOMDocument::createComment.

Список параметров

value

Значение комментария.

Примеры

Пример #1 Создание объекта DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Смотрите также

  • DOMDocument::createComment() - Создает новый узел-комментарий

DOMComment
DOMDocument
DOMComment


Класс DOMDocument

(PHP 5)

Введение

Представляет все содержимое HTML или XML документа; служит в качестве корня дерева документа.

Обзор классов

DOMDocument extends DOMNode {
/* Свойства */
readonly public string $DOMDocument->actualEncoding ;
readonly public DOMConfiguration $config ;
readonly public DOMDocumentType $doctype ;
readonly public DOMElement $documentElement ;
public string $documentURI ;
public string $encoding ;
public bool $formatOutput ;
readonly public DOMImplementation $implementation ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
readonly public string $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Методы */
DOMDocument::__construct ([ string $version [, string $encoding ]] )
DOMAttr DOMDocument::createAttribute ( string $name )
DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )
DOMCDATASection DOMDocument::createCDATASection ( string $data )
DOMComment DOMDocument::createComment ( string $data )
DOMDocumentFragment DOMDocument::createDocumentFragment ( void )
DOMElement DOMDocument::createElement ( string $name [, string $value ] )
DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
DOMEntityReference DOMDocument::createEntityReference ( string $name )
DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )
DOMText DOMDocument::createTextNode ( string $content )
DOMElement DOMDocument::getElementById ( string $elementId )
DOMNodeList DOMDocument::getElementsByTagName ( string $name )
DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )
DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )
mixed DOMDocument::load ( string $filename [, int $options = 0 ] )
bool DOMDocument::loadHTML ( string $source )
bool DOMDocument::loadHTMLFile ( string $filename )
mixed DOMDocument::loadXML ( string $source [, int $options = 0 ] )
void DOMDocument::normalizeDocument ( void )
bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )
bool DOMDocument::relaxNGValidate ( string $filename )
bool DOMDocument::relaxNGValidateSource ( string $source )
int DOMDocument::save ( string $filename [, int $options ] )
string DOMDocument::saveHTML ([ DOMNode $node = NULL ] )
int DOMDocument::saveHTMLFile ( string $filename )
string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )
bool DOMDocument::schemaValidate ( string $filename )
bool DOMDocument::schemaValidateSource ( string $source )
bool DOMDocument::validate ( void )
int DOMDocument::xinclude ([ int $options ] )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

actualEncoding

Устарело. Кодировка документа, доступный только для чтения аналог encoding.

config

Устарело. Конфигурация использованная при вызове DOMDocument::normalizeDocument().

doctype

Объявление типа документа, соответствующее этому документу.

documentElement

Удобный атрибут, предоставляющий прямой доступ к узлу-потомку, как к элементу документа.

documentURI

Расположение документа или NULL, если не определено.

encoding

Кодировка документа, как она задана в объявлении XML. Этот атрибут отсутствует в итоговой DOM Level 3 спецификации, но это единственный путь для управления кодировкой XML документа в данной реализации.

formatOutput

Форматирует вывод, добавляя отступы и дополнительные пробелы.

implementation

Объект класса DOMImplementation, обрабатывающий этот документ.

preserveWhiteSpace

Указание не убирать лишние пробелы и отступы. По умолчанию TRUE.

recover

Патентованное свойство. Включает режим восстановления, то есть пытается разобрать некорректно составленные документы. Этот атрибут не входит в спецификацию DOM и является особенностью libxml.

resolveExternals

Установите в TRUE для загрузки внешних элементов из объявления типа документа. Может быть полезным при включении элементов с символьными данными в XML документ.

standalone

Устарело. Указание, что документ не зависит от других XML документов. Это можно определить из XML объявления. Свойство связано с xmlStandalone.

strictErrorChecking

Выбрасывает исключение DOMException при ошибке. По умолчанию TRUE.

substituteEntities

Патентованное свойство. Указывает, заменять или нет элементы документа. Этот атрибут не входит в спецификацию DOM и является особенностью libxml.

validateOnParse

Загружает DTD и проверяет документ на соответствие. По умолчанию FALSE.

version

Устарело. Версия XML, связанная с xmlVersion.

xmlEncoding

Атрибут задает, равно как и XML объявление, кодировку документа. Имеет значение NULL в случаях, когда атрибут не задан, либо значение неизвестно, если, например, документ создан в памяти.

xmlStandalone

Атрибут указывает, равно как и XML объявление, на то, что документ не зависит от других документов. Принимает значение FALSE, если не задан.

xmlVersion

Атрибут задает, равно как и XML объявление, версию документа. Если XML объявления в документе нет, но есть поддержка всех особенностей "XML", значение атрибута принимается равным "1.0".

Примечания

Замечание:

Расширение DOM использует кодировку UTF-8. Используйте функции utf8_encode() и utf8_decode() для работы с текстами в кодировке ISO-8859-1, либо Iconv в других кодировках.

Смотрите также

  • » W3C спецификация для Document

Содержание

  • DOMDocument::__construct — Создание нового DOMDocument объекта
  • DOMDocument::createAttribute — Создает новый атрибут
  • DOMDocument::createAttributeNS — Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection — Создает новый cdata узел
  • DOMDocument::createComment — Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment — Создание фрагмента докуента
  • DOMDocument::createElement — Создает новый узел-элемент
  • DOMDocument::createElementNS — Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference — Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction — Создает новый PI-узел
  • DOMDocument::createTextNode — Создает новый текстовый узел
  • DOMDocument::getElementById — Ищет элемент с заданным id
  • DOMDocument::getElementsByTagName — Ищет все элементы с заданным именем
  • DOMDocument::getElementsByTagNameNS — Ищет элементы с заданным именем в определенном пространстве имен
  • DOMDocument::importNode — Импорт узла в текущий документ
  • DOMDocument::load — Загрузка XML из файла
  • DOMDocument::loadHTML — Загрузка HTML из строки
  • DOMDocument::loadHTMLFile — Загрузка HTML из файла
  • DOMDocument::loadXML — Загрузка XML из строки
  • DOMDocument::normalizeDocument — Нормализует документ
  • DOMDocument::registerNodeClass — Регистрация расширенного класса, используемого для создания базового типа узлов
  • DOMDocument::relaxNGValidate — Производит проверку документа на правильность построения посредством relaxNG
  • DOMDocument::relaxNGValidateSource — Проверяет документ посредством relaxNG
  • DOMDocument::save — Сохраняет XML дерево из внутреннего представления в файл
  • DOMDocument::saveHTML — Сохраняет документ из внутреннего представления в строку, используя HTML форматирование
  • DOMDocument::saveHTMLFile — Сохраняет документ из внутреннего представления в файл, используя HTML форматирование
  • DOMDocument::saveXML — Сохраняет XML дерево из внутреннего представления в виде строки
  • DOMDocument::schemaValidate — Проверяет действительности документа, основываясь на заданной схеме
  • DOMDocument::schemaValidateSource — Проверяет действительность документа, основываясь на схеме
  • DOMDocument::validate — Проверяет документ на соответствие его DTD
  • DOMDocument::xinclude — Проводит вставку XInclude разделов в объектах DOMDocument
DOMComment::__construct
DOMDocument::__construct
DOM


Создание нового DOMDocument объекта

DOMDocument
DOMDocument::createAttribute
DOMDocument
PHP Manual

DOMDocument::__construct

(PHP 5)

DOMDocument::__construct — Создание нового DOMDocument объекта

Описание

DOMDocument::__construct ([ string $version [, string $encoding ]] )

Создание нового DOMDocument объекта.

Список параметров

version

Номер версии документа как часть XML объявления.

encoding

Кодировка документа как часть XML объявления.

Примеры

Пример #1 Создание объекта DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Смотрите также

  • DOMImplementation::createDocument() - Создает объект класса DOMDocument заданного типа с элементом document

DOMDocument
DOMDocument::createAttribute
DOMDocument


Создает новый атрибут

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument
PHP Manual

DOMDocument::createAttribute

(PHP 5)

DOMDocument::createAttribute — Создает новый атрибут

Описание

DOMAttr DOMDocument::createAttribute ( string $name )

Эта функция создает новый объект класса DOMAttr. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

name

Имя атрибута.

Возвращаемые значения

Новый объект DOMAttr либо FALSE в случае возникновения ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если name содержит недопустимые символы.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument


Создает новый узел-атрибут с соответствующим ему пространством имен

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument
PHP Manual

DOMDocument::createAttributeNS

(PHP 5)

DOMDocument::createAttributeNS — Создает новый узел-атрибут с соответствующим ему пространством имен

Описание

DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )

Эта функция создает новый объект класса DOMAttr. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

namespaceURI

URI пространства имен.

qualifiedName

Имя и префикс атрибута в виде prefix:tagname.

Возвращаемые значения

Новый экземпляр класса DOMAttr либо FALSE в случае ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если qualifiedName содержит недопустимые символы.

DOM_NAMESPACE_ERR

Возникает, если qualifiedName неправильно сформировано, либо если qualifiedName имеет префикс, а namespaceURI имеет значение NULL.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument


Создает новый cdata узел

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument
PHP Manual

DOMDocument::createCDATASection

(PHP 5)

DOMDocument::createCDATASection — Создает новый cdata узел

Описание

DOMCDATASection DOMDocument::createCDATASection ( string $data )

Эта функция создает новый объект класса DOMCDATASection. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

data

Содержимое cdata.

Возвращаемые значения

Новый объект класса DOMCDATASection либо FALSE в случае ошибки.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument


Создает новый узел-комментарий

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument
PHP Manual

DOMDocument::createComment

(PHP 5)

DOMDocument::createComment — Создает новый узел-комментарий

Описание

DOMComment DOMDocument::createComment ( string $data )

Эта функция создает новый экземпляр класса DOMComment. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

data

Содержимое комментария.

Возвращаемые значения

Новый объект класса DOMComment лиюо FALSE в случае ошибки.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument


Создание фрагмента докуента

DOMDocument::createComment
DOMDocument::createElement
DOMDocument
PHP Manual

DOMDocument::createDocumentFragment

(PHP 5)

DOMDocument::createDocumentFragment — Создание фрагмента докуента

Описание

DOMDocumentFragment DOMDocument::createDocumentFragment ( void )

Эта функция создает новый экземпляр класса DOMDocumentFragment. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Возвращаемые значения

Новый объект класса DOMDocumentFragment либо FALSE в случае ошибки.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createComment
DOMDocument::createElement
DOMDocument


Создает новый узел-элемент

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument
PHP Manual

DOMDocument::createElement

(PHP 5)

DOMDocument::createElement — Создает новый узел-элемент

Описание

DOMElement DOMDocument::createElement ( string $name [, string $value ] )

Эта функция создает экземпляр класса DOMElement. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

name

Имя элемента.

value

Значение элемента. По умолчанию будет создан пустой элемент. Значение может быть установлено позднее с помощью функции DOMElement->nodeValue.

Возвращаемые значения

Возвращает новый объект класса DOMElement либо FALSE в случае ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если name содержит недопустимые символы.

Примеры

Пример #1 Создание нового элемента и вставка его в качестве корневого

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'This is the root element!');

// Вставляем новый элемент как корень (потомок документа)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<test>Это корневой элемент!</test>

Примечания

Замечание:

Значение value не будет экранировано. Используйте функцию DOMDocument::createTextNode() для создания узла с текстовым содержимым с поддержкой экранирования.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument


Создание нового узла-элемента с соответствующим пространством имен

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Создание нового узла-элемента с соответствующим пространством имен

Описание

DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )

Эта функция создает новый узел-элемент с соответствующим пространством имен. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

namespaceURI

URI пространства имен.

qualifiedName

Сформированное имя элемента в виде prefix:tagname.

value

Значение элемента. По умолчанию будет создан пустой элемент. Задать значение можно позднее с помощью DOMElement->nodeValue.

Возвращаемые значения

Новый объект класса DOMElement либо FALSE в случае ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если qualifiedName содержит недопустимые символы.

DOM_NAMESPACE_ERR

Возникает, если qualifiedName не верно сформировано.

Примеры

Пример #1 Создание элемента и вставка в документ в качестве корневого

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// Вставляем новый элемент как корень (потомок документа)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">Это корневой элемент!</xfoo:test>

Пример #2 Пример префикса пространства имен

<?php
$doc  = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Выведет: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Выведет: g
echo $item->localName, "\n";    // Выведет: item_type
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument


Создание нового узла-ссылки на сущность

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument
PHP Manual

DOMDocument::createEntityReference

(PHP 5)

DOMDocument::createEntityReference — Создание нового узла-ссылки на сущность

Описание

DOMEntityReference DOMDocument::createEntityReference ( string $name )

Эта функция создает экземпляр класса DOMEntityReference. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

name

Содержимое ссылки на сущность, то есть ссылка на сущность без & в начале и ; в конце.

Возвращаемые значения

Новый объект класса DOMEntityReference либо FALSE в случае ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если name содержит недопустимые символы.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument


Создает новый PI-узел

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument
PHP Manual

DOMDocument::createProcessingInstruction

(PHP 5)

DOMDocument::createProcessingInstruction — Создает новый PI-узел

Описание

DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )

Эта функция создает экземпляр класса DOMProcessingInstruction. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

target

Цель инструкций для обработчика документа.

data

Содержимое инструкций обработчика.

Возвращаемые значения

Новый объект класса DOMProcessingInstruction либо FALSE в случае ошибки.

Ошибки

DOM_INVALID_CHARACTER_ERR

Возникает, если target содержит недопустимы символы.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument


Создает новый текстовый узел

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument
PHP Manual

DOMDocument::createTextNode

(PHP 5)

DOMDocument::createTextNode — Создает новый текстовый узел

Описание

DOMText DOMDocument::createTextNode ( string $content )

Эта функция создает экземпляр класса DOMText. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode->appendChild().

Список параметров

content

Содержимое узла.

Возвращаемые значения

Новый объект класса DOMText либо FALSE в случае ошибки.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMDocument::createAttribute() - Создает новый атрибут
  • DOMDocument::createAttributeNS() - Создает новый узел-атрибут с соответствующим ему пространством имен
  • DOMDocument::createCDATASection() - Создает новый cdata узел
  • DOMDocument::createComment() - Создает новый узел-комментарий
  • DOMDocument::createDocumentFragment() - Создание фрагмента докуента
  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен
  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность
  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument


Ищет элемент с заданным id

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument
PHP Manual

DOMDocument::getElementById

(PHP 5)

DOMDocument::getElementById — Ищет элемент с заданным id

Описание

DOMElement DOMDocument::getElementById ( string $elementId )

Эта функция является аналогом DOMDocument::getElementsByTagName, но ищет элемент по его id.

Для работы этой функции необходимо либо задать ID атрибуты элементов посредством DOMElement::setIdAttribute, либо понадобится DTD, которая определяет атрибут как имеющий тип ID. В последнем случае перед использованием этой функции потребуется проверять документ на действительность посредством DOMDocument::validate или DOMDocument->validateOnParse.

Список параметров

elementId

Уникальный id элемента.

Возвращаемые значения

Returns the DOMElement or NULL if the element is not found.

Примеры

Пример #1 Пример использования DOMDocument->getElementById()

<?php

$doc = new DomDocument;

// Необходимо проверить документ на действительность перед тем как
// ссылаться на id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "Элемент с id 'books': " . $doc->getElementById('books')->tagName . "\n";

?>

Результат выполнения данного примера:

Элемент с id 'books': chapter

Смотрите также

  • DOMDocument::getElementsByTagName() - Ищет все элементы с заданным именем

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument


Ищет все элементы с заданным именем

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument
PHP Manual

DOMDocument::getElementsByTagName

(PHP 5)

DOMDocument::getElementsByTagName — Ищет все элементы с заданным именем

Описание

DOMNodeList DOMDocument::getElementsByTagName ( string $name )

Эта функция возвращает новый объект класса DOMNodeList, содержащий элементы с заданным именем.

Список параметров

name

Имя тэга, по которому будет проводиться поиск. Специальное значение * означает, что поиск будет произведен по всем тэгам.

Возвращаемые значения

Новый объект класса DOMNodeList содержащий все найденные элементы.

Смотрите также

  • DOMDocument::getElementsByTagNameNS() - Ищет элементы с заданным именем в определенном пространстве имен

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument


Ищет элементы с заданным именем в определенном пространстве имен

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument
PHP Manual

DOMDocument::getElementsByTagNameNS

(PHP 5)

DOMDocument::getElementsByTagNameNS — Ищет элементы с заданным именем в определенном пространстве имен

Описание

DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Возвращает объект DOMNodeList со всеми элементами с заданным локальным именем и URI пространства имен.

Список параметров

namespaceURI

URI пространства имен. Специальное значение * означает, что поиск будет произведен по всем пространствам имен.

localName

Локальное имя искомых элементов. Специальное значение * означает, что поиск будет произведен по всем локальным именам.

Возвращаемые значения

Новый объект класса DOMNodeList содержащий все найденные элементы.

Примеры

Пример #1 Получение всех XInclude элементов

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// загрузка XML строки, определенной выше
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

Результат выполнения данного примера:

local name: include, prefix: xi
local name: fallback, prefix: xi

Смотрите также

  • DOMDocument::getElementsByTagName() - Ищет все элементы с заданным именем

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument


Импорт узла в текущий документ

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument
PHP Manual

DOMDocument::importNode

(PHP 5)

DOMDocument::importNode — Импорт узла в текущий документ

Описание

DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

Эта функция возвращает копию импортируемого узла и присоединяет ее к текущему документу.

Список параметров

importedNode

Импортируемый узел.

deep

Если установлен в TRUE, этот метод рекурсивно импортирует поддерево узла importedNode.

Замечание:

Чтобы скопировались атрибуты узла, deep должен быть установлен в TRUE.

Возвращаемые значения

Скопированный узел или FALSE, если он не может быть скопирован.

Ошибки

Если узел не может быть импортирован, будет выброшено исключение DOMException.

Примеры

Пример #1 Пример использования DOMDocument::importNode()

Копирование узлов между документами.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// Узел, который будет импортирован в новый документ
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Создание нового документа
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Добавление разметки
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "Новый документ перед добавлением в него узлов:\n";
echo $newdoc->saveXML();

// Импорт узла и всех его потомков в документ
$node = $newdoc->importNode($node, true);
// И затем добавление узла в корень элемента
$newdoc->documentElement->appendChild($node);

echo "\nНовый документ после добавления в него узлов:\n";
echo $newdoc->saveXML();
?>

Результат выполнения данного примера:

Новый документ перед добавлением в него узлов:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

Новый документ после добавления в него узлов:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument


Загрузка XML из файла

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument
PHP Manual

DOMDocument::load

(PHP 5)

DOMDocument::load — Загрузка XML из файла

Описание

mixed DOMDocument::load ( string $filename [, int $options = 0 ] )

Загружает XML документ из файла.

Внимание

Пути к файлам в стиле Unix с прямыми слешами могут отрицательно сказаться на работоспособности скриптов в среде Windows; используйте функцию realpath() для исключения подобных ситуаций.

Список параметров

filename

Путь к XML документу.

options

Побитовое ИЛИ констант настройки libxml.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. При статическом вызове возвращает объект класса DOMDocument или FALSE в случае возникновения ошибки.

Ошибки

Если через аргумент filename передана пустая строка или файл ничего не содержит, будет сгенерировано предупреждение. Это предупреждение генерируется не libxml, поэтому оно не может быть обработано обработчиками ошибок библиотеки libxml.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Создание документа

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Смотрите также

  • DOMDocument::loadXML() - Загрузка XML из строки
  • DOMDocument::save() - Сохраняет XML дерево из внутреннего представления в файл
  • DOMDocument::saveXML() - Сохраняет XML дерево из внутреннего представления в виде строки

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument


Загрузка HTML из строки

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument
PHP Manual

DOMDocument::loadHTML

(PHP 5)

DOMDocument::loadHTML — Загрузка HTML из строки

Описание

bool DOMDocument::loadHTML ( string $source )

Функция разбирает HTML содержащийся в строке source. В отличие от XML, HTML не обязан быть правильно построенным документом. Эта функция также может быть вызвана статически для загрузки и создания объекта класса DOMDocument. Статический вызов может использоваться в случаях, когда нет необходимости устанавливать значения параметров объекта DOMDocument до загрузки документа.

Список параметров

source

HTML строка.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. В случае статического вызова возвращает объект класса DOMDocument или FALSE в случае возникновения ошибки.

Ошибки

Если через аргумент source передана пустая строка, будет сгенерировано предупреждение. Это предупреждение генерируется не libxml, поэтому оно не может быть обработано библиотечными обработчиками ошибок.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Создание документа

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Смотрите также

  • DOMDocument::loadHTMLFile() - Загрузка HTML из файла
  • DOMDocument::saveHTML() - Сохраняет документ из внутреннего представления в строку, используя HTML форматирование
  • DOMDocument::saveHTMLFile() - Сохраняет документ из внутреннего представления в файл, используя HTML форматирование

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument


Загрузка HTML из файла

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument
PHP Manual

DOMDocument::loadHTMLFile

(PHP 5)

DOMDocument::loadHTMLFile — Загрузка HTML из файла

Описание

bool DOMDocument::loadHTMLFile ( string $filename )

Функция разбирает HTML документ из файла filename. В отличие от загрузки XML, HTML документ не обязан быть правильно построенным.

Список параметров

filename

Путь к HTML файлу.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если вызвана статически, возвращает объект класса DOMDocument или FALSE в случае возникновения ошибки.

Ошибки

Если через аргумент filename передана пустая строка или файл ничего не содержит, будет сгенерировано предупреждение. Это предупреждение генерируется не libxml, поэтому оно не может быть обработано обработчиками ошибок библиотеки libxml.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Создание документа

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Смотрите также

  • DOMDocument::loadHTML() - Загрузка HTML из строки
  • DOMDocument::saveHTML() - Сохраняет документ из внутреннего представления в строку, используя HTML форматирование
  • DOMDocument::saveHTMLFile() - Сохраняет документ из внутреннего представления в файл, используя HTML форматирование

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument


Загрузка XML из строки

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument
PHP Manual

DOMDocument::loadXML

(PHP 5)

DOMDocument::loadXML — Загрузка XML из строки

Описание

mixed DOMDocument::loadXML ( string $source [, int $options = 0 ] )

Загружает XML документ из строки.

Список параметров

source

Содержащая XML строка.

options

Побитовое ИЛИ констант настройки libxml.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если вызвана статически, возвращает объект класса DOMDocument или FALSE в случае возникновения ошибки.

Ошибки

Если через аргумент source передана пустая строка, будет сгенерировано предупреждение. Это предупреждение генерируется не libxml, поэтому оно не может быть обработано библиотечными обработчиками ошибок.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Создание документа

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Пример #2 Статический вызов loadXML

<?php
// Вызывает ошибку E_STRICT
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Смотрите также

  • DOMDocument::load() - Загрузка XML из файла
  • DOMDocument::save() - Сохраняет XML дерево из внутреннего представления в файл
  • DOMDocument::saveXML() - Сохраняет XML дерево из внутреннего представления в виде строки

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument


Нормализует документ

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument
PHP Manual

DOMDocument::normalizeDocument

(PHP 5)

DOMDocument::normalizeDocument — Нормализует документ

Описание

void DOMDocument::normalizeDocument ( void )

Этот метод выполняет те же действия, как если бы Вы сохранили и затем загрузили документ, приводит документ к "нормальной" форме.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • » Спецификация DOM
  • DOMNode::normalize() - Нормализует узел

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument


Регистрация расширенного класса, используемого для создания базового типа узлов

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument
PHP Manual

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0)

DOMDocument::registerNodeClass — Регистрация расширенного класса, используемого для создания базового типа узлов

Описание

bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )

Этот метод позволяет зарегистрировать свой собственный расширенный DOM класс, чтобы впоследствии использовать его в PHP DOM расширении.

Этот метод не входит в стандарт DOM.

Список параметров

baseclass

DOM класс, который будет расширен. Список таких классов можно увидеть во введении.

extendedclass

Имя расширенного класса. Если передать NULL, будут удалены все ранее зарегистрированные классы, расширяющие данный базовый класс baseclass.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.2 | В версиях до 5.2.2 ранее зарегистрированный расширенный класс extendedclass должен быть исключен из регистрации, прежде чем регистрировать новый класс, расширяющий тот же базовый класс baseclass.

Примеры

Пример #1 Добавление нового метода в класс DOMElement для упрощения кода

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// С этих пор добавление одного элемента к другому
// требует всего одного вызова метода!
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Пример #2 Извлечение элементов в виде пользовательского класса

<?php
class myElement extends DOMElement {
    public function __toString() {
        return $this->nodeValue;
    }
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// Воспользуемся __toString методом..
echo $element;
?>

Результат выполнения данного примера:

string(9) "myElement"
text in child

Пример #3 Получение имени документа-владельца узла

Когда создается экземпляр расширенного класса DOMDocument, свойство ownerDocument будет ссылаться на создаваемый объект. Это значит, что нет необходимости (а фактически это невозможно) использовать DOMDocument::registerNodeClass() применительно к DOMDocument.

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Создаем myDOMDocument с некоторым XML содержимым
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// Текущий владелец узла - myDOMDocument
var_dump(get_class($child->ownerDocument));

// Импортируем узел из myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// Новый владелец узла изменился на myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

Результат выполнения данного примера:

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument


Производит проверку документа на правильность построения посредством relaxNG

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument
PHP Manual

DOMDocument::relaxNGValidate

(PHP 5)

DOMDocument::relaxNGValidate — Производит проверку документа на правильность построения посредством relaxNG

Описание

bool DOMDocument::relaxNGValidate ( string $filename )

Производит » relaxNG проверку документа, основываясь на заданной RNG схеме.

Список параметров

filename

RNG файл.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::relaxNGValidateSource() - Проверяет документ посредством relaxNG
  • DOMDocument::schemaValidate() - Проверяет действительности документа, основываясь на заданной схеме
  • DOMDocument::schemaValidateSource() - Проверяет действительность документа, основываясь на схеме
  • DOMDocument::validate() - Проверяет документ на соответствие его DTD

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument


Проверяет документ посредством relaxNG

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument
PHP Manual

DOMDocument::relaxNGValidateSource

(PHP 5)

DOMDocument::relaxNGValidateSource — Проверяет документ посредством relaxNG

Описание

bool DOMDocument::relaxNGValidateSource ( string $source )

Применяет » relaxNG проверку документа на соответствие заданному RNG источнику.

Список параметров

source

Строка содержащая RNG схему.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::relaxNGValidate() - Производит проверку документа на правильность построения посредством relaxNG
  • DOMDocument::schemaValidate() - Проверяет действительности документа, основываясь на заданной схеме
  • DOMDocument::schemaValidateSource() - Проверяет действительность документа, основываясь на схеме
  • DOMDocument::validate() - Проверяет документ на соответствие его DTD

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument


Сохраняет XML дерево из внутреннего представления в файл

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument
PHP Manual

DOMDocument::save

(PHP 5)

DOMDocument::save — Сохраняет XML дерево из внутреннего представления в файл

Описание

int DOMDocument::save ( string $filename [, int $options ] )

Создает XML документ из DOM представления. Эту функцию обычно вызывают после построения нового DOM документа, как показано в примере ниже.

Список параметров

filename

Путь к файлу в который будет сохранен XML доумент.

options

Дополнительные настройки. На данный момент поддерживается только LIBXML_NOEMPTYTAG.

Возвращаемые значения

Возвращает число записанных байт или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.1.0 | Добавлен аргумент options

Примеры

Пример #1 Сохранение DOM дерева в файл

<?php

$doc = new DOMDocument('1.0');
// мы хотим красивый вывод
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Записано: ' . $doc->save("/tmp/test.xml") . ' байт'; // Записано: 72 байт

?>

Смотрите также

  • DOMDocument::saveXML() - Сохраняет XML дерево из внутреннего представления в виде строки
  • DOMDocument::load() - Загрузка XML из файла
  • DOMDocument::loadXML() - Загрузка XML из строки

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument


Сохраняет документ из внутреннего представления в строку, используя HTML форматирование

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument
PHP Manual

DOMDocument::saveHTML

(PHP 5)

DOMDocument::saveHTML — Сохраняет документ из внутреннего представления в строку, используя HTML форматирование

Описание

string DOMDocument::saveHTML ([ DOMNode $node = NULL ] )

Создает HTML документ из DOM представления. Эту функцию обычно вызывают после построения нового DOM документа, как показано в примере ниже.

Список параметров

node

Необязательный аргумент для вывода некоторого подмножества документа.

Возвращаемые значения

Возвращает HTML или FALSE в случае ошибки.

Список изменений

Версия | Описание
5.3.6 | Добавлен аргумент node.

Примеры

Пример #1 Сохранение HTML дерева в виде строки

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Это заголовок');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Смотрите также

  • DOMDocument::saveHTMLFile() - Сохраняет документ из внутреннего представления в файл, используя HTML форматирование
  • DOMDocument::loadHTML() - Загрузка HTML из строки
  • DOMDocument::loadHTMLFile() - Загрузка HTML из файла

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument


Сохраняет документ из внутреннего представления в файл, используя HTML форматирование

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument
PHP Manual

DOMDocument::saveHTMLFile

(PHP 5)

DOMDocument::saveHTMLFile — Сохраняет документ из внутреннего представления в файл, используя HTML форматирование

Описание

int DOMDocument::saveHTMLFile ( string $filename )

Создает HTML документ из DOM представления. Эту функцию обычно вызывают после построения нового DOM документа, как показано в примере ниже.

Список параметров

filename

Путь к файлу, в который сохранится HTML документ.

Возвращаемые значения

Возвращает число записанных байт или FALSE в случае ошибки.

Примеры

Пример #1 Сохранение HTML дерева в файл

<?php

$doc = new DOMDocument('1.0');
// мы хотим красивый вывод
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Это заголовок');
$text = $title->appendChild($text);

echo 'Записано: ' . $doc->saveHTMLFile("/tmp/test.html") . ' байт; // Записано: 129 байт

?>

Смотрите также

  • DOMDocument::saveHTML() - Сохраняет документ из внутреннего представления в строку, используя HTML форматирование
  • DOMDocument::loadHTML() - Загрузка HTML из строки
  • DOMDocument::loadHTMLFile() - Загрузка HTML из файла

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument


Сохраняет XML дерево из внутреннего представления в виде строки

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument
PHP Manual

DOMDocument::saveXML

(PHP 5)

DOMDocument::saveXML — Сохраняет XML дерево из внутреннего представления в виде строки

Описание

string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )

Создает XML документ из DOM представления. Эту функцию обычно вызывают после построения нового DOM документа, как показано в примере ниже.

Список параметров

node

Используйте этот аргумент для вывода только определенного узла без XML объявления вместо вывода документа целиком.

options

Дополнительные настройки. На данный момент поддерживается только LIBXML_NOEMPTYTAG.

Возвращаемые значения

Возвращает XML или FALSE в случае ошибки.

Ошибки

DOM_WRONG_DOCUMENT_ERR

Возникает, если node принадлежит другому документу.

Список изменений

Версия | Описание
5.1.0 | Добавлен аргумент options

Примеры

Пример #1 Сохранение DOM дерева в виде строки

<?php

$doc = new DOMDocument('1.0');
// мы хотим красивый вывод
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('Это заголовок');
$text = $title->appendChild($text);

echo "Сохранение всего документа:\n";
echo $doc->saveXML() . "\n";

echo "Сохранение только заголовка:\n";
echo $doc->saveXML($title);

?>

Результат выполнения данного примера:

Сохранение всего документа:
<?xml version="1.0"?>
<book>
  <title>Это заголовок</title>
</book>

Сохранение только заголовка:
<title>Это заголовок</title>

Смотрите также

  • DOMDocument::save() - Сохраняет XML дерево из внутреннего представления в файл
  • DOMDocument::load() - Загрузка XML из файла
  • DOMDocument::loadXML() - Загрузка XML из строки

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument


Проверяет действительности документа, основываясь на заданной схеме

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument
PHP Manual

DOMDocument::schemaValidate

(PHP 5)

DOMDocument::schemaValidate — Проверяет действительности документа, основываясь на заданной схеме

Описание

bool DOMDocument::schemaValidate ( string $filename )

Проверяет документ на действительность, основываясь на заданной схеме.

Список параметров

filename

Путь к файлу со схемой.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::schemaValidateSource() - Проверяет действительность документа, основываясь на схеме
  • DOMDocument::relaxNGValidate() - Производит проверку документа на правильность построения посредством relaxNG
  • DOMDocument::relaxNGValidateSource() - Проверяет документ посредством relaxNG
  • DOMDocument::validate() - Проверяет документ на соответствие его DTD

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument


Проверяет действительность документа, основываясь на схеме

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument
PHP Manual

DOMDocument::schemaValidateSource

(PHP 5)

DOMDocument::schemaValidateSource — Проверяет действительность документа, основываясь на схеме

Описание

bool DOMDocument::schemaValidateSource ( string $source )

Проверяет соответствие документа переданной через строку схеме.

Список параметров

source

Строка содержащая схему.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::schemaValidate() - Проверяет действительности документа, основываясь на заданной схеме
  • DOMDocument::relaxNGValidate() - Производит проверку документа на правильность построения посредством relaxNG
  • DOMDocument::relaxNGValidateSource() - Проверяет документ посредством relaxNG
  • DOMDocument::validate() - Проверяет документ на соответствие его DTD

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument


Проверяет документ на соответствие его DTD

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument
PHP Manual

DOMDocument::validate

(PHP 5)

DOMDocument::validate — Проверяет документ на соответствие его DTD

Описание

bool DOMDocument::validate ( void )

Проверяет документ на действительность, основываясь на его DTD.

Также можно использовать свойство validateOnParse класса DOMDocument для проведения DTD проверки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если нет DTD, присоединенных к документу, этот метод вернет FALSE.

Примеры

Пример #1 Пример DTD проверки

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "Документ является действительным!\n";
}
?>

Также можно проверять XML файл на этапе его загрузки:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

Смотрите также

  • DOMDocument::schemaValidate() - Проверяет действительности документа, основываясь на заданной схеме
  • DOMDocument::schemaValidateSource() - Проверяет действительность документа, основываясь на схеме
  • DOMDocument::relaxNGValidate() - Производит проверку документа на правильность построения посредством relaxNG
  • DOMDocument::relaxNGValidateSource() - Проверяет документ посредством relaxNG

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument


Проводит вставку XInclude разделов в объектах DOMDocument

DOMDocument::validate
DOMDocumentFragment
DOMDocument
PHP Manual

DOMDocument::xinclude

(PHP 5)

DOMDocument::xinclude — Проводит вставку XInclude разделов в объектах DOMDocument

Описание

int DOMDocument::xinclude ([ int $options ] )

Этот метод вставляет » XInclude блоки в объекте класса DOMDocument.

Замечание:

Вследствие того, что libxml2 автоматически разрешает сущности, вызов этого метода приведет к неожидаемым результатам в случае, когда XML файл содержит прикрепленную схему DTD.

Список параметров

options

параметры libxml. Доступно, начиная с PHP 5.1.0 и Libxml 2.6.7.

Возвращаемые значения

Возвращает количество блоков XInclude в документе, -1 если при обработке произошла ошибка, либо FALSE, если не было произведено ни одной замены.

Примеры

Пример #1 Пример использования DOMDocument->xinclude()

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// Оформим вывод красиво
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// загрузка XML строки, определенной выше
$dom->loadXML($xml);

// вставка блока xinclude
$dom->xinclude();

echo $dom->saveXML();

?>

Результатом выполнения данного примера будет что-то подобное:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

DOMDocument::validate
DOMDocumentFragment
DOMDocument


Класс DOMDocumentFragment

(PHP 5)

Обзор классов

DOMDocumentFragment extends DOMNode {
/* Свойства */
/* Методы */
bool appendXML ( string $data )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Содержание

  • DOMDocumentFragment::appendXML — Добавление необработанных XML данных
DOMDocument::xinclude
DOMDocumentFragment::appendXML
DOM


Добавление необработанных XML данных

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment
PHP Manual

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0)

DOMDocumentFragment::appendXML — Добавление необработанных XML данных

Описание

bool DOMDocumentFragment::appendXML ( string $data )

Добавляет необработанные XML данные в объект класса DOMDocumentFragment.

Это метод не входит в стандарт DOM. Он был разработан для упрощения процедуры добавления XML DocumentFragment в DOMDocument.

Если следовать стандарту, необходимо создавать временный DOMDocument с фиктивным корнем, а затем проходить по всем узлам потомкам корневого узла XML документа и добавлять их по очереди.

Список параметров

data

XML для добавления.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Добавление XML данных в документ

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment


Класс DOMDocumentType

(PHP 5)

Введение

Каждый объект DOMDocument имеет атрибут doctype, значение которого либо NULL, либо объект класса DOMDocumentType.

Обзор классов

DOMDocumentType extends DOMNode {
/* Свойства */
readonly public string $DOMDocumentType->publicId ;
readonly public string $systemId ;
readonly public string $name ;
readonly public DOMNamedNodeMap $entities ;
readonly public DOMNamedNodeMap $notations ;
readonly public string $internalSubset ;
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

publicId

Общедоступный идентификатор внешнего подмножества типов.

systemId

Системный идентификатор внешнего подмножества типов. Это может быть абсолютный URI.

name

Имя DTD, то есть имя, следующее сразу за ключевым словом DOCTYPE.

entities

Объект класса DOMNamedNodeMap содержащий основные элементы, внутренние и внешние, объявленные в DTD.

notations

Объект класса DOMNamedNodeMap содержащий условные обозначения, объявленные в DTD.

internalSubset

Внутреннее подмножество в виде строки или NULL, если такового нет. Оно не должно содержать квадратных скобок.

DOMDocumentFragment::appendXML
DOMElement
DOM


Класс DOMElement

(PHP 5)

Обзор классов

DOMElement extends DOMNode {
/* Свойства */
readonly public bool $DOMElement->schemaTypeInfo ;
readonly public string $tagName ;
/* Методы */
__construct ( string $name [, string $value [, string $namespaceURI ]] )
string DOMElement::getAttribute ( string $name )
DOMAttr DOMElement::getAttributeNode ( string $name )
DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )
string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )
DOMNodeList DOMElement::getElementsByTagName ( string $name )
DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )
bool DOMElement::hasAttribute ( string $name )
bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )
bool DOMElement::removeAttribute ( string $name )
bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )
bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )
DOMAttr DOMElement::setAttribute ( string $name , string $value )
DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )
DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )
void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
void DOMElement::setIdAttribute ( string $name , bool $isId )
void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )
void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

schemaTypeInfo

Пока не реализовано, всегда возвращает NULL

tagName

Имя элемента

Примечания

Замечание:

Расширение DOM использует кодировку UTF-8. Используйте функции utf8_encode() и utf8_decode() для работы с текстами в кодировке ISO-8859-1, либо Iconv в других кодировках.

Содержание

  • DOMElement::__construct — Создание нового объекта класса DOMElement
  • DOMElement::getAttribute — Возвращает значение атрибута
  • DOMElement::getAttributeNode — Возвращает узел атрибута
  • DOMElement::getAttributeNodeNS — Возвращает узел атрибута
  • DOMElement::getAttributeNS — Возвращает значение атрибута
  • DOMElement::getElementsByTagName — Возвращает элементы по имени тэга
  • DOMElement::getElementsByTagNameNS — Получение элементов по локальному имени в заданном пространстве имен
  • DOMElement::hasAttribute — Проверяет наличие атрибута
  • DOMElement::hasAttributeNS — Проверяет, существует ли заданный атрибут
  • DOMElement::removeAttribute — Удаляет атрибут
  • DOMElement::removeAttributeNode — Удаляет атрибут
  • DOMElement::removeAttributeNS — Удаляет атрибут
  • DOMElement::setAttribute — Устанавливает значение атрибута
  • DOMElement::setAttributeNode — Добавляет новый узел атрибута к элементу
  • DOMElement::setAttributeNodeNS — Добавляет новый атрибут к элементу
  • DOMElement::setAttributeNS — Добавляет новый атрибут
  • DOMElement::setIdAttribute — Объявляет атрибут с заданным именем ключевым атрибутом
  • DOMElement::setIdAttributeNode — Объявляет заданный узал атрибута ключевым
  • DOMElement::setIdAttributeNS — Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим
DOMDocumentType
DOMElement::__construct
DOM


Создание нового объекта класса DOMElement

DOMElement
DOMElement::getAttribute
DOMElement
PHP Manual

DOMElement::__construct

(PHP 5)

DOMElement::__construct — Создание нового объекта класса DOMElement

Описание

DOMElement::__construct ( string $name [, string $value [, string $namespaceURI ]] )

Создает новый объект класса DOMElement. Этот объект доступен только для чтения. Он может быть добавлен в документ, но в него нельзя добавить дочерние узлы пока данный узел связан с документом. Для того чтобы создавать узлы, которые могут быть изменены, воспользуйтесь следующими методами: DOMDocument::createElement or DOMDocument::createElementNS.

Список параметров

name

Имя тэга создаваемого элемента. Если передан параметр namespaceURI, имя элемента может получить префикс для связи с URI.

value

Значение элемента.

namespaceURI

Пространство имен URI, передается для создания элемента со отдельным пространством имен.

Примеры

Пример #1 Создание DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Смотрите также

  • DOMDocument::createElement() - Создает новый узел-элемент
  • DOMDocument::createElementNS() - Создание нового узла-элемента с соответствующим пространством имен

DOMElement
DOMElement::getAttribute
DOMElement


Возвращает значение атрибута

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement
PHP Manual

DOMElement::getAttribute

(PHP 5)

DOMElement::getAttribute — Возвращает значение атрибута

Описание

string DOMElement::getAttribute ( string $name )

Возвращает значение атрибута с именем name для текущего узла.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Значение атрибута или пустое значение, если атрибут с указанным именем name не найден.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::setAttribute() - Устанавливает значение атрибута
  • DOMElement::removeAttribute() - Удаляет атрибут

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement


Возвращает узел атрибута

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement
PHP Manual

DOMElement::getAttributeNode

(PHP 5)

DOMElement::getAttributeNode — Возвращает узел атрибута

Описание

DOMAttr DOMElement::getAttributeNode ( string $name )

Возвращает атрибут с именем name текущего элемента в виде узла.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Узел атрибута.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::setAttributeNode() - Добавляет новый узел атрибута к элементу
  • DOMElement::removeAttributeNode() - Удаляет атрибут

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement


Возвращает узел атрибута

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement
PHP Manual

DOMElement::getAttributeNodeNS

(PHP 5)

DOMElement::getAttributeNodeNS — Возвращает узел атрибута

Описание

DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )

Возвращает атрибут в пространстве имен namespaceURI с локальным именем localName для текущего элемента в виде узла.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя.

Возвращаемые значения

Узел атрибута.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::setAttributeNodeNS() - Добавляет новый атрибут к элементу
  • DOMElement::removeAttributeNode() - Удаляет атрибут

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement


Возвращает значение атрибута

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement
PHP Manual

DOMElement::getAttributeNS

(PHP 5)

DOMElement::getAttributeNS — Возвращает значение атрибута

Описание

string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )

Получает значение атрибута в пространстве имен namespaceURI с локальным именем localName текущего элемента.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя.

Возвращаемые значения

Значение атрибута либо пустая строка, если атрибутов с заданным локальным именем localName в пространстве имен namespaceURI не найдено.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::setAttributeNS() - Добавляет новый атрибут
  • DOMElement::removeAttributeNS() - Удаляет атрибут

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement


Возвращает элементы по имени тэга

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement
PHP Manual

DOMElement::getElementsByTagName

(PHP 5)

DOMElement::getElementsByTagName — Возвращает элементы по имени тэга

Описание

DOMNodeList DOMElement::getElementsByTagName ( string $name )

Эта функция возвращает объект класса DOMNodeList - список всех элементов-потомков текущего узла с указанным именем тэга name, в порядке, в котором они встречаются при обходе дерева.

Список параметров

name

Имя тэга. Используйте символ * для выборки всех элементов дерева.

Возвращаемые значения

Эта функция возвращает новый объект класса DOMNodeList - список всех подходящих элементов.

Смотрите также

  • DOMElement::getElementsByTagNameNS() - Получение элементов по локальному имени в заданном пространстве имен

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement


Получение элементов по локальному имени в заданном пространстве имен

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement
PHP Manual

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNS — Получение элементов по локальному имени в заданном пространстве имен

Описание

DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Эта функция выбирает все элементы-потомки с заданным именем localName и пространством имен namespaceURI.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя. Используйте * для выбора всех элементов из дерева.

Возвращаемые значения

Эта функция возвращает новый объект класса DOMNodeList содержащий все подошедшие под шаблон выбора элементы в том порядке, в котором они появляются при прямом обходе дерева.

Смотрите также

  • DOMElement::getElementsByTagName() - Возвращает элементы по имени тэга

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement


Проверяет наличие атрибута

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement
PHP Manual

DOMElement::hasAttribute

(PHP 5)

DOMElement::hasAttribute — Проверяет наличие атрибута

Описание

bool DOMElement::hasAttribute ( string $name )

Проверяет наличие атрибута с именем, указанным в параметре name текущего элемента.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::getAttribute() - Возвращает значение атрибута
  • DOMElement::setAttribute() - Устанавливает значение атрибута
  • DOMElement::removeAttribute() - Удаляет атрибут

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement


Проверяет, существует ли заданный атрибут

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement
PHP Manual

DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS — Проверяет, существует ли заданный атрибут

Описание

bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Показывает, существует ли атрибут в пространстве имен namespaceURI с именем localName в составе элемента.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::getAttributeNS() - Возвращает значение атрибута
  • DOMElement::setAttributeNS() - Добавляет новый атрибут
  • DOMElement::removeAttributeNS() - Удаляет атрибут

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement


Удаляет атрибут

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement
PHP Manual

DOMElement::removeAttribute

(PHP 5)

DOMElement::removeAttribute — Удаляет атрибут

Описание

bool DOMElement::removeAttribute ( string $name )

Удаляет атрибут с именем name из элемента.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если атрибут доступен только для чтения.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::getAttribute() - Возвращает значение атрибута
  • DOMElement::setAttribute() - Устанавливает значение атрибута

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement


Удаляет атрибут

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement
PHP Manual

DOMElement::removeAttributeNode

(PHP 5)

DOMElement::removeAttributeNode — Удаляет атрибут

Описание

bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )

Удаляет узел атрибута oldnode из элемента.

Список параметров

oldnode

Узел атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NOT_FOUND_ERROR

Возникает, если oldnode не является атрибутом элемента.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::getAttributeNode() - Возвращает узел атрибута
  • DOMElement::setAttributeNode() - Добавляет новый узел атрибута к элементу

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement


Удаляет атрибут

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement
PHP Manual

DOMElement::removeAttributeNS

(PHP 5)

DOMElement::removeAttributeNS — Удаляет атрибут

Описание

bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )

Удаляет атрибут с пространством имен namespaceURI и локальным именем localName из элемента.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::getAttributeNS() - Возвращает значение атрибута
  • DOMElement::setAttributeNS() - Добавляет новый атрибут

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement


Устанавливает значение атрибута

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement
PHP Manual

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttribute — Устанавливает значение атрибута

Описание

DOMAttr DOMElement::setAttribute ( string $name , string $value )

Устанавливает значение атрибута с именем name. Если атрибут не существует, то он будет создан.

Список параметров

name

Имя атрибута.

value

Значение атрибута.

Возвращаемые значения

Новый объект класса DOMAttr или FALSE в случае ошибки.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

Примеры

Пример #1 Установка значения атрибута

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::getAttribute() - Возвращает значение атрибута
  • DOMElement::removeAttribute() - Удаляет атрибут

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement


Добавляет новый узел атрибута к элементу

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement
PHP Manual

DOMElement::setAttributeNode

(PHP 5)

DOMElement::setAttributeNode — Добавляет новый узел атрибута к элементу

Описание

DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )

Добавляет новый узел атрибута attr в элемент.

Список параметров

attr

Узел атрибута.

Возвращаемые значения

Возвращает старый узел, если атрибут был заменен, или NULL.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

Смотрите также

  • DOMElement::hasAttribute() - Проверяет наличие атрибута
  • DOMElement::getAttributeNode() - Возвращает узел атрибута
  • DOMElement::removeAttributeNode() - Удаляет атрибут

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement


Добавляет новый атрибут к элементу

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement
PHP Manual

DOMElement::setAttributeNodeNS

(PHP 5)

DOMElement::setAttributeNodeNS — Добавляет новый атрибут к элементу

Описание

DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )

Добавляет новый узел атрибута attr в элемент.

Список параметров

attr

Узел атрибута.

Возвращаемые значения

Возвращает старый узел, если атрибут был заменен.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::getAttributeNodeNS() - Возвращает узел атрибута
  • DOMElement::removeAttributeNode() - Удаляет атрибут

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement


Добавляет новый атрибут

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement
PHP Manual

DOMElement::setAttributeNS

(PHP 5)

DOMElement::setAttributeNS — Добавляет новый атрибут

Описание

void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

Устанавливает значение атрибута с пространстве имен namespaceURI и локальным именем name. Если атрибут не существует, он будет создан.

Список параметров

namespaceURI

URI пространства имен.

qualifiedName

Стандартизованное имя атрибута в виде prefix:tagname.

value

Значение атрибута.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NAMESPACE_ERR

Возникает, если значение qualifiedName построено неправильно или если qualifiedName имеет префикс, а namespaceURI имеет значение NULL.

Смотрите также

  • DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
  • DOMElement::getAttributeNS() - Возвращает значение атрибута
  • DOMElement::removeAttributeNS() - Удаляет атрибут

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement


Объявляет атрибут с заданным именем ключевым атрибутом

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement
PHP Manual

DOMElement::setIdAttribute

(PHP 5)

DOMElement::setIdAttribute — Объявляет атрибут с заданным именем ключевым атрибутом

Описание

void DOMElement::setIdAttribute ( string $name , bool $isId )

Объявляет атрибут name ключевым.

Список параметров

name

Имя атрибута.

isId

Установите значение в TRUE если требуется сделать name идентифицирующим, в противном случае ставьте FALSE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NOT_FOUND

Возникает, если name не является атрибутом элемента.

Смотрите также

  • DOMDocument::getElementById() - Ищет элемент с заданным id
  • DOMElement::setIdAttributeNode() - Объявляет заданный узал атрибута ключевым
  • DOMElement::setIdAttributeNS() - Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement


Объявляет заданный узал атрибута ключевым

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement
PHP Manual

DOMElement::setIdAttributeNode

(PHP 5)

DOMElement::setIdAttributeNode — Объявляет заданный узал атрибута ключевым

Описание

void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )

Объявляет атрибут, определяемый узлом attr идентифицирующим элемент атрибутом.

Список параметров

attr

Узел атрибута.

isId

Установите значение в TRUE если требуется сделать name идентифицирующим, в противном случае ставьте FALSE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NOT_FOUND

Возникает, если name не является атрибутом элемента.

Смотрите также

  • DOMDocument::getElementById() - Ищет элемент с заданным id
  • DOMElement::setIdAttribute() - Объявляет атрибут с заданным именем ключевым атрибутом
  • DOMElement::setIdAttributeNS() - Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement


Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим

DOMElement::setIdAttributeNode
DOMEntity
DOMElement
PHP Manual

DOMElement::setIdAttributeNS

(PHP 5)

DOMElement::setIdAttributeNS — Объявляет атрибут с заданным локальным именем и URI пространства имен идентифицирующим

Описание

void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

Объявляет атрибут с заданным локальным именем localName и пространством имен namespaceURI идентифицирующим элемент атрибутом.

Список параметров

namespaceURI

URI пространства имен атрибута.

localName

Локальное имя атрибута в виде prefix:tagname.

isId

Установите значение в TRUE если требуется сделать name идентифицирующим, в противном случае ставьте FALSE.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NOT_FOUND

Возникает, если name не является атрибутом элемента.

Смотрите также

  • DOMDocument::getElementById() - Ищет элемент с заданным id
  • DOMElement::setIdAttribute() - Объявляет атрибут с заданным именем ключевым атрибутом
  • DOMElement::setIdAttributeNode() - Объявляет заданный узал атрибута ключевым

DOMElement::setIdAttributeNode
DOMEntity
DOMElement


Класс DOMEntity

(PHP 5)

Введение

Этот интерфейс представляет заведомо известную сущность, уже разобранную или нет, в документе XML.

Обзор классов

DOMEntity extends DOMNode {
/* Свойства */
readonly public string $DOMEntity->publicId ;
readonly public string $systemId ;
readonly public string $notationName ;
public string $actualEncoding ;
readonly public string $encoding ;
readonly public string $version ;
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

publicId

Общедоступный идентификатор соответствующий сущности или NULL, если не задан.

systemId

Системный идентификатор соответствующий сущности или NULL, если не задан. Это может быть абсолютный URI.

notationName

Для неразобранных объектов - наименование условного обозначения для сущности. Для разобранных - NULL.

actualEncoding

Атрибут, задающий кодировку, которая использовалась при разборе сущности, для случаев, когда разбор производился внешними методами. Атрибут имеет значение NULL, если сущность находится во внутреннем подмножестве или этот факт не известен.

encoding

Атрибут, задающий кодировку сущности, равно как и в объявлении, когда сущность разобрана внешними средствами. В противном случае атрибут имеет значение NULL.

version

Атрибут, задающий версию элемента, если он был разобран внешними средствами. В противном случае NULL.

DOMElement::setIdAttributeNS
DOMEntityReference
DOM


Класс DOMEntityReference

(PHP 5)

Обзор классов

DOMEntityReference extends DOMNode {
/* Свойства */
/* Методы */
DOMEntityReference::__construct ( string $name )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Содержание

  • DOMEntityReference::__construct — Создает новый объект класса DOMEntityReference
DOMEntity
DOMEntityReference::__construct
DOM


Создает новый объект класса DOMEntityReference

DOMEntityReference
DOMException
DOMEntityReference
PHP Manual

DOMEntityReference::__construct

(PHP 5)

DOMEntityReference::__construct — Создает новый объект класса DOMEntityReference

Описание

DOMEntityReference::__construct ( string $name )

Создает новый объект класса DOMEntityReference.

Список параметров

name

Имя ссылки на сущность.

Примеры

Пример #1 Создание нового объекта DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root></root> */

?>

Смотрите также

  • DOMDocument::createEntityReference() - Создание нового узла-ссылки на сущность

DOMEntityReference
DOMException
DOMEntityReference


Класс DOMException

(PHP 5)

Введение

Методы объектов DOM в редких случаях выбрасывают исключения, например, когда выполнение операции невозможно по понятным логичным причинам.

См. также Исключения.

Обзор классов

DOMException extends Exception {
/* Свойства */
readonly public int $DOMException->code ;
/* Наследуемые методы */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Свойства

code

Целое число (integer) характеризующее тип произошедшей ошибки

DOMEntityReference::__construct
DOMImplementation
DOM


Класс DOMImplementation

(PHP 5)

Введение

Интерфейс DOMImplementation предоставляет несколько методов для осуществления операций зависящих от некоторых особенностей реализации объектной модели документа.

Обзор классов

DOMImplementation {
/* Свойства */
/* Методы */
DOMImplementation::__construct ( void )
DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )
DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )
bool DOMImplementation::hasFeature ( string $feature , string $version )
}

Содержание

  • DOMImplementation::__construct — Создает новый объект класса DOMImplementation
  • DOMImplementation::createDocument — Создает объект класса DOMDocument заданного типа с элементом document
  • DOMImplementation::createDocumentType — Создает пустой объект класса DOMDocumentType
  • DOMImplementation::hasFeature — Тестирует реализацию специфичных возможностей объекта DOMImplementation
DOMException
DOMImplementation::__construct
DOM


Создает новый объект класса DOMImplementation

DOMImplementation
DOMImplementation::createDocument
DOMImplementation
PHP Manual

DOMImplementation::__construct

(PHP 5)

DOMImplementation::__construct — Создает новый объект класса DOMImplementation

Описание

DOMImplementation::__construct ( void )

Создает экземпляр класса DOMImplementation.

DOMImplementation
DOMImplementation::createDocument
DOMImplementation


Создает объект класса DOMDocument заданного типа с элементом document

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation
PHP Manual

DOMImplementation::createDocument

(PHP 5)

DOMImplementation::createDocument — Создает объект класса DOMDocument заданного типа с элементом document

Описание

DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )

Создает объект класса DOMDocument заданного типа с элементом document.

Список параметров

namespaceURI

URI пространства имен элемента document.

qualifiedName

Имя элемента document.

doctype

Тип элемента document или NULL.

Возвращаемые значения

Новый объект класса DOMDocument. Если аргументы namespaceURI, qualifiedName, и doctype имеют значение null, возвращаемый объект DOMDocument будет пустым, без элементов document.

Ошибки

DOM_WRONG_DOCUMENT_ERR

Возникает, если аргумент doctype уже был использован с другим документом или был создан в другой реализации.

DOM_NAMESPACE_ERR

Возникает, если обнаружена ошибка в строках namespaceURI и qualifiedName.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Смотрите также

  • DOMDocument::__construct() - Создание нового DOMDocument объекта
  • DOMImplementation::createDocumentType() - Создает пустой объект класса DOMDocumentType

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation


Создает пустой объект класса DOMDocumentType

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation
PHP Manual

DOMImplementation::createDocumentType

(PHP 5)

DOMImplementation::createDocumentType — Создает пустой объект класса DOMDocumentType

Описание

DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )

Создает пустой объект класса DOMDocumentType. Объявления сущностей и условных обозначений будет недоступно. Ссылки на сущности не будут заменяться, и умолчания значений атрибутов не будут применены.

Список параметров

qualifiedName

Стандартизованное имя типа документа для создания.

publicId

Общедоступный идентификатор внешнего подмножества.

systemId

Системный идентификатор внешнего подмножества.

Возвращаемые значения

Новый объект класса DOMDocumentType с атрибутом ownerDocument установленным в NULL.

Ошибки

DOM_NAMESPACE_ERR

Возникает, если обнаружена ошибка в строке qualifiedName.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Создание документа с прикрепленной DTD

<?php

// Создает экземпляр класса DOMImplementation
$imp = new DOMImplementation;

// Создает экземпляр класса DOMDocumentType
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Создает объект DOMDocument
$dom = $imp->createDocument("", "", $dtd);

// установка других параметров
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// создание пустого элемента
$element = $dom->createElement('graph');

// присоединение элемента
$dom->appendChild($element);

// извлечение и печать документа
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Смотрите также

  • DOMImplementation::createDocument() - Создает объект класса DOMDocument заданного типа с элементом document

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation


Тестирует реализацию специфичных возможностей объекта DOMImplementation

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

DOMImplementation::hasFeature

(PHP 5)

DOMImplementation::hasFeature — Тестирует реализацию специфичных возможностей объекта DOMImplementation

Описание

bool DOMImplementation::hasFeature ( string $feature , string $version )

Тестирует реализацию специфичной возможности feature объекта DOMImplementation.

Вы можете найти список всех возможностей в разделе » Согласование стандарта DOM.

Список параметров

feature

Тестируемая возможность.

version

Номер версии тестируемой возможности feature. В DOM level 2 это может быть либо 2.0, либо 1.0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Примеры

Пример #1 Тестирование Вашей реализации DOM

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "Реализует возможность $name\n";
  } else {
    echo "Возможность $name отсутствует\n";
  }
}

?>

Смотрите также

  • DOMNode::isSupported() - Проверяет, поддерживается ли заданное свойство в определенной версии

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation


Класс DOMNamedNodeMap

(PHP 5)

Обзор классов

DOMNamedNodeMap {
/* Свойства */
readonly public int $DOMNamedNodeMap->length ;
/* Методы */
DOMNode DOMNamedNodeMap::getNamedItem ( string $name )
DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )
DOMNode DOMNamedNodeMap::item ( int $index )
}

Свойства

length

Количество узлов в отображении. Диапазон допустимых индексов узлов-потомков от 0 до length - 1 включительно.

Содержание

  • DOMNamedNodeMap::getNamedItem — Извлекает узел с заданным именем
  • DOMNamedNodeMap::getNamedItemNS — Извлекает узел с заданным локальным именем и URI пространства имен
  • DOMNamedNodeMap::item — Извлекает узел с заданным индексом
DOMImplementation::hasFeature
DOMNamedNodeMap::getNamedItem
DOM


Извлекает узел с заданным именем

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItem

(PHP 5)

DOMNamedNodeMap::getNamedItem — Извлекает узел с заданным именем

Описание

DOMNode DOMNamedNodeMap::getNamedItem ( string $name )

Извлекает узел с заданным значением тэга nodeName.

Список параметров

name

Значение тэга nodeName искомого узла.

Возвращаемые значения

Узел (любого типа) с заданным значением тэга nodeName или NULL, если таковых не найдено.

Смотрите также

  • DOMNamedNodeMap::getNamedItemNS() - Извлекает узел с заданным локальным именем и URI пространства имен

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap


Извлекает узел с заданным локальным именем и URI пространства имен

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItemNS

(PHP 5)

DOMNamedNodeMap::getNamedItemNS — Извлекает узел с заданным локальным именем и URI пространства имен

Описание

DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )

Извлекает узел с заданным локальным именем localName и URI пространства имен namespaceURI.

Список параметров

namespaceURI

URI пространства имен искомого узла.

localName

Локальное имя искомого узла.

Возвращаемые значения

Узел (любого типа) с заданным локальным именем и URI пространства имен или NULL, если таковых не найдено.

Смотрите также

  • DOMNamedNodeMap::getNamedItem() - Извлекает узел с заданным именем

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap


Извлекает узел с заданным индексом

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::item

(PHP 5)

DOMNamedNodeMap::item — Извлекает узел с заданным индексом

Описание

DOMNode DOMNamedNodeMap::item ( int $index )

Извлекает узел с заданным индексом index из объекта класса DOMNamedNodeMap.

Список параметров

index

Индекс узла в отображении.

Возвращаемые значения

Узел с индексом index в отображении или NULL, если индекс имеет недопустимое значение (больше или равен количеству узлов в отображении).

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap


Класс DOMNode

(PHP 5)

Обзор классов

DOMNode {
/* Свойства */
public readonly string $DOMNode->nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode $firstChild ;
public readonly DOMNode $lastChild ;
public readonly DOMNode $previousSibling ;
public readonly DOMNode $nextSibling ;
public readonly DOMNamedNodeMap $attributes ;
public readonly DOMDocument $ownerDocument ;
public readonly string $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string $baseURI ;
public string $textContent ;
/* Методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

nodeName

Возвращает имя текущего узла

nodeValue

Возращает значение текущего узла

nodeType

Возвращает тип текущего узла. Возможные варианты возвращаемых значений nodeType перечисленны в разделе констатнты XML_xxx_NODE

parentNode

Возвращает родительский узел текущего узла

childNodes

Возвращает список DOMNodeList, содержащий всех потомков текущего узла. Если у узла нет потомков, возвращает пустой список DOMNodeList.

firstChild

Возвращает первый дочерний узел текущего узла. Если у узла нет потомков, возвращает NULL.

lastChild

Возвращает последний дочерний узел текущего узла. Если у узла нет потомков, возвращает NULL.

previousSibling

Возвращает предыдущий узел непосредственно от текущего узла. Если такого узла нет, возвращает NULL.

nextSibling

Возвращает следующий узел после текущего узла. Если такого узла нет, возвращает NULL.

attributes

Возвращает объект DOMNamedNodeMap, содержащий атрибуты текущего узла (только если это DOMElement), иначе вернёт NULL.

ownerDocument

Возвращает корневой узел DOMDocument текущего узла.

namespaceURI

Вернёт пространство имён текущего узла или NULL если оно не установленно.

prefix

Вернёт префикс текущего узла или NULL если оно не установленно.

localName

Возвращает локальное имя текущего узла.

baseURI

Возвращает универсальный код ресурса (URI) текущего узела или NULL, если не удалось получить URI.

textContent

Этот атрибут возвращает текстовое содержимое текущего узла и его потомков

Примечания

Замечание:

Расширение DOM использует кодировку UTF-8. Используйте функции utf8_encode() и utf8_decode() для работы с текстами в кодировке ISO-8859-1 или функцию Iconv для других кодировок.

Смотрите также

  • » Спецификация W3C элемента Node

Содержание

  • DOMNode::appendChild — Добавляет новый дочерний узел в конец списка потомков
  • DOMNode::cloneNode — Клонирует узел
  • DOMNode::getLineNo — Возвращает номер строки узла
  • DOMNode::getNodePath — Get an XPath for a node
  • DOMNode::hasAttributes — Проверяет, содержит ли данный узел атрибуты
  • DOMNode::hasChildNodes — Проверяет, содержит ли данный узел потомков
  • DOMNode::insertBefore — Добавляет новый дочерний узел перед опорным узлом
  • DOMNode::isDefaultNamespace — Проверяет, совпадает ли URI пространства имен узла с пространством имен по умолчанию
  • DOMNode::isSameNode — Проверяет, являются ли два узла одним и тем же узлом
  • DOMNode::isSupported — Проверяет, поддерживается ли заданное свойство в определенной версии
  • DOMNode::lookupNamespaceURI — Получает URI пространства имен узла по префиксу
  • DOMNode::lookupPrefix — Возвращает префикс пространства имен узла из URI пространства имен
  • DOMNode::normalize — Нормализует узел
  • DOMNode::removeChild — Удаляет дочерний узел из списка потомков
  • DOMNode::replaceChild — Заменяет дочерний узел
DOMNamedNodeMap::item
DOMNode::appendChild
DOM


Добавляет новый дочерний узел в конец списка потомков

DOMNode
DOMNode::cloneNode
DOMNode
PHP Manual

DOMNode::appendChild

(PHP 5)

DOMNode::appendChild — Добавляет новый дочерний узел в конец списка потомков

Описание

DOMNode DOMNode::appendChild ( DOMNode $newnode )

Функция добавляет дочерний узел к существующему списку потомков или создает новый список. Дочерний узел может быть создан с помощью DOMDocument::createElement(), DOMDocument::createTextNode() и т.д., или может быть использован любой другой узел.

Список параметров

newnode

Добавляемый дочерний узел.

Возвращаемые значения

Добавленный узел.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения или предыдущий родитель вставляемого узла доступен только для чтения.

DOM_HIERARCHY_REQUEST_ERR

Возникает, если тип узла не поддерживает потомков типа, который имеет узел newnode, или же если добавляемый узел является предком целевого узла или им самим.

DOM_WRONG_DOCUMENT_ERR

Возникает, если newnode создан в другом документе, отличном от того, в котором был создан этот узел.

Примеры

Следующий пример добавляет новый узел в только что созданный документ.

Пример #1 Добавление дочернего узла

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Смотрите также

  • DOMNode::removeChild() - Удаляет дочерний узел из списка потомков
  • DOMNode::replaceChild() - Заменяет дочерний узел

DOMNode
DOMNode::cloneNode
DOMNode


Клонирует узел

DOMNode::appendChild
DOMNode::getLineNo
DOMNode
PHP Manual

DOMNode::cloneNode

(PHP 5)

DOMNode::cloneNode — Клонирует узел

Описание

DOMNode DOMNode::cloneNode ([ bool $deep ] )

Создает копию узла.

Список параметров

deep

Указывает, нужно ли копировать всех потомков. Этот параметр по умолчанию имеет значение FALSE.

Возвращаемые значения

Копия узла.

DOMNode::appendChild
DOMNode::getLineNo
DOMNode


Возвращает номер строки узла

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode
PHP Manual

DOMNode::getLineNo

(PHP 5 >= 5.3.0)

DOMNode::getLineNo — Возвращает номер строки узла

Описание

public int DOMNode::getLineNo ( void )

Возвращает номер строки, в которой определен узел.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Всегда возращает номер строки, в которой был определен узел.

Примеры

Пример #1 Пример использования DOMNode::getLineNo()

<?php
// Определяем необходимый для примера XML
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <node />
</root>
XML;

// Создаем новый экземпляр DOMDocument
$dom = new DOMDocument;

// Загружаем XML
$dom->loadXML($xml);

// Выводим номер строки, в которой определен элемент 'node'
printf('Тег <node> определен в строке %d', $dom->getElementsByTagName('node')->item(0)->getLineNo());
?>

Результат выполнения данного примера:

Тег <node> определен в строке 3

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode


Get an XPath for a node

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode
PHP Manual

DOMNode::getNodePath

(PHP 5 >= 5.2.0)

DOMNode::getNodePath — Get an XPath for a node

Описание

public string DOMNode::getNodePath ( void )

Gets an XPath location path for the node.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Returns a string containing the XPath, or NULL in case of an error.

Примеры

Пример #1 DOMNode::getNodePath() example

<?php
// Create a new DOMDocument instance
$dom = new DOMDocument;

// Load the XML
$dom->loadXML('
<fruits>
 <apples>
  <apple>braeburn</apple>
  <apple>granny smith</apple>
 </apples>
 <pears>
  <pear>conference</pear>
 </pears>
</fruits>
');

// Print XPath for each element
foreach ($dom->getElementsByTagName('*') as $node) {
    echo $node->getNodePath() . "\n";
}
?>

Результат выполнения данного примера:

/fruits
/fruits/apples
/fruits/apples/apple[1]
/fruits/apples/apple[2]
/fruits/pears
/fruits/pears/pear

Смотрите также

  • DOMXPath

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode


Проверяет, содержит ли данный узел атрибуты

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode
PHP Manual

DOMNode::hasAttributes

(PHP 5)

DOMNode::hasAttributes — Проверяет, содержит ли данный узел атрибуты

Описание

bool DOMNode::hasAttributes ( void )

Этот метод проверяет, содержит ли данный узел атрибуты. Проверяемый узел должен быть XML_ELEMENT_NODE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMNode::hasChildNodes() - Проверяет, содержит ли данный узел потомков

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode


Проверяет, содержит ли данный узел потомков

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode
PHP Manual

DOMNode::hasChildNodes

(PHP 5)

DOMNode::hasChildNodes — Проверяет, содержит ли данный узел потомков

Описание

bool DOMNode::hasChildNodes ( void )

Эта функция проверяет, содержит ли данный узел потомков.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMNode::hasAttributes() - Проверяет, содержит ли данный узел атрибуты

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode


Добавляет новый дочерний узел перед опорным узлом

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode
PHP Manual

DOMNode::insertBefore

(PHP 5)

DOMNode::insertBefore — Добавляет новый дочерний узел перед опорным узлом

Описание

DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )

Данная функция вставляет новый узел перед опорным узлом. Чтобы дальше модифицировать добавляемый узел, необходимо использовать возвращаемый узел

Список параметров

newnode

Новый узел.

refnode

Опорный узел. Если отсутствует, то newnode добавляется в конец списка потомков.

Возвращаемые значения

Добавленный узел.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения или предыдущий родитель вставляемого узла доступен только для чтения.

DOM_HIERARCHY_REQUEST_ERR

Возникает, если тип узла не поддерживает потомков типа, который имеет узел newnode, или же если добавляемый узел является предком целевого узла или им самим.

DOM_WRONG_DOCUMENT_ERR

Возникает, если newnode создан в другом документе, отличном от того, в котором был создан этот узел.

DOM_NOT_FOUND

Возникает, если refnode не является дочерним узлом данного узла.

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode


Проверяет, совпадает ли URI пространства имен узла с пространством имен по умолчанию

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode
PHP Manual

DOMNode::isDefaultNamespace

(PHP 5)

DOMNode::isDefaultNamespace — Проверяет, совпадает ли URI пространства имен узла с пространством имен по умолчанию

Описание

bool DOMNode::isDefaultNamespace ( string $namespaceURI )

Сообщает, является ли namespaceURI пространством имен по умолчанию.

Список параметров

namespaceURI

URI пространства имен.

Возвращаемые значения

Возвращает TRUE если namespaceURI является пространством имен по умолчанию или FALSE в противном случае.

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode


Проверяет, являются ли два узла одним и тем же узлом

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode
PHP Manual

DOMNode::isSameNode

(PHP 5)

DOMNode::isSameNode — Проверяет, являются ли два узла одним и тем же узлом

Описание

bool DOMNode::isSameNode ( DOMNode $node )

Эта функция проверяет, являются ли два узла одним и тем же узлом. Данное сравнение происходит не на основе содержимого узлов.

Список параметров

node

Сравниваемый узел.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode


Проверяет, поддерживается ли заданное свойство в определенной версии

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode
PHP Manual

DOMNode::isSupported

(PHP 5)

DOMNode::isSupported — Проверяет, поддерживается ли заданное свойство в определенной версии

Описание

bool DOMNode::isSupported ( string $feature , string $version )

Проверяет, поддерживается ли заданное свойство feature в определенной версии version.

Список параметров

feature

Название свойства для проверки. Список названий модулей приведен в примере к DOMImplementation::hasFeature().

version

Номер версии модуля (feature) для проверки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMImplementation::hasFeature() - Тестирует реализацию специфичных возможностей объекта DOMImplementation

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode


Получает URI пространства имен узла по префиксу

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode
PHP Manual

DOMNode::lookupNamespaceURI

(PHP 5)

DOMNode::lookupNamespaceURI — Получает URI пространства имен узла по префиксу

Описание

string DOMNode::lookupNamespaceURI ( string $prefix )

Получает URI пространства имен узла по префиксу prefix.

Список параметров

prefix

Префикс пространства имен.

Возвращаемые значения

URI пространства имен узла.

Смотрите также

  • DOMNode::lookupPrefix() - Возвращает префикс пространства имен узла из URI пространства имен

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode


Возвращает префикс пространства имен узла из URI пространства имен

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode
PHP Manual

DOMNode::lookupPrefix

(PHP 5)

DOMNode::lookupPrefix — Возвращает префикс пространства имен узла из URI пространства имен

Описание

string DOMNode::lookupPrefix ( string $namespaceURI )

Возвращает префикс пространства имен узла из URI пространства имен.

Список параметров

namespaceURI

URI пространства имен.

Возвращаемые значения

Префикс пространства имен.

Смотрите также

  • DOMNode::lookupNamespaceURI() - Получает URI пространства имен узла по префиксу

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode


Нормализует узел

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode
PHP Manual

DOMNode::normalize

(PHP 5)

DOMNode::normalize — Нормализует узел

Описание

void DOMNode::normalize ( void )

Нормализует узел.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • » Спецификация DOM
  • DOMDocument::normalizeDocument() - Нормализует документ

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode


Удаляет дочерний узел из списка потомков

DOMNode::normalize
DOMNode::replaceChild
DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild — Удаляет дочерний узел из списка потомков

Описание

DOMNode DOMNode::removeChild ( DOMNode $oldnode )

Эта функция удаляет дочерний узел из списка потомков.

Список параметров

oldnode

Удаляемый дочерний узел.

Возвращаемые значения

Функция возращает удаляемый дочерний узел, если он может быть удален.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения.

DOM_NOT_FOUND

Возникает, если oldnode не является дочерним узлом данного узла.

Примеры

Следующий пример удаляет элемент chapter (глава) из XML-документа.

Пример #1 Удаление дочернего узла

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// находим главу (chapter) и удалям из книги (book)
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Пример #2 Сохраняем URI пространства имен родительского узла

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// находим главу (chapter) и удалям из книги (book)
$chapter = $book->getElementsByTagName('chapter')->item(0);

// копируем URI пространства имен
$nsuri = $book->namespaceURI;

// удаляем дочерний узел
$book->removeChild($chapter);

// вставляем URI пространства имен обратно в родительский узел
$book->namespaceURI = $nsuri;
?>

Примечания

Замечание:

После вызова этого метода свойство DOMNode::$namespaceURI родительского узла сбрасывается в NULL. В примере выше показано, как это обойти.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMNode::replaceChild() - Заменяет дочерний узел

DOMNode::normalize
DOMNode::replaceChild
DOMNode


Заменяет дочерний узел

DOMNode::removeChild
DOMNodeList
DOMNode
PHP Manual

DOMNode::replaceChild

(PHP 5)

DOMNode::replaceChild — Заменяет дочерний узел

Описание

DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )

Функция заменяет дочерний узел oldnode новым узлом. Если новый узел уже является дочерним, то не будет добавлен во второй раз. Если замена прошла успешно, то будет возвращен старый (заменяемый) узел.

Список параметров

newnode

Новый узел. Должен быть частью целевого документа, то есть создан посредством одного из методов DOMDocument->createXXX() или импортирован в документ через DOMDocument::importNode.

oldnode

Старый узел.

Возвращаемые значения

Старый узел или FALSE в случае возникновения ошибки.

Ошибки

DOM_NO_MODIFICATION_ALLOWED_ERR

Возникает, если узел доступен только для чтения или предыдущий родитель вставляемого узла доступен только для чтения.

DOM_HIERARCHY_REQUEST_ERR

Возникает, если тип узла не поддерживает потомков типа, который имеет узел newnode, или же если добавляемый узел является предком целевого узла или им самим.

DOM_WRONG_DOCUMENT_ERR

Возникает, если newnode создан в другом документе, отличном от того, в котором был создан этот узел.

DOM_NOT_FOUND

Возникает, если oldnode не является дочерним узлом данного узла.

Смотрите также

  • DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
  • DOMNode::removeChild() - Удаляет дочерний узел из списка потомков

DOMNode::removeChild
DOMNodeList
DOMNode


Класс DOMNodeList

(PHP 5)

Обзор классов

Traversable
DOMNodeList {
/* Свойства */
readonly public int $DOMNodeList->length ;
/* Методы */
DOMNode DOMNodelist::item ( int $index )
}

Свойства

length

Количество узлов, вошедших в список. Индексы в узлов списке лежат в промежутке от 0 до length - 1 включительно.

Содержание

  • DOMNodelist::item — Извлекает узел с заданным индексом
DOMNode::replaceChild
DOMNodelist::item
DOM


Извлекает узел с заданным индексом

DOMNodeList
DOMNotation
DOMNodeList
PHP Manual

DOMNodelist::item

(PHP 5)

DOMNodelist::item — Извлекает узел с заданным индексом

Описание

DOMNode DOMNodelist::item ( int $index )

Извлекает узел с заданным индексом index из объекта класса DOMNodeList.

Подсказка

Если требуется узнать количество узлов в коллекции, используйте свойство length объекта класса DOMNodeList.

Список параметров

index

Индекс узла в коллекции.

Возвращаемые значения

Узел находящийся в позиции index объекта DOMNodeList или NULL если этот индекс недопустим.

Примеры

Пример #1 Вывод содержимого таблицы

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Также можно воспользоваться оператором foreach, данном случае этот вариант является более удобным и предпочтительным:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

Результат выполнения данного примера:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

DOMNodeList
DOMNotation
DOMNodeList


Класс DOMNotation

(PHP 5)

Обзор классов

DOMNotation extends DOMNode {
/* Свойства */
readonly public string $DOMNotation->publicId ;
readonly public string $systemId ;
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

publicId

Требуется описание

systemId

Требуется описание

DOMNodelist::item
DOMProcessingInstruction
DOM


Класс DOMProcessingInstruction

(PHP 5)

Обзор классов

DOMProcessingInstruction extends DOMNode {
/* Свойства */
readonly public string $DOMProcessingInstruction->target ;
public string $data ;
/* Методы */
__construct ( string $name [, string $value ] )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

target

Требуется описание

data

Требуется описание

Содержание

  • DOMProcessingInstruction::__construct — Создает новый объект классаDOMProcessingInstruction
DOMNotation
DOMProcessingInstruction::__construct
DOM


Создает новый объект классаDOMProcessingInstruction

DOMProcessingInstruction
DOMText
DOMProcessingInstruction
PHP Manual

DOMProcessingInstruction::__construct

(PHP 5)

DOMProcessingInstruction::__construct — Создает новый объект классаDOMProcessingInstruction

Описание

DOMProcessingInstruction::__construct ( string $name [, string $value ] )

Создает новый объект класса DOMProcessingInstruction. Этот объект будет доступен только для чтения. Он может быть добавлен в документ. Дополнительные узлы нельзя прикрепить к этому объекту, пока он присоединен к какому-либо документу. Для создания модифицируемого узла используйте DOMDocument::createProcessingInstruction.

Список параметров

name

Имя инструкции для обработчика.

value

Значение инструкции для обработчика.

Примеры

Пример #1 Создание объекта класса DOMProcessingInstruction

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Hello World"; ?></body></html>

Смотрите также

  • DOMDocument::createProcessingInstruction() - Создает новый PI-узел

DOMProcessingInstruction
DOMText
DOMProcessingInstruction


The DOMText class

(PHP 5)

Введение

Класс DOMText - это потомок класса DOMCharacterData и он содержит текстовой контент узлов, представленных объектами классов DOMElement или DOMAttr.

Обзор классов

DOMText extends DOMCharacterData {
/* Свойства */
readonly public string $DOMText->wholeText ;
/* Методы */
public DOMText::__construct ([ string $value ] )
bool DOMText::isWhitespaceInElementContent ( void )
DOMText DOMText::splitText ( int $offset )
/* Наследуемые методы */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

wholeText

Содержит все смежные (не разделенные другими элементами, комментариями или инструкциями) текстовые узлы элемента.

Содержание

  • DOMText::__construct — Создает объект класса DOMText
  • DOMText::isWhitespaceInElementContent — Определяет, содержит ли текстовый узел пробел в содержимом
  • DOMText::splitText — Разделяет узел на два, начиная с заданной позиции
DOMProcessingInstruction::__construct
DOMText::__construct
DOM


Создает объект класса DOMText

DOMText
DOMText::isWhitespaceInElementContent
DOMText
PHP Manual

DOMText::__construct

(PHP 5)

DOMText::__construct — Создает объект класса DOMText

Описание

public DOMText::__construct() ([ string $value ] )

Создает новый экземпляр класса DOMText.

Список параметров

value

Значение текстового узла. Если значение не передано, будет создан пустой текстовый узел.

Примеры

Пример #1 Создание нового узла DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>root value</root> */

?>

Смотрите также

  • DOMDocument::createTextNode() - Создает новый текстовый узел

DOMText
DOMText::isWhitespaceInElementContent
DOMText


Определяет, содержит ли текстовый узел пробел в содержимом

DOMText::__construct
DOMText::splitText
DOMText
PHP Manual

DOMText::isWhitespaceInElementContent

(PHP 5)

DOMText::isWhitespaceInElementContent — Определяет, содержит ли текстовый узел пробел в содержимом

Описание

bool DOMText::isWhitespaceInElementContent ( void )

Определяет, содержит ли текстовый узел пробел в содержимом. Текстовые узлы могут содержать пробелы в своем содержимом в течение загрузки документа.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMText::__construct
DOMText::splitText
DOMText


Разделяет узел на два, начиная с заданной позиции

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText
PHP Manual

DOMText::splitText

(PHP 5)

DOMText::splitText — Разделяет узел на два, начиная с заданной позиции

Описание

DOMText DOMText::splitText ( int $offset )

Разделяет узел на два, вторая часть начинается с позиции offset, полученные узлы становятся братьями.

После разделения исходный узел будет содержать данные до позиции offset. Если исходный узел имеет родителя, то второй, созданный, узел станет следующим братом исходного узла. Если offset равно длине содержимого узла, новый узел все равно будет создан, но не будет содержать данных.

Список параметров

offset

Позиция, с которой узле будет разделен, начиная с 0.

Возвращаемые значения

Новый узел того же типа содержащий данные после offset.

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText


Класс DOMXPath

(PHP 5)

Введение

Поддерживает XPath 1.0

Обзор классов

DOMXPath {
/* Свойства */
public DOMDocument $DOMXPath->document ;
/* Методы */
__construct ( DOMDocument $doc )
mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )
public void DOMXPath::registerPhpFunctions ([ mixed $restrict ] )
}

Свойства

document

Требуется описание

Содержание

  • DOMXPath::__construct — Создает новый объект класса DOMXPath
  • DOMXPath::evaluate — Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно
  • DOMXPath::query — Выполняет заданное XPath выражение
  • DOMXPath::registerNamespace — Ассоциирует пространство имен с объектом DOMXPath
  • DOMXPath::registerPhpFunctions — Регистрация функций PHP как XPath функций
DOMText::splitText
DOMXPath::__construct
DOM


Создает новый объект класса DOMXPath

DOMXPath
DOMXPath::evaluate
DOMXPath
PHP Manual

DOMXPath::__construct

(PHP 5)

DOMXPath::__construct — Создает новый объект класса DOMXPath

Описание

DOMXPath::__construct ( DOMDocument $doc )

Создает новый объект класса DOMXPath.

Список параметров

doc

Объект класса DOMDocument связанный с DOMXPath.

DOMXPath
DOMXPath::evaluate
DOMXPath


Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно

DOMXPath::__construct
DOMXPath::query
DOMXPath
PHP Manual

DOMXPath::evaluate

(PHP 5 >= 5.1.0)

DOMXPath::evaluate — Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно

Описание

mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Выполняет переданное XPath выражение expression и возвращает типизированный результат, если это возможно.

Список параметров

expression

XPath выражение для выполнения.

contextnode

Дополнительный параметр contextnode может быть использован для указания обрабатывать относительные XPath запросы. По умолчанию запросы выполняются относительно корневого элемента.

registerNodeNS

Посредством необязательного аргумента registerNodeNS можно отключить автоматическую регистрацию контекста узла.

Возвращаемые значения

Возвращает типизированный результат, если это возможно, либо объект DOMNodeList содержащий все узлы, соответствующие заданному XPath выражению expression.

Если значение аргумента expression построено неправильно или contextnode имеет неверное значение, DOMXPath::evaluate() вернет FALSE.

Список изменений

Версия | Описание
5.3.3 | Добавлен аргумент registerNodeNS.

Примеры

Пример #1 Определение количества всех английских книг

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// запрос информации относительно узла tbody
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "Всего английских книг $entries\n";

?>

Результат выполнения данного примера:

Всего английских книг 2

Смотрите также

  • DOMXPath::query() - Выполняет заданное XPath выражение

DOMXPath::__construct
DOMXPath::query
DOMXPath


Выполняет заданное XPath выражение

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath
PHP Manual

DOMXPath::query

(PHP 5)

DOMXPath::query — Выполняет заданное XPath выражение

Описание

DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Выполняет заданный XPath запрос expression.

Список параметров

expression

XPath запрос.

contextnode

Дополнительный параметр contextnode может быть использован для указания обрабатывать относительные XPath запросы. По умолчанию запросы выполняются относительно корневого элемента.

registerNodeNS

Посредством необязательного аргумента registerNodeNS можно отключить автоматическую регистрацию контекста узла.

Возвращаемые значения

Возвращает объект DOMNodeList содержащий узлы, отвечающие условиям отбора в XPath expression. Любой запрос, не возвращающий узлов, вернет пустой объект DOMNodeList.

Если значение аргумента expression построено неправильно или contextnode имеет неверное значение, DOMXPath::query() вернет FALSE.

Список изменений

Версия | Описание
5.3.3 | Добавлен аргумент registerNodeNS.

Примеры

Пример #1 Получение списка всех книг на английском

<?php

$doc = new DOMDocument;

// нам не нужны проблемы с пробелами
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// начинаем с корневого элемента
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Найдена книга {$entry->previousSibling->previousSibling->nodeValue}," .
         " автор {$entry->previousSibling->nodeValue}\n";
}
?>

Результат выполнения данного примера:

Найдена книга The Grapes of Wrath, автор John Steinbeck
Найдена книга The Pearl, автор John Steinbeck

Можно также использовать аргумент contextnode для более короткой записи выражения:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// запрос относительно узла tbody
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Найдена книга {$entry->previousSibling->previousSibling->nodeValue}," .
         " автор {$entry->previousSibling->nodeValue}\n";
}
?>

Смотрите также

  • DOMXPath::evaluate() - Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath


Ассоциирует пространство имен с объектом DOMXPath

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath
PHP Manual

DOMXPath::registerNamespace

(PHP 5)

DOMXPath::registerNamespace — Ассоциирует пространство имен с объектом DOMXPath

Описание

bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )

Ассоциирует URI пространства имен namespaceURI и префикс prefix с объектом DOMXPath.

Список параметров

prefix

Префикс.

namespaceURI

URI пространства имен.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath


Регистрация функций PHP как XPath функций

DOMXPath::registerNamespace
DOM Функции
DOMXPath
PHP Manual

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0)

DOMXPath::registerPhpFunctions — Регистрация функций PHP как XPath функций

Описание

public void DOMXPath::registerPhpFunctions ([ mixed $restrict ] )

Этот метод включает возможность использовать PHP функции в XPath выражениях.

Список параметров

restrict

Используйте этот аргумент для включения возможности вызывать из XPath выражений только определенные функции.

Этот аргумент может иметь тип string (имя функции) или array (массив имен функций).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Дальнейшие примеры используют файл book.xml, содержимое которого следующее:

Пример #1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Пример #2 DOMXPath::registerPHPFunctions() с php:functionString

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Регистрация PHP: пространство имен (необходимо)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Регистрация PHP функций (без ограничений)
$xpath->registerPHPFunctions();

// Вызов функции substr применительно к названию книги
$nodes = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "Найдены книги {$nodes->length} начинающиеся со слова 'PHP':\n";
foreach ($nodes as $node) {
    $title  = $node->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $node->getElementsByTagName("author")->item(0)->nodeValue;
    echo "$title автора $author\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Найдены книги (2) начинающиеся со слова 'PHP':
PHP Basics автора Jim Smith
PHP Secrets автора Jenny Smythe

Пример #3 DOMXPath::registerPHPFunctions() с php:function

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Регистрация PHP: пространство имен (необходимо)
$xpath->registerNamespace("php", "http://php.net/xpath");

// регистрация PHP функций (только has_multiple)
$xpath->registerPHPFunctions("has_multiple");

function has_multiple($nodes) {
    // возвращает true, если более одного автора
    return count($nodes) > 1;
}
// Отбор книг с двумя и более авторами
$books = $xpath->query('//book[php:function("has_multiple", author)]');

echo "Книги с двумя и более авторами:\n";
foreach ($books as $book) {
    echo $book->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

Результатом выполнения данного примера будет что-то подобное:

Книги с двумя и более авторами:
PHP Basics

Смотрите также

  • DOMXPath::registerNamespace() - Ассоциирует пространство имен с объектом DOMXPath
  • DOMXPath::query() - Выполняет заданное XPath выражение
  • DOMXPath::evaluate() - Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно

DOMXPath::registerNamespace
DOM Функции
DOMXPath


DOM Функции

Содержание

  • dom_import_simplexml — Получает объект класса DOMElement из объекта класса SimpleXMLElement
DOMXPath::registerPhpFunctions
dom_import_simplexml
DOM


Получает объект класса DOMElement из объекта класса SimpleXMLElement

DOM Функции
DOM XML (PHP 4)
DOM Функции
PHP Manual

dom_import_simplexml

(PHP 5)

dom_import_simplexml — Получает объект класса DOMElement из объекта класса SimpleXMLElement

Описание

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

Эта функция берет узел node класса SimpleXML и превращает его в узел DOMElement. Затем этот новый объект может быть использован как нативный узел DOMElement.

Список параметров

node

Узел SimpleXMLElement.

Возвращаемые значения

Добавленный узел DOMElement или FALSE в случае возникновения любых ошибок.

Примеры

Пример #1 Импорт SimpleXML в DOM с помощью функции dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>чепуха</title></book></books>');

if ($sxe === false) {
    echo 'Ошибка при разборе документа';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Ошибка при преобразовании XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Смотрите также

  • simplexml_import_dom() - Получает объект класса SimpleXMLElement из узла DOM.

DOM Функции
DOM XML (PHP 4)
DOM Функции


DOM XML (PHP 4)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • DOM XML (PHP 4) Функции
    • DomAttribute->name — Возвращает имя атрибута
    • DomAttribute->set_value — Устанавливает значение атрибута
    • DomAttribute->specified — Проверяет, задан ли атрибут
    • DomAttribute->value — Возвращает значение атрибута
    • DomDocument->add_root — Добавляет корневой узел [устаревший метод]
    • DomDocument->create_attribute — Создает новый атрибут
    • DomDocument->create_cdata_section — Создает новый узел типа cdata
    • DomDocument->create_comment — Создает новый узел-комментарий
    • DomDocument->create_element_ns — Создает новый элемент с соответствующим пространством имен
    • DomDocument->create_element — Создает новый узел-элемент
    • DomDocument->create_entity_reference — Создает ссылку на сущность
    • DomDocument->create_processing_instruction — Создает новый PI узел
    • DomDocument->create_text_node — Создает новый текстовый узел
    • DomDocument->doctype — Возвращает тип документа
    • DomDocument->document_element — Возвращает узел корневого элемента
    • DomDocument->dump_file — Сохраняет XML дерево в файл
    • DomDocument->dump_mem — Представляет XML дерево в виде строки
    • DomDocument->get_element_by_id — Ищет элемент с заданным id
    • DomDocument->get_elements_by_tagname — Возвращает массив узлов с заданным тэгом в документе или пустой массив, если таких элементов не найдено
    • DomDocument->html_dump_mem — Преобразует дерево XML в HTML строку
    • DomDocument->xinclude — Подстановка XIncludes в объекте DomDocument
    • DomDocumentType->entities — Возвращает список сущностей
    • DomDocumentType->internal_subset — Возвращает подмножество внутренней структуры dom документа
    • DomDocumentType->name — Возвращает имя типа документа
    • DomDocumentType->notations — Возвращает список обозначений
    • DomDocumentType->public_id — Возвращает общедоступный (public) идентификатор типа документа
    • DomDocumentType->system_id — Возвращает системный идентификатор типа документа
    • DomElement->get_attribute_node — Возвращает узел заданного атрибута
    • DomElement->get_attribute — Возвращает значение заданного атрибута
    • DomElement->get_elements_by_tagname — Получает элементы по имени
    • DomElement->has_attribute — Проверяет, есть ли атрибут в текущем узле
    • DomElement->remove_attribute — Удаляет атрибут
    • DomElement->set_attribute_node — Добавляет новый атрибут
    • DomElement->set_attribute — Устанавливает значение атрибута
    • DomElement->tagname — Возвращает имя текущего элемента
    • DomNode->add_namespace — Добавляет узлу объявление пространства имен
    • DomNode->append_child — Добавляет нового сына в конец списка сыновей
    • DomNode->append_sibling — Добавляет к узлу нового брата
    • DomNode->attributes — Возвращает список атрибутов
    • DomNode->child_nodes — Возвращает сыновей узла
    • DomNode->clone_node — Копирует узел
    • DomNode->dump_node — Представляет одиночный узел в виде строки
    • DomNode->first_child — Возвращает первого сына узла
    • DomNode->get_content — Получает содержимое узла
    • DomNode->has_attributes — Проверяет, есть ли в узле атрибуты
    • DomNode->has_child_nodes — Проверяет, есть ли у узла потомки
    • DomNode->insert_before — Вставляет новый узел в качестве сына
    • DomNode->is_blank_node — Проверяет, есть ли содержимое в узле
    • DomNode->last_child — Возвращает последнего сына узла
    • DomNode->next_sibling — Возвращает следующего брата узла
    • DomNode->node_name — Возвращает имя узла
    • DomNode->node_type — Возвращает тип узла
    • DomNode->node_value — Возвращает значение узла
    • DomNode->owner_document — Возвращает документ, которому принадлежит этот узел
    • DomNode->parent_node — Возвращает родителя узла
    • DomNode->prefix — Возвращает префикс пространства имен узла
    • DomNode->previous_sibling — Возвращает предыдущего брата узла
    • DomNode->remove_child — Удаляет сына из списка сыновей
    • DomNode->replace_child — Замена сына
    • DomNode->replace_node — Заменяет узел
    • DomNode->set_content — Устанавливает содержимое узла
    • DomNode->set_name — Устанавливает имя узла
    • DomNode->set_namespace — Устанавливает пространство имен узла
    • DomNode->unlink_node — Удаляет узел
    • DomProcessingInstruction->data — Возвращает данные узла ProcessingInstruction
    • DomProcessingInstruction->target — Возвращает цель узла ProcessingInstruction
    • DomXsltStylesheet->process — Применяет XSLT-преобразование к объекту DomDocument
    • DomXsltStylesheet->result_dump_file — Сохраняет результат XSLT-Преобразования в файл
    • DomXsltStylesheet->result_dump_mem — Представляет результат XSLT-Преобразования в виде строки
    • domxml_new_doc — Создает новый пустой XML документ
    • domxml_open_file — Создает объект DOM из XML файла
    • domxml_open_mem — Создает объект DOM XML документа
    • domxml_version — Получает номер версии XML библиотеки
    • domxml_xmltree — Создает дерево объектов PHP из XML документа
    • domxml_xslt_stylesheet_doc — Создает объект класса DomXsltStylesheet из объекта DomDocument
    • domxml_xslt_stylesheet_file — Создает объект DomXsltStylesheet из XML файла
    • domxml_xslt_stylesheet — Создает объект DomXsltStylesheet из строки XSL
    • domxml_xslt_version — Получает версию XSLT библиотеки
    • xpath_eval_expression — Вычисляет XPath Location Path в переданной строке
    • xpath_eval — Вычисляет XPath Location Path в переданной строке
    • xpath_new_context — Создает новый xpath контекст
    • xpath_register_ns_auto — Регистрация заданного пространства имен в определенном XPath контексте
    • xpath_register_ns — Регистрирует пространство имен в переданном XPath контексте
    • xptr_eval — Вычисляет XPtr Location Path в заданной строке
    • xptr_new_context — Создает новый контекст XPath
dom_import_simplexml
Введение
Обработка XML


Введение

Расширение DOM XML было доработано в PHP 4.3.0 для лучшей совместимости со стандартом DOM. Оно до сих пор содержит множество старых функций, поддержка которых вскоре прекратится. В частности, следует избегать использования не объектно-ориентированных функций.

Расширение позволяет работать с XML документами с использованием DOM API. Оно также предоставляет функцию domxml_xmltree() для преобразования XML документа в дерево объектов PHP. На данный момент, дерево, построенное этой функцией, обладает свойством только для чтения - можно его изменять, но эти изменения не сохраняются с тех пор, как стало невозможным применение функции DomDocument_dump_mem() к подобным объектам. Следовательно, если требуется читать XML файл и записывать его измененный вариант, необходимо пользоваться функциями DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), и т.д. и в завершении DomDocument_dump_mem().

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

Замечание: Это расширение более не отмечено как экспериментальное. Тем не менее, оно не будет реализовано в PHP 5 и будет поставляться только с PHP 4. Если требуется поддержка DOM XML в PHP 5, можно использовать расширение DOM. Расширение domxml не совместимо с расширением DOM.

DOM XML (PHP 4)
Установка и настройка
DOM XML (PHP 4)


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DOM XML (PHP 4)


Требования

Это расширение использует » XML библиотеку GNOME. Скачайте и установите ее. Вам потребуется по меньшей мере libxml-2.4.14. Для использования возможностей DOM XSLT установите » библиотеку libxslt, а также » http://www.exslt.org/. Вам потребуется по меньшей мере libxslt-1.0.18.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/domxml.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. Это расширение доступно только если PHP сконфигурирован с настройкой --with-dom[=DIR] . Добавление настройки --with-dom-xslt[=DIR] включает поддержку XSLT. DIR - директория установленной libxslt. Для включения поддержки DOM EXSLT нужно добавить настройку --with-dom-exslt[=DIR] , где DIR - директория установленной libexslt.

Для использования функций в среде Windows необходимо включить php_domxml.dll в файле php.ini. В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows. DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows. Также, есть одна DLL библиотека, которая должна быть доступна через системную переменную окружения PATH. В PHP 4 эта библиотека хранится в директории dlls/. Ее название: Для PHP <= 4.2.0 - libxml2.dll. Для PHP >= 4.3.0 - iconv.dll. В версии 5.0.0 iconv уже встроена в Windows PHP, и никакой дополнительной библиотеки не требуется.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Константы 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) |  |
Типы ресурсов
DOM XML (PHP 4) Функции
DOM XML (PHP 4)


DOM XML (PHP 4) Функции

Устаревшие функции

Довольно много функций в расширении не вписываются в стандарт DOM и не будут в дальнейшем использоваться. Эти функции представлены в приведенном ниже списке. Функция DomNode_append_child() изменила свое поведение. Теперь она добавляет только сына узла и не добавляет брата. Если это поведение неприемлемо для вашего приложения, используйте не-DOM функцию DomNode_append_sibling().

Устаревшие и их заменяющие функции
Устаревшая функция | Новая функция
xmldoc | domxml_open_mem()
xmldocfile | domxml_open_file()
domxml_new_xmldoc | domxml_new_doc()
domxml_dump_mem | DomDocument_dump_mem()
domxml_dump_mem_file | DomDocument_dump_file()
DomDocument_dump_mem_file | DomDocument_dump_file()
DomDocument_add_root | DomDocument_create_element() followed by DomNode_append_child()
DomDocument_dtd | DomDocument_doctype()
DomDocument_root | DomDocument_document_element()
DomDocument_children | DomNode_child_nodes()
DomDocument_imported_node | No replacement.
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().

Классы

API этого модуля соответствует стандарту DOM Level 2 настолько, насколько это возможно. В частности, API полностью объектно-ориентированный. Было бы неплохой идеей иметь под рукой стандарт DOM при работе с этим модулем. Несмотря на то, что API объектно-ориентирован, есть множество функций, которые могут вызываться в процедурном стиле посредством передачи объекта обработки первым аргументом функции. Эти функции предназначены для сохранения совместимости со старыми версиями расширения и не должны применяться в новых создаваемых скриптах.

Этот API отличается от официального DOM API по двум направлениям. Во-первых, все свойства класса представлены в виде одноименных функций. Во-вторых, имена функций соответствуют правилам именования функций в PHP. Это означает, что DOM-функция lastChild() будет записана как last_child().

В модуле определены классы, которые приведены в списке ниже, включая свои методы. Классы, являющиеся аналогом классов в стандарте DOM, имеют название вида DOMxxx.

Список классов
Имя класса | Родительские классы
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | На данный момент все еще именуется, как DomParser
XPathContext |

Класс DomDocument (DomDocument : DomNode)
Имя метода | Имя функции | Замечание
doctype | DomDocument_doctype() |
document_element | DomDocument_document_element() |
create_element | DomDocument_create_element() |
create_text_node | DomDocument_create_text_node() |
create_comment | DomDocument_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_id | DomDocument_get_element_by_id() |
dump_mem | DomDocument_dump_mem() | отсутствует в стандарте DOM
dump_file | DomDocument_dump_file() | отсутствует в стандарте DOM
html_dump_mem | DomDocument_html_dump_mem() | отсутствует в стандарте DOM
xpath_init | xpath_init | отсутствует в стандарте DOM
xpath_new_context | xpath_new_context | отсутствует в стандарте DOM
xptr_new_context | xptr_new_context | отсутствует в стандарте DOM

Класс DomElement (DomElement : DomNode)
Имя метода | Имя функции | Замечание
tagname | DomElement_tagname() |
get_attribute | DomElement_get_attribute() |
set_attribute | DomElement_set_attribute() |
remove_attribute | DomElement_remove_attribute() |
get_attribute_node | DomElement_get_attribute_node() |
set_attribute_node | DomElement_set_attribute_node() |
get_elements_by_tagname | DomElement_get_elements_by_tagname() |
has_attribute | DomElement_has_attribute() |

Класс 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

Класс DomAttribute (DomAttribute : DomNode)
Имя метода |  | Замечание
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

Класс DomProcessingInstruction (DomProcessingInstruction : DomNode)
Имя метода | Имя функции | Замечание
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Класс Parser
Имя метода | Имя функции | Замечание
add_chunk | Parser_add_chunk() |
end | Parser_end() |

Класс XPathContext
Имя метода | Имя функции | Замечание
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

Класс DomDocumentType (DomDocumentType : DomNode)
Имя метода | Имя функции | Замечание
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

Класс DomDtd исключен из DomNode. DomComment исключен из DomCData.

Примеры

Многие примеры в этом разделе требуют наличия строки XML. Вместо повторения этой строки в каждом примере, она помещена в файл, который будет добавляться в примерах. Содержимое этого файла приведено ниже в подразделе примеров. С другой стороны, ничего не мешает вам создать собственный XML документ и прочитать его функцией DomDocument_open_file().

Пример #1 Включаемый файл example.inc c XML-строкой

<?php
$xmlstr = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <tgroup cols='3'>
    <tbody>
     <row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
</chapter>";
?>

Содержание

  • DomAttribute->name — Возвращает имя атрибута
  • DomAttribute->set_value — Устанавливает значение атрибута
  • DomAttribute->specified — Проверяет, задан ли атрибут
  • DomAttribute->value — Возвращает значение атрибута
  • DomDocument->add_root — Добавляет корневой узел [устаревший метод]
  • DomDocument->create_attribute — Создает новый атрибут
  • DomDocument->create_cdata_section — Создает новый узел типа cdata
  • DomDocument->create_comment — Создает новый узел-комментарий
  • DomDocument->create_element_ns — Создает новый элемент с соответствующим пространством имен
  • DomDocument->create_element — Создает новый узел-элемент
  • DomDocument->create_entity_reference — Создает ссылку на сущность
  • DomDocument->create_processing_instruction — Создает новый PI узел
  • DomDocument->create_text_node — Создает новый текстовый узел
  • DomDocument->doctype — Возвращает тип документа
  • DomDocument->document_element — Возвращает узел корневого элемента
  • DomDocument->dump_file — Сохраняет XML дерево в файл
  • DomDocument->dump_mem — Представляет XML дерево в виде строки
  • DomDocument->get_element_by_id — Ищет элемент с заданным id
  • DomDocument->get_elements_by_tagname — Возвращает массив узлов с заданным тэгом в документе или пустой массив, если таких элементов не найдено
  • DomDocument->html_dump_mem — Преобразует дерево XML в HTML строку
  • DomDocument->xinclude — Подстановка XIncludes в объекте DomDocument
  • DomDocumentType->entities — Возвращает список сущностей
  • DomDocumentType->internal_subset — Возвращает подмножество внутренней структуры dom документа
  • DomDocumentType->name — Возвращает имя типа документа
  • DomDocumentType->notations — Возвращает список обозначений
  • DomDocumentType->public_id — Возвращает общедоступный (public) идентификатор типа документа
  • DomDocumentType->system_id — Возвращает системный идентификатор типа документа
  • DomElement->get_attribute_node — Возвращает узел заданного атрибута
  • DomElement->get_attribute — Возвращает значение заданного атрибута
  • DomElement->get_elements_by_tagname — Получает элементы по имени
  • DomElement->has_attribute — Проверяет, есть ли атрибут в текущем узле
  • DomElement->remove_attribute — Удаляет атрибут
  • DomElement->set_attribute_node — Добавляет новый атрибут
  • DomElement->set_attribute — Устанавливает значение атрибута
  • DomElement->tagname — Возвращает имя текущего элемента
  • DomNode->add_namespace — Добавляет узлу объявление пространства имен
  • DomNode->append_child — Добавляет нового сына в конец списка сыновей
  • DomNode->append_sibling — Добавляет к узлу нового брата
  • DomNode->attributes — Возвращает список атрибутов
  • DomNode->child_nodes — Возвращает сыновей узла
  • DomNode->clone_node — Копирует узел
  • DomNode->dump_node — Представляет одиночный узел в виде строки
  • DomNode->first_child — Возвращает первого сына узла
  • DomNode->get_content — Получает содержимое узла
  • DomNode->has_attributes — Проверяет, есть ли в узле атрибуты
  • DomNode->has_child_nodes — Проверяет, есть ли у узла потомки
  • DomNode->insert_before — Вставляет новый узел в качестве сына
  • DomNode->is_blank_node — Проверяет, есть ли содержимое в узле
  • DomNode->last_child — Возвращает последнего сына узла
  • DomNode->next_sibling — Возвращает следующего брата узла
  • DomNode->node_name — Возвращает имя узла
  • DomNode->node_type — Возвращает тип узла
  • DomNode->node_value — Возвращает значение узла
  • DomNode->owner_document — Возвращает документ, которому принадлежит этот узел
  • DomNode->parent_node — Возвращает родителя узла
  • DomNode->prefix — Возвращает префикс пространства имен узла
  • DomNode->previous_sibling — Возвращает предыдущего брата узла
  • DomNode->remove_child — Удаляет сына из списка сыновей
  • DomNode->replace_child — Замена сына
  • DomNode->replace_node — Заменяет узел
  • DomNode->set_content — Устанавливает содержимое узла
  • DomNode->set_name — Устанавливает имя узла
  • DomNode->set_namespace — Устанавливает пространство имен узла
  • DomNode->unlink_node — Удаляет узел
  • DomProcessingInstruction->data — Возвращает данные узла ProcessingInstruction
  • DomProcessingInstruction->target — Возвращает цель узла ProcessingInstruction
  • DomXsltStylesheet->process — Применяет XSLT-преобразование к объекту DomDocument
  • DomXsltStylesheet->result_dump_file — Сохраняет результат XSLT-Преобразования в файл
  • DomXsltStylesheet->result_dump_mem — Представляет результат XSLT-Преобразования в виде строки
  • domxml_new_doc — Создает новый пустой XML документ
  • domxml_open_file — Создает объект DOM из XML файла
  • domxml_open_mem — Создает объект DOM XML документа
  • domxml_version — Получает номер версии XML библиотеки
  • domxml_xmltree — Создает дерево объектов PHP из XML документа
  • domxml_xslt_stylesheet_doc — Создает объект класса DomXsltStylesheet из объекта DomDocument
  • domxml_xslt_stylesheet_file — Создает объект DomXsltStylesheet из XML файла
  • domxml_xslt_stylesheet — Создает объект DomXsltStylesheet из строки XSL
  • domxml_xslt_version — Получает версию XSLT библиотеки
  • xpath_eval_expression — Вычисляет XPath Location Path в переданной строке
  • xpath_eval — Вычисляет XPath Location Path в переданной строке
  • xpath_new_context — Создает новый xpath контекст
  • xpath_register_ns_auto — Регистрация заданного пространства имен в определенном XPath контексте
  • xpath_register_ns — Регистрирует пространство имен в переданном XPath контексте
  • xptr_eval — Вычисляет XPtr Location Path в заданной строке
  • xptr_new_context — Создает новый контекст XPath
Предопределенные константы
DomAttribute->name
DOM XML (PHP 4)


Возвращает имя атрибута

DOM XML (PHP 4) Функции
DomAttribute->set_value
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->name

(PHP 4 >= 4.1.0)

DomAttribute->name — Возвращает имя атрибута

Описание

string DomAttribute::name ( void )

Получает имя атрибута.

Возвращаемые значения

Возвращает имя атрибута.

Миграция на PHP 5

Используйте свойство name класса DOMAttr.

Смотрите также

  • Примеры смотрите на странице DomAttribute->value

DOM XML (PHP 4) Функции
DomAttribute->set_value
DOM XML (PHP 4) Функции


Устанавливает значение атрибута

DomAttribute->name
DomAttribute->specified
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->set_value

(PHP 4 >= 4.1.0)

DomAttribute->set_value — Устанавливает значение атрибута

Описание

bool DomAttribute::set_value ( string $content )

Эта функция устанавливает значение атрибута.

Список параметров

content

Новое значение.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Миграция на PHP 5

Установите значение свойства value класса DOMAttr.

Смотрите также

  • DomAttribute->value

DomAttribute->name
DomAttribute->specified
DOM XML (PHP 4) Функции


Проверяет, задан ли атрибут

DomAttribute->set_value
DomAttribute->value
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->specified

(PHP 4 >= 4.1.0)

DomAttribute->specified — Проверяет, задан ли атрибут

Описание

bool DomAttribute::specified ( void )

Проверяет, присвоено ли значение значение атрибуту в исходном документе.

Замечание:

Этот метод еще не реализован.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • Определение слов » заданный атрибут смотрите в рекомендациях к стандарту DOM

DomAttribute->set_value
DomAttribute->value
DOM XML (PHP 4) Функции


Возвращает значение атрибута

DomAttribute->specified
DomDocument->add_root
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->value

(PHP 4 >= 4.1.0)

DomAttribute->value — Возвращает значение атрибута

Описание

string DomAttribute::value ( void )

Эта функция возвращает значение атрибута.

Примеры

Пример #1 Получение всех атрибутов узла

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
     echo "Ошибка при разборе документа\n";
     exit;
}

$root = $dom->document_element();
$attrs = $root->attributes();

echo 'Атрибуты узла ' . $root->node_name() . "\n";
foreach ($attrs as $attribute) {
     echo ' - ' . $attribute->name . ' : ' . $attribute->value . "\n";
}

?>

Результат выполнения данного примера:

Атрибуты узла chapter
 - language : en

Возвращаемые значения

Возвращает значение атрибута.

Миграция на PHP 5

Используйте свойство value класса DOMAttr.

Смотрите также

  • DomAttribute->set_value
  • DomAttribute->name

DomAttribute->specified
DomDocument->add_root
DOM XML (PHP 4) Функции


Добавляет корневой узел [устаревший метод]

DomAttribute->value
DomDocument->create_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->add_root

(PHP 4 >= 4.1.0)

DomDocument->add_root — Добавляет корневой узел [устаревший метод]

Описание

domelement DomDocument->add_root ( string $name )

Добавляет корневой узел dom-документу и возвращает новый узел. Имя элемента берется из переданного аргумента.

Пример #1 Создание простого HTML заголовка

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->add_root("html");
$head = $root->new_child("head", "");
$head->new_child("title", "Hier der Titel");
echo htmlentities($doc->dump_mem());
?>

DomAttribute->value
DomDocument->create_attribute
DOM XML (PHP 4) Функции


Создает новый атрибут

DomDocument->add_root
DomDocument->create_cdata_section
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_attribute

(PHP 4 >= 4.1.0)

DomDocument->create_attribute — Создает новый атрибут

Описание

domattribute DomDocument->create_attribute ( string $name , string $value )

Эта функция возвращает новый экземпляр класса DomAttribute. Имя атрибута берется из первого аргумента. Значение атрибута берется из второго аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->add_root
DomDocument->create_cdata_section
DOM XML (PHP 4) Функции


Создает новый узел типа cdata

DomDocument->create_attribute
DomDocument->create_comment
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_cdata_section

(PHP 4 >= 4.1.0)

DomDocument->create_cdata_section — Создает новый узел типа cdata

Описание

domcdata DomDocument->create_cdata_section ( string $content )

Эта функция возвращает новый экземпляр класса DomCData. Содержимое cdata берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_attribute
DomDocument->create_comment
DOM XML (PHP 4) Функции


Создает новый узел-комментарий

DomDocument->create_cdata_section
DomDocument->create_element_ns
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_comment

(PHP 4 >= 4.1.0)

DomDocument->create_comment — Создает новый узел-комментарий

Описание

domcomment DomDocument->create_comment ( string $content )

Эта функция возвращает новый экземпляр класса DomComment. Содержимое комментария берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_cdata_section
DomDocument->create_element_ns
DOM XML (PHP 4) Функции


Создает новый элемент с соответствующим пространством имен

DomDocument->create_comment
DomDocument->create_element
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_element_ns

(PHP 4 >= 4.1.0)

DomDocument->create_element_ns — Создает новый элемент с соответствующим пространством имен

Описание

domelement DomDocument->create_element_ns ( string $uri , string $name [, string $prefix ] )

Эта функция создает новый экземпляр класса DomElement. Имя тэга элемента берется из аргумента name. URI пространства имен берется из аргумента uri. Если пространство имен с таким же URI уже объявлено в корневом узле документа, префикс будет взят оттуда, в противном случае префикс будет взят из необязательного аргумента prefix, либо сгенерирован случайным образом. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domdocument_create_element_ns(),
domnode_add_namespace(),
domnode_set_namespace(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_comment
DomDocument->create_element
DOM XML (PHP 4) Функции


Создает новый узел-элемент

DomDocument->create_element_ns
DomDocument->create_entity_reference
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_element

(PHP 4 >= 4.1.0)

DomDocument->create_element — Создает новый узел-элемент

Описание

domelement DomDocument->create_element ( string $name )

Эта функция возвращает новый экземпляр класса DomElement. Тэг имени элемента берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domdocument_create_element_ns(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_element_ns
DomDocument->create_entity_reference
DOM XML (PHP 4) Функции


Создает ссылку на сущность

DomDocument->create_element
DomDocument->create_processing_instruction
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_entity_reference

(PHP 4 >= 4.1.0)

DomDocument->create_entity_reference — Создает ссылку на сущность

Описание

domentityreference DomDocument->create_entity_reference ( string $content )

Эта функция возвращает новый экземпляр класса DomEntityReference. Содержимое для инициализации берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_attribute() и
domnode_insert_before().

DomDocument->create_element
DomDocument->create_processing_instruction
DOM XML (PHP 4) Функции


Создает новый PI узел

DomDocument->create_entity_reference
DomDocument->create_text_node
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_processing_instruction

(PHP 4 >= 4.1.0)

DomDocument->create_processing_instruction — Создает новый PI узел

Описание

domprocessinginstruction DomDocument->create_processing_instruction ( string $content )

Эта функция возвращает новый экземпляр класса DomCData. Содержимое pi берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_attribute(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_entity_reference
DomDocument->create_text_node
DOM XML (PHP 4) Функции


Создает новый текстовый узел

DomDocument->create_processing_instruction
DomDocument->doctype
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_text_node

(PHP 4 >= 4.1.0)

DomDocument->create_text_node — Создает новый текстовый узел

Описание

domtext DomDocument->create_text_node ( string $content )

Эта функция возвращает новый экземпляр класса DomText. Содержимое узла берется из переданного аргумента. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией DOMNode->appendChild().

В случае ошибки метод вернет FALSE.

См. также domnode_append_child(),
domdocument_create_element(),
domdocument_create_comment(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() и
domnode_insert_before().

DomDocument->create_processing_instruction
DomDocument->doctype
DOM XML (PHP 4) Функции


Возвращает тип документа

DomDocument->create_text_node
DomDocument->document_element
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->doctype

(PHP 4 >= 4.1.0)

DomDocument->doctype — Возвращает тип документа

Описание

domdocumenttype DomDocument->doctype ( void )

Эта функция возвращает объект класса DomDocumentType. В версиях PHP до 4.3 это был класс Dtd, однако в стандарте DOM такой класс не описан.

См. также методы класса DomDocumentType.

DomDocument->create_text_node
DomDocument->document_element
DOM XML (PHP 4) Функции


Возвращает узел корневого элемента

DomDocument->doctype
DomDocument->dump_file
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->document_element

(PHP 4 >= 4.1.0)

DomDocument->document_element — Возвращает узел корневого элемента

Описание

domelement DomDocument->document_element ( void )

Эта функция возвращает узел корневого элемента документа.

Следующий пример возвращает только элемент с именем CHAPTER и выводит его. Другой узел -- комментарий -- не возвращается.

Пример #1 Извлечение корневого элемента

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$root = $dom->document_element();
print_r($root);
?>

Результат выполнения данного примера:

domelement Object
(
    [type] => 1
    [tagname] => chapter
    [0] => 6
    [1] => 137960648
)

DomDocument->doctype
DomDocument->dump_file
DOM XML (PHP 4) Функции


Сохраняет XML дерево в файл

DomDocument->document_element
DomDocument->dump_mem
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->dump_file

(PHP 4 >= 4.1.0)

DomDocument->dump_file — Сохраняет XML дерево в файл

Описание

string DomDocument->dump_file ( string $filename [, bool $compressionmode [, bool $format ]] )

Создает XML документ из dom представления. Эту функцию обычно вызывают после построения нового dom документа, как это показано ниже. Аргумент format указывает на то, требуется ли аккуратно форматировать вывод функции или нет. Первый аргумент отвечает за имя создаваемого файла, а второй указывает, требуется ли сжатие вывода или нет.

Пример #1 Создание простого HTML заголовка

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
$doc->dump_file("/tmp/test.xml", false, true);
?>

См. также domdocument_dump_mem() и domdocument_html_dump_mem().

DomDocument->document_element
DomDocument->dump_mem
DOM XML (PHP 4) Функции


Представляет XML дерево в виде строки

DomDocument->dump_file
DomDocument->get_element_by_id
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->dump_mem

(PHP 4 >= 4.1.0)

DomDocument->dump_mem — Представляет XML дерево в виде строки

Описание

string DomDocument->dump_mem ([ bool $format [, string $encoding ]] )

Создает XML документ из dom представления. Эту функцию обычно вызывают после построения нового dom документа, как это показано ниже. Аргумент format указывает на то, требуется ли аккуратно форматировать вывод функции или нет.

Пример #1 Создание простого HTML заголовка

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
?>

Замечание:

Первый аргумент был добавлен в PHP 4.3.0.

См. также domdocument_dump_file() и domdocument_html_dump_mem().

DomDocument->dump_file
DomDocument->get_element_by_id
DOM XML (PHP 4) Функции


Ищет элемент с заданным id

DomDocument->dump_mem
DomDocument->get_elements_by_tagname
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->get_element_by_id

(PHP 4 >= 4.1.0)

DomDocument->get_element_by_id — Ищет элемент с заданным id

Описание

domelement DomDocument->get_element_by_id ( string $id )

Эта функция аналогична domdocument_get_elements_by_tagname(), но ищет элемент по заданному id. В соответствии со стандартом DOM это требует наличия DTD, где определено, какой из атрибутов ключевой, не смотря на то, что текущая реализация просто задает адрес для поиска "//*[@ID = '%s']". Это не соответствует стандарту, который предписывает возвращать null, если нельзя определить, какой атрибут ключевой. Такое поведение функции надо бы исправить, поэтому не стоит на него полагаться.

См. также domdocument_get_elements_by_tagname()

DomDocument->dump_mem
DomDocument->get_elements_by_tagname
DOM XML (PHP 4) Функции


Возвращает массив узлов с заданным тэгом в документе или пустой массив, если таких элементов не найдено

DomDocument->get_element_by_id
DomDocument->html_dump_mem
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->get_elements_by_tagname

(PHP 4 >= 4.1.0)

DomDocument->get_elements_by_tagname — Возвращает массив узлов с заданным тэгом в документе или пустой массив, если таких элементов не найдено

Описание

array DomDocument->get_elements_by_tagname ( string $name )

См. также domdocument_add_root()

DomDocument->get_element_by_id
DomDocument->html_dump_mem
DOM XML (PHP 4) Функции


Преобразует дерево XML в HTML строку

DomDocument->get_elements_by_tagname
DomDocument->xinclude
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->html_dump_mem

(PHP 4 >= 4.1.0)

DomDocument->html_dump_mem — Преобразует дерево XML в HTML строку

Описание

string DomDocument->html_dump_mem ( void )

Создает HTML документ из dom представления. Эту функцию обычно вызывают после построения нового dom документа, как в примере ниже.

Пример #1 Создание простого HTML заголовка

<?php

// Создает документ
$doc = domxml_new_doc("1.0");

$root = $doc->create_element("html");
$root = $doc->append_child($root);

$head = $doc->create_element("head");
$head = $root->append_child($head);

$title = $doc->create_element("title");
$title = $head->append_child($title);

$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);

echo $doc->html_dump_mem();
?>

Результат выполнения данного примера:

<html><head><title>This is the title</title></head></html>

См. также domdocument_dump_file() и domdocument_html_dump_mem().

DomDocument->get_elements_by_tagname
DomDocument->xinclude
DOM XML (PHP 4) Функции


Подстановка XIncludes в объекте DomDocument

DomDocument->html_dump_mem
DomDocumentType->entities
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->xinclude

(PHP 5)

DomDocument->xinclude — Подстановка XIncludes в объекте DomDocument

Описание

int DomDocument->xinclude ( void )

Эта функция замещает » XIncludes в объекте DomDocument.

Пример #1 Подстановка Xincludes

<?php

// include.xml содержит:
// <child>test</child>

$xml = '<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="include.xml">
    <xi:fallback>
      <error>xinclude: include.xml не найден</error>
    </xi:fallback>
  </xi:include>
</root>';

$domxml = domxml_open_mem($xml);
$domxml->xinclude();

echo $domxml->dump_mem();

?>

Результат выполнения данного примера:

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <child>test</child>
</root>

Если include.xml не существует, вы увидите:

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <error>xinclude:dom.xml not found</error>
</root>

DomDocument->html_dump_mem
DomDocumentType->entities
DOM XML (PHP 4) Функции


Возвращает список сущностей

DomDocument->xinclude
DomDocumentType->internal_subset
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->entities

(PHP 4 >= 4.1.0)

DomDocumentType->entities — Возвращает список сущностей

Описание

array DomDocumentType::entities ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Миграция на PHP 5

Используйте свойство entities объекта DOMDocumentType.

DomDocument->xinclude
DomDocumentType->internal_subset
DOM XML (PHP 4) Функции


Возвращает подмножество внутренней структуры dom документа

DomDocumentType->entities
DomDocumentType->name
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->internal_subset

(PHP 4 >= 4.1.0)

DomDocumentType->internal_subset — Возвращает подмножество внутренней структуры dom документа

Описание

bool DomDocumentType::internal_subset ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Миграция на PHP 5

Используйте свойство internalSubset объекта DOMDocumentType.

DomDocumentType->entities
DomDocumentType->name
DOM XML (PHP 4) Функции


Возвращает имя типа документа

DomDocumentType->internal_subset
DomDocumentType->notations
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->name

(PHP 4 >= 4.1.0)

DomDocumentType->name — Возвращает имя типа документа

Описание

string DomDocumentType::name ( void )

Эта функция возвращает имя типа документа.

Возвращаемые значения

Возвращает имя объекта DomDocumentType в виде строки.

Примеры

Пример #1 Получение имени типа документа

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе файла\n";
    exit;
}

$doctype = $dom->doctype();
echo $doctype->name(); // chapter

?>

Переход на PHP 5

Используйте свойство name объекта DOMDocumentType.

DomDocumentType->internal_subset
DomDocumentType->notations
DOM XML (PHP 4) Функции


Возвращает список обозначений

DomDocumentType->name
DomDocumentType->public_id
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->notations

(PHP 4 >= 4.1.0)

DomDocumentType->notations — Возвращает список обозначений

Описание

array DomDocumentType::notations ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Переход на PHP 5

Используйте свойство notations объекта DOMDocumentType.

DomDocumentType->name
DomDocumentType->public_id
DOM XML (PHP 4) Функции


Возвращает общедоступный (public) идентификатор типа документа

DomDocumentType->notations
DomDocumentType->system_id
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->public_id

(PHP 4 >= 4.1.0)

DomDocumentType->public_id — Возвращает общедоступный (public) идентификатор типа документа

Описание

string DomDocumentType::public_id ( void )

Эта функция возвращает public-идентификатор типа документа.

Возвращаемые значения

Возвращает общедоступный идентификатор объекта класса DomDocumentType в виде строки.

Примеры

Следующий пример не выведет ничего.

Пример #1 Извлечение public id

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->public_id();
?>

Переход на PHP 5

Используйте свойство publicId объекта DOMDocumentType.

DomDocumentType->notations
DomDocumentType->system_id
DOM XML (PHP 4) Функции


Возвращает системный идентификатор типа документа

DomDocumentType->public_id
DomElement->get_attribute_node
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->system_id

(PHP 4 >= 4.1.0)

DomDocumentType->system_id — Возвращает системный идентификатор типа документа

Описание

string DomDocumentType::system_id ( void )

Возвращает системный идентификатор типа документа.

Возвращаемые значения

Возвращает системный идентификатор объекта DomDocumentType в виде строки.

Примеры

Пример #1 Извлечение системного идентификатора

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->system_id();
?>

Результат выполнения данного примера:

/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd

Переход на PHP 5

Используйте свойство systemId объекта класса DOMDocumentType.

DomDocumentType->public_id
DomElement->get_attribute_node
DOM XML (PHP 4) Функции


Возвращает узел заданного атрибута

DomDocumentType->system_id
DomElement->get_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomElement->get_attribute_node

(PHP 4 >= 4.1.0)

DomElement->get_attribute_node — Возвращает узел заданного атрибута

Описание

DomAttribute DomElement::get_attribute_node ( string $name )

Возвращает узел заданного атрибута текущего элемента.

Список параметров

name

Имя искомого атрибута. Этот аргумент чувствителен к регистру.

Возвращаемые значения

Возвращает узел атрибута в виде объекта класса DomAttribute, либо FALSE, если атрибутов с именем name не найдено.

Примеры

Пример #1 Получение имени атрибута

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе документа\n";
    exit;
}

$root = $dom->document_element();
if ($attribute = $root->get_attribute_node('language')) {
    echo 'Язык: ' . $attribute->value() . "\n";
}

?>

Переход на PHP 5

Используйте DOMElement::getAttributeNode.

Смотрите также

  • DomElement->get_attribute
  • DomElement->set_attribute

DomDocumentType->system_id
DomElement->get_attribute
DOM XML (PHP 4) Функции


Возвращает значение заданного атрибута

DomElement->get_attribute_node
DomElement->get_elements_by_tagname
DOM XML (PHP 4) Функции
PHP Manual

DomElement->get_attribute

(PHP 4 >= 4.1.0)

DomElement->get_attribute — Возвращает значение заданного атрибута

Описание

string DomElement::get_attribute ( string $name )

Возвращает значение заданного атрибута в текущем элементе.

Начиная с PHP 4.3, если атрибутов с именем name не найдено, будет возвращена пустая строка.

Список параметров

name

Имя искомого атрибута. Этот аргумент чувствителен к регистру.

Возвращаемые значения

Возвращает значение атрибута в виде строки или пустую строку, если атрибутов с именем name не найдено.

Примеры

Пример #1 Получение значения атрибута

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе документа\n";
    exit;
}

// get chapter
$root = $dom->document_element();
echo $root->get_attribute('language'); // en

?>

Переход на PHP 5

Используйте DOMElement::getAttribute.

Смотрите также

  • DomElement->get_attribute_node
  • DomElement->set_attribute

DomElement->get_attribute_node
DomElement->get_elements_by_tagname
DOM XML (PHP 4) Функции


Получает элементы по имени

DomElement->get_attribute
DomElement->has_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomElement->get_elements_by_tagname

(PHP 4 >= 4.1.0)

DomElement->get_elements_by_tagname — Получает элементы по имени

Описание

array DomElement::get_elements_by_tagname ( string $name )

Получает все элементы с именем name, входящие в состав текущего элемента.

Список параметров

name

Имя искомых элементов.

Возвращаемые значения

Возвращает массив объектов класса DomElement.

Примеры

Пример #1 Получение содержимого

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname('element');

foreach ($node_array as $node) {
    echo ' - ' . $node->get_content() . "\n";
}

?>

Переход на PHP 5

Используйте DOMElement::getElementsByTagName.

DomElement->get_attribute
DomElement->has_attribute
DOM XML (PHP 4) Функции


Проверяет, есть ли атрибут в текущем узле

DomElement->get_elements_by_tagname
DomElement->remove_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomElement->has_attribute

(PHP 4 >= 4.1.0)

DomElement->has_attribute — Проверяет, есть ли атрибут в текущем узле

Описание

bool DomElement::has_attribute ( string $name )

Эта функция проверяет, существует ли атрибут с именем name в текущем узле.

Список параметров

name

Имя проверяемого атрибута.

Возвращаемые значения

Возвращает TRUE, если атрибут существует, FALSE в противном случае.

Примеры

Пример #1 Проверка существования атрибута

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе документа\n";
    exit;
}

$root = $dom->document_element();

$buffer = '<html';
if ($root->has_attribute('language')) {
    $buffer .= 'lang="' . $root->get_attribute('language') . '"';
}
$buffer .= '>';

?>

Переход на PHP 5

Используйте DOMElement::hasAttribute.

DomElement->get_elements_by_tagname
DomElement->remove_attribute
DOM XML (PHP 4) Функции


Удаляет атрибут

DomElement->has_attribute
DomElement->set_attribute_node
DOM XML (PHP 4) Функции
PHP Manual

DomElement->remove_attribute

(PHP 4 >= 4.1.0)

DomElement->remove_attribute — Удаляет атрибут

Описание

bool DomElement::remove_attribute ( string $name )

Удаляет атрибут из текущего узла DomElement.

Список параметров

name

Имя удаляемого атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Переход на PHP 5

Используйте DOMElement::removeAttribute.

DomElement->has_attribute
DomElement->set_attribute_node
DOM XML (PHP 4) Функции


Добавляет новый атрибут

DomElement->remove_attribute
DomElement->set_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomElement->set_attribute_node

(PHP 4 >= 4.1.0)

DomElement->set_attribute_node — Добавляет новый атрибут

Описание

DomNode DomElement::set_attribute_node ( DomNode $attr )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomElement->remove_attribute
DomElement->set_attribute
DOM XML (PHP 4) Функции


Устанавливает значение атрибута

DomElement->set_attribute_node
DomElement->tagname
DOM XML (PHP 4) Функции
PHP Manual

DomElement->set_attribute

(PHP 4 >= 4.1.0)

DomElement->set_attribute — Устанавливает значение атрибута

Описание

DomAttribute DomElement::set_attribute ( string $name , string $value )

Устанавливает значение атрибута name равным value.

Список параметров

name

Имя атрибута. Если атрибута с этим именем нет, он будет создан.

value

Устанавливаемое значение атрибута.

Возвращаемые значения

Возвращает старый узел DomAttribute, либо новый, если атрибут создается впервые.

Примеры

Пример #1 Установка значения атрибута

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Переход на PHP 5

Используйте DOMElement::setAttribute.

Смотрите также

  • DomElement->get_attribute_node
  • DomElement->get_attribute

DomElement->set_attribute_node
DomElement->tagname
DOM XML (PHP 4) Функции


Возвращает имя текущего элемента

DomElement->set_attribute
DomNode->add_namespace
DOM XML (PHP 4) Функции
PHP Manual

DomElement->tagname

(PHP 4 >= 4.1.0)

DomElement->tagname — Возвращает имя текущего элемента

Описание

string DomElement::tagname ( void )

Возвращает имя текущего узла. Вызов этой функции дает тот же результат, что и доступ к свойству tagname или вызов функции DomNode->node_name для текущего узла.

Возвращаемые значения

Возвращает имя текущего узла DomElement.

Примеры

Пример #1 Получение имени узла

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе документа\n";
    exit;
}

$root = $dom->document_element();
echo $root->tagname();   // chapter
echo $root->tagname;     // chapter
echo $root->node_name(); // chapter

?>

Переход на PHP 5

Используйте свойство tagName объекта класса DOMElement.

DomElement->set_attribute
DomNode->add_namespace
DOM XML (PHP 4) Функции


Добавляет узлу объявление пространства имен

DomElement->tagname
DomNode->append_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->add_namespace

(PHP 4 >= 4.3.0)

DomNode->add_namespace — Добавляет узлу объявление пространства имен

Описание

bool DOMNode::add_namespace ( string $uri , string $prefix )

Этот метод добавляет узлу объявление пространства имен.

Замечание:

Этот метод не входит в спецификацию DOM.

Список параметров

uri

URI пространства имен узла.

prefix

Префикс пространства имен узла.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Переход на PHP 5

Вы можете задать UTI и префикс пространства имен объектов DOMElement и DOMAttr во время их создания, используя DOMDocument::createElementNS или DOMDocument::createAttributeNS.

Замечание:

Помните, что атрибут не наследует пространство имен от элемента, к которому он относится.

Смотрите также

  • DomDocument->create_element_ns
  • DomNode->set_namespace

DomElement->tagname
DomNode->append_child
DOM XML (PHP 4) Функции


Добавляет нового сына в конец списка сыновей

DomNode->add_namespace
DomNode->append_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->append_child

(PHP 4 >= 4.1.0)

DomNode->append_child — Добавляет нового сына в конец списка сыновей

Описание

DOMNode DOMNode::append_child ( DOMNode $newnode )

Эта функция добавляет сына к существующему списку сыновей, либо создает список.

Список параметров

newnode

Добавляемый узел. Может быть создан посредством например DomDocument->create_element, DomDocument->create_text_node и т.п. или просто используя другой узел.

Замечание:

Невозможно этом методом добавить узел DOMAttribute. Используйте вместо него функцию DomElement->set_attribute.

Возвращаемые значения

Возвращает добавленный узел или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | Вставка узла из другого документа больше не поддерживается.
4.3.0 | В отличие от версий PHP раньше 4.3.0 новый сын дублируется до добавления. Таким образом новый сын является полной копией, которую можно модифицировать, не изменяя состояния узла, переданного в функцию в качестве аргумента. Если переданный узел имел сыновей, то они также будут дублированы, что сильно упрощает дублирование больших частей XML документа. Возвращаемым значением является добавленный сын. Если планируется дальнейшая модификация добавленного сына, необходимо использовать именно возвращенный узел.
4.3.0 и 4.3.1 | Если новый сын newnode уже является сыном DomNode, то он не включается в существующий контекст. Поэтому newnode перемещается и ничего не копирует. Это поведение соответствует спецификациям W3C. Если требуется старое поведение, используйте функцию DomNode->clone_node перед добавлением узла.
4.3.2 | Если новый сын newnode уже находится в дереве, он отсоединяется от своего контекста. Применяются те же правила.

Примеры

Следующий пример добавляет новый элемент в чистый документ и устанавливает атрибут align в значение left.

Пример #1 Добавление сына

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Пример выше можно записать в следующем виде:

Пример #2 Добавление сына

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>

Ниже представлен более исчерпывающий пример. Вначале производится поиск определенного элемента, затем он дублируется вместе со всеми потомками и добавляется как брат. В итоге новый атрибут добавлен к одному из сыновей нового брата, и документ скопирован целиком.

Пример #3 Добавление сына

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$parent = $element->parent_node();
$newnode = $parent->append_child($element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
?>

Пример выше также можно выполнить с помощью DomNode->insert_before вместо DomNode->append_child.

Переход на PHP 5

Необходимо использовать DOMNode::appendChild.

Смотрите также

  • DomNode->insert_before
  • DomNode->clone_node

DomNode->add_namespace
DomNode->append_sibling
DOM XML (PHP 4) Функции


Добавляет к узлу нового брата

DomNode->append_child
DomNode->attributes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->append_sibling

(PHP 4 >= 4.2.0)

DomNode->append_sibling — Добавляет к узлу нового брата

Описание

domelement DomNode->append_sibling ( domelement $newnode )

Эта функция добавляет брата к существующему узлу. Сын может быть создан функциями domdocument_create_element(), domdocument_create_text() и т.п. или просто используя другой узел.

Прежде чем новый брат будет добавлен, он дублируется. Таким образом новый сын является полной копией, которую можно модифицировать, не изменяя состояния переданного в функцию узла. Если переданный узел имеет сыновей, они все также будут дублированы, это позволяет довольно просто дублировать большие части XML документа. Функция возвращает добавленного брата. Если планируется дальнейшая модификация добавленного узла, необходимо пользоваться возвращаемым значением.

Эта функция добавлена с целью предоставить поведение функции domnode_append_child(), как она работала до версии PHP 4.2.

См. также domnode_append_before().

DomNode->append_child
DomNode->attributes
DOM XML (PHP 4) Функции


Возвращает список атрибутов

DomNode->append_sibling
DomNode->child_nodes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->attributes

(PHP 4 >= 4.1.0)

DomNode->attributes — Возвращает список атрибутов

Описание

array DomNode->attributes ( void )

Эта функция возвращает список атрибутов только если узел имеет тип XML_ELEMENT_NODE.

(только для PHP >= 4.3) Если атрибутов не найдено, функция вернет NULL.

DomNode->append_sibling
DomNode->child_nodes
DOM XML (PHP 4) Функции


Возвращает сыновей узла

DomNode->attributes
DomNode->clone_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->child_nodes

(PHP 4 >= 4.1.0)

DomNode->child_nodes — Возвращает сыновей узла

Описание

array DomNode->child_nodes ( void )

Возвращает всех сыновей узла.

См. также domnode_next_sibling() и domnode_previous_sibling().

DomNode->attributes
DomNode->clone_node
DOM XML (PHP 4) Функции


Копирует узел

DomNode->child_nodes
DomNode->dump_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->clone_node

(PHP 4 >= 4.1.0)

DomNode->clone_node — Копирует узел

Описание

domelement DomNode->clone_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->child_nodes
DomNode->dump_node
DOM XML (PHP 4) Функции


Представляет одиночный узел в виде строки

DomNode->clone_node
DomNode->first_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->dump_node

(PHP 4 >= 4.1.0)

DomNode->dump_node — Представляет одиночный узел в виде строки

Описание

string DomNode->dump_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также domdocument_dump_mem().

DomNode->clone_node
DomNode->first_child
DOM XML (PHP 4) Функции


Возвращает первого сына узла

DomNode->dump_node
DomNode->get_content
DOM XML (PHP 4) Функции
PHP Manual

DomNode->first_child

(PHP 4 >= 4.1.0)

DomNode->first_child — Возвращает первого сына узла

Описание

domelement DomNode->first_child ( void )

Возвращает первого сына узла.

(только для PHP >= 4.3) Если первый сын не найден, функция вернет NULL.

См. также domnode_last_child() и
domnode_next_sibling(),
domnode_previous_sibling().

DomNode->dump_node
DomNode->get_content
DOM XML (PHP 4) Функции


Получает содержимое узла

DomNode->first_child
DomNode->has_attributes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->get_content

(PHP 4 >= 4.2.0)

DomNode->get_content — Получает содержимое узла

Описание

string DomNode->get_content ( void )

Эта функция возвращает содержимое узла.

Пример #1 Получение содержимого

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname("element");

for ($i = 0; $i<count($node_array); $i++) {
    $node = $node_array[$i];
    echo "The element[$i] is: " . $node->get_content();
}

?>

DomNode->first_child
DomNode->has_attributes
DOM XML (PHP 4) Функции


Проверяет, есть ли в узле атрибуты

DomNode->get_content
DomNode->has_child_nodes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->has_attributes

(PHP 4 >= 4.1.0)

DomNode->has_attributes — Проверяет, есть ли в узле атрибуты

Описание

bool DomNode->has_attributes ( void )

Эта функция проверяет, имеет ли узел атрибуты.

См. также domnode_has_child_nodes().

DomNode->get_content
DomNode->has_child_nodes
DOM XML (PHP 4) Функции


Проверяет, есть ли у узла потомки

DomNode->has_attributes
DomNode->insert_before
DOM XML (PHP 4) Функции
PHP Manual

DomNode->has_child_nodes

(PHP 4 >= 4.1.0)

DomNode->has_child_nodes — Проверяет, есть ли у узла потомки

Описание

bool DomNode->has_child_nodes ( void )

Эта функция проверяет, имеет ли узел потомков.

См. также domnode_child_nodes().

DomNode->has_attributes
DomNode->insert_before
DOM XML (PHP 4) Функции


Вставляет новый узел в качестве сына

DomNode->has_child_nodes
DomNode->is_blank_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->insert_before

(PHP 4 >= 4.1.0)

DomNode->insert_before — Вставляет новый узел в качестве сына

Описание

domelement DomNode->insert_before ( domelement $newnode , domelement $refnode )

Эта функция вставляет новый узел newnode перед узлом refnode. Возвращаемым значением является вставленный узел. Если планируется его изменять, необходимо использовать для этого возвращаемый из функции узел.

(Только для PHP >= 4.3) Если newnode является частью документа, он будет отсоединен от своего прежнего контекста. Если refnode NULL, то newnode будет вставлен в конец списка сыновей.

domnode_insert_before() очень похожа на domnode_append_child(), что подтверждает пример ниже, который делает то же самое, что и пример в описании к domnode_append_child().

Пример #1 Добавление сына

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$newnode = $element->insert_before($element, $element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

echo "<pre>";
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
echo "</pre>";
?>

См. также domnode_append_child().

DomNode->has_child_nodes
DomNode->is_blank_node
DOM XML (PHP 4) Функции


Проверяет, есть ли содержимое в узле

DomNode->insert_before
DomNode->last_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->is_blank_node

(PHP 4 >= 4.1.0)

DomNode->is_blank_node — Проверяет, есть ли содержимое в узле

Описание

bool DomNode->is_blank_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->insert_before
DomNode->last_child
DOM XML (PHP 4) Функции


Возвращает последнего сына узла

DomNode->is_blank_node
DomNode->next_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->last_child

(PHP 4 >= 4.1.0)

DomNode->last_child — Возвращает последнего сына узла

Описание

domelement DomNode->last_child ( void )

Возвращает последнего сына узла.

(только для PHP >= 4.3) Если последний сын не найден, функция вернет NULL.

См. также domnode_first_child() и
domnode_next_sibling(),
domnode_previous_sibling().

DomNode->is_blank_node
DomNode->next_sibling
DOM XML (PHP 4) Функции


Возвращает следующего брата узла

DomNode->last_child
DomNode->node_name
DOM XML (PHP 4) Функции
PHP Manual

DomNode->next_sibling

(PHP 4 >= 4.1.0)

DomNode->next_sibling — Возвращает следующего брата узла

Описание

domelement DomNode->next_sibling ( void )

Эта функция возвращает следующего брата текущего узла. Если следующих братьев больше нет, функция возвращает FALSE (< 4.3) или null (>= 4.3). Можно использовать эту функцию для перебора сыновей узла как показана в примере ниже.

Пример #1 Перебор сыновей узла

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$child = $element->first_child();

while ($child) {
   print_r($child);
   $child = $child->next_sibling();
}
?>

См. также domnode_previous_sibling().

DomNode->last_child
DomNode->node_name
DOM XML (PHP 4) Функции


Возвращает имя узла

DomNode->next_sibling
DomNode->node_type
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_name

(PHP 4 >= 4.1.0)

DomNode->node_name — Возвращает имя узла

Описание

string DomNode->node_name ( void )

Возвращает имя узла. Имя может отличаться для различных типов узлов, как показано в следующей таблице.

Значение имени
Тип | Значение
DomAttribute | значение атрибута
DomAttribute |
DomCDataSection | #cdata-раздел
DomComment | #comment
DomDocument | #document
DomDocumentType | имя типа документа
DomElement | значение тэга имени элемента
DomEntity | имя сущности
DomEntityReference | имя ссылки на сущность
DomNotation | имя обозначения
DomProcessingInstruction | цель
DomText | #text

DomNode->next_sibling
DomNode->node_type
DOM XML (PHP 4) Функции


Возвращает тип узла

DomNode->node_name
DomNode->node_value
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_type

(PHP 4 >= 4.1.0)

DomNode->node_type — Возвращает тип узла

Описание

int DomNode->node_type ( void )

Возвращает тип узла. Все возможные типы приведены в таблице во введении.

<?php

include 'example.inc';

$dom = domxml_open_mem($xmlstr);

$chapter = $dom->document_element();

// Посмотрим, какие элементы содержатся в узле chapter
foreach($chapter->child_nodes() as $node) {
  if ($node->node_type() == XML_ELEMENT_NODE) {
    echo $node->node_name() . "\n";
  }
}

?>

Результат выполнения данного примера:

title
para
DomNode->node_name
DomNode->node_value
DOM XML (PHP 4) Функции


Возвращает значение узла

DomNode->node_type
DomNode->owner_document
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_value

(PHP 4 >= 4.1.0)

DomNode->node_value — Возвращает значение узла

Описание

string DomNode->node_value ( void )

Возвращает значение узла. Значения имеют различный смысл для разных типов узлов, как показано в следующей таблице.

Семантика значения
Тип | Семантика
DomAttribute | значение атрибута
DomAttribute |
DomCDataSection | содержимое
DomComment | содержимое комментария
DomDocument | null
DomDocumentType | null
DomElement | null
DomEntity | null
DomEntityReference | null
DomNotation | null
DomProcessingInstruction | внутреннее содержимое без цели
DomText | содержимое текстового блока

DomNode->node_type
DomNode->owner_document
DOM XML (PHP 4) Функции


Возвращает документ, которому принадлежит этот узел

DomNode->node_value
DomNode->parent_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->owner_document

(PHP 4 >= 4.1.0)

DomNode->owner_document — Возвращает документ, которому принадлежит этот узел

Описание

domdocument DomNode->owner_document ( void )

Эта функция возвращает документ, которому принадлежит текущий узел.

Следующий пример создаст 2 идентичных списка сыновей.

Пример #1 Обнаружение документа узла

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->owner_document();
$children = $doc2->children();
print_r($children);
?>

См. также domnode_insert_before().

DomNode->node_value
DomNode->parent_node
DOM XML (PHP 4) Функции


Возвращает родителя узла

DomNode->owner_document
DomNode->prefix
DOM XML (PHP 4) Функции
PHP Manual

DomNode->parent_node

(PHP 4 >= 4.1.0)

DomNode->parent_node — Возвращает родителя узла

Описание

domnode DomNode->parent_node ( void )

Эта функция возвращает родительский узел.

(только для PHP >= 4.3) Если родительский узел не найден, функция вернет NULL.

Следующий пример покажет 2 идентичных списка сыновей.

Пример #1 Обнаружение документа узла

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->parent_node();
$children = $doc2->children();
print_r($children);
?>

DomNode->owner_document
DomNode->prefix
DOM XML (PHP 4) Функции


Возвращает префикс пространства имен узла

DomNode->parent_node
DomNode->previous_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->prefix

(PHP 4 >= 4.1.0)

DomNode->prefix — Возвращает префикс пространства имен узла

Описание

string DomNode->prefix ( void )

Возвращает префикс пространства имен узла.

DomNode->parent_node
DomNode->previous_sibling
DOM XML (PHP 4) Функции


Возвращает предыдущего брата узла

DomNode->prefix
DomNode->remove_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->previous_sibling

(PHP 4 >= 4.1.0)

DomNode->previous_sibling — Возвращает предыдущего брата узла

Описание

domelement DomNode->previous_sibling ( void )

Эта функция возвращает предыдущего брата текущего узла. Если предыдущих братьев больше нет, она вернет FALSE (< 4.3) или NULL (>= 4.3). Можно использовать эту функцию для перебора сыновей узла как показано в примере.

См. также domnode_next_sibling().

DomNode->prefix
DomNode->remove_child
DOM XML (PHP 4) Функции


Удаляет сына из списка сыновей

DomNode->previous_sibling
DomNode->replace_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->remove_child

(PHP 4 >= 4.2.0)

DomNode->remove_child — Удаляет сына из списка сыновей

Описание

domtext DomNode->remove_child ( domtext $oldchild )

Эта функция удаляет сына из списка сыновей. Если сына нельзя удалить или аргумент не является сыном, функция вернет FALSE. Если сын может быть удален, функция вернет старого сына.

Пример #1 Удаление сына

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$children = $element->child_nodes();
$child = $element->remove_child($children[0]);

echo "<PRE>";
$xmlfile = $dom->dump_mem(true);
echo htmlentities($xmlfile);
echo "</PRE>";
?>

См. также domnode_append_child().

DomNode->previous_sibling
DomNode->replace_child
DOM XML (PHP 4) Функции


Замена сына

DomNode->remove_child
DomNode->replace_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->replace_child

(PHP 4 >= 4.2.0)

DomNode->replace_child — Замена сына

Описание

domelement DomNode->replace_child ( domelement $newnode , domelement $oldnode )

(PHP 4.2) Эта функция заменяет сына oldnode новым переданным функции узлом. Если новый узел уже является сыном, то второе добавление не производится. Если старый узел найти не удается, функция вернет FALSE. Если замена прошла успешна, функция возвращает старый узел.

(PHP 4.3) Эта функция заменяет сына oldnode новым переданным функции узлом newnode, даже если новый узел уже является сыном DomNode. Если newnode уже был вставленным в документ, он отсоединяется от своего предыдущего контекста. Если заменяемый узел не удалось найти, функция вернет FALSE. Если замена завершилась успешно, будет возвращен старый узел. (Это поведение отвечает требованиям W3C спецификации.)

См. также domnode_append_child()

DomNode->remove_child
DomNode->replace_node
DOM XML (PHP 4) Функции


Заменяет узел

DomNode->replace_child
DomNode->set_content
DOM XML (PHP 4) Функции
PHP Manual

DomNode->replace_node

(PHP 4 >= 4.2.0)

DomNode->replace_node — Заменяет узел

Описание

domelement DomNode->replace_node ( domelement $newnode )

(PHP 4.2) Эта функция заменяет существующий узел на новый переданный в качестве аргумента. Перед заменой newnode копируется, если у него есть родитель, чтобы быть уверенными, что уже существующий узел не будет вставлен повторно. Такое поведение функции вынуждает делать все изменения в узле до замены, либо выбирать уже добавленный узел после замены такими функциями, как domnode_first_child(), domnode_child_nodes() и т.п.

(PHP 4.3) Эта функция заменяет существующий узел на новый переданный в качестве аргумента. Если newnode уже был добавлен в документ, он будет отсоединен от своего прежнего контекста. В случае успешной замены функция вернет старый узел.

См. также domnode_append_child()

DomNode->replace_child
DomNode->set_content
DOM XML (PHP 4) Функции


Устанавливает содержимое узла

DomNode->replace_node
DomNode->set_name
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_content

(PHP 4 >= 4.1.0)

DomNode->set_content — Устанавливает содержимое узла

Описание

bool DomNode->set_content ( string $content )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->replace_node
DomNode->set_name
DOM XML (PHP 4) Функции


Устанавливает имя узла

DomNode->set_content
DomNode->set_namespace
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_name

(PHP 4 >= 4.1.0)

DomNode->set_name — Устанавливает имя узла

Описание

bool DomNode->set_name ( void )

Устанавливает имя узла.

См. также domnode_node_name().

DomNode->set_content
DomNode->set_namespace
DOM XML (PHP 4) Функции


Устанавливает пространство имен узла

DomNode->set_name
DomNode->unlink_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_namespace

(PHP 4 >= 4.3.0)

DomNode->set_namespace — Устанавливает пространство имен узла

Описание

void DomNode->set_namespace ( string $uri [, string $prefix ] )

Устанавливает пространство имен узла в значение uri. Если объявление пространства имен с этим URI уже есть в одном из родительских узлов, префикс будет взят оттуда, в противном случае префикс будет взят из необязательного аргумента prefix или сгенерирован случайным образом.

См. также domdocument_create_element_ns() и domnode_add_namespace()

DomNode->set_name
DomNode->unlink_node
DOM XML (PHP 4) Функции


Удаляет узел

DomNode->set_namespace
DomProcessingInstruction->data
DOM XML (PHP 4) Функции
PHP Manual

DomNode->unlink_node

(PHP 4 >= 4.1.0)

DomNode->unlink_node — Удаляет узел

Описание

void DomNode->unlink_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->set_namespace
DomProcessingInstruction->data
DOM XML (PHP 4) Функции


Возвращает данные узла ProcessingInstruction

DomNode->unlink_node
DomProcessingInstruction->target
DOM XML (PHP 4) Функции
PHP Manual

DomProcessingInstruction->data

(PHP 4 >= 4.1.0)

DomProcessingInstruction->data — Возвращает данные узла ProcessingInstruction

Описание

string DomProcessingInstruction::data ( void )

Этот метод получает данные узла ProcessingInstruction.

Возвращаемые значения

Возвращает данные ProcessingInstruction.

Переход на PHP 5

Используйте свойство data объекта класса DOMProcessingInstruction.

DomNode->unlink_node
DomProcessingInstruction->target
DOM XML (PHP 4) Функции


Возвращает цель узла ProcessingInstruction

DomProcessingInstruction->data
DomXsltStylesheet->process
DOM XML (PHP 4) Функции
PHP Manual

DomProcessingInstruction->target

(PHP 4 >= 4.1.0)

DomProcessingInstruction->target — Возвращает цель узла ProcessingInstruction

Описание

string DomProcessingInstruction::target ( void )

Этот метод получает цель узла ProcessingInstruction.

Возвращаемые значения

Возвращает цель ProcessingInstruction.

Переход на PHP 5

Используйте свойство target объекта класса DOMProcessingInstruction.

DomProcessingInstruction->data
DomXsltStylesheet->process
DOM XML (PHP 4) Функции


Применяет XSLT-преобразование к объекту DomDocument

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
DOM XML (PHP 4) Функции
PHP Manual

DomXsltStylesheet->process

(PHP 4 >= 4.1.0)

DomXsltStylesheet->process — Применяет XSLT-преобразование к объекту DomDocument

Описание

DomDocument DomXsltStylesheet::process ( DomDocument $xml_doc [, array $xslt_params [, bool $is_xpath_param [, string $profile_filename ]]] )

Применяет XSLT-преобразование к заданному объекту класса DomDocument.

Список параметров

xml_doc

XML документ для преобразования в виде объекта класса DomDocument.

xslt_params

Ассоциативный массив содержащий имена и значения параметров.

is_xpath_param

Если установлен в FALSE, значения массива xslt_params будут заключаться в кавычки. Это поведение по умолчанию. Оно позволяет передать значения в виде PHP строк.

Замечание:

Если строки содержат одновременно и одинарные, и двойные кавычки, необходимо самостоятельно заключить все значения в кавычки и установить значение этого аргумента в TRUE.

profile_filename

Задайте путь к файлу, если требуется сведения профилирования.

Возвращаемые значения

Возвращает результат обработки в виде объекта класса DomDocument.

Переход на PHP 5

Используйте XSLTProcessor::setParameter() и XSLTProcessor::transform-to-doc().

Список изменений

Версия | Описание
4.3.0 | Добавлен аргумент profile_filename.

Смотрите также

  • domxml_xslt_stylesheet() - Создает объект DomXsltStylesheet из строки XSL
  • domxml_xslt_stylesheet_file() - Создает объект DomXsltStylesheet из XML файла
  • domxml_xslt_stylesheet_doc() - Создает объект класса DomXsltStylesheet из объекта DomDocument

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
DOM XML (PHP 4) Функции


Сохраняет результат XSLT-Преобразования в файл

DomXsltStylesheet->process
DomXsltStylesheet->result_dump_mem
DOM XML (PHP 4) Функции
PHP Manual

DomXsltStylesheet->result_dump_file

(PHP 4 >= 4.1.0)

DomXsltStylesheet->result_dump_file — Сохраняет результат XSLT-Преобразования в файл

Описание

string DomXsltStylesheet::result_dump_file ( DomDocument $xmldoc , string $filename )

С тех пор как DomXsltStylesheet->process стала всегда возвращать достоверный XML DomDocument, не важно, какой метод вывода объявлен в

<xsl:output>
и подобных атрибутах/элементах, от этой функции мало толку, если требуется вывести HTML 4 или текстовые данные.

Эта функция принимает на обработку

<xsl:output method="html|text">
и другие директивы контроля вывода. Смотрите примеры для понимания, как она работает.

Примеры

Пример #1 Сохранение результата XSLT-преобразования в файл

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
echo $xsldoc->result_dump_file($result, "filename");
?>

Смотрите также

  • DomXsltStylesheet->result_dump_mem
  • DomXsltStylesheet->process

DomXsltStylesheet->process
DomXsltStylesheet->result_dump_mem
DOM XML (PHP 4) Функции


Представляет результат XSLT-Преобразования в виде строки

DomXsltStylesheet->result_dump_file
domxml_new_doc
DOM XML (PHP 4) Функции
PHP Manual

DomXsltStylesheet->result_dump_mem

(PHP 4 >= 4.1.0)

DomXsltStylesheet->result_dump_mem — Представляет результат XSLT-Преобразования в виде строки

Описание

string DomXsltStylesheet::result_dump_mem ( DomDocument $xmldoc )

С тех пор как DomXsltStylesheet->process стала всегда возвращать достоверный XML DomDocument, не важно, какой метод вывода объявлен в

<xsl:output>
и подобных атрибутах/элементах, от этой функции мало толку, если требуется вывести HTML 4 или текстовые данные.

Эта функция принимает на обработку

<xsl:output method="html|text">
и другие директивы контроля вывода. Смотрите примеры для понимания, как она работает.

Примеры

Пример #1 Вывод результата XSLT преобразования

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
echo $xsldoc->result_dump_mem($result);
?>

Смотрите также

  • DomXsltStylesheet->result_dump_file
  • DomXsltStylesheet->process

DomXsltStylesheet->result_dump_file
domxml_new_doc
DOM XML (PHP 4) Функции


Создает новый пустой XML документ

DomXsltStylesheet->result_dump_mem
domxml_open_file
DOM XML (PHP 4) Функции
PHP Manual

domxml_new_doc

(PHP 4 >= 4.2.0)

domxml_new_doc — Создает новый пустой XML документ

Описание

DomDocument domxml_new_doc ( string $version )

Создает и возвращает новый пустой DOM документ.

Список параметров

version

Номер XML версии документа.

Возвращаемые значения

Возвращает новый экземпляр класса DomDocument.

DomXsltStylesheet->result_dump_mem
domxml_open_file
DOM XML (PHP 4) Функции


Создает объект DOM из XML файла

domxml_new_doc
domxml_open_mem
DOM XML (PHP 4) Функции
PHP Manual

domxml_open_file

(PHP 4 >= 4.2.0)

domxml_open_file — Создает объект DOM из XML файла

Описание

DomDocument domxml_open_file ( string $filename [, int $mode = DOMXML_LOAD_PARSING [, array &$error ]] )

Функция разбирает XML документ из заданного файла.

Список параметров

filename

Путь к XML файлу. Файл доступен только для чтения.

mode

Этот необязательный аргумент можно использовать для переключения поведения функции.

В этом аргументе можно использовать одну из следующих констант: DOMXML_LOAD_PARSING (по умолчанию), DOMXML_LOAD_VALIDATING или DOMXML_LOAD_RECOVERING. Также к нему можно добавить DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES и DOMXML_LOAD_COMPLETE_ATTRS с помощью побитового или.

error

Если используется, может содержать сообщения об ошибках. error должен передаваться по ссылке.

Возвращаемые значения

Возвращает объект класса DomDocument.

Примеры

Пример #1 Открытие XML документа из файла

<?php

if (!$dom = domxml_open_file("example.xml")) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$root = $dom->document_element();
?>

Список изменений

Версия | Описание
4.3.0 | Добавлены аргументы mode и error.

Смотрите также

  • domxml_open_mem() - Создает объект DOM XML документа
  • domxml_new_doc() - Создает новый пустой XML документ

domxml_new_doc
domxml_open_mem
DOM XML (PHP 4) Функции


Создает объект DOM XML документа

domxml_open_file
domxml_version
DOM XML (PHP 4) Функции
PHP Manual

domxml_open_mem

(PHP 4 >= 4.2.0)

domxml_open_mem — Создает объект DOM XML документа

Описание

DomDocument domxml_open_mem ( string $str [, int $mode [, array &$error ]] )

Функция разбирает XML документ из переданной строки.

Список параметров

str

Содержимое XML файла.

mode

Этот необязательный аргумент может использоваться для изменения режима работы функции.

В качестве аргумента может быть передана одна из констант: DOMXML_LOAD_PARSING (по умолчанию), DOMXML_LOAD_VALIDATING или DOMXML_LOAD_RECOVERING. Также можно добавить константы DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES и DOMXML_LOAD_COMPLETE_ATTRS посредством побитового или.

error

Если используется, может содержать сообщения об ошибках. error должен быть передан по ссылке.

Возвращаемые значения

Возвращает объект класса DomDocument, содержащий данные XML строки.

Список изменений

Версия | Описание
4.3.0 | Добавлены аргументы mode и error.

Примеры

Пример #1 Открытие XML документа из строки

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Ошибка при разборе документа\n";
  exit;
}

$root = $dom->document_element();
?>

Смотрите также

  • domxml_open_file() - Создает объект DOM из XML файла
  • domxml_new_doc() - Создает новый пустой XML документ

domxml_open_file
domxml_version
DOM XML (PHP 4) Функции


Получает номер версии XML библиотеки

domxml_open_mem
domxml_xmltree
DOM XML (PHP 4) Функции
PHP Manual

domxml_version

(PHP 4 >= 4.1.0)

domxml_version — Получает номер версии XML библиотеки

Описание

string domxml_version ( void )

Получает версию текущей XML библиотеки.

Возвращаемые значения

Версия XML библиотеки в виде строки.

Примеры

Пример #1 Пример использования domxml_version()

<?php

echo domxml_version();

?>

Результатом выполнения данного примера будет что-то подобное:

20607

domxml_open_mem
domxml_xmltree
DOM XML (PHP 4) Функции


Создает дерево объектов PHP из XML документа

domxml_version
domxml_xslt_stylesheet_doc
DOM XML (PHP 4) Функции
PHP Manual

domxml_xmltree

(PHP 4 >= 4.2.0)

domxml_xmltree — Создает дерево объектов PHP из XML документа

Описание

DomDocument domxml_xmltree ( string $str )

Функция разбирает XML документ из строки str и возвращает соответствующее дерево объектов PHP.

Эта функция изолирована от остальных, это означает, что невозможно получить доступ к дереву, используя другие функции. Изменение дерева, например добавление к нему узлов, не имеет смысла, потому как на данный момент нет способа получить из этого дерева обратно XML файл.

Тем не менее, эта функция может оказаться полезной, если требуется только прочитать файл и исследовать содержимое.

Список параметров

str

Содержимое XML файла.

Возвращаемые значения

Возвращает дерево DOM объектов, начиная с DomDocument.

domxml_version
domxml_xslt_stylesheet_doc
DOM XML (PHP 4) Функции


Создает объект класса DomXsltStylesheet из объекта DomDocument

domxml_xmltree
domxml_xslt_stylesheet_file
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_stylesheet_doc

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_doc — Создает объект класса DomXsltStylesheet из объекта DomDocument

Описание

DomXsltStylesheet domxml_xslt_stylesheet_doc ( DomDocument $xsl_doc )

Создает объект класса DomXsltStylesheet из переданного XSL документа.

Список параметров

xsl_doc

XSL документ в виде объекта класса DomDocument.

Возвращаемые значения

Возвращает новый экземпляр класса DomXsltStylesheet.

Переход на PHP 5

Вызывайте XSLTProcessor::importStylesheet() с аргументом xsl_doc.

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Создает объект DomXsltStylesheet из строки XSL
  • domxml_xslt_stylesheet_file() - Создает объект DomXsltStylesheet из XML файла

domxml_xmltree
domxml_xslt_stylesheet_file
DOM XML (PHP 4) Функции


Создает объект DomXsltStylesheet из XML файла

domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_stylesheet_file

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_file — Создает объект DomXsltStylesheet из XML файла

Описание

DomXsltStylesheet domxml_xslt_stylesheet_file ( string $xsl_file )

Создает объект класса DomXsltStylesheet из заданного XML файла.

Список параметров

xsl_file

Путь к XML файлу в виде строки.

Возвращаемые значения

Возвращает новый экземпляр класса DomXsltStylesheet.

Переход на PHP 5

Вызывайте XSLTProcessor::importStylesheet() с аргументом DOMDocument::load($xsl_file).

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Создает объект DomXsltStylesheet из строки XSL
  • domxml_xslt_stylesheet_doc() - Создает объект класса DomXsltStylesheet из объекта DomDocument

domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet
DOM XML (PHP 4) Функции


Создает объект DomXsltStylesheet из строки XSL

domxml_xslt_stylesheet_file
domxml_xslt_version
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_stylesheet

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet — Создает объект DomXsltStylesheet из строки XSL

Описание

DomXsltStylesheet domxml_xslt_stylesheet ( string $xsl_buf )

Создает объект класса DomXsltStylesheet из переданного XSL буфера.

Список параметров

xsl_buf

XSL документ в виде строки.

Возвращаемые значения

Возвращает новый экземпляр класса DomXsltStylesheet.

Переход на PHP 5

Вызывайте XSLTProcessor::importStylesheet() с аргументом DOMDocument::loadXML($xsl_buf).

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet_file() - Создает объект DomXsltStylesheet из XML файла
  • domxml_xslt_stylesheet_doc() - Создает объект класса DomXsltStylesheet из объекта DomDocument

domxml_xslt_stylesheet_file
domxml_xslt_version
DOM XML (PHP 4) Функции


Получает версию XSLT библиотеки

domxml_xslt_stylesheet
xpath_eval_expression
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_version

(PHP 4 >= 4.2.0)

domxml_xslt_version — Получает версию XSLT библиотеки

Описание

int domxml_xslt_version ( void )

Получает версию XSLT библиотеки.

Возвращаемые значения

Возвращает версию XSLT библиотеки в виде числа.

Примеры

Пример #1 Пример использования domxml_xslt_version()

<?php

echo domxml_xslt_version();

?>

Результатом выполнения данного примера будет что-то подобное:

10112

Смотрите также

  • domxml_version() - Получает номер версии XML библиотеки

domxml_xslt_stylesheet
xpath_eval_expression
DOM XML (PHP 4) Функции


Вычисляет XPath Location Path в переданной строке

domxml_xslt_version
xpath_eval
DOM XML (PHP 4) Функции
PHP Manual

xpath_eval_expression

(PHP 4)

xpath_eval_expression — Вычисляет XPath Location Path в переданной строке

Описание

XPathObject XPathContext::xpath_eval_expression ( string $expression [, domnode $contextnode ] )
XPathObject xpath_eval_expression ( XPathContext $xpath_context , string $expression [, domnode $contextnode ] )

Пример #1 Пример использования xpath_eval_expression()

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Ошибка при разборе документа\n";
    exit;
}

$xpath = xpath_new_context($dom);
var_dump(xpath_eval_expression($xpath, '/chapter/@language'));

?>

Результат выполнения данного примера:

object(XPathObject)(2) {
   ["type"]=>
   int(1)
   ["nodeset"]=>
   array(1) {
     [0]=>
     object(domattribute)(5) {
       ["type"]=>
       int(2)
       ["name"]=>
       string(8) "language"
       ["value"]=>
       string(2) "en"
       [0]=>
       int(7)
       [1]=>
       int(138004256)
     }
  }
}

См. также xpath_eval().

domxml_xslt_version
xpath_eval
DOM XML (PHP 4) Функции


Вычисляет XPath Location Path в переданной строке

xpath_eval_expression
xpath_new_context
DOM XML (PHP 4) Функции
PHP Manual

xpath_eval

(PHP 4)

xpath_eval — Вычисляет XPath Location Path в переданной строке

Описание

XPathObject XPathContext::xpath_eval ( string $xpath_expression [, domnode $contextnode ] )
XPathObject xpath_eval ( XPathContext $xpath_context , string $xpath_expression [, domnode $contextnode ] )

Необязательный аргумент contextnode можно использовать для указания относительных адресов XPath.

См. также xpath_new_context().

xpath_eval_expression
xpath_new_context
DOM XML (PHP 4) Функции


Создает новый xpath контекст

xpath_eval
xpath_register_ns_auto
DOM XML (PHP 4) Функции
PHP Manual

xpath_new_context

(PHP 4)

xpath_new_context — Создает новый xpath контекст

Описание

XPathContext xpath_new_context ( domdocument $dom_document )

Создает новый xpath контекст.

Смотрите также

  • xpath_eval() - Вычисляет XPath Location Path в переданной строке

xpath_eval
xpath_register_ns_auto
DOM XML (PHP 4) Функции


Регистрация заданного пространства имен в определенном XPath контексте

xpath_new_context
xpath_register_ns
DOM XML (PHP 4) Функции
PHP Manual

xpath_register_ns_auto

(PHP 4 >= 4.3.0)

xpath_register_ns_auto — Регистрация заданного пространства имен в определенном XPath контексте

Описание

bool xpath_register_ns_auto ( XPathContext $xpath_context [, object $context_node ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xpath_register_ns() - Регистрирует пространство имен в переданном XPath контексте

xpath_new_context
xpath_register_ns
DOM XML (PHP 4) Функции


Регистрирует пространство имен в переданном XPath контексте

xpath_register_ns_auto
xptr_eval
DOM XML (PHP 4) Функции
PHP Manual

xpath_register_ns

(PHP 4 >= 4.2.0)

xpath_register_ns — Регистрирует пространство имен в переданном XPath контексте

Описание

bool xpath_register_ns ( XPathContext $xpath_context , string $prefix , string $uri )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xpath_register_ns_auto() - Регистрация заданного пространства имен в определенном XPath контексте

xpath_register_ns_auto
xptr_eval
DOM XML (PHP 4) Функции


Вычисляет XPtr Location Path в заданной строке

xpath_register_ns
xptr_new_context
DOM XML (PHP 4) Функции
PHP Manual

xptr_eval

(PHP 4)

xptr_eval — Вычисляет XPtr Location Path в заданной строке

Описание

int XPathContext::xptr_eval ( string $eval_str [, domnode $contextnode ] )
int xptr_eval ( XPathContext $xpath_context , string $eval_str [, domnode $contextnode ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xpath_register_ns
xptr_new_context
DOM XML (PHP 4) Функции


Создает новый контекст XPath

xptr_eval
libxml
DOM XML (PHP 4) Функции
PHP Manual

xptr_new_context

(PHP 4)

xptr_new_context — Создает новый контекст XPath

Описание

XPathContext xptr_new_context ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xptr_eval
libxml
DOM XML (PHP 4) Функции


libxml

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • libXMLError — Класс libXMLError
  • libxml Функции
    • libxml_clear_errors — Очистка буфера ошибок libxml
    • libxml_disable_entity_loader — Отключение возможности загрузки сущностей из внешних источников
    • libxml_get_errors — Получение массива произошедших ошибок
    • libxml_get_last_error — Извлечение последней ошибки из libxml
    • libxml_set_streams_context — Установка контекста потока для следующей загрузки или записи документа посредством libxml
    • libxml_use_internal_errors — Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
xptr_new_context
Введение
Обработка XML


Введение

Эти функции/константы доступны, начиная с PHP 5.1.0, указанные ниже расширения ядра ссылаются на это libxml расширение: DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XSLT, XML, XMLReader, XMLRPC и XMLWriter.

libxml
Установка и настройка
libxml


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
libxml


Требования

Это расширение требует для работы » libxml >= 2.6.0.

Установка и настройка
Установка
Установка и настройка


Установка

Расширение libxml включено по умолчанию, но может быть отключено посредством директивы --disable-libxml .

Необязательная директива --with-libxml-dir используется для задания расположения libxml в системах, на которых PHP скомпилирован, если не директива не используется, поиск будет производиться только по стандартным путям. configure процесс производит поиск libxml (особенно, xml2-config) по путям в следующем порядке:

  1. Расположение ([DIR]) заданное с помощью директивы --with-libxml-dir ([DIR]=/bin/xml2-config)

  2. /usr/local/bin/xml2-config

  3. /usr/bin/xml2-config

Если configure не найдет xml2-config в директории, заданной директивой --with-libxml-dir , он продолжит поиск по стандартным путям.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

LIBXML_COMPACT (integer)
Активирует оптимизацию выделения памяти для небольших узлов. Это может повысить быстродействие приложения и не требует внесения изменений в код.

Замечание:

Доступно только в Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
DTD атрибуты по умолчанию
LIBXML_DTDLOAD (integer)
Загрузка внешнего подмножества
LIBXML_DTDVALID (integer)
Проверка действительности документа с помощью DTD
LIBXML_NOBLANKS (integer)
Удаление пустых узлов
LIBXML_NOCDATA (integer)
Объединить CDATA как текстовые узлы
LIBXML_NOEMPTYTAG (integer)
Разворачивать пустые тэги (например <br/> в <br></br>)

Замечание:

Эта настройка доступна на данный момент в функциях DOMDocument::save и DOMDocument::saveXML.

LIBXML_NOENT (integer)
Замещение сущностей
LIBXML_NOERROR (integer)
Запретить отчеты об ошибках
LIBXML_NONET (integer)
Отключить доступ по сети во время загрузки документов
LIBXML_NOWARNING (integer)
Запретить предупреждения
LIBXML_NOXMLDECL (integer)
Убрать XML объявление при сохранении документа

Замечание:

Доступна только в Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Удалить лишние объявления пространств имен
LIBXML_PARSEHUGE (integer)
Установить флаг XML_PARSE_HUGE, который отключает жестко заданный лимит в парсере.
LIBXML_XINCLUDE (integer)
Реализовать XInclude замещение
LIBXML_ERR_ERROR (integer)
Устранимая ошибка
LIBXML_ERR_FATAL (integer)
Фатальная ошибка
LIBXML_ERR_NONE (integer)
Нет ошибок
LIBXML_ERR_WARNING (integer)
Простое предупреждение
LIBXML_VERSION (integer)
Версия libxml в виде 20605 или 20617
LIBXML_DOTTED_VERSION (string)
Версия libxml в виде 2.6.5 или 2.6.17
Типы ресурсов
libXMLError
libxml


Класс libXMLError

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Содержит различную информацию об ошибках, выбрасываемых libxml. Коды ошибок описаны в официальной » xmlError API документации.

Обзор классов

libXMLError {
/* Свойства */
public int $libXMLError->level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Свойства

level

Важность ошибки (одна из следующих констант: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR или LIBXML_ERR_FATAL)

code

Код ошибки

column

Столбец, в котором произошла ошибка.

Замечание:

Это свойство реализовано в libxml не до конца, поэтому в большинстве случаев будет возвращаться 0.

message

Сообщение об ошибке, если есть.

file

Имя файла либо пустая строка, если XML загружался из строки.

line

Строка, в которой произошла ошибка.

Предопределенные константы
libxml Функции
libxml


libxml Функции

Содержание

  • libxml_clear_errors — Очистка буфера ошибок libxml
  • libxml_disable_entity_loader — Отключение возможности загрузки сущностей из внешних источников
  • libxml_get_errors — Получение массива произошедших ошибок
  • libxml_get_last_error — Извлечение последней ошибки из libxml
  • libxml_set_streams_context — Установка контекста потока для следующей загрузки или записи документа посредством libxml
  • libxml_use_internal_errors — Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
libXMLError
libxml_clear_errors
libxml


Очистка буфера ошибок libxml

libxml Функции
libxml_disable_entity_loader
libxml Функции
PHP Manual

libxml_clear_errors

(PHP 5 >= 5.1.0)

libxml_clear_errors — Очистка буфера ошибок libxml

Описание

void libxml_clear_errors ( void )

libxml_clear_errors() очищает буфер ошибок libxml.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • libxml_get_errors() - Получение массива произошедших ошибок
  • libxml_get_last_error() - Извлечение последней ошибки из libxml

libxml Функции
libxml_disable_entity_loader
libxml Функции


Отключение возможности загрузки сущностей из внешних источников

libxml_clear_errors
libxml_get_errors
libxml Функции
PHP Manual

libxml_disable_entity_loader

(PHP 5 >= 5.2.11)

libxml_disable_entity_loader — Отключение возможности загрузки сущностей из внешних источников

Описание

bool libxml_disable_entity_loader ([ bool $disable = true ] )

Отключение/включение возможности загружать внешние сущности.

Список параметров

disable

Отключение (TRUE) или включение (FALSE) libxml расширений (также как в DOM, XMLWriter и XMLReader) для загрузки внешних сущностей.

Возвращаемые значения

Возвращает предыдущее значение.

Смотрите также

  • libxml_use_internal_errors() - Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
  • Константа LIBXML_NONET

libxml_clear_errors
libxml_get_errors
libxml Функции


Получение массива произошедших ошибок

libxml_disable_entity_loader
libxml_get_last_error
libxml Функции
PHP Manual

libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors — Получение массива произошедших ошибок

Описание

array libxml_get_errors ( void )

Получение массива произошедших ошибок.

Возвращаемые значения

Возвращает массив объектов LibXMLError, если в буфере есть ошибки, либо пустой массив в противном случае.

Примеры

Пример #1 Пример использования libxml_get_errors()

Этот пример демонстрирует, как создать простой обработчик ошибок libxml.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

Результат выполнения данного примера:

  <titles>PHP: Behind the Parser</title>
----------------------------------------------^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 46

--------------------------------------------

Смотрите также

  • libxml_get_last_error() - Извлечение последней ошибки из libxml
  • libxml_clear_errors() - Очистка буфера ошибок libxml

libxml_disable_entity_loader
libxml_get_last_error
libxml Функции


Извлечение последней ошибки из libxml

libxml_get_errors
libxml_set_streams_context
libxml Функции
PHP Manual

libxml_get_last_error

(PHP 5 >= 5.1.0)

libxml_get_last_error — Извлечение последней ошибки из libxml

Описание

LibXMLError libxml_get_last_error ( void )

Извлечение последней ошибки из libxml.

Возвращаемые значения

Возвращает объект LibXMLError, если в буфере есть ошибки, либо FALSE в противном случае.

Смотрите также

  • libxml_get_errors() - Получение массива произошедших ошибок
  • libxml_clear_errors() - Очистка буфера ошибок libxml

libxml_get_errors
libxml_set_streams_context
libxml Функции


Установка контекста потока для следующей загрузки или записи документа посредством libxml

libxml_get_last_error
libxml_use_internal_errors
libxml Функции
PHP Manual

libxml_set_streams_context

(PHP 5)

libxml_set_streams_context — Установка контекста потока для следующей загрузки или записи документа посредством libxml

Описание

void libxml_set_streams_context ( resource $streams_context )

Установка контекста потока для следующей загрузки или записи документа посредством libxml.

Список параметров

streams_context

Ресурс контекста потока (созданный функцией stream_context_create())

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования libxml_set_streams_context()

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request a file through HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Смотрите также

  • stream_context_create() - Создаёт контекст потока

libxml_get_last_error
libxml_use_internal_errors
libxml Функции


Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю

libxml_set_streams_context
qtdom
libxml Функции
PHP Manual

libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors — Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю

Описание

bool libxml_use_internal_errors ([ bool $use_errors = false ] )

libxml_use_internal_errors() позволяет отключить стандартные ошибки libxml и включить пользовательскую обработку ошибок.

Список параметров

use_errors

Включает (TRUE) пользовательскую обработку ошибок или отключает ее (FALSE). Отключение также очищает все текущие ошибки libxml.

Возвращаемые значения

Эта функция возвращает предыдущее значение параметра use_errors.

Примеры

Пример #1 Пример использования libxml_use_internal_errors()

Этот пример демонстрирует основное использование ошибок libxml и значение, которое возвращает эта функция.

<?php

// включение обработки ошибок пользователем
var_dump(libxml_use_internal_errors(true));

// загрузка документа
$doc = new DOMDocument;

if (!$doc->load('file.xml')) {
    foreach (libxml_get_errors() as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

Результат выполнения данного примера:

bool(false)

Смотрите также

  • libxml_clear_errors() - Очистка буфера ошибок libxml
  • libxml_get_errors() - Получение массива произошедших ошибок

libxml_set_streams_context
qtdom
libxml Функции


qtdom

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • qtdom
    • qdom_error — Возвращает строку ошибки из последней операции QDOM или FALSE, если ошибок не было
    • qdom_tree — Создает дерево XML-строки
libxml_use_internal_errors
Введение
Обработка XML


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Замечание: Для Windows-платформ это расширение недоступно.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

qtdom
Установка и настройка
qtdom


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
qtdom


Требования

Необходима библиотека Qt >=2.2.0

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение не поддерживается и считается умершим. Однако, его исходный код все еще доступен в PECL SVN вот здесь: » http://svn.php.net/viewvc/pecl/qtdom.

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
qtdom
qtdom


qtdom
PHP Manual

qtdom

Содержание

  • qdom_error — Возвращает строку ошибки из последней операции QDOM или FALSE, если ошибок не было
  • qdom_tree — Создает дерево XML-строки
Предопределенные константы
qdom_error
qtdom
PHP Manual


Возвращает строку ошибки из последней операции QDOM или FALSE, если ошибок не было

qtdom
qdom_tree
qtdom
PHP Manual

qdom_error

(PHP 4 >= 4.0.5)

qdom_error — Возвращает строку ошибки из последней операции QDOM или FALSE, если ошибок не было

Описание

string qdom_error ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

qtdom
qdom_tree
qtdom


Создает дерево XML-строки

qdom_error
SDO
qtdom
PHP Manual

qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree — Создает дерево XML-строки

Описание

QDomDocument qdom_tree ( string $doc )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

qdom_error
SDO
qtdom


Service Data Objects

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Limitations
  • Примеры
    • Basic usage
    • Setting and Getting Property Values
    • Working with Sequenced Data Objects
    • Reflecting on Service Data Objects
  • SDO Функции
    • SDO_DAS_ChangeSummary::beginLogging — Begin change logging
    • SDO_DAS_ChangeSummary::endLogging — End change logging
    • SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject
    • SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary
    • SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject
    • SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject
    • SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on
    • SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type
    • SDO_DAS_DataFactory::addType — Add a new type to a model
    • SDO_DAS_DataFactory::getDataFactory — Get a data factory instance
    • SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary
    • SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property
    • SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property
    • SDO_DAS_Setting::getPropertyName — Get the property name for a changed property
    • SDO_DAS_Setting::getValue — Get the old value for the changed property
    • SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified
    • SDO_DataFactory::create — Create an SDO_DataObject
    • SDO_DataObject::clear — Clear an SDO_DataObject's properties
    • SDO_DataObject::createDataObject — Create a child SDO_DataObject
    • SDO_DataObject::getContainer — Get a data object's container
    • SDO_DataObject::getSequence — Get the sequence for a data object
    • SDO_DataObject::getTypeName — Return the name of the type for a data object.
    • SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.
    • SDO_Exception::getCause — Get the cause of the exception.
    • SDO_List::insert — Insert into a list
    • SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property
    • SDO_Model_Property::getDefault — Get the default value for the property
    • SDO_Model_Property::getName — Get the name of the SDO_Model_Property
    • SDO_Model_Property::getType — Get the SDO_Model_Type of the property
    • SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship
    • SDO_Model_Property::isMany — Test to see if the property is many-valued
    • SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject
    • SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object
    • SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject
    • SDO_Model_Type::getBaseType — Get the base type for this type
    • SDO_Model_Type::getName — Get the name of the type
    • SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type
    • SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type
    • SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type
    • SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type
    • SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type
    • SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type
    • SDO_Model_Type::isOpenType — Test to see if this type is an open type
    • SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type
    • SDO_Sequence::getProperty — Return the property for the specified sequence index.
    • SDO_Sequence::insert — Insert into a sequence
    • SDO_Sequence::move — Move an item to another sequence position
qdom_tree
Введение
Обработка XML


Введение

Service Data Objects (SDOs) enable PHP applications to work with data from different sources (like a database query, an XML file, and a spreadsheet) using a single interface.

Each different kind of data source requires a Data Access Service (DAS) to provide access to the data in the data source. In your PHP application, you use a DAS to create an SDO instance that represents some data in the data source. You can then set and get values in the SDO instance using the standard SDO interface. Finally, you use a DAS to write the modified data back to a data source, typically the same one.

See the list of Data Access Services for details on those currently available. In addition to the provided DASs, SDO also provides interfaces to enable others to be implemented (see the section on SDO Data Access Services Interface for more details).

This extension is derived from concepts taken from the » Service Data Objects specification. It includes a version of the » Apache Tuscany SDO for C++ project.

The Structure of a Service Data Object

A Service Data Object instance is made up of a tree of data objects. The tree is defined by containment relationships between the data objects. For example, a Company data object might consist of a number of Department data objects and therefore the Company would have a containment relationship to the Departments.

An SDO may also have non-containment references between data objects in the tree. For example, one Employee data object might reference another Employee to identify a career mentor.

As well as data objects referencing each other, they can also have primitive properties. For example, the Company data object might have a property called "name" of type string, for holding the name of the company (for example, "Acme").

Each of these properties of a data object - containment relationships, non-containment references, or primitive properties - may be many-valued or single-valued. In the above examples, Departments is many-valued and the Company name is single-valued.

In PHP, each SDO data object is represented as a PHP object. The properties of the data object can be accessed using either object syntax or associative array syntax. We'll see some examples of this later.

SDO
Установка и настройка
SDO


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SDO


Требования

The SDO extension requires PHP 5.1.0 or higher. It also requires the libxml2 library. Normally libxml2 will already be installed, but if not, it can be downloaded from » http://www.xmlsoft.org/.

Установка и настройка
Установка
Установка и настройка


Установка

Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/sca_sdo.

Замечание:

Earlier versions of the SDO extension required a separate shared library for the XML DAS. This is now obsolete and any references to php_sdo_das_xml.dll or sdo_das_xml.so should be removed from your php.ini.

Unix systems

  1. The three SDO components - the SDO core, the XML DAS and the Relational DAS - are packaged together with Service Component Architecture (SCA) into one PECL project, SCA_SDO, so you can download SCA and all three parts of SDO with the command:

    pecl install SCA_SDO

    This command will build the SDO shared library as well as installing the PHP files that make up SCA and the SDO Relational DAS.

    If you want to use the latest beta version, then instead run:

    pecl install SCA_SDO-beta

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini:

    extension=sdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

Building SDO on Linux

This section describes how to build the SDO core and XML DAS on Linux. You would only need to know how to do this if you wish to build a recent version that you have checked out of SVN.

  1. Change to the main extension directory: cd < wherever your sdo code is >

  2. Run phpize, which will set up the environment to compile SDO.

  3. Next, run ./configure; make; make install. Please note, you may need to login as root to install the extension.

  4. Make sure that the module is loaded by PHP, by adding extension=sdo.so to your php.ini file.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

SDO_DAS_ChangeSummary::NONE=0 (integer)
Represents a change type of 'none'.
SDO_DAS_ChangeSummary::MODIFICATION=1 (integer)
Represents a change type of 'modification'.
SDO_DAS_ChangeSummary::ADDITION=2 (integer)
Represents a change type of 'addition'.
SDO_DAS_ChangeSummary::DELETION=3 (integer)
Represents a change type of 'deletion'.
Типы ресурсов
Limitations
SDO


Limitations

Implementation Limitations

The following are limitations in the current SDO implementation:

  1. There is no support for multi-byte character sets. This will be considered, depending on community requirements, in a Unicode-enabled version of PHP.

SDO Limitations

The following SDO 2.0 concepts are not supported in the current PHP implementation. It is not necessarily the case that these will all be added over time. Their inclusion will depend on community requirements.

  1. Bi-directional relationships.

  2. Type and property alias names.

  3. Read-only properties.

  4. The Helper classes defined in SDO 2.0 are not directly implemented. However equivalent function is provided in a more natural way for PHP. For example the function of CopyHelper::copy() is provided by applying the PHP clone keyword to a data object.

Предопределенные константы
Примеры
SDO


Примеры

Содержание

  • Basic usage
  • Setting and Getting Property Values
  • Working with Sequenced Data Objects
  • Reflecting on Service Data Objects
Limitations
Basic usage
SDO


Basic usage

The examples below assume an SDO created with the schema and instance information shown below, using the XML Data Access Service.

The instance document below describes a single company, called 'MegaCorp', which contains a single department, called 'Advanced Technologies'. The Advanced Technologies department contains three employees. The company employeeOfTheMonth is referencing the second employee, 'Jane Doe'.

<?xml version="1.0" encoding="UTF-8" ?>
<company xmlns="companyNS" name="MegaCorp"
  employeeOfTheMonth="E0003">
  <departments name="Advanced Technologies" location="NY" number="123">
    <employees name="John Jones" SN="E0001"/>
    <employees name="Jane Doe" SN="E0003"/>
    <employees name="Al Smith" SN="E0004" manager="true"/>
  </departments>
</company>

The root element of the schema is a company. The company contains departments, and each department contains employees. Each element has a number of attributes to store things like name, serial number, and so on. Finally, the company also has an IDREF attribute which identifies one of the employees as the 'employeeOfTheMonth'.

<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sdo="commonj.sdo"
  xmlns:sdoxml="commonj.sdo/xml"
  xmlns:company="companyNS"
  targetNamespace="companyNS">
  <xsd:element name="company" type="company:CompanyType"/>
  <xsd:complexType name="CompanyType">
    <xsd:sequence>
      <xsd:element name="departments" type="company:DepartmentType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF"
      sdoxml:propertyType="company:EmployeeType"/>
  </xsd:complexType>
  <xsd:complexType name="DepartmentType">
    <xsd:sequence>
      <xsd:element name="employees" type="company:EmployeeType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="location" type="xsd:string"/>
    <xsd:attribute name="number" type="xsd:int"/>
  </xsd:complexType>
  <xsd:complexType name="EmployeeType">
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="SN" type="xsd:ID"/>
    <xsd:attribute name="manager" type="xsd:boolean"/>
  </xsd:complexType>
</xsd:schema>

The XML Data Access Service maps the schema to an SDO. Attributes such as "name" become primitive properties, the sequence of employees becomes a many-valued containment relationship, and so on. Note that the containment relationships are expressed as one complex type within another, whereas non-containment references are expressed in terms of ID and IDREF, with a special sdoxml:propertyType attribute specifying the type of the non-containment reference.

Примеры
Setting and Getting Property Values
Примеры


Setting and Getting Property Values

The following examples assume $company is the root of a tree of data objects created from the schema and instance document shown above.

Пример #1 Access via property name

Data object properties can be accessed using the object property access syntax. The following sets the company name to 'Acme'.

<?php
$company->name = 'Acme';
?>

Пример #2 Access via property name as array index

We can also access properties using associative array syntax. The simplest form of this uses the property name as the array index. For example, the following sets the company name and gets the employeeOfTheMonth.

<?php
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>

Пример #3 Data Object iteration

We can iterate over the properties of a data object using foreach. The following iterates over the properties of the employee of the month.

<?php
  $eotm = $company->employeeOfTheMonth;
  foreach ($eotm as $name => $value) {
      echo "$name: $value\n";
  }
?>

which will output:

name: Jane Doe
SN: E0003

The 'manager' property is not output, because it has not been set.

Пример #4 Access many-valued property by name

Many-valued data object properties can also be accessed using the object property name syntax. The following gets the list of departments.

<?php
$departments = $company->departments;
?>

Пример #5 Many-valued element access

We can access individual elements of many-valued properties using array syntax. The following accesses the first department in the company.

<?php
$ad_tech_dept = $company->departments[0];
?>

Пример #6 Many-valued property iteration

Many-valued properties can also be iterated over using foreach. The following iterates over the company's departments.

<?php
  foreach ($company->departments as $department) {
    // ...
  }
?>

Each iteration will assign the next department in the list to the variable $department.

Пример #7 Chained property access

We can chain property references on a single line. The following sets and gets the name of the first department.

<?php
  $company->departments[0]->name = 'Emerging Technologies';
  $dept_name = $company->departments[0]->name;
?>

Using the associative array syntax, this is equivalent to

<?php
  $company['departments'][0]['name'] = 'Emerging Technologies';
  $dept_name = $company['departments'][0]['name'];
?>

In either case, the dept_name variable is set to 'Emerging Technologies'.

Пример #8 XPath navigation

The associative array index can be an XPath-like expression. Valid expressions are defined by an augmented sub-set of XPath.

Two forms of indexing into many-valued properties are supported. The first is the standard XPath array syntax with the indexing starting at one, the second is an SDO extension to XPath with an index starting at zero. The standard syntax is:

<?php
  $jane_doe = $company["departments[1]/employees[2]"];
?>

and the SDO XPath extension syntax is:

<?php
  $jane_doe = $company["departments.0/employees.1"];
?>

Both these examples get the second employee from the first department.

Пример #9 XPath querying

We can use XPath to query and identify parts of a data object based on instance data. The following retrieves the manager from the 'Advanced Technologies' department.

<?php
 $ad_tech_mgr =
  $company["departments[name='Advanced Technologies']/employees[manager=true]"];
?>

Пример #10 Creating child data objects

A data object can be a factory for its child data objects. A child data object is automatically part of the data graph. The following add a new employee to the 'Advanced Technologies' department.

<?php
  $ad_tech_dept = $company["departments[name='Advanced Technologies']"];
  $new_hire = $ad_tech_dept->createDataObject('employees');
  $new_hire->name = 'John Johnson';
  $new_hire->SN = 'E0005';
  $new_hire->manager = false;
?>

Пример #11 Unset a primitive property

We can use the isset() and unset() functions to test and remove items from the data object.

The following clears the name of the first department.

<?php
  unset($company->departments[0]->name);
?>

Пример #12 Unset a data object

unset can also be used to remove a data object from the tree. The following example shows John Jones leaving the company.

<?php
  unset($company->departments[0]->employees[0]);
?>

Пример #13 Unset a referenced data object

The following removes the 'employeeOfTheMonth' from the company. If this were a containment relationship then the employee would be removed from the company (probably not a good idea to sack your best employee each month!), but since this is a non-containment reference, the employee being referenced will remain in the department in the company, but will no longer be accessible via the employeeOfTheMonth property.

<?php
  if (isset($company->employeeOfTheMonth)) {
    unset($company->employeeOfTheMonth);
  }
?>

Пример #14 Access via property index

Data object properties can be accessed via their property index using array syntax. The property index is the position at which the property's definition appears in the model (in this case the xml schema). We can see from the schema listing above that the company name attribute is the second company property (the SDO interface makes no distinction between XML attributes and elements). The following sets the company name to 'Acme', with the same result as Access via property name

<?php
  $company[1] = 'Acme';
?>

Using the index directly in this way is likely to be fragile. Normally the property name syntax should be preferred, but the property index may be required in special cases.

Basic usage
Working with Sequenced Data Objects
Примеры


Working with Sequenced Data Objects

Sequenced data objects are SDOs which can track property ordering across the properties of a data object. They can also contain unstructured text elements (text element which do not belong to any of the SDO's properties). Sequenced data objects are useful for working with XML documents which allow unstructured text (i.e. mixed=true) or if the elements can be interleaved (

<A/><B/><A/>
). This can occur for example when the schema defines maxOccurs>1 on a element which is a complexType with a choice order indicator.

The examples below assume an SDO created with the following schema and instance information, using the XML Data Access Service.

The schema below describes the format of a letter. The letter can optionally contain three properties; date, firstName, and lastName. The schema states mixed="true" which means that unstructured text can be interspersed between the three properties.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

The following is an instance letter document. It contains the three letter properties; date, firstName and lastName, and has unstructured text elements for the address and letter body.

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

When loaded, the letter data object will have the sequence and property indices shown in the table below:

Sequence Index | Property Index:Name | Value
0 | 0:date | March 1, 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Dear
4 | 1:firstName | Casy
5 | 2:lastName | Crocodile
6 | - | Please buy more shark repellent.
7 | - | Your premium is past due.

To ensure sequence indices are maintained, sequenced data objects should be manipulated through the SDO_Sequence interface. This allows the data object's instance data to be manipulated in terms of the sequence index as opposed to the property index (shown in the table above). The following examples assume the letter instance has been loaded into a data object referenced by the variable $letter.

Пример #1 Getting the SDO_Sequence interface

We obtain a data object's sequence using the getSequence() method. The follow gets the sequence for the letter data object.

<?php
  $letter_seq = $letter->getSequence();
?>

All subsequent examples assume that the $letter_seq variable has been assigned the sequence for the letter data object.

Пример #2 Get/set sequence values

We can get and set individual values (including unstructured text) using the sequence index. The following sets the firstName to 'Snappy' and gets the last sequence values (the unstructured text, 'Your premium is past due.').

<?php
  $letter_seq[4] = 'Snappy';
  $text = $letter_seq[count($letter_seq) - 1];
?>

Пример #3 Sequence iteration

We can iterate through the individual sequence values using foreach. The following runs through the individual values in sequence order.

<?php
foreach ($letter->getSequence() as $value) {
    // ...
}
?>

Пример #4 Sequence versus Data Object

Setting values through the data object interface may result in the value not being part of the sequence. A value set through the data object will only be accessible through the sequence if the property was already part of the sequence. The following example sets the lastName through the data object and gets it through the sequence. This is fine because lastName already exists in the sequence. If it had not previously been set, then lastName would be set to 'Smith', but would not be part of the sequence.

<?php
  $letter[2] = 'Smith';
  $last_name = $letter_seq[5];
?>

Пример #5 Adding to a sequence

We can add new values to a sequence using the SDO_Sequence::insert() method. The following examples assume that the 'firstName' and 'lastName' properties are initially unset.

<?php
  // Append a firstName value to the sequence
  // value: 'Smith'
  // sequence index: NULL (append)
  // propertyIdentifier: 1 (firtName property index)
  $letter_seq->insert('Smith', NULL, 1);

  // Append a lastName value to the sequence
  // value: 'Jones'
  // sequence index: NULL (append)
  // propertyIdentifier: 'lastName' (lastName property name)
  $letter_seq->insert('Jones', NULL, 'lastName');

  // Append unstructured text
  // value: 'Cancel Subscription.'
  // sequence index: absent (append)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Cancel Subscription.');

  // Insert new unstructured text.  Subsequent sequence values
  // are shifted up.
  // value: 'Care of:'
  // sequence index: 1 (insert as second element)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Care of:', 1);
?>

Пример #6 Removing from a sequence

We can use the isset() and unset() functions to test and remove items from the sequence (Note: unset() currently leaves the values in the data object, but this behaviour is likely to change to also remove the data from the data object). A sequence behaves like a contiguous list; therefore, removing items from the middle will shift entries at higher indices down. The following example tests to see if the first sequence element is set and unsets it if is.

<?php
  if (isset($letter_seq[0])) {
    unset($letter_seq[0]);
  }
?>

Setting and Getting Property Values
Reflecting on Service Data Objects
Примеры


Reflecting on Service Data Objects

SDOs have a knowledge of the structure they have been created to represent (the model). For example, a Company SDO created using the Company XML schema above would only be permitted to contain DepartmentType data objects which in turn could only contain EmployeeType data objects.

Sometimes it is useful to be able to access this model information at runtime. For example, this could be used to automatically generate a user interface for populating a data object. The model information is accessed using reflection.

Пример #1 Reflecting on a Data Object

The following example shows how we can reflect on an empty Employee data object.

<?php
  // Create the employee data object (e.g. from an XML Data Access Service)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>

Результат выполнения данного примера:

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
companyNS:EmployeeType[3] { commonj.sdo:String $name;
commonj.sdo:String $SN; commonj.sdo:Boolean $manager; } }

Using print on the SDO_Model_ReflectionDataObject writes out the data object's model. We can see from the output how the type companyNS:EmployeeType has three properties and we can see the names of the properties along with their types. Note, the primitive types are listed as SDO types (e.g. commonj.sdo namespace, String type). It is worth noting that this is the SDO model and when these are surfaced to an application they can be treated as the PHP equivalent types (e.g. string and boolean).

Пример #2 Accessing the type information

We can query the type information of a data object using reflection. The following example checks the type corresponds to a data object rather than a primitive and then iterates through the properties of the type, writing out the name of each property ($type and $property are SDO_Model_Type and SDO_Model_Property objects, respectively).

<?php
    // Create the employee data object (e.g. from an XML Data Access Service)
    $employee = ...;
    $reflection = new SDO_Model_ReflectionDataObject($employee);
    $type = $reflection->getType();
    if (! $type->isDataType()) {
        foreach ($type->getProperties() as $property) {
            print $property->getName() . "\n";
        }
    }
?>

Результат выполнения данного примера:

name
SN
manager

Working with Sequenced Data Objects
SDO Функции
Примеры


SDO Функции

Data Access Services

The table below lists the currently provided SDO Data Access Services:

DAS Name | Description
SDO_DAS_XML | An XML Data Access Service supporting reading/writing SDOs as XML documents.
SDO_DAS_Relational | A PDO-based Data Access Service supporting reading/writing SDO to relational databases. Implements an optimistic concurrency policy for updates.

Предопределенные классы

SDO consists of three sets of interfaces. The first set covers those interfaces for use by typical SDO applications. These are identified by the package prefix 'SDO_'. The second set is those used to reflect on, and work with, the model of a data object. These are identified by the package prefix 'SDO_Model_'. Finally, the third set are those use by Data Access Service implementations and are identified by the package prefix 'SDO_DAS_'. The majority of SDO users will not need to use or understand the 'SDO_Model_' and 'SDO_DAS_' interfaces.

SDO Application Programmer Interface

SDO_DataObject

The main interface through which data objects are manipulated. In addition to the methods below, SDO_DataObject extends the ArrayAccess, SDO_PropertyAccess (defines __get() / __set() methods for property access overloading), Iterator, and Countable interfaces.

Методы

  • getSequence - get the sequence for the data object

  • createDataObject - create a child data object

  • clear - unset the properties of a data object

  • getContainer - get the container (also known as 'parent') of this data object

  • getTypeName - get the name of the type for this data object

  • getTypeNamespaceURI - get the namespace URI of the type for this data object

SDO_Sequence

The interface through which sequenced data objects can be accessed to preserve ordering across a data object's properties and to allow unstructured text. SDO_Sequence preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down. In addition to the methods below, SDO_Sequence extends the ArrayAccess, Iterator and Countable interface.

Методы

  • getProperty - get the property for a given sequence index

  • move - move an element from one property index to another

  • insert - insert a new value into the sequence

SDO_List

The interface through which many-valued properties are manipulated. In addition to the method defined below, SDO_List extends ArrayAccess, Iterator and Countable. SDO_List preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down.

Методы

  • insert - insert a new value into the list

SDO_DataFactory

The interface through which data objects can be created. A Data Access Service is responsible for populating the model (i.e. configuring the data factory with the type and structure information for the data objects it can create.) for the factory and can then optionally return an instance of, or implement, the SDO_DataFactory interface.

Методы

  • create - create a new data object

SDO_Exception

An SDO_Exception is thrown when the caller's request cannot be completed. The subclasses of SDO_Exception are:

  • SDO_PropertyNotSetException - the property specified exists but has not been set or does not have a default value

  • SDO_PropertyNotFoundException - the property specified is not part of the data object's type

  • SDO_TypeNotFoundException - the specified namespace URI or type name is unknown

  • SDO_InvalidConversionException - conversion between the types of the assignment is not possible

  • SDO_IndexOutOfBoundsException - the numeric index into a data object, sequence or list is not in the valid range

  • SDO_UnsupportedOperationException - the request cannot be completed because it is not allowed, for example an attempt to set a read-only property.

Методы

One method is added to those inherited from the built in Exception class:

  • getCause - get the cause of this SDO_Exception

SDO Reflection Application Programmer Interfaces

SDO_Model_ReflectionDataObject

The main interface used to reflect on a data object instance to obtain its model type and property information. It is designed to follow the reflection pattern introduced in PHP 5.

Конструктор

  • __construct - construct a new SDO_Model_ReflectionDataObject.

Методы

  • export - get a string describing the data object.

  • getType - get the SDO_Model_Type for the data object.

  • getInstanceProperties - get the instance properties of the data object.

  • getContainmentProperty - get the property which defines the containment relationship to the data object.

SDO_Model_Type

The interface through which a data object's type information can be retrieved. This interface can be used to find out the type name and namespace URI of the type, whether the type allow open content, and so on.

Методы

  • getName - get the name of the type.

  • getNamespaceURI - get the namespace URI of the type.

  • isInstance - test for a data object being an instance of the type.

  • getProperties - get the properties of the type.

  • getProperty - get a property of the type.

  • isDataType - test to see if this type is a primitive scalar type.

  • isSequencedType - test to see if this is a sequenced type.

  • isOpenType - test to see if this is an open type.

  • isAbstractType - test to see if this is an abstract type.

  • getBaseType - get the base type of this type (if one exists).

SDO_Model_Property

The interface through which a data object's property information can be retrieved. This interface can be used to find out the type of a property, whether a property has a default value, whether the property is contained or reference by its parent, its cardinality, and so on.

Методы

  • getName - get the name of the property.

  • getType - get the type of the property.

  • isMany - test to see if the property is many-valued.

  • isContainment - test to see if the property describes a containment relationship.

  • getContainingType - get the type which contains this property.

  • getDefault - get the default value for a property.

SDO Data Access Service Developer Interfaces

SDO_DAS_DataObject

The interface through which a Data Access Service can access a data object's SDO_DAS_ChangeSummary. The change summary is used by the Data Access Service to check for conflicts when applying changes back to a data source.

Методы

  • getChangeSummary - get the change summary for a data object

SDO_DAS_ChangeSummary

The interface through which the change history of a data object is accessed. The change summary holds information for any modifications on a data object which occurred since logging was activated. In the case of deletions and modifications, the old values are also held in the change summary.

If logging is no longer active then the change summary only holds changes made up to the point when logging was deactivated. Reactivating logging clears the change summary. This is useful when a set of changes have been written out by a DAS and the data object is to be reused.

Методы

  • beginLogging - begin logging changes made to a data object

  • endLogging - end logging changes made to a data object

  • isLogging - test to see if change logging is on

  • getChangedDataObjects - get a list of the data objects which have been changed

  • getChangeType - get the type of change which has been made to a data object

  • getOldValues - get a list of old values for a data object

  • getOldContainer - get the old container data object for a deleted data object

SDO_DAS_Setting

The interface through which the old value for a property is accessed. A list of settings is returned by the change summary method getOldValues() .

Методы

  • getPropertyIndex - get the property index for the changed property

  • getPropertyName - get the property name for the changed property

  • getValue - get the old value for the changed property

  • getListIndex - get the list index for the old value if it was part of a many-valued property

  • isSet - test to see if the property was set prior to being modified

SDO_DAS_DataFactory

The interface for constructing the model for an SDO_DataObject. The SDO_DAS_DataFactory is an abstract class providing a static method which returns a concrete data factory implementation. The implementation is used by Data Access Services to create an SDO model from their model. For example, a Relational Data Access Service might create and populate an SDO_DAS_DataFactory model based on a schema for a relational database.

Методы

  • getDataFactory - static methods for getting a concrete data factory instance

  • addType - add a new type to the SDO model

  • addPropertyToType - add a new property to a type definition in the SDO model

Содержание

  • SDO_DAS_ChangeSummary::beginLogging — Begin change logging
  • SDO_DAS_ChangeSummary::endLogging — End change logging
  • SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject
  • SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary
  • SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject
  • SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject
  • SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on
  • SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type
  • SDO_DAS_DataFactory::addType — Add a new type to a model
  • SDO_DAS_DataFactory::getDataFactory — Get a data factory instance
  • SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary
  • SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property
  • SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property
  • SDO_DAS_Setting::getPropertyName — Get the property name for a changed property
  • SDO_DAS_Setting::getValue — Get the old value for the changed property
  • SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified
  • SDO_DataFactory::create — Create an SDO_DataObject
  • SDO_DataObject::clear — Clear an SDO_DataObject's properties
  • SDO_DataObject::createDataObject — Create a child SDO_DataObject
  • SDO_DataObject::getContainer — Get a data object's container
  • SDO_DataObject::getSequence — Get the sequence for a data object
  • SDO_DataObject::getTypeName — Return the name of the type for a data object.
  • SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.
  • SDO_Exception::getCause — Get the cause of the exception.
  • SDO_List::insert — Insert into a list
  • SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property
  • SDO_Model_Property::getDefault — Get the default value for the property
  • SDO_Model_Property::getName — Get the name of the SDO_Model_Property
  • SDO_Model_Property::getType — Get the SDO_Model_Type of the property
  • SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship
  • SDO_Model_Property::isMany — Test to see if the property is many-valued
  • SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject
  • SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.
  • SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object
  • SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject
  • SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject
  • SDO_Model_Type::getBaseType — Get the base type for this type
  • SDO_Model_Type::getName — Get the name of the type
  • SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type
  • SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type
  • SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type
  • SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type
  • SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type
  • SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type
  • SDO_Model_Type::isOpenType — Test to see if this type is an open type
  • SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type
  • SDO_Sequence::getProperty — Return the property for the specified sequence index.
  • SDO_Sequence::insert — Insert into a sequence
  • SDO_Sequence::move — Move an item to another sequence position
Reflecting on Service Data Objects
SDO_DAS_ChangeSummary::beginLogging
SDO


Begin change logging

SDO Функции
SDO_DAS_ChangeSummary::endLogging
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::beginLogging

(^)

SDO_DAS_ChangeSummary::beginLogging — Begin change logging

Описание

void SDO_DAS_ChangeSummary::beginLogging ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Begin logging changes made to the SDO_DataObject.

Список параметров

None.

Возвращаемые значения

None.

SDO Функции
SDO_DAS_ChangeSummary::endLogging
SDO Функции


End change logging

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::endLogging

(^)

SDO_DAS_ChangeSummary::endLogging — End change logging

Описание

void SDO_DAS_ChangeSummary::endLogging ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

End logging changes made to an SDO_DataObject.

Список параметров

None.

Возвращаемые значения

None.

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
SDO Функции


Get the type of change made to an SDO_DataObject

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::getChangeType

(^)

SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject

Описание

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject $dataObject )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the type of change which has been made to the supplied SDO_DataObject.

Список параметров

dataObject

The SDO_DataObject which has been changed.

Возвращаемые значения

The type of change which has been made. The change type is expressed as an enumeration and will be one of the following four values:

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
SDO Функции


Get the changed data objects from a change summary

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::getChangedDataObjects

(^)

SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary

Описание

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get an SDO_List of the SDO_DataObjects which have been changed. These data objects can then be used to identify the types of change made to each, along with the old values.

Список параметров

None.

Возвращаемые значения

Returns an SDO_List of SDO_DataObjects.

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
SDO Функции


Get the old container for a deleted SDO_DataObject

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::getOldContainer

(^)

SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject

Описание

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject $data_object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the old container (SDO_DataObject) for a deleted SDO_DataObject.

Список параметров

data_object

The SDO_DataObject which has been deleted and whose container we wish to identify.

Возвращаемые значения

The old containing data object of the deleted SDO_DataObject.

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
SDO Функции


Get the old values for a given changed SDO_DataObject

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::getOldValues

(^)

SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject

Описание

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject $data_object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get a list of the old values for a given changed SDO_DataObject. Returns a list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject.

Список параметров

data_object

The data object which has been changed.

Возвращаемые значения

A list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject. If the change type is SDO_DAS_ChangeSummary::ADDITION, this list is empty.

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
SDO Функции


Test to see whether change logging is switched on

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
SDO Функции
PHP Manual

SDO_DAS_ChangeSummary::isLogging

(^)

SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on

Описание

bool SDO_DAS_ChangeSummary::isLogging ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see whether change logging is switched on.

Список параметров

None.

Возвращаемые значения

Returns TRUE if change logging is on, otherwise returns FALSE.

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
SDO Функции


Adds a property to a type

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
SDO Функции
PHP Manual

SDO_DAS_DataFactory::addPropertyToType

(^)

SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type

Описание

void SDO_DAS_DataFactory::addPropertyToType ( string $parent_type_namespace_uri , string $parent_type_name , string $property_name , string $type_namespace_uri , string $type_name [, array $options ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Adds a property to a type. The type must already be known to the SDO_DAS_DataFactory (i.e. have been added using addType()). The property becomes a property of the type. This is how the graph model for the structure of an SDO_DataObject is built.

Список параметров

parent_type_namespace_uri

The namespace URI for the parent type.

parent_type_name

The type name for the parent type.

property_name

The name by which the property will be known in the parent type.

type_namespace_uri

The namespace URI for the type of the property.

type_name

The type name for the type of the property

options

This array holds one or more key=>value pairs to set attribute values for the property. The optional keywords are:

many

A flag to say whether the property is many-valued. A value of 'true' adds the property as a many-valued property (default is 'false').

readOnly

A flag to say whether the property is read-only. A value of 'true' means the property value cannot be modified through the SDO application APIs (default is 'false').

containment

A flag to say whether the property is contained by the parent. A value of 'true' means the property is contained by the parent. A value of 'false' results in a non-containment reference (default is 'true'). This flag is only interpreted when adding properties which are data object types, otherwise it is ignored.

default

A default value for the property. Omitting this key means that the property does not have a default value. A property can only have a default value if it is a single-valued data type (primitive).

Возвращаемые значения

None.

Список изменений

Версия | Описание
0.5.2 | Optional parameters many, readOnly, and containment deprecated in favour of the options array.

Примеры

Пример #1 A SDO_DAS_DataFactory::addPropertyToType() example

The following adds an 'addressline' property to a Person type. The person type is identified by its namespace, 'PersonNS', and type name, 'PersonType'. The type of the 'addressline' property is a many-valued SDO data type (primitive) with namespace 'commonj.sdo' and type name 'String'.

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
SDO Функции


Add a new type to a model

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
SDO Функции
PHP Manual

SDO_DAS_DataFactory::addType

(^)

SDO_DAS_DataFactory::addType — Add a new type to a model

Описание

void SDO_DAS_DataFactory::addType ( string $type_namespace_uri , string $type_name [, array $options ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Add a new type to the SDO_DAS_DataFactory, defined by its namespace and type name. The type becomes part of the model of data objects that the data factory can create.

Список параметров

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

options

This array holds one or more key=>value pairs to set attribute values for the type. The optional keywords are:

open

A flag to say whether the type is open. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content such as that described by an <xsd:any> element. The default value is 'false'.

sequenced

A flag to say whether the type is sequenced. Sequenced types can have the ordering across properties preserved and can contain unstructured text. The default value is 'false'. For more information on sequenced types see the section on Working with Sequenced Data Objects.

basetype

If specified, an array of namespace URI and type name strings for the type from which this type is derived. An example of the use of base types is when a type derived in an XML schema inherits from another type by using <extension base="...">.

Возвращаемые значения

None.

Примеры

Пример #1 A SDO_DAS_DataFactory::addType() example

The following adds a new data object type of 'CompanyType' where that type belongs to the namespace 'CompanyNS'.

<?php
  $df->addType('CompanyNS', 'CompanyType');
?>

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
SDO Функции


Get a data factory instance

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
SDO Функции
PHP Manual

SDO_DAS_DataFactory::getDataFactory

(^)

SDO_DAS_DataFactory::getDataFactory — Get a data factory instance

Описание

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Static method to get an instance of an SDO_DAS_DataFactory. This instance is initially only configured with the basic SDO types. A Data Access Service is responsible for populating the data factory model and then allowing PHP applications to create SDOs based on the model through the SDO_DataFactory interface. PHP applications should always obtain a data factory from a configured Data Access Service, not through this interface.

Список параметров

None.

Возвращаемые значения

Returns an SDO_DAS_DataFactory.

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
SDO Функции


Get a data object's change summary

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
SDO Функции
PHP Manual

SDO_DAS_DataObject::getChangeSummary

(^)

SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary

Описание

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

Список параметров

None.

Возвращаемые значения

Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
SDO Функции


Get the list index for a changed many-valued property

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
SDO Функции
PHP Manual

SDO_DAS_Setting::getListIndex

(^)

SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property

Описание

int SDO_DAS_Setting::getListIndex ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the list index for a modification made to an element of a many-valued property. For example, if we modified the third element of a many-valued property we could obtain an SDO_DAS_Setting from the change summary corresponding to that modification. A call to getListIndex() on that setting would return the value 2 (lists are indexed from zero).

Список параметров

None.

Возвращаемые значения

The list index for the element of the many-valued property which has been changed.

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
SDO Функции


Get the property index for a changed property

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
SDO Функции
PHP Manual

SDO_DAS_Setting::getPropertyIndex

(^)

SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property

Описание

int SDO_DAS_Setting::getPropertyIndex ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the property index for the changed property. This index identifies the property which was modified in data object.

Список параметров

None.

Возвращаемые значения

The property index for a changed property.

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
SDO Функции


Get the property name for a changed property

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
SDO Функции
PHP Manual

SDO_DAS_Setting::getPropertyName

(^)

SDO_DAS_Setting::getPropertyName — Get the property name for a changed property

Описание

string SDO_DAS_Setting::getPropertyName ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the property name for the changed property. This name identifies the property which was modified in data object.

Список параметров

None.

Возвращаемые значения

The property name for a changed property.

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
SDO Функции


Get the old value for the changed property

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
SDO Функции
PHP Manual

SDO_DAS_Setting::getValue

(^)

SDO_DAS_Setting::getValue — Get the old value for the changed property

Описание

mixed SDO_DAS_Setting::getValue ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the old value for the changed property. This can be used by a Data Access Service when writing updates to a data source. The DAS uses the old value to detect conflicts by comparing it with the current value in the data source. If they do not match, then the data source has been updated since the data object was originally populated, and therefore writing any new updates risks compromising the integrity of the data.

Список параметров

None.

Возвращаемые значения

Returns the old value of the changed property.

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
SDO Функции


Test whether a property was set prior to being modified

SDO_DAS_Setting::getValue
SDO_DataFactory::create
SDO Функции
PHP Manual

SDO_DAS_Setting::isSet

(^)

SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified

Описание

bool SDO_DAS_Setting::isSet ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test whether a property was set prior to being modified. If it was set prior to being modified then the SDO_DAS_Setting will also contain the old value.

Список параметров

None.

Возвращаемые значения

Returns TRUE if the property was set prior to being modified, otherwise returns FALSE.

SDO_DAS_Setting::getValue
SDO_DataFactory::create
SDO Функции


Create an SDO_DataObject

SDO_DAS_Setting::isSet
SDO_DataObject::clear
SDO Функции
PHP Manual

SDO_DataFactory::create

(^)

SDO_DataFactory::create — Create an SDO_DataObject

Описание

void SDO_DataFactory::create ( string $type_namespace_uri , string $type_name )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Create a new SDO_DataObject given the data object's namespace URI and type name.

Список параметров

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Возвращаемые значения

Returns the newly created SDO_DataObject.

Ошибки

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type known to this data factory.

SDO_DAS_Setting::isSet
SDO_DataObject::clear
SDO Функции


Clear an SDO_DataObject's properties

SDO_DataFactory::create
SDO_DataObject::createDataObject
SDO Функции
PHP Manual

SDO_DataObject::clear

(^)

SDO_DataObject::clear — Clear an SDO_DataObject's properties

Описание

void SDO_DataObject::clear ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Clear an SDO_DataObject's properties. Read-only properties are unaffected. Subsequent calls to isset() for the data object will return FALSE.

Список параметров

None.

Возвращаемые значения

No return values.

SDO_DataFactory::create
SDO_DataObject::createDataObject
SDO Функции


Create a child SDO_DataObject

SDO_DataObject::clear
SDO_DataObject::getContainer
SDO Функции
PHP Manual

SDO_DataObject::createDataObject

(^)

SDO_DataObject::createDataObject — Create a child SDO_DataObject

Описание

SDO_DataObject SDO_DataObject::createDataObject ( mixed $identifier )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Create a child SDO_DataObject of the default type for the property identified. The data object is automatically inserted into the tree and a reference to it is returned.

Список параметров

identifier

Identifies the property for the data object type to be created. Can be either a property name (string), a property index (int), or an SDO_Model_Property.

Возвращаемые значения

Returns the newly created SDO_DataObject.

Ошибки

SDO_PropertyNotFoundException

Thrown if the identifier does not correspond to a property of the data object.

SDO_DataObject::clear
SDO_DataObject::getContainer
SDO Функции


Get a data object's container

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
SDO Функции
PHP Manual

SDO_DataObject::getContainer

(^)

SDO_DataObject::getContainer — Get a data object's container

Описание

SDO_DataObject SDO_DataObject::getContainer ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the data object which contains this data object.

Список параметров

None.

Возвращаемые значения

Returns the SDO_DataObject which contains this SDO_DataObject, or returns NULL if this is a root SDO_DataObject (i.e. it has no container).

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
SDO Функции


Get the sequence for a data object

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
SDO Функции
PHP Manual

SDO_DataObject::getSequence

(^)

SDO_DataObject::getSequence — Get the sequence for a data object

Описание

SDO_Sequence SDO_DataObject::getSequence ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Return the SDO_Sequence for this SDO_DataObject. Accessing the SDO_DataObject through the SDO_Sequence interface acts on the same SDO_DataObject instance data, but preserves ordering across properties.

Список параметров

None.

Возвращаемые значения

The SDO_Sequence for this SDO_DataObject, or returns NULL if the SDO_DataObject is not of a type which can have a sequence.

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
SDO Функции


Return the name of the type for a data object.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
SDO Функции
PHP Manual

SDO_DataObject::getTypeName

(^)

SDO_DataObject::getTypeName — Return the name of the type for a data object.

Описание

string SDO_DataObject::getTypeName ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Return the name of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getName().

Список параметров

None.

Возвращаемые значения

The name of the type for the data object.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
SDO Функции


Return the namespace URI of the type for a data object.

SDO_DataObject::getTypeName
SDO_Exception::getCause
SDO Функции
PHP Manual

SDO_DataObject::getTypeNamespaceURI

(^)

SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.

Описание

string SDO_DataObject::getTypeNamespaceURI ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Return the namespace URI of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

Список параметров

None.

Возвращаемые значения

The namespace URI of the type for the data object.

SDO_DataObject::getTypeName
SDO_Exception::getCause
SDO Функции


Get the cause of the exception.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
SDO Функции
PHP Manual

SDO_Exception::getCause

(^)

SDO_Exception::getCause — Get the cause of the exception.

Описание

mixed SDO_Exception::getCause ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the cause of this exception or NULL if the cause is nonexistent or unknown. Typically the cause will be an SDO_CPPException object, which may be used to obtain additional diagnostic information.

Список параметров

None.

Возвращаемые значения

Returns the cause of this exception or NULL if the cause is nonexistent or unknown.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
SDO Функции


Insert into a list

SDO_Exception::getCause
SDO_Model_Property::getContainingType
SDO Функции
PHP Manual

SDO_List::insert

(^)

SDO_List::insert — Insert into a list

Описание

void SDO_List::insert ( mixed $value [, int $index ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Insert a new element at a specified position in the list. All subsequent list items are moved up.

Список параметров

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

index

The position at which to insert the new element. If this argument is not specified then the new value will be appended.

Возвращаемые значения

None.

Ошибки

SDO_IndexOutOfBoundsException

Thrown if the list index is less than zero or greater than the size of the list.

SDO_InvalidConversionException

Thrown if the type of the new value does not match the type for the list (e.g. the type of the many-valued property that the list represents).

SDO_Exception::getCause
SDO_Model_Property::getContainingType
SDO Функции


Get the SDO_Model_Type which contains this property

SDO_List::insert
SDO_Model_Property::getDefault
SDO Функции
PHP Manual

SDO_Model_Property::getContainingType

(^)

SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property

Описание

SDO_Model_Type SDO_Model_Property::getContainingType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the SDO_Model_Type which contains this property.

Список параметров

None.

Возвращаемые значения

Returns the SDO_Model_Type which contains this property.

SDO_List::insert
SDO_Model_Property::getDefault
SDO Функции


Get the default value for the property

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
SDO Функции
PHP Manual

SDO_Model_Property::getDefault

(^)

SDO_Model_Property::getDefault — Get the default value for the property

Описание

mixed SDO_Model_Property::getDefault ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the default value for the property. Only primitive data type properties can have default values.

Список параметров

None.

Возвращаемые значения

Returns the default value for the property.

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
SDO Функции


Get the name of the SDO_Model_Property

SDO_Model_Property::getDefault
SDO_Model_Property::getType
SDO Функции
PHP Manual

SDO_Model_Property::getName

(^)

SDO_Model_Property::getName — Get the name of the SDO_Model_Property

Описание

string SDO_Model_Property::getName ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the name of the SDO_Model_Property.

Список параметров

None.

Возвращаемые значения

Returns the name of the SDO_Model_Property.

SDO_Model_Property::getDefault
SDO_Model_Property::getType
SDO Функции


Get the SDO_Model_Type of the property

SDO_Model_Property::getName
SDO_Model_Property::isContainment
SDO Функции
PHP Manual

SDO_Model_Property::getType

(^)

SDO_Model_Property::getType — Get the SDO_Model_Type of the property

Описание

SDO_Model_Type SDO_Model_Property::getType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the SDO_Model_Type of the property. The SDO_Model_Type describes the type information for the property, such as its type name, namespace URI, whether it is a primitive data type, and so on.

Список параметров

None.

Возвращаемые значения

Returns the SDO_Model_Type describing the property's type information.

SDO_Model_Property::getName
SDO_Model_Property::isContainment
SDO Функции


Test to see if the property defines a containment relationship

SDO_Model_Property::getType
SDO_Model_Property::isMany
SDO Функции
PHP Manual

SDO_Model_Property::isContainment

(^)

SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship

Описание

bool SDO_Model_Property::isContainment ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if the property corresponds to a containment relationship. Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

Список параметров

None.

Возвращаемые значения

Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

SDO_Model_Property::getType
SDO_Model_Property::isMany
SDO Функции


Test to see if the property is many-valued

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
SDO Функции
PHP Manual

SDO_Model_Property::isMany

(^)

SDO_Model_Property::isMany — Test to see if the property is many-valued

Описание

bool SDO_Model_Property::isMany ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if the property is many-valued. Returns TRUE if this is a many-valued property, otherwise returns FALSE.

Список параметров

None.

Возвращаемые значения

Returns TRUE if this is a many-valued property, otherwise returns FALSE.

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
SDO Функции


Construct an SDO_Model_ReflectionDataObject

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
SDO Функции
PHP Manual

SDO_Model_ReflectionDataObject::__construct

(^)

SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject

Описание

SDO_Model_ReflectionDataObject SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject $data_object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Construct an SDO_Model_ReflectionDataObject to reflect on an SDO_DataObject. Reflecting on an SDO_DataObject gives access to information about its model. The model contains information such as the data object's type, and whether that type is sequenced (preserves ordering across properties) or open (each instance can have its model extended). The model also holds information about the data object's properties, any default values they may have, and so on.

Список параметров

data_object

The SDO_DataObject being reflected upon.

Возвращаемые значения

None.

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
SDO Функции


Get a string describing the SDO_DataObject.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
SDO Функции
PHP Manual

SDO_Model_ReflectionDataObject::export

(^)

SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.

Описание

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject $rdo [, bool $return ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get a string describing the SDO_DataObject. The default behaviour is to print the output, but if TRUE is specified for return, it is returned as a string.

Список параметров

rdo

An SDO_Model_ReflectionDataObject.

return

If TRUE, return the output as a string, otherwise print it.

Возвращаемые значения

Returns the output if TRUE is specified for return, otherwise NULL.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
SDO Функции


Get the property which defines the containment relationship to the data object

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
SDO Функции
PHP Manual

SDO_Model_ReflectionDataObject::getContainmentProperty

(^)

SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object

Описание

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the SDO_Model_Property that contains the SDO_DataObject. This method is used to navigate up to the parent's property which contains the data object which has been reflected upon.

Список параметров

None.

Возвращаемые значения

Returns the container's SDO_Model_Property which references the SDO_DataObject, or NULL if it is a root SDO_DataObject.

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
SDO Функции


Get the instance properties of the SDO_DataObject

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
SDO Функции
PHP Manual

SDO_Model_ReflectionDataObject::getInstanceProperties

(^)

SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject

Описание

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the instance properties for the SDO_DataObject. The instance properties consist of all the properties defined on the data object's type, plus any instance properties from open content (if the data object is an open type).

Список параметров

None.

Возвращаемые значения

An array of SDO_Model_Property objects.

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
SDO Функции


Get the SDO_Model_Type for the SDO_DataObject

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
SDO Функции
PHP Manual

SDO_Model_ReflectionDataObject::getType

(^)

SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject

Описание

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the SDO_Model_Type for the SDO_DataObject. The SDO_Model_Type holds all the information about the data object's type, such as namespace URI, type name, whether it is a primitive data type, and so on.

Список параметров

None.

Возвращаемые значения

Returns the SDO_Model_Type for the SDO_DataObject.

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
SDO Функции


Get the base type for this type

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
SDO Функции
PHP Manual

SDO_Model_Type::getBaseType

(^)

SDO_Model_Type::getBaseType — Get the base type for this type

Описание

SDO_Model_Type SDO_Model_Type::getBaseType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get the base type for this type. Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL. An example of when base types occur is when a type defined in XML schema inherits from another type by using

<extension base="...">
.

Список параметров

None.

Возвращаемые значения

Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL.

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
SDO Функции


Get the name of the type

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
SDO Функции
PHP Manual

SDO_Model_Type::getName

(^)

SDO_Model_Type::getName — Get the name of the type

Описание

string SDO_Model_Type::getName ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the name of the type. The combination of type name and namespace URI is used to uniquely identify the type.

Список параметров

None.

Возвращаемые значения

Returns the name of the type.

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
SDO Функции


Get the namespace URI of the type

SDO_Model_Type::getName
SDO_Model_Type::getProperties
SDO Функции
PHP Manual

SDO_Model_Type::getNamespaceURI

(^)

SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type

Описание

string SDO_Model_Type::getNamespaceURI ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the namespace URI of the type. The combination of namespace URI and type name is used to uniquely identify the type.

Список параметров

None.

Возвращаемые значения

Returns the namespace URI of the type.

SDO_Model_Type::getName
SDO_Model_Type::getProperties
SDO Функции


Get the SDO_Model_Property objects defined for the type

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
SDO Функции
PHP Manual

SDO_Model_Type::getProperties

(^)

SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type

Описание

array SDO_Model_Type::getProperties ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get an array of SDO_Model_Property objects describing the properties defined for the SDO_Model_Type. Each SDO_Model_Property holds information such as the property name, default value, and so on.

Список параметров

None.

Возвращаемые значения

Returns an array of SDO_Model_Property objects.

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
SDO Функции


Get an SDO_Model_Property of the type

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
SDO Функции
PHP Manual

SDO_Model_Type::getProperty

(^)

SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type

Описание

SDO_Model_Property SDO_Model_Type::getProperty ( mixed $identifier )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Get an SDO_Model_Property of the type, identified by its property index or property name.

Список параметров

identifier

The property index or property name.

Возвращаемые значения

Returns the SDO_Model_Property.

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
SDO Функции


Test to see if this SDO_Model_Type is an abstract data type

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
SDO Функции
PHP Manual

SDO_Model_Type::isAbstractType

(^)

SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type

Описание

bool SDO_Model_Type::isAbstractType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if this SDO_Model_Type is an abstract data type. Returns TRUE if this type is abstract, that is, no SDO_DataObject of this type can be instantiated, though other types may inherit from it.

Список параметров

None.

Возвращаемые значения

Returns TRUE if this type is an abstract data type, otherwise returns FALSE.

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
SDO Функции


Test to see if this SDO_Model_Type is a primitive data type

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
SDO Функции
PHP Manual

SDO_Model_Type::isDataType

(^)

SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type

Описание

bool SDO_Model_Type::isDataType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if this SDO_Model_Type is a primitive data type. Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

Список параметров

None.

Возвращаемые значения

Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
SDO Функции


Test for an SDO_DataObject being an instance of this SDO_Model_Type

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
SDO Функции
PHP Manual

SDO_Model_Type::isInstance

(^)

SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type

Описание

bool SDO_Model_Type::isInstance ( SDO_DataObject $data_object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test for an SDO_DataObject being an instance of this SDO_Model_Type. Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

Список параметров

data_object

The SDO_DataObject to be tested.

Возвращаемые значения

Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
SDO Функции


Test to see if this type is an open type

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
SDO Функции
PHP Manual

SDO_Model_Type::isOpenType

(^)

SDO_Model_Type::isOpenType — Test to see if this type is an open type

Описание

bool SDO_Model_Type::isOpenType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if this type is open. Returns TRUE if this type is open, otherwise returns FALSE. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content, such as that defined by an

<xsd:any>
element.

Список параметров

None.

Возвращаемые значения

Returns TRUE if this type is open, otherwise returns FALSE.

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
SDO Функции


Test to see if this is a sequenced type

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
SDO Функции
PHP Manual

SDO_Model_Type::isSequencedType

(^)

SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type

Описание

bool SDO_Model_Type::isSequencedType ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Test to see if this is a sequenced type. Returns TRUE if this type is sequence, otherwise returns FALSE. Sequenced types can have the ordering across properties preserved and can contain unstructured text. For more information on sequenced types see the section on Working with Sequenced Data Objects.

Список параметров

None.

Возвращаемые значения

Returns TRUE if this type is sequence, otherwise return FALSE.

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
SDO Функции


Return the property for the specified sequence index.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
SDO Функции
PHP Manual

SDO_Sequence::getProperty

(^)

SDO_Sequence::getProperty — Return the property for the specified sequence index.

Описание

SDO_Model_Property SDO_Sequence::getProperty ( int $sequence_index )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Return the property for the specified sequence index.

Список параметров

sequence_index

The position of the element in the sequence.

Возвращаемые значения

An SDO_Model_Property. A return value of NULL means the sequence element does not belong to a property and must therefore be unstructured text.

Ошибки

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
SDO Функции


Insert into a sequence

SDO_Sequence::getProperty
SDO_Sequence::move
SDO Функции
PHP Manual

SDO_Sequence::insert

(^)

SDO_Sequence::insert — Insert into a sequence

Описание

void SDO_Sequence::insert ( mixed $value [, int $sequenceIndex [, mixed $propertyIdentifier ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Insert a new element at a specified position in the sequence. All subsequent sequence items are moved up.

Список параметров

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

sequenceIndex

The position at which to insert the new element. Default is NULL, which results in the new value being appended to the sequence.

propertyIdentifier

Either a property index, a property name, or an SDO_Model_Property, used to identify a property in the sequence's corresponding SDO_DataObject. A value of NULL signifies unstructured text.

Возвращаемые значения

None.

Ошибки

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_InvalidConversionException

Thrown if the type of the new value cannot be juggled to match the type for the specified data object property.

SDO_Sequence::getProperty
SDO_Sequence::move
SDO Функции


Move an item to another sequence position

SDO_Sequence::insert
SDO-DAS-Relational
SDO Функции
PHP Manual

SDO_Sequence::move

(^)

SDO_Sequence::move — Move an item to another sequence position

Описание

void SDO_Sequence::move ( int $toIndex, int $fromIndex )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Modify the position of the item in the sequence, without altering the value of the property in the SDO_DataObject.

Список параметров

toIndex

The destination sequence index. If this index is less than zero or greater than the size of the sequence then the value is appended.

fromIndex

The source sequence index.

Возвращаемые значения

None.

Ошибки

SDO_IndexOutOfBoundsException

Thrown if the fromIndex sequence index is less than zero or greater than the size of the sequence.

SDO_Sequence::insert
SDO-DAS-Relational
SDO Функции


SDO Relational Data Access Service

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Creating, retrieving, updating and deleting data
    • Specifying the metadata
    • One-table examples
    • Two-table examples
    • Three-table example
  • Limitations
  • SDO-DAS-Relational Функции
    • SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.
    • SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service
    • SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
    • SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
    • SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.
SDO_Sequence::move
Введение
Обработка XML


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и любую другую относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

In order to use the Relational Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, the disconnected way of working, the change summary, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO. In addition, the Relational DAS makes use of the PDO extension to isolate itself from specifics of different back-end relational databases. In order to use the Relational DAS you will need to be able to create and pass a PDO database connection; for this reason you might also want to take a look at the section on PDO.

The job of the Relational DAS is to move data between the application and a relational database. In order to do this it needs to be told the mapping between the database entities - tables, columns, primary keys and foreign keys - and the elements of the SDO model - types, properties, containment relationships and so on. You specify this information as metadata when you construct the Relational DAS.

Overview of Operation

  1. The first step is to call the Relational DAS's constructor, passing the metadata that defines the mapping between database and SDO model. There are examples of this below.

  2. The next step might be to call the executeQuery() or executePreparedQuery() methods on the Relational DAS, passing either a literal SQL statement for the DAS to prepare and execute, or a prepared statement with placeholders and a list of values to be inserted. You may also need to specify a small amount of metadata about the query itself, so that the Relational DAS knows exactly what columns will be returned from the database and in what order. You will also need to pass a PDO database connection.

    The return value from executeQuery() or executePreparedQuery() is a normalised data graph containing all the data from the result set. For a query that returns data obtained from a number of tables, this graph will contain a number of data objects, linked by SDO containment relationships. There may also be SDO non-containment references within the data.

    Once the query has been executed and the data graph constructed, there is no need for either that instance of the Relational DAS or the database connection. There are no locks held on the database. Both the Relational DAS and the PDO database connection can be garbage collected.

  3. Quite possibly the data in the data graph will go through a number of modifications. The data graph can be serialised into the PHP session and so may have a lifetime beyond just one client-server interaction. Data objects can be created and added to the graph, the data objects already in the graph can be deleted, and data objects in the graph can be modified.

  4. Finally, the changes made to the data graph can be applied back to the database using the applyChanges() method of the Relational DAS. For this, another instance of the Relational DAS must be constructed, using the same metadata, and another connection to the database obtained. The connection and the data graph are passed to applyChanges(). At this point the Relational DAS examines the change summary and generates the necessary INSERT, UPDATE and DELETE SQL statements to apply the changes. Any UPDATE and DELETE statements are qualified with the original values of the data so that should the data have changed in the database in the meantime this will be detected. Assuming no such collisions have occurred the changes will be committed to the database. The application can then continue to work with the data graph, make more changes and apply them, or can discard it.

There are other ways of working with the data in the database: it is possible to just create data objects and write them to the database without a preliminary call to executeQuery(), for example. This scenario and others are explored in the Examples section below.

SDO-DAS-Relational
Установка и настройка
SDO-DAS-Relational


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SDO-DAS-Relational


Требования

The Relational DAS requires that the SDO extension be installed. The SDO extension requires a version of PHP 5.1, and the Relational DAS requires a recent version that contains an important fix for PDO. The most up-to-date information about required levels of PHP should be found in the changelog for the package on PECL. At the time of writing, though, the Relational DAS requires the most recent beta level of PHP 5.1, that is PHP 5.1.0.

The Relational DAS uses PDO to access the relational database, and so should run with a variety of different relational databases. At the time of writing it has been tested in the following configurations

  • MySQL 4.1.14, on Windows. The Relational DAS operates correctly with the php_pdo_mysql driver that comes with the pre-built binaries for PHP 5.1.0.

  • MySQL 4.1.13, on Linux. It is necessary to have the most up-to-date PDO driver for MySQL, which comes built in to PHP 5.1.0. It may be necessary to uninstall the usual driver that would have come from PECL using pear uninstall pdo_mysql. You will need to configure PHP with the --with-pdo-mysql option.

  • DB2 8.2 Personal Edition, on Windows. The Relational DAS operates correctly with the php_pdo_odbc driver that comes with the pre-built binaries for PHP 5.1.0.

  • DB2 8.2 Personal Developer's Edition, on Linux. The Developer's Edition is needed because it contains the include files needed when PHP is configured and built. You will need to configure PHP with the --with-pdo-odbc=ibm-db2 option.

The Relational DAS applies changes to the database within a user-delimited transaction: that is, it issues a call to PDO::beginTransaction() before beginning to apply changes, and PDO::commit() or PDO::rollback() on completion. Whichever database is chosen, the database and the PDO driver for the database must support these calls.

Установка и настройка
Установка
Установка и настройка


Установка

The installation instructions for all the SDO components are in the SDO install section of the SDO documentation.

In any case, the essential facts are that the Relational DAS is written in PHP and it should be placed somewhere on the PHP include_path.

Your application will of course need to include the Relational DAS with a statement like this:

<?php
require_once 'SDO/DAS/Relational.php';
?>

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Tracing

You may be interested in seeing the SQL statements that are generated in order to apply changes back to the database. At the top of the SDO/DAS/Relational.php you will find a number of constants which control whether the process of constructing and executing the SQL statements is to be traced. Try setting DEBUG_EXECUTE_PLAN to TRUE to see the generated SQL statements.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

The Relational DAS introduces no predefined constants.

Типы ресурсов
Примеры
SDO-DAS-Relational


Примеры

Содержание

  • Creating, retrieving, updating and deleting data
  • Specifying the metadata
  • One-table examples
  • Two-table examples
  • Three-table example
Предопределенные константы
Creating, retrieving, updating and deleting data
SDO-DAS-Relational


Creating, retrieving, updating and deleting data

This section illustrates how the Relational DAS can be used to create, retrieve, update and delete data in a relational database. Many of the examples are illustrated with a three-table database that contains companies, departments within those companies, and employees that work in those departments. This example is used in a number of places within the SDO literature. See the examples section of the » Service Data Objects specification or the Examples section of the documentation for the SDO extension.

The Relational DAS is constructed with metadata that defines the relational database and how it should be mapped to SDO. The long section that follows describes this metadata and how to construct the Relational DAS. The examples that follow it all assume that this metadata is in an included php file.

The examples below and others can all be found in the Scenarios directory in the Relational DAS package.

The Relational DAS throws exceptions in the event that it finds errors in the metadata or errors when executing SQL statements against the database. For brevity the examples below all omit the use of try/catch blocks around the calls to the Relational DAS.

These examples all differ from the expected use of SDO in two important respects.

First, they show all interactions with the database completed within one script. In this respect these scenarios are not realistic but are chosen to illustrate just the use of the Relational DAS. It is expected that interactions with the database will be separated in time and the data graph serialized and deserialized into the PHP session one or more times as the application interacts with an end user.

Second, all queries executed against the database use hard-coded queries with no variables substituted. In this case it is safe to use the simple executeQuery() call, and this is what the examples illustrate. In practice, though, it is unlikely that the SQL statement is known entirely ahead of time. In order to allow variables to be safely substituted into the SQL queries, without running the risk of injecting SQL with unknown effects, it is safer to use the executePreparedQuery() which takes a prepared SQL statement containing placeholders and a list of values to be substituted.

Примеры
Specifying the metadata
Примеры


Specifying the metadata

This first long section describes in detail how the metadata describing the database and the required SDO model is supplied to the Relational DAS.

When the constructor for the Relational DAS is invoked, it needs to be passed several pieces of information. The bulk of the information, passed as an associative array in the first argument to the constructor, tells the Relational DAS what it needs to know about the relational database. It describes the names of the tables, columns, primary keys and foreign keys. It should be fairly easy to understand what is required, and once written it can be placed in a php file and included when needed. The remainder of the information, passed in the second and third arguments to the constructor, tells the Relational DAS what it needs to know about the relationships between objects and the shape of the data graph; it ultimately determines how the data from the database is to be normalized into a graph.

Database metadata

The first argument to the constructor describes the target relational database.

Each table is described by an associative array with up to four keys.

Key | Value
name | The name of the table.
columns | An array listing the names of the columns, in any order.
PK | The name of the column containing the primary key.
FK | An array with two entries, 'from' and 'to', which define a column containing a foreign key, and a table to which the foreign key points. If there are no foreign keys in the table then the 'FK' entry does not need to be specified. Only one foreign key can be specified. Only a foreign key pointing to the primary key of a table can be specified.

<?php
/*****************************************************************
* METADATA DEFINING THE DATABASE
******************************************************************/
$company_table = array (
  'name' => 'company',
  'columns' => array('id', 'name',  'employee_of_the_month'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'employee_of_the_month',
      'to' => 'employee',
      ),
  );
$department_table = array (
  'name' => 'department',
  'columns' => array('id', 'name', 'location', 'number', 'co_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'co_id',
      'to' => 'company',
      )
  );
$employee_table = array (
  'name' => 'employee',
  'columns' => array('id', 'name', 'SN', 'manager', 'dept_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'dept_id',
      'to' => 'department',
      )
  );
$database_metadata = array($company_table, $department_table, $employee_table);
?>

This metadata corresponds to a relational database that might have been defined to MySQL as:

create table company (
 id integer auto_increment,
 name char(20),
 employee_of_the_month integer,
 primary key(id)
);
create table department (
 id integer auto_increment,
 name char(20),
 location char(10),
 number integer(3),
 co_id integer,
 primary key(id)
);
create table employee (
 id integer auto_increment,
 name char(20),
 SN char(4),
 manager tinyint(1),
 dept_id integer,
 primary key(id)
);

or to DB2 as:

create table company ( \
  id integer not null generated by default as identity,  \
  name varchar(20), \
  employee_of_the_month integer, \
  primary key(id) )
create table department ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  location varchar(10), \
  number integer, \
  co_id integer, \
  primary key(id) )
create table employee ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  SN char(4), \
  manager smallint, \
  dept_id integer, \
  primary key(id) )

Note that although in this example there are no foreign keys specified to the database and so the database is not expected to enforce referential integrity, the intention behind the co_id column on the department table and the dept_id column on the employee table is they should contain the primary key of their containing company or department record, respectively. So these two columns are acting as foreign keys.

There is a third foreign key in this example, that from the employee_of_the_month column of the company record to a single row of the employee table. Note the difference in intent between this foreign key and the other two. The employee_of_the_month column represents a single-valued relationship: there can be only one employee of the month for a given company. The co_id and dept_id columns represent multi-valued relationships: a company can contain many departments and a department can contain many employees. This distinction will become evident when the remainder of the metadata picks out the company-department and department-employee relationships as containment relationships.

There are a few simple rules to be followed when constructing the database metadata:

  • All tables must have primary keys, and the primary keys must be specified in the metadata. Without primary keys it is not possible to keep track of object identities. As you can see from the SQL statements that create the tables, primary keys can be auto-generated, that is, generated and assigned by the database when a record is inserted. In this case the auto-generated primary key is obtained from the database and inserted into the data object immediately after the row is inserted into the database.

  • It is not necessary to specify in the metadata all the columns that exist in the database, only those that will be used. For example, if the company table had another column that the application did not want to access with SDO, this need not be specified in the metadata. On the other hand it would have done no harm to specify it: if specified in the metadata but never retrieved, or assigned to by the application, then the unused column will not affect anything.

  • In the database metadata note that the foreign key definitions identify not the destination column in the table which is pointed to, but the table name itself. Strictly, the relational model permits the destination of a foreign key to be a non-primary key. Only foreign keys that point to a primary key are useful for constructing the SDO model, so the metadata specifies the table name. It is understood that the foreign key points to the primary key of the given table.

Given these rules, and given the SQL statements that define the database, the database metadata should be easy to construct.

What the Relational DAS does with the metadata

The Relational DAS uses the database metadata to form most of the SDO model. For each table in the database metadata, an SDO type is defined. Each column which can represent a primitive value (columns which are not defined as foreign keys) are added as properties to the SDO type.

All primitive properties are given a type of string in the SDO model, regardless of their SQL type. When writing values back to the database the Relational DAS will create SQL statements that treat the values as strings, and the database will convert them to the appropriate type.

Foreign keys are interpreted in one of two ways, depending on the metadata in the third argument to the constructor that defines the SDO containment relationships. A discussion of this is therefore deferred until the section on SDO containment relationships below.

Specifying the application root type

The second argument to the constructor is the application root type. The true root of each data graph is an object of a special root type and all application data objects come somewhere below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, the application root type can be inferred, and this argument can be omitted.

Specifying the SDO containment relationships

The third argument to the constructor defines how the types in the model are to be linked together to form a graph. It identifies the parent-child relationships between the types which collectively form a graph. The relationships need to be supported by foreign keys to be found in the data, in a way shortly to be described.

The metadata is an array containing one or more associative arrays, each of which identifies a parent and a child. The example below shows a parent-child relationship from company to department, and another from department to employee. Each of these will become an SDO property defining a multi-valued containment relationship in the SDO model.

<?php
$department_containment = array( 'parent' => 'company', 'child' => 'department');
$employee_containment = array( 'parent' => 'department', 'child' => 'employee');

$SDO_containment_metadata = array($department_containment, $employee_containment);
?>

Foreign keys in the database metadata are interpreted as properties with either multi-valued containment relationships or single-valued non-containment references, depending on whether they have a corresponding SDO containment relationship specified in the metadata. In the example here, the foreign keys from department to company (the co_id column in the department table) and from employee to department (the dept_id column in the employee table) are interpreted as supporting the SDO containment relationships. Each containment relationship mentioned in the SDO containment relationships metadata must have a corresponding foreign key present in the database and defined in the database metadata. The values of the foreign key columns for containment relationships do not appear in the data objects, instead each is represented by a containment relationship from the parent to the child. So the co_id column in the department row in the database, for example, does not appear as a property on the department type, but instead as a containment relationship called department on the company type. Note that the foreign key and the parent-child relationship appear to have opposite senses: the foreign key points from the department to the company, but the parent-child relationship points from company to department.

The third foreign key in this example, the employee_of_the_month , is handled differently. This is not mentioned in the SDO containment relationships metadata. As a consequence this is interpreted in the second way: it becomes a single-valued non-containment reference on the company object, to which can be assigned references to SDO data objects of the employee type. It does appear as a property on the company type. The way to assign a value to it in the SDO data graph is to have a graph that contains an employee object through the containment relationships, and to assign the object to it. This is illustrated in the later examples below.

Creating, retrieving, updating and deleting data
One-table examples
Примеры


One-table examples

The following set of examples all use the Relational DAS to work with a data graph containing just one application data object, a single company and the data just to be found the company table. These examples do not exercise the power of SDO or the Relational DAS and of course the same result could be achieved more economically with direct SQL statements but they are intended to illustrate how to work with the Relational DAS.

For this very simple scenario it would be possible to simplify the database metadata to include just the company table - if that were done the second and third arguments to the constructor and the column specifier used in the query example would become optional.

Пример #1 Creating a data object

The simplest example is that of creating a single data object and writing it to the database. In this example a single company object is created, its name is set to 'Acme', and the Relational DAS is called to write the changes to the database. The company name is set here using the property name method. See the Examples section on the SDO extension for other ways of accessing the properties of an object.

Data objects can only be created when you have a data object to start with, however. It is for that reason that the first call to the Relational DAS here is to obtain a root object. This is in effect how to ask for an empty data graph - the special root object is the true root of the tree. The company data object is then created with a call to createDataObject() on the root object. This creates the company data object and inserts it in the graph by inserting into a multi-valued containment property on the root object called 'company'.

When the Relational DAS is called to apply the changes a simple insert statement 'INSERT INTO company (name) VALUES ("Acme");' will be constructed and executed. The auto-generated primary key will be set into the data object and the change summary will be reset, so that it would be possible to continue working with the same data object, modify it, and apply the newer changes a second time.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Obtain a root object and create a company object underneath.
* Make a simple change to the data object.
***************************************************************/
$root = $das  -> createRootDataObject();
$acme = $root -> createDataObject('company');

$acme->name = "Acme";

/**************************************************************
* Get a database connection and write the object to the database
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($dbh, $root);
?>

Пример #2 Retrieving a data object

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

In this example the third argument to executeQuery(), the column specifier is needed as there are other tables in the metadata with column names of name and id. If there were no possible ambiguity it could be omitted.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
         'select name, id from company where name="Acme"',
          array('company.name', 'company.id') );

/**************************************************************
* Echo name and id
***************************************************************/
foreach ($root['company'] as $company) {
  echo "Company obtained from the database has name = " .
  $company['name'] . " and id " . $company['id'] . "\n";
}
?>

Пример #3 Updating a data object

This example combines the previous two, in the sense that in order to be updated the object must first be retrieved. The application code reverses the company name (so 'Acme' becomes 'emcA') and then the changes are written back to the database in the same way that they were when the object was created. Because the query searches for the name both ways round the program can be run repeatedly to find the company and reverse its name each time.

In this example the same instance of the Relational DAS is reused for the applyChanges(), as is the PDO database handle. This is quite alright; it also alright to allow the previous instances to be garbage collected and to obtain new instances. No state data regarding the graph is held the Relational DAS once it has returned a data graph to the application. All necessary data is either within the graph itself, or can be reconstructed from the metadata.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
  'select name, id from company where name="Acme" or name="emcA"',
  array('company.name', 'company.id') );

/**************************************************************
* Alter the name of just the first company
***************************************************************/
$company = $root['company'][0];
echo "obtained a company with name of " . $company->name . "\n";
$company->name = strrev($company->name);

/**************************************************************
* Write the change back
***************************************************************/
$das->applyChanges($dbh,$root);
?>

Пример #4 Deleting a data object

Any companies called 'Acme' or its reverse 'emcA' are retrieved. They are then all deleted from the graph with unset.

In this example they are all deleted in one go by unsetting the containing property (the property defining the containment relationship). It is also possible to delete them individually.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
  'select name, id from company where name="Acme" or name="emcA"',
  array('company.name', 'company.id') );

/**************************************************************
* Delete any companies found from the data graph
***************************************************************/
unset($root['company']);

/**************************************************************
* Write the change(s) back
***************************************************************/
$das->applyChanges($dbh,$root);
?>

Specifying the metadata
Two-table examples
Примеры


Two-table examples

The following set of examples all use two tables from the company database: the company and department tables. These examples exercise more of the function of the Relational DAS.

In this series of examples a company and department are created, retrieved, updated, and finally deleted. This illustrates the lifecycle for a data graph containing more than one object. Note that this example clears out the company and department tables at the start so that the exact results of the queries can be known.

You can find these examples combined into one script called 1cd-CRUD in the Scenarios directory in the Relational DAS package.

Пример #1 One company, one department - Create

As in the earlier example of creating just one company data object, the first action after constructing the Relational DAS is to call createRootDataObject() to obtain the special root object of the otherwise empty data graph. The company object is then created as a child of the root object, and the department object as a child of the company object.

When it comes to applying the changes, the Relational DAS has to perform special processing to maintain the foreign keys that support the containment relationships, especially if auto-generated primary keys are involved. In this example, the relationship between the auto-generated primary key id in the company table and the co_id column in the department table must be maintained. When inserting a company and department for the first time the Relational DAS has to first insert the company row, then call PDO's getLastInsertId() method to obtain the auto-generated primary key, then add that as the value of the co_id column when inserting the department row.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the two tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();

/**************************************************************
* Create a company with name Acme and one department, the Shoe department
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das -> createRootDataObject();

$acme = $root -> createDataObject('company');
$acme -> name = "Acme";

$shoe = $acme->createDataObject('department');
$shoe->name = 'Shoe';

$das -> applyChanges($dbh, $root);

?>

Пример #2 One company, one department - Retrieve and Update

In this case the SQL query passed to executeQuery() performs an inner join to join the data from the company and department tables. Primary keys for both the company and department tables must be included in the query. The result set is re-normalised to form a normalised data graph. Note that a column specifier is passed as the third argument to the executeQuery() call enabling the Relational DAS to know which column is which in the result set.

Note that the co_id column although used in the query is not needed in the result set. In order to understand what the Relational DAS is doing when it builds the data graph it may be helpful to visualise what the result set looks like. Although the data in the database is normalised, so that multiple department rows can point through their foreign key to one company row, the data in the result set is non-normalised: that is, if there is one company and multiple departments, the values for the company are repeated in each row. The Relational DAS has to reverse this process and turn the result set back into a normalised data graph, with just one company object.

In this example the Relational DAS will examine the result set and column specifier, find data for both the company and department tables, find primary keys for both, and interpret each row as containing data for a department and its parent company. If it has not seen data for that company before (it uses the primary key to check) it creates a company object and then a department object underneath it. If it has seen data for that company before and has already created the company object it just creates the department object underneath.

In this way the Relational DAS can retrieve and renormalise data for multiple companies and multiple departments underneath them.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Retrieve the company and Shoe department, then delete Shoe and add IT
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];            // get the first company - will be 'Acme'
$shoe = $acme['department'][0];         // get the first department underneath - will be 'Shoe'

unset($acme['department'][0]);

$it = $acme->createDataObject('department');
$it->name = 'IT';

$das -> applyChanges($dbh, $root);
?>

Пример #3 One company, two departments - Retrieve and Delete

In this example the company and department are retrieved and then deleted. It is not necessary to delete them individually (although that would be possible) - deleting the company object from the data graph also deletes any departments underneath it.

Note the way that the company object is actually deleted using the PHP unset call. The unset has to be performed on the containing property which in this case is the company property on the special root object. You must use:

<?php
unset($root['company'][0]);
?>
and not:
<?php
unset($acme); //WRONG
?>
Simply unsetting $acme would destroy the variable but leave the data in the data graph untouched.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Retrieve the company and IT department, then delete the whole company
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];
$it = $acme['department'][0];

unset($root['company'][0]);

$das -> applyChanges($dbh, $root);

?>

One-table examples
Three-table example
Примеры


Three-table example

The following examples use all three tables from the company database: the company, department, and employee tables. These introduce the final piece of function not exercised by the examples above: the non-containment reference employee_of_the_month.

Like the examples above for company and department, this set of examples is intended to illustrate the full lifecycle of such a data graph.

Пример #1 One company, one department, one employee - Create

In this example a company is created containing one department and just one employee. Note that this example clears out all three tables at the start so that the exact results of the queries can be known.

Note how once the company, department and employee have been created, the employee_of_the_month property of the company can be made to point at the new employee. As this is a non-containment reference, this cannot be done until the employee object has been created within the graph. Non-containment references need to be managed carefully. For example if the employee were now deleted from under the department, it would not be correct to try to save the graph without first clearing or re-assigning the employee_of_the_month property. The closure rule for SDO data graphs requires that any object pointed at by a non-containment reference must also be reachable by containment relationships.

When it comes to inserting the graph into the database, the procedure is similar to the example of inserting the company and department, but employee_of_the_month introduces an extra complexity. The Relational DAS needs to insert the objects working down the tree formed by containment relationships, so company, then department, then employee. This is necessary so that it always has the auto-generated primary key of a parent on hand to include in a child row. But when the company row is inserted the employee who is employee of the month has not yet been inserted and the primary key is not known. The procedure is that after the employee record is inserted and its primary key known, a final step is performed in which the company record is updated with the employee's primary key.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the three tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM EMPLOYEE;');
$rows_affected = $pdo_stmt->execute();

/*************************************************************************************
* Create a tiny but complete company.
* The company name is Acme.
* There is one department, Shoe.
* There is one employee, Sue.
* The employee of the month is Sue.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root             = $das  -> createRootDataObject();
$acme             = $root -> createDataObject('company');
$acme -> name     = "Acme";
$shoe             = $acme -> createDataObject('department');
$shoe -> name     = 'Shoe';
$shoe -> location = 'A-block';
$sue              = $shoe -> createDataObject('employee');
$sue -> name      = 'Sue';
$acme -> employee_of_the_month = $sue;

$das -> applyChanges($dbh, $root);

echo "Wrote back Acme with one department and one employee\n";
?>

Пример #2 One company, one department, one employee - Retrieve and update

The SQL statement passed to the Relational DAS is this time an inner join that retrieves data from all three tables. Otherwise this example introduces nothing that has not appeared in a previous example.

The graph is updated by the addition of a new department and employee and some alterations to the name properties of the existing objects in the graph. The combined changes are then written back. The Relational DAS will process and apply an arbitrary mixture of additions, modifications and deletions to and from the data graph.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Find the company again and change various aspects.
* Change the name of the company, department and employee.
* Add a second department and a new employee.
* Change the employee of the month.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
  "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
  "from company c, department d, employee e " .
  "where e.dept_id = d.id and d.co_id = c.id and c.name='Acme'",
   array('company.id','company.name','company.employee_of_the_month',
   'department.id','department.name','employee.id','employee.name'));
$acme         = $root['company'][0];

$shoe         = $acme->department[0];
$sue          = $shoe -> employee[0];

$it           = $acme->createDataObject('department');
$it->name     = 'IT';
$it->location = 'G-block';
$billy        = $it->createDataObject('employee');
$billy->name  = 'Billy';

$acme->name   = 'MegaCorp';
$shoe->name   = 'Footwear';
$sue->name    = 'Susan';

$acme->employee_of_the_month = $billy;
$das -> applyChanges($dbh, $root);
echo "Wrote back company with extra department and employee and all the names changed (Megacorp/Footwear/Susan)\n";

?>

Пример #3 One company, two departments, two employees - Retrieve and delete

The company is retrieved as a complete data graph containing five data objects - the company, two departments and two employees. They are all deleted by deleting the company object. Deleting an object from the graph deletes all the object beneath it in the graph. Five SQL DELETE statements will be generated and executed. As always they will be qualified with a WHERE clause that contains all of the fields that were retrieved, so that any updates to the data in the database in the meantime by another process will be detected.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Now read it one more time and delete it.
* You can delete part, apply the changes, then carry on working with the same graph but
* care is needed to keep closure - you cannot delete the employee who is eotm without
* reassigning. For safety here we delete the company all in one go.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
  "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
  "from company c, department d, employee e " .
  "where e.dept_id = d.id and d.co_id = c.id and c.name='MegaCorp';",
   array('company.id','company.name','company.employee_of_the_month',
   'department.id','department.name','employee.id','employee.name'));
$megacorp = $root['company'][0];

unset($root['company']);
$das -> applyChanges($dbh, $root);

echo "Deleted the company, departments and employees all in one go.\n";

?>

Two-table examples
Limitations
Примеры


Limitations

There are the following limitations in the current release of the Relational DAS:

  • No support for nulls. There is no support for SQL NULL type. It is not legal to assign PHP NULL to a data object property and the Relational DAS will not write that back as a NULL to the database. If nulls are found in the database on a query, the property will remain unset.

  • Only two types of SDO relationship. The metadata described below allows the Relational DAS to model just two types of SDO relationship: multi-valued containment relationships and single-valued non-containment references. In SDO, whether a property describes a single- or multi-valued relationship, and whether it is containment or non-containment, are independent. The full range of possibilities that SDO allows cannot all be defined. There may be relationships that it would be useful to model but which the current implementation cannot manage. One example is a single-valued containment relationship.

  • No support for the full range of SDO data types. The Relational DAS defines all primitive properties in the SDO model as being of type string. SDO defines a richer set of types containing various integer, float, boolean and data and time types. String is adequate for the purposes of the Relational DAS since the combination of PHP, PDO and the database will ensure that values passed as strings will be converted to the proper type before being put in the database. This does affect some scenarios in which the Relational DAS has to work with a data graph that has come from or will go to a different DAS.

  • Only one foreign key per table. The metadata only provides the means to specify one foreign key per table. This foreign key may be mapped to one of the two types of SDO relationship supported. Obviously there are some scenarios that cannot be described under this limitation - it is not possible to have two non-containment references from one table to another for example.

Three-table example
SDO-DAS-Relational Функции
SDO-DAS-Relational


SDO-DAS-Relational Функции

Предопределенные классы

The Relational DAS provides two classes: the Relational DAS itself and the subclass of Exception that can be thrown. The Relational DAS has four publicly useful calls: the constructor, the createRootDataObject() call to obtain the root object of an empty data graph, the executeQuery() call to obtain a data graph containing data from a relational database, and the applyChanges() call to write changes made to a data graph back to the relational database.

SDO_DAS_Relational

The only object other than an SDO_DAS_Relational_Exception with which the application is expected to interact.

Методы

  • __construct - construct the Relational DAS with a model derived from the passed metadata

  • createRootDataObject - obtain an otherwise empty data graph containing just the special root object

  • executeQuery - execute an SQL query passed as a literal string and return the results as a normalised data graph

  • executePreparedQuery - execute an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph

  • applyChanges - examine the change summary in the data graph and apply those changes back to the database, subject to an assumption of optimistic concurrency

SDO_DAS_Relational_Exception

Is a subclass of PHP's Exception. It adds no behaviour to Exception. Thrown, with useful descriptive text, to signal errors in the metadata or unexpected failures to perform SQL operations.

Содержание

  • SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.
  • SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service
  • SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
  • SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
  • SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.
Limitations
SDO_DAS_Relational::applyChanges
SDO-DAS-Relational


Applies the changes made to a data graph back to the database.

SDO-DAS-Relational Функции
SDO_DAS_Relational::__construct
SDO-DAS-Relational Функции
PHP Manual

SDO_DAS_Relational::applyChanges

(^)

SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.

Описание

void SDO_DAS_Relational::applyChanges ( PDO $database_handle , SDODataObject $root_data_object )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Given a PDO database handle and the special root object of a data graph, examine the change summary in the datagraph and applies the changes to the database. The changes that it can apply can be creations of data objects, deletes of data objects, and modifications to properties of data objects.

Список параметров

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

The special root object which is at the top of every SDO data graph.

Возвращаемые значения

None. Note however that the datagraph that was passed is still intact and usable. Furthermore, if data objects were created and written back to a table with autogenerated primary keys, then those primary keys will now be set in the data objects. If the changes were successfully written, then the change summary associated with the datagraph will have been cleared, so that it is possible to now make further changes to the data graph and apply those changes in turn. In this way it is possible to work with the same data graph and apply changes repeatedly.

Ошибки

SDO_DAS_Relational::applyChanges() can throw an SDO_DAS_Relational_Exception if it is unable to apply all the changes correctly.

The Relational DAS starts a database transaction before beginning to apply the changes and will commit the transaction only if they are all successful. The Relational DAS generates qualified update and delete statements which contain a where clause that specifies that the row to be updated or deleted must contain the same values that it did when the data was first retrieved. This is how the optimistic concurrency is implemented. If any of the qualified update or delete statements fails to update or delete their target row, it may be because the data has been altered in the database in the meantime. In any event, if any update fails for any reason, the transaction is rolled back and an exception thrown. The exception will contain the generated SQL statement that failed.

The Relational DAS also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Примеры

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method. Please see also the section on Tracing to see how you can see what SQL statements are generated by the Relational DAS.

SDO-DAS-Relational Функции
SDO_DAS_Relational::__construct
SDO-DAS-Relational Функции


Creates an instance of a Relational Data Access Service

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
SDO-DAS-Relational Функции
PHP Manual

SDO_DAS_Relational::__construct

(^)

SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service

Описание

SDO_DAS_Relational SDO_DAS_Relational::__construct ( array $database_metadata [, string $application_root_type [, array $SDO_containment_references_metadata ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Constructs an instance of a Relational Data Access Service from the passed metadata.

Список параметров

database_metadata

An array containing one or more table definitions, each of which is an associative array containing the keys name, columns, PK, and optionally, FK. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

application_root_type

The root of each data graph is an object of a special root type and the application data objects come below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, so the application root type can be inferred, this argument can be omitted.

SDO_containment_references_metadata

An array containing one or more definitions of a containment relation, each of which is an associative array containing the keys parent and child. The containment relations describe how the types in the model are connected to form a tree. The type specified as the application root type must be present as one of the parent types in the containment references. If the application only needs to work with one table at a time, and there are no containment relations in the model, this argument can be omitted. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

Возвращаемые значения

Returns an SDO_DAS_Relational object on success.

Ошибки

SDO_DAS_Relational::__construct() throws a SDO_DAS_Relational_Exception if any problems are found in the metadata.

Примеры

For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
SDO-DAS-Relational Функции


Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
SDO-DAS-Relational Функции
PHP Manual

SDO_DAS_Relational::createRootDataObject

(^)

SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

Описание

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Returns the special root object at the top of an otherwise empty data graph. This call is used when the application wants to create a data graph from scratch, without having called executeQuery() to create a data graph.

The special root object has one multi-valued containment property, with a name of the application root type that was passed when the Relational DAS was constructed. The property can take values of only that type. The only thing that the application can usefully do with the root type is to call createDataObject() on it, passing the name of the application root type, in order to create a data object of their own application type.

Список параметров

None.

Возвращаемые значения

The root object.

Ошибки

None.

Примеры

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
SDO-DAS-Relational Функции


Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
SDO-DAS-Relational Функции
PHP Manual

SDO_DAS_Relational::executePreparedQuery

(^)

SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

Описание

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO $database_handle , PDOStatement $prepared_statement , array $value_list [, array $column_specifier ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Executes a given query against the relational database, using the supplied PDO database handle. Differs from the simpler executeQuery() in that it takes a prepared statement and a list of values. This is the appropriate call to use either when the statement is to executed a number of times with different arguments, and there is therefore a performance benefit to be had from preparing the statement only once, or when the SQL statement is to contain varying values taken from a source that cannot be completely trusted. In this latter case it may be unsafe to construct the SQL statement by simply concatenating the parts of the statement together, since the values may contain pieces of SQL. To guard against this, a so-called SQL injection attack, it is safer to prepare the SQL statement with placeholders (also known as parameter markers, denoted by '?') and supply a list of the values to be substituted as a separate argument. Otherwise this function is the same as executeQuery() in that it uses the model that it built from the metadata to interpret the result set and returns a data graph.

Список параметров

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

A prepared SQL statement to be executed against the database. This will have been prepared by PDO's prepare() method.

value_list

An array of the values to be substituted into the SQL statement in place of the placeholders. In the event that there are no placeholders or parameter markers in the SQL statement then this argument can be specified as NULL or as an empty array;

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata, For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Возвращаемые значения

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Ошибки

SDO_DAS_Relational::executePreparedQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Примеры

Пример #1 Retrieving a data object using executePreparedQuery()

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

Other examples of the use of executePreparedQuery() can be found in the example code supplied in sdo/DAS/Relational/Scenarios.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_reference_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 * Use a prepared query with a placeholder.
 ***************************************************************/
$name = 'Acme';
$pdo_stmt = $dbh->prepare('select name, id from company where name=?');
$root = $das->executePreparedQuery(
    $dbh,
    $pdo_stmt,
    array($name),
    array('company.name', 'company.id'));

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
SDO-DAS-Relational Функции


Executes a given SQL query against a relational database and returns the results as a normalised data graph.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
SDO-DAS-Relational Функции
PHP Manual

SDO_DAS_Relational::executeQuery

(^)

SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.

Описание

SDODataObject SDO_DAS_Relational::executeQuery ( PDO $database_handle , string $SQL_statement [, array $column_specifier ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Executes a given query against the relational database, using the supplied PDO database handle. Uses the model that it built from the metadata to interpret the result set. Returns a data graph.

Список параметров

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

The SQL statement to be executed against the database.

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata. For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Возвращаемые значения

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Ошибки

SDO_DAS_Relational::executeQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Примеры

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
SDO-DAS-Relational Функции


SDO XML Data Access Service

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • SDO DAS XML Функции
    • SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject
    • SDO_DAS_XML_Document::getRootElementName — Returns root element's name
    • SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string
    • SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding
    • SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration
    • SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version
    • SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object
    • SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file
    • SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name
    • SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.
    • SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document
    • SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string
    • SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file
    • SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string
SDO_DAS_Relational::executeQuery
Введение
Обработка XML


Введение

In order to use the XML Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO.

The job of the XML DAS is to move data between the application and an XML data source, which can be either a file or a URL. SDOs are always created and maintained according to a model which defines type names and what property names each type may have. For data which is from XML, this SDO model is built from a schema file written in XML schema language (an xsd file). This schema file is usually passed to the create method when the XMLDAS is initialised. The » SDO 2.0 specification defines the mapping between XML types and SDO types. There are a number of small limitations in the PHP support - not everything which is in the specification can be done - and these limitations are summarised in a later section.

SDO DAS XML
Установка и настройка
SDO DAS XML


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SDO DAS XML


Требования

The SDO XML Data Access Service requires PHP 5.1.0 or higher. It is packaged with the SDO extension and requires SDO to have been installed. See the SDO installation instructions for the details of how to do this.

Установка и настройка
Установка
Установка и настройка


Установка

The XML Data Access Service is packaged and installed as part of the SDO extension. Please Refer SDO installation instructions.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
SDO DAS XML


Примеры

Several of the following examples are based on the letter example described in the SDO documentation. The examples assume the XML Schema for the letter is contained in a file letter.xsd and the letter instance is in the file letter.xml. These two files are reproduced here:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

Пример #1 Loading, altering, and saving an XML document

The following example shows how an XML document can be loaded from a file, altered, and written back.

<?php
/**
 * Load, update, and save an XML document
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $root_data_object = $document->getRootDataObject();
   $root_data_object->date = "September 03, 2004";
   $root_data_object->firstName = "Anantoju";
   $root_data_object->lastName = "Madhu";
   $xmldas->saveFile($document, "letter-out.xml");
   echo "New file has been written:\n";
   print file_get_contents("letter-out.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

An instance of the XML DAS is first obtained from the SDO_DAS_XML::create() method, which is a static method of the SDO_DAS_XML class. The location of the xsd is passed as a parameter. Once we have an instance of the XML DAS initialised with a given schema, we can use it to load the instance document using the loadFile() method. There is also a loadString() method if you want to load an XML instance document from a string. If the instance document loads successfully, you will be returned an object of type SDO_DAS_XML_Document, on which you can call the getRootDataObject() method to get the SDO data object which is the root of the SDO data graph. You can then use SDO operations to change the graph. In this example we alter the date, firstName, and lastName properties. Then we use the saveFile() method to write the changed document back to the file system. The saveFile method has an optional extra integer argument which if specified will cause the XML DAS to format the XML, using the integer as the amount to indent by at each change in level on the document.

This will write the following to letter-out.xml.

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <date>September 03, 2004</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Anantoju</firstName>
  <lastName>Madhu</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</FormLetter>

Пример #2 Creating a new XML document

The previous example loaded the document from a file. This example shows how to create an SDO data graph in memory. In this example it is then saved to an XML string. Furthermore, because the letter contains both structured and unstructured content, it uses the Sequence API as well assignments to properties to construct the data graph.

<?php
/**
 * Create an XML document from scratch
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Acme Inc. ", NULL, NULL);
       $seq->insert("United Kingdom. ");
       $seq->insert("Dear", NULL, NULL);
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       $seq->insert("Please note that your order number ");
       $seq->insert(12345);
       $seq->insert(" has been dispatched today. Thanks for your business with us.");
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>

The createDocument() method on the XML DAS returns a document object with a single root data object corresponding to an empty document element. The element name of the document element is known from the schema file. If there is any ambiguity about what the document element is, as there can be when more than one schema has been loaded into the same XML DAS, the element name and the namespace URI can be passed to the createDocument() method.

This will emit the following output (line breaks have been inserted for readability):

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom.
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been
dispatched today. Thanks for your business with us.
</FormLetter>

Пример #3 Setting XML document properties

This third example shows you how to set the XML version and encoding on the document object. These will be used when the XML is written out. If no XML declaration is wanted at all (perhaps you want to generate the XML as a string to embed in something) then you can use the setXMLDeclaration() method to suppress it.

<?php
/**
 * Illustrate the calls that control the XML declaration
 */
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $document->setXMLVersion("1.1");
   $document->setEncoding("ISO-8859-1");
   print($xmldas->saveString($document));
?>

The XML version and encoding are set in the XML declaration at the top of the XML document.

<?xml version="1.1" encoding="utf-8"?>
.../...

Пример #4 Using an open type

This fourth example illustrates the use of an SDO open type and the use of the createDataObject() method. For this example we use the following two schema:

<schema
  xmlns="http://www.w3.org/2001/XMLSchema">

  <element name="jungle">
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>

</schema>

Note the presence of the any element in the definition. This first schema defines the jungle complex type as containing a sequence of any other type. The other types that the example will use are defined in a second schema file:

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

   <complexType name="snakeType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "length" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="bearType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "weight" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="pantherType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "colour" type="string" />
     </sequence>
   </complexType>

</schema>

Here is the example PHP code that uses these two schema files:

<?php

/**
 * Illustrate open types and the use of the addTypes() method
 */

$xmldas = SDO_DAS_XML::create();
$xmldas->addTypes("jungle.xsd"); // this is an open type i.e. the xsd specifies it can contain "any" type
$xmldas->addTypes('animalTypes.xsd');

$baloo            = $xmldas->createDataObject('','bearType');
$baloo->name      = "Baloo";
$baloo->weight    = 800;

$bagheera         = $xmldas->createDataObject('','pantherType');
$bagheera->name   = "Bagheera";
$bagheera->colour = 'inky black';

$kaa              = $xmldas->createDataObject('','snakeType');
$kaa->name        = "Kaa";
$kaa->length      = 25;

$document         = $xmldas->createDocument();
$do               = $document->getRootDataObject();
$do->bear         = $baloo;
$do->panther      = $bagheera;
$do->snake        = $kaa;

print($xmldas->saveString($document,2));

?>

These two schema files are loaded into the XML DAS with first the create() and addTypes() methods. The createDataObject() method is used to create three separate data objects. In each case the namespaceURI and typename of the type are passed to the createDataObject() method: in this example the namespace URI is blank because no namespace is used in the schema. Once the three data objects - representing a bear, a panther and a snake - have been created, a document object is created with the createDocument() method. In this case there is no ambiguity about what the document element of the document should be - as the second schema file only defines complex types, the document element can only be the global jungle element defined in the first schema. This document will have a single root data object corresponding to an empty document element jungle. As this is an open type, properties can be added at will. When the first assignment is made to $do->bear, a property bear is added to the root data object: likewise for the next two assignments. When the document is written out by the saveString() method, the resulting document is:

<?xml version="1.0" encoding="UTF-8"?>
<jungle xsi:type="jungle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <bear xsi:type="bearType">
    <name>Baloo</name>
    <weight>800</weight>
  </bear>
  <panther xsi:type="pantherType">
    <name>Bagheera</name>
    <colour>inky black</colour>
  </panther>
  <snake xsi:type="snakeType">
    <name>Kaa</name>
    <length>25</length>
  </snake>
</jungle>

Пример #5 Finding out what you can from the document

This example is intended to illustrate how you can find the element name and namespace of the document element from the XML Document object, and the SDO type and namespace from the root data object of the XML data object, and how they relate to one another. This can be difficult to understand because there are four method calls: two can be made against the Document object, and two that can be made against any data object including the root data object. Because of the rules that define how the SDO model is derived from the XML model, when the data object concerned is the root object that represents the document object for the document, only three possible values can come back from these four method calls.

The two method calls that can be made against the document are getRootElementName() and getRootEelementURI(). These return the element name and namespace of the document element, respectively.

The two method calls that can be made against any data object are getTypeName() and getTypeNamespaceURI(). These return the SDO type name and type namespace of the data object, respectively.

Always, calling getRootElementURI() on the document object will return the same value as calling getNamespaceURI() on the root data object. Essentially, the information is all derived from the first few lines of the schema file, where there are three distinct pieces of information. For illustration, here again are the first few lines of the letter.xsd that we used above.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:letter="http://letterSchema"
            targetNamespace="http://letterSchema">

  <xsd:element name="letters" type="letter:FormLetter"/>

  <xsd:complexType name="FormLetter" mixed="true">
    .../...

The three important values are:

  • letters, the name of the document element

  • FormLetter, the name of the complex type of the document element. This is also the name of the SDO type of the root data object.

  • http://letterSchema, the namespace to which the document element belongs. This is also the namespaceURI of the SDO type of the root data object.

It is part of the XML-SDO mapping rules that when the SDO model is built from the schema file, the typename and namespaceURI of the SDO types for the root element are taken from those of the complex type of the document element, where it exists. Hence in this example the typename of the root data object is FormLetter. In the event that there is no separate complex type definition for the document element, when the type is defined inline and is anonymous, the SDO type name will be the same as the element name.

The following program loads the letter document and checks the return values from each of the four calls.

<?php
/**
 * Finding out what you can about the document and document element
 * This can be quite hard to understand because there are four calls
 * Two calls are made against the document
 * Two calls are made against the root data object and its model
 * Because of the SDO-XML mapping rules and how the SDO model is derived
 * from the XML model, only three possible values can come back from these four calls.
 * Always, $document->getRootElementURI() == (type of root data object)->namespaceURI
 * Essentially, it all comes form the first few lines of the xsd:
 * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:letter="http://letterSchema"
 *   targetNamespace="http://letterSchema">
 *   <xsd:element name="letters" type="letter:FormLetter"/>
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
$document = $xmldas->loadFile("letter.xml");
$root_do = $document->getRootDataObject();

/**
 * The "root element name" is the element name of the document element
 * in this case 'letters'
 * This matches the 'name' attribute of the document element in the xsd and matches
 * the element name from the xml
 */
echo "The document element name is " . $document->getRootElementName() . "\n";
assert($document->getRootElementName() == 'letters'); // a property of the document

/**
 * The "root element URI" is the namespace part of the element name of the document element
 * in this case 'http://letterSchema' since 'letters' is in that namespace
 * This is taken from the xsd and matches the namespace picked up from the xml
 */
echo "The document element is in the namespace " . $document->getRootElementURI() . "\n";
assert($document->getRootElementURI() == 'http://letterSchema'); // a property of the document

/**
 * The type name is taken from the SDO model
 * The XML-SDO mapping rules make this either:
 *   The name of the complexType if there is one (in this case there is)
 *   The document element name if there no complexType
 * This is taken from the xsd
 */
echo "The type name of the root data object is " . $root_do->getTypeName() . "\n";
assert($root_do->getTypeName() == 'FormLetter');

/**
 * The type's namespaceURI is taken from the SDO model
 * The XML-SDO mapping rules ensure that this will always be the same as
 * the namepace URI of the document element
 */
echo "The namespaceURI of the root data object is " . $root_do->getTypeNamespaceURI() . "\n";
assert($root_do->getTypeNamespaceURI() == 'http://letterSchema');

?>

The output from this program is as follows:

The document element name is letters
The document element is in the namespace http://letterSchema
The type name of the root data object is FormLetter
The namespaceURI of the root data object is http://letterSchema

Пример #6 Printing the SDO model

The XML DAS provides a simple means to see what types and properties have been loaded. The php "print" or "echo" instruction will print out the types and properties.

<?php
/**
 * Illustrate printing out the model
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
print $xmldas;

?>

The output from this program is as follows:

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://letterSchema:FormLetter
    - date (commonj.sdo:String)
    - firstName (commonj.sdo:String)
    - lastName (commonj.sdo:String)
18. http://letterSchema:RootType
    - letters (http://letterSchema:FormLetter)
Предопределенные константы
SDO DAS XML Функции
SDO DAS XML


SDO DAS XML Функции

Предопределенные классы

The XML DAS provides two main classes. The first is SDO_DAS_XML which is the main class used to fetch the data from the XML source and used to write the data back. The second is the SDO_DAS_XML_Document class, which represents the data in the XML document.

There are also some exception classes which can be thrown if errors are found when looking for or parsing the xsd or xml files.

SDO_DAS_XML

This is the main class of the XML DAS, which is used fetch the data from the xml source and also used to write the data back. Other than the methods to load and save xml files,

Методы

  • create This is a static method available in the SDO_DAS_XML class. Used to construct an SDO_DAS_XML object.

  • addTypes Works in much the same way as create() but used to add the contents of a second or subsequent schema file to an XML DAS that has already been created.

  • createDataObject Can be used to construct an SDO data object of a given type.

  • createDocument Can be used to construct an XML Document object from scratch.

  • loadFile Loads the xml instance document from a file. This file can be at local file system or it can be on a remote host.

  • loadString same as the above method. Loads the xml instance which is available as string.

  • saveFile save SDO_DAS_XML_Document object as a xml file.

  • saveString save SDO_DAS_XML_Document object as a xml string.

SDO_DAS_XML_Document

This class can be used to get to the name and namespace of the document element, and to get to the root data object of the document. Lastly, it can also be used to set the XML version and encoding of a document on output.

Методы

  • getRootDataObject gets the root DataObject.

  • getRootElementName gets the root DataObject's name.

  • getRootElementURI gets the root DataObject's URI.

  • setEncoding sets the encoding string with the given value.

  • setXMLDeclaraion to set/unset the xml declaration.

  • setXMLVersion sets the xml version with the given value.

SDO_DAS_XML_ParserException

Is a subclass of SDO_Exception. Thrown for any parser errors while loading the xsd/xml file.

SDO_DAS_XML_FileException

Is a subclass of SDO_Exception. Thrown by any of the methods that load data from a file, when the file cannot be found.

Limitations compared with SDO 2.0 specification

The » SDO 2.0 specification defines the mapping between XML types and SDO types. With Java SDO, this mapping is implemented by the XMLHelper. With SDO for PHP, this mapping is implemented by the XML Data Access Service. The XML DAS implements the mapping described in the SDO 2.0 specification with some restrictions. A detailed list is of the limitations is:

XML Simple Types

  1. Simple Type with sdoJava:instanceClass - no PHP equivalent provided.

  2. Simple Type with sdoJava:extendedInstanceClass - no PHP equivalent provided.

  3. Simple Type with list of itemType.

  4. Simple Type with union.

XML Complex Types

  1. Complex Type with sdo:aliasName - no PHP support for SDO Type aliases.

XSD Attribute

  1. Attribute with sdo:aliasName - no PHP support for SDO property aliases.

  2. Attribute with default value - no PHP support for SDO property defaults.

  3. Attribute with fixed value - no PHP support for SDO read-only properties or default values.

  4. Attribute referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="...".

  5. Attribute with bi-directional property to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

XSD Elements

  1. Element with sdo:aliasName - no PHP support for SDO property aliases.

  2. Element with substitution group.

XSD Elements with Simple Type

  1. Element of SimpleType with default - no PHP support for SDO defaults

  2. Element of SimpleType with fixed value - no PHP support for SDO read-only properties or default values.

  3. Element of SimpleType with sdo:string - no support for sdo:string="true".

  4. Element referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="..."

  5. Element with bi-directional reference to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

Содержание

  • SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject
  • SDO_DAS_XML_Document::getRootElementName — Returns root element's name
  • SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string
  • SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding
  • SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration
  • SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version
  • SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object
  • SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file
  • SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name
  • SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.
  • SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document
  • SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string
  • SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file
  • SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string
Примеры
SDO_DAS_XML_Document::getRootDataObject
SDO DAS XML


Returns the root SDO_DataObject

SDO DAS XML Функции
SDO_DAS_XML_Document::getRootElementName
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::getRootDataObject

(^)

SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject

Описание

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Returns the root SDO_DataObject.

Список параметров

Возвращаемые значения

Returns the root SDO_DataObject.

SDO DAS XML Функции
SDO_DAS_XML_Document::getRootElementName
SDO DAS XML Функции


Returns root element's name

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::getRootElementName

(^)

SDO_DAS_XML_Document::getRootElementName — Returns root element's name

Описание

string SDO_DAS_XML_Document::getRootElementName ( void )

Returns root element's name.

Список параметров

Возвращаемые значения

Returns root element's name.

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
SDO DAS XML Функции


Returns root element's URI string

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::getRootElementURI

(^)

SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string

Описание

string SDO_DAS_XML_Document::getRootElementURI ( void )

Returns root element's URI string.

Список параметров

Возвращаемые значения

Returns root element's URI string.

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
SDO DAS XML Функции


Sets the given string as encoding

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::setEncoding

(^)

SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding

Описание

void SDO_DAS_XML_Document::setEncoding ( string $encoding )

Sets the given string as encoding.

Список параметров

encoding

Encoding string.

Возвращаемые значения

None.

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
SDO DAS XML Функции


Sets the xml declaration

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::setXMLDeclaration

(^)

SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration

Описание

void SDO_DAS_XML_Document::setXMLDeclaration ( bool $xmlDeclatation )

Controls whether an XML declaration will be generated at the start of the XML document. Set to TRUE to generate the XML declaration, or FALSE to suppress it.

Список параметров

xmlDeclatation

Boolean value to set the XML declaration.

Возвращаемые значения

None.

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
SDO DAS XML Функции


Sets the given string as xml version

SDO_DAS_XML_Document::setXMLDeclaration
SDO_DAS_XML::addTypes
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML_Document::setXMLVersion

(^)

SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version

Описание

void SDO_DAS_XML_Document::setXMLVersion ( string $xmlVersion )

Sets the given string as xml version.

Список параметров

xmlVersion

xml version string.

Возвращаемые значения

None.

SDO_DAS_XML_Document::setXMLDeclaration
SDO_DAS_XML::addTypes
SDO DAS XML Функции


To load a second or subsequent schema file to a SDO_DAS_XML object

SDO_DAS_XML_Document::setXMLVersion
SDO_DAS_XML::create
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::addTypes

(^)

SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object

Описание

void SDO_DAS_XML::addTypes ( string $xsd_file )

Load a second or subsequent schema file to an XML DAS that has already been created with the static method create(). Although the file may be any valid schema file, a likely reason for using this method is to add a schema file containing definitions of extra complex types, hence the name. See Example 4 of the parent document for an example.

Список параметров

xsd_file

Path to XSD Schema file.

Возвращаемые значения

None if successful, otherwise throws an exception as described below.

Ошибки

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML_Document::setXMLVersion
SDO_DAS_XML::create
SDO DAS XML Функции


To create SDO_DAS_XML object for a given schema file

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::create

(^)

SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file

Описание

SDO_DAS_XML SDO_DAS_XML::create ([ mixed $xsd_file [, string $key ]] )

This is the only static method of SDO_DAS_XML class. Used to instantiate SDO_DAS_XML object.

Список параметров

xsd_file

Path to XSD Schema file. This is optional. If omitted a DAS will be created that only has the SDO base types defined. Schema files can then be loaded with the addTypes() method. Can be string or array of values.

key

Возвращаемые значения

Returns SDO_DAS_XML object on success otherwise throws an exception as described below.

Ошибки

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
SDO DAS XML Функции


Creates SDO_DataObject for a given namespace URI and type name

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::createDataObject

(^)

SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name

Описание

SDO_DataObject SDO_DAS_XML::createDataObject ( string $namespace_uri , string $type_name )

Creates SDO_DataObject for a given namespace URI and type name. The type should be defined in the underlying model otherwise SDO_TypeNotFoundException will be thrown.

Список параметров

namespace_uri

Namespace URI of the type name.

type_name

Type Name.

Возвращаемые значения

Returns SDO_DataObject on success.

Ошибки

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
SDO DAS XML Функции


Creates an XML Document object from scratch, without the need to load a document from a file or string.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::createDocument

(^)

SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.

Описание

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ([ string $document_element_name ] )
SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string $document_element_namespace_URI , string $document_element_name [, SDO_DataObject $dataobject ] )

Creates an XML Document object. This will contain just one empty root element on which none of the properties will have been set. The purpose of this call is to allow an application to create an XML document from scratch without the need to load a document from a file or string. The document that is created will be as if a document had been loaded that contained just a single empty document element with no attributes set or elements within it.

createDocument() may need to be told what the document element is. This will not be necessary in simple cases. When there is no ambiguity then no parameter need be passed to the method. However it is possible to load more than one schema file into the same XML DAS and in this case there may be more than one possible document element defined: furthermore it is even possible that there are two possible document elements that differ only in the namespace. To cope with these cases it is possible to specify either the document element name, or both the document element name and namespace to the method.

Список параметров

document_element_name

The name of the document element. Only needed if there is more than one possibility.

document_element_namespace_URI

The namespace part of the document element name. Only needed if there is more than one possible document element with the same name.

dataobject

Возвращаемые значения

Returns an SDO_XML_DAS_Document object on success.

Ошибки

SDO_UnsupportedOperationException

Thrown if an element name or element name and namespace URI is passed, but not found in the underlying model.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
SDO DAS XML Функции


Returns SDO_DAS_XML_Document object for a given path to xml instance document

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::loadFile

(^)

SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document

Описание

SDO_XMLDocument SDO_DAS_XML::loadFile ( string $xml_file )

Constructs the tree of SDO_DataObjects from the given address to xml instance document. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Список параметров

xml_file

Path to Instance document. This can be a path to a local file or it can be a URL.

Возвращаемые значения

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Ошибки

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
SDO DAS XML Функции


Returns SDO_DAS_XML_Document for a given xml instance string

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::loadString

(^)

SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string

Описание

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string $xml_string )

Constructs the tree of SDO_DataObjects from the given xml instance string. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Список параметров

xml_string

xml string.

Возвращаемые значения

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Ошибки

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if the a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
SDO DAS XML Функции


Saves the SDO_DAS_XML_Document object to a file

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::saveFile

(^)

SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file

Описание

void SDO_DAS_XML::saveFile ( SDO_XMLDocument $xdoc , string $xml_file [, int $indent ] )

Saves the SDO_DAS_XML_Document object to a file.

Список параметров

xdoc

SDO_DAS_XML_Document object.

xml_file

xml file.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Возвращаемые значения

None.

Ошибки

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
SDO DAS XML Функции


Saves the SDO_DAS_XML_Document object to a string

SDO_DAS_XML::saveFile
SimpleXML
SDO DAS XML Функции
PHP Manual

SDO_DAS_XML::saveString

(^)

SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string

Описание

string SDO_DAS_XML::saveString ( SDO_XMLDocument $xdoc [, int $indent ] )

Saves the SDO_DAS_XML_Document object to string.

Список параметров

xdoc

SDO_DAS_XML_Document object.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Возвращаемые значения

xml string.

SDO_DAS_XML::saveFile
SimpleXML
SDO DAS XML Функции


SimpleXML

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование SimpleXML
    • Работа с ошибками XML
  • SimpleXMLElement — Класс SimpleXMLElement
    • SimpleXMLElement::addAttribute — Добавляет атрибут к SimpleXML-элементу
    • SimpleXMLElement::addChild — Добавляет дочерний элемент к узлу XML
    • SimpleXMLElement::asXML — Возвращает сформированный XML документ в виде строки используя SimpleXML элемент
    • SimpleXMLElement::attributes — Возвращает атрибуты элемента
    • SimpleXMLElement::children — Поиск дочерних элементов данного узла
    • SimpleXMLElement::__construct — Создание нового SimpleXMLElement объекта
    • SimpleXMLElement::count — Считает количество дочерних элементов у текущего элемента
    • SimpleXMLElement::getDocNamespaces — Возвращает объявленное пространство имен в документе
    • SimpleXMLElement::getName — Получение имени XML элемента
    • SimpleXMLElement::getNamespaces — Получение пространств имен, используемых в документе
    • SimpleXMLElement::registerXPathNamespace — Создает префикс/пространство имен контекста для следующего XPath запроса
    • SimpleXMLElement::saveXML — Псевдоним SimpleXMLElement::asXML
    • SimpleXMLElement::xpath — Запускает XPath запрос к XML данным
  • SimpleXML
    • simplexml_import_dom — Получает объект класса SimpleXMLElement из узла DOM.
    • simplexml_load_file — Интерпретирует XML-файл в объект
    • simplexml_load_string — Интерпретирует строку с XML в объект
SDO_DAS_XML::saveString
Введение
Обработка XML


Введение

The SimpleXML extension provides a very simple and easily usable toolset to convert XML to an object that can be processed with normal property selectors and array iterators.

SimpleXML
Установка и настройка
SimpleXML


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SimpleXML


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

Модуль SimpleXML требует PHP 5.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение включено по умолчанию. Оно может быть отключено во время выполнения с помощью следующей опции: --disable-simplexml

Примечание: До PHP 5.1.2 необходима опция --enable-simplexml для работы этого расширения.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
SimpleXML


Примеры

Содержание

  • Базовое использование SimpleXML
  • Работа с ошибками XML
Предопределенные константы
Базовое использование SimpleXML
SimpleXML


Базовое использование SimpleXML

Некоторые примеры этого руководства включают XML-строку. Вместо того, чтобы повторять ее в каждом примере, положите эту строку в файл, который и включайте в каждом примере. Эта строка приведена в следующем примере. Помимо этого можно создать XML-документ и считывать его функцией simplexml_load_file().

Пример #1 Файл example.php с XML строкой

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   Таким образом, это язык. Это все равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои проблемы в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

SimpleXML пользоваться очень просто! Попробуйте получить какую-нибудь строку или число из базового XML документа.

Пример #2 Получение части документа <plot>

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie[0]->plot;
?>

Результат выполнения данного примера:

   Таким образом, это язык. Это все равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.

В PHP получить доступ к элементу в XML документе, содержащим в названии недопустимые символы (например, дефис), можно путем заключения данного имени элемента в фигурные скобки и апострофы.

Пример #3 Получение строки <line>

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie->{'great-lines'}->line;
?>

Результат выполнения данного примера:

PHP решает все мои проблемы в web

Пример #4 Доступ к не уникальным элементам в SimpleXML

В том случае, если существует несколько экземпляров дочерних элементов в одном родительском элементе, то нужно применять стандартные методы итерации.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* Для каждого узла <character>, мы отдельно выведем имя <name>. */
foreach ($movies->movie->characters->character as $character) {
   echo $character->name, ' играет ', $character->actor, PHP_EOL;
}

?>

Результат выполнения данного примера:

Ms. Coder играет Onlivia Actora
Mr. Coder играет El ActÓr

Замечание:

Свойства ($xml->movie в предыдущем примере) не являются массивами. Это итеративный объект в виде массива.

Пример #5 Использование атрибутов

До сих пор мы только читали названия и значения элементов. SimpleXML может так же получать доступ к атрибутам элемента. Получить доступ к атрибуту элемента можно так же, как к элементам массива array.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* Доступ к узлу <rating> первого фильма.
 * Так же выведем шкалу оценок. */
foreach ($movies->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Получение атрибутов элемента по индексу
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

Результат выполнения данного примера:

7 thumbs up5 stars

Пример #6 Сравнение элементов и атрибутов с текстом

Для сравнения элемента или атрибута со строкой или для передачи в функцию в качестве текста, необходимо привести его к строке, используя (string). В противном случае, PHP будет рассматривать элемент как объект.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

if ((string) $movies->movie->title == 'PHP: Появление Парсера') {
    print 'Мой любимый фильм.';
}

echo htmlentities((string) $movies->movie->title);
?>

Результат выполнения данного примера:

Мой любимый фильм.PHP: Появление Парсера

Пример #7 Сравнение двух элементов

Два элемента SimpleXMLElements считаются различными, даже если они указывают на один и тот же объект начиная с PHP 5.2.0.

<?php
include 'example.php';

$movies1 = new SimpleXMLElement($xmlstr);
$movies2 = new SimpleXMLElement($xmlstr);
var_dump($movies1 == $movies2); // false начиная с PHP 5.2.0
?>

Результат выполнения данного примера:

bool(false)

Пример #8 Использование XPath

SimpleXML включает в себя встроенную поддержку XPath. Поиск всех элементов <character>:

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

foreach ($movies->xpath('//character') as $character) {
    echo $character->name, ' играет ', $character->actor, PHP_EOL;
}
?>

'//' служит в качестве шаблона. Для указания абсолютного пути, опустите одну из косых черт.

Результат выполнения данного примера:

Ms. Coder играет Onlivia Actora
Mr. Coder играет by El ActÓr

Пример #9 Установка значений

Данные в SimpleXML не могут быть постоянными. Объект позволяет манипулировать всеми элементами.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$movies->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $movies->asXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Miss Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   Таким образом, это язык. Это все равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>

Пример #10 Добавление элементов и атрибутов

Начиная с PHP 5.1.3, SimpleXML имеет возможность легко добавлять дочерние элементы и атрибуты.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$character = $movies->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $xml->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $movies->asXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  <character><name>Mr. Parser</name><actor>John Doe</actor></character></characters>
  <plot>
   Таким образом, это язык. Это все равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 <rating type="mpaa">PG</rating></movie>
</movies>

Пример #11 Взаимодействие с DOM

PHP может преобразовывать XML узлы из SimpleXML в формат DOM и наоборот. Этот пример показывает, как можно изменить DOM элемент в SimpleXML.

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>бред</title></book></books>');
if (!$dom) {
    echo 'Ошибка при разборе документа';
    exit;
}

$books = simplexml_import_dom($dom);

echo $books->book[0]->title;
?>

Результат выполнения данного примера:

blah

Примеры
Работа с ошибками XML
Примеры


Работа с ошибками XML

Работа с ошибками XML при загрузке документов является очень простой задачей. Использование функциональности libxml позволяет подавить все XML ошибки при загрузке документа и затем обработать их.

Объект libXMLError, возвращаемый libxml_get_errors(), содержит несколько свойств, в том числе сообщение, номер строки и колонку (позицию) этой ошибки.

Пример #1 Загрузка синтаксически неправильной XML строки

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (!$sxe) {
    echo "Ошибка загрузки XML\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}
?>

Результат выполнения данного примера:

Ошибка загрузки XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Смотрите также

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError

Базовое использование SimpleXML
SimpleXMLElement
Примеры


Класс SimpleXMLElement

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Представляет собой элемент в XML-документе.

Обзор классов

SimpleXMLElement implements Traversable {
/* Методы */
public __construct ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )
public void addAttribute ( string $name [, string $value [, string $namespace ]] )
public SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )
public mixed asXML ([ string $filename ] )
public SimpleXMLElement attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )
public SimpleXMLElement children ([ string $ns [, bool $is_prefix = false ]] )
public int count ( void )
public array getDocNamespaces ([ bool $recursive = false ] )
public string getName ( void )
public array getNamespaces ([ bool $recursive = false ] )
public bool registerXPathNamespace ( string $prefix , string $ns )
public array xpath ( string $path )
}

Содержание

  • SimpleXMLElement::addAttribute — Добавляет атрибут к SimpleXML-элементу
  • SimpleXMLElement::addChild — Добавляет дочерний элемент к узлу XML
  • SimpleXMLElement::asXML — Возвращает сформированный XML документ в виде строки используя SimpleXML элемент
  • SimpleXMLElement::attributes — Возвращает атрибуты элемента
  • SimpleXMLElement::children — Поиск дочерних элементов данного узла
  • SimpleXMLElement::__construct — Создание нового SimpleXMLElement объекта
  • SimpleXMLElement::count — Считает количество дочерних элементов у текущего элемента
  • SimpleXMLElement::getDocNamespaces — Возвращает объявленное пространство имен в документе
  • SimpleXMLElement::getName — Получение имени XML элемента
  • SimpleXMLElement::getNamespaces — Получение пространств имен, используемых в документе
  • SimpleXMLElement::registerXPathNamespace — Создает префикс/пространство имен контекста для следующего XPath запроса
  • SimpleXMLElement::saveXML — Псевдоним SimpleXMLElement::asXML
  • SimpleXMLElement::xpath — Запускает XPath запрос к XML данным
Работа с ошибками XML
SimpleXMLElement::addAttribute
SimpleXML


Добавляет атрибут к SimpleXML-элементу

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement
PHP Manual

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3)

SimpleXMLElement::addAttribute — Добавляет атрибут к SimpleXML-элементу

Описание

public void SimpleXMLElement::addAttribute ( string $name [, string $value [, string $namespace ]] )

Добавляет атрибут к SimpleXML-элементу.

Список параметров

name

Название добавляемого атрибута.

value

Значение атрибута.

namespace

Необязательный параметр указывает на пространство имен, к которому принадлежит атрибут.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Замечание:

Перечисленные примеры могут включать example.php, в котором определяется XML-строка, расположенная в первом примере руководства по базовому использованию.

Пример #1 Добавление атрибутов и потомков к SimpleXML-элементу

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: Истории парсера');
$movie->addChild('plot', 'Все о людях, создававших его.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Результатом выполнения данного примера будет что-то подобное:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   Итак, этот язык. Типа, язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: Истории парсера</title>
  <plot>Все о людях, создававших его.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Смотрите также

  • SimpleXMLElement::addChild() - Добавляет дочерний элемент к узлу XML
  • Базовое использование SimpleXML

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement


Добавляет дочерний элемент к узлу XML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3)

SimpleXMLElement::addChild — Добавляет дочерний элемент к узлу XML

Описание

public SimpleXMLElement SimpleXMLElement::addChild ( string $name [, string $value [, string $namespace ]] )

Добавляет дочерний элемент к узлу и возвращает потомка SimpleXMLElement.

Список параметров

name

Имя добавляемого дочернего элемента.

value

Если указано, то значение (содержимое) дочернего элемента.

namespace

Если указано, то пространсто имен, к которому принадлежит дочерний элемент.

Возвращаемые значения

Метод addChild возвращает объект SimpleXMLElement, представляющий добавленного потомка к узлу XML.

Примеры

Замечание:

Перечисленные примеры могут включать example.php, в котором определяется XML строка, расположенная в первом примере руководства по базовому использованию.

Пример #1 Добавление атрибутов и потомков к SimpleXML элементу

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: Истории парсера');
$movie->addChild('plot', 'Все о людях, создававших его.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Результатом выполнения данного примера будет что-то подобное:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   Таким образом, это язык. Это все равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: Истории парсера</title>
  <plot>Все о людях, создававших его.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Смотрите также

  • SimpleXMLElement::addAttribute() - Добавляет атрибут к SimpleXML-элементу
  • Базовое использование SimpleXML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement


Возвращает сформированный XML документ в виде строки используя SimpleXML элемент

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement
PHP Manual

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML — Возвращает сформированный XML документ в виде строки используя SimpleXML элемент

Описание

public mixed SimpleXMLElement::asXML ([ string $filename ] )

Метод asXML задает формат данных родительских объектов в версии XML 1.0.

Список параметров

filename

Если указан, то функция запишет данные в файл, а не вернет их.

Возвращаемые значения

Если filename не указан, то функция вернет string в случае успеха и FALSE в случае ошибки. Если параметр указан, то функция вернет TRUE если файл будет успешно записан и FALSE в противном случае.

Примеры

Пример #1 Получение XML

<?php
$string = <<<XML
<a>
 <b>
  <c>текст</c>
  <c>штучка</c>
 </b>
 <d>
  <c>код</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML();

?>

Результат выполнения данного примера:

<?xml version="1.0"?>
<a>
 <b>
  <c>текст</c>
  <c>штучка</c>
 </b>
 <d>
  <c>код</c>
 </d>
</a>

asXML также работает с результатами Xpath:

Пример #2 Использование asXML() с результатами SimpleXMLElement::xpath()

<?php
// Продолжение XML примера выше.

/* Поиск <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML();
}
?>

Результат выполнения данного примера:

<c>текст</c><c>штучка</c>

Смотрите также

  • Базовое использование SimpleXML

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement


Возвращает атрибуты элемента

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement
PHP Manual

SimpleXMLElement::attributes

(PHP 5 >= 5.0.1)

SimpleXMLElement::attributes — Возвращает атрибуты элемента

Описание

public SimpleXMLElement SimpleXMLElement::attributes ([ string $ns = NULL [, bool $is_prefix = false ]] )

Эта функция возвращает названия и значения атрибутов установленные в xml теге.

Замечание: SimpleXML содержит правило добавления итеративных свойств к большинству методов. Они не могут быть просмотрены с использованием var_dump() или каких-либо других средств анализа объектов.

Список параметров

ns

Не обязательное пространство имен для извлеченных атрибутов

is_prefix

По умолчанию FALSE

Возвращаемые значения

Возвращает итеративный объект SimpleXMLElement, по которому можно перемещаться для перебора всех атрибутов тега.

Вернет NULL если вызванный объект SimpleXMLElement уже представляет собой атрибуты, а не тег.

Примеры

Пример #1 Интерпретация XML строки

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

Результат выполнения данного примера:

name="one"
game="lonely"

Смотрите также

  • Базовое использование SimpleXML

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement


Поиск дочерних элементов данного узла

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Поиск дочерних элементов данного узла

Описание

public SimpleXMLElement SimpleXMLElement::children ([ string $ns [, bool $is_prefix = false ]] )

Этот метод находит всех дочерних элементов узла. Результат подчиняется стандартным правилам итерации.

Замечание: SimpleXML содержит правило добавления итеративных свойств к большинству методов. Они не могут быть просмотрены с использованием var_dump() или каких-либо других средств анализа объектов.

Список параметров

ns

Не обязательное пространство имен XML.

is_prefix

Если is_prefix установлен в TRUE, ns будет рассмотрен как префикс. Если FALSE, ns будет рассмотрен как пространство имен URL.

Возвращаемые значения

Возвращает SimpleXMLElement элемент, даже если узел не имеет дочерних элементов.

Список изменений

Версия | Описание
5.2.0 | Добавлен не обязательный параметр is_prefix.

Примеры

Пример #1 Обход псевдо-массива children()

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="сын">
  <child role="дочь"/>
 </child>
 <child role="дочь">
  <child role="сын">
   <child role="сын"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' У человека родился(-ась) ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' у которого родился(-ась) ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' и у ' . $third_gen['role'] .
                ' родился(-ась) ' . $fourth_gen['role'];
        }
    }
}
?>

Результат выполнения данного примера:

У человека родился(-ась) сын у которого родился(-ась) дочь; У человека
родился(-ась) дочь у которого родился(-ась) сын; и у сын родился(-ась) сын

Пример #2 Использование пространства имен

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Яблоко</foo:a>
  <foo:b>Банан</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

Примечания

SimpleXMLElement::children() вернет узел объекта в любом случае, даже если текущий узел не имеет потомков. Используя count() для возвращенного значения, можно узнать о существовании потомков. В PHP 5.3.0 вместо этого можно использовать SimpleXMLElement::count().

Смотрите также

  • SimpleXMLElement::count() - Считает количество дочерних элементов у текущего элемента
  • count() - Подсчитывает количество элементов массива или что-то в объекте

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement


Создание нового SimpleXMLElement объекта

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement
PHP Manual

SimpleXMLElement::__construct

(PHP 5 >= 5.0.1)

SimpleXMLElement::__construct — Создание нового SimpleXMLElement объекта

Описание

public SimpleXMLElement::__construct() ( string $data [, int $options = 0 [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false ]]]] )

Создает новый SimpleXMLElement объект.

Список параметров

data

Правильно сформированная XML строка. Может быть путем или URL к XML документу, если параметр data_is_url установлен в TRUE.

options

Необязательный параметр, используется для указания дополнительных параметров Libxml.

data_is_url

По умолчанию, data_is_url установлен в FALSE. Используйте TRUE для указания того, что data является путем или URL к XML документу вместо string данных.

ns

Префикс пространства имен или URI.

is_prefix

TRUE если ns является префиксом, FALSE если это URI; по умолчанию FALSE.

Возвращаемые значения

Возвращает объект SimpleXMLElement представляющий data.

Ошибки

Выдает сообщение с ошибкой E_WARNING для каждой найденной ошибки в XML данных, и дополнительно генерирует исключение, если XML данные не могут быть разобраны.

Подсказка

Используйте libxml_use_internal_errors() для подавления всех XML ошибок, и libxml_get_errors() для их переборки.

Примеры

Замечание:

Перечисленные примеры могут включать example.php, в котором определяется XML строка, расположенная в первом примере руководства по базовому использованию.

Пример #1 Создание объекта SimpleXMLElement

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Результат выполнения данного примера:

PHP: Появление Парсера

Пример #2 Создание объекта SimpleXMLElement из URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Смотрите также

  • Базовое использование SimpleXML
  • simplexml_load_string() - Интерпретирует строку с XML в объект
  • simplexml_load_file() - Интерпретирует XML-файл в объект
  • Работа с ошибками XML
  • libxml_use_internal_errors() - Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement


Считает количество дочерних элементов у текущего элемента

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::count

(PHP 5 >= 5.3.0)

SimpleXMLElement::count — Считает количество дочерних элементов у текущего элемента

Описание

public int SimpleXMLElement::count ( void )

Этот метод подсчитывает количество дочерних элементов у текущего элемента.

Возвращаемые значения

Возвращает число элементов у текущего элемента.

Примеры

Пример #1 Подсчет количества дочерних элементов

<?php
$xml = <<<EOF
<people>
 <person name="Человек 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Человек 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
    printf("%s имеет %d детей.\n", $person['name'], $person->count());
}
?>

Результат выполнения данного примера:

Человек 1 имеет 3 детей.
Человек 2 имеет 5 детей.

Смотрите также

  • SimpleXMLElement::children() - Поиск дочерних элементов данного узла

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement


Возвращает объявленное пространство имен в документе

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces — Возвращает объявленное пространство имен в документе

Описание

public array SimpleXMLElement::getDocNamespaces ([ bool $recursive = false ] )

Возвращает объявленное пространство имен в документе

Список параметров

recursive

Если указано, то возвращает все объявленные пространства имен у родительского узла и его дочерних элементов. В противном случае, возвращает только объявленное пространство имен корневого узла.

Возвращаемые значения

Метод getDocNamespaces возвращает массив array с названиями пространств имен и связанными с ними URI.

Примеры

Пример #1 Получение пространства имен документа

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

Результат выполнения данного примера:

array(1) {
   ["p"]=>
   string(21) "http://example.org/ns"
}

Пример #2 Работа с несколькими пространствами имен

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

Результат выполнения данного примера:

array(3) {
  ["p"]=>
  string(21) "http://example.org/ns"
  ["t"]=>
  string(23) "http://example.org/test"
  ["a"]=>
  string(23) "http://example.org/addr"
}

Смотрите также

  • SimpleXMLElement::getNamespaces() - Получение пространств имен, используемых в документе
  • SimpleXMLElement::registerXPathNamespace() - Создает префикс/пространство имен контекста для следующего XPath запроса

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement


Получение имени XML элемента

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::getName

(PHP 5 >= 5.1.3)

SimpleXMLElement::getName — Получение имени XML элемента

Описание

public string SimpleXMLElement::getName ( void )

Получает имя XML элемента.

Возвращаемые значения

Метод getName возвращает имя тега XML в виде строки string, на который ссылается SimpleXMLElement объект.

Примеры

Замечание:

Перечисленные примеры могут включать example.php, в котором определяется XML строка, расположенная в первом примере руководства по базовому использованию.

Пример #1 Получение имен XML элемента

<?php
include 'example.php';
$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

Результат выполнения данного примера:

movies
movie

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement


Получение пространств имен, используемых в документе

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement
PHP Manual

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getNamespaces — Получение пространств имен, используемых в документе

Описание

public array SimpleXMLElement::getNamespaces ([ bool $recursive = false ] )

Возвращает пространства имен, используемые в документе

Список параметров

recursive

Если указано, то возвращает все используемые пространства имен у родительского узла и его дочерних элементов. В противном случае, возвращает только используемое пространство имен корневого узла.

Возвращаемые значения

Метод getNamespaces возвращает массив array с названиями пространств имен и связанными с ними URI.

Примеры

Пример #1 Получение пространств имен, используемых в документе

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

Результат выполнения данного примера:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Смотрите также

  • SimpleXMLElement::getDocNamespaces() - Возвращает объявленное пространство имен в документе
  • SimpleXMLElement::registerXPathNamespace() - Создает префикс/пространство имен контекста для следующего XPath запроса

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement


Создает префикс/пространство имен контекста для следующего XPath запроса

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0)

SimpleXMLElement::registerXPathNamespace — Создает префикс/пространство имен контекста для следующего XPath запроса

Описание

public bool SimpleXMLElement::registerXPathNamespace ( string $prefix , string $ns )

Создает префикс/пространство имен контекста для следующего XPath запроса. В частности это необходимо, если поставщик данного XML документа изменяет префикс пространства имен. registerXPathNamespace создаст префикс для связанного пространства имен, позволяя получить доступ к узлам в этом пространстве имен без необходимости изменения кода, учитывающего новые префиксы, предоставленные поставщиком.

Список параметров

prefix

Префикс используемого пространства имен в запросе XPath для получения пространства имен в ns.

ns

Используемое пространство имен для запроса XPath. Оно должно соответствовать пространству имен в используемом XML документе иначе запрос XPath использующий prefix не даст никаких результатов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Установка префикса пространства имен для использования в запросе XPath

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

Результат выполнения данного примера:

Chapter 1
Chapter 2

Обратите внимание, на то, как в примере XML-документу задается пространство имен с префиксом chap. Представьте, что этот документ (или другой похожий) может использовать префикс c. Так как он изменится, то запрос XPath больше не будет возвращать необходимых результатов и придется изменить запрос. Использование registerXPathNamespace позволяет избежать будущих модификаций запросов, даже если поставщик изменит префикс прострнства имен.

Смотрите также

  • SimpleXMLElement::xpath() - Запускает XPath запрос к XML данным
  • SimpleXMLElement::getDocNamespaces() - Возвращает объявленное пространство имен в документе
  • SimpleXMLElement::getNamespaces() - Получение пространств имен, используемых в документе

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement


Псевдоним SimpleXMLElement::asXML

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::xpath
SimpleXMLElement
PHP Manual

SimpleXMLElement::saveXML

(PHP 5 >= 5.2.0)

SimpleXMLElement::saveXML — Псевдоним SimpleXMLElement::asXML()

Описание

Этот метод является псевдонимом: SimpleXMLElement::asXML()

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::xpath
SimpleXMLElement


Запускает XPath запрос к XML данным

SimpleXMLElement::saveXML
SimpleXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::xpath

(PHP 5 >= 5.2.0)

SimpleXMLElement::xpath — Запускает XPath запрос к XML данным

Описание

public array SimpleXMLElement::xpath ( string $path )

Метод xpath ищет узлы SimpleXML с дочерними элементами, совпадающими с XPath path.

Список параметров

path

Путь XPath

Возвращаемые значения

Возвращает массив array объектов SimpleXMLElement или FALSE в случае ошибки.

Примеры

Пример #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>текст</c>
  <c>вещь</c>
 </b>
 <d>
  <c>код</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Поиск <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Относительные пути также работают... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

Результат выполнения данного примера:

/a/b/c: текст
/a/b/c: вещь
b/c: текст
b/c: вещь

Обратите внимание, что оба результата одинаковы.

Смотрите также

  • SimpleXMLElement::registerXPathNamespace() - Создает префикс/пространство имен контекста для следующего XPath запроса
  • SimpleXMLElement::getDocNamespaces() - Возвращает объявленное пространство имен в документе
  • SimpleXMLElement::getNamespaces() - Получение пространств имен, используемых в документе
  • Базовое использование SimpleXML

SimpleXMLElement::saveXML
SimpleXML
SimpleXMLElement


SimpleXML
PHP Manual

SimpleXML

Содержание

  • simplexml_import_dom — Получает объект класса SimpleXMLElement из узла DOM.
  • simplexml_load_file — Интерпретирует XML-файл в объект
  • simplexml_load_string — Интерпретирует строку с XML в объект
SimpleXMLElement::xpath
simplexml_import_dom
SimpleXML
PHP Manual


Получает объект класса SimpleXMLElement из узла DOM.

SimpleXML
simplexml_load_file
SimpleXML
PHP Manual

simplexml_import_dom

(PHP 5)

simplexml_import_dom — Получает объект класса SimpleXMLElement из узла DOM.

Описание

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

Эта функция берет узел документа DOM и превращает его в узел SimpleXML. Затем этот новый объект может быть использован как первичный элемент SimpleXML.

Список параметров

node

Узел-элемент DOM

class_name

Вы можете использовать этот дополнительный параметр для того, чтобы функция simplexml_import_dom() возвращала объект указанного класса. Этот класс должен расширять класс SimpleXMLElement.

Возвращаемые значения

Возвращает SimpleXMLElement или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Импорт DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>чепуха</title></book></books>');
if (!$dom) {
    echo 'Ошибка при разборе документа';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

Результат выполнения данного примера:

чепуха

Смотрите также

  • dom_import_simplexml() - Получает объект класса DOMElement из объекта класса SimpleXMLElement
  • Базовое использование SimpleXML

SimpleXML
simplexml_load_file
SimpleXML


Интерпретирует XML-файл в объект

simplexml_import_dom
simplexml_load_string
SimpleXML
PHP Manual

simplexml_load_file

(PHP 5)

simplexml_load_file — Интерпретирует XML-файл в объект

Описание

object simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] )

Преобразует правильно сформированный XML-документ в указанном файле в объект.

Список параметров

filename

Путь к XML-файлу

Замечание:

Libxml 2 декодирует URI, так что если вы хотите передать, например, b&c как параметр URI a, вы должны вызвать simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Начиная с PHP 5.1.0 этого не требуется, потому, что PHP сделает это за вас.

class_name

Вы можете использовать этот необязательный параметр для того, чтобы функция simplexml_load_file() возвращала объект указанного класса. Этот класс должен расширять класс SimpleXMLElement.

options

Начиная с PHP 5.1.0 и Libxml 2.6.0, вы также можете использовать параметр options чтобы указать дополнительные параметры Libxml.

ns

is_prefix

Возвращаемые значения

Возвращает объект (object) класса SimpleXMLElement со свойствами, содержащими данные, хранимые внутри XML-документа. В случае ошибки вернет FALSE.

Ошибки

Генерирует сообщение об ошибке уровня E_WARNING для каждой ошибки, найденной в XML-данных.

Подсказка

Используйте функцию libxml_use_internal_errors() для того, чтобы подавить все ошибки XML, и функцию libxml_get_errors() для прохода по ним впоследствии.

Примеры

Пример #1 Интерпретация XML-документа

<?php
//Файл test.xml содержит XML-документ с корневым элементом
//и, по крайней мере, элемент /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Не удалось открыть файл test.xml.');
}
?>

Этот скрипт выведет, в случае успешного завершения, следующее:

SimpleXMLElement Object
(
  [title] => Пример заголовка
  ...
)

Здесь вы можете использовать $xml->body и любые другие элементы.

Смотрите также

  • simplexml_load_string() - Интерпретирует строку с XML в объект
  • SimpleXMLElement::__construct() - Создание нового SimpleXMLElement объекта
  • Работа с ошибками XML
  • libxml_use_internal_errors() - Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
  • Базовое использование SimpleXML

simplexml_import_dom
simplexml_load_string
SimpleXML


Интерпретирует строку с XML в объект

simplexml_load_file
WDDX
SimpleXML
PHP Manual

simplexml_load_string

(PHP 5)

simplexml_load_string — Интерпретирует строку с XML в объект

Описание

object simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] )

Получает правильно сформированную XML-строку и возвращает ее как объект.

Список параметров

data

Правильно сформированная XML-строка

class_name

Вы можете использовать этот необязательный параметр для того, чтобы функция simplexml_load_string() возвращала объект указанного класса. Этот класс должен расширять класс SimpleXMLElement.

options

Начиная с PHP 5.1.0 и Libxml 2.6.0, вы также можете использовать параметр options чтобы указать дополнительные параметры Libxml.

ns

is_prefix

Возвращаемые значения

Возвращает объект (object) класса SimpleXMLElement со свойствами, содержащими данные, хранимые внутри XML-документа. В случае ошибки вернет FALSE.

Ошибки

Генерирует сообщение об ошибке уровня E_WARNING для каждой ошибки, найденной в XML-данных.

Подсказка

Используйте функцию libxml_use_internal_errors() для того, чтобы подавить все ошибки XML, и функцию libxml_get_errors() для прохода по ним впоследствии.

Примеры

Пример #1 Интерпретация XML-строки

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Что 40?</title>
 <from>Джо</from>
 <to>Джейн</to>
 <body>
  Я знаю, что это - ответ. В чем заключается вопрос?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

Результат выполнения данного примера:

SimpleXMLElement Object
(
  [title] => Что 40?
  [from] => Джо
  [to] => Джейн
  [body] =>
   Я знаю, что это - ответ. В чем заключается вопрос?
)

Здесь вы можете использовать $xml->body и проч.

Смотрите также

  • simplexml_load_file() - Интерпретирует XML-файл в объект
  • SimpleXMLElement::__construct() - Создание нового SimpleXMLElement объекта
  • Работа с ошибками XML
  • libxml_use_internal_errors() - Отключение ошибок libxml и передача полномочий по выборке и обработке информации об ошибках пользователю
  • Базовое использование SimpleXML

simplexml_load_file
WDDX
SimpleXML


WDDX

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • wddx examples
  • WDDX Функции
    • wddx_add_vars — Add variables to a WDDX packet with the specified ID
    • wddx_deserialize — Unserializes a WDDX packet
    • wddx_packet_end — Ends a WDDX packet with the specified ID
    • wddx_packet_start — Starts a new WDDX packet with structure inside it
    • wddx_serialize_value — Serialize a single value into a WDDX packet
    • wddx_serialize_vars — Serialize variables into a WDDX packet
simplexml_load_string
Введение
Обработка XML


Введение

These functions are intended for work with » WDDX.

WDDX
Установка и настройка
WDDX


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
WDDX


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).

Установка и настройка
Установка
Установка и настройка


Установка

After installing the required expat library, compile PHP with --enable-wddx , and use --with-libexpat-dir for expat.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

This extension defines a WDDX packet identifier returned by wddx_packet_start().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
WDDX


Примеры

Содержание

  • wddx examples
Предопределенные константы
wddx examples
WDDX


wddx examples

All the functions that serialize variables use the first element of an array to determine whether the array is to be serialized into an array or structure. If the first element has string key, then it is serialized into a structure, otherwise, into an array.

Пример #1 Serializing a single value with WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Пример #2 Using incremental packets with WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Замечание:

If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first (see utf8_encode() and iconv()).

Примеры
WDDX Функции
Примеры


WDDX Функции

Содержание

  • wddx_add_vars — Add variables to a WDDX packet with the specified ID
  • wddx_deserialize — Unserializes a WDDX packet
  • wddx_packet_end — Ends a WDDX packet with the specified ID
  • wddx_packet_start — Starts a new WDDX packet with structure inside it
  • wddx_serialize_value — Serialize a single value into a WDDX packet
  • wddx_serialize_vars — Serialize variables into a WDDX packet
wddx examples
wddx_add_vars
WDDX


Add variables to a WDDX packet with the specified ID

WDDX Функции
wddx_deserialize
WDDX Функции
PHP Manual

wddx_add_vars

(PHP 4, PHP 5)

wddx_add_vars — Add variables to a WDDX packet with the specified ID

Описание

bool wddx_add_vars ( resource $packet_id , mixed $var_name [, mixed $... ] )

Serializes the passed variables and add the result to the given packet.

Список параметров

This function takes a variable number of parameters.

packet_id

A WDDX packet, returned by wddx_packet_start().

var_name

Can be either a string naming a variable or an array containing strings naming the variables or another array, etc.

...

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

WDDX Функции
wddx_deserialize
WDDX Функции


Unserializes a WDDX packet

wddx_add_vars
wddx_packet_end
WDDX Функции
PHP Manual

wddx_deserialize

(PHP 4, PHP 5)

wddx_deserialize — Unserializes a WDDX packet

Описание

mixed wddx_deserialize ( string $packet )

Unserializes a WDDX packet.

Список параметров

packet

A WDDX packet, as a string or stream.

Возвращаемые значения

Returns the deserialized value which can be a string, a number or an array. Note that structures are deserialized into associative arrays.

wddx_add_vars
wddx_packet_end
WDDX Функции


Ends a WDDX packet with the specified ID

wddx_deserialize
wddx_packet_start
WDDX Функции
PHP Manual

wddx_packet_end

(PHP 4, PHP 5)

wddx_packet_end — Ends a WDDX packet with the specified ID

Описание

string wddx_packet_end ( resource $packet_id )

Ends and returns the given WDDX packet.

Список параметров

packet_id

A WDDX packet, returned by wddx_packet_start().

Возвращаемые значения

Returns the string containing the WDDX packet.

wddx_deserialize
wddx_packet_start
WDDX Функции


Starts a new WDDX packet with structure inside it

wddx_packet_end
wddx_serialize_value
WDDX Функции
PHP Manual

wddx_packet_start

(PHP 4, PHP 5)

wddx_packet_start — Starts a new WDDX packet with structure inside it

Описание

resource wddx_packet_start ([ string $comment ] )

Start a new WDDX packet for incremental addition of variables. It automatically creates a structure definition inside the packet to contain the variables.

Список параметров

comment

An optional comment string.

Возвращаемые значения

Returns a packet ID for use in later functions, or FALSE on error.

wddx_packet_end
wddx_serialize_value
WDDX Функции


Serialize a single value into a WDDX packet

wddx_packet_start
wddx_serialize_vars
WDDX Функции
PHP Manual

wddx_serialize_value

(PHP 4, PHP 5)

wddx_serialize_value — Serialize a single value into a WDDX packet

Описание

string wddx_serialize_value ( mixed $var [, string $comment ] )

Creates a WDDX packet from a single given value.

Список параметров

var

The value to be serialized

comment

An optional comment string that appears in the packet header.

Возвращаемые значения

Returns the WDDX packet, or FALSE on error.

wddx_packet_start
wddx_serialize_vars
WDDX Функции


Serialize variables into a WDDX packet

wddx_serialize_value
XML-анализатор
WDDX Функции
PHP Manual

wddx_serialize_vars

(PHP 4, PHP 5)

wddx_serialize_vars — Serialize variables into a WDDX packet

Описание

string wddx_serialize_vars ( mixed $var_name [, mixed $... ] )

Creates a WDDX packet with a structure that contains the serialized representation of the passed variables.

Список параметров

This function takes a variable number of parameters.

var_name

Can be either a string naming a variable or an array containing strings naming the variables or another array, etc.

...

Возвращаемые значения

Returns the WDDX packet, or FALSE on error.

Примеры

Пример #1 wddx_serialize_vars() example

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

Результат выполнения данного примера:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>

wddx_serialize_value
XML-анализатор
WDDX Функции


XML-анализатор

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Event Handlers
  • Приведение к одному регистру
  • Коды ошибок
  • Character Encoding
  • Примеры
    • Пример Структуры Элемента XML
    • Пример отображения XML тегов
    • Пример использования внешних сущностей XML
  • Функции парсера XML
    • utf8_decode — Преобразует строку с ISO-8859-1 символами кодированную в UTF-8 в однобайтную ISO-8859-1
    • utf8_encode — Кодирует строку ISO-8859-1 в кодировке UTF-8
    • xml_error_string — Получение строки ошибки XML анализатора
    • xml_get_current_byte_index — Получает текущий для XML анализатора байтовый индекс
    • xml_get_current_column_number — Получает от XML парсера номер текущего столбца
    • xml_get_current_line_number — Получает от XML-парсера номер текущей строки
    • xml_get_error_code — Получает код ошибки XML-парсера
    • xml_parse_into_struct — Разбор XML данных и помещение в массив
    • xml_parse — Запускает разбор XML документа
    • xml_parser_create_ns — Создание XML анализатора с поддержкой пространств имен
    • xml_parser_create — Создание XML анализатора
    • xml_parser_free — Освобождение XML анализатора
    • xml_parser_get_option — Получение значения настройки XML анализатора
    • xml_parser_set_option — Установка значения настройки XML анализатора
    • xml_set_character_data_handler — Установка обработчика символьных данных
    • xml_set_default_handler — Установка обработчика по умолчанию
    • xml_set_element_handler — Установка обработчика начального и конечного элементов
    • xml_set_end_namespace_decl_handler — Установка обработчика выхода за пределы пространства имен
    • xml_set_external_entity_ref_handler — Установка обработчика внешних сущностей
    • xml_set_notation_decl_handler — Установка обработчика объявления условных обозначений
    • xml_set_object — Использование XML анализатора внутри объекта
    • xml_set_processing_instruction_handler — Установка обработчика инструкций препроцессора (PI)
    • xml_set_start_namespace_decl_handler — Установка обработчика входа в пределы пространства имен
    • xml_set_unparsed_entity_decl_handler — Установка обработчика неразобранных объявлений сущностей
wddx_serialize_vars
Введение
Обработка XML


Введение

XML (eXtensible Markup Language - расширяемый язык разметки) - это формат данных для обмена структурированными документами в всемирной сети. Данный стандарт определён Консорциумом Всемирной паутины (W3C). Информация об XML и связанных технологиях может быть найдена на » http://www.w3.org/XML/.

Данное PHP-расширение реализует поддержку библиотеки expat Джеймса Кларка в PHP. Данный инструментарий позволяет Вам анализировать, но не проверять XML-документы. Он поддерживает три кодировки символов исходного текста также поддерживаемых PHP: US-ASCII, ISO-8859-1 и UTF-8. UTF-16 не поддерживается.

Данное расширение позволит вам создавать XML-анализаторы и далее определить обработчики для различных событий. Каждый XML-анализатор также имеет несколько параметров, которые вы можете настраивать.

XML-анализатор
Установка и настройка
XML-анализатор


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XML-анализатор


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

Это расширение использует expat-совместимый слой по умолчанию. Также может быть использован expat, который может быть найден здесь: » http://www.jclark.com/xml/expat.html. Makefile, поставляемый с expat не создает библиотеку по умолчанию, вы можете использовать следующее правило для этого:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Исходный RPM пакет expat может быть найден здесь:» http://sourceforge.net/projects/expat/.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение включено по умолчанию. Оно может быть отключено во время выполнения с помощью следующей опции: --disable-xml

Эти функции включены по умолчанию при использовании стандартной библиотеки expat. Вы можете отключить поддержку XML с помощью --disable-xml . Если вы собрали PHP как модуль для Apache 1.3.9 или более поздней версии, PHP будет автоматически использовать стандартну библиотеку expat из Apache. В случае, если вы не хотите использовать стандартную библиотеку expat, то вам необходимо настроить PHP опцию --with-expat-dir=DIR , где DIR - путь до установочной директории библиотеки expat.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

XML-ресурс, возвращаемый xml_parser_create() и xml_parser_create_ns(), ссылается на сущность xml-парсера, чтобы иметь возможность использовать функции этого расширения.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)
XML_SAX_IMPL (string)
Устанвливает стандарт обработки SAX. Может быть libxml или expat.
Типы ресурсов
Event Handlers
XML-анализатор


Event Handlers

The XML event handlers defined are:

Supported XML handlers
PHP function to set handler | Event description
xml_set_element_handler() | Element events are issued whenever the XML parser encounters start or end tags. There are separate handlers for start tags and end tags.
xml_set_character_data_handler() | Character data is roughly all the non-markup contents of XML documents, including whitespace between tags. Note that the XML parser does not add or remove any whitespace, it is up to the application (you) to decide whether whitespace is significant.
xml_set_processing_instruction_handler() | PHP programmers should be familiar with processing instructions (PIs) already. <?php ?> is a processing instruction, where php is called the "PI target". The handling of these are application-specific, except that all PI targets starting with "XML" are reserved.
xml_set_default_handler() | What goes not to another handler goes to the default handler. You will get things like the XML and document type declarations in the default handler.
xml_set_unparsed_entity_decl_handler() | This handler will be called for declaration of an unparsed (NDATA) entity.
xml_set_notation_decl_handler() | This handler is called for declaration of a notation.
xml_set_external_entity_ref_handler() | This handler is called when the XML parser finds a reference to an external parsed general entity. This can be a reference to a file or URL, for example. See the external entity example for a demonstration.
xml_set_start_namespace_decl_handler() | This handler is called for the start of a namespace declaration.
xml_set_end_namespace_decl_handler() | This handler is called for the end of a namespace declaration. Note that this event is NOT under LibXML.

Предопределенные константы
Приведение к одному регистру
XML-анализатор


Приведение к одному регистру

Функции обработчиков элементов могут получать имена своих элементов приведенными к одному регистру. Приведение к одному регистру определяется как "процесс, применяемый к последовательности символов, когда символы, идентифицируемые как "не в верхнем регистре", заменяются своими эквивалентами верхнего регистра". Иначе говоря, когда речь идёт о XML, приведение к одному регистру означает перевод символов в верхний регистр.

По умолчанию имена всех элементов, передаваемые функциям обработчиков, передаются с выравниванием регистра. Такой режим может запрашиваться и контролироваться XML-парсером с помощью функций xml_parser_get_option() и xml_parser_set_option() соответственно.

Event Handlers
Коды ошибок
XML-анализатор


Коды ошибок

Следующие константы определены для кодов ошибок XML (возвращаемых функцией xml_parse()):

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING

Приведение к одному регистру
Character Encoding
XML-анализатор


Character Encoding

PHP's XML extension supports the » Unicode character set through different character encodings. There are two types of character encodings, source encoding and target encoding. PHP's internal representation of the document is always encoded with UTF-8.

Source encoding is done when an XML document is parsed. Upon creating an XML parser, a source encoding can be specified (this encoding can not be changed later in the XML parser's lifetime). The supported source encodings are ISO-8859-1, US-ASCII and UTF-8. The former two are single-byte encodings, which means that each character is represented by a single byte. UTF-8 can encode characters composed by a variable number of bits (up to 21) in one to four bytes. The default source encoding used by PHP is ISO-8859-1.

Target encoding is done when PHP passes data to XML handler functions. When an XML parser is created, the target encoding is set to the same as the source encoding, but this may be changed at any point. The target encoding will affect character data as well as tag names and processing instruction targets.

If the XML parser encounters characters outside the range that its source encoding is capable of representing, it will return an error.

If PHP encounters characters in the parsed XML document that can not be represented in the chosen target encoding, the problem characters will be "demoted". Currently, this means that such characters are replaced by a question mark.

Коды ошибок
Примеры
XML-анализатор


Примеры

Содержание

  • Пример Структуры Элемента XML
  • Пример отображения XML тегов
  • Пример использования внешних сущностей XML
Character Encoding
Пример Структуры Элемента XML
XML-анализатор


Пример Структуры Элемента XML

Первый пример отображает структуру начальных элементов в документе с отступом.

Пример #1 Показать структуру элемента XML

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("Невозможно произвести чтение XML");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("Ошибка XML: %s на строке %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Примеры
Пример отображения XML тегов
Примеры


Пример отображения XML тегов

Пример #1 Отображение XML в HTML

Этот пример отображает теги XML документа непосредственно в HTML тегах. Элементы не найденные в "массиве отображения" игнорируются. Конечно, этот пример будет работать только с определенным типом документа XML.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("Невозможно произвести чтение XML");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Пример Структуры Элемента XML
Пример использования внешних сущностей XML
Примеры


Пример использования внешних сущностей XML

Этот пример подсвечивает код XML. Он иллюстрирует то, как необходимо использовать обработчик ссылки на внешнюю сущность для подключения и разбора содержимого внешних файлов, так же как может быть обработан PI, и путь для определения "доверия" к коду, содержащемуся в PI.

XML документы, которые используются в примере расположены под самим примером (xmltest.xml и xmltest2.xml.)

Пример #1 Пример использования внешней сущности

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // доверять только нашим собственным локальным файлам
    if (!preg_match("@^([a-z]+)\:\/\/@i", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // Если обработанный документ является "доверенным", то можно сказать,
            // что запуск расположенного в нем кода является безопасным. Если нет,
            // то вместо запуска отобразить сам код.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Небезопасный код PHP: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Невозможно открыть сущность %s в %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("Ошибка XML: %s в строке %d в процессе разбора сущности %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("Чтение XML-файла невозможно");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("Ошибка XML: %s в строке %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "разбор завершен\n";
xml_parser_free($xml_parser);

?>

Пример #2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php echo 'Hi!  This is PHP version ' . phpversion(); ?>
  </para>
 </section>
</chapter>

Этот файл подключен из xmltest.xml:

Пример #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "Здесь запущен некий код PHP"; ?>
</foo>

Пример отображения XML тегов
Функции парсера XML
Примеры


Функции парсера XML

Содержание

  • utf8_decode — Преобразует строку с ISO-8859-1 символами кодированную в UTF-8 в однобайтную ISO-8859-1
  • utf8_encode — Кодирует строку ISO-8859-1 в кодировке UTF-8
  • xml_error_string — Получение строки ошибки XML анализатора
  • xml_get_current_byte_index — Получает текущий для XML анализатора байтовый индекс
  • xml_get_current_column_number — Получает от XML парсера номер текущего столбца
  • xml_get_current_line_number — Получает от XML-парсера номер текущей строки
  • xml_get_error_code — Получает код ошибки XML-парсера
  • xml_parse_into_struct — Разбор XML данных и помещение в массив
  • xml_parse — Запускает разбор XML документа
  • xml_parser_create_ns — Создание XML анализатора с поддержкой пространств имен
  • xml_parser_create — Создание XML анализатора
  • xml_parser_free — Освобождение XML анализатора
  • xml_parser_get_option — Получение значения настройки XML анализатора
  • xml_parser_set_option — Установка значения настройки XML анализатора
  • xml_set_character_data_handler — Установка обработчика символьных данных
  • xml_set_default_handler — Установка обработчика по умолчанию
  • xml_set_element_handler — Установка обработчика начального и конечного элементов
  • xml_set_end_namespace_decl_handler — Установка обработчика выхода за пределы пространства имен
  • xml_set_external_entity_ref_handler — Установка обработчика внешних сущностей
  • xml_set_notation_decl_handler — Установка обработчика объявления условных обозначений
  • xml_set_object — Использование XML анализатора внутри объекта
  • xml_set_processing_instruction_handler — Установка обработчика инструкций препроцессора (PI)
  • xml_set_start_namespace_decl_handler — Установка обработчика входа в пределы пространства имен
  • xml_set_unparsed_entity_decl_handler — Установка обработчика неразобранных объявлений сущностей
Пример использования внешних сущностей XML
utf8_decode
XML-анализатор


Преобразует строку с ISO-8859-1 символами кодированную в UTF-8 в однобайтную ISO-8859-1

Функции парсера XML
utf8_encode
Функции парсера XML
PHP Manual

utf8_decode

(PHP 4, PHP 5)

utf8_decode — Преобразует строку с ISO-8859-1 символами кодированную в UTF-8 в однобайтную ISO-8859-1

Описание

string utf8_decode ( string $data )

Эта функция декодирует data, предположительно закодированные в UTF-8, в ISO-8859-1.

Список параметров

data

Строка закодированная в UTF-8.

Возвращаемые значения

Возвращает данные data, переведенные в ISO-8859-1.

Смотрите также

  • utf8_encode() - Кодирует строку ISO-8859-1 в кодировке UTF-8 (содержит описание UTF-8)

Функции парсера XML
utf8_encode
Функции парсера XML


Кодирует строку ISO-8859-1 в кодировке UTF-8

utf8_decode
xml_error_string
Функции парсера XML
PHP Manual

utf8_encode

(PHP 4, PHP 5)

utf8_encode — Кодирует строку ISO-8859-1 в кодировке UTF-8

Описание

string utf8_encode ( string $data )

Эта функция кодирует строку data кодировкой UTF-8, и возвращает закодированный вариант. UTF-8 - стандартный механизм, используемый в Unicode для кодирования wide character значений в поток байтов. UTF-8 не оказывает влияния на незашифрованные ASCII символы, он самосинхронизирующийся (это значит, что программно можно вычислить, где в потоке байт начинаются символы) и может использоваться функциями сравнения строк для сортировки и подобных задач.PHP кодирует UTF-8 символы в 4 байта, как показано ниже:

UTF-8 encoding
байты | биты | представление
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
Каждая b представляет бит, который может быть использован для хранения данных символа.

Список параметров

data

ISO-8859-1 строка.

Возвращаемые значения

Возвращает UTF-8 перевод данных data.

utf8_decode
xml_error_string
Функции парсера XML


Получение строки ошибки XML анализатора

utf8_encode
xml_get_current_byte_index
Функции парсера XML
PHP Manual

xml_error_string

(PHP 4, PHP 5)

xml_error_string — Получение строки ошибки XML анализатора

Описание

string xml_error_string ( int $code )

Получение строкового представления ошибки XML анализатора в соответствии с переданным кодом ошибки code.

Список параметров

code

Код ошибки, возвращаемый функцией xml_get_error_code().

Возвращаемые значения

Возвращает строку с текстовым описанием кода ошибки code или FALSE, если описания не найдено.

Смотрите также

  • xml_get_error_code() - Получает код ошибки XML-парсера

utf8_encode
xml_get_current_byte_index
Функции парсера XML


Получает текущий для XML анализатора байтовый индекс

xml_error_string
xml_get_current_column_number
Функции парсера XML
PHP Manual

xml_get_current_byte_index

(PHP 4, PHP 5)

xml_get_current_byte_index — Получает текущий для XML анализатора байтовый индекс

Описание

int xml_get_current_byte_index ( resource $parser )

Получает текущий для заданного XML анализатора байтовый индекс.

Список параметров

parser

Ссылка на XML анализатор, из которого будет получен индекс байта.

Возвращаемые значения

Эта функция вернет FALSE, если аргумент parser не ссылается на допустимый анализатор, в противном случае она возвращает индекс байта в буфере данных анализатора, на котором он находится в данный момент (начиная с нуля).

Примечания

Внимание

Эта функция возвращает байтовый индекс, считая, что текст закодирован в UTF-8. Смена кодировки не повлияет на вывод функции.

Смотрите также

  • xml_get_current_column_number() - Получает от XML парсера номер текущего столбца
  • xml_get_current_line_number() - Получает от XML-парсера номер текущей строки

xml_error_string
xml_get_current_column_number
Функции парсера XML


Получает от XML парсера номер текущего столбца

xml_get_current_byte_index
xml_get_current_line_number
Функции парсера XML
PHP Manual

xml_get_current_column_number

(PHP 4, PHP 5)

xml_get_current_column_number — Получает от XML парсера номер текущего столбца

Описание

int xml_get_current_column_number ( resource $parser )

Получает текущий номер столбца заданного XML парсера.

Список параметров

parser

Ссылка на парсер XML для получения номера столбца.

Возвращаемые значения

Эта функция возвращает FALSE, если ссылка параметра parser не ведет к действующему парсеру, или же возвращает номер столбца на текущей строке (определенной с помощью xml_get_current_line_number()) согласно текущему положению указателя парсера.

Смотрите также

  • xml_get_current_byte_index() - Получает текущий для XML анализатора байтовый индекс
  • xml_get_current_line_number() - Получает от XML-парсера номер текущей строки

xml_get_current_byte_index
xml_get_current_line_number
Функции парсера XML


Получает от XML-парсера номер текущей строки

xml_get_current_column_number
xml_get_error_code
Функции парсера XML
PHP Manual

xml_get_current_line_number

(PHP 4, PHP 5)

xml_get_current_line_number — Получает от XML-парсера номер текущей строки

Описание

int xml_get_current_line_number ( resource $parser )

Получает текущий номер строки для заданного XML-парсера.

Список параметров

parser

Ссылка на парсер XML для получения номера строки.

Возвращаемые значения

Эта функция возвращает FALSE, если ссылка параметра parser не ведет к действующему парсеру, или же возвращает номер строки согласно текущему положению указателя парсера.

Смотрите также

  • xml_get_current_column_number() - Получает от XML парсера номер текущего столбца
  • xml_get_current_byte_index() - Получает текущий для XML анализатора байтовый индекс

xml_get_current_column_number
xml_get_error_code
Функции парсера XML


Получает код ошибки XML-парсера

xml_get_current_line_number
xml_parse_into_struct
Функции парсера XML
PHP Manual

xml_get_error_code

(PHP 4, PHP 5)

xml_get_error_code — Получает код ошибки XML-парсера

Описание

int xml_get_error_code ( resource $parser )

Получает код ошибки XML-парсера.

Список параметров

parser

Ссылка на парсер XML для получения кода ошибки.

Возвращаемые значения

Эта функция возвращает FALSE, если ссылка параметра parser не ведет к действующему парсеру, или же возвращает один из кодов ошибок из списка, расположенного в разделе кодов ошибок.

Смотрите также

  • xml_error_string() - Получение строки ошибки XML анализатора

xml_get_current_line_number
xml_parse_into_struct
Функции парсера XML


Разбор XML данных и помещение в массив

xml_get_error_code
xml_parse
Функции парсера XML
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_struct — Разбор XML данных и помещение в массив

Описание

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

Эта функция разбирает XML строку и помещает данные в 2 массива. Массив index содержит указатели на размещение значений в массиве values. Аргументы, задающие массивы, должны передаваться в функцию по ссылке.

Список параметров

parser

Ссылка на используемый XML анализатор.

data

Строка XML данных.

values

Массив значений XML данных.

index

Массив указателей на соответствующие значения в массиве $values.

Возвращаемые значения

xml_parse_into_struct() возвращает 0 при неудачном разборе строки и 1 при успешном. Это не тоже самое, что FALSE и TRUE, будьте осторожны с такими операторами, как ===.

Примеры

Ниже представлен пример, демонстрирующий внутреннее устройство массивов, генерируемых функцией. XML строка содержит простой тэг note вложенный в тэг para. Программа в примере разбирает эту строку и выводит построенные массивы:

Пример #1 Пример использования xml_parse_into_struct()

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nМассив Vals\n";
print_r($vals);
?>

После обработки программа выведет следующее:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Массив Vals
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Управляемый событиями разбор(основанный на expat библиотеке) может дать труднообрабатываемый результат в случае, если разбирается составной XML документ. Эта функция не создает DOM объектов, но создаваемые ею массивы можно преобразовать в древовидную структуру впоследствии. Таким образом можно довольно просто создавать объекты, представляющие содержимое XML файла. Предположим, что следующий XML файл представляет небольшую базу данных с информацией об аминокислотах:

Пример #2 moldb.xml - небольшая база данных с информацией о молекулах

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
Код, разбирающий документ и создающий подходящие объекты:

Пример #3 parsemoldb.php - разбирает moldb.xml и помещает данные в массив молекул

<?php

class AminoAcid {
    var $name;  // название аминокислоты
    var $symbol;    // трехбуквенное обозначение
    var $code;  // однобуквенный код
    var $type;  // гидрофобная, заряженная, нейтральная

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // чтение XML базы данных аминокислот
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // проход через структуры
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // каждая смежная пара значений массивов является верхней и
            // нижней границей определения молекулы
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** База данных аминокислот:\n";
print_r($db);

?>
После выполнения parsemoldb.php переменная $db содержит массив объектов AminoAcid, а вывод соответственно следующий:
** База данных аминокислот:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

xml_get_error_code
xml_parse
Функции парсера XML


Запускает разбор XML документа

xml_parse_into_struct
xml_parser_create_ns
Функции парсера XML
PHP Manual

xml_parse

(PHP 4, PHP 5)

xml_parse — Запускает разбор XML документа

Описание

int xml_parse ( resource $parser , string $data [, bool $is_final = false ] )

xml_parse() разбирает XML документ. Обработчики запрограммированных событий вызываются столько раз, сколько необходимо.

Список параметров

parser

Ссылка на используемый XML анализатор.

data

Часть данных для разбора. Документ можно разбирать по частям, вызывая функцию xml_parse() несколько раз с новыми данными, пока аргумент is_final не будет установлен в TRUE, это сообщит анализатору, что разбирается последняя часть документа.

is_final

Если задан и установлен в TRUE, data считается последней частью в этом разборе.

Возвращаемые значения

Возвращает 1 при успешном завершении, 0 в противном случае.

В случае неудачного разбора информацию об ошибках можно получить с помощью
функций xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() и
xml_get_current_byte_index().

Замечание:

Ошибки при разборе сущностей выдаются в конце разбора, их можно получить только когда is_final установлен в TRUE.

xml_parse_into_struct
xml_parser_create_ns
Функции парсера XML


Создание XML анализатора с поддержкой пространств имен

xml_parse
xml_parser_create
Функции парсера XML
PHP Manual

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns — Создание XML анализатора с поддержкой пространств имен

Описание

resource xml_parser_create_ns ([ string $encoding [, string $separator = ':' ]] )

xml_parser_create_ns() создает новый XML анализатор с поддержкой пространств имен и возвращает ссылающийся на него ресурс, который можно использовать в других XML функциях.

Список параметров

encoding

Необязательный аргумент encoding задает кодировку символов для ввода/вывода в PHP 4. Начиная с PHP 5, кодировка входных данных определяется автоматически, а encoding задает кодировку только для выводимых данных. В PHP 4 кодировка по умолчанию для выходных данных та же, что и входных. Если передается пустая строка, анализатор попытается определить кодировку, просматривая первые 3 или 4 байта. В PHP 5.0.0 и 5.0.1 кодировка по умолчанию ISO-8859-1. Для версий PHP 5.0.2 и выше - UTF-8. Список поддерживаемых кодировок: ISO-8859-1, UTF-8 и US-ASCII.

separator

Если сообщить анализатору пространство имен, то параметры тэгов, передающиеся в различные обработчики будут состоять из пространства имен и локального имени, отделенных заданным в этом аргументе разделителем seperator.

Возвращаемые значения

Возвращает ресурс созданного XML анализатора.

Смотрите также

  • xml_parser_create() - Создание XML анализатора
  • xml_parser_free() - Освобождение XML анализатора

xml_parse
xml_parser_create
Функции парсера XML


Создание XML анализатора

xml_parser_create_ns
xml_parser_free
Функции парсера XML
PHP Manual

xml_parser_create

(PHP 4, PHP 5)

xml_parser_create — Создание XML анализатора

Описание

resource xml_parser_create ([ string $encoding ] )

xml_parser_create() создает новый XML анализатор и возвращает ссылающийся на него ресурс, который можно использовать в других XML функциях.

Список параметров

encoding

Необязательный аргумент encoding задает кодировку символов для ввода/вывода в PHP 4. Начиная с PHP 5, кодировка входных данных определяется автоматически, а encoding задает кодировку только для выводимых данных. В PHP 4 кодировка по умолчанию для выходных данных та же, что и входных. Если передается пустая строка, анализатор попытается определить кодировку, просматривая первые 3 или 4 байта. В PHP 5.0.0 и 5.0.1 кодировка по умолчанию ISO-8859-1. Для версий PHP 5.0.2 и выше - UTF-8. Список поддерживаемых кодировок: ISO-8859-1, UTF-8 и US-ASCII.

Возвращаемые значения

Возвращает ресурс созданного XML анализатора.

Смотрите также

  • xml_parser_create_ns() - Создание XML анализатора с поддержкой пространств имен
  • xml_parser_free() - Освобождение XML анализатора

xml_parser_create_ns
xml_parser_free
Функции парсера XML


Освобождение XML анализатора

xml_parser_create
xml_parser_get_option
Функции парсера XML
PHP Manual

xml_parser_free

(PHP 4, PHP 5)

xml_parser_free — Освобождение XML анализатора

Описание

bool xml_parser_free ( resource $parser )

Освобождает память, занятую XML анализатором parser.

Список параметров

parser
Ссылка на очищаемый XML анализатор.

Возвращаемые значения

Эта функция возвращает FALSE, если parser ссылается на недопустимый анализатор, в остальных случаях она очищает анализатор и возвращает TRUE.

xml_parser_create
xml_parser_get_option
Функции парсера XML


Получение значения настройки XML анализатора

xml_parser_free
xml_parser_set_option
Функции парсера XML
PHP Manual

xml_parser_get_option

(PHP 4, PHP 5)

xml_parser_get_option — Получение значения настройки XML анализатора

Описание

mixed xml_parser_get_option ( resource $parser , int $option )

Получает значение настройки XML анализатора.

Список параметров

parser
Ссылка на XML анализатор, настройку которого требуется получить.
option
Какую настройку получить. Доступны следующие настройки XML_OPTION_CASE_FOLDING и XML_OPTION_TARGET_ENCODING. Их описание смотрите в документации к функции xml_parser_set_option().

Возвращаемые значения

Эта функция возвращает FALSE, если parser ссылается на недопустимый анализатор или если option имеет недопустимое значение (в этом случает выбрасывается предупреждение E_WARNING). В остальных случаях возвращается значение настройки.

xml_parser_free
xml_parser_set_option
Функции парсера XML


Установка значения настройки XML анализатора

xml_parser_get_option
xml_set_character_data_handler
Функции парсера XML
PHP Manual

xml_parser_set_option

(PHP 4, PHP 5)

xml_parser_set_option — Установка значения настройки XML анализатора

Описание

bool xml_parser_set_option ( resource $parser , int $option , mixed $value )

Устанавливает значение настройки XML анализатора.

Список параметров

parser

Ссылка на XML анализатор.

option

Какую настройку требуется установить. См. ниже.

Доступны следующие настройки:

Настройки XML анализатора
Константа | Тип данных | Описание
XML_OPTION_CASE_FOLDING | integer | Требуется ли включить case-folding для этого анализатора. Включено по умолчанию.
XML_OPTION_SKIP_TAGSTART | integer | Задает количество символов с начала имени тэга, которые следует пропустить.
XML_OPTION_SKIP_WHITE | integer | Требуется ли пропускать значения, состоящие из пробелов.
XML_OPTION_TARGET_ENCODING | string | Устанавливает кодировку, которая будет использоваться XML анализатором. По умолчанию используется кодировка заданная при вызове функции xml_parser_create(). Поддерживаются кодировки ISO-8859-1, US-ASCII и UTF-8.

value

Новое значение настройки.

Возвращаемые значения

Функция возвращает FALSE, если parser ссылается на недопустимый анализатор или если настройка не может быть установлена. В противном случае устанавливается новое значение настройки и возвращается значение TRUE.

xml_parser_get_option
xml_set_character_data_handler
Функции парсера XML


Установка обработчика символьных данных

xml_parser_set_option
xml_set_default_handler
Функции парсера XML
PHP Manual

xml_set_character_data_handler

(PHP 4, PHP 5)

xml_set_character_data_handler — Установка обработчика символьных данных

Описание

bool xml_set_character_data_handler ( resource $parser , callback $handler )

Устанавливает обработчик символьных данных для заданного XML анализатора parser.

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать два аргумента:

handler ( resource $parser , string $data )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
data
Второй аргумент data должен содержать данные в виде текстовой строки.

Обработчик символьных данных вызывается для каждого фрагмента текста в XML документе. Он также может вызываться несколько раз внутри каждого фрагмента (например для не-ASCII строк).

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_parser_set_option
xml_set_default_handler
Функции парсера XML


Установка обработчика по умолчанию

xml_set_character_data_handler
xml_set_element_handler
Функции парсера XML
PHP Manual

xml_set_default_handler

(PHP 4, PHP 5)

xml_set_default_handler — Установка обработчика по умолчанию

Описание

bool xml_set_default_handler ( resource $parser , callback $handler )

Задает обработчик по умолчанию для XML анализатора parser.

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать два аргумента:

handler ( resource $parser , string $data )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
data
Второй аргумент dataдолжен содержать символьные данные. Это может быть XML объявление, объявление типа документа, сущности или другие данные, для которых еще нет обработчика.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_character_data_handler
xml_set_element_handler
Функции парсера XML


Установка обработчика начального и конечного элементов

xml_set_default_handler
xml_set_end_namespace_decl_handler
Функции парсера XML
PHP Manual

xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler — Установка обработчика начального и конечного элементов

Описание

bool xml_set_element_handler ( resource $parser , callback $start_element_handler , callback $end_element_handler )

Устанавливает функцию обработчик элементов для XML анализатора parser. start_element_handler и end_element_handler - строки, содержащие имена функций, которые должны быть определены на момент вызова функции xml_parse() из анализатора parser.

Список параметров

parser

Ссылка на XML анализатор.

start_element_handler

Функция с именем start_element_handler должна принимать три аргумента:

start_element_handler ( resource $parser , string $name , array $attribs )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
name
Второй аргумент name содержит имя элемента, для которого этот обработчик вызывается. Если настройка case-folding включена для этого анализатора, имя элемента будет в верхнем регистре.
attribs
Третий аргумент attribs содержит ассоциативный массив с атрибутами элемента (если есть). Индексами этого массива будут имена атрибутов, а значения массива будут соответствовать значениям атрибутов. Имена атрибутов должны быть приведены к регистру в соответствии с теми же критериями, что и имена элементов. Значения атрибутов не приводятся к какому-либо регистру. Атрибуты извлекаются из элемента в порядке прямого обхода по attribs, используя функцию each().Первый индекс в массиве соответствует первому атрибуту и так далее.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

end_element_handler

Функция с именем end_element_handler должна принимать два аргумента:

end_element_handler ( resource $parser , string $name )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
name
Второй аргумент name содержит имя элемента, для которого этот обработчик вызывается. Если настройка case-folding включена для этого анализатора, имя элемента будет в верхнем регистре.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_default_handler
xml_set_end_namespace_decl_handler
Функции парсера XML


Установка обработчика выхода за пределы пространства имен

xml_set_element_handler
xml_set_external_entity_ref_handler
Функции парсера XML
PHP Manual

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler — Установка обработчика выхода за пределы пространства имен

Описание

bool xml_set_end_namespace_decl_handler ( resource $parser , callback $handler )

Задает обработчик, который вызывается при выходе за пределы объявления пространства имен. Этот обработчик будет вызываться для каждого объявления пространства имен после того как отработает обработчик окончания элемента, в котором это пространство имен было объявлено.

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать два аргумента и возвращать целочисленный результат. Если обработчик вернет FALSE (равно как и ничего не вернет), XML анализатор прекратит работу, а функция xml_get_error_code() будет возвращать константу XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
prefix
Префикс - строка, используемая как ссылка на пространство имен в пределах XML объекта.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание:

Это событие не поддерживается LibXML.

Смотрите также

  • xml_set_start_namespace_decl_handler() - Установка обработчика входа в пределы пространства имен

xml_set_element_handler
xml_set_external_entity_ref_handler
Функции парсера XML


Установка обработчика внешних сущностей

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Функции парсера XML
PHP Manual

xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler — Установка обработчика внешних сущностей

Описание

bool xml_set_external_entity_ref_handler ( resource $parser , callback $handler )

Задает функцию обработчик внешних сущностей для XML анализатора parser.

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать пять аргументов и возвращать целочисленный результат. Если обработчик вернет FALSE (равно как и ничего не вернет), XML анализатор прекратит работу, а функция xml_get_error_code() будет возвращать константу XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
open_entity_names
Второй аргумент open_entity_names - список разделенных пробелами имен сущностей, которые могут участвовать в разборе текущей сущности (включая текущую сущность).
base
Это основа для разрешения системного идентификатора (system_id) внешней сущности. На данный момент в качестве этого аргумента всегда передается пустая строка.
system_id
Четвертый аргумент system_id - системный идентификатор в том виде, как он представлен в объявлении сущности.
public_id
Пятый аргумент public_id - общедоступный идентификатор в том виде, как он представлен в объявлении сущности, либо пустая строка, если такового нет; пробелы в идентификаторе будут нормализованы в соответствии с требованиями XML спецификации.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Функции парсера XML


Установка обработчика объявления условных обозначений

xml_set_external_entity_ref_handler
xml_set_object
Функции парсера XML
PHP Manual

xml_set_notation_decl_handler

(PHP 4, PHP 5)

xml_set_notation_decl_handler — Установка обработчика объявления условных обозначений

Описание

bool xml_set_notation_decl_handler ( resource $parser , callback $handler )

Задает обработчик объявления обозначений для XML анализатора parser.

Раздел объявления обозначений является частью DTD документа и имеет следующий формат:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
См. » раздел 4.7 спецификации XML 1.0 для более полного описания обозначений (нотаций).

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать пять аргументов:

handler ( resource $parser , string $notation_name , string $base , string $system_id , string $public_id )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
notation_name
Имя обозначения name в том же виде, как описано выше.
base
Это основа для разрешения системного идентификатора (system_id) внешней сущности. На данный момент в качестве этого аргумента всегда передается пустая строка.
system_id
Системный идентификатор объявления внешнего обозначения.
public_id
Общедоступный идентификатор объявления внешнего обозначения.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_external_entity_ref_handler
xml_set_object
Функции парсера XML


Использование XML анализатора внутри объекта

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Функции парсера XML
PHP Manual

xml_set_object

(PHP 4, PHP 5)

xml_set_object — Использование XML анализатора внутри объекта

Описание

bool xml_set_object ( resource $parser , object &$object )

Эта функция позволяет использовать parser внутри объекта object. Все callback-функции могут быть установлены функциями xml_set_element_handler() и т.п. и использоваться как методы объекта object.

Список параметров

parser

Ссылка на XML анализатор.

object

Объект, в котором будет использоваться XML анализатор.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования xml_set_object()

<?php
class xml  {
    var $parser;

    function xml()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($parser, $tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($parser, $cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($parser, $tag);
    }

} // окончание определения класса xml

$xml_parser = new xml();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Функции парсера XML


Установка обработчика инструкций препроцессора (PI)

xml_set_object
xml_set_start_namespace_decl_handler
Функции парсера XML
PHP Manual

xml_set_processing_instruction_handler

(PHP 4, PHP 5)

xml_set_processing_instruction_handler — Установка обработчика инструкций препроцессора (PI)

Описание

bool xml_set_processing_instruction_handler ( resource $parser , callback $handler )

Задает обработчик инструкций препроцессора (PI) для XML анализатора. parser.

Инструкции имеют следующий формат:

<?
target data
?>
Можно вставлять PHP код в тело тэга, но есть одно ограничение: завершающий тэг инструкций (?>) нельзя заключать в кавычки, таким образом эта последовательность символов не должна встречаться в PHP коде, который вы вставляете посредством PI в XML документы. Если это произойдет, остаток PHP кода будет воспринят как простые символьные данные.

Список параметров

parser

Ссылка на XML анализатор, для которого устанавливается обработчик.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать три аргумента:

handler ( resource $parser , string $target , string $data )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
target
Второй аргумент target содержит цель применения PI.
data
Третий аргумент data содержит PI данные.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_object
xml_set_start_namespace_decl_handler
Функции парсера XML


Установка обработчика входа в пределы пространства имен

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Функции парсера XML
PHP Manual

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler — Установка обработчика входа в пределы пространства имен

Описание

bool xml_set_start_namespace_decl_handler ( resource $parser , callback $handler )

Задает обработчик события входа в пространство имен. То есть обработчик вызывается анализатор находит объявление пространства имен. Подобные объявления находятся в открывающих тэгах элементов. Этот обработчик вызывается до обработчика начала тэга.

Список параметров

parser

Ссылка на XML анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать три аргумента и возвращать целочисленный результат. Если обработчик вернет FALSE (равно как и ничего не вернет), XML анализатор прекратит работу, а функция xml_get_error_code() будет возвращать константу XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix , string $uri )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
prefix
Префикс - строка, используемая как ссылка на пространство имен в пределах XML объекта.
uri
Универсальный идентификатор ресурса (URI) пространства имен.

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xml_set_end_namespace_decl_handler() - Установка обработчика выхода за пределы пространства имен

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Функции парсера XML


Установка обработчика неразобранных объявлений сущностей

xml_set_start_namespace_decl_handler
XMLReader
Функции парсера XML
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler — Установка обработчика неразобранных объявлений сущностей

Описание

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callback $handler )

Задает функцию обработчик неразобранных объявлений сущностей для XML анализатора parser.

Обработчик handler будет вызван, если XML анализатор обнаружит NDATA объявление внешней сущности вида:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

См. » раздел 4.2.2 XML 1.0 спецификации, чтобы получить точное определение обозначений внешних сущностей.

Список параметров

parser

Ссылка на XML анализатор для которого задается обработчик.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать шесть аргументов:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
Первый аргумент parser является ссылкой на XML анализатор вызывающий обработчик.
entity_name
Имя сущности, которой требуется дать определение.
base
Это основа для разрешения системного идентификатора (system_id) внешней сущности. На данный момент в качестве этого аргумента всегда передается пустая строка.
system_id
Системный идентификатор внешней сущности.
public_id
Общедоступный идентификатор внешней сущности.
notation_name
Имя обозначения этой сущности (см. xml_set_notation_decl_handler()).

Если в качестве обработчика передана пустая строка или FALSE, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_start_namespace_decl_handler
XMLReader
Функции парсера XML


XMLReader

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • XMLReader — Класс XMLReader
    • XMLReader::close — Закрыть ввод XMLReader
    • XMLReader::expand — Возвратить копию текущего узла в виде объекта DOM
    • XMLReader::getAttribute — Получить значение атрибута с определённым именем
    • XMLReader::getAttributeNo — Получить значение атрибута по индексу
    • XMLReader::getAttributeNs — Получить значение атрибута по localname и URI
    • XMLReader::getParserProperty — Указывает, было ли определенное свойство установлено
    • XMLReader::isValid — Показать, является ли разбираемый документ синтаксически правильным
    • XMLReader::lookupNamespace — Найти пространство имён для префикса
    • XMLReader::moveToAttribute — Переместить курсор к атрибуту с заданным именем
    • XMLReader::moveToAttributeNo — Переместить курсор на атрибут по индексу
    • XMLReader::moveToAttributeNs — Переместить курсор к именованному атрибуту
    • XMLReader::moveToElement — Позиционировать курсор на родительском элементе текущего атрибута
    • XMLReader::moveToFirstAttribute — Переместить позицию курсора на первый атрибут
    • XMLReader::moveToNextAttribute — Переместить позицию курсора на следующий атрибут
    • XMLReader::next — Переместить курсор на следующий узел, пропуская все поддеревья
    • XMLReader::open — Установить URI, содержащий XML-документ для разобора
    • XMLReader::read — Переместиться к следующему узлу в документе
    • XMLReader::readInnerXML — Извлечь XML из текущего узла
    • XMLReader::readOuterXML — Получить XML из текущего узла, включая сам узел
    • XMLReader::readString — Прочитать содержимое текущего узла как строку
    • XMLReader::setParserProperty — Устанавливает опцию парсера
    • XMLReader::setRelaxNGSchema — Устанавить имя файла или URI для схемы RelaxNG
    • XMLReader::setRelaxNGSchemaSource — Устанавливает данные, содержащие схему RelaxNG
    • XMLReader::setSchema — Проверить документ, используя XSD
    • XMLReader::XML — Установить данные, содержащие XML для разбора
xml_set_unparsed_entity_decl_handler
Введение
Обработка XML


Введение

Расширение XMLReader - синтаксический анализатор XML. Класс-читатель выступает в качестве курсора, следует по потоку документа и останавливается на каждом узле на этом пути.

Кодировка

Важно отметить, что библиотека libxml внутри использует кодировку UTF-8 и, таким образом, кодировка извлекаемого содержимого всегда будет в кодировке UTF-8.

XMLReader
Установка и настройка
XMLReader


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XMLReader


Установка

Расширение XMLReader доступно в PECL с версии PHP 5.0.0 и начиная с PHP 5.1.0 доступно по умолчанию. Оно может быть включено добавлением опции --enable-xmlreader (или --with-xmlreader до 5.1.0) к конфигурационной строке.

Это расширение включено по умолчанию. Оно может быть отключено во время выполнения с помощью следующей опции: --disable-xmlreader

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
XMLReader
Установка и настройка


Класс XMLReader

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Расширение XMLReader - синтаксический анализатор XML. Класс-читатель выступает в качестве курсора, следует по потоку документа и останавливается на каждом узле на этом пути.

Обзор классов

XMLReader {
/* Константы */
const int NONE = 0 ;
const int ELEMENT = 1 ;
const int ATTRIBUTE = 2 ;
const int TEXT = 3 ;
const int CDATA = 4 ;
const int ENTITY_REF = 5 ;
const int ENTITY = 6 ;
const int PI = 7 ;
const int COMMENT = 8 ;
const int DOC = 9 ;
const int DOC_TYPE = 10 ;
const int DOC_FRAGMENT = 11 ;
const int NOTATION = 12 ;
const int WHITESPACE = 13 ;
const int SIGNIFICANT_WHITESPACE = 14 ;
const int END_ELEMENT = 15 ;
const int END_ENTITY = 16 ;
const int XML_DECLARATION = 17 ;
const int LOADDTD = 1 ;
const int DEFAULTATTRS = 2 ;
const int VALIDATE = 3 ;
const int SUBST_ENTITIES = 4 ;
/* Свойства */
public readonly int $XMLReader->attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Методы */
bool XMLReader::close ( void )
DOMNode XMLReader::expand ([ DOMNode $basenode ] )
string XMLReader::getAttribute ( string $name )
string XMLReader::getAttributeNo ( int $index )
string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )
bool XMLReader::getParserProperty ( int $property )
bool XMLReader::isValid ( void )
bool XMLReader::lookupNamespace ( string $prefix )
bool XMLReader::moveToAttribute ( string $name )
bool XMLReader::moveToAttributeNo ( int $index )
bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )
bool XMLReader::moveToElement ( void )
bool XMLReader::moveToFirstAttribute ( void )
bool XMLReader::moveToNextAttribute ( void )
bool XMLReader::next ([ string $localname ] )
bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )
bool XMLReader::read ( void )
string XMLReader::readInnerXML ( void )
string XMLReader::readOuterXML ( void )
string XMLReader::readString ( void )
bool XMLReader::setParserProperty ( int $property , bool $value )
bool XMLReader::setRelaxNGSchema ( string $filename )
bool XMLReader::setRelaxNGSchemaSource ( string $source )
bool XMLReader::setSchema ( string $filename )
bool XMLReader::xml ( string $source [, string $encoding [, int $options = 0 ]] )
}

Свойства

attributeCount

Количество атрибутов в узле

baseURI

Базовый URI узла

depth

Глубина узла в дереве, начиная с 0

hasAttributes

Показывает, есть ли у узла атрибуты

hasValue

Показывает, имеет ли узел текстовое значение

isDefault

Показывает, является ли атрибутом по умолчанию из DTD

isEmptyElement

Показывает, является ли узел пустым тегом

localName

Локальное имя узла

name

Полностью определенное имя узла

namespaceURI

URI пространства имён связанный с узлом

nodeType

Тип узла

prefix

Префикс пространства имён связанный с узлом

value

Текстовое значение узла

xmlLang

Контекст xml:lang, в котором находится узел

Предопределенные константы

Типы узлов XMLReader

XMLReader::NONE

Нет типа узла

XMLReader::ELEMENT

Начальный элемент

XMLReader::ATTRIBUTE

Узел атрибута

XMLReader::TEXT

Текстовый узел

XMLReader::CDATA

Узел CDATA

XMLReader::ENTITY_REF

Узел ссылки на сущность

XMLReader::ENTITY

Узел объявления объекта

XMLReader::PI

Узел инструкций обработки

XMLReader::COMMENT

Узел комментария

XMLReader::DOC

Узел документа

XMLReader::DOC_TYPE

Узел типа документа

XMLReader::DOC_FRAGMENT

Узел фрагмента документа

XMLReader::NOTATION

Узел нотации

XMLReader::WHITESPACE

Пробельный узел

XMLReader::SIGNIFICANT_WHITESPACE

Существенный пробельный узел

XMLReader::END_ELEMENT

Завершение элемента

XMLReader::END_ENTITY

Завершение объекта

XMLReader::XML_DECLARATION

Узел XML объявления

Опции анализатора XMLReader

XMLReader::LOADDTD

Загружать DTD, но не проверять

XMLReader::DEFAULTATTRS

Загружать DTD и атрибуты по умолчанию, но не проверять

XMLReader::VALIDATE

Загружать DTD и проверять при разборе

XMLReader::SUBST_ENTITIES

Заменять объекты и разворачивать ссылки

Содержание

  • XMLReader::close — Закрыть ввод XMLReader
  • XMLReader::expand — Возвратить копию текущего узла в виде объекта DOM
  • XMLReader::getAttribute — Получить значение атрибута с определённым именем
  • XMLReader::getAttributeNo — Получить значение атрибута по индексу
  • XMLReader::getAttributeNs — Получить значение атрибута по localname и URI
  • XMLReader::getParserProperty — Указывает, было ли определенное свойство установлено
  • XMLReader::isValid — Показать, является ли разбираемый документ синтаксически правильным
  • XMLReader::lookupNamespace — Найти пространство имён для префикса
  • XMLReader::moveToAttribute — Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNo — Переместить курсор на атрибут по индексу
  • XMLReader::moveToAttributeNs — Переместить курсор к именованному атрибуту
  • XMLReader::moveToElement — Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToFirstAttribute — Переместить позицию курсора на первый атрибут
  • XMLReader::moveToNextAttribute — Переместить позицию курсора на следующий атрибут
  • XMLReader::next — Переместить курсор на следующий узел, пропуская все поддеревья
  • XMLReader::open — Установить URI, содержащий XML-документ для разобора
  • XMLReader::read — Переместиться к следующему узлу в документе
  • XMLReader::readInnerXML — Извлечь XML из текущего узла
  • XMLReader::readOuterXML — Получить XML из текущего узла, включая сам узел
  • XMLReader::readString — Прочитать содержимое текущего узла как строку
  • XMLReader::setParserProperty — Устанавливает опцию парсера
  • XMLReader::setRelaxNGSchema — Устанавить имя файла или URI для схемы RelaxNG
  • XMLReader::setRelaxNGSchemaSource — Устанавливает данные, содержащие схему RelaxNG
  • XMLReader::setSchema — Проверить документ, используя XSD
  • XMLReader::XML — Установить данные, содержащие XML для разбора
Типы ресурсов
XMLReader::close
XMLReader


Закрыть ввод XMLReader

XMLReader
XMLReader::expand
XMLReader
PHP Manual

XMLReader::close

(PHP 5 >= 5.1.2)

XMLReader::close — Закрыть ввод XMLReader

Описание

bool XMLReader::close ( void )

Закрывает ввод, который в настоящий момент анализирует объект XMLReader.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::open() - Установить URI, содержащий XML-документ для разобора
  • XMLReader::xml() - Установить данные, содержащие XML для разбора

XMLReader
XMLReader::expand
XMLReader


Возвратить копию текущего узла в виде объекта DOM

XMLReader::close
XMLReader::getAttribute
XMLReader
PHP Manual

XMLReader::expand

(PHP 5 >= 5.1.2)

XMLReader::expand — Возвратить копию текущего узла в виде объекта DOM

Описание

DOMNode XMLReader::expand ([ DOMNode $basenode ] )

Этот метод копирует текущий узел и возвращает соответствующий объект DOM.

Возвращаемые значения

Результирующий DOMNode или FALSE в случае ошибки.

XMLReader::close
XMLReader::getAttribute
XMLReader


Получить значение атрибута с определённым именем

XMLReader::expand
XMLReader::getAttributeNo
XMLReader
PHP Manual

XMLReader::getAttribute

(PHP 5 >= 5.1.2)

XMLReader::getAttribute — Получить значение атрибута с определённым именем

Описание

string XMLReader::getAttribute ( string $name )

Возвращает значение именованного атрибута или пустую строку, если атрибут не существует или не находится в узле элемента.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Значение атрибута или NULL, если атрибут с заданным параметром name не найден или нет позиции элемента

Список изменений

Версия | Описание
5.1.3 | Возвращает NULL, если атрибут не найден. Ранее возвращалась пустая строка.

Смотрите также

  • XMLReader::getAttributeNo() - Получить значение атрибута по индексу
  • XMLReader::getAttributeNs() - Получить значение атрибута по localname и URI

XMLReader::expand
XMLReader::getAttributeNo
XMLReader


Получить значение атрибута по индексу

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader
PHP Manual

XMLReader::getAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNo — Получить значение атрибута по индексу

Описание

string XMLReader::getAttributeNo ( int $index )

Возвращает значение атрибута на основании позиции или пустую строку, если атрибут не существует или не расположен на узле элемента.

Список параметров

index

Позиция атрибута.

Возвращаемые значения

Значение атрибута или пустая строка, если атрибут с заданным параметром index не существует или нет позиции элемента.

Смотрите также

  • XMLReader::getAttribute() - Получить значение атрибута с определённым именем
  • XMLReader::getAttributeNs() - Получить значение атрибута по localname и URI

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader


Получить значение атрибута по localname и URI

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader
PHP Manual

XMLReader::getAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNs — Получить значение атрибута по localname и URI

Описание

string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )

Возвращает значение атрибута по имени и URI пространства имен или пустую строку, если атрибут не существует или не расположен на узле элемента.

Список параметров

localName

Локальное имя.

namespaceURI

URI пространства имён.

Возвращаемые значения

Значение атрибута или пустая строка, если атрибут с заданным localName и namespaceURI не найден или нет позиции элемента.

Смотрите также

  • XMLReader::getAttribute() - Получить значение атрибута с определённым именем
  • XMLReader::getAttributeNo() - Получить значение атрибута по индексу

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader


Указывает, было ли определенное свойство установлено

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader
PHP Manual

XMLReader::getParserProperty

(PHP 5 >= 5.1.2)

XMLReader::getParserProperty — Указывает, было ли определенное свойство установлено

Описание

bool XMLReader::getParserProperty ( int $property )

Указывает, было ли определенное свойство установлено

Список параметров

property

Одна из констант анализатора.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setParserProperty() - Устанавливает опцию парсера

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader


Показать, является ли разбираемый документ синтаксически правильным

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader
PHP Manual

XMLReader::isValid

(PHP 5 >= 5.1.2)

XMLReader::isValid — Показать, является ли разбираемый документ синтаксически правильным

Описание

bool XMLReader::isValid ( void )

Возвращает логическое значение (boolean), которое является признаком того, что разбираемый документ является синтаксически правильным.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Проверка правильности XML

<?php
$xml = XMLReader::open('test.xml');

// Вы должны использовать это
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Смотрите также

  • XMLReader::setParserProperty() - Устанавливает опцию парсера
  • XMLReader::setRelaxNGSchema() - Устанавить имя файла или URI для схемы RelaxNG
  • XMLReader::setRelaxNGSchemaSource() - Устанавливает данные, содержащие схему RelaxNG
  • XMLReader::setSchema() - Проверить документ, используя XSD

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader


Найти пространство имён для префикса

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader
PHP Manual

XMLReader::lookupNamespace

(PHP 5 >= 5.1.2)

XMLReader::lookupNamespace — Найти пространство имён для префикса

Описание

bool XMLReader::lookupNamespace ( string $prefix )

Поиск в контексте пространства имен для данного префикса.

Список параметров

prefix

Строка, содержащая префикс.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader


Переместить курсор к атрибуту с заданным именем

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader
PHP Manual

XMLReader::moveToAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToAttribute — Переместить курсор к атрибуту с заданным именем

Описание

bool XMLReader::moveToAttribute ( string $name )

Позиционирует курсор на атрибуте с заданным именем.

Список параметров

name

Имя атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttributeNo() - Переместить курсор на атрибут по индексу
  • XMLReader::moveToAttributeNs() - Переместить курсор к именованному атрибуту
  • XMLReader::moveToFirstAttribute() - Переместить позицию курсора на первый атрибут

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader


Переместить курсор на атрибут по индексу

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader
PHP Manual

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNo — Переместить курсор на атрибут по индексу

Описание

bool XMLReader::moveToAttributeNo ( int $index )

Устанавливает курсор на атрибуте, основываясь на его позиции.

Список параметров

index

Позиция атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNs() - Переместить курсор к именованному атрибуту
  • XMLReader::moveToFirstAttribute() - Переместить позицию курсора на первый атрибут

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader


Переместить курсор к именованному атрибуту

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader
PHP Manual

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNs — Переместить курсор к именованному атрибуту

Описание

bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

Позиционирует курсор на именованном атрибуте в указанном пространстве имен.

Список параметров

localName

Локальное имя.

namespaceURI

URI пространства имён.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNo() - Переместить курсор на атрибут по индексу
  • XMLReader::moveToFirstAttribute() - Переместить позицию курсора на первый атрибут

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader


Позиционировать курсор на родительском элементе текущего атрибута

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader
PHP Manual

XMLReader::moveToElement

(PHP 5 >= 5.1.2)

XMLReader::moveToElement — Позиционировать курсор на родительском элементе текущего атрибута

Описание

bool XMLReader::moveToElement ( void )

Перемещает курсор на родительский элемент текущего атрибута.

Возвращаемые значения

Возвращает TRUE в случае успеха и FALSE в случае неудачи или если невозможно выполнить позиционирование курсора на атрибуте, когда этот метод вызывается.

Смотрите также

  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNo() - Переместить курсор на атрибут по индексу
  • XMLReader::moveToAttributeNs() - Переместить курсор к именованному атрибуту
  • XMLReader::moveToFirstAttribute() - Переместить позицию курсора на первый атрибут

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader


Переместить позицию курсора на первый атрибут

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader
PHP Manual

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToFirstAttribute — Переместить позицию курсора на первый атрибут

Описание

bool XMLReader::moveToFirstAttribute ( void )

Перемещает позицию курсора на первый атрибут.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNo() - Переместить курсор на атрибут по индексу
  • XMLReader::moveToAttributeNs() - Переместить курсор к именованному атрибуту
  • XMLReader::moveToNextAttribute() - Переместить позицию курсора на следующий атрибут

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader


Переместить позицию курсора на следующий атрибут

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader
PHP Manual

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToNextAttribute — Переместить позицию курсора на следующий атрибут

Описание

bool XMLReader::moveToNextAttribute ( void )

Перемещает курсора к следующему атрибуту, если курсор спозиционирован на атрибуте или перемещает позицию на первый атрибут, если спозиционирован на элементе.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::moveToAttributeNo() - Переместить курсор на атрибут по индексу
  • XMLReader::moveToAttributeNs() - Переместить курсор к именованному атрибуту
  • XMLReader::moveToFirstAttribute() - Переместить позицию курсора на первый атрибут

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader


Переместить курсор на следующий узел, пропуская все поддеревья

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader
PHP Manual

XMLReader::next

(PHP 5 >= 5.1.2)

XMLReader::next — Переместить курсор на следующий узел, пропуская все поддеревья

Описание

bool XMLReader::next ([ string $localname ] )

Позиционирует курсор на следующем узле, пропуская все поддеревья.

Список параметров

localname

Имя следующего узла для перехода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToNextAttribute() - Переместить позицию курсора на следующий атрибут
  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader


Установить URI, содержащий XML-документ для разобора

XMLReader::next
XMLReader::read
XMLReader
PHP Manual

XMLReader::open

(PHP 5 >= 5.1.2)

XMLReader::open — Установить URI, содержащий XML-документ для разобора

Описание

bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )

Установить URI, содержащий XML-документ, который будет разобран.

Список параметров

URI

URI, указывающий на документ.

encoding

Кодировка документа или NULL.

options

Битовая маска, состоящая из LIBXML_* констант.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. при статическом вызове, возвращается XMLReader или FALSE в случае возникновения ошибки.

Ошибки

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Список изменений

Версия | Описание
5.2.0 | Были добавлены параметры encoding и options.

Смотрите также

  • XMLReader::xml() - Установить данные, содержащие XML для разбора
  • XMLReader::close() - Закрыть ввод XMLReader

XMLReader::next
XMLReader::read
XMLReader


Переместиться к следующему узлу в документе

XMLReader::open
XMLReader::readInnerXML
XMLReader
PHP Manual

XMLReader::read

(PHP 5 >= 5.1.2)

XMLReader::read — Переместиться к следующему узлу в документе

Описание

bool XMLReader::read ( void )

Перемещает курсор к следующему узлу в документе.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement() - Позиционировать курсор на родительском элементе текущего атрибута
  • XMLReader::moveToAttribute() - Переместить курсор к атрибуту с заданным именем
  • XMLReader::next() - Переместить курсор на следующий узел, пропуская все поддеревья

XMLReader::open
XMLReader::readInnerXML
XMLReader


Извлечь XML из текущего узла

XMLReader::read
XMLReader::readOuterXML
XMLReader
PHP Manual

XMLReader::readInnerXML

(PHP 5 >= 5.2.0)

XMLReader::readInnerXML — Извлечь XML из текущего узла

Описание

string XMLReader::readInnerXML ( void )

Читает содержимое текущего узла, включая дочерние узлы и разметку.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает содержимое текущего узла в виде строки. Пустая строка возвращается в случае ошибки.

Примечания

Предостережение

Эта функция доступна только если PHP скомпилирован с поддержкой libxml 20620 или старше.

Смотрите также

  • XMLReader::readString() - Прочитать содержимое текущего узла как строку
  • XMLReader::readOuterXML() - Получить XML из текущего узла, включая сам узел
  • XMLReader::expand() - Возвратить копию текущего узла в виде объекта DOM

XMLReader::read
XMLReader::readOuterXML
XMLReader


Получить XML из текущего узла, включая сам узел

XMLReader::readInnerXML
XMLReader::readString
XMLReader
PHP Manual

XMLReader::readOuterXML

(PHP 5 >= 5.2.0)

XMLReader::readOuterXML — Получить XML из текущего узла, включая сам узел

Описание

string XMLReader::readOuterXML ( void )

Читает содержимое текущего узла, включая сам узел.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает содержимое текущего узла, включая сам узел как строку. В случае ошибки строка будет пустой.

Примечания

Предостережение

Эта функция доступна только если PHP скомпилирован с поддержкой libxml 20620 или старше.

Смотрите также

  • XMLReader::readString() - Прочитать содержимое текущего узла как строку
  • XMLReader::readInnerXML() - Извлечь XML из текущего узла
  • XMLReader::expand() - Возвратить копию текущего узла в виде объекта DOM

XMLReader::readInnerXML
XMLReader::readString
XMLReader


Прочитать содержимое текущего узла как строку

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader
PHP Manual

XMLReader::readString

(PHP 5 >= 5.2.0)

XMLReader::readString — Прочитать содержимое текущего узла как строку

Описание

string XMLReader::readString ( void )

Читает содержимое текущего узла как строку.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает содержимое текущего узла в виде строки. В случае ошибки строка будет пустой.

Примечания

Предостережение

Эта функция доступна только если PHP скомпилирован с поддержкой libxml 20620 или старше.

Смотрите также

  • XMLReader::readOuterXML() - Получить XML из текущего узла, включая сам узел
  • XMLReader::readInnerXML() - Извлечь XML из текущего узла
  • XMLReader::expand() - Возвратить копию текущего узла в виде объекта DOM

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader


Устанавливает опцию парсера

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader
PHP Manual

XMLReader::setParserProperty

(PHP 5 >= 5.1.2)

XMLReader::setParserProperty — Устанавливает опцию парсера

Описание

bool XMLReader::setParserProperty ( int $property , bool $value )

Устанавливает опции для парсера. Опции должны быть установлены после вызова XMLReader::open() или XMLReader::xml() и до первого вызова XMLReader::read().

Список параметров

property

Одна из констант опций парсера.

value

Если установлено в TRUE, то опция будет включена, в противном случае опция будет выключена.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader


Устанавить имя файла или URI для схемы RelaxNG

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader
PHP Manual

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0)

XMLReader::setRelaxNGSchema — Устанавить имя файла или URI для схемы RelaxNG

Описание

bool XMLReader::setRelaxNGSchema ( string $filename )

Устанавливает имя файла или URI для схемы RelaxNG, которые используются при проверке.

Список параметров

filename

Имя файла или URI, указывающий на схему RelaxNG.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setRelaxNGSchemaSource() - Устанавливает данные, содержащие схему RelaxNG
  • XMLReader::setSchema() - Проверить документ, используя XSD
  • XMLReader::isValid() - Показать, является ли разбираемый документ синтаксически правильным

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader


Устанавливает данные, содержащие схему RelaxNG

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader
PHP Manual

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.2)

XMLReader::setRelaxNGSchemaSource — Устанавливает данные, содержащие схему RelaxNG

Описание

bool XMLReader::setRelaxNGSchemaSource ( string $source )

Устанавливает данные, содержащие схему RelaxNG, используемую при проверке.

Список параметров

source

Строка, содержащая схему RelaxNG.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setRelaxNGSchema() - Устанавить имя файла или URI для схемы RelaxNG
  • XMLReader::setSchema() - Проверить документ, используя XSD
  • XMLReader::isValid() - Показать, является ли разбираемый документ синтаксически правильным

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader


Проверить документ, используя XSD

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader
PHP Manual

XMLReader::setSchema

(PHP 5 >= 5.2.0)

XMLReader::setSchema — Проверить документ, используя XSD

Описание

bool XMLReader::setSchema ( string $filename )

Использует схему W3C XSD для проверки документов в процессе работы. Активация возможна только до первого вызова Read().

Список параметров

filename

Имя файла XSD схемы.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Предупреждение E_WARNING возникает, если libxml был собран без поддержки схем, схема содержит ошибки или если функция XMLReader::read() уже была вызвана.

Примечания

Предостережение

Эта функция доступна только если PHP скомпилирован с поддержкой libxml 20620 или старше.

Смотрите также

  • XMLReader::setRelaxNGSchema() - Устанавить имя файла или URI для схемы RelaxNG
  • XMLReader::setRelaxNGSchemaSource() - Устанавливает данные, содержащие схему RelaxNG
  • XMLReader::isValid() - Показать, является ли разбираемый документ синтаксически правильным

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader


Установить данные, содержащие XML для разбора

XMLReader::setSchema
XMLWriter
XMLReader
PHP Manual

XMLReader::XML

(PHP 5 >= 5.1.2)

XMLReader::XML — Установить данные, содержащие XML для разбора

Описание

bool XMLReader::xml ( string $source [, string $encoding [, int $options = 0 ]] )

Устанавливает данные, содержащие XML для разбора.

Список параметров

source

Строка, содержащая XML для разбора.

encoding

Кодировка документа или NULL.

options

Битовая маска констант LIBXML_*.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. в случае статического вызова либо возвращается XMLReader или FALSE в случае возникновения ошибки.

Ошибки

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Список изменений

Версия | Описание
5.2.0 | Были добавлены параметры encoding и options.

Смотрите также

  • XMLReader::open() - Установить URI, содержащий XML-документ для разобора
  • XMLReader::close() - Закрыть ввод XMLReader

XMLReader::setSchema
XMLWriter
XMLReader


XMLWriter

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XMLWriter
    • XMLWriter::endAttribute — Завершить атрибут
    • XMLWriter::endCData — Завершить текущую секцию CDATA
    • XMLWriter::endComment — Завершить комментарий
    • XMLWriter::endDocument — Завершить текущий документ
    • XMLWriter::endDTDAttlist — Завершить текущий DTD
    • XMLWriter::endDTDElement — Завершить текущий элемент DTD
    • XMLWriter::endDTDEntity — Завершить текущую запись DTD
    • XMLWriter::endDTD — Завершить текущий DTD
    • XMLWriter::endElement — Завершить текущий элемент
    • XMLWriter::endPI — Завершить текущую инструкцию обработки (PI)
    • XMLWriter::flush — Сбросить текущий буфер
    • XMLWriter::fullEndElement — Завершить текущий элемент
    • XMLWriter::openMemory — Создать новый объект XMLWriter, используя память для строкового вывода
    • XMLWriter::openURI — Создать новый объект XMLWriter, используя исходный URI для вывода
    • XMLWriter::outputMemory — Возвратить текущий буфер
    • XMLWriter::setIndentString — Установить строку, используемую для отступов
    • XMLWriter::setIndent — Включить или отключить отступы
    • XMLWriter::startAttributeNS — Создать стартовый атрибут пространства имен
    • XMLWriter::startAttribute — Создать начальный атрибут
    • XMLWriter::startCData — Создать начальный тэг CDATA
    • XMLWriter::startComment — Создает стартовый комментарий
    • XMLWriter::startDocument — Создать тэг документа
    • XMLWriter::startDTDAttlist — Создает стартовый список атрибутов DTD
    • XMLWriter::startDTDElement — Создать начальный элемент DTD
    • XMLWriter::startDTDEntity — Создать начальную запись DTD
    • XMLWriter::startDTD — Создать стартовый DTD тэг
    • XMLWriter::startElementNS — Создать начальный тег элемента пространства имен
    • XMLWriter::startElement — Создать стартовый тэг элемента
    • XMLWriter::startPI — Создать начальный тэг PI
    • XMLWriter::text — Записать текст
    • XMLWriter::writeAttributeNS — Записать полный атрибут пространства имен
    • XMLWriter::writeAttribute — Записать полный атрибут
    • XMLWriter::writeCData — Записать полный тэг CDATA
    • XMLWriter::writeComment — Записать полный тэг комментария
    • XMLWriter::writeDTDAttlist — Записать полный тэг DTD AttList
    • XMLWriter::writeDTDElement — Записать полный тэг элемента DTD
    • XMLWriter::writeDTDEntity — Записать полный тэг DTD записи
    • XMLWriter::writeDTD — Записать полный тэг DTD
    • XMLWriter::writeElementNS — Записать полное пространство имен тега элемента
    • XMLWriter::writeElement — Записать полный тег элемента
    • XMLWriter::writePI — Записать инструкцию обработки (PI)
    • XMLWriter::writeRaw — Пишет необработанный XML-текст
XMLReader::XML
Введение
Обработка XML


Введение

XMLWriter является расширением PHP. Оно создает XmlWriter API на основе библиотеки libxml.

Это расширение представляет собой класс-писатель, который является некэшируемым, однонаправленным средством генерирования потоков или файлов, содержащих данные XML.

Это расширение может быть использовано в объектно-ориентированном либо в процедурном стилях. Каждый документированный метод описывает альтернативные процедурные вызовы.

XMLWriter
Установка и настройка
XMLWriter


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XMLWriter


Установка

Это расширение включено по умолчанию. Оно может быть отключено во время выполнения с помощью следующей опции: --disable-xmlwriter

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Существует один resource, используемый процедурной версией расширения XMLWriter: его возвращает xmlwriter_open_memory() или xmlwriter_open_uri().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
XMLWriter
XMLWriter


XMLWriter
PHP Manual

XMLWriter

Содержание

  • XMLWriter::endAttribute — Завершить атрибут
  • XMLWriter::endCData — Завершить текущую секцию CDATA
  • XMLWriter::endComment — Завершить комментарий
  • XMLWriter::endDocument — Завершить текущий документ
  • XMLWriter::endDTDAttlist — Завершить текущий DTD
  • XMLWriter::endDTDElement — Завершить текущий элемент DTD
  • XMLWriter::endDTDEntity — Завершить текущую запись DTD
  • XMLWriter::endDTD — Завершить текущий DTD
  • XMLWriter::endElement — Завершить текущий элемент
  • XMLWriter::endPI — Завершить текущую инструкцию обработки (PI)
  • XMLWriter::flush — Сбросить текущий буфер
  • XMLWriter::fullEndElement — Завершить текущий элемент
  • XMLWriter::openMemory — Создать новый объект XMLWriter, используя память для строкового вывода
  • XMLWriter::openURI — Создать новый объект XMLWriter, используя исходный URI для вывода
  • XMLWriter::outputMemory — Возвратить текущий буфер
  • XMLWriter::setIndentString — Установить строку, используемую для отступов
  • XMLWriter::setIndent — Включить или отключить отступы
  • XMLWriter::startAttributeNS — Создать стартовый атрибут пространства имен
  • XMLWriter::startAttribute — Создать начальный атрибут
  • XMLWriter::startCData — Создать начальный тэг CDATA
  • XMLWriter::startComment — Создает стартовый комментарий
  • XMLWriter::startDocument — Создать тэг документа
  • XMLWriter::startDTDAttlist — Создает стартовый список атрибутов DTD
  • XMLWriter::startDTDElement — Создать начальный элемент DTD
  • XMLWriter::startDTDEntity — Создать начальную запись DTD
  • XMLWriter::startDTD — Создать стартовый DTD тэг
  • XMLWriter::startElementNS — Создать начальный тег элемента пространства имен
  • XMLWriter::startElement — Создать стартовый тэг элемента
  • XMLWriter::startPI — Создать начальный тэг PI
  • XMLWriter::text — Записать текст
  • XMLWriter::writeAttributeNS — Записать полный атрибут пространства имен
  • XMLWriter::writeAttribute — Записать полный атрибут
  • XMLWriter::writeCData — Записать полный тэг CDATA
  • XMLWriter::writeComment — Записать полный тэг комментария
  • XMLWriter::writeDTDAttlist — Записать полный тэг DTD AttList
  • XMLWriter::writeDTDElement — Записать полный тэг элемента DTD
  • XMLWriter::writeDTDEntity — Записать полный тэг DTD записи
  • XMLWriter::writeDTD — Записать полный тэг DTD
  • XMLWriter::writeElementNS — Записать полное пространство имен тега элемента
  • XMLWriter::writeElement — Записать полный тег элемента
  • XMLWriter::writePI — Записать инструкцию обработки (PI)
  • XMLWriter::writeRaw — Пишет необработанный XML-текст
Предопределенные константы
XMLWriter::endAttribute
XMLWriter
PHP Manual


Завершить атрибут

XMLWriter
XMLWriter::endCData
XMLWriter
PHP Manual

XMLWriter::endAttribute

xmlwriter_end_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute -- xmlwriter_end_attribute — Завершить атрибут

Описание

Объектно-ориентированный стиль

bool XMLWriter::endAttribute ( void )

Процедурный стиль

bool xmlwriter_end_attribute ( resource $xmlwriter )

Завершает текущий атрибут.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttribute() - Создать начальный атрибут
  • XMLWriter::startAttributeNS() - Создать стартовый атрибут пространства имен
  • XMLWriter::writeAttribute() - Записать полный атрибут
  • XMLWriter::writeAttributeNS() - Записать полный атрибут пространства имен

XMLWriter
XMLWriter::endCData
XMLWriter


Завершить текущую секцию CDATA

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter
PHP Manual

XMLWriter::endCData

xmlwriter_end_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endCData -- xmlwriter_end_cdata — Завершить текущую секцию CDATA

Описание

Объектно-ориентированный стиль

bool XMLWriter::endCData ( void )

Процедурный стиль

bool xmlwriter_end_cdata ( resource $xmlwriter )

Завершает текущую секцию CDATA.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startCData() - Создать начальный тэг CDATA
  • XMLWriter::writeCData() - Записать полный тэг CDATA

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter


Завершить комментарий

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter
PHP Manual

XMLWriter::endComment

xmlwriter_end_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment -- xmlwriter_end_comment — Завершить комментарий

Описание

Объектно-ориентированный стиль

bool XMLWriter::endComment ( void )

Процедурный стиль

bool xmlwriter_end_comment ( resource $xmlwriter )

Завершает текущий комметарий.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startComment() - Создает стартовый комментарий
  • XMLWriter::writeComment() - Записать полный тэг комментария

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter


Завершить текущий документ

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter
PHP Manual

XMLWriter::endDocument

xmlwriter_end_document

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument -- xmlwriter_end_document — Завершить текущий документ

Описание

Объектно-ориентированный стиль

bool XMLWriter::endDocument ( void )

Процедурный стиль

bool xmlwriter_end_document ( resource $xmlwriter )

Завершает текущий документ.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDocument() - Создать тэг документа

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter


Завершить текущий DTD

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter
PHP Manual

XMLWriter::endDTDAttlist

xmlwriter_end_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDAttlist -- xmlwriter_end_dtd_attlist — Завершить текущий DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::endDTDAttlist ( void )

Процедурный стиль

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Завершает текущий список атрибутов DTD для документа.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDAttlist() - Создает стартовый список атрибутов DTD
  • XMLWriter::writeDTDAttlist() - Записать полный тэг DTD AttList

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter


Завершить текущий элемент DTD

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter
PHP Manual

XMLWriter::endDTDElement

xmlwriter_end_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDElement -- xmlwriter_end_dtd_element — Завершить текущий элемент DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::endDTDElement ( void )

Процедурный стиль

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Завершает текущий элемент DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDElement() - Создать начальный элемент DTD
  • XMLWriter::writeDTDElement() - Записать полный тэг элемента DTD

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter


Завершить текущую запись DTD

XMLWriter::endDTDElement
XMLWriter::endDTD
XMLWriter
PHP Manual

XMLWriter::endDTDEntity

xmlwriter_end_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDEntity -- xmlwriter_end_dtd_entity — Завершить текущую запись DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::endDTDEntity ( void )

Процедурный стиль

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Завершает текущую запись DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDEntity() - Создать начальную запись DTD
  • XMLWriter::writeDTDEntity() - Записать полный тэг DTD записи

XMLWriter::endDTDElement
XMLWriter::endDTD
XMLWriter


Завершить текущий DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
XMLWriter
PHP Manual

XMLWriter::endDTD

xmlwriter_end_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTD -- xmlwriter_end_dtd — Завершить текущий DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::endDTD ( void )

Процедурный стиль

bool xmlwriter_end_dtd ( resource $xmlwriter )

Завершает секцию определения типа документа (DTD).

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTD() - Создать стартовый DTD тэг
  • XMLWriter::writeDTD() - Записать полный тэг DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
XMLWriter


Завершить текущий элемент

XMLWriter::endDTD
XMLWriter::endPI
XMLWriter
PHP Manual

XMLWriter::endElement

xmlwriter_end_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement -- xmlwriter_end_element — Завершить текущий элемент

Описание

Объектно-ориентированный стиль

bool XMLWriter::endElement ( void )

Процедурный стиль

bool xmlwriter_end_element ( resource $xmlwriter )

Завершает текущий элемент.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startElement() - Создать стартовый тэг элемента
  • XMLWriter::writeElement() - Записать полный тег элемента

XMLWriter::endDTD
XMLWriter::endPI
XMLWriter


Завершить текущую инструкцию обработки (PI)

XMLWriter::endElement
XMLWriter::flush
XMLWriter
PHP Manual

XMLWriter::endPI

xmlwriter_end_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endPI -- xmlwriter_end_pi — Завершить текущую инструкцию обработки (PI)

Описание

Объектно-ориентированный стиль

bool XMLWriter::endPI ( void )

Процедурный стиль

bool xmlwriter_end_pi ( resource $xmlwriter )

Завершает текущую инструкцию обработки.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startPI() - Создать начальный тэг PI
  • XMLWriter::writePI() - Записать инструкцию обработки (PI)

XMLWriter::endElement
XMLWriter::flush
XMLWriter


Сбросить текущий буфер

XMLWriter::endPI
XMLWriter::fullEndElement
XMLWriter
PHP Manual

XMLWriter::flush

xmlwriter_flush

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::flush -- xmlwriter_flush — Сбросить текущий буфер

Описание

Объектно-ориентированный стиль

mixed XMLWriter::flush ([ bool $empty = true ] )

Процедурный стиль

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty = true ] )

Сбрасывает текущий буфер.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

empty

Освободить ли буфер или нет. По умолчанию TRUE.

Возвращаемые значения

Если XML создается в памяти, то эта функция вернет сгенерированный буфер XML, иначе при использовании URI эта функция запишет буфер и возвратит количество записанных байт.

XMLWriter::endPI
XMLWriter::fullEndElement
XMLWriter


Завершить текущий элемент

XMLWriter::flush
XMLWriter::openMemory
XMLWriter
PHP Manual

XMLWriter::fullEndElement

xmlwriter_full_end_element

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement -- xmlwriter_full_end_element — Завершить текущий элемент

Описание

Объектно-ориентированный стиль

bool XMLWriter::fullEndElement ( void )

Процедурный стиль

bool xmlwriter_full_end_element ( resource $xmlwriter )

Завершает текущий XML элемент. Записывает закрывающий тег, даже если элемент пустой.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement() - Завершить текущий элемент

XMLWriter::flush
XMLWriter::openMemory
XMLWriter


Создать новый объект XMLWriter, используя память для строкового вывода

XMLWriter::fullEndElement
XMLWriter::openURI
XMLWriter
PHP Manual

XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memory — Создать новый объект XMLWriter, используя память для строкового вывода

Описание

Объектно-ориентированный стиль

bool XMLWriter::openMemory ( void )

Процедурный стиль

resource xmlwriter_open_memory ( void )

Создает новый объект XMLWriter, используя память для строкового вывода.

Список параметров

Возвращаемые значения

Объектно-ориентированный стиль: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Процедурный стиль: возвращает новый xmlwriter resource для дальнейшего использования функциями xmlwriter в случае успеха либо FALSE в случае ошибки.

Смотрите также

  • XMLWriter::openURI() - Создать новый объект XMLWriter, используя исходный URI для вывода

XMLWriter::fullEndElement
XMLWriter::openURI
XMLWriter


Создать новый объект XMLWriter, используя исходный URI для вывода

XMLWriter::openMemory
XMLWriter::outputMemory
XMLWriter
PHP Manual

XMLWriter::openURI

xmlwriter_open_uri

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openURI -- xmlwriter_open_uri — Создать новый объект XMLWriter, используя исходный URI для вывода

Описание

Объектно-ориентированный стиль

bool XMLWriter::openURI ( string $uri )

Процедурный стиль

resource xmlwriter_open_uri ( string $uri )

Создаёт новый объект XMLWriter, используя uri для вывода.

Список параметров

uri

URI ресурса для вывода.

Возвращаемые значения

Объектно-ориентированный стиль: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Процедурный стиль: возвращает новый объект XmlWriter resource для дальнейшего использования функциями xmlwriter в случае успеха или FALSE в случае ошибки.

Смотрите также

  • XMLWriter::openMemory() - Создать новый объект XMLWriter, используя память для строкового вывода

XMLWriter::openMemory
XMLWriter::outputMemory
XMLWriter


Возвратить текущий буфер

XMLWriter::openURI
XMLWriter::setIndentString
XMLWriter
PHP Manual

XMLWriter::outputMemory

xmlwriter_output_memory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory -- xmlwriter_output_memory — Возвратить текущий буфер

Описание

Объектно-ориентированный стиль

string XMLWriter::outputMemory ([ bool $flush = true ] )

Процедурный стиль

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush = true ] )

Возвращает текущий буфер.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

flush

Освободить буфер или нет. По умолчанию TRUE.

Возвращаемые значения

Возвращает текущий буфер в виде строки.

Смотрите также

  • XMLWriter::flush() - Сбросить текущий буфер

XMLWriter::openURI
XMLWriter::setIndentString
XMLWriter


Установить строку, используемую для отступов

XMLWriter::outputMemory
XMLWriter::setIndent
XMLWriter
PHP Manual

XMLWriter::setIndentString

xmlwriter_set_indent_string

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString -- xmlwriter_set_indent_string — Установить строку, используемую для отступов

Описание

Объектно-ориентированный стиль

bool XMLWriter::setIndentString ( string $indentString )

Процедурный стиль

bool xmlwriter_set_indent_string ( resource $xmlwriter , string $indentString )

Устанавливает строку, которая будет использоваться для отступа каждого элемента/атрибута в результирующем XML.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

indentString

Отступ строки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::setIndent() - Включить или отключить отступы

XMLWriter::outputMemory
XMLWriter::setIndent
XMLWriter


Включить или отключить отступы

XMLWriter::setIndentString
XMLWriter::startAttributeNS
XMLWriter
PHP Manual

XMLWriter::setIndent

xmlwriter_set_indent

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent -- xmlwriter_set_indent — Включить или отключить отступы

Описание

Объектно-ориентированный стиль

bool XMLWriter::setIndent ( bool $indent )

Процедурный стиль

bool xmlwriter_set_indent ( resource $xmlwriter , bool $indent )

Включает или отключает отступы.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

indent

Включено ли добавление отступа.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::setIndentString() - Установить строку, используемую для отступов

XMLWriter::setIndentString
XMLWriter::startAttributeNS
XMLWriter


Создать стартовый атрибут пространства имен

XMLWriter::setIndent
XMLWriter::startAttribute
XMLWriter
PHP Manual

XMLWriter::startAttributeNS

xmlwriter_start_attribute_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNS -- xmlwriter_start_attribute_ns — Создать стартовый атрибут пространства имен

Описание

Объектно-ориентированный стиль

bool XMLWriter::startAttributeNS ( string $prefix , string $name , string $uri )

Процедурный стиль

bool xmlwriter_start_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Начинает атрибут пространства имен.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

prefix

Префикс пространства имен.

name

Имя атрибута.

uri

URI пространства имен.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttribute() - Создать начальный атрибут
  • XMLWriter::endAttribute() - Завершить атрибут
  • XMLWriter::writeAttribute() - Записать полный атрибут
  • XMLWriter::writeAttributeNS() - Записать полный атрибут пространства имен

XMLWriter::setIndent
XMLWriter::startAttribute
XMLWriter


Создать начальный атрибут

XMLWriter::startAttributeNS
XMLWriter::startCData
XMLWriter
PHP Manual

XMLWriter::startAttribute

xmlwriter_start_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute -- xmlwriter_start_attribute — Создать начальный атрибут

Описание

Объектно-ориентированный стиль

bool XMLWriter::startAttribute ( string $name )

Процедурный стиль

bool xmlwriter_start_attribute ( resource $xmlwriter , string $name )

Начинает атрибут.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttributeNS() - Создать стартовый атрибут пространства имен
  • XMLWriter::endAttribute() - Завершить атрибут
  • XMLWriter::writeAttribute() - Записать полный атрибут
  • XMLWriter::writeAttributeNS() - Записать полный атрибут пространства имен

XMLWriter::startAttributeNS
XMLWriter::startCData
XMLWriter


Создать начальный тэг CDATA

XMLWriter::startAttribute
XMLWriter::startComment
XMLWriter
PHP Manual

XMLWriter::startCData

xmlwriter_start_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startCData -- xmlwriter_start_cdata — Создать начальный тэг CDATA

Описание

Объектно-ориентированный стиль

bool XMLWriter::startCData ( void )

Процедурный стиль

bool xmlwriter_start_cdata ( resource $xmlwriter )

Начинает CDATA.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endCData() - Завершить текущую секцию CDATA
  • XMLWriter::writeCData() - Записать полный тэг CDATA

XMLWriter::startAttribute
XMLWriter::startComment
XMLWriter


Создает стартовый комментарий

XMLWriter::startCData
XMLWriter::startDocument
XMLWriter
PHP Manual

XMLWriter::startComment

xmlwriter_start_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment -- xmlwriter_start_comment — Создает стартовый комментарий

Описание

Объектно-ориентированный стиль

bool XMLWriter::startComment ( void )

Процедурный стиль

bool xmlwriter_start_comment ( resource $xmlwriter )

Начинает комментарий.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endComment() - Завершить комментарий
  • XMLWriter::writeComment() - Записать полный тэг комментария

XMLWriter::startCData
XMLWriter::startDocument
XMLWriter


Создать тэг документа

XMLWriter::startComment
XMLWriter::startDTDAttlist
XMLWriter
PHP Manual

XMLWriter::startDocument

xmlwriter_start_document

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument -- xmlwriter_start_document — Создать тэг документа

Описание

Объектно-ориентированный стиль

bool XMLWriter::startDocument ([ string $version [, string $encoding [, string $standalone ]]] )

Процедурный стиль

bool xmlwriter_start_document ( resource $xmlwriter [, string $version [, string $encoding [, string $standalone = NULL ]]] )

Начинает документ.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

version

Номер версии документа как часть объявления XML. По умолчанию 1.0.

encoding

Кодировка документа как часть объявления XML. По умолчанию NULL.

standalone

yes или no.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDocument() - Завершить текущий документ

XMLWriter::startComment
XMLWriter::startDTDAttlist
XMLWriter


Создает стартовый список атрибутов DTD

XMLWriter::startDocument
XMLWriter::startDTDElement
XMLWriter
PHP Manual

XMLWriter::startDTDAttlist

xmlwriter_start_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDAttlist -- xmlwriter_start_dtd_attlist — Создает стартовый список атрибутов DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::startDTDAttlist ( string $name )

Процедурный стиль

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter , string $name )

Стартовый список атрибутов DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Название списка атрибутов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDAttlist() - Завершить текущий DTD
  • XMLWriter::writeDTDAttlist() - Записать полный тэг DTD AttList

XMLWriter::startDocument
XMLWriter::startDTDElement
XMLWriter


Создать начальный элемент DTD

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
XMLWriter
PHP Manual

XMLWriter::startDTDElement

xmlwriter_start_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDElement -- xmlwriter_start_dtd_element — Создать начальный элемент DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::startDTDElement ( string $qualifiedName )

Процедурный стиль

bool xmlwriter_start_dtd_element ( resource $xmlwriter , string $qualifiedName )

Начинает элемент DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

qualifiedName

Полностью определенное имя типа документа для создания.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDElement() - Завершить текущий элемент DTD
  • XMLWriter::writeDTDElement() - Записать полный тэг элемента DTD

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
XMLWriter


Создать начальную запись DTD

XMLWriter::startDTDElement
XMLWriter::startDTD
XMLWriter
PHP Manual

XMLWriter::startDTDEntity

xmlwriter_start_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDEntity -- xmlwriter_start_dtd_entity — Создать начальную запись DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::startDTDEntity ( string $name , bool $isparam )

Процедурный стиль

bool xmlwriter_start_dtd_entity ( resource $xmlwriter , string $name , bool $isparam )

Начинает запись DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя записи.

isparam

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDEntity() - Завершить текущую запись DTD
  • XMLWriter::writeDTDEntity() - Записать полный тэг DTD записи

XMLWriter::startDTDElement
XMLWriter::startDTD
XMLWriter


Создать стартовый DTD тэг

XMLWriter::startDTDEntity
XMLWriter::startElementNS
XMLWriter
PHP Manual

XMLWriter::startDTD

xmlwriter_start_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTD -- xmlwriter_start_dtd — Создать стартовый DTD тэг

Описание

Объектно-ориентированный стиль

bool XMLWriter::startDTD ( string $qualifiedName [, string $publicId [, string $systemId ]] )

Процедурный стиль

bool xmlwriter_start_dtd ( resource $xmlwriter , string $qualifiedName [, string $publicId [, string $systemId ]] )

Начинает DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

qualifiedName

Полностью определенное имя типа документа для создания.

publicId

Идентификатор внешнего публичного подмножества.

systemId

Идентификатор внешнего системного подмножества.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTD() - Завершить текущий DTD
  • XMLWriter::writeDTD() - Записать полный тэг DTD

XMLWriter::startDTDEntity
XMLWriter::startElementNS
XMLWriter


Создать начальный тег элемента пространства имен

XMLWriter::startDTD
XMLWriter::startElement
XMLWriter
PHP Manual

XMLWriter::startElementNS

xmlwriter_start_element_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNS -- xmlwriter_start_element_ns — Создать начальный тег элемента пространства имен

Описание

Объектно-ориентированный стиль

bool XMLWriter::startElementNS ( string $prefix , string $name , string $uri )

Процедурный стиль

bool xmlwriter_start_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Начинает элемент пространства имен.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

prefix

Префикс пространства имен.

name

Имя элемента.

uri

URI пространства имен.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement() - Завершить текущий элемент
  • XMLWriter::writeElementNS() - Записать полное пространство имен тега элемента

XMLWriter::startDTD
XMLWriter::startElement
XMLWriter


Создать стартовый тэг элемента

XMLWriter::startElementNS
XMLWriter::startPI
XMLWriter
PHP Manual

XMLWriter::startElement

xmlwriter_start_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement -- xmlwriter_start_element — Создать стартовый тэг элемента

Описание

Объектно-ориентированный стиль

bool XMLWriter::startElement ( string $name )

Процедурный стиль

bool xmlwriter_start_element ( resource $xmlwriter , string $name )

Начинает элемент.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя элемента.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement() - Завершить текущий элемент
  • XMLWriter::writeElement() - Записать полный тег элемента

XMLWriter::startElementNS
XMLWriter::startPI
XMLWriter


Создать начальный тэг PI

XMLWriter::startElement
XMLWriter::text
XMLWriter
PHP Manual

XMLWriter::startPI

xmlwriter_start_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startPI -- xmlwriter_start_pi — Создать начальный тэг PI

Описание

Объектно-ориентированный стиль

bool XMLWriter::startPI ( string $target )

Процедурный стиль

bool xmlwriter_start_pi ( resource $xmlwriter , string $target )

Начинает тег инструкций обработки (PI).

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

target

Цель инструкций обработки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endPI() - Завершить текущую инструкцию обработки (PI)
  • XMLWriter::writePI() - Записать инструкцию обработки (PI)

XMLWriter::startElement
XMLWriter::text
XMLWriter


Записать текст

XMLWriter::startPI
XMLWriter::writeAttributeNS
XMLWriter
PHP Manual

XMLWriter::text

xmlwriter_text

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::text -- xmlwriter_text — Записать текст

Описание

Объектно-ориентированный стиль

bool XMLWriter::text ( string $content )

Процедурный стиль

bool xmlwriter_text ( resource $xmlwriter , string $content )

Записывает текст.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

content

Содержимое текста.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLWriter::startPI
XMLWriter::writeAttributeNS
XMLWriter


Записать полный атрибут пространства имен

XMLWriter::text
XMLWriter::writeAttribute
XMLWriter
PHP Manual

XMLWriter::writeAttributeNS

xmlwriter_write_attribute_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNS -- xmlwriter_write_attribute_ns — Записать полный атрибут пространства имен

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeAttributeNS ( string $prefix , string $name , string $uri , string $content )

Процедурный стиль

bool xmlwriter_write_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri , string $content )

Записывает полный атрибут пространства имен.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

prefix

Префикс пространства имен.

name

Имя атрибута.

uri

URI пространства имен.

content

Значение атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::writeAttribute() - Записать полный атрибут
  • XMLWriter::startAttribute() - Создать начальный атрибут
  • XMLWriter::startAttributeNS() - Создать стартовый атрибут пространства имен
  • XMLWriter::endAttribute() - Завершить атрибут

XMLWriter::text
XMLWriter::writeAttribute
XMLWriter


Записать полный атрибут

XMLWriter::writeAttributeNS
XMLWriter::writeCData
XMLWriter
PHP Manual

XMLWriter::writeAttribute

xmlwriter_write_attribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute -- xmlwriter_write_attribute — Записать полный атрибут

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeAttribute ( string $name , string $value )

Процедурный стиль

bool xmlwriter_write_attribute ( resource $xmlwriter , string $name , string $value )

Записывает полный атрибут.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя атрибута.

value

Значение атрибута.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::writeAttributeNS() - Записать полный атрибут пространства имен
  • XMLWriter::startAttribute() - Создать начальный атрибут
  • XMLWriter::startAttributeNS() - Создать стартовый атрибут пространства имен
  • XMLWriter::endAttribute() - Завершить атрибут

XMLWriter::writeAttributeNS
XMLWriter::writeCData
XMLWriter


Записать полный тэг CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
XMLWriter
PHP Manual

XMLWriter::writeCData

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCData -- xmlwriter_write_cdata — Записать полный тэг CDATA

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeCData ( string $content )

Процедурный стиль

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Записывает полный тэг CDATA.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

content

Содержимое CDATA.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startCData() - Создать начальный тэг CDATA
  • XMLWriter::endCData() - Завершить текущую секцию CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
XMLWriter


Записать полный тэг комментария

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
XMLWriter
PHP Manual

XMLWriter::writeComment

xmlwriter_write_comment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment -- xmlwriter_write_comment — Записать полный тэг комментария

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeComment ( string $content )

Процедурный стиль

bool xmlwriter_write_comment ( resource $xmlwriter , string $content )

Записывает полный комментарий.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

content

Содержание комментария.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startComment() - Создает стартовый комментарий
  • XMLWriter::endComment() - Завершить комментарий

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
XMLWriter


Записать полный тэг DTD AttList

XMLWriter::writeComment
XMLWriter::writeDTDElement
XMLWriter
PHP Manual

XMLWriter::writeDTDAttlist

xmlwriter_write_dtd_attlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDAttlist -- xmlwriter_write_dtd_attlist — Записать полный тэг DTD AttList

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeDTDAttlist ( string $name , string $content )

Процедурный стиль

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter , string $name , string $content )

Записывает список атрибутов DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя списка атрибутов DTD.

content

Содержимое списка атрибутов DTD.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDAttlist() - Создает стартовый список атрибутов DTD
  • XMLWriter::endDTDAttlist() - Завершить текущий DTD

XMLWriter::writeComment
XMLWriter::writeDTDElement
XMLWriter


Записать полный тэг элемента DTD

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
XMLWriter
PHP Manual

XMLWriter::writeDTDElement

xmlwriter_write_dtd_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDElement -- xmlwriter_write_dtd_element — Записать полный тэг элемента DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeDTDElement ( string $name , string $content )

Процедурный стиль

bool xmlwriter_write_dtd_element ( resource $xmlwriter , string $name , string $content )

Записывает полный тэг элемента DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя элемента DTD.

content

Содержимое элемента.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDElement() - Создать начальный элемент DTD
  • XMLWriter::endDTDElement() - Завершить текущий элемент DTD

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
XMLWriter


Записать полный тэг DTD записи

XMLWriter::writeDTDElement
XMLWriter::writeDTD
XMLWriter
PHP Manual

XMLWriter::writeDTDEntity

xmlwriter_write_dtd_entity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDEntity -- xmlwriter_write_dtd_entity — Записать полный тэг DTD записи

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeDTDEntity ( string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Процедурный стиль

bool xmlwriter_write_dtd_entity ( resource $xmlwriter , string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Записывает полную DTD запись.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя записи.

content

Содержимое записи.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDEntity() - Создать начальную запись DTD
  • XMLWriter::endDTDEntity() - Завершить текущую запись DTD

XMLWriter::writeDTDElement
XMLWriter::writeDTD
XMLWriter


Записать полный тэг DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
XMLWriter
PHP Manual

XMLWriter::writeDTD

xmlwriter_write_dtd

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTD -- xmlwriter_write_dtd — Записать полный тэг DTD

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Процедурный стиль

bool xmlwriter_write_dtd ( resource $xmlwriter , string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Записывает полный тэг DTD.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя DTD.

publicId

Идентификатор внешнего публичного подмножества.

systemId

Идентификатор внешнего системного подмножества.

subset

Содержание DTD.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTD() - Создать стартовый DTD тэг
  • XMLWriter::endDTD() - Завершить текущий DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
XMLWriter


Записать полное пространство имен тега элемента

XMLWriter::writeDTD
XMLWriter::writeElement
XMLWriter
PHP Manual

XMLWriter::writeElementNS

xmlwriter_write_element_ns

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNS -- xmlwriter_write_element_ns — Записать полное пространство имен тега элемента

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeElementNS ( string $prefix , string $name , string $uri [, string $content ] )

Процедурный стиль

bool xmlwriter_write_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri [, string $content ] )

Записывает полное пространство имен тега элемента.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

prefix

Префикс пространства имен.

name

Имя элемента.

uri

URI пространства имен.

content

Содержимое элемента.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.3 | Параметр content стал опциональным.

Смотрите также

  • XMLWriter::startElementNS() - Создать начальный тег элемента пространства имен
  • XMLWriter::endElement() - Завершить текущий элемент
  • XMLWriter::writeElement() - Записать полный тег элемента

XMLWriter::writeDTD
XMLWriter::writeElement
XMLWriter


Записать полный тег элемента

XMLWriter::writeElementNS
XMLWriter::writePI
XMLWriter
PHP Manual

XMLWriter::writeElement

xmlwriter_write_element

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement -- xmlwriter_write_element — Записать полный тег элемента

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeElement ( string $name [, string $content ] )

Процедурный стиль

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

Записывает полный тег элемента.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

name

Имя элемента.

content

Содержимое элемента.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.3 | Параметр content стал опциональным.

Смотрите также

  • XMLWriter::startElement() - Создать стартовый тэг элемента
  • XMLWriter::endElement() - Завершить текущий элемент
  • XMLWriter::writeElementNS() - Записать полное пространство имен тега элемента

XMLWriter::writeElementNS
XMLWriter::writePI
XMLWriter


Записать инструкцию обработки (PI)

XMLWriter::writeElement
XMLWriter::writeRaw
XMLWriter
PHP Manual

XMLWriter::writePI

xmlwriter_write_pi

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writePI -- xmlwriter_write_pi — Записать инструкцию обработки (PI)

Описание

Объектно-ориентированный стиль

bool XMLWriter::writePI ( string $target , string $content )

Процедурный стиль

bool xmlwriter_write_pi ( resource $xmlwriter , string $target , string $content )

Записывает инструкцию обработки.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

target

Цель инструкций обработки.

content

Содержимое инструкций обработки.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startPI() - Создать начальный тэг PI
  • XMLWriter::endPI() - Завершить текущую инструкцию обработки (PI)

XMLWriter::writeElement
XMLWriter::writeRaw
XMLWriter


Пишет необработанный XML-текст

XMLWriter::writePI
XSL
XMLWriter
PHP Manual

XMLWriter::writeRaw

xmlwriter_write_raw

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw -- xmlwriter_write_raw — Пишет необработанный XML-текст

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeRaw ( string $content )

Процедурный стиль

bool xmlwriter_write_raw ( resource $xmlwriter , string $content )

Пишет необработанный XML-текст.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

content

Текстовая строка для записи.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::text() - Записать текст

XMLWriter::writePI
XSL
XMLWriter


XSL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Файлы collection.xml и collection.xsl для примеров
  • XSLTProcessor — Класс XSLTProcessor
    • XSLTProcessor::__construct — Создаёт новый экземпляр класса XSLTProcessor
    • XSLTProcessor::getParameter — Возвращает значение параметра
    • XSLTProcessor::hasExsltSupport — Определяет имеет ли PHP поддержку EXSLT
    • XSLTProcessor::importStylesheet — Импортирует таблицу стилей
    • XSLTProcessor::registerPHPFunctions — Включает возможность использовать PHP функции в качестве функций XSLT
    • XSLTProcessor::removeParameter — Удаляет параметр
    • XSLTProcessor::setParameter — Устанавливает значение параметра
    • XSLTProcessor::setProfiling — Устанавливает файл для профилирования
    • XSLTProcessor::transformToDoc — Преобразовует в DOMDocument
    • XSLTProcessor::transformToUri — Преобразует в URI
    • XSLTProcessor::transformToXML — Преобразует в XML
XMLWriter::writeRaw
Введение
Обработка XML


Введение

XSL расширение реализует XSL стандарты, поведение » XSLT трансформации при использовании » библиотеки libxslt

XSL
Установка и настройка
XSL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XSL


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

Это расширение использует libxslt, который может быть найден на » http://xmlsoft.org/XSLT/. Необходима версия libxslt 1.1.0, или выше.

Установка и настройка
Установка
Установка и настройка


Установка

PHP 5 содержит расширение XSL по умолчанию. Расширение может быть активировано добавлением аргумента --with-xsl[=DIR] в строку конфигурации. DIR - путь установки libxslt.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
версия libxslt формата 10117. Доступна с PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
версия libxslt формата 1.1.17. Доступна с PHP 5.1.2.
LIBEXSLT_VERSION (integer)
версия libexslt формата 813. Доступна с PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
версия libexslt формата 1.1.17. Доступна с PHP 5.1.2.
Типы ресурсов
Примеры
XSL


Примеры

Содержание

  • Файлы collection.xml и collection.xsl для примеров
Предопределенные константы
Файлы collection.xml и collection.xsl для примеров
XSL


Файлы collection.xml и collection.xsl для примеров

Многие примеры в этом разделе документации содержат оба файла: XML и XSL. Мы будем использовать collection.xml и collection.xsl со следующим содержанием:

Пример #1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Пример #2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Примеры
XSLTProcessor
Примеры


Класс XSLTProcessor

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Описание класса.

Обзор классов

XSLTProcessor {
/* Методы */
string XSLTProcessor::getParameter ( string $namespaceURI , string $localName )
bool hasExsltSupport ( void )
void importStylesheet ( object $stylesheet )
void registerPHPFunctions ([ mixed $restrict ] )
bool removeParameter ( string $namespaceURI , string $localName )
bool setParameter ( string $namespace , string $name , string $value )
bool setProfiling ( string $filename )
DOMDocument transformToDoc ( DOMNode $doc )
int transformToURI ( DOMDocument $doc , string $uri )
string transformToXML ( DOMDocument $doc )
}

Содержание

  • XSLTProcessor::__construct — Создаёт новый экземпляр класса XSLTProcessor
  • XSLTProcessor::getParameter — Возвращает значение параметра
  • XSLTProcessor::hasExsltSupport — Определяет имеет ли PHP поддержку EXSLT
  • XSLTProcessor::importStylesheet — Импортирует таблицу стилей
  • XSLTProcessor::registerPHPFunctions — Включает возможность использовать PHP функции в качестве функций XSLT
  • XSLTProcessor::removeParameter — Удаляет параметр
  • XSLTProcessor::setParameter — Устанавливает значение параметра
  • XSLTProcessor::setProfiling — Устанавливает файл для профилирования
  • XSLTProcessor::transformToDoc — Преобразовует в DOMDocument
  • XSLTProcessor::transformToUri — Преобразует в URI
  • XSLTProcessor::transformToXML — Преобразует в XML
Файлы collection.xml и collection.xsl для примеров
XSLTProcessor::__construct
XSL


Создаёт новый экземпляр класса XSLTProcessor

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor
PHP Manual

XSLTProcessor::__construct

(PHP 5)

XSLTProcessor::__construct — Создаёт новый экземпляр класса XSLTProcessor

Описание

XSLTProcessor::__construct ( void )

Создаёт новый экземпляр класса XSLTProcessor.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Создаёт XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor


Возвращает значение параметра

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor
PHP Manual

XSLTProcessor::getParameter

(PHP 5)

XSLTProcessor::getParameter — Возвращает значение параметра

Описание

string XSLTProcessor::getParameter ( string $namespaceURI , string $localName )

Возвращает параметр, если он раньше установлен с помощью XSLTProcessor::setParameter().

Список параметров

namespaceURI

Пространство имён URI параметра XSLT.

localName

Локальное имя параметра XSLT.

Возвращаемые значения

Значение параметра, или NULL, если оно не установлено.

Смотрите также

  • XSLTProcessor::setParameter() - Устанавливает значение параметра
  • XSLTProcessor::removeParameter() - Удаляет параметр

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor


Определяет имеет ли PHP поддержку EXSLT

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor
PHP Manual

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4)

XSLTProcessor::hasExsltSupport — Определяет имеет ли PHP поддержку EXSLT

Описание

bool XSLTProcessor::hasExsltSupport ( void )

Этот метод определяет был ли PHP сконфигурирован с » библиотекой EXSLT.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Проверка поддержки EXSLT

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT support not available');
}

// выполнение некоторых действий EXSLT ..

?>

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor


Импортирует таблицу стилей

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor
PHP Manual

XSLTProcessor::importStylesheet

(PHP 5)

XSLTProcessor::importStylesheet — Импортирует таблицу стилей

Описание

void XSLTProcessor::importStylesheet ( object $stylesheet )

Этот метод импортирует таблицу стилей в XSLTProcessor для трансформации.

Список параметров

stylesheet

Импортируемая таблица стилей в виде объекта DOMDocument или SimpleXMLElement.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.2.8 | Принимает SimpleXMLElement вновь, что было невозможно в версии PHP 5.2.6 и более поздних.

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor


Включает возможность использовать PHP функции в качестве функций XSLT

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctions — Включает возможность использовать PHP функции в качестве функций XSLT

Описание

void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )

Этот метод позволяет использовать PHP функции как функции XSLT в XSL таблицах стилей.

Список параметров

restrict

Используйте этот параметр, если хотите вызывать из XSLT только некоторые функции из.

Этот параметр может принимать либо строковое значение - название функции, либо массив - список названий.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Простой вызов функции PHP из таблицы стилей

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

Список изменений

Версия | Описание
5.1.0 | Был добавлен параметр restrict.

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor


Удаляет параметр

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor
PHP Manual

XSLTProcessor::removeParameter

(PHP 5)

XSLTProcessor::removeParameter — Удаляет параметр

Описание

bool XSLTProcessor::removeParameter ( string $namespaceURI , string $localName )

Удаляет параметр, если он установлен. Это позволяет процессору использовать значение в таблице стилей, установленное по умолчанию.

Список параметров

namespaceURI

Пространство имён URI параметра XSLT.

localName

Локальное название XSLT параметра.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XSLTProcessor::setParameter() - Устанавливает значение параметра
  • XSLTProcessor::getParameter() - Возвращает значение параметра

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor


Устанавливает значение параметра

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor
PHP Manual

XSLTProcessor::setParameter

(PHP 5)

XSLTProcessor::setParameter — Устанавливает значение параметра

Описание

bool XSLTProcessor::setParameter ( string $namespace , string $name , string $value )
bool XSLTProcessor::setParameter ( string $namespace , array $options )

Устанавливает значение для одного или нескольких параметров, чтобы использовать в дальнейшем в преобразованиях XSLTProcessor. Если параметра нет в таблице стилей, то он будет проигнорирован.

Список параметров

namespace

Пространство имён URI параметра XSLT.

name

Локальное название параметра XSLT.

value

Новое значение параметра XSLT.

options

Массив пар name => value. Этот синтаксис доступен с PHP 5.1.0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Изменение владельца перед преобразованием

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

foreach ($collections as $name => $file) {
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Смотрите также

  • XSLTProcessor::getParameter() - Возвращает значение параметра
  • XSLTProcessor::removeParameter() - Удаляет параметр

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor


Устанавливает файл для профилирования

XSLTProcessor::setParameter
XSLTProcessor::transformToDoc
XSLTProcessor
PHP Manual

XSLTProcessor::setProfiling

(PHP >= 5.3.0)

XSLTProcessor::setProfiling — Устанавливает файл для профилирования

Описание

bool XSLTProcessor::setProfiling ( string $filename )

Устанавливает файл для записи профилирующей информации во время обработки таблиц стилей.

Список параметров

filename

Путь к файлу, в который записывается профилирующая информация.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример вывода профилирующей информации

<?php
// Загрузка исходного XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // добавление стилей xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

Вышеприведенный код записывает следующую информацию в файл профилирования:

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4

XSLTProcessor::setParameter
XSLTProcessor::transformToDoc
XSLTProcessor


Преобразовует в DOMDocument

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor
PHP Manual

XSLTProcessor::transformToDoc

(PHP 5)

XSLTProcessor::transformToDoc — Преобразовует в DOMDocument

Описание

DOMDocument XSLTProcessor::transformToDoc ( DOMNode $doc )

Преобразовует исходный узел в DOMDocument применяя таблицу стилей, заданую с помощью метода XSLTProcessor::importStylesheet().

Список параметров

doc

Узел, который нужено преобразовать.

Возвращаемые значения

Возвращает DOMDocument или FALSE при ошибке.

Примеры

Пример #1 Преобразование в DOMDocument

<?php

// Загрузка исходного XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

Результат выполнения данного примера:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Смотрите также

  • XSLTProcessor::transformToUri() - Преобразует в URI
  • XSLTProcessor::transformToXml() - Преобразует в XML

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor


Преобразует в URI

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor
PHP Manual

XSLTProcessor::transformToUri

(PHP 5)

XSLTProcessor::transformToUri — Преобразует в URI

Описание

int XSLTProcessor::transformToURI ( DOMDocument $doc , string $uri )

Преобразует исходный узел в URI, применяя таблицу стилей, которая установленна с помощью метода XSLTProcessor::importStylesheet().

Список параметров

doc

Документ для преобразоваия.

uri

Целевой URI для преобразования.

Возвращаемые значения

Возвращает количество записаных байтов, либо FALSE при ошибке.

Примеры

Пример #1 Преобразование в HTML файл

<?php

// Загрузка источника XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Смотрите также

  • XSLTProcessor::transformToDoc() - Преобразовует в DOMDocument
  • XSLTProcessor::transformToXml() - Преобразует в XML

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor


Преобразует в XML

XSLTProcessor::transformToUri
XSLT (PHP 4)
XSLTProcessor
PHP Manual

XSLTProcessor::transformToXML

(PHP 5)

XSLTProcessor::transformToXML — Преобразует в XML

Описание

string XSLTProcessor::transformToXML ( DOMDocument $doc )

Преобразует исходный узел в строку, применяя таблицы стилей, которые установлены с помощью метода xsltprocessor::importStylesheet().

Список параметров

doc

Преобразуемый документ.

Возвращаемые значения

Результат преобразования, или FALSE при ошибке.

Примеры

Пример #1 Трансформация в строку

<?php

// Загрузка источника XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

?>

Результат выполнения данного примера:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Смотрите также

  • XSLTProcessor::transformToDoc() - Преобразовует в DOMDocument
  • XSLTProcessor::transformToUri() - Преобразует в URI

XSLTProcessor::transformToUri
XSLT (PHP 4)
XSLTProcessor


XSLT (PHP 4)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XSLT (PHP 4) Функции
    • xslt_backend_info — Возвращает информацию о настройках, заданных при компиляции расширения (backend)
    • xslt_backend_name — Возвращает имя расширения
    • xslt_backend_version — Возвращает номер версии Sablotron
    • xslt_create — Создает новый XSLT-процессор
    • xslt_errno — Возвращает код ошибки
    • xslt_error — Возвращает сообщение об ошибке
    • xslt_free — Освобождение XSLT-процессора
    • xslt_getopt — Получение настроек заданного XSLT-процессора
    • xslt_process — Запуск XSLT преобразования
    • xslt_set_base — Установка базового URI для всех XSLT преобразований
    • xslt_set_encoding — Задание кодировки для разбора XML документов
    • xslt_set_error_handler — Задание обработчика ошибок для XSLT-процессора
    • xslt_set_log — Задание файла журнала для записи сообщений XSLT процессора
    • xslt_set_object — Задает объект, в котором будут реализованы callback-функции
    • xslt_set_sax_handler — Задает SAX обработчик для XSLT-процессора
    • xslt_set_sax_handlers — Задает SAX обработчики, которые будут вызваться после разбора XML докумнента
    • xslt_set_scheme_handler — Задает обработчики схемы для XSLT-процессора
    • xslt_set_scheme_handlers — Задает обработчики схемы для XSLT-процессора
    • xslt_setopt — Установка значений настроек XSLT-процессора
XSLTProcessor::transformToXML
Введение
Обработка XML


Введение

Это PHP расширение предоставляет независимый от процессора API для XSLT преобразований. На данный момент поддерживается только библиотека Sablotron от Ginger Alliance. Планируется поддержка и других библиотек, таких как Xalan или libxslt.

XSLT (Extensible Stylesheet Language (XSL) Transformations) - язык для преобразований XML документов в другие XML документы. Это стандарт, описанный Консорциумом Всемирной Паутины (W3C). Информацию о XSLT и сопутствующих технологиях можно найти на » http://www.w3.org/TR/xslt.

Замечание: Это расширение отличается от sablotron расширения выпущенного для версий PHP ниже 4.1.0. На данный момент в PHP 4.1.0 поддерживается только новое расширение. Если нужна поддержка старых расширений, обращайтесь в списки рассылки PHP.

Замечание:

Это расширение было перемещно в репозиторий » PECL и больше не поставляется с PHP 5.0.0.

Замечание: Если требуется поддержка xslt в PHP 5, можно воспользоваться XSL расширением.

XSLT (PHP 4)
Установка и настройка
XSLT (PHP 4)


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XSLT (PHP 4)


Требования

Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.

Это расширение использует библиотеки Sablotron и expat, которые можно найти по адресу » http://freshmeat.net/projects/sablotron/. На ресурсе предоставлены исходные коды и двоичные файлы.

Для подключения добавьте в PHP 4 настройку --with-xslt .

Установка и настройка
Установка
Установка и настройка


Установка

На Unix системах выполните configure с параметрами --enable-xslt --with-xslt-sablot . Sablotron библиотека должна быть установлена в директорию, в которой ваш компилятор сможет ее найти.

Убедитесь, что к Sablotron библиотеке подключены те же библиотеки, что и к PHP. Настройки конфигурации --with-expat-dir=DIR --with-iconv-dir=DIR могут вам помочь задать пути к этим библиотекам. Если будете обращаться за поддержкой, всегда упоминайте эти пути и есть ли другие установленные в системе версии этих библиотек. Естественно, указывайте все номера версий.

Предостережение

Убедитесь, что ваша Sablotron библиотека прилинкована к -lstdc++. В противном случае процедура конфигурирования потерпит неудачу, или PHP откажет при загрузке или запуске.

Замечание: Поддержка JavaScript E-XSLT
Если Sablotron библиотека скомпилирована с поддержкой JavaScript, необходимо задать еще один параметр: --with-sablot-js=DIR .

Замечание: Заметка для Win32 пользователей

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: sablot.dll, expat.dll и iconv.dll

Для PHP <= 4.2.0, файл iconv.dll не требуется.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Это расширение определяет ресурс XSLT процессора, возвращаемый функцией xslt_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

XSLT_OPT_SILENT (integer)
Отключение всего протоколирования и сообщений об ошибках. Эта настройка относится ко всем серверам (backends) и, возможно, будет добавлена в будущем.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Дать указание Sablotron разбирать все общедоступные сущности. По умолчанию этого не делается.

XSLT_SABOPT_DISABLE_ADDING_META (integer)

Не добавлять мета-тэг "Content-Type" в HTML вывод. Умолчания для этой настройки задаются во время компиляции библиотеки Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (integer)
Запретить удаление пробелов (только для файлов с данными).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)
Не считать фатальными неразобранные документы (функция document()).
XSLT_SABOPT_FILES_TO_HANDLER (integer)
XSLT_ERR_UNSUPPORTED_SCHEME (integer)
Код возврата при ошибке обработчиков схемы.
Типы ресурсов
XSLT (PHP 4) Функции
XSLT (PHP 4)


XSLT (PHP 4) Функции

Содержание

  • xslt_backend_info — Возвращает информацию о настройках, заданных при компиляции расширения (backend)
  • xslt_backend_name — Возвращает имя расширения
  • xslt_backend_version — Возвращает номер версии Sablotron
  • xslt_create — Создает новый XSLT-процессор
  • xslt_errno — Возвращает код ошибки
  • xslt_error — Возвращает сообщение об ошибке
  • xslt_free — Освобождение XSLT-процессора
  • xslt_getopt — Получение настроек заданного XSLT-процессора
  • xslt_process — Запуск XSLT преобразования
  • xslt_set_base — Установка базового URI для всех XSLT преобразований
  • xslt_set_encoding — Задание кодировки для разбора XML документов
  • xslt_set_error_handler — Задание обработчика ошибок для XSLT-процессора
  • xslt_set_log — Задание файла журнала для записи сообщений XSLT процессора
  • xslt_set_object — Задает объект, в котором будут реализованы callback-функции
  • xslt_set_sax_handler — Задает SAX обработчик для XSLT-процессора
  • xslt_set_sax_handlers — Задает SAX обработчики, которые будут вызваться после разбора XML докумнента
  • xslt_set_scheme_handler — Задает обработчики схемы для XSLT-процессора
  • xslt_set_scheme_handlers — Задает обработчики схемы для XSLT-процессора
  • xslt_setopt — Установка значений настроек XSLT-процессора
Предопределенные константы
xslt_backend_info
XSLT (PHP 4)


Возвращает информацию о настройках, заданных при компиляции расширения (backend)

XSLT (PHP 4) Функции
xslt_backend_name
XSLT (PHP 4) Функции
PHP Manual

xslt_backend_info

(PHP 4 >= 4.3.0)

xslt_backend_info — Возвращает информацию о настройках, заданных при компиляции расширения (backend)

Описание

string xslt_backend_info ( void )

xslt_backend_info() получает информацию о настройках, заданных при компиляции расширения (backend).

Возвращаемые значения

Возвращает строку с информацией о настройках, заданных при компиляции расширения (backend), либо сообщение об ошибке, если подобной информации нет.

Смотрите также

  • xslt_backend_name() - Возвращает имя расширения
  • xslt_backend_version() - Возвращает номер версии Sablotron

XSLT (PHP 4) Функции
xslt_backend_name
XSLT (PHP 4) Функции


Возвращает имя расширения

xslt_backend_info
xslt_backend_version
XSLT (PHP 4) Функции
PHP Manual

xslt_backend_name

(PHP 4 >= 4.3.0)

xslt_backend_name — Возвращает имя расширения

Описание

string xslt_backend_name ( void )

xslt_backend_name() получает имя расширения (backend).

Возвращаемые значения

Возвращает Sablotron.

Примеры

Пример #1 Пример использования xslt_backend_name()

<?php

echo xslt_backend_name(); // Sablotron

?>

Смотрите также

  • xslt_backend_info() - Возвращает информацию о настройках, заданных при компиляции расширения (backend)
  • xslt_backend_version() - Возвращает номер версии Sablotron

xslt_backend_info
xslt_backend_version
XSLT (PHP 4) Функции


Возвращает номер версии Sablotron

xslt_backend_name
xslt_create
XSLT (PHP 4) Функции
PHP Manual

xslt_backend_version

(PHP 4 >= 4.3.0)

xslt_backend_version — Возвращает номер версии Sablotron

Описание

string xslt_backend_version ( void )

xslt_backend_version() получает номер версии Sablotron.

Возвращаемые значения

Возвращает номер версии или FALSE, если он недоступен.

Примеры

Пример #1 Пример использования xslt_backend_version()

<?php

echo xslt_backend_version(); // 0.98 например
?>

Смотрите также

  • xslt_backend_info() - Возвращает информацию о настройках, заданных при компиляции расширения (backend)
  • xslt_backend_name() - Возвращает имя расширения

xslt_backend_name
xslt_create
XSLT (PHP 4) Функции


Создает новый XSLT-процессор

xslt_backend_version
xslt_errno
XSLT (PHP 4) Функции
PHP Manual

xslt_create

(PHP 4 >= 4.0.3)

xslt_create — Создает новый XSLT-процессор

Описание

resource xslt_create ( void )

Создает новый XSLT-процессор, используемый другими XSLT функциями, и возвращает его ресурс.

Возвращаемые значения

Возвращает ресурс XSLT-процессора или FALSE в случае ошибки.

Примеры

Пример #1 Пример использования xslt_create()

<?php
function xml2html($xmldata, $xsl)
{
    /* $xmldata -> ваш XML */
    /* $xsl -> XSLT файл */

    $path = 'include';
    $arguments = array('/_xml' => $xmldata);
    $xsltproc = xslt_create();
    xslt_set_encoding($xsltproc, 'ISO-8859-1');
    $html =
        xslt_process($xsltproc, 'arg:/_xml', "$path/$xsl", NULL, $arguments);

    if (empty($html)) {
       die('Ошибка при XSLT обработке: '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
?>

Смотрите также

  • xslt_free() - Освобождение XSLT-процессора

xslt_backend_version
xslt_errno
XSLT (PHP 4) Функции


Возвращает код ошибки

xslt_create
xslt_error
XSLT (PHP 4) Функции
PHP Manual

xslt_errno

(PHP 4 >= 4.0.3)

xslt_errno — Возвращает код ошибки

Описание

int xslt_errno ( resource $xh )

Возвращает код последней ошибки, произошедшей в работе заданного XSLT процессора.

Список параметров

xh

Ресурс XSLT процессора, возвращаемый функцией xslt_create().

Возвращаемые значения

Возвращает целое число, соответствующее коду ошибки.

Смотрите также

  • xslt_error() - Возвращает сообщение об ошибке

xslt_create
xslt_error
XSLT (PHP 4) Функции


Возвращает сообщение об ошибке

xslt_errno
xslt_free
XSLT (PHP 4) Функции
PHP Manual

xslt_error

(PHP 4 >= 4.0.3)

xslt_error — Возвращает сообщение об ошибке

Описание

string xslt_error ( resource $xh )

Возвращает строку, содержащую описание последней ошибки, произошедшей в процессе работы XSLT-процессора.

Список параметров

xh

Ресурс XSLT-процессора, возвращаемый функцией xslt_create().

Возвращаемые значения

Возвращает сообщение об ошибке в виде строки.

Примеры

Пример #1 Обработка ошибок с использованием функций xslt_error() и xslt_errno().

<?php

$xh = xslt_create();
$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
if (!$result) {
    die(sprintf("Невозможно преобразовать XSLT документ [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

xslt_free($xh);
?>

Смотрите также

  • xslt_errno() - Возвращает код ошибки

xslt_errno
xslt_free
XSLT (PHP 4) Функции


Освобождение XSLT-процессора

xslt_error
xslt_getopt
XSLT (PHP 4) Функции
PHP Manual

xslt_free

(PHP 4 >= 4.0.3)

xslt_free — Освобождение XSLT-процессора

Описание

void xslt_free ( resource $xh )

Освобождает ресурс, занятый XSLT-процессором.

Список параметров

xh

Ресурс XSLT-процессора, возвращаемый функцией xslt_create().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • xslt_create() - Создает новый XSLT-процессор

xslt_error
xslt_getopt
XSLT (PHP 4) Функции


Получение настроек заданного XSLT-процессора

xslt_free
xslt_process
XSLT (PHP 4) Функции
PHP Manual

xslt_getopt

(PHP 4 >= 4.3.0)

xslt_getopt — Получение настроек заданного XSLT-процессора

Описание

int xslt_getopt ( resource $processor )

xslt_getopt() возвращает значения настроек XSLT-процессора processor.

Список параметров

processor

Ресурс XSLT-процессора, возвращаемый функцией xslt_create().

Возвращаемые значения

Возвращает значения настроек в виде битовой маски, созданной с помощью констант XSLT_SABOPT_XXX.

Смотрите также

  • xslt_setopt() - Установка значений настроек XSLT-процессора

xslt_free
xslt_process
XSLT (PHP 4) Функции


Запуск XSLT преобразования

xslt_getopt
xslt_set_base
XSLT (PHP 4) Функции
PHP Manual

xslt_process

(PHP 4 >= 4.0.3)

xslt_process — Запуск XSLT преобразования

Описание

mixed xslt_process ( resource $xh , string $xmlcontainer , string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters ]]] )

xslt_process() - главная функция расширения XSLT. Она позволяет применить XSLT преобразование практически к любому типу входных данных - контейнеров. Это возможно, благодаря использованию буферов аргументов - концепция, взятая из Sablotron XSLT процессора (на данный момент это расширение поддерживает только XSLT процессор). По умолчанию, контейнеры - файлы содержащие документ для преобразования.

Список параметров

xh

Ресурс XSLT-процессора, возвращаемый функцией xslt_create().

xmlcontainer

Путь к XML файлу или псевдопеременная для XML аргумента.

xslcontainer

Путь к XSL файлу или псевдопеременная для XML аргумента.

resultcontainer

Контейнер для результата. По умолчанию, это имя файла для записи преобразованного документа. Если не задано - то есть NULL - то результат будет возвращен из функции.

arguments

Вместо явного указания аргументов XML и XSLT в функции xslt_process() можно задать "псевдопеременные", которые будут заменяться значениями из отдельного массива аргументов arguments.

parameters

Массив параметров, которые будут передаваться в XSLT-документ. Доступ к этим параметрам из XSL файлов можно получить, используя инструкцию <xsl:param name="имя_параметра">. Параметры должны быть закодированы в UTF-8, а их значения будут интерпретированы Sablotron процессором, как символьные строки. Другими словами, нельзя передавать узлы и поддеревья в качестве параметров в XSLT документ.

Контейнеры также могут быть заданы в виде массива arguments (см. ниже).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если контейнер для результата не задан - т.е. NULL - будет возвращен результат преобразования.

Список изменений

Версия | Описание
4.0.6 | Эта функция больше не принимает XML строки в качестве значений xmlcontainer или xslcontainer. Передача строк с XML данными в качестве какого-либо из этих параметров приведет к ошибке распределения памяти в версиях Sablotron ранее 0.95 включительно.

Примеры

Простейший тип преобразования с помощью функции xslt_process() - это преобразование XML файла с файлом XSLT и помещение результата в третий файл, который будет содержать новый XML (или HTML) документ. Делать подобные преобразования с помощью Sablotron довольно просто...

Пример #1 Использование функции xslt_process() для преобразования XML и XSL файлов в новый XML файл

<?php

// Создание нового XSLT процессора
$xh = xslt_create();

// Преобразование документа
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    echo "УСПЕХ, sample.xml преобразован в соответствии с sample.xsl в result.xml";
    echo ", содержимое result.xml:\n<br />\n";
    echo "<pre>\n";
    readfile('result.xml');
    echo "</pre>\n";
} else {
    echo "К сожалению, sample.xml не может быть преобразован в соответсвии с sample.xsl в";
    echo "  result.xml по следующей причине: " . xslt_error($xh) . ", код ошибки: ";
    echo xslt_errno($xh);
}

xslt_free($xh);

?>

Зачастую, особенно это относится к web окружению, требуется прямой вывод результата преобразования. Этого можно добиться, если опустить третий аргумент функции xslt_process() (или передать в качестве него NULL). В этом случае функция вернет результат XSLT преобразования без помещения его в файл...

Пример #2 Использование функции xslt_process() для преобразования XML и XSL файлов в переменную, содержащую результирующие XML данные

<?php

// Создание нового XSLT processor
$xh = xslt_create();

// Преобразование документа, возврат результата в переменную $result
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    echo " УСПЕХ, sample.xml преобразован в соответствии с sample.xsl в переменную \$result";
    echo ", содержимое переменной \$result следующее:\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo " К сожалению, sample.xml не может быть преобразован в соответсвии с sample.xsl в";
    echo " переменную \$result по следующей причине: " . xslt_error($xh);
    echo ". Код ошибки: " . xslt_errno($xh);
}

xslt_free($xh);

?>

Приведенные выше ситуации и примеры являются наиболее общими и используются чаще всего. Однако, в ряде случаев XML и XSLT может быть получен из внешних источников, таких как база данных или сокет. В этих случаях XML и/или XSLT данные хранятся в переменных, а помещение их в файлы создаст дополнительные временные затраты, что для некоторых приложений критично. В этих исключительных ситуациях на помощь придет особый синтаксис "аргументов" XSLT. Вместо XML и XSLT файлов в качестве аргументов в функции xslt_process() можно задать "псевдопеременные", на места которых будут подставлены значения отдельного массива аргументов (5й аргумент функции xslt_process()). Ниже представлен пример, в котором XML и XSLT преобразуются с сохранением результата в переменной и без использования файлов вообще.

Пример #3 Использование функции xslt_process() для преобразования XML и XSL данных, содержащихся в переменных и сохранения результата в другую переменную с XML кодом.

<?php
// $xml и $xsl содержат XML и XSL данные

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

// Создаем новый XSLT-процессор
$xh = xslt_create();

// Преобразование документа
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
if ($result) {
    echo " УСПЕХ, sample.xml преобразован в соответствии с sample.xsl в переменную \$result";
    echo ", содержимое переменной \$result следующее:\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo " К сожалению, sample.xml не может быть преобразован в соответсвии с sample.xsl в";
    echo " переменную \$result по следующей причине: " . xslt_error($xh);
    echo ". Код ошибки: " . xslt_errno($xh);
}
xslt_free($xh);
?>

Пример #4 Передача PHP переменных в XSL файлы

<?php

// XML строка
$xml = '<?xml version="1.0"?>
<para>
 change me
</para>';

// XSL строка
$xsl = '
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no"
 omit-xml-declaration="yes"  media-type="text/html"/>
 <xsl:param name="myvar"/>
 <xsl:param name="mynode"/>
 <xsl:template match="/">
Моя PHP переменная : <xsl:value-of select="$myvar"/><br />
Мой набор узлов : <xsl:value-of select="$mynode"/>
 </xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

// второй параметр будет интерпретирован как строка
$parameters = array (
  'myvar' => 'test',
  'mynode' => '<foo>bar</foo>'
);

$arguments = array (
  '/_xml' => $xml,
  '/_xsl' => $xsl
);

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments, $parameters);

?>

Результат выполнения данного примера:

Моя PHP переменная : test<br>
Мой набор узлов : &lt;foo&gt;bar&lt;/foo&gt;

Примечания

Замечание:

Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

xslt_getopt
xslt_set_base
XSLT (PHP 4) Функции


Установка базового URI для всех XSLT преобразований

xslt_process
xslt_set_encoding
XSLT (PHP 4) Функции
PHP Manual

xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_base — Установка базового URI для всех XSLT преобразований

Описание

void xslt_set_base ( resource $xh , string $uri )

Задает значение базового URI для всех XSLT преобразований. Этот URI используется в Xpath инструкциях для разбора document() и других команд, имеющих доступ к внешним источникам. Также он используется для разрешения URI элементов <xsl:include> и <xsl:import>.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

uri

Значение базового URI.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.3.0 | В версии PHP 4.3.0 значением базового URI по умолчанию является директория выполняющегося скрипта. Фактически, это директория, заданная в константе __FILE__. Умолчания для базового URI в более ранних версиях PHP менее предсказуемы.

Примечания

Замечание:

Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

xslt_process
xslt_set_encoding
XSLT (PHP 4) Функции


Задание кодировки для разбора XML документов

xslt_set_base
xslt_set_error_handler
XSLT (PHP 4) Функции
PHP Manual

xslt_set_encoding

(PHP 4 >= 4.0.5)

xslt_set_encoding — Задание кодировки для разбора XML документов

Описание

void xslt_set_encoding ( resource $xh , string $encoding )

Задает кодировку результата XSLT преобразований. При использовании для XSLT преобразований серверного приложения Sablotron эта настройка будет доступна, если Sablotron компилировался с поддержкой кодировок.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

encoding

Кодировка результата, например iso-8859-1.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_base
xslt_set_error_handler
XSLT (PHP 4) Функции


Задание обработчика ошибок для XSLT-процессора

xslt_set_encoding
xslt_set_log
XSLT (PHP 4) Функции
PHP Manual

xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler — Задание обработчика ошибок для XSLT-процессора

Описание

void xslt_set_error_handler ( resource $xh , mixed $handler )

Задает функцию обработки ошибок для XSLT-процессора, заданного аргументом xh. Эта функция будет вызываться в случает возникновения ошибок в процессе XSLT преобразования (также она будет вызываться при уведомлениях).

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

handler

Пользовательская функция должна принимать четыре аргумента: ссылку на XSLT-процессор, уровень ошибки, код ошибки и массив сообщений об ошибках. Это может выглядеть так:

error_handler ( resource $xh , int $error_level , int $error_code , array $messages )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования xslt_set_error_handler()

<?php

// Наш обработчик ошибок XSLT
function xslt_error_handler($handler, $errno, $level, $info)
{
  // проверим список аргументов
  var_dump(func_get_args());
}

// XML содержимое :
$xml='<?xml version="1.0"?>
<para>
 упс, я пропустил закрывающий тэг
</pata>';

// XSL содержимое :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                  NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  [0]=>
  resource(1) of type (XSLT Processor)
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  array(6) {
    ["msgtype"]=>
    string(5) "error"
    ["code"]=>
    string(1) "2"
    ["module"]=>
    string(9) "Sablotron"
    ["URI"]=>
    string(9) "arg:/_xml"
    ["line"]=>
    string(1) "4"
    ["msg"]=>
    string(34) "XML parser error 7: mismatched tag"
  }
}

Смотрите также

  • xslt_set_object() - Задает объект, в котором будут реализованы callback-функции, если нужно использовать метод объекта в качестве обработчика

xslt_set_encoding
xslt_set_log
XSLT (PHP 4) Функции


Задание файла журнала для записи сообщений XSLT процессора

xslt_set_error_handler
xslt_set_object
XSLT (PHP 4) Функции
PHP Manual

xslt_set_log

(PHP 4 >= 4.0.6)

xslt_set_log — Задание файла журнала для записи сообщений XSLT процессора

Описание

void xslt_set_log ( resource $xh [, mixed $log ] )

Эта функция позволяет задать файл, в который будут записываться сообщения XSLT-процессора. Сообщения XSLT-процессора отличаются от сообщений об ошибках, они не являются сообщениями об ошибках, но также зависят от состояния XSLT-процессора. Эти сообщения могут быть полезны для отладки XSLT в случаях, когда преобразование проходит ненадлежащим образом.

По умолчанию протоколирование событий отключено. Для его включения необходимо вызвать функцию xslt_set_log() с аргументом логического типа (boolean). Для задания файла журнала необходимо вызвать эту функцию повторно, но передать ей в качестве аргумента уже строку, содержащую имя файла.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

log

Этот аргумент может быть логического типа для включения и выключения протоколирования, либо это может быть строка содержащая имя файла журнала, в который будут записываться сообщения, в том числе и об ошибках.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание:

Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

Примеры

Пример #1 Использование возможностей протоколирования XSLT

<?php

$xh = xslt_create();
xslt_set_log($xh, true);
xslt_set_log($xh, getcwd() . '/myfile.log');

$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
echo $result;

xslt_free($xh);
?>

xslt_set_error_handler
xslt_set_object
XSLT (PHP 4) Функции


Задает объект, в котором будут реализованы callback-функции

xslt_set_log
xslt_set_sax_handler
XSLT (PHP 4) Функции
PHP Manual

xslt_set_object

(PHP 4 >= 4.3.0)

xslt_set_object — Задает объект, в котором будут реализованы callback-функции

Описание

bool xslt_set_object ( resource $processor , object &$obj )

Эта функция позволяет использовать processor внутри объекта object и реализовать все callback-функции как методы этого объекта.

Callback-функции могут задаваться с помощью функций
xslt_set_sax_handlers(),
xslt_set_scheme_handlers() или
xslt_set_error_handler() и быть объявлены как методы
объекта object.

Список параметров

processor

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

obj

Объект.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Использование собственного обработчика ошибок в качестве метода

<?php

class my_xslt_processor {

    var $_xh; // наш XSLT-процессор

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // внедряем процессор в объект $this
        xslt_set_object($this->_xh, $this);

        // задаем обработчик ошибок
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // проверим список аргументов
        var_dump(func_get_args());
    }
}

?>
xslt_set_log
xslt_set_sax_handler
XSLT (PHP 4) Функции


Задает SAX обработчик для XSLT-процессора

xslt_set_object
xslt_set_sax_handlers
XSLT (PHP 4) Функции
PHP Manual

xslt_set_sax_handler

(PHP 4 >= 4.0.3)

xslt_set_sax_handler — Задает SAX обработчик для XSLT-процессора

Описание

void xslt_set_sax_handler ( resource $xh , array $handlers )

Задает SAX обработчики для заданного XSLT-процессора xh.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

handlers

SAX обработчики должны быть двумерным массивом с определенным форматом (элементы верхнего уровня являются необязательными):

array(
[document] =>
    array(
        обработчик начала документа,
        обработчик окончания документа
    ),
[element] =>
    array(
        обработчик начала элемента,
        обработчик окончания элемента
    ),
[namespace] =>
    array(
        обработчик начала пространства имен,
        обработчик окончания пространства имен
    ),
[comment] => обработчик комментария,
[pi] => обработчик PI,
[character] => обработчик символьных данных
)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_object
xslt_set_sax_handlers
XSLT (PHP 4) Функции


Задает SAX обработчики, которые будут вызваться после разбора XML докумнента

xslt_set_sax_handler
xslt_set_scheme_handler
XSLT (PHP 4) Функции
PHP Manual

xslt_set_sax_handlers

(PHP 4 >= 4.0.6)

xslt_set_sax_handlers — Задает SAX обработчики, которые будут вызваться после разбора XML докумнента

Описание

void xslt_set_sax_handlers ( resource $processor , array $handlers )

xslt_set_sax_handlers() задает SAX обработчики handlers для документа и заданного ресурса XSLT-процессора processor.

Использование xslt_set_sax_handlers() не сильно отличается от применения SAX парсера, как например xml_parse(), к результату xslt_process() преобразования.

Список параметров

processor

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

handlers

handlers должны быть массивом следующего формата:

<?php

$handlers = array(

  "document" => array(
    "start_doc",
    "end_doc"),

  "element"  => array(
    "start_element",
    "end_element"),

  "namespace" => array(
    "start_namespace",
    "end_namespace"),

  "comment"   => "comment",

  "pi"        => "pi",

  "character" => "characters"

);
?>
Синтаксис функций описан в документации к функциям обработки схем.

Замечание:

Заданный массив не обязан содержать все sax обработчики (хотя он может), но элементы массива должны точно соответствовать формату "обработчик" => "функция", описанному выше.

SAX функции-обработчики имеют следующий формат:

  • start_doc ( resource $processor )

  • end_doc ( resource $processor )

  • start_element ( resource $processor , string $name , array $attributes )

  • end_element ( resource $processor , string $name )

  • start_namespace ( resource $processor , string $prefix , string $uri )

  • end_namespace ( resource $processor , string $prefix )

  • comment ( resource $processor , string $contents )

  • pi ( resource $processor , string $target , string $contents )

  • characters ( resource $processor , string $contents )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования xslt_set_sax_handlers()

<?php
// От ohlesbeauxjours at yahoo dot fr
// В этом примере к содержимому каждого тэга <auteur>
// применяется функция strtoupper(), а затем выводится
// результат в виде XML дерева:

$xml='<?xml version="1.0"?>
<books>
 <book>
  <title>Mme Bovary</title>
  <author>Gustave Flaubert</author>
 </book>
 <book>
  <title>Mrs Dalloway</title>
  <author>Virginia Woolf</author>
 </book>
</books>';

$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
 <xsl:for-each select="books/book">
  <livre>
   <auteur><xsl:value-of select="author/text()"/></auteur>
  </livre>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

// Обработчики :
function start_document()
{
  // начало чтения документа
}

function end_document()
{
  // завершение чтения документа
}

function start_element($parser, $name, $attributes)
{
  global $result,$tag;
  $result .= "<". $name . ">";
  $tag = $name;
}

function end_element($parser, $name)
{
  global $result;
  $result .= "</" . $name . ">";
}

function characters($parser, $data)
{
  global $result,$tag;
  if ($tag == "auteur" ) {
    $data = strtoupper($data);
  }
  $result .= $data;
}

// Преобразование :
$xh = xslt_create();
$handlers = array("document" => array("start_document","end_document"),
   "element" => array("start_element","end_element"),
   "character" => "characters");

xslt_set_sax_handlers($xh, $handlers);
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
xslt_free($xh);
?>

Также можно воспользоваться функцией xslt_set_object(), если требуется реализовать обработчики внутри объекта.

Пример #2 Обработчик в объектно-ориентированном стиле

<?php
// Объектно-ориентированная версия предыдущего примера

class data_sax_handler {

  var $buffer, $tag, $attrs;

  var $_xh;

  function data_sax_handler($xml, $xsl)
  {
      // our xslt resource
      $this->_xh = xslt_create();

      xslt_set_object($this->_xs, $this);

      // configure sax handlers
      $handlers = array(
        "document" => array('start_document', 'end_document'),
        "element" => array('start_element', 'end_element'),
        "character" => 'characters'
      );

      xslt_set_sax_handlers($this->_xh, $handlers);

      xslt_process($this->_xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
      xslt_free($this->_xh);

  }

  function start_document()
  {
        // начало чтения документа
  }

  function end_document() {
        // завершение чтения документа
  }

  function start_element($parser, $name, $attributes) {
        $this->tag = $name;
        $this->buffer .= "<" . $name . ">";
        $this->attrs = $attributes;
  }

  function end_element($parser, $name)
  {
        $this->tag = '';
        $this->buffer .= "</" . $name . ">";
  }

  function characters($parser, $data)
  {
    if ($this->tag == 'auteur') {
          $data = strtoupper($data);
    }
    $this->buffer .= $data;
  }

  function get_buffer() {
    return $this->buffer;
  }

}

$exec = new data_sax_handler($xml, $xsl);

?>

Оба примера выведут следующее:

<livre>
   <auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
   <auteur>VIRGINIA WOOLF</auteur>
</livre>
xslt_set_sax_handler
xslt_set_scheme_handler
XSLT (PHP 4) Функции


Задает обработчики схемы для XSLT-процессора

xslt_set_sax_handlers
xslt_set_scheme_handlers
XSLT (PHP 4) Функции
PHP Manual

xslt_set_scheme_handler

(PHP 4 >= 4.0.5)

xslt_set_scheme_handler — Задает обработчики схемы для XSLT-процессора

Описание

void xslt_set_scheme_handler ( resource $xh , array $handlers )

Задает обработчики схемы для ресурса XSLT-процессора xh.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

handlers

Обработчики схемы должны быть представлены в виде массива в следующем формате (все элементы являются необязательными):

array(
[get_all] => обработчик get all,
[open] => обработчик open,
[get] => обработчик get,
[put] => обработчик put,
[close] => обработчик close
)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_sax_handlers
xslt_set_scheme_handlers
XSLT (PHP 4) Функции


Задает обработчики схемы для XSLT-процессора

xslt_set_scheme_handler
xslt_setopt
XSLT (PHP 4) Функции
PHP Manual

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlers — Задает обработчики схемы для XSLT-процессора

Описание

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

Регистрирует обработчики схемы (XPath обработчики) для документа.

Список параметров

xh

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

handlers

Массив со следующими ключами: "get_all", "open", "get", "put", и "close".

Каждое значение массива должно быть именем функции или массивом в следующем формате: array($obj, "method").

Обратите внимание, наличие всех обработчиков схемы в массиве необязательно (хотя возможно), но каждый элемент массива должен строго соответствовать формату "обработчик" => "функция", описанному выше.

Ниже представлены объявления, которым функции-обработчики схемы должны соответствовать:

string   get_all(resource processor, string scheme, string rest)
resource open(resource processor, string scheme, string rest)
int      get(resource processor, resource fp, string &data)
int      put(resource processor, resource fp, string data)
void     close(resource processor, resource fp)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования xslt_set_scheme_handlers()

В качастве примера представлена реализация PHP функции "file_exists()".

<?php

// Определение обработчика
function mySchemeHandler($processor, $scheme, $rest)
{
    $rest = substr($rest,1);    // чтобы удалить первый / автоматически добавленный движком
    if ($scheme == 'file_exists') {
        // результат представлен в виде небольшой XML строки
        return '<?xml version="1.0" encoding="UTF-8"?><root>' . (file_exists($rest) ? 'true' : 'false') . '</root>';
    }
}

$SchemeHandlerArray = array('get_all' => 'mySchemeHandler');

// запуск движка
$params = array();
$xh = xslt_create();

xslt_set_scheme_handlers($xh, $SchemeHandlerArray);

$result = xslt_process($xh, "myFile.xml", "myFile.xsl", NULL, array(), $params);
xslt_free($xh);

echo $result;

?>

Теперь можно проверить существование файлов прямо внутри стилевой таблицы:

<xsl:if test="document('file_exists:anotherXMLfile.xml')/root='true'">
 <!-- The file exist -->
</xsl:if>

Смотрите также

  • xslt_set_scheme_handler() - Задает обработчики схемы для XSLT-процессора

xslt_set_scheme_handler
xslt_setopt
XSLT (PHP 4) Функции


Установка значений настроек XSLT-процессора

xslt_set_scheme_handlers
Ядро PHP: Руководство хакера по Zend Engine
XSLT (PHP 4) Функции
PHP Manual

xslt_setopt

(PHP 4 >= 4.3.0)

xslt_setopt — Установка значений настроек XSLT-процессора

Описание

mixed xslt_setopt ( resource $processor , int $newmask )

xslt_setopt() устанавливает значения настроек, используя маску newmask, для заданного XSLT-процессора processor.

Список параметров

processor

Идентификатор ссылки на XSLT-процессор, созданный функцией xslt_create().

newmask

newmask битовая маска, созданная из следующих констант:

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Сообщает процессору о необходимости разбора общедоступных сущностей. По умолчанию эта настройка отключена.

  • XSLT_SABOPT_DISABLE_ADDING_META - Не добавлять мета тэг "Content-Type" при выводе HTML. Умолчания задаются во время компиляции процессора.

  • XSLT_SABOPT_DISABLE_STRIPPING - Не убирать пробелы (только для файлов с данными).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Считать неразбираемые документы (функция document()) работоспособными.

Возвращаемые значения

Возвращает предыдущую маску в виде числа, если это возможно; в противном случае TRUE; FALSE в случае ошибки.

Примеры

Пример #1 Пример использования xslt_setopt()

<?php

$xh = xslt_create();

// Дать указание Sablotron обрабатывать общедоступные сущности
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Также попросим его не убирать лишние пробелы
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

Смотрите также

  • xslt_getopt() - Получение настроек заданного XSLT-процессора

xslt_set_scheme_handlers
Ядро PHP: Руководство хакера по Zend Engine
XSLT (PHP 4) Функции


Ядро PHP: Руководство хакера по Zend Engine

  • Preface
  • The "counter" Extension - A Continuing Example
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Counter — The Counter class
    • Basic — The basic interface
    • Extended — The extended interface
  • The PHP 5 build system
    • Building PHP for extension development
    • The ext_skel script
    • Talking to the UNIX build system: config.m4
    • Talking to the Windows build system: config.w32
  • Extension structure
    • Files which make up an extension
    • Basic constructs
    • The zend_module structure
    • Extension globals
    • Life cycle of an extension
    • Testing an extension
  • Memory management
    • Basic memory management
    • Data persistence
    • Thread-Safe Resource Manager
  • Working with variables
    • Intro
    • Creating variables and setting values
  • Writing functions
  • Working with classes and objects
  • Working with resources
  • Working with INI settings
  • Working with streams
  • PDO Driver How-To
    • Prerequisites
    • Preparation and Housekeeping
    • Fleshing out your skeleton
    • Building
    • Testing
    • Packaging and distribution
    • pdo_dbh_t definition
    • pdo_stmt_t definition
    • Constants
    • Error handling
  • Extension FAQs
  • Zend Engine 2 API reference
  • Zend Engine 2 opcode list
    • Opcodes
  • Zend Engine 1
    • Old introduction
    • Streams API for PHP Extension Authors
    • Zend API: Взламываем ядро PHP
    • TSRM API
xslt_setopt
Preface
Руководство по PHP


Preface

The Zend API has evolved considerably over time, as PHP has become a more robust and widespread language. With the introduction of PHP 5 came the Zend Engine 2 (ZE2). ZE2 came with an almost entirely new Object-Oriented Programming (OOP) model and a number of improvements in the API.

Внимание

This documentation is still under heavy development. The original Zend documentation is preserved in its entirety in the Zend Engine 1 section for those who need it before this documentation is completed.

This section of the manual is devoted to ZE2. The differences in how extensions are written in ZE1 are small; a short reference to them is given in an appendix to this section.

The documentation in this section is current as of PHP 5.3.3, the most recent stable release of PHP 5.3 at the time of this writing. Notable differences in the minor PHP 5 releases (5.0 through 5.3) are given as appropriate.

Ядро PHP: Руководство хакера по Zend Engine
The "counter" Extension - A Continuing Example
Ядро PHP: Руководство хакера по Zend Engine


Preface
Установка и настройка
Ядро PHP: Руководство хакера по Zend Engine
PHP Manual

The "counter" Extension - A Continuing Example

Содержание

  • Установка и настройка
  • Предопределенные константы
  • Примеры
  • Counter
  • Basic
  • Extended

Preface

Throughout this Zend documentation, references are made to an example module in order to illustrate various concepts. The "counter" extension is this example, a fictional yet functional Zend module which strives to use as much of the Zend API as is reasonably possible. This short chapter describes the userland interface to the completed extension.

Замечание: "counter" serves no practical purpose whatsoever, as the functionality it provides is far more effectively implemented by appropriate userland code.

Preface
Установка и настройка
Ядро PHP: Руководство хакера по Zend Engine


Установка и настройка

Содержание

  • Введение
  • Настройка во время выполнения
  • Типы ресурсов
The "counter" Extension - A Continuing Example
Введение
The "counter" Extension - A Continuing Example


Введение

The "counter" extension provides any number of counters to PHP code using it which reset at times determined by the caller.

There are three interfaces to "counter": basic, extended, and objective. The basic interface provides a single counter controlled by INI settings and function calls. The extended interface provides an arbitrary number of named counter resources which may optionally persist beyond the lifetime of a single PHP request. The objective interface combines both the basic and extended interfaces into a Counter class.

Установка и настройка
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Counter configuration options
Name | Default | Changeable | Changelog
counter.reset_time | COUNTER_RESET_PER_REQUEST | PHP_INI_ALL |
counter.save_path | "" | PHP_INI_ALL |
counter.initial_value | "0" | PHP_INI_ALL |

Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

counter.reset_time integer
counter.reset_time tells "counter" to reset the counter used by the basic interface. It may be any of the COUNTER_RESET_* constants (see below).
counter.save_path string
Tells "counter" where to save data that has to persist between invocations of PHP (i.e. any counter that has COUNTER_RESET_NEVER or COUNTER_FLAG_SAVE). A file will be created at this path, which must be readable and writable to whatever user PHP is running as.
counter.initial_value integer
Sets the initial value of the counter used by the basic interface whenever it is reset.
Введение
Типы ресурсов
Установка и настройка


Типы ресурсов

The "counter" extension defines one resource type: a counter.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

COUNTER_FLAG_PERSIST (integer)
A counter with this flag will be created as a persistent resource.
COUNTER_FLAG_SAVE (integer)
A counter with this flag will be saved between invocations of PHP.
COUNTER_FLAG_NO_OVERWRITE (integer)
This flag causes counter_create() to avoid overwriting an existing named counter with a new one.
COUNTER_META_NAME (string)
Pass this constant to get the name of a counter resource or object.
COUNTER_META_IS_PERISTENT (string)
Pass this constant to determine whether a counter resource or object is persistent (has the COUNTER_FLAG_PERSIST flag).
COUNTER_RESET_NEVER (integer)
The counter will never be reset.
COUNTER_RESET_PER_LOAD (integer)
The counter will be reset on each invocation of PHP.
COUNTER_RESET_PER_REQUEST (integer)
The counter will be reset on each request.
Типы ресурсов
Примеры
The "counter" Extension - A Continuing Example


Примеры

Содержание

  • Basic interface
  • Extended interface
  • Objective interface
Предопределенные константы
Basic interface
The "counter" Extension - A Continuing Example


Basic interface

The basic interface provides three simple functions, illustrated here:

Пример #1 "counter"'s basic interface

<?php
$starting_counter_value = counter_get();
counter_bump(1);
$second_counter_value = counter_get();
counter_reset();
$final_counter_value = counter_get();
printf("%3d %3d %3d", $starting_counter_value, $second_counter_value, $final_counter_value);
?>

Результат выполнения данного примера:

  0   1   0

The basic interface also provides a number of INI settings.

Примеры
Extended interface
Примеры


Extended interface

The extended interface provides a small suite of functions that allow the user to define an arbitrary number of named counters with unique settings. The basic interface can be used in parallel with the extended interface.

Пример #1 "counter"'s extended interface

<?php
function print_counter_info($counter)
{
    if (is_resource($counter)) {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            counter_get_meta($counter, COUNTER_META_NAME),
            counter_get_meta($counter, COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            counter_get_value($counter));
    } else {
      print "Not a valid counter!\n";
    }
}

if (($counter_one = counter_get_named("one")) === NULL) {
    $counter_one = counter_create("one", 0, COUNTER_FLAG_PERSIST);
}
counter_bump_value($counter_one, 2);
$counter_two = counter_create("two", 5);
$counter_three = counter_get_named("three");
$counter_four = counter_create("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
counter_bump_value($counter_four, 1);

print_counter_info($counter_one);
print_counter_info($counter_two);
print_counter_info($counter_three);
print_counter_info($counter_four);
?>

When run once, the above example outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 3.

If run a second time within the same instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 4.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 4.

If then run a third time in a different instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 5.
Basic interface
Objective interface
Примеры


Objective interface

The objective interface provides an object-oriented way to access the extended interfaces. The following example shows how the above one would be implemented using the objective interface. The output of this example is exactly the same, except that instead of printing "Not a valid counter!", this will instead issue a PHP warning that the variable $counter_three is not an object. This example shows that it is possible to subclass the Counter class defined by the extension, as well as that the counter's value is maintained using an instance variable rather than method access.

Пример #1 "counter"'s objective interface

<?php
class MyCounter extends Counter
{
    public function printCounterInfo() {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            $this->getMeta(COUNTER_META_NAME),
            $this->getMeta(COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            $this->value);
    }
}

Counter::setCounterClass("MyCounter");
if (($counter_one = Counter::getNamed("one")) === NULL) {
    $counter_one = new Counter("one", 0, COUNTER_FLAG_PERSIST);
}
$counter_one->bumpValue(2); // we aren't allowed to "set" the value directly
$counter_two = new Counter("two", 5);
$counter_three = Counter::getNamed("three");
$counter_four = new Counter("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
$counter_four->bumpValue(1);

$counter_one->printCounterInfo();
$counter_two->printCounterInfo();
$counter_three->printCounterInfo();
$counter_four->printCounterInfo();
?>
Extended interface
Counter
Примеры


The Counter class

Введение

Represents a single counter object.

Обзор классов

Counter {
__construct ( string $name [, integer $initial_value [, integer $flags ]] )
integer getValue ( void )
bumpValue ( integer $offset )
void resetValue ( void )
mixed getMeta ( integer $attribute )
static Counter getNamed ( string $name )
static void setCounterClass ( string $name )
}

Содержание

  • Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.
  • Counter::getValue — Get the current value of a counter.
  • Counter::bumpValue — Change the current value of a counter.
  • Counter::resetValue — Reset the current value of a counter.
  • Counter::getMeta — Return a piece of metainformation about a counter.
  • Counter::getNamed — Retrieve an existing named counter.
  • Counter::setCounterClass — Set the class returned by Counter::getNamed.
Objective interface
Counter::__construct
The "counter" Extension - A Continuing Example


Creates an instance of a Counter which maintains a single numeric value.

Counter
Counter::getValue
Counter
PHP Manual

Counter::__construct

Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.

Описание

Counter::__construct() ( string $name [, integer $initial_value [, integer $flags ]] )

Creates an instance of a Counter which maintains a single numeric value.

Список параметров

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Возвращаемые значения

Returns a Counter object on success.

Ошибки

Counter::__construct() throws an Exception if something goes wrong.

Counter
Counter::getValue
Counter


Get the current value of a counter.

Counter::__construct
Counter::bumpValue
Counter
PHP Manual

Counter::getValue

Counter::getValue — Get the current value of a counter.

Описание

integer Counter::getValue ( void )

Counter::getValue() returns the current value of a counter.

Возвращаемые значения

Counter::getValue() returns an integer.

Смотрите также

  • Counter::bumpValue() - Change the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::__construct
Counter::bumpValue
Counter


Change the current value of a counter.

Counter::getValue
Counter::resetValue
Counter
PHP Manual

Counter::bumpValue

Counter::bumpValue — Change the current value of a counter.

Описание

Counter::bumpValue ( integer $offset )

Counter::bumpValue() updates the current value of a counter.

Список параметров

offset
The amount by which to change the counter's value. Can be negative.

Смотрите также

  • Counter::getValue() - Get the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::getValue
Counter::resetValue
Counter


Reset the current value of a counter.

Counter::bumpValue
Counter::getMeta
Counter
PHP Manual

Counter::resetValue

Counter::resetValue — Reset the current value of a counter.

Описание

void Counter::resetValue ( void )

Counter::resetValue() resets the current value of a counter to its original initial value.

Смотрите также

  • Counter::getValue() - Get the current value of a counter.
  • Counter::bumpValue() - Change the current value of a counter.
Counter::bumpValue
Counter::getMeta
Counter


Return a piece of metainformation about a counter.

Counter::resetValue
Counter::getNamed
Counter
PHP Manual

Counter::getMeta

Counter::getMeta — Return a piece of metainformation about a counter.

Описание

mixed Counter::getMeta ( integer $attribute )

Counter::getMeta() returns metainformation about a counter.

Список параметров

attribute
The metainformation to retrieve.

Возвращаемые значения

Counter::getMeta() returns values of varying types based on which metainformation was requested.

Counter::resetValue
Counter::getNamed
Counter


Retrieve an existing named counter.

Counter::getMeta
Counter::setCounterClass
Counter
PHP Manual

Counter::getNamed

Counter::getNamed — Retrieve an existing named counter.

Описание

static Counter Counter::getNamed ( string $name )

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise. This is a static function.

Список параметров

name
The counter name to search for.

Возвращаемые значения

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise.

Counter::getMeta
Counter::setCounterClass
Counter


Set the class returned by Counter::getNamed.

Counter::getNamed
Basic
Counter
PHP Manual

Counter::setCounterClass

Counter::setCounterClass — Set the class returned by Counter::getNamed().

Описание

static void Counter::setCounterClass ( string $name )

Counter::setCounterClass() changes the class of objects returned by Counter::getNamed(). The class being set must not have a public constructor and must be a subclass of Counter. If these conditions are not met, a fatal error is raised. This is a static function.

Список параметров

name
The name of the class to use.
Counter::getNamed
Basic
Counter


The basic interface

Содержание

  • counter_get — Get the current value of the basic counter.
  • counter_bump — Update the current value of the basic counter.
  • counter_reset — Reset the current value of the basic counter.
Counter::setCounterClass
counter_get
The "counter" Extension - A Continuing Example


Get the current value of the basic counter.

Basic
counter_bump
Basic
PHP Manual

counter_get

counter_get — Get the current value of the basic counter.

Описание

integer counter_get ( void )

counter_get() returns the current value of the basic interface's counter.

Возвращаемые значения

counter_get() returns an integer.

Смотрите также

  • counter_bump() - Update the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
Basic
counter_bump
Basic


Update the current value of the basic counter.

counter_get
counter_reset
Basic
PHP Manual

counter_bump

counter_bump — Update the current value of the basic counter.

Описание

void counter_bump ( integer $offset )

counter_bump() updates the current value of the basic interface's counter.

Список параметров

offset
The amount by which to change the counter's value. Can be negative.

Смотрите также

  • counter_get() - Get the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
counter_get
counter_reset
Basic


Reset the current value of the basic counter.

counter_bump
Extended
Basic
PHP Manual

counter_reset

counter_reset — Reset the current value of the basic counter.

Описание

void counter_reset ( void )

counter_reset() resets the current value of the basic interface's counter to its original initial value.

Смотрите также

  • counter_get() - Get the current value of the basic counter.
  • counter_bump() - Update the current value of the basic counter.
counter_bump
Extended
Basic


The extended interface

Содержание

  • counter_create — Creates a counter which maintains a single numeric value.
  • counter_get_value — Get the current value of a counter resource.
  • counter_bump_value — Change the current value of a counter resource.
  • counter_reset_value — Reset the current value of a counter resource.
  • counter_get_meta — Return a piece of metainformation about a counter resource.
  • counter_get_named — Retrieve an existing named counter as a resource.
counter_reset
counter_create
The "counter" Extension - A Continuing Example


Creates a counter which maintains a single numeric value.

Extended
counter_get_value
Extended
PHP Manual

counter_create

counter_create — Creates a counter which maintains a single numeric value.

Описание

resource counter_create ( string $name [, integer $initial_value [, integer $flags ]] )

Creates a counter which maintains a single numeric value.

Список параметров

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Возвращаемые значения

Returns a counter resource.

Extended
counter_get_value
Extended


Get the current value of a counter resource.

counter_create
counter_bump_value
Extended
PHP Manual

counter_get_value

counter_get_value — Get the current value of a counter resource.

Описание

integer counter_get_value ( resource $counter )

counter_get_value() returns the current value of a counter resource.

Список параметров

counter
The counter resource to operate on.

Возвращаемые значения

counter_get_value() returns an integer.

Смотрите также

  • counter_bump_value() - Change the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_create
counter_bump_value
Extended


Change the current value of a counter resource.

counter_get_value
counter_reset_value
Extended
PHP Manual

counter_bump_value

counter_bump_value — Change the current value of a counter resource.

Описание

void counter_bump_value ( resource $counter , integer $offset )

counter_bump_value() updates the current value of a counter resource.

Список параметров

counter
The counter resource to operate on.
offset
The amount by which to change the counter's value. Can be negative.

Смотрите также

  • counter_get_value() - Get the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_get_value
counter_reset_value
Extended


Reset the current value of a counter resource.

counter_bump_value
counter_get_meta
Extended
PHP Manual

counter_reset_value

counter_reset_value — Reset the current value of a counter resource.

Описание

void counter_reset_value ( resource $counter )

counter_reset_value() resets the current value of a counter resource to its original initial value.

Список параметров

counter
The counter resource to operate on.

Смотрите также

  • counter_get_value() - Get the current value of a counter resource.
  • counter_bump_value() - Change the current value of a counter resource.
counter_bump_value
counter_get_meta
Extended


Return a piece of metainformation about a counter resource.

counter_reset_value
counter_get_named
Extended
PHP Manual

counter_get_meta

counter_get_meta — Return a piece of metainformation about a counter resource.

Описание

mixed counter_get_meta ( resource $counter , integer $attribute )

counter_get_meta() returns metainformation about a counter resource.

Список параметров

counter
The counter resource to operate on.
attribute
The metainformation to retrieve.

Возвращаемые значения

counter_get_meta() returns values of varying types based on which metainformation was requested.

counter_reset_value
counter_get_named
Extended


Retrieve an existing named counter as a resource.

counter_get_meta
The PHP 5 build system
Extended
PHP Manual

counter_get_named

counter_get_named — Retrieve an existing named counter as a resource.

Описание

resource Counter::getNamed ( string $name )

counter_get_named() returns an existing counter by name if that name exists, or NULL otherwise.

Список параметров

name
The counter name to search for.

Возвращаемые значения

counter_get_name() returns an existing counter by name if that name exists, or NULL otherwise.

counter_get_meta
The PHP 5 build system
Extended


The PHP 5 build system

Содержание

  • Building PHP for extension development
  • The ext_skel script
  • Talking to the UNIX build system: config.m4
  • Talking to the Windows build system: config.w32

With all the functionality and flexibility available in PHP 5, it is no surprise that it consists of several thousand files and over one million lines of source code. Equally unsurprising is the necessity of a build system to manage so much data. This section describes how to set PHP up for extension development, the layout of an extension within the PHP source tree, and how to interface your extension with the build system.

counter_get_named
Building PHP for extension development
Ядро PHP: Руководство хакера по Zend Engine


Building PHP for extension development

In a typical PHP installation, the need for high performance almost always results in optimization at the cost of debugging facilities. This is a reasonable tradeoff for production use, but when developing an extension it falls short. What we need is a build of PHP which will give us some hints what has gone wrong when something does.

The Zend Engine provides a memory manager which is capable of tracking memory leaks in extensions and providing detailed debugging information. This tracking is disabled by default, as is thread-safety. To turn them on, pass the --enable-debug and --enable-maintainer-zts options to configure, along with whatever options you typically use. For instructions on building PHP from source, see the instructions at Общие инструкции по установке. A typical configure line might look like this:

$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql

The PHP 5 build system
The ext_skel script
The PHP 5 build system


The ext_skel script

A PHP extension is composed of several files common to all extensions. As the details of many of those files are similar from extension to extension, it can be laborious to duplicate the content for each one. Fortunately, there is a script which can do all of the initial setup for you. It's called ext_skel, and it's been distributed with PHP since 4.0.

Running ext_skel with no parameters produces this output in PHP 5.2.2:

php-5.2.2/ext$ ./ext_skel
./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
           [--skel=dir] [--full-xml] [--no-help]

  --extname=module   module is the name of your extension
  --proto=file       file contains prototypes of functions to create
  --stubs=file       generate only function stubs in file
  --xml              generate xml documentation to be added to phpdoc-cvs
  --skel=dir         path to the skeleton directory
  --full-xml         generate xml documentation for a self-contained extension
                     (not yet implemented)
  --no-help          don't try to be nice and create comments in the code
                     and helper functions to test if the module compiled
Generally, when developing a new extension the only parameters you will be interested in are --extname and --no-help. Unless you are already experienced with the structure of an extension, you will not want to use --no-help; specifying it causes ext_skel to leave out many helpful comments in the files it generates.

This leaves you with --extname, which tells ext_skel what the name of your extension is. This "name" is an all-lowercase identifier containing only letters and underscores which is unique among everything in the ext/ folder of your PHP distribution.

The --proto option is intended to allow the developer to specify a header file from which a set of PHP functions will be created, ostensibly for the purpose of developing an extension based on a library, but it often functions poorly with most modern header files. A test run on the zlib.h header resulted in a very large number of empty and nonsense prototypes in the ext_skel output files. The --xml and --full-xml options are entirely nonfunctional thus far. The --skel option can be used to specify a modified set of skeleton files to work from, a topic which is beyond the scope of this section.

Building PHP for extension development
Talking to the UNIX build system: config.m4
The PHP 5 build system


Talking to the UNIX build system: config.m4

The config.m4 file for an extension tells the UNIX build system what configure options your extension supports, what external libraries and includes you require, and what source files are to be compiled as part of it. A reference to all the commonly used autoconf macros, both PHP-specific and those built into autoconf, is given in the Zend Engine 2 API reference section.

Подсказка

When developing a PHP extension, it is strongly recommended that autoconf version 2.13 be installed, despite the newer releases which are available. Version 2.13 is recognized as a common denominator of autoconf availability, usability, and user base. Using later versions will sometimes produce cosmetic differences from the expected output of configure.

Пример #1 An example config.m4 file

dnl $Id$
dnl config.m4 for extension example
PHP_ARG_WITH(example, for example support,
[  --with-example[=FILE]       Include example support. File is the optional path to example-config])
PHP_ARG_ENABLE(example-debug, whether to enable debugging support in example,
[  --enable-example-debug        example: Enable debugging support in example], no, no)
PHP_ARG_WITH(example-extra, for extra libraries for example,
[  --with-example-extra=DIR      example: Location of extra libraries for example], no, no)

dnl Check whether the extension is enabled at all
if test "$PHP_EXAMPLE" != "no"; then

  dnl Check for example-config. First try any path that was given to us, then look in $PATH
  AC_MSG_CHECKING([for example-config])
  EXAMPLE_CONFIG="example-config"
  if test "$PHP_EXAMPLE" != "yes"; then
    EXAMPLE_PATH=$PHP_EXAMPLE
  else
    EXAMPLE_PATH=`$php_shtool path $EXAMPLE_CONFIG`
  fi

  dnl If a usable example-config was found, use it
  if test -f "$EXAMPLE_PATH" && test -x "$EXAMPLE_PATH" && $EXAMPLE_PATH --version > /dev/null 2>&1; then
    AC_MSG_RESULT([$EXAMPLE_PATH])
    EXAMPLE_LIB_NAME=`$EXAMPLE_PATH --libname`
    EXAMPLE_INCDIRS=`$EXAMPLE_PATH --incdirs`
    EXAMPLE_LIBS=`$EXAMPLE_PATH --libs`

    dnl Check that the library works properly
    PHP_CHECK_LIBRARY($EXAMPLE_LIB_NAME, example_critical_function,
    [
      dnl Add the necessary include dirs
      PHP_EVAL_INCLINE($EXAMPLE_INCDIRS)
      dnl Add the necessary libraries and library dirs
      PHP_EVAL_LIBLINE($EXAMPLE_LIBS, EXAMPLE_SHARED_LIBADD)
    ],[
      dnl Bail out
      AC_MSG_ERROR([example library not found. Check config.log for more information.])
    ],[$EXAMPLE_LIBS]
    )
  else
    dnl No usable example-config, bail
    AC_MSG_RESULT([not found])
    AC_MSG_ERROR([Please check your example installation.])
  fi

  dnl Check whether to enable debugging
  if test "$PHP_EXAMPLE_DEBUG" != "no"; then
    dnl Yes, so set the C macro
    AC_DEFINE(USE_EXAMPLE_DEBUG,1,[Include debugging support in example])
  fi

  dnl Check for the extra support
  if test "$PHP_EXAMPLE_EXTRA" != "no"; then
    if test "$PHP_EXAMPLE_EXTRA" == "yes"; then
      AC_MSG_ERROR([You must specify a path when using --with-example-extra])
    fi

    PHP_CHECK_LIBRARY(example-extra, example_critical_extra_function,
    [
      dnl Add the neccessary paths
      PHP_ADD_INCLUDE($PHP_EXAMPLE_EXTRA/include)
      PHP_ADD_LIBRARY_WITH_PATH(example-extra, $PHP_EXAMPLE_EXTRA/lib, EXAMPLE_SHARED_LIBADD)
      AC_DEFINE(HAVE_EXAMPLEEXTRALIB,1,[Whether example-extra support is present and requested])
      EXAMPLE_SOURCES="$EXAMPLE_SOURCES example_extra.c"
    ],[
      AC_MSG_ERROR([example-extra lib not found. See config.log for more information.])
    ],[-L$PHP_EXAMPLE_EXTRA/lib]
    )
  fi

  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(example, example.c $EXAMPLE_SOURCES, $ext_shared)
  PHP_SUBST(EXAMPLE_SHARED_LIBADD)
fi

A short introduction to autoconf syntax

config.m4 files are written using the GNU autoconf syntax. It can be described in a nutshell as shell scripting augmented by a powerful macro language. Comments are delimited by the string dnl, and strings are quoted using left and right brackets (e.g. [ and ]). Quoting of strings can be nested as many times as needed. A full reference to the syntax can be found in the autoconf manual at » http://www.gnu.org/software/autoconf/manual/.

PHP_ARG_*: Giving users the option

The very first thing seen in the example config.m4 above, aside from a couple of comments, are three lines using PHP_ARG_WITH() and PHP_ARG_ENABLE(). These provide configure with the options and help text seen when running ./configure --help. As the names suggest, the difference between the two is whether they create a --with-* option or an --enable-* option. Every extension should provide at least one or the other with the extension name, so that users can choose whether or not to build the extension into PHP. By convention, PHP_ARG_WITH() is used for an option which takes a parameter, such as the location of a library or program required by an extension, while PHP_ARG_ENABLE() is used for an option which represents a simple flag.

Пример #2 Sample configure output

$ ./configure --help
...
  --with-example[=FILE]       Include example support. FILE is the optional path to example-config
  --enable-example-debug        example: Enable debugging support in example
  --with-example-extra=DIR      example: Location of extra libraries for example
...

$ ./configure --with-example=/some/library/path/example-config --disable-example-debug --with-example-extra=/another/library/path
...
checking for example support... yes
checking whether to enable debugging support in example... no
checking for extra libraries for example... /another/library/path
...

Замечание:

Regardless of the order in which options are specified on the command line when configure is called, the checks will be run in the order they are specified in config.m4.

Processing the user's choices

Now that config.m4 can provide the user with some choices of what to do, it's time to act upon those choices. In the example above, the obvious default for all three options, if any of them are unspecified, is "no". As a matter of convention, it is best to use this as the default for the option which enables the extension, as it will be overridden by phpize for extensions built separately, and should not clutter the extension space by default when being built into PHP. The code to process the three options is by far the most complicated.

Handling the --with-example[=FILE] option

The first check made of the --with-example[=FILE] option is whether it was set at all. As this option controls the inclusion of the entire extension, if it was unspecified, given in the negative form (--without-example ), or given the value "no", nothing else is done at all. In the example above, it is specified with the value /some/library/path/example-config, so the first test succeeds.

Next, the code calls AC_MSG_CHECKING(), an autoconf macro which outputs a standard "checking for something" line, and checks whether the user gave an explicit path to the fictional example-config. In this example, PHP_EXAMPLE got the value /some/library/path/example-config, which is now copied into the EXAMPLE_PATH variable. Had the user specified only --with-example , the code would have executed $php_shtool path $EXAMPLE_CONFIG, which would try to guess the location of example-config using the user's current PATH. Either way, the next step is to check whether the chosen EXAMPLE_PATH is a regular file, is executable, and can be run successfully. If so, AC_MSG_RESULT() is called, which completes the output line started by AC_MSG_CHECKING(). Otherwise, AC_MSG_ERROR() is called, which prints the given message and halts configure immediately.

The code now determines some site-specific configuration information by running example-config several times. The next call is to PHP_CHECK_LIBRARY(), a macro provided by the PHP buildsystem as a wrapper around autoconf's AC_CHECK_LIB(). PHP_CHECK_LIBRARY() attempts to compile, link, and run a program which calls the symbol specified by the second parameter in the library specified by the first, using the string given in the fifth as extra linker options. If the attempt succeeds, the script given in the third parameter is run. This script tells the PHP buildsystem to extract include paths, library paths, and library names from the raw option strings example-config provided. If the attempt fails, the script in the fourth parameter is run instead. In this case, AC_MSG_ERROR() is called to stop processing.

Handling the --enable-example-debug option

Processing the --enable-example-debug is much simpler. A simple check for its truth value is performed. If that check succeeds, AC_DEFINE() is called to make the C macro USE_EXAMPLE_DEBUG available to the source of the extension. The third parameter is a comment string for config.h; it is safe to leave this empty, and often is.

Handling the --with-example-extra=DIR option

For the sake of this example, the fictional "extra" functionality requested by the --with-example-extra=DIR option does not share the fictional example-config program, nor does it have any default paths to search. Therefore, the user is required to provide the installation prefix of the necessary library. This setup is somewhat unlikely in a real-world extension, but is considered illustrative.

The code begins in a now-familiar way by checking the truth value of PHP_EXAMPLE_EXTRA. If a negative form was provided, no further processing is done; the user did not request extra functionality. If a positive form was provided without a parameter, AC_MSG_ERROR() is called to halt processing. The next step is another invocation of PHP_CHECK_LIBRARY(). This time, since there is no set of predefined compiler options provided, PHP_ADD_INCLUDE() and PHP_ADD_LIBRARY_WITH_PATH() are used to construct the necessary include paths, library paths, and library flags for the extra functionality. AC_DEFINE() is also called to indicate to the code that the extra functionality was both requested and available, and a variable is set to tell later code that there are extra source files to build. If the check fails, the familiar AC_MSG_ERROR() is called. A different way to handle the failure would have been to call AC_MSG_WARNING() instead, e.g.:

AC_MSG_WARNING([example-extra lib not found. example will be built without extra functionality.])

In this case, configure would print a warning message rather than an error, and continue processing. Which way such failures are handled is a design decision left to the extension developer.

Telling the buildsystem what was decided

With all the necessary includes and libraries specified, with all the options processed and macros defined, one more thing remains to be done: The build system must be told to build the extension itself, and which files are to be used for that. To do this, the PHP_NEW_EXTENSION() macro is called. The first parameter is the name of the extension, which is the same as the name of the directory containing it. The second parameter is the list of all source files which are part of the extension. See PHP_ADD_BUILD_DIR() for information about adding source files in subdirectories to the build process. The third parameter should always be $ext_shared, a value which was determined by configure when PHP_ARG_WITH() was called for --with-example[=FILE] . The fourth parameter specifies a "SAPI class", and is only useful for extensions which require the CGI or CLI SAPIs specifically. It should be left empty in all other cases. The fifth parameter specifies a list of flags to be added to CFLAGS while building the extension; the sixth is a boolean value which, if "yes", will force the entire extension to be built using $CXX instead of $CC. All parameters after the third are optional. Finally, PHP_SUBST() is called to enable shared builds of the extension. See Extension FAQs for more information on disabling support for building an extension in shared mode.

The counter extension's config.m4 file

The counter extension previously documented has a much simpler config.m4 file than that described above, as it doesn't make use of many buildsystem features. This is a preferred method of operation for any extension that doesn't use an external or bundled library.

Пример #3 counter's config.m4 file

dnl
$
Id$
dnl config.m4 for extension counter

PHP_ARG_ENABLE(counter, for counter support,
[  --enable-counter            Include counter support])

dnl Check whether the extension is enabled at all
if test "$PHP_COUNTER" != "no"; then
  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(counter, counter.c counter_util.c, $ext_shared)
  PHP_SUBST(COUNTER_SHARED_LIBADD)
fi
The ext_skel script
Talking to the Windows build system: config.w32
The PHP 5 build system


Talking to the Windows build system: config.w32

An extension's config.w32 file is similar in usage to the config.m4 file, with two critical differences: first, it is used for Windows builds, and second, it is written in JavaScript. This section makes no attempt to cover JavaScript syntax. For the moment, this section is incomplete in lieu of a Win32 testbed, and an experimental-only port of the example config.m4 is the only example provided.

Пример #1 An example config.w32 file

// $Id$
// vim:ft=javascript
ARG_WITH("example", "for example support", "no");
ARG_ENABLE("example-debug", "for debugging support in example", "no")
ARG_WITH("example-extra", "for extra functionality in example", "no")
if (PHP_EXAMPLE != "no") {
    if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) &&
        CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) {

        if (PHP_EXAMPLE_DEBUG != "no") {
            AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example');
        }

        if (PHP_EXAMPLE_EXTRA != "no" &&
            CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) &&
            CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") {
            AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example');
            HAVE_EXTRA = 1;
        } else {
            WARNING( "extra example functionality not enabled, lib not found" );
        }

        EXTENSION("example", "example.c");
        if (HAVE_EXTRA == 1) {
            ADD_SOURCES("example-extra.c");
        }
    } else {
        WARNING( "example not enabled; libraries not found" );
    }
}

The counter extension's config.w32 file

The counter extension previously documented has a much simpler config.w32 file than that described above, as it doesn't make use of many buildsystem features.

Пример #2 counter's config.w32 file

// $Id$
// vim:ft=javascript
ARG_ENABLE("counter", "for counter support", "no");
if (PHP_COUNTER != "no") {
    EXTENSION("counter", "counter.c");
    ADD_SOURCE("counter-util.c");
}
Talking to the UNIX build system: config.m4
Extension structure
The PHP 5 build system


Extension structure

Содержание

  • Files which make up an extension
  • Basic constructs
  • The zend_module structure
  • Extension globals
  • Life cycle of an extension
  • Testing an extension

Many extension-writing guides focus on simple examples first and ignore the requirements of more complex implementations until later. Often such guides must repeat themselves over and over in order to describe these new features. This section describes extension structure from the perspective of a mature, practical implementation, in order to prepare users for needs and issues they will almost always encounter in the process of extension development.

Talking to the Windows build system: config.w32
Files which make up an extension
Ядро PHP: Руководство хакера по Zend Engine


Files which make up an extension

Whether created by hand, using ext_skel, or by an alternate extension generator, such as » CodeGen, all extensions will have at least four files:

config.m4

UNIX build system configuration (see Talking to the UNIX build system: config.m4)

config.w32

Windows buildsystem configuration (see Talking to the Windows build system: config.w32)

php_counter.h

When building an extension as static module into the PHP binary the build system expects a header file with php_ prepended to the extension name which includes a declaration for a pointer to the extension's module structure. This file usually contains additional macros, prototypes, and globals, just like any header.

counter.c

Main extension source file. By convention, the name of this file is the extension name, but this is not a requirement. This file contains the module structure declaration, INI entries, management functions, userspace functions, and other requirements of an extension.

The buildsystem files are discussed elsewhere; this section concentrates on the rest. These four files make up the bare minimum for an extension, which may also contain any number of headers, source files, unit tests, and other support files. The list of files in the counter extension might look like this:

Пример #1 Files in the counter extension, in no particular order

ext/
 counter/
  .svnignore
  config.m4
  config.w32
  counter_util.h
  counter_util.c
  php_counter.h
  counter.c
  package.xml
  CREDITS
  tests/
   critical_function_001.phpt
   critical_function_002.phpt
   optional_function_001.phpt
   optional_function_002.phpt

Non-source files

The .svnignore file is used for extensions which are checked into the PHP Subversion repository (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell Subversion to ignore interim files generated by the PHP buildsystem. This is only a convenience, and can be omitted completely without ill effect.

The CREDITS file lists the contributors and/or maintainers of the extension in plain text format. The main purpose of this file is generating the credits information for bundled extensions as used by phpcredits(). By convention the first line of the file should hold the name of the extension, the second a comma separated list of contributors. The contributors are usually ordered by the chronological order of their contributions. In a » PECL package, this information is already maintained in package.xml, for example. This is another file which can be omitted without ill effect.

The package.xml file is specific to » PECL-based extensions; it is a metainformation file which gives details about an extension's dependencies, authors, installation requirements, and other tidbits. In an extension not being hosted in » PECL, this file is extraneous.

Extension structure
Basic constructs
Extension structure


Basic constructs

C is a very low-level language by modern definitions. This means that it has no built-in support for many features that PHP takes for granted, such as reflection, dynamic module loading, bounds checking, threadsafe data management and various useful data structures including linked lists and hash tables. At the same time, C is a common denominator of language support and functionality. Given enough work, none of these concepts are impossible; the Zend Engine uses them all.

A lot of effort has gone into making the Zend API both extensible and understandable, but C forces certain necessary declarations upon any extension that to an inexperienced eye seem redundant or plain unnecessary. All of those constructs, detailed in this section, are "write once and forget" in Zend Engine 2 and 3. Here are some excerpts from the pre-generated php_counter.h and counter.c files created by PHP 5.3's ext_skel, showing the pre-generated declarations:

Замечание: The astute reader will notice that there are several declarations in the real files that aren't shown here. Those declarations are specific to various Zend subsystems and are discussed elsewhere as appropriate.

extern zend_module_entry counter_module_entry;
#define phpext_counter_ptr &counter_module_entry

#ifdef PHP_WIN32
#    define PHP_COUNTER_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
#    define PHP_COUNTER_API __attribute__ ((visibility("default")))
#else
#    define PHP_COUNTER_API
#endif

#ifdef ZTS
#include "TSRM.h"
#endif

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_counter.h"

/* ... */

#ifdef COMPILE_DL_COUNTER
ZEND_GET_MODULE(counter)
#endif
  • The lines concerning counter_module_entry declare a global variable, and a macroed pointer to it, which contains the zend_module_entry for the extension. Despite the later discussion regarding the drawbacks of "true" globals, this usage is intentional; Zend takes precautions to avoid misusing this variable.
  • PHP_COUNTER_API is declared for use by non-PHP functions the module intends to export for the use of other modules. The counter extension doesn't declare any of these, and in the final version of the header file, this macro has been removed. The PHPAPI macro is declared identically elsewhere and is used by the standard extension to make the phpinfo() utility functions available to other extensions.
  • The include of TSRM.h is skipped if PHP, or the extension, isn't being compiled with thread-safety, since in that case TSRM isn't used.
  • A standard list of includes, especially the extension's own php_counter.h, is given. config.h gives the extension access to determinations made by configure. php.h is the gateway to the entire PHP and Zend APIs. php_ini.h adds the APIs for runtime configuration (INI) entries. Not all extensions will use this. Finally, ext/standard/info.h imports the aforementioned phpinfo() utility API.
  • COMPILE_DL_COUNTER will only be defined by configure if the counter extension is both enabled and wants to be built as a dynamically loadable module instead of being statically linked into PHP. ZEND_GET_MODULE defines a tiny function which Zend can use to get the extension's zend_module_entry at runtime.

    Замечание: The astute reader who has peeked into main/php_config.h after trying to build with the counter module enabled statically may have noticed that there is also a HAVE_COUNTER constant defined that the source code doesn't check for. There's a simple reason this check isn't done: It's unnecessary. If the extension isn't enabled, the source file will never be compiled.

Files which make up an extension
The zend_module structure
Extension structure


The zend_module structure

The main source file of a PHP extension contains several new constructs for a C programmer. The most important of these, the one touched first when starting a new extension, is the zend_module structure. This structure contains a wealth of information that tells the Zend Engine about the extension's dependencies, version, callbacks, and other critical data. The structure has mutated considerably over time; this section will focus on the structure as it has appeared since PHP 5.2, and will identify the very few parts which have changed in PHP 5.3.

The zend_module declaration from counter.c looks like this before any code has been written. The example file was generated by ext_skel --extname=counter, with some obsolete constructs removed:

Пример #1 zend_module declaration in the counter extension

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),        /* Replace with NULL if there's nothing to do at request start */
    PHP_RSHUTDOWN(counter),    /* Replace with NULL if there's nothing to do at request end */
    PHP_MINFO(counter),
    "0.1", /* Replace with version number for your extension */
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

This may look a bit daunting at first glance, but most of it is very simple to understand. Here's the declaration of zend_module from zend_modules.h in PHP 5.3:

Пример #2 zend_module definition in PHP 5.3

struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    const struct _zend_ini_entry *ini_entry;
    const struct _zend_module_dep *deps;
    const char *name;
    const struct _zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    const char *version;
    size_t globals_size;
#ifdef ZTS
    ts_rsrc_id* globals_id_ptr;
#else
    void* globals_ptr;
#endif
    void (*globals_ctor)(void *global TSRMLS_DC);
    void (*globals_dtor)(void *global TSRMLS_DC);
    int (*post_deactivate_func)(void);
    int module_started;
    unsigned char type;
    void *handle;
    int module_number;
};

Many of these fields will never be touched by an extension writer. There are a number of standard macros that set them to their proper values automatically. The macro STANDARD_MODULE_HEADER fills in everything up to the deps field. Alternatively, the STANDARD_MODULE_HEADER_EX will leave the deps field empty for the developer's use. The developer is always responsible for everything from name to version. After that, the STANDARD_MODULE_PROPERTIES macro will fill in the rest of the structure, or the STANDARD_MODULE_PROPERTIES_EX macro can be used to leave the extension globals and post-deactivation function fields unfilled. Most modern extensions will make use of module globals.

Замечание:

This table gives the values that each field would have if the developer were to fill in the structure entirely by hand, without recourse to any of the shortcut macros. This is not recommended. The "correct" values for many fields may change. Use the macros whenever possible.

Module structure field values
Field | Value | Description
size [1] [2] [3] | sizeof(zend_module_entry) | The size in bytes of the structure.
zend_api [1] [2] [3] | ZEND_MODULE_API_NO | The version of the Zend API this module was compiled against.
zend_debug [1] [2] [3] | ZEND_DEBUG | A flag indicating whether the module was compiled with debugging turned on.
zts [1] [2] [3] | USING_ZTS | A flag indicating whether the module was compiled with ZTS (TSRM) enabled (see Memory management).
ini_entry [1] [3] | NULL | This pointer is used internally by Zend to keep a non-local reference to any INI entries declared for the module.
deps [3] | NULL | A pointer to a list of dependencies for the module.
name | "mymodule" | The name of the module. This is the short name, such as "spl" or "standard".
functions | mymodule_functions | A pointer to the module's function table, which Zend uses to expose functions in the module to user space.
module_startup_func | PHP_MINIT(mymodule) | A callback function that Zend will call the first time a module is loaded into a particular instance of PHP.
module_shutdown_func | PHP_MSHUTDOWN(mymodule) | A callback function that Zend will call the when a module is unloaded from a particular instance of PHP, typically during final shutdown.
request_startup_func | PHP_RINIT(mymodule) | A callback function that Zend will call at the beginning of each request. This should be as short as possible or NULL as calling this has costs on every request.
request_shutdown_func | PHP_RSHUTDOWN(mymodule) | A callback function that Zend will call at the end of each request. This should be as short as possible or NULL as calling this has costs on every request.
info_func | PHP_MINFO(mymodule) | A callback function that Zend will call when the phpinfo() function is called.
version | NO_VERSION_YET | A string giving the version of the module, as specified by the module developer. It is recommended that the version number be either in the format expected by version_compare() (e.g. "1.0.5-dev"), or a CVS or SVN revision number (e.g. "$Rev: 301952 $").
globals_size [1] [4] [5] [6] | sizeof(zend_mymodule_globals) | The size of the data structure containing the module's globals, if any.
globals_id_ptr [1] [4] [5] [6] [7] | &mymodule_globals_id | Only one of these two fields will exist, depending upon whether the USING_ZTS constant is TRUE. The former is an index into TSRM's allocation table for the module's globals, and the latter is a pointer directly to the globals.
globals_ptr [1] [4] [5] [6] [8] | &mymodule_globals
globals_ctor [4] [5] [6] | PHP_GINIT(mymodule) | This funtion is called to initialize a module's globals before any module_startup_func.
globals_dtor [4] [5] [6] | PHP_GSHUTDOWN(mymodule) | This funtion is called to deallocate a module's globals after any module_shutdown_func.
post_deactivate_func [4] | ZEND_MODULE_POST_ZEND_DEACTIVATE_N(mymodule) | This function is called by Zend after request shutdown. It is rarely used.
module_started [1] [9] [4] | 0 | These fields are used for Zend's internal tracking information.
type [1] [9] [4] | 0
handle [1] [9] [4] | NULL
module_number [1] [9] [4] | 0
[1] This field is not intended for use by module developers. [2] This field is filled in by STANDARD_MODULE_HEADER_EX. [3] This field is filled in by STANDARD_MODULE_HEADER. [4] This field is filled in by STANDARD_MODULE_PROPERTIES. [5] This field is filled in by NO_MODULE_GLOBALS. [6] This field is filled in by PHP_MODULE_GLOBALS. [7] This field only exists when USING_ZTS is TRUE. [8] This field only exists when USING_ZTS is FALSE. [9] This field is filled in by STANDARD_MODULE_PROPERTIES_EX.

Filling in the structure in a practical situation

With all these fields to play with, it can be confusing to know which to use for what purpose. Here is the zend_module definition from the "counter" example extension after updating it to its final form.

Пример #3 Counter extension module definition

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),
    PHP_RSHUTDOWN(counter),
    PHP_MINFO(counter),
    NO_VERSION_YET,
    PHP_MODULE_GLOBALS(counter),
    PHP_GINIT(counter),
    PHP_GSHUTDOWN(counter),
    NULL,
    STANDARD_MODULE_PROPERTIES_EX
};
/* }}} */
  • STANDARD_MODULE_HEADER is used since this module doesn't define any dependencies.
  • "counter" is the extension's name, and is used to define the various callback functions the module passes to Zend. "counter" uses module, globals, and request functions at startup and shutdown times, and provides information to phpinfo(), so all seven callbacks are defined.
  • It is assumed that there is a variable of type zend_function_entry * named counter_functions earlier in the file that contains the module definition, listing the functions the module exports to userspace.
  • NO_VERSION_YET is a particularly nice way of telling Zend the module doesn't have a version. It might have been more correct to place "1.0" here instead in a real module.
  • "counter" uses per-module globals, so PHP_MODULE_GLOBALS is used
  • This module has no post-deactivate function, so NULL is used.
  • Since this module does use globals, STANDARD_MODULE_PROPERTIES_EX is used to finish the structure.

What's changed between 5.2 and 5.3?

Nothing. The only differences in the zend_module structure between PHP 5.2 and PHP 5.3 are a few const keywords.

Basic constructs
Extension globals
Extension structure


Extension globals

Introduction to globals in a PHP extension

In a language such as C, a "global" variable is a variable that can be accessed from any function without any extra declaration. These traditional globals have a few drawbacks:

  • Barring any special options passed to the compiler, a global variable can be accessed and changed by any piece of code anywhere in the program, whether or not that code should be doing so.
  • A typical global variable is not thread safe.
  • The names of global variables are as global as the variables themselves.

A PHP extension's globals are more properly called the "extension state", since most modules must remember what they're doing between function calls. The "counter" extension is a perfect example of this need: The basic interface calls for a counter with a persistent value. A programmer new to Zend and PHP might do something like this in counter.c to store that value:

Пример #1 The wrong way to store the basic counter interface's value

/* ... */
static long basic_counter_value;

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(basic_counter_value);
}

On the surface this appears a viable solution, and indeed in a simple test it would function correctly. However, there are a number of situations in which more than one copy of PHP is running in the same thread, which means more than one instance of the counter module. Suddenly these multiple threads are sharing the same counter value, which is clearly undesirable. Another problem shows itself when considering that another extension might someday happen to have a global with the same name, and due to the rules of C scoping, this has the potential to cause a compile failure, or worse, a runtime error. Something more elaborate is needed, and so exists Zend's support for thread-safe per-module globals.

Declaring module globals

Whether a module uses only a single global or dozens, they must be defined in a structure, and that structure must be declared. There are some macros that assist with doing so in a way that avoids name conflicts between modules: ZEND_BEGIN_MODULE_GLOBALS(), ZEND_END_MODULE_GLOBALS(), and ZEND_DECLARE_MODULE_GLOBALS(). All three take as a parameter the short name of the module, which in the case of the counter module is simply "counter". Here is the global structure declaration from php_counter.h:

Пример #2 The counter module's globals

ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

And this is the declaration from counter.c:

Пример #3 The counter module's global structure declaration

ZEND_DECLARE_MODULE_GLOBALS(counter)

Accessing module globals

As discussed above, per-module globals are declared inside a C structure whose name is obscured by Zend macros. As a result, the ideal way to access members of this structure is by the use of further macros. Accordingly, most if not all extensions which have globals have a declaration like this somewhere in their header file:

Пример #4 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

Замечание: This could have been generalized into a macro of its own by the Zend API, but as of PHP 5.3 (and PHP 6 at the time of this writing), that hasn't happened. The global accessor construct is written into the header by ext_skel and thus is generally left alone by extension writers, unless they wish to change the name of the accessor macro.

Замечание: COUNTER_G was the name given to the macro by ext_skel, but it's not necessary for it to have that name and could just as easily be called FOO instead.

Any code in the counter extension that accesses a global must thus wrap it in the macro COUNTER_G.

Внимание

Any function which accesses globals must either be declared by Zend macros, have TSRMLS_DC as its last argument, or call the macro TSRMLS_FETCH before accessing the globals. See the TSRM documentation for more information.

So with all of that in mind, here is our new version of the counter_get():

Пример #5 The right way to store the basic counter interface's value

/* php_counter.h */
ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

/* counter.c */
ZEND_DECLARE_MODULE_GLOBALS(counter)

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(COUNTER_G(basic_counter_value));
}

This is a correct implementation. It is not, however, a complete one. The section Life cycle of an extension explains why.

The zend_module structure
Life cycle of an extension
Extension structure


Life cycle of an extension

A PHP extension goes through several phases during its lifetime. All of these phases are opportunities for the developer to perform various initialization, termination, or informational functions. The Zend API allows for hooks into five separate phases of an extension's existence, apart from calls by PHP functions.

Loading, unloading, and requests

As the Zend engine runs, it processes one or more "requests" from its client. In the traditional CGI implementation, this corresponds to one execution of a process. However, many other implementations, most notably the Apache module, can map many requests onto a single PHP process. A PHP extension may thus see many requests in its lifetime.

Overview

  • In the Zend API, a module is loaded into memory only once when the associated PHP process starts up. Each module receives a call to the "module initialization" function specified in its zend_module structure as it is loaded.
  • Whenever the associated PHP process starts to handle a request from its client - i.e. whenever the PHP interpreter is told to start working - each module receives a call to the "request initialization" function specified in its zend_module structure.
  • Whenever the associated PHP process is done handling a request, each module receives a call to the "request termination" function specified in its zend_module structure.
  • A given module is unloaded from memory when its associated PHP process is shut down in an orderly manner. The module receives a call to the "module termination" function specified in its zend_module structure at this time.

What to do, and when to do it

There are many tasks that might be performed at any of these four points. This table details where many common initialization and termination tasks belong.

What to do, and when to do it
Module initialization/termination | Request initialization/termination
Allocate/deallocate and initialize module global variables | Allocate/deallocate and initialize request-specific variables
Register/unregister class entries |
Register/unregister INI entries |
Register constants |

The phpinfo() callback

Aside from globals initialization and certain rarely-used callbacks, there is one more part of a module's lifecycle to examine: A call to phpinfo(). The output a user sees from this call, whether text or HTML or anything else, is generated by each individual extension that is loaded into the PHP interpreter at the time the call is made.

To provide for format-neutral output, the header "ext/standard/info.h" provides an array of functions to produce standardized display elements. Specifically, several functions which create the familiar tables exist:

php_info_print_table_start()
Open a table in phpinfo() output. Takes no parameters.
php_info_print_table_header()
Print a table header in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column heading.
php_info_print_table_row()
Print a table row in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column content.
php_info_print_table_end()
Close a table formerly opened by php_info_print_table_start(). Takes no parameters.

Using these four functions, it is possible to produce status information for nearly any combination of features in an extension. Here is the information callback from the counter extension:

Пример #1 counter's PHP_MINFO function

/* {{{ PHP_MINFO(counter) */
PHP_MINFO_FUNCTION(counter)
{
    char        buf[10];

    php_info_print_table_start();
    php_info_print_table_row(2, "counter support", "enabled");
    snprintf(buf, sizeof(buf), "%ld", COUNTER_G(basic_counter_value));
    php_info_print_table_row(2, "Basic counter value", buf);
    php_info_print_table_end();
}
/* }}} */
Extension globals
Testing an extension
Extension structure


Testing an extension

One of the accepted requirements of good programming is testing. PHP provides a test harness for unit regression tests, in the form of a script called run-tests.php.

Tests for a particular module are stored in the tests/ subdirectory of the module's folder, and have a .phpt extension. For details of the PHPT format, see » http://qa.php.net/.

Life cycle of an extension
Memory management
Extension structure


Memory management

Содержание

  • Basic memory management
  • Data persistence
  • Thread-Safe Resource Manager

Memory management in the Zend Engine is deceptively simple. There are some APIs to learn, and some concepts behind them to understand, but that's about all.

Testing an extension
Basic memory management
Ядро PHP: Руководство хакера по Zend Engine


Basic memory management

When programming in the C programming language the developer has to manually care about memory management. As PHP is usually used as a web server module memory management is from special relevance in order to prevent memory leaks. Additionally you should be aware that PHP might be used in threaded environments which means that global variables might lead to race conditions. For information about dealing with thread-global data please refer to the documentation on the Thread-Safe Resource Manager, which serves as thread-isolation facility.

Additionally to these requirements the Zend Engine is faced with a quite special usage pattern where, within a relatively short time, many memory blocks of the size of a zval structure or other small memory blocks are requested and freed again. Memory management in PHP has also to respect the memory_limit.

For fulfilling the above requirements the Zend Engine provides a special memory manager for handling request-bound data. Request-bound data is data that is needed only for serving a single request and which will be freed at the request's end at latest. Extension authors will mostly only have contact with the routines listed in the table below. Although they are implemented as macros for providing some convenience features this documentation will treat them like functions.

Main memory APIs
Prototype | Description
void *emalloc(size_t size) | Allocate size bytes of memory.
void *ecalloc(size_t nmemb, size_t size) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *erealloc(void *ptr, size_t size) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void efree(void *ptr) | Free the buffer pointed by ptr. The buffer had to be allocated by emalloc.
void *safe_emalloc(size_t nmemb, size_t size, size_t offset) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to emalloc(nmemb * size + offset) but adds a special protection against overflows.
char *estrdup(const char *s) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *estrndup(const char *s, unsigned int length) | Similar to estrdup while the length of the NULL-terminated string is already known.

Замечание: Unlike their C standard library's counterparts the Zend Engine's memory management functions won't return NULL in case of an problem while allocating the requested memory but bail out and terminate the current request.

As said above it is an essential part of the memory management to avoid having memory leaks and therefore free all memory you've allocated as soon as possible. As a safety net the Zend Engine will free all memory, which had been allocated using above mentioned APIs at the end of a request. If PHP was built using the --enable-debug configuration option this will lead to a warning.

Пример #1 PHP's leak warnings

ZEND_FUNCTION(leak)
{
    long leakbytes = 3;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &leakbytes) == FAILURE) {
        return;
    }

    emalloc(leakbytes);
}

Результатом выполнения данного примера будет что-то подобное:

[Thu Oct 22 02:14:57 2009]  Script:  '-'
/home/johannes/src/PHP_5_3/Zend/zend_builtin_functions.c(1377) :  Freeing 0x088888D4 (3 bytes), script=-
=== Total 1 memory leaks detected ===

Замечание: When dealing with PHP variables you have to make sure the variable's memory is allocated using emalloc and take care of the reference count. Details can be found in Working with variables.

Замечание: This leak detection can only find leaks caused by blocks allocated by emalloc. You're advised to use a memory checker like valgrind or libumem for deeper analysis. To simplify the analysis PHP's memory manager can be disabled by setting the environment variable USE_ZEND_ALLOC=0 before starting PHP.

Memory management
Data persistence
Memory management


Data persistence

Basic memory management
Thread-Safe Resource Manager
Memory management


Thread-Safe Resource Manager

Data persistence
Working with variables
Memory management


Working with variables

Содержание

  • Intro
  • Creating variables and setting values
Thread-Safe Resource Manager
Intro
Ядро PHP: Руководство хакера по Zend Engine


Intro

For working with variables in PHP's core you have to learn about different fundamental concepts used in PHP. Firstly PHP is a dynamic and weak typed language. Secondly PHP uses a copy on write mechanism with reference counting for memory handling. Please check the Основы подсчета ссылок chapter for details how reference counting and references work.

PHP variables, in general, consist out of two things: The label, which might, for instance, be an entry in a symbol table, and the actual variable container. For the most parts of this manual we will focus on the variable container.

The variable container, in code called zval, is holding all data needed to handle the variable. This includes not only the actual value but also the current type, a counter counting the number of labels pointing to this container and a flag whether these labels should be treated as references or copies. In PHP 5.3 the relevant structures, which you can find in Zend/zend.h, look like this:

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {                   /* string type */
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    zend_object_value obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    zend_uint refcount__gc;
    zend_uchar type;           /* active type */
    zend_uchar is_ref__gc;
};

In the zvalue_value one can find the internal representation for the different types the fields used should be clear from the names and comments - especially if one knows that PHP's arrays are infact hash tables. Nonetheless, knowing PHP's types one might miss a few: NULL, boolean and resources. For NULL we need no value, as NULL is the value of that type. For boolean and resource values PHP re-uses the value field. In the case of a boolean it holds either 0 for false or 1 for true. For resource-typed variables it holds the resource id.

Now the good message is that you don't have to know these things in detail as there are - like always in PHP - acces macros. The bad news is that there are many of them: There are macros to access any aspect of the zval and then, as one often deals with pointers to zvals and even pointers to pointers to zvals, for most of them there are shortcuts dereferencing these pointers. These macros are spread over Zend/zend.h, Zend/zend_operators.h and Zend/zend_API.h.

Working with variables
Creating variables and setting values
Working with variables


Creating variables and setting values

Intro
Writing functions
Working with variables


Writing functions

One core element of an extension are functions which are exported to the PHP userland. Even when you're planning to write object-oriented extensions you are advised to read this chapter as most of the information is valid for methods, too.

When adding a function to an extension, for instance after using the ext_skel script to create the raw infrastructure, you can create a function by implementing it as a C function and then providing an entry for the extension's function table. The function entry can contain a pointer to an argument information structure. Providing this information ins not strictly necessary, unless you plan to accept parameters by reference or want to return a reference, but provides information that can be accessed via PHP's Reflection API. As you will see below the parameters aren't passed as direct function parameters to the implementation but passed on a stack, which is checked by the function's implementation which can't directly serve as source for this information.

Пример #1 Minimal PHP extension with one function

/* {{{ proto void hello_world()
       Do nothing */
PHP_FUNCTION(hello_world)
{
}
/* }}} */

/* {{{ arginfo_hello_world */
ZEND_BEGIN_ARG_INFO(arginfo_hello_world, 0)
ZEND_END_ARG_INFO()
/* }}} */

/* {{{ demo_functions */
function_entry demo_functions[] = {
    PHP_FE(hello_world, arginfo_hello_world)
    {NULL, NULL, NULL}
}
/* }}} */

/* {{{ demo_module_enry */
zend_module_entry demo_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
    STANDARD_MODULE_HEADER,
#endif
    "demo",
    demo_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
#if ZEND_MODULE_API_NO >= 20010901
    "1.0.0",
#en
    STANDARD_MODULE_PROPERTIES
}
/* }}} */

In this example you can see the above discussed elements and the module structure; if you don't remember this structure go back to The zend_module structure.

The first part of this extension is the actual implementation. As a convention each exported function is preceded by a two line comment describing the function's userland prototype and a short one line comment.

For providing source code compatibility between different versions of PHP the functions declaration is wrapped into the PHP_FUNCTION macro. The compiler's preprocessor will, when using PHP 5.3 transform this into a function like this:

void zif_hello_world(int ht, zval *return_value, zval **return_value_ptr,
                     zval *this_ptr, int return_value_used TSRMLS_DC)
{
}

For preventing a naming conflict between a function exported to userland and another C function with the same name the C symbol of the exported function is prefixed with the prefix zif_. You can also see that this prototype doesn't reference the argument stack. Accessing parameters passed from PHP is described below. The following table lists the C level parameters which are also defined in the INTERNAL_FUNCTION_PARAMETERS macro. Mind that these parameters might change between PHP versions and you should use the provide macros.

INTERNAL_FUNCTION_PARAMETERS
Name and type | Description | Access macros
int ht | Number of actual parameters passed by user | ZEND_NUM_ARGS()
zval *return_value | Pointer to a PHP variable that can be filled with the return value passed to the user. The default type is IS_NULL. | RETVAL_*, RETURN_*
zval **return_value_ptr | When returning references to PHP set this to a pointer to your variable. It is not suggested to return references. |
zval *this_ptr | If this is a method call, points to the PHP variable holding the $this object. | getThis()
int return_value_used | Flag indicating whether the returned value will be used by the caller. |

As said the function shown above will simply return NULL to the user and do nothing else. The function can be called, from the PHP userland, with an arbitrary number of parameters. A more useful function consists of four parts in general:

  1. Declaration of local variables. In C we have to declare locale vars, so we do this at the functions top.

  2. Parameter parsing. PHP passes parameters on a special stack: we have to read them from there, verify the types, cast them if needed and bail out if something goes wrong.

  3. Actual logic. Do whatever is needed.

  4. Set the return value, cleanup, return.

In some cases the exact order of these steps may change. Especially the last two steps are often mixed up, but it's a good idea to stay in that order.

Пример #2 A simple function

/* {{{ proto void hello_world(string name)
   Greets a user */
PHP_FUNCTION(hello_world)
{
    char *name;
    int name_len;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
        return;
    }

    php_printf("Hello %s!", name);

    RETURN_TRUE;
}
/* }}} */

The function above shows these parts. Let's start the analysis with the last lines: php_printf is - as one can guess easily - PHP's version of standard C's printf. Unlike printf it doesn't print to the process's STDOUT channel but to the current output stream, which might be buffered by the user. It should be noted that php_printf, unlike most parts of PHP's API is not binary safe, so if name contains a NULL-byte the rest would be ignored. For a binary safe output PHPWRITE should be used.

Замечание: In general it is considered to directly print data to the output stream, it is suggested to return data as string to the user instead so the user can decide what to do. Exceptions to this rule might be functions dealing with binary data like images while your API should provide a way to access the data even there.

The RETURN_TRUE macro in the last line does three things: It sets the type of the variable we got as return_value pointer to IS_BOOLEAN and the value to a true value. Then it returns from the C function. So when using this macro you're housekeeping for memory and other resources has to be completed as further code of this function won't be executed.

The zend_parse_parameters() function is responsible for reading the parameters passed by the user from the argument stack and putting it with proper casting in local C variables. If the user doesn't pass the wrong number of parameters or types that can't be casted the function will emit a verbose error and return FAILURE. In that case we simply return from the function - by not changing the return_value the default return value of NULL will be returned to the user.

Замечание: Please mind that FAILURE is represented by a -1 and SUCCESS by 0. To make the code clear you should always use the named constants for comparing the value.

The first parameter to zend_parse_parameters() is the number of parameters that have actually been passed to the function by the user. The number is passed as ht parameter to our function but, as discussed above, this should be considered as an implementation detail and ZEND_NUM_ARGS() should be used.

For compatibility with PHP's thread-isolation, the thread-safe resource manager, we also have to pass the thread context using TSRMLS_CC. Unlike in other functions this can't be the last parameter as zend_parse_parameters expects a variable number of parameters - depending on the number of user-parameters to read.

Following the thread context the expected parameters are declared. Each parameter is represented by a character in the string describing the type. In our case we expect one parameter as a string so our type specification is simply "s".

Lastly one has to pass one or more pointers to C variables which should be filled with the variable's value or provide more details. In the case of a string we get the actual string, which will always be NULL-terminated, as a char* and its length, excluding the NULL-byte, as int.

A documentation of all type specifiers and the corresponding additional C types can be found in the file » README.PARAMETER_PARSING_API which is part of the source distribution. The most important types can be found in the table below.

zend_parse_parameters() type specifiers
Modifier | Additional parameter types | Description
b | zend_bool | Boolean value
l | long | A integer (long) value
d | double | A float (double) value
s | char*, int | A binary safe string
h | HashTable* | An array's hash table
Creating variables and setting values
Working with classes and objects
Ядро PHP: Руководство хакера по Zend Engine


Working with classes and objects

Writing functions
Working with resources
Ядро PHP: Руководство хакера по Zend Engine


Working with resources

Working with classes and objects
Working with INI settings
Ядро PHP: Руководство хакера по Zend Engine


Working with INI settings

Working with resources
Working with streams
Ядро PHP: Руководство хакера по Zend Engine


Working with streams

Замечание:

Information on using streams within the PHP source code can be found in the Streams API for PHP Extension Authors reference.

Working with INI settings
PDO Driver How-To
Ядро PHP: Руководство хакера по Zend Engine


PDO Driver How-To

Содержание

  • Prerequisites
  • Preparation and Housekeeping
  • Fleshing out your skeleton
  • Building
  • Testing
  • Packaging and distribution
  • pdo_dbh_t definition
  • pdo_stmt_t definition
  • Constants
  • Error handling

The purpose of this How-To is to provide a basic understanding of the steps required to write a database driver that interfaces with the PDO layer. Please note that this is still an evolving API and as such, subject to change. This document was prepared based on version 0.3 of PDO. The learning curve is steep; expect to spend a lot of time on the prerequisites.

Working with streams
Prerequisites
Ядро PHP: Руководство хакера по Zend Engine


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

    2. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    3. Win32: Visual Studio compiler suite;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pecl install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the C programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

PDO Driver How-To
Preparation and Housekeeping
PDO Driver How-To


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                  # unix build script
  config.w32                 # win32 build script
  CREDITS
  package.xml                # meta information about the package
  pdo_SKEL.c                 # standard PHP extension glue
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h         # driver private header
  SKEL_dbh.c                 # contains the implementation of the PDO driver interface
  SKEL_stmt.c                # contains the implementation of the PDO statement interface
  tests/

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory. PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>
Prerequisites
Fleshing out your skeleton
PDO Driver How-To


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION
/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION
/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error "HY000". The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

Пример #1 Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see Error handling.

Замечание:

Despite being documented here, the PDO driver interface does not specify that this function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not know if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involve some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

Пример #2 Using pdo_parse_params

int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

Пример #3 Implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

Замечание:

This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See Database and Statement Attributes Table for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of the pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure is set, otherwise the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)
Внимание

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

Preparation and Housekeeping
Building
PDO Driver How-To


Building

The build process is designed to work with PEAR (see » http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which is a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pecl install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

Fleshing out your skeleton
Testing
PDO Driver How-To


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test
Building
Packaging and distribution
PDO Driver How-To


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pecl package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pecl build package.xml

Once this is proven to work, you can test installation:

$ pecl package
$ sudo pecl install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (» http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at » http://pecl.php.net/.

Testing
pdo_dbh_t definition
PDO Driver How-To


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
*
/* driver specific data */
    void *driver_data;
**
/* credentials */
    char *username, *password;
***
/* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;
****
/* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;
*****
/* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;
******
/* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;
*******
/* data source string used to open this handle */
    const char *data_source;
********
unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;
*********
enum pdo_case_conversion native_case
**********
, desired_case;
};
*

The driver must set this during SKEL_handle_factory().

**

This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.

***

The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.

****

If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

*****

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.

******

If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier than it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

*******

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO executes the statement.

********

This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.

*********

Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.

**********

Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always returned in lower case, set it to PDO_CASE_LOWER. The value you set is used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

Packaging and distribution
pdo_stmt_t definition
PDO Driver How-To


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;
*
void *driver_data;
**
/* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;
***
/* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;
****
/* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;
*****
struct pdo_column_data *columns;
******
/* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};
* | The driver must set this during SKEL_handle_preparer().
** | This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
*** | This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
**** | Discussed in more detail in SKEL_handle_preparer.
***** | Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that implement SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
****** | PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will call efree() at the appropriate time.
pdo_dbh_t definition
Constants
PDO Driver How-To


Constants

Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The "human-readable" string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The "human-readable" string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The "human-readable" description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in "where current in <name>" SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

pdo_stmt_t definition
Error handling
PDO Driver How-To


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO that an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, set the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default "Unknown Message" value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain any additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

Constants
Extension FAQs
PDO Driver How-To


Extension FAQs

Error handling
Zend Engine 2 API reference
Ядро PHP: Руководство хакера по Zend Engine


Zend Engine 2 API reference

Extension FAQs
Zend Engine 2 opcode list
Ядро PHP: Руководство хакера по Zend Engine


Zend Engine 2 API reference
Opcodes
Ядро PHP: Руководство хакера по Zend Engine
PHP Manual

Zend Engine 2 opcode list

Содержание

  • Opcodes

Opcodes

This page lists and partially documents all the opcodes generated by Zend Engine 2 when it parses PHP files. Opcodes may be dumped for a given PHP file using the vld extension (see » http://pecl.php.net/package/vld).

Zend Engine 2 API reference
Opcodes
Ядро PHP: Руководство хакера по Zend Engine


Opcodes

Содержание

  • Opcode list
  • ADD
  • ADD_ARRAY_ELEMENT
  • ADD_CHAR
  • ADD_INTERFACE
  • ADD_STRING
  • ADD_VAR
  • ASSIGN
  • ASSIGN_ADD
  • ASSIGN_BW_AND
  • ASSIGN_BW_OR
  • ASSIGN_BW_XOR
  • ASSIGN_CONCAT
  • ASSIGN_DIM
  • ASSIGN_DIV
  • ASSIGN_MOD
  • ASSIGN_MUL
  • ASSIGN_OBJ
  • ASSIGN_REF
  • ASSIGN_SL
  • ASSIGN_SR
  • ASSIGN_SUB
  • BEGIN_SILENCE
  • BOOL
  • BOOL_NOT
  • BOOL_XOR
  • BRK
  • BW_AND
  • BW_NOT
  • BW_OR
  • BW_XOR
  • CASE
  • CAST
  • CATCH
  • CLONE
  • CONCAT
  • DECLARE_CLASS
  • DECLARE_FUNCTION
  • DECLARE_INHERITED_CLASS
  • DIV
  • DO_FCALL
  • DO_FCALL_BY_NAME
  • ECHO
  • END_SILENCE
  • EXIT
  • EXT_FCALL_BEGIN
  • EXT_FCALL_END
  • EXT_NOP
  • EXT_STMT
  • FETCH_CLASS
  • FETCH_CONSTANT
  • FETCH_DIM_FUNC_ARG
  • FETCH_DIM_IS
  • FETCH_DIM_R
  • FETCH_DIM_RW
  • FETCH_DIM_TMP_VAR
  • FETCH_DIM_UNSET
  • FETCH_DIM_W
  • FETCH_FUNC_ARG
  • FETCH_IS
  • FETCH_OBJ_FUNC_ARG
  • FETCH_OBJ_IS
  • FETCH_OBJ_R
  • FETCH_OBJ_RW
  • FETCH_OBJ_UNSET
  • FETCH_OBJ_W
  • FETCH_R
  • FETCH_RW
  • FETCH_UNSET
  • FETCH_W
  • FE_FETCH
  • FE_RESET
  • FREE
  • HANDLE_EXCEPTION
  • INCLUDE_OR_EVAL
  • INIT_ARRAY
  • INIT_FCALL_BY_NAME
  • INIT_METHOD_CALL
  • INIT_STATIC_METHOD_CALL
  • INIT_STRING
  • INSTANCEOF
  • ISSET_ISEMPTY_DIM_OBJ
  • ISSET_ISEMPTY_PROP_OBJ
  • ISSET_ISEMPTY_VAR
  • IS_EQUAL
  • IS_IDENTICAL
  • IS_NOT_EQUAL
  • IS_NOT_IDENTICAL
  • IS_SMALLER
  • IS_SMALLER_OR_EQUAL
  • JMPNZ
  • JMPNZ_EX
  • JMPZ
  • JMPZNZ
  • JMPZ_EX
  • MOD
  • MUL
  • NEW
  • NOP
  • POST_DEC
  • POST_DEC_OBJ
  • POST_INC
  • POST_INC_OBJ
  • PRE_DEC
  • PRE_DEC_OBJ
  • PRE_INC
  • PRE_INC_OBJ
  • PRINT
  • QM_ASSIGN
  • RAISE_ABSTRACT_ERROR
  • RECV
  • RECV_INIT
  • RETURN
  • SEND_REF
  • SEND_VAL
  • SEND_VAR
  • SEND_VAR_NO_REF
  • SL
  • SR
  • SUB
  • SWITCH_FREE
  • THROW
  • TICKS
  • UNSET_DIM
  • UNSET_OBJ
  • UNSET_VAR
  • USER_OPCODE
  • VERIFY_ABSTRACT_CLASS
Zend Engine 2 opcode list
Opcode list
Zend Engine 2 opcode list


Opcode list

Opcode list
Number | Name | Has sample code?
0 | NOP | yes
1 | ADD | yes
2 | SUB | yes
3 | MUL | yes
4 | DIV | yes
5 | MOD | yes
6 | SL | yes
7 | SR | yes
8 | CONCAT | yes
9 | BW_OR | yes
10 | BW_AND | yes
11 | BW_XOR | yes
12 | BW_NOT | yes
13 | BOOL_NOT | yes
14 | BOOL_XOR | yes
15 | IS_IDENTICAL | yes
16 | IS_NOT_IDENTICAL | yes
17 | IS_EQUAL | yes
18 | IS_NOT_EQUAL | yes
19 | IS_SMALLER | yes
20 | IS_SMALLER_OR_EQUAL | yes
21 | CAST | yes
22 | QM_ASSIGN | yes
23 | ASSIGN_ADD | yes
24 | ASSIGN_SUB | yes
25 | ASSIGN_MUL | yes
26 | ASSIGN_DIV | yes
27 | ASSIGN_MOD | yes
28 | ASSIGN_SL | yes
29 | ASSIGN_SR | yes
30 | ASSIGN_CONCAT | yes
31 | ASSIGN_BW_OR | yes
32 | ASSIGN_BW_AND | yes
33 | ASSIGN_BW_XOR | yes
34 | PRE_INC | yes
35 | PRE_DEC | yes
36 | POST_INC | yes
37 | POST_DEC | yes
38 | ASSIGN | yes
39 | ASSIGN_REF | yes
40 | ECHO | yes
41 | PRINT | yes
42 | not documented | no
43 | JMPZ | yes
44 | JMPNZ | yes
45 | JMPZNZ | yes
46 | JMPZ_EX | yes
47 | JMPNZ_EX | yes
48 | CASE | yes
49 | SWITCH_FREE | yes
50 | BRK | yes
51 | not documented | no
52 | BOOL | yes
53 | INIT_STRING | yes
54 | ADD_CHAR | yes
55 | ADD_STRING | yes
56 | ADD_VAR | yes
57 | BEGIN_SILENCE | yes
58 | END_SILENCE | yes
59 | INIT_FCALL_BY_NAME | yes
60 | DO_FCALL | yes
61 | DO_FCALL_BY_NAME | yes
62 | RETURN | yes
63 | RECV | yes
64 | RECV_INIT | yes
65 | SEND_VAL | yes
66 | SEND_VAR | yes
67 | SEND_REF | yes
68 | NEW | yes
69 | not documented | no
70 | FREE | yes
71 | INIT_ARRAY | yes
72 | ADD_ARRAY_ELEMENT | yes
73 | INCLUDE_OR_EVAL | yes
74 | UNSET_VAR | yes
75 | UNSET_DIM | yes
76 | UNSET_OBJ | yes
77 | FE_RESET | yes
78 | FE_FETCH | yes
79 | EXIT | yes
80 | FETCH_R | yes
81 | FETCH_DIM_R | yes
82 | FETCH_OBJ_R | yes
83 | FETCH_W | yes
84 | FETCH_DIM_W | yes
85 | FETCH_OBJ_W | yes
86 | FETCH_RW | yes
87 | FETCH_DIM_RW | yes
88 | FETCH_OBJ_RW | yes
89 | FETCH_IS | yes
90 | FETCH_DIM_IS | no
91 | FETCH_OBJ_IS | no
92 | FETCH_FUNC_ARG | yes
93 | FETCH_DIM_FUNC_ARG | yes
94 | FETCH_OBJ_FUNC_ARG | yes
95 | FETCH_UNSET | no
96 | FETCH_DIM_UNSET | no
97 | FETCH_OBJ_UNSET | no
98 | FETCH_DIM_TMP_VAR | yes
99 | FETCH_CONSTANT | yes
100 | not documented | no
101 | EXT_STMT | no
102 | EXT_FCALL_BEGIN | no
103 | EXT_FCALL_END | no
104 | EXT_NOP | no
105 | TICKS | yes
106 | SEND_VAR_NO_REF | no
107 | CATCH | yes
108 | THROW | yes
109 | FETCH_CLASS | yes
110 | CLONE | yes
111 | not documented | no
112 | INIT_METHOD_CALL | yes
113 | INIT_STATIC_METHOD_CALL | yes
114 | ISSET_ISEMPTY_VAR | yes
115 | ISSET_ISEMPTY_DIM_OBJ | yes
116 | not documented | no
117 | not documented | no
118 | not documented | no
119 | not documented | no
120 | not documented | no
121 | not documented | no
122 | not documented | no
123 | not documented | no
124 | not documented | no
125 | not documented | no
126 | not documented | no
127 | not documented | no
128 | not documented | no
129 | not documented | no
130 | not documented | no
131 | not documented | no
132 | PRE_INC_OBJ | yes
133 | PRE_DEC_OBJ | yes
134 | POST_INC_OBJ | yes
135 | POST_DEC_OBJ | yes
136 | ASSIGN_OBJ | yes
137 | not documented | no
138 | INSTANCEOF | yes
139 | DECLARE_CLASS | yes
140 | DECLARE_INHERITED_CLASS | yes
141 | DECLARE_FUNCTION | yes
142 | RAISE_ABSTRACT_ERROR | yes
143 | not documented | no
144 | ADD_INTERFACE | no
145 | not documented | no
146 | VERIFY_ABSTRACT_CLASS | no
147 | ASSIGN_DIM | yes
148 | ISSET_ISEMPTY_PROP_OBJ | yes
149 | HANDLE_EXCEPTION | yes
150 | USER_OPCODE | no
152 | ZEND_JMP_SET | no
153 | ZEND_DECLARE_LAMBDA_FUNCTION | no
Opcodes
ADD
Opcodes


ADD

PHP code

<?php
/*
 * Adds "value1" to "value2" and stores the result into "result".
 * opcode number: 1
 */
echo 1 + 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ADD |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
Opcode list
ADD_ARRAY_ELEMENT
Opcodes


ADD_ARRAY_ELEMENT

PHP code

<?php
/*
 * Add elem-value as an element to array-value
 * opcode number: 72
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
ADD
ADD_CHAR
Opcodes


ADD_CHAR

PHP code

<?php
/*
 * add character value2 to string value1 and store in result
 * opcode number: 54
 */
echo "hello\ world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello%5C+world'
7 | 1 | RETURN |  |  |  | 1
ADD_ARRAY_ELEMENT
ADD_INTERFACE
Opcodes


ADD_INTERFACE

PHP code

<?php
/*
 *
 * opcode number: 144
 * No sample PHP yet */
?>
ADD_CHAR
ADD_STRING
Opcodes


ADD_STRING

PHP code

<?php
/*
 * add string value2 to string value2 and store in result
 * opcode number: 55
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_INTERFACE
ADD_VAR
Opcodes


ADD_VAR

PHP code

<?php
/*
 * add contents of variable in value2 to string value1 and store in result
 * opcode number: 56
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_STRING
ASSIGN
Opcodes


ASSIGN

PHP code

<?php
/*
 * assigns value1 to result
 * opcode number: 38
 */
$a=1;
$a='a';
$a=new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !0,'a'
8 | 2 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 3 | NEW |  |  | $3 | :2
 | 4 | DO_FCALL_BY_NAME |  | 0 |  |
 | 5 | ASSIGN |  |  |  | !0,$3
9 | 6 | RETURN |  |  |  | 1
ADD_VAR
ASSIGN_ADD
Opcodes


ASSIGN_ADD

PHP code

<?php
/*
 * Add value1 to value2 and store in variable indicated by value1
 * opcode number: 23
 */
$a+=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_ADD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN
ASSIGN_BW_AND
Opcodes


ASSIGN_BW_AND

PHP code

<?php
/*
 * Performs binary AND on result and value1 and stores in variable indicated by result.
 * opcode number: 32
 */
$a &= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_AND |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_ADD
ASSIGN_BW_OR
Opcodes


ASSIGN_BW_OR

PHP code

<?php
/*
 * Performs binary OR on result and value1 and stores in variable indicated by result.
 * opcode number: 31
 */
$a |= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_OR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_AND
ASSIGN_BW_XOR
Opcodes


ASSIGN_BW_XOR

PHP code

<?php
/*
 * Performs binary XOR on result and value1and stores in variable indicated by result.
 * opcode number: 33
 */
$a ^= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_XOR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_OR
ASSIGN_CONCAT
Opcodes


ASSIGN_CONCAT

PHP code

<?php
/*
 * Concats string values result and value1 and store in variable indicated by result
 * opcode number: 30
 */
$a .= 'z';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_CONCAT |  |  |  | !0,'z'
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_XOR
ASSIGN_DIM
Opcodes


ASSIGN_DIM

PHP code

<?php
/*
 *
 * opcode number: 147
 */
$b = 1;
$a[1][2] = $b;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | FETCH_DIM_W |  |  | $1 | !1,1
 | 2 | ZEND_ASSIGN_DIM |  |  |  | $1,2
 | 3 | ZEND_OP_DATA |  |  |  | !0,$3
8 | 4 | RETURN |  |  |  | 1
ASSIGN_CONCAT
ASSIGN_DIV
Opcodes


ASSIGN_DIV

PHP code

<?php
/*
 * Divide result by value1and store in variable indicated by result.
 * opcode number: 26
 */
$a/=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_DIV |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIM
ASSIGN_MOD
Opcodes


ASSIGN_MOD

PHP code

<?php
/*
 * Perform result mod value1 and store in variable indicated by result
 * opcode number: 27
 */
$a %= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MOD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIV
ASSIGN_MUL
Opcodes


ASSIGN_MUL

PHP code

<?php
/*
 * Multiply result by value1 and store in variable indicated by result
 * opcode number: 25
 */
$a*=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MUL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_MOD
ASSIGN_OBJ
Opcodes


ASSIGN_OBJ

PHP code

<?php
/*
 *
 * opcode number: 136
 */
$obj->a = $otherobj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$otherobj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ASSIGN_OBJ |  |  |  | !0,'a'
 | 1 | ZEND_OP_DATA |  |  |  | !1
7 | 2 | RETURN |  |  |  | 1
ASSIGN_MUL
ASSIGN_REF
Opcodes


ASSIGN_REF

PHP code

<?php
/*
 * indicates that variable indicated by value1 is to be treated in the global scope for the remainder of the current scope.
 * opcode number: 39
 */
global $a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_W | globallock |  | $0 | 'a'
 | 1 | ASSIGN_REF |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
ASSIGN_OBJ
ASSIGN_SL
Opcodes


ASSIGN_SL

PHP code

<?php
/*
 * Shift result by value1 bits to left and store in variable indicated by result
 * opcode number: 28
 */
$a <<= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_REF
ASSIGN_SR
Opcodes


ASSIGN_SR

PHP code

<?php
/*
 * Shift result by value1 bits to right and store in variable indicated by result
 * opcode number: 29
 */
$a >>= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SR |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SL
ASSIGN_SUB
Opcodes


ASSIGN_SUB

PHP code

<?php
/*
 * Subtract value1 from value2 and store in variable indicated by value1
 * opcode number: 24
 */
$a-=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SUB |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SR
BEGIN_SILENCE
Opcodes


BEGIN_SILENCE

PHP code

<?php
/*
 * prepare to perform function call without displaying error messages
 * opcode number: 57
 */
/* Intentional file error */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
7 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
8 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
9 | 12 | RETURN |  |  |  | 1
ASSIGN_SUB
BOOL
Opcodes


BOOL

PHP code

<?php
/*
 * convert value1 to boolean and store in result??????????
 * opcode number: 52
 */
if (1 || 2 || 1) echo "foo";
//$a = true;
//if($a) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | JMPNZ_EX |  |  | ~0 | 1,->2
 | 1 | BOOL |  |  | ~0 | 2
 | 2 | JMPNZ_EX |  |  | ~0 | ~0,->4
 | 3 | BOOL |  |  | ~0 | 1
 | 4 | JMPZ |  |  |  | ~0,->7
 | 5 | ECHO |  |  |  | 'foo'
 | 6 | JMP |  |  |  | ->7
9 | 7 | RETURN |  |  |  | 1
BEGIN_SILENCE
BOOL_NOT
Opcodes


BOOL_NOT

PHP code

<?php
/*
 * Boolean (logical) not of "value"
 * opcode number: 13
 */
echo !1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_NOT |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL
BOOL_XOR
Opcodes


BOOL_XOR

PHP code

<?php
/*
 * Boolean (logical) xor of value1
 * opcode number: 14
 */
echo 1 xor 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL_NOT
BRK
Opcodes


BRK

PHP code

<?php
/*
 * ???  End of a case block exists the current switch block.  Followed by JMP?
 * opcode number: 50
 */
$x = 0;
while(1) {
    if($x == 0) break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
7 | 1 | JMPZ |  |  |  | 1,->7
8 | 2 | IS_EQUAL |  |  | ~1 | !0,0
 | 3 | JMPZ |  |  |  | ~1,->6
 | 4 | BRK |  |  |  | 1
 | 5 | JMP |  |  |  | ->6
9 | 6 | JMP |  |  |  | ->1
10 | 7 | RETURN |  |  |  | 1
BOOL_XOR
BW_AND
Opcodes


BW_AND

PHP code

<?php
/*
 * Bit-wise and of value1 and value2
 * opcode number: 10
 */
echo 1&2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_AND |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BRK
BW_NOT
Opcodes


BW_NOT

PHP code

<?php
/*
 * Bit-wise not of "value"
 * opcode number: 12
 */
echo ~15;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_NOT |  |  | ~0 | 15
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_AND
BW_OR
Opcodes


BW_OR

PHP code

<?php
/*
 * Bit-wise or of value1 and value2
 * opcode number: 9
 */
echo 1|2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_OR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_NOT
BW_XOR
Opcodes


BW_XOR

PHP code

<?php
/*
 * Bit-wise xor of value1 and value2
 * opcode number: 11
 */
echo 1^2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_OR
CASE
Opcodes


CASE

PHP code

<?php
/*
 * Set result to true if value1 equals value2.  The value2 must be a constant value?
 * opcode number: 48
 */
$i=0;
switch ($i) {
   case 0:
         echo "i=0";
         break;
   case 1:
         echo "i=1";
         break;
   case 2:
         echo "i=2";
         break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
8 | 1 | CASE |  |  | ~1 | !0,0
 | 2 | JMPZ |  |  |  | ~1,->6
9 | 3 | ECHO |  |  |  | 'i%3D0'
10 | 4 | BRK |  |  |  | 1
11 | 5 | JMP |  |  |  | ->8
 | 6 | CASE |  |  | ~1 | !0,1
 | 7 | JMPZ |  |  |  | ~1,->11
12 | 8 | ECHO |  |  |  | 'i%3D1'
13 | 9 | BRK |  |  |  | 1
14 | 10 | JMP |  |  |  | ->13
 | 11 | CASE |  |  | ~1 | !0,2
 | 12 | JMPZ |  |  |  | ~1,->16
15 | 13 | ECHO |  |  |  | 'i%3D2'
16 | 14 | BRK |  |  |  | 1
17 | 15 | JMP |  |  |  | ->16
18 | 16 | RETURN |  |  |  | 1
BW_XOR
CAST
Opcodes


CAST

PHP code

<?php
/*
 * casts value1 as type value2 (?? Not certain about arguments ??)
 * opcode number: 21
 */
echo (int)1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CAST |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CASE
CATCH
Opcodes


CATCH

PHP code

<?php
/*
 *
 * opcode number: 107
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
CAST
CLONE
Opcodes


CLONE

PHP code

<?php
/*
 *
 * opcode number: 110
 */
$obj = new A();
$copy = clone $obj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$copy

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_CLONE |  |  | $4 | !0
 | 5 | ASSIGN |  |  |  | !1,$4
8 | 6 | RETURN |  |  |  | 1
CATCH
CONCAT
Opcodes


CONCAT

PHP code

<?php
/*
 * Concats string values string1 and string2
 * opcode number: 8
 */
echo "hello" . "world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CONCAT |  |  | ~0 | 'hello','world'
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CLONE
DECLARE_CLASS
Opcodes


DECLARE_CLASS

PHP code

<?php
/*
 * Declare a class with the name of class-name as the implementation specified by ID.
 * opcode number: 139
 */
class A {
    function methodA(){
        echo "hello world";
    }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
11 | 1 | RETURN |  |  |  | 1

Function name: methodA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world'
9 | 1 | RETURN |  |  |  | null
CONCAT
DECLARE_FUNCTION
Opcodes


DECLARE_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 141
 */
class A{
 function funcA(){
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | RETURN |  |  |  | null
DECLARE_CLASS
DECLARE_INHERITED_CLASS
Opcodes


DECLARE_INHERITED_CLASS

PHP code

<?php
/*
 *
 * opcode number: 140
 */
 if($b){
 class Foo {
  public static $my_static = 'foo';
  public function staticValue() {
    return self::$my_static;
  }
 }

 class Bar extends Foo {
  public function fooStatic() {
     echo parent::$my_static;
  }
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b

line | # | op | fetch | ext | return | operands
6 | 0 | JMPZ |  |  |  | !0,->5
7 | 1 | ZEND_DECLARE_CLASS |  |  | $0 | '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo'
14 | 2 | ZEND_FETCH_CLASS |  |  | :1 | 'Foo'
 | 3 | ZEND_DECLARE_INHERITED_CLASS |  |  | $2 | '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar'
19 | 4 | JMP |  |  |  | ->5
20 | 5 | RETURN |  |  |  | 1

Function name: staticValue

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
10 | 0 | ZEND_FETCH_CLASS |  |  |  |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | RETURN |  |  |  | $1
11 | 3 | RETURN |  |  |  | null

Function name: fooStatic

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
16 | 0 | ZEND_FETCH_CLASS |  |  | :0 |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | ECHO |  |  |  | $1
17 | 3 | RETURN |  |  |  | null
DECLARE_FUNCTION
DIV
Opcodes


DIV

PHP code

<?php
/*
 * Divides "value1" by "value2" and stores the result into "result".
 * opcode number: 4
 */
echo 6/3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | DIV |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
DECLARE_INHERITED_CLASS
DO_FCALL
Opcodes


DO_FCALL

PHP code

<?php
/*
 * Call a function.  Following multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 60
 */
$a = phpinfo();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
 | 1 | ASSIGN |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
DIV
DO_FCALL_BY_NAME
Opcodes


DO_FCALL_BY_NAME

PHP code

<?php
/*
 * Call a function by name.  Following INIT_FCALL_BY_NAME and multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 61
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
DO_FCALL
ECHO
Opcodes


ECHO

PHP code

<?php
/*
 * Dump text
 * opcode number: 40
 */
echo "hello world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello+world'
7 | 1 | RETURN |  |  |  | 1
DO_FCALL_BY_NAME
END_SILENCE
Opcodes


END_SILENCE

PHP code

<?php
/*
 * no longer surpress error messages
 * opcode number: 58
 */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
7 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
8 | 12 | RETURN |  |  |  | 1
ECHO
EXIT
Opcodes


EXIT

PHP code

<?php
/*
 * Exit running after dumping "message".
 * opcode number: 79
 */
die("foobar");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | EXIT |  |  |  | 'foobar'
7 | 1 | RETURN |  |  |  | 1
END_SILENCE
EXT_FCALL_BEGIN
Opcodes


EXT_FCALL_BEGIN

PHP code

<?php
/*
 *
 * opcode number: 102
 * No sample PHP yet */
?>
EXIT
EXT_FCALL_END
Opcodes


EXT_FCALL_END

PHP code

<?php
/*
 *
 * opcode number: 103
 * No sample PHP yet */
?>
EXT_FCALL_BEGIN
EXT_NOP
Opcodes


EXT_NOP

PHP code

<?php
/*
 *
 * opcode number: 104
 * No sample PHP yet */
?>
EXT_FCALL_END
EXT_STMT
Opcodes


EXT_STMT

PHP code

<?php
/*
 *
 * opcode number: 101
 * No sample PHP yet */
?>
EXT_NOP
FETCH_CLASS
Opcodes


FETCH_CLASS

PHP code

<?php
/*
 *
 * opcode number: 109
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
EXT_STMT
FETCH_CONSTANT
Opcodes


FETCH_CONSTANT

PHP code

<?php
/*
 * Fetch the constant value bound to the specified name (name) and stores it into a variable (result).
 * opcode number: 99
 */
define("FOO", "something");
echo FOO;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SEND_VAL |  |  |  | 'FOO'
 | 1 | SEND_VAL |  |  |  | 'something'
 | 2 | DO_FCALL |  | 2 |  | 'define'
7 | 3 | FETCH_CONSTANT |  |  | ~1 | 'FOO'
 | 4 | ECHO |  |  |  | ~1
8 | 5 | RETURN |  |  |  | 1
FETCH_CLASS
FETCH_DIM_FUNC_ARG
Opcodes


FETCH_DIM_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 93
 */

function foo(&$x)
{
  print($x);
}

$x = array(0, 1, 2, 3, 4, 5);
$z = "foo";

$z($x[0]);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$z

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
12 | 1 | INIT_ARRAY |  |  | ~0 | 0
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 1
 | 3 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 4 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 5 | ADD_ARRAY_ELEMENT |  |  | ~0 | 4
 | 6 | ADD_ARRAY_ELEMENT |  |  | ~0 | 5
 | 7 | ASSIGN |  |  |  | !0,~0
13 | 8 | ASSIGN |  |  |  | !1,'foo'
15 | 9 | INIT_FCALL_BY_NAME |  |  |  | !1
 | 10 | FETCH_DIM_FUNC_ARG |  |  | $3 | !0,0
 | 11 | SEND_VAR |  |  |  | $3
 | 12 | DO_FCALL_BY_NAME |  | 1 |  |
17 | 13 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | RECV |  |  |  | 1
9 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
10 | 3 | RETURN |  |  |  | null
FETCH_CONSTANT
FETCH_DIM_IS
Opcodes


FETCH_DIM_IS

PHP code

<?php
/*
 *
 * opcode number: 90
 * No sample PHP yet */
?>
FETCH_DIM_FUNC_ARG
FETCH_DIM_R
Opcodes


FETCH_DIM_R

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Read-only?
 * opcode number: 81
 */
$x = array(1,2,3);
$a = 'x';
echo $$a[0];
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_R | local |  | $4 | $3
 | 7 | ECHO |  |  |  | $4
9 | 8 | RETURN |  |  |  | 1
FETCH_DIM_IS
FETCH_DIM_RW
Opcodes


FETCH_DIM_RW

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".
 * opcode number: 87
 */
$x = array(1,2,3);
$a = 'x';
$$a[0]++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_RW | local |  | $4 | $3
 | 7 | POST_INC |  |  | ~5 | $4
 | 8 | FREE |  |  |  | ~5
9 | 9 | RETURN |  |  |  | 1
FETCH_DIM_R
FETCH_DIM_TMP_VAR
Opcodes


FETCH_DIM_TMP_VAR

PHP code

<?php
/*
 * Fetch an entry of an array from a temporal variable?
 * opcode number: 98
 */
list($x) = array("X");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 'X'
 | 1 | FETCH_DIM_TMP_VAR |  |  | $1 | ~0,0
 | 2 | ASSIGN |  |  |  | !0,$1
 | 3 | FREE |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
FETCH_DIM_RW
FETCH_DIM_UNSET
Opcodes


FETCH_DIM_UNSET

PHP code

<?php
/*
 * Fetch an entry of an array variable for the purpose of unset() operation.
 * opcode number: 96
 * No sample PHP yet */
?>
FETCH_DIM_TMP_VAR
FETCH_DIM_W
Opcodes


FETCH_DIM_W

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Write-only?
 * opcode number: 84
 */
$a = 1;
while($a > 0){
    $a = 0;
}
/*$input =array(1,2,3);
while (list($var,) = @each($input)){
    unset($$var);
}*/
/*$a = array(1,2,3);
$x = 'a';
$$x[0] = 1;*/

/*while ($b = each($a)) {
  print $b;
}*/

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | IS_SMALLER |  |  | ~1 | 0,!0
 | 2 | JMPZ |  |  |  | ~1,->5
8 | 3 | ASSIGN |  |  |  | !0,0
9 | 4 | JMP |  |  |  | ->1
23 | 5 | RETURN |  |  |  | 1
FETCH_DIM_UNSET
FETCH_FUNC_ARG
Opcodes


FETCH_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 92
 */
function foo($x)
{
}

$x = 1;
$y = "x";
$z = "foo";

$z($$y);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$y, !2=$z

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | ASSIGN |  |  |  | !0,1
11 | 2 | ASSIGN |  |  |  | !1,'x'
12 | 3 | ASSIGN |  |  |  | !2,'foo'
14 | 4 | INIT_FCALL_BY_NAME |  |  |  | !2
 | 5 | FETCH_FUNC_ARG | local |  | $3 | !1
 | 6 | SEND_VAR |  |  |  | $3
 | 7 | DO_FCALL_BY_NAME |  | 1 |  |
16 | 8 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
8 | 1 | RETURN |  |  |  | null
FETCH_DIM_W
FETCH_IS
Opcodes


FETCH_IS

PHP code

<?php
/*
 * Fetch the value from variable which is to be used to test if it is set or not, through isset()/isempty().
 * opcode number: 89
 */
echo isset($_SESSION['userid']);
echo isset($_SESSION['userid'][1]);
echo isset($_SESSION->prop->prop);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_IS |  |  | $0 | '_SESSION'
 | 1 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~1 | $0,'userid'
 | 2 | ECHO |  |  |  | ~1
7 | 3 | FETCH_IS |  |  | $2 | '_SESSION'
 | 4 | FETCH_DIM_IS |  |  | $3 | $2,'userid'
 | 5 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~4 | $3,1
 | 6 | ECHO |  |  |  | ~4
8 | 7 | FETCH_IS |  |  | $5 | '_SESSION'
 | 8 | FETCH_OBJ_IS |  |  | $6 | $5,'prop'
 | 9 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~7 | $6,'prop'
 | 10 | ECHO |  |  |  | ~7
9 | 11 | RETURN |  |  |  | 1
FETCH_FUNC_ARG
FETCH_OBJ_FUNC_ARG
Opcodes


FETCH_OBJ_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 94
 */
include './classA.php';

function foo(&$x)
{
  print($x);
}

$z = "foo";

$obj = new A();
print $obj->num;
$z($obj->num);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$z, !1=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | '.%2FclassA.php',INCLUDE
8 | 1 | NOP |  |  |  |
13 | 2 | ASSIGN |  |  |  | !0,'foo'
15 | 3 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 4 | NEW |  |  | $3 | :2
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !1,$3
16 | 7 | FETCH_OBJ_R |  |  | $6 | !1,'num'
 | 8 | PRINT |  |  | ~7 | $6
 | 9 | FREE |  |  |  | ~7
17 | 10 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 11 | FETCH_OBJ_FUNC_ARG |  |  | $8 | !1,'num'
 | 12 | SEND_VAR |  |  |  | $8
 | 13 | DO_FCALL_BY_NAME |  | 1 |  |
19 | 14 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null
FETCH_IS
FETCH_OBJ_IS
Opcodes


FETCH_OBJ_IS

PHP code

<?php
/*
 *
 * opcode number: 91
 * No sample PHP yet */
?>
FETCH_OBJ_FUNC_ARG
FETCH_OBJ_R
Opcodes


FETCH_OBJ_R

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Read-only?
 * opcode number: 82
 */
$x = new A();
$a = 'x';
echo $$a->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_R | local |  | $5 | !1
 | 6 | FETCH_OBJ_R |  |  | $6 | $5,'num'
 | 7 | ECHO |  |  |  | $6
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_IS
FETCH_OBJ_RW
Opcodes


FETCH_OBJ_RW

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.
 * opcode number: 88
 */
$x = new A();
$a = 'x';
$$a->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_RW | local |  | $5 | !1
 | 6 | ZEND_POST_INC_OBJ |  |  | ~7 | $5,'num'
 | 7 | FREE |  |  |  | ~7
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_R
FETCH_OBJ_UNSET
Opcodes


FETCH_OBJ_UNSET

PHP code

<?php
/*
 * Fetch a property of an object variable for the purpose of unset() operation.
 * opcode number: 97
 * No sample PHP yet */
?>
FETCH_OBJ_RW
FETCH_OBJ_W
Opcodes


FETCH_OBJ_W

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Write-only?
 * opcode number: 85
 */
$x = new A();
$a = 'x';
$$a->num = 1;;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_W | local |  | $5 | !1
 | 6 | ZEND_ASSIGN_OBJ |  |  |  | $5,'num'
 | 7 | ZEND_OP_DATA |  |  |  | 1
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_UNSET
FETCH_R
Opcodes


FETCH_R

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Read-only?
 * opcode number: 80
 */
$x = 1;
$a = 'x';
echo $$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_R | local |  | $2 | !1
 | 3 | ECHO |  |  |  | $2
9 | 4 | RETURN |  |  |  | 1
FETCH_OBJ_W
FETCH_RW
Opcodes


FETCH_RW

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?
 * opcode number: 86
 */
$x = 1;
$a = 'x';
$$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_RW | local |  | $2 | !1
 | 3 | POST_INC |  |  | ~3 | $2
 | 4 | FREE |  |  |  | ~3
9 | 5 | RETURN |  |  |  | 1
FETCH_R
FETCH_UNSET
Opcodes


FETCH_UNSET

PHP code

<?php
/*
 * Fetch a variable for the purpose of unset() operation.
 * opcode number: 95
 * No sample PHP yet */
?>
FETCH_RW
FETCH_W
Opcodes


FETCH_W

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Write-only?
 * opcode number: 83
 */
$x = 1;
$a = 'x';
$$a = 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_W | local |  | $2 | !1
 | 3 | ASSIGN |  |  |  | $2,2
9 | 4 | RETURN |  |  |  | 1
FETCH_UNSET
FE_FETCH
Opcodes


FE_FETCH

PHP code

<?php
/*
 * Fetch an element from iterator.  If no element is available, jump to address.  Followed by OP_DATA?
 * opcode number: 78
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FETCH_W
FE_RESET
Opcodes


FE_RESET

PHP code

<?php
/*
 * Initialize an iterator on array-value.  If the array is empty, jump to address.  Followed by FE_FETCH.
 * opcode number: 77
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FE_FETCH
FREE
Opcodes


FREE

PHP code

<?php
/*
 * Release the allocated space of the value.
 * opcode number: 70
 */
 print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
FE_RESET
HANDLE_EXCEPTION
Opcodes


HANDLE_EXCEPTION

PHP code

<?php
/*
 *
 * opcode number: 149
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
FREE
INCLUDE_OR_EVAL
Opcodes


INCLUDE_OR_EVAL

PHP code

<?php
/*
 * Include the file specified by filename and eval it.
 * opcode number: 73
 */
include("test.php");
eval("test.php");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | 'test.php',INCLUDE
7 | 1 | INCLUDE_OR_EVAL |  |  |  | 'test.php',EVAL
8 | 2 | RETURN |  |  |  | 1

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
2 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
3 | 1 | RETURN |  |  |  | 1
HANDLE_EXCEPTION
INIT_ARRAY
Opcodes


INIT_ARRAY

PHP code

<?php
/*
 * Allocate a new array with elem-value as the first element of the array.  Followed by ADD_ARRAY_ELEMENT.
 * opcode number: 71
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
INCLUDE_OR_EVAL
INIT_FCALL_BY_NAME
Opcodes


INIT_FCALL_BY_NAME

PHP code

<?php
/*
 * prepare for a function call to function value1
 * opcode number: 59
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
INIT_ARRAY
INIT_METHOD_CALL
Opcodes


INIT_METHOD_CALL

PHP code

<?php
/*
 * Prepare for a method call.  Followed by DO_FCALL.
 * opcode number: 112
 */
class A {
  var $num;
    function incrementNum(){
    $num++;
  }
}

$obj = new A();
$obj->incrementNum();

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
13 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'A'
 | 2 | NEW |  |  | $2 | :1
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
 | 4 | ASSIGN |  |  |  | !0,$2
14 | 5 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'incrementNum'
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
16 | 7 | RETURN |  |  |  | 1

Function name: incrementNum

Compiled variables: !0=$num

line | # | op | fetch | ext | return | operands
9 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
10 | 2 | RETURN |  |  |  | null
INIT_FCALL_BY_NAME
INIT_STATIC_METHOD_CALL
Opcodes


INIT_STATIC_METHOD_CALL

PHP code

<?php
/*
 *
 * opcode number: 113
 */
class Foo {
    public static function aStaticMethod() {
            echo "hello world\n";
    }
}

Foo::aStaticMethod();
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
12 | 1 | ZEND_INIT_STATIC_METHOD_CALL |  |  |  | 'Foo','aStaticMethod'
 | 2 | ZEND_OP_DATA |  |  |  | 'foo%3A%3Aastaticmethod'
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
13 | 4 | RETURN |  |  |  | 1

Function name: aStaticMethod

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world%0A'
9 | 1 | RETURN |  |  |  | null
INIT_METHOD_CALL
INIT_STRING
Opcodes


INIT_STRING

PHP code

<?php
/*
 * appears to create a string variable in result
 * opcode number: 53
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
INIT_STATIC_METHOD_CALL
INSTANCEOF
Opcodes


INSTANCEOF

PHP code

<?php
/*
 *
 * opcode number: 138
 */
$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
8 | 4 | ZEND_FETCH_CLASS |  |  | :4 | 'A'
 | 5 | ZEND_INSTANCEOF |  |  | ~5 | !0,$4
 | 6 | JMPZ |  |  |  | ~5,->9
9 | 7 | ECHO |  |  |  | 'A'
10 | 8 | JMP |  |  |  | ->9
11 | 9 | RETURN |  |  |  | 1
INIT_STRING
ISSET_ISEMPTY_DIM_OBJ
Opcodes


ISSET_ISEMPTY_DIM_OBJ

PHP code

<?php
/*
 * Tests if the entry of an array is set or not.
 * opcode number: 115
 */
if(isset($a[0])) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
INSTANCEOF
ISSET_ISEMPTY_PROP_OBJ
Opcodes


ISSET_ISEMPTY_PROP_OBJ

PHP code

<?php
/*
 *
 * opcode number: 148
 */
$obj = new A();
if(empty($obj->num)) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~4 | !0,'num'
 | 5 | JMPZ |  |  |  | ~4,->8
 | 6 | RETURN |  |  |  | 0
 | 7 | JMP |  |  |  | ->8
8 | 8 | RETURN |  |  |  | 1
ISSET_ISEMPTY_DIM_OBJ
ISSET_ISEMPTY_VAR
Opcodes


ISSET_ISEMPTY_VAR

PHP code

<?php
/*
 * Tests if the value of a variable is set or not.
 * opcode number: 114
 */
if(isset($a)){ return 0;}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_VAR |  | 5 | ~0 | !0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_PROP_OBJ
IS_EQUAL
Opcodes


IS_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are equal
 * opcode number: 17
 */
echo (1 == 1);
echo (1 == 'c');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_EQUAL |  |  | ~1 | 1,'c'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_VAR
IS_IDENTICAL
Opcodes


IS_IDENTICAL

PHP code

<?php
/*
 * Compares value1 and value2 to see if they are equal AND have the same type
 * opcode number: 15
 */
echo (1===1);
echo (1==='a');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_IDENTICAL |  |  | ~1 | 1,'a'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
IS_EQUAL
IS_NOT_EQUAL
Opcodes


IS_NOT_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are not equal
 * opcode number: 18
 */
echo (1 != 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_IDENTICAL
IS_NOT_IDENTICAL
Opcodes


IS_NOT_IDENTICAL

PHP code

<?php
/*
 * compares value1 and value2 to see if they are unequal or of different types
 * opcode number: 16
 */
echo (1 !== 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_EQUAL
IS_SMALLER
Opcodes


IS_SMALLER

PHP code

<?php
/*
 * compares if value1 is less than value2
 * opcode number: 19
 */
echo (1 < 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_IDENTICAL
IS_SMALLER_OR_EQUAL
Opcodes


IS_SMALLER_OR_EQUAL

PHP code

<?php
/*
 * compares if value1 is less than or equal to value2
 * opcode number: 20
 */
echo (1 >= 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER_OR_EQUAL |  |  | ~0 | 2,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_SMALLER
JMPNZ
Opcodes


JMPNZ

PHP code

<?php
/*
 * Jump to the address if the value is not zero
 * opcode number: 44
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
IS_SMALLER_OR_EQUAL
JMPNZ_EX
Opcodes


JMPNZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 47
 */
if(1^2) return;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | null
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ
JMPZ
Opcodes


JMPZ

PHP code

<?php
/*
 * Jump to the address if the value is zero
 * opcode number: 43
 */
if($a != 0) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | ECHO |  |  |  | 'foo'
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ_EX
JMPZNZ
Opcodes


JMPZNZ

PHP code

<?php
/*
 * Jump to the address if the value is .. ???
 * opcode number: 45
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMPZ
JMPZ_EX
Opcodes


JMPZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 46
 */

?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | RETURN |  |  |  | 1
JMPZNZ
MOD
Opcodes


MOD

PHP code

<?php
/*
 * Makes the value of "result" congruent to "value1" modulo "value2".
 * opcode number: 5
 */
echo 6 % 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MOD |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
JMPZ_EX
MUL
Opcodes


MUL

PHP code

<?php
/*
 * Multiplys "value1" by "value2" and stores the result into "result".
 * opcode number: 3
 */
echo 2*3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MUL |  |  | ~0 | 2,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
MOD
NEW
Opcodes


NEW

PHP code

<?php
/*
 * Construct an instance of "type" and store the reference to the object into "result".
 * opcode number: 68
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
MUL
NOP
Opcodes


NOP

PHP code

<?php
/*
 * no operation
 * opcode number: 0
 */
function A(){};
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | null
NEW
POST_DEC
Opcodes


POST_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 37
 */
$a--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_DEC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
NOP
POST_DEC_OBJ
Opcodes


POST_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 135
 */
$obj = new A();
$obj->num--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_DEC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_DEC
POST_INC
Opcodes


POST_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 36
 */
$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
POST_DEC_OBJ
POST_INC_OBJ
Opcodes


POST_INC_OBJ

PHP code

<?php
/*
 * Increment the property value specified by prop-name and store the original value into result.
 * opcode number: 134
 */
$obj = new A();
$obj->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_INC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_INC
PRE_DEC
Opcodes


PRE_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (before performing other operations) and stores in results
 * opcode number: 35
 */
--$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_DEC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
POST_INC_OBJ
PRE_DEC_OBJ
Opcodes


PRE_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 133
 */
$obj = new A();
--$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_DEC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_DEC
PRE_INC
Opcodes


PRE_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (before performing other operations) and stores in result
 * opcode number: 34
 */
++$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_INC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
PRE_DEC_OBJ
PRE_INC_OBJ
Opcodes


PRE_INC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 132
 */
$obj = new A();
++$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_INC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_INC
PRINT
Opcodes


PRINT

PHP code

<?php
/*
 *
 * opcode number: 41
 */
print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
PRE_INC_OBJ
QM_ASSIGN
Opcodes


QM_ASSIGN

PHP code

<?php
/*
 * Question Mark Assign, used twice inside a question mark assign to temporarily assign result as value1  (this is followed up with an ASSIGN bytecode)
 * opcode number: 22
 */
function A(){
 echo 1?2:3;
}

function B(){
 $b = 0;
 $a = $b > 1 ? 10: 11;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | NOP |  |  |  |
14 | 2 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | JMPZ |  |  |  | 1,->3
 | 1 | QM_ASSIGN |  |  | ~0 | 2
 | 2 | JMP |  |  |  | ->4
 | 3 | QM_ASSIGN |  |  | ~0 | 3
 | 4 | ECHO |  |  |  | ~0
8 | 5 | RETURN |  |  |  | null

Function name: B

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
11 | 0 | ASSIGN |  |  |  | !0,0
12 | 1 | IS_SMALLER |  |  | ~1 | 1,!0
 | 2 | JMPZ |  |  |  | ~1,->5
 | 3 | QM_ASSIGN |  |  | ~2 | 10
 | 4 | JMP |  |  |  | ->6
 | 5 | QM_ASSIGN |  |  | ~2 | 11
 | 6 | ASSIGN |  |  |  | !1,~2
13 | 7 | RETURN |  |  |  | null
PRINT
RAISE_ABSTRACT_ERROR
Opcodes


RAISE_ABSTRACT_ERROR

PHP code

<?php
/*
 *
 * opcode number: 142
 */

abstract class fail {
    abstract function show();
}

class pass extends fail {
    function show() {
        echo "Call to function show()\n";
    }
}

$t2 = new pass();
$t2->show();

$t = new fail();
$t->show();

echo "Done\n"; // shouldn't be displayed
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$t2, !1=$t

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
11 | 1 | NOP |  |  |  |
 | 2 | NOP |  |  |  |
17 | 3 | ZEND_FETCH_CLASS |  |  | :3 | 'pass'
 | 4 | NEW |  |  | $4 | :3
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !0,$4
18 | 7 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'show'
 | 8 | DO_FCALL_BY_NAME |  | 0 |  |
20 | 9 | ZEND_FETCH_CLASS |  |  | :9 | 'fail'
 | 10 | NEW |  |  | $10 | :9
 | 11 | DO_FCALL_BY_NAME |  | 0 |  |
 | 12 | ASSIGN |  |  |  | !1,$10
21 | 13 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'show'
 | 14 | DO_FCALL_BY_NAME |  | 0 |  |
23 | 15 | ECHO |  |  |  | 'Done%0A'
24 | 16 | RETURN |  |  |  | 1

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ZEND_RAISE_ABSTRACT_ERROR |  |  |  |
 | 1 | RETURN |  |  |  | null

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
13 | 0 | ECHO |  |  |  | 'Call+to+function+show%28%29%0A'
14 | 1 | RETURN |  |  |  | null
QM_ASSIGN
RECV
Opcodes


RECV

PHP code

<?php
/*
 * Receive a functoin argument of "argument-number" and store the argument value into a variable of "argument-number".  (e.g. $1 for 1)
 * opcode number: 63
 */
function hello($a){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
 | 1 | RETURN |  |  |  | null
RAISE_ABSTRACT_ERROR
RECV_INIT
Opcodes


RECV_INIT

PHP code

<?php
/*
 * Initialize a function argument with "value" if not received from caller.  Otherwise same as RECV.
 * opcode number: 64
 */
function hello($a=5){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV_INIT |  |  |  | 1,5
 | 1 | RETURN |  |  |  | null
RECV
RETURN
Opcodes


RETURN

PHP code

<?php
/*
 * Return value from a funciton.
 * opcode number: 62
 */
return 1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
7 | 1 | RETURN |  |  |  | 1
RECV_INIT
SEND_REF
Opcodes


SEND_REF

PHP code

<?php
/*
 * Pass the reference value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 67
 */
@each($input);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | FETCH_W | local |  | $1 | 'input'
 | 2 | SEND_REF |  |  |  | $1
 | 3 | DO_FCALL |  | 1 |  | 'each'
 | 4 | END_SILENCE |  |  |  | ~0
7 | 5 | RETURN |  |  |  | 1
RETURN
SEND_VAL
Opcodes


SEND_VAL

PHP code

<?php
/*
 * Pass the constant value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 65
 */
function funcA($msg){
    print $msg;
}

funcA('HELLO');

defined('IN_PHPBB');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | SEND_VAL |  |  |  | 'HELLO'
 | 2 | DO_FCALL |  | 1 |  | 'funca'
12 | 3 | SEND_VAL |  |  |  | 'IN_PHPBB'
 | 4 | DO_FCALL |  | 1 |  | 'defined'
13 | 5 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: !0=$msg

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
7 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
8 | 3 | RETURN |  |  |  | null
SEND_REF
SEND_VAR
Opcodes


SEND_VAR

PHP code

<?php
/*
 * Pass the variable value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 66
 */
$a = array(1,2,3);
if(is_array($a)){ return 0; }
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'is_array'
 | 6 | JMPZ |  |  |  | $2,->9
 | 7 | RETURN |  |  |  | 0
 | 8 | JMP |  |  |  | ->9
8 | 9 | RETURN |  |  |  | 1
SEND_VAL
SEND_VAR_NO_REF
Opcodes


SEND_VAR_NO_REF

PHP code

<?php
/*
 *
 * opcode number: 106
 * No sample PHP yet */
?>
SEND_VAR
SL
Opcodes


SL

PHP code

<?php
/*
 * Shift value1 by balue2 bits to left
 * opcode number: 6
 */
echo 8 << 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SL |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SEND_VAR_NO_REF
SR
Opcodes


SR

PHP code

<?php
/*
 * Shift bits to right
 * opcode number: 7
 */
echo 8 >> 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SR |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SL
SUB
Opcodes


SUB

PHP code

<?php
/*
 * Subtracts "value2" from "value1" and stores the result into "result".
 * opcode number: 2
 */
echo 1-2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SUB |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SR
SWITCH_FREE
Opcodes


SWITCH_FREE

PHP code

<?php
/*
 * Release the allocated space of "value"?
 * opcode number: 49
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
SUB
THROW
Opcodes


THROW

PHP code

<?php
/*
 *
 * opcode number: 108
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
SWITCH_FREE
TICKS
Opcodes


TICKS

PHP code

<?php
/*
 *
 * opcode number: 105
 */
// A function that records the time when it is called
function profile()
{
   echo "profile function is called\n";
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile();

// Run a block of code, throw a tick every 2nd statement
declare(ticks=2) {
   for ($x = 0; $x < 10; ++$x) {
         echo "hello world\n";
   }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
13 | 1 | SEND_VAL |  |  |  | 'profile'
 | 2 | DO_FCALL |  | 1 |  | 'register_tick_function'
16 | 3 | DO_FCALL |  | 0 |  | 'profile'
20 | 4 | ASSIGN |  |  |  | !0,0
 | 5 | IS_SMALLER |  |  | ~3 | !0,10
 | 6 | JMPZNZ |  | 9 |  | ~3,->13
 | 7 | PRE_INC |  |  |  | !0
 | 8 | JMP |  |  |  | ->5
21 | 9 | ECHO |  |  |  | 'hello+world%0A'
 | 10 | TICKS |  |  |  | 2
22 | 11 | TICKS |  |  |  | 2
 | 12 | JMP |  |  |  | ->7
 | 13 | TICKS |  |  |  | 2
23 | 14 | TICKS |  |  |  | 2
24 | 15 | RETURN |  |  |  | 1

Function name: profile

Compiled variables: none

line | # | op | fetch | ext | return | operands
9 | 0 | ECHO |  |  |  | 'profile+function+is+called%0A'
10 | 1 | RETURN |  |  |  | null
THROW
UNSET_DIM
Opcodes


UNSET_DIM

PHP code

<?php
/*
 * Unset the entry of array-value, which is specified by index, and store the original element value into "result".
 * opcode number: 75
 */
$a = array(1,2,3);
unset($a[0]);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | UNSET_DIM |  |  | $2 | !0,0
8 | 5 | RETURN |  |  |  | 1
TICKS
UNSET_OBJ
Opcodes


UNSET_OBJ

PHP code

<?php
/*
 * Unset the property of the current object (this) and store the original value into "result".
 * opcode number: 76
 */
$obj = new A();
unset($obj->num);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | UNSET_OBJ |  |  | $4 | !0,'num'
8 | 5 | RETURN |  |  |  | 1
UNSET_DIM
UNSET_VAR
Opcodes


UNSET_VAR

PHP code

<?php
/*
 * Unset the variable and store the original value into "result".
 * opcode number: 74
 */
$x = 1;
$a='x';
unset($$a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | UNSET_VAR |  |  | $2 | !1
9 | 3 | RETURN |  |  |  | 1
UNSET_OBJ
USER_OPCODE
Opcodes


USER_OPCODE

PHP code

<?php
/*
 *
 * opcode number: 150
 * No sample PHP yet */
?>
UNSET_VAR
VERIFY_ABSTRACT_CLASS
Opcodes


VERIFY_ABSTRACT_CLASS

PHP code

<?php
/*
 *
 * opcode number: 146
 * No sample PHP yet */
?>
USER_OPCODE
Zend Engine 1
Opcodes


Zend Engine 1

Содержание

  • Old introduction
  • Streams API for PHP Extension Authors
  • Zend API: Взламываем ядро PHP
  • TSRM API

Zend Engine 1 is the internal engine used by PHP for the entire version 4 release line. It is no longer considered active, but PHP 4 is still in widespread use, so the old ZE1 documentation is preserved here exactly as it was.

VERIFY_ABSTRACT_CLASS
Old introduction
Ядро PHP: Руководство хакера по Zend Engine


Old introduction

If you are about to begin developing PHP or Zend extensions, you need to prepare yourself for the programming environment provided by the various APIs. This part of the documentation tries to introduce the APIs provided by the different PHP and Zend Engine versions available. Since most of the information available here is somewhat outdated, you'll want to read various files found in the PHP source, files such as README.SELF-CONTAINED-EXTENSIONS and README.EXT_SKEL in addition to the manual.

Zend Engine 1
Streams API for PHP Extension Authors
Zend Engine 1


Streams API for PHP Extension Authors

Замечание:

The functions in this chapter are for use in the PHP source code and are not PHP functions. Information on userland stream functions can be found in the Stream Reference.

Overview

The PHP Streams API introduces a unified approach to the handling of files and sockets in PHP extension. Using a single API with standard functions for common operations, the streams API allows your extension to access files, sockets, URLs, memory and script-defined objects. Streams is a run-time extensible API that allows dynamically loaded modules (and scripts!) to register new streams.

The aim of the Streams API is to make it comfortable for developers to open files, URLs and other streamable data sources with a unified API that is easy to understand. The API is more or less based on the ANSI C stdio family of functions (with identical semantics for most of the main functions), so C programmers will have a feeling of familiarity with streams.

The streams API operates on a couple of different levels: at the base level, the API defines php_stream objects to represent streamable data sources. On a slightly higher level, the API defines php_stream_wrapper objects which "wrap" around the lower level API to provide support for retrieving data and meta-data from URLs. An additional context parameter, accepted by most stream creation functions, is passed to the wrapper's stream_opener method to fine-tune the behavior of the wrapper.

Any stream, once opened, can also have any number of filters applied to it, which process data as it is read from/written to the stream.

Streams can be cast (converted) into other types of file-handles, so that they can be used with third-party libraries without a great deal of trouble. This allows those libraries to access data directly from URL sources. If your system has the fopencookie() or funopen() function, you can even pass any PHP stream to any library that uses ANSI stdio!

Streams Basics

Using streams is very much like using ANSI stdio functions. The main difference is in how you obtain the stream handle to begin with. In most cases, you will use php_stream_open_wrapper() to obtain the stream handle. This function works very much like fopen, as can be seen from the example below:

Пример #1 simple stream example that displays the PHP home page

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

The table below shows the Streams equivalents of the more common ANSI stdio functions. Unless noted otherwise, the semantics of the functions are identical.

ANSI stdio equivalent functions in the Streams API
ANSI Stdio Function | PHP Streams Function | Notes
fopen | php_stream_open_wrapper | Streams includes additional parameters
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like read(2)
fwrite | php_stream_write | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | Same semantics as puts, NOT fputs
fstat | php_stream_stat | Streams has a richer stat structure

Streams as Resources

All streams are registered as resources when they are created. This ensures that they will be properly cleaned up even if there is some fatal error. All of the filesystem functions in PHP operate on streams resources - that means that your extensions can accept regular PHP file pointers as parameters to, and return streams from their functions. The streams API makes this process as painless as possible:

Пример #2 How to accept a stream as a parameter

PHP_FUNCTION(example_write_hello)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* you can now use the stream.  However, you do not "own" the
        stream, the script does.  That means you MUST NOT close the
        stream, because it will cause PHP to crash! */

    php_stream_write(stream, "hello\n");

    RETURN_TRUE();
}

Пример #3 How to return a stream from a function

PHP_FUNCTION(example_open_php_home_page)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* after this point, the stream is "owned" by the script.
        If you close it now, you will crash PHP! */
}

Since streams are automatically cleaned up, it's tempting to think that we can get away with being sloppy programmers and not bother to close the streams when we are done with them. Although such an approach might work, it is not a good idea for a number of reasons: streams hold locks on system resources while they are open, so leaving a file open after you have finished with it could prevent other processes from accessing it. If a script deals with a large number of files, the accumulation of the resources used, both in terms of memory and the sheer number of open files, can cause web server requests to fail. Sounds bad, doesn't it? The streams API includes some magic that helps you to keep your code clean - if a stream is not closed by your code when it should be, you will find some helpful debugging information in you web server error log.

Замечание: Always use a debug build of PHP when developing an extension (--enable-debug when running configure), as a lot of effort has been made to warn you about memory and stream leaks.

In some cases, it is useful to keep a stream open for the duration of a request, to act as a log or trace file for example. Writing the code to safely clean up such a stream is not difficult, but it's several lines of code that are not strictly needed. To save yourself the trouble of writing the code, you can mark a stream as being OK for auto cleanup. What this means is that the streams API will not emit a warning when it is time to auto-cleanup a stream. To do this, you can use php_stream_auto_cleanup().

Streams open options

These constants affect the operation of stream factory functions.

IGNORE_PATH
This is the default option for streams; it requests that the include_path is not to be searched for the requested file.
USE_PATH
Requests that the include_path is to be searched for the requested file.
IGNORE_URL
Requests that registered URL wrappers are to be ignored when opening the stream. Other non-URL wrappers will be taken into consideration when decoding the path. There is no opposite form for this flag; the streams API will use all registered wrappers by default.
IGNORE_URL_WIN
On Windows systems, this is equivalent to IGNORE_URL. On all other systems, this flag has no effect.
ENFORCE_SAFE_MODE
Requests that the underlying stream implementation perform safe_mode checks on the file before opening the file. Omitting this flag will skip safe_mode checks and allow opening of any file that the PHP process has rights to access.
REPORT_ERRORS
If this flag is set, and there was an error during the opening of the file or URL, the streams API will call the php_error function for you. This is useful because the path may contain username/password information that should not be displayed in the browser output (it would be a security risk to do so). When the streams API raises the error, it first strips username/password information from the path, making the error message safe to display in the browser.
STREAM_MUST_SEEK
This flag is useful when your extension really must be able to randomly seek around in a stream. Some streams may not be seekable in their native form, so this flag asks the streams API to check to see if the stream does support seeking. If it does not, it will copy the stream into temporary storage (which may be a temporary file or a memory stream) which does support seeking. Please note that this flag is not useful when you want to seek the stream and write to it, because the stream you are accessing might not be bound to the actual resource you requested.

Замечание: If the requested resource is network based, this flag will cause the opener to block until the whole contents have been downloaded.

STREAM_WILL_CAST
If your extension is using a third-party library that expects a FILE* or file descriptor, you can use this flag to request the streams API to open the resource but avoid buffering. You can then use php_stream_cast() to retrieve the FILE* or file descriptor that the library requires. The is particularly useful when accessing HTTP URLs where the start of the actual stream data is found after an indeterminate offset into the stream. Since this option disables buffering at the streams API level, you may experience lower performance when using streams functions on the stream; this is deemed acceptable because you have told streams that you will be using the functions to match the underlying stream implementation. Only use this option when you are sure you need it.

Old introduction
Zend API: Взламываем ядро PHP
Zend Engine 1


Zend API: Взламываем ядро PHP

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

Внимание

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the » Internals section on the Zend website.

Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated ( see below). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.
The internal structure of PHP.

The following sections discuss where PHP can be extended and how it's done.

Extension Possibilities

As shown above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 |  | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).
To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.
Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Source Layout

Замечание:

Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at » http://httpd.apache.org/) and, of course, with PHP (available at » http://www.php.net/ - does it need to be said?).

Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().
emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.
Внимание

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

Замечание:

To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see » http://www.gnu.org/software/m4/)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in The default config.m4. is a bit more complex:

Пример #1 The default config.m4.

dnl $Id: build.xml 297078 2010-03-29 16:25:51Z degeberg $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. A simple extension. shows the source.

Пример #2 A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

Замечание:

The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make

To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

  --enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in A simple extension. can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually

To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>
The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in A test file for first_module.so.. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

Внимание

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

Пример #3 A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following:

We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:
void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see Zend's Parameters to Functions Called from PHP for descriptions).

Zend's Parameters to Functions Called from PHP
Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in Internal declaration of zend_function_entry..

Пример #4 Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;
Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.
In the example above, the declaration looks like this:
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
You can see that the last entry in the list always has to be {NULL, NULL, NULL}. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

Замечание:

You cannot use the predefined macros for the end marker, as these would try to refer to a function named "NULL"!

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

Macros for Defining Functions shows a list of all the macros that you can use to define functions.

Macros for Defining Functions
Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in Internal declaration of zend_module_entry..

Пример #5 Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};
Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in Macros to Declare Startup and Shutdown Functions. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

Macros to Declare Startup and Shutdown Functions
Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like:
"Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

Замечание: New parameter parsing API

This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0.

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

Warning - ini_get_all() requires at most 1 parameter, 2 given
Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Замечание: Deprecated parameter parsing API

This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function,zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in PHP's implementation of variable arguments in fsockopen().. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

Пример #6 PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see Argument Conversion Functions).

Note: All conversion functions expect a **zval as parameter.

Argument Conversion Functions
Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

Замечание:

You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM.

Cross-conversion behavior of PHP.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in PHP/Zend zval type definition..

Пример #7 PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    unsigned char type;        /* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see Zend zval Structure, Zend zvalue_value Structure and Zend Variable Type Constants.

Zend zval Structure
Entry | Description
value | Union containing this variable's contents. See Zend zvalue_value Structure for a description.
type | Contains this variable's type. For a list of available types, see Zend Variable Type Constants.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.
Zend zvalue_value Structure
Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.
Zend Variable Type Constants
Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in Testing for referenced parameter passing..

Пример #8 Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);
Testing for referenced parameter passing

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
Creating variables with different scopes. shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

Пример #9 Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}
Creating variables with different scopes

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see Creation of a long.).

Пример #10 Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long-&gt;type = IS_LONG;
new_long-&gt;value.lval = 10;
Alternatively, you can use the macro ZVAL_LONG:
zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double-&gt;type = IS_DOUBLE;
new_double-&gt;value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:
zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = strlen(string_contents);
new_string-&gt;value.str.val = estrdup(string_contents);
Note the usage of Zend's estrdup() here. Of course, you can also use the predefined macro ZVAL_STRING:
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = 0;
new_string-&gt;value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):
MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool-&gt;type = IS_BOOL;
new_bool-&gt;value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. Zend's API for Associative Arrays, Zend's API for Indexed Arrays, Part 1 and Zend's API for Indexed Arrays, Part 2 describe these functions. All functions return FAILURE on failure and SUCCESS on success.

Zend's API for Associative Arrays
Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 1
Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 2
Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see Adding an element to an associative array.) and zend_hash_index_update() for indexed arrays (see Adding an element to an indexed array.):

Пример #11 Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array-&gt;value.ht, key, strlen(key) + 1, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

Пример #12 Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array-&gt;value.ht, key, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in Zend's API for Object Creation to add members to your object.

Zend's API for Object Creation
Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

Замечание:

In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.
The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:
typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

Замечание:

One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

// Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h. Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);
rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.
The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
    RETURN_RESOURCE(rsrc_id)

Замечание:

It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)
rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.
This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table Macros for Global Variable Creation describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

Macros for Global Variable Creation
Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in Macros for Creating Constants. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
 // register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

Macros for Creating Constants
Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Predefined Macros for Returning Values from a Function and Predefined Macros for Setting the Return Value of a Function.

Замечание:

The macros in Predefined Macros for Returning Values from a Function automatically return from your function, those in Predefined Macros for Setting the Return Value of a Function only set the return value; they don't return from your function.

Predefined Macros for Returning Values from a Function
Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.
Predefined Macros for Setting the Return Value of a Function
Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Printing Information

Often it's necessary to print messages to the output stream from your module, just as print() would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
Zend's Predefined Error Messages. shows a list of possible values (see below). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.
Zend's Predefined Error Messages.
Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately.
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.
Display of warning messages in the browser.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). Source code and screenshot for output in phpinfo. shows a source example and its output. To print the table footer, use php_info_print_table_end().

Пример #13 Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();
Output of phpinfo()

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see Printing execution information..

Пример #14 Printing execution information.

zend_printf("The name of the current function is %s&lt;br&gt;", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s&lt;br&gt;", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i&lt;br&gt;", zend_get_executed_lineno(TSRMLS_C));
Printing execution information

Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

Calling user functions. shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

Пример #15 Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

Результат выполнения данного примера:

We are in the test function!
We have 3 as type
Return value: 'hello'

Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s&lt;br&gt;", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in Macros to Access Initialization Entries in PHP.

Macros to Access Initialization Entries in PHP
Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in M4 Macros for config.m4.

M4 Macros for config.m4
Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see API Macros for Accessing zval Containers).

API Macros for Accessing zval Containers
Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht
Streams API for PHP Extension Authors
TSRM API
Zend Engine 1


TSRM API

Zend API: Взламываем ядро PHP
ЧАВО
Zend Engine 1


ЧАВО: ЧАсто задаваемые Вопросы и Ответы на них

  • Общая информация
  • Списки рассылки
  • Получение PHP
  • Вопросы по Базам данных
  • Установка
  • Проблемы сборки
  • Использование PHP
  • Password Hashing — Safe Password Hashing
  • PHP и HTML
  • PHP и COM
  • PHP и другие языки
  • Переход из PHP 4 в PHP 5
  • Разные вопросы
TSRM API
Общая информация
Руководство по PHP


Общая информация

Этот раздел содержит наиболее общие вопросы по PHP: что это такое и что он делает.

  1. Что такое PHP?
  2. Что означает PHP?
  3. Какая связь между версиями PHP?
  4. Могу ли я одновременно запускать несколько версий PHP?
  5. Какие отличия между PHP 4 и PHP 5?
  6. Я думаю, Я нашёл ошибку! Кому я должен сказать?
Что такое PHP?

Из предисловия к руководству:

PHP - это скриптовый язык, который может быть встроен в HTML. Синтаксис языка в большинстве заимствован из C, Java и Perl c добавлением нескольких специфичных для PHP особенностей. Цель языка - позволить web-разработчикам легко создавать динамически генерируемые страницы.

Что означает PHP?

PHP означает PHP: Hypertext Preprocessor. Это название смущает многих людей, так как первое слово в акрониме также является акронимом. Такой тип акронимов называется рекурсивным. Любопытствующие могут посетить » бесплатный вычислительный онлайн-словарь или » статью Википедии по рекурсивным акронимам.

Какая связь между версиями PHP?

PHP/FI 2.0 - ранняя и более неподдерживаемия версия PHP. PHP 3 - улучшенная замена PHP/FI 2.0. PHP 5 - текущая версия, которая использует » Zend engine 2, которая, кроме прочего, предлагает множество дополнительных возможностей для объектно-ориентированного программирования.

Могу ли я одновременно запускать несколько версий PHP?

Да. Смотрите файл INSTALL из дистрибутива исходников PHP.

Какие отличия между PHP 4 и PHP 5?

В то время как PHP 5 был специально задуман быть максимально совместиым со всеми предыдущими версиями, есть несколько важных изменений. Некоторые из них:

  • Новая ООП модель, основанная на Zend Engine 2.0
  • Новое расширение для улучшенной поддержки MySQL
  • Встроенная родная поддержка SQLite
  • Новая константа уровня ошибок E_STRICT, для замечаний во время выполнения кода.
  • Множество новых функций, упрощающих написание кода (и уменьшающих необходимость писать свои собственные функции для многих общих процедур)
За более подробной информацией смотрите разделы Миграция с PHP 4 на PHP 5 и Несовместимые изменения.

Я думаю, Я нашёл ошибку! Кому я должен сказать?

Вам надо обратиться к базе данных ошибок в PHP и убедиться, что ошибка ещё не известна. Если вы не видите её в базе данных, заполните форму сообщения об ошибках. При занесении в базу данных, ошибка получает номер, по которому вы можете отслеживать её статус, поэтому важно использовать базу данных, а не просто послать сообщение в один из списков рассылки, так как это позволит вам позже вернуться и проверить состояние ошибки. База данных ошибок может быть найдена по адресу » http://bugs.php.net/.

ЧАВО
Списки рассылки
ЧАВО


Списки рассылки

Этот раздел содержит вопросы о том как связаться с PHP сообществом. Самый лучший способ - списки рассылки.

  1. Есть ли какие-либо списки рассылки по PHP?
  2. Существуют ли какие-либо другие сообщества?
  3. Могу ли я начать свой собственный список рассылки PHP?
  4. Помогите! Похоже, я не могу подписаться/отписаться?
  5. Существует ли где-нибудь архив списков рассылки?
  6. О чём я могу спрашивать в списке рассылки?
  7. Какую информацию я должен включить при посылке в список?
Есть ли какие-либо списки рассылки по PHP?

Конечно! Существует множество списков рассылки на различные темы. Полный перечень списков можно найти на нашей странице » списков рассылки.

Наиболее общий список рассылки - php-general. Чтобы подписаться на него, пошлите пустое письмо на адрес » php-general-subscribe@lists.php.net. Чтобы отписаться, пошлите пустое письмо на адрес » php-general-unsubscribe@lists.php.net.

Также вы можете подписаться/отписаться используя веб-интерфейс на нашей странице » списков рассылки, а инструкции по отписке включены внизу каждого сообщения из рассылки.

Существуют ли какие-либо другие сообщества?

Бесчётно по всему миру. На нашей странице » поддержки для примера есть ссылки на некоторые ресурсы (и информация о том, как узнать больше).

Могу ли я начать свой собственный список рассылки PHP?

Конечно! На самом деле, мы не только (бесплатно) разрешаем это, мы это поощряем! Помогая и делясь своим знанием и опытом по PHP с другими, вы поощряете рост и разработку как глобального сообщества PHP, так и самого языка.

Помогите! Похоже, я не могу подписаться/отписаться?

Если у вас возникла проблема с подпиской или отпиской от списка рассылки, возможно это потому, что программное обеспечение списка рассылки не может определить ваш правильный почтовый адрес. Если ваш адрес был joeblow@example.com, и вы пытаетесь подписаться на php-general, то вы можете послать запрос на подписку по адресу php-general-subscribe-joeblow=example.com@lists.php.net, или запрос на отписку по адресу php-general-unsubscribe-joeblow=example.com@lists.php.net. Для других списков рассылки используйте аналогичные адреса.

Самая частая причина, по которой люди не могут отписаться от наших списков рассылки, это использование пересылки почты. Например, если ваш электронный адрес danbrown@example.com, но вы подписались на список рассылки с адреса php-lists@example.com, который пересылает ее вам на danbrown@example.com, то попытка отписать адрес danbrown@example.com не сработает, так как это адрес неизвестен нашей системе. Вместо этого, вам нужно отписать тот адрес, на который приходит почта, в этом примере, это php-lists@example.com.

Существует ли где-нибудь архив списков рассылки?

Да, список архивов можно найти на странице » списков рассылки. Вы также можете найти дюжины сайтов, которые архивируют и/или отдают содержание наших списков рассылок с помощью вашего любимого поисковика, задав запрос "архивы списков рассылок по php" (php mailing list archives).

Сообщения из списков рассылки также сохраняются как статьи новостей. Сервер новостей доступен по адресу » news://news.php.net/, новости с которого можно читать каким-нибудь новостным клиентом. Также есть экспериментальный веб-интерфейс для сервера новостей, доступный по адресу » http://news.php.net/.

О чём я могу спрашивать в списке рассылки?

С растущей день ото дня популярностью PHP, нагрузка на список рассылки php-general увеличилась и на сегодня составляет примерно от 75 до 200 и более сообщений в день. Поэтому, в интересах всех, используйте список рассылки только в крайнем случае, когда поиски во всех других возможных местах завершились неудачно.

Прежде чем послать сообщение в список, пожалуйста, просмотрите этот FAQ и это руководство, может в них вам удастся найти решение вашей проблемы. Если там ничего не удалось найти, просмотрите архивы списка (см. выше). Если у вас проблема с установкой или настройкой PHP, пожалуйста, прочтите всю сопровождающую документацию и файлы README. Eсли после всего этого вам не удалось найти ответ, то ваш вопрос в списке рассылки более чем желателен.

Для получения наилучших ответов, (и чтобы не расстраивать ваших собратьев-программистов), пожалуйста, проверьте, что вы отсылаете свой вопрос в соответствующий список рассылки. Например, если у вас проблема с установкой PHP, вы должны послать свой вопрос в список рассылки php-install. Предостережение: некоторые списки имеют похожие имена и совершенно различные назначения; вопрос по использованию PHP скриптов в Windows должен быть послан в пользовательский список рассылки - Windows PHP users, а не список PHP разработчиков в Windows - Windows Internals list.

Хорошая идея, перед тем как задавать вопросы, прочитать статью » Как Умно Задавать Вопросы.

Какую информацию я должен включить при посылке в список?

Сообщения типа "Не могу запустить PHP! Помогите мне! В чём дело?" совершенно бесполезны. Если у вас проблема с запуском PHP, вы должны указать операционную систему, версию PHP, как вы его получили (прекомпилированный, SVN, RPM и т.п.), что уже сделали, на чём остановились, и, если есть, точное сообщение об ошибке.

Это также относится к любой другой проблеме. Вам необходимо указать, что вы уже сделали, на чём застопорились, что пытаетесь делать и, если есть, любые сообщения об ошибках. Если проблема с вашим исходным кодом, то надо включить часть кода, которая не работает, указав проблемную строку соответственно помещенным комментарием Но не пытайтесь послать больше, чем необходимо! Иначе ваше сообщение будет тяжело читать и большинство людей его просто пропустит. Если вы затрудняетесь решить какой объём информации достаточен, пошлите столько, сколько необходимо по вашей текущей проблеме, и приготовьтесь выслать больше информации по запросу.

Другая важная вещь, которую стоит помнить, это краткое изложение вашей проблемы в строке темы сообщения. Заголовки типа "ПОМОГИТЕ МНЕЕЕ!!!" или "В чём здесь проблема?" будут проигнорированы большинством читателей.

И на последок, для всеобщей пользы и особенно для вас, весьма рекомендуется прочитать статью » Как Умно Задавать Вопросы.

Общая информация
Получение PHP
ЧАВО


Получение PHP

Этот раздел содержит информацию о том, где получить PHP и вопросы, касающиеся OC.

  1. Где я могу взять PHP?
  2. Доступны ли прекомпилированные бинарники?
  3. Где я могу достать библиотеки, необходимые для компиляции некоторых дополнительных расширений PHP?
  4. Как подключить эти библиотеки?
  5. Я получил последнюю версию исходников PHP из SVN. Что нужно для компиляции его под Windows?
  6. Где найти файл возможностей браузеров (Browser Capabilities File)?
  7. Что означает потокобезопасность при скачке PHP?
Где я могу взять PHP?

Вы можете скачать PHP с любого сайта из сети сайтов PHP. Сайты сети можно найти на » http://www.php.net/. Вы также можете воспользоваться анонимным SVN для получения самой последней версии исходников. За подробностями обращайтесь к » http://php.net/svn.php.

Доступны ли прекомпилированные бинарники?

Мы распространяем прекомпилированные бинарники только для Windows, так как мы не в состоянии компилировать PHP со всеми возможными комбинациями расширений даже для самых основных Linux/Unix платформ. Также заметьте, что на сегодня многие дистрибутивы Linux поставляются с PHP. Бинарники для Windows можно скачать с нашей страницы » Downloads, для бинарников под Linux, пожалуйста, посетите web сайт вашего дистрибутива.

Где я могу достать библиотеки, необходимые для компиляции некоторых дополнительных расширений PHP?

Замечание: Звёздочкой (*) помечены библиотеки, которые не могут быть использованы с PHP, установленным как модуль на многопоточных web серверах (IIS, Netscape) под Windows, так как они небезопасны в многопоточной среде. Это не относится к Unix среде.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK
  • » бесплатный LDAP сервер.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD* (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Доступна локально.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

Как подключить эти библиотеки?

Вам необходимо следовать инструкциям, сопровождающим библиотеку. При запуске скрипта 'configure', некоторые библиотеки (такие как библиотека GD) находятся автоматически, другие должны быть включены с помощью опции '--with-EXTENSION' в 'configure'. Запустите 'configure --help' для получения списка всех опций.

Я получил последнюю версию исходников PHP из SVN. Что нужно для компиляции его под Windows?

Смотрите раздел руководства сборка PHP из исходников под Windows.

Где найти файл возможностей браузеров (Browser Capabilities File)?

Файл browscap.ini можно скачать с » http://browsers.garykeith.com/downloads.asp.

Что означает потокобезопасность при скачке PHP?

Потокобезопасность означает, что данный бинарный файл может работать в многопоточным вебсервере, например таким, как Apache 2 под Windows. Потокобезопасность обеспечивается хранением локальных копий в каждом потоке, так что данные не вступят в противоречие с другим потоком.

Так что же выбрать? Если вы хотите использовать PHP в качестве бинарного файла CGI, то вам не нужна потокобезопасность, так как бинарный файл будет запускаться при каждом запросе. Для многопоточных вебсерверов, таких как IIS5 и IIS6, вам понадобится поточная версия PHP.

Списки рассылки
Вопросы по Базам данных
ЧАВО


Вопросы по Базам данных

Этот раздел содержит общие вопросы о связи между PHP и базами данных. Да, сегодня практически любая база данных может быть доступна из PHP.

  1. Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?
  2. Могу ли я получить доступ к базам данных Microsoft Access?
  3. Клиентские библиотеки MySQL больше не включены в PHP 5, как это отразится на мне? Могу ли я всё так же использовать MySQL c PHP? Я пытаюсь работать с MySQL и получаю ошибки "function undefined" (функция неопределена), что выдаёт их?
  4. После установки поддержки разделения в MySQL, Apache выдаёт дампы сразу после загрузки libphp4.so. Можно ли это исправить?
  5. Почему я получаю ошибки типа "Warning: 0 is not a MySQL result index in <file> on line <x>" или "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?
Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?

На Windows машинах, вы просто используете поддержку ODBC и соответсвующий ODBC драйвер.

На Unix машинах для доступа к Microsoft SQL серверам вы можете использовать Sybase-CT драйвер, так как они (по крайней мере в основном) совместимы по протоколу. У Sybase есть » бесплатная версия необходимых библиотек для Linux. Для других Unix систем вам необходимо обратиться в Sybase за соответствующими библиотеками. Также смотрите ответ на следующий вопрос.

Могу ли я получить доступ к базам данных Microsoft Access?

Да. Если всё полностью выполняется под Windows 9x/Me или NT/2000, то у вас уже есть все необходимые средства, так как для баз данных Microsoft Access вы можете использовать ODBC и драйверы ODBC от Microsoft.

Если вы хотите связать PHP, выполняющийся на Unix, и MS Access на Windows, то вам будут нужны драйверы ODBC для Unix. Такие ODBC драйверы для Unix есть у » OpenLink Software.

Другая возможность - хранить данные на SQL сервере, который имеет ODBC драйверы для Windows, и затем обращаться к этой базе данных из Microsoft Access (используя ODBC) и из PHP (используя встроенные драйверы) или использовать промежуточный формат понятный и для Access, и для PHP, например, простые файлы или базы данных dBase. По этому поводу Тим Хэйз (Tim Hayes) из OpenLink software пишет:

Использование промежуточной базы данных - не очень хорошая идея, когда есть возможность работать с базой данных на прямую из PHP через ODBC, например с драйверами от OpenLink. Если вам всё-таки надо использовать промежуточный формат, OpenLink выпустил Virtuoso (механизм виртуальной базы данных) для NT, Linux и других платформ Unix. Пожалуйста, посетите наш » вебсайт для бесплатной загрузки.

Другой проверенный вариант - использовать MySQL с её MyODBC драйверами на Windows и делать синхронизацию баз данных. Стив Лоренс (Steve Lawrence) пишет:

  • Установите MySQL согласно поставляемым с ней инструкциям. Последняя версия доступна с » http://www.mysql.com/. Особой конфигурации не требуется, за исключением того, что при настройке баз данных и создании пользователя, в поле хоста вы должны поместить % или имя Windows машины, на которую вы хотите получить доступ из MySQL. Запишите имя вашего сервера, имя пользователя и пароль.
  • Скачайте MyODBC драйвер для Windows с сайта MySQL. Установите его на вашей Windows машине. Вы можете проверить его работоспособность с помощью поставляемых с ним утилит.
  • Создайте пользователя или системный dsn в вашем администраторе ODBC, расположенном в контрольной панели. Создайте dsn имя, введите имя хоста, имя пользователя, пароль и т.д. для вашей базы данных MySQL, сконфигурированной на 1-ом шаге.
  • Установите полную версию Access, это даст вам уверенность, что вы получите все нужные расширения (add-ins). По крайней мере вам будут необходимы поддержка ODBC и администратор связанных таблиц.
  • И теперь самое интересное! Создайте новую базу данных Access. В окне таблицы щёлкните правой кнопкой мышки и выберите Link Tables (Связать Таблицы), либо из файлового меню выберите Get External Data (Получить Внешние Данные) и затем Link Tables. В появившемся окне просмотра файлов выберите файлы типа ODBC. Выберите системный dsn и имя вашего dsn, созданного на 3-ем шаге. Выберите таблицу для связи, нажмите OK и вуаля! Теперь вы можете открыть таблицу и добавить/удалить/отредактировать данные на вашем MySQL сервере! Вы также можете строить запросы, импортировать/экспортировать таблицы в MySQL, создавать формы и отчёты, и т.д.

Полезные Советы и Трюки:

  • Вы можете создавать ваши таблицы в Access, экспортировать их в MySQL и затем привязать их назад. Это убыстряет создание таблиц.
  • При создании таблиц в Access, вы должны определить первичный ключ, чтобы иметь доступ к таблице по записи. Убедитесь что вы создали первичный ключ в MySQL перед тем как привязать таблицу к Access.
  • Если вы изменяете таблицу в MySQL, то вы должны связать её с Access по-новой. Идите в tools>add-ins>linked table manager, следуйте к вашему ODBC DSN, и выберите оттуда таблицу для пересвязки. Там же вы можете изменить источник вашего dsn, для этого, перед тем как нажать OK, просто пометьте "always prompt for new location" (всегда запрашивать новое местонахождение).

Клиентские библиотеки MySQL больше не включены в PHP 5, как это отразится на мне? Могу ли я всё так же использовать MySQL c PHP? Я пытаюсь работать с MySQL и получаю ошибки "function undefined" (функция неопределена), что выдаёт их?

Да. PHP всегда будет поддерживать MySQL в том или ином виде. Единственное что изменилось в PHP 5 - это то, что мы больше не поставляем саму клиентскую библиотеку. Вот некоторые причины для этого:

  • Сегодня клиентские библиотеки уже установлены на большинстве систем.

  • Учитывая предыдущий пункт, имея несколько версий, проще запутаться. Например, если вы компонуете mod_auth_mysql с одной версией, а PHP с другой, и затем разрешаете оба в Apache, то вы получите хороший жирный крах. Также, поставляемые библиотеки не всегда дружат с установленной серверной версией. Наиболее очевидный симптом этого - разногласие по тому где искать файл mysql.socket (файл Unix сокета).

  • Также поддержка была вялой и отставала от релизов всё больше и больше.

  • Последующие версии библиотеки будут под GPL и мы не можем поставлять библиотеку под GPL с проектом лицензируемым по типу BSD/Apache. Поэтому полный разрыв в PHP 5 видится как самый лучший вариант.

На самом деле это заденет не так уж много людей. Пользователи Unix, по крайней мере те, кто знает что они делают, всегда были склонны собирать PHP с уже установленной на их системе библиотекой libmesqlclient, просто задав опцию --with-mysql=/usr при сборке. Пользователи Windows могут включить расширение php_mysql.dll внутри php.ini. Более подробную информацию по установке смотрите в документации MySQL. Также убедитесь, что libmysql.dll доступен в системном PATH. О том как - читайте FAQ: установка системного PATH в Windows. Так как libmysql.dll (и многие другие PHP файлы) находится в папке PHP, вам лучше добавить PHP папку в ваш системный PATH.

После установки поддержки разделения в MySQL, Apache выдаёт дампы сразу после загрузки libphp4.so. Можно ли это исправить?

Это происходит если вы скомпоновали ваши библиотеки MySQL с pthreads. Проверьте используя ldd. Если это так, скомпилируйте MySQL из исходников или перекомпилируйте исходный rpm, отключив поточный код клиента в файле спецификации. Любой из этих вариантов исправит проблему. Затем перекомпилируйте PHP с новыми библиотеками MySQL.

Почему я получаю ошибки типа "Warning: 0 is not a MySQL result index in <file> on line <x>" или "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?

Вы пытаетесь использовать идентификатор результата, который равен 0. 0 означает, что ваш запрос неудался по какой-либо причине. Вам необходимо сделать проверку на ошибки, после того как вы послали ваш запрос, и перед тем, как вы пытаетесь использовать возвращённый идентификатор результата. Правильный способ этой реализации выглядит примерно так:

<?php

$result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
}
?>
или
<?php

$result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: " . mysql_error());
?>

Получение PHP
Установка
ЧАВО


Установка

Этот раздел содержит общие вопросы по установке PHP. PHP доступен практически для любой ОС (за исключением, может быть, MacOS предшествующей OSX) и любого web сервера.

Для установки PHP следуйте инструкциям в Установка и настройка.

  1. Почему я не должен использовать Apache2 с потоковым MPM в промышленном окружении?
  2. Unix/Windows: Где должен находиться файл php.ini?
  3. Unix: Я установил PHP, но каждый раз при загрузке документа я получаю сообщение 'Document Contains No Data' (Документ Не Содержит Данных)! Что происходит?
  4. Unix: Я установил PHP с помощью RPMS, но Apache не обрабатывает PHP страницы! Что происходит?
  5. Unix: Я установил заплатку в Apache для расширений FrontPage и неожиданно PHP перестал работать. Неужели PHP не совместим с FrontPage расширениями для Apache?
  6. Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю пустой экран.
  7. Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю ошибку сервера 500.
  8. Некоторые операционные системы: Я установил PHP без ошибок, но когда я пытаюсь запустить Apache, я получаю ошибки "undefined symbol" (неопределённый символ): [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю ошибку: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows: Я следовал всем инструкциям, но так и не смог заставить PHP и IIS работать вместе!
  11. Когда PHP запускается как CGI в IIS, PWS, OmniHTTPD или Xitami, я получаю следующую ошибку: Security Alert! PHP CGI cannot be accessed directly..
  12. Как узнать, что мой php.ini был найден и прочтён? Похоже, что мои изменения не были восприняты?
  13. Как на Windows добавить мою PHP директорию в PATH?
  14. Как в Windows сделать файл php.ini доступным для PHP?
  15. Возможно ли использовать согласование содержания в Apache (опция MultiViews) c PHP?
  16. PHP может обрабатывать только GET и POST запросы?
Почему я не должен использовать Apache2 с потоковым MPM в промышленном окружении?

PHP - это клей. Клей, используемый для построения классных веб-приложений, склеивая дюжины сторонних библиотек и создавая впечатление одного согласованного целого, с помощью интуитивного и легко изучаемого языка. Гибкость и мощь PHP полагается на стабильность и устойчивость используемой платформы. Для склейки вместе ему необходимы работающая ОС, работающий веб-сервер и работающие сторонние библиотеки. Когда что-либо из этого перестаёт работать, PHP нужны способы определения проблем и их быстрого исправления. Если вы усложняете низлежащую систему, не разделяя полностью потоки выполнения, не выделяя раздельные сегменты памяти и не предоставляя "песочницу" для игры для каждого запроса, то в вашей PHP системе появятся слабые места.

Если вы хотите использовать потоковый MPM, взгляните на конфигурацию с FastCGI, где вы можете запускать PHP в своём собственном пространстве памяти.

Unix/Windows: Где должен находиться файл php.ini?

На Unix по умолчанию он должен находиться в директории /usr/local/lib, определяемой как <install-path>/lib. Большинство людей изменяют его во время компиляции с помощью опции --with-config-file-path Для примера, вы можете задать что-то типа:

--with-config-file-path=/etc
Затем скопировать файл php.ini-development из дистрибутива в /etc/php.ini и отредактировать его для ваших локальных нужд.

--with-config-file-scan-dir=PATH

На Windows по умолчанию php.ini находится в Windows директории. Если вы используете веб-сервер Apache, php.ini сначала ищется в директории, где был установлен Apache, например, c:\program files\apache group\apache. В этом случае на одной машине у вас могут быть разные файлы php.ini для разных версий Apache.

Смотрите также главу о конфигурационном файле.

Unix: Я установил PHP, но каждый раз при загрузке документа я получаю сообщение 'Document Contains No Data' (Документ Не Содержит Данных)! Что происходит?

Вероятно, PHP падает по какой-то причине. Для того, чтобы убедиться в этом, просмотрите лог ошибок вашего сервера и затем попытайтесь воспроизвести проблему с помощью небольшого тестового примера. Если вы умеете пользоваться 'gdb', то добавьте трассировку к вашему сообщению об ошибке, это поможет разработчикам точно определить проблему. Если вы используете PHP как модуль Apache, попробуйте что-то типа:

  • Остановите ваши httpd процессы

  • gdb httpd

  • Остановите ваши httpd процессы

  • > run -X -f /path/to/httpd.conf

  • Затем вызовите URL, на котором возникает проблема, из вашего браузера

  • > run -X -f /path/to/httpd.conf

  • Если вы получаете дамп, gdb должен сейчас же сообщить вам об этом

  • введите: bt

  • Вам необходимо включить трассировку в ваше сообщение об ошибке, которое должно быть отправлено с » http://bugs.php.net/

Если ваш скрипт использует функции регулярных выражений (preg_match() и компания), то вам необходимо убедиться, что вы скомпилировали PHP и Apache с одним и тем же пакетом регулярных выражений. Это должно происходить автоматически для PHP и Apache 1.3.x

Unix: Я установил PHP с помощью RPMS, но Apache не обрабатывает PHP страницы! Что происходит?

Полагая, что Apache и PHP оба были установлены из пакетов RPM, вам требуется в вашем файле httpd.conf раскомментировать или добавить все или некоторые из следующих строк:

# Extra Modules
AddModule mod_php.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
И добавить:
AddType application/x-httpd-php .php
... в глобальные свойства или в свойства VirtualDomain, для которого вы хотите иметь поддержку PHP.

Unix: Я установил заплатку в Apache для расширений FrontPage и неожиданно PHP перестал работать. Неужели PHP не совместим с FrontPage расширениями для Apache?

Нет, PHP прекрасно работает с FrontPage расширениями. Проблема в том, что FrontPage заплатка изменяет некоторые важные для PHP структуры. Перекомпиляция PHP (с помощью 'make clean ; make') после установки FP заплатки должна решить эту проблему.

Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю пустой экран.

Сделайте просмотр исходника ('view source') в web браузере и, вероятно, вы увидите исходный код вашего PHP скрипта. Это означает, что web сервер не послал скрипт PHP для интерпретации. Что-то не так с конфигурацией сервера, проверьте конфигурацию сервера согласно установочным инструкциям PHP.

Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю ошибку сервера 500.

Что-то произошло когда сервер пытался выполнить PHP. Чтобы увидеть более вразумительное сообщение об ошибке, используя командную строку, перейдите в директорию где находится исполняемый файл PHP (php.exe на Windows) и запустите php -i. Если при запуске PHP возникли какие-либо проблемы, то появится соответствующее сообщение об ошибке, которое может дать вам понять что делать дальше. Если вы получаете экран, заполненый HTML кодом (вывод функции phpinfo()), то PHP работает и ваша проблема возможно связана с конфигурацией вашего сервера, которую вам необходимо проверить.

Некоторые операционные системы: Я установил PHP без ошибок, но когда я пытаюсь запустить Apache, я получаю ошибки "undefined symbol" (неопределённый символ):
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

На самом деле это связано с клиентскими библиотеками MySQL и не имеет никакого отношения к PHP. Одним нужна опция --with-zlib , другим - нет. Это также описано в MySQL FAQ.

Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю ошибку:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Это сообщение об ошибке означает, что PHP не смог вывести абсолютно ничего. Чтобы увидеть более вразумительное сообщение об ошибке, используя командную строку, перейдите в директорию, где находится исполняемый файл PHP (php.exe на Windows) и запустите php -i. Если при запуске PHP возникли какие-либо проблемы, то появится соответствующее сообщение об ошибке, которое может дать вам понять, что делать дальше. Если вы получаете экран, заполненый HTML кодом (вывод функции phpinfo() функции), то PHP работает.

Как только PHP заработает из командной строки, попытайтесь опять вызвать скрипт из браузера. Если он все также не работает, то причина может быть одной из следующих:

  • Анонимный пользователь Internet ISUR_<machinename> не имеет доступ к вашему PHP скрипту, php.exe, php4ts.dll, php.ini или любому загружаемому PHP расширению из за прав доступа, установленных на эти файлы.
  • Файл скрипта не существует (или, вероятно, не там где вы думаете он должен быть, относительно вашей корневой web директории). Заметьте, что для IIS вы можете поймать эту ошибку пометив 'check file exists' при настройке ассоциирования скриптов (script mappings) в Администраторе Internet Сервисов (Internet Services Manager). Если файл скрипта не существует, то сервер выдаст ошибку 404. Также есть дополнительное преимущество, заключащееся в том, что IIS будет выполнять необходимую вам аутентификацию, основываясь на NTLanMan правах доступа на ваш скрипт.
Windows: Я следовал всем инструкциям, но так и не смог заставить PHP и IIS работать вместе!

Убедитесь что все пользователи, кому необходимо запускать PHP скрипты, имеют право выполнять php.exe! IIS использует анонимного пользователя, который добавлен во время установки IIS. Этот пользователь должен иметь права на php.exe. Также любому аутентифицированному пользователю будут нужны права на выполнение php.exe. И для IIS4 вам необходимо сказать ему, что PHP является скриптовой системой. Также вам захочется прочитать это.

Когда PHP запускается как CGI в IIS, PWS, OmniHTTPD или Xitami, я получаю следующую ошибку: Security Alert! PHP CGI cannot be accessed directly..

Вы должны установить директиву cgi.force_redirect в 0. По умолчанию она установлена в 1, поэтому убедитесь, что директива не закоментирована (с ;). Как все директивы, она задается в php.ini

Так как значение по умолчанию 1, то очень важно быть уверенным на 100%, что был прочитан верный php.ini файл. Для подробностей читайте здесь.

Как узнать, что мой php.ini был найден и прочтён? Похоже, что мои изменения не были восприняты?

Чтобы убедиться, что PHP прочитал ваш php.ini, вызовите phpinfo() и недалеко от начала будет находиться строка, озаглавленная Configuration File (php.ini). Она скажет вам, где PHP ищет php.ini и был ли файл прочитан. Если указана только директория, то файл не был прочитан и вы должны поместить ваш php.ini в эту директорию. Если php.ini включён в PATH, то он был прочитан.

Если php.ini был прочитан и вы запускаете PHP как модуль, то не забудьте перезапустить ваш web сервер после внесения изменений в php.ini.

Смотрите также php_ini_loaded_file().

Как на Windows добавить мою PHP директорию в PATH?

На Windows NT+ и Windows Server 2000+:

  • Зайдите в Control Panel и откройте системную иконку (Start -> Settings -> Control Panel -> System, или просто Start -> Control Panel -> System for Windows XP/2003)

  • Перейдите в закладку Advanced

  • Нажмите кнопку 'Environment Variables'

  • Смотрите в окошко 'System Variables'

  • Найдите Path (возможно, вам придется сделать прокрутку, чтобы найти его)

  • Двойной щелчок на Path

  • Добавьте в конец вашу PHP директорию, поставив спереди ';' (например ;C:\php)

  • Нажмите OK

На Windows 98/Me вам необходимо отредактировать файл autoexec.bat:

  • Откройте Notepad (Start -> Run и введите notepad)

  • Откройте файл C:\autoexec.bat

  • Найдите строку с PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... и добавьте в конец строки: ;C:\php

  • Сохраните файл и перезапустите ваш компьютер

Замечание: Обязательно перезагрузитесь после указанных шагов для уверенности, что внесенные вами изменения были применены к PATH.

Прежде в руководстве по PHP рекомендовалось копировать файлы в системную директорию Windows, так как эта директория (C:\Windows, C:\WINNT, и т.п.) входит в системный PATH по умолчанию. Копирование файлов в системную директорию Windows давно уже противопоказано и может вызвать проблемы.

Как в Windows сделать файл php.ini доступным для PHP?

Для этого есть несколько путей. Если вы используете Apache, то читайте инструкции по его установке (Apache 1, Apache 2), в ином случае, вы должны установить переменную окружения PHPRC:

На Windows NT, 2000, XP и 2003:

  • Зайдите в Control Panel и откройте системную иконку (Start -> Settings -> Control Panel -> System, или просто Start -> Control Panel -> System for Windows XP/2003)

  • Перейдите в закладку Advanced

  • Нажмите кнопку 'Environment Variables'

  • Посмотрите в окошко 'System variables'

  • Щёлкните на 'New' и введите 'PHPRC' как имя переменной и директорию, где находится php.ini, как значение переменной (например, C:\php)

  • Нажмите OK и перезапустите ваш компьютер

На Windows 98/Me вам необходимо отредактировать файл autoexec.bat:

  • Откройте Notepad (Start -> Run и введите notepad)

  • Откройте файл C:\autoexec.bat

  • Добавьте новую строку в конец файла: set PHPRC=C:\php (замените C:\php на директорию, где находится php.ini). Учтите, что путь не должен содержать пробелы. Например, если вы установили PHP в C:\Program Files\PHP, вы можете вместо этого ввести C:\PROGRA~1\PHP.

  • Сохраните файл и перезапустите ваш компьютер

Возможно ли использовать согласование содержания в Apache (опция MultiViews) c PHP?

Всё работает замечательно, если ссылки на PHP файлы имеют расширение. Этот FAQ рассматривает только случай, когда ссылки на PHP файлы не имеют расширения и вы хотите использовать согласование содержания для отбора PHP файлов из URL без расширений. В этом случае, замените строку AddType application/x-httpd-php .php на:

AddHandler php5-script php
AddType text/html php
Это решение не работает в Apache 1, так как в нём PHP модуль не ловит php-script.

PHP может обрабатывать только GET и POST запросы?

Нет, можно обрабатывать любые запросы, например, CONNECT. Необходимый статус ответа можно послать с помощью функции header(). Если нужно обрабатывать только GET и POST запросы, то этого можно достигнуть с помощью такой конфигурации Apache:

<LimitExcept GET POST>
Deny from all
</LimitExcept>

Вопросы по Базам данных
Проблемы сборки
ЧАВО


Проблемы сборки

В этом разделе собраны наиболее общие ошибки, возникающие на этапе сборки.

  1. Я получил последнюю версию PHP, используя анонимный доступ к SVN, но в нём нет конфигурационного скрипта!
  2. У меня возникают проблемы при конфигурировании PHP для работы с Apache. Он говорит, что не может найти httpd.h, хотя файл находится точно там, где я сказал!
  3. Во время конфигурации PHP (./configure) вы наталкиваетесь на ошибку, схожую со следующей: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Когда я пытаюсь запустить Apache, я получаю следующее сообщение: fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Когда я запускаю configure, он говорит, что не может найти файлы include или библиотеку для GD, gdbm или какого-либо другого пакета!
  6. При компиляции файла language-parser.tab.c мне выдаются ошибки, говорящие yytname undeclared.
  7. Когда я запускаю make, похоже, он выполняется нормально, но на конечной линковке жалуется, что не может найти некоторые файлы.
  8. При компоновке PHP, он жалуется на некоторые неопределённые ссылки.
  9. Я не могу понять как собрать PHP c Apache 1.3.
  10. Я следовал всем шагам по установке модульной версии для Apache на Unix, но мои PHP скрипты выводятся в браузере или я получаю запрос сохранить файл.
  11. В документации рекомендуется использовать: --activate-module=src/modules/php4/libphp4.a, но такой файл не существует, поэтому я заменил это на --activate-module=src/modules/php4/libmodphp4.a и оно не работает!? Что происходит?
  12. Когда я пытаюсь собрать Apache c PHP в виде статического модуля, используя --activate-module=src/modules/php4/libphp4.a он говорит, что мой компилятор не ANSI-совместимый.
  13. Когда я пытаюсь собрать PHP с помощью --with-apxs, я получаю странное сообщение об ошибке.
  14. Во время выполнения make я очень быстро получаю ошибки и множество всяких RUSAGE_.
  15. При компиляции PHP с MySQL, configure выполняется нормально, но во время make я получаю ошибку типа следующей: ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', в чём дело?
  16. Я хочу обновить мой PHP. Где я могу найти строку ./configure, которая была использована для моей текущей PHP установки?
  17. При сборке PHP с библиотекой GD, либо выдаются странные ошибки компиляции, либо ошибки сегментации (segfaults) при выполнении.
  18. При компиляции PHP я, кажется, получаю случайные ошибки, например она зависает. Я использую Solaris, если это имеет значение.
Я получил последнюю версию PHP, используя анонимный доступ к SVN, но в нём нет конфигурационного скрипта!

Вам нужен установленный пакет GNU autoconf для того, чтобы сгенерировать конфигурационный скрипт из configure.in. После получения исходников с SVN сервера просто запустите ./buildconf в директории верхнего уровня. (Также, если вы запускаете configure без опции --enable-maintainer-mode, то конфигурационный скрипт не будет перестроен автоматически при изменении файла configure.in, поэтому вам необходимо делать это вручную, когда вы заметите, что configure.in изменился. Один из симптомов - появление таких вещей как @VARIABLE@ в вашем Makefile после выполнения configure или config.status.)

У меня возникают проблемы при конфигурировании PHP для работы с Apache. Он говорит, что не может найти httpd.h, хотя файл находится точно там, где я сказал!

Для configure/setup скрипта вам необходимо указать директорию верхнего уровня, в которой находятся исходники Apache. Это означает, что вам надо задать --with-apache=/path/to/apache , а не --with-apache=/path/to/apache/src .

Во время конфигурации PHP (./configure) вы наталкиваетесь на ошибку, схожую со следующей:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Не забудьте внимательно прочитать инструкции по установке и заметьте, что для компиляции PHP вам нужно установить как flex, так и bison. В зависимости от ваших настроек, установите bison и flex либо из исходников, либо из пакетов, например, RPM.

Когда я пытаюсь запустить Apache, я получаю следующее сообщение:

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Эта ошибка обычно появляется, если ядро Apache было скомпилировано как разделяемая библиотека DSO (Dynamic Shared Object). Попробуйте переконфигурировать Apache, используя, по крайней мере, следующие флаги:

--enable-shared=max --enable-rule=SHARED_CORE

Для более подробной информации читайте файл INSTALL в директории верхнего уровня или » страницу руководства Apache по DSO.

Когда я запускаю configure, он говорит, что не может найти файлы include или библиотеку для GD, gdbm или какого-либо другого пакета!

Вы можете сделать так, что скрипт configure будет искать файлы заголовков или библиотеки в нестандартных местах, задав дополнительные флаги для С препроцессора и компоновщика, такие как:

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
Если вы используете csh-подобную оболочку (зачем?), то это будет:
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

При компиляции файла language-parser.tab.c мне выдаются ошибки, говорящие yytname undeclared.

Вам необходимо обновить вашу версию Bison. Последнюю версию можно найти на » http://www.gnu.org/software/bison/bison.html.

Когда я запускаю make, похоже, он выполняется нормально, но на конечной линковке жалуется, что не может найти некоторые файлы.

Некоторые старые версии make ошибочно не помещают скомпилированые файлы в поддиректорию functions в той же директории. Попробуйте выполнить cp *.o functions и затем перезапустить make. Если это помогло, то вам действительно надо установить свежую версию GNU make.

При компоновке PHP, он жалуется на некоторые неопределённые ссылки.

Посмотрите на строку для компоновки и убедитесь, что все нужные библиотеки добавлены в конце. Часто забывают '-ldl' и библиотеки, необходимые для поддержки включенных вручную баз данных.

Некоторые люди также сообщают, что при компоновке с Apache им пришлось добавить '-ldl' сразу после libphp4.a.

Я не могу понять как собрать PHP c Apache 1.3.

На самом деле это очень легко. Аккуратно выполните следующие шаги:

  • Скачайте последний дистрибутив Apache 1.3 с » http://httpd.apache.org/download.cgi.
  • Разархивируйте (ungzip/untar) его где-нибудь, например, в /usr/local/src/apache-1.3.
  • Скомпилируйте PHP, сперва запустив ./configure --with-apache=/<path>/apache-1.3 (замените <path> на ваш настоящий путь к директории apache-1.3.)
  • Введите make с последующим make install для сборки PHP и копирования всех необходимых файлов в дерево дистрибутива Apache.
  • Перейдите в вашу директорию /<path>/apache-1.3/src и отредактируйте файл Configuration. Добавьте в файл: AddModule modules/php4/libphp4.a.
  • Введите: ./configure и затем make.
  • Теперь у вас должен быть бинарник httpd, поддерживающий PHP!

Замечание: Вы также можете использовать новый скрипт ./configure в Apache. Смотрите инструкции в файле README.configure, входящем в ваш дистрибутив Apache. Также загляните в файл INSTALL из дистрибутива PHP.

Я следовал всем шагам по установке модульной версии для Apache на Unix, но мои PHP скрипты выводятся в браузере или я получаю запрос сохранить файл.

Это означает, что по какой-то причине модуль PHP не вызывается. Перед тем как обращаться за помощью, проверьте три вещи:

  • Убедитесь, что запускаемый вами бинарник httpd действительно новый, только что построенный httpd. Для этого попробуйте запустить: /path/to/binary/httpd -l Если вы не видите mod_php4.c в списке, то вы запускаете не тот бинарник. Найдите и установите правильный бинарник.
  • Убедитесь, что вы добавили правильный Mime Type в один из ваших Apache .conf файлов. Это должно быть: AddType application/x-httpd-php .php Также убедитесь, что эта строка AddType не попала внутрь <Virtualhost> или <Directory> блока, так как это не даст ей работать с местонахождением вашего тестового скрипта.
  • Наконец, между Apache 1.2 и Apache 1.3 расположение конфигурационных файлов Apache по умолчанию изменилось. Вам надо проверить, что действительно читается тот конфигурационный файл, в который вы добавили строку AddType. Вы можете внести очевидную синтаксическую ошибку в ваш httpd.conf файл или какое-либо другое заметное изменение, которое покажет вам, что читается правильный файл.

В документации рекомендуется использовать: --activate-module=src/modules/php4/libphp4.a, но такой файл не существует, поэтому я заменил это на --activate-module=src/modules/php4/libmodphp4.a и оно не работает!? Что происходит?

Заметьте, что файл libphp4.a не должен существовать. Он будет создан в процессе!

Когда я пытаюсь собрать Apache c PHP в виде статического модуля, используя --activate-module=src/modules/php4/libphp4.a он говорит, что мой компилятор не ANSI-совместимый.

Сообщение об ошибке вводит в заблуждение; это исправлено в более свежих версиях Apache.

Когда я пытаюсь собрать PHP с помощью --with-apxs , я получаю странное сообщение об ошибке.

Проверьте три вещи. Во-первых, по какой-то причине, когда Apache создает Perl скрипт apxs, он получается без правильного компилятора и переменных, задающих флаги. Найдите ваш apxs скрипт (попробуйте команду which apxs), иногда он установлен как /usr/local/apache/bin/apxs или /usr/sbin/apxs. Откройте его и найдите строки, схожие с этими:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Если они так и выглядят, то вы нашли вашу проблему. Они могут содержать только пробелы или другие неправильные значения, такие как 'q()'. Измените эти строки на:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
Вторая возможная проблема возникает только на Red Hat 6.1 и 6.2. Скрипт apxs, поставляемый с Red Hat, сломан. Ищите эту строку:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Если вы нашли вышеприведенную строку, измените её на следующее:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
И последнее, если вы переконфигурируете/переустанавливаете Apache, запустите make clean после ./configure и перед make.

Во время выполнения make я очень быстро получаю ошибки и множество всяких RUSAGE_.

При выполнении make во время установки, если вы сталкиваетесь с проблемами, похожими на следующее:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Ваша система сломана. Вы должны исправить ваши файлы /usr/include, установив пакет glibc-devel, который соответствует вашей glibc. Это абсолютно не зависит от PHP. Для доказательства попробуйте следующий простой тест:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Если выдаются ошибки, то ваши include файлы испорчены.

При компиляции PHP с MySQL, configure выполняется нормально, но во время make я получаю ошибку типа следующей: ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', в чём дело?

Во-первых, важно понимать, что это Warning (предупреждение), а не фатальная ошибка. Так как это последнее, что выводится во время make, оно может выглядеть как фатальная ошибка, но это не так. Конечно, если ваш компилятор умирает на предупреждениях, (Warnings), то тогда да. Также имейте ввиду, что поддержка MySQL включена по умолчанию.

Замечание:

Начиная с PHP 4.3.2 вы также будете видеть следующий текст после того как сборка (make) завершится:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
(Сборка завершена, можно безопасно игнорировать
предупреждения о tempnam и tmpnam.)

Я хочу обновить мой PHP. Где я могу найти строку ./configure, которая была использована для моей текущей PHP установки?

Либо смотрите файл config.nice в дереве исходников вашей текущей PHP установки, либо, если это недоступно, просто выполните скрипт:

<?php phpinfo(); ?>
В начале вывода будет находиться строка ./configure, которая была использована для сборки текущего PHP.

При сборке PHP с библиотекой GD, либо выдаются странные ошибки компиляции, либо ошибки сегментации (segfaults) при выполнении.

Убедитесь, что ваша библиотека GD и PHP компонуются с одними и теми же зависимыми библиотеками (например, libpng).

При компиляции PHP я, кажется, получаю случайные ошибки, например она зависает. Я использую Solaris, если это имеет значение.

Использование не GNU утилит во время компиляции PHP может вызвать проблемы. Чтобы быть уверенным, что компиляция PHP будет работать, используйте GNU утилиты. Например, в Solaris, использование SunOS BSD-совместимой или Solaris версии sed не будет работать, а GNU или Sun POSIX (xpg4) версии sed будет. Ссылки: » GNU sed, » GNU flex, and » GNU bison.

Установка
Использование PHP
ЧАВО


Использование PHP

В этом разделе собрано множество общих ошибок, которые могут вам встретиться при написании PHP скриптов.

  1. Я не могу запомнить порядок аргументов PHP-функций, они что, случайны?
  2. Я хочу написать общий PHP скрипт, который может обрабатывать данные, приходящие из любой формы. Как узнать какие переменные метода POST доступны?
  3. Мне надо преобразовать все одиночные кавычки (') в обратный слэш с последующей одиночной кавычкой (\'). Как я могу сделать это с помощью регулярного выражения? Я также хотел бы преобразовать " в \" и \ в \\.
  4. Все мои " превратились в \", а ' в \', как избавиться от всех этих ненужных обратных слэшей? Как и почему они появились?
  5. Как директива PHP register_globals касается меня?
  6.       Когда я делаю следующее, вывод распечатывается не в том порядке:

<?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>

     Что происходит?
  7. Эй, что произошло с моими строками? <pre> <?php echo "Это должно быть на первой строке."; ?> <?php echo "А это должно быть на следующей строке."; ?> </pre>
  8. Я получаю сообщение 'Warning: Cannot send session cookie - headers already sent...' или 'Cannot add header information - headers already sent...'.
  9. Мне необходим прямой доступ к информации в заголовке запроса. Как я могу это сделать?
  10. Когда я пытаюсь использовать аутентификацию с IIS, я получаю 'No Input file specified'.
  11. Windows: У меня нет доступа к файлам, разделяемых с другим компьютером, по IIS.
  12. Как я должен совмещать XML и PHP? Он жалуется на мои <?xml тэги!
  13. Где я могу найти полный список переменных, доступных мне в PHP?
  14. Как я могу генерировать PDF файлы без использования платных или коммерческих библиотек, как PDFLib? Я бы хотел что-нибудь бесплатное и не требующее внешних библиотек PDF.
  15. Я пытаюсь получить доступ к одной из стандартных CGI переменных (таких как $DOCUMENT_ROOT или $HTTP_REFERER) в определённой пользователем функции и, похоже, она не может быть найдена. В чём дело?
  16. Несколько PHP директив могут принимать сокращения для байтовых значений в отличие от только integer байтовах значений. Каковы все доступные сокращения? И могу ли я использовать их вне php.ini?
  17. Windows: Я постоянно получаю таймауты при соединении с localhost, хотя с "127.0.0.1" все работает нормально?
Я не могу запомнить порядок аргументов PHP-функций, они что, случайны?

PHP - это клей, который скрепляет вместе сотни различных внешних библиотек, поэтому иногда это кажется довольно запутанным. Однако, общее правило таково:

Параметры функций работы с массивами упорядочены в виде "иголка (needle), сено (haystack)", тогда как порядок в строковых функциях обратный, то есть аналогичен "сено, иголка".

Я хочу написать общий PHP скрипт, который может обрабатывать данные, приходящие из любой формы. Как узнать какие переменные метода POST доступны?

PHP предлагает множество предопределённых переменных, таких как суперглобальная $_POST. Вы можете пройтись по $_POST так как это ассоциативный массив всех значений, пришедших с POST. Для примера, давайте просто пройдёмся по ним с foreach, проверим на пустые (empty()) значения и распечатаем.

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
    if (empty($varvalue)) {
        $empty[$varname] = $varvalue;
    } else {
        $post[$varname] = $varvalue;
    }
}

print "<pre>";
if (empty($empty)) {
    print "None of the POSTed values are empty, posted:\n";
    var_dump($post);
} else {
    print "We have " . count($empty) . " empty values\n";
    print "Posted:\n"; var_dump($post);
    print "Empty:\n";  var_dump($empty);
    exit;
}
?>

Замечание: Суперглобальные переменные: замечание о доступности

Начиная с PHP 4.1.0, стали доступными суперглобальные массивы, такие как $_GET, $_POST, $_SERVER и т.д. Дополнительную информацию смотрите в разделе руководства superglobals

Мне надо преобразовать все одиночные кавычки (') в обратный слэш с последующей одиночной кавычкой (\'). Как я могу сделать это с помощью регулярного выражения? Я также хотел бы преобразовать " в \" и \ в \\.

Подразумевая, что вы хотите использовать результат преобразования в работе с базой данных, используйте соответствующий механизм экранирования, идущий с используемой вами базой данных. Например, используйте mysql_real_escape_string() с MySQL и pg_escape_string() с PostgreSQL. Есть также более общие функции addslashes() и stripslashes(), они часто встречаются в старом PHP-коде.

Замечание: Замечание о директиве: magic_quotes_gpc

Директива PHP magic_quotes_gpc имеет значение по умолчанию on (включена). По сути это применяет функцию addslashes() ко всем GET-, POST-, и COOKIE-данным. Чтобы удалить добавленные косые черты, вы можете использовать stripslashes().

Все мои " превратились в \", а ' в \', как избавиться от всех этих ненужных обратных слэшей? Как и почему они появились?

Наиболее частой причиной магического появления обратных слэшей - это включенная PHP-директива magic_quotes_gpc. Этот функционал PHP уже устарел и на него нельзя полагаться, поэтому эту директиву рекомендуется отключить. Кроме того, для удаления обратных слэшей из строк можно использовать функцию stripslashes().

Замечание: Замечание о директиве: magic_quotes_gpc

Директива PHP magic_quotes_gpc имеет значение по умолчанию on (включена). По сути это применяет функцию addslashes() ко всем GET-, POST-, и COOKIE-данным. Чтобы удалить добавленные косые черты, вы можете использовать stripslashes().

Как директива PHP register_globals касается меня?

Во-первых, следует объяснить что делает эта директива. Скажем, используется вот такой URL: http://example.com/foo.php?animal=cat и в foo.php у нас находится следующий PHP-код:

<?php
// Использование $_GET в данном случае более предпочтительно
echo $_GET['animal'];

// Чтобы переменная $animal была определена, директива register_globals должна
// быть включена.
// НЕ ДЕЛАЙТЕ ЭТОГО!
echo $animal;

// Это касается всех переменных, включая $_SERVER
echo $_SERVER['PHP_SELF'];

// Опять-таки, чтобы $PHP_SELF была определена, надо включить register_globals
// НЕ ДЕЛАЙТЕ ЭТОГО!
echo $PHP_SELF;
?>

Код выше демонстрирует как register_globals создаёт множество переменных. Годами такой стиль написания не одобрялся и годами register_globals была выключена по умолчанию. Учтите, что эта возможность помечена устаревшей и будет в конце концов удалена. Несмотря на то, что большинство хостингов отключает register_globals, осталось еще много устаревших статей, руководств и книг, которые требуют включения этой директивы. Действуйте соответственно.

См. также следующие источники за дополнительной информацией:

  • Директива register_globals
  • Глава о безопасности и register_globals
  • Работа с внешними данными
  • В качестве альтернативы используйте суперглобальные переменные

Замечание:

В примере выше мы использовали URL, который содержал QUERY_STRING. Передача информации подобным образом происходит с помощью метода HTTP GET, вот почему мы использовали суперглобальный массив $_GET.

Когда я делаю следующее, вывод распечатывается не в том порядке:
<?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
Что происходит?

Для того, чтобы использовать результат вашей функции в выражении (таком как соединение с другими строками, как в вышеприведённом примере), вам необходимо вернуть значение с помощью return(), а не выводить его через echo().

Эй, что произошло с моими строками?
<pre>
<?php echo "Это должно быть на первой строке."; ?>
<?php echo "А это должно быть на следующей строке."; ?>
</pre>

В PHP, блок кода завершается либо с "?>", либо с "?>\n" (где \n означает "новая строка"). В вышеприведённом примере предложения выведутся на одной строке, так как PHP опускает символ новой строки после завершения блока. Это означает, что вам необходимо вставить дополнительный символ новой строки после каждого блока PHP кода, для того чтобы вывод продолжался с новой строки.

Почему PHP делает это? Потому что при форматировании обычного HTML это, обычно, упрощает вашу жизнь когда вам не нужна эта новая строка и вам не надо создавать невероятно длинные строки для того, чтобы сделать исходник страницы читаемым.

Я получаю сообщение 'Warning: Cannot send session cookie - headers already sent...' или 'Cannot add header information - headers already sent...'.

Функциям header(), setcookie(), и функциям сессии нужно добавить заголовки к выходному потоку, но заголовки могут быть посланы только перед всем другим содержимым. Перед использованием этих функций нельзя ничего выводить, в том числе HTML. Функция headers_sent() проверит, если ваш скрипт уже послал заголовки; также смотрите функции управления выводом.

Мне необходим прямой доступ к информации в заголовке запроса. Как я могу это сделать?

Это делает функция getallheaders(), если вы запускаете PHP как модуль Apache. Так, следующий кусок кода покажет вам все заголовки запроса:

<?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
    echo "headers[$name] = $content<br />\n";
}
?>

Также смотрите
apache_lookup_uri(),
apache_response_headers() и
fsockopen()

Когда я пытаюсь использовать аутентификацию с IIS, я получаю 'No Input file specified'.

Это недостаток модели безопасности IIS. Проблема общая для всех CGI программ, выполняющихся под IIS. Чтобы обойти проблему, создайте простой HTML файл (необрабатываемый PHP) как входную страницу в аутентифицируемой директории. Затем используйте META тэг для перенаправления на PHP страницу или поместите ссылку, указывающую на PHP страницу. После этого PHP распознает аутентификацию правильно. С модулем ISAPI такой проблемы нет. Это не должно повлиять на другие веб-серверы NT. Для дополнительной информации смотрите: » http://support.microsoft.com/kb/q160422/ и раздел руководства HTTP Аутентификация.

Windows: У меня нет доступа к файлам, разделяемых с другим компьютером, по IIS.

Вам необходимо сделать изменения. Идите в Internet Information Services. Найдите ваш PHP файл и перейдите в его свойства. Идите в закладку File Security, Edit -> Anonymous access and authentication control.

Вы можете исправить проблему либо сняв отметку с Anonymous Access и оставив отмеченным Integrated Window Authentication, либо отметив Anonymous Access и отредактировать права пользователя, так как у него может не быть прав.

Как я должен совмещать XML и PHP? Он жалуется на мои <?xml тэги!

Для того, чтобы встроить <?xml напрямую в ваш PHP код, вам надо отключить короткие тэги, установив PHP директиву short_open_tags в 0. Вы можете установить эту директиву с помощью ini_set(). Независимо от того, включена short_open_tags или нет, вы можете делать что-то типа: <?php echo '<?xml'; ?>. По умолчанию эта директива включена (On).

Где я могу найти полный список переменных, доступных мне в PHP?

Читайте страницу руководства по предопределённым переменным, так как она содержит частичный список предопределённых переменных, доступных вашему скрипту. Полный список доступных переменных (и множество другой информации) можно увидеть, вызвав функцию phpinfo(). Не забудьте прочитать раздел руководства по переменным, лежащим вне PHP так как он описывает общие сценарии для внешних переменных, таких как HTML форма, Cookie и URL.

Замечание: register_globals: важное замечание

Начиная с PHP 4.2.0, значением директивы PHP register_globals по умолчанию является off (выключено). Сообщество PHP рекомендует всем не полагаться на эту директиву, а использовать вместо этого иные средства, такие как superglobals.

Как я могу генерировать PDF файлы без использования платных или коммерческих библиотек, как PDFLib? Я бы хотел что-нибудь бесплатное и не требующее внешних библиотек PDF.

Есть несколько альтернатив, написанных на PHP, таких как » FPDF и » TCPDF.

Есть также расширение Haru, использующее внешнюю свободную библиотеку libHaru.

Я пытаюсь получить доступ к одной из стандартных CGI переменных (таких как $DOCUMENT_ROOT или $HTTP_REFERER) в определённой пользователем функции и, похоже, она не может быть найдена. В чём дело?

Важно осознавать, что директива PHP register_globals также затрагивает переменные окружения и сервера. Когда register_globals = off (по умолчанию off, начиная с PHP 4.2.0), default is off since PHP 4.2.0), $DOCUMENT_ROOT не будет существовать. Вместо нее используйте $_SERVER['DOCUMENT_ROOT']. Если register_globals = on, то переменные $DOCUMENT_ROOT и $GLOBALS['DOCUMENT_ROOT'] будут также существовать.

Если вы уверены, что register_globals = on и удивляетесь почему $DOCUMENT_ROOT недоступна внутри функции, то это потому, что, как любые другие переменные, она требует global $DOCUMENT_ROOT внутри функции. Также смотрите страницу руководства по области определения переменных. Рекомендуется работать с register_globals = off.

Замечание: Суперглобальные переменные: замечание о доступности

Начиная с PHP 4.1.0, стали доступными суперглобальные массивы, такие как $_GET, $_POST, $_SERVER и т.д. Дополнительную информацию смотрите в разделе руководства superglobals

Несколько PHP директив могут принимать сокращения для байтовых значений в отличие от только integer байтовах значений. Каковы все доступные сокращения? И могу ли я использовать их вне php.ini?

Доступные опции: K (для килобайт), M (для мегабайт) и G (для гигабайт; доступна начиная с PHP 5.1.0); они не чувствительны к регистру. Всё остальное считается байтами. 1M равно одному мегабайту или 1048576 байтам. 1K равно одному килобайту или 1024 байтам. Вы не можете использовать эти сокращения вне php.ini, вместо этого используйте целочисленные значения в байтах. Смотрите документацию по ini_get() для примеров как преобразовать эти значения.

Замечание: килобайт и кибибайт

В нотации PHP один килобайт равен 1024 байтам, тогда как стандарт IEC считает это кибибайтом. В итоге: k и K = 1024 байта.

Windows: Я постоянно получаю таймауты при соединении с localhost, хотя с "127.0.0.1" все работает нормально?

До версии PHP 5.3.4, существовала ошибка в коде резолвинга доменного имени, не дававшая определить адрес localhost при включенном IPv6, во всех ситуациях связанных с потоками. Для обхода этой проблемы можно использовать "127.0.0.1" или отключить резолвинг IPv6 в файле hosts.

Проблемы сборки
Password Hashing
ЧАВО


Safe Password Hashing

This section explains the reasons behind using hashing functions to secure passwords, as well as how to do so effectively.

  1. Why should I hash passwords supplied by users of my application?
  2. Why are common hashing functions such as md5 and sha1 unsuitable for passwords?
  3. How should I hash my passwords, if the common hash functions are not suitable?
  4. What is a salt?
Why should I hash passwords supplied by users of my application?

Password hashing is one of the most basic security considerations that must be made when designing any application that accepts passwords from users. Without hashing, any passwords that are stored in your application's database can be stolen if the database is compromised, and then immediately used to compromise not only your application, but also the accounts of your users on other services, if they do not use unique passwords.

By applying a hashing algorithm to your user's passwords before storing them in your database, you make it implausible for any attacker to determine the original password, while still being able to compare the resulting hash to the original password in the future.

It is important to note, however, that hashing passwords only protects them from being compromised in your data store, but does not necessarily protect them from being intercepted by malicious code injected into your application itself.

Why are common hashing functions such as md5() and sha1() unsuitable for passwords?

Hashing algorithms such as MD5, SHA1 and SHA256 are designed to be very fast and efficient. With modern techniques and computer equipment, it has become trivial to "brute force" the output of these algorithms, in order to determine the original input.

Because of how quickly a modern computer can "reverse" these hashing algorithms, many security professionals strongly suggest against their use for password hashing.

How should I hash my passwords, if the common hash functions are not suitable?

When hashing passwords, the two most important considerations are the computational expense, and the salt. The more computationally expensive the hashing algorithm, the longer it will take to brute force its output.

There are two functions that are bundled with PHP that can perform hashing using a specified algorithm.

The first hashing function is crypt(), which natively supports several hashing algorithms. When using this function, you are guaranteed that the algorithm you select is available, as PHP contains native implementations of each supported algorithm, in case one or more are not supported by your system.

The second hashing function is hash(), which supports many more algorithms and variants than crypt(), but does not support some algorithms that crypt() does. The Hash extension is bundled with PHP, but can be disabled during compile-time, so it is not guaranteed to be available, while crypt() is, being in the PHP core.

The suggested algorithm to use when hashing passwords is Blowfish, as it is significantly more computationally expensive than MD5 or SHA1, while still being scalable.

What is a salt?

A cryptographic salt is data which is applied during the hashing process in order to eliminate the possibility of the output being looked up in a list of pre-calculated pairs of hashes and their input, known as a rainbow table.

In more simple terms, a salt is a bit of additional data which makes your hashes significantly more difficult to crack. There are a number of services online which provide extensive lists of pre-computed hashes, as well as the original input for those hashes. The use of a salt makes it implausible or impossible to find the resulting hash in one of these lists.

Использование PHP
PHP и HTML
ЧАВО


PHP и HTML

PHP и HTML тесно взаимодействуют: PHP может генерировать HTML, а HTML может передавать информацию PHP. Перед чтением вопросов в этом разделе важно чтобы вы понимали как получать переменные извне PHP. Страницы руководства по этой теме содержат много примеров. Обращайте особое внимание на то, что register_globals значит для вас.

  1. Какое кодирование/декодирование я должен выполнять при передаче значения через форму/URL?
  2. Я пытаюсь использовать <input type="image">, но переменные $foo.x и $foo.y недоступны. $_GET['foo.x'] тоже не существует. Где они?
  3. Как создать массивы в HTML <form>?
  4. Как получить все результаты из HTML тэга select с опцией multiple?
  5. Как я могу передать переменную из JavaScript в PHP?
Какое кодирование/декодирование я должен выполнять при передаче значения через форму/URL?

Здесь несколько этапов, на которых кодировка важна. Предположим, что у вас есть $data типа string, содержащая строку, которую вы хотите передать без кодирования. Вот эти этапы:

  • Интерпретация HTML. Для того, чтобы задать произвольную строку, вы должны заключить её в двойные кавычки и вызвать htmlspecialchars() на всё значение.

  • URL: URL состоит из нескольких частей. Если вы хотите чтобы ваши данные были восприняты как один элемент, вы должны закодировать их с помощью urlencode().

Пример #1 Скрытый элемент HTML формы

<?php
    echo "<input type='hidden' value='" . htmlspecialchars($data) . "' />\n";
?>

Замечание: Использовать urlencode() для $data неправильно, так как это обязанность браузера кодировать (urlencode()) эти данные. Все популярные браузеры делают это правильно. Отметьте, что это происходит вне зависимости от метода (например, GET или POST). Однако, вы заметите это только в случае GET запроса, так как POST запросы обычно скрыты.

Пример #2 Данные, редактируемые пользователем

<?php
    echo "<textarea name='mydata'>\n";
    echo htmlspecialchars($data)."\n";
    echo "</textarea>";
?>

Замечание: Данные показываются браузером как предполагается, потому что браузер будет интерпретировать экранированные HTML символы. При отправке через GET или POST данные будут закодированы (urlencoded) браузером для передачи и раскодированы (urldecoded) PHP. Поэтому вам не надо выполнять какое-либо url-кодирование/раскодирование самим, все выполняется автомагически.

Пример #3 В URL

<?php
    echo "<a href='" . htmlspecialchars("/nextpage.php?stage=23&data=" .
        urlencode($data)) . "'>\n";
?>

Замечание: На самом деле вы представляетесь HTML GET запросом, поэтому необходимо вручную закодировать (urlencode()) данные.

Замечание: Вам надо применить htmlspecialchars() на полный URL, потому что URL появляется как значение HTML атрибута. В этом случае, браузер сначала раскодирует всё значение (де-htmlspecialchars()) и затем URL. PHP поймет URL правильно, так как вы закодировали данные с urlencode(). Вы заметите, что & в URL заменяется на &amp;. Хотя большинство браузеров это исправляют, если вы забудете об этом, но всё же это не всегда возможно. Поэтому, даже если ваш URL не динамический, вам надо закодировать его с помощью htmlspecialchars().

Я пытаюсь использовать <input type="image">, но переменные $foo.x и $foo.y недоступны. $_GET['foo.x'] тоже не существует. Где они?

При отправке формы, вместо стандартной кнопки посылки возможно использовать изображение с тэгом как:

<input type="image" src="image.gif" name="foo" />
Когда пользователь щёлкает где-либо на картинке, серверу будет послана сопутствующая форма с двумя дополнительными переменными: foo.x и foo.y.

Так как имена foo.x и foo.y нелегальны в PHP, они автомагически превращаются в foo_x и foo_y. То есть, точки заменяются на подчёркивания. Вы обращаетесь к этим переменным так же как и к любым другим, описанным в разделе о получении переменных извне PHP. Например, $_GET['foo_x'].

Замечание:

Пробелы в именах переменных запроса преобразуются в подчёркивания.

Как создать массивы в HTML <form>?

Для того, чтобы результаты <form> были посланы вашему PHP скрипту как массив, именуйте элементы <input>, <select> или <textarea> следующим образом:

<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
Заметьте квадратные скобки после имени переменной, это делает её массивом. Вы можете сгруппировать элементы в массив, присваивая одно и то же имя разным элементам:
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyOtherArray[]" />
<input name="MyOtherArray[]" />
Это создаст два массива, MyArray и MyOtherArray, которые будут посланы PHP скрипту. Также возможно задать определённые ключи для ваших массивов:
<input name="AnotherArray[]" />
<input name="AnotherArray[]" />
<input name="AnotherArray[email]" />
<input name="AnotherArray[phone]" />
Массив AnotherArray теперь будет содержать ключи 0, 1, email и phone.

Замечание:

Определять ключи массивов в HTML необязательно. Если вы не задаёте ключи, массив заполняется в порядке появления элементов в форме. Наш первый пример будет содержать ключи 0, 1, 2 и 3.

Также смотрите Функции для работы с массивами и Переменные извне PHP.

Как получить все результаты из HTML тэга select с опцией multiple?

HTML тэг select с multiple позволяет пользователю выбрать несколько элементов из списка. Эти элементы затем передаются обработчику формы. Проблема в том, что они все переданы с одним и тем же именем. Например:

<select name="var" multiple="yes">
Каждая выбранная опция поступит обработчику формы как:
var=option1
var=option2
var=option3
Каждая опция будет затирать содержимое предыдущей переменной $var. Решение - воспользоваться возможностью PHP "массив из элемента формы". Должно быть задано следующее:
<select name="var[]" multiple="yes">
Это укажет PHP обращаться с $var как с массивом и каждое присваивание значения для var[] добавит элемент в массив. Первый элемент становится $var[0], следующий $var[1] и т.д. Функция count() может быть использована для определения сколько элементов было выбрано и функция sort() может быть использована для сортировки массива опций, если необходимо.

Заметьте, что если вы используете JavaScript, то [] в имени элемента может вызвать проблемы, если вы пытаетесь обращаться к элементу по имени. Вместо, используйте числовой ID элемента формы или заключите имя переменной в одиночные кавычки и используйте как индекс массива элементов, например:

variable = documents.forms[0].elements['var[]'];

Как я могу передать переменную из JavaScript в PHP?

Так как JavaScript является (обычно) клиентской технологией, а PHP является (обычно) серверной технологией, и так как HTML - протокол "без состояния", эти два языка не могут разделять переменные напрямую.

Однако, возможно передавать переменные между ними. Один из способов достичь этого - сгенерировать JavaScript код из PHP и заставить браузер обновиться, посылая определённые переменные назад PHP скрипту. Нижеприведённый пример показывает как это сделать -- он позволяет PHP коду получить высоту и ширину экрана, что, обычно, возможно только на стороне клиента.

Пример #4 Генерирование Javascript из PHP

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // выводим переменные с размерами
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // передаем переменные с размерами
  // (сохраняем оригинальную строку запроса
  //   -- post переменные нужно будет передавать другим способом)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

Password Hashing
PHP и COM
ЧАВО


PHP и COM

PHP может быть использован для доступа к COM и DCOM объектам на Win32 платформах.

  1. Я собрал DLL для кое-каких вычислений. Можно ли запустить эту DLL из PHP?
  2. Что значит 'Unsupported variant type: xxxx (0xxxxx)'?
  3. Возможно ли манипулирование визуальными объектами в PHP?
  4. Могу ли я сохранять COM объекты в сессии?
  5. Как я могу поймать COM ошибки?
  6. Можно ли генерировать DLL файлы из PHP скриптов как это можно делать в Perl?
  7. Что значит 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?
  8. Как можно запускать COM объекты с удалённого сервера?
  9. Я получаю 'DCOM is disabled in C:\path...\scriptname.php on line 6', что делать?
  10. Возможно ли с помощью PHP загрузить/манипулировать ActiveX объектом на странице?
  11. Возможно ли получить выполняющийся экземпляр компонента?
  12. Есть ли способ обработать событие, посланное COM объектом?
  13. У меня возникают проблемы при попытке вызвать метод COM объекта, который предоставляет более чем один интерфейс. Что я могу сделать?
  14. Значит PHP работает с COM, как насчёт COM+?
  15. Если PHP может манипулировать COM объектами, можно ли представить себе использование MTS для управления ресурсами компонентов в соединении с PHP?
Я собрал DLL для кое-каких вычислений. Можно ли запустить эту DLL из PHP?

Если это простая DLL, то пока ещё нет возможности вызвать её из PHP. Если DLL содержит COM сервер, то вы можете получить доступ к ней, если она реализует интерфейс IDispatch.

Что значит 'Unsupported variant type: xxxx (0xxxxx)'?

Существуют дюжины VARIANT типов и их комбинаций. Большинство из них уже поддерживаются, но несколько всё ещё не реализованы. Массивы поддерживаются не полностью. Только одномерные индексированные массивы могут передаваться между PHP и COM. Если вы обнаружите неподдерживаемые типы, пожалуйста, сообщите о них как об ошибке (если это ещё не сделано) и предоставьте всю доступную информацию.

Возможно ли манипулирование визуальными объектами в PHP?

В общем да, но так как PHP в основном используется как скриптовый язык для web и выполняется в контексте web сервера, то визуальные объекты никогда не появятся на рабочем столе (desktop) сервера. Если вы используете PHP как скрипт для приложений, например в связке с PHP-GTK, тогда нет ограничений на доступ и манипулирование визуальными объектами через COM.

Могу ли я сохранять COM объекты в сессии?

Нет, не можете. Так как экземпляры COM объектов рассматриваются как ресурсы, то они доступны только в контексте одного скрипта.

Как я могу поймать COM ошибки?

В PHP 5 COM расширение возбуждает исключение com_exception, которое вы можете перехватить и затем проверить поле code для того, чтобы определить что делать дальше.

В PHP 4 поймать COM ошибки средствами, отличными от тех, что предлагает сам PHP (@, track_errors, ...) невозможно.

Можно ли генерировать DLL файлы из PHP скриптов как это можно делать в Perl?

Нет, к сожалению такое средство недоступно для PHP.

Что значит 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?

Эта ошибка может возникнуть по разным причинам:

  • неправильный CLSID
  • отсутствует запрошенная DLL
  • запрошенный компонент не реализует интерфейс IDispatch

Как можно запускать COM объекты с удалённого сервера?

Точно так же как вы запускаете локальные объекты. Вам только надо передать IP удалённой машины как второй параметер COM конструктора.

Убедитесь, что в вашем php.ini вы установили com.allow_dcom =TRUE

Я получаю 'DCOM is disabled in C:\path...\scriptname.php on line 6', что делать?

Отредактируйте ваш php.ini и установите com.allow_dcom =TRUE.

Возможно ли с помощью PHP загрузить/манипулировать ActiveX объектом на странице?

PHP здесь не причём. ActiveX объекты загружаются на стороне клиента, если они были запрошены из HTML документа. Связи с PHP скриптом нет и, следовательно, прямое взаимодействие с серверной стороной невозможно.

Возможно ли получить выполняющийся экземпляр компонента?

Это возможно с помощью моникеров. Если вы хотите получить несколько ссылок на один и тот же экземпляр Word, вы можете создать этот экземпляр как показано:

<?php
$word = new COM("C:\docs\word.doc");
?>

Это создаст новый экземпляр, если нет доступного выполняющегося экземпляра или будет возвращена ссылка на выполняющийся экземпляр, если таковой доступен.

Есть ли способ обработать событие, посланное COM объектом?

Используя com_event_sink() вы можете определить приёмник события и привязать его. Вы можете заставить PHP сгенерировать скелет класса приёмника событий, используя com_print_typeinfo().

У меня возникают проблемы при попытке вызвать метод COM объекта, который предоставляет более чем один интерфейс. Что я могу сделать?

Ответ так же прост как и неудовлетворителен. Не знаю точно, но думаю, что вы не можете ничего сделать. Если у кого-то есть точная информация по этому вопросу, пожалуйста, дайте » мне знать :)

Значит PHP работает с COM, как насчёт COM+?

COM+ расширяет COM, предоставляя систему для управления компонентами через MTS и MSMQ, но здесь нет ничего особенного, что PHP должен поддерживать для использования таких компонент.

Если PHP может манипулировать COM объектами, можно ли представить себе использование MTS для управления ресурсами компонентов в соединении с PHP?

Сам PHP ещё не обрабатывает транзакции. Таким образом, если возникает ошибка, откат не инициируется. Если вы используете компоненты, поддерживающие транзакции, вам будет необходимо реализовать управление транзакциями самим.

PHP и HTML
PHP и другие языки
ЧАВО


PHP и другие языки

PHP самый лучший язык для web программирования, а как насчёт других языков?

  1. PHP против ASP?
  2. PHP против Cold Fusion?
  3. PHP против Perl?
PHP против ASP?

На самом деле, ASP сам по себе языком не является, это акроним для Active Server Pages, в действительности для программирования с ASP используется Visual Basic Script, JScript и C#, среди прочих. Наибольшим недостатком ASP является то, что это частная система и по родному используется только на Microsoft Internet Information Server (IIS). Это ограничивает его доступность только для Win32 серверов. Существует пара проектов в работе, которые позволяют ASP выполняться в других окружениях и на других web серверах: » InstantASP от » Halcyon (коммерческий), Chili!Soft ASP от » Chili!Soft (коммерческий), и » Mono (опенсорс). Считается, что ASP медленнее и более громоздкий чем PHP, а также менее стабильный. Некоторыми плюсами ASP является то, что так как в нём в основном используется VBScript, то подхватить язык относительно легко, если вы уже знаете как программировать в Visual Basic. Поддержка ASP по умолчанию включена в IIS, что упрощает его установку и запуск. Однако, встроенные в ASP компоненты очень ограничены, поэтому если вам требуются "продвинутые" возможности, такие как взаимодействие с FTP серверами, вам придётся покупать дополнительные компоненты.

PHP против Cold Fusion?

В общем считается, что PHP быстрее и более эффективен для сложных программных задач и для пробования новых идей. Также на PHP обычно ссылаются как на более стабильный и менее требовательный к ресурсам. Cold Fusion имеет лучшую обработку ошибок, абстракцию баз данных и разбор дат, хотя в PHP 4 тоже уделено внимание абстракции баз данных. Отличительной сильной стороной Cold Fusion является его превосходная поисковая система, но многие резонно аргументируют, что поисковая система это не то, что должно быть включено в скриптовый язык для веб. PHP работает почти на каждой существующей платформе, Cold Fusion доступен только для Windows, Solaris, Linux, MacOS и AIX. Cold Fusion имеет хорошую IDE и в общем в нём легче начинать, тогда как PHP вначале требует больше знаний по программированию. Cold Fusion был спроектирован в расчёте на не программистов, когда PHP сосредотачивается на программистах.

PHP против Perl?

Наибольшее преимущество PHP перед Perl это то, что PHP был спроектирован для написания скриптов для веб, в то время, как Perl был создан для более широкого круга задач и поэтому может быть очень сложным. Гибкость/сложность Perl усложняет совместную работу разработчиков с разным уровнем квалификации. PHP имеет менее запутанный и более строгий формат без ущерба для гибкости. PHP проще интегрировать в существующий HTML, чем Perl. По большому счету, PHP имеет почти что все 'хорошие' функциональные возможности Perl: конструкции, синтаксис и так далее, не становясь таким же сложным, каким может быть Perl. Даже командная строка PHP (CLI) достаточно мощна для выполнения сложных задач, таких, для которых традиционно использовался Perl. Perl довольно испытанный и точный язык, он существует с конца восьмидесятых, но PHP довольно быстро созрел, и продолжает делать фантастические успехи.

PHP и COM
Переход из PHP 4 в PHP 5
ЧАВО


Переход из PHP 4 в PHP 5

Этот раздел поможет вам при переходе из PHP 4 в PHP 5.

  1. Переход из PHP 4 в PHP 5
  2. Работает ли MySQL в PHP 5? Похоже, она исчезла?
  3. Я слышал, что PHP 5 имеет полностью новую модель ООП, будет ли мой существующий код работать? Где найти информацию об этих новых возможностях ООП?
  4. Что ещё изменилось в PHP 5 кроме новой модели ООП? Также есть ли отдельная версия этого руководства для PHP 5?
Переход из PHP 4 в PHP 5

Хотя PHP 5 предлагает много новых возможностей, он проектировался для совместимости с ранними версиями PHP насколько это только возможно, с минимумом поломок функционала.

Не забудьте прочитать соответствующее приложение по миграции в PHP 5 в этом руководстве, так как оно содержит еще больше информации на тему мигрирования в PHP 5.

Работает ли MySQL в PHP 5? Похоже, она исчезла?

MySQL поддерживается с единственным изменением в том, что поддержка MySQL более не включена по умолчанию в PHP 5. Это главным образом означает, что PHP по умолчанию не включает опцию --with-mysql в строку для configure, поэтому вам надо сделать это вручную при компиляции PHP. Пользователи Windows должны будут отредактировать php.ini и включить php_mysql.dll DLL, так как эта DLL не существовала ранее в PHP 4, она была просто включена в бинарную версию PHP для Windows.

Также клиентские библиотеки MySQL больше не поставляются с PHP. Более подробно эта тема освещена здесь и для знания деталей установки MySQL обязательно еще прочитайте раздел по MySQL. Пример строки конфигурации: --with-mysql=/usr , в то время как пользователям Windows будет нужна доступная в системе libmySQL.dll.

Я слышал, что PHP 5 имеет полностью новую модель ООП, будет ли мой существующий код работать? Где найти информацию об этих новых возможностях ООП?

Основное изменение в PHP 5 - это изменение в модели ООП, так как PHP 5 теперь использует Zend Engine 2.0. Директива zend.ze1_compatibility_mode включает совместимость с Zend Engine 1.0 (PHP 4).

Новая модель ООП документирована в справочнике языка по ООП и приложении по переходу к ООП.

Что ещё изменилось в PHP 5 кроме новой модели ООП? Также есть ли отдельная версия этого руководства для PHP 5?

Существует несколько других изменений, за подробностями обращайтесь в приложение по переходу в PHP 5. Специальной для PHP 5 версии этого руководства не будет, так как в основном объёме PHP остается всё тем же.

PHP и другие языки
Разные вопросы
ЧАВО


Разные вопросы

Некоторые вопросы могут не подходить для других категорий. Вы можете найти их здесь.

  1. Как обращаться со сжатыми bz2 руководствами под Windows?
  2. Что означает & рядом с аргументом в объявлении функции, например asort?
  3. Как обращаться с register_globals?
Как обращаться со сжатыми bz2 руководствами под Windows?

Если у вас нет архиватора для работы с bz2 файлами, то » скачайте утилиту для командной строки от Redhat (пожалуйста, ищите подробности ниже).

Если вы не хотите использовать утилиту командной строки, вы можете попробовать бесплатные средства, такие как » Stuffit Expander, » UltimateZip, » 7-Zip или » Quick Zip. Если у вас есть такие утилиты как » WinRAR или » Power Archiver, то с их помощью вы можете легко распаковать bz2 файлы. Если вы пользуетесь Total Commander (бывший Windows Commander), подключаемый модуль bz2 для этой программы доступен бесплатно с сайта » Total Commander.

Утилита командной строки bzip2 от Redhat:

Пользователи Win2K Sp2 должны взять последнюю версию 1.0.2, пользователи всех других Windows должны взять версию 1.00. После загрузки переименуйте исполняемый файл в bzip2.exe. Для удобства положите его в директорию в вашем пути, например C:\Windows, где C соответствует диску, на котором установлен ваш Windows.

Замечание: lang обозначает ваш язык и x - желаемый формат, например pdf. Чтобы распаковать php_manual_lang.x.bz2, следуйте этим простым инструкциям:

  • откройте окно c командной строкой (command prompt)
  • перейдите в директорию (команда cd), куда вы сохранили скачанный php_manual_lang.x.bz2
  • вызовите bzip2 -d php_manual_lang.x.bz2 для извлечения php_manual_lang.x в ту же директорию

В случае, если вы скачали php_manual_lang.tar.bz2, содержащий множество html файлов, процедура точно такая же. Единственное отличие заключается в том, что вы получили файл php_manual_lang.tar. Известно, что формат tar обрабатывается большинством распространённых архиваторов под Windows, например такими как » WinZip.

Что означает & рядом с аргументом в объявлении функции, например asort()?

Это означает, что аргумент передаётся по ссылке и функция, вероятно, изменит его согласно документации. Таким путём вы можете передать только переменные и вам не обязательно задавать & при вызове функции (и это даже не рекомендуется).

Как обращаться с register_globals?

Для информации по проблемам безопасности, связанных с register_globals, читайте Использование register_globals в главе "Безопасность".

Предпочтительнее использовать superglobals, чем полагаться на то, что register_globals установлена в On.

Если вы пользуетесь виртуальным (shared) хостингом с выключенной register_globals и вам надо использовать некоторые существующие приложения, которые требуют, чтобы эта опция была включена; или вы на каком-либо сервере, где эта возможность включена, но вы хотите эмулировать проблему по безопасности, то возможно вам надо эмулировать противоположную установку с помощью PHP. Всегда лучше сначала спросить, если можно каким-либо образом изменить опцию в конфигурации PHP, но если это невозможно, то вы можете воспользоваться следующими совместимыми кусками кода.

Пример #1 Эмулирование Register Globals

Следующее эмулирует register_globals установленную в On. Если вы меняли директиву variables_order, измените соответственно и $superglobals.

<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

Следующее эмулирует register_globals установленную в Off. Помните, что этот код должен вызываться в самом начале вашего скрипта, или после вызова session_start(), если вы используете сессии.

<?php
// Emulate register_globals off
function unregister_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Might want to change this perhaps to a nicer error
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die('GLOBALS overwrite attempt detected');
    }

    // Variables that shouldn't be unset
    $noUnset = array('GLOBALS',  '_GET',
                     '_POST',    '_COOKIE',
                     '_REQUEST', '_SERVER',
                     '_ENV',     '_FILES');

    $input = array_merge($_GET,    $_POST,
                         $_COOKIE, $_SERVER,
                         $_ENV,    $_FILES,
                         isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($input as $k => $v) {
        if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
            unset($GLOBALS[$k]);
        }
    }
}

unregister_GLOBALS();

?>

Переход из PHP 4 в PHP 5
Appendices
ЧАВО


Appendices

  • История PHP и смежных проектов
    • История PHP
    • История смежных с PHP проектов
    • Книги о PHP
    • Публикации, посвященные PHP
  • Переход с PHP 5.3.x на PHP 5.4.x
    • Что изменилось в PHP 5.4.x
    • Обратно несовместимые изменения
    • Новые возможности
    • Изменения в поддержке под Windows
    • Изменения в модулях SAPI
    • Устаревшие функции и возможности в PHP 5.4.x
    • Новые параметры
    • Новые функции
    • Новые обертки потоков
    • Новые фильтры потоков
    • Новые константы классов
    • Новые методы
    • Новые расширения
    • Удаленные расширения
    • Другие изменения в расширениях
    • Новые классы
    • Новые глобальные константы
    • Изменения в обработке INI-файлов
    • Другие изменения
  • Переход от PHP 5.2.x к PHP 5.3.x
    • Что нового в PHP 5.3.x ?
    • Обратно несовместимые изменения
    • Новые возможности
    • Изменения в поддержке Windows
    • Изменения в модулях SAPI
    • Устаревшие функции и возможности в PHP 5.3.x
    • Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x
    • Новые параметры
    • Новые функции
    • Новые обертки потоков
    • Новые фильтры потоков
    • Новые константы классов
    • Новые методы
    • Новые расширения
    • Удаленные расширения
    • Другие изменения в расширениях
    • Новые классы
    • Новые глобальные константы
    • Изменение в работе с INI-файлами
    • Другие изменения
  • Переход с PHP 5.1.x на PHP 5.2.x
    • Изменения в PHP 5.2.x
    • Изменения, нарушающие обратную совместимость
    • Новые сообщения об ошибках
    • Изменения в поддержке datetime в PHP
    • Новые параметры
    • Новые функции
    • Новые методы
    • Удалённые расширения
    • Новые расширения
    • Новые классы
    • Новые глобальные константы
    • Новые константы классов
    • Новые конфигурационные параметры INI
    • Сообщения об ошибках
    • Другие улучшения
  • Migrating from PHP 5.0.x to PHP 5.1.x
    • Key PHP 5.1.x features
    • Changes in reference handling
    • Reading []
    • Integer values in function parameters
    • Class and object changes
    • Extensions
    • Date/time support
    • Changes in database support
    • Checking for E_STRICT
  • Миграция с PHP 4 на PHP 5
    • Что изменилось в PHP 5.0.x
    • Изменения, повлекшие за собой обратную несовместимость
    • CLI и CGI
    • Миграция конфигурационных файлов
    • Новые функции
    • Новые директивы
    • Базы данных
    • Новая Объектная Модель
    • Сообщения об ошибках
  • Classes and Objects (PHP 4)
    • class
    • extends
    • Constructors
    • Scope Resolution Operator (::)
    • parent
    • Serializing objects - objects in sessions
    • The magic functions __sleep and __wakeup
    • References inside the constructor
    • Comparing objects
  • Отладка в PHP
    • Об отладке в PHP
  • Configure options
    • List of core configure options
  • Директивы php.ini
    • Список директив php.ini
    • Список разделов php.ini
    • Описание встроенных директив php.ini
  • Список/классификация расширений
    • В алфавитном порядке
    • По составу
    • По состоянию
  • Список псевдонимов функций
  • Список зарезервированных слов
    • Список ключевых слов
    • Предопределенные классы
    • Предопределенные константы
  • List of Resource Types
  • Список доступных фильтров
    • Строковые фильтры
    • Преобразовывающие фильтры
    • Компрессионные фильтры
    • Шифрующие фильтры
  • Список поддерживаемых транспортных протоколов
    • Интернет-сокеты: TCP, UDP, SSL, and TLS
    • Unix-сокеты: UNIX и UDG
  • Таблица сравнения типов в PHP
  • Список меток (tokens) парсера
  • Руководство по именованию
    • Глобальное пространство имён
    • Правила
    • Советы
  • Об этом руководстве
    • Форматы
    • О заметках пользователей
    • Как читать определения функции (прототип)
    • Версии PHP, документированные в этом руководстве
    • Как узнать больше о PHP
    • Как помочь в написании документации
    • Как создаются форматы документации
    • Переводы
  • Creative Commons Attribution 3.0
  • Список функций
Разные вопросы
История PHP и смежных проектов
Руководство по PHP


История PHP и смежных проектов

Содержание

  • История PHP
  • История смежных с PHP проектов
  • Книги о PHP
  • Публикации, посвященные PHP

PHP прошёл длинный путь со дня своего рождения в середине 1990-х. От скромного появления до становления одним из самых популярных языков веб-программирования - эволюция PHP словно IT сказка. Эта небольшая статья для тех из вас, кому интересно как развивался PHP. Если вы хотите прикоснуться к кусочку Интернет истории, то вы можете найти старые релизы PHP в » Музее PHP.

Appendices
История PHP
Appendices


История PHP

PHP Tools, FI, Construction Kit и PHP/FI

PHP, как всем известно, на самом деле преемник продукта под названием PHP/FI. Созданное в 1994 году Расмусом Лердорфом, самое первое воплощение PHP было простым набором CGI-скриптов, написанных на языке программирования Си. Изначально используя их для отслеживания посещений своего веб-резюме, он назвал этот набор скриптов "Personal Homepages Tools" ("Инструменты для персональных домашних страниц"), но более часто упоминалось название "PHP Tools". Со временем требовалось все больше улучшений функциональности, и Расмус переписал PHP Tools, создав более крупную и богатую реализацию. Эта новая реализация была способна взаимодействать с базами данных и многое другое, что создавало фреймворк, с помощью которого пользователи могли создавать простые динамические веб-приложения, такие как гостевые книги. В июне 1995 года Расмус » открыл исходный код PHP Tools общественности, что позволило разработчикам использовать его по своему усмотрению. Это также дало возможность пользователям исправлять ошибки в коде и улучшать его.

В сентябре того же года, Расмус расширил PHP и на короткое время убрал из название PHP. Теперь виде инструмента FI (сокращение от "Интерпретатор Форм"), новая реализация включала в себя некоторые основные функциональные возможности того PHP, которого мы знаем сегодня. Она имела Perl-подобные переменные, автоматическую интерпретацию форм и встраиваемый в HTML синтаксис. Синтаксис языка был похож на Perl, хотя и был гораздо более ограниченным, простым, и в некоторой степени противоречивым. Для того, чтобы вставлять код в HTML-файл, разработчикам пришлось использовать HTML комментарии. Хотя этот метод был не совсем хорошо принят, FI-попрежнему набирал популярность в качестве CGI-инструмента, но все-таки не в качестве языка. Однако, перемены начались в следующем месяце, когда в октябре 1995 года Расмус выпустил полностью переписанный код. С вернувшимся именем PHP, но уже сокращенным от "Personal Home Page Construction Kit", это был первый релиз, который мог похвастаться расширенным интерфейсом сценариев. Язык намеренно напоминал Си по структуре, что делал его легким для восприятия разработчиками, знакомыми с Си, Perl, и подобными языками. Будучи все еще ограниченными UNIX и POSIX-совместимыми системами, был изучен вопрос для реализации языка в Windows NT.

Код получил еще одно существенное преобразованиев апреле 1996 года. Объединив названия предыдущих версиий, Расмус представил PHP/FI. Реализации второго поколения начали по-настоящему развивать PHP из набора инструментов в самостоятельный язык программирования. PHP включал в себя встроенную поддержку для DBM, mSQL и Postgres95 баз данных, куки, поддержку определяемых пользователем функций, и многое другое. В июне PHP/FI была присвоена версия 2.0. Интересно, однако, что существовала только одна версия PHP 2.0. Когда она, наконец, преодолела статус бета-версии в ноябре 1997 года, парсер языка был уже полностью переписан.

Несмотря на короткую историю разработки, PHP/FI продолжал набирать популярность в молодом мире веб-разработки. В 1997 и 1998, PHP/FI стал культом для нескольких тысяч пользователей по всему миру. Исследования Netcraft в мае 1998 года показали, что почти 60 тысяч доменов передавали заголовки, содержащие "PHP". Это число равнялось примерно 1% от всех доменов в Интернете в то время. Несмотря на эти впечатляющие цифры, развитие PHP/FI было ограничено: не смотря на нескольких второстепенных участников, в целом он по-прежнему разработывался одним человеком.

Пример #1 Пример кода на PHP/FI

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Эй, у вас Нетскейп!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Извините, такой записи нет<p>
<!--endif exit-->
  Добро пожаловать, <!--$user-->!<p>
  На вашем счету осталось <!--$index:0--> "кредитов".<p>

<!--include /text/footer.html-->

PHP 3

PHP 3.0 был первой версией, напоминающей PHP, каким мы знаем его сегодня. Посчитав PHP/FI 2.0 все еще неэффективным и недостаточно функциональным для использования в коммерческих приложениях, разрабатываемых для их университетского проекта, Энди Гутманс и Зив Сураски из Тель-Авива начали еще раз заново переписывать парсер в 1997 году. Связавшись с Расмусом, они обсудили различные аспекты текущей реализации и их новой разработки PHP. Для улучшения движка и использования уже существующей базы пользователей PHP/FI, Энди, Расмус и Зив решили сотрудничать в развитии нового, независимого языка программирования. Этот совершенно новый язык был выпущен под новым именем, без упоминания о персональном использовании, как в PHP/FI 2.0. Он был назван просто "PHP" - аббревиатура, означающая рекурсивный акроним - PHP: Hypertext Preprocessor.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Кроме обеспечения пользователей надежной инфраструктурой из множества различных баз данных, протоколов и API, расширяемость PHP 3.0 привлекла к нему множество сторонних разработчиков, желающих добавить к языку свои расширения. Возможно, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась поддержка ООП синтаксиса и намного более мощного и последовательного синтаксиса самого языка.

В июне 1998 года, со множеством новых разработчиков со всего мира присоединившихся к проекту, PHP 3.0 был представлен новой командой разработчиков, как официальный преемник PHP/FI. Активное развитие PHP/FI 2.0, фактически прекратившееся в ноябре прошлого года, теперь официально закончилось. Примерно через девять месяцев открытого публичного тестирования, при объявлении официального выпуска PHP 3.0, он уже было установлен на более чем 70000 доменах по всему миру, и уже не ограничивается POSIX-совместимыми операционными системами. Относительно небольшая доля доменов с установленным PHP была размещена на серверах под управлением Windows 95, 98 и NT, а также Macintosh. На пике своего развития, PHP 3.0 был установлен приблизительно на 10% веб-серверов в Интернете.

PHP 4

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности кодовой базы PHP. PHP 3.0 дал возможность подобным приложениям успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный 'Zend Engine' (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника. Кроме значительного улучшения производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка намного большего числа веб-серверов, поддержка HTTP сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

PHP 5

После долгой разработки и нескольких пре-релизов в июле 2004 был выпущен PHP 5. В основном он управляется ядром Zend Engine 2.0 с новой объектной моделью и множеством различных других нововведений.

Команда разработчиков PHP включает в себя десятки разработчиков, а также десятки других организаций, работающих над связанными с PHP и его поддержкой проектами, такими как PEAR, PECL и документацией, а также базовую инфраструктуру сети более чем из ста серверов на шести из семи континентах мира. Основываясть на статистике прошлых лет, можно с уверенностью предположить, что PHP теперь установлен на десятки или даже, возможно, сотни миллионов доменов по всему миру.

История PHP и смежных проектов
История смежных с PHP проектов
История PHP и смежных проектов


История смежных с PHP проектов

PEAR

» PEAR (PHP Extension and Application Repository - Репозиторий Приложений и Расширений PHP. Изначально, PHP Extension and Add-on Repository - Репозиторий Дополнений и Расширений PHP) - это PHP-версия базовых классов. В будущем возможен его рост и становление ключевым способом публикации расширений PHP среди разработчиков.

PEAR зародился в ходе дискуссий на встрече разработчиков PHP (PHP Developers' Meeting - PDM), проходившей в январе 2000 года в Тель-Авиве. Автором PEAR является Стиг С. Баккен (Stig S. Bakken), который посвятил разработку своей первой дочери, Мэлин Баккен (Malin Bakken).

С начала 2000 года PEAR вырос до огромного проекта с большим количеством разработчиков, работающих над реализацией общего и повторно используемого функционала на благо для всего сообщества PHP. В настоящее время PEAR включает в себя широкий спектр классов для работы с базами данных, кэширования контента, математических вычислений, электронной коммерции и многого другого.

Дополнительная информация о PEAR может быть найдена в » документации.

Инициатива Гарантии Качества PHP

Группа » Инициативы Гарантии Качества PHP была основана весной 2000 в ответ на критику недостаточного бета-тестирования PHP для производственных окружений. Сейчас это группа состоит из людей, прекрасно понимающих основу кода PHP. Эти разработчики тратят множество времени на обнаружение и устранение ошибок в PHP. Кроме того, много других членов команды тестируют эти исправления и сообщают о результатах их работы на различных платформах.

PHP-GTK

» PHP-GTK является расширением PHP для написания GUI-приложений, работающих на стороне клиента. Андрей Змиевски (Andrei Zmievski) вспоминает процесс планирования и разработки PHP-GTK:

Я всегда интересовался GUI-программированием, и я нахожу Gtk+ очень приятным средством разработки, исключая то, что работать с ним на C немного утомительно. После просмотра PyGtk и GTK-Perl, я решил попробовать написать интерфейс PHP для работы с Gtk+, пусть с минимальными возможностями. Начиная с августа 2000 года, у меня появилось немного больше свободного времени и я начал эксперименты. В разработке я основывался на PyGTK, обладающим большим количеством возможностей и приятным объектно-ориентированным интерфейсом. Джеймс Хэнстридж (James Henstridge), автор PyGtk, давал очень полезные советы в течение первых этапов разработки.

Написание вручную интерфейсов ко всем функциям Gtk+ даже не рассматривалось. Я остановился на идее генератора кода, похожего на аналогичный генератор PyGtk. Генератор читает .defs файлы, содержащие информацию о классах, константах и методах Gtk+ и генерирует C-код, являющийся интерфейсом в PHP. То, что не могло быть сгенерировано автоматически создается вручную в .overrides файлах.

Работа над генератором кода и самой инфраструктурой шла достаточно долго, ввиду того, что я не имел достаточно свободного времени для работы. После того, как я показал PHP-GTK Фрэнку Кромману (Frank Kromman), его это заинтересовало и он начал помогать мне с генератором кода и версией для Win32. Когда мы написали и запустили первую программу Hello World, это было очень захватывающе. Потребовалось несколько месяцев для придания PHP-GTK презентабельного вида и первая версия вышла 1 марта 2001 года. История быстро попала в SlashDot.

Чувствуя, что PHP-GTK может расти, я создал отдельные почтовые конференции, CVS-репозиторий, а также сайт gtk.php.net с помощью Колина Виеброка (Colin Viebrock). Требовалась документация и здесь на помощь пришел Джеймс Мур (James Moore).

Со времен создания PHP-GTK получил широкую известность. У нас есть своя группа документирования, люди начинают писать расширения для PHP-GTK и все больше и больше прекрасных приложений с его помощью.

История PHP
Книги о PHP
История PHP и смежных проектов


Книги о PHP

С ростом PHP, его начали узнавать по всему миру, как популярный язык программирования. Одним из наиболее интересных способов суждения об этом может послужить обзор книг о PHP.

Насколько нам известно, первой книгой, посвященной PHP, была чешская книга, выпущенная в апреле 1999 года под названием 'PHP - tvorba interaktivních internetových aplikací' (PHP - Создание интерактивных интернет-приложений). Автором книги является Jirka Kosek. В следующем месяце следом за ней выходит немецкая книга Эгона Шмидта (Egon Schmid), Кристиана Картуса (Christian Cartus) и Ричарда Блюма (Richard Blum). Вскоре после этого была опубликована первая на английском языке книга, посвященная PHP, - 'Core PHP Programming' Леона Аткинсона (Leon Atkinson). Все эти книги описывали PHP 3.0.

Эти книги были первыми в своем роде, и вскоре было выпущено большое количество книг различных авторов и издательств. Существует более 400 книг на английском, более 100 на немецком, и больше 50 на французском и испанском языках! Кроме того, можно найти книги о PHP на многих других языках, включая корейский, японский и иврит.

Очевидно, что такое большое количество книг, написанных разными авторами и опубликованных многими издательствами на столь многих языках является весомым подтверждением мирового успеха PHP.

История смежных с PHP проектов
Публикации, посвященные PHP
История PHP и смежных проектов


Публикации, посвященные PHP

По нашей информации, первая статья о PHP была опубликована в чешском варианте 'Computerworld' весной 1998 и освещала PHP 3.0. Как и в случае с книгами, эта была первая в серии статья из множества посвященных PHP и опубликованных в различных известных журналах.

Статьи о PHP публиковались в 'Dr. Dobbs', 'Linux Enterprise', 'Linux Magazine' и многих других изданиях. А статьи о переносе основанных на ASP приложений на PHP под Windows появились даже в принадлежащей самому Microsoft MSDN!

Книги о PHP
Переход с PHP 5.3.x на PHP 5.4.x
История PHP и смежных проектов


Переход с PHP 5.3.x на PHP 5.4.x

Содержание

  • Что изменилось в PHP 5.4.x
  • Обратно несовместимые изменения
  • Новые возможности
  • Изменения в поддержке под Windows
  • Изменения в модулях SAPI
  • Устаревшие функции и возможности в PHP 5.4.x
  • Новые параметры
  • Новые функции
  • Новые обертки потоков
  • Новые фильтры потоков
  • Новые константы классов
  • Новые методы
  • Новые расширения
  • Удаленные расширения
  • Другие изменения в расширениях
  • Новые классы
  • Новые глобальные константы
  • Изменения в обработке INI-файлов
  • Другие изменения

Смотрите также руководство по миграции для версий PHP 5.0.x, 5.1.x, 5.2.x and 5.3.x.

Публикации, посвященные PHP
Что изменилось в PHP 5.4.x
Appendices


Что изменилось в PHP 5.4.x

Внимание

Этот список является неполным и претерпевает постоянные изменения, пока не будет выпущен PHP 5.4.

Для систем, которые обновились с более старой версии PHP, соответствующую документацию можно получить по адресам:

  • Замечания по обновлению для PHP 5.3.x.
  • Замечания по обновлению для PHP 5.2.x.
  • Замечания по обновлению для PHP 5.1.x.
  • Переход от PHP 4 к PHP 5.
Переход с PHP 5.3.x на PHP 5.4.x
Обратно несовместимые изменения
Переход с PHP 5.3.x на PHP 5.4.x


Обратно несовместимые изменения

Хотя большая часть существующего кода PHP 5 должна работать без изменений, пожалуйста, примите к сведению следующие обратно несовместимые изменения:

Следующие ключевые слова теперь являются зарезервированными и не могут использоваться в качестве названия функции, класса и прочих имен.

  • trait
Что изменилось в PHP 5.4.x
Новые возможности
Переход с PHP 5.3.x на PHP 5.4.x


Новые возможности

PHP 5.4.0 предлагает широкий спектр новых возможностей:

  • Добавлена поддержка трейтов.
Обратно несовместимые изменения
Изменения в поддержке под Windows
Переход с PHP 5.3.x на PHP 5.4.x


Изменения в поддержке под Windows

Изменения к Windows-релизам:

Была добавлена поддержка Windows для следующих функций:

Другие изменения:

Новые возможности
Изменения в модулях SAPI
Переход с PHP 5.3.x на PHP 5.4.x


Изменения в модулях SAPI

  • Доступен новый модуль SAPI, называемый cli-server.
Изменения в поддержке под Windows
Устаревшие функции и возможности в PHP 5.4.x
Переход с PHP 5.3.x на PHP 5.4.x


Устаревшие функции и возможности в PHP 5.4.x

Следующий список - это перечень устаревших INI-директив. Использование любой из этих директив будет приводить к генерации ошибки E_DEPRECATED при запуске.

Устаревшие функции:

Устаревшие возможности:

Изменения в модулях SAPI
Новые параметры
Переход с PHP 5.3.x на PHP 5.4.x


Новые параметры

К некоторым функциям были добавлены новые необязательные параметры в PHP 5.4:

Ядро PHP:

Новые параметры методов в PHP 5.4.0:

Ядро PHP:

Устаревшие функции и возможности в PHP 5.4.x
Новые функции
Переход с PHP 5.3.x на PHP 5.4.x


Новые функции

В PHP 5.4 введены несколько новых функций:

Ядро PHP:

Следующие функции теперь полностью реализованы в PHP на всех ОС, на которых может работать PHP:

Новые параметры
Новые обертки потоков
Переход с PHP 5.3.x на PHP 5.4.x


Новые обертки потоков

Следующие обертки потоков были введены в версии 5.4.0:

Новые функции
Новые фильтры потоков
Переход с PHP 5.3.x на PHP 5.4.x


Новые фильтры потоков

Следующие фильтры потоков были введены в версии 5.4.0:

Новые обертки потоков
Новые константы классов
Переход с PHP 5.3.x на PHP 5.4.x


Новые константы классов

Некоторые новые константы классов были добавлены в версии 5.4.0:

Новые фильтры потоков
Новые методы
Переход с PHP 5.3.x на PHP 5.4.x


Новые методы

Несколько новых методов были введены в версии 5.4.0:

Новые константы классов
Новые расширения
Переход с PHP 5.3.x на PHP 5.4.x


Новые расширения

Следующие расширения были добавлены начиная с PHP 5.4.0:

Новые методы
Удаленные расширения
Переход с PHP 5.3.x на PHP 5.4.x


Удаленные расширения

Следующие расширения перемещены в репозиторий PECL и более не будут поставляться с дистрибутивом PHP. Версии этих расширений в виде пакетов PECL будут создаваться в соответствии с потребностями пользователей.

Новые расширения
Другие изменения в расширениях
Переход с PHP 5.3.x на PHP 5.4.x


Другие изменения в расширениях

Следующие расширения теперь не могут быть отключены при конфигурировании сборки:

Изменения в поведении расширений, и новые возможности:

Удаленные расширения
Новые классы
Переход с PHP 5.3.x на PHP 5.4.x


Новые классы

Следующие классы были введены в PHP 5.4.0:

Другие изменения в расширениях
Новые глобальные константы
Переход с PHP 5.3.x на PHP 5.4.x


Новые глобальные константы

Ядро PHP:

Новые классы
Изменения в обработке INI-файлов
Переход с PHP 5.3.x на PHP 5.4.x


Изменения в обработке INI-файлов

У следующих INI-директив теперь новые значения по умолчанию:

Новые глобальные константы
Другие изменения
Переход с PHP 5.3.x на PHP 5.4.x


Другие изменения

  • E_ALL теперь включает E_STRICT.
Изменения в обработке INI-файлов
Переход от PHP 5.2.x к PHP 5.3.x
Переход с PHP 5.3.x на PHP 5.4.x


Переход от PHP 5.2.x к PHP 5.3.x

Содержание

  • Что нового в PHP 5.3.x ?
  • Обратно несовместимые изменения
  • Новые возможности
  • Изменения в поддержке Windows
  • Изменения в модулях SAPI
  • Устаревшие функции и возможности в PHP 5.3.x
  • Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x
  • Новые параметры
  • Новые функции
  • Новые обертки потоков
  • Новые фильтры потоков
  • Новые константы классов
  • Новые методы
  • Новые расширения
  • Удаленные расширения
  • Другие изменения в расширениях
  • Новые классы
  • Новые глобальные константы
  • Изменение в работе с INI-файлами
  • Другие изменения

Смотрите также руководство по миграции для версий PHP 5.0.x, 5.1.x и 5.2.x.

Другие изменения
Что нового в PHP 5.3.x ?
Appendices


Что нового в PHP 5.3.x ?

Большинство изменений в PHP 5.3.x никак не повлияет на существующий код. Есть несколько несовместимостей и новых возможностей, которые должны быть учтены, и код должен быть протестирован перед тем как переключиться на новую версию PHP на рабочих серверах.

Для систем, которые обновились с более старой версии PHP, соответствующую документацию можно получить по адресам:

  • Замечания по обновлению для PHP 5.2.x.
  • Замечания по обновлению для PHP 5.1.x.
  • Переход от PHP 4 к PHP 5.
Переход от PHP 5.2.x к PHP 5.3.x
Обратно несовместимые изменения
Переход от PHP 5.2.x к PHP 5.3.x


Обратно несовместимые изменения

Хотя большая часть существующего кода PHP 5 должна работать без изменений, пожалуйста, примите к сведению следующие обратно несовместимые изменения:

  • Новый внутренний API разбора параметров был применен во всех расширениях, идущих в комплекте с PHP 5.3.x. Этот API разбора параметров требует от функций возвращать NULL при передаче несовместимых параметров. Есть некоторые исключения из этого правила, например, функция get_class(), которая будет продолжать возвращать FALSE в случае ошибки.
  • clearstatcache() больше не очищает кеш функции realpath по умолчанию.
  • Функция realpath() стала полностью независима от платформы. Следствием этого является то, что относительные пути, такие как __FILE__ . "/../x" более не работают.
  • Семейство функций call_user_func() стало использовать $this даже если вызываемая функция -- это родительский класс.
  • Функции работы с массивами natsort(),
natcasesort(), usort(),
uasort(), uksort(),
array_flip(), и array_unique() больше
не принимают объекты в качестве аргументов. Для применения этих функций к
объекту необходимо сначала привести его к типу array.
  • Поведение функций при передаче параметров по значению, в которых параметры передаются по ссылке, было изменено. Там, где прежде функция принимала параметр по значению, сейчас генерируется фатальная ошибка. Любой прежний код, который передает константы или значения в качестве параметров функциям, которые ожидают ссылки, необходимо будет изменить, чтобы присвоить значение переменной перед вызовом функции.
  • Новая библиотека mysqlnd требует применения нового 41-го байтного формата пароля, который был введен в MySQL 4.1. Если вы продолжаете использовать 16-ти байтные пароли, это будет вынуждать функции mysql_connect() и подобные ей генерировать ошибку "mysqlnd cannot connect to MySQL 4.1+ using old authentication."
  • Новая библиотека mysqlnd не читает конфигурационные файлы mysql (my.cnf/my.ini), как это делает старая библиотека libmysql. Если ваш код использует настройки в конфигурационном файле, вы можете загрузить их явно с помощью функции mysqli_options(). Обратите внимание, что это означает, что константы PDO PDO::MYSQL_ATTR_READ_DEFAULT_FILE и PDO::MYSQL_ATTR_READ_DEFAULT_GROUP не определены, если MySQL не компилировался с поддержкой mysqlnd.
  • Завершиющий символ "/" быд удален из класса SplFileInfo и других связанных с ним классов каталогов.
  • Магический метод __toString не принимает более аргументы.
  • Магические методы __get, __set, __isset, __unset, и __call должны всегда быть публичными и не могут быть статическими. Сигнатуры методов теперь стали более строгими.
  • Магический метод __call теперь вызывается при доступе к приватным и защищенным методам.
  • func_get_arg(), func_get_args() и func_num_args() теперь не могут быть вызваны извне зоны видимости файла, который включается директивой include() или require() из функции в вызывающем файле.
  • Добавлен слой эмуляции расширения MHASH, чтобы служить оберткой вокруг расширения Hash. Однако не все алгоритмы покрыты, в их числе и алгоритм s2k хеширования. Это означает, что алгоритм s2k хеширования больше недоступен в пакете PHP 5.3.0.

Следующие ключевые слова теперь являются зарезервированными и не могут использоваться в качестве названия функции, класса и прочих имен.

  • goto
  • namespace
Что нового в PHP 5.3.x ?
Новые возможности
Переход от PHP 5.2.x к PHP 5.3.x


Новые возможности

PHP 5.3.0 предлагает широкий спектр новых возможностей:

  • Добавлена поддержка пространств имен.
  • Добавлена поддержка позднего статического связывания.
  • Добавлена поддержка меток перехода (ограниченный goto).
  • Support for native Closures (Lambda/Anonymous functions) has been added.
  • Появились два магических метода: __callStatic и __invoke.
  • Появилась поддержка синтаксиса Nowdoc, подобный Heredoc, но с одинарными кавычками.
  • Теперь возможно использовать Heredoc для инициализации статических переменных и свойств/констант классов.
  • Heredoc может теперь быть объявлен используя двойные кавычки, дополняющие синтаксис Nowdoc.
  • Константы теперь могут быть объявлены вне класса используя ключевое слово const.
  • У тернарного оператора есть теперь сокращенный вид: ?:.
  • Обертка (wrapper) HTTP-потока стала воспринивать коды статуса от 200 до 399 как успешные.
  • Динамический доступ к статическим методам стал возможен.
  • Исключения могу теперь быть вложенными.
  • Добавлен сборщик мусора для циклических ссылок и включен по умолчанию.
  • Функция mail() теперь поддерживает журналирование отправки письма (Примечание: это применимо только для писем, отправленных этой функцией.)
Обратно несовместимые изменения
Изменения в поддержке Windows
Переход от PHP 5.2.x к PHP 5.3.x


Изменения в поддержке Windows

Изменения к выпускам PHP для Windows:

  • Минимально необходимая версия Windows теперь Windows XP SP3. Windows 98, ME, 2000 and NT4 больше не поддерживаются.
  • Бинарные файлы для Windows теперь скомпилированы для i586 и более поздних платформ. Платформы i386 and i486 более не поддерживаются.
  • Теперь есть экспериментальная поддержка для x64 версий PHP под Windows.
  • Теперь присутствует поддержка компилятора Visual C++ 9 (VC9), используемого в Visual Studio 2008. Снапшоты и релизы будут также доступны дня VC9. Старые бинарные файлы для VC6 все еще поддерживаются и выпускаются в соответствии с VC9.
  • Библиотека PDO_OCI php_pdo_oci8.dll (для использования с клиентскими библиотеками для сервера Oracle версии 8) более не собирается. Вместо нее используйте php_pdo_oci.dll (без '8') с клиентскими библиотеками Oracle 10 или 11. Соединение с базами данных других версий все еще поддерживается.
  • For the OCI8 extension, a new library php_oci8_11g.dll is available in addition to php_oci8.dll. Only one can be enabled at any time. Use php_oci8.dll with Oracle 10.2 client libraries. Use php_oci8_11g.dll with Oracle 11 client libraries. Connection to other database versions is still supported.

Поддержка Windows была добавлена для следующих функций:

  • checkdnsrr()
  • dns_get_record()
  • fnmatch()
  • getmxrr()
  • getopt()
  • imagecolorclosesthwb()
  • inet_ntop()
  • inet_pton()
  • link()
  • linkinfo()
  • mcrypt_create_iv()
  • readlink()
  • socket_create_pair() - Эта функция была доступна и прежде на платформе Windows, но была отключена начиная с PHP 4.3.0 по причине ошибки в ней.
  • stream_socket_pair()
  • symlink()
  • time_nanosleep()
  • time_sleep_until()

Другие изменения:

  • Улучшена переносимость функций stat(), touch(), filemtime(), filesize(), и других функций, связанных с ними (100% переносимость для имеющейся информации).
  • Теперь возможно создание жестких ссылок на Windows используя функцию link(), и символических ссылок, используя функцию symlink(). Жесткие ссылки доступны начиная с Windows 2000, символические - начиная с Windows Vista.
  • The Windows version of PHP now exposes a set of constants prefixed PHP_WINDOWS_*. A list of these constants and their usage can be found at Предопределенные константы.
Внимание

Поддержка модуля ISAPI была прекращена. Используйте улучшенный модуль FastCGI SAPI вместо него.

Замечание: Стал доступен новый отдельный сайт для PHP под Windows, включающий раздел загрузок, релиз-кандидаты и снапшоты в различных вариантах (thread-safe/not-thread-safe, VC6/VC9, x86/x64). URL этого сайта следующий » http://windows.php.net/.

Новые возможности
Изменения в модулях SAPI
Переход от PHP 5.2.x к PHP 5.3.x


Изменения в модулях SAPI

  • Доступен новый модуль SAPI, называемый litespeed.
  • FastCGI поддержка в CGI SAPI теперь всегда включена и не может быть отключена. Для более детальной информации см. sapi/cgi/CHANGES.
  • Новая CGI SAPI опция -T может быть использована для измерения времени повторяющегося исполнения скрипта.
  • В CGI/FastCGI теперь есть поддержка для .htaccess-стиля файлов php.ini, определяемых пользователем.
  • Функция dl() теперь отключена по умолчанию, и доступна только для CLI, CGI, и встраиваемых SAPI.
Изменения в поддержке Windows
Устаревшие функции и возможности в PHP 5.3.x
Переход от PHP 5.2.x к PHP 5.3.x


Устаревшие функции и возможности в PHP 5.3.x

PHP 5.3.0 вводит два новых уровня ошибок: E_DEPRECATED и E_USER_DEPRECATED. Уровень ошибки E_DEPRECATED используется, чтобы показать, что функция или возможность устарела. Ошибка E_USER_DEPRECATED предназначена для обозначения устаревших функций в пользовательском коде, подобно уровням E_USER_ERROR и E_USER_WARNING.

Следующий список - это перечень устаревших INI-директив. Использование любой из этих директив будет приводить к генерации ошибки E_DEPRECATED при запуске.

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Комментарии, начинающиеся с символа "#", теперь считаются устаревшими в INI-файлах.

Устаревшие функции:

  • call_user_method() (используйте call_user_func() вместо нее)
  • call_user_method_array() (используйте call_user_func_array() вместо нее)
  • define_syslog_variables()
  • dl()
  • ereg() (используйте preg_match() вместо нее)
  • ereg_replace() (используйте preg_replace() вместо нее)
  • eregi() (используйте preg_match() с модификатором 'i' вместо нее)
  • eregi_replace() (используйте preg_replace() с модификатором 'i' вместо нее)
  • set_magic_quotes_runtime() и ее синоним magic_quotes_runtime()
  • session_register() (используйте суперглобальный массив $_SESSION вместо нее)
  • session_unregister() (используйте суперглобальный массив $_SESSION вместо нее)
  • session_is_registered() (используйте суперглобальный массив $_SESSION вместо нее)
  • set_socket_blocking() (используйте stream_set_blocking() вместо нее)
  • split() (используйте preg_split() вместо нее)
  • spliti() (используйте preg_split() с модификатором 'i' вместо нее)
  • sql_regcase()
  • mysql_db_query() (используйте mysql_select_db() и mysql_query() вместо нее)
  • mysql_escape_string() (используйте mysql_real_escape_string() вместо нее)
  • Передача строки, задающей категорию функций, на которые будет влиять установка локали, сейчас считается устаревшим вариантом. Используйте вместо этого семейство констант LC_*
  • Параметр is_dst в функции mktime(). Используйте новые функции работы с временными зонами вместо него.

Устаревшие возможности:

  • Присвоение по ссылке возвращаемого значения оператором new является устаревшим.
  • Передача по ссылке во время исполнения считается устаревшим способом.
Изменения в модулях SAPI
Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x
Переход от PHP 5.2.x к PHP 5.3.x


Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x

Функция is_a() более не является устаревшей по причине своей популярности; она не будет больше генерировать ошибку E_STRICT.

Устаревшие функции и возможности в PHP 5.3.x
Новые параметры
Переход от PHP 5.2.x к PHP 5.3.x


Новые параметры

К некоторым функциям были добавлены новые необязательные параметры в PHP 5.3:

Ядро PHP:

  • clearstatcache() - Добавлен параметр clear_realpath_cache и filename.
  • copy() - Добавлен параметр контекста потока context.
  • fgetcsv() - Добавлен параметр escape.
  • ini_get_all() - Добавлен параметр details.
  • nl2br() - Добавлен параметр is_xhtml.
  • parse_ini_file() - Добавлен параметр scanner_mode.
  • round() - Добавлен параметр mode.
  • stream_context_create() - Добавлен параметр params.
  • strstr() и stristr() - Добавлен параметр before_needle.

json:

  • json_encode() - Добавлен параметр options.
  • json_decode() - Добавлен параметр depth.

Потоки:

  • stream_select(),
stream_set_blocking(),
stream_set_timeout(), и
stream_set_write_buffer() теперь работают с пользовательскими
обертками потоков.

sybase_ct:

  • sybase_connect() - Добавлен параметр new.

Новые параметры методов в PHP 5.3.0:

Ядро PHP:

  • Exception::__construct() - Добавлен параметр previous.
Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x
Новые функции
Переход от PHP 5.2.x к PHP 5.3.x


Новые функции

В PHP 5.3 введены несколько новых функций:

Ядро PHP:

  • array_replace() - Заменяет элементы переданных массивов на элементы одного массива.
  • array_replace_recursive() - Рекурсивно заменяет элементы переданных массивов на элементы одного массива.
  • class_alias() - Создает псевдоним для пользовательского класса.
  • forward_static_call() - Вызвать пользовательскую функцию из контекста метода.
  • forward_static_call_array() - Вызвать пользовательскую функцию из контекста метода с аргументами, содержащимися в массиве.
  • gc_collect_cycles() Принудительно включает коллектор существующих циклических ссылок.
  • gc_disable() - Деактивирует коллектор циклических ссылок.
  • gc_enable() - Активирует коллектор циклических ссылок.
  • gc_enabled() - Возвращает статус коллектора циклических ссылок.
  • get_called_class() - Возвращает имя класса, в котором был вызван статический метод.
  • gethostname() - Возвращает имя хоста для локального компьютера.
  • header_remove() - Удаляется HTTP-заголовок, ранее установленный функцией header().
  • lcfirst() - Переводит в нижний регистр первый символ строки.
  • parse_ini_string() - Разобрать строку конфигурации.
  • quoted_printable_encode() - Конвертация 8-ми битной строки в QP-кодировку (quoted-printable).
  • str_getcsv() - Разбор строки CSV в массив.
  • stream_context_set_default() - Установить контекст потока по умолчанию.
  • stream_supports_lock() - Возвращает TRUE, если поток поддерживает блокирование.
  • stream_context_get_params() - Получает параметры контекста потока.
  • streamWrapper::stream_cast() - Получить базовый ресурс потока.
  • streamWrapper::stream_set_option() - Изменить опции потока.

Date/Time:

  • date_add() - Добавить заданное количество дней, месяцев, лет, минут и секунд к объекту DateTime.
  • date_create_from_format() - возвращает объект DateTime, приведенный в соответствие с заданным форматом.
  • date_diff() - Возвращает разницу между двумя объектами DateTime.
  • date_get_last_errors() - Возвращает предупреждения и ошибки, которые произошли при последней операции с датой или временем.
  • date_parse_from_format() - Получить информацию о заданной дате.
  • date_sub() - Вычесть заданное количество дней, месяцев, лет, минут и секунд от объекта DateTime.
  • timezone_version_get() - Возвращает версию базы данных timezonedb.

GMP:

  • gmp_testbit() - Проверяет установлен ли бит.

Hash:

  • hash_copy() - Копирование контекста хеширования.

IMAP:

  • imap_gc() - Очищает кэш IMAP.
  • imap_utf8_to_mutf7() - Кодирует строку UTF-8 в модифицированный UTF-7.
  • imap_mutf7_to_utf8() - Декодирует строку из модифицированного UTF-7 в UTF-8.

JSON:

  • json_last_error() - Возвращает последнюю произошедшую ошибку JSON.

MySQL Improved:

  • mysqli_fetch_all() - Извлекает все строки результата в виде ассоциативного массива с ключами в виде чисел или в совмещенном виде.
  • mysqli_get_connection_stats() - Возвращает статистику о клиентском соединении.
  • mysqli_poll() - Опрос соединений.
  • mysqli_reap_async_query() - Получить результат асинхронного запроса.

OpenSSL:

  • openssl_random_pseudo_bytes() - Возвращает строку заданной длины, заполненную псевдослучайной последовательностью байт.

PCNTL:

  • pcntl_signal_dispatch() - Вызывает обработчик сигналов для отложенных сигналов.
  • pcntl_sigprocmask() - Устанавливает и получает заблокированные сигналы.
  • pcntl_sigtimedwait() - Ожидание сигнала с таймаутом.
  • pcntl_sigwaitinfo() - Ожидает сигналы.

PCRE:

  • preg_filter() - Выполнить поиск и замену по регулярному выражению, возвращая только результаты совпавшего шаблона.

Семафоры:

  • msg_queue_exists() - Проверка на существование очереди сообщений.
  • shm_has_var() - Проверяет, существует ли конкретный ключ внутри сегмента разделяемой памяти.

Следующие функции теперь полностью реализованы в PHP на всех ОС, на которых может работать PHP:

  • acosh()
  • asinh()
  • atanh()
  • expm1()
  • log1p()
Новые параметры
Новые обертки потоков
Переход от PHP 5.2.x к PHP 5.3.x


Новые обертки потоков

Следующие обертки потоков были введены в версии 5.3.0:

  • glob://
  • phar://
Новые функции
Новые фильтры потоков
Переход от PHP 5.2.x к PHP 5.3.x


Новые фильтры потоков

Следующие фильтры потоков были введены в версии 5.3.0:

  • dechunk (изменяет кодировку HTTP chunked на противоположную, т.е. исходную)
  • Фильтр bz2.decompress теперь поддерживает конкатенацию.
Новые обертки потоков
Новые константы классов
Переход от PHP 5.2.x к PHP 5.3.x


Новые константы классов

Некоторые новые константы классов были добавлены в версии 5.3.0:

PDO_FIREBIRD:

  • PDO::FB_ATTR_DATE_FORMAT - Устанавливает формат даты.
  • PDO::FB_ATTR_TIME_FORMAT - Устанавливает формат времени.
  • PDO::FB_ATTR_TIMESTAMP_FORMAT - Устанавливает формат временной метки.
Новые фильтры потоков
Новые методы
Переход от PHP 5.2.x к PHP 5.3.x


Новые методы

Несколько новых методов были введены в версии 5.3.0:

Date/Time:

  • DateTime::add() - Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime.
  • DateTime::createFromFormat() - возвращает объект DateTime, приведенный в соответствие с заданным форматом.
  • DateTime::diff() - Возвращает разницу между двумя объектами DateTime.
  • DateTime::getLastErrors() - Возвращает предупреждения и ошибки, которые произошли при последней операции с датой или с временем.
  • DateTime::sub() - Вычесть заданное количество дней, месяцев, лет, минут и секунд от объекта DateTime.

Класс Exception:

  • Exception::getPrevious() - Получает предыдущее исключение.

DOM:

  • DOMNode::getLineNo() - Получить номер строки из разобранного узла.

PDO_FIREBIRD:

  • PDO::setAttribute() - Установить атрибут.

Reflection:

  • ReflectionClass::getNamespaceName() - Возвращает пространство имен, в котором определен данный класс.
  • ReflectionClass::getShortName() - Возвращает короткое имя данного класса (без части, в которой находится пространство имен).
  • ReflectionClass::inNamespace() - Определяет объявлен ли этот класс в пространстве имен.
  • ReflectionFunction::getNamespaceName() - Возвращает название пространства имен, в котором определена данная функция.
  • ReflectionFunction::getShortName() - Возвращает короткое имя функции (без пространства имен).
  • ReflectionFunction::inNamespace() - Определяет определена ли эта функция в пространстве имен.
  • ReflectionProperty::setAccessible() - Устанавливает могут ли непубличные свойства быть запрошены.

SPL:

  • SplObjectStorage::addAll() - Добавить все элементы к другому объекту SplObjectStorage.
  • SplObjectStorage::removeAll() - Убрать все элементы из другого объекта SplObjectStorage.

XSL:

  • XSLTProcessor::setProfiling() - Устанавливает файл для вывода профиля.
Новые константы классов
Новые расширения
Переход от PHP 5.2.x к PHP 5.3.x


Новые расширения

Следующие расширения были добавлены начиная с PHP 5.3.0:

  • Enchant - Слой абстракции над различными библиотеками правописания
  • Fileinfo - Усовершенствованная и более серьезная замена (с полной бинарной совместимостью) расширению Mimetype, которое было удалено.
  • INTL - Расширение для интернационализации. INTL - это обертка вокруг библиотеки » ICU.
  • Phar - Реализация файлов-архивов PHP.
  • SQLite3 - Поддержка БД SQLite версии 3.

Mysqlnd - это новая основная библиотека, поставляемая с PHP. Это адаптированная для PHP замена для libmysql. Mysqlnd будет использована для сборки расширения mysql, mysqli и PDO_MySQL, если libmysql не будет найдена в системе. Она также может быть использована вместо libmysql даже когда libmysql присутствует. Mysqlnd рекомендуется для всех инсталляций PHP из соображений производительности.

Новые методы
Удаленные расширения
Переход от PHP 5.2.x к PHP 5.3.x


Удаленные расширения

Следующие расширения перемещены в репозиторий PECL и более не будут поставляться с дистрибутивом PHP. Версии этих расширений в виде пакетов PECL будут создаваться в соответствии с потребностями пользователей.

  • dbase - Не поддерживается более
  • fbsql - Не поддерживается более
  • fdf - Поддерживается
  • ming - Поддерживается
  • msql - Не поддерживается более
  • ncurses - Поддерживается
  • sybase - Убрано из дистрибутива; используйте расширение sybase_ct вместо него
  • mhash - Убрано из дистрибутива; используйте расширение hash вместо него. hash обладает полной совместимостью с mhash; все существующие приложения, использующие старые функции будут продолжать работать.
Новые расширения
Другие изменения в расширениях
Переход от PHP 5.2.x к PHP 5.3.x


Другие изменения в расширениях

Следующие расширения не могут быть отключены в момент конфигурирования сборки:

  • PCRE
  • Reflection
  • SPL

Изменения в поведении расширений и новые возможности:

  • Date and Time - Переменная окружения TZ более не используется для того, чтобы определить временную зону
  • cURL - cURL теперь поддерживает SSH
  • Network - dns_check_record() теперь возвращает дополнительные записи типа TXT.
  • Hash - Хэш-алгоритмы SHA-224 и salsa теперь поддерживаются.
  • mbstring - Теперь есть поддержка для кодировки CP850.
  • OCI8 - Вызов функции oci_close() при постоянном соединении, или выход за зону видимости переменной, ссылающаяся на постоянное соединение, теперь приводит к откату любой незавершенной транзакции. Для того чтобы избежать непредсказуемого поведения, явно дается команда подтверждения или отката транзакции при необходимости. Предыдущее поведение может быть включено с помощью INI-директивы oci8.old_oci_close_semantics. Теперь поддерживается пул постоянных соединений к БД (DRCP) и быстрое оповещение приложения (FAN). Поддерживается внешняя аутентификация Oracle (за исключением Windows). Функция oci_bind_by_name() теперь поддерживает тип данных SQLT_AFC (также известный как CHAR).
  • OpenSSL - Теперь поддерживаются функции свертки и шифрования OpenSSL. Также стало возможно получение доступа к внутренним значениям DSA, RSA и DH ключей.
  • Сессии - Сессионные файлы теперь более не хранятся в "/tmp", когда применены ограничения open_basedir, за исключением случая, когда директория "/tmp" явно добавлена к списку разрешенных путей.
  • SOAP Теперь поддерживает установленные пользователем HTTP-заголовки.
  • MySQLi Теперь поддерживает постоянные соединения, путем добавление к хосту "p:".
  • Обработка изображений и GD Индекс "JPG Support", возвращаемый функцией gd_info() был переименован в "JPEG Support".
Удаленные расширения
Новые классы
Переход от PHP 5.2.x к PHP 5.3.x


Новые классы

Следующие новые классы были введены в PHP 5.3.0:

Date/Time:

  • DateInterval
  • DatePeriod

Phar:

  • Phar
  • PharData
  • PharException
  • PharFileInfo

SPL:

  • FilesystemIterator
  • GlobIterator
  • MultipleIterator
  • RecursiveTreeIterator
  • SplDoublyLinkedList
  • SplFixedArray
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplQueue
  • SplStack
Другие изменения в расширениях
Новые глобальные константы
Переход от PHP 5.2.x к PHP 5.3.x


Новые глобальные константы

Ядро PHP:

  • __DIR__
  • __NAMESPACE__
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • INI_SCANNER_NORMAL
  • INI_SCANNER_RAW
  • PHP_MAXPATHLEN
  • PHP_WINDOWS_NT_DOMAIN_CONTROLLER
  • PHP_WINDOWS_NT_SERVER
  • PHP_WINDOWS_NT_WORKSTATION
  • PHP_WINDOWS_VERSION_BUILD
  • PHP_WINDOWS_VERSION_MAJOR
  • PHP_WINDOWS_VERSION_MINOR
  • PHP_WINDOWS_VERSION_PLATFORM
  • PHP_WINDOWS_VERSION_PRODUCTTYPE
  • PHP_WINDOWS_VERSION_SP_MAJOR
  • PHP_WINDOWS_VERSION_SP_MINOR
  • PHP_WINDOWS_VERSION_SUITEMASK

cURL:

  • CURLOPT_PROGRESSFUNCTION

GD:

  • IMG_FILTER_PIXELATE

JSON:

  • JSON_ERROR_CTRL_CHAR
  • JSON_ERROR_DEPTH
  • JSON_ERROR_NONE
  • JSON_ERROR_STATE_MISMATCH
  • JSON_ERROR_SYNTAX
  • JSON_FORCE_OBJECT
  • JSON_HEX_TAG
  • JSON_HEX_AMP
  • JSON_HEX_APOS
  • JSON_HEX_QUOT

LDAP:

  • LDAP_OPT_NETWORK_TIMEOUT

libxml:

  • LIBXML_LOADED_VERSION

PCRE:

  • PREG_BAD_UTF8_OFFSET_ERROR

PCNTL:

  • BUS_ADRALN
  • BUS_ADRERR
  • BUS_OBJERR
  • CLD_CONTIUNED
  • CLD_DUMPED
  • CLD_EXITED
  • CLD_KILLED
  • CLD_STOPPED
  • CLD_TRAPPED
  • FPE_FLTDIV
  • FPE_FLTINV
  • FPE_FLTOVF
  • FPE_FLTRES
  • FPE_FLTSUB
  • FPE_FLTUND
  • FPE_INTDIV
  • FPE_INTOVF
  • ILL_BADSTK
  • ILL_COPROC
  • ILL_ILLADR
  • ILL_ILLOPC
  • ILL_ILLOPN
  • ILL_ILLTRP
  • ILL_PRVOPC
  • ILL_PRVREG
  • POLL_ERR
  • POLL_HUP
  • POLL_IN
  • POLL_MSG
  • POLL_OUT
  • POLL_PRI
  • SEGV_ACCERR
  • SEGV_MAPERR
  • SI_ASYNCIO
  • SI_KERNEL
  • SI_MESGQ
  • SI_NOINFO
  • SI_QUEUE
  • SI_SIGIO
  • SI_TIMER
  • SI_TKILL
  • SI_USER
  • SIG_BLOCK
  • SIG_SETMASK
  • SIG_UNBLOCK
  • TRAP_BRKPT
  • TRAP_TRACE
Новые классы
Изменение в работе с INI-файлами
Переход от PHP 5.2.x к PHP 5.3.x


Изменение в работе с INI-файлами

В PHP 5.3.0 была значительно улучшена производительность при разборе INI-файлов, и добавлено несколько новых синтаксических возможностей.

  • Стандартные php.ini файлы были реорганизованы ипереименованы. php.ini-development содержит настройки, рекомендуемые для использования при разработке. php.ini-production содержит настройки, рекомендуемые при производственной эксплуатации.
  • Теперь присутствует поддержка двух специальных секций: [PATH=/opt/httpd/www.example.com/] и [HOST=www.example.com]. Директивы, установленные в этих секциях не могут быть переопределены в пользовательских INI-файлах или при выполнении. Более детальную информацию о этих секциях можно найти здесь.
  • zend_extension_debug и zend_extension_ts были удалены. Используйте директиву zend_extension для загрузки всех расширений Zend.
  • Директива zend.ze1_compatibility_mode была удалена. Если эта INI-директива установлена в On, то будет сгенерирована ошибка E_ERROR при запуске.
  • Сейчас стало возможно использование полного пути для загрузки модулей, используя директиву "extension".
  • "ini-variables" могут быть использованы почти везде в php.ini файле.
  • В процессе исполнения скрипта возможно ужесточение ограничений, заданных директивойopen_basedir.
  • Стало возможным использовать буквенно-цифровые или переменные индексы в массивах INI-опций
  • Функция get_cfg_var() сейчас способна возвращать массив из INI-опций.
  • Добавлена новая директива mail.add_x_header.
  • Новая директива user_ini.filename
  • Также новая user_ini.cache_ttl
  • Также новая exit_on_timeout
  • Директива open_basedir сейчас может быть установлена где угодно (PHP_INI_ALL)

Следующие новые INI-директивы были добавлены:

  • user_ini.filename и user_ini.cache_ttl для нового механизма INI-файла в стиле .htaccess.
  • Добавлена директива mbstring.http_output_conv_mimetype. Она указывает шаблон регулярного выражения для типов контента, для которых активируется функция mb_output_handler().
  • Добавлена request_order. Позволяет контролировать то, какая внешняя переменная будет доступна в массиве $_REQUEST.

Следующие INI-директивы получили новые значения по умолчанию:

  • session.use_only_cookies теперь установлена в "1" (включено) по умолчанию.
  • oci8.default_prefetch изменено с "10" на "100".
Новые глобальные константы
Другие изменения
Переход от PHP 5.2.x к PHP 5.3.x


Другие изменения

  • SplFileInfo::getpathinfo() теперь возвращает информацию о пути.
  • У SplObjectStorage теперь есть поддержка ArrayAccess. Теперь также возможно хранить ассоциативную информацию с объектами в SplObjectStorage.
  • В расширении GD, теперь возможно объединение пикселей в группы с помощью функции imagefilter().
  • Вывод функции var_dump() теперь включает свойства приватных объектов.
  • Функция session_start() теперь возвращает FALSE, когда начало сессии происходит неудачно.
  • Функция property_exists() теперь проверяет существование свойства не зависимо от доступности (также как method_exists()).
  • Обертки потоков теперь могут использоваться include_path.
  • Параметр initial для функции array_reduce() теперь может быть любого типа.
  • Функции работы с директориями opendir(), scandir(), и dir() теперь используют контекст потока по умолчанию, если он не задан явно
  • У функции crypt() теперь есть поддержка Blowfish и расширенного DES, и возможности crypt() теперь 100% переносимы. У PHP имеется своя собственная внутренняя реализация crypt, которая становится вместо crypt или crypt_r, когда они не найдены.
  • Функция getopt() теперь принимает "длинные опции" на всех платформах. Поддерживаются необязательные значения и = в качестве отделителя для коротких опций.
  • У функции fopen() теперь есть новый режим (n), который передает константу O_NONBLOCK соответствующему низлежащему open() system call. Обратите внимание, что этот режим в настоящее время не поддерживается в системах Windows.
  • Функиця getimagesize() сейчас поддерживает файлы-иконки (.ico).
  • Расширение mhash перемещено в репозиторий PECL, но расширение Hash было изменено для поддержки mhash, если PHP скомпилирован с опцией --with-mhash. Обратите внимание, что расширение Hash не требует библиотеки mhash вне зависимости от того, включена ли эмуляция mhash или нет.
Изменение в работе с INI-файлами
Переход с PHP 5.1.x на PHP 5.2.x
Переход от PHP 5.2.x к PHP 5.3.x


Переход с PHP 5.1.x на PHP 5.2.x

Содержание

  • Изменения в PHP 5.2.x
  • Изменения, нарушающие обратную совместимость
  • Новые сообщения об ошибках
  • Изменения в поддержке datetime в PHP
  • Новые параметры
  • Новые функции
  • Новые методы
  • Удалённые расширения
  • Новые расширения
  • Новые классы
  • Новые глобальные константы
  • Новые константы классов
  • Новые конфигурационные параметры INI
  • Сообщения об ошибках
  • Другие улучшения

Смотрите также руководство по миграции для версий PHP 5.0.x, 5.1.x и 5.3.x.

Другие изменения
Изменения в PHP 5.2.x
Appendices


Изменения в PHP 5.2.x

Большая часть изменений в PHP 5.2.x не затронет существующий код. Тем не менее, есть несколько несовместимых изменений и новых сообщений об ошибках, которые должны быть учтены при переходе. Также рекомендуется оттестировать код перед переходом на новую версию PHP в боевой установке.

Прочтите раздел "Переход на PHP 5.1.x", если предыдущей версией PHP была PHP 5.0.x.

Аналогично, если предыдущей версией была PHP 4, прочтите также раздел "Переход с PHP 4 на PHP 5".

Переход с PHP 5.1.x на PHP 5.2.x
Изменения, нарушающие обратную совместимость
Переход с PHP 5.1.x на PHP 5.2.x


Изменения, нарушающие обратную совместимость

Хотя большая часть существущего кода на PHP 5 должна работать без изменений, нужно обратить внимание на следующие нарушения обратной совместимости:

  • getrusage() возвращает NULL, если переданы несовместимые аргументы, начиная с PHP 5.2.1.
  • ZipArchive::setCommentName() возвращает TRUE при удачном выполнении, начиная с PHP 5.2.1.
  • ZipArchive::setCommentIndex() возвращает TRUE при удачном выполнении, начиная с PHP 5.2.1.
  • SplFileObject::getFilename() возвращает имя файла, а не относительный/путь/к/файлу, начиная с PHP 5.2.1.
  • Изменён приоритет переменной окружения PHPRC в Win32. Переменная окружения PHPRC имеет теперь больший приоритет, чем путь, сохранённый в реестре Windows.
  • CLI SAPI больше не проверяет текущую директорию на наличие php.ini или php-cli.ini. В PHP 5.1.x существовала недокументированная особенность: исполняемый файл CLI проверял текущую директорию на наличие конфигурационного файла PHP. Это потенциально могло привести к непредсказуемому поведению в случае, если был найден нежелательный конфигурационный файл. Эта функциональность была удалена в версии 5.2.0 и PHP более не ищет в текущей директории файлы php.ini или php-cli.ini. См. также раздел "Командная строка" данного руководства.
  • Добавлено предупреждение при поиске остатка от деления на 0 В предыдущих версиях PHP выполнение операции "integer % 0" не вызывало никаких предупреждений. Результатом операции было значение FALSE. Начиная с PHP 5.2.0 эта операция вызовет E_WARNING, как и в любом другом случае деления на 0.
    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>
  • __toString() вызывается в случаях преобразования в строку. "Магический" метод __toString() вызывается в строковом контексте, то есть во всех случаях, когда объект используется как строка. В версии PHP 5.2.0 была удалена функциональность по умолчанию, возвращавшая строку с идентификатором объекта. Эта функциональность вызывала проблемы, поскольку идентификатор в общем случае не уникален. Это изменение означает, что ваше приложение будет вести себя неправильно, если оно полагается на идентификатор объекта в виде возвращаемого значения. Попытка использовать это значение как строку вызовет перехватываемую фатальную ошибку.
    <?php
    class foo {}
    $foo = new foo;
    print     $foo;
    /* Catchable fatal error:  Object of class foo could
       not be converted to string in filename on line n */
    ?>
    Даже с методом __toString() объекты не могут использоваться для индексации массива. Возможно, позднее будет реализовано встроенное хэширование для таких случаев, но в PHP 5.2.x вам придётся реализовать собственное вычисление хэш-значений или использовать новую функцию SPL: spl_object_hash(). Из метода __toString() нельзя бросать исключения.
    <?php
    class foo {
        public function     __toString() {
            throw new     Exception;
        }
    }

    try {
        print new     foo;
            /* Fatal error:  Method foo::__toString() must
           not throw an exception in filename on line n */
    } catch(Exception $e) {}
    ?>
  • Не поддерживаются абстрактные статические методы классов. По недосмотру, PHP 5.0.x и 5.1.x позволяли определять абстрактные статические методы классов. Начиная с PHP 5.2.x такие методы могут быть только у интерфейсов.
    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • Расширение Oracle требует как минимум Oracle 10 под Windows.
  • Добавлена поддержка RFC2397 (data: stream). Добавление URL-схемы "data" может потенциально привести к нарушению работы кода под Windows. Если вы работаете с файловой системой NTFS, используете мета-потоки и ваше приложение работает с файлом "data:", не указывая путь к нему, это вызовет ошибку. Чтобы исправить её, используйте протокол "file:" для доступа к файлу. См. также » RFC 2397
    <?php
    /* При allow_url_include равной OFF (по умолчанию) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>
  • Регрессия в шаблонах glob() В версии 5.2.4 исправление безопасности привело к регрессии для шаблонов вида "/foo/*/bar/*". Начиная с версии 5.2.5 функция glob() больше не будет выдавать предупреждение, а возвратит FALSE, если нарушены ограничения openbase_dir.
Изменения в PHP 5.2.x
Новые сообщения об ошибках
Переход с PHP 5.1.x на PHP 5.2.x


Новые сообщения об ошибках

Ниже перечислены новые сообщения об ошибках, не упоминавшиеся ранее в этом документе.

Пример #1 В ядре PHP

<?php
echo " ";
session_regenerate_id();
/*  Warning:  session_regenerate_id(): Cannot regenerate
    session id - headers already sent in filename on line n */

str_word_count("string", 4);
/* Warning:  str_word_count(): Invalid format value 4
   in filename on line n */

strripos("foo", "f", 4);
/* Notice:  strripos(): Offset is greater than the
   length of haystack string in filename on line n */

strrpos("foo", "f", 4);
/* Notice:  strrpos(): Offset is greater than the
   length of haystack string in filename on line n */

/* Начиная с PHP 5.2.1, при значении allow_url_include = OFF (по умолчанию) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

Пример #2 Объектно-ориентированный код в ядре PHP

<?php
interface foo {
}
class bar implements foo, foo {
}
/* Fatal error: Class bar cannot implement previously
   implemented interface foo in filename on line n */

class foo {
    public $bar;
    function __get($var)
    {
        return $this->bar;
    }
}

$foo = new foo;
$bar =& $foo->prop;
/* Notice: Indirect modification of overloaded property
   foo::$prop has no effect in filename on line n */

class foo implements iterator {
    public function current() {
    }
    public function next() {
    }
    public function key() {
    }
    public function valid() {
    }
    public function rewind() {
    }
}

$foo = new foo();
foreach($foo as &$ref) {}
/* Fatal error: An iterator cannot be used with foreach
   by reference in filename on line n */

class foo {
    private function __construct() {
    }
}
class bar extends foo {
    public function __construct() {
        parent::__construct();
        /* Fatal error:  Cannot call private
           foo::__construct() in filename on line n */
    }
}
new bar;

stream_filter_register("", "class");
/* Warning:  stream_filter_register(): Filter name
   cannot be empty in filename on line n */

stream_filter_register("filter", "");
/* Warning:  stream_filter_register(): Class name
   cannot be empty in filename on line n */
?>

Пример #3 В расширении bzip2

<?php
bzopen("", "w");
/* Warning:  bzopen(): filename cannot be empty
   in filename on line n */

bzopen("foo", "a");
/* Warning:  bzopen(): 'a' is not a valid mode for
   bzopen(). Only 'w' and 'r' are supported in
   filename on line n */

$fp = fopen("foo", "w");
bzopen($fp, "r");
/* Warning:  bzopen(): cannot read from a stream
   opened in write only mode in filename on line n */
?>

Пример #4 В расширении datetime

<?php
strtotime("today", "now");
/* Warning:  strtotime() expects parameter 2 to be
   long, string given in filename on line n */

/* As of PHP 5.2.1 */
new DateTime(new stdclass);
/* Fatal error: Uncaught exception 'Exception' with
   message 'DateTime::__construct() expects parameter
   1 to be string, object given' in filename:n */
?>

Пример #5 В расширении dBase

<?php
dbase_open("foo", -1);
/* Warning: Invalid access mode -1 in filename on line n */

/* As of PHP 5.2.1 */
dbase_open("foo", null);
/* Warning: The filename cannot be empty in filename on line n */
?>

Пример #6 В расширении mcrypt

<?php
$key = "секретный ключ";
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td),
                        MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, "");
/* Warning: mcrypt_generic(): An empty string was
   passed in filename on line n */
?>

Пример #7 В расширении oci8

<?php
oci_connect("user", "pass", "db", "bogus_charset");
/* Warning: Invalid character set name:
   bogus_charset in filename on line n */

$oci = oci_connect("user", "pass", "db");
oci_password_change($oci, "", "old", "new");
/* Warning: username cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "", "new");
/* Warning: old password cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "old", "");
/* Warning: new password cannot be empty in filename
   on line n */
?>

Пример #8 В расширении SPL

<?php
$obj = new SplFileObject(__FILE__);
$obj->fgetcsv("foo");
/* Warning:  SplFileObject::fgetcsv(): delimiter must
   be a character in filename on line n */

$obj->fgetcsv(",", "foo");
/* Warning:  SplFileObject::fgetcsv(): enclosure must
   be a character in filename on line n */
?>

Пример #9 В расширении Semaphore

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

Пример #10 Пример Zip для версий 5.2.1+

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'комментарий');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* Начиная с PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

Изменения, нарушающие обратную совместимость
Изменения в поддержке datetime в PHP
Переход с PHP 5.1.x на PHP 5.2.x


Изменения в поддержке datetime в PHP

Начиная с PHP 5.1.0, в ядро PHP включено расширение date. Это новая реализация поддержки работы с датой и временем в PHP. Хотя расширение попытается угадать системные настройки временной зоны, лучше установить их вручную. Это можно сделать одним из трёх способов:

  • в php.ini при помощи параметра date.timezone
  • в системе при помощи переменной окружения TZ
  • из скрипта при помощи функции date_default_timezone_set()

Поддерживаемые идентификаторы временных зон перечислены в документации.

Начиная с PHP 5.2.x существует объектное представление даты и временной зоны: DateTime и DateTimeZone соответственно. Их методы соответствуют существующим функциям для работы с датой.

Новые сообщения об ошибках
Новые параметры
Переход с PHP 5.1.x на PHP 5.2.x


Новые параметры

В PHP 5.2.x у некоторых функций появились новые, необязательные параметры:

Ядро PHP:

  • htmlentities() - добавлен параметр double_encode в PHP 5.2.3.
  • htmlspecialchars() - добавлен параметр double_encode в PHP 5.2.3.
  • base64_decode() - добавлен параметр strict
  • setcookie() - добавлен параметр httponly
  • setrawcookie() - добавлен параметр httponly
  • session_set_cookie_params() - добавлен параметр httponly
  • memory_get_usage() - добавлен параметр real_usage
  • get_loaded_extensions() - добавлен параметр zend_extensions в PHP 5.2.4

curl:

  • curl_multi_info_read() - добавлен параметр msgs_in_queue

datetime

  • date() - добавлен символ форматирования "u" (миллисекунды) в PHP 5.2.2

imap:

  • imap_open() - добавлен параметр n_retries
  • imap_reopen() - добавлен параметр n_retries

mbstring:

  • mb_strrpos() - добавлен параметр offset
    Внимание

    Параметр offset добавлен на место параметра encoding. Обратная совместимость обеспечивается указанием encoding как третьего параметра. Однако использовать это не рекомендуется, так как поддержка encoding как третьего параметра будет удалена в последующих версиях PHP.

ming:

  • swfmovie::streamMP3() - добавлен параметр skip в PHP 5.2.1

openssl:

  • openssl_verify() - добавлен параметр signature_algo

pgsql:

  • pg_escape_bytea() - добавлен параметр connection
  • pg_escape_string() - добавлен параметр connection

simplexml:

  • SimpleXMLElement::__construct() - добавлен параметр is_prefix
  • SimpleXMLElement::attributes() - добавлен параметр is_prefix
  • SimpleXMLElement::children() - добавлен параметр is_prefix
  • simplexml_load_file() - добавлен параметр is_prefix
  • simplexml_load_string() - добавлен параметр is_prefix

spl:

  • array iterator_to_array(Traversable it [, bool use_keys = true]) - добавлен параметр use_keys в PHP 5.2.1

xmlreader:

  • XMLReader::open() - добавлены параметры encoding и options
  • XMLReader::XML() - добавлены параметры encoding и options

XMLWriter:

  • XMLWriter::WriteElement() - параметр content стал необязательным в PHP 5.2.3
  • XMLWriter::WriteElementNs() - параметр content стал необязательным в PHP 5.2.3
Изменения в поддержке datetime в PHP
Новые функции
Переход с PHP 5.1.x на PHP 5.2.x


Новые функции

В PHP 5.2.x было добавлено несколько новых функций:

Ядро PHP:

  • array_fill_keys() - Создаёт массив, используя элементы первого параметра в виде ключей и присваивая всем значение val
  • error_get_last() - Возвращает последнюю ошибку в ассоциативном массиве или NULL, если ошибок не было.
  • image_type_to_extension() - Возвращает расширение файла для типа изображения, полученного из getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype()
  • memory_get_peak_usage() - Возвращает максимум выделенной для PHP памяти
  • sys_get_temp_dir() - Возвращает путь к директории для временных файлов. (Добавлено в 5.2.1)
  • timezone_abbreviations_list() - Возвращает ассоциативный массив, содержащий для каждой аббревиатуры временной зоны флаг летнего времени (DST), смещение от стандартного времени и название пояса.
  • timezone_identifiers_list() - Возвращает массив идентификаторов всех временных зон.
  • timezone_name_from_abbr() - Возвращает название временной зоны по аббревиатуре
  • stream_socket_shutdown() - Закрывает соединение или его часть на сокете, связанном с потоком, который будет закрыт. Начиная с PHP 5.2.1.

Image:

  • imagegrabscreen() - Делает снимок всего экрана. Начиная с PHP 5.2.2.
  • imagegrabwindow() - Делает снимок окна. Начиная с PHP 5.2.2.

libXML:

  • libxml_disable_entity_loader() - Отключает возможность загрузки внешних сущностей. Начиная с PHP 5.2.11.

mbstring:

  • mb_stripos() - Находит позицию первого вхождения строки в другой строке. Регистронезависимая.
  • mb_stristr() - Находит первое вхождение строки в другой строке. Регистронезависимая.
  • mb_strrchr() - Находит последнее вхождение символа строки в другой строке.
  • mb_strrichr() - Находит последнее вхождение символа из строки в другой строке. Регистронезависимая.
  • mb_strripos() - Находит позицию последнего вхождения строки в другой строке. Регистронезависимая.
  • mb_strstr() - Находит первое вхождение строки в другой строке.

ming (Начиная с PHP 5.2.1):

  • void ming_setSWFCompression(int num) - Устанавливает сжатие выходного потока.
  • void swfmovie::namedanchor(string name) - Создаёт якорь.
  • void swfmovie::protect([string password]) - Защищает выходной поток.

openssl:

  • openssl_csr_get_public_key() - Извлекает открытый ключ из CERT и подготавливает его к использованию.
  • openssl_csr_get_subject() - Возвращает предмет (subject) CERT
  • openssl_pkey_get_details() - Возвращает массив с информацией о ключе (bits, pkey, type)

spl:

  • spl_object_hash() - Возвращает хэш-значение для данного объекта
  • int iterator_apply(Traversable it, mixed function [, mixed params]) - Вызывает функцию для каждого элемента итератора.

pcre:

  • preg_last_error() - Возвращает код ошибки для последнего поиска по регулярному выражению.

pgsql:

  • pg_field_table() - Возвращает название таблицы, которой принадлежит поле, или oid таблицы, если oid_only содержит TRUE

posix:

  • posix_initgroups() - Вычисляет групповой список доступа пользователя по его имени.

gmp:

  • gmp_nextprime() - Находит следующее простое число.

xmlwriter:

  • xmlwriter_full_end_element() - Закрывает текущий элемент, возвращает FALSE при ошибке.
  • xmlwriter_write_raw() - Пишет текст, возвращает FALSE при ошибке.
  • xmlwriter_start_dtd_entity() - Начинает DTD-сущность, возвращает FALSE при ошибке.
  • xmlwriter_end_dtd_entity() - Заканчивает текущую DTD-сущность, возвращает FALSE при ошибке.
  • xmlwriter_write_dtd_entity() - Записывает полную DTD-сущность, возвращает FALSE при ошибке.
Новые параметры
Новые методы
Переход с PHP 5.1.x на PHP 5.2.x


Новые методы

В 5.2.0 были добавлены новые методы:

dom:

  • DOMDocument::registerNodeClass() - Регистрирует расширенный класс для создания базового типа узла.
  • DOMElement::setIDAttribute() - Объявляет атрибут, указанный по имени, типом указанного идентификатора.
  • DOMElement::setIDAttributeNode() - Объявляет атрибут, указанный по узлу, типом указанного идентификатора.
  • DOMElement::setIDAttributeNS() - Объявляет атрибут, указанный по локальному имени и URI пространства имен, типом указанного идентификатора.
  • DOMNode::C14N()([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Возвращает каноническую строковую запись узлов. (Canonicalize)
  • DOMNode::C14NFile()(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Записывает каноническую запись узлов в файл.
  • DOMNode::getNodePath()() - Возвращает xpath узла

soap:

  • SoapServer::setObject()(object obj) - Устанавливает объект-обработчик SOAP-запросов.

spl:

  • int ArrayObject::asort()(void) - Сортирует массив по значениям.
  • int ArrayObject::ksort()(void) - Сортирует массив по ключам.
  • int ArrayObject::natcasesort()(void) - Сортирует массив по ключам, используя регистронезависимую сортировку алгоритмом "natural order".
  • int ArrayObject::natsort()(void) - Сортирует массив по значениям, используя сортировку алгоритмом "natural order"..
  • int ArrayObject::uasort()(callback cmp_function) - Сортирует массив по значениям, используя функцию сравнения, заданную пользователем.
  • int ArrayObject::uksort()(callback cmp_function) - Сортирует массив по ключам, используя функцию сравнения, заданную пользователем.
  • ArrayIterator AppendIterator::getArrayIterator()() - Предоставляет доступ к внутреннему итератору (ArrayIterator).
  • int AppendIterator::getIteratorIndex()() - Возвращает индекс итератора.
  • bool CachingIterator::getCache()() - Возвращает флаг кэша.
  • int CachingIterator::getFlags()() - Возвращает внутренние флаги.
  • bool CachingIterator::offsetExists()(mixed index) - Возвращает TRUE, если индекс существует.
  • string CachingIterator::offsetGet()(mixed index) - Возвращает внутренний кэш при его использовании.
  • void CachingIterator::offsetSet()(mixed index, mixed newval) - Устанавливает индекс в кэше.
  • void CachingIterator::offsetUnset()(mixed index) - Очищает индекс в кэше.
  • void CachingIterator::setFlags()() - Устанавливает внутренние флаги.
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl()(void) - Возвращает разделяющий и обрамляющий символы, используемые в fgetcsv().
  • void SplFileObject::setCsvControl()([string delimiter = ',' [, string enclosure = '"']]) - Устанавливает разделяющий и обрамляющий символы, используемые в fgetcsv().

Tidy

  • tidyNode tidyNode::getParent()() - Возвращает родительский узел текущего. (Добавлено в PHP 5.2.2)

XMLReader

  • boolean XMLReader::setSchema() - Использует W3C XSD схему для проверки документа при обработке. Можно использовать перед первым вызовом XMLReader::read().

zip:

  • ZipArchive::addEmptyDir()() - Создаёт пустую директорию в архиве.
Новые функции
Удалённые расширения
Переход с PHP 5.1.x на PHP 5.2.x


Удалённые расширения

Эти расширения были перенесены в PECL и более не являются частью дистрибутива PHP. Пакеты в PECL для этих расширений будут создаваться по запросам пользователей.

  • filePro
  • Hyperwave API
Новые методы
Новые расширения
Переход с PHP 5.1.x на PHP 5.2.x


Новые расширения

Следующие расширения были добавлены (по умолчанию) в PHP 5.2.0:

  • Filter - Проверяет и фильтрует данные. Разработан для работы с небезопасными данными, такими, как пользовательский ввод. Это расширение включено по умолчанию. Режим RAW (по умолчанию) не влияет на входные данные.
  • JSON - Реализует работу с форматом обмена данными the JavaScript Object Notation (JSON). Это расширение включено по умолчанию.
  • Zip - Позволяет прозрачно читать и писать ZIP-архивы и файлы в них.
Удалённые расширения
Новые классы
Переход с PHP 5.1.x на PHP 5.2.x


Новые классы

Следующие классы были добавлены в PHP 5.2.0:

  • DateTime
  • DateTimeZone
  • RegexIterator - extends FilterIterator; implements Iterator, Traversable, OuterIterator Константы:
    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY
    Свойства:
    • public replacement
    Методы:
    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Создаёт RegexIterator из другого итератора и регулярного выражения.
    • bool RegexIterator::accept() - Проверяет (string)current() на соответствие регулярному выражению.
    • bool RegexIterator::getFlags() - Возвращает текущие флаги.
    • bool RegexIterator::getMode() - Возвращает текущий режим работы.
    • bool RegexIterator::getPregFlags() - Фозвращает текущие флаги PREG (или NULL, если они не используются)
    • bool RegexIterator::setFlags(int new_flags) - Устанавливает флаги.
    • bool RegexIterator::setMode(int new_mode) - Устанавливает новый режим работы.
    • bool RegexIterator::setPregFlags(int new_flags) - Устанавливает флаги PREG.
  • RecursiveRegexIterator Константы:
    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY
    Методы:
    • RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Создаёт RecursiveRegexIterator из другого рекурсивного итератора и регулярного выражения.
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() - Возвращает внутренний итератор потомков, содержащихся в текущем RecursiveRegexIterator.
    • bool RecursiveRegexIterator::hasChildren() - Проверяет, есть ли у текущего элемента внутреннего итератора потомки.
Новые расширения
Новые глобальные константы
Переход с PHP 5.1.x на PHP 5.2.x


Новые глобальные константы

Ядро PHP:

  • M_EULER
  • M_LNPI
  • M_SQRT3
  • M_SQRTPI
  • PATHINFO_FILENAME
  • PREG_BACKTRACK_LIMIT_ERROR
  • PREG_BAD_UTF8_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_NO_ERROR
  • PREG_RECURSION_LIMIT_ERROR
  • UPLOAD_ERR_EXTENSION
  • STREAM_SHUT_RD
  • STREAM_SHUT_WR
  • STREAM_SHUT_RDWR

curl:

  • CURLE_FILESIZE_EXCEEDED
  • CURLE_FTP_SSL_FAILED
  • CURLE_LDAP_INVALID_URL
  • CURLFTPAUTH_DEFAULT
  • CURLFTPAUTH_SSL
  • CURLFTPAUTH_TLS
  • CURLFTPSSL_ALL
  • CURLFTPSSL_CONTROL
  • CURLFTPSSL_NONE
  • CURLFTPSSL_TRY
  • CURLOPT_FTP_SSL
  • CURLOPT_FTPSSLAUTH
  • CURLOPT_TCP_NODELAY Добавлено в PHP 5.2.1.
  • CURLOPT_TIMEOUT_MS Добавлено в PHP 5.2.3
  • CURLOPT_CONNECTTIMEOUT_MS Добавлено в PHP 5.2.3

GMP:

  • GMP_VERSION Добавлено в PHP 5.2.2.

ming:

  • SWFTEXTFIELD_USEFONT
  • SWFTEXTFIELD_AUTOSIZE
  • SWF_SOUND_NOT_COMPRESSED
  • SWF_SOUND_ADPCM_COMPRESSED
  • SWF_SOUND_MP3_COMPRESSED
  • SWF_SOUND_NOT_COMPRESSED_LE
  • SWF_SOUND_NELLY_COMPRESSED
  • SWF_SOUND_5KHZ
  • SWF_SOUND_11KHZ
  • SWF_SOUND_22KHZ
  • SWF_SOUND_44KHZ
  • SWF_SOUND_8BITS
  • SWF_SOUND_16BITS
  • SWF_SOUND_MONO
  • SWF_SOUND_STEREO

openssl:

  • OPENSSL_VERSION_NUMBER
  • OPENSSL_VERSION_TEXT

snmp:

  • SNMP_OID_OUTPUT_FULL
  • SNMP_OID_OUTPUT_NUMERIC

Semaphore:

  • MSG_EAGAIN
  • MSG_ENOMSG
Новые классы
Новые константы классов
Переход с PHP 5.1.x на PHP 5.2.x


Новые константы классов

pdo:

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE
  • PDO::FETCH_KEY_PAIR Преобразует 2-колоночный результат в ассоциативный массив. (Добавлено в PHP 5.2.3)

spl:

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
Новые глобальные константы
Новые конфигурационные параметры INI
Переход с PHP 5.1.x на PHP 5.2.x


Новые конфигурационные параметры INI

Новые директивы php.ini, добавленные в PHP 5.2.0:

  • allow_url_include Эта опция даёт возможность различать стандартные файловые операции с удалёнными файлами и подключение удалённых файлов. Хотя обычно требуется первое, второе может привести к проблемам с безопасностью. Начиная с PHP 5.2.0, вы можете разрешить операции с удалёнными файлами и при этом запретить их подключение к локальным скриптам. Это конфигурация по умолчанию.
  • pcre.backtrack_limit Лимит обратных ссылок PCRE.
  • pcre.recursion_limit Лимит рекурсии PCRE. Пожалуйста, имейте в виду, что при установке достаточно большого значения в этом параметре, весь доступный стек процесса может быть занят и PHP остановится из-за превышения размера стека, установленного операционной системой.
  • session.cookie_httponly Устанавливает доступ в отсылаемых cookies только через протокол HTTP. Это означает, что cookies не будут доступны скриптовым языкам, например, таким как JavaScript. Эта установка может помочь в борьбе с XSS-атаками, хотя она и поддерживается не всеми браузерами.

Новые директивы в PHP 5.2.2:

  • max_input_nesting_level Ограничивает вложенность входных переменных, по умолчанию 64.
Новые константы классов
Сообщения об ошибках
Переход с PHP 5.1.x на PHP 5.2.x


Сообщения об ошибках

Некоторые существующие ошибки (E_ERROR) теперь можно поймать при помощи обработчиков. Если E_RECOVERABLE_ERROR не обработана, она будет вести себя как E_ERROR. Ошибки этого типа записываются в лог как Catchable fatal error.

Это означает, что значение константы E_ALL error_reporting теперь равно 6143, тогда как предыдущее значение было 2047. Так как имена констант не имеют смысла вне PHP, иногда используются их числовые значения. То есть, например, при установке error_reporting через httpd.conf или .htaccess, данное значение нужно будет сменить при переходе на новую версию PHP. То же касается и числовых значений, если они используются вместо имён констант в скриптах.

Как побочный эффект этих изменений, чтобы предотвратить двойное сообщение об ошибке при параметре track_errors выставленном в On, теперь необходимо возвращать FALSE из пользовательских обработчиков, чтобы отобразилось значение $php_errormsg. Это позволяет точно контролировать уровни сообщений.

Новые конфигурационные параметры INI
Другие улучшения
Переход с PHP 5.1.x на PHP 5.2.x


Другие улучшения

  • Улучшено управление памятью и увеличен лимит памяти по умолчанию. Новый менеджер памяти выделяет меньше памяти и работает быстрее, чем предыдущая реализация. Он запрашивает память большими блоками и затем управляет кучей сам. Значение memory_limit в php.ini проверяется не при каждом вызове emalloc(), как раньше, а только при действительном запросе памяти у системы. Это означает, что memory_limit гораздо более точен, чем раньше, так как старый менеджер памяти не учитывал дополнительные затраты библиотеки malloc. Благодаря новому механизму может показаться, что используется больше памяти, тогда как на самом деле это не так. Чтобы скомпенсировать это кажущееся увеличение, значение memory_limit также увеличено с 8 до 16 мегабайт.
  • Добавлена поддержка конструкторов в интерфейсах. Это позволяет проверять сигнатуру конструкторов в реализациях интерфейса. Начиная с PHP 5.2.0, интерфейсы могут содержать конструкторы. Если вы объявляете конструктор в интерфейсе, каждая его реализация должна иметь конструктор с той же сигнатурой, что и конструктор интерфейса. Под "сигнатурой" мы понимаем возвращаемый тип и набор параметров, включая указание типов и передачу параметров по ссылке или значению.
Сообщения об ошибках
Migrating from PHP 5.0.x to PHP 5.1.x
Переход с PHP 5.1.x на PHP 5.2.x


Migrating from PHP 5.0.x to PHP 5.1.x

Содержание

  • Key PHP 5.1.x features
  • Changes in reference handling
  • Reading []
  • Integer values in function parameters
  • Class and object changes
  • Extensions
  • Date/time support
  • Changes in database support
  • Checking for E_STRICT

Смотрите также руководство по миграции для версий PHP 5.0.x, 5.2.x and 5.3.x.

Другие улучшения
Key PHP 5.1.x features
Appendices


Key PHP 5.1.x features

Some of the key features of PHP 5.1.x include:

  • A complete rewrite of date handling code, with improved timezone support.

  • Significant performance improvements compared to PHP 5.0.X.

  • PDO extension is now enabled by default.

  • Over 30 new functions in various extensions and built-in functionality.

  • Over 400 various bug fixes.

Migrating from PHP 5.0.x to PHP 5.1.x
Changes in reference handling
Migrating from PHP 5.0.x to PHP 5.1.x


Changes in reference handling

  • Overview

  • Code that worked under PHP 4.3.x, but now fails

  • Code that worked under PHP 4.3.x, but now throws an error

  • Code that failed under PHP 4.3.x, but now works

  • Code that should have worked under PHP 5.0.x

  • Warnings that came and went

Overview

From the PHP script writer's point of view, the change most likely to impact legacy code is in the way that references are handled in all PHP versions post-dating the PHP 4.4.0 release.

Until and including PHP 4.3, it was possible to send, assign or return variables by reference that should really be returned by value, such as a constant, a temporary value (e.g. the result of an expression), or the result of a function that had itself been returned by value, as here:

<?php
$foo = "123";

function return_value() {
    global $foo;
    return $foo;
}

$bar = &return_value();
?>

Although this code would usually work as expected under PHP 4.3, in the general case the result is undefined. The Zend Engine could not act correctly on these values as references. This bug could and did lead to various hard-to-reproduce memory corruption problems, particularly where the code base was large.

In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed to 'know' when the reference operation is being used on a value that should not be referenced. The actual value is now used in such cases, and a warning is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up, and E_STRICT in PHP 5.0.4 and up.

Code that could potentially produce memory corruption can no longer do so. However, some legacy code might work differently as a result.

Code that worked under PHP 4.3, but now fails

<?php
function func(&$arraykey) {
    return $arraykey; // function returns by value!
}

$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
    $y = &func($array[$key]);
    $z[] =& $y;
}

var_dump($z);
?>
<

Running the above script under any version of PHP that pre-dates the reference fix would produce this output:

array(3) {
  [0]=>
  &string(1) "a"
  [1]=>
  &string(1) "b"
  [2]=>
  &string(1) "c"
}

Following the reference fix, the same code would result in:

array(3) {
  [0]=>
  &string(1) "c"
  [1]=>
  &string(1) "c"
  [2]=>
  &string(1) "c"
}

This is because, following the changes, func() assigns by value. The value of $y is re-assigned, and reference-binding is preserved from $z. Prior to the fix, the value was assigned by reference, leading $y to be re-bound on each assignment. The attempt to bind to a temporary value by reference was the cause of the memory corruption.

Such code can be made to work identically in both the pre-fix and the post-fix PHP versions. The signature of func() can be altered to return by reference, or the reference assignment can be removed from the result of func().

<?php
function func() {
    return 'function return';
}

$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>

In PHP 4.3 $x would be 'original value', whereas after the changes it would be 'function return' - remember that where the function does not return by reference, the reference assignment is converted to a regular assignment. Again, this can be brought to a common base, either by forcing func() to return by reference or by eliminating the by-reference assignment.

Code that worked under PHP 4.3.x, but now throws an error

<?php
class Foo {

    function getThis() {
        return $this;
    }

    function destroyThis() {
        $baz =& $this->getThis();
    }
}

$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>

In PHP 5.0.3, $bar evaluated to NULL instead of returning an object. That happened because getThis() returns by value, but the value here is assigned by reference. Although it now works in the expected way, this is actually invalid code which will throw an E_NOTICE under PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.

Code that failed under PHP 4.3.x, but now works

<?php
function &f() {
    $x = "foo";
    var_dump($x);
    print "$x\n";
    return($a);
}

for ($i = 0; $i < 3; $i++) {
    $h = &f();
}
?>

In PHP 4.3 the third call to var_dump() produces NULL, due to the memory corruption caused by returning an uninitialized value by reference. This is valid code in PHP 5.0.4 and up, but threw errors in earlier releases of PHP.

<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>

Until PHP 5.0.5, it wasn't possible to assign an array element by reference in this way. It now is.

Code that should have worked under PHP 5.0.x

There are a couple of instances of bugs reported under PHP 5.0 prior to the reference fixes which now 'work'. However, in both cases errors are thrown by PHP 5.1.x, because the code was invalid in the first place. Returning values by reference using self:: now works in the general case but throws an E_STRICT warning, and although your mileage may vary when assigning by reference to an overloaded object, you will still see an E_ERROR when you try it, even where the assignment itself appears to work.

Warnings that came and went

Nested calls to functions returning by reference are valid code under both PHP 4.3.x and PHP 5.1.x, but threw an unwarranted E_NOTICE or E_STRICT under the intervening PHP releases.

<?php
function & foo() {
    $var = 'ok';
    return $var;
}

function & bar() {
    return foo();
}

$a =& bar();
echo "$a\n";
?>
Key PHP 5.1.x features
Reading []
Migrating from PHP 5.0.x to PHP 5.1.x


Reading []

<?php
class XmlTest {

    function test_ref(&$test) {
        $test = "ok";
    }

    function test($test) { }

    function run() {
        $ar = array();
        $this->test_ref($ar[]);
        var_dump($ar);
        $this->test($ar[]);
    }
}

$o = new XmlTest();
$o->run();
?>

This should always have thrown a fatal E_ERROR, because [] cannot be used for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.

Changes in reference handling
Integer values in function parameters
Migrating from PHP 5.0.x to PHP 5.1.x


Integer values in function parameters

With the advent of PHP 5.0.x, a new parameter parsing API was introduced which is used by a large number of PHP functions. In all versions of PHP between 5.0.x and 5.1.x, the handling of integer values was very strict and would reject non-well formed numeric values when a PHP function expected an integer. These checks have now been relaxed to support non-well formed numeric strings such as " 123" and "123 ", and will no longer fail as they did under PHP 5.0.x. However, to promote code safety and input validation, PHP functions will now emit an E_NOTICE when such strings are passed as integers.

Reading []
Class and object changes
Migrating from PHP 5.0.x to PHP 5.1.x


Class and object changes

  • instanceof, is_a(), is_subclass_of() and catch

  • Abstract private methods

  • Access modifiers in interfaces

  • Changes in inheritance rules

  • Class constants

instanceof, is_a(), is_subclass_of() and catch

In PHP 5.0, is_a() was deprecated and replaced by the instanceof operator. There were some issues with the initial implementation of instanceof, which relied on __autoload() to search for missing classes. If the class was not present, instanceof would throw a fatal E_ERROR due to the failure of __autoload() to discover that class. The same behaviour occurred in the catch operator and the is_subclass_of() function, for the same reason.

None of these functions or operators call __autoload() in PHP 5.1.x, and the class_exists() workarounds used in code written for PHP 5.0.x, while not problematic in any way, are no longer necessary.

Abstract private methods

Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4, but were then disallowed on the grounds that the behaviours of private and abstract are mutually exclusive.

Access modifiers in interfaces

Under PHP 5.0, function declarations in interfaces were treated in exactly the same way as function declarations in classes. This has not been the case since October 2004, at which point only the public access modifier was allowed in interface function declarations. Since April 2005 - which pre-dates the PHP 5.0b1 release - the static modifier has also been allowed. However, the protected and private modifiers will now throw an E_ERROR, as will abstract. Note that this change should not affect your existing code, as none of these modifiers makes sense in the context of interfaces anyway.

Changes in inheritance rules

Under PHP 5.0, it was possible to have a function declaration in a derived class that did not match the declaration of the same function in the base class, e.g.

This code will cause an E_STRICT error to be emitted under PHP 5.1.x.

<?php
class Base {
    function &return_by_ref() {
        $r = 1;
        return $r;
    }
}

class Derived extends Base {
    function return_by_ref() {
        return 1;
    }
}
?>

Class constants

Under PHP 5.0.x, the following code was valid:

Under PHP 5.1.x, redefinition of a class constant will throw a fatal E_ERROR.

<?php
class test {
    const foobar = 'foo';
    const foobar = 'bar';
}

?>
Integer values in function parameters
Extensions
Migrating from PHP 5.0.x to PHP 5.1.x


Extensions

  • Extensions that are gone from the PHP core

  • Class constants in new PHP 5.1.x extensions

Extensions that are gone from the PHP core

One of the first things you're likely to notice when you download PHP 5.1.x is that several of the older extensions have disappeared. Those extensions that are still actively maintained are available in the PHP Extension Community Library (PECL), at » http://pecl.php.net/.

Removed extensions
Extension | Alternative/Status
ext/cpdf | pecl/pdflib
ext/dbx | pecl/dbx
ext/dio | pecl/dio
ext/fam | Not actively maintained
ext/ingres_ii | pecl/ingres
ext/ircg | Not actively maintained
ext/mcve | pecl/mcve
ext/mnogosearch | Not actively maintained
ext/oracle | ext/oci8 or ext/pdo_oci
ext/ovrimos | Not actively maintained
ext/pfpro | Not actively maintained
ext/w32api | » pecl/ffi
ext/yp | Not actively maintained
ext/activescript | » pecl/activescript

Modules in PECL that are not actively maintained (i.e. have not been supported for some time, have no active maintainer working on them currently, and do not have any PECL package releases), are still available in SVN at » http://svn.php.net/viewvc/pecl. However, unreleased PHP modules are by their nature unsupported, and your mileage may vary when attempting to install or use them.

Class constants in new PHP 5.1.x extensions

The Zend Engine 2.1 API allows extension developers to declare class constants in object oriented extensions. New extensions written for PHP 5.1.x, including SPL, PDO, XMLReader and date, have their constants in the format PDO::CLASS_CONSTANT rather than in the C format PDO_CLASS_CONSTANT in order to minimise pollution of the global namespace in PHP.

Class and object changes
Date/time support
Migrating from PHP 5.0.x to PHP 5.1.x


Date/time support

Date/time support has been fully rewritten in PHP 5.1.x, and no longer uses the system settings to 'know' the timezone in operation. It will instead utilize, in the following order:

  • The timezone set using the date_default_timezone_set() function (if any)

  • The TZ environment variable (if non empty)

  • "magical" guess (if the operating system supports it)

  • If none of the above options succeeds, UTC

To ensure accuracy (and avoid an E_STRICT warning), you will need to define your timezone in your php.ini using the following format:

date.timezone = Europe/London

The supported timezones are listed, in this format, in the timezones appendix.

Also note that strtotime() now returns FALSE on failure, instead of -1.

Extensions
Changes in database support
Migrating from PHP 5.0.x to PHP 5.1.x


Changes in database support

  • PDO overview

  • Changes in MySQL support

  • Changes in SQLite support

PDO overview

PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0, and became part of the core PHP distribution in PHP 5.1.x. The PDO extension provides a consistent interface for database access, and is used alongside database-specific PDO drivers. Each driver may also have database-specific functions of its own, but basic data access functionality such as issuing queries and fetching data is covered by PDO functions, using the driver named in PDO::__construct().

Note that the PDO extension, and its drivers, are intended to be built as shared extensions. This will enable straightforward driver upgrades from PECL, without forcing you to rebuild all of PHP.

At the point of the PHP 5.1.x release, PDO is more than ready for widespread testing and could be adopted in most situations. However, it is important to understand that PDO and its drivers are comparatively young and may be missing certain database-specific features; evaluate PDO carefully before you use it in new projects.

Legacy code will generally rely on the pre-existing database extensions, which are still maintained.

Changes in MySQL support

In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there were two MySQL extensions, named 'mysql' and 'mysqli', which were designed to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the introduction of PDO, which provides a very fast interface to all the database APIs supported by PHP, the PDO_MYSQL driver can support any of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO, depending on the MySQL library version used during compilation. The older MySQL extensions remain in place for reasons of back compatibility, but are not enabled by default.

Changes in SQLite support

In PHP 5.0.x, SQLite 2 support was provided by the built-in sqlite extension, which was also available as a PECL extension in PHP 4.3 and PHP 4.4. With the introduction of PDO, the sqlite extension doubles up to act as a 'sqlite2' driver for PDO; it is due to this that the sqlite extension in PHP 5.1.x has a dependency upon the PDO extension.

PHP 5.1.x ships with a number of alternative interfaces to sqlite:

The sqlite extension provides the "classic" sqlite procedural/OO API that you may have used in prior versions of PHP. It also provides the PDO 'sqlite2' driver, which allows you to access legacy SQLite 2 databases using the PDO API.

PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3 is vastly superior to SQLite version 2, but the file formats of the two versions are not compatible.

If your SQLite-based project is already written and working against earlier PHP versions, then you can continue to use ext/sqlite without problems, but will need to explicitly enable both PDO and sqlite. New projects should use PDO and the 'sqlite' (version 3) driver, as this is faster than SQLite 2, has improved locking concurrency, and supports both prepared statements and binary columns natively.

You must enable PDO to use the SQLite extension. If you want to build the PDO extension as a shared extension, then the SQLite extension must also be built shared. The same holds true for any extension that provides a PDO driver

Date/time support
Checking for E_STRICT
Migrating from PHP 5.0.x to PHP 5.1.x


Checking for E_STRICT

If you only have a single script to check, you can pick up E_STRICT errors using PHP's commandline lint facility:

php -d error_reporting=4095 -l script_to_check.php

For larger projects, the shell script below will achieve the same task:

#!/bin/sh

directory=$1

shift

# These extensions are checked
extensions="php inc"

check_file ()
{
  echo -ne "Doing PHP syntax check on $1 ..."

  # Options:
  ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`

  if test -z "$ERRORS"; then
    echo -ne "OK."
  else
    echo -e "Errors found!\n$ERRORS"
  fi

  echo
}

# loop over remaining file args
for FILE in "$@" ; do
  for ext in $extensions; do
     if echo $FILE | grep "\.$ext$" > /dev/null; then
       if test -f $FILE; then
         check_file "$FILE"
       fi
     fi
  done
done
Changes in database support
Миграция с PHP 4 на PHP 5
Migrating from PHP 5.0.x to PHP 5.1.x


Миграция с PHP 4 на PHP 5

Содержание

  • Что изменилось в PHP 5.0.x
  • Изменения, повлекшие за собой обратную несовместимость
  • CLI и CGI
  • Миграция конфигурационных файлов
  • Новые функции
  • Новые директивы
  • Базы данных
  • Новая Объектная Модель
  • Сообщения об ошибках

Смотрите также руководство по миграции для версий PHP 5.1.x, 5.2.x и 5.3.x.

Checking for E_STRICT
Что изменилось в PHP 5.0.x
Appendices


Что изменилось в PHP 5.0.x

PHP 5 и интегрированный Zend Engine 2 привнесли очень многое в плане производительности и возможностей PHP, но также было приложено максимум усилий для того, чтобы сохранить совместимость с максимальным объемом существующего кода. Поэтому миграция вашего кода с PHP 4 на 5 должна быть крайне проста. Большинство существующего кода на PHP 4 должно запускаться без всяких проблем, но о некоторых различиях все равно необходимо знать, а также не забудьте протестировать ваш код перед сменой версии в production-средах.

Миграция с PHP 4 на PHP 5
Изменения, повлекшие за собой обратную несовместимость
Миграция с PHP 4 на PHP 5


Изменения, повлекшие за собой обратную несовместимость

Несмотря на то, что большинство кода на PHP 4 должно работать безо всяких изменений, вам следует обратить внимание на следующие изменения, повлекшие за собой обратную несовместимость:

  • Несколько новых зарезервированных ключевых слов.
  • strrpos() и strripos() теперь используют всю строку искомого параметра (needle).
  • Неправильное использование смещения внутри строки вызывает E_ERROR вместо E_WARNING. Пример неправильного использования: $str = 'abc'; unset($str[0]);.
  • array_merge() теперь принимает в качестве аргументов только массивы. Если была передана переменная, не являющаяся массивом, будет сгенерирована ошибка E_WARNING для каждого такого параметра. Будьте внимательны, потому что ваш код может вдруг начать генерировать ошибки E_WARNING.
  • Переменная сервера PATH_TRANSLATED больше не определяется неявно под Apache2 SAPI, в отличие от ситуации в PHP 4, где ей присваивается то же значение, что и переменной сервера SCRIPT_FILENAME, когда она не определяется Apache. Это изменение было сделано для соответствия » спецификации CGI/1.1. Пожалуйста, обратитесь к » ошибке #23610 для получения дальнейший информации, а также посмотрите описание $_SERVER['PATH_TRANSLATED'] в данном руководстве. Это изменение также имеет место в PHP версий >= 4.3.2.
  • Константа T_ML_COMMENT больше не объявляется расширением Tokenizer. Если директива error_reporting установлена в E_ALL, PHP сгенерирует предупреждение. Несмотря на то, что T_ML_COMMENT не использовалась вообще, она была объявлена в PHP 4. Как в PHP 4, так и в PHP 5 // и /* */ определяются как T_COMMENT. Так или иначе, комментарии /** */ в стиле PHPDoс, которые начиная с PHP 5 анализируются PHP, распознаются как T_DOC_COMMENT.
  • Суперглобальный массив $_SERVER будет создан вместе с переменными argc и argv, если variables_order включает "S". Если вы специально настроили свою систему таким образом, что $_SERVER не создаётся, тогда, конечно, её не будет. Изменение заключается в том, чтобы сделать argc и argv всегда доступными в CLI-версии, вне зависимости от директивы variables_order. Как уже было сказано, CLI-версия теперь всегда будет объявлять переменные argc и argv.
  • Объект без свойств больше не считается "пустым".
  • В некоторых случаях класс должен быть объявлен перед использованием. Это происходит только в том случае, если используются некоторые новые функции PHP 5 (такие как интерфейсы). В остальном поведение остается старым.
  • get_class(), get_parent_class() и get_class_methods() теперь возвращают имя классов/методов так, как они были объявлены (с учетом регистра), что может привести к проблемам со старыми скриптами, которые полагаются на прежнее поведение (имя класса/метода всегда было приведено к нижнему регистру). Возможным решением является поиск этих функций в ваших скриптах и использование в них strtolower(). Изменения относительно регистрозависимости также затрагивают магические предопределенные константы __CLASS__, __METHOD__ и __FUNCTION__. Значения возвращаются именно в том виде, в котором они были объявлены (с учетом регистра).
  • ip2long() теперь возвращает FALSE, а не -1, если в качестве аргумента функции передается неправильный IP-адрес.
  • Если во включенном файле объявлены какие-либо функции, они могут использоваться и в главном файле, вне зависимости от того, располагаются они до return() или после. Если файл включается дважды, PHP 5 генерирует фатальную ошибку, так как функции уже были объявлены, в то время, как PHP 4 не жалуется на это. Рекомендуется использовать include_once() вместо проверки, был ли уже включен файл и условного возврата внутри включенного файла.
  • include_once() и require_once() сначала стандартизируют путь к включенному файлу в Windows, так что при включении A.php и a.php файл включается только один раз.
  • Передача массива в функцию по значению больше не сбрасывает внутренний указатель массива, используемый для доступа к его элементам в данной функции. Иными словами, в PHP 4 при передаче массива в функцию его внутренний указатель сбрасывался внутри функции, тогда как в PHP 5 при передаче массива в функцию данный указатель останется в том же положении, в котором он был до передачи массива в функцию.

Пример #1 strrpos() и strripos() теперь используют в качестве искомого параметра (needle) всю строку

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

Пример #2 Объект без свойств больше не считается "пустым"

<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if ($t) {
    // Будет выполнено
}
?>

Пример #3 В некоторых случаях классы должны быть объявлены перед использованием

<?php

//работает без ошибок:
$a = new a();
class a {
}

//вызывает ошибку:
$a = new b();

interface c{
}
class b implements c {
}

?>

Что изменилось в PHP 5.0.x
CLI и CGI
Миграция с PHP 4 на PHP 5


CLI и CGI

В PHP 5 были сделаны некоторые изменения в именах исполняемых файлов CLI и CGI. В PHP 5, CGI-версия была переименована в php-cgi.exe (ранее php.exe), а CLI-версия теперь располагается в главной директории (ранее cli/php.exe).

В PHP 5 также появился новый режим: php-win.exe. Он эквивалентен CLI-версии, за исключением того, что php-win ничего не выводит и, соответсвенно, не открывает консоль (окошко dos не появляется на экране). Такое поведение похоже на php-gtk.

В PHP 5, CLI-версия всегда предоставляет глобальные переменные $argv и $argc, вне зависимости от каких-либо директив в php.ini. Даже установка register_argc_argv в off не повлияет на поведение интерфейса командной строки.

Смотрите также справочник по командной строке.

Изменения, повлекшие за собой обратную несовместимость
Миграция конфигурационных файлов
Миграция с PHP 4 на PHP 5


Миграция конфигурационных файлов

Так как ISAPI-модули сменили свои имена с php4xxx на php5xxx, вам необходимо произвести некоторые изменения в конфигурационных файлах. Также произошли изменения в именах файлов CLI и CGI. Пожалуйста, обратитесь к соответствующему разделу для получения дополнительной информации.

Изменения в конфигурации Apache минимальны. Пример ниже показывает изменения, которые вам требуется произвести:

Пример #1 Изменения конфигурационных файлах Apache при миграции на PHP 5

# замените эту строку:
LoadModule php4_module /php/sapi/php4apache2.dll

# на эту:
LoadModule php5_module /php/php5apache2.dll

Если ваш веб-сервер работает с PHP в CGI-режиме, вы должны обратить внимание на то, что CGI-версия сменила свое имя с php.exe на php-cgi.exe. В Apache вам нужно произвести изменения наподобие следующих:

Пример #2 Изменения в конфигурационных файлах Apache при миграции на PHP 5, CGI-режим

# замените эту строку:
Action application/x-httpd-php "/php/php.exe"

# на эту:
Action application/x-httpd-php "/php/php-cgi.exe"

При использовании других веб-серверов вам необходимо сменить либо имя CGI, либо имя ISAPI модулей.

CLI и CGI
Новые функции
Миграция с PHP 4 на PHP 5


Новые функции

В PHP 5 появилось некоторое количество новых функций. Вот их список:

Массивы:

  • array_combine() - Создает массив, используя один массив для ключей, а другой - для их значений
  • array_diff_uassoc() - Вычисляет различие массивов с дополнительной проверкой индексов, производимой заданной пользователем callback-функцией
  • array_udiff() - Вычисляет различие массивов, используя callback-функцию для сравнения данных
  • array_udiff_assoc() - Вычисляет различие массивов с дополнительной проверкой индексов. Данные сравниваются с использованием callback-функции
  • array_udiff_uassoc() - Вычисляет различие массивов с дополнительной проверкой индексов. Данные сравниваются с использованием callback-функции. Проверка индексов также производится с использованием callback-функции
  • array_walk_recursive() - Применяет пользовательскую функцию рекурсивно к каждому элементу массива
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов. Данные сравниваются с использованием callback-функции
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов. Как данные, так и индексы сравниваются при помощи callback-функции
  • array_uintersect() - Вычисляет пересечение массивов. Данные сравниваются с использованием callback-функции

InterBase:

  • ibase_affected_rows() - Возвращает количество записей, затронутых предыдущим запросом
  • ibase_backup() - Инициирует задачу резервного копирования в менеджере сервисов и сразу же возвращает управление
  • ibase_commit_ret() - Фиксирует транзакцию, не закрывая ее
  • ibase_db_info() - Запрашивает статистику базы данных
  • ibase_drop_db() - Удаляет базу данных
  • ibase_errcode() - Возвращает код ошибки
  • ibase_free_event_handler() - Отменяет зарегистрированный обработчик события
  • ibase_gen_id() - Инкрементирует именованный генератор и возвращает его новое значение
  • ibase_maintain_db() - Выполняет команду поддержки на сервере баз данных
  • ibase_name_result() - Присваивает имя набору результатов
  • ibase_num_params() - Возвращает число параметров в подготовленном запросе
  • ibase_param_info() - Возвращает информацию о параметре в подготовленном запросе
  • ibase_restore() - Инициирует задачу восстановления в менеджере сервисов и сразу же возвращает управление
  • ibase_rollback_ret() - Откатывает транзакцию с сохранением ее контекста
  • ibase_server_info() - Запрашивает статистику базы данных
  • ibase_service_attach() - Соединяется с менеджером сервисов
  • ibase_service_detach() - Разрывает соединение с менеджером сервисов
  • ibase_set_event_handler() - Регистрирует callback-функцию, которая вызывается при публикации события
  • ibase_wait_event() - Ожидает события, отправленного базой данных

iconv:

  • iconv_mime_decode() - Декодирует поле MIME-заголовка
  • iconv_mime_decode_headers() - Декодирует сразу несколько полей MIME-заголовков
  • iconv_mime_encode() - Строит поле MIME-заголовка
  • iconv_strlen() - Возвращает количество символов в строке
  • iconv_strpos() - Находит позицию первого вхождения needle внутри haystack
  • iconv_strrpos() - Находит позицию последнего вхождения needle внутри haystack
  • iconv_substr() - Вырезает часть строки

Потоки:

  • stream_copy_to_stream() - Копирует данные с одного потока на другой
  • stream_get_line() - Получает строку из заданного ресурса потока до данного разделителя
  • stream_socket_accept() - Разрешает соединение на сокет, созданный stream_socket_server()
  • stream_socket_client() - Открывает соединение с доменным сокетом Internet или Unix
  • stream_socket_get_name() - Получает имена локальных или удаленных сокетов
  • stream_socket_recvfrom() - Получает данные от сокета, вне зависимости от того, произведено соединение или нет
  • stream_socket_sendto() - Посылает сообщение сокету, вне зависимости от того, произведено соединение или нет
  • stream_socket_server() - Создает доменный сокет Internet или Unix на стороне сервера

Связанные с датой и временем:

  • idate() - Форматирует локальное время/дату в виде целого числа
  • date_sunset() - Время захода солнца для данного дня и месторасположения
  • date_sunrise() - Время восхода солнца для данного дня и месторасположения
  • time_nanosleep() - Задержка на заданное число секунд и наносекунд

Строки:

  • str_split() - Преобразует строку в массив
  • strpbrk() - Ищет любой набор символов в строке
  • substr_compare() - Бинарно-безопасное опционально регистрозависимое сравнение двух строк, начиная со смещения и до определенной длины символов

Другие:

  • convert_uudecode() - декодирует строку, закодированную uuencode
  • convert_uuencode() - кодирует строку в uuencode
  • curl_copy_handle() - Копирует дескриптор cURL вместе со всеми его настройками
  • dba_key_split() - Разбивает ключ в строковом представлении в представление массива
  • dbase_get_header_info() - Получает заголовочную информацию базы данных dBase
  • dbx_fetch_row() - Выбирает записи из результата запроса, в котором установлен флаг DBX_RESULT_UNBUFFERED
  • fbsql_set_password() - Меняет пароль указанного пользователя
  • file_put_contents() - Пишет строку в файл
  • ftp_alloc() - Выделяет место для загружаемого файла
  • get_declared_interfaces() - Возвращает массив всех объявленных интерфейсов
  • get_headers() - Выбирает все заголовки, посланные сервером в ответ на HTTP-запрос
  • headers_list() - Возвращает список посланных (или готовых к отправке) заголовков ответа
  • http_build_query() - Генерирует URL-кодированную строку запроса
  • image_type_to_extension() - Возвращает расширение файла
для типа изображения, возвращенного getimagesize(),
exif_read_data(),
exif_thumbnail(),
exif_imagetype()
  • imagefilter() - Применяет фильтр изображения, используя выбранную фазу
  • imap_getacl() - Возвращает ACL для данного почтового ящика
  • ldap_sasl_bind() - Осуществляет привязку к LDAP-директории используя SASL
  • mb_list_encodings() - Возвращает массив всех поддерживаемых кодировок
  • pcntl_getpriority() - Возвращает приоритет любого процесса
  • pcntl_wait() - Ждет или возвращает статус дочернего разветвленного процесса в зависимости от объявления системного вызова waitpid()
  • pg_version() - Возвращает массив с информацией о версии клиента, протокола и сервера (если доступно)
  • php_check_syntax() - Проверяет синтаксис указанного файла
  • php_strip_whitespace() - Возвращает исходный код с удаленными комментариями и пробелами
  • proc_nice() - Изменяет приоритет текущего процесса
  • pspell_config_data_dir() - Изменяет расположение языковых файлов данных
  • pspell_config_dict_dir() - Изменяет расположение основного списка слов
  • setrawcookie() - Посылает cookie без URL-кодирования его значения
  • scandir() - Выводит список файлов и директорий по указанному пути
  • snmp_read_mib() - Читает и анализирует MIB-файл в активное MIB-дерево
  • sqlite_fetch_column_types() - Возвращает массив типов столбцов для определенной таблицы

Замечание:

Модуль Tidy полностью сменил свой API.

Миграция конфигурационных файлов
Новые директивы
Миграция с PHP 4 на PHP 5


Новые директивы

В PHP 5 появилось несколько директив php.ini. Вот их список:

  • mail.force_extra_parameters - Принудительно добавляет указанные параметры к списку передаваемых исполняемому файлу sendmail. Эти параметры всегда будут заменять значение пятого параметра mail(), даже в защищенном режиме
  • register_long_arrays - разрешает/запрещает PHP регистрировать устаревшие длинные массивы $HTTP_*_VARS
  • session.hash_function - выбирает хэш-функцию (MD5 или SHA-1)
  • session.hash_bits_per_character - определяет, сколько битов хранится в каждом символе при конвертации данных бинарного хэша во что-то читабельное (с 4 до 6)
  • zend.ze1_compatibility_mode - включает режим совместимости с Zend Engine 1 (PHP 4)
Новые функции
Базы данных
Миграция с PHP 4 на PHP 5


Базы данных

В PHP 5 были произведены некоторые изменения, касающиеся СУБД (MySQL и SQLite).

В PHP 5 клиентские библиотеки MySQL больше не поставляются в комплекте из-за лицензионных и некоторых других проблем. Для получения дополнительной информации читайте соответствующую запись в FAQ.

Также присутствует новый модуль, MySQLi (Improved MySQL), предназначенный для работы с MySQL 4.1 и выше.

Начиная с PHP 5, модуль SQLite встроен в PHP. SQLite - это встраиваемая SQL СУБД, а не клиентская библиотека для соединения с сервером баз данных (таким как MySQL или PostgreSQL). Библиотека SQLite читает и записывает напрямую в файлы базы данных на диске.

Новые директивы
Новая Объектная Модель
Миграция с PHP 4 на PHP 5


Новая Объектная Модель

В PHP 5 появилась новая объектная модель. Работа с объектами в PHP была полностью переписана, позволяя достигнуть лучшей производительности и предоставляя новые возможности. В предыдущих версиях PHP работа с объектами производилась аналогично примитивным типам (к примеру, integer и string). Недостатком этого метода являлось то, что семантически весь объект копировался при присвоении переменной или передачи ее в качестве параметра функции. При новом подходе на объекты ссылаются по дескриптору, а не по значению (дескриптор можно представить себе как идентификатор объекта).

Многие PHP-программисты даже не в курсе хитростей механизма копирования в старой объектной модели, что означает, что большинство из PHP-приложений будут работать либо вовсе безо всяких изменений, либо с совсем небольшими изменениями.

Новая объектная модель задокументирована в "Справочнике по языку".

В PHP 5, функция, имеющая такое же имя как и класс, будет вызываться в качестве конструктора, только если она определена в этом же классе. В PHP 4 она также вызывалась при определении в родительском классе.

Обратите внимание также на директиву zend.ze1_compatibility_mode для совместимости с PHP 4.

Базы данных
Сообщения об ошибках
Миграция с PHP 4 на PHP 5


Сообщения об ошибках

Начиная с PHP 5 был объявлен новый уровень ошибок - E_STRICT со значением 2048. Он позволяет PHP давать советы по способности взаимодействия и будущей совместимости вашего кода, а также отслеживает случаи использования устаревшего кода.

Замечание: E_ALL не включает E_STRICT, так что по умолчанию этот уровень ошибок выключен. Для просмотра этих сообщений вы должны специально включить E_STRICT в используемом вами уровне сообщений об ошибках.

Подробнее смотрите в главе "Предопределенные константы".

Новая Объектная Модель
Classes and Objects (PHP 4)
Миграция с PHP 4 на PHP 5


Classes and Objects (PHP 4)

Содержание

  • class
  • extends
  • Constructors
  • Scope Resolution Operator (::)
  • parent
  • Serializing objects - objects in sessions
  • The magic functions __sleep and __wakeup
  • References inside the constructor
  • Comparing objects
Сообщения об ошибках
class
Appendices


class

A class is a collection of variables and functions working with these variables. Variables are defined by var and functions by function. A class is defined using the following syntax:

<?php
class Cart {
    var $items;  // Items in our shopping cart

    // Add $num articles of $artnr to the cart

    function add_item($artnr, $num) {
        $this->items[$artnr] += $num;
    }

    // Take $num articles of $artnr out of the cart

    function remove_item($artnr, $num) {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } elseif ($this->items[$artnr] == $num) {
            unset($this->items[$artnr]);
            return true;
        } else {
            return false;
        }
    }
}
?>

This defines a class named Cart that consists of an associative array of articles in the cart and two functions to add and remove items from this cart.

Внимание

You can NOT break up a class definition into multiple files. You also can NOT break a class definition into multiple PHP blocks, unless the break is within a method declaration. The following will not work:

<?php
class test {
?>
<?php
    function test() {
        print 'OK';
    }
}
?>

However, the following is allowed:

<?php
class test {
    function test() {
        ?>
        <?php
        print 'OK';
    }
}
?>

The following cautionary notes are valid for PHP 4.

Предостережение

The name stdClass is used internally by Zend and is reserved. You cannot have a class named stdClass in PHP.

Предостережение

The function names __sleep and __wakeup are magical in PHP classes. You cannot have functions with these names in any of your classes unless you want the magic functionality associated with them. See below for more information.

Предостережение

PHP reserves all function names starting with __ as magical. It is recommended that you do not use function names with __ in PHP unless you want some documented magic functionality.

In PHP 4, only constant initializers for var variables are allowed. To initialize variables with non-constant values, you need an initialization function which is called automatically when an object is being constructed from the class. Such a function is called a constructor (see below).

<?php
class Cart {
    /* None of these will work in PHP 4. */
    var $todays_date = date("Y-m-d");
    var $name = $firstname;
    var $owner = 'Fred ' . 'Jones';
    /* Arrays containing constant values will, though. */
    var $items = array("VCR", "TV");
}

/* This is how it should be done. */
class Cart {
    var $todays_date;
    var $name;
    var $owner;
    var $items = array("VCR", "TV");

    function Cart() {
        $this->todays_date = date("Y-m-d");
        $this->name = $GLOBALS['firstname'];
        /* etc. . . */
    }
}
?>

Classes are types, that is, they are blueprints for actual variables. You have to create a variable of the desired type with the new operator.

<?php
$cart = new Cart;
$cart->add_item("10", 1);

$another_cart = new Cart;
$another_cart->add_item("0815", 3);
?>

This creates the objects $cart and $another_cart, both of the class Cart. The function add_idem() of the $cart object is being called to add 1 item of article number 10 to the $cart. 3 items of article number 0815 are being added to $another_cart.

Both, $cart and $another_cart, have functions add_item(), remove_item() and a variable items. These are distinct functions and variables. You can think of the objects as something similar to directories in a filesystem. In a filesystem you can have two different files README.TXT, as long as they are in different directories. Just like with directories where you'll have to type the full pathname in order to reach each file from the toplevel directory, you have to specify the complete name of the function you want to call: in PHP terms, the toplevel directory would be the global namespace, and the pathname separator would be ->. Thus, the names $cart->items and $another_cart->items name two different variables. Note that the variable is named $cart->items, not $cart->$items, that is, a variable name in PHP has only a single dollar sign ($).

<?php
// correct, single $
$cart->items = array("10" => 1);

// invalid, because $cart->$items becomes $cart->""
$cart->$items = array("10" => 1);

// correct, but may or may not be what was intended:
// $cart->$myvar becomes $cart->items
$myvar = 'items';
$cart->$myvar = array("10" => 1);
?>

Within a class definition, you do not know under which name the object will be accessible in your program: at the time the Cart class was written, it was unknown whether the object would be named $cart, $another_cart, or something else later. Thus, you cannot write $cart->items within the Cart class itself. Instead, in order to be able to access its own functions and variables from within a class, one can use the pseudo-variable $this which can be read as 'my own' or 'current object'. Thus, '$this->items[$artnr] += $num' can be read as 'add $num to the $artnr counter of my own items array' or 'add $num to the $artnr counter of the items array within the current object'.

Замечание:

The $this pseudo-variable is not usually defined if the method in which it is hosted is called statically. This is not, however, a strict rule: $this is defined if a method is called statically from within another object. In this case, the value of $this is that of the calling object. This is illustrated in the following example:

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

Результат выполнения данного примера:

$this is defined (a)
$this is not defined.
$this is defined (b)
$this is not defined.

Замечание:

There are some nice functions to handle classes and objects. You might want to take a look at the Class/Object Functions.

Classes and Objects (PHP 4)
extends
Classes and Objects (PHP 4)


extends

Often you need classes with similar variables and functions to another existing class. In fact, it is good practice to define a generic class which can be used in all your projects and adapt this class for the needs of each of your specific projects. To facilitate this, classes can be extensions of other classes. The extended or derived class has all variables and functions of the base class (this is called 'inheritance' despite the fact that nobody died) and what you add in the extended definition. It is not possible to subtract from a class, that is, to undefine any existing functions or variables. An extended class is always dependent on a single base class, that is, multiple inheritance is not supported. Classes are extended using the keyword 'extends'.

<?php
class Named_Cart extends Cart {
    var $owner;

    function set_owner ($name) {
        $this->owner = $name;
    }
}
?>

This defines a class Named_Cart that has all variables and functions of Cart plus an additional variable $owner and an additional function set_owner(). You create a named cart the usual way and can now set and get the carts owner. You can still use normal cart functions on named carts:

<?php
$ncart = new Named_Cart;    // Create a named cart
$ncart->set_owner("kris");  // Name that cart
print $ncart->owner;        // print the cart owners name
$ncart->add_item("10", 1);  // (inherited functionality from cart)
?>

This is also called a "parent-child" relationship. You create a class, parent, and use extends to create a new class based on the parent class: the child class. You can even use this new child class and create another class based on this child class.

Замечание:

Classes must be defined before they are used! If you want the class Named_Cart to extend the class Cart, you will have to define the class Cart first. If you want to create another class called Yellow_named_cart based on the class Named_Cart you have to define Named_Cart first. To make it short: the order in which the classes are defined is important.

class
Constructors
Classes and Objects (PHP 4)


Constructors

Constructors are functions in a class that are automatically called when you create a new instance of a class with new. A function becomes a constructor, when it has the same name as the class. If a class has no constructor, the constructor of the base class will be called, if it exists.

<?php
class Auto_Cart extends Cart {
    function Auto_Cart() {
        $this->add_item("10", 1);
    }
}
?>

This defines a class Auto_Cart that is a Cart plus a constructor which initializes the cart with one item of article number "10" each time a new Auto_Cart is being made with "new". Constructors can take arguments and these arguments can be optional, which makes them much more useful. To be able to still use the class without parameters, all parameters to constructors should be made optional by providing default values.

<?php
class Constructor_Cart extends Cart {
    function Constructor_Cart($item = "10", $num = 1) {
        $this->add_item ($item, $num);
    }
}

// Shop the same old boring stuff.
$default_cart = new Constructor_Cart;

// Shop for real...
$different_cart = new Constructor_Cart("20", 17);
?>

You also can use the @ operator to mute errors occurring in the constructor, e.g. @new.

<?php
class A
{
    function A()
    {
        echo "I am the constructor of A.<br />\n";
    }

    function B()
    {
        echo "I am a regular function named B in class A.<br />\n";
        echo "I am not a constructor in A.<br />\n";
    }
}

class B extends A
{
}

// This will call B() as a constructor
$b = new B;
?>

The function B() in class A will suddenly become a constructor in class B, although it was never intended to be. PHP 4 does not care if the function is being defined in class B, or if it has been inherited.

Предостережение

PHP doesn't call constructors of the base class automatically from a constructor of a derived class. It is your responsibility to propagate the call to constructors upstream where appropriate.

Destructors are functions that are called automatically when an object is destroyed, either with unset() or by simply going out of scope. There are no destructors in PHP. You may use register_shutdown_function() instead to simulate most effects of destructors.

extends
Scope Resolution Operator (::)
Classes and Objects (PHP 4)


Scope Resolution Operator (::)

Предостережение

The following is valid for PHP 4 and later only.

Sometimes it is useful to refer to functions and variables in base classes or to refer to functions in classes that have not yet any instances. The :: operator is being used for this.

<?php
class A {
    function example() {
        echo "I am the original function A::example().<br />\n";
    }
}

class B extends A {
    function example() {
        echo "I am the redefined function B::example().<br />\n";
        A::example();
    }
}

// there is no object of class A.
// this will print
//   I am the original function A::example().<br />
A::example();

// create an object of class B.
$b = new B;

// this will print
//   I am the redefined function B::example().<br />
//   I am the original function A::example().<br />
$b->example();
?>

The above example calls the function example() in class A, but there is no object of class A, so that we cannot write $a->example() or similar. Instead we call example() as a 'class function', that is, as a function of the class itself, not any object of that class.

There are class functions, but there are no class variables. In fact, there is no object at all at the time of the call. Thus, a class function may not use any object variables (but it can use local and global variables), and it may not use $this at all.

In the above example, class B redefines the function example(). The original definition in class A is shadowed and no longer available, unless you are referring specifically to the implementation of example() in class A using the ::-operator. Write A::example() to do this (in fact, you should be writing parent::example(), as shown in the next section).

In this context, there is a current object and it may have object variables. Thus, when used from WITHIN an object function, you may use $this and object variables.

Constructors
parent
Classes and Objects (PHP 4)


parent

You may find yourself writing code that refers to variables and functions in base classes. This is particularly true if your derived class is a refinement or specialisation of code in your base class.

Instead of using the literal name of the base class in your code, you should be using the special name parent, which refers to the name of your base class as given in the extends declaration of your class. By doing this, you avoid using the name of your base class in more than one place. Should your inheritance tree change during implementation, the change is easily made by simply changing the extends declaration of your class.

<?php
class A {
    function example() {
        echo "I am A::example() and provide basic functionality.<br />\n";
    }
}

class B extends A {
    function example() {
        echo "I am B::example() and provide additional functionality.<br />\n";
        parent::example();
    }
}

$b = new B;

// This will call B::example(), which will in turn call A::example().
$b->example();
?>
Scope Resolution Operator (::)
Serializing objects - objects in sessions
Classes and Objects (PHP 4)


Serializing objects - objects in sessions

serialize() returns a string containing a byte-stream representation of any value that can be stored in PHP. unserialize() can use this string to recreate the original variable values. Using serialize to save an object will save all variables in an object. The functions in an object will not be saved, only the name of the class.

In order to be able to unserialize() an object, the class of that object needs to be defined. That is, if you have an object $a of class A on page1.php and serialize this, you'll get a string that refers to class A and contains all values of variabled contained in $a. If you want to be able to unserialize this on page2.php, recreating $a of class A, the definition of class A must be present in page2.php. This can be done for example by storing the class definition of class A in an include file and including this file in both page1.php and page2.php.

<?php
// classa.inc:

  class A {
      var $one = 1;

      function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // store $s somewhere where page2.php can find it.
  $fp = fopen("store", "w");
  fwrite($fp, $s);
  fclose($fp);

// page2.php:

  // this is needed for the unserialize to work properly.
  include("classa.inc");

  $s = implode("", @file("store"));
  $a = unserialize($s);

  // now use the function show_one() of the $a object.
  $a->show_one();
?>

If you are using sessions and use session_register() to register objects, these objects are serialized automatically at the end of each PHP page, and are unserialized automatically on each of the following pages. This basically means that these objects can show up on any of your pages once they become part of your session.

It is strongly recommended that you include the class definitions of all such registered objects on all of your pages, even if you do not actually use these classes on all of your pages. If you don't and an object is being unserialized without its class definition being present, it will lose its class association and become an object of class __PHP_Incomplete_Class_Name without any functions available at all, that is, it will become quite useless.

So if in the example above $a became part of a session by running session_register("a"), you should include the file classa.inc on all of your pages, not only page1.php and page2.php.

parent
The magic functions __sleep and __wakeup
Classes and Objects (PHP 4)


The magic functions __sleep and __wakeup

serialize() checks if your class has a function with the magic name __sleep. If so, that function is being run prior to any serialization. It can clean up the object and is supposed to return an array with the names of all variables of that object that should be serialized. If the method doesn't return anything then NULL is serialized and E_NOTICE is issued.

The intended use of __sleep is to commit pending data or perform similar cleanup tasks. Also, the function is useful if you have very large objects which need not be saved completely.

Conversely, unserialize() checks for the presence of a function with the magic name __wakeup. If present, this function can reconstruct any resources that object may have.

The intended use of __wakeup is to reestablish any database connections that may have been lost during serialization and perform other reinitialization tasks.

Serializing objects - objects in sessions
References inside the constructor
Classes and Objects (PHP 4)


References inside the constructor

Creating references within the constructor can lead to confusing results. This tutorial-like section helps you to avoid problems.

<?php
class Foo {
    function Foo($name) {
        // create a reference inside the global array $globalref
        global $globalref;
        $globalref[] = &$this;
        // set name to passed value
        $this->setName($name);
        // and put it out
        $this->echoName();
    }

    function echoName() {
        echo "<br />", $this->name;
    }

    function setName($name) {
        $this->name = $name;
    }
}
?>

Let us check out if there is a difference between $bar1 which has been created using the copy = operator and $bar2 which has been created using the reference =& operator...

<?php
$bar1 = new Foo('set in constructor');
$bar1->echoName();
$globalref[0]->echoName();

/* output:
set in constructor
set in constructor
set in constructor */

$bar2 =& new Foo('set in constructor');
$bar2->echoName();
$globalref[1]->echoName();

/* output:
set in constructor
set in constructor
set in constructor */
?>

Apparently there is no difference, but in fact there is a very significant one: $bar1 and $globalref[0] are _NOT_ referenced, they are NOT the same variable. This is because "new" does not return a reference by default, instead it returns a copy.

Замечание: There is no performance loss (since PHP 4 and up use reference counting) returning copies instead of references. On the contrary it is most often better to simply work with copies instead of references, because creating references takes some time where creating copies virtually takes no time (unless none of them is a large array or object and one of them gets changed and the other(s) one(s) subsequently, then it would be wise to use references to change them all concurrently).

To prove what is written above let us watch the code below.
<?php
// now we will change the name. what do you expect?
// you could expect that both $bar1 and $globalref[0] change their names...
$bar1->setName('set from outside');

// as mentioned before this is not the case.
$bar1->echoName();
$globalref[0]->echoName();

/* output:
set from outside
set in constructor */

// let us see what is different with $bar2 and $globalref[1]
$bar2->setName('set from outside');

// luckily they are not only equal, they are the same variable
// thus $bar2->name and $globalref[1]->name are the same too
$bar2->echoName();
$globalref[1]->echoName();

/* output:
set from outside
set from outside */
?>

Another final example, try to understand it.

<?php
class A {
    function A($i) {
        $this->value = $i;
        // try to figure out why we do not need a reference here
        $this->b = new B($this);
    }

    function createRef() {
        $this->c = new B($this);
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->value;
    }
}

class B {
    function B(&$a) {
        $this->a = &$a;
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->a->value;
    }
}

// try to understand why using a simple copy here would yield
// in an undesired result in the *-marked line
$a =& new A(10);
$a->createRef();

$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();

$a->value = 11;

$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();

?>

Результат выполнения данного примера:

class A: 10
class B: 10
class B: 10
class A: 11
class B: 11
class B: 11

The magic functions __sleep and __wakeup
Comparing objects
Classes and Objects (PHP 4)


Comparing objects

In PHP 4, objects are compared in a very simple manner, namely: Two object instances are equal if they have the same attributes and values, and are instances of the same class. Similar rules are applied when comparing two objects using the identity operator (===).

If we were to execute the code in the example below:

Пример #1 Example of object comparison in PHP 4

<?php
function bool2str($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

class SwitchableFlag extends Flag {

    function turnOn() {
        $this->flag = true;
    }

    function turnOff() {
        $this->flag = false;
    }
}

$o = new Flag();
$p = new Flag(false);
$q = new Flag();

$r = new SwitchableFlag();

echo "Compare instances created with the same parameters\n";
compareObjects($o, $q);

echo "\nCompare instances created with different parameters\n";
compareObjects($o, $p);

echo "\nCompare an instance of a parent class with one from a subclass\n";
compareObjects($o, $r);
?>

Результат выполнения данного примера:

Compare instances created with the same parameters
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Compare instances created with different parameters
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Compare an instance of a parent class with one from a subclass
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
Which is the output we will expect to obtain given the comparison rules above. Only instances with the same values for their attributes and from the same class are considered equal and identical.

Even in the cases where we have object composition, the same comparison rules apply. In the example below we create a container class that stores an associative array of Flag objects.

Пример #2 Compound object comparisons in PHP 4

<?php
class FlagSet {
    var $set;

    function FlagSet($flagArr = array()) {
        $this->set = $flagArr;
    }

    function addFlag($name, $flag) {
        $this->set[$name] = $flag;
    }

    function removeFlag($name) {
        if (array_key_exists($name, $this->set)) {
            unset($this->set[$name]);
        }
    }
}

$u = new FlagSet();
$u->addFlag('flag1', $o);
$u->addFlag('flag2', $p);
$v = new FlagSet(array('flag1'=>$q, 'flag2'=>$p));
$w = new FlagSet(array('flag1'=>$q));

echo "\nComposite objects u(o,p) and v(q,p)\n";
compareObjects($u, $v);

echo "\nu(o,p) and w(q)\n";
compareObjects($u, $w);
?>

Результат выполнения данного примера:

Composite objects u(o,p) and v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

u(o,p) and w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

References inside the constructor
Отладка в PHP
Classes and Objects (PHP 4)


Отладка в PHP

Содержание

  • Об отладке в PHP
Comparing objects
Об отладке в PHP
Appendices


Об отладке в PHP

В PHP нет встроенных средств отладки, однако вы можете использовать внешние отладчики. » Zend IDE имеет встроенный отладчик, а также есть несколько бесплатных расширений отладки, такие как DBG, находящееся по адресу » http://www.php-debugger.com/dbg/, the » Advanced PHP Debugger (APD) или » Xdebug.

Отладка в PHP
Configure options
Отладка в PHP


Configure options

Содержание

  • List of core configure options
Об отладке в PHP
List of core configure options
Appendices


List of core configure options

Below is a partial list of configure options used by the PHP configure scripts when compiling in Unix-like environments. Most configure options are listed in their appropriate locations on the extension reference pages and not here. For a complete up-to-date list of configure options, run ./configure --help in your PHP source directory after running autoconf (see also the Installation chapter). You may also be interested in reading the » GNU configure documentation for information on additional configure options such as --prefix=PREFIX.

Замечание:

These are only used at compile time. If you want to alter PHP's runtime configuration, please see the chapter on Runtime Configuration.

  • Miscellaneous
  • PHP Behaviour
  • Server

Configure Options in PHP

Замечание:

These options are only used in PHP as of PHP 4.1.0, although some are available in older versions too. If you want to compile an older version, some options will probably not be available.

Различные опции

--enable-debug

Компилировать с информацией об отладке.

--with-layout=TYPE

Устанавливает, каким образом установленные файлы будут расположены. TYPE принимает значения PHP (по умолчанию) или GNU.

--with-pear=DIR

Установить PEAR в DIR (по умолчанию PREFIX/lib/php).

--without-pear

Не устанавливать PEAR.

--enable-sigchild

Включить собственный дескриптор SIGCHLD для PHP.

--disable-rpath

Не передавать дополнительные пути для поиска библиотек времени исполнения.

--enable-libgcc

Явно использовать libgcc.

--enable-php-streams

Включить экспериментальный функционал потоков PHP. Используйте только в случае если вы тестируете код!

--with-zlib-dir[=DIR]

Определить местонахождение библиотеки zlib.

--enable-trans-sid

Включить прозрачную передачу идентификатора сессии. Применимо только к PHP 4.1.2 или ниже. Начиная с PHP 4.2.0, эта опция всегда включена.

--with-tsrm-pthreads

Использовать нити (threads) POSIX (по умолчанию).

--enable-shared[=PKGS]

Собирать общие библиотеки [по умолчанию=yes].

--enable-static[=PKGS]

Собирать статические библиотеки [по умолчанию=yes].

--enable-fast-install[=PKGS]

Оптимизировать для быстрой установки [по умолчанию=yes].

--with-gnu-ld

Предполагать что компилятор С использует GNU ld [по умолчанию=no].

--disable-libtool-lock

Избегать блокирования (может испортить параллельные сборки).

--with-pic

Пытаться использовать только PIC/не-PIC объекты [по умолчанию=use both (использовать оба)]

--enable-memory-limit

Компилировать с поддержкой ограничения памяти. (не доступно начиная с PHP 5.2.1 - всегда включено)

--disable-url-fopen-wrapper

Отключить обертку fopen с поддержкой URL, которая позволяет получать доступ к файлам через HTTP или FTP. (не доступно начиная с 5.2.5)

--enable-versioning

Экспортировать только необходимую информацию для отладки. см. INSTALL для дополнительной иформации.

PHP опции

--enable-maintainer-mode

Включает правила сборки и зависимости, которые не будут полезными для начинающего установщика (а иногда сбивающие с толку).

--with-config-file-path=PATH

Устанавливает путь, по котором будет искаться файл php.ini, значение по умолчанию PREFIX/lib.

--enable-safe-mode

Включает безопасный режим по умолчанию.

--with-exec-dir[=DIR]

Разрешить исполнять файлы только из DIR, в безопасним режиме по умолчанию /usr/local/php/bin.

--enable-magic-quotes

Включает магические кавычки по умолчанию.

--disable-short-tags

Отключает короткую форму записи начального тега <? по умолчанию.

--enable-zend-multibyte

Включает многобайтовый код в парсере языка и сканере при запуске. Когда PHP скомпилирован с этой опцией, становится активной также директива encoding в declare конструкции.

--with-libdir

Определеяет папку библиотек для сборки PHP в Unix системах. Для 64-битных систем опция требует особого аргумента --with-libdir=lib64 для папки lib64.

SAPI опции

Следующий список влючает доступные опции SAPI (Server Application Programming Interface) для PHP.

--with-aolserver=DIR

Определяет путь к установленному AOLserver.

--with-apxs[=FILE]

Собирает динамический модуль для Apache. FILE - это опциональный путь к инструменту Apache apxs; по умолчанию для apxs. Убедитесь в том, что вы указали версию apxs, которая действительно установлена в вашей системе, а не ту, которая находится в исхониках apache.

--with-apache[=DIR]

Собирает статичный модуль для Apache. DIR - это верхний уровень папки сборки Apache, по умолчанию /usr/local/apache.

--with-mod_charset

Включает таблицы перекодировки для модуля mod_charset (для версии Russian Apache).

--with-apxs2[=FILE]

Собирает динамический модуль для Apache 2.0. FILE - это опциональный путь к инструменту Apache apxs; по умолчанию для apxs.

--with-caudium=DIR

Собирает PHP как Pike-модуль для использования с Caudium. DIR - это путь к папке сервера Caudium, по умолчанию значение установлено в /usr/local/caudium/server.

--disable-cli

Доступно с версии PHP 4.3.0. Отключает сборку CLI-версии PHP (опция также вызывает --without-pear). Больше информации можно получить в разделе Использование PHP в командной строке.

--enable-embed[=TYPE]

Включает сборку встроенной библиотеки SAPI. TYPE может принимать значение shared или static, по умолчанию установлено shared. Доступно с версии PHP 4.3.0.

--with-fhttpd[=DIR]

Сборка fhttpd модуля. DIR - путь к исходникам fhttpd, по умолчанию /usr/local/src/fhttpd. Опция не доступна после версии PHP 4.3.0.

--with-isapi=DIR

Сборка PHP как модуля ISAPI для использования в Zeus.

--with-nsapi=DIR

Указывает путь к установленному Netscape/iPlanet/SunONE веб-серверу.

--with-phttpd=DIR

Нет информации.

--with-pi3web=DIR

Сборка PHP как модуля для использования в Pi3Web.

--with-roxen=DIR

Сборка PHP как Pike-модуля. DIR - это базовая папка Roxen, обычно /usr/local/roxen/server.

--enable-roxen-zts

Сборка модуля Roxen, используя Zend Thread Safety.

--with-servlet[=DIR]

Включает поддержку сервлетов. DIR - это базовая папка установки JSDK. SAPI требует java-расширения, может быть собрана как доступная для dl.

--with-thttpd=SRCDIR

Сборка PHP как thttpd-модуля.

--with-tux=MODULEDIR

Сборка PHP как TUX-модуля (только для Linux).

--with-webjames=SRCDIR

Сборка PHP как WebJames-модуля (только для RISC OS)

--disable-cgi

Отключает сборку CGI-версии PHP. Доступно с версии PHP 4.3.0.

В PHP 5.3.0 этот аргумент включает FastCGI, который предварительно должен быть включен аргументом --enable-fastcgi.

--enable-force-cgi-redirect

Включает проверку безопасности для внутрисерверных переходов. Вам следует использовать ее, если вы запускаете CGI-версию с Apache.

В PHP 5.3.0 эта опция включена по умолчанию и больше не нуждается в установке. Для ее отключения необходимо установить ini-директиве cgi.force_redirect значение 0.

--enable-discard-path

Если эта опция включена, PHP CGI может быть безопасно размещен вне веб-дерева, и у пользователей не будет возможности обойти проверку .htaccess.

В PHP 5.3.0 этот аргумент отклчен по умолчанию и более не доступен. Для его включения необходимо установить ini-директиве cgi.discard_path значение 1.

--with-fastcgi

Сборка PHP как FastCGI-приложения. Не доступно начиная с PHP 4.3.0, вместо нее вам следует использовать --enable-fastcgi .

--enable-fastcgi

Если эта опция включена, то CGI-модуль будет собран с поддержкой FastCGI. Доступно начиная с PHP 4.3.0

В PHP 5.3.0 этот параметр больше не доступен. Используйте вместо него --enable-cgi.

--disable-path-info-check

Если опция указана, то пути, подобные /info.php/test?a=b будут вызывать ошибки в работе. Доступно начиная с PHP 4.3.0. Для более детальной информации см. » Руководство Apache.

Configure options
Директивы php.ini
Configure options


Директивы php.ini

Содержание

  • Список директив php.ini
  • Список разделов php.ini
  • Описание встроенных директив php.ini
List of core configure options
Список директив php.ini
Appendices


Список директив php.ini

Этот список включает директивы php.ini, которые вы можете использовать для настройки PHP.

Столбец "Место изменения" показывает, когда и где может быть установлена директива. О значениях этих директив смотрите раздел "Где может быть установлена директива?".

Конфигурационные опции
Имя | По умолчанию | Место изменения | Список изменений
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP 4.0.0. Удалена в PHP 5.4.0.
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.3.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP 5. Доступна начиная с версии PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3. Доступна начиная с версии PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM в APC <= 3.0.12. Доступна начиная с версии APC 3.0.0.
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM в APC 2. PHP_INI_ALL в APC <= 3.0.12.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.7.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.6.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.include_once_override | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.12.
apc.localcache | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.14.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.7.
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM в APC 2. Удалена в APC 3.0.13.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.11.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.13.
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.0.
apc.stat | "1" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.10.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.13.
apc.ttl | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.0.
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.0.
apc.write_lock | "1" | PHP_INI_SYSTEM | Доступна начиная с версии APC 3.0.11.
apd.bitmask | "0" | PHP_INI_ALL | Удалена в apd 0.9.
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Доступна начиная с версии apd 0.9.
arg_separator | "&" | PHP_INI_ALL | Удалена в PHP 4.0.6.
arg_separator.input | "&" | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
async_send | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.2.0. Удалена в PHP 4.3.0.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Доступна начиная с версии PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
axis2.client_home | "~/work/axisc/c/deply" | PHP_INI_ALL |
axis2.enable_exception | "1" | PHP_INI_ALL |
axis2.enable_trace | "1" | PHP_INI_ALL |
axis2.log_path | "/tmp" | PHP_INI_ALL |
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL | Доступна начиная с версии bcompiler 0.8.
birdstep.max_links | "-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.2.0.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.2.1.
cgi.discard_path | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 5.2.0. Доступна начиная с версии PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 5.2.0. Доступна начиная с версии PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 5.2.0. Доступна начиная с версии PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Доступна с версии PHP 4.0.5.
cli.pager | "" | PHP_INI_ALL | Доступна с версии PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Доступна с версии PHP 5.4.0.
coin_acceptor.autoreset | "On" | PHP_INI_ALL | Удалена в coin_acceptor 0.2.
coin_acceptor.auto_initialize | "Off" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
coin_acceptor.auto_reset | "On" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
coin_acceptor.command_function | "Off" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.3.
coin_acceptor.delay | "53132" | PHP_INI_ALL | Удалена в coin_acceptor 0.2.
coin_acceptor.delay_coins | "53132" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
coin_acceptor.delay_prom | "55748" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
coin_acceptor.device | "/dev/ttyS1" | PHP_INI_ALL | Удалена в coin_acceptor 0.2.
coin_acceptor.lock_on_close | "Off" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
coin_acceptor.start_unlocked | "On" | PHP_INI_ALL | Доступна начиная с версии coin_acceptor 0.2.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP 4. Доступна начиная с версии PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP 4. Доступна начиная с версии PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP 4. Доступна начиная с версии PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.5.
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM в crack <= 0.2. Доступна начиная с версии PHP 4.0.5. Удалена в PHP 5.0.0.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.3.0. Удалена в PHP 5.1.0.
default_charset | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL | Удалена в версии PHP 5.4.0.
detect_unicode | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.0. Эта устаревшая возможность будет обязательно удалена в будущем.
disable_classes | "" | Только php.ini | Доступна начиная с версии PHP 4.3.2.
disable_functions | "" | Только php.ini | Доступна начиная с версии PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Эта устаревшая возможность будет обязательно удалена в будущем.
engine | "1" | PHP_INI_ALL | Доступна с версии PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
etpan.default.charset | "utf-8" | PHP_INI_ALL |
etpan.default.protocol | "imap" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | Только php.ini |
extension | NULL | Только php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 5.2.0. Доступна начиная с версии PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Доступна начиная с версии PHP 4.4.0.
fbsql.allow_persistant | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6. Удалена в PHP 4.2.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.2.0. Удалена в PHP 5.1.0.
fbsql.batchsize | "1000" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6.
fbsql.mbatchSize | "1000" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.6. Удалена в PHP 4.2.0.
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.5.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.2.3. Доступна начиная с версии PHP 4.0.3.
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL в filter <= 0.9.4. Доступна начиная с версии PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL в filter <= 0.9.4. Доступна начиная с версии PHP 5.2.0.
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.3.
geoip.custom_directory | NULL | PHP_INI_ALL | Доступна начиная с версии geoip 1.0.1.
geoip.database_standard | "GeoIP.dat" | PHP_INI_ALL | Удалена в geoip 1.0.1.
gpc_order | "GPC" | PHP_INI_ALL | Удалена в PHP 5.0.0.
hidef.ini_path | (char*)default_ini_path | PHP_INI_SYSTEM |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Удалена в версии PHP 5.4.0.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP <= 4.2.3. Доступна начиная с версии PHP 4.0.2.
htscanner.config_file | ".htaccess" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM | Доступна начиная с версии htscanner 0.6.0.
htscanner.stop_on_error | "0" | PHP_INI_SYSTEM | Доступна начиная с версии htscanner 0.7.0.
http.allowed_methods | "" | PHP_INI_ALL | Доступна начиная с версии pecl_http 0.4.0. Удалена в pecl_http 1.0.0.
http.allowed_methods_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.cache_log | "" | PHP_INI_ALL | Available since pecl_http 0.8.0. Removed in pecl_http 1.0.0.
http.composite_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.etag.mode | "MD5" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.etag_mode | "MD5" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.force_exit | "1" | PHP_INI_ALL | Available since pecl_http 0.18.0.
http.log.allowed_methods | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.cache | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.composite | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.not_found | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.redirect | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.ob_deflate_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_deflate_flags | "0" | PHP_INI_ALL | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_inflate_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_inflate_flags | "0" | PHP_INI_ALL | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.only_exceptions | "0" | PHP_INI_ALL | Available since pecl_http 0.11.0.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | Available since pecl_http 1.5.0.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Available since pecl_http 1.5.0.
http.redirect_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.methods.allowed | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.request.methods.custom | "" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.send.not_found_404 | "1" | PHP_INI_ALL | Available since pecl_http 1.0.0.
hyerwave.allow_persistent | "0" | PHP_INI_SYSTEM | Removed in PHP 4.3.2.
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.3.2. Удалена в PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Удалена в PHP 5.0.0.
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Доступна начиная с версии ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Доступна начиная с версии ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Доступна начиная с версии ibm_db2 1.0.2.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Удалена в PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Удалена в PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Удалена в PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Удалена в PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Удалена в PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Удалена в PHP 5.2.1.
ignore_repeated_errors | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
imlib2.font_cache_max_size | "524288" | PHP_INI_ALL |
imlib2.font_path | "/usr/share/php/fonts/" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR в PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.array_index_start | "1" | PHP_INI_ALL | Доступна начиная с версии ingres 1.4.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Доступна начиная с версии ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Доступна начиная с версии ingres 1.1.
ingres.default_database | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.default_password | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.default_user | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
ingres.report_db_warnings | "1" | PHP_INI_ALL | Доступна начиная с версии ingres 1.1.
ingres.timeout | "-1" | PHP_INI_ALL | Доступна начиная с версии ingres 1.4.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Доступна начиная с версии ingres 1.2.1.
ircg.control_user | "nobody" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.1.0.
ircg.keep_alive_interval | "60" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.1.0.
ircg.max_format_message_sets | "12" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.1.0.
ircg.shared_mem_size | "6000000" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.1.0.
ircg.work_dir | "/tmp/ircg" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.1.0.
last_modified | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
ldap.base_dn | NULL | PHP_INI_ALL | Удалена в PHP 4.2.0.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log.dbm_dir | "" | PHP_INI_ALL | Удалена в PHP 4.0.1.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3. В PHP 5.3.0 помечена как устаревшая. Эта устаревшая возможность будет обязательно удалена в будущем.
magic_quotes_runtime | "0" | PHP_INI_ALL | Эта устаревшая возможность будет обязательно удалена в будущем.
magic_quotes_sybase | "0" | PHP_INI_ALL | Эта устаревшая возможность будет обязательно удалена в будущем.
mail.add_x_header | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Доступна начиная с версии PHP 5.3.0.
mail.force_extra_parameters | NULL | Только php.ini | Доступна начиная с версии PHP 5.0.0.
mail.log | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.3.0.
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Доступна начиная с версии PHP 4.1.0. Удалена в PHP 4.2.0.
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.4.8. Удалена в PHP 5.0.0.
max_input_time | "-1" | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM в PHP <= 4.2.3; PHP_INI_SYSTEM | PHP_INI_PERDIR начиная с версии PHP 4.3 до through 5.2.6. Доступна начиная с версии PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0; PHP_INI_PERDIR в PHP <= 5.2.6
mbstring.script_encoding | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2.
memcache.allow_failover | "1" | PHP_INI_ALL | Доступна начиная с версии memcache 2.0.2.
memcache.chunk_size | "8192" | PHP_INI_ALL | Доступна начиная с версии memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Доступна начиная с версии memcache 2.0.2.
memcache.hash_function | "crc32" | PHP_INI_ALL | Доступна начиная с версии memcache 2.2.0.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Доступна начиная с версии memcache 2.2.0.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Доступна начиная с версии memcache 2.1.0.
memory_limit | "128M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.3.0.
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Доступна начиная с версии PHP 4.1.0.
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM в PHP <= 4.3.2. Доступна начиная с версии PHP 4.3.0.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.1.
mysql.default_user | NULL | PHP_INI_ALL |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
mysqli.default_host | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
namazu.debugmode | "0" | PHP_INI_ALL |
namazu.lang | NULL | PHP_INI_ALL |
namazu.loggingmode | "0" | PHP_INI_ALL |
namazu.sortmethod | NULL | PHP_INI_ALL |
namazu.sortorder | NULL | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.3.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbtp.datetime_format | "object" | PHP_INI_ALL |
odbtp.detach_default_queries | "0" | PHP_INI_ALL |
odbtp.guid_format | "string" | PHP_INI_ALL | Доступна начиная с версии odbtp 1.1.3.
odbtp.interface_file | "/usr/local/share/odbtp.conf" | PHP_INI_ALL |
odbtp.truncation_errors | "1" | PHP_INI_ALL |
opendirectory.default_separator | "/" | PHP_INI_ALL | Удалена в opendirectory 0.2.2.
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM в PHP < 5.2.3.
oracle.allow_persistent | "-1" | PHP_INI_ALL | Удалена в PHP 5.1.0.
oracle.max_links | "-1" | PHP_INI_ALL | Удалена в PHP 5.1.0.
oracle.max_persistent | "-1" | PHP_INI_ALL | Удалена в PHP 5.1.0.
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.0.4.
pam.servicename | "php" | PHP_INI_ALL |
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Доступна начиная с версии PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Доступна начиная с версии PHP 5.2.0.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Эта устаревшая возможность будет обязательно удалена в будущем.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 5.1.0.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
phar.extract_list | "" | PHP_INI_ALL | Доступна начиная с версии phar 1.1.0.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM в PHP <= 4.2.3. Доступна начиная с версии PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
printer.default_printer | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.6. Удалена в PHP 4.1.1.
python.append_path | "" | PHP_INI_ALL |
python.prepend_path | "." | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3. Помечена устаревшей в PHP 5.3.0. Удалена в версии PHP 5.4.0.
register_long_arrays | "1" | PHP_INI_PERDIR | Доступна начиная с версии PHP 5.0.0. Помечена устаревшей в PHP 5.3.0. Удалена в версии PHP 5.4.0.
report_memleaks | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Added in PHP 5.3.0
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.1.0. Удалена в версии PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.1.0. Удалена в версии PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Удалена в версии PHP 5.4.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "17" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.2. До версии PHP 5.3.5 значение по умолчанию было равно 100.
session.auto_start | "0" | PHP_INI_ALL |
session.bug_compat_42 | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0. Удалена в версии PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0. Удалена в версии PHP 5.4.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_httponly | "" | PHP_INI_ALL | Доступна начиная с версии PHP 5.2.0.
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_dividend | "100" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0. Удалена в PHP 4.3.2.
session.gc_divisor | "100allow_call_time_pass_reference" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Доступна начиная с версии PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=php_session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/php_session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_ALL | PHP_INI_ALL в PHP 4.0.0. PHP_INI_PERDIR в PHP < 5.3.0
simple_cvs.authMethod | "0" | PHP_INI_ALL |
simple_cvs.compressionLevel | "0" | PHP_INI_ALL |
simple_cvs.cvsRoot | "0" | PHP_INI_ALL |
simple_cvs.host | "0" | PHP_INI_ALL |
simple_cvs.moduleName | "0" | PHP_INI_ALL |
simple_cvs.userName | "0" | PHP_INI_ALL |
simple_cvs.workingDir | "0" | PHP_INI_ALL |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
soap.wsdl_cache | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.5.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.5.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.0.2. PHP_INI_SYSTEM в PHP <= 4.0.3.
sybase.hostname | NULL | PHP_INI_ALL | Удалена в PHP 4.0.2.
sybase.interface_file | "" | PHP_INI_ALL |
sybase.login_timeout | "0" | PHP_INI_ALL | Удалена в PHP 4.0.2.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.0.2. PHP_INI_SYSTEM в PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.0.2. PHP_INI_SYSTEM в PHP <= 4.0.3.
sybase.min_client_severity | "10" | PHP_INI_ALL | Удалена в PHP 4.0.2.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.min_server_severity | "10" | PHP_INI_ALL | Удалена в PHP 4.0.2.
sybase.timeout | "0" | PHP_INI_ALL | Удалена в PHP 4.0.2.
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.0.2. Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.login_timeout | "-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.0.2. Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.0.2. Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2. Удалена в PHP 4.0.3.
sybct.packet_size | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.2.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR в PHP 5. Доступна начиная с версии PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
track_vars | "1" | PHP_INI_ALL | Удалена в PHP 4.0.3.
unserialize_callback_func | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.2.0.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.2.12.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.3.0.
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 5.0.5.
velocis.max_links | "-1" | PHP_INI_ALL | Удалена в PHP 4.2.0.
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Доступна начиная с версии vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Доступна начиная с версии vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Доступна начиная с версии vld 0.8.0.
xbithack | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
xdebug.auto_profile | "0" | PHP_INI_ALL | Удалена в Xdebug 2.0.0.
xdebug.auto_profile_mode | "0" | PHP_INI_ALL | Удалена в Xdebug 2.0.0.
xdebug.auto_trace | "0" | PHP_INI_ALL |
xdebug.collect_includes | "1" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.collect_params | "0" | PHP_INI_ALL |
xdebug.collect_return | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.collect_vars | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.default_enable | "1" | PHP_INI_ALL | PHP_INI_SYSTEM в Xdebug 1.
xdebug.dump.COOKIE | NULL | PHP_INI_ALL |
xdebug.dump.ENV | NULL | PHP_INI_ALL |
xdebug.dump.FILES | NULL | PHP_INI_ALL |
xdebug.dump.GET | NULL | PHP_INI_ALL |
xdebug.dump.POST | NULL | PHP_INI_ALL |
xdebug.dump.REQUEST | NULL | PHP_INI_ALL |
xdebug.dump.SERVER | NULL | PHP_INI_ALL |
xdebug.dump.SESSION | NULL | PHP_INI_ALL |
xdebug.dump_globals | "1" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.dump_once | "1" | PHP_INI_ALL |
xdebug.dump_undefined | "0" | PHP_INI_ALL |
xdebug.extended_info | "1" | PHP_INI_SYSTEM | Доступна начиная с версии Xdebug 2.0.0.
xdebug.idekey | "" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.manual_url | "http://www.php.net" | PHP_INI_ALL |
xdebug.max_nesting_level | "100" | PHP_INI_ALL |
xdebug.output_dir | "/tmp" | PHP_INI_PERDIR | PHP_INI_SYSTEM в Xdebug <= 1.2.0. Удалена в Xdebug 2.0.0.
xdebug.profiler_aggregate | "0" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.profiler_append | "0" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.profiler_enable | "0" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.profiler_enable_trigger | "0" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.profiler_output_dir | "/tmp" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.profiler_output_name | "cachegrind.out.%p" | PHP_INI_PERDIR | Доступна начиная с версии Xdebug 2.0.0.
xdebug.remote_autostart | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.1.0.
xdebug.remote_enable | "0" | PHP_INI_PERDIR |
xdebug.remote_handler | "dbgp" | PHP_INI_ALL |
xdebug.remote_host | "localhost" | PHP_INI_ALL |
xdebug.remote_log | "" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.remote_mode | "req" | PHP_INI_ALL |
xdebug.remote_port | "9000" | PHP_INI_ALL |
xdebug.show_exception_trace | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.show_local_vars | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.show_mem_delta | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.trace_format | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.trace_options | "0" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.trace_output_dir | "/tmp" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.trace_output_name | "trace.%c" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.var_display_max_children | "128" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.var_display_max_data | "512" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xdebug.var_display_max_depth | "3" | PHP_INI_ALL | Доступна начиная с версии Xdebug 2.0.0.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
yami.response.timeout | "5" | PHP_INI_ALL | Доступна начиная с версии yami 1.0.1.
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0. Удалена в PHP 5.0.0.
yaz.log_mask | NULL | PHP_INI_ALL | Доступна начиная с версии yaz 1.0.3.
yaz.max_links | "100" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0. Удалена в PHP 5.0.0
zend.enable_gc | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.3.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.3.0.
zend.multibyte | "0" | PHP_INI_PERDIR | Доступна начиная с версии PHP 5.4.0.
zend_extension | NULL | Только php.ini |
zend_extension_debug | NULL | Только php.ini |
zend_extension_debug_ts | NULL | Только php.ini |
zend_extension_ts | NULL | Только php.ini |
zlib.output_compression | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.0.

Директивы php.ini
Список разделов php.ini
Директивы php.ini


Список разделов php.ini

В этом списке указаны разделы, в которых вы можете настроить PHP в зависимости от хоста или пути. Эти разделы необязательны.

Данные разделы не имеют прямого влияния на PHP. Они нужны для группировки других директив php.ini вместе и для возможности действовать в зависимости от определенного хоста или пути.

Данные разделы используются только в режиме CGI/FastCGI и в них не могут быть использованы директивы extension и zend_extension.

Разделы
Название | Место изменения | История изменений
[HOST=] | PHP_INI_SYSTEM | Добавлено в PHP 5.3.0.
[PATH=] | PHP_INI_SYSTEM | Добавлено в PHP 5.3.0.

Краткое разъяснение конфигурационных директив.

[HOST=<host>]

Данный раздел позволяет определять набор php.ini директив, которые будут применяться только к указанному хосту.

Пример #1 Активация полного логирования и сообщения об ошибках для dev. домена

[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On

[PATH=<path>]

Данный раздел позволяет определять набор php.ini директив, которые будут применяться, если скрипт будет запущен из указанного пути.

Пример #2 Добавление скрипта безопасности для защищенных зон

[PATH=/home/site/public/secure]
auto_prepend_file=security.php

Список директив php.ini
Описание встроенных директив php.ini
Директивы php.ini


Описание встроенных директив php.ini

Этот список включает встроенные директивы php.ini, которые вы можете использовать для настройки PHP. Директивы, которые обрабатываются модулями, перечислены и подробно описаны на страницах документаций соответствующих модулей. К примеру, информация о директивах сессий может быть найдена на странице документации сессий.

Опции Httpd

Опции Httpd
Имя | По умолчанию | Место изменения | Список изменений
async_send | "0" | PHP_INI_ALL |

Языковые опции

Опции языка и прочих настроек
Имя | По умолчанию | Место изменения | Список изменений
short_open_tag | "1" | PHP_INI_ALL | PHP_INI_ALL в PHP <= 4.0.0. PHP_INI_PERDIR в PHP < 5.3.0
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.0.0.
precision | "14" | PHP_INI_ALL |
serialize_precision | "17" | PHP_INI_ALL | Доступна начиная с версии PHP 4.3.2. До версии PHP 5.3.5 значение по умолчанию было 100.
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP 4.0.0.
disable_functions | "" | php.ini only | Доступна начиная с версии PHP 4.0.1.
disable_classes | "" | php.ini only | Доступна начиная с версии PHP 4.3.2.
expose_php | "1" | Только php.ini |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.0.0. Удалена в PHP 5.3.0
zend.multibyte | "0" | PHP_INI_ALL | Доступна начиная с версии PHP 5.4.0
detect_unicode | "1" | PHP_INI_ALL | Доступна начиная с версии PHP 5.1.0. Эта устаревшая возможность будет обязательно удалена в будущем.

Краткое разъяснение конфигурационных директив.

short_open_tag boolean

Определяет, разрешается ли короткая форма записи (<? ?>) тегов PHP. Если вы хотите использовать PHP совместно с XML, вы можете отключить эту опцию, чтобы беспрепятственно использовать <?xml ?>. В противном случае, вы можете отобразить это при помощи PHP, например: <?php echo '<?xml version="1.0"?>'; ?>. Если же эта опция отключена, вы должны использовать длинную форму открывающего тега PHP (<?php ?>).

Замечание:

Эта директива также влияла на сокращение <?= до версии PHP 5.4.0, которое идентично записи <? echo. Для использования этого сокращения должна была быть включена директива short_open_tag. Начиная с версии PHP 5.4.0 запись <?= стала доступна всегда.

asp_tags boolean
Включает использование тегов в стиле ASP в дополнение к обычным тегам <?php ?>. Это касается и сокращения для отображения значения переменных <%= $value %>. Для получения дополнительной информации, обратитесь к разделу Экранирование HTML.
precision integer
Количество значащих цифр, отображаемых для чисел с плавающей точкой.
serialize_precision integer
Количество сохраняемых значащих цифр при сериализации чисел с плавающей точкой.
y2k_compliance boolean
Включение совместимости с 2000 годом (создаст проблемы с несовместимыми браузерами)
allow_call_time_pass_reference boolean

Нужно ли выводить предупреждение, если аргументы передаются по ссылке при вызове функции. Рекомендуется указывать в объявлении функции передаваемые по ссылке аргументы. Попробуйте выключить эту опцию и убедиться, что ваши скрипты правильно работают без неё и что они будут работать с будущими версиями языка (вы будете получать предупреждение каждый раз, когда вы будете пользоваться этой возможностью).

Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы аргумент не объявлялся передаваемым по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.

В PHP 5, allow_call_time_pass_reference была помечена устаревшей, в версиях до PHP 5.3.0 использование этой возможности вызовет ошибку уровня E_COMPILE_WARNING, а в версиях PHP 5.3.0+ - уровня E_DEPRECATED.

См. также Подробное описание ссылок.

expose_php boolean

Выдает факт присутствия PHP на сервере, включая передачу версии PHP в HTTP-заголовке (например, X-Powered-By: PHP/5.3.7). Идентификаторы логотипов также показываются, таким образом, при добавлении их к ссылке на сайте с PHP будет показан соответствующий логотип (например, » http://www.php.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42). Отключение данной опции также влияет на вывод функции phpinfo(), в этом случае логотип PHP и информация о разработчиках, принимавших участие в разработке PHP, отображаться не будет.

Смотрите также php_logo_guid() и phpcredits().

disable_functions string

Эта директива позволяет отключить некоторые функции по причинам безопасности. Она принимает список имен функций, разделенный запятыми. disable_functions не подвержена влиянию безопасного режима.

Только внутренние функции могут быть отключены с помощью этой директивы. Пользовательские функции ей не подвержены.

Эта директива должна быть установлена в php.ini. Например, ее нельзя использовать в httpd.conf.

disable_classes string
Эта директива позволяет отключить некоторые классы по причинам безопасности. Она принимает список имен классов, разделенных запятыми. disable_classes не подвержена влиянию безопасного режима. Эта директива должна быть установлена в php.ini. Например, ее нельзя использовать в httpd.conf.

Замечание: Замечание о доступности
Эта директива стала доступной в PHP 4.3.2

zend.ze1_compatibility_mode boolean

Включает режим совместимости с Zend Engine 1 (PHP 4). Это влияет на клонирование, приведение типов (объекты без свойств приводятся к FALSE или 0) и сравнение объектов. В этом режиме объекты по умолчанию передаются по значению вместо ссылки.

См. также раздел Миграция из PHP 4 в PHP 5.

Внимание

Эта возможность была помечена УСТАРЕВШЕЙ и БЫЛА УДАЛЕНА начиная с версии PHP 5.3.0.

zend.multibyte boolean

Разрешает парсинг исходных файлов в многобайтных кодировках.

detect_unicode boolean

Определяет, нужно ли проверять BOM (Byte Order Mark, метка порядка байт) и корректность многобайтных символов в файле. Эта проверка производится до вызова __halt_compiler(). Доступна только в режиме Zend Multibyte.

Ограничения ресурсов

Ограничения ресурсов
Имя | По умолчанию | Место изменения | Список изменений
memory_limit | "128M" | PHP_INI_ALL | "8M" до PHP 5.2.0, "16M" в PHP 5.2.0

Краткое разъяснение конфигурационных директив.

memory_limit integer

Эта директива задаёт максимальный объём памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы убрать ограничения, установите значение этой директивы в -1.

В версиях до PHP 5.2.1 для использования этой директивы, она должна была быть указана на этапе компиляции. Так, ваша строка конфигурации должна была включать: --enable-memory-limit . Эта опция компиляции была также необходима для использования функций memory_get_usage() и memory_get_peak_usage() до версии 5.2.1.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.

См. также: max_execution_time.

Настройка производительности

Настройка производительности
Название | Значение по умолчанию | Место изменения | История изменений
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Доступна начиная с версии PHP 5.1.0.

Краткое разъяснение конфигурационных директив.

realpath_cache_size integer

Определяет размера кэша realpath, используемого в PHP. Это значение должно быть увеличено на системах, в которых PHP открывает большое количество файлов соответственно количеству выполняемых файловых операций.

realpath_cache_ttl integer

Время (в секундах) в течение которого будет использован кэш realpath для указанного файла или директории. Для систем с редко меняющимися файлайми это значение можно увеличить.

Обработка данных

Конфигурационные опции обработки данных
Имя | По умолчанию | Место изменения | Список изменений
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | Доступна начиная с версии PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Доступна начиная с версии PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 5.0.5.
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Доступна начиная с версии PHP 5.3.0
auto_globals_jit | "1" | PHP_INI_PERDIR | Доступна начиная с версии PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Доступна начиная с версии PHP 5.0.0. Помечена устаревшей в PHP 5.3.0. Удалена в версии PHP 5.4.0.
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM в PHP <= 4.2.3. Доступна начиная с версии PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3. Доступна начиная с версии PHP 4.1.0.
allow_webdav_methods | "0" | PHP_INI_PERDIR |

Краткое разъяснение конфигурационных директив.

track_vars boolean

Если включено, переменные окружения, GET, POST, Cookie и серверные переменные могут быть получены через глобальные ассоциативные массивы $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER.

Обратите внимание, что начиная с версии PHP 4.0.3, track_vars всегда включена.

arg_separator.output string

Этот разделитель используется в генерируемых PHP URL в качестве разделителя аргументов.

arg_separator.input string

Список разделителей, используемых PHP для получения переменных из URL.

Замечание:

Каждый символ в этой директиве считается разделителем!

variables_order string

Устанавливает порядок обработки переменных EGPCS (Environment, Get, Post, Cookie, и Server). Например, если variables_order установлена в "SP", то PHP создаст superglobals $_SERVER и $_POST, но не будет создавать $_ENV, $_GET и $_COOKIE. Установка в "" означает, что ни одна superglobals не будет установлена.

Если включена устаревшая директива register_globals, то variables_order также устанавливает порядок экспорта переменных ENV, GET, POST, COOKIE и SERVER в глобальное пространство. Например, если порядок переменных установлен как "EGPCS", register_globals включена, и существуют обе $_GET['action'] и $_POST['action'], то переменная $action будет содержать значение $_POST['action'], так как P в нашем примере идет после G.

Внимание

В CGI и FastCGI SAPI, в $_SERVER также добавляются значения переменных окружения; S всегда эквивалентна ES вне зависимости от самого положения E в этой директиве.

Замечание:

Эта директива также влияет на содержимое и порядок переменной $_REQUEST.

request_order string

Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.

Если значение этой директивы не установлено, для содержимого переменной $_REQUEST используется значение директивы variables_order.

Учтите, что файлы php.ini, поставляемые с дистрибутивом, по соображениям безопасности не содержат значение 'C' (cookies).

auto_globals_jit boolean

Когда включено, переменные SERVER и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.

Директивы PHP register_globals, register_long_arrays и register_argc_argv должны быть выключены для правильной работы этой директивы. Начиная с версии PHP 5.1.3 стало необязательно выключать register_argc_argv.

Внимание

Использование переменных SERVER и ENV проверяется на стадии компиляции, поэтому их использование с помощью, например, переменных переменных не запустит их инициализацию.

register_globals boolean

Регистрировать или нет переменные EGPCS (Environment, GET, POST, Cookie, Server) в качестве глобальных переменных.

Начиная с версии » PHP 4.2.0, значением по умолчанию для этой директивы является off.

Пожалуйста, ознакомтесь с главой о безопасности Использование глобальных переменных для получения дополнительной информации.

Обратите внимание, что register_globals не может быть установлена во время выполнения скрипта (ini_set()). Тем не менее, вы можете использовать .htaccess, если ваш сервер позволяет это, как описано выше. Пример директивы в .htaccess: php_flag register_globals off.

Замечание:

На поведение register_globals влияет директива variables_order.

Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

register_argc_argv boolean
Сообщает PHP, следует ли объявлять переменные argv и argc (которые будут содержать GET-информацию). См. также Использование PHP в командной строке. Эта директива стала доступна начиная с версии PHP 4.0.0 и до этого была всегда включена.
register_long_arrays boolean
Сообщает PHP, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. Если включена (по умолчанию), то длинные предопределенные переменные PHP, например $HTTP_GET_VARS, будут объявлены. Если вы их не используете, рекомендуем отключить их из соображений производительности. Вместо них следует использовать суперглобальные массивы, например $_GET. Эта директива стала доступна начиная с версии PHP 5.0.0.
Внимание

С версии PHP 5.3.0 эта возможность считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

post_max_size integer
Устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов. Для загрузки больших файлов это значение должно быть больше, значения директивы upload_max_filesize. Если дополнительно используется ограничение памяти, memory_limit также влияет на загрузку файлов. В сущности, memory_limit должна быть больше чем post_max_size. Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ. Если размер POST-данных больше чем post_max_size, суперглобальные переменные $_POST и $_FILES будут пустыми. Это можно отследить различными способами, например передав $_GET переменную в скрипт, обрабатывающий данные, т.е. <form action="edit.php?processed=1">, а затем проверить, установлена ли переменная $_GET['processed'].

Замечание:

PHP разрешает сокращения значений бит, включая K (кило), M (мега) и G (гига). PHP автоматически преобразует все эти сокращения. Будьте осторожны не превысить порог 32-битного знакового целого (если вы используете 32-битную версию), так как это приведет к ошибке вашего скрипта.

gpc_order string

Устанавливает порядок обработки переменных GET/POST/COOKIE. Значением по умолчанию для этой директивы является "GPC". Установка её в "GP", к примеру, приведёт к тому, что PHP будет полностью игнорировать cookies и перезапишет любую GET-переменную POST-переменной с таким же именем.

Замечание:

Эта опция не доступна в PHP 4. Вместо неё используйте variables_order.

auto_prepend_file string

Определяет имя файла, который будет автоматически обрабатываться перед основным файлом. Файл вызывается так, будто он был подключён при помощи функции require(), так что include_path также используется.

Специальное значение none отключает эту директиву.

auto_append_file string

Определяет имя файла, который будет автоматически обрабатываться после основного файла. Файл вызывается так, будто он был подключён при помощи функции require(), так что include_path тоже используется.

Специальное значение none отключает эту директиву.

Замечание: Если скрипт завершает работу при помощи exit(), auto_append_file НЕ выполняется.

default_mimetype string

default_charset string

PHP всегда отправляет кодировку по умолчанию в заголовке Content-Type. Чтобы отключить отправку кодировки, просто установите её пустой строкой.

always_populate_raw_post_data boolean

Всегда заполнять переменную $HTTP_RAW_POST_DATA, содержащую "сырые" POST-данные. В противном случае, переменная будет заполнена только при неопознанном MIME типе данных. Однако, предпочтительным способ доступа к "сырым" POST-данным является php://input. $HTTP_RAW_POST_DATA недоступна при enctype="multipart/form-data".

allow_webdav_methods boolean

Разрешает обработку HTTP-запросов WebDAV при помощи PHP-скриптов (например PROPFIND, PROPPATCH, MOVE, COPY и т.д.). Эта директива не существует начиная с версии PHP 4.3.2. Если вы хотите получить POST-данные этих запросов, вы должны также включить always_populate_raw_post_data.

См. также: magic_quotes_gpc, magic_quotes_runtime и magic_quotes_sybase.

Пути и Директории

Конфигурационные Опции Путей и Директорий
Имя | По умолчанию | Место изменения | Список изменений
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM in PHP < 5.3.0
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | php.ini only |
zend_extension | NULL | php.ini only |
zend_extension_debug | NULL | php.ini only |
zend_extension_debug_ts | NULL | php.ini only |
zend_extension_ts | NULL | php.ini only |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Available since PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Доступна, начиная с PHP 4.3.0. PHP_INI_ALL до версии PHP 5.2.1.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Доступна, начиная с PHP 4.2.0. PHP_INI_ALL до версии PHP 5.2.1.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Доступна, начиная с PHP 4.2.0. PHP_INI_ALL до версии PHP 5.2.1.
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Доступна, начиная с PHP 4.3.0. PHP_INI_ALL до версии PHP 5.2.1.
fastcgi.logging | "1" | PHP_INI_SYSTEM | Доступна, начиная с PHP 4.3.0. PHP_INI_ALL до версии PHP 5.2.1.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Доступна, начиная с PHP 4.3.0.

Краткое разъяснение конфигурационных директив.

include_path string

Указывает список директорий, в которых функции require(), include(), fopen(), file(), readfile() и file_get_contents() ищут файлы. Формат соответствует формату системной переменной окружения PATH: список директорий, разделённых двоеточием в Unix или точкой с запятой в Windows.

При поиске подключаемых файлов PHP отдельно рассматривает каждое значение в include_path. Он проверяет первый путь, если файл в нем не найден, то он переходит к следующему, и так до тех пор, пока не найдет подключаемый файл, либо возвратит предупреждение или ошибку. Вы можете изменить ваш include_path во время выполнения скрипта с помощью функции set_include_path().

Пример #1 include_path в Unix

include_path=".:/php/includes"

Пример #2 include_path в Windows

include_path=".;c:\php\includes"

Использование . в include_path позволяет задавать относительные пути для подключения файлов, так как точка означает текущую директорию. Однако, более эффективно использовать include './file', чем заставлять PHP каждый раз проверять текущую директорию при подключении каждого файла.

open_basedir string

Ограничивает файлы, которые могут быть открыты с помощью PHP указанным деревом каталогов, включая сам файл. Эта директива НЕ подвержена влиянию безопасного режима.

Когда скрипт пытается открыть файл, например, с помощью функции fopen() или gzopen(), проверяется местонахождение файла. Если файл находится вне указанного дерева каталогов, PHP откажется его открывать. Все символические ссылки будут раскрыты, так что с их помощью не удастся обойти это ограничение. Если файл не существует, то символическая ссылка не сможет быть прочитана, то уже имя файла (прочитанное) будет рассматриваться open_basedir .

Специальное значение . обозначает, что рабочая директория скрипта будет использован в качестве базовой директории . Однако это немного опасно, так как текущая директория скрипта может быть легко изменена с помощью chdir().

В httpd.conf, open_basedir может быть выключена (например, для некоторых виртуальных хостов) тем же способои, что и любая другая конфигурационная директива: "php_admin_value open_basedir none".

В Windows разделяйте директории точкой с запятой. На всех остальных системах, разделяйте директории двоеточием. При работе в качестве модуле Apache пути open_basedir автоматически наследуются от родительских директорий.

Ограничение, определяемое open_basedir является именем директории начиная с версии PHP 5.2.16 и 5.3.4. Предыдущие версии использовали это значение в качестве префикса. Это означает, что "open_basedir = /dir/incl" также разрешит доступ к "/dir/include" и "/dir/incls", если они существуют. Если вы захотите устрожить доступ только к указанной директории, закончите ее слэшем. Например: open_basedir = /dir/incl/

По умолчанию все файлы могут быть открыты.

Замечание:

Начиная с версии PHP 5.3.0 значение open_basedir можно сделать более строгим во время выполнения скрипта. Это означает, что если open_basedir была установлена в /www/ в php.ini, то скрипт может ужать конфигурацию до /www/tmp/ во время выполнения с помощью ini_set(). При указании нескольких директорий можно использовать константу PATH_SEPARATOR в качестве разделителя путей, не зависящего от операционной системы.

doc_root string

"Корневая директория" PHP на этом сервере. Используется только в случае, если не пустая. Если PHP сконфигурирован с безопасный режим, файлы вне этой директории не обрабатываются. Если PHP не был скомпилирован с FORCE_REDIRECT, вам следует установить doc_root, если вы используете PHP в качестве CGI под любым веб-сервером (кроме IIS). Альтернативой является использование конфигурационной директивы cgi.force_redirect, речь о которой идёт ниже.

user_dir string

Базовое имя директории, используемой в домашнем каталоге пользователя для PHP файлов, например, public_html.

extension_dir string

В какой директории PHP должен искать динамически загружаемые расширения. См. также: enable_dl и dl().

extension string

Какие динамически загружаемые расширения должны быть загружены при старте PHP.

zend_extension string

Абсолютный путь до динамически загружаемого расширения Zend (например, APD), которое должно быть загружено при старте PHP.

zend_extension_debug string

Вариант zend_extension для расширений, скомпилированных с отладочной информацией.

zend_extension_debug_ts string

Вариант zend_extension для потокобезопасных расширений, скомпилированных с отладочной информацией.

zend_extension_ts string

Вариант zend_extension для потокобезопасных расширений.

cgi.check_shebang_line boolean

Контролирует, нужно ли проверять первую строку CGI PHP-скрипта на содержание #! (shebang). Эта строка может быть необходима, если скрипт должен поддерживать как отдельный запуск, так и с помощью PHP CGI. PHP в режиме CGI пропускает эту строку и игнорирует ее содержимое, если данная директива включена.

cgi.fix_pathinfo boolean

Обеспечивает поддержку правильных PATH_INFO/PATH_TRANSLATED в CGI. Раньше PHP просто устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не обращал внимания на PATH_INFO. Для получения дополнительной информации о PATH_INFO, обратитесь к спецификации CGI. Установка этого значения в 1 заставит PHP CGI исправлять свой путь в соответствии со спецификацией. Значение 0 соответствует предыдущему поведению. По умолчанию опция включена. Вы должны исправить свои скрипты так, чтобы они использовали SCRIPT_FILENAME вместо PATH_TRANSLATED.

cgi.force_redirect boolean

Директива cgi.force_redirect необходима для обеспечения безопасности во время работы PHP в качестве CGI под большинством веб-серверов. Если оставить ее неопределённой, по умолчанию PHP включает эту директиву. Вы можете выключить её на свой страх и риск.

Замечание:

Пользователям Windows: Вы можете безопасно выключить её под IIS. Более того, вы должны это сделать. Чтобы заставить OmniHTTPD или Xitami работать, вы должны отключить эту директиву.

cgi.redirect_status_env string

Если cgi.force_redirect включена и вы работаете не под веб-сервером Apache или Netscape (iPlanet), вам может понадобится установить переменную окружения, которую будет искать PHP чтобы убедиться, что он может продолжать выполнение.

Замечание:

Установка этой переменной может повлечь за собой проблемы с безопасностью, так что вы должны знать, что вы делаете.

fastcgi.impersonate string

FastCGI под IIS (в ОС на базе WINNT) поддерживает возможность имперсонации прав безопасности вызывающего клиента. Это позволяет IIS определить контекст безопасности, в котором выполняется запрос. mod_fastcgi под Apache на текущий момент не поддерживает эту возможность (03/17/2002). Установите в 1 при работе под IIS. Значение по умолчанию - ноль.

fastcgi.logging boolean

Включает логирование SAPI при использовании FastCGI. Логирование включено по умолчанию.

cgi.rfc2616_headers int

Сообщает PHP, какой тип заголовков использовать при отправке кода ответа HTTP. Если установлено в 0, PHP отправляет заголовок "Status:", который поддерживается Apache и другими веб-серверами. Если установлено в 1, PHP отправляет заголовок, соответствующий » RFC 2616. Оставьте в значении 0, если вы не уверены в том, что это значит.

Закачивание Файлов

Конфигурационные Опции Закачивания Файлов
Имя | По умолчанию | Место изменения | Список изменений
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.2.3. Доступна начиная с версии PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Available since PHP 5.2.12.

Краткое разъяснение конфигурационных директив.

file_uploads boolean или integer

Разрешать или не разрешать закачивание файлов. См. также директивы upload_max_filesize, upload_tmp_dir и post_max_size.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
upload_tmp_dir string

Временная директория, используемая для хранения файлов во время закачивания. Должна быть доступна для записи пользователю, от имени которого запущен PHP. Если не указана, используется директория по умолчанию для вашей системы.

Если к указанной директории нет прав на запись, PHP откатится обратно к системной временной директории, используемой по умолчанию. Если включена директоива open_basedir, то для успешной загрузки файлов системная директория по умолчанию должна быть разрешена.

upload_max_filesize integer

Максимальный размер закачиваемого файла.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
max_file_uploads integer

Максимально разрешенное количество одновременно закачиваемых файлов. Начиная с PHP 5.3.4, пустые поля загрузки не рассматриваются этим ограничением

Общий SQL

Конфигурационные Опции Общего SQL
Имя | По умолчанию | Место изменения | Список изменений
sql.safe_mode | "0" | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

sql.safe_mode boolean

Если включена, функции соединения с базой данных, использующие значения по умолчанию, будут использовать эти значения вместо передаваемых аргументов. Для значений по умолчанию смотрите документацию по функциям подключения соответствующей базы данных.

Список разделов php.ini
Список/классификация расширений
Директивы php.ini


Список/классификация расширений

Содержание

  • В алфавитном порядке
  • По составу
  • По состоянию

Это приложение классифицирует по различным критериям более 150 расширений, документированных в PHP Руководстве.

Описание встроенных директив php.ini
В алфавитном порядке
Appendices


В алфавитном порядке

  • AMQP
  • Apache
  • APC
  • APD
  • Массивы
  • BBCode
  • BC Math
  • bcompiler
  • Bzip2
  • Cairo
  • Календарь
  • chdb
  • Classkit
  • Классы/Объекты
  • COM
  • Crack
  • Ctype
  • CUBRID
  • cURL
  • Cyrus
  • Дата/Время
  • DBA
  • dBase
  • DB++
  • dbx
  • Direct IO
  • Каталоги
  • DOM
  • DOM XML (PHP 4)
  • .NET
  • Eio
  • Enchant
  • Обработка ошибок
  • Запуск программы
  • Exif
  • Expect
  • FAM
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Функции для работы с файловой системой
  • Filter
  • FriBiDi
  • FTP
  • Управление функциями
  • Gearman
  • GeoIP
  • Gettext
  • Gmagick
  • GMP
  • GnuPG
  • Gupnp
  • haru
  • Hash
  • htscanner
  • HTTP
  • Hyperwave
  • Hyperwave API
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • ID3
  • Informix
  • IIS
  • GD
  • ImageMagick
  • IMAP
  • inclued
  • PHP Опции/Информация
  • Ingres
  • Inotify
  • intl
  • Java
  • JSON
  • Judy
  • KADM5
  • KTaglib
  • LDAP
  • Libevent
  • libxml
  • LZF
  • Mail
  • Mailparse
  • Math
  • MaxDB
  • Multibyte String
  • Mcrypt
  • MCVE
  • Memcache
  • Memcached
  • Memtrack
  • Mhash
  • Mimetype
  • Ming
  • Misc.
  • mnoGoSearch
  • Mongo
  • mqseries
  • Msession
  • mSQL
  • Mssql
  • MySQL
  • mysqli
  • Mysqlnd
  • mysqlnd_ms
  • mysqlnd_qc
  • Ncurses
  • Gopher
  • Network
  • Newt
  • YP/NIS
  • Lotus Notes
  • NSAPI
  • OAuth
  • Object Aggregation
  • OCI8
  • oggvorbis
  • OpenAL
  • OpenSSL
  • Контроль вывода
  • Object overloading
  • Ovrimos SQL
  • Paradox
  • Parsekit
  • PCNTL
  • PCRE
  • PDF
  • PDO
  • 4D (PDO)
  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird/Interbase (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • MS SQL Server (PDO)
  • PostgreSQL
  • Phar
  • POSIX
  • Принтер
  • Proctitle
  • PS
  • Pspell
  • qtdom
  • Radius
  • Rar
  • Readline
  • Recode
  • Reflection
  • Регулярные выражения POSIX
  • RPM Reader
  • RRD
  • runkit
  • SAM
  • SCA
  • scream
  • SDO
  • SDO DAS XML
  • SDO-DAS-Relational
  • Semaphore
  • Сессии
  • Session PgSQL
  • Управление разделяемой памятью
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Solr
  • Sphinx
  • SPL
  • SPL Types
  • SPPLUS
  • SQLite
  • SQLite3
  • SQLSRV
  • ssdeep
  • SSH2
  • Statistics
  • Stomp
  • Streams
  • Строки
  • SVM
  • SVN
  • SWF
  • Swish
  • Sybase
  • TCP
  • Tidy
  • Tokenizer (Лексер)
  • tokyo_tyrant
  • ODBC
  • URL
  • V8js
  • Функции для работы с переменными
  • vpopmail
  • W32api
  • WDDX
  • Weakref
  • win32ps
  • win32service
  • WinCache
  • xattr
  • xdiff
  • Xhprof
  • XML-анализатор
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • XSLT (PHP 4)
  • Yaml
  • YAZ
  • Zip
  • Zlib
Список/классификация расширений
По составу
Список/классификация расширений


По составу

Расширения, входящие в состав ядра

На самом деле это ненастоящие расширения. Они являются частью ядра PHP и не могут быть исключены из бинарного дистрибутива PHP с помощью опций компиляции.

  • Массивы

  • Классы/Объекты

  • Дата/Время

  • Каталоги

  • Обработка ошибок

  • Запуск программы

  • Функции для работы с файловой системой

  • Filter

  • Управление функциями

  • PHP Опции/Информация

  • Mail

  • Math

  • Misc.

  • Network

  • Контроль вывода

  • Reflection

  • Регулярные выражения POSIX

  • Сессии

  • SPL

  • Streams

  • Строки

  • Tokenizer (Лексер)

  • URL

  • Функции для работы с переменными

Поставляемые расширения

Эти расширения поставляются вместе с PHP.

  • Apache

  • BC Math

  • Bzip2

  • Календарь

  • COM

  • Ctype

  • cURL

  • DBA

  • dBase

  • DOM

  • .NET

  • Exif

  • FrontBase

  • FDF

  • FTP

  • Gettext

  • GMP

  • Hash

  • Firebird/InterBase

  • iconv

  • Informix

  • GD

  • IMAP

  • JSON

  • LDAP

  • libxml

  • Multibyte String

  • Mcrypt

  • Mhash

  • Mimetype

  • Ming

  • mSQL

  • Mssql

  • MySQL

  • mysqli

  • Mysqlnd

  • Ncurses

  • NSAPI

  • Object Aggregation

  • OCI8

  • OpenSSL

  • PCNTL

  • PCRE

  • PDO

  • 4D (PDO)

  • CUBRID (PDO)

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • MS SQL Server (PDO)

  • PostgreSQL

  • POSIX

  • Pspell

  • Readline

  • Recode

  • Semaphore

  • Управление разделяемой памятью

  • SimpleXML

  • SNMP

  • SOAP

  • Sockets

  • SQLite

  • SQLite3

  • SVN

  • Sybase

  • Tidy

  • ODBC

  • WDDX

  • XML-анализатор

  • XMLReader

  • XML-RPC

  • XMLWriter

  • XSL

  • XSLT (PHP 4)

  • Yaml

  • Zip

  • Zlib

Внешние расширения

Для компиляции этих расширений могут потребоваться внешние библиотеки.

  • BBCode

  • Bzip2

  • chdb

  • Crack

  • cURL

  • dBase

  • DB++

  • dbx

  • DOM

  • DOM XML (PHP 4)

  • Eio

  • Enchant

  • FAM

  • FrontBase

  • FDF

  • Fileinfo

  • FriBiDi

  • GeoIP

  • Gettext

  • GMP

  • haru

  • Hyperwave

  • Hyperwave API

  • Firebird/InterBase

  • IBM DB2

  • Informix

  • ImageMagick

  • IMAP

  • Ingres

  • Java

  • LDAP

  • Libevent

  • libxml

  • MaxDB

  • Mcrypt

  • Memcache

  • Mhash

  • Ming

  • mnoGoSearch

  • Msession

  • mSQL

  • Mssql

  • MySQL

  • mysqli

  • Mysqlnd

  • Ncurses

  • Newt

  • OAuth

  • OCI8

  • oggvorbis

  • OpenAL

  • OpenSSL

  • Ovrimos SQL

  • Paradox

  • PDF

  • 4D (PDO)

  • CUBRID (PDO)

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • MS SQL Server (PDO)

  • PostgreSQL

  • PS

  • Pspell

  • qtdom

  • Radius

  • Rar

  • Readline

  • Recode

  • RRD

  • Session PgSQL

  • SimpleXML

  • SNMP

  • SOAP

  • Sphinx

  • SSH2

  • SWF

  • Swish

  • Sybase

  • Tidy

  • ODBC

  • vpopmail

  • WDDX

  • xattr

  • xdiff

  • XML-анализатор

  • XMLReader

  • XMLWriter

  • XSL

  • XSLT (PHP 4)

  • YAZ

PECL расширения

Эти расширения доступны в » PECL. Существуют и другие PECL расширения, но они пока не документированы в этом руководстве.

  • APC

  • APD

  • BBCode

  • bcompiler

  • chdb

  • Classkit

  • Crack

  • Cyrus

  • DB++

  • dbx

  • Direct IO

  • DOM XML (PHP 4)

  • Eio

  • Enchant

  • Expect

  • FAM

  • Fileinfo

  • filePro

  • FriBiDi

  • GeoIP

  • GnuPG

  • haru

  • Hash

  • htscanner

  • HTTP

  • Hyperwave

  • Hyperwave API

  • IBM DB2

  • ID3

  • IIS

  • ImageMagick

  • inclued

  • Ingres

  • Inotify

  • Java

  • JSON

  • KADM5

  • KTaglib

  • Libevent

  • LZF

  • Mailparse

  • MaxDB

  • MCVE

  • Memcache

  • mnoGoSearch

  • Mongo

  • mqseries

  • Msession

  • mysqlnd_qc

  • Ncurses

  • Gopher

  • Newt

  • YP/NIS

  • Lotus Notes

  • OAuth

  • oggvorbis

  • OpenAL

  • Ovrimos SQL

  • Paradox

  • Parsekit

  • PDF

  • PDO

  • 4D (PDO)

  • CUBRID (PDO)

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • MS SQL Server (PDO)

  • Phar

  • Принтер

  • PS

  • qtdom

  • Radius

  • Rar

  • RPM Reader

  • RRD

  • runkit

  • SAM

  • SCA

  • scream

  • SDO

  • SDO DAS XML

  • SDO-DAS-Relational

  • Session PgSQL

  • Sphinx

  • SPPLUS

  • ssdeep

  • SSH2

  • Statistics

  • SVN

  • SWF

  • Swish

  • TCP

  • vpopmail

  • W32api

  • Weakref

  • win32ps

  • win32service

  • WinCache

  • xattr

  • xdiff

  • Yaml

  • YAZ

  • Zip

В алфавитном порядке
По состоянию
Список/классификация расширений


По состоянию

Здесь приводится список расширений не рекомендованных для промышленного использования - они либо слишком "старые" (устарели) либо слишком "новые" (экспериментальные).

Устаревшие расширения

Эти расширения устарели и в основном заменены другими.

  • Memtrack

  • Mimetype

  • Object overloading

Экспериментальные расширения

Поведение этих расширений - включая названия функций и вся остальная документация, относящаяся к ним - может измениться без уведомления в будущем релизе PHP. Используйте эти расширения на свой страх и риск.

  • bcompiler

  • DB++

  • .NET

  • haru

  • Hash

  • ImageMagick

  • Java

  • Ming

  • Ncurses

  • Newt

  • Lotus Notes

  • Object Aggregation

  • Paradox

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • Oracle (PDO)

  • PS

  • qtdom

  • SCA

  • SDO-DAS-Relational

  • Swish

  • vpopmail

  • W32api

  • XML-RPC

По составу
Список псевдонимов функций
Список/классификация расширений


Список псевдонимов функций

В этом списке приведены все псевдонимы. Использование псевдонимов нежелательно, поскольку они могут быть переименованы или признаны устаревшими, что приведет к невозможности портирования скрипта. Этот список может помочь тем пользователям, которые решили привести синтаксис своих прежних скриптов к используемому в настоящий момент синтаксису. В PHP довольно немного функций, доступных сразу по нескольким именам. В некоторых случаях нет предпочитаемого варианта, хорошим примером является is_int() и is_integer(). Однако, есть функции, изменившие свои названия вследствие чистки API или по какой-либо другой причине, а старые имена были оставлены в целях обратной совместимости. Обычно не рекомендуется использовать эти псевдонимы, так как причиной их существования может быть устаревание или смена имени основной функции, что может привести к проблемам портирования скрипта. Данный список предоставляется для помощи при обновлении старых скриптов к новому синтаксису.

Псевдонимы
Псевдоним | Основная функция | Расширение
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
add_root | domxml_add_root() | DOM XML
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
attributes | domxml_attributes() | DOM XML
children | domxml_children() | DOM XML
chop | rtrim() | Базовый синтаксис
close | closedir() | Базовый синтаксис
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Неклассифицированные функции
dir | getdir() | Базовый синтаксис
diskfreespace | disk_free_space() | Файловая система
domxml_getattr | domxml_get_attribute() | DOM XML
domxml_setattr | domxml_set_attribute() | DOM XML
doubleval | floatval() | Базовый синтаксис
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
dtd | domxml_intdtd() | DOM XML
dumpmem | domxml_dumpmem() | DOM XML
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Базовый синтаксис
get_attribute | domxml_get_attribute() | DOM XML
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getattr | domxml_get_attribute() | DOM XML
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Многобайтовые строки
i18n_discover_encoding | mb_detect_encoding() | Многобайтовые строки
i18n_http_input | mb_http_input() | Многобайтовые строки
i18n_http_output | mb_http_output() | Многобайтовые строки
i18n_internal_encoding | mb_internal_encoding() | Многобайтовые строки
i18n_ja_jp_hantozen | mb_convert_kana() | Многобайтовые строки
i18n_mime_header_decode | mb_decode_mimeheader() | Многобайтовые строки
i18n_mime_header_encode | mb_encode_mimeheader() | Многобайтовые строки
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Базовый синтаксис
is_double | is_float() | Базовый синтаксис
is_integer | is_int() | Базовый синтаксис
is_long | is_int() | Базовый синтаксис
is_real | is_float() | Базовый синтаксис
is_writeable | is_writable() | Базовый синтаксис
join | implode() | Базовый синтаксис
key_exists | array_key_exists() | Базовый синтаксис
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
last_child | domxml_last_child() | DOM XML
lastchild | domxml_last_child() | DOM XML
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Базовый синтаксис
mbstrcut | mb_strcut() | Многобайтовые строки
mbstrlen | mb_strlen() | Многобайтовые строки
mbstrpos | mb_strpos() | Многобайтовые строки
mbstrrpos | mb_strrpos() | Многобайтовые строки
mbsubstr | mb_substr() | Многобайтовые строки
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
name | domxml_attrname() | DOM XML
new_child | domxml_new_child() | DOM XML
new_xmldoc | domxml_new_xmldoc() | DOM XML
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
node | domxml_node() | DOM XML
oci8append | ocicollappend() | OCI8
oci8assign | ocicollassign() | OCI8
oci8assignelem | ocicollassignelem() | OCI8
oci8close | ocicloselob() | OCI8
oci8free | ocifreecoll() | OCI8
oci8free | ocifreedesc() | OCI8
oci8getelem | ocicollgetelem() | OCI8
oci8load | ociloadlob() | OCI8
oci8max | ocicollmax() | OCI8
oci8ocifreecursor | ocifreestatement() | OCI8
oci8save | ocisavelob() | OCI8
oci8savefile | ocisavelobfile() | OCI8
oci8size | ocicollsize() | OCI8
oci8trim | ocicolltrim() | OCI8
oci8writetemporary | ociwritetemporarylob() | OCI8
oci8writetofile | ociwritelobtofile() | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
output | swfmovie_output() | Ming (flash)
parent | domxml_parent() | DOM XML
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Базовый синтаксис
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rewind | rewinddir() | Базовый синтаксис
root | domxml_root() | DOM XML
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
set_attribute | domxml_set_attribute() | DOM XML
set_content | domxml_set_content() | DOM XML
setaction | swfbutton_setAction() | Ming (flash)
setattr | domxml_set_attribute() | DOM XML
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file() | Базовый синтаксис
sizeof | count() | Базовый синтаксис
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewY() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Базовый синтаксис
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
unlink | domxml_unlink_node() | DOM XML
xptr_new_context | xpath_new_context() | DOM XML

По состоянию
Список зарезервированных слов
Appendices


Список зарезервированных слов

Содержание

  • Список ключевых слов
  • Предопределенные классы
  • Предопределенные константы

Следующий список - это список зарезервированных идентификаторов в PHP. Никакой идентификатор из этого списка не должен быть использован в качестве идентификатора в любом из ваших скриптов. Этот список включает ключевые слова и предопределенные переменные, константы и имена классов. Этот список не являются исчерпывающим и полным.

Список псевдонимов функций
Список ключевых слов
Appendices


Список ключевых слов

У этих слов есть специальное значение в PHP. Некоторые из них представляют собой вещи, которые выглядят как функции, некоторые похожи на константы и так далее, но они ими не являются в действительности. Они - конструкции языка. Вы не можете использовать следующие слова как константы, имена классов, функции или имена методов. Использование их как имен переменных в общем допускается, однако может привести к путанице.

Зарезервированные слова в PHP
abstract (начиная с PHP 5) | and | array() | as | break
case | catch (начиная с PHP 5) | cfunction (только в PHP 4) | class | clone (начиная с PHP 5)
const | continue | declare | default | do
else | elseif | enddeclare | endfor | endforeach
endif | endswitch | endwhile | extends | final (начиная с PHP 5)
for | foreach | function | global | goto (начиная с PHP 5.3)
if | implements (начиная с PHP 5) | interface (начиная с PHP 5) | instanceof (начиная с PHP 5)
namespace (начиная PHP 5.3) | new | old_function (только в PHP 4) | or | private (начиная с PHP 5)
protected (начиная с PHP 5) | public (начиная с PHP 5) | static | switch | throw (начиная с PHP 5)
try (начиная с PHP 5) | use | var | while | xor
Константы периода трансляции
__CLASS__ | __DIR__ (начиная с PHP 5.3) | __FILE__ | __LINE__ | __FUNCTION__ | __METHOD__
__NAMESPACE__ (начиная с PHP 5.3) |  |  |  |
Конструкции языка
die() | echo() | empty() | exit() | eval()
include() | include_once() | isset() | list() | require()
require_once() | return() | print() | unset() |
Список зарезервированных слов
Предопределенные классы
Список зарезервированных слов


Предопределенные классы

В этом разделе перечисляются стандартные предопределенные классы. Разнообразные расширения определяют другие классы, которые описаны в соответствующей справочной информации.

Стандартные определенные классы

Эти классы определены вместе со стандартным набором функций, идущим со сборкой PHP.

Directory
Класс, от которого класс dir создает экземпляр.
stdClass
Создается приведением типа к объекту.
__PHP_Incomplete_Class
Возможно создается функцией unserialize().

Предопределенные классы PHP 5

Эти дополнительные предопределенные классы были введены в PHP версии 5.0.0

exception
php_user_filter

Closure

Предопределенный конечный класс Closure был введен в PHP 5.3.0. Он используется для внутренней реализации анонимных функций.

Для более детальной информации смотрите страницу класса.

Специальные классы

Следующие идентификаторы не могут использоваться в качестве имени класса, так как у них есть специальное назначение.

self
Текущий класс.
static
Текущий класс в рабочем цикле.
parent
Родительский класс.
Список ключевых слов
Предопределенные константы
Список зарезервированных слов


Предопределенные константы

Объявленные в ядре константы

Нижеописанные константы объявляются ядром PHP и охватывают PHP, Zend engine и SAPI-модули.

PHP_VERSION (string)
Текущая версия PHP в виде строки в формате "major.minor.release[extra]".
PHP_MAJOR_VERSION (integer)
Текущая "основная" (major) версия PHP в виде целого числа (например, int(5) для версии "5.2.7-extra"). Доступна начиная с версии PHP 5.2.7.
PHP_MINOR_VERSION (integer)
Текущая "промежуточная" версия PHP в виде целого числа (например, int(2) для версии "5.2.7-extra"). Доступна начиная с версии PHP 5.2.7.
PHP_RELEASE_VERSION (integer)
Текущая "релиз"-версия (release) PHP в виде целого числа (например, int(7) для версии "5.2.7-extra"). Доступна начиная с версии PHP 5.2.7.
PHP_VERSION_ID (integer)
Текущая версия PHP в виде целого числа, ее удобно использовать при сравнениях версиий (например, int(50207) для версии "5.2.7-extra"). Доступна начиная с версии PHP 5.2.7.
PHP_EXTRA_VERSION (string)
Текущая "экстра"-версия PHP в виде строки (например, '-extra' для версии "5.2.7-extra"). Обычно используется в различных дистрибутивах для индикации версий пакетов. Доступна начиная с версии PHP 5.2.7.
PHP_ZTS (integer)
Доступна начиная с версии PHP 5.2.7.
PHP_DEBUG (integer)
Доступна начиная с версии PHP 5.2.7.
PHP_MAXPATHLEN (integer)
Максимальная длина файловых имен (включая путь), поддерживаемая данной сборкой PHP. Доступна начиная с версии PHP 5.3.0.
PHP_OS (string)
PHP_SAPI (string)
Серверное API данной сборки PHP. Доступна начиная с версии PHP 4.2.0. Смотрите также php_sapi_name().
PHP_EOL (string)
Корректный символ конца строки, используемый на данной платформе. Доступна начиная с версии PHP 4.3.10 и PHP 5.0.2
PHP_INT_MAX (integer)
Максимальное целое число, поддерживаемое данной сборкой PHP. Обычно это int(2147483647). Доступно начиная с версии PHP 4.4.0 и PHP 5.0.5
PHP_INT_SIZE (integer)
Доступна начиная с версии PHP 4.4.0 и PHP 5.0.5
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)
Значение опции "--prefix", указанной при запуске configure. Доступна начиная с версии PHP 4.3.0
PHP_BINDIR (string)
Указывает путь установки бинарных файлов.
PHP_MANDIR (string)
Указывает путь установки страниц документации man. Доступна, начиная с версии PHP 5.3.7.
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
Суффикс, используемый для динамически линкуемых библиотек, такой как "so" (характерный для большинства Unix-систем) или "dll" (Windows). Доступен начиная с версии PHP 4.3.0
PHP_OUTPUT_HANDLER_START (integer)
PHP_OUTPUT_HANDLER_CONT (integer)
PHP_OUTPUT_HANDLER_END (integer)
PHP_WINDOWS_VERSION_MAJOR (integer)
"Основная" (major) версия ОС Windows. Доступна (только на сборках для Windows) начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_MINOR (integer)
"Промежуточная" (minor) версия ОС Windows. Доступна (только на сборках для Windows) начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_BUILD (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_PLATFORM (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_SP_MAJOR (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_SP_MINOR (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_SUITEMASK (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_VERSION_PRODUCTTYPE (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_NT_DOMAIN_CONTROLLER (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_NT_SERVER (integer)
Доступна начиная с версии PHP 5.3.0
PHP_WINDOWS_NT_WORKSTATION (integer)
Доступна начиная с версии PHP 5.3.0
E_ERROR (integer)
Константа, указывающая уровень сообщений об ошибках
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_DEPRECATED (integer)
Доступна начиная с версии PHP 5.3.0
E_USER_DEPRECATED (integer)
Доступна начиная с версии PHP 5.3.0
E_ALL (integer)
E_STRICT (integer)
Доступна начиная с версии PHP 5.0.0
__COMPILER_HALT_OFFSET__ (integer)
Доступна начиная с версии PHP 5.1.0
TRUE (boolean)
Смотрите раздел Булев тип.
FALSE (boolean)
Смотрите раздел Булев тип.
NULL (boolean)
Смотрите Null.

Смотрите также: Магические константы.

Стандартные константы

Эти константы объявлены в PHP по умолчанию.

EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
SORT_ASC (integer)
SORT_DESC (integer)
SORT_REGULAR (integer)
SORT_NUMERIC (integer)
SORT_STRING (integer)
CASE_LOWER (integer)
CASE_UPPER (integer)
COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
ASSERT_ACTIVE (integer)
ASSERT_CALLBACK (integer)
ASSERT_BAIL (integer)
ASSERT_WARNING (integer)
ASSERT_QUIET_EVAL (integer)
CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
INI_USER (integer)
INI_PERDIR (integer)
INI_SYSTEM (integer)
INI_ALL (integer)
M_E (число с плавающей точкой)
M_LOG2E (число с плавающей точкой)
M_LOG10E (число с плавающей точкой)
M_LN2 (число с плавающей точкой)
M_LN10 (число с плавающей точкой)
M_PI (число с плавающей точкой)
M_PI_2 (число с плавающей точкой)
M_PI_4 (число с плавающей точкой)
M_1_PI (число с плавающей точкой)
M_2_PI (число с плавающей точкой)
M_2_SQRTPI (число с плавающей точкой)
M_SQRT2 (число с плавающей точкой)
M_SQRT1_2 (число с плавающей точкой)
CRYPT_SALT_LENGTH (integer)
CRYPT_STD_DES (integer)
CRYPT_EXT_DES (integer)
CRYPT_MD5 (integer)
CRYPT_BLOWFISH (integer)
DIRECTORY_SEPARATOR (string)
SEEK_SET (integer)
SEEK_CUR (integer)
SEEK_END (integer)
LOCK_SH (integer)
LOCK_EX (integer)
LOCK_UN (integer)
LOCK_NB (integer)
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
INFO_GENERAL (integer)
INFO_CREDITS (integer)
INFO_CONFIGURATION (integer)
INFO_MODULES (integer)
INFO_ENVIRONMENT (integer)
INFO_VARIABLES (integer)
INFO_LICENSE (integer)
INFO_ALL (integer)
CREDITS_GROUP (integer)
CREDITS_GENERAL (integer)
CREDITS_SAPI (integer)
CREDITS_MODULES (integer)
CREDITS_DOCS (integer)
CREDITS_FULLPAGE (integer)
CREDITS_QA (integer)
CREDITS_ALL (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATH_SEPARATOR (string)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
ABDAY_1 (integer)
ABDAY_2 (integer)
ABDAY_3 (integer)
ABDAY_4 (integer)
ABDAY_5 (integer)
ABDAY_6 (integer)
ABDAY_7 (integer)
DAY_1 (integer)
DAY_2 (integer)
DAY_3 (integer)
DAY_4 (integer)
DAY_5 (integer)
DAY_6 (integer)
DAY_7 (integer)
ABMON_1 (integer)
ABMON_2 (integer)
ABMON_3 (integer)
ABMON_4 (integer)
ABMON_5 (integer)
ABMON_6 (integer)
ABMON_7 (integer)
ABMON_8 (integer)
ABMON_9 (integer)
ABMON_10 (integer)
ABMON_11 (integer)
ABMON_12 (integer)
MON_1 (integer)
MON_2 (integer)
MON_3 (integer)
MON_4 (integer)
MON_5 (integer)
MON_6 (integer)
MON_7 (integer)
MON_8 (integer)
MON_9 (integer)
MON_10 (integer)
MON_11 (integer)
MON_12 (integer)
AM_STR (integer)
PM_STR (integer)
D_T_FMT (integer)
D_FMT (integer)
T_FMT (integer)
T_FMT_AMPM (integer)
ERA (integer)
ERA_YEAR (integer)
ERA_D_T_FMT (integer)
ERA_D_FMT (integer)
ERA_T_FMT (integer)
ALT_DIGITS (integer)
INT_CURR_SYMBOL (integer)
CURRENCY_SYMBOL (integer)
CRNCYSTR (integer)
MON_DECIMAL_POINT (integer)
MON_THOUSANDS_SEP (integer)
MON_GROUPING (integer)
POSITIVE_SIGN (integer)
NEGATIVE_SIGN (integer)
INT_FRAC_DIGITS (integer)
FRAC_DIGITS (integer)
P_CS_PRECEDES (integer)
P_SEP_BY_SPACE (integer)
N_CS_PRECEDES (integer)
N_SEP_BY_SPACE (integer)
P_SIGN_POSN (integer)
N_SIGN_POSN (integer)
DECIMAL_POINT (integer)
RADIXCHAR (integer)
THOUSANDS_SEP (integer)
THOUSEP (integer)
GROUPING (integer)
YESEXPR (integer)
NOEXPR (integer)
YESSTR (integer)
NOSTR (integer)
CODESET (integer)
LOG_EMERG (integer)
LOG_ALERT (integer)
LOG_CRIT (integer)
LOG_ERR (integer)
LOG_WARNING (integer)
LOG_NOTICE (integer)
LOG_INFO (integer)
LOG_DEBUG (integer)
LOG_KERN (integer)
LOG_USER (integer)
LOG_MAIL (integer)
LOG_DAEMON (integer)
LOG_AUTH (integer)
LOG_SYSLOG (integer)
LOG_LPR (integer)
LOG_NEWS (integer)
LOG_UUCP (integer)
LOG_CRON (integer)
LOG_AUTHPRIV (integer)
LOG_LOCAL0 (integer)
LOG_LOCAL1 (integer)
LOG_LOCAL2 (integer)
LOG_LOCAL3 (integer)
LOG_LOCAL4 (integer)
LOG_LOCAL5 (integer)
LOG_LOCAL6 (integer)
LOG_LOCAL7 (integer)
LOG_PID (integer)
LOG_CONS (integer)
LOG_ODELAY (integer)
LOG_NDELAY (integer)
LOG_NOWAIT (integer)
LOG_PERROR (integer)
Предопределенные классы
List of Resource Types
Список зарезервированных слов


List of Resource Types

The following is a list of functions which create, use or destroy PHP resources. The function is_resource() can be used to determine if a variable is a resource and get_resource_type() will return the type of resource it is.

Resource Types
Resource Type Name | Created By | Used By | Destroyed By | Definition
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | None | Aspell dictionary
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Bzip2 file
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | None | COM object reference
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | PDF document with CPDF lib
cpdf outline
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | Curl session
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | Link to DBM database
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Link to DBA database
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | None | Persistent link to DBA database
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Link to Dbase database
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | None | dbx result
domxml attribute
domxml document
domxml node
xpath context
xpath object
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Link to fbsql database
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | None | Persistent link to fbsql database
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | fbsql result
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | FDF File
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | FTP stream
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | GD Image
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | None | Font for GD
gd PS encoding
gd PS font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | PS font for GD
GMP integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | None | GMP Number
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Hyperwave object
hyperwave link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Link to Hyperwave server
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | None | Persistent link to Hyperwave server
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Link to icap server
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Link to IMAP, POP3 server
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Link to ingresII base
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | None | Persistent link to ingresII base
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Link to Interbase database
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | None | Persistent link to Interbase database
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Interbase query
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Interbase Result
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Interbase transaction
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | ldap connection
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | ldap search result
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Link to calendar server
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Link to mSQL database
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | None | Persistent link to mSQL
msql query | msql_db_query(), msql_list_dbs(), msql_list_fields(), msql_list_tables(), msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_field_seek(), msql_field_table(), msql_field_flags(), msql_field_len(), msql_field_name(), msql_field_type(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | mSQL result
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Link to Microsoft SQL Server database
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | None | Persistent link to Microsoft SQL Server
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Microsoft SQL Server result
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Link to MySQL database
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | None | Persistent link to MySQL database
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | MySQL result
oci8 collection
oci8 connection | ocilogon(), ociplogon(), ocinlogon() | ocicommit(), ociserverversion(), ocinewcursor(), ociparse(), ocierror() | ocilogoff() | Link to Oracle database
oci8 descriptor
oci8 server
oci8 session
oci8 statement | ocinewdescriptor() | ocirollback(), ocinewdescriptor(), ocirowcount(), ocidefinebyname(), ocibindbyname(), ociexecute(), ocinumcols(), ociresult(), ocifetch(), ocifetchinto(), ocifetchstatement(), ocicolumnisnull(), ocicolumnname(), ocicolumnsize(), ocicolumntype(), ocistatementtype(), ocierror() | ocifreestatement() | Oracle Cursor
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Link to ODBC database
odbc link persistent | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | None | Persistent link to ODBC database
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | ODBC result
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | OpenSSL key
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Public Key
oracle Cursor | ora_open() | ora_bind(), ora_columnname(), ora_columnsize(), ora_columntype(), ora_error(), ora_errorcode(), ora_exec(), ora_fetch(), ora_fetch_into(), ora_getcolumn(), ora_numcols(), ora_numrows(), ora_parse() | ora_close() | Oracle cursor
oracle link | ora_logon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | ora_logoff() | Link to oracle database
oracle link persistent | ora_plogon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | None | Persistent link to oracle database
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_add_thumbnail(), pdf_arcn(), pdf_begin_pattern(), pdf_begin_template(), pdf_end_pattern(), pdf_end_template(), pdf_initgraphics(), pdf_makespotcolor(), pdf_set_info(), pdf_setcolor(), pdf_setmatrix(), pdf_open_memory_image() | pdf_close(), pdf_delete() | PDF document
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_CCITT(), pdf_place_image() | pdf_close_image() | Image in PDF file
pdf object
pdf outline
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | PostgreSQL Large Object
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Link to PostgreSQL database
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | None | Persistent link to PostgreSQL database
pgsql result | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | PostgreSQL result
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | None | pspell dictionary
pspell config | pspell_config_create() | pspell_new_config() | None | pspell configuration
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | XSLT parser
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
stream | opendir() | readdir(), rewinddir() | closedir() | Dir handle
stream | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | File handle
stream | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Process handle
socket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Socket handle
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Link to Sybase database using DB library
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | None | Persistent link to Sybase database using DB library
sybase-db result | sybase_query(), sybase_unbuffered_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase result using DB library
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Link to Sybase database using CT library
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | None | Persistent link to Sybase database using CT library
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase result using CT library
sysvsem | sem_get() | sem_acquire() | sem_release() | System V Semaphore
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | System V Shared Memory
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | WDDX packet
xml | xml_parser_create(), xml_parser_create_ns() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | XML parser
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | gz-compressed file

Предопределенные константы
Список доступных фильтров
Appendices


Список доступных фильтров

Содержание

  • Строковые фильтры
  • Преобразовывающие фильтры
  • Компрессионные фильтры
  • Шифрующие фильтры

Следующий список перечисляет несколько встроенных фильтров для использования с stream_filter_append(). Ваша версия PHP может включать больше (или меньше) фильтров, чем перечислено здесь.

Следует акцентировать внимание на определённой асимметричности функций stream_filter_append() и stream_filter_prepend(). Каждый поток в PHP имеет небольшой буфер чтения, в котором он хранит блоки данных, полученные из файловой системы или другого ресурса, для того чтобы обрабатывать данные наиболее эффективным образом. Как только данные переносятся из ресурса во внутренний буфер потока, они сразу же обрабатываются закреплёнными за потоком фильтрами, независимо от того, готово ли приложение PHP принимать данные или нет. Если данные находятся в буфере чтения в момент, когда в фильтр что-то дописывают в конец, данные будут немедленно обработаны этим фильтром, таким образом их нахождение в буфере будет прозрачным. В то же время, если данные находятся в буфере в момент, когда в фильтр что-то дописывают в начало, данные НЕ будут обработаны этим фильтром. Вместо этого, они будут ждать момента, когда следующий блок данных будет получен из ресурса.

Для получения списка фильтров, установленных в вашу версию PHP, используйте функцию stream_get_filters().

List of Resource Types
Строковые фильтры
Appendices


Строковые фильтры

Все эти фильтры служат для того самого, что подразумевают их имена в соответствии с поведением встроенных в PHP функций для работы со строками. Для получения дополнительной информации о конкретном фильтре, обратитесь к странице руководства соответствующей функции.

string.rot13 (с версии PHP 4.3.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией str_rot13().

Пример #1 string.rot13

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "This is a test.\n");
/* Outputs:  Guvf vf n grfg.   */
?>

string.toupper (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strtoupper().

Пример #2 string.toupper

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "This is a test.\n");
/* Outputs:  THIS IS A TEST.   */
?>

string.tolower (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strtolower().

Пример #3 string.tolower

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "This is a test.\n");
/* Outputs:  this is a test.   */
?>

string.strip_tags (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strip_tags(). Он принимает аргументы в одной из двух форм: Либо в виде строки со списком тегов, как и второй аргумент функции strip_tags(), либо массив названий тегов.

Пример #4 string.strip_tags

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */
?>
Список доступных фильтров
Преобразовывающие фильтры
Список доступных фильтров


Преобразовывающие фильтры

Как и фильтры string.*, фильтры convert.* совершают действия, соответствующие их именам. Преобразовывающие фильтры были добавлены в PHP 5.0.0. Для получения дополнительной информации о конкретном фильтре, обратитесь к странице руководства соответствующей функции.

convert.base64-encode и convert.base64-decode Использование этих фильтров эквивалентно обработке всех данных потока функциями base64_encode() и base64_decode() соответственно. convert.base64-encode поддерживает аргументы, переданные в виде ассоциативного массива. Если указан аргумент line-length, результат base64 будет разделён на куски длинной line-length символов каждый. Если указан аргумент line-break-chars, каждый кусок будет разделён указанными символами. Эти параметры дают такой же эффект, как и использование base64_encode() в паре с chunk_split().

Пример #1 convert.base64-encode и convert.base64-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBpcyBhIHRlc3QuCg==  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBp
          :  cyBhIHRl
          :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Outputs:  This is a test.  */
?>

convert.quoted-printable-encode и convert.quoted-printable-decode Использование decode-версии этого фильтра эквивалентно обработке всех данных потока функцией quoted_printable_decode(). У фильтра convert.quoted-printable-encode нет эквивалентной функции. convert.quoted-printable-encode поддерживает аргументы, переданные в виде ассоциативного массива. В дополнение к аргументам, поддерживаемыми convert.base64-encode, convert.quoted-printable-encode также поддерживает boolean-аргументы binary и force-encode-first. convert.base64-decode поддерживает лишь аргумент line-break-chars в качестве подсказки для чистки закодированных данных.

Пример #2 convert.quoted-printable-encode & convert.quoted-printable-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "This is a test.\n");
/* Outputs:  =This is a test.=0A  */
?>
Строковые фильтры
Компрессионные фильтры
Список доступных фильтров


Компрессионные фильтры

В то время, как Компрессионные обёртки обеспечивают способ создания gzip- и bz2-совместимых файлов в локальной файловой системе, они не предоставляют общих средств для компрессии в сетевых потоках, как и не предоставляют средств для создания потока без компрессии с последующим превращением в компрессируемый. Для этих целей к любым потоковым ресурсам в любое время могут применяться компрессионные фильтры.

Замечание: Компрессионные фильтры не генерируют заголовков и окончаний, которые используют утилиты командной строки, такие как gzip. Они просто компрессируют (сжимают) и декомпрессируют (разжимают) порции данных в компрессируемом потоке данных.

zlib.deflate (компрессия) и zlib.inflate (декомпрессия) являются реализациями компрессионных методов, описаных в » RFC 1951. Фильтр deflate принимает три аргумента, переданных в виде ассоциативного массива. level определяет, какой уровень компрессии использовать (1-9). Повышение этого значения приведёт к уменьшению объёмов данных за счёт увеличения времени обработки. Существуют так же два специальных уровня компрессии: 0 (для отключения компрессии) и -1 (внутреннее значение по умолчанию библиотеки zlib -- на текущий момент равно 6). window - это логарифм с основанием 2 от размера окна диапазона сжатия. Высокие значения (вплоть до 15 -- 32768 байт) приводят к улучшению компрессии за счёт роста необходимой памяти, в то время как низкие значения (вплоть до 9 -- 512 байт) приводят к ухудшению компрессии за счёт уменьшения необходимой памяти. Значением аргумента window по умолчанию на текущий момент является 15. memory определяет масштаб резервируемой памяти. Допустимые значения находятся в диапазоне от 1 (минимальное резервирование) до 9 (максимальное резервирование). Такое резервирование памяти влияет только на скорость и не влияет на размер генерируемых данных..

Замечание: Так как уровень компрессии является наиболее часто используемым аргументом, вы можете передать только его в качестве обычного целого числа (integer), вместо того чтобы передавать массив из одного элемента.

Компрессионные фильтры zlib.* доступны с версии PHP 5.1.0, если включена поддержка zlib. Они так же доступны в качестве обратного порта для версий 5.0.x путём установки пакета » zlib_filter из » PECL. Эти фильтры не доступны в PHP 4.

Пример #1 zlib.deflate и zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";
echo "The original text was:\n";
/* Use readfile and zlib.inflate to decompress on the fly */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.
The original text was:
This is a test.
This is only a test.
This is not an important string.

 */
?>

Пример #2 Упрощённое использование zlib.deflate

<?php
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
/* Here "6" indicates compression level 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.

 */
?>

bzip2.compress и bzip2.decompress работают точно так же, как и фильтры zlib, описанные выше. Фильтр bzip2.compress принимает два аргумента в виде элементов ассоциативного массива: blocks является целочисленным (integer) значением в диапазоне от 1 до 9 и указывает на количество 100-килобайтовых блоков памяти для резервирования в качестве рабочего пространства. work - это так же целочисленное (integer) значение в диапазоне от 0 до 250, определяющее сколько усилий нужно потратить на обычный метод компрессии перед переключением на медленный, но более надёжный метод. Изменение этого параметра влияет только на скорость компрессии. Ни размер сжатого результата, ни используемый объём памяти не изменяются при помощи этой настройки. Значение 0 указывает библиотеке bzip использовать собственное внутреннее значение по умолчанию. Фильтр bzip2.decompress принимает всего один аргумент, который может быть передан либо как обычное boolean-значение, либо как элемент small ассоциативного массива. Когда small установлен в TRUE, библиотека bzip совершит декомпрессию с минимальным расходом памяти за счёт понижения скорости.

Компрессионные фильтры bzip2.* доступны с версии PHP 5.1.0, если включена поддержка bz2. Они так же доступны в качестве обратного порта для версий 5.0.x путём установки пакета » bz2_filter из » PECL. Эти фильтры не доступны в PHP 4.

Пример #3 bzip2.compress и bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "The original file is " . filesize('LICENSE') . " bytes long.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "The compressed file is " . filesize('LICENSE.compressed') . " bytes long.\n";

/* Generates output:

The original text is 3288 characters long.
The compressed file is 1488 bytes long.

 */
?>
Преобразовывающие фильтры
Шифрующие фильтры
Список доступных фильтров


Шифрующие фильтры

mcrypt.* и mdecrypt.* обеспечивают симметрическое шифрование и дешифрование при помощи libmcrypt. Оба набора фильтров поддерживают те же алгоритмы, что и расширение mcrypt в виде mcrypt.ciphername, где ciphername - это название шифра, как если бы оно передавалось функции mcrypt_module_open(). Также доступны следующие пять параметров:

Параметры фильтра mcrypt
Параметр | Обязателен? | По умолчанию | Пример значения
mode | Нет | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Нет | ini_get('mcrypt.algorithms_dir') | Путь к модулям алгоритмов
modes_dir | Нет | ini_get('mcrypt.modes_dir') | Путь к модулям режимов
iv | Да | N/A | Обычно 8, 16 или 32 байта бинарных данных. Зависит от шифра
key | Да | N/A | Обычно 8, 16 или 32 байта бинарных данных. Зависит от шифра

Пример #1 Шифрование вывода в файл используя 3DES

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secret-file.enc', 'wb');
stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'Secret secret secret data');
fclose($fp);
?>

Пример #2 Чтение зашифрованного файла

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secret-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp));
fclose($fp);

echo $data;
?>
Компрессионные фильтры
Список поддерживаемых транспортных протоколов
Список доступных фильтров


Список поддерживаемых транспортных протоколов

Содержание

  • Интернет-сокеты: TCP, UDP, SSL, and TLS
  • Unix-сокеты: UNIX и UDG

Нижеследующий список содержит информацию о протоколах передачи, встроенных в PHP и готовых для использования функциями работы с сокетами, такими как fsockopen() и stream_socket_client(). Эти протоколы не применяются в расширениях для работы с Сокетами.

Для получения списка поддерживаемых протоколов передачи, встроенных в вашу версию PHP, используйте функцию stream_get_transports().

Шифрующие фильтры
Интернет-сокеты: TCP, UDP, SSL, and TLS
Appendices


Интернет-сокеты: TCP, UDP, SSL, and TLS

PHP 4, PHP 5. ssl:// & tls:// начиная с версии PHP 4.3.0 sslv2:// & sslv3:// начиная с версии PHP 5.0.2

Замечание: Если транспортный протокол не указан, будет использован tcp://.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • sslv2://www.example.com
  • sslv3://www.example.com
  • tls://www.example.com

Интернет-сокеты требуют указания порта в дополнение к адресу. В случае fsockopen(), порт передаётся вторым параметром и не затрагивает строку адреса. При работе с stream_socket_client() и другими близкими функциями, как и в случае со стандартными URL, порт указывается в конце адреса, отделённый двоеточием.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Замечание: IPv6 численные адреса с указанием порта
Во втором примере выше, в то время как IPv4 и имя хоста не изменились, за исключением добавления номера порта после двоеточия, адрес IPv6 заключён в квадратные скобки: [fe80::1]. Это сделано для того, чтобы отличить двоеточие в адресе от двоеточия при указании порта.

Протоколы ssl:// and tls:// (доступные только если поддержка openssl включена в PHP) являются расширениями tcp://, дополняющими его SSL-шифрованием. Начиная с PHP 4.3.0, для работы с ssl-протоколами, PHP должен быть статически собран с поддержкой OpenSSL, а с версии PHP 5.0.0 он также может быть представлен и как модуль.

ssl:// будет пытаться использовать соединения SSL V2 или SSL V3 в зависимости от возможностей и настроек удаленного хоста. sslv2:// и sslv3:// позволяют особо указать использование SSL V2 или SSL V3.

Список поддерживаемых транспортных протоколов
Unix-сокеты: UNIX и UDG
Список поддерживаемых транспортных протоколов


Unix-сокеты: UNIX и UDG

unix:// и udg:// (udg:// начиная с PHP 5)

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix:// даёт возможность использовать unix-сокеты, а udg:// предоставляет альтернативный способ передачи данных в них, с использованием пользовательского протокола датаграмм.

Unix-сокеты, в отличие от Интернет-сокетов не требуют указания порта. В случае fsockopen() параметр portno должен быть равен 0.

Интернет-сокеты: TCP, UDP, SSL, and TLS
Таблица сравнения типов в PHP
Список поддерживаемых транспортных протоколов


Таблица сравнения типов в PHP

Следующие таблицы демонстрируют работу PHP с типами переменных и операторами сравнения, как в случае свободного, так и в случае строгого сравнения. Также эта информация относится к разделу документации по приведению типов. Вдохновением на создание этого раздела мы обязаны различным комментариям пользователей и работе над » BlueShoes.

До осмотра таблиц, важно знать и понимать типы переменных и их значения. К примеру, "42" - string, в то время как 42 - integer. FALSE - boolean, а "false" - string.

Замечание:

HTML-формы не передают целые, дробные числа или булевые переменные: они всегда передают строки. Для проверки является ли строка числом, используйте функцию is_numeric().

Замечание:

Использование if ($x) если $x не определена сгенерирует ошибку уровня E_NOTICE. Вместо этого используйте функцию empty() или isset() и/или инициализируйте переменную.

Замечание:

Некоторые арифметические операции могут возвратить значение, представленное константой NAN (Not A Number, не-число). Любое строгое или нестрогое сравнение этого значения с каким-либо другим, включая его самого, вернет FALSE (т.е. NAN != NAN и NAN !== NAN). Примерами операций, возвращающих NAN, являются sqrt(-1), asin(2) и asinh(0).

Сравнение типов $x и результатов функций PHP, связанных с типами
Выражение | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | string | TRUE | FALSE | TRUE | FALSE
$x = null | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x неопределена | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | integer | FALSE | FALSE | TRUE | TRUE
$x = 42; | integer | FALSE | FALSE | TRUE | TRUE
$x = 0; | integer | TRUE | FALSE | TRUE | FALSE
$x = -1; | integer | FALSE | FALSE | TRUE | TRUE
$x = "1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "0"; | string | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "php"; | string | FALSE | FALSE | TRUE | TRUE
$x = "true"; | string | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

Гибкое сравнение с помощью ==
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE

Жёсткое сравнение с помощью ===
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Unix-сокеты: UNIX и UDG
Список меток (tokens) парсера
Appendices


Список меток (tokens) парсера

Различные части PHP внутренне представлены типами вроде T_SR. PHP выводит идентификаторы вроде этого в ошибках парсинга, например: "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."

Предполагается, что вы знаете что означает T_SR. Для всех, кто этого не знает ниже есть таблица этих идентификаторов с синтаксисом и ссылками на соответствующие разделы документации.

Замечание: Использование T_* констант

Все метки приведенные ниже также являются PHP-константами. Их значение автоматически генерируется на основе базовой инфраструктуры анализатора РНР. Это означает, что конкретное значение метки может изменяться между двумя версиями PHP. Например, константа T_FILE имеет значение 365 в PHP 5.3, в то время как это же значение относится к T_TRAIT в PHP 5.4, а значение константы T_FILE равно 369. Это означает, что для обеспечения совместивости в различных версиях PHP ваш код никогда не должен зависеть напрямую от значений T_* констант из какой-либо определенной версии PHP. Вместо этого ваш код должен использовать собственные значения (использовать длинные числа типа 10000) и соответствующую стратегию, которая будет работать со всеми версиями PHP и значениями T_* констант.

Метки
Метка | Синтаксис | Ссылка
T_ABSTRACT | abstract | Абстрактные классы (начиная с PHP 5.0.0)
T_AND_EQUAL | &= | операторы присваивания
T_ARRAY | array() | array(), синтаксис массива
T_ARRAY_CAST | (array) | приведение типа
T_AS | as | foreach
T_BAD_CHARACTER |  | все что ниже ASCII 32 исключая \t (0x09), \n (0x0a) и \r (0x0d)
T_BOOLEAN_AND | && | логические операторы
T_BOOLEAN_OR | || | логические операторы
T_BOOL_CAST | (bool) or (boolean) | приведение типа
T_BREAK | break | break
T_CASE | case | switch
T_CATCH | catch | Исключения (начиная с PHP 5.0.0)
T_CHARACTER |  | больше не используется
T_CLASS | class | классы и объекты
T_CLASS_C | __CLASS__ | магические константы (начиная с PHP 4.3.0)
T_CLONE | clone | классы и объекты (начиная с PHP 5.0.0)
T_CLOSE_TAG | ?> or %> | PHP-код внутри HTML
T_COMMENT | // или #, и /* */ в PHP 5 | комментарии
T_CONCAT_EQUAL | .= | операторы присваивания
T_CONST | const | константы класса
T_CONSTANT_ENCAPSED_STRING | "foo" или 'bar' | строковой синтаксис
T_CONTINUE | continue | continue
T_CURLY_OPEN | {$ | переменные внутри строки
T_DEC | -- | операторы инкремента\декремента
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | магические константы (начиная с PHP 5.3.0)
T_DIV_EQUAL | /= | операторы присваивания
T_DNUMBER | 0.12, и т.д. | числа с плавающей точкой
T_DOC_COMMENT | /** */ | PHPDoc-комментарии (начиная с PHP 5.0.0)
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | переменная внутри строки
T_DOUBLE_ARROW | => | синтаксис массивов
T_DOUBLE_CAST | (real), (double) или (float) | приведение типов
T_DOUBLE_COLON | :: | см. ниже T_PAAMAYIM_NEKUDOTAYIM
T_ECHO | echo | echo()
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE | " $a" | константная часть строки с переменными
T_ENDDECLARE | enddeclare | declare, альтернативный синтаксис
T_ENDFOR | endfor | for, альтернативный синтаксис
T_ENDFOREACH | endforeach | foreach, альтернативный синтаксис
T_ENDIF | endif | if, альтернативный синтаксис
T_ENDSWITCH | endswitch | switch, альтернативный синтаксис
T_ENDWHILE | endwhile | while, альтернативный синтаксис
T_END_HEREDOC |  | синтаксис heredoc
T_EVAL | eval() | eval()
T_EXIT | exit or die | exit(), die()
T_EXTENDS | extends | extends, классы и объекты
T_FILE | __FILE__ | магические константы
T_FINAL | final | Ключевое слово "final" (доступно с PHP 5.0.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function or cfunction | функции
T_FUNC_C | __FUNCTION__ | магические константы (начиная с PHP 4.3.0)
T_GLOBAL | global | область видимости переменной
T_GOTO | goto | (доступно с PHP 5.3.0)
T_HALT_COMPILER | __halt_compiler() | __halt_compiler (доступно с PHP 5.1.0)
T_IF | if | if
T_IMPLEMENTS | implements | Интерфейсы объектов (доступно с PHP 5.0.0)
T_INC | ++ | операторы инкремента\декремента
T_INCLUDE | include() | include()
T_INCLUDE_ONCE | include_once() | include_once()
T_INLINE_HTML |  | текст вне PHP
T_INSTANCEOF | instanceof | операторы типа (начиная с PHP 5.0.0)
T_INT_CAST | (int) или (integer) | приведение типов
T_INTERFACE | interface | Интерфейсы объектов (начиная с PHP 5.0.0)
T_ISSET | isset() | isset()
T_IS_EQUAL | == | операторы сравнения
T_IS_GREATER_OR_EQUAL | >= | операторы сравнения
T_IS_IDENTICAL | === | операторы сравнения
T_IS_NOT_EQUAL | != or <> | операторы сравнения
T_IS_NOT_IDENTICAL | !== | операторы сравнения
T_IS_SMALLER_OR_EQUAL | <= | операторы сравнения
T_LINE | __LINE__ | магические константы
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, и т.д. | целые числа
T_LOGICAL_AND | and | логические операторы
T_LOGICAL_OR | or | логические операторы
T_LOGICAL_XOR | xor | логические операторы
T_METHOD_C | __METHOD__ | магические константы (начиная с PHP 5.0.0)
T_MINUS_EQUAL | -= | операторы присваивания
T_ML_COMMENT | /* и */ | комментарии (только PHP 4)
T_MOD_EQUAL | %= | операторы присваивания
T_MUL_EQUAL | *= | операторы присваивания
T_NAMESPACE | namespace | пространства имен (начиная с PHP 5.3.0)
T_NS_C | __NAMESPACE__ | пространства имен (начиная с PHP 5.3.0)
T_NS_SEPARATOR | \ | пространства имен (начиная с PHP 5.3.0)
T_NEW | new | классы и объекты
T_NUM_STRING | "$a[0]" | цифровой индекс массива внутри строки
T_OBJECT_CAST | (object) | приведение типов
T_OBJECT_OPERATOR | -> | классы и объекты
T_OLD_FUNCTION | old_function | (только в PHP 4)
T_OPEN_TAG | <?php, <? или <% | PHP-код внутри HTML
T_OPEN_TAG_WITH_ECHO | <?= or <%= | PHP-код внутри HTML
T_OR_EQUAL | |= | операторы присваивания
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Также определяется как T_DOUBLE_COLON.
T_PLUS_EQUAL | += | операторы присваивания
T_PRINT | print() | print()
T_PRIVATE | private | классы и объекты (начиная с PHP 5.0.0)
T_PUBLIC | public | классы и объекты (начиная с PHP 5.0.0)
T_PROTECTED | protected | классы и объекты (начиная с PHP 5.0.0)
T_REQUIRE | require() | require()
T_REQUIRE_ONCE | require_once() | require_once()
T_RETURN | return | возвращаемые значения
T_SL | << | побитовые операторы
T_SL_EQUAL | <<= | операторы присваивания
T_SR | >> | побитовые операторы
T_SR_EQUAL | >>= | операторы присваивания
T_START_HEREDOC | <<< | синтаксис heredoc
T_STATIC | static | область видимости переменной
T_STRING | "parent" | идентификаторы, например строки, объектно-ориентированные ключевые слова вроде parent и self, функции, классы и некоторые другие.
T_STRING_CAST | (string) | приведение типов
T_STRING_VARNAME | "${a | переменные внутри строки
T_SWITCH | switch | switch
T_THROW | throw | Исключения (начиная с PHP 5.0.0)
T_TRY | try | Исключения (начиная с PHP 5.0.0)
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | приведение типов (начиная с PHP 5.0.0)
T_USE | use | пространства имен (начиная с PHP 5.3.0; зарезервировано с PHP 4.0.0)
T_VAR | var | классы и объекты
T_VARIABLE | $foo | переменные
T_WHILE | while | while, do..while
T_WHITESPACE | \t \r\n |
T_XOR_EQUAL | ^= | операторы присваивания

См. так же token_name().

Таблица сравнения типов в PHP
Руководство по именованию
Appendices


Руководство по именованию

Содержание

  • Глобальное пространство имён
  • Правила
  • Советы

Этот документ содержит советы по выбору имён для идентификаторов PHP-кода. При выборе имён для кода, создающего идентификаторы в глобальном пространстве имён, важно принимать во внимание это руководство, чтобы избежать коллизий имён из будущих версий PHP с вашим кодом.

Список меток (tokens) парсера
Глобальное пространство имён
Appendices


Глобальное пространство имён

Обзор конструкций, создающих идентификаторы в глобальном пространстве имён.

  • функции

  • классы

  • интерфейсы

  • константы (не константы классов)

  • переменные, объявленные вне функций/методов

Руководство по именованию
Правила
Руководство по именованию


Правила

Следующий список правил дает обзор прав именования, которые проект PHP оставляет себе при выборе новых идентификаторов. Полным руководством является официальный "» Стандарт написания кода":

  • PHP владеет глобальным пространством имён, но старается находить описательные имена и избегать очевидных коллизий.

  • Имена функций используют подчёркивания между словами, а имена классов используют как camelCase, так и PascalCase.

  • PHP добавляет префикс к глобальным именам, принадлежащим расширению с именем этого расширения. (В прошлом было множество исключений из этого правила.) Например:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (пример исключения, допущенного в прошлом)

    • new SplFileObject()

  • Тем не менее, итераторы и исключения просто получают постфиксы "Iterator" и "Exception." Примеры:

    • ArrayIterator

    • LogicException

  • PHP резервирует все идентификаторы, начинающиеся с __ как "магические". Рекомендуется не создавать идентификаторов, начинающихся с __, кроме как с целью использовать документированную "магическую" функциональность. Примеры:

    • __get()

    • __autoload()

Глобальное пространство имён
Советы
Руководство по именованию


Советы

Для написания кода, защищённого от коллизий, в будущем рекомендуется добавлять префикс или суффикс ко всем именам в глобальном пространстве имён. Рекомендуется использовать 3-4буквенный префикс, отделенный подчёркиванием. Также для избежания коллизий между разными проектами рекомендуется разузнать о существующих префиксах (или суффиксах) и, соответственно, распространить информацию о выбранном вами варианте. Примеры:

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Правила
Об этом руководстве
Руководство по именованию


Об этом руководстве

Содержание

  • Форматы
  • О заметках пользователей
  • Как читать определения функции (прототип)
  • Версии PHP, документированные в этом руководстве
  • Как узнать больше о PHP
  • Как помочь в написании документации
  • Как создаются форматы документации
  • Переводы
Советы
Форматы
Appendices


Форматы

Руководство по PHP доступно в нескольких форматах. Эти форматы могут быть разделены на две группы: форматы для чтения онлайн и форматы, доступные для загрузки.

Замечание:

Некоторые издательства выпустили печатные версии этого руководства. Однако, мы не рекомендуем пользоваться ими вследствие их быстрого устаревания.

Вы можете пользоваться руководством онлайн » на сайте PHP.net, а также на многочисленных сайтах-зеркалах. Чтобы обеспечить наиболее высокую скорость загрузки, вам нужно выбрать ближайший к вам сайт-зеркало. В данный момент онлайн версия PHP руководства имеет два отдельных стиля CSS - для просмотра онлайн (веб) и предназначенный для печати.

Преимуществом он-лайн руководства над большинством оффлайн форматов является интеграция с замечаниями пользователей и » быстрыми ссылками, очень удобными для быстрого доступа к желаемой части руководства. Очевидным недостатком является то, что вам нужно находиться в онлайне, чтобы пользоваться руководством в онлайн форматах.

Существуют несколько форматов для использования в оффлайн, и вы можете выбрать формат, наиболее подходящий для использования в вашей операционной системе и отвечающий вашим читательским предпочтениям. Чтобы узнать больше о том, каким образом создается такое количество форматов руководства, обратитесь к разделу 'Как мы создаем форматы руководства'.

Наиболее кроссплатформенным форматом этого руководства является HTML-версия. Она доступна как в виде одного HTML-файла, так и в виде архива, содержащего несколько тысяч файлов, каждый из которых является отдельной главой руководства. Мы предоставляем эти версии руководств сжатыми, поэтому вам понадобится утилита разархивирования для доступа к файлам внутри архива.

На платформах Windows доступна версия руководства в формате Windows HTML Help, который может быть просмотрен с помощью приложения Windows HTML Help. Эта версия предусматривает поиск по тексту руководства, содержание и поддержку использования закладок. Многие среды разработки PHP-программ в Windows также используют эту версию из-за легкости доступа. Существуют также программы для просмотра CHM под Linux. Смотрите » xCHM или » GnoCHM.

Есть также » расширенная версия CHM, она обновляется менее часто, но зато обеспечивает множество дополнительных возможностей. К сожалению, из-за используемых технологий создания этого формата, она работает только на Microsoft Windows.

Об этом руководстве
О заметках пользователей
Об этом руководстве


О заметках пользователей

Заметки пользователей играют большую роль в процессе создания этого руководства. Позволяя читателям высылать нам примеры, выявленные опечатки и другие сведения с помощью их браузеров, мы имеем возможность интегрировать эти замечания в основной текст руководства. Пока замечания пользователей не были добавлены в руководство, с ними можно ознакомиться онлайн и в некоторых оффлайн форматах.

Замечание:

Заметки пользователей не подвергаются модерации перед тем, как стать публично доступными, таким образом, качество написания примеров кода и даже их корректность не может быть гарантирована. (Так же, как не может быть гарантировано качество и точность собственно текста руководства).

Замечание:

По лицензионному соглашению заметки пользователей рассматриваются как часть самого руководства PHP, поэтому к ним применима та же лицензия, что и к самому руководству (на данный момент Creative Commons Attribution). Подробности могут быть найдены на странице Авторские права данного руководства.

Форматы
Как читать определения функции (прототип)
Об этом руководстве


Как читать определения функции (прототип)

Документация к каждой функции в руководстве была написана с учетом быстрого обращения к этой документации. Зная как правильно читать и понимать текст намного упростит изучение PHP. Вместо того, чтобы полагаться на примеры или копирование/вставку, нужно просто понять как читать определения функции (прототипы). Давайте начнем:

Замечание: Предпосылки: Базовое понимание типов

Хотя PHP и является слабо-типизированным языком, важно иметь базовое представление о типах, так как они играют большую роль в PHP.

Определения функций показывают нам какого типа значения они возвращают. Для первого примера возьмем определение функции strlen():

strlen

(PHP 4, PHP 5)
strlen -- Возвращает длину строки

Описание
int strlen ( string $string )

Возвращает длину переданной строки.

Объяснение определения функции
Часть | Описание
strlen | Имя функции.
(PHP 4, PHP 5) | strlen() была во всех версиях PHP 4 и PHP 5
int | Тип возвращаемого этой функцией значения, в данном случае integer (так как длина строки измеряется числом).
( string $string ) | Первый (и в данном случае единственный) параметр/аргумент этой функции называется string, а его типом является string.

Можно переписать вышеуказанное определение функции в более общем виде:

      возвращаемый тип    имя функции    ( тип параметра   имя параметра )

Много функций принимают несколько параметров, например, in_array(). Ее прототип выглядит так:

      bool in_array ( mixed $needle, array $haystack [, bool $strict])

Что это означает? in_array() возвращает boolean, TRUE в случае успешной работы (если needle был найден в haystack) или FALSE в случае возникновения ошибки (если needle не был найден в haystack). Первый параметр называется needle ("иголка") и может принимать много различных типов, поэтому он называется "смешанным". Этот смешанный needle (то, что мы ищем) может быть любым скалярным значением (string, integer, или float), либо массивом. haystack ("стог сена", массив, в котором мы ищем) - это второй параметр. Третий необязательный параметр называется strict ("строго"). Все необязательные параметры пишутся в [ квадратных скобках ]. Руководство указывает, что параметр strict по умолчанию принимает значение boolean FALSE. Смотрите отдельную страницу документации по каждой функции для более подробной информации по их работе.

Есть также функции с более сложной информацией о версиях PHP. Возьмем для примера html_entity_decode():

(PHP 4 >= 4.3.0, PHP 5)

Это означает, что функция появилась в официальных версиях языка только с выхода PHP 4.3.0.

О заметках пользователей
Версии PHP, документированные в этом руководстве
Об этом руководстве


Версии PHP, документированные в этом руководстве

Данное руководство содержит информацию о прошлых, настоящих и будущих версиях PHP. Изменения поведения документированы замечаниями, историей изменений и непосредственно в тексте самого руководства. Самой ранней документируемой версией PHP является 4.1.0, а поздней - PHP 5.x.x.

Если документация доступна для самой последней (еще невыпущенной) разрабатываемой версии PHP, она помечается либо как "доступно в SVN" либо "разрабатываемая версия". И хотя эти изменения запланированы, в редких случаях они могут измениться.

Вся разработка ведется в Subversion (SVN) и может быть получена способом, описанным на странице » анонимный доступ к SVN. Или же те же самые исходные коды могут быть скачаны в виде » снимков исходного кода PHP, доступных для каждой активной ветки разработки PHP.

Для ясности, руководство указывает основную, промежуточную и дробную версию релизов PHP. Возьмем для примера версию PHP 5.3.1, 5 является основной версией, 3 является промежуточной, и 1 является дробной версией. Обычно новые возможности в PHP добавляются только в основных и промежуточных версиях, а исправления ошибок - в дробных. Однако, это соглашение не всегда верно.

Также учтите, что руководство по PHP пишется в настоящем, а не в будущем времени, даже для задокументированных, но еще не доступных возможностей. Это сделано для того, чтобы облегчить испытание временем для данного руководства, таким образом можно избежать рутинных грамматических правок с каждой новой выпущенной версией PHP.

Много раз в руководстве указываются "значения по умолчанию" для различных директив PHP. Эти значения основаны на том, как ведет себя PHP без конфигурационного файла php.ini, поэтому они могут отличаться от тех, что приведены в распространяемых вместе с PHP файлах php.ini-development и php.ini-production. Они также относятся к последней версии PHP, хотя история изменений упоминает только прошлые значения. За подробной информацией об этих значениях и их истории изменений обращайтесь к приложению со списком PHP директив.

Как читать определения функции (прототип)
Как узнать больше о PHP
Об этом руководстве


Как узнать больше о PHP

Это руководство не пытается охватить вопросы общего программирования. Если вы являетесь новичком или даже начинающим программистом, написание PHP-программ может показаться вам трудным, если вы будете использовать только это руководство. Вам, скорее всего, может понадобиться материал, более подходящий для начинающих.

Существует несколько списков рассылки, предназначенных для обсуждения всех аспектов программирования на PHP. Если вы чувствуете, что не можете найти решение какой-либо проблемы, кто-нибудь из подписчиков списка, вполне вероятно, сможет вам помочь. Все виды поддержки пользователей, в том числе и почтовые списки рассылки, перечислены на » странице поддержки PHP.net. Кроме того, на » странице ссылок PHP.net доступен список веб-сайтов, посвященных статьям по PHP, форумам и галереям кода.

Версии PHP, документированные в этом руководстве
Как помочь в написании документации
Об этом руководстве


Как помочь в написании документации

Существуют три способа, чтобы помочь нам в улучшении документации.

Если вам встречаются ошибки в этом руководстве, на любом языке, сообщайте о них с помощью системы сообщения об ошибках, доступной по адресу » http://bugs.php.net/. Классифицируйте ваше сообщение как "Documentation Problem" ("Ошибка в документации"). Все проблемы с документацией, включая ошибки с различными форматами руководства, должны быть отправлены как сообщение об ошибке.

Замечание:

Пожалуйста, не используйте систему сообщения об ошибках для того, чтобы получить помощь какого-либо рода. Вместо этого воспользуйтесь какими-либо » видами поддержки, упомянутыми выше.

Посылая заметки, пользователи могут предоставить различные примеры, предостережения и разъяснения для других читателей. Но, пожалуйста, не используйте систему аннотации для сообщений об ошибках. Более подробные сведения о заметках пользователей вы можете получить, ознакомившись с главой 'О заметках пользователей' этого приложения.

Руководство PHP было переведено на много языков. Знание английского и другого иностранного языка дает вам еще один способ улучшить это руководство, работая в команде переводчиков. Если вы собираетесь приступить к переводу, обратитесь к » http://doc.php.net/php/dochowto/.

Проект документации PHP также имеет IRC канал (чат), где можно найти много авторов данного руководства. Заходите на #php.doc на сайте irc.efnet.org и обсуждайте различные способы улучшить данное руководство.

Как узнать больше о PHP
Как создаются форматы документации
Об этом руководстве


Как создаются форматы документации

Это руководство написано на XML с использованием » DocBook XML DTD, с помощью » PhD (The [PH]P based [D]ocBook renderer, Генератор из формата Docbook на PHP) в целях поддержки и форматирования.

Использование XML в качестве единственного исходного формата позволяет нам создавать документацию во многих форматах, позволяя в то же время редактировать только один исходный документ для всех форматов. Утилитой для форматирования руководства является » PhD. Для создания руководства в формате Windows HTML Help мы используем » Microsoft HTML Help Workshop и, разумеется, сам PHP для дополнительных преобразований и форматирования.

Вы можете загрузить руководство на многих языках и во многих форматах, более подробно смотрите » http://www.php.net/docs.php. Исходный код XML можно загрузить из SVN и просмотреть онлайн по адресу » http://svn.php.net/viewvc/. Документация находится в модуле phpdoc.

Как помочь в написании документации
Переводы
Об этом руководстве


Переводы

Руководство по PHP доступно не только в нескольких форматах, но и на различных языках. Сначала текст руководства пишется на английском, а затем команды людей по всему миру переводят его на свой родной язык. Если перевод документации какой-либо функции или главы еще не был завершен, система сборки руководства использует соответствующий английский вариант.

Люди, осуществляющие перевод документации, начинают с использования исходного кода в формате XML, доступного по адресу » http://svn.php.net/viewvc/ и затем переводят его на свой родной язык. Для перевода не используются сгенерированные версии (например, HTML или обычный текст), так как система сборки документации сама заботится о преобразовании XML в читабельные форматы.

Замечание:

Если вы хотите принять участие в переводе документации на ваш родной язык, присоединитесь к команде перевода, подписавшись на список рассылки phpdoc: вышлите пустое сообщение на адрес » phpdoc-subscribe@lists.php.net. Адрес списка рассылки - phpdoc@lists.php.net. Укажите в сообщении, что вы заинтересованы в участии в переводе руководства и кто-нибудь поможет вам начать новый перевод или найти команду, занимающуюся переводом на ваш язык.

В настоящее время руководство доступно, частично или в полной мере, на более чем 10 языках.

Все эти версии руководства доступны для загрузки по адресу » http://www.php.net/docs.php.

Как создаются форматы документации
Creative Commons Attribution 3.0
Об этом руководстве


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Переводы
Список функций
Appendices


Список функций

Список функций

_
__halt_compiler()
A
abs()
acos()
acosh()
addcslashes()
addslashes()
aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
aggregation_info()
AMQPConnection::__construct()
AMQPConnection::connect()
AMQPConnection::disconnect()
AMQPConnection::isConnected()
AMQPConnection::reconnect()
AMQPConnection::setHost()
AMQPConnection::setLogin()
AMQPConnection::setPassword()
AMQPConnection::setPort()
AMQPConnection::setVhost()
AMQPExchange::__construct()
AMQPExchange::bind()
AMQPExchange::declare()
AMQPExchange::delete()
AMQPExchange::publish()
AMQPQueue::__construct()
AMQPQueue::ack()
AMQPQueue::bind()
AMQPQueue::cancel()
AMQPQueue::consume()
AMQPQueue::declare()
AMQPQueue::delete()
AMQPQueue::get()
AMQPQueue::purge()
AMQPQueue::unbind()
apache_child_terminate()
apache_get_modules()
apache_get_version()
apache_getenv()
apache_lookup_uri()
apache_note()
apache_request_headers()
apache_reset_timeout()
apache_response_headers()
apache_setenv()
apc_add()
apc_bin_dump()
apc_bin_dumpfile()
apc_bin_load()
apc_bin_loadfile()
apc_cache_info()
apc_cas()
apc_clear_cache()
apc_compile_file()
apc_dec()
apc_define_constants()
apc_delete()
apc_delete_file()
apc_exists()
apc_fetch()
apc_inc()
apc_load_constants()
apc_sma_info()
apc_store()
APCIterator::__construct()
APCIterator::current()
APCIterator::getTotalCount()
APCIterator::getTotalHits()
APCIterator::getTotalSize()
APCIterator::key()
APCIterator::next()
APCIterator::rewind()
APCIterator::valid()
apd_breakpoint()
apd_callstack()
apd_clunk()
apd_continue()
apd_croak()
apd_dump_function_table()
apd_dump_persistent_resources()
apd_dump_regular_resources()
apd_echo()
apd_get_active_symbols()
apd_set_pprof_trace()
apd_set_session()
apd_set_session_trace()
apd_set_session_trace_socket()
AppendIterator::__construct()
AppendIterator::append()
AppendIterator::current()
AppendIterator::getArrayIterator()
AppendIterator::getInnerIterator()
AppendIterator::getIteratorIndex()
AppendIterator::key()
AppendIterator::next()
AppendIterator::rewind()
AppendIterator::valid()
array()
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_diff()
array_diff_assoc()
array_diff_key()
array_diff_uassoc()
array_diff_ukey()
array_fill()
array_fill_keys()
array_filter()
array_flip()
array_intersect()
array_intersect_assoc()
array_intersect_key()
array_intersect_uassoc()
array_intersect_ukey()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_pad()
array_pop()
array_product()
array_push()
array_rand()
array_reduce()
array_replace()
array_replace_recursive()
array_reverse()
array_search()
array_shift()
array_slice()
array_splice()
array_sum()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()
array_unique()
array_unshift()
array_values()
array_walk()
array_walk_recursive()
ArrayIterator::__construct()
ArrayIterator::append()
ArrayIterator::asort()
ArrayIterator::count()
ArrayIterator::current()
ArrayIterator::getArrayCopy()
ArrayIterator::getFlags()
ArrayIterator::key()
ArrayIterator::ksort()
ArrayIterator::natcasesort()
ArrayIterator::natsort()
ArrayIterator::next()
ArrayIterator::offsetExists()
ArrayIterator::offsetGet()
ArrayIterator::offsetSet()
ArrayIterator::offsetUnset()
ArrayIterator::rewind()
ArrayIterator::seek()
ArrayIterator::serialize()
ArrayIterator::setFlags()
ArrayIterator::uasort()
ArrayIterator::uksort()
ArrayIterator::unserialize()
ArrayIterator::valid()
ArrayObject::__construct()
ArrayObject::append()
ArrayObject::asort()
ArrayObject::count()
ArrayObject::exchangeArray()
ArrayObject::getArrayCopy()
ArrayObject::getFlags()
ArrayObject::getIterator()
ArrayObject::getIteratorClass()
ArrayObject::ksort()
ArrayObject::natcasesort()
ArrayObject::natsort()
ArrayObject::offsetExists()
ArrayObject::offsetGet()
ArrayObject::offsetSet()
ArrayObject::offsetUnset()
ArrayObject::serialize()
ArrayObject::setFlags()
ArrayObject::setIteratorClass()
ArrayObject::uasort()
ArrayObject::uksort()
ArrayObject::unserialize()
arsort()
asin()
asinh()
asort()
assert()
assert_options()
atan()
atan2()
atanh()
B
base64_decode()
base64_encode()
base_convert()
basename()
bbcode_add_element()
bbcode_add_smiley()
bbcode_create()
bbcode_destroy()
bbcode_parse()
bbcode_set_arg_parser()
bbcode_set_flags()
bcadd()
bccomp()
bcdiv()
bcmod()
bcmul()
bcompiler_load()
bcompiler_load_exe()
bcompiler_parse_class()
bcompiler_read()
bcompiler_write_class()
bcompiler_write_constant()
bcompiler_write_exe_footer()
bcompiler_write_file()
bcompiler_write_footer()
bcompiler_write_function()
bcompiler_write_functions_from_file()
bcompiler_write_header()
bcompiler_write_included_filename()
bcpow()
bcpowmod()
bcscale()
bcsqrt()
bcsub()
bin2hex()
bind_textdomain_codeset()
bindec()
bindtextdomain()
bson_decode()
bson_encode()
bzclose()
bzcompress()
bzdecompress()
bzerrno()
bzerror()
bzerrstr()
bzflush()
bzopen()
bzread()
bzwrite()
C
CachingIterator::__construct()
CachingIterator::__toString()
CachingIterator::count()
CachingIterator::current()
CachingIterator::getCache()
CachingIterator::getFlags()
CachingIterator::getInnerIterator()
CachingIterator::hasNext()
CachingIterator::key()
CachingIterator::next()
CachingIterator::offsetExists()
CachingIterator::offsetGet()
CachingIterator::offsetSet()
CachingIterator::offsetUnset()
CachingIterator::rewind()
CachingIterator::setFlags()
CachingIterator::valid()
Cairo::availableFonts()
Cairo::availableSurfaces()
Cairo::statusToString()
Cairo::version()
Cairo::versionString()
cairo_append_path()
cairo_arc()
cairo_arc_negative()
cairo_available_fonts()
cairo_available_surfaces()
cairo_clip()
cairo_clip_extents()
cairo_clip_preserve()
cairo_clip_rectangle_list()
cairo_close_path()
cairo_copy_page()
cairo_copy_path()
cairo_copy_path_flat()
cairo_create()
cairo_curve_to()
cairo_device_to_user()
cairo_device_to_user_distance()
cairo_fill()
cairo_fill_extents()
cairo_fill_preserve()
cairo_font_extents()
cairo_font_face_get_type()
cairo_font_face_status()
cairo_font_options_create()
cairo_font_options_equal()
cairo_font_options_get_antialias()
cairo_font_options_get_hint_metrics()
cairo_font_options_get_hint_style()
cairo_font_options_get_subpixel_order()
cairo_font_options_hash()
cairo_font_options_merge()
cairo_font_options_set_antialias()
cairo_font_options_set_hint_metrics()
cairo_font_options_set_hint_style()
cairo_font_options_set_subpixel_order()
cairo_font_options_status()
cairo_format_stride_for_width()
cairo_get_antialias()
cairo_get_current_point()
cairo_get_dash()
cairo_get_dash_count()
cairo_get_fill_rule()
cairo_get_font_face()
cairo_get_font_matrix()
cairo_get_font_options()
cairo_get_group_target()
cairo_get_line_cap()
cairo_get_line_join()
cairo_get_line_width()
cairo_get_matrix()
cairo_get_miter_limit()
cairo_get_operator()
cairo_get_scaled_font()
cairo_get_source()
cairo_get_target()
cairo_get_tolerance()
cairo_glyph_path()
cairo_has_current_point()
cairo_identity_matrix()
cairo_image_surface_create()
cairo_image_surface_create_for_data()
cairo_image_surface_create_from_png()
cairo_image_surface_get_data()
cairo_image_surface_get_format()
cairo_image_surface_get_height()
cairo_image_surface_get_stride()
cairo_image_surface_get_width()
cairo_in_fill()
cairo_in_stroke()
cairo_line_to()
cairo_mask()
cairo_mask_surface()
cairo_matrix_create_scale()
cairo_matrix_create_translate()
cairo_matrix_init()
cairo_matrix_init_identity()
cairo_matrix_init_rotate()
cairo_matrix_init_scale()
cairo_matrix_init_translate()
cairo_matrix_invert()
cairo_matrix_multiply()
cairo_matrix_rotate()
cairo_matrix_scale()
cairo_matrix_transform_distance()
cairo_matrix_transform_point()
cairo_matrix_translate()
cairo_move_to()
cairo_new_path()
cairo_new_sub_path()
cairo_paint()
cairo_paint_with_alpha()
cairo_path_extents()
cairo_pattern_add_color_stop_rgb()
cairo_pattern_add_color_stop_rgba()
cairo_pattern_create_for_surface()
cairo_pattern_create_linear()
cairo_pattern_create_radial()
cairo_pattern_create_rgb()
cairo_pattern_create_rgba()
cairo_pattern_get_color_stop_count()
cairo_pattern_get_color_stop_rgba()
cairo_pattern_get_extend()
cairo_pattern_get_filter()
cairo_pattern_get_linear_points()
cairo_pattern_get_matrix()
cairo_pattern_get_radial_circles()
cairo_pattern_get_rgba()
cairo_pattern_get_surface()
cairo_pattern_get_type()
cairo_pattern_set_extend()
cairo_pattern_set_filter()
cairo_pattern_set_matrix()
cairo_pattern_status()
cairo_pdf_surface_create()
cairo_pdf_surface_set_size()
cairo_pop_group()
cairo_pop_group_to_source()
cairo_ps_get_levels()
cairo_ps_level_to_string()
cairo_ps_surface_create()
cairo_ps_surface_dsc_begin_page_setup()
cairo_ps_surface_dsc_begin_setup()
cairo_ps_surface_dsc_comment()
cairo_ps_surface_get_eps()
cairo_ps_surface_restrict_to_level()
cairo_ps_surface_set_eps()
cairo_ps_surface_set_size()
cairo_push_group()
cairo_push_group_with_content()
cairo_rectangle()
cairo_rel_curve_to()
cairo_rel_line_to()
cairo_rel_move_to()
cairo_reset_clip()
cairo_restore()
cairo_rotate()
cairo_save()
cairo_scale()
cairo_scaled_font_create()
cairo_scaled_font_extents()
cairo_scaled_font_get_ctm()
cairo_scaled_font_get_font_face()
cairo_scaled_font_get_font_matrix()
cairo_scaled_font_get_font_options()
cairo_scaled_font_get_scale_matrix()
cairo_scaled_font_get_type()
cairo_scaled_font_glyph_extents()
cairo_scaled_font_status()
cairo_scaled_font_text_extents()
cairo_select_font_face()
cairo_set_antialias()
cairo_set_dash()
cairo_set_fill_rule()
cairo_set_font_face()
cairo_set_font_matrix()
cairo_set_font_options()
cairo_set_font_size()
cairo_set_line_cap()
cairo_set_line_join()
cairo_set_line_width()
cairo_set_matrix()
cairo_set_miter_limit()
cairo_set_operator()
cairo_set_scaled_font()
cairo_set_source()
cairo_set_source_surface()
cairo_set_tolerance()
cairo_show_page()
cairo_show_text()
cairo_status()
cairo_status_to_string()
cairo_stroke()
cairo_stroke_extents()
cairo_stroke_preserve()
cairo_surface_copy_page()
cairo_surface_create_similar()
cairo_surface_finish()
cairo_surface_flush()
cairo_surface_get_content()
cairo_surface_get_device_offset()
cairo_surface_get_font_options()
cairo_surface_get_type()
cairo_surface_mark_dirty()
cairo_surface_mark_dirty_rectangle()
cairo_surface_set_device_offset()
cairo_surface_set_fallback_resolution()
cairo_surface_show_page()
cairo_surface_status()
cairo_surface_write_to_png()
cairo_svg_surface_create()
cairo_svg_surface_get_versions()
cairo_svg_surface_restrict_to_version()
cairo_svg_version_to_string()
cairo_text_extents()
cairo_text_path()
cairo_transform()
cairo_translate()
cairo_user_to_device()
cairo_user_to_device_distance()
cairo_version()
cairo_version_string()
CairoContext::__construct()
CairoContext::appendPath()
CairoContext::arc()
CairoContext::arcNegative()
CairoContext::clip()
CairoContext::clipExtents()
CairoContext::clipPreserve()
CairoContext::clipRectangleList()
CairoContext::closePath()
CairoContext::copyPage()
CairoContext::copyPath()
CairoContext::copyPathFlat()
CairoContext::curveTo()
CairoContext::deviceToUser()
CairoContext::deviceToUserDistance()
CairoContext::fill()
CairoContext::fillExtents()
CairoContext::fillPreserve()
CairoContext::fontExtents()
CairoContext::getAntialias()
CairoContext::getCurrentPoint()
CairoContext::getDash()
CairoContext::getDashCount()
CairoContext::getFillRule()
CairoContext::getFontFace()
CairoContext::getFontMatrix()
CairoContext::getFontOptions()
CairoContext::getGroupTarget()
CairoContext::getLineCap()
CairoContext::getLineJoin()
CairoContext::getLineWidth()
CairoContext::getMatrix()
CairoContext::getMiterLimit()
CairoContext::getOperator()
CairoContext::getScaledFont()
CairoContext::getSource()
CairoContext::getTarget()
CairoContext::getTolerance()
CairoContext::glyphPath()
CairoContext::hasCurrentPoint()
CairoContext::identityMatrix()
CairoContext::inFill()
CairoContext::inStroke()
CairoContext::lineTo()
CairoContext::mask()
CairoContext::maskSurface()
CairoContext::moveTo()
CairoContext::newPath()
CairoContext::newSubPath()
CairoContext::paint()
CairoContext::paintWithAlpha()
CairoContext::pathExtents()
CairoContext::popGroup()
CairoContext::popGroupToSource()
CairoContext::pushGroup()
CairoContext::pushGroupWithContent()
CairoContext::rectangle()
CairoContext::relCurveTo()
CairoContext::relLineTo()
CairoContext::relMoveTo()
CairoContext::resetClip()
CairoContext::restore()
CairoContext::rotate()
CairoContext::save()
CairoContext::scale()
CairoContext::selectFontFace()
CairoContext::setAntialias()
CairoContext::setDash()
CairoContext::setFillRule()
CairoContext::setFontFace()
CairoContext::setFontMatrix()
CairoContext::setFontOptions()
CairoContext::setFontSize()
CairoContext::setLineCap()
CairoContext::setLineJoin()
CairoContext::setLineWidth()
CairoContext::setMatrix()
CairoContext::setMiterLimit()
CairoContext::setOperator()
CairoContext::setScaledFont()
CairoContext::setSource()
CairoContext::setSourceRGB()
CairoContext::setSourceRGBA()
CairoContext::setSourceSurface()
CairoContext::setTolerance()
CairoContext::showPage()
CairoContext::showText()
CairoContext::status()
CairoContext::stroke()
CairoContext::strokeExtents()
CairoContext::strokePreserve()
CairoContext::textExtents()
CairoContext::textPath()
CairoContext::transform()
CairoContext::translate()
CairoContext::userToDevice()
CairoContext::userToDeviceDistance()
CairoFontFace::__construct()
CairoFontFace::getType()
CairoFontFace::status()
CairoFontOptions::__construct()
CairoFontOptions::equal()
CairoFontOptions::getAntialias()
CairoFontOptions::getHintMetrics()
CairoFontOptions::getHintStyle()
CairoFontOptions::getSubpixelOrder()
CairoFontOptions::hash()
CairoFontOptions::merge()
CairoFontOptions::setAntialias()
CairoFontOptions::setHintMetrics()
CairoFontOptions::setHintStyle()
CairoFontOptions::setSubpixelOrder()
CairoFontOptions::status()
CairoFormat::strideForWidth()
CairoGradientPattern::addColorStopRgb()
CairoGradientPattern::addColorStopRgba()
CairoGradientPattern::getColorStopCount()
CairoGradientPattern::getColorStopRgba()
CairoGradientPattern::getExtend()
CairoGradientPattern::setExtend()
CairoImageSurface::__construct()
CairoImageSurface::createForData()
CairoImageSurface::createFromPng()
CairoImageSurface::getData()
CairoImageSurface::getFormat()
CairoImageSurface::getHeight()
CairoImageSurface::getStride()
CairoImageSurface::getWidth()
CairoLinearGradient::__construct()
CairoLinearGradient::getPoints()
CairoMatrix::__construct()
CairoMatrix::initIdentity()
CairoMatrix::initRotate()
CairoMatrix::initScale()
CairoMatrix::initTranslate()
CairoMatrix::invert()
CairoMatrix::multiply()
CairoMatrix::rotate()
CairoMatrix::scale()
CairoMatrix::transformDistance()
CairoMatrix::transformPoint()
CairoMatrix::translate()
CairoPattern::__construct()
CairoPattern::getMatrix()
CairoPattern::getType()
CairoPattern::setMatrix()
CairoPattern::status()
CairoPdfSurface::__construct()
CairoPdfSurface::setSize()
CairoPsSurface::__construct()
CairoPsSurface::dscBeginPageSetup()
CairoPsSurface::dscBeginSetup()
CairoPsSurface::dscComment()
CairoPsSurface::getEps()
CairoPsSurface::getLevels()
CairoPsSurface::levelToString()
CairoPsSurface::restrictToLevel()
CairoPsSurface::setEps()
CairoPsSurface::setSize()
CairoRadialGradient::__construct()
CairoRadialGradient::getCircles()
CairoScaledFont::__construct()
CairoScaledFont::extents()
CairoScaledFont::getCtm()
CairoScaledFont::getFontFace()
CairoScaledFont::getFontMatrix()
CairoScaledFont::getFontOptions()
CairoScaledFont::getScaleMatrix()
CairoScaledFont::getType()
CairoScaledFont::glyphExtents()
CairoScaledFont::status()
CairoScaledFont::textExtents()
CairoSolidPattern::__construct()
CairoSolidPattern::getRgba()
CairoSurface::__construct()
CairoSurface::copyPage()
CairoSurface::createSimilar()
CairoSurface::finish()
CairoSurface::flush()
CairoSurface::getContent()
CairoSurface::getDeviceOffset()
CairoSurface::getFontOptions()
CairoSurface::getType()
CairoSurface::markDirty()
CairoSurface::markDirtyRectangle()
CairoSurface::setDeviceOffset()
CairoSurface::setFallbackResolution()
CairoSurface::showPage()
CairoSurface::status()
CairoSurface::writeToPng()
CairoSurfacePattern::__construct()
CairoSurfacePattern::getExtend()
CairoSurfacePattern::getFilter()
CairoSurfacePattern::getSurface()
CairoSurfacePattern::setExtend()
CairoSurfacePattern::setFilter()
CairoSvgSurface::__construct()
CairoSvgSurface::getVersions()
CairoSvgSurface::restrictToVersion()
CairoSvgSurface::versionToString()
cal_days_in_month()
cal_from_jd()
cal_info()
cal_to_jd()
calcul_hmac()
calculhmac()
call_user_func()
call_user_func_array()
call_user_method()
call_user_method_array()
ceil()
chdb::__construct()
chdb::get()
chdb_create()
chdir()
checkdate()
checkdnsrr()
chgrp()
chmod()
chop()
chown()
chr()
chroot()
chunk_split()
class_alias()
class_exists()
class_implements()
class_parents()
classkit_import()
classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
clearstatcache()
closedir()
closelog()
Collator::__construct()
Collator::asort()
Collator::compare()
Collator::create()
Collator::getAttribute()
Collator::getErrorCode()
Collator::getErrorMessage()
Collator::getLocale()
Collator::getSortKey()
Collator::getStrength()
Collator::setAttribute()
Collator::setStrength()
Collator::sort()
Collator::sortWithSortKeys()
collator_asort()
collator_compare()
collator_create()
collator_get_attribute()
collator_get_error_code()
collator_get_error_message()
collator_get_locale()
collator_get_sort_key()
collator_get_strength()
collator_set_attribute()
collator_set_strength()
collator_sort()
collator_sort_with_sort_keys()
com()
com_addref()
com_create_guid()
com_event_sink()
com_get()
com_get_active_object()
com_invoke()
com_isenum()
com_load()
com_load_typelib()
com_message_pump()
com_print_typeinfo()
com_propget()
com_propput()
com_propset()
com_release()
com_set()
compact()
connection_aborted()
connection_status()
connection_timeout()
constant()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
copy()
cos()
cosh()
count()
count_chars()
Countable::count()
crack_check()
crack_closedict()
crack_getlastmessage()
crack_opendict()
crc32()
create_function()
crypt()
ctype_alnum()
ctype_alpha()
ctype_cntrl()
ctype_digit()
ctype_graph()
ctype_lower()
ctype_print()
ctype_punct()
ctype_space()
ctype_upper()
ctype_xdigit()
cubrid_affected_rows()
cubrid_bind()
cubrid_client_encoding()
cubrid_close()
cubrid_close_prepare()
cubrid_close_request()
cubrid_col_get()
cubrid_col_size()
cubrid_column_names()
cubrid_column_types()
cubrid_commit()
cubrid_connect()
cubrid_connect_with_url()
cubrid_current_oid()
cubrid_data_seek()
cubrid_db_name()
cubrid_disconnect()
cubrid_drop()
cubrid_errno()
cubrid_error()
cubrid_error_code()
cubrid_error_code_facility()
cubrid_error_msg()
cubrid_execute()
cubrid_fetch()
cubrid_fetch_array()
cubrid_fetch_assoc()
cubrid_fetch_field()
cubrid_fetch_lengths()
cubrid_fetch_object()
cubrid_fetch_row()
cubrid_field_flags()
cubrid_field_len()
cubrid_field_name()
cubrid_field_seek()
cubrid_field_table()
cubrid_field_type()
cubrid_free_result()
cubrid_get()
cubrid_get_autocommit()
cubrid_get_charset()
cubrid_get_class_name()
cubrid_get_client_info()
cubrid_get_db_parameter()
cubrid_get_server_info()
cubrid_insert_id()
cubrid_is_instance()
cubrid_list_dbs()
cubrid_load_from_glo()
cubrid_lob_close()
cubrid_lob_export()
cubrid_lob_get()
cubrid_lob_send()
cubrid_lob_size()
cubrid_lock_read()
cubrid_lock_write()
cubrid_move_cursor()
cubrid_new_glo()
cubrid_next_result()
cubrid_num_cols()
cubrid_num_fields()
cubrid_num_rows()
cubrid_ping()
cubrid_prepare()
cubrid_put()
cubrid_query()
cubrid_real_escape_string()
cubrid_result()
cubrid_rollback()
cubrid_save_to_glo()
cubrid_schema()
cubrid_send_glo()
cubrid_seq_drop()
cubrid_seq_insert()
cubrid_seq_put()
cubrid_set_add()
cubrid_set_autocommit()
cubrid_set_db_parameter()
cubrid_set_drop()
cubrid_unbuffered_query()
cubrid_version()
curl_close()
curl_copy_handle()
curl_errno()
curl_error()
curl_exec()
curl_getinfo()
curl_init()
curl_multi_add_handle()
curl_multi_close()
curl_multi_exec()
curl_multi_getcontent()
curl_multi_info_read()
curl_multi_init()
curl_multi_remove_handle()
curl_multi_select()
curl_setopt()
curl_setopt_array()
curl_version()
current()
cyrus_authenticate()
cyrus_bind()
cyrus_close()
cyrus_connect()
cyrus_query()
cyrus_unbind()
D
date()
date_add()
date_create()
date_create_from_format()
date_date_set()
date_default_timezone_get()
date_default_timezone_set()
date_diff()
date_format()
date_get_last_errors()
date_interval_create_from_date_string()
date_interval_format()
date_isodate_set()
date_modify()
date_offset_get()
date_parse()
date_parse_from_format()
date_sub()
date_sun_info()
date_sunrise()
date_sunset()
date_time_set()
date_timestamp_get()
date_timestamp_set()
date_timezone_get()
date_timezone_set()
datefmt_create()
datefmt_format()
datefmt_get_calendar()
datefmt_get_datetype()
datefmt_get_error_code()
datefmt_get_error_message()
datefmt_get_locale()
datefmt_get_pattern()
datefmt_get_timetype()
datefmt_get_timezone_id()
datefmt_is_lenient()
datefmt_localtime()
datefmt_parse()
datefmt_set_calendar()
datefmt_set_lenient()
datefmt_set_pattern()
datefmt_set_timezone_id()
DateInterval::__construct()
DateInterval::createFromDateString()
DateInterval::format()
DatePeriod::__construct()
DateTime::__construct()
DateTime::__set_state()
DateTime::__wakeup()
DateTime::add()
DateTime::createFromFormat()
DateTime::diff()
DateTime::format()
DateTime::getLastErrors()
DateTime::getOffset()
DateTime::getTimestamp()
DateTime::getTimezone()
DateTime::modify()
DateTime::setDate()
DateTime::setISODate()
DateTime::setTime()
DateTime::setTimestamp()
DateTime::setTimezone()
DateTime::sub()
DateTimeZone::__construct()
DateTimeZone::getLocation()
DateTimeZone::getName()
DateTimeZone::getOffset()
DateTimeZone::getTransitions()
DateTimeZone::listAbbreviations()
DateTimeZone::listIdentifiers()
db2_autocommit()
db2_bind_param()
db2_client_info()
db2_close()
db2_column_privileges()
db2_columns()
db2_commit()
db2_conn_error()
db2_conn_errormsg()
db2_connect()
db2_cursor_type()
db2_escape_string()
db2_exec()
db2_execute()
db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()
db2_foreign_keys()
db2_free_result()
db2_free_stmt()
db2_get_option()
db2_last_insert_id()
db2_lob_read()
db2_next_result()
db2_num_fields()
db2_num_rows()
db2_pclose()
db2_pconnect()
db2_prepare()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_result()
db2_rollback()
db2_server_info()
db2_set_option()
db2_special_columns()
db2_statistics()
db2_stmt_error()
db2_stmt_errormsg()
db2_table_privileges()
db2_tables()
dba_close()
dba_delete()
dba_exists()
dba_fetch()
dba_firstkey()
dba_handlers()
dba_insert()
dba_key_split()
dba_list()
dba_nextkey()
dba_open()
dba_optimize()
dba_popen()
dba_replace()
dba_sync()
dbase_add_record()
dbase_close()
dbase_create()
dbase_delete_record()
dbase_get_header_info()
dbase_get_record()
dbase_get_record_with_names()
dbase_numfields()
dbase_numrecords()
dbase_open()
dbase_pack()
dbase_replace_record()
dbplus_add()
dbplus_aql()
dbplus_chdir()
dbplus_close()
dbplus_curr()
dbplus_errcode()
dbplus_errno()
dbplus_find()
dbplus_first()
dbplus_flush()
dbplus_freealllocks()
dbplus_freelock()
dbplus_freerlocks()
dbplus_getlock()
dbplus_getunique()
dbplus_info()
dbplus_last()
dbplus_lockrel()
dbplus_next()
dbplus_open()
dbplus_prev()
dbplus_rchperm()
dbplus_rcreate()
dbplus_rcrtexact()
dbplus_rcrtlike()
dbplus_resolve()
dbplus_restorepos()
dbplus_rkeys()
dbplus_ropen()
dbplus_rquery()
dbplus_rrename()
dbplus_rsecindex()
dbplus_runlink()
dbplus_rzap()
dbplus_savepos()
dbplus_setindex()
dbplus_setindexbynumber()
dbplus_sql()
dbplus_tcl()
dbplus_tremove()
dbplus_undo()
dbplus_undoprepare()
dbplus_unlockrel()
dbplus_unselect()
dbplus_update()
dbplus_xlockrel()
dbplus_xunlockrel()
dbx_close()
dbx_compare()
dbx_connect()
dbx_error()
dbx_escape_string()
dbx_fetch_row()
dbx_query()
dbx_sort()
dcgettext()
dcngettext()
deaggregate()
debug_backtrace()
debug_print_backtrace()
debug_zval_dump()
decbin()
dechex()
decoct()
define()
define_syslog_variables()
defined()
deg2rad()
delete()
dgettext()
die()
dio_close()
dio_fcntl()
dio_open()
dio_read()
dio_seek()
dio_stat()
dio_tcsetattr()
dio_truncate()
dio_write()
dir()
DirectoryIterator::__construct()
DirectoryIterator::__toString()
DirectoryIterator::current()
DirectoryIterator::getATime()
DirectoryIterator::getBasename()
DirectoryIterator::getCTime()
DirectoryIterator::getFilename()
DirectoryIterator::getGroup()
DirectoryIterator::getInode()
DirectoryIterator::getMTime()
DirectoryIterator::getOwner()
DirectoryIterator::getPath()
DirectoryIterator::getPathname()
DirectoryIterator::getPerms()
DirectoryIterator::getSize()
DirectoryIterator::getType()
DirectoryIterator::isDir()
DirectoryIterator::isDot()
DirectoryIterator::isExecutable()
DirectoryIterator::isFile()
DirectoryIterator::isLink()
DirectoryIterator::isReadable()
DirectoryIterator::isWritable()
DirectoryIterator::key()
DirectoryIterator::next()
DirectoryIterator::rewind()
DirectoryIterator::seek()
DirectoryIterator::valid()
dirname()
disk_free_space()
disk_total_space()
diskfreespace()
dl()
dngettext()
dns_check_record()
dns_get_mx()
dns_get_record()
dom_import_simplexml()
DOMAttr::__construct()
DOMAttr::isId()
DomAttribute::name()
DomAttribute::set_value()
DomAttribute::specified()
DomAttribute::value()
DOMCharacterData::appendData()
DOMCharacterData::deleteData()
DOMCharacterData::insertData()
DOMCharacterData::replaceData()
DOMCharacterData::substringData()
DOMComment::__construct()
DOMDocument::__construct()
DomDocument::add_root()
DomDocument::create_attribute()
DomDocument::create_cdata_section()
DomDocument::create_comment()
DomDocument::create_element()
DomDocument::create_element_ns()
DomDocument::create_entity_reference()
DomDocument::create_processing_instruction()
DomDocument::create_text_node()
DOMDocument::createAttribute()
DOMDocument::createAttributeNS()
DOMDocument::createCDATASection()
DOMDocument::createComment()
DOMDocument::createDocumentFragment()
DOMDocument::createElement()
DOMDocument::createElementNS()
DOMDocument::createEntityReference()
DOMDocument::createProcessingInstruction()
DOMDocument::createTextNode()
DomDocument::doctype()
DomDocument::document_element()
DomDocument::dump_file()
DomDocument::dump_mem()
DomDocument::get_element_by_id()
DomDocument::get_elements_by_tagname()
DOMDocument::getElementById()
DOMDocument::getElementsByTagName()
DOMDocument::getElementsByTagNameNS()
DomDocument::html_dump_mem()
DOMDocument::importNode()
DOMDocument::load()
DOMDocument::loadHTML()
DOMDocument::loadHTMLFile()
DOMDocument::loadXML()
DOMDocument::normalizeDocument()
DOMDocument::registerNodeClass()
DOMDocument::relaxNGValidate()
DOMDocument::relaxNGValidateSource()
DOMDocument::save()
DOMDocument::saveHTML()
DOMDocument::saveHTMLFile()
DOMDocument::saveXML()
DOMDocument::schemaValidate()
DOMDocument::schemaValidateSource()
DOMDocument::validate()
DomDocument::xinclude()
DOMDocument::xinclude()
DOMDocumentFragment::appendXML()
DomDocumentType::entities()
DomDocumentType::internal_subset()
DomDocumentType::name()
DomDocumentType::notations()
DomDocumentType::public_id()
DomDocumentType::system_id()
DOMElement::__construct()
DomElement::get_attribute()
DomElement::get_attribute_node()
DomElement::get_elements_by_tagname()
DOMElement::getAttribute()
DOMElement::getAttributeNode()
DOMElement::getAttributeNodeNS()
DOMElement::getAttributeNS()
DOMElement::getElementsByTagName()
DOMElement::getElementsByTagNameNS()
DomElement::has_attribute()
DOMElement::hasAttribute()
DOMElement::hasAttributeNS()
DomElement::remove_attribute()
DOMElement::removeAttribute()
DOMElement::removeAttributeNode()
DOMElement::removeAttributeNS()
DomElement::set_attribute()
DomElement::set_attribute_node()
DOMElement::setAttribute()
DOMElement::setAttributeNode()
DOMElement::setAttributeNodeNS()
DOMElement::setAttributeNS()
DOMElement::setIdAttribute()
DOMElement::setIdAttributeNode()
DOMElement::setIdAttributeNS()
DomElement::tagname()
DOMEntityReference::__construct()
DOMImplementation::__construct()
DOMImplementation::createDocument()
DOMImplementation::createDocumentType()
DOMImplementation::hasFeature()
DOMNamedNodeMap::getNamedItem()
DOMNamedNodeMap::getNamedItemNS()
DOMNamedNodeMap::item()
DomNode::add_namespace()
DomNode::append_child()
DomNode::append_sibling()
DOMNode::appendChild()
DomNode::attributes()
DomNode::child_nodes()
DomNode::clone_node()
DOMNode::cloneNode()
DomNode::dump_node()
DomNode::first_child()
DomNode::get_content()
DOMNode::getLineNo()
DomNode::has_attributes()
DomNode::has_child_nodes()
DOMNode::hasAttributes()
DOMNode::hasChildNodes()
DomNode::insert_before()
DOMNode::insertBefore()
DomNode::is_blank_node()
DOMNode::isDefaultNamespace()
DOMNode::isSameNode()
DOMNode::isSupported()
DomNode::last_child()
DOMNode::lookupNamespaceURI()
DOMNode::lookupPrefix()
DomNode::next_sibling()
DomNode::node_name()
DomNode::node_type()
DomNode::node_value()
DOMNode::normalize()
DomNode::owner_document()
DomNode::parent_node()
DomNode::prefix()
DomNode::previous_sibling()
DomNode::remove_child()
DOMNode::removeChild()
DomNode::replace_child()
DomNode::replace_node()
DOMNode::replaceChild()
DomNode::set_content()
DomNode::set_name()
DomNode::set_namespace()
DomNode::unlink_node()
DOMNodelist::item()
DOMProcessingInstruction::__construct()
DomProcessingInstruction::data()
DomProcessingInstruction::target()
DOMText::__construct()
DOMText::isWhitespaceInElementContent()
DOMText::splitText()
domxml_new_doc()
domxml_open_file()
domxml_open_mem()
domxml_version()
domxml_xmltree()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()
domxml_xslt_stylesheet_file()
domxml_xslt_version()
DOMXPath::__construct()
DOMXPath::evaluate()
DOMXPath::query()
DOMXPath::registerNamespace()
DOMXPath::registerPhpFunctions()
DomXsltStylesheet::process()
DomXsltStylesheet::result_dump_file()
DomXsltStylesheet::result_dump_mem()
dotnet()
dotnet_load()
doubleval()
E
each()
easter_date()
easter_days()
echo()
empty()
EmptyIterator::current()
EmptyIterator::key()
EmptyIterator::next()
EmptyIterator::rewind()
EmptyIterator::valid()
enchant_broker_describe()
enchant_broker_dict_exists()
enchant_broker_free()
enchant_broker_free_dict()
enchant_broker_get_error()
enchant_broker_init()
enchant_broker_list_dicts()
enchant_broker_request_dict()
enchant_broker_request_pwl_dict()
enchant_broker_set_ordering()
enchant_dict_add_to_personal()
enchant_dict_add_to_session()
enchant_dict_check()
enchant_dict_describe()
enchant_dict_get_error()
enchant_dict_is_in_session()
enchant_dict_quick_check()
enchant_dict_store_replacement()
enchant_dict_suggest()
end()
ereg()
ereg_replace()
eregi()
eregi_replace()
error_get_last()
error_log()
error_reporting()
escapeshellarg()
escapeshellcmd()
eval()
event_add()
event_base_free()
event_base_loop()
event_base_loopbreak()
event_base_loopexit()
event_base_new()
event_base_priority_init()
event_base_set()
event_buffer_base_set()
event_buffer_disable()
event_buffer_enable()
event_buffer_fd_set()
event_buffer_free()
event_buffer_new()
event_buffer_priority_set()
event_buffer_read()
event_buffer_set_callback()
event_buffer_timeout_set()
event_buffer_watermark_set()
event_buffer_write()
event_del()
event_free()
event_new()
event_set()
exec()
exif_imagetype()
exif_read_data()
exif_tagname()
exif_thumbnail()
exit()
exp()
expect_expectl()
expect_popen()
explode()
expm1()
extension_loaded()
extract()
ezmlm_hash()
F
fam_cancel_monitor()
fam_close()
fam_monitor_collection()
fam_monitor_directory()
fam_monitor_file()
fam_next_event()
fam_open()
fam_pending()
fam_resume_monitor()
fam_suspend_monitor()
fbsql_affected_rows()
fbsql_autocommit()
fbsql_blob_size()
fbsql_change_user()
fbsql_clob_size()
fbsql_close()
fbsql_commit()
fbsql_connect()
fbsql_create_blob()
fbsql_create_clob()
fbsql_create_db()
fbsql_data_seek()
fbsql_database()
fbsql_database_password()
fbsql_db_query()
fbsql_db_status()
fbsql_drop_db()
fbsql_errno()
fbsql_error()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_field()
fbsql_fetch_lengths()
fbsql_fetch_object()
fbsql_fetch_row()
fbsql_field_flags()
fbsql_field_len()
fbsql_field_name()
fbsql_field_seek()
fbsql_field_table()
fbsql_field_type()
fbsql_free_result()
fbsql_get_autostart_info()
fbsql_hostname()
fbsql_insert_id()
fbsql_list_dbs()
fbsql_list_fields()
fbsql_list_tables()
fbsql_next_result()
fbsql_num_fields()
fbsql_num_rows()
fbsql_password()
fbsql_pconnect()
fbsql_query()
fbsql_read_blob()
fbsql_read_clob()
fbsql_result()
fbsql_rollback()
fbsql_rows_fetched()
fbsql_select_db()
fbsql_set_characterset()
fbsql_set_lob_mode()
fbsql_set_password()
fbsql_set_transaction()
fbsql_start_db()
fbsql_stop_db()
fbsql_table_name()
fbsql_tablename()
fbsql_username()
fbsql_warnings()
fclose()
fdf_add_doc_javascript()
fdf_add_template()
fdf_close()
fdf_create()
fdf_enum_values()
fdf_errno()
fdf_error()
fdf_get_ap()
fdf_get_attachment()
fdf_get_encoding()
fdf_get_file()
fdf_get_flags()
fdf_get_opt()
fdf_get_status()
fdf_get_value()
fdf_get_version()
fdf_header()
fdf_next_field_name()
fdf_open()
fdf_open_string()
fdf_remove_item()
fdf_save()
fdf_save_string()
fdf_set_ap()
fdf_set_encoding()
fdf_set_file()
fdf_set_flags()
fdf_set_javascript_action()
fdf_set_on_import_javascript()
fdf_set_opt()
fdf_set_status()
fdf_set_submit_form_action()
fdf_set_target_frame()
fdf_set_value()
fdf_set_version()
feof()
fflush()
fgetc()
fgetcsv()
fgets()
fgetss()
file()
file_exists()
file_get_contents()
file_put_contents()
fileatime()
filectime()
filegroup()
fileinode()
filemtime()
fileowner()
fileperms()
filepro()
filepro_fieldcount()
filepro_fieldname()
filepro_fieldtype()
filepro_fieldwidth()
filepro_retrieve()
filepro_rowcount()
filesize()
FilesystemIterator::__construct()
FilesystemIterator::current()
FilesystemIterator::getFlags()
FilesystemIterator::key()
FilesystemIterator::next()
FilesystemIterator::rewind()
FilesystemIterator::setFlags()
filetype()
filter_has_var()
filter_id()
filter_input()
filter_input_array()
filter_list()
filter_var()
filter_var_array()
FilterIterator::__construct()
FilterIterator::accept()
FilterIterator::current()
FilterIterator::getInnerIterator()
FilterIterator::key()
FilterIterator::next()
FilterIterator::rewind()
FilterIterator::valid()
finfo::__construct()
finfo_buffer()
finfo_close()
finfo_file()
finfo_open()
finfo_set_flags()
floatval()
flock()
floor()
flush()
fmod()
fnmatch()
fopen()
forward_static_call()
forward_static_call_array()
fpassthru()
fprintf()
fputcsv()
fputs()
fread()
frenchtojd()
fribidi_log2vis()
fscanf()
fseek()
fsockopen()
fstat()
ftell()
ftok()
ftp_alloc()
ftp_cdup()
ftp_chdir()
ftp_chmod()
ftp_close()
ftp_connect()
ftp_delete()
ftp_exec()
ftp_fget()
ftp_fput()
ftp_get()
ftp_get_option()
ftp_login()
ftp_mdtm()
ftp_mkdir()
ftp_nb_continue()
ftp_nb_fget()
ftp_nb_fput()
ftp_nb_get()
ftp_nb_put()
ftp_nlist()
ftp_pasv()
ftp_put()
ftp_pwd()
ftp_quit()
ftp_raw()
ftp_rawlist()
ftp_rename()
ftp_rmdir()
ftp_set_option()
ftp_site()
ftp_size()
ftp_ssl_connect()
ftp_systype()
ftruncate()
func_get_arg()
func_get_args()
func_num_args()
function_exists()
fwrite()
G
gc_collect_cycles()
gc_disable()
gc_enable()
gc_enabled()
gd_info()
gearman_job_handle()
gearman_job_status()
GearmanClient::__construct()
GearmanClient::addOptions()
GearmanClient::addServer()
GearmanClient::addServers()
GearmanClient::addTask()
GearmanClient::addTaskBackground()
GearmanClient::addTaskHigh()
GearmanClient::addTaskHighBackground()
GearmanClient::addTaskLow()
GearmanClient::addTaskLowBackground()
GearmanClient::addTaskStatus()
GearmanClient::clearCallbacks()
GearmanClient::clone()
GearmanClient::context()
GearmanClient::data()
GearmanClient::do()
GearmanClient::doBackground()
GearmanClient::doHigh()
GearmanClient::doHighBackground()
GearmanClient::doJobHandle()
GearmanClient::doLow()
GearmanClient::doLowBackground()
GearmanClient::doStatus()
GearmanClient::echo()
GearmanClient::error()
GearmanClient::getErrno()
GearmanClient::jobStatus()
GearmanClient::removeOptions()
GearmanClient::returnCode()
GearmanClient::runTasks()
GearmanClient::setClientCallback()
GearmanClient::setCompleteCallback()
GearmanClient::setContext()
GearmanClient::setCreatedCallback()
GearmanClient::setData()
GearmanClient::setDataCallback()
GearmanClient::setExceptionCallback()
GearmanClient::setFailCallback()
GearmanClient::setOptions()
GearmanClient::setStatusCallback()
GearmanClient::setTimeout()
GearmanClient::setWarningCallback()
GearmanClient::setWorkloadCallback()
GearmanClient::timeout()
GearmanJob::__construct()
GearmanJob::complete()
GearmanJob::data()
GearmanJob::exception()
GearmanJob::fail()
GearmanJob::functionName()
GearmanJob::handle()
GearmanJob::returnCode()
GearmanJob::sendComplete()
GearmanJob::sendData()
GearmanJob::sendException()
GearmanJob::sendFail()
GearmanJob::sendStatus()
GearmanJob::sendWarning()
GearmanJob::setReturn()
GearmanJob::status()
GearmanJob::unique()
GearmanJob::warning()
GearmanJob::workload()
GearmanJob::workloadSize()
GearmanTask::__construct()
GearmanTask::create()
GearmanTask::data()
GearmanTask::dataSize()
GearmanTask::function()
GearmanTask::functionName()
GearmanTask::isKnown()
GearmanTask::isRunning()
GearmanTask::jobHandle()
GearmanTask::recvData()
GearmanTask::returnCode()
GearmanTask::sendData()
GearmanTask::sendWorkload()
GearmanTask::taskDenominator()
GearmanTask::taskNumerator()
GearmanTask::unique()
GearmanTask::uuid()
GearmanWorker::__construct()
GearmanWorker::addFunction()
GearmanWorker::addOptions()
GearmanWorker::addServer()
GearmanWorker::addServers()
GearmanWorker::clone()
GearmanWorker::echo()
GearmanWorker::error()
GearmanWorker::getErrno()
GearmanWorker::options()
GearmanWorker::register()
GearmanWorker::removeOptions()
GearmanWorker::returnCode()
GearmanWorker::setOptions()
GearmanWorker::setTimeout()
GearmanWorker::timeout()
GearmanWorker::unregister()
GearmanWorker::unregisterAll()
GearmanWorker::wait()
GearmanWorker::work()
geoip_continent_code_by_name()
geoip_country_code3_by_name()
geoip_country_code_by_name()
geoip_country_name_by_name()
geoip_database_info()
geoip_db_avail()
geoip_db_filename()
geoip_db_get_all_info()
geoip_id_by_name()
geoip_isp_by_name()
geoip_org_by_name()
geoip_record_by_name()
geoip_region_by_name()
geoip_region_name_by_code()
geoip_time_zone_by_country_and_region()
get_browser()
get_called_class()
get_cfg_var()
get_class()
get_class_methods()
get_class_vars()
get_current_user()
get_declared_classes()
get_declared_interfaces()
get_defined_constants()
get_defined_functions()
get_defined_vars()
get_extension_funcs()
get_headers()
get_html_translation_table()
get_include_path()
get_included_files()
get_loaded_extensions()
get_magic_quotes_gpc()
get_magic_quotes_runtime()
get_meta_tags()
get_object_vars()
get_parent_class()
get_required_files()
get_resource_type()
getallheaders()
getcwd()
getdate()
getenv()
gethostbyaddr()
gethostbyname()
gethostbynamel()
gethostname()
getimagesize()
getlastmod()
getmxrr()
getmygid()
getmyinode()
getmypid()
getmyuid()
getopt()
getprotobyname()
getprotobynumber()
getrandmax()
getrusage()
getservbyname()
getservbyport()
gettext()
gettimeofday()
gettype()
glob()
GlobIterator::__construct()
GlobIterator::count()
Gmagick::__construct()
Gmagick::addimage()
Gmagick::addnoiseimage()
Gmagick::annotateimage()
Gmagick::blurimage()
Gmagick::borderimage()
Gmagick::charcoalimage()
Gmagick::chopimage()
Gmagick::clear()
Gmagick::commentimage()
Gmagick::compositeimage()
Gmagick::cropimage()
Gmagick::cropthumbnailimage()
Gmagick::current()
Gmagick::cyclecolormapimage()
Gmagick::deconstructimages()
Gmagick::despeckleimage()
Gmagick::destroy()
Gmagick::drawimage()
Gmagick::edgeimage()
Gmagick::embossimage()
Gmagick::enhanceimage()
Gmagick::equalizeimage()
Gmagick::flipimage()
Gmagick::flopimage()
Gmagick::frameimage()
Gmagick::gammaimage()
Gmagick::getcopyright()
Gmagick::getfilename()
Gmagick::getimagebackgroundcolor()
Gmagick::getimageblueprimary()
Gmagick::getimagebordercolor()
Gmagick::getimagechanneldepth()
Gmagick::getimagecolors()
Gmagick::getimagecolorspace()
Gmagick::getimagecompose()
Gmagick::getimagedelay()
Gmagick::getimagedepth()
Gmagick::getimagedispose()
Gmagick::getimageextrema()
Gmagick::getimagefilename()
Gmagick::getimageformat()
Gmagick::getimagegamma()
Gmagick::getimagegreenprimary()
Gmagick::getimageheight()
Gmagick::getimagehistogram()
Gmagick::getimageindex()
Gmagick::getimageinterlacescheme()
Gmagick::getimageiterations()
Gmagick::getimagematte()
Gmagick::getimagemattecolor()
Gmagick::getimageprofile()
Gmagick::getimageredprimary()
Gmagick::getimagerenderingintent()
Gmagick::getimageresolution()
Gmagick::getimagescene()
Gmagick::getimagesignature()
Gmagick::getimagetype()
Gmagick::getimageunits()
Gmagick::getimagewhitepoint()
Gmagick::getimagewidth()
Gmagick::getpackagename()
Gmagick::getquantumdepth()
Gmagick::getreleasedate()
Gmagick::getsamplingfactors()
Gmagick::getsize()
Gmagick::getversion()
Gmagick::hasnextimage()
Gmagick::haspreviousimage()
Gmagick::implodeimage()
Gmagick::labelimage()
Gmagick::levelimage()
Gmagick::magnifyimage()
Gmagick::mapimage()
Gmagick::medianfilterimage()
Gmagick::minifyimage()
Gmagick::modulateimage()
Gmagick::motionblurimage()
Gmagick::newimage()
Gmagick::nextimage()
Gmagick::normalizeimage()
Gmagick::oilpaintimage()
Gmagick::previousimage()
Gmagick::profileimage()
Gmagick::quantizeimage()
Gmagick::quantizeimages()
Gmagick::queryfontmetrics()
Gmagick::queryfonts()
Gmagick::queryformats()
Gmagick::radialblurimage()
Gmagick::raiseimage()
Gmagick::read()
Gmagick::readimage()
Gmagick::readimageblob()
Gmagick::readimagefile()
Gmagick::reducenoiseimage()
Gmagick::removeimage()
Gmagick::removeimageprofile()
Gmagick::resampleimage()
Gmagick::resizeimage()
Gmagick::rollimage()
Gmagick::rotateimage()
Gmagick::scaleimage()
Gmagick::separateimagechannel()
Gmagick::setfilename()
Gmagick::setimagebackgroundcolor()
Gmagick::setimageblueprimary()
Gmagick::setimagebordercolor()
Gmagick::setimagechanneldepth()
Gmagick::setimagecolorspace()
Gmagick::setimagecompose()
Gmagick::setimagedelay()
Gmagick::setimagedepth()
Gmagick::setimagedispose()
Gmagick::setimagefilename()
Gmagick::setimageformat()
Gmagick::setimagegamma()
Gmagick::setimagegreenprimary()
Gmagick::setimageindex()
Gmagick::setimageinterlacescheme()
Gmagick::setimageiterations()
Gmagick::setimageprofile()
Gmagick::setimageredprimary()
Gmagick::setimagerenderingintent()
Gmagick::setimageresolution()
Gmagick::setimagescene()
Gmagick::setimagetype()
Gmagick::setimageunits()
Gmagick::setimagewhitepoint()
Gmagick::setsamplingfactors()
Gmagick::setsize()
Gmagick::shearimage()
Gmagick::solarizeimage()
Gmagick::spreadimage()
Gmagick::stripimage()
Gmagick::swirlimage()
Gmagick::thumbnailimage()
Gmagick::trimimage()
Gmagick::write()
Gmagick::writeimage()
GmagickDraw::annotate()
GmagickDraw::arc()
GmagickDraw::bezier()
GmagickDraw::ellipse()
GmagickDraw::getfillcolor()
GmagickDraw::getfillopacity()
GmagickDraw::getfont()
GmagickDraw::getfontsize()
GmagickDraw::getfontstyle()
GmagickDraw::getfontweight()
GmagickDraw::getstrokecolor()
GmagickDraw::getstrokeopacity()
GmagickDraw::getstrokewidth()
GmagickDraw::gettextdecoration()
GmagickDraw::gettextencoding()
GmagickDraw::line()
GmagickDraw::point()
GmagickDraw::polygon()
GmagickDraw::polyline()
GmagickDraw::rectangle()
GmagickDraw::rotate()
GmagickDraw::roundrectangle()
GmagickDraw::scale()
GmagickDraw::setfillcolor()
GmagickDraw::setfillopacity()
GmagickDraw::setfont()
GmagickDraw::setfontsize()
GmagickDraw::setfontstyle()
GmagickDraw::setfontweight()
GmagickDraw::setstrokecolor()
GmagickDraw::setstrokeopacity()
GmagickDraw::setstrokewidth()
GmagickDraw::settextdecoration()
GmagickDraw::settextencoding()
GmagickPixel::__construct()
GmagickPixel::getcolor()
GmagickPixel::getcolorcount()
GmagickPixel::getcolorvalue()
GmagickPixel::setcolor()
GmagickPixel::setcolorvalue()
gmdate()
gmmktime()
gmp_abs()
gmp_add()
gmp_and()
gmp_clrbit()
gmp_cmp()
gmp_com()
gmp_div()
gmp_div_q()
gmp_div_qr()
gmp_div_r()
gmp_divexact()
gmp_fact()
gmp_gcd()
gmp_gcdext()
gmp_hamdist()
gmp_init()
gmp_intval()
gmp_invert()
gmp_jacobi()
gmp_legendre()
gmp_mod()
gmp_mul()
gmp_neg()
gmp_nextprime()
gmp_or()
gmp_perfect_square()
gmp_popcount()
gmp_pow()
gmp_powm()
gmp_prob_prime()
gmp_random()
gmp_scan0()
gmp_scan1()
gmp_setbit()
gmp_sign()
gmp_sqrt()
gmp_sqrtrem()
gmp_strval()
gmp_sub()
gmp_testbit()
gmp_xor()
gmstrftime()
gnupg_adddecryptkey()
gnupg_addencryptkey()
gnupg_addsignkey()
gnupg_cleardecryptkeys()
gnupg_clearencryptkeys()
gnupg_clearsignkeys()
gnupg_decrypt()
gnupg_decryptverify()
gnupg_encrypt()
gnupg_encryptsign()
gnupg_export()
gnupg_geterror()
gnupg_getprotocol()
gnupg_import()
gnupg_init()
gnupg_keyinfo()
gnupg_setarmor()
gnupg_seterrormode()
gnupg_setsignmode()
gnupg_sign()
gnupg_verify()
gopher_parsedir()
grapheme_extract()
grapheme_stripos()
grapheme_stristr()
grapheme_strlen()
grapheme_strpos()
grapheme_strripos()
grapheme_strrpos()
grapheme_strstr()
grapheme_substr()
gregoriantojd()
gupnp_context_get_host_ip()
gupnp_context_get_port()
gupnp_context_get_subscription_timeout()
gupnp_context_host_path()
gupnp_context_new()
gupnp_context_set_subscription_timeout()
gupnp_context_timeout_add()
gupnp_context_unhost_path()
gupnp_control_point_browse_start()
gupnp_control_point_browse_stop()
gupnp_control_point_callback_set()
gupnp_control_point_new()
gupnp_device_action_callback_set()
gupnp_device_info_get()
gupnp_device_info_get_service()
gupnp_root_device_get_available()
gupnp_root_device_get_relative_location()
gupnp_root_device_new()
gupnp_root_device_set_available()
gupnp_root_device_start()
gupnp_root_device_stop()
gupnp_service_action_get()
gupnp_service_action_return()
gupnp_service_action_return_error()
gupnp_service_action_set()
gupnp_service_freeze_notify()
gupnp_service_info_get()
gupnp_service_info_get_introspection()
gupnp_service_introspection_get_state_variable()
gupnp_service_notify()
gupnp_service_proxy_action_get()
gupnp_service_proxy_action_set()
gupnp_service_proxy_add_notify()
gupnp_service_proxy_callback_set()
gupnp_service_proxy_get_subscribed()
gupnp_service_proxy_remove_notify()
gupnp_service_proxy_send_action()
gupnp_service_proxy_set_subscribed()
gupnp_service_thaw_notify()
gzclose()
gzcompress()
gzdecode()
gzdeflate()
gzencode()
gzeof()
gzfile()
gzgetc()
gzgets()
gzgetss()
gzinflate()
gzopen()
gzpassthru()
gzputs()
gzread()
gzrewind()
gzseek()
gztell()
gzuncompress()
gzwrite()
H
HaruAnnotation::setBorderStyle()
HaruAnnotation::setHighlightMode()
HaruAnnotation::setIcon()
HaruAnnotation::setOpened()
HaruDestination::setFit()
HaruDestination::setFitB()
HaruDestination::setFitBH()
HaruDestination::setFitBV()
HaruDestination::setFitH()
HaruDestination::setFitR()
HaruDestination::setFitV()
HaruDestination::setXYZ()
HaruDoc::__construct()
HaruDoc::addPage()
HaruDoc::addPageLabel()
HaruDoc::createOutline()
HaruDoc::getCurrentEncoder()
HaruDoc::getCurrentPage()
HaruDoc::getEncoder()
HaruDoc::getFont()
HaruDoc::getInfoAttr()
HaruDoc::getPageLayout()
HaruDoc::getPageMode()
HaruDoc::getStreamSize()
HaruDoc::insertPage()
HaruDoc::loadJPEG()
HaruDoc::loadPNG()
HaruDoc::loadRaw()
HaruDoc::loadTTC()
HaruDoc::loadTTF()
HaruDoc::loadType1()
HaruDoc::output()
HaruDoc::readFromStream()
HaruDoc::resetError()
HaruDoc::resetStream()
HaruDoc::save()
HaruDoc::saveToStream()
HaruDoc::setCompressionMode()
HaruDoc::setCurrentEncoder()
HaruDoc::setEncryptionMode()
HaruDoc::setInfoAttr()
HaruDoc::setInfoDateAttr()
HaruDoc::setOpenAction()
HaruDoc::setPageLayout()
HaruDoc::setPageMode()
HaruDoc::setPagesConfiguration()
HaruDoc::setPassword()
HaruDoc::setPermission()
HaruDoc::useCNSEncodings()
HaruDoc::useCNSFonts()
HaruDoc::useCNTEncodings()
HaruDoc::useCNTFonts()
HaruDoc::useJPEncodings()
HaruDoc::useJPFonts()
HaruDoc::useKREncodings()
HaruDoc::useKRFonts()
HaruEncoder::getByteType()
HaruEncoder::getType()
HaruEncoder::getUnicode()
HaruEncoder::getWritingMode()
HaruFont::getAscent()
HaruFont::getCapHeight()
HaruFont::getDescent()
HaruFont::getEncodingName()
HaruFont::getFontName()
HaruFont::getTextWidth()
HaruFont::getUnicodeWidth()
HaruFont::getXHeight()
HaruFont::measureText()
HaruImage::getBitsPerComponent()
HaruImage::getColorSpace()
HaruImage::getHeight()
HaruImage::getSize()
HaruImage::getWidth()
HaruImage::setColorMask()
HaruImage::setMaskImage()
HaruOutline::setDestination()
HaruOutline::setOpened()
HaruPage::arc()
HaruPage::beginText()
HaruPage::circle()
HaruPage::closePath()
HaruPage::concat()
HaruPage::createDestination()
HaruPage::createLinkAnnotation()
HaruPage::createTextAnnotation()
HaruPage::createURLAnnotation()
HaruPage::curveTo()
HaruPage::curveTo2()
HaruPage::curveTo3()
HaruPage::drawImage()
HaruPage::ellipse()
HaruPage::endPath()
HaruPage::endText()
HaruPage::eofill()
HaruPage::eoFillStroke()
HaruPage::fill()
HaruPage::fillStroke()
HaruPage::getCharSpace()
HaruPage::getCMYKFill()
HaruPage::getCMYKStroke()
HaruPage::getCurrentFont()
HaruPage::getCurrentFontSize()
HaruPage::getCurrentPos()
HaruPage::getCurrentTextPos()
HaruPage::getDash()
HaruPage::getFillingColorSpace()
HaruPage::getFlatness()
HaruPage::getGMode()
HaruPage::getGrayFill()
HaruPage::getGrayStroke()
HaruPage::getHeight()
HaruPage::getHorizontalScaling()
HaruPage::getLineCap()
HaruPage::getLineJoin()
HaruPage::getLineWidth()
HaruPage::getMiterLimit()
HaruPage::getRGBFill()
HaruPage::getRGBStroke()
HaruPage::getStrokingColorSpace()
HaruPage::getTextLeading()
HaruPage::getTextMatrix()
HaruPage::getTextRenderingMode()
HaruPage::getTextRise()
HaruPage::getTextWidth()
HaruPage::getTransMatrix()
HaruPage::getWidth()
HaruPage::getWordSpace()
HaruPage::lineTo()
HaruPage::measureText()
HaruPage::moveTextPos()
HaruPage::moveTo()
HaruPage::moveToNextLine()
HaruPage::rectangle()
HaruPage::setCharSpace()
HaruPage::setCMYKFill()
HaruPage::setCMYKStroke()
HaruPage::setDash()
HaruPage::setFlatness()
HaruPage::setFontAndSize()
HaruPage::setGrayFill()
HaruPage::setGrayStroke()
HaruPage::setHeight()
HaruPage::setHorizontalScaling()
HaruPage::setLineCap()
HaruPage::setLineJoin()
HaruPage::setLineWidth()
HaruPage::setMiterLimit()
HaruPage::setRGBFill()
HaruPage::setRGBStroke()
HaruPage::setRotate()
HaruPage::setSize()
HaruPage::setSlideShow()
HaruPage::setTextLeading()
HaruPage::setTextMatrix()
HaruPage::setTextRenderingMode()
HaruPage::setTextRise()
HaruPage::setWidth()
HaruPage::setWordSpace()
HaruPage::showText()
HaruPage::showTextNextLine()
HaruPage::stroke()
HaruPage::textOut()
HaruPage::textRect()
hash()
hash_algos()
hash_copy()
hash_file()
hash_final()
hash_hmac()
hash_hmac_file()
hash_init()
hash_update()
hash_update_file()
hash_update_stream()
header()
header_remove()
headers_list()
headers_sent()
hebrev()
hebrevc()
hexdec()
highlight_file()
highlight_string()
html_entity_decode()
htmlentities()
htmlspecialchars()
htmlspecialchars_decode()
http_build_cookie()
http_build_query()
http_build_str()
http_build_url()
http_cache_etag()
http_cache_last_modified()
http_chunked_decode()
http_date()
http_deflate()
http_get()
http_get_request_body()
http_get_request_body_stream()
http_get_request_headers()
http_head()
http_inflate()
http_match_etag()
http_match_modified()
http_match_request_header()
http_negotiate_charset()
http_negotiate_content_type()
http_negotiate_language()
http_parse_cookie()
http_parse_headers()
http_parse_message()
http_parse_params()
http_persistent_handles_clean()
http_persistent_handles_count()
http_persistent_handles_ident()
http_post_data()
http_post_fields()
http_put_data()
http_put_file()
http_put_stream()
http_redirect()
http_request()
http_request_body_encode()
http_request_method_exists()
http_request_method_name()
http_request_method_register()
http_request_method_unregister()
http_send_content_disposition()
http_send_content_type()
http_send_data()
http_send_file()
http_send_last_modified()
http_send_status()
http_send_stream()
http_support()
http_throttle()
HttpDeflateStream::__construct()
HttpDeflateStream::factory()
HttpDeflateStream::finish()
HttpDeflateStream::flush()
HttpDeflateStream::update()
HttpInflateStream::__construct()
HttpInflateStream::factory()
HttpInflateStream::finish()
HttpInflateStream::flush()
HttpInflateStream::update()
HttpMessage::__construct()
HttpMessage::addHeaders()
HttpMessage::detach()
HttpMessage::factory()
HttpMessage::fromEnv()
HttpMessage::fromString()
HttpMessage::getBody()
HttpMessage::getHeader()
HttpMessage::getHeaders()
HttpMessage::getHttpVersion()
HttpMessage::getParentMessage()
HttpMessage::getRequestMethod()
HttpMessage::getRequestUrl()
HttpMessage::getResponseCode()
HttpMessage::getResponseStatus()
HttpMessage::getType()
HttpMessage::guessContentType()
HttpMessage::prepend()
HttpMessage::reverse()
HttpMessage::send()
HttpMessage::setBody()
HttpMessage::setHeaders()
HttpMessage::setHttpVersion()
HttpMessage::setRequestMethod()
HttpMessage::setRequestUrl()
HttpMessage::setResponseCode()
HttpMessage::setResponseStatus()
HttpMessage::setType()
HttpMessage::toMessageTypeObject()
HttpMessage::toString()
HttpQueryString::__construct()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::singleton()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()
HttpRequest::__construct()
HttpRequest::addCookies()
HttpRequest::addHeaders()
HttpRequest::addPostFields()
HttpRequest::addPostFile()
HttpRequest::addPutData()
HttpRequest::addQueryData()
HttpRequest::addRawPostData()
HttpRequest::addSslOptions()
HttpRequest::clearHistory()
HttpRequest::enableCookies()
HttpRequest::getContentType()
HttpRequest::getCookies()
HttpRequest::getHeaders()
HttpRequest::getHistory()
HttpRequest::getMethod()
HttpRequest::getOptions()
HttpRequest::getPostFields()
HttpRequest::getPostFiles()
HttpRequest::getPutData()
HttpRequest::getPutFile()
HttpRequest::getQueryData()
HttpRequest::getRawPostData()
HttpRequest::getRawRequestMessage()
HttpRequest::getRawResponseMessage()
HttpRequest::getRequestMessage()
HttpRequest::getResponseBody()
HttpRequest::getResponseCode()
HttpRequest::getResponseCookies()
HttpRequest::getResponseData()
HttpRequest::getResponseHeader()
HttpRequest::getResponseInfo()
HttpRequest::getResponseMessage()
HttpRequest::getResponseStatus()
HttpRequest::getSslOptions()
HttpRequest::getUrl()
HttpRequest::resetCookies()
HttpRequest::send()
HttpRequest::setContentType()
HttpRequest::setCookies()
HttpRequest::setHeaders()
HttpRequest::setMethod()
HttpRequest::setOptions()
HttpRequest::setPostFields()
HttpRequest::setPostFiles()
HttpRequest::setPutData()
HttpRequest::setPutFile()
HttpRequest::setQueryData()
HttpRequest::setRawPostData()
HttpRequest::setSslOptions()
HttpRequest::setUrl()
HttpRequestPool::__construct()
HttpRequestPool::__destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool::reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()
HttpResponse::capture()
HttpResponse::getBufferSize()
HttpResponse::getCache()
HttpResponse::getCacheControl()
HttpResponse::getContentDisposition()
HttpResponse::getContentType()
HttpResponse::getData()
HttpResponse::getETag()
HttpResponse::getFile()
HttpResponse::getGzip()
HttpResponse::getHeader()
HttpResponse::getLastModified()
HttpResponse::getRequestBody()
HttpResponse::getRequestBodyStream()
HttpResponse::getRequestHeaders()
HttpResponse::getStream()
HttpResponse::getThrottleDelay()
HttpResponse::guessContentType()
HttpResponse::redirect()
HttpResponse::send()
HttpResponse::setBufferSize()
HttpResponse::setCache()
HttpResponse::setCacheControl()
HttpResponse::setContentDisposition()
HttpResponse::setContentType()
HttpResponse::setData()
HttpResponse::setETag()
HttpResponse::setFile()
HttpResponse::setGzip()
HttpResponse::setHeader()
HttpResponse::setLastModified()
HttpResponse::setStream()
HttpResponse::setThrottleDelay()
HttpResponse::status()
hw_api::checkin()
hw_api::checkout()
hw_api::children()
hw_api::content()
hw_api::copy()
hw_api::dbstat()
hw_api::dcstat()
hw_api::dstanchors()
hw_api::dstofsrcanchor()
hw_api::find()
hw_api::ftstat()
hw_api::hwstat()
hw_api::identify()
hw_api::info()
hw_api::insert()
hw_api::insertanchor()
hw_api::insertcollection()
hw_api::insertdocument()
hw_api::link()
hw_api::lock()
hw_api::move()
hw_api::object()
hw_api::objectbyanchor()
hw_api::parents()
hw_api::remove()
hw_api::replace()
hw_api::setcommittedversion()
hw_api::srcanchors()
hw_api::srcsofdst()
hw_api::unlock()
hw_api::user()
hw_api::userlist()
hw_api_attribute()
hw_api_attribute::key()
hw_api_attribute::langdepvalue()
hw_api_attribute::value()
hw_api_attribute::values()
hw_api_content()
hw_api_content::mimetype()
hw_api_content::read()
hw_api_error::count()
hw_api_error::reason()
hw_api_object()
hw_api_object::assign()
hw_api_object::attreditable()
hw_api_object::count()
hw_api_object::insert()
hw_api_object::remove()
hw_api_object::title()
hw_api_object::value()
hw_api_reason::description()
hw_api_reason::type()
hw_array2objrec()
hw_changeobject()
hw_children()
hw_childrenobj()
hw_close()
hw_connect()
hw_connection_info()
hw_cp()
hw_deleteobject()
hw_docbyanchor()
hw_docbyanchorobj()
hw_document_attributes()
hw_document_bodytag()
hw_document_content()
hw_document_setcontent()
hw_document_size()
hw_dummy()
hw_edittext()
hw_error()
hw_errormsg()
hw_free_document()
hw_getanchors()
hw_getanchorsobj()
hw_getandlock()
hw_getchildcoll()
hw_getchildcollobj()
hw_getchilddoccoll()
hw_getchilddoccollobj()
hw_getobject()
hw_getobjectbyquery()
hw_getobjectbyquerycoll()
hw_getobjectbyquerycollobj()
hw_getobjectbyqueryobj()
hw_getparents()
hw_getparentsobj()
hw_getrellink()
hw_getremote()
hw_getremotechildren()
hw_getsrcbydestobj()
hw_gettext()
hw_getusername()
hw_identify()
hw_incollections()
hw_info()
hw_inscoll()
hw_insdoc()
hw_insertanchors()
hw_insertdocument()
hw_insertobject()
hw_mapid()
hw_modifyobject()
hw_mv()
hw_new_document()
hw_objrec2array()
hw_output_document()
hw_pconnect()
hw_pipedocument()
hw_root()
hw_setlinkroot()
hw_stat()
hw_unlock()
hw_who()
hwapi_hgcsp()
hypot()
I
ibase_add_user()
ibase_affected_rows()
ibase_backup()
ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()
ibase_blob_echo()
ibase_blob_get()
ibase_blob_import()
ibase_blob_info()
ibase_blob_open()
ibase_close()
ibase_commit()
ibase_commit_ret()
ibase_connect()
ibase_db_info()
ibase_delete_user()
ibase_drop_db()
ibase_errcode()
ibase_errmsg()
ibase_execute()
ibase_fetch_assoc()
ibase_fetch_object()
ibase_fetch_row()
ibase_field_info()
ibase_free_event_handler()
ibase_free_query()
ibase_free_result()
ibase_gen_id()
ibase_maintain_db()
ibase_modify_user()
ibase_name_result()
ibase_num_fields()
ibase_num_params()
ibase_param_info()
ibase_pconnect()
ibase_prepare()
ibase_query()
ibase_restore()
ibase_rollback()
ibase_rollback_ret()
ibase_server_info()
ibase_service_attach()
ibase_service_detach()
ibase_set_event_handler()
ibase_timefmt()
ibase_trans()
ibase_wait_event()
iconv()
iconv_get_encoding()
iconv_mime_decode()
iconv_mime_decode_headers()
iconv_mime_encode()
iconv_set_encoding()
iconv_strlen()
iconv_strpos()
iconv_strrpos()
iconv_substr()
id3_get_frame_long_name()
id3_get_frame_short_name()
id3_get_genre_id()
id3_get_genre_list()
id3_get_genre_name()
id3_get_tag()
id3_get_version()
id3_remove_tag()
id3_set_tag()
idate()
idn_to_ascii()
idn_to_unicode()
idn_to_utf8()
ifx_affected_rows()
ifx_blobinfile_mode()
ifx_byteasvarchar()
ifx_close()
ifx_connect()
ifx_copy_blob()
ifx_create_blob()
ifx_create_char()
ifx_do()
ifx_error()
ifx_errormsg()
ifx_fetch_row()
ifx_fieldproperties()
ifx_fieldtypes()
ifx_free_blob()
ifx_free_char()
ifx_free_result()
ifx_get_blob()
ifx_get_char()
ifx_getsqlca()
ifx_htmltbl_result()
ifx_nullformat()
ifx_num_fields()
ifx_num_rows()
ifx_pconnect()
ifx_prepare()
ifx_query()
ifx_textasvarchar()
ifx_update_blob()
ifx_update_char()
ifxus_close_slob()
ifxus_create_slob()
ifxus_free_slob()
ifxus_open_slob()
ifxus_read_slob()
ifxus_seek_slob()
ifxus_tell_slob()
ifxus_write_slob()
ignore_user_abort()
iis_add_server()
iis_get_dir_security()
iis_get_script_map()
iis_get_server_by_comment()
iis_get_server_by_path()
iis_get_server_rights()
iis_get_service_state()
iis_remove_server()
iis_set_app_settings()
iis_set_dir_security()
iis_set_script_map()
iis_set_server_rights()
iis_start_server()
iis_start_service()
iis_stop_server()
iis_stop_service()
image2wbmp()
image_type_to_extension()
image_type_to_mime_type()
imagealphablending()
imageantialias()
imagearc()
imagechar()
imagecharup()
imagecolorallocate()
imagecolorallocatealpha()
imagecolorat()
imagecolorclosest()
imagecolorclosestalpha()
imagecolorclosesthwb()
imagecolordeallocate()
imagecolorexact()
imagecolorexactalpha()
imagecolormatch()
imagecolorresolve()
imagecolorresolvealpha()
imagecolorset()
imagecolorsforindex()
imagecolorstotal()
imagecolortransparent()
imageconvolution()
imagecopy()
imagecopymerge()
imagecopymergegray()
imagecopyresampled()
imagecopyresized()
imagecreate()
imagecreatefromgd()
imagecreatefromgd2()
imagecreatefromgd2part()
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromstring()
imagecreatefromwbmp()
imagecreatefromxbm()
imagecreatefromxpm()
imagecreatetruecolor()
imagedashedline()
imagedestroy()
imageellipse()
imagefill()
imagefilledarc()
imagefilledellipse()
imagefilledpolygon()
imagefilledrectangle()
imagefilltoborder()
imagefilter()
imagefontheight()
imagefontwidth()
imageftbbox()
imagefttext()
imagegammacorrect()
imagegd()
imagegd2()
imagegif()
imagegrabscreen()
imagegrabwindow()
imageinterlace()
imageistruecolor()
imagejpeg()
imagelayereffect()
imageline()
imageloadfont()
imagepalettecopy()
imagepng()
imagepolygon()
imagepsbbox()
imagepsencodefont()
imagepsextendfont()
imagepsfreefont()
imagepsloadfont()
imagepsslantfont()
imagepstext()
imagerectangle()
imagerotate()
imagesavealpha()
imagesetbrush()
imagesetpixel()
imagesetstyle()
imagesetthickness()
imagesettile()
imagestring()
imagestringup()
imagesx()
imagesy()
imagetruecolortopalette()
imagettfbbox()
imagettftext()
imagetypes()
imagewbmp()
imagexbm()
Imagick::__construct()
Imagick::adaptiveBlurImage()
Imagick::adaptiveResizeImage()
Imagick::adaptiveSharpenImage()
Imagick::adaptiveThresholdImage()
Imagick::addImage()
Imagick::addNoiseImage()
Imagick::affineTransformImage()
Imagick::animateImages()
Imagick::annotateImage()
Imagick::appendImages()
Imagick::averageImages()
Imagick::blackThresholdImage()
Imagick::blurImage()
Imagick::borderImage()
Imagick::charcoalImage()
Imagick::chopImage()
Imagick::clear()
Imagick::clipImage()
Imagick::clipPathImage()
Imagick::clone()
Imagick::clutImage()
Imagick::coalesceImages()
Imagick::colorFloodfillImage()
Imagick::colorizeImage()
Imagick::combineImages()
Imagick::commentImage()
Imagick::compareImageChannels()
Imagick::compareImageLayers()
Imagick::compareImages()
Imagick::compositeImage()
Imagick::contrastImage()
Imagick::contrastStretchImage()
Imagick::convolveImage()
Imagick::cropImage()
Imagick::cropThumbnailImage()
Imagick::current()
Imagick::cycleColormapImage()
Imagick::decipherImage()
Imagick::deconstructImages()
Imagick::deleteImageArtifact()
Imagick::deskewImage()
Imagick::despeckleImage()
Imagick::destroy()
Imagick::displayImage()
Imagick::displayImages()
Imagick::distortImage()
Imagick::drawImage()
Imagick::edgeImage()
Imagick::embossImage()
Imagick::encipherImage()
Imagick::enhanceImage()
Imagick::equalizeImage()
Imagick::evaluateImage()
Imagick::exportImagePixels()
Imagick::extentImage()
Imagick::flattenImages()
Imagick::flipImage()
Imagick::floodFillPaintImage()
Imagick::flopImage()
Imagick::frameImage()
Imagick::functionImage()
Imagick::fxImage()
Imagick::gammaImage()
Imagick::gaussianBlurImage()
Imagick::getColorspace()
Imagick::getCompression()
Imagick::getCompressionQuality()
Imagick::getCopyright()
Imagick::getFilename()
Imagick::getFont()
Imagick::getFormat()
Imagick::getGravity()
Imagick::getHomeURL()
Imagick::getImage()
Imagick::getImageAlphaChannel()
Imagick::getImageArtifact()
Imagick::getImageBackgroundColor()
Imagick::getImageBlob()
Imagick::getImageBluePrimary()
Imagick::getImageBorderColor()
Imagick::getImageChannelDepth()
Imagick::getImageChannelDistortion()
Imagick::getImageChannelDistortions()
Imagick::getImageChannelExtrema()
Imagick::getImageChannelKurtosis()
Imagick::getImageChannelMean()
Imagick::getImageChannelRange()
Imagick::getImageChannelStatistics()
Imagick::getImageClipMask()
Imagick::getImageColormapColor()
Imagick::getImageColors()
Imagick::getImageColorspace()
Imagick::getImageCompose()
Imagick::getImageCompression()
Imagick::getImageCompressionQuality()
Imagick::getImageDelay()
Imagick::getImageDepth()
Imagick::getImageDispose()
Imagick::getImageDistortion()
Imagick::getImageExtrema()
Imagick::getImageFilename()
Imagick::getImageFormat()
Imagick::getImageGamma()
Imagick::getImageGeometry()
Imagick::getImageGravity()
Imagick::getImageGreenPrimary()
Imagick::getImageHeight()
Imagick::getImageHistogram()
Imagick::getImageIndex()
Imagick::getImageInterlaceScheme()
Imagick::getImageInterpolateMethod()
Imagick::getImageIterations()
Imagick::getImageLength()
Imagick::getImageMagickLicense()
Imagick::getImageMatte()
Imagick::getImageMatteColor()
Imagick::getImageOrientation()
Imagick::getImagePage()
Imagick::getImagePixelColor()
Imagick::getImageProfile()
Imagick::getImageProfiles()
Imagick::getImageProperties()
Imagick::getImageProperty()
Imagick::getImageRedPrimary()
Imagick::getImageRegion()
Imagick::getImageRenderingIntent()
Imagick::getImageResolution()
Imagick::getImagesBlob()
Imagick::getImageScene()
Imagick::getImageSignature()
Imagick::getImageSize()
Imagick::getImageTicksPerSecond()
Imagick::getImageTotalInkDensity()
Imagick::getImageType()
Imagick::getImageUnits()
Imagick::getImageVirtualPixelMethod()
Imagick::getImageWhitePoint()
Imagick::getImageWidth()
Imagick::getInterlaceScheme()
Imagick::getIteratorIndex()
Imagick::getNumberImages()
Imagick::getOption()
Imagick::getPackageName()
Imagick::getPage()
Imagick::getPixelIterator()
Imagick::getPixelRegionIterator()
Imagick::getPointSize()
Imagick::getQuantumDepth()
Imagick::getQuantumRange()
Imagick::getReleaseDate()
Imagick::getResource()
Imagick::getResourceLimit()
Imagick::getSamplingFactors()
Imagick::getSize()
Imagick::getSizeOffset()
Imagick::getVersion()
Imagick::haldClutImage()
Imagick::hasNextImage()
Imagick::hasPreviousImage()
Imagick::identifyImage()
Imagick::implodeImage()
Imagick::importImagePixels()
Imagick::labelImage()
Imagick::levelImage()
Imagick::linearStretchImage()
Imagick::liquidRescaleImage()
Imagick::magnifyImage()
Imagick::mapImage()
Imagick::matteFloodfillImage()
Imagick::medianFilterImage()
Imagick::mergeImageLayers()
Imagick::minifyImage()
Imagick::modulateImage()
Imagick::montageImage()
Imagick::morphImages()
Imagick::mosaicImages()
Imagick::motionBlurImage()
Imagick::negateImage()
Imagick::newImage()
Imagick::newPseudoImage()
Imagick::nextImage()
Imagick::normalizeImage()
Imagick::oilPaintImage()
Imagick::opaquePaintImage()
Imagick::optimizeImageLayers()
Imagick::orderedPosterizeImage()
Imagick::paintFloodfillImage()
Imagick::paintOpaqueImage()
Imagick::paintTransparentImage()
Imagick::pingImage()
Imagick::pingImageBlob()
Imagick::pingImageFile()
Imagick::polaroidImage()
Imagick::posterizeImage()
Imagick::previewImages()
Imagick::previousImage()
Imagick::profileImage()
Imagick::quantizeImage()
Imagick::quantizeImages()
Imagick::queryFontMetrics()
Imagick::queryFonts()
Imagick::queryFormats()
Imagick::radialBlurImage()
Imagick::raiseImage()
Imagick::randomThresholdImage()
Imagick::readImage()
Imagick::readImageBlob()
Imagick::readImageFile()
Imagick::recolorImage()
Imagick::reduceNoiseImage()
Imagick::remapImage()
Imagick::removeImage()
Imagick::removeImageProfile()
Imagick::render()
Imagick::resampleImage()
Imagick::resetImagePage()
Imagick::resizeImage()
Imagick::rollImage()
Imagick::rotateImage()
Imagick::roundCorners()
Imagick::sampleImage()
Imagick::scaleImage()
Imagick::segmentImage()
Imagick::separateImageChannel()
Imagick::sepiaToneImage()
Imagick::setBackgroundColor()
Imagick::setColorspace()
Imagick::setCompression()
Imagick::setCompressionQuality()
Imagick::setFilename()
Imagick::setFirstIterator()
Imagick::setFont()
Imagick::setFormat()
Imagick::setGravity()
Imagick::setImage()
Imagick::setImageAlphaChannel()
Imagick::setImageArtifact()
Imagick::setImageBackgroundColor()
Imagick::setImageBias()
Imagick::setImageBluePrimary()
Imagick::setImageBorderColor()
Imagick::setImageChannelDepth()
Imagick::setImageClipMask()
Imagick::setImageColormapColor()
Imagick::setImageColorspace()
Imagick::setImageCompose()
Imagick::setImageCompression()
Imagick::setImageCompressionQuality()
Imagick::setImageDelay()
Imagick::setImageDepth()
Imagick::setImageDispose()
Imagick::setImageExtent()
Imagick::setImageFilename()
Imagick::setImageFormat()
Imagick::setImageGamma()
Imagick::setImageGravity()
Imagick::setImageGreenPrimary()
Imagick::setImageIndex()
Imagick::setImageInterlaceScheme()
Imagick::setImageInterpolateMethod()
Imagick::setImageIterations()
Imagick::setImageMatte()
Imagick::setImageMatteColor()
Imagick::setImageOpacity()
Imagick::setImageOrientation()
Imagick::setImagePage()
Imagick::setImageProfile()
Imagick::setImageProperty()
Imagick::setImageRedPrimary()
Imagick::setImageRenderingIntent()
Imagick::setImageResolution()
Imagick::setImageScene()
Imagick::setImageTicksPerSecond()
Imagick::setImageType()
Imagick::setImageUnits()
Imagick::setImageVirtualPixelMethod()
Imagick::setImageWhitePoint()
Imagick::setInterlaceScheme()
Imagick::setIteratorIndex()
Imagick::setLastIterator()
Imagick::setOption()
Imagick::setPage()
Imagick::setPointSize()
Imagick::setResolution()
Imagick::setResourceLimit()
Imagick::setSamplingFactors()
Imagick::setSize()
Imagick::setSizeOffset()
Imagick::setType()
Imagick::shadeImage()
Imagick::shadowImage()
Imagick::sharpenImage()
Imagick::shaveImage()
Imagick::shearImage()
Imagick::sigmoidalContrastImage()
Imagick::sketchImage()
Imagick::solarizeImage()
Imagick::sparseColorImage()
Imagick::spliceImage()
Imagick::spreadImage()
Imagick::steganoImage()
Imagick::stereoImage()
Imagick::stripImage()
Imagick::swirlImage()
Imagick::textureImage()
Imagick::thresholdImage()
Imagick::thumbnailImage()
Imagick::tintImage()
Imagick::transformImage()
Imagick::transparentPaintImage()
Imagick::transposeImage()
Imagick::transverseImage()
Imagick::trimImage()
Imagick::uniqueImageColors()
Imagick::unsharpMaskImage()
Imagick::valid()
Imagick::vignetteImage()
Imagick::waveImage()
Imagick::whiteThresholdImage()
Imagick::writeImage()
Imagick::writeImageFile()
Imagick::writeImages()
Imagick::writeImagesFile()
ImagickDraw::__construct()
ImagickDraw::affine()
ImagickDraw::annotation()
ImagickDraw::arc()
ImagickDraw::bezier()
ImagickDraw::circle()
ImagickDraw::clear()
ImagickDraw::clone()
ImagickDraw::color()
ImagickDraw::comment()
ImagickDraw::composite()
ImagickDraw::destroy()
ImagickDraw::ellipse()
ImagickDraw::getClipPath()
ImagickDraw::getClipRule()
ImagickDraw::getClipUnits()
ImagickDraw::getFillColor()
ImagickDraw::getFillOpacity()
ImagickDraw::getFillRule()
ImagickDraw::getFont()
ImagickDraw::getFontFamily()
ImagickDraw::getFontSize()
ImagickDraw::getFontStyle()
ImagickDraw::getFontWeight()
ImagickDraw::getGravity()
ImagickDraw::getStrokeAntialias()
ImagickDraw::getStrokeColor()
ImagickDraw::getStrokeDashArray()
ImagickDraw::getStrokeDashOffset()
ImagickDraw::getStrokeLineCap()
ImagickDraw::getStrokeLineJoin()
ImagickDraw::getStrokeMiterLimit()
ImagickDraw::getStrokeOpacity()
ImagickDraw::getStrokeWidth()
ImagickDraw::getTextAlignment()
ImagickDraw::getTextAntialias()
ImagickDraw::getTextDecoration()
ImagickDraw::getTextEncoding()
ImagickDraw::getTextUnderColor()
ImagickDraw::getVectorGraphics()
ImagickDraw::line()
ImagickDraw::matte()
ImagickDraw::pathClose()
ImagickDraw::pathCurveToAbsolute()
ImagickDraw::pathCurveToQuadraticBezierAbsolute()
ImagickDraw::pathCurveToQuadraticBezierRelative()
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute()
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()
ImagickDraw::pathCurveToRelative()
ImagickDraw::pathCurveToSmoothAbsolute()
ImagickDraw::pathCurveToSmoothRelative()
ImagickDraw::pathEllipticArcAbsolute()
ImagickDraw::pathEllipticArcRelative()
ImagickDraw::pathFinish()
ImagickDraw::pathLineToAbsolute()
ImagickDraw::pathLineToHorizontalAbsolute()
ImagickDraw::pathLineToHorizontalRelative()
ImagickDraw::pathLineToRelative()
ImagickDraw::pathLineToVerticalAbsolute()
ImagickDraw::pathLineToVerticalRelative()
ImagickDraw::pathMoveToAbsolute()
ImagickDraw::pathMoveToRelative()
ImagickDraw::pathStart()
ImagickDraw::point()
ImagickDraw::polygon()
ImagickDraw::polyline()
ImagickDraw::pop()
ImagickDraw::popClipPath()
ImagickDraw::popDefs()
ImagickDraw::popPattern()
ImagickDraw::push()
ImagickDraw::pushClipPath()
ImagickDraw::pushDefs()
ImagickDraw::pushPattern()
ImagickDraw::rectangle()
ImagickDraw::render()
ImagickDraw::rotate()
ImagickDraw::roundRectangle()
ImagickDraw::scale()
ImagickDraw::setClipPath()
ImagickDraw::setClipRule()
ImagickDraw::setClipUnits()
ImagickDraw::setFillAlpha()
ImagickDraw::setFillColor()
ImagickDraw::setFillOpacity()
ImagickDraw::setFillPatternURL()
ImagickDraw::setFillRule()
ImagickDraw::setFont()
ImagickDraw::setFontFamily()
ImagickDraw::setFontSize()
ImagickDraw::setFontStretch()
ImagickDraw::setFontStyle()
ImagickDraw::setFontWeight()
ImagickDraw::setGravity()
ImagickDraw::setStrokeAlpha()
ImagickDraw::setStrokeAntialias()
ImagickDraw::setStrokeColor()
ImagickDraw::setStrokeDashArray()
ImagickDraw::setStrokeDashOffset()
ImagickDraw::setStrokeLineCap()
ImagickDraw::setStrokeLineJoin()
ImagickDraw::setStrokeMiterLimit()
ImagickDraw::setStrokeOpacity()
ImagickDraw::setStrokePatternURL()
ImagickDraw::setStrokeWidth()
ImagickDraw::setTextAlignment()
ImagickDraw::setTextAntialias()
ImagickDraw::setTextDecoration()
ImagickDraw::setTextEncoding()
ImagickDraw::setTextUnderColor()
ImagickDraw::setVectorGraphics()
ImagickDraw::setViewbox()
ImagickDraw::skewX()
ImagickDraw::skewY()
ImagickDraw::translate()
ImagickPixel::__construct()
ImagickPixel::clear()
ImagickPixel::destroy()
ImagickPixel::getColor()
ImagickPixel::getColorAsString()
ImagickPixel::getColorCount()
ImagickPixel::getColorValue()
ImagickPixel::getHSL()
ImagickPixel::isSimilar()
ImagickPixel::setColor()
ImagickPixel::setColorValue()
ImagickPixel::setHSL()
ImagickPixelIterator::__construct()
ImagickPixelIterator::clear()
ImagickPixelIterator::destroy()
ImagickPixelIterator::getCurrentIteratorRow()
ImagickPixelIterator::getIteratorRow()
ImagickPixelIterator::getNextIteratorRow()
ImagickPixelIterator::getPreviousIteratorRow()
ImagickPixelIterator::newPixelIterator()
ImagickPixelIterator::newPixelRegionIterator()
ImagickPixelIterator::resetIterator()
ImagickPixelIterator::setIteratorFirstRow()
ImagickPixelIterator::setIteratorLastRow()
ImagickPixelIterator::setIteratorRow()
ImagickPixelIterator::syncIterator()
imap_8bit()
imap_alerts()
imap_append()
imap_base64()
imap_binary()
imap_body()
imap_bodystruct()
imap_check()
imap_clearflag_full()
imap_close()
imap_createmailbox()
imap_delete()
imap_deletemailbox()
imap_errors()
imap_expunge()
imap_fetch_overview()
imap_fetchbody()
imap_fetchheader()
imap_fetchmime()
imap_fetchstructure()
imap_gc()
imap_get_quota()
imap_get_quotaroot()
imap_getacl()
imap_getmailboxes()
imap_getsubscribed()
imap_header()
imap_headerinfo()
imap_headers()
imap_last_error()
imap_list()
imap_listmailbox()
imap_listscan()
imap_listsubscribed()
imap_lsub()
imap_mail()
imap_mail_compose()
imap_mail_copy()
imap_mail_move()
imap_mailboxmsginfo()
imap_mime_header_decode()
imap_msgno()
imap_num_msg()
imap_num_recent()
imap_open()
imap_ping()
imap_qprint()
imap_renamemailbox()
imap_reopen()
imap_rfc822_parse_adrlist()
imap_rfc822_parse_headers()
imap_rfc822_write_address()
imap_savebody()
imap_scanmailbox()
imap_search()
imap_set_quota()
imap_setacl()
imap_setflag_full()
imap_sort()
imap_status()
imap_subscribe()
imap_thread()
imap_timeout()
imap_uid()
imap_undelete()
imap_unsubscribe()
imap_utf7_decode()
imap_utf7_encode()
imap_utf8()
implode()
import_request_variables()
in_array()
inclued_get_data()
inet_ntop()
inet_pton()
InfiniteIterator::__construct()
InfiniteIterator::next()
ingres_autocommit()
ingres_autocommit_state()
ingres_charset()
ingres_close()
ingres_commit()
ingres_connect()
ingres_cursor()
ingres_errno()
ingres_error()
ingres_errsqlstate()
ingres_escape_string()
ingres_execute()
ingres_fetch_array()
ingres_fetch_assoc()
ingres_fetch_object()
ingres_fetch_proc_return()
ingres_fetch_row()
ingres_field_length()
ingres_field_name()
ingres_field_nullable()
ingres_field_precision()
ingres_field_scale()
ingres_field_type()
ingres_free_result()
ingres_next_error()
ingres_num_fields()
ingres_num_rows()
ingres_pconnect()
ingres_prepare()
ingres_query()
ingres_result_seek()
ingres_rollback()
ingres_set_environment()
ingres_unbuffered_query()
ini_alter()
ini_get()
ini_get_all()
ini_restore()
ini_set()
inotify_add_watch()
inotify_init()
inotify_queue_len()
inotify_read()
inotify_rm_watch()
interface_exists()
intl_error_name()
intl_get_error_code()
intl_get_error_message()
intl_is_failure()
IntlDateFormatter::__construct()
IntlDateFormatter::create()
IntlDateFormatter::format()
IntlDateFormatter::getCalendar()
IntlDateFormatter::getDateType()
IntlDateFormatter::getErrorCode()
IntlDateFormatter::getErrorMessage()
IntlDateFormatter::getLocale()
IntlDateFormatter::getPattern()
IntlDateFormatter::getTimeType()
IntlDateFormatter::getTimeZoneId()
IntlDateFormatter::isLenient()
IntlDateFormatter::localtime()
IntlDateFormatter::parse()
IntlDateFormatter::setCalendar()
IntlDateFormatter::setLenient()
IntlDateFormatter::setPattern()
IntlDateFormatter::setTimeZoneId()
intval()
ip2long()
iptcembed()
iptcparse()
is_a()
is_array()
is_bool()
is_callable()
is_dir()
is_double()
is_executable()
is_file()
is_finite()
is_float()
is_infinite()
is_int()
is_integer()
is_link()
is_long()
is_nan()
is_null()
is_numeric()
is_object()
is_readable()
is_real()
is_resource()
is_scalar()
is_soap_fault()
is_string()
is_subclass_of()
is_uploaded_file()
is_writable()
is_writeable()
isset()
iterator_apply()
iterator_count()
iterator_to_array()
IteratorIterator::__construct()
IteratorIterator::current()
IteratorIterator::getInnerIterator()
IteratorIterator::key()
IteratorIterator::next()
IteratorIterator::rewind()
IteratorIterator::valid()
J
java_last_exception_clear()
java_last_exception_get()
jddayofweek()
jdmonthname()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()
jewishtojd()
join()
jpeg2wbmp()
json_decode()
json_encode()
json_last_error()
Judy::__construct()
Judy::__destruct()
Judy::byCount()
Judy::count()
Judy::first()
Judy::firstEmpty()
Judy::free()
Judy::getType()
Judy::last()
Judy::lastEmpty()
Judy::memoryUsage()
Judy::next()
Judy::nextEmpty()
Judy::offsetExists()
Judy::offsetGet()
Judy::offsetSet()
Judy::offsetUnset()
Judy::prev()
Judy::prevEmpty()
Judy::size()
judy_type()
judy_version()
juliantojd()
K
kadm5_chpass_principal()
kadm5_create_principal()
kadm5_delete_principal()
kadm5_destroy()
kadm5_flush()
kadm5_get_policies()
kadm5_get_principal()
kadm5_get_principals()
kadm5_init_with_password()
kadm5_modify_principal()
key()
krsort()
ksort()
KTaglib_ID3v2_AttachedPictureFrame::getDescription()
KTaglib_ID3v2_AttachedPictureFrame::getMimeType()
KTaglib_ID3v2_AttachedPictureFrame::getType()
KTaglib_ID3v2_AttachedPictureFrame::savePicture()
KTaglib_ID3v2_AttachedPictureFrame::setMimeType()
KTaglib_ID3v2_AttachedPictureFrame::setPicture()
KTaglib_ID3v2_AttachedPictureFrame::setType()
KTaglib_ID3v2_Frame::__toString()
KTaglib_ID3v2_Frame::getSize()
KTaglib_ID3v2_Tag::addFrame()
KTaglib_ID3v2_Tag::getFrameList()
KTaglib_MPEG_AudioProperties::getBitrate()
KTaglib_MPEG_AudioProperties::getChannels()
KTaglib_MPEG_AudioProperties::getLayer()
KTaglib_MPEG_AudioProperties::getLength()
KTaglib_MPEG_AudioProperties::getSampleBitrate()
KTaglib_MPEG_AudioProperties::getVersion()
KTaglib_MPEG_AudioProperties::isCopyrighted()
KTaglib_MPEG_AudioProperties::isOriginal()
KTaglib_MPEG_AudioProperties::isProtectionEnabled()
KTaglib_MPEG_File::__construct()
KTaglib_MPEG_File::getAudioProperties()
KTaglib_MPEG_File::getID3v1Tag()
KTaglib_MPEG_File::getID3v2Tag()
KTaglib_Tag::getAlbum()
KTaglib_Tag::getArtist()
KTaglib_Tag::getComment()
KTaglib_Tag::getGenre()
KTaglib_Tag::getTitle()
KTaglib_Tag::getTrack()
KTaglib_Tag::getYear()
KTaglib_Tag::isEmpty()
L
lcfirst()
lcg_value()
lchgrp()
lchown()
ldap_8859_to_t61()
ldap_add()
ldap_bind()
ldap_close()
ldap_compare()
ldap_connect()
ldap_count_entries()
ldap_delete()
ldap_dn2ufn()
ldap_err2str()
ldap_errno()
ldap_error()
ldap_explode_dn()
ldap_first_attribute()
ldap_first_entry()
ldap_first_reference()
ldap_free_result()
ldap_get_attributes()
ldap_get_dn()
ldap_get_entries()
ldap_get_option()
ldap_get_values()
ldap_get_values_len()
ldap_list()
ldap_mod_add()
ldap_mod_del()
ldap_mod_replace()
ldap_modify()
ldap_next_attribute()
ldap_next_entry()
ldap_next_reference()
ldap_parse_reference()
ldap_parse_result()
ldap_read()
ldap_rename()
ldap_sasl_bind()
ldap_search()
ldap_set_option()
ldap_set_rebind_proc()
ldap_sort()
ldap_start_tls()
ldap_t61_to_8859()
ldap_unbind()
levenshtein()
libxml_clear_errors()
libxml_disable_entity_loader()
libxml_get_errors()
libxml_get_last_error()
libxml_set_streams_context()
libxml_use_internal_errors()
LimitIterator::__construct()
LimitIterator::current()
LimitIterator::getInnerIterator()
LimitIterator::getPosition()
LimitIterator::key()
LimitIterator::next()
LimitIterator::rewind()
LimitIterator::seek()
LimitIterator::valid()
link()
linkinfo()
list()
Locale::acceptFromHttp()
Locale::composeLocale()
Locale::filterMatches()
Locale::getAllVariants()
Locale::getDefault()
Locale::getDisplayLanguage()
Locale::getDisplayName()
Locale::getDisplayRegion()
Locale::getDisplayScript()
Locale::getDisplayVariant()
Locale::getKeywords()
Locale::getPrimaryLanguage()
Locale::getRegion()
Locale::getScript()
Locale::lookup()
Locale::parseLocale()
Locale::setDefault()
locale_accept_from_http()
locale_compose()
locale_filter_matches()
locale_get_all_variants()
locale_get_default()
locale_get_display_language()
locale_get_display_name()
locale_get_display_region()
locale_get_display_script()
locale_get_display_variant()
locale_get_keywords()
locale_get_primary_language()
locale_get_region()
locale_get_script()
locale_lookup()
locale_parse()
locale_set_default()
localeconv()
localtime()
log()
log10()
log1p()
long2ip()
lstat()
ltrim()
lzf_compress()
lzf_decompress()
lzf_optimized_for()
M
m_checkstatus()
m_completeauthorizations()
m_connect()
m_connectionerror()
m_deletetrans()
m_destroyconn()
m_destroyengine()
m_getcell()
m_getcellbynum()
m_getcommadelimited()
m_getheader()
m_initconn()
m_initengine()
m_iscommadelimited()
m_maxconntimeout()
m_monitor()
m_numcolumns()
m_numrows()
m_parsecommadelimited()
m_responsekeys()
m_responseparam()
m_returnstatus()
m_setblocking()
m_setdropfile()
m_setip()
m_setssl()
m_setssl_cafile()
m_setssl_files()
m_settimeout()
m_sslcert_gen_hash()
m_transactionssent()
m_transinqueue()
m_transkeyval()
m_transnew()
m_transsend()
m_uwait()
m_validateidentifier()
m_verifyconnection()
m_verifysslcert()
magic_quotes_runtime()
mail()
mailparse_determine_best_xfer_encoding()
mailparse_msg_create()
mailparse_msg_extract_part()
mailparse_msg_extract_part_file()
mailparse_msg_extract_whole_part_file()
mailparse_msg_free()
mailparse_msg_get_part()
mailparse_msg_get_part_data()
mailparse_msg_get_structure()
mailparse_msg_parse()
mailparse_msg_parse_file()
mailparse_rfc822_parse_addresses()
mailparse_stream_encode()
mailparse_uudecode_all()
main()
max()
maxdb::__construct()
maxdb::affected_rows()
maxdb::auto_commit()
maxdb::change_user()
maxdb::character_set_name()
maxdb::close()
maxdb::close_long_data()
maxdb::commit()
maxdb::disable_reads_from_master()
maxdb::errno()
maxdb::error()
maxdb::field_count()
maxdb::get_host_info()
maxdb::info()
maxdb::insert_id()
maxdb::kill()
maxdb::more_results()
maxdb::multi_query()
maxdb::next_result()
maxdb::num_rows()
maxdb::options()
maxdb::ping()
maxdb::prepare()
maxdb::protocol_version()
maxdb::query()
maxdb::real_connect()
maxdb::real_escape_string()
maxdb::real_query()
maxdb::rollback()
maxdb::rpl_query_type()
maxdb::select_db()
maxdb::send_query()
maxdb::server_info()
maxdb::server_version()
maxdb::sqlstate()
maxdb::ssl_set()
maxdb::stat()
maxdb::stmt_init()
maxdb::store_result()
maxdb::thread_id()
maxdb::use_result()
maxdb::warning_count()
maxdb_affected_rows()
maxdb_autocommit()
maxdb_bind_param()
maxdb_bind_result()
maxdb_change_user()
maxdb_character_set_name()
maxdb_client_encoding()
maxdb_close()
maxdb_close_long_data()
maxdb_commit()
maxdb_connect()
maxdb_connect_errno()
maxdb_connect_error()
maxdb_data_seek()
maxdb_debug()
maxdb_disable_reads_from_master()
maxdb_disable_rpl_parse()
maxdb_dump_debug_info()
maxdb_embedded_connect()
maxdb_enable_reads_from_master()
maxdb_enable_rpl_parse()
maxdb_errno()
maxdb_error()
maxdb_escape_string()
maxdb_execute()
maxdb_fetch()
maxdb_fetch_array()
maxdb_fetch_assoc()
maxdb_fetch_field()
maxdb_fetch_field_direct()
maxdb_fetch_fields()
maxdb_fetch_lengths()
maxdb_fetch_object()
maxdb_fetch_row()
maxdb_field_count()
maxdb_field_seek()
maxdb_field_tell()
maxdb_free_result()
maxdb_get_client_info()
maxdb_get_client_version()
maxdb_get_host_info()
maxdb_get_metadata()
maxdb_get_proto_info()
maxdb_get_server_info()
maxdb_get_server_version()
maxdb_info()
maxdb_init()
maxdb_insert_id()
maxdb_kill()
maxdb_master_query()
maxdb_more_results()
maxdb_multi_query()
maxdb_next_result()
maxdb_num_fields()
maxdb_num_rows()
maxdb_options()
maxdb_param_count()
maxdb_ping()
maxdb_prepare()
maxdb_query()
maxdb_real_connect()
maxdb_real_escape_string()
maxdb_real_query()
maxdb_report()
maxdb_result::current_field()
maxdb_result::data_seek()
maxdb_result::fetch_array()
maxdb_result::fetch_assoc()
maxdb_result::fetch_field()
maxdb_result::fetch_field_direct()
maxdb_result::fetch_fields()
maxdb_result::fetch_object()
maxdb_result::fetch_row()
maxdb_result::field_count()
maxdb_result::field_seek()
maxdb_result::free()
maxdb_result::lengths()
maxdb_rollback()
maxdb_rpl_parse_enabled()
maxdb_rpl_probe()
maxdb_rpl_query_type()
maxdb_select_db()
maxdb_send_long_data()
maxdb_send_query()
maxdb_server_end()
maxdb_server_init()
maxdb_set_opt()
maxdb_sqlstate()
maxdb_ssl_set()
maxdb_stat()
maxdb_stmt::affected_rows()
maxdb_stmt::bind_param()
maxdb_stmt::bind_result()
maxdb_stmt::close()
maxdb_stmt::close_long_data()
maxdb_stmt::data_seek()
maxdb_stmt::errno()
maxdb_stmt::error()
maxdb_stmt::execute()
maxdb_stmt::fetch()
maxdb_stmt::free_result()
maxdb_stmt::num_rows()
maxdb_stmt::param_count()
maxdb_stmt::prepare()
maxdb_stmt::reset()
maxdb_stmt::result_metadata()
maxdb_stmt::send_long_data()
maxdb_stmt_affected_rows()
maxdb_stmt_bind_param()
maxdb_stmt_bind_result()
maxdb_stmt_close()
maxdb_stmt_close_long_data()
maxdb_stmt_data_seek()
maxdb_stmt_errno()
maxdb_stmt_error()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_stmt_free_result()
maxdb_stmt_init()
maxdb_stmt_num_rows()
maxdb_stmt_param_count()
maxdb_stmt_prepare()
maxdb_stmt_reset()
maxdb_stmt_result_metadata()
maxdb_stmt_send_long_data()
maxdb_stmt_sqlstate()
maxdb_stmt_store_result()
maxdb_store_result()
maxdb_thread_id()
maxdb_thread_safe()
maxdb_use_result()
maxdb_warning_count()
mb_check_encoding()
mb_convert_case()
mb_convert_encoding()
mb_convert_kana()
mb_convert_variables()
mb_decode_mimeheader()
mb_decode_numericentity()
mb_detect_encoding()
mb_detect_order()
mb_encode_mimeheader()
mb_encode_numericentity()
mb_encoding_aliases()
mb_ereg()
mb_ereg_match()
mb_ereg_replace()
mb_ereg_search()
mb_ereg_search_getpos()
mb_ereg_search_getregs()
mb_ereg_search_init()
mb_ereg_search_pos()
mb_ereg_search_regs()
mb_ereg_search_setpos()
mb_eregi()
mb_eregi_replace()
mb_get_info()
mb_http_input()
mb_http_output()
mb_internal_encoding()
mb_language()
mb_list_encodings()
mb_output_handler()
mb_parse_str()
mb_preferred_mime_name()
mb_regex_encoding()
mb_regex_set_options()
mb_send_mail()
mb_split()
mb_strcut()
mb_strimwidth()
mb_stripos()
mb_stristr()
mb_strlen()
mb_strpos()
mb_strrchr()
mb_strrichr()
mb_strripos()
mb_strrpos()
mb_strstr()
mb_strtolower()
mb_strtoupper()
mb_strwidth()
mb_substitute_character()
mb_substr()
mb_substr_count()
mcrypt_cbc()
mcrypt_cfb()
mcrypt_create_iv()
mcrypt_decrypt()
mcrypt_ecb()
mcrypt_enc_get_algorithms_name()
mcrypt_enc_get_block_size()
mcrypt_enc_get_iv_size()
mcrypt_enc_get_key_size()
mcrypt_enc_get_modes_name()
mcrypt_enc_get_supported_key_sizes()
mcrypt_enc_is_block_algorithm()
mcrypt_enc_is_block_algorithm_mode()
mcrypt_enc_is_block_mode()
mcrypt_enc_self_test()
mcrypt_encrypt()
mcrypt_generic()
mcrypt_generic_deinit()
mcrypt_generic_end()
mcrypt_generic_init()
mcrypt_get_block_size()
mcrypt_get_cipher_name()
mcrypt_get_iv_size()
mcrypt_get_key_size()
mcrypt_list_algorithms()
mcrypt_list_modes()
mcrypt_module_close()
mcrypt_module_get_algo_block_size()
mcrypt_module_get_algo_key_size()
mcrypt_module_get_supported_key_sizes()
mcrypt_module_is_block_algorithm()
mcrypt_module_is_block_algorithm_mode()
mcrypt_module_is_block_mode()
mcrypt_module_open()
mcrypt_module_self_test()
mcrypt_ofb()
md5()
md5_file()
mdecrypt_generic()
Memcache::add()
Memcache::addServer()
Memcache::close()
Memcache::connect()
Memcache::decrement()
Memcache::delete()
Memcache::flush()
Memcache::get()
Memcache::getExtendedStats()
Memcache::getServerStatus()
Memcache::getStats()
Memcache::getVersion()
Memcache::increment()
Memcache::pconnect()
Memcache::replace()
Memcache::set()
Memcache::setCompressThreshold()
Memcache::setServerParams()
memcache_debug()
Memcached::__construct()
Memcached::add()
Memcached::addByKey()
Memcached::addServer()
Memcached::addServers()
Memcached::append()
Memcached::appendByKey()
Memcached::cas()
Memcached::casByKey()
Memcached::decrement()
Memcached::delete()
Memcached::deleteByKey()
Memcached::fetch()
Memcached::fetchAll()
Memcached::flush()
Memcached::get()
Memcached::getByKey()
Memcached::getDelayed()
Memcached::getDelayedByKey()
Memcached::getMulti()
Memcached::getMultiByKey()
Memcached::getOption()
Memcached::getResultCode()
Memcached::getResultMessage()
Memcached::getServerByKey()
Memcached::getServerList()
Memcached::getStats()
Memcached::getVersion()
Memcached::increment()
Memcached::prepend()
Memcached::prependByKey()
Memcached::replace()
Memcached::replaceByKey()
Memcached::set()
Memcached::setByKey()
Memcached::setMulti()
Memcached::setMultiByKey()
Memcached::setOption()
memory_get_peak_usage()
memory_get_usage()
MessageFormatter::__construct()
MessageFormatter::create()
MessageFormatter::format()
MessageFormatter::formatMessage()
MessageFormatter::getErrorCode()
MessageFormatter::getErrorMessage()
MessageFormatter::getLocale()
MessageFormatter::getPattern()
MessageFormatter::parse()
MessageFormatter::parseMessage()
MessageFormatter::setPattern()
metaphone()
method_exists()
mhash()
mhash_count()
mhash_get_block_size()
mhash_get_hash_name()
mhash_keygen_s2k()
microtime()
mime_content_type()
min()
ming_keypress()
ming_setcubicthreshold()
ming_setscale()
ming_setswfcompression()
ming_useconstants()
ming_useswfversion()
mkdir()
mktime()
money_format()
Mongo::__construct()
Mongo::__get()
Mongo::__toString()
Mongo::close()
Mongo::connect()
Mongo::connectUtil()
Mongo::dropDB()
Mongo::getHosts()
Mongo::getSlave()
Mongo::getSlaveOkay()
Mongo::selectDB()
Mongo::setSlaveOkay()
Mongo::switchSlave()
MongoBinData::__construct()
MongoBinData::__toString()
MongoCode::__construct()
MongoCode::__toString()
MongoCollection::__construct()
MongoCollection::__get()
MongoCollection::__toString()
MongoCollection::batchInsert()
MongoCollection::count()
MongoCollection::createDBRef()
MongoCollection::deleteIndex()
MongoCollection::deleteIndexes()
MongoCollection::drop()
MongoCollection::ensureIndex()
MongoCollection::find()
MongoCollection::findOne()
MongoCollection::getDBRef()
MongoCollection::getIndexInfo()
MongoCollection::getName()
MongoCollection::getSlaveOkay()
MongoCollection::group()
MongoCollection::insert()
MongoCollection::remove()
MongoCollection::save()
MongoCollection::setSlaveOkay()
MongoCollection::update()
MongoCollection::validate()
MongoCursor::__construct()
MongoCursor::addOption()
MongoCursor::batchSize()
MongoCursor::count()
MongoCursor::current()
MongoCursor::dead()
MongoCursor::doQuery()
MongoCursor::explain()
MongoCursor::fields()
MongoCursor::getNext()
MongoCursor::hasNext()
MongoCursor::hint()
MongoCursor::immortal()
MongoCursor::info()
MongoCursor::key()
MongoCursor::limit()
MongoCursor::next()
MongoCursor::partial()
MongoCursor::reset()
MongoCursor::rewind()
MongoCursor::skip()
MongoCursor::slaveOkay()
MongoCursor::snapshot()
MongoCursor::sort()
MongoCursor::tailable()
MongoCursor::timeout()
MongoCursor::valid()
MongoDate::__construct()
MongoDate::__toString()
MongoDB::__construct()
MongoDB::__get()
MongoDB::__toString()
MongoDB::authenticate()
MongoDB::command()
MongoDB::createCollection()
MongoDB::createDBRef()
MongoDB::drop()
MongoDB::dropCollection()
MongoDB::execute()
MongoDB::getDBRef()
MongoDB::getGridFS()
MongoDB::getProfilingLevel()
MongoDB::getSlaveOkay()
MongoDB::lastError()
MongoDB::listCollections()
MongoDB::prevError()
MongoDB::repair()
MongoDB::resetError()
MongoDB::selectCollection()
MongoDB::setProfilingLevel()
MongoDB::setSlaveOkay()
MongoDBRef::create()
MongoDBRef::get()
MongoDBRef::isRef()
MongoGridFS::__construct()
MongoGridFS::delete()
MongoGridFS::drop()
MongoGridFS::find()
MongoGridFS::findOne()
MongoGridFS::get()
MongoGridFS::put()
MongoGridFS::remove()
MongoGridFS::storeBytes()
MongoGridFS::storeFile()
MongoGridFS::storeUpload()
MongoGridFSCursor::__construct()
MongoGridFSCursor::current()
MongoGridFSCursor::getNext()
MongoGridFSCursor::key()
MongoGridfsFile::__construct()
MongoGridFSFile::getBytes()
MongoGridFSFile::getFilename()
MongoGridFSFile::getSize()
MongoGridFSFile::write()
MongoId::__construct()
MongoId::__set_state()
MongoId::__toString()
MongoId::getHostname()
MongoId::getInc()
MongoId::getPID()
MongoId::getTimestamp()
MongoInt32::__construct()
MongoInt32::__toString()
MongoInt64::__construct()
MongoInt64::__toString()
MongoRegex::__construct()
MongoRegex::__toString()
MongoTimestamp::__construct()
MongoTimestamp::__toString()
move_uploaded_file()
mqseries_back()
mqseries_begin()
mqseries_close()
mqseries_cmit()
mqseries_conn()
mqseries_connx()
mqseries_disc()
mqseries_get()
mqseries_inq()
mqseries_open()
mqseries_put()
mqseries_put1()
mqseries_set()
mqseries_strerror()
msession_connect()
msession_count()
msession_create()
msession_destroy()
msession_disconnect()
msession_find()
msession_get()
msession_get_array()
msession_get_data()
msession_inc()
msession_list()
msession_listvar()
msession_lock()
msession_plugin()
msession_randstr()
msession_set()
msession_set_array()
msession_set_data()
msession_timeout()
msession_uniq()
msession_unlock()
msg_get_queue()
msg_queue_exists()
msg_receive()
msg_remove_queue()
msg_send()
msg_set_queue()
msg_stat_queue()
msgfmt_create()
msgfmt_format()
msgfmt_format_message()
msgfmt_get_error_code()
msgfmt_get_error_message()
msgfmt_get_locale()
msgfmt_get_pattern()
msgfmt_parse()
msgfmt_parse_message()
msgfmt_set_pattern()
msql()
msql_affected_rows()
msql_close()
msql_connect()
msql_create_db()
msql_createdb()
msql_data_seek()
msql_db_query()
msql_dbname()
msql_drop_db()
msql_error()
msql_fetch_array()
msql_fetch_field()
msql_fetch_object()
msql_fetch_row()
msql_field_flags()
msql_field_len()
msql_field_name()
msql_field_seek()
msql_field_table()
msql_field_type()
msql_fieldflags()
msql_fieldlen()
msql_fieldname()
msql_fieldtable()
msql_fieldtype()
msql_free_result()
msql_list_dbs()
msql_list_fields()
msql_list_tables()
msql_num_fields()
msql_num_rows()
msql_numfields()
msql_numrows()
msql_pconnect()
msql_query()
msql_regcase()
msql_result()
msql_select_db()
msql_tablename()
mssql_bind()
mssql_close()
mssql_connect()
mssql_data_seek()
mssql_execute()
mssql_fetch_array()
mssql_fetch_assoc()
mssql_fetch_batch()
mssql_fetch_field()
mssql_fetch_object()
mssql_fetch_row()
mssql_field_length()
mssql_field_name()
mssql_field_seek()
mssql_field_type()
mssql_free_result()
mssql_free_statement()
mssql_get_last_message()
mssql_guid_string()
mssql_init()
mssql_min_error_severity()
mssql_min_message_severity()
mssql_next_result()
mssql_num_fields()
mssql_num_rows()
mssql_pconnect()
mssql_query()
mssql_result()
mssql_rows_affected()
mssql_select_db()
mt_getrandmax()
mt_rand()
mt_srand()
MultipleIterator::__construct()
MultipleIterator::attachIterator()
MultipleIterator::containsIterator()
MultipleIterator::countIterators()
MultipleIterator::current()
MultipleIterator::detachIterator()
MultipleIterator::getFlags()
MultipleIterator::key()
MultipleIterator::next()
MultipleIterator::rewind()
MultipleIterator::setFlags()
MultipleIterator::valid()
mysql_affected_rows()
mysql_client_encoding()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_db_name()
mysql_db_query()
mysql_drop_db()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_field()
mysql_fetch_lengths()
mysql_fetch_object()
mysql_fetch_row()
mysql_field_flags()
mysql_field_len()
mysql_field_name()
mysql_field_seek()
mysql_field_table()
mysql_field_type()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_pconnect()
mysql_ping()
mysql_query()
mysql_real_escape_string()
mysql_result()
mysql_select_db()
mysql_set_charset()
mysql_stat()
mysql_tablename()
mysql_thread_id()
mysql_unbuffered_query()
mysqli::__construct()
mysqli::affected_rows()
mysqli::autocommit()
mysqli::change_user()
mysqli::character_set_name()
mysqli::client_info()
mysqli::client_version()
mysqli::close()
mysqli::commit()
mysqli::connect_errno()
mysqli::connect_error()
mysqli::debug()
mysqli::disable_reads_from_master()
mysqli::dump_debug_info()
mysqli::errno()
mysqli::error()
mysqli::field_count()
mysqli::get_charset()
mysqli::get_client_info()
mysqli::get_connection_stats()
mysqli::get_warnings()
mysqli::host_info()
mysqli::info()
mysqli::init()
mysqli::insert_id()
mysqli::kill()
mysqli::more_results()
mysqli::multi_query()
mysqli::next_result()
mysqli::options()
mysqli::ping()
mysqli::poll()
mysqli::prepare()
mysqli::protocol_version()
mysqli::query()
mysqli::real_connect()
mysqli::real_escape_string()
mysqli::real_query()
mysqli::reap_async_query()
mysqli::rollback()
mysqli::rpl_query_type()
mysqli::select_db()
mysqli::send_query()
mysqli::server_info()
mysqli::server_version()
mysqli::set_charset()
mysqli::set_local_infile_default()
mysqli::set_local_infile_handler()
mysqli::sqlstate()
mysqli::ssl_set()
mysqli::stat()
mysqli::stmt_init()
mysqli::store_result()
mysqli::thread_id()
mysqli::thread_safe()
mysqli::use_result()
mysqli::warning_count()
mysqli_affected_rows()
mysqli_autocommit()
mysqli_bind_param()
mysqli_bind_result()
mysqli_change_user()
mysqli_character_set_name()
mysqli_client_encoding()
mysqli_close()
mysqli_commit()
mysqli_connect()
mysqli_connect_errno()
mysqli_connect_error()
mysqli_data_seek()
mysqli_debug()
mysqli_disable_reads_from_master()
mysqli_disable_rpl_parse()
mysqli_driver::embedded_server_end()
mysqli_driver::embedded_server_start()
mysqli_dump_debug_info()
mysqli_embedded_server_end()
mysqli_embedded_server_start()
mysqli_enable_reads_from_master()
mysqli_enable_rpl_parse()
mysqli_errno()
mysqli_error()
mysqli_escape_string()
mysqli_execute()
mysqli_fetch()
mysqli_fetch_all()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_field()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_fetch_lengths()
mysqli_fetch_object()
mysqli_fetch_row()
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
mysqli_get_cache_stats()
mysqli_get_charset()
mysqli_get_client_info()
mysqli_get_client_stats()
mysqli_get_client_version()
mysqli_get_connection_stats()
mysqli_get_host_info()
mysqli_get_metadata()
mysqli_get_proto_info()
mysqli_get_server_info()
mysqli_get_server_version()
mysqli_get_warnings()
mysqli_info()
mysqli_init()
mysqli_insert_id()
mysqli_kill()
mysqli_master_query()
mysqli_more_results()
mysqli_multi_query()
mysqli_next_result()
mysqli_num_fields()
mysqli_num_rows()
mysqli_options()
mysqli_param_count()
mysqli_ping()
mysqli_poll()
mysqli_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_reap_async_query()
mysqli_report()
mysqli_result::current_field()
mysqli_result::data_seek()
mysqli_result::fetch_all()
mysqli_result::fetch_array()
mysqli_result::fetch_assoc()
mysqli_result::fetch_field()
mysqli_result::fetch_field_direct()
mysqli_result::fetch_fields()
mysqli_result::fetch_object()
mysqli_result::fetch_row()
mysqli_result::field_count()
mysqli_result::field_seek()
mysqli_result::free()
mysqli_result::lengths()
mysqli_result::num_rows()
mysqli_rollback()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_select_db()
mysqli_send_long_data()
mysqli_send_query()
mysqli_set_charset()
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()
mysqli_set_opt()
mysqli_slave_query()
mysqli_sqlstate()
mysqli_ssl_set()
mysqli_stat()
mysqli_stmt::affected_rows()
mysqli_stmt::attr_get()
mysqli_stmt::attr_set()
mysqli_stmt::bind_param()
mysqli_stmt::bind_result()
mysqli_stmt::close()
mysqli_stmt::data_seek()
mysqli_stmt::errno()
mysqli_stmt::error()
mysqli_stmt::execute()
mysqli_stmt::fetch()
mysqli_stmt::field_count()
mysqli_stmt::free_result()
mysqli_stmt::get_result()
mysqli_stmt::get_warnings()
mysqli_stmt::insert_id()
mysqli_stmt::num_rows()
mysqli_stmt::param_count()
mysqli_stmt::prepare()
mysqli_stmt::reset()
mysqli_stmt::result_metadata()
mysqli_stmt::send_long_data()
mysqli_stmt::sqlstate()
mysqli_stmt::store_result()
mysqli_stmt_affected_rows()
mysqli_stmt_attr_get()
mysqli_stmt_attr_set()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()
mysqli_stmt_data_seek()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_field_count()
mysqli_stmt_free_result()
mysqli_stmt_get_result()
mysqli_stmt_get_warnings()
mysqli_stmt_init()
mysqli_stmt_insert_id()
mysqli_stmt_num_rows()
mysqli_stmt_param_count()
mysqli_stmt_prepare()
mysqli_stmt_reset()
mysqli_stmt_result_metadata()
mysqli_stmt_send_long_data()
mysqli_stmt_sqlstate()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_thread_id()
mysqli_thread_safe()
mysqli_use_result()
mysqli_warning::__construct()
mysqli_warning::next()
mysqli_warning_count()
mysqlnd_ms_get_stats()
mysqlnd_ms_query_is_select()
mysqlnd_ms_set_user_pick_server()
mysqlnd_qc_change_handler()
mysqlnd_qc_clear_cache()
mysqlnd_qc_get_cache_info()
mysqlnd_qc_get_core_stats()
mysqlnd_qc_get_handler()
mysqlnd_qc_get_query_trace_log()
mysqlnd_qc_set_user_handlers()
N
natcasesort()
natsort()
ncurses_addch()
ncurses_addchnstr()
ncurses_addchstr()
ncurses_addnstr()
ncurses_addstr()
ncurses_assume_default_colors()
ncurses_attroff()
ncurses_attron()
ncurses_attrset()
ncurses_baudrate()
ncurses_beep()
ncurses_bkgd()
ncurses_bkgdset()
ncurses_border()
ncurses_bottom_panel()
ncurses_can_change_color()
ncurses_cbreak()
ncurses_clear()
ncurses_clrtobot()
ncurses_clrtoeol()
ncurses_color_content()
ncurses_color_set()
ncurses_curs_set()
ncurses_def_prog_mode()
ncurses_def_shell_mode()
ncurses_define_key()
ncurses_del_panel()
ncurses_delay_output()
ncurses_delch()
ncurses_deleteln()
ncurses_delwin()
ncurses_doupdate()
ncurses_echo()
ncurses_echochar()
ncurses_end()
ncurses_erase()
ncurses_erasechar()
ncurses_filter()
ncurses_flash()
ncurses_flushinp()
ncurses_getch()
ncurses_getmaxyx()
ncurses_getmouse()
ncurses_getyx()
ncurses_halfdelay()
ncurses_has_colors()
ncurses_has_ic()
ncurses_has_il()
ncurses_has_key()
ncurses_hide_panel()
ncurses_hline()
ncurses_inch()
ncurses_init()
ncurses_init_color()
ncurses_init_pair()
ncurses_insch()
ncurses_insdelln()
ncurses_insertln()
ncurses_insstr()
ncurses_instr()
ncurses_isendwin()
ncurses_keyok()
ncurses_keypad()
ncurses_killchar()
ncurses_longname()
ncurses_meta()
ncurses_mouse_trafo()
ncurses_mouseinterval()
ncurses_mousemask()
ncurses_move()
ncurses_move_panel()
ncurses_mvaddch()
ncurses_mvaddchnstr()
ncurses_mvaddchstr()
ncurses_mvaddnstr()
ncurses_mvaddstr()
ncurses_mvcur()
ncurses_mvdelch()
ncurses_mvgetch()
ncurses_mvhline()
ncurses_mvinch()
ncurses_mvvline()
ncurses_mvwaddstr()
ncurses_napms()
ncurses_new_panel()
ncurses_newpad()
ncurses_newwin()
ncurses_nl()
ncurses_nocbreak()
ncurses_noecho()
ncurses_nonl()
ncurses_noqiflush()
ncurses_noraw()
ncurses_pair_content()
ncurses_panel_above()
ncurses_panel_below()
ncurses_panel_window()
ncurses_pnoutrefresh()
ncurses_prefresh()
ncurses_putp()
ncurses_qiflush()
ncurses_raw()
ncurses_refresh()
ncurses_replace_panel()
ncurses_reset_prog_mode()
ncurses_reset_shell_mode()
ncurses_resetty()
ncurses_savetty()
ncurses_scr_dump()
ncurses_scr_init()
ncurses_scr_restore()
ncurses_scr_set()
ncurses_scrl()
ncurses_show_panel()
ncurses_slk_attr()
ncurses_slk_attroff()
ncurses_slk_attron()
ncurses_slk_attrset()
ncurses_slk_clear()
ncurses_slk_color()
ncurses_slk_init()
ncurses_slk_noutrefresh()
ncurses_slk_refresh()
ncurses_slk_restore()
ncurses_slk_set()
ncurses_slk_touch()
ncurses_standend()
ncurses_standout()
ncurses_start_color()
ncurses_termattrs()
ncurses_termname()
ncurses_timeout()
ncurses_top_panel()
ncurses_typeahead()
ncurses_ungetch()
ncurses_ungetmouse()
ncurses_update_panels()
ncurses_use_default_colors()
ncurses_use_env()
ncurses_use_extended_names()
ncurses_vidattr()
ncurses_vline()
ncurses_waddch()
ncurses_waddstr()
ncurses_wattroff()
ncurses_wattron()
ncurses_wattrset()
ncurses_wborder()
ncurses_wclear()
ncurses_wcolor_set()
ncurses_werase()
ncurses_wgetch()
ncurses_whline()
ncurses_wmouse_trafo()
ncurses_wmove()
ncurses_wnoutrefresh()
ncurses_wrefresh()
ncurses_wstandend()
ncurses_wstandout()
ncurses_wvline()
newt_bell()
newt_button()
newt_button_bar()
newt_centered_window()
newt_checkbox()
newt_checkbox_get_value()
newt_checkbox_set_flags()
newt_checkbox_set_value()
newt_checkbox_tree()
newt_checkbox_tree_add_item()
newt_checkbox_tree_find_item()
newt_checkbox_tree_get_current()
newt_checkbox_tree_get_entry_value()
newt_checkbox_tree_get_multi_selection()
newt_checkbox_tree_get_selection()
newt_checkbox_tree_multi()
newt_checkbox_tree_set_current()
newt_checkbox_tree_set_entry()
newt_checkbox_tree_set_entry_value()
newt_checkbox_tree_set_width()
newt_clear_key_buffer()
newt_cls()
newt_compact_button()
newt_component_add_callback()
newt_component_takes_focus()
newt_create_grid()
newt_cursor_off()
newt_cursor_on()
newt_delay()
newt_draw_form()
newt_draw_root_text()
newt_entry()
newt_entry_get_value()
newt_entry_set()
newt_entry_set_filter()
newt_entry_set_flags()
newt_finished()
newt_form()
newt_form_add_component()
newt_form_add_components()
newt_form_add_hot_key()
newt_form_destroy()
newt_form_get_current()
newt_form_run()
newt_form_set_background()
newt_form_set_height()
newt_form_set_size()
newt_form_set_timer()
newt_form_set_width()
newt_form_watch_fd()
newt_get_screen_size()
newt_grid_add_components_to_form()
newt_grid_basic_window()
newt_grid_free()
newt_grid_get_size()
newt_grid_h_close_stacked()
newt_grid_h_stacked()
newt_grid_place()
newt_grid_set_field()
newt_grid_simple_window()
newt_grid_v_close_stacked()
newt_grid_v_stacked()
newt_grid_wrapped_window()
newt_grid_wrapped_window_at()
newt_init()
newt_label()
newt_label_set_text()
newt_listbox()
newt_listbox_append_entry()
newt_listbox_clear()
newt_listbox_clear_selection()
newt_listbox_delete_entry()
newt_listbox_get_current()
newt_listbox_get_selection()
newt_listbox_insert_entry()
newt_listbox_item_count()
newt_listbox_select_item()
newt_listbox_set_current()
newt_listbox_set_current_by_key()
newt_listbox_set_data()
newt_listbox_set_entry()
newt_listbox_set_width()
newt_listitem()
newt_listitem_get_data()
newt_listitem_set()
newt_open_window()
newt_pop_help_line()
newt_pop_window()
newt_push_help_line()
newt_radio_get_current()
newt_radiobutton()
newt_redraw_help_line()
newt_reflow_text()
newt_refresh()
newt_resize_screen()
newt_resume()
newt_run_form()
newt_scale()
newt_scale_set()
newt_scrollbar_set()
newt_set_help_callback()
newt_set_suspend_callback()
newt_suspend()
newt_textbox()
newt_textbox_get_num_lines()
newt_textbox_reflowed()
newt_textbox_set_height()
newt_textbox_set_text()
newt_vertical_scrollbar()
newt_wait_for_key()
newt_win_choice()
newt_win_entries()
newt_win_menu()
newt_win_message()
newt_win_messagev()
newt_win_ternary()
next()
ngettext()
nl2br()
nl_langinfo()
NoRewindIterator::__construct()
NoRewindIterator::current()
NoRewindIterator::getInnerIterator()
NoRewindIterator::key()
NoRewindIterator::next()
NoRewindIterator::rewind()
NoRewindIterator::valid()
Normalizer::isNormalized()
Normalizer::normalize()
normalizer_is_normalized()
normalizer_normalize()
notes_body()
notes_copy_db()
notes_create_db()
notes_create_note()
notes_drop_db()
notes_find_note()
notes_header_info()
notes_list_msgs()
notes_mark_read()
notes_mark_unread()
notes_nav_create()
notes_search()
notes_unread()
notes_version()
nsapi_request_headers()
nsapi_response_headers()
nsapi_virtual()
nthmac()
number_format()
NumberFormatter::__construct()
NumberFormatter::create()
NumberFormatter::format()
NumberFormatter::formatCurrency()
NumberFormatter::getAttribute()
NumberFormatter::getErrorCode()
NumberFormatter::getErrorMessage()
NumberFormatter::getLocale()
NumberFormatter::getPattern()
NumberFormatter::getSymbol()
NumberFormatter::getTextAttribute()
NumberFormatter::parse()
NumberFormatter::parseCurrency()
NumberFormatter::setAttribute()
NumberFormatter::setPattern()
NumberFormatter::setSymbol()
NumberFormatter::setTextAttribute()
numfmt_create()
numfmt_format()
numfmt_format_currency()
numfmt_get_attribute()
numfmt_get_error_code()
numfmt_get_error_message()
numfmt_get_locale()
numfmt_get_pattern()
numfmt_get_symbol()
numfmt_get_text_attribute()
numfmt_parse()
numfmt_parse_currency()
numfmt_set_attribute()
numfmt_set_pattern()
numfmt_set_symbol()
numfmt_set_text_attribute()
O
OAuth::__construct()
OAuth::__destruct()
OAuth::disableDebug()
OAuth::disableRedirects()
OAuth::disableSSLChecks()
OAuth::enableDebug()
OAuth::enableRedirects()
OAuth::enableSSLChecks()
OAuth::fetch()
OAuth::getAccessToken()
OAuth::getCAPath()
OAuth::getLastResponse()
OAuth::getLastResponseInfo()
OAuth::getRequestToken()
OAuth::setAuthType()
OAuth::setCAPath()
OAuth::setNonce()
OAuth::setRequestEngine()
OAuth::setRSACertificate()
OAuth::setTimestamp()
OAuth::setToken()
OAuth::setVersion()
oauth_get_sbs()
oauth_urlencode()
OAuthProvider::__construct()
OAuthProvider::addRequiredParameter()
OAuthProvider::callconsumerHandler()
OAuthProvider::callTimestampNonceHandler()
OAuthProvider::calltokenHandler()
OAuthProvider::checkOAuthRequest()
OAuthProvider::consumerHandler()
OAuthProvider::generateToken()
OAuthProvider::is2LeggedEndpoint()
OAuthProvider::isRequestTokenEndpoint()
OAuthProvider::removeRequiredParameter()
OAuthProvider::reportProblem()
OAuthProvider::setParam()
OAuthProvider::setRequestTokenPath()
OAuthProvider::timestampNonceHandler()
OAuthProvider::tokenHandler()
ob_clean()
ob_deflatehandler()
ob_end_clean()
ob_end_flush()
ob_etaghandler()
ob_flush()
ob_get_clean()
ob_get_contents()
ob_get_flush()
ob_get_length()
ob_get_level()
ob_get_status()
ob_gzhandler()
ob_iconv_handler()
ob_implicit_flush()
ob_inflatehandler()
ob_list_handlers()
ob_start()
ob_tidyhandler()
OCI-Collection::append()
OCI-Collection::assign()
OCI-Collection::assignElem()
OCI-Collection::free()
OCI-Collection::getElem()
OCI-Collection::max()
OCI-Collection::size()
OCI-Collection::trim()
OCI-Lob::append()
OCI-Lob::close()
OCI-Lob::eof()
OCI-Lob::erase()
OCI-Lob::export()
OCI-Lob::flush()
OCI-Lob::free()
OCI-Lob::getBuffering()
OCI-Lob::import()
OCI-Lob::load()
OCI-Lob::read()
OCI-Lob::rewind()
OCI-Lob::save()
OCI-Lob::saveFile()
OCI-Lob::seek()
OCI-Lob::setBuffering()
OCI-Lob::size()
OCI-Lob::tell()
OCI-Lob::truncate()
OCI-Lob::write()
OCI-Lob::writeTemporary()
OCI-Lob::writeToFile()
oci_bind_array_by_name()
oci_bind_by_name()
oci_cancel()
oci_close()
oci_commit()
oci_connect()
oci_define_by_name()
oci_error()
oci_execute()
oci_fetch()
oci_fetch_all()
oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_field_is_null()
oci_field_name()
oci_field_precision()
oci_field_scale()
oci_field_size()
oci_field_type()
oci_field_type_raw()
oci_free_statement()
oci_internal_debug()
oci_lob_copy()
oci_lob_is_equal()
oci_new_collection()
oci_new_connect()
oci_new_cursor()
oci_new_descriptor()
oci_num_fields()
oci_num_rows()
oci_parse()
oci_password_change()
oci_pconnect()
oci_result()
oci_rollback()
oci_server_version()
oci_set_action()
oci_set_client_identifier()
oci_set_client_info()
oci_set_edition()
oci_set_module_name()
oci_set_prefetch()
oci_statement_type()
ocibindbyname()
ocicancel()
ocicloselob()
ocicollappend()
ocicollassign()
ocicollassignelem()
ocicollgetelem()
ocicollmax()
ocicollsize()
ocicolltrim()
ocicolumnisnull()
ocicolumnname()
ocicolumnprecision()
ocicolumnscale()
ocicolumnsize()
ocicolumntype()
ocicolumntyperaw()
ocicommit()
ocidefinebyname()
ocierror()
ociexecute()
ocifetch()
ocifetchinto()
ocifetchstatement()
ocifreecollection()
ocifreecursor()
ocifreedesc()
ocifreestatement()
ociinternaldebug()
ociloadlob()
ocilogoff()
ocilogon()
ocinewcollection()
ocinewcursor()
ocinewdescriptor()
ocinlogon()
ocinumcols()
ociparse()
ociplogon()
ociresult()
ocirollback()
ocirowcount()
ocisavelob()
ocisavelobfile()
ociserverversion()
ocisetprefetch()
ocistatementtype()
ociwritelobtofile()
ociwritetemporarylob()
octdec()
odbc_autocommit()
odbc_binmode()
odbc_close()
odbc_close_all()
odbc_columnprivileges()
odbc_columns()
odbc_commit()
odbc_connect()
odbc_cursor()
odbc_data_source()
odbc_do()
odbc_error()
odbc_errormsg()
odbc_exec()
odbc_execute()
odbc_fetch_array()
odbc_fetch_into()
odbc_fetch_object()
odbc_fetch_row()
odbc_field_len()
odbc_field_name()
odbc_field_num()
odbc_field_precision()
odbc_field_scale()
odbc_field_type()
odbc_foreignkeys()
odbc_free_result()
odbc_gettypeinfo()
odbc_longreadlen()
odbc_next_result()
odbc_num_fields()
odbc_num_rows()
odbc_pconnect()
odbc_prepare()
odbc_primarykeys()
odbc_procedurecolumns()
odbc_procedures()
odbc_result()
odbc_result_all()
odbc_rollback()
odbc_setoption()
odbc_specialcolumns()
odbc_statistics()
odbc_tableprivileges()
odbc_tables()
openal_buffer_create()
openal_buffer_data()
openal_buffer_destroy()
openal_buffer_get()
openal_buffer_loadwav()
openal_context_create()
openal_context_current()
openal_context_destroy()
openal_context_process()
openal_context_suspend()
openal_device_close()
openal_device_open()
openal_listener_get()
openal_listener_set()
openal_source_create()
openal_source_destroy()
openal_source_get()
openal_source_pause()
openal_source_play()
openal_source_rewind()
openal_source_set()
openal_source_stop()
openal_stream()
opendir()
openlog()
openssl_cipher_iv_length()
openssl_csr_export()
openssl_csr_export_to_file()
openssl_csr_get_public_key()
openssl_csr_get_subject()
openssl_csr_new()
openssl_csr_sign()
openssl_decrypt()
openssl_dh_compute_key()
openssl_digest()
openssl_encrypt()
openssl_error_string()
openssl_free_key()
openssl_get_cipher_methods()
openssl_get_md_methods()
openssl_get_privatekey()
openssl_get_publickey()
openssl_open()
openssl_pkcs12_export()
openssl_pkcs12_export_to_file()
openssl_pkcs12_read()
openssl_pkcs7_decrypt()
openssl_pkcs7_encrypt()
openssl_pkcs7_sign()
openssl_pkcs7_verify()
openssl_pkey_export()
openssl_pkey_export_to_file()
openssl_pkey_free()
openssl_pkey_get_details()
openssl_pkey_get_private()
openssl_pkey_get_public()
openssl_pkey_new()
openssl_private_decrypt()
openssl_private_encrypt()
openssl_public_decrypt()
openssl_public_encrypt()
openssl_random_pseudo_bytes()
openssl_seal()
openssl_sign()
openssl_verify()
openssl_x509_check_private_key()
openssl_x509_checkpurpose()
openssl_x509_export()
openssl_x509_export_to_file()
openssl_x509_free()
openssl_x509_parse()
openssl_x509_read()
ord()
OuterIterator::getInnerIterator()
output_add_rewrite_var()
output_reset_rewrite_vars()
overload()
override_function()
ovrimos_close()
ovrimos_commit()
ovrimos_connect()
ovrimos_cursor()
ovrimos_exec()
ovrimos_execute()
ovrimos_fetch_into()
ovrimos_fetch_row()
ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_num()
ovrimos_field_type()
ovrimos_free_result()
ovrimos_longreadlen()
ovrimos_num_fields()
ovrimos_num_rows()
ovrimos_prepare()
ovrimos_result()
ovrimos_result_all()
ovrimos_rollback()
P
pack()
ParentIterator::__construct()
ParentIterator::accept()
ParentIterator::getChildren()
ParentIterator::hasChildren()
ParentIterator::next()
ParentIterator::rewind()
parse_ini_file()
parse_ini_string()
parse_str()
parse_url()
parsekit_compile_file()
parsekit_compile_string()
parsekit_func_arginfo()
passthru()
pathinfo()
pclose()
pcntl_alarm()
pcntl_exec()
pcntl_fork()
pcntl_getpriority()
pcntl_setpriority()
pcntl_signal()
pcntl_signal_dispatch()
pcntl_sigprocmask()
pcntl_sigtimedwait()
pcntl_sigwaitinfo()
pcntl_wait()
pcntl_waitpid()
pcntl_wexitstatus()
pcntl_wifexited()
pcntl_wifsignaled()
pcntl_wifstopped()
pcntl_wstopsig()
pcntl_wtermsig()
pdf_activate_item()
pdf_add_annotation()
pdf_add_bookmark()
pdf_add_launchlink()
pdf_add_locallink()
pdf_add_nameddest()
pdf_add_note()
pdf_add_outline()
pdf_add_pdflink()
pdf_add_table_cell()
pdf_add_textflow()
pdf_add_thumbnail()
pdf_add_weblink()
pdf_arc()
pdf_arcn()
pdf_attach_file()
pdf_begin_document()
pdf_begin_font()
pdf_begin_glyph()
pdf_begin_item()
pdf_begin_layer()
pdf_begin_page()
pdf_begin_page_ext()
pdf_begin_pattern()
pdf_begin_template()
pdf_begin_template_ext()
pdf_circle()
pdf_clip()
pdf_close()
pdf_close_image()
pdf_close_pdi()
pdf_close_pdi_page()
pdf_closepath()
pdf_closepath_fill_stroke()
pdf_closepath_stroke()
pdf_concat()
pdf_continue_text()
pdf_create_3dview()
pdf_create_action()
pdf_create_annotation()
pdf_create_bookmark()
pdf_create_field()
pdf_create_fieldgroup()
pdf_create_gstate()
pdf_create_pvf()
pdf_create_textflow()
pdf_curveto()
pdf_define_layer()
pdf_delete()
pdf_delete_pvf()
pdf_delete_table()
pdf_delete_textflow()
pdf_encoding_set_char()
pdf_end_document()
pdf_end_font()
pdf_end_glyph()
pdf_end_item()
pdf_end_layer()
pdf_end_page()
pdf_end_page_ext()
pdf_end_pattern()
pdf_end_template()
pdf_endpath()
pdf_fill()
pdf_fill_imageblock()
pdf_fill_pdfblock()
pdf_fill_stroke()
pdf_fill_textblock()
pdf_findfont()
pdf_fit_image()
pdf_fit_pdi_page()
pdf_fit_table()
pdf_fit_textflow()
pdf_fit_textline()
pdf_get_apiname()
pdf_get_buffer()
pdf_get_errmsg()
pdf_get_errnum()
pdf_get_font()
pdf_get_fontname()
pdf_get_fontsize()
pdf_get_image_height()
pdf_get_image_width()
pdf_get_majorversion()
pdf_get_minorversion()
pdf_get_parameter()
pdf_get_pdi_parameter()
pdf_get_pdi_value()
pdf_get_value()
pdf_info_font()
pdf_info_matchbox()
pdf_info_table()
pdf_info_textflow()
pdf_info_textline()
pdf_initgraphics()
pdf_lineto()
pdf_load_3ddata()
pdf_load_font()
pdf_load_iccprofile()
pdf_load_image()
pdf_makespotcolor()
pdf_moveto()
pdf_new()
pdf_open_ccitt()
pdf_open_file()
pdf_open_gif()
pdf_open_image()
pdf_open_image_file()
pdf_open_jpeg()
pdf_open_memory_image()
pdf_open_pdi()
pdf_open_pdi_document()
pdf_open_pdi_page()
pdf_open_tiff()
pdf_pcos_get_number()
pdf_pcos_get_stream()
pdf_pcos_get_string()
pdf_place_image()
pdf_place_pdi_page()
pdf_process_pdi()
pdf_rect()
pdf_restore()
pdf_resume_page()
pdf_rotate()
pdf_save()
pdf_scale()
pdf_set_border_color()
pdf_set_border_dash()
pdf_set_border_style()
pdf_set_char_spacing()
pdf_set_duration()
pdf_set_gstate()
pdf_set_horiz_scaling()
pdf_set_info()
pdf_set_info_author()
pdf_set_info_creator()
pdf_set_info_keywords()
pdf_set_info_subject()
pdf_set_info_title()
pdf_set_layer_dependency()
pdf_set_leading()
pdf_set_parameter()
pdf_set_text_matrix()
pdf_set_text_pos()
pdf_set_text_rendering()
pdf_set_text_rise()
pdf_set_value()
pdf_set_word_spacing()
pdf_setcolor()
pdf_setdash()
pdf_setdashpattern()
pdf_setflat()
pdf_setfont()
pdf_setgray()
pdf_setgray_fill()
pdf_setgray_stroke()
pdf_setlinecap()
pdf_setlinejoin()
pdf_setlinewidth()
pdf_setmatrix()
pdf_setmiterlimit()
pdf_setpolydash()
pdf_setrgbcolor()
pdf_setrgbcolor_fill()
pdf_setrgbcolor_stroke()
pdf_shading()
pdf_shading_pattern()
pdf_shfill()
pdf_show()
pdf_show_boxed()
pdf_show_xy()
pdf_skew()
pdf_stringwidth()
pdf_stroke()
pdf_suspend_page()
pdf_translate()
pdf_utf16_to_utf8()
pdf_utf32_to_utf16()
pdf_utf8_to_utf16()
PDO::__construct()
PDO::beginTransaction()
PDO::commit()
PDO::cubrid_schema()
PDO::errorCode()
PDO::errorInfo()
PDO::exec()
PDO::getAttribute()
PDO::getAvailableDrivers()
PDO::inTransaction()
PDO::lastInsertId()
PDO::pgsqlLOBCreate()
PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
PDO::prepare()
PDO::query()
PDO::quote()
PDO::rollBack()
PDO::setAttribute()
PDO::sqliteCreateAggregate()
PDO::sqliteCreateFunction()
PDOStatement::bindColumn()
PDOStatement::bindParam()
PDOStatement::bindValue()
PDOStatement::closeCursor()
PDOStatement::columnCount()
PDOStatement::debugDumpParams()
PDOStatement::errorCode()
PDOStatement::errorInfo()
PDOStatement::execute()
PDOStatement::fetch()
PDOStatement::fetchAll()
PDOStatement::fetchColumn()
PDOStatement::fetchObject()
PDOStatement::getAttribute()
PDOStatement::getColumnMeta()
PDOStatement::nextRowset()
PDOStatement::rowCount()
PDOStatement::setAttribute()
PDOStatement::setFetchMode()
pfsockopen()
pg_affected_rows()
pg_cancel_query()
pg_client_encoding()
pg_close()
pg_connect()
pg_connection_busy()
pg_connection_reset()
pg_connection_status()
pg_convert()
pg_copy_from()
pg_copy_to()
pg_dbname()
pg_delete()
pg_end_copy()
pg_escape_bytea()
pg_escape_string()
pg_execute()
pg_fetch_all()
pg_fetch_all_columns()
pg_fetch_array()
pg_fetch_assoc()
pg_fetch_object()
pg_fetch_result()
pg_fetch_row()
pg_field_is_null()
pg_field_name()
pg_field_num()
pg_field_prtlen()
pg_field_size()
pg_field_table()
pg_field_type()
pg_field_type_oid()
pg_free_result()
pg_get_notify()
pg_get_pid()
pg_get_result()
pg_host()
pg_insert()
pg_last_error()
pg_last_notice()
pg_last_oid()
pg_lo_close()
pg_lo_create()
pg_lo_export()
pg_lo_import()
pg_lo_open()
pg_lo_read()
pg_lo_read_all()
pg_lo_seek()
pg_lo_tell()
pg_lo_unlink()
pg_lo_write()
pg_meta_data()
pg_num_fields()
pg_num_rows()
pg_options()
pg_parameter_status()
pg_pconnect()
pg_ping()
pg_port()
pg_prepare()
pg_put_line()
pg_query()
pg_query_params()
pg_result_error()
pg_result_error_field()
pg_result_seek()
pg_result_status()
pg_select()
pg_send_execute()
pg_send_prepare()
pg_send_query()
pg_send_query_params()
pg_set_client_encoding()
pg_set_error_verbosity()
pg_trace()
pg_transaction_status()
pg_tty()
pg_unescape_bytea()
pg_untrace()
pg_update()
pg_version()
Phar::__construct()
Phar::addEmptyDir()
Phar::addFile()
Phar::addFromString()
Phar::apiVersion()
Phar::buildFromDirectory()
Phar::buildFromIterator()
Phar::canCompress()
Phar::canWrite()
Phar::compress()
Phar::compressAllFilesBZIP2()
Phar::compressAllFilesGZ()
Phar::compressFiles()
Phar::convertToData()
Phar::convertToExecutable()
Phar::copy()
Phar::count()
Phar::createDefaultStub()
Phar::decompress()
Phar::decompressFiles()
Phar::delete()
Phar::delMetadata()
Phar::extractTo()
Phar::getMetaData()
Phar::getModified()
Phar::getSignature()
Phar::getStub()
Phar::getSupportedCompression()
Phar::getSupportedSignatures()
Phar::getVersion()
Phar::hasMetaData()
Phar::interceptFileFuncs()
Phar::isBuffering()
Phar::isCompressed()
Phar::isFileFormat()
Phar::isValidPharFilename()
Phar::isWritable()
Phar::loadPhar()
Phar::mapPhar()
Phar::mount()
Phar::mungServer()
Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()
Phar::running()
Phar::setAlias()
Phar::setDefaultStub()
Phar::setMetadata()
Phar::setSignatureAlgorithm()
Phar::setStub()
Phar::startBuffering()
Phar::stopBuffering()
Phar::uncompressAllFiles()
Phar::unlinkArchive()
Phar::webPhar()
PharData::__construct()
PharData::addEmptyDir()
PharData::addFile()
PharData::addFromString()
PharData::buildFromDirectory()
PharData::buildFromIterator()
PharData::compress()
PharData::compressFiles()
PharData::convertToData()
PharData::convertToExecutable()
PharData::copy()
PharData::decompress()
PharData::decompressFiles()
PharData::delete()
PharData::delMetadata()
PharData::extractTo()
PharData::isWritable()
PharData::offsetSet()
PharData::offsetUnset()
PharData::setAlias()
PharData::setDefaultStub()
PharData::setStub()
pharexception()
PharFileInfo::__construct()
PharFileInfo::chmod()
PharFileInfo::compress()
PharFileInfo::decompress()
PharFileInfo::delMetadata()
PharFileInfo::getCompressedSize()
PharFileInfo::getCRC32()
PharFileInfo::getMetaData()
PharFileInfo::getPharFlags()
PharFileInfo::hasMetadata()
PharFileInfo::isCompressed()
PharFileInfo::isCompressedBZIP2()
PharFileInfo::isCompressedGZ()
PharFileInfo::isCRCChecked()
PharFileInfo::setCompressedBZIP2()
PharFileInfo::setCompressedGZ()
PharFileInfo::setMetaData()
PharFileInfo::setUncompressed()
php_check_syntax()
php_ini_loaded_file()
php_ini_scanned_files()
php_logo_guid()
php_sapi_name()
php_strip_whitespace()
php_uname()
phpcredits()
phpinfo()
phpversion()
pi()
png2wbmp()
popen()
pos()
posix_access()
posix_ctermid()
posix_errno()
posix_get_last_error()
posix_getcwd()
posix_getegid()
posix_geteuid()
posix_getgid()
posix_getgrgid()
posix_getgrnam()
posix_getgroups()
posix_getlogin()
posix_getpgid()
posix_getpgrp()
posix_getpid()
posix_getppid()
posix_getpwnam()
posix_getpwuid()
posix_getrlimit()
posix_getsid()
posix_getuid()
posix_initgroups()
posix_isatty()
posix_kill()
posix_mkfifo()
posix_mknod()
posix_setegid()
posix_seteuid()
posix_setgid()
posix_setpgid()
posix_setsid()
posix_setuid()
posix_strerror()
posix_times()
posix_ttyname()
posix_uname()
pow()
preg_filter()
preg_grep()
preg_last_error()
preg_match()
preg_match_all()
preg_quote()
preg_replace()
preg_replace_callback()
preg_split()
prev()
print()
print_r()
printer_abort()
printer_close()
printer_create_brush()
printer_create_dc()
printer_create_font()
printer_create_pen()
printer_delete_brush()
printer_delete_dc()
printer_delete_font()
printer_delete_pen()
printer_draw_bmp()
printer_draw_chord()
printer_draw_elipse()
printer_draw_line()
printer_draw_pie()
printer_draw_rectangle()
printer_draw_roundrect()
printer_draw_text()
printer_end_doc()
printer_end_page()
printer_get_option()
printer_list()
printer_logical_fontheight()
printer_open()
printer_select_brush()
printer_select_font()
printer_select_pen()
printer_set_option()
printer_start_doc()
printer_start_page()
printer_write()
printf()
proc_close()
proc_get_status()
proc_nice()
proc_open()
proc_terminate()
property_exists()
ps_add_bookmark()
ps_add_launchlink()
ps_add_locallink()
ps_add_note()
ps_add_pdflink()
ps_add_weblink()
ps_arc()
ps_arcn()
ps_begin_page()
ps_begin_pattern()
ps_begin_template()
ps_circle()
ps_clip()
ps_close()
ps_close_image()
ps_closepath()
ps_closepath_stroke()
ps_continue_text()
ps_curveto()
ps_delete()
ps_end_page()
ps_end_pattern()
ps_end_template()
ps_fill()
ps_fill_stroke()
ps_findfont()
ps_get_buffer()
ps_get_parameter()
ps_get_value()
ps_hyphenate()
ps_include_file()
ps_lineto()
ps_makespotcolor()
ps_moveto()
ps_new()
ps_open_file()
ps_open_image()
ps_open_image_file()
ps_open_memory_image()
ps_place_image()
ps_rect()
ps_restore()
ps_rotate()
ps_save()
ps_scale()
ps_set_border_color()
ps_set_border_dash()
ps_set_border_style()
ps_set_info()
ps_set_parameter()
ps_set_text_pos()
ps_set_value()
ps_setcolor()
ps_setdash()
ps_setflat()
ps_setfont()
ps_setgray()
ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()
ps_setoverprintmode()
ps_setpolydash()
ps_shading()
ps_shading_pattern()
ps_shfill()
ps_show()
ps_show2()
ps_show_boxed()
ps_show_xy()
ps_show_xy2()
ps_string_geometry()
ps_stringwidth()
ps_stroke()
ps_symbol()
ps_symbol_name()
ps_symbol_width()
ps_translate()
pspell_add_to_personal()
pspell_add_to_session()
pspell_check()
pspell_clear_session()
pspell_config_create()
pspell_config_data_dir()
pspell_config_dict_dir()
pspell_config_ignore()
pspell_config_mode()
pspell_config_personal()
pspell_config_repl()
pspell_config_runtogether()
pspell_config_save_repl()
pspell_new()
pspell_new_config()
pspell_new_personal()
pspell_save_wordlist()
pspell_store_replacement()
pspell_suggest()
putenv()
px_close()
px_create_fp()
px_date2string()
px_delete()
px_delete_record()
px_get_field()
px_get_info()
px_get_parameter()
px_get_record()
px_get_schema()
px_get_value()
px_insert_record()
px_new()
px_numfields()
px_numrecords()
px_open_fp()
px_put_record()
px_retrieve_record()
px_set_blob_file()
px_set_parameter()
px_set_tablename()
px_set_targetencoding()
px_set_value()
px_timestamp2string()
px_update_record()
Q
qdom_error()
qdom_tree()
quoted_printable_decode()
quoted_printable_encode()
quotemeta()
R
rad2deg()
radius_acct_open()
radius_add_server()
radius_auth_open()
radius_close()
radius_config()
radius_create_request()
radius_cvt_addr()
radius_cvt_int()
radius_cvt_string()
radius_demangle()
radius_demangle_mppe_key()
radius_get_attr()
radius_get_vendor_attr()
radius_put_addr()
radius_put_attr()
radius_put_int()
radius_put_string()
radius_put_vendor_addr()
radius_put_vendor_attr()
radius_put_vendor_int()
radius_put_vendor_string()
radius_request_authenticator()
radius_send_request()
radius_server_secret()
radius_strerror()
rand()
range()
rar_broken_is()
rar_close()
rar_comment_get()
rar_entry_get()
rar_list()
rar_open()
rar_solid_is()
rar_wrapper_cache_stats()
RarArchive::__toString()
RarArchive::close()
RarArchive::getComment()
RarArchive::getEntries()
RarArchive::getEntry()
RarArchive::isBroken()
RarArchive::isSolid()
RarArchive::open()
RarArchive::setAllowBroken()
RarEntry::__toString()
RarEntry::extract()
RarEntry::getAttr()
RarEntry::getCrc()
RarEntry::getFileTime()
RarEntry::getHostOs()
RarEntry::getMethod()
RarEntry::getName()
RarEntry::getPackedSize()
RarEntry::getStream()
RarEntry::getUnpackedSize()
RarEntry::getVersion()
RarEntry::isDirectory()
RarEntry::isEncrypted()
RarException::isUsingExceptions()
RarException::setUsingExceptions()
rawurldecode()
rawurlencode()
read_exif_data()
readdir()
readfile()
readgzfile()
readline()
readline_add_history()
readline_callback_handler_install()
readline_callback_handler_remove()
readline_callback_read_char()
readline_clear_history()
readline_completion_function()
readline_info()
readline_list_history()
readline_on_new_line()
readline_read_history()
readline_redisplay()
readline_write_history()
readlink()
realpath()
realpath_cache_get()
realpath_cache_size()
recode()
recode_file()
recode_string()
RecursiveArrayIterator::getChildren()
RecursiveArrayIterator::hasChildren()
RecursiveCachingIterator::__construct()
RecursiveCachingIterator::getChildren()
RecursiveCachingIterator::hasChildren()
RecursiveDirectoryIterator::__construct()
RecursiveDirectoryIterator::getChildren()
RecursiveDirectoryIterator::getSubPath()
RecursiveDirectoryIterator::getSubPathname()
RecursiveDirectoryIterator::hasChildren()
RecursiveDirectoryIterator::key()
RecursiveDirectoryIterator::next()
RecursiveDirectoryIterator::rewind()
RecursiveFilterIterator::__construct()
RecursiveFilterIterator::getChildren()
RecursiveFilterIterator::hasChildren()
RecursiveIterator::getChildren()
RecursiveIterator::hasChildren()
RecursiveIteratorIterator::__construct()
RecursiveIteratorIterator::beginChildren()
RecursiveIteratorIterator::beginIteration()
RecursiveIteratorIterator::callGetChildren()
RecursiveIteratorIterator::callHasChildren()
RecursiveIteratorIterator::current()
RecursiveIteratorIterator::endChildren()
RecursiveIteratorIterator::endIteration()
RecursiveIteratorIterator::getDepth()
RecursiveIteratorIterator::getInnerIterator()
RecursiveIteratorIterator::getMaxDepth()
RecursiveIteratorIterator::getSubIterator()
RecursiveIteratorIterator::key()
RecursiveIteratorIterator::next()
RecursiveIteratorIterator::nextElement()
RecursiveIteratorIterator::rewind()
RecursiveIteratorIterator::setMaxDepth()
RecursiveIteratorIterator::valid()
RecursiveRegexIterator::__construct()
RecursiveRegexIterator::getChildren()
RecursiveRegexIterator::hasChildren()
RecursiveTreeIterator::__construct()
RecursiveTreeIterator::beginChildren()
RecursiveTreeIterator::beginIteration()
RecursiveTreeIterator::callGetChildren()
RecursiveTreeIterator::callHasChildren()
RecursiveTreeIterator::current()
RecursiveTreeIterator::endChildren()
RecursiveTreeIterator::endIteration()
RecursiveTreeIterator::getEntry()
RecursiveTreeIterator::getPostfix()
RecursiveTreeIterator::getPrefix()
RecursiveTreeIterator::key()
RecursiveTreeIterator::next()
RecursiveTreeIterator::nextElement()
RecursiveTreeIterator::rewind()
RecursiveTreeIterator::setPrefixPart()
RecursiveTreeIterator::valid()
Reflection::export()
Reflection::getModifierNames()
ReflectionClass::__clone()
ReflectionClass::__construct()
ReflectionClass::__toString()
ReflectionClass::export()
ReflectionClass::getConstant()
ReflectionClass::getConstants()
ReflectionClass::getConstructor()
ReflectionClass::getDefaultProperties()
ReflectionClass::getDocComment()
ReflectionClass::getEndLine()
ReflectionClass::getExtension()
ReflectionClass::getExtensionName()
ReflectionClass::getFileName()
ReflectionClass::getInterfaceNames()
ReflectionClass::getInterfaces()
ReflectionClass::getMethod()
ReflectionClass::getMethods()
ReflectionClass::getModifiers()
ReflectionClass::getName()
ReflectionClass::getNamespaceName()
ReflectionClass::getParentClass()
ReflectionClass::getProperties()
ReflectionClass::getProperty()
ReflectionClass::getShortName()
ReflectionClass::getStartLine()
ReflectionClass::getStaticProperties()
ReflectionClass::getStaticPropertyValue()
ReflectionClass::hasConstant()
ReflectionClass::hasMethod()
ReflectionClass::hasProperty()
ReflectionClass::implementsInterface()
ReflectionClass::inNamespace()
ReflectionClass::isAbstract()
ReflectionClass::isFinal()
ReflectionClass::isInstance()
ReflectionClass::isInstantiable()
ReflectionClass::isInterface()
ReflectionClass::isInternal()
ReflectionClass::isIterateable()
ReflectionClass::isSubclassOf()
ReflectionClass::isUserDefined()
ReflectionClass::newInstance()
ReflectionClass::newInstanceArgs()
ReflectionClass::setStaticPropertyValue()
ReflectionExtension::__clone()
ReflectionExtension::__construct()
ReflectionExtension::__toString()
ReflectionExtension::export()
ReflectionExtension::getClasses()
ReflectionExtension::getClassNames()
ReflectionExtension::getConstants()
ReflectionExtension::getDependencies()
ReflectionExtension::getFunctions()
ReflectionExtension::getINIEntries()
ReflectionExtension::getName()
ReflectionExtension::getVersion()
ReflectionExtension::info()
ReflectionFunction::__construct()
ReflectionFunction::__toString()
ReflectionFunction::export()
ReflectionFunction::invoke()
ReflectionFunction::invokeArgs()
ReflectionFunction::isDisabled()
ReflectionFunctionAbstract::__clone()
ReflectionFunctionAbstract::__toString()
ReflectionFunctionAbstract::getDocComment()
ReflectionFunctionAbstract::getEndLine()
ReflectionFunctionAbstract::getExtension()
ReflectionFunctionAbstract::getExtensionName()
ReflectionFunctionAbstract::getFileName()
ReflectionFunctionAbstract::getName()
ReflectionFunctionAbstract::getNamespaceName()
ReflectionFunctionAbstract::getNumberOfParameters()
ReflectionFunctionAbstract::getNumberOfRequiredParameters()
ReflectionFunctionAbstract::getParameters()
ReflectionFunctionAbstract::getShortName()
ReflectionFunctionAbstract::getStartLine()
ReflectionFunctionAbstract::getStaticVariables()
ReflectionFunctionAbstract::inNamespace()
ReflectionFunctionAbstract::isClosure()
ReflectionFunctionAbstract::isDeprecated()
ReflectionFunctionAbstract::isInternal()
ReflectionFunctionAbstract::isUserDefined()
ReflectionFunctionAbstract::returnsReference()
ReflectionMethod::__construct()
ReflectionMethod::__toString()
ReflectionMethod::export()
ReflectionMethod::getDeclaringClass()
ReflectionMethod::getModifiers()
ReflectionMethod::getPrototype()
ReflectionMethod::invoke()
ReflectionMethod::invokeArgs()
ReflectionMethod::isAbstract()
ReflectionMethod::isConstructor()
ReflectionMethod::isDestructor()
ReflectionMethod::isFinal()
ReflectionMethod::isPrivate()
ReflectionMethod::isProtected()
ReflectionMethod::isPublic()
ReflectionMethod::isStatic()
ReflectionMethod::setAccessible()
ReflectionObject::__construct()
ReflectionObject::export()
ReflectionParameter::__clone()
ReflectionParameter::__construct()
ReflectionParameter::__toString()
ReflectionParameter::allowsNull()
ReflectionParameter::export()
ReflectionParameter::getClass()
ReflectionParameter::getDeclaringClass()
ReflectionParameter::getDeclaringFunction()
ReflectionParameter::getDefaultValue()
ReflectionParameter::getName()
ReflectionParameter::getPosition()
ReflectionParameter::isArray()
ReflectionParameter::isDefaultValueAvailable()
ReflectionParameter::isOptional()
ReflectionParameter::isPassedByReference()
ReflectionProperty::__clone()
ReflectionProperty::__construct()
ReflectionProperty::__toString()
ReflectionProperty::export()
ReflectionProperty::getDeclaringClass()
ReflectionProperty::getDocComment()
ReflectionProperty::getModifiers()
ReflectionProperty::getName()
ReflectionProperty::getValue()
ReflectionProperty::isDefault()
ReflectionProperty::isPrivate()
ReflectionProperty::isProtected()
ReflectionProperty::isPublic()
ReflectionProperty::isStatic()
ReflectionProperty::setAccessible()
ReflectionProperty::setValue()
Reflector::__toString()
Reflector::export()
RegexIterator::__construct()
RegexIterator::accept()
RegexIterator::getFlags()
RegexIterator::getMode()
RegexIterator::getPregFlags()
RegexIterator::setFlags()
RegexIterator::setMode()
RegexIterator::setPregFlags()
register_shutdown_function()
register_tick_function()
rename()
rename_function()
reset()
ResourceBundle::__construct()
ResourceBundle::count()
ResourceBundle::create()
ResourceBundle::get()
ResourceBundle::getErrorCode()
ResourceBundle::getErrorMessage()
ResourceBundle::getLocales()
resourcebundle_count()
resourcebundle_create()
resourcebundle_get()
resourcebundle_get_error_code()
resourcebundle_get_error_message()
resourcebundle_locales()
restore_error_handler()
restore_exception_handler()
restore_include_path()
rewind()
rewinddir()
rmdir()
round()
rpm_close()
rpm_get_tag()
rpm_is_valid()
rpm_open()
rpm_version()
rrd_create()
rrd_error()
rrd_fetch()
rrd_first()
rrd_graph()
rrd_info()
rrd_last()
rrd_lastupdate()
rrd_restore()
rrd_tune()
rrd_update()
rrd_xport()
RRDCreator::__construct()
RRDCreator::addArchive()
RRDCreator::addDataSource()
RRDCreator::save()
RRDGraph::__construct()
RRDGraph::save()
RRDGraph::saveVerbose()
RRDGraph::setOptions()
RRDUpdater::__construct()
RRDUpdater::update()
rsort()
rtrim()
runkit_class_adopt()
runkit_class_emancipate()
runkit_constant_add()
runkit_constant_redefine()
runkit_constant_remove()
runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_remove()
runkit_function_rename()
runkit_import()
runkit_lint()
runkit_lint_file()
runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_return_value_used()
runkit_sandbox()
runkit_sandbox_output_handler()
runkit_sandbox_parent()
runkit_superglobals()
S
SAMConnection::__construct()
SAMConnection::commit()
SAMConnection::connect()
SAMConnection::disconnect()
SAMConnection::errno()
SAMConnection::error()
SAMConnection::isConnected()
SAMConnection::peek()
SAMConnection::peekAll()
SAMConnection::receive()
SAMConnection::remove()
SAMConnection::rollback()
SAMConnection::send()
SAMConnection::setDebug()
SAMConnection::subscribe()
SAMConnection::unsubscribe()
SAMMessage::__construct()
SAMMessage::body()
SAMMessage::header()
SCA::createDataObject()
SCA::getService()
SCA_LocalProxy::createDataObject()
SCA_SoapProxy::createDataObject()
scandir()
SDO_DAS_ChangeSummary::beginLogging()
SDO_DAS_ChangeSummary::endLogging()
SDO_DAS_ChangeSummary::getChangedDataObjects()
SDO_DAS_ChangeSummary::getChangeType()
SDO_DAS_ChangeSummary::getOldContainer()
SDO_DAS_ChangeSummary::getOldValues()
SDO_DAS_ChangeSummary::isLogging()
SDO_DAS_DataFactory::addPropertyToType()
SDO_DAS_DataFactory::addType()
SDO_DAS_DataFactory::getDataFactory()
SDO_DAS_DataObject::getChangeSummary()
SDO_DAS_Relational::__construct()
SDO_DAS_Relational::applyChanges()
SDO_DAS_Relational::createRootDataObject()
SDO_DAS_Relational::executePreparedQuery()
SDO_DAS_Relational::executeQuery()
SDO_DAS_Setting::getListIndex()
SDO_DAS_Setting::getPropertyIndex()
SDO_DAS_Setting::getPropertyName()
SDO_DAS_Setting::getValue()
SDO_DAS_Setting::isSet()
SDO_DAS_XML::addTypes()
SDO_DAS_XML::create()
SDO_DAS_XML::createDataObject()
SDO_DAS_XML::createDocument()
SDO_DAS_XML::loadFile()
SDO_DAS_XML::loadString()
SDO_DAS_XML::saveFile()
SDO_DAS_XML::saveString()
SDO_DAS_XML_Document::getRootDataObject()
SDO_DAS_XML_Document::getRootElementName()
SDO_DAS_XML_Document::getRootElementURI()
SDO_DAS_XML_Document::setEncoding()
SDO_DAS_XML_Document::setXMLDeclaration()
SDO_DAS_XML_Document::setXMLVersion()
SDO_DataFactory::create()
SDO_DataObject::clear()
SDO_DataObject::createDataObject()
SDO_DataObject::getContainer()
SDO_DataObject::getSequence()
SDO_DataObject::getTypeName()
SDO_DataObject::getTypeNamespaceURI()
SDO_Exception::getCause()
SDO_List::insert()
SDO_Model_Property::getContainingType()
SDO_Model_Property::getDefault()
SDO_Model_Property::getName()
SDO_Model_Property::getType()
SDO_Model_Property::isContainment()
SDO_Model_Property::isMany()
SDO_Model_ReflectionDataObject::__construct()
SDO_Model_ReflectionDataObject::export()
SDO_Model_ReflectionDataObject::getContainmentProperty()
SDO_Model_ReflectionDataObject::getInstanceProperties()
SDO_Model_ReflectionDataObject::getType()
SDO_Model_Type::getBaseType()
SDO_Model_Type::getName()
SDO_Model_Type::getNamespaceURI()
SDO_Model_Type::getProperties()
SDO_Model_Type::getProperty()
SDO_Model_Type::isAbstractType()
SDO_Model_Type::isDataType()
SDO_Model_Type::isInstance()
SDO_Model_Type::isOpenType()
SDO_Model_Type::isSequencedType()
SDO_Sequence::getProperty()
SDO_Sequence::insert()
SDO_Sequence::move()
SeekableIterator::seek()
sem_acquire()
sem_get()
sem_release()
sem_remove()
serialize()
session_cache_expire()
session_cache_limiter()
session_commit()
session_decode()
session_destroy()
session_encode()
session_get_cookie_params()
session_id()
session_is_registered()
session_module_name()
session_name()
session_pgsql_add_error()
session_pgsql_get_error()
session_pgsql_get_field()
session_pgsql_reset()
session_pgsql_set_field()
session_pgsql_status()
session_regenerate_id()
session_register()
session_save_path()
session_set_cookie_params()
session_set_save_handler()
session_start()
session_unregister()
session_unset()
session_write_close()
set_error_handler()
set_exception_handler()
set_file_buffer()
set_include_path()
set_magic_quotes_runtime()
set_socket_blocking()
set_time_limit()
setcookie()
setlocale()
setproctitle()
setrawcookie()
setthreadtitle()
settype()
sha1()
sha1_file()
shell_exec()
shm_attach()
shm_detach()
shm_get_var()
shm_has_var()
shm_put_var()
shm_remove()
shm_remove_var()
shmop_close()
shmop_delete()
shmop_open()
shmop_read()
shmop_size()
shmop_write()
show_source()
shuffle()
signeurlpaiement()
similar_text()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
SimpleXMLElement::__construct()
SimpleXMLElement::addAttribute()
SimpleXMLElement::addChild()
SimpleXMLElement::asXML()
SimpleXMLElement::attributes()
SimpleXMLElement::children()
SimpleXMLElement::count()
SimpleXMLElement::getDocNamespaces()
SimpleXMLElement::getName()
SimpleXMLElement::getNamespaces()
SimpleXMLElement::registerXPathNamespace()
SimpleXMLElement::saveXML()
SimpleXMLElement::xpath()
SimpleXMLIterator::current()
SimpleXMLIterator::getChildren()
SimpleXMLIterator::hasChildren()
SimpleXMLIterator::key()
SimpleXMLIterator::next()
SimpleXMLIterator::rewind()
SimpleXMLIterator::valid()
sin()
sinh()
sizeof()
sleep()
snmp2_get()
snmp2_getnext()
snmp2_real_walk()
snmp2_set()
snmp2_walk()
snmp3_get()
snmp3_getnext()
snmp3_real_walk()
snmp3_set()
snmp3_walk()
snmp_get_quick_print()
snmp_get_valueretrieval()
snmp_read_mib()
snmp_set_enum_print()
snmp_set_oid_numeric_print()
snmp_set_oid_output_format()
snmp_set_quick_print()
snmp_set_valueretrieval()
snmpget()
snmpgetnext()
snmprealwalk()
snmpset()
snmpwalk()
snmpwalkoid()
SoapClient::__call()
SoapClient::__construct()
SoapClient::__doRequest()
SoapClient::__getFunctions()
SoapClient::__getLastRequest()
SoapClient::__getLastRequestHeaders()
SoapClient::__getLastResponse()
SoapClient::__getLastResponseHeaders()
SoapClient::__getTypes()
SoapClient::__setCookie()
SoapClient::__setLocation()
SoapClient::__setSoapHeaders()
SoapClient::__soapCall()
SoapClient::SoapClient()
SoapFault::__construct()
SoapFault::__toString()
SoapFault::SoapFault()
SoapHeader::__construct()
SoapHeader::SoapHeader()
SoapParam::__construct()
SoapParam::SoapParam()
SoapServer::__construct()
SoapServer::addFunction()
SoapServer::addSoapHeader()
SoapServer::fault()
SoapServer::getFunctions()
SoapServer::handle()
SoapServer::setClass()
SoapServer::setObject()
SoapServer::setPersistence()
SoapServer::SoapServer()
SoapVar::__construct()
SoapVar::SoapVar()
socket_accept()
socket_bind()
socket_clear_error()
socket_close()
socket_connect()
socket_create()
socket_create_listen()
socket_create_pair()
socket_get_option()
socket_get_status()
socket_getpeername()
socket_getsockname()
socket_last_error()
socket_listen()
socket_read()
socket_recv()
socket_recvfrom()
socket_select()
socket_send()
socket_sendto()
socket_set_block()
socket_set_blocking()
socket_set_nonblock()
socket_set_option()
socket_set_timeout()
socket_shutdown()
socket_strerror()
socket_write()
solr_get_version()
SolrClient::__construct()
SolrClient::__destruct()
SolrClient::addDocument()
SolrClient::addDocuments()
SolrClient::commit()
SolrClient::deleteById()
SolrClient::deleteByIds()
SolrClient::deleteByQueries()
SolrClient::deleteByQuery()
SolrClient::getDebug()
SolrClient::getOptions()
SolrClient::optimize()
SolrClient::ping()
SolrClient::query()
SolrClient::request()
SolrClient::rollback()
SolrClient::setResponseWriter()
SolrClient::setServlet()
SolrClient::threads()
SolrClientException::getInternalInfo()
SolrDocument::__clone()
SolrDocument::__construct()
SolrDocument::__destruct()
SolrDocument::__get()
SolrDocument::__isset()
SolrDocument::__set()
SolrDocument::__unset()
SolrDocument::addField()
SolrDocument::clear()
SolrDocument::current()
SolrDocument::deleteField()
SolrDocument::fieldExists()
SolrDocument::getField()
SolrDocument::getFieldCount()
SolrDocument::getFieldNames()
SolrDocument::getInputDocument()
SolrDocument::key()
SolrDocument::merge()
SolrDocument::next()
SolrDocument::offsetExists()
SolrDocument::offsetGet()
SolrDocument::offsetSet()
SolrDocument::offsetUnset()
SolrDocument::reset()
SolrDocument::rewind()
SolrDocument::serialize()
SolrDocument::sort()
SolrDocument::toArray()
SolrDocument::unserialize()
SolrDocument::valid()
SolrDocumentField::__construct()
SolrDocumentField::__destruct()
SolrException::getInternalInfo()
SolrGenericResponse::__construct()
SolrGenericResponse::__destruct()
SolrIllegalArgumentException::getInternalInfo()
SolrIllegalOperationException::getInternalInfo()
SolrInputDocument::__clone()
SolrInputDocument::__construct()
SolrInputDocument::__destruct()
SolrInputDocument::addField()
SolrInputDocument::clear()
SolrInputDocument::deleteField()
SolrInputDocument::fieldExists()
SolrInputDocument::getBoost()
SolrInputDocument::getField()
SolrInputDocument::getFieldBoost()
SolrInputDocument::getFieldCount()
SolrInputDocument::getFieldNames()
SolrInputDocument::merge()
SolrInputDocument::reset()
SolrInputDocument::setBoost()
SolrInputDocument::setFieldBoost()
SolrInputDocument::sort()
SolrInputDocument::toArray()
SolrModifiableParams::__construct()
SolrModifiableParams::__destruct()
SolrObject::__construct()
SolrObject::__destruct()
SolrObject::getPropertyNames()
SolrObject::offsetExists()
SolrObject::offsetGet()
SolrObject::offsetSet()
SolrObject::offsetUnset()
SolrParams::add()
SolrParams::addParam()
SolrParams::get()
SolrParams::getParam()
SolrParams::getParams()
SolrParams::getPreparedParams()
SolrParams::serialize()
SolrParams::set()
SolrParams::setParam()
SolrParams::toString()
SolrParams::unserialize()
SolrPingResponse::__construct()
SolrPingResponse::__destruct()
SolrPingResponse::getResponse()
SolrQuery::__construct()
SolrQuery::__destruct()
SolrQuery::addFacetDateField()
SolrQuery::addFacetDateOther()
SolrQuery::addFacetField()
SolrQuery::addFacetQuery()
SolrQuery::addField()
SolrQuery::addFilterQuery()
SolrQuery::addHighlightField()
SolrQuery::addMltField()
SolrQuery::addMltQueryField()
SolrQuery::addSortField()
SolrQuery::addStatsFacet()
SolrQuery::addStatsField()
SolrQuery::getFacet()
SolrQuery::getFacetDateEnd()
SolrQuery::getFacetDateFields()
SolrQuery::getFacetDateGap()
SolrQuery::getFacetDateHardEnd()
SolrQuery::getFacetDateOther()
SolrQuery::getFacetDateStart()
SolrQuery::getFacetFields()
SolrQuery::getFacetLimit()
SolrQuery::getFacetMethod()
SolrQuery::getFacetMinCount()
SolrQuery::getFacetMissing()
SolrQuery::getFacetOffset()
SolrQuery::getFacetPrefix()
SolrQuery::getFacetQueries()
SolrQuery::getFacetSort()
SolrQuery::getFields()
SolrQuery::getFilterQueries()
SolrQuery::getHighlight()
SolrQuery::getHighlightAlternateField()
SolrQuery::getHighlightFields()
SolrQuery::getHighlightFormatter()
SolrQuery::getHighlightFragmenter()
SolrQuery::getHighlightFragsize()
SolrQuery::getHighlightHighlightMultiTerm()
SolrQuery::getHighlightMaxAlternateFieldLength()
SolrQuery::getHighlightMaxAnalyzedChars()
SolrQuery::getHighlightMergeContiguous()
SolrQuery::getHighlightRegexMaxAnalyzedChars()
SolrQuery::getHighlightRegexPattern()
SolrQuery::getHighlightRegexSlop()
SolrQuery::getHighlightRequireFieldMatch()
SolrQuery::getHighlightSimplePost()
SolrQuery::getHighlightSimplePre()
SolrQuery::getHighlightSnippets()
SolrQuery::getHighlightUsePhraseHighlighter()
SolrQuery::getMlt()
SolrQuery::getMltBoost()
SolrQuery::getMltCount()
SolrQuery::getMltFields()
SolrQuery::getMltMaxNumQueryTerms()
SolrQuery::getMltMaxNumTokens()
SolrQuery::getMltMaxWordLength()
SolrQuery::getMltMinDocFrequency()
SolrQuery::getMltMinTermFrequency()
SolrQuery::getMltMinWordLength()
SolrQuery::getMltQueryFields()
SolrQuery::getQuery()
SolrQuery::getRows()
SolrQuery::getSortFields()
SolrQuery::getStart()
SolrQuery::getStats()
SolrQuery::getStatsFacets()
SolrQuery::getStatsFields()
SolrQuery::getTerms()
SolrQuery::getTermsField()
SolrQuery::getTermsIncludeLowerBound()
SolrQuery::getTermsIncludeUpperBound()
SolrQuery::getTermsLimit()
SolrQuery::getTermsLowerBound()
SolrQuery::getTermsMaxCount()
SolrQuery::getTermsMinCount()
SolrQuery::getTermsPrefix()
SolrQuery::getTermsReturnRaw()
SolrQuery::getTermsSort()
SolrQuery::getTermsUpperBound()
SolrQuery::getTimeAllowed()
SolrQuery::removeFacetDateField()
SolrQuery::removeFacetDateOther()
SolrQuery::removeFacetField()
SolrQuery::removeFacetQuery()
SolrQuery::removeField()
SolrQuery::removeFilterQuery()
SolrQuery::removeHighlightField()
SolrQuery::removeMltField()
SolrQuery::removeMltQueryField()
SolrQuery::removeSortField()
SolrQuery::removeStatsFacet()
SolrQuery::removeStatsField()
SolrQuery::setEchoHandler()
SolrQuery::setEchoParams()
SolrQuery::setExplainOther()
SolrQuery::setFacet()
SolrQuery::setFacetDateEnd()
SolrQuery::setFacetDateGap()
SolrQuery::setFacetDateHardEnd()
SolrQuery::setFacetDateStart()
SolrQuery::setFacetEnumCacheMinDefaultFrequency()
SolrQuery::setFacetLimit()
SolrQuery::setFacetMethod()
SolrQuery::setFacetMinCount()
SolrQuery::setFacetMissing()
SolrQuery::setFacetOffset()
SolrQuery::setFacetPrefix()
SolrQuery::setFacetSort()
SolrQuery::setHighlight()
SolrQuery::setHighlightAlternateField()
SolrQuery::setHighlightFormatter()
SolrQuery::setHighlightFragmenter()
SolrQuery::setHighlightFragsize()
SolrQuery::setHighlightHighlightMultiTerm()
SolrQuery::setHighlightMaxAlternateFieldLength()
SolrQuery::setHighlightMaxAnalyzedChars()
SolrQuery::setHighlightMergeContiguous()
SolrQuery::setHighlightRegexMaxAnalyzedChars()
SolrQuery::setHighlightRegexPattern()
SolrQuery::setHighlightRegexSlop()
SolrQuery::setHighlightRequireFieldMatch()
SolrQuery::setHighlightSimplePost()
SolrQuery::setHighlightSimplePre()
SolrQuery::setHighlightSnippets()
SolrQuery::setHighlightUsePhraseHighlighter()
SolrQuery::setMlt()
SolrQuery::setMltBoost()
SolrQuery::setMltCount()
SolrQuery::setMltMaxNumQueryTerms()
SolrQuery::setMltMaxNumTokens()
SolrQuery::setMltMaxWordLength()
SolrQuery::setMltMinDocFrequency()
SolrQuery::setMltMinTermFrequency()
SolrQuery::setMltMinWordLength()
SolrQuery::setOmitHeader()
SolrQuery::setQuery()
SolrQuery::setRows()
SolrQuery::setShowDebugInfo()
SolrQuery::setStart()
SolrQuery::setStats()
SolrQuery::setTerms()
SolrQuery::setTermsField()
SolrQuery::setTermsIncludeLowerBound()
SolrQuery::setTermsIncludeUpperBound()
SolrQuery::setTermsLimit()
SolrQuery::setTermsLowerBound()
SolrQuery::setTermsMaxCount()
SolrQuery::setTermsMinCount()
SolrQuery::setTermsPrefix()
SolrQuery::setTermsReturnRaw()
SolrQuery::setTermsSort()
SolrQuery::setTermsUpperBound()
SolrQuery::setTimeAllowed()
SolrQueryResponse::__construct()
SolrQueryResponse::__destruct()
SolrResponse::getDigestedResponse()
SolrResponse::getHttpStatus()
SolrResponse::getHttpStatusMessage()
SolrResponse::getRawRequest()
SolrResponse::getRawRequestHeaders()
SolrResponse::getRawResponse()
SolrResponse::getRawResponseHeaders()
SolrResponse::getRequestUrl()
SolrResponse::getResponse()
SolrResponse::setParseMode()
SolrResponse::success()
SolrUpdateResponse::__construct()
SolrUpdateResponse::__destruct()
SolrUtils::digestXmlResponse()
SolrUtils::escapeQueryChars()
SolrUtils::getSolrVersion()
SolrUtils::queryPhrase()
sort()
soundex()
SphinxClient::__construct()
SphinxClient::addQuery()
SphinxClient::buildExcerpts()
SphinxClient::buildKeywords()
SphinxClient::close()
SphinxClient::escapeString()
SphinxClient::getLastError()
SphinxClient::getLastWarning()
SphinxClient::open()
SphinxClient::query()
SphinxClient::resetFilters()
SphinxClient::resetGroupBy()
SphinxClient::runQueries()
SphinxClient::setArrayResult()
SphinxClient::setConnectTimeout()
SphinxClient::setFieldWeights()
SphinxClient::setFilter()
SphinxClient::setFilterFloatRange()
SphinxClient::setFilterRange()
SphinxClient::setGeoAnchor()
SphinxClient::setGroupBy()
SphinxClient::setGroupDistinct()
SphinxClient::setIDRange()
SphinxClient::setIndexWeights()
SphinxClient::setLimits()
SphinxClient::setMatchMode()
SphinxClient::setMaxQueryTime()
SphinxClient::setOverride()
SphinxClient::setRankingMode()
SphinxClient::setRetries()
SphinxClient::setSelect()
SphinxClient::setServer()
SphinxClient::setSortMode()
SphinxClient::status()
SphinxClient::updateAttributes()
spl_autoload()
spl_autoload_call()
spl_autoload_extensions()
spl_autoload_functions()
spl_autoload_register()
spl_autoload_unregister()
spl_classes()
spl_object_hash()
SplBool::__construct()
SplDoublyLinkedList::__construct()
SplDoublyLinkedList::bottom()
SplDoublyLinkedList::count()
SplDoublyLinkedList::current()
SplDoublyLinkedList::getIteratorMode()
SplDoublyLinkedList::isEmpty()
SplDoublyLinkedList::key()
SplDoublyLinkedList::next()
SplDoublyLinkedList::offsetExists()
SplDoublyLinkedList::offsetGet()
SplDoublyLinkedList::offsetSet()
SplDoublyLinkedList::offsetUnset()
SplDoublyLinkedList::pop()
SplDoublyLinkedList::prev()
SplDoublyLinkedList::push()
SplDoublyLinkedList::rewind()
SplDoublyLinkedList::setIteratorMode()
SplDoublyLinkedList::shift()
SplDoublyLinkedList::top()
SplDoublyLinkedList::unshift()
SplDoublyLinkedList::valid()
SplEnum::__construct()
SplFileInfo::__construct()
SplFileInfo::__toString()
SplFileInfo::getATime()
SplFileInfo::getBasename()
SplFileInfo::getCTime()
SplFileInfo::getExtension()
SplFileInfo::getFileInfo()
SplFileInfo::getFilename()
SplFileInfo::getGroup()
SplFileInfo::getInode()
SplFileInfo::getLinkTarget()
SplFileInfo::getMTime()
SplFileInfo::getOwner()
SplFileInfo::getPath()
SplFileInfo::getPathInfo()
SplFileInfo::getPathname()
SplFileInfo::getPerms()
SplFileInfo::getRealPath()
SplFileInfo::getSize()
SplFileInfo::getType()
SplFileInfo::isDir()
SplFileInfo::isExecutable()
SplFileInfo::isFile()
SplFileInfo::isLink()
SplFileInfo::isReadable()
SplFileInfo::isWritable()
SplFileInfo::openFile()
SplFileInfo::setFileClass()
SplFileInfo::setInfoClass()
SplFileObject::__construct()
SplFileObject::__toString()
SplFileObject::current()
SplFileObject::eof()
SplFileObject::fflush()
SplFileObject::fgetc()
SplFileObject::fgetcsv()
SplFileObject::fgets()
SplFileObject::fgetss()
SplFileObject::flock()
SplFileObject::fpassthru()
SplFileObject::fscanf()
SplFileObject::fseek()
SplFileObject::fstat()
SplFileObject::ftell()
SplFileObject::ftruncate()
SplFileObject::fwrite()
SplFileObject::getChildren()
SplFileObject::getCsvControl()
SplFileObject::getCurrentLine()
SplFileObject::getFlags()
SplFileObject::getMaxLineLen()
SplFileObject::hasChildren()
SplFileObject::key()
SplFileObject::next()
SplFileObject::rewind()
SplFileObject::seek()
SplFileObject::setCsvControl()
SplFileObject::setFlags()
SplFileObject::setMaxLineLen()
SplFileObject::valid()
SplFixedArray::__construct()
SplFixedArray::count()
SplFixedArray::current()
SplFixedArray::fromArray()
SplFixedArray::getSize()
SplFixedArray::key()
SplFixedArray::next()
SplFixedArray::offsetExists()
SplFixedArray::offsetGet()
SplFixedArray::offsetSet()
SplFixedArray::offsetUnset()
SplFixedArray::rewind()
SplFixedArray::setSize()
SplFixedArray::toArray()
SplFixedArray::valid()
SplFloat::__construct()
SplHeap::__construct()
SplHeap::compare()
SplHeap::count()
SplHeap::current()
SplHeap::extract()
SplHeap::insert()
SplHeap::isEmpty()
SplHeap::key()
SplHeap::next()
SplHeap::recoverFromCorruption()
SplHeap::rewind()
SplHeap::top()
SplHeap::valid()
SplInt::__construct()
split()
spliti()
SplMaxHeap::compare()
SplMinHeap::compare()
SplObjectStorage::addAll()
SplObjectStorage::attach()
SplObjectStorage::contains()
SplObjectStorage::count()
SplObjectStorage::current()
SplObjectStorage::detach()
SplObjectStorage::getInfo()
SplObjectStorage::key()
SplObjectStorage::next()
SplObjectStorage::offsetExists()
SplObjectStorage::offsetGet()
SplObjectStorage::offsetSet()
SplObjectStorage::offsetUnset()
SplObjectStorage::removeAll()
SplObjectStorage::removeAllExcept()
SplObjectStorage::rewind()
SplObjectStorage::serialize()
SplObjectStorage::setInfo()
SplObjectStorage::unserialize()
SplObjectStorage::valid()
SplObserver::update()
SplPriorityQueue::__construct()
SplPriorityQueue::compare()
SplPriorityQueue::count()
SplPriorityQueue::current()
SplPriorityQueue::extract()
SplPriorityQueue::insert()
SplPriorityQueue::isEmpty()
SplPriorityQueue::key()
SplPriorityQueue::next()
SplPriorityQueue::recoverFromCorruption()
SplPriorityQueue::rewind()
SplPriorityQueue::setExtractFlags()
SplPriorityQueue::top()
SplPriorityQueue::valid()
SplQueue::__construct()
SplQueue::dequeue()
SplQueue::enqueue()
SplQueue::setIteratorMode()
SplStack::__construct()
SplStack::setIteratorMode()
SplString::__construct()
SplSubject::attach()
SplSubject::detach()
SplSubject::notify()
SplTempFileObject::__construct()
sprintf()
sql_regcase()
SQLite3::__construct()
SQLite3::busyTimeout()
SQLite3::changes()
SQLite3::close()
SQLite3::createAggregate()
SQLite3::createFunction()
SQLite3::escapeString()
SQLite3::exec()
SQLite3::lastErrorCode()
SQLite3::lastErrorMsg()
SQLite3::lastInsertRowID()
SQLite3::loadExtension()
SQLite3::open()
SQLite3::prepare()
SQLite3::query()
SQLite3::querySingle()
SQLite3::version()
SQLite3Result::columnName()
SQLite3Result::columnType()
SQLite3Result::fetchArray()
SQLite3Result::finalize()
SQLite3Result::numColumns()
SQLite3Result::reset()
SQLite3Stmt::bindParam()
SQLite3Stmt::bindValue()
SQLite3Stmt::clear()
SQLite3Stmt::close()
SQLite3Stmt::execute()
SQLite3Stmt::paramCount()
SQLite3Stmt::reset()
sqlite_array_query()
sqlite_busy_timeout()
sqlite_changes()
sqlite_close()
sqlite_column()
sqlite_create_aggregate()
sqlite_create_function()
sqlite_current()
sqlite_error_string()
sqlite_escape_string()
sqlite_exec()
sqlite_factory()
sqlite_fetch_all()
sqlite_fetch_array()
sqlite_fetch_column_types()
sqlite_fetch_object()
sqlite_fetch_single()
sqlite_fetch_string()
sqlite_field_name()
sqlite_has_more()
sqlite_has_prev()
sqlite_key()
sqlite_last_error()
sqlite_last_insert_rowid()
sqlite_libencoding()
sqlite_libversion()
sqlite_next()
sqlite_num_fields()
sqlite_num_rows()
sqlite_open()
sqlite_popen()
sqlite_prev()
sqlite_query()
sqlite_rewind()
sqlite_seek()
sqlite_single_query()
sqlite_udf_decode_binary()
sqlite_udf_encode_binary()
sqlite_unbuffered_query()
sqlite_valid()
SQLiteDatabase::arrayQuery()
SQLiteDatabase::busyTimeout()
SQLiteDatabase::changes()
SQLiteDatabase::createAggregate()
SQLiteDatabase::createFunction()
SQLiteDatabase::exec()
SQLiteDatabase::fetchColumnTypes()
SQLiteDatabase::lastError()
SQLiteDatabase::lastInsertRowid()
SQLiteDatabase::query()
SQLiteDatabase::singleQuery()
SQLiteDatabase::unbufferedQuery()
SQLiteResult::column()
SQLiteResult::current()
SQLiteResult::fetch()
SQLiteResult::fetchAll()
SQLiteResult::fetchObject()
SQLiteResult::fetchSingle()
SQLiteResult::fieldName()
SQLiteResult::hasPrev()
SQLiteResult::key()
SQLiteResult::next()
SQLiteResult::numFields()
SQLiteResult::numRows()
SQLiteResult::prev()
SQLiteResult::rewind()
SQLiteResult::seek()
SQLiteResult::valid()
SQLiteUnbuffered::column()
SQLiteUnbuffered::current()
SQLiteUnbuffered::fetch()
SQLiteUnbuffered::fetchAll()
SQLiteUnbuffered::fetchObject()
SQLiteUnbuffered::fetchSingle()
SQLiteUnbuffered::fieldName()
SQLiteUnbuffered::next()
SQLiteUnbuffered::numFields()
SQLiteUnbuffered::valid()
sqrt()
srand()
sscanf()
ssdeep_fuzzy_compare()
ssdeep_fuzzy_hash()
ssdeep_fuzzy_hash_filename()
ssh2_auth_hostbased_file()
ssh2_auth_none()
ssh2_auth_password()
ssh2_auth_pubkey_file()
ssh2_connect()
ssh2_exec()
ssh2_fetch_stream()
ssh2_fingerprint()
ssh2_methods_negotiated()
ssh2_publickey_add()
ssh2_publickey_init()
ssh2_publickey_list()
ssh2_publickey_remove()
ssh2_scp_recv()
ssh2_scp_send()
ssh2_sftp()
ssh2_sftp_lstat()
ssh2_sftp_mkdir()
ssh2_sftp_readlink()
ssh2_sftp_realpath()
ssh2_sftp_rename()
ssh2_sftp_rmdir()
ssh2_sftp_stat()
ssh2_sftp_symlink()
ssh2_sftp_unlink()
ssh2_shell()
ssh2_tunnel()
stat()
stats_absolute_deviation()
stats_cdf_beta()
stats_cdf_binomial()
stats_cdf_cauchy()
stats_cdf_chisquare()
stats_cdf_exponential()
stats_cdf_f()
stats_cdf_gamma()
stats_cdf_laplace()
stats_cdf_logistic()
stats_cdf_negative_binomial()
stats_cdf_noncentral_chisquare()
stats_cdf_noncentral_f()
stats_cdf_poisson()
stats_cdf_t()
stats_cdf_uniform()
stats_cdf_weibull()
stats_covariance()
stats_den_uniform()
stats_dens_beta()
stats_dens_cauchy()
stats_dens_chisquare()
stats_dens_exponential()
stats_dens_f()
stats_dens_gamma()
stats_dens_laplace()
stats_dens_logistic()
stats_dens_negative_binomial()
stats_dens_normal()
stats_dens_pmf_binomial()
stats_dens_pmf_hypergeometric()
stats_dens_pmf_poisson()
stats_dens_t()
stats_dens_weibull()
stats_harmonic_mean()
stats_kurtosis()
stats_rand_gen_beta()
stats_rand_gen_chisquare()
stats_rand_gen_exponential()
stats_rand_gen_f()
stats_rand_gen_funiform()
stats_rand_gen_gamma()
stats_rand_gen_ibinomial()
stats_rand_gen_ibinomial_negative()
stats_rand_gen_int()
stats_rand_gen_ipoisson()
stats_rand_gen_iuniform()
stats_rand_gen_noncenral_chisquare()
stats_rand_gen_noncentral_f()
stats_rand_gen_noncentral_t()
stats_rand_gen_normal()
stats_rand_gen_t()
stats_rand_get_seeds()
stats_rand_phrase_to_seeds()
stats_rand_ranf()
stats_rand_setall()
stats_skew()
stats_standard_deviation()
stats_stat_binomial_coef()
stats_stat_correlation()
stats_stat_gennch()
stats_stat_independent_t()
stats_stat_innerproduct()
stats_stat_noncentral_t()
stats_stat_paired_t()
stats_stat_percentile()
stats_stat_powersum()
stats_variance()
Stomp::__construct()
Stomp::__destruct()
Stomp::abort()
Stomp::ack()
Stomp::begin()
Stomp::commit()
Stomp::error()
Stomp::getReadTimeout()
Stomp::getSessionId()
Stomp::hasFrame()
Stomp::readFrame()
Stomp::send()
Stomp::setReadTimeout()
Stomp::subscribe()
Stomp::unsubscribe()
stomp_abort()
stomp_ack()
stomp_begin()
stomp_close()
stomp_commit()
stomp_connect()
stomp_connect_error()
stomp_error()
stomp_get_read_timeout()
stomp_get_session_id()
stomp_has_frame()
stomp_read_frame()
stomp_send()
stomp_set_read_timeout()
stomp_subscribe()
stomp_unsubscribe()
stomp_version()
StompException::getDetails()
StompFrame::__construct()
str_getcsv()
str_ireplace()
str_pad()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
stream_bucket_append()
stream_bucket_make_writeable()
stream_bucket_new()
stream_bucket_prepend()
stream_context_create()
stream_context_get_default()
stream_context_get_options()
stream_context_get_params()
stream_context_set_default()
stream_context_set_option()
stream_context_set_params()
stream_copy_to_stream()
stream_encoding()
stream_filter_append()
stream_filter_prepend()
stream_filter_register()
stream_filter_remove()
stream_get_contents()
stream_get_filters()
stream_get_line()
stream_get_meta_data()
stream_get_transports()
stream_get_wrappers()
stream_is_local()
stream_notification_callback()
stream_register_wrapper()
stream_resolve_include_path()
stream_select()
stream_set_blocking()
stream_set_read_buffer()
stream_set_timeout()
stream_set_write_buffer()
stream_socket_accept()
stream_socket_client()
stream_socket_enable_crypto()
stream_socket_get_name()
stream_socket_pair()
stream_socket_recvfrom()
stream_socket_sendto()
stream_socket_server()
stream_socket_shutdown()
stream_supports_lock()
stream_wrapper_register()
stream_wrapper_restore()
stream_wrapper_unregister()
streamWrapper::__construct()
streamWrapper::dir_closedir()
streamWrapper::dir_opendir()
streamWrapper::dir_readdir()
streamWrapper::dir_rewinddir()
streamWrapper::mkdir()
streamWrapper::rename()
streamWrapper::rmdir()
streamWrapper::stream_cast()
streamWrapper::stream_close()
streamWrapper::stream_eof()
streamWrapper::stream_flush()
streamWrapper::stream_lock()
streamWrapper::stream_open()
streamWrapper::stream_read()
streamWrapper::stream_seek()
streamWrapper::stream_set_option()
streamWrapper::stream_stat()
streamWrapper::stream_tell()
streamWrapper::stream_write()
streamWrapper::unlink()
streamWrapper::url_stat()
strftime()
strip_tags()
stripcslashes()
stripos()
stripslashes()
stristr()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strptime()
strrchr()
strrev()
strripos()
strrpos()
strspn()
strstr()
strtok()
strtolower()
strtotime()
strtoupper()
strtr()
strval()
substr()
substr_compare()
substr_count()
substr_replace()
svn_add()
svn_auth_get_parameter()
svn_auth_set_parameter()
svn_blame()
svn_cat()
svn_checkout()
svn_cleanup()
svn_client_version()
svn_commit()
svn_delete()
svn_diff()
svn_export()
svn_fs_abort_txn()
svn_fs_apply_text()
svn_fs_begin_txn2()
svn_fs_change_node_prop()
svn_fs_check_path()
svn_fs_contents_changed()
svn_fs_copy()
svn_fs_delete()
svn_fs_dir_entries()
svn_fs_file_contents()
svn_fs_file_length()
svn_fs_is_dir()
svn_fs_is_file()
svn_fs_make_dir()
svn_fs_make_file()
svn_fs_node_created_rev()
svn_fs_node_prop()
svn_fs_props_changed()
svn_fs_revision_prop()
svn_fs_revision_root()
svn_fs_txn_root()
svn_fs_youngest_rev()
svn_import()
svn_log()
svn_ls()
svn_mkdir()
svn_repos_create()
svn_repos_fs()
svn_repos_fs_begin_txn_for_commit()
svn_repos_fs_commit_txn()
svn_repos_hotcopy()
svn_repos_open()
svn_repos_recover()
svn_revert()
svn_status()
svn_update()
swf_actiongeturl()
swf_actiongotoframe()
swf_actiongotolabel()
swf_actionnextframe()
swf_actionplay()
swf_actionprevframe()
swf_actionsettarget()
swf_actionstop()
swf_actiontogglequality()
swf_actionwaitforframe()
swf_addbuttonrecord()
swf_addcolor()
swf_closefile()
swf_definebitmap()
swf_definefont()
swf_defineline()
swf_definepoly()
swf_definerect()
swf_definetext()
swf_endbutton()
swf_enddoaction()
swf_endshape()
swf_endsymbol()
swf_fontsize()
swf_fontslant()
swf_fonttracking()
swf_getbitmapinfo()
swf_getfontinfo()
swf_getframe()
swf_labelframe()
swf_lookat()
swf_modifyobject()
swf_mulcolor()
swf_nextid()
swf_oncondition()
swf_openfile()
swf_ortho()
swf_ortho2()
swf_perspective()
swf_placeobject()
swf_polarview()
swf_popmatrix()
swf_posround()
swf_pushmatrix()
swf_removeobject()
swf_rotate()
swf_scale()
swf_setfont()
swf_setframe()
swf_shapearc()
swf_shapecurveto()
swf_shapecurveto3()
swf_shapefillbitmapclip()
swf_shapefillbitmaptile()
swf_shapefilloff()
swf_shapefillsolid()
swf_shapelinesolid()
swf_shapelineto()
swf_shapemoveto()
swf_showframe()
swf_startbutton()
swf_startdoaction()
swf_startshape()
swf_startsymbol()
swf_textwidth()
swf_translate()
swf_viewport()
SWFAction::__construct()
SWFBitmap::__construct()
SWFBitmap::getHeight()
SWFBitmap::getWidth()
SWFButton::__construct()
SWFButton::addAction()
SWFButton::addASound()
SWFButton::addShape()
SWFButton::setAction()
SWFButton::setDown()
SWFButton::setHit()
SWFButton::setMenu()
SWFButton::setOver()
SWFButton::setUp()
SWFDisplayItem::addAction()
SWFDisplayItem::addColor()
SWFDisplayItem::endMask()
SWFDisplayItem::getRot()
SWFDisplayItem::getX()
SWFDisplayItem::getXScale()
SWFDisplayItem::getXSkew()
SWFDisplayItem::getY()
SWFDisplayItem::getYScale()
SWFDisplayItem::getYSkew()
SWFDisplayItem::move()
SWFDisplayItem::moveTo()
SWFDisplayItem::multColor()
SWFDisplayItem::remove()
SWFDisplayItem::rotate()
SWFDisplayItem::rotateTo()
SWFDisplayItem::scale()
SWFDisplayItem::scaleTo()
SWFDisplayItem::setDepth()
SWFDisplayItem::setMaskLevel()
SWFDisplayItem::setMatrix()
SWFDisplayItem::setName()
SWFDisplayItem::setRatio()
SWFDisplayItem::skewX()
SWFDisplayItem::skewXTo()
SWFDisplayItem::skewY()
SWFDisplayItem::skewYTo()
SWFFill::moveTo()
SWFFill::rotateTo()
SWFFill::scaleTo()
SWFFill::skewXTo()
SWFFill::skewYTo()
SWFFont::__construct()
SWFFont::getAscent()
SWFFont::getDescent()
SWFFont::getLeading()
SWFFont::getShape()
SWFFont::getUTF8Width()
SWFFont::getWidth()
SWFFontChar::addChars()
SWFFontChar::addUTF8Chars()
SWFGradient::__construct()
SWFGradient::addEntry()
SWFMorph::__construct()
SWFMorph::getShape1()
SWFMorph::getShape2()
SWFMovie::__construct()
SWFMovie::add()
SWFMovie::addExport()
SWFMovie::addFont()
SWFMovie::importChar()
SWFMovie::importFont()
SWFMovie::labelFrame()
SWFMovie::nextFrame()
SWFMovie::output()
SWFMovie::remove()
SWFMovie::save()
SWFMovie::saveToFile()
SWFMovie::setbackground()
SWFMovie::setDimension()
SWFMovie::setFrames()
SWFMovie::setRate()
SWFMovie::startSound()
SWFMovie::stopSound()
SWFMovie::streamMP3()
SWFMovie::writeExports()
SWFPrebuiltClip::__construct()
SWFShape::__construct()
SWFShape::addFill()
SWFShape::drawArc()
SWFShape::drawCircle()
SWFShape::drawCubic()
SWFShape::drawCubicTo()
SWFShape::drawCurve()
SWFShape::drawCurveTo()
SWFShape::drawGlyph()
SWFShape::drawLine()
SWFShape::drawLineTo()
SWFShape::movePen()
SWFShape::movePenTo()
SWFShape::setLeftFill()
SWFShape::setLine()
SWFShape::setRightFill()
swfsound()
SWFSoundInstance::loopCount()
SWFSoundInstance::loopInPoint()
SWFSoundInstance::loopOutPoint()
SWFSoundInstance::noMultiple()
SWFSprite::__construct()
SWFSprite::add()
SWFSprite::labelFrame()
SWFSprite::nextFrame()
SWFSprite::remove()
SWFSprite::setFrames()
SWFSprite::startSound()
SWFSprite::stopSound()
SWFText::__construct()
SWFText::addString()
SWFText::addUTF8String()
SWFText::getAscent()
SWFText::getDescent()
SWFText::getLeading()
SWFText::getUTF8Width()
SWFText::getWidth()
SWFText::moveTo()
SWFText::setColor()
SWFText::setFont()
SWFText::setHeight()
SWFText::setSpacing()
SWFTextField::__construct()
SWFTextField::addChars()
SWFTextField::addString()
SWFTextField::align()
SWFTextField::setBounds()
SWFTextField::setColor()
SWFTextField::setFont()
SWFTextField::setHeight()
SWFTextField::setIndentation()
SWFTextField::setLeftMargin()
SWFTextField::setLineSpacing()
SWFTextField::setMargins()
SWFTextField::setName()
SWFTextField::setPadding()
SWFTextField::setRightMargin()
SWFVideoStream::__construct()
SWFVideoStream::getNumFrames()
SWFVideoStream::setDimension()
Swish::__construct()
Swish::getMetaList()
Swish::getPropertyList()
Swish::prepare()
Swish::query()
SwishResult::getMetaList()
SwishResult::stem()
SwishResults::getParsedWords()
SwishResults::getRemovedStopwords()
SwishResults::nextResult()
SwishResults::seekResult()
SwishSearch::execute()
SwishSearch::resetLimit()
SwishSearch::setLimit()
SwishSearch::setPhraseDelimiter()
SwishSearch::setSort()
SwishSearch::setStructure()
sybase_affected_rows()
sybase_close()
sybase_connect()
sybase_data_seek()
sybase_deadlock_retry_count()
sybase_fetch_array()
sybase_fetch_assoc()
sybase_fetch_field()
sybase_fetch_object()
sybase_fetch_row()
sybase_field_seek()
sybase_free_result()
sybase_get_last_message()
sybase_min_client_severity()
sybase_min_error_severity()
sybase_min_message_severity()
sybase_min_server_severity()
sybase_num_fields()
sybase_num_rows()
sybase_pconnect()
sybase_query()
sybase_result()
sybase_select_db()
sybase_set_message_handler()
sybase_unbuffered_query()
symlink()
sys_get_temp_dir()
sys_getloadavg()
syslog()
system()
T
tan()
tanh()
tcpwrap_check()
tempnam()
textdomain()
tidy::__construct()
tidy::body()
tidy::cleanRepair()
tidy::diagnose()
tidy::getConfig()
tidy::getOpt()
tidy::getoptdoc()
tidy::getRelease()
tidy::getStatus()
tidy::head()
tidy::html()
tidy::htmlver()
tidy::isXhtml()
tidy::isXml()
tidy::parseFile()
tidy::parseString()
tidy::repairFile()
tidy::repairString()
tidy::root()
tidy_access_count()
tidy_clean_repair()
tidy_config_count()
tidy_diagnose()
tidy_error_count()
tidy_get_body()
tidy_get_config()
tidy_get_error_buffer()
tidy_get_head()
tidy_get_html()
tidy_get_html_ver()
tidy_get_opt_doc()
tidy_get_output()
tidy_get_release()
tidy_get_root()
tidy_get_status()
tidy_getopt()
tidy_is_xhtml()
tidy_is_xml()
tidy_load_config()
tidy_parse_file()
tidy_parse_string()
tidy_repair_file()
tidy_repair_string()
tidy_reset_config()
tidy_save_config()
tidy_set_encoding()
tidy_setopt()
tidy_warning_count()
tidyNode::getParent()
tidyNode::hasChildren()
tidyNode::hasSiblings()
tidyNode::isAsp()
tidyNode::isComment()
tidyNode::isHtml()
tidyNode::isJste()
tidyNode::isPhp()
tidyNode::isText()
time()
time_nanosleep()
time_sleep_until()
timezone_abbreviations_list()
timezone_identifiers_list()
timezone_location_get()
timezone_name_from_abbr()
timezone_name_get()
timezone_offset_get()
timezone_open()
timezone_transitions_get()
timezone_version_get()
tmpfile()
token_get_all()
token_name()
TokyoTyrant::__construct()
TokyoTyrant::add()
TokyoTyrant::connect()
TokyoTyrant::connectUri()
TokyoTyrant::copy()
TokyoTyrant::ext()
TokyoTyrant::fwmKeys()
TokyoTyrant::get()
TokyoTyrant::getIterator()
TokyoTyrant::num()
TokyoTyrant::out()
TokyoTyrant::put()
TokyoTyrant::putCat()
TokyoTyrant::putKeep()
TokyoTyrant::putNr()
TokyoTyrant::putShl()
TokyoTyrant::restore()
TokyoTyrant::setMaster()
TokyoTyrant::size()
TokyoTyrant::stat()
TokyoTyrant::sync()
TokyoTyrant::tune()
TokyoTyrant::vanish()
TokyoTyrantQuery::__construct()
TokyoTyrantQuery::addCond()
TokyoTyrantQuery::count()
TokyoTyrantQuery::current()
TokyoTyrantQuery::hint()
TokyoTyrantQuery::key()
TokyoTyrantQuery::metaSearch()
TokyoTyrantQuery::next()
TokyoTyrantQuery::out()
TokyoTyrantQuery::rewind()
TokyoTyrantQuery::search()
TokyoTyrantQuery::setLimit()
TokyoTyrantQuery::setOrder()
TokyoTyrantQuery::valid()
TokyoTyrantTable::add()
TokyoTyrantTable::genUid()
TokyoTyrantTable::get()
TokyoTyrantTable::getIterator()
TokyoTyrantTable::getQuery()
TokyoTyrantTable::out()
TokyoTyrantTable::put()
TokyoTyrantTable::putCat()
TokyoTyrantTable::putKeep()
TokyoTyrantTable::putNr()
TokyoTyrantTable::putShl()
TokyoTyrantTable::setIndex()
touch()
Transliterator::__construct()
Transliterator::create()
Transliterator::createFromRules()
Transliterator::createInverse()
Transliterator::getErrorCode()
Transliterator::getErrorMessage()
Transliterator::listIDs()
Transliterator::transliterate()
transliterator_create()
transliterator_create_from_rules()
transliterator_create_inverse()
transliterator_get_error_code()
transliterator_get_error_message()
transliterator_list_ids()
transliterator_transliterate()
trigger_error()
trim()
U
uasort()
ucfirst()
ucwords()
udm_add_search_limit()
udm_alloc_agent()
udm_alloc_agent_array()
udm_api_version()
udm_cat_list()
udm_cat_path()
udm_check_charset()
udm_check_stored()
udm_clear_search_limits()
udm_close_stored()
udm_crc32()
udm_errno()
udm_error()
udm_find()
udm_free_agent()
udm_free_ispell_data()
udm_free_res()
udm_get_doc_count()
udm_get_res_field()
udm_get_res_param()
udm_hash32()
udm_load_ispell_data()
udm_open_stored()
udm_set_agent_param()
uksort()
umask()
uniqid()
unixtojd()
unlink()
unpack()
unregister_tick_function()
unserialize()
unset()
urldecode()
urlencode()
use_soap_error_handler()
user_error()
usleep()
usort()
utf8_decode()
utf8_encode()
V
V8Js::__construct()
V8Js::executeString()
V8Js::getExtensions()
V8Js::getPendingException()
V8Js::registerExtension()
V8JsException::getJsFileName()
V8JsException::getJsLineNumber()
V8JsException::getJsSourceLine()
V8JsException::getJsTrace()
var_dump()
var_export()
variant()
variant_abs()
variant_add()
variant_and()
variant_cast()
variant_cat()
variant_cmp()
variant_date_from_timestamp()
variant_date_to_timestamp()
variant_div()
variant_eqv()
variant_fix()
variant_get_type()
variant_idiv()
variant_imp()
variant_int()
variant_mod()
variant_mul()
variant_neg()
variant_not()
variant_or()
variant_pow()
variant_round()
variant_set()
variant_set_type()
variant_sub()
variant_xor()
version_compare()
vfprintf()
virtual()
vpopmail_add_alias_domain()
vpopmail_add_alias_domain_ex()
vpopmail_add_domain()
vpopmail_add_domain_ex()
vpopmail_add_user()
vpopmail_alias_add()
vpopmail_alias_del()
vpopmail_alias_del_domain()
vpopmail_alias_get()
vpopmail_alias_get_all()
vpopmail_auth_user()
vpopmail_del_domain()
vpopmail_del_domain_ex()
vpopmail_del_user()
vpopmail_error()
vpopmail_passwd()
vpopmail_set_user_quota()
vprintf()
vsprintf()
W
w32api_deftype()
w32api_init_dtype()
w32api_invoke_function()
w32api_register_function()
w32api_set_call_method()
wddx_add_vars()
wddx_deserialize()
wddx_packet_end()
wddx_packet_start()
wddx_serialize_value()
wddx_serialize_vars()
win32_continue_service()
win32_create_service()
win32_delete_service()
win32_get_last_control_message()
win32_pause_service()
win32_ps_list_procs()
win32_ps_stat_mem()
win32_ps_stat_proc()
win32_query_service_status()
win32_set_service_status()
win32_start_service()
win32_start_service_ctrl_dispatcher()
win32_stop_service()
wincache_fcache_fileinfo()
wincache_fcache_meminfo()
wincache_lock()
wincache_ocache_fileinfo()
wincache_ocache_meminfo()
wincache_refresh_if_changed()
wincache_rplist_fileinfo()
wincache_rplist_meminfo()
wincache_scache_info()
wincache_scache_meminfo()
wincache_ucache_add()
wincache_ucache_cas()
wincache_ucache_clear()
wincache_ucache_dec()
wincache_ucache_delete()
wincache_ucache_exists()
wincache_ucache_get()
wincache_ucache_inc()
wincache_ucache_info()
wincache_ucache_meminfo()
wincache_ucache_set()
wincache_unlock()
wordwrap()
X
xattr_get()
xattr_list()
xattr_remove()
xattr_set()
xattr_supported()
xdiff_file_bdiff()
xdiff_file_bdiff_size()
xdiff_file_bpatch()
xdiff_file_diff()
xdiff_file_diff_binary()
xdiff_file_merge3()
xdiff_file_patch()
xdiff_file_patch_binary()
xdiff_file_rabdiff()
xdiff_string_bdiff()
xdiff_string_bdiff_size()
xdiff_string_bpatch()
xdiff_string_diff()
xdiff_string_diff_binary()
xdiff_string_merge3()
xdiff_string_patch()
xdiff_string_patch_binary()
xdiff_string_rabdiff()
xhprof_disable()
xhprof_enable()
xhprof_sample_disable()
xhprof_sample_enable()
xml_error_string()
xml_get_current_byte_index()
xml_get_current_column_number()
xml_get_current_line_number()
xml_get_error_code()
xml_parse()
xml_parse_into_struct()
xml_parser_create()
xml_parser_create_ns()
xml_parser_free()
xml_parser_get_option()
xml_parser_set_option()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_object()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
XMLReader::close()
XMLReader::expand()
XMLReader::getAttribute()
XMLReader::getAttributeNo()
XMLReader::getAttributeNs()
XMLReader::getParserProperty()
XMLReader::isValid()
XMLReader::lookupNamespace()
XMLReader::moveToAttribute()
XMLReader::moveToAttributeNo()
XMLReader::moveToAttributeNs()
XMLReader::moveToElement()
XMLReader::moveToFirstAttribute()
XMLReader::moveToNextAttribute()
XMLReader::next()
XMLReader::open()
XMLReader::read()
XMLReader::readInnerXML()
XMLReader::readOuterXML()
XMLReader::readString()
XMLReader::setParserProperty()
XMLReader::setRelaxNGSchema()
XMLReader::setRelaxNGSchemaSource()
XMLReader::setSchema()
XMLReader::XML()
xmlrpc_decode()
xmlrpc_decode_request()
xmlrpc_encode()
xmlrpc_encode_request()
xmlrpc_get_type()
xmlrpc_is_fault()
xmlrpc_parse_method_descriptions()
xmlrpc_server_add_introspection_data()
xmlrpc_server_call_method()
xmlrpc_server_create()
xmlrpc_server_destroy()
xmlrpc_server_register_introspection_callback()
xmlrpc_server_register_method()
xmlrpc_set_type()
XMLWriter::endAttribute()
XMLWriter::endCData()
XMLWriter::endComment()
XMLWriter::endDocument()
XMLWriter::endDTD()
XMLWriter::endDTDAttlist()
XMLWriter::endDTDElement()
XMLWriter::endDTDEntity()
XMLWriter::endElement()
XMLWriter::endPI()
XMLWriter::flush()
XMLWriter::fullEndElement()
XMLWriter::openMemory()
XMLWriter::openURI()
XMLWriter::outputMemory()
XMLWriter::setIndent()
XMLWriter::setIndentString()
XMLWriter::startAttribute()
XMLWriter::startAttributeNS()
XMLWriter::startCData()
XMLWriter::startComment()
XMLWriter::startDocument()
XMLWriter::startDTD()
XMLWriter::startDTDAttlist()
XMLWriter::startDTDElement()
XMLWriter::startDTDEntity()
XMLWriter::startElement()
XMLWriter::startElementNS()
XMLWriter::startPI()
XMLWriter::text()
XMLWriter::writeAttribute()
XMLWriter::writeAttributeNS()
XMLWriter::writeCData()
XMLWriter::writeComment()
XMLWriter::writeDTD()
XMLWriter::writeDTDAttlist()
XMLWriter::writeDTDElement()
XMLWriter::writeDTDEntity()
XMLWriter::writeElement()
XMLWriter::writeElementNS()
XMLWriter::writePI()
XMLWriter::writeRaw()
xpath_eval()
xpath_eval_expression()
xpath_new_context()
xpath_register_ns()
xpath_register_ns_auto()
xptr_eval()
xptr_new_context()
xslt_backend_info()
xslt_backend_name()
xslt_backend_version()
xslt_create()
xslt_errno()
xslt_error()
xslt_free()
xslt_getopt()
xslt_process()
xslt_set_base()
xslt_set_encoding()
xslt_set_error_handler()
xslt_set_log()
xslt_set_object()
xslt_set_sax_handler()
xslt_set_sax_handlers()
xslt_set_scheme_handler()
xslt_set_scheme_handlers()
xslt_setopt()
XSLTProcessor::__construct()
XSLTProcessor::getParameter()
XSLTProcessor::hasExsltSupport()
XSLTProcessor::importStylesheet()
XSLTProcessor::registerPHPFunctions()
XSLTProcessor::removeParameter()
XSLTProcessor::setParameter()
XSLTProcessor::setProfiling()
XSLTProcessor::transformToDoc()
XSLTProcessor::transformToUri()
XSLTProcessor::transformToXML()
Y
yaml_emit()
yaml_emit_file()
yaml_parse()
yaml_parse_file()
yaml_parse_url()
yaz_addinfo()
yaz_ccl_conf()
yaz_ccl_parse()
yaz_close()
yaz_connect()
yaz_database()
yaz_element()
yaz_errno()
yaz_error()
yaz_es()
yaz_es_result()
yaz_get_option()
yaz_hits()
yaz_itemorder()
yaz_present()
yaz_range()
yaz_record()
yaz_scan()
yaz_scan_result()
yaz_schema()
yaz_search()
yaz_set_option()
yaz_sort()
yaz_syntax()
yaz_wait()
yp_all()
yp_cat()
yp_err_string()
yp_errno()
yp_first()
yp_get_default_domain()
yp_master()
yp_match()
yp_next()
yp_order()
Z
zend_logo_guid()
zend_thread_id()
zend_version()
zip_close()
zip_entry_close()
zip_entry_compressedsize()
zip_entry_compressionmethod()
zip_entry_filesize()
zip_entry_name()
zip_entry_open()
zip_entry_read()
zip_open()
zip_read()
ZipArchive::addEmptyDir()
ZipArchive::addFile()
ZipArchive::addFromString()
ZipArchive::close()
ZipArchive::deleteIndex()
ZipArchive::deleteName()
ZipArchive::extractTo()
ZipArchive::getArchiveComment()
ZipArchive::getCommentIndex()
ZipArchive::getCommentName()
ZipArchive::getFromIndex()
ZipArchive::getFromName()
ZipArchive::getNameIndex()
ZipArchive::getStatusString()
ZipArchive::getStream()
ZipArchive::locateName()
ZipArchive::open()
ZipArchive::renameIndex()
ZipArchive::renameName()
ZipArchive::setArchiveComment()
ZipArchive::setCommentIndex()
ZipArchive::setCommentName()
ZipArchive::statIndex()
ZipArchive::statName()
ZipArchive::unchangeAll()
ZipArchive::unchangeArchive()
ZipArchive::unchangeIndex()
ZipArchive::unchangeName()
zlib_get_coding_type()

Creative Commons Attribution 3.0
Руководство в формате HTML Help
Appendices


Руководство в формате HTML Help

  • About This Edition
  • Using PHP Manual CHM Edition
    • The HTML Help Toolbar
    • The Navigation Pane
    • Keyboard Shortcuts
  • The Full Text Search
    • General searching rules
    • Searching for words or phrases
    • Defining search terms
    • Using nested expressions when searching
  • Specialities of this Edition
    • User Preferences
    • Presentational Specialities
  • Integrating the PHP Manual
  • Skin development
    • Page Display Process
    • Page Elements
    • CSS classes
  • CHM Edition Credits
Список функций
About This Edition
Руководство по PHP


About This Edition

The Windows HTML Help Edition of the PHP Manual is aimed at developers, who want the manual at hand every time, and would like to read manual pages and user notes without waiting for a remote web page to download. This edition gives you the full content of the manual plus the user notes, with some great features provided by the viewer application by the scripts we use to generate this format and by other contributors in the form of skins.

This distribution of the PHP Manual contains many files, including the main manual file php_manual_en.chm. You can view the manual by double clicking on this file (as you already guessed). You may also see a php_manual_en.chw file in the directory, it's generated the first time you use the index tab, and it contains an index with the manual's pages.

For those interested in technical details about Microsoft HTML Help, » http://www.helpware.net/ is a great resource. For more information and positioning of Windows HTML Help in the Microsoft help formats and services history, see this » WinWriters article.

Руководство в формате HTML Help
Using PHP Manual CHM Edition
Руководство в формате HTML Help


Using PHP Manual CHM Edition

Содержание

  • The HTML Help Toolbar
  • The Navigation Pane
  • Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.

About This Edition
The HTML Help Toolbar
Руководство в формате HTML Help


The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.

Using PHP Manual CHM Edition
The Navigation Pane
Using PHP Manual CHM Edition


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.

The HTML Help Toolbar
Keyboard Shortcuts
Using PHP Manual CHM Edition


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

General Help Viewer Shortcuts
To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu [see the User Preferences section] | SHIFT+F10
Contents Tab Shortcuts
To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER
Index Tab Shortcuts
To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D
Search Tab shortcuts
To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R
Favorites Tab Shortcuts
To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R
Topic Pane Shortcuts
To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5

The Navigation Pane
The Full Text Search
Using PHP Manual CHM Edition


The Full Text Search

Содержание

  • General searching rules
  • Searching for words or phrases
  • Defining search terms
  • Using nested expressions when searching

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.

Keyboard Shortcuts
General searching rules
Руководство в формате HTML Help


General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

Замечание:

If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."

The Full Text Search
Searching for words or phrases
The Full Text Search


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

Word and phrase searches
Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase | "new operator" or new operator | Topics that contain the literal phrase "new operator" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.
Wildcard expressions | esc* or HT?? | Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term. Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

Замечание:

Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".

General searching rules
Defining search terms
The Full Text Search


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

Search operators
Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

Замечание:

The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.

Searching for words or phrases
Using nested expressions when searching
The Full Text Search


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.

Defining search terms
Specialities of this Edition
The Full Text Search


Specialities of this Edition

Содержание

  • User Preferences
  • Presentational Specialities

The HTML Help Edition of the PHP Manual over-performs the presentational and interactive capabilities offered by other editions (including the online manual).

Using nested expressions when searching
User Preferences
Руководство в формате HTML Help


User Preferences

Most of the interactive features of this manual are provided by the viewer application (including full text search, index, favorites list), but we extended this list with PHP Manual specific tools. All these can be adjusted to your needs using a simple desktop application named php_manual_prefs.exe. If you run this program you can see three groups of settings: Online Functions, Context Menu, and Skin. All your settings are stored in php_manual_prefs.js.

Online functions enable you to have elements connected to websites. The two ones you can see on all manual pages are "This page online" and "Report a bug". As you can figure out the first one shows you the same page in the online manual, the second one opens a page from » http://bugs.php.net/ and prefills some bug data for you. You need to select a mirror site to use for "php.net sensitive" online functions. We recommend choosing a close mirror site to get the best speed. Other components that may be limited by this online functions setting include context menu items opening new websites ("Google search selection" for example). Custom designs may also include elements restricted by this setting.

The context menu settings enables you to choose which context menu you prefer. This application provides you with an option to define your own context menu adding elements to it from a predefined set. You can have this custom context menu for the right click of your mouse, and have the original menu for CTRL+right click, or the opposite way. Three special types of custom context menu items exist:

Context menu items
Type | Examples | Comments
Page Jump | Function Reference, Function Index | These items jump to a specific page in the CHM. Page Jump options are not restricted to point inside the CHM though. They can point to websites or other resources. Page jump options with a protocol part in the URL open in new window.
Function Call | Print page, Select all, Copy selection to clipboard, Google Search Selection | These are "function calls" for internally defined context menu functions. The last two examples have the speciality that they only show up in the menu if you rightclicked on a selection. Currently there is no way to extend the context menu with skin defined functions.
Special display | Google SearchBox, AlltheWeb SearchBox | These are displayed as HTML forms, where you can enter search keywords, press ENTER, and receive a new window with the search issued in the appropriate search engine. Currently there is no way to extend the set of specially displayed context menu items.
Possible context menu elements and their "abstract implementations" are stored in context.ini. You have the ability to add possible page jump options there, but there is no way currently to extend the context menu system with user (skin) defined functions. The possible mirror sites are listed in mirrors.ini. Feel free to suggest more bundled context menu items to us at » php-doc-chm@lists.php.net.

The skins setting enables you to choose from the two bundled default skins, or from any user defined skins. The Low skin is optimized to display correctly at any small size, the High skin is optimized for your viewing pleasure. Other skins may be developed according to our skins development guide. The recommended place for skins on the file system is the skins/SKINNAME subfolder of the PHP Manual directory. Though this is not required, some skins may define other rules (not recommended). We included sample skins for you to see examples of how to develop skins for the PHP Manual.

You have three buttons to choose from at the bottom. The Apply button applies your changes without exiting, the OK button applies and closes the application, the Cancel button does not modify your settings and closes the program.

Specialities of this Edition
Presentational Specialities
Specialities of this Edition


Presentational Specialities

This edition of the PHP Manual is highly optimized for screen presentation. Skins may be developed to better support printing, as this was not the goal of the included skins. This approach allowed us to make many modifications to the presentation of different parts of the manual.

The first thing you'll notice is that all examples are color coded, using the PHP function show_source(). The actual colors used are defined by CSS classes. Examples also have links to PHP functions used in them to provide quick access to reference material. All code examples have a "copy to clipboard" link by the side of them with which you can copy the text contents of the example to the clipboard.

External links are marked with a special » sign, and open in a new browser window. We also included the "path to this page" information on all pages for you to easily identify where you are and navigate as needed.

Other parts of the manual are quite similar to the online ones by default, though custom skins can modify many elements on the pages.

User Preferences
Integrating the PHP Manual
Specialities of this Edition


Integrating the PHP Manual

Замечание:

The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

Замечание:

All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://www.microsoft.com/download/en/details.aspx?id=21138.

Presentational Specialities
Skin development
Руководство в формате HTML Help


Skin development

Содержание

  • Page Display Process
  • Page Elements
  • CSS classes

This edition of the PHP Manual allows users to choose from skins to display the contents, as well as develop custom skins to meet some special needs. We decided to support skins because we realized that one skin cannot satisfy everybody's needs in a such heavily used edition.

We included two skins by default inside the CHM. These cannot be modified or removed, so if you have the CHM, you have these two skins inside. The Low skin is optimized for small window display, the High skin is a variation of the Low one with some graphics added to spice it up.

A skin must have at least two files, a skin loader JavaScript file and a CSS file. The two inline skins have these files inside the CHM. The skin loader JS should at least load in the CSS file and display the page contents to the viewer. Theoretically there are two kinds of skins: CSS skins and Full skins. CSS skins only modify the CSS and does not amend the page layout. Full skins also modify the page layout. We have included sample skins for both the CSS skin type and the Full skin type ("greenlinks" and "headernostalgia" respectively).

Внимание

Note that though the current skin development methods are quite final, there may be heavy changes in used CSS classes or page elements while we refine the skin development ideas. As this edition is currently in development stage, the information described herein is not to be considered completely stable.

Integrating the PHP Manual
Page Display Process
Руководство в формате HTML Help


Page Display Process

If you are going to develop your own skin, you should know how one page is loaded and displayed to the user, and how a skin fits in this process. For these paragraphs, we assume that you have put your CHM into c:\phpmanual, so it's accessible as c:\phpmanual\php_manual_LANG.chm (where LANG is the language code), and you would like to see the function page of "echo", which is function.echo.html inside the CHM. See the sections about integration for more information on CHM contents.

  • First of all the HTML content is loaded in from function.echo.html from inside the CHM.
  • At the top of this file, there is a HTML <script> tag, which loads in the _script.js file from the CHM. This file contains all the JS code needed to move on with the process. Most importantly this JS defines many variables (like where the CHM is, or what is the actual page viewed) and many functions to print out the context menu or handle online functions.
  • At last _script.js loads in the preferences file from outside the CHM (c:\phpmanual\php_manual_prefs.js in our example). This JS file defines the preference variables, and calls back prefHandler() which is also defined in _script.js.
  • That function loads in the skin JS file as the preferences dictate. The skin JS file should load in the needed CSS file, and define a displayPage() function, which displays the page if called.
  • The HTML file (function.echo.html in this example) also contains a function call to load in the user notes, which simply puts the notes into this HTML file using DHTML to be displayed as if they were here before...
  • The HTML file also contains a body onload attribute which calls the skin-defined displayPage() function to show the page to the user. This is the last function called, it should present the page in it's complete form to the user.
Every action is synchronized with calling back a function in the previously loaded file when the JS is in memory. The notes loading and skin JS loading is only synchronized with the page's onload event (which as the Microsoft documentation says only fires if the page is completely loaded).

This load and callback chain may seem to be too complicated, but so far this seemed to be the best way to do as many things as possible parallel, while also synchronize some calls.

As you can see your skin JavaScript file is loaded in by _script.js and it's displayPage() function is called by the body onload event.

Skin development
Page Elements
Skin development


Page Elements

The PHP Manual pages are all HTML files with several HTML tags in them for both presentational and divisional purposes. The HTML pages contain divisions to be used for skinning purposes and misc divisions added by the DocBook XSL sheets.

A HTML page can be either a function reference page or another kind of page (like a feature description). Skins should get ready to skin these two kinds of pages separately most of the time (depending on the actual design).

The pages are structured using <div> tags with appropriate IDs to ease the skin writers work. A page consists of these parts:

  • <div id="pageContent"></div> contains all the page contents. This begins right after <body> and ends just before </body>. This division is hidden by default, you need to show it after you are ready with the page rewriting process.
  • <div id="pageHeaders"></div> contains the page header parts. This includes the text only main title (in a <span id="pageTitle"></span>) and function properties, in case this is a function page (contained in <span id="funcPurpose"></span>, <span id="funcAvail"></span> and <span id="funcUsage"></span>). In case one of these three is not available, the current page is not a function page.
  • <div id="pageText"></div> contains the majority of the page contents, including examples, manual notes, warnings, etc. This also includes see also parts for now, as we still cannot differentiate between see also and normal text parts (may be a thing to change in the future).
  • <div id="pageNotes"></div> contains the user notes (itself loaded in from another HTML file by JS). It contains a heading, and then a <div> without ID for every user note and spans in that divs for every element of a user note (with "email", "date" and "text" IDs respectively).
  • <div id="pageNav"></div> contains the
navigation table, which is further divided into spans (<span
id="navPrev"></span>, <span
id="navPath"></span>, <span
id="navNext"></span>, <span
id="navOnline"></span>, <span
id="navThisOnline"></span> and <span
id="navReportBug"></span>), where navThisOnline
and navReportBug is inside navOnline.
If you would like to rewrite the page, you should first read in the parts you need from the page to JS variables, then clear the contents of pageContent (or just the part you would like to rewrite), write in the new content and show the pageContent div for the user. If you would not like to make any structural changes, you can simply display the pageContent div and only specify a special style sheet in your skin JS file (see the "greenlinks" skin for an example).

You can find a "Full skin" developed to show you how to make skins built on top of this structure. The skin name is "headernostalgia". It rewrites the header part and removes the footer navigational table.

Page Display Process
CSS classes
Skin development


CSS classes

We cannot provide accurate documentation currently on usable CSS classes, as some of the DocBook XSL sheets classes are not used and some classes are added. Please see the sample CSS files included for first time reference.

Page Elements
CHM Edition Credits
Skin development


CHM Edition Credits

This enhanced version of the PHP Manual would never come to existence, if the following people would not help with their contribution to the project (in no particular order):

  • Holger Eggert, who created the two default designs, and provided many usability tips
  • Gonzalo De la Pena Andreu, who added many comments on how it would be ideal to provide the skinnable interface
  • Olexandr Vynnychenko added countless comments and testing all the time
  • Brendan Ferguson, who provided many optimizations, improvements to the HTML and JS codes behind the manual pages
  • Sandor Hojtsy, who coded the manual preferences desktop application
  • And at last but not least, everybody, who provided feedback through our mailing list, and in the user survey

CSS classes
Руководство в формате HTML Help